INSERT INTO notes VALUES('eouCLkjbruai','Java','',0,0,'2017-12-23T01:23:28.291Z','2017-12-23T01:23:31.944Z','text','text/html','');
INSERT INTO notes VALUES('I6Cw88AirBBl','While loop',replace('<p>Documentation: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html">http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html</a></p><p>&nbsp;</p><p>#!/bin/bash\n\n</p><p># This script opens 4 terminal windows.\n\n</p><p>&nbsp;</p><p>i="0"\n\n</p><p>while [ $i -lt 4 ]\n</p><p>do\n</p><p>&nbsp; &nbsp; xterm &amp;\n</p><p>&nbsp; &nbsp; i=$[$i+1]\n</p><p>done</p>','\n',char(10)),0,0,'2017-12-23T01:24:04.681Z','2017-12-23T01:26:07.786Z','text','text/html','');
INSERT INTO notes VALUES('mcEwFMSjhlvL','Bash startup modes','<h3>Login shell</h3><p>As a "login shell", Bash reads and sets (executes) the user''s profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that''s readable!).</p><p>When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.</p><p>Why an extra login shell mode? There are many actions and variable sets that only make sense for the initial user login. That''s why all UNIX® shells have (should have) a "login" mode.</p><p><i><strong>Methods to start Bash as a login shell:</strong></i></p><ul><li>the first character of argv[0] is - (a hyphen): traditional UNIX® shells start from the login binary</li><li>Bash is started with the -l option</li><li>Bash is started with the --login option</li></ul><p><i><strong>Methods to test for login shell mode:</strong></i></p><ul><li>the shell option <a href="http://wiki.bash-hackers.org/internals/shell_options#login_shell">login_shell</a> is set</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>--noprofile disables reading of all profile files</li></ul><h3>Interactive shell</h3><p>When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they''re not inherited from the parent shell.</p><p>The feature to have a system-wide /etc/bash.bashrc or a similar system-wide rc-file is specific to vendors and distributors that ship <i>their own, patched variant of Bash</i>. The classic way to have a system-wide rc file is to source /etc/bashrc from every user''s ~/.bashrc.</p><p><i><strong>Methods to test for interactive-shell mode:</strong></i></p><ul><li>the special parameter $- contains the letter i (lowercase I)</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>-i forces the interactive mode</li><li>--norc disables reading of the startup files (e.g. /etc/bash.bashrc if supported) and ~/.bashrc</li><li>--rcfile defines another startup file (instead of /etc/bash.bashrc and ~/.bashrc)</li></ul><h3>SH mode</h3><p>When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile and ~/.profile, if it''s a login shell.</p><p>If it''s not a login shell, the environment variable <a href="http://wiki.bash-hackers.org/syntax/shellvars#env">ENV</a> is evaluated and the resulting filename is used as the name of the startup file.</p><p>After the startup files are read, Bash enters the <a href="http://wiki.bash-hackers.org/scripting/bashbehaviour#posix_run_mode">POSIX(r) compatiblity mode (for running, not for starting!)</a>.</p><p><i><strong>Bash starts in sh compatiblity mode when:</strong></i></p><ul><li>the base filename in argv[0] is sh (<figure class="image"><img></figure>&nbsp;NB: /bin/sh may be linked to /bin/bash, but that doesn''t mean it acts like /bin/bash&nbsp;<figure class="image"><img></figure>)</li></ul>',0,0,'2017-12-23T01:29:35.974Z','2017-12-23T01:34:10.493Z','text','text/html','');
INSERT INTO notes VALUES('CF2lUIJAr6Ey','Python','',0,0,'2017-12-23T01:34:37.658Z','2017-12-23T01:34:40.465Z','text','text/html','');
INSERT INTO notes VALUES('xkXwueRoDNeN','Christmas shopping','<p>&nbsp;</p>',0,0,'2017-12-23T01:35:40.306Z','2017-12-23T16:43:08.157Z','text','text/html','');
INSERT INTO notes VALUES('TjWEndYCCg7g','Reviews','',0,0,'2017-12-23T03:33:23.584Z','2017-12-23T03:33:35.089Z','text','text/html','');
INSERT INTO notes VALUES('21K84UqGhqlt','Christmas gift ideas','<ul><li>XBox</li><li>Candles</li><li><a href="https://www.amazon.ca/Anker-SoundCore-Portable-Bluetooth-Resistance/dp/B01MTB55WH?pd_rd_wg=honW8&amp;pd_rd_r=c9bb7c0f-0051-4da7-991f-4ca711a1b3e3&amp;pd_rd_w=ciUpR&amp;ref_=pd_gw_simh&amp;pf_rd_r=K10XKX0NGPDNTYYP4BS4&amp;pf_rd_p=5f1b460b-78c1-580e-929e-2878fe4859e8">Portable speakers</a></li><li>...?</li></ul>',0,0,'2017-12-23T03:45:10.933Z','2017-12-23T16:43:28.160Z','text','text/html','');
INSERT INTO notes VALUES('R6pheWjdwmNU','Christmas','<p>This christmas is going to be awesome!</p>',0,0,'2017-12-23T03:45:28.002Z','2017-12-23T16:42:53.142Z','text','text/html','');
INSERT INTO notes VALUES('5v5Dx6LMHXIO','Christmas shopping','<p>Bought a book!</p>',0,0,'2017-12-23T03:45:44.184Z','2017-12-23T04:09:15.442Z','text','text/html','');
INSERT INTO notes VALUES('MLQjmREtcnJ3','Shopping','',0,0,'2017-12-23T03:47:48.208Z','2017-12-23T03:47:51.917Z','text','text/html','');
INSERT INTO notes VALUES('pTTjrxgnvURB','Vacation days','<p>25. 12., 26. 12., 1. 1. - statutory holidays</p><p>27. 12. - 29. 12., 2. 1. - vacation days</p>',0,0,'2017-12-23T03:47:55.932Z','2017-12-23T03:49:46.419Z','text','text/html','');
INSERT INTO notes VALUES('cFK9sGYZaMWs','Vacation in Cuba','Planning stuff etc.',0,0,'2017-12-23T03:49:32.210Z','2017-12-23T03:55:17.763Z','text','text/html','');
INSERT INTO notes VALUES('pOFVzbXLmzhX','Christmas dinner','Carp of course!',0,0,'2017-12-23T03:54:46.138Z','2017-12-23T03:54:57.762Z','text','text/html','');
INSERT INTO notes VALUES('0xtvjqrcGiRB','History','<p>The <strong>history of Linux</strong> began in 1991 with the commencement of a personal project by <a href="https://en.wikipedia.org/wiki/Finland">Finnish</a> student <a href="https://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a> to create a new free operating system kernel. Since then, the resulting <a href="https://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> has been marked by constant growth throughout its history. Since the initial release of its <a href="https://en.wikipedia.org/wiki/Source_code">source code</a> in 1991, it has grown from a small number of <a href="https://en.wikipedia.org/wiki/C_Programming_Language">C</a> files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> v2.</p>',0,0,'2017-12-23T04:01:51.565Z','2017-12-23T04:02:05.496Z','text','text/html','');
INSERT INTO notes VALUES('Zl69uXBSen0w','Ubuntu','<p>Expand note on the left pane to see content.</p>',0,0,'2017-12-23T04:02:16.685Z','2017-12-23T18:08:15.381Z','text','text/html','');
INSERT INTO notes VALUES('62BKAQMVP2KW','Unity shortcuts','<ul><li>Hold Super - Invoke the Launcher and display the shortcuts</li><li>Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus an application. The number corresponds to the location of the icon on the launcher from top to bottom.<ul><li>Adding Shift will open a new instance of the application if it''s already open.</li><li>Holding the key is also useful when you want to get to the Launcher but do not want to invoke the Dash.</li></ul></li><li>Super + T - Open the rubbish bin/trash can.</li><li>Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate, Enter launches an application, Right arrow exposes the quicklists if an application has them.</li><li>Ctrl + Alt + T - Launch a terminal window.</li></ul>',0,0,'2017-12-23T04:02:39.164Z','2017-12-23T04:03:09.867Z','text','text/html','');
INSERT INTO notes VALUES('jyqG9GucsMdn','Office party','That was fun!',0,0,'2017-12-23T04:05:16.439Z','2017-12-23T04:05:30.373Z','text','text/html','');
INSERT INTO notes VALUES('r4BnsmSQeVr1','HR','<p>HR stuff&nbsp;</p>',0,0,'2017-12-23T04:06:37.427Z','2017-12-23T16:42:23.145Z','text','text/html','');
INSERT INTO notes VALUES('moMbTKwN15Ps','Projects','<p>Here I''d keep various notes related to my work''s projects etc.</p>',0,0,'2017-12-23T04:06:49.331Z','2017-12-23T04:07:25.429Z','text','text/html','');
INSERT INTO notes VALUES('PEGQGg0In3Ar','Phone call about work project','<p>Bla bla bla ....</p>',0,0,'2017-12-23T16:44:35.900Z','2017-12-23T16:44:53.174Z','text','text/html','');
INSERT INTO notes VALUES('IlULcDiOTI4K','Inbox','<p>This is a place I use to put notes waiting for better categorization</p><p>&nbsp;</p>',0,0,'2017-12-23T16:45:11.047Z','2017-12-23T18:04:49.545Z','text','text/html','');
INSERT INTO notes VALUES('gDrEI7LFWqrP','Family Tree','<svg id="svg" width=960 height=600></svg>',0,0,'2018-08-28T20:50:21.928Z','2018-08-28T20:50:21.928Z','render','text/html','MCQaiN6h8N');
INSERT INTO notes VALUES('N029F9ANGn8b','d3',X'2f2f2068747470733a2f2f64336a732e6f72672056657273696f6e20352e352e302e20436f707972696768742032303138204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722076657273696f6e203d2022352e352e30223b0a0a66756e6374696f6e20617363656e64696e6728612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206269736563746f7228636f6d7061726529207b0a202069662028636f6d706172652e6c656e677468203d3d3d20312920636f6d70617265203d20617363656e64696e67436f6d70617261746f7228636f6d70617265293b0a202072657475726e207b0a202020206c6566743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203c203029206c6f203d206d6964202b20313b0a2020202020202020656c7365206869203d206d69643b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d2c0a2020202072696768743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203e203029206869203d206d69643b0a2020202020202020656c7365206c6f203d206d6964202b20313b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20617363656e64696e67436f6d70617261746f72286629207b0a202072657475726e2066756e6374696f6e28642c207829207b0a2020202072657475726e20617363656e64696e6728662864292c2078293b0a20207d3b0a7d0a0a76617220617363656e64696e67426973656374203d206269736563746f7228617363656e64696e67293b0a766172206269736563745269676874203d20617363656e64696e674269736563742e72696768743b0a766172206269736563744c656674203d20617363656e64696e674269736563742e6c6566743b0a0a66756e6374696f6e2070616972732861727261792c206629207b0a20206966202866203d3d206e756c6c292066203d20706169723b0a20207661722069203d20302c206e203d2061727261792e6c656e677468202d20312c2070203d2061727261795b305d2c207061697273203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e292070616972735b695d203d206628702c2070203d2061727261795b2b2b695d293b0a202072657475726e2070616972733b0a7d0a0a66756e6374696f6e207061697228612c206229207b0a202072657475726e205b612c20625d3b0a7d0a0a66756e6374696f6e2063726f73732876616c756573302c2076616c756573312c2072656475636529207b0a2020766172206e30203d2076616c756573302e6c656e6774682c0a2020202020206e31203d2076616c756573312e6c656e6774682c0a20202020202076616c756573203d206e6577204172726179286e30202a206e31292c0a20202020202069302c0a20202020202069312c0a202020202020692c0a20202020202076616c7565303b0a0a202069662028726564756365203d3d206e756c6c2920726564756365203d20706169723b0a0a2020666f7220286930203d2069203d20303b206930203c206e303b202b2b693029207b0a20202020666f72202876616c756530203d2076616c756573305b69305d2c206931203d20303b206931203c206e313b202b2b69312c202b2b6929207b0a20202020202076616c7565735b695d203d207265647563652876616c7565302c2076616c756573315b69315d293b0a202020207d0a20207d0a0a202072657475726e2076616c7565733b0a7d0a0a66756e6374696f6e2064657363656e64696e6728612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206e756d626572287829207b0a202072657475726e2078203d3d3d206e756c6c203f204e614e203a202b783b0a7d0a0a66756e6374696f6e2076617269616e63652876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d20302c0a20202020202069203d202d312c0a2020202020206d65616e203d20302c0a20202020202076616c75652c0a20202020202064656c74612c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020696620286d203e2031292072657475726e2073756d202f20286d202d2031293b0a7d0a0a66756e6374696f6e20646576696174696f6e2861727261792c206629207b0a20207661722076203d2076617269616e63652861727261792c2066293b0a202072657475726e2076203f204d6174682e73717274287629203a20763b0a7d0a0a66756e6374696f6e20657874656e742876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e2c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e205b6d696e2c206d61785d3b0a7d0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a76617220736c696365203d2061727261792e736c6963653b0a766172206d6170203d2061727261792e6d61703b0a0a66756e6374696f6e20636f6e7374616e74287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206964656e74697479287829207b0a202072657475726e20783b0a7d0a0a66756e6374696f6e2073657175656e63652873746172742c2073746f702c207374657029207b0a20207374617274203d202b73746172742c2073746f70203d202b73746f702c2073746570203d20286e203d20617267756d656e74732e6c656e67746829203c2032203f202873746f70203d2073746172742c207374617274203d20302c203129203a206e203c2033203f2031203a202b737465703b0a0a20207661722069203d202d312c0a2020202020206e203d204d6174682e6d617828302c204d6174682e6365696c282873746f70202d20737461727429202f20737465702929207c20302c0a20202020202072616e6765203d206e6577204172726179286e293b0a0a20207768696c6520282b2b69203c206e29207b0a2020202072616e67655b695d203d207374617274202b2069202a20737465703b0a20207d0a0a202072657475726e2072616e67653b0a7d0a0a76617220653130203d204d6174682e73717274283530292c0a202020206535203d204d6174682e73717274283130292c0a202020206532203d204d6174682e737172742832293b0a0a66756e6374696f6e207469636b732873746172742c2073746f702c20636f756e7429207b0a202076617220726576657273652c0a20202020202069203d202d312c0a2020202020206e2c0a2020202020207469636b732c0a202020202020737465703b0a0a202073746f70203d202b73746f702c207374617274203d202b73746172742c20636f756e74203d202b636f756e743b0a2020696620287374617274203d3d3d2073746f7020262620636f756e74203e2030292072657475726e205b73746172745d3b0a20206966202872657665727365203d2073746f70203c20737461727429206e203d2073746172742c207374617274203d2073746f702c2073746f70203d206e3b0a2020696620282873746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e742929203d3d3d2030207c7c2021697346696e697465287374657029292072657475726e205b5d3b0a0a20206966202873746570203e203029207b0a202020207374617274203d204d6174682e6365696c287374617274202f2073746570293b0a2020202073746f70203d204d6174682e666c6f6f722873746f70202f2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c2873746f70202d207374617274202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202b206929202a20737465703b0a20207d20656c7365207b0a202020207374617274203d204d6174682e666c6f6f72287374617274202a2073746570293b0a2020202073746f70203d204d6174682e6365696c2873746f70202a2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c287374617274202d2073746f70202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202d206929202f20737465703b0a20207d0a0a2020696620287265766572736529207469636b732e7265766572736528293b0a0a202072657475726e207469636b733b0a7d0a0a66756e6374696f6e207469636b496e6372656d656e742873746172742c2073746f702c20636f756e7429207b0a20207661722073746570203d202873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a202020202020706f776572203d204d6174682e666c6f6f72284d6174682e6c6f67287374657029202f204d6174682e4c4e3130292c0a2020202020206572726f72203d2073746570202f204d6174682e706f772831302c20706f776572293b0a202072657475726e20706f776572203e3d20300a2020202020203f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a203129202a204d6174682e706f772831302c20706f776572290a2020202020203a202d4d6174682e706f772831302c202d706f77657229202f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a2031293b0a7d0a0a66756e6374696f6e207469636b537465702873746172742c2073746f702c20636f756e7429207b0a2020766172207374657030203d204d6174682e6162732873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a2020202020207374657031203d204d6174682e706f772831302c204d6174682e666c6f6f72284d6174682e6c6f6728737465703029202f204d6174682e4c4e313029292c0a2020202020206572726f72203d207374657030202f2073746570313b0a2020696620286572726f72203e3d2065313029207374657031202a3d2031303b0a2020656c736520696620286572726f72203e3d20653529207374657031202a3d20353b0a2020656c736520696620286572726f72203e3d20653229207374657031202a3d20323b0a202072657475726e2073746f70203c207374617274203f202d7374657031203a2073746570313b0a7d0a0a66756e6374696f6e207468726573686f6c64537475726765732876616c75657329207b0a202072657475726e204d6174682e6365696c284d6174682e6c6f672876616c7565732e6c656e67746829202f204d6174682e4c4e3229202b20313b0a7d0a0a66756e6374696f6e20686973746f6772616d2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020646f6d61696e203d20657874656e742c0a2020202020207468726573686f6c64203d207468726573686f6c64537475726765733b0a0a202066756e6374696f6e20686973746f6772616d286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020782c0a202020202020202076616c756573203d206e6577204172726179286e293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202076616c7565735b695d203d2076616c756528646174615b695d2c20692c2064617461293b0a202020207d0a0a2020202076617220787a203d20646f6d61696e2876616c756573292c0a20202020202020207830203d20787a5b305d2c0a20202020202020207831203d20787a5b315d2c0a2020202020202020747a203d207468726573686f6c642876616c7565732c2078302c207831293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a202020202020747a203d207469636b537465702878302c2078312c20747a293b0a202020202020747a203d2073657175656e6365284d6174682e6365696c287830202f20747a29202a20747a2c204d6174682e666c6f6f72287831202f20747a29202a20747a2c20747a293b202f2f206578636c75736976650a202020207d0a0a202020202f2f2052656d6f766520616e79207468726573686f6c6473206f7574736964652074686520646f6d61696e2e0a20202020766172206d203d20747a2e6c656e6774683b0a202020207768696c652028747a5b305d203c3d2078302920747a2e736869667428292c202d2d6d3b0a202020207768696c652028747a5b6d202d20315d203e2078312920747a2e706f7028292c202d2d6d3b0a0a202020207661722062696e73203d206e6577204172726179286d202b2031292c0a202020202020202062696e3b0a0a202020202f2f20496e697469616c697a652062696e732e0a20202020666f72202869203d20303b2069203c3d206d3b202b2b6929207b0a20202020202062696e203d2062696e735b695d203d205b5d3b0a20202020202062696e2e7830203d2069203e2030203f20747a5b69202d20315d203a2078303b0a20202020202062696e2e7831203d2069203c206d203f20747a5b695d203a2078313b0a202020207d0a0a202020202f2f2041737369676e206461746120746f2062696e732062792076616c75652c2069676e6f72696e6720616e79206f7574736964652074686520646f6d61696e2e0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202078203d2076616c7565735b695d3b0a202020202020696620287830203c3d20782026262078203c3d20783129207b0a202020202020202062696e735b626973656374526967687428747a2c20782c20302c206d295d2e7075736828646174615b695d293b0a2020202020207d0a202020207d0a0a2020202072657475726e2062696e733b0a20207d0a0a2020686973746f6772616d2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c20686973746f6772616d29203a2076616c75653b0a20207d3b0a0a2020686973746f6772616d2e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5f5b305d2c205f5b315d5d292c20686973746f6772616d29203a20646f6d61696e3b0a20207d3b0a0a2020686973746f6772616d2e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e7428736c6963652e63616c6c285f2929203a20636f6e7374616e74285f292c20686973746f6772616d29203a207468726573686f6c643b0a20207d3b0a0a202072657475726e20686973746f6772616d3b0a7d0a0a66756e6374696f6e207468726573686f6c642876616c7565732c20702c2076616c75656f6629207b0a20206966202876616c75656f66203d3d206e756c6c292076616c75656f66203d206e756d6265723b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020696620282870203d202b7029203c3d2030207c7c206e203c2032292072657475726e202b76616c75656f662876616c7565735b305d2c20302c2076616c756573293b0a20206966202870203e3d2031292072657475726e202b76616c75656f662876616c7565735b6e202d20315d2c206e202d20312c2076616c756573293b0a2020766172206e2c0a20202020202069203d20286e202d203129202a20702c0a2020202020206930203d204d6174682e666c6f6f722869292c0a20202020202076616c756530203d202b76616c75656f662876616c7565735b69305d2c2069302c2076616c756573292c0a20202020202076616c756531203d202b76616c75656f662876616c7565735b6930202b20315d2c206930202b20312c2076616c756573293b0a202072657475726e2076616c756530202b202876616c756531202d2076616c75653029202a202869202d206930293b0a7d0a0a66756e6374696f6e2066726565646d616e446961636f6e69732876616c7565732c206d696e2c206d617829207b0a202076616c756573203d206d61702e63616c6c2876616c7565732c206e756d626572292e736f727428617363656e64696e67293b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f202832202a20287468726573686f6c642876616c7565732c20302e373529202d207468726573686f6c642876616c7565732c20302e32352929202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d0a0a66756e6374696f6e2073636f74742876616c7565732c206d696e2c206d617829207b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f2028332e35202a20646576696174696f6e2876616c75657329202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d0a0a66756e6374696f6e206d61782876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d61783b0a7d0a0a66756e6374696f6e206d65616e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d206e2c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d2929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c756573292929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020696620286d292072657475726e2073756d202f206d3b0a7d0a0a66756e6374696f6e206d656469616e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206e756d62657273203d205b5d3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207468726573686f6c64286e756d626572732e736f727428617363656e64696e67292c20302e35293b0a7d0a0a66756e6374696f6e206d657267652861727261797329207b0a2020766172206e203d206172726179732e6c656e6774682c0a2020202020206d2c0a20202020202069203d202d312c0a2020202020206a203d20302c0a2020202020206d65726765642c0a20202020202061727261793b0a0a20207768696c6520282b2b69203c206e29206a202b3d206172726179735b695d2e6c656e6774683b0a20206d6572676564203d206e6577204172726179286a293b0a0a20207768696c6520282d2d6e203e3d203029207b0a202020206172726179203d206172726179735b6e5d3b0a202020206d203d2061727261792e6c656e6774683b0a202020207768696c6520282d2d6d203e3d203029207b0a2020202020206d65726765645b2d2d6a5d203d2061727261795b6d5d3b0a202020207d0a20207d0a0a202072657475726e206d65726765643b0a7d0a0a66756e6374696f6e206d696e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d696e3b0a7d0a0a66756e6374696f6e207065726d7574652861727261792c20696e646578657329207b0a20207661722069203d20696e64657865732e6c656e6774682c207065726d75746573203d206e65772041727261792869293b0a20207768696c652028692d2d29207065726d757465735b695d203d2061727261795b696e64657865735b695d5d3b0a202072657475726e207065726d757465733b0a7d0a0a66756e6374696f6e207363616e2876616c7565732c20636f6d7061726529207b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a2020202020206a203d20302c0a20202020202078692c0a202020202020786a203d2076616c7565735b6a5d3b0a0a202069662028636f6d70617265203d3d206e756c6c2920636f6d70617265203d20617363656e64696e673b0a0a20207768696c6520282b2b69203c206e29207b0a2020202069662028636f6d70617265287869203d2076616c7565735b695d2c20786a29203c2030207c7c20636f6d7061726528786a2c20786a2920213d3d203029207b0a202020202020786a203d2078692c206a203d20693b0a202020207d0a20207d0a0a202069662028636f6d7061726528786a2c20786a29203d3d3d2030292072657475726e206a3b0a7d0a0a66756e6374696f6e2073687566666c652861727261792c2069302c20693129207b0a2020766172206d203d20286931203d3d206e756c6c203f2061727261792e6c656e677468203a20693129202d20286930203d206930203d3d206e756c6c203f2030203a202b6930292c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d202b2069305d3b0a2020202061727261795b6d202b2069305d203d2061727261795b69202b2069305d3b0a2020202061727261795b69202b2069305d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a66756e6374696f6e2073756d2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c7565735b695d292073756d202b3d2076616c75653b202f2f204e6f74653a207a65726f20616e64206e756c6c20617265206571756976616c656e742e0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c75656f662876616c7565735b695d2c20692c2076616c75657329292073756d202b3d2076616c75653b0a202020207d0a20207d0a0a202072657475726e2073756d3b0a7d0a0a66756e6374696f6e207472616e73706f7365286d617472697829207b0a20206966202821286e203d206d61747269782e6c656e67746829292072657475726e205b5d3b0a2020666f7220287661722069203d202d312c206d203d206d696e286d61747269782c206c656e677468292c207472616e73706f7365203d206e6577204172726179286d293b202b2b69203c206d3b29207b0a20202020666f722028766172206a203d202d312c206e2c20726f77203d207472616e73706f73655b695d203d206e6577204172726179286e293b202b2b6a203c206e3b29207b0a202020202020726f775b6a5d203d206d61747269785b6a5d5b695d3b0a202020207d0a20207d0a202072657475726e207472616e73706f73653b0a7d0a0a66756e6374696f6e206c656e677468286429207b0a202072657475726e20642e6c656e6774683b0a7d0a0a66756e6374696f6e207a69702829207b0a202072657475726e207472616e73706f736528617267756d656e7473293b0a7d0a0a76617220736c6963652431203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206964656e746974792431287829207b0a202072657475726e20783b0a7d0a0a76617220746f70203d20312c0a202020207269676874203d20322c0a20202020626f74746f6d203d20332c0a202020206c656674203d20342c0a20202020657073696c6f6e203d2031652d363b0a0a66756e6374696f6e207472616e736c61746558287829207b0a202072657475726e20227472616e736c6174652822202b202878202b20302e3529202b20222c3029223b0a7d0a0a66756e6374696f6e207472616e736c61746559287929207b0a202072657475726e20227472616e736c61746528302c22202b202879202b20302e3529202b202229223b0a7d0a0a66756e6374696f6e206e756d6265722431287363616c6529207b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c652864293b0a20207d3b0a7d0a0a66756e6374696f6e2063656e746572287363616c6529207b0a2020766172206f6666736574203d204d6174682e6d617828302c207363616c652e62616e6477696474682829202d203129202f20323b202f2f2041646a75737420666f7220302e357078206f66667365742e0a2020696620287363616c652e726f756e64282929206f6666736574203d204d6174682e726f756e64286f6666736574293b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c65286429202b206f66667365743b0a20207d3b0a7d0a0a66756e6374696f6e20656e746572696e672829207b0a202072657475726e2021746869732e5f5f617869733b0a7d0a0a66756e6374696f6e2061786973286f7269656e742c207363616c6529207b0a2020766172207469636b417267756d656e7473203d205b5d2c0a2020202020207469636b56616c756573203d206e756c6c2c0a2020202020207469636b466f726d6174203d206e756c6c2c0a2020202020207469636b53697a65496e6e6572203d20362c0a2020202020207469636b53697a654f75746572203d20362c0a2020202020207469636b50616464696e67203d20332c0a2020202020206b203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d206c656674203f202d31203a20312c0a20202020202078203d206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d3d207269676874203f20227822203a202279222c0a2020202020207472616e73666f726d203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d20626f74746f6d203f207472616e736c61746558203a207472616e736c617465593b0a0a202066756e6374696f6e206178697328636f6e7465787429207b0a202020207661722076616c756573203d207469636b56616c756573203d3d206e756c6c203f20287363616c652e7469636b73203f207363616c652e7469636b732e6170706c79287363616c652c207469636b417267756d656e747329203a207363616c652e646f6d61696e282929203a207469636b56616c7565732c0a2020202020202020666f726d6174203d207469636b466f726d6174203d3d206e756c6c203f20287363616c652e7469636b466f726d6174203f207363616c652e7469636b466f726d61742e6170706c79287363616c652c207469636b417267756d656e747329203a206964656e74697479243129203a207469636b466f726d61742c0a202020202020202073706163696e67203d204d6174682e6d6178287469636b53697a65496e6e65722c203029202b207469636b50616464696e672c0a202020202020202072616e6765203d207363616c652e72616e676528292c0a202020202020202072616e676530203d202b72616e67655b305d202b20302e352c0a202020202020202072616e676531203d202b72616e67655b72616e67652e6c656e677468202d20315d202b20302e352c0a2020202020202020706f736974696f6e203d20287363616c652e62616e647769647468203f2063656e746572203a206e756d626572243129287363616c652e636f70792829292c0a202020202020202073656c656374696f6e203d20636f6e746578742e73656c656374696f6e203f20636f6e746578742e73656c656374696f6e2829203a20636f6e746578742c0a202020202020202070617468203d2073656c656374696f6e2e73656c656374416c6c28222e646f6d61696e22292e64617461285b6e756c6c5d292c0a20202020202020207469636b203d2073656c656374696f6e2e73656c656374416c6c28222e7469636b22292e646174612876616c7565732c207363616c65292e6f7264657228292c0a20202020202020207469636b45786974203d207469636b2e6578697428292c0a20202020202020207469636b456e746572203d207469636b2e656e74657228292e617070656e6428226722292e617474722822636c617373222c20227469636b22292c0a20202020202020206c696e65203d207469636b2e73656c65637428226c696e6522292c0a202020202020202074657874203d207469636b2e73656c65637428227465787422293b0a0a2020202070617468203d20706174682e6d6572676528706174682e656e74657228292e696e73657274282270617468222c20222e7469636b22290a20202020202020202e617474722822636c617373222c2022646f6d61696e22290a20202020202020202e6174747228227374726f6b65222c2022233030302229293b0a0a202020207469636b203d207469636b2e6d65726765287469636b456e746572293b0a0a202020206c696e65203d206c696e652e6d65726765287469636b456e7465722e617070656e6428226c696e6522290a20202020202020202e6174747228227374726f6b65222c20222330303022290a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e657229293b0a0a2020202074657874203d20746578742e6d65726765287469636b456e7465722e617070656e6428227465787422290a20202020202020202e61747472282266696c6c222c20222330303022290a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e6174747228226479222c206f7269656e74203d3d3d20746f70203f202230656d22203a206f7269656e74203d3d3d20626f74746f6d203f2022302e3731656d22203a2022302e3332656d2229293b0a0a2020202069662028636f6e7465787420213d3d2073656c656374696f6e29207b0a20202020202070617468203d20706174682e7472616e736974696f6e28636f6e74657874293b0a2020202020207469636b203d207469636b2e7472616e736974696f6e28636f6e74657874293b0a2020202020206c696e65203d206c696e652e7472616e736974696f6e28636f6e74657874293b0a20202020202074657874203d20746578742e7472616e736974696f6e28636f6e74657874293b0a0a2020202020207469636b45786974203d207469636b457869742e7472616e736974696f6e28636f6e74657874290a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e20697346696e6974652864203d20706f736974696f6e28642929203f207472616e73666f726d286429203a20746869732e67657441747472696275746528227472616e73666f726d22293b207d293b0a0a2020202020207469636b456e7465720a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b207661722070203d20746869732e706172656e744e6f64652e5f5f617869733b2072657475726e207472616e73666f726d287020262620697346696e6974652870203d207028642929203f2070203a20706f736974696f6e286429293b207d293b0a202020207d0a0a202020207469636b457869742e72656d6f766528293b0a0a20202020706174680a20202020202020202e61747472282264222c206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d2072696768740a2020202020202020202020203f20224d22202b206b202a207469636b53697a654f75746572202b20222c22202b2072616e676530202b202248302e355622202b2072616e676531202b20224822202b206b202a207469636b53697a654f757465720a2020202020202020202020203a20224d22202b2072616e676530202b20222c22202b206b202a207469636b53697a654f75746572202b202256302e354822202b2072616e676531202b20225622202b206b202a207469636b53697a654f75746572293b0a0a202020207469636b0a20202020202020202e6174747228226f706163697479222c2031290a20202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e207472616e73666f726d28706f736974696f6e286429293b207d293b0a0a202020206c696e650a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e6572293b0a0a20202020746578740a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e7465787428666f726d6174293b0a0a2020202073656c656374696f6e2e66696c74657228656e746572696e67290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822666f6e742d73697a65222c203130290a20202020202020202e617474722822666f6e742d66616d696c79222c202273616e732d736572696622290a20202020202020202e617474722822746578742d616e63686f72222c206f7269656e74203d3d3d207269676874203f2022737461727422203a206f7269656e74203d3d3d206c656674203f2022656e6422203a20226d6964646c6522293b0a0a2020202073656c656374696f6e0a20202020202020202e656163682866756e6374696f6e2829207b20746869732e5f5f61786973203d20706f736974696f6e3b207d293b0a20207d0a0a2020617869732e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65203d205f2c206178697329203a207363616c653b0a20207d3b0a0a2020617869732e7469636b73203d2066756e6374696f6e2829207b0a2020202072657475726e207469636b417267756d656e7473203d20736c69636524312e63616c6c28617267756d656e7473292c20617869733b0a20207d3b0a0a2020617869732e7469636b417267756d656e7473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b417267756d656e7473203d205f203d3d206e756c6c203f205b5d203a20736c69636524312e63616c6c285f292c206178697329203a207469636b417267756d656e74732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b56616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b56616c756573203d205f203d3d206e756c6c203f206e756c6c203a20736c69636524312e63616c6c285f292c206178697329203a207469636b56616c756573202626207469636b56616c7565732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b466f726d6174203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b466f726d6174203d205f2c206178697329203a207469636b466f726d61743b0a20207d3b0a0a2020617869732e7469636b53697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d207469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a65496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a654f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a654f757465723b0a20207d3b0a0a2020617869732e7469636b50616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b50616464696e67203d202b5f2c206178697329203a207469636b50616464696e673b0a20207d3b0a0a202072657475726e20617869733b0a7d0a0a66756e6374696f6e2061786973546f70287363616c6529207b0a202072657475726e206178697328746f702c207363616c65293b0a7d0a0a66756e6374696f6e20617869735269676874287363616c6529207b0a202072657475726e20617869732872696768742c207363616c65293b0a7d0a0a66756e6374696f6e2061786973426f74746f6d287363616c6529207b0a202072657475726e206178697328626f74746f6d2c207363616c65293b0a7d0a0a66756e6374696f6e20617869734c656674287363616c6529207b0a202072657475726e2061786973286c6566742c207363616c65293b0a7d0a0a766172206e6f6f70203d207b76616c75653a2066756e6374696f6e2829207b7d7d3b0a0a66756e6374696f6e2064697370617463682829207b0a2020666f7220287661722069203d20302c206e203d20617267756d656e74732e6c656e6774682c205f203d207b7d2c20743b2069203c206e3b202b2b6929207b0a2020202069662028212874203d20617267756d656e74735b695d202b20222229207c7c20287420696e205f2929207468726f77206e6577204572726f722822696c6c6567616c20747970653a2022202b2074293b0a202020205f5b745d203d205b5d3b0a20207d0a202072657475726e206e6577204469737061746368285f293b0a7d0a0a66756e6374696f6e204469737061746368285f29207b0a2020746869732e5f203d205f3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d65732c20747970657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a202020206966202874202626202174797065732e6861734f776e50726f706572747928742929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a44697370617463682e70726f746f74797065203d2064697370617463682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2044697370617463682c0a20206f6e3a2066756e6374696f6e28747970656e616d652c2063616c6c6261636b29207b0a20202020766172205f203d20746869732e5f2c0a202020202020202054203d207061727365547970656e616d657328747970656e616d65202b2022222c205f292c0a2020202020202020742c0a202020202020202069203d202d312c0a20202020202020206e203d20542e6c656e6774683b0a0a202020202f2f204966206e6f2063616c6c6261636b20776173207370656369666965642c2072657475726e207468652063616c6c6261636b206f662074686520676976656e207479706520616e64206e616d652e0a2020202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202020207768696c6520282b2b69203c206e2920696620282874203d2028747970656e616d65203d20545b695d292e7479706529202626202874203d20676574285f5b745d2c20747970656e616d652e6e616d652929292072657475726e20743b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2049662061207479706520776173207370656369666965642c20736574207468652063616c6c6261636b20666f722074686520676976656e207479706520616e64206e616d652e0a202020202f2f204f74686572776973652c2069662061206e756c6c2063616c6c6261636b20776173207370656369666965642c2072656d6f76652063616c6c6261636b73206f662074686520676976656e206e616d652e0a202020206966202863616c6c6261636b20213d206e756c6c20262620747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202874203d2028747970656e616d65203d20545b695d292e7479706529205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c2063616c6c6261636b293b0a202020202020656c7365206966202863616c6c6261636b203d3d206e756c6c2920666f7220287420696e205f29205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c206e756c6c293b0a202020207d0a0a2020202072657475726e20746869733b0a20207d2c0a2020636f70793a2066756e6374696f6e2829207b0a2020202076617220636f7079203d207b7d2c205f203d20746869732e5f3b0a20202020666f722028766172207420696e205f2920636f70795b745d203d205f5b745d2e736c69636528293b0a2020202072657475726e206e657720446973706174636828636f7079293b0a20207d2c0a202063616c6c3a2066756e6374696f6e28747970652c207468617429207b0a2020202069662028286e203d20617267756d656e74732e6c656e677468202d203229203e20302920666f7220287661722061726773203d206e6577204172726179286e292c2069203d20302c206e2c20743b2069203c206e3b202b2b692920617267735b695d203d20617267756d656e74735b69202b20325d3b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f72202874203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d2c0a20206170706c793a2066756e6374696f6e28747970652c20746861742c206172677329207b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f7220287661722074203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d0a7d3b0a0a66756e6374696f6e2067657428747970652c206e616d6529207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774682c20633b2069203c206e3b202b2b6929207b0a20202020696620282863203d20747970655b695d292e6e616d65203d3d3d206e616d6529207b0a20202020202072657475726e20632e76616c75653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073657428747970652c206e616d652c2063616c6c6261636b29207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202069662028747970655b695d2e6e616d65203d3d3d206e616d6529207b0a202020202020747970655b695d203d206e6f6f702c2074797065203d20747970652e736c69636528302c2069292e636f6e63617428747970652e736c6963652869202b203129293b0a202020202020627265616b3b0a202020207d0a20207d0a20206966202863616c6c6261636b20213d206e756c6c2920747970652e70757368287b6e616d653a206e616d652c2076616c75653a2063616c6c6261636b7d293b0a202072657475726e20747970653b0a7d0a0a766172207868746d6c203d2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c223b0a0a766172206e616d65737061636573203d207b0a20207376673a2022687474703a2f2f7777772e77332e6f72672f323030302f737667222c0a20207868746d6c3a207868746d6c2c0a2020786c696e6b3a2022687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222c0a2020786d6c3a2022687474703a2f2f7777772e77332e6f72672f584d4c2f313939382f6e616d657370616365222c0a2020786d6c6e733a2022687474703a2f2f7777772e77332e6f72672f323030302f786d6c6e732f220a7d3b0a0a66756e6374696f6e206e616d657370616365286e616d6529207b0a202076617220707265666978203d206e616d65202b3d2022222c2069203d207072656669782e696e6465784f6628223a22293b0a20206966202869203e3d20302026262028707265666978203d206e616d652e736c69636528302c2069292920213d3d2022786d6c6e732229206e616d65203d206e616d652e736c6963652869202b2031293b0a202072657475726e206e616d657370616365732e6861734f776e50726f70657274792870726566697829203f207b73706163653a206e616d657370616365735b7072656669785d2c206c6f63616c3a206e616d657d203a206e616d653b0a7d0a0a66756e6374696f6e2063726561746f72496e6865726974286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220646f63756d656e74203d20746869732e6f776e6572446f63756d656e742c0a2020202020202020757269203d20746869732e6e616d6573706163655552493b0a2020202072657475726e20757269203d3d3d207868746d6c20262620646f63756d656e742e646f63756d656e74456c656d656e742e6e616d657370616365555249203d3d3d207868746d6c0a20202020202020203f20646f63756d656e742e637265617465456c656d656e74286e616d65290a20202020202020203a20646f63756d656e742e637265617465456c656d656e744e53287572692c206e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f7246697865642866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6f776e6572446f63756d656e742e637265617465456c656d656e744e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f72286e616d6529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e202866756c6c6e616d652e6c6f63616c0a2020202020203f2063726561746f7246697865640a2020202020203a2063726561746f72496e6865726974292866756c6c6e616d65293b0a7d0a0a66756e6374696f6e206e6f6e652829207b7d0a0a66756e6374696f6e2073656c6563746f722873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f206e6f6e65203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f722873656c6563746f72293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73656c6563742873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e20656d7074792829207b0a202072657475726e205b5d3b0a7d0a0a66756e6374696f6e2073656c6563746f72416c6c2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f20656d707479203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73656c656374416c6c2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202073756267726f7570732e707573682873656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f757029293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20706172656e7473293b0a7d0a0a766172206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6d6174636865732873656c6563746f72293b0a20207d3b0a7d3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e74203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a20206966202821656c656d656e742e6d61746368657329207b0a202020207661722076656e646f724d617463686573203d20656c656d656e742e7765626b69744d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d734d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d6f7a4d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6f4d61746368657353656c6563746f723b0a202020206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076656e646f724d6174636865732e63616c6c28746869732c2073656c6563746f72293b0a2020202020207d3b0a202020207d3b0a20207d0a7d0a0a766172206d6174636865722431203d206d6174636865723b0a0a66756e6374696f6e2073656c656374696f6e5f66696c746572286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e207370617273652875706461746529207b0a202072657475726e206e6577204172726179287570646174652e6c656e677468293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656e7465722829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f656e746572207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e20456e7465724e6f646528706172656e742c20646174756d29207b0a2020746869732e6f776e6572446f63756d656e74203d20706172656e742e6f776e6572446f63756d656e743b0a2020746869732e6e616d657370616365555249203d20706172656e742e6e616d6573706163655552493b0a2020746869732e5f6e657874203d206e756c6c3b0a2020746869732e5f706172656e74203d20706172656e743b0a2020746869732e5f5f646174615f5f203d20646174756d3b0a7d0a0a456e7465724e6f64652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20456e7465724e6f64652c0a2020617070656e644368696c643a2066756e6374696f6e286368696c6429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c20746869732e5f6e657874293b207d2c0a2020696e736572744265666f72653a2066756e6374696f6e286368696c642c206e65787429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c206e657874293b207d2c0a2020717565727953656c6563746f723a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f722873656c6563746f72293b207d2c0a2020717565727953656c6563746f72416c6c3a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b207d0a7d3b0a0a66756e6374696f6e20636f6e7374616e742431287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a766172206b6579507265666978203d202224223b202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a0a66756e6374696f6e2062696e64496e64657828706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c206461746129207b0a20207661722069203d20302c0a2020202020206e6f64652c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774683b0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f64657320746861742066697420696e746f207570646174652e0a20202f2f2050757420616e79206e756c6c206e6f64657320696e746f20656e7465722e0a20202f2f2050757420616e792072656d61696e696e67206461746120696e746f20656e7465722e0a2020666f7220283b2069203c20646174614c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020207570646174655b695d203d206e6f64653b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f646573207468617420646f6ee28099742066697420696e746f20657869742e0a2020666f7220283b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2062696e644b657928706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c20646174612c206b657929207b0a202076617220692c0a2020202020206e6f64652c0a2020202020206e6f646542794b657956616c7565203d207b7d2c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020206b657956616c756573203d206e65772041727261792867726f75704c656e677468292c0a2020202020206b657956616c75653b0a0a20202f2f20436f6d7075746520746865206b657920666f722065616368206e6f64652e0a20202f2f204966206d756c7469706c65206e6f6465732068617665207468652073616d65206b65792c20746865206475706c6963617465732061726520616464656420746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206b657956616c7565735b695d203d206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020202020696620286b657956616c756520696e206e6f646542794b657956616c756529207b0a2020202020202020657869745b695d203d206e6f64653b0a2020202020207d20656c7365207b0a20202020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a20202f2f20436f6d7075746520746865206b657920666f72206561636820646174756d2e0a20202f2f2049662074686572652061206e6f6465206173736f63696174656420776974682074686973206b65792c206a6f696e20616e642061646420697420746f207570646174652e0a20202f2f204966207468657265206973206e6f7420286f7220746865206b65792069732061206475706c6963617465292c2061646420697420746f20656e7465722e0a2020666f72202869203d20303b2069203c20646174614c656e6774683b202b2b6929207b0a202020206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c28706172656e742c20646174615b695d2c20692c2064617461293b0a20202020696620286e6f6465203d206e6f646542794b657956616c75655b6b657956616c75655d29207b0a2020202020207570646174655b695d203d206e6f64653b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e756c6c3b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2041646420616e792072656d61696e696e67206e6f64657320746861742077657265206e6f7420626f756e6420746f206461746120746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a2020202069662028286e6f6465203d2067726f75705b695d2920262620286e6f646542794b657956616c75655b6b657956616c7565735b695d5d203d3d3d206e6f64652929207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646174612876616c75652c206b657929207b0a2020696620282176616c756529207b0a2020202064617461203d206e657720417272617928746869732e73697a652829292c206a203d202d313b0a20202020746869732e656163682866756e6374696f6e286429207b20646174615b2b2b6a5d203d20643b207d293b0a2020202072657475726e20646174613b0a20207d0a0a20207661722062696e64203d206b6579203f2062696e644b6579203a2062696e64496e6465782c0a202020202020706172656e7473203d20746869732e5f706172656e74732c0a20202020202067726f757073203d20746869732e5f67726f7570733b0a0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e22292076616c7565203d20636f6e7374616e7424312876616c7565293b0a0a2020666f722028766172206d203d2067726f7570732e6c656e6774682c20757064617465203d206e6577204172726179286d292c20656e746572203d206e6577204172726179286d292c2065786974203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a2020202076617220706172656e74203d20706172656e74735b6a5d2c0a202020202020202067726f7570203d2067726f7570735b6a5d2c0a202020202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020202064617461203d2076616c75652e63616c6c28706172656e742c20706172656e7420262620706172656e742e5f5f646174615f5f2c206a2c20706172656e7473292c0a2020202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020202020656e74657247726f7570203d20656e7465725b6a5d203d206e657720417272617928646174614c656e677468292c0a202020202020202075706461746547726f7570203d207570646174655b6a5d203d206e657720417272617928646174614c656e677468292c0a20202020202020206578697447726f7570203d20657869745b6a5d203d206e65772041727261792867726f75704c656e677468293b0a0a2020202062696e6428706172656e742c2067726f75702c20656e74657247726f75702c2075706461746547726f75702c206578697447726f75702c20646174612c206b6579293b0a0a202020202f2f204e6f7720636f6e6e6563742074686520656e746572206e6f64657320746f20746865697220666f6c6c6f77696e6720757064617465206e6f64652c207375636820746861740a202020202f2f20617070656e644368696c642063616e20696e7365727420746865206d6174657269616c697a656420656e746572206e6f6465206265666f72652074686973206e6f64652c0a202020202f2f20726174686572207468616e2061742074686520656e64206f662074686520706172656e74206e6f64652e0a20202020666f722028766172206930203d20302c206931203d20302c2070726576696f75732c206e6578743b206930203c20646174614c656e6774683b202b2b693029207b0a2020202020206966202870726576696f7573203d20656e74657247726f75705b69305d29207b0a2020202020202020696620286930203e3d20693129206931203d206930202b20313b0a20202020202020207768696c65202821286e657874203d2075706461746547726f75705b69315d29202626202b2b6931203c20646174614c656e677468293b0a202020202020202070726576696f75732e5f6e657874203d206e657874207c7c206e756c6c3b0a2020202020207d0a202020207d0a20207d0a0a2020757064617465203d206e65772053656c656374696f6e287570646174652c20706172656e7473293b0a20207570646174652e5f656e746572203d20656e7465723b0a20207570646174652e5f65786974203d20657869743b0a202072657475726e207570646174653b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f657869742829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f65786974207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6d657267652873656c656374696f6e24243129207b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d2073656c656374696f6e2424312e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e65772053656c656374696f6e286d65726765732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6f726465722829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d202d312c206d203d2067726f7570732e6c656e6774683b202b2b6a203c206d3b29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d2067726f75702e6c656e677468202d20312c206e657874203d2067726f75705b695d2c206e6f64653b202d2d69203e3d20303b29207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020696620286e657874202626206e65787420213d3d206e6f64652e6e6578745369626c696e6729206e6578742e706172656e744e6f64652e696e736572744265666f7265286e6f64652c206e657874293b0a20202020202020206e657874203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f736f727428636f6d7061726529207b0a20206966202821636f6d706172652920636f6d70617265203d20617363656e64696e6724313b0a0a202066756e6374696f6e20636f6d706172654e6f646528612c206229207b0a2020202072657475726e20612026262062203f20636f6d7061726528612e5f5f646174615f5f2c20622e5f5f646174615f5f29203a202161202d2021623b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c20736f727467726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c20736f727467726f7570203d20736f727467726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020736f727467726f75705b695d203d206e6f64653b0a2020202020207d0a202020207d0a20202020736f727467726f75702e736f727428636f6d706172654e6f6465293b0a20207d0a0a202072657475726e206e65772053656c656374696f6e28736f727467726f7570732c20746869732e5f706172656e7473292e6f7264657228293b0a7d0a0a66756e6374696f6e20617363656e64696e67243128612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f63616c6c2829207b0a20207661722063616c6c6261636b203d20617267756d656e74735b305d3b0a2020617267756d656e74735b305d203d20746869733b0a202063616c6c6261636b2e6170706c79286e756c6c2c20617267756d656e7473293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6e6f6465732829207b0a2020766172206e6f646573203d206e657720417272617928746869732e73697a652829292c2069203d202d313b0a2020746869732e656163682866756e6374696f6e2829207b206e6f6465735b2b2b695d203d20746869733b207d293b0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6e6f64652829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d2067726f75705b695d3b0a202020202020696620286e6f6465292072657475726e206e6f64653b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f73697a652829207b0a20207661722073697a65203d20303b0a2020746869732e656163682866756e6374696f6e2829207b202b2b73697a653b207d293b0a202072657475726e2073697a653b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656d7074792829207b0a202072657475726e2021746869732e6e6f646528293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f656163682863616c6c6261636b29207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d292063616c6c6261636b2e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e736574417474726962757465286e616d652c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f7665417474726962757465286e616d65293b0a20202020656c736520746869732e736574417474726962757465286e616d652c2076293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20202020656c736520746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f61747472286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206e6f6465203d20746869732e6e6f646528293b0a2020202072657475726e2066756c6c6e616d652e6c6f63616c0a20202020202020203f206e6f64652e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c290a20202020202020203a206e6f64652e6765744174747269627574652866756c6c6e616d65293b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f766529203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e742929292866756c6c6e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e2064656661756c7456696577286e6f646529207b0a202072657475726e20286e6f64652e6f776e6572446f63756d656e74202626206e6f64652e6f776e6572446f63756d656e742e64656661756c745669657729202f2f206e6f64652069732061204e6f64650a2020202020207c7c20286e6f64652e646f63756d656e74202626206e6f646529202f2f206e6f646520697320612057696e646f770a2020202020207c7c206e6f64652e64656661756c74566965773b202f2f206e6f6465206973206120446f63756d656e740a7d0a0a66756e6374696f6e207374796c6552656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e73657450726f7065727479286e616d652c2076616c75652c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20202020656c736520746869732e7374796c652e73657450726f7065727479286e616d652c20762c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f7374796c65286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020202020202020203f207374796c6552656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020202020202020203f207374796c6546756e6374696f6e0a2020202020202020202020203a207374796c65436f6e7374616e7429286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929290a2020202020203a207374796c6556616c756528746869732e6e6f646528292c206e616d65293b0a7d0a0a66756e6374696f6e207374796c6556616c7565286e6f64652c206e616d6529207b0a202072657475726e206e6f64652e7374796c652e67657450726f706572747956616c7565286e616d65290a2020202020207c7c2064656661756c7456696577286e6f6465292e676574436f6d70757465645374796c65286e6f64652c206e756c6c292e67657450726f706572747956616c7565286e616d65293b0a7d0a0a66756e6374696f6e2070726f706572747952656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202064656c65746520746869735b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e2070726f7065727479436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869735b6e616d655d203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2070726f706572747946756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c292064656c65746520746869735b6e616d655d3b0a20202020656c736520746869735b6e616d655d203d20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f70726f7065727479286e616d652c2076616c756529207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a202020202020202020203f2070726f706572747952656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2070726f706572747946756e6374696f6e0a202020202020202020203a2070726f7065727479436f6e7374616e7429286e616d652c2076616c756529290a2020202020203a20746869732e6e6f646528295b6e616d655d3b0a7d0a0a66756e6374696f6e20636c617373417272617928737472696e6729207b0a202072657475726e20737472696e672e7472696d28292e73706c6974282f5e7c5c732b2f293b0a7d0a0a66756e6374696f6e20636c6173734c697374286e6f646529207b0a202072657475726e206e6f64652e636c6173734c697374207c7c206e657720436c6173734c697374286e6f6465293b0a7d0a0a66756e6374696f6e20436c6173734c697374286e6f646529207b0a2020746869732e5f6e6f6465203d206e6f64653b0a2020746869732e5f6e616d6573203d20636c6173734172726179286e6f64652e6765744174747269627574652822636c6173732229207c7c202222293b0a7d0a0a436c6173734c6973742e70726f746f74797065203d207b0a20206164643a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203c203029207b0a202020202020746869732e5f6e616d65732e70757368286e616d65293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203e3d203029207b0a202020202020746869732e5f6e616d65732e73706c69636528692c2031293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a2020636f6e7461696e733a2066756e6374696f6e286e616d6529207b0a2020202072657475726e20746869732e5f6e616d65732e696e6465784f66286e616d6529203e3d20303b0a20207d0a7d3b0a0a66756e6374696f6e20636c6173736564416464286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e616464286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656452656d6f7665286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e72656d6f7665286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656454727565286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656441646428746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446616c7365286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656452656d6f766528746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446756e6374696f6e286e616d65732c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020202876616c75652e6170706c7928746869732c20617267756d656e747329203f20636c6173736564416464203a20636c617373656452656d6f76652928746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6173736564286e616d652c2076616c756529207b0a2020766172206e616d6573203d20636c6173734172726179286e616d65202b202222293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206c697374203d20636c6173734c69737428746869732e6e6f64652829292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028216c6973742e636f6e7461696e73286e616d65735b695d29292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d0a0a202072657475726e20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f20636c617373656446756e6374696f6e203a2076616c75650a2020202020203f20636c6173736564547275650a2020202020203a20636c617373656446616c736529286e616d65732c2076616c756529293b0a7d0a0a66756e6374696f6e207465787452656d6f76652829207b0a2020746869732e74657874436f6e74656e74203d2022223b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e74657874436f6e74656e74203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f746578742876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f207465787452656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207465787446756e6374696f6e0a202020202020202020203a2074657874436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e74657874436f6e74656e743b0a7d0a0a66756e6374696f6e2068746d6c52656d6f76652829207b0a2020746869732e696e6e657248544d4c203d2022223b0a7d0a0a66756e6374696f6e2068746d6c436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e696e6e657248544d4c203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2068746d6c46756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e696e6e657248544d4c203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f68746d6c2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f2068746d6c52656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2068746d6c46756e6374696f6e0a202020202020202020203a2068746d6c436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e696e6e657248544d4c3b0a7d0a0a66756e6374696f6e2072616973652829207b0a202069662028746869732e6e6578745369626c696e672920746869732e706172656e744e6f64652e617070656e644368696c642874686973293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f72616973652829207b0a202072657475726e20746869732e65616368287261697365293b0a7d0a0a66756e6374696f6e206c6f7765722829207b0a202069662028746869732e70726576696f75735369626c696e672920746869732e706172656e744e6f64652e696e736572744265666f726528746869732c20746869732e706172656e744e6f64652e66697273744368696c64293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6c6f7765722829207b0a202072657475726e20746869732e65616368286c6f776572293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f617070656e64286e616d6529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e617070656e644368696c64286372656174652e6170706c7928746869732c20617267756d656e747329293b0a20207d293b0a7d0a0a66756e6374696f6e20636f6e7374616e744e756c6c2829207b0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f696e73657274286e616d652c206265666f726529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65292c0a20202020202073656c656374203d206265666f7265203d3d206e756c6c203f20636f6e7374616e744e756c6c203a20747970656f66206265666f7265203d3d3d202266756e6374696f6e22203f206265666f7265203a2073656c6563746f72286265666f7265293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e696e736572744265666f7265286372656174652e6170706c7928746869732c20617267756d656e7473292c2073656c6563742e6170706c7928746869732c20617267756d656e747329207c7c206e756c6c293b0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f76652829207b0a202076617220706172656e74203d20746869732e706172656e744e6f64653b0a202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f72656d6f76652829207b0a202072657475726e20746869732e656163682872656d6f7665293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e655368616c6c6f772829207b0a202072657475726e20746869732e706172656e744e6f64652e696e736572744265666f726528746869732e636c6f6e654e6f64652866616c7365292c20746869732e6e6578745369626c696e67293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e65446565702829207b0a202072657475726e20746869732e706172656e744e6f64652e696e736572744265666f726528746869732e636c6f6e654e6f64652874727565292c20746869732e6e6578745369626c696e67293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f636c6f6e65286465657029207b0a202072657475726e20746869732e73656c6563742864656570203f2073656c656374696f6e5f636c6f6e6544656570203a2073656c656374696f6e5f636c6f6e655368616c6c6f77293b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646174756d2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e70726f706572747928225f5f646174615f5f222c2076616c7565290a2020202020203a20746869732e6e6f646528292e5f5f646174615f5f3b0a7d0a0a7661722066696c7465724576656e7473203d207b7d3b0a0a6578706f7274732e6576656e74203d206e756c6c3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e742431203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a2020696620282128226f6e6d6f757365656e7465722220696e20656c656d656e7424312929207b0a2020202066696c7465724576656e7473203d207b6d6f757365656e7465723a20226d6f7573656f766572222c206d6f7573656c656176653a20226d6f7573656f7574227d3b0a20207d0a7d0a0a66756e6374696f6e2066696c746572436f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a20206c697374656e6572203d20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f7570293b0a202072657475726e2066756e6374696f6e286576656e7429207b0a202020207661722072656c61746564203d206576656e742e72656c617465645461726765743b0a20202020696620282172656c61746564207c7c202872656c6174656420213d3d207468697320262620212872656c617465642e636f6d70617265446f63756d656e74506f736974696f6e28746869732920262038292929207b0a2020202020206c697374656e65722e63616c6c28746869732c206576656e74293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a202072657475726e2066756e6374696f6e286576656e743129207b0a20202020766172206576656e7430203d206578706f7274732e6576656e743b202f2f204576656e74732063616e206265207265656e7472616e742028652e672e2c20666f637573292e0a202020206578706f7274732e6576656e74203d206576656e74313b0a20202020747279207b0a2020202020206c697374656e65722e63616c6c28746869732c20746869732e5f5f646174615f5f2c20696e6465782c2067726f7570293b0a202020207d2066696e616c6c79207b0a2020202020206578706f7274732e6576656e74203d206576656e74303b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061727365547970656e616d6573243128747970656e616d657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a66756e6374696f6e206f6e52656d6f766528747970656e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172206f6e203d20746869732e5f5f6f6e3b0a2020202069662028216f6e292072657475726e3b0a20202020666f722028766172206a203d20302c2069203d202d312c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020696620286f203d206f6e5b6a5d2c202821747970656e616d652e74797065207c7c206f2e74797065203d3d3d20747970656e616d652e7479706529202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020207d20656c7365207b0a20202020202020206f6e5b2b2b695d203d206f3b0a2020202020207d0a202020207d0a20202020696620282b2b6929206f6e2e6c656e677468203d20693b0a20202020656c73652064656c65746520746869732e5f5f6f6e3b0a20207d3b0a7d0a0a66756e6374696f6e206f6e41646428747970656e616d652c2076616c75652c206361707475726529207b0a20207661722077726170203d2066696c7465724576656e74732e6861734f776e50726f706572747928747970656e616d652e7479706529203f2066696c746572436f6e746578744c697374656e6572203a20636f6e746578744c697374656e65723b0a202072657475726e2066756e6374696f6e28642c20692c2067726f757029207b0a20202020766172206f6e203d20746869732e5f5f6f6e2c206f2c206c697374656e6572203d20777261702876616c75652c20692c2067726f7570293b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020202069662028286f203d206f6e5b6a5d292e74797065203d3d3d20747970656e616d652e74797065202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020202020746869732e6164644576656e744c697374656e6572286f2e747970652c206f2e6c697374656e6572203d206c697374656e65722c206f2e63617074757265203d2063617074757265293b0a20202020202020206f2e76616c7565203d2076616c75653b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a20202020746869732e6164644576656e744c697374656e657228747970656e616d652e747970652c206c697374656e65722c2063617074757265293b0a202020206f203d207b747970653a20747970656e616d652e747970652c206e616d653a20747970656e616d652e6e616d652c2076616c75653a2076616c75652c206c697374656e65723a206c697374656e65722c20636170747572653a20636170747572657d3b0a2020202069662028216f6e2920746869732e5f5f6f6e203d205b6f5d3b0a20202020656c7365206f6e2e70757368286f293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f6f6e28747970656e616d652c2076616c75652c206361707475726529207b0a202076617220747970656e616d6573203d207061727365547970656e616d6573243128747970656e616d65202b202222292c20692c206e203d20747970656e616d65732e6c656e6774682c20743b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206f6e203d20746869732e6e6f646528292e5f5f6f6e3b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020666f72202869203d20302c206f203d206f6e5b6a5d3b2069203c206e3b202b2b6929207b0a2020202020202020696620282874203d20747970656e616d65735b695d292e74797065203d3d3d206f2e7479706520262620742e6e616d65203d3d3d206f2e6e616d6529207b0a2020202020202020202072657475726e206f2e76616c75653b0a20202020202020207d0a2020202020207d0a202020207d0a2020202072657475726e3b0a20207d0a0a20206f6e203d2076616c7565203f206f6e416464203a206f6e52656d6f76653b0a20206966202863617074757265203d3d206e756c6c292063617074757265203d2066616c73653b0a2020666f72202869203d20303b2069203c206e3b202b2b692920746869732e65616368286f6e28747970656e616d65735b695d2c2076616c75652c206361707475726529293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20637573746f6d4576656e74286576656e74312c206c697374656e65722c20746861742c206172677329207b0a2020766172206576656e7430203d206578706f7274732e6576656e743b0a20206576656e74312e736f757263654576656e74203d206578706f7274732e6576656e743b0a20206578706f7274732e6576656e74203d206576656e74313b0a2020747279207b0a2020202072657475726e206c697374656e65722e6170706c7928746861742c2061726773293b0a20207d2066696e616c6c79207b0a202020206578706f7274732e6576656e74203d206576656e74303b0a20207d0a7d0a0a66756e6374696f6e2064697370617463684576656e74286e6f64652c20747970652c20706172616d7329207b0a20207661722077696e646f77203d2064656661756c7456696577286e6f6465292c0a2020202020206576656e74203d2077696e646f772e437573746f6d4576656e743b0a0a202069662028747970656f66206576656e74203d3d3d202266756e6374696f6e2229207b0a202020206576656e74203d206e6577206576656e7428747970652c20706172616d73293b0a20207d20656c7365207b0a202020206576656e74203d2077696e646f772e646f63756d656e742e6372656174654576656e7428224576656e7422293b0a2020202069662028706172616d7329206576656e742e696e69744576656e7428747970652c20706172616d732e627562626c65732c20706172616d732e63616e63656c61626c65292c206576656e742e64657461696c203d20706172616d732e64657461696c3b0a20202020656c7365206576656e742e696e69744576656e7428747970652c2066616c73652c2066616c7365293b0a20207d0a0a20206e6f64652e64697370617463684576656e74286576656e74293b0a7d0a0a66756e6374696f6e206469737061746368436f6e7374616e7428747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d73293b0a20207d3b0a7d0a0a66756e6374696f6e20646973706174636846756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d732e6170706c7928746869732c20617267756d656e747329293b0a20207d3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f646973706174636828747970652c20706172616d7329207b0a202072657475726e20746869732e656163682828747970656f6620706172616d73203d3d3d202266756e6374696f6e220a2020202020203f20646973706174636846756e6374696f6e0a2020202020203a206469737061746368436f6e7374616e742928747970652c20706172616d7329293b0a7d0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a66756e6374696f6e2053656c656374696f6e2867726f7570732c20706172656e747329207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a7d0a0a66756e6374696f6e2073656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e285b5b646f63756d656e742e646f63756d656e74456c656d656e745d5d2c20726f6f74293b0a7d0a0a53656c656374696f6e2e70726f746f74797065203d2073656c656374696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2053656c656374696f6e2c0a202073656c6563743a2073656c656374696f6e5f73656c6563742c0a202073656c656374416c6c3a2073656c656374696f6e5f73656c656374416c6c2c0a202066696c7465723a2073656c656374696f6e5f66696c7465722c0a2020646174613a2073656c656374696f6e5f646174612c0a2020656e7465723a2073656c656374696f6e5f656e7465722c0a2020657869743a2073656c656374696f6e5f657869742c0a20206d657267653a2073656c656374696f6e5f6d657267652c0a20206f726465723a2073656c656374696f6e5f6f726465722c0a2020736f72743a2073656c656374696f6e5f736f72742c0a202063616c6c3a2073656c656374696f6e5f63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f6e6f64652c0a202073697a653a2073656c656374696f6e5f73697a652c0a2020656d7074793a2073656c656374696f6e5f656d7074792c0a2020656163683a2073656c656374696f6e5f656163682c0a2020617474723a2073656c656374696f6e5f617474722c0a20207374796c653a2073656c656374696f6e5f7374796c652c0a202070726f70657274793a2073656c656374696f6e5f70726f70657274792c0a2020636c61737365643a2073656c656374696f6e5f636c61737365642c0a2020746578743a2073656c656374696f6e5f746578742c0a202068746d6c3a2073656c656374696f6e5f68746d6c2c0a202072616973653a2073656c656374696f6e5f72616973652c0a20206c6f7765723a2073656c656374696f6e5f6c6f7765722c0a2020617070656e643a2073656c656374696f6e5f617070656e642c0a2020696e736572743a2073656c656374696f6e5f696e736572742c0a202072656d6f76653a2073656c656374696f6e5f72656d6f76652c0a2020636c6f6e653a2073656c656374696f6e5f636c6f6e652c0a2020646174756d3a2073656c656374696f6e5f646174756d2c0a20206f6e3a2073656c656374696f6e5f6f6e2c0a202064697370617463683a2073656c656374696f6e5f64697370617463680a7d3b0a0a66756e6374696f6e2073656c6563742873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b5b646f63756d656e742e717565727953656c6563746f722873656c6563746f72295d5d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b5b73656c6563746f725d5d2c20726f6f74293b0a7d0a0a66756e6374696f6e20637265617465286e616d6529207b0a202072657475726e2073656c6563742863726561746f72286e616d65292e63616c6c28646f63756d656e742e646f63756d656e74456c656d656e7429293b0a7d0a0a766172206e6578744964203d20303b0a0a66756e6374696f6e206c6f63616c2829207b0a202072657475726e206e6577204c6f63616c3b0a7d0a0a66756e6374696f6e204c6f63616c2829207b0a2020746869732e5f203d20224022202b20282b2b6e6578744964292e746f537472696e67283336293b0a7d0a0a4c6f63616c2e70726f746f74797065203d206c6f63616c2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204c6f63616c2c0a20206765743a2066756e6374696f6e286e6f646529207b0a20202020766172206964203d20746869732e5f3b0a202020207768696c6520282128696420696e206e6f64652929206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a2020202072657475726e206e6f64655b69645d3b0a20207d2c0a20207365743a2066756e6374696f6e286e6f64652c2076616c756529207b0a2020202072657475726e206e6f64655b746869732e5f5d203d2076616c75653b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a2020202072657475726e20746869732e5f20696e206e6f64652026262064656c657465206e6f64655b746869732e5f5d3b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a66756e6374696f6e20736f757263654576656e742829207b0a20207661722063757272656e74203d206578706f7274732e6576656e742c20736f757263653b0a20207768696c652028736f75726365203d2063757272656e742e736f757263654576656e74292063757272656e74203d20736f757263653b0a202072657475726e2063757272656e743b0a7d0a0a66756e6374696f6e20706f696e74286e6f64652c206576656e7429207b0a202076617220737667203d206e6f64652e6f776e6572535647456c656d656e74207c7c206e6f64653b0a0a2020696620287376672e637265617465535647506f696e7429207b0a2020202076617220706f696e74203d207376672e637265617465535647506f696e7428293b0a20202020706f696e742e78203d206576656e742e636c69656e74582c20706f696e742e79203d206576656e742e636c69656e74593b0a20202020706f696e74203d20706f696e742e6d61747269785472616e73666f726d286e6f64652e67657453637265656e43544d28292e696e76657273652829293b0a2020202072657475726e205b706f696e742e782c20706f696e742e795d3b0a20207d0a0a20207661722072656374203d206e6f64652e676574426f756e64696e67436c69656e745265637428293b0a202072657475726e205b6576656e742e636c69656e7458202d20726563742e6c656674202d206e6f64652e636c69656e744c6566742c206576656e742e636c69656e7459202d20726563742e746f70202d206e6f64652e636c69656e74546f705d3b0a7d0a0a66756e6374696f6e206d6f757365286e6f646529207b0a2020766172206576656e74203d20736f757263654576656e7428293b0a2020696620286576656e742e6368616e676564546f756368657329206576656e74203d206576656e742e6368616e676564546f75636865735b305d3b0a202072657475726e20706f696e74286e6f64652c206576656e74293b0a7d0a0a66756e6374696f6e2073656c656374416c6c2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72295d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b73656c6563746f72203d3d206e756c6c203f205b5d203a2073656c6563746f725d2c20726f6f74293b0a7d0a0a66756e6374696f6e20746f756368286e6f64652c20746f75636865732c206964656e74696669657229207b0a202069662028617267756d656e74732e6c656e677468203c203329206964656e746966696572203d20746f75636865732c20746f7563686573203d20736f757263654576656e7428292e6368616e676564546f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20746f7563683b2069203c206e3b202b2b6929207b0a202020206966202828746f756368203d20746f75636865735b695d292e6964656e746966696572203d3d3d206964656e74696669657229207b0a20202020202072657475726e20706f696e74286e6f64652c20746f756368293b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e20746f7563686573286e6f64652c20746f756368657329207b0a202069662028746f7563686573203d3d206e756c6c2920746f7563686573203d20736f757263654576656e7428292e746f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20706f696e7473203d206e6577204172726179286e293b2069203c206e3b202b2b6929207b0a20202020706f696e74735b695d203d20706f696e74286e6f64652c20746f75636865735b695d293b0a20207d0a0a202072657475726e20706f696e74733b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e742829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206472616744697361626c65287669657729207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e242431203d2073656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e6f6576656e742c2074727565293b0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2424312e6f6e282273656c65637473746172742e64726167222c206e6f6576656e742c2074727565293b0a20207d20656c7365207b0a20202020726f6f742e5f5f6e6f73656c656374203d20726f6f742e7374796c652e4d6f7a5573657253656c6563743b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20226e6f6e65223b0a20207d0a7d0a0a66756e6374696f6e207965736472616728766965772c206e6f636c69636b29207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e242431203d2073656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e756c6c293b0a2020696620286e6f636c69636b29207b0a2020202073656c656374696f6e2424312e6f6e2822636c69636b2e64726167222c206e6f6576656e742c2074727565293b0a2020202073657454696d656f75742866756e6374696f6e2829207b2073656c656374696f6e2424312e6f6e2822636c69636b2e64726167222c206e756c6c293b207d2c2030293b0a20207d0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2424312e6f6e282273656c65637473746172742e64726167222c206e756c6c293b0a20207d20656c7365207b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20726f6f742e5f5f6e6f73656c6563743b0a2020202064656c65746520726f6f742e5f5f6e6f73656c6563743b0a20207d0a7d0a0a66756e6374696f6e20636f6e7374616e742432287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20447261674576656e74287461726765742c20747970652c207375626a6563742c2069642c206163746976652c20782c20792c2064782c2064792c20646973706174636829207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7375626a656374203d207375626a6563743b0a2020746869732e6964656e746966696572203d2069643b0a2020746869732e616374697665203d206163746976653b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a2020746869732e6478203d2064783b0a2020746869732e6479203d2064793b0a2020746869732e5f203d2064697370617463683b0a7d0a0a447261674576656e742e70726f746f747970652e6f6e203d2066756e6374696f6e2829207b0a20207661722076616c7565203d20746869732e5f2e6f6e2e6170706c7928746869732e5f2c20617267756d656e7473293b0a202072657475726e2076616c7565203d3d3d20746869732e5f203f2074686973203a2076616c75653b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74436f6e7461696e65722829207b0a202072657475726e20746869732e706172656e744e6f64653b0a7d0a0a66756e6374696f6e2064656661756c745375626a656374286429207b0a202072657475726e2064203d3d206e756c6c203f207b783a206578706f7274732e6576656e742e782c20793a206578706f7274732e6576656e742e797d203a20643b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e20647261672829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020636f6e7461696e6572203d2064656661756c74436f6e7461696e65722c0a2020202020207375626a656374203d2064656661756c745375626a6563742c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020206765737475726573203d207b7d2c0a2020202020206c697374656e657273203d20646973706174636828227374617274222c202264726167222c2022656e6422292c0a202020202020616374697665203d20302c0a2020202020206d6f757365646f776e782c0a2020202020206d6f757365646f776e792c0a2020202020206d6f7573656d6f76696e672c0a202020202020746f756368656e64696e672c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e20647261672873656c656374696f6e24243129207b0a2020202073656c656374696f6e2424310a20202020202020202e6f6e28226d6f757365646f776e2e64726167222c206d6f757365646f776e6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e64726167222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e64726167222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e6472616720746f75636863616e63656c2e64726167222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067657374757265203d206265666f7265737461727428226d6f757365222c20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c206d6f7573652c20746869732c20617267756d656e7473293b0a20202020696620282167657374757265292072657475726e3b0a2020202073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e64726167222c206d6f75736575707065642c2074727565293b0a202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a202020206d6f7573656d6f76696e67203d2066616c73653b0a202020206d6f757365646f776e78203d206578706f7274732e6576656e742e636c69656e74583b0a202020206d6f757365646f776e79203d206578706f7274732e6576656e742e636c69656e74593b0a20202020676573747572652822737461727422293b0a20207d0a0a202066756e6374696f6e206d6f7573656d6f7665642829207b0a202020206e6f6576656e7428293b0a2020202069662028216d6f7573656d6f76696e6729207b0a202020202020766172206478203d206578706f7274732e6576656e742e636c69656e7458202d206d6f757365646f776e782c206479203d206578706f7274732e6576656e742e636c69656e7459202d206d6f757365646f776e793b0a2020202020206d6f7573656d6f76696e67203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a202020207d0a2020202067657374757265732e6d6f75736528226472616722293b0a20207d0a0a202066756e6374696f6e206d6f75736575707065642829207b0a2020202073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167206d6f75736575702e64726167222c206e756c6c293b0a2020202079657364726167286578706f7274732e6576656e742e766965772c206d6f7573656d6f76696e67293b0a202020206e6f6576656e7428293b0a2020202067657374757265732e6d6f7573652822656e6422293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a202020202020202063203d20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d206265666f7265737461727428746f75636865732424315b695d2e6964656e7469666965722c20632c20746f7563682c20746869732c20617267756d656e74732929207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822737461727422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865732424315b695d2e6964656e7469666965725d29207b0a20202020202020206e6f6576656e7428293b0a20202020202020206765737475726528226472616722293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a2020202076617220746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20676573747572653b0a0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865732424315b695d2e6964656e7469666965725d29207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822656e6422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206265666f726573746172742869642c20636f6e7461696e65722c20706f696e742424312c20746861742c206172677329207b0a202020207661722070203d20706f696e7424243128636f6e7461696e65722c206964292c20732c2064782c2064792c0a20202020202020207375626c697374656e657273203d206c697374656e6572732e636f707928293b0a0a202020206966202821637573746f6d4576656e74286e657720447261674576656e7428647261672c20226265666f72657374617274222c20732c2069642c206163746976652c20705b305d2c20705b315d2c20302c20302c207375626c697374656e657273292c2066756e6374696f6e2829207b0a20202020202069662028286578706f7274732e6576656e742e7375626a656374203d2073203d207375626a6563742e6170706c7928746861742c20617267732929203d3d206e756c6c292072657475726e2066616c73653b0a2020202020206478203d20732e78202d20705b305d207c7c20303b0a2020202020206479203d20732e79202d20705b315d207c7c20303b0a20202020202072657475726e20747275653b0a202020207d29292072657475726e3b0a0a2020202072657475726e2066756e6374696f6e2067657374757265287479706529207b0a202020202020766172207030203d20702c206e3b0a20202020202073776974636820287479706529207b0a20202020202020206361736520227374617274223a2067657374757265735b69645d203d20676573747572652c206e203d206163746976652b2b3b20627265616b3b0a2020202020202020636173652022656e64223a2064656c6574652067657374757265735b69645d2c202d2d6163746976653b202f2f206e6f627265616b0a202020202020202063617365202264726167223a2070203d20706f696e7424243128636f6e7461696e65722c206964292c206e203d206163746976653b20627265616b3b0a2020202020207d0a202020202020637573746f6d4576656e74286e657720447261674576656e7428647261672c20747970652c20732c2069642c206e2c20705b305d202b2064782c20705b315d202b2064792c20705b305d202d2070305b305d2c20705b315d202d2070305b315d2c207375626c697374656e657273292c207375626c697374656e6572732e6170706c792c207375626c697374656e6572732c205b747970652c20746861742c20617267735d293b0a202020207d3b0a20207d0a0a2020647261672e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424322821215f292c206472616729203a2066696c7465723b0a20207d3b0a0a2020647261672e636f6e7461696e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e7461696e6572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742432285f292c206472616729203a20636f6e7461696e65723b0a20207d3b0a0a2020647261672e7375626a656374203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287375626a656374203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742432285f292c206472616729203a207375626a6563743b0a20207d3b0a0a2020647261672e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424322821215f292c206472616729203a20746f75636861626c653b0a20207d3b0a0a2020647261672e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f2064726167203a2076616c75653b0a20207d3b0a0a2020647261672e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c206472616729203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e20647261673b0a7d0a0a66756e6374696f6e20646566696e6528636f6e7374727563746f722c20666163746f72792c2070726f746f7479706529207b0a2020636f6e7374727563746f722e70726f746f74797065203d20666163746f72792e70726f746f74797065203d2070726f746f747970653b0a202070726f746f747970652e636f6e7374727563746f72203d20636f6e7374727563746f723b0a7d0a0a66756e6374696f6e20657874656e6428706172656e742c20646566696e6974696f6e29207b0a20207661722070726f746f74797065203d204f626a6563742e63726561746528706172656e742e70726f746f74797065293b0a2020666f722028766172206b657920696e20646566696e6974696f6e292070726f746f747970655b6b65795d203d20646566696e6974696f6e5b6b65795d3b0a202072657475726e2070726f746f747970653b0a7d0a0a66756e6374696f6e20436f6c6f722829207b7d0a0a766172206461726b6572203d20302e373b0a766172206272696768746572203d2031202f206461726b65723b0a0a76617220726549203d20225c5c732a285b2b2d5d3f5c5c642b295c5c732a222c0a2020202072654e203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f295c5c732a222c0a20202020726550203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f29255c5c732a222c0a20202020726548657833203d202f5e23285b302d39612d665d7b337d29242f2c0a20202020726548657836203d202f5e23285b302d39612d665d7b367d29242f2c0a202020207265526762496e7465676572203d206e65772052656745787028225e7267625c5c2822202b205b7265492c207265492c207265495d202b20225c5c292422292c0a20202020726552676250657263656e74203d206e65772052656745787028225e7267625c5c2822202b205b7265502c207265502c207265505d202b20225c5c292422292c0a20202020726552676261496e7465676572203d206e65772052656745787028225e726762615c5c2822202b205b7265492c207265492c207265492c2072654e5d202b20225c5c292422292c0a2020202072655267626150657263656e74203d206e65772052656745787028225e726762615c5c2822202b205b7265502c207265502c207265502c2072654e5d202b20225c5c292422292c0a20202020726548736c50657263656e74203d206e65772052656745787028225e68736c5c5c2822202b205b72654e2c207265502c207265505d202b20225c5c292422292c0a20202020726548736c6150657263656e74203d206e65772052656745787028225e68736c615c5c2822202b205b72654e2c207265502c207265502c2072654e5d202b20225c5c292422293b0a0a766172206e616d6564203d207b0a2020616c696365626c75653a2030786630663866662c0a2020616e746971756577686974653a2030786661656264372c0a2020617175613a2030783030666666662c0a2020617175616d6172696e653a2030783766666664342c0a2020617a7572653a2030786630666666662c0a202062656967653a2030786635663564632c0a20206269737175653a2030786666653463342c0a2020626c61636b3a2030783030303030302c0a2020626c616e63686564616c6d6f6e643a2030786666656263642c0a2020626c75653a2030783030303066662c0a2020626c756576696f6c65743a2030783861326265322c0a202062726f776e3a2030786135326132612c0a20206275726c79776f6f643a2030786465623838372c0a20206361646574626c75653a2030783566396561302c0a2020636861727472657573653a2030783766666630302c0a202063686f636f6c6174653a2030786432363931652c0a2020636f72616c3a2030786666376635302c0a2020636f726e666c6f776572626c75653a2030783634393565642c0a2020636f726e73696c6b3a2030786666663864632c0a20206372696d736f6e3a2030786463313433632c0a20206379616e3a2030783030666666662c0a20206461726b626c75653a2030783030303038622c0a20206461726b6379616e3a2030783030386238622c0a20206461726b676f6c64656e726f643a2030786238383630622c0a20206461726b677261793a2030786139613961392c0a20206461726b677265656e3a2030783030363430302c0a20206461726b677265793a2030786139613961392c0a20206461726b6b68616b693a2030786264623736622c0a20206461726b6d6167656e74613a2030783862303038622c0a20206461726b6f6c697665677265656e3a2030783535366232662c0a20206461726b6f72616e67653a2030786666386330302c0a20206461726b6f72636869643a2030783939333263632c0a20206461726b7265643a2030783862303030302c0a20206461726b73616c6d6f6e3a2030786539393637612c0a20206461726b736561677265656e3a2030783866626338662c0a20206461726b736c617465626c75653a2030783438336438622c0a20206461726b736c617465677261793a2030783266346634662c0a20206461726b736c617465677265793a2030783266346634662c0a20206461726b74757271756f6973653a2030783030636564312c0a20206461726b76696f6c65743a2030783934303064332c0a20206465657070696e6b3a2030786666313439332c0a202064656570736b79626c75653a2030783030626666662c0a202064696d677261793a2030783639363936392c0a202064696d677265793a2030783639363936392c0a2020646f64676572626c75653a2030783165393066662c0a202066697265627269636b3a2030786232323232322c0a2020666c6f72616c77686974653a2030786666666166302c0a2020666f72657374677265656e3a2030783232386232322c0a2020667563687369613a2030786666303066662c0a20206761696e73626f726f3a2030786463646364632c0a202067686f737477686974653a2030786638663866662c0a2020676f6c643a2030786666643730302c0a2020676f6c64656e726f643a2030786461613532302c0a2020677261793a2030783830383038302c0a2020677265656e3a2030783030383030302c0a2020677265656e79656c6c6f773a2030786164666632662c0a2020677265793a2030783830383038302c0a2020686f6e65796465773a2030786630666666302c0a2020686f7470696e6b3a2030786666363962342c0a2020696e6469616e7265643a2030786364356335632c0a2020696e6469676f3a2030783462303038322c0a202069766f72793a2030786666666666302c0a20206b68616b693a2030786630653638632c0a20206c6176656e6465723a2030786536653666612c0a20206c6176656e646572626c7573683a2030786666663066352c0a20206c61776e677265656e3a2030783763666330302c0a20206c656d6f6e63686966666f6e3a2030786666666163642c0a20206c69676874626c75653a2030786164643865362c0a20206c69676874636f72616c3a2030786630383038302c0a20206c696768746379616e3a2030786530666666662c0a20206c69676874676f6c64656e726f6479656c6c6f773a2030786661666164322c0a20206c69676874677261793a2030786433643364332c0a20206c69676874677265656e3a2030783930656539302c0a20206c69676874677265793a2030786433643364332c0a20206c6967687470696e6b3a2030786666623663312c0a20206c6967687473616c6d6f6e3a2030786666613037612c0a20206c69676874736561677265656e3a2030783230623261612c0a20206c69676874736b79626c75653a2030783837636566612c0a20206c69676874736c617465677261793a2030783737383839392c0a20206c69676874736c617465677265793a2030783737383839392c0a20206c69676874737465656c626c75653a2030786230633464652c0a20206c6967687479656c6c6f773a2030786666666665302c0a20206c696d653a2030783030666630302c0a20206c696d65677265656e3a2030783332636433322c0a20206c696e656e3a2030786661663065362c0a20206d6167656e74613a2030786666303066662c0a20206d61726f6f6e3a2030783830303030302c0a20206d656469756d617175616d6172696e653a2030783636636461612c0a20206d656469756d626c75653a2030783030303063642c0a20206d656469756d6f72636869643a2030786261353564332c0a20206d656469756d707572706c653a2030783933373064622c0a20206d656469756d736561677265656e3a2030783363623337312c0a20206d656469756d736c617465626c75653a2030783762363865652c0a20206d656469756d737072696e67677265656e3a2030783030666139612c0a20206d656469756d74757271756f6973653a2030783438643163632c0a20206d656469756d76696f6c65747265643a2030786337313538352c0a20206d69646e69676874626c75653a2030783139313937302c0a20206d696e74637265616d3a2030786635666666612c0a20206d69737479726f73653a2030786666653465312c0a20206d6f63636173696e3a2030786666653462352c0a20206e6176616a6f77686974653a2030786666646561642c0a20206e6176793a2030783030303038302c0a20206f6c646c6163653a2030786664663565362c0a20206f6c6976653a2030783830383030302c0a20206f6c697665647261623a2030783662386532332c0a20206f72616e67653a2030786666613530302c0a20206f72616e67657265643a2030786666343530302c0a20206f72636869643a2030786461373064362c0a202070616c65676f6c64656e726f643a2030786565653861612c0a202070616c65677265656e3a2030783938666239382c0a202070616c6574757271756f6973653a2030786166656565652c0a202070616c6576696f6c65747265643a2030786462373039332c0a2020706170617961776869703a2030786666656664352c0a20207065616368707566663a2030786666646162392c0a2020706572753a2030786364383533662c0a202070696e6b3a2030786666633063622c0a2020706c756d3a2030786464613064642c0a2020706f77646572626c75653a2030786230653065362c0a2020707572706c653a2030783830303038302c0a202072656265636361707572706c653a2030783636333339392c0a20207265643a2030786666303030302c0a2020726f737962726f776e3a2030786263386638662c0a2020726f79616c626c75653a2030783431363965312c0a2020736164646c6562726f776e3a2030783862343531332c0a202073616c6d6f6e3a2030786661383037322c0a202073616e647962726f776e3a2030786634613436302c0a2020736561677265656e3a2030783265386235372c0a20207365617368656c6c3a2030786666663565652c0a20207369656e6e613a2030786130353232642c0a202073696c7665723a2030786330633063302c0a2020736b79626c75653a2030783837636565622c0a2020736c617465626c75653a2030783661356163642c0a2020736c617465677261793a2030783730383039302c0a2020736c617465677265793a2030783730383039302c0a2020736e6f773a2030786666666166612c0a2020737072696e67677265656e3a2030783030666637662c0a2020737465656c626c75653a2030783436383262342c0a202074616e3a2030786432623438632c0a20207465616c3a2030783030383038302c0a202074686973746c653a2030786438626664382c0a2020746f6d61746f3a2030786666363334372c0a202074757271756f6973653a2030783430653064302c0a202076696f6c65743a2030786565383265652c0a202077686561743a2030786635646562332c0a202077686974653a2030786666666666662c0a20207768697465736d6f6b653a2030786635663566352c0a202079656c6c6f773a2030786666666630302c0a202079656c6c6f77677265656e3a2030783961636433320a7d3b0a0a646566696e6528436f6c6f722c20636f6c6f722c207b0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e646973706c617961626c6528293b0a20207d2c0a20206865783a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e68657828293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e7267622829202b2022223b0a20207d0a7d293b0a0a66756e6374696f6e20636f6c6f7228666f726d617429207b0a2020766172206d3b0a2020666f726d6174203d2028666f726d6174202b202222292e7472696d28292e746f4c6f7765724361736528293b0a202072657475726e20286d203d207265486578332e6578656328666f726d61742929203f20286d203d207061727365496e74286d5b315d2c203136292c206e65772052676228286d203e3e203820262030786629207c20286d203e3e20342026203078306630292c20286d203e3e203420262030786629207c20286d20262030786630292c2028286d20262030786629203c3c203429207c20286d202620307866292c20312929202f2f20236630300a2020202020203a20286d203d207265486578362e6578656328666f726d61742929203f207267626e287061727365496e74286d5b315d2c2031362929202f2f20236666303030300a2020202020203a20286d203d207265526762496e74656765722e6578656328666f726d61742929203f206e657720526762286d5b315d2c206d5b325d2c206d5b335d2c203129202f2f20726762283235352c20302c2030290a2020202020203a20286d203d20726552676250657263656e742e6578656328666f726d61742929203f206e657720526762286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c203129202f2f2072676228313030252c2030252c203025290a2020202020203a20286d203d20726552676261496e74656765722e6578656328666f726d61742929203f2072676261286d5b315d2c206d5b325d2c206d5b335d2c206d5b345d29202f2f2072676261283235352c20302c20302c2031290a2020202020203a20286d203d2072655267626150657263656e742e6578656328666f726d61742929203f2072676261286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c206d5b345d29202f2f2072676228313030252c2030252c2030252c2031290a2020202020203a20286d203d20726548736c50657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c203129202f2f2068736c283132302c203530252c20353025290a2020202020203a20286d203d20726548736c6150657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c206d5b345d29202f2f2068736c61283132302c203530252c203530252c2031290a2020202020203a206e616d65642e6861734f776e50726f706572747928666f726d617429203f207267626e286e616d65645b666f726d61745d290a2020202020203a20666f726d6174203d3d3d20227472616e73706172656e7422203f206e657720526762284e614e2c204e614e2c204e614e2c2030290a2020202020203a206e756c6c3b0a7d0a0a66756e6374696f6e207267626e286e29207b0a202072657475726e206e657720526762286e203e3e203136202620307866662c206e203e3e2038202620307866662c206e202620307866662c2031293b0a7d0a0a66756e6374696f6e207267626128722c20672c20622c206129207b0a20206966202861203c3d2030292072203d2067203d2062203d204e614e3b0a202072657475726e206e65772052676228722c20672c20622c2061293b0a7d0a0a66756e6374696f6e20726762436f6e76657274286f29207b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e6577205267623b0a20206f203d206f2e72676228293b0a202072657475726e206e657720526762286f2e722c206f2e672c206f2e622c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2072676228722c20672c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f20726762436f6e76657274287229203a206e65772052676228722c20672c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2052676228722c20672c20622c206f70616369747929207b0a2020746869732e72203d202b723b0a2020746869732e67203d202b673b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65285267622c207267622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e20746869733b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7220262620746869732e72203c3d20323535290a20202020202020202626202830203c3d20746869732e6720262620746869732e67203c3d20323535290a20202020202020202626202830203c3d20746869732e6220262620746869732e62203c3d20323535290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d2c0a20206865783a2066756e6374696f6e2829207b0a2020202072657475726e20222322202b2068657828746869732e7229202b2068657828746869732e6729202b2068657828746869732e62293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a202020207661722061203d20746869732e6f7061636974793b2061203d2069734e614e286129203f2031203a204d6174682e6d617828302c204d6174682e6d696e28312c206129293b0a2020202072657475726e202861203d3d3d2031203f20227267622822203a2022726762612822290a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e7229207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6729207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6229207c7c203029290a20202020202020202b202861203d3d3d2031203f20222922203a20222c2022202b2061202b20222922293b0a20207d0a7d29293b0a0a66756e6374696f6e206865782876616c756529207b0a202076616c7565203d204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e642876616c756529207c7c203029293b0a202072657475726e202876616c7565203c203136203f20223022203a20222229202b2076616c75652e746f537472696e67283136293b0a7d0a0a66756e6374696f6e2068736c6128682c20732c206c2c206129207b0a20206966202861203c3d2030292068203d2073203d206c203d204e614e3b0a2020656c736520696620286c203c3d2030207c7c206c203e3d2031292068203d2073203d204e614e3b0a2020656c7365206966202873203c3d2030292068203d204e614e3b0a202072657475726e206e65772048736c28682c20732c206c2c2061293b0a7d0a0a66756e6374696f6e2068736c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206e65772048736c286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e65772048736c3b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206f3b0a20206f203d206f2e72676228293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206d696e203d204d6174682e6d696e28722c20672c2062292c0a2020202020206d6178203d204d6174682e6d617828722c20672c2062292c0a20202020202068203d204e614e2c0a20202020202073203d206d6178202d206d696e2c0a2020202020206c203d20286d6178202b206d696e29202f20323b0a2020696620287329207b0a202020206966202872203d3d3d206d6178292068203d202867202d206229202f2073202b202867203c206229202a20363b0a20202020656c7365206966202867203d3d3d206d6178292068203d202862202d207229202f2073202b20323b0a20202020656c73652068203d202872202d206729202f2073202b20343b0a2020202073202f3d206c203c20302e35203f206d6178202b206d696e203a2032202d206d6178202d206d696e3b0a2020202068202a3d2036303b0a20207d20656c7365207b0a2020202073203d206c203e2030202626206c203c2031203f2030203a20683b0a20207d0a202072657475726e206e65772048736c28682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068736c28682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068736c436f6e76657274286829203a206e65772048736c28682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048736c28682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848736c2c2068736c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d20746869732e68202520333630202b2028746869732e68203c203029202a203336302c0a202020202020202073203d2069734e614e286829207c7c2069734e614e28746869732e7329203f2030203a20746869732e732c0a20202020202020206c203d20746869732e6c2c0a20202020202020206d32203d206c202b20286c203c20302e35203f206c203a2031202d206c29202a20732c0a20202020202020206d31203d2032202a206c202d206d323b0a2020202072657475726e206e657720526762280a20202020202068736c327267622868203e3d20323430203f2068202d20323430203a2068202b203132302c206d312c206d32292c0a20202020202068736c3272676228682c206d312c206d32292c0a20202020202068736c327267622868203c20313230203f2068202b20323430203a2068202d203132302c206d312c206d32292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7320262620746869732e73203c3d2031207c7c2069734e614e28746869732e7329290a20202020202020202626202830203c3d20746869732e6c20262620746869732e6c203c3d2031290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d0a7d29293b0a0a2f2a2046726f6d204676442031332e33372c2043535320436f6c6f72204d6f64756c65204c6576656c2033202a2f0a66756e6374696f6e2068736c3272676228682c206d312c206d3229207b0a202072657475726e202868203c203630203f206d31202b20286d32202d206d3129202a2068202f2036300a2020202020203a2068203c20313830203f206d320a2020202020203a2068203c20323430203f206d31202b20286d32202d206d3129202a2028323430202d206829202f2036300a2020202020203a206d3129202a203235353b0a7d0a0a7661722064656732726164203d204d6174682e5049202f203138303b0a7661722072616432646567203d20313830202f204d6174682e50493b0a0a2f2f2068747470733a2f2f626574612e6f627365727661626c6568712e636f6d2f406d626f73746f636b2f6c61622d616e642d7267620a766172204b203d2031382c0a20202020586e203d20302e39363432322c0a20202020596e203d20312c0a202020205a6e203d20302e38323532312c0a202020207430203d2034202f2032392c0a202020207431203d2036202f2032392c0a202020207432203d2033202a207431202a2074312c0a202020207433203d207431202a207431202a2074313b0a0a66756e6374696f6e206c6162436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204c6162292072657475726e206e6577204c6162286f2e6c2c206f2e612c206f2e622c206f2e6f706163697479293b0a2020696620286f20696e7374616e63656f662048636c29207b0a202020206966202869734e614e286f2e6829292072657475726e206e6577204c6162286f2e6c2c20302c20302c206f2e6f706163697479293b0a202020207661722068203d206f2e68202a20646567327261643b0a2020202072657475726e206e6577204c6162286f2e6c2c204d6174682e636f73286829202a206f2e632c204d6174682e73696e286829202a206f2e632c206f2e6f706163697479293b0a20207d0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d20726762326c726762286f2e72292c0a20202020202067203d20726762326c726762286f2e67292c0a20202020202062203d20726762326c726762286f2e62292c0a20202020202079203d2078797a326c61622828302e32323235303435202a2072202b20302e37313638373836202a2067202b20302e30363036313639202a206229202f20596e292c20782c207a3b0a20206966202872203d3d3d20672026262067203d3d3d2062292078203d207a203d20793b20656c7365207b0a2020202078203d2078797a326c61622828302e34333630373437202a2072202b20302e33383530363439202a2067202b20302e31343330383034202a206229202f20586e293b0a202020207a203d2078797a326c61622828302e30313339333232202a2072202b20302e30393731303435202a2067202b20302e37313431373333202a206229202f205a6e293b0a20207d0a202072657475726e206e6577204c616228313136202a2079202d2031362c20353030202a202878202d2079292c20323030202a202879202d207a292c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2067726179286c2c206f70616369747929207b0a202072657475726e206e6577204c6162286c2c20302c20302c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e206c6162286c2c20612c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206c6162436f6e76657274286c29203a206e6577204c6162286c2c20612c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204c6162286c2c20612c20622c206f70616369747929207b0a2020746869732e6c203d202b6c3b0a2020746869732e61203d202b613b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284c61622c206c61622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202b204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202d204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722079203d2028746869732e6c202b20313629202f203131362c0a202020202020202078203d2069734e614e28746869732e6129203f2079203a2079202b20746869732e61202f203530302c0a20202020202020207a203d2069734e614e28746869732e6229203f2079203a2079202d20746869732e62202f203230303b0a2020202078203d20586e202a206c61623278797a2878293b0a2020202079203d20596e202a206c61623278797a2879293b0a202020207a203d205a6e202a206c61623278797a287a293b0a2020202072657475726e206e657720526762280a2020202020206c726762327267622820332e31333338353631202a2078202d20312e36313638363637202a2079202d20302e34393036313436202a207a292c0a2020202020206c72676232726762282d302e39373837363834202a2078202b20312e39313631343135202a2079202b20302e30333334353430202a207a292c0a2020202020206c726762327267622820302e30373139343533202a2078202d20302e32323839393134202a2079202b20312e34303532343237202a207a292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2078797a326c6162287429207b0a202072657475726e2074203e207433203f204d6174682e706f7728742c2031202f203329203a2074202f207432202b2074303b0a7d0a0a66756e6374696f6e206c61623278797a287429207b0a202072657475726e2074203e207431203f2074202a2074202a2074203a207432202a202874202d207430293b0a7d0a0a66756e6374696f6e206c72676232726762287829207b0a202072657475726e20323535202a202878203c3d20302e30303331333038203f2031322e3932202a2078203a20312e303535202a204d6174682e706f7728782c2031202f20322e3429202d20302e303535293b0a7d0a0a66756e6374696f6e20726762326c726762287829207b0a202072657475726e202878202f3d2032353529203c3d20302e3034303435203f2078202f2031322e3932203a204d6174682e706f77282878202b20302e30353529202f20312e3035352c20322e34293b0a7d0a0a66756e6374696f6e2068636c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048636c292072657475726e206e65772048636c286f2e682c206f2e632c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66204c61622929206f203d206c6162436f6e76657274286f293b0a2020696620286f2e61203d3d3d2030202626206f2e62203d3d3d2030292072657475726e206e65772048636c284e614e2c20302c206f2e6c2c206f2e6f706163697479293b0a20207661722068203d204d6174682e6174616e32286f2e622c206f2e6129202a20726164326465673b0a202072657475726e206e65772048636c2868203c2030203f2068202b20333630203a20682c204d6174682e73717274286f2e61202a206f2e61202b206f2e62202a206f2e62292c206f2e6c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206c6368286c2c20632c20682c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286c29203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2068636c28682c20632c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286829203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048636c28682c20632c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e63203d202b633b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848636c2c2068636c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202b204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202d204b202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e206c6162436f6e766572742874686973292e72676228293b0a20207d0a7d29293b0a0a7661722041203d202d302e31343836312c0a2020202042203d202b312e37383237372c0a2020202043203d202d302e32393232372c0a2020202044203d202d302e39303634392c0a2020202045203d202b312e39373239342c0a202020204544203d2045202a20442c0a202020204542203d2045202a20422c0a2020202042435f4441203d2042202a2043202d2044202a20413b0a0a66756e6374696f6e206375626568656c6978436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204375626568656c6978292072657475726e206e6577204375626568656c6978286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206c203d202842435f4441202a2062202b204544202a2072202d204542202a206729202f202842435f4441202b204544202d204542292c0a202020202020626c203d2062202d206c2c0a2020202020206b203d202845202a202867202d206c29202d2043202a20626c29202f20442c0a20202020202073203d204d6174682e73717274286b202a206b202b20626c202a20626c29202f202845202a206c202a202831202d206c29292c202f2f204e614e206966206c3d30206f72206c3d310a20202020202068203d2073203f204d6174682e6174616e32286b2c20626c29202a2072616432646567202d20313230203a204e614e3b0a202072657475726e206e6577204375626568656c69782868203c2030203f2068202b20333630203a20682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206375626568656c697828682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206375626568656c6978436f6e76657274286829203a206e6577204375626568656c697828682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204375626568656c697828682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284375626568656c69782c206375626568656c69782c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d2069734e614e28746869732e6829203f2030203a2028746869732e68202b2031323029202a20646567327261642c0a20202020202020206c203d202b746869732e6c2c0a202020202020202061203d2069734e614e28746869732e7329203f2030203a20746869732e73202a206c202a202831202d206c292c0a2020202020202020636f7368203d204d6174682e636f732868292c0a202020202020202073696e68203d204d6174682e73696e2868293b0a2020202072657475726e206e657720526762280a202020202020323535202a20286c202b2061202a202841202a20636f7368202b2042202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202843202a20636f7368202b2044202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202845202a20636f736829292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2062617369732874312c2076302c2076312c2076322c20763329207b0a2020766172207432203d207431202a2074312c207433203d207432202a2074313b0a202072657475726e20282831202d2033202a207431202b2033202a207432202d20743329202a2076300a2020202020202b202834202d2036202a207432202b2033202a20743329202a2076310a2020202020202b202831202b2033202a207431202b2033202a207432202d2033202a20743329202a2076320a2020202020202b207433202a20763329202f20363b0a7d0a0a66756e6374696f6e20626173697324312876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e677468202d20313b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d2074203c3d2030203f202874203d203029203a2074203e3d2031203f202874203d20312c206e202d203129203a204d6174682e666c6f6f722874202a206e292c0a20202020202020207631203d2076616c7565735b695d2c0a20202020202020207632203d2076616c7565735b69202b20315d2c0a20202020202020207630203d2069203e2030203f2076616c7565735b69202d20315d203a2032202a207631202d2076322c0a20202020202020207633203d2069203c206e202d2031203f2076616c7565735b69202b20325d203a2032202a207632202d2076313b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d0a0a66756e6374696f6e206261736973436c6f7365642876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e666c6f6f722828287420253d203129203c2030203f202b2b74203a207429202a206e292c0a20202020202020207630203d2076616c7565735b2869202b206e202d2031292025206e5d2c0a20202020202020207631203d2076616c7565735b692025206e5d2c0a20202020202020207632203d2076616c7565735b2869202b2031292025206e5d2c0a20202020202020207633203d2076616c7565735b2869202b2032292025206e5d3b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e7374616e742433287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206c696e65617228612c206429207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2061202b2074202a20643b0a20207d3b0a7d0a0a66756e6374696f6e206578706f6e656e7469616c28612c20622c207929207b0a202072657475726e2061203d204d6174682e706f7728612c2079292c2062203d204d6174682e706f7728622c207929202d20612c2079203d2031202f20792c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e706f772861202b2074202a20622c2079293b0a20207d3b0a7d0a0a66756e6374696f6e2068756528612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c2064203e20313830207c7c2064203c202d313830203f2064202d20333630202a204d6174682e726f756e642864202f2033363029203a206429203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a7d0a0a66756e6374696f6e2067616d6d61287929207b0a202072657475726e202879203d202b7929203d3d3d2031203f206e6f67616d6d61203a2066756e6374696f6e28612c206229207b0a2020202072657475726e2062202d2061203f206578706f6e656e7469616c28612c20622c207929203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a20207d3b0a7d0a0a66756e6374696f6e206e6f67616d6d6128612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c206429203a20636f6e7374616e7424332869734e614e286129203f2062203a2061293b0a7d0a0a76617220696e746572706f6c617465526762203d202866756e6374696f6e2072676247616d6d61287929207b0a202076617220636f6c6f72242431203d2067616d6d612879293b0a0a202066756e6374696f6e207267622424312873746172742c20656e6429207b0a202020207661722072203d20636f6c6f7224243128287374617274203d2072676228737461727429292e722c2028656e64203d2072676228656e6429292e72292c0a202020202020202067203d20636f6c6f722424312873746172742e672c20656e642e67292c0a202020202020202062203d20636f6c6f722424312873746172742e622c20656e642e62292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e72203d20722874293b0a20202020202073746172742e67203d20672874293b0a20202020202073746172742e62203d20622874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a0a20207267622424312e67616d6d61203d2072676247616d6d613b0a0a202072657475726e207267622424313b0a7d292831293b0a0a66756e6374696f6e2072676253706c696e652873706c696e6529207b0a202072657475726e2066756e6374696f6e28636f6c6f727329207b0a20202020766172206e203d20636f6c6f72732e6c656e6774682c0a202020202020202072203d206e6577204172726179286e292c0a202020202020202067203d206e6577204172726179286e292c0a202020202020202062203d206e6577204172726179286e292c0a2020202020202020692c20636f6c6f722424313b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020636f6c6f72242431203d2072676228636f6c6f72735b695d293b0a202020202020725b695d203d20636f6c6f722424312e72207c7c20303b0a202020202020675b695d203d20636f6c6f722424312e67207c7c20303b0a202020202020625b695d203d20636f6c6f722424312e62207c7c20303b0a202020207d0a2020202072203d2073706c696e652872293b0a2020202067203d2073706c696e652867293b0a2020202062203d2073706c696e652862293b0a20202020636f6c6f722424312e6f706163697479203d20313b0a2020202072657475726e2066756e6374696f6e287429207b0a202020202020636f6c6f722424312e72203d20722874293b0a202020202020636f6c6f722424312e67203d20672874293b0a202020202020636f6c6f722424312e62203d20622874293b0a20202020202072657475726e20636f6c6f72242431202b2022223b0a202020207d3b0a20207d3b0a7d0a0a766172207267624261736973203d2072676253706c696e652862617369732431293b0a766172207267624261736973436c6f736564203d2072676253706c696e65286261736973436c6f736564293b0a0a66756e6374696f6e206172726179243128612c206229207b0a2020766172206e62203d2062203f20622e6c656e677468203a20302c0a2020202020206e61203d2061203f204d6174682e6d696e286e622c20612e6c656e67746829203a20302c0a20202020202078203d206e6577204172726179286e61292c0a20202020202063203d206e6577204172726179286e62292c0a202020202020693b0a0a2020666f72202869203d20303b2069203c206e613b202b2b692920785b695d203d20696e746572706f6c61746556616c756528615b695d2c20625b695d293b0a2020666f7220283b2069203c206e623b202b2b692920635b695d203d20625b695d3b0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f72202869203d20303b2069203c206e613b202b2b692920635b695d203d20785b695d2874293b0a2020202072657475726e20633b0a20207d3b0a7d0a0a66756e6374696f6e206461746528612c206229207b0a20207661722064203d206e657720446174653b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e20642e73657454696d652861202b2062202a2074292c20643b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c61746528612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e2061202b2062202a20743b0a20207d3b0a7d0a0a66756e6374696f6e206f626a65637428612c206229207b0a20207661722069203d207b7d2c0a20202020202063203d207b7d2c0a2020202020206b3b0a0a20206966202861203d3d3d206e756c6c207c7c20747970656f66206120213d3d20226f626a65637422292061203d207b7d3b0a20206966202862203d3d3d206e756c6c207c7c20747970656f66206220213d3d20226f626a65637422292062203d207b7d3b0a0a2020666f7220286b20696e206229207b0a20202020696620286b20696e206129207b0a202020202020695b6b5d203d20696e746572706f6c61746556616c756528615b6b5d2c20625b6b5d293b0a202020207d20656c7365207b0a202020202020635b6b5d203d20625b6b5d3b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f7220286b20696e20692920635b6b5d203d20695b6b5d2874293b0a2020202072657475726e20633b0a20207d3b0a7d0a0a76617220726541203d202f5b2d2b5d3f283f3a5c642b5c2e3f5c642a7c5c2e3f5c642b29283f3a5b65455d5b2d2b5d3f5c642b293f2f672c0a20202020726542203d206e657720526567457870287265412e736f757263652c20226722293b0a0a66756e6374696f6e207a65726f286229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20623b0a20207d3b0a7d0a0a66756e6374696f6e206f6e65286229207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2062287429202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e20696e746572706f6c617465537472696e6728612c206229207b0a2020766172206269203d207265412e6c617374496e646578203d207265422e6c617374496e646578203d20302c202f2f207363616e20696e64657820666f72206e657874206e756d62657220696e20620a202020202020616d2c202f2f2063757272656e74206d6174636820696e20610a202020202020626d2c202f2f2063757272656e74206d6174636820696e20620a20202020202062732c202f2f20737472696e6720707265636564696e672063757272656e74206e756d62657220696e20622c20696620616e790a20202020202069203d202d312c202f2f20696e64657820696e20730a20202020202073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a20202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a0a20202f2f20436f6572636520696e7075747320746f20737472696e67732e0a202061203d2061202b2022222c2062203d2062202b2022223b0a0a20202f2f20496e746572706f6c617465207061697273206f66206e756d6265727320696e2061202620622e0a20207768696c65202828616d203d207265412e65786563286129290a20202020202026262028626d203d207265422e657865632862292929207b0a2020202069662028286273203d20626d2e696e64657829203e20626929207b202f2f206120737472696e6720707265636564657320746865206e657874206e756d62657220696e20620a2020202020206273203d20622e736c6963652862692c206273293b0a20202020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d2062733b0a202020207d0a202020206966202828616d203d20616d5b305d29203d3d3d2028626d203d20626d5b305d2929207b202f2f206e756d6265727320696e206120262062206d617463680a20202020202069662028735b695d2920735b695d202b3d20626d3b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d20626d3b0a202020207d20656c7365207b202f2f20696e746572706f6c617465206e6f6e2d6d61746368696e67206e756d626572730a202020202020735b2b2b695d203d206e756c6c3b0a202020202020712e70757368287b693a20692c20783a207265696e746572706f6c61746528616d2c20626d297d293b0a202020207d0a202020206269203d207265422e6c617374496e6465783b0a20207d0a0a20202f2f204164642072656d61696e73206f6620622e0a2020696620286269203c20622e6c656e67746829207b0a202020206273203d20622e736c696365286269293b0a2020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a20202020656c736520735b2b2b695d203d2062733b0a20207d0a0a20202f2f205370656369616c206f7074696d697a6174696f6e20666f72206f6e6c7920612073696e676c65206d617463682e0a20202f2f204f74686572776973652c20696e746572706f6c6174652065616368206f6620746865206e756d6265727320616e642072656a6f696e2074686520737472696e672e0a202072657475726e20732e6c656e677468203c2032203f2028715b305d0a2020202020203f206f6e6528715b305d2e78290a2020202020203a207a65726f286229290a2020202020203a202862203d20712e6c656e6774682c2066756e6374696f6e287429207b0a20202020202020202020666f7220287661722069203d20302c206f3b2069203c20623b202b2b692920735b286f203d20715b695d292e695d203d206f2e782874293b0a2020202020202020202072657475726e20732e6a6f696e282222293b0a20202020202020207d293b0a7d0a0a66756e6374696f6e20696e746572706f6c61746556616c756528612c206229207b0a20207661722074203d20747970656f6620622c20633b0a202072657475726e2062203d3d206e756c6c207c7c2074203d3d3d2022626f6f6c65616e22203f20636f6e7374616e7424332862290a2020202020203a202874203d3d3d20226e756d62657222203f207265696e746572706f6c6174650a2020202020203a2074203d3d3d2022737472696e6722203f20282863203d20636f6c6f7228622929203f202862203d20632c20696e746572706f6c61746552676229203a20696e746572706f6c617465537472696e67290a2020202020203a206220696e7374616e63656f6620636f6c6f72203f20696e746572706f6c6174655267620a2020202020203a206220696e7374616e63656f662044617465203f20646174650a2020202020203a2041727261792e69734172726179286229203f20617272617924310a2020202020203a20747970656f6620622e76616c75654f6620213d3d202266756e6374696f6e2220262620747970656f6620622e746f537472696e6720213d3d202266756e6374696f6e22207c7c2069734e614e286229203f206f626a6563740a2020202020203a207265696e746572706f6c6174652928612c2062293b0a7d0a0a66756e6374696f6e20696e746572706f6c617465526f756e6428612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e726f756e642861202b2062202a2074293b0a20207d3b0a7d0a0a7661722064656772656573203d20313830202f204d6174682e50493b0a0a766172206964656e746974792432203d207b0a20207472616e736c617465583a20302c0a20207472616e736c617465593a20302c0a2020726f746174653a20302c0a2020736b6577583a20302c0a20207363616c65583a20312c0a20207363616c65593a20310a7d3b0a0a66756e6374696f6e206465636f6d706f736528612c20622c20632c20642c20652c206629207b0a2020766172207363616c65582c207363616c65592c20736b6577583b0a2020696620287363616c6558203d204d6174682e737172742861202a2061202b2062202a206229292061202f3d207363616c65582c2062202f3d207363616c65583b0a202069662028736b657758203d2061202a2063202b2062202a2064292063202d3d2061202a20736b6577582c2064202d3d2062202a20736b6577583b0a2020696620287363616c6559203d204d6174682e737172742863202a2063202b2064202a206429292063202f3d207363616c65592c2064202f3d207363616c65592c20736b657758202f3d207363616c65593b0a20206966202861202a2064203c2062202a2063292061203d202d612c2062203d202d622c20736b657758203d202d736b6577582c207363616c6558203d202d7363616c65583b0a202072657475726e207b0a202020207472616e736c617465583a20652c0a202020207472616e736c617465593a20662c0a20202020726f746174653a204d6174682e6174616e3228622c206129202a20646567726565732c0a20202020736b6577583a204d6174682e6174616e28736b65775829202a20646567726565732c0a202020207363616c65583a207363616c65582c0a202020207363616c65593a207363616c65590a20207d3b0a7d0a0a766172206373734e6f64652c0a20202020637373526f6f742c0a20202020637373566965772c0a202020207376674e6f64653b0a0a66756e6374696f6e2070617273654373732876616c756529207b0a20206966202876616c7565203d3d3d20226e6f6e6522292072657475726e206964656e7469747924323b0a202069662028216373734e6f646529206373734e6f6465203d20646f63756d656e742e637265617465456c656d656e74282244495622292c20637373526f6f74203d20646f63756d656e742e646f63756d656e74456c656d656e742c2063737356696577203d20646f63756d656e742e64656661756c74566965773b0a20206373734e6f64652e7374796c652e7472616e73666f726d203d2076616c75653b0a202076616c7565203d20637373566965772e676574436f6d70757465645374796c6528637373526f6f742e617070656e644368696c64286373734e6f6465292c206e756c6c292e67657450726f706572747956616c756528227472616e73666f726d22293b0a2020637373526f6f742e72656d6f76654368696c64286373734e6f6465293b0a202076616c7565203d2076616c75652e736c69636528372c202d31292e73706c697428222c22293b0a202072657475726e206465636f6d706f7365282b76616c75655b305d2c202b76616c75655b315d2c202b76616c75655b325d2c202b76616c75655b335d2c202b76616c75655b345d2c202b76616c75655b355d293b0a7d0a0a66756e6374696f6e2070617273655376672876616c756529207b0a20206966202876616c7565203d3d206e756c6c292072657475726e206964656e7469747924323b0a202069662028217376674e6f646529207376674e6f6465203d20646f63756d656e742e637265617465456c656d656e744e532822687474703a2f2f7777772e77332e6f72672f323030302f737667222c20226722293b0a20207376674e6f64652e73657441747472696275746528227472616e73666f726d222c2076616c7565293b0a202069662028212876616c7565203d207376674e6f64652e7472616e73666f726d2e6261736556616c2e636f6e736f6c6964617465282929292072657475726e206964656e7469747924323b0a202076616c7565203d2076616c75652e6d61747269783b0a202072657475726e206465636f6d706f73652876616c75652e612c2076616c75652e622c2076616c75652e632c2076616c75652e642c2076616c75652e652c2076616c75652e66293b0a7d0a0a66756e6374696f6e20696e746572706f6c6174655472616e73666f726d2870617273652c207078436f6d6d612c207078506172656e2c20646567506172656e29207b0a0a202066756e6374696f6e20706f70287329207b0a2020202072657475726e20732e6c656e677468203f20732e706f702829202b20222022203a2022223b0a20207d0a0a202066756e6374696f6e207472616e736c6174652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828227472616e736c61746528222c206e756c6c2c207078436f6d6d612c206e756c6c2c207078506172656e293b0a202020202020712e70757368287b693a2069202d20342c20783a207265696e746572706f6c6174652878612c207862297d2c207b693a2069202d20322c20783a207265696e746572706f6c6174652879612c207962297d293b0a202020207d20656c736520696620287862207c7c20796229207b0a202020202020732e7075736828227472616e736c6174652822202b207862202b207078436f6d6d61202b207962202b207078506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20726f7461746528612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a2020202020206966202861202d2062203e20313830292062202b3d203336303b20656c7365206966202862202d2061203e20313830292061202b3d203336303b202f2f2073686f727465737420706174680a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022726f7461746528222c206e756c6c2c20646567506172656e29202d20322c20783a207265696e746572706f6c61746528612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022726f746174652822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20736b65775828612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022736b65775828222c206e756c6c2c20646567506172656e29202d20322c20783a207265696e746572706f6c61746528612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022736b6577582822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e207363616c652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828706f70287329202b20227363616c6528222c206e756c6c2c20222c222c206e756c6c2c20222922293b0a202020202020712e70757368287b693a2069202d20342c20783a207265696e746572706f6c6174652878612c207862297d2c207b693a2069202d20322c20783a207265696e746572706f6c6174652879612c207962297d293b0a202020207d20656c73652069662028786220213d3d2031207c7c20796220213d3d203129207b0a202020202020732e7075736828706f70287329202b20227363616c652822202b207862202b20222c22202b207962202b20222922293b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a202020202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a2020202061203d2070617273652861292c2062203d2070617273652862293b0a202020207472616e736c61746528612e7472616e736c617465582c20612e7472616e736c617465592c20622e7472616e736c617465582c20622e7472616e736c617465592c20732c2071293b0a20202020726f7461746528612e726f746174652c20622e726f746174652c20732c2071293b0a20202020736b65775828612e736b6577582c20622e736b6577582c20732c2071293b0a202020207363616c6528612e7363616c65582c20612e7363616c65592c20622e7363616c65582c20622e7363616c65592c20732c2071293b0a2020202061203d2062203d206e756c6c3b202f2f2067630a2020202072657475726e2066756e6374696f6e287429207b0a2020202020207661722069203d202d312c206e203d20712e6c656e6774682c206f3b0a2020202020207768696c6520282b2b69203c206e2920735b286f203d20715b695d292e695d203d206f2e782874293b0a20202020202072657475726e20732e6a6f696e282222293b0a202020207d3b0a20207d3b0a7d0a0a76617220696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d2870617273654373732c202270782c20222c2022707829222c20226465672922293b0a76617220696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d2870617273655376672c20222c20222c202229222c20222922293b0a0a7661722072686f203d204d6174682e53515254322c0a2020202072686f32203d20322c0a2020202072686f34203d20342c0a20202020657073696c6f6e32203d2031652d31323b0a0a66756e6374696f6e20636f7368287829207b0a202072657475726e20282878203d204d6174682e65787028782929202b2031202f207829202f20323b0a7d0a0a66756e6374696f6e2073696e68287829207b0a202072657475726e20282878203d204d6174682e65787028782929202d2031202f207829202f20323b0a7d0a0a66756e6374696f6e2074616e68287829207b0a202072657475726e20282878203d204d6174682e6578702832202a20782929202d203129202f202878202b2031293b0a7d0a0a2f2f207030203d205b7578302c207579302c2077305d0a2f2f207031203d205b7578312c207579312c2077315d0a66756e6374696f6e20696e746572706f6c6174655a6f6f6d2870302c20703129207b0a202076617220757830203d2070305b305d2c20757930203d2070305b315d2c207730203d2070305b325d2c0a202020202020757831203d2070315b305d2c20757931203d2070315b315d2c207731203d2070315b325d2c0a2020202020206478203d20757831202d207578302c0a2020202020206479203d20757931202d207579302c0a2020202020206432203d206478202a206478202b206479202a2064792c0a202020202020692c0a202020202020533b0a0a20202f2f205370656369616c206361736520666f7220753020e289852075312e0a2020696620286432203c20657073696c6f6e3229207b0a2020202053203d204d6174682e6c6f67287731202f20773029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a20202020202072657475726e205b0a2020202020202020757830202b2074202a2064782c0a2020202020202020757930202b2074202a2064792c0a20202020202020207730202a204d6174682e6578702872686f202a2074202a2053290a2020202020205d3b0a202020207d3b0a20207d0a0a20202f2f2047656e6572616c20636173652e0a2020656c7365207b0a20202020766172206431203d204d6174682e73717274286432292c0a20202020202020206230203d20287731202a207731202d207730202a207730202b2072686f34202a20643229202f202832202a207730202a2072686f32202a206431292c0a20202020202020206231203d20287731202a207731202d207730202a207730202d2072686f34202a20643229202f202832202a207731202a2072686f32202a206431292c0a20202020202020207230203d204d6174682e6c6f67284d6174682e73717274286230202a206230202b203129202d206230292c0a20202020202020207231203d204d6174682e6c6f67284d6174682e73717274286231202a206231202b203129202d206231293b0a2020202053203d20287231202d20723029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a2020202020207661722073203d2074202a20532c0a20202020202020202020636f73687230203d20636f7368287230292c0a2020202020202020202075203d207730202f202872686f32202a20643129202a2028636f73687230202a2074616e682872686f202a2073202b20723029202d2073696e6828723029293b0a20202020202072657475726e205b0a2020202020202020757830202b2075202a2064782c0a2020202020202020757930202b2075202a2064792c0a20202020202020207730202a20636f73687230202f20636f73682872686f202a2073202b207230290a2020202020205d3b0a202020207d3b0a20207d0a0a2020692e6475726174696f6e203d2053202a20313030303b0a0a202072657475726e20693b0a7d0a0a66756e6374696f6e2068736c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d2068736c28737461727429292e682c2028656e64203d2068736c28656e6429292e68292c0a202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e73203d20732874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068736c2432203d2068736c243128687565293b0a7661722068736c4c6f6e67203d2068736c2431286e6f67616d6d61293b0a0a66756e6374696f6e206c616224312873746172742c20656e6429207b0a2020766172206c203d206e6f67616d6d6128287374617274203d206c616228737461727429292e6c2c2028656e64203d206c616228656e6429292e6c292c0a20202020202061203d206e6f67616d6d612873746172742e612c20656e642e61292c0a20202020202062203d206e6f67616d6d612873746172742e622c20656e642e62292c0a2020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a202072657475726e2066756e6374696f6e287429207b0a2020202073746172742e6c203d206c2874293b0a2020202073746172742e61203d20612874293b0a2020202073746172742e62203d20622874293b0a2020202073746172742e6f706163697479203d206f7061636974792874293b0a2020202072657475726e207374617274202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e2068636c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d2068636c28737461727429292e682c2028656e64203d2068636c28656e6429292e68292c0a202020202020202063203d206e6f67616d6d612873746172742e632c20656e642e63292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e63203d20632874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068636c2432203d2068636c243128687565293b0a7661722068636c4c6f6e67203d2068636c2431286e6f67616d6d61293b0a0a66756e6374696f6e206375626568656c697824312868756524243129207b0a202072657475726e202866756e6374696f6e206375626568656c697847616d6d61287929207b0a2020202079203d202b793b0a0a2020202066756e6374696f6e206375626568656c69782424312873746172742c20656e6429207b0a2020202020207661722068203d2068756524243128287374617274203d206375626568656c697828737461727429292e682c2028656e64203d206375626568656c697828656e6429292e68292c0a2020202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a202020202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a202020202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a20202020202072657475726e2066756e6374696f6e287429207b0a202020202020202073746172742e68203d20682874293b0a202020202020202073746172742e73203d20732874293b0a202020202020202073746172742e6c203d206c284d6174682e706f7728742c207929293b0a202020202020202073746172742e6f706163697479203d206f7061636974792874293b0a202020202020202072657475726e207374617274202b2022223b0a2020202020207d3b0a202020207d0a0a202020206375626568656c69782424312e67616d6d61203d206375626568656c697847616d6d613b0a0a2020202072657475726e206375626568656c69782424313b0a20207d292831293b0a7d0a0a766172206375626568656c69782432203d206375626568656c6978243128687565293b0a766172206375626568656c69784c6f6e67203d206375626568656c69782431286e6f67616d6d61293b0a0a66756e6374696f6e2070696563657769736528696e746572706f6c6174652c2076616c75657329207b0a20207661722069203d20302c206e203d2076616c7565732e6c656e677468202d20312c2076203d2076616c7565735b305d2c2049203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e2920495b695d203d20696e746572706f6c61746528762c2076203d2076616c7565735b2b2b695d293b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a3d206e2929293b0a2020202072657475726e20495b695d2874202d2069293b0a20207d3b0a7d0a0a66756e6374696f6e207175616e74697a6528696e746572706f6c61746f722c206e29207b0a20207661722073616d706c6573203d206e6577204172726179286e293b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b69292073616d706c65735b695d203d20696e746572706f6c61746f722869202f20286e202d203129293b0a202072657475726e2073616d706c65733b0a7d0a0a766172206672616d65203d20302c202f2f20697320616e20616e696d6174696f6e206672616d652070656e64696e673f0a2020202074696d656f7574203d20302c202f2f20697320612074696d656f75742070656e64696e673f0a20202020696e74657276616c203d20302c202f2f2061726520616e792074696d657273206163746976653f0a20202020706f6b6544656c6179203d20313030302c202f2f20686f77206672657175656e746c7920776520636865636b20666f7220636c6f636b20736b65770a202020207461736b486561642c0a202020207461736b5461696c2c0a20202020636c6f636b4c617374203d20302c0a20202020636c6f636b4e6f77203d20302c0a20202020636c6f636b536b6577203d20302c0a20202020636c6f636b203d20747970656f6620706572666f726d616e6365203d3d3d20226f626a6563742220262620706572666f726d616e63652e6e6f77203f20706572666f726d616e6365203a20446174652c0a202020207365744672616d65203d20747970656f662077696e646f77203d3d3d20226f626a656374222026262077696e646f772e72657175657374416e696d6174696f6e4672616d65203f2077696e646f772e72657175657374416e696d6174696f6e4672616d652e62696e642877696e646f7729203a2066756e6374696f6e286629207b2073657454696d656f757428662c203137293b207d3b0a0a66756e6374696f6e206e6f772829207b0a202072657475726e20636c6f636b4e6f77207c7c20287365744672616d6528636c6561724e6f77292c20636c6f636b4e6f77203d20636c6f636b2e6e6f772829202b20636c6f636b536b6577293b0a7d0a0a66756e6374696f6e20636c6561724e6f772829207b0a2020636c6f636b4e6f77203d20303b0a7d0a0a66756e6374696f6e2054696d65722829207b0a2020746869732e5f63616c6c203d0a2020746869732e5f74696d65203d0a2020746869732e5f6e657874203d206e756c6c3b0a7d0a0a54696d65722e70726f746f74797065203d2074696d65722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2054696d65722c0a2020726573746172743a2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e657720547970654572726f72282263616c6c6261636b206973206e6f7420612066756e6374696f6e22293b0a2020202074696d65203d202874696d65203d3d206e756c6c203f206e6f772829203a202b74696d6529202b202864656c6179203d3d206e756c6c203f2030203a202b64656c6179293b0a202020206966202821746869732e5f6e657874202626207461736b5461696c20213d3d207468697329207b0a202020202020696620287461736b5461696c29207461736b5461696c2e5f6e657874203d20746869733b0a202020202020656c7365207461736b48656164203d20746869733b0a2020202020207461736b5461696c203d20746869733b0a202020207d0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a20202020746869732e5f74696d65203d2074696d653b0a20202020736c65657028293b0a20207d2c0a202073746f703a2066756e6374696f6e2829207b0a2020202069662028746869732e5f63616c6c29207b0a202020202020746869732e5f63616c6c203d206e756c6c3b0a202020202020746869732e5f74696d65203d20496e66696e6974793b0a202020202020736c65657028293b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2074696d65722863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a2020742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e2074696d6572466c7573682829207b0a20206e6f7728293b202f2f20476574207468652063757272656e742074696d652c206966206e6f7420616c7265616479207365742e0a20202b2b6672616d653b202f2f2050726574656e64207765e2809976652073657420616e20616c61726d2c20696620776520686176656ee280997420616c72656164792e0a20207661722074203d207461736b486561642c20653b0a20207768696c6520287429207b0a20202020696620282865203d20636c6f636b4e6f77202d20742e5f74696d6529203e3d20302920742e5f63616c6c2e63616c6c286e756c6c2c2065293b0a2020202074203d20742e5f6e6578743b0a20207d0a20202d2d6672616d653b0a7d0a0a66756e6374696f6e2077616b652829207b0a2020636c6f636b4e6f77203d2028636c6f636b4c617374203d20636c6f636b2e6e6f77282929202b20636c6f636b536b65773b0a20206672616d65203d2074696d656f7574203d20303b0a2020747279207b0a2020202074696d6572466c75736828293b0a20207d2066696e616c6c79207b0a202020206672616d65203d20303b0a202020206e617028293b0a20202020636c6f636b4e6f77203d20303b0a20207d0a7d0a0a66756e6374696f6e20706f6b652829207b0a2020766172206e6f77203d20636c6f636b2e6e6f7728292c2064656c6179203d206e6f77202d20636c6f636b4c6173743b0a20206966202864656c6179203e20706f6b6544656c61792920636c6f636b536b6577202d3d2064656c61792c20636c6f636b4c617374203d206e6f773b0a7d0a0a66756e6374696f6e206e61702829207b0a20207661722074302c207431203d207461736b486561642c2074322c2074696d65203d20496e66696e6974793b0a20207768696c652028743129207b0a202020206966202874312e5f63616c6c29207b0a2020202020206966202874696d65203e2074312e5f74696d65292074696d65203d2074312e5f74696d653b0a2020202020207430203d2074312c207431203d2074312e5f6e6578743b0a202020207d20656c7365207b0a2020202020207432203d2074312e5f6e6578742c2074312e5f6e657874203d206e756c6c3b0a2020202020207431203d207430203f2074302e5f6e657874203d207432203a207461736b48656164203d2074323b0a202020207d0a20207d0a20207461736b5461696c203d2074303b0a2020736c6565702874696d65293b0a7d0a0a66756e6374696f6e20736c6565702874696d6529207b0a2020696620286672616d65292072657475726e3b202f2f20536f6f6e65737420616c61726d20616c7265616479207365742c206f722077696c6c2062652e0a20206966202874696d656f7574292074696d656f7574203d20636c65617254696d656f75742874696d656f7574293b0a20207661722064656c6179203d2074696d65202d20636c6f636b4e6f773b202f2f205374726963746c79206c657373207468616e206966207765207265636f6d707574656420636c6f636b4e6f772e0a20206966202864656c6179203e20323429207b0a202020206966202874696d65203c20496e66696e697479292074696d656f7574203d2073657454696d656f75742877616b652c2074696d65202d20636c6f636b2e6e6f772829202d20636c6f636b536b6577293b0a2020202069662028696e74657276616c2920696e74657276616c203d20636c656172496e74657276616c28696e74657276616c293b0a20207d20656c7365207b0a202020206966202821696e74657276616c2920636c6f636b4c617374203d20636c6f636b2e6e6f7728292c20696e74657276616c203d20736574496e74657276616c28706f6b652c20706f6b6544656c6179293b0a202020206672616d65203d20312c207365744672616d652877616b65293b0a20207d0a7d0a0a66756e6374696f6e2074696d656f757424312863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a202064656c6179203d2064656c6179203d3d206e756c6c203f2030203a202b64656c61793b0a2020742e726573746172742866756e6374696f6e28656c617073656429207b0a20202020742e73746f7028293b0a2020202063616c6c6261636b28656c6170736564202b2064656c6179293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e20696e74657276616c24312863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65722c20746f74616c203d2064656c61793b0a20206966202864656c6179203d3d206e756c6c292072657475726e20742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65292c20743b0a202064656c6179203d202b64656c61792c2074696d65203d2074696d65203d3d206e756c6c203f206e6f772829203a202b74696d653b0a2020742e726573746172742866756e6374696f6e207469636b28656c617073656429207b0a20202020656c6170736564202b3d20746f74616c3b0a20202020742e72657374617274287469636b2c20746f74616c202b3d2064656c61792c2074696d65293b0a2020202063616c6c6261636b28656c6170736564293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a76617220656d7074794f6e203d20646973706174636828227374617274222c2022656e64222c2022696e7465727275707422293b0a76617220656d707479547765656e203d205b5d3b0a0a7661722043524541544544203d20303b0a766172205343484544554c4544203d20313b0a766172205354415254494e47203d20323b0a7661722053544152544544203d20333b0a7661722052554e4e494e47203d20343b0a76617220454e44494e47203d20353b0a76617220454e444544203d20363b0a0a66756e6374696f6e207363686564756c65286e6f64652c206e616d652c2069642c20696e6465782c2067726f75702c2074696d696e6729207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c657329206e6f64652e5f5f7472616e736974696f6e203d207b7d3b0a2020656c73652069662028696420696e207363686564756c6573292072657475726e3b0a20206372656174652431286e6f64652c2069642c207b0a202020206e616d653a206e616d652c0a20202020696e6465783a20696e6465782c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a2020202067726f75703a2067726f75702c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a202020206f6e3a20656d7074794f6e2c0a20202020747765656e3a20656d707479547765656e2c0a2020202074696d653a2074696d696e672e74696d652c0a2020202064656c61793a2074696d696e672e64656c61792c0a202020206475726174696f6e3a2074696d696e672e6475726174696f6e2c0a20202020656173653a2074696d696e672e656173652c0a2020202074696d65723a206e756c6c2c0a2020202073746174653a20435245415445440a20207d293b0a7d0a0a66756e6374696f6e20696e6974286e6f64652c20696429207b0a2020766172207363686564756c65203d206765742431286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e204352454154454429207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207363686564756c656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e207365742431286e6f64652c20696429207b0a2020766172207363686564756c65203d206765742431286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e205354415254494e4729207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207374617274656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e206765742431286e6f64652c20696429207b0a2020766172207363686564756c65203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c65207c7c2021287363686564756c65203d207363686564756c655b69645d2929207468726f77206e6577204572726f7228227472616e736974696f6e206e6f7420666f756e6422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e206372656174652431286e6f64652c2069642c2073656c6629207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a202020202020747765656e3b0a0a20202f2f20496e697469616c697a65207468652073656c662074696d6572207768656e20746865207472616e736974696f6e20697320637265617465642e0a20202f2f204e6f7465207468652061637475616c2064656c6179206973206e6f74206b6e6f776e20756e74696c207468652066697273742063616c6c6261636b210a20207363686564756c65735b69645d203d2073656c663b0a202073656c662e74696d6572203d2074696d6572287363686564756c652c20302c2073656c662e74696d65293b0a0a202066756e6374696f6e207363686564756c6528656c617073656429207b0a2020202073656c662e7374617465203d205343484544554c45443b0a2020202073656c662e74696d65722e726573746172742873746172742c2073656c662e64656c61792c2073656c662e74696d65293b0a0a202020202f2f2049662074686520656c61707365642064656c6179206973206c657373207468616e206f757220666972737420736c6565702c20737461727420696d6d6564696174656c792e0a202020206966202873656c662e64656c6179203c3d20656c61707365642920737461727428656c6170736564202d2073656c662e64656c6179293b0a20207d0a0a202066756e6374696f6e20737461727428656c617073656429207b0a2020202076617220692c206a2c206e2c206f3b0a0a202020202f2f20496620746865207374617465206973206e6f74205343484544554c45442c207468656e2077652070726576696f75736c79206572726f726564206f6e2073746172742e0a202020206966202873656c662e737461746520213d3d205343484544554c4544292072657475726e2073746f7028293b0a0a20202020666f7220286920696e207363686564756c657329207b0a2020202020206f203d207363686564756c65735b695d3b0a202020202020696620286f2e6e616d6520213d3d2073656c662e6e616d652920636f6e74696e75653b0a0a2020202020202f2f205768696c65207468697320656c656d656e7420616c7265616479206861732061207374617274696e67207472616e736974696f6e20647572696e672074686973206672616d652c0a2020202020202f2f206465666572207374617274696e6720616e20696e74657272757074696e67207472616e736974696f6e20756e74696c2074686174207472616e736974696f6e2068617320610a2020202020202f2f206368616e636520746f207469636b2028616e6420706f737369626c7920656e64293b207365652064332f64332d7472616e736974696f6e233534210a202020202020696620286f2e7374617465203d3d3d2053544152544544292072657475726e2074696d656f75742431287374617274293b0a0a2020202020202f2f20496e746572727570742074686520616374697665207472616e736974696f6e2c20696620616e792e0a2020202020202f2f2044697370617463682074686520696e74657272757074206576656e742e0a202020202020696620286f2e7374617465203d3d3d2052554e4e494e4729207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a20202020202020206f2e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c206f2e696e6465782c206f2e67726f7570293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a0a2020202020202f2f2043616e63656c20616e79207072652d656d70746564207472616e736974696f6e732e204e6f20696e74657272757074206576656e7420697320646973706174636865640a2020202020202f2f2062656361757365207468652063616e63656c6c6564207472616e736974696f6e73206e6576657220737461727465642e204e6f74652074686174207468697320616c736f0a2020202020202f2f2072656d6f7665732074686973207472616e736974696f6e2066726f6d207468652070656e64696e67206c697374210a202020202020656c736520696620282b69203c20696429207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a202020207d0a0a202020202f2f20446566657220746865206669727374207469636b20746f20656e64206f66207468652063757272656e74206672616d653b207365652064332f643323313537362e0a202020202f2f204e6f746520746865207472616e736974696f6e206d61792062652063616e63656c656420616674657220737461727420616e64206265666f726520746865206669727374207469636b210a202020202f2f204e6f74652074686973206d757374206265207363686564756c6564206265666f726520746865207374617274206576656e743b207365652064332f64332d7472616e736974696f6e233136210a202020202f2f20417373756d696e672074686973206973207375636365737366756c2c2073756273657175656e742063616c6c6261636b7320676f20737472616967687420746f207469636b2e0a2020202074696d656f757424312866756e6374696f6e2829207b0a2020202020206966202873656c662e7374617465203d3d3d205354415254454429207b0a202020202020202073656c662e7374617465203d2052554e4e494e473b0a202020202020202073656c662e74696d65722e72657374617274287469636b2c2073656c662e64656c61792c2073656c662e74696d65293b0a20202020202020207469636b28656c6170736564293b0a2020202020207d0a202020207d293b0a0a202020202f2f20446973706174636820746865207374617274206576656e742e0a202020202f2f204e6f74652074686973206d75737420626520646f6e65206265666f72652074686520747765656e2061726520696e697469616c697a65642e0a2020202073656c662e7374617465203d205354415254494e473b0a2020202073656c662e6f6e2e63616c6c28227374617274222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a202020206966202873656c662e737461746520213d3d205354415254494e47292072657475726e3b202f2f20696e7465727275707465640a2020202073656c662e7374617465203d20535441525445443b0a0a202020202f2f20496e697469616c697a652074686520747765656e2c2064656c6574696e67206e756c6c20747765656e2e0a20202020747765656e203d206e6577204172726179286e203d2073656c662e747765656e2e6c656e677468293b0a20202020666f72202869203d20302c206a203d202d313b2069203c206e3b202b2b6929207b0a202020202020696620286f203d2073656c662e747765656e5b695d2e76616c75652e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f75702929207b0a2020202020202020747765656e5b2b2b6a5d203d206f3b0a2020202020207d0a202020207d0a20202020747765656e2e6c656e677468203d206a202b20313b0a20207d0a0a202066756e6374696f6e207469636b28656c617073656429207b0a202020207661722074203d20656c6170736564203c2073656c662e6475726174696f6e203f2073656c662e656173652e63616c6c286e756c6c2c20656c6170736564202f2073656c662e6475726174696f6e29203a202873656c662e74696d65722e726573746172742873746f70292c2073656c662e7374617465203d20454e44494e472c2031292c0a202020202020202069203d202d312c0a20202020202020206e203d20747765656e2e6c656e6774683b0a0a202020207768696c6520282b2b69203c206e29207b0a202020202020747765656e5b695d2e63616c6c286e756c6c2c2074293b0a202020207d0a0a202020202f2f2044697370617463682074686520656e64206576656e742e0a202020206966202873656c662e7374617465203d3d3d20454e44494e4729207b0a20202020202073656c662e6f6e2e63616c6c2822656e64222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a20202020202073746f7028293b0a202020207d0a20207d0a0a202066756e6374696f6e2073746f702829207b0a2020202073656c662e7374617465203d20454e4445443b0a2020202073656c662e74696d65722e73746f7028293b0a2020202064656c657465207363686564756c65735b69645d3b0a20202020666f722028766172206920696e207363686564756c6573292072657475726e3b202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d756e757365642d766172730a2020202064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a20207d0a7d0a0a66756e6374696f6e20696e74657272757074286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652424312c0a2020202020206163746976652c0a202020202020656d707479203d20747275652c0a202020202020693b0a0a202069662028217363686564756c6573292072657475726e3b0a0a20206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a0a2020666f7220286920696e207363686564756c657329207b0a2020202069662028287363686564756c65242431203d207363686564756c65735b695d292e6e616d6520213d3d206e616d6529207b20656d707479203d2066616c73653b20636f6e74696e75653b207d0a20202020616374697665203d207363686564756c652424312e7374617465203e205354415254494e47202626207363686564756c652424312e7374617465203c20454e44494e473b0a202020207363686564756c652424312e7374617465203d20454e4445443b0a202020207363686564756c652424312e74696d65722e73746f7028293b0a202020206966202861637469766529207363686564756c652424312e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c207363686564756c652424312e696e6465782c207363686564756c652424312e67726f7570293b0a2020202064656c657465207363686564756c65735b695d3b0a20207d0a0a202069662028656d707479292064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f696e74657272757074286e616d6529207b0a202072657475726e20746869732e656163682866756e6374696f6e2829207b0a20202020696e7465727275707428746869732c206e616d65293b0a20207d293b0a7d0a0a66756e6374696f6e20747765656e52656d6f76652869642c206e616d6529207b0a202076617220747765656e302c20747765656e313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964292c0a2020202020202020747765656e203d207363686564756c652424312e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d20747765656e30203d20747765656e3b0a202020202020666f7220287661722069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e31203d20747765656e312e736c69636528293b0a20202020202020202020747765656e312e73706c69636528692c2031293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a0a202020207363686564756c652424312e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e20747765656e46756e6374696f6e2869642c206e616d652c2076616c756529207b0a202076617220747765656e302c20747765656e313b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964292c0a2020202020202020747765656e203d207363686564756c652424312e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d2028747765656e30203d20747765656e292e736c69636528293b0a202020202020666f7220287661722074203d207b6e616d653a206e616d652c2076616c75653a2076616c75657d2c2069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e315b695d203d20743b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020206966202869203d3d3d206e2920747765656e312e707573682874293b0a202020207d0a0a202020207363686564756c652424312e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f747765656e286e616d652c2076616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a20206e616d65202b3d2022223b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202076617220747765656e203d20676574243128746869732e6e6f646528292c206964292e747765656e3b0a20202020666f7220287661722069203d20302c206e203d20747765656e2e6c656e6774682c20743b2069203c206e3b202b2b6929207b0a202020202020696620282874203d20747765656e5b695d292e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e20742e76616c75653b0a2020202020207d0a202020207d0a2020202072657475726e206e756c6c3b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c203f20747765656e52656d6f7665203a20747765656e46756e6374696f6e292869642c206e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e20747765656e56616c7565287472616e736974696f6e2c206e616d652c2076616c756529207b0a2020766172206964203d207472616e736974696f6e2e5f69643b0a0a20207472616e736974696f6e2e656163682866756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d20736574243128746869732c206964293b0a20202020287363686564756c652424312e76616c7565207c7c20287363686564756c652424312e76616c7565203d207b7d29295b6e616d655d203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d293b0a0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202072657475726e206765742431286e6f64652c206964292e76616c75655b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e20696e746572706f6c61746528612c206229207b0a202076617220633b0a202072657475726e2028747970656f662062203d3d3d20226e756d62657222203f207265696e746572706f6c6174650a2020202020203a206220696e7374616e63656f6620636f6c6f72203f20696e746572706f6c6174655267620a2020202020203a202863203d20636f6c6f7228622929203f202862203d20632c20696e746572706f6c617465526762290a2020202020203a20696e746572706f6c617465537472696e672928612c2062293b0a7d0a0a66756e6374696f6e206174747252656d6f76652431286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e5324312866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e742431286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e5324312866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e2431286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f7665417474726962757465286e616d65293b0a2020202076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e5324312866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f61747472286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65292c2069203d2066756c6c6e616d65203d3d3d20227472616e73666f726d22203f20696e746572706f6c6174655472616e73666f726d537667203a20696e746572706f6c6174653b0a202072657475726e20746869732e61747472547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e532431203a206174747246756e6374696f6e2431292866756c6c6e616d652c20692c20747765656e56616c756528746869732c2022617474722e22202b206e616d652c2076616c756529290a2020202020203a2076616c7565203d3d206e756c6c203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e532431203a206174747252656d6f76652431292866756c6c6e616d65290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e532431203a2061747472436f6e7374616e742431292866756c6c6e616d652c20692c2076616c7565202b20222229293b0a7d0a0a66756e6374696f6e2061747472547765656e4e532866756c6c6e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e2061747472547765656e286e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e736574417474726962757465286e616d652c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f61747472547765656e286e616d652c2076616c756529207b0a2020766172206b6579203d2022617474722e22202b206e616d653b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e20746869732e747765656e286b65792c202866756c6c6e616d652e6c6f63616c203f2061747472547765656e4e53203a2061747472547765656e292866756c6c6e616d652c2076616c756529293b0a7d0a0a66756e6374696f6e2064656c617946756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e2064656c6179436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f64656c61792876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2064656c617946756e6374696f6e0a202020202020202020203a2064656c6179436f6e7374616e74292869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e64656c61793b0a7d0a0a66756e6374696f6e206475726174696f6e46756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e6475726174696f6e203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e206475726174696f6e436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e6475726174696f6e203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6475726174696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f206475726174696f6e46756e6374696f6e0a202020202020202020203a206475726174696f6e436f6e7374616e74292869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e6475726174696f6e3b0a7d0a0a66756e6374696f6e2065617365436f6e7374616e742869642c2076616c756529207b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020736574243128746869732c206964292e65617365203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f656173652876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682865617365436f6e7374616e742869642c2076616c756529290a2020202020203a20676574243128746869732e6e6f646528292c206964292e656173653b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f66696c746572286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6d65726765287472616e736974696f6e24243129207b0a2020696620287472616e736974696f6e2424312e5f696420213d3d20746869732e5f696429207468726f77206e6577204572726f723b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d207472616e736974696f6e2424312e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e6577205472616e736974696f6e286d65726765732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d0a0a66756e6374696f6e207374617274286e616d6529207b0a202072657475726e20286e616d65202b202222292e7472696d28292e73706c6974282f5e7c5c732b2f292e65766572792866756e6374696f6e287429207b0a202020207661722069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d2030292074203d20742e736c69636528302c2069293b0a2020202072657475726e202174207c7c2074203d3d3d20227374617274223b0a20207d293b0a7d0a0a66756e6374696f6e206f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229207b0a2020766172206f6e302c206f6e312c20736974203d207374617274286e616d6529203f20696e6974203a2073657424313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65242431203d2073697428746869732c206964292c0a20202020202020206f6e203d207363686564756c652424312e6f6e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420612064697370617463682077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420646973706174636820616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a20202020696620286f6e20213d3d206f6e302920286f6e31203d20286f6e30203d206f6e292e636f70792829292e6f6e286e616d652c206c697374656e6572293b0a0a202020207363686564756c652424312e6f6e203d206f6e313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f6f6e286e616d652c206c697374656e657229207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e677468203c20320a2020202020203f20676574243128746869732e6e6f646528292c206964292e6f6e2e6f6e286e616d65290a2020202020203a20746869732e65616368286f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229293b0a7d0a0a66756e6374696f6e2072656d6f766546756e6374696f6e28696429207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220706172656e74203d20746869732e706172656e744e6f64653b0a20202020666f722028766172206920696e20746869732e5f5f7472616e736974696f6e2920696620282b6920213d3d206964292072657475726e3b0a2020202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f72656d6f76652829207b0a202072657475726e20746869732e6f6e2822656e642e72656d6f7665222c2072656d6f766546756e6374696f6e28746869732e5f696429293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f73656c6563742873656c65637424243129207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637424243120213d3d202266756e6374696f6e22292073656c656374242431203d2073656c6563746f722873656c656374242431293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742424312e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a20202020202020207363686564756c652873756267726f75705b695d2c206e616d652c2069642c20692c2073756267726f75702c206765742431286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f73656c656374416c6c2873656c65637424243129207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637424243120213d3d202266756e6374696f6e22292073656c656374242431203d2073656c6563746f72416c6c2873656c656374242431293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020666f722028766172206368696c6472656e203d2073656c6563742424312e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292c206368696c642c20696e6865726974203d206765742431286e6f64652c206964292c206b203d20302c206c203d206368696c6472656e2e6c656e6774683b206b203c206c3b202b2b6b29207b0a20202020202020202020696620286368696c64203d206368696c6472656e5b6b5d29207b0a2020202020202020202020207363686564756c65286368696c642c206e616d652c2069642c206b2c206368696c6472656e2c20696e6865726974293b0a202020202020202020207d0a20202020202020207d0a202020202020202073756267726f7570732e70757368286368696c6472656e293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20706172656e74732c206e616d652c206964293b0a7d0a0a7661722053656c656374696f6e2431203d2073656c656374696f6e2e70726f746f747970652e636f6e7374727563746f723b0a0a66756e6374696f6e207472616e736974696f6e5f73656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e243128746869732e5f67726f7570732c20746869732e5f706172656e7473293b0a7d0a0a66756e6374696f6e207374796c6552656d6f76652431286e616d652c20696e746572706f6c61746524243129207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65292c0a202020202020202076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c207374796c6556616c756528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6552656d6f7665456e64286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e742431286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e2431286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d207374796c6556616c756528746869732c206e616d65292c0a202020202020202076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c207374796c6556616c756528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7374796c65286e616d652c2076616c75652c207072696f7269747929207b0a20207661722069203d20286e616d65202b3d20222229203d3d3d20227472616e73666f726d22203f20696e746572706f6c6174655472616e73666f726d437373203a20696e746572706f6c6174653b0a202072657475726e2076616c7565203d3d206e756c6c203f20746869730a202020202020202020202e7374796c65547765656e286e616d652c207374796c6552656d6f76652431286e616d652c206929290a202020202020202020202e6f6e2822656e642e7374796c652e22202b206e616d652c207374796c6552656d6f7665456e64286e616d6529290a2020202020203a20746869732e7374796c65547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207374796c6546756e6374696f6e2431286e616d652c20692c20747765656e56616c756528746869732c20227374796c652e22202b206e616d652c2076616c756529290a202020202020202020203a207374796c65436f6e7374616e742431286e616d652c20692c2076616c7565202b202222292c207072696f72697479293b0a7d0a0a66756e6374696f6e207374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7374796c652e73657450726f7065727479286e616d652c20692874292c207072696f72697479293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a2020766172206b6579203d20227374796c652e22202b20286e616d65202b3d202222293b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20746869732e747765656e286b65792c207374796c65547765656e286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929293b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e7424312876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e24312876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756531203d2076616c75652874686973293b0a20202020746869732e74657874436f6e74656e74203d2076616c756531203d3d206e756c6c203f202222203a2076616c7565313b0a20207d3b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f746578742876616c756529207b0a202072657475726e20746869732e747765656e282274657874222c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f207465787446756e6374696f6e243128747765656e56616c756528746869732c202274657874222c2076616c756529290a2020202020203a2074657874436f6e7374616e7424312876616c7565203d3d206e756c6c203f202222203a2076616c7565202b20222229293b0a7d0a0a66756e6374696f6e207472616e736974696f6e5f7472616e736974696f6e2829207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a202020202020696430203d20746869732e5f69642c0a202020202020696431203d206e6577496428293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202076617220696e6865726974203d206765742431286e6f64652c20696430293b0a20202020202020207363686564756c65286e6f64652c206e616d652c206964312c20692c2067726f75702c207b0a2020202020202020202074696d653a20696e68657269742e74696d65202b20696e68657269742e64656c6179202b20696e68657269742e6475726174696f6e2c0a2020202020202020202064656c61793a20302c0a202020202020202020206475726174696f6e3a20696e68657269742e6475726174696f6e2c0a20202020202020202020656173653a20696e68657269742e656173650a20202020202020207d293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c20696431293b0a7d0a0a766172206964203d20303b0a0a66756e6374696f6e205472616e736974696f6e2867726f7570732c20706172656e74732c206e616d652c20696429207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a2020746869732e5f6e616d65203d206e616d653b0a2020746869732e5f6964203d2069643b0a7d0a0a66756e6374696f6e207472616e736974696f6e286e616d6529207b0a202072657475726e2073656c656374696f6e28292e7472616e736974696f6e286e616d65293b0a7d0a0a66756e6374696f6e206e657749642829207b0a202072657475726e202b2b69643b0a7d0a0a7661722073656c656374696f6e5f70726f746f74797065203d2073656c656374696f6e2e70726f746f747970653b0a0a5472616e736974696f6e2e70726f746f74797065203d207472616e736974696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e736974696f6e2c0a202073656c6563743a207472616e736974696f6e5f73656c6563742c0a202073656c656374416c6c3a207472616e736974696f6e5f73656c656374416c6c2c0a202066696c7465723a207472616e736974696f6e5f66696c7465722c0a20206d657267653a207472616e736974696f6e5f6d657267652c0a202073656c656374696f6e3a207472616e736974696f6e5f73656c656374696f6e2c0a20207472616e736974696f6e3a207472616e736974696f6e5f7472616e736974696f6e2c0a202063616c6c3a2073656c656374696f6e5f70726f746f747970652e63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f70726f746f747970652e6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f70726f746f747970652e6e6f64652c0a202073697a653a2073656c656374696f6e5f70726f746f747970652e73697a652c0a2020656d7074793a2073656c656374696f6e5f70726f746f747970652e656d7074792c0a2020656163683a2073656c656374696f6e5f70726f746f747970652e656163682c0a20206f6e3a207472616e736974696f6e5f6f6e2c0a2020617474723a207472616e736974696f6e5f617474722c0a202061747472547765656e3a207472616e736974696f6e5f61747472547765656e2c0a20207374796c653a207472616e736974696f6e5f7374796c652c0a20207374796c65547765656e3a207472616e736974696f6e5f7374796c65547765656e2c0a2020746578743a207472616e736974696f6e5f746578742c0a202072656d6f76653a207472616e736974696f6e5f72656d6f76652c0a2020747765656e3a207472616e736974696f6e5f747765656e2c0a202064656c61793a207472616e736974696f6e5f64656c61792c0a20206475726174696f6e3a207472616e736974696f6e5f6475726174696f6e2c0a2020656173653a207472616e736974696f6e5f656173650a7d3b0a0a66756e6374696f6e206c696e6561722431287429207b0a202072657475726e202b743b0a7d0a0a66756e6374696f6e2071756164496e287429207b0a202072657475726e2074202a20743b0a7d0a0a66756e6374696f6e20717561644f7574287429207b0a202072657475726e2074202a202832202d2074293b0a7d0a0a66756e6374696f6e2071756164496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074203a202d2d74202a202832202d207429202b203129202f20323b0a7d0a0a66756e6374696f6e206375626963496e287429207b0a202072657475726e2074202a2074202a20743b0a7d0a0a66756e6374696f6e2063756269634f7574287429207b0a202072657475726e202d2d74202a2074202a2074202b20313b0a7d0a0a66756e6374696f6e206375626963496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074202a2074203a202874202d3d203229202a2074202a2074202b203229202f20323b0a7d0a0a766172206578706f6e656e74203d20333b0a0a76617220706f6c79496e203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e287429207b0a2020202072657475726e204d6174682e706f7728742c2065293b0a20207d0a0a2020706f6c79496e2e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e3b0a7d29286578706f6e656e74293b0a0a76617220706f6c794f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c794f7574287429207b0a2020202072657475726e2031202d204d6174682e706f772831202d20742c2065293b0a20207d0a0a2020706f6c794f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c794f75743b0a7d29286578706f6e656e74293b0a0a76617220706f6c79496e4f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728742c206529203a2032202d204d6174682e706f772832202d20742c20652929202f20323b0a20207d0a0a2020706f6c79496e4f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e4f75743b0a7d29286578706f6e656e74293b0a0a766172207069203d204d6174682e50492c0a2020202068616c665069203d207069202f20323b0a0a66756e6374696f6e2073696e496e287429207b0a202072657475726e2031202d204d6174682e636f732874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e4f7574287429207b0a202072657475726e204d6174682e73696e2874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e496e4f7574287429207b0a202072657475726e202831202d204d6174682e636f73287069202a20742929202f20323b0a7d0a0a66756e6374696f6e20657870496e287429207b0a202072657475726e204d6174682e706f7728322c203130202a2074202d203130293b0a7d0a0a66756e6374696f6e206578704f7574287429207b0a202072657475726e2031202d204d6174682e706f7728322c202d3130202a2074293b0a7d0a0a66756e6374696f6e20657870496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728322c203130202a2074202d20313029203a2032202d204d6174682e706f7728322c203130202d203130202a20742929202f20323b0a7d0a0a66756e6374696f6e20636972636c65496e287429207b0a202072657475726e2031202d204d6174682e737172742831202d2074202a2074293b0a7d0a0a66756e6374696f6e20636972636c654f7574287429207b0a202072657475726e204d6174682e737172742831202d202d2d74202a2074293b0a7d0a0a66756e6374696f6e20636972636c65496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d204d6174682e737172742831202d2074202a207429203a204d6174682e737172742831202d202874202d3d203229202a207429202b203129202f20323b0a7d0a0a766172206231203d2034202f2031312c0a202020206232203d2036202f2031312c0a202020206233203d2038202f2031312c0a202020206234203d2033202f20342c0a202020206235203d2039202f2031312c0a202020206236203d203130202f2031312c0a202020206237203d203135202f2031362c0a202020206238203d203231202f2032322c0a202020206239203d203633202f2036342c0a202020206230203d2031202f206231202f2062313b0a0a66756e6374696f6e20626f756e6365496e287429207b0a202072657475726e2031202d20626f756e63654f75742831202d2074293b0a7d0a0a66756e6374696f6e20626f756e63654f7574287429207b0a202072657475726e202874203d202b7429203c206231203f206230202a2074202a2074203a2074203c206233203f206230202a202874202d3d20623229202a2074202b206234203a2074203c206236203f206230202a202874202d3d20623529202a2074202b206237203a206230202a202874202d3d20623829202a2074202b2062393b0a7d0a0a66756e6374696f6e20626f756e6365496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d20626f756e63654f75742831202d207429203a20626f756e63654f75742874202d203129202b203129202f20323b0a7d0a0a766172206f76657273686f6f74203d20312e37303135383b0a0a766172206261636b496e203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e287429207b0a2020202072657475726e2074202a2074202a20282873202b203129202a2074202d2073293b0a20207d0a0a20206261636b496e2e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e3b0a7d29286f76657273686f6f74293b0a0a766172206261636b4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b4f7574287429207b0a2020202072657475726e202d2d74202a2074202a20282873202b203129202a2074202b207329202b20313b0a20207d0a0a20206261636b4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b4f75743b0a7d29286f76657273686f6f74293b0a0a766172206261636b496e4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c2031203f2074202a2074202a20282873202b203129202a2074202d207329203a202874202d3d203229202a2074202a20282873202b203129202a2074202b207329202b203229202f20323b0a20207d0a0a20206261636b496e4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e4f75743b0a7d29286f76657273686f6f74293b0a0a76617220746175203d2032202a204d6174682e50492c0a20202020616d706c6974756465203d20312c0a20202020706572696f64203d20302e333b0a0a76617220656c6173746963496e203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e287429207b0a2020202072657475726e2061202a204d6174682e706f7728322c203130202a202d2d7429202a204d6174682e73696e282873202d207429202f2070293b0a20207d0a0a2020656c6173746963496e2e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e2e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e3b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c61737469634f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c61737469634f7574287429207b0a2020202072657475726e2031202d2061202a204d6174682e706f7728322c202d3130202a202874203d202b742929202a204d6174682e73696e282874202b207329202f2070293b0a20207d0a0a2020656c61737469634f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c61737469634f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c61737469634f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c6173746963496e4f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e4f7574287429207b0a2020202072657475726e20282874203d2074202a2032202d203129203c20300a20202020202020203f2061202a204d6174682e706f7728322c203130202a207429202a204d6174682e73696e282873202d207429202f2070290a20202020202020203a2032202d2061202a204d6174682e706f7728322c202d3130202a207429202a204d6174682e73696e282873202b207429202f20702929202f20323b0a20207d0a0a2020656c6173746963496e4f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e4f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e4f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a7661722064656661756c7454696d696e67203d207b0a202074696d653a206e756c6c2c202f2f20536574206f6e207573652e0a202064656c61793a20302c0a20206475726174696f6e3a203235302c0a2020656173653a206375626963496e4f75740a7d3b0a0a66756e6374696f6e20696e6865726974286e6f64652c20696429207b0a20207661722074696d696e673b0a20207768696c652028212874696d696e67203d206e6f64652e5f5f7472616e736974696f6e29207c7c20212874696d696e67203d2074696d696e675b69645d2929207b0a202020206966202821286e6f6465203d206e6f64652e706172656e744e6f64652929207b0a20202020202072657475726e2064656661756c7454696d696e672e74696d65203d206e6f7728292c2064656661756c7454696d696e673b0a202020207d0a20207d0a202072657475726e2074696d696e673b0a7d0a0a66756e6374696f6e2073656c656374696f6e5f7472616e736974696f6e286e616d6529207b0a20207661722069642c0a20202020202074696d696e673b0a0a2020696620286e616d6520696e7374616e63656f66205472616e736974696f6e29207b0a202020206964203d206e616d652e5f69642c206e616d65203d206e616d652e5f6e616d653b0a20207d20656c7365207b0a202020206964203d206e6577496428292c202874696d696e67203d2064656661756c7454696d696e67292e74696d65203d206e6f7728292c206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a20202020202020207363686564756c65286e6f64652c206e616d652c2069642c20692c2067726f75702c2074696d696e67207c7c20696e6865726974286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d0a0a73656c656374696f6e2e70726f746f747970652e696e74657272757074203d2073656c656374696f6e5f696e746572727570743b0a73656c656374696f6e2e70726f746f747970652e7472616e736974696f6e203d2073656c656374696f6e5f7472616e736974696f6e3b0a0a76617220726f6f742431203d205b6e756c6c5d3b0a0a66756e6374696f6e20616374697665286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652424312c0a202020202020693b0a0a2020696620287363686564756c657329207b0a202020206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20202020666f7220286920696e207363686564756c657329207b0a20202020202069662028287363686564756c65242431203d207363686564756c65735b695d292e7374617465203e205343484544554c4544202626207363686564756c652424312e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e206e6577205472616e736974696f6e285b5b6e6f64655d5d2c20726f6f7424312c206e616d652c202b69293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d0a0a66756e6374696f6e20636f6e7374616e742434287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e2042727573684576656e74287461726765742c20747970652c2073656c656374696f6e29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e73656c656374696f6e203d2073656c656374696f6e3b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e24312829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e7424312829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172204d4f44455f44524147203d207b6e616d653a202264726167227d2c0a202020204d4f44455f5350414345203d207b6e616d653a20227370616365227d2c0a202020204d4f44455f48414e444c45203d207b6e616d653a202268616e646c65227d2c0a202020204d4f44455f43454e544552203d207b6e616d653a202263656e746572227d3b0a0a7661722058203d207b0a20206e616d653a202278222c0a202068616e646c65733a205b2265222c202277225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28782c206529207b2072657475726e2078202626205b5b785b305d2c20655b305d5b315d5d2c205b785b315d2c20655b315d5b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b305d2c2078795b315d5b305d5d3b207d0a7d3b0a0a7661722059203d207b0a20206e616d653a202279222c0a202068616e646c65733a205b226e222c202273225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28792c206529207b2072657475726e2079202626205b5b655b305d5b305d2c20795b305d5d2c205b655b315d5b305d2c20795b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b315d2c2078795b315d5b315d5d3b207d0a7d3b0a0a766172205859203d207b0a20206e616d653a20227879222c0a202068616e646c65733a205b226e222c202265222c202273222c202277222c20226e77222c20226e65222c20227365222c20227377225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d0a7d3b0a0a76617220637572736f7273203d207b0a20206f7665726c61793a202263726f737368616972222c0a202073656c656374696f6e3a20226d6f7665222c0a20206e3a20226e732d726573697a65222c0a2020653a202265772d726573697a65222c0a2020733a20226e732d726573697a65222c0a2020773a202265772d726573697a65222c0a20206e773a20226e7773652d726573697a65222c0a20206e653a20226e6573772d726573697a65222c0a202073653a20226e7773652d726573697a65222c0a202073773a20226e6573772d726573697a65220a7d3b0a0a76617220666c697058203d207b0a2020653a202277222c0a2020773a202265222c0a20206e773a20226e65222c0a20206e653a20226e77222c0a202073653a20227377222c0a202073773a20227365220a7d3b0a0a76617220666c697059203d207b0a20206e3a202273222c0a2020733a20226e222c0a20206e773a20227377222c0a20206e653a20227365222c0a202073653a20226e65222c0a202073773a20226e77220a7d3b0a0a766172207369676e7358203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a206e756c6c2c0a2020653a202b312c0a2020733a206e756c6c2c0a2020773a202d312c0a20206e773a202d312c0a20206e653a202b312c0a202073653a202b312c0a202073773a202d310a7d3b0a0a766172207369676e7359203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a202d312c0a2020653a206e756c6c2c0a2020733a202b312c0a2020773a206e756c6c2c0a20206e773a202d312c0a20206e653a202d312c0a202073653a202b312c0a202073773a202b310a7d3b0a0a66756e6374696f6e2074797065287429207b0a202072657475726e207b747970653a20747d3b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c74657224312829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a202076617220737667203d20746869732e6f776e6572535647456c656d656e74207c7c20746869733b0a202072657475726e205b5b302c20305d2c205b7376672e77696474682e6261736556616c2e76616c75652c207376672e6865696768742e6261736556616c2e76616c75655d5d3b0a7d0a0a2f2f204c696b652064332e6c6f63616c2c20627574207769746820746865206e616d6520e2809c5f5f6272757368e2809d20726174686572207468616e206175746f2d67656e6572617465642e0a66756e6374696f6e206c6f63616c2431286e6f646529207b0a20207768696c652028216e6f64652e5f5f627275736829206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a202072657475726e206e6f64652e5f5f62727573683b0a7d0a0a66756e6374696f6e20656d707479243128657874656e7429207b0a202072657475726e20657874656e745b305d5b305d203d3d3d20657874656e745b315d5b305d0a2020202020207c7c20657874656e745b305d5b315d203d3d3d20657874656e745b315d5b315d3b0a7d0a0a66756e6374696f6e20627275736853656c656374696f6e286e6f646529207b0a2020766172207374617465203d206e6f64652e5f5f62727573683b0a202072657475726e207374617465203f2073746174652e64696d2e6f75747075742873746174652e73656c656374696f6e29203a206e756c6c3b0a7d0a0a66756e6374696f6e206272757368582829207b0a202072657475726e20627275736824312858293b0a7d0a0a66756e6374696f6e206272757368592829207b0a202072657475726e20627275736824312859293b0a7d0a0a66756e6374696f6e2062727573682829207b0a202072657475726e2062727573682431285859293b0a7d0a0a66756e6374696f6e20627275736824312864696d29207b0a202076617220657874656e74203d2064656661756c74457874656e742c0a20202020202066696c746572203d2064656661756c7446696c74657224312c0a2020202020206c697374656e657273203d2064697370617463682862727573682c20227374617274222c20226272757368222c2022656e6422292c0a20202020202068616e646c6553697a65203d20362c0a202020202020746f756368656e64696e673b0a0a202066756e6374696f6e2062727573682867726f757029207b0a20202020766172206f7665726c6179203d2067726f75700a20202020202020202e70726f706572747928225f5f6272757368222c20696e697469616c697a65290a2020202020202e73656c656374416c6c28222e6f7665726c617922290a2020202020202e64617461285b7479706528226f7665726c617922295d293b0a0a202020206f7665726c61792e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c20226f7665726c617922290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e617474722822637572736f72222c20637572736f72732e6f7665726c6179290a2020202020202e6d65726765286f7665726c6179290a20202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202076617220657874656e74203d206c6f63616c24312874686973292e657874656e743b0a2020202020202020202073656c6563742874686973290a20202020202020202020202020202e61747472282278222c20657874656e745b305d5b305d290a20202020202020202020202020202e61747472282279222c20657874656e745b305d5b315d290a20202020202020202020202020202e6174747228227769647468222c20657874656e745b315d5b305d202d20657874656e745b305d5b305d290a20202020202020202020202020202e617474722822686569676874222c20657874656e745b315d5b315d202d20657874656e745b305d5b315d293b0a20202020202020207d293b0a0a2020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a2020202020202e64617461285b74797065282273656c656374696f6e22295d290a2020202020202e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c202273656c656374696f6e22290a20202020202020202e617474722822637572736f72222c20637572736f72732e73656c656374696f6e290a20202020202020202e61747472282266696c6c222c20222337373722290a20202020202020202e61747472282266696c6c2d6f706163697479222c20302e33290a20202020202020202e6174747228227374726f6b65222c20222366666622290a20202020202020202e61747472282273686170652d72656e646572696e67222c20226372697370456467657322293b0a0a202020207661722068616e646c65203d2067726f75702e73656c656374416c6c28222e68616e646c6522290a2020202020202e646174612864696d2e68616e646c65732c2066756e6374696f6e286429207b2072657475726e20642e747970653b207d293b0a0a2020202068616e646c652e6578697428292e72656d6f766528293b0a0a2020202068616e646c652e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c2066756e6374696f6e286429207b2072657475726e202268616e646c652068616e646c652d2d22202b20642e747970653b207d290a20202020202020202e617474722822637572736f72222c2066756e6374696f6e286429207b2072657475726e20637572736f72735b642e747970655d3b207d293b0a0a2020202067726f75700a20202020202020202e6561636828726564726177290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922290a20202020202020202e6f6e28226d6f757365646f776e2e627275736820746f75636873746172742e6272757368222c2073746172746564293b0a20207d0a0a202062727573682e6d6f7665203d2066756e6374696f6e2867726f75702c2073656c656374696f6e24243129207b0a202020206966202867726f75702e73656c656374696f6e29207b0a20202020202067726f75700a202020202020202020202e6f6e282273746172742e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e6265666f7265737461727428292e737461727428293b207d290a202020202020202020202e6f6e2822696e746572727570742e627275736820656e642e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e656e6428293b207d290a202020202020202020202e747765656e28226272757368222c2066756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292c0a2020202020202020202020202020202073656c656374696f6e30203d2073746174652e73656c656374696f6e2c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e242431203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2424312e6170706c7928746869732c20617267756d656e747329203a2073656c656374696f6e2424312c2073746174652e657874656e74292c0a2020202020202020202020202020202069203d20696e746572706f6c61746556616c75652873656c656374696f6e302c2073656c656374696f6e31293b0a0a20202020202020202020202066756e6374696f6e20747765656e287429207b0a202020202020202020202020202073746174652e73656c656374696f6e203d2074203d3d3d203120262620656d70747924312873656c656374696f6e3129203f206e756c6c203a20692874293b0a20202020202020202020202020207265647261772e63616c6c2874686174293b0a2020202020202020202020202020656d69742e627275736828293b0a2020202020202020202020207d0a0a20202020202020202020202072657475726e2073656c656374696f6e302026262073656c656374696f6e31203f20747765656e203a20747765656e2831293b0a202020202020202020207d293b0a202020207d20656c7365207b0a20202020202067726f75700a202020202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a2020202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e242431203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2424312e6170706c7928746861742c206172677329203a2073656c656374696f6e2424312c2073746174652e657874656e74292c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c2061726773292e6265666f7265737461727428293b0a0a202020202020202020202020696e746572727570742874686174293b0a20202020202020202020202073746174652e73656c656374696f6e203d2073656c656374696f6e31203d3d206e756c6c207c7c20656d70747924312873656c656374696f6e3129203f206e756c6c203a2073656c656374696f6e313b0a2020202020202020202020207265647261772e63616c6c2874686174293b0a202020202020202020202020656d69742e737461727428292e627275736828292e656e6428293b0a202020202020202020207d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e207265647261772829207b0a202020207661722067726f7570203d2073656c6563742874686973292c0a202020202020202073656c656374696f6e242431203d206c6f63616c24312874686973292e73656c656374696f6e3b0a0a202020206966202873656c656374696f6e24243129207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2073656c656374696f6e2424315b305d5b305d290a202020202020202020202e61747472282279222c2073656c656374696f6e2424315b305d5b315d290a202020202020202020202e6174747228227769647468222c2073656c656374696f6e2424315b315d5b305d202d2073656c656374696f6e2424315b305d5b305d290a202020202020202020202e617474722822686569676874222c2073656c656374696f6e2424315b315d5b315d202d2073656c656374696f6e2424315b305d5b315d293b0a0a20202020202067726f75702e73656c656374416c6c28222e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2066756e6374696f6e286429207b2072657475726e20642e747970655b642e747970652e6c656e677468202d20315d203d3d3d20226522203f2073656c656374696f6e2424315b315d5b305d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e2424315b305d5b305d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e61747472282279222c2066756e6374696f6e286429207b2072657475726e20642e747970655b305d203d3d3d20227322203f2073656c656374696f6e2424315b315d5b315d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e2424315b305d5b315d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e6174747228227769647468222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226e22207c7c20642e74797065203d3d3d20227322203f2073656c656374696f6e2424315b315d5b305d202d2073656c656374696f6e2424315b305d5b305d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d290a202020202020202020202e617474722822686569676874222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226522207c7c20642e74797065203d3d3d20227722203f2073656c656374696f6e2424315b315d5b315d202d2073656c656374696f6e2424315b305d5b315d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d293b0a202020207d0a0a20202020656c7365207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e2c2e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c20226e6f6e6522290a202020202020202020202e61747472282278222c206e756c6c290a202020202020202020202e61747472282279222c206e756c6c290a202020202020202020202e6174747228227769647468222c206e756c6c290a202020202020202020202e617474722822686569676874222c206e756c6c293b0a202020207d0a20207d0a0a202066756e6374696f6e20656d697474657228746861742c206172677329207b0a2020202072657475726e20746861742e5f5f62727573682e656d6974746572207c7c206e657720456d697474657228746861742c2061726773293b0a20207d0a0a202066756e6374696f6e20456d697474657228746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e7374617465203d20746861742e5f5f62727573683b0a20202020746869732e616374697665203d20303b0a20207d0a0a2020456d69747465722e70726f746f74797065203d207b0a202020206265666f726573746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d20312920746869732e73746174652e656d6974746572203d20746869732c20746869732e7374617274696e67203d20747275653b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202073746172743a2066756e6374696f6e2829207b0a20202020202069662028746869732e7374617274696e672920746869732e7374617274696e67203d2066616c73652c20746869732e656d69742822737461727422293b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202062727573683a2066756e6374696f6e2829207b0a202020202020746869732e656d69742822627275736822293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d2030292064656c65746520746869732e73746174652e656d69747465722c20746869732e656d69742822656e6422293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020637573746f6d4576656e74286e65772042727573684576656e742862727573682c20747970652c2064696d2e6f757470757428746869732e73746174652e73656c656374696f6e29292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20737461727465642829207b0a20202020696620286578706f7274732e6576656e742e746f756368657329207b20696620286578706f7274732e6576656e742e6368616e676564546f75636865732e6c656e677468203c206578706f7274732e6576656e742e746f75636865732e6c656e677468292072657475726e206e6f6576656e74243128293b207d0a20202020656c73652069662028746f756368656e64696e67292072657475726e3b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a0a202020207661722074686174203d20746869732c0a202020202020202074797065203d206578706f7274732e6576656e742e7461726765742e5f5f646174615f5f2e747970652c0a20202020202020206d6f6465203d20286578706f7274732e6576656e742e6d6574614b6579203f2074797065203d20226f7665726c617922203a207479706529203d3d3d202273656c656374696f6e22203f204d4f44455f44524147203a20286578706f7274732e6576656e742e616c744b6579203f204d4f44455f43454e544552203a204d4f44455f48414e444c45292c0a20202020202020207369676e58203d2064696d203d3d3d2059203f206e756c6c203a207369676e73585b747970655d2c0a20202020202020207369676e59203d2064696d203d3d3d2058203f206e756c6c203a207369676e73595b747970655d2c0a20202020202020207374617465203d206c6f63616c24312874686174292c0a2020202020202020657874656e74203d2073746174652e657874656e742c0a202020202020202073656c656374696f6e242431203d2073746174652e73656c656374696f6e2c0a202020202020202057203d20657874656e745b305d5b305d2c2077302c2077312c0a20202020202020204e203d20657874656e745b305d5b315d2c206e302c206e312c0a202020202020202045203d20657874656e745b315d5b305d2c2065302c2065312c0a202020202020202053203d20657874656e745b315d5b315d2c2073302c2073312c0a202020202020202064782c0a202020202020202064792c0a20202020202020206d6f76696e672c0a20202020202020207368696674696e67203d207369676e58202626207369676e59202626206578706f7274732e6576656e742e73686966744b65792c0a20202020202020206c6f636b582c0a20202020202020206c6f636b592c0a2020202020202020706f696e7430203d206d6f7573652874686174292c0a2020202020202020706f696e74242431203d20706f696e74302c0a2020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292e6265666f7265737461727428293b0a0a202020206966202874797065203d3d3d20226f7665726c61792229207b0a20202020202073746174652e73656c656374696f6e203d2073656c656374696f6e242431203d205b0a20202020202020205b7730203d2064696d203d3d3d2059203f2057203a20706f696e74305b305d2c206e30203d2064696d203d3d3d2058203f204e203a20706f696e74305b315d5d2c0a20202020202020205b6530203d2064696d203d3d3d2059203f2045203a2077302c207330203d2064696d203d3d3d2058203f2053203a206e305d0a2020202020205d3b0a202020207d20656c7365207b0a2020202020207730203d2073656c656374696f6e2424315b305d5b305d3b0a2020202020206e30203d2073656c656374696f6e2424315b305d5b315d3b0a2020202020206530203d2073656c656374696f6e2424315b315d5b305d3b0a2020202020207330203d2073656c656374696f6e2424315b315d5b315d3b0a202020207d0a0a202020207731203d2077303b0a202020206e31203d206e303b0a202020206531203d2065303b0a202020207331203d2073303b0a0a202020207661722067726f7570203d2073656c6563742874686174290a20202020202020202e617474722822706f696e7465722d6576656e7473222c20226e6f6e6522293b0a0a20202020766172206f7665726c6179203d2067726f75702e73656c656374416c6c28222e6f7665726c617922290a20202020202020202e617474722822637572736f72222c20637572736f72735b747970655d293b0a0a20202020696620286578706f7274732e6576656e742e746f756368657329207b0a20202020202067726f75700a202020202020202020202e6f6e2822746f7563686d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e2822746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c20656e6465642c2074727565293b0a202020207d20656c7365207b0a2020202020207661722076696577203d2073656c656374286578706f7274732e6576656e742e76696577290a202020202020202020202e6f6e28226b6579646f776e2e6272757368222c206b6579646f776e65642c2074727565290a202020202020202020202e6f6e28226b657975702e6272757368222c206b657975707065642c2074727565290a202020202020202020202e6f6e28226d6f7573656d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e28226d6f75736575702e6272757368222c20656e6465642c2074727565293b0a0a2020202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020207d0a0a202020206e6f70726f7061676174696f6e243128293b0a20202020696e746572727570742874686174293b0a202020207265647261772e63616c6c2874686174293b0a20202020656d69742e737461727428293b0a0a2020202066756e6374696f6e206d6f7665642829207b0a20202020202076617220706f696e7431203d206d6f7573652874686174293b0a202020202020696620287368696674696e6720262620216c6f636b5820262620216c6f636b5929207b0a2020202020202020696620284d6174682e61627328706f696e74315b305d202d20706f696e742424315b305d29203e204d6174682e61627328706f696e74315b315d202d20706f696e742424315b315d2929206c6f636b59203d20747275653b0a2020202020202020656c7365206c6f636b58203d20747275653b0a2020202020207d0a202020202020706f696e74242431203d20706f696e74313b0a2020202020206d6f76696e67203d20747275653b0a2020202020206e6f6576656e74243128293b0a2020202020206d6f766528293b0a202020207d0a0a2020202066756e6374696f6e206d6f76652829207b0a20202020202076617220743b0a0a2020202020206478203d20706f696e742424315b305d202d20706f696e74305b305d3b0a2020202020206479203d20706f696e742424315b315d202d20706f696e74305b315d3b0a0a20202020202073776974636820286d6f646529207b0a202020202020202063617365204d4f44455f53504143453a0a202020202020202063617365204d4f44455f445241473a207b0a20202020202020202020696620287369676e5829206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2065302c20647829292c207731203d207730202b2064782c206531203d206530202b2064783b0a20202020202020202020696620287369676e5929206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e30202b2064792c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f48414e444c453a207b0a20202020202020202020696620287369676e58203c203029206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2077302c20647829292c207731203d207730202b2064782c206531203d2065303b0a20202020202020202020656c736520696620287369676e58203e203029206478203d204d6174682e6d61782857202d2065302c204d6174682e6d696e2845202d2065302c20647829292c207731203d2077302c206531203d206530202b2064783b0a20202020202020202020696620287369676e59203c203029206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d206e302c20647929292c206e31203d206e30202b2064792c207331203d2073303b0a20202020202020202020656c736520696620287369676e59203e203029206479203d204d6174682e6d6178284e202d2073302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e302c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f43454e5445523a207b0a20202020202020202020696620287369676e5829207731203d204d6174682e6d617828572c204d6174682e6d696e28452c207730202d206478202a207369676e5829292c206531203d204d6174682e6d617828572c204d6174682e6d696e28452c206530202b206478202a207369676e5829293b0a20202020202020202020696620287369676e5929206e31203d204d6174682e6d6178284e2c204d6174682e6d696e28532c206e30202d206479202a207369676e5929292c207331203d204d6174682e6d6178284e2c204d6174682e6d696e28532c207330202b206479202a207369676e5929293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a0a202020202020696620286531203c20773129207b0a20202020202020207369676e58202a3d202d313b0a202020202020202074203d2077302c207730203d2065302c206530203d20743b0a202020202020202074203d2077312c207731203d2065312c206531203d20743b0a2020202020202020696620287479706520696e20666c69705829206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970585b747970655d5d293b0a2020202020207d0a0a202020202020696620287331203c206e3129207b0a20202020202020207369676e59202a3d202d313b0a202020202020202074203d206e302c206e30203d2073302c207330203d20743b0a202020202020202074203d206e312c206e31203d2073312c207331203d20743b0a2020202020202020696620287479706520696e20666c69705929206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970595b747970655d5d293b0a2020202020207d0a0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e242431203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f7665210a202020202020696620286c6f636b5829207731203d2073656c656374696f6e2424315b305d5b305d2c206531203d2073656c656374696f6e2424315b315d5b305d3b0a202020202020696620286c6f636b5929206e31203d2073656c656374696f6e2424315b305d5b315d2c207331203d2073656c656374696f6e2424315b315d5b315d3b0a0a2020202020206966202873656c656374696f6e2424315b305d5b305d20213d3d2077310a202020202020202020207c7c2073656c656374696f6e2424315b305d5b315d20213d3d206e310a202020202020202020207c7c2073656c656374696f6e2424315b315d5b305d20213d3d2065310a202020202020202020207c7c2073656c656374696f6e2424315b315d5b315d20213d3d20733129207b0a202020202020202073746174652e73656c656374696f6e203d205b5b77312c206e315d2c205b65312c2073315d5d3b0a20202020202020207265647261772e63616c6c2874686174293b0a2020202020202020656d69742e627275736828293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20656e6465642829207b0a2020202020206e6f70726f7061676174696f6e243128293b0a202020202020696620286578706f7274732e6576656e742e746f756368657329207b0a2020202020202020696620286578706f7274732e6576656e742e746f75636865732e6c656e677468292072657475726e3b0a202020202020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a2020202020202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a202020202020202067726f75702e6f6e2822746f7563686d6f76652e627275736820746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c206e756c6c293b0a2020202020207d20656c7365207b0a202020202020202079657364726167286578706f7274732e6576656e742e766965772c206d6f76696e67293b0a2020202020202020766965772e6f6e28226b6579646f776e2e6272757368206b657975702e6272757368206d6f7573656d6f76652e6272757368206d6f75736575702e6272757368222c206e756c6c293b0a2020202020207d0a20202020202067726f75702e617474722822706f696e7465722d6576656e7473222c2022616c6c22293b0a2020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e6f7665726c6179293b0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e242431203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f766520286f6e20737461727429210a20202020202069662028656d70747924312873656c656374696f6e24243129292073746174652e73656c656374696f6e203d206e756c6c2c207265647261772e63616c6c2874686174293b0a202020202020656d69742e656e6428293b0a202020207d0a0a2020202066756e6374696f6e206b6579646f776e65642829207b0a20202020202073776974636820286578706f7274732e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a202020202020202020207368696674696e67203d207369676e58202626207369676e593b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c4529207b0a202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a2020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143453b2074616b6573207072696f72697479206f76657220414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c45207c7c206d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d206531202d2064783b20656c736520696620287369676e58203e203029207730203d207731202d2064783b0a202020202020202020202020696620287369676e59203c203029207330203d207331202d2064793b20656c736520696620287369676e59203e203029206e30203d206e31202d2064793b0a2020202020202020202020206d6f6465203d204d4f44455f53504143453b0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e73656c656374696f6e293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e74243128293b0a202020207d0a0a2020202066756e6374696f6e206b657975707065642829207b0a20202020202073776974636820286578706f7274732e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a20202020202020202020696620287368696674696e6729207b0a2020202020202020202020206c6f636b58203d206c6f636b59203d207368696674696e67203d2066616c73653b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a2020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143450a20202020202020202020696620286d6f6465203d3d3d204d4f44455f535041434529207b0a202020202020202020202020696620286578706f7274732e6576656e742e616c744b657929207b0a2020202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a2020202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a20202020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a2020202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a20202020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020207d0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72735b747970655d293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e74243128293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a20202020766172207374617465203d20746869732e5f5f6272757368207c7c207b73656c656374696f6e3a206e756c6c7d3b0a2020202073746174652e657874656e74203d20657874656e742e6170706c7928746869732c20617267756d656e7473293b0a2020202073746174652e64696d203d2064696d3b0a2020202072657475726e2073746174653b0a20207d0a0a202062727573682e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742434285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c20627275736829203a20657874656e743b0a20207d3b0a0a202062727573682e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424342821215f292c20627275736829203a2066696c7465723b0a20207d3b0a0a202062727573682e68616e646c6553697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202868616e646c6553697a65203d202b5f2c20627275736829203a2068616e646c6553697a653b0a20207d3b0a0a202062727573682e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f206272757368203a2076616c75653b0a20207d3b0a0a202072657475726e2062727573683b0a7d0a0a76617220636f73203d204d6174682e636f733b0a7661722073696e203d204d6174682e73696e3b0a7661722070692431203d204d6174682e50493b0a7661722068616c6650692431203d2070692431202f20323b0a766172207461752431203d2070692431202a20323b0a766172206d61782431203d204d6174682e6d61783b0a0a66756e6374696f6e20636f6d7061726556616c756528636f6d7061726529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265280a202020202020612e736f757263652e76616c7565202b20612e7461726765742e76616c75652c0a202020202020622e736f757263652e76616c7565202b20622e7461726765742e76616c75650a20202020293b0a20207d3b0a7d0a0a66756e6374696f6e2063686f72642829207b0a202076617220706164416e676c65203d20302c0a202020202020736f727447726f757073203d206e756c6c2c0a202020202020736f727453756267726f757073203d206e756c6c2c0a202020202020736f727443686f726473203d206e756c6c3b0a0a202066756e6374696f6e2063686f7264286d617472697829207b0a20202020766172206e203d206d61747269782e6c656e6774682c0a202020202020202067726f757053756d73203d205b5d2c0a202020202020202067726f7570496e646578203d2073657175656e6365286e292c0a202020202020202073756267726f7570496e646578203d205b5d2c0a202020202020202063686f726473203d205b5d2c0a202020202020202067726f757073203d2063686f7264732e67726f757073203d206e6577204172726179286e292c0a202020202020202073756267726f757073203d206e6577204172726179286e202a206e292c0a20202020202020206b2c0a2020202020202020782c0a202020202020202078302c0a202020202020202064782c0a2020202020202020692c0a20202020202020206a3b0a0a202020202f2f20436f6d70757465207468652073756d2e0a202020206b203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a20202020202078203d20302c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a202020202020202078202b3d206d61747269785b695d5b6a5d3b0a2020202020207d0a20202020202067726f757053756d732e707573682878293b0a20202020202073756267726f7570496e6465782e707573682873657175656e6365286e29293b0a2020202020206b202b3d20783b0a202020207d0a0a202020202f2f20536f72742067726f757073e280a60a2020202069662028736f727447726f757073292067726f7570496e6465782e736f72742866756e6374696f6e28612c206229207b0a20202020202072657475726e20736f727447726f7570732867726f757053756d735b615d2c2067726f757053756d735b625d293b0a202020207d293b0a0a202020202f2f20536f72742073756267726f757073e280a60a2020202069662028736f727453756267726f757073292073756267726f7570496e6465782e666f72456163682866756e6374696f6e28642c206929207b0a202020202020642e736f72742866756e6374696f6e28612c206229207b0a202020202020202072657475726e20736f727453756267726f757073286d61747269785b695d5b615d2c206d61747269785b695d5b625d293b0a2020202020207d293b0a202020207d293b0a0a202020202f2f20436f6e76657274207468652073756d20746f207363616c696e6720666163746f7220666f72205b302c203270695d2e0a202020202f2f20544f444f20416c6c6f7720737461727420616e6420656e6420616e676c6520746f206265207370656369666965643f0a202020202f2f20544f444f20416c6c6f772070616464696e6720746f206265207370656369666965642061732070657263656e746167653f0a202020206b203d206d6178243128302c207461752431202d20706164416e676c65202a206e29202f206b3b0a202020206478203d206b203f20706164416e676c65203a207461752431202f206e3b0a0a202020202f2f20436f6d707574652074686520737461727420616e6420656e6420616e676c6520666f7220656163682067726f757020616e642073756267726f75702e0a202020202f2f204e6f74653a204f70657261206861732061206275672072656f72646572696e67206f626a656374206c69746572616c2070726f70657274696573210a2020202078203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020207830203d20782c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a2020202020202020766172206469203d2067726f7570496e6465785b695d2c0a202020202020202020202020646a203d2073756267726f7570496e6465785b64695d5b6a5d2c0a20202020202020202020202076203d206d61747269785b64695d5b646a5d2c0a2020202020202020202020206130203d20782c0a2020202020202020202020206131203d2078202b3d2076202a206b3b0a202020202020202073756267726f7570735b646a202a206e202b2064695d203d207b0a20202020202020202020696e6465783a2064692c0a20202020202020202020737562696e6465783a20646a2c0a202020202020202020207374617274416e676c653a2061302c0a20202020202020202020656e64416e676c653a2061312c0a2020202020202020202076616c75653a20760a20202020202020207d3b0a2020202020207d0a20202020202067726f7570735b64695d203d207b0a2020202020202020696e6465783a2064692c0a20202020202020207374617274416e676c653a2078302c0a2020202020202020656e64416e676c653a20782c0a202020202020202076616c75653a2067726f757053756d735b64695d0a2020202020207d3b0a20202020202078202b3d2064783b0a202020207d0a0a202020202f2f2047656e65726174652063686f72647320666f72206561636820286e6f6e2d656d707479292073756267726f75702d73756267726f7570206c696e6b2e0a2020202069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020206a203d2069202d20313b207768696c6520282b2b6a203c206e29207b0a202020202020202076617220736f75726365203d2073756267726f7570735b6a202a206e202b20695d2c0a202020202020202020202020746172676574203d2073756267726f7570735b69202a206e202b206a5d3b0a202020202020202069662028736f757263652e76616c7565207c7c207461726765742e76616c756529207b0a2020202020202020202063686f7264732e7075736828736f757263652e76616c7565203c207461726765742e76616c75650a20202020202020202020202020203f207b736f757263653a207461726765742c207461726765743a20736f757263657d0a20202020202020202020202020203a207b736f757263653a20736f757263652c207461726765743a207461726765747d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202072657475726e20736f727443686f726473203f2063686f7264732e736f727428736f727443686f72647329203a2063686f7264733b0a20207d0a0a202063686f72642e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d206d6178243128302c205f292c2063686f726429203a20706164416e676c653b0a20207d3b0a0a202063686f72642e736f727447726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727447726f757073203d205f2c2063686f726429203a20736f727447726f7570733b0a20207d3b0a0a202063686f72642e736f727453756267726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727453756267726f757073203d205f2c2063686f726429203a20736f727453756267726f7570733b0a20207d3b0a0a202063686f72642e736f727443686f726473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20736f727443686f726473203d206e756c6c203a2028736f727443686f726473203d20636f6d7061726556616c7565285f29292e5f203d205f2c2063686f726429203a20736f727443686f72647320262620736f727443686f7264732e5f3b0a20207d3b0a0a202072657475726e2063686f72643b0a7d0a0a76617220736c6963652432203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e20636f6e7374616e742435287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a7661722070692432203d204d6174682e50492c0a202020207461752432203d2032202a20706924322c0a20202020657073696c6f6e2431203d2031652d362c0a20202020746175457073696c6f6e203d207461752432202d20657073696c6f6e24313b0a0a66756e6374696f6e20506174682829207b0a2020746869732e5f7830203d20746869732e5f7930203d202f2f207374617274206f662063757272656e7420737562706174680a2020746869732e5f7831203d20746869732e5f7931203d206e756c6c3b202f2f20656e64206f662063757272656e7420737562706174680a2020746869732e5f203d2022223b0a7d0a0a66756e6374696f6e20706174682829207b0a202072657475726e206e657720506174683b0a7d0a0a506174682e70726f746f74797065203d20706174682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20506174682c0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b79293b0a20207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b0a2020202069662028746869732e5f783120213d3d206e756c6c29207b0a202020202020746869732e5f7831203d20746869732e5f78302c20746869732e5f7931203d20746869732e5f79303b0a202020202020746869732e5f202b3d20225a223b0a202020207d0a20207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a20207175616472617469634375727665546f3a2066756e6374696f6e2878312c2079312c20782c207929207b0a20202020746869732e5f202b3d20225122202b20282b783129202b20222c22202b20282b793129202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b0a20202020746869732e5f202b3d20224322202b20282b783129202b20222c22202b20282b793129202b20222c22202b20282b783229202b20222c22202b20282b793229202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a2020617263546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c207229207b0a202020207831203d202b78312c207931203d202b79312c207832203d202b78322c207932203d202b79322c2072203d202b723b0a20202020766172207830203d20746869732e5f78312c0a20202020202020207930203d20746869732e5f79312c0a2020202020202020783231203d207832202d2078312c0a2020202020202020793231203d207932202d2079312c0a2020202020202020783031203d207830202d2078312c0a2020202020202020793031203d207930202d2079312c0a20202020202020206c30315f32203d20783031202a20783031202b20793031202a207930313b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878312c7931292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f722c206973202878312c79312920636f696e636964656e742077697468202878302c7930293f20446f206e6f7468696e672e0a20202020656c7365206966202821286c30315f32203e20657073696c6f6e24312929207b7d0a0a202020202f2f204f722c20617265202878302c7930292c202878312c79312920616e64202878322c79322920636f6c6c696e6561723f0a202020202f2f204571756976616c656e746c792c206973202878312c79312920636f696e636964656e742077697468202878322c7932293f0a202020202f2f204f722c2069732074686520726164697573207a65726f3f204c696e6520746f202878312c7931292e0a20202020656c7365206966202821284d6174682e61627328793031202a20783231202d20793231202a2078303129203e20657073696c6f6e243129207c7c20217229207b0a202020202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f74686572776973652c206472617720616e20617263210a20202020656c7365207b0a20202020202076617220783230203d207832202d2078302c0a20202020202020202020793230203d207932202d2079302c0a202020202020202020206c32315f32203d20783231202a20783231202b20793231202a207932312c0a202020202020202020206c32305f32203d20783230202a20783230202b20793230202a207932302c0a202020202020202020206c3231203d204d6174682e73717274286c32315f32292c0a202020202020202020206c3031203d204d6174682e73717274286c30315f32292c0a202020202020202020206c203d2072202a204d6174682e74616e282870692432202d204d6174682e61636f7328286c32315f32202b206c30315f32202d206c32305f3229202f202832202a206c3231202a206c3031292929202f2032292c0a20202020202020202020743031203d206c202f206c30312c0a20202020202020202020743231203d206c202f206c32313b0a0a2020202020202f2f204966207468652073746172742074616e67656e74206973206e6f7420636f696e636964656e742077697468202878302c7930292c206c696e6520746f2e0a202020202020696620284d6174682e61627328743031202d203129203e20657073696c6f6e243129207b0a2020202020202020746869732e5f202b3d20224c22202b20287831202b20743031202a2078303129202b20222c22202b20287931202b20743031202a20793031293b0a2020202020207d0a0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c302c22202b20282b28793031202a20783230203e20783031202a207932302929202b20222c22202b2028746869732e5f7831203d207831202b20743231202a2078323129202b20222c22202b2028746869732e5f7931203d207931202b20743231202a20793231293b0a202020207d0a20207d2c0a20206172633a2066756e6374696f6e28782c20792c20722c2061302c2061312c2063637729207b0a2020202078203d202b782c2079203d202b792c2072203d202b723b0a20202020766172206478203d2072202a204d6174682e636f73286130292c0a20202020202020206479203d2072202a204d6174682e73696e286130292c0a20202020202020207830203d2078202b2064782c0a20202020202020207930203d2079202b2064792c0a20202020202020206377203d2031205e206363772c0a20202020202020206461203d20636377203f206130202d206131203a206131202d2061303b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878302c7930292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f204f722c206973202878302c793029206e6f7420636f696e636964656e742077697468207468652070726576696f757320706f696e743f204c696e6520746f202878302c7930292e0a20202020656c736520696620284d6174682e61627328746869732e5f7831202d20783029203e20657073696c6f6e2431207c7c204d6174682e61627328746869732e5f7931202d20793029203e20657073696c6f6e243129207b0a202020202020746869732e5f202b3d20224c22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f20497320746869732061726320656d7074793f205765e28099726520646f6e652e0a20202020696620282172292072657475726e3b0a0a202020202f2f20446f65732074686520616e676c6520676f207468652077726f6e67207761793f20466c69702074686520646972656374696f6e2e0a20202020696620286461203c203029206461203d2064612025207461752432202b2074617524323b0a0a202020202f2f2049732074686973206120636f6d706c65746520636972636c653f20447261772074776f206172637320746f20636f6d706c6574652074686520636972636c652e0a20202020696620286461203e20746175457073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b202878202d20647829202b20222c22202b202879202d20647929202b20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b2028746869732e5f7831203d20783029202b20222c22202b2028746869732e5f7931203d207930293b0a202020207d0a0a202020202f2f204973207468697320617263206e6f6e2d656d7074793f204472617720616e20617263210a20202020656c736520696620286461203e20657073696c6f6e243129207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c22202b20282b286461203e3d20706924322929202b20222c22202b206377202b20222c22202b2028746869732e5f7831203d2078202b2072202a204d6174682e636f732861312929202b20222c22202b2028746869732e5f7931203d2079202b2072202a204d6174682e73696e28613129293b0a202020207d0a20207d2c0a2020726563743a2066756e6374696f6e28782c20792c20772c206829207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b7929202b20226822202b20282b7729202b20227622202b20282b6829202b20226822202b20282d7729202b20225a223b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a66756e6374696f6e2064656661756c74536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e2064656661756c74546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e20642e7261646975733b0a7d0a0a66756e6374696f6e2064656661756c745374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e2064656661756c74456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20726962626f6e2829207b0a202076617220736f75726365203d2064656661756c74536f757263652c0a202020202020746172676574203d2064656661756c745461726765742c0a202020202020726164697573203d2064656661756c745261646975732c0a2020202020207374617274416e676c65203d2064656661756c745374617274416e676c652c0a202020202020656e64416e676c65203d2064656661756c74456e64416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e20726962626f6e2829207b0a20202020766172206275666665722c0a202020202020202061726776203d20736c69636524322e63616c6c28617267756d656e7473292c0a202020202020202073203d20736f757263652e6170706c7928746869732c2061726776292c0a202020202020202074203d207461726765742e6170706c7928746869732c2061726776292c0a20202020202020207372203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c0a2020202020202020736130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020736131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020737830203d207372202a20636f7328736130292c0a2020202020202020737930203d207372202a2073696e28736130292c0a20202020202020207472203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c0a2020202020202020746130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c66506924312c0a2020202020202020746131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c66506924313b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a0a20202020636f6e746578742e6d6f7665546f287378302c20737930293b0a20202020636f6e746578742e61726328302c20302c2073722c207361302c20736131293b0a202020206966202873613020213d3d20746130207c7c2073613120213d3d2074613129207b202f2f20544f444f20737220213d3d2074723f0a202020202020636f6e746578742e7175616472617469634375727665546f28302c20302c207472202a20636f7328746130292c207472202a2073696e2874613029293b0a202020202020636f6e746578742e61726328302c20302c2074722c207461302c20746131293b0a202020207d0a20202020636f6e746578742e7175616472617469634375727665546f28302c20302c207378302c20737930293b0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a2020726962626f6e2e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a207261646975733b0a20207d3b0a0a2020726962626f6e2e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a207374617274416e676c653b0a20207d3b0a0a2020726962626f6e2e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742435282b5f292c20726962626f6e29203a20656e64416e676c653b0a20207d3b0a0a2020726962626f6e2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c20726962626f6e29203a20736f757263653b0a20207d3b0a0a2020726962626f6e2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c20726962626f6e29203a207461726765743b0a20207d3b0a0a2020726962626f6e2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c20726962626f6e29203a20636f6e746578743b0a20207d3b0a0a202072657475726e20726962626f6e3b0a7d0a0a76617220707265666978203d202224223b0a0a66756e6374696f6e204d61702829207b7d0a0a4d61702e70726f746f74797065203d206d617024312e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204d61702c0a20206861733a2066756e6374696f6e286b657929207b0a2020202072657475726e2028707265666978202b206b65792920696e20746869733b0a20207d2c0a20206765743a2066756e6374696f6e286b657929207b0a2020202072657475726e20746869735b707265666978202b206b65795d3b0a20207d2c0a20207365743a2066756e6374696f6e286b65792c2076616c756529207b0a20202020746869735b707265666978202b206b65795d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286b657929207b0a202020207661722070726f7065727479203d20707265666978202b206b65793b0a2020202072657475726e2070726f706572747920696e20746869732026262064656c65746520746869735b70726f70657274795d3b0a20207d2c0a2020636c6561723a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292064656c65746520746869735b70726f70657274795d3b0a20207d2c0a20206b6579733a2066756e6374696f6e2829207b0a20202020766172206b657973203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206b6579732e707573682870726f70657274792e736c696365283129293b0a2020202072657475726e206b6579733b0a20207d2c0a202076616c7565733a2066756e6374696f6e2829207b0a202020207661722076616c756573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292076616c7565732e7075736828746869735b70726f70657274795d293b0a2020202072657475726e2076616c7565733b0a20207d2c0a2020656e74726965733a2066756e6374696f6e2829207b0a2020202076617220656e7472696573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d207072656669782920656e74726965732e70757368287b6b65793a2070726f70657274792e736c6963652831292c2076616c75653a20746869735b70726f70657274795d7d293b0a2020202072657475726e20656e74726965733b0a20207d2c0a202073697a653a2066756e6374696f6e2829207b0a202020207661722073697a65203d20303b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829202b2b73697a653b0a2020202072657475726e2073697a653b0a20207d2c0a2020656d7074793a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d2c0a2020656163683a2066756e6374696f6e286629207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206628746869735b70726f70657274795d2c2070726f70657274792e736c6963652831292c2074686973293b0a20207d0a7d3b0a0a66756e6374696f6e206d61702431286f626a6563742c206629207b0a2020766172206d6170203d206e6577204d61703b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f66204d617029206f626a6563742e656163682866756e6374696f6e2876616c75652c206b657929207b206d61702e736574286b65792c2076616c7565293b207d293b0a0a20202f2f20496e646578206172726179206279206e756d6572696320696e646578206f7220737065636966696564206b65792066756e6374696f6e2e0a2020656c7365206966202841727261792e69734172726179286f626a6563742929207b0a202020207661722069203d202d312c0a20202020202020206e203d206f626a6563742e6c656e6774682c0a20202020202020206f3b0a0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29206d61702e73657428692c206f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29206d61702e7365742866286f203d206f626a6563745b695d2c20692c206f626a656374292c206f293b0a20207d0a0a20202f2f20436f6e76657274206f626a65637420746f206d61702e0a2020656c736520696620286f626a6563742920666f722028766172206b657920696e206f626a65637429206d61702e736574286b65792c206f626a6563745b6b65795d293b0a0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e206e6573742829207b0a2020766172206b657973203d205b5d2c0a202020202020736f72744b657973203d205b5d2c0a202020202020736f727456616c7565732c0a202020202020726f6c6c75702c0a2020202020206e6573743b0a0a202066756e6374696f6e206170706c792861727261792c2064657074682c20637265617465526573756c742c20736574526573756c7429207b0a20202020696620286465707468203e3d206b6579732e6c656e67746829207b0a20202020202069662028736f727456616c75657320213d206e756c6c292061727261792e736f727428736f727456616c756573293b0a20202020202072657475726e20726f6c6c757020213d206e756c6c203f20726f6c6c757028617272617929203a2061727261793b0a202020207d0a0a202020207661722069203d202d312c0a20202020202020206e203d2061727261792e6c656e6774682c0a20202020202020206b6579203d206b6579735b64657074682b2b5d2c0a20202020202020206b657956616c75652c0a202020202020202076616c75652c0a202020202020202076616c75657342794b6579203d206d6170243128292c0a202020202020202076616c7565732c0a2020202020202020726573756c74203d20637265617465526573756c7428293b0a0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c756573203d2076616c75657342794b65792e676574286b657956616c7565203d206b65792876616c7565203d2061727261795b695d29202b2022222929207b0a202020202020202076616c7565732e707573682876616c7565293b0a2020202020207d20656c7365207b0a202020202020202076616c75657342794b65792e736574286b657956616c75652c205b76616c75655d293b0a2020202020207d0a202020207d0a0a2020202076616c75657342794b65792e656163682866756e6374696f6e2876616c7565732c206b657929207b0a202020202020736574526573756c7428726573756c742c206b65792c206170706c792876616c7565732c2064657074682c20637265617465526573756c742c20736574526573756c7429293b0a202020207d293b0a0a2020202072657475726e20726573756c743b0a20207d0a0a202066756e6374696f6e20656e7472696573286d61702c20646570746829207b0a20202020696620282b2b6465707468203e206b6579732e6c656e677468292072657475726e206d61703b0a202020207661722061727261792c20736f72744b6579203d20736f72744b6579735b6465707468202d20315d3b0a2020202069662028726f6c6c757020213d206e756c6c202626206465707468203e3d206b6579732e6c656e67746829206172726179203d206d61702e656e747269657328293b0a20202020656c7365206172726179203d205b5d2c206d61702e656163682866756e6374696f6e28762c206b29207b2061727261792e70757368287b6b65793a206b2c2076616c7565733a20656e747269657328762c206465707468297d293b207d293b0a2020202072657475726e20736f72744b657920213d206e756c6c203f2061727261792e736f72742866756e6374696f6e28612c206229207b2072657475726e20736f72744b657928612e6b65792c20622e6b6579293b207d29203a2061727261793b0a20207d0a0a202072657475726e206e657374203d207b0a202020206f626a6563743a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654f626a6563742c207365744f626a656374293b207d2c0a202020206d61703a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654d61702c207365744d6170293b207d2c0a20202020656e74726965733a2066756e6374696f6e28617272617929207b2072657475726e20656e7472696573286170706c792861727261792c20302c206372656174654d61702c207365744d6170292c2030293b207d2c0a202020206b65793a2066756e6374696f6e286429207b206b6579732e707573682864293b2072657475726e206e6573743b207d2c0a20202020736f72744b6579733a2066756e6374696f6e286f7264657229207b20736f72744b6579735b6b6579732e6c656e677468202d20315d203d206f726465723b2072657475726e206e6573743b207d2c0a20202020736f727456616c7565733a2066756e6374696f6e286f7264657229207b20736f727456616c756573203d206f726465723b2072657475726e206e6573743b207d2c0a20202020726f6c6c75703a2066756e6374696f6e286629207b20726f6c6c7570203d20663b2072657475726e206e6573743b207d0a20207d3b0a7d0a0a66756e6374696f6e206372656174654f626a6563742829207b0a202072657475726e207b7d3b0a7d0a0a66756e6374696f6e207365744f626a656374286f626a6563742c206b65792c2076616c756529207b0a20206f626a6563745b6b65795d203d2076616c75653b0a7d0a0a66756e6374696f6e206372656174654d61702829207b0a202072657475726e206d6170243128293b0a7d0a0a66756e6374696f6e207365744d6170286d61702c206b65792c2076616c756529207b0a20206d61702e736574286b65792c2076616c7565293b0a7d0a0a66756e6374696f6e205365742829207b7d0a0a7661722070726f746f203d206d617024312e70726f746f747970653b0a0a5365742e70726f746f74797065203d2073657424322e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205365742c0a20206861733a2070726f746f2e6861732c0a20206164643a2066756e6374696f6e2876616c756529207b0a2020202076616c7565202b3d2022223b0a20202020746869735b707265666978202b2076616c75655d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2070726f746f2e72656d6f76652c0a2020636c6561723a2070726f746f2e636c6561722c0a202076616c7565733a2070726f746f2e6b6579732c0a202073697a653a2070726f746f2e73697a652c0a2020656d7074793a2070726f746f2e656d7074792c0a2020656163683a2070726f746f2e656163680a7d3b0a0a66756e6374696f6e207365742432286f626a6563742c206629207b0a202076617220736574203d206e6577205365743b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f662053657429206f626a6563742e656163682866756e6374696f6e2876616c756529207b207365742e6164642876616c7565293b207d293b0a0a20202f2f204f74686572776973652c20617373756d65206974e280997320616e2061727261792e0a2020656c736520696620286f626a65637429207b0a202020207661722069203d202d312c206e203d206f626a6563742e6c656e6774683b0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29207365742e616464286f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29207365742e6164642866286f626a6563745b695d2c20692c206f626a65637429293b0a20207d0a0a202072657475726e207365743b0a7d0a0a66756e6374696f6e206b657973286d617029207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206d617029206b6579732e70757368286b6579293b0a202072657475726e206b6579733b0a7d0a0a66756e6374696f6e2076616c756573286d617029207b0a20207661722076616c756573203d205b5d3b0a2020666f722028766172206b657920696e206d6170292076616c7565732e70757368286d61705b6b65795d293b0a202072657475726e2076616c7565733b0a7d0a0a66756e6374696f6e20656e7472696573286d617029207b0a202076617220656e7472696573203d205b5d3b0a2020666f722028766172206b657920696e206d61702920656e74726965732e70757368287b6b65793a206b65792c2076616c75653a206d61705b6b65795d7d293b0a202072657475726e20656e74726965733b0a7d0a0a7661722061727261792432203d2041727261792e70726f746f747970653b0a0a76617220736c6963652433203d20617272617924322e736c6963653b0a0a66756e6374696f6e20617363656e64696e67243228612c206229207b0a202072657475726e2061202d20623b0a7d0a0a66756e6374696f6e20617265612872696e6729207b0a20207661722069203d20302c206e203d2072696e672e6c656e6774682c2061726561203d2072696e675b6e202d20315d5b315d202a2072696e675b305d5b305d202d2072696e675b6e202d20315d5b305d202a2072696e675b305d5b315d3b0a20207768696c6520282b2b69203c206e292061726561202b3d2072696e675b69202d20315d5b315d202a2072696e675b695d5b305d202d2072696e675b69202d20315d5b305d202a2072696e675b695d5b315d3b0a202072657475726e20617265613b0a7d0a0a66756e6374696f6e20636f6e7374616e742436287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e7461696e732872696e672c20686f6c6529207b0a20207661722069203d202d312c206e203d20686f6c652e6c656e6774682c20633b0a20207768696c6520282b2b69203c206e29206966202863203d2072696e67436f6e7461696e732872696e672c20686f6c655b695d29292072657475726e20633b0a202072657475726e20303b0a7d0a0a66756e6374696f6e2072696e67436f6e7461696e732872696e672c20706f696e7429207b0a20207661722078203d20706f696e745b305d2c2079203d20706f696e745b315d2c20636f6e7461696e73203d202d313b0a2020666f7220287661722069203d20302c206e203d2072696e672e6c656e6774682c206a203d206e202d20313b2069203c206e3b206a203d20692b2b29207b0a20202020766172207069203d2072696e675b695d2c207869203d2070695b305d2c207969203d2070695b315d2c20706a203d2072696e675b6a5d2c20786a203d20706a5b305d2c20796a203d20706a5b315d3b0a20202020696620287365676d656e74436f6e7461696e732870692c20706a2c20706f696e7429292072657475726e20303b0a202020206966202828287969203e20792920213d3d2028796a203e2079292920262620282878203c2028786a202d20786929202a202879202d20796929202f2028796a202d20796929202b20786929292920636f6e7461696e73203d202d636f6e7461696e733b0a20207d0a202072657475726e20636f6e7461696e733b0a7d0a0a66756e6374696f6e207365676d656e74436f6e7461696e7328612c20622c206329207b0a202076617220693b2072657475726e20636f6c6c696e65617228612c20622c2063292026262077697468696e28615b69203d202b28615b305d203d3d3d20625b305d295d2c20635b695d2c20625b695d293b0a7d0a0a66756e6374696f6e20636f6c6c696e65617228612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29203d3d3d2028635b305d202d20615b305d29202a2028625b315d202d20615b315d293b0a7d0a0a66756e6374696f6e2077697468696e28702c20712c207229207b0a202072657475726e2070203c3d20712026262071203c3d2072207c7c2072203c3d20712026262071203c3d20703b0a7d0a0a66756e6374696f6e206e6f6f7024312829207b7d0a0a766172206361736573203d205b0a20205b5d2c0a20205b5b5b312e302c20312e355d2c205b302e352c20312e305d5d5d2c0a20205b5b5b312e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e352c20312e305d2c205b302e352c20312e305d5d5d2c0a20205b5b5b312e302c20302e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20312e355d2c205b302e352c20312e305d5d2c205b5b312e302c20302e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20302e355d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e302c20302e355d2c205b302e352c20312e305d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20302e355d5d5d2c0a20205b5b5b312e302c20312e355d2c205b312e302c20302e355d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20302e355d5d2c205b5b312e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5b5b312e352c20312e305d2c205b312e302c20302e355d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e352c20312e305d5d5d2c0a20205b5b5b312e302c20312e355d2c205b312e352c20312e305d5d5d2c0a20205b5b5b302e352c20312e305d2c205b312e302c20312e355d5d5d2c0a20205b5d0a5d3b0a0a66756e6374696f6e20636f6e746f7572732829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a2020202020207468726573686f6c64242431203d207468726573686f6c64537475726765732c0a202020202020736d6f6f7468203d20736d6f6f74684c696e6561723b0a0a202066756e6374696f6e20636f6e746f7572732876616c75657329207b0a2020202076617220747a203d207468726573686f6c642424312876616c756573293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a20202020202076617220646f6d61696e203d20657874656e742876616c756573292c207374617274203d20646f6d61696e5b305d2c2073746f70203d20646f6d61696e5b315d3b0a202020202020747a203d207469636b537465702873746172742c2073746f702c20747a293b0a202020202020747a203d2073657175656e6365284d6174682e666c6f6f72287374617274202f20747a29202a20747a2c204d6174682e666c6f6f722873746f70202f20747a29202a20747a2c20747a293b0a202020207d20656c7365207b0a202020202020747a203d20747a2e736c69636528292e736f727428617363656e64696e672432293b0a202020207d0a0a2020202072657475726e20747a2e6d61702866756e6374696f6e2876616c756529207b0a20202020202072657475726e20636f6e746f75722876616c7565732c2076616c7565293b0a202020207d293b0a20207d0a0a20202f2f20416363756d756c6174652c20736d6f6f746820636f6e746f75722072696e67732c2061737369676e20686f6c657320746f206578746572696f722072696e67732e0a20202f2f204261736564206f6e2068747470733a2f2f6769746875622e636f6d2f6d626f73746f636b2f736861706566696c652f626c6f622f76302e362e322f7368702f706f6c79676f6e2e6a730a202066756e6374696f6e20636f6e746f75722876616c7565732c2076616c756529207b0a2020202076617220706f6c79676f6e73203d205b5d2c0a2020202020202020686f6c6573203d205b5d3b0a0a2020202069736f72696e67732876616c7565732c2076616c75652c2066756e6374696f6e2872696e6729207b0a202020202020736d6f6f74682872696e672c2076616c7565732c2076616c7565293b0a20202020202069662028617265612872696e6729203e20302920706f6c79676f6e732e70757368285b72696e675d293b0a202020202020656c736520686f6c65732e707573682872696e67293b0a202020207d293b0a0a20202020686f6c65732e666f72456163682866756e6374696f6e28686f6c6529207b0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e732e6c656e6774682c20706f6c79676f6e3b2069203c206e3b202b2b6929207b0a202020202020202069662028636f6e7461696e732828706f6c79676f6e203d20706f6c79676f6e735b695d295b305d2c20686f6c652920213d3d202d3129207b0a20202020202020202020706f6c79676f6e2e7075736828686f6c65293b0a2020202020202020202072657475726e3b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e207b0a202020202020747970653a20224d756c7469506f6c79676f6e222c0a20202020202076616c75653a2076616c75652c0a202020202020636f6f7264696e617465733a20706f6c79676f6e730a202020207d3b0a20207d0a0a20202f2f204d61726368696e67207371756172657320776974682069736f6c696e657320737469746368656420696e746f2072696e67732e0a20202f2f204261736564206f6e2068747470733a2f2f6769746875622e636f6d2f746f706f6a736f6e2f746f706f6a736f6e2d636c69656e742f626c6f622f76332e302e302f7372632f7374697463682e6a730a202066756e6374696f6e2069736f72696e67732876616c7565732c2076616c75652c2063616c6c6261636b29207b0a2020202076617220667261676d656e7442795374617274203d206e65772041727261792c0a2020202020202020667261676d656e744279456e64203d206e65772041727261792c0a2020202020202020782c20792c2074302c2074312c2074322c2074333b0a0a202020202f2f205370656369616c206361736520666f722074686520666972737420726f77202879203d202d312c207432203d207433203d2030292e0a2020202078203d2079203d202d313b0a202020207431203d2076616c7565735b305d203e3d2076616c75653b0a2020202063617365735b7431203c3c20315d2e666f724561636828737469746368293b0a202020207768696c6520282b2b78203c206478202d203129207b0a2020202020207430203d2074312c207431203d2076616c7565735b78202b20315d203e3d2076616c75653b0a20202020202063617365735b7430207c207431203c3c20315d2e666f724561636828737469746368293b0a202020207d0a2020202063617365735b7431203c3c20305d2e666f724561636828737469746368293b0a0a202020202f2f2047656e6572616c206361736520666f722074686520696e7465726d65646961746520726f77732e0a202020207768696c6520282b2b79203c206479202d203129207b0a20202020202078203d202d313b0a2020202020207431203d2076616c7565735b79202a206478202b2064785d203e3d2076616c75653b0a2020202020207432203d2076616c7565735b79202a2064785d203e3d2076616c75653b0a20202020202063617365735b7431203c3c2031207c207432203c3c20325d2e666f724561636828737469746368293b0a2020202020207768696c6520282b2b78203c206478202d203129207b0a20202020202020207430203d2074312c207431203d2076616c7565735b79202a206478202b206478202b2078202b20315d203e3d2076616c75653b0a20202020202020207433203d2074322c207432203d2076616c7565735b79202a206478202b2078202b20315d203e3d2076616c75653b0a202020202020202063617365735b7430207c207431203c3c2031207c207432203c3c2032207c207433203c3c20335d2e666f724561636828737469746368293b0a2020202020207d0a20202020202063617365735b7431207c207432203c3c20335d2e666f724561636828737469746368293b0a202020207d0a0a202020202f2f205370656369616c206361736520666f7220746865206c61737420726f77202879203d206479202d20312c207430203d207431203d2030292e0a2020202078203d202d313b0a202020207432203d2076616c7565735b79202a2064785d203e3d2076616c75653b0a2020202063617365735b7432203c3c20325d2e666f724561636828737469746368293b0a202020207768696c6520282b2b78203c206478202d203129207b0a2020202020207433203d2074322c207432203d2076616c7565735b79202a206478202b2078202b20315d203e3d2076616c75653b0a20202020202063617365735b7432203c3c2032207c207433203c3c20335d2e666f724561636828737469746368293b0a202020207d0a2020202063617365735b7432203c3c20335d2e666f724561636828737469746368293b0a0a2020202066756e6374696f6e20737469746368286c696e6529207b0a202020202020766172207374617274203d205b6c696e655b305d5b305d202b20782c206c696e655b305d5b315d202b20795d2c0a20202020202020202020656e64203d205b6c696e655b315d5b305d202b20782c206c696e655b315d5b315d202b20795d2c0a202020202020202020207374617274496e646578203d20696e646578287374617274292c0a20202020202020202020656e64496e646578203d20696e64657828656e64292c0a20202020202020202020662c20673b0a2020202020206966202866203d20667261676d656e744279456e645b7374617274496e6465785d29207b0a20202020202020206966202867203d20667261676d656e74427953746172745b656e64496e6465785d29207b0a2020202020202020202064656c65746520667261676d656e744279456e645b662e656e645d3b0a2020202020202020202064656c65746520667261676d656e74427953746172745b672e73746172745d3b0a202020202020202020206966202866203d3d3d206729207b0a202020202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020202063616c6c6261636b28662e72696e67293b0a202020202020202020207d20656c7365207b0a202020202020202020202020667261676d656e74427953746172745b662e73746172745d203d20667261676d656e744279456e645b672e656e645d203d207b73746172743a20662e73746172742c20656e643a20672e656e642c2072696e673a20662e72696e672e636f6e63617428672e72696e67297d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202064656c65746520667261676d656e744279456e645b662e656e645d3b0a20202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020667261676d656e744279456e645b662e656e64203d20656e64496e6465785d203d20663b0a20202020202020207d0a2020202020207d20656c7365206966202866203d20667261676d656e74427953746172745b656e64496e6465785d29207b0a20202020202020206966202867203d20667261676d656e744279456e645b7374617274496e6465785d29207b0a2020202020202020202064656c65746520667261676d656e74427953746172745b662e73746172745d3b0a2020202020202020202064656c65746520667261676d656e744279456e645b672e656e645d3b0a202020202020202020206966202866203d3d3d206729207b0a202020202020202020202020662e72696e672e7075736828656e64293b0a20202020202020202020202063616c6c6261636b28662e72696e67293b0a202020202020202020207d20656c7365207b0a202020202020202020202020667261676d656e74427953746172745b672e73746172745d203d20667261676d656e744279456e645b662e656e645d203d207b73746172743a20672e73746172742c20656e643a20662e656e642c2072696e673a20672e72696e672e636f6e63617428662e72696e67297d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202064656c65746520667261676d656e74427953746172745b662e73746172745d3b0a20202020202020202020662e72696e672e756e7368696674287374617274293b0a20202020202020202020667261676d656e74427953746172745b662e7374617274203d207374617274496e6465785d203d20663b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020667261676d656e74427953746172745b7374617274496e6465785d203d20667261676d656e744279456e645b656e64496e6465785d203d207b73746172743a207374617274496e6465782c20656e643a20656e64496e6465782c2072696e673a205b73746172742c20656e645d7d3b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e64657828706f696e7429207b0a2020202072657475726e20706f696e745b305d202a2032202b20706f696e745b315d202a20286478202b203129202a20343b0a20207d0a0a202066756e6374696f6e20736d6f6f74684c696e6561722872696e672c2076616c7565732c2076616c756529207b0a2020202072696e672e666f72456163682866756e6374696f6e28706f696e7429207b0a2020202020207661722078203d20706f696e745b305d2c0a2020202020202020202079203d20706f696e745b315d2c0a202020202020202020207874203d2078207c20302c0a202020202020202020207974203d2079207c20302c0a2020202020202020202076302c0a202020202020202020207631203d2076616c7565735b7974202a206478202b2078745d3b0a2020202020206966202878203e20302026262078203c206478202626207874203d3d3d207829207b0a20202020202020207630203d2076616c7565735b7974202a206478202b207874202d20315d3b0a2020202020202020706f696e745b305d203d2078202b202876616c7565202d20763029202f20287631202d20763029202d20302e353b0a2020202020207d0a2020202020206966202879203e20302026262079203c206479202626207974203d3d3d207929207b0a20202020202020207630203d2076616c7565735b287974202d203129202a206478202b2078745d3b0a2020202020202020706f696e745b315d203d2079202b202876616c7565202d20763029202f20287631202d20763029202d20302e353b0a2020202020207d0a202020207d293b0a20207d0a0a2020636f6e746f7572732e636f6e746f7572203d20636f6e746f75723b0a0a2020636f6e746f7572732e73697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a20202020766172205f30203d204d6174682e6365696c285f5b305d292c205f31203d204d6174682e6365696c285f5b315d293b0a202020206966202821285f30203e203029207c7c2021285f31203e20302929207468726f77206e6577204572726f722822696e76616c69642073697a6522293b0a2020202072657475726e206478203d205f302c206479203d205f312c20636f6e746f7572733b0a20207d3b0a0a2020636f6e746f7572732e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e74243628736c69636524332e63616c6c285f2929203a20636f6e7374616e742436285f292c20636f6e746f75727329203a207468726573686f6c642424313b0a20207d3b0a0a2020636f6e746f7572732e736d6f6f7468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736d6f6f7468203d205f203f20736d6f6f74684c696e656172203a206e6f6f7024312c20636f6e746f75727329203a20736d6f6f7468203d3d3d20736d6f6f74684c696e6561723b0a20207d3b0a0a202072657475726e20636f6e746f7572733b0a7d0a0a2f2f20544f444f204f7074696d697a6520656467652063617365732e0a2f2f20544f444f204f7074696d697a6520696e6465782063616c63756c6174696f6e2e0a2f2f20544f444f204f7074696d697a6520617267756d656e74732e0a66756e6374696f6e20626c75725828736f757263652c207461726765742c207229207b0a2020766172206e203d20736f757263652e77696474682c0a2020202020206d203d20736f757263652e6865696768742c0a20202020202077203d202872203c3c203129202b20313b0a2020666f722028766172206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207372203d20303b2069203c206e202b20723b202b2b6929207b0a2020202020206966202869203c206e29207b0a20202020202020207372202b3d20736f757263652e646174615b69202b206a202a206e5d3b0a2020202020207d0a2020202020206966202869203e3d207229207b0a20202020202020206966202869203e3d207729207b0a202020202020202020207372202d3d20736f757263652e646174615b69202d2077202b206a202a206e5d3b0a20202020202020207d0a20202020202020207461726765742e646174615b69202d2072202b206a202a206e5d203d207372202f204d6174682e6d696e2869202b20312c206e202d2031202b2077202d20692c2077293b0a2020202020207d0a202020207d0a20207d0a7d0a0a2f2f20544f444f204f7074696d697a6520656467652063617365732e0a2f2f20544f444f204f7074696d697a6520696e6465782063616c63756c6174696f6e2e0a2f2f20544f444f204f7074696d697a6520617267756d656e74732e0a66756e6374696f6e20626c75725928736f757263652c207461726765742c207229207b0a2020766172206e203d20736f757263652e77696474682c0a2020202020206d203d20736f757263652e6865696768742c0a20202020202077203d202872203c3c203129202b20313b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a20202020666f722028766172206a203d20302c207372203d20303b206a203c206d202b20723b202b2b6a29207b0a202020202020696620286a203c206d29207b0a20202020202020207372202b3d20736f757263652e646174615b69202b206a202a206e5d3b0a2020202020207d0a202020202020696620286a203e3d207229207b0a2020202020202020696620286a203e3d207729207b0a202020202020202020207372202d3d20736f757263652e646174615b69202b20286a202d207729202a206e5d3b0a20202020202020207d0a20202020202020207461726765742e646174615b69202b20286a202d207229202a206e5d203d207372202f204d6174682e6d696e286a202b20312c206d202d2031202b2077202d206a2c2077293b0a2020202020207d0a202020207d0a20207d0a7d0a0a66756e6374696f6e2064656661756c7458286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e2064656661756c7459286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e2064656e736974792829207b0a20207661722078203d2064656661756c74582c0a20202020202079203d2064656661756c74592c0a2020202020206478203d203936302c0a2020202020206479203d203530302c0a20202020202072203d2032302c202f2f20626c7572207261646975730a2020202020206b203d20322c202f2f206c6f673228677269642063656c6c2073697a65290a2020202020206f203d2072202a20332c202f2f2067726964206f66667365742c20746f2070616420666f7220626c75720a2020202020206e203d20286478202b206f202a203229203e3e206b2c202f2f20677269642077696474680a2020202020206d203d20286479202b206f202a203229203e3e206b2c202f2f2067726964206865696768740a2020202020207468726573686f6c64242431203d20636f6e7374616e742436283230293b0a0a202066756e6374696f6e2064656e73697479286461746129207b0a202020207661722076616c75657330203d206e657720466c6f617433324172726179286e202a206d292c0a202020202020202076616c75657331203d206e657720466c6f617433324172726179286e202a206d293b0a0a20202020646174612e666f72456163682866756e6374696f6e28642c20692c206461746129207b0a202020202020766172207869203d20287828642c20692c206461746129202b206f29203e3e206b2c0a202020202020202020207969203d20287928642c20692c206461746129202b206f29203e3e206b3b0a202020202020696620287869203e3d2030202626207869203c206e202626207969203e3d2030202626207969203c206d29207b0a20202020202020202b2b76616c756573305b7869202b207969202a206e5d3b0a2020202020207d0a202020207d293b0a0a202020202f2f20544f444f204f7074696d697a652e0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a20202020626c757258287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c2072203e3e206b293b0a20202020626c757259287b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573317d2c207b77696474683a206e2c206865696768743a206d2c20646174613a2076616c756573307d2c2072203e3e206b293b0a0a2020202076617220747a203d207468726573686f6c642424312876616c75657330293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a2020202020207661722073746f70203d206d61782876616c75657330293b0a202020202020747a203d207469636b5374657028302c2073746f702c20747a293b0a202020202020747a203d2073657175656e636528302c204d6174682e666c6f6f722873746f70202f20747a29202a20747a2c20747a293b0a202020202020747a2e736869667428293b0a202020207d0a0a2020202072657475726e20636f6e746f75727328290a20202020202020202e7468726573686f6c647328747a290a20202020202020202e73697a65285b6e2c206d5d290a2020202020202876616c75657330290a20202020202020202e6d6170287472616e73666f726d293b0a20207d0a0a202066756e6374696f6e207472616e73666f726d2867656f6d6574727929207b0a2020202067656f6d657472792e76616c7565202a3d204d6174682e706f7728322c202d32202a206b293b202f2f2044656e7369747920696e20706f696e7473207065722073717561726520706978656c2e0a2020202067656f6d657472792e636f6f7264696e617465732e666f7245616368287472616e73666f726d506f6c79676f6e293b0a2020202072657475726e2067656f6d657472793b0a20207d0a0a202066756e6374696f6e207472616e73666f726d506f6c79676f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e617465732e666f7245616368287472616e73666f726d52696e67293b0a20207d0a0a202066756e6374696f6e207472616e73666f726d52696e6728636f6f7264696e6174657329207b0a20202020636f6f7264696e617465732e666f7245616368287472616e73666f726d506f696e74293b0a20207d0a0a20202f2f20544f444f204f7074696d697a652e0a202066756e6374696f6e207472616e73666f726d506f696e7428636f6f7264696e6174657329207b0a20202020636f6f7264696e617465735b305d203d20636f6f7264696e617465735b305d202a204d6174682e706f7728322c206b29202d206f3b0a20202020636f6f7264696e617465735b315d203d20636f6f7264696e617465735b315d202a204d6174682e706f7728322c206b29202d206f3b0a20207d0a0a202066756e6374696f6e20726573697a652829207b0a202020206f203d2072202a20333b0a202020206e203d20286478202b206f202a203229203e3e206b3b0a202020206d203d20286479202b206f202a203229203e3e206b3b0a2020202072657475726e2064656e736974793b0a20207d0a0a202064656e736974792e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742436282b5f292c2064656e7369747929203a20783b0a20207d3b0a0a202064656e736974792e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742436282b5f292c2064656e7369747929203a20793b0a20207d3b0a0a202064656e736974792e73697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a20202020766172205f30203d204d6174682e6365696c285f5b305d292c205f31203d204d6174682e6365696c285f5b315d293b0a202020206966202821285f30203e3d2030292026262021285f30203e3d20302929207468726f77206e6577204572726f722822696e76616c69642073697a6522293b0a2020202072657475726e206478203d205f302c206479203d205f312c20726573697a6528293b0a20207d3b0a0a202064656e736974792e63656c6c53697a65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e2031203c3c206b3b0a20202020696620282128285f203d202b5f29203e3d20312929207468726f77206e6577204572726f722822696e76616c69642063656c6c2073697a6522293b0a2020202072657475726e206b203d204d6174682e666c6f6f72284d6174682e6c6f67285f29202f204d6174682e4c4e32292c20726573697a6528293b0a20207d3b0a0a202064656e736974792e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e74243628736c69636524332e63616c6c285f2929203a20636f6e7374616e742436285f292c2064656e7369747929203a207468726573686f6c642424313b0a20207d3b0a0a202064656e736974792e62616e647769647468203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e204d6174682e737172742872202a202872202b203129293b0a20202020696620282128285f203d202b5f29203e3d20302929207468726f77206e6577204572726f722822696e76616c69642062616e64776964746822293b0a2020202072657475726e2072203d204d6174682e726f756e6428284d6174682e737172742834202a205f202a205f202b203129202d203129202f2032292c20726573697a6528293b0a20207d3b0a0a202072657475726e2064656e736974793b0a7d0a0a76617220454f4c203d207b7d2c0a20202020454f46203d207b7d2c0a2020202051554f5445203d2033342c0a202020204e45574c494e45203d2031302c0a2020202052455455524e203d2031333b0a0a66756e6374696f6e206f626a656374436f6e76657274657228636f6c756d6e7329207b0a202072657475726e206e65772046756e6374696f6e282264222c202272657475726e207b22202b20636f6c756d6e732e6d61702866756e6374696f6e286e616d652c206929207b0a2020202072657475726e204a534f4e2e737472696e67696679286e616d6529202b20223a20645b22202b2069202b20225d223b0a20207d292e6a6f696e28222c2229202b20227d22293b0a7d0a0a66756e6374696f6e20637573746f6d436f6e76657274657228636f6c756d6e732c206629207b0a2020766172206f626a656374203d206f626a656374436f6e76657274657228636f6c756d6e73293b0a202072657475726e2066756e6374696f6e28726f772c206929207b0a2020202072657475726e2066286f626a65637428726f77292c20692c20636f6c756d6e73293b0a20207d3b0a7d0a0a2f2f20436f6d7075746520756e6971756520636f6c756d6e7320696e206f72646572206f6620646973636f766572792e0a66756e6374696f6e20696e666572436f6c756d6e7328726f777329207b0a202076617220636f6c756d6e536574203d204f626a6563742e637265617465286e756c6c292c0a202020202020636f6c756d6e73203d205b5d3b0a0a2020726f77732e666f72456163682866756e6374696f6e28726f7729207b0a20202020666f72202876617220636f6c756d6e20696e20726f7729207b0a202020202020696620282128636f6c756d6e20696e20636f6c756d6e5365742929207b0a2020202020202020636f6c756d6e732e7075736828636f6c756d6e5365745b636f6c756d6e5d203d20636f6c756d6e293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20636f6c756d6e733b0a7d0a0a66756e6374696f6e20647376466f726d61742864656c696d6974657229207b0a2020766172207265466f726d6174203d206e65772052656745787028225b5c2222202b2064656c696d69746572202b20225c6e5c725d22292c0a20202020202044454c494d49544552203d2064656c696d697465722e63686172436f646541742830293b0a0a202066756e6374696f6e20706172736528746578742c206629207b0a2020202076617220636f6e766572742c20636f6c756d6e732c20726f7773203d207061727365526f777328746578742c2066756e6374696f6e28726f772c206929207b0a20202020202069662028636f6e76657274292072657475726e20636f6e7665727428726f772c2069202d2031293b0a202020202020636f6c756d6e73203d20726f772c20636f6e76657274203d2066203f20637573746f6d436f6e76657274657228726f772c206629203a206f626a656374436f6e76657274657228726f77293b0a202020207d293b0a20202020726f77732e636f6c756d6e73203d20636f6c756d6e73207c7c205b5d3b0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e207061727365526f777328746578742c206629207b0a2020202076617220726f7773203d205b5d2c202f2f206f757470757420726f77730a20202020202020204e203d20746578742e6c656e6774682c0a202020202020202049203d20302c202f2f2063757272656e742063686172616374657220696e6465780a20202020202020206e203d20302c202f2f2063757272656e74206c696e65206e756d6265720a2020202020202020742c202f2f2063757272656e7420746f6b656e0a2020202020202020656f66203d204e203c3d20302c202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f463f0a2020202020202020656f6c203d2066616c73653b202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f4c3f0a0a202020202f2f2053747269702074686520747261696c696e67206e65776c696e652e0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d204e45574c494e4529202d2d4e3b0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d2052455455524e29202d2d4e3b0a0a2020202066756e6374696f6e20746f6b656e2829207b0a20202020202069662028656f66292072657475726e20454f463b0a20202020202069662028656f6c292072657475726e20656f6c203d2066616c73652c20454f4c3b0a0a2020202020202f2f20556e6573636170652071756f7465732e0a20202020202076617220692c206a203d20492c20633b0a20202020202069662028746578742e63686172436f64654174286a29203d3d3d2051554f544529207b0a20202020202020207768696c652028492b2b203c204e20262620746578742e63686172436f6465417428492920213d3d2051554f5445207c7c20746578742e63686172436f64654174282b2b4929203d3d3d2051554f5445293b0a2020202020202020696620282869203d204929203e3d204e2920656f66203d20747275653b0a2020202020202020656c736520696620282863203d20746578742e63686172436f6465417428492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a202020202020202072657475726e20746578742e736c696365286a202b20312c2069202d2031292e7265706c616365282f22222f672c20225c2222293b0a2020202020207d0a0a2020202020202f2f2046696e64206e6578742064656c696d69746572206f72206e65776c696e652e0a2020202020207768696c65202849203c204e29207b0a2020202020202020696620282863203d20746578742e63686172436f646541742869203d20492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a2020202020202020656c736520696620286320213d3d2044454c494d495445522920636f6e74696e75653b0a202020202020202072657475726e20746578742e736c696365286a2c2069293b0a2020202020207d0a0a2020202020202f2f2052657475726e206c61737420746f6b656e206265666f726520454f462e0a20202020202072657475726e20656f66203d20747275652c20746578742e736c696365286a2c204e293b0a202020207d0a0a202020207768696c6520282874203d20746f6b656e28292920213d3d20454f4629207b0a20202020202076617220726f77203d205b5d3b0a2020202020207768696c6520287420213d3d20454f4c202626207420213d3d20454f462920726f772e707573682874292c2074203d20746f6b656e28293b0a20202020202069662028662026262028726f77203d206628726f772c206e2b2b2929203d3d206e756c6c2920636f6e74696e75653b0a202020202020726f77732e7075736828726f77293b0a202020207d0a0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e20666f726d617428726f77732c20636f6c756d6e7329207b0a2020202069662028636f6c756d6e73203d3d206e756c6c2920636f6c756d6e73203d20696e666572436f6c756d6e7328726f7773293b0a2020202072657475726e205b636f6c756d6e732e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572295d2e636f6e63617428726f77732e6d61702866756e6374696f6e28726f7729207b0a20202020202072657475726e20636f6c756d6e732e6d61702866756e6374696f6e28636f6c756d6e29207b0a202020202020202072657475726e20666f726d617456616c756528726f775b636f6c756d6e5d293b0a2020202020207d292e6a6f696e2864656c696d69746572293b0a202020207d29292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f777328726f777329207b0a2020202072657475726e20726f77732e6d617028666f726d6174526f77292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f7728726f7729207b0a2020202072657475726e20726f772e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572293b0a20207d0a0a202066756e6374696f6e20666f726d617456616c7565287465787429207b0a2020202072657475726e2074657874203d3d206e756c6c203f2022220a20202020202020203a207265466f726d61742e746573742874657874202b3d20222229203f20225c2222202b20746578742e7265706c616365282f222f672c20225c225c222229202b20225c22220a20202020202020203a20746578743b0a20207d0a0a202072657475726e207b0a2020202070617273653a2070617273652c0a202020207061727365526f77733a207061727365526f77732c0a20202020666f726d61743a20666f726d61742c0a20202020666f726d6174526f77733a20666f726d6174526f77730a20207d3b0a7d0a0a76617220637376203d20647376466f726d617428222c22293b0a0a766172206373765061727365203d206373762e70617273653b0a766172206373765061727365526f7773203d206373762e7061727365526f77733b0a76617220637376466f726d6174203d206373762e666f726d61743b0a76617220637376466f726d6174526f7773203d206373762e666f726d6174526f77733b0a0a76617220747376203d20647376466f726d617428225c7422293b0a0a766172207473765061727365203d207473762e70617273653b0a766172207473765061727365526f7773203d207473762e7061727365526f77733b0a76617220747376466f726d6174203d207473762e666f726d61743b0a76617220747376466f726d6174526f7773203d207473762e666f726d6174526f77733b0a0a66756e6374696f6e20726573706f6e7365426c6f6228726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e626c6f6228293b0a7d0a0a66756e6374696f6e20626c6f6228696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e7365426c6f62293b0a7d0a0a66756e6374696f6e20726573706f6e7365417272617942756666657228726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e617272617942756666657228293b0a7d0a0a66756e6374696f6e2062756666657228696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e73654172726179427566666572293b0a7d0a0a66756e6374696f6e20726573706f6e73655465787428726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e7465787428293b0a7d0a0a66756e6374696f6e207465787428696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e736554657874293b0a7d0a0a66756e6374696f6e20647376506172736528706172736529207b0a202072657475726e2066756e6374696f6e28696e7075742c20696e69742c20726f7729207b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203220262620747970656f6620696e6974203d3d3d202266756e6374696f6e222920726f77203d20696e69742c20696e6974203d20756e646566696e65643b0a2020202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e28726573706f6e736529207b0a20202020202072657475726e20706172736528726573706f6e73652c20726f77293b0a202020207d293b0a20207d3b0a7d0a0a66756e6374696f6e206473762864656c696d697465722c20696e7075742c20696e69742c20726f7729207b0a202069662028617267756d656e74732e6c656e677468203d3d3d203320262620747970656f6620696e6974203d3d3d202266756e6374696f6e222920726f77203d20696e69742c20696e6974203d20756e646566696e65643b0a202076617220666f726d6174203d20647376466f726d61742864656c696d69746572293b0a202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e28726573706f6e736529207b0a2020202072657475726e20666f726d61742e706172736528726573706f6e73652c20726f77293b0a20207d293b0a7d0a0a766172206373762431203d206473765061727365286373765061727365293b0a766172207473762431203d206473765061727365287473765061727365293b0a0a66756e6374696f6e20696d61676528696e7075742c20696e697429207b0a202072657475726e206e65772050726f6d6973652866756e6374696f6e287265736f6c76652c2072656a65637429207b0a2020202076617220696d616765203d206e657720496d6167653b0a20202020666f722028766172206b657920696e20696e69742920696d6167655b6b65795d203d20696e69745b6b65795d3b0a20202020696d6167652e6f6e6572726f72203d2072656a6563743b0a20202020696d6167652e6f6e6c6f6164203d2066756e6374696f6e2829207b207265736f6c766528696d616765293b207d3b0a20202020696d6167652e737263203d20696e7075743b0a20207d293b0a7d0a0a66756e6374696f6e20726573706f6e73654a736f6e28726573706f6e736529207b0a20206966202821726573706f6e73652e6f6b29207468726f77206e6577204572726f7228726573706f6e73652e737461747573202b20222022202b20726573706f6e73652e73746174757354657874293b0a202072657475726e20726573706f6e73652e6a736f6e28293b0a7d0a0a66756e6374696f6e206a736f6e28696e7075742c20696e697429207b0a202072657475726e20666574636828696e7075742c20696e6974292e7468656e28726573706f6e73654a736f6e293b0a7d0a0a66756e6374696f6e20706172736572287479706529207b0a202072657475726e2066756e6374696f6e28696e7075742c20696e69742920207b0a2020202072657475726e207465787428696e7075742c20696e6974292e7468656e2866756e6374696f6e287465787424243129207b0a20202020202072657475726e20286e657720444f4d506172736572292e706172736546726f6d537472696e6728746578742424312c2074797065293b0a202020207d293b0a20207d3b0a7d0a0a76617220786d6c203d2070617273657228226170706c69636174696f6e2f786d6c22293b0a0a7661722068746d6c203d207061727365722822746578742f68746d6c22293b0a0a76617220737667203d207061727365722822696d6167652f7376672b786d6c22293b0a0a66756e6374696f6e2063656e746572243128782c207929207b0a2020766172206e6f6465733b0a0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206e6f64652c0a20202020202020207378203d20302c0a20202020202020207379203d20303b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c207378202b3d206e6f64652e782c207379202b3d206e6f64652e793b0a202020207d0a0a20202020666f7220287378203d207378202f206e202d20782c207379203d207379202f206e202d20792c2069203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e78202d3d2073782c206e6f64652e79202d3d2073793b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20636f6e7374616e742437287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206a6967676c652829207b0a202072657475726e20284d6174682e72616e646f6d2829202d20302e3529202a2031652d363b0a7d0a0a66756e6374696f6e20747265655f616464286429207b0a20207661722078203d202b746869732e5f782e63616c6c286e756c6c2c2064292c0a20202020202079203d202b746869732e5f792e63616c6c286e756c6c2c2064293b0a202072657475726e2061646428746869732e636f76657228782c2079292c20782c20792c2064293b0a7d0a0a66756e6374696f6e2061646428747265652c20782c20792c206429207b0a20206966202869734e614e287829207c7c2069734e614e287929292072657475726e20747265653b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20747265652e5f726f6f742c0a2020202020206c656166203d207b646174613a20647d2c0a2020202020207830203d20747265652e5f78302c0a2020202020207930203d20747265652e5f79302c0a2020202020207831203d20747265652e5f78312c0a2020202020207931203d20747265652e5f79312c0a202020202020786d2c0a202020202020796d2c0a20202020202078702c0a20202020202079702c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f2046696e6420746865206578697374696e67206c65616620666f7220746865206e657720706f696e742c206f72206164642069742e0a20207768696c6520286e6f64652e6c656e67746829207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a2020202069662028706172656e74203d206e6f64652c2021286e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20706172656e745b695d203d206c6561662c20747265653b0a20207d0a0a20202f2f20497320746865206e657720706f696e742069732065786163746c7920636f696e636964656e74207769746820746865206578697374696e6720706f696e743f0a20207870203d202b747265652e5f782e63616c6c286e756c6c2c206e6f64652e64617461293b0a20207970203d202b747265652e5f792e63616c6c286e756c6c2c206e6f64652e64617461293b0a20206966202878203d3d3d2078702026262079203d3d3d207970292072657475726e206c6561662e6e657874203d206e6f64652c20706172656e74203f20706172656e745b695d203d206c656166203a20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f204f74686572776973652c2073706c697420746865206c656166206e6f646520756e74696c20746865206f6c6420616e64206e657720706f696e7420617265207365706172617465642e0a2020646f207b0a20202020706172656e74203d20706172656e74203f20706172656e745b695d203d206e6577204172726179283429203a20747265652e5f726f6f74203d206e65772041727261792834293b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20207d207768696c6520282869203d20626f74746f6d203c3c2031207c20726967687429203d3d3d20286a203d20287970203e3d20796d29203c3c2031207c20287870203e3d20786d2929293b0a202072657475726e20706172656e745b6a5d203d206e6f64652c20706172656e745b695d203d206c6561662c20747265653b0a7d0a0a66756e6374696f6e20616464416c6c286461746129207b0a202076617220642c20692c206e203d20646174612e6c656e6774682c0a202020202020782c0a202020202020792c0a202020202020787a203d206e6577204172726179286e292c0a202020202020797a203d206e6577204172726179286e292c0a2020202020207830203d20496e66696e6974792c0a2020202020207930203d20496e66696e6974792c0a2020202020207831203d202d496e66696e6974792c0a2020202020207931203d202d496e66696e6974793b0a0a20202f2f20436f6d707574652074686520706f696e747320616e6420746865697220657874656e742e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c2064203d20646174615b695d2929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c206429292920636f6e74696e75653b0a20202020787a5b695d203d20783b0a20202020797a5b695d203d20793b0a202020206966202878203c20783029207830203d20783b0a202020206966202878203e20783129207831203d20783b0a202020206966202879203c20793029207930203d20793b0a202020206966202879203e20793129207931203d20793b0a20207d0a0a20202f2f2049662074686572652077657265206e6f202876616c69642920706f696e74732c20696e686572697420746865206578697374696e6720657874656e742e0a2020696620287831203c20783029207830203d20746869732e5f78302c207831203d20746869732e5f78313b0a2020696620287931203c20793029207930203d20746869732e5f79302c207931203d20746869732e5f79313b0a0a20202f2f20457870616e6420746865207472656520746f20636f76657220746865206e657720706f696e74732e0a2020746869732e636f7665722878302c207930292e636f7665722878312c207931293b0a0a20202f2f2041646420746865206e657720706f696e74732e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202061646428746869732c20787a5b695d2c20797a5b695d2c20646174615b695d293b0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f636f76657228782c207929207b0a20206966202869734e614e2878203d202b7829207c7c2069734e614e2879203d202b7929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a2020766172207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79313b0a0a20202f2f2049662074686520717561647472656520686173206e6f20657874656e742c20696e697469616c697a65207468656d2e0a20202f2f20496e746567657220657874656e7420617265206e656365737361727920736f2074686174206966207765206c6174657220646f75626c652074686520657874656e742c0a20202f2f20746865206578697374696e67207175616472616e7420626f756e64617269657320646f6ee2809974206368616e67652064756520746f20666c6f6174696e6720706f696e74206572726f72210a20206966202869734e614e2878302929207b0a202020207831203d20287830203d204d6174682e666c6f6f7228782929202b20313b0a202020207931203d20287930203d204d6174682e666c6f6f7228792929202b20313b0a20207d0a0a20202f2f204f74686572776973652c20646f75626c652072657065617465646c7920746f20636f7665722e0a2020656c736520696620287830203e2078207c7c2078203e207831207c7c207930203e2079207c7c2079203e20793129207b0a20202020766172207a203d207831202d2078302c0a20202020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020202020706172656e742c0a2020202020202020693b0a0a20202020737769746368202869203d202879203c20287930202b20793129202f203229203c3c2031207c202878203c20287830202b20783129202f20322929207b0a2020202020206361736520303a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207931203d207930202b207a2c2078203e207831207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207931203d207930202b207a2c207830203e2078207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207930203d207931202d207a2c2078203e207831207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207930203d207931202d207a2c207830203e2078207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f726f6f7420262620746869732e5f726f6f742e6c656e6774682920746869732e5f726f6f74203d206e6f64653b0a20207d0a0a20202f2f2049662074686520717561647472656520636f766572732074686520706f696e7420616c72656164792c206a7573742072657475726e2e0a2020656c73652072657475726e20746869733b0a0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f646174612829207b0a20207661722064617461203d205b5d3b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f20646174612e70757368286e6f64652e64617461293b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e20646174613b0a7d0a0a66756e6374696f6e20747265655f657874656e74285f29207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e636f766572282b5f5b305d5b305d2c202b5f5b305d5b315d292e636f766572282b5f5b315d5b305d2c202b5f5b315d5b315d290a2020202020203a2069734e614e28746869732e5f783029203f20756e646566696e6564203a205b5b746869732e5f78302c20746869732e5f79305d2c205b746869732e5f78312c20746869732e5f79315d5d3b0a7d0a0a66756e6374696f6e2051756164286e6f64652c2078302c2079302c2078312c20793129207b0a2020746869732e6e6f6465203d206e6f64653b0a2020746869732e7830203d2078303b0a2020746869732e7930203d2079303b0a2020746869732e7831203d2078313b0a2020746869732e7931203d2079313b0a7d0a0a66756e6374696f6e20747265655f66696e6428782c20792c2072616469757329207b0a202076617220646174612c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a20202020202078312c0a20202020202079312c0a20202020202078322c0a20202020202079322c0a2020202020207833203d20746869732e5f78312c0a2020202020207933203d20746869732e5f79312c0a2020202020207175616473203d205b5d2c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a202020202020712c0a202020202020693b0a0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c2078302c2079302c2078332c20793329293b0a202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a2020656c7365207b0a202020207830203d2078202d207261646975732c207930203d2079202d207261646975733b0a202020207833203d2078202b207261646975732c207933203d2079202b207261646975733b0a20202020726164697573202a3d207261646975733b0a20207d0a0a20207768696c65202871203d2071756164732e706f70282929207b0a0a202020202f2f2053746f7020736561726368696e672069662074686973207175616472616e742063616ee280997420636f6e7461696e206120636c6f736572206e6f64652e0a202020206966202821286e6f6465203d20712e6e6f6465290a20202020202020207c7c20287831203d20712e783029203e2078330a20202020202020207c7c20287931203d20712e793029203e2079330a20202020202020207c7c20287832203d20712e783129203c2078300a20202020202020207c7c20287932203d20712e793129203c2079302920636f6e74696e75653b0a0a202020202f2f20426973656374207468652063757272656e74207175616472616e742e0a20202020696620286e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287831202b20783229202f20322c0a20202020202020202020796d203d20287931202b20793229202f20323b0a0a20202020202071756164732e70757368280a20202020202020206e65772051756164286e6f64655b335d2c20786d2c20796d2c2078322c207932292c0a20202020202020206e65772051756164286e6f64655b325d2c2078312c20796d2c20786d2c207932292c0a20202020202020206e65772051756164286e6f64655b315d2c20786d2c2079312c2078322c20796d292c0a20202020202020206e65772051756164286e6f64655b305d2c2078312c2079312c20786d2c20796d290a202020202020293b0a0a2020202020202f2f2056697369742074686520636c6f73657374207175616472616e742066697273742e0a2020202020206966202869203d202879203e3d20796d29203c3c2031207c202878203e3d20786d2929207b0a202020202020202071203d2071756164735b71756164732e6c656e677468202d20315d3b0a202020202020202071756164735b71756164732e6c656e677468202d20315d203d2071756164735b71756164732e6c656e677468202d2031202d20695d3b0a202020202020202071756164735b71756164732e6c656e677468202d2031202d20695d203d20713b0a2020202020207d0a202020207d0a0a202020202f2f205669736974207468697320706f696e742e20285669736974696e6720636f696e636964656e7420706f696e74732069736ee2809974206e656365737361727921290a20202020656c7365207b0a202020202020766172206478203d2078202d202b746869732e5f782e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206479203d2079202d202b746869732e5f792e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206432203d206478202a206478202b206479202a2064793b0a202020202020696620286432203c2072616469757329207b0a20202020202020207661722064203d204d6174682e7371727428726164697573203d206432293b0a20202020202020207830203d2078202d20642c207930203d2079202d20643b0a20202020202020207833203d2078202b20642c207933203d2079202b20643b0a202020202020202064617461203d206e6f64652e646174613b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20646174613b0a7d0a0a66756e6374696f6e20747265655f72656d6f7665286429207b0a20206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c20642929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c20642929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a20202020202072657461696e65722c0a20202020202070726576696f75732c0a2020202020206e6578742c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79312c0a202020202020782c0a202020202020792c0a202020202020786d2c0a202020202020796d2c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20746869733b0a0a20202f2f2046696e6420746865206c656166206e6f646520666f722074686520706f696e742e0a20202f2f205768696c652064657363656e64696e672c20616c736f2072657461696e20746865206465657065737420706172656e7420776974682061206e6f6e2d72656d6f766564207369626c696e672e0a2020696620286e6f64652e6c656e67746829207768696c6520287472756529207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20202020696620282128706172656e74203d206e6f64652c206e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20746869733b0a2020202069662028216e6f64652e6c656e6774682920627265616b3b0a2020202069662028706172656e745b2869202b203129202620335d207c7c20706172656e745b2869202b203229202620335d207c7c20706172656e745b2869202b203329202620335d292072657461696e6572203d20706172656e742c206a203d20693b0a20207d0a0a20202f2f2046696e642074686520706f696e7420746f2072656d6f76652e0a20207768696c6520286e6f64652e6461746120213d3d2064292069662028212870726576696f7573203d206e6f64652c206e6f6465203d206e6f64652e6e65787429292072657475726e20746869733b0a2020696620286e657874203d206e6f64652e6e657874292064656c657465206e6f64652e6e6578743b0a0a20202f2f20496620746865726520617265206d756c7469706c6520636f696e636964656e7420706f696e74732c2072656d6f7665206a7573742074686520706f696e742e0a20206966202870726576696f7573292072657475726e206e657874203f2070726576696f75732e6e657874203d206e657874203a2064656c6574652070726576696f75732e6e6578742c20746869733b0a0a20202f2f20496620746869732069732074686520726f6f7420706f696e742c2072656d6f76652069742e0a20206966202821706172656e74292072657475726e20746869732e5f726f6f74203d206e6578742c20746869733b0a0a20202f2f2052656d6f76652074686973206c6561662e0a20206e657874203f20706172656e745b695d203d206e657874203a2064656c65746520706172656e745b695d3b0a0a20202f2f2049662074686520706172656e74206e6f7720636f6e7461696e732065786163746c79206f6e65206c6561662c20636f6c6c61707365207375706572666c756f757320706172656e74732e0a202069662028286e6f6465203d20706172656e745b305d207c7c20706172656e745b315d207c7c20706172656e745b325d207c7c20706172656e745b335d290a2020202020202626206e6f6465203d3d3d2028706172656e745b335d207c7c20706172656e745b325d207c7c20706172656e745b315d207c7c20706172656e745b305d290a202020202020262620216e6f64652e6c656e67746829207b0a202020206966202872657461696e6572292072657461696e65725b6a5d203d206e6f64653b0a20202020656c736520746869732e5f726f6f74203d206e6f64653b0a20207d0a0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2072656d6f7665416c6c286461746129207b0a2020666f7220287661722069203d20302c206e203d20646174612e6c656e6774683b2069203c206e3b202b2b692920746869732e72656d6f766528646174615b695d293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f726f6f742829207b0a202072657475726e20746869732e5f726f6f743b0a7d0a0a66756e6374696f6e20747265655f73697a652829207b0a20207661722073697a65203d20303b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f202b2b73697a653b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e2073697a653b0a7d0a0a66756e6374696f6e20747265655f76697369742863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c20712c206e6f6465203d20746869732e5f726f6f742c206368696c642c2078302c2079302c2078312c2079313b0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020696620282163616c6c6261636b286e6f6465203d20712e6e6f64652c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e793129202626206e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e20747265655f766973697441667465722863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c206e657874203d205b5d2c20713b0a202069662028746869732e5f726f6f74292071756164732e70757368286e6577205175616428746869732e5f726f6f742c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020766172206e6f6465203d20712e6e6f64653b0a20202020696620286e6f64652e6c656e67746829207b0a202020202020766172206368696c642c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e79312c20786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020207d0a202020206e6578742e707573682871293b0a20207d0a20207768696c65202871203d206e6578742e706f70282929207b0a2020202063616c6c6261636b28712e6e6f64652c20712e78302c20712e79302c20712e78312c20712e7931293b0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74582431286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e20747265655f78285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f78203d205f2c207468697329203a20746869732e5f783b0a7d0a0a66756e6374696f6e2064656661756c74592431286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20747265655f79285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f79203d205f2c207468697329203a20746869732e5f793b0a7d0a0a66756e6374696f6e207175616474726565286e6f6465732c20782c207929207b0a20207661722074726565203d206e65772051756164747265652878203d3d206e756c6c203f2064656661756c74582431203a20782c2079203d3d206e756c6c203f2064656661756c74592431203a20792c204e614e2c204e614e2c204e614e2c204e614e293b0a202072657475726e206e6f646573203d3d206e756c6c203f2074726565203a20747265652e616464416c6c286e6f646573293b0a7d0a0a66756e6374696f6e20517561647472656528782c20792c2078302c2079302c2078312c20793129207b0a2020746869732e5f78203d20783b0a2020746869732e5f79203d20793b0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a2020746869732e5f726f6f74203d20756e646566696e65643b0a7d0a0a66756e6374696f6e206c6561665f636f7079286c65616629207b0a202076617220636f7079203d207b646174613a206c6561662e646174617d2c206e657874203d20636f70793b0a20207768696c6520286c656166203d206c6561662e6e65787429206e657874203d206e6578742e6e657874203d207b646174613a206c6561662e646174617d3b0a202072657475726e20636f70793b0a7d0a0a766172207472656550726f746f203d2071756164747265652e70726f746f74797065203d2051756164747265652e70726f746f747970653b0a0a7472656550726f746f2e636f7079203d2066756e6374696f6e2829207b0a202076617220636f7079203d206e657720517561647472656528746869732e5f782c20746869732e5f792c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f7931292c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020206e6f6465732c0a2020202020206368696c643b0a0a202069662028216e6f6465292072657475726e20636f70793b0a0a202069662028216e6f64652e6c656e677468292072657475726e20636f70792e5f726f6f74203d206c6561665f636f7079286e6f6465292c20636f70793b0a0a20206e6f646573203d205b7b736f757263653a206e6f64652c207461726765743a20636f70792e5f726f6f74203d206e65772041727261792834297d5d3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020666f7220287661722069203d20303b2069203c20343b202b2b6929207b0a202020202020696620286368696c64203d206e6f64652e736f757263655b695d29207b0a2020202020202020696620286368696c642e6c656e67746829206e6f6465732e70757368287b736f757263653a206368696c642c207461726765743a206e6f64652e7461726765745b695d203d206e65772041727261792834297d293b0a2020202020202020656c7365206e6f64652e7461726765745b695d203d206c6561665f636f7079286368696c64293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a7472656550726f746f2e616464203d20747265655f6164643b0a7472656550726f746f2e616464416c6c203d20616464416c6c3b0a7472656550726f746f2e636f766572203d20747265655f636f7665723b0a7472656550726f746f2e64617461203d20747265655f646174613b0a7472656550726f746f2e657874656e74203d20747265655f657874656e743b0a7472656550726f746f2e66696e64203d20747265655f66696e643b0a7472656550726f746f2e72656d6f7665203d20747265655f72656d6f76653b0a7472656550726f746f2e72656d6f7665416c6c203d2072656d6f7665416c6c3b0a7472656550726f746f2e726f6f74203d20747265655f726f6f743b0a7472656550726f746f2e73697a65203d20747265655f73697a653b0a7472656550726f746f2e7669736974203d20747265655f76697369743b0a7472656550726f746f2e76697369744166746572203d20747265655f766973697441667465723b0a7472656550726f746f2e78203d20747265655f783b0a7472656550726f746f2e79203d20747265655f793b0a0a66756e6374696f6e2078286429207b0a202072657475726e20642e78202b20642e76783b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20642e79202b20642e76793b0a7d0a0a66756e6374696f6e20636f6c6c6964652872616469757329207b0a2020766172206e6f6465732c0a20202020202072616469692c0a202020202020737472656e677468203d20312c0a202020202020697465726174696f6e73203d20313b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e74243728726164697573203d3d206e756c6c203f2031203a202b726164697573293b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c0a2020202020202020747265652c0a20202020202020206e6f64652c0a202020202020202078692c0a202020202020202079692c0a202020202020202072692c0a20202020202020207269323b0a0a20202020666f722028766172206b203d20303b206b203c20697465726174696f6e733b202b2b6b29207b0a20202020202074726565203d207175616474726565286e6f6465732c20782c2079292e766973697441667465722870726570617265293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020207269203d2072616469695b6e6f64652e696e6465785d2c20726932203d207269202a2072693b0a20202020202020207869203d206e6f64652e78202b206e6f64652e76783b0a20202020202020207969203d206e6f64652e79202b206e6f64652e76793b0a2020202020202020747265652e7669736974286170706c79293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e206170706c7928717561642c2078302c2079302c2078312c20793129207b0a2020202020207661722064617461203d20717561642e646174612c20726a203d20717561642e722c2072203d207269202b20726a3b0a202020202020696620286461746129207b0a202020202020202069662028646174612e696e646578203e206e6f64652e696e64657829207b0a202020202020202020207661722078203d207869202d20646174612e78202d20646174612e76782c0a202020202020202020202020202079203d207969202d20646174612e79202d20646174612e76792c0a20202020202020202020202020206c203d2078202a2078202b2079202a20793b0a20202020202020202020696620286c203c2072202a207229207b0a2020202020202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020202020206c203d202872202d20286c203d204d6174682e73717274286c292929202f206c202a20737472656e6774683b0a2020202020202020202020206e6f64652e7678202b3d202878202a3d206c29202a202872203d2028726a202a3d20726a29202f2028726932202b20726a29293b0a2020202020202020202020206e6f64652e7679202b3d202879202a3d206c29202a20723b0a202020202020202020202020646174612e7678202d3d2078202a202872203d2031202d2072293b0a202020202020202020202020646174612e7679202d3d2079202a20723b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a20202020202072657475726e207830203e207869202b2072207c7c207831203c207869202d2072207c7c207930203e207969202b2072207c7c207931203c207969202d20723b0a202020207d0a20207d0a0a202066756e6374696f6e2070726570617265287175616429207b0a2020202069662028717561642e64617461292072657475726e20717561642e72203d2072616469695b717561642e646174612e696e6465785d3b0a20202020666f7220287661722069203d20717561642e72203d20303b2069203c20343b202b2b6929207b0a20202020202069662028717561645b695d20262620717561645b695d2e72203e20717561642e7229207b0a2020202020202020717561642e72203d20717561645b695d2e723b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a202020207261646969203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c2072616469695b6e6f64652e696e6465785d203d202b726164697573286e6f64652c20692c206e6f646573293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d202b5f2c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20696e646578286429207b0a202072657475726e20642e696e6465783b0a7d0a0a66756e6374696f6e2066696e64286e6f6465427949642c206e6f6465496429207b0a2020766172206e6f6465203d206e6f6465427949642e676574286e6f64654964293b0a202069662028216e6f646529207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c696e6b286c696e6b7329207b0a2020766172206964203d20696e6465782c0a202020202020737472656e677468203d2064656661756c74537472656e6774682c0a202020202020737472656e677468732c0a20202020202064697374616e6365203d20636f6e7374616e742437283330292c0a20202020202064697374616e6365732c0a2020202020206e6f6465732c0a202020202020636f756e742c0a202020202020626961732c0a202020202020697465726174696f6e73203d20313b0a0a2020696620286c696e6b73203d3d206e756c6c29206c696e6b73203d205b5d3b0a0a202066756e6374696f6e2064656661756c74537472656e677468286c696e6b29207b0a2020202072657475726e2031202f204d6174682e6d696e28636f756e745b6c696e6b2e736f757263652e696e6465785d2c20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a20207d0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f722028766172206b203d20302c206e203d206c696e6b732e6c656e6774683b206b203c20697465726174696f6e733b202b2b6b29207b0a202020202020666f7220287661722069203d20302c206c696e6b2c20736f757263652c207461726765742c20782c20792c206c2c20623b2069203c206e3b202b2b6929207b0a20202020202020206c696e6b203d206c696e6b735b695d2c20736f75726365203d206c696e6b2e736f757263652c20746172676574203d206c696e6b2e7461726765743b0a202020202020202078203d207461726765742e78202b207461726765742e7678202d20736f757263652e78202d20736f757263652e7678207c7c206a6967676c6528293b0a202020202020202079203d207461726765742e79202b207461726765742e7679202d20736f757263652e79202d20736f757263652e7679207c7c206a6967676c6528293b0a20202020202020206c203d204d6174682e737172742878202a2078202b2079202a2079293b0a20202020202020206c203d20286c202d2064697374616e6365735b695d29202f206c202a20616c706861202a20737472656e677468735b695d3b0a202020202020202078202a3d206c2c2079202a3d206c3b0a20202020202020207461726765742e7678202d3d2078202a202862203d20626961735b695d293b0a20202020202020207461726765742e7679202d3d2079202a20623b0a2020202020202020736f757263652e7678202b3d2078202a202862203d2031202d2062293b0a2020202020202020736f757263652e7679202b3d2079202a20623b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206d203d206c696e6b732e6c656e6774682c0a20202020202020206e6f646542794964203d206d61702431286e6f6465732c206964292c0a20202020202020206c696e6b3b0a0a20202020666f72202869203d20302c20636f756e74203d206e6577204172726179286e293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c206c696e6b2e696e646578203d20693b0a20202020202069662028747970656f66206c696e6b2e736f7572636520213d3d20226f626a6563742229206c696e6b2e736f75726365203d2066696e64286e6f6465427949642c206c696e6b2e736f75726365293b0a20202020202069662028747970656f66206c696e6b2e74617267657420213d3d20226f626a6563742229206c696e6b2e746172676574203d2066696e64286e6f6465427949642c206c696e6b2e746172676574293b0a202020202020636f756e745b6c696e6b2e736f757263652e696e6465785d203d2028636f756e745b6c696e6b2e736f757263652e696e6465785d207c7c203029202b20313b0a202020202020636f756e745b6c696e6b2e7461726765742e696e6465785d203d2028636f756e745b6c696e6b2e7461726765742e696e6465785d207c7c203029202b20313b0a202020207d0a0a20202020666f72202869203d20302c2062696173203d206e6577204172726179286d293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c20626961735b695d203d20636f756e745b6c696e6b2e736f757263652e696e6465785d202f2028636f756e745b6c696e6b2e736f757263652e696e6465785d202b20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a202020207d0a0a20202020737472656e67746873203d206e6577204172726179286d292c20696e697469616c697a65537472656e67746828293b0a2020202064697374616e636573203d206e6577204172726179286d292c20696e697469616c697a6544697374616e636528293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a65537472656e6774682829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d202b737472656e677468286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a6544697374616e63652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202064697374616e6365735b695d203d202b64697374616e6365286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e6c696e6b73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c696e6b73203d205f2c20696e697469616c697a6528292c20666f72636529203a206c696e6b733b0a20207d3b0a0a2020666f7263652e6964203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d205f2c20666f72636529203a2069643b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a65537472656e67746828292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e6365203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6544697374616e636528292c20666f72636529203a2064697374616e63653b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20782431286429207b0a202072657475726e20642e783b0a7d0a0a66756e6374696f6e20792431286429207b0a202072657475726e20642e793b0a7d0a0a76617220696e697469616c526164697573203d2031302c0a20202020696e697469616c416e676c65203d204d6174682e5049202a202833202d204d6174682e73717274283529293b0a0a66756e6374696f6e2073696d756c6174696f6e286e6f64657329207b0a20207661722073696d756c6174696f6e2c0a202020202020616c706861203d20312c0a202020202020616c7068614d696e203d20302e3030312c0a202020202020616c7068614465636179203d2031202d204d6174682e706f7728616c7068614d696e2c2031202f20333030292c0a202020202020616c706861546172676574203d20302c0a20202020202076656c6f636974794465636179203d20302e362c0a202020202020666f72636573203d206d6170243128292c0a20202020202073746570706572203d2074696d65722873746570292c0a2020202020206576656e74203d20646973706174636828227469636b222c2022656e6422293b0a0a2020696620286e6f646573203d3d206e756c6c29206e6f646573203d205b5d3b0a0a202066756e6374696f6e20737465702829207b0a202020207469636b28293b0a202020206576656e742e63616c6c28227469636b222c2073696d756c6174696f6e293b0a2020202069662028616c706861203c20616c7068614d696e29207b0a202020202020737465707065722e73746f7028293b0a2020202020206576656e742e63616c6c2822656e64222c2073696d756c6174696f6e293b0a202020207d0a20207d0a0a202066756e6374696f6e207469636b2829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a0a20202020616c706861202b3d2028616c706861546172676574202d20616c70686129202a20616c70686144656361793b0a0a20202020666f726365732e656163682866756e6374696f6e28666f72636529207b0a202020202020666f72636528616c706861293b0a202020207d293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d3b0a202020202020696620286e6f64652e6678203d3d206e756c6c29206e6f64652e78202b3d206e6f64652e7678202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e78203d206e6f64652e66782c206e6f64652e7678203d20303b0a202020202020696620286e6f64652e6679203d3d206e756c6c29206e6f64652e79202b3d206e6f64652e7679202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e79203d206e6f64652e66792c206e6f64652e7679203d20303b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a654e6f6465732829207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e696e646578203d20693b0a2020202020206966202869734e614e286e6f64652e7829207c7c2069734e614e286e6f64652e792929207b0a202020202020202076617220726164697573203d20696e697469616c526164697573202a204d6174682e737172742869292c20616e676c65203d2069202a20696e697469616c416e676c653b0a20202020202020206e6f64652e78203d20726164697573202a204d6174682e636f7328616e676c65293b0a20202020202020206e6f64652e79203d20726164697573202a204d6174682e73696e28616e676c65293b0a2020202020207d0a2020202020206966202869734e614e286e6f64652e767829207c7c2069734e614e286e6f64652e76792929207b0a20202020202020206e6f64652e7678203d206e6f64652e7679203d20303b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a65466f72636528666f72636529207b0a2020202069662028666f7263652e696e697469616c697a652920666f7263652e696e697469616c697a65286e6f646573293b0a2020202072657475726e20666f7263653b0a20207d0a0a2020696e697469616c697a654e6f64657328293b0a0a202072657475726e2073696d756c6174696f6e203d207b0a202020207469636b3a207469636b2c0a0a20202020726573746172743a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e726573746172742873746570292c2073696d756c6174696f6e3b0a202020207d2c0a0a2020202073746f703a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e73746f7028292c2073696d756c6174696f6e3b0a202020207d2c0a0a202020206e6f6465733a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646573203d205f2c20696e697469616c697a654e6f64657328292c20666f726365732e6561636828696e697469616c697a65466f726365292c2073696d756c6174696f6e29203a206e6f6465733b0a202020207d2c0a0a20202020616c7068613a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d202b5f2c2073696d756c6174696f6e29203a20616c7068613b0a202020207d2c0a0a20202020616c7068614d696e3a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614d696e203d202b5f2c2073696d756c6174696f6e29203a20616c7068614d696e3b0a202020207d2c0a0a20202020616c70686144656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614465636179203d202b5f2c2073696d756c6174696f6e29203a202b616c70686144656361793b0a202020207d2c0a0a20202020616c7068615461726765743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861546172676574203d202b5f2c2073696d756c6174696f6e29203a20616c7068615461726765743b0a202020207d2c0a0a2020202076656c6f6369747944656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f202876656c6f636974794465636179203d2031202d205f2c2073696d756c6174696f6e29203a2031202d2076656c6f6369747944656361793b0a202020207d2c0a0a20202020666f7263653a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20285f203d3d206e756c6c203f20666f726365732e72656d6f7665286e616d6529203a20666f726365732e736574286e616d652c20696e697469616c697a65466f726365285f29292c2073696d756c6174696f6e29203a20666f726365732e676574286e616d65293b0a202020207d2c0a0a2020202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a2020202020207661722069203d20302c0a202020202020202020206e203d206e6f6465732e6c656e6774682c0a2020202020202020202064782c0a2020202020202020202064792c0a2020202020202020202064322c0a202020202020202020206e6f64652c0a20202020202020202020636c6f736573743b0a0a20202020202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a202020202020656c736520726164697573202a3d207261646975733b0a0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020206478203d2078202d206e6f64652e783b0a20202020202020206479203d2079202d206e6f64652e793b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c207261646975732920636c6f73657374203d206e6f64652c20726164697573203d2064323b0a2020202020207d0a0a20202020202072657475726e20636c6f736573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20286576656e742e6f6e286e616d652c205f292c2073696d756c6174696f6e29203a206576656e742e6f6e286e616d65293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e206d616e79426f64792829207b0a2020766172206e6f6465732c0a2020202020206e6f64652c0a202020202020616c7068612c0a202020202020737472656e677468203d20636f6e7374616e742437282d3330292c0a202020202020737472656e677468732c0a20202020202064697374616e63654d696e32203d20312c0a20202020202064697374616e63654d617832203d20496e66696e6974792c0a202020202020746865746132203d20302e38313b0a0a202066756e6374696f6e20666f726365285f29207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c2074726565203d207175616474726565286e6f6465732c207824312c20792431292e7669736974416674657228616363756d756c617465293b0a20202020666f722028616c706861203d205f2c2069203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20747265652e7669736974286170706c79293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20737472656e677468735b6e6f64652e696e6465785d203d202b737472656e677468286e6f64652c20692c206e6f646573293b0a20207d0a0a202066756e6374696f6e20616363756d756c617465287175616429207b0a2020202076617220737472656e677468203d20302c20712c20632c20776569676874203d20302c20782c20792c20693b0a0a202020202f2f20466f7220696e7465726e616c206e6f6465732c20616363756d756c61746520666f726365732066726f6d206368696c64207175616472616e74732e0a2020202069662028717561642e6c656e67746829207b0a202020202020666f72202878203d2079203d2069203d20303b2069203c20343b202b2b6929207b0a2020202020202020696620282871203d20717561645b695d29202626202863203d204d6174682e61627328712e76616c7565292929207b0a20202020202020202020737472656e677468202b3d20712e76616c75652c20776569676874202b3d20632c2078202b3d2063202a20712e782c2079202b3d2063202a20712e793b0a20202020202020207d0a2020202020207d0a202020202020717561642e78203d2078202f207765696768743b0a202020202020717561642e79203d2079202f207765696768743b0a202020207d0a0a202020202f2f20466f72206c656166206e6f6465732c20616363756d756c61746520666f726365732066726f6d20636f696e636964656e74207175616472616e74732e0a20202020656c7365207b0a20202020202071203d20717561643b0a202020202020712e78203d20712e646174612e783b0a202020202020712e79203d20712e646174612e793b0a202020202020646f20737472656e677468202b3d20737472656e677468735b712e646174612e696e6465785d3b0a2020202020207768696c65202871203d20712e6e657874293b0a202020207d0a0a20202020717561642e76616c7565203d20737472656e6774683b0a20207d0a0a202066756e6374696f6e206170706c7928717561642c2078312c205f2c20783229207b0a202020206966202821717561642e76616c7565292072657475726e20747275653b0a0a202020207661722078203d20717561642e78202d206e6f64652e782c0a202020202020202079203d20717561642e79202d206e6f64652e792c0a202020202020202077203d207832202d2078312c0a20202020202020206c203d2078202a2078202b2079202a20793b0a0a202020202f2f204170706c7920746865204261726e65732d48757420617070726f78696d6174696f6e20696620706f737369626c652e0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a202020206966202877202a2077202f20746865746132203c206c29207b0a202020202020696620286c203c2064697374616e63654d61783229207b0a20202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a20202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a20202020202020206e6f64652e7678202b3d2078202a20717561642e76616c7565202a20616c706861202f206c3b0a20202020202020206e6f64652e7679202b3d2079202a20717561642e76616c7565202a20616c706861202f206c3b0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2f204f74686572776973652c2070726f6365737320706f696e7473206469726563746c792e0a20202020656c73652069662028717561642e6c656e677468207c7c206c203e3d2064697374616e63654d617832292072657475726e3b0a0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a2020202069662028717561642e6461746120213d3d206e6f6465207c7c20717561642e6e65787429207b0a2020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a202020207d0a0a20202020646f2069662028717561642e6461746120213d3d206e6f646529207b0a20202020202077203d20737472656e677468735b717561642e646174612e696e6465785d202a20616c706861202f206c3b0a2020202020206e6f64652e7678202b3d2078202a20773b0a2020202020206e6f64652e7679202b3d2079202a20773b0a202020207d207768696c65202871756164203d20717561642e6e657874293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e63654d696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d696e32203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d696e32293b0a20207d3b0a0a2020666f7263652e64697374616e63654d6178203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d617832203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d617832293b0a20207d3b0a0a2020666f7263652e7468657461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746865746132203d205f202a205f2c20666f72636529203a204d6174682e7371727428746865746132293b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e2072616469616c287261646975732c20782c207929207b0a2020766172206e6f6465732c0a202020202020737472656e677468203d20636f6e7374616e74243728302e31292c0a202020202020737472656e677468732c0a20202020202072616469757365733b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e742437282b726164697573293b0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d206e6f6465735b695d2c0a202020202020202020206478203d206e6f64652e78202d2078207c7c2031652d362c0a202020202020202020206479203d206e6f64652e79202d2079207c7c2031652d362c0a2020202020202020202072203d204d6174682e73717274286478202a206478202b206479202a206479292c0a202020202020202020206b203d202872616469757365735b695d202d207229202a20737472656e677468735b695d202a20616c706861202f20723b0a2020202020206e6f64652e7678202b3d206478202a206b3b0a2020202020206e6f64652e7679202b3d206479202a206b3b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a202020207261646975736573203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202072616469757365735b695d203d202b726164697573286e6f6465735b695d2c20692c206e6f646573293b0a202020202020737472656e677468735b695d203d2069734e614e2872616469757365735b695d29203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f2c20696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20782432287829207b0a202076617220737472656e677468203d20636f6e7374616e74243728302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020787a3b0a0a202069662028747970656f66207820213d3d202266756e6374696f6e22292078203d20636f6e7374616e7424372878203d3d206e756c6c203f2030203a202b78293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7678202b3d2028787a5b695d202d206e6f64652e7829202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020787a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28787a5b695d203d202b78286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20783b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a66756e6374696f6e20792432287929207b0a202076617220737472656e677468203d20636f6e7374616e74243728302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020797a3b0a0a202069662028747970656f66207920213d3d202266756e6374696f6e22292079203d20636f6e7374616e7424372879203d3d206e756c6c203f2030203a202b79293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7679202b3d2028797a5b695d202d206e6f64652e7929202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020797a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28797a5b695d203d202b79286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742437282b5f292c20696e697469616c697a6528292c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d0a0a2f2f20436f6d70757465732074686520646563696d616c20636f656666696369656e7420616e64206578706f6e656e74206f662074686520737065636966696564206e756d626572207820776974680a2f2f207369676e69666963616e742064696769747320702c207768657265207820697320706f73697469766520616e64207020697320696e205b312c2032315d206f7220756e646566696e65642e0a2f2f20466f72206578616d706c652c20666f726d6174446563696d616c28312e3233292072657475726e73205b22313233222c20305d2e0a66756e6374696f6e20666f726d6174446563696d616c28782c207029207b0a2020696620282869203d202878203d2070203f20782e746f4578706f6e656e7469616c2870202d203129203a20782e746f4578706f6e656e7469616c2829292e696e6465784f66282265222929203c2030292072657475726e206e756c6c3b202f2f204e614e2c20c2b1496e66696e6974790a202076617220692c20636f656666696369656e74203d20782e736c69636528302c2069293b0a0a20202f2f2054686520737472696e672072657475726e656420627920746f4578706f6e656e7469616c20656974686572206861732074686520666f726d205c645c2e5c642b655b2d2b5d5c642b0a20202f2f2028652e672e2c20312e32652b3329206f722074686520666f726d205c64655b2d2b5d5c642b2028652e672e2c2031652b33292e0a202072657475726e205b0a20202020636f656666696369656e742e6c656e677468203e2031203f20636f656666696369656e745b305d202b20636f656666696369656e742e736c696365283229203a20636f656666696369656e742c0a202020202b782e736c6963652869202b2031290a20205d3b0a7d0a0a66756e6374696f6e206578706f6e656e742431287829207b0a202072657475726e2078203d20666f726d6174446563696d616c284d6174682e616273287829292c2078203f20785b315d203a204e614e3b0a7d0a0a66756e6374696f6e20666f726d617447726f75702867726f7570696e672c2074686f7573616e647329207b0a202072657475726e2066756e6374696f6e2876616c75652c20776964746829207b0a202020207661722069203d2076616c75652e6c656e6774682c0a202020202020202074203d205b5d2c0a20202020202020206a203d20302c0a202020202020202067203d2067726f7570696e675b305d2c0a20202020202020206c656e677468203d20303b0a0a202020207768696c65202869203e20302026262067203e203029207b0a202020202020696620286c656e677468202b2067202b2031203e207769647468292067203d204d6174682e6d617828312c207769647468202d206c656e677468293b0a202020202020742e707573682876616c75652e737562737472696e672869202d3d20672c2069202b206729293b0a20202020202069662028286c656e677468202b3d2067202b203129203e2077696474682920627265616b3b0a20202020202067203d2067726f7570696e675b6a203d20286a202b20312920252067726f7570696e672e6c656e6774685d3b0a202020207d0a0a2020202072657475726e20742e7265766572736528292e6a6f696e2874686f7573616e6473293b0a20207d3b0a7d0a0a66756e6374696f6e20666f726d61744e756d6572616c73286e756d6572616c7329207b0a202072657475726e2066756e6374696f6e2876616c756529207b0a2020202072657475726e2076616c75652e7265706c616365282f5b302d395d2f672c2066756e6374696f6e286929207b0a20202020202072657475726e206e756d6572616c735b2b695d3b0a202020207d293b0a20207d3b0a7d0a0a2f2f205b5b66696c6c5d616c69676e5d5b7369676e5d5b73796d626f6c5d5b305d5b77696474685d5b2c5d5b2e707265636973696f6e5d5b7e5d5b747970655d0a766172207265203d202f5e283f3a282e293f285b3c3e3d5e5d29293f285b2b5c2d5c28205d293f285b24235d293f2830293f285c642b293f282c293f285c2e5c642b293f287e293f285b612d7a255d293f242f693b0a0a66756e6374696f6e20666f726d61745370656369666965722873706563696669657229207b0a202072657475726e206e657720466f726d617453706563696669657228737065636966696572293b0a7d0a0a666f726d61745370656369666965722e70726f746f74797065203d20466f726d61745370656369666965722e70726f746f747970653b202f2f20696e7374616e63656f660a0a66756e6374696f6e20466f726d61745370656369666965722873706563696669657229207b0a20206966202821286d61746368203d2072652e6578656328737065636966696572292929207468726f77206e6577204572726f722822696e76616c696420666f726d61743a2022202b20737065636966696572293b0a2020766172206d617463683b0a2020746869732e66696c6c203d206d617463685b315d207c7c202220223b0a2020746869732e616c69676e203d206d617463685b325d207c7c20223e223b0a2020746869732e7369676e203d206d617463685b335d207c7c20222d223b0a2020746869732e73796d626f6c203d206d617463685b345d207c7c2022223b0a2020746869732e7a65726f203d2021216d617463685b355d3b0a2020746869732e7769647468203d206d617463685b365d202626202b6d617463685b365d3b0a2020746869732e636f6d6d61203d2021216d617463685b375d3b0a2020746869732e707265636973696f6e203d206d617463685b385d202626202b6d617463685b385d2e736c6963652831293b0a2020746869732e7472696d203d2021216d617463685b395d3b0a2020746869732e74797065203d206d617463685b31305d207c7c2022223b0a7d0a0a466f726d61745370656369666965722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a202072657475726e20746869732e66696c6c0a2020202020202b20746869732e616c69676e0a2020202020202b20746869732e7369676e0a2020202020202b20746869732e73796d626f6c0a2020202020202b2028746869732e7a65726f203f20223022203a202222290a2020202020202b2028746869732e7769647468203d3d206e756c6c203f202222203a204d6174682e6d617828312c20746869732e7769647468207c203029290a2020202020202b2028746869732e636f6d6d61203f20222c22203a202222290a2020202020202b2028746869732e707265636973696f6e203d3d206e756c6c203f202222203a20222e22202b204d6174682e6d617828302c20746869732e707265636973696f6e207c203029290a2020202020202b2028746869732e7472696d203f20227e22203a202222290a2020202020202b20746869732e747970653b0a7d3b0a0a2f2f205472696d7320696e7369676e69666963616e74207a65726f732c20652e672e2c207265706c6163657320312e323030306b207769746820312e326b2e0a66756e6374696f6e20666f726d61745472696d287329207b0a20206f75743a20666f722028766172206e203d20732e6c656e6774682c2069203d20312c206930203d202d312c2069313b2069203c206e3b202b2b6929207b0a202020207377697463682028735b695d29207b0a2020202020206361736520222e223a206930203d206931203d20693b20627265616b3b0a20202020202063617365202230223a20696620286930203d3d3d203029206930203d20693b206931203d20693b20627265616b3b0a20202020202064656661756c743a20696620286930203e203029207b2069662028212b735b695d2920627265616b206f75743b206930203d20303b207d20627265616b3b0a202020207d0a20207d0a202072657475726e206930203e2030203f20732e736c69636528302c20693029202b20732e736c696365286931202b203129203a20733b0a7d0a0a766172207072656669784578706f6e656e743b0a0a66756e6374696f6e20666f726d61745072656669784175746f28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d2c0a20202020202069203d206578706f6e656e74202d20287072656669784578706f6e656e74203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e74202f2033292929202a203329202b20312c0a2020202020206e203d20636f656666696369656e742e6c656e6774683b0a202072657475726e2069203d3d3d206e203f20636f656666696369656e740a2020202020203a2069203e206e203f20636f656666696369656e74202b206e65772041727261792869202d206e202b2031292e6a6f696e28223022290a2020202020203a2069203e2030203f20636f656666696369656e742e736c69636528302c206929202b20222e22202b20636f656666696369656e742e736c6963652869290a2020202020203a2022302e22202b206e65772041727261792831202d2069292e6a6f696e2822302229202b20666f726d6174446563696d616c28782c204d6174682e6d617828302c2070202b2069202d203129295b305d3b202f2f206c657373207468616e203179210a7d0a0a66756e6374696f6e20666f726d6174526f756e64656428782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d3b0a202072657475726e206578706f6e656e74203c2030203f2022302e22202b206e6577204172726179282d6578706f6e656e74292e6a6f696e2822302229202b20636f656666696369656e740a2020202020203a20636f656666696369656e742e6c656e677468203e206578706f6e656e74202b2031203f20636f656666696369656e742e736c69636528302c206578706f6e656e74202b203129202b20222e22202b20636f656666696369656e742e736c696365286578706f6e656e74202b2031290a2020202020203a20636f656666696369656e74202b206e6577204172726179286578706f6e656e74202d20636f656666696369656e742e6c656e677468202b2032292e6a6f696e28223022293b0a7d0a0a76617220666f726d61745479706573203d207b0a20202225223a2066756e6374696f6e28782c207029207b2072657475726e202878202a20313030292e746f46697865642870293b207d2c0a20202262223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672832293b207d2c0a20202263223a2066756e6374696f6e287829207b2072657475726e2078202b2022223b207d2c0a20202264223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283130293b207d2c0a20202265223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f4578706f6e656e7469616c2870293b207d2c0a20202266223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f46697865642870293b207d2c0a20202267223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f507265636973696f6e2870293b207d2c0a2020226f223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672838293b207d2c0a20202270223a2066756e6374696f6e28782c207029207b2072657475726e20666f726d6174526f756e6465642878202a203130302c2070293b207d2c0a20202272223a20666f726d6174526f756e6465642c0a20202273223a20666f726d61745072656669784175746f2c0a20202258223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136292e746f55707065724361736528293b207d2c0a20202278223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136293b207d0a7d3b0a0a66756e6374696f6e206964656e746974792433287829207b0a202072657475726e20783b0a7d0a0a766172207072656669786573203d205b2279222c227a222c2261222c2266222c2270222c226e222c225c784235222c226d222c22222c226b222c224d222c2247222c2254222c2250222c2245222c225a222c2259225d3b0a0a66756e6374696f6e20666f726d61744c6f63616c65286c6f63616c6529207b0a20207661722067726f7570203d206c6f63616c652e67726f7570696e67202626206c6f63616c652e74686f7573616e6473203f20666f726d617447726f7570286c6f63616c652e67726f7570696e672c206c6f63616c652e74686f7573616e647329203a206964656e7469747924332c0a20202020202063757272656e6379203d206c6f63616c652e63757272656e63792c0a202020202020646563696d616c203d206c6f63616c652e646563696d616c2c0a2020202020206e756d6572616c73203d206c6f63616c652e6e756d6572616c73203f20666f726d61744e756d6572616c73286c6f63616c652e6e756d6572616c7329203a206964656e7469747924332c0a20202020202070657263656e74203d206c6f63616c652e70657263656e74207c7c202225223b0a0a202066756e6374696f6e206e6577466f726d61742873706563696669657229207b0a20202020737065636966696572203d20666f726d617453706563696669657228737065636966696572293b0a0a202020207661722066696c6c203d207370656369666965722e66696c6c2c0a2020202020202020616c69676e203d207370656369666965722e616c69676e2c0a20202020202020207369676e203d207370656369666965722e7369676e2c0a202020202020202073796d626f6c203d207370656369666965722e73796d626f6c2c0a20202020202020207a65726f203d207370656369666965722e7a65726f2c0a20202020202020207769647468203d207370656369666965722e77696474682c0a2020202020202020636f6d6d61203d207370656369666965722e636f6d6d612c0a2020202020202020707265636973696f6e203d207370656369666965722e707265636973696f6e2c0a20202020202020207472696d203d207370656369666965722e7472696d2c0a202020202020202074797065203d207370656369666965722e747970653b0a0a202020202f2f2054686520226e22207479706520697320616e20616c69617320666f7220222c67222e0a202020206966202874797065203d3d3d20226e222920636f6d6d61203d20747275652c2074797065203d202267223b0a0a202020202f2f2054686520222220747970652c20616e6420616e7920696e76616c696420747970652c20697320616e20616c69617320666f7220222e31327e67222e0a20202020656c7365206966202821666f726d617454797065735b747970655d2920707265636973696f6e203d3d206e756c6c2026262028707265636973696f6e203d203132292c207472696d203d20747275652c2074797065203d202267223b0a0a202020202f2f204966207a65726f2066696c6c206973207370656369666965642c2070616464696e6720676f6573206166746572207369676e20616e64206265666f7265206469676974732e0a20202020696620287a65726f207c7c202866696c6c203d3d3d2022302220262620616c69676e203d3d3d20223d222929207a65726f203d20747275652c2066696c6c203d202230222c20616c69676e203d20223d223b0a0a202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202f2f20466f722053492d7072656669782c2074686520737566666978206973206c617a696c7920636f6d70757465642e0a2020202076617220707265666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b305d203a2073796d626f6c203d3d3d20222322202626202f5b626f78585d2f2e74657374287479706529203f20223022202b20747970652e746f4c6f776572436173652829203a2022222c0a2020202020202020737566666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b315d203a202f5b25705d2f2e74657374287479706529203f2070657263656e74203a2022223b0a0a202020202f2f205768617420666f726d61742066756e6374696f6e2073686f756c64207765207573653f0a202020202f2f204973207468697320616e20696e746567657220747970653f0a202020202f2f2043616e207468697320747970652067656e6572617465206578706f6e656e7469616c206e6f746174696f6e3f0a2020202076617220666f726d617454797065203d20666f726d617454797065735b747970655d2c0a20202020202020206d61796265537566666978203d202f5b64656667707273255d2f2e746573742874797065293b0a0a202020202f2f20536574207468652064656661756c7420707265636973696f6e206966206e6f74207370656369666965642c0a202020202f2f206f7220636c616d70207468652073706563696669656420707265636973696f6e20746f2074686520737570706f727465642072616e67652e0a202020202f2f20466f72207369676e69666963616e7420707265636973696f6e2c206974206d75737420626520696e205b312c2032315d2e0a202020202f2f20466f7220666978656420707265636973696f6e2c206974206d75737420626520696e205b302c2032305d2e0a20202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f20360a20202020202020203a202f5b677072735d2f2e74657374287479706529203f204d6174682e6d617828312c204d6174682e6d696e2832312c20707265636973696f6e29290a20202020202020203a204d6174682e6d617828302c204d6174682e6d696e2832302c20707265636973696f6e29293b0a0a2020202066756e6374696f6e20666f726d61742876616c756529207b0a2020202020207661722076616c7565507265666978203d207072656669782c0a2020202020202020202076616c7565537566666978203d207375666669782c0a20202020202020202020692c206e2c20633b0a0a2020202020206966202874797065203d3d3d2022632229207b0a202020202020202076616c7565537566666978203d20666f726d6174547970652876616c756529202b2076616c75655375666669783b0a202020202020202076616c7565203d2022223b0a2020202020207d20656c7365207b0a202020202020202076616c7565203d202b76616c75653b0a0a20202020202020202f2f20506572666f726d2074686520696e697469616c20666f726d617474696e672e0a20202020202020207661722076616c75654e65676174697665203d2076616c7565203c20303b0a202020202020202076616c7565203d20666f726d617454797065284d6174682e6162732876616c7565292c20707265636973696f6e293b0a0a20202020202020202f2f205472696d20696e7369676e69666963616e74207a65726f732e0a2020202020202020696620287472696d292076616c7565203d20666f726d61745472696d2876616c7565293b0a0a20202020202020202f2f2049662061206e656761746976652076616c756520726f756e647320746f207a65726f20647572696e6720666f726d617474696e672c20747265617420617320706f7369746976652e0a20202020202020206966202876616c75654e65676174697665202626202b76616c7565203d3d3d2030292076616c75654e65676174697665203d2066616c73653b0a0a20202020202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202020202076616c7565507265666978203d202876616c75654e65676174697665203f20287369676e203d3d3d20222822203f207369676e203a20222d2229203a207369676e203d3d3d20222d22207c7c207369676e203d3d3d20222822203f202222203a207369676e29202b2076616c75655072656669783b0a202020202020202076616c7565537566666978203d202874797065203d3d3d20227322203f2070726566697865735b38202b207072656669784578706f6e656e74202f20335d203a20222229202b2076616c7565537566666978202b202876616c75654e65676174697665202626207369676e203d3d3d20222822203f20222922203a202222293b0a0a20202020202020202f2f20427265616b2074686520666f726d61747465642076616c756520696e746f2074686520696e746567657220e2809c76616c7565e2809d207061727420746861742063616e2062650a20202020202020202f2f2067726f757065642c20616e64206672616374696f6e616c206f72206578706f6e656e7469616c20e2809c737566666978e2809d20706172742074686174206973206e6f742e0a2020202020202020696620286d6179626553756666697829207b0a2020202020202020202069203d202d312c206e203d2076616c75652e6c656e6774683b0a202020202020202020207768696c6520282b2b69203c206e29207b0a2020202020202020202020206966202863203d2076616c75652e63686172436f646541742869292c203438203e2063207c7c2063203e20353729207b0a202020202020202020202020202076616c7565537566666978203d202863203d3d3d203436203f20646563696d616c202b2076616c75652e736c6963652869202b203129203a2076616c75652e736c69636528692929202b2076616c75655375666669783b0a202020202020202020202020202076616c7565203d2076616c75652e736c69636528302c2069293b0a2020202020202020202020202020627265616b3b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973206e6f74202230222c2067726f7570696e67206973206170706c696564206265666f72652070616464696e672e0a20202020202069662028636f6d6d6120262620217a65726f292076616c7565203d2067726f75702876616c75652c20496e66696e697479293b0a0a2020202020202f2f20436f6d70757465207468652070616464696e672e0a202020202020766172206c656e677468203d2076616c75655072656669782e6c656e677468202b2076616c75652e6c656e677468202b2076616c75655375666669782e6c656e6774682c0a2020202020202020202070616464696e67203d206c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29203a2022223b0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973202230222c2067726f7570696e67206973206170706c6965642061667465722070616464696e672e0a20202020202069662028636f6d6d61202626207a65726f292076616c7565203d2067726f75702870616464696e67202b2076616c75652c2070616464696e672e6c656e677468203f207769647468202d2076616c75655375666669782e6c656e677468203a20496e66696e697479292c2070616464696e67203d2022223b0a0a2020202020202f2f205265636f6e737472756374207468652066696e616c206f7574707574206261736564206f6e20746865206465736972656420616c69676e6d656e742e0a2020202020207377697463682028616c69676e29207b0a20202020202020206361736520223c223a2076616c7565203d2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e673b20627265616b3b0a20202020202020206361736520223d223a2076616c7565203d2076616c7565507265666978202b2070616464696e67202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a20202020202020206361736520225e223a2076616c7565203d2070616464696e672e736c69636528302c206c656e677468203d2070616464696e672e6c656e677468203e3e203129202b2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e672e736c696365286c656e677468293b20627265616b3b0a202020202020202064656661756c743a2076616c7565203d2070616464696e67202b2076616c7565507265666978202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a2020202020207d0a0a20202020202072657475726e206e756d6572616c732876616c7565293b0a202020207d0a0a20202020666f726d61742e746f537472696e67203d2066756e6374696f6e2829207b0a20202020202072657475726e20737065636966696572202b2022223b0a202020207d3b0a0a2020202072657475726e20666f726d61743b0a20207d0a0a202066756e6374696f6e20666f726d6174507265666978287370656369666965722c2076616c756529207b0a202020207661722066203d206e6577466f726d61742828737065636966696572203d20666f726d617453706563696669657228737065636966696572292c207370656369666965722e74797065203d202266222c2073706563696669657229292c0a202020202020202065203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e7424312876616c756529202f2033292929202a20332c0a20202020202020206b203d204d6174682e706f772831302c202d65292c0a2020202020202020707265666978203d2070726566697865735b38202b2065202f20335d3b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066286b202a2076616c756529202b207072656669783b0a202020207d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a206e6577466f726d61742c0a20202020666f726d61745072656669783a20666f726d61745072656669780a20207d3b0a7d0a0a766172206c6f63616c653b0a0a64656661756c744c6f63616c65287b0a2020646563696d616c3a20222e222c0a202074686f7573616e64733a20222c222c0a202067726f7570696e673a205b335d2c0a202063757272656e63793a205b2224222c2022225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e666f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e666f726d6174507265666978203d206c6f63616c652e666f726d61745072656669783b0a202072657475726e206c6f63616c653b0a7d0a0a66756e6374696f6e20707265636973696f6e4669786564287374657029207b0a202072657475726e204d6174682e6d617828302c202d6578706f6e656e742431284d6174682e61627328737465702929293b0a7d0a0a66756e6374696f6e20707265636973696f6e50726566697828737465702c2076616c756529207b0a202072657475726e204d6174682e6d617828302c204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e7424312876616c756529202f2033292929202a2033202d206578706f6e656e742431284d6174682e61627328737465702929293b0a7d0a0a66756e6374696f6e20707265636973696f6e526f756e6428737465702c206d617829207b0a202073746570203d204d6174682e6162732873746570292c206d6178203d204d6174682e616273286d617829202d20737465703b0a202072657475726e204d6174682e6d617828302c206578706f6e656e742431286d617829202d206578706f6e656e74243128737465702929202b20313b0a7d0a0a2f2f204164647320666c6f6174696e6720706f696e74206e756d62657273207769746820747769636520746865206e6f726d616c20707265636973696f6e2e0a2f2f205265666572656e63653a204a2e20522e20536865776368756b2c20416461707469766520507265636973696f6e20466c6f6174696e672d506f696e742041726974686d6574696320616e640a2f2f204661737420526f627573742047656f6d657472696320507265646963617465732c204469736372657465202620436f6d7075746174696f6e616c2047656f6d657472792031382833290a2f2f20333035e28093333633202831393937292e0a2f2f20436f646520616461707465642066726f6d2047656f677261706869634c696220627920436861726c657320462e20462e204b61726e65792c0a2f2f20687474703a2f2f67656f677261706869636c69622e736f75726365666f7267652e6e65742f0a0a66756e6374696f6e2061646465722829207b0a202072657475726e206e65772041646465723b0a7d0a0a66756e6374696f6e2041646465722829207b0a2020746869732e726573657428293b0a7d0a0a41646465722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2041646465722c0a202072657365743a2066756e6374696f6e2829207b0a20202020746869732e73203d202f2f20726f756e6465642076616c75650a20202020746869732e74203d20303b202f2f206578616374206572726f720a20207d2c0a20206164643a2066756e6374696f6e287929207b0a2020202061646424312874656d702c20792c20746869732e74293b0a20202020616464243128746869732c2074656d702e732c20746869732e73293b0a2020202069662028746869732e732920746869732e74202b3d2074656d702e743b0a20202020656c736520746869732e73203d2074656d702e743b0a20207d2c0a202076616c75654f663a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e733b0a20207d0a7d3b0a0a7661722074656d70203d206e65772041646465723b0a0a66756e6374696f6e2061646424312861646465722c20612c206229207b0a20207661722078203d2061646465722e73203d2061202b20622c0a2020202020206276203d2078202d20612c0a2020202020206176203d2078202d2062763b0a202061646465722e74203d202861202d20617629202b202862202d206276293b0a7d0a0a76617220657073696c6f6e2432203d2031652d363b0a76617220657073696c6f6e322431203d2031652d31323b0a7661722070692433203d204d6174682e50493b0a7661722068616c6650692432203d2070692433202f20323b0a76617220717561727465725069203d2070692433202f20343b0a766172207461752433203d2070692433202a20323b0a0a76617220646567726565732431203d20313830202f20706924333b0a7661722072616469616e73203d2070692433202f203138303b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e203d204d6174682e6174616e3b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f732431203d204d6174682e636f733b0a766172206365696c203d204d6174682e6365696c3b0a76617220657870203d204d6174682e6578703b0a766172206c6f67203d204d6174682e6c6f673b0a76617220706f77203d204d6174682e706f773b0a7661722073696e2431203d204d6174682e73696e3b0a766172207369676e203d204d6174682e7369676e207c7c2066756e6374696f6e287829207b2072657475726e2078203e2030203f2031203a2078203c2030203f202d31203a20303b207d3b0a7661722073717274203d204d6174682e737172743b0a7661722074616e203d204d6174682e74616e3b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f2070692433203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e2031203f2068616c6650692432203a2078203c202d31203f202d68616c6650692432203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20686176657273696e287829207b0a202072657475726e202878203d2073696e24312878202f20322929202a20783b0a7d0a0a66756e6374696f6e206e6f6f7024322829207b7d0a0a66756e6374696f6e2073747265616d47656f6d657472792867656f6d657472792c2073747265616d29207b0a20206966202867656f6d657472792026262073747265616d47656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e747970652929207b0a2020202073747265616d47656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c2073747265616d293b0a20207d0a7d0a0a7661722073747265616d4f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d47656f6d65747279286f626a6563742e67656f6d657472792c2073747265616d293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792866656174757265735b695d2e67656f6d657472792c2073747265616d293b0a20207d0a7d3b0a0a7661722073747265616d47656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d2e73706865726528293b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020206f626a656374203d206f626a6563742e636f6f7264696e617465733b0a2020202073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e29206f626a656374203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d4c696e65286f626a6563742e636f6f7264696e617465732c2073747265616d2c2030293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2030293b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d506f6c79676f6e286f626a6563742e636f6f7264696e617465732c2073747265616d293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d506f6c79676f6e28636f6f7264696e617465735b695d2c2073747265616d293b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792867656f6d6574726965735b695d2c2073747265616d293b0a20207d0a7d3b0a0a66756e6374696f6e2073747265616d4c696e6528636f6f7264696e617465732c2073747265616d2c20636c6f73656429207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e677468202d20636c6f7365642c20636f6f7264696e6174653b0a202073747265616d2e6c696e65537461727428293b0a20207768696c6520282b2b69203c206e2920636f6f7264696e617465203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e7428636f6f7264696e6174655b305d2c20636f6f7264696e6174655b315d2c20636f6f7264696e6174655b325d293b0a202073747265616d2e6c696e65456e6428293b0a7d0a0a66756e6374696f6e2073747265616d506f6c79676f6e28636f6f7264696e617465732c2073747265616d29207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202073747265616d2e706f6c79676f6e537461727428293b0a20207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2031293b0a202073747265616d2e706f6c79676f6e456e6428293b0a7d0a0a66756e6374696f6e2067656f53747265616d286f626a6563742c2073747265616d29207b0a2020696620286f626a6563742026262073747265616d4f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e747970652929207b0a2020202073747265616d4f626a656374547970655b6f626a6563742e747970655d286f626a6563742c2073747265616d293b0a20207d20656c7365207b0a2020202073747265616d47656f6d65747279286f626a6563742c2073747265616d293b0a20207d0a7d0a0a766172206172656152696e6753756d203d20616464657228293b0a0a766172206172656153756d203d20616464657228292c0a202020206c616d62646130302c0a2020202070686930302c0a202020206c616d626461302c0a20202020636f73506869302c0a2020202073696e506869303b0a0a766172206172656153747265616d203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656152696e6753756d2e726573657428293b0a202020206172656153747265616d2e6c696e655374617274203d206172656152696e6753746172743b0a202020206172656153747265616d2e6c696e65456e64203d206172656152696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020766172206172656152696e67203d202b6172656152696e6753756d3b0a202020206172656153756d2e616464286172656152696e67203c2030203f207461752433202b206172656152696e67203a206172656152696e67293b0a20202020746869732e6c696e655374617274203d20746869732e6c696e65456e64203d20746869732e706f696e74203d206e6f6f7024323b0a20207d2c0a20207370686572653a2066756e6374696f6e2829207b0a202020206172656153756d2e616464287461752433293b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e6753746172742829207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e7446697273743b0a7d0a0a66756e6374696f6e206172656152696e67456e642829207b0a202061726561506f696e74286c616d62646130302c207068693030293b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374286c616d6264612c2070686929207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e743b0a20206c616d6264613030203d206c616d6264612c207068693030203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f73243128706869203d20706869202f2032202b20717561727465725069292c2073696e50686930203d2073696e243128706869293b0a7d0a0a66756e6374696f6e2061726561506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a2020706869203d20706869202f2032202b207175617274657250693b202f2f2068616c662074686520616e67756c61722064697374616e63652066726f6d20736f75746820706f6c650a0a20202f2f2053706865726963616c20657863657373204520666f7220612073706865726963616c20747269616e676c6520776974682076657274696365733a20736f75746820706f6c652c0a20202f2f2070726576696f757320706f696e742c2063757272656e7420706f696e742e202055736573206120666f726d756c6120646572697665642066726f6d204361676e6f6c69e28099730a20202f2f207468656f72656d2e202053656520546f6468756e7465722c2053706865726963616c20547269672e202831383731292c205365632e203130332c2045712e202832292e0a202076617220644c616d626461203d206c616d626461202d206c616d626461302c0a20202020202073644c616d626461203d20644c616d626461203e3d2030203f2031203a202d312c0a20202020202061644c616d626461203d2073644c616d626461202a20644c616d6264612c0a202020202020636f73506869203d20636f73243128706869292c0a20202020202073696e506869203d2073696e243128706869292c0a2020202020206b203d2073696e50686930202a2073696e5068692c0a20202020202075203d20636f7350686930202a20636f73506869202b206b202a20636f7324312861644c616d626461292c0a20202020202076203d206b202a2073644c616d626461202a2073696e24312861644c616d626461293b0a20206172656152696e6753756d2e616464286174616e3228762c207529293b0a0a20202f2f20416476616e6365207468652070726576696f757320706f696e74732e0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f735068692c2073696e50686930203d2073696e5068693b0a7d0a0a66756e6374696f6e20617265612431286f626a65637429207b0a20206172656153756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206172656153747265616d293b0a202072657475726e206172656153756d202a20323b0a7d0a0a66756e6374696f6e2073706865726963616c2863617274657369616e29207b0a202072657475726e205b6174616e322863617274657369616e5b315d2c2063617274657369616e5b305d292c206173696e2863617274657369616e5b325d295d3b0a7d0a0a66756e6374696f6e2063617274657369616e2873706865726963616c29207b0a2020766172206c616d626461203d2073706865726963616c5b305d2c20706869203d2073706865726963616c5b315d2c20636f73506869203d20636f73243128706869293b0a202072657475726e205b636f73506869202a20636f732431286c616d626461292c20636f73506869202a2073696e2431286c616d626461292c2073696e243128706869295d3b0a7d0a0a66756e6374696f6e2063617274657369616e446f7428612c206229207b0a202072657475726e20615b305d202a20625b305d202b20615b315d202a20625b315d202b20615b325d202a20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e43726f737328612c206229207b0a202072657475726e205b615b315d202a20625b325d202d20615b325d202a20625b315d2c20615b325d202a20625b305d202d20615b305d202a20625b325d2c20615b305d202a20625b315d202d20615b315d202a20625b305d5d3b0a7d0a0a2f2f20544f444f2072657475726e20610a66756e6374696f6e2063617274657369616e416464496e506c61636528612c206229207b0a2020615b305d202b3d20625b305d2c20615b315d202b3d20625b315d2c20615b325d202b3d20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e5363616c6528766563746f722c206b29207b0a202072657475726e205b766563746f725b305d202a206b2c20766563746f725b315d202a206b2c20766563746f725b325d202a206b5d3b0a7d0a0a2f2f20544f444f2072657475726e20640a66756e6374696f6e2063617274657369616e4e6f726d616c697a65496e506c616365286429207b0a2020766172206c203d207371727428645b305d202a20645b305d202b20645b315d202a20645b315d202b20645b325d202a20645b325d293b0a2020645b305d202f3d206c2c20645b315d202f3d206c2c20645b325d202f3d206c3b0a7d0a0a766172206c616d6264613024312c20706869302c206c616d626461312c20706869312c202f2f20626f756e64730a202020206c616d626461322c202f2f2070726576696f7573206c616d6264612d636f6f7264696e6174650a202020206c616d626461303024312c20706869303024312c202f2f20666972737420706f696e740a2020202070302c202f2f2070726576696f757320334420706f696e740a2020202064656c746153756d203d20616464657228292c0a2020202072616e6765732c0a2020202072616e67653b0a0a76617220626f756e647353747265616d203d207b0a2020706f696e743a20626f756e6473506f696e742c0a20206c696e6553746172743a20626f756e64734c696e6553746172742c0a20206c696e65456e643a20626f756e64734c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e647352696e67506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e647352696e6753746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e647352696e67456e643b0a2020202064656c746153756d2e726573657428293b0a202020206172656153747265616d2e706f6c79676f6e537461727428293b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d2e706f6c79676f6e456e6428293b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e64734c696e6553746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e64734c696e65456e643b0a20202020696620286172656152696e6753756d203c203029206c616d626461302431203d202d286c616d62646131203d20313830292c2070686930203d202d2870686931203d203930293b0a20202020656c7365206966202864656c746153756d203e20657073696c6f6e2432292070686931203d2039303b0a20202020656c7365206966202864656c746153756d203c202d657073696c6f6e2432292070686930203d202d39303b0a2020202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74286c616d6264612c2070686929207b0a202072616e6765732e707573682872616e6765203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a7d0a0a66756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a20207661722070203d2063617274657369616e285b6c616d626461202a2072616469616e732c20706869202a2072616469616e735d293b0a202069662028703029207b0a20202020766172206e6f726d616c203d2063617274657369616e43726f73732870302c2070292c0a202020202020202065717561746f7269616c203d205b6e6f726d616c5b315d2c202d6e6f726d616c5b305d2c20305d2c0a2020202020202020696e666c656374696f6e203d2063617274657369616e43726f73732865717561746f7269616c2c206e6f726d616c293b0a2020202063617274657369616e4e6f726d616c697a65496e506c61636528696e666c656374696f6e293b0a20202020696e666c656374696f6e203d2073706865726963616c28696e666c656374696f6e293b0a202020207661722064656c7461203d206c616d626461202d206c616d626461322c0a20202020202020207369676e242431203d2064656c7461203e2030203f2031203a202d312c0a20202020202020206c616d62646169203d20696e666c656374696f6e5b305d202a20646567726565732431202a207369676e2424312c0a2020202020202020706869692c0a2020202020202020616e74696d6572696469616e203d206162732864656c746129203e203138303b0a2020202069662028616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d20696e666c656374696f6e5b315d202a206465677265657324313b0a2020202020206966202870686969203e2070686931292070686931203d20706869693b0a202020207d20656c736520696620286c616d62646169203d20286c616d62646169202b2033363029202520333630202d203138302c20616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d202d696e666c656374696f6e5b315d202a206465677265657324313b0a2020202020206966202870686969203c2070686930292070686930203d20706869693b0a202020207d20656c7365207b0a20202020202069662028706869203c2070686930292070686930203d207068693b0a20202020202069662028706869203e2070686931292070686931203d207068693b0a202020207d0a2020202069662028616e74696d6572696469616e29207b0a202020202020696620286c616d626461203c206c616d6264613229207b0a202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c616d62646131203e3d206c616d62646130243129207b0a2020202020202020696620286c616d626461203c206c616d62646130243129206c616d626461302431203d206c616d6264613b0a2020202020202020696620286c616d626461203e206c616d6264613129206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a2020202020202020696620286c616d626461203e206c616d6264613229207b0a2020202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a20202020202020207d20656c7365207b0a2020202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a20202020202020207d0a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202072616e6765732e707573682872616e6765203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a20207d0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a20207030203d20702c206c616d62646132203d206c616d6264613b0a7d0a0a66756e6374696f6e20626f756e64734c696e6553746172742829207b0a2020626f756e647353747265616d2e706f696e74203d206c696e65506f696e743b0a7d0a0a66756e6374696f6e20626f756e64734c696e65456e642829207b0a202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a2020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20207030203d206e756c6c3b0a7d0a0a66756e6374696f6e20626f756e647352696e67506f696e74286c616d6264612c2070686929207b0a202069662028703029207b0a202020207661722064656c7461203d206c616d626461202d206c616d626461323b0a2020202064656c746153756d2e616464286162732864656c746129203e20313830203f2064656c7461202b202864656c7461203e2030203f20333630203a202d33363029203a2064656c7461293b0a20207d20656c7365207b0a202020206c616d62646130302431203d206c616d6264612c2070686930302431203d207068693b0a20207d0a20206172656153747265616d2e706f696e74286c616d6264612c20706869293b0a20206c696e65506f696e74286c616d6264612c20706869293b0a7d0a0a66756e6374696f6e20626f756e647352696e6753746172742829207b0a20206172656153747265616d2e6c696e65537461727428293b0a7d0a0a66756e6374696f6e20626f756e647352696e67456e642829207b0a2020626f756e647352696e67506f696e74286c616d626461303024312c2070686930302431293b0a20206172656153747265616d2e6c696e65456e6428293b0a2020696620286162732864656c746153756d29203e20657073696c6f6e243229206c616d626461302431203d202d286c616d62646131203d20313830293b0a202072616e67655b305d203d206c616d6264613024312c2072616e67655b315d203d206c616d626461313b0a20207030203d206e756c6c3b0a7d0a0a2f2f2046696e647320746865206c6566742d72696768742064697374616e6365206265747765656e2074776f206c6f6e676974756465732e0a2f2f205468697320697320616c6d6f7374207468652073616d6520617320286c616d62646131202d206c616d62646130202b20333630c2b029202520333630c2b02c2065786365707420746861742077652077616e740a2f2f207468652064697374616e6365206265747765656e20c2b1313830c2b020746f20626520333630c2b02e0a66756e6374696f6e20616e676c65286c616d626461302c206c616d6264613129207b0a202072657475726e20286c616d62646131202d3d206c616d6264613029203c2030203f206c616d62646131202b20333630203a206c616d626461313b0a7d0a0a66756e6374696f6e2072616e6765436f6d7061726528612c206229207b0a202072657475726e20615b305d202d20625b305d3b0a7d0a0a66756e6374696f6e2072616e6765436f6e7461696e732872616e67652c207829207b0a202072657475726e2072616e67655b305d203c3d2072616e67655b315d203f2072616e67655b305d203c3d20782026262078203c3d2072616e67655b315d203a2078203c2072616e67655b305d207c7c2072616e67655b315d203c20783b0a7d0a0a66756e6374696f6e20626f756e6473286665617475726529207b0a202076617220692c206e2c20612c20622c206d65726765642c2064656c74614d61782c2064656c74613b0a0a202070686931203d206c616d62646131203d202d286c616d626461302431203d2070686930203d20496e66696e697479293b0a202072616e676573203d205b5d3b0a202067656f53747265616d28666561747572652c20626f756e647353747265616d293b0a0a20202f2f2046697273742c20736f72742072616e676573206279207468656972206d696e696d756d206c6f6e676974756465732e0a2020696620286e203d2072616e6765732e6c656e67746829207b0a2020202072616e6765732e736f72742872616e6765436f6d70617265293b0a0a202020202f2f205468656e2c206d6572676520616e792072616e6765732074686174206f7665726c61702e0a20202020666f72202869203d20312c2061203d2072616e6765735b305d2c206d6572676564203d205b615d3b2069203c206e3b202b2b6929207b0a20202020202062203d2072616e6765735b695d3b0a2020202020206966202872616e6765436f6e7461696e7328612c20625b305d29207c7c2072616e6765436f6e7461696e7328612c20625b315d2929207b0a202020202020202069662028616e676c6528615b305d2c20625b315d29203e20616e676c6528615b305d2c20615b315d292920615b315d203d20625b315d3b0a202020202020202069662028616e676c6528625b305d2c20615b315d29203e20616e676c6528615b305d2c20615b315d292920615b305d203d20625b305d3b0a2020202020207d20656c7365207b0a20202020202020206d65726765642e707573682861203d2062293b0a2020202020207d0a202020207d0a0a202020202f2f2046696e616c6c792c2066696e6420746865206c61726765737420676170206265747765656e20746865206d65726765642072616e6765732e0a202020202f2f205468652066696e616c20626f756e64696e6720626f782077696c6c2062652074686520696e7665727365206f662074686973206761702e0a20202020666f72202864656c74614d6178203d202d496e66696e6974792c206e203d206d65726765642e6c656e677468202d20312c2069203d20302c2061203d206d65726765645b6e5d3b2069203c3d206e3b2061203d20622c202b2b6929207b0a20202020202062203d206d65726765645b695d3b0a202020202020696620282864656c7461203d20616e676c6528615b315d2c20625b305d2929203e2064656c74614d6178292064656c74614d6178203d2064656c74612c206c616d626461302431203d20625b305d2c206c616d62646131203d20615b315d3b0a202020207d0a20207d0a0a202072616e676573203d2072616e6765203d206e756c6c3b0a0a202072657475726e206c616d626461302431203d3d3d20496e66696e697479207c7c2070686930203d3d3d20496e66696e6974790a2020202020203f205b5b4e614e2c204e614e5d2c205b4e614e2c204e614e5d5d0a2020202020203a205b5b6c616d6264613024312c20706869305d2c205b6c616d626461312c20706869315d5d3b0a7d0a0a7661722057302c2057312c0a2020202058302c2059302c205a302c0a2020202058312c2059312c205a312c0a2020202058322c2059322c205a322c0a202020206c616d626461303024322c20706869303024322c202f2f20666972737420706f696e740a2020202078302c2079302c207a303b202f2f2070726576696f757320706f696e740a0a7661722063656e74726f696453747265616d203d207b0a20207370686572653a206e6f6f7024322c0a2020706f696e743a2063656e74726f6964506f696e742c0a20206c696e6553746172743a2063656e74726f69644c696e6553746172742c0a20206c696e65456e643a2063656e74726f69644c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f696452696e6753746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f696452696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f69644c696e6553746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f69644c696e65456e643b0a20207d0a7d3b0a0a2f2f2041726974686d65746963206d65616e206f662043617274657369616e20766563746f72732e0a66756e6374696f6e2063656e74726f6964506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869293b0a202063656e74726f6964506f696e7443617274657369616e28636f73506869202a20636f732431286c616d626461292c20636f73506869202a2073696e2431286c616d626461292c2073696e24312870686929293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7443617274657369616e28782c20792c207a29207b0a20202b2b57303b0a20205830202b3d202878202d20583029202f2057303b0a20205930202b3d202879202d20593029202f2057303b0a20205a30202b3d20287a202d205a3029202f2057303b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e6553746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869293b0a20207830203d20636f73506869202a20636f732431286c616d626461293b0a20207930203d20636f73506869202a2073696e2431286c616d626461293b0a20207a30203d2073696e243128706869293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e743b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869292c0a20202020202078203d20636f73506869202a20636f732431286c616d626461292c0a20202020202079203d20636f73506869202a2073696e2431286c616d626461292c0a2020202020207a203d2073696e243128706869292c0a20202020202077203d206174616e322873717274282877203d207930202a207a202d207a30202a207929202a2077202b202877203d207a30202a2078202d207830202a207a29202a2077202b202877203d207830202a2079202d207930202a207829202a2077292c207830202a2078202b207930202a2079202b207a30202a207a293b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e642829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a2f2f20536565204a2e20452e2042726f636b2c2054686520496e65727469612054656e736f7220666f7220612053706865726963616c20547269616e676c652c0a2f2f204a2e204170706c696564204d656368616e6963732034322c20323339202831393735292e0a66756e6374696f6e2063656e74726f696452696e6753746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e642829207b0a202063656e74726f696452696e67506f696e74286c616d626461303024322c2070686930302432293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e744669727374286c616d6264612c2070686929207b0a20206c616d62646130302432203d206c616d6264612c2070686930302432203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e743b0a202076617220636f73506869203d20636f73243128706869293b0a20207830203d20636f73506869202a20636f732431286c616d626461293b0a20207930203d20636f73506869202a2073696e2431286c616d626461293b0a20207a30203d2073696e243128706869293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f73243128706869292c0a20202020202078203d20636f73506869202a20636f732431286c616d626461292c0a20202020202079203d20636f73506869202a2073696e2431286c616d626461292c0a2020202020207a203d2073696e243128706869292c0a2020202020206378203d207930202a207a202d207a30202a20792c0a2020202020206379203d207a30202a2078202d207830202a207a2c0a202020202020637a203d207830202a2079202d207930202a20782c0a2020202020206d203d2073717274286378202a206378202b206379202a206379202b20637a202a20637a292c0a20202020202077203d206173696e286d292c202f2f206c696e6520776569676874203d20616e676c650a20202020202076203d206d202626202d77202f206d3b202f2f206172656120776569676874206d756c7469706c6965720a20205832202b3d2076202a2063783b0a20205932202b3d2076202a2063793b0a20205a32202b3d2076202a20637a3b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f6964286f626a65637429207b0a20205730203d205731203d0a20205830203d205930203d205a30203d0a20205831203d205931203d205a31203d0a20205832203d205932203d205a32203d20303b0a202067656f53747265616d286f626a6563742c2063656e74726f696453747265616d293b0a0a20207661722078203d2058322c0a20202020202079203d2059322c0a2020202020207a203d205a322c0a2020202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a0a20202f2f2049662074686520617265612d7765696768746564206363656e74726f696420697320756e646566696e65642c2066616c6c206261636b20746f206c656e6774682d7765696768746564206363656e74726f69642e0a2020696620286d203c20657073696c6f6e32243129207b0a2020202078203d2058312c2079203d2059312c207a203d205a313b0a202020202f2f20496620746865206665617475726520686173207a65726f206c656e6774682c2066616c6c206261636b20746f2061726974686d65746963206d65616e206f6620706f696e7420766563746f72732e0a20202020696620285731203c20657073696c6f6e2432292078203d2058302c2079203d2059302c207a203d205a303b0a202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a202020202f2f204966207468652066656174757265207374696c6c2068617320616e20756e646566696e6564206363656e74726f69642c207468656e2072657475726e2e0a20202020696620286d203c20657073696c6f6e322431292072657475726e205b4e614e2c204e614e5d3b0a20207d0a0a202072657475726e205b6174616e3228792c207829202a206465677265657324312c206173696e287a202f2073717274286d2929202a206465677265657324315d3b0a7d0a0a66756e6374696f6e20636f6e7374616e742438287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20636f6d706f736528612c206229207b0a0a202066756e6374696f6e20636f6d706f736528782c207929207b0a2020202072657475726e2078203d206128782c2079292c206228785b305d2c20785b315d293b0a20207d0a0a202069662028612e696e7665727420262620622e696e766572742920636f6d706f73652e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d20622e696e7665727428782c2079292c207820262620612e696e7665727428785b305d2c20785b315d293b0a20207d3b0a0a202072657475726e20636f6d706f73653b0a7d0a0a66756e6374696f6e20726f746174696f6e4964656e74697479286c616d6264612c2070686929207b0a202072657475726e205b6c616d626461203e2070692433203f206c616d626461202d207461752433203a206c616d626461203c202d70692433203f206c616d626461202b207461752433203a206c616d6264612c207068695d3b0a7d0a0a726f746174696f6e4964656e746974792e696e76657274203d20726f746174696f6e4964656e746974793b0a0a66756e6374696f6e20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d6129207b0a202072657475726e202864656c74614c616d62646120253d20746175243329203f202864656c7461506869207c7c2064656c746147616d6d61203f20636f6d706f736528726f746174696f6e4c616d6264612864656c74614c616d626461292c20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129290a202020203a20726f746174696f6e4c616d6264612864656c74614c616d62646129290a202020203a202864656c7461506869207c7c2064656c746147616d6d61203f20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d61290a202020203a20726f746174696f6e4964656e74697479293b0a7d0a0a66756e6374696f6e20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202072657475726e2066756e6374696f6e286c616d6264612c2070686929207b0a2020202072657475726e206c616d626461202b3d2064656c74614c616d6264612c205b6c616d626461203e2070692433203f206c616d626461202d207461752433203a206c616d626461203c202d70692433203f206c616d626461202b207461752433203a206c616d6264612c207068695d3b0a20207d3b0a7d0a0a66756e6374696f6e20726f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202076617220726f746174696f6e203d20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d626461293b0a2020726f746174696f6e2e696e76657274203d20666f7277617264526f746174696f6e4c616d626461282d64656c74614c616d626461293b0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129207b0a202076617220636f7344656c7461506869203d20636f7324312864656c7461506869292c0a20202020202073696e44656c7461506869203d2073696e24312864656c7461506869292c0a202020202020636f7344656c746147616d6d61203d20636f7324312864656c746147616d6d61292c0a20202020202073696e44656c746147616d6d61203d2073696e24312864656c746147616d6d61293b0a0a202066756e6374696f6e20726f746174696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f73243128706869292c0a202020202020202078203d20636f732431286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e2431286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e243128706869292c0a20202020202020206b203d207a202a20636f7344656c7461506869202b2078202a2073696e44656c74615068693b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202d206b202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202d207a202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c746147616d6d61202b2079202a2073696e44656c746147616d6d61290a202020205d3b0a20207d0a0a2020726f746174696f6e2e696e76657274203d2066756e6374696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f73243128706869292c0a202020202020202078203d20636f732431286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e2431286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e243128706869292c0a20202020202020206b203d207a202a20636f7344656c746147616d6d61202d2079202a2073696e44656c746147616d6d613b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202b207a202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202b206b202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c7461506869202d2078202a2073696e44656c7461506869290a202020205d3b0a20207d3b0a0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e28726f7461746529207b0a2020726f74617465203d20726f7461746552616469616e7328726f746174655b305d202a2072616469616e732c20726f746174655b315d202a2072616469616e732c20726f746174652e6c656e677468203e2032203f20726f746174655b325d202a2072616469616e73203a2030293b0a0a202066756e6374696f6e20666f727761726428636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f7461746528636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d206465677265657324312c20636f6f7264696e617465735b315d202a3d206465677265657324312c20636f6f7264696e617465733b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f746174652e696e7665727428636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d206465677265657324312c20636f6f7264696e617465735b315d202a3d206465677265657324312c20636f6f7264696e617465733b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a2f2f2047656e657261746573206120636972636c652063656e7465726564206174205b30c2b02c2030c2b05d2c2077697468206120676976656e2072616469757320616e6420707265636973696f6e2e0a66756e6374696f6e20636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2074302c20743129207b0a2020696620282164656c7461292072657475726e3b0a202076617220636f73526164697573203d20636f73243128726164697573292c0a20202020202073696e526164697573203d2073696e243128726164697573292c0a20202020202073746570203d20646972656374696f6e202a2064656c74613b0a2020696620287430203d3d206e756c6c29207b0a202020207430203d20726164697573202b20646972656374696f6e202a2074617524333b0a202020207431203d20726164697573202d2073746570202f20323b0a20207d20656c7365207b0a202020207430203d20636972636c6552616469757328636f735261646975732c207430293b0a202020207431203d20636972636c6552616469757328636f735261646975732c207431293b0a2020202069662028646972656374696f6e203e2030203f207430203c207431203a207430203e20743129207430202b3d20646972656374696f6e202a2074617524333b0a20207d0a2020666f72202876617220706f696e742c2074203d2074303b20646972656374696f6e203e2030203f2074203e207431203a2074203c2074313b2074202d3d207374657029207b0a20202020706f696e74203d2073706865726963616c285b636f735261646975732c202d73696e526164697573202a20636f7324312874292c202d73696e526164697573202a2073696e24312874295d293b0a2020202073747265616d2e706f696e7428706f696e745b305d2c20706f696e745b315d293b0a20207d0a7d0a0a2f2f2052657475726e7320746865207369676e656420616e676c65206f6620612063617274657369616e20706f696e742072656c617469766520746f205b636f735261646975732c20302c20305d2e0a66756e6374696f6e20636972636c6552616469757328636f735261646975732c20706f696e7429207b0a2020706f696e74203d2063617274657369616e28706f696e74292c20706f696e745b305d202d3d20636f735261646975733b0a202063617274657369616e4e6f726d616c697a65496e506c61636528706f696e74293b0a202076617220726164697573203d2061636f73282d706f696e745b315d293b0a202072657475726e2028282d706f696e745b325d203c2030203f202d726164697573203a2072616469757329202b207461752433202d20657073696c6f6e24322920252074617524333b0a7d0a0a66756e6374696f6e20636972636c652829207b0a20207661722063656e746572203d20636f6e7374616e742438285b302c20305d292c0a202020202020726164697573203d20636f6e7374616e742438283930292c0a202020202020707265636973696f6e203d20636f6e7374616e7424382836292c0a20202020202072696e672c0a202020202020726f746174652c0a20202020202073747265616d203d207b706f696e743a20706f696e747d3b0a0a202066756e6374696f6e20706f696e7428782c207929207b0a2020202072696e672e707573682878203d20726f7461746528782c207929293b0a20202020785b305d202a3d206465677265657324312c20785b315d202a3d206465677265657324313b0a20207d0a0a202066756e6374696f6e20636972636c652829207b0a202020207661722063203d2063656e7465722e6170706c7928746869732c20617267756d656e7473292c0a202020202020202072203d207261646975732e6170706c7928746869732c20617267756d656e747329202a2072616469616e732c0a202020202020202070203d20707265636973696f6e2e6170706c7928746869732c20617267756d656e747329202a2072616469616e733b0a2020202072696e67203d205b5d3b0a20202020726f74617465203d20726f7461746552616469616e73282d635b305d202a2072616469616e732c202d635b315d202a2072616469616e732c2030292e696e766572743b0a20202020636972636c6553747265616d2873747265616d2c20722c20702c2031293b0a2020202063203d207b747970653a2022506f6c79676f6e222c20636f6f7264696e617465733a205b72696e675d7d3b0a2020202072696e67203d20726f74617465203d206e756c6c3b0a2020202072657475726e20633b0a20207d0a0a2020636972636c652e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438285b2b5f5b305d2c202b5f5b315d5d292c20636972636c6529203a2063656e7465723b0a20207d3b0a0a2020636972636c652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438282b5f292c20636972636c6529203a207261646975733b0a20207d3b0a0a2020636972636c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636973696f6e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742438282b5f292c20636972636c6529203a20707265636973696f6e3b0a20207d3b0a0a202072657475726e20636972636c653b0a7d0a0a66756e6374696f6e20636c69704275666665722829207b0a2020766172206c696e6573203d205b5d2c0a2020202020206c696e653b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020206c696e652e70757368285b782c20795d293b0a202020207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020206c696e65732e70757368286c696e65203d205b5d293b0a202020207d2c0a202020206c696e65456e643a206e6f6f7024322c0a2020202072656a6f696e3a2066756e6374696f6e2829207b0a202020202020696620286c696e65732e6c656e677468203e203129206c696e65732e70757368286c696e65732e706f7028292e636f6e636174286c696e65732e7368696674282929293b0a202020207d2c0a20202020726573756c743a2066756e6374696f6e2829207b0a20202020202076617220726573756c74203d206c696e65733b0a2020202020206c696e6573203d205b5d3b0a2020202020206c696e65203d206e756c6c3b0a20202020202072657475726e20726573756c743b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20706f696e74457175616c28612c206229207b0a202072657475726e2061627328615b305d202d20625b305d29203c20657073696c6f6e24322026262061627328615b315d202d20625b315d29203c20657073696c6f6e24323b0a7d0a0a66756e6374696f6e20496e74657273656374696f6e28706f696e742c20706f696e74732c206f746865722c20656e74727929207b0a2020746869732e78203d20706f696e743b0a2020746869732e7a203d20706f696e74733b0a2020746869732e6f203d206f746865723b202f2f20616e6f7468657220696e74657273656374696f6e0a2020746869732e65203d20656e7472793b202f2f20697320616e20656e7472793f0a2020746869732e76203d2066616c73653b202f2f20766973697465640a2020746869732e6e203d20746869732e70203d206e756c6c3b202f2f206e65787420262070726576696f75730a7d0a0a2f2f20412067656e6572616c697a656420706f6c79676f6e20636c697070696e6720616c676f726974686d3a20676976656e206120706f6c79676f6e207468617420686173206265656e206375740a2f2f20696e746f206974732076697369626c65206c696e65207365676d656e74732c20616e642072656a6f696e7320746865207365676d656e747320627920696e746572706f6c6174696e670a2f2f20616c6f6e672074686520636c697020656467652e0a66756e6374696f6e20636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d29207b0a2020766172207375626a656374203d205b5d2c0a202020202020636c6970203d205b5d2c0a202020202020692c0a2020202020206e3b0a0a20207365676d656e74732e666f72456163682866756e6374696f6e287365676d656e7429207b0a2020202069662028286e203d207365676d656e742e6c656e677468202d203129203c3d2030292072657475726e3b0a20202020766172206e2c207030203d207365676d656e745b305d2c207031203d207365676d656e745b6e5d2c20783b0a0a202020202f2f2049662074686520666972737420616e64206c61737420706f696e7473206f662061207365676d656e742061726520636f696e636964656e742c207468656e20747265617420617320610a202020202f2f20636c6f7365642072696e672e20544f444f20696620616c6c2072696e67732061726520636c6f7365642c207468656e207468652077696e64696e67206f72646572206f66207468650a202020202f2f206578746572696f722072696e672073686f756c6420626520636865636b65642e0a2020202069662028706f696e74457175616c2870302c2070312929207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b69292073747265616d2e706f696e7428287030203d207365676d656e745b695d295b305d2c2070305b315d293b0a20202020202073747265616d2e6c696e65456e6428293b0a20202020202072657475726e3b0a202020207d0a0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870302c207365676d656e742c206e756c6c2c207472756529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870302c206e756c6c2c20782c2066616c736529293b0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870312c207365676d656e742c206e756c6c2c2066616c736529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870312c206e756c6c2c20782c207472756529293b0a20207d293b0a0a202069662028217375626a6563742e6c656e677468292072657475726e3b0a0a2020636c69702e736f727428636f6d70617265496e74657273656374696f6e293b0a20206c696e6b2431287375626a656374293b0a20206c696e6b243128636c6970293b0a0a2020666f72202869203d20302c206e203d20636c69702e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020636c69705b695d2e65203d207374617274496e73696465203d20217374617274496e736964653b0a20207d0a0a2020766172207374617274203d207375626a6563745b305d2c0a202020202020706f696e74732c0a202020202020706f696e743b0a0a20207768696c6520283129207b0a202020202f2f2046696e6420666972737420756e7669736974656420696e74657273656374696f6e2e0a202020207661722063757272656e74203d2073746172742c0a202020202020202069735375626a656374203d20747275653b0a202020207768696c65202863757272656e742e762920696620282863757272656e74203d2063757272656e742e6e29203d3d3d207374617274292072657475726e3b0a20202020706f696e7473203d2063757272656e742e7a3b0a2020202073747265616d2e6c696e65537461727428293b0a20202020646f207b0a20202020202063757272656e742e76203d2063757272656e742e6f2e76203d20747275653b0a2020202020206966202863757272656e742e6529207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020666f72202869203d20302c206e203d20706f696e74732e6c656e6774683b2069203c206e3b202b2b69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e6e2e782c20312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e6e3b0a2020202020207d20656c7365207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020706f696e7473203d2063757272656e742e702e7a3b0a20202020202020202020666f72202869203d20706f696e74732e6c656e677468202d20313b2069203e3d20303b202d2d69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e702e782c202d312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e703b0a2020202020207d0a20202020202063757272656e74203d2063757272656e742e6f3b0a202020202020706f696e7473203d2063757272656e742e7a3b0a20202020202069735375626a656374203d202169735375626a6563743b0a202020207d207768696c6520282163757272656e742e76293b0a2020202073747265616d2e6c696e65456e6428293b0a20207d0a7d0a0a66756e6374696f6e206c696e6b243128617272617929207b0a20206966202821286e203d2061727261792e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a20202020202061203d2061727261795b305d2c0a202020202020623b0a20207768696c6520282b2b69203c206e29207b0a20202020612e6e203d2062203d2061727261795b695d3b0a20202020622e70203d20613b0a2020202061203d20623b0a20207d0a2020612e6e203d2062203d2061727261795b305d3b0a2020622e70203d20613b0a7d0a0a7661722073756d2431203d20616464657228293b0a0a66756e6374696f6e20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c20706f696e7429207b0a2020766172206c616d626461203d20706f696e745b305d2c0a202020202020706869203d20706f696e745b315d2c0a20202020202073696e506869203d2073696e243128706869292c0a2020202020206e6f726d616c203d205b73696e2431286c616d626461292c202d636f732431286c616d626461292c20305d2c0a202020202020616e676c65203d20302c0a20202020202077696e64696e67203d20303b0a0a202073756d24312e726573657428293b0a0a20206966202873696e506869203d3d3d20312920706869203d2068616c6650692432202b20657073696c6f6e24323b0a2020656c7365206966202873696e506869203d3d3d202d312920706869203d202d68616c6650692432202d20657073696c6f6e24323b0a0a2020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a202020206966202821286d203d202872696e67203d20706f6c79676f6e5b695d292e6c656e677468292920636f6e74696e75653b0a202020207661722072696e672c0a20202020202020206d2c0a2020202020202020706f696e7430203d2072696e675b6d202d20315d2c0a20202020202020206c616d62646130203d20706f696e74305b305d2c0a202020202020202070686930203d20706f696e74305b315d202f2032202b207175617274657250692c0a202020202020202073696e50686930203d2073696e24312870686930292c0a2020202020202020636f7350686930203d20636f7324312870686930293b0a0a20202020666f722028766172206a203d20303b206a203c206d3b202b2b6a2c206c616d62646130203d206c616d626461312c2073696e50686930203d2073696e506869312c20636f7350686930203d20636f73506869312c20706f696e7430203d20706f696e743129207b0a20202020202076617220706f696e7431203d2072696e675b6a5d2c0a202020202020202020206c616d62646131203d20706f696e74315b305d2c0a2020202020202020202070686931203d20706f696e74315b315d202f2032202b207175617274657250692c0a2020202020202020202073696e50686931203d2073696e24312870686931292c0a20202020202020202020636f7350686931203d20636f7324312870686931292c0a2020202020202020202064656c7461203d206c616d62646131202d206c616d626461302c0a202020202020202020207369676e242431203d2064656c7461203e3d2030203f2031203a202d312c0a2020202020202020202061627344656c7461203d207369676e242431202a2064656c74612c0a20202020202020202020616e74696d6572696469616e203d2061627344656c7461203e20706924332c0a202020202020202020206b203d2073696e50686930202a2073696e506869313b0a0a20202020202073756d24312e616464286174616e32286b202a207369676e242431202a2073696e24312861627344656c7461292c20636f7350686930202a20636f7350686931202b206b202a20636f7324312861627344656c74612929293b0a202020202020616e676c65202b3d20616e74696d6572696469616e203f2064656c7461202b207369676e242431202a207461752433203a2064656c74613b0a0a2020202020202f2f2041726520746865206c6f6e67697475646573206569746865722073696465206f662074686520706f696e74e2809973206d6572696469616e20286c616d626461292c0a2020202020202f2f20616e642061726520746865206c617469747564657320736d616c6c6572207468616e2074686520706172616c6c656c2028706869293f0a20202020202069662028616e74696d6572696469616e205e206c616d62646130203e3d206c616d626461205e206c616d62646131203e3d206c616d62646129207b0a202020202020202076617220617263203d2063617274657369616e43726f73732863617274657369616e28706f696e7430292c2063617274657369616e28706f696e743129293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528617263293b0a202020202020202076617220696e74657273656374696f6e203d2063617274657369616e43726f7373286e6f726d616c2c20617263293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528696e74657273656374696f6e293b0a202020202020202076617220706869417263203d2028616e74696d6572696469616e205e2064656c7461203e3d2030203f202d31203a203129202a206173696e28696e74657273656374696f6e5b325d293b0a202020202020202069662028706869203e20706869417263207c7c20706869203d3d3d2070686941726320262620286172635b305d207c7c206172635b315d2929207b0a2020202020202020202077696e64696e67202b3d20616e74696d6572696469616e205e2064656c7461203e3d2030203f2031203a202d313b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a20202f2f2046697273742c2064657465726d696e6520776865746865722074686520536f75746820706f6c6520697320696e73696465206f72206f7574736964653a0a20202f2f0a20202f2f20497420697320696e736964652069663a0a20202f2f202a2074686520706f6c79676f6e2077696e64732061726f756e6420697420696e206120636c6f636b7769736520646972656374696f6e2e0a20202f2f202a2074686520706f6c79676f6e20646f6573206e6f74202863756d756c61746976656c79292077696e642061726f756e642069742c20627574206861732061206e656761746976650a20202f2f20202028636f756e7465722d636c6f636b776973652920617265612e0a20202f2f0a20202f2f205365636f6e642c20636f756e742074686520287369676e656429206e756d626572206f662074696d65732061207365676d656e742063726f737365732061206c616d6264610a20202f2f2066726f6d2074686520706f696e7420746f2074686520536f75746820706f6c652e20204966206974206973207a65726f2c207468656e2074686520706f696e74206973207468650a20202f2f2073616d6520736964652061732074686520536f75746820706f6c652e0a0a202072657475726e2028616e676c65203c202d657073696c6f6e2432207c7c20616e676c65203c20657073696c6f6e24322026262073756d2431203c202d657073696c6f6e243229205e202877696e64696e6720262031293b0a7d0a0a66756e6374696f6e20636c697028706f696e7456697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20737461727429207b0a202072657475726e2066756e6374696f6e2873696e6b29207b0a20202020766172206c696e65203d20636c69704c696e652873696e6b292c0a202020202020202072696e67427566666572203d20636c697042756666657228292c0a202020202020202072696e6753696e6b203d20636c69704c696e652872696e67427566666572292c0a2020202020202020706f6c79676f6e53746172746564203d2066616c73652c0a2020202020202020706f6c79676f6e2c0a20202020202020207365676d656e74732c0a202020202020202072696e673b0a0a2020202076617220636c6970203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e7452696e673b0a2020202020202020636c69702e6c696e655374617274203d2072696e6753746172743b0a2020202020202020636c69702e6c696e65456e64203d2072696e67456e643b0a20202020202020207365676d656e7473203d205b5d3b0a2020202020202020706f6c79676f6e203d205b5d3b0a2020202020207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e743b0a2020202020202020636c69702e6c696e655374617274203d206c696e6553746172743b0a2020202020202020636c69702e6c696e65456e64203d206c696e65456e643b0a20202020202020207365676d656e7473203d206d65726765287365676d656e7473293b0a2020202020202020766172207374617274496e73696465203d20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c207374617274293b0a2020202020202020696620287365676d656e74732e6c656e67746829207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073696e6b293b0a20202020202020207d20656c736520696620287374617274496e7369646529207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202069662028706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e456e6428292c20706f6c79676f6e53746172746564203d2066616c73653b0a20202020202020207365676d656e7473203d20706f6c79676f6e203d206e756c6c3b0a2020202020207d2c0a2020202020207370686572653a2066756e6374696f6e2829207b0a202020202020202073696e6b2e706f6c79676f6e537461727428293b0a202020202020202073696e6b2e6c696e65537461727428293b0a2020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a202020202020202073696e6b2e6c696e65456e6428293b0a202020202020202073696e6b2e706f6c79676f6e456e6428293b0a2020202020207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e74286c616d6264612c2070686929207b0a20202020202069662028706f696e7456697369626c65286c616d6264612c2070686929292073696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e20706f696e744c696e65286c616d6264612c2070686929207b0a2020202020206c696e652e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c69702e706f696e74203d20706f696e744c696e653b0a2020202020206c696e652e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020636c69702e706f696e74203d20706f696e743b0a2020202020206c696e652e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e20706f696e7452696e67286c616d6264612c2070686929207b0a20202020202072696e672e70757368285b6c616d6264612c207068695d293b0a20202020202072696e6753696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a20202020202072696e6753696e6b2e6c696e65537461727428293b0a20202020202072696e67203d205b5d3b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020706f696e7452696e672872696e675b305d5b305d2c2072696e675b305d5b315d293b0a20202020202072696e6753696e6b2e6c696e65456e6428293b0a0a20202020202076617220636c65616e203d2072696e6753696e6b2e636c65616e28292c0a2020202020202020202072696e675365676d656e7473203d2072696e674275666665722e726573756c7428292c0a20202020202020202020692c206e203d2072696e675365676d656e74732e6c656e6774682c206d2c0a202020202020202020207365676d656e742c0a20202020202020202020706f696e743b0a0a20202020202072696e672e706f7028293b0a202020202020706f6c79676f6e2e707573682872696e67293b0a20202020202072696e67203d206e756c6c3b0a0a20202020202069662028216e292072657475726e3b0a0a2020202020202f2f204e6f20696e74657273656374696f6e732e0a20202020202069662028636c65616e2026203129207b0a20202020202020207365676d656e74203d2072696e675365676d656e74735b305d3b0a202020202020202069662028286d203d207365676d656e742e6c656e677468202d203129203e203029207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020666f72202869203d20303b2069203c206d3b202b2b69292073696e6b2e706f696e742828706f696e74203d207365676d656e745b695d295b305d2c20706f696e745b315d293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a0a2020202020202f2f2052656a6f696e20636f6e6e6563746564207365676d656e74732e0a2020202020202f2f20544f444f2072657573652072696e674275666665722e72656a6f696e28293f0a202020202020696620286e203e203120262620636c65616e20262032292072696e675365676d656e74732e707573682872696e675365676d656e74732e706f7028292e636f6e6361742872696e675365676d656e74732e7368696674282929293b0a0a2020202020207365676d656e74732e707573682872696e675365676d656e74732e66696c7465722876616c69645365676d656e7429293b0a202020207d0a0a2020202072657475726e20636c69703b0a20207d3b0a7d0a0a66756e6374696f6e2076616c69645365676d656e74287365676d656e7429207b0a202072657475726e207365676d656e742e6c656e677468203e20313b0a7d0a0a2f2f20496e74657273656374696f6e732061726520736f7274656420616c6f6e672074686520636c697020656467652e20466f7220626f746820616e74696d6572696469616e2063757474696e670a2f2f20616e6420636972636c6520636c697070696e672c207468652073616d6520636f6d70617269736f6e20697320757365642e0a66756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a202072657475726e20282861203d20612e78295b305d203c2030203f20615b315d202d2068616c6650692432202d20657073696c6f6e2432203a2068616c6650692432202d20615b315d290a202020202020202d20282862203d20622e78295b305d203c2030203f20625b315d202d2068616c6650692432202d20657073696c6f6e2432203a2068616c6650692432202d20625b315d293b0a7d0a0a76617220636c6970416e74696d6572696469616e203d20636c6970280a202066756e6374696f6e2829207b2072657475726e20747275653b207d2c0a2020636c6970416e74696d6572696469616e4c696e652c0a2020636c6970416e74696d6572696469616e496e746572706f6c6174652c0a20205b2d706924332c202d68616c66506924325d0a293b0a0a2f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c7565733a2030202d20746865726520776572650a2f2f20696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f20696e74657273656374696f6e733b2032202d20746865726520776572650a2f2f20696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74732073686f756c642062652072656a6f696e65642e0a66756e6374696f6e20636c6970416e74696d6572696469616e4c696e652873747265616d29207b0a2020766172206c616d62646130203d204e614e2c0a20202020202070686930203d204e614e2c0a2020202020207369676e30203d204e614e2c0a202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a0a202072657475726e207b0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020636c65616e203d20313b0a202020207d2c0a20202020706f696e743a2066756e6374696f6e286c616d626461312c207068693129207b0a202020202020766172207369676e31203d206c616d62646131203e2030203f2070692433203a202d706924332c0a2020202020202020202064656c7461203d20616273286c616d62646131202d206c616d62646130293b0a202020202020696620286162732864656c7461202d207069243329203c20657073696c6f6e243229207b202f2f206c696e652063726f73736573206120706f6c650a202020202020202073747265616d2e706f696e74286c616d626461302c2070686930203d202870686930202b207068693129202f2032203e2030203f2068616c6650692432203a202d68616c6650692432293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a202020202020202073747265616d2e706f696e74286c616d626461312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d20656c736520696620287369676e3020213d3d207369676e312026262064656c7461203e3d207069243329207b202f2f206c696e652063726f7373657320616e74696d6572696469616e0a202020202020202069662028616273286c616d62646130202d207369676e3029203c20657073696c6f6e243229206c616d62646130202d3d207369676e30202a20657073696c6f6e24323b202f2f2068616e646c6520646567656e657261636965730a202020202020202069662028616273286c616d62646131202d207369676e3129203c20657073696c6f6e243229206c616d62646131202d3d207369676e31202a20657073696c6f6e24323b0a202020202020202070686930203d20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c2070686931293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d0a20202020202073747265616d2e706f696e74286c616d62646130203d206c616d626461312c2070686930203d2070686931293b0a2020202020207369676e30203d207369676e313b0a202020207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65456e6428293b0a2020202020206c616d62646130203d2070686930203d204e614e3b0a202020207d2c0a20202020636c65616e3a2066756e6374696f6e2829207b0a20202020202072657475726e2032202d20636c65616e3b202f2f20696620696e74657273656374696f6e732c2072656a6f696e20666972737420616e64206c617374207365676d656e74730a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c207068693129207b0a202076617220636f73506869302c0a202020202020636f73506869312c0a20202020202073696e4c616d626461304c616d62646131203d2073696e2431286c616d62646130202d206c616d62646131293b0a202072657475726e206162732873696e4c616d626461304c616d6264613129203e20657073696c6f6e24320a2020202020203f206174616e282873696e2431287068693029202a2028636f7350686931203d20636f73243128706869312929202a2073696e2431286c616d62646131290a202020202020202020202d2073696e2431287068693129202a2028636f7350686930203d20636f73243128706869302929202a2073696e2431286c616d6264613029290a202020202020202020202f2028636f7350686930202a20636f7350686931202a2073696e4c616d626461304c616d6264613129290a2020202020203a202870686930202b207068693129202f20323b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a2020766172207068693b0a20206966202866726f6d203d3d206e756c6c29207b0a20202020706869203d20646972656374696f6e202a2068616c66506924323b0a2020202073747265616d2e706f696e74282d706924332c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e7428706924332c20706869293b0a2020202073747265616d2e706f696e7428706924332c2030293b0a2020202073747265616d2e706f696e7428706924332c202d706869293b0a2020202073747265616d2e706f696e7428302c202d706869293b0a2020202073747265616d2e706f696e74282d706924332c202d706869293b0a2020202073747265616d2e706f696e74282d706924332c2030293b0a2020202073747265616d2e706f696e74282d706924332c20706869293b0a20207d20656c736520696620286162732866726f6d5b305d202d20746f5b305d29203e20657073696c6f6e243229207b0a20202020766172206c616d626461203d2066726f6d5b305d203c20746f5b305d203f2070692433203a202d706924333b0a20202020706869203d20646972656374696f6e202a206c616d626461202f20323b0a2020202073747265616d2e706f696e74282d6c616d6264612c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e74286c616d6264612c20706869293b0a20207d20656c7365207b0a2020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a20207d0a7d0a0a66756e6374696f6e20636c6970436972636c652872616469757329207b0a2020766172206372203d20636f73243128726164697573292c0a20202020202064656c7461203d2036202a2072616469616e732c0a202020202020736d616c6c526164697573203d206372203e20302c0a2020202020206e6f7448656d69737068657265203d2061627328637229203e20657073696c6f6e24323b202f2f20544f444f206f7074696d69736520666f72207468697320636f6d6d6f6e20636173650a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a20202020636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2066726f6d2c20746f293b0a20207d0a0a202066756e6374696f6e2076697369626c65286c616d6264612c2070686929207b0a2020202072657475726e20636f732431286c616d62646129202a20636f7324312870686929203e2063723b0a20207d0a0a20202f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c756573207573656420666f7220706f6c79676f6e0a20202f2f20636c697070696e673a2030202d207468657265207765726520696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f0a20202f2f20696e74657273656374696f6e732032202d207468657265207765726520696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74730a20202f2f2073686f756c642062652072656a6f696e65642e0a202066756e6374696f6e20636c69704c696e652873747265616d29207b0a2020202076617220706f696e74302c202f2f2070726576696f757320706f696e740a202020202020202063302c202f2f20636f646520666f722070726576696f757320706f696e740a202020202020202076302c202f2f207669736962696c697479206f662070726576696f757320706f696e740a20202020202020207630302c202f2f207669736962696c697479206f6620666972737420706f696e740a2020202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a2020202072657475726e207b0a2020202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020202020763030203d207630203d2066616c73653b0a2020202020202020636c65616e203d20313b0a2020202020207d2c0a202020202020706f696e743a2066756e6374696f6e286c616d6264612c2070686929207b0a202020202020202076617220706f696e7431203d205b6c616d6264612c207068695d2c0a202020202020202020202020706f696e74322c0a20202020202020202020202076203d2076697369626c65286c616d6264612c20706869292c0a20202020202020202020202063203d20736d616c6c5261646975730a20202020202020202020202020203f2076203f2030203a20636f6465286c616d6264612c20706869290a20202020202020202020202020203a2076203f20636f6465286c616d626461202b20286c616d626461203c2030203f2070692433203a202d70692433292c2070686929203a20303b0a20202020202020206966202821706f696e74302026262028763030203d207630203d207629292073747265616d2e6c696e65537461727428293b0a20202020202020202f2f2048616e646c6520646567656e657261636965732e0a20202020202020202f2f20544f444f2069676e6f7265206966206e6f7420636c697070696e6720706f6c79676f6e732e0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a202020202020202020206966202821706f696e7432207c7c20706f696e74457175616c28706f696e74302c20706f696e743229207c7c20706f696e74457175616c28706f696e74312c20706f696e74322929207b0a202020202020202020202020706f696e74315b305d202b3d20657073696c6f6e24323b0a202020202020202020202020706f696e74315b315d202b3d20657073696c6f6e24323b0a20202020202020202020202076203d2076697369626c6528706f696e74315b305d2c20706f696e74315b315d293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020636c65616e203d20303b0a20202020202020202020696620287629207b0a2020202020202020202020202f2f206f75747369646520676f696e6720696e0a20202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74312c20706f696e7430293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a202020202020202020207d20656c7365207b0a2020202020202020202020202f2f20696e7369646520676f696e67206f75740a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a20202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020207d0a20202020202020202020706f696e7430203d20706f696e74323b0a20202020202020207d20656c736520696620286e6f7448656d6973706865726520262620706f696e743020262620736d616c6c526164697573205e207629207b0a2020202020202020202076617220743b0a202020202020202020202f2f2049662074686520636f64657320666f722074776f20706f696e74732061726520646966666572656e742c206f722061726520626f7468207a65726f2c0a202020202020202020202f2f20616e642074686572652074686973207365676d656e7420696e746572736563747320776974682074686520736d616c6c20636972636c652e0a2020202020202020202069662028212863202620633029202626202874203d20696e7465727365637428706f696e74312c20706f696e74302c2074727565292929207b0a202020202020202020202020636c65616e203d20303b0a20202020202020202020202069662028736d616c6c52616469757329207b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a20202020202020206966202876202626202821706f696e7430207c7c2021706f696e74457175616c28706f696e74302c20706f696e7431292929207b0a2020202020202020202073747265616d2e706f696e7428706f696e74315b305d2c20706f696e74315b315d293b0a20202020202020207d0a2020202020202020706f696e7430203d20706f696e74312c207630203d20762c206330203d20633b0a2020202020207d2c0a2020202020206c696e65456e643a2066756e6374696f6e2829207b0a2020202020202020696620287630292073747265616d2e6c696e65456e6428293b0a2020202020202020706f696e7430203d206e756c6c3b0a2020202020207d2c0a2020202020202f2f2052656a6f696e20666972737420616e64206c617374207365676d656e7473206966207468657265207765726520696e74657273656374696f6e7320616e64207468652066697273740a2020202020202f2f20616e64206c61737420706f696e747320776572652076697369626c652e0a202020202020636c65616e3a2066756e6374696f6e2829207b0a202020202020202072657475726e20636c65616e207c20282876303020262620763029203c3c2031293b0a2020202020207d0a202020207d3b0a20207d0a0a20202f2f20496e74657273656374732074686520677265617420636972636c65206265747765656e206120616e64206220776974682074686520636c697020636972636c652e0a202066756e6374696f6e20696e7465727365637428612c20622c2074776f29207b0a20202020766172207061203d2063617274657369616e2861292c0a20202020202020207062203d2063617274657369616e2862293b0a0a202020202f2f20576520686176652074776f20706c616e65732c206e312e70203d20643120616e64206e322e70203d2064322e0a202020202f2f2046696e6420696e74657273656374696f6e206c696e652070287429203d206331206e31202b206332206e32202b207420286e3120e2a8af206e32292e0a20202020766172206e31203d205b312c20302c20305d2c202f2f206e6f726d616c0a20202020202020206e32203d2063617274657369616e43726f73732870612c207062292c0a20202020202020206e326e32203d2063617274657369616e446f74286e322c206e32292c0a20202020202020206e316e32203d206e325b305d2c202f2f2063617274657369616e446f74286e312c206e32292c0a202020202020202064657465726d696e616e74203d206e326e32202d206e316e32202a206e316e323b0a0a202020202f2f2054776f20706f6c617220706f696e74732e0a20202020696620282164657465726d696e616e74292072657475726e202174776f20262620613b0a0a20202020766172206331203d20206372202a206e326e32202f2064657465726d696e616e742c0a20202020202020206332203d202d6372202a206e316e32202f2064657465726d696e616e742c0a20202020202020206e31786e32203d2063617274657369616e43726f7373286e312c206e32292c0a202020202020202041203d2063617274657369616e5363616c65286e312c206331292c0a202020202020202042203d2063617274657369616e5363616c65286e322c206332293b0a2020202063617274657369616e416464496e506c61636528412c2042293b0a0a202020202f2f20536f6c7665207c702874297c5e32203d20312e0a202020207661722075203d206e31786e322c0a202020202020202077203d2063617274657369616e446f7428412c2075292c0a20202020202020207575203d2063617274657369616e446f7428752c2075292c0a20202020202020207432203d2077202a2077202d207575202a202863617274657369616e446f7428412c204129202d2031293b0a0a20202020696620287432203c2030292072657475726e3b0a0a202020207661722074203d2073717274287432292c0a202020202020202071203d2063617274657369616e5363616c6528752c20282d77202d207429202f207575293b0a2020202063617274657369616e416464496e506c61636528712c2041293b0a2020202071203d2073706865726963616c2871293b0a0a20202020696620282174776f292072657475726e20713b0a0a202020202f2f2054776f20696e74657273656374696f6e20706f696e74732e0a20202020766172206c616d62646130203d20615b305d2c0a20202020202020206c616d62646131203d20625b305d2c0a202020202020202070686930203d20615b315d2c0a202020202020202070686931203d20625b315d2c0a20202020202020207a3b0a0a20202020696620286c616d62646131203c206c616d6264613029207a203d206c616d626461302c206c616d62646130203d206c616d626461312c206c616d62646131203d207a3b0a0a202020207661722064656c7461203d206c616d62646131202d206c616d626461302c0a2020202020202020706f6c6172203d206162732864656c7461202d207069243329203c20657073696c6f6e24322c0a20202020202020206d6572696469616e203d20706f6c6172207c7c2064656c7461203c20657073696c6f6e24323b0a0a202020206966202821706f6c61722026262070686931203c207068693029207a203d20706869302c2070686930203d20706869312c2070686931203d207a3b0a0a202020202f2f20436865636b20746861742074686520666972737420706f696e74206973206265747765656e206120616e6420622e0a20202020696620286d6572696469616e0a20202020202020203f20706f6c61720a202020202020202020203f2070686930202b2070686931203e2030205e20715b315d203c202861627328715b305d202d206c616d6264613029203c20657073696c6f6e2432203f2070686930203a2070686931290a202020202020202020203a2070686930203c3d20715b315d20262620715b315d203c3d20706869310a20202020202020203a2064656c7461203e2070692433205e20286c616d62646130203c3d20715b305d20262620715b305d203c3d206c616d626461312929207b0a202020202020766172207131203d2063617274657369616e5363616c6528752c20282d77202b207429202f207575293b0a20202020202063617274657369616e416464496e506c6163652871312c2041293b0a20202020202072657475726e205b712c2073706865726963616c287131295d3b0a202020207d0a20207d0a0a20202f2f2047656e657261746573206120342d62697420766563746f7220726570726573656e74696e6720746865206c6f636174696f6e206f66206120706f696e742072656c617469766520746f0a20202f2f2074686520736d616c6c20636972636c65277320626f756e64696e6720626f782e0a202066756e6374696f6e20636f6465286c616d6264612c2070686929207b0a202020207661722072203d20736d616c6c526164697573203f20726164697573203a2070692433202d207261646975732c0a2020202020202020636f6465203d20303b0a20202020696620286c616d626461203c202d722920636f6465207c3d20313b202f2f206c6566740a20202020656c736520696620286c616d626461203e20722920636f6465207c3d20323b202f2f2072696768740a2020202069662028706869203c202d722920636f6465207c3d20343b202f2f2062656c6f770a20202020656c73652069662028706869203e20722920636f6465207c3d20383b202f2f2061626f76650a2020202072657475726e20636f64653b0a20207d0a0a202072657475726e20636c69702876697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20736d616c6c526164697573203f205b302c202d7261646975735d203a205b2d706924332c20726164697573202d20706924335d293b0a7d0a0a66756e6374696f6e20636c69704c696e6528612c20622c2078302c2079302c2078312c20793129207b0a2020766172206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a2020696620287430203e20302920615b305d203d206178202b207430202a2064782c20615b315d203d206179202b207430202a2064793b0a2020696620287431203c20312920625b305d203d206178202b207431202a2064782c20625b315d203d206179202b207431202a2064793b0a202072657475726e20747275653b0a7d0a0a76617220636c69704d6178203d203165392c20636c69704d696e203d202d636c69704d61783b0a0a2f2f20544f444f205573652064332d706f6c79676f6ee280997320706f6c79676f6e436f6e7461696e73206865726520666f72207468652072696e6720636865636b3f0a2f2f20544f444f20456c696d696e617465206475706c696361746520627566666572696e6720696e20636c697042756666657220616e6420706f6c79676f6e2e707573683f0a0a66756e6374696f6e20636c697052656374616e676c652878302c2079302c2078312c20793129207b0a0a202066756e6374696f6e2076697369626c6528782c207929207b0a2020202072657475726e207830203c3d20782026262078203c3d207831202626207930203c3d20792026262079203c3d2079313b0a20207d0a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a202020207661722061203d20302c206131203d20303b0a202020206966202866726f6d203d3d206e756c6c0a20202020202020207c7c202861203d20636f726e65722866726f6d2c20646972656374696f6e292920213d3d20286131203d20636f726e657228746f2c20646972656374696f6e29290a20202020202020207c7c20636f6d70617265506f696e742866726f6d2c20746f29203c2030205e20646972656374696f6e203e203029207b0a202020202020646f2073747265616d2e706f696e742861203d3d3d2030207c7c2061203d3d3d2033203f207830203a2078312c2061203e2031203f207931203a207930293b0a2020202020207768696c6520282861203d202861202b20646972656374696f6e202b203429202520342920213d3d206131293b0a202020207d20656c7365207b0a20202020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a202020207d0a20207d0a0a202066756e6374696f6e20636f726e657228702c20646972656374696f6e29207b0a2020202072657475726e2061627328705b305d202d20783029203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2030203a20330a20202020202020203a2061627328705b305d202d20783129203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2032203a20310a20202020202020203a2061627328705b315d202d20793029203c20657073696c6f6e2432203f20646972656374696f6e203e2030203f2031203a20300a20202020202020203a20646972656374696f6e203e2030203f2033203a20323b202f2f2061627328705b315d202d20793129203c20657073696c6f6e0a20207d0a0a202066756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265506f696e7428612e782c20622e78293b0a20207d0a0a202066756e6374696f6e20636f6d70617265506f696e7428612c206229207b0a20202020766172206361203d20636f726e657228612c2031292c0a20202020202020206362203d20636f726e657228622c2031293b0a2020202072657475726e20636120213d3d206362203f206361202d2063620a20202020202020203a206361203d3d3d2030203f20625b315d202d20615b315d0a20202020202020203a206361203d3d3d2031203f20615b305d202d20625b305d0a20202020202020203a206361203d3d3d2032203f20615b315d202d20625b315d0a20202020202020203a20625b305d202d20615b305d3b0a20207d0a0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722061637469766553747265616d203d2073747265616d2c0a202020202020202062756666657253747265616d203d20636c697042756666657228292c0a20202020202020207365676d656e74732c0a2020202020202020706f6c79676f6e2c0a202020202020202072696e672c0a2020202020202020785f5f2c20795f5f2c20765f5f2c202f2f20666972737420706f696e740a2020202020202020785f2c20795f2c20765f2c202f2f2070726576696f757320706f696e740a202020202020202066697273742c0a2020202020202020636c65616e3b0a0a2020202076617220636c697053747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a20706f6c79676f6e53746172742c0a202020202020706f6c79676f6e456e643a20706f6c79676f6e456e640a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a2020202020206966202876697369626c6528782c207929292061637469766553747265616d2e706f696e7428782c2079293b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e496e736964652829207b0a2020202020207661722077696e64696e67203d20303b0a0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020202020666f7220287661722072696e67203d20706f6c79676f6e5b695d2c206a203d20312c206d203d2072696e672e6c656e6774682c20706f696e74203d2072696e675b305d2c2061302c2061312c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b206a203c206d3b202b2b6a29207b0a202020202020202020206130203d2062302c206131203d2062312c20706f696e74203d2072696e675b6a5d2c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b0a20202020202020202020696620286131203c3d20793129207b20696620286231203e20793120262620286230202d20613029202a20287931202d20613129203e20286231202d20613129202a20287830202d2061302929202b2b77696e64696e673b207d0a20202020202020202020656c7365207b20696620286231203c3d20793120262620286230202d20613029202a20287931202d20613129203c20286231202d20613129202a20287830202d2061302929202d2d77696e64696e673b207d0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e2077696e64696e673b0a202020207d0a0a202020202f2f204275666665722067656f6d657472792077697468696e206120706f6c79676f6e20616e64207468656e20636c697020697420656e206d617373652e0a2020202066756e6374696f6e20706f6c79676f6e53746172742829207b0a20202020202061637469766553747265616d203d2062756666657253747265616d2c207365676d656e7473203d205b5d2c20706f6c79676f6e203d205b5d2c20636c65616e203d20747275653b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e456e642829207b0a202020202020766172207374617274496e73696465203d20706f6c79676f6e496e7369646528292c0a20202020202020202020636c65616e496e73696465203d20636c65616e202626207374617274496e736964652c0a2020202020202020202076697369626c65203d20287365676d656e7473203d206d65726765287365676d656e747329292e6c656e6774683b0a20202020202069662028636c65616e496e73696465207c7c2076697369626c6529207b0a202020202020202073747265616d2e706f6c79676f6e537461727428293b0a202020202020202069662028636c65616e496e7369646529207b0a2020202020202020202073747265616d2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073747265616d293b0a2020202020202020202073747265616d2e6c696e65456e6428293b0a20202020202020207d0a20202020202020206966202876697369626c6529207b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d293b0a20202020202020207d0a202020202020202073747265616d2e706f6c79676f6e456e6428293b0a2020202020207d0a20202020202061637469766553747265616d203d2073747265616d2c207365676d656e7473203d20706f6c79676f6e203d2072696e67203d206e756c6c3b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c697053747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202069662028706f6c79676f6e2920706f6c79676f6e2e707573682872696e67203d205b5d293b0a2020202020206669727374203d20747275653b0a202020202020765f203d2066616c73653b0a202020202020785f203d20795f203d204e614e3b0a202020207d0a0a202020202f2f20544f444f20726174686572207468616e207370656369616c2d6361736520706f6c79676f6e732c2073696d706c792068616e646c65207468656d2073657061726174656c792e0a202020202f2f20496465616c6c792c20636f696e636964656e7420696e74657273656374696f6e20706f696e74732073686f756c64206265206a6974746572656420746f2061766f69640a202020202f2f20636c697070696e67206973737565732e0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020696620287365676d656e747329207b0a20202020202020206c696e65506f696e7428785f5f2c20795f5f293b0a202020202020202069662028765f5f20262620765f292062756666657253747265616d2e72656a6f696e28293b0a20202020202020207365676d656e74732e707573682862756666657253747265616d2e726573756c742829293b0a2020202020207d0a202020202020636c697053747265616d2e706f696e74203d20706f696e743b0a20202020202069662028765f292061637469766553747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e7428782c207929207b0a2020202020207661722076203d2076697369626c6528782c2079293b0a20202020202069662028706f6c79676f6e292072696e672e70757368285b782c20795d293b0a20202020202069662028666972737429207b0a2020202020202020785f5f203d20782c20795f5f203d20792c20765f5f203d20763b0a20202020202020206669727374203d2066616c73653b0a2020202020202020696620287629207b0a2020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a2020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020696620287620262620765f292061637469766553747265616d2e706f696e7428782c2079293b0a2020202020202020656c7365207b0a202020202020202020207661722061203d205b785f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20785f29292c20795f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20795f29295d2c0a202020202020202020202020202062203d205b78203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207829292c2079203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207929295d3b0a2020202020202020202069662028636c69704c696e6528612c20622c2078302c2079302c2078312c2079312929207b0a2020202020202020202020206966202821765f29207b0a202020202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a202020202020202020202020202061637469766553747265616d2e706f696e7428615b305d2c20615b315d293b0a2020202020202020202020207d0a20202020202020202020202061637469766553747265616d2e706f696e7428625b305d2c20625b315d293b0a202020202020202020202020696620282176292061637469766553747265616d2e6c696e65456e6428293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d20656c736520696620287629207b0a20202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a20202020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020202020785f203d20782c20795f203d20792c20765f203d20763b0a202020207d0a0a2020202072657475726e20636c697053747265616d3b0a20207d3b0a7d0a0a66756e6374696f6e20657874656e7424312829207b0a2020766172207830203d20302c0a2020202020207930203d20302c0a2020202020207831203d203936302c0a2020202020207931203d203530302c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a202020202020636c69703b0a0a202072657475726e20636c6970203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d20636c697052656374616e676c652878302c2079302c2078312c2079312928636163686553747265616d203d2073747265616d293b0a202020207d2c0a20202020657874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d2c206361636865203d20636163686553747265616d203d206e756c6c2c20636c697029203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d0a20207d3b0a7d0a0a766172206c656e67746853756d203d20616464657228292c0a202020206c616d6264613024322c0a2020202073696e5068693024312c0a20202020636f735068693024313b0a0a766172206c656e67746853747265616d203d207b0a20207370686572653a206e6f6f7024322c0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206c656e6774684c696e6553746172742c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a206e6f6f7024322c0a2020706f6c79676f6e456e643a206e6f6f7024320a7d3b0a0a66756e6374696f6e206c656e6774684c696e6553746172742829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e7446697273743b0a20206c656e67746853747265616d2e6c696e65456e64203d206c656e6774684c696e65456e643b0a7d0a0a66756e6374696f6e206c656e6774684c696e65456e642829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e67746853747265616d2e6c696e65456e64203d206e6f6f7024323b0a7d0a0a66756e6374696f6e206c656e677468506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e243128706869292c20636f73506869302431203d20636f73243128706869293b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e743b0a7d0a0a66756e6374696f6e206c656e677468506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20207661722073696e506869203d2073696e243128706869292c0a202020202020636f73506869203d20636f73243128706869292c0a20202020202064656c7461203d20616273286c616d626461202d206c616d626461302432292c0a202020202020636f7344656c7461203d20636f7324312864656c7461292c0a20202020202073696e44656c7461203d2073696e24312864656c7461292c0a20202020202078203d20636f73506869202a2073696e44656c74612c0a20202020202079203d20636f73506869302431202a2073696e506869202d2073696e506869302431202a20636f73506869202a20636f7344656c74612c0a2020202020207a203d2073696e506869302431202a2073696e506869202b20636f73506869302431202a20636f73506869202a20636f7344656c74613b0a20206c656e67746853756d2e616464286174616e3228737172742878202a2078202b2079202a2079292c207a29293b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e5068692c20636f73506869302431203d20636f735068693b0a7d0a0a66756e6374696f6e206c656e6774682431286f626a65637429207b0a20206c656e67746853756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206c656e67746853747265616d293b0a202072657475726e202b6c656e67746853756d3b0a7d0a0a76617220636f6f7264696e61746573203d205b6e756c6c2c206e756c6c5d2c0a202020206f626a6563742431203d207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b0a0a66756e6374696f6e2064697374616e636528612c206229207b0a2020636f6f7264696e617465735b305d203d20613b0a2020636f6f7264696e617465735b315d203d20623b0a202072657475726e206c656e6774682431286f626a6563742431293b0a7d0a0a76617220636f6e7461696e734f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e7347656f6d65747279286f626a6563742e67656f6d657472792c20706f696e74293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792866656174757265735b695d2e67656f6d657472792c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a76617220636f6e7461696e7347656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e2829207b0a2020202072657475726e20747275653b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f696e74286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f696e7428636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e734c696e65286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e734c696e6528636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f6c79676f6e286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f6c79676f6e28636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792867656f6d6574726965735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20636f6e7461696e7347656f6d657472792867656f6d657472792c20706f696e7429207b0a202072657475726e2067656f6d6574727920262620636f6e7461696e7347656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e74797065290a2020202020203f20636f6e7461696e7347656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c20706f696e74290a2020202020203a2066616c73653b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f696e7428636f6f7264696e617465732c20706f696e7429207b0a202072657475726e2064697374616e636528636f6f7264696e617465732c20706f696e7429203d3d3d20303b0a7d0a0a66756e6374696f6e20636f6e7461696e734c696e6528636f6f7264696e617465732c20706f696e7429207b0a2020766172206162203d2064697374616e636528636f6f7264696e617465735b305d2c20636f6f7264696e617465735b315d292c0a202020202020616f203d2064697374616e636528636f6f7264696e617465735b305d2c20706f696e74292c0a2020202020206f62203d2064697374616e636528706f696e742c20636f6f7264696e617465735b315d293b0a202072657475726e20616f202b206f62203c3d206162202b20657073696c6f6e24323b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f6c79676f6e28636f6f7264696e617465732c20706f696e7429207b0a202072657475726e202121706f6c79676f6e436f6e7461696e7328636f6f7264696e617465732e6d61702872696e6752616469616e73292c20706f696e7452616469616e7328706f696e7429293b0a7d0a0a66756e6374696f6e2072696e6752616469616e732872696e6729207b0a202072657475726e2072696e67203d2072696e672e6d617028706f696e7452616469616e73292c2072696e672e706f7028292c2072696e673b0a7d0a0a66756e6374696f6e20706f696e7452616469616e7328706f696e7429207b0a202072657475726e205b706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e735d3b0a7d0a0a66756e6374696f6e20636f6e7461696e732431286f626a6563742c20706f696e7429207b0a202072657475726e20286f626a65637420262620636f6e7461696e734f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e74797065290a2020202020203f20636f6e7461696e734f626a656374547970655b6f626a6563742e747970655d0a2020202020203a20636f6e7461696e7347656f6d6574727929286f626a6563742c20706f696e74293b0a7d0a0a66756e6374696f6e20677261746963756c65582879302c2079312c20647929207b0a20207661722079203d2073657175656e63652879302c207931202d20657073696c6f6e24322c206479292e636f6e636174287931293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e20792e6d61702866756e6374696f6e287929207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c65592878302c2078312c20647829207b0a20207661722078203d2073657175656e63652878302c207831202d20657073696c6f6e24322c206478292e636f6e636174287831293b0a202072657475726e2066756e6374696f6e287929207b2072657475726e20782e6d61702866756e6374696f6e287829207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c652829207b0a20207661722078312c2078302c2058312c2058302c0a20202020202079312c2079302c2059312c2059302c0a2020202020206478203d2031302c206479203d2064782c204458203d2039302c204459203d203336302c0a202020202020782c20792c20582c20592c0a202020202020707265636973696f6e203d20322e353b0a0a202066756e6374696f6e20677261746963756c652829207b0a2020202072657475726e207b747970653a20224d756c74694c696e65537472696e67222c20636f6f7264696e617465733a206c696e657328297d3b0a20207d0a0a202066756e6374696f6e206c696e65732829207b0a2020202072657475726e2073657175656e6365286365696c285830202f20445829202a2044582c2058312c204458292e6d61702858290a20202020202020202e636f6e6361742873657175656e6365286365696c285930202f20445929202a2044592c2059312c204459292e6d6170285929290a20202020202020202e636f6e6361742873657175656e6365286365696c287830202f20647829202a2064782c2078312c206478292e66696c7465722866756e6374696f6e287829207b2072657475726e206162732878202520445829203e20657073696c6f6e24323b207d292e6d6170287829290a20202020202020202e636f6e6361742873657175656e6365286365696c287930202f20647929202a2064792c2079312c206479292e66696c7465722866756e6374696f6e287929207b2072657475726e206162732879202520445929203e20657073696c6f6e24323b207d292e6d6170287929293b0a20207d0a0a2020677261746963756c652e6c696e6573203d2066756e6374696f6e2829207b0a2020202072657475726e206c696e657328292e6d61702866756e6374696f6e28636f6f7264696e6174657329207b2072657475726e207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b207d293b0a20207d3b0a0a2020677261746963756c652e6f75746c696e65203d2066756e6374696f6e2829207b0a2020202072657475726e207b0a202020202020747970653a2022506f6c79676f6e222c0a202020202020636f6f7264696e617465733a205b0a202020202020202058285830292e636f6e636174280a202020202020202059285931292e736c6963652831292c0a202020202020202058285831292e7265766572736528292e736c6963652831292c0a202020202020202059285930292e7265766572736528292e736c696365283129290a2020202020205d0a202020207d3b0a20207d3b0a0a2020677261746963756c652e657874656e74203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e657874656e744d696e6f7228293b0a2020202072657475726e20677261746963756c652e657874656e744d616a6f72285f292e657874656e744d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e657874656e744d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b58302c2059305d2c205b58312c2059315d5d3b0a202020205830203d202b5f5b305d5b305d2c205831203d202b5f5b315d5b305d3b0a202020205930203d202b5f5b305d5b315d2c205931203d202b5f5b315d5b315d3b0a20202020696620285830203e20583129205f203d2058302c205830203d2058312c205831203d205f3b0a20202020696620285930203e20593129205f203d2059302c205930203d2059312c205931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e657874656e744d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207830203d202b5f5b305d5b305d2c207831203d202b5f5b315d5b305d3b0a202020207930203d202b5f5b305d5b315d2c207931203d202b5f5b315d5b315d3b0a20202020696620287830203e20783129205f203d2078302c207830203d2078312c207831203d205f3b0a20202020696620287930203e20793129205f203d2079302c207930203d2079312c207931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e73746570203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e737465704d696e6f7228293b0a2020202072657475726e20677261746963756c652e737465704d616a6f72285f292e737465704d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e737465704d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b44582c2044595d3b0a202020204458203d202b5f5b305d2c204459203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e737465704d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a202020206478203d202b5f5b305d2c206479203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20707265636973696f6e3b0a20202020707265636973696f6e203d202b5f3b0a2020202078203d20677261746963756c65582879302c2079312c203930293b0a2020202079203d20677261746963756c65592878302c2078312c20707265636973696f6e293b0a2020202058203d20677261746963756c65582859302c2059312c203930293b0a2020202059203d20677261746963756c65592858302c2058312c20707265636973696f6e293b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a202072657475726e20677261746963756c650a2020202020202e657874656e744d616a6f72285b5b2d3138302c202d3930202b20657073696c6f6e24325d2c205b3138302c203930202d20657073696c6f6e24325d5d290a2020202020202e657874656e744d696e6f72285b5b2d3138302c202d3830202d20657073696c6f6e24325d2c205b3138302c203830202b20657073696c6f6e24325d5d293b0a7d0a0a66756e6374696f6e20677261746963756c6531302829207b0a202072657475726e20677261746963756c65282928293b0a7d0a0a66756e6374696f6e20696e746572706f6c617465243128612c206229207b0a2020766172207830203d20615b305d202a2072616469616e732c0a2020202020207930203d20615b315d202a2072616469616e732c0a2020202020207831203d20625b305d202a2072616469616e732c0a2020202020207931203d20625b315d202a2072616469616e732c0a202020202020637930203d20636f732431287930292c0a202020202020737930203d2073696e2431287930292c0a202020202020637931203d20636f732431287931292c0a202020202020737931203d2073696e2431287931292c0a2020202020206b7830203d20637930202a20636f732431287830292c0a2020202020206b7930203d20637930202a2073696e2431287830292c0a2020202020206b7831203d20637931202a20636f732431287831292c0a2020202020206b7931203d20637931202a2073696e2431287831292c0a20202020202064203d2032202a206173696e287371727428686176657273696e287931202d20793029202b20637930202a20637931202a20686176657273696e287831202d2078302929292c0a2020202020206b203d2073696e24312864293b0a0a202076617220696e746572706f6c617465203d2064203f2066756e6374696f6e287429207b0a202020207661722042203d2073696e24312874202a3d206429202f206b2c0a202020202020202041203d2073696e24312864202d207429202f206b2c0a202020202020202078203d2041202a206b7830202b2042202a206b78312c0a202020202020202079203d2041202a206b7930202b2042202a206b79312c0a20202020202020207a203d2041202a20737930202b2042202a207379313b0a2020202072657475726e205b0a2020202020206174616e3228792c207829202a206465677265657324312c0a2020202020206174616e32287a2c20737172742878202a2078202b2079202a20792929202a206465677265657324310a202020205d3b0a20207d203a2066756e6374696f6e2829207b0a2020202072657475726e205b7830202a206465677265657324312c207930202a206465677265657324315d3b0a20207d3b0a0a2020696e746572706f6c6174652e64697374616e6365203d20643b0a0a202072657475726e20696e746572706f6c6174653b0a7d0a0a66756e6374696f6e206964656e746974792434287829207b0a202072657475726e20783b0a7d0a0a766172206172656153756d2431203d20616464657228292c0a202020206172656152696e6753756d2431203d20616464657228292c0a202020207830302c0a202020207930302c0a20202020783024312c0a20202020793024313b0a0a766172206172656153747265616d2431203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656152696e67537461727424313b0a202020206172656153747265616d24312e6c696e65456e64203d206172656152696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656153747265616d24312e6c696e65456e64203d206172656153747265616d24312e706f696e74203d206e6f6f7024323b0a202020206172656153756d24312e61646428616273286172656152696e6753756d243129293b0a202020206172656152696e6753756d24312e726573657428293b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722061726561203d206172656153756d2431202f20323b0a202020206172656153756d24312e726573657428293b0a2020202072657475726e20617265613b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e67537461727424312829207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e74466972737424313b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374243128782c207929207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e7424313b0a2020783030203d2078302431203d20782c20793030203d2079302431203d20793b0a7d0a0a66756e6374696f6e2061726561506f696e74243128782c207929207b0a20206172656152696e6753756d24312e6164642879302431202a2078202d2078302431202a2079293b0a202078302431203d20782c2079302431203d20793b0a7d0a0a66756e6374696f6e206172656152696e67456e6424312829207b0a202061726561506f696e742431287830302c20793030293b0a7d0a0a7661722078302432203d20496e66696e6974792c0a2020202079302432203d20783024322c0a202020207831203d202d783024322c0a202020207931203d2078313b0a0a76617220626f756e647353747265616d2431203d207b0a2020706f696e743a20626f756e6473506f696e7424312c0a20206c696e6553746172743a206e6f6f7024322c0a20206c696e65456e643a206e6f6f7024322c0a2020706f6c79676f6e53746172743a206e6f6f7024322c0a2020706f6c79676f6e456e643a206e6f6f7024322c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202076617220626f756e6473203d205b5b783024322c20793024325d2c205b78312c2079315d5d3b0a202020207831203d207931203d202d2879302432203d2078302432203d20496e66696e697479293b0a2020202072657475726e20626f756e64733b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74243128782c207929207b0a20206966202878203c2078302432292078302432203d20783b0a20206966202878203e20783129207831203d20783b0a20206966202879203c2079302432292079302432203d20793b0a20206966202879203e20793129207931203d20793b0a7d0a0a2f2f20544f444f20456e666f72636520706f736974697665206172656120666f72206578746572696f722c206e65676174697665206172656120666f7220696e746572696f723f0a0a7661722058302431203d20302c0a2020202059302431203d20302c0a202020205a302431203d20302c0a2020202058312431203d20302c0a2020202059312431203d20302c0a202020205a312431203d20302c0a2020202058322431203d20302c0a2020202059322431203d20302c0a202020205a322431203d20302c0a2020202078303024312c0a2020202079303024312c0a20202020783024332c0a20202020793024333b0a0a7661722063656e74726f696453747265616d2431203d207b0a2020706f696e743a2063656e74726f6964506f696e7424312c0a20206c696e6553746172743a2063656e74726f69644c696e65537461727424312c0a20206c696e65456e643a2063656e74726f69644c696e65456e6424312c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f696452696e67537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f696452696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f69644c696e65537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f69644c696e65456e6424313b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722063656e74726f6964203d205a322431203f205b58322431202f205a3224312c2059322431202f205a3224315d0a20202020202020203a205a312431203f205b58312431202f205a3124312c2059312431202f205a3124315d0a20202020202020203a205a302431203f205b58302431202f205a3024312c2059302431202f205a3024315d0a20202020202020203a205b4e614e2c204e614e5d3b0a2020202058302431203d2059302431203d205a302431203d0a2020202058312431203d2059312431203d205a312431203d0a2020202058322431203d2059322431203d205a322431203d20303b0a2020202072657475726e2063656e74726f69643b0a20207d0a7d3b0a0a66756e6374696f6e2063656e74726f6964506f696e74243128782c207929207b0a202058302431202b3d20783b0a202059302431202b3d20793b0a20202b2b5a3024313b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7446697273744c696e653b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7446697273744c696e6528782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e744c696e653b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e744c696e6528782c207929207b0a2020766172206478203d2078202d20783024332c206479203d2079202d20793024332c207a203d2073717274286478202a206478202b206479202a206479293b0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e6424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e74466972737452696e673b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e6424312829207b0a202063656e74726f6964506f696e7452696e672878303024312c207930302431293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e74466972737452696e6728782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7452696e673b0a202063656e74726f6964506f696e742431287830302431203d2078302433203d20782c207930302431203d2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7452696e6728782c207929207b0a2020766172206478203d2078202d20783024332c0a2020202020206479203d2079202d20793024332c0a2020202020207a203d2073717274286478202a206478202b206479202a206479293b0a0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a0a20207a203d2079302433202a2078202d2078302433202a20793b0a202058322431202b3d207a202a202878302433202b2078293b0a202059322431202b3d207a202a202879302433202b2079293b0a20205a322431202b3d207a202a20333b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2050617468436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a50617468436f6e746578742e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202072657475726e20746869732e5f726164697573203d205f2c20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2878202b20746869732e5f7261646975732c2079293b0a2020202020202020746869732e5f636f6e746578742e61726328782c20792c20746869732e5f7261646975732c20302c207461752433293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a206e6f6f7024320a7d3b0a0a766172206c656e67746853756d2431203d20616464657228292c0a202020206c656e67746852696e672c0a2020202078303024322c0a2020202079303024322c0a20202020783024342c0a20202020793024343b0a0a766172206c656e67746853747265616d2431203d207b0a2020706f696e743a206e6f6f7024322c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a202020206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e74466972737424313b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020696620286c656e67746852696e6729206c656e677468506f696e7424312878303024322c207930302432293b0a202020206c656e67746853747265616d24312e706f696e74203d206e6f6f7024323b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d20747275653b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d206e756c6c3b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a20202020766172206c656e677468203d202b6c656e67746853756d24313b0a202020206c656e67746853756d24312e726573657428293b0a2020202072657475726e206c656e6774683b0a20207d0a7d3b0a0a66756e6374696f6e206c656e677468506f696e744669727374243128782c207929207b0a20206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e7424313b0a20207830302432203d2078302434203d20782c207930302432203d2079302434203d20793b0a7d0a0a66756e6374696f6e206c656e677468506f696e74243128782c207929207b0a202078302434202d3d20782c2079302434202d3d20793b0a20206c656e67746853756d24312e61646428737172742878302434202a2078302434202b2079302434202a207930243429293b0a202078302434203d20782c2079302434203d20793b0a7d0a0a66756e6374696f6e2050617468537472696e672829207b0a2020746869732e5f737472696e67203d205b5d3b0a7d0a0a50617468537472696e672e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a20205f636972636c653a20636972636c65243128342e35292c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202069662028285f203d202b5f2920213d3d20746869732e5f7261646975732920746869732e5f726164697573203d205f2c20746869732e5f636972636c65203d206e756c6c3b0a2020202072657475726e20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f737472696e672e7075736828225a22293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f737472696e672e7075736828224c222c20782c20222c222c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f636972636c65203d3d206e756c6c2920746869732e5f636972636c65203d20636972636c65243128746869732e5f726164697573293b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c20792c20746869732e5f636972636c65293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f737472696e672e6c656e67746829207b0a20202020202076617220726573756c74203d20746869732e5f737472696e672e6a6f696e282222293b0a202020202020746869732e5f737472696e67203d205b5d3b0a20202020202072657475726e20726573756c743b0a202020207d20656c7365207b0a20202020202072657475726e206e756c6c3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e20636972636c6524312872616469757329207b0a202072657475726e20226d302c22202b207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b202d32202a207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b2032202a207261646975730a2020202020202b20227a223b0a7d0a0a66756e6374696f6e20696e64657824312870726f6a656374696f6e2c20636f6e7465787429207b0a202076617220706f696e74526164697573203d20342e352c0a20202020202070726f6a656374696f6e53747265616d2c0a202020202020636f6e7465787453747265616d3b0a0a202066756e6374696f6e2070617468286f626a65637429207b0a20202020696620286f626a65637429207b0a20202020202069662028747970656f6620706f696e74526164697573203d3d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e74526164697573282b706f696e745261646975732e6170706c7928746869732c20617267756d656e747329293b0a20202020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28636f6e7465787453747265616d29293b0a202020207d0a2020202072657475726e20636f6e7465787453747265616d2e726573756c7428293b0a20207d0a0a2020706174682e61726561203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286172656153747265616d243129293b0a2020202072657475726e206172656153747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e6d656173757265203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286c656e67746853747265616d243129293b0a2020202072657475726e206c656e67746853747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e626f756e6473203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28626f756e647353747265616d243129293b0a2020202072657475726e20626f756e647353747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e63656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d2863656e74726f696453747265616d243129293b0a2020202072657475726e2063656e74726f696453747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e70726f6a656374696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374696f6e53747265616d203d205f203d3d206e756c6c203f202870726f6a656374696f6e203d206e756c6c2c206964656e74697479243429203a202870726f6a656374696f6e203d205f292e73747265616d2c207061746829203a2070726f6a656374696f6e3b0a20207d3b0a0a2020706174682e636f6e74657874203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20636f6e746578743b0a20202020636f6e7465787453747265616d203d205f203d3d206e756c6c203f2028636f6e74657874203d206e756c6c2c206e65772050617468537472696e6729203a206e65772050617468436f6e7465787428636f6e74657874203d205f293b0a2020202069662028747970656f6620706f696e7452616469757320213d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e7452616469757328706f696e74526164697573293b0a2020202072657475726e20706174683b0a20207d3b0a0a2020706174682e706f696e74526164697573203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20706f696e745261646975733b0a20202020706f696e74526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2028636f6e7465787453747265616d2e706f696e74526164697573282b5f292c202b5f293b0a2020202072657475726e20706174683b0a20207d3b0a0a202072657475726e20706174682e70726f6a656374696f6e2870726f6a656374696f6e292e636f6e7465787428636f6e74657874293b0a7d0a0a66756e6374696f6e207472616e73666f726d286d6574686f647329207b0a202072657475726e207b0a2020202073747265616d3a207472616e73666f726d6572286d6574686f6473290a20207d3b0a7d0a0a66756e6374696f6e207472616e73666f726d6572286d6574686f647329207b0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722073203d206e6577205472616e73666f726d53747265616d3b0a20202020666f722028766172206b657920696e206d6574686f64732920735b6b65795d203d206d6574686f64735b6b65795d3b0a20202020732e73747265616d203d2073747265616d3b0a2020202072657475726e20733b0a20207d3b0a7d0a0a66756e6374696f6e205472616e73666f726d53747265616d2829207b7d0a0a5472616e73666f726d53747265616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d53747265616d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b20746869732e73747265616d2e706f696e7428782c2079293b207d2c0a20207370686572653a2066756e6374696f6e2829207b20746869732e73747265616d2e73706865726528293b207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65537461727428293b207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65456e6428293b207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e537461727428293b207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e456e6428293b207d0a7d3b0a0a66756e6374696f6e206669742870726f6a656374696f6e2c20666974426f756e64732c206f626a65637429207b0a202076617220636c6970203d2070726f6a656374696f6e2e636c6970457874656e742026262070726f6a656374696f6e2e636c6970457874656e7428293b0a202070726f6a656374696f6e2e7363616c6528313530292e7472616e736c617465285b302c20305d293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e74286e756c6c293b0a202067656f53747265616d286f626a6563742c2070726f6a656374696f6e2e73747265616d28626f756e647353747265616d243129293b0a2020666974426f756e647328626f756e647353747265616d24312e726573756c742829293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e7428636c6970293b0a202072657475726e2070726f6a656374696f6e3b0a7d0a0a66756e6374696f6e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d20657874656e745b315d5b305d202d20657874656e745b305d5b305d2c0a202020202020202068203d20657874656e745b315d5b315d202d20657874656e745b305d5b315d2c0a20202020202020206b203d204d6174682e6d696e2877202f2028625b315d5b305d202d20625b305d5b305d292c2068202f2028625b315d5b315d202d20625b305d5b315d29292c0a202020202020202078203d202b657874656e745b305d5b305d202b202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202b657874656e745b305d5b315d202b202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a65637429207b0a202072657475726e20666974457874656e742870726f6a656374696f6e2c205b5b302c20305d2c2073697a655d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d202b77696474682c0a20202020202020206b203d2077202f2028625b315d5b305d202d20625b305d5b305d292c0a202020202020202078203d202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202d6b202a20625b305d5b315d3b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722068203d202b6865696768742c0a20202020202020206b203d2068202f2028625b315d5b315d202d20625b305d5b315d292c0a202020202020202078203d202d6b202a20625b305d5b305d2c0a202020202020202079203d202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a766172206d61784465707468203d2031362c202f2f206d6178696d756d206465707468206f66207375626469766973696f6e0a20202020636f734d696e44697374616e6365203d20636f732431283330202a2072616469616e73293b202f2f20636f73286d696e696d756d20616e67756c61722064697374616e6365290a0a66756e6374696f6e20726573616d706c652870726f6a6563742c2064656c74613229207b0a202072657475726e202b64656c746132203f20726573616d706c6524312870726f6a6563742c2064656c74613229203a20726573616d706c654e6f6e652870726f6a656374293b0a7d0a0a66756e6374696f6e20726573616d706c654e6f6e652870726f6a65637429207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a202020202020746869732e73747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20726573616d706c6524312870726f6a6563742c2064656c74613229207b0a0a202066756e6374696f6e20726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d29207b0a20202020766172206478203d207831202d2078302c0a20202020202020206479203d207931202d2079302c0a20202020202020206432203d206478202a206478202b206479202a2064793b0a20202020696620286432203e2034202a2064656c7461322026262064657074682d2d29207b0a2020202020207661722061203d206130202b2061312c0a2020202020202020202062203d206230202b2062312c0a2020202020202020202063203d206330202b2063312c0a202020202020202020206d203d20737172742861202a2061202b2062202a2062202b2063202a2063292c0a2020202020202020202070686932203d206173696e2863202f3d206d292c0a202020202020202020206c616d62646132203d2061627328616273286329202d203129203c20657073696c6f6e2432207c7c20616273286c616d62646130202d206c616d6264613129203c20657073696c6f6e2432203f20286c616d62646130202b206c616d6264613129202f2032203a206174616e3228622c2061292c0a2020202020202020202070203d2070726f6a656374286c616d626461322c2070686932292c0a202020202020202020207832203d20705b305d2c0a202020202020202020207932203d20705b315d2c0a20202020202020202020647832203d207832202d2078302c0a20202020202020202020647932203d207932202d2079302c0a20202020202020202020647a203d206479202a20647832202d206478202a206479323b0a20202020202069662028647a202a20647a202f206432203e2064656c746132202f2f2070657270656e646963756c61722070726f6a65637465642064697374616e63650a202020202020202020207c7c2061627328286478202a20647832202b206479202a2064793229202f206432202d20302e3529203e20302e33202f2f206d6964706f696e7420636c6f736520746f20616e20656e640a202020202020202020207c7c206130202a206131202b206230202a206231202b206330202a206331203c20636f734d696e44697374616e636529207b202f2f20616e67756c61722064697374616e63650a2020202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078322c2079322c206c616d626461322c2061202f3d206d2c2062202f3d206d2c20632c2064657074682c2073747265616d293b0a202020202020202073747265616d2e706f696e742878322c207932293b0a2020202020202020726573616d706c654c696e65546f2878322c2079322c206c616d626461322c20612c20622c20632c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d293b0a2020202020207d0a202020207d0a20207d0a202072657475726e2066756e6374696f6e2873747265616d29207b0a20202020766172206c616d62646130302c207830302c207930302c206130302c206230302c206330302c202f2f20666972737420706f696e740a20202020202020206c616d626461302c2078302c2079302c2061302c2062302c2063303b202f2f2070726576696f757320706f696e740a0a2020202076617220726573616d706c6553747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e537461727428293b20726573616d706c6553747265616d2e6c696e655374617274203d2072696e6753746172743b207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e456e6428293b20726573616d706c6553747265616d2e6c696e655374617274203d206c696e6553746172743b207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a20202020202073747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a2020202020207830203d204e614e3b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202073747265616d2e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a2020202020207661722063203d2063617274657369616e285b6c616d6264612c207068695d292c2070203d2070726f6a656374286c616d6264612c20706869293b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830203d20705b305d2c207930203d20705b315d2c206c616d62646130203d206c616d6264612c206130203d20635b305d2c206230203d20635b315d2c206330203d20635b325d2c206d617844657074682c2073747265616d293b0a20202020202073747265616d2e706f696e742878302c207930293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020726573616d706c6553747265616d2e706f696e74203d20706f696e743b0a20202020202073747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a2020202020206c696e65537461727428293b0a202020202020726573616d706c6553747265616d2e706f696e74203d2072696e67506f696e743b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d2072696e67456e643b0a202020207d0a0a2020202066756e6374696f6e2072696e67506f696e74286c616d6264612c2070686929207b0a2020202020206c696e65506f696e74286c616d6264613030203d206c616d6264612c20706869292c20783030203d2078302c20793030203d2079302c20613030203d2061302c20623030203d2062302c20633030203d2063303b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830302c207930302c206c616d62646130302c206130302c206230302c206330302c206d617844657074682c2073747265616d293b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d206c696e65456e643b0a2020202020206c696e65456e6428293b0a202020207d0a0a2020202072657475726e20726573616d706c6553747265616d3b0a20207d3b0a7d0a0a766172207472616e73666f726d52616469616e73203d207472616e73666f726d6572287b0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e73747265616d2e706f696e742878202a2072616469616e732c2079202a2072616469616e73293b0a20207d0a7d293b0a0a66756e6374696f6e207472616e73666f726d526f7461746528726f7461746529207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020207661722072203d20726f7461746528782c2079293b0a20202020202072657475726e20746869732e73747265616d2e706f696e7428725b305d2c20725b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207363616c655472616e736c617465286b2c2064782c20647929207b0a202066756e6374696f6e207472616e73666f726d24243128782c207929207b0a2020202072657475726e205b6478202b206b202a20782c206479202d206b202a20795d3b0a20207d0a20207472616e73666f726d2424312e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b2878202d20647829202f206b2c20286479202d207929202f206b5d3b0a20207d3b0a202072657475726e207472616e73666f726d2424313b0a7d0a0a66756e6374696f6e207363616c655472616e736c617465526f74617465286b2c2064782c2064792c20616c70686129207b0a202076617220636f73416c706861203d20636f73243128616c706861292c0a20202020202073696e416c706861203d2073696e243128616c706861292c0a20202020202061203d20636f73416c706861202a206b2c0a20202020202062203d2073696e416c706861202a206b2c0a2020202020206169203d20636f73416c706861202f206b2c0a2020202020206269203d2073696e416c706861202f206b2c0a2020202020206369203d202873696e416c706861202a206479202d20636f73416c706861202a20647829202f206b2c0a2020202020206669203d202873696e416c706861202a206478202b20636f73416c706861202a20647929202f206b3b0a202066756e6374696f6e207472616e73666f726d24243128782c207929207b0a2020202072657475726e205b61202a2078202d2062202a2079202b2064782c206479202d2062202a2078202d2061202a20795d3b0a20207d0a20207472616e73666f726d2424312e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b6169202a2078202d206269202a2079202b2063692c206669202d206269202a2078202d206169202a20795d3b0a20207d3b0a202072657475726e207472616e73666f726d2424313b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e2870726f6a65637429207b0a202072657475726e2070726f6a656374696f6e4d757461746f722866756e6374696f6e2829207b2072657475726e2070726f6a6563743b207d2928293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e4d757461746f722870726f6a656374417429207b0a20207661722070726f6a6563742c0a2020202020206b203d203135302c202f2f207363616c650a20202020202078203d203438302c2079203d203235302c202f2f207472616e736c6174650a2020202020206c616d626461203d20302c20706869203d20302c202f2f2063656e7465720a20202020202064656c74614c616d626461203d20302c2064656c7461506869203d20302c2064656c746147616d6d61203d20302c20726f746174652c202f2f207072652d726f746174650a202020202020616c706861203d20302c202f2f20706f73742d726f746174650a2020202020207468657461203d206e756c6c2c20707265636c6970203d20636c6970416e74696d6572696469616e2c202f2f207072652d636c697020616e676c650a2020202020207830203d206e756c6c2c2079302c2078312c2079312c20706f7374636c6970203d206964656e7469747924342c202f2f20706f73742d636c697020657874656e740a20202020202064656c746132203d20302e352c202f2f20707265636973696f6e0a20202020202070726f6a656374526573616d706c652c0a20202020202070726f6a6563745472616e73666f726d2c0a20202020202070726f6a656374526f746174655472616e73666f726d2c0a20202020202063616368652c0a202020202020636163686553747265616d3b0a0a202066756e6374696f6e2070726f6a656374696f6e28706f696e7429207b0a2020202072657475726e2070726f6a656374526f746174655472616e73666f726d28706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e73293b0a20207d0a0a202066756e6374696f6e20696e7665727428706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f746174655472616e73666f726d2e696e7665727428706f696e745b305d2c20706f696e745b315d293b0a2020202072657475726e20706f696e74202626205b706f696e745b305d202a206465677265657324312c20706f696e745b315d202a206465677265657324315d3b0a20207d0a0a202070726f6a656374696f6e2e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d52616469616e73287472616e73666f726d526f7461746528726f746174652928707265636c69702870726f6a656374526573616d706c6528706f7374636c697028636163686553747265616d203d2073747265616d29292929293b0a20207d3b0a0a202070726f6a656374696f6e2e707265636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d205f2c207468657461203d20756e646566696e65642c207265736574282929203a20707265636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e706f7374636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d202b5f203f20636c6970436972636c65287468657461203d205f202a2072616469616e7329203a20287468657461203d206e756c6c2c20636c6970416e74696d6572696469616e292c207265736574282929203a207468657461202a206465677265657324313b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e74697479243429203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202070726f6a656374696f6e2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b203d202b5f2c20726563656e746572282929203a206b3b0a20207d3b0a0a202070726f6a656374696f6e2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f5b305d2c2079203d202b5f5b315d2c20726563656e746572282929203a205b782c20795d3b0a20207d3b0a0a202070726f6a656374696f6e2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c616d626461203d205f5b305d202520333630202a2072616469616e732c20706869203d205f5b315d202520333630202a2072616469616e732c20726563656e746572282929203a205b6c616d626461202a206465677265657324312c20706869202a206465677265657324315d3b0a20207d3b0a0a202070726f6a656374696f6e2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864656c74614c616d626461203d205f5b305d202520333630202a2072616469616e732c2064656c7461506869203d205f5b315d202520333630202a2072616469616e732c2064656c746147616d6d61203d205f2e6c656e677468203e2032203f205f5b325d202520333630202a2072616469616e73203a20302c20726563656e746572282929203a205b64656c74614c616d626461202a206465677265657324312c2064656c7461506869202a206465677265657324312c2064656c746147616d6d61202a206465677265657324315d3b0a20207d3b0a0a202070726f6a656374696f6e2e616e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d205f202520333630202a2072616469616e732c20726563656e746572282929203a20616c706861202a206465677265657324313b0a20207d3b0a0a202070726f6a656374696f6e2e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132203d205f202a205f292c207265736574282929203a20737172742864656c746132293b0a20207d3b0a0a202070726f6a656374696f6e2e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e20726563656e7465722829207b0a202020207661722063656e746572203d207363616c655472616e736c617465526f74617465286b2c20302c20302c20616c706861292e6170706c79286e756c6c2c2070726f6a656374286c616d6264612c2070686929292c0a20202020202020207472616e73666f726d242431203d2028616c706861203f207363616c655472616e736c617465526f74617465203a207363616c655472616e736c61746529286b2c2078202d2063656e7465725b305d2c2079202d2063656e7465725b315d2c20616c706861293b0a20202020726f74617465203d20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d61293b0a2020202070726f6a6563745472616e73666f726d203d20636f6d706f73652870726f6a6563742c207472616e73666f726d242431293b0a2020202070726f6a656374526f746174655472616e73666f726d203d20636f6d706f736528726f746174652c2070726f6a6563745472616e73666f726d293b0a2020202070726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132293b0a2020202072657475726e20726573657428293b0a20207d0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2066756e6374696f6e2829207b0a2020202070726f6a656374203d2070726f6a65637441742e6170706c7928746869732c20617267756d656e7473293b0a2020202070726f6a656374696f6e2e696e76657274203d2070726f6a6563742e696e7665727420262620696e766572743b0a2020202072657475726e20726563656e74657228293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e696350726f6a656374696f6e2870726f6a656374417429207b0a20207661722070686930203d20302c0a20202020202070686931203d2070692433202f20332c0a2020202020206d203d2070726f6a656374696f6e4d757461746f722870726f6a6563744174292c0a20202020202070203d206d28706869302c2070686931293b0a0a2020702e706172616c6c656c73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206d2870686930203d205f5b305d202a2072616469616e732c2070686931203d205f5b315d202a2072616469616e7329203a205b70686930202a206465677265657324312c2070686931202a206465677265657324315d3b0a20207d3b0a0a202072657475726e20703b0a7d0a0a66756e6374696f6e2063796c696e64726963616c457175616c41726561526177287068693029207b0a202076617220636f7350686930203d20636f7324312870686930293b0a0a202066756e6374696f6e20666f7277617264286c616d6264612c2070686929207b0a2020202072657475726e205b6c616d626461202a20636f73506869302c2073696e24312870686929202f20636f73506869305d3b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b78202f20636f73506869302c206173696e2879202a20636f7350686930295d3b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265615261772879302c20793129207b0a202076617220737930203d2073696e2431287930292c206e203d2028737930202b2073696e24312879312929202f20323b0a0a20202f2f204172652074686520706172616c6c656c732073796d6d6574726963616c2061726f756e64207468652045717561746f723f0a202069662028616273286e29203c20657073696c6f6e2432292072657475726e2063796c696e64726963616c457175616c41726561526177287930293b0a0a20207661722063203d2031202b20737930202a202832202a206e202d20737930292c207230203d2073717274286329202f206e3b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020207661722072203d20737172742863202d2032202a206e202a2073696e243128792929202f206e3b0a2020202072657475726e205b72202a2073696e24312878202a3d206e292c207230202d2072202a20636f7324312878295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202076617220723079203d207230202d20793b0a2020202072657475726e205b6174616e3228782c20616273287230792929202f206e202a207369676e28723079292c206173696e282863202d202878202a2078202b20723079202a2072307929202a206e202a206e29202f202832202a206e29295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265612829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963457175616c41726561526177290a2020202020202e7363616c65283135352e343234290a2020202020202e63656e746572285b302c2033332e363434325d293b0a7d0a0a66756e6374696f6e20616c626572732829207b0a202072657475726e20636f6e6963457175616c4172656128290a2020202020202e706172616c6c656c73285b32392e352c2034352e355d290a2020202020202e7363616c652831303730290a2020202020202e7472616e736c617465285b3438302c203235305d290a2020202020202e726f74617465285b39362c20305d290a2020202020202e63656e746572285b2d302e362c2033382e375d293b0a7d0a0a2f2f205468652070726f6a656374696f6e73206d7573742068617665206d757475616c6c79206578636c757369766520636c697020726567696f6e73206f6e20746865207370686572652c0a2f2f20617320746869732077696c6c2061766f696420656d697474696e6720696e7465726c656176696e67206c696e657320616e6420706f6c79676f6e732e0a66756e6374696f6e206d756c7469706c65782873747265616d7329207b0a2020766172206e203d2073747265616d732e6c656e6774683b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f696e7428782c2079293b207d2c0a202020207370686572653a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e73706865726528293b207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65537461727428293b207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65456e6428293b207d2c0a20202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e537461727428293b207d2c0a20202020706f6c79676f6e456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e456e6428293b207d0a20207d3b0a7d0a0a2f2f204120636f6d706f736974652070726f6a656374696f6e20666f722074686520556e69746564205374617465732c20636f6e666967757265642062792064656661756c7420666f720a2f2f20393630c3973530302e205468652070726f6a656374696f6e20616c736f20776f726b732071756974652077656c6c20617420393630c39736303020696620796f75206368616e6765207468650a2f2f207363616c6520746f203132383520616e642061646a75737420746865207472616e736c617465206163636f7264696e676c792e2054686520736574206f66207374616e646172640a2f2f20706172616c6c656c7320666f72206561636820726567696f6e20636f6d65732066726f6d20555347532c207768696368206973207075626c697368656420686572653a0a2f2f20687474703a2f2f656773632e757367732e676f762f6973622f707562732f4d617050726f6a656374696f6e732f70726f6a656374696f6e732e68746d6c23616c626572730a66756e6374696f6e20616c626572735573612829207b0a20207661722063616368652c0a202020202020636163686553747265616d2c0a2020202020206c6f7765723438203d20616c6265727328292c206c6f7765723438506f696e742c0a202020202020616c61736b61203d20636f6e6963457175616c4172656128292e726f74617465285b3135342c20305d292e63656e746572285b2d322c2035382e355d292e706172616c6c656c73285b35352c2036355d292c20616c61736b61506f696e742c202f2f20455053473a333333380a202020202020686177616969203d20636f6e6963457175616c4172656128292e726f74617465285b3135372c20305d292e63656e746572285b2d332c2031392e395d292e706172616c6c656c73285b382c2031385d292c20686177616969506f696e742c202f2f20455352493a3130323030370a202020202020706f696e742c20706f696e7453747265616d203d207b706f696e743a2066756e6374696f6e28782c207929207b20706f696e74203d205b782c20795d3b207d7d3b0a0a202066756e6374696f6e20616c6265727355736128636f6f7264696e6174657329207b0a202020207661722078203d20636f6f7264696e617465735b305d2c2079203d20636f6f7264696e617465735b315d3b0a2020202072657475726e20706f696e74203d206e756c6c2c20286c6f7765723438506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028616c61736b61506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028686177616969506f696e742e706f696e7428782c2079292c20706f696e74293b0a20207d0a0a2020616c626572735573612e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020766172206b203d206c6f77657234382e7363616c6528292c0a202020202020202074203d206c6f77657234382e7472616e736c61746528292c0a202020202020202078203d2028636f6f7264696e617465735b305d202d20745b305d29202f206b2c0a202020202020202079203d2028636f6f7264696e617465735b315d202d20745b315d29202f206b3b0a2020202072657475726e202879203e3d20302e3132302026262079203c20302e3233342026262078203e3d202d302e3432352026262078203c202d302e323134203f20616c61736b610a20202020202020203a2079203e3d20302e3136362026262079203c20302e3233342026262078203e3d202d302e3231342026262078203c202d302e313135203f206861776169690a20202020202020203a206c6f7765723438292e696e7665727428636f6f7264696e61746573293b0a20207d3b0a0a2020616c626572735573612e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d206d756c7469706c6578285b6c6f77657234382e73747265616d28636163686553747265616d203d2073747265616d292c20616c61736b612e73747265616d2873747265616d292c206861776169692e73747265616d2873747265616d295d293b0a20207d3b0a0a2020616c626572735573612e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e707265636973696f6e28293b0a202020206c6f77657234382e707265636973696f6e285f292c20616c61736b612e707265636973696f6e285f292c206861776169692e707265636973696f6e285f293b0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e7363616c65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7363616c6528293b0a202020206c6f77657234382e7363616c65285f292c20616c61736b612e7363616c65285f202a20302e3335292c206861776169692e7363616c65285f293b0a2020202072657475726e20616c626572735573612e7472616e736c617465286c6f77657234382e7472616e736c6174652829293b0a20207d3b0a0a2020616c626572735573612e7472616e736c617465203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7472616e736c61746528293b0a20202020766172206b203d206c6f77657234382e7363616c6528292c2078203d202b5f5b305d2c2079203d202b5f5b315d3b0a0a202020206c6f7765723438506f696e74203d206c6f77657234380a20202020202020202e7472616e736c617465285f290a20202020202020202e636c6970457874656e74285b5b78202d20302e343535202a206b2c2079202d20302e323338202a206b5d2c205b78202b20302e343535202a206b2c2079202b20302e323338202a206b5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020616c61736b61506f696e74203d20616c61736b610a20202020202020202e7472616e736c617465285b78202d20302e333037202a206b2c2079202b20302e323031202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e343235202a206b202b20657073696c6f6e24322c2079202b20302e313230202a206b202b20657073696c6f6e24325d2c205b78202d20302e323134202a206b202d20657073696c6f6e24322c2079202b20302e323334202a206b202d20657073696c6f6e24325d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020686177616969506f696e74203d206861776169690a20202020202020202e7472616e736c617465285b78202d20302e323035202a206b2c2079202b20302e323132202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e323134202a206b202b20657073696c6f6e24322c2079202b20302e313636202a206b202b20657073696c6f6e24325d2c205b78202d20302e313135202a206b202d20657073696c6f6e24322c2079202b20302e323334202a206b202d20657073696c6f6e24325d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e7428616c626572735573612c20657874656e742c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a6528616c626572735573612c2073697a652c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e20666974576964746828616c626572735573612c2077696474682c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e2066697448656967687428616c626572735573612c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e20616c626572735573613b0a20207d0a0a202072657475726e20616c626572735573612e7363616c652831303730293b0a7d0a0a66756e6374696f6e20617a696d757468616c526177287363616c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172206378203d20636f7324312878292c0a20202020202020206379203d20636f7324312879292c0a20202020202020206b203d207363616c65286378202a206379293b0a2020202072657475726e205b0a2020202020206b202a206379202a2073696e24312878292c0a2020202020206b202a2073696e24312879290a202020205d3b0a20207d0a7d0a0a66756e6374696f6e20617a696d757468616c496e7665727428616e676c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172207a203d20737172742878202a2078202b2079202a2079292c0a202020202020202063203d20616e676c65287a292c0a20202020202020207363203d2073696e24312863292c0a20202020202020206363203d20636f7324312863293b0a2020202072657475726e205b0a2020202020206174616e322878202a2073632c207a202a206363292c0a2020202020206173696e287a2026262079202a207363202f207a290a202020205d3b0a20207d0a7d0a0a76617220617a696d757468616c457175616c41726561526177203d20617a696d757468616c5261772866756e6374696f6e286378637929207b0a202072657475726e20737172742832202f202831202b206378637929293b0a7d293b0a0a617a696d757468616c457175616c417265615261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206173696e287a202f2032293b0a7d293b0a0a66756e6374696f6e20617a696d757468616c457175616c417265612829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c457175616c41726561526177290a2020202020202e7363616c65283132342e3735290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d0a0a76617220617a696d757468616c4571756964697374616e74526177203d20617a696d757468616c5261772866756e6374696f6e286329207b0a202072657475726e202863203d2061636f73286329292026262063202f2073696e24312863293b0a7d293b0a0a617a696d757468616c4571756964697374616e745261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e207a3b0a7d293b0a0a66756e6374696f6e20617a696d757468616c4571756964697374616e742829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c4571756964697374616e74526177290a2020202020202e7363616c652837392e34313838290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d0a0a66756e6374696f6e206d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c206c6f672874616e282868616c6650692432202b2070686929202f203229295d3b0a7d0a0a6d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b782c2032202a206174616e2865787028792929202d2068616c66506924325d3b0a7d3b0a0a66756e6374696f6e206d65726361746f722829207b0a202072657475726e206d65726361746f7250726f6a656374696f6e286d65726361746f72526177290a2020202020202e7363616c6528393631202f207461752433293b0a7d0a0a66756e6374696f6e206d65726361746f7250726f6a656374696f6e2870726f6a65637429207b0a2020766172206d203d2070726f6a656374696f6e2870726f6a656374292c0a20202020202063656e746572203d206d2e63656e7465722c0a2020202020207363616c65203d206d2e7363616c652c0a2020202020207472616e736c617465203d206d2e7472616e736c6174652c0a202020202020636c6970457874656e74203d206d2e636c6970457874656e742c0a2020202020207830203d206e756c6c2c2079302c2078312c2079313b202f2f20636c697020657874656e740a0a20206d2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65285f292c207265636c6970282929203a207363616c6528293b0a20207d3b0a0a20206d2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465285f292c207265636c6970282929203a207472616e736c61746528293b0a20207d3b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572285f292c207265636c6970282929203a2063656e74657228293b0a20207d3b0a0a20206d2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f207830203d207930203d207831203d207931203d206e756c6c203a20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265636c6970282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202066756e6374696f6e207265636c69702829207b0a20202020766172206b203d2070692433202a207363616c6528292c0a202020202020202074203d206d28726f746174696f6e286d2e726f746174652829292e696e76657274285b302c20305d29293b0a2020202072657475726e20636c6970457874656e74287830203d3d206e756c6c0a20202020202020203f205b5b745b305d202d206b2c20745b315d202d206b5d2c205b745b305d202b206b2c20745b315d202b206b5d5d203a2070726f6a656374203d3d3d206d65726361746f725261770a20202020202020203f205b5b4d6174682e6d617828745b305d202d206b2c207830292c2079305d2c205b4d6174682e6d696e28745b305d202b206b2c207831292c2079315d5d0a20202020202020203a205b5b78302c204d6174682e6d617828745b315d202d206b2c207930295d2c205b78312c204d6174682e6d696e28745b315d202b206b2c207931295d5d293b0a20207d0a0a202072657475726e207265636c697028293b0a7d0a0a66756e6374696f6e2074616e79287929207b0a202072657475726e2074616e282868616c6650692432202b207929202f2032293b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c5261772879302c20793129207b0a202076617220637930203d20636f732431287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e243128793029203a206c6f6728637930202f20636f7324312879312929202f206c6f672874616e7928793129202f2074616e7928793029292c0a20202020202066203d20637930202a20706f772874616e79287930292c206e29202f206e3b0a0a202069662028216e292072657475726e206d65726361746f725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020206966202866203e203029207b206966202879203c202d68616c6650692432202b20657073696c6f6e2432292079203d202d68616c6650692432202b20657073696c6f6e24323b207d0a20202020656c7365207b206966202879203e2068616c6650692432202d20657073696c6f6e2432292079203d2068616c6650692432202d20657073696c6f6e24323b207d0a202020207661722072203d2066202f20706f772874616e792879292c206e293b0a2020202072657475726e205b72202a2073696e2431286e202a2078292c2066202d2072202a20636f732431286e202a2078295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206679203d2066202d20792c2072203d207369676e286e29202a20737172742878202a2078202b206679202a206679293b0a2020202072657475726e205b6174616e3228782c206162732866792929202f206e202a207369676e286679292c2032202a206174616e28706f772866202f20722c2031202f206e2929202d2068616c66506924325d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963436f6e666f726d616c526177290a2020202020202e7363616c65283130392e35290a2020202020202e706172616c6c656c73285b33302c2033305d293b0a7d0a0a66756e6374696f6e206571756972656374616e67756c6172526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c207068695d3b0a7d0a0a6571756972656374616e67756c61725261772e696e76657274203d206571756972656374616e67756c61725261773b0a0a66756e6374696f6e206571756972656374616e67756c61722829207b0a202072657475726e2070726f6a656374696f6e286571756972656374616e67756c6172526177290a2020202020202e7363616c65283135322e3633293b0a7d0a0a66756e6374696f6e20636f6e69634571756964697374616e745261772879302c20793129207b0a202076617220637930203d20636f732431287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e243128793029203a2028637930202d20636f7324312879312929202f20287931202d207930292c0a20202020202067203d20637930202f206e202b2079303b0a0a202069662028616273286e29203c20657073696c6f6e2432292072657475726e206571756972656374616e67756c61725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a20202020766172206779203d2067202d20792c206e78203d206e202a20783b0a2020202072657475726e205b6779202a2073696e2431286e78292c2067202d206779202a20636f732431286e78295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206779203d2067202d20793b0a2020202072657475726e205b6174616e3228782c206162732867792929202f206e202a207369676e286779292c2067202d207369676e286e29202a20737172742878202a2078202b206779202a206779295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a66756e6374696f6e20636f6e69634571756964697374616e742829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e69634571756964697374616e74526177290a2020202020202e7363616c65283133312e313534290a2020202020202e63656e746572285b302c2031332e393338395d293b0a7d0a0a66756e6374696f6e20676e6f6d6f6e696352617728782c207929207b0a2020766172206379203d20636f7324312879292c206b203d20636f732431287829202a2063793b0a202072657475726e205b6379202a2073696e2431287829202f206b2c2073696e2431287929202f206b5d3b0a7d0a0a676e6f6d6f6e69635261772e696e76657274203d20617a696d757468616c496e76657274286174616e293b0a0a66756e6374696f6e20676e6f6d6f6e69632829207b0a202072657475726e2070726f6a656374696f6e28676e6f6d6f6e6963526177290a2020202020202e7363616c65283134342e303439290a2020202020202e636c6970416e676c65283630293b0a7d0a0a66756e6374696f6e207363616c655472616e736c6174652431286b782c206b792c2074782c20747929207b0a202072657475726e206b78203d3d3d2031202626206b79203d3d3d2031202626207478203d3d3d2030202626207479203d3d3d2030203f206964656e746974792434203a207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a202020202020746869732e73747265616d2e706f696e742878202a206b78202b2074782c2079202a206b79202b207479293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e206964656e7469747924352829207b0a2020766172206b203d20312c207478203d20302c207479203d20302c207378203d20312c207379203d20312c207472616e73666f726d242431203d206964656e7469747924342c202f2f207363616c652c207472616e736c61746520616e64207265666c6563740a2020202020207830203d206e756c6c2c2079302c2078312c2079312c202f2f20636c697020657874656e740a202020202020706f7374636c6970203d206964656e7469747924342c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a20202020202070726f6a656374696f6e3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2070726f6a656374696f6e203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d24243128706f7374636c697028636163686553747265616d203d2073747265616d29293b0a202020207d2c0a20202020706f7374636c69703a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a202020207d2c0a20202020636c6970457874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e74697479243429203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d2c0a202020207363616c653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465243128286b203d202b5f29202a2073782c206b202a2073792c2074782c207479292c207265736574282929203a206b3b0a202020207d2c0a202020207472616e736c6174653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a2073782c206b202a2073792c207478203d202b5f5b305d2c207479203d202b5f5b315d292c207265736574282929203a205b74782c2074795d3b0a202020207d2c0a202020207265666c656374583a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a20287378203d205f203f202d31203a2031292c206b202a2073792c2074782c207479292c207265736574282929203a207378203c20303b0a202020207d2c0a202020207265666c656374593a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c6174652431286b202a2073782c206b202a20287379203d205f203f202d31203a2031292c2074782c207479292c207265736574282929203a207379203c20303b0a202020207d2c0a20202020666974457874656e743a2066756e6374696f6e28657874656e742c206f626a65637429207b0a20202020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a202020207d2c0a2020202066697453697a653a2066756e6374696f6e2873697a652c206f626a65637429207b0a20202020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a202020207d2c0a2020202066697457696474683a2066756e6374696f6e2877696474682c206f626a65637429207b0a20202020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a202020207d2c0a202020206669744865696768743a2066756e6374696f6e286865696768742c206f626a65637429207b0a20202020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e206e61747572616c456172746831526177286c616d6264612c2070686929207b0a20207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a202072657475726e205b0a202020206c616d626461202a2028302e38373037202d20302e313331393739202a2070686932202b2070686934202a20282d302e303133373931202b2070686934202a2028302e303033393731202a2070686932202d20302e303031353239202a20706869342929292c0a20202020706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a20706869342929290a20205d3b0a7d0a0a6e61747572616c4561727468315261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202076617220706869203d20792c2069203d2032352c2064656c74613b0a2020646f207b0a202020207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a20202020706869202d3d2064656c7461203d2028706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a2070686934292929202d207929202f0a202020202020202028312e303037323236202b2070686932202a2028302e303135303835202a2033202b2070686934202a20282d302e303434343735202a2037202b20302e303238383734202a2039202a2070686932202d20302e303035393136202a203131202a20706869342929293b0a20207d207768696c6520286162732864656c746129203e20657073696c6f6e2432202626202d2d69203e2030293b0a202072657475726e205b0a2020202078202f2028302e38373037202b202870686932203d20706869202a2070686929202a20282d302e313331393739202b2070686932202a20282d302e303133373931202b2070686932202a2070686932202a2070686932202a2028302e303033393731202d20302e303031353239202a2070686932292929292c0a202020207068690a20205d3b0a7d3b0a0a66756e6374696f6e206e61747572616c4561727468312829207b0a202072657475726e2070726f6a656374696f6e286e61747572616c456172746831526177290a2020202020202e7363616c65283137352e323935293b0a7d0a0a66756e6374696f6e206f7274686f6772617068696352617728782c207929207b0a202072657475726e205b636f732431287929202a2073696e24312878292c2073696e24312879295d3b0a7d0a0a6f7274686f677261706869635261772e696e76657274203d20617a696d757468616c496e76657274286173696e293b0a0a66756e6374696f6e206f7274686f677261706869632829207b0a202072657475726e2070726f6a656374696f6e286f7274686f67726170686963526177290a2020202020202e7363616c65283234392e35290a2020202020202e636c6970416e676c65283930202b20657073696c6f6e2432293b0a7d0a0a66756e6374696f6e2073746572656f6772617068696352617728782c207929207b0a2020766172206379203d20636f7324312879292c206b203d2031202b20636f732431287829202a2063793b0a202072657475726e205b6379202a2073696e2431287829202f206b2c2073696e2431287929202f206b5d3b0a7d0a0a73746572656f677261706869635261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206174616e287a293b0a7d293b0a0a66756e6374696f6e2073746572656f677261706869632829207b0a202072657475726e2070726f6a656374696f6e2873746572656f67726170686963526177290a2020202020202e7363616c6528323530290a2020202020202e636c6970416e676c6528313432293b0a7d0a0a66756e6374696f6e207472616e7376657273654d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c6f672874616e282868616c6650692432202b2070686929202f203229292c202d6c616d6264615d3b0a7d0a0a7472616e7376657273654d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2d792c2032202a206174616e2865787028782929202d2068616c66506924325d3b0a7d3b0a0a66756e6374696f6e207472616e7376657273654d65726361746f722829207b0a2020766172206d203d206d65726361746f7250726f6a656374696f6e287472616e7376657273654d65726361746f72526177292c0a20202020202063656e746572203d206d2e63656e7465722c0a202020202020726f74617465203d206d2e726f746174653b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2063656e746572285b2d5f5b315d2c205f5b305d5d29203a20285f203d2063656e74657228292c205b5f5b315d2c202d5f5b305d5d293b0a20207d3b0a0a20206d2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20726f74617465285b5f5b305d2c205f5b315d2c205f2e6c656e677468203e2032203f205f5b325d202b203930203a2039305d29203a20285f203d20726f7461746528292c205b5f5b305d2c205f5b315d2c205f5b325d202d2039305d293b0a20207d3b0a0a202072657475726e20726f74617465285b302c20302c2039305d290a2020202020202e7363616c65283135392e313535293b0a7d0a0a66756e6374696f6e2064656661756c7453657061726174696f6e28612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a66756e6374696f6e206d65616e58286368696c6472656e29207b0a202072657475726e206368696c6472656e2e726564756365286d65616e585265647563652c203029202f206368696c6472656e2e6c656e6774683b0a7d0a0a66756e6374696f6e206d65616e5852656475636528782c206329207b0a202072657475726e2078202b20632e783b0a7d0a0a66756e6374696f6e206d617859286368696c6472656e29207b0a202072657475726e2031202b206368696c6472656e2e726564756365286d6178595265647563652c2030293b0a7d0a0a66756e6374696f6e206d61785952656475636528792c206329207b0a202072657475726e204d6174682e6d617828792c20632e79293b0a7d0a0a66756e6374696f6e206c6561664c656674286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b305d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c6561665269676874286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e20636c75737465722829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d2066616c73653b0a0a202066756e6374696f6e20636c757374657228726f6f7429207b0a202020207661722070726576696f75734e6f64652c0a202020202020202078203d20303b0a0a202020202f2f2046697273742077616c6b2c20636f6d707574696e672074686520696e697469616c2078202620792076616c7565732e0a20202020726f6f742e6561636841667465722866756e6374696f6e286e6f646529207b0a202020202020766172206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e29207b0a20202020202020206e6f64652e78203d206d65616e58286368696c6472656e293b0a20202020202020206e6f64652e79203d206d617859286368696c6472656e293b0a2020202020207d20656c7365207b0a20202020202020206e6f64652e78203d2070726576696f75734e6f6465203f2078202b3d2073657061726174696f6e286e6f64652c2070726576696f75734e6f646529203a20303b0a20202020202020206e6f64652e79203d20303b0a202020202020202070726576696f75734e6f6465203d206e6f64653b0a2020202020207d0a202020207d293b0a0a20202020766172206c656674203d206c6561664c65667428726f6f74292c0a20202020202020207269676874203d206c656166526967687428726f6f74292c0a20202020202020207830203d206c6566742e78202d2073657061726174696f6e286c6566742c20726967687429202f20322c0a20202020202020207831203d2072696768742e78202b2073657061726174696f6e2872696768742c206c65667429202f20323b0a0a202020202f2f205365636f6e642077616c6b2c206e6f726d616c697a696e6720782026207920746f2074686520646573697265642073697a652e0a2020202072657475726e20726f6f742e656163684166746572286e6f646553697a65203f2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20726f6f742e7829202a2064783b0a2020202020206e6f64652e79203d2028726f6f742e79202d206e6f64652e7929202a2064793b0a202020207d203a2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20783029202f20287831202d20783029202a2064783b0a2020202020206e6f64652e79203d202831202d2028726f6f742e79203f206e6f64652e79202f20726f6f742e79203a20312929202a2064793b0a202020207d293b0a20207d0a0a2020636c75737465722e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c20636c757374657229203a2073657061726174696f6e3b0a20207d3b0a0a2020636c75737465722e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020636c75737465722e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20636c75737465723b0a7d0a0a66756e6374696f6e20636f756e74286e6f646529207b0a20207661722073756d203d20302c0a2020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a20202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a2020696620282169292073756d203d20313b0a2020656c7365207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a20206e6f64652e76616c7565203d2073756d3b0a7d0a0a66756e6374696f6e206e6f64655f636f756e742829207b0a202072657475726e20746869732e65616368416674657228636f756e74293b0a7d0a0a66756e6374696f6e206e6f64655f656163682863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c2063757272656e742c206e657874203d205b6e6f64655d2c206368696c6472656e2c20692c206e3b0a2020646f207b0a2020202063757272656e74203d206e6578742e7265766572736528292c206e657874203d205b5d3b0a202020207768696c6520286e6f6465203d2063757272656e742e706f70282929207b0a20202020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202020206e6578742e70757368286368696c6472656e5b695d293b0a2020202020207d0a202020207d0a20207d207768696c6520286e6578742e6c656e677468293b0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f656163684265666f72652863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206368696c6472656e2c20693b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a2020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d206368696c6472656e2e6c656e677468202d20313b2069203e3d20303b202d2d6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f6561636841667465722863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206e657874203d205b5d2c206368696c6472656e2c20692c206e3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206e6578742e70757368286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a20207768696c6520286e6f6465203d206e6578742e706f70282929207b0a2020202063616c6c6261636b286e6f6465293b0a20207d0a202072657475726e20746869733b0a7d0a0a66756e6374696f6e206e6f64655f73756d2876616c756529207b0a202072657475726e20746869732e6561636841667465722866756e6374696f6e286e6f646529207b0a202020207661722073756d203d202b76616c7565286e6f64652e6461746129207c7c20302c0a20202020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a202020202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a202020207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a202020206e6f64652e76616c7565203d2073756d3b0a20207d293b0a7d0a0a66756e6374696f6e206e6f64655f736f727428636f6d7061726529207b0a202072657475726e20746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e2e736f727428636f6d70617265293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e206e6f64655f7061746828656e6429207b0a2020766172207374617274203d20746869732c0a202020202020616e636573746f72203d206c65617374436f6d6d6f6e416e636573746f722873746172742c20656e64292c0a2020202020206e6f646573203d205b73746172745d3b0a20207768696c652028737461727420213d3d20616e636573746f7229207b0a202020207374617274203d2073746172742e706172656e743b0a202020206e6f6465732e70757368287374617274293b0a20207d0a2020766172206b203d206e6f6465732e6c656e6774683b0a20207768696c652028656e6420213d3d20616e636573746f7229207b0a202020206e6f6465732e73706c696365286b2c20302c20656e64293b0a20202020656e64203d20656e642e706172656e743b0a20207d0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206c65617374436f6d6d6f6e416e636573746f7228612c206229207b0a20206966202861203d3d3d2062292072657475726e20613b0a202076617220614e6f646573203d20612e616e636573746f727328292c0a202020202020624e6f646573203d20622e616e636573746f727328292c0a20202020202063203d206e756c6c3b0a202061203d20614e6f6465732e706f7028293b0a202062203d20624e6f6465732e706f7028293b0a20207768696c65202861203d3d3d206229207b0a2020202063203d20613b0a2020202061203d20614e6f6465732e706f7028293b0a2020202062203d20624e6f6465732e706f7028293b0a20207d0a202072657475726e20633b0a7d0a0a66756e6374696f6e206e6f64655f616e636573746f72732829207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d3b0a20207768696c6520286e6f6465203d206e6f64652e706172656e7429207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206e6f64655f64657363656e64616e74732829207b0a2020766172206e6f646573203d205b5d3b0a2020746869732e656163682866756e6374696f6e286e6f646529207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d293b0a202072657475726e206e6f6465733b0a7d0a0a66756e6374696f6e206e6f64655f6c65617665732829207b0a2020766172206c6561766573203d205b5d3b0a2020746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206c65617665732e70757368286e6f6465293b0a202020207d0a20207d293b0a202072657475726e206c65617665733b0a7d0a0a66756e6374696f6e206e6f64655f6c696e6b732829207b0a202076617220726f6f74203d20746869732c206c696e6b73203d205b5d3b0a2020726f6f742e656163682866756e6374696f6e286e6f646529207b0a20202020696620286e6f646520213d3d20726f6f7429207b202f2f20446f6ee280997420696e636c7564652074686520726f6f74e280997320706172656e742c20696620616e792e0a2020202020206c696e6b732e70757368287b736f757263653a206e6f64652e706172656e742c207461726765743a206e6f64657d293b0a202020207d0a20207d293b0a202072657475726e206c696e6b733b0a7d0a0a66756e6374696f6e2068696572617263687928646174612c206368696c6472656e29207b0a202076617220726f6f74203d206e6577204e6f64652864617461292c0a20202020202076616c756564203d202b646174612e76616c75652026262028726f6f742e76616c7565203d20646174612e76616c7565292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b726f6f745d2c0a2020202020206368696c642c0a2020202020206368696c64732c0a202020202020692c0a2020202020206e3b0a0a2020696620286368696c6472656e203d3d206e756c6c29206368696c6472656e203d2064656661756c744368696c6472656e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206966202876616c75656429206e6f64652e76616c7565203d202b6e6f64652e646174612e76616c75653b0a2020202069662028286368696c6473203d206368696c6472656e286e6f64652e64617461292920262620286e203d206368696c64732e6c656e6774682929207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e6577204e6f6465286368696c64735b695d29293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a20202020202020206368696c642e6465707468203d206e6f64652e6465707468202b20313b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726f6f742e656163684265666f726528636f6d70757465486569676874293b0a7d0a0a66756e6374696f6e206e6f64655f636f70792829207b0a202072657475726e206869657261726368792874686973292e656163684265666f726528636f707944617461293b0a7d0a0a66756e6374696f6e2064656661756c744368696c6472656e286429207b0a202072657475726e20642e6368696c6472656e3b0a7d0a0a66756e6374696f6e20636f707944617461286e6f646529207b0a20206e6f64652e64617461203d206e6f64652e646174612e646174613b0a7d0a0a66756e6374696f6e20636f6d70757465486569676874286e6f646529207b0a202076617220686569676874203d20303b0a2020646f206e6f64652e686569676874203d206865696768743b0a20207768696c652028286e6f6465203d206e6f64652e706172656e742920262620286e6f64652e686569676874203c202b2b68656967687429293b0a7d0a0a66756e6374696f6e204e6f6465286461746129207b0a2020746869732e64617461203d20646174613b0a2020746869732e6465707468203d0a2020746869732e686569676874203d20303b0a2020746869732e706172656e74203d206e756c6c3b0a7d0a0a4e6f64652e70726f746f74797065203d206869657261726368792e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204e6f64652c0a2020636f756e743a206e6f64655f636f756e742c0a2020656163683a206e6f64655f656163682c0a20206561636841667465723a206e6f64655f6561636841667465722c0a2020656163684265666f72653a206e6f64655f656163684265666f72652c0a202073756d3a206e6f64655f73756d2c0a2020736f72743a206e6f64655f736f72742c0a2020706174683a206e6f64655f706174682c0a2020616e636573746f72733a206e6f64655f616e636573746f72732c0a202064657363656e64616e74733a206e6f64655f64657363656e64616e74732c0a20206c65617665733a206e6f64655f6c65617665732c0a20206c696e6b733a206e6f64655f6c696e6b732c0a2020636f70793a206e6f64655f636f70790a7d3b0a0a76617220736c6963652434203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e2073687566666c65243128617272617929207b0a2020766172206d203d2061727261792e6c656e6774682c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d5d3b0a2020202061727261795b6d5d203d2061727261795b695d3b0a2020202061727261795b695d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a66756e6374696f6e20656e636c6f736528636972636c657329207b0a20207661722069203d20302c206e203d2028636972636c6573203d2073687566666c65243128736c69636524342e63616c6c28636972636c65732929292e6c656e6774682c2042203d205b5d2c20702c20653b0a0a20207768696c65202869203c206e29207b0a2020202070203d20636972636c65735b695d3b0a20202020696620286520262620656e636c6f7365735765616b28652c20702929202b2b693b0a20202020656c73652065203d20656e636c6f736542617369732842203d20657874656e64426173697328422c207029292c2069203d20303b0a20207d0a0a202072657475726e20653b0a7d0a0a66756e6374696f6e20657874656e64426173697328422c207029207b0a202076617220692c206a3b0a0a202069662028656e636c6f7365735765616b416c6c28702c204229292072657475726e205b705d3b0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c65617374206f6e6520656c656d656e742e0a2020666f72202869203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a2020202069662028656e636c6f7365734e6f7428702c20425b695d290a2020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733228425b695d2c2070292c20422929207b0a20202020202072657475726e205b425b695d2c20705d3b0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c656173742074776f20656c656d656e74732e0a2020666f72202869203d20303b2069203c20422e6c656e677468202d20313b202b2b6929207b0a20202020666f7220286a203d2069202b20313b206a203c20422e6c656e6774683b202b2b6a29207b0a20202020202069662028656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c20425b6a5d292c2070290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c2070292c20425b6a5d290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b6a5d2c2070292c20425b695d290a20202020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733328425b695d2c20425b6a5d2c2070292c20422929207b0a202020202020202072657475726e205b425b695d2c20425b6a5d2c20705d3b0a2020202020207d0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e20736f6d657468696e6720697320766572792077726f6e672e0a20207468726f77206e6577204572726f723b0a7d0a0a66756e6374696f6e20656e636c6f7365734e6f7428612c206229207b0a2020766172206472203d20612e72202d20622e722c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203c2030207c7c206472202a206472203c206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b28612c206229207b0a2020766172206472203d20612e72202d20622e72202b2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b416c6c28612c204229207b0a2020666f7220287661722069203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a202020206966202821656e636c6f7365735765616b28612c20425b695d2929207b0a20202020202072657475726e2066616c73653b0a202020207d0a20207d0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20656e636c6f73654261736973284229207b0a20207377697463682028422e6c656e67746829207b0a202020206361736520313a2072657475726e20656e636c6f736542617369733128425b305d293b0a202020206361736520323a2072657475726e20656e636c6f736542617369733228425b305d2c20425b315d293b0a202020206361736520333a2072657475726e20656e636c6f736542617369733328425b305d2c20425b315d2c20425b325d293b0a20207d0a7d0a0a66756e6374696f6e20656e636c6f7365426173697331286129207b0a202072657475726e207b0a20202020783a20612e782c0a20202020793a20612e792c0a20202020723a20612e720a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733228612c206229207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a202020202020783231203d207832202d2078312c20793231203d207932202d2079312c20723231203d207232202d2072312c0a2020202020206c203d204d6174682e7371727428783231202a20783231202b20793231202a20793231293b0a202072657475726e207b0a20202020783a20287831202b207832202b20783231202f206c202a2072323129202f20322c0a20202020793a20287931202b207932202b20793231202f206c202a2072323129202f20322c0a20202020723a20286c202b207231202b20723229202f20320a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733328612c20622c206329207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a2020202020207833203d20632e782c207933203d20632e792c207233203d20632e722c0a2020202020206132203d207831202d2078322c0a2020202020206133203d207831202d2078332c0a2020202020206232203d207931202d2079322c0a2020202020206233203d207931202d2079332c0a2020202020206332203d207232202d2072312c0a2020202020206333203d207233202d2072312c0a2020202020206431203d207831202a207831202b207931202a207931202d207231202a2072312c0a2020202020206432203d206431202d207832202a207832202d207932202a207932202b207232202a2072322c0a2020202020206433203d206431202d207833202a207833202d207933202a207933202b207233202a2072332c0a2020202020206162203d206133202a206232202d206132202a2062332c0a2020202020207861203d20286232202a206433202d206233202a20643229202f20286162202a203229202d2078312c0a2020202020207862203d20286233202a206332202d206232202a20633329202f2061622c0a2020202020207961203d20286133202a206432202d206132202a20643329202f20286162202a203229202d2079312c0a2020202020207962203d20286132202a206333202d206133202a20633229202f2061622c0a20202020202041203d207862202a207862202b207962202a207962202d20312c0a20202020202042203d2032202a20287231202b207861202a207862202b207961202a207962292c0a20202020202043203d207861202a207861202b207961202a207961202d207231202a2072312c0a20202020202072203d202d2841203f202842202b204d6174682e737172742842202a2042202d2034202a2041202a20432929202f202832202a204129203a2043202f2042293b0a202072657475726e207b0a20202020783a207831202b207861202b207862202a20722c0a20202020793a207931202b207961202b207962202a20722c0a20202020723a20720a20207d3b0a7d0a0a66756e6374696f6e20706c61636528622c20612c206329207b0a2020766172206478203d20622e78202d20612e782c20782c2061322c0a2020202020206479203d20622e79202d20612e792c20792c2062322c0a2020202020206432203d206478202a206478202b206479202a2064793b0a202069662028643229207b0a202020206132203d20612e72202b20632e722c206132202a3d2061323b0a202020206232203d20622e72202b20632e722c206232202a3d2062323b0a20202020696620286132203e20623229207b0a20202020202078203d20286432202b206232202d20613229202f202832202a206432293b0a20202020202079203d204d6174682e73717274284d6174682e6d617828302c206232202f206432202d2078202a207829293b0a202020202020632e78203d20622e78202d2078202a206478202d2079202a2064793b0a202020202020632e79203d20622e79202d2078202a206479202b2079202a2064783b0a202020207d20656c7365207b0a20202020202078203d20286432202b206132202d20623229202f202832202a206432293b0a20202020202079203d204d6174682e73717274284d6174682e6d617828302c206132202f206432202d2078202a207829293b0a202020202020632e78203d20612e78202b2078202a206478202d2079202a2064793b0a202020202020632e79203d20612e79202b2078202a206479202b2079202a2064783b0a202020207d0a20207d20656c7365207b0a20202020632e78203d20612e78202b20632e723b0a20202020632e79203d20612e793b0a20207d0a7d0a0a66756e6374696f6e20696e746572736563747328612c206229207b0a2020766172206472203d20612e72202b20622e72202d2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e2073636f7265286e6f646529207b0a20207661722061203d206e6f64652e5f2c0a20202020202062203d206e6f64652e6e6578742e5f2c0a2020202020206162203d20612e72202b20622e722c0a2020202020206478203d2028612e78202a20622e72202b20622e78202a20612e7229202f2061622c0a2020202020206479203d2028612e79202a20622e72202b20622e79202a20612e7229202f2061623b0a202072657475726e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e204e6f6465243128636972636c6529207b0a2020746869732e5f203d20636972636c653b0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e70726576696f7573203d206e756c6c3b0a7d0a0a66756e6374696f6e207061636b456e636c6f736528636972636c657329207b0a20206966202821286e203d20636972636c65732e6c656e67746829292072657475726e20303b0a0a202076617220612c20622c20632c206e2c2061612c2063612c20692c206a2c206b2c20736a2c20736b3b0a0a20202f2f20506c6163652074686520666972737420636972636c652e0a202061203d20636972636c65735b305d2c20612e78203d20302c20612e79203d20303b0a20206966202821286e203e203129292072657475726e20612e723b0a0a20202f2f20506c61636520746865207365636f6e6420636972636c652e0a202062203d20636972636c65735b315d2c20612e78203d202d622e722c20622e78203d20612e722c20622e79203d20303b0a20206966202821286e203e203229292072657475726e20612e72202b20622e723b0a0a20202f2f20506c6163652074686520746869726420636972636c652e0a2020706c61636528622c20612c2063203d20636972636c65735b325d293b0a0a20202f2f20496e697469616c697a65207468652066726f6e742d636861696e207573696e672074686520666972737420746872656520636972636c657320612c206220616e6420632e0a202061203d206e6577204e6f646524312861292c2062203d206e6577204e6f646524312862292c2063203d206e6577204e6f646524312863293b0a2020612e6e657874203d20632e70726576696f7573203d20623b0a2020622e6e657874203d20612e70726576696f7573203d20633b0a2020632e6e657874203d20622e70726576696f7573203d20613b0a0a20202f2f20417474656d707420746f20706c61636520656163682072656d61696e696e6720636972636c65e280a60a20207061636b3a20666f72202869203d20333b2069203c206e3b202b2b6929207b0a20202020706c61636528612e5f2c20622e5f2c2063203d20636972636c65735b695d292c2063203d206e6577204e6f646524312863293b0a0a202020202f2f2046696e642074686520636c6f7365737420696e74657273656374696e6720636972636c65206f6e207468652066726f6e742d636861696e2c20696620616e792e0a202020202f2f20e2809c436c6f73656e657373e2809d2069732064657465726d696e6564206279206c696e6561722064697374616e636520616c6f6e67207468652066726f6e742d636861696e2e0a202020202f2f20e2809c4168656164e2809d206f7220e2809c626568696e64e2809d206973206c696b65776973652064657465726d696e6564206279206c696e6561722064697374616e63652e0a202020206a203d20622e6e6578742c206b203d20612e70726576696f75732c20736a203d20622e5f2e722c20736b203d20612e5f2e723b0a20202020646f207b0a20202020202069662028736a203c3d20736b29207b0a202020202020202069662028696e7465727365637473286a2e5f2c20632e5f2929207b0a2020202020202020202062203d206a2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736a202b3d206a2e5f2e722c206a203d206a2e6e6578743b0a2020202020207d20656c7365207b0a202020202020202069662028696e7465727365637473286b2e5f2c20632e5f2929207b0a2020202020202020202061203d206b2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736b202b3d206b2e5f2e722c206b203d206b2e70726576696f75733b0a2020202020207d0a202020207d207768696c6520286a20213d3d206b2e6e657874293b0a0a202020202f2f20537563636573732120496e7365727420746865206e657720636972636c652063206265747765656e206120616e6420622e0a20202020632e70726576696f7573203d20612c20632e6e657874203d20622c20612e6e657874203d20622e70726576696f7573203d2062203d20633b0a0a202020202f2f20436f6d7075746520746865206e657720636c6f7365737420636972636c65207061697220746f207468652063656e74726f69642e0a202020206161203d2073636f72652861293b0a202020207768696c6520282863203d20632e6e6578742920213d3d206229207b0a20202020202069662028286361203d2073636f726528632929203c20616129207b0a202020202020202061203d20632c206161203d2063613b0a2020202020207d0a202020207d0a2020202062203d20612e6e6578743b0a20207d0a0a20202f2f20436f6d707574652074686520656e636c6f73696e6720636972636c65206f66207468652066726f6e7420636861696e2e0a202061203d205b622e5f5d2c2063203d20623b207768696c6520282863203d20632e6e6578742920213d3d20622920612e7075736828632e5f293b2063203d20656e636c6f73652861293b0a0a20202f2f205472616e736c6174652074686520636972636c657320746f207075742074686520656e636c6f73696e6720636972636c652061726f756e6420746865206f726967696e2e0a2020666f72202869203d20303b2069203c206e3b202b2b69292061203d20636972636c65735b695d2c20612e78202d3d20632e782c20612e79202d3d20632e793b0a0a202072657475726e20632e723b0a7d0a0a66756e6374696f6e207369626c696e677328636972636c657329207b0a20207061636b456e636c6f736528636972636c6573293b0a202072657475726e20636972636c65733b0a7d0a0a66756e6374696f6e206f7074696f6e616c286629207b0a202072657475726e2066203d3d206e756c6c203f206e756c6c203a2072657175697265642866293b0a7d0a0a66756e6374696f6e207265717569726564286629207b0a202069662028747970656f66206620213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20663b0a7d0a0a66756e6374696f6e20636f6e7374616e745a65726f2829207b0a202072657475726e20303b0a7d0a0a66756e6374696f6e20636f6e7374616e742439287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e2064656661756c745261646975732431286429207b0a202072657475726e204d6174682e7371727428642e76616c7565293b0a7d0a0a66756e6374696f6e20696e64657824322829207b0a202076617220726164697573203d206e756c6c2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e207061636b28726f6f7429207b0a20202020726f6f742e78203d206478202f20322c20726f6f742e79203d206479202f20323b0a202020206966202872616469757329207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662872616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20302e3529290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64283129293b0a202020207d20656c7365207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662864656661756c74526164697573243129290a202020202020202020202e656163684166746572287061636b4368696c6472656e28636f6e7374616e745a65726f2c203129290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20726f6f742e72202f204d6174682e6d696e2864782c2064792929290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64284d6174682e6d696e2864782c20647929202f202832202a20726f6f742e722929293b0a202020207d0a2020202072657475726e20726f6f743b0a20207d0a0a20207061636b2e726164697573203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d206f7074696f6e616c2878292c207061636b29203a207261646975733b0a20207d3b0a0a20207061636b2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c207061636b29203a205b64782c2064795d3b0a20207d3b0a0a20207061636b2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c207061636b29203a2070616464696e673b0a20207d3b0a0a202072657475726e207061636b3b0a7d0a0a66756e6374696f6e207261646975734c6561662872616469757329207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e72203d204d6174682e6d617828302c202b726164697573286e6f646529207c7c2030293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061636b4368696c6472656e2870616464696e672c206b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a20202020696620286368696c6472656e203d206e6f64652e6368696c6472656e29207b0a202020202020766172206368696c6472656e2c0a20202020202020202020692c0a202020202020202020206e203d206368696c6472656e2e6c656e6774682c0a2020202020202020202072203d2070616464696e67286e6f646529202a206b207c7c20302c0a20202020202020202020653b0a0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202b3d20723b0a20202020202065203d207061636b456e636c6f7365286368696c6472656e293b0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202d3d20723b0a2020202020206e6f64652e72203d2065202b20723b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207472616e736c6174654368696c64286b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202076617220706172656e74203d206e6f64652e706172656e743b0a202020206e6f64652e72202a3d206b3b0a2020202069662028706172656e7429207b0a2020202020206e6f64652e78203d20706172656e742e78202b206b202a206e6f64652e783b0a2020202020206e6f64652e79203d20706172656e742e79202b206b202a206e6f64652e793b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20726f756e644e6f6465286e6f646529207b0a20206e6f64652e7830203d204d6174682e726f756e64286e6f64652e7830293b0a20206e6f64652e7930203d204d6174682e726f756e64286e6f64652e7930293b0a20206e6f64652e7831203d204d6174682e726f756e64286e6f64652e7831293b0a20206e6f64652e7931203d204d6174682e726f756e64286e6f64652e7931293b0a7d0a0a66756e6374696f6e20747265656d61704469636528706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287831202d20783029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7930203d2079302c206e6f64652e7931203d2079313b0a202020206e6f64652e7830203d2078302c206e6f64652e7831203d207830202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d0a0a66756e6374696f6e20706172746974696f6e2829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20302c0a202020202020726f756e64203d2066616c73653b0a0a202066756e6374696f6e20706172746974696f6e28726f6f7429207b0a20202020766172206e203d20726f6f742e686569676874202b20313b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d2070616464696e673b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d206479202f206e3b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f64652864792c206e29293b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f64652864792c206e29207b0a2020202072657475726e2066756e6374696f6e286e6f646529207b0a202020202020696620286e6f64652e6368696c6472656e29207b0a2020202020202020747265656d617044696365286e6f64652c206e6f64652e78302c206479202a20286e6f64652e6465707468202b203129202f206e2c206e6f64652e78312c206479202a20286e6f64652e6465707468202b203229202f206e293b0a2020202020207d0a202020202020766172207830203d206e6f64652e78302c0a202020202020202020207930203d206e6f64652e79302c0a202020202020202020207831203d206e6f64652e7831202d2070616464696e672c0a202020202020202020207931203d206e6f64652e7931202d2070616464696e673b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a2020202020206e6f64652e7830203d2078303b0a2020202020206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078313b0a2020202020206e6f64652e7931203d2079313b0a202020207d3b0a20207d0a0a2020706172746974696f6e2e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20706172746974696f6e29203a20726f756e643b0a20207d3b0a0a2020706172746974696f6e2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20706172746974696f6e29203a205b64782c2064795d3b0a20207d3b0a0a2020706172746974696f6e2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d202b782c20706172746974696f6e29203a2070616464696e673b0a20207d3b0a0a202072657475726e20706172746974696f6e3b0a7d0a0a766172206b65795072656669782431203d202224222c202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a20202020707265726f6f74203d207b64657074683a202d317d2c0a20202020616d626967756f7573203d207b7d3b0a0a66756e6374696f6e2064656661756c744964286429207b0a202072657475726e20642e69643b0a7d0a0a66756e6374696f6e2064656661756c74506172656e744964286429207b0a202072657475726e20642e706172656e7449643b0a7d0a0a66756e6374696f6e2073747261746966792829207b0a2020766172206964203d2064656661756c7449642c0a202020202020706172656e744964203d2064656661756c74506172656e7449643b0a0a202066756e6374696f6e207374726174696679286461746129207b0a2020202076617220642c0a2020202020202020692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020726f6f742c0a2020202020202020706172656e742c0a20202020202020206e6f64652c0a20202020202020206e6f646573203d206e6577204172726179286e292c0a20202020202020206e6f646549642c0a20202020202020206e6f64654b65792c0a20202020202020206e6f646542794b6579203d207b7d3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202064203d20646174615b695d2c206e6f6465203d206e6f6465735b695d203d206e6577204e6f64652864293b0a20202020202069662028286e6f64654964203d20696428642c20692c2064617461292920213d206e756c6c20262620286e6f64654964202b3d2022222929207b0a20202020202020206e6f64654b6579203d206b65795072656669782431202b20286e6f64652e6964203d206e6f64654964293b0a20202020202020206e6f646542794b65795b6e6f64654b65795d203d206e6f64654b657920696e206e6f646542794b6579203f20616d626967756f7573203a206e6f64653b0a2020202020207d0a202020207d0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64654964203d20706172656e74496428646174615b695d2c20692c2064617461293b0a202020202020696620286e6f64654964203d3d206e756c6c207c7c2021286e6f64654964202b3d2022222929207b0a202020202020202069662028726f6f7429207468726f77206e6577204572726f7228226d756c7469706c6520726f6f747322293b0a2020202020202020726f6f74203d206e6f64653b0a2020202020207d20656c7365207b0a2020202020202020706172656e74203d206e6f646542794b65795b6b65795072656669782431202b206e6f646549645d3b0a20202020202020206966202821706172656e7429207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202020202020202069662028706172656e74203d3d3d20616d626967756f757329207468726f77206e6577204572726f722822616d626967756f75733a2022202b206e6f64654964293b0a202020202020202069662028706172656e742e6368696c6472656e2920706172656e742e6368696c6472656e2e70757368286e6f6465293b0a2020202020202020656c736520706172656e742e6368696c6472656e203d205b6e6f64655d3b0a20202020202020206e6f64652e706172656e74203d20706172656e743b0a2020202020207d0a202020207d0a0a202020206966202821726f6f7429207468726f77206e6577204572726f7228226e6f20726f6f7422293b0a20202020726f6f742e706172656e74203d20707265726f6f743b0a20202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b206e6f64652e6465707468203d206e6f64652e706172656e742e6465707468202b20313b202d2d6e3b207d292e656163684265666f726528636f6d70757465486569676874293b0a20202020726f6f742e706172656e74203d206e756c6c3b0a20202020696620286e203e203029207468726f77206e6577204572726f7228226379636c6522293b0a0a2020202072657475726e20726f6f743b0a20207d0a0a202073747261746966792e6964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d2072657175697265642878292c20737472617469667929203a2069643b0a20207d3b0a0a202073747261746966792e706172656e744964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706172656e744964203d2072657175697265642878292c20737472617469667929203a20706172656e7449643b0a20207d3b0a0a202072657475726e2073747261746966793b0a7d0a0a66756e6374696f6e2064656661756c7453657061726174696f6e243128612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a2f2f2066756e6374696f6e2072616469616c53657061726174696f6e28612c206229207b0a2f2f20202072657475726e2028612e706172656e74203d3d3d20622e706172656e74203f2031203a203229202f20612e64657074683b0a2f2f207d0a0a2f2f20546869732066756e6374696f6e206973207573656420746f20747261766572736520746865206c65667420636f6e746f7572206f662061207375627472656520286f720a2f2f20737562666f72657374292e2049742072657475726e732074686520737563636573736f72206f662076206f6e207468697320636f6e746f75722e205468697320737563636573736f722069730a2f2f2065697468657220676976656e20627920746865206c6566746d6f7374206368696c64206f662076206f722062792074686520746872656164206f6620762e205468652066756e6374696f6e0a2f2f2072657475726e73206e756c6c20696620616e64206f6e6c792069662076206973206f6e207468652068696768657374206c6576656c206f662069747320737562747265652e0a66756e6374696f6e206e6578744c656674287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b305d203a20762e743b0a7d0a0a2f2f20546869732066756e6374696f6e20776f726b7320616e616c6f676f75736c7920746f206e6578744c6566742e0a66756e6374696f6e206e6578745269676874287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d203a20762e743b0a7d0a0a2f2f20536869667473207468652063757272656e74207375627472656520726f6f74656420617420772b2e205468697320697320646f6e6520627920696e6372656173696e670a2f2f207072656c696d28772b2920616e64206d6f6428772b292062792073686966742e0a66756e6374696f6e206d6f76655375627472656528776d2c2077702c20736869667429207b0a2020766172206368616e6765203d207368696674202f202877702e69202d20776d2e69293b0a202077702e63202d3d206368616e67653b0a202077702e73202b3d2073686966743b0a2020776d2e63202b3d206368616e67653b0a202077702e7a202b3d2073686966743b0a202077702e6d202b3d2073686966743b0a7d0a0a2f2f20416c6c206f74686572207368696674732c206170706c69656420746f2074686520736d616c6c6572207375627472656573206265747765656e20772d20616e6420772b2c206172650a2f2f20706572666f726d656420627920746869732066756e6374696f6e2e20546f207072657061726520746865207368696674732c207765206861766520746f2061646a7573740a2f2f206368616e676528772b292c20736869667428772b292c20616e64206368616e676528772d292e0a66756e6374696f6e2065786563757465536869667473287629207b0a2020766172207368696674203d20302c0a2020202020206368616e6765203d20302c0a2020202020206368696c6472656e203d20762e6368696c6472656e2c0a20202020202069203d206368696c6472656e2e6c656e6774682c0a202020202020773b0a20207768696c6520282d2d69203e3d203029207b0a2020202077203d206368696c6472656e5b695d3b0a20202020772e7a202b3d2073686966743b0a20202020772e6d202b3d2073686966743b0a202020207368696674202b3d20772e73202b20286368616e6765202b3d20772e63293b0a20207d0a7d0a0a2f2f2049662076692de280997320616e636573746f722069732061207369626c696e67206f6620762c2072657475726e732076692de280997320616e636573746f722e204f74686572776973652c0a2f2f2072657475726e732074686520737065636966696564202864656661756c742920616e636573746f722e0a66756e6374696f6e206e657874416e636573746f722876696d2c20762c20616e636573746f7229207b0a202072657475726e2076696d2e612e706172656e74203d3d3d20762e706172656e74203f2076696d2e61203a20616e636573746f723b0a7d0a0a66756e6374696f6e20547265654e6f6465286e6f64652c206929207b0a2020746869732e5f203d206e6f64653b0a2020746869732e706172656e74203d206e756c6c3b0a2020746869732e6368696c6472656e203d206e756c6c3b0a2020746869732e41203d206e756c6c3b202f2f2064656661756c7420616e636573746f720a2020746869732e61203d20746869733b202f2f20616e636573746f720a2020746869732e7a203d20303b202f2f207072656c696d0a2020746869732e6d203d20303b202f2f206d6f640a2020746869732e63203d20303b202f2f206368616e67650a2020746869732e73203d20303b202f2f2073686966740a2020746869732e74203d206e756c6c3b202f2f207468726561640a2020746869732e69203d20693b202f2f206e756d6265720a7d0a0a547265654e6f64652e70726f746f74797065203d204f626a6563742e637265617465284e6f64652e70726f746f74797065293b0a0a66756e6374696f6e2074726565526f6f7428726f6f7429207b0a20207661722074726565203d206e657720547265654e6f646528726f6f742c2030292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b747265655d2c0a2020202020206368696c642c0a2020202020206368696c6472656e2c0a202020202020692c0a2020202020206e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020696620286368696c6472656e203d206e6f64652e5f2e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e203d206368696c6472656e2e6c656e677468293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e657720547265654e6f6465286368696c6472656e5b695d2c206929293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202028747265652e706172656e74203d206e657720547265654e6f6465286e756c6c2c203029292e6368696c6472656e203d205b747265655d3b0a202072657475726e20747265653b0a7d0a0a2f2f204e6f64652d6c696e6b2074726565206469616772616d207573696e6720746865205265696e676f6c642d54696c666f72642022746964792220616c676f726974686d0a66756e6374696f6e20747265652829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e24312c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d206e756c6c3b0a0a202066756e6374696f6e207472656528726f6f7429207b0a202020207661722074203d2074726565526f6f7428726f6f74293b0a0a202020202f2f20436f6d7075746520746865206c61796f7574207573696e6720427563686865696d20657420616c2ee280997320616c676f726974686d2e0a20202020742e65616368416674657228666972737457616c6b292c20742e706172656e742e6d203d202d742e7a3b0a20202020742e656163684265666f7265287365636f6e6457616c6b293b0a0a202020202f2f2049662061206669786564206e6f64652073697a65206973207370656369666965642c207363616c65207820616e6420792e0a20202020696620286e6f646553697a652920726f6f742e656163684265666f72652873697a654e6f6465293b0a0a202020202f2f204966206120666978656420747265652073697a65206973207370656369666965642c207363616c65207820616e642079206261736564206f6e2074686520657874656e742e0a202020202f2f20436f6d7075746520746865206c6566742d6d6f73742c2072696768742d6d6f73742c20616e642064657074682d6d6f7374206e6f64657320666f7220657874656e74732e0a20202020656c7365207b0a202020202020766172206c656674203d20726f6f742c0a202020202020202020207269676874203d20726f6f742c0a20202020202020202020626f74746f6d203d20726f6f743b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202020202020696620286e6f64652e78203c206c6566742e7829206c656674203d206e6f64653b0a2020202020202020696620286e6f64652e78203e2072696768742e7829207269676874203d206e6f64653b0a2020202020202020696620286e6f64652e6465707468203e20626f74746f6d2e64657074682920626f74746f6d203d206e6f64653b0a2020202020207d293b0a2020202020207661722073203d206c656674203d3d3d207269676874203f2031203a2073657061726174696f6e286c6566742c20726967687429202f20322c0a202020202020202020207478203d2073202d206c6566742e782c0a202020202020202020206b78203d206478202f202872696768742e78202b2073202b207478292c0a202020202020202020206b79203d206479202f2028626f74746f6d2e6465707468207c7c2031293b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020202020206e6f64652e78203d20286e6f64652e78202b20747829202a206b783b0a20202020202020206e6f64652e79203d206e6f64652e6465707468202a206b793b0a2020202020207d293b0a202020207d0a0a2020202072657475726e20726f6f743b0a20207d0a0a20202f2f20436f6d70757465732061207072656c696d696e61727920782d636f6f7264696e61746520666f7220762e204265666f726520746861742c2046495253542057414c4b2069730a20202f2f206170706c696564207265637572736976656c7920746f20746865206368696c6472656e206f6620762c2061732077656c6c206173207468652066756e6374696f6e0a20202f2f204150504f5254494f4e2e2041667465722073706163696e67206f757420746865206368696c6472656e2062792063616c6c696e672045584543555445205348494654532c207468650a20202f2f206e6f6465207620697320706c6163656420746f20746865206d6964706f696e74206f6620697473206f757465726d6f7374206368696c6472656e2e0a202066756e6374696f6e20666972737457616c6b287629207b0a20202020766172206368696c6472656e203d20762e6368696c6472656e2c0a20202020202020207369626c696e6773203d20762e706172656e742e6368696c6472656e2c0a202020202020202077203d20762e69203f207369626c696e67735b762e69202d20315d203a206e756c6c3b0a20202020696620286368696c6472656e29207b0a202020202020657865637574655368696674732876293b0a202020202020766172206d6964706f696e74203d20286368696c6472656e5b305d2e7a202b206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d2e7a29202f20323b0a202020202020696620287729207b0a2020202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a2020202020202020762e6d203d20762e7a202d206d6964706f696e743b0a2020202020207d20656c7365207b0a2020202020202020762e7a203d206d6964706f696e743b0a2020202020207d0a202020207d20656c736520696620287729207b0a202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a202020207d0a20202020762e706172656e742e41203d206170706f7274696f6e28762c20772c20762e706172656e742e41207c7c207369626c696e67735b305d293b0a20207d0a0a20202f2f20436f6d707574657320616c6c207265616c20782d636f6f7264696e617465732062792073756d6d696e6720757020746865206d6f64696669657273207265637572736976656c792e0a202066756e6374696f6e207365636f6e6457616c6b287629207b0a20202020762e5f2e78203d20762e7a202b20762e706172656e742e6d3b0a20202020762e6d202b3d20762e706172656e742e6d3b0a20207d0a0a20202f2f2054686520636f7265206f662074686520616c676f726974686d2e20486572652c2061206e6577207375627472656520697320636f6d62696e65642077697468207468650a20202f2f2070726576696f75732073756274726565732e205468726561647320617265207573656420746f2074726176657273652074686520696e7369646520616e64206f7574736964650a20202f2f20636f6e746f757273206f6620746865206c65667420616e64207269676874207375627472656520757020746f20746865206869676865737420636f6d6d6f6e206c6576656c2e205468650a20202f2f207665727469636573207573656420666f72207468652074726176657273616c73206172652076692b2c2076692d2c20766f2d2c20616e6420766f2b2c207768657265207468650a20202f2f207375706572736372697074206f206d65616e73206f75747369646520616e642069206d65616e7320696e736964652c2074686520737562736372697074202d206d65616e73206c6566740a20202f2f207375627472656520616e64202b206d65616e7320726967687420737562747265652e20466f722073756d6d696e6720757020746865206d6f6469666965727320616c6f6e67207468650a20202f2f20636f6e746f75722c207765207573652072657370656374697665207661726961626c65732073692b2c2073692d2c20736f2d2c20616e6420736f2b2e205768656e657665722074776f0a20202f2f206e6f646573206f662074686520696e7369646520636f6e746f75727320636f6e666c6963742c20776520636f6d7075746520746865206c656674206f6e65206f66207468650a20202f2f20677265617465737420756e636f6d6d6f6e20616e636573746f7273207573696e67207468652066756e6374696f6e20414e434553544f5220616e642063616c6c204d4f56450a20202f2f205355425452454520746f20736869667420746865207375627472656520616e6420707265706172652074686520736869667473206f6620736d616c6c65722073756274726565732e0a20202f2f2046696e616c6c792c207765206164642061206e65772074687265616420286966206e6563657373617279292e0a202066756e6374696f6e206170706f7274696f6e28762c20772c20616e636573746f7229207b0a20202020696620287729207b0a20202020202076617220766970203d20762c0a20202020202020202020766f70203d20762c0a2020202020202020202076696d203d20772c0a20202020202020202020766f6d203d207669702e706172656e742e6368696c6472656e5b305d2c0a20202020202020202020736970203d207669702e6d2c0a20202020202020202020736f70203d20766f702e6d2c0a2020202020202020202073696d203d2076696d2e6d2c0a20202020202020202020736f6d203d20766f6d2e6d2c0a2020202020202020202073686966743b0a2020202020207768696c65202876696d203d206e65787452696768742876696d292c20766970203d206e6578744c65667428766970292c2076696d2026262076697029207b0a2020202020202020766f6d203d206e6578744c65667428766f6d293b0a2020202020202020766f70203d206e657874526967687428766f70293b0a2020202020202020766f702e61203d20763b0a20202020202020207368696674203d2076696d2e7a202b2073696d202d207669702e7a202d20736970202b2073657061726174696f6e2876696d2e5f2c207669702e5f293b0a2020202020202020696620287368696674203e203029207b0a202020202020202020206d6f766553756274726565286e657874416e636573746f722876696d2c20762c20616e636573746f72292c20762c207368696674293b0a20202020202020202020736970202b3d2073686966743b0a20202020202020202020736f70202b3d2073686966743b0a20202020202020207d0a202020202020202073696d202b3d2076696d2e6d3b0a2020202020202020736970202b3d207669702e6d3b0a2020202020202020736f6d202b3d20766f6d2e6d3b0a2020202020202020736f70202b3d20766f702e6d3b0a2020202020207d0a2020202020206966202876696d20262620216e657874526967687428766f702929207b0a2020202020202020766f702e74203d2076696d3b0a2020202020202020766f702e6d202b3d2073696d202d20736f703b0a2020202020207d0a2020202020206966202876697020262620216e6578744c65667428766f6d2929207b0a2020202020202020766f6d2e74203d207669703b0a2020202020202020766f6d2e6d202b3d20736970202d20736f6d3b0a2020202020202020616e636573746f72203d20763b0a2020202020207d0a202020207d0a2020202072657475726e20616e636573746f723b0a20207d0a0a202066756e6374696f6e2073697a654e6f6465286e6f646529207b0a202020206e6f64652e78202a3d2064783b0a202020206e6f64652e79203d206e6f64652e6465707468202a2064793b0a20207d0a0a2020747265652e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c207472656529203a2073657061726174696f6e3b0a20207d3b0a0a2020747265652e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020747265652e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20747265653b0a7d0a0a66756e6374696f6e20747265656d6170536c69636528706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287931202d20793029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7830203d2078302c206e6f64652e7831203d2078313b0a202020206e6f64652e7930203d2079302c206e6f64652e7931203d207930202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d0a0a76617220706869203d202831202b204d6174682e7371727428352929202f20323b0a0a66756e6374696f6e207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c20793129207b0a202076617220726f7773203d205b5d2c0a2020202020206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020726f772c0a2020202020206e6f646556616c75652c0a2020202020206930203d20302c0a2020202020206931203d20302c0a2020202020206e203d206e6f6465732e6c656e6774682c0a20202020202064782c2064792c0a20202020202076616c7565203d20706172656e742e76616c75652c0a20202020202073756d56616c75652c0a2020202020206d696e56616c75652c0a2020202020206d617856616c75652c0a2020202020206e6577526174696f2c0a2020202020206d696e526174696f2c0a202020202020616c7068612c0a202020202020626574613b0a0a20207768696c6520286930203c206e29207b0a202020206478203d207831202d2078302c206479203d207931202d2079303b0a0a202020202f2f2046696e6420746865206e657874206e6f6e2d656d707479206e6f64652e0a20202020646f2073756d56616c7565203d206e6f6465735b69312b2b5d2e76616c75653b207768696c6520282173756d56616c7565202626206931203c206e293b0a202020206d696e56616c7565203d206d617856616c7565203d2073756d56616c75653b0a20202020616c706861203d204d6174682e6d6178286479202f2064782c206478202f20647929202f202876616c7565202a20726174696f293b0a2020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a202020206d696e526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a0a202020202f2f204b65657020616464696e67206e6f646573207768696c65207468652061737065637420726174696f206d61696e7461696e73206f7220696d70726f7665732e0a20202020666f7220283b206931203c206e3b202b2b693129207b0a20202020202073756d56616c7565202b3d206e6f646556616c7565203d206e6f6465735b69315d2e76616c75653b0a202020202020696620286e6f646556616c7565203c206d696e56616c756529206d696e56616c7565203d206e6f646556616c75653b0a202020202020696620286e6f646556616c7565203e206d617856616c756529206d617856616c7565203d206e6f646556616c75653b0a20202020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a2020202020206e6577526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a202020202020696620286e6577526174696f203e206d696e526174696f29207b2073756d56616c7565202d3d206e6f646556616c75653b20627265616b3b207d0a2020202020206d696e526174696f203d206e6577526174696f3b0a202020207d0a0a202020202f2f20506f736974696f6e20616e64207265636f72642074686520726f77206f7269656e746174696f6e2e0a20202020726f77732e7075736828726f77203d207b76616c75653a2073756d56616c75652c20646963653a206478203c2064792c206368696c6472656e3a206e6f6465732e736c6963652869302c206931297d293b0a2020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c2076616c7565203f207930202b3d206479202a2073756d56616c7565202f2076616c7565203a207931293b0a20202020656c736520747265656d6170536c69636528726f772c2078302c2079302c2076616c7565203f207830202b3d206478202a2073756d56616c7565202f2076616c7565203a2078312c207931293b0a2020202076616c7565202d3d2073756d56616c75652c206930203d2069313b0a20207d0a0a202072657475726e20726f77733b0a7d0a0a766172207371756172696679203d202866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e20737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a20207d0a0a202073717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e2073717561726966793b0a7d2928706869293b0a0a66756e6374696f6e20696e64657824332829207b0a20207661722074696c65203d2073717561726966792c0a202020202020726f756e64203d2066616c73652c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67537461636b203d205b305d2c0a20202020202070616464696e67496e6e6572203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67546f70203d20636f6e7374616e745a65726f2c0a20202020202070616464696e675269676874203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67426f74746f6d203d20636f6e7374616e745a65726f2c0a20202020202070616464696e674c656674203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e20747265656d617028726f6f7429207b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d20303b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d2064793b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f6465293b0a2020202070616464696e67537461636b203d205b305d3b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f6465286e6f646529207b0a202020207661722070203d2070616464696e67537461636b5b6e6f64652e64657074685d2c0a20202020202020207830203d206e6f64652e7830202b20702c0a20202020202020207930203d206e6f64652e7930202b20702c0a20202020202020207831203d206e6f64652e7831202d20702c0a20202020202020207931203d206e6f64652e7931202d20703b0a20202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a20202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a202020206e6f64652e7830203d2078303b0a202020206e6f64652e7930203d2079303b0a202020206e6f64652e7831203d2078313b0a202020206e6f64652e7931203d2079313b0a20202020696620286e6f64652e6368696c6472656e29207b0a20202020202070203d2070616464696e67537461636b5b6e6f64652e6465707468202b20315d203d2070616464696e67496e6e6572286e6f646529202f20323b0a2020202020207830202b3d2070616464696e674c656674286e6f646529202d20703b0a2020202020207930202b3d2070616464696e67546f70286e6f646529202d20703b0a2020202020207831202d3d2070616464696e675269676874286e6f646529202d20703b0a2020202020207931202d3d2070616464696e67426f74746f6d286e6f646529202d20703b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a20202020202074696c65286e6f64652c2078302c2079302c2078312c207931293b0a202020207d0a20207d0a0a2020747265656d61702e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20747265656d617029203a20726f756e643b0a20207d3b0a0a2020747265656d61702e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20747265656d617029203a205b64782c2064795d3b0a20207d3b0a0a2020747265656d61702e74696c65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874696c65203d2072657175697265642878292c20747265656d617029203a2074696c653b0a20207d3b0a0a2020747265656d61702e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67496e6e65722878292e70616464696e674f75746572287829203a20747265656d61702e70616464696e67496e6e657228293b0a20207d3b0a0a2020747265656d61702e70616464696e67496e6e6572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67496e6e65723b0a20207d3b0a0a2020747265656d61702e70616464696e674f75746572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67546f702878292e70616464696e6752696768742878292e70616464696e67426f74746f6d2878292e70616464696e674c656674287829203a20747265656d61702e70616464696e67546f7028293b0a20207d3b0a0a2020747265656d61702e70616464696e67546f70203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67546f70203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67546f703b0a20207d3b0a0a2020747265656d61702e70616464696e675269676874203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e675269676874203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e6752696768743b0a20207d3b0a0a2020747265656d61702e70616464696e67426f74746f6d203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67426f74746f6d203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e67426f74746f6d3b0a20207d3b0a0a2020747265656d61702e70616464696e674c656674203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674c656674203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e742439282b78292c20747265656d617029203a2070616464696e674c6566743b0a20207d3b0a0a202072657475726e20747265656d61703b0a7d0a0a66756e6374696f6e2062696e61727928706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020692c206e203d206e6f6465732e6c656e6774682c0a20202020202073756d2c2073756d73203d206e6577204172726179286e202b2031293b0a0a2020666f72202873756d735b305d203d2073756d203d2069203d20303b2069203c206e3b202b2b6929207b0a2020202073756d735b69202b20315d203d2073756d202b3d206e6f6465735b695d2e76616c75653b0a20207d0a0a2020706172746974696f6e28302c206e2c20706172656e742e76616c75652c2078302c2079302c2078312c207931293b0a0a202066756e6374696f6e20706172746974696f6e28692c206a2c2076616c75652c2078302c2079302c2078312c20793129207b0a202020206966202869203e3d206a202d203129207b0a202020202020766172206e6f6465203d206e6f6465735b695d3b0a2020202020206e6f64652e7830203d2078302c206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078312c206e6f64652e7931203d2079313b0a20202020202072657475726e3b0a202020207d0a0a202020207661722076616c75654f6666736574203d2073756d735b695d2c0a202020202020202076616c7565546172676574203d202876616c7565202f203229202b2076616c75654f66667365742c0a20202020202020206b203d2069202b20312c0a20202020202020206869203d206a202d20313b0a0a202020207768696c6520286b203c20686929207b0a202020202020766172206d6964203d206b202b206869203e3e3e20313b0a2020202020206966202873756d735b6d69645d203c2076616c756554617267657429206b203d206d6964202b20313b0a202020202020656c7365206869203d206d69643b0a202020207d0a0a20202020696620282876616c7565546172676574202d2073756d735b6b202d20315d29203c202873756d735b6b5d202d2076616c7565546172676574292026262069202b2031203c206b29202d2d6b3b0a0a202020207661722076616c75654c656674203d2073756d735b6b5d202d2076616c75654f66667365742c0a202020202020202076616c75655269676874203d2076616c7565202d2076616c75654c6566743b0a0a2020202069662028287831202d20783029203e20287931202d2079302929207b0a20202020202076617220786b203d20287830202a2076616c75655269676874202b207831202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c20786b2c207931293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c20786b2c2079302c2078312c207931293b0a202020207d20656c7365207b0a20202020202076617220796b203d20287930202a2076616c75655269676874202b207931202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c2078312c20796b293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c2078302c20796b2c2078312c207931293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20736c6963654469636528706172656e742c2078302c2079302c2078312c20793129207b0a202028706172656e742e646570746820262031203f20747265656d6170536c696365203a20747265656d6170446963652928706172656e742c2078302c2079302c2078312c207931293b0a7d0a0a7661722072657371756172696679203d202866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e207265737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020206966202828726f7773203d20706172656e742e5f7371756172696679292026262028726f77732e726174696f203d3d3d20726174696f2929207b0a20202020202076617220726f77732c0a20202020202020202020726f772c0a202020202020202020206e6f6465732c0a20202020202020202020692c0a202020202020202020206a203d202d312c0a202020202020202020206e2c0a202020202020202020206d203d20726f77732e6c656e6774682c0a2020202020202020202076616c7565203d20706172656e742e76616c75653b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a2020202020202020726f77203d20726f77735b6a5d2c206e6f646573203d20726f772e6368696c6472656e3b0a2020202020202020666f72202869203d20726f772e76616c7565203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b692920726f772e76616c7565202b3d206e6f6465735b695d2e76616c75653b0a202020202020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c207930202b3d20287931202d20793029202a20726f772e76616c7565202f2076616c7565293b0a2020202020202020656c736520747265656d6170536c69636528726f772c2078302c2079302c207830202b3d20287831202d20783029202a20726f772e76616c7565202f2076616c75652c207931293b0a202020202020202076616c7565202d3d20726f772e76616c75653b0a2020202020207d0a202020207d20656c7365207b0a202020202020706172656e742e5f7371756172696679203d20726f7773203d207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a202020202020726f77732e726174696f203d20726174696f3b0a202020207d0a20207d0a0a2020726573717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e20726573717561726966793b0a7d2928706869293b0a0a66756e6374696f6e2061726561243228706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202061726561203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a2020202061726561202b3d20615b315d202a20625b305d202d20615b305d202a20625b315d3b0a20207d0a0a202072657475726e2061726561202f20323b0a7d0a0a66756e6374696f6e2063656e74726f6964243128706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202078203d20302c0a20202020202079203d20302c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a202020202020632c0a2020202020206b203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020206b202b3d2063203d20615b305d202a20625b315d202d20625b305d202a20615b315d3b0a2020202078202b3d2028615b305d202b20625b305d29202a20633b0a2020202079202b3d2028615b315d202b20625b315d29202a20633b0a20207d0a0a202072657475726e206b202a3d20332c205b78202f206b2c2079202f206b5d3b0a7d0a0a2f2f2052657475726e73207468652032442063726f73732070726f64756374206f6620414220616e6420414320766563746f72732c20692e652e2c20746865207a2d636f6d706f6e656e74206f660a2f2f207468652033442063726f73732070726f6475637420696e2061207175616472616e7420492043617274657369616e20636f6f7264696e6174652073797374656d20282b782069730a2f2f2072696768742c202b79206973207570292e2052657475726e73206120706f7369746976652076616c75652069662041424320697320636f756e7465722d636c6f636b776973652c0a2f2f206e6567617469766520696620636c6f636b776973652c20616e64207a65726f2069662074686520706f696e74732061726520636f6c6c696e6561722e0a66756e6374696f6e2063726f7373243128612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29202d2028625b315d202d20615b315d29202a2028635b305d202d20615b305d293b0a7d0a0a66756e6374696f6e206c657869636f677261706869634f7264657228612c206229207b0a202072657475726e20615b305d202d20625b305d207c7c20615b315d202d20625b315d3b0a7d0a0a2f2f20436f6d70757465732074686520757070657220636f6e7665782068756c6c2070657220746865206d6f6e6f746f6e6520636861696e20616c676f726974686d2e0a2f2f20417373756d657320706f696e74732e6c656e677468203e3d20332c20697320736f7274656420627920782c20756e6971756520696e20792e0a2f2f2052657475726e7320616e206172726179206f6620696e646963657320696e746f20706f696e747320696e206c6566742d746f2d7269676874206f726465722e0a66756e6374696f6e20636f6d70757465557070657248756c6c496e646578657328706f696e747329207b0a2020766172206e203d20706f696e74732e6c656e6774682c0a202020202020696e6465786573203d205b302c20315d2c0a20202020202073697a65203d20323b0a0a2020666f7220287661722069203d20323b2069203c206e3b202b2b6929207b0a202020207768696c65202873697a65203e20312026262063726f7373243128706f696e74735b696e64657865735b73697a65202d20325d5d2c20706f696e74735b696e64657865735b73697a65202d20315d5d2c20706f696e74735b695d29203c3d203029202d2d73697a653b0a20202020696e64657865735b73697a652b2b5d203d20693b0a20207d0a0a202072657475726e20696e64657865732e736c69636528302c2073697a65293b202f2f2072656d6f766520706f7070656420706f696e74730a7d0a0a66756e6374696f6e2068756c6c28706f696e747329207b0a202069662028286e203d20706f696e74732e6c656e67746829203c2033292072657475726e206e756c6c3b0a0a202076617220692c0a2020202020206e2c0a202020202020736f72746564506f696e7473203d206e6577204172726179286e292c0a202020202020666c6970706564506f696e7473203d206e6577204172726179286e293b0a0a2020666f72202869203d20303b2069203c206e3b202b2b692920736f72746564506f696e74735b695d203d205b2b706f696e74735b695d5b305d2c202b706f696e74735b695d5b315d2c20695d3b0a2020736f72746564506f696e74732e736f7274286c657869636f677261706869634f72646572293b0a2020666f72202869203d20303b2069203c206e3b202b2b692920666c6970706564506f696e74735b695d203d205b736f72746564506f696e74735b695d5b305d2c202d736f72746564506f696e74735b695d5b315d5d3b0a0a2020766172207570706572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328736f72746564506f696e7473292c0a2020202020206c6f776572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328666c6970706564506f696e7473293b0a0a20202f2f20436f6e737472756374207468652068756c6c20706f6c79676f6e2c2072656d6f76696e6720706f737369626c65206475706c696361746520656e64706f696e74732e0a202076617220736b69704c656674203d206c6f776572496e64657865735b305d203d3d3d207570706572496e64657865735b305d2c0a202020202020736b69705269676874203d206c6f776572496e64657865735b6c6f776572496e64657865732e6c656e677468202d20315d203d3d3d207570706572496e64657865735b7570706572496e64657865732e6c656e677468202d20315d2c0a20202020202068756c6c203d205b5d3b0a0a20202f2f204164642075707065722068756c6c20696e2072696768742d746f2d6c206f726465722e0a20202f2f205468656e20616464206c6f7765722068756c6c20696e206c6566742d746f2d7269676874206f726465722e0a2020666f72202869203d207570706572496e64657865732e6c656e677468202d20313b2069203e3d20303b202d2d69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b7570706572496e64657865735b695d5d5b325d5d293b0a2020666f72202869203d202b736b69704c6566743b2069203c206c6f776572496e64657865732e6c656e677468202d20736b697052696768743b202b2b69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b6c6f776572496e64657865735b695d5d5b325d5d293b0a0a202072657475726e2068756c6c3b0a7d0a0a66756e6374696f6e20636f6e7461696e73243228706f6c79676f6e2c20706f696e7429207b0a2020766172206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202070203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078203d20706f696e745b305d2c2079203d20706f696e745b315d2c0a2020202020207830203d20705b305d2c207930203d20705b315d2c0a20202020202078312c2079312c0a202020202020696e73696465203d2066616c73653b0a0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a2020202070203d20706f6c79676f6e5b695d2c207831203d20705b305d2c207931203d20705b315d3b0a202020206966202828287931203e20792920213d3d20287930203e20792929202626202878203c20287830202d20783129202a202879202d20793129202f20287930202d20793129202b207831292920696e73696465203d2021696e736964653b0a202020207830203d2078312c207930203d2079313b0a20207d0a0a202072657475726e20696e736964653b0a7d0a0a66756e6374696f6e206c656e677468243228706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078612c0a20202020202079612c0a2020202020207862203d20625b305d2c0a2020202020207962203d20625b315d2c0a202020202020706572696d65746572203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a202020207861203d2078623b0a202020207961203d2079623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020207862203d20625b305d3b0a202020207962203d20625b315d3b0a202020207861202d3d2078623b0a202020207961202d3d2079623b0a20202020706572696d65746572202b3d204d6174682e73717274287861202a207861202b207961202a207961293b0a20207d0a0a202072657475726e20706572696d657465723b0a7d0a0a66756e6374696f6e2064656661756c74536f7572636524312829207b0a202072657475726e204d6174682e72616e646f6d28293b0a7d0a0a76617220756e69666f726d203d202866756e6374696f6e20736f7572636552616e646f6d556e69666f726d28736f7572636529207b0a202066756e6374696f6e2072616e646f6d556e69666f726d286d696e2c206d617829207b0a202020206d696e203d206d696e203d3d206e756c6c203f2030203a202b6d696e3b0a202020206d6178203d206d6178203d3d206e756c6c203f2031203a202b6d61783b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203129206d6178203d206d696e2c206d696e203d20303b0a20202020656c7365206d6178202d3d206d696e3b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e20736f757263652829202a206d6178202b206d696e3b0a202020207d3b0a20207d0a0a202072616e646f6d556e69666f726d2e736f75726365203d20736f7572636552616e646f6d556e69666f726d3b0a0a202072657475726e2072616e646f6d556e69666f726d3b0a7d292864656661756c74536f757263652431293b0a0a766172206e6f726d616c203d202866756e6374696f6e20736f7572636552616e646f6d4e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4e6f726d616c286d752c207369676d6129207b0a2020202076617220782c20723b0a202020206d75203d206d75203d3d206e756c6c203f2030203a202b6d753b0a202020207369676d61203d207369676d61203d3d206e756c6c203f2031203a202b7369676d613b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202076617220793b0a0a2020202020202f2f20496620617661696c61626c652c2075736520746865207365636f6e642070726576696f75736c792d67656e65726174656420756e69666f726d2072616e646f6d2e0a202020202020696620287820213d206e756c6c292079203d20782c2078203d206e756c6c3b0a0a2020202020202f2f204f74686572776973652c2067656e65726174652061206e6577207820616e6420792e0a202020202020656c736520646f207b0a202020202020202078203d20736f757263652829202a2032202d20313b0a202020202020202079203d20736f757263652829202a2032202d20313b0a202020202020202072203d2078202a2078202b2079202a20793b0a2020202020207d207768696c6520282172207c7c2072203e2031293b0a0a20202020202072657475726e206d75202b207369676d61202a2079202a204d6174682e73717274282d32202a204d6174682e6c6f67287229202f2072293b0a202020207d3b0a20207d0a0a202072616e646f6d4e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4e6f726d616c3b0a0a202072657475726e2072616e646f6d4e6f726d616c3b0a7d292864656661756c74536f757263652431293b0a0a766172206c6f674e6f726d616c203d202866756e6374696f6e20736f7572636552616e646f6d4c6f674e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4c6f674e6f726d616c2829207b0a202020207661722072616e646f6d4e6f726d616c203d206e6f726d616c2e736f7572636528736f75726365292e6170706c7928746869732c20617267756d656e7473293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e204d6174682e6578702872616e646f6d4e6f726d616c2829293b0a202020207d3b0a20207d0a0a202072616e646f6d4c6f674e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4c6f674e6f726d616c3b0a0a202072657475726e2072616e646f6d4c6f674e6f726d616c3b0a7d292864656661756c74536f757263652431293b0a0a76617220697277696e48616c6c203d202866756e6374696f6e20736f7572636552616e646f6d497277696e48616c6c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d497277696e48616c6c286e29207b0a2020202072657475726e2066756e6374696f6e2829207b0a202020202020666f7220287661722073756d203d20302c2069203d20303b2069203c206e3b202b2b69292073756d202b3d20736f7572636528293b0a20202020202072657475726e2073756d3b0a202020207d3b0a20207d0a0a202072616e646f6d497277696e48616c6c2e736f75726365203d20736f7572636552616e646f6d497277696e48616c6c3b0a0a202072657475726e2072616e646f6d497277696e48616c6c3b0a7d292864656661756c74536f757263652431293b0a0a766172206261746573203d202866756e6374696f6e20736f7572636552616e646f6d426174657328736f7572636529207b0a202066756e6374696f6e2072616e646f6d4261746573286e29207b0a202020207661722072616e646f6d497277696e48616c6c203d20697277696e48616c6c2e736f7572636528736f7572636529286e293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e2072616e646f6d497277696e48616c6c2829202f206e3b0a202020207d3b0a20207d0a0a202072616e646f6d42617465732e736f75726365203d20736f7572636552616e646f6d42617465733b0a0a202072657475726e2072616e646f6d42617465733b0a7d292864656661756c74536f757263652431293b0a0a766172206578706f6e656e7469616c2431203d202866756e6374696f6e20736f7572636552616e646f6d4578706f6e656e7469616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4578706f6e656e7469616c286c616d62646129207b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e202d4d6174682e6c6f672831202d20736f75726365282929202f206c616d6264613b0a202020207d3b0a20207d0a0a202072616e646f6d4578706f6e656e7469616c2e736f75726365203d20736f7572636552616e646f6d4578706f6e656e7469616c3b0a0a202072657475726e2072616e646f6d4578706f6e656e7469616c3b0a7d292864656661756c74536f757263652431293b0a0a7661722061727261792433203d2041727261792e70726f746f747970653b0a0a766172206d61702432203d20617272617924332e6d61703b0a76617220736c6963652435203d20617272617924332e736c6963653b0a0a76617220696d706c69636974203d207b6e616d653a2022696d706c69636974227d3b0a0a66756e6374696f6e206f7264696e616c2872616e676529207b0a202076617220696e646578203d206d6170243128292c0a202020202020646f6d61696e203d205b5d2c0a202020202020756e6b6e6f776e203d20696d706c696369743b0a0a202072616e6765203d2072616e6765203d3d206e756c6c203f205b5d203a20736c69636524352e63616c6c2872616e6765293b0a0a202066756e6374696f6e207363616c65286429207b0a20202020766172206b6579203d2064202b2022222c2069203d20696e6465782e676574286b6579293b0a2020202069662028216929207b0a20202020202069662028756e6b6e6f776e20213d3d20696d706c69636974292072657475726e20756e6b6e6f776e3b0a202020202020696e6465782e736574286b65792c2069203d20646f6d61696e2e70757368286429293b0a202020207d0a2020202072657475726e2072616e67655b2869202d20312920252072616e67652e6c656e6774685d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d2c20696e646578203d206d6170243128293b0a202020207661722069203d202d312c206e203d205f2e6c656e6774682c20642c206b65793b0a202020207768696c6520282b2b69203c206e29206966202821696e6465782e686173286b6579203d202864203d205f5b695d29202b202222292920696e6465782e736574286b65792c20646f6d61696e2e70757368286429293b0a2020202072657475726e207363616c653b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c207363616c6529203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e756e6b6e6f776e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028756e6b6e6f776e203d205f2c207363616c6529203a20756e6b6e6f776e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206f7264696e616c28290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765290a20202020202020202e756e6b6e6f776e28756e6b6e6f776e293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2062616e642829207b0a2020766172207363616c65203d206f7264696e616c28292e756e6b6e6f776e28756e646566696e6564292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a2020202020206f7264696e616c52616e6765203d207363616c652e72616e67652c0a20202020202072616e6765242431203d205b302c20315d2c0a202020202020737465702c0a20202020202062616e6477696474682c0a202020202020726f756e64203d2066616c73652c0a20202020202070616464696e67496e6e6572203d20302c0a20202020202070616464696e674f75746572203d20302c0a202020202020616c69676e203d20302e353b0a0a202064656c657465207363616c652e756e6b6e6f776e3b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020766172206e203d20646f6d61696e28292e6c656e6774682c0a202020202020202072657665727365203d2072616e67652424315b315d203c2072616e67652424315b305d2c0a20202020202020207374617274203d2072616e67652424315b72657665727365202d20305d2c0a202020202020202073746f70203d2072616e67652424315b31202d20726576657273655d3b0a2020202073746570203d202873746f70202d20737461727429202f204d6174682e6d617828312c206e202d2070616464696e67496e6e6572202b2070616464696e674f75746572202a2032293b0a2020202069662028726f756e64292073746570203d204d6174682e666c6f6f722873746570293b0a202020207374617274202b3d202873746f70202d207374617274202d2073746570202a20286e202d2070616464696e67496e6e65722929202a20616c69676e3b0a2020202062616e647769647468203d2073746570202a202831202d2070616464696e67496e6e6572293b0a2020202069662028726f756e6429207374617274203d204d6174682e726f756e64287374617274292c2062616e647769647468203d204d6174682e726f756e642862616e647769647468293b0a202020207661722076616c756573203d2073657175656e6365286e292e6d61702866756e6374696f6e286929207b2072657475726e207374617274202b2073746570202a20693b207d293b0a2020202072657475726e206f7264696e616c52616e67652872657665727365203f2076616c7565732e726576657273652829203a2076616c756573293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c20726f756e64203d20747275652c2072657363616c6528293b0a20207d3b0a0a20207363616c652e62616e647769647468203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6477696474683b0a20207d3b0a0a20207363616c652e73746570203d2066756e6374696f6e2829207b0a2020202072657475726e20737465703b0a20207d3b0a0a20207363616c652e726f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d2021215f2c2072657363616c65282929203a20726f756e643b0a20207d3b0a0a20207363616c652e70616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d2070616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e67496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e674f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e674f757465723b0a20207d3b0a0a20207363616c652e616c69676e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c69676e203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a20616c69676e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6428290a20202020202020202e646f6d61696e28646f6d61696e2829290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e726f756e6428726f756e64290a20202020202020202e70616464696e67496e6e65722870616464696e67496e6e6572290a20202020202020202e70616464696e674f757465722870616464696e674f75746572290a20202020202020202e616c69676e28616c69676e293b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e20706f696e74697368287363616c6529207b0a202076617220636f7079203d207363616c652e636f70793b0a0a20207363616c652e70616464696e67203d207363616c652e70616464696e674f757465723b0a202064656c657465207363616c652e70616464696e67496e6e65723b0a202064656c657465207363616c652e70616464696e674f757465723b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20706f696e7469736828636f70792829293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20706f696e7424312829207b0a202072657475726e20706f696e746973682862616e6428292e70616464696e67496e6e6572283129293b0a7d0a0a66756e6374696f6e20636f6e7374616e74243130287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e206e756d6265722432287829207b0a202072657475726e202b783b0a7d0a0a76617220756e6974203d205b302c20315d3b0a0a66756e6374696f6e206465696e746572706f6c6174654c696e65617228612c206229207b0a202072657475726e202862202d3d202861203d202b6129290a2020202020203f2066756e6374696f6e287829207b2072657475726e202878202d206129202f20623b207d0a2020202020203a20636f6e7374616e742431302862293b0a7d0a0a66756e6374696f6e206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722064203d206465696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287829207b2072657475726e2078203c3d2061203f2030203a2078203e3d2062203f2031203a20642878293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465436c616d70287265696e746572706f6c61746524243129207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722072203d207265696e746572706f6c6174652424312861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2074203c3d2030203f2061203a2074203e3d2031203f2062203a20722874293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e2062696d617028646f6d61696e2c2072616e67652c206465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a2020766172206430203d20646f6d61696e5b305d2c206431203d20646f6d61696e5b315d2c207230203d2072616e67655b305d2c207231203d2072616e67655b315d3b0a2020696620286431203c20643029206430203d206465696e746572706f6c6174652864312c206430292c207230203d207265696e746572706f6c6174652424312872312c207230293b0a2020656c7365206430203d206465696e746572706f6c6174652864302c206431292c207230203d207265696e746572706f6c6174652424312872302c207231293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e207230286430287829293b207d3b0a7d0a0a66756e6374696f6e20706f6c796d617028646f6d61696e2c2072616e67652c206465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a2020766172206a203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e67746829202d20312c0a20202020202064203d206e6577204172726179286a292c0a20202020202072203d206e6577204172726179286a292c0a20202020202069203d202d313b0a0a20202f2f20526576657273652064657363656e64696e6720646f6d61696e732e0a202069662028646f6d61696e5b6a5d203c20646f6d61696e5b305d29207b0a20202020646f6d61696e203d20646f6d61696e2e736c69636528292e7265766572736528293b0a2020202072616e6765203d2072616e67652e736c69636528292e7265766572736528293b0a20207d0a0a20207768696c6520282b2b69203c206a29207b0a20202020645b695d203d206465696e746572706f6c61746528646f6d61696e5b695d2c20646f6d61696e5b69202b20315d293b0a20202020725b695d203d207265696e746572706f6c6174652424312872616e67655b695d2c2072616e67655b69202b20315d293b0a20207d0a0a202072657475726e2066756e6374696f6e287829207b0a202020207661722069203d20626973656374526967687428646f6d61696e2c20782c20312c206a29202d20313b0a2020202072657475726e20725b695d28645b695d287829293b0a20207d3b0a7d0a0a66756e6374696f6e20636f707928736f757263652c2074617267657429207b0a202072657475726e207461726765740a2020202020202e646f6d61696e28736f757263652e646f6d61696e2829290a2020202020202e72616e676528736f757263652e72616e67652829290a2020202020202e696e746572706f6c61746528736f757263652e696e746572706f6c6174652829290a2020202020202e636c616d7028736f757263652e636c616d702829293b0a7d0a0a2f2f206465696e746572706f6c61746528612c2062292878292074616b6573206120646f6d61696e2076616c7565207820696e205b612c625d20616e642072657475726e732074686520636f72726573706f6e64696e6720706172616d65746572207420696e205b302c315d2e0a2f2f207265696e746572706f6c61746528612c2062292874292074616b6573206120706172616d65746572207420696e205b302c315d20616e642072657475726e732074686520636f72726573706f6e64696e6720646f6d61696e2076616c7565207820696e205b612c625d2e0a66756e6374696f6e20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c61746524243129207b0a202076617220646f6d61696e203d20756e69742c0a20202020202072616e6765203d20756e69742c0a202020202020696e746572706f6c617465242431203d20696e746572706f6c61746556616c75652c0a202020202020636c616d70203d2066616c73652c0a2020202020207069656365776973652424312c0a2020202020206f75747075742c0a202020202020696e7075743b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020706965636577697365242431203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e67746829203e2032203f20706f6c796d6170203a2062696d61703b0a202020206f7574707574203d20696e707574203d206e756c6c3b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e20286f7574707574207c7c20286f7574707574203d2070696563657769736524243128646f6d61696e2c2072616e67652c20636c616d70203f206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529203a206465696e746572706f6c6174652c20696e746572706f6c617465242431292929282b78293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e2028696e707574207c7c2028696e707574203d207069656365776973652424312872616e67652c20646f6d61696e2c206465696e746572706f6c6174654c696e6561722c20636c616d70203f207265696e746572706f6c617465436c616d70287265696e746572706f6c61746524243129203a207265696e746572706f6c617465242431292929282b79293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024322e63616c6c285f2c206e756d6265722432292c2072657363616c65282929203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765203d20736c69636524352e63616c6c285f292c20696e746572706f6c617465242431203d20696e746572706f6c617465526f756e642c2072657363616c6528293b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c2072657363616c65282929203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465242431203d205f2c2072657363616c65282929203a20696e746572706f6c6174652424313b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e207469636b466f726d617428646f6d61696e2c20636f756e742c2073706563696669657229207b0a2020766172207374617274203d20646f6d61696e5b305d2c0a20202020202073746f70203d20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d2c0a20202020202073746570203d207469636b537465702873746172742c2073746f702c20636f756e74203d3d206e756c6c203f203130203a20636f756e74292c0a202020202020707265636973696f6e3b0a2020737065636966696572203d20666f726d617453706563696669657228737065636966696572203d3d206e756c6c203f20222c6622203a20737065636966696572293b0a202073776974636820287370656369666965722e7479706529207b0a2020202063617365202273223a207b0a2020202020207661722076616c7565203d204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f7029293b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e50726566697828737465702c2076616c7565292929207370656369666965722e707265636973696f6e203d20707265636973696f6e3b0a20202020202072657475726e206578706f7274732e666f726d6174507265666978287370656369666965722c2076616c7565293b0a202020207d0a20202020636173652022223a0a2020202063617365202265223a0a2020202063617365202267223a0a2020202063617365202270223a0a2020202063617365202272223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e526f756e6428737465702c204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f702929292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d20226522293b0a202020202020627265616b3b0a202020207d0a2020202063617365202266223a0a2020202063617365202225223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d20707265636973696f6e46697865642873746570292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d2022252229202a20323b0a202020202020627265616b3b0a202020207d0a20207d0a202072657475726e206578706f7274732e666f726d617428737065636966696572293b0a7d0a0a66756e6374696f6e206c696e656172697368287363616c6529207b0a202076617220646f6d61696e203d207363616c652e646f6d61696e3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e207469636b7328645b305d2c20645b642e6c656e677468202d20315d2c20636f756e74203d3d206e756c6c203f203130203a20636f756e74293b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e207469636b466f726d617428646f6d61696e28292c20636f756e742c20737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28636f756e7429207b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a0a202020207661722064203d20646f6d61696e28292c0a20202020202020206930203d20302c0a20202020202020206931203d20642e6c656e677468202d20312c0a20202020202020207374617274203d20645b69305d2c0a202020202020202073746f70203d20645b69315d2c0a2020202020202020737465703b0a0a202020206966202873746f70203c20737461727429207b0a20202020202073746570203d2073746172742c207374617274203d2073746f702c2073746f70203d20737465703b0a20202020202073746570203d2069302c206930203d2069312c206931203d20737465703b0a202020207d0a0a2020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a0a202020206966202873746570203e203029207b0a2020202020207374617274203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a20202020202073746f70203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a20202020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d20656c7365206966202873746570203c203029207b0a2020202020207374617274203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a20202020202073746f70203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a20202020202073746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d0a0a202020206966202873746570203e203029207b0a202020202020645b69305d203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a202020202020645b69315d203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a202020202020646f6d61696e2864293b0a202020207d20656c7365206966202873746570203c203029207b0a202020202020645b69305d203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a202020202020645b69315d203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a202020202020646f6d61696e2864293b0a202020207d0a0a2020202072657475726e207363616c653b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e206c696e65617224322829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c207265696e746572706f6c617465293b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c696e65617224322829293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206964656e7469747924362829207b0a202076617220646f6d61696e203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e202b783b0a20207d0a0a20207363616c652e696e76657274203d207363616c653b0a0a20207363616c652e646f6d61696e203d207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024322e63616c6c285f2c206e756d6265722432292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206964656e74697479243628292e646f6d61696e28646f6d61696e293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206e69636528646f6d61696e2c20696e74657276616c29207b0a2020646f6d61696e203d20646f6d61696e2e736c69636528293b0a0a2020766172206930203d20302c0a2020202020206931203d20646f6d61696e2e6c656e677468202d20312c0a2020202020207830203d20646f6d61696e5b69305d2c0a2020202020207831203d20646f6d61696e5b69315d2c0a202020202020743b0a0a2020696620287831203c20783029207b0a2020202074203d2069302c206930203d2069312c206931203d20743b0a2020202074203d2078302c207830203d2078312c207831203d20743b0a20207d0a0a2020646f6d61696e5b69305d203d20696e74657276616c2e666c6f6f72287830293b0a2020646f6d61696e5b69315d203d20696e74657276616c2e6365696c287831293b0a202072657475726e20646f6d61696e3b0a7d0a0a66756e6374696f6e206465696e746572706f6c61746528612c206229207b0a202072657475726e202862203d204d6174682e6c6f672862202f206129290a2020202020203f2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f672878202f206129202f20623b207d0a2020202020203a20636f6e7374616e742431302862293b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465243128612c206229207b0a202072657475726e2061203c20300a2020202020203f2066756e6374696f6e287429207b2072657475726e202d4d6174682e706f77282d622c207429202a204d6174682e706f77282d612c2031202d2074293b207d0a2020202020203a2066756e6374696f6e287429207b2072657475726e204d6174682e706f7728622c207429202a204d6174682e706f7728612c2031202d2074293b207d3b0a7d0a0a66756e6374696f6e20706f773130287829207b0a202072657475726e20697346696e697465287829203f202b2822316522202b207829203a2078203c2030203f2030203a20783b0a7d0a0a66756e6374696f6e20706f7770286261736529207b0a202072657475726e2062617365203d3d3d203130203f20706f7731300a2020202020203a2062617365203d3d3d204d6174682e45203f204d6174682e6578700a2020202020203a2066756e6374696f6e287829207b2072657475726e204d6174682e706f7728626173652c2078293b207d3b0a7d0a0a66756e6374696f6e206c6f6770286261736529207b0a202072657475726e2062617365203d3d3d204d6174682e45203f204d6174682e6c6f670a2020202020203a2062617365203d3d3d203130202626204d6174682e6c6f6731300a2020202020207c7c2062617365203d3d3d2032202626204d6174682e6c6f67320a2020202020207c7c202862617365203d204d6174682e6c6f672862617365292c2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f67287829202f20626173653b207d293b0a7d0a0a66756e6374696f6e207265666c656374286629207b0a202072657475726e2066756e6374696f6e287829207b0a2020202072657475726e202d66282d78293b0a20207d3b0a7d0a0a66756e6374696f6e206c6f6724312829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c6174652431292e646f6d61696e285b312c2031305d292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a20202020202062617365203d2031302c0a2020202020206c6f6773203d206c6f6770283130292c0a202020202020706f7773203d20706f7770283130293b0a0a202066756e6374696f6e2072657363616c652829207b0a202020206c6f6773203d206c6f67702862617365292c20706f7773203d20706f77702862617365293b0a2020202069662028646f6d61696e28295b305d203c203029206c6f6773203d207265666c656374286c6f6773292c20706f7773203d207265666c65637428706f7773293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e62617365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202862617365203d202b5f2c2072657363616c65282929203a20626173653b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28292c0a202020202020202075203d20645b305d2c0a202020202020202076203d20645b642e6c656e677468202d20315d2c0a2020202020202020723b0a0a202020206966202872203d2076203c2075292069203d20752c2075203d20762c2076203d20693b0a0a202020207661722069203d206c6f67732875292c0a20202020202020206a203d206c6f67732876292c0a2020202020202020702c0a20202020202020206b2c0a2020202020202020742c0a20202020202020206e203d20636f756e74203d3d206e756c6c203f203130203a202b636f756e742c0a20202020202020207a203d205b5d3b0a0a20202020696620282128626173652025203129202626206a202d2069203c206e29207b0a20202020202069203d204d6174682e726f756e64286929202d20312c206a203d204d6174682e726f756e64286a29202b20313b0a2020202020206966202875203e20302920666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d20312c2070203d20706f77732869293b206b203c20626173653b202b2b6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d20656c736520666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d2062617365202d20312c2070203d20706f77732869293b206b203e3d20313b202d2d6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365207b0a2020202020207a203d207469636b7328692c206a2c204d6174682e6d696e286a202d20692c206e29292e6d617028706f7773293b0a202020207d0a0a2020202072657475726e2072203f207a2e726576657273652829203a207a3b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202069662028737065636966696572203d3d206e756c6c2920737065636966696572203d2062617365203d3d3d203130203f20222e306522203a20222c223b0a2020202069662028747970656f662073706563696669657220213d3d202266756e6374696f6e222920737065636966696572203d206578706f7274732e666f726d617428737065636966696572293b0a2020202069662028636f756e74203d3d3d20496e66696e697479292072657475726e207370656369666965723b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a20202020766172206b203d204d6174682e6d617828312c2062617365202a20636f756e74202f207363616c652e7469636b7328292e6c656e677468293b202f2f20544f444f206661737420657374696d6174653f0a2020202072657475726e2066756e6374696f6e286429207b0a2020202020207661722069203d2064202f20706f7773284d6174682e726f756e64286c6f677328642929293b0a2020202020206966202869202a2062617365203c2062617365202d20302e35292069202a3d20626173653b0a20202020202072657475726e2069203c3d206b203f20737065636966696572286429203a2022223b0a202020207d3b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e2829207b0a2020202072657475726e20646f6d61696e286e69636528646f6d61696e28292c207b0a202020202020666c6f6f723a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e666c6f6f72286c6f677328782929293b207d2c0a2020202020206365696c3a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e6365696c286c6f677328782929293b207d0a202020207d29293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c6f67243128292e62617365286261736529293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207261697365243128782c206578706f6e656e7429207b0a202072657475726e2078203c2030203f202d4d6174682e706f77282d782c206578706f6e656e7429203a204d6174682e706f7728782c206578706f6e656e74293b0a7d0a0a66756e6374696f6e20706f7724312829207b0a2020766172206578706f6e656e74203d20312c0a2020202020207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202066756e6374696f6e206465696e746572706f6c61746528612c206229207b0a2020202072657475726e202862203d207261697365243128622c206578706f6e656e7429202d202861203d207261697365243128612c206578706f6e656e742929290a20202020202020203f2066756e6374696f6e287829207b2072657475726e20287261697365243128782c206578706f6e656e7429202d206129202f20623b207d0a20202020202020203a20636f6e7374616e742431302862293b0a20207d0a0a202066756e6374696f6e207265696e746572706f6c61746528612c206229207b0a2020202062203d207261697365243128622c206578706f6e656e7429202d202861203d207261697365243128612c206578706f6e656e7429293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e20726169736524312861202b2062202a20742c2031202f206578706f6e656e74293b207d3b0a20207d0a0a20207363616c652e6578706f6e656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286578706f6e656e74203d202b5f2c20646f6d61696e28646f6d61696e28292929203a206578706f6e656e743b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c20706f77243128292e6578706f6e656e74286578706f6e656e7429293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207371727424312829207b0a202072657475726e20706f77243128292e6578706f6e656e7428302e35293b0a7d0a0a66756e6374696f6e207175616e74696c652424312829207b0a202076617220646f6d61696e203d205b5d2c0a20202020202072616e6765203d205b5d2c0a2020202020207468726573686f6c6473203d205b5d3b0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d20302c206e203d204d6174682e6d617828312c2072616e67652e6c656e677468293b0a202020207468726573686f6c6473203d206e6577204172726179286e202d2031293b0a202020207768696c6520282b2b69203c206e29207468726573686f6c64735b69202d20315d203d207468726573686f6c6428646f6d61696e2c2069202f206e293b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a20202020696620282169734e614e2878203d202b7829292072657475726e2072616e67655b6269736563745269676874287468726573686f6c64732c2078295d3b0a20207d0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d203a205b0a20202020202069203e2030203f207468726573686f6c64735b69202d20315d203a20646f6d61696e5b305d2c0a20202020202069203c207468726573686f6c64732e6c656e677468203f207468726573686f6c64735b695d203a20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d0a202020205d3b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d3b0a20202020666f7220287661722069203d20302c206e203d205f2e6c656e6774682c20643b2069203c206e3b202b2b6929206966202864203d205f5b695d2c206420213d206e756c6c202626202169734e614e2864203d202b64292920646f6d61696e2e707573682864293b0a20202020646f6d61696e2e736f727428617363656e64696e67293b0a2020202072657475726e2072657363616c6528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e7175616e74696c6573203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64732e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74696c6524243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207175616e74697a6524312829207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206e203d20312c0a202020202020646f6d61696e203d205b302e355d2c0a20202020202072616e6765203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67655b626973656374526967687428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d202d313b0a20202020646f6d61696e203d206e6577204172726179286e293b0a202020207768696c6520282b2b69203c206e2920646f6d61696e5b695d203d20282869202b203129202a207831202d202869202d206e29202a20783029202f20286e202b2031293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c2072657363616c65282929203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e203d202872616e6765203d20736c69636524352e63616c6c285f29292e6c656e677468202d20312c2072657363616c65282929203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d0a20202020202020203a2069203c2031203f205b78302c20646f6d61696e5b305d5d0a20202020202020203a2069203e3d206e203f205b646f6d61696e5b6e202d20315d2c2078315d0a20202020202020203a205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74697a65243128290a20202020202020202e646f6d61696e285b78302c2078315d290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207468726573686f6c6424312829207b0a202076617220646f6d61696e203d205b302e355d2c0a20202020202072616e6765203d205b302c20315d2c0a2020202020206e203d20313b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67655b626973656374526967687428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20736c69636524352e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e677468202d2031292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765203d20736c69636524352e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652e6c656e677468202d2031292c207363616c6529203a2072616e67652e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652e696e6465784f662879293b0a2020202072657475726e205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a7661722074302431203d206e657720446174652c0a2020202074312431203d206e657720446174653b0a0a66756e6374696f6e206e6577496e74657276616c28666c6f6f72692c206f6666736574692c20636f756e742c206669656c6429207b0a0a202066756e6374696f6e20696e74657276616c286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e65772044617465282b6461746529292c20646174653b0a20207d0a0a2020696e74657276616c2e666c6f6f72203d20696e74657276616c3b0a0a2020696e74657276616c2e6365696c203d2066756e6374696f6e286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e657720446174652864617465202d203129292c206f66667365746928646174652c2031292c20666c6f6f72692864617465292c20646174653b0a20207d3b0a0a2020696e74657276616c2e726f756e64203d2066756e6374696f6e286461746529207b0a20202020766172206430203d20696e74657276616c2864617465292c0a20202020202020206431203d20696e74657276616c2e6365696c2864617465293b0a2020202072657475726e2064617465202d206430203c206431202d2064617465203f206430203a2064313b0a20207d3b0a0a2020696e74657276616c2e6f6666736574203d2066756e6374696f6e28646174652c207374657029207b0a2020202072657475726e206f6666736574692864617465203d206e65772044617465282b64617465292c2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f72287374657029292c20646174653b0a20207d3b0a0a2020696e74657276616c2e72616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a202020207661722072616e6765203d205b5d2c2070726576696f75733b0a202020207374617274203d20696e74657276616c2e6365696c287374617274293b0a2020202073746570203d2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f722873746570293b0a202020206966202821287374617274203c2073746f7029207c7c20212873746570203e203029292072657475726e2072616e67653b202f2f20616c736f2068616e646c657320496e76616c696420446174650a20202020646f2072616e67652e707573682870726576696f7573203d206e65772044617465282b737461727429292c206f6666736574692873746172742c2073746570292c20666c6f6f7269287374617274293b0a202020207768696c65202870726576696f7573203c207374617274202626207374617274203c2073746f70293b0a2020202072657475726e2072616e67653b0a20207d3b0a0a2020696e74657276616c2e66696c746572203d2066756e6374696f6e287465737429207b0a2020202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020202020206966202864617465203e3d206461746529207768696c652028666c6f6f72692864617465292c2021746573742864617465292920646174652e73657454696d652864617465202d2031293b0a202020207d2c2066756e6374696f6e28646174652c207374657029207b0a2020202020206966202864617465203e3d206461746529207b0a20202020202020206966202873746570203c203029207768696c6520282b2b73746570203c3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202d31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d20656c7365207768696c6520282d2d73746570203e3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202b31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d0a2020202020207d0a202020207d293b0a20207d3b0a0a202069662028636f756e7429207b0a20202020696e74657276616c2e636f756e74203d2066756e6374696f6e2873746172742c20656e6429207b0a202020202020743024312e73657454696d65282b7374617274292c20743124312e73657454696d65282b656e64293b0a202020202020666c6f6f72692874302431292c20666c6f6f72692874312431293b0a20202020202072657475726e204d6174682e666c6f6f7228636f756e7428743024312c207431243129293b0a202020207d3b0a0a20202020696e74657276616c2e6576657279203d2066756e6374696f6e287374657029207b0a20202020202073746570203d204d6174682e666c6f6f722873746570293b0a20202020202072657475726e2021697346696e697465287374657029207c7c20212873746570203e203029203f206e756c6c0a202020202020202020203a20212873746570203e203129203f20696e74657276616c0a202020202020202020203a20696e74657276616c2e66696c746572286669656c640a20202020202020202020202020203f2066756e6374696f6e286429207b2072657475726e206669656c6428642920252073746570203d3d3d20303b207d0a20202020202020202020202020203a2066756e6374696f6e286429207b2072657475726e20696e74657276616c2e636f756e7428302c20642920252073746570203d3d3d20303b207d293b0a202020207d3b0a20207d0a0a202072657475726e20696e74657276616c3b0a7d0a0a766172206d696c6c697365636f6e64203d206e6577496e74657276616c2866756e6374696f6e2829207b0a20202f2f206e6f6f700a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e64202d2073746172743b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a6d696c6c697365636f6e642e6576657279203d2066756e6374696f6e286b29207b0a20206b203d204d6174682e666c6f6f72286b293b0a20206966202821697346696e697465286b29207c7c2021286b203e203029292072657475726e206e756c6c3b0a20206966202821286b203e203129292072657475726e206d696c6c697365636f6e643b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206b29202a206b293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657454696d65282b64617465202b2073746570202a206b293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206b3b0a20207d293b0a7d3b0a766172206d696c6c697365636f6e6473203d206d696c6c697365636f6e642e72616e67653b0a0a766172206475726174696f6e5365636f6e64203d203165333b0a766172206475726174696f6e4d696e757465203d203665343b0a766172206475726174696f6e486f7572203d20333665353b0a766172206475726174696f6e446179203d2038363465353b0a766172206475726174696f6e5765656b203d203630343865353b0a0a766172207365636f6e64203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e5365636f6e6429202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e5365636f6e643b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554435365636f6e647328293b0a7d293b0a766172207365636f6e6473203d207365636f6e642e72616e67653b0a0a766172206d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e4d696e75746529202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d696e7574657328293b0a7d293b0a766172206d696e75746573203d206d696e7574652e72616e67653b0a0a76617220686f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020766172206f6666736574203d20646174652e67657454696d657a6f6e654f66667365742829202a206475726174696f6e4d696e7574652025206475726174696f6e486f75723b0a2020696620286f6666736574203c203029206f6666736574202b3d206475726174696f6e486f75723b0a2020646174652e73657454696d65284d6174682e666c6f6f7228282b64617465202d206f666673657429202f206475726174696f6e486f757229202a206475726174696f6e486f7572202b206f6666736574293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574486f75727328293b0a7d293b0a76617220686f757273203d20686f75722e72616e67653b0a0a76617220646179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744461746528646174652e676574446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574446174652829202d20313b0a7d293b0a7661722064617973203d206461792e72616e67653b0a0a66756e6374696f6e207765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365744461746528646174652e676574446174652829202d2028646174652e6765744461792829202b2037202d20692920252037293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365744461746528646174652e676574446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722073756e646179203d207765656b6461792830293b0a766172206d6f6e646179203d207765656b6461792831293b0a7661722074756573646179203d207765656b6461792832293b0a766172207765646e6573646179203d207765656b6461792833293b0a766172207468757273646179203d207765656b6461792834293b0a76617220667269646179203d207765656b6461792835293b0a766172207361747572646179203d207765656b6461792836293b0a0a7661722073756e64617973203d2073756e6461792e72616e67653b0a766172206d6f6e64617973203d206d6f6e6461792e72616e67653b0a766172207475657364617973203d20747565736461792e72616e67653b0a766172207765646e657364617973203d207765646e65736461792e72616e67653b0a76617220746875727364617973203d2074687572736461792e72616e67653b0a7661722066726964617973203d206672696461792e72616e67653b0a76617220736174757264617973203d2073617475726461792e72616e67653b0a0a766172206d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574446174652831293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744d6f6e746828646174652e6765744d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765744d6f6e74682829202d2073746172742e6765744d6f6e74682829202b2028656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d6f6e746828293b0a7d293b0a766172206d6f6e746873203d206d6f6e74682e72616e67653b0a0a7661722079656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365744d6f6e746828302c2031293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657446756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a796561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657446756c6c59656172284d6174682e666c6f6f7228646174652e67657446756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365744d6f6e746828302c2031293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a766172207965617273203d20796561722e72616e67653b0a0a766172207574634d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554435365636f6e647328302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d696e7574657328293b0a7d293b0a766172207574634d696e75746573203d207574634d696e7574652e72616e67653b0a0a76617220757463486f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d696e7574657328302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443486f75727328293b0a7d293b0a76617220757463486f757273203d20757463486f75722e72616e67653b0a0a76617220757463446179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443446174652829202d20313b0a7d293b0a7661722075746344617973203d207574634461792e72616e67653b0a0a66756e6374696f6e207574635765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202d2028646174652e6765745554434461792829202b2037202d20692920252037293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722075746353756e646179203d207574635765656b6461792830293b0a766172207574634d6f6e646179203d207574635765656b6461792831293b0a7661722075746354756573646179203d207574635765656b6461792832293b0a766172207574635765646e6573646179203d207574635765656b6461792833293b0a766172207574635468757273646179203d207574635765656b6461792834293b0a76617220757463467269646179203d207574635765656b6461792835293b0a766172207574635361747572646179203d207574635765656b6461792836293b0a0a7661722075746353756e64617973203d2075746353756e6461792e72616e67653b0a766172207574634d6f6e64617973203d207574634d6f6e6461792e72616e67653b0a766172207574635475657364617973203d20757463547565736461792e72616e67653b0a766172207574635765646e657364617973203d207574635765646e65736461792e72616e67653b0a76617220757463546875727364617973203d2075746354687572736461792e72616e67653b0a7661722075746346726964617973203d207574634672696461792e72616e67653b0a76617220757463536174757264617973203d2075746353617475726461792e72616e67653b0a0a766172207574634d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443446174652831293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434d6f6e746828646174652e6765745554434d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765745554434d6f6e74682829202d2073746172742e6765745554434d6f6e74682829202b2028656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d6f6e746828293b0a7d293b0a766172207574634d6f6e746873203d207574634d6f6e74682e72616e67653b0a0a7661722075746359656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d6f6e746828302c2031293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657455544346756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a757463596561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657455544346756c6c59656172284d6174682e666c6f6f7228646174652e67657455544346756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365745554434d6f6e746828302c2031293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a766172207574635965617273203d20757463596561722e72616e67653b0a0a66756e6374696f6e206c6f63616c44617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e65772044617465282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a20202020646174652e73657446756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a7d0a0a66756e6374696f6e2075746344617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e6577204461746528446174652e555443282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a20202020646174652e73657455544346756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528446174652e55544328642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a7d0a0a66756e6374696f6e206e657759656172287929207b0a202072657475726e207b793a20792c206d3a20302c20643a20312c20483a20302c204d3a20302c20533a20302c204c3a20307d3b0a7d0a0a66756e6374696f6e20666f726d61744c6f63616c652431286c6f63616c6529207b0a2020766172206c6f63616c655f6461746554696d65203d206c6f63616c652e6461746554696d652c0a2020202020206c6f63616c655f64617465203d206c6f63616c652e646174652c0a2020202020206c6f63616c655f74696d65203d206c6f63616c652e74696d652c0a2020202020206c6f63616c655f706572696f6473203d206c6f63616c652e706572696f64732c0a2020202020206c6f63616c655f7765656b64617973203d206c6f63616c652e646179732c0a2020202020206c6f63616c655f73686f72745765656b64617973203d206c6f63616c652e73686f7274446179732c0a2020202020206c6f63616c655f6d6f6e746873203d206c6f63616c652e6d6f6e7468732c0a2020202020206c6f63616c655f73686f72744d6f6e746873203d206c6f63616c652e73686f72744d6f6e7468733b0a0a202076617220706572696f645265203d20666f726d61745265286c6f63616c655f706572696f6473292c0a202020202020706572696f644c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f706572696f6473292c0a2020202020207765656b6461795265203d20666f726d61745265286c6f63616c655f7765656b64617973292c0a2020202020207765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f7765656b64617973292c0a20202020202073686f72745765656b6461795265203d20666f726d61745265286c6f63616c655f73686f72745765656b64617973292c0a20202020202073686f72745765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72745765656b64617973292c0a2020202020206d6f6e74685265203d20666f726d61745265286c6f63616c655f6d6f6e746873292c0a2020202020206d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f6d6f6e746873292c0a20202020202073686f72744d6f6e74685265203d20666f726d61745265286c6f63616c655f73686f72744d6f6e746873292c0a20202020202073686f72744d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72744d6f6e746873293b0a0a202076617220666f726d617473203d207b0a202020202261223a20666f726d617453686f72745765656b6461792c0a202020202241223a20666f726d61745765656b6461792c0a202020202262223a20666f726d617453686f72744d6f6e74682c0a202020202242223a20666f726d61744d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61744461794f664d6f6e74682c0a202020202265223a20666f726d61744461794f664d6f6e74682c0a202020202266223a20666f726d61744d6963726f7365636f6e64732c0a202020202248223a20666f726d6174486f757232342c0a202020202249223a20666f726d6174486f757231322c0a20202020226a223a20666f726d61744461794f66596561722c0a20202020224c223a20666f726d61744d696c6c697365636f6e64732c0a20202020226d223a20666f726d61744d6f6e74684e756d6265722c0a20202020224d223a20666f726d61744d696e757465732c0a202020202270223a20666f726d6174506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745365636f6e64732c0a202020202275223a20666f726d61745765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745765656b4e756d62657249534f2c0a202020202277223a20666f726d61745765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174596561722c0a202020202259223a20666f726d617446756c6c596561722c0a20202020225a223a20666f726d61745a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220757463466f726d617473203d207b0a202020202261223a20666f726d617455544353686f72745765656b6461792c0a202020202241223a20666f726d61745554435765656b6461792c0a202020202262223a20666f726d617455544353686f72744d6f6e74682c0a202020202242223a20666f726d61745554434d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61745554434461794f664d6f6e74682c0a202020202265223a20666f726d61745554434461794f664d6f6e74682c0a202020202266223a20666f726d61745554434d6963726f7365636f6e64732c0a202020202248223a20666f726d6174555443486f757232342c0a202020202249223a20666f726d6174555443486f757231322c0a20202020226a223a20666f726d61745554434461794f66596561722c0a20202020224c223a20666f726d61745554434d696c6c697365636f6e64732c0a20202020226d223a20666f726d61745554434d6f6e74684e756d6265722c0a20202020224d223a20666f726d61745554434d696e757465732c0a202020202270223a20666f726d6174555443506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745554435365636f6e64732c0a202020202275223a20666f726d61745554435765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745554435765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745554435765656b4e756d62657249534f2c0a202020202277223a20666f726d61745554435765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745554435765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174555443596561722c0a202020202259223a20666f726d617455544346756c6c596561722c0a20202020225a223a20666f726d61745554435a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220706172736573203d207b0a202020202261223a20706172736553686f72745765656b6461792c0a202020202241223a2070617273655765656b6461792c0a202020202262223a20706172736553686f72744d6f6e74682c0a202020202242223a2070617273654d6f6e74682c0a202020202263223a2070617273654c6f63616c654461746554696d652c0a202020202264223a2070617273654461794f664d6f6e74682c0a202020202265223a2070617273654461794f664d6f6e74682c0a202020202266223a2070617273654d6963726f7365636f6e64732c0a202020202248223a207061727365486f757232342c0a202020202249223a207061727365486f757232342c0a20202020226a223a2070617273654461794f66596561722c0a20202020224c223a2070617273654d696c6c697365636f6e64732c0a20202020226d223a2070617273654d6f6e74684e756d6265722c0a20202020224d223a2070617273654d696e757465732c0a202020202270223a207061727365506572696f642c0a202020202251223a207061727365556e697854696d657374616d702c0a202020202273223a207061727365556e697854696d657374616d705365636f6e64732c0a202020202253223a2070617273655365636f6e64732c0a202020202275223a2070617273655765656b6461794e756d6265724d6f6e6461792c0a202020202255223a2070617273655765656b4e756d62657253756e6461792c0a202020202256223a2070617273655765656b4e756d62657249534f2c0a202020202277223a2070617273655765656b6461794e756d62657253756e6461792c0a202020202257223a2070617273655765656b4e756d6265724d6f6e6461792c0a202020202278223a2070617273654c6f63616c65446174652c0a202020202258223a2070617273654c6f63616c6554696d652c0a202020202279223a207061727365596561722c0a202020202259223a20706172736546756c6c596561722c0a20202020225a223a2070617273655a6f6e652c0a202020202225223a2070617273654c69746572616c50657263656e740a20207d3b0a0a20202f2f205468657365207265637572736976652064697265637469766520646566696e6974696f6e73206d7573742062652064656665727265642e0a2020666f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20666f726d617473293b0a2020666f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20666f726d617473293b0a2020666f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20666f726d617473293b0a2020757463466f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20757463466f726d617473293b0a2020757463466f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20757463466f726d617473293b0a2020757463466f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20757463466f726d617473293b0a0a202066756e6374696f6e206e6577466f726d6174287370656369666965722c20666f726d61747329207b0a2020202072657475726e2066756e6374696f6e286461746529207b0a20202020202076617220737472696e67203d205b5d2c0a2020202020202020202069203d202d312c0a202020202020202020206a203d20302c0a202020202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020202020632c0a202020202020202020207061642c0a20202020202020202020666f726d61743b0a0a2020202020206966202821286461746520696e7374616e63656f66204461746529292064617465203d206e65772044617465282b64617465293b0a0a2020202020207768696c6520282b2b69203c206e29207b0a2020202020202020696620287370656369666965722e63686172436f64654174286929203d3d3d20333729207b0a20202020202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a202020202020202020206966202828706164203d20706164735b63203d207370656369666965722e636861724174282b2b69295d2920213d206e756c6c292063203d207370656369666965722e636861724174282b2b69293b0a20202020202020202020656c736520706164203d2063203d3d3d20226522203f20222022203a202230223b0a2020202020202020202069662028666f726d6174203d20666f726d6174735b635d292063203d20666f726d617428646174652c20706164293b0a20202020202020202020737472696e672e707573682863293b0a202020202020202020206a203d2069202b20313b0a20202020202020207d0a2020202020207d0a0a202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a20202020202072657475726e20737472696e672e6a6f696e282222293b0a202020207d3b0a20207d0a0a202066756e6374696f6e206e65775061727365287370656369666965722c206e65774461746529207b0a2020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020207661722064203d206e6577596561722831393030292c0a2020202020202020202069203d20706172736553706563696669657228642c207370656369666965722c20737472696e67202b3d2022222c2030292c0a202020202020202020207765656b2c206461792424313b0a202020202020696620286920213d20737472696e672e6c656e677468292072657475726e206e756c6c3b0a0a2020202020202f2f204966206120554e49582074696d657374616d70206973207370656369666965642c2072657475726e2069742e0a2020202020206966202822512220696e2064292072657475726e206e6577204461746528642e51293b0a0a2020202020202f2f2054686520616d2d706d20666c6167206973203020666f7220414d2c20616e64203120666f7220504d2e0a2020202020206966202822702220696e20642920642e48203d20642e482025203132202b20642e70202a2031323b0a0a2020202020202f2f20436f6e76657274206461792d6f662d7765656b20616e64207765656b2d6f662d7965617220746f206461792d6f662d796561722e0a2020202020206966202822562220696e206429207b0a202020202020202069662028642e56203c2031207c7c20642e56203e203533292072657475726e206e756c6c3b0a202020202020202069662028212822772220696e2064292920642e77203d20313b0a202020202020202069662028225a2220696e206429207b0a202020202020202020207765656b203d2075746344617465286e65775965617228642e7929292c20646179242431203d207765656b2e67657455544344617928293b0a202020202020202020207765656b203d20646179242431203e2034207c7c20646179242431203d3d3d2030203f207574634d6f6e6461792e6365696c287765656b29203a207574634d6f6e646179287765656b293b0a202020202020202020207765656b203d207574634461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657455544346756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765745554434d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574555443446174652829202b2028642e77202b203629202520373b0a20202020202020207d20656c7365207b0a202020202020202020207765656b203d206e657744617465286e65775965617228642e7929292c20646179242431203d207765656b2e67657444617928293b0a202020202020202020207765656b203d20646179242431203e2034207c7c20646179242431203d3d3d2030203f206d6f6e6461792e6365696c287765656b29203a206d6f6e646179287765656b293b0a202020202020202020207765656b203d206461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657446756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765744d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574446174652829202b2028642e77202b203629202520373b0a20202020202020207d0a2020202020207d20656c7365206966202822572220696e2064207c7c2022552220696e206429207b0a202020202020202069662028212822772220696e2064292920642e77203d2022752220696e2064203f20642e7520252037203a2022572220696e2064203f2031203a20303b0a2020202020202020646179242431203d20225a2220696e2064203f2075746344617465286e65775965617228642e7929292e6765745554434461792829203a206e657744617465286e65775965617228642e7929292e67657444617928293b0a2020202020202020642e6d203d20303b0a2020202020202020642e64203d2022572220696e2064203f2028642e77202b20362920252037202b20642e57202a2037202d2028646179242431202b20352920252037203a20642e77202b20642e55202a2037202d2028646179242431202b203629202520373b0a2020202020207d0a0a2020202020202f2f20496620612074696d65207a6f6e65206973207370656369666965642c20616c6c206669656c64732061726520696e7465727072657465642061732055544320616e64207468656e0a2020202020202f2f206f6666736574206163636f7264696e6720746f20746865207370656369666965642074696d65207a6f6e652e0a20202020202069662028225a2220696e206429207b0a2020202020202020642e48202b3d20642e5a202f20313030207c20303b0a2020202020202020642e4d202b3d20642e5a2025203130303b0a202020202020202072657475726e20757463446174652864293b0a2020202020207d0a0a2020202020202f2f204f74686572776973652c20616c6c206669656c64732061726520696e206c6f63616c2074696d652e0a20202020202072657475726e206e6577446174652864293b0a202020207d3b0a20207d0a0a202066756e6374696f6e20706172736553706563696669657228642c207370656369666965722c20737472696e672c206a29207b0a202020207661722069203d20302c0a20202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020206d203d20737472696e672e6c656e6774682c0a2020202020202020632c0a202020202020202070617273653b0a0a202020207768696c65202869203c206e29207b0a202020202020696620286a203e3d206d292072657475726e202d313b0a20202020202063203d207370656369666965722e63686172436f6465417428692b2b293b0a2020202020206966202863203d3d3d20333729207b0a202020202020202063203d207370656369666965722e63686172417428692b2b293b0a20202020202020207061727365203d207061727365735b6320696e2070616473203f207370656369666965722e63686172417428692b2b29203a20635d3b0a202020202020202069662028217061727365207c7c2028286a203d20706172736528642c20737472696e672c206a2929203c203029292072657475726e202d313b0a2020202020207d20656c736520696620286320213d20737472696e672e63686172436f64654174286a2b2b2929207b0a202020202020202072657475726e202d313b0a2020202020207d0a202020207d0a0a2020202072657475726e206a3b0a20207d0a0a202066756e6374696f6e207061727365506572696f6428642c20737472696e672c206929207b0a20202020766172206e203d20706572696f6452652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e70203d20706572696f644c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72745765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d2073686f72745765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d2073686f72745765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273655765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d207765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d207765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72744d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d2073686f72744d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d2073686f72744d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d206d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d206d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f6461746554696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f646174652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c6554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f74696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574486f7572732829203e3d203132295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554435765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554434d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174555443506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574555443486f7572732829203e3d203132295d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20666f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202070617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e6577506172736528737065636966696572202b3d2022222c206c6f63616c44617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d2c0a20202020757463466f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20757463466f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202075746350617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e65775061727365287370656369666965722c2075746344617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d0a20207d3b0a7d0a0a7661722070616473203d207b222d223a2022222c20225f223a202220222c202230223a202230227d2c0a202020206e756d6265725265203d202f5e5c732a5c642b2f2c202f2f206e6f74653a2069676e6f726573206e657874206469726563746976650a2020202070657263656e745265203d202f5e252f2c0a20202020726571756f74655265203d202f5b5c5c5e242a2b3f7c5b5c5d28292e7b7d5d2f673b0a0a66756e6374696f6e207061642876616c75652c2066696c6c2c20776964746829207b0a2020766172207369676e203d2076616c7565203c2030203f20222d22203a2022222c0a202020202020737472696e67203d20287369676e203f202d76616c7565203a2076616c756529202b2022222c0a2020202020206c656e677468203d20737472696e672e6c656e6774683b0a202072657475726e207369676e202b20286c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29202b20737472696e67203a20737472696e67293b0a7d0a0a66756e6374696f6e20726571756f7465287329207b0a202072657475726e20732e7265706c61636528726571756f746552652c20225c5c242622293b0a7d0a0a66756e6374696f6e20666f726d61745265286e616d657329207b0a202072657475726e206e65772052656745787028225e283f3a22202b206e616d65732e6d617028726571756f7465292e6a6f696e28227c2229202b202229222c20226922293b0a7d0a0a66756e6374696f6e20666f726d61744c6f6f6b7570286e616d657329207b0a2020766172206d6170203d207b7d2c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206d61705b6e616d65735b695d2e746f4c6f7765724361736528295d203d20693b0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e77203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e75203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e55203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657249534f28642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e56203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e57203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20706172736546756c6c5965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203429293b0a202072657475726e206e203f2028642e79203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e79203d202b6e5b305d202b20282b6e5b305d203e203638203f2031393030203a2032303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655a6f6e6528642c20737472696e672c206929207b0a2020766172206e203d202f5e285a297c285b2b2d5d5c645c6429283f3a3a3f285c645c6429293f2f2e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e5a203d206e5b315d203f2030203a202d286e5b325d202b20286e5b335d207c7c202230302229292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6f6e74684e756d62657228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e6d203d206e5b305d202d20312c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f664d6f6e746828642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f665965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e6d203d20302c20642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365486f7572323428642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e48203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696e7574657328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e4d203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e53203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696c6c697365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e4c203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6963726f7365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e4c203d204d6174682e666c6f6f72286e5b305d202f2031303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654c69746572616c50657263656e7428642c20737472696e672c206929207b0a2020766172206e203d2070657263656e7452652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2069202b206e5b305d2e6c656e677468203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d7028642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d705365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d20282b6e5b305d29202a20313030302c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20666f726d61744461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765744461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572323428642c207029207b0a202072657475726e2070616428642e676574486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572313228642c207029207b0a202072657475726e2070616428642e676574486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744461794f665965617228642c207029207b0a202072657475726e207061642831202b206461792e636f756e7428796561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765744d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61744d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61744d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765744d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744d696e7574657328642c207029207b0a202072657475726e2070616428642e6765744d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646179242431203d20642e67657444617928293b0a202072657475726e20646179242431203d3d3d2030203f2037203a206461792424313b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657253756e64617928642c207029207b0a202072657475726e207061642873756e6461792e636f756e7428796561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657249534f28642c207029207b0a202076617220646179242431203d20642e67657444617928293b0a202064203d2028646179242431203e3d2034207c7c20646179242431203d3d3d203029203f207468757273646179286429203a2074687572736461792e6365696c2864293b0a202072657475726e207061642874687572736461792e636f756e7428796561722864292c206429202b2028796561722864292e6765744461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657444617928293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e20706164286d6f6e6461792e636f756e7428796561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617446756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745a6f6e65286429207b0a2020766172207a203d20642e67657454696d657a6f6e654f666673657428293b0a202072657475726e20287a203e2030203f20222d22203a20287a202a3d202d312c20222b2229290a2020202020202b20706164287a202f203630207c20302c202230222c2032290a2020202020202b20706164287a20252036302c202230222c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765745554434461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572323428642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572313228642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f665965617228642c207029207b0a202072657475726e207061642831202b207574634461792e636f756e7428757463596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554434d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61745554434d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61745554434d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765745554434d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696e7574657328642c207029207b0a202072657475726e2070616428642e6765745554434d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554435365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646f77203d20642e67657455544344617928293b0a202072657475726e20646f77203d3d3d2030203f2037203a20646f773b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657253756e64617928642c207029207b0a202072657475726e207061642875746353756e6461792e636f756e7428757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657249534f28642c207029207b0a202076617220646179242431203d20642e67657455544344617928293b0a202064203d2028646179242431203e3d2034207c7c20646179242431203d3d3d203029203f207574635468757273646179286429203a2075746354687572736461792e6365696c2864293b0a202072657475726e207061642875746354687572736461792e636f756e7428757463596561722864292c206429202b2028757463596561722864292e6765745554434461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657455544344617928293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e20706164287574634d6f6e6461792e636f756e7428757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617455544346756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745554435a6f6e652829207b0a202072657475726e20222b30303030223b0a7d0a0a66756e6374696f6e20666f726d61744c69746572616c50657263656e742829207b0a202072657475726e202225223b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d70286429207b0a202072657475726e202b643b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d705365636f6e6473286429207b0a202072657475726e204d6174682e666c6f6f72282b64202f2031303030293b0a7d0a0a766172206c6f63616c6524313b0a0a64656661756c744c6f63616c652431287b0a20206461746554696d653a202225782c202558222c0a2020646174653a2022252d6d2f252d642f2559222c0a202074696d653a2022252d493a254d3a2553202570222c0a2020706572696f64733a205b22414d222c2022504d225d2c0a2020646179733a205b2253756e646179222c20224d6f6e646179222c202254756573646179222c20225765646e6573646179222c20225468757273646179222c2022467269646179222c20225361747572646179225d2c0a202073686f7274446179733a205b2253756e222c20224d6f6e222c2022547565222c2022576564222c2022546875222c2022467269222c2022536174225d2c0a20206d6f6e7468733a205b224a616e75617279222c20224665627275617279222c20224d61726368222c2022417072696c222c20224d6179222c20224a756e65222c20224a756c79222c2022417567757374222c202253657074656d626572222c20224f63746f626572222c20224e6f76656d626572222c2022446563656d626572225d2c0a202073686f72744d6f6e7468733a205b224a616e222c2022466562222c20224d6172222c2022417072222c20224d6179222c20224a756e222c20224a756c222c2022417567222c2022536570222c20224f6374222c20224e6f76222c2022446563225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c65243128646566696e6974696f6e29207b0a20206c6f63616c652431203d20666f726d61744c6f63616c65243128646566696e6974696f6e293b0a20206578706f7274732e74696d65466f726d6174203d206c6f63616c6524312e666f726d61743b0a20206578706f7274732e74696d655061727365203d206c6f63616c6524312e70617273653b0a20206578706f7274732e757463466f726d6174203d206c6f63616c6524312e757463466f726d61743b0a20206578706f7274732e7574635061727365203d206c6f63616c6524312e75746350617273653b0a202072657475726e206c6f63616c6524313b0a7d0a0a7661722069736f537065636966696572203d202225592d256d2d25645425483a254d3a25532e254c5a223b0a0a66756e6374696f6e20666f726d617449736f4e6174697665286461746529207b0a202072657475726e20646174652e746f49534f537472696e6728293b0a7d0a0a76617220666f726d617449736f203d20446174652e70726f746f747970652e746f49534f537472696e670a202020203f20666f726d617449736f4e61746976650a202020203a206578706f7274732e757463466f726d61742869736f537065636966696572293b0a0a66756e6374696f6e20706172736549736f4e617469766528737472696e6729207b0a20207661722064617465203d206e6577204461746528737472696e67293b0a202072657475726e2069734e614e286461746529203f206e756c6c203a20646174653b0a7d0a0a76617220706172736549736f203d202b6e657720446174652822323030302d30312d30315430303a30303a30302e3030305a22290a202020203f20706172736549736f4e61746976650a202020203a206578706f7274732e75746350617273652869736f537065636966696572293b0a0a766172206475726174696f6e5365636f6e642431203d20313030302c0a202020206475726174696f6e4d696e7574652431203d206475726174696f6e5365636f6e642431202a2036302c0a202020206475726174696f6e486f75722431203d206475726174696f6e4d696e7574652431202a2036302c0a202020206475726174696f6e4461792431203d206475726174696f6e486f75722431202a2032342c0a202020206475726174696f6e5765656b2431203d206475726174696f6e4461792431202a20372c0a202020206475726174696f6e4d6f6e7468203d206475726174696f6e4461792431202a2033302c0a202020206475726174696f6e59656172203d206475726174696f6e4461792431202a203336353b0a0a66756e6374696f6e20646174652431287429207b0a202072657475726e206e657720446174652874293b0a7d0a0a66756e6374696f6e206e756d6265722433287429207b0a202072657475726e207420696e7374616e63656f662044617465203f202b74203a202b6e65772044617465282b74293b0a7d0a0a66756e6374696f6e2063616c656e64617228796561722424312c206d6f6e74682424312c207765656b2c206461792424312c20686f75722424312c206d696e7574652424312c207365636f6e642424312c206d696c6c697365636f6e642424312c20666f726d617429207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c207265696e746572706f6c617465292c0a202020202020696e76657274203d207363616c652e696e766572742c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202076617220666f726d61744d696c6c697365636f6e64203d20666f726d617428222e254c22292c0a202020202020666f726d61745365636f6e64203d20666f726d617428223a255322292c0a202020202020666f726d61744d696e757465203d20666f726d6174282225493a254d22292c0a202020202020666f726d6174486f7572203d20666f726d61742822254920257022292c0a202020202020666f726d6174446179203d20666f726d61742822256120256422292c0a202020202020666f726d61745765656b203d20666f726d61742822256220256422292c0a202020202020666f726d61744d6f6e7468203d20666f726d61742822254222292c0a202020202020666f726d617459656172203d20666f726d61742822255922293b0a0a2020766172207469636b496e74657276616c73203d205b0a202020205b7365636f6e642424312c2020312c2020202020206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2020352c202035202a206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2031352c203135202a206475726174696f6e5365636f6e6424315d2c0a202020205b7365636f6e642424312c2033302c203330202a206475726174696f6e5365636f6e6424315d2c0a202020205b6d696e7574652424312c2020312c2020202020206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2020352c202035202a206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2031352c203135202a206475726174696f6e4d696e75746524315d2c0a202020205b6d696e7574652424312c2033302c203330202a206475726174696f6e4d696e75746524315d2c0a202020205b2020686f75722424312c2020312c2020202020206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2020332c202033202a206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2020362c202036202a206475726174696f6e486f7572243120205d2c0a202020205b2020686f75722424312c2031322c203132202a206475726174696f6e486f7572243120205d2c0a202020205b2020206461792424312c2020312c2020202020206475726174696f6e44617924312020205d2c0a202020205b2020206461792424312c2020322c202032202a206475726174696f6e44617924312020205d2c0a202020205b20207765656b2c2020312c2020202020206475726174696f6e5765656b243120205d2c0a202020205b206d6f6e74682424312c2020312c2020202020206475726174696f6e4d6f6e7468205d2c0a202020205b206d6f6e74682424312c2020332c202033202a206475726174696f6e4d6f6e7468205d2c0a202020205b2020796561722424312c2020312c2020202020206475726174696f6e5965617220205d0a20205d3b0a0a202066756e6374696f6e207469636b466f726d6174286461746524243129207b0a2020202072657475726e20287365636f6e64242431286461746524243129203c2064617465242431203f20666f726d61744d696c6c697365636f6e640a20202020202020203a206d696e757465242431286461746524243129203c2064617465242431203f20666f726d61745365636f6e640a20202020202020203a20686f7572242431286461746524243129203c2064617465242431203f20666f726d61744d696e7574650a20202020202020203a20646179242431286461746524243129203c2064617465242431203f20666f726d6174486f75720a20202020202020203a206d6f6e7468242431286461746524243129203c2064617465242431203f20287765656b286461746524243129203c2064617465242431203f20666f726d6174446179203a20666f726d61745765656b290a20202020202020203a2079656172242431286461746524243129203c2064617465242431203f20666f726d61744d6f6e74680a20202020202020203a20666f726d617459656172292864617465242431293b0a20207d0a0a202066756e6374696f6e207469636b496e74657276616c28696e74657276616c2c2073746172742c2073746f702c207374657029207b0a2020202069662028696e74657276616c203d3d206e756c6c2920696e74657276616c203d2031303b0a0a202020202f2f20496620612064657369726564207469636b20636f756e74206973207370656369666965642c207069636b206120726561736f6e61626c65207469636b20696e74657276616c0a202020202f2f206261736564206f6e2074686520657874656e74206f662074686520646f6d61696e20616e64206120726f75676820657374696d617465206f66207469636b2073697a652e0a202020202f2f204f74686572776973652c20617373756d6520696e74657276616c20697320616c726561647920612074696d6520696e74657276616c20616e64207573652069742e0a2020202069662028747970656f6620696e74657276616c203d3d3d20226e756d6265722229207b0a20202020202076617220746172676574203d204d6174682e6162732873746f70202d20737461727429202f20696e74657276616c2c0a2020202020202020202069203d206269736563746f722866756e6374696f6e286929207b2072657475726e20695b325d3b207d292e7269676874287469636b496e74657276616c732c20746172676574293b0a2020202020206966202869203d3d3d207469636b496e74657276616c732e6c656e67746829207b0a202020202020202073746570203d207469636b53746570287374617274202f206475726174696f6e596561722c2073746f70202f206475726174696f6e596561722c20696e74657276616c293b0a2020202020202020696e74657276616c203d20796561722424313b0a2020202020207d20656c736520696620286929207b0a202020202020202069203d207469636b496e74657276616c735b746172676574202f207469636b496e74657276616c735b69202d20315d5b325d203c207469636b496e74657276616c735b695d5b325d202f20746172676574203f2069202d2031203a20695d3b0a202020202020202073746570203d20695b315d3b0a2020202020202020696e74657276616c203d20695b305d3b0a2020202020207d20656c7365207b0a202020202020202073746570203d204d6174682e6d6178287469636b537465702873746172742c2073746f702c20696e74657276616c292c2031293b0a2020202020202020696e74657276616c203d206d696c6c697365636f6e642424313b0a2020202020207d0a202020207d0a0a2020202072657475726e2073746570203d3d206e756c6c203f20696e74657276616c203a20696e74657276616c2e65766572792873746570293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e206e6577204461746528696e76657274287929293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20646f6d61696e286d617024322e63616c6c285f2c206e756d62657224332929203a20646f6d61696e28292e6d617028646174652431293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28292c0a20202020202020207430203d20645b305d2c0a20202020202020207431203d20645b642e6c656e677468202d20315d2c0a202020202020202072203d207431203c2074302c0a2020202020202020743b0a202020206966202872292074203d2074302c207430203d2074312c207431203d20743b0a2020202074203d207469636b496e74657276616c28696e74657276616c2c2074302c2074312c2073746570293b0a2020202074203d2074203f20742e72616e67652874302c207431202b203129203a205b5d3b202f2f20696e636c75736976652073746f700a2020202072657475726e2072203f20742e726576657273652829203a20743b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e20737065636966696572203d3d206e756c6c203f207469636b466f726d6174203a20666f726d617428737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e2028696e74657276616c203d207469636b496e74657276616c28696e74657276616c2c20645b305d2c20645b642e6c656e677468202d20315d2c207374657029290a20202020202020203f20646f6d61696e286e69636528642c20696e74657276616c29290a20202020202020203a207363616c653b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c2063616c656e64617228796561722424312c206d6f6e74682424312c207765656b2c206461792424312c20686f75722424312c206d696e7574652424312c207365636f6e642424312c206d696c6c697365636f6e642424312c20666f726d617429293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2074696d652829207b0a202072657475726e2063616c656e64617228796561722c206d6f6e74682c2073756e6461792c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c206578706f7274732e74696d65466f726d6174292e646f6d61696e285b6e6577204461746528323030302c20302c2031292c206e6577204461746528323030302c20302c2032295d293b0a7d0a0a66756e6374696f6e2075746354696d652829207b0a202072657475726e2063616c656e64617228757463596561722c207574634d6f6e74682c2075746353756e6461792c207574634461792c20757463486f75722c207574634d696e7574652c207365636f6e642c206d696c6c697365636f6e642c206578706f7274732e757463466f726d6174292e646f6d61696e285b446174652e55544328323030302c20302c2031292c20446174652e55544328323030302c20302c2032295d293b0a7d0a0a66756e6374696f6e2073657175656e7469616c28696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206b3130203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d202878202d20783029202a206b31303b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c206b3130203d207830203d3d3d207831203f2030203a2031202f20287831202d207830292c207363616c6529203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2073657175656e7469616c28696e746572706f6c61746f72292e646f6d61696e285b78302c2078315d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20646976657267696e6728696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20302e352c0a2020202020207832203d20312c0a2020202020206b3130203d20312c0a2020202020206b3231203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d20302e35202b20282878203d202b7829202d20783129202a202878203c207831203f206b3130203a206b3231293b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c207832203d202b5f5b325d2c206b3130203d207830203d3d3d207831203f2030203a20302e35202f20287831202d207830292c206b3231203d207831203d3d3d207832203f2030203a20302e35202f20287832202d207831292c207363616c6529203a205b78302c2078312c2078325d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20646976657267696e6728696e746572706f6c61746f72292e646f6d61696e285b78302c2078312c2078325d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20636f6c6f72732873706563696669657229207b0a2020766172206e203d207370656369666965722e6c656e677468202f2036207c20302c20636f6c6f7273203d206e6577204172726179286e292c2069203d20303b0a20207768696c65202869203c206e2920636f6c6f72735b695d203d20222322202b207370656369666965722e736c6963652869202a20362c202b2b69202a2036293b0a202072657475726e20636f6c6f72733b0a7d0a0a7661722063617465676f72793130203d20636f6c6f7273282231663737623466663766306532636130326364363237323839343637626438633536346265333737633237663766376662636264323231376265636622293b0a0a76617220416363656e74203d20636f6c6f7273282237666339376662656165643466646330383666666666393933383663623066303032376662663562313736363636363622293b0a0a766172204461726b32203d20636f6c6f7273282231623965373764393566303237353730623365373239386136366136316565366162303261363736316436363636363622293b0a0a76617220506169726564203d20636f6c6f7273282261366365653331663738623462326466386133336130326366623961393965333161316366646266366666663766303063616232643636613364396166666666393962313539323822293b0a0a7661722050617374656c31203d20636f6c6f7273282266626234616562336364653363636562633564656362653466656439613666666666636365356438626466646461656366326632663222293b0a0a7661722050617374656c32203d20636f6c6f7273282262336532636466646364616363626435653866346361653465366635633966666632616566316532636363636363636322293b0a0a7661722053657431203d20636f6c6f7273282265343161316333373765623834646166346139383465613366663766303066666666333361363536323866373831626639393939393922293b0a0a7661722053657432203d20636f6c6f7273282236366332613566633864363238646130636265373861633361366438353466666439326665356334393462336233623322293b0a0a7661722053657433203d20636f6c6f7273282238646433633766666666623362656261646166623830373238306231643366646234363262336465363966636364653564396439643962633830626463636562633566666564366622293b0a0a66756e6374696f6e2072616d7028736368656d6529207b0a202072657475726e20726762426173697328736368656d655b736368656d652e6c656e677468202d20315d293b0a7d0a0a76617220736368656d65203d206e65772041727261792833292e636f6e636174280a202022643862333635663566356635356162346163222c0a202022613636313161646663323764383063646331303138353731222c0a202022613636313161646663323764663566356635383063646331303138353731222c0a202022386335313061643862333635663665386333633765616535356162346163303136363565222c0a202022386335313061643862333635663665386333663566356635633765616535356162346163303136363565222c0a202022386335313061626638313264646663323764663665386333633765616535383063646331333539373866303136363565222c0a202022386335313061626638313264646663323764663665386333663566356635633765616535383063646331333539373866303136363565222c0a202022353433303035386335313061626638313264646663323764663665386333633765616535383063646331333539373866303136363565303033633330222c0a202022353433303035386335313061626638313264646663323764663665386333663566356635633765616535383063646331333539373866303136363565303033633330220a292e6d617028636f6c6f7273293b0a0a7661722042724247203d2072616d7028736368656d65293b0a0a76617220736368656d652431203d206e65772041727261792833292e636f6e636174280a202022616638646333663766376637376662663762222c0a202022376233323934633261356366613664626130303038383337222c0a202022376233323934633261356366663766376637613664626130303038383337222c0a202022373632613833616638646333653764346538643966306433376662663762316237383337222c0a202022373632613833616638646333653764346538663766376637643966306433376662663762316237383337222c0a202022373632613833393937306162633261356366653764346538643966306433613664626130356161653631316237383337222c0a202022373632613833393937306162633261356366653764346538663766376637643966306433613664626130356161653631316237383337222c0a202022343030303462373632613833393937306162633261356366653764346538643966306433613664626130356161653631316237383337303034343162222c0a202022343030303462373632613833393937306162633261356366653764346538663766376637643966306433613664626130356161653631316237383337303034343162220a292e6d617028636f6c6f7273293b0a0a766172205052476e203d2072616d7028736368656d652431293b0a0a76617220736368656d652432203d206e65772041727261792833292e636f6e636174280a202022653961336339663766376637613164373661222c0a202022643031633862663162366461623865313836346461633236222c0a202022643031633862663162366461663766376637623865313836346461633236222c0a202022633531623764653961336339666465306566653666356430613164373661346439323231222c0a202022633531623764653961336339666465306566663766376637653666356430613164373661346439323231222c0a202022633531623764646537376165663162366461666465306566653666356430623865313836376662633431346439323231222c0a202022633531623764646537376165663162366461666465306566663766376637653666356430623865313836376662633431346439323231222c0a202022386530313532633531623764646537376165663162366461666465306566653666356430623865313836376662633431346439323231323736343139222c0a202022386530313532633531623764646537376165663162366461666465306566663766376637653666356430623865313836376662633431346439323231323736343139220a292e6d617028636f6c6f7273293b0a0a7661722050695947203d2072616d7028736368656d652432293b0a0a76617220736368656d652433203d206e65772041727261792833292e636f6e636174280a202022393938656333663766376637663161333430222c0a202022356533633939623261626432666462383633653636313031222c0a202022356533633939623261626432663766376637666462383633653636313031222c0a202022353432373838393938656333643864616562666565306236663161333430623335383036222c0a202022353432373838393938656333643864616562663766376637666565306236663161333430623335383036222c0a202022353432373838383037336163623261626432643864616562666565306236666462383633653038323134623335383036222c0a202022353432373838383037336163623261626432643864616562663766376637666565306236666462383633653038323134623335383036222c0a202022326430303462353432373838383037336163623261626432643864616562666565306236666462383633653038323134623335383036376633623038222c0a202022326430303462353432373838383037336163623261626432643864616562663766376637666565306236666462383633653038323134623335383036376633623038220a292e6d617028636f6c6f7273293b0a0a7661722050754f72203d2072616d7028736368656d652433293b0a0a76617220736368656d652434203d206e65772041727261792833292e636f6e636174280a202022656638613632663766376637363761396366222c0a202022636130303230663461353832393263356465303537316230222c0a202022636130303230663461353832663766376637393263356465303537316230222c0a202022623231383262656638613632666464626337643165356630363761396366323136366163222c0a202022623231383262656638613632666464626337663766376637643165356630363761396366323136366163222c0a202022623231383262643636303464663461353832666464626337643165356630393263356465343339336333323136366163222c0a202022623231383262643636303464663461353832666464626337663766376637643165356630393263356465343339336333323136366163222c0a202022363730303166623231383262643636303464663461353832666464626337643165356630393263356465343339336333323136366163303533303631222c0a202022363730303166623231383262643636303464663461353832666464626337663766376637643165356630393263356465343339336333323136366163303533303631220a292e6d617028636f6c6f7273293b0a0a7661722052644275203d2072616d7028736368656d652434293b0a0a76617220736368656d652435203d206e65772041727261792833292e636f6e636174280a202022656638613632666666666666393939393939222c0a202022636130303230663461353832626162616261343034303430222c0a202022636130303230663461353832666666666666626162616261343034303430222c0a202022623231383262656638613632666464626337653065306530393939393939346434643464222c0a202022623231383262656638613632666464626337666666666666653065306530393939393939346434643464222c0a202022623231383262643636303464663461353832666464626337653065306530626162616261383738373837346434643464222c0a202022623231383262643636303464663461353832666464626337666666666666653065306530626162616261383738373837346434643464222c0a202022363730303166623231383262643636303464663461353832666464626337653065306530626162616261383738373837346434643464316131613161222c0a202022363730303166623231383262643636303464663461353832666464626337666666666666653065306530626162616261383738373837346434643464316131613161220a292e6d617028636f6c6f7273293b0a0a7661722052644779203d2072616d7028736368656d652435293b0a0a76617220736368656d652436203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393162666462222c0a202022643731393163666461653631616264396539326337626236222c0a202022643731393163666461653631666666666266616264396539326337626236222c0a202022643733303237666338643539666565303930653066336638393162666462343537356234222c0a202022643733303237666338643539666565303930666666666266653066336638393162666462343537356234222c0a202022643733303237663436643433666461653631666565303930653066336638616264396539373461646431343537356234222c0a202022643733303237663436643433666461653631666565303930666666666266653066336638616264396539373461646431343537356234222c0a202022613530303236643733303237663436643433666461653631666565303930653066336638616264396539373461646431343537356234333133363935222c0a202022613530303236643733303237663436643433666461653631666565303930666666666266653066336638616264396539373461646431343537356234333133363935220a292e6d617028636f6c6f7273293b0a0a766172205264596c4275203d2072616d7028736368656d652436293b0a0a76617220736368656d652437203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393163663630222c0a202022643731393163666461653631613664393661316139363431222c0a202022643731393163666461653631666666666266613664393661316139363431222c0a202022643733303237666338643539666565303862643965663862393163663630316139383530222c0a202022643733303237666338643539666565303862666666666266643965663862393163663630316139383530222c0a202022643733303237663436643433666461653631666565303862643965663862613664393661363662643633316139383530222c0a202022643733303237663436643433666461653631666565303862666666666266643965663862613664393661363662643633316139383530222c0a202022613530303236643733303237663436643433666461653631666565303862643965663862613664393661363662643633316139383530303036383337222c0a202022613530303236643733303237663436643433666461653631666565303862666666666266643965663862613664393661363662643633316139383530303036383337220a292e6d617028636f6c6f7273293b0a0a766172205264596c476e203d2072616d7028736368656d652437293b0a0a76617220736368656d652438203d206e65772041727261792833292e636f6e636174280a202022666338643539666666666266393964353934222c0a202022643731393163666461653631616264646134326238336261222c0a202022643731393163666461653631666666666266616264646134326238336261222c0a202022643533653466666338643539666565303862653666353938393964353934333238386264222c0a202022643533653466666338643539666565303862666666666266653666353938393964353934333238386264222c0a202022643533653466663436643433666461653631666565303862653666353938616264646134363663326135333238386264222c0a202022643533653466663436643433666461653631666565303862666666666266653666353938616264646134363663326135333238386264222c0a202022396530313432643533653466663436643433666461653631666565303862653666353938616264646134363663326135333238386264356534666132222c0a202022396530313432643533653466663436643433666461653631666565303862666666666266653666353938616264646134363663326135333238386264356534666132220a292e6d617028636f6c6f7273293b0a0a76617220537065637472616c203d2072616d7028736368656d652438293b0a0a76617220736368656d652439203d206e65772041727261792833292e636f6e636174280a202022653566356639393964386339326361323566222c0a202022656466386662623265326532363663326134323338623435222c0a202022656466386662623265326532363663326134326361323566303036643263222c0a202022656466386662636365636536393964386339363663326134326361323566303036643263222c0a202022656466386662636365636536393964386339363663326134343161653736323338623435303035383234222c0a202022663766636664653566356639636365636536393964386339363663326134343161653736323338623435303035383234222c0a202022663766636664653566356639636365636536393964386339363663326134343161653736323338623435303036643263303034343162220a292e6d617028636f6c6f7273293b0a0a766172204275476e203d2072616d7028736368656d652439293b0a0a76617220736368656d65243130203d206e65772041727261792833292e636f6e636174280a202022653065636634396562636461383835366137222c0a202022656466386662623363646533386339366336383834313964222c0a202022656466386662623363646533386339366336383835366137383130663763222c0a202022656466386662626664336536396562636461386339366336383835366137383130663763222c0a202022656466386662626664336536396562636461386339366336386336626231383834313964366530313662222c0a202022663766636664653065636634626664336536396562636461386339366336386336626231383834313964366530313662222c0a202022663766636664653065636634626664336536396562636461386339366336386336626231383834313964383130663763346430303462220a292e6d617028636f6c6f7273293b0a0a7661722042755075203d2072616d7028736368656d65243130293b0a0a76617220736368656d65243131203d206e65772041727261792833292e636f6e636174280a202022653066336462613864646235343361326361222c0a202022663066396538626165346263376263636334326238636265222c0a202022663066396538626165346263376263636334343361326361303836386163222c0a202022663066396538636365626335613864646235376263636334343361326361303836386163222c0a202022663066396538636365626335613864646235376263636334346562336433326238636265303835383965222c0a202022663766636630653066336462636365626335613864646235376263636334346562336433326238636265303835383965222c0a202022663766636630653066336462636365626335613864646235376263636334346562336433326238636265303836386163303834303831220a292e6d617028636f6c6f7273293b0a0a76617220476e4275203d2072616d7028736368656d65243131293b0a0a76617220736368656d65243132203d206e65772041727261792833292e636f6e636174280a202022666565386338666462623834653334613333222c0a202022666566306439666463633861666338643539643733303166222c0a202022666566306439666463633861666338643539653334613333623330303030222c0a202022666566306439666464343965666462623834666338643539653334613333623330303030222c0a202022666566306439666464343965666462623834666338643539656636353438643733303166393930303030222c0a202022666666376563666565386338666464343965666462623834666338643539656636353438643733303166393930303030222c0a202022666666376563666565386338666464343965666462623834666338643539656636353438643733303166623330303030376630303030220a292e6d617028636f6c6f7273293b0a0a766172204f725264203d2072616d7028736368656d65243132293b0a0a76617220736368656d65243133203d206e65772041727261792833292e636f6e636174280a202022656365326630613662646462316339303939222c0a202022663665666637626463396531363761396366303238313861222c0a202022663665666637626463396531363761396366316339303939303136633539222c0a202022663665666637643064316536613662646462363761396366316339303939303136633539222c0a202022663665666637643064316536613662646462363761396366333639306330303238313861303136343530222c0a202022666666376662656365326630643064316536613662646462363761396366333639306330303238313861303136343530222c0a202022666666376662656365326630643064316536613662646462363761396366333639306330303238313861303136633539303134363336220a292e6d617028636f6c6f7273293b0a0a7661722050754275476e203d2072616d7028736368656d65243133293b0a0a76617220736368656d65243134203d206e65772041727261792833292e636f6e636174280a202022656365376632613662646462326238636265222c0a202022663165656636626463396531373461396366303537306230222c0a202022663165656636626463396531373461396366326238636265303435613864222c0a202022663165656636643064316536613662646462373461396366326238636265303435613864222c0a202022663165656636643064316536613662646462373461396366333639306330303537306230303334653762222c0a202022666666376662656365376632643064316536613662646462373461396366333639306330303537306230303334653762222c0a202022666666376662656365376632643064316536613662646462373461396366333639306330303537306230303435613864303233383538220a292e6d617028636f6c6f7273293b0a0a7661722050754275203d2072616d7028736368656d65243134293b0a0a76617220736368656d65243135203d206e65772041727261792833292e636f6e636174280a202022653765316566633939346337646431633737222c0a202022663165656636643762356438646636356230636531323536222c0a202022663165656636643762356438646636356230646431633737393830303433222c0a202022663165656636643462396461633939346337646636356230646431633737393830303433222c0a202022663165656636643462396461633939346337646636356230653732393861636531323536393130303366222c0a202022663766346639653765316566643462396461633939346337646636356230653732393861636531323536393130303366222c0a202022663766346639653765316566643462396461633939346337646636356230653732393861636531323536393830303433363730303166220a292e6d617028636f6c6f7273293b0a0a7661722050755264203d2072616d7028736368656d65243135293b0a0a76617220736368656d65243136203d206e65772041727261792833292e636f6e636174280a202022666465306464666139666235633531623861222c0a202022666565626532666262346239663736386131616530313765222c0a202022666565626532666262346239663736386131633531623861376130313737222c0a202022666565626532666363356330666139666235663736386131633531623861376130313737222c0a202022666565626532666363356330666139666235663736386131646433343937616530313765376130313737222c0a202022666666376633666465306464666363356330666139666235663736386131646433343937616530313765376130313737222c0a202022666666376633666465306464666363356330666139666235663736386131646433343937616530313765376130313737343930303661220a292e6d617028636f6c6f7273293b0a0a7661722052645075203d2072616d7028736368656d65243136293b0a0a76617220736368656d65243137203d206e65772041727261792833292e636f6e636174280a202022656466386231376663646262326337666238222c0a202022666666666363613164616234343162366334323235656138222c0a202022666666666363613164616234343162366334326337666238323533343934222c0a202022666666666363633765396234376663646262343162366334326337666238323533343934222c0a202022666666666363633765396234376663646262343162366334316439316330323235656138306332633834222c0a202022666666666439656466386231633765396234376663646262343162366334316439316330323235656138306332633834222c0a202022666666666439656466386231633765396234376663646262343162366334316439316330323235656138323533343934303831643538220a292e6d617028636f6c6f7273293b0a0a76617220596c476e4275203d2072616d7028736368656d65243137293b0a0a76617220736368656d65243138203d206e65772041727261792833292e636f6e636174280a202022663766636239616464643865333161333534222c0a202022666666666363633265363939373863363739323338343433222c0a202022666666666363633265363939373863363739333161333534303036383337222c0a202022666666666363643966306133616464643865373863363739333161333534303036383337222c0a202022666666666363643966306133616464643865373863363739343161623564323338343433303035613332222c0a202022666666666535663766636239643966306133616464643865373863363739343161623564323338343433303035613332222c0a202022666666666535663766636239643966306133616464643865373863363739343161623564323338343433303036383337303034353239220a292e6d617028636f6c6f7273293b0a0a76617220596c476e203d2072616d7028736368656d65243138293b0a0a76617220736368656d65243139203d206e65772041727261792833292e636f6e636174280a202022666666376263666563343466643935663065222c0a202022666666666434666564393865666539393239636334633032222c0a202022666666666434666564393865666539393239643935663065393933343034222c0a202022666666666434666565333931666563343466666539393239643935663065393933343034222c0a202022666666666434666565333931666563343466666539393239656337303134636334633032386332643034222c0a202022666666666535666666376263666565333931666563343466666539393239656337303134636334633032386332643034222c0a202022666666666535666666376263666565333931666563343466666539393239656337303134636334633032393933343034363632353036220a292e6d617028636f6c6f7273293b0a0a76617220596c4f724272203d2072616d7028736368656d65243139293b0a0a76617220736368656d65243230203d206e65772041727261792833292e636f6e636174280a202022666665646130666562323463663033623230222c0a202022666666666232666563633563666438643363653331613163222c0a202022666666666232666563633563666438643363663033623230626430303236222c0a202022666666666232666564393736666562323463666438643363663033623230626430303236222c0a202022666666666232666564393736666562323463666438643363666334653261653331613163623130303236222c0a202022666666666363666665646130666564393736666562323463666438643363666334653261653331613163623130303236222c0a202022666666666363666665646130666564393736666562323463666438643363666334653261653331613163626430303236383030303236220a292e6d617028636f6c6f7273293b0a0a76617220596c4f725264203d2072616d7028736368656d65243230293b0a0a76617220736368656d65243231203d206e65772041727261792833292e636f6e636174280a202022646565626637396563616531333138326264222c0a202022656666336666626464376537366261656436323137316235222c0a202022656666336666626464376537366261656436333138326264303835313963222c0a202022656666336666633664626566396563616531366261656436333138326264303835313963222c0a202022656666336666633664626566396563616531366261656436343239326336323137316235303834353934222c0a202022663766626666646565626637633664626566396563616531366261656436343239326336323137316235303834353934222c0a202022663766626666646565626637633664626566396563616531366261656436343239326336323137316235303835313963303833303662220a292e6d617028636f6c6f7273293b0a0a76617220426c756573203d2072616d7028736368656d65243231293b0a0a76617220736368656d65243232203d206e65772041727261792833292e636f6e636174280a202022653566356530613164393962333161333534222c0a202022656466386539626165346233373463343736323338623435222c0a202022656466386539626165346233373463343736333161333534303036643263222c0a202022656466386539633765396330613164393962373463343736333161333534303036643263222c0a202022656466386539633765396330613164393962373463343736343161623564323338623435303035613332222c0a202022663766636635653566356530633765396330613164393962373463343736343161623564323338623435303035613332222c0a202022663766636635653566356530633765396330613164393962373463343736343161623564323338623435303036643263303034343162220a292e6d617028636f6c6f7273293b0a0a76617220477265656e73203d2072616d7028736368656d65243232293b0a0a76617220736368656d65243233203d206e65772041727261792833292e636f6e636174280a202022663066306630626462646264363336333633222c0a202022663766376637636363636363393639363936353235323532222c0a202022663766376637636363636363393639363936363336333633323532353235222c0a202022663766376637643964396439626462646264393639363936363336333633323532353235222c0a202022663766376637643964396439626462646264393639363936373337333733353235323532323532353235222c0a202022666666666666663066306630643964396439626462646264393639363936373337333733353235323532323532353235222c0a202022666666666666663066306630643964396439626462646264393639363936373337333733353235323532323532353235303030303030220a292e6d617028636f6c6f7273293b0a0a766172204772657973203d2072616d7028736368656d65243233293b0a0a76617220736368656d65243234203d206e65772041727261792833292e636f6e636174280a202022656665646635626362646463373536626231222c0a202022663266306637636263396532396539616338366135316133222c0a202022663266306637636263396532396539616338373536626231353432373866222c0a202022663266306637646164616562626362646463396539616338373536626231353432373866222c0a202022663266306637646164616562626362646463396539616338383037646261366135316133346131343836222c0a202022666366626664656665646635646164616562626362646463396539616338383037646261366135316133346131343836222c0a202022666366626664656665646635646164616562626362646463396539616338383037646261366135316133353432373866336630303764220a292e6d617028636f6c6f7273293b0a0a76617220507572706c6573203d2072616d7028736368656d65243234293b0a0a76617220736368656d65243235203d206e65772041727261792833292e636f6e636174280a202022666565306432666339323732646532643236222c0a202022666565356439666361653931666236613461636231383164222c0a202022666565356439666361653931666236613461646532643236613530663135222c0a202022666565356439666362626131666339323732666236613461646532643236613530663135222c0a202022666565356439666362626131666339323732666236613461656633623263636231383164393930303064222c0a202022666666356630666565306432666362626131666339323732666236613461656633623263636231383164393930303064222c0a202022666666356630666565306432666362626131666339323732666236613461656633623263636231383164613530663135363730303064220a292e6d617028636f6c6f7273293b0a0a7661722052656473203d2072616d7028736368656d65243235293b0a0a76617220736368656d65243236203d206e65772041727261792833292e636f6e636174280a202022666565366365666461653662653635353064222c0a202022666565646465666462653835666438643363643934373031222c0a202022666565646465666462653835666438643363653635353064613633363033222c0a202022666565646465666464306132666461653662666438643363653635353064613633363033222c0a202022666565646465666464306132666461653662666438643363663136393133643934383031386332643034222c0a202022666666356562666565366365666464306132666461653662666438643363663136393133643934383031386332643034222c0a202022666666356562666565366365666464306132666461653662666438643363663136393133643934383031613633363033376632373034220a292e6d617028636f6c6f7273293b0a0a766172204f72616e676573203d2072616d7028736368656d65243236293b0a0a766172206375626568656c69782433203d206375626568656c69784c6f6e67286375626568656c6978283330302c20302e352c20302e30292c206375626568656c6978282d3234302c20302e352c20312e3029293b0a0a766172207761726d203d206375626568656c69784c6f6e67286375626568656c6978282d3130302c20302e37352c20302e3335292c206375626568656c69782838302c20312e35302c20302e3829293b0a0a76617220636f6f6c203d206375626568656c69784c6f6e67286375626568656c6978283236302c20302e37352c20302e3335292c206375626568656c69782838302c20312e35302c20302e3829293b0a0a7661722063203d206375626568656c697828293b0a0a66756e6374696f6e207261696e626f77287429207b0a20206966202874203c2030207c7c2074203e2031292074202d3d204d6174682e666c6f6f722874293b0a2020766172207473203d204d6174682e6162732874202d20302e35293b0a2020632e68203d20333630202a2074202d203130303b0a2020632e73203d20312e35202d20312e35202a2074733b0a2020632e6c203d20302e38202d20302e39202a2074733b0a202072657475726e2063202b2022223b0a7d0a0a76617220632431203d2072676228292c0a2020202070695f315f33203d204d6174682e5049202f20332c0a2020202070695f325f33203d204d6174682e5049202a2032202f20333b0a0a66756e6374696f6e2073696e65626f77287429207b0a202076617220783b0a202074203d2028302e35202d207429202a204d6174682e50493b0a20206324312e72203d20323535202a202878203d204d6174682e73696e28742929202a20783b0a20206324312e67203d20323535202a202878203d204d6174682e73696e2874202b2070695f315f332929202a20783b0a20206324312e62203d20323535202a202878203d204d6174682e73696e2874202b2070695f325f332929202a20783b0a202072657475726e20632431202b2022223b0a7d0a0a66756e6374696f6e2072616d7024312872616e676529207b0a2020766172206e203d2072616e67652e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2072616e67655b4d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a206e2929295d3b0a20207d3b0a7d0a0a7661722076697269646973203d2072616d70243128636f6c6f727328223434303135343434303235363435303435373435303535393436303735613436303835633436306135643436306235653437306436303437306536313437313036333437313136343437313336353438313436373438313636383438313736393438313836613438316136633438316236643438316336653438316436663438316637303438323037313438323137333438323337343438323437353438323537363438323637373438323837383438323937393437326137613437326337613437326437623437326537633437326637643436333037653436333237653436333337663436333438303435333538313435333738313435333838323434333938333434336138333434336238343433336438343433336538353432336638353432343038363432343138363431343238373431343438373430343538383430343638383366343738383366343838393365343938393365346138393365346338613364346438613364346538613363346638613363353038623362353138623362353238623361353338623361353438633339353538633339353638633338353838633338353938633337356138633337356238643336356338643336356438643335356538643335356638643334363038643334363138643333363238643333363338643332363438653332363538653331363638653331363738653331363838653330363938653330366138653266366238653266366338653265366438653265366538653265366638653264373038653264373138653263373138653263373238653263373338653262373438653262373538653261373638653261373738653261373838653239373938653239376138653239376238653238376338653238376438653237376538653237376638653237383038653236383138653236383238653236383238653235383338653235383438653235383538653234383638653234383738653233383838653233383938653233386138643232386238643232386338643232386438643231386538643231386638643231393038643231393138633230393238633230393238633230393338633166393438633166393538623166393638623166393738623166393838623166393938613166396138613165396238613165396338393165396438393166396538393166396638383166613038383166613138383166613138373166613238373230613338363230613438363231613538353231613638353232613738353232613838343233613938333234616138333235616238323235616338323236616438313237616438313238616538303239616637663261623037663263623137653264623237643265623337633266623437633331623537623332623637613334623637393335623737393337623837383338623937373361626137363362626237353364626337343366626337333430626437323432626537313434626637303436633036663438633136653461633136643463633236633465633336623530633436613532633536393534633536383536633636373538633736353561633836343563633836333565633936323630636136303633636235663635636235653637636335633639636435623663636435613665636535383730636635373733643035363735643035343737643135333761643135313763643235303766643334653831643334643834643434623836643534393839643534383862643634363865643634353930643734333933643734313935643834303938643833653962643933633964643933626130646133396132646133376135646233366138646233346161646333326164646333306230646432666232646432646235646532626238646532396261646532386264646632366330646632356332646632336335653032316338653032306361653131666364653131646430653131636432653231626435653231616438653231396461653331396464653331386466653331386532653431386535653431396537653431396561653531616563653531626566653531636631653531646634653631656636653632306638653632316662653732336664653732352229293b0a0a766172206d61676d61203d2072616d70243128636f6c6f727328223030303030343031303030353031303130363031303130383032303130393032303230623032303230643033303330663033303331323034303431343035303431363036303531383036303531613037303631633038303731653039303732303061303832323062303932343063303932363064306132393065306232623130306232643131306332663132306433313133306433343134306533363135306533383136306633623138306633643139313033663161313034323163313034343164313134373165313134393230313134623231313134653232313135303234313235333235313235353237313235383239313135613261313135633263313135663264313136313266313136333331313136353333313036373334313036393336313036623338313036633339306636653362306637303364306637313366306637323430306637343432306637353434306637363435313037373437313037383439313037383461313037393463313137613465313137623466313237623531313237633532313337633534313337643536313437643537313537653539313537653561313637653563313637663564313737663566313837663630313838303632313938303634316138303635316138303637316238303638316338313661316338313662316438313664316438313665316538313730316638313732316638313733323038313735323138313736323138313738323238313739323238323762323338323763323338323765323438323830323538323831323538313833323638313834323638313836323738313838323738313839323838313862323938313863323938313865326138313930326138313931326238313933326238303934326338303936326338303938326438303939326438303962326537663963326537663965326637666130326637666131333037656133333037656135333137656136333137646138333237646161333337646162333337636164333437636165333437626230333537626232333537626233333637616235333637616237333737396238333737396261333837386263333937386264333937376266336137376330336137366332336237356334336337356335336337346337336437336338336537336361336537326363336637316364343037316366343037306430343136666432343236666433343336656435343436646436343536636438343536636439343636626462343736616463343836396465343936386466346136386530346336376532346436366533346536356534346636346535353036346537353236336538353336326539353436326561353636316562353736306563353836306564356135666565356235656566356435656630356635656631363035646632363235646632363435636633363535636634363735636634363935636635366235636636366335636636366535636637373035636637373235636638373435636638373635636639373835646639373935646639376235646661376435656661376635656661383135666662383335666662383536306662383736316663383936316663386136326663386336336663386536346663393036356664393236366664393436376664393636386664393836396664396136616664396236626665396436636665396636646665613136656665613336666665613537316665613737326665613937336665616137346665616337366665616537376665623037386665623237616665623437626665623637636665623737656665623937666665626238316665626438326665626638346665633138356665633238376665633438386665633638616665633838636665636138646665636338666665636439306665636639326665643139346665643339356665643539376665643739396665643839616664646139636664646339656664646561306664653061316664653261336664653361356664653561376664653761396664653961616664656261636663656361656663656562306663663062326663663262346663663462366663663662386663663762396663663962626663666262646663666462662229293b0a0a76617220696e6665726e6f203d2072616d70243128636f6c6f727328223030303030343031303030353031303130363031303130383032303130613032303230633032303230653033303231303034303331323034303331343035303431373036303431393037303531623038303531643039303631663061303732323062303732343063303832363064303832393065303932623130303932643131306133303132306133323134306233343135306233373136306233393138306333633139306333653162306334313163306334333165306334353166306334383231306334613233306334633234306334663236306335313238306235333239306235353262306235373264306235393266306135623331306135633332306135653334306135663336303936313338303936323339303936333362303936343364303936353365303936363430306136373432306136383434306136383435306136393437306236613439306236613461306336623463306336623464306436633466306436633531306536633532306536643534306636643535306636643537313036653539313036653561313136653563313236653564313236653566313336653631313336653632313436653634313536653635313536653637313636653639313636653661313736653663313836653664313836653666313936653731313936653732316136653734316136653735316236653737316336643738316336643761316436643763316436643764316536643766316536633830316636633832323036633834323036623835323136623837323136623838323236613861323236613863323336393864323336393866323436393930323536383932323536383933323636373935323636373937323736363938323736363961323836353962323936343964323936343966326136336130326136336132326236326133326336316135326336306136326436306138326535666139326535656162326635656164333035646165333035636230333135626231333235616233333235616234333335396236333435386237333535376239333535366261333635356263333735346264333835336266333935326330336135316331336135306333336234666334336334656336336434646337336534636338336634626361343034616362343134396363343234386365343334376366343434366430343534356432343634346433343734336434343834326435346134316437346233666438346333656439346433646461346533636462353033626464353133616465353233386466353333376530353533366531353633356532353733346533353933336534356133316535356333306536356432666537356532656538363032646539363132626561363332616562363432396562363632386563363732366564363932356565366132346566366332336566366532316630366632306631373131666631373331646632373431636633373631626633373831396634373931386635376231376635376431356636376531346636383031336637383231326637383431306638383530666638383730656638383930636639386230626639386330616639386530396661393030386661393230376661393430376662393630366662393730366662393930366662396230366662396430376663396630376663613130386663613330396663613530616663613630636663613830646663616130666663616331316663616531326663623031346663623231366663623431386662623631616662623831646662626131666662626332316662626532336661633032366661633232386661633432616661633632646639633732666639633933326639636233356638636433376638636633616637643133646637643334306636643534336636643734366635643934396635646234636634646434666634646635336634653135366633653335616633653535646632653636316632653836356632656136396631656336646631656437316631656637356631663137396632663237646632663438326633663538366633663638616634663838656635663939326636666139366638666239616639666339646661666461316663666661342229293b0a0a76617220706c61736d61203d2072616d70243128636f6c6f727328223064303838373130303738383133303738393136303738613139303638633162303638643164303638653230303638663232303639303234303639313236303539313238303539323261303539333263303539343265303539353266303539363331303539373333303539373335303439383337303439393338303439613361303439613363303439623365303439633366303439633431303439643433303339653434303339653436303339663438303339663439303361303462303361313463303261313465303261323530303261323531303261333533303261333535303261343536303161343538303161343539303161353562303161353563303161363565303161363630303161363631303061373633303061373634303061373636303061373637303061383639303061383661303061383663303061383665303061383666303061383731303061383732303161383734303161383735303161383737303161383738303161383761303261383762303261383764303361383765303361383830303461383831303461373833303561373834303561373836303661363837303761363838303861363861303961353862306161353864306261353865306361343866306461343931306561333932306661333934313061323935313161313936313361313938313461303939313539663961313639663963313739653964313839643965313939646130316139636131316239626132316439616133316539616135316639396136323039386137323139376138323239366161323339356162323439346163323639346164323739336165323839326230323939316231326139306232326238666233326338656234326538646235326638636236333038626237333138616238333238396261333338386262333438386263333538376264333738366265333838356266333938346330336138336331336238326332336338316333336438306334336537666335343037656336343137646337343237636338343337626339343437616361343537616362343637396363343737386363343937376364346137366365346237356366346337346430346437336431346537326432346637316433353137316434353237306435353336666435353436656436353536646437353636636438353736626439353836616461356136616461356236396462356336386463356436376464356536366465356636356465363136346466363236336530363336336531363436326532363536316532363636306533363835666534363935656535366135646535366235646536366335636537366535626537366635616538373035396539373135386539373235376561373435376562373535366562373635356563373735346564373935336564376135326565376235316566376335316566376535306630376634666630383034656631383134646631383334636632383434626633383534626633383734616634383834396634383934386635386234376635386334366636386434356636386634346637393034346637393134336637393334326638393434316638393534306639393733666639393833656639396133656661396233646661396333636661396533626662396633616662613133396662613233386663613333386663613533376663613633366663613833356663613933346664616233336664616333336664616533326664616633316664623133306664623232666664623432666664623532656665623732646665623832636665626132636665626232626665626432616665626532616665633032396664633232396664633332386664633532376664633632376664633832376664636132366664636232366663636432356663636532356663643032356663643232356662643332346662643532346662643732346661643832346661646132346639646332346639646432356638646632356638653132356637653232356637653432356636653632366636653832366635653932366635656232376634656432376633656532376633663032376632663232376631663432366631663532356630663732346630663932312229293b0a0a66756e6374696f6e20636f6e7374616e74243131287829207b0a202072657475726e2066756e6374696f6e20636f6e7374616e742829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a766172206162732431203d204d6174682e6162733b0a766172206174616e322431203d204d6174682e6174616e323b0a76617220636f732432203d204d6174682e636f733b0a766172206d61782432203d204d6174682e6d61783b0a766172206d696e2431203d204d6174682e6d696e3b0a7661722073696e2432203d204d6174682e73696e3b0a76617220737172742432203d204d6174682e737172743b0a0a76617220657073696c6f6e2433203d2031652d31323b0a7661722070692434203d204d6174682e50493b0a7661722068616c6650692433203d2070692434202f20323b0a766172207461752434203d2032202a20706924343b0a0a66756e6374696f6e2061636f732431287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f2070692434203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e2431287829207b0a202072657475726e2078203e3d2031203f2068616c6650692433203a2078203c3d202d31203f202d68616c6650692433203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20617263496e6e6572526164697573286429207b0a202072657475726e20642e696e6e65725261646975733b0a7d0a0a66756e6374696f6e206172634f75746572526164697573286429207b0a202072657475726e20642e6f757465725261646975733b0a7d0a0a66756e6374696f6e206172635374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e20617263456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20617263506164416e676c65286429207b0a202072657475726e206420262620642e706164416e676c653b202f2f204e6f74653a206f7074696f6e616c210a7d0a0a66756e6374696f6e20696e746572736563742878302c2079302c2078312c2079312c2078322c2079322c2078332c20793329207b0a202076617220783130203d207831202d2078302c20793130203d207931202d2079302c0a202020202020783332203d207833202d2078322c20793332203d207933202d2079322c0a20202020202074203d2028783332202a20287930202d20793229202d20793332202a20287830202d2078322929202f2028793332202a20783130202d20783332202a20793130293b0a202072657475726e205b7830202b2074202a207831302c207930202b2074202a207931305d3b0a7d0a0a2f2f20436f6d707574652070657270656e646963756c6172206f6666736574206c696e65206f66206c656e6774682072632e0a2f2f20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f436972636c652d4c696e65496e74657273656374696f6e2e68746d6c0a66756e6374696f6e20636f726e657254616e67656e74732878302c2079302c2078312c2079312c2072312c2072632c20637729207b0a202076617220783031203d207830202d2078312c0a202020202020793031203d207930202d2079312c0a2020202020206c6f203d20286377203f207263203a202d726329202f2073717274243228783031202a20783031202b20793031202a20793031292c0a2020202020206f78203d206c6f202a207930312c0a2020202020206f79203d202d6c6f202a207830312c0a202020202020783131203d207830202b206f782c0a202020202020793131203d207930202b206f792c0a202020202020783130203d207831202b206f782c0a202020202020793130203d207931202b206f792c0a202020202020783030203d2028783131202b2078313029202f20322c0a202020202020793030203d2028793131202b2079313029202f20322c0a2020202020206478203d20783130202d207831312c0a2020202020206479203d20793130202d207931312c0a2020202020206432203d206478202a206478202b206479202a2064792c0a20202020202072203d207231202d2072632c0a20202020202044203d20783131202a20793130202d20783130202a207931312c0a20202020202064203d20286479203c2030203f202d31203a203129202a20737172742432286d6178243228302c2072202a2072202a206432202d2044202a204429292c0a202020202020637830203d202844202a206479202d206478202a206429202f2064322c0a202020202020637930203d20282d44202a206478202d206479202a206429202f2064322c0a202020202020637831203d202844202a206479202b206478202a206429202f2064322c0a202020202020637931203d20282d44202a206478202b206479202a206429202f2064322c0a202020202020647830203d20637830202d207830302c0a202020202020647930203d20637930202d207930302c0a202020202020647831203d20637831202d207830302c0a202020202020647931203d20637931202d207930303b0a0a20202f2f205069636b2074686520636c6f736572206f66207468652074776f20696e74657273656374696f6e20706f696e74732e0a20202f2f20544f444f2049732074686572652061206661737465722077617920746f2064657465726d696e6520776869636820696e74657273656374696f6e20746f207573653f0a202069662028647830202a20647830202b20647930202a20647930203e20647831202a20647831202b20647931202a206479312920637830203d206378312c20637930203d206379313b0a0a202072657475726e207b0a2020202063783a206378302c0a2020202063793a206379302c0a202020207830313a202d6f782c0a202020207930313a202d6f792c0a202020207831313a20637830202a20287231202f2072202d2031292c0a202020207931313a20637930202a20287231202f2072202d2031290a20207d3b0a7d0a0a66756e6374696f6e206172632829207b0a202076617220696e6e6572526164697573203d20617263496e6e65725261646975732c0a2020202020206f75746572526164697573203d206172634f757465725261646975732c0a202020202020636f726e6572526164697573203d20636f6e7374616e742431312830292c0a202020202020706164526164697573203d206e756c6c2c0a2020202020207374617274416e676c65203d206172635374617274416e676c652c0a202020202020656e64416e676c65203d20617263456e64416e676c652c0a202020202020706164416e676c65203d20617263506164416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206172632829207b0a20202020766172206275666665722c0a2020202020202020722c0a20202020202020207230203d202b696e6e65725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020207231203d202b6f757465725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206130203d207374617274416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c66506924332c0a20202020202020206131203d20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c66506924332c0a20202020202020206461203d206162732431286131202d206130292c0a20202020202020206377203d206131203e2061303b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a0a202020202f2f20456e73757265207468617420746865206f757465722072616469757320697320616c77617973206c6172676572207468616e2074686520696e6e6572207261646975732e0a20202020696620287231203c207230292072203d2072312c207231203d2072302c207230203d20723b0a0a202020202f2f204973206974206120706f696e743f0a202020206966202821287231203e20657073696c6f6e2433292920636f6e746578742e6d6f7665546f28302c2030293b0a0a202020202f2f204f72206973206974206120636972636c65206f7220616e6e756c75733f0a20202020656c736520696620286461203e207461752434202d20657073696c6f6e243329207b0a202020202020636f6e746578742e6d6f7665546f287231202a20636f732432286130292c207231202a2073696e243228613029293b0a202020202020636f6e746578742e61726328302c20302c2072312c2061302c2061312c20216377293b0a202020202020696620287230203e20657073696c6f6e243329207b0a2020202020202020636f6e746578742e6d6f7665546f287230202a20636f732432286131292c207230202a2073696e243228613129293b0a2020202020202020636f6e746578742e61726328302c20302c2072302c2061312c2061302c206377293b0a2020202020207d0a202020207d0a0a202020202f2f204f7220697320697420612063697263756c6172206f7220616e6e756c617220736563746f723f0a20202020656c7365207b0a20202020202076617220613031203d2061302c0a20202020202020202020613131203d2061312c0a20202020202020202020613030203d2061302c0a20202020202020202020613130203d2061312c0a20202020202020202020646130203d2064612c0a20202020202020202020646131203d2064612c0a202020202020202020206170203d20706164416e676c652e6170706c7928746869732c20617267756d656e747329202f20322c0a202020202020202020207270203d20286170203e20657073696c6f6e2433292026262028706164526164697573203f202b7061645261646975732e6170706c7928746869732c20617267756d656e747329203a20737172742432287230202a207230202b207231202a20723129292c0a202020202020202020207263203d206d696e2431286162732431287231202d20723029202f20322c202b636f726e65725261646975732e6170706c7928746869732c20617267756d656e747329292c0a20202020202020202020726330203d2072632c0a20202020202020202020726331203d2072632c0a2020202020202020202074302c0a2020202020202020202074313b0a0a2020202020202f2f204170706c792070616464696e673f204e6f746520746861742073696e636520723120e289a52072302c2064613120e289a5206461302e0a202020202020696620287270203e20657073696c6f6e243329207b0a2020202020202020766172207030203d206173696e2431287270202f207230202a2073696e243228617029292c0a2020202020202020202020207031203d206173696e2431287270202f207231202a2073696e243228617029293b0a20202020202020206966202828646130202d3d207030202a203229203e20657073696c6f6e243329207030202a3d20286377203f2031203a202d31292c20613030202b3d2070302c20613130202d3d2070303b0a2020202020202020656c736520646130203d20302c20613030203d20613130203d20286130202b20613129202f20323b0a20202020202020206966202828646131202d3d207031202a203229203e20657073696c6f6e243329207031202a3d20286377203f2031203a202d31292c20613031202b3d2070312c20613131202d3d2070313b0a2020202020202020656c736520646131203d20302c20613031203d20613131203d20286130202b20613129202f20323b0a2020202020207d0a0a20202020202076617220783031203d207231202a20636f73243228613031292c0a20202020202020202020793031203d207231202a2073696e243228613031292c0a20202020202020202020783130203d207230202a20636f73243228613130292c0a20202020202020202020793130203d207230202a2073696e243228613130293b0a0a2020202020202f2f204170706c7920726f756e64656420636f726e6572733f0a202020202020696620287263203e20657073696c6f6e243329207b0a202020202020202076617220783131203d207231202a20636f73243228613131292c0a202020202020202020202020793131203d207231202a2073696e243228613131292c0a202020202020202020202020783030203d207230202a20636f73243228613030292c0a202020202020202020202020793030203d207230202a2073696e243228613030293b0a0a20202020202020202f2f2052657374726963742074686520636f726e657220726164697573206163636f7264696e6720746f2074686520736563746f7220616e676c652e0a2020202020202020696620286461203c207069243429207b0a20202020202020202020766172206f63203d20646130203e20657073696c6f6e2433203f20696e74657273656374287830312c207930312c207830302c207930302c207831312c207931312c207831302c2079313029203a205b7831302c207931305d2c0a20202020202020202020202020206178203d20783031202d206f635b305d2c0a20202020202020202020202020206179203d20793031202d206f635b315d2c0a20202020202020202020202020206278203d20783131202d206f635b305d2c0a20202020202020202020202020206279203d20793131202d206f635b315d2c0a20202020202020202020202020206b63203d2031202f2073696e24322861636f73243128286178202a206278202b206179202a20627929202f2028737172742432286178202a206178202b206179202a20617929202a20737172742432286278202a206278202b206279202a206279292929202f2032292c0a20202020202020202020202020206c63203d20737172742432286f635b305d202a206f635b305d202b206f635b315d202a206f635b315d293b0a20202020202020202020726330203d206d696e24312872632c20287230202d206c6329202f20286b63202d203129293b0a20202020202020202020726331203d206d696e24312872632c20287231202d206c6329202f20286b63202b203129293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f2049732074686520736563746f7220636f6c6c617073656420746f2061206c696e653f0a202020202020696620282128646131203e20657073696c6f6e2433292920636f6e746578742e6d6f7665546f287830312c20793031293b0a0a2020202020202f2f20446f65732074686520736563746f72e2809973206f757465722072696e67206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726331203e20657073696c6f6e243329207b0a20202020202020207430203d20636f726e657254616e67656e7473287830302c207930302c207830312c207930312c2072312c207263312c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287831312c207931312c207831302c207931302c2072312c207263312c206377293b0a0a2020202020202020636f6e746578742e6d6f7665546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726331203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072312c206174616e3224312874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e3224312874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c20216377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263312c206174616e3224312874312e7931312c2074312e783131292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f7220697320746865206f757465722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e6d6f7665546f287830312c20793031292c20636f6e746578742e61726328302c20302c2072312c206130312c206131312c20216377293b0a0a2020202020202f2f204973207468657265206e6f20696e6e65722072696e672c20616e64206974e280997320612063697263756c617220736563746f723f0a2020202020202f2f204f722070657268617073206974e280997320616e20616e6e756c617220736563746f7220636f6c6c61707365642064756520746f2070616464696e673f0a2020202020206966202821287230203e20657073696c6f6e243329207c7c202128646130203e20657073696c6f6e2433292920636f6e746578742e6c696e65546f287831302c20793130293b0a0a2020202020202f2f20446f65732074686520736563746f72e280997320696e6e65722072696e6720286f7220706f696e7429206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726330203e20657073696c6f6e243329207b0a20202020202020207430203d20636f726e657254616e67656e7473287831302c207931302c207831312c207931312c2072302c202d7263302c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287830312c207930312c207830302c207930302c2072302c202d7263302c206377293b0a0a2020202020202020636f6e746578742e6c696e65546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726330203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e3224312874302e7930312c2074302e783031292c206174616e3224312874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072302c206174616e3224312874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e3224312874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c206377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263302c206174616e3224312874312e7931312c2074312e783131292c206174616e3224312874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f722069732074686520696e6e65722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e61726328302c20302c2072302c206131302c206130302c206377293b0a202020207d0a0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206172632e63656e74726f6964203d2066756e6374696f6e2829207b0a202020207661722072203d20282b696e6e65725261646975732e6170706c7928746869732c20617267756d656e747329202b202b6f757465725261646975732e6170706c7928746869732c20617267756d656e74732929202f20322c0a202020202020202061203d20282b7374617274416e676c652e6170706c7928746869732c20617267756d656e747329202b202b656e64416e676c652e6170706c7928746869732c20617267756d656e74732929202f2032202d2070692434202f20323b0a2020202072657475726e205b636f732432286129202a20722c2073696e2432286129202a20725d3b0a20207d3b0a0a20206172632e696e6e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e6e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20696e6e65725261646975733b0a20207d3b0a0a20206172632e6f75746572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f75746572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a206f757465725261646975733b0a20207d3b0a0a20206172632e636f726e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f726e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20636f726e65725261646975733b0a20207d3b0a0a20206172632e706164526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164526164697573203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a207061645261646975733b0a20207d3b0a0a20206172632e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a207374617274416e676c653b0a20207d3b0a0a20206172632e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20656e64416e676c653b0a20207d3b0a0a20206172632e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2061726329203a20706164416e676c653b0a20207d3b0a0a20206172632e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2061726329203a20636f6e746578743b0a20207d3b0a0a202072657475726e206172633b0a7d0a0a66756e6374696f6e204c696e65617228636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e6561722e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a20746869732e5f636f6e746578742e6c696e65546f28782c2079293b20627265616b3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2063757276654c696e65617228636f6e7465787429207b0a202072657475726e206e6577204c696e65617228636f6e74657874293b0a7d0a0a66756e6374696f6e20782433287029207b0a202072657475726e20705b305d3b0a7d0a0a66756e6374696f6e20792433287029207b0a202072657475726e20705b315d3b0a7d0a0a66756e6374696f6e206c696e652829207b0a20207661722078242431203d207824332c0a20202020202079242431203d207924332c0a202020202020646566696e6564203d20636f6e7374616e742431312874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e206c696e65286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665723b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d20706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029206f75747075742e6c696e65537461727428293b0a2020202020202020656c7365206f75747075742e6c696e65456e6428293b0a2020202020207d0a20202020202069662028646566696e65643029206f75747075742e706f696e74282b7824243128642c20692c2064617461292c202b7924243128642c20692c206461746129293b0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6529203a20782424313b0a20207d3b0a0a20206c696e652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6529203a20792424313b0a20207d3b0a0a20206c696e652e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431312821215f292c206c696e6529203a20646566696e65643b0a20207d3b0a0a20206c696e652e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206c696e6529203a2063757276653b0a20207d3b0a0a20206c696e652e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206c696e6529203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e653b0a7d0a0a66756e6374696f6e206172656124332829207b0a2020766172207830203d207824332c0a2020202020207831203d206e756c6c2c0a2020202020207930203d20636f6e7374616e742431312830292c0a2020202020207931203d207924332c0a202020202020646566696e6564203d20636f6e7374616e742431312874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e2061726561286461746129207b0a2020202076617220692c0a20202020202020206a2c0a20202020202020206b2c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665722c0a202020202020202078307a203d206e6577204172726179286e292c0a202020202020202079307a203d206e6577204172726179286e293b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d20706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029207b0a202020202020202020206a203d20693b0a202020202020202020206f75747075742e61726561537461727428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020207d20656c7365207b0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020202020666f7220286b203d2069202d20313b206b203e3d206a3b202d2d6b29207b0a2020202020202020202020206f75747075742e706f696e742878307a5b6b5d2c2079307a5b6b5d293b0a202020202020202020207d0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e61726561456e6428293b0a20202020202020207d0a2020202020207d0a20202020202069662028646566696e65643029207b0a202020202020202078307a5b695d203d202b783028642c20692c2064617461292c2079307a5b695d203d202b793028642c20692c2064617461293b0a20202020202020206f75747075742e706f696e74287831203f202b783128642c20692c206461746129203a2078307a5b695d2c207931203f202b793128642c20692c206461746129203a2079307a5b695d293b0a2020202020207d0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202066756e6374696f6e20617265616c696e652829207b0a2020202072657475726e206c696e6528292e646566696e656428646566696e6564292e6375727665286375727665292e636f6e7465787428636f6e74657874293b0a20207d0a0a2020617265612e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c207831203d206e756c6c2c206172656129203a2078303b0a20207d3b0a0a2020617265612e7830203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2078303b0a20207d3b0a0a2020617265612e7831203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287831203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2078313b0a20207d3b0a0a2020617265612e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c207931203d206e756c6c2c206172656129203a2079303b0a20207d3b0a0a2020617265612e7930203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2079303b0a20207d3b0a0a2020617265612e7931203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287931203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206172656129203a2079313b0a20207d3b0a0a2020617265612e6c696e655830203d0a2020617265612e6c696e655930203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287930293b0a20207d3b0a0a2020617265612e6c696e655931203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287931293b0a20207d3b0a0a2020617265612e6c696e655831203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287831292e79287930293b0a20207d3b0a0a2020617265612e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431312821215f292c206172656129203a20646566696e65643b0a20207d3b0a0a2020617265612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206172656129203a2063757276653b0a20207d3b0a0a2020617265612e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206172656129203a20636f6e746578743b0a20207d3b0a0a202072657475726e20617265613b0a7d0a0a66756e6374696f6e2064657363656e64696e67243128612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d0a0a66756e6374696f6e206964656e746974792437286429207b0a202072657475726e20643b0a7d0a0a66756e6374696f6e207069652829207b0a20207661722076616c7565203d206964656e7469747924372c0a202020202020736f727456616c756573203d2064657363656e64696e6724312c0a202020202020736f7274203d206e756c6c2c0a2020202020207374617274416e676c65203d20636f6e7374616e742431312830292c0a202020202020656e64416e676c65203d20636f6e7374616e74243131287461752434292c0a202020202020706164416e676c65203d20636f6e7374616e742431312830293b0a0a202066756e6374696f6e20706965286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a20202020202020206a2c0a20202020202020206b2c0a202020202020202073756d203d20302c0a2020202020202020696e646578203d206e6577204172726179286e292c0a202020202020202061726373203d206e6577204172726179286e292c0a20202020202020206130203d202b7374617274416e676c652e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206461203d204d6174682e6d696e2874617524342c204d6174682e6d6178282d74617524342c20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d20613029292c0a202020202020202061312c0a202020202020202070203d204d6174682e6d696e284d6174682e61627328646129202f206e2c20706164416e676c652e6170706c7928746869732c20617267756d656e747329292c0a20202020202020207061203d2070202a20286461203c2030203f202d31203a2031292c0a2020202020202020763b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020696620282876203d20617263735b696e6465785b695d203d20695d203d202b76616c756528646174615b695d2c20692c20646174612929203e203029207b0a202020202020202073756d202b3d20763b0a2020202020207d0a202020207d0a0a202020202f2f204f7074696f6e616c6c7920736f72742074686520617263732062792070726576696f75736c792d636f6d70757465642076616c756573206f7220627920646174612e0a2020202069662028736f727456616c75657320213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727456616c75657328617263735b695d2c20617263735b6a5d293b207d293b0a20202020656c73652069662028736f727420213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727428646174615b695d2c20646174615b6a5d293b207d293b0a0a202020202f2f20436f6d70757465207468652061726373212054686579206172652073746f72656420696e20746865206f726967696e616c20646174612773206f726465722e0a20202020666f72202869203d20302c206b203d2073756d203f20286461202d206e202a20706129202f2073756d203a20303b2069203c206e3b202b2b692c206130203d20613129207b0a2020202020206a203d20696e6465785b695d2c2076203d20617263735b6a5d2c206131203d206130202b202876203e2030203f2076202a206b203a203029202b2070612c20617263735b6a5d203d207b0a2020202020202020646174613a20646174615b6a5d2c0a2020202020202020696e6465783a20692c0a202020202020202076616c75653a20762c0a20202020202020207374617274416e676c653a2061302c0a2020202020202020656e64416e676c653a2061312c0a2020202020202020706164416e676c653a20700a2020202020207d3b0a202020207d0a0a2020202072657475726e20617263733b0a20207d0a0a20207069652e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a2076616c75653b0a20207d3b0a0a20207069652e736f727456616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727456616c756573203d205f2c20736f7274203d206e756c6c2c2070696529203a20736f727456616c7565733b0a20207d3b0a0a20207069652e736f7274203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f7274203d205f2c20736f727456616c756573203d206e756c6c2c2070696529203a20736f72743b0a20207d3b0a0a20207069652e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a207374617274416e676c653b0a20207d3b0a0a20207069652e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a20656e64416e676c653b0a20207d3b0a0a20207069652e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2070696529203a20706164416e676c653b0a20207d3b0a0a202072657475726e207069653b0a7d0a0a76617220637572766552616469616c4c696e656172203d20637572766552616469616c2863757276654c696e656172293b0a0a66756e6374696f6e2052616469616c28637572766529207b0a2020746869732e5f6375727665203d2063757276653b0a7d0a0a52616469616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561537461727428293b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561456e6428293b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28612c207229207b0a20202020746869732e5f63757276652e706f696e742872202a204d6174682e73696e2861292c2072202a202d4d6174682e636f73286129293b0a20207d0a7d3b0a0a66756e6374696f6e20637572766552616469616c28637572766529207b0a0a202066756e6374696f6e2072616469616c28636f6e7465787429207b0a2020202072657475726e206e65772052616469616c28637572766528636f6e7465787429293b0a20207d0a0a202072616469616c2e5f6375727665203d2063757276653b0a0a202072657475726e2072616469616c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c286c29207b0a20207661722063203d206c2e63757276653b0a0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a0a20206c2e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e206c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c24312829207b0a202072657475726e206c696e6552616469616c286c696e6528292e637572766528637572766552616469616c4c696e65617229293b0a7d0a0a66756e6374696f6e206172656152616469616c2829207b0a20207661722061203d2061726561243328292e637572766528637572766552616469616c4c696e656172292c0a20202020202063203d20612e63757276652c0a2020202020207830203d20612e6c696e6558302c0a2020202020207831203d20612e6c696e6558312c0a2020202020207930203d20612e6c696e6559302c0a2020202020207931203d20612e6c696e6559313b0a0a2020612e616e676c65203d20612e782c2064656c65746520612e783b0a2020612e7374617274416e676c65203d20612e78302c2064656c65746520612e78303b0a2020612e656e64416e676c65203d20612e78312c2064656c65746520612e78313b0a2020612e726164697573203d20612e792c2064656c65746520612e793b0a2020612e696e6e6572526164697573203d20612e79302c2064656c65746520612e79303b0a2020612e6f75746572526164697573203d20612e79312c2064656c65746520612e79313b0a2020612e6c696e655374617274416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878302829293b207d2c2064656c65746520612e6c696e6558303b0a2020612e6c696e65456e64416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878312829293b207d2c2064656c65746520612e6c696e6558313b0a2020612e6c696e65496e6e6572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879302829293b207d2c2064656c65746520612e6c696e6559303b0a2020612e6c696e654f75746572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879312829293b207d2c2064656c65746520612e6c696e6559313b0a0a2020612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e20613b0a7d0a0a66756e6374696f6e20706f696e7452616469616c28782c207929207b0a202072657475726e205b2879203d202b7929202a204d6174682e636f732878202d3d204d6174682e5049202f2032292c2079202a204d6174682e73696e2878295d3b0a7d0a0a76617220736c6963652436203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206c696e6b536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e206c696e6b546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e206c696e6b243228637572766529207b0a202076617220736f75726365203d206c696e6b536f757263652c0a202020202020746172676574203d206c696e6b5461726765742c0a20202020202078242431203d207824332c0a20202020202079242431203d207924332c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206c696e6b2829207b0a20202020766172206275666665722c2061726776203d20736c69636524362e63616c6c28617267756d656e7473292c2073203d20736f757263652e6170706c7928746869732c2061726776292c2074203d207461726765742e6170706c7928746869732c2061726776293b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a20202020637572766528636f6e746578742c202b782424312e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c202b792424312e6170706c7928746869732c2061726776292c202b782424312e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c202b792424312e6170706c7928746869732c206172677629293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e6b2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c206c696e6b29203a20736f757263653b0a20207d3b0a0a20206c696e6b2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c206c696e6b29203a207461726765743b0a20207d3b0a0a20206c696e6b2e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6b29203a20782424313b0a20207d3b0a0a20206c696e6b2e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c206c696e6b29203a20792424313b0a20207d3b0a0a20206c696e6b2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c206c696e6b29203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e6b3b0a7d0a0a66756e6374696f6e206375727665486f72697a6f6e74616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f287830203d20287830202b20783129202f20322c2079302c2078302c2079312c2078312c207931293b0a7d0a0a66756e6374696f6e206375727665566572746963616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f2878302c207930203d20287930202b20793129202f20322c2078312c2079302c2078312c207931293b0a7d0a0a66756e6374696f6e20637572766552616469616c243128636f6e746578742c2078302c2079302c2078312c20793129207b0a2020766172207030203d20706f696e7452616469616c2878302c207930292c0a2020202020207031203d20706f696e7452616469616c2878302c207930203d20287930202b20793129202f2032292c0a2020202020207032203d20706f696e7452616469616c2878312c207930292c0a2020202020207033203d20706f696e7452616469616c2878312c207931293b0a2020636f6e746578742e6d6f7665546f2870305b305d2c2070305b315d293b0a2020636f6e746578742e62657a6965724375727665546f2870315b305d2c2070315b315d2c2070325b305d2c2070325b315d2c2070335b305d2c2070335b315d293b0a7d0a0a66756e6374696f6e206c696e6b486f72697a6f6e74616c2829207b0a202072657475726e206c696e6b2432286375727665486f72697a6f6e74616c293b0a7d0a0a66756e6374696f6e206c696e6b566572746963616c2829207b0a202072657475726e206c696e6b2432286375727665566572746963616c293b0a7d0a0a66756e6374696f6e206c696e6b52616469616c2829207b0a2020766172206c203d206c696e6b243228637572766552616469616c2431293b0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a202072657475726e206c3b0a7d0a0a76617220636972636c652432203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2070692434293b0a20202020636f6e746578742e6d6f7665546f28722c2030293b0a20202020636f6e746578742e61726328302c20302c20722c20302c207461752434293b0a20207d0a7d3b0a0a7661722063726f73732432203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f203529202f20323b0a20202020636f6e746578742e6d6f7665546f282d33202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2072293b0a20202020636f6e746578742e6c696e65546f282d33202a20722c2072293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722074616e3330203d204d6174682e737172742831202f2033292c0a2020202074616e33305f32203d2074616e3330202a20323b0a0a766172206469616d6f6e64203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d204d6174682e737172742873697a65202f2074616e33305f32292c0a202020202020202078203d2079202a2074616e33303b0a20202020636f6e746578742e6d6f7665546f28302c202d79293b0a20202020636f6e746578742e6c696e65546f28782c2030293b0a20202020636f6e746578742e6c696e65546f28302c2079293b0a20202020636f6e746578742e6c696e65546f282d782c2030293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a766172206b61203d20302e38393038313330393135323932383532323831302c0a202020206b72203d204d6174682e73696e2870692434202f20313029202f204d6174682e73696e2837202a2070692434202f203130292c0a202020206b78203d204d6174682e73696e287461752434202f20313029202a206b722c0a202020206b79203d202d4d6174682e636f73287461752434202f20313029202a206b723b0a0a7661722073746172203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202a206b61292c0a202020202020202078203d206b78202a20722c0a202020202020202079203d206b79202a20723b0a20202020636f6e746578742e6d6f7665546f28302c202d72293b0a20202020636f6e746578742e6c696e65546f28782c2079293b0a20202020666f7220287661722069203d20313b2069203c20353b202b2b6929207b0a2020202020207661722061203d207461752434202a2069202f20352c0a2020202020202020202063203d204d6174682e636f732861292c0a2020202020202020202073203d204d6174682e73696e2861293b0a202020202020636f6e746578742e6c696e65546f2873202a20722c202d63202a2072293b0a202020202020636f6e746578742e6c696e65546f2863202a2078202d2073202a20792c2073202a2078202b2063202a2079293b0a202020207d0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220737175617265203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722077203d204d6174682e737172742873697a65292c0a202020202020202078203d202d77202f20323b0a20202020636f6e746578742e7265637428782c20782c20772c2077293b0a20207d0a7d3b0a0a766172207371727433203d204d6174682e737172742833293b0a0a76617220747269616e676c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d202d4d6174682e737172742873697a65202f20287371727433202a203329293b0a20202020636f6e746578742e6d6f7665546f28302c2079202a2032293b0a20202020636f6e746578742e6c696e65546f282d7371727433202a20792c202d79293b0a20202020636f6e746578742e6c696e65546f287371727433202a20792c202d79293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220632432203d202d302e352c0a2020202073203d204d6174682e73717274283329202f20322c0a202020206b203d2031202f204d6174682e73717274283132292c0a2020202061203d20286b202f2032202b203129202a20333b0a0a76617220777965203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2061292c0a20202020202020207830203d2072202f20322c0a20202020202020207930203d2072202a206b2c0a20202020202020207831203d2078302c0a20202020202020207931203d2072202a206b202b20722c0a20202020202020207832203d202d78312c0a20202020202020207932203d2079313b0a20202020636f6e746578742e6d6f7665546f2878302c207930293b0a20202020636f6e746578742e6c696e65546f2878312c207931293b0a20202020636f6e746578742e6c696e65546f2878322c207932293b0a20202020636f6e746578742e6c696e65546f28632432202a207830202d2073202a2079302c2073202a207830202b20632432202a207930293b0a20202020636f6e746578742e6c696e65546f28632432202a207831202d2073202a2079312c2073202a207831202b20632432202a207931293b0a20202020636f6e746578742e6c696e65546f28632432202a207832202d2073202a2079322c2073202a207832202b20632432202a207932293b0a20202020636f6e746578742e6c696e65546f28632432202a207830202b2073202a2079302c20632432202a207930202d2073202a207830293b0a20202020636f6e746578742e6c696e65546f28632432202a207831202b2073202a2079312c20632432202a207931202d2073202a207831293b0a20202020636f6e746578742e6c696e65546f28632432202a207832202b2073202a2079322c20632432202a207932202d2073202a207832293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722073796d626f6c73203d205b0a2020636972636c6524322c0a202063726f737324322c0a20206469616d6f6e642c0a20207371756172652c0a2020737461722c0a2020747269616e676c652c0a20207779650a5d3b0a0a66756e6374696f6e2073796d626f6c2829207b0a20207661722074797065203d20636f6e7374616e7424313128636972636c652432292c0a20202020202073697a65203d20636f6e7374616e74243131283634292c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e2073796d626f6c2829207b0a20202020766172206275666665723b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d207061746828293b0a20202020747970652e6170706c7928746869732c20617267756d656e7473292e6472617728636f6e746578742c202b73697a652e6170706c7928746869732c20617267756d656e747329293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202073796d626f6c2e74797065203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874797065203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131285f292c2073796d626f6c29203a20747970653b0a20207d3b0a0a202073796d626f6c2e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873697a65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c2073796d626f6c29203a2073697a653b0a20207d3b0a0a202073796d626f6c2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2073796d626f6c29203a20636f6e746578743b0a20207d3b0a0a202072657475726e2073796d626f6c3b0a7d0a0a66756e6374696f6e206e6f6f7024332829207b7d0a0a66756e6374696f6e20706f696e74243228746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a202020202832202a20746861742e5f7830202b20746861742e5f783129202f20332c0a202020202832202a20746861742e5f7930202b20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2032202a20746861742e5f783129202f20332c0a2020202028746861742e5f7930202b2032202a20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2034202a20746861742e5f7831202b207829202f20362c0a2020202028746861742e5f7930202b2034202a20746861742e5f7931202b207929202f20360a2020293b0a7d0a0a66756e6374696f6e20426173697328636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369732e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520333a20706f696e74243228746869732c20746869732e5f78312c20746869732e5f7931293b202f2f2070726f636565640a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f636f6e746578742e6c696e65546f282835202a20746869732e5f7830202b20746869732e5f783129202f20362c202835202a20746869732e5f7930202b20746869732e5f793129202f2036293b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e206261736973243228636f6e7465787429207b0a202072657475726e206e657720426173697328636f6e74657874293b0a7d0a0a66756e6374696f6e204261736973436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4261736973436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7832202b2032202a20746869732e5f783329202f20332c2028746869732e5f7932202b2032202a20746869732e5f793329202f2033293b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f2828746869732e5f7833202b2032202a20746869732e5f783229202f20332c2028746869732e5f7933202b2032202a20746869732e5f793229202f2033293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7832203d20782c20746869732e5f7932203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7834203d20782c20746869732e5f7934203d20793b20746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f2036293b20627265616b3b0a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e206261736973436c6f736564243128636f6e7465787429207b0a202072657475726e206e6577204261736973436c6f73656428636f6e74657874293b0a7d0a0a66756e6374696f6e2042617369734f70656e28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369734f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20766172207830203d2028746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c207930203d2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f20363b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f2878302c20793029203a20746869732e5f636f6e746578742e6d6f7665546f2878302c207930293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a66756e6374696f6e2062617369734f70656e28636f6e7465787429207b0a202072657475726e206e65772042617369734f70656e28636f6e74657874293b0a7d0a0a66756e6374696f6e2042756e646c6528636f6e746578742c206265746129207b0a2020746869732e5f6261736973203d206e657720426173697328636f6e74657874293b0a2020746869732e5f62657461203d20626574613b0a7d0a0a42756e646c652e70726f746f74797065203d207b0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20202020746869732e5f62617369732e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206a203d20782e6c656e677468202d20313b0a0a20202020696620286a203e203029207b0a202020202020766172207830203d20785b305d2c0a202020202020202020207930203d20795b305d2c0a202020202020202020206478203d20785b6a5d202d2078302c0a202020202020202020206479203d20795b6a5d202d2079302c0a2020202020202020202069203d202d312c0a20202020202020202020743b0a0a2020202020207768696c6520282b2b69203c3d206a29207b0a202020202020202074203d2069202f206a3b0a2020202020202020746869732e5f62617369732e706f696e74280a20202020202020202020746869732e5f62657461202a20785b695d202b202831202d20746869732e5f6265746129202a20287830202b2074202a206478292c0a20202020202020202020746869732e5f62657461202a20795b695d202b202831202d20746869732e5f6265746129202a20287930202b2074202a206479290a2020202020202020293b0a2020202020207d0a202020207d0a0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20202020746869732e5f62617369732e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a7661722062756e646c65203d202866756e6374696f6e20637573746f6d286265746129207b0a0a202066756e6374696f6e2062756e646c6528636f6e7465787429207b0a2020202072657475726e2062657461203d3d3d2031203f206e657720426173697328636f6e7465787429203a206e65772042756e646c6528636f6e746578742c2062657461293b0a20207d0a0a202062756e646c652e62657461203d2066756e6374696f6e286265746129207b0a2020202072657475726e20637573746f6d282b62657461293b0a20207d3b0a0a202072657475726e2062756e646c653b0a7d2928302e3835293b0a0a66756e6374696f6e20706f696e74243328746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a20202020746861742e5f7831202b20746861742e5f6b202a2028746861742e5f7832202d20746861742e5f7830292c0a20202020746861742e5f7931202b20746861742e5f6b202a2028746861742e5f7932202d20746861742e5f7930292c0a20202020746861742e5f7832202b20746861742e5f6b202a2028746861742e5f7831202d2078292c0a20202020746861742e5f7932202b20746861742e5f6b202a2028746861742e5f7931202d2079292c0a20202020746861742e5f78322c0a20202020746861742e5f79320a2020293b0a7d0a0a66756e6374696f6e2043617264696e616c28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20706f696e74243328746869732c20746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7831203d20782c20746869732e5f7931203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d292830293b0a0a66756e6374696f6e2043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c436c6f736564203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c24243128636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2424312e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c2424313b0a7d292830293b0a0a66756e6374696f6e2043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243328746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c4f70656e203d202866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c24243128636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2424312e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c2424313b0a7d292830293b0a0a66756e6374696f6e20706f696e74243428746861742c20782c207929207b0a2020766172207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020207832203d20746861742e5f78322c0a2020202020207932203d20746861742e5f79323b0a0a202069662028746861742e5f6c30315f61203e20657073696c6f6e243329207b0a202020207661722061203d2032202a20746861742e5f6c30315f3261202b2033202a20746861742e5f6c30315f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206e203d2033202a20746861742e5f6c30315f61202a2028746861742e5f6c30315f61202b20746861742e5f6c31325f61293b0a202020207831203d20287831202a2061202d20746861742e5f7830202a20746861742e5f6c31325f3261202b20746861742e5f7832202a20746861742e5f6c30315f326129202f206e3b0a202020207931203d20287931202a2061202d20746861742e5f7930202a20746861742e5f6c31325f3261202b20746861742e5f7932202a20746861742e5f6c30315f326129202f206e3b0a20207d0a0a202069662028746861742e5f6c32335f61203e20657073696c6f6e243329207b0a202020207661722062203d2032202a20746861742e5f6c32335f3261202b2033202a20746861742e5f6c32335f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206d203d2033202a20746861742e5f6c32335f61202a2028746861742e5f6c32335f61202b20746861742e5f6c31325f61293b0a202020207832203d20287832202a2062202b20746861742e5f7831202a20746861742e5f6c32335f3261202d2078202a20746861742e5f6c31325f326129202f206d3b0a202020207932203d20287932202a2062202b20746861742e5f7931202a20746861742e5f6c32335f3261202d2079202a20746861742e5f6c31325f326129202f206d3b0a20207d0a0a2020746861742e5f636f6e746578742e62657a6965724375727665546f2878312c2079312c2078322c2079322c20746861742e5f78322c20746861742e5f7932293b0a7d0a0a66756e6374696f6e204361746d756c6c526f6d28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d28636f6e746578742c20616c70686129203a206e65772043617264696e616c28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d2928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d436c6f736564203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d24243128636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129203a206e65772043617264696e616c436c6f73656428636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2424312e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d2424313b0a7d2928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243428746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d4f70656e203d202866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d24243128636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129203a206e65772043617264696e616c4f70656e28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2424312e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d2424313b0a7d2928302e35293b0a0a66756e6374696f6e204c696e656172436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e656172436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f7024332c0a202061726561456e643a206e6f6f7024332c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e636c6f73655061746828293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020656c736520746869732e5f706f696e74203d20312c20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a20207d0a7d3b0a0a66756e6374696f6e206c696e656172436c6f73656428636f6e7465787429207b0a202072657475726e206e6577204c696e656172436c6f73656428636f6e74657874293b0a7d0a0a66756e6374696f6e207369676e2431287829207b0a202072657475726e2078203c2030203f202d31203a20313b0a7d0a0a2f2f2043616c63756c6174652074686520736c6f706573206f66207468652074616e67656e747320284865726d6974652d7479706520696e746572706f6c6174696f6e29206261736564206f6e0a2f2f2074686520666f6c6c6f77696e672070617065723a205374656666656e2c204d2e20313939302e20412053696d706c65204d6574686f6420666f72204d6f6e6f746f6e69630a2f2f20496e746572706f6c6174696f6e20696e204f6e652044696d656e73696f6e2e20417374726f6e6f6d7920616e6420417374726f706879736963732c20566f6c2e203233392c204e4f2e0a2f2f204e4f56284949292c20502e203434332c20313939302e0a66756e6374696f6e20736c6f70653328746861742c2078322c20793229207b0a2020766172206830203d20746861742e5f7831202d20746861742e5f78302c0a2020202020206831203d207832202d20746861742e5f78312c0a2020202020207330203d2028746861742e5f7931202d20746861742e5f793029202f20286830207c7c206831203c2030202626202d30292c0a2020202020207331203d20287932202d20746861742e5f793129202f20286831207c7c206830203c2030202626202d30292c0a20202020202070203d20287330202a206831202b207331202a20683029202f20286830202b206831293b0a202072657475726e20287369676e243128733029202b207369676e24312873312929202a204d6174682e6d696e284d6174682e616273287330292c204d6174682e616273287331292c20302e35202a204d6174682e61627328702929207c7c20303b0a7d0a0a2f2f2043616c63756c6174652061206f6e652d736964656420736c6f70652e0a66756e6374696f6e20736c6f70653228746861742c207429207b0a20207661722068203d20746861742e5f7831202d20746861742e5f78303b0a202072657475726e2068203f202833202a2028746861742e5f7931202d20746861742e5f793029202f2068202d207429202f2032203a20743b0a7d0a0a2f2f204163636f7264696e6720746f2068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43756269635f4865726d6974655f73706c696e6523526570726573656e746174696f6e730a2f2f2022796f752063616e2065787072657373206375626963204865726d69746520696e746572706f6c6174696f6e20696e207465726d73206f662063756269632042c3a97a696572206375727665730a2f2f2077697468207265737065637420746f2074686520666f75722076616c7565732070302c207030202b206d30202f20332c207031202d206d31202f20332c207031222e0a66756e6374696f6e20706f696e74243528746861742c2074302c20743129207b0a2020766172207830203d20746861742e5f78302c0a2020202020207930203d20746861742e5f79302c0a2020202020207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020206478203d20287831202d20783029202f20333b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f287830202b2064782c207930202b206478202a2074302c207831202d2064782c207931202d206478202a2074312c2078312c207931293b0a7d0a0a66756e6374696f6e204d6f6e6f746f6e655828636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4d6f6e6f746f6e65582e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d0a20202020746869732e5f7430203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a2020202020206361736520333a20706f696e74243528746869732c20746869732e5f74302c20736c6f70653228746869732c20746869732e5f743029293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020766172207431203d204e614e3b0a0a2020202078203d202b782c2079203d202b793b0a202020206966202878203d3d3d20746869732e5f78312026262079203d3d3d20746869732e5f7931292072657475726e3b202f2f2049676e6f726520636f696e636964656e7420706f696e74732e0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20706f696e74243528746869732c20736c6f70653228746869732c207431203d20736c6f70653328746869732c20782c207929292c207431293b20627265616b3b0a20202020202064656661756c743a20706f696e74243528746869732c20746869732e5f74302c207431203d20736c6f70653328746869732c20782c207929293b20627265616b3b0a202020207d0a0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20202020746869732e5f7430203d2074313b0a20207d0a7d3b0a0a66756e6374696f6e204d6f6e6f746f6e655928636f6e7465787429207b0a2020746869732e5f636f6e74657874203d206e6577205265666c656374436f6e7465787428636f6e74657874293b0a7d0a0a284d6f6e6f746f6e65592e70726f746f74797065203d204f626a6563742e637265617465284d6f6e6f746f6e65582e70726f746f7479706529292e706f696e74203d2066756e6374696f6e28782c207929207b0a20204d6f6e6f746f6e65582e70726f746f747970652e706f696e742e63616c6c28746869732c20792c2078293b0a7d3b0a0a66756e6374696f6e205265666c656374436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a5265666c656374436f6e746578742e70726f746f74797065203d207b0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6d6f7665546f28792c2078293b207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b20746869732e5f636f6e746578742e636c6f73655061746828293b207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6c696e65546f28792c2078293b207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b20746869732e5f636f6e746578742e62657a6965724375727665546f2879312c2078312c2079322c2078322c20792c2078293b207d0a7d3b0a0a66756e6374696f6e206d6f6e6f746f6e655828636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655828636f6e74657874293b0a7d0a0a66756e6374696f6e206d6f6e6f746f6e655928636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655928636f6e74657874293b0a7d0a0a66756e6374696f6e204e61747572616c28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4e61747572616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206e203d20782e6c656e6774683b0a0a20202020696620286e29207b0a202020202020746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28785b305d2c20795b305d29203a20746869732e5f636f6e746578742e6d6f7665546f28785b305d2c20795b305d293b0a202020202020696620286e203d3d3d203229207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28785b315d2c20795b315d293b0a2020202020207d20656c7365207b0a2020202020202020766172207078203d20636f6e74726f6c506f696e74732878292c0a2020202020202020202020207079203d20636f6e74726f6c506f696e74732879293b0a2020202020202020666f722028766172206930203d20302c206931203d20313b206931203c206e3b202b2b69302c202b2b693129207b0a20202020202020202020746869732e5f636f6e746578742e62657a6965724375727665546f2870785b305d5b69305d2c2070795b305d5b69305d2c2070785b315d5b69305d2c2070795b315d5b69305d2c20785b69315d2c20795b69315d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d2030202626206e203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a2f2f205365652068747470733a2f2f7777772e7061727469636c65696e63656c6c2e636f6d2f323031322f62657a6965722d73706c696e65732f20666f722064657269766174696f6e2e0a66756e6374696f6e20636f6e74726f6c506f696e7473287829207b0a202076617220692c0a2020202020206e203d20782e6c656e677468202d20312c0a2020202020206d2c0a20202020202061203d206e6577204172726179286e292c0a20202020202062203d206e6577204172726179286e292c0a20202020202072203d206e6577204172726179286e293b0a2020615b305d203d20302c20625b305d203d20322c20725b305d203d20785b305d202b2032202a20785b315d3b0a2020666f72202869203d20313b2069203c206e202d20313b202b2b692920615b695d203d20312c20625b695d203d20342c20725b695d203d2034202a20785b695d202b2032202a20785b69202b20315d3b0a2020615b6e202d20315d203d20322c20625b6e202d20315d203d20372c20725b6e202d20315d203d2038202a20785b6e202d20315d202b20785b6e5d3b0a2020666f72202869203d20313b2069203c206e3b202b2b6929206d203d20615b695d202f20625b69202d20315d2c20625b695d202d3d206d2c20725b695d202d3d206d202a20725b69202d20315d3b0a2020615b6e202d20315d203d20725b6e202d20315d202f20625b6e202d20315d3b0a2020666f72202869203d206e202d20323b2069203e3d20303b202d2d692920615b695d203d2028725b695d202d20615b69202b20315d29202f20625b695d3b0a2020625b6e202d20315d203d2028785b6e5d202b20615b6e202d20315d29202f20323b0a2020666f72202869203d20303b2069203c206e202d20313b202b2b692920625b695d203d2032202a20785b69202b20315d202d20615b69202b20315d3b0a202072657475726e205b612c20625d3b0a7d0a0a66756e6374696f6e206e61747572616c28636f6e7465787429207b0a202072657475726e206e6577204e61747572616c28636f6e74657874293b0a7d0a0a66756e6374696f6e205374657028636f6e746578742c207429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f74203d20743b0a7d0a0a537465702e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d20746869732e5f79203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020206966202830203c20746869732e5f7420262620746869732e5f74203c203120262620746869732e5f706f696e74203d3d3d20322920746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c20746869732e5f79293b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202069662028746869732e5f6c696e65203e3d20302920746869732e5f74203d2031202d20746869732e5f742c20746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f74203c3d203029207b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c2079293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020202020207d20656c7365207b0a20202020202020202020766172207831203d20746869732e5f78202a202831202d20746869732e5f7429202b2078202a20746869732e5f743b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c20746869732e5f79293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c2079293b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20202020746869732e5f78203d20782c20746869732e5f79203d20793b0a20207d0a7d3b0a0a66756e6374696f6e207374657028636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c20302e35293b0a7d0a0a66756e6374696f6e20737465704265666f726528636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2030293b0a7d0a0a66756e6374696f6e2073746570416674657228636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2031293b0a7d0a0a66756e6374696f6e206e6f6e652431287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f7220287661722069203d20312c206a2c2073302c207331203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020207330203d2073312c207331203d207365726965735b6f726465725b695d5d3b0a20202020666f7220286a203d20303b206a203c206d3b202b2b6a29207b0a20202020202073315b6a5d5b315d202b3d2073315b6a5d5b305d203d2069734e614e2873305b6a5d5b315d29203f2073305b6a5d5b305d203a2073305b6a5d5b315d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e206e6f6e6524322873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c206f203d206e6577204172726179286e293b0a20207768696c6520282d2d6e203e3d203029206f5b6e5d203d206e3b0a202072657475726e206f3b0a7d0a0a66756e6374696f6e20737461636b56616c756528642c206b657929207b0a202072657475726e20645b6b65795d3b0a7d0a0a66756e6374696f6e20737461636b2829207b0a2020766172206b657973203d20636f6e7374616e74243131285b5d292c0a2020202020206f72646572203d206e6f6e6524322c0a2020202020206f6666736574203d206e6f6e6524312c0a20202020202076616c7565203d20737461636b56616c75653b0a0a202066756e6374696f6e20737461636b286461746129207b0a20202020766172206b7a203d206b6579732e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020692c0a20202020202020206d203d20646174612e6c656e6774682c0a20202020202020206e203d206b7a2e6c656e6774682c0a2020202020202020737a203d206e6577204172726179286e292c0a20202020202020206f7a3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020666f722028766172206b69203d206b7a5b695d2c207369203d20737a5b695d203d206e6577204172726179286d292c206a203d20302c2073696a3b206a203c206d3b202b2b6a29207b0a202020202020202073695b6a5d203d2073696a203d205b302c202b76616c756528646174615b6a5d2c206b692c206a2c2064617461295d3b0a202020202020202073696a2e64617461203d20646174615b6a5d3b0a2020202020207d0a20202020202073692e6b6579203d206b693b0a202020207d0a0a20202020666f72202869203d20302c206f7a203d206f7264657228737a293b2069203c206e3b202b2b6929207b0a202020202020737a5b6f7a5b695d5d2e696e646578203d20693b0a202020207d0a0a202020206f666673657428737a2c206f7a293b0a2020202072657475726e20737a3b0a20207d0a0a2020737461636b2e6b657973203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b657973203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424313128736c69636524362e63616c6c285f29292c20737461636b29203a206b6579733b0a20207d3b0a0a2020737461636b2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243131282b5f292c20737461636b29203a2076616c75653b0a20207d3b0a0a2020737461636b2e6f72646572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f72646572203d205f203d3d206e756c6c203f206e6f6e652432203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7424313128736c69636524362e63616c6c285f29292c20737461636b29203a206f726465723b0a20207d3b0a0a2020737461636b2e6f6666736574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f6666736574203d205f203d3d206e756c6c203f206e6f6e652431203a205f2c20737461636b29203a206f66667365743b0a20207d3b0a0a202072657475726e20737461636b3b0a7d0a0a66756e6374696f6e20657870616e64287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f72202876617220692c206e2c206a203d20302c206d203d207365726965735b305d2e6c656e6774682c20793b206a203c206d3b202b2b6a29207b0a20202020666f72202879203d2069203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202069662028792920666f72202869203d20303b2069203c206e3b202b2b6929207365726965735b695d5b6a5d5b315d202f3d20793b0a20207d0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20646976657267696e672431287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f72202876617220692c206a203d20302c20642c2064792c2079702c20796e2c206e2c206d203d207365726965735b6f726465725b305d5d2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287970203d20796e203d20302c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286479203d202864203d207365726965735b6f726465725b695d5d5b6a5d295b315d202d20645b305d29203e3d203029207b0a2020202020202020645b305d203d2079702c20645b315d203d207970202b3d2064793b0a2020202020207d20656c736520696620286479203c203029207b0a2020202020202020645b315d203d20796e2c20645b305d203d20796e202b3d2064793b0a2020202020207d20656c7365207b0a2020202020202020645b305d203d2079703b0a2020202020207d0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073696c686f7565747465287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f722028766172206a203d20302c207330203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073302e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c2079203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202073305b6a5d5b315d202b3d2073305b6a5d5b305d203d202d79202f20323b0a20207d0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20776967676c65287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029207c7c202128286d203d20287330203d207365726965735b6f726465725b305d5d292e6c656e67746829203e203029292072657475726e3b0a2020666f7220287661722079203d20302c206a203d20312c2073302c206d2c206e3b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207331203d20302c207332203d20303b2069203c206e3b202b2b6929207b0a202020202020766172207369203d207365726965735b6f726465725b695d5d2c0a2020202020202020202073696a30203d2073695b6a5d5b315d207c7c20302c0a2020202020202020202073696a31203d2073695b6a202d20315d5b315d207c7c20302c0a202020202020202020207333203d202873696a30202d2073696a3129202f20323b0a202020202020666f722028766172206b203d20303b206b203c20693b202b2b6b29207b0a202020202020202076617220736b203d207365726965735b6f726465725b6b5d5d2c0a202020202020202020202020736b6a30203d20736b5b6a5d5b315d207c7c20302c0a202020202020202020202020736b6a31203d20736b5b6a202d20315d5b315d207c7c20303b0a20202020202020207333202b3d20736b6a30202d20736b6a313b0a2020202020207d0a2020202020207331202b3d2073696a302c207332202b3d207333202a2073696a303b0a202020207d0a2020202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20202020696620287331292079202d3d207332202f2073313b0a20207d0a202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20206e6f6e652431287365726965732c206f72646572293b0a7d0a0a66756e6374696f6e20617363656e64696e6724332873657269657329207b0a20207661722073756d73203d207365726965732e6d61702873756d2432293b0a202072657475726e206e6f6e65243228736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b615d202d2073756d735b625d3b207d293b0a7d0a0a66756e6374696f6e2073756d24322873657269657329207b0a20207661722073203d20302c2069203d202d312c206e203d207365726965732e6c656e6774682c20763b0a20207768696c6520282b2b69203c206e29206966202876203d202b7365726965735b695d5b315d292073202b3d20763b0a202072657475726e20733b0a7d0a0a66756e6374696f6e2064657363656e64696e6724322873657269657329207b0a202072657475726e20617363656e64696e67243328736572696573292e7265766572736528293b0a7d0a0a66756e6374696f6e20696e736964654f75742873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c0a202020202020692c0a2020202020206a2c0a20202020202073756d73203d207365726965732e6d61702873756d2432292c0a2020202020206f72646572203d206e6f6e65243228736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b625d202d2073756d735b615d3b207d292c0a202020202020746f70203d20302c0a202020202020626f74746f6d203d20302c0a202020202020746f7073203d205b5d2c0a202020202020626f74746f6d73203d205b5d3b0a0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206a203d206f726465725b695d3b0a2020202069662028746f70203c20626f74746f6d29207b0a202020202020746f70202b3d2073756d735b6a5d3b0a202020202020746f70732e70757368286a293b0a202020207d20656c7365207b0a202020202020626f74746f6d202b3d2073756d735b6a5d3b0a202020202020626f74746f6d732e70757368286a293b0a202020207d0a20207d0a0a202072657475726e20626f74746f6d732e7265766572736528292e636f6e63617428746f7073293b0a7d0a0a66756e6374696f6e20726576657273652873657269657329207b0a202072657475726e206e6f6e65243228736572696573292e7265766572736528293b0a7d0a0a66756e6374696f6e20636f6e7374616e74243132287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e20782434286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e20792434286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20526564426c61636b547265652829207b0a2020746869732e5f203d206e756c6c3b202f2f20726f6f74206e6f64650a7d0a0a66756e6374696f6e20526564426c61636b4e6f6465286e6f646529207b0a20206e6f64652e55203d202f2f20706172656e74206e6f64650a20206e6f64652e43203d202f2f20636f6c6f72202d207472756520666f72207265642c2066616c736520666f7220626c61636b0a20206e6f64652e4c203d202f2f206c656674206e6f64650a20206e6f64652e52203d202f2f207269676874206e6f64650a20206e6f64652e50203d202f2f2070726576696f7573206e6f64650a20206e6f64652e4e203d206e756c6c3b202f2f206e657874206e6f64650a7d0a0a526564426c61636b547265652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20526564426c61636b547265652c0a0a2020696e736572743a2066756e6374696f6e2861667465722c206e6f646529207b0a2020202076617220706172656e742c206772616e6470612c20756e636c653b0a0a2020202069662028616674657229207b0a2020202020206e6f64652e50203d2061667465723b0a2020202020206e6f64652e4e203d2061667465722e4e3b0a2020202020206966202861667465722e4e292061667465722e4e2e50203d206e6f64653b0a20202020202061667465722e4e203d206e6f64653b0a2020202020206966202861667465722e5229207b0a20202020202020206166746572203d2061667465722e523b0a20202020202020207768696c65202861667465722e4c29206166746572203d2061667465722e4c3b0a202020202020202061667465722e4c203d206e6f64653b0a2020202020207d20656c7365207b0a202020202020202061667465722e52203d206e6f64653b0a2020202020207d0a202020202020706172656e74203d2061667465723b0a202020207d20656c73652069662028746869732e5f29207b0a2020202020206166746572203d20526564426c61636b466972737428746869732e5f293b0a2020202020206e6f64652e50203d206e756c6c3b0a2020202020206e6f64652e4e203d2061667465723b0a20202020202061667465722e50203d2061667465722e4c203d206e6f64653b0a202020202020706172656e74203d2061667465723b0a202020207d20656c7365207b0a2020202020206e6f64652e50203d206e6f64652e4e203d206e756c6c3b0a202020202020746869732e5f203d206e6f64653b0a202020202020706172656e74203d206e756c6c3b0a202020207d0a202020206e6f64652e4c203d206e6f64652e52203d206e756c6c3b0a202020206e6f64652e55203d20706172656e743b0a202020206e6f64652e43203d20747275653b0a0a202020206166746572203d206e6f64653b0a202020207768696c652028706172656e7420262620706172656e742e4329207b0a2020202020206772616e647061203d20706172656e742e553b0a20202020202069662028706172656e74203d3d3d206772616e6470612e4c29207b0a2020202020202020756e636c65203d206772616e6470612e523b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e5229207b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020756e636c65203d206772616e6470612e4c3b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e4c29207b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d0a202020202020706172656e74203d2061667465722e553b0a202020207d0a20202020746869732e5f2e43203d2066616c73653b0a20207d2c0a0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e4e29206e6f64652e4e2e50203d206e6f64652e503b0a20202020696620286e6f64652e5029206e6f64652e502e4e203d206e6f64652e4e3b0a202020206e6f64652e4e203d206e6f64652e50203d206e756c6c3b0a0a2020202076617220706172656e74203d206e6f64652e552c0a20202020202020207369626c696e672c0a20202020202020206c656674203d206e6f64652e4c2c0a20202020202020207269676874203d206e6f64652e522c0a20202020202020206e6578742c0a20202020202020207265643b0a0a2020202069662028216c65667429206e657874203d2072696768743b0a20202020656c7365206966202821726967687429206e657874203d206c6566743b0a20202020656c7365206e657874203d20526564426c61636b4669727374287269676874293b0a0a2020202069662028706172656e7429207b0a20202020202069662028706172656e742e4c203d3d3d206e6f64652920706172656e742e4c203d206e6578743b0a202020202020656c736520706172656e742e52203d206e6578743b0a202020207d20656c7365207b0a202020202020746869732e5f203d206e6578743b0a202020207d0a0a20202020696620286c65667420262620726967687429207b0a202020202020726564203d206e6578742e433b0a2020202020206e6578742e43203d206e6f64652e433b0a2020202020206e6578742e4c203d206c6566743b0a2020202020206c6566742e55203d206e6578743b0a202020202020696620286e65787420213d3d20726967687429207b0a2020202020202020706172656e74203d206e6578742e553b0a20202020202020206e6578742e55203d206e6f64652e553b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020202020706172656e742e4c203d206e6f64653b0a20202020202020206e6578742e52203d2072696768743b0a202020202020202072696768742e55203d206e6578743b0a2020202020207d20656c7365207b0a20202020202020206e6578742e55203d20706172656e743b0a2020202020202020706172656e74203d206e6578743b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020207d0a202020207d20656c7365207b0a202020202020726564203d206e6f64652e433b0a2020202020206e6f6465203d206e6578743b0a202020207d0a0a20202020696620286e6f646529206e6f64652e55203d20706172656e743b0a2020202069662028726564292072657475726e3b0a20202020696620286e6f6465202626206e6f64652e4329207b206e6f64652e43203d2066616c73653b2072657475726e3b207d0a0a20202020646f207b0a202020202020696620286e6f6465203d3d3d20746869732e5f2920627265616b3b0a202020202020696620286e6f6465203d3d3d20706172656e742e4c29207b0a20202020202020207369626c696e67203d20706172656e742e523b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e523b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a2020202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e52207c7c20217369626c696e672e522e4329207b0a2020202020202020202020207369626c696e672e4c2e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e523b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e522e43203d2066616c73653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d20656c7365207b0a20202020202020207369626c696e67203d20706172656e742e4c3b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e4c3b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e4c207c7c20217369626c696e672e4c2e4329207b0a2020202020202020202020207369626c696e672e522e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e4c3b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e4c2e43203d2066616c73653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020207369626c696e672e43203d20747275653b0a2020202020206e6f6465203d20706172656e743b0a202020202020706172656e74203d20706172656e742e553b0a202020207d207768696c652028216e6f64652e43293b0a0a20202020696620286e6f646529206e6f64652e43203d2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20526564426c61636b526f746174654c65667428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e522c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e52203d20712e4c3b0a202069662028702e522920702e522e55203d20703b0a2020712e4c203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b526f74617465526967687428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e4c2c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e4c203d20712e523b0a202069662028702e4c2920702e4c2e55203d20703b0a2020712e52203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b4669727374286e6f646529207b0a20207768696c6520286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e2063726561746545646765286c6566742c2072696768742c2076302c20763129207b0a20207661722065646765203d205b6e756c6c2c206e756c6c5d2c0a202020202020696e646578203d2065646765732e70757368286564676529202d20313b0a2020656467652e6c656674203d206c6566743b0a2020656467652e7269676874203d2072696768743b0a2020696620287630292073657445646765456e6428656467652c206c6566742c2072696768742c207630293b0a2020696620287631292073657445646765456e6428656467652c2072696768742c206c6566742c207631293b0a202063656c6c735b6c6566742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202063656c6c735b72696768742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e20637265617465426f7264657245646765286c6566742c2076302c20763129207b0a20207661722065646765203d205b76302c2076315d3b0a2020656467652e6c656674203d206c6566743b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e2073657445646765456e6428656467652c206c6566742c2072696768742c2076657274657829207b0a20206966202821656467655b305d2026262021656467655b315d29207b0a20202020656467655b305d203d207665727465783b0a20202020656467652e6c656674203d206c6566743b0a20202020656467652e7269676874203d2072696768743b0a20207d20656c73652069662028656467652e6c656674203d3d3d20726967687429207b0a20202020656467655b315d203d207665727465783b0a20207d20656c7365207b0a20202020656467655b305d203d207665727465783b0a20207d0a7d0a0a2f2f204c69616e67e28093426172736b79206c696e6520636c697070696e672e0a66756e6374696f6e20636c69704564676528656467652c2078302c2079302c2078312c20793129207b0a20207661722061203d20656467655b305d2c0a20202020202062203d20656467655b315d2c0a2020202020206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a20206966202821287430203e2030292026262021287431203c203129292072657475726e20747275653b202f2f20544f444f2042657474657220636865636b3f0a0a2020696620287430203e20302920656467655b305d203d205b6178202b207430202a2064782c206179202b207430202a2064795d3b0a2020696620287431203c20312920656467655b315d203d205b6178202b207431202a2064782c206179202b207431202a2064795d3b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636f6e6e6563744564676528656467652c2078302c2079302c2078312c20793129207b0a2020766172207631203d20656467655b315d3b0a2020696620287631292072657475726e20747275653b0a0a2020766172207630203d20656467655b305d2c0a2020202020206c656674203d20656467652e6c6566742c0a2020202020207269676874203d20656467652e72696768742c0a2020202020206c78203d206c6566745b305d2c0a2020202020206c79203d206c6566745b315d2c0a2020202020207278203d2072696768745b305d2c0a2020202020207279203d2072696768745b315d2c0a2020202020206678203d20286c78202b20727829202f20322c0a2020202020206679203d20286c79202b20727929202f20322c0a202020202020666d2c0a20202020202066623b0a0a2020696620287279203d3d3d206c7929207b0a20202020696620286678203c207830207c7c206678203e3d207831292072657475726e3b0a20202020696620286c78203e20727829207b0a2020202020206966202821763029207630203d205b66782c2079305d3b0a202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a2020202020207631203d205b66782c2079315d3b0a202020207d20656c7365207b0a2020202020206966202821763029207630203d205b66782c2079315d3b0a202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a2020202020207631203d205b66782c2079305d3b0a202020207d0a20207d20656c7365207b0a20202020666d203d20286c78202d20727829202f20287279202d206c79293b0a202020206662203d206679202d20666d202a2066783b0a2020202069662028666d203c202d31207c7c20666d203e203129207b0a202020202020696620286c78203e20727829207b0a20202020202020206966202821763029207630203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a20202020202020207631203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a20202020202020207631203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c79203c20727929207b0a20202020202020206966202821763029207630203d205b78302c20666d202a207830202b2066625d3b0a2020202020202020656c7365206966202876305b305d203e3d207831292072657475726e3b0a20202020202020207631203d205b78312c20666d202a207831202b2066625d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b78312c20666d202a207831202b2066625d3b0a2020202020202020656c7365206966202876305b305d203c207830292072657475726e3b0a20202020202020207631203d205b78302c20666d202a207830202b2066625d3b0a2020202020207d0a202020207d0a20207d0a0a2020656467655b305d203d2076303b0a2020656467655b315d203d2076313b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636c697045646765732878302c2079302c2078312c20793129207b0a20207661722069203d2065646765732e6c656e6774682c0a202020202020656467653b0a0a20207768696c652028692d2d29207b0a202020206966202821636f6e6e656374456467652865646765203d2065646765735b695d2c2078302c2079302c2078312c207931290a20202020202020207c7c2021636c69704564676528656467652c2078302c2079302c2078312c207931290a20202020202020207c7c2021284d6174682e61627328656467655b305d5b305d202d20656467655b315d5b305d29203e20657073696c6f6e24340a2020202020202020202020207c7c204d6174682e61627328656467655b305d5b315d202d20656467655b315d5b315d29203e20657073696c6f6e24342929207b0a20202020202064656c6574652065646765735b695d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2063726561746543656c6c287369746529207b0a202072657475726e2063656c6c735b736974652e696e6465785d203d207b0a20202020736974653a20736974652c0a2020202068616c6665646765733a205b5d0a20207d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765416e676c652863656c6c2c206564676529207b0a20207661722073697465203d2063656c6c2e736974652c0a2020202020207661203d20656467652e6c6566742c0a2020202020207662203d20656467652e72696768743b0a20206966202873697465203d3d3d20766229207662203d2076612c207661203d20736974653b0a2020696620287662292072657475726e204d6174682e6174616e322876625b315d202d2076615b315d2c2076625b305d202d2076615b305d293b0a20206966202873697465203d3d3d20766129207661203d20656467655b315d2c207662203d20656467655b305d3b0a2020656c7365207661203d20656467655b305d2c207662203d20656467655b315d3b0a202072657475726e204d6174682e6174616e322876615b305d202d2076625b305d2c2076625b315d202d2076615b315d293b0a7d0a0a66756e6374696f6e2063656c6c48616c666564676553746172742863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c65667420213d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765456e642863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c656674203d3d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e20736f727443656c6c48616c6665646765732829207b0a2020666f7220287661722069203d20302c206e203d2063656c6c732e6c656e6774682c2063656c6c2c2068616c6665646765732c206a2c206d3b2069203c206e3b202b2b6929207b0a20202020696620282863656c6c203d2063656c6c735b695d2920262620286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e6774682929207b0a20202020202076617220696e646578203d206e6577204172726179286d292c0a202020202020202020206172726179203d206e6577204172726179286d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a2920696e6465785b6a5d203d206a2c2061727261795b6a5d203d2063656c6c48616c6665646765416e676c652863656c6c2c2065646765735b68616c6665646765735b6a5d5d293b0a202020202020696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e2061727261795b6a5d202d2061727261795b695d3b207d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292061727261795b6a5d203d2068616c6665646765735b696e6465785b6a5d5d3b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292068616c6665646765735b6a5d203d2061727261795b6a5d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20636c697043656c6c732878302c2079302c2078312c20793129207b0a2020766172206e43656c6c73203d2063656c6c732e6c656e6774682c0a2020202020206943656c6c2c0a20202020202063656c6c2c0a202020202020736974652c0a2020202020206948616c66656467652c0a20202020202068616c6665646765732c0a2020202020206e48616c6665646765732c0a20202020202073746172742c0a2020202020207374617274582c0a2020202020207374617274592c0a202020202020656e642c0a202020202020656e64582c0a202020202020656e64592c0a202020202020636f766572203d20747275653b0a0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a20202020202073697465203d2063656c6c2e736974653b0a20202020202068616c666564676573203d2063656c6c2e68616c6665646765733b0a2020202020206948616c6665646765203d2068616c6665646765732e6c656e6774683b0a0a2020202020202f2f2052656d6f766520616e792064616e676c696e6720636c69707065642065646765732e0a2020202020207768696c6520286948616c66656467652d2d29207b0a2020202020202020696620282165646765735b68616c6665646765735b6948616c66656467655d5d29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c2031293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f20496e7365727420616e7920626f72646572206564676573206173206e65636573736172792e0a2020202020206948616c6665646765203d20302c206e48616c666564676573203d2068616c6665646765732e6c656e6774683b0a2020202020207768696c6520286948616c6665646765203c206e48616c66656467657329207b0a2020202020202020656e64203d2063656c6c48616c6665646765456e642863656c6c2c2065646765735b68616c6665646765735b6948616c66656467655d5d292c20656e6458203d20656e645b305d2c20656e6459203d20656e645b315d3b0a20202020202020207374617274203d2063656c6c48616c666564676553746172742863656c6c2c2065646765735b68616c6665646765735b2b2b6948616c66656467652025206e48616c6665646765735d5d292c20737461727458203d2073746172745b305d2c20737461727459203d2073746172745b315d3b0a2020202020202020696620284d6174682e61627328656e6458202d2073746172745829203e20657073696c6f6e2434207c7c204d6174682e61627328656e6459202d2073746172745929203e20657073696c6f6e243429207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c20302c2065646765732e7075736828637265617465426f726465724564676528736974652c20656e642c0a20202020202020202020202020204d6174682e61627328656e6458202d20783029203c20657073696c6f6e2434202626207931202d20656e6459203e20657073696c6f6e2434203f205b78302c204d6174682e61627328737461727458202d20783029203c20657073696c6f6e2434203f20737461727459203a2079315d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793129203c20657073696c6f6e2434202626207831202d20656e6458203e20657073696c6f6e2434203f205b4d6174682e61627328737461727459202d20793129203c20657073696c6f6e2434203f20737461727458203a2078312c2079315d0a20202020202020202020202020203a204d6174682e61627328656e6458202d20783129203c20657073696c6f6e243420262620656e6459202d207930203e20657073696c6f6e2434203f205b78312c204d6174682e61627328737461727458202d20783129203c20657073696c6f6e2434203f20737461727459203a2079305d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793029203c20657073696c6f6e243420262620656e6458202d207830203e20657073696c6f6e2434203f205b4d6174682e61627328737461727459202d20793029203c20657073696c6f6e2434203f20737461727458203a2078302c2079305d0a20202020202020202020202020203a206e756c6c2929202d2031293b0a202020202020202020202b2b6e48616c6665646765733b0a20202020202020207d0a2020202020207d0a0a202020202020696620286e48616c6665646765732920636f766572203d2066616c73653b0a202020207d0a20207d0a0a20202f2f20496620746865726520776572656ee280997420616e792065646765732c20686176652074686520636c6f73657374207369746520636f7665722074686520657874656e742e0a20202f2f20497420646f65736ee2809974206d617474657220776869636820636f726e6572206f662074686520657874656e74207765206d656173757265210a202069662028636f76657229207b0a202020207661722064782c2064792c2064322c206463203d20496e66696e6974793b0a0a20202020666f7220286943656c6c203d20302c20636f766572203d206e756c6c3b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a2020202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020202073697465203d2063656c6c2e736974653b0a20202020202020206478203d20736974655b305d202d2078303b0a20202020202020206479203d20736974655b315d202d2079303b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c20646329206463203d2064322c20636f766572203d2063656c6c3b0a2020202020207d0a202020207d0a0a2020202069662028636f76657229207b0a20202020202076617220763030203d205b78302c2079305d2c20763031203d205b78302c2079315d2c20763131203d205b78312c2079315d2c20763130203d205b78312c2079305d3b0a202020202020636f7665722e68616c6665646765732e70757368280a202020202020202065646765732e7075736828637265617465426f72646572456467652873697465203d20636f7665722e736974652c207630302c207630312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207630312c207631312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631312c207631302929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631302c207630302929202d20310a202020202020293b0a202020207d0a20207d0a0a20202f2f204c6173746c792064656c65746520616e792063656c6c732077697468206e6f2065646765733b207468657365207765726520656e746972656c7920636c69707065642e0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020696620282163656c6c2e68616c6665646765732e6c656e67746829207b0a202020202020202064656c6574652063656c6c735b6943656c6c5d3b0a2020202020207d0a202020207d0a20207d0a7d0a0a76617220636972636c65506f6f6c203d205b5d3b0a0a766172206669727374436972636c653b0a0a66756e6374696f6e20436972636c652829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e78203d0a2020746869732e79203d0a2020746869732e617263203d0a2020746869732e73697465203d0a2020746869732e6379203d206e756c6c3b0a7d0a0a66756e6374696f6e20617474616368436972636c652861726329207b0a2020766172206c417263203d206172632e502c0a20202020202072417263203d206172632e4e3b0a0a202069662028216c417263207c7c202172417263292072657475726e3b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206353697465203d206172632e736974652c0a2020202020207253697465203d20724172632e736974653b0a0a2020696620286c53697465203d3d3d207253697465292072657475726e3b0a0a2020766172206278203d2063536974655b305d2c0a2020202020206279203d2063536974655b315d2c0a2020202020206178203d206c536974655b305d202d2062782c0a2020202020206179203d206c536974655b315d202d2062792c0a2020202020206378203d2072536974655b305d202d2062782c0a2020202020206379203d2072536974655b315d202d2062793b0a0a20207661722064203d2032202a20286178202a206379202d206179202a206378293b0a20206966202864203e3d202d657073696c6f6e322432292072657475726e3b0a0a2020766172206861203d206178202a206178202b206179202a2061792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a20202020202078203d20286379202a206861202d206179202a20686329202f20642c0a20202020202079203d20286178202a206863202d206378202a20686129202f20643b0a0a202076617220636972636c65203d20636972636c65506f6f6c2e706f702829207c7c206e657720436972636c653b0a2020636972636c652e617263203d206172633b0a2020636972636c652e73697465203d2063536974653b0a2020636972636c652e78203d2078202b2062783b0a2020636972636c652e79203d2028636972636c652e6379203d2079202b20627929202b204d6174682e737172742878202a2078202b2079202a2079293b202f2f207920626f74746f6d0a0a20206172632e636972636c65203d20636972636c653b0a0a2020766172206265666f7265203d206e756c6c2c0a2020202020206e6f6465203d20636972636c65732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202069662028636972636c652e79203c206e6f64652e79207c7c2028636972636c652e79203d3d3d206e6f64652e7920262620636972636c652e78203c3d206e6f64652e782929207b0a202020202020696620286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202020202020656c7365207b206265666f7265203d206e6f64652e503b20627265616b3b207d0a202020207d20656c7365207b0a202020202020696620286e6f64652e5229206e6f6465203d206e6f64652e523b0a202020202020656c7365207b206265666f7265203d206e6f64653b20627265616b3b207d0a202020207d0a20207d0a0a2020636972636c65732e696e73657274286265666f72652c20636972636c65293b0a202069662028216265666f726529206669727374436972636c65203d20636972636c653b0a7d0a0a66756e6374696f6e20646574616368436972636c652861726329207b0a202076617220636972636c65203d206172632e636972636c653b0a202069662028636972636c6529207b0a202020206966202821636972636c652e5029206669727374436972636c65203d20636972636c652e4e3b0a20202020636972636c65732e72656d6f766528636972636c65293b0a20202020636972636c65506f6f6c2e7075736828636972636c65293b0a20202020526564426c61636b4e6f646528636972636c65293b0a202020206172632e636972636c65203d206e756c6c3b0a20207d0a7d0a0a766172206265616368506f6f6c203d205b5d3b0a0a66756e6374696f6e2042656163682829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e65646765203d0a2020746869732e73697465203d0a2020746869732e636972636c65203d206e756c6c3b0a7d0a0a66756e6374696f6e206372656174654265616368287369746529207b0a2020766172206265616368203d206265616368506f6f6c2e706f702829207c7c206e65772042656163683b0a202062656163682e73697465203d20736974653b0a202072657475726e2062656163683b0a7d0a0a66756e6374696f6e20646574616368426561636828626561636829207b0a2020646574616368436972636c65286265616368293b0a2020626561636865732e72656d6f7665286265616368293b0a20206265616368506f6f6c2e70757368286265616368293b0a2020526564426c61636b4e6f6465286265616368293b0a7d0a0a66756e6374696f6e2072656d6f7665426561636828626561636829207b0a202076617220636972636c65203d2062656163682e636972636c652c0a20202020202078203d20636972636c652e782c0a20202020202079203d20636972636c652e63792c0a202020202020766572746578203d205b782c20795d2c0a20202020202070726576696f7573203d2062656163682e502c0a2020202020206e657874203d2062656163682e4e2c0a202020202020646973617070656172696e67203d205b62656163685d3b0a0a20206465746163684265616368286265616368293b0a0a2020766172206c417263203d2070726576696f75733b0a20207768696c6520286c4172632e636972636c650a2020202020202626204d6174682e6162732878202d206c4172632e636972636c652e7829203c20657073696c6f6e24340a2020202020202626204d6174682e6162732879202d206c4172632e636972636c652e637929203c20657073696c6f6e243429207b0a2020202070726576696f7573203d206c4172632e503b0a20202020646973617070656172696e672e756e7368696674286c417263293b0a202020206465746163684265616368286c417263293b0a202020206c417263203d2070726576696f75733b0a20207d0a0a2020646973617070656172696e672e756e7368696674286c417263293b0a2020646574616368436972636c65286c417263293b0a0a20207661722072417263203d206e6578743b0a20207768696c652028724172632e636972636c650a2020202020202626204d6174682e6162732878202d20724172632e636972636c652e7829203c20657073696c6f6e24340a2020202020202626204d6174682e6162732879202d20724172632e636972636c652e637929203c20657073696c6f6e243429207b0a202020206e657874203d20724172632e4e3b0a20202020646973617070656172696e672e707573682872417263293b0a2020202064657461636842656163682872417263293b0a2020202072417263203d206e6578743b0a20207d0a0a2020646973617070656172696e672e707573682872417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206e41726373203d20646973617070656172696e672e6c656e6774682c0a202020202020694172633b0a2020666f72202869417263203d20313b2069417263203c206e417263733b202b2b6941726329207b0a2020202072417263203d20646973617070656172696e675b694172635d3b0a202020206c417263203d20646973617070656172696e675b69417263202d20315d3b0a2020202073657445646765456e6428724172632e656467652c206c4172632e736974652c20724172632e736974652c20766572746578293b0a20207d0a0a20206c417263203d20646973617070656172696e675b305d3b0a202072417263203d20646973617070656172696e675b6e41726373202d20315d3b0a2020724172632e65646765203d2063726561746545646765286c4172632e736974652c20724172632e736974652c206e756c6c2c20766572746578293b0a0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206164644265616368287369746529207b0a20207661722078203d20736974655b305d2c0a202020202020646972656374726978203d20736974655b315d2c0a2020202020206c4172632c0a202020202020724172632c0a20202020202064786c2c0a2020202020206478722c0a2020202020206e6f6465203d20626561636865732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202064786c203d206c656674427265616b506f696e74286e6f64652c2064697265637472697829202d20783b0a202020206966202864786c203e20657073696c6f6e243429206e6f6465203d206e6f64652e4c3b20656c7365207b0a202020202020647872203d2078202d207269676874427265616b506f696e74286e6f64652c20646972656374726978293b0a20202020202069662028647872203e20657073696c6f6e243429207b0a202020202020202069662028216e6f64652e5229207b0a202020202020202020206c417263203d206e6f64653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206e6f6465203d206e6f64652e523b0a2020202020207d20656c7365207b0a20202020202020206966202864786c203e202d657073696c6f6e243429207b0a202020202020202020206c417263203d206e6f64652e503b0a2020202020202020202072417263203d206e6f64653b0a20202020202020207d20656c73652069662028647872203e202d657073696c6f6e243429207b0a202020202020202020206c417263203d206e6f64653b0a2020202020202020202072417263203d206e6f64652e4e3b0a20202020202020207d20656c7365207b0a202020202020202020206c417263203d2072417263203d206e6f64653b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202063726561746543656c6c2873697465293b0a2020766172206e6577417263203d2063726561746542656163682873697465293b0a2020626561636865732e696e73657274286c4172632c206e6577417263293b0a0a202069662028216c417263202626202172417263292072657475726e3b0a0a2020696620286c417263203d3d3d207241726329207b0a20202020646574616368436972636c65286c417263293b0a2020202072417263203d206372656174654265616368286c4172632e73697465293b0a20202020626561636865732e696e73657274286e65774172632c2072417263293b0a202020206e65774172632e65646765203d20724172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a20202020617474616368436972636c65286c417263293b0a20202020617474616368436972636c652872417263293b0a2020202072657475726e3b0a20207d0a0a202069662028217241726329207b202f2f202626206c4172630a202020206e65774172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a2020202072657475726e3b0a20207d0a0a20202f2f20656c7365206c41726320213d3d20724172630a2020646574616368436972636c65286c417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206178203d206c536974655b305d2c0a2020202020206179203d206c536974655b315d2c0a2020202020206278203d20736974655b305d202d2061782c0a2020202020206279203d20736974655b315d202d2061792c0a2020202020207253697465203d20724172632e736974652c0a2020202020206378203d2072536974655b305d202d2061782c0a2020202020206379203d2072536974655b315d202d2061792c0a20202020202064203d2032202a20286278202a206379202d206279202a206378292c0a2020202020206862203d206278202a206278202b206279202a2062792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a202020202020766572746578203d205b286379202a206862202d206279202a20686329202f2064202b2061782c20286278202a206863202d206378202a20686229202f2064202b2061795d3b0a0a202073657445646765456e6428724172632e656467652c206c536974652c2072536974652c20766572746578293b0a20206e65774172632e65646765203d2063726561746545646765286c536974652c20736974652c206e756c6c2c20766572746578293b0a2020724172632e65646765203d206372656174654564676528736974652c2072536974652c206e756c6c2c20766572746578293b0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206c656674427265616b506f696e74286172632c2064697265637472697829207b0a20207661722073697465203d206172632e736974652c0a20202020202072666f6378203d20736974655b305d2c0a20202020202072666f6379203d20736974655b315d2c0a20202020202070627932203d2072666f6379202d206469726563747269783b0a0a2020696620282170627932292072657475726e2072666f63783b0a0a2020766172206c417263203d206172632e503b0a202069662028216c417263292072657475726e202d496e66696e6974793b0a0a202073697465203d206c4172632e736974653b0a2020766172206c666f6378203d20736974655b305d2c0a2020202020206c666f6379203d20736974655b315d2c0a202020202020706c627932203d206c666f6379202d206469726563747269783b0a0a20206966202821706c627932292072657475726e206c666f63783b0a0a202076617220686c203d206c666f6378202d2072666f63782c0a20202020202061627932203d2031202f2070627932202d2031202f20706c6279322c0a20202020202062203d20686c202f20706c6279323b0a0a20206966202861627932292072657475726e20282d62202b204d6174682e737172742862202a2062202d2032202a2061627932202a2028686c202a20686c202f20282d32202a20706c62793229202d206c666f6379202b20706c627932202f2032202b2072666f6379202d2070627932202f2032292929202f2061627932202b2072666f63783b0a0a202072657475726e202872666f6378202b206c666f637829202f20323b0a7d0a0a66756e6374696f6e207269676874427265616b506f696e74286172632c2064697265637472697829207b0a20207661722072417263203d206172632e4e3b0a20206966202872417263292072657475726e206c656674427265616b506f696e7428724172632c20646972656374726978293b0a20207661722073697465203d206172632e736974653b0a202072657475726e20736974655b315d203d3d3d20646972656374726978203f20736974655b305d203a20496e66696e6974793b0a7d0a0a76617220657073696c6f6e2434203d2031652d363b0a76617220657073696c6f6e322432203d2031652d31323b0a76617220626561636865733b0a7661722063656c6c733b0a76617220636972636c65733b0a7661722065646765733b0a0a66756e6374696f6e20747269616e676c654172656128612c20622c206329207b0a202072657475726e2028615b305d202d20635b305d29202a2028625b315d202d20615b315d29202d2028615b305d202d20625b305d29202a2028635b315d202d20615b315d293b0a7d0a0a66756e6374696f6e206c657869636f6772617068696328612c206229207b0a202072657475726e20625b315d202d20615b315d0a2020202020207c7c20625b305d202d20615b305d3b0a7d0a0a66756e6374696f6e204469616772616d2873697465732c20657874656e7429207b0a20207661722073697465203d2073697465732e736f7274286c657869636f67726170686963292e706f7028292c0a202020202020782c0a202020202020792c0a202020202020636972636c653b0a0a20206564676573203d205b5d3b0a202063656c6c73203d206e65772041727261792873697465732e6c656e677468293b0a202062656163686573203d206e657720526564426c61636b547265653b0a2020636972636c6573203d206e657720526564426c61636b547265653b0a0a20207768696c6520287472756529207b0a20202020636972636c65203d206669727374436972636c653b0a202020206966202873697465202626202821636972636c65207c7c20736974655b315d203c20636972636c652e79207c7c2028736974655b315d203d3d3d20636972636c652e7920262620736974655b305d203c20636972636c652e78292929207b0a20202020202069662028736974655b305d20213d3d2078207c7c20736974655b315d20213d3d207929207b0a202020202020202061646442656163682873697465293b0a202020202020202078203d20736974655b305d2c2079203d20736974655b315d3b0a2020202020207d0a20202020202073697465203d2073697465732e706f7028293b0a202020207d20656c73652069662028636972636c6529207b0a20202020202072656d6f7665426561636828636972636c652e617263293b0a202020207d20656c7365207b0a202020202020627265616b3b0a202020207d0a20207d0a0a2020736f727443656c6c48616c66656467657328293b0a0a202069662028657874656e7429207b0a20202020766172207830203d202b657874656e745b305d5b305d2c0a20202020202020207930203d202b657874656e745b305d5b315d2c0a20202020202020207831203d202b657874656e745b315d5b305d2c0a20202020202020207931203d202b657874656e745b315d5b315d3b0a20202020636c697045646765732878302c2079302c2078312c207931293b0a20202020636c697043656c6c732878302c2079302c2078312c207931293b0a20207d0a0a2020746869732e6564676573203d2065646765733b0a2020746869732e63656c6c73203d2063656c6c733b0a0a202062656163686573203d0a2020636972636c6573203d0a20206564676573203d0a202063656c6c73203d206e756c6c3b0a7d0a0a4469616772616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204469616772616d2c0a0a2020706f6c79676f6e733a2066756e6374696f6e2829207b0a20202020766172206564676573203d20746869732e65646765733b0a0a2020202072657475726e20746869732e63656c6c732e6d61702866756e6374696f6e2863656c6c29207b0a20202020202076617220706f6c79676f6e203d2063656c6c2e68616c6665646765732e6d61702866756e6374696f6e286929207b2072657475726e2063656c6c48616c666564676553746172742863656c6c2c2065646765735b695d293b207d293b0a202020202020706f6c79676f6e2e64617461203d2063656c6c2e736974652e646174613b0a20202020202072657475726e20706f6c79676f6e3b0a202020207d293b0a20207d2c0a0a2020747269616e676c65733a2066756e6374696f6e2829207b0a2020202076617220747269616e676c6573203d205b5d2c0a20202020202020206564676573203d20746869732e65646765733b0a0a20202020746869732e63656c6c732e666f72456163682866756e6374696f6e2863656c6c2c206929207b0a2020202020206966202821286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e67746829292072657475726e3b0a2020202020207661722073697465203d2063656c6c2e736974652c0a2020202020202020202068616c6665646765732c0a202020202020202020206a203d202d312c0a202020202020202020206d2c0a2020202020202020202073302c0a202020202020202020206531203d2065646765735b68616c6665646765735b6d202d20315d5d2c0a202020202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a20202020202020207330203d2073313b0a20202020202020206531203d2065646765735b68616c6665646765735b6a5d5d3b0a20202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a20202020202020206966202873302026262073312026262069203c2073302e696e6465782026262069203c2073312e696e64657820262620747269616e676c654172656128736974652c2073302c20733129203c203029207b0a20202020202020202020747269616e676c65732e70757368285b736974652e646174612c2073302e646174612c2073312e646174615d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e20747269616e676c65733b0a20207d2c0a0a20206c696e6b733a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e65646765732e66696c7465722866756e6374696f6e286564676529207b0a20202020202072657475726e20656467652e72696768743b0a202020207d292e6d61702866756e6374696f6e286564676529207b0a20202020202072657475726e207b0a2020202020202020736f757263653a20656467652e6c6566742e646174612c0a20202020202020207461726765743a20656467652e72696768742e646174610a2020202020207d3b0a202020207d293b0a20207d2c0a0a202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a202020207661722074686174203d20746869732c2069302c206931203d20746861742e5f666f756e64207c7c20302c206e203d20746861742e63656c6c732e6c656e6774682c2063656c6c3b0a0a202020202f2f20557365207468652070726576696f75736c792d666f756e642063656c6c2c206f72207374617274207769746820616e20617262697472617279206f6e652e0a202020207768696c652028212863656c6c203d20746861742e63656c6c735b69315d292920696620282b2b6931203e3d206e292072657475726e206e756c6c3b0a20202020766172206478203d2078202d2063656c6c2e736974655b305d2c206479203d2079202d2063656c6c2e736974655b315d2c206432203d206478202a206478202b206479202a2064793b0a0a202020202f2f205472617665727365207468652068616c662d656467657320746f2066696e64206120636c6f7365722063656c6c2c20696620616e792e0a20202020646f207b0a20202020202063656c6c203d20746861742e63656c6c735b6930203d2069315d2c206931203d206e756c6c3b0a20202020202063656c6c2e68616c6665646765732e666f72456163682866756e6374696f6e286529207b0a20202020202020207661722065646765203d20746861742e65646765735b655d2c2076203d20656467652e6c6566743b0a2020202020202020696620282876203d3d3d2063656c6c2e73697465207c7c2021762920262620212876203d20656467652e726967687429292072657475726e3b0a2020202020202020766172207678203d2078202d20765b305d2c207679203d2079202d20765b315d2c207632203d207678202a207678202b207679202a2076793b0a2020202020202020696620287632203c20643229206432203d2076322c206931203d20762e696e6465783b0a2020202020207d293b0a202020207d207768696c652028693120213d3d206e756c6c293b0a0a20202020746861742e5f666f756e64203d2069303b0a0a2020202072657475726e20726164697573203d3d206e756c6c207c7c206432203c3d20726164697573202a20726164697573203f2063656c6c2e73697465203a206e756c6c3b0a20207d0a7d3b0a0a66756e6374696f6e20766f726f6e6f692829207b0a20207661722078242431203d207824342c0a20202020202079242431203d207924342c0a202020202020657874656e74203d206e756c6c3b0a0a202066756e6374696f6e20766f726f6e6f69286461746129207b0a2020202072657475726e206e6577204469616772616d28646174612e6d61702866756e6374696f6e28642c206929207b0a2020202020207661722073203d205b4d6174682e726f756e64287824243128642c20692c206461746129202f20657073696c6f6e243429202a20657073696c6f6e24342c204d6174682e726f756e64287924243128642c20692c206461746129202f20657073696c6f6e243429202a20657073696c6f6e24345d3b0a202020202020732e696e646578203d20693b0a202020202020732e64617461203d20643b0a20202020202072657475726e20733b0a202020207d292c20657874656e74293b0a20207d0a0a2020766f726f6e6f692e706f6c79676f6e73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e706f6c79676f6e7328293b0a20207d3b0a0a2020766f726f6e6f692e6c696e6b73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e6c696e6b7328293b0a20207d3b0a0a2020766f726f6e6f692e747269616e676c6573203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e747269616e676c657328293b0a20207d3b0a0a2020766f726f6e6f692e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243132282b5f292c20766f726f6e6f6929203a20782424313b0a20207d3b0a0a2020766f726f6e6f692e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243132282b5f292c20766f726f6e6f6929203a20792424313b0a20207d3b0a0a2020766f726f6e6f692e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b5b657874656e745b305d5b305d2c20657874656e745b305d5b315d5d2c205b657874656e745b315d5b305d2c20657874656e745b315d5b315d5d5d3b0a20207d3b0a0a2020766f726f6e6f692e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b302c20305d2c205b2b5f5b305d2c202b5f5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b657874656e745b315d5b305d202d20657874656e745b305d5b305d2c20657874656e745b315d5b315d202d20657874656e745b305d5b315d5d3b0a20207d3b0a0a202072657475726e20766f726f6e6f693b0a7d0a0a66756e6374696f6e20636f6e7374616e74243133287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d0a0a66756e6374696f6e205a6f6f6d4576656e74287461726765742c20747970652c207472616e73666f726d29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7472616e73666f726d203d207472616e73666f726d3b0a7d0a0a66756e6374696f6e205472616e73666f726d286b2c20782c207929207b0a2020746869732e6b203d206b3b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a7d0a0a5472616e73666f726d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d2c0a20207363616c653a2066756e6374696f6e286b29207b0a2020202072657475726e206b203d3d3d2031203f2074686973203a206e6577205472616e73666f726d28746869732e6b202a206b2c20746869732e782c20746869732e79293b0a20207d2c0a20207472616e736c6174653a2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d3d3d203020262079203d3d3d2030203f2074686973203a206e6577205472616e73666f726d28746869732e6b2c20746869732e78202b20746869732e6b202a20782c20746869732e79202b20746869732e6b202a2079293b0a20207d2c0a20206170706c793a2066756e6374696f6e28706f696e7429207b0a2020202072657475726e205b706f696e745b305d202a20746869732e6b202b20746869732e782c20706f696e745b315d202a20746869732e6b202b20746869732e795d3b0a20207d2c0a20206170706c79583a2066756e6374696f6e287829207b0a2020202072657475726e2078202a20746869732e6b202b20746869732e783b0a20207d2c0a20206170706c79593a2066756e6374696f6e287929207b0a2020202072657475726e2079202a20746869732e6b202b20746869732e793b0a20207d2c0a2020696e766572743a2066756e6374696f6e286c6f636174696f6e29207b0a2020202072657475726e205b286c6f636174696f6e5b305d202d20746869732e7829202f20746869732e6b2c20286c6f636174696f6e5b315d202d20746869732e7929202f20746869732e6b5d3b0a20207d2c0a2020696e76657274583a2066756e6374696f6e287829207b0a2020202072657475726e202878202d20746869732e7829202f20746869732e6b3b0a20207d2c0a2020696e76657274593a2066756e6374696f6e287929207b0a2020202072657475726e202879202d20746869732e7929202f20746869732e6b3b0a20207d2c0a202072657363616c65583a2066756e6374696f6e287829207b0a2020202072657475726e20782e636f707928292e646f6d61696e28782e72616e676528292e6d617028746869732e696e76657274582c2074686973292e6d617028782e696e766572742c207829293b0a20207d2c0a202072657363616c65593a2066756e6374696f6e287929207b0a2020202072657475726e20792e636f707928292e646f6d61696e28792e72616e676528292e6d617028746869732e696e76657274592c2074686973292e6d617028792e696e766572742c207929293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20227472616e736c6174652822202b20746869732e78202b20222c22202b20746869732e79202b202229207363616c652822202b20746869732e6b202b202229223b0a20207d0a7d3b0a0a766172206964656e746974792438203d206e6577205472616e73666f726d28312c20302c2030293b0a0a7472616e73666f726d24312e70726f746f74797065203d205472616e73666f726d2e70726f746f747970653b0a0a66756e6374696f6e207472616e73666f726d2431286e6f646529207b0a202072657475726e206e6f64652e5f5f7a6f6f6d207c7c206964656e7469747924383b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e24322829207b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a66756e6374696f6e206e6f6576656e7424322829207b0a20206578706f7274732e6576656e742e70726576656e7444656661756c7428293b0a20206578706f7274732e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c74657224322829207b0a202072657475726e20216578706f7274732e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e7424312829207b0a20207661722065203d20746869732c20772c20683b0a2020696620286520696e7374616e63656f6620535647456c656d656e7429207b0a2020202065203d20652e6f776e6572535647456c656d656e74207c7c20653b0a2020202077203d20652e77696474682e6261736556616c2e76616c75653b0a2020202068203d20652e6865696768742e6261736556616c2e76616c75653b0a20207d20656c7365207b0a2020202077203d20652e636c69656e7457696474683b0a2020202068203d20652e636c69656e744865696768743b0a20207d0a202072657475726e205b5b302c20305d2c205b772c20685d5d3b0a7d0a0a66756e6374696f6e2064656661756c745472616e73666f726d2829207b0a202072657475726e20746869732e5f5f7a6f6f6d207c7c206964656e7469747924383b0a7d0a0a66756e6374696f6e2064656661756c74576865656c44656c74612829207b0a202072657475726e202d6578706f7274732e6576656e742e64656c746159202a20286578706f7274732e6576656e742e64656c74614d6f6465203f20313230203a203129202f203530303b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c6524312829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74436f6e73747261696e287472616e73666f726d2c20657874656e742c207472616e736c617465457874656e7429207b0a202076617220647830203d207472616e73666f726d2e696e766572745828657874656e745b305d5b305d29202d207472616e736c617465457874656e745b305d5b305d2c0a202020202020647831203d207472616e73666f726d2e696e766572745828657874656e745b315d5b305d29202d207472616e736c617465457874656e745b315d5b305d2c0a202020202020647930203d207472616e73666f726d2e696e766572745928657874656e745b305d5b315d29202d207472616e736c617465457874656e745b305d5b315d2c0a202020202020647931203d207472616e73666f726d2e696e766572745928657874656e745b315d5b315d29202d207472616e736c617465457874656e745b315d5b315d3b0a202072657475726e207472616e73666f726d2e7472616e736c617465280a20202020647831203e20647830203f2028647830202b2064783129202f2032203a204d6174682e6d696e28302c2064783029207c7c204d6174682e6d617828302c20647831292c0a20202020647931203e20647930203f2028647930202b2064793129202f2032203a204d6174682e6d696e28302c2064793029207c7c204d6174682e6d617828302c20647931290a2020293b0a7d0a0a66756e6374696f6e207a6f6f6d2829207b0a20207661722066696c746572203d2064656661756c7446696c74657224322c0a202020202020657874656e74203d2064656661756c74457874656e7424312c0a202020202020636f6e73747261696e203d2064656661756c74436f6e73747261696e2c0a202020202020776865656c44656c7461203d2064656661756c74576865656c44656c74612c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c6524312c0a2020202020207363616c65457874656e74203d205b302c20496e66696e6974795d2c0a2020202020207472616e736c617465457874656e74203d205b5b2d496e66696e6974792c202d496e66696e6974795d2c205b496e66696e6974792c20496e66696e6974795d5d2c0a2020202020206475726174696f6e203d203235302c0a202020202020696e746572706f6c617465203d20696e746572706f6c6174655a6f6f6d2c0a2020202020206765737475726573203d205b5d2c0a2020202020206c697374656e657273203d20646973706174636828227374617274222c20227a6f6f6d222c2022656e6422292c0a202020202020746f7563687374617274696e672c0a202020202020746f756368656e64696e672c0a202020202020746f75636844656c6179203d203530302c0a202020202020776865656c44656c6179203d203135302c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e207a6f6f6d2873656c656374696f6e24243129207b0a2020202073656c656374696f6e2424310a20202020202020202e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d290a20202020202020202e6f6e2822776865656c2e7a6f6f6d222c20776865656c6564290a20202020202020202e6f6e28226d6f757365646f776e2e7a6f6f6d222c206d6f757365646f776e6564290a20202020202020202e6f6e282264626c636c69636b2e7a6f6f6d222c2064626c636c69636b6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e7a6f6f6d222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e7a6f6f6d222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e7a6f6f6d20746f75636863616e63656c2e7a6f6f6d222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a20207a6f6f6d2e7472616e73666f726d203d2066756e6374696f6e28636f6c6c656374696f6e2c207472616e73666f726d29207b0a202020207661722073656c656374696f6e242431203d20636f6c6c656374696f6e2e73656c656374696f6e203f20636f6c6c656374696f6e2e73656c656374696f6e2829203a20636f6c6c656374696f6e3b0a2020202073656c656374696f6e2424312e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d293b0a2020202069662028636f6c6c656374696f6e20213d3d2073656c656374696f6e24243129207b0a2020202020207363686564756c6528636f6c6c656374696f6e2c207472616e73666f726d293b0a202020207d20656c7365207b0a20202020202073656c656374696f6e2424312e696e7465727275707428292e656163682866756e6374696f6e2829207b0a20202020202020206765737475726528746869732c20617267756d656e7473290a2020202020202020202020202e737461727428290a2020202020202020202020202e7a6f6f6d286e756c6c2c20747970656f66207472616e73666f726d203d3d3d202266756e6374696f6e22203f207472616e73666f726d2e6170706c7928746869732c20617267756d656e747329203a207472616e73666f726d290a2020202020202020202020202e656e6428293b0a2020202020207d293b0a202020207d0a20207d3b0a0a20207a6f6f6d2e7363616c654279203d2066756e6374696f6e2873656c656374696f6e2424312c206b29207b0a202020207a6f6f6d2e7363616c65546f2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a202020202020766172206b30203d20746869732e5f5f7a6f6f6d2e6b2c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e206b30202a206b313b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7363616c65546f203d2066756e6374696f6e2873656c656374696f6e2424312c206b29207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a202020202020202020207430203d20746869732e5f5f7a6f6f6d2c0a202020202020202020207030203d2063656e74726f69642865292c0a202020202020202020207031203d2074302e696e76657274287030292c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c6174654279203d2066756e6374696f6e2873656c656374696f6e2424312c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a20202020202072657475726e20636f6e73747261696e28746869732e5f5f7a6f6f6d2e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f20782e6170706c7928746869732c20617267756d656e747329203a20782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f20792e6170706c7928746869732c20617267756d656e747329203a20790a202020202020292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465546f203d2066756e6374696f6e2873656c656374696f6e2424312c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2424312c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020202074203d20746869732e5f5f7a6f6f6d2c0a2020202020202020202070203d2063656e74726f69642865293b0a20202020202072657475726e20636f6e73747261696e286964656e7469747924382e7472616e736c61746528705b305d2c20705b315d292e7363616c6528742e6b292e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f202d782e6170706c7928746869732c20617267756d656e747329203a202d782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f202d792e6170706c7928746869732c20617267756d656e747329203a202d790a202020202020292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a202066756e6374696f6e207363616c65287472616e73666f726d2c206b29207b0a202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c206b29293b0a2020202072657475726e206b203d3d3d207472616e73666f726d2e6b203f207472616e73666f726d203a206e6577205472616e73666f726d286b2c207472616e73666f726d2e782c207472616e73666f726d2e79293b0a20207d0a0a202066756e6374696f6e207472616e736c617465287472616e73666f726d2c2070302c20703129207b0a202020207661722078203d2070305b305d202d2070315b305d202a207472616e73666f726d2e6b2c2079203d2070305b315d202d2070315b315d202a207472616e73666f726d2e6b3b0a2020202072657475726e2078203d3d3d207472616e73666f726d2e782026262079203d3d3d207472616e73666f726d2e79203f207472616e73666f726d203a206e6577205472616e73666f726d287472616e73666f726d2e6b2c20782c2079293b0a20207d0a0a202066756e6374696f6e2063656e74726f696428657874656e7429207b0a2020202072657475726e205b282b657874656e745b305d5b305d202b202b657874656e745b315d5b305d29202f20322c20282b657874656e745b305d5b315d202b202b657874656e745b315d5b315d29202f20325d3b0a20207d0a0a202066756e6374696f6e207363686564756c65287472616e736974696f6e2424312c207472616e73666f726d2c2063656e74657229207b0a202020207472616e736974696f6e2424310a20202020202020202e6f6e282273746172742e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e737461727428293b207d290a20202020202020202e6f6e2822696e746572727570742e7a6f6f6d20656e642e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e656e6428293b207d290a20202020202020202e747765656e28227a6f6f6d222c2066756e6374696f6e2829207b0a202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202067203d206765737475726528746861742c2061726773292c0a202020202020202020202020202065203d20657874656e742e6170706c7928746861742c2061726773292c0a202020202020202020202020202070203d2063656e746572207c7c2063656e74726f69642865292c0a202020202020202020202020202077203d204d6174682e6d617828655b315d5b305d202d20655b305d5b305d2c20655b315d5b315d202d20655b305d5b315d292c0a202020202020202020202020202061203d20746861742e5f5f7a6f6f6d2c0a202020202020202020202020202062203d20747970656f66207472616e73666f726d203d3d3d202266756e6374696f6e22203f207472616e73666f726d2e6170706c7928746861742c206172677329203a207472616e73666f726d2c0a202020202020202020202020202069203d20696e746572706f6c61746528612e696e766572742870292e636f6e6361742877202f20612e6b292c20622e696e766572742870292e636f6e6361742877202f20622e6b29293b0a2020202020202020202072657475726e2066756e6374696f6e287429207b0a2020202020202020202020206966202874203d3d3d2031292074203d20623b202f2f2041766f696420726f756e64696e67206572726f72206f6e20656e642e0a202020202020202020202020656c7365207b20766172206c203d20692874292c206b203d2077202f206c5b325d3b2074203d206e6577205472616e73666f726d286b2c20705b305d202d206c5b305d202a206b2c20705b315d202d206c5b315d202a206b293b207d0a202020202020202020202020672e7a6f6f6d286e756c6c2c2074293b0a202020202020202020207d3b0a20202020202020207d293b0a20207d0a0a202066756e6374696f6e206765737475726528746861742c206172677329207b0a20202020666f7220287661722069203d20302c206e203d2067657374757265732e6c656e6774682c20673b2069203c206e3b202b2b6929207b0a202020202020696620282867203d2067657374757265735b695d292e74686174203d3d3d207468617429207b0a202020202020202072657475726e20673b0a2020202020207d0a202020207d0a2020202072657475726e206e6577204765737475726528746861742c2061726773293b0a20207d0a0a202066756e6374696f6e204765737475726528746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e696e646578203d202d313b0a20202020746869732e616374697665203d20303b0a20202020746869732e657874656e74203d20657874656e742e6170706c7928746861742c2061726773293b0a20207d0a0a2020476573747572652e70726f746f74797065203d207b0a2020202073746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d203129207b0a2020202020202020746869732e696e646578203d2067657374757265732e70757368287468697329202d20313b0a2020202020202020746869732e656d69742822737461727422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a202020207a6f6f6d3a2066756e6374696f6e286b65792c207472616e73666f726d29207b0a20202020202069662028746869732e6d6f757365202626206b657920213d3d20226d6f757365222920746869732e6d6f7573655b315d203d207472616e73666f726d2e696e7665727428746869732e6d6f7573655b305d293b0a20202020202069662028746869732e746f75636830202626206b657920213d3d2022746f756368222920746869732e746f756368305b315d203d207472616e73666f726d2e696e7665727428746869732e746f756368305b305d293b0a20202020202069662028746869732e746f75636831202626206b657920213d3d2022746f756368222920746869732e746f756368315b315d203d207472616e73666f726d2e696e7665727428746869732e746f756368315b305d293b0a202020202020746869732e746861742e5f5f7a6f6f6d203d207472616e73666f726d3b0a202020202020746869732e656d697428227a6f6f6d22293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d203029207b0a202020202020202067657374757265732e73706c69636528746869732e696e6465782c2031293b0a2020202020202020746869732e696e646578203d202d313b0a2020202020202020746869732e656d69742822656e6422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020637573746f6d4576656e74286e6577205a6f6f6d4576656e74287a6f6f6d2c20747970652c20746869732e746861742e5f5f7a6f6f6d292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20776865656c65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202074203d20746869732e5f5f7a6f6f6d2c0a20202020202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c20742e6b202a204d6174682e706f7728322c20776865656c44656c74612e6170706c7928746869732c20617267756d656e7473292929292c0a202020202020202070203d206d6f7573652874686973293b0a0a202020202f2f20496620746865206d6f75736520697320696e207468652073616d65206c6f636174696f6e206173206265666f72652c2072657573652069742e0a202020202f2f204966207468657265207765726520726563656e7420776865656c206576656e74732c2072657365742074686520776865656c2069646c652074696d656f75742e0a2020202069662028672e776865656c29207b0a20202020202069662028672e6d6f7573655b305d5b305d20213d3d20705b305d207c7c20672e6d6f7573655b305d5b315d20213d3d20705b315d29207b0a2020202020202020672e6d6f7573655b315d203d20742e696e7665727428672e6d6f7573655b305d203d2070293b0a2020202020207d0a202020202020636c65617254696d656f757428672e776865656c293b0a202020207d0a0a202020202f2f204966207468697320776865656c206576656e7420776f6ee280997420747269676765722061207472616e73666f726d206368616e67652c2069676e6f72652069742e0a20202020656c73652069662028742e6b203d3d3d206b292072657475726e3b0a0a202020202f2f204f74686572776973652c206361707475726520746865206d6f75736520706f696e7420616e64206c6f636174696f6e206174207468652073746172742e0a20202020656c7365207b0a202020202020672e6d6f757365203d205b702c20742e696e766572742870295d3b0a202020202020696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a0a202020206e6f6576656e74243228293b0a20202020672e776865656c203d2073657454696d656f757428776865656c69646c65642c20776865656c44656c6179293b0a20202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c617465287363616c6528742c206b292c20672e6d6f7573655b305d2c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a0a2020202066756e6374696f6e20776865656c69646c65642829207b0a202020202020672e776865656c203d206e756c6c3b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202076203d2073656c656374286578706f7274732e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e7a6f6f6d222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e7a6f6f6d222c206d6f75736575707065642c2074727565292c0a202020202020202070203d206d6f7573652874686973292c0a20202020202020207830203d206578706f7274732e6576656e742e636c69656e74582c0a20202020202020207930203d206578706f7274732e6576656e742e636c69656e74593b0a0a202020206472616744697361626c65286578706f7274732e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e243228293b0a20202020672e6d6f757365203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870295d3b0a20202020696e746572727570742874686973293b0a20202020672e737461727428293b0a0a2020202066756e6374696f6e206d6f7573656d6f7665642829207b0a2020202020206e6f6576656e74243228293b0a2020202020206966202821672e6d6f76656429207b0a2020202020202020766172206478203d206578706f7274732e6576656e742e636c69656e7458202d2078302c206479203d206578706f7274732e6576656e742e636c69656e7459202d2079303b0a2020202020202020672e6d6f766564203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a2020202020207d0a202020202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c61746528672e746861742e5f5f7a6f6f6d2c20672e6d6f7573655b305d203d206d6f75736528672e74686174292c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a202020207d0a0a2020202066756e6374696f6e206d6f75736575707065642829207b0a202020202020762e6f6e28226d6f7573656d6f76652e7a6f6f6d206d6f75736575702e7a6f6f6d222c206e756c6c293b0a20202020202079657364726167286578706f7274732e6576656e742e766965772c20672e6d6f766564293b0a2020202020206e6f6576656e74243228293b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e2064626c636c69636b65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a20202020766172207430203d20746869732e5f5f7a6f6f6d2c0a20202020202020207030203d206d6f7573652874686973292c0a20202020202020207031203d2074302e696e76657274287030292c0a20202020202020206b31203d2074302e6b202a20286578706f7274732e6576656e742e73686966744b6579203f20302e35203a2032292c0a20202020202020207431203d20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a0a202020206e6f6576656e74243228293b0a20202020696620286475726174696f6e203e2030292073656c6563742874686973292e7472616e736974696f6e28292e6475726174696f6e286475726174696f6e292e63616c6c287363686564756c652c2074312c207030293b0a20202020656c73652073656c6563742874686973292e63616c6c287a6f6f6d2e7472616e73666f726d2c207431293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a2020202020202020737461727465642c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20742c20703b0a0a202020206e6f70726f7061676174696f6e243228293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d2c2070203d20746f75636828746869732c20746f75636865732424312c20742e6964656e746966696572293b0a20202020202070203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870292c20742e6964656e7469666965725d3b0a2020202020206966202821672e746f756368302920672e746f75636830203d20702c2073746172746564203d20747275653b0a202020202020656c7365206966202821672e746f756368312920672e746f75636831203d20703b0a202020207d0a0a202020202f2f204966207468697320697320612064626c7461702c207265726f75746520746f2074686520286f7074696f6e616c292064626c636c69636b2e7a6f6f6d2068616e646c65722e0a2020202069662028746f7563687374617274696e6729207b0a202020202020746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a2020202020206966202821672e746f7563683129207b0a2020202020202020672e656e6428293b0a202020202020202070203d2073656c6563742874686973292e6f6e282264626c636c69636b2e7a6f6f6d22293b0a202020202020202069662028702920702e6170706c7928746869732c20617267756d656e7473293b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a0a20202020696620287374617274656429207b0a202020202020746f7563687374617274696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f7563687374617274696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a202020202020696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20742c20702c206c3b0a0a202020206e6f6576656e74243228293b0a2020202069662028746f7563687374617274696e672920746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d2c2070203d20746f75636828746869732c20746f75636865732424312c20742e6964656e746966696572293b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e7469666965722920672e746f756368305b305d203d20703b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e7469666965722920672e746f756368315b305d203d20703b0a202020207d0a2020202074203d20672e746861742e5f5f7a6f6f6d3b0a2020202069662028672e746f7563683129207b0a202020202020766172207030203d20672e746f756368305b305d2c206c30203d20672e746f756368305b315d2c0a202020202020202020207031203d20672e746f756368315b305d2c206c31203d20672e746f756368315b315d2c0a202020202020202020206470203d20286470203d2070315b305d202d2070305b305d29202a206470202b20286470203d2070315b315d202d2070305b315d29202a2064702c0a20202020202020202020646c203d2028646c203d206c315b305d202d206c305b305d29202a20646c202b2028646c203d206c315b315d202d206c305b315d29202a20646c3b0a20202020202074203d207363616c6528742c204d6174682e73717274286470202f20646c29293b0a20202020202070203d205b2870305b305d202b2070315b305d29202f20322c202870305b315d202b2070315b315d29202f20325d3b0a2020202020206c203d205b286c305b305d202b206c315b305d29202f20322c20286c305b315d202b206c315b315d29202f20325d3b0a202020207d0a20202020656c73652069662028672e746f75636830292070203d20672e746f756368305b305d2c206c203d20672e746f756368305b315d3b0a20202020656c73652072657475726e3b0a20202020672e7a6f6f6d2822746f756368222c20636f6e73747261696e287472616e736c61746528742c20702c206c292c20672e657874656e742c207472616e736c617465457874656e7429293b0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573242431203d206578706f7274732e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732424312e6c656e6774682c20692c20743b0a0a202020206e6f70726f7061676174696f6e243228293b0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865732424315b695d3b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368303b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368313b0a202020207d0a2020202069662028672e746f756368312026262021672e746f756368302920672e746f75636830203d20672e746f756368312c2064656c65746520672e746f756368313b0a2020202069662028672e746f756368302920672e746f756368305b315d203d20746869732e5f5f7a6f6f6d2e696e7665727428672e746f756368305b305d293b0a20202020656c736520672e656e6428293b0a20207d0a0a20207a6f6f6d2e776865656c44656c7461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028776865656c44656c7461203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243133282b5f292c207a6f6f6d29203a20776865656c44656c74613b0a20207d3b0a0a20207a6f6f6d2e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431332821215f292c207a6f6f6d29203a2066696c7465723b0a20207d3b0a0a20207a6f6f6d2e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742431332821215f292c207a6f6f6d29203a20746f75636861626c653b0a20207d3b0a0a20207a6f6f6d2e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74243133285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c207a6f6f6d29203a20657874656e743b0a20207d3b0a0a20207a6f6f6d2e7363616c65457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65457874656e745b305d203d202b5f5b305d2c207363616c65457874656e745b315d203d202b5f5b315d2c207a6f6f6d29203a205b7363616c65457874656e745b305d2c207363616c65457874656e745b315d5d3b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465457874656e745b305d5b305d203d202b5f5b305d5b305d2c207472616e736c617465457874656e745b315d5b305d203d202b5f5b315d5b305d2c207472616e736c617465457874656e745b305d5b315d203d202b5f5b305d5b315d2c207472616e736c617465457874656e745b315d5b315d203d202b5f5b315d5b315d2c207a6f6f6d29203a205b5b7472616e736c617465457874656e745b305d5b305d2c207472616e736c617465457874656e745b305d5b315d5d2c205b7472616e736c617465457874656e745b315d5b305d2c207472616e736c617465457874656e745b315d5b315d5d5d3b0a20207d3b0a0a20207a6f6f6d2e636f6e73747261696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e73747261696e203d205f2c207a6f6f6d29203a20636f6e73747261696e3b0a20207d3b0a0a20207a6f6f6d2e6475726174696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286475726174696f6e203d202b5f2c207a6f6f6d29203a206475726174696f6e3b0a20207d3b0a0a20207a6f6f6d2e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465203d205f2c207a6f6f6d29203a20696e746572706f6c6174653b0a20207d3b0a0a20207a6f6f6d2e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f207a6f6f6d203a2076616c75653b0a20207d3b0a0a20207a6f6f6d2e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c207a6f6f6d29203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e207a6f6f6d3b0a7d0a0a6578706f7274732e76657273696f6e203d2076657273696f6e3b0a6578706f7274732e626973656374203d2062697365637452696768743b0a6578706f7274732e6269736563745269676874203d2062697365637452696768743b0a6578706f7274732e6269736563744c656674203d206269736563744c6566743b0a6578706f7274732e617363656e64696e67203d20617363656e64696e673b0a6578706f7274732e6269736563746f72203d206269736563746f723b0a6578706f7274732e63726f7373203d2063726f73733b0a6578706f7274732e64657363656e64696e67203d2064657363656e64696e673b0a6578706f7274732e646576696174696f6e203d20646576696174696f6e3b0a6578706f7274732e657874656e74203d20657874656e743b0a6578706f7274732e686973746f6772616d203d20686973746f6772616d3b0a6578706f7274732e7468726573686f6c6446726565646d616e446961636f6e6973203d2066726565646d616e446961636f6e69733b0a6578706f7274732e7468726573686f6c6453636f7474203d2073636f74743b0a6578706f7274732e7468726573686f6c6453747572676573203d207468726573686f6c64537475726765733b0a6578706f7274732e6d6178203d206d61783b0a6578706f7274732e6d65616e203d206d65616e3b0a6578706f7274732e6d656469616e203d206d656469616e3b0a6578706f7274732e6d65726765203d206d657267653b0a6578706f7274732e6d696e203d206d696e3b0a6578706f7274732e7061697273203d2070616972733b0a6578706f7274732e7065726d757465203d207065726d7574653b0a6578706f7274732e7175616e74696c65203d207468726573686f6c643b0a6578706f7274732e72616e6765203d2073657175656e63653b0a6578706f7274732e7363616e203d207363616e3b0a6578706f7274732e73687566666c65203d2073687566666c653b0a6578706f7274732e73756d203d2073756d3b0a6578706f7274732e7469636b73203d207469636b733b0a6578706f7274732e7469636b496e6372656d656e74203d207469636b496e6372656d656e743b0a6578706f7274732e7469636b53746570203d207469636b537465703b0a6578706f7274732e7472616e73706f7365203d207472616e73706f73653b0a6578706f7274732e76617269616e6365203d2076617269616e63653b0a6578706f7274732e7a6970203d207a69703b0a6578706f7274732e61786973546f70203d2061786973546f703b0a6578706f7274732e617869735269676874203d206178697352696768743b0a6578706f7274732e61786973426f74746f6d203d2061786973426f74746f6d3b0a6578706f7274732e617869734c656674203d20617869734c6566743b0a6578706f7274732e6272757368203d2062727573683b0a6578706f7274732e627275736858203d206272757368583b0a6578706f7274732e627275736859203d206272757368593b0a6578706f7274732e627275736853656c656374696f6e203d20627275736853656c656374696f6e3b0a6578706f7274732e63686f7264203d2063686f72643b0a6578706f7274732e726962626f6e203d20726962626f6e3b0a6578706f7274732e6e657374203d206e6573743b0a6578706f7274732e736574203d2073657424323b0a6578706f7274732e6d6170203d206d617024313b0a6578706f7274732e6b657973203d206b6579733b0a6578706f7274732e76616c756573203d2076616c7565733b0a6578706f7274732e656e7472696573203d20656e74726965733b0a6578706f7274732e636f6c6f72203d20636f6c6f723b0a6578706f7274732e726762203d207267623b0a6578706f7274732e68736c203d2068736c3b0a6578706f7274732e6c6162203d206c61623b0a6578706f7274732e68636c203d2068636c3b0a6578706f7274732e6c6368203d206c63683b0a6578706f7274732e67726179203d20677261793b0a6578706f7274732e6375626568656c6978203d206375626568656c69783b0a6578706f7274732e636f6e746f757273203d20636f6e746f7572733b0a6578706f7274732e636f6e746f757244656e73697479203d2064656e736974793b0a6578706f7274732e6469737061746368203d2064697370617463683b0a6578706f7274732e64726167203d20647261673b0a6578706f7274732e6472616744697361626c65203d206472616744697361626c653b0a6578706f7274732e64726167456e61626c65203d20796573647261673b0a6578706f7274732e647376466f726d6174203d20647376466f726d61743b0a6578706f7274732e6373765061727365203d2063737650617273653b0a6578706f7274732e6373765061727365526f7773203d206373765061727365526f77733b0a6578706f7274732e637376466f726d6174203d20637376466f726d61743b0a6578706f7274732e637376466f726d6174526f7773203d20637376466f726d6174526f77733b0a6578706f7274732e7473765061727365203d2074737650617273653b0a6578706f7274732e7473765061727365526f7773203d207473765061727365526f77733b0a6578706f7274732e747376466f726d6174203d20747376466f726d61743b0a6578706f7274732e747376466f726d6174526f7773203d20747376466f726d6174526f77733b0a6578706f7274732e656173654c696e656172203d206c696e65617224313b0a6578706f7274732e6561736551756164203d2071756164496e4f75743b0a6578706f7274732e6561736551756164496e203d2071756164496e3b0a6578706f7274732e65617365517561644f7574203d20717561644f75743b0a6578706f7274732e6561736551756164496e4f7574203d2071756164496e4f75743b0a6578706f7274732e656173654375626963203d206375626963496e4f75743b0a6578706f7274732e656173654375626963496e203d206375626963496e3b0a6578706f7274732e6561736543756269634f7574203d2063756269634f75743b0a6578706f7274732e656173654375626963496e4f7574203d206375626963496e4f75743b0a6578706f7274732e65617365506f6c79203d20706f6c79496e4f75743b0a6578706f7274732e65617365506f6c79496e203d20706f6c79496e3b0a6578706f7274732e65617365506f6c794f7574203d20706f6c794f75743b0a6578706f7274732e65617365506f6c79496e4f7574203d20706f6c79496e4f75743b0a6578706f7274732e6561736553696e203d2073696e496e4f75743b0a6578706f7274732e6561736553696e496e203d2073696e496e3b0a6578706f7274732e6561736553696e4f7574203d2073696e4f75743b0a6578706f7274732e6561736553696e496e4f7574203d2073696e496e4f75743b0a6578706f7274732e65617365457870203d20657870496e4f75743b0a6578706f7274732e65617365457870496e203d20657870496e3b0a6578706f7274732e656173654578704f7574203d206578704f75743b0a6578706f7274732e65617365457870496e4f7574203d20657870496e4f75743b0a6578706f7274732e65617365436972636c65203d20636972636c65496e4f75743b0a6578706f7274732e65617365436972636c65496e203d20636972636c65496e3b0a6578706f7274732e65617365436972636c654f7574203d20636972636c654f75743b0a6578706f7274732e65617365436972636c65496e4f7574203d20636972636c65496e4f75743b0a6578706f7274732e65617365426f756e6365203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e203d20626f756e6365496e3b0a6578706f7274732e65617365426f756e63654f7574203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e4f7574203d20626f756e6365496e4f75743b0a6578706f7274732e656173654261636b203d206261636b496e4f75743b0a6578706f7274732e656173654261636b496e203d206261636b496e3b0a6578706f7274732e656173654261636b4f7574203d206261636b4f75743b0a6578706f7274732e656173654261636b496e4f7574203d206261636b496e4f75743b0a6578706f7274732e65617365456c6173746963203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e203d20656c6173746963496e3b0a6578706f7274732e65617365456c61737469634f7574203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e4f7574203d20656c6173746963496e4f75743b0a6578706f7274732e626c6f62203d20626c6f623b0a6578706f7274732e627566666572203d206275666665723b0a6578706f7274732e647376203d206473763b0a6578706f7274732e637376203d2063737624313b0a6578706f7274732e747376203d2074737624313b0a6578706f7274732e696d616765203d20696d6167653b0a6578706f7274732e6a736f6e203d206a736f6e3b0a6578706f7274732e74657874203d20746578743b0a6578706f7274732e786d6c203d20786d6c3b0a6578706f7274732e68746d6c203d2068746d6c3b0a6578706f7274732e737667203d207376673b0a6578706f7274732e666f72636543656e746572203d2063656e74657224313b0a6578706f7274732e666f726365436f6c6c696465203d20636f6c6c6964653b0a6578706f7274732e666f7263654c696e6b203d206c696e6b3b0a6578706f7274732e666f7263654d616e79426f6479203d206d616e79426f64793b0a6578706f7274732e666f72636552616469616c203d2072616469616c3b0a6578706f7274732e666f72636553696d756c6174696f6e203d2073696d756c6174696f6e3b0a6578706f7274732e666f72636558203d207824323b0a6578706f7274732e666f72636559203d207924323b0a6578706f7274732e666f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e666f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e666f726d6174537065636966696572203d20666f726d61745370656369666965723b0a6578706f7274732e707265636973696f6e4669786564203d20707265636973696f6e46697865643b0a6578706f7274732e707265636973696f6e507265666978203d20707265636973696f6e5072656669783b0a6578706f7274732e707265636973696f6e526f756e64203d20707265636973696f6e526f756e643b0a6578706f7274732e67656f41726561203d206172656124313b0a6578706f7274732e67656f426f756e6473203d20626f756e64733b0a6578706f7274732e67656f43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e67656f436972636c65203d20636972636c653b0a6578706f7274732e67656f436c6970416e74696d6572696469616e203d20636c6970416e74696d6572696469616e3b0a6578706f7274732e67656f436c6970436972636c65203d20636c6970436972636c653b0a6578706f7274732e67656f436c6970457874656e74203d20657874656e7424313b0a6578706f7274732e67656f436c697052656374616e676c65203d20636c697052656374616e676c653b0a6578706f7274732e67656f436f6e7461696e73203d20636f6e7461696e7324313b0a6578706f7274732e67656f44697374616e6365203d2064697374616e63653b0a6578706f7274732e67656f477261746963756c65203d20677261746963756c653b0a6578706f7274732e67656f477261746963756c653130203d20677261746963756c6531303b0a6578706f7274732e67656f496e746572706f6c617465203d20696e746572706f6c61746524313b0a6578706f7274732e67656f4c656e677468203d206c656e67746824313b0a6578706f7274732e67656f50617468203d20696e64657824313b0a6578706f7274732e67656f416c62657273203d20616c626572733b0a6578706f7274732e67656f416c62657273557361203d20616c626572735573613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561203d20617a696d757468616c457175616c417265613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561526177203d20617a696d757468616c457175616c417265615261773b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74203d20617a696d757468616c4571756964697374616e743b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74526177203d20617a696d757468616c4571756964697374616e745261773b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c203d20636f6e6963436f6e666f726d616c3b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c526177203d20636f6e6963436f6e666f726d616c5261773b0a6578706f7274732e67656f436f6e6963457175616c41726561203d20636f6e6963457175616c417265613b0a6578706f7274732e67656f436f6e6963457175616c41726561526177203d20636f6e6963457175616c417265615261773b0a6578706f7274732e67656f436f6e69634571756964697374616e74203d20636f6e69634571756964697374616e743b0a6578706f7274732e67656f436f6e69634571756964697374616e74526177203d20636f6e69634571756964697374616e745261773b0a6578706f7274732e67656f4571756972656374616e67756c6172203d206571756972656374616e67756c61723b0a6578706f7274732e67656f4571756972656374616e67756c6172526177203d206571756972656374616e67756c61725261773b0a6578706f7274732e67656f476e6f6d6f6e6963203d20676e6f6d6f6e69633b0a6578706f7274732e67656f476e6f6d6f6e6963526177203d20676e6f6d6f6e69635261773b0a6578706f7274732e67656f4964656e74697479203d206964656e7469747924353b0a6578706f7274732e67656f50726f6a656374696f6e203d2070726f6a656374696f6e3b0a6578706f7274732e67656f50726f6a656374696f6e4d757461746f72203d2070726f6a656374696f6e4d757461746f723b0a6578706f7274732e67656f4d65726361746f72203d206d65726361746f723b0a6578706f7274732e67656f4d65726361746f72526177203d206d65726361746f725261773b0a6578706f7274732e67656f4e61747572616c456172746831203d206e61747572616c4561727468313b0a6578706f7274732e67656f4e61747572616c456172746831526177203d206e61747572616c4561727468315261773b0a6578706f7274732e67656f4f7274686f67726170686963203d206f7274686f677261706869633b0a6578706f7274732e67656f4f7274686f67726170686963526177203d206f7274686f677261706869635261773b0a6578706f7274732e67656f53746572656f67726170686963203d2073746572656f677261706869633b0a6578706f7274732e67656f53746572656f67726170686963526177203d2073746572656f677261706869635261773b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72203d207472616e7376657273654d65726361746f723b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72526177203d207472616e7376657273654d65726361746f725261773b0a6578706f7274732e67656f526f746174696f6e203d20726f746174696f6e3b0a6578706f7274732e67656f53747265616d203d2067656f53747265616d3b0a6578706f7274732e67656f5472616e73666f726d203d207472616e73666f726d3b0a6578706f7274732e636c7573746572203d20636c75737465723b0a6578706f7274732e686965726172636879203d206869657261726368793b0a6578706f7274732e7061636b203d20696e64657824323b0a6578706f7274732e7061636b5369626c696e6773203d207369626c696e67733b0a6578706f7274732e7061636b456e636c6f7365203d20656e636c6f73653b0a6578706f7274732e706172746974696f6e203d20706172746974696f6e3b0a6578706f7274732e7374726174696679203d2073747261746966793b0a6578706f7274732e74726565203d20747265653b0a6578706f7274732e747265656d6170203d20696e64657824333b0a6578706f7274732e747265656d617042696e617279203d2062696e6172793b0a6578706f7274732e747265656d617044696365203d20747265656d6170446963653b0a6578706f7274732e747265656d6170536c696365203d20747265656d6170536c6963653b0a6578706f7274732e747265656d6170536c69636544696365203d20736c696365446963653b0a6578706f7274732e747265656d61705371756172696679203d2073717561726966793b0a6578706f7274732e747265656d617052657371756172696679203d20726573717561726966793b0a6578706f7274732e696e746572706f6c617465203d20696e746572706f6c61746556616c75653b0a6578706f7274732e696e746572706f6c6174654172726179203d20617272617924313b0a6578706f7274732e696e746572706f6c6174654261736973203d20626173697324313b0a6578706f7274732e696e746572706f6c6174654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746544617465203d20646174653b0a6578706f7274732e696e746572706f6c6174654e756d626572203d207265696e746572706f6c6174653b0a6578706f7274732e696e746572706f6c6174654f626a656374203d206f626a6563743b0a6578706f7274732e696e746572706f6c617465526f756e64203d20696e746572706f6c617465526f756e643b0a6578706f7274732e696e746572706f6c617465537472696e67203d20696e746572706f6c617465537472696e673b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d4373733b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d5376673b0a6578706f7274732e696e746572706f6c6174655a6f6f6d203d20696e746572706f6c6174655a6f6f6d3b0a6578706f7274732e696e746572706f6c617465526762203d20696e746572706f6c6174655267623b0a6578706f7274732e696e746572706f6c6174655267624261736973203d2072676242617369733b0a6578706f7274732e696e746572706f6c6174655267624261736973436c6f736564203d207267624261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746548736c203d2068736c24323b0a6578706f7274732e696e746572706f6c61746548736c4c6f6e67203d2068736c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654c6162203d206c616224313b0a6578706f7274732e696e746572706f6c61746548636c203d2068636c24323b0a6578706f7274732e696e746572706f6c61746548636c4c6f6e67203d2068636c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654375626568656c6978203d206375626568656c697824323b0a6578706f7274732e696e746572706f6c6174654375626568656c69784c6f6e67203d206375626568656c69784c6f6e673b0a6578706f7274732e706965636577697365203d207069656365776973653b0a6578706f7274732e7175616e74697a65203d207175616e74697a653b0a6578706f7274732e70617468203d20706174683b0a6578706f7274732e706f6c79676f6e41726561203d206172656124323b0a6578706f7274732e706f6c79676f6e43656e74726f6964203d2063656e74726f696424313b0a6578706f7274732e706f6c79676f6e48756c6c203d2068756c6c3b0a6578706f7274732e706f6c79676f6e436f6e7461696e73203d20636f6e7461696e7324323b0a6578706f7274732e706f6c79676f6e4c656e677468203d206c656e67746824323b0a6578706f7274732e7175616474726565203d2071756164747265653b0a6578706f7274732e72616e646f6d556e69666f726d203d20756e69666f726d3b0a6578706f7274732e72616e646f6d4e6f726d616c203d206e6f726d616c3b0a6578706f7274732e72616e646f6d4c6f674e6f726d616c203d206c6f674e6f726d616c3b0a6578706f7274732e72616e646f6d4261746573203d2062617465733b0a6578706f7274732e72616e646f6d497277696e48616c6c203d20697277696e48616c6c3b0a6578706f7274732e72616e646f6d4578706f6e656e7469616c203d206578706f6e656e7469616c24313b0a6578706f7274732e7363616c6542616e64203d2062616e643b0a6578706f7274732e7363616c65506f696e74203d20706f696e7424313b0a6578706f7274732e7363616c654964656e74697479203d206964656e7469747924363b0a6578706f7274732e7363616c654c696e656172203d206c696e65617224323b0a6578706f7274732e7363616c654c6f67203d206c6f6724313b0a6578706f7274732e7363616c654f7264696e616c203d206f7264696e616c3b0a6578706f7274732e7363616c65496d706c69636974203d20696d706c696369743b0a6578706f7274732e7363616c65506f77203d20706f7724313b0a6578706f7274732e7363616c6553717274203d207371727424313b0a6578706f7274732e7363616c655175616e74696c65203d207175616e74696c652424313b0a6578706f7274732e7363616c655175616e74697a65203d207175616e74697a6524313b0a6578706f7274732e7363616c655468726573686f6c64203d207468726573686f6c6424313b0a6578706f7274732e7363616c6554696d65203d2074696d653b0a6578706f7274732e7363616c65557463203d2075746354696d653b0a6578706f7274732e7363616c6553657175656e7469616c203d2073657175656e7469616c3b0a6578706f7274732e7363616c65446976657267696e67203d20646976657267696e673b0a6578706f7274732e736368656d6543617465676f72793130203d2063617465676f727931303b0a6578706f7274732e736368656d65416363656e74203d20416363656e743b0a6578706f7274732e736368656d654461726b32203d204461726b323b0a6578706f7274732e736368656d65506169726564203d205061697265643b0a6578706f7274732e736368656d6550617374656c31203d2050617374656c313b0a6578706f7274732e736368656d6550617374656c32203d2050617374656c323b0a6578706f7274732e736368656d6553657431203d20536574313b0a6578706f7274732e736368656d6553657432203d20536574323b0a6578706f7274732e736368656d6553657433203d20536574333b0a6578706f7274732e696e746572706f6c61746542724247203d20427242473b0a6578706f7274732e736368656d6542724247203d20736368656d653b0a6578706f7274732e696e746572706f6c6174655052476e203d205052476e3b0a6578706f7274732e736368656d655052476e203d20736368656d6524313b0a6578706f7274732e696e746572706f6c61746550695947203d20506959473b0a6578706f7274732e736368656d6550695947203d20736368656d6524323b0a6578706f7274732e696e746572706f6c61746550754f72203d2050754f723b0a6578706f7274732e736368656d6550754f72203d20736368656d6524333b0a6578706f7274732e696e746572706f6c61746552644275203d20526442753b0a6578706f7274732e736368656d6552644275203d20736368656d6524343b0a6578706f7274732e696e746572706f6c61746552644779203d20526447793b0a6578706f7274732e736368656d6552644779203d20736368656d6524353b0a6578706f7274732e696e746572706f6c6174655264596c4275203d205264596c42753b0a6578706f7274732e736368656d655264596c4275203d20736368656d6524363b0a6578706f7274732e696e746572706f6c6174655264596c476e203d205264596c476e3b0a6578706f7274732e736368656d655264596c476e203d20736368656d6524373b0a6578706f7274732e696e746572706f6c617465537065637472616c203d20537065637472616c3b0a6578706f7274732e736368656d65537065637472616c203d20736368656d6524383b0a6578706f7274732e696e746572706f6c6174654275476e203d204275476e3b0a6578706f7274732e736368656d654275476e203d20736368656d6524393b0a6578706f7274732e696e746572706f6c61746542755075203d20427550753b0a6578706f7274732e736368656d6542755075203d20736368656d652431303b0a6578706f7274732e696e746572706f6c617465476e4275203d20476e42753b0a6578706f7274732e736368656d65476e4275203d20736368656d652431313b0a6578706f7274732e696e746572706f6c6174654f725264203d204f7252643b0a6578706f7274732e736368656d654f725264203d20736368656d652431323b0a6578706f7274732e696e746572706f6c61746550754275476e203d2050754275476e3b0a6578706f7274732e736368656d6550754275476e203d20736368656d652431333b0a6578706f7274732e696e746572706f6c61746550754275203d20507542753b0a6578706f7274732e736368656d6550754275203d20736368656d652431343b0a6578706f7274732e696e746572706f6c61746550755264203d20507552643b0a6578706f7274732e736368656d6550755264203d20736368656d652431353b0a6578706f7274732e696e746572706f6c61746552645075203d20526450753b0a6578706f7274732e736368656d6552645075203d20736368656d652431363b0a6578706f7274732e696e746572706f6c617465596c476e4275203d20596c476e42753b0a6578706f7274732e736368656d65596c476e4275203d20736368656d652431373b0a6578706f7274732e696e746572706f6c617465596c476e203d20596c476e3b0a6578706f7274732e736368656d65596c476e203d20736368656d652431383b0a6578706f7274732e696e746572706f6c617465596c4f724272203d20596c4f7242723b0a6578706f7274732e736368656d65596c4f724272203d20736368656d652431393b0a6578706f7274732e696e746572706f6c617465596c4f725264203d20596c4f7252643b0a6578706f7274732e736368656d65596c4f725264203d20736368656d652432303b0a6578706f7274732e696e746572706f6c617465426c756573203d20426c7565733b0a6578706f7274732e736368656d65426c756573203d20736368656d652432313b0a6578706f7274732e696e746572706f6c617465477265656e73203d20477265656e733b0a6578706f7274732e736368656d65477265656e73203d20736368656d652432323b0a6578706f7274732e696e746572706f6c6174654772657973203d2047726579733b0a6578706f7274732e736368656d654772657973203d20736368656d652432333b0a6578706f7274732e696e746572706f6c617465507572706c6573203d20507572706c65733b0a6578706f7274732e736368656d65507572706c6573203d20736368656d652432343b0a6578706f7274732e696e746572706f6c61746552656473203d20526564733b0a6578706f7274732e736368656d6552656473203d20736368656d652432353b0a6578706f7274732e696e746572706f6c6174654f72616e676573203d204f72616e6765733b0a6578706f7274732e736368656d654f72616e676573203d20736368656d652432363b0a6578706f7274732e696e746572706f6c6174654375626568656c697844656661756c74203d206375626568656c697824333b0a6578706f7274732e696e746572706f6c6174655261696e626f77203d207261696e626f773b0a6578706f7274732e696e746572706f6c6174655761726d203d207761726d3b0a6578706f7274732e696e746572706f6c617465436f6f6c203d20636f6f6c3b0a6578706f7274732e696e746572706f6c61746553696e65626f77203d2073696e65626f773b0a6578706f7274732e696e746572706f6c61746556697269646973203d20766972696469733b0a6578706f7274732e696e746572706f6c6174654d61676d61203d206d61676d613b0a6578706f7274732e696e746572706f6c617465496e6665726e6f203d20696e6665726e6f3b0a6578706f7274732e696e746572706f6c617465506c61736d61203d20706c61736d613b0a6578706f7274732e637265617465203d206372656174653b0a6578706f7274732e63726561746f72203d2063726561746f723b0a6578706f7274732e6c6f63616c203d206c6f63616c3b0a6578706f7274732e6d617463686572203d206d61746368657224313b0a6578706f7274732e6d6f757365203d206d6f7573653b0a6578706f7274732e6e616d657370616365203d206e616d6573706163653b0a6578706f7274732e6e616d65737061636573203d206e616d657370616365733b0a6578706f7274732e636c69656e74506f696e74203d20706f696e743b0a6578706f7274732e73656c656374203d2073656c6563743b0a6578706f7274732e73656c656374416c6c203d2073656c656374416c6c3b0a6578706f7274732e73656c656374696f6e203d2073656c656374696f6e3b0a6578706f7274732e73656c6563746f72203d2073656c6563746f723b0a6578706f7274732e73656c6563746f72416c6c203d2073656c6563746f72416c6c3b0a6578706f7274732e7374796c65203d207374796c6556616c75653b0a6578706f7274732e746f756368203d20746f7563683b0a6578706f7274732e746f7563686573203d20746f75636865733b0a6578706f7274732e77696e646f77203d2064656661756c74566965773b0a6578706f7274732e637573746f6d4576656e74203d20637573746f6d4576656e743b0a6578706f7274732e617263203d206172633b0a6578706f7274732e61726561203d206172656124333b0a6578706f7274732e6c696e65203d206c696e653b0a6578706f7274732e706965203d207069653b0a6578706f7274732e6172656152616469616c203d206172656152616469616c3b0a6578706f7274732e72616469616c41726561203d206172656152616469616c3b0a6578706f7274732e6c696e6552616469616c203d206c696e6552616469616c24313b0a6578706f7274732e72616469616c4c696e65203d206c696e6552616469616c24313b0a6578706f7274732e706f696e7452616469616c203d20706f696e7452616469616c3b0a6578706f7274732e6c696e6b486f72697a6f6e74616c203d206c696e6b486f72697a6f6e74616c3b0a6578706f7274732e6c696e6b566572746963616c203d206c696e6b566572746963616c3b0a6578706f7274732e6c696e6b52616469616c203d206c696e6b52616469616c3b0a6578706f7274732e73796d626f6c203d2073796d626f6c3b0a6578706f7274732e73796d626f6c73203d2073796d626f6c733b0a6578706f7274732e73796d626f6c436972636c65203d20636972636c6524323b0a6578706f7274732e73796d626f6c43726f7373203d2063726f737324323b0a6578706f7274732e73796d626f6c4469616d6f6e64203d206469616d6f6e643b0a6578706f7274732e73796d626f6c537175617265203d207371756172653b0a6578706f7274732e73796d626f6c53746172203d20737461723b0a6578706f7274732e73796d626f6c547269616e676c65203d20747269616e676c653b0a6578706f7274732e73796d626f6c577965203d207779653b0a6578706f7274732e63757276654261736973436c6f736564203d206261736973436c6f73656424313b0a6578706f7274732e637572766542617369734f70656e203d2062617369734f70656e3b0a6578706f7274732e63757276654261736973203d20626173697324323b0a6578706f7274732e637572766542756e646c65203d2062756e646c653b0a6578706f7274732e637572766543617264696e616c436c6f736564203d2063617264696e616c436c6f7365643b0a6578706f7274732e637572766543617264696e616c4f70656e203d2063617264696e616c4f70656e3b0a6578706f7274732e637572766543617264696e616c203d2063617264696e616c3b0a6578706f7274732e63757276654361746d756c6c526f6d436c6f736564203d206361746d756c6c526f6d436c6f7365643b0a6578706f7274732e63757276654361746d756c6c526f6d4f70656e203d206361746d756c6c526f6d4f70656e3b0a6578706f7274732e63757276654361746d756c6c526f6d203d206361746d756c6c526f6d3b0a6578706f7274732e63757276654c696e656172436c6f736564203d206c696e656172436c6f7365643b0a6578706f7274732e63757276654c696e656172203d2063757276654c696e6561723b0a6578706f7274732e63757276654d6f6e6f746f6e6558203d206d6f6e6f746f6e65583b0a6578706f7274732e63757276654d6f6e6f746f6e6559203d206d6f6e6f746f6e65593b0a6578706f7274732e63757276654e61747572616c203d206e61747572616c3b0a6578706f7274732e637572766553746570203d20737465703b0a6578706f7274732e6375727665537465704166746572203d207374657041667465723b0a6578706f7274732e6375727665537465704265666f7265203d20737465704265666f72653b0a6578706f7274732e737461636b203d20737461636b3b0a6578706f7274732e737461636b4f6666736574457870616e64203d20657870616e643b0a6578706f7274732e737461636b4f6666736574446976657267696e67203d20646976657267696e6724313b0a6578706f7274732e737461636b4f66667365744e6f6e65203d206e6f6e6524313b0a6578706f7274732e737461636b4f666673657453696c686f7565747465203d2073696c686f75657474653b0a6578706f7274732e737461636b4f6666736574576967676c65203d20776967676c653b0a6578706f7274732e737461636b4f72646572417363656e64696e67203d20617363656e64696e6724333b0a6578706f7274732e737461636b4f7264657244657363656e64696e67203d2064657363656e64696e6724323b0a6578706f7274732e737461636b4f72646572496e736964654f7574203d20696e736964654f75743b0a6578706f7274732e737461636b4f726465724e6f6e65203d206e6f6e6524323b0a6578706f7274732e737461636b4f7264657252657665727365203d20726576657273653b0a6578706f7274732e74696d65496e74657276616c203d206e6577496e74657276616c3b0a6578706f7274732e74696d654d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e74696d654d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e7574634d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e7574634d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e74696d655365636f6e64203d207365636f6e643b0a6578706f7274732e74696d655365636f6e6473203d207365636f6e64733b0a6578706f7274732e7574635365636f6e64203d207365636f6e643b0a6578706f7274732e7574635365636f6e6473203d207365636f6e64733b0a6578706f7274732e74696d654d696e757465203d206d696e7574653b0a6578706f7274732e74696d654d696e75746573203d206d696e757465733b0a6578706f7274732e74696d65486f7572203d20686f75723b0a6578706f7274732e74696d65486f757273203d20686f7572733b0a6578706f7274732e74696d65446179203d206461793b0a6578706f7274732e74696d6544617973203d20646179733b0a6578706f7274732e74696d655765656b203d2073756e6461793b0a6578706f7274732e74696d655765656b73203d2073756e646179733b0a6578706f7274732e74696d6553756e646179203d2073756e6461793b0a6578706f7274732e74696d6553756e64617973203d2073756e646179733b0a6578706f7274732e74696d654d6f6e646179203d206d6f6e6461793b0a6578706f7274732e74696d654d6f6e64617973203d206d6f6e646179733b0a6578706f7274732e74696d6554756573646179203d20747565736461793b0a6578706f7274732e74696d655475657364617973203d2074756573646179733b0a6578706f7274732e74696d655765646e6573646179203d207765646e65736461793b0a6578706f7274732e74696d655765646e657364617973203d207765646e6573646179733b0a6578706f7274732e74696d655468757273646179203d2074687572736461793b0a6578706f7274732e74696d65546875727364617973203d207468757273646179733b0a6578706f7274732e74696d65467269646179203d206672696461793b0a6578706f7274732e74696d6546726964617973203d20667269646179733b0a6578706f7274732e74696d655361747572646179203d2073617475726461793b0a6578706f7274732e74696d65536174757264617973203d207361747572646179733b0a6578706f7274732e74696d654d6f6e7468203d206d6f6e74683b0a6578706f7274732e74696d654d6f6e746873203d206d6f6e7468733b0a6578706f7274732e74696d6559656172203d20796561723b0a6578706f7274732e74696d655965617273203d2079656172733b0a6578706f7274732e7574634d696e757465203d207574634d696e7574653b0a6578706f7274732e7574634d696e75746573203d207574634d696e757465733b0a6578706f7274732e757463486f7572203d20757463486f75723b0a6578706f7274732e757463486f757273203d20757463486f7572733b0a6578706f7274732e757463446179203d207574634461793b0a6578706f7274732e75746344617973203d20757463446179733b0a6578706f7274732e7574635765656b203d2075746353756e6461793b0a6578706f7274732e7574635765656b73203d2075746353756e646179733b0a6578706f7274732e75746353756e646179203d2075746353756e6461793b0a6578706f7274732e75746353756e64617973203d2075746353756e646179733b0a6578706f7274732e7574634d6f6e646179203d207574634d6f6e6461793b0a6578706f7274732e7574634d6f6e64617973203d207574634d6f6e646179733b0a6578706f7274732e75746354756573646179203d20757463547565736461793b0a6578706f7274732e7574635475657364617973203d2075746354756573646179733b0a6578706f7274732e7574635765646e6573646179203d207574635765646e65736461793b0a6578706f7274732e7574635765646e657364617973203d207574635765646e6573646179733b0a6578706f7274732e7574635468757273646179203d2075746354687572736461793b0a6578706f7274732e757463546875727364617973203d207574635468757273646179733b0a6578706f7274732e757463467269646179203d207574634672696461793b0a6578706f7274732e75746346726964617973203d20757463467269646179733b0a6578706f7274732e7574635361747572646179203d2075746353617475726461793b0a6578706f7274732e757463536174757264617973203d207574635361747572646179733b0a6578706f7274732e7574634d6f6e7468203d207574634d6f6e74683b0a6578706f7274732e7574634d6f6e746873203d207574634d6f6e7468733b0a6578706f7274732e75746359656172203d20757463596561723b0a6578706f7274732e7574635965617273203d2075746359656172733b0a6578706f7274732e74696d65466f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c6524313b0a6578706f7274732e74696d65466f726d61744c6f63616c65203d20666f726d61744c6f63616c6524313b0a6578706f7274732e69736f466f726d6174203d20666f726d617449736f3b0a6578706f7274732e69736f5061727365203d20706172736549736f3b0a6578706f7274732e6e6f77203d206e6f773b0a6578706f7274732e74696d6572203d2074696d65723b0a6578706f7274732e74696d6572466c757368203d2074696d6572466c7573683b0a6578706f7274732e74696d656f7574203d2074696d656f757424313b0a6578706f7274732e696e74657276616c203d20696e74657276616c24313b0a6578706f7274732e7472616e736974696f6e203d207472616e736974696f6e3b0a6578706f7274732e616374697665203d206163746976653b0a6578706f7274732e696e74657272757074203d20696e746572727570743b0a6578706f7274732e766f726f6e6f69203d20766f726f6e6f693b0a6578706f7274732e7a6f6f6d203d207a6f6f6d3b0a6578706f7274732e7a6f6f6d5472616e73666f726d203d207472616e73666f726d24313b0a6578706f7274732e7a6f6f6d4964656e74697479203d206964656e7469747924383b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a',0,0,'2018-08-28T20:50:21.951Z','2018-08-28T20:50:21.960Z','file','application/x-javascript','AuW/14f0Qf');
INSERT INTO notes VALUES('bFTtwsnNgw9T','dagreD3',X'2866756e6374696f6e2866297b696628747970656f66206578706f7274733d3d3d226f626a656374222626747970656f66206d6f64756c65213d3d22756e646566696e656422297b6d6f64756c652e6578706f7274733d6628297d656c736520696628747970656f6620646566696e653d3d3d2266756e6374696f6e222626646566696e652e616d64297b646566696e65285b5d2c66297d656c73657b76617220673b696628747970656f662077696e646f77213d3d22756e646566696e656422297b673d77696e646f777d656c736520696628747970656f6620676c6f62616c213d3d22756e646566696e656422297b673d676c6f62616c7d656c736520696628747970656f662073656c66213d3d22756e646566696e656422297b673d73656c667d656c73657b673d746869737d672e64616772654433203d206628297d7d292866756e6374696f6e28297b76617220646566696e652c6d6f64756c652c6578706f7274733b72657475726e202866756e6374696f6e206528742c6e2c72297b66756e6374696f6e2073286f2c75297b696628216e5b6f5d297b69662821745b6f5d297b76617220613d747970656f6620726571756972653d3d2266756e6374696f6e222626726571756972653b69662821752626612972657475726e2061286f2c2130293b696628692972657475726e2069286f2c2130293b76617220663d6e6577204572726f72282243616e6e6f742066696e64206d6f64756c652027222b6f2b222722293b7468726f7720662e636f64653d224d4f44554c455f4e4f545f464f554e44222c667d766172206c3d6e5b6f5d3d7b6578706f7274733a7b7d7d3b745b6f5d5b305d2e63616c6c286c2e6578706f7274732c66756e6374696f6e2865297b766172206e3d745b6f5d5b315d5b655d3b72657475726e2073286e3f6e3a65297d2c6c2c6c2e6578706f7274732c652c742c6e2c72297d72657475726e206e5b6f5d2e6578706f7274737d76617220693d747970656f6620726571756972653d3d2266756e6374696f6e222626726571756972653b666f7228766172206f3d303b6f3c722e6c656e6774683b6f2b2b297328725b6f5d293b72657475726e20737d29287b313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2a0a202a20406c6963656e73650a202a20436f707972696768742028632920323031322d3230313320436872697320506574746974740a202a0a202a205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e67206120636f70790a202a206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468652022536f66747761726522292c20746f206465616c0a202a20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e6720776974686f7574206c696d69746174696f6e20746865207269676874730a202a20746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c0a202a20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d697420706572736f6e7320746f2077686f6d2074686520536f6674776172652069730a202a206675726e697368656420746f20646f20736f2c207375626a65637420746f2074686520666f6c6c6f77696e6720636f6e646974696f6e733a0a202a0a202a205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c7564656420696e0a202a20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a202a0a202a2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c2045585052455353204f520a202a20494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f46204d45524348414e544142494c4954592c0a202a204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e204e4f204556454e54205348414c4c205448450a202a20415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c2044414d41474553204f52204f544845520a202a204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f52204f54484552574953452c2041524953494e472046524f4d2c0a202a204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f522054484520555345204f52204f54484552204445414c494e475320494e0a202a2054484520534f4654574152452e0a202a2f0a6d6f64756c652e6578706f727473203d20207b0a202067726170686c69623a207265717569726528222e2f6c69622f67726170686c696222292c0a202064616772653a207265717569726528222e2f6c69622f646167726522292c0a2020696e746572736563743a207265717569726528222e2f6c69622f696e7465727365637422292c0a202072656e6465723a207265717569726528222e2f6c69622f72656e64657222292c0a20207574696c3a207265717569726528222e2f6c69622f7574696c22292c0a202076657273696f6e3a207265717569726528222e2f6c69622f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6c69622f6461677265223a382c222e2f6c69622f67726170686c6962223a392c222e2f6c69622f696e74657273656374223a31302c222e2f6c69622f72656e646572223a32352c222e2f6c69622f7574696c223a32372c222e2f6c69622f76657273696f6e223a32387d5d2c323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a20202264656661756c74223a206e6f726d616c2c0a2020226e6f726d616c223a206e6f726d616c2c0a202022766565223a207665652c0a202022756e6469726563746564223a20756e64697265637465640a7d3b0a0a66756e6374696f6e206e6f726d616c28706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302030204c2031302035204c2030203130207a22290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a66756e6374696f6e2076656528706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302030204c2031302035204c2030203130204c20342035207a22290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a66756e6374696f6e20756e646972656374656428706172656e742c2069642c20656467652c207479706529207b0a2020766172206d61726b6572203d20706172656e742e617070656e6428226d61726b657222290a202020202e6174747228226964222c206964290a202020202e61747472282276696577426f78222c202230203020313020313022290a202020202e61747472282272656658222c2039290a202020202e61747472282272656659222c2035290a202020202e6174747228226d61726b6572556e697473222c20227374726f6b65576964746822290a202020202e6174747228226d61726b65725769647468222c2038290a202020202e6174747228226d61726b6572486569676874222c2036290a202020202e6174747228226f7269656e74222c20226175746f22293b0a0a20207661722070617468203d206d61726b65722e617070656e6428227061746822290a202020202e61747472282264222c20224d20302035204c203130203522290a202020202e7374796c6528227374726f6b652d7769647468222c2031290a202020202e7374796c6528227374726f6b652d646173686172726179222c2022312c3022293b0a20207574696c2e6170706c795374796c6528706174682c20656467655b74797065202b20225374796c65225d293b0a202069662028656467655b74797065202b2022436c617373225d29207b0a20202020706174682e617474722822636c617373222c20656467655b74797065202b2022436c617373225d293b0a20207d0a7d0a0a7d2c7b222e2f7574696c223a32377d5d2c333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22293b0a0a6d6f64756c652e6578706f727473203d20637265617465436c7573746572733b0a0a66756e6374696f6e20637265617465436c7573746572732873656c656374696f6e2c206729207b0a202076617220636c757374657273203d20672e6e6f64657328292e66696c7465722866756e6374696f6e287629207b2072657475726e207574696c2e6973537562677261706828672c2076293b207d292c0a202020202020737667436c757374657273203d2073656c656374696f6e2e73656c656374416c6c2822672e636c757374657222290a20202020202020202e6461746128636c7573746572732c2066756e6374696f6e287629207b2072657475726e20763b207d293b0a0a2020737667436c7573746572732e73656c656374416c6c28222a22292e72656d6f766528293b0a2020737667436c7573746572732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c2022636c757374657222290a2020202020202e6174747228226964222c66756e6374696f6e2876297b0a20202020202020202020766172206e6f6465203d20672e6e6f64652876293b0a2020202020202020202072657475726e206e6f64652e69643b0a2020202020207d290a2020202020202e7374796c6528226f706163697479222c2030293b0a20200a2020737667436c757374657273203d2073656c656374696f6e2e73656c656374416c6c2822672e636c757374657222293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667436c7573746572732c2067290a202020202e7374796c6528226f706163697479222c2031293b0a0a2020737667436c7573746572732e656163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020207468697347726f7570203d2064332e73656c6563742874686973293b0a2020202064332e73656c6563742874686973292e617070656e6428227265637422293b0a20202020766172206c6162656c47726f7570203d207468697347726f75702e617070656e6428226722292e617474722822636c617373222c20226c6162656c22293b0a202020206164644c6162656c286c6162656c47726f75702c206e6f64652c206e6f64652e636c75737465724c6162656c506f73293b0a20207d293b0a0a2020737667436c7573746572732e73656c656374416c6c28227265637422292e656163682866756e6374696f6e286329207b0a20202020766172206e6f6465203d20672e6e6f64652863293b0a2020202076617220646f6d436c7573746572203d2064332e73656c6563742874686973293b0a202020207574696c2e6170706c795374796c6528646f6d436c75737465722c206e6f64652e7374796c65293b0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667436c7573746572732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e20737667436c7573746572733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f7574696c223a32377d5d2c343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20637265617465456467654c6162656c733b0a0a66756e6374696f6e20637265617465456467654c6162656c732873656c656374696f6e2c206729207b0a202076617220737667456467654c6162656c73203d2073656c656374696f6e2e73656c656374416c6c2822672e656467654c6162656c22290a202020202e6461746128672e656467657328292c2066756e6374696f6e286529207b2072657475726e207574696c2e65646765546f49642865293b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a2020737667456467654c6162656c732e73656c656374416c6c28222a22292e72656d6f766528293b0a2020737667456467654c6162656c732e656e74657228290a202020202e617070656e6428226722290a2020202020202e636c61737365642822656467654c6162656c222c2074727565290a2020202020202e7374796c6528226f706163697479222c2030293b0a0a2020737667456467654c6162656c73203d2073656c656374696f6e2e73656c656374416c6c2822672e656467654c6162656c22293b0a20200a2020737667456467654c6162656c732e656163682866756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865292c0a20202020202020206c6162656c203d206164644c6162656c2864332e73656c6563742874686973292c20672e656467652865292c20302c2030292e636c617373656428226c6162656c222c2074727565292c0a202020202020202062626f78203d206c6162656c2e6e6f646528292e67657442426f7828293b0a0a2020202069662028656467652e6c6162656c496429207b206c6162656c2e6174747228226964222c20656467652e6c6162656c4964293b207d0a2020202069662028215f2e68617328656467652c20227769647468222929207b20656467652e7769647468203d2062626f782e77696474683b207d0a2020202069662028215f2e68617328656467652c2022686569676874222929207b20656467652e686569676874203d2062626f782e6865696768743b207d0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e28737667456467654c6162656c732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e20737667456467654c6162656c733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020696e746572736563744e6f6465203d207265717569726528222e2f696e746572736563742f696e746572736563742d6e6f646522292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a6d6f64756c652e6578706f727473203d206372656174654564676550617468733b0a0a66756e6374696f6e206372656174654564676550617468732873656c656374696f6e2c20672c206172726f777329207b0a2020766172207376675061746873203d2073656c656374696f6e2e73656c656374416c6c2822672e656467655061746822290a202020202e6461746128672e656467657328292c2066756e6374696f6e286529207b2072657475726e207574696c2e65646765546f49642865293b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a2020656e7465722873766750617468732c2067293b0a2020657869742873766750617468732c2067293b0a0a20207376675061746873203d2073656c656374696f6e2e73656c656374416c6c2822672e656467655061746822293b0a0a20207574696c2e6170706c795472616e736974696f6e2873766750617468732c2067290a202020202e7374796c6528226f706163697479222c2031293b0a0a20202f2f205361766520444f4d20656c656d656e7420696e2074686520706174682067726f75702c20616e642073657420494420616e6420636c6173730a202073766750617468732e656163682866756e6374696f6e286529207b0a2020202076617220646f6d45646765203d2064332e73656c6563742874686973293b0a202020207661722065646765203d20672e656467652865293b0a20202020656467652e656c656d203d20746869733b0a0a2020202069662028656467652e696429207b0a202020202020646f6d456467652e6174747228226964222c20656467652e6964293b0a202020207d0a0a202020207574696c2e6170706c79436c61737328646f6d456467652c20656467655b22636c617373225d2c0a20202020202028646f6d456467652e636c617373656428227570646174652229203f20227570646174652022203a20222229202b2022656467655061746822293b0a20207d293b0a0a202073766750617468732e73656c656374416c6c2822706174682e7061746822290a202020202e656163682866756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865293b0a202020202020656467652e6172726f77686561644964203d205f2e756e69717565496428226172726f776865616422293b0a0a20202020202076617220646f6d45646765203d2064332e73656c6563742874686973290a20202020202020202e6174747228226d61726b65722d656e64222c2066756e6374696f6e2829207b0a20202020202020202020202072657475726e202275726c2822202b206d616b65467261676d656e74526566286c6f636174696f6e2e687265662c20656467652e6172726f7768656164496429202b202229223b0a20202020202020207d290a20202020202020202e7374796c65282266696c6c222c20226e6f6e6522293b0a0a2020202020207574696c2e6170706c795472616e736974696f6e28646f6d456467652c2067290a20202020202020202e61747472282264222c2066756e6374696f6e286529207b2072657475726e2063616c63506f696e747328672c2065293b207d293b0a0a2020202020207574696c2e6170706c795374796c6528646f6d456467652c20656467652e7374796c65293b0a202020207d293b0a0a202073766750617468732e73656c656374416c6c282264656673202a22292e72656d6f766528293b0a202073766750617468732e73656c656374416c6c28226465667322290a202020202e656163682866756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865292c0a202020202020202020206172726f7768656164203d206172726f77735b656467652e6172726f77686561645d3b0a2020202020206172726f77686561642864332e73656c6563742874686973292c20656467652e6172726f776865616449642c20656467652c20226172726f776865616422293b0a202020207d293b0a0a202072657475726e2073766750617468733b0a7d0a0a66756e6374696f6e206d616b65467261676d656e745265662875726c2c20667261676d656e74496429207b0a2020766172206261736555726c203d2075726c2e73706c697428222322295b305d3b0a202072657475726e206261736555726c202b20222322202b20667261676d656e7449643b0a7d0a0a66756e6374696f6e2063616c63506f696e747328672c206529207b0a20207661722065646765203d20672e656467652865292c0a2020202020207461696c203d20672e6e6f646528652e76292c0a20202020202068656164203d20672e6e6f646528652e77292c0a202020202020706f696e7473203d20656467652e706f696e74732e736c69636528312c20656467652e706f696e74732e6c656e677468202d2031293b0a2020706f696e74732e756e736869667428696e746572736563744e6f6465287461696c2c20706f696e74735b305d29293b0a2020706f696e74732e7075736828696e746572736563744e6f646528686561642c20706f696e74735b706f696e74732e6c656e677468202d20315d29293b0a0a202072657475726e206372656174654c696e6528656467652c20706f696e7473293b0a7d0a0a66756e6374696f6e206372656174654c696e6528656467652c20706f696e747329207b0a2020766172206c696e65203d2064332e6c696e6528290a202020202e782866756e6374696f6e286429207b2072657475726e20642e783b207d290a202020202e792866756e6374696f6e286429207b2072657475726e20642e793b207d293b0a20200a20206c696e652e637572766528656467652e6375727665293b0a0a202072657475726e206c696e6528706f696e7473293b0a7d0a0a66756e6374696f6e20676574436f6f72647328656c656d29207b0a20207661722062626f78203d20656c656d2e67657442426f7828292c0a2020202020206d6174726978203d20656c656d2e6f776e6572535647456c656d656e742e67657453637265656e43544d28290a20202020202020202e696e766572736528290a20202020202020202e6d756c7469706c7928656c656d2e67657453637265656e43544d2829290a20202020202020202e7472616e736c6174652862626f782e7769647468202f20322c2062626f782e686569676874202f2032293b0a202072657475726e207b20783a206d61747269782e652c20793a206d61747269782e66207d3b0a7d0a0a66756e6374696f6e20656e7465722873766750617468732c206729207b0a2020766172207376675061746873456e746572203d2073766750617468732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c2022656467655061746822290a2020202020202e7374796c6528226f706163697479222c2030293b0a20207376675061746873456e7465722e617070656e6428227061746822290a202020202e617474722822636c617373222c20227061746822290a202020202e61747472282264222c2066756e6374696f6e286529207b0a2020202020207661722065646765203d20672e656467652865292c0a20202020202020202020736f75726365456c656d203d20672e6e6f646528652e76292e656c656d2c0a20202020202020202020706f696e7473203d205f2e72616e676528656467652e706f696e74732e6c656e677468292e6d61702866756e6374696f6e2829207b2072657475726e20676574436f6f72647328736f75726365456c656d293b207d293b0a20202020202072657475726e206372656174654c696e6528656467652c20706f696e7473293b0a202020207d293b0a20207376675061746873456e7465722e617070656e6428226465667322293b0a7d0a0a66756e6374696f6e20657869742873766750617468732c206729207b0a2020766172207376675061746845786974203d2073766750617468732e6578697428293b0a20207574696c2e6170706c795472616e736974696f6e2873766750617468457869742c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a20207574696c2e6170706c795472616e736974696f6e2873766750617468457869742e73656c6563742822706174682e7061746822292c2067290a202020202e61747472282264222c2066756e6374696f6e286529207b0a20202020202076617220736f75726365203d20672e6e6f646528652e76293b0a0a20202020202069662028736f7572636529207b0a202020202020202076617220706f696e7473203d205f2e72616e676528746869732e676574546f74616c4c656e6774682829292e6d61702866756e6374696f6e2829207b2072657475726e20736f757263653b207d293b0a202020202020202072657475726e206372656174654c696e65287b7d2c20706f696e7473293b0a2020202020207d20656c7365207b0a202020202020202072657475726e2064332e73656c6563742874686973292e6174747228226422293b0a2020202020207d0a202020207d293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f696e746572736563742f696e746572736563742d6e6f6465223a31342c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206164644c6162656c203d207265717569726528222e2f6c6162656c2f6164642d6c6162656c22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d206372656174654e6f6465733b0a0a66756e6374696f6e206372656174654e6f6465732873656c656374696f6e2c20672c2073686170657329207b0a20207661722073696d706c654e6f646573203d20672e6e6f64657328292e66696c7465722866756e6374696f6e287629207b2072657475726e20217574696c2e6973537562677261706828672c2076293b207d293b0a2020766172207376674e6f646573203d2073656c656374696f6e2e73656c656374416c6c2822672e6e6f646522290a202020202e646174612873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20763b207d290a202020202e636c61737365642822757064617465222c2074727565293b0a0a20207376674e6f6465732e73656c656374416c6c28222a22292e72656d6f766528293b0a0a20207376674e6f6465732e656e74657228290a202020202e617070656e6428226722290a2020202020202e617474722822636c617373222c20226e6f646522290a2020202020202e7374796c6528226f706163697479222c2030293b0a0a20207376674e6f646573203d2073656c656374696f6e2e73656c656374416c6c2822672e6e6f646522293b200a0a20207376674e6f6465732e656163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020207468697347726f7570203d2064332e73656c6563742874686973293b0a202020207574696c2e6170706c79436c617373287468697347726f75702c206e6f64655b22636c617373225d2c0a202020202020287468697347726f75702e636c617373656428227570646174652229203f20227570646174652022203a20222229202b20226e6f646522293b0a20202020766172206c6162656c47726f7570203d207468697347726f75702e617070656e6428226722292e617474722822636c617373222c20226c6162656c22292c0a20202020202020206c6162656c446f6d203d206164644c6162656c286c6162656c47726f75702c206e6f6465292c0a20202020202020207368617065203d207368617065735b6e6f64652e73686170655d2c0a202020202020202062626f78203d205f2e7069636b286c6162656c446f6d2e6e6f646528292e67657442426f7828292c20227769647468222c202268656967687422293b0a0a202020206e6f64652e656c656d203d20746869733b0a0a20202020696620286e6f64652e696429207b207468697347726f75702e6174747228226964222c206e6f64652e6964293b207d0a20202020696620286e6f64652e6c6162656c496429207b206c6162656c47726f75702e6174747228226964222c206e6f64652e6c6162656c4964293b207d0a0a20202020696620285f2e686173286e6f64652c20227769647468222929207b2062626f782e7769647468203d206e6f64652e77696474683b207d0a20202020696620285f2e686173286e6f64652c2022686569676874222929207b2062626f782e686569676874203d206e6f64652e6865696768743b207d0a0a2020202062626f782e7769647468202b3d206e6f64652e70616464696e674c656674202b206e6f64652e70616464696e6752696768743b0a2020202062626f782e686569676874202b3d206e6f64652e70616464696e67546f70202b206e6f64652e70616464696e67426f74746f6d3b0a202020206c6162656c47726f75702e6174747228227472616e73666f726d222c20227472616e736c6174652822202b0a20202020202028286e6f64652e70616464696e674c656674202d206e6f64652e70616464696e67526967687429202f203229202b20222c22202b0a20202020202028286e6f64652e70616464696e67546f70202d206e6f64652e70616464696e67426f74746f6d29202f203229202b20222922293b0a0a20202020766172207368617065537667203d2073686170652864332e73656c6563742874686973292c2062626f782c206e6f6465293b0a202020207574696c2e6170706c795374796c652873686170655376672c206e6f64652e7374796c65293b0a0a2020202076617220736861706542426f78203d2073686170655376672e6e6f646528292e67657442426f7828293b0a202020206e6f64652e7769647468203d20736861706542426f782e77696474683b0a202020206e6f64652e686569676874203d20736861706542426f782e6865696768743b0a20207d293b0a0a20207574696c2e6170706c795472616e736974696f6e287376674e6f6465732e6578697428292c2067290a202020202e7374796c6528226f706163697479222c2030290a202020202e72656d6f766528293b0a0a202072657475726e207376674e6f6465733b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6162656c2f6164642d6c6162656c223a31382c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f205374756220746f206765742044332065697468657220766961204e504d206f722066726f6d2074686520676c6f62616c206f626a6563740a7661722064333b0a0a6966202821643329207b0a2020696620287265717569726529207b0a20202020747279207b0a2020202020206433203d20726571756972652822643322293b0a202020207d0a20202020636174636820286529207b0a202020207d0a20207d0a7d0a0a6966202821643329207b0a20206433203d2077696e646f772e64333b0a7d0a0a6d6f64756c652e6578706f727473203d2064333b0a0a7d2c7b226433223a36397d5d2c383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722064616772653b0a0a696620287265717569726529207b0a2020747279207b0a202020206461677265203d20726571756972652822646167726522293b0a20207d20636174636820286529207b7d0a7d0a0a6966202821646167726529207b0a20206461677265203d2077696e646f772e64616772653b0a7d0a0a6d6f64756c652e6578706f727473203d2064616772653b0a0a7d2c7b226461677265223a37307d5d2c393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722067726170686c69623b0a0a696620287265717569726529207b0a2020747279207b0a2020202067726170686c6962203d2072657175697265282267726170686c696222293b0a20207d20636174636820286529207b7d0a7d0a0a696620282167726170686c696229207b0a202067726170686c6962203d2077696e646f772e67726170686c69623b0a7d0a0a6d6f64756c652e6578706f727473203d2067726170686c69623b0a0a7d2c7b2267726170686c6962223a3130307d5d2c31303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a20206e6f64653a207265717569726528222e2f696e746572736563742d6e6f646522292c0a2020636972636c653a207265717569726528222e2f696e746572736563742d636972636c6522292c0a2020656c6c697073653a207265717569726528222e2f696e746572736563742d656c6c6970736522292c0a2020706f6c79676f6e3a207265717569726528222e2f696e746572736563742d706f6c79676f6e22292c0a2020726563743a207265717569726528222e2f696e746572736563742d7265637422290a7d3b0a0a7d2c7b222e2f696e746572736563742d636972636c65223a31312c222e2f696e746572736563742d656c6c69707365223a31322c222e2f696e746572736563742d6e6f6465223a31342c222e2f696e746572736563742d706f6c79676f6e223a31352c222e2f696e746572736563742d72656374223a31367d5d2c31313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220696e74657273656374456c6c69707365203d207265717569726528222e2f696e746572736563742d656c6c6970736522293b0a0a6d6f64756c652e6578706f727473203d20696e74657273656374436972636c653b0a0a66756e6374696f6e20696e74657273656374436972636c65286e6f64652c2072782c20706f696e7429207b0a202072657475726e20696e74657273656374456c6c69707365286e6f64652c2072782c2072782c20706f696e74293b0a7d0a0a7d2c7b222e2f696e746572736563742d656c6c69707365223a31327d5d2c31323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e74657273656374456c6c697073653b0a0a66756e6374696f6e20696e74657273656374456c6c69707365286e6f64652c2072782c2072792c20706f696e7429207b0a20202f2f20466f726d756c61652066726f6d3a20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f456c6c697073652d4c696e65496e74657273656374696f6e2e68746d6c0a0a2020766172206378203d206e6f64652e783b0a2020766172206379203d206e6f64652e793b0a0a2020766172207078203d206378202d20706f696e742e783b0a2020766172207079203d206379202d20706f696e742e793b0a0a202076617220646574203d204d6174682e73717274287278202a207278202a207079202a207079202b207279202a207279202a207078202a207078293b0a0a2020766172206478203d204d6174682e616273287278202a207279202a207078202f20646574293b0a202069662028706f696e742e78203c20637829207b0a202020206478203d202d64783b0a20207d0a2020766172206479203d204d6174682e616273287278202a207279202a207079202f20646574293b0a202069662028706f696e742e79203c20637929207b0a202020206479203d202d64793b0a20207d0a0a202072657475726e207b783a206378202b2064782c20793a206379202b2064797d3b0a7d0a0a0a7d2c7b7d5d2c31333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e746572736563744c696e653b0a0a2f2a0a202a2052657475726e732074686520706f696e742061742077686963682074776f206c696e65732c207020616e6420712c20696e74657273656374206f722072657475726e730a202a20756e646566696e6564206966207468657920646f206e6f7420696e746572736563742e0a202a2f0a66756e6374696f6e20696e746572736563744c696e652870312c2070322c2071312c20713229207b0a20202f2f20416c676f726974686d2066726f6d204a2e204176726f2c202865642e292047726170686963732047656d732c204e6f20322c204d6f7267616e204b6175666d616e6e2c20313939342c0a20202f2f20703720616e6420703437332e0a0a20207661722061312c2061322c2062312c2062322c2063312c2063323b0a20207661722072312c207232202c2072332c2072343b0a20207661722064656e6f6d2c206f66667365742c206e756d3b0a202076617220782c20793b0a0a20202f2f20436f6d707574652061312c2062312c2063312c207768657265206c696e65206a6f696e696e6720706f696e7473203120616e642032206973204628782c7929203d2061312078202b0a20202f2f2062312079202b206331203d20302e0a20206131203d2070322e79202d2070312e793b0a20206231203d2070312e78202d2070322e783b0a20206331203d202870322e78202a2070312e7929202d202870312e78202a2070322e79293b0a0a20202f2f20436f6d7075746520723320616e642072342e0a20207233203d2028286131202a2071312e7829202b20286231202a2071312e7929202b206331293b0a20207234203d2028286131202a2071322e7829202b20286231202a2071322e7929202b206331293b0a0a20202f2f20436865636b207369676e73206f6620723320616e642072342e20496620626f746820706f696e74203320616e6420706f696e742034206c6965206f6e0a20202f2f2073616d652073696465206f66206c696e6520312c20746865206c696e65207365676d656e747320646f206e6f7420696e746572736563742e0a20206966202828723320213d3d2030292026262028723420213d3d2030292026262073616d655369676e2872332c2072342929207b0a2020202072657475726e202f2a444f4e545f494e544552534543542a2f3b0a20207d0a0a20202f2f20436f6d707574652061322c2062322c206332207768657265206c696e65206a6f696e696e6720706f696e7473203320616e642034206973204728782c7929203d2061322078202b2062322079202b206332203d20300a20206132203d2071322e79202d2071312e793b0a20206232203d2071312e78202d2071322e783b0a20206332203d202871322e78202a2071312e7929202d202871312e78202a2071322e79293b0a0a20202f2f20436f6d7075746520723120616e642072320a20207231203d20286132202a2070312e7829202b20286232202a2070312e7929202b2063323b0a20207232203d20286132202a2070322e7829202b20286232202a2070322e7929202b2063323b0a0a20202f2f20436865636b207369676e73206f6620723120616e642072322e20496620626f746820706f696e74203120616e6420706f696e742032206c69650a20202f2f206f6e2073616d652073696465206f66207365636f6e64206c696e65207365676d656e742c20746865206c696e65207365676d656e747320646f0a20202f2f206e6f7420696e746572736563742e0a20206966202828723120213d3d2030292026262028723220213d3d203029202626202873616d655369676e2872312c207232292929207b0a2020202072657475726e202f2a444f4e545f494e544552534543542a2f3b0a20207d0a0a20202f2f204c696e65207365676d656e747320696e746572736563743a20636f6d7075746520696e74657273656374696f6e20706f696e742e0a202064656e6f6d203d20286131202a20623229202d20286132202a206231293b0a20206966202864656e6f6d203d3d3d203029207b0a2020202072657475726e202f2a434f4c4c494e4541522a2f3b0a20207d0a0a20206f6666736574203d204d6174682e6162732864656e6f6d202f2032293b0a0a20202f2f205468652064656e6f6d2f3220697320746f2067657420726f756e64696e6720696e7374656164206f66207472756e636174696e672e2049740a20202f2f206973206164646564206f72207375627472616374656420746f20746865206e756d657261746f722c20646570656e64696e672075706f6e207468650a20202f2f207369676e206f6620746865206e756d657261746f722e0a20206e756d203d20286231202a20633229202d20286232202a206331293b0a202078203d20286e756d203c203029203f2028286e756d202d206f666673657429202f2064656e6f6d29203a2028286e756d202b206f666673657429202f2064656e6f6d293b0a0a20206e756d203d20286132202a20633129202d20286131202a206332293b0a202079203d20286e756d203c203029203f2028286e756d202d206f666673657429202f2064656e6f6d29203a2028286e756d202b206f666673657429202f2064656e6f6d293b0a0a202072657475726e207b20783a20782c20793a2079207d3b0a7d0a0a66756e6374696f6e2073616d655369676e2872312c20723229207b0a202072657475726e207231202a207232203e20303b0a7d0a0a7d2c7b7d5d2c31343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e746572736563744e6f64653b0a0a66756e6374696f6e20696e746572736563744e6f6465286e6f64652c20706f696e7429207b0a202072657475726e206e6f64652e696e7465727365637428706f696e74293b0a7d0a0a7d2c7b7d5d2c31353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220696e746572736563744c696e65203d207265717569726528222e2f696e746572736563742d6c696e6522293b0a0a6d6f64756c652e6578706f727473203d20696e74657273656374506f6c79676f6e3b0a0a2f2a0a202a2052657475726e732074686520706f696e7420287b782c20797d292061742077686963682074686520706f696e7420617267756d656e7420696e74657273656374732077697468207468650a202a206e6f646520617267756d656e7420617373756d696e67207468617420697420686173207468652073686170652073706563696669656420627920706f6c79676f6e2e0a202a2f0a66756e6374696f6e20696e74657273656374506f6c79676f6e286e6f64652c20706f6c79506f696e74732c20706f696e7429207b0a2020766172207831203d206e6f64652e783b0a2020766172207931203d206e6f64652e793b0a0a202076617220696e74657273656374696f6e73203d205b5d3b0a0a2020766172206d696e58203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d696e59203d204e756d6265722e504f5349544956455f494e46494e4954593b0a2020706f6c79506f696e74732e666f72456163682866756e6374696f6e28656e74727929207b0a202020206d696e58203d204d6174682e6d696e286d696e582c20656e7472792e78293b0a202020206d696e59203d204d6174682e6d696e286d696e592c20656e7472792e79293b0a20207d293b0a0a2020766172206c656674203d207831202d206e6f64652e7769647468202f2032202d206d696e583b0a202076617220746f70203d20207931202d206e6f64652e686569676874202f2032202d206d696e593b0a0a2020666f7220287661722069203d20303b2069203c20706f6c79506f696e74732e6c656e6774683b20692b2b29207b0a20202020766172207031203d20706f6c79506f696e74735b695d3b0a20202020766172207032203d20706f6c79506f696e74735b69203c20706f6c79506f696e74732e6c656e677468202d2031203f2069202b2031203a20305d3b0a2020202076617220696e74657273656374203d20696e746572736563744c696e65286e6f64652c20706f696e742c0a2020202020207b783a206c656674202b2070312e782c20793a20746f70202b2070312e797d2c207b783a206c656674202b2070322e782c20793a20746f70202b2070322e797d293b0a2020202069662028696e7465727365637429207b0a202020202020696e74657273656374696f6e732e7075736828696e74657273656374293b0a202020207d0a20207d0a0a20206966202821696e74657273656374696f6e732e6c656e67746829207b0a20202020636f6e736f6c652e6c6f6728224e4f20494e54455253454354494f4e20464f554e442c2052455455524e204e4f44452043454e544552222c206e6f6465293b0a2020202072657475726e206e6f64653b0a20207d0a0a202069662028696e74657273656374696f6e732e6c656e677468203e203129207b0a202020202f2f204d6f726520696e74657273656374696f6e732c2066696e6420746865206f6e65206e65617265737420746f206564676520656e6420706f696e740a20202020696e74657273656374696f6e732e736f72742866756e6374696f6e28702c207129207b0a20202020202076617220706478203d20702e78202d20706f696e742e782c0a20202020202020202020706479203d20702e79202d20706f696e742e792c0a202020202020202020206469737470203d204d6174682e7371727428706478202a20706478202b20706479202a20706479292c0a0a20202020202020202020716478203d20712e78202d20706f696e742e782c0a20202020202020202020716479203d20712e79202d20706f696e742e792c0a202020202020202020206469737471203d204d6174682e7371727428716478202a20716478202b20716479202a20716479293b0a0a20202020202072657475726e20286469737470203c20646973747129203f202d31203a20286469737470203d3d3d206469737471203f2030203a2031293b0a202020207d293b0a20207d0a202072657475726e20696e74657273656374696f6e735b305d3b0a7d0a0a7d2c7b222e2f696e746572736563742d6c696e65223a31337d5d2c31363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20696e74657273656374526563743b0a0a66756e6374696f6e20696e7465727365637452656374286e6f64652c20706f696e7429207b0a20207661722078203d206e6f64652e783b0a20207661722079203d206e6f64652e793b0a0a20202f2f2052656374616e676c6520696e74657273656374696f6e20616c676f726974686d2066726f6d3a0a20202f2f20687474703a2f2f6d6174682e737461636b65786368616e67652e636f6d2f7175657374696f6e732f3130383131332f66696e642d656467652d6265747765656e2d74776f2d626f7865730a2020766172206478203d20706f696e742e78202d20783b0a2020766172206479203d20706f696e742e79202d20793b0a20207661722077203d206e6f64652e7769647468202f20323b0a20207661722068203d206e6f64652e686569676874202f20323b0a0a20207661722073782c2073793b0a2020696620284d6174682e61627328647929202a2077203e204d6174682e61627328647829202a206829207b0a202020202f2f20496e74657273656374696f6e20697320746f70206f7220626f74746f6d206f6620726563742e0a20202020696620286479203c203029207b0a20202020202068203d202d683b0a202020207d0a202020207378203d206479203d3d3d2030203f2030203a2068202a206478202f2064793b0a202020207379203d20683b0a20207d20656c7365207b0a202020202f2f20496e74657273656374696f6e206973206c656674206f72207269676874206f6620726563742e0a20202020696620286478203c203029207b0a20202020202077203d202d773b0a202020207d0a202020207378203d20773b0a202020207379203d206478203d3d3d2030203f2030203a2077202a206479202f2064783b0a20207d0a0a202072657475726e207b783a2078202b2073782c20793a2079202b2073797d3b0a7d0a0a7d2c7b7d5d2c31373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d2061646448746d6c4c6162656c3b0a0a66756e6374696f6e2061646448746d6c4c6162656c28726f6f742c206e6f646529207b0a202076617220666f203d20726f6f740a202020202e617070656e642822666f726569676e4f626a65637422290a2020202020202e6174747228227769647468222c202231303030303022293b0a0a202076617220646976203d20666f0a202020202e617070656e6428227868746d6c3a64697622293b0a20206469762e617474722822786d6c6e73222c2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c22293b0a0a2020766172206c6162656c203d206e6f64652e6c6162656c3b0a202073776974636828747970656f66206c6162656c29207b0a2020202063617365202266756e6374696f6e223a0a2020202020206469762e696e73657274286c6162656c293b0a202020202020627265616b3b0a202020206361736520226f626a656374223a0a2020202020202f2f2043757272656e746c7920776520617373756d652074686973206973206120444f4d206f626a6563742e0a2020202020206469762e696e736572742866756e6374696f6e2829207b2072657475726e206c6162656c3b207d293b0a202020202020627265616b3b0a2020202064656661756c743a206469762e68746d6c286c6162656c293b0a20207d0a0a20207574696c2e6170706c795374796c65286469762c206e6f64652e6c6162656c5374796c65293b0a20206469762e7374796c652822646973706c6179222c2022696e6c696e652d626c6f636b22293b0a20202f2f2046697820666f722066697265666f780a20206469762e7374796c65282277686974652d7370616365222c20226e6f7772617022293b0a0a202076617220636c69656e74203d206469762e6e6f646528292e676574426f756e64696e67436c69656e745265637428293b0a2020666f0a202020202e6174747228227769647468222c20636c69656e742e7769647468290a202020202e617474722822686569676874222c20636c69656e742e686569676874293b200a0a202072657475726e20666f3b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c31383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220616464546578744c6162656c203d207265717569726528222e2f6164642d746578742d6c6162656c22292c0a2020202061646448746d6c4c6162656c203d207265717569726528222e2f6164642d68746d6c2d6c6162656c22292c0a202020206164645356474c6162656c20203d207265717569726528222e2f6164642d7376672d6c6162656c22293b0a0a6d6f64756c652e6578706f727473203d206164644c6162656c3b0a0a66756e6374696f6e206164644c6162656c28726f6f742c206e6f64652c206c6f636174696f6e29207b0a2020766172206c6162656c203d206e6f64652e6c6162656c3b0a2020766172206c6162656c537667203d20726f6f742e617070656e6428226722293b0a0a20202f2f20416c6c6f7720746865206c6162656c20746f206265206120737472696e672c20612066756e6374696f6e20746861742072657475726e73206120444f4d20656c656d656e742c206f720a20202f2f206120444f4d20656c656d656e7420697473656c662e0a2020696620286e6f64652e6c6162656c54797065203d3d3d20227376672229207b0a202020206164645356474c6162656c286c6162656c5376672c206e6f6465293b0a20207d20656c73652069662028747970656f66206c6162656c20213d3d2022737472696e6722207c7c206e6f64652e6c6162656c54797065203d3d3d202268746d6c2229207b0a2020202061646448746d6c4c6162656c286c6162656c5376672c206e6f6465293b0a20207d20656c7365207b0a20202020616464546578744c6162656c286c6162656c5376672c206e6f6465293b0a20207d0a0a2020766172206c6162656c42426f78203d206c6162656c5376672e6e6f646528292e67657442426f7828293b0a202076617220793b0a2020737769746368286c6f636174696f6e29207b0a20202020636173652022746f70223a0a20202020202079203d20282d6e6f64652e686569676874202f2032293b0a202020202020627265616b3b0a20202020636173652022626f74746f6d223a0a20202020202079203d20286e6f64652e686569676874202f203229202d206c6162656c42426f782e6865696768743b0a202020202020627265616b3b0a2020202064656661756c743a0a20202020202079203d20282d6c6162656c42426f782e686569676874202f2032293b0a20207d0a20206c6162656c5376672e6174747228227472616e73666f726d222c0a20202020202020202020202020202020227472616e736c6174652822202b20282d6c6162656c42426f782e7769647468202f203229202b20222c22202b2079202b20222922293b0a0a202072657475726e206c6162656c5376673b0a7d0a0a7d2c7b222e2f6164642d68746d6c2d6c6162656c223a31372c222e2f6164642d7376672d6c6162656c223a31392c222e2f6164642d746578742d6c6162656c223a32307d5d2c31393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d206164645356474c6162656c3b0a0a66756e6374696f6e206164645356474c6162656c28726f6f742c206e6f646529207b0a202076617220646f6d4e6f6465203d20726f6f743b0a0a2020646f6d4e6f64652e6e6f646528292e617070656e644368696c64286e6f64652e6c6162656c293b0a0a20207574696c2e6170706c795374796c6528646f6d4e6f64652c206e6f64652e6c6162656c5374796c65293b0a0a202072657475726e20646f6d4e6f64653b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c32303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20616464546578744c6162656c3b0a0a2f2a0a202a20417474616368657320612074657874206c6162656c20746f207468652073706563696669656420726f6f742e2048616e646c6573206573636170652073657175656e6365732e0a202a2f0a66756e6374696f6e20616464546578744c6162656c28726f6f742c206e6f646529207b0a202076617220646f6d4e6f6465203d20726f6f742e617070656e6428227465787422293b0a0a2020766172206c696e6573203d2070726f6365737345736361706553657175656e636573286e6f64652e6c6162656c292e73706c697428225c6e22293b0a2020666f7220287661722069203d20303b2069203c206c696e65732e6c656e6774683b20692b2b29207b0a20202020646f6d4e6f64650a2020202020202e617070656e642822747370616e22290a20202020202020202e617474722822786d6c3a7370616365222c2022707265736572766522290a20202020202020202e6174747228226479222c202231656d22290a20202020202020202e61747472282278222c20223122290a20202020202020202e74657874286c696e65735b695d293b0a20207d0a0a20207574696c2e6170706c795374796c6528646f6d4e6f64652c206e6f64652e6c6162656c5374796c65293b0a0a202072657475726e20646f6d4e6f64653b0a7d0a0a66756e6374696f6e2070726f6365737345736361706553657175656e636573287465787429207b0a2020766172206e657754657874203d2022222c0a20202020202065736361706564203d2066616c73652c0a20202020202063683b0a2020666f7220287661722069203d20303b2069203c20746578742e6c656e6774683b202b2b6929207b0a202020206368203d20746578745b695d3b0a20202020696620286573636170656429207b0a20202020202073776974636828636829207b0a20202020202020206361736520226e223a206e657754657874202b3d20225c6e223b20627265616b3b0a202020202020202064656661756c743a206e657754657874202b3d2063683b0a2020202020207d0a20202020202065736361706564203d2066616c73653b0a202020207d20656c736520696620286368203d3d3d20225c5c2229207b0a20202020202065736361706564203d20747275653b0a202020207d20656c7365207b0a2020202020206e657754657874202b3d2063683b0a202020207d0a20207d0a202072657475726e206e6577546578743b0a7d0a0a7d2c7b222e2e2f7574696c223a32377d5d2c32313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a766172206c6f646173683b0a0a696620287265717569726529207b0a2020747279207b0a202020206c6f64617368203d207265717569726528226c6f6461736822293b0a20207d20636174636820286529207b7d0a7d0a0a69662028216c6f6461736829207b0a20206c6f64617368203d2077696e646f772e5f3b0a7d0a0a6d6f64756c652e6578706f727473203d206c6f646173683b0a0a7d2c7b226c6f64617368223a3132337d5d2c32323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e436c7573746572733b0a0a66756e6374696f6e20706f736974696f6e436c7573746572732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202072657475726e20227472616e736c6174652822202b206e6f64652e78202b20222c22202b206e6f64652e79202b202229223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a2020202020202e7374796c6528226f706163697479222c2031290a2020202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e28637265617465642e73656c656374416c6c28227265637422292c2067290a2020202020202e6174747228227769647468222c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e77696474683b207d290a2020202020202e617474722822686569676874222c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e6865696768743b207d290a2020202020202e61747472282278222c2066756e6374696f6e287629207b0a2020202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020202072657475726e202d6e6f64652e7769647468202f20323b0a2020202020207d290a2020202020202e61747472282279222c2066756e6374696f6e287629207b0a2020202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020202072657475726e202d6e6f64652e686569676874202f20323b0a2020202020207d293b0a0a7d0a0a7d2c7b222e2f6433223a372c222e2f7574696c223a32377d5d2c32333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322292c0a202020205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e456467654c6162656c733b0a0a66756e6374696f6e20706f736974696f6e456467654c6162656c732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202072657475726e205f2e68617328656467652c2022782229203f20227472616e736c6174652822202b20656467652e78202b20222c22202b20656467652e79202b20222922203a2022223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a202020202e7374796c6528226f706163697479222c2031290a202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f6c6f64617368223a32312c222e2f7574696c223a32377d5d2c32343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172207574696c203d207265717569726528222e2f7574696c22292c0a202020206433203d207265717569726528222e2f643322293b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e4e6f6465733b0a0a66756e6374696f6e20706f736974696f6e4e6f6465732873656c656374696f6e2c206729207b0a20207661722063726561746564203d2073656c656374696f6e2e66696c7465722866756e6374696f6e2829207b2072657475726e202164332e73656c6563742874686973292e636c6173736564282275706461746522293b207d293b0a0a202066756e6374696f6e207472616e736c617465287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202072657475726e20227472616e736c6174652822202b206e6f64652e78202b20222c22202b206e6f64652e79202b202229223b0a20207d0a0a2020637265617465642e6174747228227472616e73666f726d222c207472616e736c617465293b0a0a20207574696c2e6170706c795472616e736974696f6e2873656c656374696f6e2c2067290a202020202e7374796c6528226f706163697479222c2031290a202020202e6174747228227472616e73666f726d222c207472616e736c617465293b0a7d0a0a7d2c7b222e2f6433223a372c222e2f7574696c223a32377d5d2c32353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020206433203d207265717569726528222e2f643322292c0a202020206c61796f7574203d207265717569726528222e2f646167726522292e6c61796f75743b0a0a6d6f64756c652e6578706f727473203d2072656e6465723b0a0a2f2f20546869732064657369676e206973206261736564206f6e20687474703a2f2f626f73742e6f636b732e6f72672f6d696b652f63686172742f2e0a66756e6374696f6e2072656e6465722829207b0a2020766172206372656174654e6f646573203d207265717569726528222e2f6372656174652d6e6f64657322292c0a202020202020637265617465436c757374657273203d207265717569726528222e2f6372656174652d636c75737465727322292c0a202020202020637265617465456467654c6162656c73203d207265717569726528222e2f6372656174652d656467652d6c6162656c7322292c0a202020202020637265617465456467655061746873203d207265717569726528222e2f6372656174652d656467652d706174687322292c0a202020202020706f736974696f6e4e6f646573203d207265717569726528222e2f706f736974696f6e2d6e6f64657322292c0a202020202020706f736974696f6e456467654c6162656c73203d207265717569726528222e2f706f736974696f6e2d656467652d6c6162656c7322292c0a202020202020706f736974696f6e436c757374657273203d207265717569726528222e2f706f736974696f6e2d636c75737465727322292c0a202020202020736861706573203d207265717569726528222e2f73686170657322292c0a2020202020206172726f7773203d207265717569726528222e2f6172726f777322293b0a0a202076617220666e203d2066756e6374696f6e287376672c206729207b0a2020202070726550726f6365737347726170682867293b0a0a202020207376672e73656c656374416c6c28222a22292e72656d6f766528293b0a0a20202020766172206f757470757447726f7570203d206372656174654f7253656c65637447726f7570287376672c20226f757470757422292c0a2020202020202020636c75737465727347726f7570203d206372656174654f7253656c65637447726f7570286f757470757447726f75702c2022636c75737465727322292c0a202020202020202065646765506174687347726f7570203d206372656174654f7253656c65637447726f7570286f757470757447726f75702c202265646765506174687322292c0a2020202020202020656467654c6162656c73203d20637265617465456467654c6162656c73286372656174654f7253656c65637447726f7570286f757470757447726f75702c2022656467654c6162656c7322292c2067292c0a20202020202020206e6f646573203d206372656174654e6f646573286372656174654f7253656c65637447726f7570286f757470757447726f75702c20226e6f64657322292c20672c20736861706573293b0a0a202020206c61796f75742867293b0a0a20202020706f736974696f6e4e6f646573286e6f6465732c2067293b0a20202020706f736974696f6e456467654c6162656c7328656467654c6162656c732c2067293b0a202020206372656174654564676550617468732865646765506174687347726f75702c20672c206172726f7773293b0a0a2020202076617220636c757374657273203d20637265617465436c75737465727328636c75737465727347726f75702c2067293b0a20202020706f736974696f6e436c75737465727328636c7573746572732c2067293b0a0a20202020706f737450726f6365737347726170682867293b0a20207d3b0a0a2020666e2e6372656174654e6f646573203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206372656174654e6f6465733b0a202020206372656174654e6f646573203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465436c757374657273203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20637265617465436c7573746572733b0a20202020637265617465436c757374657273203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465456467654c6162656c73203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20637265617465456467654c6162656c733b0a20202020637265617465456467654c6162656c73203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e637265617465456467655061746873203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206372656174654564676550617468733b0a20202020637265617465456467655061746873203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e736861706573203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e207368617065733b0a20202020736861706573203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a2020666e2e6172726f7773203d2066756e6374696f6e2876616c756529207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206172726f77733b0a202020206172726f7773203d2076616c75653b0a2020202072657475726e20666e3b0a20207d3b0a0a202072657475726e20666e3b0a7d0a0a766172204e4f44455f44454641554c545f4154545253203d207b0a202070616464696e674c6566743a2031302c0a202070616464696e6752696768743a2031302c0a202070616464696e67546f703a2031302c0a202070616464696e67426f74746f6d3a2031302c0a202072783a20302c0a202072793a20302c0a202073686170653a202272656374220a7d3b0a0a76617220454447455f44454641554c545f4154545253203d207b0a20206172726f77686561643a20226e6f726d616c222c0a202063757276653a2064332e63757276654c696e6561720a7d3b0a0a66756e6374696f6e2070726550726f636573734772617068286729207b0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a2020202069662028215f2e686173286e6f64652c20226c6162656c22292026262021672e6368696c6472656e2876292e6c656e67746829207b206e6f64652e6c6162656c203d20763b207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e6758222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e674c6566743a206e6f64652e70616464696e67582c0a202020202020202070616464696e6752696768743a206e6f64652e70616464696e67580a2020202020207d293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e6759222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e67546f703a206e6f64652e70616464696e67592c0a202020202020202070616464696e67426f74746f6d3a206e6f64652e70616464696e67590a2020202020207d293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c202270616464696e67222929207b0a2020202020205f2e64656661756c7473286e6f64652c207b0a202020202020202070616464696e674c6566743a206e6f64652e70616464696e672c0a202020202020202070616464696e6752696768743a206e6f64652e70616464696e672c0a202020202020202070616464696e67546f703a206e6f64652e70616464696e672c0a202020202020202070616464696e67426f74746f6d3a206e6f64652e70616464696e670a2020202020207d293b0a202020207d0a0a202020205f2e64656661756c7473286e6f64652c204e4f44455f44454641554c545f4154545253293b0a0a202020205f2e65616368285b2270616464696e674c656674222c202270616464696e675269676874222c202270616464696e67546f70222c202270616464696e67426f74746f6d225d2c2066756e6374696f6e286b29207b0a2020202020206e6f64655b6b5d203d204e756d626572286e6f64655b6b5d293b0a202020207d293b0a0a202020202f2f20536176652064696d656e73696f6e7320666f7220726573746f726520647572696e6720706f73742d70726f63657373696e670a20202020696620285f2e686173286e6f64652c20227769647468222929207b206e6f64652e5f707265765769647468203d206e6f64652e77696474683b207d0a20202020696620285f2e686173286e6f64652c2022686569676874222929207b206e6f64652e5f70726576486569676874203d206e6f64652e6865696768743b207d0a20207d293b0a0a2020672e656467657328292e666f72456163682866756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028215f2e68617328656467652c20226c6162656c222929207b20656467652e6c6162656c203d2022223b207d0a202020205f2e64656661756c747328656467652c20454447455f44454641554c545f4154545253293b0a20207d293b0a7d0a0a66756e6374696f6e20706f737450726f636573734772617068286729207b0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a0a202020202f2f20526573746f7265206f726967696e616c2064696d656e73696f6e730a20202020696620285f2e686173286e6f64652c20225f707265765769647468222929207b0a2020202020206e6f64652e7769647468203d206e6f64652e5f7072657657696474683b0a202020207d20656c7365207b0a20202020202064656c657465206e6f64652e77696474683b0a202020207d0a0a20202020696620285f2e686173286e6f64652c20225f70726576486569676874222929207b0a2020202020206e6f64652e686569676874203d206e6f64652e5f707265764865696768743b0a202020207d20656c7365207b0a20202020202064656c657465206e6f64652e6865696768743b0a202020207d0a0a2020202064656c657465206e6f64652e5f7072657657696474683b0a2020202064656c657465206e6f64652e5f707265764865696768743b0a20207d293b0a7d0a0a66756e6374696f6e206372656174654f7253656c65637447726f757028726f6f742c206e616d6529207b0a20207661722073656c656374696f6e203d20726f6f742e73656c6563742822672e22202b206e616d65293b0a20206966202873656c656374696f6e2e656d707479282929207b0a2020202073656c656374696f6e203d20726f6f742e617070656e6428226722292e617474722822636c617373222c206e616d65293b0a20207d0a202072657475726e2073656c656374696f6e3b0a7d0a0a7d2c7b222e2f6172726f7773223a322c222e2f6372656174652d636c757374657273223a332c222e2f6372656174652d656467652d6c6162656c73223a342c222e2f6372656174652d656467652d7061746873223a352c222e2f6372656174652d6e6f646573223a362c222e2f6433223a372c222e2f6461677265223a382c222e2f6c6f64617368223a32312c222e2f706f736974696f6e2d636c757374657273223a32322c222e2f706f736974696f6e2d656467652d6c6162656c73223a32332c222e2f706f736974696f6e2d6e6f646573223a32342c222e2f736861706573223a32367d5d2c32363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a76617220696e7465727365637452656374203d207265717569726528222e2f696e746572736563742f696e746572736563742d7265637422292c0a20202020696e74657273656374456c6c69707365203d207265717569726528222e2f696e746572736563742f696e746572736563742d656c6c6970736522292c0a20202020696e74657273656374436972636c65203d207265717569726528222e2f696e746572736563742f696e746572736563742d636972636c6522292c0a20202020696e74657273656374506f6c79676f6e203d207265717569726528222e2f696e746572736563742f696e746572736563742d706f6c79676f6e22293b0a0a6d6f64756c652e6578706f727473203d207b0a2020726563743a20726563742c0a2020656c6c697073653a20656c6c697073652c0a2020636972636c653a20636972636c652c0a20206469616d6f6e643a206469616d6f6e640a7d3b0a0a66756e6374696f6e207265637428706172656e742c2062626f782c206e6f646529207b0a2020766172207368617065537667203d20706172656e742e696e73657274282272656374222c20223a66697273742d6368696c6422290a20202020202020202e6174747228227278222c206e6f64652e7278290a20202020202020202e6174747228227279222c206e6f64652e7279290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e6174747228227769647468222c2062626f782e7769647468290a20202020202020202e617474722822686569676874222c2062626f782e686569676874293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e7465727365637452656374286e6f64652c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a66756e6374696f6e20656c6c6970736528706172656e742c2062626f782c206e6f646529207b0a2020766172207278203d2062626f782e7769647468202f20322c0a2020202020207279203d2062626f782e686569676874202f20322c0a2020202020207368617065537667203d20706172656e742e696e736572742822656c6c69707365222c20223a66697273742d6368696c6422290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e6174747228227278222c207278290a20202020202020202e6174747228227279222c207279293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e74657273656374456c6c69707365286e6f64652c2072782c2072792c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a66756e6374696f6e20636972636c6528706172656e742c2062626f782c206e6f646529207b0a20207661722072203d204d6174682e6d61782862626f782e77696474682c2062626f782e68656967687429202f20322c0a2020202020207368617065537667203d20706172656e742e696e736572742822636972636c65222c20223a66697273742d6368696c6422290a20202020202020202e61747472282278222c202d62626f782e7769647468202f2032290a20202020202020202e61747472282279222c202d62626f782e686569676874202f2032290a20202020202020202e61747472282272222c2072293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e28706f696e7429207b0a2020202072657475726e20696e74657273656374436972636c65286e6f64652c20722c20706f696e74293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a2f2f2043697263756d73637269626520616e20656c6c6970736520666f722074686520626f756e64696e6720626f7820776974682061206469616d6f6e642073686170652e204920646572697665640a2f2f207468652066756e6374696f6e20746f2063616c63756c61746520746865206469616d6f6e642073686170652066726f6d3a0a2f2f20687474703a2f2f6d617468666f72756d2e6f72672f6b622f6d6573736167652e6a7370613f6d65737361676549443d333735303233360a66756e6374696f6e206469616d6f6e6428706172656e742c2062626f782c206e6f646529207b0a20207661722077203d202862626f782e7769647468202a204d6174682e535152543229202f20322c0a20202020202068203d202862626f782e686569676874202a204d6174682e535152543229202f20322c0a202020202020706f696e7473203d205b0a20202020202020207b20783a2020302c20793a202d68207d2c0a20202020202020207b20783a202d772c20793a202030207d2c0a20202020202020207b20783a2020302c20793a202068207d2c0a20202020202020207b20783a2020772c20793a202030207d0a2020202020205d2c0a2020202020207368617065537667203d20706172656e742e696e736572742822706f6c79676f6e222c20223a66697273742d6368696c6422290a20202020202020202e617474722822706f696e7473222c20706f696e74732e6d61702866756e6374696f6e287029207b2072657475726e20702e78202b20222c22202b20702e793b207d292e6a6f696e2822202229293b0a0a20206e6f64652e696e74657273656374203d2066756e6374696f6e287029207b0a2020202072657475726e20696e74657273656374506f6c79676f6e286e6f64652c20706f696e74732c2070293b0a20207d3b0a0a202072657475726e2073686170655376673b0a7d0a0a7d2c7b222e2f696e746572736563742f696e746572736563742d636972636c65223a31312c222e2f696e746572736563742f696e746572736563742d656c6c69707365223a31322c222e2f696e746572736563742f696e746572736563742d706f6c79676f6e223a31352c222e2f696e746572736563742f696e746572736563742d72656374223a31367d5d2c32373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a2f2f205075626c6963207574696c6974792066756e6374696f6e730a6d6f64756c652e6578706f727473203d207b0a2020697353756267726170683a20697353756267726170682c0a202065646765546f49643a2065646765546f49642c0a20206170706c795374796c653a206170706c795374796c652c0a20206170706c79436c6173733a206170706c79436c6173732c0a20206170706c795472616e736974696f6e3a206170706c795472616e736974696f6e0a7d3b0a0a2f2a0a202a2052657475726e7320747275652069662074686520737065636966696564206e6f646520696e207468652067726170682069732061207375626772617068206e6f64652e20410a202a207375626772617068206e6f6465206973206f6e65207468617420636f6e7461696e73206f74686572206e6f6465732e0a202a2f0a66756e6374696f6e206973537562677261706828672c207629207b0a202072657475726e202121672e6368696c6472656e2876292e6c656e6774683b0a7d0a0a66756e6374696f6e2065646765546f4964286529207b0a202072657475726e20657363617065496428652e7629202b20223a22202b20657363617065496428652e7729202b20223a22202b20657363617065496428652e6e616d65293b0a7d0a0a7661722049445f44454c494d203d202f3a2f673b0a66756e6374696f6e2065736361706549642873747229207b0a202072657475726e20737472203f20537472696e6728737472292e7265706c6163652849445f44454c494d2c20225c5c3a2229203a2022223b0a7d0a0a66756e6374696f6e206170706c795374796c6528646f6d2c207374796c65466e29207b0a2020696620287374796c65466e29207b0a20202020646f6d2e6174747228227374796c65222c207374796c65466e293b0a20207d0a7d0a0a66756e6374696f6e206170706c79436c61737328646f6d2c20636c617373466e2c206f74686572436c617373657329207b0a202069662028636c617373466e29207b0a20202020646f6d0a2020202020202e617474722822636c617373222c20636c617373466e290a2020202020202e617474722822636c617373222c206f74686572436c6173736573202b20222022202b20646f6d2e617474722822636c6173732229293b0a20207d0a7d0a0a66756e6374696f6e206170706c795472616e736974696f6e2873656c656374696f6e2c206729207b0a2020766172206772617068203d20672e677261706828293b0a0a2020696620285f2e6973506c61696e4f626a6563742867726170682929207b0a20202020766172207472616e736974696f6e203d2067726170682e7472616e736974696f6e3b0a20202020696620285f2e697346756e6374696f6e287472616e736974696f6e2929207b0a20202020202072657475726e207472616e736974696f6e2873656c656374696f6e293b0a202020207d0a20207d0a0a202072657475726e2073656c656374696f6e3b0a7d0a0a7d2c7b222e2f6c6f64617368223a32317d5d2c32383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2022302e362e31223b0a0a7d2c7b7d5d2c32393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a0a7d2c7b7d5d2c33303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a617267756d656e74735b345d5b32395d5b305d2e6170706c79286578706f7274732c617267756d656e7473290a7d2c7b22647570223a32397d5d2c33313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374270a0a6578706f7274732e627974654c656e677468203d20627974654c656e6774680a6578706f7274732e746f427974654172726179203d20746f4279746541727261790a6578706f7274732e66726f6d427974654172726179203d2066726f6d4279746541727261790a0a766172206c6f6f6b7570203d205b5d0a766172207265764c6f6f6b7570203d205b5d0a76617220417272203d20747970656f662055696e7438417272617920213d3d2027756e646566696e656427203f2055696e74384172726179203a2041727261790a0a76617220636f6465203d20274142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f270a666f7220287661722069203d20302c206c656e203d20636f64652e6c656e6774683b2069203c206c656e3b202b2b6929207b0a20206c6f6f6b75705b695d203d20636f64655b695d0a20207265764c6f6f6b75705b636f64652e63686172436f646541742869295d203d20690a7d0a0a7265764c6f6f6b75705b272d272e63686172436f646541742830295d203d2036320a7265764c6f6f6b75705b275f272e63686172436f646541742830295d203d2036330a0a66756e6374696f6e20706c616365486f6c64657273436f756e74202862363429207b0a2020766172206c656e203d206236342e6c656e6774680a2020696620286c656e20252034203e203029207b0a202020207468726f77206e6577204572726f722827496e76616c696420737472696e672e204c656e677468206d7573742062652061206d756c7469706c65206f66203427290a20207d0a0a20202f2f20746865206e756d626572206f6620657175616c207369676e732028706c61636520686f6c64657273290a20202f2f206966207468657265206172652074776f20706c616365686f6c646572732c207468616e207468652074776f2063686172616374657273206265666f72652069740a20202f2f20726570726573656e74206f6e6520627974650a20202f2f206966207468657265206973206f6e6c79206f6e652c207468656e207468652074687265652063686172616374657273206265666f726520697420726570726573656e7420322062797465730a20202f2f2074686973206973206a7573742061206368656170206861636b20746f206e6f7420646f20696e6465784f662074776963650a202072657475726e206236345b6c656e202d20325d203d3d3d20273d27203f2032203a206236345b6c656e202d20315d203d3d3d20273d27203f2031203a20300a7d0a0a66756e6374696f6e20627974654c656e677468202862363429207b0a20202f2f2062617365363420697320342f33202b20757020746f2074776f2063686172616374657273206f6620746865206f726967696e616c20646174610a202072657475726e20286236342e6c656e677468202a2033202f203429202d20706c616365486f6c64657273436f756e7428623634290a7d0a0a66756e6374696f6e20746f427974654172726179202862363429207b0a202076617220692c206c2c20746d702c20706c616365486f6c646572732c206172720a2020766172206c656e203d206236342e6c656e6774680a2020706c616365486f6c64657273203d20706c616365486f6c64657273436f756e7428623634290a0a2020617272203d206e65772041727228286c656e202a2033202f203429202d20706c616365486f6c64657273290a0a20202f2f2069662074686572652061726520706c616365686f6c646572732c206f6e6c792067657420757020746f20746865206c61737420636f6d706c65746520342063686172730a20206c203d20706c616365486f6c64657273203e2030203f206c656e202d2034203a206c656e0a0a2020766172204c203d20300a0a2020666f72202869203d20303b2069203c206c3b2069202b3d203429207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c20313829207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203c3c20313229207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2032295d203c3c203629207c207265764c6f6f6b75705b6236342e63686172436f646541742869202b2033295d0a202020206172725b4c2b2b5d203d2028746d70203e3e20313629202620307846460a202020206172725b4c2b2b5d203d2028746d70203e3e203829202620307846460a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d0a0a202069662028706c616365486f6c64657273203d3d3d203229207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c203229207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203e3e2034290a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d20656c73652069662028706c616365486f6c64657273203d3d3d203129207b0a20202020746d70203d20287265764c6f6f6b75705b6236342e63686172436f646541742869295d203c3c20313029207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2031295d203c3c203429207c20287265764c6f6f6b75705b6236342e63686172436f646541742869202b2032295d203e3e2032290a202020206172725b4c2b2b5d203d2028746d70203e3e203829202620307846460a202020206172725b4c2b2b5d203d20746d70202620307846460a20207d0a0a202072657475726e206172720a7d0a0a66756e6374696f6e20747269706c6574546f42617365363420286e756d29207b0a202072657475726e206c6f6f6b75705b6e756d203e3e203138202620307833465d202b206c6f6f6b75705b6e756d203e3e203132202620307833465d202b206c6f6f6b75705b6e756d203e3e2036202620307833465d202b206c6f6f6b75705b6e756d202620307833465d0a7d0a0a66756e6374696f6e20656e636f64654368756e6b202875696e74382c2073746172742c20656e6429207b0a202076617220746d700a2020766172206f7574707574203d205b5d0a2020666f7220287661722069203d2073746172743b2069203c20656e643b2069202b3d203329207b0a20202020746d70203d202875696e74385b695d203c3c20313629202b202875696e74385b69202b20315d203c3c203829202b202875696e74385b69202b20325d290a202020206f75747075742e7075736828747269706c6574546f42617365363428746d7029290a20207d0a202072657475726e206f75747075742e6a6f696e282727290a7d0a0a66756e6374696f6e2066726f6d427974654172726179202875696e743829207b0a202076617220746d700a2020766172206c656e203d2075696e74382e6c656e6774680a20207661722065787472614279746573203d206c656e20252033202f2f206966207765206861766520312062797465206c6566742c2070616420322062797465730a2020766172206f7574707574203d2027270a2020766172207061727473203d205b5d0a2020766172206d61784368756e6b4c656e677468203d203136333833202f2f206d757374206265206d756c7469706c65206f6620330a0a20202f2f20676f207468726f756768207468652061727261792065766572792074687265652062797465732c207765276c6c206465616c207769746820747261696c696e67207374756666206c617465720a2020666f7220287661722069203d20302c206c656e32203d206c656e202d20657874726142797465733b2069203c206c656e323b2069202b3d206d61784368756e6b4c656e67746829207b0a2020202070617274732e7075736828656e636f64654368756e6b2875696e74382c20692c202869202b206d61784368756e6b4c656e67746829203e206c656e32203f206c656e32203a202869202b206d61784368756e6b4c656e6774682929290a20207d0a0a20202f2f207061642074686520656e642077697468207a65726f732c20627574206d616b65207375726520746f206e6f7420666f72676574207468652065787472612062797465730a20206966202865787472614279746573203d3d3d203129207b0a20202020746d70203d2075696e74385b6c656e202d20315d0a202020206f7574707574202b3d206c6f6f6b75705b746d70203e3e20325d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203c3c203429202620307833465d0a202020206f7574707574202b3d20273d3d270a20207d20656c7365206966202865787472614279746573203d3d3d203229207b0a20202020746d70203d202875696e74385b6c656e202d20325d203c3c203829202b202875696e74385b6c656e202d20315d290a202020206f7574707574202b3d206c6f6f6b75705b746d70203e3e2031305d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203e3e203429202620307833465d0a202020206f7574707574202b3d206c6f6f6b75705b28746d70203c3c203229202620307833465d0a202020206f7574707574202b3d20273d270a20207d0a0a202070617274732e70757368286f7574707574290a0a202072657475726e2070617274732e6a6f696e282727290a7d0a0a7d2c7b7d5d2c33323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a210a202a2054686520627566666572206d6f64756c652066726f6d206e6f64652e6a732c20666f72207468652062726f777365722e0a202a0a202a2040617574686f722020204665726f73732041626f756b686164696a6568203c68747470733a2f2f6665726f73732e6f72673e0a202a20406c6963656e736520204d49540a202a2f0a2f2a2065736c696e742d64697361626c65206e6f2d70726f746f202a2f0a0a2775736520737472696374270a0a76617220626173653634203d207265717569726528276261736536342d6a7327290a7661722069656565373534203d207265717569726528276965656537353427290a0a6578706f7274732e427566666572203d204275666665720a6578706f7274732e536c6f77427566666572203d20536c6f774275666665720a6578706f7274732e494e53504543545f4d41585f4259544553203d2035300a0a766172204b5f4d41585f4c454e475448203d20307837666666666666660a6578706f7274732e6b4d61784c656e677468203d204b5f4d41585f4c454e4754480a0a2f2a2a0a202a20496620604275666665722e54595045445f41525241595f535550504f5254603a0a202a2020203d3d3d2074727565202020205573652055696e7438417272617920696d706c656d656e746174696f6e202866617374657374290a202a2020203d3d3d2066616c73652020205072696e74207761726e696e6720616e64207265636f6d6d656e64207573696e672060627566666572602076342e782077686963682068617320616e204f626a6563740a202a202020202020202020202020202020696d706c656d656e746174696f6e20286d6f737420636f6d70617469626c652c206576656e20494536290a202a0a202a2042726f7773657273207468617420737570706f727420747970656420617272617973206172652049452031302b2c2046697265666f7820342b2c204368726f6d6520372b2c2053616661726920352e312b2c0a202a204f706572612031312e362b2c20694f5320342e322b2e0a202a0a202a205765207265706f72742074686174207468652062726f7773657220646f6573206e6f7420737570706f7274207479706564206172726179732069662074686520617265206e6f7420737562636c61737361626c650a202a207573696e67205f5f70726f746f5f5f2e2046697265666f7820342d3239206c61636b7320737570706f727420666f7220616464696e67206e65772070726f7065727469657320746f206055696e74384172726179600a202a20285365653a2068747470733a2f2f6275677a696c6c612e6d6f7a696c6c612e6f72672f73686f775f6275672e6367693f69643d363935343338292e204945203130206c61636b7320737570706f72740a202a20666f72205f5f70726f746f5f5f20616e6420686173206120627567677920747970656420617272617920696d706c656d656e746174696f6e2e0a202a2f0a4275666665722e54595045445f41525241595f535550504f5254203d2074797065644172726179537570706f727428290a0a69662028214275666665722e54595045445f41525241595f535550504f525420262620747970656f6620636f6e736f6c6520213d3d2027756e646566696e6564272026260a20202020747970656f6620636f6e736f6c652e6572726f72203d3d3d202766756e6374696f6e2729207b0a2020636f6e736f6c652e6572726f72280a2020202027546869732062726f77736572206c61636b73207479706564206172726179202855696e743841727261792920737570706f72742077686963682069732072657175697265642062792027202b0a202020202760627566666572602076352e782e205573652060627566666572602076342e7820696620796f752072657175697265206f6c642062726f7773657220737570706f72742e270a2020290a7d0a0a66756e6374696f6e2074797065644172726179537570706f7274202829207b0a20202f2f2043616e20747970656420617272617920696e7374616e6365732063616e206265206175676d656e7465643f0a2020747279207b0a2020202076617220617272203d206e65772055696e743841727261792831290a202020206172722e5f5f70726f746f5f5f203d207b5f5f70726f746f5f5f3a2055696e743841727261792e70726f746f747970652c20666f6f3a2066756e6374696f6e202829207b2072657475726e203432207d7d0a2020202072657475726e206172722e666f6f2829203d3d3d2034320a20207d20636174636820286529207b0a2020202072657475726e2066616c73650a20207d0a7d0a0a66756e6374696f6e2063726561746542756666657220286c656e67746829207b0a2020696620286c656e677468203e204b5f4d41585f4c454e47544829207b0a202020207468726f77206e65772052616e67654572726f722827496e76616c6964207479706564206172726179206c656e67746827290a20207d0a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a202076617220627566203d206e65772055696e74384172726179286c656e677468290a20206275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206275660a7d0a0a2f2a2a0a202a205468652042756666657220636f6e7374727563746f722072657475726e7320696e7374616e636573206f66206055696e7438417272617960207468617420686176652074686569720a202a2070726f746f74797065206368616e67656420746f20604275666665722e70726f746f74797065602e20467572746865726d6f72652c206042756666657260206973206120737562636c617373206f660a202a206055696e74384172726179602c20736f207468652072657475726e656420696e7374616e6365732077696c6c206861766520616c6c20746865206e6f6465206042756666657260206d6574686f64730a202a20616e6420746865206055696e7438417272617960206d6574686f64732e2053717561726520627261636b6574206e6f746174696f6e20776f726b73206173206578706563746564202d2d2069740a202a2072657475726e7320612073696e676c65206f637465742e0a202a0a202a20546865206055696e74384172726179602070726f746f747970652072656d61696e7320756e6d6f6469666965642e0a202a2f0a0a66756e6374696f6e2042756666657220286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a20202f2f20436f6d6d6f6e20636173652e0a202069662028747970656f6620617267203d3d3d20276e756d6265722729207b0a2020202069662028747970656f6620656e636f64696e674f724f6666736574203d3d3d2027737472696e672729207b0a2020202020207468726f77206e6577204572726f72280a202020202020202027496620656e636f64696e6720697320737065636966696564207468656e2074686520666972737420617267756d656e74206d757374206265206120737472696e67270a202020202020290a202020207d0a2020202072657475726e20616c6c6f63556e7361666528617267290a20207d0a202072657475726e2066726f6d286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f20466978207375626172726179282920696e204553323031362e205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f70756c6c2f39370a69662028747970656f662053796d626f6c20213d3d2027756e646566696e6564272026262053796d626f6c2e737065636965732026260a202020204275666665725b53796d626f6c2e737065636965735d203d3d3d2042756666657229207b0a20204f626a6563742e646566696e6550726f7065727479284275666665722c2053796d626f6c2e737065636965732c207b0a2020202076616c75653a206e756c6c2c0a20202020636f6e666967757261626c653a20747275652c0a20202020656e756d657261626c653a2066616c73652c0a202020207772697461626c653a2066616c73650a20207d290a7d0a0a4275666665722e706f6f6c53697a65203d2038313932202f2f206e6f742075736564206279207468697320696d706c656d656e746174696f6e0a0a66756e6374696f6e2066726f6d202876616c75652c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202069662028747970656f662076616c7565203d3d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f7228272276616c75652220617267756d656e74206d757374206e6f742062652061206e756d62657227290a20207d0a0a202069662028697341727261794275666665722876616c75652929207b0a2020202072657475726e2066726f6d41727261794275666665722876616c75652c20656e636f64696e674f724f66667365742c206c656e677468290a20207d0a0a202069662028747970656f662076616c7565203d3d3d2027737472696e672729207b0a2020202072657475726e2066726f6d537472696e672876616c75652c20656e636f64696e674f724f6666736574290a20207d0a0a202072657475726e2066726f6d4f626a6563742876616c7565290a7d0a0a2f2a2a0a202a2046756e6374696f6e616c6c79206571756976616c656e7420746f20427566666572286172672c20656e636f64696e672920627574207468726f7773206120547970654572726f720a202a2069662076616c75652069732061206e756d6265722e0a202a204275666665722e66726f6d287374725b2c20656e636f64696e675d290a202a204275666665722e66726f6d286172726179290a202a204275666665722e66726f6d28627566666572290a202a204275666665722e66726f6d2861727261794275666665725b2c20627974654f66667365745b2c206c656e6774685d5d290a202a2a2f0a4275666665722e66726f6d203d2066756e6374696f6e202876616c75652c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202072657475726e2066726f6d2876616c75652c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f204e6f74653a204368616e67652070726f746f74797065202a61667465722a204275666665722e66726f6d20697320646566696e656420746f20776f726b61726f756e64204368726f6d65206275673a0a2f2f2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f70756c6c2f3134380a4275666665722e70726f746f747970652e5f5f70726f746f5f5f203d2055696e743841727261792e70726f746f747970650a4275666665722e5f5f70726f746f5f5f203d2055696e743841727261790a0a66756e6374696f6e2061737365727453697a65202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f7228272273697a652220617267756d656e74206d7573742062652061206e756d62657227290a20207d20656c7365206966202873697a65203c203029207b0a202020207468726f77206e65772052616e67654572726f7228272273697a652220617267756d656e74206d757374206e6f74206265206e6567617469766527290a20207d0a7d0a0a66756e6374696f6e20616c6c6f63202873697a652c2066696c6c2c20656e636f64696e6729207b0a202061737365727453697a652873697a65290a20206966202873697a65203c3d203029207b0a2020202072657475726e206372656174654275666665722873697a65290a20207d0a20206966202866696c6c20213d3d20756e646566696e656429207b0a202020202f2f204f6e6c792070617920617474656e74696f6e20746f20656e636f64696e672069662069742773206120737472696e672e20546869730a202020202f2f2070726576656e7473206163636964656e74616c6c792073656e64696e6720696e2061206e756d626572207468617420776f756c640a202020202f2f20626520696e746572707265747465642061732061207374617274206f66667365742e0a2020202072657475726e20747970656f6620656e636f64696e67203d3d3d2027737472696e67270a2020202020203f206372656174654275666665722873697a65292e66696c6c2866696c6c2c20656e636f64696e67290a2020202020203a206372656174654275666665722873697a65292e66696c6c2866696c6c290a20207d0a202072657475726e206372656174654275666665722873697a65290a7d0a0a2f2a2a0a202a20437265617465732061206e65772066696c6c65642042756666657220696e7374616e63652e0a202a20616c6c6f632873697a655b2c2066696c6c5b2c20656e636f64696e675d5d290a202a2a2f0a4275666665722e616c6c6f63203d2066756e6374696f6e202873697a652c2066696c6c2c20656e636f64696e6729207b0a202072657475726e20616c6c6f632873697a652c2066696c6c2c20656e636f64696e67290a7d0a0a66756e6374696f6e20616c6c6f63556e73616665202873697a6529207b0a202061737365727453697a652873697a65290a202072657475726e206372656174654275666665722873697a65203c2030203f2030203a20636865636b65642873697a6529207c2030290a7d0a0a2f2a2a0a202a204571756976616c656e7420746f20427566666572286e756d292c2062792064656661756c7420637265617465732061206e6f6e2d7a65726f2d66696c6c65642042756666657220696e7374616e63652e0a202a202a2f0a4275666665722e616c6c6f63556e73616665203d2066756e6374696f6e202873697a6529207b0a202072657475726e20616c6c6f63556e736166652873697a65290a7d0a2f2a2a0a202a204571756976616c656e7420746f20536c6f77427566666572286e756d292c2062792064656661756c7420637265617465732061206e6f6e2d7a65726f2d66696c6c65642042756666657220696e7374616e63652e0a202a2f0a4275666665722e616c6c6f63556e73616665536c6f77203d2066756e6374696f6e202873697a6529207b0a202072657475726e20616c6c6f63556e736166652873697a65290a7d0a0a66756e6374696f6e2066726f6d537472696e672028737472696e672c20656e636f64696e6729207b0a202069662028747970656f6620656e636f64696e6720213d3d2027737472696e6727207c7c20656e636f64696e67203d3d3d20272729207b0a20202020656e636f64696e67203d202775746638270a20207d0a0a202069662028214275666665722e6973456e636f64696e6728656e636f64696e672929207b0a202020207468726f77206e657720547970654572726f72282722656e636f64696e6722206d75737420626520612076616c696420737472696e6720656e636f64696e6727290a20207d0a0a2020766172206c656e677468203d20627974654c656e67746828737472696e672c20656e636f64696e6729207c20300a202076617220627566203d20637265617465427566666572286c656e677468290a0a20207661722061637475616c203d206275662e777269746528737472696e672c20656e636f64696e67290a0a20206966202861637475616c20213d3d206c656e67746829207b0a202020202f2f2057726974696e6720612068657820737472696e672c20666f72206578616d706c652c207468617420636f6e7461696e7320696e76616c696420636861726163746572732077696c6c0a202020202f2f2063617573652065766572797468696e672061667465722074686520666972737420696e76616c69642063686172616374657220746f2062652069676e6f7265642e2028652e672e0a202020202f2f2027616278786364272077696c6c20626520747265617465642061732027616227290a20202020627566203d206275662e736c69636528302c2061637475616c290a20207d0a0a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d41727261794c696b652028617272617929207b0a2020766172206c656e677468203d2061727261792e6c656e677468203c2030203f2030203a20636865636b65642861727261792e6c656e67746829207c20300a202076617220627566203d20637265617465427566666572286c656e677468290a2020666f7220287661722069203d20303b2069203c206c656e6774683b2069202b3d203129207b0a202020206275665b695d203d2061727261795b695d2026203235350a20207d0a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d4172726179427566666572202861727261792c20627974654f66667365742c206c656e67746829207b0a202069662028627974654f6666736574203c2030207c7c2061727261792e627974654c656e677468203c20627974654f666673657429207b0a202020207468726f77206e65772052616e67654572726f7228275c276f66667365745c27206973206f7574206f6620626f756e647327290a20207d0a0a20206966202861727261792e627974654c656e677468203c20627974654f6666736574202b20286c656e677468207c7c20302929207b0a202020207468726f77206e65772052616e67654572726f7228275c276c656e6774685c27206973206f7574206f6620626f756e647327290a20207d0a0a2020766172206275660a202069662028627974654f6666736574203d3d3d20756e646566696e6564202626206c656e677468203d3d3d20756e646566696e656429207b0a20202020627566203d206e65772055696e74384172726179286172726179290a20207d20656c736520696620286c656e677468203d3d3d20756e646566696e656429207b0a20202020627566203d206e65772055696e743841727261792861727261792c20627974654f6666736574290a20207d20656c7365207b0a20202020627566203d206e65772055696e743841727261792861727261792c20627974654f66667365742c206c656e677468290a20207d0a0a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a20206275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206275660a7d0a0a66756e6374696f6e2066726f6d4f626a65637420286f626a29207b0a2020696620284275666665722e6973427566666572286f626a2929207b0a20202020766172206c656e203d20636865636b6564286f626a2e6c656e67746829207c20300a2020202076617220627566203d20637265617465427566666572286c656e290a0a20202020696620286275662e6c656e677468203d3d3d203029207b0a20202020202072657475726e206275660a202020207d0a0a202020206f626a2e636f7079286275662c20302c20302c206c656e290a2020202072657475726e206275660a20207d0a0a2020696620286f626a29207b0a20202020696620286973417272617942756666657256696577286f626a29207c7c20276c656e6774682720696e206f626a29207b0a20202020202069662028747970656f66206f626a2e6c656e67746820213d3d20276e756d62657227207c7c206e756d62657249734e614e286f626a2e6c656e6774682929207b0a202020202020202072657475726e206372656174654275666665722830290a2020202020207d0a20202020202072657475726e2066726f6d41727261794c696b65286f626a290a202020207d0a0a20202020696620286f626a2e74797065203d3d3d2027427566666572272026262041727261792e69734172726179286f626a2e646174612929207b0a20202020202072657475726e2066726f6d41727261794c696b65286f626a2e64617461290a202020207d0a20207d0a0a20207468726f77206e657720547970654572726f722827466972737420617267756d656e74206d757374206265206120737472696e672c204275666665722c2041727261794275666665722c2041727261792c206f722061727261792d6c696b65206f626a6563742e27290a7d0a0a66756e6374696f6e20636865636b656420286c656e67746829207b0a20202f2f204e6f74653a2063616e6e6f742075736520606c656e677468203c204b5f4d41585f4c454e47544860206865726520626563617573652074686174206661696c73207768656e0a20202f2f206c656e677468206973204e614e20287768696368206973206f746865727769736520636f657263656420746f207a65726f2e290a2020696620286c656e677468203e3d204b5f4d41585f4c454e47544829207b0a202020207468726f77206e65772052616e67654572726f722827417474656d707420746f20616c6c6f6361746520427566666572206c6172676572207468616e206d6178696d756d2027202b0a202020202020202020202020202020202020202020202020202773697a653a20307827202b204b5f4d41585f4c454e4754482e746f537472696e6728313629202b202720627974657327290a20207d0a202072657475726e206c656e677468207c20300a7d0a0a66756e6374696f6e20536c6f7742756666657220286c656e67746829207b0a2020696620282b6c656e67746820213d206c656e67746829207b202f2f2065736c696e742d64697361626c652d6c696e65206571657165710a202020206c656e677468203d20300a20207d0a202072657475726e204275666665722e616c6c6f63282b6c656e677468290a7d0a0a4275666665722e6973427566666572203d2066756e6374696f6e20697342756666657220286229207b0a202072657475726e206220213d206e756c6c20262620622e5f6973427566666572203d3d3d20747275650a7d0a0a4275666665722e636f6d70617265203d2066756e6374696f6e20636f6d706172652028612c206229207b0a202069662028214275666665722e6973427566666572286129207c7c20214275666665722e697342756666657228622929207b0a202020207468726f77206e657720547970654572726f722827417267756d656e7473206d757374206265204275666665727327290a20207d0a0a20206966202861203d3d3d2062292072657475726e20300a0a20207661722078203d20612e6c656e6774680a20207661722079203d20622e6c656e6774680a0a2020666f7220287661722069203d20302c206c656e203d204d6174682e6d696e28782c2079293b2069203c206c656e3b202b2b6929207b0a2020202069662028615b695d20213d3d20625b695d29207b0a20202020202078203d20615b695d0a20202020202079203d20625b695d0a202020202020627265616b0a202020207d0a20207d0a0a20206966202878203c2079292072657475726e202d310a20206966202879203c2078292072657475726e20310a202072657475726e20300a7d0a0a4275666665722e6973456e636f64696e67203d2066756e6374696f6e206973456e636f64696e672028656e636f64696e6729207b0a20207377697463682028537472696e6728656e636f64696e67292e746f4c6f77657243617365282929207b0a20202020636173652027686578273a0a2020202063617365202775746638273a0a202020206361736520277574662d38273a0a202020206361736520276173636969273a0a202020206361736520276c6174696e31273a0a2020202063617365202762696e617279273a0a20202020636173652027626173653634273a0a2020202063617365202775637332273a0a202020206361736520277563732d32273a0a2020202063617365202775746631366c65273a0a202020206361736520277574662d31366c65273a0a20202020202072657475726e20747275650a2020202064656661756c743a0a20202020202072657475726e2066616c73650a20207d0a7d0a0a4275666665722e636f6e636174203d2066756e6374696f6e20636f6e63617420286c6973742c206c656e67746829207b0a2020696620282141727261792e69734172726179286c6973742929207b0a202020207468726f77206e657720547970654572726f722827226c6973742220617267756d656e74206d75737420626520616e204172726179206f66204275666665727327290a20207d0a0a2020696620286c6973742e6c656e677468203d3d3d203029207b0a2020202072657475726e204275666665722e616c6c6f632830290a20207d0a0a202076617220690a2020696620286c656e677468203d3d3d20756e646566696e656429207b0a202020206c656e677468203d20300a20202020666f72202869203d20303b2069203c206c6973742e6c656e6774683b202b2b6929207b0a2020202020206c656e677468202b3d206c6973745b695d2e6c656e6774680a202020207d0a20207d0a0a202076617220627566666572203d204275666665722e616c6c6f63556e73616665286c656e677468290a202076617220706f73203d20300a2020666f72202869203d20303b2069203c206c6973742e6c656e6774683b202b2b6929207b0a2020202076617220627566203d206c6973745b695d0a2020202069662028214275666665722e6973427566666572286275662929207b0a2020202020207468726f77206e657720547970654572726f722827226c6973742220617267756d656e74206d75737420626520616e204172726179206f66204275666665727327290a202020207d0a202020206275662e636f7079286275666665722c20706f73290a20202020706f73202b3d206275662e6c656e6774680a20207d0a202072657475726e206275666665720a7d0a0a66756e6374696f6e20627974654c656e6774682028737472696e672c20656e636f64696e6729207b0a2020696620284275666665722e697342756666657228737472696e672929207b0a2020202072657475726e20737472696e672e6c656e6774680a20207d0a202069662028697341727261794275666665725669657728737472696e6729207c7c206973417272617942756666657228737472696e672929207b0a2020202072657475726e20737472696e672e627974654c656e6774680a20207d0a202069662028747970656f6620737472696e6720213d3d2027737472696e672729207b0a20202020737472696e67203d202727202b20737472696e670a20207d0a0a2020766172206c656e203d20737472696e672e6c656e6774680a2020696620286c656e203d3d3d2030292072657475726e20300a0a20202f2f20557365206120666f72206c6f6f7020746f2061766f696420726563757273696f6e0a2020766172206c6f776572656443617365203d2066616c73650a2020666f7220283b3b29207b0a202020207377697463682028656e636f64696e6729207b0a2020202020206361736520276173636969273a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c656e0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a2020202020206361736520756e646566696e65643a0a202020202020202072657475726e2075746638546f427974657328737472696e67292e6c656e6774680a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e206c656e202a20320a202020202020636173652027686578273a0a202020202020202072657475726e206c656e203e3e3e20310a202020202020636173652027626173653634273a0a202020202020202072657475726e20626173653634546f427974657328737472696e67292e6c656e6774680a20202020202064656661756c743a0a2020202020202020696620286c6f776572656443617365292072657475726e2075746638546f427974657328737472696e67292e6c656e677468202f2f20617373756d6520757466380a2020202020202020656e636f64696e67203d20282727202b20656e636f64696e67292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a4275666665722e627974654c656e677468203d20627974654c656e6774680a0a66756e6374696f6e20736c6f77546f537472696e672028656e636f64696e672c2073746172742c20656e6429207b0a2020766172206c6f776572656443617365203d2066616c73650a0a20202f2f204e6f206e65656420746f2076657269667920746861742022746869732e6c656e677468203c3d204d41585f55494e543332222073696e63652069742773206120726561642d6f6e6c790a20202f2f2070726f7065727479206f6620612074797065642061727261792e0a0a20202f2f20546869732062656861766573206e656974686572206c696b6520537472696e67206e6f722055696e7438417272617920696e2074686174207765207365742073746172742f656e640a20202f2f20746f2074686569722075707065722f6c6f77657220626f756e6473206966207468652076616c756520706173736564206973206f7574206f662072616e67652e0a20202f2f20756e646566696e65642069732068616e646c6564207370656369616c6c79206173207065722045434d412d323632203674682045646974696f6e2c0a20202f2f2053656374696f6e2031332e332e332e372052756e74696d652053656d616e746963733a204b6579656442696e64696e67496e697469616c697a6174696f6e2e0a2020696620287374617274203d3d3d20756e646566696e6564207c7c207374617274203c203029207b0a202020207374617274203d20300a20207d0a20202f2f2052657475726e206561726c79206966207374617274203e20746869732e6c656e6774682e20446f6e65206865726520746f2070726576656e7420706f74656e7469616c2075696e7433320a20202f2f20636f657263696f6e206661696c2062656c6f772e0a2020696620287374617274203e20746869732e6c656e67746829207b0a2020202072657475726e2027270a20207d0a0a202069662028656e64203d3d3d20756e646566696e6564207c7c20656e64203e20746869732e6c656e67746829207b0a20202020656e64203d20746869732e6c656e6774680a20207d0a0a202069662028656e64203c3d203029207b0a2020202072657475726e2027270a20207d0a0a20202f2f20466f72636520636f657273696f6e20746f2075696e7433322e20546869732077696c6c20616c736f20636f657263652066616c7365792f4e614e2076616c75657320746f20302e0a2020656e64203e3e3e3d20300a20207374617274203e3e3e3d20300a0a202069662028656e64203c3d20737461727429207b0a2020202072657475726e2027270a20207d0a0a20206966202821656e636f64696e672920656e636f64696e67203d202775746638270a0a20207768696c6520287472756529207b0a202020207377697463682028656e636f64696e6729207b0a202020202020636173652027686578273a0a202020202020202072657475726e20686578536c69636528746869732c2073746172742c20656e64290a0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e2075746638536c69636528746869732c2073746172742c20656e64290a0a2020202020206361736520276173636969273a0a202020202020202072657475726e206173636969536c69636528746869732c2073746172742c20656e64290a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c6174696e31536c69636528746869732c2073746172742c20656e64290a0a202020202020636173652027626173653634273a0a202020202020202072657475726e20626173653634536c69636528746869732c2073746172742c20656e64290a0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e2075746631366c65536c69636528746869732c2073746172742c20656e64290a0a20202020202064656661756c743a0a2020202020202020696620286c6f77657265644361736529207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a2020202020202020656e636f64696e67203d2028656e636f64696e67202b202727292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a0a2f2f20546869732070726f7065727479206973207573656420627920604275666665722e6973427566666572602028616e6420746865206069732d62756666657260206e706d207061636b616765290a2f2f20746f2064657465637420612042756666657220696e7374616e63652e2049742773206e6f7420706f737369626c6520746f207573652060696e7374616e63656f6620427566666572600a2f2f2072656c6961626c7920696e20612062726f7773657269667920636f6e74657874206265636175736520746865726520636f756c64206265206d756c7469706c6520646966666572656e740a2f2f20636f70696573206f6620746865202762756666657227207061636b61676520696e207573652e2054686973206d6574686f6420776f726b73206576656e20666f72204275666665720a2f2f20696e7374616e6365732074686174207765726520637265617465642066726f6d20616e6f7468657220636f7079206f6620746865206062756666657260207061636b6167652e0a2f2f205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f6973737565732f3135340a4275666665722e70726f746f747970652e5f6973427566666572203d20747275650a0a66756e6374696f6e20737761702028622c206e2c206d29207b0a20207661722069203d20625b6e5d0a2020625b6e5d203d20625b6d5d0a2020625b6d5d203d20690a7d0a0a4275666665722e70726f746f747970652e737761703136203d2066756e6374696f6e20737761703136202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203220213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662031362d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203229207b0a202020207377617028746869732c20692c2069202b2031290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e737761703332203d2066756e6374696f6e20737761703332202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203420213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662033322d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203429207b0a202020207377617028746869732c20692c2069202b2033290a202020207377617028746869732c2069202b20312c2069202b2032290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e737761703634203d2066756e6374696f6e20737761703634202829207b0a2020766172206c656e203d20746869732e6c656e6774680a2020696620286c656e2025203820213d3d203029207b0a202020207468726f77206e65772052616e67654572726f7228274275666665722073697a65206d7573742062652061206d756c7469706c65206f662036342d6269747327290a20207d0a2020666f7220287661722069203d20303b2069203c206c656e3b2069202b3d203829207b0a202020207377617028746869732c20692c2069202b2037290a202020207377617028746869732c2069202b20312c2069202b2036290a202020207377617028746869732c2069202b20322c2069202b2035290a202020207377617028746869732c2069202b20332c2069202b2034290a20207d0a202072657475726e20746869730a7d0a0a4275666665722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e20746f537472696e67202829207b0a2020766172206c656e677468203d20746869732e6c656e6774680a2020696620286c656e677468203d3d3d2030292072657475726e2027270a202069662028617267756d656e74732e6c656e677468203d3d3d2030292072657475726e2075746638536c69636528746869732c20302c206c656e677468290a202072657475726e20736c6f77546f537472696e672e6170706c7928746869732c20617267756d656e7473290a7d0a0a4275666665722e70726f746f747970652e657175616c73203d2066756e6374696f6e20657175616c7320286229207b0a202069662028214275666665722e697342756666657228622929207468726f77206e657720547970654572726f722827417267756d656e74206d75737420626520612042756666657227290a20206966202874686973203d3d3d2062292072657475726e20747275650a202072657475726e204275666665722e636f6d7061726528746869732c206229203d3d3d20300a7d0a0a4275666665722e70726f746f747970652e696e7370656374203d2066756e6374696f6e20696e7370656374202829207b0a202076617220737472203d2027270a2020766172206d6178203d206578706f7274732e494e53504543545f4d41585f42595445530a202069662028746869732e6c656e677468203e203029207b0a20202020737472203d20746869732e746f537472696e672827686578272c20302c206d6178292e6d61746368282f2e7b327d2f67292e6a6f696e28272027290a2020202069662028746869732e6c656e677468203e206d61782920737472202b3d2027202e2e2e20270a20207d0a202072657475726e20273c4275666665722027202b20737472202b20273e270a7d0a0a4275666665722e70726f746f747970652e636f6d70617265203d2066756e6374696f6e20636f6d7061726520287461726765742c2073746172742c20656e642c207468697353746172742c2074686973456e6429207b0a202069662028214275666665722e6973427566666572287461726765742929207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d75737420626520612042756666657227290a20207d0a0a2020696620287374617274203d3d3d20756e646566696e656429207b0a202020207374617274203d20300a20207d0a202069662028656e64203d3d3d20756e646566696e656429207b0a20202020656e64203d20746172676574203f207461726765742e6c656e677468203a20300a20207d0a202069662028746869735374617274203d3d3d20756e646566696e656429207b0a20202020746869735374617274203d20300a20207d0a20206966202874686973456e64203d3d3d20756e646566696e656429207b0a2020202074686973456e64203d20746869732e6c656e6774680a20207d0a0a2020696620287374617274203c2030207c7c20656e64203e207461726765742e6c656e677468207c7c20746869735374617274203c2030207c7c2074686973456e64203e20746869732e6c656e67746829207b0a202020207468726f77206e65772052616e67654572726f7228276f7574206f662072616e676520696e64657827290a20207d0a0a202069662028746869735374617274203e3d2074686973456e64202626207374617274203e3d20656e6429207b0a2020202072657475726e20300a20207d0a202069662028746869735374617274203e3d2074686973456e6429207b0a2020202072657475726e202d310a20207d0a2020696620287374617274203e3d20656e6429207b0a2020202072657475726e20310a20207d0a0a20207374617274203e3e3e3d20300a2020656e64203e3e3e3d20300a2020746869735374617274203e3e3e3d20300a202074686973456e64203e3e3e3d20300a0a20206966202874686973203d3d3d20746172676574292072657475726e20300a0a20207661722078203d2074686973456e64202d207468697353746172740a20207661722079203d20656e64202d2073746172740a2020766172206c656e203d204d6174682e6d696e28782c2079290a0a20207661722074686973436f7079203d20746869732e736c696365287468697353746172742c2074686973456e64290a202076617220746172676574436f7079203d207461726765742e736c6963652873746172742c20656e64290a0a2020666f7220287661722069203d20303b2069203c206c656e3b202b2b6929207b0a202020206966202874686973436f70795b695d20213d3d20746172676574436f70795b695d29207b0a20202020202078203d2074686973436f70795b695d0a20202020202079203d20746172676574436f70795b695d0a202020202020627265616b0a202020207d0a20207d0a0a20206966202878203c2079292072657475726e202d310a20206966202879203c2078292072657475726e20310a202072657475726e20300a7d0a0a2f2f2046696e6473206569746865722074686520666972737420696e646578206f66206076616c6020696e206062756666657260206174206f6666736574203e3d2060627974654f6666736574602c0a2f2f204f5220746865206c61737420696e646578206f66206076616c6020696e206062756666657260206174206f6666736574203c3d2060627974654f6666736574602e0a2f2f0a2f2f20417267756d656e74733a0a2f2f202d20627566666572202d20612042756666657220746f207365617263680a2f2f202d2076616c202d206120737472696e672c204275666665722c206f72206e756d6265720a2f2f202d20627974654f6666736574202d20616e20696e64657820696e746f2060627566666572603b2077696c6c20626520636c616d70656420746f20616e20696e7433320a2f2f202d20656e636f64696e67202d20616e206f7074696f6e616c20656e636f64696e672c2072656c6576616e742069732076616c206973206120737472696e670a2f2f202d20646972202d207472756520666f7220696e6465784f662c2066616c736520666f72206c617374496e6465784f660a66756e6374696f6e206269646972656374696f6e616c496e6465784f6620286275666665722c2076616c2c20627974654f66667365742c20656e636f64696e672c2064697229207b0a20202f2f20456d70747920627566666572206d65616e73206e6f206d617463680a2020696620286275666665722e6c656e677468203d3d3d2030292072657475726e202d310a0a20202f2f204e6f726d616c697a6520627974654f66667365740a202069662028747970656f6620627974654f6666736574203d3d3d2027737472696e672729207b0a20202020656e636f64696e67203d20627974654f66667365740a20202020627974654f6666736574203d20300a20207d20656c73652069662028627974654f6666736574203e203078376666666666666629207b0a20202020627974654f6666736574203d20307837666666666666660a20207d20656c73652069662028627974654f6666736574203c202d3078383030303030303029207b0a20202020627974654f6666736574203d202d307838303030303030300a20207d0a2020627974654f6666736574203d202b627974654f666673657420202f2f20436f6572636520746f204e756d6265722e0a2020696620286e756d62657249734e614e28627974654f66667365742929207b0a202020202f2f20627974654f66667365743a206974206974277320756e646566696e65642c206e756c6c2c204e614e2c2022666f6f222c206574632c207365617263682077686f6c65206275666665720a20202020627974654f6666736574203d20646972203f2030203a20286275666665722e6c656e677468202d2031290a20207d0a0a20202f2f204e6f726d616c697a6520627974654f66667365743a206e65676174697665206f6666736574732073746172742066726f6d2074686520656e64206f6620746865206275666665720a202069662028627974654f6666736574203c20302920627974654f6666736574203d206275666665722e6c656e677468202b20627974654f66667365740a202069662028627974654f6666736574203e3d206275666665722e6c656e67746829207b0a2020202069662028646972292072657475726e202d310a20202020656c736520627974654f6666736574203d206275666665722e6c656e677468202d20310a20207d20656c73652069662028627974654f6666736574203c203029207b0a20202020696620286469722920627974654f6666736574203d20300a20202020656c73652072657475726e202d310a20207d0a0a20202f2f204e6f726d616c697a652076616c0a202069662028747970656f662076616c203d3d3d2027737472696e672729207b0a2020202076616c203d204275666665722e66726f6d2876616c2c20656e636f64696e67290a20207d0a0a20202f2f2046696e616c6c792c207365617263682065697468657220696e6465784f662028696620646972206973207472756529206f72206c617374496e6465784f660a2020696620284275666665722e69734275666665722876616c2929207b0a202020202f2f205370656369616c20636173653a206c6f6f6b696e6720666f7220656d70747920737472696e672f62756666657220616c77617973206661696c730a202020206966202876616c2e6c656e677468203d3d3d203029207b0a20202020202072657475726e202d310a202020207d0a2020202072657475726e206172726179496e6465784f66286275666665722c2076616c2c20627974654f66667365742c20656e636f64696e672c20646972290a20207d20656c73652069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a2020202076616c203d2076616c20262030784646202f2f2053656172636820666f72206120627974652076616c7565205b302d3235355d0a2020202069662028747970656f662055696e743841727261792e70726f746f747970652e696e6465784f66203d3d3d202766756e6374696f6e2729207b0a2020202020206966202864697229207b0a202020202020202072657475726e2055696e743841727261792e70726f746f747970652e696e6465784f662e63616c6c286275666665722c2076616c2c20627974654f6666736574290a2020202020207d20656c7365207b0a202020202020202072657475726e2055696e743841727261792e70726f746f747970652e6c617374496e6465784f662e63616c6c286275666665722c2076616c2c20627974654f6666736574290a2020202020207d0a202020207d0a2020202072657475726e206172726179496e6465784f66286275666665722c205b2076616c205d2c20627974654f66667365742c20656e636f64696e672c20646972290a20207d0a0a20207468726f77206e657720547970654572726f72282776616c206d75737420626520737472696e672c206e756d626572206f722042756666657227290a7d0a0a66756e6374696f6e206172726179496e6465784f6620286172722c2076616c2c20627974654f66667365742c20656e636f64696e672c2064697229207b0a202076617220696e64657853697a65203d20310a2020766172206172724c656e677468203d206172722e6c656e6774680a20207661722076616c4c656e677468203d2076616c2e6c656e6774680a0a202069662028656e636f64696e6720213d3d20756e646566696e656429207b0a20202020656e636f64696e67203d20537472696e6728656e636f64696e67292e746f4c6f7765724361736528290a2020202069662028656e636f64696e67203d3d3d20277563733227207c7c20656e636f64696e67203d3d3d20277563732d3227207c7c0a2020202020202020656e636f64696e67203d3d3d202775746631366c6527207c7c20656e636f64696e67203d3d3d20277574662d31366c652729207b0a202020202020696620286172722e6c656e677468203c2032207c7c2076616c2e6c656e677468203c203229207b0a202020202020202072657475726e202d310a2020202020207d0a202020202020696e64657853697a65203d20320a2020202020206172724c656e677468202f3d20320a20202020202076616c4c656e677468202f3d20320a202020202020627974654f6666736574202f3d20320a202020207d0a20207d0a0a202066756e6374696f6e207265616420286275662c206929207b0a2020202069662028696e64657853697a65203d3d3d203129207b0a20202020202072657475726e206275665b695d0a202020207d20656c7365207b0a20202020202072657475726e206275662e7265616455496e74313642452869202a20696e64657853697a65290a202020207d0a20207d0a0a202076617220690a20206966202864697229207b0a2020202076617220666f756e64496e646578203d202d310a20202020666f72202869203d20627974654f66667365743b2069203c206172724c656e6774683b20692b2b29207b0a2020202020206966202872656164286172722c206929203d3d3d20726561642876616c2c20666f756e64496e646578203d3d3d202d31203f2030203a2069202d20666f756e64496e6465782929207b0a202020202020202069662028666f756e64496e646578203d3d3d202d312920666f756e64496e646578203d20690a20202020202020206966202869202d20666f756e64496e646578202b2031203d3d3d2076616c4c656e677468292072657475726e20666f756e64496e646578202a20696e64657853697a650a2020202020207d20656c7365207b0a202020202020202069662028666f756e64496e64657820213d3d202d31292069202d3d2069202d20666f756e64496e6465780a2020202020202020666f756e64496e646578203d202d310a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202069662028627974654f6666736574202b2076616c4c656e677468203e206172724c656e6774682920627974654f6666736574203d206172724c656e677468202d2076616c4c656e6774680a20202020666f72202869203d20627974654f66667365743b2069203e3d20303b20692d2d29207b0a20202020202076617220666f756e64203d20747275650a202020202020666f722028766172206a203d20303b206a203c2076616c4c656e6774683b206a2b2b29207b0a20202020202020206966202872656164286172722c2069202b206a2920213d3d20726561642876616c2c206a2929207b0a20202020202020202020666f756e64203d2066616c73650a20202020202020202020627265616b0a20202020202020207d0a2020202020207d0a20202020202069662028666f756e64292072657475726e20690a202020207d0a20207d0a0a202072657475726e202d310a7d0a0a4275666665722e70726f746f747970652e696e636c75646573203d2066756e6374696f6e20696e636c75646573202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e20746869732e696e6465784f662876616c2c20627974654f66667365742c20656e636f64696e672920213d3d202d310a7d0a0a4275666665722e70726f746f747970652e696e6465784f66203d2066756e6374696f6e20696e6465784f66202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e206269646972656374696f6e616c496e6465784f6628746869732c2076616c2c20627974654f66667365742c20656e636f64696e672c2074727565290a7d0a0a4275666665722e70726f746f747970652e6c617374496e6465784f66203d2066756e6374696f6e206c617374496e6465784f66202876616c2c20627974654f66667365742c20656e636f64696e6729207b0a202072657475726e206269646972656374696f6e616c496e6465784f6628746869732c2076616c2c20627974654f66667365742c20656e636f64696e672c2066616c7365290a7d0a0a66756e6374696f6e20686578577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a20206f6666736574203d204e756d626572286f666673657429207c7c20300a20207661722072656d61696e696e67203d206275662e6c656e677468202d206f66667365740a202069662028216c656e67746829207b0a202020206c656e677468203d2072656d61696e696e670a20207d20656c7365207b0a202020206c656e677468203d204e756d626572286c656e677468290a20202020696620286c656e677468203e2072656d61696e696e6729207b0a2020202020206c656e677468203d2072656d61696e696e670a202020207d0a20207d0a0a20202f2f206d75737420626520616e206576656e206e756d626572206f66206469676974730a2020766172207374724c656e203d20737472696e672e6c656e6774680a2020696620287374724c656e2025203220213d3d203029207468726f77206e657720547970654572726f722827496e76616c69642068657820737472696e6727290a0a2020696620286c656e677468203e207374724c656e202f203229207b0a202020206c656e677468203d207374724c656e202f20320a20207d0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a2020202076617220706172736564203d207061727365496e7428737472696e672e7375627374722869202a20322c2032292c203136290a20202020696620286e756d62657249734e614e2870617273656429292072657475726e20690a202020206275665b6f6666736574202b20695d203d207061727365640a20207d0a202072657475726e20690a7d0a0a66756e6374696f6e2075746638577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c69744275666665722875746638546f427974657328737472696e672c206275662e6c656e677468202d206f6666736574292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e206173636969577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c6974427566666572286173636969546f427974657328737472696e67292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e206c6174696e31577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e2061736369695772697465286275662c20737472696e672c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e20626173653634577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c697442756666657228626173653634546f427974657328737472696e67292c206275662c206f66667365742c206c656e677468290a7d0a0a66756e6374696f6e2075637332577269746520286275662c20737472696e672c206f66667365742c206c656e67746829207b0a202072657475726e20626c69744275666665722875746631366c65546f427974657328737472696e672c206275662e6c656e677468202d206f6666736574292c206275662c206f66667365742c206c656e677468290a7d0a0a4275666665722e70726f746f747970652e7772697465203d2066756e6374696f6e2077726974652028737472696e672c206f66667365742c206c656e6774682c20656e636f64696e6729207b0a20202f2f2042756666657223777269746528737472696e67290a2020696620286f6666736574203d3d3d20756e646566696e656429207b0a20202020656e636f64696e67203d202775746638270a202020206c656e677468203d20746869732e6c656e6774680a202020206f6666736574203d20300a20202f2f2042756666657223777269746528737472696e672c20656e636f64696e67290a20207d20656c736520696620286c656e677468203d3d3d20756e646566696e656420262620747970656f66206f6666736574203d3d3d2027737472696e672729207b0a20202020656e636f64696e67203d206f66667365740a202020206c656e677468203d20746869732e6c656e6774680a202020206f6666736574203d20300a20202f2f2042756666657223777269746528737472696e672c206f66667365745b2c206c656e6774685d5b2c20656e636f64696e675d290a20207d20656c73652069662028697346696e697465286f66667365742929207b0a202020206f6666736574203d206f6666736574203e3e3e20300a2020202069662028697346696e697465286c656e6774682929207b0a2020202020206c656e677468203d206c656e677468203e3e3e20300a20202020202069662028656e636f64696e67203d3d3d20756e646566696e65642920656e636f64696e67203d202775746638270a202020207d20656c7365207b0a202020202020656e636f64696e67203d206c656e6774680a2020202020206c656e677468203d20756e646566696e65640a202020207d0a20207d20656c7365207b0a202020207468726f77206e6577204572726f72280a202020202020274275666665722e777269746528737472696e672c20656e636f64696e672c206f66667365745b2c206c656e6774685d29206973206e6f206c6f6e67657220737570706f72746564270a20202020290a20207d0a0a20207661722072656d61696e696e67203d20746869732e6c656e677468202d206f66667365740a2020696620286c656e677468203d3d3d20756e646566696e6564207c7c206c656e677468203e2072656d61696e696e6729206c656e677468203d2072656d61696e696e670a0a20206966202828737472696e672e6c656e677468203e203020262620286c656e677468203c2030207c7c206f6666736574203c20302929207c7c206f6666736574203e20746869732e6c656e67746829207b0a202020207468726f77206e65772052616e67654572726f722827417474656d707420746f207772697465206f7574736964652062756666657220626f756e647327290a20207d0a0a20206966202821656e636f64696e672920656e636f64696e67203d202775746638270a0a2020766172206c6f776572656443617365203d2066616c73650a2020666f7220283b3b29207b0a202020207377697463682028656e636f64696e6729207b0a202020202020636173652027686578273a0a202020202020202072657475726e20686578577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e2075746638577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a2020202020206361736520276173636969273a0a202020202020202072657475726e206173636969577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e206c6174696e31577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a202020202020636173652027626173653634273a0a20202020202020202f2f205761726e696e673a206d61784c656e677468206e6f742074616b656e20696e746f206163636f756e7420696e2062617365363457726974650a202020202020202072657475726e20626173653634577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e2075637332577269746528746869732c20737472696e672c206f66667365742c206c656e677468290a0a20202020202064656661756c743a0a2020202020202020696620286c6f77657265644361736529207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a2020202020202020656e636f64696e67203d20282727202b20656e636f64696e67292e746f4c6f7765724361736528290a20202020202020206c6f776572656443617365203d20747275650a202020207d0a20207d0a7d0a0a4275666665722e70726f746f747970652e746f4a534f4e203d2066756e6374696f6e20746f4a534f4e202829207b0a202072657475726e207b0a20202020747970653a2027427566666572272c0a20202020646174613a2041727261792e70726f746f747970652e736c6963652e63616c6c28746869732e5f617272207c7c20746869732c2030290a20207d0a7d0a0a66756e6374696f6e20626173653634536c69636520286275662c2073746172742c20656e6429207b0a2020696620287374617274203d3d3d203020262620656e64203d3d3d206275662e6c656e67746829207b0a2020202072657475726e206261736536342e66726f6d42797465417272617928627566290a20207d20656c7365207b0a2020202072657475726e206261736536342e66726f6d427974654172726179286275662e736c6963652873746172742c20656e6429290a20207d0a7d0a0a66756e6374696f6e2075746638536c69636520286275662c2073746172742c20656e6429207b0a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a202076617220726573203d205b5d0a0a20207661722069203d2073746172740a20207768696c65202869203c20656e6429207b0a2020202076617220666972737442797465203d206275665b695d0a2020202076617220636f6465506f696e74203d206e756c6c0a2020202076617220627974657350657253657175656e6365203d2028666972737442797465203e203078454629203f20340a2020202020203a2028666972737442797465203e203078444629203f20330a2020202020203a2028666972737442797465203e203078424629203f20320a2020202020203a20310a0a202020206966202869202b20627974657350657253657175656e6365203c3d20656e6429207b0a202020202020766172207365636f6e64427974652c207468697264427974652c20666f75727468427974652c2074656d70436f6465506f696e740a0a2020202020207377697463682028627974657350657253657175656e636529207b0a20202020202020206361736520313a0a2020202020202020202069662028666972737442797465203c203078383029207b0a202020202020202020202020636f6465506f696e74203d206669727374427974650a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520323a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d20286669727374427974652026203078314629203c3c20307836207c20287365636f6e644279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078374629207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520333a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a20202020202020202020746869726442797465203d206275665b69202b20325d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383020262620287468697264427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d202866697273744279746520262030784629203c3c20307843207c20287365636f6e64427974652026203078334629203c3c20307836207c202874686972644279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078374646202626202874656d70436f6465506f696e74203c20307844383030207c7c2074656d70436f6465506f696e74203e203078444646462929207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020627265616b0a20202020202020206361736520343a0a202020202020202020207365636f6e6442797465203d206275665b69202b20315d0a20202020202020202020746869726442797465203d206275665b69202b20325d0a20202020202020202020666f7572746842797465203d206275665b69202b20335d0a2020202020202020202069662028287365636f6e64427974652026203078433029203d3d3d203078383020262620287468697264427974652026203078433029203d3d3d20307838302026262028666f75727468427974652026203078433029203d3d3d203078383029207b0a20202020202020202020202074656d70436f6465506f696e74203d202866697273744279746520262030784629203c3c2030783132207c20287365636f6e64427974652026203078334629203c3c20307843207c20287468697264427974652026203078334629203c3c20307836207c2028666f757274684279746520262030783346290a2020202020202020202020206966202874656d70436f6465506f696e74203e203078464646462026262074656d70436f6465506f696e74203c20307831313030303029207b0a2020202020202020202020202020636f6465506f696e74203d2074656d70436f6465506f696e740a2020202020202020202020207d0a202020202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028636f6465506f696e74203d3d3d206e756c6c29207b0a2020202020202f2f20776520646964206e6f742067656e657261746520612076616c696420636f6465506f696e7420736f20696e7365727420610a2020202020202f2f207265706c6163656d656e7420636861722028552b464646442920616e6420616476616e6365206f6e6c79203120627974650a202020202020636f6465506f696e74203d203078464646440a202020202020627974657350657253657175656e6365203d20310a202020207d20656c73652069662028636f6465506f696e74203e2030784646464629207b0a2020202020202f2f20656e636f646520746f2075746631362028737572726f6761746520706169722064616e6365290a202020202020636f6465506f696e74202d3d20307831303030300a2020202020207265732e7075736828636f6465506f696e74203e3e3e2031302026203078334646207c20307844383030290a202020202020636f6465506f696e74203d20307844433030207c20636f6465506f696e7420262030783346460a202020207d0a0a202020207265732e7075736828636f6465506f696e74290a2020202069202b3d20627974657350657253657175656e63650a20207d0a0a202072657475726e206465636f6465436f6465506f696e7473417272617928726573290a7d0a0a2f2f204261736564206f6e20687474703a2f2f737461636b6f766572666c6f772e636f6d2f612f32323734373237322f3638303734322c207468652062726f7773657220776974680a2f2f20746865206c6f77657374206c696d6974206973204368726f6d652c2077697468203078313030303020617267732e0a2f2f20576520676f2031206d61676e6974756465206c6573732c20666f72207361666574790a766172204d41585f415247554d454e54535f4c454e475448203d203078313030300a0a66756e6374696f6e206465636f6465436f6465506f696e747341727261792028636f6465506f696e747329207b0a2020766172206c656e203d20636f6465506f696e74732e6c656e6774680a2020696620286c656e203c3d204d41585f415247554d454e54535f4c454e47544829207b0a2020202072657475726e20537472696e672e66726f6d43686172436f64652e6170706c7928537472696e672c20636f6465506f696e747329202f2f2061766f696420657874726120736c69636528290a20207d0a0a20202f2f204465636f646520696e206368756e6b7320746f2061766f6964202263616c6c20737461636b2073697a65206578636565646564222e0a202076617220726573203d2027270a20207661722069203d20300a20207768696c65202869203c206c656e29207b0a20202020726573202b3d20537472696e672e66726f6d43686172436f64652e6170706c79280a202020202020537472696e672c0a202020202020636f6465506f696e74732e736c69636528692c2069202b3d204d41585f415247554d454e54535f4c454e475448290a20202020290a20207d0a202072657475726e207265730a7d0a0a66756e6374696f6e206173636969536c69636520286275662c2073746172742c20656e6429207b0a202076617220726574203d2027270a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a0a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a20202020726574202b3d20537472696e672e66726f6d43686172436f6465286275665b695d20262030783746290a20207d0a202072657475726e207265740a7d0a0a66756e6374696f6e206c6174696e31536c69636520286275662c2073746172742c20656e6429207b0a202076617220726574203d2027270a2020656e64203d204d6174682e6d696e286275662e6c656e6774682c20656e64290a0a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a20202020726574202b3d20537472696e672e66726f6d43686172436f6465286275665b695d290a20207d0a202072657475726e207265740a7d0a0a66756e6374696f6e20686578536c69636520286275662c2073746172742c20656e6429207b0a2020766172206c656e203d206275662e6c656e6774680a0a202069662028217374617274207c7c207374617274203c203029207374617274203d20300a20206966202821656e64207c7c20656e64203c2030207c7c20656e64203e206c656e2920656e64203d206c656e0a0a2020766172206f7574203d2027270a2020666f7220287661722069203d2073746172743b2069203c20656e643b202b2b6929207b0a202020206f7574202b3d20746f486578286275665b695d290a20207d0a202072657475726e206f75740a7d0a0a66756e6374696f6e2075746631366c65536c69636520286275662c2073746172742c20656e6429207b0a2020766172206279746573203d206275662e736c6963652873746172742c20656e64290a202076617220726573203d2027270a2020666f7220287661722069203d20303b2069203c2062797465732e6c656e6774683b2069202b3d203229207b0a20202020726573202b3d20537472696e672e66726f6d43686172436f64652862797465735b695d202b202862797465735b69202b20315d202a2032353629290a20207d0a202072657475726e207265730a7d0a0a4275666665722e70726f746f747970652e736c696365203d2066756e6374696f6e20736c696365202873746172742c20656e6429207b0a2020766172206c656e203d20746869732e6c656e6774680a20207374617274203d207e7e73746172740a2020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e203a207e7e656e640a0a2020696620287374617274203c203029207b0a202020207374617274202b3d206c656e0a20202020696620287374617274203c203029207374617274203d20300a20207d20656c736520696620287374617274203e206c656e29207b0a202020207374617274203d206c656e0a20207d0a0a202069662028656e64203c203029207b0a20202020656e64202b3d206c656e0a2020202069662028656e64203c20302920656e64203d20300a20207d20656c73652069662028656e64203e206c656e29207b0a20202020656e64203d206c656e0a20207d0a0a202069662028656e64203c2073746172742920656e64203d2073746172740a0a2020766172206e6577427566203d20746869732e73756261727261792873746172742c20656e64290a20202f2f2052657475726e20616e206175676d656e746564206055696e743841727261796020696e7374616e63650a20206e65774275662e5f5f70726f746f5f5f203d204275666665722e70726f746f747970650a202072657475726e206e65774275660a7d0a0a2f2a0a202a204e65656420746f206d616b6520737572652074686174206275666665722069736e277420747279696e6720746f207772697465206f7574206f6620626f756e64732e0a202a2f0a66756e6374696f6e20636865636b4f666673657420286f66667365742c206578742c206c656e67746829207b0a202069662028286f6666736574202520312920213d3d2030207c7c206f6666736574203c203029207468726f77206e65772052616e67654572726f7228276f6666736574206973206e6f742075696e7427290a2020696620286f6666736574202b20657874203e206c656e67746829207468726f77206e65772052616e67654572726f722827547279696e6720746f20616363657373206265796f6e6420627566666572206c656e67746827290a7d0a0a4275666665722e70726f746f747970652e7265616455496e744c45203d2066756e6374696f6e207265616455496e744c4520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722076616c203d20746869735b6f66667365745d0a2020766172206d756c203d20310a20207661722069203d20300a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b20695d202a206d756c0a20207d0a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e7265616455496e744245203d2066756e6374696f6e207265616455496e74424520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a20207d0a0a20207661722076616c203d20746869735b6f6666736574202b202d2d627974654c656e6774685d0a2020766172206d756c203d20310a20207768696c652028627974654c656e677468203e203020262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b202d2d627974654c656e6774685d202a206d756c0a20207d0a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7438203d2066756e6374696f6e207265616455496e743820286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20312c20746869732e6c656e677468290a202072657475726e20746869735b6f66667365745d0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7431364c45203d2066756e6374696f6e207265616455496e7431364c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a202072657475726e20746869735b6f66667365745d207c2028746869735b6f6666736574202b20315d203c3c2038290a7d0a0a4275666665722e70726f746f747970652e7265616455496e7431364245203d2066756e6374696f6e207265616455496e743136424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a202072657475726e2028746869735b6f66667365745d203c3c203829207c20746869735b6f6666736574202b20315d0a7d0a0a4275666665722e70726f746f747970652e7265616455496e7433324c45203d2066756e6374696f6e207265616455496e7433324c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e202828746869735b6f66667365745d29207c0a20202020202028746869735b6f6666736574202b20315d203c3c203829207c0a20202020202028746869735b6f6666736574202b20325d203c3c2031362929202b0a20202020202028746869735b6f6666736574202b20335d202a20307831303030303030290a7d0a0a4275666665722e70726f746f747970652e7265616455496e7433324245203d2066756e6374696f6e207265616455496e743332424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d202a2030783130303030303029202b0a202020202828746869735b6f6666736574202b20315d203c3c20313629207c0a2020202028746869735b6f6666736574202b20325d203c3c203829207c0a20202020746869735b6f6666736574202b20335d290a7d0a0a4275666665722e70726f746f747970652e72656164496e744c45203d2066756e6374696f6e2072656164496e744c4520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722076616c203d20746869735b6f66667365745d0a2020766172206d756c203d20310a20207661722069203d20300a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b20695d202a206d756c0a20207d0a20206d756c202a3d20307838300a0a20206966202876616c203e3d206d756c292076616c202d3d204d6174682e706f7728322c2038202a20627974654c656e677468290a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e744245203d2066756e6374696f6e2072656164496e74424520286f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20627974654c656e6774682c20746869732e6c656e677468290a0a20207661722069203d20627974654c656e6774680a2020766172206d756c203d20310a20207661722076616c203d20746869735b6f6666736574202b202d2d695d0a20207768696c65202869203e203020262620286d756c202a3d2030783130302929207b0a2020202076616c202b3d20746869735b6f6666736574202b202d2d695d202a206d756c0a20207d0a20206d756c202a3d20307838300a0a20206966202876616c203e3d206d756c292076616c202d3d204d6174682e706f7728322c2038202a20627974654c656e677468290a0a202072657475726e2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7438203d2066756e6374696f6e2072656164496e743820286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20312c20746869732e6c656e677468290a2020696620282128746869735b6f66667365745d2026203078383029292072657475726e2028746869735b6f66667365745d290a202072657475726e20282830786666202d20746869735b6f66667365745d202b203129202a202d31290a7d0a0a4275666665722e70726f746f747970652e72656164496e7431364c45203d2066756e6374696f6e2072656164496e7431364c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a20207661722076616c203d20746869735b6f66667365745d207c2028746869735b6f6666736574202b20315d203c3c2038290a202072657475726e202876616c20262030783830303029203f2076616c207c2030784646464630303030203a2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7431364245203d2066756e6374696f6e2072656164496e743136424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20322c20746869732e6c656e677468290a20207661722076616c203d20746869735b6f6666736574202b20315d207c2028746869735b6f66667365745d203c3c2038290a202072657475726e202876616c20262030783830303029203f2076616c207c2030784646464630303030203a2076616c0a7d0a0a4275666665722e70726f746f747970652e72656164496e7433324c45203d2066756e6374696f6e2072656164496e7433324c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d29207c0a2020202028746869735b6f6666736574202b20315d203c3c203829207c0a2020202028746869735b6f6666736574202b20325d203c3c20313629207c0a2020202028746869735b6f6666736574202b20335d203c3c203234290a7d0a0a4275666665722e70726f746f747970652e72656164496e7433324245203d2066756e6374696f6e2072656164496e743332424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a0a202072657475726e2028746869735b6f66667365745d203c3c20323429207c0a2020202028746869735b6f6666736574202b20315d203c3c20313629207c0a2020202028746869735b6f6666736574202b20325d203c3c203829207c0a2020202028746869735b6f6666736574202b20335d290a7d0a0a4275666665722e70726f746f747970652e72656164466c6f61744c45203d2066756e6374696f6e2072656164466c6f61744c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c20747275652c2032332c2034290a7d0a0a4275666665722e70726f746f747970652e72656164466c6f61744245203d2066756e6374696f6e2072656164466c6f6174424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20342c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c2066616c73652c2032332c2034290a7d0a0a4275666665722e70726f746f747970652e72656164446f75626c654c45203d2066756e6374696f6e2072656164446f75626c654c4520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20382c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c20747275652c2035322c2038290a7d0a0a4275666665722e70726f746f747970652e72656164446f75626c654245203d2066756e6374696f6e2072656164446f75626c65424520286f66667365742c206e6f41737365727429207b0a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b4f6666736574286f66667365742c20382c20746869732e6c656e677468290a202072657475726e20696565653735342e7265616428746869732c206f66667365742c2066616c73652c2035322c2038290a7d0a0a66756e6374696f6e20636865636b496e7420286275662c2076616c75652c206f66667365742c206578742c206d61782c206d696e29207b0a202069662028214275666665722e6973427566666572286275662929207468726f77206e657720547970654572726f722827226275666665722220617267756d656e74206d75737420626520612042756666657220696e7374616e636527290a20206966202876616c7565203e206d6178207c7c2076616c7565203c206d696e29207468726f77206e65772052616e67654572726f7228272276616c75652220617267756d656e74206973206f7574206f6620626f756e647327290a2020696620286f6666736574202b20657874203e206275662e6c656e67746829207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a7d0a0a4275666665722e70726f746f747970652e777269746555496e744c45203d2066756e6374696f6e20777269746555496e744c45202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206d61784279746573203d204d6174682e706f7728322c2038202a20627974654c656e67746829202d20310a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206d617842797465732c2030290a20207d0a0a2020766172206d756c203d20310a20207661722069203d20300a2020746869735b6f66667365745d203d2076616c7565202620307846460a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a20202020746869735b6f6666736574202b20695d203d202876616c7565202f206d756c29202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e777269746555496e744245203d2066756e6374696f6e20777269746555496e744245202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a2020627974654c656e677468203d20627974654c656e677468203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206d61784279746573203d204d6174682e706f7728322c2038202a20627974654c656e67746829202d20310a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206d617842797465732c2030290a20207d0a0a20207661722069203d20627974654c656e677468202d20310a2020766172206d756c203d20310a2020746869735b6f6666736574202b20695d203d2076616c7565202620307846460a20207768696c6520282d2d69203e3d203020262620286d756c202a3d2030783130302929207b0a20202020746869735b6f6666736574202b20695d203d202876616c7565202f206d756c29202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e777269746555496e7438203d2066756e6374696f6e20777269746555496e7438202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20312c20307866662c2030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20310a7d0a0a4275666665722e70726f746f747970652e777269746555496e7431364c45203d2066756e6374696f6e20777269746555496e7431364c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078666666662c2030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e777269746555496e7431364245203d2066756e6374696f6e20777269746555496e7431364245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078666666662c2030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20315d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e777269746555496e7433324c45203d2066756e6374696f6e20777269746555496e7433324c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307866666666666666662c2030290a2020746869735b6f6666736574202b20335d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e777269746555496e7433324245203d2066756e6374696f6e20777269746555496e7433324245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307866666666666666662c2030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20335d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465496e744c45203d2066756e6374696f6e207772697465496e744c45202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206c696d6974203d204d6174682e706f7728322c202838202a20627974654c656e67746829202d2031290a0a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206c696d6974202d20312c202d6c696d6974290a20207d0a0a20207661722069203d20300a2020766172206d756c203d20310a202076617220737562203d20300a2020746869735b6f66667365745d203d2076616c7565202620307846460a20207768696c6520282b2b69203c20627974654c656e67746820262620286d756c202a3d2030783130302929207b0a202020206966202876616c7565203c203020262620737562203d3d3d203020262620746869735b6f6666736574202b2069202d20315d20213d3d203029207b0a202020202020737562203d20310a202020207d0a20202020746869735b6f6666736574202b20695d203d20282876616c7565202f206d756c29203e3e203029202d20737562202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e7772697465496e744245203d2066756e6374696f6e207772697465496e744245202876616c75652c206f66667365742c20627974654c656e6774682c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020766172206c696d6974203d204d6174682e706f7728322c202838202a20627974654c656e67746829202d2031290a0a20202020636865636b496e7428746869732c2076616c75652c206f66667365742c20627974654c656e6774682c206c696d6974202d20312c202d6c696d6974290a20207d0a0a20207661722069203d20627974654c656e677468202d20310a2020766172206d756c203d20310a202076617220737562203d20300a2020746869735b6f6666736574202b20695d203d2076616c7565202620307846460a20207768696c6520282d2d69203e3d203020262620286d756c202a3d2030783130302929207b0a202020206966202876616c7565203c203020262620737562203d3d3d203020262620746869735b6f6666736574202b2069202b20315d20213d3d203029207b0a202020202020737562203d20310a202020207d0a20202020746869735b6f6666736574202b20695d203d20282876616c7565202f206d756c29203e3e203029202d20737562202620307846460a20207d0a0a202072657475726e206f6666736574202b20627974654c656e6774680a7d0a0a4275666665722e70726f746f747970652e7772697465496e7438203d2066756e6374696f6e207772697465496e7438202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20312c20307837662c202d30783830290a20206966202876616c7565203c2030292076616c7565203d2030786666202b2076616c7565202b20310a2020746869735b6f66667365745d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20310a7d0a0a4275666665722e70726f746f747970652e7772697465496e7431364c45203d2066756e6374696f6e207772697465496e7431364c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078376666662c202d307838303030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e7772697465496e7431364245203d2066756e6374696f6e207772697465496e7431364245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20322c203078376666662c202d307838303030290a2020746869735b6f66667365745d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20315d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20320a7d0a0a4275666665722e70726f746f747970652e7772697465496e7433324c45203d2066756e6374696f6e207772697465496e7433324c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307837666666666666662c202d30783830303030303030290a2020746869735b6f66667365745d203d202876616c756520262030786666290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20335d203d202876616c7565203e3e3e203234290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465496e7433324245203d2066756e6374696f6e207772697465496e7433324245202876616c75652c206f66667365742c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f4173736572742920636865636b496e7428746869732c2076616c75652c206f66667365742c20342c20307837666666666666662c202d30783830303030303030290a20206966202876616c7565203c2030292076616c7565203d2030786666666666666666202b2076616c7565202b20310a2020746869735b6f66667365745d203d202876616c7565203e3e3e203234290a2020746869735b6f6666736574202b20315d203d202876616c7565203e3e3e203136290a2020746869735b6f6666736574202b20325d203d202876616c7565203e3e3e2038290a2020746869735b6f6666736574202b20335d203d202876616c756520262030786666290a202072657475726e206f6666736574202b20340a7d0a0a66756e6374696f6e20636865636b4945454537353420286275662c2076616c75652c206f66667365742c206578742c206d61782c206d696e29207b0a2020696620286f6666736574202b20657874203e206275662e6c656e67746829207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a2020696620286f6666736574203c203029207468726f77206e65772052616e67654572726f722827496e646578206f7574206f662072616e676527290a7d0a0a66756e6374696f6e207772697465466c6f617420286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b49454545373534286275662c2076616c75652c206f66667365742c20342c20332e34303238323334363633383532383836652b33382c202d332e34303238323334363633383532383836652b3338290a20207d0a2020696565653735342e7772697465286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c2032332c2034290a202072657475726e206f6666736574202b20340a7d0a0a4275666665722e70726f746f747970652e7772697465466c6f61744c45203d2066756e6374696f6e207772697465466c6f61744c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465466c6f617428746869732c2076616c75652c206f66667365742c20747275652c206e6f417373657274290a7d0a0a4275666665722e70726f746f747970652e7772697465466c6f61744245203d2066756e6374696f6e207772697465466c6f61744245202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465466c6f617428746869732c2076616c75652c206f66667365742c2066616c73652c206e6f417373657274290a7d0a0a66756e6374696f6e207772697465446f75626c6520286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c206e6f41737365727429207b0a202076616c7565203d202b76616c75650a20206f6666736574203d206f6666736574203e3e3e20300a202069662028216e6f41737365727429207b0a20202020636865636b49454545373534286275662c2076616c75652c206f66667365742c20382c20312e37393736393331333438363233313537452b3330382c202d312e37393736393331333438363233313537452b333038290a20207d0a2020696565653735342e7772697465286275662c2076616c75652c206f66667365742c206c6974746c65456e6469616e2c2035322c2038290a202072657475726e206f6666736574202b20380a7d0a0a4275666665722e70726f746f747970652e7772697465446f75626c654c45203d2066756e6374696f6e207772697465446f75626c654c45202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465446f75626c6528746869732c2076616c75652c206f66667365742c20747275652c206e6f417373657274290a7d0a0a4275666665722e70726f746f747970652e7772697465446f75626c654245203d2066756e6374696f6e207772697465446f75626c654245202876616c75652c206f66667365742c206e6f41737365727429207b0a202072657475726e207772697465446f75626c6528746869732c2076616c75652c206f66667365742c2066616c73652c206e6f417373657274290a7d0a0a2f2f20636f7079287461726765744275666665722c2074617267657453746172743d302c20736f7572636553746172743d302c20736f75726365456e643d6275666665722e6c656e677468290a4275666665722e70726f746f747970652e636f7079203d2066756e6374696f6e20636f707920287461726765742c2074617267657453746172742c2073746172742c20656e6429207b0a20206966202821737461727429207374617274203d20300a20206966202821656e6420262620656e6420213d3d20302920656e64203d20746869732e6c656e6774680a2020696620287461726765745374617274203e3d207461726765742e6c656e67746829207461726765745374617274203d207461726765742e6c656e6774680a20206966202821746172676574537461727429207461726765745374617274203d20300a202069662028656e64203e203020262620656e64203c2073746172742920656e64203d2073746172740a0a20202f2f20436f707920302062797465733b20776527726520646f6e650a202069662028656e64203d3d3d207374617274292072657475726e20300a2020696620287461726765742e6c656e677468203d3d3d2030207c7c20746869732e6c656e677468203d3d3d2030292072657475726e20300a0a20202f2f20466174616c206572726f7220636f6e646974696f6e730a2020696620287461726765745374617274203c203029207b0a202020207468726f77206e65772052616e67654572726f7228277461726765745374617274206f7574206f6620626f756e647327290a20207d0a2020696620287374617274203c2030207c7c207374617274203e3d20746869732e6c656e67746829207468726f77206e65772052616e67654572726f722827736f757263655374617274206f7574206f6620626f756e647327290a202069662028656e64203c203029207468726f77206e65772052616e67654572726f722827736f75726365456e64206f7574206f6620626f756e647327290a0a20202f2f20417265207765206f6f623f0a202069662028656e64203e20746869732e6c656e6774682920656e64203d20746869732e6c656e6774680a2020696620287461726765742e6c656e677468202d207461726765745374617274203c20656e64202d20737461727429207b0a20202020656e64203d207461726765742e6c656e677468202d207461726765745374617274202b2073746172740a20207d0a0a2020766172206c656e203d20656e64202d2073746172740a202076617220690a0a20206966202874686973203d3d3d20746172676574202626207374617274203c207461726765745374617274202626207461726765745374617274203c20656e6429207b0a202020202f2f2064657363656e64696e6720636f70792066726f6d20656e640a20202020666f72202869203d206c656e202d20313b2069203e3d20303b202d2d6929207b0a2020202020207461726765745b69202b2074617267657453746172745d203d20746869735b69202b2073746172745d0a202020207d0a20207d20656c736520696620286c656e203c203130303029207b0a202020202f2f20617363656e64696e6720636f70792066726f6d2073746172740a20202020666f72202869203d20303b2069203c206c656e3b202b2b6929207b0a2020202020207461726765745b69202b2074617267657453746172745d203d20746869735b69202b2073746172745d0a202020207d0a20207d20656c7365207b0a2020202055696e743841727261792e70726f746f747970652e7365742e63616c6c280a2020202020207461726765742c0a202020202020746869732e73756261727261792873746172742c207374617274202b206c656e292c0a20202020202074617267657453746172740a20202020290a20207d0a0a202072657475726e206c656e0a7d0a0a2f2f2055736167653a0a2f2f202020206275666665722e66696c6c286e756d6265725b2c206f66667365745b2c20656e645d5d290a2f2f202020206275666665722e66696c6c286275666665725b2c206f66667365745b2c20656e645d5d290a2f2f202020206275666665722e66696c6c28737472696e675b2c206f66667365745b2c20656e645d5d5b2c20656e636f64696e675d290a4275666665722e70726f746f747970652e66696c6c203d2066756e6374696f6e2066696c6c202876616c2c2073746172742c20656e642c20656e636f64696e6729207b0a20202f2f2048616e646c6520737472696e672063617365733a0a202069662028747970656f662076616c203d3d3d2027737472696e672729207b0a2020202069662028747970656f66207374617274203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d2073746172740a2020202020207374617274203d20300a202020202020656e64203d20746869732e6c656e6774680a202020207d20656c73652069662028747970656f6620656e64203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d20656e640a202020202020656e64203d20746869732e6c656e6774680a202020207d0a202020206966202876616c2e6c656e677468203d3d3d203129207b0a20202020202076617220636f6465203d2076616c2e63686172436f646541742830290a20202020202069662028636f6465203c2032353629207b0a202020202020202076616c203d20636f64650a2020202020207d0a202020207d0a2020202069662028656e636f64696e6720213d3d20756e646566696e656420262620747970656f6620656e636f64696e6720213d3d2027737472696e672729207b0a2020202020207468726f77206e657720547970654572726f722827656e636f64696e67206d757374206265206120737472696e6727290a202020207d0a2020202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e672720262620214275666665722e6973456e636f64696e6728656e636f64696e672929207b0a2020202020207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67290a202020207d0a20207d20656c73652069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a2020202076616c203d2076616c2026203235350a20207d0a0a20202f2f20496e76616c69642072616e67657320617265206e6f742073657420746f20612064656661756c742c20736f2063616e2072616e676520636865636b206561726c792e0a2020696620287374617274203c2030207c7c20746869732e6c656e677468203c207374617274207c7c20746869732e6c656e677468203c20656e6429207b0a202020207468726f77206e65772052616e67654572726f7228274f7574206f662072616e676520696e64657827290a20207d0a0a202069662028656e64203c3d20737461727429207b0a2020202072657475726e20746869730a20207d0a0a20207374617274203d207374617274203e3e3e20300a2020656e64203d20656e64203d3d3d20756e646566696e6564203f20746869732e6c656e677468203a20656e64203e3e3e20300a0a2020696620282176616c292076616c203d20300a0a202076617220690a202069662028747970656f662076616c203d3d3d20276e756d6265722729207b0a20202020666f72202869203d2073746172743b2069203c20656e643b202b2b6929207b0a202020202020746869735b695d203d2076616c0a202020207d0a20207d20656c7365207b0a20202020766172206279746573203d204275666665722e69734275666665722876616c290a2020202020203f2076616c0a2020202020203a206e6577204275666665722876616c2c20656e636f64696e67290a20202020766172206c656e203d2062797465732e6c656e6774680a20202020666f72202869203d20303b2069203c20656e64202d2073746172743b202b2b6929207b0a202020202020746869735b69202b2073746172745d203d2062797465735b692025206c656e5d0a202020207d0a20207d0a0a202072657475726e20746869730a7d0a0a2f2f2048454c5045522046554e4354494f4e530a2f2f203d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a76617220494e56414c49445f4241534536345f5245203d202f5b5e2b2f302d39412d5a612d7a2d5f5d2f670a0a66756e6374696f6e20626173653634636c65616e202873747229207b0a20202f2f204e6f646520737472697073206f757420696e76616c69642063686172616374657273206c696b65205c6e20616e64205c742066726f6d2074686520737472696e672c206261736536342d6a7320646f6573206e6f740a2020737472203d207374722e7472696d28292e7265706c61636528494e56414c49445f4241534536345f52452c202727290a20202f2f204e6f646520636f6e766572747320737472696e67732077697468206c656e677468203c203220746f2027270a2020696620287374722e6c656e677468203c2032292072657475726e2027270a20202f2f204e6f646520616c6c6f777320666f72206e6f6e2d7061646465642062617365363420737472696e677320286d697373696e6720747261696c696e67203d3d3d292c206261736536342d6a7320646f6573206e6f740a20207768696c6520287374722e6c656e6774682025203420213d3d203029207b0a20202020737472203d20737472202b20273d270a20207d0a202072657475726e207374720a7d0a0a66756e6374696f6e20746f48657820286e29207b0a2020696620286e203c203136292072657475726e20273027202b206e2e746f537472696e67283136290a202072657475726e206e2e746f537472696e67283136290a7d0a0a66756e6374696f6e2075746638546f42797465732028737472696e672c20756e69747329207b0a2020756e697473203d20756e697473207c7c20496e66696e6974790a202076617220636f6465506f696e740a2020766172206c656e677468203d20737472696e672e6c656e6774680a2020766172206c656164537572726f67617465203d206e756c6c0a2020766172206279746573203d205b5d0a0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a20202020636f6465506f696e74203d20737472696e672e63686172436f646541742869290a0a202020202f2f20697320737572726f6761746520636f6d706f6e656e740a2020202069662028636f6465506f696e74203e2030784437464620262620636f6465506f696e74203c2030784530303029207b0a2020202020202f2f206c6173742063686172207761732061206c6561640a20202020202069662028216c656164537572726f6761746529207b0a20202020202020202f2f206e6f206c656164207965740a202020202020202069662028636f6465506f696e74203e2030784442464629207b0a202020202020202020202f2f20756e657870656374656420747261696c0a202020202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020202020636f6e74696e75650a20202020202020207d20656c7365206966202869202b2031203d3d3d206c656e67746829207b0a202020202020202020202f2f20756e706169726564206c6561640a202020202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020202020636f6e74696e75650a20202020202020207d0a0a20202020202020202f2f2076616c6964206c6561640a20202020202020206c656164537572726f67617465203d20636f6465506f696e740a0a2020202020202020636f6e74696e75650a2020202020207d0a0a2020202020202f2f2032206c6561647320696e206120726f770a20202020202069662028636f6465506f696e74203c2030784443303029207b0a20202020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a20202020202020206c656164537572726f67617465203d20636f6465506f696e740a2020202020202020636f6e74696e75650a2020202020207d0a0a2020202020202f2f2076616c696420737572726f6761746520706169720a202020202020636f6465506f696e74203d20286c656164537572726f67617465202d20307844383030203c3c203130207c20636f6465506f696e74202d2030784443303029202b20307831303030300a202020207d20656c736520696620286c656164537572726f6761746529207b0a2020202020202f2f2076616c696420626d7020636861722c20627574206c6173742063686172207761732061206c6561640a2020202020206966202828756e697473202d3d203329203e202d31292062797465732e7075736828307845462c20307842462c2030784244290a202020207d0a0a202020206c656164537572726f67617465203d206e756c6c0a0a202020202f2f20656e636f646520757466380a2020202069662028636f6465506f696e74203c203078383029207b0a2020202020206966202828756e697473202d3d203129203c20302920627265616b0a20202020202062797465732e7075736828636f6465506f696e74290a202020207d20656c73652069662028636f6465506f696e74203c20307838303029207b0a2020202020206966202828756e697473202d3d203229203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e20307836207c20307843302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c73652069662028636f6465506f696e74203c203078313030303029207b0a2020202020206966202828756e697473202d3d203329203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e20307843207c20307845302c0a2020202020202020636f6465506f696e74203e3e2030783620262030783346207c20307838302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c73652069662028636f6465506f696e74203c20307831313030303029207b0a2020202020206966202828756e697473202d3d203429203c20302920627265616b0a20202020202062797465732e70757368280a2020202020202020636f6465506f696e74203e3e2030783132207c20307846302c0a2020202020202020636f6465506f696e74203e3e2030784320262030783346207c20307838302c0a2020202020202020636f6465506f696e74203e3e2030783620262030783346207c20307838302c0a2020202020202020636f6465506f696e7420262030783346207c20307838300a202020202020290a202020207d20656c7365207b0a2020202020207468726f77206e6577204572726f722827496e76616c696420636f646520706f696e7427290a202020207d0a20207d0a0a202072657475726e2062797465730a7d0a0a66756e6374696f6e206173636969546f4279746573202873747229207b0a202076617220627974654172726179203d205b5d0a2020666f7220287661722069203d20303b2069203c207374722e6c656e6774683b202b2b6929207b0a202020202f2f204e6f6465277320636f6465207365656d7320746f20626520646f696e67207468697320616e64206e6f74202620307837462e2e0a202020206279746541727261792e70757368287374722e63686172436f6465417428692920262030784646290a20207d0a202072657475726e206279746541727261790a7d0a0a66756e6374696f6e2075746631366c65546f427974657320287374722c20756e69747329207b0a202076617220632c2068692c206c6f0a202076617220627974654172726179203d205b5d0a2020666f7220287661722069203d20303b2069203c207374722e6c656e6774683b202b2b6929207b0a202020206966202828756e697473202d3d203229203c20302920627265616b0a0a2020202063203d207374722e63686172436f646541742869290a202020206869203d2063203e3e20380a202020206c6f203d20632025203235360a202020206279746541727261792e70757368286c6f290a202020206279746541727261792e70757368286869290a20207d0a0a202072657475726e206279746541727261790a7d0a0a66756e6374696f6e20626173653634546f4279746573202873747229207b0a202072657475726e206261736536342e746f42797465417272617928626173653634636c65616e2873747229290a7d0a0a66756e6374696f6e20626c697442756666657220287372632c206473742c206f66667365742c206c656e67746829207b0a2020666f7220287661722069203d20303b2069203c206c656e6774683b202b2b6929207b0a20202020696620282869202b206f6666736574203e3d206473742e6c656e67746829207c7c202869203e3d207372632e6c656e677468292920627265616b0a202020206473745b69202b206f66667365745d203d207372635b695d0a20207d0a202072657475726e20690a7d0a0a2f2f204172726179427566666572732066726f6d20616e6f7468657220636f6e746578742028692e652e20616e20696672616d652920646f206e6f742070617373207468652060696e7374616e63656f666020636865636b0a2f2f2062757420746865792073686f756c6420626520747265617465642061732076616c69642e205365653a2068747470733a2f2f6769746875622e636f6d2f6665726f73732f6275666665722f6973737565732f3136360a66756e6374696f6e206973417272617942756666657220286f626a29207b0a202072657475726e206f626a20696e7374616e63656f66204172726179427566666572207c7c0a20202020286f626a20213d206e756c6c202626206f626a2e636f6e7374727563746f7220213d206e756c6c202626206f626a2e636f6e7374727563746f722e6e616d65203d3d3d20274172726179427566666572272026260a202020202020747970656f66206f626a2e627974654c656e677468203d3d3d20276e756d62657227290a7d0a0a2f2f204e6f646520302e313020737570706f727473206041727261794275666665726020627574206c61636b73206041727261794275666665722e697356696577600a66756e6374696f6e20697341727261794275666665725669657720286f626a29207b0a202072657475726e2028747970656f662041727261794275666665722e697356696577203d3d3d202766756e6374696f6e27292026262041727261794275666665722e697356696577286f626a290a7d0a0a66756e6374696f6e206e756d62657249734e614e20286f626a29207b0a202072657475726e206f626a20213d3d206f626a202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d73656c662d636f6d706172650a7d0a0a7d2c7b226261736536342d6a73223a33312c2269656565373534223a3132307d5d2c33333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a66756e6374696f6e204576656e74456d69747465722829207b0a2020746869732e5f6576656e7473203d20746869732e5f6576656e7473207c7c207b7d3b0a2020746869732e5f6d61784c697374656e657273203d20746869732e5f6d61784c697374656e657273207c7c20756e646566696e65643b0a7d0a6d6f64756c652e6578706f727473203d204576656e74456d69747465723b0a0a2f2f204261636b77617264732d636f6d7061742077697468206e6f646520302e31302e780a4576656e74456d69747465722e4576656e74456d6974746572203d204576656e74456d69747465723b0a0a4576656e74456d69747465722e70726f746f747970652e5f6576656e7473203d20756e646566696e65643b0a4576656e74456d69747465722e70726f746f747970652e5f6d61784c697374656e657273203d20756e646566696e65643b0a0a2f2f2042792064656661756c74204576656e74456d6974746572732077696c6c207072696e742061207761726e696e67206966206d6f7265207468616e203130206c697374656e657273206172650a2f2f20616464656420746f2069742e205468697320697320612075736566756c2064656661756c742077686963682068656c70732066696e64696e67206d656d6f7279206c65616b732e0a4576656e74456d69747465722e64656661756c744d61784c697374656e657273203d2031303b0a0a2f2f204f6276696f75736c79206e6f7420616c6c20456d6974746572732073686f756c64206265206c696d6974656420746f2031302e20546869732066756e6374696f6e20616c6c6f77730a2f2f207468617420746f20626520696e637265617365642e2053657420746f207a65726f20666f7220756e6c696d697465642e0a4576656e74456d69747465722e70726f746f747970652e7365744d61784c697374656e657273203d2066756e6374696f6e286e29207b0a2020696620282169734e756d626572286e29207c7c206e203c2030207c7c2069734e614e286e29290a202020207468726f7720547970654572726f7228276e206d757374206265206120706f736974697665206e756d62657227293b0a2020746869732e5f6d61784c697374656e657273203d206e3b0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e656d6974203d2066756e6374696f6e287479706529207b0a20207661722065722c2068616e646c65722c206c656e2c20617267732c20692c206c697374656e6572733b0a0a20206966202821746869732e5f6576656e7473290a20202020746869732e5f6576656e7473203d207b7d3b0a0a20202f2f204966207468657265206973206e6f20276572726f7227206576656e74206c697374656e6572207468656e207468726f772e0a20206966202874797065203d3d3d20276572726f722729207b0a202020206966202821746869732e5f6576656e74732e6572726f72207c7c0a20202020202020202869734f626a65637428746869732e5f6576656e74732e6572726f72292026262021746869732e5f6576656e74732e6572726f722e6c656e6774682929207b0a2020202020206572203d20617267756d656e74735b315d3b0a20202020202069662028657220696e7374616e63656f66204572726f7229207b0a20202020202020207468726f772065723b202f2f20556e68616e646c656420276572726f7227206576656e740a2020202020207d20656c7365207b0a20202020202020202f2f204174206c65617374206769766520736f6d65206b696e64206f6620636f6e7465787420746f2074686520757365720a202020202020202076617220657272203d206e6577204572726f722827556e6361756768742c20756e73706563696669656420226572726f7222206576656e742e202827202b206572202b20272927293b0a20202020202020206572722e636f6e74657874203d2065723b0a20202020202020207468726f77206572723b0a2020202020207d0a202020207d0a20207d0a0a202068616e646c6572203d20746869732e5f6576656e74735b747970655d3b0a0a2020696620286973556e646566696e65642868616e646c657229290a2020202072657475726e2066616c73653b0a0a202069662028697346756e6374696f6e2868616e646c65722929207b0a202020207377697463682028617267756d656e74732e6c656e67746829207b0a2020202020202f2f20666173742063617365730a2020202020206361736520313a0a202020202020202068616e646c65722e63616c6c2874686973293b0a2020202020202020627265616b3b0a2020202020206361736520323a0a202020202020202068616e646c65722e63616c6c28746869732c20617267756d656e74735b315d293b0a2020202020202020627265616b3b0a2020202020206361736520333a0a202020202020202068616e646c65722e63616c6c28746869732c20617267756d656e74735b315d2c20617267756d656e74735b325d293b0a2020202020202020627265616b3b0a2020202020202f2f20736c6f7765720a20202020202064656661756c743a0a202020202020202061726773203d2041727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e74732c2031293b0a202020202020202068616e646c65722e6170706c7928746869732c2061726773293b0a202020207d0a20207d20656c7365206966202869734f626a6563742868616e646c65722929207b0a2020202061726773203d2041727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e74732c2031293b0a202020206c697374656e657273203d2068616e646c65722e736c69636528293b0a202020206c656e203d206c697374656e6572732e6c656e6774683b0a20202020666f72202869203d20303b2069203c206c656e3b20692b2b290a2020202020206c697374656e6572735b695d2e6170706c7928746869732c2061726773293b0a20207d0a0a202072657475726e20747275653b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6164644c697374656e6572203d2066756e6374696f6e28747970652c206c697374656e657229207b0a2020766172206d3b0a0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a20206966202821746869732e5f6576656e7473290a20202020746869732e5f6576656e7473203d207b7d3b0a0a20202f2f20546f2061766f696420726563757273696f6e20696e20746865206361736520746861742074797065203d3d3d20226e65774c697374656e65722221204265666f72650a20202f2f20616464696e6720697420746f20746865206c697374656e6572732c20666972737420656d697420226e65774c697374656e6572222e0a202069662028746869732e5f6576656e74732e6e65774c697374656e6572290a20202020746869732e656d697428276e65774c697374656e6572272c20747970652c0a2020202020202020202020202020697346756e6374696f6e286c697374656e65722e6c697374656e657229203f0a20202020202020202020202020206c697374656e65722e6c697374656e6572203a206c697374656e6572293b0a0a20206966202821746869732e5f6576656e74735b747970655d290a202020202f2f204f7074696d697a65207468652063617365206f66206f6e65206c697374656e65722e20446f6e2774206e65656420746865206578747261206172726179206f626a6563742e0a20202020746869732e5f6576656e74735b747970655d203d206c697374656e65723b0a2020656c7365206966202869734f626a65637428746869732e5f6576656e74735b747970655d29290a202020202f2f20496620776527766520616c726561647920676f7420616e2061727261792c206a75737420617070656e642e0a20202020746869732e5f6576656e74735b747970655d2e70757368286c697374656e6572293b0a2020656c73650a202020202f2f20416464696e6720746865207365636f6e6420656c656d656e742c206e65656420746f206368616e676520746f2061727261792e0a20202020746869732e5f6576656e74735b747970655d203d205b746869732e5f6576656e74735b747970655d2c206c697374656e65725d3b0a0a20202f2f20436865636b20666f72206c697374656e6572206c65616b0a20206966202869734f626a65637428746869732e5f6576656e74735b747970655d292026262021746869732e5f6576656e74735b747970655d2e7761726e656429207b0a2020202069662028216973556e646566696e656428746869732e5f6d61784c697374656e6572732929207b0a2020202020206d203d20746869732e5f6d61784c697374656e6572733b0a202020207d20656c7365207b0a2020202020206d203d204576656e74456d69747465722e64656661756c744d61784c697374656e6572733b0a202020207d0a0a20202020696620286d202626206d203e203020262620746869732e5f6576656e74735b747970655d2e6c656e677468203e206d29207b0a202020202020746869732e5f6576656e74735b747970655d2e7761726e6564203d20747275653b0a202020202020636f6e736f6c652e6572726f722827286e6f646529207761726e696e673a20706f737369626c65204576656e74456d6974746572206d656d6f72792027202b0a2020202020202020202020202020202020202020276c65616b2064657465637465642e202564206c697374656e6572732061646465642e2027202b0a20202020202020202020202020202020202020202755736520656d69747465722e7365744d61784c697374656e657273282920746f20696e637265617365206c696d69742e272c0a2020202020202020202020202020202020202020746869732e5f6576656e74735b747970655d2e6c656e677468293b0a20202020202069662028747970656f6620636f6e736f6c652e7472616365203d3d3d202766756e6374696f6e2729207b0a20202020202020202f2f206e6f7420737570706f7274656420696e2049452031300a2020202020202020636f6e736f6c652e747261636528293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6f6e203d204576656e74456d69747465722e70726f746f747970652e6164644c697374656e65723b0a0a4576656e74456d69747465722e70726f746f747970652e6f6e6365203d2066756e6374696f6e28747970652c206c697374656e657229207b0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a2020766172206669726564203d2066616c73653b0a0a202066756e6374696f6e20672829207b0a20202020746869732e72656d6f76654c697374656e657228747970652c2067293b0a0a202020206966202821666972656429207b0a2020202020206669726564203d20747275653b0a2020202020206c697374656e65722e6170706c7928746869732c20617267756d656e7473293b0a202020207d0a20207d0a0a2020672e6c697374656e6572203d206c697374656e65723b0a2020746869732e6f6e28747970652c2067293b0a0a202072657475726e20746869733b0a7d3b0a0a2f2f20656d6974732061202772656d6f76654c697374656e657227206576656e742069666620746865206c697374656e6572207761732072656d6f7665640a4576656e74456d69747465722e70726f746f747970652e72656d6f76654c697374656e6572203d2066756e6374696f6e28747970652c206c697374656e657229207b0a2020766172206c6973742c20706f736974696f6e2c206c656e6774682c20693b0a0a20206966202821697346756e6374696f6e286c697374656e657229290a202020207468726f7720547970654572726f7228276c697374656e6572206d75737420626520612066756e6374696f6e27293b0a0a20206966202821746869732e5f6576656e7473207c7c2021746869732e5f6576656e74735b747970655d290a2020202072657475726e20746869733b0a0a20206c697374203d20746869732e5f6576656e74735b747970655d3b0a20206c656e677468203d206c6973742e6c656e6774683b0a2020706f736974696f6e203d202d313b0a0a2020696620286c697374203d3d3d206c697374656e6572207c7c0a20202020202028697346756e6374696f6e286c6973742e6c697374656e657229202626206c6973742e6c697374656e6572203d3d3d206c697374656e65722929207b0a2020202064656c65746520746869732e5f6576656e74735b747970655d3b0a2020202069662028746869732e5f6576656e74732e72656d6f76654c697374656e6572290a202020202020746869732e656d6974282772656d6f76654c697374656e6572272c20747970652c206c697374656e6572293b0a0a20207d20656c7365206966202869734f626a656374286c6973742929207b0a20202020666f72202869203d206c656e6774683b20692d2d203e20303b29207b0a202020202020696620286c6973745b695d203d3d3d206c697374656e6572207c7c0a20202020202020202020286c6973745b695d2e6c697374656e6572202626206c6973745b695d2e6c697374656e6572203d3d3d206c697374656e65722929207b0a2020202020202020706f736974696f6e203d20693b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028706f736974696f6e203c2030290a20202020202072657475726e20746869733b0a0a20202020696620286c6973742e6c656e677468203d3d3d203129207b0a2020202020206c6973742e6c656e677468203d20303b0a20202020202064656c65746520746869732e5f6576656e74735b747970655d3b0a202020207d20656c7365207b0a2020202020206c6973742e73706c69636528706f736974696f6e2c2031293b0a202020207d0a0a2020202069662028746869732e5f6576656e74732e72656d6f76654c697374656e6572290a202020202020746869732e656d6974282772656d6f76654c697374656e6572272c20747970652c206c697374656e6572293b0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e72656d6f7665416c6c4c697374656e657273203d2066756e6374696f6e287479706529207b0a2020766172206b65792c206c697374656e6572733b0a0a20206966202821746869732e5f6576656e7473290a2020202072657475726e20746869733b0a0a20202f2f206e6f74206c697374656e696e6720666f722072656d6f76654c697374656e65722c206e6f206e65656420746f20656d69740a20206966202821746869732e5f6576656e74732e72656d6f76654c697374656e657229207b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d2030290a202020202020746869732e5f6576656e7473203d207b7d3b0a20202020656c73652069662028746869732e5f6576656e74735b747970655d290a20202020202064656c65746520746869732e5f6576656e74735b747970655d3b0a2020202072657475726e20746869733b0a20207d0a0a20202f2f20656d69742072656d6f76654c697374656e657220666f7220616c6c206c697374656e657273206f6e20616c6c206576656e74730a202069662028617267756d656e74732e6c656e677468203d3d3d203029207b0a20202020666f7220286b657920696e20746869732e5f6576656e747329207b0a202020202020696620286b6579203d3d3d202772656d6f76654c697374656e6572272920636f6e74696e75653b0a202020202020746869732e72656d6f7665416c6c4c697374656e657273286b6579293b0a202020207d0a20202020746869732e72656d6f7665416c6c4c697374656e657273282772656d6f76654c697374656e657227293b0a20202020746869732e5f6576656e7473203d207b7d3b0a2020202072657475726e20746869733b0a20207d0a0a20206c697374656e657273203d20746869732e5f6576656e74735b747970655d3b0a0a202069662028697346756e6374696f6e286c697374656e6572732929207b0a20202020746869732e72656d6f76654c697374656e657228747970652c206c697374656e657273293b0a20207d20656c736520696620286c697374656e65727329207b0a202020202f2f204c49464f206f726465720a202020207768696c6520286c697374656e6572732e6c656e677468290a202020202020746869732e72656d6f76654c697374656e657228747970652c206c697374656e6572735b6c697374656e6572732e6c656e677468202d20315d293b0a20207d0a202064656c65746520746869732e5f6576656e74735b747970655d3b0a0a202072657475726e20746869733b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6c697374656e657273203d2066756e6374696f6e287479706529207b0a2020766172207265743b0a20206966202821746869732e5f6576656e7473207c7c2021746869732e5f6576656e74735b747970655d290a20202020726574203d205b5d3b0a2020656c73652069662028697346756e6374696f6e28746869732e5f6576656e74735b747970655d29290a20202020726574203d205b746869732e5f6576656e74735b747970655d5d3b0a2020656c73650a20202020726574203d20746869732e5f6576656e74735b747970655d2e736c69636528293b0a202072657475726e207265743b0a7d3b0a0a4576656e74456d69747465722e70726f746f747970652e6c697374656e6572436f756e74203d2066756e6374696f6e287479706529207b0a202069662028746869732e5f6576656e747329207b0a202020207661722065766c697374656e6572203d20746869732e5f6576656e74735b747970655d3b0a0a2020202069662028697346756e6374696f6e2865766c697374656e657229290a20202020202072657475726e20313b0a20202020656c7365206966202865766c697374656e6572290a20202020202072657475726e2065766c697374656e65722e6c656e6774683b0a20207d0a202072657475726e20303b0a7d3b0a0a4576656e74456d69747465722e6c697374656e6572436f756e74203d2066756e6374696f6e28656d69747465722c207479706529207b0a202072657475726e20656d69747465722e6c697374656e6572436f756e742874797065293b0a7d3b0a0a66756e6374696f6e20697346756e6374696f6e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202766756e6374696f6e273b0a7d0a0a66756e6374696f6e2069734e756d6265722861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276e756d626572273b0a7d0a0a66756e6374696f6e2069734f626a6563742861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a7d0a0a66756e6374696f6e206973556e646566696e65642861726729207b0a202072657475726e20617267203d3d3d20766f696420303b0a7d0a0a7d2c7b7d5d2c33343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a7661722068747470203d207265717569726528276874747027290a7661722075726c203d2072657175697265282775726c27290a0a766172206874747073203d206d6f64756c652e6578706f7274730a0a666f722028766172206b657920696e206874747029207b0a202069662028687474702e6861734f776e50726f7065727479286b657929292068747470735b6b65795d203d20687474705b6b65795d0a7d0a0a68747470732e72657175657374203d2066756e6374696f6e2028706172616d732c20636229207b0a2020706172616d73203d2076616c6964617465506172616d7328706172616d73290a202072657475726e20687474702e726571756573742e63616c6c28746869732c20706172616d732c206362290a7d0a0a68747470732e676574203d2066756e6374696f6e2028706172616d732c20636229207b0a2020706172616d73203d2076616c6964617465506172616d7328706172616d73290a202072657475726e20687474702e6765742e63616c6c28746869732c20706172616d732c206362290a7d0a0a66756e6374696f6e2076616c6964617465506172616d732028706172616d7329207b0a202069662028747970656f6620706172616d73203d3d3d2027737472696e672729207b0a20202020706172616d73203d2075726c2e706172736528706172616d73290a20207d0a20206966202821706172616d732e70726f746f636f6c29207b0a20202020706172616d732e70726f746f636f6c203d202768747470733a270a20207d0a202069662028706172616d732e70726f746f636f6c20213d3d202768747470733a2729207b0a202020207468726f77206e6577204572726f72282750726f746f636f6c202227202b20706172616d732e70726f746f636f6c202b202722206e6f7420737570706f727465642e204578706563746564202268747470733a2227290a20207d0a202072657475726e20706172616d730a7d0a0a7d2c7b2268747470223a3133312c2275726c223a33357d5d2c33353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a7661722070756e79636f6465203d2072657175697265282770756e79636f646527293b0a766172207574696c203d207265717569726528272e2f7574696c27293b0a0a6578706f7274732e7061727365203d2075726c50617273653b0a6578706f7274732e7265736f6c7665203d2075726c5265736f6c76653b0a6578706f7274732e7265736f6c76654f626a656374203d2075726c5265736f6c76654f626a6563743b0a6578706f7274732e666f726d6174203d2075726c466f726d61743b0a0a6578706f7274732e55726c203d2055726c3b0a0a66756e6374696f6e2055726c2829207b0a2020746869732e70726f746f636f6c203d206e756c6c3b0a2020746869732e736c6173686573203d206e756c6c3b0a2020746869732e61757468203d206e756c6c3b0a2020746869732e686f7374203d206e756c6c3b0a2020746869732e706f7274203d206e756c6c3b0a2020746869732e686f73746e616d65203d206e756c6c3b0a2020746869732e68617368203d206e756c6c3b0a2020746869732e736561726368203d206e756c6c3b0a2020746869732e7175657279203d206e756c6c3b0a2020746869732e706174686e616d65203d206e756c6c3b0a2020746869732e70617468203d206e756c6c3b0a2020746869732e68726566203d206e756c6c3b0a7d0a0a2f2f205265666572656e63653a2052464320333938362c2052464320313830382c2052464320323339360a0a2f2f20646566696e65207468657365206865726520736f206174206c656173742074686579206f6e6c79206861766520746f2062650a2f2f20636f6d70696c6564206f6e6365206f6e20746865206669727374206d6f64756c65206c6f61642e0a7661722070726f746f636f6c5061747465726e203d202f5e285b612d7a302d392e2b2d5d2b3a292f692c0a20202020706f72745061747465726e203d202f3a5b302d395d2a242f2c0a0a202020202f2f205370656369616c206361736520666f7220612073696d706c6520706174682055524c0a2020202073696d706c65506174685061747465726e203d202f5e285c2f5c2f3f283f215c2f295b5e5c3f5c735d2a29285c3f5b5e5c735d2a293f242f2c0a0a202020202f2f2052464320323339363a206368617261637465727320726573657276656420666f722064656c696d6974696e672055524c732e0a202020202f2f2057652061637475616c6c79206a757374206175746f2d6573636170652074686573652e0a2020202064656c696d73203d205b273c272c20273e272c202722272c202760272c202720272c20275c72272c20275c6e272c20275c74275d2c0a0a202020202f2f2052464320323339363a2063686172616374657273206e6f7420616c6c6f77656420666f7220766172696f757320726561736f6e732e0a20202020756e77697365203d205b277b272c20277d272c20277c272c20275c5c272c20275e272c202760275d2e636f6e6361742864656c696d73292c0a0a202020202f2f20416c6c6f77656420627920524643732c20627574206361757365206f66205853532061747461636b732e2020416c77617973206573636170652074686573652e0a202020206175746f457363617065203d205b275c27275d2e636f6e63617428756e77697365292c0a202020202f2f2043686172616374657273207468617420617265206e65766572206576657220616c6c6f77656420696e206120686f73746e616d652e0a202020202f2f204e6f7465207468617420616e7920696e76616c69642063686172732061726520616c736f2068616e646c65642c206275742074686573650a202020202f2f2061726520746865206f6e6573207468617420617265202a65787065637465642a20746f206265207365656e2c20736f20776520666173742d706174680a202020202f2f207468656d2e0a202020206e6f6e486f73744368617273203d205b2725272c20272f272c20273f272c20273b272c202723275d2e636f6e636174286175746f457363617065292c0a20202020686f7374456e64696e674368617273203d205b272f272c20273f272c202723275d2c0a20202020686f73746e616d654d61784c656e203d203235352c0a20202020686f73746e616d65506172745061747465726e203d202f5e5b2b612d7a302d39412d5a5f2d5d7b302c36337d242f2c0a20202020686f73746e616d65506172745374617274203d202f5e285b2b612d7a302d39412d5a5f2d5d7b302c36337d29282e2a29242f2c0a202020202f2f2070726f746f636f6c7320746861742063616e20616c6c6f772022756e736166652220616e642022756e77697365222063686172732e0a20202020756e7361666550726f746f636f6c203d207b0a202020202020276a617661736372697074273a20747275652c0a202020202020276a6176617363726970743a273a20747275650a202020207d2c0a202020202f2f2070726f746f636f6c732074686174206e657665722068617665206120686f73746e616d652e0a20202020686f73746c65737350726f746f636f6c203d207b0a202020202020276a617661736372697074273a20747275652c0a202020202020276a6176617363726970743a273a20747275650a202020207d2c0a202020202f2f2070726f746f636f6c73207468617420616c7761797320636f6e7461696e2061202f2f206269742e0a20202020736c617368656450726f746f636f6c203d207b0a2020202020202768747470273a20747275652c0a202020202020276874747073273a20747275652c0a20202020202027667470273a20747275652c0a20202020202027676f70686572273a20747275652c0a2020202020202766696c65273a20747275652c0a20202020202027687474703a273a20747275652c0a2020202020202768747470733a273a20747275652c0a202020202020276674703a273a20747275652c0a20202020202027676f706865723a273a20747275652c0a2020202020202766696c653a273a20747275650a202020207d2c0a202020207175657279737472696e67203d207265717569726528277175657279737472696e6727293b0a0a66756e6374696f6e2075726c50617273652875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f737429207b0a20206966202875726c202626207574696c2e69734f626a6563742875726c292026262075726c20696e7374616e63656f662055726c292072657475726e2075726c3b0a0a20207661722075203d206e65772055726c3b0a2020752e70617273652875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f7374293b0a202072657475726e20753b0a7d0a0a55726c2e70726f746f747970652e7061727365203d2066756e6374696f6e2875726c2c2070617273655175657279537472696e672c20736c617368657344656e6f7465486f737429207b0a202069662028217574696c2e6973537472696e672875726c2929207b0a202020207468726f77206e657720547970654572726f722822506172616d65746572202775726c27206d757374206265206120737472696e672c206e6f742022202b20747970656f662075726c293b0a20207d0a0a20202f2f20436f7079206368726f6d652c2049452c206f70657261206261636b736c6173682d68616e646c696e67206265686176696f722e0a20202f2f204261636b20736c6173686573206265666f72652074686520717565727920737472696e672067657420636f6e76657274656420746f20666f727761726420736c61736865730a20202f2f205365653a2068747470733a2f2f636f64652e676f6f676c652e636f6d2f702f6368726f6d69756d2f6973737565732f64657461696c3f69643d32353931360a2020766172207175657279496e646578203d2075726c2e696e6465784f6628273f27292c0a20202020202073706c6974746572203d0a20202020202020202020287175657279496e64657820213d3d202d31202626207175657279496e646578203c2075726c2e696e6465784f66282723272929203f20273f27203a202723272c0a2020202020207553706c6974203d2075726c2e73706c69742873706c6974746572292c0a202020202020736c6173685265676578203d202f5c5c2f673b0a20207553706c69745b305d203d207553706c69745b305d2e7265706c61636528736c61736852656765782c20272f27293b0a202075726c203d207553706c69742e6a6f696e2873706c6974746572293b0a0a20207661722072657374203d2075726c3b0a0a20202f2f207472696d206265666f72652070726f63656564696e672e0a20202f2f205468697320697320746f20737570706f7274207061727365207374756666206c696b6520222020687474703a2f2f666f6f2e636f6d20205c6e220a202072657374203d20726573742e7472696d28293b0a0a20206966202821736c617368657344656e6f7465486f73742026262075726c2e73706c697428272327292e6c656e677468203d3d3d203129207b0a202020202f2f2054727920666173742070617468207265676578700a202020207661722073696d706c6550617468203d2073696d706c65506174685061747465726e2e657865632872657374293b0a202020206966202873696d706c655061746829207b0a202020202020746869732e70617468203d20726573743b0a202020202020746869732e68726566203d20726573743b0a202020202020746869732e706174686e616d65203d2073696d706c65506174685b315d3b0a2020202020206966202873696d706c65506174685b325d29207b0a2020202020202020746869732e736561726368203d2073696d706c65506174685b325d3b0a20202020202020206966202870617273655175657279537472696e6729207b0a20202020202020202020746869732e7175657279203d207175657279737472696e672e706172736528746869732e7365617263682e737562737472283129293b0a20202020202020207d20656c7365207b0a20202020202020202020746869732e7175657279203d20746869732e7365617263682e7375627374722831293b0a20202020202020207d0a2020202020207d20656c7365206966202870617273655175657279537472696e6729207b0a2020202020202020746869732e736561726368203d2027273b0a2020202020202020746869732e7175657279203d207b7d3b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a20207d0a0a20207661722070726f746f203d2070726f746f636f6c5061747465726e2e657865632872657374293b0a20206966202870726f746f29207b0a2020202070726f746f203d2070726f746f5b305d3b0a20202020766172206c6f77657250726f746f203d2070726f746f2e746f4c6f7765724361736528293b0a20202020746869732e70726f746f636f6c203d206c6f77657250726f746f3b0a2020202072657374203d20726573742e7375627374722870726f746f2e6c656e677468293b0a20207d0a0a20202f2f20666967757265206f7574206966206974277320676f74206120686f73740a20202f2f207573657240736572766572206973202a616c776179732a20696e746572707265746564206173206120686f73746e616d652c20616e642075726c0a20202f2f207265736f6c7574696f6e2077696c6c207472656174202f2f666f6f2f62617220617320686f73743d666f6f2c706174683d6261722062656361757365207468617427730a20202f2f20686f77207468652062726f77736572207265736f6c7665732072656c61746976652055524c732e0a202069662028736c617368657344656e6f7465486f7374207c7c2070726f746f207c7c20726573742e6d61746368282f5e5c2f5c2f5b5e405c2f5d2b405b5e405c2f5d2b2f2929207b0a2020202076617220736c6173686573203d20726573742e73756273747228302c203229203d3d3d20272f2f273b0a2020202069662028736c617368657320262620212870726f746f20262620686f73746c65737350726f746f636f6c5b70726f746f5d2929207b0a20202020202072657374203d20726573742e7375627374722832293b0a202020202020746869732e736c6173686573203d20747275653b0a202020207d0a20207d0a0a20206966202821686f73746c65737350726f746f636f6c5b70726f746f5d2026260a20202020202028736c6173686573207c7c202870726f746f2026262021736c617368656450726f746f636f6c5b70726f746f5d292929207b0a0a202020202f2f2074686572652773206120686f73746e616d652e0a202020202f2f2074686520666972737420696e7374616e6365206f66202f2c203f2c203b2c206f72202320656e64732074686520686f73742e0a202020202f2f0a202020202f2f20496620746865726520697320616e204020696e2074686520686f73746e616d652c207468656e206e6f6e2d686f7374206368617273202a6172652a20616c6c6f7765640a202020202f2f20746f20746865206c656674206f6620746865206c6173742040207369676e2c20756e6c65737320736f6d6520686f73742d656e64696e67206368617261637465720a202020202f2f20636f6d6573202a6265666f72652a2074686520402d7369676e2e0a202020202f2f2055524c7320617265206f626e6f78696f75732e0a202020202f2f0a202020202f2f2065783a0a202020202f2f20687474703a2f2f61406240632f203d3e20757365723a61406220686f73743a630a202020202f2f20687474703a2f2f6140623f4063203d3e20757365723a6120686f73743a6320706174683a2f3f40630a0a202020202f2f2076302e313220544f444f28697361616373293a2054686973206973206e6f7420717569746520686f77204368726f6d6520646f6573207468696e67732e0a202020202f2f20526576696577206f75722074657374206361736520616761696e73742062726f7773657273206d6f726520636f6d70726568656e736976656c792e0a0a202020202f2f2066696e642074686520666972737420696e7374616e6365206f6620616e7920686f7374456e64696e6743686172730a2020202076617220686f7374456e64203d202d313b0a20202020666f7220287661722069203d20303b2069203c20686f7374456e64696e6743686172732e6c656e6774683b20692b2b29207b0a20202020202076617220686563203d20726573742e696e6465784f6628686f7374456e64696e6743686172735b695d293b0a2020202020206966202868656320213d3d202d312026262028686f7374456e64203d3d3d202d31207c7c20686563203c20686f7374456e6429290a2020202020202020686f7374456e64203d206865633b0a202020207d0a0a202020202f2f206174207468697320706f696e742c20656974686572207765206861766520616e206578706c6963697420706f696e74207768657265207468650a202020202f2f206175746820706f7274696f6e2063616e6e6f7420676f20706173742c206f7220746865206c617374204020636861722069732074686520646563696465722e0a2020202076617220617574682c2061745369676e3b0a2020202069662028686f7374456e64203d3d3d202d3129207b0a2020202020202f2f2061745369676e2063616e20626520616e7977686572652e0a20202020202061745369676e203d20726573742e6c617374496e6465784f6628274027293b0a202020207d20656c7365207b0a2020202020202f2f2061745369676e206d75737420626520696e206175746820706f7274696f6e2e0a2020202020202f2f20687474703a2f2f6140622f634064203d3e20686f73743a6220617574683a6120706174683a2f6340640a20202020202061745369676e203d20726573742e6c617374496e6465784f66282740272c20686f7374456e64293b0a202020207d0a0a202020202f2f204e6f772077652068617665206120706f7274696f6e20776869636820697320646566696e6974656c792074686520617574682e0a202020202f2f2050756c6c2074686174206f66662e0a202020206966202861745369676e20213d3d202d3129207b0a20202020202061757468203d20726573742e736c69636528302c2061745369676e293b0a20202020202072657374203d20726573742e736c6963652861745369676e202b2031293b0a202020202020746869732e61757468203d206465636f6465555249436f6d706f6e656e742861757468293b0a202020207d0a0a202020202f2f2074686520686f7374206973207468652072656d61696e696e6720746f20746865206c656674206f6620746865206669727374206e6f6e2d686f737420636861720a20202020686f7374456e64203d202d313b0a20202020666f7220287661722069203d20303b2069203c206e6f6e486f737443686172732e6c656e6774683b20692b2b29207b0a20202020202076617220686563203d20726573742e696e6465784f66286e6f6e486f737443686172735b695d293b0a2020202020206966202868656320213d3d202d312026262028686f7374456e64203d3d3d202d31207c7c20686563203c20686f7374456e6429290a2020202020202020686f7374456e64203d206865633b0a202020207d0a202020202f2f206966207765207374696c6c2068617665206e6f74206869742069742c207468656e2074686520656e74697265207468696e67206973206120686f73742e0a2020202069662028686f7374456e64203d3d3d202d31290a202020202020686f7374456e64203d20726573742e6c656e6774683b0a0a20202020746869732e686f7374203d20726573742e736c69636528302c20686f7374456e64293b0a2020202072657374203d20726573742e736c69636528686f7374456e64293b0a0a202020202f2f2070756c6c206f757420706f72742e0a20202020746869732e7061727365486f737428293b0a0a202020202f2f20776527766520696e646963617465642074686174207468657265206973206120686f73746e616d652c0a202020202f2f20736f206576656e206966206974277320656d7074792c2069742068617320746f2062652070726573656e742e0a20202020746869732e686f73746e616d65203d20746869732e686f73746e616d65207c7c2027273b0a0a202020202f2f20696620686f73746e616d6520626567696e732077697468205b20616e6420656e64732077697468205d0a202020202f2f20617373756d652074686174206974277320616e204950763620616464726573732e0a202020207661722069707636486f73746e616d65203d20746869732e686f73746e616d655b305d203d3d3d20275b272026260a2020202020202020746869732e686f73746e616d655b746869732e686f73746e616d652e6c656e677468202d20315d203d3d3d20275d273b0a0a202020202f2f2076616c69646174652061206c6974746c652e0a20202020696620282169707636486f73746e616d6529207b0a20202020202076617220686f73747061727473203d20746869732e686f73746e616d652e73706c6974282f5c2e2f293b0a202020202020666f7220287661722069203d20302c206c203d20686f737470617274732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020202020207661722070617274203d20686f737470617274735b695d3b0a20202020202020206966202821706172742920636f6e74696e75653b0a20202020202020206966202821706172742e6d6174636828686f73746e616d65506172745061747465726e2929207b0a20202020202020202020766172206e657770617274203d2027273b0a20202020202020202020666f722028766172206a203d20302c206b203d20706172742e6c656e6774683b206a203c206b3b206a2b2b29207b0a20202020202020202020202069662028706172742e63686172436f64654174286a29203e2031323729207b0a20202020202020202020202020202f2f207765207265706c616365206e6f6e2d41534349492063686172207769746820612074656d706f7261727920706c616365686f6c6465720a20202020202020202020202020202f2f207765206e656564207468697320746f206d616b6520737572652073697a65206f6620686f73746e616d65206973206e6f740a20202020202020202020202020202f2f2062726f6b656e206279207265706c6163696e67206e6f6e2d4153434949206279206e6f7468696e670a20202020202020202020202020206e657770617274202b3d202778273b0a2020202020202020202020207d20656c7365207b0a20202020202020202020202020206e657770617274202b3d20706172745b6a5d3b0a2020202020202020202020207d0a202020202020202020207d0a202020202020202020202f2f207765207465737420616761696e20776974682041534349492063686172206f6e6c790a2020202020202020202069662028216e6577706172742e6d6174636828686f73746e616d65506172745061747465726e2929207b0a2020202020202020202020207661722076616c69645061727473203d20686f737470617274732e736c69636528302c2069293b0a202020202020202020202020766172206e6f74486f7374203d20686f737470617274732e736c6963652869202b2031293b0a20202020202020202020202076617220626974203d20706172742e6d6174636828686f73746e616d65506172745374617274293b0a2020202020202020202020206966202862697429207b0a202020202020202020202020202076616c696450617274732e70757368286269745b315d293b0a20202020202020202020202020206e6f74486f73742e756e7368696674286269745b325d293b0a2020202020202020202020207d0a202020202020202020202020696620286e6f74486f73742e6c656e67746829207b0a202020202020202020202020202072657374203d20272f27202b206e6f74486f73742e6a6f696e28272e2729202b20726573743b0a2020202020202020202020207d0a202020202020202020202020746869732e686f73746e616d65203d2076616c696450617274732e6a6f696e28272e27293b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e686f73746e616d652e6c656e677468203e20686f73746e616d654d61784c656e29207b0a202020202020746869732e686f73746e616d65203d2027273b0a202020207d20656c7365207b0a2020202020202f2f20686f73746e616d65732061726520616c77617973206c6f77657220636173652e0a202020202020746869732e686f73746e616d65203d20746869732e686f73746e616d652e746f4c6f7765724361736528293b0a202020207d0a0a20202020696620282169707636486f73746e616d6529207b0a2020202020202f2f2049444e4120537570706f72743a2052657475726e7320612070756e79636f64656420726570726573656e746174696f6e206f662022646f6d61696e222e0a2020202020202f2f204974206f6e6c7920636f6e7665727473207061727473206f662074686520646f6d61696e206e616d6520746861740a2020202020202f2f2068617665206e6f6e2d415343494920636861726163746572732c20692e652e20697420646f65736e2774206d61747465722069660a2020202020202f2f20796f752063616c6c2069742077697468206120646f6d61696e207468617420616c72656164792069732041534349492d6f6e6c792e0a202020202020746869732e686f73746e616d65203d2070756e79636f64652e746f415343494928746869732e686f73746e616d65293b0a202020207d0a0a202020207661722070203d20746869732e706f7274203f20273a27202b20746869732e706f7274203a2027273b0a202020207661722068203d20746869732e686f73746e616d65207c7c2027273b0a20202020746869732e686f7374203d2068202b20703b0a20202020746869732e68726566202b3d20746869732e686f73743b0a0a202020202f2f207374726970205b20616e64205d2066726f6d2074686520686f73746e616d650a202020202f2f2074686520686f7374206669656c64207374696c6c2072657461696e73207468656d2c2074686f7567680a202020206966202869707636486f73746e616d6529207b0a202020202020746869732e686f73746e616d65203d20746869732e686f73746e616d652e73756273747228312c20746869732e686f73746e616d652e6c656e677468202d2032293b0a20202020202069662028726573745b305d20213d3d20272f2729207b0a202020202020202072657374203d20272f27202b20726573743b0a2020202020207d0a202020207d0a20207d0a0a20202f2f206e6f7720726573742069732073657420746f2074686520706f73742d686f73742073747566662e0a20202f2f2063686f70206f666620616e792064656c696d2063686172732e0a20206966202821756e7361666550726f746f636f6c5b6c6f77657250726f746f5d29207b0a0a202020202f2f2046697273742c206d616b6520313030252073757265207468617420616e7920226175746f45736361706522206368617273206765740a202020202f2f20657363617065642c206576656e20696620656e636f6465555249436f6d706f6e656e7420646f65736e2774207468696e6b20746865790a202020202f2f206e65656420746f2062652e0a20202020666f7220287661722069203d20302c206c203d206175746f4573636170652e6c656e6774683b2069203c206c3b20692b2b29207b0a202020202020766172206165203d206175746f4573636170655b695d3b0a20202020202069662028726573742e696e6465784f6628616529203d3d3d202d31290a2020202020202020636f6e74696e75653b0a20202020202076617220657363203d20656e636f6465555249436f6d706f6e656e74286165293b0a20202020202069662028657363203d3d3d20616529207b0a2020202020202020657363203d20657363617065286165293b0a2020202020207d0a20202020202072657374203d20726573742e73706c6974286165292e6a6f696e28657363293b0a202020207d0a20207d0a0a0a20202f2f2063686f70206f66662066726f6d20746865207461696c2066697273742e0a20207661722068617368203d20726573742e696e6465784f6628272327293b0a2020696620286861736820213d3d202d3129207b0a202020202f2f20676f74206120667261676d656e7420737472696e672e0a20202020746869732e68617368203d20726573742e7375627374722868617368293b0a2020202072657374203d20726573742e736c69636528302c2068617368293b0a20207d0a202076617220716d203d20726573742e696e6465784f6628273f27293b0a202069662028716d20213d3d202d3129207b0a20202020746869732e736561726368203d20726573742e73756273747228716d293b0a20202020746869732e7175657279203d20726573742e73756273747228716d202b2031293b0a202020206966202870617273655175657279537472696e6729207b0a202020202020746869732e7175657279203d207175657279737472696e672e706172736528746869732e7175657279293b0a202020207d0a2020202072657374203d20726573742e736c69636528302c20716d293b0a20207d20656c7365206966202870617273655175657279537472696e6729207b0a202020202f2f206e6f20717565727920737472696e672c206275742070617273655175657279537472696e67207374696c6c207265717565737465640a20202020746869732e736561726368203d2027273b0a20202020746869732e7175657279203d207b7d3b0a20207d0a202069662028726573742920746869732e706174686e616d65203d20726573743b0a202069662028736c617368656450726f746f636f6c5b6c6f77657250726f746f5d2026260a202020202020746869732e686f73746e616d652026262021746869732e706174686e616d6529207b0a20202020746869732e706174686e616d65203d20272f273b0a20207d0a0a20202f2f746f20737570706f727420687474702e726571756573740a202069662028746869732e706174686e616d65207c7c20746869732e73656172636829207b0a202020207661722070203d20746869732e706174686e616d65207c7c2027273b0a202020207661722073203d20746869732e736561726368207c7c2027273b0a20202020746869732e70617468203d2070202b20733b0a20207d0a0a20202f2f2066696e616c6c792c207265636f6e737472756374207468652068726566206261736564206f6e207768617420686173206265656e2076616c6964617465642e0a2020746869732e68726566203d20746869732e666f726d617428293b0a202072657475726e20746869733b0a7d3b0a0a2f2f20666f726d6174206120706172736564206f626a65637420696e746f20612075726c20737472696e670a66756e6374696f6e2075726c466f726d6174286f626a29207b0a20202f2f20656e73757265206974277320616e206f626a6563742c20616e64206e6f74206120737472696e672075726c2e0a20202f2f204966206974277320616e206f626a2c20746869732069732061206e6f2d6f702e0a20202f2f2074686973207761792c20796f752063616e2063616c6c2075726c5f666f726d61742829206f6e20737472696e67730a20202f2f20746f20636c65616e20757020706f74656e7469616c6c7920776f6e6b792075726c732e0a2020696620287574696c2e6973537472696e67286f626a2929206f626a203d2075726c5061727365286f626a293b0a20206966202821286f626a20696e7374616e63656f662055726c29292072657475726e2055726c2e70726f746f747970652e666f726d61742e63616c6c286f626a293b0a202072657475726e206f626a2e666f726d617428293b0a7d0a0a55726c2e70726f746f747970652e666f726d6174203d2066756e6374696f6e2829207b0a20207661722061757468203d20746869732e61757468207c7c2027273b0a2020696620286175746829207b0a2020202061757468203d20656e636f6465555249436f6d706f6e656e742861757468293b0a2020202061757468203d20617574682e7265706c616365282f2533412f692c20273a27293b0a2020202061757468202b3d202740273b0a20207d0a0a20207661722070726f746f636f6c203d20746869732e70726f746f636f6c207c7c2027272c0a202020202020706174686e616d65203d20746869732e706174686e616d65207c7c2027272c0a20202020202068617368203d20746869732e68617368207c7c2027272c0a202020202020686f7374203d2066616c73652c0a2020202020207175657279203d2027273b0a0a202069662028746869732e686f737429207b0a20202020686f7374203d2061757468202b20746869732e686f73743b0a20207d20656c73652069662028746869732e686f73746e616d6529207b0a20202020686f7374203d2061757468202b2028746869732e686f73746e616d652e696e6465784f6628273a2729203d3d3d202d31203f0a2020202020202020746869732e686f73746e616d65203a0a2020202020202020275b27202b20746869732e686f73746e616d65202b20275d27293b0a2020202069662028746869732e706f727429207b0a202020202020686f7374202b3d20273a27202b20746869732e706f72743b0a202020207d0a20207d0a0a202069662028746869732e71756572792026260a2020202020207574696c2e69734f626a65637428746869732e7175657279292026260a2020202020204f626a6563742e6b65797328746869732e7175657279292e6c656e67746829207b0a202020207175657279203d207175657279737472696e672e737472696e6769667928746869732e7175657279293b0a20207d0a0a202076617220736561726368203d20746869732e736561726368207c7c202871756572792026262028273f27202b2071756572792929207c7c2027273b0a0a20206966202870726f746f636f6c2026262070726f746f636f6c2e737562737472282d312920213d3d20273a27292070726f746f636f6c202b3d20273a273b0a0a20202f2f206f6e6c792074686520736c617368656450726f746f636f6c732067657420746865202f2f2e20204e6f74206d61696c746f3a2c20786d70703a2c206574632e0a20202f2f20756e6c657373207468657920686164207468656d20746f20626567696e20776974682e0a202069662028746869732e736c6173686573207c7c0a202020202020282170726f746f636f6c207c7c20736c617368656450726f746f636f6c5b70726f746f636f6c5d2920262620686f737420213d3d2066616c736529207b0a20202020686f7374203d20272f2f27202b2028686f7374207c7c202727293b0a2020202069662028706174686e616d6520262620706174686e616d652e63686172417428302920213d3d20272f272920706174686e616d65203d20272f27202b20706174686e616d653b0a20207d20656c7365206966202821686f737429207b0a20202020686f7374203d2027273b0a20207d0a0a2020696620286861736820262620686173682e63686172417428302920213d3d20272327292068617368203d20272327202b20686173683b0a202069662028736561726368202626207365617263682e63686172417428302920213d3d20273f272920736561726368203d20273f27202b207365617263683b0a0a2020706174686e616d65203d20706174686e616d652e7265706c616365282f5b3f235d2f672c2066756e6374696f6e286d6174636829207b0a2020202072657475726e20656e636f6465555249436f6d706f6e656e74286d61746368293b0a20207d293b0a2020736561726368203d207365617263682e7265706c616365282723272c202725323327293b0a0a202072657475726e2070726f746f636f6c202b20686f7374202b20706174686e616d65202b20736561726368202b20686173683b0a7d3b0a0a66756e6374696f6e2075726c5265736f6c766528736f757263652c2072656c617469766529207b0a202072657475726e2075726c506172736528736f757263652c2066616c73652c2074727565292e7265736f6c76652872656c6174697665293b0a7d0a0a55726c2e70726f746f747970652e7265736f6c7665203d2066756e6374696f6e2872656c617469766529207b0a202072657475726e20746869732e7265736f6c76654f626a6563742875726c50617273652872656c61746976652c2066616c73652c207472756529292e666f726d617428293b0a7d3b0a0a66756e6374696f6e2075726c5265736f6c76654f626a65637428736f757263652c2072656c617469766529207b0a20206966202821736f75726365292072657475726e2072656c61746976653b0a202072657475726e2075726c506172736528736f757263652c2066616c73652c2074727565292e7265736f6c76654f626a6563742872656c6174697665293b0a7d0a0a55726c2e70726f746f747970652e7265736f6c76654f626a656374203d2066756e6374696f6e2872656c617469766529207b0a2020696620287574696c2e6973537472696e672872656c61746976652929207b0a202020207661722072656c203d206e65772055726c28293b0a2020202072656c2e70617273652872656c61746976652c2066616c73652c2074727565293b0a2020202072656c6174697665203d2072656c3b0a20207d0a0a202076617220726573756c74203d206e65772055726c28293b0a202076617220746b657973203d204f626a6563742e6b6579732874686973293b0a2020666f72202876617220746b203d20303b20746b203c20746b6579732e6c656e6774683b20746b2b2b29207b0a2020202076617220746b6579203d20746b6579735b746b5d3b0a20202020726573756c745b746b65795d203d20746869735b746b65795d3b0a20207d0a0a20202f2f206861736820697320616c77617973206f76657272696464656e2c206e6f206d617474657220776861742e0a20202f2f206576656e20687265663d22222077696c6c2072656d6f76652069742e0a2020726573756c742e68617368203d2072656c61746976652e686173683b0a0a20202f2f206966207468652072656c61746976652075726c20697320656d7074792c207468656e2074686572652773206e6f7468696e67206c65667420746f20646f20686572652e0a20206966202872656c61746976652e68726566203d3d3d20272729207b0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2f206872656673206c696b65202f2f666f6f2f62617220616c776179732063757420746f207468652070726f746f636f6c2e0a20206966202872656c61746976652e736c6173686573202626202172656c61746976652e70726f746f636f6c29207b0a202020202f2f2074616b652065766572797468696e6720657863657074207468652070726f746f636f6c2066726f6d2072656c61746976650a2020202076617220726b657973203d204f626a6563742e6b6579732872656c6174697665293b0a20202020666f72202876617220726b203d20303b20726b203c20726b6579732e6c656e6774683b20726b2b2b29207b0a20202020202076617220726b6579203d20726b6579735b726b5d3b0a20202020202069662028726b657920213d3d202770726f746f636f6c27290a2020202020202020726573756c745b726b65795d203d2072656c61746976655b726b65795d3b0a202020207d0a0a202020202f2f75726c506172736520617070656e647320747261696c696e67202f20746f2075726c73206c696b6520687474703a2f2f7777772e6578616d706c652e636f6d0a2020202069662028736c617368656450726f746f636f6c5b726573756c742e70726f746f636f6c5d2026260a2020202020202020726573756c742e686f73746e616d652026262021726573756c742e706174686e616d6529207b0a202020202020726573756c742e70617468203d20726573756c742e706174686e616d65203d20272f273b0a202020207d0a0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20206966202872656c61746976652e70726f746f636f6c2026262072656c61746976652e70726f746f636f6c20213d3d20726573756c742e70726f746f636f6c29207b0a202020202f2f20696620697427732061206b6e6f776e2075726c2070726f746f636f6c2c207468656e206368616e67696e670a202020202f2f207468652070726f746f636f6c20646f6573207765697264207468696e67730a202020202f2f2066697273742c2069662069742773206e6f742066696c653a2c207468656e207765204d5553542068617665206120686f73742c0a202020202f2f20616e6420696620746865726520776173206120706174680a202020202f2f20746f20626567696e20776974682c207468656e207765204d5553542068617665206120706174682e0a202020202f2f2069662069742069732066696c653a2c207468656e2074686520686f73742069732064726f707065642c0a202020202f2f206265636175736520746861742773206b6e6f776e20746f20626520686f73746c6573732e0a202020202f2f20616e797468696e6720656c736520697320617373756d656420746f206265206162736f6c7574652e0a202020206966202821736c617368656450726f746f636f6c5b72656c61746976652e70726f746f636f6c5d29207b0a202020202020766172206b657973203d204f626a6563742e6b6579732872656c6174697665293b0a202020202020666f7220287661722076203d20303b2076203c206b6579732e6c656e6774683b20762b2b29207b0a2020202020202020766172206b203d206b6579735b765d3b0a2020202020202020726573756c745b6b5d203d2072656c61746976655b6b5d3b0a2020202020207d0a202020202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a20202020726573756c742e70726f746f636f6c203d2072656c61746976652e70726f746f636f6c3b0a20202020696620282172656c61746976652e686f73742026262021686f73746c65737350726f746f636f6c5b72656c61746976652e70726f746f636f6c5d29207b0a2020202020207661722072656c50617468203d202872656c61746976652e706174686e616d65207c7c202727292e73706c697428272f27293b0a2020202020207768696c65202872656c506174682e6c656e67746820262620212872656c61746976652e686f7374203d2072656c506174682e7368696674282929293b0a202020202020696620282172656c61746976652e686f7374292072656c61746976652e686f7374203d2027273b0a202020202020696620282172656c61746976652e686f73746e616d65292072656c61746976652e686f73746e616d65203d2027273b0a2020202020206966202872656c506174685b305d20213d3d202727292072656c506174682e756e7368696674282727293b0a2020202020206966202872656c506174682e6c656e677468203c2032292072656c506174682e756e7368696674282727293b0a202020202020726573756c742e706174686e616d65203d2072656c506174682e6a6f696e28272f27293b0a202020207d20656c7365207b0a202020202020726573756c742e706174686e616d65203d2072656c61746976652e706174686e616d653b0a202020207d0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a20202020726573756c742e686f7374203d2072656c61746976652e686f7374207c7c2027273b0a20202020726573756c742e61757468203d2072656c61746976652e617574683b0a20202020726573756c742e686f73746e616d65203d2072656c61746976652e686f73746e616d65207c7c2072656c61746976652e686f73743b0a20202020726573756c742e706f7274203d2072656c61746976652e706f72743b0a202020202f2f20746f20737570706f727420687474702e726571756573740a2020202069662028726573756c742e706174686e616d65207c7c20726573756c742e73656172636829207b0a2020202020207661722070203d20726573756c742e706174686e616d65207c7c2027273b0a2020202020207661722073203d20726573756c742e736561726368207c7c2027273b0a202020202020726573756c742e70617468203d2070202b20733b0a202020207d0a20202020726573756c742e736c6173686573203d20726573756c742e736c6173686573207c7c2072656c61746976652e736c61736865733b0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a2020766172206973536f75726365416273203d2028726573756c742e706174686e616d6520262620726573756c742e706174686e616d652e636861724174283029203d3d3d20272f27292c0a202020202020697352656c416273203d20280a2020202020202020202072656c61746976652e686f7374207c7c0a2020202020202020202072656c61746976652e706174686e616d652026262072656c61746976652e706174686e616d652e636861724174283029203d3d3d20272f270a202020202020292c0a2020202020206d757374456e64416273203d2028697352656c416273207c7c206973536f75726365416273207c7c0a202020202020202020202020202020202020202028726573756c742e686f73742026262072656c61746976652e706174686e616d6529292c0a20202020202072656d6f7665416c6c446f7473203d206d757374456e644162732c0a20202020202073726350617468203d20726573756c742e706174686e616d6520262620726573756c742e706174686e616d652e73706c697428272f2729207c7c205b5d2c0a20202020202072656c50617468203d2072656c61746976652e706174686e616d652026262072656c61746976652e706174686e616d652e73706c697428272f2729207c7c205b5d2c0a20202020202070737963686f746963203d20726573756c742e70726f746f636f6c2026262021736c617368656450726f746f636f6c5b726573756c742e70726f746f636f6c5d3b0a0a20202f2f206966207468652075726c2069732061206e6f6e2d736c61736865642075726c2c207468656e2072656c61746976650a20202f2f206c696e6b73206c696b65202e2e2f2e2e2073686f756c642062652061626c650a20202f2f20746f20637261776c20757020746f2074686520686f73746e616d652c2061732077656c6c2e20205468697320697320737472616e67652e0a20202f2f20726573756c742e70726f746f636f6c2068617320616c7265616479206265656e20736574206279206e6f772e0a20202f2f204c61746572206f6e2c20707574207468652066697273742070617468207061727420696e746f2074686520686f7374206669656c642e0a20206966202870737963686f74696329207b0a20202020726573756c742e686f73746e616d65203d2027273b0a20202020726573756c742e706f7274203d206e756c6c3b0a2020202069662028726573756c742e686f737429207b0a20202020202069662028737263506174685b305d203d3d3d2027272920737263506174685b305d203d20726573756c742e686f73743b0a202020202020656c736520737263506174682e756e736869667428726573756c742e686f7374293b0a202020207d0a20202020726573756c742e686f7374203d2027273b0a202020206966202872656c61746976652e70726f746f636f6c29207b0a20202020202072656c61746976652e686f73746e616d65203d206e756c6c3b0a20202020202072656c61746976652e706f7274203d206e756c6c3b0a2020202020206966202872656c61746976652e686f737429207b0a20202020202020206966202872656c506174685b305d203d3d3d202727292072656c506174685b305d203d2072656c61746976652e686f73743b0a2020202020202020656c73652072656c506174682e756e73686966742872656c61746976652e686f7374293b0a2020202020207d0a20202020202072656c61746976652e686f7374203d206e756c6c3b0a202020207d0a202020206d757374456e64416273203d206d757374456e64416273202626202872656c506174685b305d203d3d3d202727207c7c20737263506174685b305d203d3d3d202727293b0a20207d0a0a202069662028697352656c41627329207b0a202020202f2f2069742773206162736f6c7574652e0a20202020726573756c742e686f7374203d202872656c61746976652e686f7374207c7c2072656c61746976652e686f7374203d3d3d20272729203f0a20202020202020202020202020202020202072656c61746976652e686f7374203a20726573756c742e686f73743b0a20202020726573756c742e686f73746e616d65203d202872656c61746976652e686f73746e616d65207c7c2072656c61746976652e686f73746e616d65203d3d3d20272729203f0a2020202020202020202020202020202020202020202072656c61746976652e686f73746e616d65203a20726573756c742e686f73746e616d653b0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a2020202073726350617468203d2072656c506174683b0a202020202f2f2066616c6c207468726f75676820746f2074686520646f742d68616e646c696e672062656c6f772e0a20207d20656c7365206966202872656c506174682e6c656e67746829207b0a202020202f2f20697427732072656c61746976650a202020202f2f207468726f77206177617920746865206578697374696e672066696c652c20616e642074616b6520746865206e6577207061746820696e73746561642e0a20202020696620282173726350617468292073726350617468203d205b5d3b0a20202020737263506174682e706f7028293b0a2020202073726350617468203d20737263506174682e636f6e6361742872656c50617468293b0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a20207d20656c73652069662028217574696c2e69734e756c6c4f72556e646566696e65642872656c61746976652e7365617263682929207b0a202020202f2f206a7573742070756c6c206f757420746865207365617263682e0a202020202f2f206c696b6520687265663d273f666f6f272e0a202020202f2f20507574207468697320616674657220746865206f746865722074776f20636173657320626563617573652069742073696d706c69666965732074686520626f6f6c65616e730a202020206966202870737963686f74696329207b0a202020202020726573756c742e686f73746e616d65203d20726573756c742e686f7374203d20737263506174682e736869667428293b0a2020202020202f2f6f63636174696f6e616c792074686520617574682063616e2067657420737475636b206f6e6c7920696e20686f73740a2020202020202f2f7468697320657370656369616c6c792068617070656e7320696e206361736573206c696b650a2020202020202f2f75726c2e7265736f6c76654f626a65637428276d61696c746f3a6c6f63616c3140646f6d61696e31272c20276c6f63616c3240646f6d61696e3227290a2020202020207661722061757468496e486f7374203d20726573756c742e686f737420262620726573756c742e686f73742e696e6465784f662827402729203e2030203f0a2020202020202020202020202020202020202020202020726573756c742e686f73742e73706c69742827402729203a2066616c73653b0a2020202020206966202861757468496e486f737429207b0a2020202020202020726573756c742e61757468203d2061757468496e486f73742e736869667428293b0a2020202020202020726573756c742e686f7374203d20726573756c742e686f73746e616d65203d2061757468496e486f73742e736869667428293b0a2020202020207d0a202020207d0a20202020726573756c742e736561726368203d2072656c61746976652e7365617263683b0a20202020726573756c742e7175657279203d2072656c61746976652e71756572793b0a202020202f2f746f20737570706f727420687474702e726571756573740a2020202069662028217574696c2e69734e756c6c28726573756c742e706174686e616d6529207c7c20217574696c2e69734e756c6c28726573756c742e7365617263682929207b0a202020202020726573756c742e70617468203d2028726573756c742e706174686e616d65203f20726573756c742e706174686e616d65203a20272729202b0a202020202020202020202020202020202020202028726573756c742e736561726368203f20726573756c742e736561726368203a202727293b0a202020207d0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20206966202821737263506174682e6c656e67746829207b0a202020202f2f206e6f207061746820617420616c6c2e2020656173792e0a202020202f2f20776527766520616c72656164792068616e646c656420746865206f746865722073747566662061626f76652e0a20202020726573756c742e706174686e616d65203d206e756c6c3b0a202020202f2f746f20737570706f727420687474702e726571756573740a2020202069662028726573756c742e73656172636829207b0a202020202020726573756c742e70617468203d20272f27202b20726573756c742e7365617263683b0a202020207d20656c7365207b0a202020202020726573756c742e70617468203d206e756c6c3b0a202020207d0a20202020726573756c742e68726566203d20726573756c742e666f726d617428293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2f20696620612075726c20454e447320696e202e206f72202e2e2c207468656e206974206d75737420676574206120747261696c696e6720736c6173682e0a20202f2f20686f77657665722c20696620697420656e647320696e20616e797468696e6720656c7365206e6f6e2d736c617368792c0a20202f2f207468656e206974206d757374204e4f5420676574206120747261696c696e6720736c6173682e0a2020766172206c617374203d20737263506174682e736c696365282d31295b305d3b0a202076617220686173547261696c696e67536c617368203d20280a20202020202028726573756c742e686f7374207c7c2072656c61746976652e686f7374207c7c20737263506174682e6c656e677468203e2031292026260a202020202020286c617374203d3d3d20272e27207c7c206c617374203d3d3d20272e2e2729207c7c206c617374203d3d3d202727293b0a0a20202f2f2073747269702073696e676c6520646f74732c207265736f6c766520646f75626c6520646f747320746f20706172656e74206469720a20202f2f20696620746865207061746820747269657320746f20676f2061626f76652074686520726f6f742c206075706020656e6473207570203e20300a2020766172207570203d20303b0a2020666f7220287661722069203d20737263506174682e6c656e6774683b2069203e3d20303b20692d2d29207b0a202020206c617374203d20737263506174685b695d3b0a20202020696620286c617374203d3d3d20272e2729207b0a202020202020737263506174682e73706c69636528692c2031293b0a202020207d20656c736520696620286c617374203d3d3d20272e2e2729207b0a202020202020737263506174682e73706c69636528692c2031293b0a20202020202075702b2b3b0a202020207d20656c73652069662028757029207b0a202020202020737263506174682e73706c69636528692c2031293b0a20202020202075702d2d3b0a202020207d0a20207d0a0a20202f2f20696620746865207061746820697320616c6c6f77656420746f20676f2061626f76652074686520726f6f742c20726573746f7265206c656164696e67202e2e730a202069662028216d757374456e64416273202626202172656d6f7665416c6c446f747329207b0a20202020666f7220283b2075702d2d3b20757029207b0a202020202020737263506174682e756e736869667428272e2e27293b0a202020207d0a20207d0a0a2020696620286d757374456e6441627320262620737263506174685b305d20213d3d2027272026260a2020202020202821737263506174685b305d207c7c20737263506174685b305d2e63686172417428302920213d3d20272f272929207b0a20202020737263506174682e756e7368696674282727293b0a20207d0a0a202069662028686173547261696c696e67536c6173682026262028737263506174682e6a6f696e28272f27292e737562737472282d312920213d3d20272f272929207b0a20202020737263506174682e70757368282727293b0a20207d0a0a20207661722069734162736f6c757465203d20737263506174685b305d203d3d3d202727207c7c0a20202020202028737263506174685b305d20262620737263506174685b305d2e636861724174283029203d3d3d20272f27293b0a0a20202f2f207075742074686520686f7374206261636b0a20206966202870737963686f74696329207b0a20202020726573756c742e686f73746e616d65203d20726573756c742e686f7374203d2069734162736f6c757465203f202727203a0a202020202020202020202020202020202020202020202020202020202020202020202020737263506174682e6c656e677468203f20737263506174682e73686966742829203a2027273b0a202020202f2f6f63636174696f6e616c792074686520617574682063616e2067657420737475636b206f6e6c7920696e20686f73740a202020202f2f7468697320657370656369616c6c792068617070656e7320696e206361736573206c696b650a202020202f2f75726c2e7265736f6c76654f626a65637428276d61696c746f3a6c6f63616c3140646f6d61696e31272c20276c6f63616c3240646f6d61696e3227290a202020207661722061757468496e486f7374203d20726573756c742e686f737420262620726573756c742e686f73742e696e6465784f662827402729203e2030203f0a202020202020202020202020202020202020202020726573756c742e686f73742e73706c69742827402729203a2066616c73653b0a202020206966202861757468496e486f737429207b0a202020202020726573756c742e61757468203d2061757468496e486f73742e736869667428293b0a202020202020726573756c742e686f7374203d20726573756c742e686f73746e616d65203d2061757468496e486f73742e736869667428293b0a202020207d0a20207d0a0a20206d757374456e64416273203d206d757374456e64416273207c7c2028726573756c742e686f737420262620737263506174682e6c656e677468293b0a0a2020696620286d757374456e64416273202626202169734162736f6c75746529207b0a20202020737263506174682e756e7368696674282727293b0a20207d0a0a20206966202821737263506174682e6c656e67746829207b0a20202020726573756c742e706174686e616d65203d206e756c6c3b0a20202020726573756c742e70617468203d206e756c6c3b0a20207d20656c7365207b0a20202020726573756c742e706174686e616d65203d20737263506174682e6a6f696e28272f27293b0a20207d0a0a20202f2f746f20737570706f727420726571756573742e687474700a202069662028217574696c2e69734e756c6c28726573756c742e706174686e616d6529207c7c20217574696c2e69734e756c6c28726573756c742e7365617263682929207b0a20202020726573756c742e70617468203d2028726573756c742e706174686e616d65203f20726573756c742e706174686e616d65203a20272729202b0a20202020202020202020202020202020202028726573756c742e736561726368203f20726573756c742e736561726368203a202727293b0a20207d0a2020726573756c742e61757468203d2072656c61746976652e61757468207c7c20726573756c742e617574683b0a2020726573756c742e736c6173686573203d20726573756c742e736c6173686573207c7c2072656c61746976652e736c61736865733b0a2020726573756c742e68726566203d20726573756c742e666f726d617428293b0a202072657475726e20726573756c743b0a7d3b0a0a55726c2e70726f746f747970652e7061727365486f7374203d2066756e6374696f6e2829207b0a202076617220686f7374203d20746869732e686f73743b0a202076617220706f7274203d20706f72745061747465726e2e6578656328686f7374293b0a202069662028706f727429207b0a20202020706f7274203d20706f72745b305d3b0a2020202069662028706f727420213d3d20273a2729207b0a202020202020746869732e706f7274203d20706f72742e7375627374722831293b0a202020207d0a20202020686f7374203d20686f73742e73756273747228302c20686f73742e6c656e677468202d20706f72742e6c656e677468293b0a20207d0a202069662028686f73742920746869732e686f73746e616d65203d20686f73743b0a7d3b0a0a7d2c7b222e2f7574696c223a33362c2270756e79636f6465223a3132362c227175657279737472696e67223a3132397d5d2c33363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d207b0a20206973537472696e673a2066756e6374696f6e2861726729207b0a2020202072657475726e20747970656f662861726729203d3d3d2027737472696e67273b0a20207d2c0a202069734f626a6563743a2066756e6374696f6e2861726729207b0a2020202072657475726e20747970656f662861726729203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a20207d2c0a202069734e756c6c3a2066756e6374696f6e2861726729207b0a2020202072657475726e20617267203d3d3d206e756c6c3b0a20207d2c0a202069734e756c6c4f72556e646566696e65643a2066756e6374696f6e2861726729207b0a2020202072657475726e20617267203d3d206e756c6c3b0a20207d0a7d3b0a0a7d2c7b7d5d2c33373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a202022313030223a2022436f6e74696e7565222c0a202022313031223a2022537769746368696e672050726f746f636f6c73222c0a202022313032223a202250726f63657373696e67222c0a202022323030223a20224f4b222c0a202022323031223a202243726561746564222c0a202022323032223a20224163636570746564222c0a202022323033223a20224e6f6e2d417574686f726974617469766520496e666f726d6174696f6e222c0a202022323034223a20224e6f20436f6e74656e74222c0a202022323035223a2022526573657420436f6e74656e74222c0a202022323036223a20225061727469616c20436f6e74656e74222c0a202022323037223a20224d756c74692d537461747573222c0a202022323038223a2022416c7265616479205265706f72746564222c0a202022323236223a2022494d2055736564222c0a202022333030223a20224d756c7469706c652043686f69636573222c0a202022333031223a20224d6f766564205065726d616e656e746c79222c0a202022333032223a2022466f756e64222c0a202022333033223a2022536565204f74686572222c0a202022333034223a20224e6f74204d6f646966696564222c0a202022333035223a20225573652050726f7879222c0a202022333037223a202254656d706f72617279205265646972656374222c0a202022333038223a20225065726d616e656e74205265646972656374222c0a202022343030223a20224261642052657175657374222c0a202022343031223a2022556e617574686f72697a6564222c0a202022343032223a20225061796d656e74205265717569726564222c0a202022343033223a2022466f7262696464656e222c0a202022343034223a20224e6f7420466f756e64222c0a202022343035223a20224d6574686f64204e6f7420416c6c6f776564222c0a202022343036223a20224e6f742041636365707461626c65222c0a202022343037223a202250726f78792041757468656e7469636174696f6e205265717569726564222c0a202022343038223a2022526571756573742054696d656f7574222c0a202022343039223a2022436f6e666c696374222c0a202022343130223a2022476f6e65222c0a202022343131223a20224c656e677468205265717569726564222c0a202022343132223a2022507265636f6e646974696f6e204661696c6564222c0a202022343133223a20225061796c6f616420546f6f204c61726765222c0a202022343134223a202255524920546f6f204c6f6e67222c0a202022343135223a2022556e737570706f72746564204d656469612054797065222c0a202022343136223a202252616e6765204e6f74205361746973666961626c65222c0a202022343137223a20224578706563746174696f6e204661696c6564222c0a202022343138223a202249276d206120746561706f74222c0a202022343231223a20224d697364697265637465642052657175657374222c0a202022343232223a2022556e70726f6365737361626c6520456e74697479222c0a202022343233223a20224c6f636b6564222c0a202022343234223a20224661696c656420446570656e64656e6379222c0a202022343235223a2022556e6f72646572656420436f6c6c656374696f6e222c0a202022343236223a202255706772616465205265717569726564222c0a202022343238223a2022507265636f6e646974696f6e205265717569726564222c0a202022343239223a2022546f6f204d616e79205265717565737473222c0a202022343331223a20225265717565737420486561646572204669656c647320546f6f204c61726765222c0a202022343531223a2022556e617661696c61626c6520466f72204c6567616c20526561736f6e73222c0a202022353030223a2022496e7465726e616c20536572766572204572726f72222c0a202022353031223a20224e6f7420496d706c656d656e746564222c0a202022353032223a20224261642047617465776179222c0a202022353033223a20225365727669636520556e617661696c61626c65222c0a202022353034223a2022476174657761792054696d656f7574222c0a202022353035223a2022485454502056657273696f6e204e6f7420537570706f72746564222c0a202022353036223a202256617269616e7420416c736f204e65676f746961746573222c0a202022353037223a2022496e73756666696369656e742053746f72616765222c0a202022353038223a20224c6f6f70204465746563746564222c0a202022353039223a202242616e647769647468204c696d6974204578636565646564222c0a202022353130223a20224e6f7420457874656e646564222c0a202022353131223a20224e6574776f726b2041757468656e7469636174696f6e205265717569726564220a7d0a0a7d2c7b7d5d2c33383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028427566666572297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f204e4f54453a205468657365207479706520636865636b696e672066756e6374696f6e7320696e74656e74696f6e616c6c7920646f6e2774207573652060696e7374616e63656f66600a2f2f20626563617573652069742069732066726167696c6520616e642063616e20626520656173696c792066616b6564207769746820604f626a6563742e6372656174652829602e0a0a66756e6374696f6e20697341727261792861726729207b0a20206966202841727261792e6973417272617929207b0a2020202072657475726e2041727261792e6973417272617928617267293b0a20207d0a202072657475726e206f626a656374546f537472696e672861726729203d3d3d20275b6f626a6563742041727261795d273b0a7d0a6578706f7274732e69734172726179203d20697341727261793b0a0a66756e6374696f6e206973426f6f6c65616e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d2027626f6f6c65616e273b0a7d0a6578706f7274732e6973426f6f6c65616e203d206973426f6f6c65616e3b0a0a66756e6374696f6e2069734e756c6c2861726729207b0a202072657475726e20617267203d3d3d206e756c6c3b0a7d0a6578706f7274732e69734e756c6c203d2069734e756c6c3b0a0a66756e6374696f6e2069734e756c6c4f72556e646566696e65642861726729207b0a202072657475726e20617267203d3d206e756c6c3b0a7d0a6578706f7274732e69734e756c6c4f72556e646566696e6564203d2069734e756c6c4f72556e646566696e65643b0a0a66756e6374696f6e2069734e756d6265722861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276e756d626572273b0a7d0a6578706f7274732e69734e756d626572203d2069734e756d6265723b0a0a66756e6374696f6e206973537472696e672861726729207b0a202072657475726e20747970656f6620617267203d3d3d2027737472696e67273b0a7d0a6578706f7274732e6973537472696e67203d206973537472696e673b0a0a66756e6374696f6e20697353796d626f6c2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202773796d626f6c273b0a7d0a6578706f7274732e697353796d626f6c203d20697353796d626f6c3b0a0a66756e6374696f6e206973556e646566696e65642861726729207b0a202072657475726e20617267203d3d3d20766f696420303b0a7d0a6578706f7274732e6973556e646566696e6564203d206973556e646566696e65643b0a0a66756e6374696f6e20697352656745787028726529207b0a202072657475726e206f626a656374546f537472696e6728726529203d3d3d20275b6f626a656374205265674578705d273b0a7d0a6578706f7274732e6973526567457870203d2069735265674578703b0a0a66756e6374696f6e2069734f626a6563742861726729207b0a202072657475726e20747970656f6620617267203d3d3d20276f626a656374272026262061726720213d3d206e756c6c3b0a7d0a6578706f7274732e69734f626a656374203d2069734f626a6563743b0a0a66756e6374696f6e20697344617465286429207b0a202072657475726e206f626a656374546f537472696e67286429203d3d3d20275b6f626a65637420446174655d273b0a7d0a6578706f7274732e697344617465203d206973446174653b0a0a66756e6374696f6e2069734572726f72286529207b0a202072657475726e20286f626a656374546f537472696e67286529203d3d3d20275b6f626a656374204572726f725d27207c7c206520696e7374616e63656f66204572726f72293b0a7d0a6578706f7274732e69734572726f72203d2069734572726f723b0a0a66756e6374696f6e20697346756e6374696f6e2861726729207b0a202072657475726e20747970656f6620617267203d3d3d202766756e6374696f6e273b0a7d0a6578706f7274732e697346756e6374696f6e203d20697346756e6374696f6e3b0a0a66756e6374696f6e2069735072696d69746976652861726729207b0a202072657475726e20617267203d3d3d206e756c6c207c7c0a202020202020202020747970656f6620617267203d3d3d2027626f6f6c65616e27207c7c0a202020202020202020747970656f6620617267203d3d3d20276e756d62657227207c7c0a202020202020202020747970656f6620617267203d3d3d2027737472696e6727207c7c0a202020202020202020747970656f6620617267203d3d3d202773796d626f6c27207c7c20202f2f204553362073796d626f6c0a202020202020202020747970656f6620617267203d3d3d2027756e646566696e6564273b0a7d0a6578706f7274732e69735072696d6974697665203d2069735072696d69746976653b0a0a6578706f7274732e6973427566666572203d204275666665722e69734275666665723b0a0a66756e6374696f6e206f626a656374546f537472696e67286f29207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c286f293b0a7d0a0a7d292e63616c6c28746869732c7b226973427566666572223a7265717569726528222e2e2f2e2e2f69732d6275666665722f696e6465782e6a7322297d290a7d2c7b222e2e2f2e2e2f69732d6275666665722f696e6465782e6a73223a3132327d5d2c33393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d61727261792f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220617363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d3b0a0a766172206269736563746f72203d2066756e6374696f6e28636f6d7061726529207b0a202069662028636f6d706172652e6c656e677468203d3d3d20312920636f6d70617265203d20617363656e64696e67436f6d70617261746f7228636f6d70617265293b0a202072657475726e207b0a202020206c6566743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203c203029206c6f203d206d6964202b20313b0a2020202020202020656c7365206869203d206d69643b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d2c0a2020202072696768743a2066756e6374696f6e28612c20782c206c6f2c20686929207b0a202020202020696620286c6f203d3d206e756c6c29206c6f203d20303b0a202020202020696620286869203d3d206e756c6c29206869203d20612e6c656e6774683b0a2020202020207768696c6520286c6f203c20686929207b0a2020202020202020766172206d6964203d206c6f202b206869203e3e3e20313b0a202020202020202069662028636f6d7061726528615b6d69645d2c207829203e203029206869203d206d69643b0a2020202020202020656c7365206c6f203d206d6964202b20313b0a2020202020207d0a20202020202072657475726e206c6f3b0a202020207d0a20207d3b0a7d3b0a0a66756e6374696f6e20617363656e64696e67436f6d70617261746f72286629207b0a202072657475726e2066756e6374696f6e28642c207829207b0a2020202072657475726e20617363656e64696e6728662864292c2078293b0a20207d3b0a7d0a0a76617220617363656e64696e67426973656374203d206269736563746f7228617363656e64696e67293b0a766172206269736563745269676874203d20617363656e64696e674269736563742e72696768743b0a766172206269736563744c656674203d20617363656e64696e674269736563742e6c6566743b0a0a766172207061697273203d2066756e6374696f6e2861727261792c206629207b0a20206966202866203d3d206e756c6c292066203d20706169723b0a20207661722069203d20302c206e203d2061727261792e6c656e677468202d20312c2070203d2061727261795b305d2c207061697273203d206e6577204172726179286e203c2030203f2030203a206e293b0a20207768696c65202869203c206e292070616972735b695d203d206628702c2070203d2061727261795b2b2b695d293b0a202072657475726e2070616972733b0a7d3b0a0a66756e6374696f6e207061697228612c206229207b0a202072657475726e205b612c20625d3b0a7d0a0a7661722063726f7373203d2066756e6374696f6e2876616c756573302c2076616c756573312c2072656475636529207b0a2020766172206e30203d2076616c756573302e6c656e6774682c0a2020202020206e31203d2076616c756573312e6c656e6774682c0a20202020202076616c756573203d206e6577204172726179286e30202a206e31292c0a20202020202069302c0a20202020202069312c0a202020202020692c0a20202020202076616c7565303b0a0a202069662028726564756365203d3d206e756c6c2920726564756365203d20706169723b0a0a2020666f7220286930203d2069203d20303b206930203c206e303b202b2b693029207b0a20202020666f72202876616c756530203d2076616c756573305b69305d2c206931203d20303b206931203c206e313b202b2b69312c202b2b6929207b0a20202020202076616c7565735b695d203d207265647563652876616c7565302c2076616c756573315b69315d293b0a202020207d0a20207d0a0a202072657475726e2076616c7565733b0a7d3b0a0a7661722064657363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e287829207b0a202072657475726e2078203d3d3d206e756c6c203f204e614e203a202b783b0a7d3b0a0a7661722076617269616e6365203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d20302c0a20202020202069203d202d312c0a2020202020206d65616e203d20302c0a20202020202076616c75652c0a20202020202064656c74612c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a202020202020202064656c7461203d2076616c7565202d206d65616e3b0a20202020202020206d65616e202b3d2064656c7461202f202b2b6d3b0a202020202020202073756d202b3d2064656c7461202a202876616c7565202d206d65616e293b0a2020202020207d0a202020207d0a20207d0a0a2020696620286d203e2031292072657475726e2073756d202f20286d202d2031293b0a7d3b0a0a76617220646576696174696f6e203d2066756e6374696f6e2861727261792c206629207b0a20207661722076203d2076617269616e63652861727261792c2066293b0a202072657475726e2076203f204d6174682e73717274287629203a20763b0a7d3b0a0a76617220657874656e74203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e2c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c29207b0a202020202020202020202020696620286d696e203e2076616c756529206d696e203d2076616c75653b0a202020202020202020202020696620286d6178203c2076616c756529206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e205b6d696e2c206d61785d3b0a7d3b0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a76617220736c696365203d2061727261792e736c6963653b0a766172206d6170203d2061727261792e6d61703b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a7661722072616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a20207374617274203d202b73746172742c2073746f70203d202b73746f702c2073746570203d20286e203d20617267756d656e74732e6c656e67746829203c2032203f202873746f70203d2073746172742c207374617274203d20302c203129203a206e203c2033203f2031203a202b737465703b0a0a20207661722069203d202d312c0a2020202020206e203d204d6174682e6d617828302c204d6174682e6365696c282873746f70202d20737461727429202f20737465702929207c20302c0a20202020202072616e6765203d206e6577204172726179286e293b0a0a20207768696c6520282b2b69203c206e29207b0a2020202072616e67655b695d203d207374617274202b2069202a20737465703b0a20207d0a0a202072657475726e2072616e67653b0a7d3b0a0a76617220653130203d204d6174682e73717274283530293b0a766172206535203d204d6174682e73717274283130293b0a766172206532203d204d6174682e737172742832293b0a0a766172207469636b73203d2066756e6374696f6e2873746172742c2073746f702c20636f756e7429207b0a202076617220726576657273652c0a20202020202069203d202d312c0a2020202020206e2c0a2020202020207469636b732c0a202020202020737465703b0a0a202073746f70203d202b73746f702c207374617274203d202b73746172742c20636f756e74203d202b636f756e743b0a2020696620287374617274203d3d3d2073746f7020262620636f756e74203e2030292072657475726e205b73746172745d3b0a20206966202872657665727365203d2073746f70203c20737461727429206e203d2073746172742c207374617274203d2073746f702c2073746f70203d206e3b0a2020696620282873746570203d207469636b496e6372656d656e742873746172742c2073746f702c20636f756e742929203d3d3d2030207c7c2021697346696e697465287374657029292072657475726e205b5d3b0a0a20206966202873746570203e203029207b0a202020207374617274203d204d6174682e6365696c287374617274202f2073746570293b0a2020202073746f70203d204d6174682e666c6f6f722873746f70202f2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c2873746f70202d207374617274202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202b206929202a20737465703b0a20207d20656c7365207b0a202020207374617274203d204d6174682e666c6f6f72287374617274202a2073746570293b0a2020202073746f70203d204d6174682e6365696c2873746f70202a2073746570293b0a202020207469636b73203d206e6577204172726179286e203d204d6174682e6365696c287374617274202d2073746f70202b203129293b0a202020207768696c6520282b2b69203c206e29207469636b735b695d203d20287374617274202d206929202f20737465703b0a20207d0a0a2020696620287265766572736529207469636b732e7265766572736528293b0a0a202072657475726e207469636b733b0a7d3b0a0a66756e6374696f6e207469636b496e6372656d656e742873746172742c2073746f702c20636f756e7429207b0a20207661722073746570203d202873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a202020202020706f776572203d204d6174682e666c6f6f72284d6174682e6c6f67287374657029202f204d6174682e4c4e3130292c0a2020202020206572726f72203d2073746570202f204d6174682e706f772831302c20706f776572293b0a202072657475726e20706f776572203e3d20300a2020202020203f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a203129202a204d6174682e706f772831302c20706f776572290a2020202020203a202d4d6174682e706f772831302c202d706f77657229202f20286572726f72203e3d20653130203f203130203a206572726f72203e3d206535203f2035203a206572726f72203e3d206532203f2032203a2031293b0a7d0a0a66756e6374696f6e207469636b537465702873746172742c2073746f702c20636f756e7429207b0a2020766172207374657030203d204d6174682e6162732873746f70202d20737461727429202f204d6174682e6d617828302c20636f756e74292c0a2020202020207374657031203d204d6174682e706f772831302c204d6174682e666c6f6f72284d6174682e6c6f6728737465703029202f204d6174682e4c4e313029292c0a2020202020206572726f72203d207374657030202f2073746570313b0a2020696620286572726f72203e3d2065313029207374657031202a3d2031303b0a2020656c736520696620286572726f72203e3d20653529207374657031202a3d20353b0a2020656c736520696620286572726f72203e3d20653229207374657031202a3d20323b0a202072657475726e2073746f70203c207374617274203f202d7374657031203a2073746570313b0a7d0a0a7661722073747572676573203d2066756e6374696f6e2876616c75657329207b0a202072657475726e204d6174682e6365696c284d6174682e6c6f672876616c7565732e6c656e67746829202f204d6174682e4c4e3229202b20313b0a7d3b0a0a76617220686973746f6772616d203d2066756e6374696f6e2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020646f6d61696e203d20657874656e742c0a2020202020207468726573686f6c64203d20737475726765733b0a0a202066756e6374696f6e20686973746f6772616d286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020782c0a202020202020202076616c756573203d206e6577204172726179286e293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202076616c7565735b695d203d2076616c756528646174615b695d2c20692c2064617461293b0a202020207d0a0a2020202076617220787a203d20646f6d61696e2876616c756573292c0a20202020202020207830203d20787a5b305d2c0a20202020202020207831203d20787a5b315d2c0a2020202020202020747a203d207468726573686f6c642876616c7565732c2078302c207831293b0a0a202020202f2f20436f6e76657274206e756d626572206f66207468726573686f6c647320696e746f20756e69666f726d207468726573686f6c64732e0a20202020696620282141727261792e6973417272617928747a2929207b0a202020202020747a203d207469636b537465702878302c2078312c20747a293b0a202020202020747a203d2072616e6765284d6174682e6365696c287830202f20747a29202a20747a2c204d6174682e666c6f6f72287831202f20747a29202a20747a2c20747a293b202f2f206578636c75736976650a202020207d0a0a202020202f2f2052656d6f766520616e79207468726573686f6c6473206f7574736964652074686520646f6d61696e2e0a20202020766172206d203d20747a2e6c656e6774683b0a202020207768696c652028747a5b305d203c3d2078302920747a2e736869667428292c202d2d6d3b0a202020207768696c652028747a5b6d202d20315d203e2078312920747a2e706f7028292c202d2d6d3b0a0a202020207661722062696e73203d206e6577204172726179286d202b2031292c0a202020202020202062696e3b0a0a202020202f2f20496e697469616c697a652062696e732e0a20202020666f72202869203d20303b2069203c3d206d3b202b2b6929207b0a20202020202062696e203d2062696e735b695d203d205b5d3b0a20202020202062696e2e7830203d2069203e2030203f20747a5b69202d20315d203a2078303b0a20202020202062696e2e7831203d2069203c206d203f20747a5b695d203a2078313b0a202020207d0a0a202020202f2f2041737369676e206461746120746f2062696e732062792076616c75652c2069676e6f72696e6720616e79206f7574736964652074686520646f6d61696e2e0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202078203d2076616c7565735b695d3b0a202020202020696620287830203c3d20782026262078203c3d20783129207b0a202020202020202062696e735b626973656374526967687428747a2c20782c20302c206d295d2e7075736828646174615b695d293b0a2020202020207d0a202020207d0a0a2020202072657475726e2062696e733b0a20207d0a0a2020686973746f6772616d2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c20686973746f6772616d29203a2076616c75653b0a20207d3b0a0a2020686973746f6772616d2e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5f5b305d2c205f5b315d5d292c20686973746f6772616d29203a20646f6d61696e3b0a20207d3b0a0a2020686973746f6772616d2e7468726573686f6c6473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287468726573686f6c64203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2041727261792e69734172726179285f29203f20636f6e7374616e7428736c6963652e63616c6c285f2929203a20636f6e7374616e74285f292c20686973746f6772616d29203a207468726573686f6c643b0a20207d3b0a0a202072657475726e20686973746f6772616d3b0a7d3b0a0a766172207175616e74696c65203d2066756e6374696f6e2876616c7565732c20702c2076616c75656f6629207b0a20206966202876616c75656f66203d3d206e756c6c292076616c75656f66203d206e756d6265723b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020696620282870203d202b7029203c3d2030207c7c206e203c2032292072657475726e202b76616c75656f662876616c7565735b305d2c20302c2076616c756573293b0a20206966202870203e3d2031292072657475726e202b76616c75656f662876616c7565735b6e202d20315d2c206e202d20312c2076616c756573293b0a2020766172206e2c0a20202020202069203d20286e202d203129202a20702c0a2020202020206930203d204d6174682e666c6f6f722869292c0a20202020202076616c756530203d202b76616c75656f662876616c7565735b69305d2c2069302c2076616c756573292c0a20202020202076616c756531203d202b76616c75656f662876616c7565735b6930202b20315d2c206930202b20312c2076616c756573293b0a202072657475726e2076616c756530202b202876616c756531202d2076616c75653029202a202869202d206930293b0a7d3b0a0a7661722066726565646d616e446961636f6e6973203d2066756e6374696f6e2876616c7565732c206d696e2c206d617829207b0a202076616c756573203d206d61702e63616c6c2876616c7565732c206e756d626572292e736f727428617363656e64696e67293b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f202832202a20287175616e74696c652876616c7565732c20302e373529202d207175616e74696c652876616c7565732c20302e32352929202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d3b0a0a7661722073636f7474203d2066756e6374696f6e2876616c7565732c206d696e2c206d617829207b0a202072657475726e204d6174682e6365696c28286d6178202d206d696e29202f2028332e35202a20646576696174696f6e2876616c75657329202a204d6174682e706f772876616c7565732e6c656e6774682c202d31202f20332929293b0a7d3b0a0a766172206d6178203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d61783b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d6178203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e206d617829207b0a2020202020202020202020206d6178203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d61783b0a7d3b0a0a766172206d65616e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a2020202020206d203d206e2c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d2929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c756573292929292073756d202b3d2076616c75653b0a202020202020656c7365202d2d6d3b0a202020207d0a20207d0a0a2020696620286d292072657475726e2073756d202f206d3b0a7d3b0a0a766172206d656469616e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206e756d62657273203d205b5d3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c7565735b695d292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a202020202020696620282169734e614e2876616c7565203d206e756d6265722876616c75656f662876616c7565735b695d2c20692c2076616c75657329292929207b0a20202020202020206e756d626572732e707573682876616c7565293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207175616e74696c65286e756d626572732e736f727428617363656e64696e67292c20302e35293b0a7d3b0a0a766172206d65726765203d2066756e6374696f6e2861727261797329207b0a2020766172206e203d206172726179732e6c656e6774682c0a2020202020206d2c0a20202020202069203d202d312c0a2020202020206a203d20302c0a2020202020206d65726765642c0a20202020202061727261793b0a0a20207768696c6520282b2b69203c206e29206a202b3d206172726179735b695d2e6c656e6774683b0a20206d6572676564203d206e6577204172726179286a293b0a0a20207768696c6520282d2d6e203e3d203029207b0a202020206172726179203d206172726179735b6e5d3b0a202020206d203d2061727261792e6c656e6774683b0a202020207768696c6520282d2d6d203e3d203029207b0a2020202020206d65726765645b2d2d6a5d203d2061727261795b6d5d3b0a202020207d0a20207d0a0a202072657475726e206d65726765643b0a7d3b0a0a766172206d696e203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a2020202020206d696e3b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c7565735b695d2920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b202f2f2046696e642074686520666972737420636f6d70617261626c652076616c75652e0a202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c2026262076616c7565203e3d2076616c756529207b0a20202020202020206d696e203d2076616c75653b0a20202020202020207768696c6520282b2b69203c206e29207b202f2f20436f6d70617265207468652072656d61696e696e672076616c7565732e0a20202020202020202020696620282876616c7565203d2076616c75656f662876616c7565735b695d2c20692c2076616c756573292920213d206e756c6c202626206d696e203e2076616c756529207b0a2020202020202020202020206d696e203d2076616c75653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206d696e3b0a7d3b0a0a766172207065726d757465203d2066756e6374696f6e2861727261792c20696e646578657329207b0a20207661722069203d20696e64657865732e6c656e6774682c207065726d75746573203d206e65772041727261792869293b0a20207768696c652028692d2d29207065726d757465735b695d203d2061727261795b696e64657865735b695d5d3b0a202072657475726e207065726d757465733b0a7d3b0a0a766172207363616e203d2066756e6374696f6e2876616c7565732c20636f6d7061726529207b0a20206966202821286e203d2076616c7565732e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a2020202020206a203d20302c0a20202020202078692c0a202020202020786a203d2076616c7565735b6a5d3b0a0a202069662028636f6d70617265203d3d206e756c6c2920636f6d70617265203d20617363656e64696e673b0a0a20207768696c6520282b2b69203c206e29207b0a2020202069662028636f6d70617265287869203d2076616c7565735b695d2c20786a29203c2030207c7c20636f6d7061726528786a2c20786a2920213d3d203029207b0a202020202020786a203d2078692c206a203d20693b0a202020207d0a20207d0a0a202069662028636f6d7061726528786a2c20786a29203d3d3d2030292072657475726e206a3b0a7d3b0a0a7661722073687566666c65203d2066756e6374696f6e2861727261792c2069302c20693129207b0a2020766172206d203d20286931203d3d206e756c6c203f2061727261792e6c656e677468203a20693129202d20286930203d206930203d3d206e756c6c203f2030203a202b6930292c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d202b2069305d3b0a2020202061727261795b6d202b2069305d203d2061727261795b69202b2069305d3b0a2020202061727261795b69202b2069305d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d3b0a0a7661722073756d203d2066756e6374696f6e2876616c7565732c2076616c75656f6629207b0a2020766172206e203d2076616c7565732e6c656e6774682c0a20202020202069203d202d312c0a20202020202076616c75652c0a20202020202073756d203d20303b0a0a20206966202876616c75656f66203d3d206e756c6c29207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c7565735b695d292073756d202b3d2076616c75653b202f2f204e6f74653a207a65726f20616e64206e756c6c20617265206571756976616c656e742e0a202020207d0a20207d0a0a2020656c7365207b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c7565203d202b76616c75656f662876616c7565735b695d2c20692c2076616c75657329292073756d202b3d2076616c75653b0a202020207d0a20207d0a0a202072657475726e2073756d3b0a7d3b0a0a766172207472616e73706f7365203d2066756e6374696f6e286d617472697829207b0a20206966202821286e203d206d61747269782e6c656e67746829292072657475726e205b5d3b0a2020666f7220287661722069203d202d312c206d203d206d696e286d61747269782c206c656e677468292c207472616e73706f7365203d206e6577204172726179286d293b202b2b69203c206d3b29207b0a20202020666f722028766172206a203d202d312c206e2c20726f77203d207472616e73706f73655b695d203d206e6577204172726179286e293b202b2b6a203c206e3b29207b0a202020202020726f775b6a5d203d206d61747269785b6a5d5b695d3b0a202020207d0a20207d0a202072657475726e207472616e73706f73653b0a7d3b0a0a66756e6374696f6e206c656e677468286429207b0a202072657475726e20642e6c656e6774683b0a7d0a0a766172207a6970203d2066756e6374696f6e2829207b0a202072657475726e207472616e73706f736528617267756d656e7473293b0a7d3b0a0a6578706f7274732e626973656374203d2062697365637452696768743b0a6578706f7274732e6269736563745269676874203d2062697365637452696768743b0a6578706f7274732e6269736563744c656674203d206269736563744c6566743b0a6578706f7274732e617363656e64696e67203d20617363656e64696e673b0a6578706f7274732e6269736563746f72203d206269736563746f723b0a6578706f7274732e63726f7373203d2063726f73733b0a6578706f7274732e64657363656e64696e67203d2064657363656e64696e673b0a6578706f7274732e646576696174696f6e203d20646576696174696f6e3b0a6578706f7274732e657874656e74203d20657874656e743b0a6578706f7274732e686973746f6772616d203d20686973746f6772616d3b0a6578706f7274732e7468726573686f6c6446726565646d616e446961636f6e6973203d2066726565646d616e446961636f6e69733b0a6578706f7274732e7468726573686f6c6453636f7474203d2073636f74743b0a6578706f7274732e7468726573686f6c6453747572676573203d20737475726765733b0a6578706f7274732e6d6178203d206d61783b0a6578706f7274732e6d65616e203d206d65616e3b0a6578706f7274732e6d656469616e203d206d656469616e3b0a6578706f7274732e6d65726765203d206d657267653b0a6578706f7274732e6d696e203d206d696e3b0a6578706f7274732e7061697273203d2070616972733b0a6578706f7274732e7065726d757465203d207065726d7574653b0a6578706f7274732e7175616e74696c65203d207175616e74696c653b0a6578706f7274732e72616e6765203d2072616e67653b0a6578706f7274732e7363616e203d207363616e3b0a6578706f7274732e73687566666c65203d2073687566666c653b0a6578706f7274732e73756d203d2073756d3b0a6578706f7274732e7469636b73203d207469636b733b0a6578706f7274732e7469636b496e6372656d656e74203d207469636b496e6372656d656e743b0a6578706f7274732e7469636b53746570203d207469636b537465703b0a6578706f7274732e7472616e73706f7365203d207472616e73706f73653b0a6578706f7274732e76617269616e6365203d2076617269616e63653b0a6578706f7274732e7a6970203d207a69703b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d617869732f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a76617220746f70203d20313b0a766172207269676874203d20323b0a76617220626f74746f6d203d20333b0a766172206c656674203d20343b0a76617220657073696c6f6e203d2031652d363b0a0a66756e6374696f6e207472616e736c61746558287829207b0a202072657475726e20227472616e736c6174652822202b202878202b20302e3529202b20222c3029223b0a7d0a0a66756e6374696f6e207472616e736c61746559287929207b0a202072657475726e20227472616e736c61746528302c22202b202879202b20302e3529202b202229223b0a7d0a0a66756e6374696f6e206e756d626572287363616c6529207b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c652864293b0a20207d3b0a7d0a0a66756e6374696f6e2063656e746572287363616c6529207b0a2020766172206f6666736574203d204d6174682e6d617828302c207363616c652e62616e6477696474682829202d203129202f20323b202f2f2041646a75737420666f7220302e357078206f66667365742e0a2020696620287363616c652e726f756e64282929206f6666736574203d204d6174682e726f756e64286f6666736574293b0a202072657475726e2066756e6374696f6e286429207b0a2020202072657475726e202b7363616c65286429202b206f66667365743b0a20207d3b0a7d0a0a66756e6374696f6e20656e746572696e672829207b0a202072657475726e2021746869732e5f5f617869733b0a7d0a0a66756e6374696f6e2061786973286f7269656e742c207363616c6529207b0a2020766172207469636b417267756d656e7473203d205b5d2c0a2020202020207469636b56616c756573203d206e756c6c2c0a2020202020207469636b466f726d6174203d206e756c6c2c0a2020202020207469636b53697a65496e6e6572203d20362c0a2020202020207469636b53697a654f75746572203d20362c0a2020202020207469636b50616464696e67203d20332c0a2020202020206b203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d206c656674203f202d31203a20312c0a20202020202078203d206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d3d207269676874203f20227822203a202279222c0a2020202020207472616e73666f726d203d206f7269656e74203d3d3d20746f70207c7c206f7269656e74203d3d3d20626f74746f6d203f207472616e736c61746558203a207472616e736c617465593b0a0a202066756e6374696f6e206178697328636f6e7465787429207b0a202020207661722076616c756573203d207469636b56616c756573203d3d206e756c6c203f20287363616c652e7469636b73203f207363616c652e7469636b732e6170706c79287363616c652c207469636b417267756d656e747329203a207363616c652e646f6d61696e282929203a207469636b56616c7565732c0a2020202020202020666f726d6174203d207469636b466f726d6174203d3d206e756c6c203f20287363616c652e7469636b466f726d6174203f207363616c652e7469636b466f726d61742e6170706c79287363616c652c207469636b417267756d656e747329203a206964656e7469747929203a207469636b466f726d61742c0a202020202020202073706163696e67203d204d6174682e6d6178287469636b53697a65496e6e65722c203029202b207469636b50616464696e672c0a202020202020202072616e6765203d207363616c652e72616e676528292c0a202020202020202072616e676530203d202b72616e67655b305d202b20302e352c0a202020202020202072616e676531203d202b72616e67655b72616e67652e6c656e677468202d20315d202b20302e352c0a2020202020202020706f736974696f6e203d20287363616c652e62616e647769647468203f2063656e746572203a206e756d62657229287363616c652e636f70792829292c0a202020202020202073656c656374696f6e203d20636f6e746578742e73656c656374696f6e203f20636f6e746578742e73656c656374696f6e2829203a20636f6e746578742c0a202020202020202070617468203d2073656c656374696f6e2e73656c656374416c6c28222e646f6d61696e22292e64617461285b6e756c6c5d292c0a20202020202020207469636b203d2073656c656374696f6e2e73656c656374416c6c28222e7469636b22292e646174612876616c7565732c207363616c65292e6f7264657228292c0a20202020202020207469636b45786974203d207469636b2e6578697428292c0a20202020202020207469636b456e746572203d207469636b2e656e74657228292e617070656e6428226722292e617474722822636c617373222c20227469636b22292c0a20202020202020206c696e65203d207469636b2e73656c65637428226c696e6522292c0a202020202020202074657874203d207469636b2e73656c65637428227465787422293b0a0a2020202070617468203d20706174682e6d6572676528706174682e656e74657228292e696e73657274282270617468222c20222e7469636b22290a20202020202020202e617474722822636c617373222c2022646f6d61696e22290a20202020202020202e6174747228227374726f6b65222c2022233030302229293b0a0a202020207469636b203d207469636b2e6d65726765287469636b456e746572293b0a0a202020206c696e65203d206c696e652e6d65726765287469636b456e7465722e617070656e6428226c696e6522290a20202020202020202e6174747228227374726f6b65222c20222330303022290a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e657229293b0a0a2020202074657874203d20746578742e6d65726765287469636b456e7465722e617070656e6428227465787422290a20202020202020202e61747472282266696c6c222c20222330303022290a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e6174747228226479222c206f7269656e74203d3d3d20746f70203f202230656d22203a206f7269656e74203d3d3d20626f74746f6d203f2022302e3731656d22203a2022302e3332656d2229293b0a0a2020202069662028636f6e7465787420213d3d2073656c656374696f6e29207b0a20202020202070617468203d20706174682e7472616e736974696f6e28636f6e74657874293b0a2020202020207469636b203d207469636b2e7472616e736974696f6e28636f6e74657874293b0a2020202020206c696e65203d206c696e652e7472616e736974696f6e28636f6e74657874293b0a20202020202074657874203d20746578742e7472616e736974696f6e28636f6e74657874293b0a0a2020202020207469636b45786974203d207469636b457869742e7472616e736974696f6e28636f6e74657874290a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e20697346696e6974652864203d20706f736974696f6e28642929203f207472616e73666f726d286429203a20746869732e67657441747472696275746528227472616e73666f726d22293b207d293b0a0a2020202020207469636b456e7465720a202020202020202020202e6174747228226f706163697479222c20657073696c6f6e290a202020202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b207661722070203d20746869732e706172656e744e6f64652e5f5f617869733b2072657475726e207472616e73666f726d287020262620697346696e6974652870203d207028642929203f2070203a20706f736974696f6e286429293b207d293b0a202020207d0a0a202020207469636b457869742e72656d6f766528293b0a0a20202020706174680a20202020202020202e61747472282264222c206f7269656e74203d3d3d206c656674207c7c206f7269656e74203d3d2072696768740a2020202020202020202020203f20224d22202b206b202a207469636b53697a654f75746572202b20222c22202b2072616e676530202b202248302e355622202b2072616e676531202b20224822202b206b202a207469636b53697a654f757465720a2020202020202020202020203a20224d22202b2072616e676530202b20222c22202b206b202a207469636b53697a654f75746572202b202256302e354822202b2072616e676531202b20225622202b206b202a207469636b53697a654f75746572293b0a0a202020207469636b0a20202020202020202e6174747228226f706163697479222c2031290a20202020202020202e6174747228227472616e73666f726d222c2066756e6374696f6e286429207b2072657475726e207472616e73666f726d28706f736974696f6e286429293b207d293b0a0a202020206c696e650a20202020202020202e617474722878202b202232222c206b202a207469636b53697a65496e6e6572293b0a0a20202020746578740a20202020202020202e6174747228782c206b202a2073706163696e67290a20202020202020202e7465787428666f726d6174293b0a0a2020202073656c656374696f6e2e66696c74657228656e746572696e67290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822666f6e742d73697a65222c203130290a20202020202020202e617474722822666f6e742d66616d696c79222c202273616e732d736572696622290a20202020202020202e617474722822746578742d616e63686f72222c206f7269656e74203d3d3d207269676874203f2022737461727422203a206f7269656e74203d3d3d206c656674203f2022656e6422203a20226d6964646c6522293b0a0a2020202073656c656374696f6e0a20202020202020202e656163682866756e6374696f6e2829207b20746869732e5f5f61786973203d20706f736974696f6e3b207d293b0a20207d0a0a2020617869732e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65203d205f2c206178697329203a207363616c653b0a20207d3b0a0a2020617869732e7469636b73203d2066756e6374696f6e2829207b0a2020202072657475726e207469636b417267756d656e7473203d20736c6963652e63616c6c28617267756d656e7473292c20617869733b0a20207d3b0a0a2020617869732e7469636b417267756d656e7473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b417267756d656e7473203d205f203d3d206e756c6c203f205b5d203a20736c6963652e63616c6c285f292c206178697329203a207469636b417267756d656e74732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b56616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b56616c756573203d205f203d3d206e756c6c203f206e756c6c203a20736c6963652e63616c6c285f292c206178697329203a207469636b56616c756573202626207469636b56616c7565732e736c69636528293b0a20207d3b0a0a2020617869732e7469636b466f726d6174203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b466f726d6174203d205f2c206178697329203a207469636b466f726d61743b0a20207d3b0a0a2020617869732e7469636b53697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d207469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a65496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a65496e6e6572203d202b5f2c206178697329203a207469636b53697a65496e6e65723b0a20207d3b0a0a2020617869732e7469636b53697a654f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b53697a654f75746572203d202b5f2c206178697329203a207469636b53697a654f757465723b0a20207d3b0a0a2020617869732e7469636b50616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287469636b50616464696e67203d202b5f2c206178697329203a207469636b50616464696e673b0a20207d3b0a0a202072657475726e20617869733b0a7d0a0a66756e6374696f6e2061786973546f70287363616c6529207b0a202072657475726e206178697328746f702c207363616c65293b0a7d0a0a66756e6374696f6e20617869735269676874287363616c6529207b0a202072657475726e20617869732872696768742c207363616c65293b0a7d0a0a66756e6374696f6e2061786973426f74746f6d287363616c6529207b0a202072657475726e206178697328626f74746f6d2c207363616c65293b0a7d0a0a66756e6374696f6e20617869734c656674287363616c6529207b0a202072657475726e2061786973286c6566742c207363616c65293b0a7d0a0a6578706f7274732e61786973546f70203d2061786973546f703b0a6578706f7274732e617869735269676874203d206178697352696768743b0a6578706f7274732e61786973426f74746f6d203d2061786973426f74746f6d3b0a6578706f7274732e617869734c656674203d20617869734c6566743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d62727573682f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d6472616727292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d7472616e736974696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d64726167272c202764332d696e746572706f6c617465272c202764332d73656c656374696f6e272c202764332d7472616e736974696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c6433447261672c6433496e746572706f6c6174652c643353656c656374696f6e2c64335472616e736974696f6e29207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a7661722042727573684576656e74203d2066756e6374696f6e287461726765742c20747970652c2073656c656374696f6e29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e73656c656374696f6e203d2073656c656374696f6e3b0a7d3b0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a766172204d4f44455f44524147203d207b6e616d653a202264726167227d3b0a766172204d4f44455f5350414345203d207b6e616d653a20227370616365227d3b0a766172204d4f44455f48414e444c45203d207b6e616d653a202268616e646c65227d3b0a766172204d4f44455f43454e544552203d207b6e616d653a202263656e746572227d3b0a0a7661722058203d207b0a20206e616d653a202278222c0a202068616e646c65733a205b2265222c202277225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28782c206529207b2072657475726e2078202626205b5b785b305d2c20655b305d5b315d5d2c205b785b315d2c20655b315d5b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b305d2c2078795b315d5b305d5d3b207d0a7d3b0a0a7661722059203d207b0a20206e616d653a202279222c0a202068616e646c65733a205b226e222c202273225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28792c206529207b2072657475726e2079202626205b5b655b305d5b305d2c20795b305d5d2c205b655b315d5b305d2c20795b315d5d5d3b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e207879202626205b78795b305d5b315d2c2078795b315d5b315d5d3b207d0a7d3b0a0a766172205859203d207b0a20206e616d653a20227879222c0a202068616e646c65733a205b226e222c202265222c202273222c202277222c20226e77222c20226e65222c20227365222c20227377225d2e6d61702874797065292c0a2020696e7075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d2c0a20206f75747075743a2066756e6374696f6e28787929207b2072657475726e2078793b207d0a7d3b0a0a76617220637572736f7273203d207b0a20206f7665726c61793a202263726f737368616972222c0a202073656c656374696f6e3a20226d6f7665222c0a20206e3a20226e732d726573697a65222c0a2020653a202265772d726573697a65222c0a2020733a20226e732d726573697a65222c0a2020773a202265772d726573697a65222c0a20206e773a20226e7773652d726573697a65222c0a20206e653a20226e6573772d726573697a65222c0a202073653a20226e7773652d726573697a65222c0a202073773a20226e6573772d726573697a65220a7d3b0a0a76617220666c697058203d207b0a2020653a202277222c0a2020773a202265222c0a20206e773a20226e65222c0a20206e653a20226e77222c0a202073653a20227377222c0a202073773a20227365220a7d3b0a0a76617220666c697059203d207b0a20206e3a202273222c0a2020733a20226e222c0a20206e773a20227377222c0a20206e653a20227365222c0a202073653a20226e65222c0a202073773a20226e77220a7d3b0a0a766172207369676e7358203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a206e756c6c2c0a2020653a202b312c0a2020733a206e756c6c2c0a2020773a202d312c0a20206e773a202d312c0a20206e653a202b312c0a202073653a202b312c0a202073773a202d310a7d3b0a0a766172207369676e7359203d207b0a20206f7665726c61793a202b312c0a202073656c656374696f6e3a202b312c0a20206e3a202d312c0a2020653a206e756c6c2c0a2020733a202b312c0a2020773a206e756c6c2c0a20206e773a202d312c0a20206e653a202d312c0a202073653a202b312c0a202073773a202b310a7d3b0a0a66756e6374696f6e2074797065287429207b0a202072657475726e207b747970653a20747d3b0a7d0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a202076617220737667203d20746869732e6f776e6572535647456c656d656e74207c7c20746869733b0a202072657475726e205b5b302c20305d2c205b7376672e77696474682e6261736556616c2e76616c75652c207376672e6865696768742e6261736556616c2e76616c75655d5d3b0a7d0a0a2f2f204c696b652064332e6c6f63616c2c20627574207769746820746865206e616d6520e2809c5f5f6272757368e2809d20726174686572207468616e206175746f2d67656e6572617465642e0a66756e6374696f6e206c6f63616c286e6f646529207b0a20207768696c652028216e6f64652e5f5f627275736829206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a202072657475726e206e6f64652e5f5f62727573683b0a7d0a0a66756e6374696f6e20656d70747928657874656e7429207b0a202072657475726e20657874656e745b305d5b305d203d3d3d20657874656e745b315d5b305d0a2020202020207c7c20657874656e745b305d5b315d203d3d3d20657874656e745b315d5b315d3b0a7d0a0a66756e6374696f6e20627275736853656c656374696f6e286e6f646529207b0a2020766172207374617465203d206e6f64652e5f5f62727573683b0a202072657475726e207374617465203f2073746174652e64696d2e6f75747075742873746174652e73656c656374696f6e29203a206e756c6c3b0a7d0a0a66756e6374696f6e206272757368582829207b0a202072657475726e20627275736824312858293b0a7d0a0a66756e6374696f6e206272757368592829207b0a202072657475726e20627275736824312859293b0a7d0a0a766172206272757368203d2066756e6374696f6e2829207b0a202072657475726e2062727573682431285859293b0a7d3b0a0a66756e6374696f6e20627275736824312864696d29207b0a202076617220657874656e74203d2064656661756c74457874656e742c0a20202020202066696c746572203d2064656661756c7446696c7465722c0a2020202020206c697374656e657273203d20643344697370617463682e64697370617463682862727573682c20227374617274222c20226272757368222c2022656e6422292c0a20202020202068616e646c6553697a65203d20362c0a202020202020746f756368656e64696e673b0a0a202066756e6374696f6e2062727573682867726f757029207b0a20202020766172206f7665726c6179203d2067726f75700a20202020202020202e70726f706572747928225f5f6272757368222c20696e697469616c697a65290a2020202020202e73656c656374416c6c28222e6f7665726c617922290a2020202020202e64617461285b7479706528226f7665726c617922295d293b0a0a202020206f7665726c61792e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c20226f7665726c617922290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e617474722822637572736f72222c20637572736f72732e6f7665726c6179290a2020202020202e6d65726765286f7665726c6179290a20202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202076617220657874656e74203d206c6f63616c2874686973292e657874656e743b0a20202020202020202020643353656c656374696f6e2e73656c6563742874686973290a20202020202020202020202020202e61747472282278222c20657874656e745b305d5b305d290a20202020202020202020202020202e61747472282279222c20657874656e745b305d5b315d290a20202020202020202020202020202e6174747228227769647468222c20657874656e745b315d5b305d202d20657874656e745b305d5b305d290a20202020202020202020202020202e617474722822686569676874222c20657874656e745b315d5b315d202d20657874656e745b305d5b315d293b0a20202020202020207d293b0a0a2020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a2020202020202e64617461285b74797065282273656c656374696f6e22295d290a2020202020202e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c202273656c656374696f6e22290a20202020202020202e617474722822637572736f72222c20637572736f72732e73656c656374696f6e290a20202020202020202e61747472282266696c6c222c20222337373722290a20202020202020202e61747472282266696c6c2d6f706163697479222c20302e33290a20202020202020202e6174747228227374726f6b65222c20222366666622290a20202020202020202e61747472282273686170652d72656e646572696e67222c20226372697370456467657322293b0a0a202020207661722068616e646c65203d2067726f75702e73656c656374416c6c28222e68616e646c6522290a2020202020202e646174612864696d2e68616e646c65732c2066756e6374696f6e286429207b2072657475726e20642e747970653b207d293b0a0a2020202068616e646c652e6578697428292e72656d6f766528293b0a0a2020202068616e646c652e656e74657228292e617070656e6428227265637422290a20202020202020202e617474722822636c617373222c2066756e6374696f6e286429207b2072657475726e202268616e646c652068616e646c652d2d22202b20642e747970653b207d290a20202020202020202e617474722822637572736f72222c2066756e6374696f6e286429207b2072657475726e20637572736f72735b642e747970655d3b207d293b0a0a2020202067726f75700a20202020202020202e6561636828726564726177290a20202020202020202e61747472282266696c6c222c20226e6f6e6522290a20202020202020202e617474722822706f696e7465722d6576656e7473222c2022616c6c22290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922290a20202020202020202e6f6e28226d6f757365646f776e2e627275736820746f75636873746172742e6272757368222c2073746172746564293b0a20207d0a0a202062727573682e6d6f7665203d2066756e6374696f6e2867726f75702c2073656c656374696f6e29207b0a202020206966202867726f75702e73656c656374696f6e29207b0a20202020202067726f75700a202020202020202020202e6f6e282273746172742e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e6265666f7265737461727428292e737461727428293b207d290a202020202020202020202e6f6e2822696e746572727570742e627275736820656e642e6272757368222c2066756e6374696f6e2829207b20656d697474657228746869732c20617267756d656e7473292e656e6428293b207d290a202020202020202020202e747765656e28226272757368222c2066756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292c0a2020202020202020202020202020202073656c656374696f6e30203d2073746174652e73656c656374696f6e2c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2e6170706c7928746869732c20617267756d656e747329203a2073656c656374696f6e2c2073746174652e657874656e74292c0a2020202020202020202020202020202069203d206433496e746572706f6c6174652e696e746572706f6c6174652873656c656374696f6e302c2073656c656374696f6e31293b0a0a20202020202020202020202066756e6374696f6e20747765656e287429207b0a202020202020202020202020202073746174652e73656c656374696f6e203d2074203d3d3d203120262620656d7074792873656c656374696f6e3129203f206e756c6c203a20692874293b0a20202020202020202020202020207265647261772e63616c6c2874686174293b0a2020202020202020202020202020656d69742e627275736828293b0a2020202020202020202020207d0a0a20202020202020202020202072657475726e2073656c656374696f6e302026262073656c656374696f6e31203f20747765656e203a20747765656e2831293b0a202020202020202020207d293b0a202020207d20656c7365207b0a20202020202067726f75700a202020202020202020202e656163682866756e6374696f6e2829207b0a2020202020202020202020207661722074686174203d20746869732c0a2020202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202020207374617465203d20746861742e5f5f62727573682c0a2020202020202020202020202020202073656c656374696f6e31203d2064696d2e696e70757428747970656f662073656c656374696f6e203d3d3d202266756e6374696f6e22203f2073656c656374696f6e2e6170706c7928746861742c206172677329203a2073656c656374696f6e2c2073746174652e657874656e74292c0a20202020202020202020202020202020656d6974203d20656d697474657228746861742c2061726773292e6265666f7265737461727428293b0a0a20202020202020202020202064335472616e736974696f6e2e696e746572727570742874686174293b0a20202020202020202020202073746174652e73656c656374696f6e203d2073656c656374696f6e31203d3d206e756c6c207c7c20656d7074792873656c656374696f6e3129203f206e756c6c203a2073656c656374696f6e313b0a2020202020202020202020207265647261772e63616c6c2874686174293b0a202020202020202020202020656d69742e737461727428292e627275736828292e656e6428293b0a202020202020202020207d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e207265647261772829207b0a202020207661722067726f7570203d20643353656c656374696f6e2e73656c6563742874686973292c0a202020202020202073656c656374696f6e203d206c6f63616c2874686973292e73656c656374696f6e3b0a0a202020206966202873656c656374696f6e29207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e22290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2073656c656374696f6e5b305d5b305d290a202020202020202020202e61747472282279222c2073656c656374696f6e5b305d5b315d290a202020202020202020202e6174747228227769647468222c2073656c656374696f6e5b315d5b305d202d2073656c656374696f6e5b305d5b305d290a202020202020202020202e617474722822686569676874222c2073656c656374696f6e5b315d5b315d202d2073656c656374696f6e5b305d5b315d293b0a0a20202020202067726f75702e73656c656374416c6c28222e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c206e756c6c290a202020202020202020202e61747472282278222c2066756e6374696f6e286429207b2072657475726e20642e747970655b642e747970652e6c656e677468202d20315d203d3d3d20226522203f2073656c656374696f6e5b315d5b305d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e5b305d5b305d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e61747472282279222c2066756e6374696f6e286429207b2072657475726e20642e747970655b305d203d3d3d20227322203f2073656c656374696f6e5b315d5b315d202d2068616e646c6553697a65202f2032203a2073656c656374696f6e5b305d5b315d202d2068616e646c6553697a65202f20323b207d290a202020202020202020202e6174747228227769647468222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226e22207c7c20642e74797065203d3d3d20227322203f2073656c656374696f6e5b315d5b305d202d2073656c656374696f6e5b305d5b305d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d290a202020202020202020202e617474722822686569676874222c2066756e6374696f6e286429207b2072657475726e20642e74797065203d3d3d20226522207c7c20642e74797065203d3d3d20227722203f2073656c656374696f6e5b315d5b315d202d2073656c656374696f6e5b305d5b315d202b2068616e646c6553697a65203a2068616e646c6553697a653b207d293b0a202020207d0a0a20202020656c7365207b0a20202020202067726f75702e73656c656374416c6c28222e73656c656374696f6e2c2e68616e646c6522290a202020202020202020202e7374796c652822646973706c6179222c20226e6f6e6522290a202020202020202020202e61747472282278222c206e756c6c290a202020202020202020202e61747472282279222c206e756c6c290a202020202020202020202e6174747228227769647468222c206e756c6c290a202020202020202020202e617474722822686569676874222c206e756c6c293b0a202020207d0a20207d0a0a202066756e6374696f6e20656d697474657228746861742c206172677329207b0a2020202072657475726e20746861742e5f5f62727573682e656d6974746572207c7c206e657720456d697474657228746861742c2061726773293b0a20207d0a0a202066756e6374696f6e20456d697474657228746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e7374617465203d20746861742e5f5f62727573683b0a20202020746869732e616374697665203d20303b0a20207d0a0a2020456d69747465722e70726f746f74797065203d207b0a202020206265666f726573746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d20312920746869732e73746174652e656d6974746572203d20746869732c20746869732e7374617274696e67203d20747275653b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202073746172743a2066756e6374696f6e2829207b0a20202020202069662028746869732e7374617274696e672920746869732e7374617274696e67203d2066616c73652c20746869732e656d69742822737461727422293b0a20202020202072657475726e20746869733b0a202020207d2c0a2020202062727573683a2066756e6374696f6e2829207b0a202020202020746869732e656d69742822627275736822293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d2030292064656c65746520746869732e73746174652e656d69747465722c20746869732e656d69742822656e6422293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e65772042727573684576656e742862727573682c20747970652c2064696d2e6f757470757428746869732e73746174652e73656c656374696f6e29292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20737461727465642829207b0a2020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b2069662028643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732e6c656e677468203c20643353656c656374696f6e2e6576656e742e746f75636865732e6c656e677468292072657475726e206e6f6576656e7428293b207d0a20202020656c73652069662028746f756368656e64696e67292072657475726e3b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a0a202020207661722074686174203d20746869732c0a202020202020202074797065203d20643353656c656374696f6e2e6576656e742e7461726765742e5f5f646174615f5f2e747970652c0a20202020202020206d6f6465203d2028643353656c656374696f6e2e6576656e742e6d6574614b6579203f2074797065203d20226f7665726c617922203a207479706529203d3d3d202273656c656374696f6e22203f204d4f44455f44524147203a2028643353656c656374696f6e2e6576656e742e616c744b6579203f204d4f44455f43454e544552203a204d4f44455f48414e444c45292c0a20202020202020207369676e58203d2064696d203d3d3d2059203f206e756c6c203a207369676e73585b747970655d2c0a20202020202020207369676e59203d2064696d203d3d3d2058203f206e756c6c203a207369676e73595b747970655d2c0a20202020202020207374617465203d206c6f63616c2874686174292c0a2020202020202020657874656e74203d2073746174652e657874656e742c0a202020202020202073656c656374696f6e203d2073746174652e73656c656374696f6e2c0a202020202020202057203d20657874656e745b305d5b305d2c2077302c2077312c0a20202020202020204e203d20657874656e745b305d5b315d2c206e302c206e312c0a202020202020202045203d20657874656e745b315d5b305d2c2065302c2065312c0a202020202020202053203d20657874656e745b315d5b315d2c2073302c2073312c0a202020202020202064782c0a202020202020202064792c0a20202020202020206d6f76696e672c0a20202020202020207368696674696e67203d207369676e58202626207369676e5920262620643353656c656374696f6e2e6576656e742e73686966744b65792c0a20202020202020206c6f636b582c0a20202020202020206c6f636b592c0a2020202020202020706f696e7430203d20643353656c656374696f6e2e6d6f7573652874686174292c0a2020202020202020706f696e74203d20706f696e74302c0a2020202020202020656d6974203d20656d697474657228746861742c20617267756d656e7473292e6265666f7265737461727428293b0a0a202020206966202874797065203d3d3d20226f7665726c61792229207b0a20202020202073746174652e73656c656374696f6e203d2073656c656374696f6e203d205b0a20202020202020205b7730203d2064696d203d3d3d2059203f2057203a20706f696e74305b305d2c206e30203d2064696d203d3d3d2058203f204e203a20706f696e74305b315d5d2c0a20202020202020205b6530203d2064696d203d3d3d2059203f2045203a2077302c207330203d2064696d203d3d3d2058203f2053203a206e305d0a2020202020205d3b0a202020207d20656c7365207b0a2020202020207730203d2073656c656374696f6e5b305d5b305d3b0a2020202020206e30203d2073656c656374696f6e5b305d5b315d3b0a2020202020206530203d2073656c656374696f6e5b315d5b305d3b0a2020202020207330203d2073656c656374696f6e5b315d5b315d3b0a202020207d0a0a202020207731203d2077303b0a202020206e31203d206e303b0a202020206531203d2065303b0a202020207331203d2073303b0a0a202020207661722067726f7570203d20643353656c656374696f6e2e73656c6563742874686174290a20202020202020202e617474722822706f696e7465722d6576656e7473222c20226e6f6e6522293b0a0a20202020766172206f7665726c6179203d2067726f75702e73656c656374416c6c28222e6f7665726c617922290a20202020202020202e617474722822637572736f72222c20637572736f72735b747970655d293b0a0a2020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b0a20202020202067726f75700a202020202020202020202e6f6e2822746f7563686d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e2822746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c20656e6465642c2074727565293b0a202020207d20656c7365207b0a2020202020207661722076696577203d20643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577290a202020202020202020202e6f6e28226b6579646f776e2e6272757368222c206b6579646f776e65642c2074727565290a202020202020202020202e6f6e28226b657975702e6272757368222c206b657975707065642c2074727565290a202020202020202020202e6f6e28226d6f7573656d6f76652e6272757368222c206d6f7665642c2074727565290a202020202020202020202e6f6e28226d6f75736575702e6272757368222c20656e6465642c2074727565293b0a0a2020202020206433447261672e6472616744697361626c6528643353656c656374696f6e2e6576656e742e76696577293b0a202020207d0a0a202020206e6f70726f7061676174696f6e28293b0a2020202064335472616e736974696f6e2e696e746572727570742874686174293b0a202020207265647261772e63616c6c2874686174293b0a20202020656d69742e737461727428293b0a0a2020202066756e6374696f6e206d6f7665642829207b0a20202020202076617220706f696e7431203d20643353656c656374696f6e2e6d6f7573652874686174293b0a202020202020696620287368696674696e6720262620216c6f636b5820262620216c6f636b5929207b0a2020202020202020696620284d6174682e61627328706f696e74315b305d202d20706f696e745b305d29203e204d6174682e61627328706f696e74315b315d202d20706f696e745b315d2929206c6f636b59203d20747275653b0a2020202020202020656c7365206c6f636b58203d20747275653b0a2020202020207d0a202020202020706f696e74203d20706f696e74313b0a2020202020206d6f76696e67203d20747275653b0a2020202020206e6f6576656e7428293b0a2020202020206d6f766528293b0a202020207d0a0a2020202066756e6374696f6e206d6f76652829207b0a20202020202076617220743b0a0a2020202020206478203d20706f696e745b305d202d20706f696e74305b305d3b0a2020202020206479203d20706f696e745b315d202d20706f696e74305b315d3b0a0a20202020202073776974636820286d6f646529207b0a202020202020202063617365204d4f44455f53504143453a0a202020202020202063617365204d4f44455f445241473a207b0a20202020202020202020696620287369676e5829206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2065302c20647829292c207731203d207730202b2064782c206531203d206530202b2064783b0a20202020202020202020696620287369676e5929206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e30202b2064792c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f48414e444c453a207b0a20202020202020202020696620287369676e58203c203029206478203d204d6174682e6d61782857202d2077302c204d6174682e6d696e2845202d2077302c20647829292c207731203d207730202b2064782c206531203d2065303b0a20202020202020202020656c736520696620287369676e58203e203029206478203d204d6174682e6d61782857202d2065302c204d6174682e6d696e2845202d2065302c20647829292c207731203d2077302c206531203d206530202b2064783b0a20202020202020202020696620287369676e59203c203029206479203d204d6174682e6d6178284e202d206e302c204d6174682e6d696e2853202d206e302c20647929292c206e31203d206e30202b2064792c207331203d2073303b0a20202020202020202020656c736520696620287369676e59203e203029206479203d204d6174682e6d6178284e202d2073302c204d6174682e6d696e2853202d2073302c20647929292c206e31203d206e302c207331203d207330202b2064793b0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202063617365204d4f44455f43454e5445523a207b0a20202020202020202020696620287369676e5829207731203d204d6174682e6d617828572c204d6174682e6d696e28452c207730202d206478202a207369676e5829292c206531203d204d6174682e6d617828572c204d6174682e6d696e28452c206530202b206478202a207369676e5829293b0a20202020202020202020696620287369676e5929206e31203d204d6174682e6d6178284e2c204d6174682e6d696e28532c206e30202d206479202a207369676e5929292c207331203d204d6174682e6d6178284e2c204d6174682e6d696e28532c207330202b206479202a207369676e5929293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a0a202020202020696620286531203c20773129207b0a20202020202020207369676e58202a3d202d313b0a202020202020202074203d2077302c207730203d2065302c206530203d20743b0a202020202020202074203d2077312c207731203d2065312c206531203d20743b0a2020202020202020696620287479706520696e20666c69705829206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970585b747970655d5d293b0a2020202020207d0a0a202020202020696620287331203c206e3129207b0a20202020202020207369676e59202a3d202d313b0a202020202020202074203d206e302c206e30203d2073302c207330203d20743b0a202020202020202074203d206e312c206e31203d2073312c207331203d20743b0a2020202020202020696620287479706520696e20666c69705929206f7665726c61792e617474722822637572736f72222c20637572736f72735b74797065203d20666c6970595b747970655d5d293b0a2020202020207d0a0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f7665210a202020202020696620286c6f636b5829207731203d2073656c656374696f6e5b305d5b305d2c206531203d2073656c656374696f6e5b315d5b305d3b0a202020202020696620286c6f636b5929206e31203d2073656c656374696f6e5b305d5b315d2c207331203d2073656c656374696f6e5b315d5b315d3b0a0a2020202020206966202873656c656374696f6e5b305d5b305d20213d3d2077310a202020202020202020207c7c2073656c656374696f6e5b305d5b315d20213d3d206e310a202020202020202020207c7c2073656c656374696f6e5b315d5b305d20213d3d2065310a202020202020202020207c7c2073656c656374696f6e5b315d5b315d20213d3d20733129207b0a202020202020202073746174652e73656c656374696f6e203d205b5b77312c206e315d2c205b65312c2073315d5d3b0a20202020202020207265647261772e63616c6c2874686174293b0a2020202020202020656d69742e627275736828293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e20656e6465642829207b0a2020202020206e6f70726f7061676174696f6e28293b0a20202020202069662028643353656c656374696f6e2e6576656e742e746f756368657329207b0a202020202020202069662028643353656c656374696f6e2e6576656e742e746f75636865732e6c656e677468292072657475726e3b0a202020202020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a2020202020202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a202020202020202067726f75702e6f6e2822746f7563686d6f76652e627275736820746f756368656e642e627275736820746f75636863616e63656c2e6272757368222c206e756c6c293b0a2020202020207d20656c7365207b0a20202020202020206433447261672e64726167456e61626c6528643353656c656374696f6e2e6576656e742e766965772c206d6f76696e67293b0a2020202020202020766965772e6f6e28226b6579646f776e2e6272757368206b657975702e6272757368206d6f7573656d6f76652e6272757368206d6f75736575702e6272757368222c206e756c6c293b0a2020202020207d0a20202020202067726f75702e617474722822706f696e7465722d6576656e7473222c2022616c6c22293b0a2020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e6f7665726c6179293b0a2020202020206966202873746174652e73656c656374696f6e292073656c656374696f6e203d2073746174652e73656c656374696f6e3b202f2f204d6179206265207365742062792062727573682e6d6f766520286f6e20737461727429210a20202020202069662028656d7074792873656c656374696f6e29292073746174652e73656c656374696f6e203d206e756c6c2c207265647261772e63616c6c2874686174293b0a202020202020656d69742e656e6428293b0a202020207d0a0a2020202066756e6374696f6e206b6579646f776e65642829207b0a2020202020207377697463682028643353656c656374696f6e2e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a202020202020202020207368696674696e67203d207369676e58202626207369676e593b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c4529207b0a202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a2020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143453b2074616b6573207072696f72697479206f76657220414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f48414e444c45207c7c206d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d206531202d2064783b20656c736520696620287369676e58203e203029207730203d207731202d2064783b0a202020202020202020202020696620287369676e59203c203029207330203d207331202d2064793b20656c736520696620287369676e59203e203029206e30203d206e31202d2064793b0a2020202020202020202020206d6f6465203d204d4f44455f53504143453b0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72732e73656c656374696f6e293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e7428293b0a202020207d0a0a2020202066756e6374696f6e206b657975707065642829207b0a2020202020207377697463682028643353656c656374696f6e2e6576656e742e6b6579436f646529207b0a2020202020202020636173652031363a207b202f2f2053484946540a20202020202020202020696620287368696674696e6729207b0a2020202020202020202020206c6f636b58203d206c6f636b59203d207368696674696e67203d2066616c73653b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652031383a207b202f2f20414c540a20202020202020202020696620286d6f6465203d3d3d204d4f44455f43454e54455229207b0a202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a2020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020636173652033323a207b202f2f2053504143450a20202020202020202020696620286d6f6465203d3d3d204d4f44455f535041434529207b0a20202020202020202020202069662028643353656c656374696f6e2e6576656e742e616c744b657929207b0a2020202020202020202020202020696620287369676e5829206530203d206531202d206478202a207369676e582c207730203d207731202b206478202a207369676e583b0a2020202020202020202020202020696620287369676e5929207330203d207331202d206479202a207369676e592c206e30203d206e31202b206479202a207369676e593b0a20202020202020202020202020206d6f6465203d204d4f44455f43454e5445523b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020696620287369676e58203c203029206530203d2065313b20656c736520696620287369676e58203e203029207730203d2077313b0a2020202020202020202020202020696620287369676e59203c203029207330203d2073313b20656c736520696620287369676e59203e203029206e30203d206e313b0a20202020202020202020202020206d6f6465203d204d4f44455f48414e444c453b0a2020202020202020202020207d0a2020202020202020202020206f7665726c61792e617474722822637572736f72222c20637572736f72735b747970655d293b0a2020202020202020202020206d6f766528293b0a202020202020202020207d0a20202020202020202020627265616b3b0a20202020202020207d0a202020202020202064656661756c743a2072657475726e3b0a2020202020207d0a2020202020206e6f6576656e7428293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a20202020766172207374617465203d20746869732e5f5f6272757368207c7c207b73656c656374696f6e3a206e756c6c7d3b0a2020202073746174652e657874656e74203d20657874656e742e6170706c7928746869732c20617267756d656e7473293b0a2020202073746174652e64696d203d2064696d3b0a2020202072657475726e2073746174653b0a20207d0a0a202062727573682e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c20627275736829203a20657874656e743b0a20207d3b0a0a202062727573682e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c20627275736829203a2066696c7465723b0a20207d3b0a0a202062727573682e68616e646c6553697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202868616e646c6553697a65203d202b5f2c20627275736829203a2068616e646c6553697a653b0a20207d3b0a0a202062727573682e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f206272757368203a2076616c75653b0a20207d3b0a0a202072657475726e2062727573683b0a7d0a0a6578706f7274732e6272757368203d2062727573683b0a6578706f7274732e627275736858203d206272757368583b0a6578706f7274732e627275736859203d206272757368593b0a6578706f7274732e627275736853656c656374696f6e203d20627275736853656c656374696f6e3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d7472616e736974696f6e223a36367d5d2c34323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d63686f72642f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a2020747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d617272617927292c2072657175697265282764332d70617468272929203a0a2020747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179272c202764332d70617468275d2c20666163746f727929203a0a202028666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643341727261792c64335061746829207b202775736520737472696374273b0a0a76617220636f73203d204d6174682e636f733b0a7661722073696e203d204d6174682e73696e3b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220746175203d207069202a20323b0a766172206d6178203d204d6174682e6d61783b0a0a66756e6374696f6e20636f6d7061726556616c756528636f6d7061726529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265280a202020202020612e736f757263652e76616c7565202b20612e7461726765742e76616c75652c0a202020202020622e736f757263652e76616c7565202b20622e7461726765742e76616c75650a20202020293b0a20207d3b0a7d0a0a7661722063686f7264203d2066756e6374696f6e2829207b0a202076617220706164416e676c65203d20302c0a202020202020736f727447726f757073203d206e756c6c2c0a202020202020736f727453756267726f757073203d206e756c6c2c0a202020202020736f727443686f726473203d206e756c6c3b0a0a202066756e6374696f6e2063686f7264286d617472697829207b0a20202020766172206e203d206d61747269782e6c656e6774682c0a202020202020202067726f757053756d73203d205b5d2c0a202020202020202067726f7570496e646578203d20643341727261792e72616e6765286e292c0a202020202020202073756267726f7570496e646578203d205b5d2c0a202020202020202063686f726473203d205b5d2c0a202020202020202067726f757073203d2063686f7264732e67726f757073203d206e6577204172726179286e292c0a202020202020202073756267726f757073203d206e6577204172726179286e202a206e292c0a20202020202020206b2c0a2020202020202020782c0a202020202020202078302c0a202020202020202064782c0a2020202020202020692c0a20202020202020206a3b0a0a202020202f2f20436f6d70757465207468652073756d2e0a202020206b203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a20202020202078203d20302c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a202020202020202078202b3d206d61747269785b695d5b6a5d3b0a2020202020207d0a20202020202067726f757053756d732e707573682878293b0a20202020202073756267726f7570496e6465782e7075736828643341727261792e72616e6765286e29293b0a2020202020206b202b3d20783b0a202020207d0a0a202020202f2f20536f72742067726f757073e280a60a2020202069662028736f727447726f757073292067726f7570496e6465782e736f72742866756e6374696f6e28612c206229207b0a20202020202072657475726e20736f727447726f7570732867726f757053756d735b615d2c2067726f757053756d735b625d293b0a202020207d293b0a0a202020202f2f20536f72742073756267726f757073e280a60a2020202069662028736f727453756267726f757073292073756267726f7570496e6465782e666f72456163682866756e6374696f6e28642c206929207b0a202020202020642e736f72742866756e6374696f6e28612c206229207b0a202020202020202072657475726e20736f727453756267726f757073286d61747269785b695d5b615d2c206d61747269785b695d5b625d293b0a2020202020207d293b0a202020207d293b0a0a202020202f2f20436f6e76657274207468652073756d20746f207363616c696e6720666163746f7220666f72205b302c203270695d2e0a202020202f2f20544f444f20416c6c6f7720737461727420616e6420656e6420616e676c6520746f206265207370656369666965643f0a202020202f2f20544f444f20416c6c6f772070616464696e6720746f206265207370656369666965642061732070657263656e746167653f0a202020206b203d206d617828302c20746175202d20706164416e676c65202a206e29202f206b3b0a202020206478203d206b203f20706164416e676c65203a20746175202f206e3b0a0a202020202f2f20436f6d707574652074686520737461727420616e6420656e6420616e676c6520666f7220656163682067726f757020616e642073756267726f75702e0a202020202f2f204e6f74653a204f70657261206861732061206275672072656f72646572696e67206f626a656374206c69746572616c2070726f70657274696573210a2020202078203d20302c2069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020207830203d20782c206a203d202d313b207768696c6520282b2b6a203c206e29207b0a2020202020202020766172206469203d2067726f7570496e6465785b695d2c0a202020202020202020202020646a203d2073756267726f7570496e6465785b64695d5b6a5d2c0a20202020202020202020202076203d206d61747269785b64695d5b646a5d2c0a2020202020202020202020206130203d20782c0a2020202020202020202020206131203d2078202b3d2076202a206b3b0a202020202020202073756267726f7570735b646a202a206e202b2064695d203d207b0a20202020202020202020696e6465783a2064692c0a20202020202020202020737562696e6465783a20646a2c0a202020202020202020207374617274416e676c653a2061302c0a20202020202020202020656e64416e676c653a2061312c0a2020202020202020202076616c75653a20760a20202020202020207d3b0a2020202020207d0a20202020202067726f7570735b64695d203d207b0a2020202020202020696e6465783a2064692c0a20202020202020207374617274416e676c653a2078302c0a2020202020202020656e64416e676c653a20782c0a202020202020202076616c75653a2067726f757053756d735b64695d0a2020202020207d3b0a20202020202078202b3d2064783b0a202020207d0a0a202020202f2f2047656e65726174652063686f72647320666f72206561636820286e6f6e2d656d707479292073756267726f75702d73756267726f7570206c696e6b2e0a2020202069203d202d313b207768696c6520282b2b69203c206e29207b0a2020202020206a203d2069202d20313b207768696c6520282b2b6a203c206e29207b0a202020202020202076617220736f75726365203d2073756267726f7570735b6a202a206e202b20695d2c0a202020202020202020202020746172676574203d2073756267726f7570735b69202a206e202b206a5d3b0a202020202020202069662028736f757263652e76616c7565207c7c207461726765742e76616c756529207b0a2020202020202020202063686f7264732e7075736828736f757263652e76616c7565203c207461726765742e76616c75650a20202020202020202020202020203f207b736f757263653a207461726765742c207461726765743a20736f757263657d0a20202020202020202020202020203a207b736f757263653a20736f757263652c207461726765743a207461726765747d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202072657475726e20736f727443686f726473203f2063686f7264732e736f727428736f727443686f72647329203a2063686f7264733b0a20207d0a0a202063686f72642e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d206d617828302c205f292c2063686f726429203a20706164416e676c653b0a20207d3b0a0a202063686f72642e736f727447726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727447726f757073203d205f2c2063686f726429203a20736f727447726f7570733b0a20207d3b0a0a202063686f72642e736f727453756267726f757073203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727453756267726f757073203d205f2c2063686f726429203a20736f727453756267726f7570733b0a20207d3b0a0a202063686f72642e736f727443686f726473203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20736f727443686f726473203d206e756c6c203a2028736f727443686f726473203d20636f6d7061726556616c7565285f29292e5f203d205f2c2063686f726429203a20736f727443686f72647320262620736f727443686f7264732e5f3b0a20207d3b0a0a202072657475726e2063686f72643b0a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2064656661756c74536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e2064656661756c74546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e20642e7261646975733b0a7d0a0a66756e6374696f6e2064656661756c745374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e2064656661756c74456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a76617220726962626f6e203d2066756e6374696f6e2829207b0a202076617220736f75726365203d2064656661756c74536f757263652c0a202020202020746172676574203d2064656661756c745461726765742c0a202020202020726164697573203d2064656661756c745261646975732c0a2020202020207374617274416e676c65203d2064656661756c745374617274416e676c652c0a202020202020656e64416e676c65203d2064656661756c74456e64416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e20726962626f6e2829207b0a20202020766172206275666665722c0a202020202020202061726776203d20736c6963652e63616c6c28617267756d656e7473292c0a202020202020202073203d20736f757263652e6170706c7928746869732c2061726776292c0a202020202020202074203d207461726765742e6170706c7928746869732c2061726776292c0a20202020202020207372203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c0a2020202020202020736130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020736131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020737830203d207372202a20636f7328736130292c0a2020202020202020737930203d207372202a2073696e28736130292c0a20202020202020207472203d202b7261646975732e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c0a2020202020202020746130203d207374617274416e676c652e6170706c7928746869732c206172677629202d2068616c6650692c0a2020202020202020746131203d20656e64416e676c652e6170706c7928746869732c206172677629202d2068616c6650693b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a0a20202020636f6e746578742e6d6f7665546f287378302c20737930293b0a20202020636f6e746578742e61726328302c20302c2073722c207361302c20736131293b0a202020206966202873613020213d3d20746130207c7c2073613120213d3d2074613129207b202f2f20544f444f20737220213d3d2074723f0a202020202020636f6e746578742e7175616472617469634375727665546f28302c20302c207472202a20636f7328746130292c207472202a2073696e2874613029293b0a202020202020636f6e746578742e61726328302c20302c2074722c207461302c20746131293b0a202020207d0a20202020636f6e746578742e7175616472617469634375727665546f28302c20302c207378302c20737930293b0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a2020726962626f6e2e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a207261646975733b0a20207d3b0a0a2020726962626f6e2e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a207374617274416e676c653b0a20207d3b0a0a2020726962626f6e2e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20726962626f6e29203a20656e64416e676c653b0a20207d3b0a0a2020726962626f6e2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c20726962626f6e29203a20736f757263653b0a20207d3b0a0a2020726962626f6e2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c20726962626f6e29203a207461726765743b0a20207d3b0a0a2020726962626f6e2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c20726962626f6e29203a20636f6e746578743b0a20207d3b0a0a202072657475726e20726962626f6e3b0a7d3b0a0a6578706f7274732e63686f7264203d2063686f72643b0a6578706f7274732e726962626f6e203d20726962626f6e3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33392c2264332d70617468223a35347d5d2c34333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d636f6c6c656374696f6e2f2056657273696f6e20312e302e342e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220707265666978203d202224223b0a0a66756e6374696f6e204d61702829207b7d0a0a4d61702e70726f746f74797065203d206d61702e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204d61702c0a20206861733a2066756e6374696f6e286b657929207b0a2020202072657475726e2028707265666978202b206b65792920696e20746869733b0a20207d2c0a20206765743a2066756e6374696f6e286b657929207b0a2020202072657475726e20746869735b707265666978202b206b65795d3b0a20207d2c0a20207365743a2066756e6374696f6e286b65792c2076616c756529207b0a20202020746869735b707265666978202b206b65795d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286b657929207b0a202020207661722070726f7065727479203d20707265666978202b206b65793b0a2020202072657475726e2070726f706572747920696e20746869732026262064656c65746520746869735b70726f70657274795d3b0a20207d2c0a2020636c6561723a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292064656c65746520746869735b70726f70657274795d3b0a20207d2c0a20206b6579733a2066756e6374696f6e2829207b0a20202020766172206b657973203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206b6579732e707573682870726f70657274792e736c696365283129293b0a2020202072657475726e206b6579733b0a20207d2c0a202076616c7565733a2066756e6374696f6e2829207b0a202020207661722076616c756573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292076616c7565732e7075736828746869735b70726f70657274795d293b0a2020202072657475726e2076616c7565733b0a20207d2c0a2020656e74726965733a2066756e6374696f6e2829207b0a2020202076617220656e7472696573203d205b5d3b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d207072656669782920656e74726965732e70757368287b6b65793a2070726f70657274792e736c6963652831292c2076616c75653a20746869735b70726f70657274795d7d293b0a2020202072657475726e20656e74726965733b0a20207d2c0a202073697a653a2066756e6374696f6e2829207b0a202020207661722073697a65203d20303b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829202b2b73697a653b0a2020202072657475726e2073697a653b0a20207d2c0a2020656d7074793a2066756e6374696f6e2829207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d20707265666978292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d2c0a2020656163683a2066756e6374696f6e286629207b0a20202020666f7220287661722070726f706572747920696e207468697329206966202870726f70657274795b305d203d3d3d2070726566697829206628746869735b70726f70657274795d2c2070726f70657274792e736c6963652831292c2074686973293b0a20207d0a7d3b0a0a66756e6374696f6e206d6170286f626a6563742c206629207b0a2020766172206d6170203d206e6577204d61703b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f66204d617029206f626a6563742e656163682866756e6374696f6e2876616c75652c206b657929207b206d61702e736574286b65792c2076616c7565293b207d293b0a0a20202f2f20496e646578206172726179206279206e756d6572696320696e646578206f7220737065636966696564206b65792066756e6374696f6e2e0a2020656c7365206966202841727261792e69734172726179286f626a6563742929207b0a202020207661722069203d202d312c0a20202020202020206e203d206f626a6563742e6c656e6774682c0a20202020202020206f3b0a0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29206d61702e73657428692c206f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29206d61702e7365742866286f203d206f626a6563745b695d2c20692c206f626a656374292c206f293b0a20207d0a0a20202f2f20436f6e76657274206f626a65637420746f206d61702e0a2020656c736520696620286f626a6563742920666f722028766172206b657920696e206f626a65637429206d61702e736574286b65792c206f626a6563745b6b65795d293b0a0a202072657475726e206d61703b0a7d0a0a766172206e657374203d2066756e6374696f6e2829207b0a2020766172206b657973203d205b5d2c0a202020202020736f72744b657973203d205b5d2c0a202020202020736f727456616c7565732c0a202020202020726f6c6c75702c0a2020202020206e6573743b0a0a202066756e6374696f6e206170706c792861727261792c2064657074682c20637265617465526573756c742c20736574526573756c7429207b0a20202020696620286465707468203e3d206b6579732e6c656e67746829207b0a20202020202069662028736f727456616c75657320213d206e756c6c292061727261792e736f727428736f727456616c756573293b0a20202020202072657475726e20726f6c6c757020213d206e756c6c203f20726f6c6c757028617272617929203a2061727261793b0a202020207d0a0a202020207661722069203d202d312c0a20202020202020206e203d2061727261792e6c656e6774682c0a20202020202020206b6579203d206b6579735b64657074682b2b5d2c0a20202020202020206b657956616c75652c0a202020202020202076616c75652c0a202020202020202076616c75657342794b6579203d206d617028292c0a202020202020202076616c7565732c0a2020202020202020726573756c74203d20637265617465526573756c7428293b0a0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202876616c756573203d2076616c75657342794b65792e676574286b657956616c7565203d206b65792876616c7565203d2061727261795b695d29202b2022222929207b0a202020202020202076616c7565732e707573682876616c7565293b0a2020202020207d20656c7365207b0a202020202020202076616c75657342794b65792e736574286b657956616c75652c205b76616c75655d293b0a2020202020207d0a202020207d0a0a2020202076616c75657342794b65792e656163682866756e6374696f6e2876616c7565732c206b657929207b0a202020202020736574526573756c7428726573756c742c206b65792c206170706c792876616c7565732c2064657074682c20637265617465526573756c742c20736574526573756c7429293b0a202020207d293b0a0a2020202072657475726e20726573756c743b0a20207d0a0a202066756e6374696f6e20656e7472696573286d61702424312c20646570746829207b0a20202020696620282b2b6465707468203e206b6579732e6c656e677468292072657475726e206d61702424313b0a202020207661722061727261792c20736f72744b6579203d20736f72744b6579735b6465707468202d20315d3b0a2020202069662028726f6c6c757020213d206e756c6c202626206465707468203e3d206b6579732e6c656e67746829206172726179203d206d61702424312e656e747269657328293b0a20202020656c7365206172726179203d205b5d2c206d61702424312e656163682866756e6374696f6e28762c206b29207b2061727261792e70757368287b6b65793a206b2c2076616c7565733a20656e747269657328762c206465707468297d293b207d293b0a2020202072657475726e20736f72744b657920213d206e756c6c203f2061727261792e736f72742866756e6374696f6e28612c206229207b2072657475726e20736f72744b657928612e6b65792c20622e6b6579293b207d29203a2061727261793b0a20207d0a0a202072657475726e206e657374203d207b0a202020206f626a6563743a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654f626a6563742c207365744f626a656374293b207d2c0a202020206d61703a2066756e6374696f6e28617272617929207b2072657475726e206170706c792861727261792c20302c206372656174654d61702c207365744d6170293b207d2c0a20202020656e74726965733a2066756e6374696f6e28617272617929207b2072657475726e20656e7472696573286170706c792861727261792c20302c206372656174654d61702c207365744d6170292c2030293b207d2c0a202020206b65793a2066756e6374696f6e286429207b206b6579732e707573682864293b2072657475726e206e6573743b207d2c0a20202020736f72744b6579733a2066756e6374696f6e286f7264657229207b20736f72744b6579735b6b6579732e6c656e677468202d20315d203d206f726465723b2072657475726e206e6573743b207d2c0a20202020736f727456616c7565733a2066756e6374696f6e286f7264657229207b20736f727456616c756573203d206f726465723b2072657475726e206e6573743b207d2c0a20202020726f6c6c75703a2066756e6374696f6e286629207b20726f6c6c7570203d20663b2072657475726e206e6573743b207d0a20207d3b0a7d3b0a0a66756e6374696f6e206372656174654f626a6563742829207b0a202072657475726e207b7d3b0a7d0a0a66756e6374696f6e207365744f626a656374286f626a6563742c206b65792c2076616c756529207b0a20206f626a6563745b6b65795d203d2076616c75653b0a7d0a0a66756e6374696f6e206372656174654d61702829207b0a202072657475726e206d617028293b0a7d0a0a66756e6374696f6e207365744d6170286d61702424312c206b65792c2076616c756529207b0a20206d61702424312e736574286b65792c2076616c7565293b0a7d0a0a66756e6374696f6e205365742829207b7d0a0a7661722070726f746f203d206d61702e70726f746f747970653b0a0a5365742e70726f746f74797065203d207365742e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205365742c0a20206861733a2070726f746f2e6861732c0a20206164643a2066756e6374696f6e2876616c756529207b0a2020202076616c7565202b3d2022223b0a20202020746869735b707265666978202b2076616c75655d203d2076616c75653b0a2020202072657475726e20746869733b0a20207d2c0a202072656d6f76653a2070726f746f2e72656d6f76652c0a2020636c6561723a2070726f746f2e636c6561722c0a202076616c7565733a2070726f746f2e6b6579732c0a202073697a653a2070726f746f2e73697a652c0a2020656d7074793a2070726f746f2e656d7074792c0a2020656163683a2070726f746f2e656163680a7d3b0a0a66756e6374696f6e20736574286f626a6563742c206629207b0a202076617220736574203d206e6577205365743b0a0a20202f2f20436f707920636f6e7374727563746f722e0a2020696620286f626a65637420696e7374616e63656f662053657429206f626a6563742e656163682866756e6374696f6e2876616c756529207b207365742e6164642876616c7565293b207d293b0a0a20202f2f204f74686572776973652c20617373756d65206974e280997320616e2061727261792e0a2020656c736520696620286f626a65637429207b0a202020207661722069203d202d312c206e203d206f626a6563742e6c656e6774683b0a202020206966202866203d3d206e756c6c29207768696c6520282b2b69203c206e29207365742e616464286f626a6563745b695d293b0a20202020656c7365207768696c6520282b2b69203c206e29207365742e6164642866286f626a6563745b695d2c20692c206f626a65637429293b0a20207d0a0a202072657475726e207365743b0a7d0a0a766172206b657973203d2066756e6374696f6e286d617029207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206d617029206b6579732e70757368286b6579293b0a202072657475726e206b6579733b0a7d3b0a0a7661722076616c756573203d2066756e6374696f6e286d617029207b0a20207661722076616c756573203d205b5d3b0a2020666f722028766172206b657920696e206d6170292076616c7565732e70757368286d61705b6b65795d293b0a202072657475726e2076616c7565733b0a7d3b0a0a76617220656e7472696573203d2066756e6374696f6e286d617029207b0a202076617220656e7472696573203d205b5d3b0a2020666f722028766172206b657920696e206d61702920656e74726965732e70757368287b6b65793a206b65792c2076616c75653a206d61705b6b65795d7d293b0a202072657475726e20656e74726965733b0a7d3b0a0a6578706f7274732e6e657374203d206e6573743b0a6578706f7274732e736574203d207365743b0a6578706f7274732e6d6170203d206d61703b0a6578706f7274732e6b657973203d206b6579733b0a6578706f7274732e76616c756573203d2076616c7565733b0a6578706f7274732e656e7472696573203d20656e74726965733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d636f6c6f722f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220646566696e65203d2066756e6374696f6e28636f6e7374727563746f722c20666163746f72792c2070726f746f7479706529207b0a2020636f6e7374727563746f722e70726f746f74797065203d20666163746f72792e70726f746f74797065203d2070726f746f747970653b0a202070726f746f747970652e636f6e7374727563746f72203d20636f6e7374727563746f723b0a7d3b0a0a66756e6374696f6e20657874656e6428706172656e742c20646566696e6974696f6e29207b0a20207661722070726f746f74797065203d204f626a6563742e63726561746528706172656e742e70726f746f74797065293b0a2020666f722028766172206b657920696e20646566696e6974696f6e292070726f746f747970655b6b65795d203d20646566696e6974696f6e5b6b65795d3b0a202072657475726e2070726f746f747970653b0a7d0a0a66756e6374696f6e20436f6c6f722829207b7d0a0a766172206461726b6572203d20302e373b0a766172206272696768746572203d2031202f206461726b65723b0a0a76617220726549203d20225c5c732a285b2b2d5d3f5c5c642b295c5c732a223b0a7661722072654e203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f295c5c732a223b0a76617220726550203d20225c5c732a285b2b2d5d3f5c5c642a5c5c2e3f5c5c642b283f3a5b65455d5b2b2d5d3f5c5c642b293f29255c5c732a223b0a76617220726548657833203d202f5e23285b302d39612d665d7b337d29242f3b0a76617220726548657836203d202f5e23285b302d39612d665d7b367d29242f3b0a766172207265526762496e7465676572203d206e65772052656745787028225e7267625c5c2822202b205b7265492c207265492c207265495d202b20225c5c292422293b0a76617220726552676250657263656e74203d206e65772052656745787028225e7267625c5c2822202b205b7265502c207265502c207265505d202b20225c5c292422293b0a76617220726552676261496e7465676572203d206e65772052656745787028225e726762615c5c2822202b205b7265492c207265492c207265492c2072654e5d202b20225c5c292422293b0a7661722072655267626150657263656e74203d206e65772052656745787028225e726762615c5c2822202b205b7265502c207265502c207265502c2072654e5d202b20225c5c292422293b0a76617220726548736c50657263656e74203d206e65772052656745787028225e68736c5c5c2822202b205b72654e2c207265502c207265505d202b20225c5c292422293b0a76617220726548736c6150657263656e74203d206e65772052656745787028225e68736c615c5c2822202b205b72654e2c207265502c207265502c2072654e5d202b20225c5c292422293b0a0a766172206e616d6564203d207b0a2020616c696365626c75653a2030786630663866662c0a2020616e746971756577686974653a2030786661656264372c0a2020617175613a2030783030666666662c0a2020617175616d6172696e653a2030783766666664342c0a2020617a7572653a2030786630666666662c0a202062656967653a2030786635663564632c0a20206269737175653a2030786666653463342c0a2020626c61636b3a2030783030303030302c0a2020626c616e63686564616c6d6f6e643a2030786666656263642c0a2020626c75653a2030783030303066662c0a2020626c756576696f6c65743a2030783861326265322c0a202062726f776e3a2030786135326132612c0a20206275726c79776f6f643a2030786465623838372c0a20206361646574626c75653a2030783566396561302c0a2020636861727472657573653a2030783766666630302c0a202063686f636f6c6174653a2030786432363931652c0a2020636f72616c3a2030786666376635302c0a2020636f726e666c6f776572626c75653a2030783634393565642c0a2020636f726e73696c6b3a2030786666663864632c0a20206372696d736f6e3a2030786463313433632c0a20206379616e3a2030783030666666662c0a20206461726b626c75653a2030783030303038622c0a20206461726b6379616e3a2030783030386238622c0a20206461726b676f6c64656e726f643a2030786238383630622c0a20206461726b677261793a2030786139613961392c0a20206461726b677265656e3a2030783030363430302c0a20206461726b677265793a2030786139613961392c0a20206461726b6b68616b693a2030786264623736622c0a20206461726b6d6167656e74613a2030783862303038622c0a20206461726b6f6c697665677265656e3a2030783535366232662c0a20206461726b6f72616e67653a2030786666386330302c0a20206461726b6f72636869643a2030783939333263632c0a20206461726b7265643a2030783862303030302c0a20206461726b73616c6d6f6e3a2030786539393637612c0a20206461726b736561677265656e3a2030783866626338662c0a20206461726b736c617465626c75653a2030783438336438622c0a20206461726b736c617465677261793a2030783266346634662c0a20206461726b736c617465677265793a2030783266346634662c0a20206461726b74757271756f6973653a2030783030636564312c0a20206461726b76696f6c65743a2030783934303064332c0a20206465657070696e6b3a2030786666313439332c0a202064656570736b79626c75653a2030783030626666662c0a202064696d677261793a2030783639363936392c0a202064696d677265793a2030783639363936392c0a2020646f64676572626c75653a2030783165393066662c0a202066697265627269636b3a2030786232323232322c0a2020666c6f72616c77686974653a2030786666666166302c0a2020666f72657374677265656e3a2030783232386232322c0a2020667563687369613a2030786666303066662c0a20206761696e73626f726f3a2030786463646364632c0a202067686f737477686974653a2030786638663866662c0a2020676f6c643a2030786666643730302c0a2020676f6c64656e726f643a2030786461613532302c0a2020677261793a2030783830383038302c0a2020677265656e3a2030783030383030302c0a2020677265656e79656c6c6f773a2030786164666632662c0a2020677265793a2030783830383038302c0a2020686f6e65796465773a2030786630666666302c0a2020686f7470696e6b3a2030786666363962342c0a2020696e6469616e7265643a2030786364356335632c0a2020696e6469676f3a2030783462303038322c0a202069766f72793a2030786666666666302c0a20206b68616b693a2030786630653638632c0a20206c6176656e6465723a2030786536653666612c0a20206c6176656e646572626c7573683a2030786666663066352c0a20206c61776e677265656e3a2030783763666330302c0a20206c656d6f6e63686966666f6e3a2030786666666163642c0a20206c69676874626c75653a2030786164643865362c0a20206c69676874636f72616c3a2030786630383038302c0a20206c696768746379616e3a2030786530666666662c0a20206c69676874676f6c64656e726f6479656c6c6f773a2030786661666164322c0a20206c69676874677261793a2030786433643364332c0a20206c69676874677265656e3a2030783930656539302c0a20206c69676874677265793a2030786433643364332c0a20206c6967687470696e6b3a2030786666623663312c0a20206c6967687473616c6d6f6e3a2030786666613037612c0a20206c69676874736561677265656e3a2030783230623261612c0a20206c69676874736b79626c75653a2030783837636566612c0a20206c69676874736c617465677261793a2030783737383839392c0a20206c69676874736c617465677265793a2030783737383839392c0a20206c69676874737465656c626c75653a2030786230633464652c0a20206c6967687479656c6c6f773a2030786666666665302c0a20206c696d653a2030783030666630302c0a20206c696d65677265656e3a2030783332636433322c0a20206c696e656e3a2030786661663065362c0a20206d6167656e74613a2030786666303066662c0a20206d61726f6f6e3a2030783830303030302c0a20206d656469756d617175616d6172696e653a2030783636636461612c0a20206d656469756d626c75653a2030783030303063642c0a20206d656469756d6f72636869643a2030786261353564332c0a20206d656469756d707572706c653a2030783933373064622c0a20206d656469756d736561677265656e3a2030783363623337312c0a20206d656469756d736c617465626c75653a2030783762363865652c0a20206d656469756d737072696e67677265656e3a2030783030666139612c0a20206d656469756d74757271756f6973653a2030783438643163632c0a20206d656469756d76696f6c65747265643a2030786337313538352c0a20206d69646e69676874626c75653a2030783139313937302c0a20206d696e74637265616d3a2030786635666666612c0a20206d69737479726f73653a2030786666653465312c0a20206d6f63636173696e3a2030786666653462352c0a20206e6176616a6f77686974653a2030786666646561642c0a20206e6176793a2030783030303038302c0a20206f6c646c6163653a2030786664663565362c0a20206f6c6976653a2030783830383030302c0a20206f6c697665647261623a2030783662386532332c0a20206f72616e67653a2030786666613530302c0a20206f72616e67657265643a2030786666343530302c0a20206f72636869643a2030786461373064362c0a202070616c65676f6c64656e726f643a2030786565653861612c0a202070616c65677265656e3a2030783938666239382c0a202070616c6574757271756f6973653a2030786166656565652c0a202070616c6576696f6c65747265643a2030786462373039332c0a2020706170617961776869703a2030786666656664352c0a20207065616368707566663a2030786666646162392c0a2020706572753a2030786364383533662c0a202070696e6b3a2030786666633063622c0a2020706c756d3a2030786464613064642c0a2020706f77646572626c75653a2030786230653065362c0a2020707572706c653a2030783830303038302c0a202072656265636361707572706c653a2030783636333339392c0a20207265643a2030786666303030302c0a2020726f737962726f776e3a2030786263386638662c0a2020726f79616c626c75653a2030783431363965312c0a2020736164646c6562726f776e3a2030783862343531332c0a202073616c6d6f6e3a2030786661383037322c0a202073616e647962726f776e3a2030786634613436302c0a2020736561677265656e3a2030783265386235372c0a20207365617368656c6c3a2030786666663565652c0a20207369656e6e613a2030786130353232642c0a202073696c7665723a2030786330633063302c0a2020736b79626c75653a2030783837636565622c0a2020736c617465626c75653a2030783661356163642c0a2020736c617465677261793a2030783730383039302c0a2020736c617465677265793a2030783730383039302c0a2020736e6f773a2030786666666166612c0a2020737072696e67677265656e3a2030783030666637662c0a2020737465656c626c75653a2030783436383262342c0a202074616e3a2030786432623438632c0a20207465616c3a2030783030383038302c0a202074686973746c653a2030786438626664382c0a2020746f6d61746f3a2030786666363334372c0a202074757271756f6973653a2030783430653064302c0a202076696f6c65743a2030786565383265652c0a202077686561743a2030786635646562332c0a202077686974653a2030786666666666662c0a20207768697465736d6f6b653a2030786635663566352c0a202079656c6c6f773a2030786666666630302c0a202079656c6c6f77677265656e3a2030783961636433320a7d3b0a0a646566696e6528436f6c6f722c20636f6c6f722c207b0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e72676228292e646973706c617961626c6528293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e7267622829202b2022223b0a20207d0a7d293b0a0a66756e6374696f6e20636f6c6f7228666f726d617429207b0a2020766172206d3b0a2020666f726d6174203d2028666f726d6174202b202222292e7472696d28292e746f4c6f7765724361736528293b0a202072657475726e20286d203d207265486578332e6578656328666f726d61742929203f20286d203d207061727365496e74286d5b315d2c203136292c206e65772052676228286d203e3e203820262030786629207c20286d203e3e20342026203078306630292c20286d203e3e203420262030786629207c20286d20262030786630292c2028286d20262030786629203c3c203429207c20286d202620307866292c20312929202f2f20236630300a2020202020203a20286d203d207265486578362e6578656328666f726d61742929203f207267626e287061727365496e74286d5b315d2c2031362929202f2f20236666303030300a2020202020203a20286d203d207265526762496e74656765722e6578656328666f726d61742929203f206e657720526762286d5b315d2c206d5b325d2c206d5b335d2c203129202f2f20726762283235352c20302c2030290a2020202020203a20286d203d20726552676250657263656e742e6578656328666f726d61742929203f206e657720526762286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c203129202f2f2072676228313030252c2030252c203025290a2020202020203a20286d203d20726552676261496e74656765722e6578656328666f726d61742929203f2072676261286d5b315d2c206d5b325d2c206d5b335d2c206d5b345d29202f2f2072676261283235352c20302c20302c2031290a2020202020203a20286d203d2072655267626150657263656e742e6578656328666f726d61742929203f2072676261286d5b315d202a20323535202f203130302c206d5b325d202a20323535202f203130302c206d5b335d202a20323535202f203130302c206d5b345d29202f2f2072676228313030252c2030252c2030252c2031290a2020202020203a20286d203d20726548736c50657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c203129202f2f2068736c283132302c203530252c20353025290a2020202020203a20286d203d20726548736c6150657263656e742e6578656328666f726d61742929203f2068736c61286d5b315d2c206d5b325d202f203130302c206d5b335d202f203130302c206d5b345d29202f2f2068736c61283132302c203530252c203530252c2031290a2020202020203a206e616d65642e6861734f776e50726f706572747928666f726d617429203f207267626e286e616d65645b666f726d61745d290a2020202020203a20666f726d6174203d3d3d20227472616e73706172656e7422203f206e657720526762284e614e2c204e614e2c204e614e2c2030290a2020202020203a206e756c6c3b0a7d0a0a66756e6374696f6e207267626e286e29207b0a202072657475726e206e657720526762286e203e3e203136202620307866662c206e203e3e2038202620307866662c206e202620307866662c2031293b0a7d0a0a66756e6374696f6e207267626128722c20672c20622c206129207b0a20206966202861203c3d2030292072203d2067203d2062203d204e614e3b0a202072657475726e206e65772052676228722c20672c20622c2061293b0a7d0a0a66756e6374696f6e20726762436f6e76657274286f29207b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e6577205267623b0a20206f203d206f2e72676228293b0a202072657475726e206e657720526762286f2e722c206f2e672c206f2e622c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2072676228722c20672c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f20726762436f6e76657274287229203a206e65772052676228722c20672c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2052676228722c20672c20622c206f70616369747929207b0a2020746869732e72203d202b723b0a2020746869732e67203d202b673b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65285267622c207267622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772052676228746869732e72202a206b2c20746869732e67202a206b2c20746869732e62202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e20746869733b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7220262620746869732e72203c3d20323535290a20202020202020202626202830203c3d20746869732e6720262620746869732e67203c3d20323535290a20202020202020202626202830203c3d20746869732e6220262620746869732e62203c3d20323535290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a202020207661722061203d20746869732e6f7061636974793b2061203d2069734e614e286129203f2031203a204d6174682e6d617828302c204d6174682e6d696e28312c206129293b0a2020202072657475726e202861203d3d3d2031203f20227267622822203a2022726762612822290a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e7229207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6729207c7c20302929202b20222c20220a20202020202020202b204d6174682e6d617828302c204d6174682e6d696e283235352c204d6174682e726f756e6428746869732e6229207c7c203029290a20202020202020202b202861203d3d3d2031203f20222922203a20222c2022202b2061202b20222922293b0a20207d0a7d29293b0a0a66756e6374696f6e2068736c6128682c20732c206c2c206129207b0a20206966202861203c3d2030292068203d2073203d206c203d204e614e3b0a2020656c736520696620286c203c3d2030207c7c206c203e3d2031292068203d2073203d204e614e3b0a2020656c7365206966202873203c3d2030292068203d204e614e3b0a202072657475726e206e65772048736c28682c20732c206c2c2061293b0a7d0a0a66756e6374696f6e2068736c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206e65772048736c286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f6620436f6c6f722929206f203d20636f6c6f72286f293b0a202069662028216f292072657475726e206e65772048736c3b0a2020696620286f20696e7374616e63656f662048736c292072657475726e206f3b0a20206f203d206f2e72676228293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206d696e203d204d6174682e6d696e28722c20672c2062292c0a2020202020206d6178203d204d6174682e6d617828722c20672c2062292c0a20202020202068203d204e614e2c0a20202020202073203d206d6178202d206d696e2c0a2020202020206c203d20286d6178202b206d696e29202f20323b0a2020696620287329207b0a202020206966202872203d3d3d206d6178292068203d202867202d206229202f2073202b202867203c206229202a20363b0a20202020656c7365206966202867203d3d3d206d6178292068203d202862202d207229202f2073202b20323b0a20202020656c73652068203d202872202d206729202f2073202b20343b0a2020202073202f3d206c203c20302e35203f206d6178202b206d696e203a2032202d206d6178202d206d696e3b0a2020202068202a3d2036303b0a20207d20656c7365207b0a2020202073203d206c203e2030202626206c203c2031203f2030203a20683b0a20207d0a202072657475726e206e65772048736c28682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068736c28682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068736c436f6e76657274286829203a206e65772048736c28682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048736c28682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848736c2c2068736c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e65772048736c28746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d20746869732e68202520333630202b2028746869732e68203c203029202a203336302c0a202020202020202073203d2069734e614e286829207c7c2069734e614e28746869732e7329203f2030203a20746869732e732c0a20202020202020206c203d20746869732e6c2c0a20202020202020206d32203d206c202b20286c203c20302e35203f206c203a2031202d206c29202a20732c0a20202020202020206d31203d2032202a206c202d206d323b0a2020202072657475726e206e657720526762280a20202020202068736c327267622868203e3d20323430203f2068202d20323430203a2068202b203132302c206d312c206d32292c0a20202020202068736c3272676228682c206d312c206d32292c0a20202020202068736c327267622868203c20313230203f2068202b20323430203a2068202d203132302c206d312c206d32292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d2c0a2020646973706c617961626c653a2066756e6374696f6e2829207b0a2020202072657475726e202830203c3d20746869732e7320262620746869732e73203c3d2031207c7c2069734e614e28746869732e7329290a20202020202020202626202830203c3d20746869732e6c20262620746869732e6c203c3d2031290a20202020202020202626202830203c3d20746869732e6f70616369747920262620746869732e6f706163697479203c3d2031293b0a20207d0a7d29293b0a0a2f2a2046726f6d204676442031332e33372c2043535320436f6c6f72204d6f64756c65204c6576656c2033202a2f0a66756e6374696f6e2068736c3272676228682c206d312c206d3229207b0a202072657475726e202868203c203630203f206d31202b20286d32202d206d3129202a2068202f2036300a2020202020203a2068203c20313830203f206d320a2020202020203a2068203c20323430203f206d31202b20286d32202d206d3129202a2028323430202d206829202f2036300a2020202020203a206d3129202a203235353b0a7d0a0a7661722064656732726164203d204d6174682e5049202f203138303b0a7661722072616432646567203d20313830202f204d6174682e50493b0a0a766172204b6e203d2031383b0a76617220586e203d20302e3935303437303b0a76617220596e203d20313b0a766172205a6e203d20312e3038383833303b0a766172207430203d2034202f2032393b0a766172207431203d2036202f2032393b0a766172207432203d2033202a207431202a2074313b0a766172207433203d207431202a207431202a2074313b0a0a66756e6374696f6e206c6162436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204c6162292072657475726e206e6577204c6162286f2e6c2c206f2e612c206f2e622c206f2e6f706163697479293b0a2020696620286f20696e7374616e63656f662048636c29207b0a202020207661722068203d206f2e68202a20646567327261643b0a2020202072657475726e206e6577204c6162286f2e6c2c204d6174682e636f73286829202a206f2e632c204d6174682e73696e286829202a206f2e632c206f2e6f706163697479293b0a20207d0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722062203d207267623278797a286f2e72292c0a20202020202061203d207267623278797a286f2e67292c0a2020202020206c203d207267623278797a286f2e62292c0a20202020202078203d2078797a326c61622828302e34313234353634202a2062202b20302e33353735373631202a2061202b20302e31383034333735202a206c29202f20586e292c0a20202020202079203d2078797a326c61622828302e32313236373239202a2062202b20302e37313531353232202a2061202b20302e30373231373530202a206c29202f20596e292c0a2020202020207a203d2078797a326c61622828302e30313933333339202a2062202b20302e31313931393230202a2061202b20302e39353033303431202a206c29202f205a6e293b0a202072657475726e206e6577204c616228313136202a2079202d2031362c20353030202a202878202d2079292c20323030202a202879202d207a292c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206c6162286c2c20612c20622c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206c6162436f6e76657274286c29203a206e6577204c6162286c2c20612c20622c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204c6162286c2c20612c20622c206f70616369747929207b0a2020746869732e6c203d202b6c3b0a2020746869732e61203d202b613b0a2020746869732e62203d202b623b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284c61622c206c61622c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202b204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e6577204c616228746869732e6c202d204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e612c20746869732e622c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722079203d2028746869732e6c202b20313629202f203131362c0a202020202020202078203d2069734e614e28746869732e6129203f2079203a2079202b20746869732e61202f203530302c0a20202020202020207a203d2069734e614e28746869732e6229203f2079203a2079202d20746869732e62202f203230303b0a2020202079203d20596e202a206c61623278797a2879293b0a2020202078203d20586e202a206c61623278797a2878293b0a202020207a203d205a6e202a206c61623278797a287a293b0a2020202072657475726e206e657720526762280a20202020202078797a327267622820332e32343034353432202a2078202d20312e35333731333835202a2079202d20302e34393835333134202a207a292c202f2f20443635202d3e20735247420a20202020202078797a32726762282d302e39363932363630202a2078202b20312e38373630313038202a2079202b20302e30343135353630202a207a292c0a20202020202078797a327267622820302e30353536343334202a2078202d20302e32303430323539202a2079202b20312e30353732323532202a207a292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a66756e6374696f6e2078797a326c6162287429207b0a202072657475726e2074203e207433203f204d6174682e706f7728742c2031202f203329203a2074202f207432202b2074303b0a7d0a0a66756e6374696f6e206c61623278797a287429207b0a202072657475726e2074203e207431203f2074202a2074202a2074203a207432202a202874202d207430293b0a7d0a0a66756e6374696f6e2078797a32726762287829207b0a202072657475726e20323535202a202878203c3d20302e30303331333038203f2031322e3932202a2078203a20312e303535202a204d6174682e706f7728782c2031202f20322e3429202d20302e303535293b0a7d0a0a66756e6374696f6e207267623278797a287829207b0a202072657475726e202878202f3d2032353529203c3d20302e3034303435203f2078202f2031322e3932203a204d6174682e706f77282878202b20302e30353529202f20312e3035352c20322e34293b0a7d0a0a66756e6374696f6e2068636c436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f662048636c292072657475726e206e65772048636c286f2e682c206f2e632c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66204c61622929206f203d206c6162436f6e76657274286f293b0a20207661722068203d204d6174682e6174616e32286f2e622c206f2e6129202a20726164326465673b0a202072657475726e206e65772048636c2868203c2030203f2068202b20333630203a20682c204d6174682e73717274286f2e61202a206f2e61202b206f2e62202a206f2e62292c206f2e6c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e2068636c28682c20632c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f2068636c436f6e76657274286829203a206e65772048636c28682c20632c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e2048636c28682c20632c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e63203d202b633b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e652848636c2c2068636c2c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202b204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a2020202072657475726e206e65772048636c28746869732e682c20746869732e632c20746869732e6c202d204b6e202a20286b203d3d206e756c6c203f2031203a206b292c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a2020202072657475726e206c6162436f6e766572742874686973292e72676228293b0a20207d0a7d29293b0a0a7661722041203d202d302e31343836313b0a7661722042203d202b312e37383237373b0a7661722043203d202d302e32393232373b0a7661722044203d202d302e39303634393b0a7661722045203d202b312e39373239343b0a766172204544203d2045202a20443b0a766172204542203d2045202a20423b0a7661722042435f4441203d2042202a2043202d2044202a20413b0a0a66756e6374696f6e206375626568656c6978436f6e76657274286f29207b0a2020696620286f20696e7374616e63656f66204375626568656c6978292072657475726e206e6577204375626568656c6978286f2e682c206f2e732c206f2e6c2c206f2e6f706163697479293b0a20206966202821286f20696e7374616e63656f66205267622929206f203d20726762436f6e76657274286f293b0a20207661722072203d206f2e72202f203235352c0a20202020202067203d206f2e67202f203235352c0a20202020202062203d206f2e62202f203235352c0a2020202020206c203d202842435f4441202a2062202b204544202a2072202d204542202a206729202f202842435f4441202b204544202d204542292c0a202020202020626c203d2062202d206c2c0a2020202020206b203d202845202a202867202d206c29202d2043202a20626c29202f20442c0a20202020202073203d204d6174682e73717274286b202a206b202b20626c202a20626c29202f202845202a206c202a202831202d206c29292c202f2f204e614e206966206c3d30206f72206c3d310a20202020202068203d2073203f204d6174682e6174616e32286b2c20626c29202a2072616432646567202d20313230203a204e614e3b0a202072657475726e206e6577204375626568656c69782868203c2030203f2068202b20333630203a20682c20732c206c2c206f2e6f706163697479293b0a7d0a0a66756e6374696f6e206375626568656c697828682c20732c206c2c206f70616369747929207b0a202072657475726e20617267756d656e74732e6c656e677468203d3d3d2031203f206375626568656c6978436f6e76657274286829203a206e6577204375626568656c697828682c20732c206c2c206f706163697479203d3d206e756c6c203f2031203a206f706163697479293b0a7d0a0a66756e6374696f6e204375626568656c697828682c20732c206c2c206f70616369747929207b0a2020746869732e68203d202b683b0a2020746869732e73203d202b733b0a2020746869732e6c203d202b6c3b0a2020746869732e6f706163697479203d202b6f7061636974793b0a7d0a0a646566696e65284375626568656c69782c206375626568656c69782c20657874656e6428436f6c6f722c207b0a202062726967687465723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206272696768746572203a204d6174682e706f772862726967687465722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20206461726b65723a2066756e6374696f6e286b29207b0a202020206b203d206b203d3d206e756c6c203f206461726b6572203a204d6174682e706f77286461726b65722c206b293b0a2020202072657475726e206e6577204375626568656c697828746869732e682c20746869732e732c20746869732e6c202a206b2c20746869732e6f706163697479293b0a20207d2c0a20207267623a2066756e6374696f6e2829207b0a202020207661722068203d2069734e614e28746869732e6829203f2030203a2028746869732e68202b2031323029202a20646567327261642c0a20202020202020206c203d202b746869732e6c2c0a202020202020202061203d2069734e614e28746869732e7329203f2030203a20746869732e73202a206c202a202831202d206c292c0a2020202020202020636f7368203d204d6174682e636f732868292c0a202020202020202073696e68203d204d6174682e73696e2868293b0a2020202072657475726e206e657720526762280a202020202020323535202a20286c202b2061202a202841202a20636f7368202b2042202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202843202a20636f7368202b2044202a2073696e6829292c0a202020202020323535202a20286c202b2061202a202845202a20636f736829292c0a202020202020746869732e6f7061636974790a20202020293b0a20207d0a7d29293b0a0a6578706f7274732e636f6c6f72203d20636f6c6f723b0a6578706f7274732e726762203d207267623b0a6578706f7274732e68736c203d2068736c3b0a6578706f7274732e6c6162203d206c61623b0a6578706f7274732e68636c203d2068636c3b0a6578706f7274732e6375626568656c6978203d206375626568656c69783b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d64697370617463682f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172206e6f6f70203d207b76616c75653a2066756e6374696f6e2829207b7d7d3b0a0a66756e6374696f6e2064697370617463682829207b0a2020666f7220287661722069203d20302c206e203d20617267756d656e74732e6c656e6774682c205f203d207b7d2c20743b2069203c206e3b202b2b6929207b0a2020202069662028212874203d20617267756d656e74735b695d202b20222229207c7c20287420696e205f2929207468726f77206e6577204572726f722822696c6c6567616c20747970653a2022202b2074293b0a202020205f5b745d203d205b5d3b0a20207d0a202072657475726e206e6577204469737061746368285f293b0a7d0a0a66756e6374696f6e204469737061746368285f29207b0a2020746869732e5f203d205f3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d65732c20747970657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a202020206966202874202626202174797065732e6861734f776e50726f706572747928742929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a44697370617463682e70726f746f74797065203d2064697370617463682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2044697370617463682c0a20206f6e3a2066756e6374696f6e28747970656e616d652c2063616c6c6261636b29207b0a20202020766172205f203d20746869732e5f2c0a202020202020202054203d207061727365547970656e616d657328747970656e616d65202b2022222c205f292c0a2020202020202020742c0a202020202020202069203d202d312c0a20202020202020206e203d20542e6c656e6774683b0a0a202020202f2f204966206e6f2063616c6c6261636b20776173207370656369666965642c2072657475726e207468652063616c6c6261636b206f662074686520676976656e207479706520616e64206e616d652e0a2020202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202020207768696c6520282b2b69203c206e2920696620282874203d2028747970656e616d65203d20545b695d292e7479706529202626202874203d20676574285f5b745d2c20747970656e616d652e6e616d652929292072657475726e20743b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2049662061207479706520776173207370656369666965642c20736574207468652063616c6c6261636b20666f722074686520676976656e207479706520616e64206e616d652e0a202020202f2f204f74686572776973652c2069662061206e756c6c2063616c6c6261636b20776173207370656369666965642c2072656d6f76652063616c6c6261636b73206f662074686520676976656e206e616d652e0a202020206966202863616c6c6261636b20213d206e756c6c20262620747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a202020207768696c6520282b2b69203c206e29207b0a2020202020206966202874203d2028747970656e616d65203d20545b695d292e7479706529205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c2063616c6c6261636b293b0a202020202020656c7365206966202863616c6c6261636b203d3d206e756c6c2920666f7220287420696e205f29205f5b745d203d20736574285f5b745d2c20747970656e616d652e6e616d652c206e756c6c293b0a202020207d0a0a2020202072657475726e20746869733b0a20207d2c0a2020636f70793a2066756e6374696f6e2829207b0a2020202076617220636f7079203d207b7d2c205f203d20746869732e5f3b0a20202020666f722028766172207420696e205f2920636f70795b745d203d205f5b745d2e736c69636528293b0a2020202072657475726e206e657720446973706174636828636f7079293b0a20207d2c0a202063616c6c3a2066756e6374696f6e28747970652c207468617429207b0a2020202069662028286e203d20617267756d656e74732e6c656e677468202d203229203e20302920666f7220287661722061726773203d206e6577204172726179286e292c2069203d20302c206e2c20743b2069203c206e3b202b2b692920617267735b695d203d20617267756d656e74735b69202b20325d3b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f72202874203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d2c0a20206170706c793a2066756e6374696f6e28747970652c20746861742c206172677329207b0a202020206966202821746869732e5f2e6861734f776e50726f706572747928747970652929207468726f77206e6577204572726f722822756e6b6e6f776e20747970653a2022202b2074797065293b0a20202020666f7220287661722074203d20746869732e5f5b747970655d2c2069203d20302c206e203d20742e6c656e6774683b2069203c206e3b202b2b692920745b695d2e76616c75652e6170706c7928746861742c2061726773293b0a20207d0a7d3b0a0a66756e6374696f6e2067657428747970652c206e616d6529207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774682c20633b2069203c206e3b202b2b6929207b0a20202020696620282863203d20747970655b695d292e6e616d65203d3d3d206e616d6529207b0a20202020202072657475726e20632e76616c75653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2073657428747970652c206e616d652c2063616c6c6261636b29207b0a2020666f7220287661722069203d20302c206e203d20747970652e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202069662028747970655b695d2e6e616d65203d3d3d206e616d6529207b0a202020202020747970655b695d203d206e6f6f702c2074797065203d20747970652e736c69636528302c2069292e636f6e63617428747970652e736c6963652869202b203129293b0a202020202020627265616b3b0a202020207d0a20207d0a20206966202863616c6c6261636b20213d206e756c6c2920747970652e70757368287b6e616d653a206e616d652c2076616c75653a2063616c6c6261636b7d293b0a202072657475726e20747970653b0a7d0a0a6578706f7274732e6469737061746368203d2064697370617463683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d647261672f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d73656c656374696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d73656c656374696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c643353656c656374696f6e29207b202775736520737472696374273b0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a766172206e6f64726167203d2066756e6374696f6e287669657729207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e203d20643353656c656374696f6e2e73656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e6f6576656e742c2074727565293b0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2e6f6e282273656c65637473746172742e64726167222c206e6f6576656e742c2074727565293b0a20207d20656c7365207b0a20202020726f6f742e5f5f6e6f73656c656374203d20726f6f742e7374796c652e4d6f7a5573657253656c6563743b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20226e6f6e65223b0a20207d0a7d3b0a0a66756e6374696f6e207965736472616728766965772c206e6f636c69636b29207b0a202076617220726f6f74203d20766965772e646f63756d656e742e646f63756d656e74456c656d656e742c0a20202020202073656c656374696f6e203d20643353656c656374696f6e2e73656c6563742876696577292e6f6e28226472616773746172742e64726167222c206e756c6c293b0a2020696620286e6f636c69636b29207b0a2020202073656c656374696f6e2e6f6e2822636c69636b2e64726167222c206e6f6576656e742c2074727565293b0a2020202073657454696d656f75742866756e6374696f6e2829207b2073656c656374696f6e2e6f6e2822636c69636b2e64726167222c206e756c6c293b207d2c2030293b0a20207d0a202069662028226f6e73656c65637473746172742220696e20726f6f7429207b0a2020202073656c656374696f6e2e6f6e282273656c65637473746172742e64726167222c206e756c6c293b0a20207d20656c7365207b0a20202020726f6f742e7374796c652e4d6f7a5573657253656c656374203d20726f6f742e5f5f6e6f73656c6563743b0a2020202064656c65746520726f6f742e5f5f6e6f73656c6563743b0a20207d0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e20447261674576656e74287461726765742c20747970652c207375626a6563742c2069642c206163746976652c20782c20792c2064782c2064792c20646973706174636824243129207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7375626a656374203d207375626a6563743b0a2020746869732e6964656e746966696572203d2069643b0a2020746869732e616374697665203d206163746976653b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a2020746869732e6478203d2064783b0a2020746869732e6479203d2064793b0a2020746869732e5f203d2064697370617463682424313b0a7d0a0a447261674576656e742e70726f746f747970652e6f6e203d2066756e6374696f6e2829207b0a20207661722076616c7565203d20746869732e5f2e6f6e2e6170706c7928746869732e5f2c20617267756d656e7473293b0a202072657475726e2076616c7565203d3d3d20746869732e5f203f2074686973203a2076616c75653b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74436f6e7461696e65722829207b0a202072657475726e20746869732e706172656e744e6f64653b0a7d0a0a66756e6374696f6e2064656661756c745375626a656374286429207b0a202072657475726e2064203d3d206e756c6c203f207b783a20643353656c656374696f6e2e6576656e742e782c20793a20643353656c656374696f6e2e6576656e742e797d203a20643b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a7661722064726167203d2066756e6374696f6e2829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020636f6e7461696e6572203d2064656661756c74436f6e7461696e65722c0a2020202020207375626a656374203d2064656661756c745375626a6563742c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020206765737475726573203d207b7d2c0a2020202020206c697374656e657273203d20643344697370617463682e646973706174636828227374617274222c202264726167222c2022656e6422292c0a202020202020616374697665203d20302c0a2020202020206d6f757365646f776e782c0a2020202020206d6f757365646f776e792c0a2020202020206d6f7573656d6f76696e672c0a202020202020746f756368656e64696e672c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e20647261672873656c656374696f6e29207b0a2020202073656c656374696f6e0a20202020202020202e6f6e28226d6f757365646f776e2e64726167222c206d6f757365646f776e6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e64726167222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e64726167222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e6472616720746f75636863616e63656c2e64726167222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067657374757265203d206265666f7265737461727428226d6f757365222c20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c20643353656c656374696f6e2e6d6f7573652c20746869732c20617267756d656e7473293b0a20202020696620282167657374757265292072657475726e3b0a20202020643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e64726167222c206d6f75736575707065642c2074727565293b0a202020206e6f6472616728643353656c656374696f6e2e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a202020206d6f7573656d6f76696e67203d2066616c73653b0a202020206d6f757365646f776e78203d20643353656c656374696f6e2e6576656e742e636c69656e74583b0a202020206d6f757365646f776e79203d20643353656c656374696f6e2e6576656e742e636c69656e74593b0a20202020676573747572652822737461727422293b0a20207d0a0a202066756e6374696f6e206d6f7573656d6f7665642829207b0a202020206e6f6576656e7428293b0a2020202069662028216d6f7573656d6f76696e6729207b0a202020202020766172206478203d20643353656c656374696f6e2e6576656e742e636c69656e7458202d206d6f757365646f776e782c206479203d20643353656c656374696f6e2e6576656e742e636c69656e7459202d206d6f757365646f776e793b0a2020202020206d6f7573656d6f76696e67203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a202020207d0a2020202067657374757265732e6d6f75736528226472616722293b0a20207d0a0a202066756e6374696f6e206d6f75736575707065642829207b0a20202020643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e64726167206d6f75736575702e64726167222c206e756c6c293b0a202020207965736472616728643353656c656374696f6e2e6576656e742e766965772c206d6f7573656d6f76696e67293b0a202020206e6f6576656e7428293b0a2020202067657374757265732e6d6f7573652822656e6422293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a202020202020202063203d20636f6e7461696e65722e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d206265666f7265737461727428746f75636865735b695d2e6964656e7469666965722c20632c20643353656c656374696f6e2e746f7563682c20746869732c20617267756d656e74732929207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822737461727422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865735b695d2e6964656e7469666965725d29207b0a20202020202020206e6f6576656e7428293b0a20202020202020206765737475726528226472616722293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a2020202076617220746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20676573747572653b0a0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20353030293b202f2f2047686f737420636c69636b73206172652064656c61796564210a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206966202867657374757265203d2067657374757265735b746f75636865735b695d2e6964656e7469666965725d29207b0a20202020202020206e6f70726f7061676174696f6e28293b0a2020202020202020676573747572652822656e6422293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206265666f726573746172742869642c20636f6e7461696e65722c20706f696e742c20746861742c206172677329207b0a202020207661722070203d20706f696e7428636f6e7461696e65722c206964292c20732c2064782c2064792c0a20202020202020207375626c697374656e657273203d206c697374656e6572732e636f707928293b0a0a202020206966202821643353656c656374696f6e2e637573746f6d4576656e74286e657720447261674576656e7428647261672c20226265666f72657374617274222c20732c2069642c206163746976652c20705b305d2c20705b315d2c20302c20302c207375626c697374656e657273292c2066756e6374696f6e2829207b0a2020202020206966202828643353656c656374696f6e2e6576656e742e7375626a656374203d2073203d207375626a6563742e6170706c7928746861742c20617267732929203d3d206e756c6c292072657475726e2066616c73653b0a2020202020206478203d20732e78202d20705b305d207c7c20303b0a2020202020206479203d20732e79202d20705b315d207c7c20303b0a20202020202072657475726e20747275653b0a202020207d29292072657475726e3b0a0a2020202072657475726e2066756e6374696f6e2067657374757265287479706529207b0a202020202020766172207030203d20702c206e3b0a20202020202073776974636820287479706529207b0a20202020202020206361736520227374617274223a2067657374757265735b69645d203d20676573747572652c206e203d206163746976652b2b3b20627265616b3b0a2020202020202020636173652022656e64223a2064656c6574652067657374757265735b69645d2c202d2d6163746976653b202f2f206e6f627265616b0a202020202020202063617365202264726167223a2070203d20706f696e7428636f6e7461696e65722c206964292c206e203d206163746976653b20627265616b3b0a2020202020207d0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e657720447261674576656e7428647261672c20747970652c20732c2069642c206e2c20705b305d202b2064782c20705b315d202b2064792c20705b305d202d2070305b305d2c20705b315d202d2070305b315d2c207375626c697374656e657273292c207375626c697374656e6572732e6170706c792c207375626c697374656e6572732c205b747970652c20746861742c20617267735d293b0a202020207d3b0a20207d0a0a2020647261672e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206472616729203a2066696c7465723b0a20207d3b0a0a2020647261672e636f6e7461696e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e7461696e6572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c206472616729203a20636f6e7461696e65723b0a20207d3b0a0a2020647261672e7375626a656374203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287375626a656374203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c206472616729203a207375626a6563743b0a20207d3b0a0a2020647261672e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206472616729203a20746f75636861626c653b0a20207d3b0a0a2020647261672e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f2064726167203a2076616c75653b0a20207d3b0a0a2020647261672e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c206472616729203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e20647261673b0a7d3b0a0a6578706f7274732e64726167203d20647261673b0a6578706f7274732e6472616744697361626c65203d206e6f647261673b0a6578706f7274732e64726167456e61626c65203d20796573647261673b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d73656c656374696f6e223a36317d5d2c34373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d6473762f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220454f4c203d207b7d3b0a76617220454f46203d207b7d3b0a7661722051554f5445203d2033343b0a766172204e45574c494e45203d2031303b0a7661722052455455524e203d2031333b0a0a66756e6374696f6e206f626a656374436f6e76657274657228636f6c756d6e7329207b0a202072657475726e206e65772046756e6374696f6e282264222c202272657475726e207b22202b20636f6c756d6e732e6d61702866756e6374696f6e286e616d652c206929207b0a2020202072657475726e204a534f4e2e737472696e67696679286e616d6529202b20223a20645b22202b2069202b20225d223b0a20207d292e6a6f696e28222c2229202b20227d22293b0a7d0a0a66756e6374696f6e20637573746f6d436f6e76657274657228636f6c756d6e732c206629207b0a2020766172206f626a656374203d206f626a656374436f6e76657274657228636f6c756d6e73293b0a202072657475726e2066756e6374696f6e28726f772c206929207b0a2020202072657475726e2066286f626a65637428726f77292c20692c20636f6c756d6e73293b0a20207d3b0a7d0a0a2f2f20436f6d7075746520756e6971756520636f6c756d6e7320696e206f72646572206f6620646973636f766572792e0a66756e6374696f6e20696e666572436f6c756d6e7328726f777329207b0a202076617220636f6c756d6e536574203d204f626a6563742e637265617465286e756c6c292c0a202020202020636f6c756d6e73203d205b5d3b0a0a2020726f77732e666f72456163682866756e6374696f6e28726f7729207b0a20202020666f72202876617220636f6c756d6e20696e20726f7729207b0a202020202020696620282128636f6c756d6e20696e20636f6c756d6e5365742929207b0a2020202020202020636f6c756d6e732e7075736828636f6c756d6e5365745b636f6c756d6e5d203d20636f6c756d6e293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20636f6c756d6e733b0a7d0a0a76617220647376203d2066756e6374696f6e2864656c696d6974657229207b0a2020766172207265466f726d6174203d206e65772052656745787028225b5c2222202b2064656c696d69746572202b20225c6e5c725d22292c0a20202020202044454c494d49544552203d2064656c696d697465722e63686172436f646541742830293b0a0a202066756e6374696f6e20706172736528746578742c206629207b0a2020202076617220636f6e766572742c20636f6c756d6e732c20726f7773203d207061727365526f777328746578742c2066756e6374696f6e28726f772c206929207b0a20202020202069662028636f6e76657274292072657475726e20636f6e7665727428726f772c2069202d2031293b0a202020202020636f6c756d6e73203d20726f772c20636f6e76657274203d2066203f20637573746f6d436f6e76657274657228726f772c206629203a206f626a656374436f6e76657274657228726f77293b0a202020207d293b0a20202020726f77732e636f6c756d6e73203d20636f6c756d6e73207c7c205b5d3b0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e207061727365526f777328746578742c206629207b0a2020202076617220726f7773203d205b5d2c202f2f206f757470757420726f77730a20202020202020204e203d20746578742e6c656e6774682c0a202020202020202049203d20302c202f2f2063757272656e742063686172616374657220696e6465780a20202020202020206e203d20302c202f2f2063757272656e74206c696e65206e756d6265720a2020202020202020742c202f2f2063757272656e7420746f6b656e0a2020202020202020656f66203d204e203c3d20302c202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f463f0a2020202020202020656f6c203d2066616c73653b202f2f2063757272656e7420746f6b656e20666f6c6c6f77656420627920454f4c3f0a0a202020202f2f2053747269702074686520747261696c696e67206e65776c696e652e0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d204e45574c494e4529202d2d4e3b0a2020202069662028746578742e63686172436f64654174284e202d203129203d3d3d2052455455524e29202d2d4e3b0a0a2020202066756e6374696f6e20746f6b656e2829207b0a20202020202069662028656f66292072657475726e20454f463b0a20202020202069662028656f6c292072657475726e20656f6c203d2066616c73652c20454f4c3b0a0a2020202020202f2f20556e6573636170652071756f7465732e0a20202020202076617220692c206a203d20492c20633b0a20202020202069662028746578742e63686172436f64654174286a29203d3d3d2051554f544529207b0a20202020202020207768696c652028492b2b203c204e20262620746578742e63686172436f6465417428492920213d3d2051554f5445207c7c20746578742e63686172436f64654174282b2b4929203d3d3d2051554f5445293b0a2020202020202020696620282869203d204929203e3d204e2920656f66203d20747275653b0a2020202020202020656c736520696620282863203d20746578742e63686172436f6465417428492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a202020202020202072657475726e20746578742e736c696365286a202b20312c2069202d2031292e7265706c616365282f22222f672c20225c2222293b0a2020202020207d0a0a2020202020202f2f2046696e64206e6578742064656c696d69746572206f72206e65776c696e652e0a2020202020207768696c65202849203c204e29207b0a2020202020202020696620282863203d20746578742e63686172436f646541742869203d20492b2b2929203d3d3d204e45574c494e452920656f6c203d20747275653b0a2020202020202020656c7365206966202863203d3d3d2052455455524e29207b20656f6c203d20747275653b2069662028746578742e63686172436f64654174284929203d3d3d204e45574c494e4529202b2b493b207d0a2020202020202020656c736520696620286320213d3d2044454c494d495445522920636f6e74696e75653b0a202020202020202072657475726e20746578742e736c696365286a2c2069293b0a2020202020207d0a0a2020202020202f2f2052657475726e206c61737420746f6b656e206265666f726520454f462e0a20202020202072657475726e20656f66203d20747275652c20746578742e736c696365286a2c204e293b0a202020207d0a0a202020207768696c6520282874203d20746f6b656e28292920213d3d20454f4629207b0a20202020202076617220726f77203d205b5d3b0a2020202020207768696c6520287420213d3d20454f4c202626207420213d3d20454f462920726f772e707573682874292c2074203d20746f6b656e28293b0a20202020202069662028662026262028726f77203d206628726f772c206e2b2b2929203d3d206e756c6c2920636f6e74696e75653b0a202020202020726f77732e7075736828726f77293b0a202020207d0a0a2020202072657475726e20726f77733b0a20207d0a0a202066756e6374696f6e20666f726d617428726f77732c20636f6c756d6e7329207b0a2020202069662028636f6c756d6e73203d3d206e756c6c2920636f6c756d6e73203d20696e666572436f6c756d6e7328726f7773293b0a2020202072657475726e205b636f6c756d6e732e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572295d2e636f6e63617428726f77732e6d61702866756e6374696f6e28726f7729207b0a20202020202072657475726e20636f6c756d6e732e6d61702866756e6374696f6e28636f6c756d6e29207b0a202020202020202072657475726e20666f726d617456616c756528726f775b636f6c756d6e5d293b0a2020202020207d292e6a6f696e2864656c696d69746572293b0a202020207d29292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f777328726f777329207b0a2020202072657475726e20726f77732e6d617028666f726d6174526f77292e6a6f696e28225c6e22293b0a20207d0a0a202066756e6374696f6e20666f726d6174526f7728726f7729207b0a2020202072657475726e20726f772e6d617028666f726d617456616c7565292e6a6f696e2864656c696d69746572293b0a20207d0a0a202066756e6374696f6e20666f726d617456616c7565287465787429207b0a2020202072657475726e2074657874203d3d206e756c6c203f2022220a20202020202020203a207265466f726d61742e746573742874657874202b3d20222229203f20225c2222202b20746578742e7265706c616365282f222f672c20225c225c222229202b20225c22220a20202020202020203a20746578743b0a20207d0a0a202072657475726e207b0a2020202070617273653a2070617273652c0a202020207061727365526f77733a207061727365526f77732c0a20202020666f726d61743a20666f726d61742c0a20202020666f726d6174526f77733a20666f726d6174526f77730a20207d3b0a7d3b0a0a76617220637376203d2064737628222c22293b0a0a766172206373765061727365203d206373762e70617273653b0a766172206373765061727365526f7773203d206373762e7061727365526f77733b0a76617220637376466f726d6174203d206373762e666f726d61743b0a76617220637376466f726d6174526f7773203d206373762e666f726d6174526f77733b0a0a76617220747376203d2064737628225c7422293b0a0a766172207473765061727365203d207473762e70617273653b0a766172207473765061727365526f7773203d207473762e7061727365526f77733b0a76617220747376466f726d6174203d207473762e666f726d61743b0a76617220747376466f726d6174526f7773203d207473762e666f726d6174526f77733b0a0a6578706f7274732e647376466f726d6174203d206473763b0a6578706f7274732e6373765061727365203d2063737650617273653b0a6578706f7274732e6373765061727365526f7773203d206373765061727365526f77733b0a6578706f7274732e637376466f726d6174203d20637376466f726d61743b0a6578706f7274732e637376466f726d6174526f7773203d20637376466f726d6174526f77733b0a6578706f7274732e7473765061727365203d2074737650617273653b0a6578706f7274732e7473765061727365526f7773203d207473765061727365526f77733b0a6578706f7274732e747376466f726d6174203d20747376466f726d61743b0a6578706f7274732e747376466f726d6174526f7773203d20747376466f726d6174526f77733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d656173652f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a66756e6374696f6e206c696e656172287429207b0a202072657475726e202b743b0a7d0a0a66756e6374696f6e2071756164496e287429207b0a202072657475726e2074202a20743b0a7d0a0a66756e6374696f6e20717561644f7574287429207b0a202072657475726e2074202a202832202d2074293b0a7d0a0a66756e6374696f6e2071756164496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074203a202d2d74202a202832202d207429202b203129202f20323b0a7d0a0a66756e6374696f6e206375626963496e287429207b0a202072657475726e2074202a2074202a20743b0a7d0a0a66756e6374696f6e2063756269634f7574287429207b0a202072657475726e202d2d74202a2074202a2074202b20313b0a7d0a0a66756e6374696f6e206375626963496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2074202a2074202a2074203a202874202d3d203229202a2074202a2074202b203229202f20323b0a7d0a0a766172206578706f6e656e74203d20333b0a0a76617220706f6c79496e203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e287429207b0a2020202072657475726e204d6174682e706f7728742c2065293b0a20207d0a0a2020706f6c79496e2e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e3b0a7d29286578706f6e656e74293b0a0a76617220706f6c794f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c794f7574287429207b0a2020202072657475726e2031202d204d6174682e706f772831202d20742c2065293b0a20207d0a0a2020706f6c794f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c794f75743b0a7d29286578706f6e656e74293b0a0a76617220706f6c79496e4f7574203d202866756e6374696f6e20637573746f6d286529207b0a202065203d202b653b0a0a202066756e6374696f6e20706f6c79496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728742c206529203a2032202d204d6174682e706f772832202d20742c20652929202f20323b0a20207d0a0a2020706f6c79496e4f75742e6578706f6e656e74203d20637573746f6d3b0a0a202072657475726e20706f6c79496e4f75743b0a7d29286578706f6e656e74293b0a0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a0a66756e6374696f6e2073696e496e287429207b0a202072657475726e2031202d204d6174682e636f732874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e4f7574287429207b0a202072657475726e204d6174682e73696e2874202a2068616c665069293b0a7d0a0a66756e6374696f6e2073696e496e4f7574287429207b0a202072657475726e202831202d204d6174682e636f73287069202a20742929202f20323b0a7d0a0a66756e6374696f6e20657870496e287429207b0a202072657475726e204d6174682e706f7728322c203130202a2074202d203130293b0a7d0a0a66756e6374696f6e206578704f7574287429207b0a202072657475726e2031202d204d6174682e706f7728322c202d3130202a2074293b0a7d0a0a66756e6374696f6e20657870496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f204d6174682e706f7728322c203130202a2074202d20313029203a2032202d204d6174682e706f7728322c203130202d203130202a20742929202f20323b0a7d0a0a66756e6374696f6e20636972636c65496e287429207b0a202072657475726e2031202d204d6174682e737172742831202d2074202a2074293b0a7d0a0a66756e6374696f6e20636972636c654f7574287429207b0a202072657475726e204d6174682e737172742831202d202d2d74202a2074293b0a7d0a0a66756e6374696f6e20636972636c65496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d204d6174682e737172742831202d2074202a207429203a204d6174682e737172742831202d202874202d3d203229202a207429202b203129202f20323b0a7d0a0a766172206231203d2034202f2031313b0a766172206232203d2036202f2031313b0a766172206233203d2038202f2031313b0a766172206234203d2033202f20343b0a766172206235203d2039202f2031313b0a766172206236203d203130202f2031313b0a766172206237203d203135202f2031363b0a766172206238203d203231202f2032323b0a766172206239203d203633202f2036343b0a766172206230203d2031202f206231202f2062313b0a0a66756e6374696f6e20626f756e6365496e287429207b0a202072657475726e2031202d20626f756e63654f75742831202d2074293b0a7d0a0a66756e6374696f6e20626f756e63654f7574287429207b0a202072657475726e202874203d202b7429203c206231203f206230202a2074202a2074203a2074203c206233203f206230202a202874202d3d20623229202a2074202b206234203a2074203c206236203f206230202a202874202d3d20623529202a2074202b206237203a206230202a202874202d3d20623829202a2074202b2062393b0a7d0a0a66756e6374696f6e20626f756e6365496e4f7574287429207b0a202072657475726e20282874202a3d203229203c3d2031203f2031202d20626f756e63654f75742831202d207429203a20626f756e63654f75742874202d203129202b203129202f20323b0a7d0a0a766172206f76657273686f6f74203d20312e37303135383b0a0a766172206261636b496e203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e287429207b0a2020202072657475726e2074202a2074202a20282873202b203129202a2074202d2073293b0a20207d0a0a20206261636b496e2e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e3b0a7d29286f76657273686f6f74293b0a0a766172206261636b4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b4f7574287429207b0a2020202072657475726e202d2d74202a2074202a20282873202b203129202a2074202b207329202b20313b0a20207d0a0a20206261636b4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b4f75743b0a7d29286f76657273686f6f74293b0a0a766172206261636b496e4f7574203d202866756e6374696f6e20637573746f6d287329207b0a202073203d202b733b0a0a202066756e6374696f6e206261636b496e4f7574287429207b0a2020202072657475726e20282874202a3d203229203c2031203f2074202a2074202a20282873202b203129202a2074202d207329203a202874202d3d203229202a2074202a20282873202b203129202a2074202b207329202b203229202f20323b0a20207d0a0a20206261636b496e4f75742e6f76657273686f6f74203d20637573746f6d3b0a0a202072657475726e206261636b496e4f75743b0a7d29286f76657273686f6f74293b0a0a76617220746175203d2032202a204d6174682e50493b0a76617220616d706c6974756465203d20313b0a76617220706572696f64203d20302e333b0a0a76617220656c6173746963496e203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e287429207b0a2020202072657475726e2061202a204d6174682e706f7728322c203130202a202d2d7429202a204d6174682e73696e282873202d207429202f2070293b0a20207d0a0a2020656c6173746963496e2e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e2e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e3b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c61737469634f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c61737469634f7574287429207b0a2020202072657475726e2031202d2061202a204d6174682e706f7728322c202d3130202a202874203d202b742929202a204d6174682e73696e282874202b207329202f2070293b0a20207d0a0a2020656c61737469634f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c61737469634f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c61737469634f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a76617220656c6173746963496e4f7574203d202866756e6374696f6e20637573746f6d28612c207029207b0a20207661722073203d204d6174682e6173696e2831202f202861203d204d6174682e6d617828312c2061292929202a202870202f3d20746175293b0a0a202066756e6374696f6e20656c6173746963496e4f7574287429207b0a2020202072657475726e20282874203d2074202a2032202d203129203c20300a20202020202020203f2061202a204d6174682e706f7728322c203130202a207429202a204d6174682e73696e282873202d207429202f2070290a20202020202020203a2032202d2061202a204d6174682e706f7728322c202d3130202a207429202a204d6174682e73696e282873202b207429202f20702929202f20323b0a20207d0a0a2020656c6173746963496e4f75742e616d706c6974756465203d2066756e6374696f6e286129207b2072657475726e20637573746f6d28612c2070202a20746175293b207d3b0a2020656c6173746963496e4f75742e706572696f64203d2066756e6374696f6e287029207b2072657475726e20637573746f6d28612c2070293b207d3b0a0a202072657475726e20656c6173746963496e4f75743b0a7d2928616d706c69747564652c20706572696f64293b0a0a6578706f7274732e656173654c696e656172203d206c696e6561723b0a6578706f7274732e6561736551756164203d2071756164496e4f75743b0a6578706f7274732e6561736551756164496e203d2071756164496e3b0a6578706f7274732e65617365517561644f7574203d20717561644f75743b0a6578706f7274732e6561736551756164496e4f7574203d2071756164496e4f75743b0a6578706f7274732e656173654375626963203d206375626963496e4f75743b0a6578706f7274732e656173654375626963496e203d206375626963496e3b0a6578706f7274732e6561736543756269634f7574203d2063756269634f75743b0a6578706f7274732e656173654375626963496e4f7574203d206375626963496e4f75743b0a6578706f7274732e65617365506f6c79203d20706f6c79496e4f75743b0a6578706f7274732e65617365506f6c79496e203d20706f6c79496e3b0a6578706f7274732e65617365506f6c794f7574203d20706f6c794f75743b0a6578706f7274732e65617365506f6c79496e4f7574203d20706f6c79496e4f75743b0a6578706f7274732e6561736553696e203d2073696e496e4f75743b0a6578706f7274732e6561736553696e496e203d2073696e496e3b0a6578706f7274732e6561736553696e4f7574203d2073696e4f75743b0a6578706f7274732e6561736553696e496e4f7574203d2073696e496e4f75743b0a6578706f7274732e65617365457870203d20657870496e4f75743b0a6578706f7274732e65617365457870496e203d20657870496e3b0a6578706f7274732e656173654578704f7574203d206578704f75743b0a6578706f7274732e65617365457870496e4f7574203d20657870496e4f75743b0a6578706f7274732e65617365436972636c65203d20636972636c65496e4f75743b0a6578706f7274732e65617365436972636c65496e203d20636972636c65496e3b0a6578706f7274732e65617365436972636c654f7574203d20636972636c654f75743b0a6578706f7274732e65617365436972636c65496e4f7574203d20636972636c65496e4f75743b0a6578706f7274732e65617365426f756e6365203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e203d20626f756e6365496e3b0a6578706f7274732e65617365426f756e63654f7574203d20626f756e63654f75743b0a6578706f7274732e65617365426f756e6365496e4f7574203d20626f756e6365496e4f75743b0a6578706f7274732e656173654261636b203d206261636b496e4f75743b0a6578706f7274732e656173654261636b496e203d206261636b496e3b0a6578706f7274732e656173654261636b4f7574203d206261636b4f75743b0a6578706f7274732e656173654261636b496e4f7574203d206261636b496e4f75743b0a6578706f7274732e65617365456c6173746963203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e203d20656c6173746963496e3b0a6578706f7274732e65617365456c61737469634f7574203d20656c61737469634f75743b0a6578706f7274732e65617365456c6173746963496e4f7574203d20656c6173746963496e4f75743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c34393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d666f7263652f2056657273696f6e20312e312e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d717561647472656527292c2072657175697265282764332d636f6c6c656374696f6e27292c2072657175697265282764332d646973706174636827292c2072657175697265282764332d74696d6572272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d7175616474726565272c202764332d636f6c6c656374696f6e272c202764332d6469737061746368272c202764332d74696d6572275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643351756164747265652c6433436f6c6c656374696f6e2c643344697370617463682c643354696d657229207b202775736520737472696374273b0a0a7661722063656e746572203d2066756e6374696f6e28782c207929207b0a2020766172206e6f6465733b0a0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206e6f64652c0a20202020202020207378203d20302c0a20202020202020207379203d20303b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c207378202b3d206e6f64652e782c207379202b3d206e6f64652e793b0a202020207d0a0a20202020666f7220287378203d207378202f206e202d20782c207379203d207379202f206e202d20792c2069203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e78202d3d2073782c206e6f64652e79202d3d2073793b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206a6967676c65203d2066756e6374696f6e2829207b0a202072657475726e20284d6174682e72616e646f6d2829202d20302e3529202a2031652d363b0a7d3b0a0a66756e6374696f6e2078286429207b0a202072657475726e20642e78202b20642e76783b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20642e79202b20642e76793b0a7d0a0a76617220636f6c6c696465203d2066756e6374696f6e2872616469757329207b0a2020766172206e6f6465732c0a20202020202072616469692c0a202020202020737472656e677468203d20312c0a202020202020697465726174696f6e73203d20313b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e7428726164697573203d3d206e756c6c203f2031203a202b726164697573293b0a0a202066756e6374696f6e20666f7263652829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c0a2020202020202020747265652c0a20202020202020206e6f64652c0a202020202020202078692c0a202020202020202079692c0a202020202020202072692c0a20202020202020207269323b0a0a20202020666f722028766172206b203d20303b206b203c20697465726174696f6e733b202b2b6b29207b0a20202020202074726565203d20643351756164747265652e7175616474726565286e6f6465732c20782c2079292e766973697441667465722870726570617265293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020207269203d2072616469695b6e6f64652e696e6465785d2c20726932203d207269202a2072693b0a20202020202020207869203d206e6f64652e78202b206e6f64652e76783b0a20202020202020207969203d206e6f64652e79202b206e6f64652e76793b0a2020202020202020747265652e7669736974286170706c79293b0a2020202020207d0a202020207d0a0a2020202066756e6374696f6e206170706c7928717561642c2078302c2079302c2078312c20793129207b0a2020202020207661722064617461203d20717561642e646174612c20726a203d20717561642e722c2072203d207269202b20726a3b0a202020202020696620286461746129207b0a202020202020202069662028646174612e696e646578203e206e6f64652e696e64657829207b0a202020202020202020207661722078203d207869202d20646174612e78202d20646174612e76782c0a202020202020202020202020202079203d207969202d20646174612e79202d20646174612e76792c0a20202020202020202020202020206c203d2078202a2078202b2079202a20793b0a20202020202020202020696620286c203c2072202a207229207b0a2020202020202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020202020206c203d202872202d20286c203d204d6174682e73717274286c292929202f206c202a20737472656e6774683b0a2020202020202020202020206e6f64652e7678202b3d202878202a3d206c29202a202872203d2028726a202a3d20726a29202f2028726932202b20726a29293b0a2020202020202020202020206e6f64652e7679202b3d202879202a3d206c29202a20723b0a202020202020202020202020646174612e7678202d3d2078202a202872203d2031202d2072293b0a202020202020202020202020646174612e7679202d3d2079202a20723b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a20202020202072657475726e207830203e207869202b2072207c7c207831203c207869202d2072207c7c207930203e207969202b2072207c7c207931203c207969202d20723b0a202020207d0a20207d0a0a202066756e6374696f6e2070726570617265287175616429207b0a2020202069662028717561642e64617461292072657475726e20717561642e72203d2072616469695b717561642e646174612e696e6465785d3b0a20202020666f7220287661722069203d20717561642e72203d20303b2069203c20343b202b2b6929207b0a20202020202069662028717561645b695d20262620717561645b695d2e72203e20717561642e7229207b0a2020202020202020717561642e72203d20717561645b695d2e723b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a202020207261646969203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c2072616469695b6e6f64652e696e6465785d203d202b726164697573286e6f64652c20692c206e6f646573293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d202b5f2c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a66756e6374696f6e20696e646578286429207b0a202072657475726e20642e696e6465783b0a7d0a0a66756e6374696f6e2066696e64286e6f6465427949642c206e6f6465496429207b0a2020766172206e6f6465203d206e6f6465427949642e676574286e6f64654964293b0a202069662028216e6f646529207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202072657475726e206e6f64653b0a7d0a0a766172206c696e6b203d2066756e6374696f6e286c696e6b7329207b0a2020766172206964203d20696e6465782c0a202020202020737472656e677468203d2064656661756c74537472656e6774682c0a202020202020737472656e677468732c0a20202020202064697374616e6365203d20636f6e7374616e74283330292c0a20202020202064697374616e6365732c0a2020202020206e6f6465732c0a202020202020636f756e742c0a202020202020626961732c0a202020202020697465726174696f6e73203d20313b0a0a2020696620286c696e6b73203d3d206e756c6c29206c696e6b73203d205b5d3b0a0a202066756e6374696f6e2064656661756c74537472656e677468286c696e6b29207b0a2020202072657475726e2031202f204d6174682e6d696e28636f756e745b6c696e6b2e736f757263652e696e6465785d2c20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a20207d0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f722028766172206b203d20302c206e203d206c696e6b732e6c656e6774683b206b203c20697465726174696f6e733b202b2b6b29207b0a202020202020666f7220287661722069203d20302c206c696e6b2c20736f757263652c207461726765742c20782c20792c206c2c20623b2069203c206e3b202b2b6929207b0a20202020202020206c696e6b203d206c696e6b735b695d2c20736f75726365203d206c696e6b2e736f757263652c20746172676574203d206c696e6b2e7461726765743b0a202020202020202078203d207461726765742e78202b207461726765742e7678202d20736f757263652e78202d20736f757263652e7678207c7c206a6967676c6528293b0a202020202020202079203d207461726765742e79202b207461726765742e7679202d20736f757263652e79202d20736f757263652e7679207c7c206a6967676c6528293b0a20202020202020206c203d204d6174682e737172742878202a2078202b2079202a2079293b0a20202020202020206c203d20286c202d2064697374616e6365735b695d29202f206c202a20616c706861202a20737472656e677468735b695d3b0a202020202020202078202a3d206c2c2079202a3d206c3b0a20202020202020207461726765742e7678202d3d2078202a202862203d20626961735b695d293b0a20202020202020207461726765742e7679202d3d2079202a20623b0a2020202020202020736f757263652e7678202b3d2078202a202862203d2031202d2062293b0a2020202020202020736f757263652e7679202b3d2079202a20623b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a2020202076617220692c0a20202020202020206e203d206e6f6465732e6c656e6774682c0a20202020202020206d203d206c696e6b732e6c656e6774682c0a20202020202020206e6f646542794964203d206433436f6c6c656374696f6e2e6d6170286e6f6465732c206964292c0a20202020202020206c696e6b3b0a0a20202020666f72202869203d20302c20636f756e74203d206e6577204172726179286e293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c206c696e6b2e696e646578203d20693b0a20202020202069662028747970656f66206c696e6b2e736f7572636520213d3d20226f626a6563742229206c696e6b2e736f75726365203d2066696e64286e6f6465427949642c206c696e6b2e736f75726365293b0a20202020202069662028747970656f66206c696e6b2e74617267657420213d3d20226f626a6563742229206c696e6b2e746172676574203d2066696e64286e6f6465427949642c206c696e6b2e746172676574293b0a202020202020636f756e745b6c696e6b2e736f757263652e696e6465785d203d2028636f756e745b6c696e6b2e736f757263652e696e6465785d207c7c203029202b20313b0a202020202020636f756e745b6c696e6b2e7461726765742e696e6465785d203d2028636f756e745b6c696e6b2e7461726765742e696e6465785d207c7c203029202b20313b0a202020207d0a0a20202020666f72202869203d20302c2062696173203d206e6577204172726179286d293b2069203c206d3b202b2b6929207b0a2020202020206c696e6b203d206c696e6b735b695d2c20626961735b695d203d20636f756e745b6c696e6b2e736f757263652e696e6465785d202f2028636f756e745b6c696e6b2e736f757263652e696e6465785d202b20636f756e745b6c696e6b2e7461726765742e696e6465785d293b0a202020207d0a0a20202020737472656e67746873203d206e6577204172726179286d292c20696e697469616c697a65537472656e67746828293b0a2020202064697374616e636573203d206e6577204172726179286d292c20696e697469616c697a6544697374616e636528293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a65537472656e6774682829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d202b737472656e677468286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a6544697374616e63652829207b0a2020202069662028216e6f646573292072657475726e3b0a0a20202020666f7220287661722069203d20302c206e203d206c696e6b732e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202064697374616e6365735b695d203d202b64697374616e6365286c696e6b735b695d2c20692c206c696e6b73293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e6c696e6b73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c696e6b73203d205f2c20696e697469616c697a6528292c20666f72636529203a206c696e6b733b0a20207d3b0a0a2020666f7263652e6964203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d205f2c20666f72636529203a2069643b0a20207d3b0a0a2020666f7263652e697465726174696f6e73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028697465726174696f6e73203d202b5f2c20666f72636529203a20697465726174696f6e733b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a65537472656e67746828292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e6365203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6544697374616e636528292c20666f72636529203a2064697374616e63653b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a66756e6374696f6e20782431286429207b0a202072657475726e20642e783b0a7d0a0a66756e6374696f6e20792431286429207b0a202072657475726e20642e793b0a7d0a0a76617220696e697469616c526164697573203d2031303b0a76617220696e697469616c416e676c65203d204d6174682e5049202a202833202d204d6174682e73717274283529293b0a0a7661722073696d756c6174696f6e203d2066756e6374696f6e286e6f64657329207b0a20207661722073696d756c6174696f6e2c0a202020202020616c706861203d20312c0a202020202020616c7068614d696e203d20302e3030312c0a202020202020616c7068614465636179203d2031202d204d6174682e706f7728616c7068614d696e2c2031202f20333030292c0a202020202020616c706861546172676574203d20302c0a20202020202076656c6f636974794465636179203d20302e362c0a202020202020666f72636573203d206433436f6c6c656374696f6e2e6d617028292c0a20202020202073746570706572203d20643354696d65722e74696d65722873746570292c0a2020202020206576656e74203d20643344697370617463682e646973706174636828227469636b222c2022656e6422293b0a0a2020696620286e6f646573203d3d206e756c6c29206e6f646573203d205b5d3b0a0a202066756e6374696f6e20737465702829207b0a202020207469636b28293b0a202020206576656e742e63616c6c28227469636b222c2073696d756c6174696f6e293b0a2020202069662028616c706861203c20616c7068614d696e29207b0a202020202020737465707065722e73746f7028293b0a2020202020206576656e742e63616c6c2822656e64222c2073696d756c6174696f6e293b0a202020207d0a20207d0a0a202066756e6374696f6e207469636b2829207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a0a20202020616c706861202b3d2028616c706861546172676574202d20616c70686129202a20616c70686144656361793b0a0a20202020666f726365732e656163682866756e6374696f6e28666f72636529207b0a202020202020666f72636528616c706861293b0a202020207d293b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d3b0a202020202020696620286e6f64652e6678203d3d206e756c6c29206e6f64652e78202b3d206e6f64652e7678202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e78203d206e6f64652e66782c206e6f64652e7678203d20303b0a202020202020696620286e6f64652e6679203d3d206e756c6c29206e6f64652e79202b3d206e6f64652e7679202a3d2076656c6f6369747944656361793b0a202020202020656c7365206e6f64652e79203d206e6f64652e66792c206e6f64652e7679203d20303b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a654e6f6465732829207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e696e646578203d20693b0a2020202020206966202869734e614e286e6f64652e7829207c7c2069734e614e286e6f64652e792929207b0a202020202020202076617220726164697573203d20696e697469616c526164697573202a204d6174682e737172742869292c20616e676c65203d2069202a20696e697469616c416e676c653b0a20202020202020206e6f64652e78203d20726164697573202a204d6174682e636f7328616e676c65293b0a20202020202020206e6f64652e79203d20726164697573202a204d6174682e73696e28616e676c65293b0a2020202020207d0a2020202020206966202869734e614e286e6f64652e767829207c7c2069734e614e286e6f64652e76792929207b0a20202020202020206e6f64652e7678203d206e6f64652e7679203d20303b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a65466f72636528666f72636529207b0a2020202069662028666f7263652e696e697469616c697a652920666f7263652e696e697469616c697a65286e6f646573293b0a2020202072657475726e20666f7263653b0a20207d0a0a2020696e697469616c697a654e6f64657328293b0a0a202072657475726e2073696d756c6174696f6e203d207b0a202020207469636b3a207469636b2c0a0a20202020726573746172743a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e726573746172742873746570292c2073696d756c6174696f6e3b0a202020207d2c0a0a2020202073746f703a2066756e6374696f6e2829207b0a20202020202072657475726e20737465707065722e73746f7028292c2073696d756c6174696f6e3b0a202020207d2c0a0a202020206e6f6465733a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646573203d205f2c20696e697469616c697a654e6f64657328292c20666f726365732e6561636828696e697469616c697a65466f726365292c2073696d756c6174696f6e29203a206e6f6465733b0a202020207d2c0a0a20202020616c7068613a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861203d202b5f2c2073696d756c6174696f6e29203a20616c7068613b0a202020207d2c0a0a20202020616c7068614d696e3a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614d696e203d202b5f2c2073696d756c6174696f6e29203a20616c7068614d696e3b0a202020207d2c0a0a20202020616c70686144656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c7068614465636179203d202b5f2c2073696d756c6174696f6e29203a202b616c70686144656361793b0a202020207d2c0a0a20202020616c7068615461726765743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028616c706861546172676574203d202b5f2c2073696d756c6174696f6e29203a20616c7068615461726765743b0a202020207d2c0a0a2020202076656c6f6369747944656361793a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f202876656c6f636974794465636179203d2031202d205f2c2073696d756c6174696f6e29203a2031202d2076656c6f6369747944656361793b0a202020207d2c0a0a20202020666f7263653a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f2028285f203d3d206e756c6c203f20666f726365732e72656d6f7665286e616d6529203a20666f726365732e736574286e616d652c20696e697469616c697a65466f726365285f2929292c2073696d756c6174696f6e29203a20666f726365732e676574286e616d65293b0a202020207d2c0a0a2020202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a2020202020207661722069203d20302c0a202020202020202020206e203d206e6f6465732e6c656e6774682c0a2020202020202020202064782c0a2020202020202020202064792c0a2020202020202020202064322c0a202020202020202020206e6f64652c0a20202020202020202020636c6f736573743b0a0a20202020202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a202020202020656c736520726164697573202a3d207261646975733b0a0a202020202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202020206e6f6465203d206e6f6465735b695d3b0a20202020202020206478203d2078202d206e6f64652e783b0a20202020202020206479203d2079202d206e6f64652e793b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c207261646975732920636c6f73657374203d206e6f64652c20726164697573203d2064323b0a2020202020207d0a0a20202020202072657475726e20636c6f736573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e286e616d652c205f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203e2031203f20286576656e742e6f6e286e616d652c205f292c2073696d756c6174696f6e29203a206576656e742e6f6e286e616d65293b0a202020207d0a20207d3b0a7d3b0a0a766172206d616e79426f6479203d2066756e6374696f6e2829207b0a2020766172206e6f6465732c0a2020202020206e6f64652c0a202020202020616c7068612c0a202020202020737472656e677468203d20636f6e7374616e74282d3330292c0a202020202020737472656e677468732c0a20202020202064697374616e63654d696e32203d20312c0a20202020202064697374616e63654d617832203d20496e66696e6974792c0a202020202020746865746132203d20302e38313b0a0a202066756e6374696f6e20666f726365285f29207b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c2074726565203d20643351756164747265652e7175616474726565286e6f6465732c207824312c20792431292e7669736974416674657228616363756d756c617465293b0a20202020666f722028616c706861203d205f2c2069203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20747265652e7669736974286170706c79293b0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774682c206e6f64653b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929206e6f6465203d206e6f6465735b695d2c20737472656e677468735b6e6f64652e696e6465785d203d202b737472656e677468286e6f64652c20692c206e6f646573293b0a20207d0a0a202066756e6374696f6e20616363756d756c617465287175616429207b0a2020202076617220737472656e677468203d20302c20712c20632c20776569676874203d20302c20782c20792c20693b0a0a202020202f2f20466f7220696e7465726e616c206e6f6465732c20616363756d756c61746520666f726365732066726f6d206368696c64207175616472616e74732e0a2020202069662028717561642e6c656e67746829207b0a202020202020666f72202878203d2079203d2069203d20303b2069203c20343b202b2b6929207b0a2020202020202020696620282871203d20717561645b695d29202626202863203d204d6174682e61627328712e76616c7565292929207b0a20202020202020202020737472656e677468202b3d20712e76616c75652c20776569676874202b3d20632c2078202b3d2063202a20712e782c2079202b3d2063202a20712e793b0a20202020202020207d0a2020202020207d0a202020202020717561642e78203d2078202f207765696768743b0a202020202020717561642e79203d2079202f207765696768743b0a202020207d0a0a202020202f2f20466f72206c656166206e6f6465732c20616363756d756c61746520666f726365732066726f6d20636f696e636964656e74207175616472616e74732e0a20202020656c7365207b0a20202020202071203d20717561643b0a202020202020712e78203d20712e646174612e783b0a202020202020712e79203d20712e646174612e793b0a202020202020646f20737472656e677468202b3d20737472656e677468735b712e646174612e696e6465785d3b0a2020202020207768696c65202871203d20712e6e657874293b0a202020207d0a0a20202020717561642e76616c7565203d20737472656e6774683b0a20207d0a0a202066756e6374696f6e206170706c7928717561642c2078312c205f2c20783229207b0a202020206966202821717561642e76616c7565292072657475726e20747275653b0a0a202020207661722078203d20717561642e78202d206e6f64652e782c0a202020202020202079203d20717561642e79202d206e6f64652e792c0a202020202020202077203d207832202d2078312c0a20202020202020206c203d2078202a2078202b2079202a20793b0a0a202020202f2f204170706c7920746865204261726e65732d48757420617070726f78696d6174696f6e20696620706f737369626c652e0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a202020206966202877202a2077202f20746865746132203c206c29207b0a202020202020696620286c203c2064697374616e63654d61783229207b0a20202020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a20202020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a2020202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a20202020202020206e6f64652e7678202b3d2078202a20717561642e76616c7565202a20616c706861202f206c3b0a20202020202020206e6f64652e7679202b3d2079202a20717561642e76616c7565202a20616c706861202f206c3b0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2f204f74686572776973652c2070726f6365737320706f696e7473206469726563746c792e0a20202020656c73652069662028717561642e6c656e677468207c7c206c203e3d2064697374616e63654d617832292072657475726e3b0a0a202020202f2f204c696d697420666f7263657320666f72207665727920636c6f7365206e6f6465733b2072616e646f6d697a6520646972656374696f6e20696620636f696e636964656e742e0a2020202069662028717561642e6461746120213d3d206e6f6465207c7c20717561642e6e65787429207b0a2020202020206966202878203d3d3d2030292078203d206a6967676c6528292c206c202b3d2078202a20783b0a2020202020206966202879203d3d3d2030292079203d206a6967676c6528292c206c202b3d2079202a20793b0a202020202020696620286c203c2064697374616e63654d696e3229206c203d204d6174682e737172742864697374616e63654d696e32202a206c293b0a202020207d0a0a20202020646f2069662028717561642e6461746120213d3d206e6f646529207b0a20202020202077203d20737472656e677468735b717561642e646174612e696e6465785d202a20616c706861202f206c3b0a2020202020206e6f64652e7678202b3d2078202a20773b0a2020202020206e6f64652e7679202b3d2079202a20773b0a202020207d207768696c65202871756164203d20717561642e6e657874293b0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e64697374616e63654d696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d696e32203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d696e32293b0a20207d3b0a0a2020666f7263652e64697374616e63654d6178203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864697374616e63654d617832203d205f202a205f2c20666f72636529203a204d6174682e737172742864697374616e63654d617832293b0a20207d3b0a0a2020666f7263652e7468657461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746865746132203d205f202a205f2c20666f72636529203a204d6174682e7371727428746865746132293b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a7661722072616469616c203d2066756e6374696f6e287261646975732c20782c207929207b0a2020766172206e6f6465732c0a202020202020737472656e677468203d20636f6e7374616e7428302e31292c0a202020202020737472656e677468732c0a20202020202072616469757365733b0a0a202069662028747970656f662072616469757320213d3d202266756e6374696f6e222920726164697573203d20636f6e7374616e74282b726164697573293b0a20206966202878203d3d206e756c6c292078203d20303b0a20206966202879203d3d206e756c6c292079203d20303b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d206e6f6465735b695d2c0a202020202020202020206478203d206e6f64652e78202d2078207c7c2031652d362c0a202020202020202020206479203d206e6f64652e79202d2079207c7c2031652d362c0a2020202020202020202072203d204d6174682e73717274286478202a206478202b206479202a206479292c0a202020202020202020206b203d202872616469757365735b695d202d207229202a20737472656e677468735b695d202a20616c706861202f20723b0a2020202020206e6f64652e7678202b3d206478202a206b3b0a2020202020206e6f64652e7679202b3d206479202a206b3b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a202020207261646975736573203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202072616469757365735b695d203d202b726164697573286e6f6465735b695d2c20692c206e6f646573293b0a202020202020737472656e677468735b695d203d2069734e614e2872616469757365735b695d29203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f2c20696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a207261646975733b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f2c20666f72636529203a20783b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d202b5f2c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220782432203d2066756e6374696f6e287829207b0a202076617220737472656e677468203d20636f6e7374616e7428302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020787a3b0a0a202069662028747970656f66207820213d3d202266756e6374696f6e22292078203d20636f6e7374616e742878203d3d206e756c6c203f2030203a202b78293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7678202b3d2028787a5b695d202d206e6f64652e7829202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020787a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28787a5b695d203d202b78286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20783b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a76617220792432203d2066756e6374696f6e287929207b0a202076617220737472656e677468203d20636f6e7374616e7428302e31292c0a2020202020206e6f6465732c0a202020202020737472656e677468732c0a202020202020797a3b0a0a202069662028747970656f66207920213d3d202266756e6374696f6e22292079203d20636f6e7374616e742879203d3d206e756c6c203f2030203a202b79293b0a0a202066756e6374696f6e20666f72636528616c70686129207b0a20202020666f7220287661722069203d20302c206e203d206e6f6465732e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7679202b3d2028797a5b695d202d206e6f64652e7929202a20737472656e677468735b695d202a20616c7068613b0a202020207d0a20207d0a0a202066756e6374696f6e20696e697469616c697a652829207b0a2020202069662028216e6f646573292072657475726e3b0a2020202076617220692c206e203d206e6f6465732e6c656e6774683b0a20202020737472656e67746873203d206e6577204172726179286e293b0a20202020797a203d206e6577204172726179286e293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020737472656e677468735b695d203d2069734e614e28797a5b695d203d202b79286e6f6465735b695d2c20692c206e6f6465732929203f2030203a202b737472656e677468286e6f6465735b695d2c20692c206e6f646573293b0a202020207d0a20207d0a0a2020666f7263652e696e697469616c697a65203d2066756e6374696f6e285f29207b0a202020206e6f646573203d205f3b0a20202020696e697469616c697a6528293b0a20207d3b0a0a2020666f7263652e737472656e677468203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028737472656e677468203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20737472656e6774683b0a20207d3b0a0a2020666f7263652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20696e697469616c697a6528292c20666f72636529203a20793b0a20207d3b0a0a202072657475726e20666f7263653b0a7d3b0a0a6578706f7274732e666f72636543656e746572203d2063656e7465723b0a6578706f7274732e666f726365436f6c6c696465203d20636f6c6c6964653b0a6578706f7274732e666f7263654c696e6b203d206c696e6b3b0a6578706f7274732e666f7263654d616e79426f6479203d206d616e79426f64793b0a6578706f7274732e666f72636552616469616c203d2072616469616c3b0a6578706f7274732e666f72636553696d756c6174696f6e203d2073696d756c6174696f6e3b0a6578706f7274732e666f72636558203d207824323b0a6578706f7274732e666f72636559203d207924323b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6c656374696f6e223a34332c2264332d6469737061746368223a34352c2264332d7175616474726565223a35362c2264332d74696d6572223a36357d5d2c35303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d666f726d61742f2056657273696f6e20312e322e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a2f2f20436f6d70757465732074686520646563696d616c20636f656666696369656e7420616e64206578706f6e656e74206f662074686520737065636966696564206e756d626572207820776974680a2f2f207369676e69666963616e742064696769747320702c207768657265207820697320706f73697469766520616e64207020697320696e205b312c2032315d206f7220756e646566696e65642e0a2f2f20466f72206578616d706c652c20666f726d6174446563696d616c28312e3233292072657475726e73205b22313233222c20305d2e0a76617220666f726d6174446563696d616c203d2066756e6374696f6e28782c207029207b0a2020696620282869203d202878203d2070203f20782e746f4578706f6e656e7469616c2870202d203129203a20782e746f4578706f6e656e7469616c2829292e696e6465784f66282265222929203c2030292072657475726e206e756c6c3b202f2f204e614e2c20c2b1496e66696e6974790a202076617220692c20636f656666696369656e74203d20782e736c69636528302c2069293b0a0a20202f2f2054686520737472696e672072657475726e656420627920746f4578706f6e656e7469616c20656974686572206861732074686520666f726d205c645c2e5c642b655b2d2b5d5c642b0a20202f2f2028652e672e2c20312e32652b3329206f722074686520666f726d205c64655b2d2b5d5c642b2028652e672e2c2031652b33292e0a202072657475726e205b0a20202020636f656666696369656e742e6c656e677468203e2031203f20636f656666696369656e745b305d202b20636f656666696369656e742e736c696365283229203a20636f656666696369656e742c0a202020202b782e736c6963652869202b2031290a20205d3b0a7d3b0a0a766172206578706f6e656e74203d2066756e6374696f6e287829207b0a202072657475726e2078203d20666f726d6174446563696d616c284d6174682e616273287829292c2078203f20785b315d203a204e614e3b0a7d3b0a0a76617220666f726d617447726f7570203d2066756e6374696f6e2867726f7570696e672c2074686f7573616e647329207b0a202072657475726e2066756e6374696f6e2876616c75652c20776964746829207b0a202020207661722069203d2076616c75652e6c656e6774682c0a202020202020202074203d205b5d2c0a20202020202020206a203d20302c0a202020202020202067203d2067726f7570696e675b305d2c0a20202020202020206c656e677468203d20303b0a0a202020207768696c65202869203e20302026262067203e203029207b0a202020202020696620286c656e677468202b2067202b2031203e207769647468292067203d204d6174682e6d617828312c207769647468202d206c656e677468293b0a202020202020742e707573682876616c75652e737562737472696e672869202d3d20672c2069202b206729293b0a20202020202069662028286c656e677468202b3d2067202b203129203e2077696474682920627265616b3b0a20202020202067203d2067726f7570696e675b6a203d20286a202b20312920252067726f7570696e672e6c656e6774685d3b0a202020207d0a0a2020202072657475726e20742e7265766572736528292e6a6f696e2874686f7573616e6473293b0a20207d3b0a7d3b0a0a76617220666f726d61744e756d6572616c73203d2066756e6374696f6e286e756d6572616c7329207b0a202072657475726e2066756e6374696f6e2876616c756529207b0a2020202072657475726e2076616c75652e7265706c616365282f5b302d395d2f672c2066756e6374696f6e286929207b0a20202020202072657475726e206e756d6572616c735b2b695d3b0a202020207d293b0a20207d3b0a7d3b0a0a76617220666f726d617444656661756c74203d2066756e6374696f6e28782c207029207b0a202078203d20782e746f507265636973696f6e2870293b0a0a20206f75743a20666f722028766172206e203d20782e6c656e6774682c2069203d20312c206930203d202d312c2069313b2069203c206e3b202b2b6929207b0a202020207377697463682028785b695d29207b0a2020202020206361736520222e223a206930203d206931203d20693b20627265616b3b0a20202020202063617365202230223a20696620286930203d3d3d203029206930203d20693b206931203d20693b20627265616b3b0a20202020202063617365202265223a20627265616b206f75743b0a20202020202064656661756c743a20696620286930203e203029206930203d20303b20627265616b3b0a202020207d0a20207d0a0a202072657475726e206930203e2030203f20782e736c69636528302c20693029202b20782e736c696365286931202b203129203a20783b0a7d3b0a0a766172207072656669784578706f6e656e743b0a0a76617220666f726d61745072656669784175746f203d2066756e6374696f6e28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d2c0a20202020202069203d206578706f6e656e74202d20287072656669784578706f6e656e74203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e74202f2033292929202a203329202b20312c0a2020202020206e203d20636f656666696369656e742e6c656e6774683b0a202072657475726e2069203d3d3d206e203f20636f656666696369656e740a2020202020203a2069203e206e203f20636f656666696369656e74202b206e65772041727261792869202d206e202b2031292e6a6f696e28223022290a2020202020203a2069203e2030203f20636f656666696369656e742e736c69636528302c206929202b20222e22202b20636f656666696369656e742e736c6963652869290a2020202020203a2022302e22202b206e65772041727261792831202d2069292e6a6f696e2822302229202b20666f726d6174446563696d616c28782c204d6174682e6d617828302c2070202b2069202d203129295b305d3b202f2f206c657373207468616e203179210a7d3b0a0a76617220666f726d6174526f756e646564203d2066756e6374696f6e28782c207029207b0a20207661722064203d20666f726d6174446563696d616c28782c2070293b0a2020696620282164292072657475726e2078202b2022223b0a202076617220636f656666696369656e74203d20645b305d2c0a2020202020206578706f6e656e74203d20645b315d3b0a202072657475726e206578706f6e656e74203c2030203f2022302e22202b206e6577204172726179282d6578706f6e656e74292e6a6f696e2822302229202b20636f656666696369656e740a2020202020203a20636f656666696369656e742e6c656e677468203e206578706f6e656e74202b2031203f20636f656666696369656e742e736c69636528302c206578706f6e656e74202b203129202b20222e22202b20636f656666696369656e742e736c696365286578706f6e656e74202b2031290a2020202020203a20636f656666696369656e74202b206e6577204172726179286578706f6e656e74202d20636f656666696369656e742e6c656e677468202b2032292e6a6f696e28223022293b0a7d3b0a0a76617220666f726d61745479706573203d207b0a202022223a20666f726d617444656661756c742c0a20202225223a2066756e6374696f6e28782c207029207b2072657475726e202878202a20313030292e746f46697865642870293b207d2c0a20202262223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672832293b207d2c0a20202263223a2066756e6374696f6e287829207b2072657475726e2078202b2022223b207d2c0a20202264223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283130293b207d2c0a20202265223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f4578706f6e656e7469616c2870293b207d2c0a20202266223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f46697865642870293b207d2c0a20202267223a2066756e6374696f6e28782c207029207b2072657475726e20782e746f507265636973696f6e2870293b207d2c0a2020226f223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e672838293b207d2c0a20202270223a2066756e6374696f6e28782c207029207b2072657475726e20666f726d6174526f756e6465642878202a203130302c2070293b207d2c0a20202272223a20666f726d6174526f756e6465642c0a20202273223a20666f726d61745072656669784175746f2c0a20202258223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136292e746f55707065724361736528293b207d2c0a20202278223a2066756e6374696f6e287829207b2072657475726e204d6174682e726f756e642878292e746f537472696e67283136293b207d0a7d3b0a0a2f2f205b5b66696c6c5d616c69676e5d5b7369676e5d5b73796d626f6c5d5b305d5b77696474685d5b2c5d5b2e707265636973696f6e5d5b747970655d0a766172207265203d202f5e283f3a282e293f285b3c3e3d5e5d29293f285b2b5c2d5c28205d293f285b24235d293f2830293f285c642b293f282c293f285c2e5c642b293f285b612d7a255d293f242f693b0a0a66756e6374696f6e20666f726d61745370656369666965722873706563696669657229207b0a202072657475726e206e657720466f726d617453706563696669657228737065636966696572293b0a7d0a0a666f726d61745370656369666965722e70726f746f74797065203d20466f726d61745370656369666965722e70726f746f747970653b202f2f20696e7374616e63656f660a0a66756e6374696f6e20466f726d61745370656369666965722873706563696669657229207b0a20206966202821286d61746368203d2072652e6578656328737065636966696572292929207468726f77206e6577204572726f722822696e76616c696420666f726d61743a2022202b20737065636966696572293b0a0a2020766172206d617463682c0a20202020202066696c6c203d206d617463685b315d207c7c202220222c0a202020202020616c69676e203d206d617463685b325d207c7c20223e222c0a2020202020207369676e203d206d617463685b335d207c7c20222d222c0a20202020202073796d626f6c203d206d617463685b345d207c7c2022222c0a2020202020207a65726f203d2021216d617463685b355d2c0a2020202020207769647468203d206d617463685b365d202626202b6d617463685b365d2c0a202020202020636f6d6d61203d2021216d617463685b375d2c0a202020202020707265636973696f6e203d206d617463685b385d202626202b6d617463685b385d2e736c6963652831292c0a20202020202074797065203d206d617463685b395d207c7c2022223b0a0a20202f2f2054686520226e22207479706520697320616e20616c69617320666f7220222c67222e0a20206966202874797065203d3d3d20226e222920636f6d6d61203d20747275652c2074797065203d202267223b0a0a20202f2f204d617020696e76616c696420747970657320746f207468652064656661756c7420666f726d61742e0a2020656c7365206966202821666f726d617454797065735b747970655d292074797065203d2022223b0a0a20202f2f204966207a65726f2066696c6c206973207370656369666965642c2070616464696e6720676f6573206166746572207369676e20616e64206265666f7265206469676974732e0a2020696620287a65726f207c7c202866696c6c203d3d3d2022302220262620616c69676e203d3d3d20223d222929207a65726f203d20747275652c2066696c6c203d202230222c20616c69676e203d20223d223b0a0a2020746869732e66696c6c203d2066696c6c3b0a2020746869732e616c69676e203d20616c69676e3b0a2020746869732e7369676e203d207369676e3b0a2020746869732e73796d626f6c203d2073796d626f6c3b0a2020746869732e7a65726f203d207a65726f3b0a2020746869732e7769647468203d2077696474683b0a2020746869732e636f6d6d61203d20636f6d6d613b0a2020746869732e707265636973696f6e203d20707265636973696f6e3b0a2020746869732e74797065203d20747970653b0a7d0a0a466f726d61745370656369666965722e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a202072657475726e20746869732e66696c6c0a2020202020202b20746869732e616c69676e0a2020202020202b20746869732e7369676e0a2020202020202b20746869732e73796d626f6c0a2020202020202b2028746869732e7a65726f203f20223022203a202222290a2020202020202b2028746869732e7769647468203d3d206e756c6c203f202222203a204d6174682e6d617828312c20746869732e7769647468207c203029290a2020202020202b2028746869732e636f6d6d61203f20222c22203a202222290a2020202020202b2028746869732e707265636973696f6e203d3d206e756c6c203f202222203a20222e22202b204d6174682e6d617828302c20746869732e707265636973696f6e207c203029290a2020202020202b20746869732e747970653b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a766172207072656669786573203d205b2279222c227a222c2261222c2266222c2270222c226e222c22c2b5222c226d222c22222c226b222c224d222c2247222c2254222c2250222c2245222c225a222c2259225d3b0a0a76617220666f726d61744c6f63616c65203d2066756e6374696f6e286c6f63616c6529207b0a20207661722067726f7570203d206c6f63616c652e67726f7570696e67202626206c6f63616c652e74686f7573616e6473203f20666f726d617447726f7570286c6f63616c652e67726f7570696e672c206c6f63616c652e74686f7573616e647329203a206964656e746974792c0a20202020202063757272656e6379203d206c6f63616c652e63757272656e63792c0a202020202020646563696d616c203d206c6f63616c652e646563696d616c2c0a2020202020206e756d6572616c73203d206c6f63616c652e6e756d6572616c73203f20666f726d61744e756d6572616c73286c6f63616c652e6e756d6572616c7329203a206964656e746974792c0a20202020202070657263656e74203d206c6f63616c652e70657263656e74207c7c202225223b0a0a202066756e6374696f6e206e6577466f726d61742873706563696669657229207b0a20202020737065636966696572203d20666f726d617453706563696669657228737065636966696572293b0a0a202020207661722066696c6c203d207370656369666965722e66696c6c2c0a2020202020202020616c69676e203d207370656369666965722e616c69676e2c0a20202020202020207369676e203d207370656369666965722e7369676e2c0a202020202020202073796d626f6c203d207370656369666965722e73796d626f6c2c0a20202020202020207a65726f203d207370656369666965722e7a65726f2c0a20202020202020207769647468203d207370656369666965722e77696474682c0a2020202020202020636f6d6d61203d207370656369666965722e636f6d6d612c0a2020202020202020707265636973696f6e203d207370656369666965722e707265636973696f6e2c0a202020202020202074797065203d207370656369666965722e747970653b0a0a202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202f2f20466f722053492d7072656669782c2074686520737566666978206973206c617a696c7920636f6d70757465642e0a2020202076617220707265666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b305d203a2073796d626f6c203d3d3d20222322202626202f5b626f78585d2f2e74657374287479706529203f20223022202b20747970652e746f4c6f776572436173652829203a2022222c0a2020202020202020737566666978203d2073796d626f6c203d3d3d20222422203f2063757272656e63795b315d203a202f5b25705d2f2e74657374287479706529203f2070657263656e74203a2022223b0a0a202020202f2f205768617420666f726d61742066756e6374696f6e2073686f756c64207765207573653f0a202020202f2f204973207468697320616e20696e746567657220747970653f0a202020202f2f2043616e207468697320747970652067656e6572617465206578706f6e656e7469616c206e6f746174696f6e3f0a2020202076617220666f726d617454797065203d20666f726d617454797065735b747970655d2c0a20202020202020206d61796265537566666978203d202174797065207c7c202f5b64656667707273255d2f2e746573742874797065293b0a0a202020202f2f20536574207468652064656661756c7420707265636973696f6e206966206e6f74207370656369666965642c0a202020202f2f206f7220636c616d70207468652073706563696669656420707265636973696f6e20746f2074686520737570706f727465642072616e67652e0a202020202f2f20466f72207369676e69666963616e7420707265636973696f6e2c206974206d75737420626520696e205b312c2032315d2e0a202020202f2f20466f7220666978656420707265636973696f6e2c206974206d75737420626520696e205b302c2032305d2e0a20202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f202874797065203f2036203a203132290a20202020202020203a202f5b677072735d2f2e74657374287479706529203f204d6174682e6d617828312c204d6174682e6d696e2832312c20707265636973696f6e29290a20202020202020203a204d6174682e6d617828302c204d6174682e6d696e2832302c20707265636973696f6e29293b0a0a2020202066756e6374696f6e20666f726d61742876616c756529207b0a2020202020207661722076616c7565507265666978203d207072656669782c0a2020202020202020202076616c7565537566666978203d207375666669782c0a20202020202020202020692c206e2c20633b0a0a2020202020206966202874797065203d3d3d2022632229207b0a202020202020202076616c7565537566666978203d20666f726d6174547970652876616c756529202b2076616c75655375666669783b0a202020202020202076616c7565203d2022223b0a2020202020207d20656c7365207b0a202020202020202076616c7565203d202b76616c75653b0a0a20202020202020202f2f20506572666f726d2074686520696e697469616c20666f726d617474696e672e0a20202020202020207661722076616c75654e65676174697665203d2076616c7565203c20303b0a202020202020202076616c7565203d20666f726d617454797065284d6174682e6162732876616c7565292c20707265636973696f6e293b0a0a20202020202020202f2f2049662061206e656761746976652076616c756520726f756e647320746f207a65726f20647572696e6720666f726d617474696e672c20747265617420617320706f7369746976652e0a20202020202020206966202876616c75654e65676174697665202626202b76616c7565203d3d3d2030292076616c75654e65676174697665203d2066616c73653b0a0a20202020202020202f2f20436f6d70757465207468652070726566697820616e64207375666669782e0a202020202020202076616c7565507265666978203d202876616c75654e65676174697665203f20287369676e203d3d3d20222822203f207369676e203a20222d2229203a207369676e203d3d3d20222d22207c7c207369676e203d3d3d20222822203f202222203a207369676e29202b2076616c75655072656669783b0a202020202020202076616c7565537566666978203d2076616c7565537566666978202b202874797065203d3d3d20227322203f2070726566697865735b38202b207072656669784578706f6e656e74202f20335d203a20222229202b202876616c75654e65676174697665202626207369676e203d3d3d20222822203f20222922203a202222293b0a0a20202020202020202f2f20427265616b2074686520666f726d61747465642076616c756520696e746f2074686520696e746567657220e2809c76616c7565e2809d207061727420746861742063616e2062650a20202020202020202f2f2067726f757065642c20616e64206672616374696f6e616c206f72206578706f6e656e7469616c20e2809c737566666978e2809d20706172742074686174206973206e6f742e0a2020202020202020696620286d6179626553756666697829207b0a2020202020202020202069203d202d312c206e203d2076616c75652e6c656e6774683b0a202020202020202020207768696c6520282b2b69203c206e29207b0a2020202020202020202020206966202863203d2076616c75652e63686172436f646541742869292c203438203e2063207c7c2063203e20353729207b0a202020202020202020202020202076616c7565537566666978203d202863203d3d3d203436203f20646563696d616c202b2076616c75652e736c6963652869202b203129203a2076616c75652e736c69636528692929202b2076616c75655375666669783b0a202020202020202020202020202076616c7565203d2076616c75652e736c69636528302c2069293b0a2020202020202020202020202020627265616b3b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973206e6f74202230222c2067726f7570696e67206973206170706c696564206265666f72652070616464696e672e0a20202020202069662028636f6d6d6120262620217a65726f292076616c7565203d2067726f75702876616c75652c20496e66696e697479293b0a0a2020202020202f2f20436f6d70757465207468652070616464696e672e0a202020202020766172206c656e677468203d2076616c75655072656669782e6c656e677468202b2076616c75652e6c656e677468202b2076616c75655375666669782e6c656e6774682c0a2020202020202020202070616464696e67203d206c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29203a2022223b0a0a2020202020202f2f204966207468652066696c6c20636861726163746572206973202230222c2067726f7570696e67206973206170706c6965642061667465722070616464696e672e0a20202020202069662028636f6d6d61202626207a65726f292076616c7565203d2067726f75702870616464696e67202b2076616c75652c2070616464696e672e6c656e677468203f207769647468202d2076616c75655375666669782e6c656e677468203a20496e66696e697479292c2070616464696e67203d2022223b0a0a2020202020202f2f205265636f6e737472756374207468652066696e616c206f7574707574206261736564206f6e20746865206465736972656420616c69676e6d656e742e0a2020202020207377697463682028616c69676e29207b0a20202020202020206361736520223c223a2076616c7565203d2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e673b20627265616b3b0a20202020202020206361736520223d223a2076616c7565203d2076616c7565507265666978202b2070616464696e67202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a20202020202020206361736520225e223a2076616c7565203d2070616464696e672e736c69636528302c206c656e677468203d2070616464696e672e6c656e677468203e3e203129202b2076616c7565507265666978202b2076616c7565202b2076616c7565537566666978202b2070616464696e672e736c696365286c656e677468293b20627265616b3b0a202020202020202064656661756c743a2076616c7565203d2070616464696e67202b2076616c7565507265666978202b2076616c7565202b2076616c75655375666669783b20627265616b3b0a2020202020207d0a0a20202020202072657475726e206e756d6572616c732876616c7565293b0a202020207d0a0a20202020666f726d61742e746f537472696e67203d2066756e6374696f6e2829207b0a20202020202072657475726e20737065636966696572202b2022223b0a202020207d3b0a0a2020202072657475726e20666f726d61743b0a20207d0a0a202066756e6374696f6e20666f726d6174507265666978287370656369666965722c2076616c756529207b0a202020207661722066203d206e6577466f726d61742828737065636966696572203d20666f726d617453706563696669657228737065636966696572292c207370656369666965722e74797065203d202266222c2073706563696669657229292c0a202020202020202065203d204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e742876616c756529202f2033292929202a20332c0a20202020202020206b203d204d6174682e706f772831302c202d65292c0a2020202020202020707265666978203d2070726566697865735b38202b2065202f20335d3b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066286b202a2076616c756529202b207072656669783b0a202020207d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a206e6577466f726d61742c0a20202020666f726d61745072656669783a20666f726d61745072656669780a20207d3b0a7d3b0a0a766172206c6f63616c653b0a0a0a0a64656661756c744c6f63616c65287b0a2020646563696d616c3a20222e222c0a202074686f7573616e64733a20222c222c0a202067726f7570696e673a205b335d2c0a202063757272656e63793a205b2224222c2022225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e666f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e666f726d6174507265666978203d206c6f63616c652e666f726d61745072656669783b0a202072657475726e206c6f63616c653b0a7d0a0a76617220707265636973696f6e4669786564203d2066756e6374696f6e287374657029207b0a202072657475726e204d6174682e6d617828302c202d6578706f6e656e74284d6174682e61627328737465702929293b0a7d3b0a0a76617220707265636973696f6e507265666978203d2066756e6374696f6e28737465702c2076616c756529207b0a202072657475726e204d6174682e6d617828302c204d6174682e6d6178282d382c204d6174682e6d696e28382c204d6174682e666c6f6f72286578706f6e656e742876616c756529202f2033292929202a2033202d206578706f6e656e74284d6174682e61627328737465702929293b0a7d3b0a0a76617220707265636973696f6e526f756e64203d2066756e6374696f6e28737465702c206d617829207b0a202073746570203d204d6174682e6162732873746570292c206d6178203d204d6174682e616273286d617829202d20737465703b0a202072657475726e204d6174682e6d617828302c206578706f6e656e74286d617829202d206578706f6e656e7428737465702929202b20313b0a7d3b0a0a6578706f7274732e666f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e666f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e666f726d6174537065636966696572203d20666f726d61745370656369666965723b0a6578706f7274732e707265636973696f6e4669786564203d20707265636973696f6e46697865643b0a6578706f7274732e707265636973696f6e507265666978203d20707265636973696f6e5072656669783b0a6578706f7274732e707265636973696f6e526f756e64203d20707265636973696f6e526f756e643b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d67656f2f2056657273696f6e20312e392e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d6172726179272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c6433417272617929207b202775736520737472696374273b0a0a2f2f204164647320666c6f6174696e6720706f696e74206e756d62657273207769746820747769636520746865206e6f726d616c20707265636973696f6e2e0a2f2f205265666572656e63653a204a2e20522e20536865776368756b2c20416461707469766520507265636973696f6e20466c6f6174696e672d506f696e742041726974686d6574696320616e640a2f2f204661737420526f627573742047656f6d657472696320507265646963617465732c204469736372657465202620436f6d7075746174696f6e616c2047656f6d657472792031382833290a2f2f20333035e28093333633202831393937292e0a2f2f20436f646520616461707465642066726f6d2047656f677261706869634c696220627920436861726c657320462e20462e204b61726e65792c0a2f2f20687474703a2f2f67656f677261706869636c69622e736f75726365666f7267652e6e65742f0a0a766172206164646572203d2066756e6374696f6e2829207b0a202072657475726e206e65772041646465723b0a7d3b0a0a66756e6374696f6e2041646465722829207b0a2020746869732e726573657428293b0a7d0a0a41646465722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2041646465722c0a202072657365743a2066756e6374696f6e2829207b0a20202020746869732e73203d202f2f20726f756e6465642076616c75650a20202020746869732e74203d20303b202f2f206578616374206572726f720a20207d2c0a20206164643a2066756e6374696f6e287929207b0a202020206164642874656d702c20792c20746869732e74293b0a2020202061646428746869732c2074656d702e732c20746869732e73293b0a2020202069662028746869732e732920746869732e74202b3d2074656d702e743b0a20202020656c736520746869732e73203d2074656d702e743b0a20207d2c0a202076616c75654f663a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e733b0a20207d0a7d3b0a0a7661722074656d70203d206e65772041646465723b0a0a66756e6374696f6e206164642861646465722c20612c206229207b0a20207661722078203d2061646465722e73203d2061202b20622c0a2020202020206276203d2078202d20612c0a2020202020206176203d2078202d2062763b0a202061646465722e74203d202861202d20617629202b202862202d206276293b0a7d0a0a76617220657073696c6f6e203d2031652d363b0a76617220657073696c6f6e32203d2031652d31323b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220717561727465725069203d207069202f20343b0a76617220746175203d207069202a20323b0a0a7661722064656772656573203d20313830202f2070693b0a7661722072616469616e73203d207069202f203138303b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e203d204d6174682e6174616e3b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f73203d204d6174682e636f733b0a766172206365696c203d204d6174682e6365696c3b0a76617220657870203d204d6174682e6578703b0a0a766172206c6f67203d204d6174682e6c6f673b0a76617220706f77203d204d6174682e706f773b0a7661722073696e203d204d6174682e73696e3b0a766172207369676e203d204d6174682e7369676e207c7c2066756e6374696f6e287829207b2072657475726e2078203e2030203f2031203a2078203c2030203f202d31203a20303b207d3b0a7661722073717274203d204d6174682e737172743b0a7661722074616e203d204d6174682e74616e3b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f207069203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e2031203f2068616c665069203a2078203c202d31203f202d68616c665069203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20686176657273696e287829207b0a202072657475726e202878203d2073696e2878202f20322929202a20783b0a7d0a0a66756e6374696f6e206e6f6f702829207b7d0a0a66756e6374696f6e2073747265616d47656f6d657472792867656f6d657472792c2073747265616d29207b0a20206966202867656f6d657472792026262073747265616d47656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e747970652929207b0a2020202073747265616d47656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c2073747265616d293b0a20207d0a7d0a0a7661722073747265616d4f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d47656f6d65747279286f626a6563742e67656f6d657472792c2073747265616d293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792866656174757265735b695d2e67656f6d657472792c2073747265616d293b0a20207d0a7d3b0a0a7661722073747265616d47656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d2e73706865726528293b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020206f626a656374203d206f626a6563742e636f6f7264696e617465733b0a2020202073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e29206f626a656374203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e74286f626a6563745b305d2c206f626a6563745b315d2c206f626a6563745b325d293b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d4c696e65286f626a6563742e636f6f7264696e617465732c2073747265616d2c2030293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2030293b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202073747265616d506f6c79676f6e286f626a6563742e636f6f7264696e617465732c2073747265616d293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d506f6c79676f6e28636f6f7264696e617465735b695d2c2073747265616d293b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c2073747265616d29207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292073747265616d47656f6d657472792867656f6d6574726965735b695d2c2073747265616d293b0a20207d0a7d3b0a0a66756e6374696f6e2073747265616d4c696e6528636f6f7264696e617465732c2073747265616d2c20636c6f73656429207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e677468202d20636c6f7365642c20636f6f7264696e6174653b0a202073747265616d2e6c696e65537461727428293b0a20207768696c6520282b2b69203c206e2920636f6f7264696e617465203d20636f6f7264696e617465735b695d2c2073747265616d2e706f696e7428636f6f7264696e6174655b305d2c20636f6f7264696e6174655b315d2c20636f6f7264696e6174655b325d293b0a202073747265616d2e6c696e65456e6428293b0a7d0a0a66756e6374696f6e2073747265616d506f6c79676f6e28636f6f7264696e617465732c2073747265616d29207b0a20207661722069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202073747265616d2e706f6c79676f6e537461727428293b0a20207768696c6520282b2b69203c206e292073747265616d4c696e6528636f6f7264696e617465735b695d2c2073747265616d2c2031293b0a202073747265616d2e706f6c79676f6e456e6428293b0a7d0a0a7661722067656f53747265616d203d2066756e6374696f6e286f626a6563742c2073747265616d29207b0a2020696620286f626a6563742026262073747265616d4f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e747970652929207b0a2020202073747265616d4f626a656374547970655b6f626a6563742e747970655d286f626a6563742c2073747265616d293b0a20207d20656c7365207b0a2020202073747265616d47656f6d65747279286f626a6563742c2073747265616d293b0a20207d0a7d3b0a0a766172206172656152696e6753756d203d20616464657228293b0a0a766172206172656153756d203d20616464657228293b0a766172206c616d62646130303b0a7661722070686930303b0a766172206c616d626461303b0a76617220636f73506869303b0a7661722073696e506869303b0a0a766172206172656153747265616d203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656152696e6753756d2e726573657428293b0a202020206172656153747265616d2e6c696e655374617274203d206172656152696e6753746172743b0a202020206172656153747265616d2e6c696e65456e64203d206172656152696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020766172206172656152696e67203d202b6172656152696e6753756d3b0a202020206172656153756d2e616464286172656152696e67203c2030203f20746175202b206172656152696e67203a206172656152696e67293b0a20202020746869732e6c696e655374617274203d20746869732e6c696e65456e64203d20746869732e706f696e74203d206e6f6f703b0a20207d2c0a20207370686572653a2066756e6374696f6e2829207b0a202020206172656153756d2e61646428746175293b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e6753746172742829207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e7446697273743b0a7d0a0a66756e6374696f6e206172656152696e67456e642829207b0a202061726561506f696e74286c616d62646130302c207068693030293b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374286c616d6264612c2070686929207b0a20206172656153747265616d2e706f696e74203d2061726561506f696e743b0a20206c616d6264613030203d206c616d6264612c207068693030203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f7328706869203d20706869202f2032202b20717561727465725069292c2073696e50686930203d2073696e28706869293b0a7d0a0a66756e6374696f6e2061726561506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a2020706869203d20706869202f2032202b207175617274657250693b202f2f2068616c662074686520616e67756c61722064697374616e63652066726f6d20736f75746820706f6c650a0a20202f2f2053706865726963616c20657863657373204520666f7220612073706865726963616c20747269616e676c6520776974682076657274696365733a20736f75746820706f6c652c0a20202f2f2070726576696f757320706f696e742c2063757272656e7420706f696e742e202055736573206120666f726d756c6120646572697665642066726f6d204361676e6f6c69e28099730a20202f2f207468656f72656d2e202053656520546f6468756e7465722c2053706865726963616c20547269672e202831383731292c205365632e203130332c2045712e202832292e0a202076617220644c616d626461203d206c616d626461202d206c616d626461302c0a20202020202073644c616d626461203d20644c616d626461203e3d2030203f2031203a202d312c0a20202020202061644c616d626461203d2073644c616d626461202a20644c616d6264612c0a202020202020636f73506869203d20636f7328706869292c0a20202020202073696e506869203d2073696e28706869292c0a2020202020206b203d2073696e50686930202a2073696e5068692c0a20202020202075203d20636f7350686930202a20636f73506869202b206b202a20636f732861644c616d626461292c0a20202020202076203d206b202a2073644c616d626461202a2073696e2861644c616d626461293b0a20206172656152696e6753756d2e616464286174616e3228762c207529293b0a0a20202f2f20416476616e6365207468652070726576696f757320706f696e74732e0a20206c616d62646130203d206c616d6264612c20636f7350686930203d20636f735068692c2073696e50686930203d2073696e5068693b0a7d0a0a7661722061726561203d2066756e6374696f6e286f626a65637429207b0a20206172656153756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206172656153747265616d293b0a202072657475726e206172656153756d202a20323b0a7d3b0a0a66756e6374696f6e2073706865726963616c2863617274657369616e29207b0a202072657475726e205b6174616e322863617274657369616e5b315d2c2063617274657369616e5b305d292c206173696e2863617274657369616e5b325d295d3b0a7d0a0a66756e6374696f6e2063617274657369616e2873706865726963616c29207b0a2020766172206c616d626461203d2073706865726963616c5b305d2c20706869203d2073706865726963616c5b315d2c20636f73506869203d20636f7328706869293b0a202072657475726e205b636f73506869202a20636f73286c616d626461292c20636f73506869202a2073696e286c616d626461292c2073696e28706869295d3b0a7d0a0a66756e6374696f6e2063617274657369616e446f7428612c206229207b0a202072657475726e20615b305d202a20625b305d202b20615b315d202a20625b315d202b20615b325d202a20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e43726f737328612c206229207b0a202072657475726e205b615b315d202a20625b325d202d20615b325d202a20625b315d2c20615b325d202a20625b305d202d20615b305d202a20625b325d2c20615b305d202a20625b315d202d20615b315d202a20625b305d5d3b0a7d0a0a2f2f20544f444f2072657475726e20610a66756e6374696f6e2063617274657369616e416464496e506c61636528612c206229207b0a2020615b305d202b3d20625b305d2c20615b315d202b3d20625b315d2c20615b325d202b3d20625b325d3b0a7d0a0a66756e6374696f6e2063617274657369616e5363616c6528766563746f722c206b29207b0a202072657475726e205b766563746f725b305d202a206b2c20766563746f725b315d202a206b2c20766563746f725b325d202a206b5d3b0a7d0a0a2f2f20544f444f2072657475726e20640a66756e6374696f6e2063617274657369616e4e6f726d616c697a65496e506c616365286429207b0a2020766172206c203d207371727428645b305d202a20645b305d202b20645b315d202a20645b315d202b20645b325d202a20645b325d293b0a2020645b305d202f3d206c2c20645b315d202f3d206c2c20645b325d202f3d206c3b0a7d0a0a766172206c616d6264613024313b0a76617220706869303b0a766172206c616d626461313b0a76617220706869313b0a766172206c616d626461323b0a766172206c616d626461303024313b0a76617220706869303024313b0a7661722070303b0a7661722064656c746153756d203d20616464657228293b0a7661722072616e6765733b0a7661722072616e676524313b0a0a76617220626f756e647353747265616d203d207b0a2020706f696e743a20626f756e6473506f696e742c0a20206c696e6553746172743a20626f756e64734c696e6553746172742c0a20206c696e65456e643a20626f756e64734c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e647352696e67506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e647352696e6753746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e647352696e67456e643b0a2020202064656c746153756d2e726573657428293b0a202020206172656153747265616d2e706f6c79676f6e537461727428293b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d2e706f6c79676f6e456e6428293b0a20202020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20202020626f756e647353747265616d2e6c696e655374617274203d20626f756e64734c696e6553746172743b0a20202020626f756e647353747265616d2e6c696e65456e64203d20626f756e64734c696e65456e643b0a20202020696620286172656152696e6753756d203c203029206c616d626461302431203d202d286c616d62646131203d20313830292c2070686930203d202d2870686931203d203930293b0a20202020656c7365206966202864656c746153756d203e20657073696c6f6e292070686931203d2039303b0a20202020656c7365206966202864656c746153756d203c202d657073696c6f6e292070686930203d202d39303b0a2020202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74286c616d6264612c2070686929207b0a202072616e6765732e707573682872616e67652431203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a7d0a0a66756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a20207661722070203d2063617274657369616e285b6c616d626461202a2072616469616e732c20706869202a2072616469616e735d293b0a202069662028703029207b0a20202020766172206e6f726d616c203d2063617274657369616e43726f73732870302c2070292c0a202020202020202065717561746f7269616c203d205b6e6f726d616c5b315d2c202d6e6f726d616c5b305d2c20305d2c0a2020202020202020696e666c656374696f6e203d2063617274657369616e43726f73732865717561746f7269616c2c206e6f726d616c293b0a2020202063617274657369616e4e6f726d616c697a65496e506c61636528696e666c656374696f6e293b0a20202020696e666c656374696f6e203d2073706865726963616c28696e666c656374696f6e293b0a202020207661722064656c7461203d206c616d626461202d206c616d626461322c0a20202020202020207369676e242431203d2064656c7461203e2030203f2031203a202d312c0a20202020202020206c616d62646169203d20696e666c656374696f6e5b305d202a2064656772656573202a207369676e2424312c0a2020202020202020706869692c0a2020202020202020616e74696d6572696469616e203d206162732864656c746129203e203138303b0a2020202069662028616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d20696e666c656374696f6e5b315d202a20646567726565733b0a2020202020206966202870686969203e2070686931292070686931203d20706869693b0a202020207d20656c736520696620286c616d62646169203d20286c616d62646169202b2033363029202520333630202d203138302c20616e74696d6572696469616e205e20287369676e242431202a206c616d62646132203c206c616d62646169202626206c616d62646169203c207369676e242431202a206c616d6264612929207b0a20202020202070686969203d202d696e666c656374696f6e5b315d202a20646567726565733b0a2020202020206966202870686969203c2070686930292070686930203d20706869693b0a202020207d20656c7365207b0a20202020202069662028706869203c2070686930292070686930203d207068693b0a20202020202069662028706869203e2070686931292070686931203d207068693b0a202020207d0a2020202069662028616e74696d6572696469616e29207b0a202020202020696620286c616d626461203c206c616d6264613229207b0a202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c616d62646131203e3d206c616d62646130243129207b0a2020202020202020696620286c616d626461203c206c616d62646130243129206c616d626461302431203d206c616d6264613b0a2020202020202020696620286c616d626461203e206c616d6264613129206c616d62646131203d206c616d6264613b0a2020202020207d20656c7365207b0a2020202020202020696620286c616d626461203e206c616d6264613229207b0a2020202020202020202069662028616e676c65286c616d6264613024312c206c616d62646129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d62646131203d206c616d6264613b0a20202020202020207d20656c7365207b0a2020202020202020202069662028616e676c65286c616d6264612c206c616d6264613129203e20616e676c65286c616d6264613024312c206c616d626461312929206c616d626461302431203d206c616d6264613b0a20202020202020207d0a2020202020207d0a202020207d0a20207d20656c7365207b0a2020202072616e6765732e707573682872616e67652431203d205b6c616d626461302431203d206c616d6264612c206c616d62646131203d206c616d6264615d293b0a20207d0a202069662028706869203c2070686930292070686930203d207068693b0a202069662028706869203e2070686931292070686931203d207068693b0a20207030203d20702c206c616d62646132203d206c616d6264613b0a7d0a0a66756e6374696f6e20626f756e64734c696e6553746172742829207b0a2020626f756e647353747265616d2e706f696e74203d206c696e65506f696e743b0a7d0a0a66756e6374696f6e20626f756e64734c696e65456e642829207b0a202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a2020626f756e647353747265616d2e706f696e74203d20626f756e6473506f696e743b0a20207030203d206e756c6c3b0a7d0a0a66756e6374696f6e20626f756e647352696e67506f696e74286c616d6264612c2070686929207b0a202069662028703029207b0a202020207661722064656c7461203d206c616d626461202d206c616d626461323b0a2020202064656c746153756d2e616464286162732864656c746129203e20313830203f2064656c7461202b202864656c7461203e2030203f20333630203a202d33363029203a2064656c7461293b0a20207d20656c7365207b0a202020206c616d62646130302431203d206c616d6264612c2070686930302431203d207068693b0a20207d0a20206172656153747265616d2e706f696e74286c616d6264612c20706869293b0a20206c696e65506f696e74286c616d6264612c20706869293b0a7d0a0a66756e6374696f6e20626f756e647352696e6753746172742829207b0a20206172656153747265616d2e6c696e65537461727428293b0a7d0a0a66756e6374696f6e20626f756e647352696e67456e642829207b0a2020626f756e647352696e67506f696e74286c616d626461303024312c2070686930302431293b0a20206172656153747265616d2e6c696e65456e6428293b0a2020696620286162732864656c746153756d29203e20657073696c6f6e29206c616d626461302431203d202d286c616d62646131203d20313830293b0a202072616e676524315b305d203d206c616d6264613024312c2072616e676524315b315d203d206c616d626461313b0a20207030203d206e756c6c3b0a7d0a0a2f2f2046696e647320746865206c6566742d72696768742064697374616e6365206265747765656e2074776f206c6f6e676974756465732e0a2f2f205468697320697320616c6d6f7374207468652073616d6520617320286c616d62646131202d206c616d62646130202b20333630c2b029202520333630c2b02c2065786365707420746861742077652077616e740a2f2f207468652064697374616e6365206265747765656e20c2b1313830c2b020746f20626520333630c2b02e0a66756e6374696f6e20616e676c65286c616d626461302c206c616d6264613129207b0a202072657475726e20286c616d62646131202d3d206c616d6264613029203c2030203f206c616d62646131202b20333630203a206c616d626461313b0a7d0a0a66756e6374696f6e2072616e6765436f6d7061726528612c206229207b0a202072657475726e20615b305d202d20625b305d3b0a7d0a0a66756e6374696f6e2072616e6765436f6e7461696e732872616e67652424312c207829207b0a202072657475726e2072616e67652424315b305d203c3d2072616e67652424315b315d203f2072616e67652424315b305d203c3d20782026262078203c3d2072616e67652424315b315d203a2078203c2072616e67652424315b305d207c7c2072616e67652424315b315d203c20783b0a7d0a0a76617220626f756e6473203d2066756e6374696f6e286665617475726529207b0a202076617220692c206e2c20612c20622c206d65726765642c2064656c74614d61782c2064656c74613b0a0a202070686931203d206c616d62646131203d202d286c616d626461302431203d2070686930203d20496e66696e697479293b0a202072616e676573203d205b5d3b0a202067656f53747265616d28666561747572652c20626f756e647353747265616d293b0a0a20202f2f2046697273742c20736f72742072616e676573206279207468656972206d696e696d756d206c6f6e676974756465732e0a2020696620286e203d2072616e6765732e6c656e67746829207b0a2020202072616e6765732e736f72742872616e6765436f6d70617265293b0a0a202020202f2f205468656e2c206d6572676520616e792072616e6765732074686174206f7665726c61702e0a20202020666f72202869203d20312c2061203d2072616e6765735b305d2c206d6572676564203d205b615d3b2069203c206e3b202b2b6929207b0a20202020202062203d2072616e6765735b695d3b0a2020202020206966202872616e6765436f6e7461696e7328612c20625b305d29207c7c2072616e6765436f6e7461696e7328612c20625b315d2929207b0a202020202020202069662028616e676c6528615b305d2c20625b315d29203e20616e676c6528615b305d2c20615b315d292920615b315d203d20625b315d3b0a202020202020202069662028616e676c6528625b305d2c20615b315d29203e20616e676c6528615b305d2c20615b315d292920615b305d203d20625b305d3b0a2020202020207d20656c7365207b0a20202020202020206d65726765642e707573682861203d2062293b0a2020202020207d0a202020207d0a0a202020202f2f2046696e616c6c792c2066696e6420746865206c61726765737420676170206265747765656e20746865206d65726765642072616e6765732e0a202020202f2f205468652066696e616c20626f756e64696e6720626f782077696c6c2062652074686520696e7665727365206f662074686973206761702e0a20202020666f72202864656c74614d6178203d202d496e66696e6974792c206e203d206d65726765642e6c656e677468202d20312c2069203d20302c2061203d206d65726765645b6e5d3b2069203c3d206e3b2061203d20622c202b2b6929207b0a20202020202062203d206d65726765645b695d3b0a202020202020696620282864656c7461203d20616e676c6528615b315d2c20625b305d2929203e2064656c74614d6178292064656c74614d6178203d2064656c74612c206c616d626461302431203d20625b305d2c206c616d62646131203d20615b315d3b0a202020207d0a20207d0a0a202072616e676573203d2072616e67652431203d206e756c6c3b0a0a202072657475726e206c616d626461302431203d3d3d20496e66696e697479207c7c2070686930203d3d3d20496e66696e6974790a2020202020203f205b5b4e614e2c204e614e5d2c205b4e614e2c204e614e5d5d0a2020202020203a205b5b6c616d6264613024312c20706869305d2c205b6c616d626461312c20706869315d5d3b0a7d3b0a0a7661722057303b0a7661722057313b0a7661722058303b0a7661722059303b0a766172205a303b0a7661722058313b0a7661722059313b0a766172205a313b0a7661722058323b0a7661722059323b0a766172205a323b0a766172206c616d626461303024323b0a76617220706869303024323b0a7661722078303b0a7661722079303b0a766172207a303b202f2f2070726576696f757320706f696e740a0a7661722063656e74726f696453747265616d203d207b0a20207370686572653a206e6f6f702c0a2020706f696e743a2063656e74726f6964506f696e742c0a20206c696e6553746172743a2063656e74726f69644c696e6553746172742c0a20206c696e65456e643a2063656e74726f69644c696e65456e642c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f696452696e6753746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f696452696e67456e643b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d2e6c696e655374617274203d2063656e74726f69644c696e6553746172743b0a2020202063656e74726f696453747265616d2e6c696e65456e64203d2063656e74726f69644c696e65456e643b0a20207d0a7d3b0a0a2f2f2041726974686d65746963206d65616e206f662043617274657369616e20766563746f72732e0a66756e6374696f6e2063656e74726f6964506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869293b0a202063656e74726f6964506f696e7443617274657369616e28636f73506869202a20636f73286c616d626461292c20636f73506869202a2073696e286c616d626461292c2073696e2870686929293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7443617274657369616e28782c20792c207a29207b0a20202b2b57303b0a20205830202b3d202878202d20583029202f2057303b0a20205930202b3d202879202d20593029202f2057303b0a20205a30202b3d20287a202d205a3029202f2057303b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e6553746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869293b0a20207830203d20636f73506869202a20636f73286c616d626461293b0a20207930203d20636f73506869202a2073696e286c616d626461293b0a20207a30203d2073696e28706869293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f69644c696e65506f696e743b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869292c0a20202020202078203d20636f73506869202a20636f73286c616d626461292c0a20202020202079203d20636f73506869202a2073696e286c616d626461292c0a2020202020207a203d2073696e28706869292c0a20202020202077203d206174616e322873717274282877203d207930202a207a202d207a30202a207929202a2077202b202877203d207a30202a2078202d207830202a207a29202a2077202b202877203d207830202a2079202d207930202a207829202a2077292c207830202a2078202b207930202a2079202b207a30202a207a293b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e642829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a2f2f20536565204a2e20452e2042726f636b2c2054686520496e65727469612054656e736f7220666f7220612053706865726963616c20547269616e676c652c0a2f2f204a2e204170706c696564204d656368616e6963732034322c20323339202831393735292e0a66756e6374696f6e2063656e74726f696452696e6753746172742829207b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e7446697273743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e642829207b0a202063656e74726f696452696e67506f696e74286c616d626461303024322c2070686930302432293b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f6964506f696e743b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e744669727374286c616d6264612c2070686929207b0a20206c616d62646130302432203d206c616d6264612c2070686930302432203d207068693b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202063656e74726f696453747265616d2e706f696e74203d2063656e74726f696452696e67506f696e743b0a202076617220636f73506869203d20636f7328706869293b0a20207830203d20636f73506869202a20636f73286c616d626461293b0a20207930203d20636f73506869202a2073696e286c616d626461293b0a20207a30203d2073696e28706869293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a202076617220636f73506869203d20636f7328706869292c0a20202020202078203d20636f73506869202a20636f73286c616d626461292c0a20202020202079203d20636f73506869202a2073696e286c616d626461292c0a2020202020207a203d2073696e28706869292c0a2020202020206378203d207930202a207a202d207a30202a20792c0a2020202020206379203d207a30202a2078202d207830202a207a2c0a202020202020637a203d207830202a2079202d207930202a20782c0a2020202020206d203d2073717274286378202a206378202b206379202a206379202b20637a202a20637a292c0a20202020202077203d206173696e286d292c202f2f206c696e6520776569676874203d20616e676c650a20202020202076203d206d202626202d77202f206d3b202f2f206172656120776569676874206d756c7469706c6965720a20205832202b3d2076202a2063783b0a20205932202b3d2076202a2063793b0a20205a32202b3d2076202a20637a3b0a20205731202b3d20773b0a20205831202b3d2077202a20287830202b20287830203d207829293b0a20205931202b3d2077202a20287930202b20287930203d207929293b0a20205a31202b3d2077202a20287a30202b20287a30203d207a29293b0a202063656e74726f6964506f696e7443617274657369616e2878302c2079302c207a30293b0a7d0a0a7661722063656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a20205730203d205731203d0a20205830203d205930203d205a30203d0a20205831203d205931203d205a31203d0a20205832203d205932203d205a32203d20303b0a202067656f53747265616d286f626a6563742c2063656e74726f696453747265616d293b0a0a20207661722078203d2058322c0a20202020202079203d2059322c0a2020202020207a203d205a322c0a2020202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a0a20202f2f2049662074686520617265612d7765696768746564206363656e74726f696420697320756e646566696e65642c2066616c6c206261636b20746f206c656e6774682d7765696768746564206363656e74726f69642e0a2020696620286d203c20657073696c6f6e3229207b0a2020202078203d2058312c2079203d2059312c207a203d205a313b0a202020202f2f20496620746865206665617475726520686173207a65726f206c656e6774682c2066616c6c206261636b20746f2061726974686d65746963206d65616e206f6620706f696e7420766563746f72732e0a20202020696620285731203c20657073696c6f6e292078203d2058302c2079203d2059302c207a203d205a303b0a202020206d203d2078202a2078202b2079202a2079202b207a202a207a3b0a202020202f2f204966207468652066656174757265207374696c6c2068617320616e20756e646566696e6564206363656e74726f69642c207468656e2072657475726e2e0a20202020696620286d203c20657073696c6f6e32292072657475726e205b4e614e2c204e614e5d3b0a20207d0a0a202072657475726e205b6174616e3228792c207829202a20646567726565732c206173696e287a202f2073717274286d2929202a20646567726565735d3b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a76617220636f6d706f7365203d2066756e6374696f6e28612c206229207b0a0a202066756e6374696f6e20636f6d706f736528782c207929207b0a2020202072657475726e2078203d206128782c2079292c206228785b305d2c20785b315d293b0a20207d0a0a202069662028612e696e7665727420262620622e696e766572742920636f6d706f73652e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d20622e696e7665727428782c2079292c207820262620612e696e7665727428785b305d2c20785b315d293b0a20207d3b0a0a202072657475726e20636f6d706f73653b0a7d3b0a0a66756e6374696f6e20726f746174696f6e4964656e74697479286c616d6264612c2070686929207b0a202072657475726e205b6c616d626461203e207069203f206c616d626461202d20746175203a206c616d626461203c202d7069203f206c616d626461202b20746175203a206c616d6264612c207068695d3b0a7d0a0a726f746174696f6e4964656e746974792e696e76657274203d20726f746174696f6e4964656e746974793b0a0a66756e6374696f6e20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d6129207b0a202072657475726e202864656c74614c616d62646120253d2074617529203f202864656c7461506869207c7c2064656c746147616d6d61203f20636f6d706f736528726f746174696f6e4c616d6264612864656c74614c616d626461292c20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129290a202020203a20726f746174696f6e4c616d6264612864656c74614c616d62646129290a202020203a202864656c7461506869207c7c2064656c746147616d6d61203f20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d61290a202020203a20726f746174696f6e4964656e74697479293b0a7d0a0a66756e6374696f6e20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202072657475726e2066756e6374696f6e286c616d6264612c2070686929207b0a2020202072657475726e206c616d626461202b3d2064656c74614c616d6264612c205b6c616d626461203e207069203f206c616d626461202d20746175203a206c616d626461203c202d7069203f206c616d626461202b20746175203a206c616d6264612c207068695d3b0a20207d3b0a7d0a0a66756e6374696f6e20726f746174696f6e4c616d6264612864656c74614c616d62646129207b0a202076617220726f746174696f6e203d20666f7277617264526f746174696f6e4c616d6264612864656c74614c616d626461293b0a2020726f746174696f6e2e696e76657274203d20666f7277617264526f746174696f6e4c616d626461282d64656c74614c616d626461293b0a202072657475726e20726f746174696f6e3b0a7d0a0a66756e6374696f6e20726f746174696f6e50686947616d6d612864656c74615068692c2064656c746147616d6d6129207b0a202076617220636f7344656c7461506869203d20636f732864656c7461506869292c0a20202020202073696e44656c7461506869203d2073696e2864656c7461506869292c0a202020202020636f7344656c746147616d6d61203d20636f732864656c746147616d6d61292c0a20202020202073696e44656c746147616d6d61203d2073696e2864656c746147616d6d61293b0a0a202066756e6374696f6e20726f746174696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f7328706869292c0a202020202020202078203d20636f73286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e28706869292c0a20202020202020206b203d207a202a20636f7344656c7461506869202b2078202a2073696e44656c74615068693b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202d206b202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202d207a202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c746147616d6d61202b2079202a2073696e44656c746147616d6d61290a202020205d3b0a20207d0a0a2020726f746174696f6e2e696e76657274203d2066756e6374696f6e286c616d6264612c2070686929207b0a2020202076617220636f73506869203d20636f7328706869292c0a202020202020202078203d20636f73286c616d62646129202a20636f735068692c0a202020202020202079203d2073696e286c616d62646129202a20636f735068692c0a20202020202020207a203d2073696e28706869292c0a20202020202020206b203d207a202a20636f7344656c746147616d6d61202d2079202a2073696e44656c746147616d6d613b0a2020202072657475726e205b0a2020202020206174616e322879202a20636f7344656c746147616d6d61202b207a202a2073696e44656c746147616d6d612c2078202a20636f7344656c7461506869202b206b202a2073696e44656c7461506869292c0a2020202020206173696e286b202a20636f7344656c7461506869202d2078202a2073696e44656c7461506869290a202020205d3b0a20207d3b0a0a202072657475726e20726f746174696f6e3b0a7d0a0a76617220726f746174696f6e203d2066756e6374696f6e28726f7461746529207b0a2020726f74617465203d20726f7461746552616469616e7328726f746174655b305d202a2072616469616e732c20726f746174655b315d202a2072616469616e732c20726f746174652e6c656e677468203e2032203f20726f746174655b325d202a2072616469616e73203a2030293b0a0a202066756e6374696f6e20666f727761726428636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f7461746528636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d20646567726565732c20636f6f7264696e617465735b315d202a3d20646567726565732c20636f6f7264696e617465733b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020636f6f7264696e61746573203d20726f746174652e696e7665727428636f6f7264696e617465735b305d202a2072616469616e732c20636f6f7264696e617465735b315d202a2072616469616e73293b0a2020202072657475726e20636f6f7264696e617465735b305d202a3d20646567726565732c20636f6f7264696e617465735b315d202a3d20646567726565732c20636f6f7264696e617465733b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d3b0a0a2f2f2047656e657261746573206120636972636c652063656e7465726564206174205b30c2b02c2030c2b05d2c2077697468206120676976656e2072616469757320616e6420707265636973696f6e2e0a66756e6374696f6e20636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2074302c20743129207b0a2020696620282164656c7461292072657475726e3b0a202076617220636f73526164697573203d20636f7328726164697573292c0a20202020202073696e526164697573203d2073696e28726164697573292c0a20202020202073746570203d20646972656374696f6e202a2064656c74613b0a2020696620287430203d3d206e756c6c29207b0a202020207430203d20726164697573202b20646972656374696f6e202a207461753b0a202020207431203d20726164697573202d2073746570202f20323b0a20207d20656c7365207b0a202020207430203d20636972636c6552616469757328636f735261646975732c207430293b0a202020207431203d20636972636c6552616469757328636f735261646975732c207431293b0a2020202069662028646972656374696f6e203e2030203f207430203c207431203a207430203e20743129207430202b3d20646972656374696f6e202a207461753b0a20207d0a2020666f72202876617220706f696e742c2074203d2074303b20646972656374696f6e203e2030203f2074203e207431203a2074203c2074313b2074202d3d207374657029207b0a20202020706f696e74203d2073706865726963616c285b636f735261646975732c202d73696e526164697573202a20636f732874292c202d73696e526164697573202a2073696e2874295d293b0a2020202073747265616d2e706f696e7428706f696e745b305d2c20706f696e745b315d293b0a20207d0a7d0a0a2f2f2052657475726e7320746865207369676e656420616e676c65206f6620612063617274657369616e20706f696e742072656c617469766520746f205b636f735261646975732c20302c20305d2e0a66756e6374696f6e20636972636c6552616469757328636f735261646975732c20706f696e7429207b0a2020706f696e74203d2063617274657369616e28706f696e74292c20706f696e745b305d202d3d20636f735261646975733b0a202063617274657369616e4e6f726d616c697a65496e506c61636528706f696e74293b0a202076617220726164697573203d2061636f73282d706f696e745b315d293b0a202072657475726e2028282d706f696e745b325d203c2030203f202d726164697573203a2072616469757329202b20746175202d20657073696c6f6e292025207461753b0a7d0a0a76617220636972636c65203d2066756e6374696f6e2829207b0a20207661722063656e746572203d20636f6e7374616e74285b302c20305d292c0a202020202020726164697573203d20636f6e7374616e74283930292c0a202020202020707265636973696f6e203d20636f6e7374616e742836292c0a20202020202072696e672c0a202020202020726f746174652c0a20202020202073747265616d203d207b706f696e743a20706f696e747d3b0a0a202066756e6374696f6e20706f696e7428782c207929207b0a2020202072696e672e707573682878203d20726f7461746528782c207929293b0a20202020785b305d202a3d20646567726565732c20785b315d202a3d20646567726565733b0a20207d0a0a202066756e6374696f6e20636972636c652829207b0a202020207661722063203d2063656e7465722e6170706c7928746869732c20617267756d656e7473292c0a202020202020202072203d207261646975732e6170706c7928746869732c20617267756d656e747329202a2072616469616e732c0a202020202020202070203d20707265636973696f6e2e6170706c7928746869732c20617267756d656e747329202a2072616469616e733b0a2020202072696e67203d205b5d3b0a20202020726f74617465203d20726f7461746552616469616e73282d635b305d202a2072616469616e732c202d635b315d202a2072616469616e732c2030292e696e766572743b0a20202020636972636c6553747265616d2873747265616d2c20722c20702c2031293b0a2020202063203d207b747970653a2022506f6c79676f6e222c20636f6f7264696e617465733a205b72696e675d7d3b0a2020202072696e67203d20726f74617465203d206e756c6c3b0a2020202072657475726e20633b0a20207d0a0a2020636972636c652e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b2b5f5b305d2c202b5f5b315d5d292c20636972636c6529203a2063656e7465723b0a20207d3b0a0a2020636972636c652e726164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20636972636c6529203a207261646975733b0a20207d3b0a0a2020636972636c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636973696f6e203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20636972636c6529203a20707265636973696f6e3b0a20207d3b0a0a202072657475726e20636972636c653b0a7d3b0a0a76617220636c6970427566666572203d2066756e6374696f6e2829207b0a2020766172206c696e6573203d205b5d2c0a2020202020206c696e653b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020206c696e652e70757368285b782c20795d293b0a202020207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020206c696e65732e70757368286c696e65203d205b5d293b0a202020207d2c0a202020206c696e65456e643a206e6f6f702c0a2020202072656a6f696e3a2066756e6374696f6e2829207b0a202020202020696620286c696e65732e6c656e677468203e203129206c696e65732e70757368286c696e65732e706f7028292e636f6e636174286c696e65732e7368696674282929293b0a202020207d2c0a20202020726573756c743a2066756e6374696f6e2829207b0a20202020202076617220726573756c74203d206c696e65733b0a2020202020206c696e6573203d205b5d3b0a2020202020206c696e65203d206e756c6c3b0a20202020202072657475726e20726573756c743b0a202020207d0a20207d3b0a7d3b0a0a76617220706f696e74457175616c203d2066756e6374696f6e28612c206229207b0a202072657475726e2061627328615b305d202d20625b305d29203c20657073696c6f6e2026262061627328615b315d202d20625b315d29203c20657073696c6f6e3b0a7d3b0a0a66756e6374696f6e20496e74657273656374696f6e28706f696e742c20706f696e74732c206f746865722c20656e74727929207b0a2020746869732e78203d20706f696e743b0a2020746869732e7a203d20706f696e74733b0a2020746869732e6f203d206f746865723b202f2f20616e6f7468657220696e74657273656374696f6e0a2020746869732e65203d20656e7472793b202f2f20697320616e20656e7472793f0a2020746869732e76203d2066616c73653b202f2f20766973697465640a2020746869732e6e203d20746869732e70203d206e756c6c3b202f2f206e65787420262070726576696f75730a7d0a0a2f2f20412067656e6572616c697a656420706f6c79676f6e20636c697070696e6720616c676f726974686d3a20676976656e206120706f6c79676f6e207468617420686173206265656e206375740a2f2f20696e746f206974732076697369626c65206c696e65207365676d656e74732c20616e642072656a6f696e7320746865207365676d656e747320627920696e746572706f6c6174696e670a2f2f20616c6f6e672074686520636c697020656467652e0a76617220636c697052656a6f696e203d2066756e6374696f6e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d29207b0a2020766172207375626a656374203d205b5d2c0a202020202020636c6970203d205b5d2c0a202020202020692c0a2020202020206e3b0a0a20207365676d656e74732e666f72456163682866756e6374696f6e287365676d656e7429207b0a2020202069662028286e203d207365676d656e742e6c656e677468202d203129203c3d2030292072657475726e3b0a20202020766172206e2c207030203d207365676d656e745b305d2c207031203d207365676d656e745b6e5d2c20783b0a0a202020202f2f2049662074686520666972737420616e64206c61737420706f696e7473206f662061207365676d656e742061726520636f696e636964656e742c207468656e20747265617420617320610a202020202f2f20636c6f7365642072696e672e20544f444f20696620616c6c2072696e67732061726520636c6f7365642c207468656e207468652077696e64696e67206f72646572206f66207468650a202020202f2f206578746572696f722072696e672073686f756c6420626520636865636b65642e0a2020202069662028706f696e74457175616c2870302c2070312929207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020666f72202869203d20303b2069203c206e3b202b2b69292073747265616d2e706f696e7428287030203d207365676d656e745b695d295b305d2c2070305b315d293b0a20202020202073747265616d2e6c696e65456e6428293b0a20202020202072657475726e3b0a202020207d0a0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870302c207365676d656e742c206e756c6c2c207472756529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870302c206e756c6c2c20782c2066616c736529293b0a202020207375626a6563742e707573682878203d206e657720496e74657273656374696f6e2870312c207365676d656e742c206e756c6c2c2066616c736529293b0a20202020636c69702e7075736828782e6f203d206e657720496e74657273656374696f6e2870312c206e756c6c2c20782c207472756529293b0a20207d293b0a0a202069662028217375626a6563742e6c656e677468292072657475726e3b0a0a2020636c69702e736f727428636f6d70617265496e74657273656374696f6e293b0a20206c696e6b287375626a656374293b0a20206c696e6b28636c6970293b0a0a2020666f72202869203d20302c206e203d20636c69702e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020636c69705b695d2e65203d207374617274496e73696465203d20217374617274496e736964653b0a20207d0a0a2020766172207374617274203d207375626a6563745b305d2c0a202020202020706f696e74732c0a202020202020706f696e743b0a0a20207768696c6520283129207b0a202020202f2f2046696e6420666972737420756e7669736974656420696e74657273656374696f6e2e0a202020207661722063757272656e74203d2073746172742c0a202020202020202069735375626a656374203d20747275653b0a202020207768696c65202863757272656e742e762920696620282863757272656e74203d2063757272656e742e6e29203d3d3d207374617274292072657475726e3b0a20202020706f696e7473203d2063757272656e742e7a3b0a2020202073747265616d2e6c696e65537461727428293b0a20202020646f207b0a20202020202063757272656e742e76203d2063757272656e742e6f2e76203d20747275653b0a2020202020206966202863757272656e742e6529207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020666f72202869203d20302c206e203d20706f696e74732e6c656e6774683b2069203c206e3b202b2b69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e6e2e782c20312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e6e3b0a2020202020207d20656c7365207b0a20202020202020206966202869735375626a65637429207b0a20202020202020202020706f696e7473203d2063757272656e742e702e7a3b0a20202020202020202020666f72202869203d20706f696e74732e6c656e677468202d20313b2069203e3d20303b202d2d69292073747265616d2e706f696e742828706f696e74203d20706f696e74735b695d295b305d2c20706f696e745b315d293b0a20202020202020207d20656c7365207b0a20202020202020202020696e746572706f6c6174652863757272656e742e782c2063757272656e742e702e782c202d312c2073747265616d293b0a20202020202020207d0a202020202020202063757272656e74203d2063757272656e742e703b0a2020202020207d0a20202020202063757272656e74203d2063757272656e742e6f3b0a202020202020706f696e7473203d2063757272656e742e7a3b0a20202020202069735375626a656374203d202169735375626a6563743b0a202020207d207768696c6520282163757272656e742e76293b0a2020202073747265616d2e6c696e65456e6428293b0a20207d0a7d3b0a0a66756e6374696f6e206c696e6b28617272617929207b0a20206966202821286e203d2061727261792e6c656e67746829292072657475726e3b0a2020766172206e2c0a20202020202069203d20302c0a20202020202061203d2061727261795b305d2c0a202020202020623b0a20207768696c6520282b2b69203c206e29207b0a20202020612e6e203d2062203d2061727261795b695d3b0a20202020622e70203d20613b0a2020202061203d20623b0a20207d0a2020612e6e203d2062203d2061727261795b305d3b0a2020622e70203d20613b0a7d0a0a7661722073756d203d20616464657228293b0a0a76617220706f6c79676f6e436f6e7461696e73203d2066756e6374696f6e28706f6c79676f6e2c20706f696e7429207b0a2020766172206c616d626461203d20706f696e745b305d2c0a202020202020706869203d20706f696e745b315d2c0a2020202020206e6f726d616c203d205b73696e286c616d626461292c202d636f73286c616d626461292c20305d2c0a202020202020616e676c65203d20302c0a20202020202077696e64696e67203d20303b0a0a202073756d2e726573657428293b0a0a2020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a202020206966202821286d203d202872696e67203d20706f6c79676f6e5b695d292e6c656e677468292920636f6e74696e75653b0a202020207661722072696e672c0a20202020202020206d2c0a2020202020202020706f696e7430203d2072696e675b6d202d20315d2c0a20202020202020206c616d62646130203d20706f696e74305b305d2c0a202020202020202070686930203d20706f696e74305b315d202f2032202b207175617274657250692c0a202020202020202073696e50686930203d2073696e2870686930292c0a2020202020202020636f7350686930203d20636f732870686930293b0a0a20202020666f722028766172206a203d20303b206a203c206d3b202b2b6a2c206c616d62646130203d206c616d626461312c2073696e50686930203d2073696e506869312c20636f7350686930203d20636f73506869312c20706f696e7430203d20706f696e743129207b0a20202020202076617220706f696e7431203d2072696e675b6a5d2c0a202020202020202020206c616d62646131203d20706f696e74315b305d2c0a2020202020202020202070686931203d20706f696e74315b315d202f2032202b207175617274657250692c0a2020202020202020202073696e50686931203d2073696e2870686931292c0a20202020202020202020636f7350686931203d20636f732870686931292c0a2020202020202020202064656c7461203d206c616d62646131202d206c616d626461302c0a202020202020202020207369676e242431203d2064656c7461203e3d2030203f2031203a202d312c0a2020202020202020202061627344656c7461203d207369676e242431202a2064656c74612c0a20202020202020202020616e74696d6572696469616e203d2061627344656c7461203e2070692c0a202020202020202020206b203d2073696e50686930202a2073696e506869313b0a0a20202020202073756d2e616464286174616e32286b202a207369676e242431202a2073696e2861627344656c7461292c20636f7350686930202a20636f7350686931202b206b202a20636f732861627344656c74612929293b0a202020202020616e676c65202b3d20616e74696d6572696469616e203f2064656c7461202b207369676e242431202a20746175203a2064656c74613b0a0a2020202020202f2f2041726520746865206c6f6e67697475646573206569746865722073696465206f662074686520706f696e74e2809973206d6572696469616e20286c616d626461292c0a2020202020202f2f20616e642061726520746865206c617469747564657320736d616c6c6572207468616e2074686520706172616c6c656c2028706869293f0a20202020202069662028616e74696d6572696469616e205e206c616d62646130203e3d206c616d626461205e206c616d62646131203e3d206c616d62646129207b0a202020202020202076617220617263203d2063617274657369616e43726f73732863617274657369616e28706f696e7430292c2063617274657369616e28706f696e743129293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528617263293b0a202020202020202076617220696e74657273656374696f6e203d2063617274657369616e43726f7373286e6f726d616c2c20617263293b0a202020202020202063617274657369616e4e6f726d616c697a65496e506c61636528696e74657273656374696f6e293b0a202020202020202076617220706869417263203d2028616e74696d6572696469616e205e2064656c7461203e3d2030203f202d31203a203129202a206173696e28696e74657273656374696f6e5b325d293b0a202020202020202069662028706869203e20706869417263207c7c20706869203d3d3d2070686941726320262620286172635b305d207c7c206172635b315d2929207b0a2020202020202020202077696e64696e67202b3d20616e74696d6572696469616e205e2064656c7461203e3d2030203f2031203a202d313b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a20202f2f2046697273742c2064657465726d696e6520776865746865722074686520536f75746820706f6c6520697320696e73696465206f72206f7574736964653a0a20202f2f0a20202f2f20497420697320696e736964652069663a0a20202f2f202a2074686520706f6c79676f6e2077696e64732061726f756e6420697420696e206120636c6f636b7769736520646972656374696f6e2e0a20202f2f202a2074686520706f6c79676f6e20646f6573206e6f74202863756d756c61746976656c79292077696e642061726f756e642069742c20627574206861732061206e656761746976650a20202f2f20202028636f756e7465722d636c6f636b776973652920617265612e0a20202f2f0a20202f2f205365636f6e642c20636f756e742074686520287369676e656429206e756d626572206f662074696d65732061207365676d656e742063726f737365732061206c616d6264610a20202f2f2066726f6d2074686520706f696e7420746f2074686520536f75746820706f6c652e20204966206974206973207a65726f2c207468656e2074686520706f696e74206973207468650a20202f2f2073616d6520736964652061732074686520536f75746820706f6c652e0a0a202072657475726e2028616e676c65203c202d657073696c6f6e207c7c20616e676c65203c20657073696c6f6e2026262073756d203c202d657073696c6f6e29205e202877696e64696e6720262031293b0a7d3b0a0a76617220636c6970203d2066756e6374696f6e28706f696e7456697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20737461727429207b0a202072657475726e2066756e6374696f6e2873696e6b29207b0a20202020766172206c696e65203d20636c69704c696e652873696e6b292c0a202020202020202072696e67427566666572203d20636c697042756666657228292c0a202020202020202072696e6753696e6b203d20636c69704c696e652872696e67427566666572292c0a2020202020202020706f6c79676f6e53746172746564203d2066616c73652c0a2020202020202020706f6c79676f6e2c0a20202020202020207365676d656e74732c0a202020202020202072696e673b0a0a2020202076617220636c6970203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e7452696e673b0a2020202020202020636c69702e6c696e655374617274203d2072696e6753746172743b0a2020202020202020636c69702e6c696e65456e64203d2072696e67456e643b0a20202020202020207365676d656e7473203d205b5d3b0a2020202020202020706f6c79676f6e203d205b5d3b0a2020202020207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202020202020636c69702e706f696e74203d20706f696e743b0a2020202020202020636c69702e6c696e655374617274203d206c696e6553746172743b0a2020202020202020636c69702e6c696e65456e64203d206c696e65456e643b0a20202020202020207365676d656e7473203d20643341727261792e6d65726765287365676d656e7473293b0a2020202020202020766172207374617274496e73696465203d20706f6c79676f6e436f6e7461696e7328706f6c79676f6e2c207374617274293b0a2020202020202020696620287365676d656e74732e6c656e67746829207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073696e6b293b0a20202020202020207d20656c736520696620287374617274496e7369646529207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202069662028706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e456e6428292c20706f6c79676f6e53746172746564203d2066616c73653b0a20202020202020207365676d656e7473203d20706f6c79676f6e203d206e756c6c3b0a2020202020207d2c0a2020202020207370686572653a2066756e6374696f6e2829207b0a202020202020202073696e6b2e706f6c79676f6e537461727428293b0a202020202020202073696e6b2e6c696e65537461727428293b0a2020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073696e6b293b0a202020202020202073696e6b2e6c696e65456e6428293b0a202020202020202073696e6b2e706f6c79676f6e456e6428293b0a2020202020207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e74286c616d6264612c2070686929207b0a20202020202069662028706f696e7456697369626c65286c616d6264612c2070686929292073696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e20706f696e744c696e65286c616d6264612c2070686929207b0a2020202020206c696e652e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c69702e706f696e74203d20706f696e744c696e653b0a2020202020206c696e652e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020636c69702e706f696e74203d20706f696e743b0a2020202020206c696e652e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e20706f696e7452696e67286c616d6264612c2070686929207b0a20202020202072696e672e70757368285b6c616d6264612c207068695d293b0a20202020202072696e6753696e6b2e706f696e74286c616d6264612c20706869293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a20202020202072696e6753696e6b2e6c696e65537461727428293b0a20202020202072696e67203d205b5d3b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020706f696e7452696e672872696e675b305d5b305d2c2072696e675b305d5b315d293b0a20202020202072696e6753696e6b2e6c696e65456e6428293b0a0a20202020202076617220636c65616e203d2072696e6753696e6b2e636c65616e28292c0a2020202020202020202072696e675365676d656e7473203d2072696e674275666665722e726573756c7428292c0a20202020202020202020692c206e203d2072696e675365676d656e74732e6c656e6774682c206d2c0a202020202020202020207365676d656e742c0a20202020202020202020706f696e743b0a0a20202020202072696e672e706f7028293b0a202020202020706f6c79676f6e2e707573682872696e67293b0a20202020202072696e67203d206e756c6c3b0a0a20202020202069662028216e292072657475726e3b0a0a2020202020202f2f204e6f20696e74657273656374696f6e732e0a20202020202069662028636c65616e2026203129207b0a20202020202020207365676d656e74203d2072696e675365676d656e74735b305d3b0a202020202020202069662028286d203d207365676d656e742e6c656e677468202d203129203e203029207b0a202020202020202020206966202821706f6c79676f6e53746172746564292073696e6b2e706f6c79676f6e537461727428292c20706f6c79676f6e53746172746564203d20747275653b0a2020202020202020202073696e6b2e6c696e65537461727428293b0a20202020202020202020666f72202869203d20303b2069203c206d3b202b2b69292073696e6b2e706f696e742828706f696e74203d207365676d656e745b695d295b305d2c20706f696e745b315d293b0a2020202020202020202073696e6b2e6c696e65456e6428293b0a20202020202020207d0a202020202020202072657475726e3b0a2020202020207d0a0a2020202020202f2f2052656a6f696e20636f6e6e6563746564207365676d656e74732e0a2020202020202f2f20544f444f2072657573652072696e674275666665722e72656a6f696e28293f0a202020202020696620286e203e203120262620636c65616e20262032292072696e675365676d656e74732e707573682872696e675365676d656e74732e706f7028292e636f6e6361742872696e675365676d656e74732e7368696674282929293b0a0a2020202020207365676d656e74732e707573682872696e675365676d656e74732e66696c7465722876616c69645365676d656e7429293b0a202020207d0a0a2020202072657475726e20636c69703b0a20207d3b0a7d3b0a0a66756e6374696f6e2076616c69645365676d656e74287365676d656e7429207b0a202072657475726e207365676d656e742e6c656e677468203e20313b0a7d0a0a2f2f20496e74657273656374696f6e732061726520736f7274656420616c6f6e672074686520636c697020656467652e20466f7220626f746820616e74696d6572696469616e2063757474696e670a2f2f20616e6420636972636c6520636c697070696e672c207468652073616d6520636f6d70617269736f6e20697320757365642e0a66756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a202072657475726e20282861203d20612e78295b305d203c2030203f20615b315d202d2068616c665069202d20657073696c6f6e203a2068616c665069202d20615b315d290a202020202020202d20282862203d20622e78295b305d203c2030203f20625b315d202d2068616c665069202d20657073696c6f6e203a2068616c665069202d20625b315d293b0a7d0a0a76617220636c6970416e74696d6572696469616e203d20636c6970280a202066756e6374696f6e2829207b2072657475726e20747275653b207d2c0a2020636c6970416e74696d6572696469616e4c696e652c0a2020636c6970416e74696d6572696469616e496e746572706f6c6174652c0a20205b2d70692c202d68616c6650695d0a293b0a0a2f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c7565733a2030202d20746865726520776572650a2f2f20696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f20696e74657273656374696f6e733b2032202d20746865726520776572650a2f2f20696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74732073686f756c642062652072656a6f696e65642e0a66756e6374696f6e20636c6970416e74696d6572696469616e4c696e652873747265616d29207b0a2020766172206c616d62646130203d204e614e2c0a20202020202070686930203d204e614e2c0a2020202020207369676e30203d204e614e2c0a202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a0a202072657475726e207b0a202020206c696e6553746172743a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65537461727428293b0a202020202020636c65616e203d20313b0a202020207d2c0a20202020706f696e743a2066756e6374696f6e286c616d626461312c207068693129207b0a202020202020766172207369676e31203d206c616d62646131203e2030203f207069203a202d70692c0a2020202020202020202064656c7461203d20616273286c616d62646131202d206c616d62646130293b0a202020202020696620286162732864656c7461202d20706929203c20657073696c6f6e29207b202f2f206c696e652063726f73736573206120706f6c650a202020202020202073747265616d2e706f696e74286c616d626461302c2070686930203d202870686930202b207068693129202f2032203e2030203f2068616c665069203a202d68616c665069293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a202020202020202073747265616d2e706f696e74286c616d626461312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d20656c736520696620287369676e3020213d3d207369676e312026262064656c7461203e3d20706929207b202f2f206c696e652063726f7373657320616e74696d6572696469616e0a202020202020202069662028616273286c616d62646130202d207369676e3029203c20657073696c6f6e29206c616d62646130202d3d207369676e30202a20657073696c6f6e3b202f2f2068616e646c6520646567656e657261636965730a202020202020202069662028616273286c616d62646131202d207369676e3129203c20657073696c6f6e29206c616d62646131202d3d207369676e31202a20657073696c6f6e3b0a202020202020202070686930203d20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c2070686931293b0a202020202020202073747265616d2e706f696e74287369676e302c2070686930293b0a202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202073747265616d2e706f696e74287369676e312c2070686930293b0a2020202020202020636c65616e203d20303b0a2020202020207d0a20202020202073747265616d2e706f696e74286c616d62646130203d206c616d626461312c2070686930203d2070686931293b0a2020202020207369676e30203d207369676e313b0a202020207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b0a20202020202073747265616d2e6c696e65456e6428293b0a2020202020206c616d62646130203d2070686930203d204e614e3b0a202020207d2c0a20202020636c65616e3a2066756e6374696f6e2829207b0a20202020202072657475726e2032202d20636c65616e3b202f2f20696620696e74657273656374696f6e732c2072656a6f696e20666972737420616e64206c617374207365676d656e74730a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e74657273656374286c616d626461302c20706869302c206c616d626461312c207068693129207b0a202076617220636f73506869302c0a202020202020636f73506869312c0a20202020202073696e4c616d626461304c616d62646131203d2073696e286c616d62646130202d206c616d62646131293b0a202072657475726e206162732873696e4c616d626461304c616d6264613129203e20657073696c6f6e0a2020202020203f206174616e282873696e287068693029202a2028636f7350686931203d20636f7328706869312929202a2073696e286c616d62646131290a202020202020202020202d2073696e287068693129202a2028636f7350686930203d20636f7328706869302929202a2073696e286c616d6264613029290a202020202020202020202f2028636f7350686930202a20636f7350686931202a2073696e4c616d626461304c616d6264613129290a2020202020203a202870686930202b207068693129202f20323b0a7d0a0a66756e6374696f6e20636c6970416e74696d6572696469616e496e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a2020766172207068693b0a20206966202866726f6d203d3d206e756c6c29207b0a20202020706869203d20646972656374696f6e202a2068616c6650693b0a2020202073747265616d2e706f696e74282d70692c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e742870692c20706869293b0a2020202073747265616d2e706f696e742870692c2030293b0a2020202073747265616d2e706f696e742870692c202d706869293b0a2020202073747265616d2e706f696e7428302c202d706869293b0a2020202073747265616d2e706f696e74282d70692c202d706869293b0a2020202073747265616d2e706f696e74282d70692c2030293b0a2020202073747265616d2e706f696e74282d70692c20706869293b0a20207d20656c736520696620286162732866726f6d5b305d202d20746f5b305d29203e20657073696c6f6e29207b0a20202020766172206c616d626461203d2066726f6d5b305d203c20746f5b305d203f207069203a202d70693b0a20202020706869203d20646972656374696f6e202a206c616d626461202f20323b0a2020202073747265616d2e706f696e74282d6c616d6264612c20706869293b0a2020202073747265616d2e706f696e7428302c20706869293b0a2020202073747265616d2e706f696e74286c616d6264612c20706869293b0a20207d20656c7365207b0a2020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a20207d0a7d0a0a76617220636c6970436972636c65203d2066756e6374696f6e2872616469757329207b0a2020766172206372203d20636f7328726164697573292c0a20202020202064656c7461203d2036202a2072616469616e732c0a202020202020736d616c6c526164697573203d206372203e20302c0a2020202020206e6f7448656d69737068657265203d2061627328637229203e20657073696c6f6e3b202f2f20544f444f206f7074696d69736520666f72207468697320636f6d6d6f6e20636173650a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a20202020636972636c6553747265616d2873747265616d2c207261646975732c2064656c74612c20646972656374696f6e2c2066726f6d2c20746f293b0a20207d0a0a202066756e6374696f6e2076697369626c65286c616d6264612c2070686929207b0a2020202072657475726e20636f73286c616d62646129202a20636f732870686929203e2063723b0a20207d0a0a20202f2f2054616b65732061206c696e6520616e64206375747320696e746f2076697369626c65207365676d656e74732e2052657475726e2076616c756573207573656420666f7220706f6c79676f6e0a20202f2f20636c697070696e673a2030202d207468657265207765726520696e74657273656374696f6e73206f7220746865206c696e652077617320656d7074793b2031202d206e6f0a20202f2f20696e74657273656374696f6e732032202d207468657265207765726520696e74657273656374696f6e732c20616e642074686520666972737420616e64206c617374207365676d656e74730a20202f2f2073686f756c642062652072656a6f696e65642e0a202066756e6374696f6e20636c69704c696e652873747265616d29207b0a2020202076617220706f696e74302c202f2f2070726576696f757320706f696e740a202020202020202063302c202f2f20636f646520666f722070726576696f757320706f696e740a202020202020202076302c202f2f207669736962696c697479206f662070726576696f757320706f696e740a20202020202020207630302c202f2f207669736962696c697479206f6620666972737420706f696e740a2020202020202020636c65616e3b202f2f206e6f20696e74657273656374696f6e730a2020202072657475726e207b0a2020202020206c696e6553746172743a2066756e6374696f6e2829207b0a2020202020202020763030203d207630203d2066616c73653b0a2020202020202020636c65616e203d20313b0a2020202020207d2c0a202020202020706f696e743a2066756e6374696f6e286c616d6264612c2070686929207b0a202020202020202076617220706f696e7431203d205b6c616d6264612c207068695d2c0a202020202020202020202020706f696e74322c0a20202020202020202020202076203d2076697369626c65286c616d6264612c20706869292c0a20202020202020202020202063203d20736d616c6c5261646975730a20202020202020202020202020203f2076203f2030203a20636f6465286c616d6264612c20706869290a20202020202020202020202020203a2076203f20636f6465286c616d626461202b20286c616d626461203c2030203f207069203a202d7069292c2070686929203a20303b0a20202020202020206966202821706f696e74302026262028763030203d207630203d207629292073747265616d2e6c696e65537461727428293b0a20202020202020202f2f2048616e646c6520646567656e657261636965732e0a20202020202020202f2f20544f444f2069676e6f7265206966206e6f7420636c697070696e6720706f6c79676f6e732e0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a202020202020202020206966202821706f696e7432207c7c20706f696e74457175616c28706f696e74302c20706f696e743229207c7c20706f696e74457175616c28706f696e74312c20706f696e74322929207b0a202020202020202020202020706f696e74315b305d202b3d20657073696c6f6e3b0a202020202020202020202020706f696e74315b315d202b3d20657073696c6f6e3b0a20202020202020202020202076203d2076697369626c6528706f696e74315b305d2c20706f696e74315b315d293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696620287620213d3d20763029207b0a20202020202020202020636c65616e203d20303b0a20202020202020202020696620287629207b0a2020202020202020202020202f2f206f75747369646520676f696e6720696e0a20202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74312c20706f696e7430293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a202020202020202020207d20656c7365207b0a2020202020202020202020202f2f20696e7369646520676f696e67206f75740a202020202020202020202020706f696e7432203d20696e7465727365637428706f696e74302c20706f696e7431293b0a20202020202020202020202073747265616d2e706f696e7428706f696e74325b305d2c20706f696e74325b315d293b0a20202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020207d0a20202020202020202020706f696e7430203d20706f696e74323b0a20202020202020207d20656c736520696620286e6f7448656d6973706865726520262620706f696e743020262620736d616c6c526164697573205e207629207b0a2020202020202020202076617220743b0a202020202020202020202f2f2049662074686520636f64657320666f722074776f20706f696e74732061726520646966666572656e742c206f722061726520626f7468207a65726f2c0a202020202020202020202f2f20616e642074686572652074686973207365676d656e7420696e746572736563747320776974682074686520736d616c6c20636972636c652e0a2020202020202020202069662028212863202620633029202626202874203d20696e7465727365637428706f696e74312c20706f696e74302c2074727565292929207b0a202020202020202020202020636c65616e203d20303b0a20202020202020202020202069662028736d616c6c52616469757329207b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202073747265616d2e706f696e7428745b315d5b305d2c20745b315d5b315d293b0a202020202020202020202020202073747265616d2e6c696e65456e6428293b0a202020202020202020202020202073747265616d2e6c696e65537461727428293b0a202020202020202020202020202073747265616d2e706f696e7428745b305d5b305d2c20745b305d5b315d293b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a20202020202020206966202876202626202821706f696e7430207c7c2021706f696e74457175616c28706f696e74302c20706f696e7431292929207b0a2020202020202020202073747265616d2e706f696e7428706f696e74315b305d2c20706f696e74315b315d293b0a20202020202020207d0a2020202020202020706f696e7430203d20706f696e74312c207630203d20762c206330203d20633b0a2020202020207d2c0a2020202020206c696e65456e643a2066756e6374696f6e2829207b0a2020202020202020696620287630292073747265616d2e6c696e65456e6428293b0a2020202020202020706f696e7430203d206e756c6c3b0a2020202020207d2c0a2020202020202f2f2052656a6f696e20666972737420616e64206c617374207365676d656e7473206966207468657265207765726520696e74657273656374696f6e7320616e64207468652066697273740a2020202020202f2f20616e64206c61737420706f696e747320776572652076697369626c652e0a202020202020636c65616e3a2066756e6374696f6e2829207b0a202020202020202072657475726e20636c65616e207c20282876303020262620763029203c3c2031293b0a2020202020207d0a202020207d3b0a20207d0a0a20202f2f20496e74657273656374732074686520677265617420636972636c65206265747765656e206120616e64206220776974682074686520636c697020636972636c652e0a202066756e6374696f6e20696e7465727365637428612c20622c2074776f29207b0a20202020766172207061203d2063617274657369616e2861292c0a20202020202020207062203d2063617274657369616e2862293b0a0a202020202f2f20576520686176652074776f20706c616e65732c206e312e70203d20643120616e64206e322e70203d2064322e0a202020202f2f2046696e6420696e74657273656374696f6e206c696e652070287429203d206331206e31202b206332206e32202b207420286e3120e2a8af206e32292e0a20202020766172206e31203d205b312c20302c20305d2c202f2f206e6f726d616c0a20202020202020206e32203d2063617274657369616e43726f73732870612c207062292c0a20202020202020206e326e32203d2063617274657369616e446f74286e322c206e32292c0a20202020202020206e316e32203d206e325b305d2c202f2f2063617274657369616e446f74286e312c206e32292c0a202020202020202064657465726d696e616e74203d206e326e32202d206e316e32202a206e316e323b0a0a202020202f2f2054776f20706f6c617220706f696e74732e0a20202020696620282164657465726d696e616e74292072657475726e202174776f20262620613b0a0a20202020766172206331203d20206372202a206e326e32202f2064657465726d696e616e742c0a20202020202020206332203d202d6372202a206e316e32202f2064657465726d696e616e742c0a20202020202020206e31786e32203d2063617274657369616e43726f7373286e312c206e32292c0a202020202020202041203d2063617274657369616e5363616c65286e312c206331292c0a202020202020202042203d2063617274657369616e5363616c65286e322c206332293b0a2020202063617274657369616e416464496e506c61636528412c2042293b0a0a202020202f2f20536f6c7665207c702874297c5e32203d20312e0a202020207661722075203d206e31786e322c0a202020202020202077203d2063617274657369616e446f7428412c2075292c0a20202020202020207575203d2063617274657369616e446f7428752c2075292c0a20202020202020207432203d2077202a2077202d207575202a202863617274657369616e446f7428412c204129202d2031293b0a0a20202020696620287432203c2030292072657475726e3b0a0a202020207661722074203d2073717274287432292c0a202020202020202071203d2063617274657369616e5363616c6528752c20282d77202d207429202f207575293b0a2020202063617274657369616e416464496e506c61636528712c2041293b0a2020202071203d2073706865726963616c2871293b0a0a20202020696620282174776f292072657475726e20713b0a0a202020202f2f2054776f20696e74657273656374696f6e20706f696e74732e0a20202020766172206c616d62646130203d20615b305d2c0a20202020202020206c616d62646131203d20625b305d2c0a202020202020202070686930203d20615b315d2c0a202020202020202070686931203d20625b315d2c0a20202020202020207a3b0a0a20202020696620286c616d62646131203c206c616d6264613029207a203d206c616d626461302c206c616d62646130203d206c616d626461312c206c616d62646131203d207a3b0a0a202020207661722064656c7461203d206c616d62646131202d206c616d626461302c0a2020202020202020706f6c6172203d206162732864656c7461202d20706929203c20657073696c6f6e2c0a20202020202020206d6572696469616e203d20706f6c6172207c7c2064656c7461203c20657073696c6f6e3b0a0a202020206966202821706f6c61722026262070686931203c207068693029207a203d20706869302c2070686930203d20706869312c2070686931203d207a3b0a0a202020202f2f20436865636b20746861742074686520666972737420706f696e74206973206265747765656e206120616e6420622e0a20202020696620286d6572696469616e0a20202020202020203f20706f6c61720a202020202020202020203f2070686930202b2070686931203e2030205e20715b315d203c202861627328715b305d202d206c616d6264613029203c20657073696c6f6e203f2070686930203a2070686931290a202020202020202020203a2070686930203c3d20715b315d20262620715b315d203c3d20706869310a20202020202020203a2064656c7461203e207069205e20286c616d62646130203c3d20715b305d20262620715b305d203c3d206c616d626461312929207b0a202020202020766172207131203d2063617274657369616e5363616c6528752c20282d77202b207429202f207575293b0a20202020202063617274657369616e416464496e506c6163652871312c2041293b0a20202020202072657475726e205b712c2073706865726963616c287131295d3b0a202020207d0a20207d0a0a20202f2f2047656e657261746573206120342d62697420766563746f7220726570726573656e74696e6720746865206c6f636174696f6e206f66206120706f696e742072656c617469766520746f0a20202f2f2074686520736d616c6c20636972636c65277320626f756e64696e6720626f782e0a202066756e6374696f6e20636f6465286c616d6264612c2070686929207b0a202020207661722072203d20736d616c6c526164697573203f20726164697573203a207069202d207261646975732c0a2020202020202020636f6465203d20303b0a20202020696620286c616d626461203c202d722920636f6465207c3d20313b202f2f206c6566740a20202020656c736520696620286c616d626461203e20722920636f6465207c3d20323b202f2f2072696768740a2020202069662028706869203c202d722920636f6465207c3d20343b202f2f2062656c6f770a20202020656c73652069662028706869203e20722920636f6465207c3d20383b202f2f2061626f76650a2020202072657475726e20636f64653b0a20207d0a0a202072657475726e20636c69702876697369626c652c20636c69704c696e652c20696e746572706f6c6174652c20736d616c6c526164697573203f205b302c202d7261646975735d203a205b2d70692c20726164697573202d2070695d293b0a7d3b0a0a76617220636c69704c696e65203d2066756e6374696f6e28612c20622c2078302c2079302c2078312c20793129207b0a2020766172206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a2020696620287430203e20302920615b305d203d206178202b207430202a2064782c20615b315d203d206179202b207430202a2064793b0a2020696620287431203c20312920625b305d203d206178202b207431202a2064782c20625b315d203d206179202b207431202a2064793b0a202072657475726e20747275653b0a7d3b0a0a76617220636c69704d6178203d203165393b0a76617220636c69704d696e203d202d636c69704d61783b0a0a2f2f20544f444f205573652064332d706f6c79676f6ee280997320706f6c79676f6e436f6e7461696e73206865726520666f72207468652072696e6720636865636b3f0a2f2f20544f444f20456c696d696e617465206475706c696361746520627566666572696e6720696e20636c697042756666657220616e6420706f6c79676f6e2e707573683f0a0a66756e6374696f6e20636c697052656374616e676c652878302c2079302c2078312c20793129207b0a0a202066756e6374696f6e2076697369626c6528782c207929207b0a2020202072657475726e207830203c3d20782026262078203c3d207831202626207930203c3d20792026262079203c3d2079313b0a20207d0a0a202066756e6374696f6e20696e746572706f6c6174652866726f6d2c20746f2c20646972656374696f6e2c2073747265616d29207b0a202020207661722061203d20302c206131203d20303b0a202020206966202866726f6d203d3d206e756c6c0a20202020202020207c7c202861203d20636f726e65722866726f6d2c20646972656374696f6e292920213d3d20286131203d20636f726e657228746f2c20646972656374696f6e29290a20202020202020207c7c20636f6d70617265506f696e742866726f6d2c20746f29203c2030205e20646972656374696f6e203e203029207b0a202020202020646f2073747265616d2e706f696e742861203d3d3d2030207c7c2061203d3d3d2033203f207830203a2078312c2061203e2031203f207931203a207930293b0a2020202020207768696c6520282861203d202861202b20646972656374696f6e202b203429202520342920213d3d206131293b0a202020207d20656c7365207b0a20202020202073747265616d2e706f696e7428746f5b305d2c20746f5b315d293b0a202020207d0a20207d0a0a202066756e6374696f6e20636f726e657228702c20646972656374696f6e29207b0a2020202072657475726e2061627328705b305d202d20783029203c20657073696c6f6e203f20646972656374696f6e203e2030203f2030203a20330a20202020202020203a2061627328705b305d202d20783129203c20657073696c6f6e203f20646972656374696f6e203e2030203f2032203a20310a20202020202020203a2061627328705b315d202d20793029203c20657073696c6f6e203f20646972656374696f6e203e2030203f2031203a20300a20202020202020203a20646972656374696f6e203e2030203f2033203a20323b202f2f2061627328705b315d202d20793129203c20657073696c6f6e0a20207d0a0a202066756e6374696f6e20636f6d70617265496e74657273656374696f6e28612c206229207b0a2020202072657475726e20636f6d70617265506f696e7428612e782c20622e78293b0a20207d0a0a202066756e6374696f6e20636f6d70617265506f696e7428612c206229207b0a20202020766172206361203d20636f726e657228612c2031292c0a20202020202020206362203d20636f726e657228622c2031293b0a2020202072657475726e20636120213d3d206362203f206361202d2063620a20202020202020203a206361203d3d3d2030203f20625b315d202d20615b315d0a20202020202020203a206361203d3d3d2031203f20615b305d202d20625b305d0a20202020202020203a206361203d3d3d2032203f20615b315d202d20625b315d0a20202020202020203a20625b305d202d20615b305d3b0a20207d0a0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722061637469766553747265616d203d2073747265616d2c0a202020202020202062756666657253747265616d203d20636c697042756666657228292c0a20202020202020207365676d656e74732c0a2020202020202020706f6c79676f6e2c0a202020202020202072696e672c0a2020202020202020785f5f2c20795f5f2c20765f5f2c202f2f20666972737420706f696e740a2020202020202020785f2c20795f2c20765f2c202f2f2070726576696f757320706f696e740a202020202020202066697273742c0a2020202020202020636c65616e3b0a0a2020202076617220636c697053747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a20706f6c79676f6e53746172742c0a202020202020706f6c79676f6e456e643a20706f6c79676f6e456e640a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a2020202020206966202876697369626c6528782c207929292061637469766553747265616d2e706f696e7428782c2079293b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e496e736964652829207b0a2020202020207661722077696e64696e67203d20303b0a0a202020202020666f7220287661722069203d20302c206e203d20706f6c79676f6e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020202020666f7220287661722072696e67203d20706f6c79676f6e5b695d2c206a203d20312c206d203d2072696e672e6c656e6774682c20706f696e74203d2072696e675b305d2c2061302c2061312c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b206a203c206d3b202b2b6a29207b0a202020202020202020206130203d2062302c206131203d2062312c20706f696e74203d2072696e675b6a5d2c206230203d20706f696e745b305d2c206231203d20706f696e745b315d3b0a20202020202020202020696620286131203c3d20793129207b20696620286231203e20793120262620286230202d20613029202a20287931202d20613129203e20286231202d20613129202a20287830202d2061302929202b2b77696e64696e673b207d0a20202020202020202020656c7365207b20696620286231203c3d20793120262620286230202d20613029202a20287931202d20613129203c20286231202d20613129202a20287830202d2061302929202d2d77696e64696e673b207d0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e2077696e64696e673b0a202020207d0a0a202020202f2f204275666665722067656f6d657472792077697468696e206120706f6c79676f6e20616e64207468656e20636c697020697420656e206d617373652e0a2020202066756e6374696f6e20706f6c79676f6e53746172742829207b0a20202020202061637469766553747265616d203d2062756666657253747265616d2c207365676d656e7473203d205b5d2c20706f6c79676f6e203d205b5d2c20636c65616e203d20747275653b0a202020207d0a0a2020202066756e6374696f6e20706f6c79676f6e456e642829207b0a202020202020766172207374617274496e73696465203d20706f6c79676f6e496e7369646528292c0a20202020202020202020636c65616e496e73696465203d20636c65616e202626207374617274496e736964652c0a2020202020202020202076697369626c65203d20287365676d656e7473203d20643341727261792e6d65726765287365676d656e747329292e6c656e6774683b0a20202020202069662028636c65616e496e73696465207c7c2076697369626c6529207b0a202020202020202073747265616d2e706f6c79676f6e537461727428293b0a202020202020202069662028636c65616e496e7369646529207b0a2020202020202020202073747265616d2e6c696e65537461727428293b0a20202020202020202020696e746572706f6c617465286e756c6c2c206e756c6c2c20312c2073747265616d293b0a2020202020202020202073747265616d2e6c696e65456e6428293b0a20202020202020207d0a20202020202020206966202876697369626c6529207b0a20202020202020202020636c697052656a6f696e287365676d656e74732c20636f6d70617265496e74657273656374696f6e2c207374617274496e736964652c20696e746572706f6c6174652c2073747265616d293b0a20202020202020207d0a202020202020202073747265616d2e706f6c79676f6e456e6428293b0a2020202020207d0a20202020202061637469766553747265616d203d2073747265616d2c207365676d656e7473203d20706f6c79676f6e203d2072696e67203d206e756c6c3b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a202020202020636c697053747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202069662028706f6c79676f6e2920706f6c79676f6e2e707573682872696e67203d205b5d293b0a2020202020206669727374203d20747275653b0a202020202020765f203d2066616c73653b0a202020202020785f203d20795f203d204e614e3b0a202020207d0a0a202020202f2f20544f444f20726174686572207468616e207370656369616c2d6361736520706f6c79676f6e732c2073696d706c792068616e646c65207468656d2073657061726174656c792e0a202020202f2f20496465616c6c792c20636f696e636964656e7420696e74657273656374696f6e20706f696e74732073686f756c64206265206a6974746572656420746f2061766f69640a202020202f2f20636c697070696e67206973737565732e0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020696620287365676d656e747329207b0a20202020202020206c696e65506f696e7428785f5f2c20795f5f293b0a202020202020202069662028765f5f20262620765f292062756666657253747265616d2e72656a6f696e28293b0a20202020202020207365676d656e74732e707573682862756666657253747265616d2e726573756c742829293b0a2020202020207d0a202020202020636c697053747265616d2e706f696e74203d20706f696e743b0a20202020202069662028765f292061637469766553747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e7428782c207929207b0a2020202020207661722076203d2076697369626c6528782c2079293b0a20202020202069662028706f6c79676f6e292072696e672e70757368285b782c20795d293b0a20202020202069662028666972737429207b0a2020202020202020785f5f203d20782c20795f5f203d20792c20765f5f203d20763b0a20202020202020206669727374203d2066616c73653b0a2020202020202020696620287629207b0a2020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a2020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020696620287620262620765f292061637469766553747265616d2e706f696e7428782c2079293b0a2020202020202020656c7365207b0a202020202020202020207661722061203d205b785f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20785f29292c20795f203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c20795f29295d2c0a202020202020202020202020202062203d205b78203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207829292c2079203d204d6174682e6d617828636c69704d696e2c204d6174682e6d696e28636c69704d61782c207929295d3b0a2020202020202020202069662028636c69704c696e6528612c20622c2078302c2079302c2078312c2079312929207b0a2020202020202020202020206966202821765f29207b0a202020202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a202020202020202020202020202061637469766553747265616d2e706f696e7428615b305d2c20615b315d293b0a2020202020202020202020207d0a20202020202020202020202061637469766553747265616d2e706f696e7428625b305d2c20625b315d293b0a202020202020202020202020696620282176292061637469766553747265616d2e6c696e65456e6428293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d20656c736520696620287629207b0a20202020202020202020202061637469766553747265616d2e6c696e65537461727428293b0a20202020202020202020202061637469766553747265616d2e706f696e7428782c2079293b0a202020202020202020202020636c65616e203d2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020202020785f203d20782c20795f203d20792c20765f203d20763b0a202020207d0a0a2020202072657475726e20636c697053747265616d3b0a20207d3b0a7d0a0a76617220657874656e74203d2066756e6374696f6e2829207b0a2020766172207830203d20302c0a2020202020207930203d20302c0a2020202020207831203d203936302c0a2020202020207931203d203530302c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a202020202020636c69703b0a0a202072657475726e20636c6970203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d20636c697052656374616e676c652878302c2079302c2078312c2079312928636163686553747265616d203d2073747265616d293b0a202020207d2c0a20202020657874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d2c206361636865203d20636163686553747265616d203d206e756c6c2c20636c697029203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d0a20207d3b0a7d3b0a0a766172206c656e67746853756d203d20616464657228293b0a766172206c616d6264613024323b0a7661722073696e5068693024313b0a76617220636f735068693024313b0a0a766172206c656e67746853747265616d203d207b0a20207370686572653a206e6f6f702c0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206c656e6774684c696e6553746172742c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a206e6f6f702c0a2020706f6c79676f6e456e643a206e6f6f700a7d3b0a0a66756e6374696f6e206c656e6774684c696e6553746172742829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e7446697273743b0a20206c656e67746853747265616d2e6c696e65456e64203d206c656e6774684c696e65456e643b0a7d0a0a66756e6374696f6e206c656e6774684c696e65456e642829207b0a20206c656e67746853747265616d2e706f696e74203d206c656e67746853747265616d2e6c696e65456e64203d206e6f6f703b0a7d0a0a66756e6374696f6e206c656e677468506f696e744669727374286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e28706869292c20636f73506869302431203d20636f7328706869293b0a20206c656e67746853747265616d2e706f696e74203d206c656e677468506f696e743b0a7d0a0a66756e6374696f6e206c656e677468506f696e74286c616d6264612c2070686929207b0a20206c616d626461202a3d2072616469616e732c20706869202a3d2072616469616e733b0a20207661722073696e506869203d2073696e28706869292c0a202020202020636f73506869203d20636f7328706869292c0a20202020202064656c7461203d20616273286c616d626461202d206c616d626461302432292c0a202020202020636f7344656c7461203d20636f732864656c7461292c0a20202020202073696e44656c7461203d2073696e2864656c7461292c0a20202020202078203d20636f73506869202a2073696e44656c74612c0a20202020202079203d20636f73506869302431202a2073696e506869202d2073696e506869302431202a20636f73506869202a20636f7344656c74612c0a2020202020207a203d2073696e506869302431202a2073696e506869202b20636f73506869302431202a20636f73506869202a20636f7344656c74613b0a20206c656e67746853756d2e616464286174616e3228737172742878202a2078202b2079202a2079292c207a29293b0a20206c616d626461302432203d206c616d6264612c2073696e506869302431203d2073696e5068692c20636f73506869302431203d20636f735068693b0a7d0a0a766172206c656e677468203d2066756e6374696f6e286f626a65637429207b0a20206c656e67746853756d2e726573657428293b0a202067656f53747265616d286f626a6563742c206c656e67746853747265616d293b0a202072657475726e202b6c656e67746853756d3b0a7d3b0a0a76617220636f6f7264696e61746573203d205b6e756c6c2c206e756c6c5d3b0a766172206f626a656374203d207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b0a0a7661722064697374616e6365203d2066756e6374696f6e28612c206229207b0a2020636f6f7264696e617465735b305d203d20613b0a2020636f6f7264696e617465735b315d203d20623b0a202072657475726e206c656e677468286f626a656374293b0a7d3b0a0a76617220636f6e7461696e734f626a65637454797065203d207b0a2020466561747572653a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e7347656f6d65747279286f626a6563742e67656f6d657472792c20706f696e74293b0a20207d2c0a202046656174757265436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a20202020766172206665617475726573203d206f626a6563742e66656174757265732c2069203d202d312c206e203d2066656174757265732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792866656174757265735b695d2e67656f6d657472792c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a76617220636f6e7461696e7347656f6d6574727954797065203d207b0a20205370686572653a2066756e6374696f6e2829207b0a2020202072657475726e20747275653b0a20207d2c0a2020506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f696e74286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f696e743a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f696e7428636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a20204c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e734c696e65286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c74694c696e65537472696e673a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e734c696e6528636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a2020506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202072657475726e20636f6e7461696e73506f6c79676f6e286f626a6563742e636f6f7264696e617465732c20706f696e74293b0a20207d2c0a20204d756c7469506f6c79676f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a2020202076617220636f6f7264696e61746573203d206f626a6563742e636f6f7264696e617465732c2069203d202d312c206e203d20636f6f7264696e617465732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e73506f6c79676f6e28636f6f7264696e617465735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d2c0a202047656f6d65747279436f6c6c656374696f6e3a2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202020207661722067656f6d657472696573203d206f626a6563742e67656f6d6574726965732c2069203d202d312c206e203d2067656f6d6574726965732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028636f6e7461696e7347656f6d657472792867656f6d6574726965735b695d2c20706f696e7429292072657475726e20747275653b0a2020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20636f6e7461696e7347656f6d657472792867656f6d657472792c20706f696e7429207b0a202072657475726e2067656f6d6574727920262620636f6e7461696e7347656f6d65747279547970652e6861734f776e50726f70657274792867656f6d657472792e74797065290a2020202020203f20636f6e7461696e7347656f6d65747279547970655b67656f6d657472792e747970655d2867656f6d657472792c20706f696e74290a2020202020203a2066616c73653b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f696e7428636f6f7264696e617465732c20706f696e7429207b0a202072657475726e2064697374616e636528636f6f7264696e617465732c20706f696e7429203d3d3d20303b0a7d0a0a66756e6374696f6e20636f6e7461696e734c696e6528636f6f7264696e617465732c20706f696e7429207b0a2020766172206162203d2064697374616e636528636f6f7264696e617465735b305d2c20636f6f7264696e617465735b315d292c0a202020202020616f203d2064697374616e636528636f6f7264696e617465735b305d2c20706f696e74292c0a2020202020206f62203d2064697374616e636528706f696e742c20636f6f7264696e617465735b315d293b0a202072657475726e20616f202b206f62203c3d206162202b20657073696c6f6e3b0a7d0a0a66756e6374696f6e20636f6e7461696e73506f6c79676f6e28636f6f7264696e617465732c20706f696e7429207b0a202072657475726e202121706f6c79676f6e436f6e7461696e7328636f6f7264696e617465732e6d61702872696e6752616469616e73292c20706f696e7452616469616e7328706f696e7429293b0a7d0a0a66756e6374696f6e2072696e6752616469616e732872696e6729207b0a202072657475726e2072696e67203d2072696e672e6d617028706f696e7452616469616e73292c2072696e672e706f7028292c2072696e673b0a7d0a0a66756e6374696f6e20706f696e7452616469616e7328706f696e7429207b0a202072657475726e205b706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e735d3b0a7d0a0a76617220636f6e7461696e73203d2066756e6374696f6e286f626a6563742c20706f696e7429207b0a202072657475726e20286f626a65637420262620636f6e7461696e734f626a656374547970652e6861734f776e50726f7065727479286f626a6563742e74797065290a2020202020203f20636f6e7461696e734f626a656374547970655b6f626a6563742e747970655d0a2020202020203a20636f6e7461696e7347656f6d6574727929286f626a6563742c20706f696e74293b0a7d3b0a0a66756e6374696f6e20677261746963756c65582879302c2079312c20647929207b0a20207661722079203d20643341727261792e72616e67652879302c207931202d20657073696c6f6e2c206479292e636f6e636174287931293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e20792e6d61702866756e6374696f6e287929207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c65592878302c2078312c20647829207b0a20207661722078203d20643341727261792e72616e67652878302c207831202d20657073696c6f6e2c206478292e636f6e636174287831293b0a202072657475726e2066756e6374696f6e287929207b2072657475726e20782e6d61702866756e6374696f6e287829207b2072657475726e205b782c20795d3b207d293b207d3b0a7d0a0a66756e6374696f6e20677261746963756c652829207b0a20207661722078312c2078302c2058312c2058302c0a20202020202079312c2079302c2059312c2059302c0a2020202020206478203d2031302c206479203d2064782c204458203d2039302c204459203d203336302c0a202020202020782c20792c20582c20592c0a202020202020707265636973696f6e203d20322e353b0a0a202066756e6374696f6e20677261746963756c652829207b0a2020202072657475726e207b747970653a20224d756c74694c696e65537472696e67222c20636f6f7264696e617465733a206c696e657328297d3b0a20207d0a0a202066756e6374696f6e206c696e65732829207b0a2020202072657475726e20643341727261792e72616e6765286365696c285830202f20445829202a2044582c2058312c204458292e6d61702858290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c285930202f20445929202a2044592c2059312c204459292e6d6170285929290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c287830202f20647829202a2064782c2078312c206478292e66696c7465722866756e6374696f6e287829207b2072657475726e206162732878202520445829203e20657073696c6f6e3b207d292e6d6170287829290a20202020202020202e636f6e63617428643341727261792e72616e6765286365696c287930202f20647929202a2064792c2079312c206479292e66696c7465722866756e6374696f6e287929207b2072657475726e206162732879202520445929203e20657073696c6f6e3b207d292e6d6170287929293b0a20207d0a0a2020677261746963756c652e6c696e6573203d2066756e6374696f6e2829207b0a2020202072657475726e206c696e657328292e6d61702866756e6374696f6e28636f6f7264696e6174657329207b2072657475726e207b747970653a20224c696e65537472696e67222c20636f6f7264696e617465733a20636f6f7264696e617465737d3b207d293b0a20207d3b0a0a2020677261746963756c652e6f75746c696e65203d2066756e6374696f6e2829207b0a2020202072657475726e207b0a202020202020747970653a2022506f6c79676f6e222c0a202020202020636f6f7264696e617465733a205b0a202020202020202058285830292e636f6e636174280a202020202020202059285931292e736c6963652831292c0a202020202020202058285831292e7265766572736528292e736c6963652831292c0a202020202020202059285930292e7265766572736528292e736c696365283129290a2020202020205d0a202020207d3b0a20207d3b0a0a2020677261746963756c652e657874656e74203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e657874656e744d696e6f7228293b0a2020202072657475726e20677261746963756c652e657874656e744d616a6f72285f292e657874656e744d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e657874656e744d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b58302c2059305d2c205b58312c2059315d5d3b0a202020205830203d202b5f5b305d5b305d2c205831203d202b5f5b315d5b305d3b0a202020205930203d202b5f5b305d5b315d2c205931203d202b5f5b315d5b315d3b0a20202020696620285830203e20583129205f203d2058302c205830203d2058312c205831203d205f3b0a20202020696620285930203e20593129205f203d2059302c205930203d2059312c205931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e657874656e744d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207830203d202b5f5b305d5b305d2c207831203d202b5f5b315d5b305d3b0a202020207930203d202b5f5b305d5b315d2c207931203d202b5f5b315d5b315d3b0a20202020696620287830203e20783129205f203d2078302c207830203d2078312c207831203d205f3b0a20202020696620287930203e20793129205f203d2079302c207930203d2079312c207931203d205f3b0a2020202072657475726e20677261746963756c652e707265636973696f6e28707265636973696f6e293b0a20207d3b0a0a2020677261746963756c652e73746570203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20677261746963756c652e737465704d696e6f7228293b0a2020202072657475726e20677261746963756c652e737465704d616a6f72285f292e737465704d696e6f72285f293b0a20207d3b0a0a2020677261746963756c652e737465704d616a6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b44582c2044595d3b0a202020204458203d202b5f5b305d2c204459203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e737465704d696e6f72203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e205b64782c2064795d3b0a202020206478203d202b5f5b305d2c206479203d202b5f5b315d3b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a2020677261746963756c652e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20707265636973696f6e3b0a20202020707265636973696f6e203d202b5f3b0a2020202078203d20677261746963756c65582879302c2079312c203930293b0a2020202079203d20677261746963756c65592878302c2078312c20707265636973696f6e293b0a2020202058203d20677261746963756c65582859302c2059312c203930293b0a2020202059203d20677261746963756c65592858302c2058312c20707265636973696f6e293b0a2020202072657475726e20677261746963756c653b0a20207d3b0a0a202072657475726e20677261746963756c650a2020202020202e657874656e744d616a6f72285b5b2d3138302c202d3930202b20657073696c6f6e5d2c205b3138302c203930202d20657073696c6f6e5d5d290a2020202020202e657874656e744d696e6f72285b5b2d3138302c202d3830202d20657073696c6f6e5d2c205b3138302c203830202b20657073696c6f6e5d5d293b0a7d0a0a66756e6374696f6e20677261746963756c6531302829207b0a202072657475726e20677261746963756c65282928293b0a7d0a0a76617220696e746572706f6c617465203d2066756e6374696f6e28612c206229207b0a2020766172207830203d20615b305d202a2072616469616e732c0a2020202020207930203d20615b315d202a2072616469616e732c0a2020202020207831203d20625b305d202a2072616469616e732c0a2020202020207931203d20625b315d202a2072616469616e732c0a202020202020637930203d20636f73287930292c0a202020202020737930203d2073696e287930292c0a202020202020637931203d20636f73287931292c0a202020202020737931203d2073696e287931292c0a2020202020206b7830203d20637930202a20636f73287830292c0a2020202020206b7930203d20637930202a2073696e287830292c0a2020202020206b7831203d20637931202a20636f73287831292c0a2020202020206b7931203d20637931202a2073696e287831292c0a20202020202064203d2032202a206173696e287371727428686176657273696e287931202d20793029202b20637930202a20637931202a20686176657273696e287831202d2078302929292c0a2020202020206b203d2073696e2864293b0a0a202076617220696e746572706f6c617465203d2064203f2066756e6374696f6e287429207b0a202020207661722042203d2073696e2874202a3d206429202f206b2c0a202020202020202041203d2073696e2864202d207429202f206b2c0a202020202020202078203d2041202a206b7830202b2042202a206b78312c0a202020202020202079203d2041202a206b7930202b2042202a206b79312c0a20202020202020207a203d2041202a20737930202b2042202a207379313b0a2020202072657475726e205b0a2020202020206174616e3228792c207829202a20646567726565732c0a2020202020206174616e32287a2c20737172742878202a2078202b2079202a20792929202a20646567726565730a202020205d3b0a20207d203a2066756e6374696f6e2829207b0a2020202072657475726e205b7830202a20646567726565732c207930202a20646567726565735d3b0a20207d3b0a0a2020696e746572706f6c6174652e64697374616e6365203d20643b0a0a202072657475726e20696e746572706f6c6174653b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e287829207b0a202072657475726e20783b0a7d3b0a0a766172206172656153756d2431203d20616464657228293b0a766172206172656152696e6753756d2431203d20616464657228293b0a766172207830303b0a766172207930303b0a76617220783024313b0a76617220793024313b0a0a766172206172656153747265616d2431203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656152696e67537461727424313b0a202020206172656153747265616d24312e6c696e65456e64203d206172656152696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206172656153747265616d24312e6c696e655374617274203d206172656153747265616d24312e6c696e65456e64203d206172656153747265616d24312e706f696e74203d206e6f6f703b0a202020206172656153756d24312e61646428616273286172656152696e6753756d243129293b0a202020206172656152696e6753756d24312e726573657428293b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722061726561203d206172656153756d2431202f20323b0a202020206172656153756d24312e726573657428293b0a2020202072657475726e20617265613b0a20207d0a7d3b0a0a66756e6374696f6e206172656152696e67537461727424312829207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e74466972737424313b0a7d0a0a66756e6374696f6e2061726561506f696e744669727374243128782c207929207b0a20206172656153747265616d24312e706f696e74203d2061726561506f696e7424313b0a2020783030203d2078302431203d20782c20793030203d2079302431203d20793b0a7d0a0a66756e6374696f6e2061726561506f696e74243128782c207929207b0a20206172656152696e6753756d24312e6164642879302431202a2078202d2078302431202a2079293b0a202078302431203d20782c2079302431203d20793b0a7d0a0a66756e6374696f6e206172656152696e67456e6424312829207b0a202061726561506f696e742431287830302c20793030293b0a7d0a0a7661722078302432203d20496e66696e6974793b0a7661722079302432203d20783024323b0a766172207831203d202d783024323b0a766172207931203d2078313b0a0a76617220626f756e647353747265616d2431203d207b0a2020706f696e743a20626f756e6473506f696e7424312c0a20206c696e6553746172743a206e6f6f702c0a20206c696e65456e643a206e6f6f702c0a2020706f6c79676f6e53746172743a206e6f6f702c0a2020706f6c79676f6e456e643a206e6f6f702c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202076617220626f756e6473203d205b5b783024322c20793024325d2c205b78312c2079315d5d3b0a202020207831203d207931203d202d2879302432203d2078302432203d20496e66696e697479293b0a2020202072657475726e20626f756e64733b0a20207d0a7d3b0a0a66756e6374696f6e20626f756e6473506f696e74243128782c207929207b0a20206966202878203c2078302432292078302432203d20783b0a20206966202878203e20783129207831203d20783b0a20206966202879203c2079302432292079302432203d20793b0a20206966202879203e20793129207931203d20793b0a7d0a0a2f2f20544f444f20456e666f72636520706f736974697665206172656120666f72206578746572696f722c206e65676174697665206172656120666f7220696e746572696f723f0a0a7661722058302431203d20303b0a7661722059302431203d20303b0a766172205a302431203d20303b0a7661722058312431203d20303b0a7661722059312431203d20303b0a766172205a312431203d20303b0a7661722058322431203d20303b0a7661722059322431203d20303b0a766172205a322431203d20303b0a7661722078303024313b0a7661722079303024313b0a76617220783024333b0a76617220793024333b0a0a7661722063656e74726f696453747265616d2431203d207b0a2020706f696e743a2063656e74726f6964506f696e7424312c0a20206c696e6553746172743a2063656e74726f69644c696e65537461727424312c0a20206c696e65456e643a2063656e74726f69644c696e65456e6424312c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f696452696e67537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f696452696e67456e6424313b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a2020202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a2020202063656e74726f696453747265616d24312e6c696e655374617274203d2063656e74726f69644c696e65537461727424313b0a2020202063656e74726f696453747265616d24312e6c696e65456e64203d2063656e74726f69644c696e65456e6424313b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a202020207661722063656e74726f6964203d205a322431203f205b58322431202f205a3224312c2059322431202f205a3224315d0a20202020202020203a205a312431203f205b58312431202f205a3124312c2059312431202f205a3124315d0a20202020202020203a205a302431203f205b58302431202f205a3024312c2059302431202f205a3024315d0a20202020202020203a205b4e614e2c204e614e5d3b0a2020202058302431203d2059302431203d205a302431203d0a2020202058312431203d2059312431203d205a312431203d0a2020202058322431203d2059322431203d205a322431203d20303b0a2020202072657475726e2063656e74726f69643b0a20207d0a7d3b0a0a66756e6374696f6e2063656e74726f6964506f696e74243128782c207929207b0a202058302431202b3d20783b0a202059302431202b3d20793b0a20202b2b5a3024313b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7446697273744c696e653b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7446697273744c696e6528782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e744c696e653b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e744c696e6528782c207929207b0a2020766172206478203d2078202d20783024332c206479203d2079202d20793024332c207a203d2073717274286478202a206478202b206479202a206479293b0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f69644c696e65456e6424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7424313b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67537461727424312829207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e74466972737452696e673b0a7d0a0a66756e6374696f6e2063656e74726f696452696e67456e6424312829207b0a202063656e74726f6964506f696e7452696e672878303024312c207930302431293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e74466972737452696e6728782c207929207b0a202063656e74726f696453747265616d24312e706f696e74203d2063656e74726f6964506f696e7452696e673b0a202063656e74726f6964506f696e742431287830302431203d2078302433203d20782c207930302431203d2079302433203d2079293b0a7d0a0a66756e6374696f6e2063656e74726f6964506f696e7452696e6728782c207929207b0a2020766172206478203d2078202d20783024332c0a2020202020206479203d2079202d20793024332c0a2020202020207a203d2073717274286478202a206478202b206479202a206479293b0a0a202058312431202b3d207a202a202878302433202b207829202f20323b0a202059312431202b3d207a202a202879302433202b207929202f20323b0a20205a312431202b3d207a3b0a0a20207a203d2079302433202a2078202d2078302433202a20793b0a202058322431202b3d207a202a202878302433202b2078293b0a202059322431202b3d207a202a202879302433202b2079293b0a20205a322431202b3d207a202a20333b0a202063656e74726f6964506f696e7424312878302433203d20782c2079302433203d2079293b0a7d0a0a66756e6374696f6e2050617468436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a50617468436f6e746578742e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202072657475726e20746869732e5f726164697573203d205f2c20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2878202b20746869732e5f7261646975732c2079293b0a2020202020202020746869732e5f636f6e746578742e61726328782c20792c20746869732e5f7261646975732c20302c20746175293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a206e6f6f700a7d3b0a0a766172206c656e67746853756d2431203d20616464657228293b0a766172206c656e67746852696e673b0a7661722078303024323b0a7661722079303024323b0a76617220783024343b0a76617220793024343b0a0a766172206c656e67746853747265616d2431203d207b0a2020706f696e743a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a202020206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e74466972737424313b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020696620286c656e67746852696e6729206c656e677468506f696e7424312878303024322c207930302432293b0a202020206c656e67746853747265616d24312e706f696e74203d206e6f6f703b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d20747275653b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a202020206c656e67746852696e67203d206e756c6c3b0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a20202020766172206c656e677468203d202b6c656e67746853756d24313b0a202020206c656e67746853756d24312e726573657428293b0a2020202072657475726e206c656e6774683b0a20207d0a7d3b0a0a66756e6374696f6e206c656e677468506f696e744669727374243128782c207929207b0a20206c656e67746853747265616d24312e706f696e74203d206c656e677468506f696e7424313b0a20207830302432203d2078302434203d20782c207930302432203d2079302434203d20793b0a7d0a0a66756e6374696f6e206c656e677468506f696e74243128782c207929207b0a202078302434202d3d20782c2079302434202d3d20793b0a20206c656e67746853756d24312e61646428737172742878302434202a2078302434202b2079302434202a207930243429293b0a202078302434203d20782c2079302434203d20793b0a7d0a0a66756e6374696f6e2050617468537472696e672829207b0a2020746869732e5f737472696e67203d205b5d3b0a7d0a0a50617468537472696e672e70726f746f74797065203d207b0a20205f7261646975733a20342e352c0a20205f636972636c653a20636972636c65243128342e35292c0a2020706f696e745261646975733a2066756e6374696f6e285f29207b0a2020202069662028285f203d202b5f2920213d3d20746869732e5f7261646975732920746869732e5f726164697573203d205f2c20746869732e5f636972636c65203d206e756c6c3b0a2020202072657475726e20746869733b0a20207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65203d3d3d20302920746869732e5f737472696e672e7075736828225a22293b0a20202020746869732e5f706f696e74203d204e614e3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a207b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c2079293b0a2020202020202020746869732e5f706f696e74203d20313b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020746869732e5f737472696e672e7075736828224c222c20782c20222c222c2079293b0a2020202020202020627265616b3b0a2020202020207d0a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f636972636c65203d3d206e756c6c2920746869732e5f636972636c65203d20636972636c65243128746869732e5f726164697573293b0a2020202020202020746869732e5f737472696e672e7075736828224d222c20782c20222c222c20792c20746869732e5f636972636c65293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020726573756c743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f737472696e672e6c656e67746829207b0a20202020202076617220726573756c74203d20746869732e5f737472696e672e6a6f696e282222293b0a202020202020746869732e5f737472696e67203d205b5d3b0a20202020202072657475726e20726573756c743b0a202020207d20656c7365207b0a20202020202072657475726e206e756c6c3b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e20636972636c6524312872616469757329207b0a202072657475726e20226d302c22202b207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b202d32202a207261646975730a2020202020202b20226122202b20726164697573202b20222c22202b20726164697573202b2022203020312c3120302c22202b2032202a207261646975730a2020202020202b20227a223b0a7d0a0a76617220696e646578203d2066756e6374696f6e2870726f6a656374696f6e2c20636f6e7465787429207b0a202076617220706f696e74526164697573203d20342e352c0a20202020202070726f6a656374696f6e53747265616d2c0a202020202020636f6e7465787453747265616d3b0a0a202066756e6374696f6e2070617468286f626a65637429207b0a20202020696620286f626a65637429207b0a20202020202069662028747970656f6620706f696e74526164697573203d3d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e74526164697573282b706f696e745261646975732e6170706c7928746869732c20617267756d656e747329293b0a20202020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28636f6e7465787453747265616d29293b0a202020207d0a2020202072657475726e20636f6e7465787453747265616d2e726573756c7428293b0a20207d0a0a2020706174682e61726561203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286172656153747265616d243129293b0a2020202072657475726e206172656153747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e6d656173757265203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d286c656e67746853747265616d243129293b0a2020202072657475726e206c656e67746853747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e626f756e6473203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d28626f756e647353747265616d243129293b0a2020202072657475726e20626f756e647353747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e63656e74726f6964203d2066756e6374696f6e286f626a65637429207b0a2020202067656f53747265616d286f626a6563742c2070726f6a656374696f6e53747265616d2863656e74726f696453747265616d243129293b0a2020202072657475726e2063656e74726f696453747265616d24312e726573756c7428293b0a20207d3b0a0a2020706174682e70726f6a656374696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374696f6e53747265616d203d205f203d3d206e756c6c203f202870726f6a656374696f6e203d206e756c6c2c206964656e7469747929203a202870726f6a656374696f6e203d205f292e73747265616d2c207061746829203a2070726f6a656374696f6e3b0a20207d3b0a0a2020706174682e636f6e74657874203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20636f6e746578743b0a20202020636f6e7465787453747265616d203d205f203d3d206e756c6c203f2028636f6e74657874203d206e756c6c2c206e65772050617468537472696e6729203a206e65772050617468436f6e7465787428636f6e74657874203d205f293b0a2020202069662028747970656f6620706f696e7452616469757320213d3d202266756e6374696f6e222920636f6e7465787453747265616d2e706f696e7452616469757328706f696e74526164697573293b0a2020202072657475726e20706174683b0a20207d3b0a0a2020706174682e706f696e74526164697573203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20706f696e745261646975733b0a20202020706f696e74526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a2028636f6e7465787453747265616d2e706f696e74526164697573282b5f292c202b5f293b0a2020202072657475726e20706174683b0a20207d3b0a0a202072657475726e20706174682e70726f6a656374696f6e2870726f6a656374696f6e292e636f6e7465787428636f6e74657874293b0a7d3b0a0a766172207472616e73666f726d203d2066756e6374696f6e286d6574686f647329207b0a202072657475726e207b0a2020202073747265616d3a207472616e73666f726d6572286d6574686f6473290a20207d3b0a7d3b0a0a66756e6374696f6e207472616e73666f726d6572286d6574686f647329207b0a202072657475726e2066756e6374696f6e2873747265616d29207b0a202020207661722073203d206e6577205472616e73666f726d53747265616d3b0a20202020666f722028766172206b657920696e206d6574686f64732920735b6b65795d203d206d6574686f64735b6b65795d3b0a20202020732e73747265616d203d2073747265616d3b0a2020202072657475726e20733b0a20207d3b0a7d0a0a66756e6374696f6e205472616e73666f726d53747265616d2829207b7d0a0a5472616e73666f726d53747265616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d53747265616d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b20746869732e73747265616d2e706f696e7428782c2079293b207d2c0a20207370686572653a2066756e6374696f6e2829207b20746869732e73747265616d2e73706865726528293b207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65537461727428293b207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e6c696e65456e6428293b207d2c0a2020706f6c79676f6e53746172743a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e537461727428293b207d2c0a2020706f6c79676f6e456e643a2066756e6374696f6e2829207b20746869732e73747265616d2e706f6c79676f6e456e6428293b207d0a7d3b0a0a66756e6374696f6e206669742870726f6a656374696f6e2c20666974426f756e64732c206f626a65637429207b0a202076617220636c6970203d2070726f6a656374696f6e2e636c6970457874656e742026262070726f6a656374696f6e2e636c6970457874656e7428293b0a202070726f6a656374696f6e2e7363616c6528313530292e7472616e736c617465285b302c20305d293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e74286e756c6c293b0a202067656f53747265616d286f626a6563742c2070726f6a656374696f6e2e73747265616d28626f756e647353747265616d243129293b0a2020666974426f756e647328626f756e647353747265616d24312e726573756c742829293b0a202069662028636c697020213d206e756c6c292070726f6a656374696f6e2e636c6970457874656e7428636c6970293b0a202072657475726e2070726f6a656374696f6e3b0a7d0a0a66756e6374696f6e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d20657874656e745b315d5b305d202d20657874656e745b305d5b305d2c0a202020202020202068203d20657874656e745b315d5b315d202d20657874656e745b305d5b315d2c0a20202020202020206b203d204d6174682e6d696e2877202f2028625b315d5b305d202d20625b305d5b305d292c2068202f2028625b315d5b315d202d20625b305d5b315d29292c0a202020202020202078203d202b657874656e745b305d5b305d202b202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202b657874656e745b305d5b315d202b202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a65637429207b0a202072657475726e20666974457874656e742870726f6a656374696f6e2c205b5b302c20305d2c2073697a655d2c206f626a656374293b0a7d0a0a66756e6374696f6e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722077203d202b77696474682c0a20202020202020206b203d2077202f2028625b315d5b305d202d20625b305d5b305d292c0a202020202020202078203d202877202d206b202a2028625b315d5b305d202b20625b305d5b305d2929202f20322c0a202020202020202079203d202d6b202a20625b305d5b315d3b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a66756e6374696f6e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a65637429207b0a202072657475726e206669742870726f6a656374696f6e2c2066756e6374696f6e286229207b0a202020207661722068203d202b6865696768742c0a20202020202020206b203d2068202f2028625b315d5b315d202d20625b305d5b315d292c0a202020202020202078203d202d6b202a20625b305d5b305d2c0a202020202020202079203d202868202d206b202a2028625b315d5b315d202b20625b305d5b315d2929202f20323b0a2020202070726f6a656374696f6e2e7363616c6528313530202a206b292e7472616e736c617465285b782c20795d293b0a20207d2c206f626a656374293b0a7d0a0a766172206d61784465707468203d2031363b0a76617220636f734d696e44697374616e6365203d20636f73283330202a2072616469616e73293b202f2f20636f73286d696e696d756d20616e67756c61722064697374616e6365290a0a76617220726573616d706c65203d2066756e6374696f6e2870726f6a6563742c2064656c74613229207b0a202072657475726e202b64656c746132203f20726573616d706c6524312870726f6a6563742c2064656c74613229203a20726573616d706c654e6f6e652870726f6a656374293b0a7d3b0a0a66756e6374696f6e20726573616d706c654e6f6e652870726f6a65637429207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a202020202020746869732e73747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20726573616d706c6524312870726f6a6563742c2064656c74613229207b0a0a202066756e6374696f6e20726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d29207b0a20202020766172206478203d207831202d2078302c0a20202020202020206479203d207931202d2079302c0a20202020202020206432203d206478202a206478202b206479202a2064793b0a20202020696620286432203e2034202a2064656c7461322026262064657074682d2d29207b0a2020202020207661722061203d206130202b2061312c0a2020202020202020202062203d206230202b2062312c0a2020202020202020202063203d206330202b2063312c0a202020202020202020206d203d20737172742861202a2061202b2062202a2062202b2063202a2063292c0a2020202020202020202070686932203d206173696e2863202f3d206d292c0a202020202020202020206c616d62646132203d2061627328616273286329202d203129203c20657073696c6f6e207c7c20616273286c616d62646130202d206c616d6264613129203c20657073696c6f6e203f20286c616d62646130202b206c616d6264613129202f2032203a206174616e3228622c2061292c0a2020202020202020202070203d2070726f6a656374286c616d626461322c2070686932292c0a202020202020202020207832203d20705b305d2c0a202020202020202020207932203d20705b315d2c0a20202020202020202020647832203d207832202d2078302c0a20202020202020202020647932203d207932202d2079302c0a20202020202020202020647a203d206479202a20647832202d206478202a206479323b0a20202020202069662028647a202a20647a202f206432203e2064656c746132202f2f2070657270656e646963756c61722070726f6a65637465642064697374616e63650a202020202020202020207c7c2061627328286478202a20647832202b206479202a2064793229202f206432202d20302e3529203e20302e33202f2f206d6964706f696e7420636c6f736520746f20616e20656e640a202020202020202020207c7c206130202a206131202b206230202a206231202b206330202a206331203c20636f734d696e44697374616e636529207b202f2f20616e67756c61722064697374616e63650a2020202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c2078322c2079322c206c616d626461322c2061202f3d206d2c2062202f3d206d2c20632c2064657074682c2073747265616d293b0a202020202020202073747265616d2e706f696e742878322c207932293b0a2020202020202020726573616d706c654c696e65546f2878322c2079322c206c616d626461322c20612c20622c20632c2078312c2079312c206c616d626461312c2061312c2062312c2063312c2064657074682c2073747265616d293b0a2020202020207d0a202020207d0a20207d0a202072657475726e2066756e6374696f6e2873747265616d29207b0a20202020766172206c616d62646130302c207830302c207930302c206130302c206230302c206330302c202f2f20666972737420706f696e740a20202020202020206c616d626461302c2078302c2079302c2061302c2062302c2063303b202f2f2070726576696f757320706f696e740a0a2020202076617220726573616d706c6553747265616d203d207b0a202020202020706f696e743a20706f696e742c0a2020202020206c696e6553746172743a206c696e6553746172742c0a2020202020206c696e65456e643a206c696e65456e642c0a202020202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e537461727428293b20726573616d706c6553747265616d2e6c696e655374617274203d2072696e6753746172743b207d2c0a202020202020706f6c79676f6e456e643a2066756e6374696f6e2829207b2073747265616d2e706f6c79676f6e456e6428293b20726573616d706c6553747265616d2e6c696e655374617274203d206c696e6553746172743b207d0a202020207d3b0a0a2020202066756e6374696f6e20706f696e7428782c207929207b0a20202020202078203d2070726f6a65637428782c2079293b0a20202020202073747265616d2e706f696e7428785b305d2c20785b315d293b0a202020207d0a0a2020202066756e6374696f6e206c696e6553746172742829207b0a2020202020207830203d204e614e3b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a20202020202073747265616d2e6c696e65537461727428293b0a202020207d0a0a2020202066756e6374696f6e206c696e65506f696e74286c616d6264612c2070686929207b0a2020202020207661722063203d2063617274657369616e285b6c616d6264612c207068695d292c2070203d2070726f6a656374286c616d6264612c20706869293b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830203d20705b305d2c207930203d20705b315d2c206c616d62646130203d206c616d6264612c206130203d20635b305d2c206230203d20635b315d2c206330203d20635b325d2c206d617844657074682c2073747265616d293b0a20202020202073747265616d2e706f696e742878302c207930293b0a202020207d0a0a2020202066756e6374696f6e206c696e65456e642829207b0a202020202020726573616d706c6553747265616d2e706f696e74203d20706f696e743b0a20202020202073747265616d2e6c696e65456e6428293b0a202020207d0a0a2020202066756e6374696f6e2072696e6753746172742829207b0a2020202020206c696e65537461727428293b0a202020202020726573616d706c6553747265616d2e706f696e74203d2072696e67506f696e743b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d2072696e67456e643b0a202020207d0a0a2020202066756e6374696f6e2072696e67506f696e74286c616d6264612c2070686929207b0a2020202020206c696e65506f696e74286c616d6264613030203d206c616d6264612c20706869292c20783030203d2078302c20793030203d2079302c20613030203d2061302c20623030203d2062302c20633030203d2063303b0a202020202020726573616d706c6553747265616d2e706f696e74203d206c696e65506f696e743b0a202020207d0a0a2020202066756e6374696f6e2072696e67456e642829207b0a202020202020726573616d706c654c696e65546f2878302c2079302c206c616d626461302c2061302c2062302c2063302c207830302c207930302c206c616d62646130302c206130302c206230302c206330302c206d617844657074682c2073747265616d293b0a202020202020726573616d706c6553747265616d2e6c696e65456e64203d206c696e65456e643b0a2020202020206c696e65456e6428293b0a202020207d0a0a2020202072657475726e20726573616d706c6553747265616d3b0a20207d3b0a7d0a0a766172207472616e73666f726d52616469616e73203d207472616e73666f726d6572287b0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e73747265616d2e706f696e742878202a2072616469616e732c2079202a2072616469616e73293b0a20207d0a7d293b0a0a66756e6374696f6e207472616e73666f726d526f7461746528726f7461746529207b0a202072657475726e207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a2020202020207661722072203d20726f7461746528782c2079293b0a20202020202072657475726e20746869732e73747265616d2e706f696e7428725b305d2c20725b315d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e2870726f6a65637429207b0a202072657475726e2070726f6a656374696f6e4d757461746f722866756e6374696f6e2829207b2072657475726e2070726f6a6563743b207d2928293b0a7d0a0a66756e6374696f6e2070726f6a656374696f6e4d757461746f722870726f6a656374417429207b0a20207661722070726f6a6563742c0a2020202020206b203d203135302c202f2f207363616c650a20202020202078203d203438302c2079203d203235302c202f2f207472616e736c6174650a20202020202064782c2064792c206c616d626461203d20302c20706869203d20302c202f2f2063656e7465720a20202020202064656c74614c616d626461203d20302c2064656c7461506869203d20302c2064656c746147616d6d61203d20302c20726f746174652c2070726f6a656374526f746174652c202f2f20726f746174650a2020202020207468657461203d206e756c6c2c20707265636c6970203d20636c6970416e74696d6572696469616e2c202f2f20636c697020616e676c650a2020202020207830203d206e756c6c2c2079302c2078312c2079312c20706f7374636c6970203d206964656e746974792c202f2f20636c697020657874656e740a20202020202064656c746132203d20302e352c2070726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132292c202f2f20707265636973696f6e0a20202020202063616368652c0a202020202020636163686553747265616d3b0a0a202066756e6374696f6e2070726f6a656374696f6e28706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f7461746528706f696e745b305d202a2072616469616e732c20706f696e745b315d202a2072616469616e73293b0a2020202072657475726e205b706f696e745b305d202a206b202b2064782c206479202d20706f696e745b315d202a206b5d3b0a20207d0a0a202066756e6374696f6e20696e7665727428706f696e7429207b0a20202020706f696e74203d2070726f6a656374526f746174652e696e766572742828706f696e745b305d202d20647829202f206b2c20286479202d20706f696e745b315d29202f206b293b0a2020202072657475726e20706f696e74202626205b706f696e745b305d202a20646567726565732c20706f696e745b315d202a20646567726565735d3b0a20207d0a0a202066756e6374696f6e2070726f6a6563745472616e73666f726d28782c207929207b0a2020202072657475726e2078203d2070726f6a65637428782c2079292c205b785b305d202a206b202b2064782c206479202d20785b315d202a206b5d3b0a20207d0a0a202070726f6a656374696f6e2e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d52616469616e73287472616e73666f726d526f7461746528726f746174652928707265636c69702870726f6a656374526573616d706c6528706f7374636c697028636163686553747265616d203d2073747265616d29292929293b0a20207d3b0a0a202070726f6a656374696f6e2e707265636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d205f2c207468657461203d20756e646566696e65642c207265736574282929203a20707265636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e706f7374636c6970203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028707265636c6970203d202b5f203f20636c6970436972636c65287468657461203d205f202a2072616469616e7329203a20287468657461203d206e756c6c2c20636c6970416e74696d6572696469616e292c207265736574282929203a207468657461202a20646567726565733b0a20207d3b0a0a202070726f6a656374696f6e2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e7469747929203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202070726f6a656374696f6e2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b203d202b5f2c20726563656e746572282929203a206b3b0a20207d3b0a0a202070726f6a656374696f6e2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878203d202b5f5b305d2c2079203d202b5f5b315d2c20726563656e746572282929203a205b782c20795d3b0a20207d3b0a0a202070726f6a656374696f6e2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286c616d626461203d205f5b305d202520333630202a2072616469616e732c20706869203d205f5b315d202520333630202a2072616469616e732c20726563656e746572282929203a205b6c616d626461202a20646567726565732c20706869202a20646567726565735d3b0a20207d3b0a0a202070726f6a656374696f6e2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202864656c74614c616d626461203d205f5b305d202520333630202a2072616469616e732c2064656c7461506869203d205f5b315d202520333630202a2072616469616e732c2064656c746147616d6d61203d205f2e6c656e677468203e2032203f205f5b325d202520333630202a2072616469616e73203a20302c20726563656e746572282929203a205b64656c74614c616d626461202a20646567726565732c2064656c7461506869202a20646567726565732c2064656c746147616d6d61202a20646567726565735d3b0a20207d3b0a0a202070726f6a656374696f6e2e707265636973696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870726f6a656374526573616d706c65203d20726573616d706c652870726f6a6563745472616e73666f726d2c2064656c746132203d205f202a205f292c207265736574282929203a20737172742864656c746132293b0a20207d3b0a0a202070726f6a656374696f6e2e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a20207d3b0a0a202070726f6a656374696f6e2e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e20726563656e7465722829207b0a2020202070726f6a656374526f74617465203d20636f6d706f736528726f74617465203d20726f7461746552616469616e732864656c74614c616d6264612c2064656c74615068692c2064656c746147616d6d61292c2070726f6a656374293b0a202020207661722063656e746572203d2070726f6a656374286c616d6264612c20706869293b0a202020206478203d2078202d2063656e7465725b305d202a206b3b0a202020206479203d2079202b2063656e7465725b315d202a206b3b0a2020202072657475726e20726573657428293b0a20207d0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2066756e6374696f6e2829207b0a2020202070726f6a656374203d2070726f6a65637441742e6170706c7928746869732c20617267756d656e7473293b0a2020202070726f6a656374696f6e2e696e76657274203d2070726f6a6563742e696e7665727420262620696e766572743b0a2020202072657475726e20726563656e74657228293b0a20207d3b0a7d0a0a66756e6374696f6e20636f6e696350726f6a656374696f6e2870726f6a656374417429207b0a20207661722070686930203d20302c0a20202020202070686931203d207069202f20332c0a2020202020206d203d2070726f6a656374696f6e4d757461746f722870726f6a6563744174292c0a20202020202070203d206d28706869302c2070686931293b0a0a2020702e706172616c6c656c73203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206d2870686930203d205f5b305d202a2072616469616e732c2070686931203d205f5b315d202a2072616469616e7329203a205b70686930202a20646567726565732c2070686931202a20646567726565735d3b0a20207d3b0a0a202072657475726e20703b0a7d0a0a66756e6374696f6e2063796c696e64726963616c457175616c41726561526177287068693029207b0a202076617220636f7350686930203d20636f732870686930293b0a0a202066756e6374696f6e20666f7277617264286c616d6264612c2070686929207b0a2020202072657475726e205b6c616d626461202a20636f73506869302c2073696e2870686929202f20636f73506869305d3b0a20207d0a0a2020666f72776172642e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202072657475726e205b78202f20636f73506869302c206173696e2879202a20636f7350686930295d3b0a20207d3b0a0a202072657475726e20666f72776172643b0a7d0a0a66756e6374696f6e20636f6e6963457175616c417265615261772879302c20793129207b0a202076617220737930203d2073696e287930292c206e203d2028737930202b2073696e2879312929202f20323b0a0a20202f2f204172652074686520706172616c6c656c732073796d6d6574726963616c2061726f756e64207468652045717561746f723f0a202069662028616273286e29203c20657073696c6f6e292072657475726e2063796c696e64726963616c457175616c41726561526177287930293b0a0a20207661722063203d2031202b20737930202a202832202a206e202d20737930292c207230203d2073717274286329202f206e3b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020207661722072203d20737172742863202d2032202a206e202a2073696e28792929202f206e3b0a2020202072657475726e205b72202a2073696e2878202a3d206e292c207230202d2072202a20636f732878295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a2020202076617220723079203d207230202d20793b0a2020202072657475726e205b6174616e3228782c20616273287230792929202f206e202a207369676e28723079292c206173696e282863202d202878202a2078202b20723079202a2072307929202a206e202a206e29202f202832202a206e29295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e6963457175616c41726561203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963457175616c41726561526177290a2020202020202e7363616c65283135352e343234290a2020202020202e63656e746572285b302c2033332e363434325d293b0a7d3b0a0a76617220616c62657273203d2066756e6374696f6e2829207b0a202072657475726e20636f6e6963457175616c4172656128290a2020202020202e706172616c6c656c73285b32392e352c2034352e355d290a2020202020202e7363616c652831303730290a2020202020202e7472616e736c617465285b3438302c203235305d290a2020202020202e726f74617465285b39362c20305d290a2020202020202e63656e746572285b2d302e362c2033382e375d293b0a7d3b0a0a2f2f205468652070726f6a656374696f6e73206d7573742068617665206d757475616c6c79206578636c757369766520636c697020726567696f6e73206f6e20746865207370686572652c0a2f2f20617320746869732077696c6c2061766f696420656d697474696e6720696e7465726c656176696e67206c696e657320616e6420706f6c79676f6e732e0a66756e6374696f6e206d756c7469706c65782873747265616d7329207b0a2020766172206e203d2073747265616d732e6c656e6774683b0a202072657475726e207b0a20202020706f696e743a2066756e6374696f6e28782c207929207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f696e7428782c2079293b207d2c0a202020207370686572653a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e73706865726528293b207d2c0a202020206c696e6553746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65537461727428293b207d2c0a202020206c696e65456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e6c696e65456e6428293b207d2c0a20202020706f6c79676f6e53746172743a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e537461727428293b207d2c0a20202020706f6c79676f6e456e643a2066756e6374696f6e2829207b207661722069203d202d313b207768696c6520282b2b69203c206e292073747265616d735b695d2e706f6c79676f6e456e6428293b207d0a20207d3b0a7d0a0a2f2f204120636f6d706f736974652070726f6a656374696f6e20666f722074686520556e69746564205374617465732c20636f6e666967757265642062792064656661756c7420666f720a2f2f20393630c3973530302e205468652070726f6a656374696f6e20616c736f20776f726b732071756974652077656c6c20617420393630c39736303020696620796f75206368616e6765207468650a2f2f207363616c6520746f203132383520616e642061646a75737420746865207472616e736c617465206163636f7264696e676c792e2054686520736574206f66207374616e646172640a2f2f20706172616c6c656c7320666f72206561636820726567696f6e20636f6d65732066726f6d20555347532c207768696368206973207075626c697368656420686572653a0a2f2f20687474703a2f2f656773632e757367732e676f762f6973622f707562732f4d617050726f6a656374696f6e732f70726f6a656374696f6e732e68746d6c23616c626572730a76617220616c62657273557361203d2066756e6374696f6e2829207b0a20207661722063616368652c0a202020202020636163686553747265616d2c0a2020202020206c6f7765723438203d20616c6265727328292c206c6f7765723438506f696e742c0a202020202020616c61736b61203d20636f6e6963457175616c4172656128292e726f74617465285b3135342c20305d292e63656e746572285b2d322c2035382e355d292e706172616c6c656c73285b35352c2036355d292c20616c61736b61506f696e742c202f2f20455053473a333333380a202020202020686177616969203d20636f6e6963457175616c4172656128292e726f74617465285b3135372c20305d292e63656e746572285b2d332c2031392e395d292e706172616c6c656c73285b382c2031385d292c20686177616969506f696e742c202f2f20455352493a3130323030370a202020202020706f696e742c20706f696e7453747265616d203d207b706f696e743a2066756e6374696f6e28782c207929207b20706f696e74203d205b782c20795d3b207d7d3b0a0a202066756e6374696f6e20616c6265727355736128636f6f7264696e6174657329207b0a202020207661722078203d20636f6f7264696e617465735b305d2c2079203d20636f6f7264696e617465735b315d3b0a2020202072657475726e20706f696e74203d206e756c6c2c20286c6f7765723438506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028616c61736b61506f696e742e706f696e7428782c2079292c20706f696e74290a20202020202020207c7c2028686177616969506f696e742e706f696e7428782c2079292c20706f696e74293b0a20207d0a0a2020616c626572735573612e696e76657274203d2066756e6374696f6e28636f6f7264696e6174657329207b0a20202020766172206b203d206c6f77657234382e7363616c6528292c0a202020202020202074203d206c6f77657234382e7472616e736c61746528292c0a202020202020202078203d2028636f6f7264696e617465735b305d202d20745b305d29202f206b2c0a202020202020202079203d2028636f6f7264696e617465735b315d202d20745b315d29202f206b3b0a2020202072657475726e202879203e3d20302e3132302026262079203c20302e3233342026262078203e3d202d302e3432352026262078203c202d302e323134203f20616c61736b610a20202020202020203a2079203e3d20302e3136362026262079203c20302e3233342026262078203e3d202d302e3231342026262078203c202d302e313135203f206861776169690a20202020202020203a206c6f7765723438292e696e7665727428636f6f7264696e61746573293b0a20207d3b0a0a2020616c626572735573612e73747265616d203d2066756e6374696f6e2873747265616d29207b0a2020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d206d756c7469706c6578285b6c6f77657234382e73747265616d28636163686553747265616d203d2073747265616d292c20616c61736b612e73747265616d2873747265616d292c206861776169692e73747265616d2873747265616d295d293b0a20207d3b0a0a2020616c626572735573612e707265636973696f6e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e707265636973696f6e28293b0a202020206c6f77657234382e707265636973696f6e285f292c20616c61736b612e707265636973696f6e285f292c206861776169692e707265636973696f6e285f293b0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e7363616c65203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7363616c6528293b0a202020206c6f77657234382e7363616c65285f292c20616c61736b612e7363616c65285f202a20302e3335292c206861776169692e7363616c65285f293b0a2020202072657475726e20616c626572735573612e7472616e736c617465286c6f77657234382e7472616e736c6174652829293b0a20207d3b0a0a2020616c626572735573612e7472616e736c617465203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e206c6f77657234382e7472616e736c61746528293b0a20202020766172206b203d206c6f77657234382e7363616c6528292c2078203d202b5f5b305d2c2079203d202b5f5b315d3b0a0a202020206c6f7765723438506f696e74203d206c6f77657234380a20202020202020202e7472616e736c617465285f290a20202020202020202e636c6970457874656e74285b5b78202d20302e343535202a206b2c2079202d20302e323338202a206b5d2c205b78202b20302e343535202a206b2c2079202b20302e323338202a206b5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020616c61736b61506f696e74203d20616c61736b610a20202020202020202e7472616e736c617465285b78202d20302e333037202a206b2c2079202b20302e323031202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e343235202a206b202b20657073696c6f6e2c2079202b20302e313230202a206b202b20657073696c6f6e5d2c205b78202d20302e323134202a206b202d20657073696c6f6e2c2079202b20302e323334202a206b202d20657073696c6f6e5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a20202020686177616969506f696e74203d206861776169690a20202020202020202e7472616e736c617465285b78202d20302e323035202a206b2c2079202b20302e323132202a206b5d290a20202020202020202e636c6970457874656e74285b5b78202d20302e323134202a206b202b20657073696c6f6e2c2079202b20302e313636202a206b202b20657073696c6f6e5d2c205b78202d20302e313135202a206b202d20657073696c6f6e2c2079202b20302e323334202a206b202d20657073696c6f6e5d5d290a20202020202020202e73747265616d28706f696e7453747265616d293b0a0a2020202072657475726e20726573657428293b0a20207d3b0a0a2020616c626572735573612e666974457874656e74203d2066756e6374696f6e28657874656e742c206f626a65637429207b0a2020202072657475726e20666974457874656e7428616c626572735573612c20657874656e742c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e66697453697a65203d2066756e6374696f6e2873697a652c206f626a65637429207b0a2020202072657475726e2066697453697a6528616c626572735573612c2073697a652c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e6669745769647468203d2066756e6374696f6e2877696474682c206f626a65637429207b0a2020202072657475726e20666974576964746828616c626572735573612c2077696474682c206f626a656374293b0a20207d3b0a0a2020616c626572735573612e666974486569676874203d2066756e6374696f6e286865696768742c206f626a65637429207b0a2020202072657475726e2066697448656967687428616c626572735573612c206865696768742c206f626a656374293b0a20207d3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e20616c626572735573613b0a20207d0a0a202072657475726e20616c626572735573612e7363616c652831303730293b0a7d3b0a0a66756e6374696f6e20617a696d757468616c526177287363616c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172206378203d20636f732878292c0a20202020202020206379203d20636f732879292c0a20202020202020206b203d207363616c65286378202a206379293b0a2020202072657475726e205b0a2020202020206b202a206379202a2073696e2878292c0a2020202020206b202a2073696e2879290a202020205d3b0a20207d0a7d0a0a66756e6374696f6e20617a696d757468616c496e7665727428616e676c6529207b0a202072657475726e2066756e6374696f6e28782c207929207b0a20202020766172207a203d20737172742878202a2078202b2079202a2079292c0a202020202020202063203d20616e676c65287a292c0a20202020202020207363203d2073696e2863292c0a20202020202020206363203d20636f732863293b0a2020202072657475726e205b0a2020202020206174616e322878202a2073632c207a202a206363292c0a2020202020206173696e287a2026262079202a207363202f207a290a202020205d3b0a20207d0a7d0a0a76617220617a696d757468616c457175616c41726561526177203d20617a696d757468616c5261772866756e6374696f6e286378637929207b0a202072657475726e20737172742832202f202831202b206378637929293b0a7d293b0a0a617a696d757468616c457175616c417265615261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206173696e287a202f2032293b0a7d293b0a0a76617220617a696d757468616c457175616c41726561203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c457175616c41726561526177290a2020202020202e7363616c65283132342e3735290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d3b0a0a76617220617a696d757468616c4571756964697374616e74526177203d20617a696d757468616c5261772866756e6374696f6e286329207b0a202072657475726e202863203d2061636f73286329292026262063202f2073696e2863293b0a7d293b0a0a617a696d757468616c4571756964697374616e745261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e207a3b0a7d293b0a0a76617220617a696d757468616c4571756964697374616e74203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28617a696d757468616c4571756964697374616e74526177290a2020202020202e7363616c652837392e34313838290a2020202020202e636c6970416e676c6528313830202d2031652d33293b0a7d3b0a0a66756e6374696f6e206d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c206c6f672874616e282868616c665069202b2070686929202f203229295d3b0a7d0a0a6d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b782c2032202a206174616e2865787028792929202d2068616c6650695d3b0a7d3b0a0a766172206d65726361746f72203d2066756e6374696f6e2829207b0a202072657475726e206d65726361746f7250726f6a656374696f6e286d65726361746f72526177290a2020202020202e7363616c6528393631202f20746175293b0a7d3b0a0a66756e6374696f6e206d65726361746f7250726f6a656374696f6e2870726f6a65637429207b0a2020766172206d203d2070726f6a656374696f6e2870726f6a656374292c0a20202020202063656e746572203d206d2e63656e7465722c0a2020202020207363616c65203d206d2e7363616c652c0a2020202020207472616e736c617465203d206d2e7472616e736c6174652c0a202020202020636c6970457874656e74203d206d2e636c6970457874656e742c0a2020202020207830203d206e756c6c2c2079302c2078312c2079313b202f2f20636c697020657874656e740a0a20206d2e7363616c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65285f292c207265636c6970282929203a207363616c6528293b0a20207d3b0a0a20206d2e7472616e736c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465285f292c207265636c6970282929203a207472616e736c61746528293b0a20207d3b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202863656e746572285f292c207265636c6970282929203a2063656e74657228293b0a20207d3b0a0a20206d2e636c6970457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f207830203d207930203d207831203d207931203d206e756c6c203a20287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265636c6970282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a20207d3b0a0a202066756e6374696f6e207265636c69702829207b0a20202020766172206b203d207069202a207363616c6528292c0a202020202020202074203d206d28726f746174696f6e286d2e726f746174652829292e696e76657274285b302c20305d29293b0a2020202072657475726e20636c6970457874656e74287830203d3d206e756c6c0a20202020202020203f205b5b745b305d202d206b2c20745b315d202d206b5d2c205b745b305d202b206b2c20745b315d202b206b5d5d203a2070726f6a656374203d3d3d206d65726361746f725261770a20202020202020203f205b5b4d6174682e6d617828745b305d202d206b2c207830292c2079305d2c205b4d6174682e6d696e28745b305d202b206b2c207831292c2079315d5d0a20202020202020203a205b5b78302c204d6174682e6d617828745b315d202d206b2c207930295d2c205b78312c204d6174682e6d696e28745b315d202b206b2c207931295d5d293b0a20207d0a0a202072657475726e207265636c697028293b0a7d0a0a66756e6374696f6e2074616e79287929207b0a202072657475726e2074616e282868616c665069202b207929202f2032293b0a7d0a0a66756e6374696f6e20636f6e6963436f6e666f726d616c5261772879302c20793129207b0a202076617220637930203d20636f73287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e28793029203a206c6f6728637930202f20636f732879312929202f206c6f672874616e7928793129202f2074616e7928793029292c0a20202020202066203d20637930202a20706f772874616e79287930292c206e29202f206e3b0a0a202069662028216e292072657475726e206d65726361746f725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a202020206966202866203e203029207b206966202879203c202d68616c665069202b20657073696c6f6e292079203d202d68616c665069202b20657073696c6f6e3b207d0a20202020656c7365207b206966202879203e2068616c665069202d20657073696c6f6e292079203d2068616c665069202d20657073696c6f6e3b207d0a202020207661722072203d2066202f20706f772874616e792879292c206e293b0a2020202072657475726e205b72202a2073696e286e202a2078292c2066202d2072202a20636f73286e202a2078295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206679203d2066202d20792c2072203d207369676e286e29202a20737172742878202a2078202b206679202a206679293b0a2020202072657475726e205b6174616e3228782c206162732866792929202f206e202a207369676e286679292c2032202a206174616e28706f772866202f20722c2031202f206e2929202d2068616c6650695d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e6963436f6e666f726d616c203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e6963436f6e666f726d616c526177290a2020202020202e7363616c65283130392e35290a2020202020202e706172616c6c656c73285b33302c2033305d293b0a7d3b0a0a66756e6374696f6e206571756972656374616e67756c6172526177286c616d6264612c2070686929207b0a202072657475726e205b6c616d6264612c207068695d3b0a7d0a0a6571756972656374616e67756c61725261772e696e76657274203d206571756972656374616e67756c61725261773b0a0a766172206571756972656374616e67756c6172203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286571756972656374616e67756c6172526177290a2020202020202e7363616c65283135322e3633293b0a7d3b0a0a66756e6374696f6e20636f6e69634571756964697374616e745261772879302c20793129207b0a202076617220637930203d20636f73287930292c0a2020202020206e203d207930203d3d3d207931203f2073696e28793029203a2028637930202d20636f732879312929202f20287931202d207930292c0a20202020202067203d20637930202f206e202b2079303b0a0a202069662028616273286e29203c20657073696c6f6e292072657475726e206571756972656374616e67756c61725261773b0a0a202066756e6374696f6e2070726f6a65637428782c207929207b0a20202020766172206779203d2067202d20792c206e78203d206e202a20783b0a2020202072657475726e205b6779202a2073696e286e78292c2067202d206779202a20636f73286e78295d3b0a20207d0a0a202070726f6a6563742e696e76657274203d2066756e6374696f6e28782c207929207b0a20202020766172206779203d2067202d20793b0a2020202072657475726e205b6174616e3228782c206162732867792929202f206e202a207369676e286779292c2067202d207369676e286e29202a20737172742878202a2078202b206779202a206779295d3b0a20207d3b0a0a202072657475726e2070726f6a6563743b0a7d0a0a76617220636f6e69634571756964697374616e74203d2066756e6374696f6e2829207b0a202072657475726e20636f6e696350726f6a656374696f6e28636f6e69634571756964697374616e74526177290a2020202020202e7363616c65283133312e313534290a2020202020202e63656e746572285b302c2031332e393338395d293b0a7d3b0a0a66756e6374696f6e20676e6f6d6f6e696352617728782c207929207b0a2020766172206379203d20636f732879292c206b203d20636f73287829202a2063793b0a202072657475726e205b6379202a2073696e287829202f206b2c2073696e287929202f206b5d3b0a7d0a0a676e6f6d6f6e69635261772e696e76657274203d20617a696d757468616c496e76657274286174616e293b0a0a76617220676e6f6d6f6e6963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e28676e6f6d6f6e6963526177290a2020202020202e7363616c65283134342e303439290a2020202020202e636c6970416e676c65283630293b0a7d3b0a0a66756e6374696f6e207363616c655472616e736c617465286b782c206b792c2074782c20747929207b0a202072657475726e206b78203d3d3d2031202626206b79203d3d3d2031202626207478203d3d3d2030202626207479203d3d3d2030203f206964656e74697479203a207472616e73666f726d6572287b0a20202020706f696e743a2066756e6374696f6e28782c207929207b0a202020202020746869732e73747265616d2e706f696e742878202a206b78202b2074782c2079202a206b79202b207479293b0a202020207d0a20207d293b0a7d0a0a766172206964656e746974792431203d2066756e6374696f6e2829207b0a2020766172206b203d20312c207478203d20302c207479203d20302c207378203d20312c207379203d20312c207472616e73666f726d242431203d206964656e746974792c202f2f207363616c652c207472616e736c61746520616e64207265666c6563740a2020202020207830203d206e756c6c2c2079302c2078312c2079312c202f2f20636c697020657874656e740a202020202020706f7374636c6970203d206964656e746974792c0a20202020202063616368652c0a202020202020636163686553747265616d2c0a20202020202070726f6a656374696f6e3b0a0a202066756e6374696f6e2072657365742829207b0a202020206361636865203d20636163686553747265616d203d206e756c6c3b0a2020202072657475726e2070726f6a656374696f6e3b0a20207d0a0a202072657475726e2070726f6a656374696f6e203d207b0a2020202073747265616d3a2066756e6374696f6e2873747265616d29207b0a20202020202072657475726e20636163686520262620636163686553747265616d203d3d3d2073747265616d203f206361636865203a206361636865203d207472616e73666f726d24243128706f7374636c697028636163686553747265616d203d2073747265616d29293b0a202020207d2c0a20202020706f7374636c69703a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f2c207830203d207930203d207831203d207931203d206e756c6c2c207265736574282929203a20706f7374636c69703b0a202020207d2c0a20202020636c6970457874656e743a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f2028706f7374636c6970203d205f203d3d206e756c6c203f20287830203d207930203d207831203d207931203d206e756c6c2c206964656e7469747929203a20636c697052656374616e676c65287830203d202b5f5b305d5b305d2c207930203d202b5f5b305d5b315d2c207831203d202b5f5b315d5b305d2c207931203d202b5f5b315d5b315d292c207265736574282929203a207830203d3d206e756c6c203f206e756c6c203a205b5b78302c2079305d2c205b78312c2079315d5d3b0a202020207d2c0a202020207363616c653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c61746528286b203d202b5f29202a2073782c206b202a2073792c2074782c207479292c207265736574282929203a206b3b0a202020207d2c0a202020207472616e736c6174653a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a2073782c206b202a2073792c207478203d202b5f5b305d2c207479203d202b5f5b315d292c207265736574282929203a205b74782c2074795d3b0a202020207d2c0a202020207265666c656374583a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a20287378203d205f203f202d31203a2031292c206b202a2073792c2074782c207479292c207265736574282929203a207378203c20303b0a202020207d2c0a202020207265666c656374593a2066756e6374696f6e285f29207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e73666f726d242431203d207363616c655472616e736c617465286b202a2073782c206b202a20287379203d205f203f202d31203a2031292c2074782c207479292c207265736574282929203a207379203c20303b0a202020207d2c0a20202020666974457874656e743a2066756e6374696f6e28657874656e742c206f626a65637429207b0a20202020202072657475726e20666974457874656e742870726f6a656374696f6e2c20657874656e742c206f626a656374293b0a202020207d2c0a2020202066697453697a653a2066756e6374696f6e2873697a652c206f626a65637429207b0a20202020202072657475726e2066697453697a652870726f6a656374696f6e2c2073697a652c206f626a656374293b0a202020207d2c0a2020202066697457696474683a2066756e6374696f6e2877696474682c206f626a65637429207b0a20202020202072657475726e2066697457696474682870726f6a656374696f6e2c2077696474682c206f626a656374293b0a202020207d2c0a202020206669744865696768743a2066756e6374696f6e286865696768742c206f626a65637429207b0a20202020202072657475726e206669744865696768742870726f6a656374696f6e2c206865696768742c206f626a656374293b0a202020207d0a20207d3b0a7d3b0a0a66756e6374696f6e206e61747572616c456172746831526177286c616d6264612c2070686929207b0a20207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a202072657475726e205b0a202020206c616d626461202a2028302e38373037202d20302e313331393739202a2070686932202b2070686934202a20282d302e303133373931202b2070686934202a2028302e303033393731202a2070686932202d20302e303031353239202a20706869342929292c0a20202020706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a20706869342929290a20205d3b0a7d0a0a6e61747572616c4561727468315261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202076617220706869203d20792c2069203d2032352c2064656c74613b0a2020646f207b0a202020207661722070686932203d20706869202a207068692c2070686934203d2070686932202a20706869323b0a20202020706869202d3d2064656c7461203d2028706869202a2028312e303037323236202b2070686932202a2028302e303135303835202b2070686934202a20282d302e303434343735202b20302e303238383734202a2070686932202d20302e303035393136202a2070686934292929202d207929202f0a202020202020202028312e303037323236202b2070686932202a2028302e303135303835202a2033202b2070686934202a20282d302e303434343735202a2037202b20302e303238383734202a2039202a2070686932202d20302e303035393136202a203131202a20706869342929293b0a20207d207768696c6520286162732864656c746129203e20657073696c6f6e202626202d2d69203e2030293b0a202072657475726e205b0a2020202078202f2028302e38373037202b202870686932203d20706869202a2070686929202a20282d302e313331393739202b2070686932202a20282d302e303133373931202b2070686932202a2070686932202a2070686932202a2028302e303033393731202d20302e303031353239202a2070686932292929292c0a202020207068690a20205d3b0a7d3b0a0a766172206e61747572616c456172746831203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286e61747572616c456172746831526177290a2020202020202e7363616c65283137352e323935293b0a7d3b0a0a66756e6374696f6e206f7274686f6772617068696352617728782c207929207b0a202072657475726e205b636f73287929202a2073696e2878292c2073696e2879295d3b0a7d0a0a6f7274686f677261706869635261772e696e76657274203d20617a696d757468616c496e76657274286173696e293b0a0a766172206f7274686f67726170686963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e286f7274686f67726170686963526177290a2020202020202e7363616c65283234392e35290a2020202020202e636c6970416e676c65283930202b20657073696c6f6e293b0a7d3b0a0a66756e6374696f6e2073746572656f6772617068696352617728782c207929207b0a2020766172206379203d20636f732879292c206b203d2031202b20636f73287829202a2063793b0a202072657475726e205b6379202a2073696e287829202f206b2c2073696e287929202f206b5d3b0a7d0a0a73746572656f677261706869635261772e696e76657274203d20617a696d757468616c496e766572742866756e6374696f6e287a29207b0a202072657475726e2032202a206174616e287a293b0a7d293b0a0a7661722073746572656f67726170686963203d2066756e6374696f6e2829207b0a202072657475726e2070726f6a656374696f6e2873746572656f67726170686963526177290a2020202020202e7363616c6528323530290a2020202020202e636c6970416e676c6528313432293b0a7d3b0a0a66756e6374696f6e207472616e7376657273654d65726361746f72526177286c616d6264612c2070686929207b0a202072657475726e205b6c6f672874616e282868616c665069202b2070686929202f203229292c202d6c616d6264615d3b0a7d0a0a7472616e7376657273654d65726361746f725261772e696e76657274203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2d792c2032202a206174616e2865787028782929202d2068616c6650695d3b0a7d3b0a0a766172207472616e7376657273654d65726361746f72203d2066756e6374696f6e2829207b0a2020766172206d203d206d65726361746f7250726f6a656374696f6e287472616e7376657273654d65726361746f72526177292c0a20202020202063656e746572203d206d2e63656e7465722c0a202020202020726f74617465203d206d2e726f746174653b0a0a20206d2e63656e746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2063656e746572285b2d5f5b315d2c205f5b305d5d29203a20285f203d2063656e74657228292c205b5f5b315d2c202d5f5b305d5d293b0a20207d3b0a0a20206d2e726f74617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20726f74617465285b5f5b305d2c205f5b315d2c205f2e6c656e677468203e2032203f205f5b325d202b203930203a2039305d29203a20285f203d20726f7461746528292c205b5f5b305d2c205f5b315d2c205f5b325d202d2039305d293b0a20207d3b0a0a202072657475726e20726f74617465285b302c20302c2039305d290a2020202020202e7363616c65283135392e313535293b0a7d3b0a0a6578706f7274732e67656f41726561203d20617265613b0a6578706f7274732e67656f426f756e6473203d20626f756e64733b0a6578706f7274732e67656f43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e67656f436972636c65203d20636972636c653b0a6578706f7274732e67656f436c6970416e74696d6572696469616e203d20636c6970416e74696d6572696469616e3b0a6578706f7274732e67656f436c6970436972636c65203d20636c6970436972636c653b0a6578706f7274732e67656f436c6970457874656e74203d20657874656e743b0a6578706f7274732e67656f436c697052656374616e676c65203d20636c697052656374616e676c653b0a6578706f7274732e67656f436f6e7461696e73203d20636f6e7461696e733b0a6578706f7274732e67656f44697374616e6365203d2064697374616e63653b0a6578706f7274732e67656f477261746963756c65203d20677261746963756c653b0a6578706f7274732e67656f477261746963756c653130203d20677261746963756c6531303b0a6578706f7274732e67656f496e746572706f6c617465203d20696e746572706f6c6174653b0a6578706f7274732e67656f4c656e677468203d206c656e6774683b0a6578706f7274732e67656f50617468203d20696e6465783b0a6578706f7274732e67656f416c62657273203d20616c626572733b0a6578706f7274732e67656f416c62657273557361203d20616c626572735573613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561203d20617a696d757468616c457175616c417265613b0a6578706f7274732e67656f417a696d757468616c457175616c41726561526177203d20617a696d757468616c457175616c417265615261773b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74203d20617a696d757468616c4571756964697374616e743b0a6578706f7274732e67656f417a696d757468616c4571756964697374616e74526177203d20617a696d757468616c4571756964697374616e745261773b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c203d20636f6e6963436f6e666f726d616c3b0a6578706f7274732e67656f436f6e6963436f6e666f726d616c526177203d20636f6e6963436f6e666f726d616c5261773b0a6578706f7274732e67656f436f6e6963457175616c41726561203d20636f6e6963457175616c417265613b0a6578706f7274732e67656f436f6e6963457175616c41726561526177203d20636f6e6963457175616c417265615261773b0a6578706f7274732e67656f436f6e69634571756964697374616e74203d20636f6e69634571756964697374616e743b0a6578706f7274732e67656f436f6e69634571756964697374616e74526177203d20636f6e69634571756964697374616e745261773b0a6578706f7274732e67656f4571756972656374616e67756c6172203d206571756972656374616e67756c61723b0a6578706f7274732e67656f4571756972656374616e67756c6172526177203d206571756972656374616e67756c61725261773b0a6578706f7274732e67656f476e6f6d6f6e6963203d20676e6f6d6f6e69633b0a6578706f7274732e67656f476e6f6d6f6e6963526177203d20676e6f6d6f6e69635261773b0a6578706f7274732e67656f4964656e74697479203d206964656e7469747924313b0a6578706f7274732e67656f50726f6a656374696f6e203d2070726f6a656374696f6e3b0a6578706f7274732e67656f50726f6a656374696f6e4d757461746f72203d2070726f6a656374696f6e4d757461746f723b0a6578706f7274732e67656f4d65726361746f72203d206d65726361746f723b0a6578706f7274732e67656f4d65726361746f72526177203d206d65726361746f725261773b0a6578706f7274732e67656f4e61747572616c456172746831203d206e61747572616c4561727468313b0a6578706f7274732e67656f4e61747572616c456172746831526177203d206e61747572616c4561727468315261773b0a6578706f7274732e67656f4f7274686f67726170686963203d206f7274686f677261706869633b0a6578706f7274732e67656f4f7274686f67726170686963526177203d206f7274686f677261706869635261773b0a6578706f7274732e67656f53746572656f67726170686963203d2073746572656f677261706869633b0a6578706f7274732e67656f53746572656f67726170686963526177203d2073746572656f677261706869635261773b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72203d207472616e7376657273654d65726361746f723b0a6578706f7274732e67656f5472616e7376657273654d65726361746f72526177203d207472616e7376657273654d65726361746f725261773b0a6578706f7274732e67656f526f746174696f6e203d20726f746174696f6e3b0a6578706f7274732e67656f53747265616d203d2067656f53747265616d3b0a6578706f7274732e67656f5472616e73666f726d203d207472616e73666f726d3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33397d5d2c35323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d6869657261726368792f2056657273696f6e20312e312e352e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a66756e6374696f6e2064656661756c7453657061726174696f6e28612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a66756e6374696f6e206d65616e58286368696c6472656e29207b0a202072657475726e206368696c6472656e2e726564756365286d65616e585265647563652c203029202f206368696c6472656e2e6c656e6774683b0a7d0a0a66756e6374696f6e206d65616e5852656475636528782c206329207b0a202072657475726e2078202b20632e783b0a7d0a0a66756e6374696f6e206d617859286368696c6472656e29207b0a202072657475726e2031202b206368696c6472656e2e726564756365286d6178595265647563652c2030293b0a7d0a0a66756e6374696f6e206d61785952656475636528792c206329207b0a202072657475726e204d6174682e6d617828792c20632e79293b0a7d0a0a66756e6374696f6e206c6561664c656674286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b305d3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e206c6561665269676874286e6f646529207b0a2020766172206368696c6472656e3b0a20207768696c6520286368696c6472656e203d206e6f64652e6368696c6472656e29206e6f6465203d206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d3b0a202072657475726e206e6f64653b0a7d0a0a76617220636c7573746572203d2066756e6374696f6e2829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d2066616c73653b0a0a202066756e6374696f6e20636c757374657228726f6f7429207b0a202020207661722070726576696f75734e6f64652c0a202020202020202078203d20303b0a0a202020202f2f2046697273742077616c6b2c20636f6d707574696e672074686520696e697469616c2078202620792076616c7565732e0a20202020726f6f742e6561636841667465722866756e6374696f6e286e6f646529207b0a202020202020766172206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e29207b0a20202020202020206e6f64652e78203d206d65616e58286368696c6472656e293b0a20202020202020206e6f64652e79203d206d617859286368696c6472656e293b0a2020202020207d20656c7365207b0a20202020202020206e6f64652e78203d2070726576696f75734e6f6465203f2078202b3d2073657061726174696f6e286e6f64652c2070726576696f75734e6f646529203a20303b0a20202020202020206e6f64652e79203d20303b0a202020202020202070726576696f75734e6f6465203d206e6f64653b0a2020202020207d0a202020207d293b0a0a20202020766172206c656674203d206c6561664c65667428726f6f74292c0a20202020202020207269676874203d206c656166526967687428726f6f74292c0a20202020202020207830203d206c6566742e78202d2073657061726174696f6e286c6566742c20726967687429202f20322c0a20202020202020207831203d2072696768742e78202b2073657061726174696f6e2872696768742c206c65667429202f20323b0a0a202020202f2f205365636f6e642077616c6b2c206e6f726d616c697a696e6720782026207920746f2074686520646573697265642073697a652e0a2020202072657475726e20726f6f742e656163684166746572286e6f646553697a65203f2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20726f6f742e7829202a2064783b0a2020202020206e6f64652e79203d2028726f6f742e79202d206e6f64652e7929202a2064793b0a202020207d203a2066756e6374696f6e286e6f646529207b0a2020202020206e6f64652e78203d20286e6f64652e78202d20783029202f20287831202d20783029202a2064783b0a2020202020206e6f64652e79203d202831202d2028726f6f742e79203f206e6f64652e79202f20726f6f742e79203a20312929202a2064793b0a202020207d293b0a20207d0a0a2020636c75737465722e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c20636c757374657229203a2073657061726174696f6e3b0a20207d3b0a0a2020636c75737465722e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020636c75737465722e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c20636c757374657229203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20636c75737465723b0a7d3b0a0a66756e6374696f6e20636f756e74286e6f646529207b0a20207661722073756d203d20302c0a2020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a20202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a2020696620282169292073756d203d20313b0a2020656c7365207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a20206e6f64652e76616c7565203d2073756d3b0a7d0a0a766172206e6f64655f636f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368416674657228636f756e74293b0a7d3b0a0a766172206e6f64655f65616368203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c2063757272656e742c206e657874203d205b6e6f64655d2c206368696c6472656e2c20692c206e3b0a2020646f207b0a2020202063757272656e74203d206e6578742e7265766572736528292c206e657874203d205b5d3b0a202020207768696c6520286e6f6465203d2063757272656e742e706f70282929207b0a20202020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a202020202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a20202020202020206e6578742e70757368286368696c6472656e5b695d293b0a2020202020207d0a202020207d0a20207d207768696c6520286e6578742e6c656e677468293b0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f656163684265666f7265203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206368696c6472656e2c20693b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a2020202063616c6c6261636b286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d206368696c6472656e2e6c656e677468202d20313b2069203e3d20303b202d2d6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f656163684166746572203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d2c206e657874203d205b5d2c206368696c6472656e2c20692c206e3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206e6578742e70757368286e6f6465292c206368696c6472656e203d206e6f64652e6368696c6472656e3b0a20202020696620286368696c6472656e2920666f72202869203d20302c206e203d206368696c6472656e2e6c656e6774683b2069203c206e3b202b2b6929207b0a2020202020206e6f6465732e70757368286368696c6472656e5b695d293b0a202020207d0a20207d0a20207768696c6520286e6f6465203d206e6578742e706f70282929207b0a2020202063616c6c6261636b286e6f6465293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a766172206e6f64655f73756d203d2066756e6374696f6e2876616c756529207b0a202072657475726e20746869732e6561636841667465722866756e6374696f6e286e6f646529207b0a202020207661722073756d203d202b76616c7565286e6f64652e6461746129207c7c20302c0a20202020202020206368696c6472656e203d206e6f64652e6368696c6472656e2c0a202020202020202069203d206368696c6472656e202626206368696c6472656e2e6c656e6774683b0a202020207768696c6520282d2d69203e3d2030292073756d202b3d206368696c6472656e5b695d2e76616c75653b0a202020206e6f64652e76616c7565203d2073756d3b0a20207d293b0a7d3b0a0a766172206e6f64655f736f7274203d2066756e6374696f6e28636f6d7061726529207b0a202072657475726e20746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e2e736f727428636f6d70617265293b0a202020207d0a20207d293b0a7d3b0a0a766172206e6f64655f70617468203d2066756e6374696f6e28656e6429207b0a2020766172207374617274203d20746869732c0a202020202020616e636573746f72203d206c65617374436f6d6d6f6e416e636573746f722873746172742c20656e64292c0a2020202020206e6f646573203d205b73746172745d3b0a20207768696c652028737461727420213d3d20616e636573746f7229207b0a202020207374617274203d2073746172742e706172656e743b0a202020206e6f6465732e70757368287374617274293b0a20207d0a2020766172206b203d206e6f6465732e6c656e6774683b0a20207768696c652028656e6420213d3d20616e636573746f7229207b0a202020206e6f6465732e73706c696365286b2c20302c20656e64293b0a20202020656e64203d20656e642e706172656e743b0a20207d0a202072657475726e206e6f6465733b0a7d3b0a0a66756e6374696f6e206c65617374436f6d6d6f6e416e636573746f7228612c206229207b0a20206966202861203d3d3d2062292072657475726e20613b0a202076617220614e6f646573203d20612e616e636573746f727328292c0a202020202020624e6f646573203d20622e616e636573746f727328292c0a20202020202063203d206e756c6c3b0a202061203d20614e6f6465732e706f7028293b0a202062203d20624e6f6465732e706f7028293b0a20207768696c65202861203d3d3d206229207b0a2020202063203d20613b0a2020202061203d20614e6f6465732e706f7028293b0a2020202062203d20624e6f6465732e706f7028293b0a20207d0a202072657475726e20633b0a7d0a0a766172206e6f64655f616e636573746f7273203d2066756e6374696f6e2829207b0a2020766172206e6f6465203d20746869732c206e6f646573203d205b6e6f64655d3b0a20207768696c6520286e6f6465203d206e6f64652e706172656e7429207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d0a202072657475726e206e6f6465733b0a7d3b0a0a766172206e6f64655f64657363656e64616e7473203d2066756e6374696f6e2829207b0a2020766172206e6f646573203d205b5d3b0a2020746869732e656163682866756e6374696f6e286e6f646529207b0a202020206e6f6465732e70757368286e6f6465293b0a20207d293b0a202072657475726e206e6f6465733b0a7d3b0a0a766172206e6f64655f6c6561766573203d2066756e6374696f6e2829207b0a2020766172206c6561766573203d205b5d3b0a2020746869732e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206c65617665732e70757368286e6f6465293b0a202020207d0a20207d293b0a202072657475726e206c65617665733b0a7d3b0a0a766172206e6f64655f6c696e6b73203d2066756e6374696f6e2829207b0a202076617220726f6f74203d20746869732c206c696e6b73203d205b5d3b0a2020726f6f742e656163682866756e6374696f6e286e6f646529207b0a20202020696620286e6f646520213d3d20726f6f7429207b202f2f20446f6ee280997420696e636c7564652074686520726f6f74e280997320706172656e742c20696620616e792e0a2020202020206c696e6b732e70757368287b736f757263653a206e6f64652e706172656e742c207461726765743a206e6f64657d293b0a202020207d0a20207d293b0a202072657475726e206c696e6b733b0a7d3b0a0a66756e6374696f6e2068696572617263687928646174612c206368696c6472656e29207b0a202076617220726f6f74203d206e6577204e6f64652864617461292c0a20202020202076616c756564203d202b646174612e76616c75652026262028726f6f742e76616c7565203d20646174612e76616c7565292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b726f6f745d2c0a2020202020206368696c642c0a2020202020206368696c64732c0a202020202020692c0a2020202020206e3b0a0a2020696620286368696c6472656e203d3d206e756c6c29206368696c6472656e203d2064656661756c744368696c6472656e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a202020206966202876616c75656429206e6f64652e76616c7565203d202b6e6f64652e646174612e76616c75653b0a2020202069662028286368696c6473203d206368696c6472656e286e6f64652e64617461292920262620286e203d206368696c64732e6c656e6774682929207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e6577204e6f6465286368696c64735b695d29293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a20202020202020206368696c642e6465707468203d206e6f64652e6465707468202b20313b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726f6f742e656163684265666f726528636f6d70757465486569676874293b0a7d0a0a66756e6374696f6e206e6f64655f636f70792829207b0a202072657475726e206869657261726368792874686973292e656163684265666f726528636f707944617461293b0a7d0a0a66756e6374696f6e2064656661756c744368696c6472656e286429207b0a202072657475726e20642e6368696c6472656e3b0a7d0a0a66756e6374696f6e20636f707944617461286e6f646529207b0a20206e6f64652e64617461203d206e6f64652e646174612e646174613b0a7d0a0a66756e6374696f6e20636f6d70757465486569676874286e6f646529207b0a202076617220686569676874203d20303b0a2020646f206e6f64652e686569676874203d206865696768743b0a20207768696c652028286e6f6465203d206e6f64652e706172656e742920262620286e6f64652e686569676874203c202b2b68656967687429293b0a7d0a0a66756e6374696f6e204e6f6465286461746129207b0a2020746869732e64617461203d20646174613b0a2020746869732e6465707468203d0a2020746869732e686569676874203d20303b0a2020746869732e706172656e74203d206e756c6c3b0a7d0a0a4e6f64652e70726f746f74797065203d206869657261726368792e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204e6f64652c0a2020636f756e743a206e6f64655f636f756e742c0a2020656163683a206e6f64655f656163682c0a20206561636841667465723a206e6f64655f6561636841667465722c0a2020656163684265666f72653a206e6f64655f656163684265666f72652c0a202073756d3a206e6f64655f73756d2c0a2020736f72743a206e6f64655f736f72742c0a2020706174683a206e6f64655f706174682c0a2020616e636573746f72733a206e6f64655f616e636573746f72732c0a202064657363656e64616e74733a206e6f64655f64657363656e64616e74732c0a20206c65617665733a206e6f64655f6c65617665732c0a20206c696e6b733a206e6f64655f6c696e6b732c0a2020636f70793a206e6f64655f636f70790a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e2073687566666c6528617272617929207b0a2020766172206d203d2061727261792e6c656e6774682c0a202020202020742c0a202020202020693b0a0a20207768696c6520286d29207b0a2020202069203d204d6174682e72616e646f6d2829202a206d2d2d207c20303b0a2020202074203d2061727261795b6d5d3b0a2020202061727261795b6d5d203d2061727261795b695d3b0a2020202061727261795b695d203d20743b0a20207d0a0a202072657475726e2061727261793b0a7d0a0a76617220656e636c6f7365203d2066756e6374696f6e28636972636c657329207b0a20207661722069203d20302c206e203d2028636972636c6573203d2073687566666c6528736c6963652e63616c6c28636972636c65732929292e6c656e6774682c2042203d205b5d2c20702c20653b0a0a20207768696c65202869203c206e29207b0a2020202070203d20636972636c65735b695d3b0a20202020696620286520262620656e636c6f7365735765616b28652c20702929202b2b693b0a20202020656c73652065203d20656e636c6f736542617369732842203d20657874656e64426173697328422c207029292c2069203d20303b0a20207d0a0a202072657475726e20653b0a7d3b0a0a66756e6374696f6e20657874656e64426173697328422c207029207b0a202076617220692c206a3b0a0a202069662028656e636c6f7365735765616b416c6c28702c204229292072657475726e205b705d3b0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c65617374206f6e6520656c656d656e742e0a2020666f72202869203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a2020202069662028656e636c6f7365734e6f7428702c20425b695d290a2020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733228425b695d2c2070292c20422929207b0a20202020202072657475726e205b425b695d2c20705d3b0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e2042206d7573742068617665206174206c656173742074776f20656c656d656e74732e0a2020666f72202869203d20303b2069203c20422e6c656e677468202d20313b202b2b6929207b0a20202020666f7220286a203d2069202b20313b206a203c20422e6c656e6774683b202b2b6a29207b0a20202020202069662028656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c20425b6a5d292c2070290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b695d2c2070292c20425b6a5d290a20202020202020202020262620656e636c6f7365734e6f7428656e636c6f736542617369733228425b6a5d2c2070292c20425b695d290a20202020202020202020262620656e636c6f7365735765616b416c6c28656e636c6f736542617369733328425b695d2c20425b6a5d2c2070292c20422929207b0a202020202020202072657475726e205b425b695d2c20425b6a5d2c20705d3b0a2020202020207d0a202020207d0a20207d0a0a20202f2f204966207765206765742068657265207468656e20736f6d657468696e6720697320766572792077726f6e672e0a20207468726f77206e6577204572726f723b0a7d0a0a66756e6374696f6e20656e636c6f7365734e6f7428612c206229207b0a2020766172206472203d20612e72202d20622e722c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203c2030207c7c206472202a206472203c206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b28612c206229207b0a2020766172206472203d20612e72202d20622e72202b2031652d362c206478203d20622e78202d20612e782c206479203d20622e79202d20612e793b0a202072657475726e206472203e2030202626206472202a206472203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e20656e636c6f7365735765616b416c6c28612c204229207b0a2020666f7220287661722069203d20303b2069203c20422e6c656e6774683b202b2b6929207b0a202020206966202821656e636c6f7365735765616b28612c20425b695d2929207b0a20202020202072657475726e2066616c73653b0a202020207d0a20207d0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20656e636c6f73654261736973284229207b0a20207377697463682028422e6c656e67746829207b0a202020206361736520313a2072657475726e20656e636c6f736542617369733128425b305d293b0a202020206361736520323a2072657475726e20656e636c6f736542617369733228425b305d2c20425b315d293b0a202020206361736520333a2072657475726e20656e636c6f736542617369733328425b305d2c20425b315d2c20425b325d293b0a20207d0a7d0a0a66756e6374696f6e20656e636c6f7365426173697331286129207b0a202072657475726e207b0a20202020783a20612e782c0a20202020793a20612e792c0a20202020723a20612e720a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733228612c206229207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a202020202020783231203d207832202d2078312c20793231203d207932202d2079312c20723231203d207232202d2072312c0a2020202020206c203d204d6174682e7371727428783231202a20783231202b20793231202a20793231293b0a202072657475726e207b0a20202020783a20287831202b207832202b20783231202f206c202a2072323129202f20322c0a20202020793a20287931202b207932202b20793231202f206c202a2072323129202f20322c0a20202020723a20286c202b207231202b20723229202f20320a20207d3b0a7d0a0a66756e6374696f6e20656e636c6f736542617369733328612c20622c206329207b0a2020766172207831203d20612e782c207931203d20612e792c207231203d20612e722c0a2020202020207832203d20622e782c207932203d20622e792c207232203d20622e722c0a2020202020207833203d20632e782c207933203d20632e792c207233203d20632e722c0a2020202020206132203d207831202d2078322c0a2020202020206133203d207831202d2078332c0a2020202020206232203d207931202d2079322c0a2020202020206233203d207931202d2079332c0a2020202020206332203d207232202d2072312c0a2020202020206333203d207233202d2072312c0a2020202020206431203d207831202a207831202b207931202a207931202d207231202a2072312c0a2020202020206432203d206431202d207832202a207832202d207932202a207932202b207232202a2072322c0a2020202020206433203d206431202d207833202a207833202d207933202a207933202b207233202a2072332c0a2020202020206162203d206133202a206232202d206132202a2062332c0a2020202020207861203d20286232202a206433202d206233202a20643229202f20286162202a203229202d2078312c0a2020202020207862203d20286233202a206332202d206232202a20633329202f2061622c0a2020202020207961203d20286133202a206432202d206132202a20643329202f20286162202a203229202d2079312c0a2020202020207962203d20286132202a206333202d206133202a20633229202f2061622c0a20202020202041203d207862202a207862202b207962202a207962202d20312c0a20202020202042203d2032202a20287231202b207861202a207862202b207961202a207962292c0a20202020202043203d207861202a207861202b207961202a207961202d207231202a2072312c0a20202020202072203d202d2841203f202842202b204d6174682e737172742842202a2042202d2034202a2041202a20432929202f202832202a204129203a2043202f2042293b0a202072657475726e207b0a20202020783a207831202b207861202b207862202a20722c0a20202020793a207931202b207961202b207962202a20722c0a20202020723a20720a20207d3b0a7d0a0a66756e6374696f6e20706c61636528612c20622c206329207b0a2020766172206178203d20612e782c0a2020202020206179203d20612e792c0a2020202020206461203d20622e72202b20632e722c0a2020202020206462203d20612e72202b20632e722c0a2020202020206478203d20622e78202d2061782c0a2020202020206479203d20622e79202d2061792c0a2020202020206463203d206478202a206478202b206479202a2064793b0a202069662028646329207b0a202020207661722078203d20302e35202b2028286462202a3d20646229202d20286461202a3d2064612929202f202832202a206463292c0a202020202020202079203d204d6174682e73717274284d6174682e6d617828302c2032202a206461202a20286462202b20646329202d20286462202d3d20646329202a206462202d206461202a2064612929202f202832202a206463293b0a20202020632e78203d206178202b2078202a206478202b2079202a2064793b0a20202020632e79203d206179202b2078202a206479202d2079202a2064783b0a20207d20656c7365207b0a20202020632e78203d206178202b2064623b0a20202020632e79203d2061793b0a20207d0a7d0a0a66756e6374696f6e20696e746572736563747328612c206229207b0a2020766172206478203d20622e78202d20612e782c0a2020202020206479203d20622e79202d20612e792c0a2020202020206472203d20612e72202b20622e723b0a202072657475726e206472202a206472202d2031652d36203e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e2073636f7265286e6f646529207b0a20207661722061203d206e6f64652e5f2c0a20202020202062203d206e6f64652e6e6578742e5f2c0a2020202020206162203d20612e72202b20622e722c0a2020202020206478203d2028612e78202a20622e72202b20622e78202a20612e7229202f2061622c0a2020202020206479203d2028612e79202a20622e72202b20622e79202a20612e7229202f2061623b0a202072657475726e206478202a206478202b206479202a2064793b0a7d0a0a66756e6374696f6e204e6f6465243128636972636c6529207b0a2020746869732e5f203d20636972636c653b0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e70726576696f7573203d206e756c6c3b0a7d0a0a66756e6374696f6e207061636b456e636c6f736528636972636c657329207b0a20206966202821286e203d20636972636c65732e6c656e67746829292072657475726e20303b0a0a202076617220612c20622c20632c206e2c2061612c2063612c20692c206a2c206b2c20736a2c20736b3b0a0a20202f2f20506c6163652074686520666972737420636972636c652e0a202061203d20636972636c65735b305d2c20612e78203d20302c20612e79203d20303b0a20206966202821286e203e203129292072657475726e20612e723b0a0a20202f2f20506c61636520746865207365636f6e6420636972636c652e0a202062203d20636972636c65735b315d2c20612e78203d202d622e722c20622e78203d20612e722c20622e79203d20303b0a20206966202821286e203e203229292072657475726e20612e72202b20622e723b0a0a20202f2f20506c6163652074686520746869726420636972636c652e0a2020706c61636528622c20612c2063203d20636972636c65735b325d293b0a0a20202f2f20496e697469616c697a65207468652066726f6e742d636861696e207573696e672074686520666972737420746872656520636972636c657320612c206220616e6420632e0a202061203d206e6577204e6f646524312861292c2062203d206e6577204e6f646524312862292c2063203d206e6577204e6f646524312863293b0a2020612e6e657874203d20632e70726576696f7573203d20623b0a2020622e6e657874203d20612e70726576696f7573203d20633b0a2020632e6e657874203d20622e70726576696f7573203d20613b0a0a20202f2f20417474656d707420746f20706c61636520656163682072656d61696e696e6720636972636c65e280a60a20207061636b3a20666f72202869203d20333b2069203c206e3b202b2b6929207b0a20202020706c61636528612e5f2c20622e5f2c2063203d20636972636c65735b695d292c2063203d206e6577204e6f646524312863293b0a0a202020202f2f2046696e642074686520636c6f7365737420696e74657273656374696e6720636972636c65206f6e207468652066726f6e742d636861696e2c20696620616e792e0a202020202f2f20e2809c436c6f73656e657373e2809d2069732064657465726d696e6564206279206c696e6561722064697374616e636520616c6f6e67207468652066726f6e742d636861696e2e0a202020202f2f20e2809c4168656164e2809d206f7220e2809c626568696e64e2809d206973206c696b65776973652064657465726d696e6564206279206c696e6561722064697374616e63652e0a202020206a203d20622e6e6578742c206b203d20612e70726576696f75732c20736a203d20622e5f2e722c20736b203d20612e5f2e723b0a20202020646f207b0a20202020202069662028736a203c3d20736b29207b0a202020202020202069662028696e7465727365637473286a2e5f2c20632e5f2929207b0a2020202020202020202062203d206a2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736a202b3d206a2e5f2e722c206a203d206a2e6e6578743b0a2020202020207d20656c7365207b0a202020202020202069662028696e7465727365637473286b2e5f2c20632e5f2929207b0a2020202020202020202061203d206b2c20612e6e657874203d20622c20622e70726576696f7573203d20612c202d2d693b0a20202020202020202020636f6e74696e7565207061636b3b0a20202020202020207d0a2020202020202020736b202b3d206b2e5f2e722c206b203d206b2e70726576696f75733b0a2020202020207d0a202020207d207768696c6520286a20213d3d206b2e6e657874293b0a0a202020202f2f20537563636573732120496e7365727420746865206e657720636972636c652063206265747765656e206120616e6420622e0a20202020632e70726576696f7573203d20612c20632e6e657874203d20622c20612e6e657874203d20622e70726576696f7573203d2062203d20633b0a0a202020202f2f20436f6d7075746520746865206e657720636c6f7365737420636972636c65207061697220746f207468652063656e74726f69642e0a202020206161203d2073636f72652861293b0a202020207768696c6520282863203d20632e6e6578742920213d3d206229207b0a20202020202069662028286361203d2073636f726528632929203c20616129207b0a202020202020202061203d20632c206161203d2063613b0a2020202020207d0a202020207d0a2020202062203d20612e6e6578743b0a20207d0a0a20202f2f20436f6d707574652074686520656e636c6f73696e6720636972636c65206f66207468652066726f6e7420636861696e2e0a202061203d205b622e5f5d2c2063203d20623b207768696c6520282863203d20632e6e6578742920213d3d20622920612e7075736828632e5f293b2063203d20656e636c6f73652861293b0a0a20202f2f205472616e736c6174652074686520636972636c657320746f207075742074686520656e636c6f73696e6720636972636c652061726f756e6420746865206f726967696e2e0a2020666f72202869203d20303b2069203c206e3b202b2b69292061203d20636972636c65735b695d2c20612e78202d3d20632e782c20612e79202d3d20632e793b0a0a202072657475726e20632e723b0a7d0a0a766172207369626c696e6773203d2066756e6374696f6e28636972636c657329207b0a20207061636b456e636c6f736528636972636c6573293b0a202072657475726e20636972636c65733b0a7d3b0a0a66756e6374696f6e206f7074696f6e616c286629207b0a202072657475726e2066203d3d206e756c6c203f206e756c6c203a2072657175697265642866293b0a7d0a0a66756e6374696f6e207265717569726564286629207b0a202069662028747970656f66206620213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20663b0a7d0a0a66756e6374696f6e20636f6e7374616e745a65726f2829207b0a202072657475726e20303b0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2064656661756c74526164697573286429207b0a202072657475726e204d6174682e7371727428642e76616c7565293b0a7d0a0a76617220696e646578203d2066756e6374696f6e2829207b0a202076617220726164697573203d206e756c6c2c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e207061636b28726f6f7429207b0a20202020726f6f742e78203d206478202f20322c20726f6f742e79203d206479202f20323b0a202020206966202872616469757329207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662872616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20302e3529290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64283129293b0a202020207d20656c7365207b0a202020202020726f6f742e656163684265666f7265287261646975734c6561662864656661756c7452616469757329290a202020202020202020202e656163684166746572287061636b4368696c6472656e28636f6e7374616e745a65726f2c203129290a202020202020202020202e656163684166746572287061636b4368696c6472656e2870616464696e672c20726f6f742e72202f204d6174682e6d696e2864782c2064792929290a202020202020202020202e656163684265666f7265287472616e736c6174654368696c64284d6174682e6d696e2864782c20647929202f202832202a20726f6f742e722929293b0a202020207d0a2020202072657475726e20726f6f743b0a20207d0a0a20207061636b2e726164697573203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726164697573203d206f7074696f6e616c2878292c207061636b29203a207261646975733b0a20207d3b0a0a20207061636b2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c207061636b29203a205b64782c2064795d3b0a20207d3b0a0a20207061636b2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c207061636b29203a2070616464696e673b0a20207d3b0a0a202072657475726e207061636b3b0a7d3b0a0a66756e6374696f6e207261646975734c6561662872616469757329207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6368696c6472656e29207b0a2020202020206e6f64652e72203d204d6174682e6d617828302c202b726164697573286e6f646529207c7c2030293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061636b4368696c6472656e2870616464696e672c206b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a20202020696620286368696c6472656e203d206e6f64652e6368696c6472656e29207b0a202020202020766172206368696c6472656e2c0a20202020202020202020692c0a202020202020202020206e203d206368696c6472656e2e6c656e6774682c0a2020202020202020202072203d2070616464696e67286e6f646529202a206b207c7c20302c0a20202020202020202020653b0a0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202b3d20723b0a20202020202065203d207061636b456e636c6f7365286368696c6472656e293b0a20202020202069662028722920666f72202869203d20303b2069203c206e3b202b2b6929206368696c6472656e5b695d2e72202d3d20723b0a2020202020206e6f64652e72203d2065202b20723b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207472616e736c6174654368696c64286b29207b0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202076617220706172656e74203d206e6f64652e706172656e743b0a202020206e6f64652e72202a3d206b3b0a2020202069662028706172656e7429207b0a2020202020206e6f64652e78203d20706172656e742e78202b206b202a206e6f64652e783b0a2020202020206e6f64652e79203d20706172656e742e79202b206b202a206e6f64652e793b0a202020207d0a20207d3b0a7d0a0a76617220726f756e644e6f6465203d2066756e6374696f6e286e6f646529207b0a20206e6f64652e7830203d204d6174682e726f756e64286e6f64652e7830293b0a20206e6f64652e7930203d204d6174682e726f756e64286e6f64652e7930293b0a20206e6f64652e7831203d204d6174682e726f756e64286e6f64652e7831293b0a20206e6f64652e7931203d204d6174682e726f756e64286e6f64652e7931293b0a7d3b0a0a76617220747265656d617044696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287831202d20783029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7930203d2079302c206e6f64652e7931203d2079313b0a202020206e6f64652e7830203d2078302c206e6f64652e7831203d207830202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d3b0a0a76617220706172746974696f6e203d2066756e6374696f6e2829207b0a2020766172206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67203d20302c0a202020202020726f756e64203d2066616c73653b0a0a202066756e6374696f6e20706172746974696f6e28726f6f7429207b0a20202020766172206e203d20726f6f742e686569676874202b20313b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d2070616464696e673b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d206479202f206e3b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f64652864792c206e29293b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f64652864792c206e29207b0a2020202072657475726e2066756e6374696f6e286e6f646529207b0a202020202020696620286e6f64652e6368696c6472656e29207b0a2020202020202020747265656d617044696365286e6f64652c206e6f64652e78302c206479202a20286e6f64652e6465707468202b203129202f206e2c206e6f64652e78312c206479202a20286e6f64652e6465707468202b203229202f206e293b0a2020202020207d0a202020202020766172207830203d206e6f64652e78302c0a202020202020202020207930203d206e6f64652e79302c0a202020202020202020207831203d206e6f64652e7831202d2070616464696e672c0a202020202020202020207931203d206e6f64652e7931202d2070616464696e673b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a2020202020206e6f64652e7830203d2078303b0a2020202020206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078313b0a2020202020206e6f64652e7931203d2079313b0a202020207d3b0a20207d0a0a2020706172746974696f6e2e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20706172746974696f6e29203a20726f756e643b0a20207d3b0a0a2020706172746974696f6e2e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20706172746974696f6e29203a205b64782c2064795d3b0a20207d3b0a0a2020706172746974696f6e2e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67203d202b782c20706172746974696f6e29203a2070616464696e673b0a20207d3b0a0a202072657475726e20706172746974696f6e3b0a7d3b0a0a766172206b6579507265666978203d202224223b0a76617220707265726f6f74203d207b64657074683a202d317d3b0a76617220616d626967756f7573203d207b7d3b0a0a66756e6374696f6e2064656661756c744964286429207b0a202072657475726e20642e69643b0a7d0a0a66756e6374696f6e2064656661756c74506172656e744964286429207b0a202072657475726e20642e706172656e7449643b0a7d0a0a766172207374726174696679203d2066756e6374696f6e2829207b0a2020766172206964203d2064656661756c7449642c0a202020202020706172656e744964203d2064656661756c74506172656e7449643b0a0a202066756e6374696f6e207374726174696679286461746129207b0a2020202076617220642c0a2020202020202020692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020726f6f742c0a2020202020202020706172656e742c0a20202020202020206e6f64652c0a20202020202020206e6f646573203d206e6577204172726179286e292c0a20202020202020206e6f646549642c0a20202020202020206e6f64654b65792c0a20202020202020206e6f646542794b6579203d207b7d3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202064203d20646174615b695d2c206e6f6465203d206e6f6465735b695d203d206e6577204e6f64652864293b0a20202020202069662028286e6f64654964203d20696428642c20692c2064617461292920213d206e756c6c20262620286e6f64654964202b3d2022222929207b0a20202020202020206e6f64654b6579203d206b6579507265666978202b20286e6f64652e6964203d206e6f64654964293b0a20202020202020206e6f646542794b65795b6e6f64654b65795d203d206e6f64654b657920696e206e6f646542794b6579203f20616d626967756f7573203a206e6f64653b0a2020202020207d0a202020207d0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202020206e6f6465203d206e6f6465735b695d2c206e6f64654964203d20706172656e74496428646174615b695d2c20692c2064617461293b0a202020202020696620286e6f64654964203d3d206e756c6c207c7c2021286e6f64654964202b3d2022222929207b0a202020202020202069662028726f6f7429207468726f77206e6577204572726f7228226d756c7469706c6520726f6f747322293b0a2020202020202020726f6f74203d206e6f64653b0a2020202020207d20656c7365207b0a2020202020202020706172656e74203d206e6f646542794b65795b6b6579507265666978202b206e6f646549645d3b0a20202020202020206966202821706172656e7429207468726f77206e6577204572726f7228226d697373696e673a2022202b206e6f64654964293b0a202020202020202069662028706172656e74203d3d3d20616d626967756f757329207468726f77206e6577204572726f722822616d626967756f75733a2022202b206e6f64654964293b0a202020202020202069662028706172656e742e6368696c6472656e2920706172656e742e6368696c6472656e2e70757368286e6f6465293b0a2020202020202020656c736520706172656e742e6368696c6472656e203d205b6e6f64655d3b0a20202020202020206e6f64652e706172656e74203d20706172656e743b0a2020202020207d0a202020207d0a0a202020206966202821726f6f7429207468726f77206e6577204572726f7228226e6f20726f6f7422293b0a20202020726f6f742e706172656e74203d20707265726f6f743b0a20202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b206e6f64652e6465707468203d206e6f64652e706172656e742e6465707468202b20313b202d2d6e3b207d292e656163684265666f726528636f6d70757465486569676874293b0a20202020726f6f742e706172656e74203d206e756c6c3b0a20202020696620286e203e203029207468726f77206e6577204572726f7228226379636c6522293b0a0a2020202072657475726e20726f6f743b0a20207d0a0a202073747261746966792e6964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286964203d2072657175697265642878292c20737472617469667929203a2069643b0a20207d3b0a0a202073747261746966792e706172656e744964203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706172656e744964203d2072657175697265642878292c20737472617469667929203a20706172656e7449643b0a20207d3b0a0a202072657475726e2073747261746966793b0a7d3b0a0a66756e6374696f6e2064656661756c7453657061726174696f6e243128612c206229207b0a202072657475726e20612e706172656e74203d3d3d20622e706172656e74203f2031203a20323b0a7d0a0a2f2f2066756e6374696f6e2072616469616c53657061726174696f6e28612c206229207b0a2f2f20202072657475726e2028612e706172656e74203d3d3d20622e706172656e74203f2031203a203229202f20612e64657074683b0a2f2f207d0a0a2f2f20546869732066756e6374696f6e206973207573656420746f20747261766572736520746865206c65667420636f6e746f7572206f662061207375627472656520286f720a2f2f20737562666f72657374292e2049742072657475726e732074686520737563636573736f72206f662076206f6e207468697320636f6e746f75722e205468697320737563636573736f722069730a2f2f2065697468657220676976656e20627920746865206c6566746d6f7374206368696c64206f662076206f722062792074686520746872656164206f6620762e205468652066756e6374696f6e0a2f2f2072657475726e73206e756c6c20696620616e64206f6e6c792069662076206973206f6e207468652068696768657374206c6576656c206f662069747320737562747265652e0a66756e6374696f6e206e6578744c656674287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b305d203a20762e743b0a7d0a0a2f2f20546869732066756e6374696f6e20776f726b7320616e616c6f676f75736c7920746f206e6578744c6566742e0a66756e6374696f6e206e6578745269676874287629207b0a2020766172206368696c6472656e203d20762e6368696c6472656e3b0a202072657475726e206368696c6472656e203f206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d203a20762e743b0a7d0a0a2f2f20536869667473207468652063757272656e74207375627472656520726f6f74656420617420772b2e205468697320697320646f6e6520627920696e6372656173696e670a2f2f207072656c696d28772b2920616e64206d6f6428772b292062792073686966742e0a66756e6374696f6e206d6f76655375627472656528776d2c2077702c20736869667429207b0a2020766172206368616e6765203d207368696674202f202877702e69202d20776d2e69293b0a202077702e63202d3d206368616e67653b0a202077702e73202b3d2073686966743b0a2020776d2e63202b3d206368616e67653b0a202077702e7a202b3d2073686966743b0a202077702e6d202b3d2073686966743b0a7d0a0a2f2f20416c6c206f74686572207368696674732c206170706c69656420746f2074686520736d616c6c6572207375627472656573206265747765656e20772d20616e6420772b2c206172650a2f2f20706572666f726d656420627920746869732066756e6374696f6e2e20546f207072657061726520746865207368696674732c207765206861766520746f2061646a7573740a2f2f206368616e676528772b292c20736869667428772b292c20616e64206368616e676528772d292e0a66756e6374696f6e2065786563757465536869667473287629207b0a2020766172207368696674203d20302c0a2020202020206368616e6765203d20302c0a2020202020206368696c6472656e203d20762e6368696c6472656e2c0a20202020202069203d206368696c6472656e2e6c656e6774682c0a202020202020773b0a20207768696c6520282d2d69203e3d203029207b0a2020202077203d206368696c6472656e5b695d3b0a20202020772e7a202b3d2073686966743b0a20202020772e6d202b3d2073686966743b0a202020207368696674202b3d20772e73202b20286368616e6765202b3d20772e63293b0a20207d0a7d0a0a2f2f2049662076692de280997320616e636573746f722069732061207369626c696e67206f6620762c2072657475726e732076692de280997320616e636573746f722e204f74686572776973652c0a2f2f2072657475726e732074686520737065636966696564202864656661756c742920616e636573746f722e0a66756e6374696f6e206e657874416e636573746f722876696d2c20762c20616e636573746f7229207b0a202072657475726e2076696d2e612e706172656e74203d3d3d20762e706172656e74203f2076696d2e61203a20616e636573746f723b0a7d0a0a66756e6374696f6e20547265654e6f6465286e6f64652c206929207b0a2020746869732e5f203d206e6f64653b0a2020746869732e706172656e74203d206e756c6c3b0a2020746869732e6368696c6472656e203d206e756c6c3b0a2020746869732e41203d206e756c6c3b202f2f2064656661756c7420616e636573746f720a2020746869732e61203d20746869733b202f2f20616e636573746f720a2020746869732e7a203d20303b202f2f207072656c696d0a2020746869732e6d203d20303b202f2f206d6f640a2020746869732e63203d20303b202f2f206368616e67650a2020746869732e73203d20303b202f2f2073686966740a2020746869732e74203d206e756c6c3b202f2f207468726561640a2020746869732e69203d20693b202f2f206e756d6265720a7d0a0a547265654e6f64652e70726f746f74797065203d204f626a6563742e637265617465284e6f64652e70726f746f74797065293b0a0a66756e6374696f6e2074726565526f6f7428726f6f7429207b0a20207661722074726565203d206e657720547265654e6f646528726f6f742c2030292c0a2020202020206e6f64652c0a2020202020206e6f646573203d205b747265655d2c0a2020202020206368696c642c0a2020202020206368696c6472656e2c0a202020202020692c0a2020202020206e3b0a0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020696620286368696c6472656e203d206e6f64652e5f2e6368696c6472656e29207b0a2020202020206e6f64652e6368696c6472656e203d206e6577204172726179286e203d206368696c6472656e2e6c656e677468293b0a202020202020666f72202869203d206e202d20313b2069203e3d20303b202d2d6929207b0a20202020202020206e6f6465732e70757368286368696c64203d206e6f64652e6368696c6472656e5b695d203d206e657720547265654e6f6465286368696c6472656e5b695d2c206929293b0a20202020202020206368696c642e706172656e74203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202028747265652e706172656e74203d206e657720547265654e6f6465286e756c6c2c203029292e6368696c6472656e203d205b747265655d3b0a202072657475726e20747265653b0a7d0a0a2f2f204e6f64652d6c696e6b2074726565206469616772616d207573696e6720746865205265696e676f6c642d54696c666f72642022746964792220616c676f726974686d0a7661722074726565203d2066756e6374696f6e2829207b0a20207661722073657061726174696f6e203d2064656661756c7453657061726174696f6e24312c0a2020202020206478203d20312c0a2020202020206479203d20312c0a2020202020206e6f646553697a65203d206e756c6c3b0a0a202066756e6374696f6e207472656528726f6f7429207b0a202020207661722074203d2074726565526f6f7428726f6f74293b0a0a202020202f2f20436f6d7075746520746865206c61796f7574207573696e6720427563686865696d20657420616c2ee280997320616c676f726974686d2e0a20202020742e65616368416674657228666972737457616c6b292c20742e706172656e742e6d203d202d742e7a3b0a20202020742e656163684265666f7265287365636f6e6457616c6b293b0a0a202020202f2f2049662061206669786564206e6f64652073697a65206973207370656369666965642c207363616c65207820616e6420792e0a20202020696620286e6f646553697a652920726f6f742e656163684265666f72652873697a654e6f6465293b0a0a202020202f2f204966206120666978656420747265652073697a65206973207370656369666965642c207363616c65207820616e642079206261736564206f6e2074686520657874656e742e0a202020202f2f20436f6d7075746520746865206c6566742d6d6f73742c2072696768742d6d6f73742c20616e642064657074682d6d6f7374206e6f64657320666f7220657874656e74732e0a20202020656c7365207b0a202020202020766172206c656674203d20726f6f742c0a202020202020202020207269676874203d20726f6f742c0a20202020202020202020626f74746f6d203d20726f6f743b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a2020202020202020696620286e6f64652e78203c206c6566742e7829206c656674203d206e6f64653b0a2020202020202020696620286e6f64652e78203e2072696768742e7829207269676874203d206e6f64653b0a2020202020202020696620286e6f64652e6465707468203e20626f74746f6d2e64657074682920626f74746f6d203d206e6f64653b0a2020202020207d293b0a2020202020207661722073203d206c656674203d3d3d207269676874203f2031203a2073657061726174696f6e286c6566742c20726967687429202f20322c0a202020202020202020207478203d2073202d206c6566742e782c0a202020202020202020206b78203d206478202f202872696768742e78202b2073202b207478292c0a202020202020202020206b79203d206479202f2028626f74746f6d2e6465707468207c7c2031293b0a202020202020726f6f742e656163684265666f72652866756e6374696f6e286e6f646529207b0a20202020202020206e6f64652e78203d20286e6f64652e78202b20747829202a206b783b0a20202020202020206e6f64652e79203d206e6f64652e6465707468202a206b793b0a2020202020207d293b0a202020207d0a0a2020202072657475726e20726f6f743b0a20207d0a0a20202f2f20436f6d70757465732061207072656c696d696e61727920782d636f6f7264696e61746520666f7220762e204265666f726520746861742c2046495253542057414c4b2069730a20202f2f206170706c696564207265637572736976656c7920746f20746865206368696c6472656e206f6620762c2061732077656c6c206173207468652066756e6374696f6e0a20202f2f204150504f5254494f4e2e2041667465722073706163696e67206f757420746865206368696c6472656e2062792063616c6c696e672045584543555445205348494654532c207468650a20202f2f206e6f6465207620697320706c6163656420746f20746865206d6964706f696e74206f6620697473206f757465726d6f7374206368696c6472656e2e0a202066756e6374696f6e20666972737457616c6b287629207b0a20202020766172206368696c6472656e203d20762e6368696c6472656e2c0a20202020202020207369626c696e6773203d20762e706172656e742e6368696c6472656e2c0a202020202020202077203d20762e69203f207369626c696e67735b762e69202d20315d203a206e756c6c3b0a20202020696620286368696c6472656e29207b0a202020202020657865637574655368696674732876293b0a202020202020766172206d6964706f696e74203d20286368696c6472656e5b305d2e7a202b206368696c6472656e5b6368696c6472656e2e6c656e677468202d20315d2e7a29202f20323b0a202020202020696620287729207b0a2020202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a2020202020202020762e6d203d20762e7a202d206d6964706f696e743b0a2020202020207d20656c7365207b0a2020202020202020762e7a203d206d6964706f696e743b0a2020202020207d0a202020207d20656c736520696620287729207b0a202020202020762e7a203d20772e7a202b2073657061726174696f6e28762e5f2c20772e5f293b0a202020207d0a20202020762e706172656e742e41203d206170706f7274696f6e28762c20772c20762e706172656e742e41207c7c207369626c696e67735b305d293b0a20207d0a0a20202f2f20436f6d707574657320616c6c207265616c20782d636f6f7264696e617465732062792073756d6d696e6720757020746865206d6f64696669657273207265637572736976656c792e0a202066756e6374696f6e207365636f6e6457616c6b287629207b0a20202020762e5f2e78203d20762e7a202b20762e706172656e742e6d3b0a20202020762e6d202b3d20762e706172656e742e6d3b0a20207d0a0a20202f2f2054686520636f7265206f662074686520616c676f726974686d2e20486572652c2061206e6577207375627472656520697320636f6d62696e65642077697468207468650a20202f2f2070726576696f75732073756274726565732e205468726561647320617265207573656420746f2074726176657273652074686520696e7369646520616e64206f7574736964650a20202f2f20636f6e746f757273206f6620746865206c65667420616e64207269676874207375627472656520757020746f20746865206869676865737420636f6d6d6f6e206c6576656c2e205468650a20202f2f207665727469636573207573656420666f72207468652074726176657273616c73206172652076692b2c2076692d2c20766f2d2c20616e6420766f2b2c207768657265207468650a20202f2f207375706572736372697074206f206d65616e73206f75747369646520616e642069206d65616e7320696e736964652c2074686520737562736372697074202d206d65616e73206c6566740a20202f2f207375627472656520616e64202b206d65616e7320726967687420737562747265652e20466f722073756d6d696e6720757020746865206d6f6469666965727320616c6f6e67207468650a20202f2f20636f6e746f75722c207765207573652072657370656374697665207661726961626c65732073692b2c2073692d2c20736f2d2c20616e6420736f2b2e205768656e657665722074776f0a20202f2f206e6f646573206f662074686520696e7369646520636f6e746f75727320636f6e666c6963742c20776520636f6d7075746520746865206c656674206f6e65206f66207468650a20202f2f20677265617465737420756e636f6d6d6f6e20616e636573746f7273207573696e67207468652066756e6374696f6e20414e434553544f5220616e642063616c6c204d4f56450a20202f2f205355425452454520746f20736869667420746865207375627472656520616e6420707265706172652074686520736869667473206f6620736d616c6c65722073756274726565732e0a20202f2f2046696e616c6c792c207765206164642061206e65772074687265616420286966206e6563657373617279292e0a202066756e6374696f6e206170706f7274696f6e28762c20772c20616e636573746f7229207b0a20202020696620287729207b0a20202020202076617220766970203d20762c0a20202020202020202020766f70203d20762c0a2020202020202020202076696d203d20772c0a20202020202020202020766f6d203d207669702e706172656e742e6368696c6472656e5b305d2c0a20202020202020202020736970203d207669702e6d2c0a20202020202020202020736f70203d20766f702e6d2c0a2020202020202020202073696d203d2076696d2e6d2c0a20202020202020202020736f6d203d20766f6d2e6d2c0a2020202020202020202073686966743b0a2020202020207768696c65202876696d203d206e65787452696768742876696d292c20766970203d206e6578744c65667428766970292c2076696d2026262076697029207b0a2020202020202020766f6d203d206e6578744c65667428766f6d293b0a2020202020202020766f70203d206e657874526967687428766f70293b0a2020202020202020766f702e61203d20763b0a20202020202020207368696674203d2076696d2e7a202b2073696d202d207669702e7a202d20736970202b2073657061726174696f6e2876696d2e5f2c207669702e5f293b0a2020202020202020696620287368696674203e203029207b0a202020202020202020206d6f766553756274726565286e657874416e636573746f722876696d2c20762c20616e636573746f72292c20762c207368696674293b0a20202020202020202020736970202b3d2073686966743b0a20202020202020202020736f70202b3d2073686966743b0a20202020202020207d0a202020202020202073696d202b3d2076696d2e6d3b0a2020202020202020736970202b3d207669702e6d3b0a2020202020202020736f6d202b3d20766f6d2e6d3b0a2020202020202020736f70202b3d20766f702e6d3b0a2020202020207d0a2020202020206966202876696d20262620216e657874526967687428766f702929207b0a2020202020202020766f702e74203d2076696d3b0a2020202020202020766f702e6d202b3d2073696d202d20736f703b0a2020202020207d0a2020202020206966202876697020262620216e6578744c65667428766f6d2929207b0a2020202020202020766f6d2e74203d207669703b0a2020202020202020766f6d2e6d202b3d20736970202d20736f6d3b0a2020202020202020616e636573746f72203d20763b0a2020202020207d0a202020207d0a2020202072657475726e20616e636573746f723b0a20207d0a0a202066756e6374696f6e2073697a654e6f6465286e6f646529207b0a202020206e6f64652e78202a3d2064783b0a202020206e6f64652e79203d206e6f64652e6465707468202a2064793b0a20207d0a0a2020747265652e73657061726174696f6e203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873657061726174696f6e203d20782c207472656529203a2073657061726174696f6e3b0a20207d3b0a0a2020747265652e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d2066616c73652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f206e756c6c203a205b64782c2064795d293b0a20207d3b0a0a2020747265652e6e6f646553697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e6f646553697a65203d20747275652c206478203d202b785b305d2c206479203d202b785b315d2c207472656529203a20286e6f646553697a65203f205b64782c2064795d203a206e756c6c293b0a20207d3b0a0a202072657475726e20747265653b0a7d3b0a0a76617220747265656d6170536c696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a2020202020206e6f64652c0a20202020202069203d202d312c0a2020202020206e203d206e6f6465732e6c656e6774682c0a2020202020206b203d20706172656e742e76616c756520262620287931202d20793029202f20706172656e742e76616c75653b0a0a20207768696c6520282b2b69203c206e29207b0a202020206e6f6465203d206e6f6465735b695d2c206e6f64652e7830203d2078302c206e6f64652e7831203d2078313b0a202020206e6f64652e7930203d2079302c206e6f64652e7931203d207930202b3d206e6f64652e76616c7565202a206b3b0a20207d0a7d3b0a0a76617220706869203d202831202b204d6174682e7371727428352929202f20323b0a0a66756e6374696f6e207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c20793129207b0a202076617220726f7773203d205b5d2c0a2020202020206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020726f772c0a2020202020206e6f646556616c75652c0a2020202020206930203d20302c0a2020202020206931203d20302c0a2020202020206e203d206e6f6465732e6c656e6774682c0a20202020202064782c2064792c0a20202020202076616c7565203d20706172656e742e76616c75652c0a20202020202073756d56616c75652c0a2020202020206d696e56616c75652c0a2020202020206d617856616c75652c0a2020202020206e6577526174696f2c0a2020202020206d696e526174696f2c0a202020202020616c7068612c0a202020202020626574613b0a0a20207768696c6520286930203c206e29207b0a202020206478203d207831202d2078302c206479203d207931202d2079303b0a0a202020202f2f2046696e6420746865206e657874206e6f6e2d656d707479206e6f64652e0a20202020646f2073756d56616c7565203d206e6f6465735b69312b2b5d2e76616c75653b207768696c6520282173756d56616c7565202626206931203c206e293b0a202020206d696e56616c7565203d206d617856616c7565203d2073756d56616c75653b0a20202020616c706861203d204d6174682e6d6178286479202f2064782c206478202f20647929202f202876616c7565202a20726174696f293b0a2020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a202020206d696e526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a0a202020202f2f204b65657020616464696e67206e6f646573207768696c65207468652061737065637420726174696f206d61696e7461696e73206f7220696d70726f7665732e0a20202020666f7220283b206931203c206e3b202b2b693129207b0a20202020202073756d56616c7565202b3d206e6f646556616c7565203d206e6f6465735b69315d2e76616c75653b0a202020202020696620286e6f646556616c7565203c206d696e56616c756529206d696e56616c7565203d206e6f646556616c75653b0a202020202020696620286e6f646556616c7565203e206d617856616c756529206d617856616c7565203d206e6f646556616c75653b0a20202020202062657461203d2073756d56616c7565202a2073756d56616c7565202a20616c7068613b0a2020202020206e6577526174696f203d204d6174682e6d6178286d617856616c7565202f20626574612c2062657461202f206d696e56616c7565293b0a202020202020696620286e6577526174696f203e206d696e526174696f29207b2073756d56616c7565202d3d206e6f646556616c75653b20627265616b3b207d0a2020202020206d696e526174696f203d206e6577526174696f3b0a202020207d0a0a202020202f2f20506f736974696f6e20616e64207265636f72642074686520726f77206f7269656e746174696f6e2e0a20202020726f77732e7075736828726f77203d207b76616c75653a2073756d56616c75652c20646963653a206478203c2064792c206368696c6472656e3a206e6f6465732e736c6963652869302c206931297d293b0a2020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c2076616c7565203f207930202b3d206479202a2073756d56616c7565202f2076616c7565203a207931293b0a20202020656c736520747265656d6170536c69636528726f772c2078302c2079302c2076616c7565203f207830202b3d206478202a2073756d56616c7565202f2076616c7565203a2078312c207931293b0a2020202076616c7565202d3d2073756d56616c75652c206930203d2069313b0a20207d0a0a202072657475726e20726f77733b0a7d0a0a766172207371756172696679203d20282866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e20737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a20207d0a0a202073717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e2073717561726966793b0a7d292928706869293b0a0a76617220696e6465782431203d2066756e6374696f6e2829207b0a20207661722074696c65203d2073717561726966792c0a202020202020726f756e64203d2066616c73652c0a2020202020206478203d20312c0a2020202020206479203d20312c0a20202020202070616464696e67537461636b203d205b305d2c0a20202020202070616464696e67496e6e6572203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67546f70203d20636f6e7374616e745a65726f2c0a20202020202070616464696e675269676874203d20636f6e7374616e745a65726f2c0a20202020202070616464696e67426f74746f6d203d20636f6e7374616e745a65726f2c0a20202020202070616464696e674c656674203d20636f6e7374616e745a65726f3b0a0a202066756e6374696f6e20747265656d617028726f6f7429207b0a20202020726f6f742e7830203d0a20202020726f6f742e7930203d20303b0a20202020726f6f742e7831203d2064783b0a20202020726f6f742e7931203d2064793b0a20202020726f6f742e656163684265666f726528706f736974696f6e4e6f6465293b0a2020202070616464696e67537461636b203d205b305d3b0a2020202069662028726f756e642920726f6f742e656163684265666f726528726f756e644e6f6465293b0a2020202072657475726e20726f6f743b0a20207d0a0a202066756e6374696f6e20706f736974696f6e4e6f6465286e6f646529207b0a202020207661722070203d2070616464696e67537461636b5b6e6f64652e64657074685d2c0a20202020202020207830203d206e6f64652e7830202b20702c0a20202020202020207930203d206e6f64652e7930202b20702c0a20202020202020207831203d206e6f64652e7831202d20702c0a20202020202020207931203d206e6f64652e7931202d20703b0a20202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a20202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a202020206e6f64652e7830203d2078303b0a202020206e6f64652e7930203d2079303b0a202020206e6f64652e7831203d2078313b0a202020206e6f64652e7931203d2079313b0a20202020696620286e6f64652e6368696c6472656e29207b0a20202020202070203d2070616464696e67537461636b5b6e6f64652e6465707468202b20315d203d2070616464696e67496e6e6572286e6f646529202f20323b0a2020202020207830202b3d2070616464696e674c656674286e6f646529202d20703b0a2020202020207930202b3d2070616464696e67546f70286e6f646529202d20703b0a2020202020207831202d3d2070616464696e675269676874286e6f646529202d20703b0a2020202020207931202d3d2070616464696e67426f74746f6d286e6f646529202d20703b0a202020202020696620287831203c20783029207830203d207831203d20287830202b20783129202f20323b0a202020202020696620287931203c20793029207930203d207931203d20287930202b20793129202f20323b0a20202020202074696c65286e6f64652c2078302c2079302c2078312c207931293b0a202020207d0a20207d0a0a2020747265656d61702e726f756e64203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d202121782c20747265656d617029203a20726f756e643b0a20207d3b0a0a2020747265656d61702e73697a65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286478203d202b785b305d2c206479203d202b785b315d2c20747265656d617029203a205b64782c2064795d3b0a20207d3b0a0a2020747265656d61702e74696c65203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874696c65203d2072657175697265642878292c20747265656d617029203a2074696c653b0a20207d3b0a0a2020747265656d61702e70616464696e67203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67496e6e65722878292e70616464696e674f75746572287829203a20747265656d61702e70616464696e67496e6e657228293b0a20207d3b0a0a2020747265656d61702e70616464696e67496e6e6572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67496e6e65723b0a20207d3b0a0a2020747265656d61702e70616464696e674f75746572203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20747265656d61702e70616464696e67546f702878292e70616464696e6752696768742878292e70616464696e67426f74746f6d2878292e70616464696e674c656674287829203a20747265656d61702e70616464696e67546f7028293b0a20207d3b0a0a2020747265656d61702e70616464696e67546f70203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67546f70203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67546f703b0a20207d3b0a0a2020747265656d61702e70616464696e675269676874203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e675269676874203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e6752696768743b0a20207d3b0a0a2020747265656d61702e70616464696e67426f74746f6d203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67426f74746f6d203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e67426f74746f6d3b0a20207d3b0a0a2020747265656d61702e70616464696e674c656674203d2066756e6374696f6e287829207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674c656674203d20747970656f662078203d3d3d202266756e6374696f6e22203f2078203a20636f6e7374616e74282b78292c20747265656d617029203a2070616464696e674c6566743b0a20207d3b0a0a202072657475726e20747265656d61703b0a7d3b0a0a7661722062696e617279203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a2020766172206e6f646573203d20706172656e742e6368696c6472656e2c0a202020202020692c206e203d206e6f6465732e6c656e6774682c0a20202020202073756d2c2073756d73203d206e6577204172726179286e202b2031293b0a0a2020666f72202873756d735b305d203d2073756d203d2069203d20303b2069203c206e3b202b2b6929207b0a2020202073756d735b69202b20315d203d2073756d202b3d206e6f6465735b695d2e76616c75653b0a20207d0a0a2020706172746974696f6e28302c206e2c20706172656e742e76616c75652c2078302c2079302c2078312c207931293b0a0a202066756e6374696f6e20706172746974696f6e28692c206a2c2076616c75652c2078302c2079302c2078312c20793129207b0a202020206966202869203e3d206a202d203129207b0a202020202020766172206e6f6465203d206e6f6465735b695d3b0a2020202020206e6f64652e7830203d2078302c206e6f64652e7930203d2079303b0a2020202020206e6f64652e7831203d2078312c206e6f64652e7931203d2079313b0a20202020202072657475726e3b0a202020207d0a0a202020207661722076616c75654f6666736574203d2073756d735b695d2c0a202020202020202076616c7565546172676574203d202876616c7565202f203229202b2076616c75654f66667365742c0a20202020202020206b203d2069202b20312c0a20202020202020206869203d206a202d20313b0a0a202020207768696c6520286b203c20686929207b0a202020202020766172206d6964203d206b202b206869203e3e3e20313b0a2020202020206966202873756d735b6d69645d203c2076616c756554617267657429206b203d206d6964202b20313b0a202020202020656c7365206869203d206d69643b0a202020207d0a0a20202020696620282876616c7565546172676574202d2073756d735b6b202d20315d29203c202873756d735b6b5d202d2076616c7565546172676574292026262069202b2031203c206b29202d2d6b3b0a0a202020207661722076616c75654c656674203d2073756d735b6b5d202d2076616c75654f66667365742c0a202020202020202076616c75655269676874203d2076616c7565202d2076616c75654c6566743b0a0a2020202069662028287831202d20783029203e20287931202d2079302929207b0a20202020202076617220786b203d20287830202a2076616c75655269676874202b207831202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c20786b2c207931293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c20786b2c2079302c2078312c207931293b0a202020207d20656c7365207b0a20202020202076617220796b203d20287930202a2076616c75655269676874202b207931202a2076616c75654c65667429202f2076616c75653b0a202020202020706172746974696f6e28692c206b2c2076616c75654c6566742c2078302c2079302c2078312c20796b293b0a202020202020706172746974696f6e286b2c206a2c2076616c756552696768742c2078302c20796b2c2078312c207931293b0a202020207d0a20207d0a7d3b0a0a76617220736c69636544696365203d2066756e6374696f6e28706172656e742c2078302c2079302c2078312c20793129207b0a202028706172656e742e646570746820262031203f20747265656d6170536c696365203a20747265656d6170446963652928706172656e742c2078302c2079302c2078312c207931293b0a7d3b0a0a7661722072657371756172696679203d20282866756e6374696f6e20637573746f6d28726174696f29207b0a0a202066756e6374696f6e207265737175617269667928706172656e742c2078302c2079302c2078312c20793129207b0a202020206966202828726f7773203d20706172656e742e5f7371756172696679292026262028726f77732e726174696f203d3d3d20726174696f2929207b0a20202020202076617220726f77732c0a20202020202020202020726f772c0a202020202020202020206e6f6465732c0a20202020202020202020692c0a202020202020202020206a203d202d312c0a202020202020202020206e2c0a202020202020202020206d203d20726f77732e6c656e6774682c0a2020202020202020202076616c7565203d20706172656e742e76616c75653b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a2020202020202020726f77203d20726f77735b6a5d2c206e6f646573203d20726f772e6368696c6472656e3b0a2020202020202020666f72202869203d20726f772e76616c7565203d20302c206e203d206e6f6465732e6c656e6774683b2069203c206e3b202b2b692920726f772e76616c7565202b3d206e6f6465735b695d2e76616c75653b0a202020202020202069662028726f772e646963652920747265656d61704469636528726f772c2078302c2079302c2078312c207930202b3d20287931202d20793029202a20726f772e76616c7565202f2076616c7565293b0a2020202020202020656c736520747265656d6170536c69636528726f772c2078302c2079302c207830202b3d20287831202d20783029202a20726f772e76616c7565202f2076616c75652c207931293b0a202020202020202076616c7565202d3d20726f772e76616c75653b0a2020202020207d0a202020207d20656c7365207b0a202020202020706172656e742e5f7371756172696679203d20726f7773203d207371756172696679526174696f28726174696f2c20706172656e742c2078302c2079302c2078312c207931293b0a202020202020726f77732e726174696f203d20726174696f3b0a202020207d0a20207d0a0a2020726573717561726966792e726174696f203d2066756e6374696f6e287829207b0a2020202072657475726e20637573746f6d282878203d202b7829203e2031203f2078203a2031293b0a20207d3b0a0a202072657475726e20726573717561726966793b0a7d292928706869293b0a0a6578706f7274732e636c7573746572203d20636c75737465723b0a6578706f7274732e686965726172636879203d206869657261726368793b0a6578706f7274732e7061636b203d20696e6465783b0a6578706f7274732e7061636b5369626c696e6773203d207369626c696e67733b0a6578706f7274732e7061636b456e636c6f7365203d20656e636c6f73653b0a6578706f7274732e706172746974696f6e203d20706172746974696f6e3b0a6578706f7274732e7374726174696679203d2073747261746966793b0a6578706f7274732e74726565203d20747265653b0a6578706f7274732e747265656d6170203d20696e64657824313b0a6578706f7274732e747265656d617042696e617279203d2062696e6172793b0a6578706f7274732e747265656d617044696365203d20747265656d6170446963653b0a6578706f7274732e747265656d6170536c696365203d20747265656d6170536c6963653b0a6578706f7274732e747265656d6170536c69636544696365203d20736c696365446963653b0a6578706f7274732e747265656d61705371756172696679203d2073717561726966793b0a6578706f7274732e747265656d617052657371756172696679203d20726573717561726966793b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d696e746572706f6c6174652f2056657273696f6e20312e312e362e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d636f6c6f72272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d636f6c6f72275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c6433436f6c6f7229207b202775736520737472696374273b0a0a66756e6374696f6e2062617369732874312c2076302c2076312c2076322c20763329207b0a2020766172207432203d207431202a2074312c207433203d207432202a2074313b0a202072657475726e20282831202d2033202a207431202b2033202a207432202d20743329202a2076300a2020202020202b202834202d2036202a207432202b2033202a20743329202a2076310a2020202020202b202831202b2033202a207431202b2033202a207432202d2033202a20743329202a2076320a2020202020202b207433202a20763329202f20363b0a7d0a0a7661722062617369732431203d2066756e6374696f6e2876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e677468202d20313b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d2074203c3d2030203f202874203d203029203a2074203e3d2031203f202874203d20312c206e202d203129203a204d6174682e666c6f6f722874202a206e292c0a20202020202020207631203d2076616c7565735b695d2c0a20202020202020207632203d2076616c7565735b69202b20315d2c0a20202020202020207630203d2069203e2030203f2076616c7565735b69202d20315d203a2032202a207631202d2076322c0a20202020202020207633203d2069203c206e202d2031203f2076616c7565735b69202b20325d203a2032202a207632202d2076313b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d3b0a0a766172206261736973436c6f736564203d2066756e6374696f6e2876616c75657329207b0a2020766172206e203d2076616c7565732e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a202020207661722069203d204d6174682e666c6f6f722828287420253d203129203c2030203f202b2b74203a207429202a206e292c0a20202020202020207630203d2076616c7565735b2869202b206e202d2031292025206e5d2c0a20202020202020207631203d2076616c7565735b692025206e5d2c0a20202020202020207632203d2076616c7565735b2869202b2031292025206e5d2c0a20202020202020207633203d2076616c7565735b2869202b2032292025206e5d3b0a2020202072657475726e206261736973282874202d2069202f206e29202a206e2c2076302c2076312c2076322c207633293b0a20207d3b0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e206c696e65617228612c206429207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2061202b2074202a20643b0a20207d3b0a7d0a0a66756e6374696f6e206578706f6e656e7469616c28612c20622c207929207b0a202072657475726e2061203d204d6174682e706f7728612c2079292c2062203d204d6174682e706f7728622c207929202d20612c2079203d2031202f20792c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e706f772861202b2074202a20622c2079293b0a20207d3b0a7d0a0a66756e6374696f6e2068756528612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c2064203e20313830207c7c2064203c202d313830203f2064202d20333630202a204d6174682e726f756e642864202f2033363029203a206429203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a7d0a0a66756e6374696f6e2067616d6d61287929207b0a202072657475726e202879203d202b7929203d3d3d2031203f206e6f67616d6d61203a2066756e6374696f6e28612c206229207b0a2020202072657475726e2062202d2061203f206578706f6e656e7469616c28612c20622c207929203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a20207d3b0a7d0a0a66756e6374696f6e206e6f67616d6d6128612c206229207b0a20207661722064203d2062202d20613b0a202072657475726e2064203f206c696e65617228612c206429203a20636f6e7374616e742869734e614e286129203f2062203a2061293b0a7d0a0a766172207267622431203d20282866756e6374696f6e2072676247616d6d61287929207b0a202076617220636f6c6f72242431203d2067616d6d612879293b0a0a202066756e6374696f6e207267622424312873746172742c20656e6429207b0a202020207661722072203d20636f6c6f7224243128287374617274203d206433436f6c6f722e72676228737461727429292e722c2028656e64203d206433436f6c6f722e72676228656e6429292e72292c0a202020202020202067203d20636f6c6f722424312873746172742e672c20656e642e67292c0a202020202020202062203d20636f6c6f722424312873746172742e622c20656e642e62292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e72203d20722874293b0a20202020202073746172742e67203d20672874293b0a20202020202073746172742e62203d20622874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a0a20207267622424312e67616d6d61203d2072676247616d6d613b0a0a202072657475726e207267622424313b0a7d29292831293b0a0a66756e6374696f6e2072676253706c696e652873706c696e6529207b0a202072657475726e2066756e6374696f6e28636f6c6f727329207b0a20202020766172206e203d20636f6c6f72732e6c656e6774682c0a202020202020202072203d206e6577204172726179286e292c0a202020202020202067203d206e6577204172726179286e292c0a202020202020202062203d206e6577204172726179286e292c0a2020202020202020692c20636f6c6f722424313b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020636f6c6f72242431203d206433436f6c6f722e72676228636f6c6f72735b695d293b0a202020202020725b695d203d20636f6c6f722424312e72207c7c20303b0a202020202020675b695d203d20636f6c6f722424312e67207c7c20303b0a202020202020625b695d203d20636f6c6f722424312e62207c7c20303b0a202020207d0a2020202072203d2073706c696e652872293b0a2020202067203d2073706c696e652867293b0a2020202062203d2073706c696e652862293b0a20202020636f6c6f722424312e6f706163697479203d20313b0a2020202072657475726e2066756e6374696f6e287429207b0a202020202020636f6c6f722424312e72203d20722874293b0a202020202020636f6c6f722424312e67203d20672874293b0a202020202020636f6c6f722424312e62203d20622874293b0a20202020202072657475726e20636f6c6f72242431202b2022223b0a202020207d3b0a20207d3b0a7d0a0a766172207267624261736973203d2072676253706c696e652862617369732431293b0a766172207267624261736973436c6f736564203d2072676253706c696e65286261736973436c6f736564293b0a0a766172206172726179203d2066756e6374696f6e28612c206229207b0a2020766172206e62203d2062203f20622e6c656e677468203a20302c0a2020202020206e61203d2061203f204d6174682e6d696e286e622c20612e6c656e67746829203a20302c0a20202020202078203d206e6577204172726179286e61292c0a20202020202063203d206e6577204172726179286e62292c0a202020202020693b0a0a2020666f72202869203d20303b2069203c206e613b202b2b692920785b695d203d2076616c756528615b695d2c20625b695d293b0a2020666f7220283b2069203c206e623b202b2b692920635b695d203d20625b695d3b0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f72202869203d20303b2069203c206e613b202b2b692920635b695d203d20785b695d2874293b0a2020202072657475726e20633b0a20207d3b0a7d3b0a0a7661722064617465203d2066756e6374696f6e28612c206229207b0a20207661722064203d206e657720446174653b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e20642e73657454696d652861202b2062202a2074292c20643b0a20207d3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e2061202b2062202a20743b0a20207d3b0a7d3b0a0a766172206f626a656374203d2066756e6374696f6e28612c206229207b0a20207661722069203d207b7d2c0a20202020202063203d207b7d2c0a2020202020206b3b0a0a20206966202861203d3d3d206e756c6c207c7c20747970656f66206120213d3d20226f626a65637422292061203d207b7d3b0a20206966202862203d3d3d206e756c6c207c7c20747970656f66206220213d3d20226f626a65637422292062203d207b7d3b0a0a2020666f7220286b20696e206229207b0a20202020696620286b20696e206129207b0a202020202020695b6b5d203d2076616c756528615b6b5d2c20625b6b5d293b0a202020207d20656c7365207b0a202020202020635b6b5d203d20625b6b5d3b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e287429207b0a20202020666f7220286b20696e20692920635b6b5d203d20695b6b5d2874293b0a2020202072657475726e20633b0a20207d3b0a7d3b0a0a76617220726541203d202f5b2d2b5d3f283f3a5c642b5c2e3f5c642a7c5c2e3f5c642b29283f3a5b65455d5b2d2b5d3f5c642b293f2f673b0a76617220726542203d206e657720526567457870287265412e736f757263652c20226722293b0a0a66756e6374696f6e207a65726f286229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20623b0a20207d3b0a7d0a0a66756e6374696f6e206f6e65286229207b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2062287429202b2022223b0a20207d3b0a7d0a0a76617220737472696e67203d2066756e6374696f6e28612c206229207b0a2020766172206269203d207265412e6c617374496e646578203d207265422e6c617374496e646578203d20302c202f2f207363616e20696e64657820666f72206e657874206e756d62657220696e20620a202020202020616d2c202f2f2063757272656e74206d6174636820696e20610a202020202020626d2c202f2f2063757272656e74206d6174636820696e20620a20202020202062732c202f2f20737472696e6720707265636564696e672063757272656e74206e756d62657220696e20622c20696620616e790a20202020202069203d202d312c202f2f20696e64657820696e20730a20202020202073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a20202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a0a20202f2f20436f6572636520696e7075747320746f20737472696e67732e0a202061203d2061202b2022222c2062203d2062202b2022223b0a0a20202f2f20496e746572706f6c617465207061697273206f66206e756d6265727320696e2061202620622e0a20207768696c65202828616d203d207265412e65786563286129290a20202020202026262028626d203d207265422e657865632862292929207b0a2020202069662028286273203d20626d2e696e64657829203e20626929207b202f2f206120737472696e6720707265636564657320746865206e657874206e756d62657220696e20620a2020202020206273203d20622e736c6963652862692c206273293b0a20202020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d2062733b0a202020207d0a202020206966202828616d203d20616d5b305d29203d3d3d2028626d203d20626d5b305d2929207b202f2f206e756d6265727320696e206120262062206d617463680a20202020202069662028735b695d2920735b695d202b3d20626d3b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a202020202020656c736520735b2b2b695d203d20626d3b0a202020207d20656c7365207b202f2f20696e746572706f6c617465206e6f6e2d6d61746368696e67206e756d626572730a202020202020735b2b2b695d203d206e756c6c3b0a202020202020712e70757368287b693a20692c20783a206e756d62657228616d2c20626d297d293b0a202020207d0a202020206269203d207265422e6c617374496e6465783b0a20207d0a0a20202f2f204164642072656d61696e73206f6620622e0a2020696620286269203c20622e6c656e67746829207b0a202020206273203d20622e736c696365286269293b0a2020202069662028735b695d2920735b695d202b3d2062733b202f2f20636f616c6573636520776974682070726576696f757320737472696e670a20202020656c736520735b2b2b695d203d2062733b0a20207d0a0a20202f2f205370656369616c206f7074696d697a6174696f6e20666f72206f6e6c7920612073696e676c65206d617463682e0a20202f2f204f74686572776973652c20696e746572706f6c6174652065616368206f6620746865206e756d6265727320616e642072656a6f696e2074686520737472696e672e0a202072657475726e20732e6c656e677468203c2032203f2028715b305d0a2020202020203f206f6e6528715b305d2e78290a2020202020203a207a65726f286229290a2020202020203a202862203d20712e6c656e6774682c2066756e6374696f6e287429207b0a20202020202020202020666f7220287661722069203d20302c206f3b2069203c20623b202b2b692920735b286f203d20715b695d292e695d203d206f2e782874293b0a2020202020202020202072657475726e20732e6a6f696e282222293b0a20202020202020207d293b0a7d3b0a0a7661722076616c7565203d2066756e6374696f6e28612c206229207b0a20207661722074203d20747970656f6620622c20633b0a202072657475726e2062203d3d206e756c6c207c7c2074203d3d3d2022626f6f6c65616e22203f20636f6e7374616e742862290a2020202020203a202874203d3d3d20226e756d62657222203f206e756d6265720a2020202020203a2074203d3d3d2022737472696e6722203f20282863203d206433436f6c6f722e636f6c6f7228622929203f202862203d20632c20726762243129203a20737472696e67290a2020202020203a206220696e7374616e63656f66206433436f6c6f722e636f6c6f72203f2072676224310a2020202020203a206220696e7374616e63656f662044617465203f20646174650a2020202020203a2041727261792e69734172726179286229203f2061727261790a2020202020203a20747970656f6620622e76616c75654f6620213d3d202266756e6374696f6e2220262620747970656f6620622e746f537472696e6720213d3d202266756e6374696f6e22207c7c2069734e614e286229203f206f626a6563740a2020202020203a206e756d6265722928612c2062293b0a7d3b0a0a76617220726f756e64203d2066756e6374696f6e28612c206229207b0a202072657475726e2061203d202b612c2062202d3d20612c2066756e6374696f6e287429207b0a2020202072657475726e204d6174682e726f756e642861202b2062202a2074293b0a20207d3b0a7d3b0a0a7661722064656772656573203d20313830202f204d6174682e50493b0a0a766172206964656e74697479203d207b0a20207472616e736c617465583a20302c0a20207472616e736c617465593a20302c0a2020726f746174653a20302c0a2020736b6577583a20302c0a20207363616c65583a20312c0a20207363616c65593a20310a7d3b0a0a766172206465636f6d706f7365203d2066756e6374696f6e28612c20622c20632c20642c20652c206629207b0a2020766172207363616c65582c207363616c65592c20736b6577583b0a2020696620287363616c6558203d204d6174682e737172742861202a2061202b2062202a206229292061202f3d207363616c65582c2062202f3d207363616c65583b0a202069662028736b657758203d2061202a2063202b2062202a2064292063202d3d2061202a20736b6577582c2064202d3d2062202a20736b6577583b0a2020696620287363616c6559203d204d6174682e737172742863202a2063202b2064202a206429292063202f3d207363616c65592c2064202f3d207363616c65592c20736b657758202f3d207363616c65593b0a20206966202861202a2064203c2062202a2063292061203d202d612c2062203d202d622c20736b657758203d202d736b6577582c207363616c6558203d202d7363616c65583b0a202072657475726e207b0a202020207472616e736c617465583a20652c0a202020207472616e736c617465593a20662c0a20202020726f746174653a204d6174682e6174616e3228622c206129202a20646567726565732c0a20202020736b6577583a204d6174682e6174616e28736b65775829202a20646567726565732c0a202020207363616c65583a207363616c65582c0a202020207363616c65593a207363616c65590a20207d3b0a7d3b0a0a766172206373734e6f64653b0a76617220637373526f6f743b0a76617220637373566965773b0a766172207376674e6f64653b0a0a66756e6374696f6e2070617273654373732876616c756529207b0a20206966202876616c7565203d3d3d20226e6f6e6522292072657475726e206964656e746974793b0a202069662028216373734e6f646529206373734e6f6465203d20646f63756d656e742e637265617465456c656d656e74282244495622292c20637373526f6f74203d20646f63756d656e742e646f63756d656e74456c656d656e742c2063737356696577203d20646f63756d656e742e64656661756c74566965773b0a20206373734e6f64652e7374796c652e7472616e73666f726d203d2076616c75653b0a202076616c7565203d20637373566965772e676574436f6d70757465645374796c6528637373526f6f742e617070656e644368696c64286373734e6f6465292c206e756c6c292e67657450726f706572747956616c756528227472616e73666f726d22293b0a2020637373526f6f742e72656d6f76654368696c64286373734e6f6465293b0a202076616c7565203d2076616c75652e736c69636528372c202d31292e73706c697428222c22293b0a202072657475726e206465636f6d706f7365282b76616c75655b305d2c202b76616c75655b315d2c202b76616c75655b325d2c202b76616c75655b335d2c202b76616c75655b345d2c202b76616c75655b355d293b0a7d0a0a66756e6374696f6e2070617273655376672876616c756529207b0a20206966202876616c7565203d3d206e756c6c292072657475726e206964656e746974793b0a202069662028217376674e6f646529207376674e6f6465203d20646f63756d656e742e637265617465456c656d656e744e532822687474703a2f2f7777772e77332e6f72672f323030302f737667222c20226722293b0a20207376674e6f64652e73657441747472696275746528227472616e73666f726d222c2076616c7565293b0a202069662028212876616c7565203d207376674e6f64652e7472616e73666f726d2e6261736556616c2e636f6e736f6c6964617465282929292072657475726e206964656e746974793b0a202076616c7565203d2076616c75652e6d61747269783b0a202072657475726e206465636f6d706f73652876616c75652e612c2076616c75652e622c2076616c75652e632c2076616c75652e642c2076616c75652e652c2076616c75652e66293b0a7d0a0a66756e6374696f6e20696e746572706f6c6174655472616e73666f726d2870617273652c207078436f6d6d612c207078506172656e2c20646567506172656e29207b0a0a202066756e6374696f6e20706f70287329207b0a2020202072657475726e20732e6c656e677468203f20732e706f702829202b20222022203a2022223b0a20207d0a0a202066756e6374696f6e207472616e736c6174652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828227472616e736c61746528222c206e756c6c2c207078436f6d6d612c206e756c6c2c207078506172656e293b0a202020202020712e70757368287b693a2069202d20342c20783a206e756d6265722878612c207862297d2c207b693a2069202d20322c20783a206e756d6265722879612c207962297d293b0a202020207d20656c736520696620287862207c7c20796229207b0a202020202020732e7075736828227472616e736c6174652822202b207862202b207078436f6d6d61202b207962202b207078506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20726f7461746528612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a2020202020206966202861202d2062203e20313830292062202b3d203336303b20656c7365206966202862202d2061203e20313830292061202b3d203336303b202f2f2073686f727465737420706174680a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022726f7461746528222c206e756c6c2c20646567506172656e29202d20322c20783a206e756d62657228612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022726f746174652822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e20736b65775828612c20622c20732c207129207b0a20202020696620286120213d3d206229207b0a202020202020712e70757368287b693a20732e7075736828706f70287329202b2022736b65775828222c206e756c6c2c20646567506172656e29202d20322c20783a206e756d62657228612c2062297d293b0a202020207d20656c736520696620286229207b0a202020202020732e7075736828706f70287329202b2022736b6577582822202b2062202b20646567506172656e293b0a202020207d0a20207d0a0a202066756e6374696f6e207363616c652878612c2079612c2078622c2079622c20732c207129207b0a2020202069662028786120213d3d207862207c7c20796120213d3d20796229207b0a2020202020207661722069203d20732e7075736828706f70287329202b20227363616c6528222c206e756c6c2c20222c222c206e756c6c2c20222922293b0a202020202020712e70757368287b693a2069202d20342c20783a206e756d6265722878612c207862297d2c207b693a2069202d20322c20783a206e756d6265722879612c207962297d293b0a202020207d20656c73652069662028786220213d3d2031207c7c20796220213d3d203129207b0a202020202020732e7075736828706f70287329202b20227363616c652822202b207862202b20222c22202b207962202b20222922293b0a202020207d0a20207d0a0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722073203d205b5d2c202f2f20737472696e6720636f6e7374616e747320616e6420706c616365686f6c646572730a202020202020202071203d205b5d3b202f2f206e756d62657220696e746572706f6c61746f72730a2020202061203d2070617273652861292c2062203d2070617273652862293b0a202020207472616e736c61746528612e7472616e736c617465582c20612e7472616e736c617465592c20622e7472616e736c617465582c20622e7472616e736c617465592c20732c2071293b0a20202020726f7461746528612e726f746174652c20622e726f746174652c20732c2071293b0a20202020736b65775828612e736b6577582c20622e736b6577582c20732c2071293b0a202020207363616c6528612e7363616c65582c20612e7363616c65592c20622e7363616c65582c20622e7363616c65592c20732c2071293b0a2020202061203d2062203d206e756c6c3b202f2f2067630a2020202072657475726e2066756e6374696f6e287429207b0a2020202020207661722069203d202d312c206e203d20712e6c656e6774682c206f3b0a2020202020207768696c6520282b2b69203c206e2920735b286f203d20715b695d292e695d203d206f2e782874293b0a20202020202072657475726e20732e6a6f696e282222293b0a202020207d3b0a20207d3b0a7d0a0a76617220696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d2870617273654373732c202270782c20222c2022707829222c20226465672922293b0a76617220696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d2870617273655376672c20222c20222c202229222c20222922293b0a0a7661722072686f203d204d6174682e53515254323b0a7661722072686f32203d20323b0a7661722072686f34203d20343b0a76617220657073696c6f6e32203d2031652d31323b0a0a66756e6374696f6e20636f7368287829207b0a202072657475726e20282878203d204d6174682e65787028782929202b2031202f207829202f20323b0a7d0a0a66756e6374696f6e2073696e68287829207b0a202072657475726e20282878203d204d6174682e65787028782929202d2031202f207829202f20323b0a7d0a0a66756e6374696f6e2074616e68287829207b0a202072657475726e20282878203d204d6174682e6578702832202a20782929202d203129202f202878202b2031293b0a7d0a0a2f2f207030203d205b7578302c207579302c2077305d0a2f2f207031203d205b7578312c207579312c2077315d0a766172207a6f6f6d203d2066756e6374696f6e2870302c20703129207b0a202076617220757830203d2070305b305d2c20757930203d2070305b315d2c207730203d2070305b325d2c0a202020202020757831203d2070315b305d2c20757931203d2070315b315d2c207731203d2070315b325d2c0a2020202020206478203d20757831202d207578302c0a2020202020206479203d20757931202d207579302c0a2020202020206432203d206478202a206478202b206479202a2064792c0a202020202020692c0a202020202020533b0a0a20202f2f205370656369616c206361736520666f7220753020e289852075312e0a2020696620286432203c20657073696c6f6e3229207b0a2020202053203d204d6174682e6c6f67287731202f20773029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a20202020202072657475726e205b0a2020202020202020757830202b2074202a2064782c0a2020202020202020757930202b2074202a2064792c0a20202020202020207730202a204d6174682e6578702872686f202a2074202a2053290a2020202020205d3b0a202020207d3b0a20207d0a0a20202f2f2047656e6572616c20636173652e0a2020656c7365207b0a20202020766172206431203d204d6174682e73717274286432292c0a20202020202020206230203d20287731202a207731202d207730202a207730202b2072686f34202a20643229202f202832202a207730202a2072686f32202a206431292c0a20202020202020206231203d20287731202a207731202d207730202a207730202d2072686f34202a20643229202f202832202a207731202a2072686f32202a206431292c0a20202020202020207230203d204d6174682e6c6f67284d6174682e73717274286230202a206230202b203129202d206230292c0a20202020202020207231203d204d6174682e6c6f67284d6174682e73717274286231202a206231202b203129202d206231293b0a2020202053203d20287231202d20723029202f2072686f3b0a2020202069203d2066756e6374696f6e287429207b0a2020202020207661722073203d2074202a20532c0a20202020202020202020636f73687230203d20636f7368287230292c0a2020202020202020202075203d207730202f202872686f32202a20643129202a2028636f73687230202a2074616e682872686f202a2073202b20723029202d2073696e6828723029293b0a20202020202072657475726e205b0a2020202020202020757830202b2075202a2064782c0a2020202020202020757930202b2075202a2064792c0a20202020202020207730202a20636f73687230202f20636f73682872686f202a2073202b207230290a2020202020205d3b0a202020207d3b0a20207d0a0a2020692e6475726174696f6e203d2053202a20313030303b0a0a202072657475726e20693b0a7d3b0a0a66756e6374696f6e2068736c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e68736c28737461727429292e682c2028656e64203d206433436f6c6f722e68736c28656e6429292e68292c0a202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e73203d20732874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068736c2432203d2068736c243128687565293b0a7661722068736c4c6f6e67203d2068736c2431286e6f67616d6d61293b0a0a66756e6374696f6e206c616224312873746172742c20656e6429207b0a2020766172206c203d206e6f67616d6d6128287374617274203d206433436f6c6f722e6c616228737461727429292e6c2c2028656e64203d206433436f6c6f722e6c616228656e6429292e6c292c0a20202020202061203d206e6f67616d6d612873746172742e612c20656e642e61292c0a20202020202062203d206e6f67616d6d612873746172742e622c20656e642e62292c0a2020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a202072657475726e2066756e6374696f6e287429207b0a2020202073746172742e6c203d206c2874293b0a2020202073746172742e61203d20612874293b0a2020202073746172742e62203d20622874293b0a2020202073746172742e6f706163697479203d206f7061636974792874293b0a2020202072657475726e207374617274202b2022223b0a20207d3b0a7d0a0a66756e6374696f6e2068636c24312868756524243129207b0a202072657475726e2066756e6374696f6e2873746172742c20656e6429207b0a202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e68636c28737461727429292e682c2028656e64203d206433436f6c6f722e68636c28656e6429292e68292c0a202020202020202063203d206e6f67616d6d612873746172742e632c20656e642e63292c0a20202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a20202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a2020202072657475726e2066756e6374696f6e287429207b0a20202020202073746172742e68203d20682874293b0a20202020202073746172742e63203d20632874293b0a20202020202073746172742e6c203d206c2874293b0a20202020202073746172742e6f706163697479203d206f7061636974792874293b0a20202020202072657475726e207374617274202b2022223b0a202020207d3b0a20207d0a7d0a0a7661722068636c2432203d2068636c243128687565293b0a7661722068636c4c6f6e67203d2068636c2431286e6f67616d6d61293b0a0a66756e6374696f6e206375626568656c697824312868756524243129207b0a202072657475726e202866756e6374696f6e206375626568656c697847616d6d61287929207b0a2020202079203d202b793b0a0a2020202066756e6374696f6e206375626568656c69782424312873746172742c20656e6429207b0a2020202020207661722068203d2068756524243128287374617274203d206433436f6c6f722e6375626568656c697828737461727429292e682c2028656e64203d206433436f6c6f722e6375626568656c697828656e6429292e68292c0a2020202020202020202073203d206e6f67616d6d612873746172742e732c20656e642e73292c0a202020202020202020206c203d206e6f67616d6d612873746172742e6c2c20656e642e6c292c0a202020202020202020206f706163697479203d206e6f67616d6d612873746172742e6f7061636974792c20656e642e6f706163697479293b0a20202020202072657475726e2066756e6374696f6e287429207b0a202020202020202073746172742e68203d20682874293b0a202020202020202073746172742e73203d20732874293b0a202020202020202073746172742e6c203d206c284d6174682e706f7728742c207929293b0a202020202020202073746172742e6f706163697479203d206f7061636974792874293b0a202020202020202072657475726e207374617274202b2022223b0a2020202020207d3b0a202020207d0a0a202020206375626568656c69782424312e67616d6d61203d206375626568656c697847616d6d613b0a0a2020202072657475726e206375626568656c69782424313b0a20207d292831293b0a7d0a0a766172206375626568656c69782432203d206375626568656c6978243128687565293b0a766172206375626568656c69784c6f6e67203d206375626568656c69782431286e6f67616d6d61293b0a0a766172207175616e74697a65203d2066756e6374696f6e28696e746572706f6c61746f722c206e29207b0a20207661722073616d706c6573203d206e6577204172726179286e293b0a2020666f7220287661722069203d20303b2069203c206e3b202b2b69292073616d706c65735b695d203d20696e746572706f6c61746f722869202f20286e202d203129293b0a202072657475726e2073616d706c65733b0a7d3b0a0a6578706f7274732e696e746572706f6c617465203d2076616c75653b0a6578706f7274732e696e746572706f6c6174654172726179203d2061727261793b0a6578706f7274732e696e746572706f6c6174654261736973203d20626173697324313b0a6578706f7274732e696e746572706f6c6174654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746544617465203d20646174653b0a6578706f7274732e696e746572706f6c6174654e756d626572203d206e756d6265723b0a6578706f7274732e696e746572706f6c6174654f626a656374203d206f626a6563743b0a6578706f7274732e696e746572706f6c617465526f756e64203d20726f756e643b0a6578706f7274732e696e746572706f6c617465537472696e67203d20737472696e673b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d437373203d20696e746572706f6c6174655472616e73666f726d4373733b0a6578706f7274732e696e746572706f6c6174655472616e73666f726d537667203d20696e746572706f6c6174655472616e73666f726d5376673b0a6578706f7274732e696e746572706f6c6174655a6f6f6d203d207a6f6f6d3b0a6578706f7274732e696e746572706f6c617465526762203d2072676224313b0a6578706f7274732e696e746572706f6c6174655267624261736973203d2072676242617369733b0a6578706f7274732e696e746572706f6c6174655267624261736973436c6f736564203d207267624261736973436c6f7365643b0a6578706f7274732e696e746572706f6c61746548736c203d2068736c24323b0a6578706f7274732e696e746572706f6c61746548736c4c6f6e67203d2068736c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654c6162203d206c616224313b0a6578706f7274732e696e746572706f6c61746548636c203d2068636c24323b0a6578706f7274732e696e746572706f6c61746548636c4c6f6e67203d2068636c4c6f6e673b0a6578706f7274732e696e746572706f6c6174654375626568656c6978203d206375626568656c697824323b0a6578706f7274732e696e746572706f6c6174654375626568656c69784c6f6e67203d206375626568656c69784c6f6e673b0a6578706f7274732e7175616e74697a65203d207175616e74697a653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6f72223a34347d5d2c35343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d706174682f2056657273696f6e20312e302e352e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207069203d204d6174682e50493b0a76617220746175203d2032202a2070693b0a76617220657073696c6f6e203d2031652d363b0a76617220746175457073696c6f6e203d20746175202d20657073696c6f6e3b0a0a66756e6374696f6e20506174682829207b0a2020746869732e5f7830203d20746869732e5f7930203d202f2f207374617274206f662063757272656e7420737562706174680a2020746869732e5f7831203d20746869732e5f7931203d206e756c6c3b202f2f20656e64206f662063757272656e7420737562706174680a2020746869732e5f203d2022223b0a7d0a0a66756e6374696f6e20706174682829207b0a202072657475726e206e657720506174683b0a7d0a0a506174682e70726f746f74797065203d20706174682e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20506174682c0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b79293b0a20207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b0a2020202069662028746869732e5f783120213d3d206e756c6c29207b0a202020202020746869732e5f7831203d20746869732e5f78302c20746869732e5f7931203d20746869732e5f79303b0a202020202020746869732e5f202b3d20225a223b0a202020207d0a20207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b0a20202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a20207175616472617469634375727665546f3a2066756e6374696f6e2878312c2079312c20782c207929207b0a20202020746869732e5f202b3d20225122202b20282b783129202b20222c22202b20282b793129202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b0a20202020746869732e5f202b3d20224322202b20282b783129202b20222c22202b20282b793129202b20222c22202b20282b783229202b20222c22202b20282b793229202b20222c22202b2028746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7931203d202b79293b0a20207d2c0a2020617263546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c207229207b0a202020207831203d202b78312c207931203d202b79312c207832203d202b78322c207932203d202b79322c2072203d202b723b0a20202020766172207830203d20746869732e5f78312c0a20202020202020207930203d20746869732e5f79312c0a2020202020202020783231203d207832202d2078312c0a2020202020202020793231203d207932202d2079312c0a2020202020202020783031203d207830202d2078312c0a2020202020202020793031203d207930202d2079312c0a20202020202020206c30315f32203d20783031202a20783031202b20793031202a207930313b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878312c7931292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f722c206973202878312c79312920636f696e636964656e742077697468202878302c7930293f20446f206e6f7468696e672e0a20202020656c7365206966202821286c30315f32203e20657073696c6f6e2929207b7d0a0a202020202f2f204f722c20617265202878302c7930292c202878312c79312920616e64202878322c79322920636f6c6c696e6561723f0a202020202f2f204571756976616c656e746c792c206973202878312c79312920636f696e636964656e742077697468202878322c7932293f0a202020202f2f204f722c2069732074686520726164697573207a65726f3f204c696e6520746f202878312c7931292e0a20202020656c7365206966202821284d6174682e61627328793031202a20783231202d20793231202a2078303129203e20657073696c6f6e29207c7c20217229207b0a202020202020746869732e5f202b3d20224c22202b2028746869732e5f7831203d20783129202b20222c22202b2028746869732e5f7931203d207931293b0a202020207d0a0a202020202f2f204f74686572776973652c206472617720616e20617263210a20202020656c7365207b0a20202020202076617220783230203d207832202d2078302c0a20202020202020202020793230203d207932202d2079302c0a202020202020202020206c32315f32203d20783231202a20783231202b20793231202a207932312c0a202020202020202020206c32305f32203d20783230202a20783230202b20793230202a207932302c0a202020202020202020206c3231203d204d6174682e73717274286c32315f32292c0a202020202020202020206c3031203d204d6174682e73717274286c30315f32292c0a202020202020202020206c203d2072202a204d6174682e74616e28287069202d204d6174682e61636f7328286c32315f32202b206c30315f32202d206c32305f3229202f202832202a206c3231202a206c3031292929202f2032292c0a20202020202020202020743031203d206c202f206c30312c0a20202020202020202020743231203d206c202f206c32313b0a0a2020202020202f2f204966207468652073746172742074616e67656e74206973206e6f7420636f696e636964656e742077697468202878302c7930292c206c696e6520746f2e0a202020202020696620284d6174682e61627328743031202d203129203e20657073696c6f6e29207b0a2020202020202020746869732e5f202b3d20224c22202b20287831202b20743031202a2078303129202b20222c22202b20287931202b20743031202a20793031293b0a2020202020207d0a0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c302c22202b20282b28793031202a20783230203e20783031202a207932302929202b20222c22202b2028746869732e5f7831203d207831202b20743231202a2078323129202b20222c22202b2028746869732e5f7931203d207931202b20743231202a20793231293b0a202020207d0a20207d2c0a20206172633a2066756e6374696f6e28782c20792c20722c2061302c2061312c2063637729207b0a2020202078203d202b782c2079203d202b792c2072203d202b723b0a20202020766172206478203d2072202a204d6174682e636f73286130292c0a20202020202020206479203d2072202a204d6174682e73696e286130292c0a20202020202020207830203d2078202b2064782c0a20202020202020207930203d2079202b2064792c0a20202020202020206377203d2031205e206363772c0a20202020202020206461203d20636377203f206130202d206131203a206131202d2061303b0a0a202020202f2f2049732074686520726164697573206e656761746976653f204572726f722e0a202020206966202872203c203029207468726f77206e6577204572726f7228226e65676174697665207261646975733a2022202b2072293b0a0a202020202f2f2049732074686973207061746820656d7074793f204d6f766520746f202878302c7930292e0a2020202069662028746869732e5f7831203d3d3d206e756c6c29207b0a202020202020746869732e5f202b3d20224d22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f204f722c206973202878302c793029206e6f7420636f696e636964656e742077697468207468652070726576696f757320706f696e743f204c696e6520746f202878302c7930292e0a20202020656c736520696620284d6174682e61627328746869732e5f7831202d20783029203e20657073696c6f6e207c7c204d6174682e61627328746869732e5f7931202d20793029203e20657073696c6f6e29207b0a202020202020746869732e5f202b3d20224c22202b207830202b20222c22202b2079303b0a202020207d0a0a202020202f2f20497320746869732061726320656d7074793f205765e28099726520646f6e652e0a20202020696620282172292072657475726e3b0a0a202020202f2f20446f65732074686520616e676c6520676f207468652077726f6e67207761793f20466c69702074686520646972656374696f6e2e0a20202020696620286461203c203029206461203d206461202520746175202b207461753b0a0a202020202f2f2049732074686973206120636f6d706c65746520636972636c653f20447261772074776f206172637320746f20636f6d706c6574652074686520636972636c652e0a20202020696620286461203e20746175457073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b202878202d20647829202b20222c22202b202879202d20647929202b20224122202b2072202b20222c22202b2072202b20222c302c312c22202b206377202b20222c22202b2028746869732e5f7831203d20783029202b20222c22202b2028746869732e5f7931203d207930293b0a202020207d0a0a202020202f2f204973207468697320617263206e6f6e2d656d7074793f204472617720616e20617263210a20202020656c736520696620286461203e20657073696c6f6e29207b0a202020202020746869732e5f202b3d20224122202b2072202b20222c22202b2072202b20222c302c22202b20282b286461203e3d2070692929202b20222c22202b206377202b20222c22202b2028746869732e5f7831203d2078202b2072202a204d6174682e636f732861312929202b20222c22202b2028746869732e5f7931203d2079202b2072202a204d6174682e73696e28613129293b0a202020207d0a20207d2c0a2020726563743a2066756e6374696f6e28782c20792c20772c206829207b0a20202020746869732e5f202b3d20224d22202b2028746869732e5f7830203d20746869732e5f7831203d202b7829202b20222c22202b2028746869732e5f7930203d20746869732e5f7931203d202b7929202b20226822202b20282b7729202b20227622202b20282b6829202b20226822202b20282d7729202b20225a223b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a6578706f7274732e70617468203d20706174683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d706f6c79676f6e2f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722061726561203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202061726561203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a2020202061726561202b3d20615b315d202a20625b305d202d20615b305d202a20625b315d3b0a20207d0a0a202072657475726e2061726561202f20323b0a7d3b0a0a7661722063656e74726f6964203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202078203d20302c0a20202020202079203d20302c0a202020202020612c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a202020202020632c0a2020202020206b203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a2020202061203d20623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020206b202b3d2063203d20615b305d202a20625b315d202d20625b305d202a20615b315d3b0a2020202078202b3d2028615b305d202b20625b305d29202a20633b0a2020202079202b3d2028615b315d202b20625b315d29202a20633b0a20207d0a0a202072657475726e206b202a3d20332c205b78202f206b2c2079202f206b5d3b0a7d3b0a0a2f2f2052657475726e73207468652032442063726f73732070726f64756374206f6620414220616e6420414320766563746f72732c20692e652e2c20746865207a2d636f6d706f6e656e74206f660a2f2f207468652033442063726f73732070726f6475637420696e2061207175616472616e7420492043617274657369616e20636f6f7264696e6174652073797374656d20282b782069730a2f2f2072696768742c202b79206973207570292e2052657475726e73206120706f7369746976652076616c75652069662041424320697320636f756e7465722d636c6f636b776973652c0a2f2f206e6567617469766520696620636c6f636b776973652c20616e64207a65726f2069662074686520706f696e74732061726520636f6c6c696e6561722e0a7661722063726f7373203d2066756e6374696f6e28612c20622c206329207b0a202072657475726e2028625b305d202d20615b305d29202a2028635b315d202d20615b315d29202d2028625b315d202d20615b315d29202a2028635b305d202d20615b305d293b0a7d3b0a0a66756e6374696f6e206c657869636f677261706869634f7264657228612c206229207b0a202072657475726e20615b305d202d20625b305d207c7c20615b315d202d20625b315d3b0a7d0a0a2f2f20436f6d70757465732074686520757070657220636f6e7665782068756c6c2070657220746865206d6f6e6f746f6e6520636861696e20616c676f726974686d2e0a2f2f20417373756d657320706f696e74732e6c656e677468203e3d20332c20697320736f7274656420627920782c20756e6971756520696e20792e0a2f2f2052657475726e7320616e206172726179206f6620696e646963657320696e746f20706f696e747320696e206c6566742d746f2d7269676874206f726465722e0a66756e6374696f6e20636f6d70757465557070657248756c6c496e646578657328706f696e747329207b0a2020766172206e203d20706f696e74732e6c656e6774682c0a202020202020696e6465786573203d205b302c20315d2c0a20202020202073697a65203d20323b0a0a2020666f7220287661722069203d20323b2069203c206e3b202b2b6929207b0a202020207768696c65202873697a65203e20312026262063726f737328706f696e74735b696e64657865735b73697a65202d20325d5d2c20706f696e74735b696e64657865735b73697a65202d20315d5d2c20706f696e74735b695d29203c3d203029202d2d73697a653b0a20202020696e64657865735b73697a652b2b5d203d20693b0a20207d0a0a202072657475726e20696e64657865732e736c69636528302c2073697a65293b202f2f2072656d6f766520706f7070656420706f696e74730a7d0a0a7661722068756c6c203d2066756e6374696f6e28706f696e747329207b0a202069662028286e203d20706f696e74732e6c656e67746829203c2033292072657475726e206e756c6c3b0a0a202076617220692c0a2020202020206e2c0a202020202020736f72746564506f696e7473203d206e6577204172726179286e292c0a202020202020666c6970706564506f696e7473203d206e6577204172726179286e293b0a0a2020666f72202869203d20303b2069203c206e3b202b2b692920736f72746564506f696e74735b695d203d205b2b706f696e74735b695d5b305d2c202b706f696e74735b695d5b315d2c20695d3b0a2020736f72746564506f696e74732e736f7274286c657869636f677261706869634f72646572293b0a2020666f72202869203d20303b2069203c206e3b202b2b692920666c6970706564506f696e74735b695d203d205b736f72746564506f696e74735b695d5b305d2c202d736f72746564506f696e74735b695d5b315d5d3b0a0a2020766172207570706572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328736f72746564506f696e7473292c0a2020202020206c6f776572496e6465786573203d20636f6d70757465557070657248756c6c496e646578657328666c6970706564506f696e7473293b0a0a20202f2f20436f6e737472756374207468652068756c6c20706f6c79676f6e2c2072656d6f76696e6720706f737369626c65206475706c696361746520656e64706f696e74732e0a202076617220736b69704c656674203d206c6f776572496e64657865735b305d203d3d3d207570706572496e64657865735b305d2c0a202020202020736b69705269676874203d206c6f776572496e64657865735b6c6f776572496e64657865732e6c656e677468202d20315d203d3d3d207570706572496e64657865735b7570706572496e64657865732e6c656e677468202d20315d2c0a20202020202068756c6c203d205b5d3b0a0a20202f2f204164642075707065722068756c6c20696e2072696768742d746f2d6c206f726465722e0a20202f2f205468656e20616464206c6f7765722068756c6c20696e206c6566742d746f2d7269676874206f726465722e0a2020666f72202869203d207570706572496e64657865732e6c656e677468202d20313b2069203e3d20303b202d2d69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b7570706572496e64657865735b695d5d5b325d5d293b0a2020666f72202869203d202b736b69704c6566743b2069203c206c6f776572496e64657865732e6c656e677468202d20736b697052696768743b202b2b69292068756c6c2e7075736828706f696e74735b736f72746564506f696e74735b6c6f776572496e64657865735b695d5d5b325d5d293b0a0a202072657475726e2068756c6c3b0a7d3b0a0a76617220636f6e7461696e73203d2066756e6374696f6e28706f6c79676f6e2c20706f696e7429207b0a2020766172206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202070203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078203d20706f696e745b305d2c2079203d20706f696e745b315d2c0a2020202020207830203d20705b305d2c207930203d20705b315d2c0a20202020202078312c2079312c0a202020202020696e73696465203d2066616c73653b0a0a2020666f7220287661722069203d20303b2069203c206e3b202b2b6929207b0a2020202070203d20706f6c79676f6e5b695d2c207831203d20705b305d2c207931203d20705b315d3b0a202020206966202828287931203e20792920213d3d20287930203e20792929202626202878203c20287830202d20783129202a202879202d20793129202f20287930202d20793129202b207831292920696e73696465203d2021696e736964653b0a202020207830203d2078312c207930203d2079313b0a20207d0a0a202072657475726e20696e736964653b0a7d3b0a0a766172206c656e677468203d2066756e6374696f6e28706f6c79676f6e29207b0a20207661722069203d202d312c0a2020202020206e203d20706f6c79676f6e2e6c656e6774682c0a20202020202062203d20706f6c79676f6e5b6e202d20315d2c0a20202020202078612c0a20202020202079612c0a2020202020207862203d20625b305d2c0a2020202020207962203d20625b315d2c0a202020202020706572696d65746572203d20303b0a0a20207768696c6520282b2b69203c206e29207b0a202020207861203d2078623b0a202020207961203d2079623b0a2020202062203d20706f6c79676f6e5b695d3b0a202020207862203d20625b305d3b0a202020207962203d20625b315d3b0a202020207861202d3d2078623b0a202020207961202d3d2079623b0a20202020706572696d65746572202b3d204d6174682e73717274287861202a207861202b207961202a207961293b0a20207d0a0a202072657475726e20706572696d657465723b0a7d3b0a0a6578706f7274732e706f6c79676f6e41726561203d20617265613b0a6578706f7274732e706f6c79676f6e43656e74726f6964203d2063656e74726f69643b0a6578706f7274732e706f6c79676f6e48756c6c203d2068756c6c3b0a6578706f7274732e706f6c79676f6e436f6e7461696e73203d20636f6e7461696e733b0a6578706f7274732e706f6c79676f6e4c656e677468203d206c656e6774683b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d71756164747265652f2056657273696f6e20312e302e332e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220747265655f616464203d2066756e6374696f6e286429207b0a20207661722078203d202b746869732e5f782e63616c6c286e756c6c2c2064292c0a20202020202079203d202b746869732e5f792e63616c6c286e756c6c2c2064293b0a202072657475726e2061646428746869732e636f76657228782c2079292c20782c20792c2064293b0a7d3b0a0a66756e6374696f6e2061646428747265652c20782c20792c206429207b0a20206966202869734e614e287829207c7c2069734e614e287929292072657475726e20747265653b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20747265652e5f726f6f742c0a2020202020206c656166203d207b646174613a20647d2c0a2020202020207830203d20747265652e5f78302c0a2020202020207930203d20747265652e5f79302c0a2020202020207831203d20747265652e5f78312c0a2020202020207931203d20747265652e5f79312c0a202020202020786d2c0a202020202020796d2c0a20202020202078702c0a20202020202079702c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f2046696e6420746865206578697374696e67206c65616620666f7220746865206e657720706f696e742c206f72206164642069742e0a20207768696c6520286e6f64652e6c656e67746829207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a2020202069662028706172656e74203d206e6f64652c2021286e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20706172656e745b695d203d206c6561662c20747265653b0a20207d0a0a20202f2f20497320746865206e657720706f696e742069732065786163746c7920636f696e636964656e74207769746820746865206578697374696e6720706f696e743f0a20207870203d202b747265652e5f782e63616c6c286e756c6c2c206e6f64652e64617461293b0a20207970203d202b747265652e5f792e63616c6c286e756c6c2c206e6f64652e64617461293b0a20206966202878203d3d3d2078702026262079203d3d3d207970292072657475726e206c6561662e6e657874203d206e6f64652c20706172656e74203f20706172656e745b695d203d206c656166203a20747265652e5f726f6f74203d206c6561662c20747265653b0a0a20202f2f204f74686572776973652c2073706c697420746865206c656166206e6f646520756e74696c20746865206f6c6420616e64206e657720706f696e7420617265207365706172617465642e0a2020646f207b0a20202020706172656e74203d20706172656e74203f20706172656e745b695d203d206e6577204172726179283429203a20747265652e5f726f6f74203d206e65772041727261792834293b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20207d207768696c6520282869203d20626f74746f6d203c3c2031207c20726967687429203d3d3d20286a203d20287970203e3d20796d29203c3c2031207c20287870203e3d20786d2929293b0a202072657475726e20706172656e745b6a5d203d206e6f64652c20706172656e745b695d203d206c6561662c20747265653b0a7d0a0a66756e6374696f6e20616464416c6c286461746129207b0a202076617220642c20692c206e203d20646174612e6c656e6774682c0a202020202020782c0a202020202020792c0a202020202020787a203d206e6577204172726179286e292c0a202020202020797a203d206e6577204172726179286e292c0a2020202020207830203d20496e66696e6974792c0a2020202020207930203d20496e66696e6974792c0a2020202020207831203d202d496e66696e6974792c0a2020202020207931203d202d496e66696e6974793b0a0a20202f2f20436f6d707574652074686520706f696e747320616e6420746865697220657874656e742e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c2064203d20646174615b695d2929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c206429292920636f6e74696e75653b0a20202020787a5b695d203d20783b0a20202020797a5b695d203d20793b0a202020206966202878203c20783029207830203d20783b0a202020206966202878203e20783129207831203d20783b0a202020206966202879203c20793029207930203d20793b0a202020206966202879203e20793129207931203d20793b0a20207d0a0a20202f2f2049662074686572652077657265206e6f202876616c69642920706f696e74732c20696e686572697420746865206578697374696e6720657874656e742e0a2020696620287831203c20783029207830203d20746869732e5f78302c207831203d20746869732e5f78313b0a2020696620287931203c20793029207930203d20746869732e5f79302c207931203d20746869732e5f79313b0a0a20202f2f20457870616e6420746865207472656520746f20636f76657220746865206e657720706f696e74732e0a2020746869732e636f7665722878302c207930292e636f7665722878312c207931293b0a0a20202f2f2041646420746865206e657720706f696e74732e0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a2020202061646428746869732c20787a5b695d2c20797a5b695d2c20646174615b695d293b0a20207d0a0a202072657475726e20746869733b0a7d0a0a76617220747265655f636f766572203d2066756e6374696f6e28782c207929207b0a20206966202869734e614e2878203d202b7829207c7c2069734e614e2879203d202b7929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a2020766172207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79313b0a0a20202f2f2049662074686520717561647472656520686173206e6f20657874656e742c20696e697469616c697a65207468656d2e0a20202f2f20496e746567657220657874656e7420617265206e656365737361727920736f2074686174206966207765206c6174657220646f75626c652074686520657874656e742c0a20202f2f20746865206578697374696e67207175616472616e7420626f756e64617269657320646f6ee2809974206368616e67652064756520746f20666c6f6174696e6720706f696e74206572726f72210a20206966202869734e614e2878302929207b0a202020207831203d20287830203d204d6174682e666c6f6f7228782929202b20313b0a202020207931203d20287930203d204d6174682e666c6f6f7228792929202b20313b0a20207d0a0a20202f2f204f74686572776973652c20646f75626c652072657065617465646c7920746f20636f7665722e0a2020656c736520696620287830203e2078207c7c2078203e207831207c7c207930203e2079207c7c2079203e20793129207b0a20202020766172207a203d207831202d2078302c0a20202020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020202020706172656e742c0a2020202020202020693b0a0a20202020737769746368202869203d202879203c20287930202b20793129202f203229203c3c2031207c202878203c20287830202b20783129202f20322929207b0a2020202020206361736520303a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207931203d207930202b207a2c2078203e207831207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520313a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207931203d207930202b207a2c207830203e2078207c7c2079203e207931293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207831203d207830202b207a2c207930203d207931202d207a2c2078203e207831207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020646f20706172656e74203d206e65772041727261792834292c20706172656e745b695d203d206e6f64652c206e6f6465203d20706172656e743b0a20202020202020207768696c6520287a202a3d20322c207830203d207831202d207a2c207930203d207931202d207a2c207830203e2078207c7c207930203e2079293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f726f6f7420262620746869732e5f726f6f742e6c656e6774682920746869732e5f726f6f74203d206e6f64653b0a20207d0a0a20202f2f2049662074686520717561647472656520636f766572732074686520706f696e7420616c72656164792c206a7573742072657475726e2e0a2020656c73652072657475726e20746869733b0a0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a202072657475726e20746869733b0a7d3b0a0a76617220747265655f64617461203d2066756e6374696f6e2829207b0a20207661722064617461203d205b5d3b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f20646174612e70757368286e6f64652e64617461293b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e20646174613b0a7d3b0a0a76617220747265655f657874656e74203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e636f766572282b5f5b305d5b305d2c202b5f5b305d5b315d292e636f766572282b5f5b315d5b305d2c202b5f5b315d5b315d290a2020202020203a2069734e614e28746869732e5f783029203f20756e646566696e6564203a205b5b746869732e5f78302c20746869732e5f79305d2c205b746869732e5f78312c20746869732e5f79315d5d3b0a7d3b0a0a7661722051756164203d2066756e6374696f6e286e6f64652c2078302c2079302c2078312c20793129207b0a2020746869732e6e6f6465203d206e6f64653b0a2020746869732e7830203d2078303b0a2020746869732e7930203d2079303b0a2020746869732e7831203d2078313b0a2020746869732e7931203d2079313b0a7d3b0a0a76617220747265655f66696e64203d2066756e6374696f6e28782c20792c2072616469757329207b0a202076617220646174612c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a20202020202078312c0a20202020202079312c0a20202020202078322c0a20202020202079322c0a2020202020207833203d20746869732e5f78312c0a2020202020207933203d20746869732e5f79312c0a2020202020207175616473203d205b5d2c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a202020202020712c0a202020202020693b0a0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c2078302c2079302c2078332c20793329293b0a202069662028726164697573203d3d206e756c6c2920726164697573203d20496e66696e6974793b0a2020656c7365207b0a202020207830203d2078202d207261646975732c207930203d2079202d207261646975733b0a202020207833203d2078202b207261646975732c207933203d2079202b207261646975733b0a20202020726164697573202a3d207261646975733b0a20207d0a0a20207768696c65202871203d2071756164732e706f70282929207b0a0a202020202f2f2053746f7020736561726368696e672069662074686973207175616472616e742063616ee280997420636f6e7461696e206120636c6f736572206e6f64652e0a202020206966202821286e6f6465203d20712e6e6f6465290a20202020202020207c7c20287831203d20712e783029203e2078330a20202020202020207c7c20287931203d20712e793029203e2079330a20202020202020207c7c20287832203d20712e783129203c2078300a20202020202020207c7c20287932203d20712e793129203c2079302920636f6e74696e75653b0a0a202020202f2f20426973656374207468652063757272656e74207175616472616e742e0a20202020696620286e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287831202b20783229202f20322c0a20202020202020202020796d203d20287931202b20793229202f20323b0a0a20202020202071756164732e70757368280a20202020202020206e65772051756164286e6f64655b335d2c20786d2c20796d2c2078322c207932292c0a20202020202020206e65772051756164286e6f64655b325d2c2078312c20796d2c20786d2c207932292c0a20202020202020206e65772051756164286e6f64655b315d2c20786d2c2079312c2078322c20796d292c0a20202020202020206e65772051756164286e6f64655b305d2c2078312c2079312c20786d2c20796d290a202020202020293b0a0a2020202020202f2f2056697369742074686520636c6f73657374207175616472616e742066697273742e0a2020202020206966202869203d202879203e3d20796d29203c3c2031207c202878203e3d20786d2929207b0a202020202020202071203d2071756164735b71756164732e6c656e677468202d20315d3b0a202020202020202071756164735b71756164732e6c656e677468202d20315d203d2071756164735b71756164732e6c656e677468202d2031202d20695d3b0a202020202020202071756164735b71756164732e6c656e677468202d2031202d20695d203d20713b0a2020202020207d0a202020207d0a0a202020202f2f205669736974207468697320706f696e742e20285669736974696e6720636f696e636964656e7420706f696e74732069736ee2809974206e656365737361727921290a20202020656c7365207b0a202020202020766172206478203d2078202d202b746869732e5f782e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206479203d2079202d202b746869732e5f792e63616c6c286e756c6c2c206e6f64652e64617461292c0a202020202020202020206432203d206478202a206478202b206479202a2064793b0a202020202020696620286432203c2072616469757329207b0a20202020202020207661722064203d204d6174682e7371727428726164697573203d206432293b0a20202020202020207830203d2078202d20642c207930203d2079202d20643b0a20202020202020207833203d2078202b20642c207933203d2079202b20643b0a202020202020202064617461203d206e6f64652e646174613b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20646174613b0a7d3b0a0a76617220747265655f72656d6f7665203d2066756e6374696f6e286429207b0a20206966202869734e614e2878203d202b746869732e5f782e63616c6c286e756c6c2c20642929207c7c2069734e614e2879203d202b746869732e5f792e63616c6c286e756c6c2c20642929292072657475726e20746869733b202f2f2069676e6f726520696e76616c696420706f696e74730a0a202076617220706172656e742c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a20202020202072657461696e65722c0a20202020202070726576696f75732c0a2020202020206e6578742c0a2020202020207830203d20746869732e5f78302c0a2020202020207930203d20746869732e5f79302c0a2020202020207831203d20746869732e5f78312c0a2020202020207931203d20746869732e5f79312c0a202020202020782c0a202020202020792c0a202020202020786d2c0a202020202020796d2c0a20202020202072696768742c0a202020202020626f74746f6d2c0a202020202020692c0a2020202020206a3b0a0a20202f2f20496620746865207472656520697320656d7074792c20696e697469616c697a652074686520726f6f742061732061206c6561662e0a202069662028216e6f6465292072657475726e20746869733b0a0a20202f2f2046696e6420746865206c656166206e6f646520666f722074686520706f696e742e0a20202f2f205768696c652064657363656e64696e672c20616c736f2072657461696e20746865206465657065737420706172656e7420776974682061206e6f6e2d72656d6f766564207369626c696e672e0a2020696620286e6f64652e6c656e67746829207768696c6520287472756529207b0a20202020696620287269676874203d2078203e3d2028786d203d20287830202b20783129202f20322929207830203d20786d3b20656c7365207831203d20786d3b0a2020202069662028626f74746f6d203d2079203e3d2028796d203d20287930202b20793129202f20322929207930203d20796d3b20656c7365207931203d20796d3b0a20202020696620282128706172656e74203d206e6f64652c206e6f6465203d206e6f64655b69203d20626f74746f6d203c3c2031207c2072696768745d29292072657475726e20746869733b0a2020202069662028216e6f64652e6c656e6774682920627265616b3b0a2020202069662028706172656e745b2869202b203129202620335d207c7c20706172656e745b2869202b203229202620335d207c7c20706172656e745b2869202b203329202620335d292072657461696e6572203d20706172656e742c206a203d20693b0a20207d0a0a20202f2f2046696e642074686520706f696e7420746f2072656d6f76652e0a20207768696c6520286e6f64652e6461746120213d3d2064292069662028212870726576696f7573203d206e6f64652c206e6f6465203d206e6f64652e6e65787429292072657475726e20746869733b0a2020696620286e657874203d206e6f64652e6e657874292064656c657465206e6f64652e6e6578743b0a0a20202f2f20496620746865726520617265206d756c7469706c6520636f696e636964656e7420706f696e74732c2072656d6f7665206a7573742074686520706f696e742e0a20206966202870726576696f7573292072657475726e20286e657874203f2070726576696f75732e6e657874203d206e657874203a2064656c6574652070726576696f75732e6e657874292c20746869733b0a0a20202f2f20496620746869732069732074686520726f6f7420706f696e742c2072656d6f76652069742e0a20206966202821706172656e74292072657475726e20746869732e5f726f6f74203d206e6578742c20746869733b0a0a20202f2f2052656d6f76652074686973206c6561662e0a20206e657874203f20706172656e745b695d203d206e657874203a2064656c65746520706172656e745b695d3b0a0a20202f2f2049662074686520706172656e74206e6f7720636f6e7461696e732065786163746c79206f6e65206c6561662c20636f6c6c61707365207375706572666c756f757320706172656e74732e0a202069662028286e6f6465203d20706172656e745b305d207c7c20706172656e745b315d207c7c20706172656e745b325d207c7c20706172656e745b335d290a2020202020202626206e6f6465203d3d3d2028706172656e745b335d207c7c20706172656e745b325d207c7c20706172656e745b315d207c7c20706172656e745b305d290a202020202020262620216e6f64652e6c656e67746829207b0a202020206966202872657461696e6572292072657461696e65725b6a5d203d206e6f64653b0a20202020656c736520746869732e5f726f6f74203d206e6f64653b0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e2072656d6f7665416c6c286461746129207b0a2020666f7220287661722069203d20302c206e203d20646174612e6c656e6774683b2069203c206e3b202b2b692920746869732e72656d6f766528646174615b695d293b0a202072657475726e20746869733b0a7d0a0a76617220747265655f726f6f74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f726f6f743b0a7d3b0a0a76617220747265655f73697a65203d2066756e6374696f6e2829207b0a20207661722073697a65203d20303b0a2020746869732e76697369742866756e6374696f6e286e6f646529207b0a2020202069662028216e6f64652e6c656e6774682920646f202b2b73697a653b207768696c6520286e6f6465203d206e6f64652e6e657874290a20207d293b0a202072657475726e2073697a653b0a7d3b0a0a76617220747265655f7669736974203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c20712c206e6f6465203d20746869732e5f726f6f742c206368696c642c2078302c2079302c2078312c2079313b0a2020696620286e6f6465292071756164732e70757368286e65772051756164286e6f64652c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020696620282163616c6c6261636b286e6f6465203d20712e6e6f64652c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e793129202626206e6f64652e6c656e67746829207b0a20202020202076617220786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020207d0a20207d0a202072657475726e20746869733b0a7d3b0a0a76617220747265655f76697369744166746572203d2066756e6374696f6e2863616c6c6261636b29207b0a2020766172207175616473203d205b5d2c206e657874203d205b5d2c20713b0a202069662028746869732e5f726f6f74292071756164732e70757368286e6577205175616428746869732e5f726f6f742c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f793129293b0a20207768696c65202871203d2071756164732e706f70282929207b0a20202020766172206e6f6465203d20712e6e6f64653b0a20202020696620286e6f64652e6c656e67746829207b0a202020202020766172206368696c642c207830203d20712e78302c207930203d20712e79302c207831203d20712e78312c207931203d20712e79312c20786d203d20287830202b20783129202f20322c20796d203d20287930202b20793129202f20323b0a202020202020696620286368696c64203d206e6f64655b305d292071756164732e70757368286e65772051756164286368696c642c2078302c2079302c20786d2c20796d29293b0a202020202020696620286368696c64203d206e6f64655b315d292071756164732e70757368286e65772051756164286368696c642c20786d2c2079302c2078312c20796d29293b0a202020202020696620286368696c64203d206e6f64655b325d292071756164732e70757368286e65772051756164286368696c642c2078302c20796d2c20786d2c20793129293b0a202020202020696620286368696c64203d206e6f64655b335d292071756164732e70757368286e65772051756164286368696c642c20786d2c20796d2c2078312c20793129293b0a202020207d0a202020206e6578742e707573682871293b0a20207d0a20207768696c65202871203d206e6578742e706f70282929207b0a2020202063616c6c6261636b28712e6e6f64652c20712e78302c20712e79302c20712e78312c20712e7931293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e2064656661756c7458286429207b0a202072657475726e20645b305d3b0a7d0a0a76617220747265655f78203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f78203d205f2c207468697329203a20746869732e5f783b0a7d3b0a0a66756e6374696f6e2064656661756c7459286429207b0a202072657475726e20645b315d3b0a7d0a0a76617220747265655f79203d2066756e6374696f6e285f29207b0a202072657475726e20617267756d656e74732e6c656e677468203f2028746869732e5f79203d205f2c207468697329203a20746869732e5f793b0a7d3b0a0a66756e6374696f6e207175616474726565286e6f6465732c20782c207929207b0a20207661722074726565203d206e65772051756164747265652878203d3d206e756c6c203f2064656661756c7458203a20782c2079203d3d206e756c6c203f2064656661756c7459203a20792c204e614e2c204e614e2c204e614e2c204e614e293b0a202072657475726e206e6f646573203d3d206e756c6c203f2074726565203a20747265652e616464416c6c286e6f646573293b0a7d0a0a66756e6374696f6e20517561647472656528782c20792c2078302c2079302c2078312c20793129207b0a2020746869732e5f78203d20783b0a2020746869732e5f79203d20793b0a2020746869732e5f7830203d2078303b0a2020746869732e5f7930203d2079303b0a2020746869732e5f7831203d2078313b0a2020746869732e5f7931203d2079313b0a2020746869732e5f726f6f74203d20756e646566696e65643b0a7d0a0a66756e6374696f6e206c6561665f636f7079286c65616629207b0a202076617220636f7079203d207b646174613a206c6561662e646174617d2c206e657874203d20636f70793b0a20207768696c6520286c656166203d206c6561662e6e65787429206e657874203d206e6578742e6e657874203d207b646174613a206c6561662e646174617d3b0a202072657475726e20636f70793b0a7d0a0a766172207472656550726f746f203d2071756164747265652e70726f746f74797065203d2051756164747265652e70726f746f747970653b0a0a7472656550726f746f2e636f7079203d2066756e6374696f6e2829207b0a202076617220636f7079203d206e657720517561647472656528746869732e5f782c20746869732e5f792c20746869732e5f78302c20746869732e5f79302c20746869732e5f78312c20746869732e5f7931292c0a2020202020206e6f6465203d20746869732e5f726f6f742c0a2020202020206e6f6465732c0a2020202020206368696c643b0a0a202069662028216e6f6465292072657475726e20636f70793b0a0a202069662028216e6f64652e6c656e677468292072657475726e20636f70792e5f726f6f74203d206c6561665f636f7079286e6f6465292c20636f70793b0a0a20206e6f646573203d205b7b736f757263653a206e6f64652c207461726765743a20636f70792e5f726f6f74203d206e65772041727261792834297d5d3b0a20207768696c6520286e6f6465203d206e6f6465732e706f70282929207b0a20202020666f7220287661722069203d20303b2069203c20343b202b2b6929207b0a202020202020696620286368696c64203d206e6f64652e736f757263655b695d29207b0a2020202020202020696620286368696c642e6c656e67746829206e6f6465732e70757368287b736f757263653a206368696c642c207461726765743a206e6f64652e7461726765745b695d203d206e65772041727261792834297d293b0a2020202020202020656c7365206e6f64652e7461726765745b695d203d206c6561665f636f7079286368696c64293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a7472656550726f746f2e616464203d20747265655f6164643b0a7472656550726f746f2e616464416c6c203d20616464416c6c3b0a7472656550726f746f2e636f766572203d20747265655f636f7665723b0a7472656550726f746f2e64617461203d20747265655f646174613b0a7472656550726f746f2e657874656e74203d20747265655f657874656e743b0a7472656550726f746f2e66696e64203d20747265655f66696e643b0a7472656550726f746f2e72656d6f7665203d20747265655f72656d6f76653b0a7472656550726f746f2e72656d6f7665416c6c203d2072656d6f7665416c6c3b0a7472656550726f746f2e726f6f74203d20747265655f726f6f743b0a7472656550726f746f2e73697a65203d20747265655f73697a653b0a7472656550726f746f2e7669736974203d20747265655f76697369743b0a7472656550726f746f2e76697369744166746572203d20747265655f766973697441667465723b0a7472656550726f746f2e78203d20747265655f783b0a7472656550726f746f2e79203d20747265655f793b0a0a6578706f7274732e7175616474726565203d2071756164747265653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d71756575652f2056657273696f6e20332e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220736c696365203d205b5d2e736c6963653b0a0a766172206e6f61626f7274203d207b7d3b0a0a66756e6374696f6e2051756575652873697a6529207b0a2020746869732e5f73697a65203d2073697a653b0a2020746869732e5f63616c6c203d0a2020746869732e5f6572726f72203d206e756c6c3b0a2020746869732e5f7461736b73203d205b5d3b0a2020746869732e5f64617461203d205b5d3b0a2020746869732e5f77616974696e67203d0a2020746869732e5f616374697665203d0a2020746869732e5f656e646564203d0a2020746869732e5f7374617274203d20303b202f2f20696e7369646520612073796e6368726f6e6f7573207461736b2063616c6c6261636b3f0a7d0a0a51756575652e70726f746f74797065203d2071756575652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2051756575652c0a202064656665723a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f722822646566657220616674657220617761697422293b0a2020202069662028746869732e5f6572726f7220213d206e756c6c292072657475726e20746869733b0a202020207661722074203d20736c6963652e63616c6c28617267756d656e74732c2031293b0a20202020742e707573682863616c6c6261636b293b0a202020202b2b746869732e5f77616974696e672c20746869732e5f7461736b732e707573682874293b0a20202020706f6b652874686973293b0a2020202072657475726e20746869733b0a20207d2c0a202061626f72743a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6572726f72203d3d206e756c6c292061626f727428746869732c206e6577204572726f72282261626f72742229293b0a2020202072657475726e20746869733b0a20207d2c0a202061776169743a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f7228226d756c7469706c6520617761697422293b0a20202020746869732e5f63616c6c203d2066756e6374696f6e286572726f722c20726573756c747329207b2063616c6c6261636b2e6170706c79286e756c6c2c205b6572726f725d2e636f6e63617428726573756c747329293b207d3b0a202020206d617962654e6f746966792874686973293b0a2020202072657475726e20746869733b0a20207d2c0a20206177616974416c6c3a2066756e6374696f6e2863616c6c6261636b29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b22293b0a2020202069662028746869732e5f63616c6c29207468726f77206e6577204572726f7228226d756c7469706c6520617761697422293b0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a202020206d617962654e6f746966792874686973293b0a2020202072657475726e20746869733b0a20207d0a7d3b0a0a66756e6374696f6e20706f6b65287129207b0a20206966202821712e5f737461727429207b0a20202020747279207b2073746172742871293b207d202f2f206c6574207468652063757272656e74207461736b20636f6d706c6574650a20202020636174636820286529207b0a20202020202069662028712e5f7461736b735b712e5f656e646564202b20712e5f616374697665202d20315d292061626f727428712c2065293b202f2f207461736b206572726f7265642073796e6368726f6e6f75736c790a202020202020656c7365206966202821712e5f6461746129207468726f7720653b202f2f2061776169742063616c6c6261636b206572726f7265642073796e6368726f6e6f75736c790a202020207d0a20207d0a7d0a0a66756e6374696f6e207374617274287129207b0a20207768696c652028712e5f7374617274203d20712e5f77616974696e6720262620712e5f616374697665203c20712e5f73697a6529207b0a202020207661722069203d20712e5f656e646564202b20712e5f6163746976652c0a202020202020202074203d20712e5f7461736b735b695d2c0a20202020202020206a203d20742e6c656e677468202d20312c0a202020202020202063203d20745b6a5d3b0a20202020745b6a5d203d20656e6428712c2069293b0a202020202d2d712e5f77616974696e672c202b2b712e5f6163746976653b0a2020202074203d20632e6170706c79286e756c6c2c2074293b0a202020206966202821712e5f7461736b735b695d2920636f6e74696e75653b202f2f207461736b2066696e69736865642073796e6368726f6e6f75736c790a20202020712e5f7461736b735b695d203d2074207c7c206e6f61626f72743b0a20207d0a7d0a0a66756e6374696f6e20656e6428712c206929207b0a202072657475726e2066756e6374696f6e28652c207229207b0a202020206966202821712e5f7461736b735b695d292072657475726e3b202f2f2069676e6f7265206d756c7469706c652063616c6c6261636b730a202020202d2d712e5f6163746976652c202b2b712e5f656e6465643b0a20202020712e5f7461736b735b695d203d206e756c6c3b0a2020202069662028712e5f6572726f7220213d206e756c6c292072657475726e3b202f2f2069676e6f7265207365636f6e64617279206572726f72730a20202020696620286520213d206e756c6c29207b0a20202020202061626f727428712c2065293b0a202020207d20656c7365207b0a202020202020712e5f646174615b695d203d20723b0a20202020202069662028712e5f77616974696e672920706f6b652871293b0a202020202020656c7365206d617962654e6f746966792871293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e2061626f727428712c206529207b0a20207661722069203d20712e5f7461736b732e6c656e6774682c20743b0a2020712e5f6572726f72203d20653b202f2f2069676e6f7265206163746976652063616c6c6261636b730a2020712e5f64617461203d20756e646566696e65643b202f2f20616c6c6f772067630a2020712e5f77616974696e67203d204e614e3b202f2f2070726576656e74207374617274696e670a0a20207768696c6520282d2d69203e3d203029207b0a202020206966202874203d20712e5f7461736b735b695d29207b0a202020202020712e5f7461736b735b695d203d206e756c6c3b0a20202020202069662028742e61626f727429207b0a2020202020202020747279207b20742e61626f727428293b207d0a2020202020202020636174636820286529207b202f2a2069676e6f7265202a2f207d0a2020202020207d0a202020207d0a20207d0a0a2020712e5f616374697665203d204e614e3b202f2f20616c6c6f77206e6f74696669636174696f6e0a20206d617962654e6f746966792871293b0a7d0a0a66756e6374696f6e206d617962654e6f74696679287129207b0a20206966202821712e5f61637469766520262620712e5f63616c6c29207b0a202020207661722064203d20712e5f646174613b0a20202020712e5f64617461203d20756e646566696e65643b202f2f20616c6c6f772067630a20202020712e5f63616c6c28712e5f6572726f722c2064293b0a20207d0a7d0a0a66756e6374696f6e20717565756528636f6e63757272656e637929207b0a202069662028636f6e63757272656e6379203d3d206e756c6c2920636f6e63757272656e6379203d20496e66696e6974793b0a2020656c73652069662028212828636f6e63757272656e6379203d202b636f6e63757272656e637929203e3d20312929207468726f77206e6577204572726f722822696e76616c696420636f6e63757272656e637922293b0a202072657475726e206e657720517565756528636f6e63757272656e6379293b0a7d0a0a6578706f7274732e7175657565203d2071756575653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d72616e646f6d2f2056657273696f6e20312e312e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a7661722064656661756c74536f75726365203d2066756e6374696f6e2829207b0a202072657475726e204d6174682e72616e646f6d28293b0a7d3b0a0a76617220756e69666f726d203d20282866756e6374696f6e20736f7572636552616e646f6d556e69666f726d28736f7572636529207b0a202066756e6374696f6e2072616e646f6d556e69666f726d286d696e2c206d617829207b0a202020206d696e203d206d696e203d3d206e756c6c203f2030203a202b6d696e3b0a202020206d6178203d206d6178203d3d206e756c6c203f2031203a202b6d61783b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203129206d6178203d206d696e2c206d696e203d20303b0a20202020656c7365206d6178202d3d206d696e3b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e20736f757263652829202a206d6178202b206d696e3b0a202020207d3b0a20207d0a0a202072616e646f6d556e69666f726d2e736f75726365203d20736f7572636552616e646f6d556e69666f726d3b0a0a202072657475726e2072616e646f6d556e69666f726d3b0a7d29292864656661756c74536f75726365293b0a0a766172206e6f726d616c203d20282866756e6374696f6e20736f7572636552616e646f6d4e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4e6f726d616c286d752c207369676d6129207b0a2020202076617220782c20723b0a202020206d75203d206d75203d3d206e756c6c203f2030203a202b6d753b0a202020207369676d61203d207369676d61203d3d206e756c6c203f2031203a202b7369676d613b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202076617220793b0a0a2020202020202f2f20496620617661696c61626c652c2075736520746865207365636f6e642070726576696f75736c792d67656e65726174656420756e69666f726d2072616e646f6d2e0a202020202020696620287820213d206e756c6c292079203d20782c2078203d206e756c6c3b0a0a2020202020202f2f204f74686572776973652c2067656e65726174652061206e6577207820616e6420792e0a202020202020656c736520646f207b0a202020202020202078203d20736f757263652829202a2032202d20313b0a202020202020202079203d20736f757263652829202a2032202d20313b0a202020202020202072203d2078202a2078202b2079202a20793b0a2020202020207d207768696c6520282172207c7c2072203e2031293b0a0a20202020202072657475726e206d75202b207369676d61202a2079202a204d6174682e73717274282d32202a204d6174682e6c6f67287229202f2072293b0a202020207d3b0a20207d0a0a202072616e646f6d4e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4e6f726d616c3b0a0a202072657475726e2072616e646f6d4e6f726d616c3b0a7d29292864656661756c74536f75726365293b0a0a766172206c6f674e6f726d616c203d20282866756e6374696f6e20736f7572636552616e646f6d4c6f674e6f726d616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4c6f674e6f726d616c2829207b0a202020207661722072616e646f6d4e6f726d616c203d206e6f726d616c2e736f7572636528736f75726365292e6170706c7928746869732c20617267756d656e7473293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e204d6174682e6578702872616e646f6d4e6f726d616c2829293b0a202020207d3b0a20207d0a0a202072616e646f6d4c6f674e6f726d616c2e736f75726365203d20736f7572636552616e646f6d4c6f674e6f726d616c3b0a0a202072657475726e2072616e646f6d4c6f674e6f726d616c3b0a7d29292864656661756c74536f75726365293b0a0a76617220697277696e48616c6c203d20282866756e6374696f6e20736f7572636552616e646f6d497277696e48616c6c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d497277696e48616c6c286e29207b0a2020202072657475726e2066756e6374696f6e2829207b0a202020202020666f7220287661722073756d203d20302c2069203d20303b2069203c206e3b202b2b69292073756d202b3d20736f7572636528293b0a20202020202072657475726e2073756d3b0a202020207d3b0a20207d0a0a202072616e646f6d497277696e48616c6c2e736f75726365203d20736f7572636552616e646f6d497277696e48616c6c3b0a0a202072657475726e2072616e646f6d497277696e48616c6c3b0a7d29292864656661756c74536f75726365293b0a0a766172206261746573203d20282866756e6374696f6e20736f7572636552616e646f6d426174657328736f7572636529207b0a202066756e6374696f6e2072616e646f6d4261746573286e29207b0a202020207661722072616e646f6d497277696e48616c6c203d20697277696e48616c6c2e736f7572636528736f7572636529286e293b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e2072616e646f6d497277696e48616c6c2829202f206e3b0a202020207d3b0a20207d0a0a202072616e646f6d42617465732e736f75726365203d20736f7572636552616e646f6d42617465733b0a0a202072657475726e2072616e646f6d42617465733b0a7d29292864656661756c74536f75726365293b0a0a766172206578706f6e656e7469616c203d20282866756e6374696f6e20736f7572636552616e646f6d4578706f6e656e7469616c28736f7572636529207b0a202066756e6374696f6e2072616e646f6d4578706f6e656e7469616c286c616d62646129207b0a2020202072657475726e2066756e6374696f6e2829207b0a20202020202072657475726e202d4d6174682e6c6f672831202d20736f75726365282929202f206c616d6264613b0a202020207d3b0a20207d0a0a202072616e646f6d4578706f6e656e7469616c2e736f75726365203d20736f7572636552616e646f6d4578706f6e656e7469616c3b0a0a202072657475726e2072616e646f6d4578706f6e656e7469616c3b0a7d29292864656661756c74536f75726365293b0a0a6578706f7274732e72616e646f6d556e69666f726d203d20756e69666f726d3b0a6578706f7274732e72616e646f6d4e6f726d616c203d206e6f726d616c3b0a6578706f7274732e72616e646f6d4c6f674e6f726d616c203d206c6f674e6f726d616c3b0a6578706f7274732e72616e646f6d4261746573203d2062617465733b0a6578706f7274732e72616e646f6d497277696e48616c6c203d20697277696e48616c6c3b0a6578706f7274732e72616e646f6d4578706f6e656e7469616c203d206578706f6e656e7469616c3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c35393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a76617220584d4c4874747052657175657374203d20726571756972652827786d6c687474707265717565737427292e584d4c48747470526571756573743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a766172206433436f6c6c656374696f6e203d2072657175697265282764332d636f6c6c656374696f6e27293b0a7661722064334469737061746368203d2072657175697265282764332d646973706174636827293b0a766172206433447376203d2072657175697265282764332d64737627293b0a0a7661722072657175657374203d2066756e6374696f6e2875726c2c2063616c6c6261636b29207b0a202076617220726571756573742c0a2020202020206576656e74203d20643344697370617463682e646973706174636828226265666f726573656e64222c202270726f6772657373222c20226c6f6164222c20226572726f7222292c0a2020202020206d696d65547970652c0a20202020202068656164657273203d206433436f6c6c656374696f6e2e6d617028292c0a202020202020786872203d206e657720584d4c48747470526571756573742c0a20202020202075736572203d206e756c6c2c0a20202020202070617373776f7264203d206e756c6c2c0a202020202020726573706f6e73652c0a202020202020726573706f6e7365547970652c0a20202020202074696d656f7574203d20303b0a0a20202f2f20496620494520646f6573206e6f7420737570706f727420434f52532c207573652058446f6d61696e526571756573742e0a202069662028747970656f662058446f6d61696e5265717565737420213d3d2022756e646566696e6564220a2020202020202626202128227769746843726564656e7469616c732220696e20786872290a2020202020202626202f5e28687474702873293f3a293f5c2f5c2f2f2e746573742875726c292920786872203d206e65772058446f6d61696e526571756573743b0a0a2020226f6e6c6f61642220696e207868720a2020202020203f207868722e6f6e6c6f6164203d207868722e6f6e6572726f72203d207868722e6f6e74696d656f7574203d20726573706f6e640a2020202020203a207868722e6f6e726561647973746174656368616e6765203d2066756e6374696f6e286f29207b207868722e72656164795374617465203e203320262620726573706f6e64286f293b207d3b0a0a202066756e6374696f6e20726573706f6e64286f29207b0a2020202076617220737461747573203d207868722e7374617475732c20726573756c743b0a20202020696620282173746174757320262620686173526573706f6e736528786872290a20202020202020207c7c20737461747573203e3d2032303020262620737461747573203c203330300a20202020202020207c7c20737461747573203d3d3d2033303429207b0a20202020202069662028726573706f6e736529207b0a2020202020202020747279207b0a20202020202020202020726573756c74203d20726573706f6e73652e63616c6c28726571756573742c20786872293b0a20202020202020207d20636174636820286529207b0a202020202020202020206576656e742e63616c6c28226572726f72222c20726571756573742c2065293b0a2020202020202020202072657475726e3b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d207868723b0a2020202020207d0a2020202020206576656e742e63616c6c28226c6f6164222c20726571756573742c20726573756c74293b0a202020207d20656c7365207b0a2020202020206576656e742e63616c6c28226572726f72222c20726571756573742c206f293b0a202020207d0a20207d0a0a20207868722e6f6e70726f6772657373203d2066756e6374696f6e286529207b0a202020206576656e742e63616c6c282270726f6772657373222c20726571756573742c2065293b0a20207d3b0a0a202072657175657374203d207b0a202020206865616465723a2066756e6374696f6e286e616d652c2076616c756529207b0a2020202020206e616d65203d20286e616d65202b202222292e746f4c6f7765724361736528293b0a20202020202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20686561646572732e676574286e616d65293b0a2020202020206966202876616c7565203d3d206e756c6c2920686561646572732e72656d6f7665286e616d65293b0a202020202020656c736520686561646572732e736574286e616d652c2076616c7565202b202222293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f204966206d696d6554797065206973206e6f6e2d6e756c6c20616e64206e6f2041636365707420686561646572206973207365742c20612064656661756c7420697320757365642e0a202020206d696d65547970653a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e206d696d65547970653b0a2020202020206d696d6554797065203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022223b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f20537065636966696573207768617420747970652074686520726573706f6e73652076616c75652073686f756c642074616b653b0a202020202f2f20666f7220696e7374616e63652c2061727261796275666665722c20626c6f622c20646f63756d656e742c206f7220746578742e0a20202020726573706f6e7365547970653a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e20726573706f6e7365547970653b0a202020202020726573706f6e736554797065203d2076616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a2020202074696d656f75743a2066756e6374696f6e2876616c756529207b0a2020202020206966202821617267756d656e74732e6c656e677468292072657475726e2074696d656f75743b0a20202020202074696d656f7574203d202b76616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a20202020757365723a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203c2031203f2075736572203a202875736572203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022222c2072657175657374293b0a202020207d2c0a0a2020202070617373776f72643a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e20617267756d656e74732e6c656e677468203c2031203f2070617373776f7264203a202870617373776f7264203d2076616c7565203d3d206e756c6c203f206e756c6c203a2076616c7565202b2022222c2072657175657374293b0a202020207d2c0a0a202020202f2f205370656369667920686f7720746f20636f6e766572742074686520726573706f6e736520636f6e74656e7420746f206120737065636966696320747970653b0a202020202f2f206368616e676573207468652063616c6c6261636b2076616c7565206f6e20226c6f616422206576656e74732e0a20202020726573706f6e73653a2066756e6374696f6e2876616c756529207b0a202020202020726573706f6e7365203d2076616c75653b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020202f2f20416c69617320666f722073656e642822474554222c20e280a6292e0a202020206765743a2066756e6374696f6e28646174612c2063616c6c6261636b29207b0a20202020202072657475726e20726571756573742e73656e642822474554222c20646174612c2063616c6c6261636b293b0a202020207d2c0a0a202020202f2f20416c69617320666f722073656e642822504f5354222c20e280a6292e0a20202020706f73743a2066756e6374696f6e28646174612c2063616c6c6261636b29207b0a20202020202072657475726e20726571756573742e73656e642822504f5354222c20646174612c2063616c6c6261636b293b0a202020207d2c0a0a202020202f2f2049662063616c6c6261636b206973206e6f6e2d6e756c6c2c2069742077696c6c206265207573656420666f72206572726f7220616e64206c6f6164206576656e74732e0a2020202073656e643a2066756e6374696f6e286d6574686f642c20646174612c2063616c6c6261636b29207b0a2020202020207868722e6f70656e286d6574686f642c2075726c2c20747275652c20757365722c2070617373776f7264293b0a202020202020696620286d696d655479706520213d206e756c6c2026262021686561646572732e686173282261636365707422292920686561646572732e7365742822616363657074222c206d696d6554797065202b20222c2a2f2a22293b0a202020202020696620287868722e736574526571756573744865616465722920686561646572732e656163682866756e6374696f6e2876616c75652c206e616d6529207b207868722e73657452657175657374486561646572286e616d652c2076616c7565293b207d293b0a202020202020696620286d696d655479706520213d206e756c6c202626207868722e6f766572726964654d696d655479706529207868722e6f766572726964654d696d6554797065286d696d6554797065293b0a20202020202069662028726573706f6e73655479706520213d206e756c6c29207868722e726573706f6e736554797065203d20726573706f6e7365547970653b0a2020202020206966202874696d656f7574203e203029207868722e74696d656f7574203d2074696d656f75743b0a2020202020206966202863616c6c6261636b203d3d206e756c6c20262620747970656f662064617461203d3d3d202266756e6374696f6e22292063616c6c6261636b203d20646174612c2064617461203d206e756c6c3b0a2020202020206966202863616c6c6261636b20213d206e756c6c2026262063616c6c6261636b2e6c656e677468203d3d3d2031292063616c6c6261636b203d2066697843616c6c6261636b2863616c6c6261636b293b0a2020202020206966202863616c6c6261636b20213d206e756c6c2920726571756573742e6f6e28226572726f72222c2063616c6c6261636b292e6f6e28226c6f6164222c2066756e6374696f6e2878687229207b2063616c6c6261636b286e756c6c2c20786872293b207d293b0a2020202020206576656e742e63616c6c28226265666f726573656e64222c20726571756573742c20786872293b0a2020202020207868722e73656e642864617461203d3d206e756c6c203f206e756c6c203a2064617461293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a2020202061626f72743a2066756e6374696f6e2829207b0a2020202020207868722e61626f727428293b0a20202020202072657475726e20726571756573743b0a202020207d2c0a0a202020206f6e3a2066756e6374696f6e2829207b0a2020202020207661722076616c7565203d206576656e742e6f6e2e6170706c79286576656e742c20617267756d656e7473293b0a20202020202072657475726e2076616c7565203d3d3d206576656e74203f2072657175657374203a2076616c75653b0a202020207d0a20207d3b0a0a20206966202863616c6c6261636b20213d206e756c6c29207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a2020202072657475726e20726571756573742e6765742863616c6c6261636b293b0a20207d0a0a202072657475726e20726571756573743b0a7d3b0a0a66756e6374696f6e2066697843616c6c6261636b2863616c6c6261636b29207b0a202072657475726e2066756e6374696f6e286572726f722c2078687229207b0a2020202063616c6c6261636b286572726f72203d3d206e756c6c203f20786872203a206e756c6c293b0a20207d3b0a7d0a0a66756e6374696f6e20686173526573706f6e73652878687229207b0a20207661722074797065203d207868722e726573706f6e7365547970653b0a202072657475726e2074797065202626207479706520213d3d202274657874220a2020202020203f207868722e726573706f6e7365202f2f206e756c6c206f6e206572726f720a2020202020203a207868722e726573706f6e7365546578743b202f2f202222206f6e206572726f720a7d0a0a7661722074797065203d2066756e6374696f6e2864656661756c744d696d65547970652c20726573706f6e736529207b0a202072657475726e2066756e6374696f6e2875726c2c2063616c6c6261636b29207b0a202020207661722072203d20726571756573742875726c292e6d696d65547970652864656661756c744d696d6554797065292e726573706f6e736528726573706f6e7365293b0a202020206966202863616c6c6261636b20213d206e756c6c29207b0a20202020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e6577204572726f722822696e76616c69642063616c6c6261636b3a2022202b2063616c6c6261636b293b0a20202020202072657475726e20722e6765742863616c6c6261636b293b0a202020207d0a2020202072657475726e20723b0a20207d3b0a7d3b0a0a7661722068746d6c203d20747970652822746578742f68746d6c222c2066756e6374696f6e2878687229207b0a202072657475726e20646f63756d656e742e63726561746552616e676528292e637265617465436f6e7465787475616c467261676d656e74287868722e726573706f6e736554657874293b0a7d293b0a0a766172206a736f6e203d207479706528226170706c69636174696f6e2f6a736f6e222c2066756e6374696f6e2878687229207b0a202072657475726e204a534f4e2e7061727365287868722e726573706f6e736554657874293b0a7d293b0a0a7661722074657874203d20747970652822746578742f706c61696e222c2066756e6374696f6e2878687229207b0a202072657475726e207868722e726573706f6e7365546578743b0a7d293b0a0a76617220786d6c203d207479706528226170706c69636174696f6e2f786d6c222c2066756e6374696f6e2878687229207b0a202076617220786d6c203d207868722e726573706f6e7365584d4c3b0a20206966202821786d6c29207468726f77206e6577204572726f7228227061727365206572726f7222293b0a202072657475726e20786d6c3b0a7d293b0a0a76617220647376203d2066756e6374696f6e2864656661756c744d696d65547970652c20706172736529207b0a202072657475726e2066756e6374696f6e2875726c2c20726f772c2063616c6c6261636b29207b0a2020202069662028617267756d656e74732e6c656e677468203c2033292063616c6c6261636b203d20726f772c20726f77203d206e756c6c3b0a202020207661722072203d20726571756573742875726c292e6d696d65547970652864656661756c744d696d6554797065293b0a20202020722e726f77203d2066756e6374696f6e285f29207b2072657475726e20617267756d656e74732e6c656e677468203f20722e726573706f6e736528726573706f6e73654f662870617273652c20726f77203d205f2929203a20726f773b207d3b0a20202020722e726f7728726f77293b0a2020202072657475726e2063616c6c6261636b203f20722e6765742863616c6c6261636b29203a20723b0a20207d3b0a7d3b0a0a66756e6374696f6e20726573706f6e73654f662870617273652c20726f7729207b0a202072657475726e2066756e6374696f6e287265717565737424243129207b0a2020202072657475726e20706172736528726571756573742424312e726573706f6e7365546578742c20726f77293b0a20207d3b0a7d0a0a76617220637376203d206473762822746578742f637376222c2064334473762e6373765061727365293b0a0a76617220747376203d206473762822746578742f7461622d7365706172617465642d76616c756573222c2064334473762e7473765061727365293b0a0a6578706f7274732e72657175657374203d20726571756573743b0a6578706f7274732e68746d6c203d2068746d6c3b0a6578706f7274732e6a736f6e203d206a736f6e3b0a6578706f7274732e74657874203d20746578743b0a6578706f7274732e786d6c203d20786d6c3b0a6578706f7274732e637376203d206373763b0a6578706f7274732e747376203d207473763b0a0a7d2c7b2264332d636f6c6c656374696f6e223a34332c2264332d6469737061746368223a34352c2264332d647376223a34372c22786d6c6874747072657175657374223a3134387d5d2c36303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7363616c652f2056657273696f6e20312e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d617272617927292c2072657175697265282764332d636f6c6c656374696f6e27292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d666f726d617427292c2072657175697265282764332d74696d6527292c2072657175697265282764332d74696d652d666f726d617427292c2072657175697265282764332d636f6c6f72272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6172726179272c202764332d636f6c6c656374696f6e272c202764332d696e746572706f6c617465272c202764332d666f726d6174272c202764332d74696d65272c202764332d74696d652d666f726d6174272c202764332d636f6c6f72275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643341727261792c6433436f6c6c656374696f6e2c6433496e746572706f6c6174652c6433466f726d61742c643354696d652c643354696d65466f726d61742c6433436f6c6f7229207b202775736520737472696374273b0a0a766172206172726179203d2041727261792e70726f746f747970653b0a0a766172206d61702431203d2061727261792e6d61703b0a76617220736c696365203d2061727261792e736c6963653b0a0a76617220696d706c69636974203d207b6e616d653a2022696d706c69636974227d3b0a0a66756e6374696f6e206f7264696e616c2872616e676524243129207b0a202076617220696e646578203d206433436f6c6c656374696f6e2e6d617028292c0a202020202020646f6d61696e203d205b5d2c0a202020202020756e6b6e6f776e203d20696d706c696369743b0a0a202072616e6765242431203d2072616e6765242431203d3d206e756c6c203f205b5d203a20736c6963652e63616c6c2872616e6765242431293b0a0a202066756e6374696f6e207363616c65286429207b0a20202020766172206b6579203d2064202b2022222c2069203d20696e6465782e676574286b6579293b0a2020202069662028216929207b0a20202020202069662028756e6b6e6f776e20213d3d20696d706c69636974292072657475726e20756e6b6e6f776e3b0a202020202020696e6465782e736574286b65792c2069203d20646f6d61696e2e70757368286429293b0a202020207d0a2020202072657475726e2072616e67652424315b2869202d20312920252072616e67652424312e6c656e6774685d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d2c20696e646578203d206433436f6c6c656374696f6e2e6d617028293b0a202020207661722069203d202d312c206e203d205f2e6c656e6774682c20642c206b65793b0a202020207768696c6520282b2b69203c206e29206966202821696e6465782e686173286b6579203d202864203d205f5b695d29202b202222292920696e6465782e736574286b65792c20646f6d61696e2e70757368286429293b0a2020202072657475726e207363616c653b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c207363616c6529203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e756e6b6e6f776e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028756e6b6e6f776e203d205f2c207363616c6529203a20756e6b6e6f776e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206f7264696e616c28290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e756e6b6e6f776e28756e6b6e6f776e293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e2062616e642829207b0a2020766172207363616c65203d206f7264696e616c28292e756e6b6e6f776e28756e646566696e6564292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a2020202020206f7264696e616c52616e6765203d207363616c652e72616e67652c0a20202020202072616e6765242431203d205b302c20315d2c0a202020202020737465702c0a20202020202062616e6477696474682c0a202020202020726f756e64203d2066616c73652c0a20202020202070616464696e67496e6e6572203d20302c0a20202020202070616464696e674f75746572203d20302c0a202020202020616c69676e203d20302e353b0a0a202064656c657465207363616c652e756e6b6e6f776e3b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020766172206e203d20646f6d61696e28292e6c656e6774682c0a202020202020202072657665727365203d2072616e67652424315b315d203c2072616e67652424315b305d2c0a20202020202020207374617274203d2072616e67652424315b72657665727365202d20305d2c0a202020202020202073746f70203d2072616e67652424315b31202d20726576657273655d3b0a2020202073746570203d202873746f70202d20737461727429202f204d6174682e6d617828312c206e202d2070616464696e67496e6e6572202b2070616464696e674f75746572202a2032293b0a2020202069662028726f756e64292073746570203d204d6174682e666c6f6f722873746570293b0a202020207374617274202b3d202873746f70202d207374617274202d2073746570202a20286e202d2070616464696e67496e6e65722929202a20616c69676e3b0a2020202062616e647769647468203d2073746570202a202831202d2070616464696e67496e6e6572293b0a2020202069662028726f756e6429207374617274203d204d6174682e726f756e64287374617274292c2062616e647769647468203d204d6174682e726f756e642862616e647769647468293b0a202020207661722076616c756573203d20643341727261792e72616e6765286e292e6d61702866756e6374696f6e286929207b2072657475726e207374617274202b2073746570202a20693b207d293b0a2020202072657475726e206f7264696e616c52616e67652872657665727365203f2076616c7565732e726576657273652829203a2076616c756573293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d205b2b5f5b305d2c202b5f5b315d5d2c20726f756e64203d20747275652c2072657363616c6528293b0a20207d3b0a0a20207363616c652e62616e647769647468203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6477696474683b0a20207d3b0a0a20207363616c652e73746570203d2066756e6374696f6e2829207b0a2020202072657475726e20737465703b0a20207d3b0a0a20207363616c652e726f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028726f756e64203d2021215f2c2072657363616c65282929203a20726f756e643b0a20207d3b0a0a20207363616c652e70616464696e67203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d2070616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e67496e6e6572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e67496e6e6572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e67496e6e65723b0a20207d3b0a0a20207363616c652e70616464696e674f75746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202870616464696e674f75746572203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a2070616464696e674f757465723b0a20207d3b0a0a20207363616c652e616c69676e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028616c69676e203d204d6174682e6d617828302c204d6174682e6d696e28312c205f29292c2072657363616c65282929203a20616c69676e3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2062616e6428290a20202020202020202e646f6d61696e28646f6d61696e2829290a20202020202020202e72616e67652872616e6765242431290a20202020202020202e726f756e6428726f756e64290a20202020202020202e70616464696e67496e6e65722870616464696e67496e6e6572290a20202020202020202e70616464696e674f757465722870616464696e674f75746572290a20202020202020202e616c69676e28616c69676e293b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a66756e6374696f6e20706f696e74697368287363616c6529207b0a202076617220636f7079203d207363616c652e636f70793b0a0a20207363616c652e70616464696e67203d207363616c652e70616464696e674f757465723b0a202064656c657465207363616c652e70616464696e67496e6e65723b0a202064656c657465207363616c652e70616464696e674f757465723b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20706f696e7469736828636f70792829293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20706f696e742829207b0a202072657475726e20706f696e746973682862616e6428292e70616464696e67496e6e6572283129293b0a7d0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206e756d626572203d2066756e6374696f6e287829207b0a202072657475726e202b783b0a7d3b0a0a76617220756e6974203d205b302c20315d3b0a0a66756e6374696f6e206465696e746572706f6c6174654c696e65617228612c206229207b0a202072657475726e202862202d3d202861203d202b6129290a2020202020203f2066756e6374696f6e287829207b2072657475726e202878202d206129202f20623b207d0a2020202020203a20636f6e7374616e742862293b0a7d0a0a66756e6374696f6e206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722064203d206465696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287829207b2072657475726e2078203c3d2061203f2030203a2078203e3d2062203f2031203a20642878293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e207265696e746572706f6c617465436c616d70287265696e746572706f6c61746529207b0a202072657475726e2066756e6374696f6e28612c206229207b0a202020207661722072203d207265696e746572706f6c6174652861203d202b612c2062203d202b62293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2074203c3d2030203f2061203a2074203e3d2031203f2062203a20722874293b207d3b0a20207d3b0a7d0a0a66756e6374696f6e2062696d617028646f6d61696e2c2072616e67652424312c206465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a2020766172206430203d20646f6d61696e5b305d2c206431203d20646f6d61696e5b315d2c207230203d2072616e67652424315b305d2c207231203d2072616e67652424315b315d3b0a2020696620286431203c20643029206430203d206465696e746572706f6c6174652864312c206430292c207230203d207265696e746572706f6c6174652872312c207230293b0a2020656c7365206430203d206465696e746572706f6c6174652864302c206431292c207230203d207265696e746572706f6c6174652872302c207231293b0a202072657475726e2066756e6374696f6e287829207b2072657475726e207230286430287829293b207d3b0a7d0a0a66756e6374696f6e20706f6c796d617028646f6d61696e2c2072616e67652424312c206465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a2020766172206a203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e67746829202d20312c0a20202020202064203d206e6577204172726179286a292c0a20202020202072203d206e6577204172726179286a292c0a20202020202069203d202d313b0a0a20202f2f20526576657273652064657363656e64696e6720646f6d61696e732e0a202069662028646f6d61696e5b6a5d203c20646f6d61696e5b305d29207b0a20202020646f6d61696e203d20646f6d61696e2e736c69636528292e7265766572736528293b0a2020202072616e6765242431203d2072616e67652424312e736c69636528292e7265766572736528293b0a20207d0a0a20207768696c6520282b2b69203c206a29207b0a20202020645b695d203d206465696e746572706f6c61746528646f6d61696e5b695d2c20646f6d61696e5b69202b20315d293b0a20202020725b695d203d207265696e746572706f6c6174652872616e67652424315b695d2c2072616e67652424315b69202b20315d293b0a20207d0a0a202072657475726e2066756e6374696f6e287829207b0a202020207661722069203d20643341727261792e62697365637428646f6d61696e2c20782c20312c206a29202d20313b0a2020202072657475726e20725b695d28645b695d287829293b0a20207d3b0a7d0a0a66756e6374696f6e20636f707928736f757263652c2074617267657429207b0a202072657475726e207461726765740a2020202020202e646f6d61696e28736f757263652e646f6d61696e2829290a2020202020202e72616e676528736f757263652e72616e67652829290a2020202020202e696e746572706f6c61746528736f757263652e696e746572706f6c6174652829290a2020202020202e636c616d7028736f757263652e636c616d702829293b0a7d0a0a2f2f206465696e746572706f6c61746528612c2062292878292074616b6573206120646f6d61696e2076616c7565207820696e205b612c625d20616e642072657475726e732074686520636f72726573706f6e64696e6720706172616d65746572207420696e205b302c315d2e0a2f2f207265696e746572706f6c61746528612c2062292874292074616b6573206120706172616d65746572207420696e205b302c315d20616e642072657475726e732074686520636f72726573706f6e64696e6720646f6d61696e2076616c7565207820696e205b612c625d2e0a66756e6374696f6e20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c61746529207b0a202076617220646f6d61696e203d20756e69742c0a20202020202072616e6765242431203d20756e69742c0a202020202020696e746572706f6c617465242431203d206433496e746572706f6c6174652e696e746572706f6c6174652c0a202020202020636c616d70203d2066616c73652c0a2020202020207069656365776973652c0a2020202020206f75747075742c0a202020202020696e7075743b0a0a202066756e6374696f6e2072657363616c652829207b0a20202020706965636577697365203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e67746829203e2032203f20706f6c796d6170203a2062696d61703b0a202020206f7574707574203d20696e707574203d206e756c6c3b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e20286f7574707574207c7c20286f7574707574203d2070696563657769736528646f6d61696e2c2072616e67652424312c20636c616d70203f206465696e746572706f6c617465436c616d70286465696e746572706f6c61746529203a206465696e746572706f6c6174652c20696e746572706f6c617465242431292929282b78293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e2028696e707574207c7c2028696e707574203d207069656365776973652872616e67652424312c20646f6d61696e2c206465696e746572706f6c6174654c696e6561722c20636c616d70203f207265696e746572706f6c617465436c616d70287265696e746572706f6c61746529203a207265696e746572706f6c617465292929282b79293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024312e63616c6c285f2c206e756d626572292c2072657363616c65282929203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765526f756e64203d2066756e6374696f6e285f29207b0a2020202072657475726e2072616e6765242431203d20736c6963652e63616c6c285f292c20696e746572706f6c617465242431203d206433496e746572706f6c6174652e696e746572706f6c617465526f756e642c2072657363616c6528293b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c2072657363616c65282929203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465242431203d205f2c2072657363616c65282929203a20696e746572706f6c6174652424313b0a20207d3b0a0a202072657475726e2072657363616c6528293b0a7d0a0a766172207469636b466f726d6174203d2066756e6374696f6e28646f6d61696e2c20636f756e742c2073706563696669657229207b0a2020766172207374617274203d20646f6d61696e5b305d2c0a20202020202073746f70203d20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d2c0a20202020202073746570203d20643341727261792e7469636b537465702873746172742c2073746f702c20636f756e74203d3d206e756c6c203f203130203a20636f756e74292c0a202020202020707265636973696f6e3b0a2020737065636966696572203d206433466f726d61742e666f726d617453706563696669657228737065636966696572203d3d206e756c6c203f20222c6622203a20737065636966696572293b0a202073776974636820287370656369666965722e7479706529207b0a2020202063617365202273223a207b0a2020202020207661722076616c7565203d204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f7029293b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e50726566697828737465702c2076616c7565292929207370656369666965722e707265636973696f6e203d20707265636973696f6e3b0a20202020202072657475726e206433466f726d61742e666f726d6174507265666978287370656369666965722c2076616c7565293b0a202020207d0a20202020636173652022223a0a2020202063617365202265223a0a2020202063617365202267223a0a2020202063617365202270223a0a2020202063617365202272223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e526f756e6428737465702c204d6174682e6d6178284d6174682e616273287374617274292c204d6174682e6162732873746f702929292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d20226522293b0a202020202020627265616b3b0a202020207d0a2020202063617365202266223a0a2020202063617365202225223a207b0a202020202020696620287370656369666965722e707265636973696f6e203d3d206e756c6c202626202169734e614e28707265636973696f6e203d206433466f726d61742e707265636973696f6e46697865642873746570292929207370656369666965722e707265636973696f6e203d20707265636973696f6e202d20287370656369666965722e74797065203d3d3d2022252229202a20323b0a202020202020627265616b3b0a202020207d0a20207d0a202072657475726e206433466f726d61742e666f726d617428737065636966696572293b0a7d3b0a0a66756e6374696f6e206c696e656172697368287363616c6529207b0a202076617220646f6d61696e203d207363616c652e646f6d61696e3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e20643341727261792e7469636b7328645b305d2c20645b642e6c656e677468202d20315d2c20636f756e74203d3d206e756c6c203f203130203a20636f756e74293b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e207469636b466f726d617428646f6d61696e28292c20636f756e742c20737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28636f756e7429207b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a0a202020207661722064203d20646f6d61696e28292c0a20202020202020206930203d20302c0a20202020202020206931203d20642e6c656e677468202d20312c0a20202020202020207374617274203d20645b69305d2c0a202020202020202073746f70203d20645b69315d2c0a2020202020202020737465703b0a0a202020206966202873746f70203c20737461727429207b0a20202020202073746570203d2073746172742c207374617274203d2073746f702c2073746f70203d20737465703b0a20202020202073746570203d2069302c206930203d2069312c206931203d20737465703b0a202020207d0a0a2020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a0a202020206966202873746570203e203029207b0a2020202020207374617274203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a20202020202073746f70203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a20202020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d20656c7365206966202873746570203c203029207b0a2020202020207374617274203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a20202020202073746f70203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a20202020202073746570203d20643341727261792e7469636b496e6372656d656e742873746172742c2073746f702c20636f756e74293b0a202020207d0a0a202020206966202873746570203e203029207b0a202020202020645b69305d203d204d6174682e666c6f6f72287374617274202f207374657029202a20737465703b0a202020202020645b69315d203d204d6174682e6365696c2873746f70202f207374657029202a20737465703b0a202020202020646f6d61696e2864293b0a202020207d20656c7365206966202873746570203c203029207b0a202020202020645b69305d203d204d6174682e6365696c287374617274202a207374657029202f20737465703b0a202020202020645b69315d203d204d6174682e666c6f6f722873746f70202a207374657029202f20737465703b0a202020202020646f6d61696e2864293b0a202020207d0a0a2020202072657475726e207363616c653b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e206c696e6561722829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c206433496e746572706f6c6174652e696e746572706f6c6174654e756d626572293b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c696e6561722829293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e206964656e746974792829207b0a202076617220646f6d61696e203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a2020202072657475726e202b783b0a20207d0a0a20207363616c652e696e76657274203d207363616c653b0a0a20207363616c652e646f6d61696e203d207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d206d617024312e63616c6c285f2c206e756d626572292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e206964656e7469747928292e646f6d61696e28646f6d61696e293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a766172206e696365203d2066756e6374696f6e28646f6d61696e2c20696e74657276616c29207b0a2020646f6d61696e203d20646f6d61696e2e736c69636528293b0a0a2020766172206930203d20302c0a2020202020206931203d20646f6d61696e2e6c656e677468202d20312c0a2020202020207830203d20646f6d61696e5b69305d2c0a2020202020207831203d20646f6d61696e5b69315d2c0a202020202020743b0a0a2020696620287831203c20783029207b0a2020202074203d2069302c206930203d2069312c206931203d20743b0a2020202074203d2078302c207830203d2078312c207831203d20743b0a20207d0a0a2020646f6d61696e5b69305d203d20696e74657276616c2e666c6f6f72287830293b0a2020646f6d61696e5b69315d203d20696e74657276616c2e6365696c287831293b0a202072657475726e20646f6d61696e3b0a7d3b0a0a66756e6374696f6e206465696e746572706f6c61746528612c206229207b0a202072657475726e202862203d204d6174682e6c6f672862202f206129290a2020202020203f2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f672878202f206129202f20623b207d0a2020202020203a20636f6e7374616e742862293b0a7d0a0a66756e6374696f6e207265696e746572706f6c61746528612c206229207b0a202072657475726e2061203c20300a2020202020203f2066756e6374696f6e287429207b2072657475726e202d4d6174682e706f77282d622c207429202a204d6174682e706f77282d612c2031202d2074293b207d0a2020202020203a2066756e6374696f6e287429207b2072657475726e204d6174682e706f7728622c207429202a204d6174682e706f7728612c2031202d2074293b207d3b0a7d0a0a66756e6374696f6e20706f773130287829207b0a202072657475726e20697346696e697465287829203f202b2822316522202b207829203a2078203c2030203f2030203a20783b0a7d0a0a66756e6374696f6e20706f7770286261736529207b0a202072657475726e2062617365203d3d3d203130203f20706f7731300a2020202020203a2062617365203d3d3d204d6174682e45203f204d6174682e6578700a2020202020203a2066756e6374696f6e287829207b2072657475726e204d6174682e706f7728626173652c2078293b207d3b0a7d0a0a66756e6374696f6e206c6f6770286261736529207b0a202072657475726e2062617365203d3d3d204d6174682e45203f204d6174682e6c6f670a2020202020203a2062617365203d3d3d203130202626204d6174682e6c6f6731300a2020202020207c7c2062617365203d3d3d2032202626204d6174682e6c6f67320a2020202020207c7c202862617365203d204d6174682e6c6f672862617365292c2066756e6374696f6e287829207b2072657475726e204d6174682e6c6f67287829202f20626173653b207d293b0a7d0a0a66756e6374696f6e207265666c656374286629207b0a202072657475726e2066756e6374696f6e287829207b0a2020202072657475726e202d66282d78293b0a20207d3b0a7d0a0a66756e6374696f6e206c6f672829207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292e646f6d61696e285b312c2031305d292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e2c0a20202020202062617365203d2031302c0a2020202020206c6f6773203d206c6f6770283130292c0a202020202020706f7773203d20706f7770283130293b0a0a202066756e6374696f6e2072657363616c652829207b0a202020206c6f6773203d206c6f67702862617365292c20706f7773203d20706f77702862617365293b0a2020202069662028646f6d61696e28295b305d203c203029206c6f6773203d207265666c656374286c6f6773292c20706f7773203d207265666c65637428706f7773293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e62617365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202862617365203d202b5f2c2072657363616c65282929203a20626173653b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e285f292c2072657363616c65282929203a20646f6d61696e28293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28636f756e7429207b0a202020207661722064203d20646f6d61696e28292c0a202020202020202075203d20645b305d2c0a202020202020202076203d20645b642e6c656e677468202d20315d2c0a2020202020202020723b0a0a202020206966202872203d2076203c2075292069203d20752c2075203d20762c2076203d20693b0a0a202020207661722069203d206c6f67732875292c0a20202020202020206a203d206c6f67732876292c0a2020202020202020702c0a20202020202020206b2c0a2020202020202020742c0a20202020202020206e203d20636f756e74203d3d206e756c6c203f203130203a202b636f756e742c0a20202020202020207a203d205b5d3b0a0a20202020696620282128626173652025203129202626206a202d2069203c206e29207b0a20202020202069203d204d6174682e726f756e64286929202d20312c206a203d204d6174682e726f756e64286a29202b20313b0a2020202020206966202875203e20302920666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d20312c2070203d20706f77732869293b206b203c20626173653b202b2b6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d20656c736520666f7220283b2069203c206a3b202b2b6929207b0a2020202020202020666f7220286b203d2062617365202d20312c2070203d20706f77732869293b206b203e3d20313b202d2d6b29207b0a2020202020202020202074203d2070202a206b3b0a202020202020202020206966202874203c20752920636f6e74696e75653b0a202020202020202020206966202874203e20762920627265616b3b0a202020202020202020207a2e707573682874293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365207b0a2020202020207a203d20643341727261792e7469636b7328692c206a2c204d6174682e6d696e286a202d20692c206e29292e6d617028706f7773293b0a202020207d0a0a2020202072657475726e2072203f207a2e726576657273652829203a207a3b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202069662028737065636966696572203d3d206e756c6c2920737065636966696572203d2062617365203d3d3d203130203f20222e306522203a20222c223b0a2020202069662028747970656f662073706563696669657220213d3d202266756e6374696f6e222920737065636966696572203d206433466f726d61742e666f726d617428737065636966696572293b0a2020202069662028636f756e74203d3d3d20496e66696e697479292072657475726e207370656369666965723b0a2020202069662028636f756e74203d3d206e756c6c2920636f756e74203d2031303b0a20202020766172206b203d204d6174682e6d617828312c2062617365202a20636f756e74202f207363616c652e7469636b7328292e6c656e677468293b202f2f20544f444f206661737420657374696d6174653f0a2020202072657475726e2066756e6374696f6e286429207b0a2020202020207661722069203d2064202f20706f7773284d6174682e726f756e64286c6f677328642929293b0a2020202020206966202869202a2062617365203c2062617365202d20302e35292069202a3d20626173653b0a20202020202072657475726e2069203c3d206b203f20737065636966696572286429203a2022223b0a202020207d3b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e2829207b0a2020202072657475726e20646f6d61696e286e69636528646f6d61696e28292c207b0a202020202020666c6f6f723a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e666c6f6f72286c6f677328782929293b207d2c0a2020202020206365696c3a2066756e6374696f6e287829207b2072657475726e20706f7773284d6174682e6365696c286c6f677328782929293b207d0a202020207d29293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c206c6f6728292e62617365286261736529293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e20726169736528782c206578706f6e656e7429207b0a202072657475726e2078203c2030203f202d4d6174682e706f77282d782c206578706f6e656e7429203a204d6174682e706f7728782c206578706f6e656e74293b0a7d0a0a66756e6374696f6e20706f772829207b0a2020766172206578706f6e656e74203d20312c0a2020202020207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174652c207265696e746572706f6c617465292c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202066756e6374696f6e206465696e746572706f6c61746528612c206229207b0a2020202072657475726e202862203d20726169736528622c206578706f6e656e7429202d202861203d20726169736528612c206578706f6e656e742929290a20202020202020203f2066756e6374696f6e287829207b2072657475726e2028726169736528782c206578706f6e656e7429202d206129202f20623b207d0a20202020202020203a20636f6e7374616e742862293b0a20207d0a0a202066756e6374696f6e207265696e746572706f6c61746528612c206229207b0a2020202062203d20726169736528622c206578706f6e656e7429202d202861203d20726169736528612c206578706f6e656e7429293b0a2020202072657475726e2066756e6374696f6e287429207b2072657475726e2072616973652861202b2062202a20742c2031202f206578706f6e656e74293b207d3b0a20207d0a0a20207363616c652e6578706f6e656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286578706f6e656e74203d202b5f2c20646f6d61696e28646f6d61696e28292929203a206578706f6e656e743b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c20706f7728292e6578706f6e656e74286578706f6e656e7429293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e20737172742829207b0a202072657475726e20706f7728292e6578706f6e656e7428302e35293b0a7d0a0a66756e6374696f6e207175616e74696c6524312829207b0a202076617220646f6d61696e203d205b5d2c0a20202020202072616e6765242431203d205b5d2c0a2020202020207468726573686f6c6473203d205b5d3b0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d20302c206e203d204d6174682e6d617828312c2072616e67652424312e6c656e677468293b0a202020207468726573686f6c6473203d206e6577204172726179286e202d2031293b0a202020207768696c6520282b2b69203c206e29207468726573686f6c64735b69202d20315d203d20643341727261792e7175616e74696c6528646f6d61696e2c2069202f206e293b0a2020202072657475726e207363616c653b0a20207d0a0a202066756e6374696f6e207363616c65287829207b0a20202020696620282169734e614e2878203d202b7829292072657475726e2072616e67652424315b643341727261792e626973656374287468726573686f6c64732c2078295d3b0a20207d0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d203a205b0a20202020202069203e2030203f207468726573686f6c64735b69202d20315d203a20646f6d61696e5b305d2c0a20202020202069203c207468726573686f6c64732e6c656e677468203f207468726573686f6c64735b695d203a20646f6d61696e5b646f6d61696e2e6c656e677468202d20315d0a202020205d3b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a202020206966202821617267756d656e74732e6c656e677468292072657475726e20646f6d61696e2e736c69636528293b0a20202020646f6d61696e203d205b5d3b0a20202020666f7220287661722069203d20302c206e203d205f2e6c656e6774682c20643b2069203c206e3b202b2b6929206966202864203d205f5b695d2c206420213d206e756c6c202626202169734e614e2864203d202b64292920646f6d61696e2e707573682864293b0a20202020646f6d61696e2e736f727428643341727261792e617363656e64696e67293b0a2020202072657475726e2072657363616c6528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e7175616e74696c6573203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c64732e736c69636528293b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74696c65243128290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a66756e6374696f6e207175616e74697a652829207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a2020202020206e203d20312c0a202020202020646f6d61696e203d205b302e355d2c0a20202020202072616e6765242431203d205b302c20315d3b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67652424315b643341727261792e62697365637428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a202066756e6374696f6e2072657363616c652829207b0a202020207661722069203d202d313b0a20202020646f6d61696e203d206e6577204172726179286e293b0a202020207768696c6520282b2b69203c206e2920646f6d61696e5b695d203d20282869202b203129202a207831202d202869202d206e29202a20783029202f20286e202b2031293b0a2020202072657475726e207363616c653b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c2072657363616c65282929203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286e203d202872616e6765242431203d20736c6963652e63616c6c285f29292e6c656e677468202d20312c2072657363616c65282929203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e2069203c2030203f205b4e614e2c204e614e5d0a20202020202020203a2069203c2031203f205b78302c20646f6d61696e5b305d5d0a20202020202020203a2069203e3d206e203f205b646f6d61696e5b6e202d20315d2c2078315d0a20202020202020203a205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207175616e74697a6528290a20202020202020202e646f6d61696e285b78302c2078315d290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a66756e6374696f6e207468726573686f6c642829207b0a202076617220646f6d61696e203d205b302e355d2c0a20202020202072616e6765242431203d205b302c20315d2c0a2020202020206e203d20313b0a0a202066756e6374696f6e207363616c65287829207b0a202020206966202878203c3d2078292072657475726e2072616e67652424315b643341727261792e62697365637428646f6d61696e2c20782c20302c206e295d3b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646f6d61696e203d20736c6963652e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e677468202d2031292c207363616c6529203a20646f6d61696e2e736c69636528293b0a20207d3b0a0a20207363616c652e72616e6765203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202872616e6765242431203d20736c6963652e63616c6c285f292c206e203d204d6174682e6d696e28646f6d61696e2e6c656e6774682c2072616e67652424312e6c656e677468202d2031292c207363616c6529203a2072616e67652424312e736c69636528293b0a20207d3b0a0a20207363616c652e696e76657274457874656e74203d2066756e6374696f6e287929207b0a202020207661722069203d2072616e67652424312e696e6465784f662879293b0a2020202072657475726e205b646f6d61696e5b69202d20315d2c20646f6d61696e5b695d5d3b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e207468726573686f6c6428290a20202020202020202e646f6d61696e28646f6d61696e290a20202020202020202e72616e67652872616e6765242431293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a766172206475726174696f6e5365636f6e64203d20313030303b0a766172206475726174696f6e4d696e757465203d206475726174696f6e5365636f6e64202a2036303b0a766172206475726174696f6e486f7572203d206475726174696f6e4d696e757465202a2036303b0a766172206475726174696f6e446179203d206475726174696f6e486f7572202a2032343b0a766172206475726174696f6e5765656b203d206475726174696f6e446179202a20373b0a766172206475726174696f6e4d6f6e7468203d206475726174696f6e446179202a2033303b0a766172206475726174696f6e59656172203d206475726174696f6e446179202a203336353b0a0a66756e6374696f6e2064617465287429207b0a202072657475726e206e657720446174652874293b0a7d0a0a66756e6374696f6e206e756d6265722431287429207b0a202072657475726e207420696e7374616e63656f662044617465203f202b74203a202b6e65772044617465282b74293b0a7d0a0a66756e6374696f6e2063616c656e64617228796561722c206d6f6e74682c207765656b2c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c20666f726d617424243129207b0a2020766172207363616c65203d20636f6e74696e756f7573286465696e746572706f6c6174654c696e6561722c206433496e746572706f6c6174652e696e746572706f6c6174654e756d626572292c0a202020202020696e76657274203d207363616c652e696e766572742c0a202020202020646f6d61696e203d207363616c652e646f6d61696e3b0a0a202076617220666f726d61744d696c6c697365636f6e64203d20666f726d617424243128222e254c22292c0a202020202020666f726d61745365636f6e64203d20666f726d617424243128223a255322292c0a202020202020666f726d61744d696e757465203d20666f726d6174242431282225493a254d22292c0a202020202020666f726d6174486f7572203d20666f726d61742424312822254920257022292c0a202020202020666f726d6174446179203d20666f726d61742424312822256120256422292c0a202020202020666f726d61745765656b203d20666f726d61742424312822256220256422292c0a202020202020666f726d61744d6f6e7468203d20666f726d61742424312822254222292c0a202020202020666f726d617459656172203d20666f726d61742424312822255922293b0a0a2020766172207469636b496e74657276616c73203d205b0a202020205b7365636f6e642c2020312c2020202020206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2020352c202035202a206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2031352c203135202a206475726174696f6e5365636f6e645d2c0a202020205b7365636f6e642c2033302c203330202a206475726174696f6e5365636f6e645d2c0a202020205b6d696e7574652c2020312c2020202020206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2020352c202035202a206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2031352c203135202a206475726174696f6e4d696e7574655d2c0a202020205b6d696e7574652c2033302c203330202a206475726174696f6e4d696e7574655d2c0a202020205b2020686f75722c2020312c2020202020206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2020332c202033202a206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2020362c202036202a206475726174696f6e486f757220205d2c0a202020205b2020686f75722c2031322c203132202a206475726174696f6e486f757220205d2c0a202020205b2020206461792c2020312c2020202020206475726174696f6e4461792020205d2c0a202020205b2020206461792c2020322c202032202a206475726174696f6e4461792020205d2c0a202020205b20207765656b2c2020312c2020202020206475726174696f6e5765656b20205d2c0a202020205b206d6f6e74682c2020312c2020202020206475726174696f6e4d6f6e7468205d2c0a202020205b206d6f6e74682c2020332c202033202a206475726174696f6e4d6f6e7468205d2c0a202020205b2020796561722c2020312c2020202020206475726174696f6e5965617220205d0a20205d3b0a0a202066756e6374696f6e207469636b466f726d6174286461746529207b0a2020202072657475726e20287365636f6e64286461746529203c2064617465203f20666f726d61744d696c6c697365636f6e640a20202020202020203a206d696e757465286461746529203c2064617465203f20666f726d61745365636f6e640a20202020202020203a20686f7572286461746529203c2064617465203f20666f726d61744d696e7574650a20202020202020203a20646179286461746529203c2064617465203f20666f726d6174486f75720a20202020202020203a206d6f6e7468286461746529203c2064617465203f20287765656b286461746529203c2064617465203f20666f726d6174446179203a20666f726d61745765656b290a20202020202020203a2079656172286461746529203c2064617465203f20666f726d61744d6f6e74680a20202020202020203a20666f726d617459656172292864617465293b0a20207d0a0a202066756e6374696f6e207469636b496e74657276616c28696e74657276616c2c2073746172742c2073746f702c207374657029207b0a2020202069662028696e74657276616c203d3d206e756c6c2920696e74657276616c203d2031303b0a0a202020202f2f20496620612064657369726564207469636b20636f756e74206973207370656369666965642c207069636b206120726561736f6e61626c65207469636b20696e74657276616c0a202020202f2f206261736564206f6e2074686520657874656e74206f662074686520646f6d61696e20616e64206120726f75676820657374696d617465206f66207469636b2073697a652e0a202020202f2f204f74686572776973652c20617373756d6520696e74657276616c20697320616c726561647920612074696d6520696e74657276616c20616e64207573652069742e0a2020202069662028747970656f6620696e74657276616c203d3d3d20226e756d6265722229207b0a20202020202076617220746172676574203d204d6174682e6162732873746f70202d20737461727429202f20696e74657276616c2c0a2020202020202020202069203d20643341727261792e6269736563746f722866756e6374696f6e286929207b2072657475726e20695b325d3b207d292e7269676874287469636b496e74657276616c732c20746172676574293b0a2020202020206966202869203d3d3d207469636b496e74657276616c732e6c656e67746829207b0a202020202020202073746570203d20643341727261792e7469636b53746570287374617274202f206475726174696f6e596561722c2073746f70202f206475726174696f6e596561722c20696e74657276616c293b0a2020202020202020696e74657276616c203d20796561723b0a2020202020207d20656c736520696620286929207b0a202020202020202069203d207469636b496e74657276616c735b746172676574202f207469636b496e74657276616c735b69202d20315d5b325d203c207469636b496e74657276616c735b695d5b325d202f20746172676574203f2069202d2031203a20695d3b0a202020202020202073746570203d20695b315d3b0a2020202020202020696e74657276616c203d20695b305d3b0a2020202020207d20656c7365207b0a202020202020202073746570203d204d6174682e6d617828643341727261792e7469636b537465702873746172742c2073746f702c20696e74657276616c292c2031293b0a2020202020202020696e74657276616c203d206d696c6c697365636f6e643b0a2020202020207d0a202020207d0a0a2020202072657475726e2073746570203d3d206e756c6c203f20696e74657276616c203a20696e74657276616c2e65766572792873746570293b0a20207d0a0a20207363616c652e696e76657274203d2066756e6374696f6e287929207b0a2020202072657475726e206e6577204461746528696e76657274287929293b0a20207d3b0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20646f6d61696e286d617024312e63616c6c285f2c206e756d62657224312929203a20646f6d61696e28292e6d61702864617465293b0a20207d3b0a0a20207363616c652e7469636b73203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28292c0a20202020202020207430203d20645b305d2c0a20202020202020207431203d20645b642e6c656e677468202d20315d2c0a202020202020202072203d207431203c2074302c0a2020202020202020743b0a202020206966202872292074203d2074302c207430203d2074312c207431203d20743b0a2020202074203d207469636b496e74657276616c28696e74657276616c2c2074302c2074312c2073746570293b0a2020202074203d2074203f20742e72616e67652874302c207431202b203129203a205b5d3b202f2f20696e636c75736976652073746f700a2020202072657475726e2072203f20742e726576657273652829203a20743b0a20207d3b0a0a20207363616c652e7469636b466f726d6174203d2066756e6374696f6e28636f756e742c2073706563696669657229207b0a2020202072657475726e20737065636966696572203d3d206e756c6c203f207469636b466f726d6174203a20666f726d617424243128737065636966696572293b0a20207d3b0a0a20207363616c652e6e696365203d2066756e6374696f6e28696e74657276616c2c207374657029207b0a202020207661722064203d20646f6d61696e28293b0a2020202072657475726e2028696e74657276616c203d207469636b496e74657276616c28696e74657276616c2c20645b305d2c20645b642e6c656e677468202d20315d2c207374657029290a20202020202020203f20646f6d61696e286e69636528642c20696e74657276616c29290a20202020202020203a207363616c653b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e20636f7079287363616c652c2063616c656e64617228796561722c206d6f6e74682c207765656b2c206461792c20686f75722c206d696e7574652c207365636f6e642c206d696c6c697365636f6e642c20666f726d617424243129293b0a20207d3b0a0a202072657475726e207363616c653b0a7d0a0a7661722074696d65203d2066756e6374696f6e2829207b0a202072657475726e2063616c656e64617228643354696d652e74696d65596561722c20643354696d652e74696d654d6f6e74682c20643354696d652e74696d655765656b2c20643354696d652e74696d654461792c20643354696d652e74696d65486f75722c20643354696d652e74696d654d696e7574652c20643354696d652e74696d655365636f6e642c20643354696d652e74696d654d696c6c697365636f6e642c20643354696d65466f726d61742e74696d65466f726d6174292e646f6d61696e285b6e6577204461746528323030302c20302c2031292c206e6577204461746528323030302c20302c2032295d293b0a7d3b0a0a7661722075746354696d65203d2066756e6374696f6e2829207b0a202072657475726e2063616c656e64617228643354696d652e757463596561722c20643354696d652e7574634d6f6e74682c20643354696d652e7574635765656b2c20643354696d652e7574634461792c20643354696d652e757463486f75722c20643354696d652e7574634d696e7574652c20643354696d652e7574635365636f6e642c20643354696d652e7574634d696c6c697365636f6e642c20643354696d65466f726d61742e757463466f726d6174292e646f6d61696e285b446174652e55544328323030302c20302c2031292c20446174652e55544328323030302c20302c2032295d293b0a7d3b0a0a76617220636f6c6f7273203d2066756e6374696f6e287329207b0a202072657475726e20732e6d61746368282f2e7b367d2f67292e6d61702866756e6374696f6e287829207b0a2020202072657475726e20222322202b20783b0a20207d293b0a7d3b0a0a7661722063617465676f72793130203d20636f6c6f7273282231663737623466663766306532636130326364363237323839343637626438633536346265333737633237663766376662636264323231376265636622293b0a0a7661722063617465676f7279323062203d20636f6c6f7273282233393362373935323534613336623665636639633965646536333739333938636132353262356366366263656462396338633664333162643965333965376261353265376362393438343363333961643439346164363631366265373936396337623431373361353531393463653664626464653965643622293b0a0a7661722063617465676f7279323063203d20636f6c6f7273282233313832626436626165643639656361653163366462656665363535306466643864336366646165366266646430613233316133353437346334373661316439396263376539633037353662623139653961633862636264646364616461656236333633363339363936393662646264626464396439643922293b0a0a7661722063617465676f72793230203d20636f6c6f7273282231663737623461656337653866663766306566666262373832636130326339386466386164363237323866663938393639343637626463356230643538633536346263343963393465333737633266376236643237663766376663376337633762636264323264626462386431376265636639656461653522293b0a0a766172206375626568656c69782431203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978283330302c20302e352c20302e30292c206433436f6c6f722e6375626568656c6978282d3234302c20302e352c20312e3029293b0a0a766172207761726d203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978282d3130302c20302e37352c20302e3335292c206433436f6c6f722e6375626568656c69782838302c20312e35302c20302e3829293b0a0a76617220636f6f6c203d206433496e746572706f6c6174652e696e746572706f6c6174654375626568656c69784c6f6e67286433436f6c6f722e6375626568656c6978283236302c20302e37352c20302e3335292c206433436f6c6f722e6375626568656c69782838302c20312e35302c20302e3829293b0a0a766172207261696e626f77203d206433436f6c6f722e6375626568656c697828293b0a0a766172207261696e626f772431203d2066756e6374696f6e287429207b0a20206966202874203c2030207c7c2074203e2031292074202d3d204d6174682e666c6f6f722874293b0a2020766172207473203d204d6174682e6162732874202d20302e35293b0a20207261696e626f772e68203d20333630202a2074202d203130303b0a20207261696e626f772e73203d20312e35202d20312e35202a2074733b0a20207261696e626f772e6c203d20302e38202d20302e39202a2074733b0a202072657475726e207261696e626f77202b2022223b0a7d3b0a0a66756e6374696f6e2072616d702872616e676524243129207b0a2020766172206e203d2072616e67652424312e6c656e6774683b0a202072657475726e2066756e6374696f6e287429207b0a2020202072657475726e2072616e67652424315b4d6174682e6d617828302c204d6174682e6d696e286e202d20312c204d6174682e666c6f6f722874202a206e2929295d3b0a20207d3b0a7d0a0a7661722076697269646973203d2072616d7028636f6c6f727328223434303135343434303235363435303435373435303535393436303735613436303835633436306135643436306235653437306436303437306536313437313036333437313136343437313336353438313436373438313636383438313736393438313836613438316136633438316236643438316336653438316436663438316637303438323037313438323137333438323337343438323437353438323537363438323637373438323837383438323937393437326137613437326337613437326437623437326537633437326637643436333037653436333237653436333337663436333438303435333538313435333738313435333838323434333938333434336138333434336238343433336438343433336538353432336638353432343038363432343138363431343238373431343438373430343538383430343638383366343738383366343838393365343938393365346138393365346338613364346438613364346538613363346638613363353038623362353138623362353238623361353338623361353438633339353538633339353638633338353838633338353938633337356138633337356238643336356338643336356438643335356538643335356638643334363038643334363138643333363238643333363338643332363438653332363538653331363638653331363738653331363838653330363938653330366138653266366238653266366338653265366438653265366538653265366638653264373038653264373138653263373138653263373238653263373338653262373438653262373538653261373638653261373738653261373838653239373938653239376138653239376238653238376338653238376438653237376538653237376638653237383038653236383138653236383238653236383238653235383338653235383438653235383538653234383638653234383738653233383838653233383938653233386138643232386238643232386338643232386438643231386538643231386638643231393038643231393138633230393238633230393238633230393338633166393438633166393538623166393638623166393738623166393838623166393938613166396138613165396238613165396338393165396438393166396538393166396638383166613038383166613138383166613138373166613238373230613338363230613438363231613538353231613638353232613738353232613838343233613938333234616138333235616238323235616338323236616438313237616438313238616538303239616637663261623037663263623137653264623237643265623337633266623437633331623537623332623637613334623637393335623737393337623837383338623937373361626137363362626237353364626337343366626337333430626437323432626537313434626637303436633036663438633136653461633136643463633236633465633336623530633436613532633536393534633536383536633636373538633736353561633836343563633836333565633936323630636136303633636235663635636235653637636335633639636435623663636435613665636535383730636635373733643035363735643035343737643135333761643135313763643235303766643334653831643334643834643434623836643534393839643534383862643634363865643634353930643734333933643734313935643834303938643833653962643933633964643933626130646133396132646133376135646233366138646233346161646333326164646333306230646432666232646432646235646532626238646532396261646532386264646632366330646632356332646632336335653032316338653032306361653131666364653131646430653131636432653231626435653231616438653231396461653331396464653331386466653331386532653431386535653431396537653431396561653531616563653531626566653531636631653531646634653631656636653632306638653632316662653732336664653732352229293b0a0a766172206d61676d61203d2072616d7028636f6c6f727328223030303030343031303030353031303130363031303130383032303130393032303230623032303230643033303330663033303331323034303431343035303431363036303531383036303531613037303631633038303731653039303732303061303832323062303932343063303932363064306132393065306232623130306232643131306332663132306433313133306433343134306533363135306533383136306633623138306633643139313033663161313034323163313034343164313134373165313134393230313134623231313134653232313135303234313235333235313235353237313235383239313135613261313135633263313135663264313136313266313136333331313136353333313036373334313036393336313036623338313036633339306636653362306637303364306637313366306637323430306637343432306637353434306637363435313037373437313037383439313037383461313037393463313137613465313137623466313237623531313237633532313337633534313337643536313437643537313537653539313537653561313637653563313637663564313737663566313837663630313838303632313938303634316138303635316138303637316238303638316338313661316338313662316438313664316438313665316538313730316638313732316638313733323038313735323138313736323138313738323238313739323238323762323338323763323338323765323438323830323538323831323538313833323638313834323638313836323738313838323738313839323838313862323938313863323938313865326138313930326138313931326238313933326238303934326338303936326338303938326438303939326438303962326537663963326537663965326637666130326637666131333037656133333037656135333137656136333137646138333237646161333337646162333337636164333437636165333437626230333537626232333537626233333637616235333637616237333737396238333737396261333837386263333937386264333937376266336137376330336137366332336237356334336337356335336337346337336437336338336537336361336537326363336637316364343037316366343037306430343136666432343236666433343336656435343436646436343536636438343536636439343636626462343736616463343836396465343936386466346136386530346336376532346436366533346536356534346636346535353036346537353236336538353336326539353436326561353636316562353736306563353836306564356135666565356235656566356435656630356635656631363035646632363235646632363435636633363535636634363735636634363935636635366235636636366335636636366535636637373035636637373235636638373435636638373635636639373835646639373935646639376235646661376435656661376635656661383135666662383335666662383536306662383736316663383936316663386136326663386336336663386536346663393036356664393236366664393436376664393636386664393836396664396136616664396236626665396436636665396636646665613136656665613336666665613537316665613737326665613937336665616137346665616337366665616537376665623037386665623237616665623437626665623637636665623737656665623937666665626238316665626438326665626638346665633138356665633238376665633438386665633638616665633838636665636138646665636338666665636439306665636639326665643139346665643339356665643539376665643739396665643839616664646139636664646339656664646561306664653061316664653261336664653361356664653561376664653761396664653961616664656261636663656361656663656562306663663062326663663262346663663462366663663662386663663762396663663962626663666262646663666462662229293b0a0a76617220696e6665726e6f203d2072616d7028636f6c6f727328223030303030343031303030353031303130363031303130383032303130613032303230633032303230653033303231303034303331323034303331343035303431373036303431393037303531623038303531643039303631663061303732323062303732343063303832363064303832393065303932623130303932643131306133303132306133323134306233343135306233373136306233393138306333633139306333653162306334313163306334333165306334353166306334383231306334613233306334633234306334663236306335313238306235333239306235353262306235373264306235393266306135623331306135633332306135653334306135663336303936313338303936323339303936333362303936343364303936353365303936363430306136373432306136383434306136383435306136393437306236613439306236613461306336623463306336623464306436633466306436633531306536633532306536643534306636643535306636643537313036653539313036653561313136653563313236653564313236653566313336653631313336653632313436653634313536653635313536653637313636653639313636653661313736653663313836653664313836653666313936653731313936653732316136653734316136653735316236653737316336643738316336643761316436643763316436643764316536643766316536633830316636633832323036633834323036623835323136623837323136623838323236613861323236613863323336393864323336393866323436393930323536383932323536383933323636373935323636373937323736363938323736363961323836353962323936343964323936343966326136336130326136336132326236326133326336316135326336306136326436306138326535666139326535656162326635656164333035646165333035636230333135626231333235616233333235616234333335396236333435386237333535376239333535366261333635356263333735346264333835336266333935326330336135316331336135306333336234666334336334656336336434646337336534636338336634626361343034616362343134396363343234386365343334376366343434366430343534356432343634346433343734336434343834326435346134316437346233666438346333656439346433646461346533636462353033626464353133616465353233386466353333376530353533366531353633356532353733346533353933336534356133316535356333306536356432666537356532656538363032646539363132626561363332616562363432396562363632386563363732366564363932356565366132346566366332336566366532316630366632306631373131666631373331646632373431636633373631626633373831396634373931386635376231376635376431356636376531346636383031336637383231326637383431306638383530666638383730656638383930636639386230626639386330616639386530396661393030386661393230376661393430376662393630366662393730366662393930366662396230366662396430376663396630376663613130386663613330396663613530616663613630636663613830646663616130666663616331316663616531326663623031346663623231366663623431386662623631616662623831646662626131666662626332316662626532336661633032366661633232386661633432616661633632646639633732666639633933326639636233356638636433376638636633616637643133646637643334306636643534336636643734366635643934396635646234636634646434666634646635336634653135366633653335616633653535646632653636316632653836356632656136396631656336646631656437316631656637356631663137396632663237646632663438326633663538366633663638616634663838656635663939326636666139366638666239616639666339646661666461316663666661342229293b0a0a76617220706c61736d61203d2072616d7028636f6c6f727328223064303838373130303738383133303738393136303738613139303638633162303638643164303638653230303638663232303639303234303639313236303539313238303539323261303539333263303539343265303539353266303539363331303539373333303539373335303439383337303439393338303439613361303439613363303439623365303439633366303439633431303439643433303339653434303339653436303339663438303339663439303361303462303361313463303261313465303261323530303261323531303261333533303261333535303261343536303161343538303161343539303161353562303161353563303161363565303161363630303161363631303061373633303061373634303061373636303061373637303061383639303061383661303061383663303061383665303061383666303061383731303061383732303161383734303161383735303161383737303161383738303161383761303261383762303261383764303361383765303361383830303461383831303461373833303561373834303561373836303661363837303761363838303861363861303961353862306161353864306261353865306361343866306461343931306561333932306661333934313061323935313161313936313361313938313461303939313539663961313639663963313739653964313839643965313939646130316139636131316239626132316439616133316539616135316639396136323039386137323139376138323239366161323339356162323439346163323639346164323739336165323839326230323939316231326139306232326238666233326338656234326538646235326638636236333038626237333138616238333238396261333338386262333438386263333538376264333738366265333838356266333938346330336138336331336238326332336338316333336438306334336537666335343037656336343137646337343237636338343337626339343437616361343537616362343637396363343737386363343937376364346137366365346237356366346337346430346437336431346537326432346637316433353137316434353237306435353336666435353436656436353536646437353636636438353736626439353836616461356136616461356236396462356336386463356436376464356536366465356636356465363136346466363236336530363336336531363436326532363536316532363636306533363835666534363935656535366135646535366235646536366335636537366535626537366635616538373035396539373135386539373235376561373435376562373535366562373635356563373735346564373935336564376135326565376235316566376335316566376535306630376634666630383034656631383134646631383334636632383434626633383534626633383734616634383834396634383934386635386234376635386334366636386434356636386634346637393034346637393134336637393334326638393434316638393534306639393733666639393833656639396133656661396233646661396333636661396533626662396633616662613133396662613233386663613333386663613533376663613633366663613833356663613933346664616233336664616333336664616533326664616633316664623133306664623232666664623432666664623532656665623732646665623832636665626132636665626232626665626432616665626532616665633032396664633232396664633332386664633532376664633632376664633832376664636132366664636232366663636432356663636532356663643032356663643232356662643332346662643532346662643732346661643832346661646132346639646332346639646432356638646632356638653132356637653232356637653432356636653632366636653832366635653932366635656232376634656432376633656532376633663032376632663232376631663432366631663532356630663732346630663932312229293b0a0a66756e6374696f6e2073657175656e7469616c28696e746572706f6c61746f7229207b0a2020766172207830203d20302c0a2020202020207831203d20312c0a202020202020636c616d70203d2066616c73653b0a0a202066756e6374696f6e207363616c65287829207b0a202020207661722074203d202878202d20783029202f20287831202d207830293b0a2020202072657475726e20696e746572706f6c61746f7228636c616d70203f204d6174682e6d617828302c204d6174682e6d696e28312c20742929203a2074293b0a20207d0a0a20207363616c652e646f6d61696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d202b5f5b305d2c207831203d202b5f5b315d2c207363616c6529203a205b78302c2078315d3b0a20207d3b0a0a20207363616c652e636c616d70203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c616d70203d2021215f2c207363616c6529203a20636c616d703b0a20207d3b0a0a20207363616c652e696e746572706f6c61746f72203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c61746f72203d205f2c207363616c6529203a20696e746572706f6c61746f723b0a20207d3b0a0a20207363616c652e636f7079203d2066756e6374696f6e2829207b0a2020202072657475726e2073657175656e7469616c28696e746572706f6c61746f72292e646f6d61696e285b78302c2078315d292e636c616d7028636c616d70293b0a20207d3b0a0a202072657475726e206c696e656172697368287363616c65293b0a7d0a0a6578706f7274732e7363616c6542616e64203d2062616e643b0a6578706f7274732e7363616c65506f696e74203d20706f696e743b0a6578706f7274732e7363616c654964656e74697479203d206964656e746974793b0a6578706f7274732e7363616c654c696e656172203d206c696e6561723b0a6578706f7274732e7363616c654c6f67203d206c6f673b0a6578706f7274732e7363616c654f7264696e616c203d206f7264696e616c3b0a6578706f7274732e7363616c65496d706c69636974203d20696d706c696369743b0a6578706f7274732e7363616c65506f77203d20706f773b0a6578706f7274732e7363616c6553717274203d20737172743b0a6578706f7274732e7363616c655175616e74696c65203d207175616e74696c6524313b0a6578706f7274732e7363616c655175616e74697a65203d207175616e74697a653b0a6578706f7274732e7363616c655468726573686f6c64203d207468726573686f6c643b0a6578706f7274732e7363616c6554696d65203d2074696d653b0a6578706f7274732e7363616c65557463203d2075746354696d653b0a6578706f7274732e736368656d6543617465676f72793130203d2063617465676f727931303b0a6578706f7274732e736368656d6543617465676f7279323062203d2063617465676f72793230623b0a6578706f7274732e736368656d6543617465676f7279323063203d2063617465676f72793230633b0a6578706f7274732e736368656d6543617465676f72793230203d2063617465676f727932303b0a6578706f7274732e696e746572706f6c6174654375626568656c697844656661756c74203d206375626568656c697824313b0a6578706f7274732e696e746572706f6c6174655261696e626f77203d207261696e626f7724313b0a6578706f7274732e696e746572706f6c6174655761726d203d207761726d3b0a6578706f7274732e696e746572706f6c617465436f6f6c203d20636f6f6c3b0a6578706f7274732e696e746572706f6c61746556697269646973203d20766972696469733b0a6578706f7274732e696e746572706f6c6174654d61676d61203d206d61676d613b0a6578706f7274732e696e746572706f6c617465496e6665726e6f203d20696e6665726e6f3b0a6578706f7274732e696e746572706f6c617465506c61736d61203d20706c61736d613b0a6578706f7274732e7363616c6553657175656e7469616c203d2073657175656e7469616c3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6172726179223a33392c2264332d636f6c6c656374696f6e223a34332c2264332d636f6c6f72223a34342c2264332d666f726d6174223a35302c2264332d696e746572706f6c617465223a35332c2264332d74696d65223a36342c2264332d74696d652d666f726d6174223a36337d5d2c36313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d73656c656374696f6e2f2056657273696f6e20312e322e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207868746d6c203d2022687474703a2f2f7777772e77332e6f72672f313939392f7868746d6c223b0a0a766172206e616d65737061636573203d207b0a20207376673a2022687474703a2f2f7777772e77332e6f72672f323030302f737667222c0a20207868746d6c3a207868746d6c2c0a2020786c696e6b3a2022687474703a2f2f7777772e77332e6f72672f313939392f786c696e6b222c0a2020786d6c3a2022687474703a2f2f7777772e77332e6f72672f584d4c2f313939382f6e616d657370616365222c0a2020786d6c6e733a2022687474703a2f2f7777772e77332e6f72672f323030302f786d6c6e732f220a7d3b0a0a766172206e616d657370616365203d2066756e6374696f6e286e616d6529207b0a202076617220707265666978203d206e616d65202b3d2022222c2069203d207072656669782e696e6465784f6628223a22293b0a20206966202869203e3d20302026262028707265666978203d206e616d652e736c69636528302c2069292920213d3d2022786d6c6e732229206e616d65203d206e616d652e736c6963652869202b2031293b0a202072657475726e206e616d657370616365732e6861734f776e50726f70657274792870726566697829203f207b73706163653a206e616d657370616365735b7072656669785d2c206c6f63616c3a206e616d657d203a206e616d653b0a7d3b0a0a66756e6374696f6e2063726561746f72496e6865726974286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220646f63756d656e74203d20746869732e6f776e6572446f63756d656e742c0a2020202020202020757269203d20746869732e6e616d6573706163655552493b0a2020202072657475726e20757269203d3d3d207868746d6c20262620646f63756d656e742e646f63756d656e74456c656d656e742e6e616d657370616365555249203d3d3d207868746d6c0a20202020202020203f20646f63756d656e742e637265617465456c656d656e74286e616d65290a20202020202020203a20646f63756d656e742e637265617465456c656d656e744e53287572692c206e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e2063726561746f7246697865642866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6f776e6572446f63756d656e742e637265617465456c656d656e744e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a7661722063726561746f72203d2066756e6374696f6e286e616d6529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a202072657475726e202866756c6c6e616d652e6c6f63616c0a2020202020203f2063726561746f7246697865640a2020202020203a2063726561746f72496e6865726974292866756c6c6e616d65293b0a7d3b0a0a766172206e6578744964203d20303b0a0a66756e6374696f6e206c6f63616c2829207b0a202072657475726e206e6577204c6f63616c3b0a7d0a0a66756e6374696f6e204c6f63616c2829207b0a2020746869732e5f203d20224022202b20282b2b6e6578744964292e746f537472696e67283336293b0a7d0a0a4c6f63616c2e70726f746f74797065203d206c6f63616c2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204c6f63616c2c0a20206765743a2066756e6374696f6e286e6f646529207b0a20202020766172206964203d20746869732e5f3b0a202020207768696c6520282128696420696e206e6f64652929206966202821286e6f6465203d206e6f64652e706172656e744e6f646529292072657475726e3b0a2020202072657475726e206e6f64655b69645d3b0a20207d2c0a20207365743a2066756e6374696f6e286e6f64652c2076616c756529207b0a2020202072657475726e206e6f64655b746869732e5f5d203d2076616c75653b0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a2020202072657475726e20746869732e5f20696e206e6f64652026262064656c657465206e6f64655b746869732e5f5d3b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e5f3b0a20207d0a7d3b0a0a766172206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20746869732e6d6174636865732873656c6563746f72293b0a20207d3b0a7d3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e74203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a20206966202821656c656d656e742e6d61746368657329207b0a202020207661722076656e646f724d617463686573203d20656c656d656e742e7765626b69744d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d734d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6d6f7a4d61746368657353656c6563746f720a20202020202020207c7c20656c656d656e742e6f4d61746368657353656c6563746f723b0a202020206d617463686572203d2066756e6374696f6e2873656c6563746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076656e646f724d6174636865732e63616c6c28746869732c2073656c6563746f72293b0a2020202020207d3b0a202020207d3b0a20207d0a7d0a0a766172206d6174636865722431203d206d6174636865723b0a0a7661722066696c7465724576656e7473203d207b7d3b0a0a6578706f7274732e6576656e74203d206e756c6c3b0a0a69662028747970656f6620646f63756d656e7420213d3d2022756e646566696e65642229207b0a202076617220656c656d656e742431203d20646f63756d656e742e646f63756d656e74456c656d656e743b0a2020696620282128226f6e6d6f757365656e7465722220696e20656c656d656e7424312929207b0a2020202066696c7465724576656e7473203d207b6d6f757365656e7465723a20226d6f7573656f766572222c206d6f7573656c656176653a20226d6f7573656f7574227d3b0a20207d0a7d0a0a66756e6374696f6e2066696c746572436f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a20206c697374656e6572203d20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f7570293b0a202072657475726e2066756e6374696f6e286576656e7429207b0a202020207661722072656c61746564203d206576656e742e72656c617465645461726765743b0a20202020696620282172656c61746564207c7c202872656c6174656420213d3d207468697320262620212872656c617465642e636f6d70617265446f63756d656e74506f736974696f6e28746869732920262038292929207b0a2020202020206c697374656e65722e63616c6c28746869732c206576656e74293b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e20636f6e746578744c697374656e6572286c697374656e65722c20696e6465782c2067726f757029207b0a202072657475726e2066756e6374696f6e286576656e743129207b0a20202020766172206576656e7430203d206578706f7274732e6576656e743b202f2f204576656e74732063616e206265207265656e7472616e742028652e672e2c20666f637573292e0a202020206578706f7274732e6576656e74203d206576656e74313b0a20202020747279207b0a2020202020206c697374656e65722e63616c6c28746869732c20746869732e5f5f646174615f5f2c20696e6465782c2067726f7570293b0a202020207d2066696e616c6c79207b0a2020202020206578706f7274732e6576656e74203d206576656e74303b0a202020207d0a20207d3b0a7d0a0a66756e6374696f6e207061727365547970656e616d657328747970656e616d657329207b0a202072657475726e20747970656e616d65732e7472696d28292e73706c6974282f5e7c5c732b2f292e6d61702866756e6374696f6e287429207b0a20202020766172206e616d65203d2022222c2069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d203029206e616d65203d20742e736c6963652869202b2031292c2074203d20742e736c69636528302c2069293b0a2020202072657475726e207b747970653a20742c206e616d653a206e616d657d3b0a20207d293b0a7d0a0a66756e6374696f6e206f6e52656d6f766528747970656e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172206f6e203d20746869732e5f5f6f6e3b0a2020202069662028216f6e292072657475726e3b0a20202020666f722028766172206a203d20302c2069203d202d312c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020696620286f203d206f6e5b6a5d2c202821747970656e616d652e74797065207c7c206f2e74797065203d3d3d20747970656e616d652e7479706529202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020207d20656c7365207b0a20202020202020206f6e5b2b2b695d203d206f3b0a2020202020207d0a202020207d0a20202020696620282b2b6929206f6e2e6c656e677468203d20693b0a20202020656c73652064656c65746520746869732e5f5f6f6e3b0a20207d3b0a7d0a0a66756e6374696f6e206f6e41646428747970656e616d652c2076616c75652c206361707475726529207b0a20207661722077726170203d2066696c7465724576656e74732e6861734f776e50726f706572747928747970656e616d652e7479706529203f2066696c746572436f6e746578744c697374656e6572203a20636f6e746578744c697374656e65723b0a202072657475726e2066756e6374696f6e28642c20692c2067726f757029207b0a20202020766172206f6e203d20746869732e5f5f6f6e2c206f2c206c697374656e6572203d20777261702876616c75652c20692c2067726f7570293b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020202069662028286f203d206f6e5b6a5d292e74797065203d3d3d20747970656e616d652e74797065202626206f2e6e616d65203d3d3d20747970656e616d652e6e616d6529207b0a2020202020202020746869732e72656d6f76654576656e744c697374656e6572286f2e747970652c206f2e6c697374656e65722c206f2e63617074757265293b0a2020202020202020746869732e6164644576656e744c697374656e6572286f2e747970652c206f2e6c697374656e6572203d206c697374656e65722c206f2e63617074757265203d2063617074757265293b0a20202020202020206f2e76616c7565203d2076616c75653b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a20202020746869732e6164644576656e744c697374656e657228747970656e616d652e747970652c206c697374656e65722c2063617074757265293b0a202020206f203d207b747970653a20747970656e616d652e747970652c206e616d653a20747970656e616d652e6e616d652c2076616c75653a2076616c75652c206c697374656e65723a206c697374656e65722c20636170747572653a20636170747572657d3b0a2020202069662028216f6e2920746869732e5f5f6f6e203d205b6f5d3b0a20202020656c7365206f6e2e70757368286f293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f6f6e203d2066756e6374696f6e28747970656e616d652c2076616c75652c206361707475726529207b0a202076617220747970656e616d6573203d207061727365547970656e616d657328747970656e616d65202b202222292c20692c206e203d20747970656e616d65732e6c656e6774682c20743b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206f6e203d20746869732e6e6f646528292e5f5f6f6e3b0a20202020696620286f6e2920666f722028766172206a203d20302c206d203d206f6e2e6c656e6774682c206f3b206a203c206d3b202b2b6a29207b0a202020202020666f72202869203d20302c206f203d206f6e5b6a5d3b2069203c206e3b202b2b6929207b0a2020202020202020696620282874203d20747970656e616d65735b695d292e74797065203d3d3d206f2e7479706520262620742e6e616d65203d3d3d206f2e6e616d6529207b0a2020202020202020202072657475726e206f2e76616c75653b0a20202020202020207d0a2020202020207d0a202020207d0a2020202072657475726e3b0a20207d0a0a20206f6e203d2076616c7565203f206f6e416464203a206f6e52656d6f76653b0a20206966202863617074757265203d3d206e756c6c292063617074757265203d2066616c73653b0a2020666f72202869203d20303b2069203c206e3b202b2b692920746869732e65616368286f6e28747970656e616d65735b695d2c2076616c75652c206361707475726529293b0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20637573746f6d4576656e74286576656e74312c206c697374656e65722c20746861742c206172677329207b0a2020766172206576656e7430203d206578706f7274732e6576656e743b0a20206576656e74312e736f757263654576656e74203d206578706f7274732e6576656e743b0a20206578706f7274732e6576656e74203d206576656e74313b0a2020747279207b0a2020202072657475726e206c697374656e65722e6170706c7928746861742c2061726773293b0a20207d2066696e616c6c79207b0a202020206578706f7274732e6576656e74203d206576656e74303b0a20207d0a7d0a0a76617220736f757263654576656e74203d2066756e6374696f6e2829207b0a20207661722063757272656e74203d206578706f7274732e6576656e742c20736f757263653b0a20207768696c652028736f75726365203d2063757272656e742e736f757263654576656e74292063757272656e74203d20736f757263653b0a202072657475726e2063757272656e743b0a7d3b0a0a76617220706f696e74203d2066756e6374696f6e286e6f64652c206576656e7429207b0a202076617220737667203d206e6f64652e6f776e6572535647456c656d656e74207c7c206e6f64653b0a0a2020696620287376672e637265617465535647506f696e7429207b0a2020202076617220706f696e74203d207376672e637265617465535647506f696e7428293b0a20202020706f696e742e78203d206576656e742e636c69656e74582c20706f696e742e79203d206576656e742e636c69656e74593b0a20202020706f696e74203d20706f696e742e6d61747269785472616e73666f726d286e6f64652e67657453637265656e43544d28292e696e76657273652829293b0a2020202072657475726e205b706f696e742e782c20706f696e742e795d3b0a20207d0a0a20207661722072656374203d206e6f64652e676574426f756e64696e67436c69656e745265637428293b0a202072657475726e205b6576656e742e636c69656e7458202d20726563742e6c656674202d206e6f64652e636c69656e744c6566742c206576656e742e636c69656e7459202d20726563742e746f70202d206e6f64652e636c69656e74546f705d3b0a7d3b0a0a766172206d6f757365203d2066756e6374696f6e286e6f646529207b0a2020766172206576656e74203d20736f757263654576656e7428293b0a2020696620286576656e742e6368616e676564546f756368657329206576656e74203d206576656e742e6368616e676564546f75636865735b305d3b0a202072657475726e20706f696e74286e6f64652c206576656e74293b0a7d3b0a0a66756e6374696f6e206e6f6e652829207b7d0a0a7661722073656c6563746f72203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f206e6f6e65203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f722873656c6563746f72293b0a20207d3b0a7d3b0a0a7661722073656c656374696f6e5f73656c656374203d2066756e6374696f6e2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e20656d7074792829207b0a202072657475726e205b5d3b0a7d0a0a7661722073656c6563746f72416c6c203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e2073656c6563746f72203d3d206e756c6c203f20656d707479203a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20207d3b0a7d3b0a0a7661722073656c656374696f6e5f73656c656374416c6c203d2066756e6374696f6e2873656c65637429207b0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d2073656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202073756267726f7570732e707573682873656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f757029293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f66696c746572203d2066756e6374696f6e286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d206d6174636865722431286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e65772053656c656374696f6e2873756267726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a76617220737061727365203d2066756e6374696f6e2875706461746529207b0a202072657475726e206e6577204172726179287570646174652e6c656e677468293b0a7d3b0a0a7661722073656c656374696f6e5f656e746572203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f656e746572207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e20456e7465724e6f646528706172656e742c20646174756d29207b0a2020746869732e6f776e6572446f63756d656e74203d20706172656e742e6f776e6572446f63756d656e743b0a2020746869732e6e616d657370616365555249203d20706172656e742e6e616d6573706163655552493b0a2020746869732e5f6e657874203d206e756c6c3b0a2020746869732e5f706172656e74203d20706172656e743b0a2020746869732e5f5f646174615f5f203d20646174756d3b0a7d0a0a456e7465724e6f64652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20456e7465724e6f64652c0a2020617070656e644368696c643a2066756e6374696f6e286368696c6429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c20746869732e5f6e657874293b207d2c0a2020696e736572744265666f72653a2066756e6374696f6e286368696c642c206e65787429207b2072657475726e20746869732e5f706172656e742e696e736572744265666f7265286368696c642c206e657874293b207d2c0a2020717565727953656c6563746f723a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f722873656c6563746f72293b207d2c0a2020717565727953656c6563746f72416c6c3a2066756e6374696f6e2873656c6563746f7229207b2072657475726e20746869732e5f706172656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b207d0a7d3b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a766172206b6579507265666978203d202224223b202f2f2050726f7465637420616761696e7374206b657973206c696b6520e2809c5f5f70726f746f5f5fe2809d2e0a0a66756e6374696f6e2062696e64496e64657828706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c206461746129207b0a20207661722069203d20302c0a2020202020206e6f64652c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774683b0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f64657320746861742066697420696e746f207570646174652e0a20202f2f2050757420616e79206e756c6c206e6f64657320696e746f20656e7465722e0a20202f2f2050757420616e792072656d61696e696e67206461746120696e746f20656e7465722e0a2020666f7220283b2069203c20646174614c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020207570646174655b695d203d206e6f64653b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2050757420616e79206e6f6e2d6e756c6c206e6f646573207468617420646f6ee28099742066697420696e746f20657869742e0a2020666f7220283b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2062696e644b657928706172656e742c2067726f75702c20656e7465722c207570646174652c20657869742c20646174612c206b657929207b0a202076617220692c0a2020202020206e6f64652c0a2020202020206e6f646542794b657956616c7565203d207b7d2c0a20202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020206b657956616c756573203d206e65772041727261792867726f75704c656e677468292c0a2020202020206b657956616c75653b0a0a20202f2f20436f6d7075746520746865206b657920666f722065616368206e6f64652e0a20202f2f204966206d756c7469706c65206e6f6465732068617665207468652073616d65206b65792c20746865206475706c6963617465732061726520616464656420746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a20202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020206b657956616c7565735b695d203d206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020202020696620286b657956616c756520696e206e6f646542794b657956616c756529207b0a2020202020202020657869745b695d203d206e6f64653b0a2020202020207d20656c7365207b0a20202020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a20202f2f20436f6d7075746520746865206b657920666f72206561636820646174756d2e0a20202f2f2049662074686572652061206e6f6465206173736f63696174656420776974682074686973206b65792c206a6f696e20616e642061646420697420746f207570646174652e0a20202f2f204966207468657265206973206e6f7420286f7220746865206b65792069732061206475706c6963617465292c2061646420697420746f20656e7465722e0a2020666f72202869203d20303b2069203c20646174614c656e6774683b202b2b6929207b0a202020206b657956616c7565203d206b6579507265666978202b206b65792e63616c6c28706172656e742c20646174615b695d2c20692c2064617461293b0a20202020696620286e6f6465203d206e6f646542794b657956616c75655b6b657956616c75655d29207b0a2020202020207570646174655b695d203d206e6f64653b0a2020202020206e6f64652e5f5f646174615f5f203d20646174615b695d3b0a2020202020206e6f646542794b657956616c75655b6b657956616c75655d203d206e756c6c3b0a202020207d20656c7365207b0a202020202020656e7465725b695d203d206e657720456e7465724e6f646528706172656e742c20646174615b695d293b0a202020207d0a20207d0a0a20202f2f2041646420616e792072656d61696e696e67206e6f64657320746861742077657265206e6f7420626f756e6420746f206461746120746f20657869742e0a2020666f72202869203d20303b2069203c2067726f75704c656e6774683b202b2b6929207b0a2020202069662028286e6f6465203d2067726f75705b695d2920262620286e6f646542794b657956616c75655b6b657956616c7565735b695d5d203d3d3d206e6f64652929207b0a202020202020657869745b695d203d206e6f64653b0a202020207d0a20207d0a7d0a0a7661722073656c656374696f6e5f64617461203d2066756e6374696f6e2876616c75652c206b657929207b0a2020696620282176616c756529207b0a2020202064617461203d206e657720417272617928746869732e73697a652829292c206a203d202d313b0a20202020746869732e656163682866756e6374696f6e286429207b20646174615b2b2b6a5d203d20643b207d293b0a2020202072657475726e20646174613b0a20207d0a0a20207661722062696e64203d206b6579203f2062696e644b6579203a2062696e64496e6465782c0a202020202020706172656e7473203d20746869732e5f706172656e74732c0a20202020202067726f757073203d20746869732e5f67726f7570733b0a0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e22292076616c7565203d20636f6e7374616e742876616c7565293b0a0a2020666f722028766172206d203d2067726f7570732e6c656e6774682c20757064617465203d206e6577204172726179286d292c20656e746572203d206e6577204172726179286d292c2065786974203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a2020202076617220706172656e74203d20706172656e74735b6a5d2c0a202020202020202067726f7570203d2067726f7570735b6a5d2c0a202020202020202067726f75704c656e677468203d2067726f75702e6c656e6774682c0a202020202020202064617461203d2076616c75652e63616c6c28706172656e742c20706172656e7420262620706172656e742e5f5f646174615f5f2c206a2c20706172656e7473292c0a2020202020202020646174614c656e677468203d20646174612e6c656e6774682c0a2020202020202020656e74657247726f7570203d20656e7465725b6a5d203d206e657720417272617928646174614c656e677468292c0a202020202020202075706461746547726f7570203d207570646174655b6a5d203d206e657720417272617928646174614c656e677468292c0a20202020202020206578697447726f7570203d20657869745b6a5d203d206e65772041727261792867726f75704c656e677468293b0a0a2020202062696e6428706172656e742c2067726f75702c20656e74657247726f75702c2075706461746547726f75702c206578697447726f75702c20646174612c206b6579293b0a0a202020202f2f204e6f7720636f6e6e6563742074686520656e746572206e6f64657320746f20746865697220666f6c6c6f77696e6720757064617465206e6f64652c207375636820746861740a202020202f2f20617070656e644368696c642063616e20696e7365727420746865206d6174657269616c697a656420656e746572206e6f6465206265666f72652074686973206e6f64652c0a202020202f2f20726174686572207468616e2061742074686520656e64206f662074686520706172656e74206e6f64652e0a20202020666f722028766172206930203d20302c206931203d20302c2070726576696f75732c206e6578743b206930203c20646174614c656e6774683b202b2b693029207b0a2020202020206966202870726576696f7573203d20656e74657247726f75705b69305d29207b0a2020202020202020696620286930203e3d20693129206931203d206930202b20313b0a20202020202020207768696c65202821286e657874203d2075706461746547726f75705b69315d29202626202b2b6931203c20646174614c656e677468293b0a202020202020202070726576696f75732e5f6e657874203d206e657874207c7c206e756c6c3b0a2020202020207d0a202020207d0a20207d0a0a2020757064617465203d206e65772053656c656374696f6e287570646174652c20706172656e7473293b0a20207570646174652e5f656e746572203d20656e7465723b0a20207570646174652e5f65786974203d20657869743b0a202072657475726e207570646174653b0a7d3b0a0a7661722073656c656374696f6e5f65786974203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f65786974207c7c20746869732e5f67726f7570732e6d617028737061727365292c20746869732e5f706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f6d65726765203d2066756e6374696f6e2873656c656374696f6e29207b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d2073656c656374696f6e2e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e65772053656c656374696f6e286d65726765732c20746869732e5f706172656e7473293b0a7d3b0a0a7661722073656c656374696f6e5f6f72646572203d2066756e6374696f6e2829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d202d312c206d203d2067726f7570732e6c656e6774683b202b2b6a203c206d3b29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d2067726f75702e6c656e677468202d20312c206e657874203d2067726f75705b695d2c206e6f64653b202d2d69203e3d20303b29207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020696620286e657874202626206e65787420213d3d206e6f64652e6e6578745369626c696e6729206e6578742e706172656e744e6f64652e696e736572744265666f7265286e6f64652c206e657874293b0a20202020202020206e657874203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a7661722073656c656374696f6e5f736f7274203d2066756e6374696f6e28636f6d7061726529207b0a20206966202821636f6d706172652920636f6d70617265203d20617363656e64696e673b0a0a202066756e6374696f6e20636f6d706172654e6f646528612c206229207b0a2020202072657475726e20612026262062203f20636f6d7061726528612e5f5f646174615f5f2c20622e5f5f646174615f5f29203a202161202d2021623b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c20736f727467726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c20736f727467726f7570203d20736f727467726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020736f727467726f75705b695d203d206e6f64653b0a2020202020207d0a202020207d0a20202020736f727467726f75702e736f727428636f6d706172654e6f6465293b0a20207d0a0a202072657475726e206e65772053656c656374696f6e28736f727467726f7570732c20746869732e5f706172656e7473292e6f7264657228293b0a7d3b0a0a66756e6374696f6e20617363656e64696e6728612c206229207b0a202072657475726e2061203c2062203f202d31203a2061203e2062203f2031203a2061203e3d2062203f2030203a204e614e3b0a7d0a0a7661722073656c656374696f6e5f63616c6c203d2066756e6374696f6e2829207b0a20207661722063616c6c6261636b203d20617267756d656e74735b305d3b0a2020617267756d656e74735b305d203d20746869733b0a202063616c6c6261636b2e6170706c79286e756c6c2c20617267756d656e7473293b0a202072657475726e20746869733b0a7d3b0a0a7661722073656c656374696f6e5f6e6f646573203d2066756e6374696f6e2829207b0a2020766172206e6f646573203d206e657720417272617928746869732e73697a652829292c2069203d202d313b0a2020746869732e656163682866756e6374696f6e2829207b206e6f6465735b2b2b695d203d20746869733b207d293b0a202072657475726e206e6f6465733b0a7d3b0a0a7661722073656c656374696f6e5f6e6f6465203d2066756e6374696f6e2829207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020766172206e6f6465203d2067726f75705b695d3b0a202020202020696620286e6f6465292072657475726e206e6f64653b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a7661722073656c656374696f6e5f73697a65203d2066756e6374696f6e2829207b0a20207661722073697a65203d20303b0a2020746869732e656163682866756e6374696f6e2829207b202b2b73697a653b207d293b0a202072657475726e2073697a653b0a7d3b0a0a7661722073656c656374696f6e5f656d707479203d2066756e6374696f6e2829207b0a202072657475726e2021746869732e6e6f646528293b0a7d3b0a0a7661722073656c656374696f6e5f65616368203d2066756e6374696f6e2863616c6c6261636b29207b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206a203d20302c206d203d2067726f7570732e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c2069203d20302c206e203d2067726f75702e6c656e6774682c206e6f64653b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d292063616c6c6261636b2e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570293b0a202020207d0a20207d0a0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e736574417474726962757465286e616d652c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076616c7565293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f7665417474726962757465286e616d65293b0a20202020656c736520746869732e736574417474726962757465286e616d652c2076293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20202020656c736520746869732e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2076293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f61747472203d2066756e6374696f6e286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d206e616d657370616365286e616d65293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206e6f6465203d20746869732e6e6f646528293b0a2020202072657475726e2066756c6c6e616d652e6c6f63616c0a20202020202020203f206e6f64652e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c290a20202020202020203a206e6f64652e6765744174747269627574652866756c6c6e616d65293b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f766529203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e742929292866756c6c6e616d652c2076616c756529293b0a7d3b0a0a7661722064656661756c7456696577203d2066756e6374696f6e286e6f646529207b0a202072657475726e20286e6f64652e6f776e6572446f63756d656e74202626206e6f64652e6f776e6572446f63756d656e742e64656661756c745669657729202f2f206e6f64652069732061204e6f64650a2020202020207c7c20286e6f64652e646f63756d656e74202626206e6f646529202f2f206e6f646520697320612057696e646f770a2020202020207c7c206e6f64652e64656661756c74566965773b202f2f206e6f6465206973206120446f63756d656e740a7d3b0a0a66756e6374696f6e207374796c6552656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e73657450726f7065727479286e616d652c2076616c75652c207072696f72697479293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c2920746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20202020656c736520746869732e7374796c652e73657450726f7065727479286e616d652c20762c207072696f72697479293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f7374796c65203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a2020202020202020202020203f207374796c6552656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020202020202020203f207374796c6546756e6374696f6e0a2020202020202020202020203a207374796c65436f6e7374616e7429286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929290a2020202020203a207374796c6556616c756528746869732e6e6f646528292c206e616d65293b0a7d3b0a0a66756e6374696f6e207374796c6556616c7565286e6f64652c206e616d6529207b0a202072657475726e206e6f64652e7374796c652e67657450726f706572747956616c7565286e616d65290a2020202020207c7c2064656661756c7456696577286e6f6465292e676574436f6d70757465645374796c65286e6f64652c206e756c6c292e67657450726f706572747956616c7565286e616d65293b0a7d0a0a66756e6374696f6e2070726f706572747952656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202064656c65746520746869735b6e616d655d3b0a20207d3b0a7d0a0a66756e6374696f6e2070726f7065727479436f6e7374616e74286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869735b6e616d655d203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2070726f706572747946756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a202020206966202876203d3d206e756c6c292064656c65746520746869735b6e616d655d3b0a20202020656c736520746869735b6e616d655d203d20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f70726f7065727479203d2066756e6374696f6e286e616d652c2076616c756529207b0a202072657475726e20617267756d656e74732e6c656e677468203e20310a2020202020203f20746869732e65616368282876616c7565203d3d206e756c6c0a202020202020202020203f2070726f706572747952656d6f7665203a20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2070726f706572747946756e6374696f6e0a202020202020202020203a2070726f7065727479436f6e7374616e7429286e616d652c2076616c756529290a2020202020203a20746869732e6e6f646528295b6e616d655d3b0a7d3b0a0a66756e6374696f6e20636c617373417272617928737472696e6729207b0a202072657475726e20737472696e672e7472696d28292e73706c6974282f5e7c5c732b2f293b0a7d0a0a66756e6374696f6e20636c6173734c697374286e6f646529207b0a202072657475726e206e6f64652e636c6173734c697374207c7c206e657720436c6173734c697374286e6f6465293b0a7d0a0a66756e6374696f6e20436c6173734c697374286e6f646529207b0a2020746869732e5f6e6f6465203d206e6f64653b0a2020746869732e5f6e616d6573203d20636c6173734172726179286e6f64652e6765744174747269627574652822636c6173732229207c7c202222293b0a7d0a0a436c6173734c6973742e70726f746f74797065203d207b0a20206164643a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203c203029207b0a202020202020746869732e5f6e616d65732e70757368286e616d65293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a202072656d6f76653a2066756e6374696f6e286e616d6529207b0a202020207661722069203d20746869732e5f6e616d65732e696e6465784f66286e616d65293b0a202020206966202869203e3d203029207b0a202020202020746869732e5f6e616d65732e73706c69636528692c2031293b0a202020202020746869732e5f6e6f64652e7365744174747269627574652822636c617373222c20746869732e5f6e616d65732e6a6f696e2822202229293b0a202020207d0a20207d2c0a2020636f6e7461696e733a2066756e6374696f6e286e616d6529207b0a2020202072657475726e20746869732e5f6e616d65732e696e6465784f66286e616d6529203e3d20303b0a20207d0a7d3b0a0a66756e6374696f6e20636c6173736564416464286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e616464286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656452656d6f7665286e6f64652c206e616d657329207b0a2020766172206c697374203d20636c6173734c697374286e6f6465292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206c6973742e72656d6f7665286e616d65735b695d293b0a7d0a0a66756e6374696f6e20636c617373656454727565286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656441646428746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446616c7365286e616d657329207b0a202072657475726e2066756e6374696f6e2829207b0a20202020636c617373656452656d6f766528746869732c206e616d6573293b0a20207d3b0a7d0a0a66756e6374696f6e20636c617373656446756e6374696f6e286e616d65732c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020202876616c75652e6170706c7928746869732c20617267756d656e747329203f20636c6173736564416464203a20636c617373656452656d6f76652928746869732c206e616d6573293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f636c6173736564203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206e616d6573203d20636c6173734172726179286e616d65202b202222293b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020766172206c697374203d20636c6173734c69737428746869732e6e6f64652829292c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a202020207768696c6520282b2b69203c206e292069662028216c6973742e636f6e7461696e73286e616d65735b695d29292072657475726e2066616c73653b0a2020202072657475726e20747275653b0a20207d0a0a202072657475726e20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f20636c617373656446756e6374696f6e203a2076616c75650a2020202020203f20636c6173736564547275650a2020202020203a20636c617373656446616c736529286e616d65732c2076616c756529293b0a7d3b0a0a66756e6374696f6e207465787452656d6f76652829207b0a2020746869732e74657874436f6e74656e74203d2022223b0a7d0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e74657874436f6e74656e74203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f74657874203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f207465787452656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207465787446756e6374696f6e0a202020202020202020203a2074657874436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e74657874436f6e74656e743b0a7d3b0a0a66756e6374696f6e2068746d6c52656d6f76652829207b0a2020746869732e696e6e657248544d4c203d2022223b0a7d0a0a66756e6374696f6e2068746d6c436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e696e6e657248544d4c203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e2068746d6c46756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20202020746869732e696e6e657248544d4c203d2076203d3d206e756c6c203f202222203a20763b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f68746d6c203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682876616c7565203d3d206e756c6c0a202020202020202020203f2068746d6c52656d6f7665203a2028747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2068746d6c46756e6374696f6e0a202020202020202020203a2068746d6c436f6e7374616e74292876616c756529290a2020202020203a20746869732e6e6f646528292e696e6e657248544d4c3b0a7d3b0a0a66756e6374696f6e2072616973652829207b0a202069662028746869732e6e6578745369626c696e672920746869732e706172656e744e6f64652e617070656e644368696c642874686973293b0a7d0a0a7661722073656c656374696f6e5f7261697365203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368287261697365293b0a7d3b0a0a66756e6374696f6e206c6f7765722829207b0a202069662028746869732e70726576696f75735369626c696e672920746869732e706172656e744e6f64652e696e736572744265666f726528746869732c20746869732e706172656e744e6f64652e66697273744368696c64293b0a7d0a0a7661722073656c656374696f6e5f6c6f776572203d2066756e6374696f6e2829207b0a202072657475726e20746869732e65616368286c6f776572293b0a7d3b0a0a7661722073656c656374696f6e5f617070656e64203d2066756e6374696f6e286e616d6529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e617070656e644368696c64286372656174652e6170706c7928746869732c20617267756d656e747329293b0a20207d293b0a7d3b0a0a66756e6374696f6e20636f6e7374616e744e756c6c2829207b0a202072657475726e206e756c6c3b0a7d0a0a7661722073656c656374696f6e5f696e73657274203d2066756e6374696f6e286e616d652c206265666f726529207b0a202076617220637265617465203d20747970656f66206e616d65203d3d3d202266756e6374696f6e22203f206e616d65203a2063726561746f72286e616d65292c0a20202020202073656c656374203d206265666f7265203d3d206e756c6c203f20636f6e7374616e744e756c6c203a20747970656f66206265666f7265203d3d3d202266756e6374696f6e22203f206265666f7265203a2073656c6563746f72286265666f7265293b0a202072657475726e20746869732e73656c6563742866756e6374696f6e2829207b0a2020202072657475726e20746869732e696e736572744265666f7265286372656174652e6170706c7928746869732c20617267756d656e7473292c2073656c6563742e6170706c7928746869732c20617267756d656e747329207c7c206e756c6c293b0a20207d293b0a7d3b0a0a66756e6374696f6e2072656d6f76652829207b0a202076617220706172656e74203d20746869732e706172656e744e6f64653b0a202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a7d0a0a7661722073656c656374696f6e5f72656d6f7665203d2066756e6374696f6e2829207b0a202072657475726e20746869732e656163682872656d6f7665293b0a7d3b0a0a7661722073656c656374696f6e5f646174756d203d2066756e6374696f6e2876616c756529207b0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e70726f706572747928225f5f646174615f5f222c2076616c7565290a2020202020203a20746869732e6e6f646528292e5f5f646174615f5f3b0a7d3b0a0a66756e6374696f6e2064697370617463684576656e74286e6f64652c20747970652c20706172616d7329207b0a20207661722077696e646f77203d2064656661756c7456696577286e6f6465292c0a2020202020206576656e74203d2077696e646f772e437573746f6d4576656e743b0a0a202069662028747970656f66206576656e74203d3d3d202266756e6374696f6e2229207b0a202020206576656e74203d206e6577206576656e7428747970652c20706172616d73293b0a20207d20656c7365207b0a202020206576656e74203d2077696e646f772e646f63756d656e742e6372656174654576656e7428224576656e7422293b0a2020202069662028706172616d7329206576656e742e696e69744576656e7428747970652c20706172616d732e627562626c65732c20706172616d732e63616e63656c61626c65292c206576656e742e64657461696c203d20706172616d732e64657461696c3b0a20202020656c7365206576656e742e696e69744576656e7428747970652c2066616c73652c2066616c7365293b0a20207d0a0a20206e6f64652e64697370617463684576656e74286576656e74293b0a7d0a0a66756e6374696f6e206469737061746368436f6e7374616e7428747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d73293b0a20207d3b0a7d0a0a66756e6374696f6e20646973706174636846756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e2064697370617463684576656e7428746869732c20747970652c20706172616d732e6170706c7928746869732c20617267756d656e747329293b0a20207d3b0a7d0a0a7661722073656c656374696f6e5f6469737061746368203d2066756e6374696f6e28747970652c20706172616d7329207b0a202072657475726e20746869732e656163682828747970656f6620706172616d73203d3d3d202266756e6374696f6e220a2020202020203f20646973706174636846756e6374696f6e0a2020202020203a206469737061746368436f6e7374616e742928747970652c20706172616d7329293b0a7d3b0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a66756e6374696f6e2053656c656374696f6e2867726f7570732c20706172656e747329207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a7d0a0a66756e6374696f6e2073656c656374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e285b5b646f63756d656e742e646f63756d656e74456c656d656e745d5d2c20726f6f74293b0a7d0a0a53656c656374696f6e2e70726f746f74797065203d2073656c656374696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2053656c656374696f6e2c0a202073656c6563743a2073656c656374696f6e5f73656c6563742c0a202073656c656374416c6c3a2073656c656374696f6e5f73656c656374416c6c2c0a202066696c7465723a2073656c656374696f6e5f66696c7465722c0a2020646174613a2073656c656374696f6e5f646174612c0a2020656e7465723a2073656c656374696f6e5f656e7465722c0a2020657869743a2073656c656374696f6e5f657869742c0a20206d657267653a2073656c656374696f6e5f6d657267652c0a20206f726465723a2073656c656374696f6e5f6f726465722c0a2020736f72743a2073656c656374696f6e5f736f72742c0a202063616c6c3a2073656c656374696f6e5f63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f6e6f64652c0a202073697a653a2073656c656374696f6e5f73697a652c0a2020656d7074793a2073656c656374696f6e5f656d7074792c0a2020656163683a2073656c656374696f6e5f656163682c0a2020617474723a2073656c656374696f6e5f617474722c0a20207374796c653a2073656c656374696f6e5f7374796c652c0a202070726f70657274793a2073656c656374696f6e5f70726f70657274792c0a2020636c61737365643a2073656c656374696f6e5f636c61737365642c0a2020746578743a2073656c656374696f6e5f746578742c0a202068746d6c3a2073656c656374696f6e5f68746d6c2c0a202072616973653a2073656c656374696f6e5f72616973652c0a20206c6f7765723a2073656c656374696f6e5f6c6f7765722c0a2020617070656e643a2073656c656374696f6e5f617070656e642c0a2020696e736572743a2073656c656374696f6e5f696e736572742c0a202072656d6f76653a2073656c656374696f6e5f72656d6f76652c0a2020646174756d3a2073656c656374696f6e5f646174756d2c0a20206f6e3a2073656c656374696f6e5f6f6e2c0a202064697370617463683a2073656c656374696f6e5f64697370617463680a7d3b0a0a7661722073656c656374203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b5b646f63756d656e742e717565727953656c6563746f722873656c6563746f72295d5d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b5b73656c6563746f725d5d2c20726f6f74293b0a7d3b0a0a7661722073656c656374416c6c203d2066756e6374696f6e2873656c6563746f7229207b0a202072657475726e20747970656f662073656c6563746f72203d3d3d2022737472696e67220a2020202020203f206e65772053656c656374696f6e285b646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72295d2c205b646f63756d656e742e646f63756d656e74456c656d656e745d290a2020202020203a206e65772053656c656374696f6e285b73656c6563746f72203d3d206e756c6c203f205b5d203a2073656c6563746f725d2c20726f6f74293b0a7d3b0a0a76617220746f756368203d2066756e6374696f6e286e6f64652c20746f75636865732c206964656e74696669657229207b0a202069662028617267756d656e74732e6c656e677468203c203329206964656e746966696572203d20746f75636865732c20746f7563686573203d20736f757263654576656e7428292e6368616e676564546f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20746f7563683b2069203c206e3b202b2b6929207b0a202020206966202828746f756368203d20746f75636865735b695d292e6964656e746966696572203d3d3d206964656e74696669657229207b0a20202020202072657475726e20706f696e74286e6f64652c20746f756368293b0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a76617220746f7563686573203d2066756e6374696f6e286e6f64652c20746f756368657329207b0a202069662028746f7563686573203d3d206e756c6c2920746f7563686573203d20736f757263654576656e7428292e746f75636865733b0a0a2020666f7220287661722069203d20302c206e203d20746f7563686573203f20746f75636865732e6c656e677468203a20302c20706f696e7473203d206e6577204172726179286e293b2069203c206e3b202b2b6929207b0a20202020706f696e74735b695d203d20706f696e74286e6f64652c20746f75636865735b695d293b0a20207d0a0a202072657475726e20706f696e74733b0a7d3b0a0a6578706f7274732e63726561746f72203d2063726561746f723b0a6578706f7274732e6c6f63616c203d206c6f63616c3b0a6578706f7274732e6d617463686572203d206d61746368657224313b0a6578706f7274732e6d6f757365203d206d6f7573653b0a6578706f7274732e6e616d657370616365203d206e616d6573706163653b0a6578706f7274732e6e616d65737061636573203d206e616d657370616365733b0a6578706f7274732e636c69656e74506f696e74203d20706f696e743b0a6578706f7274732e73656c656374203d2073656c6563743b0a6578706f7274732e73656c656374416c6c203d2073656c656374416c6c3b0a6578706f7274732e73656c656374696f6e203d2073656c656374696f6e3b0a6578706f7274732e73656c6563746f72203d2073656c6563746f723b0a6578706f7274732e73656c6563746f72416c6c203d2073656c6563746f72416c6c3b0a6578706f7274732e7374796c65203d207374796c6556616c75653b0a6578706f7274732e746f756368203d20746f7563683b0a6578706f7274732e746f7563686573203d20746f75636865733b0a6578706f7274732e77696e646f77203d2064656661756c74566965773b0a6578706f7274732e637573746f6d4576656e74203d20637573746f6d4576656e743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d73686170652f2056657273696f6e20312e322e302e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d70617468272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d70617468275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c64335061746829207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e20636f6e7374616e742829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a76617220616273203d204d6174682e6162733b0a766172206174616e32203d204d6174682e6174616e323b0a76617220636f73203d204d6174682e636f733b0a766172206d6178203d204d6174682e6d61783b0a766172206d696e203d204d6174682e6d696e3b0a7661722073696e203d204d6174682e73696e3b0a7661722073717274203d204d6174682e737172743b0a0a76617220657073696c6f6e203d2031652d31323b0a766172207069203d204d6174682e50493b0a7661722068616c665069203d207069202f20323b0a76617220746175203d2032202a2070693b0a0a66756e6374696f6e2061636f73287829207b0a202072657475726e2078203e2031203f2030203a2078203c202d31203f207069203a204d6174682e61636f732878293b0a7d0a0a66756e6374696f6e206173696e287829207b0a202072657475726e2078203e3d2031203f2068616c665069203a2078203c3d202d31203f202d68616c665069203a204d6174682e6173696e2878293b0a7d0a0a66756e6374696f6e20617263496e6e6572526164697573286429207b0a202072657475726e20642e696e6e65725261646975733b0a7d0a0a66756e6374696f6e206172634f75746572526164697573286429207b0a202072657475726e20642e6f757465725261646975733b0a7d0a0a66756e6374696f6e206172635374617274416e676c65286429207b0a202072657475726e20642e7374617274416e676c653b0a7d0a0a66756e6374696f6e20617263456e64416e676c65286429207b0a202072657475726e20642e656e64416e676c653b0a7d0a0a66756e6374696f6e20617263506164416e676c65286429207b0a202072657475726e206420262620642e706164416e676c653b202f2f204e6f74653a206f7074696f6e616c210a7d0a0a66756e6374696f6e20696e746572736563742878302c2079302c2078312c2079312c2078322c2079322c2078332c20793329207b0a202076617220783130203d207831202d2078302c20793130203d207931202d2079302c0a202020202020783332203d207833202d2078322c20793332203d207933202d2079322c0a20202020202074203d2028783332202a20287930202d20793229202d20793332202a20287830202d2078322929202f2028793332202a20783130202d20783332202a20793130293b0a202072657475726e205b7830202b2074202a207831302c207930202b2074202a207931305d3b0a7d0a0a2f2f20436f6d707574652070657270656e646963756c6172206f6666736574206c696e65206f66206c656e6774682072632e0a2f2f20687474703a2f2f6d617468776f726c642e776f6c6672616d2e636f6d2f436972636c652d4c696e65496e74657273656374696f6e2e68746d6c0a66756e6374696f6e20636f726e657254616e67656e74732878302c2079302c2078312c2079312c2072312c2072632c20637729207b0a202076617220783031203d207830202d2078312c0a202020202020793031203d207930202d2079312c0a2020202020206c6f203d20286377203f207263203a202d726329202f207371727428783031202a20783031202b20793031202a20793031292c0a2020202020206f78203d206c6f202a207930312c0a2020202020206f79203d202d6c6f202a207830312c0a202020202020783131203d207830202b206f782c0a202020202020793131203d207930202b206f792c0a202020202020783130203d207831202b206f782c0a202020202020793130203d207931202b206f792c0a202020202020783030203d2028783131202b2078313029202f20322c0a202020202020793030203d2028793131202b2079313029202f20322c0a2020202020206478203d20783130202d207831312c0a2020202020206479203d20793130202d207931312c0a2020202020206432203d206478202a206478202b206479202a2064792c0a20202020202072203d207231202d2072632c0a20202020202044203d20783131202a20793130202d20783130202a207931312c0a20202020202064203d20286479203c2030203f202d31203a203129202a2073717274286d617828302c2072202a2072202a206432202d2044202a204429292c0a202020202020637830203d202844202a206479202d206478202a206429202f2064322c0a202020202020637930203d20282d44202a206478202d206479202a206429202f2064322c0a202020202020637831203d202844202a206479202b206478202a206429202f2064322c0a202020202020637931203d20282d44202a206478202b206479202a206429202f2064322c0a202020202020647830203d20637830202d207830302c0a202020202020647930203d20637930202d207930302c0a202020202020647831203d20637831202d207830302c0a202020202020647931203d20637931202d207930303b0a0a20202f2f205069636b2074686520636c6f736572206f66207468652074776f20696e74657273656374696f6e20706f696e74732e0a20202f2f20544f444f2049732074686572652061206661737465722077617920746f2064657465726d696e6520776869636820696e74657273656374696f6e20746f207573653f0a202069662028647830202a20647830202b20647930202a20647930203e20647831202a20647831202b20647931202a206479312920637830203d206378312c20637930203d206379313b0a0a202072657475726e207b0a2020202063783a206378302c0a2020202063793a206379302c0a202020207830313a202d6f782c0a202020207930313a202d6f792c0a202020207831313a20637830202a20287231202f2072202d2031292c0a202020207931313a20637930202a20287231202f2072202d2031290a20207d3b0a7d0a0a76617220617263203d2066756e6374696f6e2829207b0a202076617220696e6e6572526164697573203d20617263496e6e65725261646975732c0a2020202020206f75746572526164697573203d206172634f757465725261646975732c0a202020202020636f726e6572526164697573203d20636f6e7374616e742830292c0a202020202020706164526164697573203d206e756c6c2c0a2020202020207374617274416e676c65203d206172635374617274416e676c652c0a202020202020656e64416e676c65203d20617263456e64416e676c652c0a202020202020706164416e676c65203d20617263506164416e676c652c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206172632829207b0a20202020766172206275666665722c0a2020202020202020722c0a20202020202020207230203d202b696e6e65725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020207231203d202b6f757465725261646975732e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206130203d207374617274416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c6650692c0a20202020202020206131203d20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d2068616c6650692c0a20202020202020206461203d20616273286131202d206130292c0a20202020202020206377203d206131203e2061303b0a0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a0a202020202f2f20456e73757265207468617420746865206f757465722072616469757320697320616c77617973206c6172676572207468616e2074686520696e6e6572207261646975732e0a20202020696620287231203c207230292072203d2072312c207231203d2072302c207230203d20723b0a0a202020202f2f204973206974206120706f696e743f0a202020206966202821287231203e20657073696c6f6e292920636f6e746578742e6d6f7665546f28302c2030293b0a0a202020202f2f204f72206973206974206120636972636c65206f7220616e6e756c75733f0a20202020656c736520696620286461203e20746175202d20657073696c6f6e29207b0a202020202020636f6e746578742e6d6f7665546f287231202a20636f73286130292c207231202a2073696e28613029293b0a202020202020636f6e746578742e61726328302c20302c2072312c2061302c2061312c20216377293b0a202020202020696620287230203e20657073696c6f6e29207b0a2020202020202020636f6e746578742e6d6f7665546f287230202a20636f73286131292c207230202a2073696e28613129293b0a2020202020202020636f6e746578742e61726328302c20302c2072302c2061312c2061302c206377293b0a2020202020207d0a202020207d0a0a202020202f2f204f7220697320697420612063697263756c6172206f7220616e6e756c617220736563746f723f0a20202020656c7365207b0a20202020202076617220613031203d2061302c0a20202020202020202020613131203d2061312c0a20202020202020202020613030203d2061302c0a20202020202020202020613130203d2061312c0a20202020202020202020646130203d2064612c0a20202020202020202020646131203d2064612c0a202020202020202020206170203d20706164416e676c652e6170706c7928746869732c20617267756d656e747329202f20322c0a202020202020202020207270203d20286170203e20657073696c6f6e292026262028706164526164697573203f202b7061645261646975732e6170706c7928746869732c20617267756d656e747329203a2073717274287230202a207230202b207231202a20723129292c0a202020202020202020207263203d206d696e28616273287231202d20723029202f20322c202b636f726e65725261646975732e6170706c7928746869732c20617267756d656e747329292c0a20202020202020202020726330203d2072632c0a20202020202020202020726331203d2072632c0a2020202020202020202074302c0a2020202020202020202074313b0a0a2020202020202f2f204170706c792070616464696e673f204e6f746520746861742073696e636520723120e289a52072302c2064613120e289a5206461302e0a202020202020696620287270203e20657073696c6f6e29207b0a2020202020202020766172207030203d206173696e287270202f207230202a2073696e28617029292c0a2020202020202020202020207031203d206173696e287270202f207231202a2073696e28617029293b0a20202020202020206966202828646130202d3d207030202a203229203e20657073696c6f6e29207030202a3d20286377203f2031203a202d31292c20613030202b3d2070302c20613130202d3d2070303b0a2020202020202020656c736520646130203d20302c20613030203d20613130203d20286130202b20613129202f20323b0a20202020202020206966202828646131202d3d207031202a203229203e20657073696c6f6e29207031202a3d20286377203f2031203a202d31292c20613031202b3d2070312c20613131202d3d2070313b0a2020202020202020656c736520646131203d20302c20613031203d20613131203d20286130202b20613129202f20323b0a2020202020207d0a0a20202020202076617220783031203d207231202a20636f7328613031292c0a20202020202020202020793031203d207231202a2073696e28613031292c0a20202020202020202020783130203d207230202a20636f7328613130292c0a20202020202020202020793130203d207230202a2073696e28613130293b0a0a2020202020202f2f204170706c7920726f756e64656420636f726e6572733f0a202020202020696620287263203e20657073696c6f6e29207b0a202020202020202076617220783131203d207231202a20636f7328613131292c0a202020202020202020202020793131203d207231202a2073696e28613131292c0a202020202020202020202020783030203d207230202a20636f7328613030292c0a202020202020202020202020793030203d207230202a2073696e28613030293b0a0a20202020202020202f2f2052657374726963742074686520636f726e657220726164697573206163636f7264696e6720746f2074686520736563746f7220616e676c652e0a2020202020202020696620286461203c20706929207b0a20202020202020202020766172206f63203d20646130203e20657073696c6f6e203f20696e74657273656374287830312c207930312c207830302c207930302c207831312c207931312c207831302c2079313029203a205b7831302c207931305d2c0a20202020202020202020202020206178203d20783031202d206f635b305d2c0a20202020202020202020202020206179203d20793031202d206f635b315d2c0a20202020202020202020202020206278203d20783131202d206f635b305d2c0a20202020202020202020202020206279203d20793131202d206f635b315d2c0a20202020202020202020202020206b63203d2031202f2073696e2861636f7328286178202a206278202b206179202a20627929202f202873717274286178202a206178202b206179202a20617929202a2073717274286278202a206278202b206279202a206279292929202f2032292c0a20202020202020202020202020206c63203d2073717274286f635b305d202a206f635b305d202b206f635b315d202a206f635b315d293b0a20202020202020202020726330203d206d696e2872632c20287230202d206c6329202f20286b63202d203129293b0a20202020202020202020726331203d206d696e2872632c20287231202d206c6329202f20286b63202b203129293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f2049732074686520736563746f7220636f6c6c617073656420746f2061206c696e653f0a202020202020696620282128646131203e20657073696c6f6e292920636f6e746578742e6d6f7665546f287830312c20793031293b0a0a2020202020202f2f20446f65732074686520736563746f72e2809973206f757465722072696e67206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726331203e20657073696c6f6e29207b0a20202020202020207430203d20636f726e657254616e67656e7473287830302c207930302c207830312c207930312c2072312c207263312c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287831312c207931312c207831302c207931302c2072312c207263312c206377293b0a0a2020202020202020636f6e746578742e6d6f7665546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726331203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e322874302e7930312c2074302e783031292c206174616e322874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263312c206174616e322874302e7930312c2074302e783031292c206174616e322874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072312c206174616e322874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e322874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c20216377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263312c206174616e322874312e7931312c2074312e783131292c206174616e322874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f7220697320746865206f757465722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e6d6f7665546f287830312c20793031292c20636f6e746578742e61726328302c20302c2072312c206130312c206131312c20216377293b0a0a2020202020202f2f204973207468657265206e6f20696e6e65722072696e672c20616e64206974e280997320612063697263756c617220736563746f723f0a2020202020202f2f204f722070657268617073206974e280997320616e20616e6e756c617220736563746f7220636f6c6c61707365642064756520746f2070616464696e673f0a2020202020206966202821287230203e20657073696c6f6e29207c7c202128646130203e20657073696c6f6e292920636f6e746578742e6c696e65546f287831302c20793130293b0a0a2020202020202f2f20446f65732074686520736563746f72e280997320696e6e65722072696e6720286f7220706f696e7429206861766520726f756e64656420636f726e6572733f0a202020202020656c73652069662028726330203e20657073696c6f6e29207b0a20202020202020207430203d20636f726e657254616e67656e7473287831302c207931302c207831312c207931312c2072302c202d7263302c206377293b0a20202020202020207431203d20636f726e657254616e67656e7473287830312c207930312c207830302c207930302c2072302c202d7263302c206377293b0a0a2020202020202020636f6e746578742e6c696e65546f2874302e6378202b2074302e7830312c2074302e6379202b2074302e793031293b0a0a20202020202020202f2f20486176652074686520636f726e657273206d65726765643f0a202020202020202069662028726330203c2072632920636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e322874302e7930312c2074302e783031292c206174616e322874312e7930312c2074312e783031292c20216377293b0a0a20202020202020202f2f204f74686572776973652c2064726177207468652074776f20636f726e65727320616e64207468652072696e672e0a2020202020202020656c7365207b0a20202020202020202020636f6e746578742e6172632874302e63782c2074302e63792c207263302c206174616e322874302e7930312c2074302e783031292c206174616e322874302e7931312c2074302e783131292c20216377293b0a20202020202020202020636f6e746578742e61726328302c20302c2072302c206174616e322874302e6379202b2074302e7931312c2074302e6378202b2074302e783131292c206174616e322874312e6379202b2074312e7931312c2074312e6378202b2074312e783131292c206377293b0a20202020202020202020636f6e746578742e6172632874312e63782c2074312e63792c207263302c206174616e322874312e7931312c2074312e783131292c206174616e322874312e7930312c2074312e783031292c20216377293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f204f722069732074686520696e6e65722072696e67206a75737420612063697263756c6172206172633f0a202020202020656c736520636f6e746578742e61726328302c20302c2072302c206131302c206130302c206377293b0a202020207d0a0a20202020636f6e746578742e636c6f73655061746828293b0a0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206172632e63656e74726f6964203d2066756e6374696f6e2829207b0a202020207661722072203d20282b696e6e65725261646975732e6170706c7928746869732c20617267756d656e747329202b202b6f757465725261646975732e6170706c7928746869732c20617267756d656e74732929202f20322c0a202020202020202061203d20282b7374617274416e676c652e6170706c7928746869732c20617267756d656e747329202b202b656e64416e676c652e6170706c7928746869732c20617267756d656e74732929202f2032202d207069202f20323b0a2020202072657475726e205b636f73286129202a20722c2073696e286129202a20725d3b0a20207d3b0a0a20206172632e696e6e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e6e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20696e6e65725261646975733b0a20207d3b0a0a20206172632e6f75746572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f75746572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a206f757465725261646975733b0a20207d3b0a0a20206172632e636f726e6572526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f726e6572526164697573203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20636f726e65725261646975733b0a20207d3b0a0a20206172632e706164526164697573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164526164697573203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a207061645261646975733b0a20207d3b0a0a20206172632e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a207374617274416e676c653b0a20207d3b0a0a20206172632e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20656e64416e676c653b0a20207d3b0a0a20206172632e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2061726329203a20706164416e676c653b0a20207d3b0a0a20206172632e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c2061726329203a20636f6e746578743b0a20207d3b0a0a202072657475726e206172633b0a7d3b0a0a66756e6374696f6e204c696e65617228636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e6561722e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a20746869732e5f636f6e746578742e6c696e65546f28782c2079293b20627265616b3b0a202020207d0a20207d0a7d3b0a0a7661722063757276654c696e656172203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204c696e65617228636f6e74657874293b0a7d3b0a0a66756e6374696f6e2078287029207b0a202072657475726e20705b305d3b0a7d0a0a66756e6374696f6e2079287029207b0a202072657475726e20705b315d3b0a7d0a0a766172206c696e65203d2066756e6374696f6e2829207b0a20207661722078242431203d20782c0a20202020202079242431203d20792c0a202020202020646566696e6564203d20636f6e7374616e742874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e206c696e65286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665723b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d206433506174682e706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029206f75747075742e6c696e65537461727428293b0a2020202020202020656c7365206f75747075742e6c696e65456e6428293b0a2020202020207d0a20202020202069662028646566696e65643029206f75747075742e706f696e74282b7824243128642c20692c2064617461292c202b7924243128642c20692c206461746129293b0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e652e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6529203a20782424313b0a20207d3b0a0a20206c696e652e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6529203a20792424313b0a20207d3b0a0a20206c696e652e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206c696e6529203a20646566696e65643b0a20207d3b0a0a20206c696e652e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206c696e6529203a2063757276653b0a20207d3b0a0a20206c696e652e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206c696e6529203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e653b0a7d3b0a0a7661722061726561203d2066756e6374696f6e2829207b0a2020766172207830203d20782c0a2020202020207831203d206e756c6c2c0a2020202020207930203d20636f6e7374616e742830292c0a2020202020207931203d20792c0a202020202020646566696e6564203d20636f6e7374616e742874727565292c0a202020202020636f6e74657874203d206e756c6c2c0a2020202020206375727665203d2063757276654c696e6561722c0a2020202020206f7574707574203d206e756c6c3b0a0a202066756e6374696f6e2061726561286461746129207b0a2020202076617220692c0a20202020202020206a2c0a20202020202020206b2c0a20202020202020206e203d20646174612e6c656e6774682c0a2020202020202020642c0a2020202020202020646566696e656430203d2066616c73652c0a20202020202020206275666665722c0a202020202020202078307a203d206e6577204172726179286e292c0a202020202020202079307a203d206e6577204172726179286e293b0a0a2020202069662028636f6e74657874203d3d206e756c6c29206f7574707574203d20637572766528627566666572203d206433506174682e706174682829293b0a0a20202020666f72202869203d20303b2069203c3d206e3b202b2b6929207b0a20202020202069662028212869203c206e20262620646566696e65642864203d20646174615b695d2c20692c20646174612929203d3d3d20646566696e65643029207b0a202020202020202069662028646566696e656430203d2021646566696e65643029207b0a202020202020202020206a203d20693b0a202020202020202020206f75747075742e61726561537461727428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020207d20656c7365207b0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e6c696e65537461727428293b0a20202020202020202020666f7220286b203d2069202d20313b206b203e3d206a3b202d2d6b29207b0a2020202020202020202020206f75747075742e706f696e742878307a5b6b5d2c2079307a5b6b5d293b0a202020202020202020207d0a202020202020202020206f75747075742e6c696e65456e6428293b0a202020202020202020206f75747075742e61726561456e6428293b0a20202020202020207d0a2020202020207d0a20202020202069662028646566696e65643029207b0a202020202020202078307a5b695d203d202b783028642c20692c2064617461292c2079307a5b695d203d202b793028642c20692c2064617461293b0a20202020202020206f75747075742e706f696e74287831203f202b783128642c20692c206461746129203a2078307a5b695d2c207931203f202b793128642c20692c206461746129203a2079307a5b695d293b0a2020202020207d0a202020207d0a0a2020202069662028627566666572292072657475726e206f7574707574203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202066756e6374696f6e20617265616c696e652829207b0a2020202072657475726e206c696e6528292e646566696e656428646566696e6564292e6375727665286375727665292e636f6e7465787428636f6e74657874293b0a20207d0a0a2020617265612e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207831203d206e756c6c2c206172656129203a2078303b0a20207d3b0a0a2020617265612e7830203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287830203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2078303b0a20207d3b0a0a2020617265612e7831203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287831203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2078313b0a20207d3b0a0a2020617265612e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207931203d206e756c6c2c206172656129203a2079303b0a20207d3b0a0a2020617265612e7930203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287930203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2079303b0a20207d3b0a0a2020617265612e7931203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287931203d205f203d3d206e756c6c203f206e756c6c203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206172656129203a2079313b0a20207d3b0a0a2020617265612e6c696e655830203d0a2020617265612e6c696e655930203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287930293b0a20207d3b0a0a2020617265612e6c696e655931203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287830292e79287931293b0a20207d3b0a0a2020617265612e6c696e655831203d2066756e6374696f6e2829207b0a2020202072657475726e20617265616c696e6528292e78287831292e79287930293b0a20207d3b0a0a2020617265612e646566696e6564203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028646566696e6564203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c206172656129203a20646566696e65643b0a20207d3b0a0a2020617265612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286375727665203d205f2c20636f6e7465787420213d206e756c6c20262620286f7574707574203d20637572766528636f6e7465787429292c206172656129203a2063757276653b0a20207d3b0a0a2020617265612e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20285f203d3d206e756c6c203f20636f6e74657874203d206f7574707574203d206e756c6c203a206f7574707574203d20637572766528636f6e74657874203d205f292c206172656129203a20636f6e746578743b0a20207d3b0a0a202072657475726e20617265613b0a7d3b0a0a7661722064657363656e64696e67203d2066756e6374696f6e28612c206229207b0a202072657475726e2062203c2061203f202d31203a2062203e2061203f2031203a2062203e3d2061203f2030203a204e614e3b0a7d3b0a0a766172206964656e74697479203d2066756e6374696f6e286429207b0a202072657475726e20643b0a7d3b0a0a76617220706965203d2066756e6374696f6e2829207b0a20207661722076616c7565203d206964656e746974792c0a202020202020736f727456616c756573203d2064657363656e64696e672c0a202020202020736f7274203d206e756c6c2c0a2020202020207374617274416e676c65203d20636f6e7374616e742830292c0a202020202020656e64416e676c65203d20636f6e7374616e7428746175292c0a202020202020706164416e676c65203d20636f6e7374616e742830293b0a0a202066756e6374696f6e20706965286461746129207b0a2020202076617220692c0a20202020202020206e203d20646174612e6c656e6774682c0a20202020202020206a2c0a20202020202020206b2c0a202020202020202073756d203d20302c0a2020202020202020696e646578203d206e6577204172726179286e292c0a202020202020202061726373203d206e6577204172726179286e292c0a20202020202020206130203d202b7374617274416e676c652e6170706c7928746869732c20617267756d656e7473292c0a20202020202020206461203d204d6174682e6d696e287461752c204d6174682e6d6178282d7461752c20656e64416e676c652e6170706c7928746869732c20617267756d656e747329202d20613029292c0a202020202020202061312c0a202020202020202070203d204d6174682e6d696e284d6174682e61627328646129202f206e2c20706164416e676c652e6170706c7928746869732c20617267756d656e747329292c0a20202020202020207061203d2070202a20286461203c2030203f202d31203a2031292c0a2020202020202020763b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020696620282876203d20617263735b696e6465785b695d203d20695d203d202b76616c756528646174615b695d2c20692c20646174612929203e203029207b0a202020202020202073756d202b3d20763b0a2020202020207d0a202020207d0a0a202020202f2f204f7074696f6e616c6c7920736f72742074686520617263732062792070726576696f75736c792d636f6d70757465642076616c756573206f7220627920646174612e0a2020202069662028736f727456616c75657320213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727456616c75657328617263735b695d2c20617263735b6a5d293b207d293b0a20202020656c73652069662028736f727420213d206e756c6c2920696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e20736f727428646174615b695d2c20646174615b6a5d293b207d293b0a0a202020202f2f20436f6d70757465207468652061726373212054686579206172652073746f72656420696e20746865206f726967696e616c20646174612773206f726465722e0a20202020666f72202869203d20302c206b203d2073756d203f20286461202d206e202a20706129202f2073756d203a20303b2069203c206e3b202b2b692c206130203d20613129207b0a2020202020206a203d20696e6465785b695d2c2076203d20617263735b6a5d2c206131203d206130202b202876203e2030203f2076202a206b203a203029202b2070612c20617263735b6a5d203d207b0a2020202020202020646174613a20646174615b6a5d2c0a2020202020202020696e6465783a20692c0a202020202020202076616c75653a20762c0a20202020202020207374617274416e676c653a2061302c0a2020202020202020656e64416e676c653a2061312c0a2020202020202020706164416e676c653a20700a2020202020207d3b0a202020207d0a0a2020202072657475726e20617263733b0a20207d0a0a20207069652e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a2076616c75653b0a20207d3b0a0a20207069652e736f727456616c756573203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f727456616c756573203d205f2c20736f7274203d206e756c6c2c2070696529203a20736f727456616c7565733b0a20207d3b0a0a20207069652e736f7274203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f7274203d205f2c20736f727456616c756573203d206e756c6c2c2070696529203a20736f72743b0a20207d3b0a0a20207069652e7374617274416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287374617274416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a207374617274416e676c653b0a20207d3b0a0a20207069652e656e64416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028656e64416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a20656e64416e676c653b0a20207d3b0a0a20207069652e706164416e676c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028706164416e676c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2070696529203a20706164416e676c653b0a20207d3b0a0a202072657475726e207069653b0a7d3b0a0a76617220637572766552616469616c4c696e656172203d20637572766552616469616c2863757276654c696e656172293b0a0a66756e6374696f6e2052616469616c28637572766529207b0a2020746869732e5f6375727665203d2063757276653b0a7d0a0a52616469616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561537461727428293b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e61726561456e6428293b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a20202020746869732e5f63757276652e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28612c207229207b0a20202020746869732e5f63757276652e706f696e742872202a204d6174682e73696e2861292c2072202a202d4d6174682e636f73286129293b0a20207d0a7d3b0a0a66756e6374696f6e20637572766552616469616c28637572766529207b0a0a202066756e6374696f6e2072616469616c28636f6e7465787429207b0a2020202072657475726e206e65772052616469616c28637572766528636f6e7465787429293b0a20207d0a0a202072616469616c2e5f6375727665203d2063757276653b0a0a202072657475726e2072616469616c3b0a7d0a0a66756e6374696f6e206c696e6552616469616c286c29207b0a20207661722063203d206c2e63757276653b0a0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a0a20206c2e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e206c3b0a7d0a0a766172206c696e6552616469616c2431203d2066756e6374696f6e2829207b0a202072657475726e206c696e6552616469616c286c696e6528292e637572766528637572766552616469616c4c696e65617229293b0a7d3b0a0a766172206172656152616469616c203d2066756e6374696f6e2829207b0a20207661722061203d206172656128292e637572766528637572766552616469616c4c696e656172292c0a20202020202063203d20612e63757276652c0a2020202020207830203d20612e6c696e6558302c0a2020202020207831203d20612e6c696e6558312c0a2020202020207930203d20612e6c696e6559302c0a2020202020207931203d20612e6c696e6559313b0a0a2020612e616e676c65203d20612e782c2064656c65746520612e783b0a2020612e7374617274416e676c65203d20612e78302c2064656c65746520612e78303b0a2020612e656e64416e676c65203d20612e78312c2064656c65746520612e78313b0a2020612e726164697573203d20612e792c2064656c65746520612e793b0a2020612e696e6e6572526164697573203d20612e79302c2064656c65746520612e79303b0a2020612e6f75746572526164697573203d20612e79312c2064656c65746520612e79313b0a2020612e6c696e655374617274416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878302829293b207d2c2064656c65746520612e6c696e6558303b0a2020612e6c696e65456e64416e676c65203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2878312829293b207d2c2064656c65746520612e6c696e6558313b0a2020612e6c696e65496e6e6572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879302829293b207d2c2064656c65746520612e6c696e6559303b0a2020612e6c696e654f75746572526164697573203d2066756e6374696f6e2829207b2072657475726e206c696e6552616469616c2879312829293b207d2c2064656c65746520612e6c696e6559313b0a0a2020612e6375727665203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f206328637572766552616469616c285f2929203a206328292e5f63757276653b0a20207d3b0a0a202072657475726e20613b0a7d3b0a0a76617220706f696e7452616469616c203d2066756e6374696f6e28782c207929207b0a202072657475726e205b2879203d202b7929202a204d6174682e636f732878202d3d204d6174682e5049202f2032292c2079202a204d6174682e73696e2878295d3b0a7d3b0a0a76617220736c696365203d2041727261792e70726f746f747970652e736c6963653b0a0a66756e6374696f6e206c696e6b536f75726365286429207b0a202072657475726e20642e736f757263653b0a7d0a0a66756e6374696f6e206c696e6b546172676574286429207b0a202072657475726e20642e7461726765743b0a7d0a0a66756e6374696f6e206c696e6b28637572766529207b0a202076617220736f75726365203d206c696e6b536f757263652c0a202020202020746172676574203d206c696e6b5461726765742c0a20202020202078242431203d20782c0a20202020202079242431203d20792c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e206c696e6b2829207b0a20202020766172206275666665722c2061726776203d20736c6963652e63616c6c28617267756d656e7473292c2073203d20736f757263652e6170706c7928746869732c2061726776292c2074203d207461726765742e6170706c7928746869732c2061726776293b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a20202020637572766528636f6e746578742c202b782424312e6170706c7928746869732c2028617267765b305d203d20732c206172677629292c202b792424312e6170706c7928746869732c2061726776292c202b782424312e6170706c7928746869732c2028617267765b305d203d20742c206172677629292c202b792424312e6170706c7928746869732c206172677629293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a20206c696e6b2e736f75726365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028736f75726365203d205f2c206c696e6b29203a20736f757263653b0a20207d3b0a0a20206c696e6b2e746172676574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746172676574203d205f2c206c696e6b29203a207461726765743b0a20207d3b0a0a20206c696e6b2e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6b29203a20782424313b0a20207d3b0a0a20206c696e6b2e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c206c696e6b29203a20792424313b0a20207d3b0a0a20206c696e6b2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202828636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f292c206c696e6b29203a20636f6e746578743b0a20207d3b0a0a202072657475726e206c696e6b3b0a7d0a0a66756e6374696f6e206375727665486f72697a6f6e74616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f287830203d20287830202b20783129202f20322c2079302c2078302c2079312c2078312c207931293b0a7d0a0a66756e6374696f6e206375727665566572746963616c28636f6e746578742c2078302c2079302c2078312c20793129207b0a2020636f6e746578742e6d6f7665546f2878302c207930293b0a2020636f6e746578742e62657a6965724375727665546f2878302c207930203d20287930202b20793129202f20322c2078312c2079302c2078312c207931293b0a7d0a0a66756e6374696f6e20637572766552616469616c243128636f6e746578742c2078302c2079302c2078312c20793129207b0a2020766172207030203d20706f696e7452616469616c2878302c207930292c0a2020202020207031203d20706f696e7452616469616c2878302c207930203d20287930202b20793129202f2032292c0a2020202020207032203d20706f696e7452616469616c2878312c207930292c0a2020202020207033203d20706f696e7452616469616c2878312c207931293b0a2020636f6e746578742e6d6f7665546f2870305b305d2c2070305b315d293b0a2020636f6e746578742e62657a6965724375727665546f2870315b305d2c2070315b315d2c2070325b305d2c2070325b315d2c2070335b305d2c2070335b315d293b0a7d0a0a66756e6374696f6e206c696e6b486f72697a6f6e74616c2829207b0a202072657475726e206c696e6b286375727665486f72697a6f6e74616c293b0a7d0a0a66756e6374696f6e206c696e6b566572746963616c2829207b0a202072657475726e206c696e6b286375727665566572746963616c293b0a7d0a0a66756e6374696f6e206c696e6b52616469616c2829207b0a2020766172206c203d206c696e6b28637572766552616469616c2431293b0a20206c2e616e676c65203d206c2e782c2064656c657465206c2e783b0a20206c2e726164697573203d206c2e792c2064656c657465206c2e793b0a202072657475726e206c3b0a7d0a0a76617220636972636c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f207069293b0a20202020636f6e746578742e6d6f7665546f28722c2030293b0a20202020636f6e746578742e61726328302c20302c20722c20302c20746175293b0a20207d0a7d3b0a0a7661722063726f7373203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f203529202f20323b0a20202020636f6e746578742e6d6f7665546f282d33202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d72293b0a20202020636f6e746578742e6c696e65546f282d722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d33202a2072293b0a20202020636f6e746578742e6c696e65546f28722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c202d72293b0a20202020636f6e746578742e6c696e65546f2833202a20722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2072293b0a20202020636f6e746578742e6c696e65546f28722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2033202a2072293b0a20202020636f6e746578742e6c696e65546f282d722c2072293b0a20202020636f6e746578742e6c696e65546f282d33202a20722c2072293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722074616e3330203d204d6174682e737172742831202f2033293b0a7661722074616e33305f32203d2074616e3330202a20323b0a0a766172206469616d6f6e64203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d204d6174682e737172742873697a65202f2074616e33305f32292c0a202020202020202078203d2079202a2074616e33303b0a20202020636f6e746578742e6d6f7665546f28302c202d79293b0a20202020636f6e746578742e6c696e65546f28782c2030293b0a20202020636f6e746578742e6c696e65546f28302c2079293b0a20202020636f6e746578742e6c696e65546f282d782c2030293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a766172206b61203d20302e38393038313330393135323932383532323831303b0a766172206b72203d204d6174682e73696e287069202f20313029202f204d6174682e73696e2837202a207069202f203130293b0a766172206b78203d204d6174682e73696e28746175202f20313029202a206b723b0a766172206b79203d202d4d6174682e636f7328746175202f20313029202a206b723b0a0a7661722073746172203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202a206b61292c0a202020202020202078203d206b78202a20722c0a202020202020202079203d206b79202a20723b0a20202020636f6e746578742e6d6f7665546f28302c202d72293b0a20202020636f6e746578742e6c696e65546f28782c2079293b0a20202020666f7220287661722069203d20313b2069203c20353b202b2b6929207b0a2020202020207661722061203d20746175202a2069202f20352c0a2020202020202020202063203d204d6174682e636f732861292c0a2020202020202020202073203d204d6174682e73696e2861293b0a202020202020636f6e746578742e6c696e65546f2873202a20722c202d63202a2072293b0a202020202020636f6e746578742e6c696e65546f2863202a2078202d2073202a20792c2073202a2078202b2063202a2079293b0a202020207d0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a76617220737175617265203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722077203d204d6174682e737172742873697a65292c0a202020202020202078203d202d77202f20323b0a20202020636f6e746578742e7265637428782c20782c20772c2077293b0a20207d0a7d3b0a0a766172207371727433203d204d6174682e737172742833293b0a0a76617220747269616e676c65203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722079203d202d4d6174682e737172742873697a65202f20287371727433202a203329293b0a20202020636f6e746578742e6d6f7665546f28302c2079202a2032293b0a20202020636f6e746578742e6c696e65546f282d7371727433202a20792c202d79293b0a20202020636f6e746578742e6c696e65546f287371727433202a20792c202d79293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722063203d202d302e353b0a7661722073203d204d6174682e73717274283329202f20323b0a766172206b203d2031202f204d6174682e73717274283132293b0a7661722061203d20286b202f2032202b203129202a20333b0a0a76617220777965203d207b0a2020647261773a2066756e6374696f6e28636f6e746578742c2073697a6529207b0a202020207661722072203d204d6174682e737172742873697a65202f2061292c0a20202020202020207830203d2072202f20322c0a20202020202020207930203d2072202a206b2c0a20202020202020207831203d2078302c0a20202020202020207931203d2072202a206b202b20722c0a20202020202020207832203d202d78312c0a20202020202020207932203d2079313b0a20202020636f6e746578742e6d6f7665546f2878302c207930293b0a20202020636f6e746578742e6c696e65546f2878312c207931293b0a20202020636f6e746578742e6c696e65546f2878322c207932293b0a20202020636f6e746578742e6c696e65546f2863202a207830202d2073202a2079302c2073202a207830202b2063202a207930293b0a20202020636f6e746578742e6c696e65546f2863202a207831202d2073202a2079312c2073202a207831202b2063202a207931293b0a20202020636f6e746578742e6c696e65546f2863202a207832202d2073202a2079322c2073202a207832202b2063202a207932293b0a20202020636f6e746578742e6c696e65546f2863202a207830202b2073202a2079302c2063202a207930202d2073202a207830293b0a20202020636f6e746578742e6c696e65546f2863202a207831202b2073202a2079312c2063202a207931202d2073202a207831293b0a20202020636f6e746578742e6c696e65546f2863202a207832202b2073202a2079322c2063202a207932202d2073202a207832293b0a20202020636f6e746578742e636c6f73655061746828293b0a20207d0a7d3b0a0a7661722073796d626f6c73203d205b0a2020636972636c652c0a202063726f73732c0a20206469616d6f6e642c0a20207371756172652c0a2020737461722c0a2020747269616e676c652c0a20207779650a5d3b0a0a7661722073796d626f6c203d2066756e6374696f6e2829207b0a20207661722074797065203d20636f6e7374616e7428636972636c65292c0a20202020202073697a65203d20636f6e7374616e74283634292c0a202020202020636f6e74657874203d206e756c6c3b0a0a202066756e6374696f6e2073796d626f6c2829207b0a20202020766172206275666665723b0a202020206966202821636f6e746578742920636f6e74657874203d20627566666572203d206433506174682e7061746828293b0a20202020747970652e6170706c7928746869732c20617267756d656e7473292e6472617728636f6e746578742c202b73697a652e6170706c7928746869732c20617267756d656e747329293b0a2020202069662028627566666572292072657475726e20636f6e74657874203d206e756c6c2c20627566666572202b202222207c7c206e756c6c3b0a20207d0a0a202073796d626f6c2e74797065203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202874797065203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285f292c2073796d626f6c29203a20747970653b0a20207d3b0a0a202073796d626f6c2e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202873697a65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c2073796d626f6c29203a2073697a653b0a20207d3b0a0a202073796d626f6c2e636f6e74657874203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e74657874203d205f203d3d206e756c6c203f206e756c6c203a205f2c2073796d626f6c29203a20636f6e746578743b0a20207d3b0a0a202072657475726e2073796d626f6c3b0a7d3b0a0a766172206e6f6f70203d2066756e6374696f6e2829207b7d3b0a0a66756e6374696f6e20706f696e7428746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a202020202832202a20746861742e5f7830202b20746861742e5f783129202f20332c0a202020202832202a20746861742e5f7930202b20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2032202a20746861742e5f783129202f20332c0a2020202028746861742e5f7930202b2032202a20746861742e5f793129202f20332c0a2020202028746861742e5f7830202b2034202a20746861742e5f7831202b207829202f20362c0a2020202028746861742e5f7930202b2034202a20746861742e5f7931202b207929202f20360a2020293b0a7d0a0a66756e6374696f6e20426173697328636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369732e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520333a20706f696e7428746869732c20746869732e5f78312c20746869732e5f7931293b202f2f2070726f636565640a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f636f6e746578742e6c696e65546f282835202a20746869732e5f7830202b20746869732e5f783129202f20362c202835202a20746869732e5f7930202b20746869732e5f793129202f2036293b202f2f2070726f636565640a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a766172206261736973203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e657720426173697328636f6e74657874293b0a7d3b0a0a66756e6374696f6e204261736973436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4261736973436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7832202b2032202a20746869732e5f783329202f20332c2028746869732e5f7932202b2032202a20746869732e5f793329202f2033293b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f2828746869732e5f7833202b2032202a20746869732e5f783229202f20332c2028746869732e5f7933202b2032202a20746869732e5f793229202f2033293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7832203d20782c20746869732e5f7932203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7834203d20782c20746869732e5f7934203d20793b20746869732e5f636f6e746578742e6d6f7665546f2828746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f2036293b20627265616b3b0a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a766172206261736973436c6f736564203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204261736973436c6f73656428636f6e74657874293b0a7d3b0a0a66756e6374696f6e2042617369734f70656e28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a42617369734f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20766172207830203d2028746869732e5f7830202b2034202a20746869732e5f7831202b207829202f20362c207930203d2028746869732e5f7930202b2034202a20746869732e5f7931202b207929202f20363b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f2878302c20793029203a20746869732e5f636f6e746578742e6d6f7665546f2878302c207930293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e7428746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20207d0a7d3b0a0a7661722062617369734f70656e203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e65772042617369734f70656e28636f6e74657874293b0a7d3b0a0a66756e6374696f6e2042756e646c6528636f6e746578742c206265746129207b0a2020746869732e5f6261736973203d206e657720426173697328636f6e74657874293b0a2020746869732e5f62657461203d20626574613b0a7d0a0a42756e646c652e70726f746f74797065203d207b0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20202020746869732e5f62617369732e6c696e65537461727428293b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206a203d20782e6c656e677468202d20313b0a0a20202020696620286a203e203029207b0a202020202020766172207830203d20785b305d2c0a202020202020202020207930203d20795b305d2c0a202020202020202020206478203d20785b6a5d202d2078302c0a202020202020202020206479203d20795b6a5d202d2079302c0a2020202020202020202069203d202d312c0a20202020202020202020743b0a0a2020202020207768696c6520282b2b69203c3d206a29207b0a202020202020202074203d2069202f206a3b0a2020202020202020746869732e5f62617369732e706f696e74280a20202020202020202020746869732e5f62657461202a20785b695d202b202831202d20746869732e5f6265746129202a20287830202b2074202a206478292c0a20202020202020202020746869732e5f62657461202a20795b695d202b202831202d20746869732e5f6265746129202a20287930202b2074202a206479290a2020202020202020293b0a2020202020207d0a202020207d0a0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20202020746869732e5f62617369732e6c696e65456e6428293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a7661722062756e646c65203d20282866756e6374696f6e20637573746f6d286265746129207b0a0a202066756e6374696f6e2062756e646c6528636f6e7465787429207b0a2020202072657475726e2062657461203d3d3d2031203f206e657720426173697328636f6e7465787429203a206e65772042756e646c6528636f6e746578742c2062657461293b0a20207d0a0a202062756e646c652e62657461203d2066756e6374696f6e286265746129207b0a2020202072657475726e20637573746f6d282b62657461293b0a20207d3b0a0a202072657475726e2062756e646c653b0a7d292928302e3835293b0a0a66756e6374696f6e20706f696e74243128746861742c20782c207929207b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f280a20202020746861742e5f7831202b20746861742e5f6b202a2028746861742e5f7832202d20746861742e5f7830292c0a20202020746861742e5f7931202b20746861742e5f6b202a2028746861742e5f7932202d20746861742e5f7930292c0a20202020746861742e5f7832202b20746861742e5f6b202a2028746861742e5f7831202d2078292c0a20202020746861742e5f7932202b20746861742e5f6b202a2028746861742e5f7931202d2079292c0a20202020746861742e5f78322c0a20202020746861742e5f79320a2020293b0a7d0a0a66756e6374696f6e2043617264696e616c28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20706f696e74243128746869732c20746869732e5f78312c20746869732e5f7931293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f7831203d20782c20746869732e5f7931203d20793b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e2043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c436c6f736564203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c436c6f73656428636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e2043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e29207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f6b203d202831202d2074656e73696f6e29202f20363b0a7d0a0a43617264696e616c4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243128746869732c20782c2079293b20627265616b3b0a202020207d0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a7661722063617264696e616c4f70656e203d20282866756e6374696f6e20637573746f6d2874656e73696f6e29207b0a0a202066756e6374696f6e2063617264696e616c28636f6e7465787429207b0a2020202072657475726e206e65772043617264696e616c4f70656e28636f6e746578742c2074656e73696f6e293b0a20207d0a0a202063617264696e616c2e74656e73696f6e203d2066756e6374696f6e2874656e73696f6e29207b0a2020202072657475726e20637573746f6d282b74656e73696f6e293b0a20207d3b0a0a202072657475726e2063617264696e616c3b0a7d29292830293b0a0a66756e6374696f6e20706f696e74243228746861742c20782c207929207b0a2020766172207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020207832203d20746861742e5f78322c0a2020202020207932203d20746861742e5f79323b0a0a202069662028746861742e5f6c30315f61203e20657073696c6f6e29207b0a202020207661722061203d2032202a20746861742e5f6c30315f3261202b2033202a20746861742e5f6c30315f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206e203d2033202a20746861742e5f6c30315f61202a2028746861742e5f6c30315f61202b20746861742e5f6c31325f61293b0a202020207831203d20287831202a2061202d20746861742e5f7830202a20746861742e5f6c31325f3261202b20746861742e5f7832202a20746861742e5f6c30315f326129202f206e3b0a202020207931203d20287931202a2061202d20746861742e5f7930202a20746861742e5f6c31325f3261202b20746861742e5f7932202a20746861742e5f6c30315f326129202f206e3b0a20207d0a0a202069662028746861742e5f6c32335f61203e20657073696c6f6e29207b0a202020207661722062203d2032202a20746861742e5f6c32335f3261202b2033202a20746861742e5f6c32335f61202a20746861742e5f6c31325f61202b20746861742e5f6c31325f32612c0a20202020202020206d203d2033202a20746861742e5f6c32335f61202a2028746861742e5f6c32335f61202b20746861742e5f6c31325f61293b0a202020207832203d20287832202a2062202b20746861742e5f7831202a20746861742e5f6c32335f3261202d2078202a20746861742e5f6c31325f326129202f206d3b0a202020207932203d20287932202a2062202b20746861742e5f7931202a20746861742e5f6c32335f3261202d2079202a20746861742e5f6c31325f326129202f206d3b0a20207d0a0a2020746861742e5f636f6e746578742e62657a6965724375727665546f2878312c2079312c2078322c2079322c20746861742e5f78322c20746861742e5f7932293b0a7d0a0a66756e6374696f6e204361746d756c6c526f6d28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e706f696e7428746869732e5f78322c20746869732e5f7932293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d28636f6e746578742c20616c70686129203a206e65772043617264696e616c28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d20746869732e5f7833203d20746869732e5f7834203d20746869732e5f7835203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d20746869732e5f7933203d20746869732e5f7934203d20746869732e5f7935203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520313a207b0a2020202020202020746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520323a207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202020202020627265616b3b0a2020202020207d0a2020202020206361736520333a207b0a2020202020202020746869732e706f696e7428746869732e5f78332c20746869732e5f7933293b0a2020202020202020746869732e706f696e7428746869732e5f78342c20746869732e5f7934293b0a2020202020202020746869732e706f696e7428746869732e5f78352c20746869732e5f7935293b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f7833203d20782c20746869732e5f7933203d20793b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f7834203d20782c20746869732e5f7934203d2079293b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f7835203d20782c20746869732e5f7935203d20793b20627265616b3b0a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d436c6f736564203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d436c6f73656428636f6e746578742c20616c70686129203a206e65772043617264696e616c436c6f73656428636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f616c706861203d20616c7068613b0a7d0a0a4361746d756c6c526f6d4f70656e2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d20746869732e5f7832203d0a20202020746869732e5f7930203d20746869732e5f7931203d20746869732e5f7932203d204e614e3b0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f61203d20746869732e5f6c32335f61203d0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f3261203d20746869732e5f6c32335f3261203d0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2033292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a0a2020202069662028746869732e5f706f696e7429207b0a20202020202076617220783233203d20746869732e5f7832202d20782c0a20202020202020202020793233203d20746869732e5f7932202d20793b0a202020202020746869732e5f6c32335f61203d204d6174682e7371727428746869732e5f6c32335f3261203d204d6174682e706f7728783233202a20783233202b20793233202a207932332c20746869732e5f616c70686129293b0a202020207d0a0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78322c20746869732e5f793229203a20746869732e5f636f6e746578742e6d6f7665546f28746869732e5f78322c20746869732e5f7932293b20627265616b3b0a2020202020206361736520333a20746869732e5f706f696e74203d20343b202f2f2070726f636565640a20202020202064656661756c743a20706f696e74243228746869732c20782c2079293b20627265616b3b0a202020207d0a0a20202020746869732e5f6c30315f61203d20746869732e5f6c31325f612c20746869732e5f6c31325f61203d20746869732e5f6c32335f613b0a20202020746869732e5f6c30315f3261203d20746869732e5f6c31325f32612c20746869732e5f6c31325f3261203d20746869732e5f6c32335f32613b0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20746869732e5f78322c20746869732e5f7832203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20746869732e5f79322c20746869732e5f7932203d20793b0a20207d0a7d3b0a0a766172206361746d756c6c526f6d4f70656e203d20282866756e6374696f6e20637573746f6d28616c70686129207b0a0a202066756e6374696f6e206361746d756c6c526f6d28636f6e7465787429207b0a2020202072657475726e20616c706861203f206e6577204361746d756c6c526f6d4f70656e28636f6e746578742c20616c70686129203a206e65772043617264696e616c4f70656e28636f6e746578742c2030293b0a20207d0a0a20206361746d756c6c526f6d2e616c706861203d2066756e6374696f6e28616c70686129207b0a2020202072657475726e20637573746f6d282b616c706861293b0a20207d3b0a0a202072657475726e206361746d756c6c526f6d3b0a7d292928302e35293b0a0a66756e6374696f6e204c696e656172436c6f73656428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4c696e656172436c6f7365642e70726f746f74797065203d207b0a20206172656153746172743a206e6f6f702c0a202061726561456e643a206e6f6f702c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e636c6f73655061746828293b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a2020202069662028746869732e5f706f696e742920746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020656c736520746869732e5f706f696e74203d20312c20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b0a20207d0a7d3b0a0a766172206c696e656172436c6f736564203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204c696e656172436c6f73656428636f6e74657874293b0a7d3b0a0a66756e6374696f6e207369676e287829207b0a202072657475726e2078203c2030203f202d31203a20313b0a7d0a0a2f2f2043616c63756c6174652074686520736c6f706573206f66207468652074616e67656e747320284865726d6974652d7479706520696e746572706f6c6174696f6e29206261736564206f6e0a2f2f2074686520666f6c6c6f77696e672070617065723a205374656666656e2c204d2e20313939302e20412053696d706c65204d6574686f6420666f72204d6f6e6f746f6e69630a2f2f20496e746572706f6c6174696f6e20696e204f6e652044696d656e73696f6e2e20417374726f6e6f6d7920616e6420417374726f706879736963732c20566f6c2e203233392c204e4f2e0a2f2f204e4f56284949292c20502e203434332c20313939302e0a66756e6374696f6e20736c6f70653328746861742c2078322c20793229207b0a2020766172206830203d20746861742e5f7831202d20746861742e5f78302c0a2020202020206831203d207832202d20746861742e5f78312c0a2020202020207330203d2028746861742e5f7931202d20746861742e5f793029202f20286830207c7c206831203c2030202626202d30292c0a2020202020207331203d20287932202d20746861742e5f793129202f20286831207c7c206830203c2030202626202d30292c0a20202020202070203d20287330202a206831202b207331202a20683029202f20286830202b206831293b0a202072657475726e20287369676e28733029202b207369676e2873312929202a204d6174682e6d696e284d6174682e616273287330292c204d6174682e616273287331292c20302e35202a204d6174682e61627328702929207c7c20303b0a7d0a0a2f2f2043616c63756c6174652061206f6e652d736964656420736c6f70652e0a66756e6374696f6e20736c6f70653228746861742c207429207b0a20207661722068203d20746861742e5f7831202d20746861742e5f78303b0a202072657475726e2068203f202833202a2028746861742e5f7931202d20746861742e5f793029202f2068202d207429202f2032203a20743b0a7d0a0a2f2f204163636f7264696e6720746f2068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43756269635f4865726d6974655f73706c696e6523526570726573656e746174696f6e730a2f2f2022796f752063616e2065787072657373206375626963204865726d69746520696e746572706f6c6174696f6e20696e207465726d73206f662063756269632042c3a97a696572206375727665730a2f2f2077697468207265737065637420746f2074686520666f75722076616c7565732070302c207030202b206d30202f20332c207031202d206d31202f20332c207031222e0a66756e6374696f6e20706f696e74243328746861742c2074302c20743129207b0a2020766172207830203d20746861742e5f78302c0a2020202020207930203d20746861742e5f79302c0a2020202020207831203d20746861742e5f78312c0a2020202020207931203d20746861742e5f79312c0a2020202020206478203d20287831202d20783029202f20333b0a2020746861742e5f636f6e746578742e62657a6965724375727665546f287830202b2064782c207930202b206478202a2074302c207831202d2064782c207931202d206478202a2074312c2078312c207931293b0a7d0a0a66756e6374696f6e204d6f6e6f746f6e655828636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4d6f6e6f746f6e65582e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f7830203d20746869732e5f7831203d0a20202020746869732e5f7930203d20746869732e5f7931203d0a20202020746869732e5f7430203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520323a20746869732e5f636f6e746578742e6c696e65546f28746869732e5f78312c20746869732e5f7931293b20627265616b3b0a2020202020206361736520333a20706f696e74243328746869732c20746869732e5f74302c20736c6f70653228746869732c20746869732e5f743029293b20627265616b3b0a202020207d0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020766172207431203d204e614e3b0a0a2020202078203d202b782c2079203d202b793b0a202020206966202878203d3d3d20746869732e5f78312026262079203d3d3d20746869732e5f7931292072657475726e3b202f2f2049676e6f726520636f696e636964656e7420706f696e74732e0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b20627265616b3b0a2020202020206361736520323a20746869732e5f706f696e74203d20333b20706f696e74243328746869732c20736c6f70653228746869732c207431203d20736c6f70653328746869732c20782c207929292c207431293b20627265616b3b0a20202020202064656661756c743a20706f696e74243328746869732c20746869732e5f74302c207431203d20736c6f70653328746869732c20782c207929293b20627265616b3b0a202020207d0a0a20202020746869732e5f7830203d20746869732e5f78312c20746869732e5f7831203d20783b0a20202020746869732e5f7930203d20746869732e5f79312c20746869732e5f7931203d20793b0a20202020746869732e5f7430203d2074313b0a20207d0a7d3b0a0a66756e6374696f6e204d6f6e6f746f6e655928636f6e7465787429207b0a2020746869732e5f636f6e74657874203d206e6577205265666c656374436f6e7465787428636f6e74657874293b0a7d0a0a284d6f6e6f746f6e65592e70726f746f74797065203d204f626a6563742e637265617465284d6f6e6f746f6e65582e70726f746f7479706529292e706f696e74203d2066756e6374696f6e28782c207929207b0a20204d6f6e6f746f6e65582e70726f746f747970652e706f696e742e63616c6c28746869732c20792c2078293b0a7d3b0a0a66756e6374696f6e205265666c656374436f6e7465787428636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a5265666c656374436f6e746578742e70726f746f74797065203d207b0a20206d6f7665546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6d6f7665546f28792c2078293b207d2c0a2020636c6f7365506174683a2066756e6374696f6e2829207b20746869732e5f636f6e746578742e636c6f73655061746828293b207d2c0a20206c696e65546f3a2066756e6374696f6e28782c207929207b20746869732e5f636f6e746578742e6c696e65546f28792c2078293b207d2c0a202062657a6965724375727665546f3a2066756e6374696f6e2878312c2079312c2078322c2079322c20782c207929207b20746869732e5f636f6e746578742e62657a6965724375727665546f2879312c2078312c2079322c2078322c20792c2078293b207d0a7d3b0a0a66756e6374696f6e206d6f6e6f746f6e655828636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655828636f6e74657874293b0a7d0a0a66756e6374696f6e206d6f6e6f746f6e655928636f6e7465787429207b0a202072657475726e206e6577204d6f6e6f746f6e655928636f6e74657874293b0a7d0a0a66756e6374696f6e204e61747572616c28636f6e7465787429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a7d0a0a4e61747572616c2e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d205b5d3b0a20202020746869732e5f79203d205b5d3b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020207661722078203d20746869732e5f782c0a202020202020202079203d20746869732e5f792c0a20202020202020206e203d20782e6c656e6774683b0a0a20202020696620286e29207b0a202020202020746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28785b305d2c20795b305d29203a20746869732e5f636f6e746578742e6d6f7665546f28785b305d2c20795b305d293b0a202020202020696620286e203d3d3d203229207b0a2020202020202020746869732e5f636f6e746578742e6c696e65546f28785b315d2c20795b315d293b0a2020202020207d20656c7365207b0a2020202020202020766172207078203d20636f6e74726f6c506f696e74732878292c0a2020202020202020202020207079203d20636f6e74726f6c506f696e74732879293b0a2020202020202020666f722028766172206930203d20302c206931203d20313b206931203c206e3b202b2b69302c202b2b693129207b0a20202020202020202020746869732e5f636f6e746578742e62657a6965724375727665546f2870785b305d5b69305d2c2070795b305d5b69305d2c2070785b315d5b69305d2c2070795b315d5b69305d2c20785b69315d2c20795b69315d293b0a20202020202020207d0a2020202020207d0a202020207d0a0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d2030202626206e203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a20202020746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20202020746869732e5f78203d20746869732e5f79203d206e756c6c3b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a20202020746869732e5f782e70757368282b78293b0a20202020746869732e5f792e70757368282b79293b0a20207d0a7d3b0a0a2f2f205365652068747470733a2f2f7777772e7061727469636c65696e63656c6c2e636f6d2f323031322f62657a6965722d73706c696e65732f20666f722064657269766174696f6e2e0a66756e6374696f6e20636f6e74726f6c506f696e7473287829207b0a202076617220692c0a2020202020206e203d20782e6c656e677468202d20312c0a2020202020206d2c0a20202020202061203d206e6577204172726179286e292c0a20202020202062203d206e6577204172726179286e292c0a20202020202072203d206e6577204172726179286e293b0a2020615b305d203d20302c20625b305d203d20322c20725b305d203d20785b305d202b2032202a20785b315d3b0a2020666f72202869203d20313b2069203c206e202d20313b202b2b692920615b695d203d20312c20625b695d203d20342c20725b695d203d2034202a20785b695d202b2032202a20785b69202b20315d3b0a2020615b6e202d20315d203d20322c20625b6e202d20315d203d20372c20725b6e202d20315d203d2038202a20785b6e202d20315d202b20785b6e5d3b0a2020666f72202869203d20313b2069203c206e3b202b2b6929206d203d20615b695d202f20625b69202d20315d2c20625b695d202d3d206d2c20725b695d202d3d206d202a20725b69202d20315d3b0a2020615b6e202d20315d203d20725b6e202d20315d202f20625b6e202d20315d3b0a2020666f72202869203d206e202d20323b2069203e3d20303b202d2d692920615b695d203d2028725b695d202d20615b69202b20315d29202f20625b695d3b0a2020625b6e202d20315d203d2028785b6e5d202b20615b6e202d20315d29202f20323b0a2020666f72202869203d20303b2069203c206e202d20313b202b2b692920625b695d203d2032202a20785b69202b20315d202d20615b69202b20315d3b0a202072657475726e205b612c20625d3b0a7d0a0a766172206e61747572616c203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577204e61747572616c28636f6e74657874293b0a7d3b0a0a66756e6374696f6e205374657028636f6e746578742c207429207b0a2020746869732e5f636f6e74657874203d20636f6e746578743b0a2020746869732e5f74203d20743b0a7d0a0a537465702e70726f746f74797065203d207b0a20206172656153746172743a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d20303b0a20207d2c0a202061726561456e643a2066756e6374696f6e2829207b0a20202020746869732e5f6c696e65203d204e614e3b0a20207d2c0a20206c696e6553746172743a2066756e6374696f6e2829207b0a20202020746869732e5f78203d20746869732e5f79203d204e614e3b0a20202020746869732e5f706f696e74203d20303b0a20207d2c0a20206c696e65456e643a2066756e6374696f6e2829207b0a202020206966202830203c20746869732e5f7420262620746869732e5f74203c203120262620746869732e5f706f696e74203d3d3d20322920746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c20746869732e5f79293b0a2020202069662028746869732e5f6c696e65207c7c2028746869732e5f6c696e6520213d3d203020262620746869732e5f706f696e74203d3d3d2031292920746869732e5f636f6e746578742e636c6f73655061746828293b0a2020202069662028746869732e5f6c696e65203e3d20302920746869732e5f74203d2031202d20746869732e5f742c20746869732e5f6c696e65203d2031202d20746869732e5f6c696e653b0a20207d2c0a2020706f696e743a2066756e6374696f6e28782c207929207b0a2020202078203d202b782c2079203d202b793b0a202020207377697463682028746869732e5f706f696e7429207b0a2020202020206361736520303a20746869732e5f706f696e74203d20313b20746869732e5f6c696e65203f20746869732e5f636f6e746578742e6c696e65546f28782c207929203a20746869732e5f636f6e746578742e6d6f7665546f28782c2079293b20627265616b3b0a2020202020206361736520313a20746869732e5f706f696e74203d20323b202f2f2070726f636565640a20202020202064656661756c743a207b0a202020202020202069662028746869732e5f74203c3d203029207b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28746869732e5f782c2079293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f28782c2079293b0a20202020202020207d20656c7365207b0a20202020202020202020766172207831203d20746869732e5f78202a202831202d20746869732e5f7429202b2078202a20746869732e5f743b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c20746869732e5f79293b0a20202020202020202020746869732e5f636f6e746578742e6c696e65546f2878312c2079293b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20202020746869732e5f78203d20782c20746869732e5f79203d20793b0a20207d0a7d3b0a0a7661722073746570203d2066756e6374696f6e28636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c20302e35293b0a7d3b0a0a66756e6374696f6e20737465704265666f726528636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2030293b0a7d0a0a66756e6374696f6e2073746570416674657228636f6e7465787429207b0a202072657475726e206e6577205374657028636f6e746578742c2031293b0a7d0a0a766172206e6f6e65203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f7220287661722069203d20312c206a2c2073302c207331203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020207330203d2073312c207331203d207365726965735b6f726465725b695d5d3b0a20202020666f7220286a203d20303b206a203c206d3b202b2b6a29207b0a20202020202073315b6a5d5b315d202b3d2073315b6a5d5b305d203d2069734e614e2873305b6a5d5b315d29203f2073305b6a5d5b305d203a2073305b6a5d5b315d3b0a202020207d0a20207d0a7d3b0a0a766172206e6f6e652431203d2066756e6374696f6e2873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c206f203d206e6577204172726179286e293b0a20207768696c6520282d2d6e203e3d203029206f5b6e5d203d206e3b0a202072657475726e206f3b0a7d3b0a0a66756e6374696f6e20737461636b56616c756528642c206b657929207b0a202072657475726e20645b6b65795d3b0a7d0a0a76617220737461636b203d2066756e6374696f6e2829207b0a2020766172206b657973203d20636f6e7374616e74285b5d292c0a2020202020206f72646572203d206e6f6e6524312c0a2020202020206f6666736574203d206e6f6e652c0a20202020202076616c7565203d20737461636b56616c75653b0a0a202066756e6374696f6e20737461636b286461746129207b0a20202020766172206b7a203d206b6579732e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020692c0a20202020202020206d203d20646174612e6c656e6774682c0a20202020202020206e203d206b7a2e6c656e6774682c0a2020202020202020737a203d206e6577204172726179286e292c0a20202020202020206f7a3b0a0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020202020666f722028766172206b69203d206b7a5b695d2c207369203d20737a5b695d203d206e6577204172726179286d292c206a203d20302c2073696a3b206a203c206d3b202b2b6a29207b0a202020202020202073695b6a5d203d2073696a203d205b302c202b76616c756528646174615b6a5d2c206b692c206a2c2064617461295d3b0a202020202020202073696a2e64617461203d20646174615b6a5d3b0a2020202020207d0a20202020202073692e6b6579203d206b693b0a202020207d0a0a20202020666f72202869203d20302c206f7a203d206f7264657228737a293b2069203c206e3b202b2b6929207b0a202020202020737a5b6f7a5b695d5d2e696e646578203d20693b0a202020207d0a0a202020206f666673657428737a2c206f7a293b0a2020202072657475726e20737a3b0a20207d0a0a2020737461636b2e6b657973203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286b657973203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7428736c6963652e63616c6c285f29292c20737461636b29203a206b6579733b0a20207d3b0a0a2020737461636b2e76616c7565203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202876616c7565203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20737461636b29203a2076616c75653b0a20207d3b0a0a2020737461636b2e6f72646572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f72646572203d205f203d3d206e756c6c203f206e6f6e652431203a20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e7428736c6963652e63616c6c285f29292c20737461636b29203a206f726465723b0a20207d3b0a0a2020737461636b2e6f6666736574203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286f6666736574203d205f203d3d206e756c6c203f206e6f6e65203a205f2c20737461636b29203a206f66667365743b0a20207d3b0a0a202072657475726e20737461636b3b0a7d3b0a0a76617220657870616e64203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f72202876617220692c206e2c206a203d20302c206d203d207365726965735b305d2e6c656e6774682c20793b206a203c206d3b202b2b6a29207b0a20202020666f72202879203d2069203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202069662028792920666f72202869203d20303b2069203c206e3b202b2b6929207365726965735b695d5b6a5d5b315d202f3d20793b0a20207d0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220646976657267696e67203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203129292072657475726e3b0a2020666f72202876617220692c206a203d20302c20642c2064792c2079702c20796e2c206e2c206d203d207365726965735b6f726465725b305d5d2e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287970203d20796e203d20302c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286479203d202864203d207365726965735b6f726465725b695d5d5b6a5d295b315d202d20645b305d29203e3d203029207b0a2020202020202020645b305d203d2079702c20645b315d203d207970202b3d2064793b0a2020202020207d20656c736520696620286479203c203029207b0a2020202020202020645b315d203d20796e2c20645b305d203d20796e202b3d2064793b0a2020202020207d20656c7365207b0a2020202020202020645b305d203d2079703b0a2020202020207d0a202020207d0a20207d0a7d3b0a0a7661722073696c686f7565747465203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029292072657475726e3b0a2020666f722028766172206a203d20302c207330203d207365726965735b6f726465725b305d5d2c206e2c206d203d2073302e6c656e6774683b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c2079203d20303b2069203c206e3b202b2b69292079202b3d207365726965735b695d5b6a5d5b315d207c7c20303b0a2020202073305b6a5d5b315d202b3d2073305b6a5d5b305d203d202d79202f20323b0a20207d0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220776967676c65203d2066756e6374696f6e287365726965732c206f7264657229207b0a2020696620282128286e203d207365726965732e6c656e67746829203e203029207c7c202128286d203d20287330203d207365726965735b6f726465725b305d5d292e6c656e67746829203e203029292072657475726e3b0a2020666f7220287661722079203d20302c206a203d20312c2073302c206d2c206e3b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722069203d20302c207331203d20302c207332203d20303b2069203c206e3b202b2b6929207b0a202020202020766172207369203d207365726965735b6f726465725b695d5d2c0a2020202020202020202073696a30203d2073695b6a5d5b315d207c7c20302c0a2020202020202020202073696a31203d2073695b6a202d20315d5b315d207c7c20302c0a202020202020202020207333203d202873696a30202d2073696a3129202f20323b0a202020202020666f722028766172206b203d20303b206b203c20693b202b2b6b29207b0a202020202020202076617220736b203d207365726965735b6f726465725b6b5d5d2c0a202020202020202020202020736b6a30203d20736b5b6a5d5b315d207c7c20302c0a202020202020202020202020736b6a31203d20736b5b6a202d20315d5b315d207c7c20303b0a20202020202020207333202b3d20736b6a30202d20736b6a313b0a2020202020207d0a2020202020207331202b3d2073696a302c207332202b3d207333202a2073696a303b0a202020207d0a2020202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20202020696620287331292079202d3d207332202f2073313b0a20207d0a202073305b6a202d20315d5b315d202b3d2073305b6a202d20315d5b305d203d20793b0a20206e6f6e65287365726965732c206f72646572293b0a7d3b0a0a76617220617363656e64696e67203d2066756e6374696f6e2873657269657329207b0a20207661722073756d73203d207365726965732e6d61702873756d293b0a202072657475726e206e6f6e65243128736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b615d202d2073756d735b625d3b207d293b0a7d3b0a0a66756e6374696f6e2073756d2873657269657329207b0a20207661722073203d20302c2069203d202d312c206e203d207365726965732e6c656e6774682c20763b0a20207768696c6520282b2b69203c206e29206966202876203d202b7365726965735b695d5b315d292073202b3d20763b0a202072657475726e20733b0a7d0a0a7661722064657363656e64696e672431203d2066756e6374696f6e2873657269657329207b0a202072657475726e20617363656e64696e6728736572696573292e7265766572736528293b0a7d3b0a0a76617220696e736964654f7574203d2066756e6374696f6e2873657269657329207b0a2020766172206e203d207365726965732e6c656e6774682c0a202020202020692c0a2020202020206a2c0a20202020202073756d73203d207365726965732e6d61702873756d292c0a2020202020206f72646572203d206e6f6e65243128736572696573292e736f72742866756e6374696f6e28612c206229207b2072657475726e2073756d735b625d202d2073756d735b615d3b207d292c0a202020202020746f70203d20302c0a202020202020626f74746f6d203d20302c0a202020202020746f7073203d205b5d2c0a202020202020626f74746f6d73203d205b5d3b0a0a2020666f72202869203d20303b2069203c206e3b202b2b6929207b0a202020206a203d206f726465725b695d3b0a2020202069662028746f70203c20626f74746f6d29207b0a202020202020746f70202b3d2073756d735b6a5d3b0a202020202020746f70732e70757368286a293b0a202020207d20656c7365207b0a202020202020626f74746f6d202b3d2073756d735b6a5d3b0a202020202020626f74746f6d732e70757368286a293b0a202020207d0a20207d0a0a202072657475726e20626f74746f6d732e7265766572736528292e636f6e63617428746f7073293b0a7d3b0a0a7661722072657665727365203d2066756e6374696f6e2873657269657329207b0a202072657475726e206e6f6e65243128736572696573292e7265766572736528293b0a7d3b0a0a6578706f7274732e617263203d206172633b0a6578706f7274732e61726561203d20617265613b0a6578706f7274732e6c696e65203d206c696e653b0a6578706f7274732e706965203d207069653b0a6578706f7274732e6172656152616469616c203d206172656152616469616c3b0a6578706f7274732e72616469616c41726561203d206172656152616469616c3b0a6578706f7274732e6c696e6552616469616c203d206c696e6552616469616c24313b0a6578706f7274732e72616469616c4c696e65203d206c696e6552616469616c24313b0a6578706f7274732e706f696e7452616469616c203d20706f696e7452616469616c3b0a6578706f7274732e6c696e6b486f72697a6f6e74616c203d206c696e6b486f72697a6f6e74616c3b0a6578706f7274732e6c696e6b566572746963616c203d206c696e6b566572746963616c3b0a6578706f7274732e6c696e6b52616469616c203d206c696e6b52616469616c3b0a6578706f7274732e73796d626f6c203d2073796d626f6c3b0a6578706f7274732e73796d626f6c73203d2073796d626f6c733b0a6578706f7274732e73796d626f6c436972636c65203d20636972636c653b0a6578706f7274732e73796d626f6c43726f7373203d2063726f73733b0a6578706f7274732e73796d626f6c4469616d6f6e64203d206469616d6f6e643b0a6578706f7274732e73796d626f6c537175617265203d207371756172653b0a6578706f7274732e73796d626f6c53746172203d20737461723b0a6578706f7274732e73796d626f6c547269616e676c65203d20747269616e676c653b0a6578706f7274732e73796d626f6c577965203d207779653b0a6578706f7274732e63757276654261736973436c6f736564203d206261736973436c6f7365643b0a6578706f7274732e637572766542617369734f70656e203d2062617369734f70656e3b0a6578706f7274732e63757276654261736973203d2062617369733b0a6578706f7274732e637572766542756e646c65203d2062756e646c653b0a6578706f7274732e637572766543617264696e616c436c6f736564203d2063617264696e616c436c6f7365643b0a6578706f7274732e637572766543617264696e616c4f70656e203d2063617264696e616c4f70656e3b0a6578706f7274732e637572766543617264696e616c203d2063617264696e616c3b0a6578706f7274732e63757276654361746d756c6c526f6d436c6f736564203d206361746d756c6c526f6d436c6f7365643b0a6578706f7274732e63757276654361746d756c6c526f6d4f70656e203d206361746d756c6c526f6d4f70656e3b0a6578706f7274732e63757276654361746d756c6c526f6d203d206361746d756c6c526f6d3b0a6578706f7274732e63757276654c696e656172436c6f736564203d206c696e656172436c6f7365643b0a6578706f7274732e63757276654c696e656172203d2063757276654c696e6561723b0a6578706f7274732e63757276654d6f6e6f746f6e6558203d206d6f6e6f746f6e65583b0a6578706f7274732e63757276654d6f6e6f746f6e6559203d206d6f6e6f746f6e65593b0a6578706f7274732e63757276654e61747572616c203d206e61747572616c3b0a6578706f7274732e637572766553746570203d20737465703b0a6578706f7274732e6375727665537465704166746572203d207374657041667465723b0a6578706f7274732e6375727665537465704265666f7265203d20737465704265666f72653b0a6578706f7274732e737461636b203d20737461636b3b0a6578706f7274732e737461636b4f6666736574457870616e64203d20657870616e643b0a6578706f7274732e737461636b4f6666736574446976657267696e67203d20646976657267696e673b0a6578706f7274732e737461636b4f66667365744e6f6e65203d206e6f6e653b0a6578706f7274732e737461636b4f666673657453696c686f7565747465203d2073696c686f75657474653b0a6578706f7274732e737461636b4f6666736574576967676c65203d20776967676c653b0a6578706f7274732e737461636b4f72646572417363656e64696e67203d20617363656e64696e673b0a6578706f7274732e737461636b4f7264657244657363656e64696e67203d2064657363656e64696e6724313b0a6578706f7274732e737461636b4f72646572496e736964654f7574203d20696e736964654f75743b0a6578706f7274732e737461636b4f726465724e6f6e65203d206e6f6e6524313b0a6578706f7274732e737461636b4f7264657252657665727365203d20726576657273653b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d70617468223a35347d5d2c36333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d652d666f726d61742f2056657273696f6e20322e312e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d74696d65272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d74696d65275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643354696d6529207b202775736520737472696374273b0a0a66756e6374696f6e206c6f63616c44617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e65772044617465282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a20202020646174652e73657446756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c293b0a7d0a0a66756e6374696f6e2075746344617465286429207b0a20206966202830203c3d20642e7920262620642e79203c2031303029207b0a202020207661722064617465203d206e6577204461746528446174652e555443282d312c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a20202020646174652e73657455544346756c6c5965617228642e79293b0a2020202072657475726e20646174653b0a20207d0a202072657475726e206e6577204461746528446174652e55544328642e792c20642e6d2c20642e642c20642e482c20642e4d2c20642e532c20642e4c29293b0a7d0a0a66756e6374696f6e206e657759656172287929207b0a202072657475726e207b793a20792c206d3a20302c20643a20312c20483a20302c204d3a20302c20533a20302c204c3a20307d3b0a7d0a0a66756e6374696f6e20666f726d61744c6f63616c65286c6f63616c6529207b0a2020766172206c6f63616c655f6461746554696d65203d206c6f63616c652e6461746554696d652c0a2020202020206c6f63616c655f64617465203d206c6f63616c652e646174652c0a2020202020206c6f63616c655f74696d65203d206c6f63616c652e74696d652c0a2020202020206c6f63616c655f706572696f6473203d206c6f63616c652e706572696f64732c0a2020202020206c6f63616c655f7765656b64617973203d206c6f63616c652e646179732c0a2020202020206c6f63616c655f73686f72745765656b64617973203d206c6f63616c652e73686f7274446179732c0a2020202020206c6f63616c655f6d6f6e746873203d206c6f63616c652e6d6f6e7468732c0a2020202020206c6f63616c655f73686f72744d6f6e746873203d206c6f63616c652e73686f72744d6f6e7468733b0a0a202076617220706572696f645265203d20666f726d61745265286c6f63616c655f706572696f6473292c0a202020202020706572696f644c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f706572696f6473292c0a2020202020207765656b6461795265203d20666f726d61745265286c6f63616c655f7765656b64617973292c0a2020202020207765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f7765656b64617973292c0a20202020202073686f72745765656b6461795265203d20666f726d61745265286c6f63616c655f73686f72745765656b64617973292c0a20202020202073686f72745765656b6461794c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72745765656b64617973292c0a2020202020206d6f6e74685265203d20666f726d61745265286c6f63616c655f6d6f6e746873292c0a2020202020206d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f6d6f6e746873292c0a20202020202073686f72744d6f6e74685265203d20666f726d61745265286c6f63616c655f73686f72744d6f6e746873292c0a20202020202073686f72744d6f6e74684c6f6f6b7570203d20666f726d61744c6f6f6b7570286c6f63616c655f73686f72744d6f6e746873293b0a0a202076617220666f726d617473203d207b0a202020202261223a20666f726d617453686f72745765656b6461792c0a202020202241223a20666f726d61745765656b6461792c0a202020202262223a20666f726d617453686f72744d6f6e74682c0a202020202242223a20666f726d61744d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61744461794f664d6f6e74682c0a202020202265223a20666f726d61744461794f664d6f6e74682c0a202020202266223a20666f726d61744d6963726f7365636f6e64732c0a202020202248223a20666f726d6174486f757232342c0a202020202249223a20666f726d6174486f757231322c0a20202020226a223a20666f726d61744461794f66596561722c0a20202020224c223a20666f726d61744d696c6c697365636f6e64732c0a20202020226d223a20666f726d61744d6f6e74684e756d6265722c0a20202020224d223a20666f726d61744d696e757465732c0a202020202270223a20666f726d6174506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745365636f6e64732c0a202020202275223a20666f726d61745765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745765656b4e756d62657249534f2c0a202020202277223a20666f726d61745765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174596561722c0a202020202259223a20666f726d617446756c6c596561722c0a20202020225a223a20666f726d61745a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220757463466f726d617473203d207b0a202020202261223a20666f726d617455544353686f72745765656b6461792c0a202020202241223a20666f726d61745554435765656b6461792c0a202020202262223a20666f726d617455544353686f72744d6f6e74682c0a202020202242223a20666f726d61745554434d6f6e74682c0a202020202263223a206e756c6c2c0a202020202264223a20666f726d61745554434461794f664d6f6e74682c0a202020202265223a20666f726d61745554434461794f664d6f6e74682c0a202020202266223a20666f726d61745554434d6963726f7365636f6e64732c0a202020202248223a20666f726d6174555443486f757232342c0a202020202249223a20666f726d6174555443486f757231322c0a20202020226a223a20666f726d61745554434461794f66596561722c0a20202020224c223a20666f726d61745554434d696c6c697365636f6e64732c0a20202020226d223a20666f726d61745554434d6f6e74684e756d6265722c0a20202020224d223a20666f726d61745554434d696e757465732c0a202020202270223a20666f726d6174555443506572696f642c0a202020202251223a20666f726d6174556e697854696d657374616d702c0a202020202273223a20666f726d6174556e697854696d657374616d705365636f6e64732c0a202020202253223a20666f726d61745554435365636f6e64732c0a202020202275223a20666f726d61745554435765656b6461794e756d6265724d6f6e6461792c0a202020202255223a20666f726d61745554435765656b4e756d62657253756e6461792c0a202020202256223a20666f726d61745554435765656b4e756d62657249534f2c0a202020202277223a20666f726d61745554435765656b6461794e756d62657253756e6461792c0a202020202257223a20666f726d61745554435765656b4e756d6265724d6f6e6461792c0a202020202278223a206e756c6c2c0a202020202258223a206e756c6c2c0a202020202279223a20666f726d6174555443596561722c0a202020202259223a20666f726d617455544346756c6c596561722c0a20202020225a223a20666f726d61745554435a6f6e652c0a202020202225223a20666f726d61744c69746572616c50657263656e740a20207d3b0a0a202076617220706172736573203d207b0a202020202261223a20706172736553686f72745765656b6461792c0a202020202241223a2070617273655765656b6461792c0a202020202262223a20706172736553686f72744d6f6e74682c0a202020202242223a2070617273654d6f6e74682c0a202020202263223a2070617273654c6f63616c654461746554696d652c0a202020202264223a2070617273654461794f664d6f6e74682c0a202020202265223a2070617273654461794f664d6f6e74682c0a202020202266223a2070617273654d6963726f7365636f6e64732c0a202020202248223a207061727365486f757232342c0a202020202249223a207061727365486f757232342c0a20202020226a223a2070617273654461794f66596561722c0a20202020224c223a2070617273654d696c6c697365636f6e64732c0a20202020226d223a2070617273654d6f6e74684e756d6265722c0a20202020224d223a2070617273654d696e757465732c0a202020202270223a207061727365506572696f642c0a202020202251223a207061727365556e697854696d657374616d702c0a202020202273223a207061727365556e697854696d657374616d705365636f6e64732c0a202020202253223a2070617273655365636f6e64732c0a202020202275223a2070617273655765656b6461794e756d6265724d6f6e6461792c0a202020202255223a2070617273655765656b4e756d62657253756e6461792c0a202020202256223a2070617273655765656b4e756d62657249534f2c0a202020202277223a2070617273655765656b6461794e756d62657253756e6461792c0a202020202257223a2070617273655765656b4e756d6265724d6f6e6461792c0a202020202278223a2070617273654c6f63616c65446174652c0a202020202258223a2070617273654c6f63616c6554696d652c0a202020202279223a207061727365596561722c0a202020202259223a20706172736546756c6c596561722c0a20202020225a223a2070617273655a6f6e652c0a202020202225223a2070617273654c69746572616c50657263656e740a20207d3b0a0a20202f2f205468657365207265637572736976652064697265637469766520646566696e6974696f6e73206d7573742062652064656665727265642e0a2020666f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20666f726d617473293b0a2020666f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20666f726d617473293b0a2020666f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20666f726d617473293b0a2020757463466f726d6174732e78203d206e6577466f726d6174286c6f63616c655f646174652c20757463466f726d617473293b0a2020757463466f726d6174732e58203d206e6577466f726d6174286c6f63616c655f74696d652c20757463466f726d617473293b0a2020757463466f726d6174732e63203d206e6577466f726d6174286c6f63616c655f6461746554696d652c20757463466f726d617473293b0a0a202066756e6374696f6e206e6577466f726d6174287370656369666965722c20666f726d61747329207b0a2020202072657475726e2066756e6374696f6e286461746529207b0a20202020202076617220737472696e67203d205b5d2c0a2020202020202020202069203d202d312c0a202020202020202020206a203d20302c0a202020202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020202020632c0a202020202020202020207061642c0a20202020202020202020666f726d61743b0a0a2020202020206966202821286461746520696e7374616e63656f66204461746529292064617465203d206e65772044617465282b64617465293b0a0a2020202020207768696c6520282b2b69203c206e29207b0a2020202020202020696620287370656369666965722e63686172436f64654174286929203d3d3d20333729207b0a20202020202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a202020202020202020206966202828706164203d20706164735b63203d207370656369666965722e636861724174282b2b69295d2920213d206e756c6c292063203d207370656369666965722e636861724174282b2b69293b0a20202020202020202020656c736520706164203d2063203d3d3d20226522203f20222022203a202230223b0a2020202020202020202069662028666f726d6174203d20666f726d6174735b635d292063203d20666f726d617428646174652c20706164293b0a20202020202020202020737472696e672e707573682863293b0a202020202020202020206a203d2069202b20313b0a20202020202020207d0a2020202020207d0a0a202020202020737472696e672e70757368287370656369666965722e736c696365286a2c206929293b0a20202020202072657475726e20737472696e672e6a6f696e282222293b0a202020207d3b0a20207d0a0a202066756e6374696f6e206e65775061727365287370656369666965722c206e65774461746529207b0a2020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020207661722064203d206e6577596561722831393030292c0a2020202020202020202069203d20706172736553706563696669657228642c207370656369666965722c20737472696e67202b3d2022222c2030292c0a202020202020202020207765656b2c206461793b0a202020202020696620286920213d20737472696e672e6c656e677468292072657475726e206e756c6c3b0a0a2020202020202f2f204966206120554e49582074696d657374616d70206973207370656369666965642c2072657475726e2069742e0a2020202020206966202822512220696e2064292072657475726e206e6577204461746528642e51293b0a0a2020202020202f2f2054686520616d2d706d20666c6167206973203020666f7220414d2c20616e64203120666f7220504d2e0a2020202020206966202822702220696e20642920642e48203d20642e482025203132202b20642e70202a2031323b0a0a2020202020202f2f20436f6e76657274206461792d6f662d7765656b20616e64207765656b2d6f662d7965617220746f206461792d6f662d796561722e0a2020202020206966202822562220696e206429207b0a202020202020202069662028642e56203c2031207c7c20642e56203e203533292072657475726e206e756c6c3b0a202020202020202069662028212822772220696e2064292920642e77203d20313b0a202020202020202069662028225a2220696e206429207b0a202020202020202020207765656b203d2075746344617465286e65775965617228642e7929292c20646179203d207765656b2e67657455544344617928293b0a202020202020202020207765656b203d20646179203e2034207c7c20646179203d3d3d2030203f20643354696d652e7574634d6f6e6461792e6365696c287765656b29203a20643354696d652e7574634d6f6e646179287765656b293b0a202020202020202020207765656b203d20643354696d652e7574634461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657455544346756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765745554434d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574555443446174652829202b2028642e77202b203629202520373b0a20202020202020207d20656c7365207b0a202020202020202020207765656b203d206e657744617465286e65775965617228642e7929292c20646179203d207765656b2e67657444617928293b0a202020202020202020207765656b203d20646179203e2034207c7c20646179203d3d3d2030203f20643354696d652e74696d654d6f6e6461792e6365696c287765656b29203a20643354696d652e74696d654d6f6e646179287765656b293b0a202020202020202020207765656b203d20643354696d652e74696d654461792e6f6666736574287765656b2c2028642e56202d203129202a2037293b0a20202020202020202020642e79203d207765656b2e67657446756c6c5965617228293b0a20202020202020202020642e6d203d207765656b2e6765744d6f6e746828293b0a20202020202020202020642e64203d207765656b2e676574446174652829202b2028642e77202b203629202520373b0a20202020202020207d0a2020202020207d20656c7365206966202822572220696e2064207c7c2022552220696e206429207b0a202020202020202069662028212822772220696e2064292920642e77203d2022752220696e2064203f20642e7520252037203a2022572220696e2064203f2031203a20303b0a2020202020202020646179203d20225a2220696e2064203f2075746344617465286e65775965617228642e7929292e6765745554434461792829203a206e657744617465286e65775965617228642e7929292e67657444617928293b0a2020202020202020642e6d203d20303b0a2020202020202020642e64203d2022572220696e2064203f2028642e77202b20362920252037202b20642e57202a2037202d2028646179202b20352920252037203a20642e77202b20642e55202a2037202d2028646179202b203629202520373b0a2020202020207d0a0a2020202020202f2f20496620612074696d65207a6f6e65206973207370656369666965642c20616c6c206669656c64732061726520696e7465727072657465642061732055544320616e64207468656e0a2020202020202f2f206f6666736574206163636f7264696e6720746f20746865207370656369666965642074696d65207a6f6e652e0a20202020202069662028225a2220696e206429207b0a2020202020202020642e48202b3d20642e5a202f20313030207c20303b0a2020202020202020642e4d202b3d20642e5a2025203130303b0a202020202020202072657475726e20757463446174652864293b0a2020202020207d0a0a2020202020202f2f204f74686572776973652c20616c6c206669656c64732061726520696e206c6f63616c2074696d652e0a20202020202072657475726e206e6577446174652864293b0a202020207d3b0a20207d0a0a202066756e6374696f6e20706172736553706563696669657228642c207370656369666965722c20737472696e672c206a29207b0a202020207661722069203d20302c0a20202020202020206e203d207370656369666965722e6c656e6774682c0a20202020202020206d203d20737472696e672e6c656e6774682c0a2020202020202020632c0a202020202020202070617273653b0a0a202020207768696c65202869203c206e29207b0a202020202020696620286a203e3d206d292072657475726e202d313b0a20202020202063203d207370656369666965722e63686172436f6465417428692b2b293b0a2020202020206966202863203d3d3d20333729207b0a202020202020202063203d207370656369666965722e63686172417428692b2b293b0a20202020202020207061727365203d207061727365735b6320696e2070616473203f207370656369666965722e63686172417428692b2b29203a20635d3b0a202020202020202069662028217061727365207c7c2028286a203d20706172736528642c20737472696e672c206a2929203c203029292072657475726e202d313b0a2020202020207d20656c736520696620286320213d20737472696e672e63686172436f64654174286a2b2b2929207b0a202020202020202072657475726e202d313b0a2020202020207d0a202020207d0a0a2020202072657475726e206a3b0a20207d0a0a202066756e6374696f6e207061727365506572696f6428642c20737472696e672c206929207b0a20202020766172206e203d20706572696f6452652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e70203d20706572696f644c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72745765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d2073686f72745765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d2073686f72745765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273655765656b64617928642c20737472696e672c206929207b0a20202020766172206e203d207765656b64617952652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e77203d207765656b6461794c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e20706172736553686f72744d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d2073686f72744d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d2073686f72744d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654d6f6e746828642c20737472696e672c206929207b0a20202020766172206e203d206d6f6e746852652e6578656328737472696e672e736c696365286929293b0a2020202072657475726e206e203f2028642e6d203d206d6f6e74684c6f6f6b75705b6e5b305d2e746f4c6f7765724361736528295d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f6461746554696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c654461746528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f646174652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e2070617273654c6f63616c6554696d6528642c20737472696e672c206929207b0a2020202072657475726e20706172736553706563696669657228642c206c6f63616c655f74696d652c20737472696e672c2069293b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657444617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617453686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765744d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574486f7572732829203e3d203132295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72745765656b646179286429207b0a2020202072657475726e206c6f63616c655f73686f72745765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554435765656b646179286429207b0a2020202072657475726e206c6f63616c655f7765656b646179735b642e67657455544344617928295d3b0a20207d0a0a202066756e6374696f6e20666f726d617455544353686f72744d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f73686f72744d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d61745554434d6f6e7468286429207b0a2020202072657475726e206c6f63616c655f6d6f6e7468735b642e6765745554434d6f6e746828295d3b0a20207d0a0a202066756e6374696f6e20666f726d6174555443506572696f64286429207b0a2020202072657475726e206c6f63616c655f706572696f64735b2b28642e676574555443486f7572732829203e3d203132295d3b0a20207d0a0a202072657475726e207b0a20202020666f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20666f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202070617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e6577506172736528737065636966696572202b3d2022222c206c6f63616c44617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d2c0a20202020757463466f726d61743a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722066203d206e6577466f726d617428737065636966696572202b3d2022222c20757463466f726d617473293b0a202020202020662e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20663b0a202020207d2c0a2020202075746350617273653a2066756e6374696f6e2873706563696669657229207b0a2020202020207661722070203d206e65775061727365287370656369666965722c2075746344617465293b0a202020202020702e746f537472696e67203d2066756e6374696f6e2829207b2072657475726e207370656369666965723b207d3b0a20202020202072657475726e20703b0a202020207d0a20207d3b0a7d0a0a7661722070616473203d207b222d223a2022222c20225f223a202220222c202230223a202230227d3b0a766172206e756d6265725265203d202f5e5c732a5c642b2f3b0a7661722070657263656e745265203d202f5e252f3b0a76617220726571756f74655265203d202f5b5c5c5e242a2b3f7c5b5c5d28292e7b7d5d2f673b0a0a66756e6374696f6e207061642876616c75652c2066696c6c2c20776964746829207b0a2020766172207369676e203d2076616c7565203c2030203f20222d22203a2022222c0a202020202020737472696e67203d20287369676e203f202d76616c7565203a2076616c756529202b2022222c0a2020202020206c656e677468203d20737472696e672e6c656e6774683b0a202072657475726e207369676e202b20286c656e677468203c207769647468203f206e6577204172726179287769647468202d206c656e677468202b2031292e6a6f696e2866696c6c29202b20737472696e67203a20737472696e67293b0a7d0a0a66756e6374696f6e20726571756f7465287329207b0a202072657475726e20732e7265706c61636528726571756f746552652c20225c5c242622293b0a7d0a0a66756e6374696f6e20666f726d61745265286e616d657329207b0a202072657475726e206e65772052656745787028225e283f3a22202b206e616d65732e6d617028726571756f7465292e6a6f696e28227c2229202b202229222c20226922293b0a7d0a0a66756e6374696f6e20666f726d61744c6f6f6b7570286e616d657329207b0a2020766172206d6170203d207b7d2c2069203d202d312c206e203d206e616d65732e6c656e6774683b0a20207768696c6520282b2b69203c206e29206d61705b6e616d65735b695d2e746f4c6f7765724361736528295d203d20693b0a202072657475726e206d61703b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e77203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b6461794e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2028642e75203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657253756e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e55203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d62657249534f28642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e56203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655765656b4e756d6265724d6f6e64617928642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e57203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20706172736546756c6c5965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203429293b0a202072657475726e206e203f2028642e79203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e79203d202b6e5b305d202b20282b6e5b305d203e203638203f2031393030203a2032303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655a6f6e6528642c20737472696e672c206929207b0a2020766172206e203d202f5e285a297c285b2b2d5d5c645c6429283f3a3a3f285c645c6429293f2f2e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e5a203d206e5b315d203f2030203a202d286e5b325d202b20286e5b335d207c7c202230302229292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6f6e74684e756d62657228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e6d203d206e5b305d202d20312c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f664d6f6e746828642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654461794f665965617228642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e6d203d20302c20642e64203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365486f7572323428642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e48203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696e7574657328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e4d203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273655365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203229293b0a202072657475726e206e203f2028642e53203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d696c6c697365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203329293b0a202072657475726e206e203f2028642e4c203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654d6963726f7365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c69636528692c2069202b203629293b0a202072657475726e206e203f2028642e4c203d204d6174682e666c6f6f72286e5b305d202f2031303030292c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e2070617273654c69746572616c50657263656e7428642c20737472696e672c206929207b0a2020766172206e203d2070657263656e7452652e6578656328737472696e672e736c69636528692c2069202b203129293b0a202072657475726e206e203f2069202b206e5b305d2e6c656e677468203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d7028642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d202b6e5b305d2c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e207061727365556e697854696d657374616d705365636f6e647328642c20737472696e672c206929207b0a2020766172206e203d206e756d62657252652e6578656328737472696e672e736c696365286929293b0a202072657475726e206e203f2028642e51203d20282b6e5b305d29202a20313030302c2069202b206e5b305d2e6c656e67746829203a202d313b0a7d0a0a66756e6374696f6e20666f726d61744461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765744461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572323428642c207029207b0a202072657475726e2070616428642e676574486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174486f7572313228642c207029207b0a202072657475726e2070616428642e676574486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744461794f665965617228642c207029207b0a202072657475726e207061642831202b20643354696d652e74696d654461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765744d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61744d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61744d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61744d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765744d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61744d696e7574657328642c207029207b0a202072657475726e2070616428642e6765744d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646179203d20642e67657444617928293b0a202072657475726e20646179203d3d3d2030203f2037203a206461793b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657253756e64617928642c207029207b0a202072657475726e2070616428643354696d652e74696d6553756e6461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d62657249534f28642c207029207b0a202076617220646179203d20642e67657444617928293b0a202064203d2028646179203e3d2034207c7c20646179203d3d3d203029203f20643354696d652e74696d655468757273646179286429203a20643354696d652e74696d6554687572736461792e6365696c2864293b0a202072657475726e2070616428643354696d652e74696d6554687572736461792e636f756e7428643354696d652e74696d65596561722864292c206429202b2028643354696d652e74696d65596561722864292e6765744461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657444617928293b0a7d0a0a66756e6374696f6e20666f726d61745765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e2070616428643354696d652e74696d654d6f6e6461792e636f756e7428643354696d652e74696d65596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617446756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657446756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745a6f6e65286429207b0a2020766172207a203d20642e67657454696d657a6f6e654f666673657428293b0a202072657475726e20287a203e2030203f20222d22203a20287a202a3d202d312c20222b2229290a2020202020202b20706164287a202f203630207c20302c202230222c2032290a2020202020202b20706164287a20252036302c202230222c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f664d6f6e746828642c207029207b0a202072657475726e2070616428642e6765745554434461746528292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572323428642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d6174555443486f7572313228642c207029207b0a202072657475726e2070616428642e676574555443486f75727328292025203132207c7c2031322c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434461794f665965617228642c207029207b0a202072657475726e207061642831202b20643354696d652e7574634461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696c6c697365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554434d696c6c697365636f6e647328292c20702c2033293b0a7d0a0a66756e6374696f6e20666f726d61745554434d6963726f7365636f6e647328642c207029207b0a202072657475726e20666f726d61745554434d696c6c697365636f6e647328642c207029202b2022303030223b0a7d0a0a66756e6374696f6e20666f726d61745554434d6f6e74684e756d62657228642c207029207b0a202072657475726e2070616428642e6765745554434d6f6e74682829202b20312c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554434d696e7574657328642c207029207b0a202072657475726e2070616428642e6765745554434d696e7574657328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435365636f6e647328642c207029207b0a202072657475726e2070616428642e6765745554435365636f6e647328292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d6265724d6f6e646179286429207b0a202076617220646f77203d20642e67657455544344617928293b0a202072657475726e20646f77203d3d3d2030203f2037203a20646f773b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657253756e64617928642c207029207b0a202072657475726e2070616428643354696d652e75746353756e6461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d62657249534f28642c207029207b0a202076617220646179203d20642e67657455544344617928293b0a202064203d2028646179203e3d2034207c7c20646179203d3d3d203029203f20643354696d652e7574635468757273646179286429203a20643354696d652e75746354687572736461792e6365696c2864293b0a202072657475726e2070616428643354696d652e75746354687572736461792e636f756e7428643354696d652e757463596561722864292c206429202b2028643354696d652e757463596561722864292e6765745554434461792829203d3d3d2034292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b6461794e756d62657253756e646179286429207b0a202072657475726e20642e67657455544344617928293b0a7d0a0a66756e6374696f6e20666f726d61745554435765656b4e756d6265724d6f6e64617928642c207029207b0a202072657475726e2070616428643354696d652e7574634d6f6e6461792e636f756e7428643354696d652e757463596561722864292c2064292c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d61745554435965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c5965617228292025203130302c20702c2032293b0a7d0a0a66756e6374696f6e20666f726d617455544346756c6c5965617228642c207029207b0a202072657475726e2070616428642e67657455544346756c6c59656172282920252031303030302c20702c2034293b0a7d0a0a66756e6374696f6e20666f726d61745554435a6f6e652829207b0a202072657475726e20222b30303030223b0a7d0a0a66756e6374696f6e20666f726d61744c69746572616c50657263656e742829207b0a202072657475726e202225223b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d70286429207b0a202072657475726e202b643b0a7d0a0a66756e6374696f6e20666f726d6174556e697854696d657374616d705365636f6e6473286429207b0a202072657475726e204d6174682e666c6f6f72282b64202f2031303030293b0a7d0a0a766172206c6f63616c653b0a0a0a0a0a0a64656661756c744c6f63616c65287b0a20206461746554696d653a202225782c202558222c0a2020646174653a2022252d6d2f252d642f2559222c0a202074696d653a2022252d493a254d3a2553202570222c0a2020706572696f64733a205b22414d222c2022504d225d2c0a2020646179733a205b2253756e646179222c20224d6f6e646179222c202254756573646179222c20225765646e6573646179222c20225468757273646179222c2022467269646179222c20225361747572646179225d2c0a202073686f7274446179733a205b2253756e222c20224d6f6e222c2022547565222c2022576564222c2022546875222c2022467269222c2022536174225d2c0a20206d6f6e7468733a205b224a616e75617279222c20224665627275617279222c20224d61726368222c2022417072696c222c20224d6179222c20224a756e65222c20224a756c79222c2022417567757374222c202253657074656d626572222c20224f63746f626572222c20224e6f76656d626572222c2022446563656d626572225d2c0a202073686f72744d6f6e7468733a205b224a616e222c2022466562222c20224d6172222c2022417072222c20224d6179222c20224a756e222c20224a756c222c2022417567222c2022536570222c20224f6374222c20224e6f76222c2022446563225d0a7d293b0a0a66756e6374696f6e2064656661756c744c6f63616c6528646566696e6974696f6e29207b0a20206c6f63616c65203d20666f726d61744c6f63616c6528646566696e6974696f6e293b0a20206578706f7274732e74696d65466f726d6174203d206c6f63616c652e666f726d61743b0a20206578706f7274732e74696d655061727365203d206c6f63616c652e70617273653b0a20206578706f7274732e757463466f726d6174203d206c6f63616c652e757463466f726d61743b0a20206578706f7274732e7574635061727365203d206c6f63616c652e75746350617273653b0a202072657475726e206c6f63616c653b0a7d0a0a7661722069736f537065636966696572203d202225592d256d2d25645425483a254d3a25532e254c5a223b0a0a66756e6374696f6e20666f726d617449736f4e6174697665286461746529207b0a202072657475726e20646174652e746f49534f537472696e6728293b0a7d0a0a76617220666f726d617449736f203d20446174652e70726f746f747970652e746f49534f537472696e670a202020203f20666f726d617449736f4e61746976650a202020203a206578706f7274732e757463466f726d61742869736f537065636966696572293b0a0a66756e6374696f6e20706172736549736f4e617469766528737472696e6729207b0a20207661722064617465203d206e6577204461746528737472696e67293b0a202072657475726e2069734e614e286461746529203f206e756c6c203a20646174653b0a7d0a0a76617220706172736549736f203d202b6e657720446174652822323030302d30312d30315430303a30303a30302e3030305a22290a202020203f20706172736549736f4e61746976650a202020203a206578706f7274732e75746350617273652869736f537065636966696572293b0a0a6578706f7274732e74696d65466f726d617444656661756c744c6f63616c65203d2064656661756c744c6f63616c653b0a6578706f7274732e74696d65466f726d61744c6f63616c65203d20666f726d61744c6f63616c653b0a6578706f7274732e69736f466f726d6174203d20666f726d617449736f3b0a6578706f7274732e69736f5061727365203d20706172736549736f3b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d74696d65223a36347d5d2c36343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d652f2056657273696f6e20312e302e382e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172207430203d206e657720446174653b0a766172207431203d206e657720446174653b0a0a66756e6374696f6e206e6577496e74657276616c28666c6f6f72692c206f6666736574692c20636f756e742c206669656c6429207b0a0a202066756e6374696f6e20696e74657276616c286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e65772044617465282b6461746529292c20646174653b0a20207d0a0a2020696e74657276616c2e666c6f6f72203d20696e74657276616c3b0a0a2020696e74657276616c2e6365696c203d2066756e6374696f6e286461746529207b0a2020202072657475726e20666c6f6f72692864617465203d206e657720446174652864617465202d203129292c206f66667365746928646174652c2031292c20666c6f6f72692864617465292c20646174653b0a20207d3b0a0a2020696e74657276616c2e726f756e64203d2066756e6374696f6e286461746529207b0a20202020766172206430203d20696e74657276616c2864617465292c0a20202020202020206431203d20696e74657276616c2e6365696c2864617465293b0a2020202072657475726e2064617465202d206430203c206431202d2064617465203f206430203a2064313b0a20207d3b0a0a2020696e74657276616c2e6f6666736574203d2066756e6374696f6e28646174652c207374657029207b0a2020202072657475726e206f6666736574692864617465203d206e65772044617465282b64617465292c2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f72287374657029292c20646174653b0a20207d3b0a0a2020696e74657276616c2e72616e6765203d2066756e6374696f6e2873746172742c2073746f702c207374657029207b0a202020207661722072616e6765203d205b5d2c2070726576696f75733b0a202020207374617274203d20696e74657276616c2e6365696c287374617274293b0a2020202073746570203d2073746570203d3d206e756c6c203f2031203a204d6174682e666c6f6f722873746570293b0a202020206966202821287374617274203c2073746f7029207c7c20212873746570203e203029292072657475726e2072616e67653b202f2f20616c736f2068616e646c657320496e76616c696420446174650a20202020646f2072616e67652e707573682870726576696f7573203d206e65772044617465282b737461727429292c206f6666736574692873746172742c2073746570292c20666c6f6f7269287374617274293b0a202020207768696c65202870726576696f7573203c207374617274202626207374617274203c2073746f70293b0a2020202072657475726e2072616e67653b0a20207d3b0a0a2020696e74657276616c2e66696c746572203d2066756e6374696f6e287465737429207b0a2020202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020202020206966202864617465203e3d206461746529207768696c652028666c6f6f72692864617465292c2021746573742864617465292920646174652e73657454696d652864617465202d2031293b0a202020207d2c2066756e6374696f6e28646174652c207374657029207b0a2020202020206966202864617465203e3d206461746529207b0a20202020202020206966202873746570203c203029207768696c6520282b2b73746570203c3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202d31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d20656c7365207768696c6520282d2d73746570203e3d203029207b0a202020202020202020207768696c6520286f66667365746928646174652c202b31292c20217465737428646174652929207b7d202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d656d7074790a20202020202020207d0a2020202020207d0a202020207d293b0a20207d3b0a0a202069662028636f756e7429207b0a20202020696e74657276616c2e636f756e74203d2066756e6374696f6e2873746172742c20656e6429207b0a20202020202074302e73657454696d65282b7374617274292c2074312e73657454696d65282b656e64293b0a202020202020666c6f6f7269287430292c20666c6f6f7269287431293b0a20202020202072657475726e204d6174682e666c6f6f7228636f756e742874302c20743129293b0a202020207d3b0a0a20202020696e74657276616c2e6576657279203d2066756e6374696f6e287374657029207b0a20202020202073746570203d204d6174682e666c6f6f722873746570293b0a20202020202072657475726e2021697346696e697465287374657029207c7c20212873746570203e203029203f206e756c6c0a202020202020202020203a20212873746570203e203129203f20696e74657276616c0a202020202020202020203a20696e74657276616c2e66696c746572286669656c640a20202020202020202020202020203f2066756e6374696f6e286429207b2072657475726e206669656c6428642920252073746570203d3d3d20303b207d0a20202020202020202020202020203a2066756e6374696f6e286429207b2072657475726e20696e74657276616c2e636f756e7428302c20642920252073746570203d3d3d20303b207d293b0a202020207d3b0a20207d0a0a202072657475726e20696e74657276616c3b0a7d0a0a766172206d696c6c697365636f6e64203d206e6577496e74657276616c2866756e6374696f6e2829207b0a20202f2f206e6f6f700a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e64202d2073746172743b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a6d696c6c697365636f6e642e6576657279203d2066756e6374696f6e286b29207b0a20206b203d204d6174682e666c6f6f72286b293b0a20206966202821697346696e697465286b29207c7c2021286b203e203029292072657475726e206e756c6c3b0a20206966202821286b203e203129292072657475726e206d696c6c697365636f6e643b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206b29202a206b293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657454696d65282b64617465202b2073746570202a206b293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206b3b0a20207d293b0a7d3b0a0a766172206d696c6c697365636f6e6473203d206d696c6c697365636f6e642e72616e67653b0a0a766172206475726174696f6e5365636f6e64203d203165333b0a766172206475726174696f6e4d696e757465203d203665343b0a766172206475726174696f6e486f7572203d20333665353b0a766172206475726174696f6e446179203d2038363465353b0a766172206475726174696f6e5765656b203d203630343865353b0a0a766172207365636f6e64203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e5365636f6e6429202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e5365636f6e64293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e5365636f6e643b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554435365636f6e647328293b0a7d293b0a0a766172207365636f6e6473203d207365636f6e642e72616e67653b0a0a766172206d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e73657454696d65284d6174682e666c6f6f722864617465202f206475726174696f6e4d696e75746529202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d696e7574657328293b0a7d293b0a0a766172206d696e75746573203d206d696e7574652e72616e67653b0a0a76617220686f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020766172206f6666736574203d20646174652e67657454696d657a6f6e654f66667365742829202a206475726174696f6e4d696e7574652025206475726174696f6e486f75723b0a2020696620286f6666736574203c203029206f6666736574202b3d206475726174696f6e486f75723b0a2020646174652e73657454696d65284d6174682e666c6f6f7228282b64617465202d206f666673657429202f206475726174696f6e486f757229202a206475726174696f6e486f7572202b206f6666736574293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574486f75727328293b0a7d293b0a0a76617220686f757273203d20686f75722e72616e67653b0a0a76617220646179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744461746528646174652e676574446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574446174652829202d20313b0a7d293b0a0a7661722064617973203d206461792e72616e67653b0a0a66756e6374696f6e207765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365744461746528646174652e676574446174652829202d2028646174652e6765744461792829202b2037202d20692920252037293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365744461746528646174652e676574446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d207374617274202d2028656e642e67657454696d657a6f6e654f66667365742829202d2073746172742e67657454696d657a6f6e654f6666736574282929202a206475726174696f6e4d696e75746529202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722073756e646179203d207765656b6461792830293b0a766172206d6f6e646179203d207765656b6461792831293b0a7661722074756573646179203d207765656b6461792832293b0a766172207765646e6573646179203d207765656b6461792833293b0a766172207468757273646179203d207765656b6461792834293b0a76617220667269646179203d207765656b6461792835293b0a766172207361747572646179203d207765656b6461792836293b0a0a7661722073756e64617973203d2073756e6461792e72616e67653b0a766172206d6f6e64617973203d206d6f6e6461792e72616e67653b0a766172207475657364617973203d20747565736461792e72616e67653b0a766172207765646e657364617973203d207765646e65736461792e72616e67653b0a76617220746875727364617973203d2074687572736461792e72616e67653b0a7661722066726964617973203d206672696461792e72616e67653b0a76617220736174757264617973203d2073617475726461792e72616e67653b0a0a766172206d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574446174652831293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365744d6f6e746828646174652e6765744d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765744d6f6e74682829202d2073746172742e6765744d6f6e74682829202b2028656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765744d6f6e746828293b0a7d293b0a0a766172206d6f6e746873203d206d6f6e74682e72616e67653b0a0a7661722079656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365744d6f6e746828302c2031293b0a2020646174652e736574486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657446756c6c596561722829202d2073746172742e67657446756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657446756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a796561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657446756c6c59656172284d6174682e666c6f6f7228646174652e67657446756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365744d6f6e746828302c2031293b0a20202020646174652e736574486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657446756c6c5965617228646174652e67657446756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a0a766172207965617273203d20796561722e72616e67653b0a0a766172207574634d696e757465203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554435365636f6e647328302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e4d696e757465293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4d696e7574653b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d696e7574657328293b0a7d293b0a0a766172207574634d696e75746573203d207574634d696e7574652e72616e67653b0a0a76617220757463486f7572203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d696e7574657328302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657454696d65282b64617465202b2073746570202a206475726174696f6e486f7572293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e486f75723b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443486f75727328293b0a7d293b0a0a76617220757463486f757273203d20757463486f75722e72616e67653b0a0a76617220757463446179203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e2028656e64202d20737461727429202f206475726174696f6e4461793b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e676574555443446174652829202d20313b0a7d293b0a0a7661722075746344617973203d207574634461792e72616e67653b0a0a66756e6374696f6e207574635765656b646179286929207b0a202072657475726e206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202d2028646174652e6765745554434461792829202b2037202d20692920252037293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e7365745554434461746528646174652e676574555443446174652829202b2073746570202a2037293b0a20207d2c2066756e6374696f6e2873746172742c20656e6429207b0a2020202072657475726e2028656e64202d20737461727429202f206475726174696f6e5765656b3b0a20207d293b0a7d0a0a7661722075746353756e646179203d207574635765656b6461792830293b0a766172207574634d6f6e646179203d207574635765656b6461792831293b0a7661722075746354756573646179203d207574635765656b6461792832293b0a766172207574635765646e6573646179203d207574635765656b6461792833293b0a766172207574635468757273646179203d207574635765656b6461792834293b0a76617220757463467269646179203d207574635765656b6461792835293b0a766172207574635361747572646179203d207574635765656b6461792836293b0a0a7661722075746353756e64617973203d2075746353756e6461792e72616e67653b0a766172207574634d6f6e64617973203d207574634d6f6e6461792e72616e67653b0a766172207574635475657364617973203d20757463547565736461792e72616e67653b0a766172207574635765646e657364617973203d207574635765646e65736461792e72616e67653b0a76617220757463546875727364617973203d2075746354687572736461792e72616e67653b0a7661722075746346726964617973203d207574634672696461792e72616e67653b0a76617220757463536174757264617973203d2075746353617475726461792e72616e67653b0a0a766172207574634d6f6e7468203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e736574555443446174652831293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e7365745554434d6f6e746828646174652e6765745554434d6f6e74682829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e6765745554434d6f6e74682829202d2073746172742e6765745554434d6f6e74682829202b2028656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c59656172282929202a2031323b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e6765745554434d6f6e746828293b0a7d293b0a0a766172207574634d6f6e746873203d207574634d6f6e74682e72616e67653b0a0a7661722075746359656172203d206e6577496e74657276616c2866756e6374696f6e286461746529207b0a2020646174652e7365745554434d6f6e746828302c2031293b0a2020646174652e736574555443486f75727328302c20302c20302c2030293b0a7d2c2066756e6374696f6e28646174652c207374657029207b0a2020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570293b0a7d2c2066756e6374696f6e2873746172742c20656e6429207b0a202072657475726e20656e642e67657455544346756c6c596561722829202d2073746172742e67657455544346756c6c5965617228293b0a7d2c2066756e6374696f6e286461746529207b0a202072657475726e20646174652e67657455544346756c6c5965617228293b0a7d293b0a0a2f2f20416e206f7074696d697a656420696d706c656d656e746174696f6e20666f7220746869732073696d706c6520636173652e0a757463596561722e6576657279203d2066756e6374696f6e286b29207b0a202072657475726e2021697346696e697465286b203d204d6174682e666c6f6f72286b2929207c7c2021286b203e203029203f206e756c6c203a206e6577496e74657276616c2866756e6374696f6e286461746529207b0a20202020646174652e73657455544346756c6c59656172284d6174682e666c6f6f7228646174652e67657455544346756c6c596561722829202f206b29202a206b293b0a20202020646174652e7365745554434d6f6e746828302c2031293b0a20202020646174652e736574555443486f75727328302c20302c20302c2030293b0a20207d2c2066756e6374696f6e28646174652c207374657029207b0a20202020646174652e73657455544346756c6c5965617228646174652e67657455544346756c6c596561722829202b2073746570202a206b293b0a20207d293b0a7d3b0a0a766172207574635965617273203d20757463596561722e72616e67653b0a0a6578706f7274732e74696d65496e74657276616c203d206e6577496e74657276616c3b0a6578706f7274732e74696d654d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e74696d654d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e7574634d696c6c697365636f6e64203d206d696c6c697365636f6e643b0a6578706f7274732e7574634d696c6c697365636f6e6473203d206d696c6c697365636f6e64733b0a6578706f7274732e74696d655365636f6e64203d207365636f6e643b0a6578706f7274732e74696d655365636f6e6473203d207365636f6e64733b0a6578706f7274732e7574635365636f6e64203d207365636f6e643b0a6578706f7274732e7574635365636f6e6473203d207365636f6e64733b0a6578706f7274732e74696d654d696e757465203d206d696e7574653b0a6578706f7274732e74696d654d696e75746573203d206d696e757465733b0a6578706f7274732e74696d65486f7572203d20686f75723b0a6578706f7274732e74696d65486f757273203d20686f7572733b0a6578706f7274732e74696d65446179203d206461793b0a6578706f7274732e74696d6544617973203d20646179733b0a6578706f7274732e74696d655765656b203d2073756e6461793b0a6578706f7274732e74696d655765656b73203d2073756e646179733b0a6578706f7274732e74696d6553756e646179203d2073756e6461793b0a6578706f7274732e74696d6553756e64617973203d2073756e646179733b0a6578706f7274732e74696d654d6f6e646179203d206d6f6e6461793b0a6578706f7274732e74696d654d6f6e64617973203d206d6f6e646179733b0a6578706f7274732e74696d6554756573646179203d20747565736461793b0a6578706f7274732e74696d655475657364617973203d2074756573646179733b0a6578706f7274732e74696d655765646e6573646179203d207765646e65736461793b0a6578706f7274732e74696d655765646e657364617973203d207765646e6573646179733b0a6578706f7274732e74696d655468757273646179203d2074687572736461793b0a6578706f7274732e74696d65546875727364617973203d207468757273646179733b0a6578706f7274732e74696d65467269646179203d206672696461793b0a6578706f7274732e74696d6546726964617973203d20667269646179733b0a6578706f7274732e74696d655361747572646179203d2073617475726461793b0a6578706f7274732e74696d65536174757264617973203d207361747572646179733b0a6578706f7274732e74696d654d6f6e7468203d206d6f6e74683b0a6578706f7274732e74696d654d6f6e746873203d206d6f6e7468733b0a6578706f7274732e74696d6559656172203d20796561723b0a6578706f7274732e74696d655965617273203d2079656172733b0a6578706f7274732e7574634d696e757465203d207574634d696e7574653b0a6578706f7274732e7574634d696e75746573203d207574634d696e757465733b0a6578706f7274732e757463486f7572203d20757463486f75723b0a6578706f7274732e757463486f757273203d20757463486f7572733b0a6578706f7274732e757463446179203d207574634461793b0a6578706f7274732e75746344617973203d20757463446179733b0a6578706f7274732e7574635765656b203d2075746353756e6461793b0a6578706f7274732e7574635765656b73203d2075746353756e646179733b0a6578706f7274732e75746353756e646179203d2075746353756e6461793b0a6578706f7274732e75746353756e64617973203d2075746353756e646179733b0a6578706f7274732e7574634d6f6e646179203d207574634d6f6e6461793b0a6578706f7274732e7574634d6f6e64617973203d207574634d6f6e646179733b0a6578706f7274732e75746354756573646179203d20757463547565736461793b0a6578706f7274732e7574635475657364617973203d2075746354756573646179733b0a6578706f7274732e7574635765646e6573646179203d207574635765646e65736461793b0a6578706f7274732e7574635765646e657364617973203d207574635765646e6573646179733b0a6578706f7274732e7574635468757273646179203d2075746354687572736461793b0a6578706f7274732e757463546875727364617973203d207574635468757273646179733b0a6578706f7274732e757463467269646179203d207574634672696461793b0a6578706f7274732e75746346726964617973203d20757463467269646179733b0a6578706f7274732e7574635361747572646179203d2075746353617475726461793b0a6578706f7274732e757463536174757264617973203d207574635361747572646179733b0a6578706f7274732e7574634d6f6e7468203d207574634d6f6e74683b0a6578706f7274732e7574634d6f6e746873203d207574634d6f6e7468733b0a6578706f7274732e75746359656172203d20757463596561723b0a6578706f7274732e7574635965617273203d2075746359656172733b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d74696d65722f2056657273696f6e20312e302e372e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a766172206672616d65203d20303b0a7661722074696d656f7574203d20303b0a76617220696e74657276616c203d20303b0a76617220706f6b6544656c6179203d20313030303b0a766172207461736b486561643b0a766172207461736b5461696c3b0a76617220636c6f636b4c617374203d20303b0a76617220636c6f636b4e6f77203d20303b0a76617220636c6f636b536b6577203d20303b0a76617220636c6f636b203d20747970656f6620706572666f726d616e6365203d3d3d20226f626a6563742220262620706572666f726d616e63652e6e6f77203f20706572666f726d616e6365203a20446174653b0a766172207365744672616d65203d20747970656f662077696e646f77203d3d3d20226f626a656374222026262077696e646f772e72657175657374416e696d6174696f6e4672616d65203f2077696e646f772e72657175657374416e696d6174696f6e4672616d652e62696e642877696e646f7729203a2066756e6374696f6e286629207b2073657454696d656f757428662c203137293b207d3b0a0a66756e6374696f6e206e6f772829207b0a202072657475726e20636c6f636b4e6f77207c7c20287365744672616d6528636c6561724e6f77292c20636c6f636b4e6f77203d20636c6f636b2e6e6f772829202b20636c6f636b536b6577293b0a7d0a0a66756e6374696f6e20636c6561724e6f772829207b0a2020636c6f636b4e6f77203d20303b0a7d0a0a66756e6374696f6e2054696d65722829207b0a2020746869732e5f63616c6c203d0a2020746869732e5f74696d65203d0a2020746869732e5f6e657874203d206e756c6c3b0a7d0a0a54696d65722e70726f746f74797065203d2074696d65722e70726f746f74797065203d207b0a2020636f6e7374727563746f723a2054696d65722c0a2020726573746172743a2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a2020202069662028747970656f662063616c6c6261636b20213d3d202266756e6374696f6e2229207468726f77206e657720547970654572726f72282263616c6c6261636b206973206e6f7420612066756e6374696f6e22293b0a2020202074696d65203d202874696d65203d3d206e756c6c203f206e6f772829203a202b74696d6529202b202864656c6179203d3d206e756c6c203f2030203a202b64656c6179293b0a202020206966202821746869732e5f6e657874202626207461736b5461696c20213d3d207468697329207b0a202020202020696620287461736b5461696c29207461736b5461696c2e5f6e657874203d20746869733b0a202020202020656c7365207461736b48656164203d20746869733b0a2020202020207461736b5461696c203d20746869733b0a202020207d0a20202020746869732e5f63616c6c203d2063616c6c6261636b3b0a20202020746869732e5f74696d65203d2074696d653b0a20202020736c65657028293b0a20207d2c0a202073746f703a2066756e6374696f6e2829207b0a2020202069662028746869732e5f63616c6c29207b0a202020202020746869732e5f63616c6c203d206e756c6c3b0a202020202020746869732e5f74696d65203d20496e66696e6974793b0a202020202020736c65657028293b0a202020207d0a20207d0a7d3b0a0a66756e6374696f6e2074696d65722863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a2020742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d0a0a66756e6374696f6e2074696d6572466c7573682829207b0a20206e6f7728293b202f2f20476574207468652063757272656e742074696d652c206966206e6f7420616c7265616479207365742e0a20202b2b6672616d653b202f2f2050726574656e64207765e2809976652073657420616e20616c61726d2c20696620776520686176656ee280997420616c72656164792e0a20207661722074203d207461736b486561642c20653b0a20207768696c6520287429207b0a20202020696620282865203d20636c6f636b4e6f77202d20742e5f74696d6529203e3d20302920742e5f63616c6c2e63616c6c286e756c6c2c2065293b0a2020202074203d20742e5f6e6578743b0a20207d0a20202d2d6672616d653b0a7d0a0a66756e6374696f6e2077616b652829207b0a2020636c6f636b4e6f77203d2028636c6f636b4c617374203d20636c6f636b2e6e6f77282929202b20636c6f636b536b65773b0a20206672616d65203d2074696d656f7574203d20303b0a2020747279207b0a2020202074696d6572466c75736828293b0a20207d2066696e616c6c79207b0a202020206672616d65203d20303b0a202020206e617028293b0a20202020636c6f636b4e6f77203d20303b0a20207d0a7d0a0a66756e6374696f6e20706f6b652829207b0a2020766172206e6f77203d20636c6f636b2e6e6f7728292c2064656c6179203d206e6f77202d20636c6f636b4c6173743b0a20206966202864656c6179203e20706f6b6544656c61792920636c6f636b536b6577202d3d2064656c61792c20636c6f636b4c617374203d206e6f773b0a7d0a0a66756e6374696f6e206e61702829207b0a20207661722074302c207431203d207461736b486561642c2074322c2074696d65203d20496e66696e6974793b0a20207768696c652028743129207b0a202020206966202874312e5f63616c6c29207b0a2020202020206966202874696d65203e2074312e5f74696d65292074696d65203d2074312e5f74696d653b0a2020202020207430203d2074312c207431203d2074312e5f6e6578743b0a202020207d20656c7365207b0a2020202020207432203d2074312e5f6e6578742c2074312e5f6e657874203d206e756c6c3b0a2020202020207431203d207430203f2074302e5f6e657874203d207432203a207461736b48656164203d2074323b0a202020207d0a20207d0a20207461736b5461696c203d2074303b0a2020736c6565702874696d65293b0a7d0a0a66756e6374696f6e20736c6565702874696d6529207b0a2020696620286672616d65292072657475726e3b202f2f20536f6f6e65737420616c61726d20616c7265616479207365742c206f722077696c6c2062652e0a20206966202874696d656f7574292074696d656f7574203d20636c65617254696d656f75742874696d656f7574293b0a20207661722064656c6179203d2074696d65202d20636c6f636b4e6f773b202f2f205374726963746c79206c657373207468616e206966207765207265636f6d707574656420636c6f636b4e6f772e0a20206966202864656c6179203e20323429207b0a202020206966202874696d65203c20496e66696e697479292074696d656f7574203d2073657454696d656f75742877616b652c2074696d65202d20636c6f636b2e6e6f772829202d20636c6f636b536b6577293b0a2020202069662028696e74657276616c2920696e74657276616c203d20636c656172496e74657276616c28696e74657276616c293b0a20207d20656c7365207b0a202020206966202821696e74657276616c2920636c6f636b4c617374203d20636c6f636b2e6e6f7728292c20696e74657276616c203d20736574496e74657276616c28706f6b652c20706f6b6544656c6179293b0a202020206672616d65203d20312c207365744672616d652877616b65293b0a20207d0a7d0a0a7661722074696d656f75742431203d2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65723b0a202064656c6179203d2064656c6179203d3d206e756c6c203f2030203a202b64656c61793b0a2020742e726573746172742866756e6374696f6e28656c617073656429207b0a20202020742e73746f7028293b0a2020202063616c6c6261636b28656c6170736564202b2064656c6179293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d3b0a0a76617220696e74657276616c2431203d2066756e6374696f6e2863616c6c6261636b2c2064656c61792c2074696d6529207b0a20207661722074203d206e65772054696d65722c20746f74616c203d2064656c61793b0a20206966202864656c6179203d3d206e756c6c292072657475726e20742e726573746172742863616c6c6261636b2c2064656c61792c2074696d65292c20743b0a202064656c6179203d202b64656c61792c2074696d65203d2074696d65203d3d206e756c6c203f206e6f772829203a202b74696d653b0a2020742e726573746172742866756e6374696f6e207469636b28656c617073656429207b0a20202020656c6170736564202b3d20746f74616c3b0a20202020742e72657374617274287469636b2c20746f74616c202b3d2064656c61792c2074696d65293b0a2020202063616c6c6261636b28656c6170736564293b0a20207d2c2064656c61792c2074696d65293b0a202072657475726e20743b0a7d3b0a0a6578706f7274732e6e6f77203d206e6f773b0a6578706f7274732e74696d6572203d2074696d65723b0a6578706f7274732e74696d6572466c757368203d2074696d6572466c7573683b0a6578706f7274732e74696d656f7574203d2074696d656f757424313b0a6578706f7274732e696e74657276616c203d20696e74657276616c24313b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7472616e736974696f6e2f2056657273696f6e20312e312e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d646973706174636827292c2072657175697265282764332d74696d657227292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d636f6c6f7227292c2072657175697265282764332d65617365272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d73656c656374696f6e272c202764332d6469737061746368272c202764332d74696d6572272c202764332d696e746572706f6c617465272c202764332d636f6c6f72272c202764332d65617365275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643353656c656374696f6e2c643344697370617463682c643354696d65722c6433496e746572706f6c6174652c6433436f6c6f722c64334561736529207b202775736520737472696374273b0a0a76617220656d7074794f6e203d20643344697370617463682e646973706174636828227374617274222c2022656e64222c2022696e7465727275707422293b0a76617220656d707479547765656e203d205b5d3b0a0a7661722043524541544544203d20303b0a766172205343484544554c4544203d20313b0a766172205354415254494e47203d20323b0a7661722053544152544544203d20333b0a7661722052554e4e494e47203d20343b0a76617220454e44494e47203d20353b0a76617220454e444544203d20363b0a0a766172207363686564756c65203d2066756e6374696f6e286e6f64652c206e616d652c2069642c20696e6465782c2067726f75702c2074696d696e6729207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c657329206e6f64652e5f5f7472616e736974696f6e203d207b7d3b0a2020656c73652069662028696420696e207363686564756c6573292072657475726e3b0a2020637265617465286e6f64652c2069642c207b0a202020206e616d653a206e616d652c0a20202020696e6465783a20696e6465782c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a2020202067726f75703a2067726f75702c202f2f20466f7220636f6e7465787420647572696e672063616c6c6261636b2e0a202020206f6e3a20656d7074794f6e2c0a20202020747765656e3a20656d707479547765656e2c0a2020202074696d653a2074696d696e672e74696d652c0a2020202064656c61793a2074696d696e672e64656c61792c0a202020206475726174696f6e3a2074696d696e672e6475726174696f6e2c0a20202020656173653a2074696d696e672e656173652c0a2020202074696d65723a206e756c6c2c0a2020202073746174653a20435245415445440a20207d293b0a7d3b0a0a66756e6374696f6e20696e6974286e6f64652c20696429207b0a2020766172207363686564756c65203d20676574286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e204352454154454429207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207363686564756c656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20736574286e6f64652c20696429207b0a2020766172207363686564756c65203d20676574286e6f64652c206964293b0a2020696620287363686564756c652e7374617465203e205354415254494e4729207468726f77206e6577204572726f722822746f6f206c6174653b20616c7265616479207374617274656422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20676574286e6f64652c20696429207b0a2020766172207363686564756c65203d206e6f64652e5f5f7472616e736974696f6e3b0a202069662028217363686564756c65207c7c2021287363686564756c65203d207363686564756c655b69645d2929207468726f77206e6577204572726f7228227472616e736974696f6e206e6f7420666f756e6422293b0a202072657475726e207363686564756c653b0a7d0a0a66756e6374696f6e20637265617465286e6f64652c2069642c2073656c6629207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a202020202020747765656e3b0a0a20202f2f20496e697469616c697a65207468652073656c662074696d6572207768656e20746865207472616e736974696f6e20697320637265617465642e0a20202f2f204e6f7465207468652061637475616c2064656c6179206973206e6f74206b6e6f776e20756e74696c207468652066697273742063616c6c6261636b210a20207363686564756c65735b69645d203d2073656c663b0a202073656c662e74696d6572203d20643354696d65722e74696d6572287363686564756c652c20302c2073656c662e74696d65293b0a0a202066756e6374696f6e207363686564756c6528656c617073656429207b0a2020202073656c662e7374617465203d205343484544554c45443b0a2020202073656c662e74696d65722e726573746172742873746172742c2073656c662e64656c61792c2073656c662e74696d65293b0a0a202020202f2f2049662074686520656c61707365642064656c6179206973206c657373207468616e206f757220666972737420736c6565702c20737461727420696d6d6564696174656c792e0a202020206966202873656c662e64656c6179203c3d20656c61707365642920737461727428656c6170736564202d2073656c662e64656c6179293b0a20207d0a0a202066756e6374696f6e20737461727428656c617073656429207b0a2020202076617220692c206a2c206e2c206f3b0a0a202020202f2f20496620746865207374617465206973206e6f74205343484544554c45442c207468656e2077652070726576696f75736c79206572726f726564206f6e2073746172742e0a202020206966202873656c662e737461746520213d3d205343484544554c4544292072657475726e2073746f7028293b0a0a20202020666f7220286920696e207363686564756c657329207b0a2020202020206f203d207363686564756c65735b695d3b0a202020202020696620286f2e6e616d6520213d3d2073656c662e6e616d652920636f6e74696e75653b0a0a2020202020202f2f205768696c65207468697320656c656d656e7420616c7265616479206861732061207374617274696e67207472616e736974696f6e20647572696e672074686973206672616d652c0a2020202020202f2f206465666572207374617274696e6720616e20696e74657272757074696e67207472616e736974696f6e20756e74696c2074686174207472616e736974696f6e2068617320610a2020202020202f2f206368616e636520746f207469636b2028616e6420706f737369626c7920656e64293b207365652064332f64332d7472616e736974696f6e233534210a202020202020696620286f2e7374617465203d3d3d2053544152544544292072657475726e20643354696d65722e74696d656f7574287374617274293b0a0a2020202020202f2f20496e746572727570742074686520616374697665207472616e736974696f6e2c20696620616e792e0a2020202020202f2f2044697370617463682074686520696e74657272757074206576656e742e0a202020202020696620286f2e7374617465203d3d3d2052554e4e494e4729207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a20202020202020206f2e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c206f2e696e6465782c206f2e67726f7570293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a0a2020202020202f2f2043616e63656c20616e79207072652d656d70746564207472616e736974696f6e732e204e6f20696e74657272757074206576656e7420697320646973706174636865640a2020202020202f2f2062656361757365207468652063616e63656c6c6564207472616e736974696f6e73206e6576657220737461727465642e204e6f74652074686174207468697320616c736f0a2020202020202f2f2072656d6f7665732074686973207472616e736974696f6e2066726f6d207468652070656e64696e67206c697374210a202020202020656c736520696620282b69203c20696429207b0a20202020202020206f2e7374617465203d20454e4445443b0a20202020202020206f2e74696d65722e73746f7028293b0a202020202020202064656c657465207363686564756c65735b695d3b0a2020202020207d0a202020207d0a0a202020202f2f20446566657220746865206669727374207469636b20746f20656e64206f66207468652063757272656e74206672616d653b207365652064332f643323313537362e0a202020202f2f204e6f746520746865207472616e736974696f6e206d61792062652063616e63656c656420616674657220737461727420616e64206265666f726520746865206669727374207469636b210a202020202f2f204e6f74652074686973206d757374206265207363686564756c6564206265666f726520746865207374617274206576656e743b207365652064332f64332d7472616e736974696f6e233136210a202020202f2f20417373756d696e672074686973206973207375636365737366756c2c2073756273657175656e742063616c6c6261636b7320676f20737472616967687420746f207469636b2e0a20202020643354696d65722e74696d656f75742866756e6374696f6e2829207b0a2020202020206966202873656c662e7374617465203d3d3d205354415254454429207b0a202020202020202073656c662e7374617465203d2052554e4e494e473b0a202020202020202073656c662e74696d65722e72657374617274287469636b2c2073656c662e64656c61792c2073656c662e74696d65293b0a20202020202020207469636b28656c6170736564293b0a2020202020207d0a202020207d293b0a0a202020202f2f20446973706174636820746865207374617274206576656e742e0a202020202f2f204e6f74652074686973206d75737420626520646f6e65206265666f72652074686520747765656e2061726520696e697469616c697a65642e0a2020202073656c662e7374617465203d205354415254494e473b0a2020202073656c662e6f6e2e63616c6c28227374617274222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a202020206966202873656c662e737461746520213d3d205354415254494e47292072657475726e3b202f2f20696e7465727275707465640a2020202073656c662e7374617465203d20535441525445443b0a0a202020202f2f20496e697469616c697a652074686520747765656e2c2064656c6574696e67206e756c6c20747765656e2e0a20202020747765656e203d206e6577204172726179286e203d2073656c662e747765656e2e6c656e677468293b0a20202020666f72202869203d20302c206a203d202d313b2069203c206e3b202b2b6929207b0a202020202020696620286f203d2073656c662e747765656e5b695d2e76616c75652e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f75702929207b0a2020202020202020747765656e5b2b2b6a5d203d206f3b0a2020202020207d0a202020207d0a20202020747765656e2e6c656e677468203d206a202b20313b0a20207d0a0a202066756e6374696f6e207469636b28656c617073656429207b0a202020207661722074203d20656c6170736564203c2073656c662e6475726174696f6e203f2073656c662e656173652e63616c6c286e756c6c2c20656c6170736564202f2073656c662e6475726174696f6e29203a202873656c662e74696d65722e726573746172742873746f70292c2073656c662e7374617465203d20454e44494e472c2031292c0a202020202020202069203d202d312c0a20202020202020206e203d20747765656e2e6c656e6774683b0a0a202020207768696c6520282b2b69203c206e29207b0a202020202020747765656e5b695d2e63616c6c286e756c6c2c2074293b0a202020207d0a0a202020202f2f2044697370617463682074686520656e64206576656e742e0a202020206966202873656c662e7374617465203d3d3d20454e44494e4729207b0a20202020202073656c662e6f6e2e63616c6c2822656e64222c206e6f64652c206e6f64652e5f5f646174615f5f2c2073656c662e696e6465782c2073656c662e67726f7570293b0a20202020202073746f7028293b0a202020207d0a20207d0a0a202066756e6374696f6e2073746f702829207b0a2020202073656c662e7374617465203d20454e4445443b0a2020202073656c662e74696d65722e73746f7028293b0a2020202064656c657465207363686564756c65735b69645d3b0a20202020666f722028766172206920696e207363686564756c6573292072657475726e3b202f2f2065736c696e742d64697361626c652d6c696e65206e6f2d756e757365642d766172730a2020202064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a20207d0a7d0a0a76617220696e74657272757074203d2066756e6374696f6e286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652c0a2020202020206163746976652c0a202020202020656d707479203d20747275652c0a202020202020693b0a0a202069662028217363686564756c6573292072657475726e3b0a0a20206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a0a2020666f7220286920696e207363686564756c657329207b0a2020202069662028287363686564756c65203d207363686564756c65735b695d292e6e616d6520213d3d206e616d6529207b20656d707479203d2066616c73653b20636f6e74696e75653b207d0a20202020616374697665203d207363686564756c652e7374617465203e205354415254494e47202626207363686564756c652e7374617465203c20454e44494e473b0a202020207363686564756c652e7374617465203d20454e4445443b0a202020207363686564756c652e74696d65722e73746f7028293b0a202020206966202861637469766529207363686564756c652e6f6e2e63616c6c2822696e74657272757074222c206e6f64652c206e6f64652e5f5f646174615f5f2c207363686564756c652e696e6465782c207363686564756c652e67726f7570293b0a2020202064656c657465207363686564756c65735b695d3b0a20207d0a0a202069662028656d707479292064656c657465206e6f64652e5f5f7472616e736974696f6e3b0a7d3b0a0a7661722073656c656374696f6e5f696e74657272757074203d2066756e6374696f6e286e616d6529207b0a202072657475726e20746869732e656163682866756e6374696f6e2829207b0a20202020696e7465727275707428746869732c206e616d65293b0a20207d293b0a7d3b0a0a66756e6374696f6e20747765656e52656d6f76652869642c206e616d6529207b0a202076617220747765656e302c20747765656e313b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964292c0a2020202020202020747765656e203d207363686564756c652e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d20747765656e30203d20747765656e3b0a202020202020666f7220287661722069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e31203d20747765656e312e736c69636528293b0a20202020202020202020747765656e312e73706c69636528692c2031293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a0a202020207363686564756c652e747765656e203d20747765656e313b0a20207d3b0a7d0a0a66756e6374696f6e20747765656e46756e6374696f6e2869642c206e616d652c2076616c756529207b0a202076617220747765656e302c20747765656e313b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964292c0a2020202020202020747765656e203d207363686564756c652e747765656e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420747765656e2077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420747765656e20616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a2020202069662028747765656e20213d3d20747765656e3029207b0a202020202020747765656e31203d2028747765656e30203d20747765656e292e736c69636528293b0a202020202020666f7220287661722074203d207b6e616d653a206e616d652c2076616c75653a2076616c75657d2c2069203d20302c206e203d20747765656e312e6c656e6774683b2069203c206e3b202b2b6929207b0a202020202020202069662028747765656e315b695d2e6e616d65203d3d3d206e616d6529207b0a20202020202020202020747765656e315b695d203d20743b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020206966202869203d3d3d206e2920747765656e312e707573682874293b0a202020207d0a0a202020207363686564756c652e747765656e203d20747765656e313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f747765656e203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a20206e616d65202b3d2022223b0a0a202069662028617267756d656e74732e6c656e677468203c203229207b0a2020202076617220747765656e203d2067657428746869732e6e6f646528292c206964292e747765656e3b0a20202020666f7220287661722069203d20302c206e203d20747765656e2e6c656e6774682c20743b2069203c206e3b202b2b6929207b0a202020202020696620282874203d20747765656e5b695d292e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e20742e76616c75653b0a2020202020207d0a202020207d0a2020202072657475726e206e756c6c3b0a20207d0a0a202072657475726e20746869732e65616368282876616c7565203d3d206e756c6c203f20747765656e52656d6f7665203a20747765656e46756e6374696f6e292869642c206e616d652c2076616c756529293b0a7d3b0a0a66756e6374696f6e20747765656e56616c7565287472616e736974696f6e2c206e616d652c2076616c756529207b0a2020766172206964203d207472616e736974696f6e2e5f69643b0a0a20207472616e736974696f6e2e656163682866756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073657428746869732c206964293b0a20202020287363686564756c652e76616c7565207c7c20287363686564756c652e76616c7565203d207b7d29295b6e616d655d203d2076616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d293b0a0a202072657475726e2066756e6374696f6e286e6f646529207b0a2020202072657475726e20676574286e6f64652c206964292e76616c75655b6e616d655d3b0a20207d3b0a7d0a0a76617220696e746572706f6c617465203d2066756e6374696f6e28612c206229207b0a202076617220633b0a202072657475726e2028747970656f662062203d3d3d20226e756d62657222203f206433496e746572706f6c6174652e696e746572706f6c6174654e756d6265720a2020202020203a206220696e7374616e63656f66206433436f6c6f722e636f6c6f72203f206433496e746572706f6c6174652e696e746572706f6c6174655267620a2020202020203a202863203d206433436f6c6f722e636f6c6f7228622929203f202862203d20632c206433496e746572706f6c6174652e696e746572706f6c617465526762290a2020202020203a206433496e746572706f6c6174652e696e746572706f6c617465537472696e672928612c2062293b0a7d3b0a0a66756e6374696f6e206174747252656d6f7665286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f7665417474726962757465286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e206174747252656d6f76654e532866756c6c6e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e74286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e2061747472436f6e7374616e744e532866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f7665417474726962757465286e616d65293b0a2020202076616c756530203d20746869732e676574417474726962757465286e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e206174747246756e6374696f6e4e532866756c6c6e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c7565302c2076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292072657475726e20766f696420746869732e72656d6f76654174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202076616c756530203d20746869732e6765744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f61747472203d2066756e6374696f6e286e616d652c2076616c756529207b0a20207661722066756c6c6e616d65203d20643353656c656374696f6e2e6e616d657370616365286e616d65292c2069203d2066756c6c6e616d65203d3d3d20227472616e73666f726d22203f206433496e746572706f6c6174652e696e746572706f6c6174655472616e73666f726d537667203a20696e746572706f6c6174653b0a202072657475726e20746869732e61747472547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f202866756c6c6e616d652e6c6f63616c203f206174747246756e6374696f6e4e53203a206174747246756e6374696f6e292866756c6c6e616d652c20692c20747765656e56616c756528746869732c2022617474722e22202b206e616d652c2076616c756529290a2020202020203a2076616c7565203d3d206e756c6c203f202866756c6c6e616d652e6c6f63616c203f206174747252656d6f76654e53203a206174747252656d6f7665292866756c6c6e616d65290a2020202020203a202866756c6c6e616d652e6c6f63616c203f2061747472436f6e7374616e744e53203a2061747472436f6e7374616e74292866756c6c6e616d652c20692c2076616c7565202b20222229293b0a7d3b0a0a66756e6374696f6e2061747472547765656e4e532866756c6c6e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7365744174747269627574654e532866756c6c6e616d652e73706163652c2066756c6c6e616d652e6c6f63616c2c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a66756e6374696f6e2061747472547765656e286e616d652c2076616c756529207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e736574417474726962757465286e616d652c2069287429293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a766172207472616e736974696f6e5f61747472547765656e203d2066756e6374696f6e286e616d652c2076616c756529207b0a2020766172206b6579203d2022617474722e22202b206e616d653b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a20207661722066756c6c6e616d65203d20643353656c656374696f6e2e6e616d657370616365286e616d65293b0a202072657475726e20746869732e747765656e286b65792c202866756c6c6e616d652e6c6f63616c203f2061747472547765656e4e53203a2061747472547765656e292866756c6c6e616d652c2076616c756529293b0a7d3b0a0a66756e6374696f6e2064656c617946756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e2064656c6179436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a20202020696e697428746869732c206964292e64656c6179203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f64656c6179203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f2064656c617946756e6374696f6e0a202020202020202020203a2064656c6179436f6e7374616e74292869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e64656c61793b0a7d3b0a0a66756e6374696f6e206475726174696f6e46756e6374696f6e2869642c2076616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e6475726174696f6e203d202b76616c75652e6170706c7928746869732c20617267756d656e7473293b0a20207d3b0a7d0a0a66756e6374696f6e206475726174696f6e436f6e7374616e742869642c2076616c756529207b0a202072657475726e2076616c7565203d202b76616c75652c2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e6475726174696f6e203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f6475726174696f6e203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682828747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f206475726174696f6e46756e6374696f6e0a202020202020202020203a206475726174696f6e436f6e7374616e74292869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e6475726174696f6e3b0a7d3b0a0a66756e6374696f6e2065617365436f6e7374616e742869642c2076616c756529207b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e2066756e6374696f6e2829207b0a2020202073657428746869732c206964292e65617365203d2076616c75653b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f65617365203d2066756e6374696f6e2876616c756529207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e6774680a2020202020203f20746869732e656163682865617365436f6e7374616e742869642c2076616c756529290a2020202020203a2067657428746869732e6e6f646528292c206964292e656173653b0a7d3b0a0a766172207472616e736974696f6e5f66696c746572203d2066756e6374696f6e286d6174636829207b0a202069662028747970656f66206d6174636820213d3d202266756e6374696f6e2229206d61746368203d20643353656c656374696f6e2e6d617463686572286d61746368293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d205b5d2c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d29202626206d617463682e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f75702929207b0a202020202020202073756267726f75702e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d3b0a0a766172207472616e736974696f6e5f6d65726765203d2066756e6374696f6e287472616e736974696f6e29207b0a2020696620287472616e736974696f6e2e5f696420213d3d20746869732e5f696429207468726f77206e6577204572726f723b0a0a2020666f7220287661722067726f75707330203d20746869732e5f67726f7570732c2067726f75707331203d207472616e736974696f6e2e5f67726f7570732c206d30203d2067726f757073302e6c656e6774682c206d31203d2067726f757073312e6c656e6774682c206d203d204d6174682e6d696e286d302c206d31292c206d6572676573203d206e6577204172726179286d30292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f757030203d2067726f757073305b6a5d2c2067726f757031203d2067726f757073315b6a5d2c206e203d2067726f7570302e6c656e6774682c206d65726765203d206d65726765735b6a5d203d206e6577204172726179286e292c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f7570305b695d207c7c2067726f7570315b695d29207b0a20202020202020206d657267655b695d203d206e6f64653b0a2020202020207d0a202020207d0a20207d0a0a2020666f7220283b206a203c206d303b202b2b6a29207b0a202020206d65726765735b6a5d203d2067726f757073305b6a5d3b0a20207d0a0a202072657475726e206e6577205472616e736974696f6e286d65726765732c20746869732e5f706172656e74732c20746869732e5f6e616d652c20746869732e5f6964293b0a7d3b0a0a66756e6374696f6e207374617274286e616d6529207b0a202072657475726e20286e616d65202b202222292e7472696d28292e73706c6974282f5e7c5c732b2f292e65766572792866756e6374696f6e287429207b0a202020207661722069203d20742e696e6465784f6628222e22293b0a202020206966202869203e3d2030292074203d20742e736c69636528302c2069293b0a2020202072657475726e202174207c7c2074203d3d3d20227374617274223b0a20207d293b0a7d0a0a66756e6374696f6e206f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229207b0a2020766172206f6e302c206f6e312c20736974203d207374617274286e616d6529203f20696e6974203a207365743b0a202072657475726e2066756e6374696f6e2829207b0a20202020766172207363686564756c65203d2073697428746869732c206964292c0a20202020202020206f6e203d207363686564756c652e6f6e3b0a0a202020202f2f2049662074686973206e6f64652073686172656420612064697370617463682077697468207468652070726576696f7573206e6f64652c0a202020202f2f206a7573742061737369676e2074686520757064617465642073686172656420646973706174636820616e64207765e28099726520646f6e65210a202020202f2f204f74686572776973652c20636f70792d6f6e2d77726974652e0a20202020696620286f6e20213d3d206f6e302920286f6e31203d20286f6e30203d206f6e292e636f70792829292e6f6e286e616d652c206c697374656e6572293b0a0a202020207363686564756c652e6f6e203d206f6e313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f6f6e203d2066756e6374696f6e286e616d652c206c697374656e657229207b0a2020766172206964203d20746869732e5f69643b0a0a202072657475726e20617267756d656e74732e6c656e677468203c20320a2020202020203f2067657428746869732e6e6f646528292c206964292e6f6e2e6f6e286e616d65290a2020202020203a20746869732e65616368286f6e46756e6374696f6e2869642c206e616d652c206c697374656e657229293b0a7d3b0a0a66756e6374696f6e2072656d6f766546756e6374696f6e28696429207b0a202072657475726e2066756e6374696f6e2829207b0a2020202076617220706172656e74203d20746869732e706172656e744e6f64653b0a20202020666f722028766172206920696e20746869732e5f5f7472616e736974696f6e2920696620282b6920213d3d206964292072657475726e3b0a2020202069662028706172656e742920706172656e742e72656d6f76654368696c642874686973293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f72656d6f7665203d2066756e6374696f6e2829207b0a202072657475726e20746869732e6f6e2822656e642e72656d6f7665222c2072656d6f766546756e6374696f6e28746869732e5f696429293b0a7d3b0a0a766172207472616e736974696f6e5f73656c656374203d2066756e6374696f6e2873656c65637429207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d20643353656c656374696f6e2e73656c6563746f722873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d206e6577204172726179286d292c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c2073756267726f7570203d2073756267726f7570735b6a5d203d206e6577204172726179286e292c206e6f64652c207375626e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a20202020202069662028286e6f6465203d2067726f75705b695d2920262620287375626e6f6465203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292929207b0a202020202020202069662028225f5f646174615f5f2220696e206e6f646529207375626e6f64652e5f5f646174615f5f203d206e6f64652e5f5f646174615f5f3b0a202020202020202073756267726f75705b695d203d207375626e6f64653b0a20202020202020207363686564756c652873756267726f75705b695d2c206e616d652c2069642c20692c2073756267726f75702c20676574286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d3b0a0a766172207472616e736974696f6e5f73656c656374416c6c203d2066756e6374696f6e2873656c65637429207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a2020202020206964203d20746869732e5f69643b0a0a202069662028747970656f662073656c65637420213d3d202266756e6374696f6e22292073656c656374203d20643353656c656374696f6e2e73656c6563746f72416c6c2873656c656374293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c2073756267726f757073203d205b5d2c20706172656e7473203d205b5d2c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a2020202020202020666f722028766172206368696c6472656e203d2073656c6563742e63616c6c286e6f64652c206e6f64652e5f5f646174615f5f2c20692c2067726f7570292c206368696c642c20696e6865726974203d20676574286e6f64652c206964292c206b203d20302c206c203d206368696c6472656e2e6c656e6774683b206b203c206c3b202b2b6b29207b0a20202020202020202020696620286368696c64203d206368696c6472656e5b6b5d29207b0a2020202020202020202020207363686564756c65286368696c642c206e616d652c2069642c206b2c206368696c6472656e2c20696e6865726974293b0a202020202020202020207d0a20202020202020207d0a202020202020202073756267726f7570732e70757368286368696c6472656e293b0a2020202020202020706172656e74732e70757368286e6f6465293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2873756267726f7570732c20706172656e74732c206e616d652c206964293b0a7d3b0a0a7661722053656c656374696f6e203d20643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e636f6e7374727563746f723b0a0a766172207472616e736974696f6e5f73656c656374696f6e203d2066756e6374696f6e2829207b0a202072657475726e206e65772053656c656374696f6e28746869732e5f67726f7570732c20746869732e5f706172656e7473293b0a7d3b0a0a66756e6374696f6e207374796c6552656d6f7665286e616d652c20696e746572706f6c61746524243129207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65292c0a202020202020202076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c20643353656c656374696f6e2e7374796c6528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6552656d6f7665456e64286e616d6529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e7374796c652e72656d6f766550726f7065727479286e616d65293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c65436f6e7374616e74286e616d652c20696e746572706f6c6174652424312c2076616c75653129207b0a20207661722076616c756530302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c75653030203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c756531293b0a20207d3b0a7d0a0a66756e6374696f6e207374796c6546756e6374696f6e286e616d652c20696e746572706f6c6174652424312c2076616c756529207b0a20207661722076616c756530302c0a20202020202076616c756531302c0a202020202020696e746572706f6c617465303b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756530203d20643353656c656374696f6e2e7374796c6528746869732c206e616d65292c0a202020202020202076616c756531203d2076616c75652874686973293b0a202020206966202876616c756531203d3d206e756c6c292076616c756531203d2028746869732e7374796c652e72656d6f766550726f7065727479286e616d65292c20643353656c656374696f6e2e7374796c6528746869732c206e616d6529293b0a2020202072657475726e2076616c756530203d3d3d2076616c756531203f206e756c6c0a20202020202020203a2076616c756530203d3d3d2076616c756530302026262076616c756531203d3d3d2076616c75653130203f20696e746572706f6c617465300a20202020202020203a20696e746572706f6c61746530203d20696e746572706f6c6174652424312876616c75653030203d2076616c7565302c2076616c75653130203d2076616c756531293b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f7374796c65203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a20207661722069203d20286e616d65202b3d20222229203d3d3d20227472616e73666f726d22203f206433496e746572706f6c6174652e696e746572706f6c6174655472616e73666f726d437373203a20696e746572706f6c6174653b0a202072657475726e2076616c7565203d3d206e756c6c203f20746869730a202020202020202020202e7374796c65547765656e286e616d652c207374796c6552656d6f7665286e616d652c206929290a202020202020202020202e6f6e2822656e642e7374796c652e22202b206e616d652c207374796c6552656d6f7665456e64286e616d6529290a2020202020203a20746869732e7374796c65547765656e286e616d652c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a202020202020202020203f207374796c6546756e6374696f6e286e616d652c20692c20747765656e56616c756528746869732c20227374796c652e22202b206e616d652c2076616c756529290a202020202020202020203a207374796c65436f6e7374616e74286e616d652c20692c2076616c7565202b202222292c207072696f72697479293b0a7d3b0a0a66756e6374696f6e207374796c65547765656e286e616d652c2076616c75652c207072696f7269747929207b0a202066756e6374696f6e20747765656e2829207b0a20202020766172206e6f6465203d20746869732c2069203d2076616c75652e6170706c79286e6f64652c20617267756d656e7473293b0a2020202072657475726e20692026262066756e6374696f6e287429207b0a2020202020206e6f64652e7374796c652e73657450726f7065727479286e616d652c20692874292c207072696f72697479293b0a202020207d3b0a20207d0a2020747765656e2e5f76616c7565203d2076616c75653b0a202072657475726e20747765656e3b0a7d0a0a766172207472616e736974696f6e5f7374796c65547765656e203d2066756e6374696f6e286e616d652c2076616c75652c207072696f7269747929207b0a2020766172206b6579203d20227374796c652e22202b20286e616d65202b3d202222293b0a202069662028617267756d656e74732e6c656e677468203c2032292072657475726e20286b6579203d20746869732e747765656e286b65792929202626206b65792e5f76616c75653b0a20206966202876616c7565203d3d206e756c6c292072657475726e20746869732e747765656e286b65792c206e756c6c293b0a202069662028747970656f662076616c756520213d3d202266756e6374696f6e2229207468726f77206e6577204572726f723b0a202072657475726e20746869732e747765656e286b65792c207374796c65547765656e286e616d652c2076616c75652c207072696f72697479203d3d206e756c6c203f202222203a207072696f7269747929293b0a7d3b0a0a66756e6374696f6e2074657874436f6e7374616e742876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a20202020746869732e74657874436f6e74656e74203d2076616c75653b0a20207d3b0a7d0a0a66756e6374696f6e207465787446756e6374696f6e2876616c756529207b0a202072657475726e2066756e6374696f6e2829207b0a202020207661722076616c756531203d2076616c75652874686973293b0a20202020746869732e74657874436f6e74656e74203d2076616c756531203d3d206e756c6c203f202222203a2076616c7565313b0a20207d3b0a7d0a0a766172207472616e736974696f6e5f74657874203d2066756e6374696f6e2876616c756529207b0a202072657475726e20746869732e747765656e282274657874222c20747970656f662076616c7565203d3d3d202266756e6374696f6e220a2020202020203f207465787446756e6374696f6e28747765656e56616c756528746869732c202274657874222c2076616c756529290a2020202020203a2074657874436f6e7374616e742876616c7565203d3d206e756c6c203f202222203a2076616c7565202b20222229293b0a7d3b0a0a766172207472616e736974696f6e5f7472616e736974696f6e203d2066756e6374696f6e2829207b0a2020766172206e616d65203d20746869732e5f6e616d652c0a202020202020696430203d20746869732e5f69642c0a202020202020696431203d206e6577496428293b0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a202020202020202076617220696e6865726974203d20676574286e6f64652c20696430293b0a20202020202020207363686564756c65286e6f64652c206e616d652c206964312c20692c2067726f75702c207b0a2020202020202020202074696d653a20696e68657269742e74696d65202b20696e68657269742e64656c6179202b20696e68657269742e6475726174696f6e2c0a2020202020202020202064656c61793a20302c0a202020202020202020206475726174696f6e3a20696e68657269742e6475726174696f6e2c0a20202020202020202020656173653a20696e68657269742e656173650a20202020202020207d293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c20696431293b0a7d3b0a0a766172206964203d20303b0a0a66756e6374696f6e205472616e736974696f6e2867726f7570732c20706172656e74732c206e616d652c20696429207b0a2020746869732e5f67726f757073203d2067726f7570733b0a2020746869732e5f706172656e7473203d20706172656e74733b0a2020746869732e5f6e616d65203d206e616d653b0a2020746869732e5f6964203d2069643b0a7d0a0a66756e6374696f6e207472616e736974696f6e286e616d6529207b0a202072657475726e20643353656c656374696f6e2e73656c656374696f6e28292e7472616e736974696f6e286e616d65293b0a7d0a0a66756e6374696f6e206e657749642829207b0a202072657475726e202b2b69643b0a7d0a0a7661722073656c656374696f6e5f70726f746f74797065203d20643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970653b0a0a5472616e736974696f6e2e70726f746f74797065203d207472616e736974696f6e2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e736974696f6e2c0a202073656c6563743a207472616e736974696f6e5f73656c6563742c0a202073656c656374416c6c3a207472616e736974696f6e5f73656c656374416c6c2c0a202066696c7465723a207472616e736974696f6e5f66696c7465722c0a20206d657267653a207472616e736974696f6e5f6d657267652c0a202073656c656374696f6e3a207472616e736974696f6e5f73656c656374696f6e2c0a20207472616e736974696f6e3a207472616e736974696f6e5f7472616e736974696f6e2c0a202063616c6c3a2073656c656374696f6e5f70726f746f747970652e63616c6c2c0a20206e6f6465733a2073656c656374696f6e5f70726f746f747970652e6e6f6465732c0a20206e6f64653a2073656c656374696f6e5f70726f746f747970652e6e6f64652c0a202073697a653a2073656c656374696f6e5f70726f746f747970652e73697a652c0a2020656d7074793a2073656c656374696f6e5f70726f746f747970652e656d7074792c0a2020656163683a2073656c656374696f6e5f70726f746f747970652e656163682c0a20206f6e3a207472616e736974696f6e5f6f6e2c0a2020617474723a207472616e736974696f6e5f617474722c0a202061747472547765656e3a207472616e736974696f6e5f61747472547765656e2c0a20207374796c653a207472616e736974696f6e5f7374796c652c0a20207374796c65547765656e3a207472616e736974696f6e5f7374796c65547765656e2c0a2020746578743a207472616e736974696f6e5f746578742c0a202072656d6f76653a207472616e736974696f6e5f72656d6f76652c0a2020747765656e3a207472616e736974696f6e5f747765656e2c0a202064656c61793a207472616e736974696f6e5f64656c61792c0a20206475726174696f6e3a207472616e736974696f6e5f6475726174696f6e2c0a2020656173653a207472616e736974696f6e5f656173650a7d3b0a0a7661722064656661756c7454696d696e67203d207b0a202074696d653a206e756c6c2c202f2f20536574206f6e207573652e0a202064656c61793a20302c0a20206475726174696f6e3a203235302c0a2020656173653a206433456173652e656173654375626963496e4f75740a7d3b0a0a66756e6374696f6e20696e6865726974286e6f64652c20696429207b0a20207661722074696d696e673b0a20207768696c652028212874696d696e67203d206e6f64652e5f5f7472616e736974696f6e29207c7c20212874696d696e67203d2074696d696e675b69645d2929207b0a202020206966202821286e6f6465203d206e6f64652e706172656e744e6f64652929207b0a20202020202072657475726e2064656661756c7454696d696e672e74696d65203d20643354696d65722e6e6f7728292c2064656661756c7454696d696e673b0a202020207d0a20207d0a202072657475726e2074696d696e673b0a7d0a0a7661722073656c656374696f6e5f7472616e736974696f6e203d2066756e6374696f6e286e616d6529207b0a20207661722069642c0a20202020202074696d696e673b0a0a2020696620286e616d6520696e7374616e63656f66205472616e736974696f6e29207b0a202020206964203d206e616d652e5f69642c206e616d65203d206e616d652e5f6e616d653b0a20207d20656c7365207b0a202020206964203d206e6577496428292c202874696d696e67203d2064656661756c7454696d696e67292e74696d65203d20643354696d65722e6e6f7728292c206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20207d0a0a2020666f7220287661722067726f757073203d20746869732e5f67726f7570732c206d203d2067726f7570732e6c656e6774682c206a203d20303b206a203c206d3b202b2b6a29207b0a20202020666f7220287661722067726f7570203d2067726f7570735b6a5d2c206e203d2067726f75702e6c656e6774682c206e6f64652c2069203d20303b2069203c206e3b202b2b6929207b0a202020202020696620286e6f6465203d2067726f75705b695d29207b0a20202020202020207363686564756c65286e6f64652c206e616d652c2069642c20692c2067726f75702c2074696d696e67207c7c20696e6865726974286e6f64652c20696429293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e6577205472616e736974696f6e2867726f7570732c20746869732e5f706172656e74732c206e616d652c206964293b0a7d3b0a0a643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e696e74657272757074203d2073656c656374696f6e5f696e746572727570743b0a643353656c656374696f6e2e73656c656374696f6e2e70726f746f747970652e7472616e736974696f6e203d2073656c656374696f6e5f7472616e736974696f6e3b0a0a76617220726f6f74203d205b6e756c6c5d3b0a0a76617220616374697665203d2066756e6374696f6e286e6f64652c206e616d6529207b0a2020766172207363686564756c6573203d206e6f64652e5f5f7472616e736974696f6e2c0a2020202020207363686564756c652c0a202020202020693b0a0a2020696620287363686564756c657329207b0a202020206e616d65203d206e616d65203d3d206e756c6c203f206e756c6c203a206e616d65202b2022223b0a20202020666f7220286920696e207363686564756c657329207b0a20202020202069662028287363686564756c65203d207363686564756c65735b695d292e7374617465203e205343484544554c4544202626207363686564756c652e6e616d65203d3d3d206e616d6529207b0a202020202020202072657475726e206e6577205472616e736974696f6e285b5b6e6f64655d5d2c20726f6f742c206e616d652c202b69293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e206e756c6c3b0a7d3b0a0a6578706f7274732e7472616e736974696f6e203d207472616e736974696f6e3b0a6578706f7274732e616374697665203d206163746976653b0a6578706f7274732e696e74657272757074203d20696e746572727570743b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d636f6c6f72223a34342c2264332d6469737061746368223a34352c2264332d65617365223a34382c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d74696d6572223a36357d5d2c36373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d766f726f6e6f692f2056657273696f6e20312e312e322e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f72747329203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d2929293b0a7d28746869732c202866756e6374696f6e20286578706f72747329207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e2078286429207b0a202072657475726e20645b305d3b0a7d0a0a66756e6374696f6e2079286429207b0a202072657475726e20645b315d3b0a7d0a0a66756e6374696f6e20526564426c61636b547265652829207b0a2020746869732e5f203d206e756c6c3b202f2f20726f6f74206e6f64650a7d0a0a66756e6374696f6e20526564426c61636b4e6f6465286e6f646529207b0a20206e6f64652e55203d202f2f20706172656e74206e6f64650a20206e6f64652e43203d202f2f20636f6c6f72202d207472756520666f72207265642c2066616c736520666f7220626c61636b0a20206e6f64652e4c203d202f2f206c656674206e6f64650a20206e6f64652e52203d202f2f207269676874206e6f64650a20206e6f64652e50203d202f2f2070726576696f7573206e6f64650a20206e6f64652e4e203d206e756c6c3b202f2f206e657874206e6f64650a7d0a0a526564426c61636b547265652e70726f746f74797065203d207b0a2020636f6e7374727563746f723a20526564426c61636b547265652c0a0a2020696e736572743a2066756e6374696f6e2861667465722c206e6f646529207b0a2020202076617220706172656e742c206772616e6470612c20756e636c653b0a0a2020202069662028616674657229207b0a2020202020206e6f64652e50203d2061667465723b0a2020202020206e6f64652e4e203d2061667465722e4e3b0a2020202020206966202861667465722e4e292061667465722e4e2e50203d206e6f64653b0a20202020202061667465722e4e203d206e6f64653b0a2020202020206966202861667465722e5229207b0a20202020202020206166746572203d2061667465722e523b0a20202020202020207768696c65202861667465722e4c29206166746572203d2061667465722e4c3b0a202020202020202061667465722e4c203d206e6f64653b0a2020202020207d20656c7365207b0a202020202020202061667465722e52203d206e6f64653b0a2020202020207d0a202020202020706172656e74203d2061667465723b0a202020207d20656c73652069662028746869732e5f29207b0a2020202020206166746572203d20526564426c61636b466972737428746869732e5f293b0a2020202020206e6f64652e50203d206e756c6c3b0a2020202020206e6f64652e4e203d2061667465723b0a20202020202061667465722e50203d2061667465722e4c203d206e6f64653b0a202020202020706172656e74203d2061667465723b0a202020207d20656c7365207b0a2020202020206e6f64652e50203d206e6f64652e4e203d206e756c6c3b0a202020202020746869732e5f203d206e6f64653b0a202020202020706172656e74203d206e756c6c3b0a202020207d0a202020206e6f64652e4c203d206e6f64652e52203d206e756c6c3b0a202020206e6f64652e55203d20706172656e743b0a202020206e6f64652e43203d20747275653b0a0a202020206166746572203d206e6f64653b0a202020207768696c652028706172656e7420262620706172656e742e4329207b0a2020202020206772616e647061203d20706172656e742e553b0a20202020202069662028706172656e74203d3d3d206772616e6470612e4c29207b0a2020202020202020756e636c65203d206772616e6470612e523b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e5229207b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d20656c7365207b0a2020202020202020756e636c65203d206772616e6470612e4c3b0a202020202020202069662028756e636c6520262620756e636c652e4329207b0a20202020202020202020706172656e742e43203d20756e636c652e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a202020202020202020206166746572203d206772616e6470613b0a20202020202020207d20656c7365207b0a20202020202020202020696620286166746572203d3d3d20706172656e742e4c29207b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a2020202020202020202020206166746572203d20706172656e743b0a202020202020202020202020706172656e74203d2061667465722e553b0a202020202020202020207d0a20202020202020202020706172656e742e43203d2066616c73653b0a202020202020202020206772616e6470612e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c206772616e647061293b0a20202020202020207d0a2020202020207d0a202020202020706172656e74203d2061667465722e553b0a202020207d0a20202020746869732e5f2e43203d2066616c73653b0a20207d2c0a0a202072656d6f76653a2066756e6374696f6e286e6f646529207b0a20202020696620286e6f64652e4e29206e6f64652e4e2e50203d206e6f64652e503b0a20202020696620286e6f64652e5029206e6f64652e502e4e203d206e6f64652e4e3b0a202020206e6f64652e4e203d206e6f64652e50203d206e756c6c3b0a0a2020202076617220706172656e74203d206e6f64652e552c0a20202020202020207369626c696e672c0a20202020202020206c656674203d206e6f64652e4c2c0a20202020202020207269676874203d206e6f64652e522c0a20202020202020206e6578742c0a20202020202020207265643b0a0a2020202069662028216c65667429206e657874203d2072696768743b0a20202020656c7365206966202821726967687429206e657874203d206c6566743b0a20202020656c7365206e657874203d20526564426c61636b4669727374287269676874293b0a0a2020202069662028706172656e7429207b0a20202020202069662028706172656e742e4c203d3d3d206e6f64652920706172656e742e4c203d206e6578743b0a202020202020656c736520706172656e742e52203d206e6578743b0a202020207d20656c7365207b0a202020202020746869732e5f203d206e6578743b0a202020207d0a0a20202020696620286c65667420262620726967687429207b0a202020202020726564203d206e6578742e433b0a2020202020206e6578742e43203d206e6f64652e433b0a2020202020206e6578742e4c203d206c6566743b0a2020202020206c6566742e55203d206e6578743b0a202020202020696620286e65787420213d3d20726967687429207b0a2020202020202020706172656e74203d206e6578742e553b0a20202020202020206e6578742e55203d206e6f64652e553b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020202020706172656e742e4c203d206e6f64653b0a20202020202020206e6578742e52203d2072696768743b0a202020202020202072696768742e55203d206e6578743b0a2020202020207d20656c7365207b0a20202020202020206e6578742e55203d20706172656e743b0a2020202020202020706172656e74203d206e6578743b0a20202020202020206e6f6465203d206e6578742e523b0a2020202020207d0a202020207d20656c7365207b0a202020202020726564203d206e6f64652e433b0a2020202020206e6f6465203d206e6578743b0a202020207d0a0a20202020696620286e6f646529206e6f64652e55203d20706172656e743b0a2020202069662028726564292072657475726e3b0a20202020696620286e6f6465202626206e6f64652e4329207b206e6f64652e43203d2066616c73653b2072657475726e3b207d0a0a20202020646f207b0a202020202020696620286e6f6465203d3d3d20746869732e5f2920627265616b3b0a202020202020696620286e6f6465203d3d3d20706172656e742e4c29207b0a20202020202020207369626c696e67203d20706172656e742e523b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e523b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a2020202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e52207c7c20217369626c696e672e522e4329207b0a2020202020202020202020207369626c696e672e4c2e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f74617465526967687428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e523b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e522e43203d2066616c73653b0a20202020202020202020526564426c61636b526f746174654c65667428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d20656c7365207b0a20202020202020207369626c696e67203d20706172656e742e4c3b0a2020202020202020696620287369626c696e672e4329207b0a202020202020202020207369626c696e672e43203d2066616c73653b0a20202020202020202020706172656e742e43203d20747275653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020207369626c696e67203d20706172656e742e4c3b0a20202020202020207d0a202020202020202069662028287369626c696e672e4c202626207369626c696e672e4c2e43290a202020202020202020207c7c20287369626c696e672e52202626207369626c696e672e522e432929207b0a2020202020202020202069662028217369626c696e672e4c207c7c20217369626c696e672e4c2e4329207b0a2020202020202020202020207369626c696e672e522e43203d2066616c73653b0a2020202020202020202020207369626c696e672e43203d20747275653b0a202020202020202020202020526564426c61636b526f746174654c65667428746869732c207369626c696e67293b0a2020202020202020202020207369626c696e67203d20706172656e742e4c3b0a202020202020202020207d0a202020202020202020207369626c696e672e43203d20706172656e742e433b0a20202020202020202020706172656e742e43203d207369626c696e672e4c2e43203d2066616c73653b0a20202020202020202020526564426c61636b526f74617465526967687428746869732c20706172656e74293b0a202020202020202020206e6f6465203d20746869732e5f3b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a2020202020207369626c696e672e43203d20747275653b0a2020202020206e6f6465203d20706172656e743b0a202020202020706172656e74203d20706172656e742e553b0a202020207d207768696c652028216e6f64652e43293b0a0a20202020696620286e6f646529206e6f64652e43203d2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e20526564426c61636b526f746174654c65667428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e522c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e52203d20712e4c3b0a202069662028702e522920702e522e55203d20703b0a2020712e4c203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b526f74617465526967687428747265652c206e6f646529207b0a20207661722070203d206e6f64652c0a20202020202071203d206e6f64652e4c2c0a202020202020706172656e74203d20702e553b0a0a202069662028706172656e7429207b0a2020202069662028706172656e742e4c203d3d3d20702920706172656e742e4c203d20713b0a20202020656c736520706172656e742e52203d20713b0a20207d20656c7365207b0a20202020747265652e5f203d20713b0a20207d0a0a2020712e55203d20706172656e743b0a2020702e55203d20713b0a2020702e4c203d20712e523b0a202069662028702e4c2920702e4c2e55203d20703b0a2020712e52203d20703b0a7d0a0a66756e6374696f6e20526564426c61636b4669727374286e6f646529207b0a20207768696c6520286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202072657475726e206e6f64653b0a7d0a0a66756e6374696f6e2063726561746545646765286c6566742c2072696768742c2076302c20763129207b0a20207661722065646765203d205b6e756c6c2c206e756c6c5d2c0a202020202020696e646578203d2065646765732e70757368286564676529202d20313b0a2020656467652e6c656674203d206c6566743b0a2020656467652e7269676874203d2072696768743b0a2020696620287630292073657445646765456e6428656467652c206c6566742c2072696768742c207630293b0a2020696620287631292073657445646765456e6428656467652c2072696768742c206c6566742c207631293b0a202063656c6c735b6c6566742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202063656c6c735b72696768742e696e6465785d2e68616c6665646765732e7075736828696e646578293b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e20637265617465426f7264657245646765286c6566742c2076302c20763129207b0a20207661722065646765203d205b76302c2076315d3b0a2020656467652e6c656674203d206c6566743b0a202072657475726e20656467653b0a7d0a0a66756e6374696f6e2073657445646765456e6428656467652c206c6566742c2072696768742c2076657274657829207b0a20206966202821656467655b305d2026262021656467655b315d29207b0a20202020656467655b305d203d207665727465783b0a20202020656467652e6c656674203d206c6566743b0a20202020656467652e7269676874203d2072696768743b0a20207d20656c73652069662028656467652e6c656674203d3d3d20726967687429207b0a20202020656467655b315d203d207665727465783b0a20207d20656c7365207b0a20202020656467655b305d203d207665727465783b0a20207d0a7d0a0a2f2f204c69616e67e28093426172736b79206c696e6520636c697070696e672e0a66756e6374696f6e20636c69704564676528656467652c2078302c2079302c2078312c20793129207b0a20207661722061203d20656467655b305d2c0a20202020202062203d20656467655b315d2c0a2020202020206178203d20615b305d2c0a2020202020206179203d20615b315d2c0a2020202020206278203d20625b305d2c0a2020202020206279203d20625b315d2c0a2020202020207430203d20302c0a2020202020207431203d20312c0a2020202020206478203d206278202d2061782c0a2020202020206479203d206279202d2061792c0a202020202020723b0a0a202072203d207830202d2061783b0a2020696620282164782026262072203e2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207831202d2061783b0a2020696620282164782026262072203c2030292072657475726e3b0a202072202f3d2064783b0a2020696620286478203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286478203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a202072203d207930202d2061793b0a2020696620282164792026262072203e2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d0a0a202072203d207931202d2061793b0a2020696620282164792026262072203c2030292072657475726e3b0a202072202f3d2064793b0a2020696620286479203c203029207b0a202020206966202872203e207431292072657475726e3b0a202020206966202872203e20743029207430203d20723b0a20207d20656c736520696620286479203e203029207b0a202020206966202872203c207430292072657475726e3b0a202020206966202872203c20743129207431203d20723b0a20207d0a0a20206966202821287430203e2030292026262021287431203c203129292072657475726e20747275653b202f2f20544f444f2042657474657220636865636b3f0a0a2020696620287430203e20302920656467655b305d203d205b6178202b207430202a2064782c206179202b207430202a2064795d3b0a2020696620287431203c20312920656467655b315d203d205b6178202b207431202a2064782c206179202b207431202a2064795d3b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636f6e6e6563744564676528656467652c2078302c2079302c2078312c20793129207b0a2020766172207631203d20656467655b315d3b0a2020696620287631292072657475726e20747275653b0a0a2020766172207630203d20656467655b305d2c0a2020202020206c656674203d20656467652e6c6566742c0a2020202020207269676874203d20656467652e72696768742c0a2020202020206c78203d206c6566745b305d2c0a2020202020206c79203d206c6566745b315d2c0a2020202020207278203d2072696768745b305d2c0a2020202020207279203d2072696768745b315d2c0a2020202020206678203d20286c78202b20727829202f20322c0a2020202020206679203d20286c79202b20727929202f20322c0a202020202020666d2c0a20202020202066623b0a0a2020696620287279203d3d3d206c7929207b0a20202020696620286678203c207830207c7c206678203e3d207831292072657475726e3b0a20202020696620286c78203e20727829207b0a2020202020206966202821763029207630203d205b66782c2079305d3b0a202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a2020202020207631203d205b66782c2079315d3b0a202020207d20656c7365207b0a2020202020206966202821763029207630203d205b66782c2079315d3b0a202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a2020202020207631203d205b66782c2079305d3b0a202020207d0a20207d20656c7365207b0a20202020666d203d20286c78202d20727829202f20287279202d206c79293b0a202020206662203d206679202d20666d202a2066783b0a2020202069662028666d203c202d31207c7c20666d203e203129207b0a202020202020696620286c78203e20727829207b0a20202020202020206966202821763029207630203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020202020656c7365206966202876305b315d203e3d207931292072657475726e3b0a20202020202020207631203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b287931202d20666229202f20666d2c2079315d3b0a2020202020202020656c7365206966202876305b315d203c207930292072657475726e3b0a20202020202020207631203d205b287930202d20666229202f20666d2c2079305d3b0a2020202020207d0a202020207d20656c7365207b0a202020202020696620286c79203c20727929207b0a20202020202020206966202821763029207630203d205b78302c20666d202a207830202b2066625d3b0a2020202020202020656c7365206966202876305b305d203e3d207831292072657475726e3b0a20202020202020207631203d205b78312c20666d202a207831202b2066625d3b0a2020202020207d20656c7365207b0a20202020202020206966202821763029207630203d205b78312c20666d202a207831202b2066625d3b0a2020202020202020656c7365206966202876305b305d203c207830292072657475726e3b0a20202020202020207631203d205b78302c20666d202a207830202b2066625d3b0a2020202020207d0a202020207d0a20207d0a0a2020656467655b305d203d2076303b0a2020656467655b315d203d2076313b0a202072657475726e20747275653b0a7d0a0a66756e6374696f6e20636c697045646765732878302c2079302c2078312c20793129207b0a20207661722069203d2065646765732e6c656e6774682c0a202020202020656467653b0a0a20207768696c652028692d2d29207b0a202020206966202821636f6e6e656374456467652865646765203d2065646765735b695d2c2078302c2079302c2078312c207931290a20202020202020207c7c2021636c69704564676528656467652c2078302c2079302c2078312c207931290a20202020202020207c7c2021284d6174682e61627328656467655b305d5b305d202d20656467655b315d5b305d29203e20657073696c6f6e0a2020202020202020202020207c7c204d6174682e61627328656467655b305d5b315d202d20656467655b315d5b315d29203e20657073696c6f6e2929207b0a20202020202064656c6574652065646765735b695d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2063726561746543656c6c287369746529207b0a202072657475726e2063656c6c735b736974652e696e6465785d203d207b0a20202020736974653a20736974652c0a2020202068616c6665646765733a205b5d0a20207d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765416e676c652863656c6c2c206564676529207b0a20207661722073697465203d2063656c6c2e736974652c0a2020202020207661203d20656467652e6c6566742c0a2020202020207662203d20656467652e72696768743b0a20206966202873697465203d3d3d20766229207662203d2076612c207661203d20736974653b0a2020696620287662292072657475726e204d6174682e6174616e322876625b315d202d2076615b315d2c2076625b305d202d2076615b305d293b0a20206966202873697465203d3d3d20766129207661203d20656467655b315d2c207662203d20656467655b305d3b0a2020656c7365207661203d20656467655b305d2c207662203d20656467655b315d3b0a202072657475726e204d6174682e6174616e322876615b305d202d2076625b305d2c2076625b315d202d2076615b315d293b0a7d0a0a66756e6374696f6e2063656c6c48616c666564676553746172742863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c65667420213d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e2063656c6c48616c6665646765456e642863656c6c2c206564676529207b0a202072657475726e20656467655b2b28656467652e6c656674203d3d3d2063656c6c2e73697465295d3b0a7d0a0a66756e6374696f6e20736f727443656c6c48616c6665646765732829207b0a2020666f7220287661722069203d20302c206e203d2063656c6c732e6c656e6774682c2063656c6c2c2068616c6665646765732c206a2c206d3b2069203c206e3b202b2b6929207b0a20202020696620282863656c6c203d2063656c6c735b695d2920262620286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e6774682929207b0a20202020202076617220696e646578203d206e6577204172726179286d292c0a202020202020202020206172726179203d206e6577204172726179286d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a2920696e6465785b6a5d203d206a2c2061727261795b6a5d203d2063656c6c48616c6665646765416e676c652863656c6c2c2065646765735b68616c6665646765735b6a5d5d293b0a202020202020696e6465782e736f72742866756e6374696f6e28692c206a29207b2072657475726e2061727261795b6a5d202d2061727261795b695d3b207d293b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292061727261795b6a5d203d2068616c6665646765735b696e6465785b6a5d5d3b0a202020202020666f7220286a203d20303b206a203c206d3b202b2b6a292068616c6665646765735b6a5d203d2061727261795b6a5d3b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20636c697043656c6c732878302c2079302c2078312c20793129207b0a2020766172206e43656c6c73203d2063656c6c732e6c656e6774682c0a2020202020206943656c6c2c0a20202020202063656c6c2c0a202020202020736974652c0a2020202020206948616c66656467652c0a20202020202068616c6665646765732c0a2020202020206e48616c6665646765732c0a20202020202073746172742c0a2020202020207374617274582c0a2020202020207374617274592c0a202020202020656e642c0a202020202020656e64582c0a202020202020656e64592c0a202020202020636f766572203d20747275653b0a0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a20202020202073697465203d2063656c6c2e736974653b0a20202020202068616c666564676573203d2063656c6c2e68616c6665646765733b0a2020202020206948616c6665646765203d2068616c6665646765732e6c656e6774683b0a0a2020202020202f2f2052656d6f766520616e792064616e676c696e6720636c69707065642065646765732e0a2020202020207768696c6520286948616c66656467652d2d29207b0a2020202020202020696620282165646765735b68616c6665646765735b6948616c66656467655d5d29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c2031293b0a20202020202020207d0a2020202020207d0a0a2020202020202f2f20496e7365727420616e7920626f72646572206564676573206173206e65636573736172792e0a2020202020206948616c6665646765203d20302c206e48616c666564676573203d2068616c6665646765732e6c656e6774683b0a2020202020207768696c6520286948616c6665646765203c206e48616c66656467657329207b0a2020202020202020656e64203d2063656c6c48616c6665646765456e642863656c6c2c2065646765735b68616c6665646765735b6948616c66656467655d5d292c20656e6458203d20656e645b305d2c20656e6459203d20656e645b315d3b0a20202020202020207374617274203d2063656c6c48616c666564676553746172742863656c6c2c2065646765735b68616c6665646765735b2b2b6948616c66656467652025206e48616c6665646765735d5d292c20737461727458203d2073746172745b305d2c20737461727459203d2073746172745b315d3b0a2020202020202020696620284d6174682e61627328656e6458202d2073746172745829203e20657073696c6f6e207c7c204d6174682e61627328656e6459202d2073746172745929203e20657073696c6f6e29207b0a2020202020202020202068616c6665646765732e73706c696365286948616c66656467652c20302c2065646765732e7075736828637265617465426f726465724564676528736974652c20656e642c0a20202020202020202020202020204d6174682e61627328656e6458202d20783029203c20657073696c6f6e202626207931202d20656e6459203e20657073696c6f6e203f205b78302c204d6174682e61627328737461727458202d20783029203c20657073696c6f6e203f20737461727459203a2079315d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793129203c20657073696c6f6e202626207831202d20656e6458203e20657073696c6f6e203f205b4d6174682e61627328737461727459202d20793129203c20657073696c6f6e203f20737461727458203a2078312c2079315d0a20202020202020202020202020203a204d6174682e61627328656e6458202d20783129203c20657073696c6f6e20262620656e6459202d207930203e20657073696c6f6e203f205b78312c204d6174682e61627328737461727458202d20783129203c20657073696c6f6e203f20737461727459203a2079305d0a20202020202020202020202020203a204d6174682e61627328656e6459202d20793029203c20657073696c6f6e20262620656e6458202d207830203e20657073696c6f6e203f205b4d6174682e61627328737461727459202d20793029203c20657073696c6f6e203f20737461727458203a2078302c2079305d0a20202020202020202020202020203a206e756c6c2929202d2031293b0a202020202020202020202b2b6e48616c6665646765733b0a20202020202020207d0a2020202020207d0a0a202020202020696620286e48616c6665646765732920636f766572203d2066616c73653b0a202020207d0a20207d0a0a20202f2f20496620746865726520776572656ee280997420616e792065646765732c20686176652074686520636c6f73657374207369746520636f7665722074686520657874656e742e0a20202f2f20497420646f65736ee2809974206d617474657220776869636820636f726e6572206f662074686520657874656e74207765206d656173757265210a202069662028636f76657229207b0a202020207661722064782c2064792c2064322c206463203d20496e66696e6974793b0a0a20202020666f7220286943656c6c203d20302c20636f766572203d206e756c6c3b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a2020202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020202073697465203d2063656c6c2e736974653b0a20202020202020206478203d20736974655b305d202d2078303b0a20202020202020206479203d20736974655b315d202d2079303b0a20202020202020206432203d206478202a206478202b206479202a2064793b0a2020202020202020696620286432203c20646329206463203d2064322c20636f766572203d2063656c6c3b0a2020202020207d0a202020207d0a0a2020202069662028636f76657229207b0a20202020202076617220763030203d205b78302c2079305d2c20763031203d205b78302c2079315d2c20763131203d205b78312c2079315d2c20763130203d205b78312c2079305d3b0a202020202020636f7665722e68616c6665646765732e70757368280a202020202020202065646765732e7075736828637265617465426f72646572456467652873697465203d20636f7665722e736974652c207630302c207630312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207630312c207631312929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631312c207631302929202d20312c0a202020202020202065646765732e7075736828637265617465426f726465724564676528736974652c207631302c207630302929202d20310a202020202020293b0a202020207d0a20207d0a0a20202f2f204c6173746c792064656c65746520616e792063656c6c732077697468206e6f2065646765733b207468657365207765726520656e746972656c7920636c69707065642e0a2020666f7220286943656c6c203d20303b206943656c6c203c206e43656c6c733b202b2b6943656c6c29207b0a202020206966202863656c6c203d2063656c6c735b6943656c6c5d29207b0a202020202020696620282163656c6c2e68616c6665646765732e6c656e67746829207b0a202020202020202064656c6574652063656c6c735b6943656c6c5d3b0a2020202020207d0a202020207d0a20207d0a7d0a0a76617220636972636c65506f6f6c203d205b5d3b0a0a766172206669727374436972636c653b0a0a66756e6374696f6e20436972636c652829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e78203d0a2020746869732e79203d0a2020746869732e617263203d0a2020746869732e73697465203d0a2020746869732e6379203d206e756c6c3b0a7d0a0a66756e6374696f6e20617474616368436972636c652861726329207b0a2020766172206c417263203d206172632e502c0a20202020202072417263203d206172632e4e3b0a0a202069662028216c417263207c7c202172417263292072657475726e3b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206353697465203d206172632e736974652c0a2020202020207253697465203d20724172632e736974653b0a0a2020696620286c53697465203d3d3d207253697465292072657475726e3b0a0a2020766172206278203d2063536974655b305d2c0a2020202020206279203d2063536974655b315d2c0a2020202020206178203d206c536974655b305d202d2062782c0a2020202020206179203d206c536974655b315d202d2062792c0a2020202020206378203d2072536974655b305d202d2062782c0a2020202020206379203d2072536974655b315d202d2062793b0a0a20207661722064203d2032202a20286178202a206379202d206179202a206378293b0a20206966202864203e3d202d657073696c6f6e32292072657475726e3b0a0a2020766172206861203d206178202a206178202b206179202a2061792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a20202020202078203d20286379202a206861202d206179202a20686329202f20642c0a20202020202079203d20286178202a206863202d206378202a20686129202f20643b0a0a202076617220636972636c65203d20636972636c65506f6f6c2e706f702829207c7c206e657720436972636c653b0a2020636972636c652e617263203d206172633b0a2020636972636c652e73697465203d2063536974653b0a2020636972636c652e78203d2078202b2062783b0a2020636972636c652e79203d2028636972636c652e6379203d2079202b20627929202b204d6174682e737172742878202a2078202b2079202a2079293b202f2f207920626f74746f6d0a0a20206172632e636972636c65203d20636972636c653b0a0a2020766172206265666f7265203d206e756c6c2c0a2020202020206e6f6465203d20636972636c65732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202069662028636972636c652e79203c206e6f64652e79207c7c2028636972636c652e79203d3d3d206e6f64652e7920262620636972636c652e78203c3d206e6f64652e782929207b0a202020202020696620286e6f64652e4c29206e6f6465203d206e6f64652e4c3b0a202020202020656c7365207b206265666f7265203d206e6f64652e503b20627265616b3b207d0a202020207d20656c7365207b0a202020202020696620286e6f64652e5229206e6f6465203d206e6f64652e523b0a202020202020656c7365207b206265666f7265203d206e6f64653b20627265616b3b207d0a202020207d0a20207d0a0a2020636972636c65732e696e73657274286265666f72652c20636972636c65293b0a202069662028216265666f726529206669727374436972636c65203d20636972636c653b0a7d0a0a66756e6374696f6e20646574616368436972636c652861726329207b0a202076617220636972636c65203d206172632e636972636c653b0a202069662028636972636c6529207b0a202020206966202821636972636c652e5029206669727374436972636c65203d20636972636c652e4e3b0a20202020636972636c65732e72656d6f766528636972636c65293b0a20202020636972636c65506f6f6c2e7075736828636972636c65293b0a20202020526564426c61636b4e6f646528636972636c65293b0a202020206172632e636972636c65203d206e756c6c3b0a20207d0a7d0a0a766172206265616368506f6f6c203d205b5d3b0a0a66756e6374696f6e2042656163682829207b0a2020526564426c61636b4e6f64652874686973293b0a2020746869732e65646765203d0a2020746869732e73697465203d0a2020746869732e636972636c65203d206e756c6c3b0a7d0a0a66756e6374696f6e206372656174654265616368287369746529207b0a2020766172206265616368203d206265616368506f6f6c2e706f702829207c7c206e65772042656163683b0a202062656163682e73697465203d20736974653b0a202072657475726e2062656163683b0a7d0a0a66756e6374696f6e20646574616368426561636828626561636829207b0a2020646574616368436972636c65286265616368293b0a2020626561636865732e72656d6f7665286265616368293b0a20206265616368506f6f6c2e70757368286265616368293b0a2020526564426c61636b4e6f6465286265616368293b0a7d0a0a66756e6374696f6e2072656d6f7665426561636828626561636829207b0a202076617220636972636c65203d2062656163682e636972636c652c0a20202020202078203d20636972636c652e782c0a20202020202079203d20636972636c652e63792c0a202020202020766572746578203d205b782c20795d2c0a20202020202070726576696f7573203d2062656163682e502c0a2020202020206e657874203d2062656163682e4e2c0a202020202020646973617070656172696e67203d205b62656163685d3b0a0a20206465746163684265616368286265616368293b0a0a2020766172206c417263203d2070726576696f75733b0a20207768696c6520286c4172632e636972636c650a2020202020202626204d6174682e6162732878202d206c4172632e636972636c652e7829203c20657073696c6f6e0a2020202020202626204d6174682e6162732879202d206c4172632e636972636c652e637929203c20657073696c6f6e29207b0a2020202070726576696f7573203d206c4172632e503b0a20202020646973617070656172696e672e756e7368696674286c417263293b0a202020206465746163684265616368286c417263293b0a202020206c417263203d2070726576696f75733b0a20207d0a0a2020646973617070656172696e672e756e7368696674286c417263293b0a2020646574616368436972636c65286c417263293b0a0a20207661722072417263203d206e6578743b0a20207768696c652028724172632e636972636c650a2020202020202626204d6174682e6162732878202d20724172632e636972636c652e7829203c20657073696c6f6e0a2020202020202626204d6174682e6162732879202d20724172632e636972636c652e637929203c20657073696c6f6e29207b0a202020206e657874203d20724172632e4e3b0a20202020646973617070656172696e672e707573682872417263293b0a2020202064657461636842656163682872417263293b0a2020202072417263203d206e6578743b0a20207d0a0a2020646973617070656172696e672e707573682872417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206e41726373203d20646973617070656172696e672e6c656e6774682c0a202020202020694172633b0a2020666f72202869417263203d20313b2069417263203c206e417263733b202b2b6941726329207b0a2020202072417263203d20646973617070656172696e675b694172635d3b0a202020206c417263203d20646973617070656172696e675b69417263202d20315d3b0a2020202073657445646765456e6428724172632e656467652c206c4172632e736974652c20724172632e736974652c20766572746578293b0a20207d0a0a20206c417263203d20646973617070656172696e675b305d3b0a202072417263203d20646973617070656172696e675b6e41726373202d20315d3b0a2020724172632e65646765203d2063726561746545646765286c4172632e736974652c20724172632e736974652c206e756c6c2c20766572746578293b0a0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206164644265616368287369746529207b0a20207661722078203d20736974655b305d2c0a202020202020646972656374726978203d20736974655b315d2c0a2020202020206c4172632c0a202020202020724172632c0a20202020202064786c2c0a2020202020206478722c0a2020202020206e6f6465203d20626561636865732e5f3b0a0a20207768696c6520286e6f646529207b0a2020202064786c203d206c656674427265616b506f696e74286e6f64652c2064697265637472697829202d20783b0a202020206966202864786c203e20657073696c6f6e29206e6f6465203d206e6f64652e4c3b20656c7365207b0a202020202020647872203d2078202d207269676874427265616b506f696e74286e6f64652c20646972656374726978293b0a20202020202069662028647872203e20657073696c6f6e29207b0a202020202020202069662028216e6f64652e5229207b0a202020202020202020206c417263203d206e6f64653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206e6f6465203d206e6f64652e523b0a2020202020207d20656c7365207b0a20202020202020206966202864786c203e202d657073696c6f6e29207b0a202020202020202020206c417263203d206e6f64652e503b0a2020202020202020202072417263203d206e6f64653b0a20202020202020207d20656c73652069662028647872203e202d657073696c6f6e29207b0a202020202020202020206c417263203d206e6f64653b0a2020202020202020202072417263203d206e6f64652e4e3b0a20202020202020207d20656c7365207b0a202020202020202020206c417263203d2072417263203d206e6f64653b0a20202020202020207d0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a20207d0a0a202063726561746543656c6c2873697465293b0a2020766172206e6577417263203d2063726561746542656163682873697465293b0a2020626561636865732e696e73657274286c4172632c206e6577417263293b0a0a202069662028216c417263202626202172417263292072657475726e3b0a0a2020696620286c417263203d3d3d207241726329207b0a20202020646574616368436972636c65286c417263293b0a2020202072417263203d206372656174654265616368286c4172632e73697465293b0a20202020626561636865732e696e73657274286e65774172632c2072417263293b0a202020206e65774172632e65646765203d20724172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a20202020617474616368436972636c65286c417263293b0a20202020617474616368436972636c652872417263293b0a2020202072657475726e3b0a20207d0a0a202069662028217241726329207b202f2f202626206c4172630a202020206e65774172632e65646765203d2063726561746545646765286c4172632e736974652c206e65774172632e73697465293b0a2020202072657475726e3b0a20207d0a0a20202f2f20656c7365206c41726320213d3d20724172630a2020646574616368436972636c65286c417263293b0a2020646574616368436972636c652872417263293b0a0a2020766172206c53697465203d206c4172632e736974652c0a2020202020206178203d206c536974655b305d2c0a2020202020206179203d206c536974655b315d2c0a2020202020206278203d20736974655b305d202d2061782c0a2020202020206279203d20736974655b315d202d2061792c0a2020202020207253697465203d20724172632e736974652c0a2020202020206378203d2072536974655b305d202d2061782c0a2020202020206379203d2072536974655b315d202d2061792c0a20202020202064203d2032202a20286278202a206379202d206279202a206378292c0a2020202020206862203d206278202a206278202b206279202a2062792c0a2020202020206863203d206378202a206378202b206379202a2063792c0a202020202020766572746578203d205b286379202a206862202d206279202a20686329202f2064202b2061782c20286278202a206863202d206378202a20686229202f2064202b2061795d3b0a0a202073657445646765456e6428724172632e656467652c206c536974652c2072536974652c20766572746578293b0a20206e65774172632e65646765203d2063726561746545646765286c536974652c20736974652c206e756c6c2c20766572746578293b0a2020724172632e65646765203d206372656174654564676528736974652c2072536974652c206e756c6c2c20766572746578293b0a2020617474616368436972636c65286c417263293b0a2020617474616368436972636c652872417263293b0a7d0a0a66756e6374696f6e206c656674427265616b506f696e74286172632c2064697265637472697829207b0a20207661722073697465203d206172632e736974652c0a20202020202072666f6378203d20736974655b305d2c0a20202020202072666f6379203d20736974655b315d2c0a20202020202070627932203d2072666f6379202d206469726563747269783b0a0a2020696620282170627932292072657475726e2072666f63783b0a0a2020766172206c417263203d206172632e503b0a202069662028216c417263292072657475726e202d496e66696e6974793b0a0a202073697465203d206c4172632e736974653b0a2020766172206c666f6378203d20736974655b305d2c0a2020202020206c666f6379203d20736974655b315d2c0a202020202020706c627932203d206c666f6379202d206469726563747269783b0a0a20206966202821706c627932292072657475726e206c666f63783b0a0a202076617220686c203d206c666f6378202d2072666f63782c0a20202020202061627932203d2031202f2070627932202d2031202f20706c6279322c0a20202020202062203d20686c202f20706c6279323b0a0a20206966202861627932292072657475726e20282d62202b204d6174682e737172742862202a2062202d2032202a2061627932202a2028686c202a20686c202f20282d32202a20706c62793229202d206c666f6379202b20706c627932202f2032202b2072666f6379202d2070627932202f2032292929202f2061627932202b2072666f63783b0a0a202072657475726e202872666f6378202b206c666f637829202f20323b0a7d0a0a66756e6374696f6e207269676874427265616b506f696e74286172632c2064697265637472697829207b0a20207661722072417263203d206172632e4e3b0a20206966202872417263292072657475726e206c656674427265616b506f696e7428724172632c20646972656374726978293b0a20207661722073697465203d206172632e736974653b0a202072657475726e20736974655b315d203d3d3d20646972656374726978203f20736974655b305d203a20496e66696e6974793b0a7d0a0a76617220657073696c6f6e203d2031652d363b0a76617220657073696c6f6e32203d2031652d31323b0a76617220626561636865733b0a7661722063656c6c733b0a76617220636972636c65733b0a7661722065646765733b0a0a66756e6374696f6e20747269616e676c654172656128612c20622c206329207b0a202072657475726e2028615b305d202d20635b305d29202a2028625b315d202d20615b315d29202d2028615b305d202d20625b305d29202a2028635b315d202d20615b315d293b0a7d0a0a66756e6374696f6e206c657869636f6772617068696328612c206229207b0a202072657475726e20625b315d202d20615b315d0a2020202020207c7c20625b305d202d20615b305d3b0a7d0a0a66756e6374696f6e204469616772616d2873697465732c20657874656e7429207b0a20207661722073697465203d2073697465732e736f7274286c657869636f67726170686963292e706f7028292c0a202020202020782c0a202020202020792c0a202020202020636972636c653b0a0a20206564676573203d205b5d3b0a202063656c6c73203d206e65772041727261792873697465732e6c656e677468293b0a202062656163686573203d206e657720526564426c61636b547265653b0a2020636972636c6573203d206e657720526564426c61636b547265653b0a0a20207768696c6520287472756529207b0a20202020636972636c65203d206669727374436972636c653b0a202020206966202873697465202626202821636972636c65207c7c20736974655b315d203c20636972636c652e79207c7c2028736974655b315d203d3d3d20636972636c652e7920262620736974655b305d203c20636972636c652e78292929207b0a20202020202069662028736974655b305d20213d3d2078207c7c20736974655b315d20213d3d207929207b0a202020202020202061646442656163682873697465293b0a202020202020202078203d20736974655b305d2c2079203d20736974655b315d3b0a2020202020207d0a20202020202073697465203d2073697465732e706f7028293b0a202020207d20656c73652069662028636972636c6529207b0a20202020202072656d6f7665426561636828636972636c652e617263293b0a202020207d20656c7365207b0a202020202020627265616b3b0a202020207d0a20207d0a0a2020736f727443656c6c48616c66656467657328293b0a0a202069662028657874656e7429207b0a20202020766172207830203d202b657874656e745b305d5b305d2c0a20202020202020207930203d202b657874656e745b305d5b315d2c0a20202020202020207831203d202b657874656e745b315d5b305d2c0a20202020202020207931203d202b657874656e745b315d5b315d3b0a20202020636c697045646765732878302c2079302c2078312c207931293b0a20202020636c697043656c6c732878302c2079302c2078312c207931293b0a20207d0a0a2020746869732e6564676573203d2065646765733b0a2020746869732e63656c6c73203d2063656c6c733b0a0a202062656163686573203d0a2020636972636c6573203d0a20206564676573203d0a202063656c6c73203d206e756c6c3b0a7d0a0a4469616772616d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a204469616772616d2c0a0a2020706f6c79676f6e733a2066756e6374696f6e2829207b0a20202020766172206564676573203d20746869732e65646765733b0a0a2020202072657475726e20746869732e63656c6c732e6d61702866756e6374696f6e2863656c6c29207b0a20202020202076617220706f6c79676f6e203d2063656c6c2e68616c6665646765732e6d61702866756e6374696f6e286929207b2072657475726e2063656c6c48616c666564676553746172742863656c6c2c2065646765735b695d293b207d293b0a202020202020706f6c79676f6e2e64617461203d2063656c6c2e736974652e646174613b0a20202020202072657475726e20706f6c79676f6e3b0a202020207d293b0a20207d2c0a0a2020747269616e676c65733a2066756e6374696f6e2829207b0a2020202076617220747269616e676c6573203d205b5d2c0a20202020202020206564676573203d20746869732e65646765733b0a0a20202020746869732e63656c6c732e666f72456163682866756e6374696f6e2863656c6c2c206929207b0a2020202020206966202821286d203d202868616c666564676573203d2063656c6c2e68616c666564676573292e6c656e67746829292072657475726e3b0a2020202020207661722073697465203d2063656c6c2e736974652c0a2020202020202020202068616c6665646765732c0a202020202020202020206a203d202d312c0a202020202020202020206d2c0a2020202020202020202073302c0a202020202020202020206531203d2065646765735b68616c6665646765735b6d202d20315d5d2c0a202020202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a0a2020202020207768696c6520282b2b6a203c206d29207b0a20202020202020207330203d2073313b0a20202020202020206531203d2065646765735b68616c6665646765735b6a5d5d3b0a20202020202020207331203d2065312e6c656674203d3d3d2073697465203f2065312e7269676874203a2065312e6c6566743b0a20202020202020206966202873302026262073312026262069203c2073302e696e6465782026262069203c2073312e696e64657820262620747269616e676c654172656128736974652c2073302c20733129203c203029207b0a20202020202020202020747269616e676c65732e70757368285b736974652e646174612c2073302e646174612c2073312e646174615d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a2020202072657475726e20747269616e676c65733b0a20207d2c0a0a20206c696e6b733a2066756e6374696f6e2829207b0a2020202072657475726e20746869732e65646765732e66696c7465722866756e6374696f6e286564676529207b0a20202020202072657475726e20656467652e72696768743b0a202020207d292e6d61702866756e6374696f6e286564676529207b0a20202020202072657475726e207b0a2020202020202020736f757263653a20656467652e6c6566742e646174612c0a20202020202020207461726765743a20656467652e72696768742e646174610a2020202020207d3b0a202020207d293b0a20207d2c0a0a202066696e643a2066756e6374696f6e28782c20792c2072616469757329207b0a202020207661722074686174203d20746869732c2069302c206931203d20746861742e5f666f756e64207c7c20302c206e203d20746861742e63656c6c732e6c656e6774682c2063656c6c3b0a0a202020202f2f20557365207468652070726576696f75736c792d666f756e642063656c6c2c206f72207374617274207769746820616e20617262697472617279206f6e652e0a202020207768696c652028212863656c6c203d20746861742e63656c6c735b69315d292920696620282b2b6931203e3d206e292072657475726e206e756c6c3b0a20202020766172206478203d2078202d2063656c6c2e736974655b305d2c206479203d2079202d2063656c6c2e736974655b315d2c206432203d206478202a206478202b206479202a2064793b0a0a202020202f2f205472617665727365207468652068616c662d656467657320746f2066696e64206120636c6f7365722063656c6c2c20696620616e792e0a20202020646f207b0a20202020202063656c6c203d20746861742e63656c6c735b6930203d2069315d2c206931203d206e756c6c3b0a20202020202063656c6c2e68616c6665646765732e666f72456163682866756e6374696f6e286529207b0a20202020202020207661722065646765203d20746861742e65646765735b655d2c2076203d20656467652e6c6566743b0a2020202020202020696620282876203d3d3d2063656c6c2e73697465207c7c2021762920262620212876203d20656467652e726967687429292072657475726e3b0a2020202020202020766172207678203d2078202d20765b305d2c207679203d2079202d20765b315d2c207632203d207678202a207678202b207679202a2076793b0a2020202020202020696620287632203c20643229206432203d2076322c206931203d20762e696e6465783b0a2020202020207d293b0a202020207d207768696c652028693120213d3d206e756c6c293b0a0a20202020746861742e5f666f756e64203d2069303b0a0a2020202072657475726e20726164697573203d3d206e756c6c207c7c206432203c3d20726164697573202a20726164697573203f2063656c6c2e73697465203a206e756c6c3b0a20207d0a7d3b0a0a76617220766f726f6e6f69203d2066756e6374696f6e2829207b0a20207661722078242431203d20782c0a20202020202079242431203d20792c0a202020202020657874656e74203d206e756c6c3b0a0a202066756e6374696f6e20766f726f6e6f69286461746129207b0a2020202072657475726e206e6577204469616772616d28646174612e6d61702866756e6374696f6e28642c206929207b0a2020202020207661722073203d205b4d6174682e726f756e64287824243128642c20692c206461746129202f20657073696c6f6e29202a20657073696c6f6e2c204d6174682e726f756e64287924243128642c20692c206461746129202f20657073696c6f6e29202a20657073696c6f6e5d3b0a202020202020732e696e646578203d20693b0a202020202020732e64617461203d20643b0a20202020202072657475726e20733b0a202020207d292c20657874656e74293b0a20207d0a0a2020766f726f6e6f692e706f6c79676f6e73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e706f6c79676f6e7328293b0a20207d3b0a0a2020766f726f6e6f692e6c696e6b73203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e6c696e6b7328293b0a20207d3b0a0a2020766f726f6e6f692e747269616e676c6573203d2066756e6374696f6e286461746129207b0a2020202072657475726e20766f726f6e6f692864617461292e747269616e676c657328293b0a20207d3b0a0a2020766f726f6e6f692e78203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202878242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20766f726f6e6f6929203a20782424313b0a20207d3b0a0a2020766f726f6e6f692e79203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202879242431203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c20766f726f6e6f6929203a20792424313b0a20207d3b0a0a2020766f726f6e6f692e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b5b657874656e745b305d5b305d2c20657874656e745b305d5b315d5d2c205b657874656e745b315d5b305d2c20657874656e745b315d5b315d5d5d3b0a20207d3b0a0a2020766f726f6e6f692e73697a65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d205f203d3d206e756c6c203f206e756c6c203a205b5b302c20305d2c205b2b5f5b305d2c202b5f5b315d5d5d2c20766f726f6e6f6929203a20657874656e74202626205b657874656e745b315d5b305d202d20657874656e745b305d5b305d2c20657874656e745b315d5b315d202d20657874656e745b305d5b315d5d3b0a20207d3b0a0a202072657475726e20766f726f6e6f693b0a7d3b0a0a6578706f7274732e766f726f6e6f69203d20766f726f6e6f693b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b7d5d2c36383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f2068747470733a2f2f64336a732e6f72672f64332d7a6f6f6d2f2056657273696f6e20312e372e312e20436f707972696768742032303137204d696b6520426f73746f636b2e0a2866756e6374696f6e2028676c6f62616c2c20666163746f727929207b0a09747970656f66206578706f727473203d3d3d20276f626a6563742720262620747970656f66206d6f64756c6520213d3d2027756e646566696e656427203f20666163746f7279286578706f7274732c2072657175697265282764332d646973706174636827292c2072657175697265282764332d6472616727292c2072657175697265282764332d696e746572706f6c61746527292c2072657175697265282764332d73656c656374696f6e27292c2072657175697265282764332d7472616e736974696f6e272929203a0a09747970656f6620646566696e65203d3d3d202766756e6374696f6e2720262620646566696e652e616d64203f20646566696e65285b276578706f727473272c202764332d6469737061746368272c202764332d64726167272c202764332d696e746572706f6c617465272c202764332d73656c656374696f6e272c202764332d7472616e736974696f6e275d2c20666163746f727929203a0a0928666163746f72792828676c6f62616c2e6433203d20676c6f62616c2e6433207c7c207b7d292c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e64332c676c6f62616c2e643329293b0a7d28746869732c202866756e6374696f6e20286578706f7274732c643344697370617463682c6433447261672c6433496e746572706f6c6174652c643353656c656374696f6e2c64335472616e736974696f6e29207b202775736520737472696374273b0a0a76617220636f6e7374616e74203d2066756e6374696f6e287829207b0a202072657475726e2066756e6374696f6e2829207b0a2020202072657475726e20783b0a20207d3b0a7d3b0a0a66756e6374696f6e205a6f6f6d4576656e74287461726765742c20747970652c207472616e73666f726d29207b0a2020746869732e746172676574203d207461726765743b0a2020746869732e74797065203d20747970653b0a2020746869732e7472616e73666f726d203d207472616e73666f726d3b0a7d0a0a66756e6374696f6e205472616e73666f726d286b2c20782c207929207b0a2020746869732e6b203d206b3b0a2020746869732e78203d20783b0a2020746869732e79203d20793b0a7d0a0a5472616e73666f726d2e70726f746f74797065203d207b0a2020636f6e7374727563746f723a205472616e73666f726d2c0a20207363616c653a2066756e6374696f6e286b29207b0a2020202072657475726e206b203d3d3d2031203f2074686973203a206e6577205472616e73666f726d28746869732e6b202a206b2c20746869732e782c20746869732e79293b0a20207d2c0a20207472616e736c6174653a2066756e6374696f6e28782c207929207b0a2020202072657475726e2078203d3d3d203020262079203d3d3d2030203f2074686973203a206e6577205472616e73666f726d28746869732e6b2c20746869732e78202b20746869732e6b202a20782c20746869732e79202b20746869732e6b202a2079293b0a20207d2c0a20206170706c793a2066756e6374696f6e28706f696e7429207b0a2020202072657475726e205b706f696e745b305d202a20746869732e6b202b20746869732e782c20706f696e745b315d202a20746869732e6b202b20746869732e795d3b0a20207d2c0a20206170706c79583a2066756e6374696f6e287829207b0a2020202072657475726e2078202a20746869732e6b202b20746869732e783b0a20207d2c0a20206170706c79593a2066756e6374696f6e287929207b0a2020202072657475726e2079202a20746869732e6b202b20746869732e793b0a20207d2c0a2020696e766572743a2066756e6374696f6e286c6f636174696f6e29207b0a2020202072657475726e205b286c6f636174696f6e5b305d202d20746869732e7829202f20746869732e6b2c20286c6f636174696f6e5b315d202d20746869732e7929202f20746869732e6b5d3b0a20207d2c0a2020696e76657274583a2066756e6374696f6e287829207b0a2020202072657475726e202878202d20746869732e7829202f20746869732e6b3b0a20207d2c0a2020696e76657274593a2066756e6374696f6e287929207b0a2020202072657475726e202879202d20746869732e7929202f20746869732e6b3b0a20207d2c0a202072657363616c65583a2066756e6374696f6e287829207b0a2020202072657475726e20782e636f707928292e646f6d61696e28782e72616e676528292e6d617028746869732e696e76657274582c2074686973292e6d617028782e696e766572742c207829293b0a20207d2c0a202072657363616c65593a2066756e6374696f6e287929207b0a2020202072657475726e20792e636f707928292e646f6d61696e28792e72616e676528292e6d617028746869732e696e76657274592c2074686973292e6d617028792e696e766572742c207929293b0a20207d2c0a2020746f537472696e673a2066756e6374696f6e2829207b0a2020202072657475726e20227472616e736c6174652822202b20746869732e78202b20222c22202b20746869732e79202b202229207363616c652822202b20746869732e6b202b202229223b0a20207d0a7d3b0a0a766172206964656e74697479203d206e6577205472616e73666f726d28312c20302c2030293b0a0a7472616e73666f726d2e70726f746f74797065203d205472616e73666f726d2e70726f746f747970653b0a0a66756e6374696f6e207472616e73666f726d286e6f646529207b0a202072657475726e206e6f64652e5f5f7a6f6f6d207c7c206964656e746974793b0a7d0a0a66756e6374696f6e206e6f70726f7061676174696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d0a0a766172206e6f6576656e74203d2066756e6374696f6e2829207b0a2020643353656c656374696f6e2e6576656e742e70726576656e7444656661756c7428293b0a2020643353656c656374696f6e2e6576656e742e73746f70496d6d65646961746550726f7061676174696f6e28293b0a7d3b0a0a2f2f2049676e6f72652072696768742d636c69636b2c2073696e636520746861742073686f756c64206f70656e2074686520636f6e74657874206d656e752e0a66756e6374696f6e2064656661756c7446696c7465722829207b0a202072657475726e2021643353656c656374696f6e2e6576656e742e627574746f6e3b0a7d0a0a66756e6374696f6e2064656661756c74457874656e742829207b0a20207661722065203d20746869732c20772c20683b0a2020696620286520696e7374616e63656f6620535647456c656d656e7429207b0a2020202065203d20652e6f776e6572535647456c656d656e74207c7c20653b0a2020202077203d20652e77696474682e6261736556616c2e76616c75653b0a2020202068203d20652e6865696768742e6261736556616c2e76616c75653b0a20207d20656c7365207b0a2020202077203d20652e636c69656e7457696474683b0a2020202068203d20652e636c69656e744865696768743b0a20207d0a202072657475726e205b5b302c20305d2c205b772c20685d5d3b0a7d0a0a66756e6374696f6e2064656661756c745472616e73666f726d2829207b0a202072657475726e20746869732e5f5f7a6f6f6d207c7c206964656e746974793b0a7d0a0a66756e6374696f6e2064656661756c74576865656c44656c74612829207b0a202072657475726e202d643353656c656374696f6e2e6576656e742e64656c746159202a2028643353656c656374696f6e2e6576656e742e64656c74614d6f6465203f20313230203a203129202f203530303b0a7d0a0a66756e6374696f6e2064656661756c74546f75636861626c652829207b0a202072657475726e20226f6e746f75636873746172742220696e20746869733b0a7d0a0a66756e6374696f6e2064656661756c74436f6e73747261696e287472616e73666f726d2424312c20657874656e742c207472616e736c617465457874656e7429207b0a202076617220647830203d207472616e73666f726d2424312e696e766572745828657874656e745b305d5b305d29202d207472616e736c617465457874656e745b305d5b305d2c0a202020202020647831203d207472616e73666f726d2424312e696e766572745828657874656e745b315d5b305d29202d207472616e736c617465457874656e745b315d5b305d2c0a202020202020647930203d207472616e73666f726d2424312e696e766572745928657874656e745b305d5b315d29202d207472616e736c617465457874656e745b305d5b315d2c0a202020202020647931203d207472616e73666f726d2424312e696e766572745928657874656e745b315d5b315d29202d207472616e736c617465457874656e745b315d5b315d3b0a202072657475726e207472616e73666f726d2424312e7472616e736c617465280a20202020647831203e20647830203f2028647830202b2064783129202f2032203a204d6174682e6d696e28302c2064783029207c7c204d6174682e6d617828302c20647831292c0a20202020647931203e20647930203f2028647930202b2064793129202f2032203a204d6174682e6d696e28302c2064793029207c7c204d6174682e6d617828302c20647931290a2020293b0a7d0a0a766172207a6f6f6d203d2066756e6374696f6e2829207b0a20207661722066696c746572203d2064656661756c7446696c7465722c0a202020202020657874656e74203d2064656661756c74457874656e742c0a202020202020636f6e73747261696e203d2064656661756c74436f6e73747261696e2c0a202020202020776865656c44656c7461203d2064656661756c74576865656c44656c74612c0a202020202020746f75636861626c65203d2064656661756c74546f75636861626c652c0a2020202020207363616c65457874656e74203d205b302c20496e66696e6974795d2c0a2020202020207472616e736c617465457874656e74203d205b5b2d496e66696e6974792c202d496e66696e6974795d2c205b496e66696e6974792c20496e66696e6974795d5d2c0a2020202020206475726174696f6e203d203235302c0a202020202020696e746572706f6c617465203d206433496e746572706f6c6174652e696e746572706f6c6174655a6f6f6d2c0a2020202020206765737475726573203d205b5d2c0a2020202020206c697374656e657273203d20643344697370617463682e646973706174636828227374617274222c20227a6f6f6d222c2022656e6422292c0a202020202020746f7563687374617274696e672c0a202020202020746f756368656e64696e672c0a202020202020746f75636844656c6179203d203530302c0a202020202020776865656c44656c6179203d203135302c0a202020202020636c69636b44697374616e636532203d20303b0a0a202066756e6374696f6e207a6f6f6d2873656c656374696f6e29207b0a2020202073656c656374696f6e0a20202020202020202e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d290a20202020202020202e6f6e2822776865656c2e7a6f6f6d222c20776865656c6564290a20202020202020202e6f6e28226d6f757365646f776e2e7a6f6f6d222c206d6f757365646f776e6564290a20202020202020202e6f6e282264626c636c69636b2e7a6f6f6d222c2064626c636c69636b6564290a2020202020202e66696c74657228746f75636861626c65290a20202020202020202e6f6e2822746f75636873746172742e7a6f6f6d222c20746f75636873746172746564290a20202020202020202e6f6e2822746f7563686d6f76652e7a6f6f6d222c20746f7563686d6f766564290a20202020202020202e6f6e2822746f756368656e642e7a6f6f6d20746f75636863616e63656c2e7a6f6f6d222c20746f756368656e646564290a20202020202020202e7374796c652822746f7563682d616374696f6e222c20226e6f6e6522290a20202020202020202e7374796c6528222d7765626b69742d7461702d686967686c696768742d636f6c6f72222c20227267626128302c302c302c302922293b0a20207d0a0a20207a6f6f6d2e7472616e73666f726d203d2066756e6374696f6e28636f6c6c656374696f6e2c207472616e73666f726d24243129207b0a202020207661722073656c656374696f6e203d20636f6c6c656374696f6e2e73656c656374696f6e203f20636f6c6c656374696f6e2e73656c656374696f6e2829203a20636f6c6c656374696f6e3b0a2020202073656c656374696f6e2e70726f706572747928225f5f7a6f6f6d222c2064656661756c745472616e73666f726d293b0a2020202069662028636f6c6c656374696f6e20213d3d2073656c656374696f6e29207b0a2020202020207363686564756c6528636f6c6c656374696f6e2c207472616e73666f726d242431293b0a202020207d20656c7365207b0a20202020202073656c656374696f6e2e696e7465727275707428292e656163682866756e6374696f6e2829207b0a20202020202020206765737475726528746869732c20617267756d656e7473290a2020202020202020202020202e737461727428290a2020202020202020202020202e7a6f6f6d286e756c6c2c20747970656f66207472616e73666f726d242431203d3d3d202266756e6374696f6e22203f207472616e73666f726d2424312e6170706c7928746869732c20617267756d656e747329203a207472616e73666f726d242431290a2020202020202020202020202e656e6428293b0a2020202020207d293b0a202020207d0a20207d3b0a0a20207a6f6f6d2e7363616c654279203d2066756e6374696f6e2873656c656374696f6e2c206b29207b0a202020207a6f6f6d2e7363616c65546f2873656c656374696f6e2c2066756e6374696f6e2829207b0a202020202020766172206b30203d20746869732e5f5f7a6f6f6d2e6b2c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e206b30202a206b313b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7363616c65546f203d2066756e6374696f6e2873656c656374696f6e2c206b29207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a202020202020202020207430203d20746869732e5f5f7a6f6f6d2c0a202020202020202020207030203d2063656e74726f69642865292c0a202020202020202020207031203d2074302e696e76657274287030292c0a202020202020202020206b31203d20747970656f66206b203d3d3d202266756e6374696f6e22203f206b2e6170706c7928746869732c20617267756d656e747329203a206b3b0a20202020202072657475726e20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c6174654279203d2066756e6374696f6e2873656c656374696f6e2c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a20202020202072657475726e20636f6e73747261696e28746869732e5f5f7a6f6f6d2e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f20782e6170706c7928746869732c20617267756d656e747329203a20782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f20792e6170706c7928746869732c20617267756d656e747329203a20790a202020202020292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465546f203d2066756e6374696f6e2873656c656374696f6e2c20782c207929207b0a202020207a6f6f6d2e7472616e73666f726d2873656c656374696f6e2c2066756e6374696f6e2829207b0a2020202020207661722065203d20657874656e742e6170706c7928746869732c20617267756d656e7473292c0a2020202020202020202074203d20746869732e5f5f7a6f6f6d2c0a2020202020202020202070203d2063656e74726f69642865293b0a20202020202072657475726e20636f6e73747261696e286964656e746974792e7472616e736c61746528705b305d2c20705b315d292e7363616c6528742e6b292e7472616e736c617465280a2020202020202020747970656f662078203d3d3d202266756e6374696f6e22203f202d782e6170706c7928746869732c20617267756d656e747329203a202d782c0a2020202020202020747970656f662079203d3d3d202266756e6374696f6e22203f202d792e6170706c7928746869732c20617267756d656e747329203a202d790a202020202020292c20652c207472616e736c617465457874656e74293b0a202020207d293b0a20207d3b0a0a202066756e6374696f6e207363616c65287472616e73666f726d2424312c206b29207b0a202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c206b29293b0a2020202072657475726e206b203d3d3d207472616e73666f726d2424312e6b203f207472616e73666f726d242431203a206e6577205472616e73666f726d286b2c207472616e73666f726d2424312e782c207472616e73666f726d2424312e79293b0a20207d0a0a202066756e6374696f6e207472616e736c617465287472616e73666f726d2424312c2070302c20703129207b0a202020207661722078203d2070305b305d202d2070315b305d202a207472616e73666f726d2424312e6b2c2079203d2070305b315d202d2070315b315d202a207472616e73666f726d2424312e6b3b0a2020202072657475726e2078203d3d3d207472616e73666f726d2424312e782026262079203d3d3d207472616e73666f726d2424312e79203f207472616e73666f726d242431203a206e6577205472616e73666f726d287472616e73666f726d2424312e6b2c20782c2079293b0a20207d0a0a202066756e6374696f6e2063656e74726f696428657874656e7429207b0a2020202072657475726e205b282b657874656e745b305d5b305d202b202b657874656e745b315d5b305d29202f20322c20282b657874656e745b305d5b315d202b202b657874656e745b315d5b315d29202f20325d3b0a20207d0a0a202066756e6374696f6e207363686564756c65287472616e736974696f6e2c207472616e73666f726d2424312c2063656e74657229207b0a202020207472616e736974696f6e0a20202020202020202e6f6e282273746172742e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e737461727428293b207d290a20202020202020202e6f6e2822696e746572727570742e7a6f6f6d20656e642e7a6f6f6d222c2066756e6374696f6e2829207b206765737475726528746869732c20617267756d656e7473292e656e6428293b207d290a20202020202020202e747765656e28227a6f6f6d222c2066756e6374696f6e2829207b0a202020202020202020207661722074686174203d20746869732c0a202020202020202020202020202061726773203d20617267756d656e74732c0a202020202020202020202020202067203d206765737475726528746861742c2061726773292c0a202020202020202020202020202065203d20657874656e742e6170706c7928746861742c2061726773292c0a202020202020202020202020202070203d2063656e746572207c7c2063656e74726f69642865292c0a202020202020202020202020202077203d204d6174682e6d617828655b315d5b305d202d20655b305d5b305d2c20655b315d5b315d202d20655b305d5b315d292c0a202020202020202020202020202061203d20746861742e5f5f7a6f6f6d2c0a202020202020202020202020202062203d20747970656f66207472616e73666f726d242431203d3d3d202266756e6374696f6e22203f207472616e73666f726d2424312e6170706c7928746861742c206172677329203a207472616e73666f726d2424312c0a202020202020202020202020202069203d20696e746572706f6c61746528612e696e766572742870292e636f6e6361742877202f20612e6b292c20622e696e766572742870292e636f6e6361742877202f20622e6b29293b0a2020202020202020202072657475726e2066756e6374696f6e287429207b0a2020202020202020202020206966202874203d3d3d2031292074203d20623b202f2f2041766f696420726f756e64696e67206572726f72206f6e20656e642e0a202020202020202020202020656c7365207b20766172206c203d20692874292c206b203d2077202f206c5b325d3b2074203d206e6577205472616e73666f726d286b2c20705b305d202d206c5b305d202a206b2c20705b315d202d206c5b315d202a206b293b207d0a202020202020202020202020672e7a6f6f6d286e756c6c2c2074293b0a202020202020202020207d3b0a20202020202020207d293b0a20207d0a0a202066756e6374696f6e206765737475726528746861742c206172677329207b0a20202020666f7220287661722069203d20302c206e203d2067657374757265732e6c656e6774682c20673b2069203c206e3b202b2b6929207b0a202020202020696620282867203d2067657374757265735b695d292e74686174203d3d3d207468617429207b0a202020202020202072657475726e20673b0a2020202020207d0a202020207d0a2020202072657475726e206e6577204765737475726528746861742c2061726773293b0a20207d0a0a202066756e6374696f6e204765737475726528746861742c206172677329207b0a20202020746869732e74686174203d20746861743b0a20202020746869732e61726773203d20617267733b0a20202020746869732e696e646578203d202d313b0a20202020746869732e616374697665203d20303b0a20202020746869732e657874656e74203d20657874656e742e6170706c7928746861742c2061726773293b0a20207d0a0a2020476573747572652e70726f746f74797065203d207b0a2020202073746172743a2066756e6374696f6e2829207b0a202020202020696620282b2b746869732e616374697665203d3d3d203129207b0a2020202020202020746869732e696e646578203d2067657374757265732e70757368287468697329202d20313b0a2020202020202020746869732e656d69742822737461727422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a202020207a6f6f6d3a2066756e6374696f6e286b65792c207472616e73666f726d24243129207b0a20202020202069662028746869732e6d6f757365202626206b657920213d3d20226d6f757365222920746869732e6d6f7573655b315d203d207472616e73666f726d2424312e696e7665727428746869732e6d6f7573655b305d293b0a20202020202069662028746869732e746f75636830202626206b657920213d3d2022746f756368222920746869732e746f756368305b315d203d207472616e73666f726d2424312e696e7665727428746869732e746f756368305b305d293b0a20202020202069662028746869732e746f75636831202626206b657920213d3d2022746f756368222920746869732e746f756368315b315d203d207472616e73666f726d2424312e696e7665727428746869732e746f756368315b305d293b0a202020202020746869732e746861742e5f5f7a6f6f6d203d207472616e73666f726d2424313b0a202020202020746869732e656d697428227a6f6f6d22293b0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656e643a2066756e6374696f6e2829207b0a202020202020696620282d2d746869732e616374697665203d3d3d203029207b0a202020202020202067657374757265732e73706c69636528746869732e696e6465782c2031293b0a2020202020202020746869732e696e646578203d202d313b0a2020202020202020746869732e656d69742822656e6422293b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d2c0a20202020656d69743a2066756e6374696f6e287479706529207b0a202020202020643353656c656374696f6e2e637573746f6d4576656e74286e6577205a6f6f6d4576656e74287a6f6f6d2c20747970652c20746869732e746861742e5f5f7a6f6f6d292c206c697374656e6572732e6170706c792c206c697374656e6572732c205b747970652c20746869732e746861742c20746869732e617267735d293b0a202020207d0a20207d3b0a0a202066756e6374696f6e20776865656c65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202074203d20746869732e5f5f7a6f6f6d2c0a20202020202020206b203d204d6174682e6d6178287363616c65457874656e745b305d2c204d6174682e6d696e287363616c65457874656e745b315d2c20742e6b202a204d6174682e706f7728322c20776865656c44656c74612e6170706c7928746869732c20617267756d656e7473292929292c0a202020202020202070203d20643353656c656374696f6e2e6d6f7573652874686973293b0a0a202020202f2f20496620746865206d6f75736520697320696e207468652073616d65206c6f636174696f6e206173206265666f72652c2072657573652069742e0a202020202f2f204966207468657265207765726520726563656e7420776865656c206576656e74732c2072657365742074686520776865656c2069646c652074696d656f75742e0a2020202069662028672e776865656c29207b0a20202020202069662028672e6d6f7573655b305d5b305d20213d3d20705b305d207c7c20672e6d6f7573655b305d5b315d20213d3d20705b315d29207b0a2020202020202020672e6d6f7573655b315d203d20742e696e7665727428672e6d6f7573655b305d203d2070293b0a2020202020207d0a202020202020636c65617254696d656f757428672e776865656c293b0a202020207d0a0a202020202f2f204966207468697320776865656c206576656e7420776f6ee280997420747269676765722061207472616e73666f726d206368616e67652c2069676e6f72652069742e0a20202020656c73652069662028742e6b203d3d3d206b292072657475726e3b0a0a202020202f2f204f74686572776973652c206361707475726520746865206d6f75736520706f696e7420616e64206c6f636174696f6e206174207468652073746172742e0a20202020656c7365207b0a202020202020672e6d6f757365203d205b702c20742e696e766572742870295d3b0a20202020202064335472616e736974696f6e2e696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a0a202020206e6f6576656e7428293b0a20202020672e776865656c203d2073657454696d656f757428776865656c69646c65642c20776865656c44656c6179293b0a20202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c617465287363616c6528742c206b292c20672e6d6f7573655b305d2c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a0a2020202066756e6374696f6e20776865656c69646c65642829207b0a202020202020672e776865656c203d206e756c6c3b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e206d6f757365646f776e65642829207b0a2020202069662028746f756368656e64696e67207c7c202166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a202020202020202076203d20643353656c656374696f6e2e73656c65637428643353656c656374696f6e2e6576656e742e76696577292e6f6e28226d6f7573656d6f76652e7a6f6f6d222c206d6f7573656d6f7665642c2074727565292e6f6e28226d6f75736575702e7a6f6f6d222c206d6f75736575707065642c2074727565292c0a202020202020202070203d20643353656c656374696f6e2e6d6f7573652874686973292c0a20202020202020207830203d20643353656c656374696f6e2e6576656e742e636c69656e74582c0a20202020202020207930203d20643353656c656374696f6e2e6576656e742e636c69656e74593b0a0a202020206433447261672e6472616744697361626c6528643353656c656374696f6e2e6576656e742e76696577293b0a202020206e6f70726f7061676174696f6e28293b0a20202020672e6d6f757365203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870295d3b0a2020202064335472616e736974696f6e2e696e746572727570742874686973293b0a20202020672e737461727428293b0a0a2020202066756e6374696f6e206d6f7573656d6f7665642829207b0a2020202020206e6f6576656e7428293b0a2020202020206966202821672e6d6f76656429207b0a2020202020202020766172206478203d20643353656c656374696f6e2e6576656e742e636c69656e7458202d2078302c206479203d20643353656c656374696f6e2e6576656e742e636c69656e7459202d2079303b0a2020202020202020672e6d6f766564203d206478202a206478202b206479202a206479203e20636c69636b44697374616e6365323b0a2020202020207d0a202020202020672e7a6f6f6d28226d6f757365222c20636f6e73747261696e287472616e736c61746528672e746861742e5f5f7a6f6f6d2c20672e6d6f7573655b305d203d20643353656c656374696f6e2e6d6f75736528672e74686174292c20672e6d6f7573655b315d292c20672e657874656e742c207472616e736c617465457874656e7429293b0a202020207d0a0a2020202066756e6374696f6e206d6f75736575707065642829207b0a202020202020762e6f6e28226d6f7573656d6f76652e7a6f6f6d206d6f75736575702e7a6f6f6d222c206e756c6c293b0a2020202020206433447261672e64726167456e61626c6528643353656c656374696f6e2e6576656e742e766965772c20672e6d6f766564293b0a2020202020206e6f6576656e7428293b0a202020202020672e656e6428293b0a202020207d0a20207d0a0a202066756e6374696f6e2064626c636c69636b65642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a20202020766172207430203d20746869732e5f5f7a6f6f6d2c0a20202020202020207030203d20643353656c656374696f6e2e6d6f7573652874686973292c0a20202020202020207031203d2074302e696e76657274287030292c0a20202020202020206b31203d2074302e6b202a2028643353656c656374696f6e2e6576656e742e73686966744b6579203f20302e35203a2032292c0a20202020202020207431203d20636f6e73747261696e287472616e736c617465287363616c652874302c206b31292c2070302c207031292c20657874656e742e6170706c7928746869732c20617267756d656e7473292c207472616e736c617465457874656e74293b0a0a202020206e6f6576656e7428293b0a20202020696620286475726174696f6e203e20302920643353656c656374696f6e2e73656c6563742874686973292e7472616e736974696f6e28292e6475726174696f6e286475726174696f6e292e63616c6c287363686564756c652c2074312c207030293b0a20202020656c736520643353656c656374696f6e2e73656c6563742874686973292e63616c6c287a6f6f6d2e7472616e73666f726d2c207431293b0a20207d0a0a202066756e6374696f6e20746f756368737461727465642829207b0a20202020696620282166696c7465722e6170706c7928746869732c20617267756d656e747329292072657475726e3b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a2020202020202020737461727465642c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20742c20703b0a0a202020206e6f70726f7061676174696f6e28293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d2c2070203d20643353656c656374696f6e2e746f75636828746869732c20746f75636865732c20742e6964656e746966696572293b0a20202020202070203d205b702c20746869732e5f5f7a6f6f6d2e696e766572742870292c20742e6964656e7469666965725d3b0a2020202020206966202821672e746f756368302920672e746f75636830203d20702c2073746172746564203d20747275653b0a202020202020656c7365206966202821672e746f756368312920672e746f75636831203d20703b0a202020207d0a0a202020202f2f204966207468697320697320612064626c7461702c207265726f75746520746f2074686520286f7074696f6e616c292064626c636c69636b2e7a6f6f6d2068616e646c65722e0a2020202069662028746f7563687374617274696e6729207b0a202020202020746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a2020202020206966202821672e746f7563683129207b0a2020202020202020672e656e6428293b0a202020202020202070203d20643353656c656374696f6e2e73656c6563742874686973292e6f6e282264626c636c69636b2e7a6f6f6d22293b0a202020202020202069662028702920702e6170706c7928746869732c20617267756d656e7473293b0a202020202020202072657475726e3b0a2020202020207d0a202020207d0a0a20202020696620287374617274656429207b0a202020202020746f7563687374617274696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f7563687374617274696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020202064335472616e736974696f6e2e696e746572727570742874686973293b0a202020202020672e737461727428293b0a202020207d0a20207d0a0a202066756e6374696f6e20746f7563686d6f7665642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20742c20702c206c3b0a0a202020206e6f6576656e7428293b0a2020202069662028746f7563687374617274696e672920746f7563687374617274696e67203d20636c65617254696d656f757428746f7563687374617274696e67293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d2c2070203d20643353656c656374696f6e2e746f75636828746869732c20746f75636865732c20742e6964656e746966696572293b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e7469666965722920672e746f756368305b305d203d20703b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e7469666965722920672e746f756368315b305d203d20703b0a202020207d0a2020202074203d20672e746861742e5f5f7a6f6f6d3b0a2020202069662028672e746f7563683129207b0a202020202020766172207030203d20672e746f756368305b305d2c206c30203d20672e746f756368305b315d2c0a202020202020202020207031203d20672e746f756368315b305d2c206c31203d20672e746f756368315b315d2c0a202020202020202020206470203d20286470203d2070315b305d202d2070305b305d29202a206470202b20286470203d2070315b315d202d2070305b315d29202a2064702c0a20202020202020202020646c203d2028646c203d206c315b305d202d206c305b305d29202a20646c202b2028646c203d206c315b315d202d206c305b315d29202a20646c3b0a20202020202074203d207363616c6528742c204d6174682e73717274286470202f20646c29293b0a20202020202070203d205b2870305b305d202b2070315b305d29202f20322c202870305b315d202b2070315b315d29202f20325d3b0a2020202020206c203d205b286c305b305d202b206c315b305d29202f20322c20286c305b315d202b206c315b315d29202f20325d3b0a202020207d0a20202020656c73652069662028672e746f75636830292070203d20672e746f756368305b305d2c206c203d20672e746f756368305b315d3b0a20202020656c73652072657475726e3b0a20202020672e7a6f6f6d2822746f756368222c20636f6e73747261696e287472616e736c61746528742c20702c206c292c20672e657874656e742c207472616e736c617465457874656e7429293b0a20207d0a0a202066756e6374696f6e20746f756368656e6465642829207b0a202020207661722067203d206765737475726528746869732c20617267756d656e7473292c0a2020202020202020746f7563686573203d20643353656c656374696f6e2e6576656e742e6368616e676564546f75636865732c0a20202020202020206e203d20746f75636865732e6c656e6774682c20692c20743b0a0a202020206e6f70726f7061676174696f6e28293b0a2020202069662028746f756368656e64696e672920636c65617254696d656f757428746f756368656e64696e67293b0a20202020746f756368656e64696e67203d2073657454696d656f75742866756e6374696f6e2829207b20746f756368656e64696e67203d206e756c6c3b207d2c20746f75636844656c6179293b0a20202020666f72202869203d20303b2069203c206e3b202b2b6929207b0a20202020202074203d20746f75636865735b695d3b0a20202020202069662028672e746f7563683020262620672e746f756368305b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368303b0a202020202020656c73652069662028672e746f7563683120262620672e746f756368315b325d203d3d3d20742e6964656e746966696572292064656c65746520672e746f756368313b0a202020207d0a2020202069662028672e746f756368312026262021672e746f756368302920672e746f75636830203d20672e746f756368312c2064656c65746520672e746f756368313b0a2020202069662028672e746f756368302920672e746f756368305b315d203d20746869732e5f5f7a6f6f6d2e696e7665727428672e746f756368305b305d293b0a20202020656c736520672e656e6428293b0a20207d0a0a20207a6f6f6d2e776865656c44656c7461203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028776865656c44656c7461203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74282b5f292c207a6f6f6d29203a20776865656c44656c74613b0a20207d3b0a0a20207a6f6f6d2e66696c746572203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f202866696c746572203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c207a6f6f6d29203a2066696c7465723b0a20207d3b0a0a20207a6f6f6d2e746f75636861626c65203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028746f75636861626c65203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e742821215f292c207a6f6f6d29203a20746f75636861626c653b0a20207d3b0a0a20207a6f6f6d2e657874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028657874656e74203d20747970656f66205f203d3d3d202266756e6374696f6e22203f205f203a20636f6e7374616e74285b5b2b5f5b305d5b305d2c202b5f5b305d5b315d5d2c205b2b5f5b315d5b305d2c202b5f5b315d5b315d5d5d292c207a6f6f6d29203a20657874656e743b0a20207d3b0a0a20207a6f6f6d2e7363616c65457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287363616c65457874656e745b305d203d202b5f5b305d2c207363616c65457874656e745b315d203d202b5f5b315d2c207a6f6f6d29203a205b7363616c65457874656e745b305d2c207363616c65457874656e745b315d5d3b0a20207d3b0a0a20207a6f6f6d2e7472616e736c617465457874656e74203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20287472616e736c617465457874656e745b305d5b305d203d202b5f5b305d5b305d2c207472616e736c617465457874656e745b315d5b305d203d202b5f5b315d5b305d2c207472616e736c617465457874656e745b305d5b315d203d202b5f5b305d5b315d2c207472616e736c617465457874656e745b315d5b315d203d202b5f5b315d5b315d2c207a6f6f6d29203a205b5b7472616e736c617465457874656e745b305d5b305d2c207472616e736c617465457874656e745b305d5b315d5d2c205b7472616e736c617465457874656e745b315d5b305d2c207472616e736c617465457874656e745b315d5b315d5d5d3b0a20207d3b0a0a20207a6f6f6d2e636f6e73747261696e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636f6e73747261696e203d205f2c207a6f6f6d29203a20636f6e73747261696e3b0a20207d3b0a0a20207a6f6f6d2e6475726174696f6e203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f20286475726174696f6e203d202b5f2c207a6f6f6d29203a206475726174696f6e3b0a20207d3b0a0a20207a6f6f6d2e696e746572706f6c617465203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028696e746572706f6c617465203d205f2c207a6f6f6d29203a20696e746572706f6c6174653b0a20207d3b0a0a20207a6f6f6d2e6f6e203d2066756e6374696f6e2829207b0a202020207661722076616c7565203d206c697374656e6572732e6f6e2e6170706c79286c697374656e6572732c20617267756d656e7473293b0a2020202072657475726e2076616c7565203d3d3d206c697374656e657273203f207a6f6f6d203a2076616c75653b0a20207d3b0a0a20207a6f6f6d2e636c69636b44697374616e6365203d2066756e6374696f6e285f29207b0a2020202072657475726e20617267756d656e74732e6c656e677468203f2028636c69636b44697374616e636532203d20285f203d202b5f29202a205f2c207a6f6f6d29203a204d6174682e7371727428636c69636b44697374616e636532293b0a20207d3b0a0a202072657475726e207a6f6f6d3b0a7d3b0a0a6578706f7274732e7a6f6f6d203d207a6f6f6d3b0a6578706f7274732e7a6f6f6d5472616e73666f726d203d207472616e73666f726d3b0a6578706f7274732e7a6f6f6d4964656e74697479203d206964656e746974793b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7d2929293b0a0a7d2c7b2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d696e746572706f6c617465223a35332c2264332d73656c656374696f6e223a36312c2264332d7472616e736974696f6e223a36367d5d2c36393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20275f5f65734d6f64756c65272c207b2076616c75653a2074727565207d293b0a0a7661722064334172726179203d2072657175697265282764332d617272617927293b0a76617220643341786973203d2072657175697265282764332d6178697327293b0a7661722064334272757368203d2072657175697265282764332d627275736827293b0a76617220643343686f7264203d2072657175697265282764332d63686f726427293b0a766172206433436f6c6c656374696f6e203d2072657175697265282764332d636f6c6c656374696f6e27293b0a766172206433436f6c6f72203d2072657175697265282764332d636f6c6f7227293b0a7661722064334469737061746368203d2072657175697265282764332d646973706174636827293b0a76617220643344726167203d2072657175697265282764332d6472616727293b0a766172206433447376203d2072657175697265282764332d64737627293b0a76617220643345617365203d2072657175697265282764332d6561736527293b0a766172206433466f726365203d2072657175697265282764332d666f72636527293b0a766172206433466f726d6174203d2072657175697265282764332d666f726d617427293b0a76617220643347656f203d2072657175697265282764332d67656f27293b0a766172206433486965726172636879203d2072657175697265282764332d68696572617263687927293b0a766172206433496e746572706f6c617465203d2072657175697265282764332d696e746572706f6c61746527293b0a76617220643350617468203d2072657175697265282764332d7061746827293b0a766172206433506f6c79676f6e203d2072657175697265282764332d706f6c79676f6e27293b0a7661722064335175616474726565203d2072657175697265282764332d717561647472656527293b0a7661722064335175657565203d2072657175697265282764332d717565756527293b0a76617220643352616e646f6d203d2072657175697265282764332d72616e646f6d27293b0a76617220643352657175657374203d2072657175697265282764332d7265717565737427293b0a7661722064335363616c65203d2072657175697265282764332d7363616c6527293b0a76617220643353656c656374696f6e203d2072657175697265282764332d73656c656374696f6e27293b0a7661722064335368617065203d2072657175697265282764332d736861706527293b0a76617220643354696d65203d2072657175697265282764332d74696d6527293b0a76617220643354696d65466f726d6174203d2072657175697265282764332d74696d652d666f726d617427293b0a76617220643354696d6572203d2072657175697265282764332d74696d657227293b0a7661722064335472616e736974696f6e203d2072657175697265282764332d7472616e736974696f6e27293b0a766172206433566f726f6e6f69203d2072657175697265282764332d766f726f6e6f6927293b0a7661722064335a6f6f6d203d2072657175697265282764332d7a6f6f6d27293b0a0a7661722076657273696f6e203d2022342e31322e32223b0a0a6578706f7274732e76657273696f6e203d2076657273696f6e3b0a4f626a6563742e6b6579732864334172726179292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643341727261795b6b65795d3b207d293b0a4f626a6563742e6b65797328643341786973292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433417869735b6b65795d3b207d293b0a4f626a6563742e6b6579732864334272757368292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643342727573685b6b65795d3b207d293b0a4f626a6563742e6b65797328643343686f7264292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643343686f72645b6b65795d3b207d293b0a4f626a6563742e6b657973286433436f6c6c656374696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433436f6c6c656374696f6e5b6b65795d3b207d293b0a4f626a6563742e6b657973286433436f6c6f72292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433436f6c6f725b6b65795d3b207d293b0a4f626a6563742e6b6579732864334469737061746368292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643344697370617463685b6b65795d3b207d293b0a4f626a6563742e6b65797328643344726167292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433447261675b6b65795d3b207d293b0a4f626a6563742e6b657973286433447376292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064334473765b6b65795d3b207d293b0a4f626a6563742e6b65797328643345617365292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433456173655b6b65795d3b207d293b0a4f626a6563742e6b657973286433466f726365292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433466f7263655b6b65795d3b207d293b0a4f626a6563742e6b657973286433466f726d6174292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433466f726d61745b6b65795d3b207d293b0a4f626a6563742e6b65797328643347656f292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643347656f5b6b65795d3b207d293b0a4f626a6563742e6b657973286433486965726172636879292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064334869657261726368795b6b65795d3b207d293b0a4f626a6563742e6b657973286433496e746572706f6c617465292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433496e746572706f6c6174655b6b65795d3b207d293b0a4f626a6563742e6b65797328643350617468292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433506174685b6b65795d3b207d293b0a4f626a6563742e6b657973286433506f6c79676f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433506f6c79676f6e5b6b65795d3b207d293b0a4f626a6563742e6b6579732864335175616474726565292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643351756164747265655b6b65795d3b207d293b0a4f626a6563742e6b6579732864335175657565292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643351756575655b6b65795d3b207d293b0a4f626a6563742e6b65797328643352616e646f6d292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643352616e646f6d5b6b65795d3b207d293b0a4f626a6563742e6b65797328643352657175657374292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433526571756573745b6b65795d3b207d293b0a4f626a6563742e6b6579732864335363616c65292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335363616c655b6b65795d3b207d293b0a4f626a6563742e6b65797328643353656c656374696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643353656c656374696f6e5b6b65795d3b207d293b0a4f626a6563742e6b6579732864335368617065292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643353686170655b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d65292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d655b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d65466f726d6174292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d65466f726d61745b6b65795d3b207d293b0a4f626a6563742e6b65797328643354696d6572292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d20643354696d65725b6b65795d3b207d293b0a4f626a6563742e6b6579732864335472616e736974696f6e292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335472616e736974696f6e5b6b65795d3b207d293b0a4f626a6563742e6b657973286433566f726f6e6f69292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d206433566f726f6e6f695b6b65795d3b207d293b0a4f626a6563742e6b6579732864335a6f6f6d292e666f72456163682866756e6374696f6e20286b657929207b206578706f7274735b6b65795d203d2064335a6f6f6d5b6b65795d3b207d293b0a4f626a6563742e646566696e6550726f7065727479286578706f7274732c20226576656e74222c207b6765743a2066756e6374696f6e2829207b2072657475726e20643353656c656374696f6e2e6576656e743b207d7d293b0a0a7d2c7b2264332d6172726179223a33392c2264332d61786973223a34302c2264332d6272757368223a34312c2264332d63686f7264223a34322c2264332d636f6c6c656374696f6e223a34332c2264332d636f6c6f72223a34342c2264332d6469737061746368223a34352c2264332d64726167223a34362c2264332d647376223a34372c2264332d65617365223a34382c2264332d666f726365223a34392c2264332d666f726d6174223a35302c2264332d67656f223a35312c2264332d686965726172636879223a35322c2264332d696e746572706f6c617465223a35332c2264332d70617468223a35342c2264332d706f6c79676f6e223a35352c2264332d7175616474726565223a35362c2264332d7175657565223a35372c2264332d72616e646f6d223a35382c2264332d72657175657374223a35392c2264332d7363616c65223a36302c2264332d73656c656374696f6e223a36312c2264332d7368617065223a36322c2264332d74696d65223a36342c2264332d74696d652d666f726d6174223a36332c2264332d74696d6572223a36352c2264332d7472616e736974696f6e223a36362c2264332d766f726f6e6f69223a36372c2264332d7a6f6f6d223a36387d5d2c37303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a0a436f707972696768742028632920323031322d3230313420436872697320506574746974740a0a5065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e67206120636f70790a6f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468652022536f66747761726522292c20746f206465616c0a696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e6720776974686f7574206c696d69746174696f6e20746865207269676874730a746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c0a636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d697420706572736f6e7320746f2077686f6d2074686520536f6674776172652069730a6675726e697368656420746f20646f20736f2c207375626a65637420746f2074686520666f6c6c6f77696e6720636f6e646974696f6e733a0a0a5468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c7564656420696e0a616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a0a54484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c2045585052455353204f520a494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f46204d45524348414e544142494c4954592c0a4649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e204e4f204556454e54205348414c4c205448450a415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c2044414d41474553204f52204f544845520a4c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f52204f54484552574953452c2041524953494e472046524f4d2c0a4f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f522054484520555345204f52204f54484552204445414c494e475320494e0a54484520534f4654574152452e0a2a2f0a0a6d6f64756c652e6578706f727473203d207b0a202067726170686c69623a207265717569726528222e2f6c69622f67726170686c696222292c0a0a20206c61796f75743a207265717569726528222e2f6c69622f6c61796f757422292c0a202064656275673a207265717569726528222e2f6c69622f646562756722292c0a20207574696c3a207b0a2020202074696d653a207265717569726528222e2f6c69622f7574696c22292e74696d652c0a202020206e6f74696d653a207265717569726528222e2f6c69622f7574696c22292e6e6f74696d650a20207d2c0a202076657273696f6e3a207265717569726528222e2f6c69622f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6c69622f6465627567223a37352c222e2f6c69622f67726170686c6962223a37362c222e2f6c69622f6c61796f7574223a37382c222e2f6c69622f7574696c223a39382c222e2f6c69622f76657273696f6e223a39397d5d2c37313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020677265656479464153203d207265717569726528222e2f6772656564792d66617322293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020756e646f3a20756e646f0a7d3b0a0a66756e6374696f6e2072756e286729207b0a202076617220666173203d2028672e677261706828292e616379636c69636572203d3d3d2022677265656479220a202020202020202020202020202020203f2067726565647946415328672c20776569676874466e286729290a202020202020202020202020202020203a20646673464153286729293b0a20205f2e666f7245616368286661732c2066756e6374696f6e286529207b0a20202020766172206c6162656c203d20672e656467652865293b0a20202020672e72656d6f7665456467652865293b0a202020206c6162656c2e666f72776172644e616d65203d20652e6e616d653b0a202020206c6162656c2e7265766572736564203d20747275653b0a20202020672e7365744564676528652e772c20652e762c206c6162656c2c205f2e756e69717565496428227265762229293b0a20207d293b0a0a202066756e6374696f6e20776569676874466e286729207b0a2020202072657475726e2066756e6374696f6e286529207b0a20202020202072657475726e20672e656467652865292e7765696768743b0a202020207d3b0a20207d0a7d0a0a66756e6374696f6e20646673464153286729207b0a202076617220666173203d205b5d2c0a202020202020737461636b203d207b7d2c0a20202020202076697369746564203d207b7d3b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c20762929207b0a20202020202072657475726e3b0a202020207d0a20202020766973697465645b765d203d20747275653b0a20202020737461636b5b765d203d20747275653b0a202020205f2e666f724561636828672e6f757445646765732876292c2066756e6374696f6e286529207b0a202020202020696620285f2e68617328737461636b2c20652e772929207b0a20202020202020206661732e707573682865293b0a2020202020207d20656c7365207b0a202020202020202064667328652e77293b0a2020202020207d0a202020207d293b0a2020202064656c65746520737461636b5b765d3b0a20207d0a0a20205f2e666f724561636828672e6e6f64657328292c20646673293b0a202072657475726e206661733b0a7d0a0a66756e6374696f6e20756e646f286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a20202020766172206c6162656c203d20672e656467652865293b0a20202020696620286c6162656c2e726576657273656429207b0a202020202020672e72656d6f7665456467652865293b0a0a20202020202076617220666f72776172644e616d65203d206c6162656c2e666f72776172644e616d653b0a20202020202064656c657465206c6162656c2e72657665727365643b0a20202020202064656c657465206c6162656c2e666f72776172644e616d653b0a202020202020672e7365744564676528652e772c20652e762c206c6162656c2c20666f72776172644e616d65293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6772656564792d666173223a37372c222e2f6c6f64617368223a37397d5d2c37323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20616464426f726465725365676d656e74733b0a0a66756e6374696f6e20616464426f726465725365676d656e7473286729207b0a202066756e6374696f6e20646673287629207b0a20202020766172206368696c6472656e203d20672e6368696c6472656e2876292c0a20202020202020206e6f6465203d20672e6e6f64652876293b0a20202020696620286368696c6472656e2e6c656e67746829207b0a2020202020205f2e666f7245616368286368696c6472656e2c20646673293b0a202020207d0a0a20202020696620285f2e686173286e6f64652c20226d696e52616e6b222929207b0a2020202020206e6f64652e626f726465724c656674203d205b5d3b0a2020202020206e6f64652e626f726465725269676874203d205b5d3b0a202020202020666f7220287661722072616e6b203d206e6f64652e6d696e52616e6b2c206d617852616e6b203d206e6f64652e6d617852616e6b202b20313b0a202020202020202020202072616e6b203c206d617852616e6b3b0a20202020202020202020202b2b72616e6b29207b0a2020202020202020616464426f726465724e6f646528672c2022626f726465724c656674222c20225f626c222c20762c206e6f64652c2072616e6b293b0a2020202020202020616464426f726465724e6f646528672c2022626f726465725269676874222c20225f6272222c20762c206e6f64652c2072616e6b293b0a2020202020207d0a202020207d0a20207d0a0a20205f2e666f724561636828672e6368696c6472656e28292c20646673293b0a7d0a0a66756e6374696f6e20616464426f726465724e6f646528672c2070726f702c207072656669782c2073672c2073674e6f64652c2072616e6b29207b0a2020766172206c6162656c203d207b2077696474683a20302c206865696768743a20302c2072616e6b3a2072616e6b2c20626f72646572547970653a2070726f70207d2c0a20202020202070726576203d2073674e6f64655b70726f705d5b72616e6b202d20315d2c0a20202020202063757272203d207574696c2e61646444756d6d794e6f646528672c2022626f72646572222c206c6162656c2c20707265666978293b0a202073674e6f64655b70726f705d5b72616e6b5d203d20637572723b0a2020672e736574506172656e7428637572722c207367293b0a2020696620287072657629207b0a20202020672e7365744564676528707265762c20637572722c207b207765696768743a2031207d293b0a20207d0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c37333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207b0a202061646a7573743a2061646a7573742c0a2020756e646f3a20756e646f0a7d3b0a0a66756e6374696f6e2061646a757374286729207b0a20207661722072616e6b446972203d20672e677261706828292e72616e6b6469722e746f4c6f7765724361736528293b0a20206966202872616e6b446972203d3d3d20226c7222207c7c2072616e6b446972203d3d3d2022726c2229207b0a202020207377617057696474684865696768742867293b0a20207d0a7d0a0a66756e6374696f6e20756e646f286729207b0a20207661722072616e6b446972203d20672e677261706828292e72616e6b6469722e746f4c6f7765724361736528293b0a20206966202872616e6b446972203d3d3d2022627422207c7c2072616e6b446972203d3d3d2022726c2229207b0a2020202072657665727365592867293b0a20207d0a0a20206966202872616e6b446972203d3d3d20226c7222207c7c2072616e6b446972203d3d3d2022726c2229207b0a202020207377617058592867293b0a202020207377617057696474684865696768742867293b0a20207d0a7d0a0a66756e6374696f6e20737761705769647468486569676874286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b207377617057696474684865696768744f6e6528672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b207377617057696474684865696768744f6e6528672e65646765286529293b207d293b0a7d0a0a66756e6374696f6e207377617057696474684865696768744f6e6528617474727329207b0a20207661722077203d2061747472732e77696474683b0a202061747472732e7769647468203d2061747472732e6865696768743b0a202061747472732e686569676874203d20773b0a7d0a0a66756e6374696f6e207265766572736559286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2072657665727365594f6e6528672e6e6f6465287629293b207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c2072657665727365594f6e65293b0a20202020696620285f2e68617328656467652c202279222929207b0a20202020202072657665727365594f6e652865646765293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072657665727365594f6e6528617474727329207b0a202061747472732e79203d202d61747472732e793b0a7d0a0a66756e6374696f6e20737761705859286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b207377617058594f6e6528672e6e6f6465287629293b207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c207377617058594f6e65293b0a20202020696620285f2e68617328656467652c202278222929207b0a2020202020207377617058594f6e652865646765293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207377617058594f6e6528617474727329207b0a20207661722078203d2061747472732e783b0a202061747472732e78203d2061747472732e793b0a202061747472732e79203d20783b0a7d0a0a7d2c7b222e2f6c6f64617368223a37397d5d2c37343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a0a202a2053696d706c6520646f75626c79206c696e6b6564206c69737420696d706c656d656e746174696f6e20646572697665642066726f6d20436f726d656e2c20657420616c2e2c0a202a2022496e74726f64756374696f6e20746f20416c676f726974686d73222e0a202a2f0a0a6d6f64756c652e6578706f727473203d204c6973743b0a0a66756e6374696f6e204c6973742829207b0a20207661722073656e74696e656c203d207b7d3b0a202073656e74696e656c2e5f6e657874203d2073656e74696e656c2e5f70726576203d2073656e74696e656c3b0a2020746869732e5f73656e74696e656c203d2073656e74696e656c3b0a7d0a0a4c6973742e70726f746f747970652e64657175657565203d2066756e6374696f6e2829207b0a20207661722073656e74696e656c203d20746869732e5f73656e74696e656c2c0a202020202020656e747279203d2073656e74696e656c2e5f707265763b0a202069662028656e74727920213d3d2073656e74696e656c29207b0a20202020756e6c696e6b28656e747279293b0a2020202072657475726e20656e7472793b0a20207d0a7d3b0a0a4c6973742e70726f746f747970652e656e7175657565203d2066756e6374696f6e28656e74727929207b0a20207661722073656e74696e656c203d20746869732e5f73656e74696e656c3b0a202069662028656e7472792e5f7072657620262620656e7472792e5f6e65787429207b0a20202020756e6c696e6b28656e747279293b0a20207d0a2020656e7472792e5f6e657874203d2073656e74696e656c2e5f6e6578743b0a202073656e74696e656c2e5f6e6578742e5f70726576203d20656e7472793b0a202073656e74696e656c2e5f6e657874203d20656e7472793b0a2020656e7472792e5f70726576203d2073656e74696e656c3b0a7d3b0a0a4c6973742e70726f746f747970652e746f537472696e67203d2066756e6374696f6e2829207b0a20207661722073747273203d205b5d2c0a20202020202073656e74696e656c203d20746869732e5f73656e74696e656c2c0a20202020202063757272203d2073656e74696e656c2e5f707265763b0a20207768696c6520286375727220213d3d2073656e74696e656c29207b0a20202020737472732e70757368284a534f4e2e737472696e6769667928637572722c2066696c7465724f75744c696e6b7329293b0a2020202063757272203d20637572722e5f707265763b0a20207d0a202072657475726e20225b22202b20737472732e6a6f696e28222c202229202b20225d223b0a7d3b0a0a66756e6374696f6e20756e6c696e6b28656e74727929207b0a2020656e7472792e5f707265762e5f6e657874203d20656e7472792e5f6e6578743b0a2020656e7472792e5f6e6578742e5f70726576203d20656e7472792e5f707265763b0a202064656c65746520656e7472792e5f6e6578743b0a202064656c65746520656e7472792e5f707265763b0a7d0a0a66756e6374696f6e2066696c7465724f75744c696e6b73286b2c207629207b0a2020696620286b20213d3d20225f6e65787422202626206b20213d3d20225f707265762229207b0a2020202072657475726e20763b0a20207d0a7d0a0a7d2c7b7d5d2c37353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d207b0a202064656275674f72646572696e673a2064656275674f72646572696e670a7d3b0a0a2f2a20697374616e62756c2069676e6f7265206e657874202a2f0a66756e6374696f6e2064656275674f72646572696e67286729207b0a2020766172206c617965724d6174726978203d207574696c2e6275696c644c617965724d61747269782867293b0a0a20207661722068203d206e6577204772617068287b20636f6d706f756e643a20747275652c206d756c746967726170683a2074727565207d292e7365744772617068287b7d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020682e7365744e6f646528762c207b206c6162656c3a2076207d293b0a20202020682e736574506172656e7428762c20226c6179657222202b20672e6e6f64652876292e72616e6b293b0a20207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a20202020682e7365744564676528652e762c20652e772c207b7d2c20652e6e616d65293b0a20207d293b0a0a20205f2e666f7245616368286c617965724d61747269782c2066756e6374696f6e286c617965722c206929207b0a20202020766172206c6179657256203d20226c6179657222202b20693b0a20202020682e7365744e6f6465286c61796572562c207b2072616e6b3a202273616d6522207d293b0a202020205f2e726564756365286c617965722c2066756e6374696f6e28752c207629207b0a202020202020682e7365744564676528752c20762c207b207374796c653a2022696e76697322207d293b0a20202020202072657475726e20763b0a202020207d293b0a20207d293b0a0a202072657475726e20683b0a7d0a0a7d2c7b222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c37363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a7661722067726170686c69623b0a0a69662028747970656f662072657175697265203d3d3d202266756e6374696f6e2229207b0a2020747279207b0a2020202067726170686c6962203d2072657175697265282267726170686c696222293b0a20207d20636174636820286529207b7d0a7d0a0a696620282167726170686c696229207b0a202067726170686c6962203d2077696e646f772e67726170686c69623b0a7d0a0a6d6f64756c652e6578706f727473203d2067726170686c69623b0a0a7d2c7b2267726170686c6962223a3130307d5d2c37373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170682c0a202020204c697374203d207265717569726528222e2f646174612f6c69737422293b0a0a2f2a0a202a2041206772656564792068657572697374696320666f722066696e64696e67206120666565646261636b206172632073657420666f7220612067726170682e204120666565646261636b0a202a2061726320736574206973206120736574206f6620656467657320746861742063616e2062652072656d6f76656420746f206d616b65206120677261706820616379636c69632e0a202a2054686520616c676f726974686d20636f6d65732066726f6d3a20502e2045616465732c20582e204c696e2c20616e6420572e20462e20536d7974682c202241206661737420616e640a202a206566666563746976652068657572697374696320666f722074686520666565646261636b20617263207365742070726f626c656d2e22205468697320696d706c656d656e746174696f6e0a202a2061646a7573747320746861742066726f6d2074686520706170657220746f20616c6c6f7720666f722077656967687465642065646765732e0a202a2f0a6d6f64756c652e6578706f727473203d206772656564794641533b0a0a7661722044454641554c545f5745494748545f464e203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e2067726565647946415328672c20776569676874466e29207b0a202069662028672e6e6f6465436f756e742829203c3d203129207b0a2020202072657475726e205b5d3b0a20207d0a2020766172207374617465203d206275696c64537461746528672c20776569676874466e207c7c2044454641554c545f5745494748545f464e293b0a202076617220726573756c7473203d20646f4772656564794641532873746174652e67726170682c2073746174652e6275636b6574732c2073746174652e7a65726f496478293b0a0a20202f2f20457870616e64206d756c74692d65646765730a202072657475726e205f2e666c617474656e285f2e6d617028726573756c74732c2066756e6374696f6e286529207b0a2020202072657475726e20672e6f7574456467657328652e762c20652e77293b0a20207d292c2074727565293b0a7d0a0a66756e6374696f6e20646f47726565647946415328672c206275636b6574732c207a65726f49647829207b0a202076617220726573756c7473203d205b5d2c0a202020202020736f7572636573203d206275636b6574735b6275636b6574732e6c656e677468202d20315d2c0a20202020202073696e6b73203d206275636b6574735b305d3b0a0a202076617220656e7472793b0a20207768696c652028672e6e6f6465436f756e74282929207b0a202020207768696c65202828656e747279203d2073696e6b732e64657175657565282929292020207b2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e747279293b207d0a202020207768696c65202828656e747279203d20736f75726365732e6465717565756528292929207b2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e747279293b207d0a2020202069662028672e6e6f6465436f756e74282929207b0a202020202020666f7220287661722069203d206275636b6574732e6c656e677468202d20323b2069203e20303b202d2d6929207b0a2020202020202020656e747279203d206275636b6574735b695d2e6465717565756528293b0a202020202020202069662028656e74727929207b0a20202020202020202020726573756c7473203d20726573756c74732e636f6e6361742872656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e7472792c207472756529293b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020207d0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e2072656d6f76654e6f646528672c206275636b6574732c207a65726f4964782c20656e7472792c20636f6c6c6563745072656465636573736f727329207b0a202076617220726573756c7473203d20636f6c6c6563745072656465636573736f7273203f205b5d203a20756e646566696e65643b0a0a20205f2e666f724561636828672e696e456467657328656e7472792e76292c2066756e6374696f6e286564676529207b0a2020202076617220776569676874203d20672e656467652865646765292c0a202020202020202075456e747279203d20672e6e6f646528656467652e76293b0a0a2020202069662028636f6c6c6563745072656465636573736f727329207b0a202020202020726573756c74732e70757368287b20763a20656467652e762c20773a20656467652e77207d293b0a202020207d0a0a2020202075456e7472792e6f7574202d3d207765696768743b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2075456e747279293b0a20207d293b0a0a20205f2e666f724561636828672e6f7574456467657328656e7472792e76292c2066756e6374696f6e286564676529207b0a2020202076617220776569676874203d20672e656467652865646765292c0a202020202020202077203d20656467652e772c0a202020202020202077456e747279203d20672e6e6f64652877293b0a2020202077456e7472795b22696e225d202d3d207765696768743b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2077456e747279293b0a20207d293b0a0a2020672e72656d6f76654e6f646528656e7472792e76293b0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e206275696c64537461746528672c20776569676874466e29207b0a2020766172206661734772617068203d206e657720477261706828292c0a2020202020206d6178496e203d20302c0a2020202020206d61784f7574203d20303b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202066617347726170682e7365744e6f646528762c207b20763a20762c2022696e223a20302c206f75743a2030207d293b0a20207d293b0a0a20202f2f204167677265676174652077656967687473206f6e206e6f6465732c2062757420616c736f2073756d207468652077656967687473206163726f7373206d756c74692d65646765730a20202f2f20696e746f20612073696e676c65206564676520666f72207468652066617347726170682e0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722070726576576569676874203d2066617347726170682e6564676528652e762c20652e7729207c7c20302c0a2020202020202020776569676874203d20776569676874466e2865292c0a202020202020202065646765576569676874203d2070726576576569676874202b207765696768743b0a2020202066617347726170682e7365744564676528652e762c20652e772c2065646765576569676874293b0a202020206d61784f7574203d204d6174682e6d6178286d61784f75742c2066617347726170682e6e6f646528652e76292e6f7574202b3d20776569676874293b0a202020206d6178496e20203d204d6174682e6d6178286d6178496e2c202066617347726170682e6e6f646528652e77295b22696e225d20202b3d20776569676874293b0a20207d293b0a0a2020766172206275636b657473203d205f2e72616e6765286d61784f7574202b206d6178496e202b2033292e6d61702866756e6374696f6e2829207b2072657475726e206e6577204c69737428293b207d293b0a2020766172207a65726f496478203d206d6178496e202b20313b0a0a20205f2e666f72456163682866617347726170682e6e6f64657328292c2066756e6374696f6e287629207b0a2020202061737369676e4275636b6574286275636b6574732c207a65726f4964782c2066617347726170682e6e6f6465287629293b0a20207d293b0a0a202072657475726e207b2067726170683a2066617347726170682c206275636b6574733a206275636b6574732c207a65726f4964783a207a65726f496478207d3b0a7d0a0a66756e6374696f6e2061737369676e4275636b6574286275636b6574732c207a65726f4964782c20656e74727929207b0a20206966202821656e7472792e6f757429207b0a202020206275636b6574735b305d2e656e717565756528656e747279293b0a20207d20656c7365206966202821656e7472795b22696e225d29207b0a202020206275636b6574735b6275636b6574732e6c656e677468202d20315d2e656e717565756528656e747279293b0a20207d20656c7365207b0a202020206275636b6574735b656e7472792e6f7574202d20656e7472795b22696e225d202b207a65726f4964785d2e656e717565756528656e747279293b0a20207d0a7d0a0a7d2c7b222e2f646174612f6c697374223a37342c222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37397d5d2c37383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a20202020616379636c6963203d207265717569726528222e2f616379636c696322292c0a202020206e6f726d616c697a65203d207265717569726528222e2f6e6f726d616c697a6522292c0a2020202072616e6b203d207265717569726528222e2f72616e6b22292c0a202020206e6f726d616c697a6552616e6b73203d207265717569726528222e2f7574696c22292e6e6f726d616c697a6552616e6b732c0a20202020706172656e7444756d6d79436861696e73203d207265717569726528222e2f706172656e742d64756d6d792d636861696e7322292c0a2020202072656d6f7665456d70747952616e6b73203d207265717569726528222e2f7574696c22292e72656d6f7665456d70747952616e6b732c0a202020206e657374696e674772617068203d207265717569726528222e2f6e657374696e672d677261706822292c0a20202020616464426f726465725365676d656e7473203d207265717569726528222e2f6164642d626f726465722d7365676d656e747322292c0a20202020636f6f7264696e61746553797374656d203d207265717569726528222e2f636f6f7264696e6174652d73797374656d22292c0a202020206f72646572203d207265717569726528222e2f6f7264657222292c0a20202020706f736974696f6e203d207265717569726528222e2f706f736974696f6e22292c0a202020207574696c203d207265717569726528222e2f7574696c22292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d206c61796f75743b0a0a66756e6374696f6e206c61796f757428672c206f70747329207b0a20207661722074696d65203d206f707473202626206f7074732e646562756754696d696e67203f207574696c2e74696d65203a207574696c2e6e6f74696d653b0a202074696d6528226c61796f7574222c2066756e6374696f6e2829207b0a20202020766172206c61796f75744772617068203d2074696d65282220206275696c644c61796f75744772617068222c0a2020202020202020202020202020202020202020202020202020202020202066756e6374696f6e2829207b2072657475726e206275696c644c61796f757447726170682867293b207d293b0a2020202074696d652822202072756e4c61796f7574222c202020202020202066756e6374696f6e2829207b2072756e4c61796f7574286c61796f757447726170682c2074696d65293b207d293b0a2020202074696d6528222020757064617465496e7075744772617068222c2066756e6374696f6e2829207b20757064617465496e707574477261706828672c206c61796f75744772617068293b207d293b0a20207d293b0a7d0a0a66756e6374696f6e2072756e4c61796f757428672c2074696d6529207b0a202074696d652822202020206d616b655370616365466f72456467654c6162656c73222c2066756e6374696f6e2829207b206d616b655370616365466f72456467654c6162656c732867293b207d293b0a202074696d6528222020202072656d6f766553656c664564676573222c202020202020202066756e6374696f6e2829207b2072656d6f766553656c6645646765732867293b207d293b0a202074696d65282220202020616379636c6963222c2020202020202020202020202020202066756e6374696f6e2829207b20616379636c69632e72756e2867293b207d293b0a202074696d652822202020206e657374696e6747726170682e72756e222c2020202020202066756e6374696f6e2829207b206e657374696e6747726170682e72756e2867293b207d293b0a202074696d6528222020202072616e6b222c2020202020202020202020202020202020202066756e6374696f6e2829207b2072616e6b287574696c2e61734e6f6e436f6d706f756e644772617068286729293b207d293b0a202074696d65282220202020696e6a656374456467654c6162656c50726f78696573222c2066756e6374696f6e2829207b20696e6a656374456467654c6162656c50726f786965732867293b207d293b0a202074696d6528222020202072656d6f7665456d70747952616e6b73222c2020202020202066756e6374696f6e2829207b2072656d6f7665456d70747952616e6b732867293b207d293b0a202074696d652822202020206e657374696e6747726170682e636c65616e7570222c20202066756e6374696f6e2829207b206e657374696e6747726170682e636c65616e75702867293b207d293b0a202074696d652822202020206e6f726d616c697a6552616e6b73222c20202020202020202066756e6374696f6e2829207b206e6f726d616c697a6552616e6b732867293b207d293b0a202074696d6528222020202061737369676e52616e6b4d696e4d6178222c2020202020202066756e6374696f6e2829207b2061737369676e52616e6b4d696e4d61782867293b207d293b0a202074696d6528222020202072656d6f7665456467654c6162656c50726f78696573222c2066756e6374696f6e2829207b2072656d6f7665456467654c6162656c50726f786965732867293b207d293b0a202074696d652822202020206e6f726d616c697a652e72756e222c2020202020202020202066756e6374696f6e2829207b206e6f726d616c697a652e72756e2867293b207d293b0a202074696d65282220202020706172656e7444756d6d79436861696e73222c20202020202066756e6374696f6e2829207b20706172656e7444756d6d79436861696e732867293b207d293b0a202074696d65282220202020616464426f726465725365676d656e7473222c20202020202066756e6374696f6e2829207b20616464426f726465725365676d656e74732867293b207d293b0a202074696d652822202020206f72646572222c20202020202020202020202020202020202066756e6374696f6e2829207b206f726465722867293b207d293b0a202074696d65282220202020696e7365727453656c664564676573222c202020202020202066756e6374696f6e2829207b20696e7365727453656c6645646765732867293b207d293b0a202074696d6528222020202061646a757374436f6f7264696e61746553797374656d222c2066756e6374696f6e2829207b20636f6f7264696e61746553797374656d2e61646a7573742867293b207d293b0a202074696d65282220202020706f736974696f6e222c20202020202020202020202020202066756e6374696f6e2829207b20706f736974696f6e2867293b207d293b0a202074696d65282220202020706f736974696f6e53656c664564676573222c20202020202066756e6374696f6e2829207b20706f736974696f6e53656c6645646765732867293b207d293b0a202074696d6528222020202072656d6f7665426f726465724e6f646573222c20202020202066756e6374696f6e2829207b2072656d6f7665426f726465724e6f6465732867293b207d293b0a202074696d652822202020206e6f726d616c697a652e756e646f222c20202020202020202066756e6374696f6e2829207b206e6f726d616c697a652e756e646f2867293b207d293b0a202074696d652822202020206669787570456467654c6162656c436f6f726473222c20202066756e6374696f6e2829207b206669787570456467654c6162656c436f6f7264732867293b207d293b0a202074696d65282220202020756e646f436f6f7264696e61746553797374656d222c20202066756e6374696f6e2829207b20636f6f7264696e61746553797374656d2e756e646f2867293b207d293b0a202074696d652822202020207472616e736c6174654772617068222c20202020202020202066756e6374696f6e2829207b207472616e736c61746547726170682867293b207d293b0a202074696d6528222020202061737369676e4e6f6465496e7465727365637473222c20202066756e6374696f6e2829207b2061737369676e4e6f6465496e74657273656374732867293b207d293b0a202074696d6528222020202072657665727365506f696e7473222c2020202020202020202066756e6374696f6e2829207b2072657665727365506f696e7473466f72526576657273656445646765732867293b207d293b0a202074696d65282220202020616379636c69632e756e646f222c202020202020202020202066756e6374696f6e2829207b20616379636c69632e756e646f2867293b207d293b0a7d0a0a2f2a0a202a20436f706965732066696e616c206c61796f757420696e666f726d6174696f6e2066726f6d20746865206c61796f7574206772617068206261636b20746f2074686520696e7075740a202a2067726170682e20546869732070726f63657373206f6e6c7920636f706965732077686974656c697374656420617474726962757465732066726f6d20746865206c61796f75742067726170680a202a20746f2074686520696e7075742067726170682c20736f20697420736572766573206173206120676f6f6420706c61636520746f2064657465726d696e6520776861740a202a20617474726962757465732063616e20696e666c75656e6365206c61796f75742e0a202a2f0a66756e6374696f6e20757064617465496e707574477261706828696e70757447726170682c206c61796f7574477261706829207b0a20205f2e666f724561636828696e70757447726170682e6e6f64657328292c2066756e6374696f6e287629207b0a2020202076617220696e7075744c6162656c203d20696e70757447726170682e6e6f64652876292c0a20202020202020206c61796f75744c6162656c203d206c61796f757447726170682e6e6f64652876293b0a0a2020202069662028696e7075744c6162656c29207b0a202020202020696e7075744c6162656c2e78203d206c61796f75744c6162656c2e783b0a202020202020696e7075744c6162656c2e79203d206c61796f75744c6162656c2e793b0a0a202020202020696620286c61796f757447726170682e6368696c6472656e2876292e6c656e67746829207b0a2020202020202020696e7075744c6162656c2e7769647468203d206c61796f75744c6162656c2e77696474683b0a2020202020202020696e7075744c6162656c2e686569676874203d206c61796f75744c6162656c2e6865696768743b0a2020202020207d0a202020207d0a20207d293b0a0a20205f2e666f724561636828696e70757447726170682e656467657328292c2066756e6374696f6e286529207b0a2020202076617220696e7075744c6162656c203d20696e70757447726170682e656467652865292c0a20202020202020206c61796f75744c6162656c203d206c61796f757447726170682e656467652865293b0a0a20202020696e7075744c6162656c2e706f696e7473203d206c61796f75744c6162656c2e706f696e74733b0a20202020696620285f2e686173286c61796f75744c6162656c2c202278222929207b0a202020202020696e7075744c6162656c2e78203d206c61796f75744c6162656c2e783b0a202020202020696e7075744c6162656c2e79203d206c61796f75744c6162656c2e793b0a202020207d0a20207d293b0a0a2020696e70757447726170682e677261706828292e7769647468203d206c61796f757447726170682e677261706828292e77696474683b0a2020696e70757447726170682e677261706828292e686569676874203d206c61796f757447726170682e677261706828292e6865696768743b0a7d0a0a7661722067726170684e756d4174747273203d205b226e6f6465736570222c202265646765736570222c202272616e6b736570222c20226d617267696e78222c20226d617267696e79225d2c0a20202020677261706844656661756c7473203d207b2072616e6b7365703a2035302c20656467657365703a2032302c206e6f64657365703a2035302c2072616e6b6469723a2022746222207d2c0a2020202067726170684174747273203d205b22616379636c69636572222c202272616e6b6572222c202272616e6b646972222c2022616c69676e225d2c0a202020206e6f64654e756d4174747273203d205b227769647468222c2022686569676874225d2c0a202020206e6f646544656661756c7473203d207b2077696474683a20302c206865696768743a2030207d2c0a20202020656467654e756d4174747273203d205b226d696e6c656e222c2022776569676874222c20227769647468222c2022686569676874222c20226c6162656c6f6666736574225d2c0a202020206564676544656661756c7473203d207b0a2020202020206d696e6c656e3a20312c207765696768743a20312c2077696474683a20302c206865696768743a20302c0a2020202020206c6162656c6f66667365743a2031302c206c6162656c706f733a202272220a202020207d2c0a20202020656467654174747273203d205b226c6162656c706f73225d3b0a0a2f2a0a202a20436f6e737472756374732061206e65772067726170682066726f6d2074686520696e7075742067726170682c2077686963682063616e206265207573656420666f72206c61796f75742e0a202a20546869732070726f6365737320636f70696573206f6e6c792077686974656c697374656420617474726962757465732066726f6d2074686520696e70757420677261706820746f207468650a202a206c61796f75742067726170682e205468757320746869732066756e6374696f6e20736572766573206173206120676f6f6420706c61636520746f2064657465726d696e6520776861740a202a20617474726962757465732063616e20696e666c75656e6365206c61796f75742e0a202a2f0a66756e6374696f6e206275696c644c61796f7574477261706828696e707574477261706829207b0a20207661722067203d206e6577204772617068287b206d756c746967726170683a20747275652c20636f6d706f756e643a2074727565207d292c0a2020202020206772617068203d2063616e6f6e6963616c697a6528696e70757447726170682e67726170682829293b0a0a2020672e7365744772617068285f2e6d65726765287b7d2c0a20202020677261706844656661756c74732c0a2020202073656c6563744e756d62657241747472732867726170682c2067726170684e756d4174747273292c0a202020205f2e7069636b2867726170682c20677261706841747472732929293b0a0a20205f2e666f724561636828696e70757447726170682e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d2063616e6f6e6963616c697a6528696e70757447726170682e6e6f6465287629293b0a20202020672e7365744e6f646528762c205f2e64656661756c74732873656c6563744e756d6265724174747273286e6f64652c206e6f64654e756d4174747273292c206e6f646544656661756c747329293b0a20202020672e736574506172656e7428762c20696e70757447726170682e706172656e74287629293b0a20207d293b0a0a20205f2e666f724561636828696e70757447726170682e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d2063616e6f6e6963616c697a6528696e70757447726170682e65646765286529293b0a20202020672e7365744564676528652c205f2e6d65726765287b7d2c0a2020202020206564676544656661756c74732c0a20202020202073656c6563744e756d626572417474727328656467652c20656467654e756d4174747273292c0a2020202020205f2e7069636b28656467652c206564676541747472732929293b0a20207d293b0a0a202072657475726e20673b0a7d0a0a2f2a0a202a2054686973206964656120636f6d65732066726f6d207468652047616e736e65722070617065723a20746f206163636f756e7420666f722065646765206c6162656c7320696e206f75720a202a206c61796f75742077652073706c697420656163682072616e6b20696e2068616c6620627920646f75626c696e67206d696e6c656e20616e642068616c76696e672072616e6b7365702e0a202a205468656e2077652063616e20706c616365206c6162656c73206174207468657365206d69642d706f696e7473206265747765656e206e6f6465732e0a202a0a202a20576520616c736f2061646420736f6d65206d696e696d616c2070616464696e6720746f2074686520776964746820746f207075736820746865206c6162656c20666f722074686520656467650a202a20617761792066726f6d20746865206564676520697473656c662061206269742e0a202a2f0a66756e6374696f6e206d616b655370616365466f72456467654c6162656c73286729207b0a2020766172206772617068203d20672e677261706828293b0a202067726170682e72616e6b736570202f3d20323b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020656467652e6d696e6c656e202a3d20323b0a2020202069662028656467652e6c6162656c706f732e746f4c6f77657243617365282920213d3d2022632229207b0a2020202020206966202867726170682e72616e6b646972203d3d3d2022544222207c7c2067726170682e72616e6b646972203d3d3d202242542229207b0a2020202020202020656467652e7769647468202b3d20656467652e6c6162656c6f66667365743b0a2020202020207d20656c7365207b0a2020202020202020656467652e686569676874202b3d20656467652e6c6162656c6f66667365743b0a2020202020207d0a202020207d0a20207d293b0a7d0a0a2f2a0a202a20437265617465732074656d706f726172792064756d6d79206e6f64657320746861742063617074757265207468652072616e6b20696e2077686963682065616368206564676527730a202a206c6162656c20697320676f696e6720746f2c20696620697420686173206f6e65206f66206e6f6e2d7a65726f20776964746820616e64206865696768742e20576520646f20746869730a202a20736f20746861742077652063616e20736166656c792072656d6f766520656d7074792072616e6b73207768696c652070726573657276696e672062616c616e636520666f72207468650a202a206c6162656c277320706f736974696f6e2e0a202a2f0a66756e6374696f6e20696e6a656374456467654c6162656c50726f78696573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e776964746820262620656467652e68656967687429207b0a2020202020207661722076203d20672e6e6f646528652e76292c0a2020202020202020202077203d20672e6e6f646528652e77292c0a202020202020202020206c6162656c203d207b2072616e6b3a2028772e72616e6b202d20762e72616e6b29202f2032202b20762e72616e6b2c20653a2065207d3b0a2020202020207574696c2e61646444756d6d794e6f646528672c2022656467652d70726f7879222c206c6162656c2c20225f657022293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e52616e6b4d696e4d6178286729207b0a2020766172206d617852616e6b203d20303b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e626f72646572546f7029207b0a2020202020206e6f64652e6d696e52616e6b203d20672e6e6f6465286e6f64652e626f72646572546f70292e72616e6b3b0a2020202020206e6f64652e6d617852616e6b203d20672e6e6f6465286e6f64652e626f72646572426f74746f6d292e72616e6b3b0a2020202020206d617852616e6b203d205f2e6d6178286d617852616e6b2c206e6f64652e6d617852616e6b293b0a202020207d0a20207d293b0a2020672e677261706828292e6d617852616e6b203d206d617852616e6b3b0a7d0a0a66756e6374696f6e2072656d6f7665456467654c6162656c50726f78696573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e64756d6d79203d3d3d2022656467652d70726f78792229207b0a202020202020672e65646765286e6f64652e65292e6c6162656c52616e6b203d206e6f64652e72616e6b3b0a202020202020672e72656d6f76654e6f64652876293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e207472616e736c6174654772617068286729207b0a2020766172206d696e58203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d617858203d20302c0a2020202020206d696e59203d204e756d6265722e504f5349544956455f494e46494e4954592c0a2020202020206d617859203d20302c0a20202020202067726170684c6162656c203d20672e677261706828292c0a2020202020206d617267696e58203d2067726170684c6162656c2e6d617267696e78207c7c20302c0a2020202020206d617267696e59203d2067726170684c6162656c2e6d617267696e79207c7c20303b0a0a202066756e6374696f6e2067657445787472656d657328617474727329207b0a202020207661722078203d2061747472732e782c0a202020202020202079203d2061747472732e792c0a202020202020202077203d2061747472732e77696474682c0a202020202020202068203d2061747472732e6865696768743b0a202020206d696e58203d204d6174682e6d696e286d696e582c2078202d2077202f2032293b0a202020206d617858203d204d6174682e6d6178286d6178582c2078202b2077202f2032293b0a202020206d696e59203d204d6174682e6d696e286d696e592c2079202d2068202f2032293b0a202020206d617859203d204d6174682e6d6178286d6178592c2079202b2068202f2032293b0a20207d0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2067657445787472656d657328672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020696620285f2e68617328656467652c202278222929207b0a20202020202067657445787472656d65732865646765293b0a202020207d0a20207d293b0a0a20206d696e58202d3d206d617267696e583b0a20206d696e59202d3d206d617267696e593b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a202020206e6f64652e78202d3d206d696e583b0a202020206e6f64652e79202d3d206d696e593b0a20207d293b0a0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a202020205f2e666f724561636828656467652e706f696e74732c2066756e6374696f6e287029207b0a202020202020702e78202d3d206d696e583b0a202020202020702e79202d3d206d696e593b0a202020207d293b0a20202020696620285f2e68617328656467652c202278222929207b20656467652e78202d3d206d696e583b207d0a20202020696620285f2e68617328656467652c202279222929207b20656467652e79202d3d206d696e593b207d0a20207d293b0a0a202067726170684c6162656c2e7769647468203d206d617858202d206d696e58202b206d617267696e583b0a202067726170684c6162656c2e686569676874203d206d617859202d206d696e59202b206d617267696e593b0a7d0a0a66756e6374696f6e2061737369676e4e6f6465496e7465727365637473286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865292c0a20202020202020206e6f646556203d20672e6e6f646528652e76292c0a20202020202020206e6f646557203d20672e6e6f646528652e77292c0a202020202020202070312c2070323b0a202020206966202821656467652e706f696e747329207b0a202020202020656467652e706f696e7473203d205b5d3b0a2020202020207031203d206e6f6465573b0a2020202020207032203d206e6f6465563b0a202020207d20656c7365207b0a2020202020207031203d20656467652e706f696e74735b305d3b0a2020202020207032203d20656467652e706f696e74735b656467652e706f696e74732e6c656e677468202d20315d3b0a202020207d0a20202020656467652e706f696e74732e756e7368696674287574696c2e696e7465727365637452656374286e6f6465562c20703129293b0a20202020656467652e706f696e74732e70757368287574696c2e696e7465727365637452656374286e6f6465572c20703229293b0a20207d293b0a7d0a0a66756e6374696f6e206669787570456467654c6162656c436f6f726473286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a20202020696620285f2e68617328656467652c202278222929207b0a20202020202069662028656467652e6c6162656c706f73203d3d3d20226c22207c7c20656467652e6c6162656c706f73203d3d3d2022722229207b0a2020202020202020656467652e7769647468202d3d20656467652e6c6162656c6f66667365743b0a2020202020207d0a2020202020207377697463682028656467652e6c6162656c706f7329207b0a20202020202020206361736520226c223a20656467652e78202d3d20656467652e7769647468202f2032202b20656467652e6c6162656c6f66667365743b20627265616b3b0a202020202020202063617365202272223a20656467652e78202b3d20656467652e7769647468202f2032202b20656467652e6c6162656c6f66667365743b20627265616b3b0a2020202020207d0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072657665727365506f696e7473466f7252657665727365644564676573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e726576657273656429207b0a202020202020656467652e706f696e74732e7265766572736528293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f7665426f726465724e6f646573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202069662028672e6368696c6472656e2876292e6c656e67746829207b0a202020202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020202074203d20672e6e6f6465286e6f64652e626f72646572546f70292c0a2020202020202020202062203d20672e6e6f6465286e6f64652e626f72646572426f74746f6d292c0a202020202020202020206c203d20672e6e6f6465285f2e6c617374286e6f64652e626f726465724c65667429292c0a2020202020202020202072203d20672e6e6f6465285f2e6c617374286e6f64652e626f72646572526967687429293b0a0a2020202020206e6f64652e7769647468203d204d6174682e61627328722e78202d206c2e78293b0a2020202020206e6f64652e686569676874203d204d6174682e61627328622e79202d20742e79293b0a2020202020206e6f64652e78203d206c2e78202b206e6f64652e7769647468202f20323b0a2020202020206e6f64652e79203d20742e79202b206e6f64652e686569676874202f20323b0a202020207d0a20207d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202069662028672e6e6f64652876292e64756d6d79203d3d3d2022626f726465722229207b0a202020202020672e72656d6f76654e6f64652876293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f766553656c664564676573286729207b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a2020202069662028652e76203d3d3d20652e7729207b0a202020202020766172206e6f6465203d20672e6e6f646528652e76293b0a20202020202069662028216e6f64652e73656c66456467657329207b0a20202020202020206e6f64652e73656c664564676573203d205b5d3b0a2020202020207d0a2020202020206e6f64652e73656c6645646765732e70757368287b20653a20652c206c6162656c3a20672e65646765286529207d293b0a202020202020672e72656d6f7665456467652865293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20696e7365727453656c664564676573286729207b0a2020766172206c6179657273203d207574696c2e6275696c644c617965724d61747269782867293b0a20205f2e666f7245616368286c61796572732c2066756e6374696f6e286c6179657229207b0a20202020766172206f726465725368696674203d20303b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a202020202020766172206e6f6465203d20672e6e6f64652876293b0a2020202020206e6f64652e6f72646572203d2069202b206f7264657253686966743b0a2020202020205f2e666f7245616368286e6f64652e73656c6645646765732c2066756e6374696f6e2873656c664564676529207b0a20202020202020207574696c2e61646444756d6d794e6f646528672c202273656c6665646765222c207b0a2020202020202020202077696474683a2073656c66456467652e6c6162656c2e77696474682c0a202020202020202020206865696768743a2073656c66456467652e6c6162656c2e6865696768742c0a2020202020202020202072616e6b3a206e6f64652e72616e6b2c0a202020202020202020206f726465723a2069202b20282b2b6f726465725368696674292c0a20202020202020202020653a2073656c66456467652e652c0a202020202020202020206c6162656c3a2073656c66456467652e6c6162656c0a20202020202020207d2c20225f736522293b0a2020202020207d293b0a20202020202064656c657465206e6f64652e73656c6645646765733b0a202020207d293b0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e53656c664564676573286729207b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620286e6f64652e64756d6d79203d3d3d202273656c66656467652229207b0a2020202020207661722073656c664e6f6465203d20672e6e6f6465286e6f64652e652e76292c0a2020202020202020202078203d2073656c664e6f64652e78202b2073656c664e6f64652e7769647468202f20322c0a2020202020202020202079203d2073656c664e6f64652e792c0a202020202020202020206478203d206e6f64652e78202d20782c0a202020202020202020206479203d2073656c664e6f64652e686569676874202f20323b0a202020202020672e73657445646765286e6f64652e652c206e6f64652e6c6162656c293b0a202020202020672e72656d6f76654e6f64652876293b0a2020202020206e6f64652e6c6162656c2e706f696e7473203d205b0a20202020202020207b20783a2078202b2032202a206478202f20332c20793a2079202d206479207d2c0a20202020202020207b20783a2078202b2035202a206478202f20362c20793a2079202d206479207d2c0a20202020202020207b20783a2078202b20202020206478202020202c20793a2079207d2c0a20202020202020207b20783a2078202b2035202a206478202f20362c20793a2079202b206479207d2c0a20202020202020207b20783a2078202b2032202a206478202f20332c20793a2079202b206479207d0a2020202020205d3b0a2020202020206e6f64652e6c6162656c2e78203d206e6f64652e783b0a2020202020206e6f64652e6c6162656c2e79203d206e6f64652e793b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2073656c6563744e756d6265724174747273286f626a2c20617474727329207b0a202072657475726e205f2e6d617056616c756573285f2e7069636b286f626a2c206174747273292c204e756d626572293b0a7d0a0a66756e6374696f6e2063616e6f6e6963616c697a6528617474727329207b0a2020766172206e65774174747273203d207b7d3b0a20205f2e666f72456163682861747472732c2066756e6374696f6e28762c206b29207b0a202020206e657741747472735b6b2e746f4c6f7765724361736528295d203d20763b0a20207d293b0a202072657475726e206e657741747472733b0a7d0a0a7d2c7b222e2f616379636c6963223a37312c222e2f6164642d626f726465722d7365676d656e7473223a37322c222e2f636f6f7264696e6174652d73797374656d223a37332c222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37392c222e2f6e657374696e672d6772617068223a38302c222e2f6e6f726d616c697a65223a38312c222e2f6f72646572223a38362c222e2f706172656e742d64756d6d792d636861696e73223a39312c222e2f706f736974696f6e223a39332c222e2f72616e6b223a39352c222e2f7574696c223a39387d5d2c37393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a20676c6f62616c2077696e646f77202a2f0a0a766172206c6f646173683b0a0a69662028747970656f662072657175697265203d3d3d202266756e6374696f6e2229207b0a2020747279207b0a202020206c6f64617368203d207265717569726528226c6f6461736822293b0a20207d20636174636820286529207b7d0a7d0a0a69662028216c6f6461736829207b0a20206c6f64617368203d2077696e646f772e5f3b0a7d0a0a6d6f64756c652e6578706f727473203d206c6f646173683b0a0a7d2c7b226c6f64617368223a3132337d5d2c38303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020636c65616e75703a20636c65616e75700a7d3b0a0a2f2a0a202a2041206e657374696e6720677261706820637265617465732064756d6d79206e6f64657320666f722074686520746f707320616e6420626f74746f6d73206f66207375626772617068732c0a202a206164647320617070726f70726961746520656467657320746f20656e73757265207468617420616c6c20636c7573746572206e6f6465732061726520706c61636564206265747765656e0a202a20746865736520626f756e64726965732c20616e6420656e737572657320746861742074686520677261706820697320636f6e6e65637465642e0a202a0a202a20496e206164646974696f6e20776520656e737572652c207468726f7567682074686520757365206f6620746865206d696e6c656e2070726f70657274792c2074686174206e6f6465730a202a20616e6420737562677261706820626f72646572206e6f64657320746f206e6f7420656e64207570206f6e207468652073616d652072616e6b2e0a202a0a202a20507265636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441470a202a20202020322e204e6f64657320696e2074686520696e707574206772617068206861732061206d696e6c656e206174747269627574650a202a0a202a20506f7374636f6e646974696f6e733a0a202a0a202a20202020312e20496e70757420677261706820697320636f6e6e65637465642e0a202a20202020322e2044756d6d79206e6f6465732061726520616464656420666f722074686520746f707320616e6420626f74746f6d73206f66207375626772617068732e0a202a20202020332e20546865206d696e6c656e2061747472696275746520666f72206e6f6465732069732061646a757374656420746f20656e73757265206e6f64657320646f206e6f740a202a2020202020202067657420706c61636564206f6e207468652073616d652072616e6b20617320737562677261706820626f72646572206e6f6465732e0a202a0a202a20546865206e657374696e67206772617068206964656120636f6d65732066726f6d2053616e6465722c20224c61796f7574206f6620436f6d706f756e642044697265637465640a202a204772617068732e220a202a2f0a66756e6374696f6e2072756e286729207b0a202076617220726f6f74203d207574696c2e61646444756d6d794e6f646528672c2022726f6f74222c207b7d2c20225f726f6f7422293b0a202076617220646570746873203d20747265654465707468732867293b0a202076617220686569676874203d205f2e6d6178285f2e76616c756573286465707468732929202d20313b202f2f204e6f74653a2064657074687320697320616e204f626a656374206e6f7420616e2061727261790a2020766172206e6f6465536570203d2032202a20686569676874202b20313b0a0a2020672e677261706828292e6e657374696e67526f6f74203d20726f6f743b0a0a20202f2f204d756c7469706c79206d696e6c656e206279206e6f646553657020746f20616c69676e206e6f646573206f6e206e6f6e2d626f726465722072616e6b732e0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b20672e656467652865292e6d696e6c656e202a3d206e6f64655365703b207d293b0a0a20202f2f2043616c63756c61746520612077656967687420746861742069732073756666696369656e7420746f206b6565702073756267726170687320766572746963616c6c7920636f6d706163740a202076617220776569676874203d2073756d57656967687473286729202b20313b0a0a20202f2f2043726561746520626f72646572206e6f64657320616e64206c696e6b207468656d2075700a20205f2e666f724561636828672e6368696c6472656e28292c2066756e6374696f6e286368696c6429207b0a2020202064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c206368696c64293b0a20207d293b0a0a20202f2f205361766520746865206d756c7469706c69657220666f72206e6f6465206c617965727320666f72206c617465722072656d6f76616c206f6620656d70747920626f726465720a20202f2f206c61796572732e0a2020672e677261706828292e6e6f646552616e6b466163746f72203d206e6f64655365703b0a7d0a0a66756e6374696f6e2064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c207629207b0a2020766172206368696c6472656e203d20672e6368696c6472656e2876293b0a202069662028216368696c6472656e2e6c656e67746829207b0a20202020696620287620213d3d20726f6f7429207b0a202020202020672e7365744564676528726f6f742c20762c207b207765696768743a20302c206d696e6c656e3a206e6f6465536570207d293b0a202020207d0a2020202072657475726e3b0a20207d0a0a202076617220746f70203d207574696c2e616464426f726465724e6f646528672c20225f627422292c0a202020202020626f74746f6d203d207574696c2e616464426f726465724e6f646528672c20225f626222292c0a2020202020206c6162656c203d20672e6e6f64652876293b0a0a2020672e736574506172656e7428746f702c2076293b0a20206c6162656c2e626f72646572546f70203d20746f703b0a2020672e736574506172656e7428626f74746f6d2c2076293b0a20206c6162656c2e626f72646572426f74746f6d203d20626f74746f6d3b0a0a20205f2e666f7245616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202064667328672c20726f6f742c206e6f64655365702c207765696768742c206865696768742c206465707468732c206368696c64293b0a0a20202020766172206368696c644e6f6465203d20672e6e6f6465286368696c64292c0a20202020202020206368696c64546f70203d206368696c644e6f64652e626f72646572546f70203f206368696c644e6f64652e626f72646572546f70203a206368696c642c0a20202020202020206368696c64426f74746f6d203d206368696c644e6f64652e626f72646572426f74746f6d203f206368696c644e6f64652e626f72646572426f74746f6d203a206368696c642c0a202020202020202074686973576569676874203d206368696c644e6f64652e626f72646572546f70203f20776569676874203a2032202a207765696768742c0a20202020202020206d696e6c656e203d206368696c64546f7020213d3d206368696c64426f74746f6d203f2031203a20686569676874202d206465707468735b765d202b20313b0a0a20202020672e7365744564676528746f702c206368696c64546f702c207b0a2020202020207765696768743a20746869735765696768742c0a2020202020206d696e6c656e3a206d696e6c656e2c0a2020202020206e657374696e67456467653a20747275650a202020207d293b0a0a20202020672e73657445646765286368696c64426f74746f6d2c20626f74746f6d2c207b0a2020202020207765696768743a20746869735765696768742c0a2020202020206d696e6c656e3a206d696e6c656e2c0a2020202020206e657374696e67456467653a20747275650a202020207d293b0a20207d293b0a0a20206966202821672e706172656e7428762929207b0a20202020672e7365744564676528726f6f742c20746f702c207b207765696768743a20302c206d696e6c656e3a20686569676874202b206465707468735b765d207d293b0a20207d0a7d0a0a66756e6374696f6e2074726565446570746873286729207b0a202076617220646570746873203d207b7d3b0a202066756e6374696f6e2064667328762c20646570746829207b0a20202020766172206368696c6472656e203d20672e6368696c6472656e2876293b0a20202020696620286368696c6472656e202626206368696c6472656e2e6c656e67746829207b0a2020202020205f2e666f7245616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202020202020646673286368696c642c206465707468202b2031293b0a2020202020207d293b0a202020207d0a202020206465707468735b765d203d2064657074683b0a20207d0a20205f2e666f724561636828672e6368696c6472656e28292c2066756e6374696f6e287629207b2064667328762c2031293b207d293b0a202072657475726e206465707468733b0a7d0a0a66756e6374696f6e2073756d57656967687473286729207b0a202072657475726e205f2e72656475636528672e656467657328292c2066756e6374696f6e286163632c206529207b0a2020202072657475726e20616363202b20672e656467652865292e7765696768743b0a20207d2c2030293b0a7d0a0a66756e6374696f6e20636c65616e7570286729207b0a20207661722067726170684c6162656c203d20672e677261706828293b0a2020672e72656d6f76654e6f64652867726170684c6162656c2e6e657374696e67526f6f74293b0a202064656c6574652067726170684c6162656c2e6e657374696e67526f6f743b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722065646765203d20672e656467652865293b0a2020202069662028656467652e6e657374696e674564676529207b0a202020202020672e72656d6f7665456467652865293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c38313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d207b0a202072756e3a2072756e2c0a2020756e646f3a20756e646f0a7d3b0a0a2f2a0a202a20427265616b7320616e79206c6f6e6720656467657320696e2074686520677261706820696e746f2073686f7274207365676d656e74732074686174207370616e2031206c617965720a202a20656163682e2054686973206f7065726174696f6e20697320756e646f61626c652077697468207468652064656e6f726d616c697a652066756e6374696f6e2e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e2054686520696e7075742067726170682069732061204441472e0a202a20202020322e2045616368206e6f646520696e20746865206772617068206861732061202272616e6b222070726f70657274792e0a202a0a202a20506f73742d636f6e646974696f6e3a0a202a0a202a20202020312e20416c6c20656467657320696e2074686520677261706820686176652061206c656e677468206f6620312e0a202a20202020322e2044756d6d79206e6f646573206172652061646465642077686572652065646765732068617665206265656e2073706c697420696e746f207365676d656e74732e0a202a20202020332e20546865206772617068206973206175676d656e74656420776974682061202264756d6d79436861696e73222061747472696275746520776869636820636f6e7461696e730a202a202020202020207468652066697273742064756d6d7920696e206561636820636861696e206f662064756d6d79206e6f6465732070726f64756365642e0a202a2f0a66756e6374696f6e2072756e286729207b0a2020672e677261706828292e64756d6d79436861696e73203d205b5d3b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286564676529207b206e6f726d616c697a654564676528672c2065646765293b207d293b0a7d0a0a66756e6374696f6e206e6f726d616c697a654564676528672c206529207b0a20207661722076203d20652e762c0a2020202020207652616e6b203d20672e6e6f64652876292e72616e6b2c0a20202020202077203d20652e772c0a2020202020207752616e6b203d20672e6e6f64652877292e72616e6b2c0a2020202020206e616d65203d20652e6e616d652c0a202020202020656467654c6162656c203d20672e656467652865292c0a2020202020206c6162656c52616e6b203d20656467654c6162656c2e6c6162656c52616e6b3b0a0a2020696620287752616e6b203d3d3d207652616e6b202b2031292072657475726e3b0a0a2020672e72656d6f7665456467652865293b0a0a20207661722064756d6d792c2061747472732c20693b0a2020666f72202869203d20302c202b2b7652616e6b3b207652616e6b203c207752616e6b3b202b2b692c202b2b7652616e6b29207b0a20202020656467654c6162656c2e706f696e7473203d205b5d3b0a202020206174747273203d207b0a20202020202077696474683a20302c206865696768743a20302c0a202020202020656467654c6162656c3a20656467654c6162656c2c20656467654f626a3a20652c0a20202020202072616e6b3a207652616e6b0a202020207d3b0a2020202064756d6d79203d207574696c2e61646444756d6d794e6f646528672c202265646765222c2061747472732c20225f6422293b0a20202020696620287652616e6b203d3d3d206c6162656c52616e6b29207b0a20202020202061747472732e7769647468203d20656467654c6162656c2e77696474683b0a20202020202061747472732e686569676874203d20656467654c6162656c2e6865696768743b0a20202020202061747472732e64756d6d79203d2022656467652d6c6162656c223b0a20202020202061747472732e6c6162656c706f73203d20656467654c6162656c2e6c6162656c706f733b0a202020207d0a20202020672e7365744564676528762c2064756d6d792c207b207765696768743a20656467654c6162656c2e776569676874207d2c206e616d65293b0a202020206966202869203d3d3d203029207b0a202020202020672e677261706828292e64756d6d79436861696e732e707573682864756d6d79293b0a202020207d0a2020202076203d2064756d6d793b0a20207d0a0a2020672e7365744564676528762c20772c207b207765696768743a20656467654c6162656c2e776569676874207d2c206e616d65293b0a7d0a0a66756e6374696f6e20756e646f286729207b0a20205f2e666f724561636828672e677261706828292e64756d6d79436861696e732c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a20202020202020206f7269674c6162656c203d206e6f64652e656467654c6162656c2c0a2020202020202020773b0a20202020672e73657445646765286e6f64652e656467654f626a2c206f7269674c6162656c293b0a202020207768696c6520286e6f64652e64756d6d7929207b0a20202020202077203d20672e737563636573736f72732876295b305d3b0a202020202020672e72656d6f76654e6f64652876293b0a2020202020206f7269674c6162656c2e706f696e74732e70757368287b20783a206e6f64652e782c20793a206e6f64652e79207d293b0a202020202020696620286e6f64652e64756d6d79203d3d3d2022656467652d6c6162656c2229207b0a20202020202020206f7269674c6162656c2e78203d206e6f64652e783b0a20202020202020206f7269674c6162656c2e79203d206e6f64652e793b0a20202020202020206f7269674c6162656c2e7769647468203d206e6f64652e77696474683b0a20202020202020206f7269674c6162656c2e686569676874203d206e6f64652e6865696768743b0a2020202020207d0a20202020202076203d20773b0a2020202020206e6f6465203d20672e6e6f64652876293b0a202020207d0a20207d293b0a7d0a0a7d2c7b222e2f6c6f64617368223a37392c222e2f7574696c223a39387d5d2c38323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206164645375626772617068436f6e73747261696e74733b0a0a66756e6374696f6e206164645375626772617068436f6e73747261696e747328672c2063672c20767329207b0a20207661722070726576203d207b7d2c0a202020202020726f6f74507265763b0a0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a20202020766172206368696c64203d20672e706172656e742876292c0a2020202020202020706172656e742c0a2020202020202020707265764368696c643b0a202020207768696c6520286368696c6429207b0a202020202020706172656e74203d20672e706172656e74286368696c64293b0a20202020202069662028706172656e7429207b0a2020202020202020707265764368696c64203d20707265765b706172656e745d3b0a2020202020202020707265765b706172656e745d203d206368696c643b0a2020202020207d20656c7365207b0a2020202020202020707265764368696c64203d20726f6f74507265763b0a2020202020202020726f6f7450726576203d206368696c643b0a2020202020207d0a20202020202069662028707265764368696c6420262620707265764368696c6420213d3d206368696c6429207b0a202020202020202063672e7365744564676528707265764368696c642c206368696c64293b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206368696c64203d20706172656e743b0a202020207d0a20207d293b0a0a20202f2a0a202066756e6374696f6e20646673287629207b0a20202020766172206368696c6472656e203d2076203f20672e6368696c6472656e287629203a20672e6368696c6472656e28293b0a20202020696620286368696c6472656e2e6c656e67746829207b0a202020202020766172206d696e203d204e756d6265722e504f5349544956455f494e46494e4954592c0a20202020202020202020737562677261706873203d205b5d3b0a2020202020205f2e65616368286368696c6472656e2c2066756e6374696f6e286368696c6429207b0a2020202020202020766172206368696c644d696e203d20646673286368696c64293b0a202020202020202069662028672e6368696c6472656e286368696c64292e6c656e67746829207b0a202020202020202020207375626772617068732e70757368287b20763a206368696c642c206f726465723a206368696c644d696e207d293b0a20202020202020207d0a20202020202020206d696e203d204d6174682e6d696e286d696e2c206368696c644d696e293b0a2020202020207d293b0a2020202020205f2e726564756365285f2e736f72744279287375626772617068732c20226f7264657222292c2066756e6374696f6e28707265762c206375727229207b0a202020202020202063672e7365744564676528707265762e762c20637572722e76293b0a202020202020202072657475726e20637572723b0a2020202020207d293b0a20202020202072657475726e206d696e3b0a202020207d0a2020202072657475726e20672e6e6f64652876292e6f726465723b0a20207d0a202064667328756e646566696e6564293b0a20202a2f0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206261727963656e7465723b0a0a66756e6374696f6e206261727963656e74657228672c206d6f7661626c6529207b0a202072657475726e205f2e6d6170286d6f7661626c652c2066756e6374696f6e287629207b0a2020202076617220696e56203d20672e696e45646765732876293b0a202020206966202821696e562e6c656e67746829207b0a20202020202072657475726e207b20763a2076207d3b0a202020207d20656c7365207b0a20202020202076617220726573756c74203d205f2e72656475636528696e562c2066756e6374696f6e286163632c206529207b0a20202020202020207661722065646765203d20672e656467652865292c0a2020202020202020202020206e6f646555203d20672e6e6f646528652e76293b0a202020202020202072657475726e207b0a2020202020202020202073756d3a206163632e73756d202b2028656467652e776569676874202a206e6f6465552e6f72646572292c0a202020202020202020207765696768743a206163632e776569676874202b20656467652e7765696768740a20202020202020207d3b0a2020202020207d2c207b2073756d3a20302c207765696768743a2030207d293b0a0a20202020202072657475726e207b0a2020202020202020763a20762c0a20202020202020206261727963656e7465723a20726573756c742e73756d202f20726573756c742e7765696768742c0a20202020202020207765696768743a20726573756c742e7765696768740a2020202020207d3b0a202020207d0a20207d293b0a7d0a0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d206275696c644c6179657247726170683b0a0a2f2a0a202a20436f6e73747275637473206120677261706820746861742063616e206265207573656420746f20736f72742061206c61796572206f66206e6f6465732e205468652067726170682077696c6c0a202a20636f6e7461696e20616c6c206261736520616e64207375626772617068206e6f6465732066726f6d207468652072657175657374206c6179657220696e207468656972206f726967696e616c0a202a2068696572617263687920616e6420616e7920656467657320746861742061726520696e636964656e74206f6e207468657365206e6f64657320616e6420617265206f662074686520747970650a202a2072657175657374656420627920746865202272656c6174696f6e736869702220706172616d657465722e0a202a0a202a204e6f6465732066726f6d20746865207265717565737465642072616e6b207468617420646f206e6f74206861766520706172656e7473206172652061737369676e6564206120726f6f740a202a206e6f646520696e20746865206f75747075742067726170682c2077686963682069732073657420696e2074686520726f6f74206772617068206174747269627574652e20546869730a202a206d616b6573206974206561737920746f2077616c6b2074686520686965726172636879206f66206d6f7661626c65206e6f64657320647572696e67206f72646572696e672e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441470a202a20202020322e2042617365206e6f64657320696e2074686520696e707574206772617068206861766520612072616e6b206174747269627574650a202a20202020332e205375626772617068206e6f64657320696e2074686520696e70757420677261706820686173206d696e52616e6b20616e64206d617852616e6b20617474726962757465730a202a20202020342e204564676573206861766520616e2061737369676e6564207765696768740a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204f75747075742067726170682068617320616c6c206e6f64657320696e20746865206d6f7661626c652072616e6b2077697468207072657365727665640a202a202020202020206869657261726368792e0a202a20202020322e20526f6f74206e6f64657320696e20746865206d6f7661626c65206c6179657220617265206d616465206368696c6472656e206f6620746865206e6f64650a202a20202020202020696e646963617465642062792074686520726f6f7420617474726962757465206f66207468652067726170682e0a202a20202020332e204e6f6e2d6d6f7661626c65206e6f64657320696e636964656e74206f6e206d6f7661626c65206e6f6465732c2073656c6563746564206279207468650a202a2020202020202072656c6174696f6e7368697020706172616d657465722c2061726520696e636c7564656420696e207468652067726170682028776974686f757420686965726172636879292e0a202a20202020342e20456467657320696e636964656e74206f6e206d6f7661626c65206e6f6465732c2073656c6563746564206279207468652072656c6174696f6e736869700a202a20202020202020706172616d657465722c2061726520616464656420746f20746865206f75747075742067726170682e0a202a20202020352e20546865207765696768747320666f7220636f70696564206564676573206172652061676772656761746564206173206e6565642c2073696e636520746865206f75747075740a202a202020202020206772617068206973206e6f742061206d756c74692d67726170682e0a202a2f0a66756e6374696f6e206275696c644c61796572477261706828672c2072616e6b2c2072656c6174696f6e7368697029207b0a202076617220726f6f74203d20637265617465526f6f744e6f64652867292c0a202020202020726573756c74203d206e6577204772617068287b20636f6d706f756e643a2074727565207d292e7365744772617068287b20726f6f743a20726f6f74207d290a2020202020202020202020202020202020202e73657444656661756c744e6f64654c6162656c2866756e6374696f6e287629207b2072657475726e20672e6e6f64652876293b207d293b0a0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020706172656e74203d20672e706172656e742876293b0a0a20202020696620286e6f64652e72616e6b203d3d3d2072616e6b207c7c206e6f64652e6d696e52616e6b203c3d2072616e6b2026262072616e6b203c3d206e6f64652e6d617852616e6b29207b0a202020202020726573756c742e7365744e6f64652876293b0a202020202020726573756c742e736574506172656e7428762c20706172656e74207c7c20726f6f74293b0a0a2020202020202f2f205468697320617373756d65732077652068617665206f6e6c792073686f7274206564676573210a2020202020205f2e666f724561636828675b72656c6174696f6e736869705d2876292c2066756e6374696f6e286529207b0a20202020202020207661722075203d20652e76203d3d3d2076203f20652e77203a20652e762c0a20202020202020202020202065646765203d20726573756c742e6564676528752c2076292c0a202020202020202020202020776569676874203d20215f2e6973556e646566696e6564286564676529203f20656467652e776569676874203a20303b0a2020202020202020726573756c742e7365744564676528752c20762c207b207765696768743a20672e656467652865292e776569676874202b20776569676874207d293b0a2020202020207d293b0a0a202020202020696620285f2e686173286e6f64652c20226d696e52616e6b222929207b0a2020202020202020726573756c742e7365744e6f646528762c207b0a20202020202020202020626f726465724c6566743a206e6f64652e626f726465724c6566745b72616e6b5d2c0a20202020202020202020626f7264657252696768743a206e6f64652e626f7264657252696768745b72616e6b5d0a20202020202020207d293b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20637265617465526f6f744e6f6465286729207b0a202076617220763b0a20207768696c652028672e6861734e6f6465282876203d205f2e756e69717565496428225f726f6f7422292929293b0a202072657475726e20763b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37397d5d2c38353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2063726f7373436f756e743b0a0a2f2a0a202a20412066756e6374696f6e20746861742074616b65732061206c61796572696e672028616e206172726179206f66206c61796572732c2065616368207769746820616e206172726179206f660a202a206f72646572657264206e6f6465732920616e64206120677261706820616e642072657475726e7320612077656967687465642063726f7373696e6720636f756e742e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e707574206772617068206d7573742062652073696d706c6520286e6f742061206d756c74696772617068292c2064697265637465642c20616e6420696e636c7564650a202a202020202020206f6e6c792073696d706c652065646765732e0a202a20202020322e20456467657320696e2074686520696e707574206772617068206d75737420686176652061737369676e656420776569676874732e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e2054686520677261706820616e64206c61796572696e67206d617472697820617265206c65667420756e6368616e6765642e0a202a0a202a205468697320616c676f726974686d20697320646572697665642066726f6d2042617274682c20657420616c2e2c202242696c617965722043726f737320436f756e74696e672e220a202a2f0a66756e6374696f6e2063726f7373436f756e7428672c206c61796572696e6729207b0a2020766172206363203d20303b0a2020666f7220287661722069203d20313b2069203c206c61796572696e672e6c656e6774683b202b2b6929207b0a202020206363202b3d2074776f4c6179657243726f7373436f756e7428672c206c61796572696e675b692d315d2c206c61796572696e675b695d293b0a20207d0a202072657475726e2063633b0a7d0a0a66756e6374696f6e2074776f4c6179657243726f7373436f756e7428672c206e6f7274684c617965722c20736f7574684c6179657229207b0a20202f2f20536f727420616c6c206f6620746865206564676573206265747765656e20746865206e6f72746820616e6420736f757468206c617965727320627920746865697220706f736974696f6e0a20202f2f20696e20746865206e6f727468206c6179657220616e64207468656e2074686520736f7574682e204d617020746865736520656467657320746f2074686520706f736974696f6e206f660a20202f2f207468656972206865616420696e2074686520736f757468206c617965722e0a202076617220736f757468506f73203d205f2e7a69704f626a65637428736f7574684c617965722c0a20202020202020202020202020202020202020202020202020202020205f2e6d617028736f7574684c617965722c2066756e6374696f6e2028762c206929207b2072657475726e20693b207d29293b0a202076617220736f757468456e7472696573203d205f2e666c617474656e285f2e6d6170286e6f7274684c617965722c2066756e6374696f6e287629207b0a2020202072657475726e205f2e636861696e28672e6f75744564676573287629290a2020202020202020202020202e6d61702866756e6374696f6e286529207b0a202020202020202020202020202072657475726e207b20706f733a20736f757468506f735b652e775d2c207765696768743a20672e656467652865292e776569676874207d3b0a2020202020202020202020207d290a2020202020202020202020202e736f727442792822706f7322290a2020202020202020202020202e76616c756528293b0a20207d292c2074727565293b0a0a20202f2f204275696c642074686520616363756d756c61746f7220747265650a2020766172206669727374496e646578203d20313b0a20207768696c6520286669727374496e646578203c20736f7574684c617965722e6c656e67746829206669727374496e646578203c3c3d20313b0a2020766172207472656553697a65203d2032202a206669727374496e646578202d20313b0a20206669727374496e646578202d3d20313b0a20207661722074726565203d205f2e6d6170286e6577204172726179287472656553697a65292c2066756e6374696f6e2829207b2072657475726e20303b207d293b0a0a20202f2f2043616c63756c617465207468652077656967687465642063726f7373696e67730a2020766172206363203d20303b0a20205f2e666f724561636828736f757468456e74726965732e666f72456163682866756e6374696f6e28656e74727929207b0a2020202076617220696e646578203d20656e7472792e706f73202b206669727374496e6465783b0a20202020747265655b696e6465785d202b3d20656e7472792e7765696768743b0a202020207661722077656967687453756d203d20303b0a202020207768696c652028696e646578203e203029207b0a20202020202069662028696e6465782025203229207b0a202020202020202077656967687453756d202b3d20747265655b696e646578202b20315d3b0a2020202020207d0a202020202020696e646578203d2028696e646578202d203129203e3e20313b0a202020202020747265655b696e6465785d202b3d20656e7472792e7765696768743b0a202020207d0a202020206363202b3d20656e7472792e776569676874202a2077656967687453756d3b0a20207d29293b0a0a202072657475726e2063633b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a20202020696e69744f72646572203d207265717569726528222e2f696e69742d6f7264657222292c0a2020202063726f7373436f756e74203d207265717569726528222e2f63726f73732d636f756e7422292c0a20202020736f72745375626772617068203d207265717569726528222e2f736f72742d737562677261706822292c0a202020206275696c644c617965724772617068203d207265717569726528222e2f6275696c642d6c617965722d677261706822292c0a202020206164645375626772617068436f6e73747261696e7473203d207265717569726528222e2f6164642d73756267726170682d636f6e73747261696e747322292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d206f726465723b0a0a2f2a0a202a204170706c696573206865757269737469637320746f206d696e696d697a6520656467652063726f7373696e677320696e2074686520677261706820616e6420736574732074686520626573740a202a206f7264657220736f6c7574696f6e20617320616e206f7264657220617474726962757465206f6e2065616368206e6f64652e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d757374206265204441470a202a20202020322e204772617068206e6f646573206d757374206265206f626a6563747320776974682061202272616e6b22206174747269627574650a202a20202020332e204772617068206564676573206d757374206861766520746865202277656967687422206174747269627574650a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206e6f6465732077696c6c206861766520616e20226f726465722220617474726962757465206261736564206f6e2074686520726573756c7473206f66207468650a202a20202020202020616c676f726974686d2e0a202a2f0a66756e6374696f6e206f72646572286729207b0a2020766172206d617852616e6b203d207574696c2e6d617852616e6b2867292c0a202020202020646f776e4c61796572477261706873203d206275696c644c6179657247726170687328672c205f2e72616e676528312c206d617852616e6b202b2031292c2022696e456467657322292c0a20202020202075704c61796572477261706873203d206275696c644c6179657247726170687328672c205f2e72616e6765286d617852616e6b202d20312c202d312c202d31292c20226f7574456467657322293b0a0a2020766172206c61796572696e67203d20696e69744f726465722867293b0a202061737369676e4f7264657228672c206c61796572696e67293b0a0a202076617220626573744343203d204e756d6265722e504f5349544956455f494e46494e4954592c0a202020202020626573743b0a0a2020666f7220287661722069203d20302c206c61737442657374203d20303b206c61737442657374203c20343b202b2b692c202b2b6c6173744265737429207b0a2020202073776565704c61796572477261706873286920252032203f20646f776e4c61796572477261706873203a2075704c617965724772617068732c206920252034203e3d2032293b0a0a202020206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867293b0a20202020766172206363203d2063726f7373436f756e7428672c206c61796572696e67293b0a20202020696620286363203c2062657374434329207b0a2020202020206c61737442657374203d20303b0a20202020202062657374203d205f2e636c6f6e6544656570286c61796572696e67293b0a202020202020626573744343203d2063633b0a202020207d0a20207d0a0a202061737369676e4f7264657228672c2062657374293b0a7d0a0a66756e6374696f6e206275696c644c6179657247726170687328672c2072616e6b732c2072656c6174696f6e7368697029207b0a202072657475726e205f2e6d61702872616e6b732c2066756e6374696f6e2872616e6b29207b0a2020202072657475726e206275696c644c61796572477261706828672c2072616e6b2c2072656c6174696f6e73686970293b0a20207d293b0a7d0a0a66756e6374696f6e2073776565704c61796572477261706873286c617965724772617068732c2062696173526967687429207b0a2020766172206367203d206e657720477261706828293b0a20205f2e666f7245616368286c617965724772617068732c2066756e6374696f6e286c6729207b0a2020202076617220726f6f74203d206c672e677261706828292e726f6f743b0a2020202076617220736f72746564203d20736f72745375626772617068286c672c20726f6f742c2063672c20626961735269676874293b0a202020205f2e666f724561636828736f727465642e76732c2066756e6374696f6e28762c206929207b0a2020202020206c672e6e6f64652876292e6f72646572203d20693b0a202020207d293b0a202020206164645375626772617068436f6e73747261696e7473286c672c2063672c20736f727465642e7673293b0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e4f7264657228672c206c61796572696e6729207b0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a202020202020672e6e6f64652876292e6f72646572203d20693b0a202020207d293b0a20207d293b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f6164642d73756267726170682d636f6e73747261696e7473223a38322c222e2f6275696c642d6c617965722d6772617068223a38342c222e2f63726f73732d636f756e74223a38352c222e2f696e69742d6f72646572223a38372c222e2f736f72742d7375626772617068223a38397d5d2c38373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20696e69744f726465723b0a0a2f2a0a202a2041737369676e7320616e20696e697469616c206f726465722076616c756520666f722065616368206e6f646520627920706572666f726d696e67206120444653207365617263680a202a207374617274696e672066726f6d206e6f64657320696e207468652066697273742072616e6b2e204e6f646573206172652061737369676e656420616e206f7264657220696e2074686569720a202a2072616e6b20617320746865792061726520666972737420766973697465642e0a202a0a202a205468697320617070726f61636820636f6d65732066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e6971756520666f722044726177696e672044697265637465640a202a204772617068732e220a202a0a202a2052657475726e732061206c61796572696e67206d6174726978207769746820616e20617272617920706572206c6179657220616e642065616368206c6179657220736f727465642062790a202a20746865206f72646572206f6620697473206e6f6465732e0a202a2f0a66756e6374696f6e20696e69744f72646572286729207b0a20207661722076697369746564203d207b7d2c0a20202020202073696d706c654e6f646573203d205f2e66696c74657228672e6e6f64657328292c2066756e6374696f6e287629207b0a202020202020202072657475726e2021672e6368696c6472656e2876292e6c656e6774683b0a2020202020207d292c0a2020202020206d617852616e6b203d205f2e6d6178285f2e6d61702873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29292c0a2020202020206c6179657273203d205f2e6d6170285f2e72616e6765286d617852616e6b202b2031292c2066756e6374696f6e2829207b2072657475726e205b5d3b207d293b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c207629292072657475726e3b0a20202020766973697465645b765d203d20747275653b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a202020206c61796572735b6e6f64652e72616e6b5d2e707573682876293b0a202020205f2e666f724561636828672e737563636573736f72732876292c20646673293b0a20207d0a0a2020766172206f7264657265645673203d205f2e736f727442792873696d706c654e6f6465732c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d293b0a20205f2e666f7245616368286f72646572656456732c20646673293b0a0a202072657475726e206c61796572733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207265736f6c7665436f6e666c696374733b0a0a2f2a0a202a20476976656e2061206c697374206f6620656e7472696573206f662074686520666f726d207b762c206261727963656e7465722c207765696768747d20616e6420610a202a20636f6e73747261696e7420677261706820746869732066756e6374696f6e2077696c6c207265736f6c766520616e7920636f6e666c69637473206265747765656e207468650a202a20636f6e73747261696e7420677261706820616e6420746865206261727963656e7465727320666f722074686520656e74726965732e20496620746865206261727963656e7465727320666f720a202a20616e20656e74727920776f756c642076696f6c617465206120636f6e73747261696e7420696e2074686520636f6e73747261696e74206772617068207468656e20776520636f616c657363650a202a20746865206e6f64657320696e2074686520636f6e666c69637420696e746f2061206e6577206e6f646520746861742072657370656374732074686520636f6e747261696e7420616e640a202a2061676772656761746573206261727963656e74657220616e642077656967687420696e666f726d6174696f6e2e0a202a0a202a205468697320696d706c656d656e746174696f6e206973206261736564206f6e20746865206465736372697074696f6e20696e20466f72737465722c202241204661737420616e640a202a2053696d706c652048756572697374696320666f7220436f6e73747261696e65642054776f2d4c6576656c2043726f7373696e6720526564756374696f6e2c222074686f756768742069740a202a206469666665727320696e20736f6d652073706563696669632064657461696c732e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204561636820656e747279206861732074686520666f726d207b762c206261727963656e7465722c207765696768747d2c206f7220696620746865206e6f6465206861730a202a202020202020206e6f206261727963656e7465722c207468656e207b767d2e0a202a0a202a2052657475726e733a0a202a0a202a2020202041206e6577206c697374206f6620656e7472696573206f662074686520666f726d207b76732c20692c206261727963656e7465722c207765696768747d2e20546865206c6973740a202a2020202060767360206d61792065697468657220626520612073696e676c65746f6e206f72206974206d617920626520616e206167677265676174696f6e206f66206e6f6465730a202a202020206f72646572656420737563682074686174207468657920646f206e6f742076696f6c61746520636f6e73747261696e74732066726f6d2074686520636f6e73747261696e740a202a2020202067726170682e205468652070726f70657274792060696020697320746865206c6f77657374206f726967696e616c20696e646578206f6620616e79206f66207468650a202a20202020656c656d656e747320696e20607673602e0a202a2f0a66756e6374696f6e207265736f6c7665436f6e666c6963747328656e74726965732c20636729207b0a2020766172206d6170706564456e7472696573203d207b7d3b0a20205f2e666f724561636828656e74726965732c2066756e6374696f6e28656e7472792c206929207b0a2020202076617220746d70203d206d6170706564456e74726965735b656e7472792e765d203d207b0a202020202020696e6465677265653a20302c0a20202020202022696e223a205b5d2c0a2020202020206f75743a205b5d2c0a20202020202076733a205b656e7472792e765d2c0a202020202020693a20690a202020207d3b0a2020202069662028215f2e6973556e646566696e656428656e7472792e6261727963656e7465722929207b0a202020202020746d702e6261727963656e746572203d20656e7472792e6261727963656e7465723b0a202020202020746d702e776569676874203d20656e7472792e7765696768743b0a202020207d0a20207d293b0a0a20205f2e666f72456163682863672e656467657328292c2066756e6374696f6e286529207b0a2020202076617220656e74727956203d206d6170706564456e74726965735b652e765d2c0a2020202020202020656e74727957203d206d6170706564456e74726965735b652e775d3b0a2020202069662028215f2e6973556e646566696e656428656e747279562920262620215f2e6973556e646566696e656428656e747279572929207b0a202020202020656e747279572e696e6465677265652b2b3b0a202020202020656e747279562e6f75742e70757368286d6170706564456e74726965735b652e775d293b0a202020207d0a20207d293b0a0a202076617220736f75726365536574203d205f2e66696c746572286d6170706564456e74726965732c2066756e6374696f6e28656e74727929207b0a2020202072657475726e2021656e7472792e696e6465677265653b0a20207d293b0a0a202072657475726e20646f5265736f6c7665436f6e666c6963747328736f75726365536574293b0a7d0a0a66756e6374696f6e20646f5265736f6c7665436f6e666c6963747328736f7572636553657429207b0a202076617220656e7472696573203d205b5d3b0a0a202066756e6374696f6e2068616e646c65496e2876456e74727929207b0a2020202072657475726e2066756e6374696f6e2875456e74727929207b0a2020202020206966202875456e7472792e6d657267656429207b0a202020202020202072657475726e3b0a2020202020207d0a202020202020696620285f2e6973556e646566696e65642875456e7472792e6261727963656e74657229207c7c0a202020202020202020205f2e6973556e646566696e65642876456e7472792e6261727963656e74657229207c7c0a2020202020202020202075456e7472792e6261727963656e746572203e3d2076456e7472792e6261727963656e74657229207b0a20202020202020206d65726765456e74726965732876456e7472792c2075456e747279293b0a2020202020207d0a202020207d3b0a20207d0a0a202066756e6374696f6e2068616e646c654f75742876456e74727929207b0a2020202072657475726e2066756e6374696f6e2877456e74727929207b0a20202020202077456e7472795b22696e225d2e707573682876456e747279293b0a202020202020696620282d2d77456e7472792e696e646567726565203d3d3d203029207b0a2020202020202020736f757263655365742e707573682877456e747279293b0a2020202020207d0a202020207d3b0a20207d0a0a20207768696c652028736f757263655365742e6c656e67746829207b0a2020202076617220656e747279203d20736f757263655365742e706f7028293b0a20202020656e74726965732e7075736828656e747279293b0a202020205f2e666f724561636828656e7472795b22696e225d2e7265766572736528292c2068616e646c65496e28656e74727929293b0a202020205f2e666f724561636828656e7472792e6f75742c2068616e646c654f757428656e74727929293b0a20207d0a0a202072657475726e205f2e636861696e28656e7472696573290a202020202020202020202e66696c7465722866756e6374696f6e28656e74727929207b2072657475726e2021656e7472792e6d65726765643b207d290a202020202020202020202e6d61702866756e6374696f6e28656e74727929207b0a20202020202020202020202072657475726e205f2e7069636b28656e7472792c205b227673222c202269222c20226261727963656e746572222c2022776569676874225d293b0a202020202020202020207d290a202020202020202020202e76616c756528293b0a7d0a0a66756e6374696f6e206d65726765456e7472696573287461726765742c20736f7572636529207b0a20207661722073756d203d20302c0a202020202020776569676874203d20303b0a0a2020696620287461726765742e77656967687429207b0a2020202073756d202b3d207461726765742e6261727963656e746572202a207461726765742e7765696768743b0a20202020776569676874202b3d207461726765742e7765696768743b0a20207d0a0a202069662028736f757263652e77656967687429207b0a2020202073756d202b3d20736f757263652e6261727963656e746572202a20736f757263652e7765696768743b0a20202020776569676874202b3d20736f757263652e7765696768743b0a20207d0a0a20207461726765742e7673203d20736f757263652e76732e636f6e636174287461726765742e7673293b0a20207461726765742e6261727963656e746572203d2073756d202f207765696768743b0a20207461726765742e776569676874203d207765696768743b0a20207461726765742e69203d204d6174682e6d696e28736f757263652e692c207461726765742e69293b0a2020736f757263652e6d6572676564203d20747275653b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c38393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020206261727963656e746572203d207265717569726528222e2f6261727963656e74657222292c0a202020207265736f6c7665436f6e666c69637473203d207265717569726528222e2f7265736f6c76652d636f6e666c6963747322292c0a20202020736f7274203d207265717569726528222e2f736f727422293b0a0a6d6f64756c652e6578706f727473203d20736f727453756267726170683b0a0a66756e6374696f6e20736f7274537562677261706828672c20762c2063672c2062696173526967687429207b0a2020766172206d6f7661626c65203d20672e6368696c6472656e2876292c0a2020202020206e6f6465203d20672e6e6f64652876292c0a202020202020626c203d206e6f6465203f206e6f64652e626f726465724c656674203a20756e646566696e65642c0a2020202020206272203d206e6f6465203f206e6f64652e626f7264657252696768743a20756e646566696e65642c0a202020202020737562677261706873203d207b7d3b0a0a202069662028626c29207b0a202020206d6f7661626c65203d205f2e66696c746572286d6f7661626c652c2066756e6374696f6e287729207b0a20202020202072657475726e207720213d3d20626c202626207720213d3d2062723b0a202020207d293b0a20207d0a0a2020766172206261727963656e74657273203d206261727963656e74657228672c206d6f7661626c65293b0a20205f2e666f7245616368286261727963656e746572732c2066756e6374696f6e28656e74727929207b0a2020202069662028672e6368696c6472656e28656e7472792e76292e6c656e67746829207b0a202020202020766172207375626772617068526573756c74203d20736f7274537562677261706828672c20656e7472792e762c2063672c20626961735269676874293b0a2020202020207375626772617068735b656e7472792e765d203d207375626772617068526573756c743b0a202020202020696620285f2e686173287375626772617068526573756c742c20226261727963656e746572222929207b0a20202020202020206d657267654261727963656e7465727328656e7472792c207375626772617068526573756c74293b0a2020202020207d0a202020207d0a20207d293b0a0a202076617220656e7472696573203d207265736f6c7665436f6e666c69637473286261727963656e746572732c206367293b0a2020657870616e6453756267726170687328656e74726965732c20737562677261706873293b0a0a202076617220726573756c74203d20736f727428656e74726965732c20626961735269676874293b0a0a202069662028626c29207b0a20202020726573756c742e7673203d205f2e666c617474656e285b626c2c20726573756c742e76732c2062725d2c2074727565293b0a2020202069662028672e7072656465636573736f727328626c292e6c656e67746829207b0a20202020202076617220626c50726564203d20672e6e6f646528672e7072656465636573736f727328626c295b305d292c0a20202020202020202020627250726564203d20672e6e6f646528672e7072656465636573736f7273286272295b305d293b0a20202020202069662028215f2e68617328726573756c742c20226261727963656e746572222929207b0a2020202020202020726573756c742e6261727963656e746572203d20303b0a2020202020202020726573756c742e776569676874203d20303b0a2020202020207d0a202020202020726573756c742e6261727963656e746572203d2028726573756c742e6261727963656e746572202a20726573756c742e776569676874202b0a202020202020202020202020202020202020202020202020202020626c507265642e6f72646572202b206272507265642e6f7264657229202f2028726573756c742e776569676874202b2032293b0a202020202020726573756c742e776569676874202b3d20323b0a202020207d0a20207d0a0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20657870616e6453756267726170687328656e74726965732c2073756267726170687329207b0a20205f2e666f724561636828656e74726965732c2066756e6374696f6e28656e74727929207b0a20202020656e7472792e7673203d205f2e666c617474656e28656e7472792e76732e6d61702866756e6374696f6e287629207b0a202020202020696620287375626772617068735b765d29207b0a202020202020202072657475726e207375626772617068735b765d2e76733b0a2020202020207d0a20202020202072657475726e20763b0a202020207d292c2074727565293b0a20207d293b0a7d0a0a66756e6374696f6e206d657267654261727963656e74657273287461726765742c206f7468657229207b0a202069662028215f2e6973556e646566696e6564287461726765742e6261727963656e7465722929207b0a202020207461726765742e6261727963656e746572203d20287461726765742e6261727963656e746572202a207461726765742e776569676874202b0a202020202020202020202020202020202020202020202020206f746865722e6261727963656e746572202a206f746865722e77656967687429202f0a202020202020202020202020202020202020202020202020287461726765742e776569676874202b206f746865722e776569676874293b0a202020207461726765742e776569676874202b3d206f746865722e7765696768743b0a20207d20656c7365207b0a202020207461726765742e6261727963656e746572203d206f746865722e6261727963656e7465723b0a202020207461726765742e776569676874203d206f746865722e7765696768743b0a20207d0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2f6261727963656e746572223a38332c222e2f7265736f6c76652d636f6e666c69637473223a38382c222e2f736f7274223a39307d5d2c39303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a6d6f64756c652e6578706f727473203d20736f72743b0a0a66756e6374696f6e20736f727428656e74726965732c2062696173526967687429207b0a2020766172207061727473203d207574696c2e706172746974696f6e28656e74726965732c2066756e6374696f6e28656e74727929207b0a2020202072657475726e205f2e68617328656e7472792c20226261727963656e74657222293b0a20207d293b0a202076617220736f727461626c65203d2070617274732e6c68732c0a202020202020756e736f727461626c65203d205f2e736f727442792870617274732e7268732c2066756e6374696f6e28656e74727929207b2072657475726e202d656e7472792e693b207d292c0a2020202020207673203d205b5d2c0a20202020202073756d203d20302c0a202020202020776569676874203d20302c0a2020202020207673496e646578203d20303b0a0a2020736f727461626c652e736f727428636f6d70617265576974684269617328212162696173526967687429293b0a0a20207673496e646578203d20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c207673496e646578293b0a0a20205f2e666f724561636828736f727461626c652c2066756e6374696f6e2028656e74727929207b0a202020207673496e646578202b3d20656e7472792e76732e6c656e6774683b0a2020202076732e7075736828656e7472792e7673293b0a2020202073756d202b3d20656e7472792e6261727963656e746572202a20656e7472792e7765696768743b0a20202020776569676874202b3d20656e7472792e7765696768743b0a202020207673496e646578203d20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c207673496e646578293b0a20207d293b0a0a202076617220726573756c74203d207b2076733a205f2e666c617474656e2876732c207472756529207d3b0a20206966202877656967687429207b0a20202020726573756c742e6261727963656e746572203d2073756d202f207765696768743b0a20202020726573756c742e776569676874203d207765696768743b0a20207d0a202072657475726e20726573756c743b0a7d0a0a66756e6374696f6e20636f6e73756d65556e736f727461626c652876732c20756e736f727461626c652c20696e64657829207b0a2020766172206c6173743b0a20207768696c652028756e736f727461626c652e6c656e67746820262620286c617374203d205f2e6c61737428756e736f727461626c6529292e69203c3d20696e64657829207b0a20202020756e736f727461626c652e706f7028293b0a2020202076732e70757368286c6173742e7673293b0a20202020696e6465782b2b3b0a20207d0a202072657475726e20696e6465783b0a7d0a0a66756e6374696f6e20636f6d706172655769746842696173286269617329207b0a202072657475726e2066756e6374696f6e28656e747279562c20656e7472795729207b0a2020202069662028656e747279562e6261727963656e746572203c20656e747279572e6261727963656e74657229207b0a20202020202072657475726e202d313b0a202020207d20656c73652069662028656e747279562e6261727963656e746572203e20656e747279572e6261727963656e74657229207b0a20202020202072657475726e20313b0a202020207d0a0a2020202072657475726e202162696173203f20656e747279562e69202d20656e747279572e69203a20656e747279572e69202d20656e747279562e693b0a20207d3b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39387d5d2c39313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20706172656e7444756d6d79436861696e733b0a0a66756e6374696f6e20706172656e7444756d6d79436861696e73286729207b0a202076617220706f73746f726465724e756d73203d20706f73746f726465722867293b0a0a20205f2e666f724561636828672e677261706828292e64756d6d79436861696e732c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a2020202020202020656467654f626a203d206e6f64652e656467654f626a2c0a20202020202020207061746844617461203d2066696e645061746828672c20706f73746f726465724e756d732c20656467654f626a2e762c20656467654f626a2e77292c0a202020202020202070617468203d2070617468446174612e706174682c0a20202020202020206c6361203d2070617468446174612e6c63612c0a202020202020202070617468496478203d20302c0a20202020202020207061746856203d20706174685b706174684964785d2c0a2020202020202020617363656e64696e67203d20747275653b0a0a202020207768696c6520287620213d3d20656467654f626a2e7729207b0a2020202020206e6f6465203d20672e6e6f64652876293b0a0a20202020202069662028617363656e64696e6729207b0a20202020202020207768696c652028287061746856203d20706174685b706174684964785d2920213d3d206c63612026260a202020202020202020202020202020672e6e6f6465287061746856292e6d617852616e6b203c206e6f64652e72616e6b29207b0a20202020202020202020706174684964782b2b3b0a20202020202020207d0a0a2020202020202020696620287061746856203d3d3d206c636129207b0a20202020202020202020617363656e64696e67203d2066616c73653b0a20202020202020207d0a2020202020207d0a0a2020202020206966202821617363656e64696e6729207b0a20202020202020207768696c65202870617468496478203c20706174682e6c656e677468202d20312026260a202020202020202020202020202020672e6e6f6465287061746856203d20706174685b70617468496478202b20315d292e6d696e52616e6b203c3d206e6f64652e72616e6b29207b0a20202020202020202020706174684964782b2b3b0a20202020202020207d0a20202020202020207061746856203d20706174685b706174684964785d3b0a2020202020207d0a0a202020202020672e736574506172656e7428762c207061746856293b0a20202020202076203d20672e737563636573736f72732876295b305d3b0a202020207d0a20207d293b0a7d0a0a2f2f2046696e64206120706174682066726f6d207620746f2077207468726f75676820746865206c6f7765737420636f6d6d6f6e20616e636573746f7220284c4341292e2052657475726e207468650a2f2f2066756c6c207061746820616e6420746865204c43412e0a66756e6374696f6e2066696e645061746828672c20706f73746f726465724e756d732c20762c207729207b0a2020766172207650617468203d205b5d2c0a2020202020207750617468203d205b5d2c0a2020202020206c6f77203d204d6174682e6d696e28706f73746f726465724e756d735b765d2e6c6f772c20706f73746f726465724e756d735b775d2e6c6f77292c0a2020202020206c696d203d204d6174682e6d617828706f73746f726465724e756d735b765d2e6c696d2c20706f73746f726465724e756d735b775d2e6c696d292c0a202020202020706172656e742c0a2020202020206c63613b0a0a20202f2f2054726176657273652075702066726f6d207620746f2066696e6420746865204c43410a2020706172656e74203d20763b0a2020646f207b0a20202020706172656e74203d20672e706172656e7428706172656e74293b0a2020202076506174682e7075736828706172656e74293b0a20207d207768696c652028706172656e742026260a202020202020202020202028706f73746f726465724e756d735b706172656e745d2e6c6f77203e206c6f77207c7c206c696d203e20706f73746f726465724e756d735b706172656e745d2e6c696d29293b0a20206c6361203d20706172656e743b0a0a20202f2f2054726176657273652066726f6d207720746f204c43410a2020706172656e74203d20773b0a20207768696c65202828706172656e74203d20672e706172656e7428706172656e74292920213d3d206c636129207b0a2020202077506174682e7075736828706172656e74293b0a20207d0a0a202072657475726e207b20706174683a2076506174682e636f6e6361742877506174682e726576657273652829292c206c63613a206c6361207d3b0a7d0a0a66756e6374696f6e20706f73746f72646572286729207b0a202076617220726573756c74203d207b7d2c0a2020202020206c696d203d20303b0a0a202066756e6374696f6e20646673287629207b0a20202020766172206c6f77203d206c696d3b0a202020205f2e666f724561636828672e6368696c6472656e2876292c20646673293b0a20202020726573756c745b765d203d207b206c6f773a206c6f772c206c696d3a206c696d2b2b207d3b0a20207d0a20205f2e666f724561636828672e6368696c6472656e28292c20646673293b0a0a202072657475726e20726573756c743b0a7d0a0a7d2c7b222e2f6c6f64617368223a37397d5d2c39323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a202020207574696c203d207265717569726528222e2e2f7574696c22293b0a0a2f2a0a202a2054686973206d6f64756c652070726f766964657320636f6f7264696e6174652061737369676e6d656e74206261736564206f6e204272616e64657320616e64204bc3b670662c2022466173740a202a20616e642053696d706c6520486f72697a6f6e74616c20436f6f7264696e6174652041737369676e6d656e742e220a202a2f0a0a6d6f64756c652e6578706f727473203d207b0a2020706f736974696f6e583a20706f736974696f6e582c0a202066696e645479706531436f6e666c696374733a2066696e645479706531436f6e666c696374732c0a202066696e645479706532436f6e666c696374733a2066696e645479706532436f6e666c696374732c0a2020616464436f6e666c6963743a20616464436f6e666c6963742c0a2020686173436f6e666c6963743a20686173436f6e666c6963742c0a2020766572746963616c416c69676e6d656e743a20766572746963616c416c69676e6d656e742c0a2020686f72697a6f6e74616c436f6d70616374696f6e3a20686f72697a6f6e74616c436f6d70616374696f6e2c0a2020616c69676e436f6f7264696e617465733a20616c69676e436f6f7264696e617465732c0a202066696e64536d616c6c6573745769647468416c69676e6d656e743a2066696e64536d616c6c6573745769647468416c69676e6d656e742c0a202062616c616e63653a2062616c616e63650a7d3b0a0a2f2a0a202a204d61726b7320616c6c20656467657320696e207468652067726170682077697468206120747970652d3120636f6e666c69637420776974682074686520227479706531436f6e666c696374220a202a2070726f70657274792e204120747970652d3120636f6e666c696374206973206f6e652077686572652061206e6f6e2d696e6e6572207365676d656e742063726f7373657320616e0a202a20696e6e6572207365676d656e742e20416e20696e6e6572207365676d656e7420697320616e2065646765207769746820626f746820696e636964656e74206e6f646573206d61726b65640a202a207769746820746865202264756d6d79222070726f70657274792e0a202a0a202a205468697320616c676f726974686d207363616e73206c61796572206279206c617965722c207374617274696e67207769746820746865207365636f6e642c20666f7220747970652d310a202a20636f6e666c69637473206265747765656e207468652063757272656e74206c6179657220616e64207468652070726576696f7573206c617965722e20466f722065616368206c617965720a202a206974207363616e7320746865206e6f6465732066726f6d206c65667420746f20726967687420756e74696c2069742072656163686573206f6e65207468617420697320696e636964656e740a202a206f6e20616e20696e6e6572207365676d656e742e204974207468656e207363616e73207072656465636573736f727320746f2064657465726d696e65206966207468657920686176650a202a20656467657320746861742063726f7373207468617420696e6e6572207365676d656e742e2041742074686520656e6420612066696e616c207363616e20697320646f6e6520666f7220616c6c0a202a206e6f646573206f6e207468652063757272656e742072616e6b20746f2073656520696620746865792063726f737320746865206c617374207669736974656420696e6e65720a202a207365676d656e742e0a202a0a202a205468697320616c676f726974686d2028736166656c792920617373756d6573207468617420612064756d6d79206e6f64652077696c6c206f6e6c7920626520696e636964656e74206f6e20610a202a2073696e676c65206e6f646520696e20746865206c6179657273206265696e67207363616e6e65642e0a202a2f0a66756e6374696f6e2066696e645479706531436f6e666c6963747328672c206c61796572696e6729207b0a202076617220636f6e666c69637473203d207b7d3b0a0a202066756e6374696f6e2076697369744c6179657228707265764c617965722c206c6179657229207b0a202020207661720a2020202020202f2f206c6173742076697369746564206e6f646520696e207468652070726576696f7573206c61796572207468617420697320696e636964656e74206f6e20616e20696e6e65720a2020202020202f2f207365676d656e742e0a2020202020206b30203d20302c0a2020202020202f2f20547261636b7320746865206c617374206e6f646520696e2074686973206c61796572207363616e6e656420666f722063726f7373696e67732077697468206120747970652d310a2020202020202f2f207365676d656e742e0a2020202020207363616e506f73203d20302c0a202020202020707265764c617965724c656e677468203d20707265764c617965722e6c656e6774682c0a2020202020206c6173744e6f6465203d205f2e6c617374286c61796572293b0a0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206929207b0a2020202020207661722077203d2066696e644f74686572496e6e65725365676d656e744e6f646528672c2076292c0a202020202020202020206b31203d2077203f20672e6e6f64652877292e6f72646572203a20707265764c617965724c656e6774683b0a0a2020202020206966202877207c7c2076203d3d3d206c6173744e6f646529207b0a20202020202020205f2e666f7245616368286c617965722e736c696365287363616e506f732c2069202b31292c2066756e6374696f6e287363616e4e6f646529207b0a202020202020202020205f2e666f724561636828672e7072656465636573736f7273287363616e4e6f6465292c2066756e6374696f6e287529207b0a20202020202020202020202076617220754c6162656c203d20672e6e6f64652875292c0a2020202020202020202020202020202075506f73203d20754c6162656c2e6f726465723b0a202020202020202020202020696620282875506f73203c206b30207c7c206b31203c2075506f73292026260a202020202020202020202020202020202128754c6162656c2e64756d6d7920262620672e6e6f6465287363616e4e6f6465292e64756d6d792929207b0a2020202020202020202020202020616464436f6e666c69637428636f6e666c696374732c20752c207363616e4e6f6465293b0a2020202020202020202020207d0a202020202020202020207d293b0a20202020202020207d293b0a20202020202020207363616e506f73203d2069202b20313b0a20202020202020206b30203d206b313b0a2020202020207d0a202020207d293b0a0a2020202072657475726e206c617965723b0a20207d0a0a20205f2e726564756365286c61796572696e672c2076697369744c61796572293b0a202072657475726e20636f6e666c696374733b0a7d0a0a66756e6374696f6e2066696e645479706532436f6e666c6963747328672c206c61796572696e6729207b0a202076617220636f6e666c69637473203d207b7d3b0a0a202066756e6374696f6e207363616e28736f7574682c20736f757468506f732c20736f757468456e642c20707265764e6f727468426f726465722c206e6578744e6f727468426f7264657229207b0a2020202076617220763b0a202020205f2e666f7245616368285f2e72616e676528736f757468506f732c20736f757468456e64292c2066756e6374696f6e286929207b0a20202020202076203d20736f7574685b695d3b0a20202020202069662028672e6e6f64652876292e64756d6d7929207b0a20202020202020205f2e666f724561636828672e7072656465636573736f72732876292c2066756e6374696f6e287529207b0a2020202020202020202076617220754e6f6465203d20672e6e6f64652875293b0a2020202020202020202069662028754e6f64652e64756d6d792026260a202020202020202020202020202028754e6f64652e6f72646572203c20707265764e6f727468426f72646572207c7c20754e6f64652e6f72646572203e206e6578744e6f727468426f726465722929207b0a202020202020202020202020616464436f6e666c69637428636f6e666c696374732c20752c2076293b0a202020202020202020207d0a20202020202020207d293b0a2020202020207d0a202020207d293b0a20207d0a0a0a202066756e6374696f6e2076697369744c61796572286e6f7274682c20736f75746829207b0a2020202076617220707265764e6f727468506f73203d202d312c0a20202020202020206e6578744e6f727468506f732c0a2020202020202020736f757468506f73203d20303b0a0a202020205f2e666f724561636828736f7574682c2066756e6374696f6e28762c20736f7574684c6f6f6b616865616429207b0a20202020202069662028672e6e6f64652876292e64756d6d79203d3d3d2022626f726465722229207b0a2020202020202020766172207072656465636573736f7273203d20672e7072656465636573736f72732876293b0a2020202020202020696620287072656465636573736f72732e6c656e67746829207b0a202020202020202020206e6578744e6f727468506f73203d20672e6e6f6465287072656465636573736f72735b305d292e6f726465723b0a202020202020202020207363616e28736f7574682c20736f757468506f732c20736f7574684c6f6f6b61686561642c20707265764e6f727468506f732c206e6578744e6f727468506f73293b0a20202020202020202020736f757468506f73203d20736f7574684c6f6f6b61686561643b0a20202020202020202020707265764e6f727468506f73203d206e6578744e6f727468506f733b0a20202020202020207d0a2020202020207d0a2020202020207363616e28736f7574682c20736f757468506f732c20736f7574682e6c656e6774682c206e6578744e6f727468506f732c206e6f7274682e6c656e677468293b0a202020207d293b0a0a2020202072657475726e20736f7574683b0a20207d0a0a20205f2e726564756365286c61796572696e672c2076697369744c61796572293b0a202072657475726e20636f6e666c696374733b0a7d0a0a66756e6374696f6e2066696e644f74686572496e6e65725365676d656e744e6f646528672c207629207b0a202069662028672e6e6f64652876292e64756d6d7929207b0a2020202072657475726e205f2e66696e6428672e7072656465636573736f72732876292c2066756e6374696f6e287529207b0a20202020202072657475726e20672e6e6f64652875292e64756d6d793b0a202020207d293b0a20207d0a7d0a0a66756e6374696f6e20616464436f6e666c69637428636f6e666c696374732c20762c207729207b0a20206966202876203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a0a202076617220636f6e666c6963747356203d20636f6e666c696374735b765d3b0a20206966202821636f6e666c696374735629207b0a20202020636f6e666c696374735b765d203d20636f6e666c6963747356203d207b7d3b0a20207d0a2020636f6e666c69637473565b775d203d20747275653b0a7d0a0a66756e6374696f6e20686173436f6e666c69637428636f6e666c696374732c20762c207729207b0a20206966202876203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202072657475726e205f2e68617328636f6e666c696374735b765d2c2077293b0a7d0a0a2f2a0a202a2054727920746f20616c69676e206e6f64657320696e746f20766572746963616c2022626c6f636b732220776865726520706f737369626c652e205468697320616c676f726974686d0a202a20617474656d70747320746f20616c69676e2061206e6f64652077697468206f6e65206f6620697473206d656469616e206e65696768626f72732e2049662074686520656467650a202a20636f6e6e656374696e672061206e65696768626f72206973206120747970652d3120636f6e666c696374207468656e2077652069676e6f7265207468617420706f73736962696c6974792e0a202a20496620612070726576696f7573206e6f64652068617320616c726561647920666f726d6564206120626c6f636b20776974682061206e6f646520616674657220746865206e6f64650a202a20776527726520747279696e6720746f20666f726d206120626c6f636b20776974682c20776520616c736f2069676e6f7265207468617420706f73736962696c697479202d206f75720a202a20626c6f636b7320776f756c642062652073706c697420696e2074686174207363656e6172696f2e0a202a2f0a66756e6374696f6e20766572746963616c416c69676e6d656e7428672c206c61796572696e672c20636f6e666c696374732c206e65696768626f72466e29207b0a202076617220726f6f74203d207b7d2c0a202020202020616c69676e203d207b7d2c0a202020202020706f73203d207b7d3b0a0a20202f2f2057652063616368652074686520706f736974696f6e2068657265206261736564206f6e20746865206c61796572696e6720626563617573652074686520677261706820616e640a20202f2f206c61796572696e67206d6179206265206f7574206f662073796e632e20546865206c61796572696e67206d6174726978206973206d616e6970756c6174656420746f0a20202f2f2067656e657261746520646966666572656e742065787472656d6520616c69676e6d656e74732e0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e28762c206f7264657229207b0a202020202020726f6f745b765d203d20763b0a202020202020616c69676e5b765d203d20763b0a202020202020706f735b765d203d206f726465723b0a202020207d293b0a20207d293b0a0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a202020207661722070726576496478203d202d313b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a202020202020766172207773203d206e65696768626f72466e2876293b0a2020202020206966202877732e6c656e67746829207b0a20202020202020207773203d205f2e736f727442792877732c2066756e6374696f6e287729207b2072657475726e20706f735b775d3b207d293b0a2020202020202020766172206d70203d202877732e6c656e677468202d203129202f20323b0a2020202020202020666f7220287661722069203d204d6174682e666c6f6f72286d70292c20696c203d204d6174682e6365696c286d70293b2069203c3d20696c3b202b2b6929207b0a202020202020202020207661722077203d2077735b695d3b0a2020202020202020202069662028616c69676e5b765d203d3d3d20762026260a202020202020202020202020202070726576496478203c20706f735b775d2026260a202020202020202020202020202021686173436f6e666c69637428636f6e666c696374732c20762c20772929207b0a202020202020202020202020616c69676e5b775d203d20763b0a202020202020202020202020616c69676e5b765d203d20726f6f745b765d203d20726f6f745b775d3b0a20202020202020202020202070726576496478203d20706f735b775d3b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d293b0a20207d293b0a0a202072657475726e207b20726f6f743a20726f6f742c20616c69676e3a20616c69676e207d3b0a7d0a0a66756e6374696f6e20686f72697a6f6e74616c436f6d70616374696f6e28672c206c61796572696e672c20726f6f742c20616c69676e2c207265766572736553657029207b0a20202f2f205468697320706f7274696f6e206f662074686520616c676f726974686d20646966666572732066726f6d20424b2064756520746f2061206e756d626572206f662070726f626c656d732e0a20202f2f20496e7374656164206f6620746865697220616c676f726974686d20776520636f6e7374727563742061206e657720626c6f636b20677261706820616e6420646f2074776f0a20202f2f207377656570732e2054686520666972737420737765657020706c6163657320626c6f636b7320776974682074686520736d616c6c65737420706f737369626c650a20202f2f20636f6f7264696e617465732e20546865207365636f6e642073776565702072656d6f76657320756e75736564207370616365206279206d6f76696e6720626c6f636b7320746f207468650a20202f2f20677265617465737420636f6f7264696e6174657320776974686f75742076696f6c6174696e672073657061726174696f6e2e0a2020766172207873203d207b7d2c0a202020202020626c6f636b47203d206275696c64426c6f636b477261706828672c206c61796572696e672c20726f6f742c2072657665727365536570293b0a0a20202f2f20466972737420706173732c2061737369676e20736d616c6c65737420636f6f7264696e6174657320766961204446530a20207661722076697369746564203d207b7d3b0a202066756e6374696f6e207061737331287629207b0a2020202069662028215f2e68617328766973697465642c20762929207b0a202020202020766973697465645b765d203d20747275653b0a20202020202078735b765d203d205f2e72656475636528626c6f636b472e696e45646765732876292c2066756e6374696f6e286d61782c206529207b0a2020202020202020706173733128652e76293b0a202020202020202072657475726e204d6174682e6d6178286d61782c2078735b652e765d202b20626c6f636b472e65646765286529293b0a2020202020207d2c2030293b0a202020207d0a20207d0a20205f2e666f724561636828626c6f636b472e6e6f64657328292c207061737331293b0a0a202076617220626f7264657254797065203d2072657665727365536570203f2022626f726465724c65667422203a2022626f726465725269676874223b0a202066756e6374696f6e207061737332287629207b0a2020202069662028766973697465645b765d20213d3d203229207b0a202020202020766973697465645b765d2b2b3b0a202020202020766172206e6f6465203d20672e6e6f64652876293b0a202020202020766172206d696e203d205f2e72656475636528626c6f636b472e6f757445646765732876292c2066756e6374696f6e286d696e2c206529207b0a2020202020202020706173733228652e77293b0a202020202020202072657475726e204d6174682e6d696e286d696e2c2078735b652e775d202d20626c6f636b472e65646765286529293b0a2020202020207d2c204e756d6265722e504f5349544956455f494e46494e495459293b0a202020202020696620286d696e20213d3d204e756d6265722e504f5349544956455f494e46494e495459202626206e6f64652e626f726465725479706520213d3d20626f726465725479706529207b0a202020202020202078735b765d203d204d6174682e6d61782878735b765d2c206d696e293b0a2020202020207d0a202020207d0a20207d0a20205f2e666f724561636828626c6f636b472e6e6f64657328292c207061737332293b0a0a20202f2f2041737369676e207820636f6f7264696e6174657320746f20616c6c206e6f6465730a20205f2e666f724561636828616c69676e2c2066756e6374696f6e287629207b0a2020202078735b765d203d2078735b726f6f745b765d5d3b0a20207d293b0a0a202072657475726e2078733b0a7d0a0a0a66756e6374696f6e206275696c64426c6f636b477261706828672c206c61796572696e672c20726f6f742c207265766572736553657029207b0a202076617220626c6f636b4772617068203d206e657720477261706828292c0a20202020202067726170684c6162656c203d20672e677261706828292c0a202020202020736570466e203d207365702867726170684c6162656c2e6e6f64657365702c2067726170684c6162656c2e656467657365702c2072657665727365536570293b0a0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a2020202076617220753b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a2020202020207661722076526f6f74203d20726f6f745b765d3b0a202020202020626c6f636b47726170682e7365744e6f64652876526f6f74293b0a202020202020696620287529207b0a20202020202020207661722075526f6f74203d20726f6f745b755d2c0a202020202020202020202020707265764d6178203d20626c6f636b47726170682e656467652875526f6f742c2076526f6f74293b0a2020202020202020626c6f636b47726170682e736574456467652875526f6f742c2076526f6f742c204d6174682e6d617828736570466e28672c20762c2075292c20707265764d6178207c7c203029293b0a2020202020207d0a20202020202075203d20763b0a202020207d293b0a20207d293b0a0a202072657475726e20626c6f636b47726170683b0a7d0a0a2f2a0a202a2052657475726e732074686520616c69676e6d656e742074686174206861732074686520736d616c6c657374207769647468206f662074686520676976656e20616c69676e6d656e74732e0a202a2f0a66756e6374696f6e2066696e64536d616c6c6573745769647468416c69676e6d656e7428672c2078737329207b0a202072657475726e205f2e6d696e4279285f2e76616c75657328787373292c2066756e6374696f6e2028787329207b0a20202020766172206d6178203d204e756d6265722e4e454741544956455f494e46494e4954593b0a20202020766172206d696e203d204e756d6265722e504f5349544956455f494e46494e4954593b0a0a202020205f2e666f72496e2878732c2066756e6374696f6e2028782c207629207b0a2020202020207661722068616c665769647468203d20776964746828672c207629202f20323b0a0a2020202020206d6178203d204d6174682e6d61782878202b2068616c6657696474682c206d6178293b0a2020202020206d696e203d204d6174682e6d696e2878202d2068616c6657696474682c206d696e293b0a202020207d293b0a0a2020202072657475726e206d6178202d206d696e3b0a20207d293b0a7d0a0a2f2a0a202a20416c69676e2074686520636f6f7264696e61746573206f662065616368206f6620746865206c61796f757420616c69676e6d656e7473207375636820746861740a202a206c6566742d62696173656420616c69676e6d656e74732068617665207468656972206d696e696d756d20636f6f7264696e617465206174207468652073616d6520706f696e742061730a202a20746865206d696e696d756d20636f6f7264696e617465206f662074686520736d616c6c65737420776964746820616c69676e6d656e7420616e642072696768742d6269617365640a202a20616c69676e6d656e74732068617665207468656972206d6178696d756d20636f6f7264696e617465206174207468652073616d6520706f696e7420617320746865206d6178696d756d0a202a20636f6f7264696e617465206f662074686520736d616c6c65737420776964746820616c69676e6d656e742e0a202a2f0a66756e6374696f6e20616c69676e436f6f7264696e61746573287873732c20616c69676e546f29207b0a202076617220616c69676e546f56616c73203d205f2e76616c75657328616c69676e546f292c0a202020202020616c69676e546f4d696e203d205f2e6d696e28616c69676e546f56616c73292c0a202020202020616c69676e546f4d6178203d205f2e6d617828616c69676e546f56616c73293b0a0a20205f2e666f7245616368285b2275222c202264225d2c2066756e6374696f6e287665727429207b0a202020205f2e666f7245616368285b226c222c202272225d2c2066756e6374696f6e28686f72697a29207b0a20202020202076617220616c69676e6d656e74203d2076657274202b20686f72697a2c0a202020202020202020207873203d207873735b616c69676e6d656e745d2c0a2020202020202020202064656c74613b0a202020202020696620287873203d3d3d20616c69676e546f292072657475726e3b0a0a20202020202076617220787356616c73203d205f2e76616c756573287873293b0a20202020202064656c7461203d20686f72697a203d3d3d20226c22203f20616c69676e546f4d696e202d205f2e6d696e28787356616c7329203a20616c69676e546f4d6178202d205f2e6d617828787356616c73293b0a0a2020202020206966202864656c746129207b0a20202020202020207873735b616c69676e6d656e745d203d205f2e6d617056616c7565732878732c2066756e6374696f6e287829207b2072657475726e2078202b2064656c74613b207d293b0a2020202020207d0a202020207d293b0a20207d293b0a7d0a0a66756e6374696f6e2062616c616e6365287873732c20616c69676e29207b0a202072657475726e205f2e6d617056616c756573287873732e756c2c2066756e6374696f6e2869676e6f72652c207629207b0a2020202069662028616c69676e29207b0a20202020202072657475726e207873735b616c69676e2e746f4c6f7765724361736528295d5b765d3b0a202020207d20656c7365207b0a202020202020766172207873203d205f2e736f72744279285f2e6d6170287873732c207629293b0a20202020202072657475726e202878735b315d202b2078735b325d29202f20323b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e58286729207b0a2020766172206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867292c0a202020202020636f6e666c69637473203d205f2e6d657267652866696e645479706531436f6e666c6963747328672c206c61796572696e67292c0a202020202020202020202020202020202020202020202020202066696e645479706532436f6e666c6963747328672c206c61796572696e6729293b0a0a202076617220787373203d207b7d2c0a20202020202061646a75737465644c61796572696e673b0a20205f2e666f7245616368285b2275222c202264225d2c2066756e6374696f6e287665727429207b0a2020202061646a75737465644c61796572696e67203d2076657274203d3d3d20227522203f206c61796572696e67203a205f2e76616c756573286c61796572696e67292e7265766572736528293b0a202020205f2e666f7245616368285b226c222c202272225d2c2066756e6374696f6e28686f72697a29207b0a20202020202069662028686f72697a203d3d3d2022722229207b0a202020202020202061646a75737465644c61796572696e67203d205f2e6d61702861646a75737465644c61796572696e672c2066756e6374696f6e28696e6e657229207b0a2020202020202020202072657475726e205f2e76616c75657328696e6e6572292e7265766572736528293b0a20202020202020207d293b0a2020202020207d0a0a202020202020766172206e65696768626f72466e203d205f2e62696e642876657274203d3d3d20227522203f20672e7072656465636573736f7273203a20672e737563636573736f72732c2067293b0a20202020202076617220616c69676e203d20766572746963616c416c69676e6d656e7428672c2061646a75737465644c61796572696e672c20636f6e666c696374732c206e65696768626f72466e293b0a202020202020766172207873203d20686f72697a6f6e74616c436f6d70616374696f6e28672c2061646a75737465644c61796572696e672c0a202020202020202020202020202020202020202020202020202020202020202020202020616c69676e2e726f6f742c20616c69676e2e616c69676e2c0a202020202020202020202020202020202020202020202020202020202020202020202020686f72697a203d3d3d20227222293b0a20202020202069662028686f72697a203d3d3d2022722229207b0a20202020202020207873203d205f2e6d617056616c7565732878732c2066756e6374696f6e287829207b2072657475726e202d783b207d293b0a2020202020207d0a2020202020207873735b76657274202b20686f72697a5d203d2078733b0a202020207d293b0a20207d293b0a0a202076617220736d616c6c6573745769647468203d2066696e64536d616c6c6573745769647468416c69676e6d656e7428672c20787373293b0a2020616c69676e436f6f7264696e61746573287873732c20736d616c6c6573745769647468293b0a202072657475726e2062616c616e6365287873732c20672e677261706828292e616c69676e293b0a7d0a0a66756e6374696f6e20736570286e6f64655365702c20656467655365702c207265766572736553657029207b0a202072657475726e2066756e6374696f6e28672c20762c207729207b0a2020202076617220764c6162656c203d20672e6e6f64652876292c0a2020202020202020774c6162656c203d20672e6e6f64652877292c0a202020202020202073756d203d20302c0a202020202020202064656c74613b0a0a2020202073756d202b3d20764c6162656c2e7769647468202f20323b0a20202020696620285f2e68617328764c6162656c2c20226c6162656c706f73222929207b0a2020202020207377697463682028764c6162656c2e6c6162656c706f732e746f4c6f77657243617365282929207b0a20202020202020206361736520226c223a2064656c7461203d202d764c6162656c2e7769647468202f20323b20627265616b3b0a202020202020202063617365202272223a2064656c7461203d20764c6162656c2e7769647468202f20323b20627265616b3b0a2020202020207d0a202020207d0a202020206966202864656c746129207b0a20202020202073756d202b3d2072657665727365536570203f2064656c7461203a202d64656c74613b0a202020207d0a2020202064656c7461203d20303b0a0a2020202073756d202b3d2028764c6162656c2e64756d6d79203f2065646765536570203a206e6f646553657029202f20323b0a2020202073756d202b3d2028774c6162656c2e64756d6d79203f2065646765536570203a206e6f646553657029202f20323b0a0a2020202073756d202b3d20774c6162656c2e7769647468202f20323b0a20202020696620285f2e68617328774c6162656c2c20226c6162656c706f73222929207b0a2020202020207377697463682028774c6162656c2e6c6162656c706f732e746f4c6f77657243617365282929207b0a20202020202020206361736520226c223a2064656c7461203d20774c6162656c2e7769647468202f20323b20627265616b3b0a202020202020202063617365202272223a2064656c7461203d202d774c6162656c2e7769647468202f20323b20627265616b3b0a2020202020207d0a202020207d0a202020206966202864656c746129207b0a20202020202073756d202b3d2072657665727365536570203f2064656c7461203a202d64656c74613b0a202020207d0a2020202064656c7461203d20303b0a0a2020202072657475726e2073756d3b0a20207d3b0a7d0a0a66756e6374696f6e20776964746828672c207629207b0a202072657475726e20672e6e6f64652876292e77696474683b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39387d5d2c39333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207574696c203d207265717569726528222e2e2f7574696c22292c0a20202020706f736974696f6e58203d207265717569726528222e2f626b22292e706f736974696f6e583b0a0a6d6f64756c652e6578706f727473203d20706f736974696f6e3b0a0a66756e6374696f6e20706f736974696f6e286729207b0a202067203d207574696c2e61734e6f6e436f6d706f756e6447726170682867293b0a0a2020706f736974696f6e592867293b0a20205f2e666f724561636828706f736974696f6e582867292c2066756e6374696f6e28782c207629207b0a20202020672e6e6f64652876292e78203d20783b0a20207d293b0a7d0a0a66756e6374696f6e20706f736974696f6e59286729207b0a2020766172206c61796572696e67203d207574696c2e6275696c644c617965724d61747269782867292c0a20202020202072616e6b536570203d20672e677261706828292e72616e6b7365702c0a2020202020207072657659203d20303b0a20205f2e666f7245616368286c61796572696e672c2066756e6374696f6e286c6179657229207b0a20202020766172206d6178486569676874203d205f2e6d6178285f2e6d6170286c617965722c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e6865696768743b207d29293b0a202020205f2e666f7245616368286c617965722c2066756e6374696f6e287629207b0a202020202020672e6e6f64652876292e79203d207072657659202b206d6178486569676874202f20323b0a202020207d293b0a202020207072657659202b3d206d6178486569676874202b2072616e6b5365703b0a20207d293b0a7d0a0a0a7d2c7b222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f626b223a39327d5d2c39343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f67726170686c696222292e47726170682c0a20202020736c61636b203d207265717569726528222e2f7574696c22292e736c61636b3b0a0a6d6f64756c652e6578706f727473203d206665617369626c65547265653b0a0a2f2a0a202a20436f6e737472756374732061207370616e6e696e672074726565207769746820746967687420656467657320616e642061646a75737465642074686520696e707574206e6f646527730a202a2072616e6b7320746f206163686965766520746869732e20412074696768742065646765206973206f6e652074686174206973206861732061206c656e6774682074686174206d6174636865730a202a2069747320226d696e6c656e22206174747269627574652e0a202a0a202a205468652062617369632073747275637475726520666f7220746869732066756e6374696f6e20697320646572697665642066726f6d2047616e736e65722c20657420616c2e2c2022410a202a20546563686e6971756520666f722044726177696e67204469726563746564204772617068732e220a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d7573742062652061204441472e0a202a20202020322e204772617068206d75737420626520636f6e6e65637465642e0a202a20202020332e204772617068206d7573742068617665206174206c65617374206f6e65206e6f64652e0a202a20202020352e204772617068206e6f646573206d7573742068617665206265656e2070726576696f75736c792061737369676e65642061202272616e6b222070726f706572747920746861740a202a2020202020202072657370656374732074686520226d696e6c656e222070726f7065727479206f6620696e636964656e742065646765732e0a202a20202020362e204772617068206564676573206d7573742068617665206120226d696e6c656e222070726f70657274792e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a202020202d204772617068206e6f6465732077696c6c20686176652074686569722072616e6b2061646a757374656420746f20656e73757265207468617420616c6c206564676573206172650a202a20202020202074696768742e0a202a0a202a2052657475726e73206120747265652028756e646972656374656420677261706829207468617420697320636f6e7374727563746564207573696e67206f6e6c7920227469676874220a202a2065646765732e0a202a2f0a66756e6374696f6e206665617369626c6554726565286729207b0a20207661722074203d206e6577204772617068287b2064697265637465643a2066616c7365207d293b0a0a20202f2f2043686f6f736520617262697472617279206e6f64652066726f6d20776869636820746f207374617274206f757220747265650a2020766172207374617274203d20672e6e6f64657328295b305d2c0a20202020202073697a65203d20672e6e6f6465436f756e7428293b0a2020742e7365744e6f64652873746172742c207b7d293b0a0a202076617220656467652c2064656c74613b0a20207768696c65202874696768745472656528742c206729203c2073697a6529207b0a2020202065646765203d2066696e644d696e536c61636b4564676528742c2067293b0a2020202064656c7461203d20742e6861734e6f646528656467652e7629203f20736c61636b28672c206564676529203a202d736c61636b28672c2065646765293b0a20202020736869667452616e6b7328742c20672c2064656c7461293b0a20207d0a0a202072657475726e20743b0a7d0a0a2f2a0a202a2046696e64732061206d6178696d616c2074726565206f6620746967687420656467657320616e642072657475726e7320746865206e756d626572206f66206e6f64657320696e207468650a202a20747265652e0a202a2f0a66756e6374696f6e2074696768745472656528742c206729207b0a202066756e6374696f6e20646673287629207b0a202020205f2e666f724561636828672e6e6f646545646765732876292c2066756e6374696f6e286529207b0a202020202020766172206564676556203d20652e762c0a2020202020202020202077203d202876203d3d3d20656467655629203f20652e77203a2065646765563b0a2020202020206966202821742e6861734e6f64652877292026262021736c61636b28672c20652929207b0a2020202020202020742e7365744e6f646528772c207b7d293b0a2020202020202020742e7365744564676528762c20772c207b7d293b0a20202020202020206466732877293b0a2020202020207d0a202020207d293b0a20207d0a0a20205f2e666f724561636828742e6e6f64657328292c20646673293b0a202072657475726e20742e6e6f6465436f756e7428293b0a7d0a0a2f2a0a202a2046696e647320746865206564676520776974682074686520736d616c6c65737420736c61636b207468617420697320696e636964656e74206f6e207472656520616e642072657475726e730a202a2069742e0a202a2f0a66756e6374696f6e2066696e644d696e536c61636b4564676528742c206729207b0a202072657475726e205f2e6d696e427928672e656467657328292c2066756e6374696f6e286529207b0a2020202069662028742e6861734e6f646528652e762920213d3d20742e6861734e6f646528652e772929207b0a20202020202072657475726e20736c61636b28672c2065293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20736869667452616e6b7328742c20672c2064656c746129207b0a20205f2e666f724561636828742e6e6f64657328292c2066756e6374696f6e287629207b0a20202020672e6e6f64652876292e72616e6b202b3d2064656c74613b0a20207d293b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2f7574696c223a39377d5d2c39353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a7661722072616e6b5574696c203d207265717569726528222e2f7574696c22292c0a202020206c6f6e6765737450617468203d2072616e6b5574696c2e6c6f6e67657374506174682c0a202020206665617369626c6554726565203d207265717569726528222e2f6665617369626c652d7472656522292c0a202020206e6574776f726b53696d706c6578203d207265717569726528222e2f6e6574776f726b2d73696d706c657822293b0a0a6d6f64756c652e6578706f727473203d2072616e6b3b0a0a2f2a0a202a2041737369676e7320612072616e6b20746f2065616368206e6f646520696e2074686520696e70757420677261706820746861742072657370656374732074686520226d696e6c656e220a202a20636f6e73747261696e7420737065636966696564206f6e206564676573206265747765656e206e6f6465732e0a202a0a202a20546869732062617369632073747275637475726520697320646572697665642066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e6971756520666f720a202a2044726177696e67204469726563746564204772617068732e220a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206d757374206265206120636f6e6e6563746564204441470a202a20202020322e204772617068206e6f646573206d757374206265206f626a656374730a202a20202020332e204772617068206564676573206d757374206861766520227765696768742220616e6420226d696e6c656e2220617474726962757465730a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e204772617068206e6f6465732077696c6c20686176652061202272616e6b2220617474726962757465206261736564206f6e2074686520726573756c7473206f66207468650a202a20202020202020616c676f726974686d2e2052616e6b732063616e20737461727420617420616e7920696e6465782028696e636c7564696e67206e65676174697665292c207765276c6c0a202a20202020202020666978207468656d207570206c617465722e0a202a2f0a66756e6374696f6e2072616e6b286729207b0a202073776974636828672e677261706828292e72616e6b657229207b0a202020206361736520226e6574776f726b2d73696d706c6578223a206e6574776f726b53696d706c657852616e6b65722867293b20627265616b3b0a2020202063617365202274696768742d74726565223a2074696768745472656552616e6b65722867293b20627265616b3b0a202020206361736520226c6f6e676573742d70617468223a206c6f6e676573745061746852616e6b65722867293b20627265616b3b0a2020202064656661756c743a206e6574776f726b53696d706c657852616e6b65722867293b0a20207d0a7d0a0a2f2f2041206661737420616e642073696d706c652072616e6b65722c2062757420726573756c747320617265206661722066726f6d206f7074696d616c2e0a766172206c6f6e676573745061746852616e6b6572203d206c6f6e67657374506174683b0a0a66756e6374696f6e2074696768745472656552616e6b6572286729207b0a20206c6f6e67657374506174682867293b0a20206665617369626c65547265652867293b0a7d0a0a66756e6374696f6e206e6574776f726b53696d706c657852616e6b6572286729207b0a20206e6574776f726b53696d706c65782867293b0a7d0a0a7d2c7b222e2f6665617369626c652d74726565223a39342c222e2f6e6574776f726b2d73696d706c6578223a39362c222e2f7574696c223a39377d5d2c39363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020206665617369626c6554726565203d207265717569726528222e2f6665617369626c652d7472656522292c0a20202020736c61636b203d207265717569726528222e2f7574696c22292e736c61636b2c0a20202020696e697452616e6b203d207265717569726528222e2f7574696c22292e6c6f6e67657374506174682c0a202020207072656f72646572203d207265717569726528222e2e2f67726170686c696222292e616c672e7072656f726465722c0a20202020706f73746f72646572203d207265717569726528222e2e2f67726170686c696222292e616c672e706f73746f726465722c0a2020202073696d706c696679203d207265717569726528222e2e2f7574696c22292e73696d706c6966793b0a0a6d6f64756c652e6578706f727473203d206e6574776f726b53696d706c65783b0a0a2f2f204578706f736520736f6d6520696e7465726e616c7320666f722074657374696e6720707572706f7365730a6e6574776f726b53696d706c65782e696e69744c6f774c696d56616c756573203d20696e69744c6f774c696d56616c7565733b0a6e6574776f726b53696d706c65782e696e697443757456616c756573203d20696e697443757456616c7565733b0a6e6574776f726b53696d706c65782e63616c6343757456616c7565203d2063616c6343757456616c75653b0a6e6574776f726b53696d706c65782e6c6561766545646765203d206c65617665456467653b0a6e6574776f726b53696d706c65782e656e74657245646765203d20656e746572456467653b0a6e6574776f726b53696d706c65782e65786368616e67654564676573203d2065786368616e676545646765733b0a0a2f2a0a202a20546865206e6574776f726b2073696d706c657820616c676f726974686d2061737369676e732072616e6b7320746f2065616368206e6f646520696e2074686520696e7075742067726170680a202a20616e64206974657261746976656c7920696d70726f766573207468652072616e6b696e6720746f2072656475636520746865206c656e677468206f662065646765732e0a202a0a202a20507265636f6e646974696f6e733a0a202a0a202a20202020312e2054686520696e707574206772617068206d7573742062652061204441472e0a202a20202020322e20416c6c206e6f64657320696e20746865206772617068206d757374206861766520616e206f626a6563742076616c75652e0a202a20202020332e20416c6c20656467657320696e20746865206772617068206d757374206861766520226d696e6c656e2220616e6420227765696768742220617474726962757465732e0a202a0a202a20506f7374636f6e646974696f6e733a0a202a0a202a20202020312e20416c6c206e6f64657320696e207468652067726170682077696c6c206861766520616e2061737369676e6564202272616e6b22206174747269627574652074686174206861730a202a202020202020206265656e206f7074696d697a656420627920746865206e6574776f726b2073696d706c657820616c676f726974686d2e2052616e6b7320737461727420617420302e0a202a0a202a0a202a204120726f75676820736b65746368206f662074686520616c676f726974686d20697320617320666f6c6c6f77733a0a202a0a202a20202020312e2041737369676e20696e697469616c2072616e6b7320746f2065616368206e6f64652e2057652075736520746865206c6f6e67657374207061746820616c676f726974686d2c0a202a2020202020202077686963682061737369676e732072616e6b7320746f20746865206c6f7765737420706f736974696f6e20706f737369626c652e20496e2067656e6572616c20746869730a202a202020202020206c6561647320746f2076657279207769646520626f74746f6d2072616e6b7320616e6420756e6e65636573736172696c79206c6f6e672065646765732e0a202a20202020322e20436f6e7374727563742061206665617369626c6520746967687420747265652e20412074696768742074726565206973206f6e652073756368207468617420616c6c0a202a20202020202020656467657320696e2074686520747265652068617665206e6f20736c61636b2028646966666572656e6365206265747765656e206c656e677468206f6620656467650a202a20202020202020616e64206d696e6c656e20666f72207468652065646765292e205468697320627920697473656c662067726561746c7920696d70726f766573207468652061737369676e65640a202a2020202020202072616e6b696e67732062792073686f7274696e672065646765732e0a202a20202020332e204974657261746976656c792066696e6420656467657320746861742068617665206e65676174697665206375742076616c7565732e2047656e6572616c6c7920610a202a202020202020206e65676174697665206375742076616c756520696e64696361746573207468617420746865206564676520636f756c642062652072656d6f76656420616e642061206e65770a202a2020202020202074726565206564676520636f756c6420626520616464656420746f2070726f647563652061206d6f726520636f6d706163742067726170682e0a202a0a202a204d756368206f662074686520616c676f726974686d7320686572652061726520646572697665642066726f6d2047616e736e65722c20657420616c2e2c20224120546563686e697175650a202a20666f722044726177696e67204469726563746564204772617068732e222054686520737472756374757265206f66207468652066696c6520726f7567686c7920666f6c6c6f7773207468650a202a20737472756374757265206f6620746865206f766572616c6c20616c676f726974686d2e0a202a2f0a66756e6374696f6e206e6574776f726b53696d706c6578286729207b0a202067203d2073696d706c6966792867293b0a2020696e697452616e6b2867293b0a20207661722074203d206665617369626c65547265652867293b0a2020696e69744c6f774c696d56616c7565732874293b0a2020696e697443757456616c75657328742c2067293b0a0a202076617220652c20663b0a20207768696c6520282865203d206c65617665456467652874292929207b0a2020202066203d20656e7465724564676528742c20672c2065293b0a2020202065786368616e6765456467657328742c20672c20652c2066293b0a20207d0a7d0a0a2f2a0a202a20496e697469616c697a6573206375742076616c75657320666f7220616c6c20656467657320696e2074686520747265652e0a202a2f0a66756e6374696f6e20696e697443757456616c75657328742c206729207b0a2020766172207673203d20706f73746f7264657228742c20742e6e6f6465732829293b0a20207673203d2076732e736c69636528302c2076732e6c656e677468202d2031293b0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a2020202061737369676e43757456616c756528742c20672c2076293b0a20207d293b0a7d0a0a66756e6374696f6e2061737369676e43757456616c756528742c20672c206368696c6429207b0a2020766172206368696c644c6162203d20742e6e6f6465286368696c64292c0a202020202020706172656e74203d206368696c644c61622e706172656e743b0a2020742e65646765286368696c642c20706172656e74292e63757476616c7565203d2063616c6343757456616c756528742c20672c206368696c64293b0a7d0a0a2f2a0a202a20476976656e2074686520746967687420747265652c206974732067726170682c20616e642061206368696c6420696e207468652067726170682063616c63756c61746520616e640a202a2072657475726e20746865206375742076616c756520666f72207468652065646765206265747765656e20746865206368696c6420616e642069747320706172656e742e0a202a2f0a66756e6374696f6e2063616c6343757456616c756528742c20672c206368696c6429207b0a2020766172206368696c644c6162203d20742e6e6f6465286368696c64292c0a202020202020706172656e74203d206368696c644c61622e706172656e742c0a2020202020202f2f205472756520696620746865206368696c64206973206f6e20746865207461696c20656e64206f6620746865206564676520696e207468652064697265637465642067726170680a2020202020206368696c6449735461696c203d20747275652c0a2020202020202f2f2054686520677261706827732076696577206f66207468652074726565206564676520776527726520696e7370656374696e670a202020202020677261706845646765203d20672e65646765286368696c642c20706172656e74292c0a2020202020202f2f2054686520616363756d756c61746564206375742076616c756520666f72207468652065646765206265747765656e2074686973206e6f646520616e642069747320706172656e740a20202020202063757456616c7565203d20303b0a0a2020696620282167726170684564676529207b0a202020206368696c6449735461696c203d2066616c73653b0a20202020677261706845646765203d20672e6564676528706172656e742c206368696c64293b0a20207d0a0a202063757456616c7565203d206772617068456467652e7765696768743b0a0a20205f2e666f724561636828672e6e6f64654564676573286368696c64292c2066756e6374696f6e286529207b0a202020207661722069734f757445646765203d20652e76203d3d3d206368696c642c0a20202020202020206f74686572203d2069734f757445646765203f20652e77203a20652e763b0a0a20202020696620286f7468657220213d3d20706172656e7429207b0a20202020202076617220706f696e7473546f48656164203d2069734f757445646765203d3d3d206368696c6449735461696c2c0a202020202020202020206f74686572576569676874203d20672e656467652865292e7765696768743b0a0a20202020202063757456616c7565202b3d20706f696e7473546f48656164203f206f74686572576569676874203a202d6f746865725765696768743b0a202020202020696620286973547265654564676528742c206368696c642c206f746865722929207b0a2020202020202020766172206f7468657243757456616c7565203d20742e65646765286368696c642c206f74686572292e63757476616c75653b0a202020202020202063757456616c7565202b3d20706f696e7473546f48656164203f202d6f7468657243757456616c7565203a206f7468657243757456616c75653b0a2020202020207d0a202020207d0a20207d293b0a0a202072657475726e2063757456616c75653b0a7d0a0a66756e6374696f6e20696e69744c6f774c696d56616c75657328747265652c20726f6f7429207b0a202069662028617267756d656e74732e6c656e677468203c203229207b0a20202020726f6f74203d20747265652e6e6f64657328295b305d3b0a20207d0a202064667341737369676e4c6f774c696d28747265652c207b7d2c20312c20726f6f74293b0a7d0a0a66756e6374696f6e2064667341737369676e4c6f774c696d28747265652c20766973697465642c206e6578744c696d2c20762c20706172656e7429207b0a2020766172206c6f77203d206e6578744c696d2c0a2020202020206c6162656c203d20747265652e6e6f64652876293b0a0a2020766973697465645b765d203d20747275653b0a20205f2e666f724561636828747265652e6e65696768626f72732876292c2066756e6374696f6e287729207b0a2020202069662028215f2e68617328766973697465642c20772929207b0a2020202020206e6578744c696d203d2064667341737369676e4c6f774c696d28747265652c20766973697465642c206e6578744c696d2c20772c2076293b0a202020207d0a20207d293b0a0a20206c6162656c2e6c6f77203d206c6f773b0a20206c6162656c2e6c696d203d206e6578744c696d2b2b3b0a202069662028706172656e7429207b0a202020206c6162656c2e706172656e74203d20706172656e743b0a20207d20656c7365207b0a202020202f2f20544f444f2073686f756c642062652061626c6520746f2072656d6f76652074686973207768656e20776520696e6372656d656e74616c6c7920757064617465206c6f77206c696d0a2020202064656c657465206c6162656c2e706172656e743b0a20207d0a0a202072657475726e206e6578744c696d3b0a7d0a0a66756e6374696f6e206c6561766545646765287472656529207b0a202072657475726e205f2e66696e6428747265652e656467657328292c2066756e6374696f6e286529207b0a2020202072657475726e20747265652e656467652865292e63757476616c7565203c20303b0a20207d293b0a7d0a0a66756e6374696f6e20656e7465724564676528742c20672c206564676529207b0a20207661722076203d20656467652e762c0a20202020202077203d20656467652e773b0a0a20202f2f20466f72207468652072657374206f6620746869732066756e6374696f6e20776520617373756d652074686174207620697320746865207461696c20616e642077206973207468650a20202f2f20686561642c20736f20696620776520646f6e277420686176652074686973206564676520696e207468652067726170682077652073686f756c6420666c697020697420746f0a20202f2f206d617463682074686520636f7272656374206f7269656e746174696f6e2e0a20206966202821672e6861734564676528762c20772929207b0a2020202076203d20656467652e773b0a2020202077203d20656467652e763b0a20207d0a0a202076617220764c6162656c203d20742e6e6f64652876292c0a202020202020774c6162656c203d20742e6e6f64652877292c0a2020202020207461696c4c6162656c203d20764c6162656c2c0a202020202020666c6970203d2066616c73653b0a0a20202f2f2049662074686520726f6f7420697320696e20746865207461696c206f66207468652065646765207468656e207765206e65656420746f20666c697020746865206c6f67696320746861740a20202f2f20636865636b7320666f7220746865206865616420616e64207461696c206e6f64657320696e207468652063616e646964617465732066756e6374696f6e2062656c6f772e0a202069662028764c6162656c2e6c696d203e20774c6162656c2e6c696d29207b0a202020207461696c4c6162656c203d20774c6162656c3b0a20202020666c6970203d20747275653b0a20207d0a0a20207661722063616e64696461746573203d205f2e66696c74657228672e656467657328292c2066756e6374696f6e286564676529207b0a2020202072657475726e20666c6970203d3d3d20697344657363656e64616e7428742c20742e6e6f646528656467652e76292c207461696c4c6162656c292026260a2020202020202020202020666c697020213d3d20697344657363656e64616e7428742c20742e6e6f646528656467652e77292c207461696c4c6162656c293b0a20207d293b0a0a202072657475726e205f2e6d696e42792863616e646964617465732c2066756e6374696f6e286564676529207b2072657475726e20736c61636b28672c2065646765293b207d293b0a7d0a0a66756e6374696f6e2065786368616e6765456467657328742c20672c20652c206629207b0a20207661722076203d20652e762c0a20202020202077203d20652e773b0a2020742e72656d6f76654564676528762c2077293b0a2020742e7365744564676528662e762c20662e772c207b7d293b0a2020696e69744c6f774c696d56616c7565732874293b0a2020696e697443757456616c75657328742c2067293b0a202075706461746552616e6b7328742c2067293b0a7d0a0a66756e6374696f6e2075706461746552616e6b7328742c206729207b0a202076617220726f6f74203d205f2e66696e6428742e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e2021672e6e6f64652876292e706172656e743b207d292c0a2020202020207673203d207072656f7264657228742c20726f6f74293b0a20207673203d2076732e736c6963652831293b0a20205f2e666f72456163682876732c2066756e6374696f6e287629207b0a2020202076617220706172656e74203d20742e6e6f64652876292e706172656e742c0a202020202020202065646765203d20672e6564676528762c20706172656e74292c0a2020202020202020666c6970706564203d2066616c73653b0a0a2020202069662028216564676529207b0a20202020202065646765203d20672e6564676528706172656e742c2076293b0a202020202020666c6970706564203d20747275653b0a202020207d0a0a20202020672e6e6f64652876292e72616e6b203d20672e6e6f646528706172656e74292e72616e6b202b2028666c6970706564203f20656467652e6d696e6c656e203a202d656467652e6d696e6c656e293b0a20207d293b0a7d0a0a2f2a0a202a2052657475726e73207472756520696620746865206564676520697320696e2074686520747265652e0a202a2f0a66756e6374696f6e206973547265654564676528747265652c20752c207629207b0a202072657475726e20747265652e6861734564676528752c2076293b0a7d0a0a2f2a0a202a2052657475726e7320747275652069662074686520737065636966696564206e6f64652069732064657363656e64616e74206f662074686520726f6f74206e6f646520706572207468650a202a2061737369676e6564206c6f7720616e64206c696d206174747269627574657320696e2074686520747265652e0a202a2f0a66756e6374696f6e20697344657363656e64616e7428747265652c20764c6162656c2c20726f6f744c6162656c29207b0a202072657475726e20726f6f744c6162656c2e6c6f77203c3d20764c6162656c2e6c696d20262620764c6162656c2e6c696d203c3d20726f6f744c6162656c2e6c696d3b0a7d0a0a7d2c7b222e2e2f67726170686c6962223a37362c222e2e2f6c6f64617368223a37392c222e2e2f7574696c223a39382c222e2f6665617369626c652d74726565223a39342c222e2f7574696c223a39377d5d2c39373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207b0a20206c6f6e67657374506174683a206c6f6e67657374506174682c0a2020736c61636b3a20736c61636b0a7d3b0a0a2f2a0a202a20496e697469616c697a65732072616e6b7320666f722074686520696e707574206772617068207573696e6720746865206c6f6e67657374207061746820616c676f726974686d2e20546869730a202a20616c676f726974686d207363616c65732077656c6c20616e64206973206661737420696e2070726163746963652c206974207969656c64732072617468657220706f6f720a202a20736f6c7574696f6e732e204e6f646573206172652070757368656420746f20746865206c6f77657374206c6179657220706f737369626c652c206c656176696e672074686520626f74746f6d0a202a2072616e6b73207769646520616e64206c656176696e67206564676573206c6f6e676572207468616e206e65636573736172792e20486f77657665722c2064756520746f206974730a202a2073706565642c207468697320616c676f726974686d20697320676f6f6420666f722067657474696e6720616e20696e697469616c2072616e6b696e6720746861742063616e206265206665640a202a20696e746f206f7468657220616c676f726974686d732e0a202a0a202a205468697320616c676f726974686d20646f6573206e6f74206e6f726d616c697a65206c617965727320626563617573652069742077696c6c2062652075736564206279206f746865720a202a20616c676f726974686d7320696e206d6f73742063617365732e204966207573696e67207468697320616c676f726974686d206469726563746c792c206265207375726520746f0a202a2072756e206e6f726d616c697a652061742074686520656e642e0a202a0a202a205072652d636f6e646974696f6e733a0a202a0a202a20202020312e20496e7075742067726170682069732061204441472e0a202a20202020322e20496e707574206772617068206e6f6465206c6162656c732063616e2062652061737369676e65642070726f706572746965732e0a202a0a202a20506f73742d636f6e646974696f6e733a0a202a0a202a20202020312e2045616368206e6f64652077696c6c2062652061737369676e20616e2028756e6e6f726d616c697a656429202272616e6b222070726f70657274792e0a202a2f0a66756e6374696f6e206c6f6e6765737450617468286729207b0a20207661722076697369746564203d207b7d3b0a0a202066756e6374696f6e20646673287629207b0a20202020766172206c6162656c203d20672e6e6f64652876293b0a20202020696620285f2e68617328766973697465642c20762929207b0a20202020202072657475726e206c6162656c2e72616e6b3b0a202020207d0a20202020766973697465645b765d203d20747275653b0a0a202020207661722072616e6b203d205f2e6d696e4279285f2e6d617028672e6f757445646765732876292c2066756e6374696f6e286529207b0a20202020202072657475726e2064667328652e7729202d20672e656467652865292e6d696e6c656e3b0a202020207d29293b0a0a202020206966202872616e6b203d3d3d204e756d6265722e504f5349544956455f494e46494e495459207c7c202f2f2072657475726e2076616c7565206f66205f2e6d6170285b5d2920666f72204c6f6461736820330a202020202020202072616e6b203d3d3d20756e646566696e6564207c7c202f2f2072657475726e2076616c7565206f66205f2e6d6170285b5d2920666f72204c6f6461736820340a202020202020202072616e6b203d3d3d206e756c6c29207b202f2f2072657475726e2076616c7565206f66205f2e6d6170285b6e756c6c5d290a20202020202072616e6b203d20303b0a202020207d0a0a2020202072657475726e20286c6162656c2e72616e6b203d2072616e6b293b0a20207d0a0a20205f2e666f724561636828672e736f757263657328292c20646673293b0a7d0a0a2f2a0a202a2052657475726e732074686520616d6f756e74206f6620736c61636b20666f722074686520676976656e20656467652e2054686520736c61636b20697320646566696e6564206173207468650a202a20646966666572656e6365206265747765656e20746865206c656e677468206f6620746865206564676520616e6420697473206d696e696d756d206c656e6774682e0a202a2f0a66756e6374696f6e20736c61636b28672c206529207b0a202072657475726e20672e6e6f646528652e77292e72616e6b202d20672e6e6f646528652e76292e72616e6b202d20672e656467652865292e6d696e6c656e3b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a37397d5d2c39383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f67726170686c696222292e47726170683b0a0a6d6f64756c652e6578706f727473203d207b0a202061646444756d6d794e6f64653a2061646444756d6d794e6f64652c0a202073696d706c6966793a2073696d706c6966792c0a202061734e6f6e436f6d706f756e6447726170683a2061734e6f6e436f6d706f756e6447726170682c0a2020737563636573736f72576569676874733a20737563636573736f72576569676874732c0a20207072656465636573736f72576569676874733a207072656465636573736f72576569676874732c0a2020696e74657273656374526563743a20696e74657273656374526563742c0a20206275696c644c617965724d61747269783a206275696c644c617965724d61747269782c0a20206e6f726d616c697a6552616e6b733a206e6f726d616c697a6552616e6b732c0a202072656d6f7665456d70747952616e6b733a2072656d6f7665456d70747952616e6b732c0a2020616464426f726465724e6f64653a20616464426f726465724e6f64652c0a20206d617852616e6b3a206d617852616e6b2c0a2020706172746974696f6e3a20706172746974696f6e2c0a202074696d653a2074696d652c0a20206e6f74696d653a206e6f74696d650a7d3b0a0a2f2a0a202a204164647320612064756d6d79206e6f646520746f2074686520677261706820616e642072657475726e20762e0a202a2f0a66756e6374696f6e2061646444756d6d794e6f646528672c20747970652c2061747472732c206e616d6529207b0a202076617220763b0a2020646f207b0a2020202076203d205f2e756e697175654964286e616d65293b0a20207d207768696c652028672e6861734e6f6465287629293b0a0a202061747472732e64756d6d79203d20747970653b0a2020672e7365744e6f646528762c206174747273293b0a202072657475726e20763b0a7d0a0a2f2a0a202a2052657475726e732061206e65772067726170682077697468206f6e6c792073696d706c652065646765732e2048616e646c6573206167677265676174696f6e206f6620646174610a202a206173736f6369617465642077697468206d756c74692d65646765732e0a202a2f0a66756e6374696f6e2073696d706c696679286729207b0a20207661722073696d706c6966696564203d206e657720477261706828292e736574477261706828672e67726170682829293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b2073696d706c69666965642e7365744e6f646528762c20672e6e6f6465287629293b207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a202020207661722073696d706c654c6162656c203d2073696d706c69666965642e6564676528652e762c20652e7729207c7c207b207765696768743a20302c206d696e6c656e3a2031207d2c0a20202020202020206c6162656c203d20672e656467652865293b0a2020202073696d706c69666965642e7365744564676528652e762c20652e772c207b0a2020202020207765696768743a2073696d706c654c6162656c2e776569676874202b206c6162656c2e7765696768742c0a2020202020206d696e6c656e3a204d6174682e6d61782873696d706c654c6162656c2e6d696e6c656e2c206c6162656c2e6d696e6c656e290a202020207d293b0a20207d293b0a202072657475726e2073696d706c69666965643b0a7d0a0a66756e6374696f6e2061734e6f6e436f6d706f756e644772617068286729207b0a20207661722073696d706c6966696564203d206e6577204772617068287b206d756c746967726170683a20672e69734d756c746967726170682829207d292e736574477261706828672e67726170682829293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a202020206966202821672e6368696c6472656e2876292e6c656e67746829207b0a20202020202073696d706c69666965642e7365744e6f646528762c20672e6e6f6465287629293b0a202020207d0a20207d293b0a20205f2e666f724561636828672e656467657328292c2066756e6374696f6e286529207b0a2020202073696d706c69666965642e7365744564676528652c20672e65646765286529293b0a20207d293b0a202072657475726e2073696d706c69666965643b0a7d0a0a66756e6374696f6e20737563636573736f7257656967687473286729207b0a2020766172207765696768744d6170203d205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722073756373203d207b7d3b0a202020205f2e666f724561636828672e6f757445646765732876292c2066756e6374696f6e286529207b0a202020202020737563735b652e775d203d2028737563735b652e775d207c7c203029202b20672e656467652865292e7765696768743b0a202020207d293b0a2020202072657475726e20737563733b0a20207d293b0a202072657475726e205f2e7a69704f626a65637428672e6e6f64657328292c207765696768744d6170293b0a7d0a0a66756e6374696f6e207072656465636573736f7257656967687473286729207b0a2020766172207765696768744d6170203d205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172207072656473203d207b7d3b0a202020205f2e666f724561636828672e696e45646765732876292c2066756e6374696f6e286529207b0a20202020202070726564735b652e765d203d202870726564735b652e765d207c7c203029202b20672e656467652865292e7765696768743b0a202020207d293b0a2020202072657475726e2070726564733b0a20207d293b0a202072657475726e205f2e7a69704f626a65637428672e6e6f64657328292c207765696768744d6170293b0a7d0a0a2f2a0a202a2046696e64732077686572652061206c696e65207374617274696e6720617420706f696e7420287b782c20797d2920776f756c6420696e7465727365637420612072656374616e676c650a202a20287b782c20792c2077696474682c206865696768747d29206966206974207765726520706f696e74696e67206174207468652072656374616e676c6527732063656e7465722e0a202a2f0a66756e6374696f6e20696e746572736563745265637428726563742c20706f696e7429207b0a20207661722078203d20726563742e783b0a20207661722079203d20726563742e793b0a0a20202f2f2052656374616e676c6520696e74657273656374696f6e20616c676f726974686d2066726f6d3a0a20202f2f20687474703a2f2f6d6174682e737461636b65786368616e67652e636f6d2f7175657374696f6e732f3130383131332f66696e642d656467652d6265747765656e2d74776f2d626f7865730a2020766172206478203d20706f696e742e78202d20783b0a2020766172206479203d20706f696e742e79202d20793b0a20207661722077203d20726563742e7769647468202f20323b0a20207661722068203d20726563742e686569676874202f20323b0a0a2020696620282164782026262021647929207b0a202020207468726f77206e6577204572726f7228224e6f7420706f737369626c6520746f2066696e6420696e74657273656374696f6e20696e73696465206f66207468652072656374616e676c6522293b0a20207d0a0a20207661722073782c2073793b0a2020696620284d6174682e61627328647929202a2077203e204d6174682e61627328647829202a206829207b0a202020202f2f20496e74657273656374696f6e20697320746f70206f7220626f74746f6d206f6620726563742e0a20202020696620286479203c203029207b0a20202020202068203d202d683b0a202020207d0a202020207378203d2068202a206478202f2064793b0a202020207379203d20683b0a20207d20656c7365207b0a202020202f2f20496e74657273656374696f6e206973206c656674206f72207269676874206f6620726563742e0a20202020696620286478203c203029207b0a20202020202077203d202d773b0a202020207d0a202020207378203d20773b0a202020207379203d2077202a206479202f2064783b0a20207d0a0a202072657475726e207b20783a2078202b2073782c20793a2079202b207379207d3b0a7d0a0a2f2a0a202a20476976656e20612044414720776974682065616368206e6f64652061737369676e6564202272616e6b2220616e6420226f72646572222070726f706572746965732c20746869730a202a2066756e6374696f6e2077696c6c2070726f647563652061206d617472697820776974682074686520696473206f662065616368206e6f64652e0a202a2f0a66756e6374696f6e206275696c644c617965724d6174726978286729207b0a2020766172206c61796572696e67203d205f2e6d6170285f2e72616e6765286d617852616e6b286729202b2031292c2066756e6374696f6e2829207b2072657475726e205b5d3b207d293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876292c0a202020202020202072616e6b203d206e6f64652e72616e6b3b0a2020202069662028215f2e6973556e646566696e65642872616e6b2929207b0a2020202020206c61796572696e675b72616e6b5d5b6e6f64652e6f726465725d203d20763b0a202020207d0a20207d293b0a202072657475726e206c61796572696e673b0a7d0a0a2f2a0a202a2041646a75737473207468652072616e6b7320666f7220616c6c206e6f64657320696e207468652067726170682073756368207468617420616c6c206e6f646573207620686176650a202a2072616e6b287629203e3d203020616e64206174206c65617374206f6e65206e6f64652077206861732072616e6b287729203d20302e0a202a2f0a66756e6374696f6e206e6f726d616c697a6552616e6b73286729207b0a2020766172206d696e203d205f2e6d696e4279285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29293b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f6465203d20672e6e6f64652876293b0a20202020696620285f2e686173286e6f64652c202272616e6b222929207b0a2020202020206e6f64652e72616e6b202d3d206d696e3b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e2072656d6f7665456d70747952616e6b73286729207b0a20202f2f2052616e6b73206d6179206e6f7420737461727420617420302c20736f207765206e65656420746f206f6666736574207468656d0a2020766172206f6666736574203d205f2e6d696e4279285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b2072657475726e20672e6e6f64652876292e72616e6b3b207d29293b0a0a2020766172206c6179657273203d205b5d3b0a20205f2e666f724561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722072616e6b203d20672e6e6f64652876292e72616e6b202d206f66667365743b0a2020202069662028216c61796572735b72616e6b5d29207b0a2020202020206c61796572735b72616e6b5d203d205b5d3b0a202020207d0a202020206c61796572735b72616e6b5d2e707573682876293b0a20207d293b0a0a20207661722064656c7461203d20302c0a2020202020206e6f646552616e6b466163746f72203d20672e677261706828292e6e6f646552616e6b466163746f723b0a20205f2e666f7245616368286c61796572732c2066756e6374696f6e2876732c206929207b0a20202020696620285f2e6973556e646566696e65642876732920262620692025206e6f646552616e6b466163746f7220213d3d203029207b0a2020202020202d2d64656c74613b0a202020207d20656c7365206966202864656c746129207b0a2020202020205f2e666f72456163682876732c2066756e6374696f6e287629207b20672e6e6f64652876292e72616e6b202b3d2064656c74613b207d293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20616464426f726465724e6f646528672c207072656669782c2072616e6b2c206f7264657229207b0a2020766172206e6f6465203d207b0a2020202077696474683a20302c0a202020206865696768743a20300a20207d3b0a202069662028617267756d656e74732e6c656e677468203e3d203429207b0a202020206e6f64652e72616e6b203d2072616e6b3b0a202020206e6f64652e6f72646572203d206f726465723b0a20207d0a202072657475726e2061646444756d6d794e6f646528672c2022626f72646572222c206e6f64652c20707265666978293b0a7d0a0a66756e6374696f6e206d617852616e6b286729207b0a202072657475726e205f2e6d6178285f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a202020207661722072616e6b203d20672e6e6f64652876292e72616e6b3b0a2020202069662028215f2e6973556e646566696e65642872616e6b2929207b0a20202020202072657475726e2072616e6b3b0a202020207d0a20207d29293b0a7d0a0a2f2a0a202a20506172746974696f6e206120636f6c6c656374696f6e20696e746f2074776f2067726f7570733a20606c68736020616e642060726873602e2049662074686520737570706c6965640a202a2066756e6374696f6e2072657475726e73207472756520666f7220616e20656e74727920697420676f657320696e746f20606c6873602e204f746865727769736520697420676f65730a202a20696e746f20607268732e0a202a2f0a66756e6374696f6e20706172746974696f6e28636f6c6c656374696f6e2c20666e29207b0a202076617220726573756c74203d207b206c68733a205b5d2c207268733a205b5d207d3b0a20205f2e666f724561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c756529207b0a2020202069662028666e2876616c75652929207b0a202020202020726573756c742e6c68732e707573682876616c7565293b0a202020207d20656c7365207b0a202020202020726573756c742e7268732e707573682876616c7565293b0a202020207d0a20207d293b0a202072657475726e20726573756c743b0a7d0a0a2f2a0a202a2052657475726e732061206e65772066756e6374696f6e20746861742077726170732060666e60207769746820612074696d65722e205468652077726170706572206c6f6773207468650a202a2074696d652069742074616b657320746f2065786563757465207468652066756e6374696f6e2e0a202a2f0a66756e6374696f6e2074696d65286e616d652c20666e29207b0a2020766172207374617274203d205f2e6e6f7728293b0a2020747279207b0a2020202072657475726e20666e28293b0a20207d2066696e616c6c79207b0a20202020636f6e736f6c652e6c6f67286e616d65202b20222074696d653a2022202b20285f2e6e6f772829202d20737461727429202b20226d7322293b0a20207d0a7d0a0a66756e6374696f6e206e6f74696d65286e616d652c20666e29207b0a202072657475726e20666e28293b0a7d0a0a7d2c7b222e2f67726170686c6962223a37362c222e2f6c6f64617368223a37397d5d2c39393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2022302e382e31223b0a0a7d2c7b7d5d2c3130303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2a0a202a20436f707972696768742028632920323031342c20436872697320506574746974740a202a20416c6c207269676874732072657365727665642e0a202a0a202a205265646973747269627574696f6e20616e642075736520696e20736f7572636520616e642062696e61727920666f726d732c2077697468206f7220776974686f75740a202a206d6f64696669636174696f6e2c20617265207065726d69747465642070726f766964656420746861742074686520666f6c6c6f77696e6720636f6e646974696f6e7320617265206d65743a0a202a0a202a20312e205265646973747269627574696f6e73206f6620736f7572636520636f6465206d7573742072657461696e207468652061626f766520636f70797269676874206e6f746963652c20746869730a202a206c697374206f6620636f6e646974696f6e7320616e642074686520666f6c6c6f77696e6720646973636c61696d65722e0a202a0a202a20322e205265646973747269627574696f6e7320696e2062696e61727920666f726d206d75737420726570726f64756365207468652061626f766520636f70797269676874206e6f746963652c0a202a2074686973206c697374206f6620636f6e646974696f6e7320616e642074686520666f6c6c6f77696e6720646973636c61696d657220696e2074686520646f63756d656e746174696f6e0a202a20616e642f6f72206f74686572206d6174657269616c732070726f766964656420776974682074686520646973747269627574696f6e2e0a202a0a202a20332e204e65697468657220746865206e616d65206f662074686520636f7079726967687420686f6c646572206e6f7220746865206e616d6573206f662069747320636f6e7472696275746f72730a202a206d6179206265207573656420746f20656e646f727365206f722070726f6d6f74652070726f647563747320646572697665642066726f6d207468697320736f66747761726520776974686f75740a202a207370656369666963207072696f72207772697474656e207065726d697373696f6e2e0a202a0a202a205448495320534f4654574152452049532050524f56494445442042592054484520434f5059524947485420484f4c4445525320414e4420434f4e5452494255544f5253202241532049532220414e440a202a20414e592045585052455353204f5220494d504c4945442057415252414e544945532c20494e434c5544494e472c20425554204e4f54204c494d4954454420544f2c2054484520494d504c4945440a202a2057415252414e54494553204f46204d45524348414e544142494c49545920414e44204649544e45535320464f52204120504152544943554c415220505552504f5345204152450a202a20444953434c41494d45442e20494e204e4f204556454e54205348414c4c2054484520434f5059524947485420484f4c444552204f5220434f4e5452494255544f5253204245204c4941424c450a202a20464f5220414e59204449524543542c20494e4449524543542c20494e434944454e54414c2c205350454349414c2c204558454d504c4152592c204f5220434f4e53455155454e5449414c0a202a2044414d414745532028494e434c5544494e472c20425554204e4f54204c494d4954454420544f2c2050524f435552454d454e54204f46205355425354495455544520474f4f4453204f520a202a2053455256494345533b204c4f5353204f46205553452c20444154412c204f522050524f464954533b204f5220425553494e45535320494e54455252555054494f4e2920484f57455645520a202a2043415553454420414e44204f4e20414e59205448454f5259204f46204c494142494c4954592c205748455448455220494e20434f4e54524143542c20535452494354204c494142494c4954592c0a202a204f5220544f52542028494e434c5544494e47204e45474c4947454e4345204f52204f5448455257495345292041524953494e4720494e20414e5920574159204f5554204f4620544845205553450a202a204f46205448495320534f4654574152452c204556454e2049462041445649534544204f462054484520504f53534942494c495459204f4620535543482044414d4147452e0a202a2f0a0a766172206c6962203d207265717569726528222e2f6c696222293b0a0a6d6f64756c652e6578706f727473203d207b0a202047726170683a206c69622e47726170682c0a20206a736f6e3a207265717569726528222e2f6c69622f6a736f6e22292c0a2020616c673a207265717569726528222e2f6c69622f616c6722292c0a202076657273696f6e3a206c69622e76657273696f6e0a7d3b0a0a7d2c7b222e2f6c6962223a3131362c222e2f6c69622f616c67223a3130372c222e2f6c69622f6a736f6e223a3131377d5d2c3130313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20636f6d706f6e656e74733b0a0a66756e6374696f6e20636f6d706f6e656e7473286729207b0a20207661722076697369746564203d207b7d2c0a202020202020636d707473203d205b5d2c0a202020202020636d70743b0a0a202066756e6374696f6e20646673287629207b0a20202020696620285f2e68617328766973697465642c207629292072657475726e3b0a20202020766973697465645b765d203d20747275653b0a20202020636d70742e707573682876293b0a202020205f2e6561636828672e737563636573736f72732876292c20646673293b0a202020205f2e6561636828672e7072656465636573736f72732876292c20646673293b0a20207d0a0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020636d7074203d205b5d3b0a202020206466732876293b0a2020202069662028636d70742e6c656e67746829207b0a202020202020636d7074732e7075736828636d7074293b0a202020207d0a20207d293b0a0a202072657475726e20636d7074733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d206466733b0a0a2f2a0a202a20412068656c706572207468617420707265666f726d732061207072652d206f7220706f73742d6f726465722074726176657273616c206f6e2074686520696e7075742067726170680a202a20616e642072657475726e7320746865206e6f64657320696e20746865206f726465722074686579207765726520766973697465642e204966207468652067726170682069730a202a20756e6469726563746564207468656e207468697320616c676f726974686d2077696c6c206e61766967617465207573696e67206e65696768626f72732e204966207468652067726170680a202a206973206469726563746564207468656e207468697320616c676f726974686d2077696c6c206e61766967617465207573696e6720737563636573736f72732e0a202a0a202a204f72646572206d757374206265206f6e65206f66202270726522206f722022706f7374222e0a202a2f0a66756e6374696f6e2064667328672c2076732c206f7264657229207b0a202069662028215f2e697341727261792876732929207b0a202020207673203d205b76735d3b0a20207d0a0a2020766172206e617669676174696f6e203d2028672e697344697265637465642829203f20672e737563636573736f7273203a20672e6e65696768626f7273292e62696e642867293b0a0a202076617220616363203d205b5d2c0a20202020202076697369746564203d207b7d3b0a20205f2e656163682876732c2066756e6374696f6e287629207b0a202020206966202821672e6861734e6f646528762929207b0a2020202020207468726f77206e6577204572726f722822477261706820646f6573206e6f742068617665206e6f64653a2022202b2076293b0a202020207d0a0a20202020646f44667328672c20762c206f72646572203d3d3d2022706f7374222c20766973697465642c206e617669676174696f6e2c20616363293b0a20207d293b0a202072657475726e206163633b0a7d0a0a66756e6374696f6e20646f44667328672c20762c20706f73746f726465722c20766973697465642c206e617669676174696f6e2c2061636329207b0a202069662028215f2e68617328766973697465642c20762929207b0a20202020766973697465645b765d203d20747275653b0a0a202020206966202821706f73746f7264657229207b206163632e707573682876293b207d0a202020205f2e65616368286e617669676174696f6e2876292c2066756e6374696f6e287729207b0a202020202020646f44667328672c20772c20706f73746f726465722c20766973697465642c206e617669676174696f6e2c20616363293b0a202020207d293b0a2020202069662028706f73746f7264657229207b206163632e707573682876293b207d0a20207d0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a7661722064696a6b73747261203d207265717569726528222e2f64696a6b7374726122292c0a202020205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2064696a6b73747261416c6c3b0a0a66756e6374696f6e2064696a6b73747261416c6c28672c2077656967687446756e632c206564676546756e6329207b0a202072657475726e205f2e7472616e73666f726d28672e6e6f64657328292c2066756e6374696f6e286163632c207629207b0a202020206163635b765d203d2064696a6b7374726128672c20762c2077656967687446756e632c206564676546756e63293b0a20207d2c207b7d293b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131382c222e2f64696a6b73747261223a3130347d5d2c3130343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020205072696f726974795175657565203d207265717569726528222e2e2f646174612f7072696f726974792d717565756522293b0a0a6d6f64756c652e6578706f727473203d2064696a6b737472613b0a0a7661722044454641554c545f5745494748545f46554e43203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e2064696a6b7374726128672c20736f757263652c20776569676874466e2c2065646765466e29207b0a202072657475726e2072756e44696a6b7374726128672c20537472696e6728736f75726365292c0a202020202020202020202020202020202020202020776569676874466e207c7c2044454641554c545f5745494748545f46554e432c0a20202020202020202020202020202020202020202065646765466e207c7c2066756e6374696f6e287629207b2072657475726e20672e6f757445646765732876293b207d293b0a7d0a0a66756e6374696f6e2072756e44696a6b7374726128672c20736f757263652c20776569676874466e2c2065646765466e29207b0a202076617220726573756c7473203d207b7d2c0a2020202020207071203d206e6577205072696f72697479517565756528292c0a202020202020762c2076456e7472793b0a0a2020766172207570646174654e65696768626f7273203d2066756e6374696f6e286564676529207b0a202020207661722077203d20656467652e7620213d3d2076203f20656467652e76203a20656467652e772c0a202020202020202077456e747279203d20726573756c74735b775d2c0a2020202020202020776569676874203d20776569676874466e2865646765292c0a202020202020202064697374616e6365203d2076456e7472792e64697374616e6365202b207765696768743b0a0a2020202069662028776569676874203c203029207b0a2020202020207468726f77206e6577204572726f72282264696a6b7374726120646f6573206e6f7420616c6c6f77206e65676174697665206564676520776569676874732e2022202b0a202020202020202020202020202020202020202020202242616420656467653a2022202b2065646765202b2022205765696768743a2022202b20776569676874293b0a202020207d0a0a202020206966202864697374616e6365203c2077456e7472792e64697374616e636529207b0a20202020202077456e7472792e64697374616e6365203d2064697374616e63653b0a20202020202077456e7472792e7072656465636573736f72203d20763b0a20202020202070712e646563726561736528772c2064697374616e6365293b0a202020207d0a20207d3b0a0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a202020207661722064697374616e6365203d2076203d3d3d20736f75726365203f2030203a204e756d6265722e504f5349544956455f494e46494e4954593b0a20202020726573756c74735b765d203d207b2064697374616e63653a2064697374616e6365207d3b0a2020202070712e61646428762c2064697374616e6365293b0a20207d293b0a0a20207768696c65202870712e73697a652829203e203029207b0a2020202076203d2070712e72656d6f76654d696e28293b0a2020202076456e747279203d20726573756c74735b765d3b0a202020206966202876456e7472792e64697374616e6365203d3d3d204e756d6265722e504f5349544956455f494e46494e49545929207b0a202020202020627265616b3b0a202020207d0a0a2020202065646765466e2876292e666f7245616368287570646174654e65696768626f7273293b0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f646174612f7072696f726974792d7175657565223a3131342c222e2e2f6c6f64617368223a3131387d5d2c3130353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020207461726a616e203d207265717569726528222e2f7461726a616e22293b0a0a6d6f64756c652e6578706f727473203d2066696e644379636c65733b0a0a66756e6374696f6e2066696e644379636c6573286729207b0a202072657475726e205f2e66696c746572287461726a616e2867292c2066756e6374696f6e28636d707429207b0a2020202072657475726e20636d70742e6c656e677468203e2031207c7c2028636d70742e6c656e677468203d3d3d203120262620672e6861734564676528636d70745b305d2c20636d70745b305d29293b0a20207d293b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131382c222e2f7461726a616e223a3131327d5d2c3130363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20666c6f79645761727368616c6c3b0a0a7661722044454641554c545f5745494748545f46554e43203d205f2e636f6e7374616e742831293b0a0a66756e6374696f6e20666c6f79645761727368616c6c28672c20776569676874466e2c2065646765466e29207b0a202072657475726e2072756e466c6f79645761727368616c6c28672c0a2020202020202020202020202020202020202020202020202020776569676874466e207c7c2044454641554c545f5745494748545f46554e432c0a202020202020202020202020202020202020202020202020202065646765466e207c7c2066756e6374696f6e287629207b2072657475726e20672e6f757445646765732876293b207d293b0a7d0a0a66756e6374696f6e2072756e466c6f79645761727368616c6c28672c20776569676874466e2c2065646765466e29207b0a202076617220726573756c7473203d207b7d2c0a2020202020206e6f646573203d20672e6e6f64657328293b0a0a20206e6f6465732e666f72456163682866756e6374696f6e287629207b0a20202020726573756c74735b765d203d207b7d3b0a20202020726573756c74735b765d5b765d203d207b2064697374616e63653a2030207d3b0a202020206e6f6465732e666f72456163682866756e6374696f6e287729207b0a202020202020696620287620213d3d207729207b0a2020202020202020726573756c74735b765d5b775d203d207b2064697374616e63653a204e756d6265722e504f5349544956455f494e46494e495459207d3b0a2020202020207d0a202020207d293b0a2020202065646765466e2876292e666f72456163682866756e6374696f6e286564676529207b0a2020202020207661722077203d20656467652e76203d3d3d2076203f20656467652e77203a20656467652e762c0a2020202020202020202064203d20776569676874466e2865646765293b0a202020202020726573756c74735b765d5b775d203d207b2064697374616e63653a20642c207072656465636573736f723a2076207d3b0a202020207d293b0a20207d293b0a0a20206e6f6465732e666f72456163682866756e6374696f6e286b29207b0a2020202076617220726f774b203d20726573756c74735b6b5d3b0a202020206e6f6465732e666f72456163682866756e6374696f6e286929207b0a20202020202076617220726f7749203d20726573756c74735b695d3b0a2020202020206e6f6465732e666f72456163682866756e6374696f6e286a29207b0a202020202020202076617220696b203d20726f77495b6b5d3b0a2020202020202020766172206b6a203d20726f774b5b6a5d3b0a202020202020202076617220696a203d20726f77495b6a5d3b0a202020202020202076617220616c7444697374616e6365203d20696b2e64697374616e6365202b206b6a2e64697374616e63653b0a202020202020202069662028616c7444697374616e6365203c20696a2e64697374616e636529207b0a20202020202020202020696a2e64697374616e6365203d20616c7444697374616e63653b0a20202020202020202020696a2e7072656465636573736f72203d206b6a2e7072656465636573736f723b0a20202020202020207d0a2020202020207d293b0a202020207d293b0a20207d293b0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3130373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207b0a2020636f6d706f6e656e74733a207265717569726528222e2f636f6d706f6e656e747322292c0a202064696a6b737472613a207265717569726528222e2f64696a6b7374726122292c0a202064696a6b73747261416c6c3a207265717569726528222e2f64696a6b737472612d616c6c22292c0a202066696e644379636c65733a207265717569726528222e2f66696e642d6379636c657322292c0a2020666c6f79645761727368616c6c3a207265717569726528222e2f666c6f79642d7761727368616c6c22292c0a20206973416379636c69633a207265717569726528222e2f69732d616379636c696322292c0a2020706f73746f726465723a207265717569726528222e2f706f73746f7264657222292c0a20207072656f726465723a207265717569726528222e2f7072656f7264657222292c0a20207072696d3a207265717569726528222e2f7072696d22292c0a20207461726a616e3a207265717569726528222e2f7461726a616e22292c0a2020746f70736f72743a207265717569726528222e2f746f70736f727422290a7d3b0a0a7d2c7b222e2f636f6d706f6e656e7473223a3130312c222e2f64696a6b73747261223a3130342c222e2f64696a6b737472612d616c6c223a3130332c222e2f66696e642d6379636c6573223a3130352c222e2f666c6f79642d7761727368616c6c223a3130362c222e2f69732d616379636c6963223a3130382c222e2f706f73746f72646572223a3130392c222e2f7072656f72646572223a3131302c222e2f7072696d223a3131312c222e2f7461726a616e223a3131322c222e2f746f70736f7274223a3131337d5d2c3130383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220746f70736f7274203d207265717569726528222e2f746f70736f727422293b0a0a6d6f64756c652e6578706f727473203d206973416379636c69633b0a0a66756e6374696f6e206973416379636c6963286729207b0a2020747279207b0a20202020746f70736f72742867293b0a20207d20636174636820286529207b0a20202020696620286520696e7374616e63656f6620746f70736f72742e4379636c65457863657074696f6e29207b0a20202020202072657475726e2066616c73653b0a202020207d0a202020207468726f7720653b0a20207d0a202072657475726e20747275653b0a7d0a0a7d2c7b222e2f746f70736f7274223a3131337d5d2c3130393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220646673203d207265717569726528222e2f64667322293b0a0a6d6f64756c652e6578706f727473203d20706f73746f726465723b0a0a66756e6374696f6e20706f73746f7264657228672c20767329207b0a202072657475726e2064667328672c2076732c2022706f737422293b0a7d0a0a7d2c7b222e2f646673223a3130327d5d2c3131303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220646673203d207265717569726528222e2f64667322293b0a0a6d6f64756c652e6578706f727473203d207072656f726465723b0a0a66756e6374696f6e207072656f7264657228672c20767329207b0a202072657475726e2064667328672c2076732c202270726522293b0a7d0a0a7d2c7b222e2f646673223a3130327d5d2c3131313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2e2f677261706822292c0a202020205072696f726974795175657565203d207265717569726528222e2e2f646174612f7072696f726974792d717565756522293b0a0a6d6f64756c652e6578706f727473203d207072696d3b0a0a66756e6374696f6e207072696d28672c2077656967687446756e6329207b0a202076617220726573756c74203d206e657720477261706828292c0a202020202020706172656e7473203d207b7d2c0a2020202020207071203d206e6577205072696f72697479517565756528292c0a202020202020763b0a0a202066756e6374696f6e207570646174654e65696768626f7273286564676529207b0a202020207661722077203d20656467652e76203d3d3d2076203f20656467652e77203a20656467652e762c0a2020202020202020707269203d2070712e7072696f726974792877293b0a202020206966202870726920213d3d20756e646566696e656429207b0a2020202020207661722065646765576569676874203d2077656967687446756e632865646765293b0a2020202020206966202865646765576569676874203c2070726929207b0a2020202020202020706172656e74735b775d203d20763b0a202020202020202070712e646563726561736528772c2065646765576569676874293b0a2020202020207d0a202020207d0a20207d0a0a202069662028672e6e6f6465436f756e742829203d3d3d203029207b0a2020202072657475726e20726573756c743b0a20207d0a0a20205f2e6561636828672e6e6f64657328292c2066756e6374696f6e287629207b0a2020202070712e61646428762c204e756d6265722e504f5349544956455f494e46494e495459293b0a20202020726573756c742e7365744e6f64652876293b0a20207d293b0a0a20202f2f2053746172742066726f6d20616e20617262697472617279206e6f64650a202070712e646563726561736528672e6e6f64657328295b305d2c2030293b0a0a202076617220696e6974203d2066616c73653b0a20207768696c65202870712e73697a652829203e203029207b0a2020202076203d2070712e72656d6f76654d696e28293b0a20202020696620285f2e68617328706172656e74732c20762929207b0a202020202020726573756c742e7365744564676528762c20706172656e74735b765d293b0a202020207d20656c73652069662028696e697429207b0a2020202020207468726f77206e6577204572726f722822496e707574206772617068206973206e6f7420636f6e6e65637465643a2022202b2067293b0a202020207d20656c7365207b0a202020202020696e6974203d20747275653b0a202020207d0a0a20202020672e6e6f646545646765732876292e666f7245616368287570646174654e65696768626f7273293b0a20207d0a0a202072657475726e20726573756c743b0a7d0a0a7d2c7b222e2e2f646174612f7072696f726974792d7175657565223a3131342c222e2e2f6772617068223a3131352c222e2e2f6c6f64617368223a3131387d5d2c3131323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d207461726a616e3b0a0a66756e6374696f6e207461726a616e286729207b0a202076617220696e646578203d20302c0a202020202020737461636b203d205b5d2c0a20202020202076697369746564203d207b7d2c202f2f206e6f6465206964202d3e207b206f6e537461636b2c206c6f776c696e6b2c20696e646578207d0a202020202020726573756c7473203d205b5d3b0a0a202066756e6374696f6e20646673287629207b0a2020202076617220656e747279203d20766973697465645b765d203d207b0a2020202020206f6e537461636b3a20747275652c0a2020202020206c6f776c696e6b3a20696e6465782c0a202020202020696e6465783a20696e6465782b2b0a202020207d3b0a20202020737461636b2e707573682876293b0a0a20202020672e737563636573736f72732876292e666f72456163682866756e6374696f6e287729207b0a20202020202069662028215f2e68617328766973697465642c20772929207b0a20202020202020206466732877293b0a2020202020202020656e7472792e6c6f776c696e6b203d204d6174682e6d696e28656e7472792e6c6f776c696e6b2c20766973697465645b775d2e6c6f776c696e6b293b0a2020202020207d20656c73652069662028766973697465645b775d2e6f6e537461636b29207b0a2020202020202020656e7472792e6c6f776c696e6b203d204d6174682e6d696e28656e7472792e6c6f776c696e6b2c20766973697465645b775d2e696e646578293b0a2020202020207d0a202020207d293b0a0a2020202069662028656e7472792e6c6f776c696e6b203d3d3d20656e7472792e696e64657829207b0a20202020202076617220636d7074203d205b5d2c0a20202020202020202020773b0a202020202020646f207b0a202020202020202077203d20737461636b2e706f7028293b0a2020202020202020766973697465645b775d2e6f6e537461636b203d2066616c73653b0a2020202020202020636d70742e707573682877293b0a2020202020207d207768696c6520287620213d3d2077293b0a202020202020726573756c74732e7075736828636d7074293b0a202020207d0a20207d0a0a2020672e6e6f64657328292e666f72456163682866756e6374696f6e287629207b0a2020202069662028215f2e68617328766973697465642c20762929207b0a2020202020206466732876293b0a202020207d0a20207d293b0a0a202072657475726e20726573756c74733b0a7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d20746f70736f72743b0a746f70736f72742e4379636c65457863657074696f6e203d204379636c65457863657074696f6e3b0a0a66756e6374696f6e20746f70736f7274286729207b0a20207661722076697369746564203d207b7d2c0a202020202020737461636b203d207b7d2c0a202020202020726573756c7473203d205b5d3b0a0a202066756e6374696f6e207669736974286e6f646529207b0a20202020696620285f2e68617328737461636b2c206e6f64652929207b0a2020202020207468726f77206e6577204379636c65457863657074696f6e28293b0a202020207d0a0a2020202069662028215f2e68617328766973697465642c206e6f64652929207b0a202020202020737461636b5b6e6f64655d203d20747275653b0a202020202020766973697465645b6e6f64655d203d20747275653b0a2020202020205f2e6561636828672e7072656465636573736f7273286e6f6465292c207669736974293b0a20202020202064656c65746520737461636b5b6e6f64655d3b0a202020202020726573756c74732e70757368286e6f6465293b0a202020207d0a20207d0a0a20205f2e6561636828672e73696e6b7328292c207669736974293b0a0a2020696620285f2e73697a6528766973697465642920213d3d20672e6e6f6465436f756e74282929207b0a202020207468726f77206e6577204379636c65457863657074696f6e28293b0a20207d0a0a202072657475726e20726573756c74733b0a7d0a0a66756e6374696f6e204379636c65457863657074696f6e2829207b7d0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d205072696f7269747951756575653b0a0a2f2a2a0a202a2041206d696e2d7072696f726974792071756575652064617461207374727563747572652e205468697320616c676f726974686d20697320646572697665642066726f6d20436f726d656e2c0a202a20657420616c2e2c2022496e74726f64756374696f6e20746f20416c676f726974686d73222e205468652062617369632069646561206f662061206d696e2d7072696f726974790a202a207175657565206973207468617420796f752063616e20656666696369656e746c792028696e204f2831292074696d6529206765742074686520736d616c6c657374206b657920696e0a202a207468652071756575652e20416464696e6720616e642072656d6f76696e6720656c656d656e74732074616b6573204f286c6f67206e292074696d652e2041206b65792063616e0a202a206861766520697473207072696f726974792064656372656173656420696e204f286c6f67206e292074696d652e0a202a2f0a66756e6374696f6e205072696f7269747951756575652829207b0a2020746869732e5f617272203d205b5d3b0a2020746869732e5f6b6579496e6469636573203d207b7d3b0a7d0a0a2f2a2a0a202a2052657475726e7320746865206e756d626572206f6620656c656d656e747320696e207468652071756575652e2054616b657320604f283129602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e73697a65203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6172722e6c656e6774683b0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865206b65797320746861742061726520696e207468652071756575652e2054616b657320604f286e29602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e6b657973203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6172722e6d61702866756e6374696f6e287829207b2072657475726e20782e6b65793b207d293b0a7d3b0a0a2f2a2a0a202a2052657475726e7320607472756560206966202a2a6b65792a2a20697320696e2074686520717565756520616e64206066616c736560206966206e6f742e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e686173203d2066756e6374696f6e286b657929207b0a202072657475726e205f2e68617328746869732e5f6b6579496e64696365732c206b6579293b0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865207072696f7269747920666f72202a2a6b65792a2a2e204966202a2a6b65792a2a206973206e6f742070726573656e7420696e207468652071756575650a202a207468656e20746869732066756e6374696f6e2072657475726e732060756e646566696e6564602e2054616b657320604f283129602074696d652e0a202a0a202a2040706172616d207b4f626a6563747d206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e7072696f72697479203d2066756e6374696f6e286b657929207b0a202076617220696e646578203d20746869732e5f6b6579496e64696365735b6b65795d3b0a202069662028696e64657820213d3d20756e646566696e656429207b0a2020202072657475726e20746869732e5f6172725b696e6465785d2e7072696f726974793b0a20207d0a7d3b0a0a2f2a2a0a202a2052657475726e7320746865206b657920666f7220746865206d696e696d756d20656c656d656e7420696e20746869732071756575652e204966207468652071756575652069730a202a20656d70747920746869732066756e6374696f6e207468726f777320616e204572726f722e2054616b657320604f283129602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e6d696e203d2066756e6374696f6e2829207b0a202069662028746869732e73697a652829203d3d3d203029207b0a202020207468726f77206e6577204572726f722822517565756520756e646572666c6f7722293b0a20207d0a202072657475726e20746869732e5f6172725b305d2e6b65793b0a7d3b0a0a2f2a2a0a202a20496e73657274732061206e6577206b657920696e746f20746865207072696f726974792071756575652e20496620746865206b657920616c72656164792065786973747320696e0a202a2074686520717565756520746869732066756e6374696f6e2072657475726e73206066616c7365603b206f74686572776973652069742077696c6c2072657475726e206074727565602e0a202a2054616b657320604f286e29602074696d652e0a202a0a202a2040706172616d207b4f626a6563747d206b657920746865206b657920746f206164640a202a2040706172616d207b4e756d6265727d207072696f726974792074686520696e697469616c207072696f7269747920666f7220746865206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e616464203d2066756e6374696f6e286b65792c207072696f7269747929207b0a2020766172206b6579496e6469636573203d20746869732e5f6b6579496e64696365733b0a20206b6579203d20537472696e67286b6579293b0a202069662028215f2e686173286b6579496e64696365732c206b65792929207b0a2020202076617220617272203d20746869732e5f6172723b0a2020202076617220696e646578203d206172722e6c656e6774683b0a202020206b6579496e64696365735b6b65795d203d20696e6465783b0a202020206172722e70757368287b6b65793a206b65792c207072696f726974793a207072696f726974797d293b0a20202020746869732e5f646563726561736528696e646578293b0a2020202072657475726e20747275653b0a20207d0a202072657475726e2066616c73653b0a7d3b0a0a2f2a2a0a202a2052656d6f76657320616e642072657475726e732074686520736d616c6c657374206b657920696e207468652071756575652e2054616b657320604f286c6f67206e29602074696d652e0a202a2f0a5072696f7269747951756575652e70726f746f747970652e72656d6f76654d696e203d2066756e6374696f6e2829207b0a2020746869732e5f7377617028302c20746869732e5f6172722e6c656e677468202d2031293b0a2020766172206d696e203d20746869732e5f6172722e706f7028293b0a202064656c65746520746869732e5f6b6579496e64696365735b6d696e2e6b65795d3b0a2020746869732e5f686561706966792830293b0a202072657475726e206d696e2e6b65793b0a7d3b0a0a2f2a2a0a202a2044656372656173657320746865207072696f7269747920666f72202a2a6b65792a2a20746f202a2a7072696f726974792a2a2e20496620746865206e6577207072696f726974792069730a202a2067726561746572207468616e207468652070726576696f7573207072696f726974792c20746869732066756e6374696f6e2077696c6c207468726f7720616e204572726f722e0a202a0a202a2040706172616d207b4f626a6563747d206b657920746865206b657920666f7220776869636820746f207261697365207072696f726974790a202a2040706172616d207b4e756d6265727d207072696f7269747920746865206e6577207072696f7269747920666f7220746865206b65790a202a2f0a5072696f7269747951756575652e70726f746f747970652e6465637265617365203d2066756e6374696f6e286b65792c207072696f7269747929207b0a202076617220696e646578203d20746869732e5f6b6579496e64696365735b6b65795d3b0a2020696620287072696f72697479203e20746869732e5f6172725b696e6465785d2e7072696f7269747929207b0a202020207468726f77206e6577204572726f7228224e6577207072696f726974792069732067726561746572207468616e2063757272656e74207072696f726974792e2022202b0a2020202020202020224b65793a2022202b206b6579202b2022204f6c643a2022202b20746869732e5f6172725b696e6465785d2e7072696f72697479202b2022204e65773a2022202b207072696f72697479293b0a20207d0a2020746869732e5f6172725b696e6465785d2e7072696f72697479203d207072696f726974793b0a2020746869732e5f646563726561736528696e646578293b0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f68656170696679203d2066756e6374696f6e286929207b0a202076617220617272203d20746869732e5f6172723b0a2020766172206c203d2032202a20692c0a20202020202072203d206c202b20312c0a2020202020206c617267657374203d20693b0a2020696620286c203c206172722e6c656e67746829207b0a202020206c617267657374203d206172725b6c5d2e7072696f72697479203c206172725b6c6172676573745d2e7072696f72697479203f206c203a206c6172676573743b0a202020206966202872203c206172722e6c656e67746829207b0a2020202020206c617267657374203d206172725b725d2e7072696f72697479203c206172725b6c6172676573745d2e7072696f72697479203f2072203a206c6172676573743b0a202020207d0a20202020696620286c61726765737420213d3d206929207b0a202020202020746869732e5f7377617028692c206c617267657374293b0a202020202020746869732e5f68656170696679286c617267657374293b0a202020207d0a20207d0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f6465637265617365203d2066756e6374696f6e28696e64657829207b0a202076617220617272203d20746869732e5f6172723b0a2020766172207072696f72697479203d206172725b696e6465785d2e7072696f726974793b0a202076617220706172656e743b0a20207768696c652028696e64657820213d3d203029207b0a20202020706172656e74203d20696e646578203e3e20313b0a20202020696620286172725b706172656e745d2e7072696f72697479203c207072696f7269747929207b0a202020202020627265616b3b0a202020207d0a20202020746869732e5f7377617028696e6465782c20706172656e74293b0a20202020696e646578203d20706172656e743b0a20207d0a7d3b0a0a5072696f7269747951756575652e70726f746f747970652e5f73776170203d2066756e6374696f6e28692c206a29207b0a202076617220617272203d20746869732e5f6172723b0a2020766172206b6579496e6469636573203d20746869732e5f6b6579496e64696365733b0a2020766172206f72696741727249203d206172725b695d3b0a2020766172206f7269674172724a203d206172725b6a5d3b0a20206172725b695d203d206f7269674172724a3b0a20206172725b6a5d203d206f726967417272493b0a20206b6579496e64696365735b6f7269674172724a2e6b65795d203d20693b0a20206b6579496e64696365735b6f726967417272492e6b65795d203d206a3b0a7d3b0a0a7d2c7b222e2e2f6c6f64617368223a3131387d5d2c3131353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2275736520737472696374223b0a0a766172205f203d207265717569726528222e2f6c6f6461736822293b0a0a6d6f64756c652e6578706f727473203d2047726170683b0a0a7661722044454641554c545f454447455f4e414d45203d20225c783030222c0a2020202047524150485f4e4f4445203d20225c783030222c0a20202020454447455f4b45595f44454c494d203d20225c783031223b0a0a2f2f20496d706c656d656e746174696f6e206e6f7465733a0a2f2f0a2f2f20202a204e6f64652069642071756572792066756e6374696f6e732073686f756c642072657475726e20737472696e672069647320666f7220746865206e6f6465730a2f2f20202a20456467652069642071756572792066756e6374696f6e732073686f756c642072657475726e20616e2022656467654f626a222c2065646765206f626a6563742c20746861742069730a2f2f20202020636f6d706f736564206f6620656e6f75676820696e666f726d6174696f6e20746f20756e697175656c79206964656e7469667920616e20656467653a207b762c20772c206e616d657d2e0a2f2f20202a20496e7465726e616c6c792077652075736520616e2022656467654964222c206120737472696e67696669656420666f726d206f662074686520656467654f626a2c20746f0a2f2f202020207265666572656e63652065646765732e20546869732069732062656361757365207765206e656564206120706572666f726d616e742077617920746f206c6f6f6b2074686573650a2f2f20202020656467657320757020616e642c206f626a6563742070726f706572746965732c207768696368206861766520737472696e67206b6579732c206172652074686520636c6f736573740a2f2f20202020776527726520676f696e6720746f2067657420746f206120706572666f726d616e7420686173687461626c6520696e204a6176615363726970742e0a0a66756e6374696f6e204772617068286f70747329207b0a2020746869732e5f69734469726563746564203d205f2e686173286f7074732c202264697265637465642229203f206f7074732e6469726563746564203a20747275653b0a2020746869732e5f69734d756c74696772617068203d205f2e686173286f7074732c20226d756c746967726170682229203f206f7074732e6d756c74696772617068203a2066616c73653b0a2020746869732e5f6973436f6d706f756e64203d205f2e686173286f7074732c2022636f6d706f756e642229203f206f7074732e636f6d706f756e64203a2066616c73653b0a0a20202f2f204c6162656c20666f722074686520677261706820697473656c660a2020746869732e5f6c6162656c203d20756e646566696e65643b0a0a20202f2f2044656661756c747320746f20626520736574207768656e206372656174696e672061206e6577206e6f64650a2020746869732e5f64656661756c744e6f64654c6162656c466e203d205f2e636f6e7374616e7428756e646566696e6564293b0a0a20202f2f2044656661756c747320746f20626520736574207768656e206372656174696e672061206e657720656467650a2020746869732e5f64656661756c74456467654c6162656c466e203d205f2e636f6e7374616e7428756e646566696e6564293b0a0a20202f2f2076202d3e206c6162656c0a2020746869732e5f6e6f646573203d207b7d3b0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a202020202f2f2076202d3e20706172656e740a20202020746869732e5f706172656e74203d207b7d3b0a0a202020202f2f2076202d3e206368696c6472656e0a20202020746869732e5f6368696c6472656e203d207b7d3b0a20202020746869732e5f6368696c6472656e5b47524150485f4e4f44455d203d207b7d3b0a20207d0a0a20202f2f2076202d3e20656467654f626a0a2020746869732e5f696e203d207b7d3b0a0a20202f2f2075202d3e2076202d3e204e756d6265720a2020746869732e5f7072656473203d207b7d3b0a0a20202f2f2076202d3e20656467654f626a0a2020746869732e5f6f7574203d207b7d3b0a0a20202f2f2076202d3e2077202d3e204e756d6265720a2020746869732e5f73756373203d207b7d3b0a0a20202f2f2065202d3e20656467654f626a0a2020746869732e5f656467654f626a73203d207b7d3b0a0a20202f2f2065202d3e206c6162656c0a2020746869732e5f656467654c6162656c73203d207b7d3b0a7d0a0a2f2a204e756d626572206f66206e6f64657320696e207468652067726170682e2053686f756c64206f6e6c79206265206368616e6765642062792074686520696d706c656d656e746174696f6e2e202a2f0a47726170682e70726f746f747970652e5f6e6f6465436f756e74203d20303b0a0a2f2a204e756d626572206f6620656467657320696e207468652067726170682e2053686f756c64206f6e6c79206265206368616e6765642062792074686520696d706c656d656e746174696f6e2e202a2f0a47726170682e70726f746f747970652e5f65646765436f756e74203d20303b0a0a0a2f2a203d3d3d2047726170682066756e6374696f6e73203d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e69734469726563746564203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f697344697265637465643b0a7d3b0a0a47726170682e70726f746f747970652e69734d756c74696772617068203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f69734d756c746967726170683b0a7d3b0a0a47726170682e70726f746f747970652e6973436f6d706f756e64203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6973436f6d706f756e643b0a7d3b0a0a47726170682e70726f746f747970652e7365744772617068203d2066756e6374696f6e286c6162656c29207b0a2020746869732e5f6c6162656c203d206c6162656c3b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6772617068203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6c6162656c3b0a7d3b0a0a0a2f2a203d3d3d204e6f64652066756e6374696f6e73203d3d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e73657444656661756c744e6f64654c6162656c203d2066756e6374696f6e286e657744656661756c7429207b0a202069662028215f2e697346756e6374696f6e286e657744656661756c742929207b0a202020206e657744656661756c74203d205f2e636f6e7374616e74286e657744656661756c74293b0a20207d0a2020746869732e5f64656661756c744e6f64654c6162656c466e203d206e657744656661756c743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6e6f6465436f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f6e6f6465436f756e743b0a7d3b0a0a47726170682e70726f746f747970652e6e6f646573203d2066756e6374696f6e2829207b0a202072657475726e205f2e6b65797328746869732e5f6e6f646573293b0a7d3b0a0a47726170682e70726f746f747970652e736f7572636573203d2066756e6374696f6e2829207b0a20207661722073656c66203d20746869733b0a202072657475726e205f2e66696c74657228746869732e6e6f64657328292c2066756e6374696f6e287629207b0a2020202072657475726e205f2e6973456d7074792873656c662e5f696e5b765d293b0a20207d293b0a7d3b0a0a47726170682e70726f746f747970652e73696e6b73203d2066756e6374696f6e2829207b0a20207661722073656c66203d20746869733b0a202072657475726e205f2e66696c74657228746869732e6e6f64657328292c2066756e6374696f6e287629207b0a2020202072657475726e205f2e6973456d7074792873656c662e5f6f75745b765d293b0a20207d293b0a7d3b0a0a47726170682e70726f746f747970652e7365744e6f646573203d2066756e6374696f6e2876732c2076616c756529207b0a20207661722061726773203d20617267756d656e74733b0a20207661722073656c66203d20746869733b0a20205f2e656163682876732c2066756e6374696f6e287629207b0a2020202069662028617267732e6c656e677468203e203129207b0a20202020202073656c662e7365744e6f646528762c2076616c7565293b0a202020207d20656c7365207b0a20202020202073656c662e7365744e6f64652876293b0a202020207d0a20207d293b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e7365744e6f6465203d2066756e6374696f6e28762c2076616c756529207b0a2020696620285f2e68617328746869732e5f6e6f6465732c20762929207b0a2020202069662028617267756d656e74732e6c656e677468203e203129207b0a202020202020746869732e5f6e6f6465735b765d203d2076616c75653b0a202020207d0a2020202072657475726e20746869733b0a20207d0a0a2020746869732e5f6e6f6465735b765d203d20617267756d656e74732e6c656e677468203e2031203f2076616c7565203a20746869732e5f64656661756c744e6f64654c6162656c466e2876293b0a202069662028746869732e5f6973436f6d706f756e6429207b0a20202020746869732e5f706172656e745b765d203d2047524150485f4e4f44453b0a20202020746869732e5f6368696c6472656e5b765d203d207b7d3b0a20202020746869732e5f6368696c6472656e5b47524150485f4e4f44455d5b765d203d20747275653b0a20207d0a2020746869732e5f696e5b765d203d207b7d3b0a2020746869732e5f70726564735b765d203d207b7d3b0a2020746869732e5f6f75745b765d203d207b7d3b0a2020746869732e5f737563735b765d203d207b7d3b0a20202b2b746869732e5f6e6f6465436f756e743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e6e6f6465203d2066756e6374696f6e287629207b0a202072657475726e20746869732e5f6e6f6465735b765d3b0a7d3b0a0a47726170682e70726f746f747970652e6861734e6f6465203d2066756e6374696f6e287629207b0a202072657475726e205f2e68617328746869732e5f6e6f6465732c2076293b0a7d3b0a0a47726170682e70726f746f747970652e72656d6f76654e6f6465203d202066756e6374696f6e287629207b0a20207661722073656c66203d20746869733b0a2020696620285f2e68617328746869732e5f6e6f6465732c20762929207b0a202020207661722072656d6f766545646765203d2066756e6374696f6e286529207b2073656c662e72656d6f7665456467652873656c662e5f656467654f626a735b655d293b207d3b0a2020202064656c65746520746869732e5f6e6f6465735b765d3b0a2020202069662028746869732e5f6973436f6d706f756e6429207b0a202020202020746869732e5f72656d6f766546726f6d506172656e74734368696c644c6973742876293b0a20202020202064656c65746520746869732e5f706172656e745b765d3b0a2020202020205f2e6561636828746869732e6368696c6472656e2876292c2066756e6374696f6e286368696c6429207b0a202020202020202073656c662e736574506172656e74286368696c64293b0a2020202020207d293b0a20202020202064656c65746520746869732e5f6368696c6472656e5b765d3b0a202020207d0a202020205f2e65616368285f2e6b65797328746869732e5f696e5b765d292c2072656d6f766545646765293b0a2020202064656c65746520746869732e5f696e5b765d3b0a2020202064656c65746520746869732e5f70726564735b765d3b0a202020205f2e65616368285f2e6b65797328746869732e5f6f75745b765d292c2072656d6f766545646765293b0a2020202064656c65746520746869732e5f6f75745b765d3b0a2020202064656c65746520746869732e5f737563735b765d3b0a202020202d2d746869732e5f6e6f6465436f756e743b0a20207d0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e736574506172656e74203d2066756e6374696f6e28762c20706172656e7429207b0a20206966202821746869732e5f6973436f6d706f756e6429207b0a202020207468726f77206e6577204572726f72282243616e6e6f742073657420706172656e7420696e2061206e6f6e2d636f6d706f756e6420677261706822293b0a20207d0a0a2020696620285f2e6973556e646566696e656428706172656e742929207b0a20202020706172656e74203d2047524150485f4e4f44453b0a20207d20656c7365207b0a202020202f2f20436f6572636520706172656e7420746f20737472696e670a20202020706172656e74202b3d2022223b0a20202020666f72202876617220616e636573746f72203d20706172656e743b0a202020202020202020215f2e6973556e646566696e656428616e636573746f72293b0a202020202020202020616e636573746f72203d20746869732e706172656e7428616e636573746f722929207b0a20202020202069662028616e636573746f72203d3d3d207629207b0a20202020202020207468726f77206e6577204572726f72282253657474696e672022202b20706172656e742b202220617320706172656e74206f662022202b2076202b0a2020202020202020202020202020202020202020202020202220776f756c64206372656174652061206379636c6522293b0a2020202020207d0a202020207d0a0a20202020746869732e7365744e6f646528706172656e74293b0a20207d0a0a2020746869732e7365744e6f64652876293b0a2020746869732e5f72656d6f766546726f6d506172656e74734368696c644c6973742876293b0a2020746869732e5f706172656e745b765d203d20706172656e743b0a2020746869732e5f6368696c6472656e5b706172656e745d5b765d203d20747275653b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e5f72656d6f766546726f6d506172656e74734368696c644c697374203d2066756e6374696f6e287629207b0a202064656c65746520746869732e5f6368696c6472656e5b746869732e5f706172656e745b765d5d5b765d3b0a7d3b0a0a47726170682e70726f746f747970652e706172656e74203d2066756e6374696f6e287629207b0a202069662028746869732e5f6973436f6d706f756e6429207b0a2020202076617220706172656e74203d20746869732e5f706172656e745b765d3b0a2020202069662028706172656e7420213d3d2047524150485f4e4f444529207b0a20202020202072657475726e20706172656e743b0a202020207d0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6368696c6472656e203d2066756e6374696f6e287629207b0a2020696620285f2e6973556e646566696e656428762929207b0a2020202076203d2047524150485f4e4f44453b0a20207d0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a20202020766172206368696c6472656e203d20746869732e5f6368696c6472656e5b765d3b0a20202020696620286368696c6472656e29207b0a20202020202072657475726e205f2e6b657973286368696c6472656e293b0a202020207d0a20207d20656c7365206966202876203d3d3d2047524150485f4e4f444529207b0a2020202072657475726e20746869732e6e6f64657328293b0a20207d20656c73652069662028746869732e6861734e6f646528762929207b0a2020202072657475726e205b5d3b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e7072656465636573736f7273203d2066756e6374696f6e287629207b0a202076617220707265647356203d20746869732e5f70726564735b765d3b0a20206966202870726564735629207b0a2020202072657475726e205f2e6b65797328707265647356293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e737563636573736f7273203d2066756e6374696f6e287629207b0a2020766172207375637356203d20746869732e5f737563735b765d3b0a202069662028737563735629207b0a2020202072657475726e205f2e6b657973287375637356293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6e65696768626f7273203d2066756e6374696f6e287629207b0a2020766172207072656473203d20746869732e7072656465636573736f72732876293b0a202069662028707265647329207b0a2020202072657475726e205f2e756e696f6e2870726564732c20746869732e737563636573736f7273287629293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e69734c656166203d2066756e6374696f6e20287629207b0a2020766172206e65696768626f72733b0a202069662028746869732e69734469726563746564282929207b0a202020206e65696768626f7273203d20746869732e737563636573736f72732876293b0a20207d20656c7365207b0a202020206e65696768626f7273203d20746869732e6e65696768626f72732876293b0a20207d0a202072657475726e206e65696768626f72732e6c656e677468203d3d3d20303b0a7d3b0a0a47726170682e70726f746f747970652e66696c7465724e6f646573203d2066756e6374696f6e2866696c74657229207b0a202076617220636f7079203d206e657720746869732e636f6e7374727563746f72287b0a2020202064697265637465643a20746869732e5f697344697265637465642c0a202020206d756c746967726170683a20746869732e5f69734d756c746967726170682c0a20202020636f6d706f756e643a20746869732e5f6973436f6d706f756e640a20207d293b0a0a2020636f70792e736574477261706828746869732e67726170682829293b0a0a20207661722073656c66203d20746869733b0a20205f2e6561636828746869732e5f6e6f6465732c2066756e6374696f6e2876616c75652c207629207b0a202020206966202866696c74657228762929207b0a202020202020636f70792e7365744e6f646528762c2076616c7565293b0a202020207d0a20207d293b0a0a20205f2e6561636828746869732e5f656467654f626a732c2066756e6374696f6e286529207b0a2020202069662028636f70792e6861734e6f646528652e762920262620636f70792e6861734e6f646528652e772929207b0a202020202020636f70792e7365744564676528652c2073656c662e65646765286529293b0a202020207d0a20207d293b0a0a202076617220706172656e7473203d207b7d3b0a202066756e6374696f6e2066696e64506172656e74287629207b0a2020202076617220706172656e74203d2073656c662e706172656e742876293b0a2020202069662028706172656e74203d3d3d20756e646566696e6564207c7c20636f70792e6861734e6f646528706172656e742929207b0a202020202020706172656e74735b765d203d20706172656e743b0a20202020202072657475726e20706172656e743b0a202020207d20656c73652069662028706172656e7420696e20706172656e747329207b0a20202020202072657475726e20706172656e74735b706172656e745d3b0a202020207d20656c7365207b0a20202020202072657475726e2066696e64506172656e7428706172656e74293b0a202020207d0a20207d0a0a202069662028746869732e5f6973436f6d706f756e6429207b0a202020205f2e6561636828636f70792e6e6f64657328292c2066756e6374696f6e287629207b0a202020202020636f70792e736574506172656e7428762c2066696e64506172656e74287629293b0a202020207d293b0a20207d0a0a202072657475726e20636f70793b0a7d3b0a0a2f2a203d3d3d20456467652066756e6374696f6e73203d3d3d3d3d3d3d3d3d3d202a2f0a0a47726170682e70726f746f747970652e73657444656661756c74456467654c6162656c203d2066756e6374696f6e286e657744656661756c7429207b0a202069662028215f2e697346756e6374696f6e286e657744656661756c742929207b0a202020206e657744656661756c74203d205f2e636f6e7374616e74286e657744656661756c74293b0a20207d0a2020746869732e5f64656661756c74456467654c6162656c466e203d206e657744656661756c743b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e65646765436f756e74203d2066756e6374696f6e2829207b0a202072657475726e20746869732e5f65646765436f756e743b0a7d3b0a0a47726170682e70726f746f747970652e6564676573203d2066756e6374696f6e2829207b0a202072657475726e205f2e76616c75657328746869732e5f656467654f626a73293b0a7d3b0a0a47726170682e70726f746f747970652e73657450617468203d2066756e6374696f6e2876732c2076616c756529207b0a20207661722073656c66203d20746869732c0a20202020202061726773203d20617267756d656e74733b0a20205f2e7265647563652876732c2066756e6374696f6e28762c207729207b0a2020202069662028617267732e6c656e677468203e203129207b0a20202020202073656c662e7365744564676528762c20772c2076616c7565293b0a202020207d20656c7365207b0a20202020202073656c662e7365744564676528762c2077293b0a202020207d0a2020202072657475726e20773b0a20207d293b0a202072657475726e20746869733b0a7d3b0a0a2f2a0a202a207365744564676528762c20772c205b76616c75652c205b6e616d655d5d290a202a2073657445646765287b20762c20772c205b6e616d655d207d2c205b76616c75655d290a202a2f0a47726170682e70726f746f747970652e73657445646765203d2066756e6374696f6e2829207b0a202076617220762c20772c206e616d652c2076616c75652c0a20202020202076616c7565537065636966696564203d2066616c73652c0a20202020202061726730203d20617267756d656e74735b305d3b0a0a202069662028747970656f662061726730203d3d3d20226f626a65637422202626206172673020213d3d206e756c6c2026262022762220696e206172673029207b0a2020202076203d20617267302e763b0a2020202077203d20617267302e773b0a202020206e616d65203d20617267302e6e616d653b0a2020202069662028617267756d656e74732e6c656e677468203d3d3d203229207b0a20202020202076616c7565203d20617267756d656e74735b315d3b0a20202020202076616c7565537065636966696564203d20747275653b0a202020207d0a20207d20656c7365207b0a2020202076203d20617267303b0a2020202077203d20617267756d656e74735b315d3b0a202020206e616d65203d20617267756d656e74735b335d3b0a2020202069662028617267756d656e74732e6c656e677468203e203229207b0a20202020202076616c7565203d20617267756d656e74735b325d3b0a20202020202076616c7565537065636966696564203d20747275653b0a202020207d0a20207d0a0a202076203d202222202b20763b0a202077203d202222202b20773b0a202069662028215f2e6973556e646566696e6564286e616d652929207b0a202020206e616d65203d202222202b206e616d653b0a20207d0a0a20207661722065203d206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d65293b0a2020696620285f2e68617328746869732e5f656467654c6162656c732c20652929207b0a202020206966202876616c756553706563696669656429207b0a202020202020746869732e5f656467654c6162656c735b655d203d2076616c75653b0a202020207d0a2020202072657475726e20746869733b0a20207d0a0a202069662028215f2e6973556e646566696e6564286e616d65292026262021746869732e5f69734d756c7469677261706829207b0a202020207468726f77206e6577204572726f72282243616e6e6f74207365742061206e616d65642065646765207768656e2069734d756c74696772617068203d2066616c736522293b0a20207d0a0a20202f2f204974206469646e27742065786973742c20736f207765206e65656420746f206372656174652069742e0a20202f2f20466972737420656e7375726520746865206e6f6465732065786973742e0a2020746869732e7365744e6f64652876293b0a2020746869732e7365744e6f64652877293b0a0a2020746869732e5f656467654c6162656c735b655d203d2076616c7565537065636966696564203f2076616c7565203a20746869732e5f64656661756c74456467654c6162656c466e28762c20772c206e616d65293b0a0a202076617220656467654f626a203d206564676541726773546f4f626a28746869732e5f697344697265637465642c20762c20772c206e616d65293b0a20202f2f20456e737572652077652061646420756e646972656374656420656467657320696e206120636f6e73697374656e74207761792e0a202076203d20656467654f626a2e763b0a202077203d20656467654f626a2e773b0a0a20204f626a6563742e667265657a6528656467654f626a293b0a2020746869732e5f656467654f626a735b655d203d20656467654f626a3b0a2020696e6372656d656e744f72496e6974456e74727928746869732e5f70726564735b775d2c2076293b0a2020696e6372656d656e744f72496e6974456e74727928746869732e5f737563735b765d2c2077293b0a2020746869732e5f696e5b775d5b655d203d20656467654f626a3b0a2020746869732e5f6f75745b765d5b655d203d20656467654f626a3b0a2020746869732e5f65646765436f756e742b2b3b0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e65646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529293b0a202072657475726e20746869732e5f656467654c6162656c735b655d3b0a7d3b0a0a47726170682e70726f746f747970652e68617345646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529293b0a202072657475726e205f2e68617328746869732e5f656467654c6162656c732c2065293b0a7d3b0a0a47726170682e70726f746f747970652e72656d6f766545646765203d2066756e6374696f6e28762c20772c206e616d6529207b0a20207661722065203d2028617267756d656e74732e6c656e677468203d3d3d20310a2020202020202020202020203f20656467654f626a546f496428746869732e5f697344697265637465642c20617267756d656e74735b305d290a2020202020202020202020203a206564676541726773546f496428746869732e5f697344697265637465642c20762c20772c206e616d6529292c0a20202020202065646765203d20746869732e5f656467654f626a735b655d3b0a2020696620286564676529207b0a2020202076203d20656467652e763b0a2020202077203d20656467652e773b0a2020202064656c65746520746869732e5f656467654c6162656c735b655d3b0a2020202064656c65746520746869732e5f656467654f626a735b655d3b0a2020202064656372656d656e744f7252656d6f7665456e74727928746869732e5f70726564735b775d2c2076293b0a2020202064656372656d656e744f7252656d6f7665456e74727928746869732e5f737563735b765d2c2077293b0a2020202064656c65746520746869732e5f696e5b775d5b655d3b0a2020202064656c65746520746869732e5f6f75745b765d5b655d3b0a20202020746869732e5f65646765436f756e742d2d3b0a20207d0a202072657475726e20746869733b0a7d3b0a0a47726170682e70726f746f747970652e696e4564676573203d2066756e6374696f6e28762c207529207b0a202076617220696e56203d20746869732e5f696e5b765d3b0a202069662028696e5629207b0a20202020766172206564676573203d205f2e76616c75657328696e56293b0a2020202069662028217529207b0a20202020202072657475726e2065646765733b0a202020207d0a2020202072657475726e205f2e66696c7465722865646765732c2066756e6374696f6e286564676529207b2072657475726e20656467652e76203d3d3d20753b207d293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6f75744564676573203d2066756e6374696f6e28762c207729207b0a2020766172206f757456203d20746869732e5f6f75745b765d3b0a2020696620286f75745629207b0a20202020766172206564676573203d205f2e76616c756573286f757456293b0a2020202069662028217729207b0a20202020202072657475726e2065646765733b0a202020207d0a2020202072657475726e205f2e66696c7465722865646765732c2066756e6374696f6e286564676529207b2072657475726e20656467652e77203d3d3d20773b207d293b0a20207d0a7d3b0a0a47726170682e70726f746f747970652e6e6f64654564676573203d2066756e6374696f6e28762c207729207b0a202076617220696e4564676573203d20746869732e696e456467657328762c2077293b0a202069662028696e456467657329207b0a2020202072657475726e20696e45646765732e636f6e63617428746869732e6f7574456467657328762c207729293b0a20207d0a7d3b0a0a66756e6374696f6e20696e6372656d656e744f72496e6974456e747279286d61702c206b29207b0a2020696620286d61705b6b5d29207b0a202020206d61705b6b5d2b2b3b0a20207d20656c7365207b0a202020206d61705b6b5d203d20313b0a20207d0a7d0a0a66756e6374696f6e2064656372656d656e744f7252656d6f7665456e747279286d61702c206b29207b0a202069662028212d2d6d61705b6b5d29207b2064656c657465206d61705b6b5d3b207d0a7d0a0a66756e6374696f6e206564676541726773546f496428697344697265637465642c20765f2c20775f2c206e616d6529207b0a20207661722076203d202222202b20765f3b0a20207661722077203d202222202b20775f3b0a20206966202821697344697265637465642026262076203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202072657475726e2076202b20454447455f4b45595f44454c494d202b2077202b20454447455f4b45595f44454c494d202b0a20202020202020202020202020285f2e6973556e646566696e6564286e616d6529203f2044454641554c545f454447455f4e414d45203a206e616d65293b0a7d0a0a66756e6374696f6e206564676541726773546f4f626a28697344697265637465642c20765f2c20775f2c206e616d6529207b0a20207661722076203d202222202b20765f3b0a20207661722077203d202222202b20775f3b0a20206966202821697344697265637465642026262076203e207729207b0a2020202076617220746d70203d20763b0a2020202076203d20773b0a2020202077203d20746d703b0a20207d0a202076617220656467654f626a203d20207b20763a20762c20773a2077207d3b0a2020696620286e616d6529207b0a20202020656467654f626a2e6e616d65203d206e616d653b0a20207d0a202072657475726e20656467654f626a3b0a7d0a0a66756e6374696f6e20656467654f626a546f496428697344697265637465642c20656467654f626a29207b0a202072657475726e206564676541726773546f496428697344697265637465642c20656467654f626a2e762c20656467654f626a2e772c20656467654f626a2e6e616d65293b0a7d0a0a7d2c7b222e2f6c6f64617368223a3131387d5d2c3131363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20496e636c75646573206f6e6c79207468652022636f726522206f662067726170686c69620a6d6f64756c652e6578706f727473203d207b0a202047726170683a207265717569726528222e2f677261706822292c0a202076657273696f6e3a207265717569726528222e2f76657273696f6e22290a7d3b0a0a7d2c7b222e2f6772617068223a3131352c222e2f76657273696f6e223a3131397d5d2c3131373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a766172205f203d207265717569726528222e2f6c6f6461736822292c0a202020204772617068203d207265717569726528222e2f677261706822293b0a0a6d6f64756c652e6578706f727473203d207b0a202077726974653a2077726974652c0a2020726561643a20726561640a7d3b0a0a66756e6374696f6e207772697465286729207b0a2020766172206a736f6e203d207b0a202020206f7074696f6e733a207b0a20202020202064697265637465643a20672e6973446972656374656428292c0a2020202020206d756c746967726170683a20672e69734d756c7469677261706828292c0a202020202020636f6d706f756e643a20672e6973436f6d706f756e6428290a202020207d2c0a202020206e6f6465733a2077726974654e6f6465732867292c0a2020202065646765733a20777269746545646765732867290a20207d3b0a202069662028215f2e6973556e646566696e656428672e677261706828292929207b0a202020206a736f6e2e76616c7565203d205f2e636c6f6e6528672e67726170682829293b0a20207d0a202072657475726e206a736f6e3b0a7d0a0a66756e6374696f6e2077726974654e6f646573286729207b0a202072657475726e205f2e6d617028672e6e6f64657328292c2066756e6374696f6e287629207b0a20202020766172206e6f646556616c7565203d20672e6e6f64652876292c0a2020202020202020706172656e74203d20672e706172656e742876292c0a20202020202020206e6f6465203d207b20763a2076207d3b0a2020202069662028215f2e6973556e646566696e6564286e6f646556616c75652929207b0a2020202020206e6f64652e76616c7565203d206e6f646556616c75653b0a202020207d0a2020202069662028215f2e6973556e646566696e656428706172656e742929207b0a2020202020206e6f64652e706172656e74203d20706172656e743b0a202020207d0a2020202072657475726e206e6f64653b0a20207d293b0a7d0a0a66756e6374696f6e2077726974654564676573286729207b0a202072657475726e205f2e6d617028672e656467657328292c2066756e6374696f6e286529207b0a20202020766172206564676556616c7565203d20672e656467652865292c0a202020202020202065646765203d207b20763a20652e762c20773a20652e77207d3b0a2020202069662028215f2e6973556e646566696e656428652e6e616d652929207b0a202020202020656467652e6e616d65203d20652e6e616d653b0a202020207d0a2020202069662028215f2e6973556e646566696e6564286564676556616c75652929207b0a202020202020656467652e76616c7565203d206564676556616c75653b0a202020207d0a2020202072657475726e20656467653b0a20207d293b0a7d0a0a66756e6374696f6e2072656164286a736f6e29207b0a20207661722067203d206e6577204772617068286a736f6e2e6f7074696f6e73292e7365744772617068286a736f6e2e76616c7565293b0a20205f2e65616368286a736f6e2e6e6f6465732c2066756e6374696f6e28656e74727929207b0a20202020672e7365744e6f646528656e7472792e762c20656e7472792e76616c7565293b0a2020202069662028656e7472792e706172656e7429207b0a202020202020672e736574506172656e7428656e7472792e762c20656e7472792e706172656e74293b0a202020207d0a20207d293b0a20205f2e65616368286a736f6e2e65646765732c2066756e6374696f6e28656e74727929207b0a20202020672e73657445646765287b20763a20656e7472792e762c20773a20656e7472792e772c206e616d653a20656e7472792e6e616d65207d2c20656e7472792e76616c7565293b0a20207d293b0a202072657475726e20673b0a7d0a0a7d2c7b222e2f6772617068223a3131352c222e2f6c6f64617368223a3131387d5d2c3131383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a617267756d656e74735b345d5b37395d5b305d2e6170706c79286578706f7274732c617267756d656e7473290a7d2c7b22647570223a37392c226c6f64617368223a3132337d5d2c3131393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d2027322e312e35273b0a0a7d2c7b7d5d2c3132303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6578706f7274732e72656164203d2066756e6374696f6e20286275666665722c206f66667365742c2069734c452c206d4c656e2c206e427974657329207b0a202076617220652c206d0a202076617220654c656e203d206e4279746573202a2038202d206d4c656e202d20310a202076617220654d6178203d202831203c3c20654c656e29202d20310a2020766172206542696173203d20654d6178203e3e20310a2020766172206e42697473203d202d370a20207661722069203d2069734c45203f20286e4279746573202d203129203a20300a20207661722064203d2069734c45203f202d31203a20310a20207661722073203d206275666665725b6f6666736574202b20695d0a0a202069202b3d20640a0a202065203d2073202620282831203c3c20282d6e426974732929202d2031290a202073203e3e3d20282d6e42697473290a20206e42697473202b3d20654c656e0a2020666f7220283b206e42697473203e20303b2065203d2065202a20323536202b206275666665725b6f6666736574202b20695d2c2069202b3d20642c206e42697473202d3d203829207b7d0a0a20206d203d2065202620282831203c3c20282d6e426974732929202d2031290a202065203e3e3d20282d6e42697473290a20206e42697473202b3d206d4c656e0a2020666f7220283b206e42697473203e20303b206d203d206d202a20323536202b206275666665725b6f6666736574202b20695d2c2069202b3d20642c206e42697473202d3d203829207b7d0a0a20206966202865203d3d3d203029207b0a2020202065203d2031202d2065426961730a20207d20656c7365206966202865203d3d3d20654d617829207b0a2020202072657475726e206d203f204e614e203a20282873203f202d31203a203129202a20496e66696e697479290a20207d20656c7365207b0a202020206d203d206d202b204d6174682e706f7728322c206d4c656e290a2020202065203d2065202d2065426961730a20207d0a202072657475726e202873203f202d31203a203129202a206d202a204d6174682e706f7728322c2065202d206d4c656e290a7d0a0a6578706f7274732e7772697465203d2066756e6374696f6e20286275666665722c2076616c75652c206f66667365742c2069734c452c206d4c656e2c206e427974657329207b0a202076617220652c206d2c20630a202076617220654c656e203d206e4279746573202a2038202d206d4c656e202d20310a202076617220654d6178203d202831203c3c20654c656e29202d20310a2020766172206542696173203d20654d6178203e3e20310a2020766172207274203d20286d4c656e203d3d3d203233203f204d6174682e706f7728322c202d323429202d204d6174682e706f7728322c202d373729203a2030290a20207661722069203d2069734c45203f2030203a20286e4279746573202d2031290a20207661722064203d2069734c45203f2031203a202d310a20207661722073203d2076616c7565203c2030207c7c202876616c7565203d3d3d20302026262031202f2076616c7565203c203029203f2031203a20300a0a202076616c7565203d204d6174682e6162732876616c7565290a0a20206966202869734e614e2876616c756529207c7c2076616c7565203d3d3d20496e66696e69747929207b0a202020206d203d2069734e614e2876616c756529203f2031203a20300a2020202065203d20654d61780a20207d20656c7365207b0a2020202065203d204d6174682e666c6f6f72284d6174682e6c6f672876616c756529202f204d6174682e4c4e32290a202020206966202876616c7565202a202863203d204d6174682e706f7728322c202d652929203c203129207b0a202020202020652d2d0a20202020202063202a3d20320a202020207d0a202020206966202865202b206542696173203e3d203129207b0a20202020202076616c7565202b3d207274202f20630a202020207d20656c7365207b0a20202020202076616c7565202b3d207274202a204d6174682e706f7728322c2031202d206542696173290a202020207d0a202020206966202876616c7565202a2063203e3d203229207b0a202020202020652b2b0a20202020202063202f3d20320a202020207d0a0a202020206966202865202b206542696173203e3d20654d617829207b0a2020202020206d203d20300a20202020202065203d20654d61780a202020207d20656c7365206966202865202b206542696173203e3d203129207b0a2020202020206d203d202876616c7565202a2063202d203129202a204d6174682e706f7728322c206d4c656e290a20202020202065203d2065202b2065426961730a202020207d20656c7365207b0a2020202020206d203d2076616c7565202a204d6174682e706f7728322c206542696173202d203129202a204d6174682e706f7728322c206d4c656e290a20202020202065203d20300a202020207d0a20207d0a0a2020666f7220283b206d4c656e203e3d20383b206275666665725b6f6666736574202b20695d203d206d202620307866662c2069202b3d20642c206d202f3d203235362c206d4c656e202d3d203829207b7d0a0a202065203d202865203c3c206d4c656e29207c206d0a2020654c656e202b3d206d4c656e0a2020666f7220283b20654c656e203e20303b206275666665725b6f6666736574202b20695d203d2065202620307866662c2069202b3d20642c2065202f3d203235362c20654c656e202d3d203829207b7d0a0a20206275666665725b6f6666736574202b2069202d20645d207c3d2073202a203132380a7d0a0a7d2c7b7d5d2c3132313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a69662028747970656f66204f626a6563742e637265617465203d3d3d202766756e6374696f6e2729207b0a20202f2f20696d706c656d656e746174696f6e2066726f6d207374616e64617264206e6f64652e6a7320277574696c27206d6f64756c650a20206d6f64756c652e6578706f727473203d2066756e6374696f6e20696e6865726974732863746f722c20737570657243746f7229207b0a2020202063746f722e73757065725f203d20737570657243746f720a2020202063746f722e70726f746f74797065203d204f626a6563742e63726561746528737570657243746f722e70726f746f747970652c207b0a202020202020636f6e7374727563746f723a207b0a202020202020202076616c75653a2063746f722c0a2020202020202020656e756d657261626c653a2066616c73652c0a20202020202020207772697461626c653a20747275652c0a2020202020202020636f6e666967757261626c653a20747275650a2020202020207d0a202020207d293b0a20207d3b0a7d20656c7365207b0a20202f2f206f6c64207363686f6f6c207368696d20666f72206f6c642062726f77736572730a20206d6f64756c652e6578706f727473203d2066756e6374696f6e20696e6865726974732863746f722c20737570657243746f7229207b0a2020202063746f722e73757065725f203d20737570657243746f720a202020207661722054656d7043746f72203d2066756e6374696f6e202829207b7d0a2020202054656d7043746f722e70726f746f74797065203d20737570657243746f722e70726f746f747970650a2020202063746f722e70726f746f74797065203d206e65772054656d7043746f7228290a2020202063746f722e70726f746f747970652e636f6e7374727563746f72203d2063746f720a20207d0a7d0a0a7d2c7b7d5d2c3132323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a210a202a2044657465726d696e6520696620616e206f626a6563742069732061204275666665720a202a0a202a2040617574686f722020204665726f73732041626f756b686164696a6568203c68747470733a2f2f6665726f73732e6f72673e0a202a20406c6963656e736520204d49540a202a2f0a0a2f2f20546865205f697342756666657220636865636b20697320666f722053616661726920352d3720737570706f72742c20626563617573652069742773206d697373696e670a2f2f204f626a6563742e70726f746f747970652e636f6e7374727563746f722e2052656d6f76652074686973206576656e7475616c6c790a6d6f64756c652e6578706f727473203d2066756e6374696f6e20286f626a29207b0a202072657475726e206f626a20213d206e756c6c20262620286973427566666572286f626a29207c7c206973536c6f77427566666572286f626a29207c7c2021216f626a2e5f6973427566666572290a7d0a0a66756e6374696f6e20697342756666657220286f626a29207b0a202072657475726e2021216f626a2e636f6e7374727563746f7220262620747970656f66206f626a2e636f6e7374727563746f722e6973427566666572203d3d3d202766756e6374696f6e27202626206f626a2e636f6e7374727563746f722e6973427566666572286f626a290a7d0a0a2f2f20466f72204e6f64652076302e313020737570706f72742e2052656d6f76652074686973206576656e7475616c6c792e0a66756e6374696f6e206973536c6f7742756666657220286f626a29207b0a202072657475726e20747970656f66206f626a2e72656164466c6f61744c45203d3d3d202766756e6374696f6e2720262620747970656f66206f626a2e736c696365203d3d3d202766756e6374696f6e27202626206973427566666572286f626a2e736c69636528302c203029290a7d0a0a7d2c7b7d5d2c3132333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a2f2a2a0a202a20406c6963656e73650a202a204c6f64617368203c68747470733a2f2f6c6f646173682e636f6d2f3e0a202a20436f70797269676874204a5320466f756e646174696f6e20616e64206f7468657220636f6e7472696275746f7273203c68747470733a2f2f6a732e666f756e646174696f6e2f3e0a202a2052656c656173656420756e646572204d4954206c6963656e7365203c68747470733a2f2f6c6f646173682e636f6d2f6c6963656e73653e0a202a204261736564206f6e20556e64657273636f72652e6a7320312e382e33203c687474703a2f2f756e64657273636f72656a732e6f72672f4c4943454e53453e0a202a20436f70797269676874204a6572656d79204173686b656e61732c20446f63756d656e74436c6f756420616e6420496e7665737469676174697665205265706f7274657273202620456469746f72730a202a2f0a3b2866756e6374696f6e2829207b0a0a20202f2a2a205573656420617320612073616665207265666572656e636520666f722060756e646566696e65646020696e207072652d45533520656e7669726f6e6d656e74732e202a2f0a202076617220756e646566696e65643b0a0a20202f2a2a2055736564206173207468652073656d616e7469632076657273696f6e206e756d6265722e202a2f0a20207661722056455253494f4e203d2027342e31372e34273b0a0a20202f2a2a2055736564206173207468652073697a6520746f20656e61626c65206c61726765206172726179206f7074696d697a6174696f6e732e202a2f0a2020766172204c415247455f41525241595f53495a45203d203230303b0a0a20202f2a2a204572726f72206d65737361676520636f6e7374616e74732e202a2f0a202076617220434f52455f4552524f525f54455854203d2027556e737570706f7274656420636f72652d6a73207573652e205472792068747470733a2f2f6e706d732e696f2f7365617263683f713d706f6e7966696c6c2e272c0a20202020202046554e435f4552524f525f54455854203d2027457870656374656420612066756e6374696f6e273b0a0a20202f2a2a205573656420746f207374616e642d696e20666f722060756e646566696e65646020686173682076616c7565732e202a2f0a202076617220484153485f554e444546494e4544203d20275f5f6c6f646173685f686173685f756e646566696e65645f5f273b0a0a20202f2a2a205573656420617320746865206d6178696d756d206d656d6f697a652063616368652073697a652e202a2f0a2020766172204d41585f4d454d4f495a455f53495a45203d203530303b0a0a20202f2a2a20557365642061732074686520696e7465726e616c20617267756d656e7420706c616365686f6c6465722e202a2f0a202076617220504c414345484f4c444552203d20275f5f6c6f646173685f706c616365686f6c6465725f5f273b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f7220636c6f6e696e672e202a2f0a202076617220434c4f4e455f444545505f464c4147203d20312c0a202020202020434c4f4e455f464c41545f464c4147203d20322c0a202020202020434c4f4e455f53594d424f4c535f464c4147203d20343b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f722076616c756520636f6d70617269736f6e732e202a2f0a202076617220434f4d504152455f5041525449414c5f464c4147203d20312c0a202020202020434f4d504152455f554e4f5244455245445f464c4147203d20323b0a0a20202f2a2a205573656420746f20636f6d706f7365206269746d61736b7320666f722066756e6374696f6e206d657461646174612e202a2f0a202076617220575241505f42494e445f464c4147203d20312c0a202020202020575241505f42494e445f4b45595f464c4147203d20322c0a202020202020575241505f43555252595f424f554e445f464c4147203d20342c0a202020202020575241505f43555252595f464c4147203d20382c0a202020202020575241505f43555252595f52494748545f464c4147203d2031362c0a202020202020575241505f5041525449414c5f464c4147203d2033322c0a202020202020575241505f5041525449414c5f52494748545f464c4147203d2036342c0a202020202020575241505f4152595f464c4147203d203132382c0a202020202020575241505f52454152475f464c4147203d203235362c0a202020202020575241505f464c49505f464c4147203d203531323b0a0a20202f2a2a20557365642061732064656661756c74206f7074696f6e7320666f7220605f2e7472756e63617465602e202a2f0a20207661722044454641554c545f5452554e435f4c454e475448203d2033302c0a20202020202044454641554c545f5452554e435f4f4d495353494f4e203d20272e2e2e273b0a0a20202f2a2a205573656420746f2064657465637420686f742066756e6374696f6e73206279206e756d626572206f662063616c6c732077697468696e2061207370616e206f66206d696c6c697365636f6e64732e202a2f0a202076617220484f545f434f554e54203d203830302c0a202020202020484f545f5350414e203d2031363b0a0a20202f2a2a205573656420746f20696e646963617465207468652074797065206f66206c617a79206974657261746565732e202a2f0a2020766172204c415a595f46494c5445525f464c4147203d20312c0a2020202020204c415a595f4d41505f464c4147203d20322c0a2020202020204c415a595f5748494c455f464c4147203d20333b0a0a20202f2a2a2055736564206173207265666572656e63657320666f7220766172696f757320604e756d6265726020636f6e7374616e74732e202a2f0a202076617220494e46494e495459203d2031202f20302c0a2020202020204d41585f534146455f494e5445474552203d20393030373139393235343734303939312c0a2020202020204d41585f494e5445474552203d20312e37393736393331333438363233313537652b3330382c0a2020202020204e414e203d2030202f20303b0a0a20202f2a2a2055736564206173207265666572656e63657320666f7220746865206d6178696d756d206c656e67746820616e6420696e646578206f6620616e2061727261792e202a2f0a2020766172204d41585f41525241595f4c454e475448203d20343239343936373239352c0a2020202020204d41585f41525241595f494e444558203d204d41585f41525241595f4c454e475448202d20312c0a20202020202048414c465f4d41585f41525241595f4c454e475448203d204d41585f41525241595f4c454e475448203e3e3e20313b0a0a20202f2a2a205573656420746f206173736f63696174652077726170206d6574686f647320776974682074686569722062697420666c6167732e202a2f0a20207661722077726170466c616773203d205b0a202020205b27617279272c20575241505f4152595f464c41475d2c0a202020205b2762696e64272c20575241505f42494e445f464c41475d2c0a202020205b2762696e644b6579272c20575241505f42494e445f4b45595f464c41475d2c0a202020205b276375727279272c20575241505f43555252595f464c41475d2c0a202020205b2763757272795269676874272c20575241505f43555252595f52494748545f464c41475d2c0a202020205b27666c6970272c20575241505f464c49505f464c41475d2c0a202020205b277061727469616c272c20575241505f5041525449414c5f464c41475d2c0a202020205b277061727469616c5269676874272c20575241505f5041525449414c5f52494748545f464c41475d2c0a202020205b277265617267272c20575241505f52454152475f464c41475d0a20205d3b0a0a20202f2a2a20604f626a65637423746f537472696e676020726573756c74207265666572656e6365732e202a2f0a20207661722061726773546167203d20275b6f626a65637420417267756d656e74735d272c0a2020202020206172726179546167203d20275b6f626a6563742041727261795d272c0a2020202020206173796e63546167203d20275b6f626a656374204173796e6346756e6374696f6e5d272c0a202020202020626f6f6c546167203d20275b6f626a65637420426f6f6c65616e5d272c0a20202020202064617465546167203d20275b6f626a65637420446174655d272c0a202020202020646f6d457863546167203d20275b6f626a65637420444f4d457863657074696f6e5d272c0a2020202020206572726f72546167203d20275b6f626a656374204572726f725d272c0a20202020202066756e63546167203d20275b6f626a6563742046756e6374696f6e5d272c0a20202020202067656e546167203d20275b6f626a6563742047656e657261746f7246756e6374696f6e5d272c0a2020202020206d6170546167203d20275b6f626a656374204d61705d272c0a2020202020206e756d626572546167203d20275b6f626a656374204e756d6265725d272c0a2020202020206e756c6c546167203d20275b6f626a656374204e756c6c5d272c0a2020202020206f626a656374546167203d20275b6f626a656374204f626a6563745d272c0a20202020202070726f6d697365546167203d20275b6f626a6563742050726f6d6973655d272c0a20202020202070726f7879546167203d20275b6f626a6563742050726f78795d272c0a202020202020726567657870546167203d20275b6f626a656374205265674578705d272c0a202020202020736574546167203d20275b6f626a656374205365745d272c0a202020202020737472696e67546167203d20275b6f626a65637420537472696e675d272c0a20202020202073796d626f6c546167203d20275b6f626a6563742053796d626f6c5d272c0a202020202020756e646566696e6564546167203d20275b6f626a65637420556e646566696e65645d272c0a2020202020207765616b4d6170546167203d20275b6f626a656374205765616b4d61705d272c0a2020202020207765616b536574546167203d20275b6f626a656374205765616b5365745d273b0a0a2020766172206172726179427566666572546167203d20275b6f626a6563742041727261794275666665725d272c0a2020202020206461746156696577546167203d20275b6f626a6563742044617461566965775d272c0a202020202020666c6f61743332546167203d20275b6f626a65637420466c6f6174333241727261795d272c0a202020202020666c6f61743634546167203d20275b6f626a65637420466c6f6174363441727261795d272c0a202020202020696e7438546167203d20275b6f626a65637420496e743841727261795d272c0a202020202020696e743136546167203d20275b6f626a65637420496e74313641727261795d272c0a202020202020696e743332546167203d20275b6f626a65637420496e74333241727261795d272c0a20202020202075696e7438546167203d20275b6f626a6563742055696e743841727261795d272c0a20202020202075696e7438436c616d706564546167203d20275b6f626a6563742055696e7438436c616d70656441727261795d272c0a20202020202075696e743136546167203d20275b6f626a6563742055696e74313641727261795d272c0a20202020202075696e743332546167203d20275b6f626a6563742055696e74333241727261795d273b0a0a20202f2a2a205573656420746f206d6174636820656d70747920737472696e67206c69746572616c7320696e20636f6d70696c65642074656d706c61746520736f757263652e202a2f0a2020766172207265456d707479537472696e674c656164696e67203d202f5c625f5f70205c2b3d2027273b2f672c0a2020202020207265456d707479537472696e674d6964646c65203d202f5c62285f5f70205c2b3d29202727205c2b2f672c0a2020202020207265456d707479537472696e67547261696c696e67203d202f285f5f655c282e2a3f5c297c5c625f5f745c2929205c2b5c6e27273b2f673b0a0a20202f2a2a205573656420746f206d617463682048544d4c20656e74697469657320616e642048544d4c20636861726163746572732e202a2f0a20207661722072654573636170656448746d6c203d202f26283f3a616d707c6c747c67747c71756f747c233339293b2f672c0a2020202020207265556e6573636170656448746d6c203d202f5b263c3e22275d2f672c0a20202020202072654861734573636170656448746d6c203d205265674578702872654573636170656448746d6c2e736f75726365292c0a2020202020207265486173556e6573636170656448746d6c203d20526567457870287265556e6573636170656448746d6c2e736f75726365293b0a0a20202f2a2a205573656420746f206d617463682074656d706c6174652064656c696d69746572732e202a2f0a2020766172207265457363617065203d202f3c252d285b5c735c535d2b3f29253e2f672c0a20202020202072654576616c75617465203d202f3c25285b5c735c535d2b3f29253e2f672c0a2020202020207265496e746572706f6c617465203d202f3c253d285b5c735c535d2b3f29253e2f673b0a0a20202f2a2a205573656420746f206d617463682070726f7065727479206e616d65732077697468696e2070726f70657274792070617468732e202a2f0a202076617220726549734465657050726f70203d202f5c2e7c5c5b283f3a5b5e5b5c5d5d2a7c285b22275d29283f3a283f215c31295b5e5c5c5d7c5c5c2e292a3f5c31295c5d2f2c0a20202020202072654973506c61696e50726f70203d202f5e5c772a242f2c0a20202020202072654c656164696e67446f74203d202f5e5c2e2f2c0a202020202020726550726f704e616d65203d202f5b5e2e5b5c5d5d2b7c5c5b283f3a282d3f5c642b283f3a5c2e5c642b293f297c285b22275d2928283f3a283f215c32295b5e5c5c5d7c5c5c2e292a3f295c32295c5d7c283f3d283f3a5c2e7c5c5b5c5d29283f3a5c2e7c5c5b5c5d7c2429292f673b0a0a20202f2a2a0a2020202a205573656420746f206d617463682060526567457870600a2020202a205b73796e74617820636861726163746572735d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d7061747465726e73292e0a2020202a2f0a202076617220726552656745787043686172203d202f5b5c5c5e242e2a2b3f28295b5c5d7b7d7c5d2f672c0a202020202020726548617352656745787043686172203d20526567457870287265526567457870436861722e736f75726365293b0a0a20202f2a2a205573656420746f206d61746368206c656164696e6720616e6420747261696c696e6720776869746573706163652e202a2f0a20207661722072655472696d203d202f5e5c732b7c5c732b242f672c0a20202020202072655472696d5374617274203d202f5e5c732b2f2c0a20202020202072655472696d456e64203d202f5c732b242f3b0a0a20202f2a2a205573656420746f206d6174636820777261702064657461696c20636f6d6d656e74732e202a2f0a202076617220726557726170436f6d6d656e74203d202f5c7b283f3a5c6e5c2f5c2a205c5b777261707065642077697468202e2b5c5d205c2a5c2f293f5c6e3f2f2c0a20202020202072655772617044657461696c73203d202f5c7b5c6e5c2f5c2a205c5b77726170706564207769746820282e2b295c5d205c2a2f2c0a202020202020726553706c697444657461696c73203d202f2c3f2026202f3b0a0a20202f2a2a205573656420746f206d6174636820776f72647320636f6d706f736564206f6620616c7068616e756d6572696320636861726163746572732e202a2f0a20207661722072654173636969576f7264203d202f5b5e5c7830302d5c7832665c7833612d5c7834305c7835622d5c7836305c7837622d5c7837665d2b2f673b0a0a20202f2a2a205573656420746f206d61746368206261636b736c617368657320696e2070726f70657274792070617468732e202a2f0a202076617220726545736361706543686172203d202f5c5c285c5c293f2f673b0a0a20202f2a2a0a2020202a205573656420746f206d617463680a2020202a205b45532074656d706c6174652064656c696d69746572735d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d74656d706c6174652d6c69746572616c2d6c65786963616c2d636f6d706f6e656e7473292e0a2020202a2f0a2020766172207265457354656d706c617465203d202f5c245c7b285b5e5c5c7d5d2a283f3a5c5c2e5b5e5c5c7d5d2a292a295c7d2f673b0a0a20202f2a2a205573656420746f206d6174636820605265674578706020666c6167732066726f6d20746865697220636f657263656420737472696e672076616c7565732e202a2f0a2020766172207265466c616773203d202f5c772a242f3b0a0a20202f2a2a205573656420746f2064657465637420626164207369676e65642068657861646563696d616c20737472696e672076616c7565732e202a2f0a20207661722072654973426164486578203d202f5e5b2d2b5d30785b302d39612d665d2b242f693b0a0a20202f2a2a205573656420746f206465746563742062696e61727920737472696e672076616c7565732e202a2f0a2020766172207265497342696e617279203d202f5e30625b30315d2b242f693b0a0a20202f2a2a205573656420746f2064657465637420686f737420636f6e7374727563746f72732028536166617269292e202a2f0a20207661722072654973486f737443746f72203d202f5e5c5b6f626a656374202e2b3f436f6e7374727563746f725c5d242f3b0a0a20202f2a2a205573656420746f20646574656374206f6374616c20737472696e672076616c7565732e202a2f0a202076617220726549734f6374616c203d202f5e306f5b302d375d2b242f693b0a0a20202f2a2a205573656420746f2064657465637420756e7369676e656420696e74656765722076616c7565732e202a2f0a2020766172207265497355696e74203d202f5e283f3a307c5b312d395d5c642a29242f3b0a0a20202f2a2a205573656420746f206d61746368204c6174696e20556e69636f6465206c65747465727320286578636c7564696e67206d617468656d61746963616c206f70657261746f7273292e202a2f0a20207661722072654c6174696e203d202f5b5c7863302d5c7864365c7864382d5c7866365c7866382d5c7866665c75303130302d5c75303137665d2f673b0a0a20202f2a2a205573656420746f20656e7375726520636170747572696e67206f72646572206f662074656d706c6174652064656c696d69746572732e202a2f0a20207661722072654e6f4d61746368203d202f28245e292f3b0a0a20202f2a2a205573656420746f206d6174636820756e65736361706564206368617261637465727320696e20636f6d70696c656420737472696e67206c69746572616c732e202a2f0a2020766172207265556e65736361706564537472696e67203d202f5b275c6e5c725c75323032385c75323032395c5c5d2f673b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f64652063686172616374657220636c61737365732e202a2f0a202076617220727341737472616c52616e6765203d20275c5c75643830302d5c5c7564666666272c0a2020202020207273436f6d626f4d61726b7352616e6765203d20275c5c75303330302d5c5c7530333666272c0a2020202020207265436f6d626f48616c664d61726b7352616e6765203d20275c5c75666532302d5c5c7566653266272c0a2020202020207273436f6d626f53796d626f6c7352616e6765203d20275c5c75323064302d5c5c7532306666272c0a2020202020207273436f6d626f52616e6765203d207273436f6d626f4d61726b7352616e6765202b207265436f6d626f48616c664d61726b7352616e6765202b207273436f6d626f53796d626f6c7352616e67652c0a202020202020727344696e6762617452616e6765203d20275c5c75323730302d5c5c7532376266272c0a20202020202072734c6f77657252616e6765203d2027612d7a5c5c7864662d5c5c7866365c5c7866382d5c5c786666272c0a20202020202072734d6174684f7052616e6765203d20275c5c7861635c5c7862315c5c7864375c5c786637272c0a20202020202072734e6f6e4368617252616e6765203d20275c5c7830302d5c5c7832665c5c7833612d5c5c7834305c5c7835622d5c5c7836305c5c7837622d5c5c786266272c0a202020202020727350756e6374756174696f6e52616e6765203d20275c5c75323030302d5c5c7532303666272c0a2020202020207273537061636552616e6765203d2027205c5c745c5c7830625c5c665c5c7861305c5c75666566665c5c6e5c5c725c5c75323032385c5c75323032395c5c75313638305c5c75313830655c5c75323030305c5c75323030315c5c75323030325c5c75323030335c5c75323030345c5c75323030355c5c75323030365c5c75323030375c5c75323030385c5c75323030395c5c75323030615c5c75323032665c5c75323035665c5c7533303030272c0a2020202020207273557070657252616e6765203d2027412d5a5c5c7863302d5c5c7864365c5c7864382d5c5c786465272c0a202020202020727356617252616e6765203d20275c5c75666530655c5c7566653066272c0a2020202020207273427265616b52616e6765203d2072734d6174684f7052616e6765202b2072734e6f6e4368617252616e6765202b20727350756e6374756174696f6e52616e6765202b207273537061636552616e67653b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f646520636170747572652067726f7570732e202a2f0a202076617220727341706f73203d20225b275c75323031395d222c0a202020202020727341737472616c203d20275b27202b20727341737472616c52616e6765202b20275d272c0a2020202020207273427265616b203d20275b27202b207273427265616b52616e6765202b20275d272c0a2020202020207273436f6d626f203d20275b27202b207273436f6d626f52616e6765202b20275d272c0a2020202020207273446967697473203d20275c5c642b272c0a202020202020727344696e67626174203d20275b27202b20727344696e6762617452616e6765202b20275d272c0a20202020202072734c6f776572203d20275b27202b2072734c6f77657252616e6765202b20275d272c0a20202020202072734d697363203d20275b5e27202b20727341737472616c52616e6765202b207273427265616b52616e6765202b207273446967697473202b20727344696e6762617452616e6765202b2072734c6f77657252616e6765202b207273557070657252616e6765202b20275d272c0a20202020202072734669747a203d20275c5c75643833635b5c5c75646666622d5c5c75646666665d272c0a20202020202072734d6f646966696572203d2027283f3a27202b207273436f6d626f202b20277c27202b2072734669747a202b202729272c0a20202020202072734e6f6e41737472616c203d20275b5e27202b20727341737472616c52616e6765202b20275d272c0a2020202020207273526567696f6e616c203d2027283f3a5c5c75643833635b5c5c75646465362d5c5c75646466665d297b327d272c0a20202020202072735375727250616972203d20275b5c5c75643830302d5c5c75646266665d5b5c5c75646330302d5c5c75646666665d272c0a20202020202072735570706572203d20275b27202b207273557070657252616e6765202b20275d272c0a20202020202072735a574a203d20275c5c7532303064273b0a0a20202f2a2a205573656420746f20636f6d706f736520756e69636f646520726567657865732e202a2f0a20207661722072734d6973634c6f776572203d2027283f3a27202b2072734c6f776572202b20277c27202b2072734d697363202b202729272c0a20202020202072734d6973635570706572203d2027283f3a27202b2072735570706572202b20277c27202b2072734d697363202b202729272c0a20202020202072734f7074436f6e74724c6f776572203d2027283f3a27202b20727341706f73202b2027283f3a647c6c6c7c6d7c72657c737c747c766529293f272c0a20202020202072734f7074436f6e74725570706572203d2027283f3a27202b20727341706f73202b2027283f3a447c4c4c7c4d7c52457c537c547c564529293f272c0a20202020202072654f70744d6f64203d2072734d6f646966696572202b20273f272c0a20202020202072734f7074566172203d20275b27202b20727356617252616e6765202b20275d3f272c0a20202020202072734f70744a6f696e203d2027283f3a27202b2072735a574a202b2027283f3a27202b205b72734e6f6e41737472616c2c207273526567696f6e616c2c20727353757272506169725d2e6a6f696e28277c2729202b20272927202b2072734f7074566172202b2072654f70744d6f64202b2027292a272c0a20202020202072734f72644c6f776572203d20275c5c642a283f3a283f3a3173747c326e647c3372647c283f215b3132335d295c5c647468295c5c6229272c0a20202020202072734f72645570706572203d20275c5c642a283f3a283f3a3153547c324e447c3352447c283f215b3132335d295c5c645448295c5c6229272c0a2020202020207273536571203d2072734f7074566172202b2072654f70744d6f64202b2072734f70744a6f696e2c0a2020202020207273456d6f6a69203d2027283f3a27202b205b727344696e676261742c207273526567696f6e616c2c20727353757272506169725d2e6a6f696e28277c2729202b20272927202b2072735365712c0a202020202020727353796d626f6c203d2027283f3a27202b205b72734e6f6e41737472616c202b207273436f6d626f202b20273f272c207273436f6d626f2c207273526567696f6e616c2c20727353757272506169722c20727341737472616c5d2e6a6f696e28277c2729202b202729273b0a0a20202f2a2a205573656420746f206d617463682061706f7374726f706865732e202a2f0a202076617220726541706f73203d2052656745787028727341706f732c20276727293b0a0a20202f2a2a0a2020202a205573656420746f206d61746368205b636f6d62696e696e6720646961637269746963616c206d61726b735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b732920616e640a2020202a205b636f6d62696e696e6720646961637269746963616c206d61726b7320666f722073796d626f6c735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b735f666f725f53796d626f6c73292e0a2020202a2f0a2020766172207265436f6d626f4d61726b203d20526567457870287273436f6d626f2c20276727293b0a0a20202f2a2a205573656420746f206d61746368205b737472696e672073796d626f6c735d2868747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d756e69636f6465292e202a2f0a2020766172207265556e69636f6465203d205265674578702872734669747a202b2027283f3d27202b2072734669747a202b2027297c27202b20727353796d626f6c202b2072735365712c20276727293b0a0a20202f2a2a205573656420746f206d6174636820636f6d706c6578206f7220636f6d706f756e6420776f7264732e202a2f0a2020766172207265556e69636f6465576f7264203d20526567457870285b0a2020202072735570706572202b20273f27202b2072734c6f776572202b20272b27202b2072734f7074436f6e74724c6f776572202b2027283f3d27202b205b7273427265616b2c20727355707065722c202724275d2e6a6f696e28277c2729202b202729272c0a2020202072734d6973635570706572202b20272b27202b2072734f7074436f6e74725570706572202b2027283f3d27202b205b7273427265616b2c2072735570706572202b2072734d6973634c6f7765722c202724275d2e6a6f696e28277c2729202b202729272c0a2020202072735570706572202b20273f27202b2072734d6973634c6f776572202b20272b27202b2072734f7074436f6e74724c6f7765722c0a2020202072735570706572202b20272b27202b2072734f7074436f6e747255707065722c0a2020202072734f726455707065722c0a2020202072734f72644c6f7765722c0a2020202072734469676974732c0a202020207273456d6f6a690a20205d2e6a6f696e28277c27292c20276727293b0a0a20202f2a2a205573656420746f2064657465637420737472696e67732077697468205b7a65726f2d7769647468206a6f696e657273206f7220636f646520706f696e74732066726f6d207468652061737472616c20706c616e65735d28687474703a2f2f6565762e65652f626c6f672f323031352f30392f31322f6461726b2d636f726e6572732d6f662d756e69636f64652f292e202a2f0a2020766172207265486173556e69636f6465203d2052656745787028275b27202b2072735a574a202b20727341737472616c52616e676520202b207273436f6d626f52616e6765202b20727356617252616e6765202b20275d27293b0a0a20202f2a2a205573656420746f2064657465637420737472696e67732074686174206e6565642061206d6f726520726f627573742072656765787020746f206d6174636820776f7264732e202a2f0a2020766172207265486173556e69636f6465576f7264203d202f5b612d7a5d5b412d5a5d7c5b412d5a5d7b322c7d5b612d7a5d7c5b302d395d5b612d7a412d5a5d7c5b612d7a412d5a5d5b302d395d7c5b5e612d7a412d5a302d39205d2f3b0a0a20202f2a2a205573656420746f2061737369676e2064656661756c742060636f6e7465787460206f626a6563742070726f706572746965732e202a2f0a202076617220636f6e7465787450726f7073203d205b0a20202020274172726179272c2027427566666572272c20274461746156696577272c202744617465272c20274572726f72272c2027466c6f617433324172726179272c2027466c6f617436344172726179272c0a202020202746756e6374696f6e272c2027496e74384172726179272c2027496e7431364172726179272c2027496e7433324172726179272c20274d6170272c20274d617468272c20274f626a656374272c0a202020202750726f6d697365272c2027526567457870272c2027536574272c2027537472696e67272c202753796d626f6c272c2027547970654572726f72272c202755696e74384172726179272c0a202020202755696e7438436c616d7065644172726179272c202755696e7431364172726179272c202755696e7433324172726179272c20275765616b4d6170272c0a20202020275f272c2027636c65617254696d656f7574272c2027697346696e697465272c20277061727365496e74272c202773657454696d656f7574270a20205d3b0a0a20202f2a2a205573656420746f206d616b652074656d706c61746520736f7572636555524c732065617369657220746f206964656e746966792e202a2f0a20207661722074656d706c617465436f756e746572203d202d313b0a0a20202f2a2a205573656420746f206964656e746966792060746f537472696e67546167602076616c756573206f66207479706564206172726179732e202a2f0a2020766172207479706564417272617954616773203d207b7d3b0a202074797065644172726179546167735b666c6f617433325461675d203d2074797065644172726179546167735b666c6f617436345461675d203d0a202074797065644172726179546167735b696e74385461675d203d2074797065644172726179546167735b696e7431365461675d203d0a202074797065644172726179546167735b696e7433325461675d203d2074797065644172726179546167735b75696e74385461675d203d0a202074797065644172726179546167735b75696e7438436c616d7065645461675d203d2074797065644172726179546167735b75696e7431365461675d203d0a202074797065644172726179546167735b75696e7433325461675d203d20747275653b0a202074797065644172726179546167735b617267735461675d203d2074797065644172726179546167735b61727261795461675d203d0a202074797065644172726179546167735b61727261794275666665725461675d203d2074797065644172726179546167735b626f6f6c5461675d203d0a202074797065644172726179546167735b64617461566965775461675d203d2074797065644172726179546167735b646174655461675d203d0a202074797065644172726179546167735b6572726f725461675d203d2074797065644172726179546167735b66756e635461675d203d0a202074797065644172726179546167735b6d61705461675d203d2074797065644172726179546167735b6e756d6265725461675d203d0a202074797065644172726179546167735b6f626a6563745461675d203d2074797065644172726179546167735b7265676578705461675d203d0a202074797065644172726179546167735b7365745461675d203d2074797065644172726179546167735b737472696e675461675d203d0a202074797065644172726179546167735b7765616b4d61705461675d203d2066616c73653b0a0a20202f2a2a205573656420746f206964656e746966792060746f537472696e67546167602076616c75657320737570706f7274656420627920605f2e636c6f6e65602e202a2f0a202076617220636c6f6e6561626c6554616773203d207b7d3b0a2020636c6f6e6561626c65546167735b617267735461675d203d20636c6f6e6561626c65546167735b61727261795461675d203d0a2020636c6f6e6561626c65546167735b61727261794275666665725461675d203d20636c6f6e6561626c65546167735b64617461566965775461675d203d0a2020636c6f6e6561626c65546167735b626f6f6c5461675d203d20636c6f6e6561626c65546167735b646174655461675d203d0a2020636c6f6e6561626c65546167735b666c6f617433325461675d203d20636c6f6e6561626c65546167735b666c6f617436345461675d203d0a2020636c6f6e6561626c65546167735b696e74385461675d203d20636c6f6e6561626c65546167735b696e7431365461675d203d0a2020636c6f6e6561626c65546167735b696e7433325461675d203d20636c6f6e6561626c65546167735b6d61705461675d203d0a2020636c6f6e6561626c65546167735b6e756d6265725461675d203d20636c6f6e6561626c65546167735b6f626a6563745461675d203d0a2020636c6f6e6561626c65546167735b7265676578705461675d203d20636c6f6e6561626c65546167735b7365745461675d203d0a2020636c6f6e6561626c65546167735b737472696e675461675d203d20636c6f6e6561626c65546167735b73796d626f6c5461675d203d0a2020636c6f6e6561626c65546167735b75696e74385461675d203d20636c6f6e6561626c65546167735b75696e7438436c616d7065645461675d203d0a2020636c6f6e6561626c65546167735b75696e7431365461675d203d20636c6f6e6561626c65546167735b75696e7433325461675d203d20747275653b0a2020636c6f6e6561626c65546167735b6572726f725461675d203d20636c6f6e6561626c65546167735b66756e635461675d203d0a2020636c6f6e6561626c65546167735b7765616b4d61705461675d203d2066616c73653b0a0a20202f2a2a205573656420746f206d6170204c6174696e20556e69636f6465206c65747465727320746f206261736963204c6174696e206c6574746572732e202a2f0a20207661722064656275727265644c657474657273203d207b0a202020202f2f204c6174696e2d3120537570706c656d656e7420626c6f636b2e0a20202020275c786330273a202741272c2020275c786331273a202741272c20275c786332273a202741272c20275c786333273a202741272c20275c786334273a202741272c20275c786335273a202741272c0a20202020275c786530273a202761272c2020275c786531273a202761272c20275c786532273a202761272c20275c786533273a202761272c20275c786534273a202761272c20275c786535273a202761272c0a20202020275c786337273a202743272c2020275c786537273a202763272c0a20202020275c786430273a202744272c2020275c786630273a202764272c0a20202020275c786338273a202745272c2020275c786339273a202745272c20275c786361273a202745272c20275c786362273a202745272c0a20202020275c786538273a202765272c2020275c786539273a202765272c20275c786561273a202765272c20275c786562273a202765272c0a20202020275c786363273a202749272c2020275c786364273a202749272c20275c786365273a202749272c20275c786366273a202749272c0a20202020275c786563273a202769272c2020275c786564273a202769272c20275c786565273a202769272c20275c786566273a202769272c0a20202020275c786431273a20274e272c2020275c786631273a20276e272c0a20202020275c786432273a20274f272c2020275c786433273a20274f272c20275c786434273a20274f272c20275c786435273a20274f272c20275c786436273a20274f272c20275c786438273a20274f272c0a20202020275c786632273a20276f272c2020275c786633273a20276f272c20275c786634273a20276f272c20275c786635273a20276f272c20275c786636273a20276f272c20275c786638273a20276f272c0a20202020275c786439273a202755272c2020275c786461273a202755272c20275c786462273a202755272c20275c786463273a202755272c0a20202020275c786639273a202775272c2020275c786661273a202775272c20275c786662273a202775272c20275c786663273a202775272c0a20202020275c786464273a202759272c2020275c786664273a202779272c20275c786666273a202779272c0a20202020275c786336273a20274165272c20275c786536273a20276165272c0a20202020275c786465273a20275468272c20275c786665273a20277468272c0a20202020275c786466273a20277373272c0a202020202f2f204c6174696e20457874656e6465642d4120626c6f636b2e0a20202020275c7530313030273a202741272c2020275c7530313032273a202741272c20275c7530313034273a202741272c0a20202020275c7530313031273a202761272c2020275c7530313033273a202761272c20275c7530313035273a202761272c0a20202020275c7530313036273a202743272c2020275c7530313038273a202743272c20275c7530313061273a202743272c20275c7530313063273a202743272c0a20202020275c7530313037273a202763272c2020275c7530313039273a202763272c20275c7530313062273a202763272c20275c7530313064273a202763272c0a20202020275c7530313065273a202744272c2020275c7530313130273a202744272c20275c7530313066273a202764272c20275c7530313131273a202764272c0a20202020275c7530313132273a202745272c2020275c7530313134273a202745272c20275c7530313136273a202745272c20275c7530313138273a202745272c20275c7530313161273a202745272c0a20202020275c7530313133273a202765272c2020275c7530313135273a202765272c20275c7530313137273a202765272c20275c7530313139273a202765272c20275c7530313162273a202765272c0a20202020275c7530313163273a202747272c2020275c7530313165273a202747272c20275c7530313230273a202747272c20275c7530313232273a202747272c0a20202020275c7530313164273a202767272c2020275c7530313166273a202767272c20275c7530313231273a202767272c20275c7530313233273a202767272c0a20202020275c7530313234273a202748272c2020275c7530313236273a202748272c20275c7530313235273a202768272c20275c7530313237273a202768272c0a20202020275c7530313238273a202749272c2020275c7530313261273a202749272c20275c7530313263273a202749272c20275c7530313265273a202749272c20275c7530313330273a202749272c0a20202020275c7530313239273a202769272c2020275c7530313262273a202769272c20275c7530313264273a202769272c20275c7530313266273a202769272c20275c7530313331273a202769272c0a20202020275c7530313334273a20274a272c2020275c7530313335273a20276a272c0a20202020275c7530313336273a20274b272c2020275c7530313337273a20276b272c20275c7530313338273a20276b272c0a20202020275c7530313339273a20274c272c2020275c7530313362273a20274c272c20275c7530313364273a20274c272c20275c7530313366273a20274c272c20275c7530313431273a20274c272c0a20202020275c7530313361273a20276c272c2020275c7530313363273a20276c272c20275c7530313365273a20276c272c20275c7530313430273a20276c272c20275c7530313432273a20276c272c0a20202020275c7530313433273a20274e272c2020275c7530313435273a20274e272c20275c7530313437273a20274e272c20275c7530313461273a20274e272c0a20202020275c7530313434273a20276e272c2020275c7530313436273a20276e272c20275c7530313438273a20276e272c20275c7530313462273a20276e272c0a20202020275c7530313463273a20274f272c2020275c7530313465273a20274f272c20275c7530313530273a20274f272c0a20202020275c7530313464273a20276f272c2020275c7530313466273a20276f272c20275c7530313531273a20276f272c0a20202020275c7530313534273a202752272c2020275c7530313536273a202752272c20275c7530313538273a202752272c0a20202020275c7530313535273a202772272c2020275c7530313537273a202772272c20275c7530313539273a202772272c0a20202020275c7530313561273a202753272c2020275c7530313563273a202753272c20275c7530313565273a202753272c20275c7530313630273a202753272c0a20202020275c7530313562273a202773272c2020275c7530313564273a202773272c20275c7530313566273a202773272c20275c7530313631273a202773272c0a20202020275c7530313632273a202754272c2020275c7530313634273a202754272c20275c7530313636273a202754272c0a20202020275c7530313633273a202774272c2020275c7530313635273a202774272c20275c7530313637273a202774272c0a20202020275c7530313638273a202755272c2020275c7530313661273a202755272c20275c7530313663273a202755272c20275c7530313665273a202755272c20275c7530313730273a202755272c20275c7530313732273a202755272c0a20202020275c7530313639273a202775272c2020275c7530313662273a202775272c20275c7530313664273a202775272c20275c7530313666273a202775272c20275c7530313731273a202775272c20275c7530313733273a202775272c0a20202020275c7530313734273a202757272c2020275c7530313735273a202777272c0a20202020275c7530313736273a202759272c2020275c7530313737273a202779272c20275c7530313738273a202759272c0a20202020275c7530313739273a20275a272c2020275c7530313762273a20275a272c20275c7530313764273a20275a272c0a20202020275c7530313761273a20277a272c2020275c7530313763273a20277a272c20275c7530313765273a20277a272c0a20202020275c7530313332273a2027494a272c20275c7530313333273a2027696a272c0a20202020275c7530313532273a20274f65272c20275c7530313533273a20276f65272c0a20202020275c7530313439273a2022276e222c20275c7530313766273a202773270a20207d3b0a0a20202f2a2a205573656420746f206d6170206368617261637465727320746f2048544d4c20656e7469746965732e202a2f0a20207661722068746d6c45736361706573203d207b0a202020202726273a202726616d703b272c0a20202020273c273a2027266c743b272c0a20202020273e273a20272667743b272c0a202020202722273a20272671756f743b272c0a202020202227223a2027262333393b270a20207d3b0a0a20202f2a2a205573656420746f206d61702048544d4c20656e74697469657320746f20636861726163746572732e202a2f0a20207661722068746d6c556e65736361706573203d207b0a202020202726616d703b273a202726272c0a2020202027266c743b273a20273c272c0a20202020272667743b273a20273e272c0a20202020272671756f743b273a202722272c0a2020202027262333393b273a202227220a20207d3b0a0a20202f2a2a205573656420746f20657363617065206368617261637465727320666f7220696e636c7573696f6e20696e20636f6d70696c656420737472696e67206c69746572616c732e202a2f0a202076617220737472696e6745736361706573203d207b0a20202020275c5c273a20275c5c272c0a202020202227223a202227222c0a20202020275c6e273a20276e272c0a20202020275c72273a202772272c0a20202020275c7532303238273a20277532303238272c0a20202020275c7532303239273a20277532303239270a20207d3b0a0a20202f2a2a204275696c742d696e206d6574686f64207265666572656e63657320776974686f7574206120646570656e64656e6379206f6e2060726f6f74602e202a2f0a202076617220667265655061727365466c6f6174203d207061727365466c6f61742c0a202020202020667265655061727365496e74203d207061727365496e743b0a0a20202f2a2a204465746563742066726565207661726961626c652060676c6f62616c602066726f6d204e6f64652e6a732e202a2f0a20207661722066726565476c6f62616c203d20747970656f6620676c6f62616c203d3d20276f626a6563742720262620676c6f62616c20262620676c6f62616c2e4f626a656374203d3d3d204f626a65637420262620676c6f62616c3b0a0a20202f2a2a204465746563742066726565207661726961626c65206073656c66602e202a2f0a2020766172206672656553656c66203d20747970656f662073656c66203d3d20276f626a656374272026262073656c662026262073656c662e4f626a656374203d3d3d204f626a6563742026262073656c663b0a0a20202f2a2a20557365642061732061207265666572656e636520746f2074686520676c6f62616c206f626a6563742e202a2f0a202076617220726f6f74203d2066726565476c6f62616c207c7c206672656553656c66207c7c2046756e6374696f6e282772657475726e2074686973272928293b0a0a20202f2a2a204465746563742066726565207661726961626c6520606578706f727473602e202a2f0a202076617220667265654578706f727473203d20747970656f66206578706f727473203d3d20276f626a65637427202626206578706f72747320262620216578706f7274732e6e6f646554797065202626206578706f7274733b0a0a20202f2a2a204465746563742066726565207661726961626c6520606d6f64756c65602e202a2f0a202076617220667265654d6f64756c65203d20667265654578706f72747320262620747970656f66206d6f64756c65203d3d20276f626a65637427202626206d6f64756c6520262620216d6f64756c652e6e6f646554797065202626206d6f64756c653b0a0a20202f2a2a204465746563742074686520706f70756c617220436f6d6d6f6e4a5320657874656e73696f6e20606d6f64756c652e6578706f727473602e202a2f0a2020766172206d6f64756c654578706f727473203d20667265654d6f64756c6520262620667265654d6f64756c652e6578706f727473203d3d3d20667265654578706f7274733b0a0a20202f2a2a204465746563742066726565207661726961626c65206070726f63657373602066726f6d204e6f64652e6a732e202a2f0a2020766172206672656550726f63657373203d206d6f64756c654578706f7274732026262066726565476c6f62616c2e70726f636573733b0a0a20202f2a2a205573656420746f2061636365737320666173746572204e6f64652e6a732068656c706572732e202a2f0a2020766172206e6f64655574696c203d202866756e6374696f6e2829207b0a20202020747279207b0a20202020202072657475726e206672656550726f63657373202626206672656550726f636573732e62696e64696e67202626206672656550726f636573732e62696e64696e6728277574696c27293b0a202020207d20636174636820286529207b7d0a20207d2829293b0a0a20202f2a204e6f64652e6a732068656c706572207265666572656e6365732e202a2f0a2020766172206e6f646549734172726179427566666572203d206e6f64655574696c202626206e6f64655574696c2e697341727261794275666665722c0a2020202020206e6f6465497344617465203d206e6f64655574696c202626206e6f64655574696c2e6973446174652c0a2020202020206e6f646549734d6170203d206e6f64655574696c202626206e6f64655574696c2e69734d61702c0a2020202020206e6f64654973526567457870203d206e6f64655574696c202626206e6f64655574696c2e69735265674578702c0a2020202020206e6f64654973536574203d206e6f64655574696c202626206e6f64655574696c2e69735365742c0a2020202020206e6f6465497354797065644172726179203d206e6f64655574696c202626206e6f64655574696c2e6973547970656441727261793b0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2a2a0a2020202a204164647320746865206b65792d76616c75652060706169726020746f20606d6170602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f206d6f646966792e0a2020202a2040706172616d207b41727261797d207061697220546865206b65792d76616c7565207061697220746f206164642e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320606d6170602e0a2020202a2f0a202066756e6374696f6e206164644d6170456e747279286d61702c207061697229207b0a202020202f2f20446f6e27742072657475726e20606d61702e7365746020626563617573652069742773206e6f7420636861696e61626c6520696e2049452031312e0a202020206d61702e73657428706169725b305d2c20706169725b315d293b0a2020202072657475726e206d61703b0a20207d0a0a20202f2a2a0a2020202a2041646473206076616c75656020746f2060736574602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f206d6f646966792e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206164642e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e732060736574602e0a2020202a2f0a202066756e6374696f6e20616464536574456e747279287365742c2076616c756529207b0a202020202f2f20446f6e27742072657475726e20607365742e6164646020626563617573652069742773206e6f7420636861696e61626c6520696e2049452031312e0a202020207365742e6164642876616c7565293b0a2020202072657475726e207365743b0a20207d0a0a20202f2a2a0a2020202a20412066617374657220616c7465726e617469766520746f206046756e6374696f6e236170706c79602c20746869732066756e6374696f6e20696e766f6b6573206066756e63600a2020202a207769746820746865206074686973602062696e64696e67206f662060746869734172676020616e642074686520617267756d656e7473206f66206061726773602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20696e766f6b652e0a2020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a2020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f66206066756e63602e0a2020202a2f0a202066756e6374696f6e206170706c792866756e632c20746869734172672c206172677329207b0a202020207377697463682028617267732e6c656e67746829207b0a2020202020206361736520303a2072657475726e2066756e632e63616c6c2874686973417267293b0a2020202020206361736520313a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d293b0a2020202020206361736520323a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d2c20617267735b315d293b0a2020202020206361736520333a2072657475726e2066756e632e63616c6c28746869734172672c20617267735b305d2c20617267735b315d2c20617267735b325d293b0a202020207d0a2020202072657475726e2066756e632e6170706c7928746869734172672c2061726773293b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620606261736541676772656761746f726020666f72206172726179732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a2020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d206b6579732e0a2020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c2061676772656761746564206f626a6563742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a2020202a2f0a202066756e6374696f6e20617272617941676772656761746f722861727261792c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a20202020202073657474657228616363756d756c61746f722c2076616c75652c2069746572617465652876616c7565292c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e666f72456163686020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e206172726179456163682861727261792c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020206966202869746572617465652861727261795b696e6465785d2c20696e6465782c20617272617929203d3d3d2066616c736529207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e666f724561636852696768746020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e2061727261794561636852696768742861727261792c20697465726174656529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520286c656e6774682d2d29207b0a2020202020206966202869746572617465652861727261795b6c656e6774685d2c206c656e6774682c20617272617929203d3d3d2066616c736529207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e65766572796020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a2020202a2020656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20617272617945766572792861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028217072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020207d0a2020202072657475726e20747275653b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e66696c7465726020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a2020202a2f0a202066756e6374696f6e20617272617946696c7465722861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020726573496e646578203d20302c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a202020202020696620287072656469636174652876616c75652c20696e6465782c2061727261792929207b0a2020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e696e636c756465736020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2073706563696679696e6720616e20696e64657820746f207365617263682066726f6d2e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20746172676574205468652076616c756520746f2073656172636820666f722e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607461726765746020697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179496e636c756465732861727261792c2076616c756529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202072657475726e2021216c656e6774682026262062617365496e6465784f662861727261792c2076616c75652c203029203e202d313b0a20207d0a0a20202f2a2a0a2020202a20546869732066756e6374696f6e206973206c696b6520606172726179496e636c75646573602065786365707420746861742069742061636365707473206120636f6d70617261746f722e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20746172676574205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607461726765746020697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179496e636c75646573576974682861727261792c2076616c75652c20636f6d70617261746f7229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028636f6d70617261746f722876616c75652c2061727261795b696e6465785d2929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a202020207d0a2020202072657475726e2066616c73653b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6d61706020666f722061727261797320776974686f757420737570706f727420666f722069746572617465650a2020202a2073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a2020202a2f0a202066756e6374696f6e2061727261794d61702861727261792c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020726573756c74203d204172726179286c656e677468293b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020726573756c745b696e6465785d203d2069746572617465652861727261795b696e6465785d2c20696e6465782c206172726179293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20417070656e64732074686520656c656d656e7473206f66206076616c7565736020746f20606172726179602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a2020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f20617070656e642e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e206172726179507573682861727261792c2076616c75657329207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2076616c7565732e6c656e6774682c0a20202020202020206f6666736574203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202061727261795b6f6666736574202b20696e6465785d203d2076616c7565735b696e6465785d3b0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e7265647563656020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d205b696e6974416363756d5d2053706563696679207573696e672074686520666972737420656c656d656e74206f6620606172726179602061730a2020202a202074686520696e697469616c2076616c75652e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e2061727261795265647563652861727261792c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d29207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a2020202069662028696e6974416363756d202626206c656e67746829207b0a202020202020616363756d756c61746f72203d2061727261795b2b2b696e6465785d3b0a202020207d0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020616363756d756c61746f72203d20697465726174656528616363756d756c61746f722c2061727261795b696e6465785d2c20696e6465782c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e72656475636552696768746020666f722061727261797320776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d205b696e6974416363756d5d2053706563696679207573696e6720746865206c61737420656c656d656e74206f6620606172726179602061730a2020202a202074686520696e697469616c2076616c75652e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e20617272617952656475636552696768742861727261792c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d29207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202069662028696e6974416363756d202626206c656e67746829207b0a202020202020616363756d756c61746f72203d2061727261795b2d2d6c656e6774685d3b0a202020207d0a202020207768696c6520286c656e6774682d2d29207b0a202020202020616363756d756c61746f72203d20697465726174656528616363756d756c61746f722c2061727261795b6c656e6774685d2c206c656e6774682c206172726179293b0a202020207d0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e736f6d656020666f722061727261797320776974686f757420737570706f727420666f722069746572617465650a2020202a2073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d205b61727261795d2054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a2020202a2020656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206172726179536f6d652861727261792c2070726564696361746529207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020696620287072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a202020207d0a2020202072657475726e2066616c73653b0a20207d0a0a20202f2a2a0a2020202a2047657473207468652073697a65206f6620616e2041534349492060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202076617220617363696953697a65203d206261736550726f706572747928276c656e67746827293b0a0a20202f2a2a0a2020202a20436f6e766572747320616e2041534349492060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e206173636969546f417272617928737472696e6729207b0a2020202072657475726e20737472696e672e73706c6974282727293b0a20207d0a0a20202f2a2a0a2020202a2053706c69747320616e2041534349492060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a2020202a2f0a202066756e6374696f6e206173636969576f72647328737472696e6729207b0a2020202072657475726e20737472696e672e6d617463682872654173636969576f726429207c7c205b5d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e66696e644b65796020616e6420605f2e66696e644c6173744b6579602c0a2020202a20776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732c207768696368206974657261746573206f7665722060636f6c6c656374696f6e600a2020202a207573696e6720606561636846756e63602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f7665722060636f6c6c656374696f6e602e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520666f756e6420656c656d656e74206f7220697473206b65792c20656c73652060756e646566696e6564602e0a2020202a2f0a202066756e6374696f6e206261736546696e644b657928636f6c6c656374696f6e2c207072656469636174652c206561636846756e6329207b0a2020202076617220726573756c743b0a202020206561636846756e6328636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a202020202020696620287072656469636174652876616c75652c206b65792c20636f6c6c656374696f6e2929207b0a2020202020202020726573756c74203d206b65793b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696e64496e6465786020616e6420605f2e66696e644c617374496e6465786020776974686f75740a2020202a20737570706f727420666f722069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e206261736546696e64496e6465782861727261792c207072656469636174652c2066726f6d496e6465782c2066726f6d526967687429207b0a20202020766172206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020696e646578203d2066726f6d496e646578202b202866726f6d5269676874203f2031203a202d31293b0a0a202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e6774682929207b0a202020202020696620287072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e6465784f666020776974686f7574206066726f6d496e6465786020626f756e647320636865636b732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e2062617365496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202072657475726e2076616c7565203d3d3d2076616c75650a2020202020203f20737472696374496e6465784f662861727261792c2076616c75652c2066726f6d496e646578290a2020202020203a206261736546696e64496e6465782861727261792c206261736549734e614e2c2066726f6d496e646578293b0a20207d0a0a20202f2a2a0a2020202a20546869732066756e6374696f6e206973206c696b65206062617365496e6465784f66602065786365707420746861742069742061636365707473206120636f6d70617261746f722e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e2062617365496e6465784f66576974682861727261792c2076616c75652c2066726f6d496e6465782c20636f6d70617261746f7229207b0a2020202076617220696e646578203d2066726f6d496e646578202d20312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202069662028636f6d70617261746f722861727261795b696e6465785d2c2076616c75652929207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734e614e6020776974686f757420737570706f727420666f72206e756d626572206f626a656374732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320604e614e602c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e206261736549734e614e2876616c756529207b0a2020202072657475726e2076616c756520213d3d2076616c75653b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d65616e6020616e6420605f2e6d65616e42796020776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a2020202a2f0a202066756e6374696f6e20626173654d65616e2861727261792c20697465726174656529207b0a20202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a2020202072657475726e206c656e677468203f20286261736553756d2861727261792c20697465726174656529202f206c656e67746829203a204e414e3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70726f70657274796020776974686f757420737570706f727420666f7220646565702070617468732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206261736550726f7065727479286b657929207b0a2020202072657475726e2066756e6374696f6e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70726f70657274794f666020776974686f757420737570706f727420666f7220646565702070617468732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206261736550726f70657274794f66286f626a65637429207b0a2020202072657475726e2066756e6374696f6e286b657929207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7265647563656020616e6420605f2e7265647563655269676874602c20776974686f757420737570706f72740a2020202a20666f722069746572617465652073686f727468616e64732c207768696368206974657261746573206f7665722060636f6c6c656374696f6e60207573696e6720606561636846756e63602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a2040706172616d207b2a7d20616363756d756c61746f722054686520696e697469616c2076616c75652e0a2020202a2040706172616d207b626f6f6c65616e7d20696e6974416363756d2053706563696679207573696e6720746865206669727374206f72206c61737420656c656d656e74206f660a2020202a202060636f6c6c656374696f6e602061732074686520696e697469616c2076616c75652e0a2020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f7665722060636f6c6c656374696f6e602e0a2020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a2020202a2f0a202066756e6374696f6e206261736552656475636528636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f722c20696e6974416363756d2c206561636846756e6329207b0a202020206561636846756e6328636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a202020202020616363756d756c61746f72203d20696e6974416363756d0a20202020202020203f2028696e6974416363756d203d2066616c73652c2076616c7565290a20202020202020203a20697465726174656528616363756d756c61746f722c2076616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020207d293b0a2020202072657475726e20616363756d756c61746f723b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f727442796020776869636820757365732060636f6d70617265726020746f20646566696e65207468650a2020202a20736f7274206f72646572206f66206061727261796020616e64207265706c61636573206372697465726961206f626a65637473207769746820746865697220636f72726573706f6e64696e670a2020202a2076616c7565732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736f72742e0a2020202a2040706172616d207b46756e6374696f6e7d20636f6d7061726572205468652066756e6374696f6e20746f20646566696e6520736f7274206f726465722e0a2020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a2020202a2f0a202066756e6374696f6e2062617365536f727442792861727261792c20636f6d706172657229207b0a20202020766172206c656e677468203d2061727261792e6c656e6774683b0a0a2020202061727261792e736f727428636f6d7061726572293b0a202020207768696c6520286c656e6774682d2d29207b0a20202020202061727261795b6c656e6774685d203d2061727261795b6c656e6774685d2e76616c75653b0a202020207d0a2020202072657475726e2061727261793b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73756d6020616e6420605f2e73756d42796020776974686f757420737570706f727420666f720a2020202a2069746572617465652073686f727468616e64732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a2020202a2f0a202066756e6374696f6e206261736553756d2861727261792c20697465726174656529207b0a2020202076617220726573756c742c0a2020202020202020696e646578203d202d312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722063757272656e74203d2069746572617465652861727261795b696e6465785d293b0a2020202020206966202863757272656e7420213d3d20756e646566696e656429207b0a2020202020202020726573756c74203d20726573756c74203d3d3d20756e646566696e6564203f2063757272656e74203a2028726573756c74202b2063757272656e74293b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e74696d65736020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64730a2020202a206f72206d6178206172726179206c656e67746820636865636b732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f20696e766f6b6520606974657261746565602e0a2020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a2020202a2f0a202066756e6374696f6e206261736554696d6573286e2c20697465726174656529207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179286e293b0a0a202020207768696c6520282b2b696e646578203c206e29207b0a202020202020726573756c745b696e6465785d203d20697465726174656528696e646578293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f50616972736020616e6420605f2e746f5061697273496e60207768696368206372656174657320616e2061727261790a2020202a206f66206b65792d76616c756520706169727320666f7220606f626a6563746020636f72726573706f6e64696e6720746f207468652070726f7065727479206e616d6573206f66206070726f7073602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f206765742076616c75657320666f722e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206b65792d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e2062617365546f5061697273286f626a6563742c2070726f707329207b0a2020202072657475726e2061727261794d61702870726f70732c2066756e6374696f6e286b657929207b0a20202020202072657475726e205b6b65792c206f626a6563745b6b65795d5d3b0a202020207d293b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e6172796020776974686f757420737570706f727420666f722073746f72696e67206d657461646174612e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e2062617365556e6172792866756e6329207b0a2020202072657475726e2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2066756e632876616c7565293b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e76616c7565736020616e6420605f2e76616c756573496e60207768696368206372656174657320616e0a2020202a206172726179206f6620606f626a656374602070726f70657274792076616c75657320636f72726573706f6e64696e6720746f207468652070726f7065727479206e616d65730a2020202a206f66206070726f7073602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f206765742076616c75657320666f722e0a2020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a2020202a2f0a202066756e6374696f6e206261736556616c756573286f626a6563742c2070726f707329207b0a2020202072657475726e2061727261794d61702870726f70732c2066756e6374696f6e286b657929207b0a20202020202072657475726e206f626a6563745b6b65795d3b0a202020207d293b0a20207d0a0a20202f2a2a0a2020202a20436865636b73206966206120606361636865602076616c756520666f7220606b657960206578697374732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d2063616368652054686520636163686520746f2071756572792e0a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e2063616368654861732863616368652c206b657929207b0a2020202072657475726e2063616368652e686173286b6579293b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e7472696d6020616e6420605f2e7472696d53746172746020746f206765742074686520696e646578206f662074686520666972737420737472696e672073796d626f6c0a2020202a2074686174206973206e6f7420666f756e6420696e20746865206368617261637465722073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2073747253796d626f6c732054686520737472696e672073796d626f6c7320746f20696e73706563742e0a2020202a2040706172616d207b41727261797d2063687253796d626f6c7320546865206368617261637465722073796d626f6c7320746f2066696e642e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666972737420756e6d61746368656420737472696e672073796d626f6c2e0a2020202a2f0a202066756e6374696f6e2063686172735374617274496e6465782873747253796d626f6c732c2063687253796d626f6c7329207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2073747253796d626f6c732e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e6774682026262062617365496e6465784f662863687253796d626f6c732c2073747253796d626f6c735b696e6465785d2c203029203e202d3129207b7d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e7472696d6020616e6420605f2e7472696d456e646020746f206765742074686520696e646578206f6620746865206c61737420737472696e672073796d626f6c0a2020202a2074686174206973206e6f7420666f756e6420696e20746865206368617261637465722073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2073747253796d626f6c732054686520737472696e672073796d626f6c7320746f20696e73706563742e0a2020202a2040706172616d207b41727261797d2063687253796d626f6c7320546865206368617261637465722073796d626f6c7320746f2066696e642e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206c61737420756e6d61746368656420737472696e672073796d626f6c2e0a2020202a2f0a202066756e6374696f6e206368617273456e64496e6465782873747253796d626f6c732c2063687253796d626f6c7329207b0a2020202076617220696e646578203d2073747253796d626f6c732e6c656e6774683b0a0a202020207768696c652028696e6465782d2d2026262062617365496e6465784f662863687253796d626f6c732c2073747253796d626f6c735b696e6465785d2c203029203e202d3129207b7d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a204765747320746865206e756d626572206f662060706c616365686f6c64657260206f6363757272656e63657320696e20606172726179602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c64657220746f2073656172636820666f722e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520706c616365686f6c64657220636f756e742e0a2020202a2f0a202066756e6374696f6e20636f756e74486f6c646572732861727261792c20706c616365686f6c64657229207b0a20202020766172206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020726573756c74203d20303b0a0a202020207768696c6520286c656e6774682d2d29207b0a2020202020206966202861727261795b6c656e6774685d203d3d3d20706c616365686f6c64657229207b0a20202020202020202b2b726573756c743b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e6465627572726020746f20636f6e76657274204c6174696e2d3120537570706c656d656e7420616e64204c6174696e20457874656e6465642d410a2020202a206c65747465727320746f206261736963204c6174696e206c6574746572732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d206c657474657220546865206d617463686564206c657474657220746f206465627572722e0a2020202a204072657475726e73207b737472696e677d2052657475726e7320746865206465627572726564206c65747465722e0a2020202a2f0a2020766172206465627572724c6574746572203d206261736550726f70657274794f662864656275727265644c657474657273293b0a0a20202f2a2a0a2020202a205573656420627920605f2e6573636170656020746f20636f6e76657274206368617261637465727320746f2048544d4c20656e7469746965732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f206573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e73207468652065736361706564206368617261637465722e0a2020202a2f0a20207661722065736361706548746d6c43686172203d206261736550726f70657274794f662868746d6c45736361706573293b0a0a20202f2a2a0a2020202a205573656420627920605f2e74656d706c6174656020746f20657363617065206368617261637465727320666f7220696e636c7573696f6e20696e20636f6d70696c656420737472696e67206c69746572616c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f206573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e73207468652065736361706564206368617261637465722e0a2020202a2f0a202066756e6374696f6e20657363617065537472696e67436861722863687229207b0a2020202072657475726e20275c5c27202b20737472696e67457363617065735b6368725d3b0a20207d0a0a20202f2a2a0a2020202a2047657473207468652076616c756520617420606b657960206f6620606f626a656374602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a2020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a2020202a204072657475726e73207b2a7d2052657475726e73207468652070726f70657274792076616c75652e0a2020202a2f0a202066756e6374696f6e2067657456616c7565286f626a6563742c206b657929207b0a2020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b6b65795d3b0a20207d0a0a20202f2a2a0a2020202a20436865636b732069662060737472696e676020636f6e7461696e7320556e69636f64652073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620612073796d626f6c20697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20686173556e69636f646528737472696e6729207b0a2020202072657475726e207265486173556e69636f64652e7465737428737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436865636b732069662060737472696e676020636f6e7461696e73206120776f726420636f6d706f736564206f6620556e69636f64652073796d626f6c732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206120776f726420697320666f756e642c20656c7365206066616c7365602e0a2020202a2f0a202066756e6374696f6e20686173556e69636f6465576f726428737472696e6729207b0a2020202072657475726e207265486173556e69636f6465576f72642e7465737428737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320606974657261746f726020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206974657261746f7220546865206974657261746f7220746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e206974657261746f72546f4172726179286974657261746f7229207b0a2020202076617220646174612c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c652028212864617461203d206974657261746f722e6e6578742829292e646f6e6529207b0a202020202020726573756c742e7075736828646174612e76616c7565293b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320606d61706020746f20697473206b65792d76616c75652070616972732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e206d6170546f4172726179286d617029207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179286d61702e73697a65293b0a0a202020206d61702e666f72456163682866756e6374696f6e2876616c75652c206b657929207b0a202020202020726573756c745b2b2b696e6465785d203d205b6b65792c2076616c75655d3b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2043726561746573206120756e6172792066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682069747320617267756d656e74207472616e73666f726d65642e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a2020202a2040706172616d207b46756e6374696f6e7d207472616e73666f726d2054686520617267756d656e74207472616e73666f726d2e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a2020202a2f0a202066756e6374696f6e206f7665724172672866756e632c207472616e73666f726d29207b0a2020202072657475726e2066756e6374696f6e2861726729207b0a20202020202072657475726e2066756e63287472616e73666f726d2861726729293b0a202020207d3b0a20207d0a0a20202f2a2a0a2020202a205265706c6163657320616c6c2060706c616365686f6c6465726020656c656d656e747320696e2060617272617960207769746820616e20696e7465726e616c20706c616365686f6c6465720a2020202a20616e642072657475726e7320616e206172726179206f6620746865697220696e64657865732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a2020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c64657220746f207265706c6163652e0a2020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620706c616365686f6c64657220696e64657865732e0a2020202a2f0a202066756e6374696f6e207265706c616365486f6c646572732861727261792c20706c616365686f6c64657229207b0a2020202076617220696e646578203d202d312c0a20202020202020206c656e677468203d2061727261792e6c656e6774682c0a2020202020202020726573496e646578203d20302c0a2020202020202020726573756c74203d205b5d3b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020206966202876616c7565203d3d3d20706c616365686f6c646572207c7c2076616c7565203d3d3d20504c414345484f4c44455229207b0a202020202020202061727261795b696e6465785d203d20504c414345484f4c4445523b0a2020202020202020726573756c745b726573496e6465782b2b5d203d20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320607365746020746f20616e206172726179206f66206974732076616c7565732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e73207468652076616c7565732e0a2020202a2f0a202066756e6374696f6e20736574546f41727261792873657429207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179287365742e73697a65293b0a0a202020207365742e666f72456163682866756e6374696f6e2876616c756529207b0a202020202020726573756c745b2b2b696e6465785d203d2076616c75653b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e766572747320607365746020746f206974732076616c75652d76616c75652070616972732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e73207468652076616c75652d76616c75652070616972732e0a2020202a2f0a202066756e6374696f6e20736574546f50616972732873657429207b0a2020202076617220696e646578203d202d312c0a2020202020202020726573756c74203d204172726179287365742e73697a65293b0a0a202020207365742e666f72456163682866756e6374696f6e2876616c756529207b0a202020202020726573756c745b2b2b696e6465785d203d205b76616c75652c2076616c75655d3b0a202020207d293b0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e696e6465784f666020776869636820706572666f726d732073747269637420657175616c6974790a2020202a20636f6d70617269736f6e73206f662076616c7565732c20692e652e20603d3d3d602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e20737472696374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202076617220696e646578203d2066726f6d496e646578202d20312c0a20202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020206966202861727261795b696e6465785d203d3d3d2076616c756529207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e202d313b0a20207d0a0a20202f2a2a0a2020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6c617374496e6465784f666020776869636820706572666f726d732073747269637420657175616c6974790a2020202a20636f6d70617269736f6e73206f662076616c7565732c20692e652e20603d3d3d602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a2020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a2020202a2040706172616d207b6e756d6265727d2066726f6d496e6465782054686520696e64657820746f207365617263682066726f6d2e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a2020202a2f0a202066756e6374696f6e207374726963744c617374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a2020202076617220696e646578203d2066726f6d496e646578202b20313b0a202020207768696c652028696e6465782d2d29207b0a2020202020206966202861727261795b696e6465785d203d3d3d2076616c756529207b0a202020202020202072657475726e20696e6465783b0a2020202020207d0a202020207d0a2020202072657475726e20696e6465783b0a20207d0a0a20202f2a2a0a2020202a204765747320746865206e756d626572206f662073796d626f6c7320696e2060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202066756e6374696f6e20737472696e6753697a6528737472696e6729207b0a2020202072657475726e20686173556e69636f646528737472696e67290a2020202020203f20756e69636f646553697a6528737472696e67290a2020202020203a20617363696953697a6528737472696e67293b0a20207d0a0a20202f2a2a0a2020202a20436f6e76657274732060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e20737472696e67546f417272617928737472696e6729207b0a2020202072657475726e20686173556e69636f646528737472696e67290a2020202020203f20756e69636f6465546f417272617928737472696e67290a2020202020203a206173636969546f417272617928737472696e67293b0a20207d0a0a20202f2a2a0a2020202a205573656420627920605f2e756e6573636170656020746f20636f6e766572742048544d4c20656e74697469657320746f20636861726163746572732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2063687220546865206d6174636865642063686172616374657220746f20756e6573636170652e0a2020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e65736361706564206368617261637465722e0a2020202a2f0a202076617220756e65736361706548746d6c43686172203d206261736550726f70657274794f662868746d6c556e65736361706573293b0a0a20202f2a2a0a2020202a2047657473207468652073697a65206f66206120556e69636f64652060737472696e67602e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720696e73706563742e0a2020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520737472696e672073697a652e0a2020202a2f0a202066756e6374696f6e20756e69636f646553697a6528737472696e6729207b0a2020202076617220726573756c74203d207265556e69636f64652e6c617374496e646578203d20303b0a202020207768696c6520287265556e69636f64652e7465737428737472696e672929207b0a2020202020202b2b726573756c743b0a202020207d0a2020202072657475726e20726573756c743b0a20207d0a0a20202f2a2a0a2020202a20436f6e7665727473206120556e69636f64652060737472696e676020746f20616e2061727261792e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a2020202a2f0a202066756e6374696f6e20756e69636f6465546f417272617928737472696e6729207b0a2020202072657475726e20737472696e672e6d61746368287265556e69636f646529207c7c205b5d3b0a20207d0a0a20202f2a2a0a2020202a2053706c697473206120556e69636f64652060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a2020202a0a2020202a2040707269766174650a2020202a2040706172616d207b737472696e677d2054686520737472696e6720746f20696e73706563742e0a2020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a2020202a2f0a202066756e6374696f6e20756e69636f6465576f72647328737472696e6729207b0a2020202072657475726e20737472696e672e6d61746368287265556e69636f6465576f726429207c7c205b5d3b0a20207d0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2a2a0a2020202a204372656174652061206e6577207072697374696e6520606c6f64617368602066756e6374696f6e207573696e67207468652060636f6e7465787460206f626a6563742e0a2020202a0a2020202a20407374617469630a2020202a20406d656d6265724f66205f0a2020202a204073696e636520312e312e300a2020202a204063617465676f7279205574696c0a2020202a2040706172616d207b4f626a6563747d205b636f6e746578743d726f6f745d2054686520636f6e74657874206f626a6563742e0a2020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732061206e657720606c6f64617368602066756e6374696f6e2e0a2020202a20406578616d706c650a2020202a0a2020202a205f2e6d6978696e287b2027666f6f273a205f2e636f6e7374616e742827666f6f2729207d293b0a2020202a0a2020202a20766172206c6f64617368203d205f2e72756e496e436f6e7465787428293b0a2020202a206c6f646173682e6d6978696e287b2027626172273a206c6f646173682e636f6e7374616e7428276261722729207d293b0a2020202a0a2020202a205f2e697346756e6374696f6e285f2e666f6f293b0a2020202a202f2f203d3e20747275650a2020202a205f2e697346756e6374696f6e285f2e626172293b0a2020202a202f2f203d3e2066616c73650a2020202a0a2020202a206c6f646173682e697346756e6374696f6e286c6f646173682e666f6f293b0a2020202a202f2f203d3e2066616c73650a2020202a206c6f646173682e697346756e6374696f6e286c6f646173682e626172293b0a2020202a202f2f203d3e20747275650a2020202a0a2020202a202f2f2043726561746520612073757065642d7570206064656665726020696e204e6f64652e6a732e0a2020202a20766172206465666572203d205f2e72756e496e436f6e74657874287b202773657454696d656f7574273a20736574496d6d656469617465207d292e64656665723b0a2020202a2f0a20207661722072756e496e436f6e74657874203d202866756e6374696f6e2072756e496e436f6e7465787428636f6e7465787429207b0a20202020636f6e74657874203d20636f6e74657874203d3d206e756c6c203f20726f6f74203a205f2e64656661756c747328726f6f742e4f626a65637428292c20636f6e746578742c205f2e7069636b28726f6f742c20636f6e7465787450726f707329293b0a0a202020202f2a2a204275696c742d696e20636f6e7374727563746f72207265666572656e6365732e202a2f0a20202020766172204172726179203d20636f6e746578742e41727261792c0a202020202020202044617465203d20636f6e746578742e446174652c0a20202020202020204572726f72203d20636f6e746578742e4572726f722c0a202020202020202046756e6374696f6e203d20636f6e746578742e46756e6374696f6e2c0a20202020202020204d617468203d20636f6e746578742e4d6174682c0a20202020202020204f626a656374203d20636f6e746578742e4f626a6563742c0a2020202020202020526567457870203d20636f6e746578742e5265674578702c0a2020202020202020537472696e67203d20636f6e746578742e537472696e672c0a2020202020202020547970654572726f72203d20636f6e746578742e547970654572726f723b0a0a202020202f2a2a205573656420666f72206275696c742d696e206d6574686f64207265666572656e6365732e202a2f0a2020202076617220617272617950726f746f203d2041727261792e70726f746f747970652c0a202020202020202066756e6350726f746f203d2046756e6374696f6e2e70726f746f747970652c0a20202020202020206f626a65637450726f746f203d204f626a6563742e70726f746f747970653b0a0a202020202f2a2a205573656420746f20646574656374206f7665727265616368696e6720636f72652d6a73207368696d732e202a2f0a2020202076617220636f72654a7344617461203d20636f6e746578745b275f5f636f72652d6a735f7368617265645f5f275d3b0a0a202020202f2a2a205573656420746f207265736f6c766520746865206465636f6d70696c656420736f75726365206f662066756e6374696f6e732e202a2f0a202020207661722066756e63546f537472696e67203d2066756e6350726f746f2e746f537472696e673b0a0a202020202f2a2a205573656420746f20636865636b206f626a6563747320666f72206f776e2070726f706572746965732e202a2f0a20202020766172206861734f776e50726f7065727479203d206f626a65637450726f746f2e6861734f776e50726f70657274793b0a0a202020202f2a2a205573656420746f2067656e657261746520756e69717565204944732e202a2f0a20202020766172206964436f756e746572203d20303b0a0a202020202f2a2a205573656420746f20646574656374206d6574686f6473206d6173717565726164696e67206173206e61746976652e202a2f0a20202020766172206d61736b5372634b6579203d202866756e6374696f6e2829207b0a20202020202076617220756964203d202f5b5e2e5d2b242f2e6578656328636f72654a734461746120262620636f72654a73446174612e6b65797320262620636f72654a73446174612e6b6579732e49455f50524f544f207c7c202727293b0a20202020202072657475726e20756964203f20282753796d626f6c28737263295f312e27202b2075696429203a2027273b0a202020207d2829293b0a0a202020202f2a2a0a20202020202a205573656420746f207265736f6c7665207468650a20202020202a205b60746f537472696e67546167605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e70726f746f747970652e746f737472696e67290a20202020202a206f662076616c7565732e0a20202020202a2f0a20202020766172206e61746976654f626a656374546f537472696e67203d206f626a65637450726f746f2e746f537472696e673b0a0a202020202f2a2a205573656420746f20696e6665722074686520604f626a6563746020636f6e7374727563746f722e202a2f0a20202020766172206f626a65637443746f72537472696e67203d2066756e63546f537472696e672e63616c6c284f626a656374293b0a0a202020202f2a2a205573656420746f20726573746f726520746865206f726967696e616c20605f60207265666572656e636520696e20605f2e6e6f436f6e666c696374602e202a2f0a20202020766172206f6c6444617368203d20726f6f742e5f3b0a0a202020202f2a2a205573656420746f206465746563742069662061206d6574686f64206973206e61746976652e202a2f0a2020202076617220726549734e6174697665203d2052656745787028275e27202b0a20202020202066756e63546f537472696e672e63616c6c286861734f776e50726f7065727479292e7265706c616365287265526567457870436861722c20275c5c242627290a2020202020202e7265706c616365282f6861734f776e50726f70657274797c2866756e6374696f6e292e2a3f283f3d5c5c5c28297c20666f72202e2b3f283f3d5c5c5c5d292f672c202724312e2a3f2729202b202724270a20202020293b0a0a202020202f2a2a204275696c742d696e2076616c7565207265666572656e6365732e202a2f0a2020202076617220427566666572203d206d6f64756c654578706f727473203f20636f6e746578742e427566666572203a20756e646566696e65642c0a202020202020202053796d626f6c203d20636f6e746578742e53796d626f6c2c0a202020202020202055696e74384172726179203d20636f6e746578742e55696e743841727261792c0a2020202020202020616c6c6f63556e73616665203d20427566666572203f204275666665722e616c6c6f63556e73616665203a20756e646566696e65642c0a202020202020202067657450726f746f74797065203d206f766572417267284f626a6563742e67657450726f746f747970654f662c204f626a656374292c0a20202020202020206f626a656374437265617465203d204f626a6563742e6372656174652c0a202020202020202070726f70657274794973456e756d657261626c65203d206f626a65637450726f746f2e70726f70657274794973456e756d657261626c652c0a202020202020202073706c696365203d20617272617950726f746f2e73706c6963652c0a202020202020202073707265616461626c6553796d626f6c203d2053796d626f6c203f2053796d626f6c2e6973436f6e63617453707265616461626c65203a20756e646566696e65642c0a202020202020202073796d4974657261746f72203d2053796d626f6c203f2053796d626f6c2e6974657261746f72203a20756e646566696e65642c0a202020202020202073796d546f537472696e67546167203d2053796d626f6c203f2053796d626f6c2e746f537472696e67546167203a20756e646566696e65643b0a0a2020202076617220646566696e6550726f7065727479203d202866756e6374696f6e2829207b0a202020202020747279207b0a20202020202020207661722066756e63203d206765744e6174697665284f626a6563742c2027646566696e6550726f706572747927293b0a202020202020202066756e63287b7d2c2027272c207b7d293b0a202020202020202072657475726e2066756e633b0a2020202020207d20636174636820286529207b7d0a202020207d2829293b0a0a202020202f2a2a204d6f636b6564206275696c742d696e732e202a2f0a2020202076617220637478436c65617254696d656f7574203d20636f6e746578742e636c65617254696d656f757420213d3d20726f6f742e636c65617254696d656f757420262620636f6e746578742e636c65617254696d656f75742c0a20202020202020206374784e6f77203d204461746520262620446174652e6e6f7720213d3d20726f6f742e446174652e6e6f7720262620446174652e6e6f772c0a202020202020202063747853657454696d656f7574203d20636f6e746578742e73657454696d656f757420213d3d20726f6f742e73657454696d656f757420262620636f6e746578742e73657454696d656f75743b0a0a202020202f2a204275696c742d696e206d6574686f64207265666572656e63657320666f722074686f73652077697468207468652073616d65206e616d65206173206f7468657220606c6f6461736860206d6574686f64732e202a2f0a20202020766172206e61746976654365696c203d204d6174682e6365696c2c0a20202020202020206e6174697665466c6f6f72203d204d6174682e666c6f6f722c0a20202020202020206e617469766547657453796d626f6c73203d204f626a6563742e6765744f776e50726f706572747953796d626f6c732c0a20202020202020206e61746976654973427566666572203d20427566666572203f204275666665722e6973427566666572203a20756e646566696e65642c0a20202020202020206e6174697665497346696e697465203d20636f6e746578742e697346696e6974652c0a20202020202020206e61746976654a6f696e203d20617272617950726f746f2e6a6f696e2c0a20202020202020206e61746976654b657973203d206f766572417267284f626a6563742e6b6579732c204f626a656374292c0a20202020202020206e61746976654d6178203d204d6174682e6d61782c0a20202020202020206e61746976654d696e203d204d6174682e6d696e2c0a20202020202020206e61746976654e6f77203d20446174652e6e6f772c0a20202020202020206e61746976655061727365496e74203d20636f6e746578742e7061727365496e742c0a20202020202020206e617469766552616e646f6d203d204d6174682e72616e646f6d2c0a20202020202020206e617469766552657665727365203d20617272617950726f746f2e726576657273653b0a0a202020202f2a204275696c742d696e206d6574686f64207265666572656e63657320746861742061726520766572696669656420746f206265206e61746976652e202a2f0a20202020766172204461746156696577203d206765744e617469766528636f6e746578742c2027446174615669657727292c0a20202020202020204d6170203d206765744e617469766528636f6e746578742c20274d617027292c0a202020202020202050726f6d697365203d206765744e617469766528636f6e746578742c202750726f6d69736527292c0a2020202020202020536574203d206765744e617469766528636f6e746578742c202753657427292c0a20202020202020205765616b4d6170203d206765744e617469766528636f6e746578742c20275765616b4d617027292c0a20202020202020206e6174697665437265617465203d206765744e6174697665284f626a6563742c202763726561746527293b0a0a202020202f2a2a205573656420746f2073746f72652066756e6374696f6e206d657461646174612e202a2f0a20202020766172206d6574614d6170203d205765616b4d6170202626206e6577205765616b4d61703b0a0a202020202f2a2a205573656420746f206c6f6f6b757020756e6d696e69666965642066756e6374696f6e206e616d65732e202a2f0a20202020766172207265616c4e616d6573203d207b7d3b0a0a202020202f2a2a205573656420746f20646574656374206d6170732c20736574732c20616e64207765616b6d6170732e202a2f0a2020202076617220646174615669657743746f72537472696e67203d20746f536f75726365284461746156696577292c0a20202020202020206d617043746f72537472696e67203d20746f536f75726365284d6170292c0a202020202020202070726f6d69736543746f72537472696e67203d20746f536f757263652850726f6d697365292c0a202020202020202073657443746f72537472696e67203d20746f536f7572636528536574292c0a20202020202020207765616b4d617043746f72537472696e67203d20746f536f75726365285765616b4d6170293b0a0a202020202f2a2a205573656420746f20636f6e766572742073796d626f6c7320746f207072696d69746976657320616e6420737472696e67732e202a2f0a202020207661722073796d626f6c50726f746f203d2053796d626f6c203f2053796d626f6c2e70726f746f74797065203a20756e646566696e65642c0a202020202020202073796d626f6c56616c75654f66203d2073796d626f6c50726f746f203f2073796d626f6c50726f746f2e76616c75654f66203a20756e646566696e65642c0a202020202020202073796d626f6c546f537472696e67203d2073796d626f6c50726f746f203f2073796d626f6c50726f746f2e746f537472696e67203a20756e646566696e65643b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860206f626a656374207768696368207772617073206076616c75656020746f20656e61626c6520696d706c69636974206d6574686f640a20202020202a20636861696e2073657175656e6365732e204d6574686f64732074686174206f706572617465206f6e20616e642072657475726e206172726179732c20636f6c6c656374696f6e732c0a20202020202a20616e642066756e6374696f6e732063616e20626520636861696e656420746f6765746865722e204d6574686f6473207468617420726574726965766520612073696e676c652076616c75650a20202020202a206f72206d61792072657475726e2061207072696d69746976652076616c75652077696c6c206175746f6d61746963616c6c7920656e642074686520636861696e2073657175656e63650a20202020202a20616e642072657475726e2074686520756e777261707065642076616c75652e204f74686572776973652c207468652076616c7565206d75737420626520756e777261707065640a20202020202a207769746820605f2376616c7565602e0a20202020202a0a20202020202a204578706c6963697420636861696e2073657175656e6365732c207768696368206d75737420626520756e77726170706564207769746820605f2376616c7565602c206d61792062650a20202020202a20656e61626c6564207573696e6720605f2e636861696e602e0a20202020202a0a20202020202a2054686520657865637574696f6e206f6620636861696e6564206d6574686f6473206973206c617a792c20746861742069732c206974277320646566657272656420756e74696c0a20202020202a20605f2376616c75656020697320696d706c696369746c79206f72206578706c696369746c792063616c6c65642e0a20202020202a0a20202020202a204c617a79206576616c756174696f6e20616c6c6f7773207365766572616c206d6574686f647320746f20737570706f72742073686f727463757420667573696f6e2e0a20202020202a2053686f727463757420667573696f6e20697320616e206f7074696d697a6174696f6e20746f206d657267652069746572617465652063616c6c733b20746869732061766f6964730a20202020202a20746865206372656174696f6e206f6620696e7465726d6564696174652061727261797320616e642063616e2067726561746c792072656475636520746865206e756d626572206f660a20202020202a20697465726174656520657865637574696f6e732e2053656374696f6e73206f66206120636861696e2073657175656e6365207175616c69667920666f722073686f72746375740a20202020202a20667573696f6e206966207468652073656374696f6e206973206170706c69656420746f20616e20617272617920616e642069746572617465657320616363657074206f6e6c790a20202020202a206f6e6520617267756d656e742e205468652068657572697374696320666f72207768657468657220612073656374696f6e207175616c696669657320666f722073686f72746375740a20202020202a20667573696f6e206973207375626a65637420746f206368616e67652e0a20202020202a0a20202020202a20436861696e696e6720697320737570706f7274656420696e20637573746f6d206275696c6473206173206c6f6e672061732074686520605f2376616c756560206d6574686f642069730a20202020202a206469726563746c79206f7220696e6469726563746c7920696e636c7564656420696e20746865206275696c642e0a20202020202a0a20202020202a20496e206164646974696f6e20746f206c6f64617368206d6574686f64732c2077726170706572732068617665206041727261796020616e642060537472696e6760206d6574686f64732e0a20202020202a0a20202020202a2054686520777261707065722060417272617960206d6574686f6473206172653a0a20202020202a2060636f6e636174602c20606a6f696e602c2060706f70602c206070757368602c20607368696674602c2060736f7274602c206073706c696365602c20616e642060756e7368696674600a20202020202a0a20202020202a2054686520777261707065722060537472696e6760206d6574686f6473206172653a0a20202020202a20607265706c6163656020616e64206073706c6974600a20202020202a0a20202020202a205468652077726170706572206d6574686f6473207468617420737570706f72742073686f727463757420667573696f6e206172653a0a20202020202a20606174602c2060636f6d70616374602c206064726f70602c206064726f705269676874602c206064726f705768696c65602c206066696c746572602c206066696e64602c0a20202020202a206066696e644c617374602c206068656164602c2060696e697469616c602c20606c617374602c20606d6170602c206072656a656374602c206072657665727365602c2060736c696365602c0a20202020202a20607461696c602c206074616b65602c206074616b655269676874602c206074616b6552696768745768696c65602c206074616b655768696c65602c20616e642060746f4172726179600a20202020202a0a20202020202a2054686520636861696e61626c652077726170706572206d6574686f6473206172653a0a20202020202a20606166746572602c2060617279602c206061737369676e602c206061737369676e496e602c206061737369676e496e57697468602c206061737369676e57697468602c20606174602c0a20202020202a20606265666f7265602c206062696e64602c206062696e64416c6c602c206062696e644b6579602c2060636173744172726179602c2060636861696e602c20606368756e6b602c0a20202020202a2060636f6d6d6974602c2060636f6d70616374602c2060636f6e636174602c2060636f6e666f726d73602c2060636f6e7374616e74602c2060636f756e744279602c2060637265617465602c0a20202020202a20606375727279602c20606465626f756e6365602c206064656661756c7473602c206064656661756c747344656570602c20606465666572602c206064656c6179602c0a20202020202a2060646966666572656e6365602c2060646966666572656e63654279602c2060646966666572656e636557697468602c206064726f70602c206064726f705269676874602c0a20202020202a206064726f7052696768745768696c65602c206064726f705768696c65602c2060657874656e64602c2060657874656e6457697468602c206066696c6c602c206066696c746572602c0a20202020202a2060666c61744d6170602c2060666c61744d617044656570602c2060666c61744d61704465707468602c2060666c617474656e602c2060666c617474656e44656570602c0a20202020202a2060666c617474656e4465707468602c2060666c6970602c2060666c6f77602c2060666c6f775269676874602c206066726f6d5061697273602c206066756e6374696f6e73602c0a20202020202a206066756e6374696f6e73496e602c206067726f75704279602c2060696e697469616c602c2060696e74657273656374696f6e602c2060696e74657273656374696f6e4279602c0a20202020202a2060696e74657273656374696f6e57697468602c2060696e76657274602c2060696e766572744279602c2060696e766f6b654d6170602c20606974657261746565602c20606b65794279602c0a20202020202a20606b657973602c20606b657973496e602c20606d6170602c20606d61704b657973602c20606d617056616c756573602c20606d617463686573602c20606d61746368657350726f7065727479602c0a20202020202a20606d656d6f697a65602c20606d65726765602c20606d6572676557697468602c20606d6574686f64602c20606d6574686f644f66602c20606d6978696e602c20606e6567617465602c0a20202020202a20606e7468417267602c20606f6d6974602c20606f6d69744279602c20606f6e6365602c20606f726465724279602c20606f766572602c20606f76657241726773602c0a20202020202a20606f7665724576657279602c20606f766572536f6d65602c20607061727469616c602c20607061727469616c5269676874602c2060706172746974696f6e602c20607069636b602c0a20202020202a20607069636b4279602c2060706c616e74602c206070726f7065727479602c206070726f70657274794f66602c206070756c6c602c206070756c6c416c6c602c206070756c6c416c6c4279602c0a20202020202a206070756c6c416c6c57697468602c206070756c6c4174602c206070757368602c206072616e6765602c206072616e67655269676874602c20607265617267602c206072656a656374602c0a20202020202a206072656d6f7665602c206072657374602c206072657665727365602c206073616d706c6553697a65602c2060736574602c206073657457697468602c206073687566666c65602c0a20202020202a2060736c696365602c2060736f7274602c2060736f72744279602c206073706c696365602c2060737072656164602c20607461696c602c206074616b65602c206074616b655269676874602c0a20202020202a206074616b6552696768745768696c65602c206074616b655768696c65602c2060746170602c20607468726f74746c65602c206074687275602c2060746f4172726179602c0a20202020202a2060746f5061697273602c2060746f5061697273496e602c2060746f50617468602c2060746f506c61696e4f626a656374602c20607472616e73666f726d602c2060756e617279602c0a20202020202a2060756e696f6e602c2060756e696f6e4279602c2060756e696f6e57697468602c2060756e6971602c2060756e69714279602c2060756e697157697468602c2060756e736574602c0a20202020202a2060756e7368696674602c2060756e7a6970602c2060756e7a697057697468602c2060757064617465602c206075706461746557697468602c206076616c756573602c0a20202020202a206076616c756573496e602c2060776974686f7574602c206077726170602c2060786f72602c2060786f724279602c2060786f7257697468602c20607a6970602c0a20202020202a20607a69704f626a656374602c20607a69704f626a65637444656570602c20616e6420607a697057697468600a20202020202a0a20202020202a205468652077726170706572206d6574686f6473207468617420617265202a2a6e6f742a2a20636861696e61626c652062792064656661756c74206172653a0a20202020202a2060616464602c2060617474656d7074602c206063616d656c43617365602c20606361706974616c697a65602c20606365696c602c2060636c616d70602c2060636c6f6e65602c0a20202020202a2060636c6f6e6544656570602c2060636c6f6e654465657057697468602c2060636c6f6e6557697468602c2060636f6e666f726d73546f602c2060646562757272602c0a20202020202a206064656661756c74546f602c2060646976696465602c206065616368602c2060656163685269676874602c2060656e647357697468602c20606571602c2060657363617065602c0a20202020202a2060657363617065526567457870602c20606576657279602c206066696e64602c206066696e64496e646578602c206066696e644b6579602c206066696e644c617374602c0a20202020202a206066696e644c617374496e646578602c206066696e644c6173744b6579602c20606669727374602c2060666c6f6f72602c2060666f7245616368602c2060666f72456163685269676874602c0a20202020202a2060666f72496e602c2060666f72496e5269676874602c2060666f724f776e602c2060666f724f776e5269676874602c2060676574602c20606774602c2060677465602c2060686173602c0a20202020202a2060686173496e602c206068656164602c20606964656e74697479602c2060696e636c75646573602c2060696e6465784f66602c2060696e52616e6765602c2060696e766f6b65602c0a20202020202a20606973417267756d656e7473602c206069734172726179602c206069734172726179427566666572602c2060697341727261794c696b65602c2060697341727261794c696b654f626a656374602c0a20202020202a20606973426f6f6c65616e602c20606973427566666572602c2060697344617465602c20606973456c656d656e74602c20606973456d707479602c20606973457175616c602c0a20202020202a20606973457175616c57697468602c206069734572726f72602c2060697346696e697465602c2060697346756e6374696f6e602c20606973496e7465676572602c206069734c656e677468602c0a20202020202a206069734d6170602c206069734d61746368602c206069734d6174636857697468602c206069734e614e602c206069734e6174697665602c206069734e696c602c206069734e756c6c602c0a20202020202a206069734e756d626572602c206069734f626a656374602c206069734f626a6563744c696b65602c20606973506c61696e4f626a656374602c20606973526567457870602c0a20202020202a2060697353616665496e7465676572602c20606973536574602c20606973537472696e67602c20606973556e646566696e6564602c2060697354797065644172726179602c0a20202020202a206069735765616b4d6170602c206069735765616b536574602c20606a6f696e602c20606b6562616243617365602c20606c617374602c20606c617374496e6465784f66602c0a20202020202a20606c6f77657243617365602c20606c6f7765724669727374602c20606c74602c20606c7465602c20606d6178602c20606d61784279602c20606d65616e602c20606d65616e4279602c0a20202020202a20606d696e602c20606d696e4279602c20606d756c7469706c79602c20606e6f436f6e666c696374602c20606e6f6f70602c20606e6f77602c20606e7468602c2060706164602c0a20202020202a2060706164456e64602c20607061645374617274602c20607061727365496e74602c2060706f70602c206072616e646f6d602c2060726564756365602c20607265647563655269676874602c0a20202020202a2060726570656174602c2060726573756c74602c2060726f756e64602c206072756e496e436f6e74657874602c206073616d706c65602c20607368696674602c206073697a65602c0a20202020202a2060736e616b6543617365602c2060736f6d65602c2060736f72746564496e646578602c2060736f72746564496e6465784279602c2060736f727465644c617374496e646578602c0a20202020202a2060736f727465644c617374496e6465784279602c2060737461727443617365602c206073746172747357697468602c2060737475624172726179602c20607374756246616c7365602c0a20202020202a2060737475624f626a656374602c206073747562537472696e67602c20607374756254727565602c20607375627472616374602c206073756d602c206073756d4279602c0a20202020202a206074656d706c617465602c206074696d6573602c2060746f46696e697465602c2060746f496e7465676572602c2060746f4a534f4e602c2060746f4c656e677468602c0a20202020202a2060746f4c6f776572602c2060746f4e756d626572602c2060746f53616665496e7465676572602c2060746f537472696e67602c2060746f5570706572602c20607472696d602c0a20202020202a20607472696d456e64602c20607472696d5374617274602c20607472756e63617465602c2060756e657363617065602c2060756e697175654964602c2060757070657243617365602c0a20202020202a206075707065724669727374602c206076616c7565602c20616e642060776f726473600a20202020202a0a20202020202a20406e616d65205f0a20202020202a2040636f6e7374727563746f720a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207772617020696e206120606c6f646173686020696e7374616e63652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20322c20335d293b0a20202020202a0a20202020202a202f2f2052657475726e7320616e20756e777261707065642076616c75652e0a20202020202a20777261707065642e726564756365285f2e616464293b0a20202020202a202f2f203d3e20360a20202020202a0a20202020202a202f2f2052657475726e73206120777261707065642076616c75652e0a20202020202a207661722073717561726573203d20777261707065642e6d617028737175617265293b0a20202020202a0a20202020202a205f2e697341727261792873717561726573293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973417272617928737175617265732e76616c75652829293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206c6f646173682876616c756529207b0a2020202020206966202869734f626a6563744c696b652876616c7565292026262021697341727261792876616c75652920262620212876616c756520696e7374616e63656f66204c617a79577261707065722929207b0a20202020202020206966202876616c756520696e7374616e63656f66204c6f646173685772617070657229207b0a2020202020202020202072657475726e2076616c75653b0a20202020202020207d0a2020202020202020696620286861734f776e50726f70657274792e63616c6c2876616c75652c20275f5f777261707065645f5f272929207b0a2020202020202020202072657475726e2077726170706572436c6f6e652876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e6577204c6f64617368577261707065722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6372656174656020776974686f757420737570706f727420666f722061737369676e696e670a20202020202a2070726f7065727469657320746f207468652063726561746564206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d2070726f746f20546865206f626a65637420746f20696e68657269742066726f6d2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a202020207661722062617365437265617465203d202866756e6374696f6e2829207b0a20202020202066756e6374696f6e206f626a6563742829207b7d0a20202020202072657475726e2066756e6374696f6e2870726f746f29207b0a2020202020202020696620282169734f626a6563742870726f746f2929207b0a2020202020202020202072657475726e207b7d3b0a20202020202020207d0a2020202020202020696620286f626a65637443726561746529207b0a2020202020202020202072657475726e206f626a6563744372656174652870726f746f293b0a20202020202020207d0a20202020202020206f626a6563742e70726f746f74797065203d2070726f746f3b0a202020202020202076617220726573756c74203d206e6577206f626a6563743b0a20202020202020206f626a6563742e70726f746f74797065203d20756e646566696e65643b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d2829293b0a0a202020202f2a2a0a20202020202a205468652066756e6374696f6e2077686f73652070726f746f7479706520636861696e2073657175656e636520777261707065727320696e68657269742066726f6d2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2f0a2020202066756e6374696f6e20626173654c6f646173682829207b0a2020202020202f2f204e6f206f7065726174696f6e20706572666f726d65642e0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520636f6e7374727563746f7220666f72206372656174696e6720606c6f64617368602077726170706572206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2040706172616d207b626f6f6c65616e7d205b636861696e416c6c5d20456e61626c65206578706c69636974206d6574686f6420636861696e2073657175656e6365732e0a20202020202a2f0a2020202066756e6374696f6e204c6f64617368577261707065722876616c75652c20636861696e416c6c29207b0a202020202020746869732e5f5f777261707065645f5f203d2076616c75653b0a202020202020746869732e5f5f616374696f6e735f5f203d205b5d3b0a202020202020746869732e5f5f636861696e5f5f203d202121636861696e416c6c3b0a202020202020746869732e5f5f696e6465785f5f203d20303b0a202020202020746869732e5f5f76616c7565735f5f203d20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2042792064656661756c742c207468652074656d706c6174652064656c696d69746572732075736564206279206c6f6461736820617265206c696b652074686f736520696e0a20202020202a20656d62656464656420527562792028455242292061732077656c6c206173204553323031352074656d706c61746520737472696e67732e204368616e6765207468650a20202020202a20666f6c6c6f77696e672074656d706c6174652073657474696e677320746f2075736520616c7465726e61746976652064656c696d69746572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204074797065207b4f626a6563747d0a20202020202a2f0a202020206c6f646173682e74656d706c61746553657474696e6773203d207b0a0a2020202020202f2a2a0a202020202020202a205573656420746f20646574656374206064617461602070726f70657274792076616c75657320746f2062652048544d4c2d657363617065642e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a20202020202027657363617065273a2072654573636170652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f2064657465637420636f646520746f206265206576616c75617465642e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a202020202020276576616c75617465273a2072654576616c756174652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f20646574656374206064617461602070726f70657274792076616c75657320746f20696e6a6563742e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b5265674578707d0a202020202020202a2f0a20202020202027696e746572706f6c617465273a207265496e746572706f6c6174652c0a0a2020202020202f2a2a0a202020202020202a205573656420746f207265666572656e6365207468652064617461206f626a65637420696e207468652074656d706c61746520746578742e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b737472696e677d0a202020202020202a2f0a202020202020277661726961626c65273a2027272c0a0a2020202020202f2a2a0a202020202020202a205573656420746f20696d706f7274207661726961626c657320696e746f2074686520636f6d70696c65642074656d706c6174652e0a202020202020202a0a202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67730a202020202020202a204074797065207b4f626a6563747d0a202020202020202a2f0a20202020202027696d706f727473273a207b0a0a20202020202020202f2a2a0a2020202020202020202a2041207265666572656e636520746f2074686520606c6f64617368602066756e6374696f6e2e0a2020202020202020202a0a2020202020202020202a20406d656d6265724f66205f2e74656d706c61746553657474696e67732e696d706f7274730a2020202020202020202a204074797065207b46756e6374696f6e7d0a2020202020202020202a2f0a2020202020202020275f273a206c6f646173680a2020202020207d0a202020207d3b0a0a202020202f2f20456e737572652077726170706572732061726520696e7374616e636573206f662060626173654c6f64617368602e0a202020206c6f646173682e70726f746f74797065203d20626173654c6f646173682e70726f746f747970653b0a202020206c6f646173682e70726f746f747970652e636f6e7374727563746f72203d206c6f646173683b0a0a202020204c6f64617368577261707065722e70726f746f74797065203d206261736543726561746528626173654c6f646173682e70726f746f74797065293b0a202020204c6f64617368577261707065722e70726f746f747970652e636f6e7374727563746f72203d204c6f64617368577261707065723b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20437265617465732061206c617a792077726170706572206f626a656374207768696368207772617073206076616c75656020746f20656e61626c65206c617a79206576616c756174696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2f0a2020202066756e6374696f6e204c617a79577261707065722876616c756529207b0a202020202020746869732e5f5f777261707065645f5f203d2076616c75653b0a202020202020746869732e5f5f616374696f6e735f5f203d205b5d3b0a202020202020746869732e5f5f6469725f5f203d20313b0a202020202020746869732e5f5f66696c74657265645f5f203d2066616c73653b0a202020202020746869732e5f5f6974657261746565735f5f203d205b5d3b0a202020202020746869732e5f5f74616b65436f756e745f5f203d204d41585f41525241595f4c454e4754483b0a202020202020746869732e5f5f76696577735f5f203d205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620746865206c617a792077726170706572206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6f6e650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e656420604c617a795772617070657260206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206c617a79436c6f6e652829207b0a20202020202076617220726573756c74203d206e6577204c617a795772617070657228746869732e5f5f777261707065645f5f293b0a202020202020726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928746869732e5f5f616374696f6e735f5f293b0a202020202020726573756c742e5f5f6469725f5f203d20746869732e5f5f6469725f5f3b0a202020202020726573756c742e5f5f66696c74657265645f5f203d20746869732e5f5f66696c74657265645f5f3b0a202020202020726573756c742e5f5f6974657261746565735f5f203d20636f7079417272617928746869732e5f5f6974657261746565735f5f293b0a202020202020726573756c742e5f5f74616b65436f756e745f5f203d20746869732e5f5f74616b65436f756e745f5f3b0a202020202020726573756c742e5f5f76696577735f5f203d20636f7079417272617928746869732e5f5f76696577735f5f293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2052657665727365732074686520646972656374696f6e206f66206c617a7920697465726174696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520726576657273650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720726576657273656420604c617a795772617070657260206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206c617a79526576657273652829207b0a20202020202069662028746869732e5f5f66696c74657265645f5f29207b0a202020202020202076617220726573756c74203d206e6577204c617a79577261707065722874686973293b0a2020202020202020726573756c742e5f5f6469725f5f203d202d313b0a2020202020202020726573756c742e5f5f66696c74657265645f5f203d20747275653b0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d20746869732e636c6f6e6528293b0a2020202020202020726573756c742e5f5f6469725f5f202a3d202d313b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2045787472616374732074686520756e777261707065642076616c75652066726f6d20697473206c617a7920777261707065722e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652076616c75650a20202020202a20406d656d6265724f66204c617a79577261707065720a20202020202a204072657475726e73207b2a7d2052657475726e732074686520756e777261707065642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206c617a7956616c75652829207b0a202020202020766172206172726179203d20746869732e5f5f777261707065645f5f2e76616c756528292c0a20202020202020202020646972203d20746869732e5f5f6469725f5f2c0a202020202020202020206973417272203d2069734172726179286172726179292c0a2020202020202020202069735269676874203d20646972203c20302c0a202020202020202020206172724c656e677468203d206973417272203f2061727261792e6c656e677468203a20302c0a2020202020202020202076696577203d206765745669657728302c206172724c656e6774682c20746869732e5f5f76696577735f5f292c0a202020202020202020207374617274203d20766965772e73746172742c0a20202020202020202020656e64203d20766965772e656e642c0a202020202020202020206c656e677468203d20656e64202d2073746172742c0a20202020202020202020696e646578203d2069735269676874203f20656e64203a20287374617274202d2031292c0a20202020202020202020697465726174656573203d20746869732e5f5f6974657261746565735f5f2c0a20202020202020202020697465724c656e677468203d206974657261746565732e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a2020202020202020202074616b65436f756e74203d206e61746976654d696e286c656e6774682c20746869732e5f5f74616b65436f756e745f5f293b0a0a20202020202069662028216973417272207c7c20282169735269676874202626206172724c656e677468203d3d206c656e6774682026262074616b65436f756e74203d3d206c656e6774682929207b0a202020202020202072657475726e20626173655772617070657256616c75652861727261792c20746869732e5f5f616374696f6e735f5f293b0a2020202020207d0a20202020202076617220726573756c74203d205b5d3b0a0a2020202020206f757465723a0a2020202020207768696c6520286c656e6774682d2d20262620726573496e646578203c2074616b65436f756e7429207b0a2020202020202020696e646578202b3d206469723b0a0a20202020202020207661722069746572496e646578203d202d312c0a20202020202020202020202076616c7565203d2061727261795b696e6465785d3b0a0a20202020202020207768696c6520282b2b69746572496e646578203c20697465724c656e67746829207b0a202020202020202020207661722064617461203d206974657261746565735b69746572496e6465785d2c0a20202020202020202020202020206974657261746565203d20646174612e69746572617465652c0a202020202020202020202020202074797065203d20646174612e747970652c0a2020202020202020202020202020636f6d7075746564203d2069746572617465652876616c7565293b0a0a202020202020202020206966202874797065203d3d204c415a595f4d41505f464c414729207b0a20202020202020202020202076616c7565203d20636f6d70757465643b0a202020202020202020207d20656c7365206966202821636f6d707574656429207b0a2020202020202020202020206966202874797065203d3d204c415a595f46494c5445525f464c414729207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020627265616b206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d0a2020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2f20456e7375726520604c617a79577261707065726020697320616e20696e7374616e6365206f662060626173654c6f64617368602e0a202020204c617a79577261707065722e70726f746f74797065203d206261736543726561746528626173654c6f646173682e70726f746f74797065293b0a202020204c617a79577261707065722e70726f746f747970652e636f6e7374727563746f72203d204c617a79577261707065723b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320612068617368206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204861736828656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d2074686520686173682e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f6620486173680a20202020202a2f0a2020202066756e6374696f6e2068617368436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d206e6174697665437265617465203f206e6174697665437265617465286e756c6c29203a207b7d3b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d2074686520686173682e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b4f626a6563747d206861736820546865206861736820746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206861736844656c657465286b657929207b0a20202020202076617220726573756c74203d20746869732e686173286b6579292026262064656c65746520746869732e5f5f646174615f5f5b6b65795d3b0a202020202020746869732e73697a65202d3d20726573756c74203f2031203a20303b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520686173682076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2068617368476574286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020696620286e617469766543726561746529207b0a202020202020202076617220726573756c74203d20646174615b6b65795d3b0a202020202020202072657475726e20726573756c74203d3d3d20484153485f554e444546494e4544203f20756e646566696e6564203a20726573756c743b0a2020202020207d0a20202020202072657475726e206861734f776e50726f70657274792e63616c6c28646174612c206b657929203f20646174615b6b65795d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206120686173682076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2068617368486173286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a20202020202072657475726e206e6174697665437265617465203f2028646174615b6b65795d20213d3d20756e646566696e656429203a206861734f776e50726f70657274792e63616c6c28646174612c206b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206861736820606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f6620486173680a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206861736820696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e2068617368536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020746869732e73697a65202b3d20746869732e686173286b657929203f2030203a20313b0a202020202020646174615b6b65795d203d20286e61746976654372656174652026262076616c7565203d3d3d20756e646566696e656429203f20484153485f554e444546494e4544203a2076616c75653b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f206048617368602e0a20202020486173682e70726f746f747970652e636c656172203d2068617368436c6561723b0a20202020486173682e70726f746f747970655b2764656c657465275d203d206861736844656c6574653b0a20202020486173682e70726f746f747970652e676574203d20686173684765743b0a20202020486173682e70726f746f747970652e686173203d20686173684861733b0a20202020486173682e70726f746f747970652e736574203d20686173685365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206c697374206361636865206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204c697374436163686528656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d20746865206c6973742063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d205b5d3b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d20746865206c6973742063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206c697374436163686544656c657465286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202069662028696e646578203c203029207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020766172206c617374496e646578203d20646174612e6c656e677468202d20313b0a20202020202069662028696e646578203d3d206c617374496e64657829207b0a2020202020202020646174612e706f7028293b0a2020202020207d20656c7365207b0a202020202020202073706c6963652e63616c6c28646174612c20696e6465782c2031293b0a2020202020207d0a2020202020202d2d746869732e73697a653b0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206c6973742063616368652076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865476574286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202072657475726e20696e646578203c2030203f20756e646566696e6564203a20646174615b696e6465785d5b315d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662061206c6973742063616368652076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865486173286b657929207b0a20202020202072657475726e206173736f63496e6465784f6628746869732e5f5f646174615f5f2c206b657929203e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206c69737420636163686520606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f66204c69737443616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206c69737420636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e206c6973744361636865536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020696e646578203d206173736f63496e6465784f6628646174612c206b6579293b0a0a20202020202069662028696e646578203c203029207b0a20202020202020202b2b746869732e73697a653b0a2020202020202020646174612e70757368285b6b65792c2076616c75655d293b0a2020202020207d20656c7365207b0a2020202020202020646174615b696e6465785d5b315d203d2076616c75653b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20604c6973744361636865602e0a202020204c69737443616368652e70726f746f747970652e636c656172203d206c6973744361636865436c6561723b0a202020204c69737443616368652e70726f746f747970655b2764656c657465275d203d206c697374436163686544656c6574653b0a202020204c69737443616368652e70726f746f747970652e676574203d206c69737443616368654765743b0a202020204c69737443616368652e70726f746f747970652e686173203d206c69737443616368654861733b0a202020204c69737443616368652e70726f746f747970652e736574203d206c69737443616368655365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20437265617465732061206d6170206361636865206f626a65637420746f2073746f7265206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e204d6170436163686528656e747269657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20656e7472696573203d3d206e756c6c203f2030203a20656e74726965732e6c656e6774683b0a0a202020202020746869732e636c65617228293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220656e747279203d20656e74726965735b696e6465785d3b0a2020202020202020746869732e73657428656e7472795b305d2c20656e7472795b315d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d20746865206d61702e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2f0a2020202066756e6374696f6e206d61704361636865436c6561722829207b0a202020202020746869732e73697a65203d20303b0a202020202020746869732e5f5f646174615f5f203d207b0a20202020202020202768617368273a206e657720486173682c0a2020202020202020276d6170273a206e657720284d6170207c7c204c6973744361636865292c0a202020202020202027737472696e67273a206e657720486173680a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d20746865206d61702e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206d6170436163686544656c657465286b657929207b0a20202020202076617220726573756c74203d206765744d61704461746128746869732c206b6579295b2764656c657465275d286b6579293b0a202020202020746869732e73697a65202d3d20726573756c74203f2031203a20303b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206d61702076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865476574286b657929207b0a20202020202072657475726e206765744d61704461746128746869732c206b6579292e676574286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662061206d61702076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865486173286b657929207b0a20202020202072657475726e206765744d61704461746128746869732c206b6579292e686173286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a205365747320746865206d617020606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f66204d617043616368650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206d617020636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e206d61704361636865536574286b65792c2076616c756529207b0a2020202020207661722064617461203d206765744d61704461746128746869732c206b6579292c0a2020202020202020202073697a65203d20646174612e73697a653b0a0a202020202020646174612e736574286b65792c2076616c7565293b0a202020202020746869732e73697a65202b3d20646174612e73697a65203d3d2073697a65203f2030203a20313b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20604d61704361636865602e0a202020204d617043616368652e70726f746f747970652e636c656172203d206d61704361636865436c6561723b0a202020204d617043616368652e70726f746f747970655b2764656c657465275d203d206d6170436163686544656c6574653b0a202020204d617043616368652e70726f746f747970652e676574203d206d617043616368654765743b0a202020204d617043616368652e70726f746f747970652e686173203d206d617043616368654861733b0a202020204d617043616368652e70726f746f747970652e736574203d206d617043616368655365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a0a20202020202a204372656174657320616e206172726179206361636865206f626a65637420746f2073746f726520756e697175652076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b76616c7565735d205468652076616c75657320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e2053657443616368652876616c75657329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2076616c756573203d3d206e756c6c203f2030203a2076616c7565732e6c656e6774683b0a0a202020202020746869732e5f5f646174615f5f203d206e6577204d617043616368653b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020746869732e6164642876616c7565735b696e6465785d293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2041646473206076616c75656020746f207468652061727261792063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206164640a20202020202a20406d656d6265724f662053657443616368650a20202020202a2040616c69617320707573680a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2063616368652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e2073657443616368654164642876616c756529207b0a202020202020746869732e5f5f646174615f5f2e7365742876616c75652c20484153485f554e444546494e4544293b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320696e207468652061727261792063616368652e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f662053657443616368650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320607472756560206966206076616c75656020697320666f756e642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2073657443616368654861732876616c756529207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e6861732876616c7565293b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f20605365744361636865602e0a2020202053657443616368652e70726f746f747970652e616464203d2053657443616368652e70726f746f747970652e70757368203d2073657443616368654164643b0a2020202053657443616368652e70726f746f747970652e686173203d2073657443616368654861733b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120737461636b206361636865206f626a65637420746f2073746f7265206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040636f6e7374727563746f720a20202020202a2040706172616d207b41727261797d205b656e74726965735d20546865206b65792d76616c756520706169727320746f2063616368652e0a20202020202a2f0a2020202066756e6374696f6e20537461636b28656e747269657329207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f203d206e6577204c697374436163686528656e7472696573293b0a202020202020746869732e73697a65203d20646174612e73697a653b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c206b65792d76616c756520656e74726965732066726f6d2074686520737461636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d6520636c6561720a20202020202a20406d656d6265724f6620537461636b0a20202020202a2f0a2020202066756e6374696f6e20737461636b436c6561722829207b0a202020202020746869732e5f5f646174615f5f203d206e6577204c69737443616368653b0a202020202020746869732e73697a65203d20303b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320606b65796020616e64206974732076616c75652066726f6d2074686520737461636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d652064656c6574650a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f2072656d6f76652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520656e747279207761732072656d6f7665642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20737461636b44656c657465286b657929207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f2c0a20202020202020202020726573756c74203d20646174615b2764656c657465275d286b6579293b0a0a202020202020746869732e73697a65203d20646174612e73697a653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520737461636b2076616c756520666f7220606b6579602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206765740a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520656e7472792076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20737461636b476574286b657929207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e676574286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206120737461636b2076616c756520666f7220606b657960206578697374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65206861730a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f662074686520656e74727920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e20656e74727920666f7220606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20737461636b486173286b657929207b0a20202020202072657475726e20746869732e5f5f646174615f5f2e686173286b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20536574732074686520737461636b20606b65796020746f206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a20406e616d65207365740a20202020202a20406d656d6265724f6620537461636b0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520737461636b20636163686520696e7374616e63652e0a20202020202a2f0a2020202066756e6374696f6e20737461636b536574286b65792c2076616c756529207b0a2020202020207661722064617461203d20746869732e5f5f646174615f5f3b0a202020202020696620286461746120696e7374616e63656f66204c697374436163686529207b0a2020202020202020766172207061697273203d20646174612e5f5f646174615f5f3b0a202020202020202069662028214d6170207c7c202870616972732e6c656e677468203c204c415247455f41525241595f53495a45202d20312929207b0a2020202020202020202070616972732e70757368285b6b65792c2076616c75655d293b0a20202020202020202020746869732e73697a65203d202b2b646174612e73697a653b0a2020202020202020202072657475726e20746869733b0a20202020202020207d0a202020202020202064617461203d20746869732e5f5f646174615f5f203d206e6577204d61704361636865287061697273293b0a2020202020207d0a202020202020646174612e736574286b65792c2076616c7565293b0a202020202020746869732e73697a65203d20646174612e73697a653b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2f20416464206d6574686f647320746f2060537461636b602e0a20202020537461636b2e70726f746f747970652e636c656172203d20737461636b436c6561723b0a20202020537461636b2e70726f746f747970655b2764656c657465275d203d20737461636b44656c6574653b0a20202020537461636b2e70726f746f747970652e676574203d20737461636b4765743b0a20202020537461636b2e70726f746f747970652e686173203d20737461636b4861733b0a20202020537461636b2e70726f746f747970652e736574203d20737461636b5365743b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662074686520656e756d657261626c652070726f7065727479206e616d6573206f66207468652061727261792d6c696b65206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a2040706172616d207b626f6f6c65616e7d20696e6865726974656420537065636966792072657475726e696e6720696e686572697465642070726f7065727479206e616d65732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e2061727261794c696b654b6579732876616c75652c20696e6865726974656429207b0a202020202020766172206973417272203d20697341727261792876616c7565292c0a202020202020202020206973417267203d20216973417272202626206973417267756d656e74732876616c7565292c0a20202020202020202020697342756666203d20216973417272202626202169734172672026262069734275666665722876616c7565292c0a20202020202020202020697354797065203d20216973417272202626202169734172672026262021697342756666202626206973547970656441727261792876616c7565292c0a20202020202020202020736b6970496e6465786573203d206973417272207c7c206973417267207c7c20697342756666207c7c206973547970652c0a20202020202020202020726573756c74203d20736b6970496e6465786573203f206261736554696d65732876616c75652e6c656e6774682c20537472696e6729203a205b5d2c0a202020202020202020206c656e677468203d20726573756c742e6c656e6774683b0a0a202020202020666f722028766172206b657920696e2076616c756529207b0a20202020202020206966202828696e68657269746564207c7c206861734f776e50726f70657274792e63616c6c2876616c75652c206b657929292026260a2020202020202020202020202128736b6970496e646578657320262620280a2020202020202020202020202020202f2f2053616661726920392068617320656e756d657261626c652060617267756d656e74732e6c656e6774686020696e20737472696374206d6f64652e0a2020202020202020202020202020206b6579203d3d20276c656e67746827207c7c0a2020202020202020202020202020202f2f204e6f64652e6a7320302e31302068617320656e756d657261626c65206e6f6e2d696e6465782070726f70657274696573206f6e20627566666572732e0a2020202020202020202020202020202869734275666620262620286b6579203d3d20276f666673657427207c7c206b6579203d3d2027706172656e74272929207c7c0a2020202020202020202020202020202f2f205068616e746f6d4a5320322068617320656e756d657261626c65206e6f6e2d696e6465782070726f70657274696573206f6e207479706564206172726179732e0a2020202020202020202020202020202869735479706520262620286b6579203d3d202762756666657227207c7c206b6579203d3d2027627974654c656e67746827207c7c206b6579203d3d2027627974654f6666736574272929207c7c0a2020202020202020202020202020202f2f20536b697020696e6465782070726f706572746965732e0a2020202020202020202020202020206973496e646578286b65792c206c656e677468290a202020202020202020202020292929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73616d706c656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a2f0a2020202066756e6374696f6e20617272617953616d706c6528617272617929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2061727261795b6261736552616e646f6d28302c206c656e677468202d2031295d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73616d706c6553697a656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20617272617953616d706c6553697a652861727261792c206e29207b0a20202020202072657475726e2073687566666c6553656c6628636f70794172726179286172726179292c2062617365436c616d70286e2c20302c2061727261792e6c656e67746829293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73687566666c656020666f72206172726179732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20617272617953687566666c6528617272617929207b0a20202020202072657475726e2073687566666c6553656c6628636f7079417272617928617272617929293b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b65206061737369676e56616c75656020657863657074207468617420697420646f65736e27742061737369676e0a20202020202a2060756e646566696e6564602076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e2061737369676e4d6572676556616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020696620282876616c756520213d3d20756e646566696e656420262620216571286f626a6563745b6b65795d2c2076616c75652929207c7c0a202020202020202020202876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a656374292929207b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c7565293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a2041737369676e73206076616c75656020746f20606b657960206f6620606f626a6563746020696620746865206578697374696e672076616c7565206973206e6f74206571756976616c656e740a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e2061737369676e56616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d3b0a2020202020206966202821286861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929202626206571286f626a56616c75652c2076616c75652929207c7c0a202020202020202020202876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a656374292929207b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c7565293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520696e6465782061742077686963682074686520606b65796020697320666f756e6420696e2060617272617960206f66206b65792d76616c75652070616972732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d206b657920546865206b657920746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a2f0a2020202066756e6374696f6e206173736f63496e6465784f662861727261792c206b657929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a2020202020207768696c6520286c656e6774682d2d29207b0a20202020202020206966202865712861727261795b6c656e6774685d5b305d2c206b65792929207b0a2020202020202020202072657475726e206c656e6774683b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a204167677265676174657320656c656d656e7473206f662060636f6c6c656374696f6e60206f6e2060616363756d756c61746f72602077697468206b657973207472616e73666f726d65640a20202020202a206279206069746572617465656020616e642076616c756573207365742062792060736574746572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c2061676772656761746564206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a20202020202a2f0a2020202066756e6374696f6e206261736541676772656761746f7228636f6c6c656374696f6e2c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a202020202020202073657474657228616363756d756c61746f722c2076616c75652c2069746572617465652876616c7565292c20636f6c6c656374696f6e293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61737369676e6020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365730a20202020202a206f722060637573746f6d697a6572602066756e6374696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a65637420262620636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61737369676e496e6020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365730a20202020202a206f722060637573746f6d697a6572602066756e6374696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e496e286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a65637420262620636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206061737369676e56616c75656020616e64206061737369676e4d6572676556616c75656020776974686f75740a20202020202a2076616c756520636865636b732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e206261736541737369676e56616c7565286f626a6563742c206b65792c2076616c756529207b0a202020202020696620286b6579203d3d20275f5f70726f746f5f5f2720262620646566696e6550726f706572747929207b0a2020202020202020646566696e6550726f7065727479286f626a6563742c206b65792c207b0a2020202020202020202027636f6e666967757261626c65273a20747275652c0a2020202020202020202027656e756d657261626c65273a20747275652c0a202020202020202020202776616c7565273a2076616c75652c0a20202020202020202020277772697461626c65273a20747275650a20202020202020207d293b0a2020202020207d20656c7365207b0a20202020202020206f626a6563745b6b65795d203d2076616c75653b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e61746020776974686f757420737570706f727420666f7220696e646976696475616c2070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865207069636b656420656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20626173654174286f626a6563742c20706174687329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070617468732e6c656e6774682c0a20202020202020202020726573756c74203d204172726179286c656e677468292c0a20202020202020202020736b6970203d206f626a656374203d3d206e756c6c3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020726573756c745b696e6465785d203d20736b6970203f20756e646566696e6564203a20676574286f626a6563742c2070617468735b696e6465785d293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636c616d706020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636c616d702e0a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765725d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636c616d706564206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e2062617365436c616d70286e756d6265722c206c6f7765722c20757070657229207b0a202020202020696620286e756d626572203d3d3d206e756d62657229207b0a202020202020202069662028757070657220213d3d20756e646566696e656429207b0a202020202020202020206e756d626572203d206e756d626572203c3d207570706572203f206e756d626572203a2075707065723b0a20202020202020207d0a2020202020202020696620286c6f77657220213d3d20756e646566696e656429207b0a202020202020202020206e756d626572203d206e756d626572203e3d206c6f776572203f206e756d626572203a206c6f7765723b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e756d6265723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636c6f6e656020616e6420605f2e636c6f6e65446565706020776869636820747261636b730a20202020202a20747261766572736564206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a202031202d204465657020636c6f6e650a20202020202a202032202d20466c617474656e20696e686572697465642070726f706572746965730a20202020202a202034202d20436c6f6e652073796d626f6c730a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a2040706172616d207b737472696e677d205b6b65795d20546865206b6579206f66206076616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d2054686520706172656e74206f626a656374206f66206076616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b7320747261766572736564206f626a6563747320616e6420746865697220636c6f6e6520636f756e74657270617274732e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2062617365436c6f6e652876616c75652c206269746d61736b2c20637573746f6d697a65722c206b65792c206f626a6563742c20737461636b29207b0a20202020202076617220726573756c742c0a20202020202020202020697344656570203d206269746d61736b202620434c4f4e455f444545505f464c41472c0a202020202020202020206973466c6174203d206269746d61736b202620434c4f4e455f464c41545f464c41472c0a20202020202020202020697346756c6c203d206269746d61736b202620434c4f4e455f53594d424f4c535f464c41473b0a0a20202020202069662028637573746f6d697a657229207b0a2020202020202020726573756c74203d206f626a656374203f20637573746f6d697a65722876616c75652c206b65792c206f626a6563742c20737461636b29203a20637573746f6d697a65722876616c7565293b0a2020202020207d0a20202020202069662028726573756c7420213d3d20756e646566696e656429207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a202020202020696620282169734f626a6563742876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a202020202020766172206973417272203d20697341727261792876616c7565293b0a20202020202069662028697341727229207b0a2020202020202020726573756c74203d20696e6974436c6f6e6541727261792876616c7565293b0a2020202020202020696620282169734465657029207b0a2020202020202020202072657475726e20636f707941727261792876616c75652c20726573756c74293b0a20202020202020207d0a2020202020207d20656c7365207b0a202020202020202076617220746167203d206765745461672876616c7565292c0a202020202020202020202020697346756e63203d20746167203d3d2066756e63546167207c7c20746167203d3d2067656e5461673b0a0a20202020202020206966202869734275666665722876616c75652929207b0a2020202020202020202072657475726e20636c6f6e654275666665722876616c75652c20697344656570293b0a20202020202020207d0a202020202020202069662028746167203d3d206f626a656374546167207c7c20746167203d3d2061726773546167207c7c2028697346756e6320262620216f626a6563742929207b0a20202020202020202020726573756c74203d20286973466c6174207c7c20697346756e6329203f207b7d203a20696e6974436c6f6e654f626a6563742876616c7565293b0a20202020202020202020696620282169734465657029207b0a20202020202020202020202072657475726e206973466c61740a20202020202020202020202020203f20636f707953796d626f6c73496e2876616c75652c206261736541737369676e496e28726573756c742c2076616c756529290a20202020202020202020202020203a20636f707953796d626f6c732876616c75652c206261736541737369676e28726573756c742c2076616c756529293b0a202020202020202020207d0a20202020202020207d20656c7365207b0a202020202020202020206966202821636c6f6e6561626c65546167735b7461675d29207b0a20202020202020202020202072657475726e206f626a656374203f2076616c7565203a207b7d3b0a202020202020202020207d0a20202020202020202020726573756c74203d20696e6974436c6f6e6542795461672876616c75652c207461672c2062617365436c6f6e652c20697344656570293b0a20202020202020207d0a2020202020207d0a2020202020202f2f20436865636b20666f722063697263756c6172207265666572656e63657320616e642072657475726e2069747320636f72726573706f6e64696e6720636c6f6e652e0a202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202076617220737461636b6564203d20737461636b2e6765742876616c7565293b0a20202020202069662028737461636b656429207b0a202020202020202072657475726e20737461636b65643b0a2020202020207d0a202020202020737461636b2e7365742876616c75652c20726573756c74293b0a0a202020202020766172206b65797346756e63203d20697346756c6c0a20202020202020203f20286973466c6174203f20676574416c6c4b657973496e203a20676574416c6c4b657973290a20202020202020203a20286973466c6174203f206b657973496e203a206b657973293b0a0a2020202020207661722070726f7073203d206973417272203f20756e646566696e6564203a206b65797346756e632876616c7565293b0a2020202020206172726179456163682870726f7073207c7c2076616c75652c2066756e6374696f6e2873756256616c75652c206b657929207b0a20202020202020206966202870726f707329207b0a202020202020202020206b6579203d2073756256616c75653b0a2020202020202020202073756256616c7565203d2076616c75655b6b65795d3b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920706f70756c61746520636c6f6e6520287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a202020202020202061737369676e56616c756528726573756c742c206b65792c2062617365436c6f6e652873756256616c75652c206269746d61736b2c20637573746f6d697a65722c206b65792c2076616c75652c20737461636b29293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636f6e666f726d736020776869636820646f65736e277420636c6f6e652060736f75726365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2062617365436f6e666f726d7328736f7572636529207b0a2020202020207661722070726f7073203d206b65797328736f75726365293b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c2070726f7073293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e636f6e666f726d73546f602077686963682061636365707473206070726f70736020746f20636865636b2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a6563746020636f6e666f726d732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c2070726f707329207b0a202020202020766172206c656e677468203d2070726f70732e6c656e6774683b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20216c656e6774683b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020766172206b6579203d2070726f70735b6c656e6774685d2c0a202020202020202020202020707265646963617465203d20736f757263655b6b65795d2c0a20202020202020202020202076616c7565203d206f626a6563745b6b65795d3b0a0a2020202020202020696620282876616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a6563742929207c7c20217072656469636174652876616c75652929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e64656c61796020616e6420605f2e6465666572602077686963682061636365707473206061726773600a20202020202a20746f2070726f7669646520746f206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f2070726f7669646520746f206066756e63602e0a20202020202a204072657475726e73207b6e756d6265727c4f626a6563747d2052657475726e73207468652074696d6572206964206f722074696d656f7574206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206261736544656c61792866756e632c20776169742c206172677329207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e2073657454696d656f75742866756e6374696f6e2829207b2066756e632e6170706c7928756e646566696e65642c2061726773293b207d2c2077616974293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e646966666572656e63656020776974686f757420737570706f72740a20202020202a20666f72206578636c7564696e67206d756c7469706c6520617272617973206f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365446966666572656e63652861727261792c2076616c7565732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e636c75646573203d206172726179496e636c756465732c0a202020202020202020206973436f6d6d6f6e203d20747275652c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d205b5d2c0a2020202020202020202076616c7565734c656e677468203d2076616c7565732e6c656e6774683b0a0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202069662028697465726174656529207b0a202020202020202076616c756573203d2061727261794d61702876616c7565732c2062617365556e61727928697465726174656529293b0a2020202020207d0a20202020202069662028636f6d70617261746f7229207b0a2020202020202020696e636c75646573203d206172726179496e636c75646573576974683b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020207d0a202020202020656c7365206966202876616c7565732e6c656e677468203e3d204c415247455f41525241595f53495a4529207b0a2020202020202020696e636c75646573203d2063616368654861733b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a202020202020202076616c756573203d206e65772053657443616368652876616c756573293b0a2020202020207d0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203d3d206e756c6c203f2076616c7565203a2069746572617465652876616c7565293b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a2020202020202020696620286973436f6d6d6f6e20262620636f6d7075746564203d3d3d20636f6d707574656429207b0a202020202020202020207661722076616c756573496e646578203d2076616c7565734c656e6774683b0a202020202020202020207768696c65202876616c756573496e6465782d2d29207b0a2020202020202020202020206966202876616c7565735b76616c756573496e6465785d203d3d3d20636f6d707574656429207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020202020656c7365206966202821696e636c756465732876616c7565732c20636f6d70757465642c20636f6d70617261746f722929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f72456163686020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2f0a20202020766172206261736545616368203d2063726561746542617365456163682862617365466f724f776e293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724561636852696768746020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2f0a202020207661722062617365456163685269676874203d2063726561746542617365456163682862617365466f724f776e52696768742c2074727565293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e65766572796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365600a20202020202a2f0a2020202066756e6374696f6e2062617365457665727928636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c74203d20747275653b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020726573756c74203d2021217072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020202020202072657475726e20726573756c743b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e6d61786020616e6420605f2e6d696e60207768696368206163636570747320610a20202020202a2060636f6d70617261746f726020746f2064657465726d696e65207468652065787472656d756d2076616c75652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d20636f6d70617261746f722054686520636f6d70617261746f72207573656420746f20636f6d706172652076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652065787472656d756d2076616c75652e0a20202020202a2f0a2020202066756e6374696f6e206261736545787472656d756d2861727261792c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a20202020202020202020202063757272656e74203d2069746572617465652876616c7565293b0a0a20202020202020206966202863757272656e7420213d206e756c6c2026262028636f6d7075746564203d3d3d20756e646566696e65640a20202020202020202020202020203f202863757272656e74203d3d3d2063757272656e742026262021697353796d626f6c2863757272656e7429290a20202020202020202020202020203a20636f6d70617261746f722863757272656e742c20636f6d7075746564290a2020202020202020202020202929207b0a2020202020202020202076617220636f6d7075746564203d2063757272656e742c0a2020202020202020202020202020726573756c74203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696c6c6020776974686f757420616e2069746572617465652063616c6c2067756172642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2066696c6c2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2066696c6c206061727261796020776974682e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736546696c6c2861727261792c2076616c75652c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a0a2020202020207374617274203d20746f496e7465676572287374617274293b0a202020202020696620287374617274203c203029207b0a20202020202020207374617274203d202d7374617274203e206c656e677468203f2030203a20286c656e677468202b207374617274293b0a2020202020207d0a202020202020656e64203d2028656e64203d3d3d20756e646566696e6564207c7c20656e64203e206c656e67746829203f206c656e677468203a20746f496e746567657228656e64293b0a20202020202069662028656e64203c203029207b0a2020202020202020656e64202b3d206c656e6774683b0a2020202020207d0a202020202020656e64203d207374617274203e20656e64203f2030203a20746f4c656e67746828656e64293b0a2020202020207768696c6520287374617274203c20656e6429207b0a202020202020202061727261795b73746172742b2b5d203d2076616c75653b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66696c7465726020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2f0a2020202066756e6374696f6e206261736546696c74657228636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c74203d205b5d3b0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020696620287072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e2929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666c617474656e60207769746820737570706f727420666f72207265737472696374696e6720666c617474656e696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a2040706172616d207b6e756d6265727d20646570746820546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a2040706172616d207b626f6f6c65616e7d205b7072656469636174653d6973466c617474656e61626c655d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b69735374726963745d20526573747269637420746f2076616c7565732074686174207061737320607072656469636174656020636865636b732e0a20202020202a2040706172616d207b41727261797d205b726573756c743d5b5d5d2054686520696e697469616c20726573756c742076616c75652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365466c617474656e2861727261792c2064657074682c207072656469636174652c2069735374726963742c20726573756c7429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020707265646963617465207c7c2028707265646963617465203d206973466c617474656e61626c65293b0a202020202020726573756c74207c7c2028726573756c74203d205b5d293b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020202020696620286465707468203e2030202626207072656469636174652876616c75652929207b0a20202020202020202020696620286465707468203e203129207b0a2020202020202020202020202f2f205265637572736976656c7920666c617474656e2061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a20202020202020202020202062617365466c617474656e2876616c75652c206465707468202d20312c207072656469636174652c2069735374726963742c20726573756c74293b0a202020202020202020207d20656c7365207b0a20202020202020202020202061727261795075736828726573756c742c2076616c7565293b0a202020202020202020207d0a20202020202020207d20656c7365206966202821697353747269637429207b0a20202020202020202020726573756c745b726573756c742e6c656e6774685d203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206062617365466f724f776e60207768696368206974657261746573206f76657220606f626a656374600a20202020202a2070726f706572746965732072657475726e656420627920606b65797346756e636020616e6420696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a202020207661722062617365466f72203d2063726561746542617365466f7228293b0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b65206062617365466f7260206578636570742074686174206974206974657261746573206f7665722070726f706572746965730a20202020202a20696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a202020207661722062617365466f725269676874203d2063726561746542617365466f722874727565293b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724f776e6020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365466f724f776e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f72286f626a6563742c2069746572617465652c206b657973293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e666f724f776e52696768746020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365466f724f776e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f725269676874286f626a6563742c2069746572617465652c206b657973293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e66756e6374696f6e7360207768696368206372656174657320616e206172726179206f660a20202020202a20606f626a656374602066756e6374696f6e2070726f7065727479206e616d65732066696c74657265642066726f6d206070726f7073602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206e616d657320746f2066696c7465722e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e206261736546756e6374696f6e73286f626a6563742c2070726f707329207b0a20202020202072657475726e20617272617946696c7465722870726f70732c2066756e6374696f6e286b657929207b0a202020202020202072657475726e20697346756e6374696f6e286f626a6563745b6b65795d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6765746020776974686f757420737570706f727420666f722064656661756c742076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e2062617365476574286f626a6563742c207061746829207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d20302c0a202020202020202020206c656e677468203d20706174682e6c656e6774683b0a0a2020202020207768696c6520286f626a65637420213d206e756c6c20262620696e646578203c206c656e67746829207b0a20202020202020206f626a656374203d206f626a6563745b746f4b657928706174685b696e6465782b2b5d295d3b0a2020202020207d0a20202020202072657475726e2028696e64657820262620696e646578203d3d206c656e67746829203f206f626a656374203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060676574416c6c4b6579736020616e642060676574416c6c4b657973496e6020776869636820757365730a20202020202a20606b65797346756e636020616e64206073796d626f6c7346756e636020746f206765742074686520656e756d657261626c652070726f7065727479206e616d657320616e640a20202020202a2073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f6620606f626a656374602e0a20202020202a2040706172616d207b46756e6374696f6e7d2073796d626f6c7346756e63205468652066756e6374696f6e20746f20676574207468652073796d626f6c73206f6620606f626a656374602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e2062617365476574416c6c4b657973286f626a6563742c206b65797346756e632c2073796d626f6c7346756e6329207b0a20202020202076617220726573756c74203d206b65797346756e63286f626a656374293b0a20202020202072657475726e2069734172726179286f626a65637429203f20726573756c74203a2061727261795075736828726573756c742c2073796d626f6c7346756e63286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620606765745461676020776974686f75742066616c6c6261636b7320666f7220627567677920656e7669726f6e6d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652060746f537472696e67546167602e0a20202020202a2f0a2020202066756e6374696f6e20626173654765745461672876616c756529207b0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e2076616c7565203d3d3d20756e646566696e6564203f20756e646566696e6564546167203a206e756c6c5461673b0a2020202020207d0a20202020202072657475726e202873796d546f537472696e675461672026262073796d546f537472696e6754616720696e204f626a6563742876616c756529290a20202020202020203f206765745261775461672876616c7565290a20202020202020203a206f626a656374546f537472696e672876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e67746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736547742876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203e206f746865723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6861736020776974686f757420737570706f727420666f7220646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d206b657920546865206b657920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365486173286f626a6563742c206b657929207b0a20202020202072657475726e206f626a65637420213d206e756c6c202626206861734f776e50726f70657274792e63616c6c286f626a6563742c206b6579293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e686173496e6020776974686f757420737570706f727420666f7220646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d206b657920546865206b657920746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606b657960206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365486173496e286f626a6563742c206b657929207b0a20202020202072657475726e206f626a65637420213d206e756c6c202626206b657920696e204f626a656374286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e52616e67656020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606e756d6265726020697320696e207468652072616e67652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e52616e6765286e756d6265722c2073746172742c20656e6429207b0a20202020202072657475726e206e756d626572203e3d206e61746976654d696e2873746172742c20656e6429202626206e756d626572203c206e61746976654d61782873746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e696e74657273656374696f6e602c20776974686f757420737570706f72740a20202020202a20666f722069746572617465652073686f727468616e64732c2074686174206163636570747320616e206172726179206f662061727261797320746f20696e73706563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20617272617973205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f66207368617265642076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e74657273656374696f6e286172726179732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e636c75646573203d20636f6d70617261746f72203f206172726179496e636c7564657357697468203a206172726179496e636c756465732c0a202020202020202020206c656e677468203d206172726179735b305d2e6c656e6774682c0a202020202020202020206f74684c656e677468203d206172726179732e6c656e6774682c0a202020202020202020206f7468496e646578203d206f74684c656e6774682c0a20202020202020202020636163686573203d204172726179286f74684c656e677468292c0a202020202020202020206d61784c656e677468203d20496e66696e6974792c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520286f7468496e6465782d2d29207b0a2020202020202020766172206172726179203d206172726179735b6f7468496e6465785d3b0a2020202020202020696620286f7468496e64657820262620697465726174656529207b0a202020202020202020206172726179203d2061727261794d61702861727261792c2062617365556e61727928697465726174656529293b0a20202020202020207d0a20202020202020206d61784c656e677468203d206e61746976654d696e2861727261792e6c656e6774682c206d61784c656e677468293b0a20202020202020206361636865735b6f7468496e6465785d203d2021636f6d70617261746f7220262620286974657261746565207c7c20286c656e677468203e3d203132302026262061727261792e6c656e677468203e3d2031323029290a202020202020202020203f206e6577205365744361636865286f7468496e646578202626206172726179290a202020202020202020203a20756e646566696e65643b0a2020202020207d0a2020202020206172726179203d206172726179735b305d3b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020207365656e203d206361636865735b305d3b0a0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746820262620726573756c742e6c656e677468203c206d61784c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a20202020202020206966202821287365656e0a20202020202020202020202020203f206361636865486173287365656e2c20636f6d7075746564290a20202020202020202020202020203a20696e636c7564657328726573756c742c20636f6d70757465642c20636f6d70617261746f72290a2020202020202020202020202929207b0a202020202020202020206f7468496e646578203d206f74684c656e6774683b0a202020202020202020207768696c6520282d2d6f7468496e64657829207b0a202020202020202020202020766172206361636865203d206361636865735b6f7468496e6465785d3b0a20202020202020202020202069662028212863616368650a2020202020202020202020202020202020203f2063616368654861732863616368652c20636f6d7075746564290a2020202020202020202020202020202020203a20696e636c75646573286172726179735b6f7468496e6465785d2c20636f6d70757465642c20636f6d70617261746f7229290a2020202020202020202020202020202029207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a20202020202020202020696620287365656e29207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e766572746020616e6420605f2e696e7665727442796020776869636820696e76657274730a20202020202a20606f626a6563746020776974682076616c756573207472616e73666f726d6564206279206069746572617465656020616e64207365742062792060736574746572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f207365742060616363756d756c61746f72602076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520746f207472616e73666f726d2076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20616363756d756c61746f722054686520696e697469616c20696e766572746564206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732060616363756d756c61746f72602e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e766572746572286f626a6563742c207365747465722c2069746572617465652c20616363756d756c61746f7229207b0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a202020202020202073657474657228616363756d756c61746f722c2069746572617465652876616c7565292c206b65792c206f626a656374293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e696e766f6b656020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a206d6574686f6420617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b41727261797d20617267732054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662074686520696e766f6b6564206d6574686f642e0a20202020202a2f0a2020202066756e6374696f6e2062617365496e766f6b65286f626a6563742c20706174682c206172677329207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020206f626a656374203d20706172656e74286f626a6563742c2070617468293b0a2020202020207661722066756e63203d206f626a656374203d3d206e756c6c203f206f626a656374203a206f626a6563745b746f4b6579286c617374287061746829295d3b0a20202020202072657475726e2066756e63203d3d206e756c6c203f20756e646566696e6564203a206170706c792866756e632c206f626a6563742c2061726773293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973417267756d656e7473602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2060617267756d656e747360206f626a6563742c0a20202020202a2f0a2020202066756e6374696f6e20626173654973417267756d656e74732876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20617267735461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e697341727261794275666665726020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206172726179206275666665722c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365497341727261794275666665722876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d2061727261794275666665725461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973446174656020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612064617465206f626a6563742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973446174652876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20646174655461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973457175616c6020776869636820737570706f727473207061727469616c20636f6d70617269736f6e730a20202020202a20616e6420747261636b7320747261766572736564206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b626f6f6c65616e7d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a202031202d20556e6f72646572656420636f6d70617269736f6e0a20202020202a202032202d205061727469616c20636f6d70617269736f6e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b7320747261766572736564206076616c75656020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973457175616c2876616c75652c206f746865722c206269746d61736b2c20637573746f6d697a65722c20737461636b29207b0a2020202020206966202876616c7565203d3d3d206f7468657229207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020206966202876616c7565203d3d206e756c6c207c7c206f74686572203d3d206e756c6c207c7c20282169734f626a6563744c696b652876616c756529202626202169734f626a6563744c696b65286f74686572292929207b0a202020202020202072657475726e2076616c756520213d3d2076616c7565202626206f7468657220213d3d206f746865723b0a2020202020207d0a20202020202072657475726e20626173654973457175616c446565702876616c75652c206f746865722c206269746d61736b2c20637573746f6d697a65722c20626173654973457175616c2c20737461636b293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c6020666f722061727261797320616e64206f626a6563747320776869636820706572666f726d730a20202020202a206465657020636f6d70617269736f6e7320616e6420747261636b7320747261766572736564206f626a6563747320656e61626c696e67206f626a6563747320776974682063697263756c61720a20202020202a207265666572656e63657320746f20626520636f6d70617265642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973457175616c44656570286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a202020202020766172206f626a4973417272203d2069734172726179286f626a656374292c0a202020202020202020206f74684973417272203d2069734172726179286f74686572292c0a202020202020202020206f626a546167203d206f626a4973417272203f206172726179546167203a20676574546167286f626a656374292c0a202020202020202020206f7468546167203d206f74684973417272203f206172726179546167203a20676574546167286f74686572293b0a0a2020202020206f626a546167203d206f626a546167203d3d2061726773546167203f206f626a656374546167203a206f626a5461673b0a2020202020206f7468546167203d206f7468546167203d3d2061726773546167203f206f626a656374546167203a206f74685461673b0a0a202020202020766172206f626a49734f626a203d206f626a546167203d3d206f626a6563745461672c0a202020202020202020206f746849734f626a203d206f7468546167203d3d206f626a6563745461672c0a20202020202020202020697353616d65546167203d206f626a546167203d3d206f74685461673b0a0a20202020202069662028697353616d65546167202626206973427566666572286f626a6563742929207b0a202020202020202069662028216973427566666572286f746865722929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a20202020202020206f626a4973417272203d20747275653b0a20202020202020206f626a49734f626a203d2066616c73653b0a2020202020207d0a20202020202069662028697353616d6554616720262620216f626a49734f626a29207b0a2020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a202020202020202072657475726e20286f626a4973417272207c7c20697354797065644172726179286f626a65637429290a202020202020202020203f20657175616c417272617973286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b290a202020202020202020203a20657175616c4279546167286f626a6563742c206f746865722c206f626a5461672c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a2020202020207d0a2020202020206966202821286269746d61736b202620434f4d504152455f5041525449414c5f464c41472929207b0a2020202020202020766172206f626a497357726170706564203d206f626a49734f626a202626206861734f776e50726f70657274792e63616c6c286f626a6563742c20275f5f777261707065645f5f27292c0a2020202020202020202020206f7468497357726170706564203d206f746849734f626a202626206861734f776e50726f70657274792e63616c6c286f746865722c20275f5f777261707065645f5f27293b0a0a2020202020202020696620286f626a497357726170706564207c7c206f746849735772617070656429207b0a20202020202020202020766172206f626a556e77726170706564203d206f626a497357726170706564203f206f626a6563742e76616c75652829203a206f626a6563742c0a20202020202020202020202020206f7468556e77726170706564203d206f7468497357726170706564203f206f746865722e76616c75652829203a206f746865723b0a0a20202020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a2020202020202020202072657475726e20657175616c46756e63286f626a556e777261707065642c206f7468556e777261707065642c206269746d61736b2c20637573746f6d697a65722c20737461636b293b0a20202020202020207d0a2020202020207d0a2020202020206966202821697353616d6554616729207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202072657475726e20657175616c4f626a65637473286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734d61706020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206d61702c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734d61702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d206d61705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734d617463686020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a2040706172616d207b41727261797d206d6174636844617461205468652070726f7065727479206e616d65732c2076616c7565732c20616e6420636f6d7061726520666c61677320746f206d617463682e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734d61746368286f626a6563742c20736f757263652c206d61746368446174612c20637573746f6d697a657229207b0a20202020202076617220696e646578203d206d61746368446174612e6c656e6774682c0a202020202020202020206c656e677468203d20696e6465782c0a202020202020202020206e6f437573746f6d697a6572203d2021637573746f6d697a65723b0a0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20216c656e6774683b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a2020202020207768696c652028696e6465782d2d29207b0a20202020202020207661722064617461203d206d61746368446174615b696e6465785d3b0a202020202020202069662028286e6f437573746f6d697a657220262620646174615b325d290a20202020202020202020202020203f20646174615b315d20213d3d206f626a6563745b646174615b305d5d0a20202020202020202020202020203a202128646174615b305d20696e206f626a656374290a20202020202020202020202029207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202064617461203d206d61746368446174615b696e6465785d3b0a2020202020202020766172206b6579203d20646174615b305d2c0a2020202020202020202020206f626a56616c7565203d206f626a6563745b6b65795d2c0a20202020202020202020202073726356616c7565203d20646174615b315d3b0a0a2020202020202020696620286e6f437573746f6d697a657220262620646174615b325d29207b0a20202020202020202020696620286f626a56616c7565203d3d3d20756e646566696e65642026262021286b657920696e206f626a6563742929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a20202020202020207d20656c7365207b0a2020202020202020202076617220737461636b203d206e657720537461636b3b0a2020202020202020202069662028637573746f6d697a657229207b0a20202020202020202020202076617220726573756c74203d20637573746f6d697a6572286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b293b0a202020202020202020207d0a20202020202020202020696620282128726573756c74203d3d3d20756e646566696e65640a202020202020202020202020202020203f20626173654973457175616c2873726356616c75652c206f626a56616c75652c20434f4d504152455f5041525449414c5f464c4147207c20434f4d504152455f554e4f5244455245445f464c41472c20637573746f6d697a65722c20737461636b290a202020202020202020202020202020203a20726573756c740a20202020202020202020202020202929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69734e61746976656020776974686f757420626164207368696d20636865636b732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e61746976652066756e6374696f6e2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549734e61746976652876616c756529207b0a202020202020696620282169734f626a6563742876616c756529207c7c2069734d61736b65642876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a202020202020766172207061747465726e203d20697346756e6374696f6e2876616c756529203f20726549734e6174697665203a2072654973486f737443746f723b0a20202020202072657475726e207061747465726e2e7465737428746f536f757263652876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69735265674578706020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207265676578702c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549735265674578702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d207265676578705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e69735365746020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207365742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206261736549735365742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d207365745461673b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6973547970656441727261796020776974686f7574204e6f64652e6a73206f7074696d697a6174696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612074797065642061727261792c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654973547970656441727261792876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c7565292026260a202020202020202069734c656e6774682876616c75652e6c656e6774682920262620212174797065644172726179546167735b626173654765745461672876616c7565295d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6974657261746565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d205b76616c75653d5f2e6964656e746974795d205468652076616c756520746f20636f6e7665727420746f20616e2069746572617465652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652069746572617465652e0a20202020202a2f0a2020202066756e6374696f6e206261736549746572617465652876616c756529207b0a2020202020202f2f20446f6e27742073746f7265207468652060747970656f666020726573756c7420696e2061207661726961626c6520746f2061766f69642061204a49542062756720696e2053616661726920392e0a2020202020202f2f205365652068747470733a2f2f627567732e7765626b69742e6f72672f73686f775f6275672e6367693f69643d31353630333420666f72206d6f72652064657461696c732e0a20202020202069662028747970656f662076616c7565203d3d202766756e6374696f6e2729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e206964656e746974793b0a2020202020207d0a20202020202069662028747970656f662076616c7565203d3d20276f626a6563742729207b0a202020202020202072657475726e20697341727261792876616c7565290a202020202020202020203f20626173654d61746368657350726f70657274792876616c75655b305d2c2076616c75655b315d290a202020202020202020203a20626173654d6174636865732876616c7565293b0a2020202020207d0a20202020202072657475726e2070726f70657274792876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6b6579736020776869636820646f65736e277420747265617420737061727365206172726179732061732064656e73652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e20626173654b657973286f626a65637429207b0a2020202020206966202821697350726f746f74797065286f626a6563742929207b0a202020202020202072657475726e206e61746976654b657973286f626a656374293b0a2020202020207d0a20202020202076617220726573756c74203d205b5d3b0a202020202020666f722028766172206b657920696e204f626a656374286f626a6563742929207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929202626206b657920213d2027636f6e7374727563746f722729207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6b657973496e6020776869636820646f65736e277420747265617420737061727365206172726179732061732064656e73652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e20626173654b657973496e286f626a65637429207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e206e61746976654b657973496e286f626a656374293b0a2020202020207d0a20202020202076617220697350726f746f203d20697350726f746f74797065286f626a656374292c0a20202020202020202020726573756c74203d205b5d3b0a0a202020202020666f722028766172206b657920696e206f626a65637429207b0a20202020202020206966202821286b6579203d3d2027636f6e7374727563746f72272026262028697350726f746f207c7c20216861734f776e50726f70657274792e63616c6c286f626a6563742c206b657929292929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6c746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20626173654c742876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203c206f746865723b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d61706020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d206974657261746565205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20626173654d617028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d20697341727261794c696b6528636f6c6c656374696f6e29203f20417272617928636f6c6c656374696f6e2e6c656e67746829203a205b5d3b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a2020202020202020726573756c745b2b2b696e6465785d203d2069746572617465652876616c75652c206b65792c20636f6c6c656374696f6e293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d6174636865736020776869636820646f65736e277420636c6f6e652060736f75726365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20626173654d61746368657328736f7572636529207b0a202020202020766172206d6174636844617461203d206765744d617463684461746128736f75726365293b0a202020202020696620286d61746368446174612e6c656e677468203d3d2031202626206d61746368446174615b305d5b325d29207b0a202020202020202072657475726e206d617463686573537472696374436f6d70617261626c65286d61746368446174615b305d5b305d2c206d61746368446174615b305d5b315d293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e206f626a656374203d3d3d20736f75726365207c7c206261736549734d61746368286f626a6563742c20736f757263652c206d6174636844617461293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d61746368657350726f70657274796020776869636820646f65736e277420636c6f6e65206073726356616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20626173654d61746368657350726f706572747928706174682c2073726356616c756529207b0a2020202020206966202869734b6579287061746829202626206973537472696374436f6d70617261626c652873726356616c75652929207b0a202020202020202072657475726e206d617463686573537472696374436f6d70617261626c6528746f4b65792870617468292c2073726356616c7565293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a2020202020202020766172206f626a56616c7565203d20676574286f626a6563742c2070617468293b0a202020202020202072657475726e20286f626a56616c7565203d3d3d20756e646566696e6564202626206f626a56616c7565203d3d3d2073726356616c7565290a202020202020202020203f20686173496e286f626a6563742c2070617468290a202020202020202020203a20626173654973457175616c2873726356616c75652c206f626a56616c75652c20434f4d504152455f5041525449414c5f464c4147207c20434f4d504152455f554e4f5244455245445f464c4147293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6d657267656020776974686f757420737570706f727420666f72206d756c7469706c6520736f75726365732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b6e756d6265727d20737263496e6465782054686520696e646578206f662060736f75726365602e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a65206d65726765642076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a2f0a2020202066756e6374696f6e20626173654d65726765286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a65722c20737461636b29207b0a202020202020696620286f626a656374203d3d3d20736f7572636529207b0a202020202020202072657475726e3b0a2020202020207d0a20202020202062617365466f7228736f757263652c2066756e6374696f6e2873726356616c75652c206b657929207b0a20202020202020206966202869734f626a6563742873726356616c75652929207b0a20202020202020202020737461636b207c7c2028737461636b203d206e657720537461636b293b0a20202020202020202020626173654d6572676544656570286f626a6563742c20736f757263652c206b65792c20737263496e6465782c20626173654d657267652c20637573746f6d697a65722c20737461636b293b0a20202020202020207d0a2020202020202020656c7365207b0a20202020202020202020766172206e657756616c7565203d20637573746f6d697a65720a2020202020202020202020203f20637573746f6d697a6572286f626a6563745b6b65795d2c2073726356616c75652c20286b6579202b202727292c206f626a6563742c20736f757263652c20737461636b290a2020202020202020202020203a20756e646566696e65643b0a0a20202020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a2020202020202020202020206e657756616c7565203d2073726356616c75653b0a202020202020202020207d0a2020202020202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d0a2020202020207d2c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654d657267656020666f722061727261797320616e64206f626a6563747320776869636820706572666f726d730a20202020202a2064656570206d657267657320616e6420747261636b7320747261766572736564206f626a6563747320656e61626c696e67206f626a6563747320776974682063697263756c61720a20202020202a207265666572656e63657320746f206265206d65726765642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652076616c756520746f206d657267652e0a20202020202a2040706172616d207b6e756d6265727d20737263496e6465782054686520696e646578206f662060736f75726365602e0a20202020202a2040706172616d207b46756e6374696f6e7d206d6572676546756e63205468652066756e6374696f6e20746f206d657267652076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a2f0a2020202066756e6374696f6e20626173654d6572676544656570286f626a6563742c20736f757263652c206b65792c20737263496e6465782c206d6572676546756e632c20637573746f6d697a65722c20737461636b29207b0a202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d2c0a2020202020202020202073726356616c7565203d20736f757263655b6b65795d2c0a20202020202020202020737461636b6564203d20737461636b2e6765742873726356616c7565293b0a0a20202020202069662028737461636b656429207b0a202020202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c20737461636b6564293b0a202020202020202072657475726e3b0a2020202020207d0a202020202020766172206e657756616c7565203d20637573746f6d697a65720a20202020202020203f20637573746f6d697a6572286f626a56616c75652c2073726356616c75652c20286b6579202b202727292c206f626a6563742c20736f757263652c20737461636b290a20202020202020203a20756e646566696e65643b0a0a202020202020766172206973436f6d6d6f6e203d206e657756616c7565203d3d3d20756e646566696e65643b0a0a202020202020696620286973436f6d6d6f6e29207b0a2020202020202020766172206973417272203d20697341727261792873726356616c7565292c0a202020202020202020202020697342756666203d202169734172722026262069734275666665722873726356616c7565292c0a20202020202020202020202069735479706564203d202169734172722026262021697342756666202626206973547970656441727261792873726356616c7565293b0a0a20202020202020206e657756616c7565203d2073726356616c75653b0a2020202020202020696620286973417272207c7c20697342756666207c7c206973547970656429207b0a202020202020202020206966202869734172726179286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d206f626a56616c75653b0a202020202020202020207d0a20202020202020202020656c73652069662028697341727261794c696b654f626a656374286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d20636f70794172726179286f626a56616c7565293b0a202020202020202020207d0a20202020202020202020656c7365206966202869734275666629207b0a2020202020202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020202020206e657756616c7565203d20636c6f6e654275666665722873726356616c75652c2074727565293b0a202020202020202020207d0a20202020202020202020656c736520696620286973547970656429207b0a2020202020202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020202020206e657756616c7565203d20636c6f6e65547970656441727261792873726356616c75652c2074727565293b0a202020202020202020207d0a20202020202020202020656c7365207b0a2020202020202020202020206e657756616c7565203d205b5d3b0a202020202020202020207d0a20202020202020207d0a2020202020202020656c736520696620286973506c61696e4f626a6563742873726356616c756529207c7c206973417267756d656e74732873726356616c75652929207b0a202020202020202020206e657756616c7565203d206f626a56616c75653b0a20202020202020202020696620286973417267756d656e7473286f626a56616c75652929207b0a2020202020202020202020206e657756616c7565203d20746f506c61696e4f626a656374286f626a56616c7565293b0a202020202020202020207d0a20202020202020202020656c736520696620282169734f626a656374286f626a56616c756529207c7c2028737263496e64657820262620697346756e6374696f6e286f626a56616c7565292929207b0a2020202020202020202020206e657756616c7565203d20696e6974436c6f6e654f626a6563742873726356616c7565293b0a202020202020202020207d0a20202020202020207d0a2020202020202020656c7365207b0a202020202020202020206973436f6d6d6f6e203d2066616c73653b0a20202020202020207d0a2020202020207d0a202020202020696620286973436f6d6d6f6e29207b0a20202020202020202f2f205265637572736976656c79206d65726765206f626a6563747320616e642061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020737461636b2e7365742873726356616c75652c206e657756616c7565293b0a20202020202020206d6572676546756e63286e657756616c75652c2073726356616c75652c20737263496e6465782c20637573746f6d697a65722c20737461636b293b0a2020202020202020737461636b5b2764656c657465275d2873726356616c7565293b0a2020202020207d0a20202020202061737369676e4d6572676556616c7565286f626a6563742c206b65792c206e657756616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6e74686020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d206e2054686520696e646578206f662074686520656c656d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206e746820656c656d656e74206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20626173654e74682861727261792c206e29207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206e202b3d206e203c2030203f206c656e677468203a20303b0a20202020202072657475726e206973496e646578286e2c206c656e67746829203f2061727261795b6e5d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e6f7264657242796020776974686f757420706172616d206775617264732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e5b5d7c4f626a6563745b5d7c737472696e675b5d7d20697465726174656573205468652069746572617465657320746f20736f72742062792e0a20202020202a2040706172616d207b737472696e675b5d7d206f72646572732054686520736f7274206f7264657273206f662060697465726174656573602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20626173654f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f726465727329207b0a20202020202076617220696e646578203d202d313b0a202020202020697465726174656573203d2061727261794d6170286974657261746565732e6c656e677468203f20697465726174656573203a205b6964656e746974795d2c2062617365556e617279286765744974657261746565282929293b0a0a20202020202076617220726573756c74203d20626173654d617028636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c206b65792c20636f6c6c656374696f6e29207b0a2020202020202020766172206372697465726961203d2061727261794d6170286974657261746565732c2066756e6374696f6e28697465726174656529207b0a2020202020202020202072657475726e2069746572617465652876616c7565293b0a20202020202020207d293b0a202020202020202072657475726e207b20276372697465726961273a2063726974657269612c2027696e646578273a202b2b696e6465782c202776616c7565273a2076616c7565207d3b0a2020202020207d293b0a0a20202020202072657475726e2062617365536f7274427928726573756c742c2066756e6374696f6e286f626a6563742c206f7468657229207b0a202020202020202072657475726e20636f6d706172654d756c7469706c65286f626a6563742c206f746865722c206f7264657273293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7069636b6020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a2070726f7065727479206964656e746966696572732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655069636b286f626a6563742c20706174687329207b0a20202020202072657475726e20626173655069636b4279286f626a6563742c2070617468732c2066756e6374696f6e2876616c75652c207061746829207b0a202020202020202072657475726e20686173496e286f626a6563742c2070617468293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662020605f2e7069636b42796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b737472696e675b5d7d207061746873205468652070726f706572747920706174687320746f207069636b2e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655069636b4279286f626a6563742c2070617468732c2070726564696361746529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070617468732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722070617468203d2070617468735b696e6465785d2c0a20202020202020202020202076616c7565203d2062617365476574286f626a6563742c2070617468293b0a0a2020202020202020696620287072656469636174652876616c75652c20706174682929207b0a202020202020202020206261736553657428726573756c742c20636173745061746828706174682c206f626a656374292c2076616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620606261736550726f70657274796020776869636820737570706f72747320646565702070617468732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206261736550726f706572747944656570287061746829207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365476574286f626a6563742c2070617468293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70756c6c416c6c42796020776974686f757420737570706f727420666f722069746572617465650a20202020202a2073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736550756c6c416c6c2861727261792c2076616c7565732c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e6465784f66203d20636f6d70617261746f72203f2062617365496e6465784f6657697468203a2062617365496e6465784f662c0a20202020202020202020696e646578203d202d312c0a202020202020202020206c656e677468203d2076616c7565732e6c656e6774682c0a202020202020202020207365656e203d2061727261793b0a0a202020202020696620286172726179203d3d3d2076616c75657329207b0a202020202020202076616c756573203d20636f707941727261792876616c756573293b0a2020202020207d0a20202020202069662028697465726174656529207b0a20202020202020207365656e203d2061727261794d61702861727261792c2062617365556e61727928697465726174656529293b0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722066726f6d496e646578203d20302c0a20202020202020202020202076616c7565203d2076616c7565735b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a20202020202020207768696c6520282866726f6d496e646578203d20696e6465784f66287365656e2c20636f6d70757465642c2066726f6d496e6465782c20636f6d70617261746f722929203e202d3129207b0a20202020202020202020696620287365656e20213d3d20617272617929207b0a20202020202020202020202073706c6963652e63616c6c287365656e2c2066726f6d496e6465782c2031293b0a202020202020202020207d0a2020202020202020202073706c6963652e63616c6c2861727261792c2066726f6d496e6465782c2031293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e70756c6c41746020776974686f757420737570706f727420666f7220696e646976696475616c0a20202020202a20696e6465786573206f7220636170747572696e67207468652072656d6f76656420656c656d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b6e756d6265725b5d7d20696e64657865732054686520696e6465786573206f6620656c656d656e747320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e206261736550756c6c41742861727261792c20696e646578657329207b0a202020202020766172206c656e677468203d206172726179203f20696e64657865732e6c656e677468203a20302c0a202020202020202020206c617374496e646578203d206c656e677468202d20313b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202076617220696e646578203d20696e64657865735b6c656e6774685d3b0a2020202020202020696620286c656e677468203d3d206c617374496e646578207c7c20696e64657820213d3d2070726576696f757329207b0a202020202020202020207661722070726576696f7573203d20696e6465783b0a20202020202020202020696620286973496e64657828696e6465782929207b0a20202020202020202020202073706c6963652e63616c6c2861727261792c20696e6465782c2031293b0a202020202020202020207d20656c7365207b0a20202020202020202020202062617365556e7365742861727261792c20696e646578293b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e72616e646f6d6020776974686f757420737570706f727420666f722072657475726e696e670a20202020202a20666c6f6174696e672d706f696e74206e756d626572732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206c6f77657220546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652072616e646f6d206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e206261736552616e646f6d286c6f7765722c20757070657229207b0a20202020202072657475726e206c6f776572202b206e6174697665466c6f6f72286e617469766552616e646f6d2829202a20287570706572202d206c6f776572202b203129293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e72616e67656020616e6420605f2e72616e676552696768746020776869636820646f65736e27740a20202020202a20636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d2073746570205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2f0a2020202066756e6374696f6e206261736552616e67652873746172742c20656e642c20737465702c2066726f6d526967687429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d206e61746976654d6178286e61746976654365696c2828656e64202d20737461727429202f202873746570207c7c203129292c2030292c0a20202020202020202020726573756c74203d204172726179286c656e677468293b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020726573756c745b66726f6d5269676874203f206c656e677468203a202b2b696e6465785d203d2073746172743b0a20202020202020207374617274202b3d20737465703b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e7265706561746020776869636820646f65736e277420636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f207265706561742e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f207265706561742074686520737472696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520726570656174656420737472696e672e0a20202020202a2f0a2020202066756e6374696f6e206261736552657065617428737472696e672c206e29207b0a20202020202076617220726573756c74203d2027273b0a2020202020206966202821737472696e67207c7c206e203c2031207c7c206e203e204d41585f534146455f494e544547455229207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020202f2f204c6576657261676520746865206578706f6e656e74696174696f6e206279207371756172696e6720616c676f726974686d20666f72206120666173746572207265706561742e0a2020202020202f2f205365652068747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4578706f6e656e74696174696f6e5f62795f7371756172696e6720666f72206d6f72652064657461696c732e0a202020202020646f207b0a2020202020202020696620286e2025203229207b0a20202020202020202020726573756c74202b3d20737472696e673b0a20202020202020207d0a20202020202020206e203d206e6174697665466c6f6f72286e202f2032293b0a2020202020202020696620286e29207b0a20202020202020202020737472696e67202b3d20737472696e673b0a20202020202020207d0a2020202020207d207768696c6520286e293b0a0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e726573746020776869636820646f65736e27742076616c6964617465206f7220636f6572636520617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2062617365526573742866756e632c20737461727429207b0a20202020202072657475726e20736574546f537472696e67286f766572526573742866756e632c2073746172742c206964656e74697479292c2066756e63202b202727293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73616d706c65602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a2f0a2020202066756e6374696f6e206261736553616d706c6528636f6c6c656374696f6e29207b0a20202020202072657475726e20617272617953616d706c652876616c75657328636f6c6c656374696f6e29293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73616d706c6553697a656020776974686f757420706172616d206775617264732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a2f0a2020202066756e6374696f6e206261736553616d706c6553697a6528636f6c6c656374696f6e2c206e29207b0a202020202020766172206172726179203d2076616c75657328636f6c6c656374696f6e293b0a20202020202072657475726e2073687566666c6553656c662861727261792c2062617365436c616d70286e2c20302c2061727261792e6c656e67746829293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652070617468206372656174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536574286f626a6563742c20706174682c2076616c75652c20637573746f6d697a657229207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e206f626a6563743b0a2020202020207d0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774682c0a202020202020202020206c617374496e646578203d206c656e677468202d20312c0a202020202020202020206e6573746564203d206f626a6563743b0a0a2020202020207768696c6520286e657374656420213d206e756c6c202626202b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d20746f4b657928706174685b696e6465785d292c0a2020202020202020202020206e657756616c7565203d2076616c75653b0a0a202020202020202069662028696e64657820213d206c617374496e64657829207b0a20202020202020202020766172206f626a56616c7565203d206e65737465645b6b65795d3b0a202020202020202020206e657756616c7565203d20637573746f6d697a6572203f20637573746f6d697a6572286f626a56616c75652c206b65792c206e657374656429203a20756e646566696e65643b0a20202020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a2020202020202020202020206e657756616c7565203d2069734f626a656374286f626a56616c7565290a20202020202020202020202020203f206f626a56616c75650a20202020202020202020202020203a20286973496e64657828706174685b696e646578202b20315d29203f205b5d203a207b7d293b0a202020202020202020207d0a20202020202020207d0a202020202020202061737369676e56616c7565286e65737465642c206b65792c206e657756616c7565293b0a20202020202020206e6573746564203d206e65737465645b6b65795d3b0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060736574446174616020776974686f757420737570706f727420666f7220686f74206c6f6f702073686f7274696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206173736f6369617465206d6574616461746120776974682e0a20202020202a2040706172616d207b2a7d206461746120546865206d657461646174612e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a20202020766172206261736553657444617461203d20216d6574614d6170203f206964656e74697479203a2066756e6374696f6e2866756e632c206461746129207b0a2020202020206d6574614d61702e7365742866756e632c2064617461293b0a20202020202072657475726e2066756e633b0a202020207d3b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f662060736574546f537472696e676020776974686f757420737570706f727420666f7220686f74206c6f6f702073686f7274696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d20737472696e67205468652060746f537472696e676020726573756c742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a202020207661722062617365536574546f537472696e67203d2021646566696e6550726f7065727479203f206964656e74697479203a2066756e6374696f6e2866756e632c20737472696e6729207b0a20202020202072657475726e20646566696e6550726f70657274792866756e632c2027746f537472696e67272c207b0a202020202020202027636f6e666967757261626c65273a20747275652c0a202020202020202027656e756d657261626c65273a2066616c73652c0a20202020202020202776616c7565273a20636f6e7374616e7428737472696e67292c0a2020202020202020277772697461626c65273a20747275650a2020202020207d293b0a202020207d3b0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e73687566666c65602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a2f0a2020202066756e6374696f6e206261736553687566666c6528636f6c6c656374696f6e29207b0a20202020202072657475726e2073687566666c6553656c662876616c75657328636f6c6c656374696f6e29293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736c6963656020776974686f757420616e2069746572617465652063616c6c2067756172642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736c6963652e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536c6963652861727261792c2073746172742c20656e6429207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020696620287374617274203c203029207b0a20202020202020207374617274203d202d7374617274203e206c656e677468203f2030203a20286c656e677468202b207374617274293b0a2020202020207d0a202020202020656e64203d20656e64203e206c656e677468203f206c656e677468203a20656e643b0a20202020202069662028656e64203c203029207b0a2020202020202020656e64202b3d206c656e6774683b0a2020202020207d0a2020202020206c656e677468203d207374617274203e20656e64203f2030203a202828656e64202d20737461727429203e3e3e2030293b0a2020202020207374617274203e3e3e3d20303b0a0a20202020202076617220726573756c74203d204172726179286c656e677468293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020726573756c745b696e6465785d203d2061727261795b696e646578202b2073746172745d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f6d656020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f6d6528636f6c6c656374696f6e2c2070726564696361746529207b0a20202020202076617220726573756c743b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c75652c20696e6465782c20636f6c6c656374696f6e29207b0a2020202020202020726573756c74203d207072656469636174652876616c75652c20696e6465782c20636f6c6c656374696f6e293b0a202020202020202072657475726e2021726573756c743b0a2020202020207d293b0a20202020202072657475726e202121726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564496e6465786020616e6420605f2e736f727465644c617374496e646578602077686963680a20202020202a20706572666f726d7320612062696e61727920736561726368206f66206061727261796020746f2064657465726d696e652074686520696e646578206174207768696368206076616c7565600a20202020202a2073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b726574486967686573745d20537065636966792072657475726e696e67207468652068696768657374207175616c696669656420696e6465782e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564496e6465782861727261792c2076616c75652c207265744869676865737429207b0a202020202020766172206c6f77203d20302c0a2020202020202020202068696768203d206172726179203d3d206e756c6c203f206c6f77203a2061727261792e6c656e6774683b0a0a20202020202069662028747970656f662076616c7565203d3d20276e756d626572272026262076616c7565203d3d3d2076616c75652026262068696768203c3d2048414c465f4d41585f41525241595f4c454e47544829207b0a20202020202020207768696c6520286c6f77203c206869676829207b0a20202020202020202020766172206d6964203d20286c6f77202b206869676829203e3e3e20312c0a2020202020202020202020202020636f6d7075746564203d2061727261795b6d69645d3b0a0a2020202020202020202069662028636f6d707574656420213d3d206e756c6c2026262021697353796d626f6c28636f6d7075746564292026260a20202020202020202020202020202872657448696768657374203f2028636f6d7075746564203c3d2076616c756529203a2028636f6d7075746564203c2076616c7565292929207b0a2020202020202020202020206c6f77203d206d6964202b20313b0a202020202020202020207d20656c7365207b0a20202020202020202020202068696768203d206d69643b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20686967683b0a2020202020207d0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c206964656e746974792c2072657448696768657374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564496e64657842796020616e6420605f2e736f727465644c617374496e6465784279600a20202020202a20776869636820696e766f6b6573206069746572617465656020666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574650a20202020202a20746865697220736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743b202876616c7565292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d2069746572617465652054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b726574486967686573745d20537065636966792072657475726e696e67207468652068696768657374207175616c696669656420696e6465782e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564496e64657842792861727261792c2076616c75652c2069746572617465652c207265744869676865737429207b0a20202020202076616c7565203d2069746572617465652876616c7565293b0a0a202020202020766172206c6f77203d20302c0a2020202020202020202068696768203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a2020202020202020202076616c49734e614e203d2076616c756520213d3d2076616c75652c0a2020202020202020202076616c49734e756c6c203d2076616c7565203d3d3d206e756c6c2c0a2020202020202020202076616c497353796d626f6c203d20697353796d626f6c2876616c7565292c0a2020202020202020202076616c4973556e646566696e6564203d2076616c7565203d3d3d20756e646566696e65643b0a0a2020202020207768696c6520286c6f77203c206869676829207b0a2020202020202020766172206d6964203d206e6174697665466c6f6f7228286c6f77202b206869676829202f2032292c0a202020202020202020202020636f6d7075746564203d2069746572617465652861727261795b6d69645d292c0a2020202020202020202020206f74684973446566696e6564203d20636f6d707574656420213d3d20756e646566696e65642c0a2020202020202020202020206f746849734e756c6c203d20636f6d7075746564203d3d3d206e756c6c2c0a2020202020202020202020206f746849735265666c6578697665203d20636f6d7075746564203d3d3d20636f6d70757465642c0a2020202020202020202020206f7468497353796d626f6c203d20697353796d626f6c28636f6d7075746564293b0a0a20202020202020206966202876616c49734e614e29207b0a20202020202020202020766172207365744c6f77203d2072657448696768657374207c7c206f746849735265666c65786976653b0a20202020202020207d20656c7365206966202876616c4973556e646566696e656429207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626202872657448696768657374207c7c206f74684973446566696e6564293b0a20202020202020207d20656c7365206966202876616c49734e756c6c29207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626206f74684973446566696e6564202626202872657448696768657374207c7c20216f746849734e756c6c293b0a20202020202020207d20656c7365206966202876616c497353796d626f6c29207b0a202020202020202020207365744c6f77203d206f746849735265666c6578697665202626206f74684973446566696e656420262620216f746849734e756c6c202626202872657448696768657374207c7c20216f7468497353796d626f6c293b0a20202020202020207d20656c736520696620286f746849734e756c6c207c7c206f7468497353796d626f6c29207b0a202020202020202020207365744c6f77203d2066616c73653b0a20202020202020207d20656c7365207b0a202020202020202020207365744c6f77203d2072657448696768657374203f2028636f6d7075746564203c3d2076616c756529203a2028636f6d7075746564203c2076616c7565293b0a20202020202020207d0a2020202020202020696620287365744c6f7729207b0a202020202020202020206c6f77203d206d6964202b20313b0a20202020202020207d20656c7365207b0a2020202020202020202068696768203d206d69643b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206e61746976654d696e28686967682c204d41585f41525241595f494e444558293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e736f72746564556e69716020616e6420605f2e736f72746564556e697142796020776974686f75740a20202020202a20737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365536f72746564556e69712861727261792c20697465726174656529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a20202020202020206966202821696e646578207c7c2021657128636f6d70757465642c207365656e2929207b0a20202020202020202020766172207365656e203d20636f6d70757465643b0a20202020202020202020726573756c745b726573496e6465782b2b5d203d2076616c7565203d3d3d2030203f2030203a2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f4e756d6265726020776869636820646f65736e277420656e7375726520636f72726563740a20202020202a20636f6e76657273696f6e73206f662062696e6172792c2068657861646563696d616c2c206f72206f6374616c20737472696e672076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206e756d6265722e0a20202020202a2f0a2020202066756e6374696f6e2062617365546f4e756d6265722876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d20276e756d6265722729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e204e414e3b0a2020202020207d0a20202020202072657475726e202b76616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e746f537472696e676020776869636820646f65736e277420636f6e76657274206e756c6c6973680a20202020202a2076616c75657320746f20656d70747920737472696e67732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520737472696e672e0a20202020202a2f0a2020202066756e6374696f6e2062617365546f537472696e672876616c756529207b0a2020202020202f2f2045786974206561726c7920666f7220737472696e677320746f2061766f6964206120706572666f726d616e63652068697420696e20736f6d6520656e7669726f6e6d656e74732e0a20202020202069662028747970656f662076616c7565203d3d2027737472696e672729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697341727261792876616c75652929207b0a20202020202020202f2f205265637572736976656c7920636f6e766572742076616c75657320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a202020202020202072657475726e2061727261794d61702876616c75652c2062617365546f537472696e6729202b2027273b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e2073796d626f6c546f537472696e67203f2073796d626f6c546f537472696e672e63616c6c2876616c756529203a2027273b0a2020202020207d0a20202020202076617220726573756c74203d202876616c7565202b202727293b0a20202020202072657475726e2028726573756c74203d3d20273027202626202831202f2076616c756529203d3d202d494e46494e49545929203f20272d3027203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e697142796020776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a2f0a2020202066756e6374696f6e2062617365556e69712861727261792c2069746572617465652c20636f6d70617261746f7229207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e636c75646573203d206172726179496e636c756465732c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206973436f6d6d6f6e203d20747275652c0a20202020202020202020726573756c74203d205b5d2c0a202020202020202020207365656e203d20726573756c743b0a0a20202020202069662028636f6d70617261746f7229207b0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020696e636c75646573203d206172726179496e636c75646573576974683b0a2020202020207d0a202020202020656c736520696620286c656e677468203e3d204c415247455f41525241595f53495a4529207b0a202020202020202076617220736574203d206974657261746565203f206e756c6c203a20637265617465536574286172726179293b0a20202020202020206966202873657429207b0a2020202020202020202072657475726e20736574546f417272617928736574293b0a20202020202020207d0a20202020202020206973436f6d6d6f6e203d2066616c73653b0a2020202020202020696e636c75646573203d2063616368654861733b0a20202020202020207365656e203d206e65772053657443616368653b0a2020202020207d0a202020202020656c7365207b0a20202020202020207365656e203d206974657261746565203f205b5d203a20726573756c743b0a2020202020207d0a2020202020206f757465723a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d2c0a202020202020202020202020636f6d7075746564203d206974657261746565203f2069746572617465652876616c756529203a2076616c75653b0a0a202020202020202076616c7565203d2028636f6d70617261746f72207c7c2076616c756520213d3d203029203f2076616c7565203a20303b0a2020202020202020696620286973436f6d6d6f6e20262620636f6d7075746564203d3d3d20636f6d707574656429207b0a20202020202020202020766172207365656e496e646578203d207365656e2e6c656e6774683b0a202020202020202020207768696c6520287365656e496e6465782d2d29207b0a202020202020202020202020696620287365656e5b7365656e496e6465785d203d3d3d20636f6d707574656429207b0a2020202020202020202020202020636f6e74696e7565206f757465723b0a2020202020202020202020207d0a202020202020202020207d0a2020202020202020202069662028697465726174656529207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020202020656c7365206966202821696e636c75646573287365656e2c20636f6d70757465642c20636f6d70617261746f722929207b0a20202020202020202020696620287365656e20213d3d20726573756c7429207b0a2020202020202020202020207365656e2e7075736828636f6d7075746564293b0a202020202020202020207d0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e756e736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070726f7065727479207061746820746f20756e7365742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652070726f70657274792069732064656c657465642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2062617365556e736574286f626a6563742c207061746829207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020206f626a656374203d20706172656e74286f626a6563742c2070617468293b0a20202020202072657475726e206f626a656374203d3d206e756c6c207c7c2064656c657465206f626a6563745b746f4b6579286c617374287061746829295d3b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620605f2e757064617465602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207570646174652e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652070617468206372656174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e2062617365557064617465286f626a6563742c20706174682c20757064617465722c20637573746f6d697a657229207b0a20202020202072657475726e2062617365536574286f626a6563742c20706174682c20757064617465722862617365476574286f626a6563742c207061746829292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e64726f705768696c656020616e6420605f2e74616b655768696c65600a20202020202a20776974686f757420737570706f727420666f722069746572617465652073686f727468616e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b697344726f705d20537065636966792064726f7070696e6720656c656d656e747320696e7374656164206f662074616b696e67207468656d2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20626173655768696c652861727261792c207072656469636174652c20697344726f702c2066726f6d526967687429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020696e646578203d2066726f6d5269676874203f206c656e677468203a202d313b0a0a2020202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e677468292026260a20202020202020207072656469636174652861727261795b696e6465785d2c20696e6465782c2061727261792929207b7d0a0a20202020202072657475726e20697344726f700a20202020202020203f2062617365536c6963652861727261792c202866726f6d5269676874203f2030203a20696e646578292c202866726f6d5269676874203f20696e646578202b2031203a206c656e67746829290a20202020202020203a2062617365536c6963652861727261792c202866726f6d5269676874203f20696e646578202b2031203a2030292c202866726f6d5269676874203f206c656e677468203a20696e64657829293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f6620607772617070657256616c7565602077686963682072657475726e732074686520726573756c74206f660a20202020202a20706572666f726d696e6720612073657175656e6365206f6620616374696f6e73206f6e2074686520756e77726170706564206076616c7565602c20776865726520656163680a20202020202a207375636365737369766520616374696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c75652054686520756e777261707065642076616c75652e0a20202020202a2040706172616d207b41727261797d20616374696f6e7320416374696f6e7320746f20706572666f726d20746f207265736f6c76652074686520756e777261707065642076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20626173655772617070657256616c75652876616c75652c20616374696f6e7329207b0a20202020202076617220726573756c74203d2076616c75653b0a20202020202069662028726573756c7420696e7374616e63656f66204c617a795772617070657229207b0a2020202020202020726573756c74203d20726573756c742e76616c756528293b0a2020202020207d0a20202020202072657475726e20617272617952656475636528616374696f6e732c2066756e6374696f6e28726573756c742c20616374696f6e29207b0a202020202020202072657475726e20616374696f6e2e66756e632e6170706c7928616374696f6e2e746869734172672c20617272617950757368285b726573756c745d2c20616374696f6e2e6172677329293b0a2020202020207d2c20726573756c74293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206261736520696d706c656d656e746174696f6e206f66206d6574686f6473206c696b6520605f2e786f72602c20776974686f757420737570706f727420666f720a20202020202a2069746572617465652073686f727468616e64732c2074686174206163636570747320616e206172726179206f662061727261797320746f20696e73706563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20617272617973205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662076616c7565732e0a20202020202a2f0a2020202066756e6374696f6e2062617365586f72286172726179732c2069746572617465652c20636f6d70617261746f7229207b0a202020202020766172206c656e677468203d206172726179732e6c656e6774683b0a202020202020696620286c656e677468203c203229207b0a202020202020202072657475726e206c656e677468203f2062617365556e6971286172726179735b305d29203a205b5d3b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d204172726179286c656e677468293b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206172726179203d206172726179735b696e6465785d2c0a2020202020202020202020206f7468496e646578203d202d313b0a0a20202020202020207768696c6520282b2b6f7468496e646578203c206c656e67746829207b0a20202020202020202020696620286f7468496e64657820213d20696e64657829207b0a202020202020202020202020726573756c745b696e6465785d203d2062617365446966666572656e636528726573756c745b696e6465785d207c7c2061727261792c206172726179735b6f7468496e6465785d2c2069746572617465652c20636f6d70617261746f72293b0a202020202020202020207d0a20202020202020207d0a2020202020207d0a20202020202072657475726e2062617365556e69712862617365466c617474656e28726573756c742c2031292c2069746572617465652c20636f6d70617261746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206261736520696d706c656d656e746174696f6e206f6620605f2e7a69704f626a656374602077686963682061737369676e732076616c756573207573696e67206061737369676e46756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652070726f70657274792076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d2061737369676e46756e63205468652066756e6374696f6e20746f2061737369676e2076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20626173655a69704f626a6563742870726f70732c2076616c7565732c2061737369676e46756e6329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070726f70732e6c656e6774682c0a2020202020202020202076616c734c656e677468203d2076616c7565732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d20696e646578203c2076616c734c656e677468203f2076616c7565735b696e6465785d203a20756e646566696e65643b0a202020202020202061737369676e46756e6328726573756c742c2070726f70735b696e6465785d2c2076616c7565293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f20616e20656d7074792061727261792069662069742773206e6f7420616e206172726179206c696b65206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732074686520636173742061727261792d6c696b65206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e206361737441727261794c696b654f626a6563742876616c756529207b0a20202020202072657475726e20697341727261794c696b654f626a6563742876616c756529203f2076616c7565203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f20606964656e74697479602069662069742773206e6f7420612066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320636173742066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206361737446756e6374696f6e2876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d202766756e6374696f6e27203f2076616c7565203a206964656e746974793b0a202020207d0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020746f206120706174682061727261792069662069742773206e6f74206f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f207175657279206b657973206f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636173742070726f706572747920706174682061727261792e0a20202020202a2f0a2020202066756e6374696f6e2063617374506174682876616c75652c206f626a65637429207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202072657475726e2069734b65792876616c75652c206f626a65637429203f205b76616c75655d203a20737472696e67546f5061746828746f537472696e672876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a2041206062617365526573746020616c6961732077686963682063616e206265207265706c61636564207769746820606964656e7469747960206279206d6f64756c650a20202020202a207265706c6163656d656e7420706c7567696e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a204074797065207b46756e6374696f6e7d0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a20202020766172206361737452657374203d2062617365526573743b0a0a202020202f2a2a0a20202020202a204361737473206061727261796020746f206120736c6963652069662069742773206e65656465642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b6e756d6265727d2073746172742054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206361737420736c6963652e0a20202020202a2f0a2020202066756e6374696f6e2063617374536c6963652861727261792c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774683b0a202020202020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e677468203a20656e643b0a20202020202072657475726e202821737461727420262620656e64203e3d206c656e67746829203f206172726179203a2062617365536c6963652861727261792c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a20412073696d706c6520777261707065722061726f756e642074686520676c6f62616c205b60636c65617254696d656f7574605d2868747470733a2f2f6d646e2e696f2f636c65617254696d656f7574292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727c4f626a6563747d206964205468652074696d6572206964206f722074696d656f7574206f626a656374206f66207468652074696d657220746f20636c6561722e0a20202020202a2f0a2020202076617220636c65617254696d656f7574203d20637478436c65617254696d656f7574207c7c2066756e6374696f6e28696429207b0a20202020202072657475726e20726f6f742e636c65617254696d656f7574286964293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66202060627566666572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4275666665727d20627566666572205468652062756666657220746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4275666665727d2052657475726e732074686520636c6f6e6564206275666665722e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65427566666572286275666665722c2069734465657029207b0a2020202020206966202869734465657029207b0a202020202020202072657475726e206275666665722e736c69636528293b0a2020202020207d0a202020202020766172206c656e677468203d206275666665722e6c656e6774682c0a20202020202020202020726573756c74203d20616c6c6f63556e73616665203f20616c6c6f63556e73616665286c656e67746829203a206e6577206275666665722e636f6e7374727563746f72286c656e677468293b0a0a2020202020206275666665722e636f707928726573756c74293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606172726179427566666572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261794275666665727d206172726179427566666572205468652061727261792062756666657220746f20636c6f6e652e0a20202020202a204072657475726e73207b41727261794275666665727d2052657475726e732074686520636c6f6e6564206172726179206275666665722e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65417272617942756666657228617272617942756666657229207b0a20202020202076617220726573756c74203d206e65772061727261794275666665722e636f6e7374727563746f722861727261794275666665722e627974654c656e677468293b0a2020202020206e65772055696e7438417272617928726573756c74292e736574286e65772055696e7438417272617928617272617942756666657229293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606461746156696577602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206461746156696577205468652064617461207669657720746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564206461746120766965772e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6544617461566965772864617461566965772c2069734465657029207b0a20202020202076617220627566666572203d20697344656570203f20636c6f6e6541727261794275666665722864617461566965772e62756666657229203a2064617461566965772e6275666665723b0a20202020202072657475726e206e65772064617461566965772e636f6e7374727563746f72286275666665722c2064617461566965772e627974654f66667365742c2064617461566965772e627974654c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620606d6170602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564206d61702e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e654d6170286d61702c206973446565702c20636c6f6e6546756e6329207b0a202020202020766172206172726179203d20697344656570203f20636c6f6e6546756e63286d6170546f4172726179286d6170292c20434c4f4e455f444545505f464c414729203a206d6170546f4172726179286d6170293b0a20202020202072657475726e2061727261795265647563652861727261792c206164644d6170456e7472792c206e6577206d61702e636f6e7374727563746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662060726567657870602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20726567657870205468652072656765787020746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564207265676578702e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e655265674578702872656765787029207b0a20202020202076617220726573756c74203d206e6577207265676578702e636f6e7374727563746f72287265676578702e736f757263652c207265466c6167732e657865632872656765787029293b0a202020202020726573756c742e6c617374496e646578203d207265676578702e6c617374496e6465783b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662060736574602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736574205468652073657420746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e6564207365742e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65536574287365742c206973446565702c20636c6f6e6546756e6329207b0a202020202020766172206172726179203d20697344656570203f20636c6f6e6546756e6328736574546f417272617928736574292c20434c4f4e455f444545505f464c414729203a20736574546f417272617928736574293b0a20202020202072657475726e2061727261795265647563652861727261792c20616464536574456e7472792c206e6577207365742e636f6e7374727563746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f6620746865206073796d626f6c60206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d2073796d626f6c205468652073796d626f6c206f626a65637420746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e65642073796d626f6c206f626a6563742e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6553796d626f6c2873796d626f6c29207b0a20202020202072657475726e2073796d626f6c56616c75654f66203f204f626a6563742873796d626f6c56616c75654f662e63616c6c2873796d626f6c2929203a207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66206074797065644172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20747970656441727261792054686520747970656420617272617920746f20636c6f6e652e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e65642074797065642061727261792e0a20202020202a2f0a2020202066756e6374696f6e20636c6f6e655479706564417272617928747970656441727261792c2069734465657029207b0a20202020202076617220627566666572203d20697344656570203f20636c6f6e65417272617942756666657228747970656441727261792e62756666657229203a20747970656441727261792e6275666665723b0a20202020202072657475726e206e657720747970656441727261792e636f6e7374727563746f72286275666665722c20747970656441727261792e627974654f66667365742c20747970656441727261792e6c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d70617265732076616c75657320746f20736f7274207468656d20696e20617363656e64696e67206f726465722e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520736f7274206f7264657220696e64696361746f7220666f72206076616c7565602e0a20202020202a2f0a2020202066756e6374696f6e20636f6d70617265417363656e64696e672876616c75652c206f7468657229207b0a2020202020206966202876616c756520213d3d206f7468657229207b0a20202020202020207661722076616c4973446566696e6564203d2076616c756520213d3d20756e646566696e65642c0a20202020202020202020202076616c49734e756c6c203d2076616c7565203d3d3d206e756c6c2c0a20202020202020202020202076616c49735265666c6578697665203d2076616c7565203d3d3d2076616c75652c0a20202020202020202020202076616c497353796d626f6c203d20697353796d626f6c2876616c7565293b0a0a2020202020202020766172206f74684973446566696e6564203d206f7468657220213d3d20756e646566696e65642c0a2020202020202020202020206f746849734e756c6c203d206f74686572203d3d3d206e756c6c2c0a2020202020202020202020206f746849735265666c6578697665203d206f74686572203d3d3d206f746865722c0a2020202020202020202020206f7468497353796d626f6c203d20697353796d626f6c286f74686572293b0a0a20202020202020206966202828216f746849734e756c6c20262620216f7468497353796d626f6c202626202176616c497353796d626f6c2026262076616c7565203e206f7468657229207c7c0a2020202020202020202020202876616c497353796d626f6c202626206f74684973446566696e6564202626206f746849735265666c657869766520262620216f746849734e756c6c20262620216f7468497353796d626f6c29207c7c0a2020202020202020202020202876616c49734e756c6c202626206f74684973446566696e6564202626206f746849735265666c657869766529207c7c0a202020202020202020202020282176616c4973446566696e6564202626206f746849735265666c657869766529207c7c0a2020202020202020202020202176616c49735265666c657869766529207b0a2020202020202020202072657475726e20313b0a20202020202020207d0a202020202020202069662028282176616c49734e756c6c202626202176616c497353796d626f6c20262620216f7468497353796d626f6c2026262076616c7565203c206f7468657229207c7c0a202020202020202020202020286f7468497353796d626f6c2026262076616c4973446566696e65642026262076616c49735265666c6578697665202626202176616c49734e756c6c202626202176616c497353796d626f6c29207c7c0a202020202020202020202020286f746849734e756c6c2026262076616c4973446566696e65642026262076616c49735265666c657869766529207c7c0a20202020202020202020202028216f74684973446566696e65642026262076616c49735265666c657869766529207c7c0a202020202020202020202020216f746849735265666c657869766529207b0a2020202020202020202072657475726e202d313b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20303b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e6f7264657242796020746f20636f6d70617265206d756c7469706c652070726f70657274696573206f6620612076616c756520746f20616e6f746865720a20202020202a20616e6420737461626c6520736f7274207468656d2e0a20202020202a0a20202020202a20496620606f72646572736020697320756e7370656369666965642c20616c6c2076616c7565732061726520736f7274656420696e20617363656e64696e67206f726465722e204f74686572776973652c0a20202020202a207370656369667920616e206f72646572206f662022646573632220666f722064657363656e64696e67206f7220226173632220666f7220617363656e64696e6720736f7274206f726465720a20202020202a206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b626f6f6c65616e5b5d7c737472696e675b5d7d206f726465727320546865206f7264657220746f20736f727420627920666f7220656163682070726f70657274792e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520736f7274206f7264657220696e64696361746f7220666f7220606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706172654d756c7469706c65286f626a6563742c206f746865722c206f726465727329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206f626a4372697465726961203d206f626a6563742e63726974657269612c0a202020202020202020206f74684372697465726961203d206f746865722e63726974657269612c0a202020202020202020206c656e677468203d206f626a43726974657269612e6c656e6774682c0a202020202020202020206f72646572734c656e677468203d206f72646572732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202076617220726573756c74203d20636f6d70617265417363656e64696e67286f626a43726974657269615b696e6465785d2c206f746843726974657269615b696e6465785d293b0a202020202020202069662028726573756c7429207b0a2020202020202020202069662028696e646578203e3d206f72646572734c656e67746829207b0a20202020202020202020202072657475726e20726573756c743b0a202020202020202020207d0a20202020202020202020766172206f72646572203d206f72646572735b696e6465785d3b0a2020202020202020202072657475726e20726573756c74202a20286f72646572203d3d20276465736327203f202d31203a2031293b0a20202020202020207d0a2020202020207d0a2020202020202f2f20466978657320616e2060417272617923736f7274602062756720696e20746865204a5320656e67696e6520656d62656464656420696e2041646f6265206170706c69636174696f6e730a2020202020202f2f2074686174206361757365732069742c20756e646572206365727461696e2063697263756d7374616e6365732c20746f2070726f76696465207468652073616d652076616c756520666f720a2020202020202f2f20606f626a6563746020616e6420606f74686572602e205365652068747470733a2f2f6769746875622e636f6d2f6a6173686b656e61732f756e64657273636f72652f70756c6c2f313234370a2020202020202f2f20666f72206d6f72652064657461696c732e0a2020202020202f2f0a2020202020202f2f205468697320616c736f20656e7375726573206120737461626c6520736f727420696e20563820616e64206f7468657220656e67696e65732e0a2020202020202f2f205365652068747470733a2f2f627567732e6368726f6d69756d2e6f72672f702f76382f6973737565732f64657461696c3f69643d393020666f72206d6f72652064657461696c732e0a20202020202072657475726e206f626a6563742e696e646578202d206f746865722e696e6465783b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e20617272617920746861742069732074686520636f6d706f736974696f6e206f66207061727469616c6c79206170706c69656420617267756d656e74732c0a20202020202a20706c616365686f6c646572732c20616e642070726f766964656420617267756d656e747320696e746f20612073696e676c65206172726179206f6620617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061726773205468652070726f766964656420617267756d656e74732e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f76696465642e0a20202020202a2040706172616d207b41727261797d20686f6c646572732054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d73207b626f6f6c65616e7d205b6973437572726965645d205370656369667920636f6d706f73696e6720666f72206120637572726965642066756e6374696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d706f73656420617267756d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706f73654172677328617267732c207061727469616c732c20686f6c646572732c2069734375727269656429207b0a2020202020207661722061726773496e646578203d202d312c0a20202020202020202020617267734c656e677468203d20617267732e6c656e6774682c0a20202020202020202020686f6c646572734c656e677468203d20686f6c646572732e6c656e6774682c0a202020202020202020206c656674496e646578203d202d312c0a202020202020202020206c6566744c656e677468203d207061727469616c732e6c656e6774682c0a2020202020202020202072616e67654c656e677468203d206e61746976654d617828617267734c656e677468202d20686f6c646572734c656e6774682c2030292c0a20202020202020202020726573756c74203d204172726179286c6566744c656e677468202b2072616e67654c656e677468292c0a202020202020202020206973556e63757272696564203d20216973437572726965643b0a0a2020202020207768696c6520282b2b6c656674496e646578203c206c6566744c656e67746829207b0a2020202020202020726573756c745b6c656674496e6465785d203d207061727469616c735b6c656674496e6465785d3b0a2020202020207d0a2020202020207768696c6520282b2b61726773496e646578203c20686f6c646572734c656e67746829207b0a2020202020202020696620286973556e63757272696564207c7c2061726773496e646578203c20617267734c656e67746829207b0a20202020202020202020726573756c745b686f6c646572735b61726773496e6465785d5d203d20617267735b61726773496e6465785d3b0a20202020202020207d0a2020202020207d0a2020202020207768696c65202872616e67654c656e6774682d2d29207b0a2020202020202020726573756c745b6c656674496e6465782b2b5d203d20617267735b61726773496e6465782b2b5d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b652060636f6d706f736541726773602065786365707420746861742074686520617267756d656e747320636f6d706f736974696f6e0a20202020202a206973207461696c6f72656420666f7220605f2e7061727469616c5269676874602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061726773205468652070726f766964656420617267756d656e74732e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f20617070656e6420746f2074686f73652070726f76696465642e0a20202020202a2040706172616d207b41727261797d20686f6c646572732054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d73207b626f6f6c65616e7d205b6973437572726965645d205370656369667920636f6d706f73696e6720666f72206120637572726965642066756e6374696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d706f73656420617267756d656e74732e0a20202020202a2f0a2020202066756e6374696f6e20636f6d706f736541726773526967687428617267732c207061727469616c732c20686f6c646572732c2069734375727269656429207b0a2020202020207661722061726773496e646578203d202d312c0a20202020202020202020617267734c656e677468203d20617267732e6c656e6774682c0a20202020202020202020686f6c64657273496e646578203d202d312c0a20202020202020202020686f6c646572734c656e677468203d20686f6c646572732e6c656e6774682c0a202020202020202020207269676874496e646578203d202d312c0a2020202020202020202072696768744c656e677468203d207061727469616c732e6c656e6774682c0a2020202020202020202072616e67654c656e677468203d206e61746976654d617828617267734c656e677468202d20686f6c646572734c656e6774682c2030292c0a20202020202020202020726573756c74203d2041727261792872616e67654c656e677468202b2072696768744c656e677468292c0a202020202020202020206973556e63757272696564203d20216973437572726965643b0a0a2020202020207768696c6520282b2b61726773496e646578203c2072616e67654c656e67746829207b0a2020202020202020726573756c745b61726773496e6465785d203d20617267735b61726773496e6465785d3b0a2020202020207d0a202020202020766172206f6666736574203d2061726773496e6465783b0a2020202020207768696c6520282b2b7269676874496e646578203c2072696768744c656e67746829207b0a2020202020202020726573756c745b6f6666736574202b207269676874496e6465785d203d207061727469616c735b7269676874496e6465785d3b0a2020202020207d0a2020202020207768696c6520282b2b686f6c64657273496e646578203c20686f6c646572734c656e67746829207b0a2020202020202020696620286973556e63757272696564207c7c2061726773496e646578203c20617267734c656e67746829207b0a20202020202020202020726573756c745b6f6666736574202b20686f6c646572735b686f6c64657273496e6465785d5d203d20617267735b61726773496e6465782b2b5d3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573207468652076616c756573206f662060736f757263656020746f20606172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d20736f757263652054686520617272617920746f20636f70792076616c7565732066726f6d2e0a20202020202a2040706172616d207b41727261797d205b61727261793d5b5d5d2054686520617272617920746f20636f70792076616c75657320746f2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20636f7079417272617928736f757263652c20617272617929207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20736f757263652e6c656e6774683b0a0a2020202020206172726179207c7c20286172726179203d204172726179286c656e67746829293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202061727261795b696e6465785d203d20736f757263655b696e6465785d3b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20436f706965732070726f70657274696573206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792070726f706572746965732066726f6d2e0a20202020202a2040706172616d207b41727261797d2070726f7073205468652070726f7065727479206964656e7469666965727320746f20636f70792e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792070726f7065727469657320746f2e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f706965642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f70794f626a65637428736f757263652c2070726f70732c206f626a6563742c20637573746f6d697a657229207b0a2020202020207661722069734e6577203d20216f626a6563743b0a2020202020206f626a656374207c7c20286f626a656374203d207b7d293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2070726f70732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d2070726f70735b696e6465785d3b0a0a2020202020202020766172206e657756616c7565203d20637573746f6d697a65720a202020202020202020203f20637573746f6d697a6572286f626a6563745b6b65795d2c20736f757263655b6b65795d2c206b65792c206f626a6563742c20736f75726365290a202020202020202020203a20756e646566696e65643b0a0a2020202020202020696620286e657756616c7565203d3d3d20756e646566696e656429207b0a202020202020202020206e657756616c7565203d20736f757263655b6b65795d3b0a20202020202020207d0a20202020202020206966202869734e657729207b0a202020202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d20656c7365207b0a2020202020202020202061737369676e56616c7565286f626a6563742c206b65792c206e657756616c7565293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573206f776e2073796d626f6c73206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792073796d626f6c732066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792073796d626f6c7320746f2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f707953796d626f6c7328736f757263652c206f626a65637429207b0a20202020202072657475726e20636f70794f626a65637428736f757263652c2067657453796d626f6c7328736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f70696573206f776e20616e6420696e686572697465642073796d626f6c73206f662060736f757263656020746f20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a65637420746f20636f70792073796d626f6c732066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563743d7b7d5d20546865206f626a65637420746f20636f70792073796d626f6c7320746f2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e20636f707953796d626f6c73496e28736f757263652c206f626a65637429207b0a20202020202072657475726e20636f70794f626a65637428736f757263652c2067657453796d626f6c73496e28736f75726365292c206f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e67726f75704279602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f2073657420616363756d756c61746f722076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b696e697469616c697a65725d2054686520616363756d756c61746f72206f626a65637420696e697469616c697a65722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772061676772656761746f722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746541676772656761746f72287365747465722c20696e697469616c697a657229207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c20697465726174656529207b0a20202020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617941676772656761746f72203a206261736541676772656761746f722c0a202020202020202020202020616363756d756c61746f72203d20696e697469616c697a6572203f20696e697469616c697a65722829203a207b7d3b0a0a202020202020202072657475726e2066756e6328636f6c6c656374696f6e2c207365747465722c2067657449746572617465652869746572617465652c2032292c20616363756d756c61746f72293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e61737369676e602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2061737369676e6572205468652066756e6374696f6e20746f2061737369676e2076616c7565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772061737369676e65722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746541737369676e65722861737369676e657229207b0a20202020202072657475726e2062617365526573742866756e6374696f6e286f626a6563742c20736f757263657329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206c656e677468203d20736f75726365732e6c656e6774682c0a202020202020202020202020637573746f6d697a6572203d206c656e677468203e2031203f20736f75726365735b6c656e677468202d20315d203a20756e646566696e65642c0a2020202020202020202020206775617264203d206c656e677468203e2032203f20736f75726365735b325d203a20756e646566696e65643b0a0a2020202020202020637573746f6d697a6572203d202861737369676e65722e6c656e677468203e203320262620747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27290a202020202020202020203f20286c656e6774682d2d2c20637573746f6d697a6572290a202020202020202020203a20756e646566696e65643b0a0a2020202020202020696620286775617264202626206973497465726174656543616c6c28736f75726365735b305d2c20736f75726365735b315d2c2067756172642929207b0a20202020202020202020637573746f6d697a6572203d206c656e677468203c2033203f20756e646566696e6564203a20637573746f6d697a65723b0a202020202020202020206c656e677468203d20313b0a20202020202020207d0a20202020202020206f626a656374203d204f626a656374286f626a656374293b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202076617220736f75726365203d20736f75726365735b696e6465785d3b0a2020202020202020202069662028736f7572636529207b0a20202020202020202020202061737369676e6572286f626a6563742c20736f757263652c20696e6465782c20637573746f6d697a6572293b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e206f626a6563743b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612060626173654561636860206f72206062617365456163685269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206561636846756e63205468652066756e6374696f6e20746f2069746572617465206f766572206120636f6c6c656374696f6e2e0a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654261736545616368286561636846756e632c2066726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c20697465726174656529207b0a202020202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a2020202020202020202072657475726e20636f6c6c656374696f6e3b0a20202020202020207d0a20202020202020206966202821697341727261794c696b6528636f6c6c656374696f6e2929207b0a2020202020202020202072657475726e206561636846756e6328636f6c6c656374696f6e2c206974657261746565293b0a20202020202020207d0a2020202020202020766172206c656e677468203d20636f6c6c656374696f6e2e6c656e6774682c0a202020202020202020202020696e646578203d2066726f6d5269676874203f206c656e677468203a202d312c0a2020202020202020202020206974657261626c65203d204f626a65637428636f6c6c656374696f6e293b0a0a20202020202020207768696c6520282866726f6d5269676874203f20696e6465782d2d203a202b2b696e646578203c206c656e6774682929207b0a20202020202020202020696620286974657261746565286974657261626c655b696e6465785d2c20696e6465782c206974657261626c6529203d3d3d2066616c736529207b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20636f6c6c656374696f6e3b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120626173652066756e6374696f6e20666f72206d6574686f6473206c696b6520605f2e666f72496e6020616e6420605f2e666f724f776e602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746542617365466f722866726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e286f626a6563742c2069746572617465652c206b65797346756e6329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206974657261626c65203d204f626a656374286f626a656374292c0a20202020202020202020202070726f7073203d206b65797346756e63286f626a656374292c0a2020202020202020202020206c656e677468203d2070726f70732e6c656e6774683b0a0a20202020202020207768696c6520286c656e6774682d2d29207b0a20202020202020202020766172206b6579203d2070726f70735b66726f6d5269676874203f206c656e677468203a202b2b696e6465785d3b0a20202020202020202020696620286974657261746565286974657261626c655b6b65795d2c206b65792c206974657261626c6529203d3d3d2066616c736529207b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e206f626a6563743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b65206974207769746820746865206f7074696f6e616c206074686973600a20202020202a2062696e64696e67206f66206074686973417267602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746542696e642866756e632c206269746d61736b2c207468697341726729207b0a20202020202076617220697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a2020202020202020202043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a202020202020202076617220666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a202020202020202072657475726e20666e2e6170706c7928697342696e64203f2074686973417267203a20746869732c20617267756d656e7473293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e6c6f7765724669727374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206d6574686f644e616d6520546865206e616d65206f66207468652060537472696e67602063617365206d6574686f6420746f207573652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636173652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465436173654669727374286d6574686f644e616d6529207b0a20202020202072657475726e2066756e6374696f6e28737472696e6729207b0a2020202020202020737472696e67203d20746f537472696e6728737472696e67293b0a0a20202020202020207661722073747253796d626f6c73203d20686173556e69636f646528737472696e67290a202020202020202020203f20737472696e67546f417272617928737472696e67290a202020202020202020203a20756e646566696e65643b0a0a202020202020202076617220636872203d2073747253796d626f6c730a202020202020202020203f2073747253796d626f6c735b305d0a202020202020202020203a20737472696e672e6368617241742830293b0a0a202020202020202076617220747261696c696e67203d2073747253796d626f6c730a202020202020202020203f2063617374536c6963652873747253796d626f6c732c2031292e6a6f696e282727290a202020202020202020203a20737472696e672e736c6963652831293b0a0a202020202020202072657475726e206368725b6d6574686f644e616d655d2829202b20747261696c696e673b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e63616d656c43617365602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e20746f20636f6d62696e65206561636820776f72642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f756e6465722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465436f6d706f756e6465722863616c6c6261636b29207b0a20202020202072657475726e2066756e6374696f6e28737472696e6729207b0a202020202020202072657475726e20617272617952656475636528776f7264732864656275727228737472696e67292e7265706c61636528726541706f732c20272729292c2063616c6c6261636b2c202727293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742070726f647563657320616e20696e7374616e6365206f66206043746f7260207265676172646c657373206f660a20202020202a20776865746865722069742077617320696e766f6b65642061732070617274206f66206120606e6577602065787072657373696f6e206f72206279206063616c6c60206f7220606170706c79602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2043746f722054686520636f6e7374727563746f7220746f20777261702e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746543746f722843746f7229207b0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020202f2f2055736520612060737769746368602073746174656d656e7420746f20776f726b207769746820636c61737320636f6e7374727563746f72732e205365650a20202020202020202f2f20687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d65636d617363726970742d66756e6374696f6e2d6f626a656374732d63616c6c2d74686973617267756d656e742d617267756d656e74736c6973740a20202020202020202f2f20666f72206d6f72652064657461696c732e0a20202020202020207661722061726773203d20617267756d656e74733b0a20202020202020207377697463682028617267732e6c656e67746829207b0a202020202020202020206361736520303a2072657475726e206e65772043746f723b0a202020202020202020206361736520313a2072657475726e206e65772043746f7228617267735b305d293b0a202020202020202020206361736520323a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d293b0a202020202020202020206361736520333a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d293b0a202020202020202020206361736520343a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d293b0a202020202020202020206361736520353a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d293b0a202020202020202020206361736520363a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d2c20617267735b355d293b0a202020202020202020206361736520373a2072657475726e206e65772043746f7228617267735b305d2c20617267735b315d2c20617267735b325d2c20617267735b335d2c20617267735b345d2c20617267735b355d2c20617267735b365d293b0a20202020202020207d0a2020202020202020766172207468697342696e64696e67203d20626173654372656174652843746f722e70726f746f74797065292c0a202020202020202020202020726573756c74203d2043746f722e6170706c79287468697342696e64696e672c2061726773293b0a0a20202020202020202f2f204d696d69632074686520636f6e7374727563746f722773206072657475726e60206265686176696f722e0a20202020202020202f2f205365652068747470733a2f2f6573352e6769746875622e696f2f237831332e322e3220666f72206d6f72652064657461696c732e0a202020202020202072657475726e2069734f626a65637428726573756c7429203f20726573756c74203a207468697342696e64696e673b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20656e61626c65206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b6e756d6265727d20617269747920546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746543757272792866756e632c206269746d61736b2c20617269747929207b0a2020202020207661722043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a2020202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c656e677468292c0a202020202020202020202020696e646578203d206c656e6774682c0a202020202020202020202020706c616365686f6c646572203d20676574486f6c6465722877726170706572293b0a0a20202020202020207768696c652028696e6465782d2d29207b0a20202020202020202020617267735b696e6465785d203d20617267756d656e74735b696e6465785d3b0a20202020202020207d0a202020202020202076617220686f6c64657273203d20286c656e677468203c203320262620617267735b305d20213d3d20706c616365686f6c64657220262620617267735b6c656e677468202d20315d20213d3d20706c616365686f6c646572290a202020202020202020203f205b5d0a202020202020202020203a207265706c616365486f6c6465727328617267732c20706c616365686f6c646572293b0a0a20202020202020206c656e677468202d3d20686f6c646572732e6c656e6774683b0a2020202020202020696620286c656e677468203c20617269747929207b0a2020202020202020202072657475726e2063726561746552656375727279280a20202020202020202020202066756e632c206269746d61736b2c206372656174654879627269642c20777261707065722e706c616365686f6c6465722c20756e646566696e65642c0a202020202020202020202020617267732c20686f6c646572732c20756e646566696e65642c20756e646566696e65642c206172697479202d206c656e677468293b0a20202020202020207d0a202020202020202076617220666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a202020202020202072657475726e206170706c7928666e2c20746869732c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e66696e6460206f7220605f2e66696e644c617374602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066696e64496e64657846756e63205468652066756e6374696f6e20746f2066696e642074686520636f6c6c656374696f6e20696e6465782e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066696e642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746546696e642866696e64496e64657846756e6329207b0a20202020202072657475726e2066756e6374696f6e28636f6c6c656374696f6e2c207072656469636174652c2066726f6d496e64657829207b0a2020202020202020766172206974657261626c65203d204f626a65637428636f6c6c656374696f6e293b0a20202020202020206966202821697341727261794c696b6528636f6c6c656374696f6e2929207b0a20202020202020202020766172206974657261746565203d206765744974657261746565287072656469636174652c2033293b0a20202020202020202020636f6c6c656374696f6e203d206b65797328636f6c6c656374696f6e293b0a20202020202020202020707265646963617465203d2066756e6374696f6e286b657929207b2072657475726e206974657261746565286974657261626c655b6b65795d2c206b65792c206974657261626c65293b207d3b0a20202020202020207d0a202020202020202076617220696e646578203d2066696e64496e64657846756e6328636f6c6c656374696f6e2c207072656469636174652c2066726f6d496e646578293b0a202020202020202072657475726e20696e646578203e202d31203f206974657261626c655b6974657261746565203f20636f6c6c656374696f6e5b696e6465785d203a20696e6465785d203a20756e646566696e65643b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e666c6f7760206f7220605f2e666c6f775269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720666c6f772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465466c6f772866726f6d526967687429207b0a20202020202072657475726e20666c6174526573742866756e6374696f6e2866756e637329207b0a2020202020202020766172206c656e677468203d2066756e63732e6c656e6774682c0a202020202020202020202020696e646578203d206c656e6774682c0a202020202020202020202020707265726571203d204c6f64617368577261707065722e70726f746f747970652e746872753b0a0a20202020202020206966202866726f6d526967687429207b0a2020202020202020202066756e63732e7265766572736528293b0a20202020202020207d0a20202020202020207768696c652028696e6465782d2d29207b0a202020202020202020207661722066756e63203d2066756e63735b696e6465785d3b0a2020202020202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a2020202020202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a202020202020202020207d0a20202020202020202020696620287072657265712026262021777261707065722026262067657446756e634e616d652866756e6329203d3d2027777261707065722729207b0a2020202020202020202020207661722077726170706572203d206e6577204c6f6461736857726170706572285b5d2c2074727565293b0a202020202020202020207d0a20202020202020207d0a2020202020202020696e646578203d2077726170706572203f20696e646578203a206c656e6774683b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202066756e63203d2066756e63735b696e6465785d3b0a0a202020202020202020207661722066756e634e616d65203d2067657446756e634e616d652866756e63292c0a202020202020202020202020202064617461203d2066756e634e616d65203d3d20277772617070657227203f20676574446174612866756e6329203a20756e646566696e65643b0a0a2020202020202020202069662028646174612026262069734c617a6961626c6528646174615b305d292026260a20202020202020202020202020202020646174615b315d203d3d2028575241505f4152595f464c4147207c20575241505f43555252595f464c4147207c20575241505f5041525449414c5f464c4147207c20575241505f52454152475f464c4147292026260a2020202020202020202020202020202021646174615b345d2e6c656e67746820262620646174615b395d203d3d20310a202020202020202020202020202029207b0a20202020202020202020202077726170706572203d20777261707065725b67657446756e634e616d6528646174615b305d295d2e6170706c7928777261707065722c20646174615b335d293b0a202020202020202020207d20656c7365207b0a20202020202020202020202077726170706572203d202866756e632e6c656e677468203d3d20312026262069734c617a6961626c652866756e6329290a20202020202020202020202020203f20777261707065725b66756e634e616d655d28290a20202020202020202020202020203a20777261707065722e746872752866756e63293b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e2066756e6374696f6e2829207b0a202020202020202020207661722061726773203d20617267756d656e74732c0a202020202020202020202020202076616c7565203d20617267735b305d3b0a0a20202020202020202020696620287772617070657220262620617267732e6c656e677468203d3d203120262620697341727261792876616c75652929207b0a20202020202020202020202072657475726e20777261707065722e706c616e742876616c7565292e76616c756528293b0a202020202020202020207d0a2020202020202020202076617220696e646578203d20302c0a2020202020202020202020202020726573756c74203d206c656e677468203f2066756e63735b696e6465785d2e6170706c7928746869732c206172677329203a2076616c75653b0a0a202020202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202020202020726573756c74203d2066756e63735b696e6465785d2e63616c6c28746869732c20726573756c74293b0a202020202020202020207d0a2020202020202020202072657475726e20726573756c743b0a20202020202020207d3b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b652069742077697468206f7074696f6e616c206074686973600a20202020202a2062696e64696e67206f66206074686973417267602c207061727469616c206170706c69636174696f6e2c20616e64206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d2066756e63205468652066756e6374696f6e206f72206d6574686f64206e616d6520746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b7061727469616c7352696768745d2054686520617267756d656e747320746f20617070656e6420746f2074686f73652070726f76696465640a20202020202a2020746f20746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c6465727352696768745d2054686520607061727469616c7352696768746020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654879627269642866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c207061727469616c7352696768742c20686f6c6465727352696768742c20617267506f732c206172792c20617269747929207b0a202020202020766172206973417279203d206269746d61736b202620575241505f4152595f464c41472c0a20202020202020202020697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a20202020202020202020697342696e644b6579203d206269746d61736b202620575241505f42494e445f4b45595f464c41472c0a20202020202020202020697343757272696564203d206269746d61736b20262028575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c4147292c0a202020202020202020206973466c6970203d206269746d61736b202620575241505f464c49505f464c41472c0a2020202020202020202043746f72203d20697342696e644b6579203f20756e646566696e6564203a2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a2020202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c656e677468292c0a202020202020202020202020696e646578203d206c656e6774683b0a0a20202020202020207768696c652028696e6465782d2d29207b0a20202020202020202020617267735b696e6465785d203d20617267756d656e74735b696e6465785d3b0a20202020202020207d0a20202020202020206966202869734375727269656429207b0a2020202020202020202076617220706c616365686f6c646572203d20676574486f6c6465722877726170706572292c0a2020202020202020202020202020686f6c64657273436f756e74203d20636f756e74486f6c6465727328617267732c20706c616365686f6c646572293b0a20202020202020207d0a2020202020202020696620287061727469616c7329207b0a2020202020202020202061726773203d20636f6d706f73654172677328617267732c207061727469616c732c20686f6c646572732c20697343757272696564293b0a20202020202020207d0a2020202020202020696620287061727469616c73526967687429207b0a2020202020202020202061726773203d20636f6d706f736541726773526967687428617267732c207061727469616c7352696768742c20686f6c6465727352696768742c20697343757272696564293b0a20202020202020207d0a20202020202020206c656e677468202d3d20686f6c64657273436f756e743b0a202020202020202069662028697343757272696564202626206c656e677468203c20617269747929207b0a20202020202020202020766172206e6577486f6c64657273203d207265706c616365486f6c6465727328617267732c20706c616365686f6c646572293b0a2020202020202020202072657475726e2063726561746552656375727279280a20202020202020202020202066756e632c206269746d61736b2c206372656174654879627269642c20777261707065722e706c616365686f6c6465722c20746869734172672c0a202020202020202020202020617267732c206e6577486f6c646572732c20617267506f732c206172792c206172697479202d206c656e6774680a20202020202020202020293b0a20202020202020207d0a2020202020202020766172207468697342696e64696e67203d20697342696e64203f2074686973417267203a20746869732c0a202020202020202020202020666e203d20697342696e644b6579203f207468697342696e64696e675b66756e635d203a2066756e633b0a0a20202020202020206c656e677468203d20617267732e6c656e6774683b0a202020202020202069662028617267506f7329207b0a2020202020202020202061726773203d2072656f7264657228617267732c20617267506f73293b0a20202020202020207d20656c736520696620286973466c6970202626206c656e677468203e203129207b0a20202020202020202020617267732e7265766572736528293b0a20202020202020207d0a202020202020202069662028697341727920262620617279203c206c656e67746829207b0a20202020202020202020617267732e6c656e677468203d206172793b0a20202020202020207d0a20202020202020206966202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229207b0a20202020202020202020666e203d2043746f72207c7c2063726561746543746f7228666e293b0a20202020202020207d0a202020202020202072657475726e20666e2e6170706c79287468697342696e64696e672c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e696e766572744279602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20736574746572205468652066756e6374696f6e20746f2073657420616363756d756c61746f722076616c7565732e0a20202020202a2040706172616d207b46756e6374696f6e7d20746f4974657261746565205468652066756e6374696f6e20746f207265736f6c7665206974657261746565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e7665727465722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465496e766572746572287365747465722c20746f497465726174656529207b0a20202020202072657475726e2066756e6374696f6e286f626a6563742c20697465726174656529207b0a202020202020202072657475726e2062617365496e766572746572286f626a6563742c207365747465722c20746f4974657261746565286974657261746565292c207b7d293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061206d617468656d61746963616c206f7065726174696f6e206f6e2074776f2076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206f70657261746f72205468652066756e6374696f6e20746f20706572666f726d20746865206f7065726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b64656661756c7456616c75655d205468652076616c7565207573656420666f722060756e646566696e65646020617267756d656e74732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d617468656d61746963616c206f7065726174696f6e2066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654d6174684f7065726174696f6e286f70657261746f722c2064656661756c7456616c756529207b0a20202020202072657475726e2066756e6374696f6e2876616c75652c206f7468657229207b0a202020202020202076617220726573756c743b0a20202020202020206966202876616c7565203d3d3d20756e646566696e6564202626206f74686572203d3d3d20756e646566696e656429207b0a2020202020202020202072657475726e2064656661756c7456616c75653b0a20202020202020207d0a20202020202020206966202876616c756520213d3d20756e646566696e656429207b0a20202020202020202020726573756c74203d2076616c75653b0a20202020202020207d0a2020202020202020696620286f7468657220213d3d20756e646566696e656429207b0a2020202020202020202069662028726573756c74203d3d3d20756e646566696e656429207b0a20202020202020202020202072657475726e206f746865723b0a202020202020202020207d0a2020202020202020202069662028747970656f662076616c7565203d3d2027737472696e6727207c7c20747970656f66206f74686572203d3d2027737472696e672729207b0a20202020202020202020202076616c7565203d2062617365546f537472696e672876616c7565293b0a2020202020202020202020206f74686572203d2062617365546f537472696e67286f74686572293b0a202020202020202020207d20656c7365207b0a20202020202020202020202076616c7565203d2062617365546f4e756d6265722876616c7565293b0a2020202020202020202020206f74686572203d2062617365546f4e756d626572286f74686572293b0a202020202020202020207d0a20202020202020202020726573756c74203d206f70657261746f722876616c75652c206f74686572293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e6f766572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d20617272617946756e63205468652066756e6374696f6e20746f2069746572617465206f766572206974657261746565732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206f7665722066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174654f76657228617272617946756e6329207b0a20202020202072657475726e20666c6174526573742866756e6374696f6e2869746572617465657329207b0a2020202020202020697465726174656573203d2061727261794d6170286974657261746565732c2062617365556e617279286765744974657261746565282929293b0a202020202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202020207661722074686973417267203d20746869733b0a2020202020202020202072657475726e20617272617946756e63286974657261746565732c2066756e6374696f6e28697465726174656529207b0a20202020202020202020202072657475726e206170706c792869746572617465652c20746869734172672c2061726773293b0a202020202020202020207d293b0a20202020202020207d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573207468652070616464696e6720666f722060737472696e6760206261736564206f6e20606c656e677468602e20546865206063686172736020737472696e670a20202020202a206973207472756e636174656420696620746865206e756d626572206f662063686172616374657273206578636565647320606c656e677468602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d206c656e677468205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464696e6720666f722060737472696e67602e0a20202020202a2f0a2020202066756e6374696f6e2063726561746550616464696e67286c656e6774682c20636861727329207b0a2020202020206368617273203d206368617273203d3d3d20756e646566696e6564203f20272027203a2062617365546f537472696e67286368617273293b0a0a2020202020207661722063686172734c656e677468203d2063686172732e6c656e6774683b0a2020202020206966202863686172734c656e677468203c203229207b0a202020202020202072657475726e2063686172734c656e677468203f20626173655265706561742863686172732c206c656e67746829203a2063686172733b0a2020202020207d0a20202020202076617220726573756c74203d20626173655265706561742863686172732c206e61746976654365696c286c656e677468202f20737472696e6753697a652863686172732929293b0a20202020202072657475726e20686173556e69636f6465286368617273290a20202020202020203f2063617374536c69636528737472696e67546f417272617928726573756c74292c20302c206c656e677468292e6a6f696e282727290a20202020202020203a20726573756c742e736c69636528302c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20696e766f6b65206974207769746820746865206074686973602062696e64696e670a20202020202a206f662060746869734172676020616e6420607061727469616c73602070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d207061727469616c732054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206372656174655061727469616c2866756e632c206269746d61736b2c20746869734172672c207061727469616c7329207b0a20202020202076617220697342696e64203d206269746d61736b202620575241505f42494e445f464c41472c0a2020202020202020202043746f72203d2063726561746543746f722866756e63293b0a0a20202020202066756e6374696f6e20777261707065722829207b0a20202020202020207661722061726773496e646578203d202d312c0a202020202020202020202020617267734c656e677468203d20617267756d656e74732e6c656e6774682c0a2020202020202020202020206c656674496e646578203d202d312c0a2020202020202020202020206c6566744c656e677468203d207061727469616c732e6c656e6774682c0a20202020202020202020202061726773203d204172726179286c6566744c656e677468202b20617267734c656e677468292c0a202020202020202020202020666e203d202874686973202626207468697320213d3d20726f6f74202626207468697320696e7374616e63656f66207772617070657229203f2043746f72203a2066756e633b0a0a20202020202020207768696c6520282b2b6c656674496e646578203c206c6566744c656e67746829207b0a20202020202020202020617267735b6c656674496e6465785d203d207061727469616c735b6c656674496e6465785d3b0a20202020202020207d0a20202020202020207768696c652028617267734c656e6774682d2d29207b0a20202020202020202020617267735b6c656674496e6465782b2b5d203d20617267756d656e74735b2b2b61726773496e6465785d3b0a20202020202020207d0a202020202020202072657475726e206170706c7928666e2c20697342696e64203f2074686973417267203a20746869732c2061726773293b0a2020202020207d0a20202020202072657475726e20777261707065723b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e72616e676560206f7220605f2e72616e67655269676874602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b626f6f6c65616e7d205b66726f6d52696768745d205370656369667920697465726174696e672066726f6d20726967687420746f206c6566742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772072616e67652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746552616e67652866726f6d526967687429207b0a20202020202072657475726e2066756e6374696f6e2873746172742c20656e642c207374657029207b0a2020202020202020696620287374657020262620747970656f66207374657020213d20276e756d62657227202626206973497465726174656543616c6c2873746172742c20656e642c20737465702929207b0a20202020202020202020656e64203d2073746570203d20756e646566696e65643b0a20202020202020207d0a20202020202020202f2f20456e7375726520746865207369676e206f6620602d3060206973207072657365727665642e0a20202020202020207374617274203d20746f46696e697465287374617274293b0a202020202020202069662028656e64203d3d3d20756e646566696e656429207b0a20202020202020202020656e64203d2073746172743b0a202020202020202020207374617274203d20303b0a20202020202020207d20656c7365207b0a20202020202020202020656e64203d20746f46696e69746528656e64293b0a20202020202020207d0a202020202020202073746570203d2073746570203d3d3d20756e646566696e6564203f20287374617274203c20656e64203f2031203a202d3129203a20746f46696e6974652873746570293b0a202020202020202072657475726e206261736552616e67652873746172742c20656e642c20737465702c2066726f6d5269676874293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d7320612072656c6174696f6e616c206f7065726174696f6e206f6e2074776f2076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206f70657261746f72205468652066756e6374696f6e20746f20706572666f726d20746865206f7065726174696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772072656c6174696f6e616c206f7065726174696f6e2066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2063726561746552656c6174696f6e616c4f7065726174696f6e286f70657261746f7229207b0a20202020202072657475726e2066756e6374696f6e2876616c75652c206f7468657229207b0a2020202020202020696620282128747970656f662076616c7565203d3d2027737472696e672720262620747970656f66206f74686572203d3d2027737472696e67272929207b0a2020202020202020202076616c7565203d20746f4e756d6265722876616c7565293b0a202020202020202020206f74686572203d20746f4e756d626572286f74686572293b0a20202020202020207d0a202020202020202072657475726e206f70657261746f722876616c75652c206f74686572293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174207772617073206066756e636020746f20636f6e74696e7565206375727279696e672e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d207772617046756e63205468652066756e6374696f6e20746f2063726561746520746865206066756e636020777261707065722e0a20202020202a2040706172616d207b2a7d20706c616365686f6c6465722054686520706c616365686f6c6465722076616c75652e0a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f2070726570656e6420746f2074686f73652070726f766964656420746f0a20202020202a2020746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465526563757272792866756e632c206269746d61736b2c207772617046756e632c20706c616365686f6c6465722c20746869734172672c207061727469616c732c20686f6c646572732c20617267506f732c206172792c20617269747929207b0a2020202020207661722069734375727279203d206269746d61736b202620575241505f43555252595f464c41472c0a202020202020202020206e6577486f6c64657273203d2069734375727279203f20686f6c64657273203a20756e646566696e65642c0a202020202020202020206e6577486f6c646572735269676874203d2069734375727279203f20756e646566696e6564203a20686f6c646572732c0a202020202020202020206e65775061727469616c73203d2069734375727279203f207061727469616c73203a20756e646566696e65642c0a202020202020202020206e65775061727469616c735269676874203d2069734375727279203f20756e646566696e6564203a207061727469616c733b0a0a2020202020206269746d61736b207c3d202869734375727279203f20575241505f5041525449414c5f464c4147203a20575241505f5041525449414c5f52494748545f464c4147293b0a2020202020206269746d61736b20263d207e2869734375727279203f20575241505f5041525449414c5f52494748545f464c4147203a20575241505f5041525449414c5f464c4147293b0a0a2020202020206966202821286269746d61736b202620575241505f43555252595f424f554e445f464c41472929207b0a20202020202020206269746d61736b20263d207e28575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c4147293b0a2020202020207d0a202020202020766172206e657744617461203d205b0a202020202020202066756e632c206269746d61736b2c20746869734172672c206e65775061727469616c732c206e6577486f6c646572732c206e65775061727469616c7352696768742c0a20202020202020206e6577486f6c6465727352696768742c20617267506f732c206172792c2061726974790a2020202020205d3b0a0a20202020202076617220726573756c74203d207772617046756e632e6170706c7928756e646566696e65642c206e657744617461293b0a2020202020206966202869734c617a6961626c652866756e632929207b0a20202020202020207365744461746128726573756c742c206e657744617461293b0a2020202020207d0a202020202020726573756c742e706c616365686f6c646572203d20706c616365686f6c6465723b0a20202020202072657475726e2073657457726170546f537472696e6728726573756c742c2066756e632c206269746d61736b293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e206c696b6520605f2e726f756e64602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206d6574686f644e616d6520546865206e616d65206f662074686520604d61746860206d6574686f6420746f20757365207768656e20726f756e64696e672e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726f756e642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465526f756e64286d6574686f644e616d6529207b0a2020202020207661722066756e63203d204d6174685b6d6574686f644e616d655d3b0a20202020202072657475726e2066756e6374696f6e286e756d6265722c20707265636973696f6e29207b0a20202020202020206e756d626572203d20746f4e756d626572286e756d626572293b0a2020202020202020707265636973696f6e203d20707265636973696f6e203d3d206e756c6c203f2030203a206e61746976654d696e28746f496e746567657228707265636973696f6e292c20323932293b0a202020202020202069662028707265636973696f6e29207b0a202020202020202020202f2f2053686966742077697468206578706f6e656e7469616c206e6f746174696f6e20746f2061766f696420666c6f6174696e672d706f696e74206973737565732e0a202020202020202020202f2f20536565205b4d444e5d2868747470733a2f2f6d646e2e696f2f726f756e64234578616d706c65732920666f72206d6f72652064657461696c732e0a202020202020202020207661722070616972203d2028746f537472696e67286e756d62657229202b20276527292e73706c697428276527292c0a202020202020202020202020202076616c7565203d2066756e6328706169725b305d202b20276527202b20282b706169725b315d202b20707265636973696f6e29293b0a0a2020202020202020202070616972203d2028746f537472696e672876616c756529202b20276527292e73706c697428276527293b0a2020202020202020202072657475726e202b28706169725b305d202b20276527202b20282b706169725b315d202d20707265636973696f6e29293b0a20202020202020207d0a202020202020202072657475726e2066756e63286e756d626572293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736574206f626a656374206f66206076616c756573602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2061646420746f20746865207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577207365742e0a20202020202a2f0a2020202076617220637265617465536574203d202128536574202626202831202f20736574546f4172726179286e657720536574285b2c2d305d29295b315d29203d3d20494e46494e49545929203f206e6f6f70203a2066756e6374696f6e2876616c75657329207b0a20202020202072657475726e206e6577205365742876616c756573293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2043726561746573206120605f2e746f506169727360206f7220605f2e746f5061697273496e602066756e6374696f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d206b65797346756e63205468652066756e6374696f6e20746f2067657420746865206b657973206f66206120676976656e206f626a6563742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772070616972732066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465546f5061697273286b65797346756e6329207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202076617220746167203d20676574546167286f626a656374293b0a202020202020202069662028746167203d3d206d617054616729207b0a2020202020202020202072657475726e206d6170546f4172726179286f626a656374293b0a20202020202020207d0a202020202020202069662028746167203d3d2073657454616729207b0a2020202020202020202072657475726e20736574546f5061697273286f626a656374293b0a20202020202020207d0a202020202020202072657475726e2062617365546f5061697273286f626a6563742c206b65797346756e63286f626a65637429293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206569746865722063757272696573206f7220696e766f6b6573206066756e63602077697468206f7074696f6e616c0a20202020202a206074686973602062696e64696e6720616e64207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d2066756e63205468652066756e6374696f6e206f72206d6574686f64206e616d6520746f20777261702e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e0a20202020202a2020202031202d20605f2e62696e64600a20202020202a2020202032202d20605f2e62696e644b6579600a20202020202a2020202034202d20605f2e637572727960206f7220605f2e6375727279526967687460206f66206120626f756e642066756e6374696f6e0a20202020202a2020202038202d20605f2e6375727279600a20202020202a2020203136202d20605f2e63757272795269676874600a20202020202a2020203332202d20605f2e7061727469616c600a20202020202a2020203634202d20605f2e7061727469616c5269676874600a20202020202a2020313238202d20605f2e7265617267600a20202020202a2020323536202d20605f2e617279600a20202020202a2020353132202d20605f2e666c6970600a20202020202a2040706172616d207b2a7d205b746869734172675d20546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b41727261797d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a2040706172616d207b41727261797d205b686f6c646572735d2054686520607061727469616c736020706c616365686f6c64657220696e64657865732e0a20202020202a2040706172616d207b41727261797d205b617267506f735d2054686520617267756d656e7420706f736974696f6e73206f6620746865206e65772066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b6172795d2054686520617269747920636170206f66206066756e63602e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f66206066756e63602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720777261707065642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20637265617465577261702866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c20617267506f732c206172792c20617269747929207b0a20202020202076617220697342696e644b6579203d206269746d61736b202620575241505f42494e445f4b45595f464c41473b0a2020202020206966202821697342696e644b657920262620747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a202020202020766172206c656e677468203d207061727469616c73203f207061727469616c732e6c656e677468203a20303b0a20202020202069662028216c656e67746829207b0a20202020202020206269746d61736b20263d207e28575241505f5041525449414c5f464c4147207c20575241505f5041525449414c5f52494748545f464c4147293b0a20202020202020207061727469616c73203d20686f6c64657273203d20756e646566696e65643b0a2020202020207d0a202020202020617279203d20617279203d3d3d20756e646566696e6564203f20617279203a206e61746976654d617828746f496e746567657228617279292c2030293b0a2020202020206172697479203d206172697479203d3d3d20756e646566696e6564203f206172697479203a20746f496e7465676572286172697479293b0a2020202020206c656e677468202d3d20686f6c64657273203f20686f6c646572732e6c656e677468203a20303b0a0a202020202020696620286269746d61736b202620575241505f5041525449414c5f52494748545f464c414729207b0a2020202020202020766172207061727469616c735269676874203d207061727469616c732c0a202020202020202020202020686f6c646572735269676874203d20686f6c646572733b0a0a20202020202020207061727469616c73203d20686f6c64657273203d20756e646566696e65643b0a2020202020207d0a2020202020207661722064617461203d20697342696e644b6579203f20756e646566696e6564203a20676574446174612866756e63293b0a0a202020202020766172206e657744617461203d205b0a202020202020202066756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c646572732c207061727469616c7352696768742c20686f6c6465727352696768742c0a2020202020202020617267506f732c206172792c2061726974790a2020202020205d3b0a0a202020202020696620286461746129207b0a20202020202020206d6572676544617461286e6577446174612c2064617461293b0a2020202020207d0a20202020202066756e63203d206e6577446174615b305d3b0a2020202020206269746d61736b203d206e6577446174615b315d3b0a20202020202074686973417267203d206e6577446174615b325d3b0a2020202020207061727469616c73203d206e6577446174615b335d3b0a202020202020686f6c64657273203d206e6577446174615b345d3b0a2020202020206172697479203d206e6577446174615b395d203d206e6577446174615b395d203d3d3d20756e646566696e65640a20202020202020203f2028697342696e644b6579203f2030203a2066756e632e6c656e677468290a20202020202020203a206e61746976654d6178286e6577446174615b395d202d206c656e6774682c2030293b0a0a20202020202069662028216172697479202626206269746d61736b20262028575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c41472929207b0a20202020202020206269746d61736b20263d207e28575241505f43555252595f464c4147207c20575241505f43555252595f52494748545f464c4147293b0a2020202020207d0a20202020202069662028216269746d61736b207c7c206269746d61736b203d3d20575241505f42494e445f464c414729207b0a202020202020202076617220726573756c74203d2063726561746542696e642866756e632c206269746d61736b2c2074686973417267293b0a2020202020207d20656c736520696620286269746d61736b203d3d20575241505f43555252595f464c4147207c7c206269746d61736b203d3d20575241505f43555252595f52494748545f464c414729207b0a2020202020202020726573756c74203d2063726561746543757272792866756e632c206269746d61736b2c206172697479293b0a2020202020207d20656c73652069662028286269746d61736b203d3d20575241505f5041525449414c5f464c4147207c7c206269746d61736b203d3d2028575241505f42494e445f464c4147207c20575241505f5041525449414c5f464c414729292026262021686f6c646572732e6c656e67746829207b0a2020202020202020726573756c74203d206372656174655061727469616c2866756e632c206269746d61736b2c20746869734172672c207061727469616c73293b0a2020202020207d20656c7365207b0a2020202020202020726573756c74203d206372656174654879627269642e6170706c7928756e646566696e65642c206e657744617461293b0a2020202020207d0a20202020202076617220736574746572203d2064617461203f206261736553657444617461203a20736574446174613b0a20202020202072657475726e2073657457726170546f537472696e672873657474657228726573756c742c206e657744617461292c2066756e632c206269746d61736b293b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e64656661756c74736020746f20637573746f6d697a652069747320605f2e61737369676e496e602075736520746f2061737369676e2070726f706572746965730a20202020202a206f6620736f75726365206f626a6563747320746f207468652064657374696e6174696f6e206f626a65637420666f7220616c6c2064657374696e6174696f6e2070726f706572746965730a20202020202a2074686174207265736f6c766520746f2060756e646566696e6564602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d206f626a56616c7565205468652064657374696e6174696f6e2076616c75652e0a20202020202a2040706172616d207b2a7d2073726356616c75652054686520736f757263652076616c75652e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f2061737369676e2e0a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520706172656e74206f626a656374206f6620606f626a56616c7565602e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d44656661756c747341737369676e496e286f626a56616c75652c2073726356616c75652c206b65792c206f626a65637429207b0a202020202020696620286f626a56616c7565203d3d3d20756e646566696e6564207c7c0a20202020202020202020286571286f626a56616c75652c206f626a65637450726f746f5b6b65795d2920262620216861734f776e50726f70657274792e63616c6c286f626a6563742c206b6579292929207b0a202020202020202072657475726e2073726356616c75653b0a2020202020207d0a20202020202072657475726e206f626a56616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e64656661756c7473446565706020746f20637573746f6d697a652069747320605f2e6d65726765602075736520746f206d6572676520736f757263650a20202020202a206f626a6563747320696e746f2064657374696e6174696f6e206f626a656374732074686174206172652070617373656420746872752e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d206f626a56616c7565205468652064657374696e6174696f6e2076616c75652e0a20202020202a2040706172616d207b2a7d2073726356616c75652054686520736f757263652076616c75652e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206d657267652e0a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520706172656e74206f626a656374206f6620606f626a56616c7565602e0a20202020202a2040706172616d207b4f626a6563747d20736f757263652054686520706172656e74206f626a656374206f66206073726356616c7565602e0a20202020202a2040706172616d207b4f626a6563747d205b737461636b5d20547261636b732074726176657273656420736f757263652076616c75657320616e64207468656972206d65726765640a20202020202a2020636f756e74657270617274732e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652076616c756520746f2061737369676e2e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d44656661756c74734d65726765286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b29207b0a2020202020206966202869734f626a656374286f626a56616c7565292026262069734f626a6563742873726356616c75652929207b0a20202020202020202f2f205265637572736976656c79206d65726765206f626a6563747320616e642061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020737461636b2e7365742873726356616c75652c206f626a56616c7565293b0a2020202020202020626173654d65726765286f626a56616c75652c2073726356616c75652c20756e646566696e65642c20637573746f6d44656661756c74734d657267652c20737461636b293b0a2020202020202020737461636b5b2764656c657465275d2873726356616c7565293b0a2020202020207d0a20202020202072657475726e206f626a56616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a205573656420627920605f2e6f6d69746020746f20637573746f6d697a652069747320605f2e636c6f6e6544656570602075736520746f206f6e6c7920636c6f6e6520706c61696e0a20202020202a206f626a656374732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f20696e73706563742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520756e636c6f6e65642076616c7565206f722060756e646566696e65646020746f20646566657220636c6f6e696e6720746f20605f2e636c6f6e6544656570602e0a20202020202a2f0a2020202066756e6374696f6e20637573746f6d4f6d6974436c6f6e652876616c756529207b0a20202020202072657475726e206973506c61696e4f626a6563742876616c756529203f20756e646566696e6564203a2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f7220617272617973207769746820737570706f727420666f720a20202020202a207061727469616c206465657020636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6d706172652e0a20202020202a2040706172616d207b41727261797d206f7468657220546865206f7468657220617272617920746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b7320747261766572736564206061727261796020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652061727261797320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4172726179732861727261792c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a2020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41472c0a202020202020202020206172724c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206f74684c656e677468203d206f746865722e6c656e6774683b0a0a202020202020696620286172724c656e67746820213d206f74684c656e67746820262620212869735061727469616c202626206f74684c656e677468203e206172724c656e6774682929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a20202020202076617220737461636b6564203d20737461636b2e676574286172726179293b0a20202020202069662028737461636b656420262620737461636b2e676574286f746865722929207b0a202020202020202072657475726e20737461636b6564203d3d206f746865723b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020726573756c74203d20747275652c0a202020202020202020207365656e203d20286269746d61736b202620434f4d504152455f554e4f5244455245445f464c414729203f206e6577205365744361636865203a20756e646566696e65643b0a0a202020202020737461636b2e7365742861727261792c206f74686572293b0a202020202020737461636b2e736574286f746865722c206172726179293b0a0a2020202020202f2f2049676e6f7265206e6f6e2d696e6465782070726f706572746965732e0a2020202020207768696c6520282b2b696e646578203c206172724c656e67746829207b0a20202020202020207661722061727256616c7565203d2061727261795b696e6465785d2c0a2020202020202020202020206f746856616c7565203d206f746865725b696e6465785d3b0a0a202020202020202069662028637573746f6d697a657229207b0a2020202020202020202076617220636f6d7061726564203d2069735061727469616c0a2020202020202020202020203f20637573746f6d697a6572286f746856616c75652c2061727256616c75652c20696e6465782c206f746865722c2061727261792c20737461636b290a2020202020202020202020203a20637573746f6d697a65722861727256616c75652c206f746856616c75652c20696e6465782c2061727261792c206f746865722c20737461636b293b0a20202020202020207d0a202020202020202069662028636f6d706172656420213d3d20756e646566696e656429207b0a2020202020202020202069662028636f6d706172656429207b0a202020202020202020202020636f6e74696e75653b0a202020202020202020207d0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920636f6d706172652061727261797320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020696620287365656e29207b0a2020202020202020202069662028216172726179536f6d65286f746865722c2066756e6374696f6e286f746856616c75652c206f7468496e64657829207b0a2020202020202020202020202020202069662028216361636865486173287365656e2c206f7468496e646578292026260a20202020202020202020202020202020202020202861727256616c7565203d3d3d206f746856616c7565207c7c20657175616c46756e632861727256616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b292929207b0a20202020202020202020202020202020202072657475726e207365656e2e70757368286f7468496e646578293b0a202020202020202020202020202020207d0a20202020202020202020202020207d2929207b0a202020202020202020202020726573756c74203d2066616c73653b0a202020202020202020202020627265616b3b0a202020202020202020207d0a20202020202020207d20656c7365206966202821280a202020202020202020202020202061727256616c7565203d3d3d206f746856616c7565207c7c0a20202020202020202020202020202020657175616c46756e632861727256616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b290a2020202020202020202020202929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020207d0a202020202020737461636b5b2764656c657465275d286172726179293b0a202020202020737461636b5b2764656c657465275d286f74686572293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f7220636f6d706172696e67206f626a65637473206f660a20202020202a207468652073616d652060746f537472696e67546167602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546869732066756e6374696f6e206f6e6c7920737570706f72747320636f6d706172696e672076616c75657320776974682074616773206f660a20202020202a2060426f6f6c65616e602c206044617465602c20604572726f72602c20604e756d626572602c2060526567457870602c206f722060537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b737472696e677d20746167205468652060746f537472696e6754616760206f6620746865206f626a6563747320746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4279546167286f626a6563742c206f746865722c207461672c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a202020202020737769746368202874616729207b0a2020202020202020636173652064617461566965775461673a0a2020202020202020202069662028286f626a6563742e627974654c656e67746820213d206f746865722e627974654c656e67746829207c7c0a2020202020202020202020202020286f626a6563742e627974654f666673657420213d206f746865722e627974654f66667365742929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a202020202020202020206f626a656374203d206f626a6563742e6275666665723b0a202020202020202020206f74686572203d206f746865722e6275666665723b0a0a2020202020202020636173652061727261794275666665725461673a0a2020202020202020202069662028286f626a6563742e627974654c656e67746820213d206f746865722e627974654c656e67746829207c7c0a202020202020202020202020202021657175616c46756e63286e65772055696e74384172726179286f626a656374292c206e65772055696e74384172726179286f74686572292929207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a2020202020202020202072657475726e20747275653b0a0a20202020202020206361736520626f6f6c5461673a0a20202020202020206361736520646174655461673a0a202020202020202063617365206e756d6265725461673a0a202020202020202020202f2f20436f6572636520626f6f6c65616e7320746f20603160206f722060306020616e6420646174657320746f206d696c6c697365636f6e64732e0a202020202020202020202f2f20496e76616c69642064617465732061726520636f657263656420746f20604e614e602e0a2020202020202020202072657475726e206571282b6f626a6563742c202b6f74686572293b0a0a202020202020202063617365206572726f725461673a0a2020202020202020202072657475726e206f626a6563742e6e616d65203d3d206f746865722e6e616d65202626206f626a6563742e6d657373616765203d3d206f746865722e6d6573736167653b0a0a202020202020202063617365207265676578705461673a0a20202020202020206361736520737472696e675461673a0a202020202020202020202f2f20436f65726365207265676578657320746f20737472696e677320616e6420747265617420737472696e67732c207072696d69746976657320616e64206f626a656374732c0a202020202020202020202f2f20617320657175616c2e2053656520687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d7265676578702e70726f746f747970652e746f737472696e670a202020202020202020202f2f20666f72206d6f72652064657461696c732e0a2020202020202020202072657475726e206f626a656374203d3d20286f74686572202b202727293b0a0a202020202020202063617365206d61705461673a0a2020202020202020202076617220636f6e76657274203d206d6170546f41727261793b0a0a202020202020202063617365207365745461673a0a202020202020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41473b0a20202020202020202020636f6e76657274207c7c2028636f6e76657274203d20736574546f4172726179293b0a0a20202020202020202020696620286f626a6563742e73697a6520213d206f746865722e73697a65202626202169735061727469616c29207b0a20202020202020202020202072657475726e2066616c73653b0a202020202020202020207d0a202020202020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a2020202020202020202076617220737461636b6564203d20737461636b2e676574286f626a656374293b0a2020202020202020202069662028737461636b656429207b0a20202020202020202020202072657475726e20737461636b6564203d3d206f746865723b0a202020202020202020207d0a202020202020202020206269746d61736b207c3d20434f4d504152455f554e4f5244455245445f464c41473b0a0a202020202020202020202f2f205265637572736976656c7920636f6d70617265206f626a6563747320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a20202020202020202020737461636b2e736574286f626a6563742c206f74686572293b0a2020202020202020202076617220726573756c74203d20657175616c41727261797328636f6e76657274286f626a656374292c20636f6e76657274286f74686572292c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b293b0a20202020202020202020737461636b5b2764656c657465275d286f626a656374293b0a2020202020202020202072657475726e20726573756c743b0a0a2020202020202020636173652073796d626f6c5461673a0a202020202020202020206966202873796d626f6c56616c75654f6629207b0a20202020202020202020202072657475726e2073796d626f6c56616c75654f662e63616c6c286f626a65637429203d3d2073796d626f6c56616c75654f662e63616c6c286f74686572293b0a202020202020202020207d0a2020202020207d0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173654973457175616c446565706020666f72206f626a65637473207769746820737570706f727420666f720a20202020202a207061727469616c206465657020636f6d70617269736f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b4f626a6563747d206f7468657220546865206f74686572206f626a65637420746f20636f6d706172652e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060626173654973457175616c6020666f72206d6f72652064657461696c732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a2040706172616d207b46756e6374696f6e7d20657175616c46756e63205468652066756e6374696f6e20746f2064657465726d696e65206571756976616c656e7473206f662076616c7565732e0a20202020202a2040706172616d207b4f626a6563747d20737461636b20547261636b732074726176657273656420606f626a6563746020616e6420606f7468657260206f626a656374732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620746865206f626a6563747320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20657175616c4f626a65637473286f626a6563742c206f746865722c206269746d61736b2c20637573746f6d697a65722c20657175616c46756e632c20737461636b29207b0a2020202020207661722069735061727469616c203d206269746d61736b202620434f4d504152455f5041525449414c5f464c41472c0a202020202020202020206f626a50726f7073203d20676574416c6c4b657973286f626a656374292c0a202020202020202020206f626a4c656e677468203d206f626a50726f70732e6c656e6774682c0a202020202020202020206f746850726f7073203d20676574416c6c4b657973286f74686572292c0a202020202020202020206f74684c656e677468203d206f746850726f70732e6c656e6774683b0a0a202020202020696620286f626a4c656e67746820213d206f74684c656e677468202626202169735061727469616c29207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a20202020202076617220696e646578203d206f626a4c656e6774683b0a2020202020207768696c652028696e6465782d2d29207b0a2020202020202020766172206b6579203d206f626a50726f70735b696e6465785d3b0a202020202020202069662028212869735061727469616c203f206b657920696e206f74686572203a206861734f776e50726f70657274792e63616c6c286f746865722c206b6579292929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a2020202020202f2f20417373756d65206379636c69632076616c7565732061726520657175616c2e0a20202020202076617220737461636b6564203d20737461636b2e676574286f626a656374293b0a20202020202069662028737461636b656420262620737461636b2e676574286f746865722929207b0a202020202020202072657475726e20737461636b6564203d3d206f746865723b0a2020202020207d0a20202020202076617220726573756c74203d20747275653b0a202020202020737461636b2e736574286f626a6563742c206f74686572293b0a202020202020737461636b2e736574286f746865722c206f626a656374293b0a0a20202020202076617220736b697043746f72203d2069735061727469616c3b0a2020202020207768696c6520282b2b696e646578203c206f626a4c656e67746829207b0a20202020202020206b6579203d206f626a50726f70735b696e6465785d3b0a2020202020202020766172206f626a56616c7565203d206f626a6563745b6b65795d2c0a2020202020202020202020206f746856616c7565203d206f746865725b6b65795d3b0a0a202020202020202069662028637573746f6d697a657229207b0a2020202020202020202076617220636f6d7061726564203d2069735061727469616c0a2020202020202020202020203f20637573746f6d697a6572286f746856616c75652c206f626a56616c75652c206b65792c206f746865722c206f626a6563742c20737461636b290a2020202020202020202020203a20637573746f6d697a6572286f626a56616c75652c206f746856616c75652c206b65792c206f626a6563742c206f746865722c20737461636b293b0a20202020202020207d0a20202020202020202f2f205265637572736976656c7920636f6d70617265206f626a6563747320287375736365707469626c6520746f2063616c6c20737461636b206c696d697473292e0a2020202020202020696620282128636f6d7061726564203d3d3d20756e646566696e65640a20202020202020202020202020203f20286f626a56616c7565203d3d3d206f746856616c7565207c7c20657175616c46756e63286f626a56616c75652c206f746856616c75652c206269746d61736b2c20637573746f6d697a65722c20737461636b29290a20202020202020202020202020203a20636f6d70617265640a2020202020202020202020202929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020202020627265616b3b0a20202020202020207d0a2020202020202020736b697043746f72207c7c2028736b697043746f72203d206b6579203d3d2027636f6e7374727563746f7227293b0a2020202020207d0a20202020202069662028726573756c742026262021736b697043746f7229207b0a2020202020202020766172206f626a43746f72203d206f626a6563742e636f6e7374727563746f722c0a2020202020202020202020206f746843746f72203d206f746865722e636f6e7374727563746f723b0a0a20202020202020202f2f204e6f6e20604f626a65637460206f626a65637420696e7374616e636573207769746820646966666572656e7420636f6e7374727563746f727320617265206e6f7420657175616c2e0a2020202020202020696620286f626a43746f7220213d206f746843746f722026260a2020202020202020202020202827636f6e7374727563746f722720696e206f626a6563742026262027636f6e7374727563746f722720696e206f74686572292026260a2020202020202020202020202128747970656f66206f626a43746f72203d3d202766756e6374696f6e27202626206f626a43746f7220696e7374616e63656f66206f626a43746f722026260a2020202020202020202020202020747970656f66206f746843746f72203d3d202766756e6374696f6e27202626206f746843746f7220696e7374616e63656f66206f746843746f722929207b0a20202020202020202020726573756c74203d2066616c73653b0a20202020202020207d0a2020202020207d0a202020202020737461636b5b2764656c657465275d286f626a656374293b0a202020202020737461636b5b2764656c657465275d286f74686572293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f66206062617365526573746020776869636820666c617474656e732074686520726573742061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e20666c6174526573742866756e6329207b0a20202020202072657475726e20736574546f537472696e67286f766572526573742866756e632c20756e646566696e65642c20666c617474656e292c2066756e63202b202727293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20656e756d657261626c652070726f7065727479206e616d657320616e642073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e20676574416c6c4b657973286f626a65637429207b0a20202020202072657475726e2062617365476574416c6c4b657973286f626a6563742c206b6579732c2067657453796d626f6c73293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479206e616d657320616e640a20202020202a2073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d657320616e642073796d626f6c732e0a20202020202a2f0a2020202066756e6374696f6e20676574416c6c4b657973496e286f626a65637429207b0a20202020202072657475726e2062617365476574416c6c4b657973286f626a6563742c206b657973496e2c2067657453796d626f6c73496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473206d6574616461746120666f72206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6574616461746120666f72206066756e63602e0a20202020202a2f0a202020207661722067657444617461203d20216d6574614d6170203f206e6f6f70203a2066756e6374696f6e2866756e6329207b0a20202020202072657475726e206d6574614d61702e6765742866756e63293b0a202020207d3b0a0a202020202f2a2a0a20202020202a204765747320746865206e616d65206f66206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652066756e6374696f6e206e616d652e0a20202020202a2f0a2020202066756e6374696f6e2067657446756e634e616d652866756e6329207b0a20202020202076617220726573756c74203d202866756e632e6e616d65202b202727292c0a202020202020202020206172726179203d207265616c4e616d65735b726573756c745d2c0a202020202020202020206c656e677468203d206861734f776e50726f70657274792e63616c6c287265616c4e616d65732c20726573756c7429203f2061727261792e6c656e677468203a20303b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a20202020202020207661722064617461203d2061727261795b6c656e6774685d2c0a2020202020202020202020206f7468657246756e63203d20646174612e66756e633b0a2020202020202020696620286f7468657246756e63203d3d206e756c6c207c7c206f7468657246756e63203d3d2066756e6329207b0a2020202020202020202072657475726e20646174612e6e616d653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520617267756d656e7420706c616365686f6c6465722076616c756520666f72206066756e63602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20696e73706563742e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520706c616365686f6c6465722076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20676574486f6c6465722866756e6329207b0a202020202020766172206f626a656374203d206861734f776e50726f70657274792e63616c6c286c6f646173682c2027706c616365686f6c6465722729203f206c6f64617368203a2066756e633b0a20202020202072657475726e206f626a6563742e706c616365686f6c6465723b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520617070726f70726961746520226974657261746565222066756e6374696f6e2e20496620605f2e69746572617465656020697320637573746f6d697a65642c0a20202020202a20746869732066756e6374696f6e2072657475726e732074686520637573746f6d206d6574686f642c206f74686572776973652069742072657475726e732060626173654974657261746565602e0a20202020202a20496620617267756d656e7473206172652070726f76696465642c207468652063686f73656e2066756e6374696f6e20697320696e766f6b65642077697468207468656d20616e640a20202020202a2069747320726573756c742069732072657475726e65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d205b76616c75655d205468652076616c756520746f20636f6e7665727420746f20616e2069746572617465652e0a20202020202a2040706172616d207b6e756d6265727d205b61726974795d20546865206172697479206f662074686520637265617465642069746572617465652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652063686f73656e2066756e6374696f6e206f722069747320726573756c742e0a20202020202a2f0a2020202066756e6374696f6e2067657449746572617465652829207b0a20202020202076617220726573756c74203d206c6f646173682e6974657261746565207c7c2069746572617465653b0a202020202020726573756c74203d20726573756c74203d3d3d206974657261746565203f20626173654974657261746565203a20726573756c743b0a20202020202072657475726e20617267756d656e74732e6c656e677468203f20726573756c7428617267756d656e74735b305d2c20617267756d656e74735b315d29203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206461746120666f7220606d6170602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206d617020546865206d617020746f2071756572792e0a20202020202a2040706172616d207b737472696e677d206b657920546865207265666572656e6365206b65792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d617020646174612e0a20202020202a2f0a2020202066756e6374696f6e206765744d617044617461286d61702c206b657929207b0a2020202020207661722064617461203d206d61702e5f5f646174615f5f3b0a20202020202072657475726e2069734b657961626c65286b6579290a20202020202020203f20646174615b747970656f66206b6579203d3d2027737472696e6727203f2027737472696e6727203a202768617368275d0a20202020202020203a20646174612e6d61703b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652070726f7065727479206e616d65732c2076616c7565732c20616e6420636f6d7061726520666c616773206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206d617463682064617461206f6620606f626a656374602e0a20202020202a2f0a2020202066756e6374696f6e206765744d6174636844617461286f626a65637429207b0a20202020202076617220726573756c74203d206b657973286f626a656374292c0a202020202020202020206c656e677468203d20726573756c742e6c656e6774683b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a2020202020202020766172206b6579203d20726573756c745b6c656e6774685d2c0a20202020202020202020202076616c7565203d206f626a6563745b6b65795d3b0a0a2020202020202020726573756c745b6c656e6774685d203d205b6b65792c2076616c75652c206973537472696374436f6d70617261626c652876616c7565295d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206e61746976652066756e6374696f6e20617420606b657960206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f6620746865206d6574686f6420746f206765742e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652066756e6374696f6e2069662069742773206e61746976652c20656c73652060756e646566696e6564602e0a20202020202a2f0a2020202066756e6374696f6e206765744e6174697665286f626a6563742c206b657929207b0a2020202020207661722076616c7565203d2067657456616c7565286f626a6563742c206b6579293b0a20202020202072657475726e206261736549734e61746976652876616c756529203f2076616c7565203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f66206062617365476574546167602077686963682069676e6f726573206053796d626f6c2e746f537472696e67546167602076616c7565732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207261772060746f537472696e67546167602e0a20202020202a2f0a2020202066756e6374696f6e206765745261775461672876616c756529207b0a2020202020207661722069734f776e203d206861734f776e50726f70657274792e63616c6c2876616c75652c2073796d546f537472696e67546167292c0a20202020202020202020746167203d2076616c75655b73796d546f537472696e675461675d3b0a0a202020202020747279207b0a202020202020202076616c75655b73796d546f537472696e675461675d203d20756e646566696e65643b0a202020202020202076617220756e6d61736b6564203d20747275653b0a2020202020207d20636174636820286529207b7d0a0a20202020202076617220726573756c74203d206e61746976654f626a656374546f537472696e672e63616c6c2876616c7565293b0a20202020202069662028756e6d61736b656429207b0a20202020202020206966202869734f776e29207b0a2020202020202020202076616c75655b73796d546f537472696e675461675d203d207461673b0a20202020202020207d20656c7365207b0a2020202020202020202064656c6574652076616c75655b73796d546f537472696e675461675d3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c652073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662073796d626f6c732e0a20202020202a2f0a202020207661722067657453796d626f6c73203d20216e617469766547657453796d626f6c73203f20737475624172726179203a2066756e6374696f6e286f626a65637429207b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206f626a656374203d204f626a656374286f626a656374293b0a20202020202072657475726e20617272617946696c746572286e617469766547657453796d626f6c73286f626a656374292c2066756e6374696f6e2873796d626f6c29207b0a202020202020202072657475726e2070726f70657274794973456e756d657261626c652e63616c6c286f626a6563742c2073796d626f6c293b0a2020202020207d293b0a202020207d3b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c652073796d626f6c73206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662073796d626f6c732e0a20202020202a2f0a202020207661722067657453796d626f6c73496e203d20216e617469766547657453796d626f6c73203f20737475624172726179203a2066756e6374696f6e286f626a65637429207b0a20202020202076617220726573756c74203d205b5d3b0a2020202020207768696c6520286f626a65637429207b0a202020202020202061727261795075736828726573756c742c2067657453796d626f6c73286f626a65637429293b0a20202020202020206f626a656374203d2067657450726f746f74797065286f626a656374293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d3b0a0a202020202f2a2a0a20202020202a2047657473207468652060746f537472696e6754616760206f66206076616c7565602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2071756572792e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652060746f537472696e67546167602e0a20202020202a2f0a2020202076617220676574546167203d20626173654765745461673b0a0a202020202f2f2046616c6c6261636b20666f7220646174612076696577732c206d6170732c20736574732c20616e64207765616b206d61707320696e20494520313120616e642070726f6d6973657320696e204e6f64652e6a73203c20362e0a202020206966202828446174615669657720262620676574546167286e6577204461746156696577286e6577204172726179427566666572283129292920213d20646174615669657754616729207c7c0a2020202020202020284d617020262620676574546167286e6577204d61702920213d206d617054616729207c7c0a20202020202020202850726f6d697365202626206765745461672850726f6d6973652e7265736f6c766528292920213d2070726f6d69736554616729207c7c0a20202020202020202853657420262620676574546167286e6577205365742920213d2073657454616729207c7c0a2020202020202020285765616b4d617020262620676574546167286e6577205765616b4d61702920213d207765616b4d61705461672929207b0a202020202020676574546167203d2066756e6374696f6e2876616c756529207b0a202020202020202076617220726573756c74203d20626173654765745461672876616c7565292c0a20202020202020202020202043746f72203d20726573756c74203d3d206f626a656374546167203f2076616c75652e636f6e7374727563746f72203a20756e646566696e65642c0a20202020202020202020202063746f72537472696e67203d2043746f72203f20746f536f757263652843746f7229203a2027273b0a0a20202020202020206966202863746f72537472696e6729207b0a20202020202020202020737769746368202863746f72537472696e6729207b0a2020202020202020202020206361736520646174615669657743746f72537472696e673a2072657475726e2064617461566965775461673b0a20202020202020202020202063617365206d617043746f72537472696e673a2072657475726e206d61705461673b0a202020202020202020202020636173652070726f6d69736543746f72537472696e673a2072657475726e2070726f6d6973655461673b0a202020202020202020202020636173652073657443746f72537472696e673a2072657475726e207365745461673b0a20202020202020202020202063617365207765616b4d617043746f72537472696e673a2072657475726e207765616b4d61705461673b0a202020202020202020207d0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520766965772c206170706c79696e6720616e7920607472616e73666f726d736020746f20746865206073746172746020616e642060656e646020706f736974696f6e732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b6e756d6265727d20737461727420546865207374617274206f662074686520766965772e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f662074686520766965772e0a20202020202a2040706172616d207b41727261797d207472616e73666f726d7320546865207472616e73666f726d6174696f6e7320746f206170706c7920746f2074686520766965772e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320616e206f626a65637420636f6e7461696e696e6720746865206073746172746020616e642060656e64600a20202020202a2020706f736974696f6e73206f662074686520766965772e0a20202020202a2f0a2020202066756e6374696f6e20676574566965772873746172742c20656e642c207472616e73666f726d7329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d207472616e73666f726d732e6c656e6774683b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722064617461203d207472616e73666f726d735b696e6465785d2c0a20202020202020202020202073697a65203d20646174612e73697a653b0a0a20202020202020207377697463682028646174612e7479706529207b0a2020202020202020202063617365202764726f70273a2020202020207374617274202b3d2073697a653b20627265616b3b0a2020202020202020202063617365202764726f705269676874273a20656e64202d3d2073697a653b20627265616b3b0a2020202020202020202063617365202774616b65273a202020202020656e64203d206e61746976654d696e28656e642c207374617274202b2073697a65293b20627265616b3b0a2020202020202020202063617365202774616b655269676874273a207374617274203d206e61746976654d61782873746172742c20656e64202d2073697a65293b20627265616b3b0a20202020202020207d0a2020202020207d0a20202020202072657475726e207b20277374617274273a2073746172742c2027656e64273a20656e64207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20457874726163747320777261707065722064657461696c732066726f6d207468652060736f757263656020626f647920636f6d6d656e742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20736f757263652054686520736f7572636520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520777261707065722064657461696c732e0a20202020202a2f0a2020202066756e6374696f6e206765745772617044657461696c7328736f7572636529207b0a202020202020766172206d61746368203d20736f757263652e6d617463682872655772617044657461696c73293b0a20202020202072657475726e206d61746368203f206d617463685b315d2e73706c697428726553706c697444657461696c7329203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060706174686020657869737473206f6e20606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a2040706172616d207b46756e6374696f6e7d2068617346756e63205468652066756e6374696f6e20746f20636865636b2070726f706572746965732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2068617350617468286f626a6563742c20706174682c2068617346756e6329207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774682c0a20202020202020202020726573756c74203d2066616c73653b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020766172206b6579203d20746f4b657928706174685b696e6465785d293b0a2020202020202020696620282128726573756c74203d206f626a65637420213d206e756c6c2026262068617346756e63286f626a6563742c206b6579292929207b0a20202020202020202020627265616b3b0a20202020202020207d0a20202020202020206f626a656374203d206f626a6563745b6b65795d3b0a2020202020207d0a20202020202069662028726573756c74207c7c202b2b696e64657820213d206c656e67746829207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020206c656e677468203d206f626a656374203d3d206e756c6c203f2030203a206f626a6563742e6c656e6774683b0a20202020202072657475726e2021216c656e6774682026262069734c656e677468286c656e67746829202626206973496e646578286b65792c206c656e677468292026260a20202020202020202869734172726179286f626a65637429207c7c206973417267756d656e7473286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e20617272617920636c6f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636c6f6e652e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e65417272617928617272617929207b0a202020202020766172206c656e677468203d2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d2061727261792e636f6e7374727563746f72286c656e677468293b0a0a2020202020202f2f204164642070726f706572746965732061737369676e656420627920605265674578702365786563602e0a202020202020696620286c656e67746820262620747970656f662061727261795b305d203d3d2027737472696e6727202626206861734f776e50726f70657274792e63616c6c2861727261792c2027696e646578272929207b0a2020202020202020726573756c742e696e646578203d2061727261792e696e6465783b0a2020202020202020726573756c742e696e707574203d2061727261792e696e7075743b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e206f626a65637420636c6f6e652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e654f626a656374286f626a65637429207b0a20202020202072657475726e2028747970656f66206f626a6563742e636f6e7374727563746f72203d3d202766756e6374696f6e272026262021697350726f746f74797065286f626a65637429290a20202020202020203f20626173654372656174652867657450726f746f74797065286f626a65637429290a20202020202020203a207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a20496e697469616c697a657320616e206f626a65637420636c6f6e65206261736564206f6e206974732060746f537472696e67546167602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546869732066756e6374696f6e206f6e6c7920737570706f72747320636c6f6e696e672076616c75657320776974682074616773206f660a20202020202a2060426f6f6c65616e602c206044617465602c20604572726f72602c20604e756d626572602c2060526567457870602c206f722060537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20636c6f6e652e0a20202020202a2040706172616d207b737472696e677d20746167205468652060746f537472696e6754616760206f6620746865206f626a65637420746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d20636c6f6e6546756e63205468652066756e6374696f6e20746f20636c6f6e652076616c7565732e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6973446565705d20537065636966792061206465657020636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520696e697469616c697a656420636c6f6e652e0a20202020202a2f0a2020202066756e6374696f6e20696e6974436c6f6e654279546167286f626a6563742c207461672c20636c6f6e6546756e632c2069734465657029207b0a2020202020207661722043746f72203d206f626a6563742e636f6e7374727563746f723b0a202020202020737769746368202874616729207b0a2020202020202020636173652061727261794275666665725461673a0a2020202020202020202072657475726e20636c6f6e654172726179427566666572286f626a656374293b0a0a20202020202020206361736520626f6f6c5461673a0a20202020202020206361736520646174655461673a0a2020202020202020202072657475726e206e65772043746f72282b6f626a656374293b0a0a2020202020202020636173652064617461566965775461673a0a2020202020202020202072657475726e20636c6f6e654461746156696577286f626a6563742c20697344656570293b0a0a20202020202020206361736520666c6f617433325461673a206361736520666c6f617436345461673a0a20202020202020206361736520696e74385461673a206361736520696e7431365461673a206361736520696e7433325461673a0a2020202020202020636173652075696e74385461673a20636173652075696e7438436c616d7065645461673a20636173652075696e7431365461673a20636173652075696e7433325461673a0a2020202020202020202072657475726e20636c6f6e6554797065644172726179286f626a6563742c20697344656570293b0a0a202020202020202063617365206d61705461673a0a2020202020202020202072657475726e20636c6f6e654d6170286f626a6563742c206973446565702c20636c6f6e6546756e63293b0a0a202020202020202063617365206e756d6265725461673a0a20202020202020206361736520737472696e675461673a0a2020202020202020202072657475726e206e65772043746f72286f626a656374293b0a0a202020202020202063617365207265676578705461673a0a2020202020202020202072657475726e20636c6f6e65526567457870286f626a656374293b0a0a202020202020202063617365207365745461673a0a2020202020202020202072657475726e20636c6f6e65536574286f626a6563742c206973446565702c20636c6f6e6546756e63293b0a0a2020202020202020636173652073796d626f6c5461673a0a2020202020202020202072657475726e20636c6f6e6553796d626f6c286f626a656374293b0a2020202020207d0a202020207d0a0a202020202f2a2a0a20202020202a20496e73657274732077726170706572206064657461696c736020696e206120636f6d6d656e742061742074686520746f70206f66207468652060736f757263656020626f64792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20736f757263652054686520736f7572636520746f206d6f646966792e0a20202020202a204072657475726e73207b41727261797d2064657461696c73205468652064657461696c7320746f20696e736572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206d6f64696669656420736f757263652e0a20202020202a2f0a2020202066756e6374696f6e20696e736572745772617044657461696c7328736f757263652c2064657461696c7329207b0a202020202020766172206c656e677468203d2064657461696c732e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e20736f757263653b0a2020202020207d0a202020202020766172206c617374496e646578203d206c656e677468202d20313b0a20202020202064657461696c735b6c617374496e6465785d203d20286c656e677468203e2031203f2027262027203a20272729202b2064657461696c735b6c617374496e6465785d3b0a20202020202064657461696c73203d2064657461696c732e6a6f696e286c656e677468203e2032203f20272c2027203a20272027293b0a20202020202072657475726e20736f757263652e7265706c61636528726557726170436f6d6d656e742c20277b5c6e2f2a205b7772617070656420776974682027202b2064657461696c73202b20275d202a2f5c6e27293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206120666c617474656e61626c652060617267756d656e747360206f626a656374206f722061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320666c617474656e61626c652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973466c617474656e61626c652876616c756529207b0a20202020202072657475726e20697341727261792876616c756529207c7c206973417267756d656e74732876616c756529207c7c0a202020202020202021212873707265616461626c6553796d626f6c2026262076616c75652026262076616c75655b73707265616461626c6553796d626f6c5d293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612076616c69642061727261792d6c696b6520696e6465782e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d4d41585f534146455f494e54454745525d2054686520757070657220626f756e6473206f6620612076616c696420696e6465782e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612076616c696420696e6465782c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973496e6465782876616c75652c206c656e67746829207b0a2020202020206c656e677468203d206c656e677468203d3d206e756c6c203f204d41585f534146455f494e5445474552203a206c656e6774683b0a20202020202072657475726e2021216c656e6774682026260a202020202020202028747970656f662076616c7565203d3d20276e756d62657227207c7c207265497355696e742e746573742876616c756529292026260a20202020202020202876616c7565203e202d312026262076616c756520252031203d3d20302026262076616c7565203c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662074686520676976656e20617267756d656e7473206172652066726f6d20616e2069746572617465652063616c6c2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c75652054686520706f74656e7469616c2069746572617465652076616c756520617267756d656e742e0a20202020202a2040706172616d207b2a7d20696e6465782054686520706f74656e7469616c20697465726174656520696e646578206f72206b657920617267756d656e742e0a20202020202a2040706172616d207b2a7d206f626a6563742054686520706f74656e7469616c206974657261746565206f626a65637420617267756d656e742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662074686520617267756d656e7473206172652066726f6d20616e2069746572617465652063616c6c2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973497465726174656543616c6c2876616c75652c20696e6465782c206f626a65637429207b0a202020202020696620282169734f626a656374286f626a6563742929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722074797065203d20747970656f6620696e6465783b0a2020202020206966202874797065203d3d20276e756d626572270a2020202020202020202020203f2028697341727261794c696b65286f626a65637429202626206973496e64657828696e6465782c206f626a6563742e6c656e67746829290a2020202020202020202020203a202874797065203d3d2027737472696e672720262620696e64657820696e206f626a656374290a2020202020202020202029207b0a202020202020202072657475726e206571286f626a6563745b696e6465785d2c2076616c7565293b0a2020202020207d0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612070726f7065727479206e616d6520616e64206e6f7420612070726f706572747920706174682e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b4f626a6563747d205b6f626a6563745d20546865206f626a65637420746f207175657279206b657973206f6e2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612070726f7065727479206e616d652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734b65792876616c75652c206f626a65637429207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722074797065203d20747970656f662076616c75653b0a2020202020206966202874797065203d3d20276e756d62657227207c7c2074797065203d3d202773796d626f6c27207c7c2074797065203d3d2027626f6f6c65616e27207c7c0a2020202020202020202076616c7565203d3d206e756c6c207c7c20697353796d626f6c2876616c75652929207b0a202020202020202072657475726e20747275653b0a2020202020207d0a20202020202072657475726e2072654973506c61696e50726f702e746573742876616c756529207c7c2021726549734465657050726f702e746573742876616c756529207c7c0a2020202020202020286f626a65637420213d206e756c6c2026262076616c756520696e204f626a656374286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207375697461626c6520666f722075736520617320756e69717565206f626a656374206b65792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973207375697461626c652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734b657961626c652876616c756529207b0a2020202020207661722074797065203d20747970656f662076616c75653b0a20202020202072657475726e202874797065203d3d2027737472696e6727207c7c2074797065203d3d20276e756d62657227207c7c2074797065203d3d202773796d626f6c27207c7c2074797065203d3d2027626f6f6c65616e27290a20202020202020203f202876616c756520213d3d20275f5f70726f746f5f5f27290a20202020202020203a202876616c7565203d3d3d206e756c6c293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e6360206861732061206c617a7920636f756e746572706172742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206861732061206c617a7920636f756e746572706172742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734c617a6961626c652866756e6329207b0a2020202020207661722066756e634e616d65203d2067657446756e634e616d652866756e63292c0a202020202020202020206f74686572203d206c6f646173685b66756e634e616d655d3b0a0a20202020202069662028747970656f66206f7468657220213d202766756e6374696f6e27207c7c20212866756e634e616d6520696e204c617a79577261707065722e70726f746f747970652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020206966202866756e63203d3d3d206f7468657229207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020207661722064617461203d2067657444617461286f74686572293b0a20202020202072657475726e202121646174612026262066756e63203d3d3d20646174615b305d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e6360206861732069747320736f75726365206d61736b65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206973206d61736b65642c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e2069734d61736b65642866756e6329207b0a20202020202072657475726e2021216d61736b5372634b657920262620286d61736b5372634b657920696e2066756e63293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206066756e63602069732063617061626c65206f66206265696e67206d61736b65642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206066756e6360206973206d61736b61626c652c20656c7365206066616c7365602e0a20202020202a2f0a202020207661722069734d61736b61626c65203d20636f72654a7344617461203f20697346756e6374696f6e203a207374756246616c73653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c7920612070726f746f74797065206f626a6563742e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612070726f746f747970652c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e20697350726f746f747970652876616c756529207b0a2020202020207661722043746f72203d2076616c75652026262076616c75652e636f6e7374727563746f722c0a2020202020202020202070726f746f203d2028747970656f662043746f72203d3d202766756e6374696f6e272026262043746f722e70726f746f7479706529207c7c206f626a65637450726f746f3b0a0a20202020202072657475726e2076616c7565203d3d3d2070726f746f3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207375697461626c6520666f722073747269637420657175616c69747920636f6d70617269736f6e732c20692e652e20603d3d3d602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206966207375697461626c6520666f72207374726963740a20202020202a2020657175616c69747920636f6d70617269736f6e732c20656c7365206066616c7365602e0a20202020202a2f0a2020202066756e6374696f6e206973537472696374436f6d70617261626c652876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d2076616c7565202626202169734f626a6563742876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620606d61746368657350726f70657274796020666f7220736f757263652076616c756573207375697461626c650a20202020202a20666f722073747269637420657175616c69747920636f6d70617269736f6e732c20692e652e20603d3d3d602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206d617463686573537472696374436f6d70617261626c65286b65792c2073726356616c756529207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a2020202020202020696620286f626a656374203d3d206e756c6c29207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a202020202020202072657475726e206f626a6563745b6b65795d203d3d3d2073726356616c75652026260a202020202020202020202873726356616c756520213d3d20756e646566696e6564207c7c20286b657920696e204f626a656374286f626a6563742929293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e6d656d6f697a656020776869636820636c6561727320746865206d656d6f697a65642066756e6374696f6e27730a20202020202a206361636865207768656e206974206578636565647320604d41585f4d454d4f495a455f53495a45602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206861766520697473206f7574707574206d656d6f697a65642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d656d6f697a65642066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206d656d6f697a654361707065642866756e6329207b0a20202020202076617220726573756c74203d206d656d6f697a652866756e632c2066756e6374696f6e286b657929207b0a20202020202020206966202863616368652e73697a65203d3d3d204d41585f4d454d4f495a455f53495a4529207b0a2020202020202020202063616368652e636c65617228293b0a20202020202020207d0a202020202020202072657475726e206b65793b0a2020202020207d293b0a0a202020202020766172206361636865203d20726573756c742e63616368653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204d6572676573207468652066756e6374696f6e206d65746164617461206f662060736f757263656020696e746f206064617461602e0a20202020202a0a20202020202a204d657267696e67206d65746164617461207265647563657320746865206e756d626572206f66207772617070657273207573656420746f20696e766f6b6520612066756e6374696f6e2e0a20202020202a205468697320697320706f737369626c652062656361757365206d6574686f6473206c696b6520605f2e62696e64602c20605f2e6375727279602c20616e6420605f2e7061727469616c600a20202020202a206d6179206265206170706c696564207265676172646c657373206f6620657865637574696f6e206f726465722e204d6574686f6473206c696b6520605f2e6172796020616e640a20202020202a20605f2e726561726760206d6f646966792066756e6374696f6e20617267756d656e74732c206d616b696e6720746865206f7264657220696e2077686963682074686579206172650a20202020202a20657865637574656420696d706f7274616e742c2070726576656e74696e6720746865206d657267696e67206f66206d657461646174612e20486f77657665722c207765206d616b650a20202020202a20616e20657863657074696f6e20666f722061207361666520636f6d62696e6564206361736520776865726520637572726965642066756e6374696f6e73206861766520605f2e617279600a20202020202a20616e64206f7220605f2e726561726760206170706c6965642e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2064617461205468652064657374696e6174696f6e206d657461646174612e0a20202020202a2040706172616d207b41727261797d20736f757263652054686520736f75726365206d657461646174612e0a20202020202a204072657475726e73207b41727261797d2052657475726e73206064617461602e0a20202020202a2f0a2020202066756e6374696f6e206d657267654461746128646174612c20736f7572636529207b0a202020202020766172206269746d61736b203d20646174615b315d2c0a202020202020202020207372634269746d61736b203d20736f757263655b315d2c0a202020202020202020206e65774269746d61736b203d206269746d61736b207c207372634269746d61736b2c0a202020202020202020206973436f6d6d6f6e203d206e65774269746d61736b203c2028575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c4147207c20575241505f4152595f464c4147293b0a0a202020202020766172206973436f6d626f203d0a202020202020202028287372634269746d61736b203d3d20575241505f4152595f464c41472920262620286269746d61736b203d3d20575241505f43555252595f464c41472929207c7c0a202020202020202028287372634269746d61736b203d3d20575241505f4152595f464c41472920262620286269746d61736b203d3d20575241505f52454152475f464c4147292026262028646174615b375d2e6c656e677468203c3d20736f757263655b385d2929207c7c0a202020202020202028287372634269746d61736b203d3d2028575241505f4152595f464c4147207c20575241505f52454152475f464c414729292026262028736f757263655b375d2e6c656e677468203c3d20736f757263655b385d2920262620286269746d61736b203d3d20575241505f43555252595f464c414729293b0a0a2020202020202f2f2045786974206561726c79206966206d657461646174612063616e2774206265206d65726765642e0a2020202020206966202821286973436f6d6d6f6e207c7c206973436f6d626f2929207b0a202020202020202072657475726e20646174613b0a2020202020207d0a2020202020202f2f2055736520736f757263652060746869734172676020696620617661696c61626c652e0a202020202020696620287372634269746d61736b202620575241505f42494e445f464c414729207b0a2020202020202020646174615b325d203d20736f757263655b325d3b0a20202020202020202f2f20536574207768656e206375727279696e67206120626f756e642066756e6374696f6e2e0a20202020202020206e65774269746d61736b207c3d206269746d61736b202620575241505f42494e445f464c4147203f2030203a20575241505f43555252595f424f554e445f464c41473b0a2020202020207d0a2020202020202f2f20436f6d706f7365207061727469616c20617267756d656e74732e0a2020202020207661722076616c7565203d20736f757263655b335d3b0a2020202020206966202876616c756529207b0a2020202020202020766172207061727469616c73203d20646174615b335d3b0a2020202020202020646174615b335d203d207061727469616c73203f20636f6d706f736541726773287061727469616c732c2076616c75652c20736f757263655b345d29203a2076616c75653b0a2020202020202020646174615b345d203d207061727469616c73203f207265706c616365486f6c6465727328646174615b335d2c20504c414345484f4c44455229203a20736f757263655b345d3b0a2020202020207d0a2020202020202f2f20436f6d706f7365207061727469616c20726967687420617267756d656e74732e0a20202020202076616c7565203d20736f757263655b355d3b0a2020202020206966202876616c756529207b0a20202020202020207061727469616c73203d20646174615b355d3b0a2020202020202020646174615b355d203d207061727469616c73203f20636f6d706f7365417267735269676874287061727469616c732c2076616c75652c20736f757263655b365d29203a2076616c75653b0a2020202020202020646174615b365d203d207061727469616c73203f207265706c616365486f6c6465727328646174615b355d2c20504c414345484f4c44455229203a20736f757263655b365d3b0a2020202020207d0a2020202020202f2f2055736520736f757263652060617267506f736020696620617661696c61626c652e0a20202020202076616c7565203d20736f757263655b375d3b0a2020202020206966202876616c756529207b0a2020202020202020646174615b375d203d2076616c75653b0a2020202020207d0a2020202020202f2f2055736520736f75726365206061727960206966206974277320736d616c6c65722e0a202020202020696620287372634269746d61736b202620575241505f4152595f464c414729207b0a2020202020202020646174615b385d203d20646174615b385d203d3d206e756c6c203f20736f757263655b385d203a206e61746976654d696e28646174615b385d2c20736f757263655b385d293b0a2020202020207d0a2020202020202f2f2055736520736f757263652060617269747960206966206f6e65206973206e6f742070726f76696465642e0a20202020202069662028646174615b395d203d3d206e756c6c29207b0a2020202020202020646174615b395d203d20736f757263655b395d3b0a2020202020207d0a2020202020202f2f2055736520736f75726365206066756e636020616e64206d65726765206269746d61736b732e0a202020202020646174615b305d203d20736f757263655b305d3b0a202020202020646174615b315d203d206e65774269746d61736b3b0a0a20202020202072657475726e20646174613b0a202020207d0a0a202020202f2a2a0a20202020202a20546869732066756e6374696f6e206973206c696b650a20202020202a205b604f626a6563742e6b657973605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e6b657973290a20202020202a20657863657074207468617420697420696e636c7564657320696e6865726974656420656e756d657261626c652070726f706572746965732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a2f0a2020202066756e6374696f6e206e61746976654b657973496e286f626a65637429207b0a20202020202076617220726573756c74203d205b5d3b0a202020202020696620286f626a65637420213d206e756c6c29207b0a2020202020202020666f722028766172206b657920696e204f626a656374286f626a6563742929207b0a20202020202020202020726573756c742e70757368286b6579293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e67207573696e6720604f626a6563742e70726f746f747970652e746f537472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a2f0a2020202066756e6374696f6e206f626a656374546f537472696e672876616c756529207b0a20202020202072657475726e206e61746976654f626a656374546f537472696e672e63616c6c2876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f662060626173655265737460207768696368207472616e73666f726d732074686520726573742061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a2040706172616d207b46756e6374696f6e7d207472616e73666f726d205468652072657374206172726179207472616e73666f726d2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e206f766572526573742866756e632c2073746172742c207472616e73666f726d29207b0a2020202020207374617274203d206e61746976654d6178287374617274203d3d3d20756e646566696e6564203f202866756e632e6c656e677468202d203129203a2073746172742c2030293b0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74732c0a202020202020202020202020696e646578203d202d312c0a2020202020202020202020206c656e677468203d206e61746976654d617828617267732e6c656e677468202d2073746172742c2030292c0a2020202020202020202020206172726179203d204172726179286c656e677468293b0a0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a2020202020202020202061727261795b696e6465785d203d20617267735b7374617274202b20696e6465785d3b0a20202020202020207d0a2020202020202020696e646578203d202d313b0a2020202020202020766172206f7468657241726773203d204172726179287374617274202b2031293b0a20202020202020207768696c6520282b2b696e646578203c20737461727429207b0a202020202020202020206f74686572417267735b696e6465785d203d20617267735b696e6465785d3b0a20202020202020207d0a20202020202020206f74686572417267735b73746172745d203d207472616e73666f726d286172726179293b0a202020202020202072657475726e206170706c792866756e632c20746869732c206f7468657241726773293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520706172656e742076616c756520617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797d207061746820546865207061746820746f206765742074686520706172656e742076616c7565206f662e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520706172656e742076616c75652e0a20202020202a2f0a2020202066756e6374696f6e20706172656e74286f626a6563742c207061746829207b0a20202020202072657475726e20706174682e6c656e677468203c2032203f206f626a656374203a2062617365476574286f626a6563742c2062617365536c69636528706174682c20302c202d3129293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656f726465722060617272617960206163636f7264696e6720746f207468652073706563696669656420696e64657865732077686572652074686520656c656d656e742061740a20202020202a2074686520666972737420696e6465782069732061737369676e65642061732074686520666972737420656c656d656e742c2074686520656c656d656e742061740a20202020202a20746865207365636f6e6420696e6465782069732061737369676e656420617320746865207365636f6e6420656c656d656e742c20616e6420736f206f6e2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2072656f726465722e0a20202020202a2040706172616d207b41727261797d20696e64657865732054686520617272616e67656420617272617920696e64657865732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2072656f726465722861727261792c20696e646578657329207b0a202020202020766172206172724c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206c656e677468203d206e61746976654d696e28696e64657865732e6c656e6774682c206172724c656e677468292c0a202020202020202020206f6c644172726179203d20636f70794172726179286172726179293b0a0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202076617220696e646578203d20696e64657865735b6c656e6774685d3b0a202020202020202061727261795b6c656e6774685d203d206973496e64657828696e6465782c206172724c656e67746829203f206f6c6441727261795b696e6465785d203a20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2053657473206d6574616461746120666f72206066756e63602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620746869732066756e6374696f6e206265636f6d657320686f742c20692e652e20697320696e766f6b65642061206c6f7420696e20612073686f72740a20202020202a20706572696f64206f662074696d652c2069742077696c6c20747269702069747320627265616b657220616e64207472616e736974696f6e20746f20616e206964656e746974790a20202020202a2066756e6374696f6e20746f2061766f6964206761726261676520636f6c6c656374696f6e2070617573657320696e2056382e205365650a20202020202a205b563820697373756520323037305d2868747470733a2f2f627567732e6368726f6d69756d2e6f72672f702f76382f6973737565732f64657461696c3f69643d32303730290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206173736f6369617465206d6574616461746120776974682e0a20202020202a2040706172616d207b2a7d206461746120546865206d657461646174612e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a202020207661722073657444617461203d2073686f72744f7574286261736553657444617461293b0a0a202020202f2a2a0a20202020202a20412073696d706c6520777261707065722061726f756e642074686520676c6f62616c205b6073657454696d656f7574605d2868747470733a2f2f6d646e2e696f2f73657454696d656f7574292e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a204072657475726e73207b6e756d6265727c4f626a6563747d2052657475726e73207468652074696d6572206964206f722074696d656f7574206f626a6563742e0a20202020202a2f0a202020207661722073657454696d656f7574203d2063747853657454696d656f7574207c7c2066756e6374696f6e2866756e632c207761697429207b0a20202020202072657475726e20726f6f742e73657454696d656f75742866756e632c2077616974293b0a202020207d3b0a0a202020202f2a2a0a20202020202a2053657473207468652060746f537472696e6760206d6574686f64206f66206066756e636020746f2072657475726e2060737472696e67602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d20737472696e67205468652060746f537472696e676020726573756c742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206066756e63602e0a20202020202a2f0a2020202076617220736574546f537472696e67203d2073686f72744f75742862617365536574546f537472696e67293b0a0a202020202f2a2a0a20202020202a2053657473207468652060746f537472696e6760206d6574686f64206f662060777261707065726020746f206d696d69632074686520736f75726365206f6620607265666572656e6365600a20202020202a207769746820777261707065722064657461696c7320696e206120636f6d6d656e742061742074686520746f70206f662074686520736f7572636520626f64792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2077726170706572205468652066756e6374696f6e20746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d207265666572656e636520546865207265666572656e63652066756e6374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73206077726170706572602e0a20202020202a2f0a2020202066756e6374696f6e2073657457726170546f537472696e6728777261707065722c207265666572656e63652c206269746d61736b29207b0a20202020202076617220736f75726365203d20287265666572656e6365202b202727293b0a20202020202072657475726e20736574546f537472696e6728777261707065722c20696e736572745772617044657461696c7328736f757263652c207570646174655772617044657461696c73286765745772617044657461696c7328736f75726365292c206269746d61736b2929293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174276c6c2073686f7274206f757420616e6420696e766f6b6520606964656e746974796020696e73746561640a20202020202a206f66206066756e6360207768656e20697427732063616c6c65642060484f545f434f554e5460206f72206d6f72652074696d657320696e2060484f545f5350414e600a20202020202a206d696c6c697365636f6e64732e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772073686f727461626c652066756e6374696f6e2e0a20202020202a2f0a2020202066756e6374696f6e2073686f72744f75742866756e6329207b0a20202020202076617220636f756e74203d20302c0a202020202020202020206c61737443616c6c6564203d20303b0a0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020766172207374616d70203d206e61746976654e6f7728292c0a20202020202020202020202072656d61696e696e67203d20484f545f5350414e202d20287374616d70202d206c61737443616c6c6564293b0a0a20202020202020206c61737443616c6c6564203d207374616d703b0a20202020202020206966202872656d61696e696e67203e203029207b0a20202020202020202020696620282b2b636f756e74203e3d20484f545f434f554e5429207b0a20202020202020202020202072657475726e20617267756d656e74735b305d3b0a202020202020202020207d0a20202020202020207d20656c7365207b0a20202020202020202020636f756e74203d20303b0a20202020202020207d0a202020202020202072657475726e2066756e632e6170706c7928756e646566696e65642c20617267756d656e7473293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a2041207370656369616c697a65642076657273696f6e206f6620605f2e73687566666c6560207768696368206d75746174657320616e642073657473207468652073697a65206f6620606172726179602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2073687566666c652e0a20202020202a2040706172616d207b6e756d6265727d205b73697a653d61727261792e6c656e6774685d205468652073697a65206f6620606172726179602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a2f0a2020202066756e6374696f6e2073687566666c6553656c662861727261792c2073697a6529207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d2061727261792e6c656e6774682c0a202020202020202020206c617374496e646578203d206c656e677468202d20313b0a0a20202020202073697a65203d2073697a65203d3d3d20756e646566696e6564203f206c656e677468203a2073697a653b0a2020202020207768696c6520282b2b696e646578203c2073697a6529207b0a20202020202020207661722072616e64203d206261736552616e646f6d28696e6465782c206c617374496e646578292c0a20202020202020202020202076616c7565203d2061727261795b72616e645d3b0a0a202020202020202061727261795b72616e645d203d2061727261795b696e6465785d3b0a202020202020202061727261795b696e6465785d203d2076616c75653b0a2020202020207d0a20202020202061727261792e6c656e677468203d2073697a653b0a20202020202072657475726e2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f20612070726f706572747920706174682061727261792e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652070726f706572747920706174682061727261792e0a20202020202a2f0a2020202076617220737472696e67546f50617468203d206d656d6f697a654361707065642866756e6374696f6e28737472696e6729207b0a20202020202076617220726573756c74203d205b5d3b0a2020202020206966202872654c656164696e67446f742e7465737428737472696e672929207b0a2020202020202020726573756c742e70757368282727293b0a2020202020207d0a202020202020737472696e672e7265706c61636528726550726f704e616d652c2066756e6374696f6e286d617463682c206e756d6265722c2071756f74652c20737472696e6729207b0a2020202020202020726573756c742e707573682871756f7465203f20737472696e672e7265706c616365287265457363617065436861722c202724312729203a20286e756d626572207c7c206d6174636829293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e67206b65792069662069742773206e6f74206120737472696e67206f722073796d626f6c2e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b737472696e677c73796d626f6c7d2052657475726e7320746865206b65792e0a20202020202a2f0a2020202066756e6374696f6e20746f4b65792876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d2027737472696e6727207c7c20697353796d626f6c2876616c75652929207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202076617220726573756c74203d202876616c7565202b202727293b0a20202020202072657475726e2028726573756c74203d3d20273027202626202831202f2076616c756529203d3d202d494e46494e49545929203f20272d3027203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206066756e636020746f2069747320736f7572636520636f64652e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520736f7572636520636f64652e0a20202020202a2f0a2020202066756e6374696f6e20746f536f757263652866756e6329207b0a2020202020206966202866756e6320213d206e756c6c29207b0a2020202020202020747279207b0a2020202020202020202072657475726e2066756e63546f537472696e672e63616c6c2866756e63293b0a20202020202020207d20636174636820286529207b7d0a2020202020202020747279207b0a2020202020202020202072657475726e202866756e63202b202727293b0a20202020202020207d20636174636820286529207b7d0a2020202020207d0a20202020202072657475726e2027273b0a202020207d0a0a202020202f2a2a0a20202020202a20557064617465732077726170706572206064657461696c7360206261736564206f6e20606269746d61736b6020666c6167732e0a20202020202a0a20202020202a2040707269766174650a20202020202a204072657475726e73207b41727261797d2064657461696c73205468652064657461696c7320746f206d6f646966792e0a20202020202a2040706172616d207b6e756d6265727d206269746d61736b20546865206269746d61736b20666c6167732e205365652060637265617465577261706020666f72206d6f72652064657461696c732e0a20202020202a204072657475726e73207b41727261797d2052657475726e73206064657461696c73602e0a20202020202a2f0a2020202066756e6374696f6e207570646174655772617044657461696c732864657461696c732c206269746d61736b29207b0a2020202020206172726179456163682877726170466c6167732c2066756e6374696f6e287061697229207b0a20202020202020207661722076616c7565203d20275f2e27202b20706169725b305d3b0a202020202020202069662028286269746d61736b202620706169725b315d2920262620216172726179496e636c756465732864657461696c732c2076616c75652929207b0a2020202020202020202064657461696c732e707573682876616c7565293b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e2064657461696c732e736f727428293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f66206077726170706572602e0a20202020202a0a20202020202a2040707269766174650a20202020202a2040706172616d207b4f626a6563747d207772617070657220546865207772617070657220746f20636c6f6e652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636c6f6e656420777261707065722e0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436c6f6e65287772617070657229207b0a202020202020696620287772617070657220696e7374616e63656f66204c617a795772617070657229207b0a202020202020202072657475726e20777261707065722e636c6f6e6528293b0a2020202020207d0a20202020202076617220726573756c74203d206e6577204c6f646173685772617070657228777261707065722e5f5f777261707065645f5f2c20777261707065722e5f5f636861696e5f5f293b0a202020202020726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928777261707065722e5f5f616374696f6e735f5f293b0a202020202020726573756c742e5f5f696e6465785f5f20203d20777261707065722e5f5f696e6465785f5f3b0a202020202020726573756c742e5f5f76616c7565735f5f203d20777261707065722e5f5f76616c7565735f5f3b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732073706c697420696e746f2067726f75707320746865206c656e677468206f66206073697a65602e0a20202020202a20496620606172726179602063616e27742062652073706c6974206576656e6c792c207468652066696e616c206368756e6b2077696c6c206265207468652072656d61696e696e670a20202020202a20656c656d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2070726f636573732e0a20202020202a2040706172616d207b6e756d6265727d205b73697a653d315d20546865206c656e677468206f662065616368206368756e6b0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f66206368756e6b732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6368756e6b285b2761272c202762272c202763272c202764275d2c2032293b0a20202020202a202f2f203d3e205b5b2761272c202762275d2c205b2763272c202764275d5d0a20202020202a0a20202020202a205f2e6368756e6b285b2761272c202762272c202763272c202764275d2c2033293b0a20202020202a202f2f203d3e205b5b2761272c202762272c202763275d2c205b2764275d5d0a20202020202a2f0a2020202066756e6374696f6e206368756e6b2861727261792c2073697a652c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c2861727261792c2073697a652c20677561726429203a2073697a65203d3d3d20756e646566696e65642929207b0a202020202020202073697a65203d20313b0a2020202020207d20656c7365207b0a202020202020202073697a65203d206e61746976654d617828746f496e74656765722873697a65292c2030293b0a2020202020207d0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e677468207c7c2073697a65203c203129207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220696e646578203d20302c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d204172726179286e61746976654365696c286c656e677468202f2073697a6529293b0a0a2020202020207768696c652028696e646578203c206c656e67746829207b0a2020202020202020726573756c745b726573496e6465782b2b5d203d2062617365536c6963652861727261792c20696e6465782c2028696e646578202b3d2073697a6529293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179207769746820616c6c2066616c7365792076616c7565732072656d6f7665642e205468652076616c756573206066616c7365602c20606e756c6c602c0a20202020202a206030602c20602222602c2060756e646566696e6564602c20616e6420604e614e60206172652066616c7365792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6d706163742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636f6d70616374285b302c20312c2066616c73652c20322c2027272c20335d293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e20636f6d7061637428617272617929207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a20202020202020202020726573496e646578203d20302c0a20202020202020202020726573756c74203d205b5d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a20202020202020206966202876616c756529207b0a20202020202020202020726573756c745b726573496e6465782b2b5d203d2076616c75653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061206e657720617272617920636f6e636174656e6174696e672060617272617960207769746820616e79206164646974696f6e616c206172726179730a20202020202a20616e642f6f722076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6e636174656e6174652e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f20636f6e636174656e6174652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720636f6e636174656e617465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b315d3b0a20202020202a20766172206f74686572203d205f2e636f6e6361742861727261792c20322c205b335d2c205b5b345d5d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f74686572293b0a20202020202a202f2f203d3e205b312c20322c20332c205b345d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b315d0a20202020202a2f0a2020202066756e6374696f6e20636f6e6361742829207b0a202020202020766172206c656e677468203d20617267756d656e74732e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020207661722061726773203d204172726179286c656e677468202d2031292c0a202020202020202020206172726179203d20617267756d656e74735b305d2c0a20202020202020202020696e646578203d206c656e6774683b0a0a2020202020207768696c652028696e6465782d2d29207b0a2020202020202020617267735b696e646578202d20315d203d20617267756d656e74735b696e6465785d3b0a2020202020207d0a20202020202072657475726e20617272617950757368286973417272617928617272617929203f20636f7079417272617928617272617929203a205b61727261795d2c2062617365466c617474656e28617267732c203129293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620606172726179602076616c756573206e6f7420696e636c7564656420696e20746865206f7468657220676976656e206172726179730a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e776974686f75742c205f2e786f720a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646966666572656e6365285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b315d0a20202020202a2f0a2020202076617220646966666572656e6365203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c207472756529290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e646966666572656e636560206578636570742074686174206974206163636570747320606974657261746565602077686963680a20202020202a20697320696e766f6b656420666f72206561636820656c656d656e74206f66206061727261796020616e64206076616c7565736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c4279602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646966666572656e63654279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e646966666572656e63654279285b7b202778273a2032207d2c207b202778273a2031207d5d2c205b7b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202076617220646966666572656e63654279203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a202020202020766172206974657261746565203d206c6173742876616c756573293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c2074727565292c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e646966666572656e63656020657863657074207468617420697420616363657074732060636f6d70617261746f72600a20202020202a20776869636820697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f66206061727261796020746f206076616c756573602e20546865206f7264657220616e640a20202020202a207265666572656e636573206f6620726573756c742076616c756573206172652064657465726d696e6564206279207468652066697273742061727261792e2054686520636f6d70617261746f720a20202020202a20697320696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c416c6c57697468602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e41727261797d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a0a20202020202a205f2e646966666572656e636557697468286f626a656374732c205b7b202778273a20312c202779273a2032207d5d2c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20322c202779273a2031207d5d0a20202020202a2f0a2020202076617220646966666572656e636557697468203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202076617220636f6d70617261746f72203d206c6173742876616c756573293b0a20202020202069662028697341727261794c696b654f626a65637428636f6d70617261746f722929207b0a2020202020202020636f6d70617261746f72203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2062617365466c617474656e2876616c7565732c20312c20697341727261794c696b654f626a6563742c2074727565292c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732064726f707065642066726f6d2074686520626567696e6e696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2064726f702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b335d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e64726f70285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2064726f702861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a20202020202072657475726e2062617365536c6963652861727261792c206e203c2030203f2030203a206e2c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732064726f707065642066726f6d2074686520656e642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2064726f702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e64726f705269676874285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2064726f7052696768742861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a2020202020206e203d206c656e677468202d206e3b0a20202020202072657475726e2062617365536c6963652861727261792c20302c206e203c2030203f2030203a206e293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960206578636c7564696e6720656c656d656e74732064726f707065642066726f6d2074686520656e642e0a20202020202a20456c656d656e7473206172652064726f7070656420756e74696c2060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e64726f7052696768745768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f7052696768745768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e2064726f7052696768745768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c20747275652c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960206578636c7564696e6720656c656d656e74732064726f707065642066726f6d2074686520626567696e6e696e672e0a20202020202a20456c656d656e7473206172652064726f7070656420756e74696c2060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e64726f705768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e64726f705768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e2064726f705768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2046696c6c7320656c656d656e7473206f6620606172726179602077697468206076616c7565602066726f6d206073746172746020757020746f2c20627574206e6f740a20202020202a20696e636c7564696e672c2060656e64602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2066696c6c2e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2066696c6c206061727261796020776974682e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f2e66696c6c2861727261792c20276127293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2761272c202761272c202761275d0a20202020202a0a20202020202a205f2e66696c6c2841727261792833292c2032293b0a20202020202a202f2f203d3e205b322c20322c20325d0a20202020202a0a20202020202a205f2e66696c6c285b342c20362c20382c2031305d2c20272a272c20312c2033293b0a20202020202a202f2f203d3e205b342c20272a272c20272a272c2031305d0a20202020202a2f0a2020202066756e6374696f6e2066696c6c2861727261792c2076616c75652c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028737461727420262620747970656f6620737461727420213d20276e756d62657227202626206973497465726174656543616c6c2861727261792c2076616c75652c2073746172742929207b0a20202020202020207374617274203d20303b0a2020202020202020656e64203d206c656e6774683b0a2020202020207d0a20202020202072657475726e206261736546696c6c2861727261792c2076616c75652c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64602065786365707420746861742069742072657475726e732074686520696e646578206f66207468652066697273740a20202020202a20656c656d656e742060707265646963617465602072657475726e732074727574687920666f7220696e7374656164206f662074686520656c656d656e7420697473656c662e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666f756e6420656c656d656e742c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e64496e6465782875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e75736572203d3d20276261726e6579273b207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c207b202775736572273a202766726564272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e64496e6465782875736572732c202761637469766527293b0a20202020202a202f2f203d3e20320a20202020202a2f0a2020202066756e6374696f6e2066696e64496e6465782861727261792c207072656469636174652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d2066726f6d496e646578203d3d206e756c6c203f2030203a20746f496e74656765722866726f6d496e646578293b0a20202020202069662028696e646578203c203029207b0a2020202020202020696e646578203d206e61746976654d6178286c656e677468202b20696e6465782c2030293b0a2020202020207d0a20202020202072657475726e206261736546696e64496e6465782861727261792c206765744974657261746565287072656469636174652c2033292c20696e646578293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64496e64657860206578636570742074686174206974206974657261746573206f76657220656c656d656e74730a20202020202a206f662060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d61727261792e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f662074686520666f756e6420656c656d656e742c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e644c617374496e6465782875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e75736572203d3d2027706562626c6573273b207d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c617374496e6465782875736572732c202761637469766527293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e2066696e644c617374496e6465782861727261792c207072656469636174652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d206c656e677468202d20313b0a2020202020206966202866726f6d496e64657820213d3d20756e646566696e656429207b0a2020202020202020696e646578203d20746f496e74656765722866726f6d496e646578293b0a2020202020202020696e646578203d2066726f6d496e646578203c20300a202020202020202020203f206e61746976654d6178286c656e677468202b20696e6465782c2030290a202020202020202020203a206e61746976654d696e28696e6465782c206c656e677468202d2031293b0a2020202020207d0a20202020202072657475726e206261736546696e64496e6465782861727261792c206765744974657261746565287072656469636174652c2033292c20696e6465782c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a20466c617474656e73206061727261796020612073696e676c65206c6576656c20646565702e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c617474656e285b312c205b322c205b332c205b345d5d2c20355d5d293b0a20202020202a202f2f203d3e205b312c20322c205b332c205b345d5d2c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365466c617474656e2861727261792c203129203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a205265637572736976656c7920666c617474656e7320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c617474656e44656570285b312c205b322c205b332c205b345d5d2c20355d5d293b0a20202020202a202f2f203d3e205b312c20322c20332c20342c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e4465657028617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365466c617474656e2861727261792c20494e46494e49545929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a205265637572736976656c7920666c617474656e206061727261796020757020746f20606465707468602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20666c617474656e2e0a20202020202a2040706172616d207b6e756d6265727d205b64657074683d315d20546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c205b322c205b332c205b345d5d2c20355d5d3b0a20202020202a0a20202020202a205f2e666c617474656e44657074682861727261792c2031293b0a20202020202a202f2f203d3e205b312c20322c205b332c205b345d5d2c20355d0a20202020202a0a20202020202a205f2e666c617474656e44657074682861727261792c2032293b0a20202020202a202f2f203d3e205b312c20322c20332c205b345d2c20355d0a20202020202a2f0a2020202066756e6374696f6e20666c617474656e44657074682861727261792c20646570746829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206465707468203d206465707468203d3d3d20756e646566696e6564203f2031203a20746f496e7465676572286465707468293b0a20202020202072657475726e2062617365466c617474656e2861727261792c206465707468293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686520696e7665727365206f6620605f2e746f5061697273603b2074686973206d6574686f642072657475726e7320616e206f626a65637420636f6d706f7365640a20202020202a2066726f6d206b65792d76616c756520607061697273602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20706169727320546865206b65792d76616c75652070616972732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e66726f6d5061697273285b5b2761272c20315d2c205b2762272c20325d5d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a2020202066756e6374696f6e2066726f6d506169727328706169727329207b0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d207061697273203d3d206e756c6c203f2030203a2070616972732e6c656e6774682c0a20202020202020202020726573756c74203d207b7d3b0a0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722070616972203d2070616972735b696e6465785d3b0a2020202020202020726573756c745b706169725b305d5d203d20706169725b315d3b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c6961732066697273740a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e68656164285b312c20322c20335d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a205f2e68656164285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206865616428617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2061727261795b305d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520696e64657820617420776869636820746865206669727374206f6363757272656e6365206f66206076616c75656020697320666f756e6420696e20606172726179600a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e204966206066726f6d496e64657860206973206e656761746976652c20697427732075736564206173207468650a20202020202a206f66667365742066726f6d2074686520656e64206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e6465784f66285b312c20322c20312c20325d2c2032293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f205365617263682066726f6d20746865206066726f6d496e646578602e0a20202020202a205f2e696e6465784f66285b312c20322c20312c20325d2c20322c2032293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20696e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d2066726f6d496e646578203d3d206e756c6c203f2030203a20746f496e74656765722866726f6d496e646578293b0a20202020202069662028696e646578203c203029207b0a2020202020202020696e646578203d206e61746976654d6178286c656e677468202b20696e6465782c2030293b0a2020202020207d0a20202020202072657475726e2062617365496e6465784f662861727261792c2076616c75652c20696e646578293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320616c6c2062757420746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e697469616c285b312c20322c20335d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e20696e697469616c28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365536c6963652861727261792c20302c202d3129203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c75657320746861742061726520696e636c7564656420696e20616c6c20676976656e206172726179730a20202020202a207573696e67205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e74657273656374696f6e285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b325d0a20202020202a2f0a2020202076617220696e74657273656374696f6e203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d6170706564290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e74657273656374696f6e60206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e20546865206f7264657220616e64207265666572656e636573206f6620726573756c742076616c756573206172650a20202020202a2064657465726d696e6564206279207468652066697273742061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e74657273656374696f6e4279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e315d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e696e74657273656374696f6e4279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d5d0a20202020202a2f0a2020202076617220696e74657273656374696f6e4279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973292c0a202020202020202020206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a0a202020202020696620286974657261746565203d3d3d206c617374286d61707065642929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d20656c7365207b0a20202020202020206d61707065642e706f7028293b0a2020202020207d0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d61707065642c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e74657273656374696f6e6020657863657074207468617420697420616363657074732060636f6d70617261746f72600a20202020202a20776869636820697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20546865206f7264657220616e64207265666572656e6365730a20202020202a206f6620726573756c742076616c756573206172652064657465726d696e6564206279207468652066697273742061727261792e2054686520636f6d70617261746f722069730a20202020202a20696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620696e74657273656374696e672076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e696e74657273656374696f6e57697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d5d0a20202020202a2f0a2020202076617220696e74657273656374696f6e57697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973292c0a202020202020202020206d6170706564203d2061727261794d6170286172726179732c206361737441727261794c696b654f626a656374293b0a0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202069662028636f6d70617261746f7229207b0a20202020202020206d61707065642e706f7028293b0a2020202020207d0a20202020202072657475726e20286d61707065642e6c656e677468202626206d61707065645b305d203d3d3d206172726179735b305d290a20202020202020203f2062617365496e74657273656374696f6e286d61707065642c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e766572747320616c6c20656c656d656e747320696e206061727261796020696e746f206120737472696e67207365706172617465642062792060736570617261746f72602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20636f6e766572742e0a20202020202a2040706172616d207b737472696e677d205b736570617261746f723d272c275d2054686520656c656d656e7420736570617261746f722e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206a6f696e656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6a6f696e285b2761272c202762272c202763275d2c20277e27293b0a20202020202a202f2f203d3e2027617e627e63270a20202020202a2f0a2020202066756e6374696f6e206a6f696e2861727261792c20736570617261746f7229207b0a20202020202072657475726e206172726179203d3d206e756c6c203f202727203a206e61746976654a6f696e2e63616c6c2861727261792c20736570617261746f72293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206c61737420656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c617374285b312c20322c20335d293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e206c61737428617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2061727261795b6c656e677468202d20315d203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e6465784f6660206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a20606172726179602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d61727261792e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c617374496e6465784f66285b312c20322c20312c20325d2c2032293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a202f2f205365617263682066726f6d20746865206066726f6d496e646578602e0a20202020202a205f2e6c617374496e6465784f66285b312c20322c20312c20325d2c20322c2032293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e206c617374496e6465784f662861727261792c2076616c75652c2066726f6d496e64657829207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e202d313b0a2020202020207d0a20202020202076617220696e646578203d206c656e6774683b0a2020202020206966202866726f6d496e64657820213d3d20756e646566696e656429207b0a2020202020202020696e646578203d20746f496e74656765722866726f6d496e646578293b0a2020202020202020696e646578203d20696e646578203c2030203f206e61746976654d6178286c656e677468202b20696e6465782c203029203a206e61746976654d696e28696e6465782c206c656e677468202d2031293b0a2020202020207d0a20202020202072657475726e2076616c7565203d3d3d2076616c75650a20202020202020203f207374726963744c617374496e6465784f662861727261792c2076616c75652c20696e646578290a20202020202020203a206261736546696e64496e6465782861727261792c206261736549734e614e2c20696e6465782c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a20476574732074686520656c656d656e7420617420696e64657820606e60206f6620606172726179602e20496620606e60206973206e656761746976652c20746865206e74680a20202020202a20656c656d656e742066726f6d2074686520656e642069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d305d2054686520696e646578206f662074686520656c656d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206e746820656c656d656e74206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202764275d3b0a20202020202a0a20202020202a205f2e6e74682861727261792c2031293b0a20202020202a202f2f203d3e202762270a20202020202a0a20202020202a205f2e6e74682861727261792c202d32293b0a20202020202a202f2f203d3e202763273b0a20202020202a2f0a2020202066756e6374696f6e206e74682861727261792c206e29207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f20626173654e74682861727261792c20746f496e7465676572286e2929203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c20676976656e2076616c7565732066726f6d2060617272617960207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e776974686f7574602c2074686973206d6574686f64206d75746174657320606172726179602e2055736520605f2e72656d6f7665600a20202020202a20746f2072656d6f766520656c656d656e74732066726f6d20616e206172726179206279207072656469636174652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202761272c202762272c202763275d3b0a20202020202a0a20202020202a205f2e70756c6c2861727261792c202761272c20276327293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2762272c202762275d0a20202020202a2f0a202020207661722070756c6c203d2062617365526573742870756c6c416c6c293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c60206578636570742074686174206974206163636570747320616e206172726179206f662076616c75657320746f2072656d6f76652e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e6365602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202761272c202762272c202763275d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c2861727261792c205b2761272c202763275d293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2762272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c2861727261792c2076616c75657329207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c756573290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c416c6c60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206061727261796020616e64206076616c7565736020746f2067656e65726174652074686520637269746572696f6e0a20202020202a206279207768696368207468657927726520636f6d70617265642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e63654279602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b7b202778273a2031207d2c207b202778273a2032207d2c207b202778273a2033207d2c207b202778273a2031207d5d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c42792861727261792c205b7b202778273a2031207d2c207b202778273a2033207d5d2c20277827293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c42792861727261792c2076616c7565732c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c7565732c2067657449746572617465652869746572617465652c203229290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e70756c6c416c6c6020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f66206061727261796020746f206076616c756573602e2054686520636f6d70617261746f722069730a20202020202a20696e766f6b656420776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e646966666572656e636557697468602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b41727261797d2076616c756573205468652076616c75657320746f2072656d6f76652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20332c202779273a2034207d2c207b202778273a20352c202779273a2036207d5d3b0a20202020202a0a20202020202a205f2e70756c6c416c6c576974682861727261792c205b7b202778273a20332c202779273a2034207d5d2c205f2e6973457175616c293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20352c202779273a2036207d5d0a20202020202a2f0a2020202066756e6374696f6e2070756c6c416c6c576974682861727261792c2076616c7565732c20636f6d70617261746f7229207b0a20202020202072657475726e202861727261792026262061727261792e6c656e6774682026262076616c7565732026262076616c7565732e6c656e677468290a20202020202020203f206261736550756c6c416c6c2861727261792c2076616c7565732c20756e646566696e65642c20636f6d70617261746f72290a20202020202020203a2061727261793b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320656c656d656e74732066726f6d206061727261796020636f72726573706f6e64696e6720746f2060696e64657865736020616e642072657475726e7320616e0a20202020202a206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e6174602c2074686973206d6574686f64206d75746174657320606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b2e2e2e286e756d6265727c6e756d6265725b5d297d205b696e64657865735d2054686520696e6465786573206f6620656c656d656e747320746f2072656d6f76652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b2761272c202762272c202763272c202764275d3b0a20202020202a207661722070756c6c6564203d205f2e70756c6c41742861727261792c205b312c20335d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b2761272c202763275d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f672870756c6c6564293b0a20202020202a202f2f203d3e205b2762272c202764275d0a20202020202a2f0a202020207661722070756c6c4174203d20666c6174526573742866756e6374696f6e2861727261792c20696e646578657329207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774682c0a20202020202020202020726573756c74203d206261736541742861727261792c20696e6465786573293b0a0a2020202020206261736550756c6c41742861727261792c2061727261794d617028696e64657865732c2066756e6374696f6e28696e64657829207b0a202020202020202072657475726e206973496e64657828696e6465782c206c656e67746829203f202b696e646578203a20696e6465783b0a2020202020207d292e736f727428636f6d70617265417363656e64696e6729293b0a0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a2052656d6f76657320616c6c20656c656d656e74732066726f6d206061727261796020746861742060707265646963617465602072657475726e732074727574687920666f720a20202020202a20616e642072657475726e7320616e206172726179206f66207468652072656d6f76656420656c656d656e74732e205468652070726564696361746520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e66696c746572602c2074686973206d6574686f64206d75746174657320606172726179602e2055736520605f2e70756c6c600a20202020202a20746f2070756c6c20656c656d656e74732066726f6d20616e2061727261792062792076616c75652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662072656d6f76656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20332c20345d3b0a20202020202a20766172206576656e73203d205f2e72656d6f76652861727261792c2066756e6374696f6e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20335d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286576656e73293b0a20202020202a202f2f203d3e205b322c20345d0a20202020202a2f0a2020202066756e6374696f6e2072656d6f76652861727261792c2070726564696361746529207b0a20202020202076617220726573756c74203d205b5d3b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202076617220696e646578203d202d312c0a20202020202020202020696e6465786573203d205b5d2c0a202020202020202020206c656e677468203d2061727261792e6c656e6774683b0a0a202020202020707265646963617465203d206765744974657261746565287072656469636174652c2033293b0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d2061727261795b696e6465785d3b0a2020202020202020696620287072656469636174652876616c75652c20696e6465782c2061727261792929207b0a20202020202020202020726573756c742e707573682876616c7565293b0a20202020202020202020696e64657865732e7075736828696e646578293b0a20202020202020207d0a2020202020207d0a2020202020206261736550756c6c41742861727261792c20696e6465786573293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a205265766572736573206061727261796020736f20746861742074686520666972737420656c656d656e74206265636f6d657320746865206c6173742c20746865207365636f6e640a20202020202a20656c656d656e74206265636f6d657320746865207365636f6e6420746f206c6173742c20616e6420736f206f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d757461746573206061727261796020616e64206973206261736564206f6e0a20202020202a205b6041727261792372657665727365605d2868747470733a2f2f6d646e2e696f2f41727261792f72657665727365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f206d6f646966792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f2e72657665727365286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a2f0a2020202066756e6374696f6e207265766572736528617272617929207b0a20202020202072657475726e206172726179203d3d206e756c6c203f206172726179203a206e6174697665526576657273652e63616c6c286172726179293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f6620606172726179602066726f6d206073746172746020757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973207573656420696e7374656164206f660a20202020202a205b60417272617923736c696365605d2868747470733a2f2f6d646e2e696f2f41727261792f736c6963652920746f20656e737572652064656e736520617272617973206172650a20202020202a2072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20736c6963652e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b656e643d61727261792e6c656e6774685d2054686520656e6420706f736974696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a2f0a2020202066756e6374696f6e20736c6963652861727261792c2073746172742c20656e6429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028656e6420262620747970656f6620656e6420213d20276e756d62657227202626206973497465726174656543616c6c2861727261792c2073746172742c20656e642929207b0a20202020202020207374617274203d20303b0a2020202020202020656e64203d206c656e6774683b0a2020202020207d0a202020202020656c7365207b0a20202020202020207374617274203d207374617274203d3d206e756c6c203f2030203a20746f496e7465676572287374617274293b0a2020202020202020656e64203d20656e64203d3d3d20756e646566696e6564203f206c656e677468203a20746f496e746567657228656e64293b0a2020202020207d0a20202020202072657475726e2062617365536c6963652861727261792c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a205573657320612062696e6172792073656172636820746f2064657465726d696e6520746865206c6f7765737420696e646578206174207768696368206076616c7565600a20202020202a2073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564496e646578285b33302c2035305d2c203430293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e6465782861727261792c2076616c756529207b0a20202020202072657475726e2062617365536f72746564496e6465782861727261792c2076616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f72746564496e64657860206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574652074686569720a20202020202a20736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a2034207d2c207b202778273a2035207d5d3b0a20202020202a0a20202020202a205f2e736f72746564496e6465784279286f626a656374732c207b202778273a2034207d2c2066756e6374696f6e286f29207b2072657475726e206f2e783b207d293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f72746564496e6465784279286f626a656374732c207b202778273a2034207d2c20277827293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e64657842792861727261792c2076616c75652c20697465726174656529207b0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c2067657449746572617465652869746572617465652c203229293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e6465784f666020657863657074207468617420697420706572666f726d7320612062696e6172790a20202020202a20736561726368206f6e206120736f7274656420606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564496e6465784f66285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f72746564496e6465784f662861727261792c2076616c756529207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a202020202020696620286c656e67746829207b0a202020202020202076617220696e646578203d2062617365536f72746564496e6465782861727261792c2076616c7565293b0a202020202020202069662028696e646578203c206c656e6774682026262065712861727261795b696e6465785d2c2076616c75652929207b0a2020202020202020202072657475726e20696e6465783b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f72746564496e646578602065786365707420746861742069742072657475726e732074686520686967686573740a20202020202a20696e646578206174207768696368206076616c7565602073686f756c6420626520696e73657274656420696e746f206061727261796020696e206f7264657220746f0a20202020202a206d61696e7461696e2069747320736f7274206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f727465644c617374496e646578285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20340a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e6465782861727261792c2076616c756529207b0a20202020202072657475726e2062617365536f72746564496e6465782861727261792c2076616c75652c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f727465644c617374496e64657860206578636570742074686174206974206163636570747320606974657261746565600a20202020202a20776869636820697320696e766f6b656420666f72206076616c75656020616e64206561636820656c656d656e74206f66206061727261796020746f20636f6d707574652074686569720a20202020202a20736f72742072616e6b696e672e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520736f7274656420617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f206576616c756174652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206174207768696368206076616c7565602073686f756c6420626520696e7365727465640a20202020202a2020696e746f20606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a2034207d2c207b202778273a2035207d5d3b0a20202020202a0a20202020202a205f2e736f727465644c617374496e6465784279286f626a656374732c207b202778273a2034207d2c2066756e6374696f6e286f29207b2072657475726e206f2e783b207d293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f727465644c617374496e6465784279286f626a656374732c207b202778273a2034207d2c20277827293b0a20202020202a202f2f203d3e20310a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e64657842792861727261792c2076616c75652c20697465726174656529207b0a20202020202072657475726e2062617365536f72746564496e64657842792861727261792c2076616c75652c2067657449746572617465652869746572617465652c2032292c2074727565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6c617374496e6465784f666020657863657074207468617420697420706572666f726d7320612062696e6172790a20202020202a20736561726368206f6e206120736f7274656420606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520696e646578206f6620746865206d6174636865642076616c75652c20656c736520602d31602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f727465644c617374496e6465784f66285b342c20352c20352c20352c20365d2c2035293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20736f727465644c617374496e6465784f662861727261792c2076616c756529207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a202020202020696620286c656e67746829207b0a202020202020202076617220696e646578203d2062617365536f72746564496e6465782861727261792c2076616c75652c207472756529202d20313b0a20202020202020206966202865712861727261795b696e6465785d2c2076616c75652929207b0a2020202020202020202072657475726e20696e6465783b0a20202020202020207d0a2020202020207d0a20202020202072657475726e202d313b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e69716020657863657074207468617420697427732064657369676e656420616e64206f7074696d697a65640a20202020202a20666f7220736f72746564206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564556e6971285b312c20312c20325d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e20736f72746564556e697128617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f2062617365536f72746564556e6971286172726179290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e697142796020657863657074207468617420697427732064657369676e656420616e64206f7074696d697a65640a20202020202a20666f7220736f72746564206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465655d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f72746564556e69714279285b312e312c20312e322c20322e332c20322e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e312c20322e335d0a20202020202a2f0a2020202066756e6374696f6e20736f72746564556e697142792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f2062617365536f72746564556e69712861727261792c2067657449746572617465652869746572617465652c203229290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320616c6c206275742074686520666972737420656c656d656e74206f6620606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7461696c285b312c20322c20335d293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a2f0a2020202066756e6374696f6e207461696c28617272617929207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202072657475726e206c656e677468203f2062617365536c6963652861727261792c20312c206c656e67746829203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732074616b656e2066726f6d2074686520626567696e6e696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2074616b652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a205f2e74616b65285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b652861727261792c206e2c20677561726429207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a20202020202072657475726e2062617365536c6963652861727261792c20302c206e203c2030203f2030203a206e293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820606e6020656c656d656e74732074616b656e2066726f6d2074686520656e642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2074616b652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d293b0a20202020202a202f2f203d3e205b335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2035293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a205f2e74616b655269676874285b312c20322c20335d2c2030293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b6552696768742861727261792c206e2c20677561726429207b0a202020202020766172206c656e677468203d206172726179203d3d206e756c6c203f2030203a2061727261792e6c656e6774683b0a20202020202069662028216c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020206e203d20286775617264207c7c206e203d3d3d20756e646566696e656429203f2031203a20746f496e7465676572286e293b0a2020202020206e203d206c656e677468202d206e3b0a20202020202072657475726e2062617365536c6963652861727261792c206e203c2030203f2030203a206e2c206c656e677468293b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820656c656d656e74732074616b656e2066726f6d2074686520656e642e20456c656d656e7473206172650a20202020202a2074616b656e20756e74696c2060707265646963617465602072657475726e732066616c7365792e205468652070726564696361746520697320696e766f6b656420776974680a20202020202a20746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e74616b6552696768745768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c207b202775736572273a2027706562626c6573272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b27706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564272c2027706562626c6573275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b6552696768745768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b6552696768745768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c2033292c2066616c73652c2074727565290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120736c696365206f662060617272617960207769746820656c656d656e74732074616b656e2066726f6d2074686520626567696e6e696e672e20456c656d656e74730a20202020202a206172652074616b656e20756e74696c2060707265646963617465602072657475726e732066616c7365792e205468652070726564696361746520697320696e766f6b656420776974680a20202020202a20746872656520617267756d656e74733a202876616c75652c20696e6465782c206172726179292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2071756572792e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520736c696365206f6620606172726179602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e74616b655768696c652875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e74616b655768696c652875736572732c202761637469766527293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e2074616b655768696c652861727261792c2070726564696361746529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f20626173655768696c652861727261792c206765744974657261746565287072656469636174652c203329290a20202020202020203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c7565732c20696e206f726465722c2066726f6d20616c6c20676976656e20617272617973207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e696f6e285b325d2c205b312c20325d293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202076617220756e696f6e203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c207472756529293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e696f6e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e2062790a20202020202a20776869636820756e697175656e65737320697320636f6d70757465642e20526573756c742076616c756573206172652063686f73656e2066726f6d207468652066697273740a20202020202a20617272617920696e207768696368207468652076616c7565206f63637572732e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e696f6e4279285b322e315d2c205b312e322c20322e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e312c20312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e756e696f6e4279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d2c207b202778273a2032207d5d0a20202020202a2f0a2020202076617220756e696f6e4279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c2074727565292c2067657449746572617465652869746572617465652c203229293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e696f6e6020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20526573756c742076616c756573206172652063686f73656e2066726f6d0a20202020202a2074686520666972737420617272617920696e207768696368207468652076616c7565206f63637572732e2054686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620636f6d62696e65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e756e696f6e57697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2031207d5d0a20202020202a2f0a2020202076617220756e696f6e57697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973293b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e2062617365556e69712862617365466c617474656e286172726179732c20312c20697341727261794c696b654f626a6563742c2074727565292c20756e646566696e65642c20636f6d70617261746f72293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20437265617465732061206475706c69636174652d667265652076657273696f6e206f6620616e2061727261792c207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732c20696e207768696368206f6e6c7920746865206669727374206f6363757272656e6365206f66206561636820656c656d656e740a20202020202a206973206b6570742e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e656420627920746865206f726465722074686579206f636375720a20202020202a20696e207468652061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6971285b322c20312c20325d293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202066756e6374696f6e20756e697128617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e697128617272617929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e697160206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a20756e697175656e65737320697320636f6d70757465642e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e6564206279207468650a20202020202a206f726465722074686579206f6363757220696e207468652061727261792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a0a20202020202a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e69714279285b322e312c20312e322c20322e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b322e312c20312e325d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e756e69714279285b7b202778273a2031207d2c207b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2031207d2c207b202778273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e20756e697142792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e69712861727261792c2067657449746572617465652869746572617465652c20322929203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e69716020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963680a20202020202a20697320696e766f6b656420746f20636f6d7061726520656c656d656e7473206f6620606172726179602e20546865206f72646572206f6620726573756c742076616c7565732069730a20202020202a2064657465726d696e656420627920746865206f726465722074686579206f6363757220696e207468652061727261792e54686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206475706c696361746520667265652061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e756e697157697468286f626a656374732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d0a20202020202a2f0a2020202066756e6374696f6e20756e6971576974682861727261792c20636f6d70617261746f7229207b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e202861727261792026262061727261792e6c656e67746829203f2062617365556e69712861727261792c20756e646566696e65642c20636f6d70617261746f7229203a205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a697060206578636570742074686174206974206163636570747320616e206172726179206f662067726f757065640a20202020202a20656c656d656e747320616e64206372656174657320616e20617272617920726567726f7570696e672074686520656c656d656e747320746f207468656972207072652d7a69700a20202020202a20636f6e66696775726174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e322e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20617272617920546865206172726179206f662067726f7570656420656c656d656e747320746f2070726f636573732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620726567726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207a6970706564203d205f2e7a6970285b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d293b0a20202020202a202f2f203d3e205b5b2761272c20312c20747275655d2c205b2762272c20322c2066616c73655d5d0a20202020202a0a20202020202a205f2e756e7a6970287a6970706564293b0a20202020202a202f2f203d3e205b5b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d5d0a20202020202a2f0a2020202066756e6374696f6e20756e7a697028617272617929207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020766172206c656e677468203d20303b0a2020202020206172726179203d20617272617946696c7465722861727261792c2066756e6374696f6e2867726f757029207b0a202020202020202069662028697341727261794c696b654f626a6563742867726f75702929207b0a202020202020202020206c656e677468203d206e61746976654d61782867726f75702e6c656e6774682c206c656e677468293b0a2020202020202020202072657475726e20747275653b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e206261736554696d6573286c656e6774682c2066756e6374696f6e28696e64657829207b0a202020202020202072657475726e2061727261794d61702861727261792c206261736550726f706572747928696e64657829293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e756e7a6970602065786365707420746861742069742061636365707473206069746572617465656020746f20737065636966790a20202020202a20686f7720726567726f757065642076616c7565732073686f756c6420626520636f6d62696e65642e2054686520697465726174656520697320696e766f6b65642077697468207468650a20202020202a20656c656d656e7473206f6620656163682067726f75703a20282e2e2e67726f7570292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d20617272617920546865206172726179206f662067726f7570656420656c656d656e747320746f2070726f636573732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20746f20636f6d62696e650a20202020202a2020726567726f757065642076616c7565732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f6620726567726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207a6970706564203d205f2e7a6970285b312c20325d2c205b31302c2032305d2c205b3130302c203230305d293b0a20202020202a202f2f203d3e205b5b312c2031302c203130305d2c205b322c2032302c203230305d5d0a20202020202a0a20202020202a205f2e756e7a697057697468287a69707065642c205f2e616464293b0a20202020202a202f2f203d3e205b332c2033302c203330305d0a20202020202a2f0a2020202066756e6374696f6e20756e7a6970576974682861727261792c20697465726174656529207b0a20202020202069662028212861727261792026262061727261792e6c656e6774682929207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220726573756c74203d20756e7a6970286172726179293b0a202020202020696620286974657261746565203d3d206e756c6c29207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202072657475726e2061727261794d617028726573756c742c2066756e6374696f6e2867726f757029207b0a202020202020202072657475726e206170706c792869746572617465652c20756e646566696e65642c2067726f7570293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206578636c7564696e6720616c6c20676976656e2076616c756573207573696e670a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20666f7220657175616c69747920636f6d70617269736f6e732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e70756c6c602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f20696e73706563742e0a20202020202a2040706172616d207b2e2e2e2a7d205b76616c7565735d205468652076616c75657320746f206578636c7564652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e646966666572656e63652c205f2e786f720a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e776974686f7574285b322c20312c20322c20335d2c20312c2032293b0a20202020202a202f2f203d3e205b335d0a20202020202a2f0a2020202076617220776974686f7574203d2062617365526573742866756e6374696f6e2861727261792c2076616c75657329207b0a20202020202072657475726e20697341727261794c696b654f626a656374286172726179290a20202020202020203f2062617365446966666572656e63652861727261792c2076616c756573290a20202020202020203a205b5d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620756e697175652076616c7565732074686174206973207468650a20202020202a205b73796d6d657472696320646966666572656e63655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f53796d6d65747269635f646966666572656e6365290a20202020202a206f662074686520676976656e206172726179732e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e656420627920746865206f726465720a20202020202a2074686579206f6363757220696e20746865206172726179732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a2040736565205f2e646966666572656e63652c205f2e776974686f75740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e786f72285b322c20315d2c205b322c20335d293b0a20202020202a202f2f203d3e205b312c20335d0a20202020202a2f0a2020202076617220786f72203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a65637429293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e786f7260206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e74206f66206561636820606172726179736020746f2067656e65726174652074686520637269746572696f6e2062790a20202020202a207768696368206279207768696368207468657927726520636f6d70617265642e20546865206f72646572206f6620726573756c742076616c7565732069732064657465726d696e65640a20202020202a20627920746865206f726465722074686579206f6363757220696e20746865206172726179732e2054686520697465726174656520697320696e766f6b65642077697468206f6e650a20202020202a20617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e786f724279285b322e312c20312e325d2c205b322e332c20332e345d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e205b312e322c20332e345d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e786f724279285b7b202778273a2031207d5d2c205b7b202778273a2032207d2c207b202778273a2031207d5d2c20277827293b0a20202020202a202f2f203d3e205b7b202778273a2032207d5d0a20202020202a2f0a2020202076617220786f724279203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206974657261746565203d206c61737428617272617973293b0a20202020202069662028697341727261794c696b654f626a6563742869746572617465652929207b0a20202020202020206974657261746565203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a656374292c2067657449746572617465652869746572617465652c203229293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e786f726020657863657074207468617420697420616363657074732060636f6d70617261746f72602077686963682069730a20202020202a20696e766f6b656420746f20636f6d7061726520656c656d656e7473206f662060617272617973602e20546865206f72646572206f6620726573756c742076616c7565732069730a20202020202a2064657465726d696e656420627920746865206f726465722074686579206f6363757220696e20746865206172726179732e2054686520636f6d70617261746f7220697320696e766f6b65640a20202020202a20776974682074776f20617267756d656e74733a202861727256616c2c206f746856616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b636f6d70617261746f725d2054686520636f6d70617261746f7220696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662066696c74657265642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202778273a20312c202779273a2032207d2c207b202778273a20322c202779273a2031207d5d3b0a20202020202a20766172206f7468657273203d205b7b202778273a20312c202779273a2031207d2c207b202778273a20312c202779273a2032207d5d3b0a20202020202a0a20202020202a205f2e786f7257697468286f626a656374732c206f74686572732c205f2e6973457175616c293b0a20202020202a202f2f203d3e205b7b202778273a20322c202779273a2031207d2c207b202778273a20312c202779273a2031207d5d0a20202020202a2f0a2020202076617220786f7257697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a20202020202076617220636f6d70617261746f72203d206c61737428617272617973293b0a202020202020636f6d70617261746f72203d20747970656f6620636f6d70617261746f72203d3d202766756e6374696f6e27203f20636f6d70617261746f72203a20756e646566696e65643b0a20202020202072657475726e2062617365586f7228617272617946696c746572286172726179732c20697341727261794c696b654f626a656374292c20756e646566696e65642c20636f6d70617261746f72293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662067726f7570656420656c656d656e74732c20746865206669727374206f6620776869636820636f6e7461696e73207468650a20202020202a20666972737420656c656d656e7473206f662074686520676976656e206172726179732c20746865207365636f6e64206f6620776869636820636f6e7461696e73207468650a20202020202a207365636f6e6420656c656d656e7473206f662074686520676976656e206172726179732c20616e6420736f206f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f2070726f636573732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a6970285b2761272c202762275d2c205b312c20325d2c205b747275652c2066616c73655d293b0a20202020202a202f2f203d3e205b5b2761272c20312c20747275655d2c205b2762272c20322c2066616c73655d5d0a20202020202a2f0a20202020766172207a6970203d20626173655265737428756e7a6970293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66726f6d50616972736020657863657074207468617420697420616363657074732074776f206172726179732c0a20202020202a206f6e65206f662070726f7065727479206964656e7469666965727320616e64206f6e65206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e342e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d205b70726f70733d5b5d5d205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d205b76616c7565733d5b5d5d205468652070726f70657274792076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a69704f626a656374285b2761272c202762275d2c205b312c20325d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a2020202066756e6374696f6e207a69704f626a6563742870726f70732c2076616c75657329207b0a20202020202072657475726e20626173655a69704f626a6563742870726f7073207c7c205b5d2c2076616c756573207c7c205b5d2c2061737369676e56616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a69704f626a6563746020657863657074207468617420697420737570706f7274732070726f70657274792070617468732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e312e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b41727261797d205b70726f70733d5b5d5d205468652070726f7065727479206964656e746966696572732e0a20202020202a2040706172616d207b41727261797d205b76616c7565733d5b5d5d205468652070726f70657274792076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a69704f626a65637444656570285b27612e625b305d2e63272c2027612e625b315d2e64275d2c205b312c20325d293b0a20202020202a202f2f203d3e207b202761273a207b202762273a205b7b202763273a2031207d2c207b202764273a2032207d5d207d207d0a20202020202a2f0a2020202066756e6374696f6e207a69704f626a656374446565702870726f70732c2076616c75657329207b0a20202020202072657475726e20626173655a69704f626a6563742870726f7073207c7c205b5d2c2076616c756573207c7c205b5d2c2062617365536574293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7a6970602065786365707420746861742069742061636365707473206069746572617465656020746f20737065636966790a20202020202a20686f772067726f757065642076616c7565732073686f756c6420626520636f6d62696e65642e2054686520697465726174656520697320696e766f6b65642077697468207468650a20202020202a20656c656d656e7473206f6620656163682067726f75703a20282e2e2e67726f7570292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f72792041727261790a20202020202a2040706172616d207b2e2e2e41727261797d205b6172726179735d205468652061727261797320746f2070726f636573732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20746f20636f6d62696e650a20202020202a202067726f757065642076616c7565732e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7a697057697468285b312c20325d2c205b31302c2032305d2c205b3130302c203230305d2c2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e2061202b2062202b20633b0a20202020202a207d293b0a20202020202a202f2f203d3e205b3131312c203232325d0a20202020202a2f0a20202020766172207a697057697468203d2062617365526573742866756e6374696f6e2861727261797329207b0a202020202020766172206c656e677468203d206172726179732e6c656e6774682c0a202020202020202020206974657261746565203d206c656e677468203e2031203f206172726179735b6c656e677468202d20315d203a20756e646566696e65643b0a0a2020202020206974657261746565203d20747970656f66206974657261746565203d3d202766756e6374696f6e27203f20286172726179732e706f7028292c20697465726174656529203a20756e646566696e65643b0a20202020202072657475726e20756e7a697057697468286172726179732c206974657261746565293b0a202020207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860207772617070657220696e7374616e63652074686174207772617073206076616c7565602077697468206578706c69636974206d6574686f640a20202020202a20636861696e2073657175656e63657320656e61626c65642e2054686520726573756c74206f6620737563682073657175656e636573206d75737420626520756e777261707065640a20202020202a207769746820605f2376616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e332e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a203430207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a2031207d0a20202020202a205d3b0a20202020202a0a20202020202a2076617220796f756e67657374203d205f0a20202020202a2020202e636861696e287573657273290a20202020202a2020202e736f72744279282761676527290a20202020202a2020202e6d61702866756e6374696f6e286f29207b0a20202020202a202020202072657475726e206f2e75736572202b20272069732027202b206f2e6167653b0a20202020202a2020207d290a20202020202a2020202e6865616428290a20202020202a2020202e76616c756528293b0a20202020202a202f2f203d3e2027706562626c65732069732031270a20202020202a2f0a2020202066756e6374696f6e20636861696e2876616c756529207b0a20202020202076617220726573756c74203d206c6f646173682876616c7565293b0a202020202020726573756c742e5f5f636861696e5f5f203d20747275653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f6420696e766f6b65732060696e746572636570746f726020616e642072657475726e73206076616c7565602e2054686520696e746572636570746f720a20202020202a20697320696e766f6b65642077697468206f6e6520617267756d656e743b202876616c7565292e2054686520707572706f7365206f662074686973206d6574686f6420697320746f0a20202020202a202274617020696e746f222061206d6574686f6420636861696e2073657175656e636520696e206f7264657220746f206d6f6469667920696e7465726d65646961746520726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f7669646520746f2060696e746572636570746f72602e0a20202020202a2040706172616d207b46756e6374696f6e7d20696e746572636570746f72205468652066756e6374696f6e20746f20696e766f6b652e0a20202020202a204072657475726e73207b2a7d2052657475726e73206076616c7565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f285b312c20322c20335d290a20202020202a20202e7461702866756e6374696f6e28617272617929207b0a20202020202a202020202f2f204d757461746520696e7075742061727261792e0a20202020202a2020202061727261792e706f7028293b0a20202020202a20207d290a20202020202a20202e7265766572736528290a20202020202a20202e76616c756528293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a2020202066756e6374696f6e207461702876616c75652c20696e746572636570746f7229207b0a202020202020696e746572636570746f722876616c7565293b0a20202020202072657475726e2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e746170602065786365707420746861742069742072657475726e732074686520726573756c74206f662060696e746572636570746f72602e0a20202020202a2054686520707572706f7365206f662074686973206d6574686f6420697320746f2022706173732074687275222076616c756573207265706c6163696e6720696e7465726d6564696174650a20202020202a20726573756c747320696e2061206d6574686f6420636861696e2073657175656e63652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f7669646520746f2060696e746572636570746f72602e0a20202020202a2040706172616d207b46756e6374696f6e7d20696e746572636570746f72205468652066756e6374696f6e20746f20696e766f6b652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662060696e746572636570746f72602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f28272020616263202027290a20202020202a20202e636861696e28290a20202020202a20202e7472696d28290a20202020202a20202e746872752866756e6374696f6e2876616c756529207b0a20202020202a2020202072657475726e205b76616c75655d3b0a20202020202a20207d290a20202020202a20202e76616c756528293b0a20202020202a202f2f203d3e205b27616263275d0a20202020202a2f0a2020202066756e6374696f6e20746872752876616c75652c20696e746572636570746f7229207b0a20202020202072657475726e20696e746572636570746f722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642069732074686520777261707065722076657273696f6e206f6620605f2e6174602e0a20202020202a0a20202020202a20406e616d652061740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d2c20345d207d3b0a20202020202a0a20202020202a205f286f626a656374292e6174285b27615b305d2e622e63272c2027615b315d275d292e76616c756528293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a2f0a2020202076617220777261707065724174203d20666c6174526573742866756e6374696f6e28706174687329207b0a202020202020766172206c656e677468203d2070617468732e6c656e6774682c0a202020202020202020207374617274203d206c656e677468203f2070617468735b305d203a20302c0a2020202020202020202076616c7565203d20746869732e5f5f777261707065645f5f2c0a20202020202020202020696e746572636570746f72203d2066756e6374696f6e286f626a65637429207b2072657475726e20626173654174286f626a6563742c207061746873293b207d3b0a0a202020202020696620286c656e677468203e2031207c7c20746869732e5f5f616374696f6e735f5f2e6c656e677468207c7c0a20202020202020202020212876616c756520696e7374616e63656f66204c617a795772617070657229207c7c20216973496e6465782873746172742929207b0a202020202020202072657475726e20746869732e7468727528696e746572636570746f72293b0a2020202020207d0a20202020202076616c7565203d2076616c75652e736c6963652873746172742c202b7374617274202b20286c656e677468203f2031203a203029293b0a20202020202076616c75652e5f5f616374696f6e735f5f2e70757368287b0a20202020202020202766756e63273a20746872752c0a20202020202020202761726773273a205b696e746572636570746f725d2c0a20202020202020202774686973417267273a20756e646566696e65640a2020202020207d293b0a20202020202072657475726e206e6577204c6f64617368577261707065722876616c75652c20746869732e5f5f636861696e5f5f292e746872752866756e6374696f6e28617272617929207b0a2020202020202020696620286c656e677468202626202161727261792e6c656e67746829207b0a2020202020202020202061727261792e7075736828756e646566696e6564293b0a20202020202020207d0a202020202020202072657475726e2061727261793b0a2020202020207d293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2043726561746573206120606c6f6461736860207772617070657220696e7374616e63652077697468206578706c69636974206d6574686f6420636861696e2073657175656e63657320656e61626c65642e0a20202020202a0a20202020202a20406e616d6520636861696e0a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f20412073657175656e636520776974686f7574206578706c6963697420636861696e696e672e0a20202020202a205f287573657273292e6865616428293b0a20202020202a202f2f203d3e207b202775736572273a20276261726e6579272c2027616765273a203336207d0a20202020202a0a20202020202a202f2f20412073657175656e63652077697468206578706c6963697420636861696e696e672e0a20202020202a205f287573657273290a20202020202a2020202e636861696e28290a20202020202a2020202e6865616428290a20202020202a2020202e7069636b28277573657227290a20202020202a2020202e76616c756528293b0a20202020202a202f2f203d3e207b202775736572273a20276261726e657927207d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436861696e2829207b0a20202020202072657475726e20636861696e2874686973293b0a202020207d0a0a202020202f2a2a0a20202020202a2045786563757465732074686520636861696e2073657175656e636520616e642072657475726e7320746865207772617070656420726573756c742e0a20202020202a0a20202020202a20406e616d6520636f6d6d69740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20325d3b0a20202020202a207661722077726170706564203d205f286172726179292e707573682833293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a2077726170706564203d20777261707065642e636f6d6d697428293b0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a20777261707065642e6c61737428293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572436f6d6d69742829207b0a20202020202072657475726e206e6577204c6f646173685772617070657228746869732e76616c756528292c20746869732e5f5f636861696e5f5f293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320746865206e6578742076616c7565206f6e20612077726170706564206f626a65637420666f6c6c6f77696e67207468650a20202020202a205b6974657261746f722070726f746f636f6c5d2868747470733a2f2f6d646e2e696f2f697465726174696f6e5f70726f746f636f6c73236974657261746f72292e0a20202020202a0a20202020202a20406e616d65206e6578740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657874206974657261746f722076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d293b0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a2066616c73652c202776616c7565273a2031207d0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a2066616c73652c202776616c7565273a2032207d0a20202020202a0a20202020202a20777261707065642e6e65787428293b0a20202020202a202f2f203d3e207b2027646f6e65273a20747275652c202776616c7565273a20756e646566696e6564207d0a20202020202a2f0a2020202066756e6374696f6e20777261707065724e6578742829207b0a20202020202069662028746869732e5f5f76616c7565735f5f203d3d3d20756e646566696e656429207b0a2020202020202020746869732e5f5f76616c7565735f5f203d20746f417272617928746869732e76616c75652829293b0a2020202020207d0a20202020202076617220646f6e65203d20746869732e5f5f696e6465785f5f203e3d20746869732e5f5f76616c7565735f5f2e6c656e6774682c0a2020202020202020202076616c7565203d20646f6e65203f20756e646566696e6564203a20746869732e5f5f76616c7565735f5f5b746869732e5f5f696e6465785f5f2b2b5d3b0a0a20202020202072657475726e207b2027646f6e65273a20646f6e652c202776616c7565273a2076616c7565207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20456e61626c657320746865207772617070657220746f206265206974657261626c652e0a20202020202a0a20202020202a20406e616d652053796d626f6c2e6974657261746f720a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e73207468652077726170706572206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d293b0a20202020202a0a20202020202a20777261707065645b53796d626f6c2e6974657261746f725d2829203d3d3d20777261707065643b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2041727261792e66726f6d2877726170706564293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572546f4974657261746f722829207b0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636c6f6e65206f662074686520636861696e2073657175656e636520706c616e74696e67206076616c7565602061732074686520777261707065642076616c75652e0a20202020202a0a20202020202a20406e616d6520706c616e740a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205365710a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20706c616e742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722077726170706564203d205f285b312c20325d292e6d617028737175617265293b0a20202020202a20766172206f74686572203d20777261707065642e706c616e74285b332c20345d293b0a20202020202a0a20202020202a206f746865722e76616c756528293b0a20202020202a202f2f203d3e205b392c2031365d0a20202020202a0a20202020202a20777261707065642e76616c756528293b0a20202020202a202f2f203d3e205b312c20345d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572506c616e742876616c756529207b0a20202020202076617220726573756c742c0a20202020202020202020706172656e74203d20746869733b0a0a2020202020207768696c652028706172656e7420696e7374616e63656f6620626173654c6f6461736829207b0a202020202020202076617220636c6f6e65203d2077726170706572436c6f6e6528706172656e74293b0a2020202020202020636c6f6e652e5f5f696e6465785f5f203d20303b0a2020202020202020636c6f6e652e5f5f76616c7565735f5f203d20756e646566696e65643b0a202020202020202069662028726573756c7429207b0a2020202020202020202070726576696f75732e5f5f777261707065645f5f203d20636c6f6e653b0a20202020202020207d20656c7365207b0a20202020202020202020726573756c74203d20636c6f6e653b0a20202020202020207d0a20202020202020207661722070726576696f7573203d20636c6f6e653b0a2020202020202020706172656e74203d20706172656e742e5f5f777261707065645f5f3b0a2020202020207d0a20202020202070726576696f75732e5f5f777261707065645f5f203d2076616c75653b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642069732074686520777261707065722076657273696f6e206f6620605f2e72657665727365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d7574617465732074686520777261707065642061727261792e0a20202020202a0a20202020202a20406e616d6520726576657273650a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720606c6f6461736860207772617070657220696e7374616e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a0a20202020202a205f286172726179292e7265766572736528292e76616c756528290a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179293b0a20202020202a202f2f203d3e205b332c20322c20315d0a20202020202a2f0a2020202066756e6374696f6e2077726170706572526576657273652829207b0a2020202020207661722076616c7565203d20746869732e5f5f777261707065645f5f3b0a2020202020206966202876616c756520696e7374616e63656f66204c617a795772617070657229207b0a20202020202020207661722077726170706564203d2076616c75653b0a202020202020202069662028746869732e5f5f616374696f6e735f5f2e6c656e67746829207b0a2020202020202020202077726170706564203d206e6577204c617a79577261707065722874686973293b0a20202020202020207d0a202020202020202077726170706564203d20777261707065642e7265766572736528293b0a2020202020202020777261707065642e5f5f616374696f6e735f5f2e70757368287b0a202020202020202020202766756e63273a20746872752c0a202020202020202020202761726773273a205b726576657273655d2c0a202020202020202020202774686973417267273a20756e646566696e65640a20202020202020207d293b0a202020202020202072657475726e206e6577204c6f646173685772617070657228777261707065642c20746869732e5f5f636861696e5f5f293b0a2020202020207d0a20202020202072657475726e20746869732e746872752872657665727365293b0a202020207d0a0a202020202f2a2a0a20202020202a2045786563757465732074686520636861696e2073657175656e636520746f207265736f6c76652074686520756e777261707065642076616c75652e0a20202020202a0a20202020202a20406e616d652076616c75650a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c69617320746f4a534f4e2c2076616c75654f660a20202020202a204063617465676f7279205365710a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c76656420756e777261707065642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f285b312c20322c20335d292e76616c756528293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e207772617070657256616c75652829207b0a20202020202072657475726e20626173655772617070657256616c756528746869732e5f5f777261707065645f5f2c20746869732e5f5f616374696f6e735f5f293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e2054686520636f72726573706f6e64696e672076616c7565206f660a20202020202a2065616368206b657920697320746865206e756d626572206f662074696d657320746865206b6579207761732072657475726e656420627920606974657261746565602e205468650a20202020202a20697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636f756e744279285b362e312c20342e322c20362e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e207b202734273a20312c202736273a2032207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e636f756e744279285b276f6e65272c202774776f272c20277468726565275d2c20276c656e67746827293b0a20202020202a202f2f203d3e207b202733273a20322c202735273a2031207d0a20202020202a2f0a2020202076617220636f756e744279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c206b65792929207b0a20202020202020202b2b726573756c745b6b65795d3b0a2020202020207d20656c7365207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c2031293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b732069662060707265646963617465602072657475726e732074727574687920666f72202a2a616c6c2a2a20656c656d656e7473206f662060636f6c6c656374696f6e602e0a20202020202a20497465726174696f6e2069732073746f70706564206f6e63652060707265646963617465602072657475726e732066616c7365792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f642072657475726e732060747275656020666f720a20202020202a205b656d70747920636f6c6c656374696f6e735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f456d7074795f7365742920626563617573650a20202020202a205b65766572797468696e6720697320747275655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f566163756f75735f747275746829206f660a20202020202a20656c656d656e7473206f6620656d70747920636f6c6c656374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616c6c20656c656d656e74732070617373207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6576657279285b747275652c20312c206e756c6c2c2027796573275d2c20426f6f6c65616e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e65766572792875736572732c202761637469766527293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20657665727928636f6c6c656374696f6e2c207072656469636174652c20677561726429207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261794576657279203a206261736545766572793b0a202020202020696620286775617264202626206973497465726174656543616c6c28636f6c6c656374696f6e2c207072656469636174652c2067756172642929207b0a2020202020202020707265646963617465203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e602c2072657475726e696e6720616e206172726179206f6620616c6c20656c656d656e74730a20202020202a2060707265646963617465602072657475726e732074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b6520605f2e72656d6f7665602c2074686973206d6574686f642072657475726e732061206e65772061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2040736565205f2e72656a6563740a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c7465722875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c207b2027616765273a2033362c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a2f0a2020202066756e6374696f6e2066696c74657228636f6c6c656374696f6e2c2070726564696361746529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617946696c746572203a206261736546696c7465723b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e602c2072657475726e696e672074686520666972737420656c656d656e740a20202020202a2060707265646963617465602072657475726e732074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d61746368656420656c656d656e742c20656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e642875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e206f626a65637420666f7220276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c207b2027616765273a20312c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a65637420666f722027706562626c6573270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a65637420666f72202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e642875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a65637420666f7220276261726e6579270a20202020202a2f0a202020207661722066696e64203d2063726561746546696e642866696e64496e646578293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e6460206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d636f6c6c656374696f6e2e6c656e6774682d315d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d61746368656420656c656d656e742c20656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e66696e644c617374285b312c20322c20332c20345d2c2066756e6374696f6e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20313b0a20202020202a207d293b0a20202020202a202f2f203d3e20330a20202020202a2f0a202020207661722066696e644c617374203d2063726561746546696e642866696e644c617374496e646578293b0a0a202020202f2a2a0a20202020202a2043726561746573206120666c617474656e6564206172726179206f662076616c7565732062792072756e6e696e67206561636820656c656d656e7420696e2060636f6c6c656374696f6e600a20202020202a2074687275206069746572617465656020616e6420666c617474656e696e6720746865206d617070656420726573756c74732e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b6e2c206e5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d6170285b312c20325d2c206475706c6963617465293b0a20202020202a202f2f203d3e205b312c20312c20322c20325d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d617028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c2031293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c61744d617060206578636570742074686174206974207265637572736976656c7920666c617474656e73207468650a20202020202a206d617070656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b5b5b6e2c206e5d5d5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d617044656570285b312c20325d2c206475706c6963617465293b0a20202020202a202f2f203d3e205b312c20312c20322c20325d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d61704465657028636f6c6c656374696f6e2c20697465726174656529207b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c20494e46494e495459293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c61744d617060206578636570742074686174206974207265637572736976656c7920666c617474656e73207468650a20202020202a206d617070656420726573756c747320757020746f20606465707468602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d205b64657074683d315d20546865206d6178696d756d20726563757273696f6e2064657074682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720666c617474656e65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206475706c6963617465286e29207b0a20202020202a20202072657475726e205b5b5b6e2c206e5d5d5d3b0a20202020202a207d0a20202020202a0a20202020202a205f2e666c61744d61704465707468285b312c20325d2c206475706c69636174652c2032293b0a20202020202a202f2f203d3e205b5b312c20315d2c205b322c20325d5d0a20202020202a2f0a2020202066756e6374696f6e20666c61744d6170446570746828636f6c6c656374696f6e2c2069746572617465652c20646570746829207b0a2020202020206465707468203d206465707468203d3d3d20756e646566696e6564203f2031203a20746f496e7465676572286465707468293b0a20202020202072657475726e2062617365466c617474656e286d617028636f6c6c656374696f6e2c206974657261746565292c206465707468293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f76657220656c656d656e7473206f662060636f6c6c656374696f6e6020616e6420696e766f6b6573206069746572617465656020666f72206561636820656c656d656e742e0a20202020202a2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2041732077697468206f746865722022436f6c6c656374696f6e7322206d6574686f64732c206f626a656374732077697468206120226c656e677468220a20202020202a2070726f706572747920617265206974657261746564206c696b65206172726179732e20546f2061766f69642074686973206265686176696f722075736520605f2e666f72496e600a20202020202a206f7220605f2e666f724f776e6020666f72206f626a65637420697465726174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a2040616c69617320656163680a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2040736565205f2e666f724561636852696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666f7245616368285b312c20325d2c2066756e6374696f6e2876616c756529207b0a20202020202a202020636f6e736f6c652e6c6f672876616c7565293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320603160207468656e206032602e0a20202020202a0a20202020202a205f2e666f7245616368287b202761273a20312c202762273a2032207d2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276127207468656e202762272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f724561636828636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617945616368203a2062617365456163683b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f724561636860206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a2040616c696173206561636852696768740a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797c4f626a6563747d2052657475726e732060636f6c6c656374696f6e602e0a20202020202a2040736565205f2e666f72456163680a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666f72456163685269676874285b312c20325d2c2066756e6374696f6e2876616c756529207b0a20202020202a202020636f6e736f6c652e6c6f672876616c7565293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320603260207468656e206031602e0a20202020202a2f0a2020202066756e6374696f6e20666f7245616368526967687428636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179456163685269676874203a20626173654561636852696768743b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e20546865206f72646572206f662067726f757065642076616c7565730a20202020202a2069732064657465726d696e656420627920746865206f726465722074686579206f6363757220696e2060636f6c6c656374696f6e602e2054686520636f72726573706f6e64696e670a20202020202a2076616c7565206f662065616368206b657920697320616e206172726179206f6620656c656d656e747320726573706f6e7369626c6520666f722067656e65726174696e67207468650a20202020202a206b65792e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e67726f75704279285b362e312c20342e322c20362e335d2c204d6174682e666c6f6f72293b0a20202020202a202f2f203d3e207b202734273a205b342e325d2c202736273a205b362e312c20362e335d207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e67726f75704279285b276f6e65272c202774776f272c20277468726565275d2c20276c656e67746827293b0a20202020202a202f2f203d3e207b202733273a205b276f6e65272c202774776f275d2c202735273a205b277468726565275d207d0a20202020202a2f0a202020207661722067726f75704279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c206b65792929207b0a2020202020202020726573756c745b6b65795d2e707573682876616c7565293b0a2020202020207d20656c7365207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c205b76616c75655d293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320696e2060636f6c6c656374696f6e602e2049662060636f6c6c656374696f6e60206973206120737472696e672c20697427730a20202020202a20636865636b656420666f72206120737562737472696e67206f66206076616c7565602c206f74686572776973650a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a206973207573656420666f7220657175616c69747920636f6d70617269736f6e732e204966206066726f6d496e64657860206973206e656761746976652c206974277320757365642061730a20202020202a20746865206f66667365742066726f6d2074686520656e64206f662060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747c737472696e677d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b66726f6d496e6465783d305d2054686520696e64657820746f207365617263682066726f6d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e726564756365602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320666f756e642c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e636c75646573285b312c20322c20335d2c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e636c75646573285b312c20322c20335d2c20312c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e636c75646573287b202761273a20312c202762273a2032207d2c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e636c75646573282761626364272c2027626327293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20696e636c7564657328636f6c6c656374696f6e2c2076616c75652c2066726f6d496e6465782c20677561726429207b0a202020202020636f6c6c656374696f6e203d20697341727261794c696b6528636f6c6c656374696f6e29203f20636f6c6c656374696f6e203a2076616c75657328636f6c6c656374696f6e293b0a20202020202066726f6d496e646578203d202866726f6d496e6465782026262021677561726429203f20746f496e74656765722866726f6d496e64657829203a20303b0a0a202020202020766172206c656e677468203d20636f6c6c656374696f6e2e6c656e6774683b0a2020202020206966202866726f6d496e646578203c203029207b0a202020202020202066726f6d496e646578203d206e61746976654d6178286c656e677468202b2066726f6d496e6465782c2030293b0a2020202020207d0a20202020202072657475726e206973537472696e6728636f6c6c656374696f6e290a20202020202020203f202866726f6d496e646578203c3d206c656e67746820262620636f6c6c656374696f6e2e696e6465784f662876616c75652c2066726f6d496e64657829203e202d31290a20202020202020203a202821216c656e6774682026262062617365496e6465784f6628636f6c6c656374696f6e2c2076616c75652c2066726f6d496e64657829203e202d31293b0a202020207d0a0a202020202f2a2a0a20202020202a20496e766f6b657320746865206d6574686f6420617420607061746860206f66206561636820656c656d656e7420696e2060636f6c6c656374696f6e602c2072657475726e696e670a20202020202a20616e206172726179206f662074686520726573756c7473206f66206561636820696e766f6b6564206d6574686f642e20416e79206164646974696f6e616c20617267756d656e74730a20202020202a206172652070726f766964656420746f206561636820696e766f6b6564206d6574686f642e2049662060706174686020697320612066756e6374696f6e2c206974277320696e766f6b65640a20202020202a20666f722c20616e642060746869736020626f756e6420746f2c206561636820656c656d656e7420696e2060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b41727261797c46756e6374696f6e7c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b65206f720a20202020202a20207468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b652065616368206d6574686f6420776974682e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e766f6b654d6170285b5b352c20312c20375d2c205b332c20322c20315d5d2c2027736f727427293b0a20202020202a202f2f203d3e205b5b312c20352c20375d2c205b312c20322c20335d5d0a20202020202a0a20202020202a205f2e696e766f6b654d6170285b3132332c203435365d2c20537472696e672e70726f746f747970652e73706c69742c202727293b0a20202020202a202f2f203d3e205b5b2731272c202732272c202733275d2c205b2734272c202735272c202736275d5d0a20202020202a2f0a2020202076617220696e766f6b654d6170203d2062617365526573742866756e6374696f6e28636f6c6c656374696f6e2c20706174682c206172677329207b0a20202020202076617220696e646578203d202d312c0a20202020202020202020697346756e63203d20747970656f662070617468203d3d202766756e6374696f6e272c0a20202020202020202020726573756c74203d20697341727261794c696b6528636f6c6c656374696f6e29203f20417272617928636f6c6c656374696f6e2e6c656e67746829203a205b5d3b0a0a202020202020626173654561636828636f6c6c656374696f6e2c2066756e6374696f6e2876616c756529207b0a2020202020202020726573756c745b2b2b696e6465785d203d20697346756e63203f206170706c7928706174682c2076616c75652c206172677329203a2062617365496e766f6b652876616c75652c20706174682c2061726773293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f66206b6579732067656e6572617465642066726f6d2074686520726573756c7473206f662072756e6e696e670a20202020202a206561636820656c656d656e74206f662060636f6c6c656374696f6e60207468727520606974657261746565602e2054686520636f72726573706f6e64696e672076616c7565206f660a20202020202a2065616368206b657920697320746865206c61737420656c656d656e7420726573706f6e7369626c6520666f722067656e65726174696e6720746865206b65792e205468650a20202020202a20697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520746f207472616e73666f726d206b6579732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6d706f73656420616767726567617465206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b0a20202020202a2020207b2027646972273a20276c656674272c2027636f6465273a203937207d2c0a20202020202a2020207b2027646972273a20277269676874272c2027636f6465273a20313030207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6b657942792861727261792c2066756e6374696f6e286f29207b0a20202020202a20202072657475726e20537472696e672e66726f6d43686172436f6465286f2e636f6465293b0a20202020202a207d293b0a20202020202a202f2f203d3e207b202761273a207b2027646972273a20276c656674272c2027636f6465273a203937207d2c202764273a207b2027646972273a20277269676874272c2027636f6465273a20313030207d207d0a20202020202a0a20202020202a205f2e6b657942792861727261792c202764697227293b0a20202020202a202f2f203d3e207b20276c656674273a207b2027646972273a20276c656674272c2027636f6465273a203937207d2c20277269676874273a207b2027646972273a20277269676874272c2027636f6465273a20313030207d207d0a20202020202a2f0a20202020766172206b65794279203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a2020202020206261736541737369676e56616c756528726573756c742c206b65792c2076616c7565293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662076616c7565732062792072756e6e696e67206561636820656c656d656e7420696e2060636f6c6c656374696f6e6020746872750a20202020202a20606974657261746565602e2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a0a20202020202a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a204d616e79206c6f64617368206d6574686f647320617265206775617264656420746f20776f726b2061732069746572617465657320666f72206d6574686f6473206c696b650a20202020202a20605f2e6576657279602c20605f2e66696c746572602c20605f2e6d6170602c20605f2e6d617056616c756573602c20605f2e72656a656374602c20616e6420605f2e736f6d65602e0a20202020202a0a20202020202a205468652067756172646564206d6574686f6473206172653a0a20202020202a2060617279602c20606368756e6b602c20606375727279602c206063757272795269676874602c206064726f70602c206064726f705269676874602c20606576657279602c0a20202020202a206066696c6c602c2060696e76657274602c20607061727365496e74602c206072616e646f6d602c206072616e6765602c206072616e67655269676874602c2060726570656174602c0a20202020202a206073616d706c6553697a65602c2060736c696365602c2060736f6d65602c2060736f72744279602c206073706c6974602c206074616b65602c206074616b655269676874602c0a20202020202a206074656d706c617465602c20607472696d602c20607472696d456e64602c20607472696d5374617274602c20616e642060776f726473600a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e6577206d61707065642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a205f2e6d6170285b342c20385d2c20737175617265293b0a20202020202a202f2f203d3e205b31362c2036345d0a20202020202a0a20202020202a205f2e6d6170287b202761273a20342c202762273a2038207d2c20737175617265293b0a20202020202a202f2f203d3e205b31362c2036345d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e657927207d2c0a20202020202a2020207b202775736572273a20276672656427207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61702875736572732c20277573657227293b0a20202020202a202f2f203d3e205b276261726e6579272c202766726564275d0a20202020202a2f0a2020202066756e6374696f6e206d617028636f6c6c656374696f6e2c20697465726174656529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261794d6170203a20626173654d61703b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e736f727442796020657863657074207468617420697420616c6c6f77732073706563696679696e672074686520736f72740a20202020202a206f7264657273206f66207468652069746572617465657320746f20736f72742062792e20496620606f72646572736020697320756e7370656369666965642c20616c6c2076616c7565730a20202020202a2061726520736f7274656420696e20617363656e64696e67206f726465722e204f74686572776973652c207370656369667920616e206f72646572206f662022646573632220666f720a20202020202a2064657363656e64696e67206f7220226173632220666f7220617363656e64696e6720736f7274206f72646572206f6620636f72726573706f6e64696e672076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b41727261795b5d7c46756e6374696f6e5b5d7c4f626a6563745b5d7c737472696e675b5d7d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20736f72742062792e0a20202020202a2040706172616d207b737472696e675b5d7d205b6f72646572735d2054686520736f7274206f7264657273206f662060697465726174656573602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e726564756365602e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203438207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203334207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f20536f72742062792060757365726020696e20617363656e64696e67206f7264657220616e6420627920606167656020696e2064657363656e64696e67206f726465722e0a20202020202a205f2e6f7264657242792875736572732c205b2775736572272c2027616765275d2c205b27617363272c202764657363275d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033365d2c205b276261726e6579272c2033345d2c205b2766726564272c2034385d2c205b2766726564272c2034305d5d0a20202020202a2f0a2020202066756e6374696f6e206f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f72646572732c20677561726429207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020696620282169734172726179286974657261746565732929207b0a2020202020202020697465726174656573203d20697465726174656573203d3d206e756c6c203f205b5d203a205b6974657261746565735d3b0a2020202020207d0a2020202020206f7264657273203d206775617264203f20756e646566696e6564203a206f72646572733b0a202020202020696620282169734172726179286f72646572732929207b0a20202020202020206f7264657273203d206f7264657273203d3d206e756c6c203f205b5d203a205b6f72646572735d3b0a2020202020207d0a20202020202072657475726e20626173654f72646572427928636f6c6c656374696f6e2c206974657261746565732c206f7264657273293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732073706c697420696e746f2074776f2067726f7570732c20746865206669727374206f662077686963680a20202020202a20636f6e7461696e7320656c656d656e74732060707265646963617465602072657475726e732074727574687920666f722c20746865207365636f6e64206f662077686963680a20202020202a20636f6e7461696e7320656c656d656e74732060707265646963617465602072657475726e732066616c73657920666f722e20546865207072656469636174652069730a20202020202a20696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662067726f7570656420656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c202027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c2020202027616765273a2034302c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a2027706562626c6573272c2027616765273a20312c202027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e706172746974696f6e2875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b2766726564275d2c205b276261726e6579272c2027706562626c6573275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c207b2027616765273a20312c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b27706562626c6573275d2c205b276261726e6579272c202766726564275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2027706562626c6573275d2c205b2766726564275d5d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e706172746974696f6e2875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b2766726564275d2c205b276261726e6579272c2027706562626c6573275d5d0a20202020202a2f0a2020202076617220706172746974696f6e203d2063726561746541676772656761746f722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020726573756c745b6b6579203f2030203a20315d2e707573682876616c7565293b0a202020207d2c2066756e6374696f6e2829207b2072657475726e205b5b5d2c205b5d5d3b207d293b0a0a202020202f2a2a0a20202020202a20526564756365732060636f6c6c656374696f6e6020746f20612076616c75652077686963682069732074686520616363756d756c6174656420726573756c74206f662072756e6e696e670a20202020202a206561636820656c656d656e7420696e2060636f6c6c656374696f6e60207468727520606974657261746565602c207768657265206561636820737563636573736976650a20202020202a20696e766f636174696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e2049662060616363756d756c61746f72600a20202020202a206973206e6f7420676976656e2c2074686520666972737420656c656d656e74206f662060636f6c6c656374696f6e6020697320757365642061732074686520696e697469616c0a20202020202a2076616c75652e2054686520697465726174656520697320696e766f6b6564207769746820666f757220617267756d656e74733a0a20202020202a2028616363756d756c61746f722c2076616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a204d616e79206c6f64617368206d6574686f647320617265206775617264656420746f20776f726b2061732069746572617465657320666f72206d6574686f6473206c696b650a20202020202a20605f2e726564756365602c20605f2e7265647563655269676874602c20616e6420605f2e7472616e73666f726d602e0a20202020202a0a20202020202a205468652067756172646564206d6574686f6473206172653a0a20202020202a206061737369676e602c206064656661756c7473602c206064656661756c747344656570602c2060696e636c75646573602c20606d65726765602c20606f726465724279602c0a20202020202a20616e642060736f72744279600a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a2040736565205f2e72656475636552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e726564756365285b312c20325d2c2066756e6374696f6e2873756d2c206e29207b0a20202020202a20202072657475726e2073756d202b206e3b0a20202020202a207d2c2030293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e726564756365287b202761273a20312c202762273a20322c202763273a2031207d2c2066756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a20202020202a20202028726573756c745b76616c75655d207c7c2028726573756c745b76616c75655d203d205b5d29292e70757368286b6579293b0a20202020202a20202072657475726e20726573756c743b0a20202020202a207d2c207b7d293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e2072656475636528636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f7229207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179526564756365203a20626173655265647563652c0a20202020202020202020696e6974416363756d203d20617267756d656e74732e6c656e677468203c20333b0a0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c2034292c20616363756d756c61746f722c20696e6974416363756d2c206261736545616368293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e72656475636560206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a2060636f6c6c656374696f6e602066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520696e697469616c2076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a2040736565205f2e7265647563650a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b5b302c20315d2c205b322c20335d2c205b342c20355d5d3b0a20202020202a0a20202020202a205f2e72656475636552696768742861727261792c2066756e6374696f6e28666c617474656e65642c206f7468657229207b0a20202020202a20202072657475726e20666c617474656e65642e636f6e636174286f74686572293b0a20202020202a207d2c205b5d293b0a20202020202a202f2f203d3e205b342c20352c20322c20332c20302c20315d0a20202020202a2f0a2020202066756e6374696f6e20726564756365526967687428636f6c6c656374696f6e2c2069746572617465652c20616363756d756c61746f7229207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f2061727261795265647563655269676874203a20626173655265647563652c0a20202020202020202020696e6974416363756d203d20617267756d656e74732e6c656e677468203c20333b0a0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c2067657449746572617465652869746572617465652c2034292c20616363756d756c61746f722c20696e6974416363756d2c2062617365456163685269676874293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e66696c746572603b2074686973206d6574686f642072657475726e732074686520656c656d656e7473206f662060636f6c6c656374696f6e600a20202020202a207468617420607072656469636174656020646f6573202a2a6e6f742a2a2072657475726e2074727574687920666f722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772066696c74657265642061727261792e0a20202020202a2040736565205f2e66696c7465720a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2066616c7365207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2074727565207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e72656a6563742875736572732c2066756e6374696f6e286f29207b2072657475726e20216f2e6163746976653b207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c207b2027616765273a2034302c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b2766726564275d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e72656a6563742875736572732c202761637469766527293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b276261726e6579275d0a20202020202a2f0a2020202066756e6374696f6e2072656a65637428636f6c6c656374696f6e2c2070726564696361746529207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617946696c746572203a206261736546696c7465723b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206e6567617465286765744974657261746565287072656469636174652c20332929293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320612072616e646f6d20656c656d656e742066726f6d2060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a204072657475726e73207b2a7d2052657475726e73207468652072616e646f6d20656c656d656e742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73616d706c65285b312c20322c20332c20345d293b0a20202020202a202f2f203d3e20320a20202020202a2f0a2020202066756e6374696f6e2073616d706c6528636f6c6c656374696f6e29207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953616d706c65203a206261736553616d706c653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e293b0a202020207d0a0a202020202f2a2a0a20202020202a204765747320606e602072616e646f6d20656c656d656e747320617420756e69717565206b6579732066726f6d2060636f6c6c656374696f6e6020757020746f207468650a20202020202a2073697a65206f662060636f6c6c656374696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073616d706c652e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f6620656c656d656e747320746f2073616d706c652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e646f6d20656c656d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73616d706c6553697a65285b312c20322c20335d2c2032293b0a20202020202a202f2f203d3e205b332c20315d0a20202020202a0a20202020202a205f2e73616d706c6553697a65285b312c20322c20335d2c2034293b0a20202020202a202f2f203d3e205b322c20332c20315d0a20202020202a2f0a2020202066756e6374696f6e2073616d706c6553697a6528636f6c6c656374696f6e2c206e2c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c28636f6c6c656374696f6e2c206e2c20677561726429203a206e203d3d3d20756e646566696e65642929207b0a20202020202020206e203d20313b0a2020202020207d20656c7365207b0a20202020202020206e203d20746f496e7465676572286e293b0a2020202020207d0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953616d706c6553697a65203a206261736553616d706c6553697a653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662073687566666c65642076616c7565732c207573696e6720612076657273696f6e206f66207468650a20202020202a205b4669736865722d59617465732073687566666c655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4669736865722d59617465735f73687566666c65292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2073687566666c652e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772073687566666c65642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73687566666c65285b312c20322c20332c20345d293b0a20202020202a202f2f203d3e205b342c20312c20332c20325d0a20202020202a2f0a2020202066756e6374696f6e2073687566666c6528636f6c6c656374696f6e29207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f20617272617953687566666c65203a206261736553687566666c653b0a20202020202072657475726e2066756e6328636f6c6c656374696f6e293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652073697a65206f662060636f6c6c656374696f6e602062792072657475726e696e6720697473206c656e67746820666f722061727261792d6c696b650a20202020202a2076616c756573206f7220746865206e756d626572206f66206f776e20656e756d657261626c6520737472696e67206b657965642070726f7065727469657320666f72206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747c737472696e677d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f20696e73706563742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6c6c656374696f6e2073697a652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73697a65285b312c20322c20335d293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e73697a65287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a205f2e73697a652827706562626c657327293b0a20202020202a202f2f203d3e20370a20202020202a2f0a2020202066756e6374696f6e2073697a6528636f6c6c656374696f6e29207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e20303b0a2020202020207d0a20202020202069662028697341727261794c696b6528636f6c6c656374696f6e2929207b0a202020202020202072657475726e206973537472696e6728636f6c6c656374696f6e29203f20737472696e6753697a6528636f6c6c656374696f6e29203a20636f6c6c656374696f6e2e6c656e6774683b0a2020202020207d0a20202020202076617220746167203d2067657454616728636f6c6c656374696f6e293b0a20202020202069662028746167203d3d206d6170546167207c7c20746167203d3d2073657454616729207b0a202020202020202072657475726e20636f6c6c656374696f6e2e73697a653b0a2020202020207d0a20202020202072657475726e20626173654b65797328636f6c6c656374696f6e292e6c656e6774683b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060707265646963617465602072657475726e732074727574687920666f72202a2a616e792a2a20656c656d656e74206f662060636f6c6c656374696f6e602e0a20202020202a20497465726174696f6e2069732073746f70706564206f6e63652060707265646963617465602072657475726e73207472757468792e20546865207072656469636174652069730a20202020202a20696e766f6b6564207769746820746872656520617267756d656e74733a202876616c75652c20696e6465787c6b65792c20636f6c6c656374696f6e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620616e7920656c656d656e7420706173736573207468652070726564696361746520636865636b2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736f6d65285b6e756c6c2c20302c2027796573272c2066616c73655d2c20426f6f6c65616e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c207b202775736572273a20276261726e6579272c2027616374697665273a2066616c7365207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e736f6d652875736572732c202761637469766527293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20736f6d6528636f6c6c656374696f6e2c207072656469636174652c20677561726429207b0a2020202020207661722066756e63203d206973417272617928636f6c6c656374696f6e29203f206172726179536f6d65203a2062617365536f6d653b0a202020202020696620286775617264202626206973497465726174656543616c6c28636f6c6c656374696f6e2c207072656469636174652c2067756172642929207b0a2020202020202020707265646963617465203d20756e646566696e65643b0a2020202020207d0a20202020202072657475726e2066756e6328636f6c6c656374696f6e2c206765744974657261746565287072656469636174652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620656c656d656e74732c20736f7274656420696e20617363656e64696e67206f726465722062792074686520726573756c7473206f660a20202020202a2072756e6e696e67206561636820656c656d656e7420696e206120636f6c6c656374696f6e207468727520656163682069746572617465652e2054686973206d6574686f640a20202020202a20706572666f726d73206120737461626c6520736f72742c20746861742069732c2069742070726573657276657320746865206f726967696e616c20736f7274206f72646572206f660a20202020202a20657175616c20656c656d656e74732e20546865206974657261746565732061726520696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f727920436f6c6c656374696f6e0a20202020202a2040706172616d207b41727261797c4f626a6563747d20636f6c6c656374696f6e2054686520636f6c6c656374696f6e20746f2069746572617465206f7665722e0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20736f72742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720736f727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203438207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203336207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a203430207d2c0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a203334207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e736f727442792875736572732c205b66756e6374696f6e286f29207b2072657475726e206f2e757365723b207d5d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033365d2c205b276261726e6579272c2033345d2c205b2766726564272c2034385d2c205b2766726564272c2034305d5d0a20202020202a0a20202020202a205f2e736f727442792875736572732c205b2775736572272c2027616765275d293b0a20202020202a202f2f203d3e206f626a6563747320666f72205b5b276261726e6579272c2033345d2c205b276261726e6579272c2033365d2c205b2766726564272c2034305d2c205b2766726564272c2034385d5d0a20202020202a2f0a2020202076617220736f72744279203d2062617365526573742866756e6374696f6e28636f6c6c656374696f6e2c2069746572617465657329207b0a20202020202069662028636f6c6c656374696f6e203d3d206e756c6c29207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020766172206c656e677468203d206974657261746565732e6c656e6774683b0a202020202020696620286c656e677468203e2031202626206973497465726174656543616c6c28636f6c6c656374696f6e2c206974657261746565735b305d2c206974657261746565735b315d2929207b0a2020202020202020697465726174656573203d205b5d3b0a2020202020207d20656c736520696620286c656e677468203e2032202626206973497465726174656543616c6c286974657261746565735b305d2c206974657261746565735b315d2c206974657261746565735b325d2929207b0a2020202020202020697465726174656573203d205b6974657261746565735b305d5d3b0a2020202020207d0a20202020202072657475726e20626173654f72646572427928636f6c6c656374696f6e2c2062617365466c617474656e286974657261746565732c2031292c205b5d293b0a202020207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2047657473207468652074696d657374616d70206f6620746865206e756d626572206f66206d696c6c697365636f6e64732074686174206861766520656c61707365642073696e63650a20202020202a2074686520556e69782065706f6368202831204a616e7561727920313937302030303a30303a303020555443292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f727920446174650a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d657374616d702e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656665722866756e6374696f6e287374616d7029207b0a20202020202a202020636f6e736f6c652e6c6f67285f2e6e6f772829202d207374616d70293b0a20202020202a207d2c205f2e6e6f772829293b0a20202020202a202f2f203d3e204c6f677320746865206e756d626572206f66206d696c6c697365636f6e647320697420746f6f6b20666f722074686520646566657272656420696e766f636174696f6e2e0a20202020202a2f0a20202020766172206e6f77203d206374784e6f77207c7c2066756e6374696f6e2829207b0a20202020202072657475726e20726f6f742e446174652e6e6f7728293b0a202020207d3b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6265666f7265603b2074686973206d6574686f64206372656174657320612066756e6374696f6e207468617420696e766f6b65730a20202020202a206066756e6360206f6e636520697427732063616c6c656420606e60206f72206d6f72652074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662063616c6c73206265666f7265206066756e636020697320696e766f6b65642e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207361766573203d205b2770726f66696c65272c202773657474696e6773275d3b0a20202020202a0a20202020202a2076617220646f6e65203d205f2e61667465722873617665732e6c656e6774682c2066756e6374696f6e2829207b0a20202020202a202020636f6e736f6c652e6c6f672827646f6e6520736176696e672127293b0a20202020202a207d293b0a20202020202a0a20202020202a205f2e666f72456163682873617665732c2066756e6374696f6e287479706529207b0a20202020202a2020206173796e6353617665287b202774797065273a20747970652c2027636f6d706c657465273a20646f6e65207d293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f67732027646f6e6520736176696e672127206166746572207468652074776f206173796e63207361766573206861766520636f6d706c657465642e0a20202020202a2f0a2020202066756e6374696f6e206166746572286e2c2066756e6329207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020696620282d2d6e203c203129207b0a2020202020202020202072657475726e2066756e632e6170706c7928746869732c20617267756d656e7473293b0a20202020202020207d0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e63602c207769746820757020746f20606e6020617267756d656e74732c0a20202020202a2069676e6f72696e6720616e79206164646974696f6e616c20617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d66756e632e6c656e6774685d20546865206172697479206361702e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6170285b2736272c202738272c20273130275d2c205f2e617279287061727365496e742c203129293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e206172792866756e632c206e2c20677561726429207b0a2020202020206e203d206775617264203f20756e646566696e6564203a206e3b0a2020202020206e203d202866756e63202626206e203d3d206e756c6c29203f2066756e632e6c656e677468203a206e3b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f4152595f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e63602c207769746820746865206074686973602062696e64696e6720616e6420617267756d656e74730a20202020202a206f662074686520637265617465642066756e6374696f6e2c207768696c6520697427732063616c6c6564206c657373207468616e20606e602074696d65732e2053756273657175656e740a20202020202a2063616c6c7320746f2074686520637265617465642066756e6374696f6e2072657475726e2074686520726573756c74206f6620746865206c617374206066756e636020696e766f636174696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662063616c6c73206174207768696368206066756e6360206973206e6f206c6f6e67657220696e766f6b65642e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c205f2e6265666f726528352c20616464436f6e74616374546f4c69737429293b0a20202020202a202f2f203d3e20416c6c6f777320616464696e6720757020746f203420636f6e746163747320746f20746865206c6973742e0a20202020202a2f0a2020202066756e6374696f6e206265666f7265286e2c2066756e6329207b0a20202020202076617220726573756c743b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2066756e6374696f6e2829207b0a2020202020202020696620282d2d6e203e203029207b0a20202020202020202020726573756c74203d2066756e632e6170706c7928746869732c20617267756d656e7473293b0a20202020202020207d0a2020202020202020696620286e203c3d203129207b0a2020202020202020202066756e63203d20756e646566696e65643b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66206074686973417267600a20202020202a20616e6420607061727469616c73602070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686520605f2e62696e642e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c6974686963206275696c64732c0a20202020202a206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20556e6c696b65206e6174697665206046756e6374696f6e2362696e64602c2074686973206d6574686f6420646f65736e2774207365742074686520226c656e677468220a20202020202a2070726f7065727479206f6620626f756e642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2062696e642e0a20202020202a2040706172616d207b2a7d207468697341726720546865206074686973602062696e64696e67206f66206066756e63602e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626f756e642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b202775736572273a20276672656427207d3b0a20202020202a0a20202020202a2076617220626f756e64203d205f2e62696e642867726565742c206f626a6563742c2027686927293b0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a0a20202020202a202f2f20426f756e64207769746820706c616365686f6c646572732e0a20202020202a2076617220626f756e64203d205f2e62696e642867726565742c206f626a6563742c205f2c20272127293b0a20202020202a20626f756e642827686927293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a2f0a202020207661722062696e64203d2062617365526573742866756e6374696f6e2866756e632c20746869734172672c207061727469616c7329207b0a202020202020766172206269746d61736b203d20575241505f42494e445f464c41473b0a202020202020696620287061727469616c732e6c656e67746829207b0a202020202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c6465722862696e6429293b0a20202020202020206269746d61736b207c3d20575241505f5041525449414c5f464c41473b0a2020202020207d0a20202020202072657475726e20637265617465577261702866756e632c206269746d61736b2c20746869734172672c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865206d6574686f6420617420606f626a6563745b6b65795d60207769746820607061727469616c73600a20202020202a2070726570656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686973206d6574686f6420646966666572732066726f6d20605f2e62696e646020627920616c6c6f77696e6720626f756e642066756e6374696f6e7320746f207265666572656e63650a20202020202a206d6574686f64732074686174206d6179206265207265646566696e6564206f7220646f6e2774207965742065786973742e205365650a20202020202a205b5065746572204d69636861757827732061727469636c655d28687474703a2f2f70657465722e6d6963686175782e63612f61727469636c65732f6c617a792d66756e6374696f6e2d646566696e6974696f6e2d7061747465726e290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a2054686520605f2e62696e644b65792e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e31302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766f6b6520746865206d6574686f64206f6e2e0a20202020202a2040706172616d207b737472696e677d206b657920546865206b6579206f6620746865206d6574686f642e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720626f756e642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b0a20202020202a2020202775736572273a202766726564272c0a20202020202a202020276772656574273a2066756e6374696f6e286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a202020202072657475726e206772656574696e67202b20272027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a2020207d0a20202020202a207d3b0a20202020202a0a20202020202a2076617220626f756e64203d205f2e62696e644b6579286f626a6563742c20276772656574272c2027686927293b0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e20276869206672656421270a20202020202a0a20202020202a206f626a6563742e6772656574203d2066756e6374696f6e286772656574696e672c2070756e6374756174696f6e29207b0a20202020202a20202072657475726e206772656574696e67202b202779612027202b20746869732e75736572202b2070756e6374756174696f6e3b0a20202020202a207d3b0a20202020202a0a20202020202a20626f756e6428272127293b0a20202020202a202f2f203d3e202768697961206672656421270a20202020202a0a20202020202a202f2f20426f756e64207769746820706c616365686f6c646572732e0a20202020202a2076617220626f756e64203d205f2e62696e644b6579286f626a6563742c20276772656574272c205f2c20272127293b0a20202020202a20626f756e642827686927293b0a20202020202a202f2f203d3e202768697961206672656421270a20202020202a2f0a202020207661722062696e644b6579203d2062617365526573742866756e6374696f6e286f626a6563742c206b65792c207061727469616c7329207b0a202020202020766172206269746d61736b203d20575241505f42494e445f464c4147207c20575241505f42494e445f4b45595f464c41473b0a202020202020696620287061727469616c732e6c656e67746829207b0a202020202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c6465722862696e644b657929293b0a20202020202020206269746d61736b207c3d20575241505f5041525449414c5f464c41473b0a2020202020207d0a20202020202072657475726e2063726561746557726170286b65792c206269746d61736b2c206f626a6563742c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206163636570747320617267756d656e7473206f66206066756e636020616e642065697468657220696e766f6b65730a20202020202a206066756e63602072657475726e696e672069747320726573756c742c206966206174206c656173742060617269747960206e756d626572206f6620617267756d656e747320686176650a20202020202a206265656e2070726f76696465642c206f722072657475726e7320612066756e6374696f6e20746861742061636365707473207468652072656d61696e696e67206066756e63600a20202020202a20617267756d656e74732c20616e6420736f206f6e2e20546865206172697479206f66206066756e6360206d617920626520737065636966696564206966206066756e632e6c656e677468600a20202020202a206973206e6f742073756666696369656e742e0a20202020202a0a20202020202a2054686520605f2e63757272792e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c6974686963206275696c64732c0a20202020202a206d61792062652075736564206173206120706c616365686f6c64657220666f722070726f766964656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620637572726965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063757272792e0a20202020202a2040706172616d207b6e756d6265727d205b61726974793d66756e632e6c656e6774685d20546865206172697479206f66206066756e63602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720637572726965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220616263203d2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d3b0a20202020202a0a20202020202a207661722063757272696564203d205f2e637572727928616263293b0a20202020202a0a20202020202a20637572726965642831292832292833293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c2032292833293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c20322c2033293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a202f2f2043757272696564207769746820706c616365686f6c646572732e0a20202020202a2063757272696564283129285f2c2033292832293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e2063757272792866756e632c2061726974792c20677561726429207b0a2020202020206172697479203d206775617264203f20756e646566696e6564203a2061726974793b0a20202020202076617220726573756c74203d20637265617465577261702866756e632c20575241505f43555252595f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206172697479293b0a202020202020726573756c742e706c616365686f6c646572203d2063757272792e706c616365686f6c6465723b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e63757272796020657863657074207468617420617267756d656e747320617265206170706c69656420746f206066756e63600a20202020202a20696e20746865206d616e6e6572206f6620605f2e7061727469616c52696768746020696e7374656164206f6620605f2e7061727469616c602e0a20202020202a0a20202020202a2054686520605f2e637572727952696768742e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f722070726f766964656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620637572726965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063757272792e0a20202020202a2040706172616d207b6e756d6265727d205b61726974793d66756e632e6c656e6774685d20546865206172697479206f66206066756e63602e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720637572726965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220616263203d2066756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d3b0a20202020202a0a20202020202a207661722063757272696564203d205f2e6375727279526967687428616263293b0a20202020202a0a20202020202a20637572726965642833292832292831293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428322c2033292831293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a206375727269656428312c20322c2033293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a0a20202020202a202f2f2043757272696564207769746820706c616365686f6c646572732e0a20202020202a206375727269656428332928312c205f292832293b0a20202020202a202f2f203d3e205b312c20322c20335d0a20202020202a2f0a2020202066756e6374696f6e20637572727952696768742866756e632c2061726974792c20677561726429207b0a2020202020206172697479203d206775617264203f20756e646566696e6564203a2061726974793b0a20202020202076617220726573756c74203d20637265617465577261702866756e632c20575241505f43555252595f52494748545f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c206172697479293b0a202020202020726573756c742e706c616365686f6c646572203d20637572727952696768742e706c616365686f6c6465723b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061206465626f756e6365642066756e6374696f6e20746861742064656c61797320696e766f6b696e67206066756e636020756e74696c206166746572206077616974600a20202020202a206d696c6c697365636f6e6473206861766520656c61707365642073696e636520746865206c6173742074696d6520746865206465626f756e6365642066756e6374696f6e207761730a20202020202a20696e766f6b65642e20546865206465626f756e6365642066756e6374696f6e20636f6d657320776974682061206063616e63656c60206d6574686f6420746f2063616e63656c0a20202020202a2064656c61796564206066756e636020696e766f636174696f6e7320616e6420612060666c75736860206d6574686f6420746f20696d6d6564696174656c7920696e766f6b65207468656d2e0a20202020202a2050726f7669646520606f7074696f6e736020746f20696e6469636174652077686574686572206066756e63602073686f756c6420626520696e766f6b6564206f6e207468650a20202020202a206c656164696e6720616e642f6f7220747261696c696e672065646765206f6620746865206077616974602074696d656f75742e20546865206066756e636020697320696e766f6b65640a20202020202a207769746820746865206c61737420617267756d656e74732070726f766964656420746f20746865206465626f756e6365642066756e6374696f6e2e2053756273657175656e740a20202020202a2063616c6c7320746f20746865206465626f756e6365642066756e6374696f6e2072657475726e2074686520726573756c74206f6620746865206c617374206066756e63600a20202020202a20696e766f636174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620606c656164696e676020616e642060747261696c696e6760206f7074696f6e7320617265206074727565602c206066756e63602069730a20202020202a20696e766f6b6564206f6e2074686520747261696c696e672065646765206f66207468652074696d656f7574206f6e6c7920696620746865206465626f756e6365642066756e6374696f6e0a20202020202a20697320696e766f6b6564206d6f7265207468616e206f6e636520647572696e6720746865206077616974602074696d656f75742e0a20202020202a0a20202020202a204966206077616974602069732060306020616e6420606c656164696e6760206973206066616c7365602c206066756e636020696e766f636174696f6e2069732064656665727265640a20202020202a20756e74696c20746f20746865206e657874207469636b2c2073696d696c617220746f206073657454696d656f757460207769746820612074696d656f7574206f66206030602e0a20202020202a0a20202020202a20536565205b446176696420436f72626163686f27732061727469636c655d2868747470733a2f2f6373732d747269636b732e636f6d2f6465626f756e63696e672d7468726f74746c696e672d6578706c61696e65642d6578616d706c65732f290a20202020202a20666f722064657461696c73206f7665722074686520646966666572656e636573206265747765656e20605f2e6465626f756e63656020616e6420605f2e7468726f74746c65602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206465626f756e63652e0a20202020202a2040706172616d207b6e756d6265727d205b776169743d305d20546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c61792e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e6c656164696e673d66616c73655d0a20202020202a20205370656369667920696e766f6b696e67206f6e20746865206c656164696e672065646765206f66207468652074696d656f75742e0a20202020202a2040706172616d207b6e756d6265727d205b6f7074696f6e732e6d6178576169745d0a20202020202a2020546865206d6178696d756d2074696d65206066756e636020697320616c6c6f77656420746f2062652064656c61796564206265666f7265206974277320696e766f6b65642e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e747261696c696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e2074686520747261696c696e672065646765206f66207468652074696d656f75742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206465626f756e6365642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f696420636f73746c792063616c63756c6174696f6e73207768696c65207468652077696e646f772073697a6520697320696e20666c75782e0a20202020202a206a51756572792877696e646f77292e6f6e2827726573697a65272c205f2e6465626f756e63652863616c63756c6174654c61796f75742c2031353029293b0a20202020202a0a20202020202a202f2f20496e766f6b65206073656e644d61696c60207768656e20636c69636b65642c206465626f756e63696e672073756273657175656e742063616c6c732e0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c205f2e6465626f756e63652873656e644d61696c2c203330302c207b0a20202020202a202020276c656164696e67273a20747275652c0a20202020202a20202027747261696c696e67273a2066616c73650a20202020202a207d29293b0a20202020202a0a20202020202a202f2f20456e73757265206062617463684c6f676020697320696e766f6b6564206f6e63652061667465722031207365636f6e64206f66206465626f756e6365642063616c6c732e0a20202020202a20766172206465626f756e636564203d205f2e6465626f756e63652862617463684c6f672c203235302c207b20276d617857616974273a2031303030207d293b0a20202020202a2076617220736f75726365203d206e6577204576656e74536f7572636528272f73747265616d27293b0a20202020202a206a517565727928736f75726365292e6f6e28276d657373616765272c206465626f756e636564293b0a20202020202a0a20202020202a202f2f2043616e63656c2074686520747261696c696e67206465626f756e63656420696e766f636174696f6e2e0a20202020202a206a51756572792877696e646f77292e6f6e2827706f707374617465272c206465626f756e6365642e63616e63656c293b0a20202020202a2f0a2020202066756e6374696f6e206465626f756e63652866756e632c20776169742c206f7074696f6e7329207b0a202020202020766172206c617374417267732c0a202020202020202020206c617374546869732c0a202020202020202020206d6178576169742c0a20202020202020202020726573756c742c0a2020202020202020202074696d657249642c0a202020202020202020206c61737443616c6c54696d652c0a202020202020202020206c617374496e766f6b6554696d65203d20302c0a202020202020202020206c656164696e67203d2066616c73652c0a202020202020202020206d6178696e67203d2066616c73652c0a20202020202020202020747261696c696e67203d20747275653b0a0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202077616974203d20746f4e756d626572287761697429207c7c20303b0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a20202020202020206c656164696e67203d2021216f7074696f6e732e6c656164696e673b0a20202020202020206d6178696e67203d20276d6178576169742720696e206f7074696f6e733b0a20202020202020206d617857616974203d206d6178696e67203f206e61746976654d617828746f4e756d626572286f7074696f6e732e6d61785761697429207c7c20302c207761697429203a206d6178576169743b0a2020202020202020747261696c696e67203d2027747261696c696e672720696e206f7074696f6e73203f2021216f7074696f6e732e747261696c696e67203a20747261696c696e673b0a2020202020207d0a0a20202020202066756e6374696f6e20696e766f6b6546756e632874696d6529207b0a20202020202020207661722061726773203d206c617374417267732c0a20202020202020202020202074686973417267203d206c617374546869733b0a0a20202020202020206c61737441726773203d206c61737454686973203d20756e646566696e65643b0a20202020202020206c617374496e766f6b6554696d65203d2074696d653b0a2020202020202020726573756c74203d2066756e632e6170706c7928746869734172672c2061726773293b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e206c656164696e67456467652874696d6529207b0a20202020202020202f2f20526573657420616e7920606d617857616974602074696d65722e0a20202020202020206c617374496e766f6b6554696d65203d2074696d653b0a20202020202020202f2f205374617274207468652074696d657220666f722074686520747261696c696e6720656467652e0a202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020202f2f20496e766f6b6520746865206c656164696e6720656467652e0a202020202020202072657475726e206c656164696e67203f20696e766f6b6546756e632874696d6529203a20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2072656d61696e696e67576169742874696d6529207b0a20202020202020207661722074696d6553696e63654c61737443616c6c203d2074696d65202d206c61737443616c6c54696d652c0a20202020202020202020202074696d6553696e63654c617374496e766f6b65203d2074696d65202d206c617374496e766f6b6554696d652c0a202020202020202020202020726573756c74203d2077616974202d2074696d6553696e63654c61737443616c6c3b0a0a202020202020202072657475726e206d6178696e67203f206e61746976654d696e28726573756c742c206d617857616974202d2074696d6553696e63654c617374496e766f6b6529203a20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2073686f756c64496e766f6b652874696d6529207b0a20202020202020207661722074696d6553696e63654c61737443616c6c203d2074696d65202d206c61737443616c6c54696d652c0a20202020202020202020202074696d6553696e63654c617374496e766f6b65203d2074696d65202d206c617374496e766f6b6554696d653b0a0a20202020202020202f2f204569746865722074686973206973207468652066697273742063616c6c2c206163746976697479206861732073746f7070656420616e64207765277265206174207468650a20202020202020202f2f20747261696c696e6720656467652c207468652073797374656d2074696d652068617320676f6e65206261636b776172647320616e64207765277265207472656174696e670a20202020202020202f2f2069742061732074686520747261696c696e6720656467652c206f72207765277665206869742074686520606d61785761697460206c696d69742e0a202020202020202072657475726e20286c61737443616c6c54696d65203d3d3d20756e646566696e6564207c7c202874696d6553696e63654c61737443616c6c203e3d207761697429207c7c0a202020202020202020202874696d6553696e63654c61737443616c6c203c203029207c7c20286d6178696e672026262074696d6553696e63654c617374496e766f6b65203e3d206d61785761697429293b0a2020202020207d0a0a20202020202066756e6374696f6e2074696d6572457870697265642829207b0a20202020202020207661722074696d65203d206e6f7728293b0a20202020202020206966202873686f756c64496e766f6b652874696d652929207b0a2020202020202020202072657475726e20747261696c696e67456467652874696d65293b0a20202020202020207d0a20202020202020202f2f2052657374617274207468652074696d65722e0a202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2072656d61696e696e67576169742874696d6529293b0a2020202020207d0a0a20202020202066756e6374696f6e20747261696c696e67456467652874696d6529207b0a202020202020202074696d65724964203d20756e646566696e65643b0a0a20202020202020202f2f204f6e6c7920696e766f6b65206966207765206861766520606c6173744172677360207768696368206d65616e73206066756e636020686173206265656e0a20202020202020202f2f206465626f756e636564206174206c65617374206f6e63652e0a202020202020202069662028747261696c696e67202626206c6173744172677329207b0a2020202020202020202072657475726e20696e766f6b6546756e632874696d65293b0a20202020202020207d0a20202020202020206c61737441726773203d206c61737454686973203d20756e646566696e65643b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a0a20202020202066756e6374696f6e2063616e63656c2829207b0a20202020202020206966202874696d6572496420213d3d20756e646566696e656429207b0a20202020202020202020636c65617254696d656f75742874696d65724964293b0a20202020202020207d0a20202020202020206c617374496e766f6b6554696d65203d20303b0a20202020202020206c61737441726773203d206c61737443616c6c54696d65203d206c61737454686973203d2074696d65724964203d20756e646566696e65643b0a2020202020207d0a0a20202020202066756e6374696f6e20666c7573682829207b0a202020202020202072657475726e2074696d65724964203d3d3d20756e646566696e6564203f20726573756c74203a20747261696c696e6745646765286e6f772829293b0a2020202020207d0a0a20202020202066756e6374696f6e206465626f756e6365642829207b0a20202020202020207661722074696d65203d206e6f7728292c0a2020202020202020202020206973496e766f6b696e67203d2073686f756c64496e766f6b652874696d65293b0a0a20202020202020206c61737441726773203d20617267756d656e74733b0a20202020202020206c61737454686973203d20746869733b0a20202020202020206c61737443616c6c54696d65203d2074696d653b0a0a2020202020202020696620286973496e766f6b696e6729207b0a202020202020202020206966202874696d65724964203d3d3d20756e646566696e656429207b0a20202020202020202020202072657475726e206c656164696e6745646765286c61737443616c6c54696d65293b0a202020202020202020207d0a20202020202020202020696620286d6178696e6729207b0a2020202020202020202020202f2f2048616e646c6520696e766f636174696f6e7320696e2061207469676874206c6f6f702e0a20202020202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020202020202072657475726e20696e766f6b6546756e63286c61737443616c6c54696d65293b0a202020202020202020207d0a20202020202020207d0a20202020202020206966202874696d65724964203d3d3d20756e646566696e656429207b0a2020202020202020202074696d65724964203d2073657454696d656f75742874696d6572457870697265642c2077616974293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d0a2020202020206465626f756e6365642e63616e63656c203d2063616e63656c3b0a2020202020206465626f756e6365642e666c757368203d20666c7573683b0a20202020202072657475726e206465626f756e6365643b0a202020207d0a0a202020202f2a2a0a20202020202a2044656665727320696e766f6b696e6720746865206066756e636020756e74696c207468652063757272656e742063616c6c20737461636b2068617320636c65617265642e20416e790a20202020202a206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656665722e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d65722069642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656665722866756e6374696f6e287465787429207b0a20202020202a202020636f6e736f6c652e6c6f672874657874293b0a20202020202a207d2c2027646566657272656427293b0a20202020202a202f2f203d3e204c6f67732027646566657272656427206166746572206f6e65206d696c6c697365636f6e642e0a20202020202a2f0a20202020766172206465666572203d2062617365526573742866756e6374696f6e2866756e632c206172677329207b0a20202020202072657475726e206261736544656c61792866756e632c20312c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20496e766f6b6573206066756e636020616674657220607761697460206d696c6c697365636f6e64732e20416e79206164646974696f6e616c20617267756d656e7473206172650a20202020202a2070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2064656c61792e0a20202020202a2040706172616d207b6e756d6265727d207761697420546865206e756d626572206f66206d696c6c697365636f6e647320746f2064656c617920696e766f636174696f6e2e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652074696d65722069642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656c61792866756e6374696f6e287465787429207b0a20202020202a202020636f6e736f6c652e6c6f672874657874293b0a20202020202a207d2c20313030302c20276c6174657227293b0a20202020202a202f2f203d3e204c6f677320276c6174657227206166746572206f6e65207365636f6e642e0a20202020202a2f0a202020207661722064656c6179203d2062617365526573742866756e6374696f6e2866756e632c20776169742c206172677329207b0a20202020202072657475726e206261736544656c61792866756e632c20746f4e756d626572287761697429207c7c20302c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820617267756d656e74732072657665727365642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20666c697020617267756d656e747320666f722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720666c69707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220666c6970706564203d205f2e666c69702866756e6374696f6e2829207b0a20202020202a20202072657475726e205f2e746f417272617928617267756d656e7473293b0a20202020202a207d293b0a20202020202a0a20202020202a20666c6970706564282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e205b2764272c202763272c202762272c202761275d0a20202020202a2f0a2020202066756e6374696f6e20666c69702866756e6329207b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f464c49505f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206d656d6f697a65732074686520726573756c74206f66206066756e63602e20496620607265736f6c766572602069730a20202020202a2070726f76696465642c2069742064657465726d696e657320746865206361636865206b657920666f722073746f72696e672074686520726573756c74206261736564206f6e207468650a20202020202a20617267756d656e74732070726f766964656420746f20746865206d656d6f697a65642066756e6374696f6e2e2042792064656661756c742c2074686520666972737420617267756d656e740a20202020202a2070726f766964656420746f20746865206d656d6f697a65642066756e6374696f6e206973207573656420617320746865206d6170206361636865206b65792e20546865206066756e63600a20202020202a20697320696e766f6b6564207769746820746865206074686973602062696e64696e67206f6620746865206d656d6f697a65642066756e6374696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546865206361636865206973206578706f7365642061732074686520606361636865602070726f7065727479206f6e20746865206d656d6f697a65640a20202020202a2066756e6374696f6e2e20497473206372656174696f6e206d617920626520637573746f6d697a6564206279207265706c6163696e672074686520605f2e6d656d6f697a652e4361636865600a20202020202a20636f6e7374727563746f722077697468206f6e652077686f736520696e7374616e63657320696d706c656d656e74207468650a20202020202a205b604d6170605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d70726f706572746965732d6f662d7468652d6d61702d70726f746f747970652d6f626a656374290a20202020202a206d6574686f6420696e74657266616365206f662060636c656172602c206064656c657465602c2060676574602c2060686173602c20616e642060736574602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206861766520697473206f7574707574206d656d6f697a65642e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7265736f6c7665725d205468652066756e6374696f6e20746f207265736f6c766520746865206361636865206b65792e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206d656d6f697a65642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a20766172206f74686572203d207b202763273a20332c202764273a2034207d3b0a20202020202a0a20202020202a207661722076616c756573203d205f2e6d656d6f697a65285f2e76616c756573293b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a2076616c756573286f74686572293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a0a20202020202a206f626a6563742e61203d20323b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a202f2f204d6f646966792074686520726573756c742063616368652e0a20202020202a2076616c7565732e63616368652e736574286f626a6563742c205b2761272c202762275d293b0a20202020202a2076616c756573286f626a656374293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a0a20202020202a202f2f205265706c61636520605f2e6d656d6f697a652e4361636865602e0a20202020202a205f2e6d656d6f697a652e4361636865203d205765616b4d61703b0a20202020202a2f0a2020202066756e6374696f6e206d656d6f697a652866756e632c207265736f6c76657229207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e27207c7c20287265736f6c76657220213d206e756c6c20262620747970656f66207265736f6c76657220213d202766756e6374696f6e272929207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a202020202020766172206d656d6f697a6564203d2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74732c0a2020202020202020202020206b6579203d207265736f6c766572203f207265736f6c7665722e6170706c7928746869732c206172677329203a20617267735b305d2c0a2020202020202020202020206361636865203d206d656d6f697a65642e63616368653b0a0a20202020202020206966202863616368652e686173286b65792929207b0a2020202020202020202072657475726e2063616368652e676574286b6579293b0a20202020202020207d0a202020202020202076617220726573756c74203d2066756e632e6170706c7928746869732c2061726773293b0a20202020202020206d656d6f697a65642e6361636865203d2063616368652e736574286b65792c20726573756c7429207c7c2063616368653b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a2020202020206d656d6f697a65642e6361636865203d206e657720286d656d6f697a652e4361636865207c7c204d61704361636865293b0a20202020202072657475726e206d656d6f697a65643b0a202020207d0a0a202020202f2f204578706f736520604d61704361636865602e0a202020206d656d6f697a652e4361636865203d204d617043616368653b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206e6567617465732074686520726573756c74206f662074686520707265646963617465206066756e63602e205468650a20202020202a206066756e63602070726564696361746520697320696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f66207468650a20202020202a20637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d20707265646963617465205468652070726564696361746520746f206e65676174652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206e6567617465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734576656e286e29207b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d0a20202020202a0a20202020202a205f2e66696c746572285b312c20322c20332c20342c20352c20365d2c205f2e6e65676174652869734576656e29293b0a20202020202a202f2f203d3e205b312c20332c20355d0a20202020202a2f0a2020202066756e6374696f6e206e65676174652870726564696361746529207b0a20202020202069662028747970656f662070726564696361746520213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74733b0a20202020202020207377697463682028617267732e6c656e67746829207b0a202020202020202020206361736520303a2072657475726e20217072656469636174652e63616c6c2874686973293b0a202020202020202020206361736520313a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d293b0a202020202020202020206361736520323a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d2c20617267735b315d293b0a202020202020202020206361736520333a2072657475726e20217072656469636174652e63616c6c28746869732c20617267735b305d2c20617267735b315d2c20617267735b325d293b0a20202020202020207d0a202020202020202072657475726e20217072656469636174652e6170706c7928746869732c2061726773293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206973207265737472696374656420746f20696e766f6b696e67206066756e6360206f6e63652e205265706561742063616c6c730a20202020202a20746f207468652066756e6374696f6e2072657475726e207468652076616c7565206f662074686520666972737420696e766f636174696f6e2e20546865206066756e63602069730a20202020202a20696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f662074686520637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2072657374726963742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720726573747269637465642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220696e697469616c697a65203d205f2e6f6e6365286372656174654170706c69636174696f6e293b0a20202020202a20696e697469616c697a6528293b0a20202020202a20696e697469616c697a6528293b0a20202020202a202f2f203d3e20606372656174654170706c69636174696f6e6020697320696e766f6b6564206f6e63650a20202020202a2f0a2020202066756e6374696f6e206f6e63652866756e6329207b0a20202020202072657475726e206265666f726528322c2066756e63293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682069747320617267756d656e7473207472616e73666f726d65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520342e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20777261702e0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b7472616e73666f726d733d5b5f2e6964656e746974795d5d0a20202020202a202054686520617267756d656e74207472616e73666f726d732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20646f75626c6564286e29207b0a20202020202a20202072657475726e206e202a20323b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572417267732866756e6374696f6e28782c207929207b0a20202020202a20202072657475726e205b782c20795d3b0a20202020202a207d2c205b7371756172652c20646f75626c65645d293b0a20202020202a0a20202020202a2066756e6328392c2033293b0a20202020202a202f2f203d3e205b38312c20365d0a20202020202a0a20202020202a2066756e632831302c2035293b0a20202020202a202f2f203d3e205b3130302c2031305d0a20202020202a2f0a20202020766172206f76657241726773203d2063617374526573742866756e6374696f6e2866756e632c207472616e73666f726d7329207b0a2020202020207472616e73666f726d73203d20287472616e73666f726d732e6c656e677468203d3d20312026262069734172726179287472616e73666f726d735b305d29290a20202020202020203f2061727261794d6170287472616e73666f726d735b305d2c2062617365556e617279286765744974657261746565282929290a20202020202020203a2061727261794d61702862617365466c617474656e287472616e73666f726d732c2031292c2062617365556e617279286765744974657261746565282929293b0a0a2020202020207661722066756e63734c656e677468203d207472616e73666f726d732e6c656e6774683b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202076617220696e646578203d202d312c0a2020202020202020202020206c656e677468203d206e61746976654d696e28617267732e6c656e6774682c2066756e63734c656e677468293b0a0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020202020617267735b696e6465785d203d207472616e73666f726d735b696e6465785d2e63616c6c28746869732c20617267735b696e6465785d293b0a20202020202020207d0a202020202020202072657475726e206170706c792866756e632c20746869732c2061726773293b0a2020202020207d293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820607061727469616c73602070726570656e64656420746f207468650a20202020202a20617267756d656e74732069742072656365697665732e2054686973206d6574686f64206973206c696b6520605f2e62696e64602065786365707420697420646f6573202a2a6e6f742a2a0a20202020202a20616c74657220746865206074686973602062696e64696e672e0a20202020202a0a20202020202a2054686520605f2e7061727469616c2e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f66207061727469616c6c790a20202020202a206170706c6965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e322e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207061727469616c6c79206170706c7920617267756d656e747320746f2e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207061727469616c6c79206170706c6965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c206e616d6529207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b206e616d653b0a20202020202a207d0a20202020202a0a20202020202a207661722073617948656c6c6f546f203d205f2e7061727469616c2867726565742c202768656c6c6f27293b0a20202020202a2073617948656c6c6f546f28276672656427293b0a20202020202a202f2f203d3e202768656c6c6f2066726564270a20202020202a0a20202020202a202f2f205061727469616c6c79206170706c696564207769746820706c616365686f6c646572732e0a20202020202a2076617220677265657446726564203d205f2e7061727469616c2867726565742c205f2c20276672656427293b0a20202020202a206772656574467265642827686927293b0a20202020202a202f2f203d3e202768692066726564270a20202020202a2f0a20202020766172207061727469616c203d2062617365526573742866756e6374696f6e2866756e632c207061727469616c7329207b0a20202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c646572287061727469616c29293b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f5041525449414c5f464c41472c20756e646566696e65642c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7061727469616c60206578636570742074686174207061727469616c6c79206170706c69656420617267756d656e74730a20202020202a2061726520617070656e64656420746f2074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a2054686520605f2e7061727469616c52696768742e706c616365686f6c646572602076616c75652c2077686963682064656661756c747320746f20605f6020696e206d6f6e6f6c69746869630a20202020202a206275696c64732c206d61792062652075736564206173206120706c616365686f6c64657220666f72207061727469616c6c79206170706c69656420617267756d656e74732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f66207061727469616c6c790a20202020202a206170706c6965642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207061727469616c6c79206170706c7920617267756d656e747320746f2e0a20202020202a2040706172616d207b2e2e2e2a7d205b7061727469616c735d2054686520617267756d656e747320746f206265207061727469616c6c79206170706c6965642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207061727469616c6c79206170706c6965642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e206772656574286772656574696e672c206e616d6529207b0a20202020202a20202072657475726e206772656574696e67202b20272027202b206e616d653b0a20202020202a207d0a20202020202a0a20202020202a2076617220677265657446726564203d205f2e7061727469616c52696768742867726565742c20276672656427293b0a20202020202a206772656574467265642827686927293b0a20202020202a202f2f203d3e202768692066726564270a20202020202a0a20202020202a202f2f205061727469616c6c79206170706c696564207769746820706c616365686f6c646572732e0a20202020202a207661722073617948656c6c6f546f203d205f2e7061727469616c52696768742867726565742c202768656c6c6f272c205f293b0a20202020202a2073617948656c6c6f546f28276672656427293b0a20202020202a202f2f203d3e202768656c6c6f2066726564270a20202020202a2f0a20202020766172207061727469616c5269676874203d2062617365526573742866756e6374696f6e2866756e632c207061727469616c7329207b0a20202020202076617220686f6c64657273203d207265706c616365486f6c64657273287061727469616c732c20676574486f6c646572287061727469616c526967687429293b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f5041525449414c5f52494748545f464c41472c20756e646566696e65642c207061727469616c732c20686f6c64657273293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820617267756d656e747320617272616e676564206163636f7264696e670a20202020202a20746f20746865207370656369666965642060696e6465786573602077686572652074686520617267756d656e742076616c75652061742074686520666972737420696e6465782069730a20202020202a2070726f76696465642061732074686520666972737420617267756d656e742c2074686520617267756d656e742076616c756520617420746865207365636f6e6420696e6465782069730a20202020202a2070726f766964656420617320746865207365636f6e6420617267756d656e742c20616e6420736f206f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207265617272616e676520617267756d656e747320666f722e0a20202020202a2040706172616d207b2e2e2e286e756d6265727c6e756d6265725b5d297d20696e64657865732054686520617272616e67656420617267756d656e7420696e64657865732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722072656172676564203d205f2e72656172672866756e6374696f6e28612c20622c206329207b0a20202020202a20202072657475726e205b612c20622c20635d3b0a20202020202a207d2c205b322c20302c20315d293b0a20202020202a0a20202020202a2072656172676564282762272c202763272c20276127290a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a2f0a20202020766172207265617267203d20666c6174526573742866756e6374696f6e2866756e632c20696e646578657329207b0a20202020202072657475726e20637265617465577261702866756e632c20575241505f52454152475f464c41472c20756e646566696e65642c20756e646566696e65642c20756e646566696e65642c20696e6465786573293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66207468650a20202020202a20637265617465642066756e6374696f6e20616e6420617267756d656e74732066726f6d206073746172746020616e64206265796f6e642070726f76696465642061730a20202020202a20616e2061727261792e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e207468650a20202020202a205b7265737420706172616d657465725d2868747470733a2f2f6d646e2e696f2f726573745f706172616d6574657273292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f206170706c792061207265737420706172616d6574657220746f2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d66756e632e6c656e6774682d315d2054686520737461727420706f736974696f6e206f6620746865207265737420706172616d657465722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220736179203d205f2e726573742866756e6374696f6e28776861742c206e616d657329207b0a20202020202a20202072657475726e2077686174202b20272027202b205f2e696e697469616c286e616d6573292e6a6f696e28272c202729202b0a20202020202a2020202020285f2e73697a65286e616d657329203e2031203f20272c20262027203a20272729202b205f2e6c617374286e616d6573293b0a20202020202a207d293b0a20202020202a0a20202020202a20736179282768656c6c6f272c202766726564272c20276261726e6579272c2027706562626c657327293b0a20202020202a202f2f203d3e202768656c6c6f20667265642c206261726e65792c202620706562626c6573270a20202020202a2f0a2020202066756e6374696f6e20726573742866756e632c20737461727429207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020207374617274203d207374617274203d3d3d20756e646566696e6564203f207374617274203a20746f496e7465676572287374617274293b0a20202020202072657475726e2062617365526573742866756e632c207374617274293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e6360207769746820746865206074686973602062696e64696e67206f66207468650a20202020202a206372656174652066756e6374696f6e20616e6420616e206172726179206f6620617267756d656e7473206d756368206c696b650a20202020202a205b6046756e6374696f6e236170706c79605d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d66756e6374696f6e2e70726f746f747970652e6170706c79292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e207468650a20202020202a205b737072656164206f70657261746f725d2868747470733a2f2f6d646e2e696f2f7370726561645f6f70657261746f72292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2073707265616420617267756d656e7473206f7665722e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d2054686520737461727420706f736974696f6e206f6620746865207370726561642e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220736179203d205f2e7370726561642866756e6374696f6e2877686f2c207768617429207b0a20202020202a20202072657475726e2077686f202b202720736179732027202b20776861743b0a20202020202a207d293b0a20202020202a0a20202020202a20736179285b2766726564272c202768656c6c6f275d293b0a20202020202a202f2f203d3e20276672656420736179732068656c6c6f270a20202020202a0a20202020202a20766172206e756d62657273203d2050726f6d6973652e616c6c285b0a20202020202a20202050726f6d6973652e7265736f6c7665283430292c0a20202020202a20202050726f6d6973652e7265736f6c7665283336290a20202020202a205d293b0a20202020202a0a20202020202a206e756d626572732e7468656e285f2e7370726561642866756e6374696f6e28782c207929207b0a20202020202a20202072657475726e2078202b20793b0a20202020202a207d29293b0a20202020202a202f2f203d3e20612050726f6d697365206f662037360a20202020202a2f0a2020202066756e6374696f6e207370726561642866756e632c20737461727429207b0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020207374617274203d207374617274203d3d206e756c6c203f2030203a206e61746976654d617828746f496e7465676572287374617274292c2030293b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a2020202020202020766172206172726179203d20617267735b73746172745d2c0a2020202020202020202020206f7468657241726773203d2063617374536c69636528617267732c20302c207374617274293b0a0a202020202020202069662028617272617929207b0a20202020202020202020617272617950757368286f74686572417267732c206172726179293b0a20202020202020207d0a202020202020202072657475726e206170706c792866756e632c20746869732c206f7468657241726773293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061207468726f74746c65642066756e6374696f6e2074686174206f6e6c7920696e766f6b6573206066756e6360206174206d6f7374206f6e6365207065720a20202020202a20657665727920607761697460206d696c6c697365636f6e64732e20546865207468726f74746c65642066756e6374696f6e20636f6d657320776974682061206063616e63656c600a20202020202a206d6574686f6420746f2063616e63656c2064656c61796564206066756e636020696e766f636174696f6e7320616e6420612060666c75736860206d6574686f6420746f0a20202020202a20696d6d6564696174656c7920696e766f6b65207468656d2e2050726f7669646520606f7074696f6e736020746f20696e6469636174652077686574686572206066756e63600a20202020202a2073686f756c6420626520696e766f6b6564206f6e20746865206c656164696e6720616e642f6f7220747261696c696e672065646765206f6620746865206077616974600a20202020202a2074696d656f75742e20546865206066756e636020697320696e766f6b6564207769746820746865206c61737420617267756d656e74732070726f766964656420746f207468650a20202020202a207468726f74746c65642066756e6374696f6e2e2053756273657175656e742063616c6c7320746f20746865207468726f74746c65642066756e6374696f6e2072657475726e207468650a20202020202a20726573756c74206f6620746865206c617374206066756e636020696e766f636174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496620606c656164696e676020616e642060747261696c696e6760206f7074696f6e7320617265206074727565602c206066756e63602069730a20202020202a20696e766f6b6564206f6e2074686520747261696c696e672065646765206f66207468652074696d656f7574206f6e6c7920696620746865207468726f74746c65642066756e6374696f6e0a20202020202a20697320696e766f6b6564206d6f7265207468616e206f6e636520647572696e6720746865206077616974602074696d656f75742e0a20202020202a0a20202020202a204966206077616974602069732060306020616e6420606c656164696e6760206973206066616c7365602c206066756e636020696e766f636174696f6e2069732064656665727265640a20202020202a20756e74696c20746f20746865206e657874207469636b2c2073696d696c617220746f206073657454696d656f757460207769746820612074696d656f7574206f66206030602e0a20202020202a0a20202020202a20536565205b446176696420436f72626163686f27732061727469636c655d2868747470733a2f2f6373732d747269636b732e636f6d2f6465626f756e63696e672d7468726f74746c696e672d6578706c61696e65642d6578616d706c65732f290a20202020202a20666f722064657461696c73206f7665722074686520646966666572656e636573206265747765656e20605f2e7468726f74746c656020616e6420605f2e6465626f756e6365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f207468726f74746c652e0a20202020202a2040706172616d207b6e756d6265727d205b776169743d305d20546865206e756d626572206f66206d696c6c697365636f6e647320746f207468726f74746c6520696e766f636174696f6e7320746f2e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e6c656164696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e20746865206c656164696e672065646765206f66207468652074696d656f75742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e747261696c696e673d747275655d0a20202020202a20205370656369667920696e766f6b696e67206f6e2074686520747261696c696e672065646765206f66207468652074696d656f75742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577207468726f74746c65642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f6964206578636573736976656c79207570646174696e672074686520706f736974696f6e207768696c65207363726f6c6c696e672e0a20202020202a206a51756572792877696e646f77292e6f6e28277363726f6c6c272c205f2e7468726f74746c6528757064617465506f736974696f6e2c2031303029293b0a20202020202a0a20202020202a202f2f20496e766f6b65206072656e6577546f6b656e60207768656e2074686520636c69636b206576656e742069732066697265642c20627574206e6f74206d6f7265207468616e206f6e63652065766572792035206d696e757465732e0a20202020202a20766172207468726f74746c6564203d205f2e7468726f74746c652872656e6577546f6b656e2c203330303030302c207b2027747261696c696e67273a2066616c7365207d293b0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c207468726f74746c6564293b0a20202020202a0a20202020202a202f2f2043616e63656c2074686520747261696c696e67207468726f74746c656420696e766f636174696f6e2e0a20202020202a206a51756572792877696e646f77292e6f6e2827706f707374617465272c207468726f74746c65642e63616e63656c293b0a20202020202a2f0a2020202066756e6374696f6e207468726f74746c652866756e632c20776169742c206f7074696f6e7329207b0a202020202020766172206c656164696e67203d20747275652c0a20202020202020202020747261696c696e67203d20747275653b0a0a20202020202069662028747970656f662066756e6320213d202766756e6374696f6e2729207b0a20202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a2020202020207d0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a20202020202020206c656164696e67203d20276c656164696e672720696e206f7074696f6e73203f2021216f7074696f6e732e6c656164696e67203a206c656164696e673b0a2020202020202020747261696c696e67203d2027747261696c696e672720696e206f7074696f6e73203f2021216f7074696f6e732e747261696c696e67203a20747261696c696e673b0a2020202020207d0a20202020202072657475726e206465626f756e63652866756e632c20776169742c207b0a2020202020202020276c656164696e67273a206c656164696e672c0a2020202020202020276d617857616974273a20776169742c0a202020202020202027747261696c696e67273a20747261696c696e670a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206163636570747320757020746f206f6e6520617267756d656e742c2069676e6f72696e6720616e790a20202020202a206164646974696f6e616c20617267756d656e74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f2063617020617267756d656e747320666f722e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206361707065642066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6170285b2736272c202738272c20273130275d2c205f2e756e617279287061727365496e7429293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e20756e6172792866756e6329207b0a20202020202072657475726e206172792866756e632c2031293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742070726f7669646573206076616c75656020746f20607772617070657260206173206974732066697273740a20202020202a20617267756d656e742e20416e79206164646974696f6e616c20617267756d656e74732070726f766964656420746f207468652066756e6374696f6e2061726520617070656e6465640a20202020202a20746f2074686f73652070726f766964656420746f20746865206077726170706572602e20546865207772617070657220697320696e766f6b6564207769746820746865206074686973600a20202020202a2062696e64696e67206f662074686520637265617465642066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f72792046756e6374696f6e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20777261702e0a20202020202a2040706172616d207b46756e6374696f6e7d205b777261707065723d6964656e746974795d2054686520777261707065722066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722070203d205f2e77726170285f2e6573636170652c2066756e6374696f6e2866756e632c207465787429207b0a20202020202a20202072657475726e20273c703e27202b2066756e63287465787429202b20273c2f703e273b0a20202020202a207d293b0a20202020202a0a20202020202a20702827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e20273c703e667265642c206261726e65792c2026616d703b20706562626c65733c2f703e270a20202020202a2f0a2020202066756e6374696f6e20777261702876616c75652c207772617070657229207b0a20202020202072657475726e207061727469616c286361737446756e6374696f6e2877726170706572292c2076616c7565293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a204361737473206076616c75656020617320616e2061727261792069662069742773206e6f74206f6e652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e342e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636173742061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6361737441727261792831293b0a20202020202a202f2f203d3e205b315d0a20202020202a0a20202020202a205f2e636173744172726179287b202761273a2031207d293b0a20202020202a202f2f203d3e205b7b202761273a2031207d5d0a20202020202a0a20202020202a205f2e636173744172726179282761626327293b0a20202020202a202f2f203d3e205b27616263275d0a20202020202a0a20202020202a205f2e636173744172726179286e756c6c293b0a20202020202a202f2f203d3e205b6e756c6c5d0a20202020202a0a20202020202a205f2e63617374417272617928756e646566696e6564293b0a20202020202a202f2f203d3e205b756e646566696e65645d0a20202020202a0a20202020202a205f2e63617374417272617928293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a20766172206172726179203d205b312c20322c20335d3b0a20202020202a20636f6e736f6c652e6c6f67285f2e63617374417272617928617272617929203d3d3d206172726179293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206361737441727261792829207b0a2020202020206966202821617267756d656e74732e6c656e67746829207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a2020202020207661722076616c7565203d20617267756d656e74735b305d3b0a20202020202072657475726e20697341727261792876616c756529203f2076616c7565203a205b76616c75655d3b0a202020207d0a0a202020202f2a2a0a20202020202a20437265617465732061207368616c6c6f7720636c6f6e65206f66206076616c7565602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e207468650a20202020202a205b7374727563747572656420636c6f6e6520616c676f726974686d5d2868747470733a2f2f6d646e2e696f2f537472756374757265645f636c6f6e655f616c676f726974686d290a20202020202a20616e6420737570706f72747320636c6f6e696e67206172726179732c20617272617920627566666572732c20626f6f6c65616e732c2064617465206f626a656374732c206d6170732c0a20202020202a206e756d626572732c20604f626a65637460206f626a656374732c20726567657865732c20736574732c20737472696e67732c2073796d626f6c732c20616e642074797065640a20202020202a206172726179732e20546865206f776e20656e756d657261626c652070726f70657274696573206f662060617267756d656e747360206f626a656374732061726520636c6f6e65640a20202020202a20617320706c61696e206f626a656374732e20416e20656d707479206f626a6563742069732072657475726e656420666f7220756e636c6f6e6561626c652076616c75657320737563680a20202020202a206173206572726f72206f626a656374732c2066756e6374696f6e732c20444f4d206e6f6465732c20616e64205765616b4d6170732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e65446565700a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202761273a2031207d2c207b202762273a2032207d5d3b0a20202020202a0a20202020202a20766172207368616c6c6f77203d205f2e636c6f6e65286f626a65637473293b0a20202020202a20636f6e736f6c652e6c6f67287368616c6c6f775b305d203d3d3d206f626a656374735b305d293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20636c6f6e652876616c756529207b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f53594d424f4c535f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f2070726f647563652074686520636c6f6e65642076616c75652e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c0a20202020202a20636c6f6e696e672069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b656420776974680a20202020202a20757020746f20666f757220617267756d656e74733b202876616c7565205b2c20696e6465787c6b65792c206f626a6563742c20737461636b5d292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e6544656570576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a65722876616c756529207b0a20202020202a202020696620285f2e6973456c656d656e742876616c75652929207b0a20202020202a202020202072657475726e2076616c75652e636c6f6e654e6f64652866616c7365293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a2076617220656c203d205f2e636c6f6e655769746828646f63756d656e742e626f64792c20637573746f6d697a6572293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728656c203d3d3d20646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a20636f6e736f6c652e6c6f6728656c2e6e6f64654e616d65293b0a20202020202a202f2f203d3e2027424f4459270a20202020202a20636f6e736f6c652e6c6f6728656c2e6368696c644e6f6465732e6c656e677468293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65576974682876616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e6560206578636570742074686174206974207265637572736976656c7920636c6f6e6573206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207265637572736976656c7920636c6f6e652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206465657020636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e650a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b202761273a2031207d2c207b202762273a2032207d5d3b0a20202020202a0a20202020202a207661722064656570203d205f2e636c6f6e6544656570286f626a65637473293b0a20202020202a20636f6e736f6c652e6c6f6728646565705b305d203d3d3d206f626a656374735b305d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20636c6f6e65446565702876616c756529207b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f444545505f464c4147207c20434c4f4e455f53594d424f4c535f464c4147293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e636c6f6e655769746860206578636570742074686174206974207265637572736976656c7920636c6f6e6573206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207265637572736976656c7920636c6f6e652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636c6f6e696e672e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206465657020636c6f6e65642076616c75652e0a20202020202a2040736565205f2e636c6f6e65576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a65722876616c756529207b0a20202020202a202020696620285f2e6973456c656d656e742876616c75652929207b0a20202020202a202020202072657475726e2076616c75652e636c6f6e654e6f64652874727565293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a2076617220656c203d205f2e636c6f6e65446565705769746828646f63756d656e742e626f64792c20637573746f6d697a6572293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728656c203d3d3d20646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a20636f6e736f6c652e6c6f6728656c2e6e6f64654e616d65293b0a20202020202a202f2f203d3e2027424f4459270a20202020202a20636f6e736f6c652e6c6f6728656c2e6368696c644e6f6465732e6c656e677468293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e20636c6f6e6544656570576974682876616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e2062617365436c6f6e652876616c75652c20434c4f4e455f444545505f464c4147207c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620606f626a6563746020636f6e666f726d7320746f2060736f757263656020627920696e766f6b696e6720746865207072656469636174650a20202020202a2070726f70657274696573206f662060736f757263656020776974682074686520636f72726573706f6e64696e672070726f70657274792076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206571756976616c656e7420746f20605f2e636f6e666f726d7360207768656e2060736f75726365602069730a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31342e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a6563746020636f6e666f726d732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a0a20202020202a205f2e636f6e666f726d73546f286f626a6563742c207b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20313b207d207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e636f6e666f726d73546f286f626a6563742c207b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20323b207d207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20636f6e666f726d73546f286f626a6563742c20736f7572636529207b0a20202020202072657475726e20736f75726365203d3d206e756c6c207c7c2062617365436f6e666f726d73546f286f626a6563742c20736f757263652c206b65797328736f7572636529293b0a202020207d0a0a202020202f2a2a0a20202020202a20506572666f726d7320610a20202020202a205b6053616d6556616c75655a65726f605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d73616d6576616c75657a65726f290a20202020202a20636f6d70617269736f6e206265747765656e2074776f2076616c75657320746f2064657465726d696e65206966207468657920617265206571756976616c656e742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a20766172206f74686572203d207b202761273a2031207d3b0a20202020202a0a20202020202a205f2e6571286f626a6563742c206f626a656374293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6571286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6571282761272c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6571282761272c204f626a6563742827612729293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6571284e614e2c204e614e293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e2065712876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203d3d3d206f74686572207c7c202876616c756520213d3d2076616c7565202626206f7468657220213d3d206f74686572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732067726561746572207468616e20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2040736565205f2e6c740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e677428332c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e677428332c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e677428312c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206774203d2063726561746552656c6174696f6e616c4f7065726174696f6e28626173654774293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732067726561746572207468616e206f7220657175616c20746f20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732067726561746572207468616e206f7220657175616c20746f0a20202020202a2020606f74686572602c20656c7365206066616c7365602e0a20202020202a2040736565205f2e6c74650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e67746528332c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e67746528332c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e67746528312c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220677465203d2063726561746552656c6174696f6e616c4f7065726174696f6e2866756e6374696f6e2876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203e3d206f746865723b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c7920616e2060617267756d656e747360206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2060617267756d656e747360206f626a6563742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973417267756d656e74732866756e6374696f6e2829207b2072657475726e20617267756d656e74733b207d2829293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973417267756d656e7473285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973417267756d656e7473203d20626173654973417267756d656e74732866756e6374696f6e2829207b2072657475726e20617267756d656e74733b207d282929203f20626173654973417267756d656e7473203a2066756e6374696f6e2876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206861734f776e50726f70657274792e63616c6c2876616c75652c202763616c6c656527292026260a20202020202020202170726f70657274794973456e756d657261626c652e63616c6c2876616c75652c202763616c6c656527293b0a202020207d3b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320616e2060417272617960206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2061727261792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734172726179285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973417272617928646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734172726179282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734172726179285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734172726179203d2041727261792e697341727261793b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320616e2060417272617942756666657260206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206172726179206275666665722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734172726179427566666572286e6577204172726179427566666572283229293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734172726179427566666572286e6577204172726179283229293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734172726179427566666572203d206e6f646549734172726179427566666572203f2062617365556e617279286e6f64654973417272617942756666657229203a2062617365497341727261794275666665723b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061727261792d6c696b652e20412076616c756520697320636f6e736964657265642061727261792d6c696b6520696620697427730a20202020202a206e6f7420612066756e6374696f6e20616e64206861732061206076616c75652e6c656e677468602074686174277320616e20696e74656765722067726561746572207468616e206f720a20202020202a20657175616c20746f2060306020616e64206c657373207468616e206f7220657175616c20746f20604e756d6265722e4d41585f534146455f494e5445474552602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061727261792d6c696b652c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697341727261794c696b65285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b6528646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b65282761626327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b65285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697341727261794c696b652876616c756529207b0a20202020202072657475726e2076616c756520213d206e756c6c2026262069734c656e6774682876616c75652e6c656e677468292026262021697346756e6374696f6e2876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e697341727261794c696b656020657863657074207468617420697420616c736f20636865636b73206966206076616c7565600a20202020202a20697320616e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e2061727261792d6c696b65206f626a6563742c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a65637428646f63756d656e742e626f64792e6368696c6472656e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697341727261794c696b654f626a656374285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697341727261794c696b654f626a6563742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620697341727261794c696b652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120626f6f6c65616e207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120626f6f6c65616e2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973426f6f6c65616e2866616c7365293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973426f6f6c65616e286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973426f6f6c65616e2876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d2074727565207c7c2076616c7565203d3d3d2066616c7365207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20626f6f6c546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061206275666665722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206275666665722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973427566666572286e657720427566666572283229293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973427566666572286e65772055696e74384172726179283229293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973427566666572203d206e61746976654973427566666572207c7c207374756246616c73653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604461746560206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612064617465206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697344617465286e65772044617465293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734461746528274d6f6e20417072696c203233203230313227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220697344617465203d206e6f6465497344617465203f2062617365556e617279286e6f646549734461746529203a20626173654973446174653b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c696b656c79206120444f4d20656c656d656e742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120444f4d20656c656d656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973456c656d656e7428646f63756d656e742e626f6479293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456c656d656e7428273c626f64793e27293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973456c656d656e742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c7565292026262076616c75652e6e6f646554797065203d3d3d203120262620216973506c61696e4f626a6563742876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20656d707479206f626a6563742c20636f6c6c656374696f6e2c206d61702c206f72207365742e0a20202020202a0a20202020202a204f626a656374732061726520636f6e7369646572656420656d70747920696620746865792068617665206e6f206f776e20656e756d657261626c6520737472696e67206b657965640a20202020202a2070726f706572746965732e0a20202020202a0a20202020202a2041727261792d6c696b652076616c75657320737563682061732060617267756d656e747360206f626a656374732c206172726179732c20627566666572732c20737472696e67732c206f720a20202020202a206a51756572792d6c696b6520636f6c6c656374696f6e732061726520636f6e7369646572656420656d70747920696620746865792068617665206120606c656e67746860206f66206030602e0a20202020202a2053696d696c61726c792c206d61707320616e6420736574732061726520636f6e7369646572656420656d707479206966207468657920686176652061206073697a6560206f66206030602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320656d7074792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973456d707479286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d7074792874727565293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d7074792831293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973456d707479285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973456d707479287b202761273a2031207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973456d7074792876616c756529207b0a2020202020206966202876616c7565203d3d206e756c6c29207b0a202020202020202072657475726e20747275653b0a2020202020207d0a20202020202069662028697341727261794c696b652876616c7565292026260a2020202020202020202028697341727261792876616c756529207c7c20747970656f662076616c7565203d3d2027737472696e6727207c7c20747970656f662076616c75652e73706c696365203d3d202766756e6374696f6e27207c7c0a20202020202020202020202069734275666665722876616c756529207c7c206973547970656441727261792876616c756529207c7c206973417267756d656e74732876616c7565292929207b0a202020202020202072657475726e202176616c75652e6c656e6774683b0a2020202020207d0a20202020202076617220746167203d206765745461672876616c7565293b0a20202020202069662028746167203d3d206d6170546167207c7c20746167203d3d2073657454616729207b0a202020202020202072657475726e202176616c75652e73697a653b0a2020202020207d0a20202020202069662028697350726f746f747970652876616c75652929207b0a202020202020202072657475726e2021626173654b6579732876616c7565292e6c656e6774683b0a2020202020207d0a202020202020666f722028766172206b657920696e2076616c756529207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c2876616c75652c206b65792929207b0a2020202020202020202072657475726e2066616c73653b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20506572666f726d732061206465657020636f6d70617269736f6e206265747765656e2074776f2076616c75657320746f2064657465726d696e652069662074686579206172650a20202020202a206571756976616c656e742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420737570706f72747320636f6d706172696e67206172726179732c20617272617920627566666572732c20626f6f6c65616e732c0a20202020202a2064617465206f626a656374732c206572726f72206f626a656374732c206d6170732c206e756d626572732c20604f626a65637460206f626a656374732c20726567657865732c0a20202020202a20736574732c20737472696e67732c2073796d626f6c732c20616e64207479706564206172726179732e20604f626a65637460206f626a656374732061726520636f6d70617265640a20202020202a206279207468656972206f776e2c206e6f7420696e686572697465642c20656e756d657261626c652070726f706572746965732e2046756e6374696f6e7320616e6420444f4d0a20202020202a206e6f6465732061726520636f6d70617265642062792073747269637420657175616c6974792c20692e652e20603d3d3d602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a20766172206f74686572203d207b202761273a2031207d3b0a20202020202a0a20202020202a205f2e6973457175616c286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a206f626a656374203d3d3d206f746865723b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973457175616c2876616c75652c206f7468657229207b0a20202020202072657475726e20626173654973457175616c2876616c75652c206f74686572293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6973457175616c6020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f20636f6d706172652076616c7565732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c20636f6d70617269736f6e730a20202020202a206172652068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b6564207769746820757020746f0a20202020202a2073697820617267756d656e74733a20286f626a56616c75652c206f746856616c7565205b2c20696e6465787c6b65792c206f626a6563742c206f746865722c20737461636b5d292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652076616c75657320617265206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734772656574696e672876616c756529207b0a20202020202a20202072657475726e202f5e68283f3a697c656c6c6f29242f2e746573742876616c7565293b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c206f746856616c756529207b0a20202020202a2020206966202869734772656574696e67286f626a56616c7565292026262069734772656574696e67286f746856616c75652929207b0a20202020202a202020202072657475726e20747275653b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206172726179203d205b2768656c6c6f272c2027676f6f64627965275d3b0a20202020202a20766172206f74686572203d205b276869272c2027676f6f64627965275d3b0a20202020202a0a20202020202a205f2e6973457175616c576974682861727261792c206f746865722c20637573746f6d697a6572293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206973457175616c576974682876616c75652c206f746865722c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202076617220726573756c74203d20637573746f6d697a6572203f20637573746f6d697a65722876616c75652c206f7468657229203a20756e646566696e65643b0a20202020202072657475726e20726573756c74203d3d3d20756e646566696e6564203f20626173654973457175616c2876616c75652c206f746865722c20756e646566696e65642c20637573746f6d697a657229203a202121726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20604572726f72602c20604576616c4572726f72602c206052616e67654572726f72602c20605265666572656e63654572726f72602c0a20202020202a206053796e7461784572726f72602c2060547970654572726f72602c206f7220605552494572726f7260206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206572726f72206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734572726f72286e6577204572726f72293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734572726f72284572726f72293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734572726f722876616c756529207b0a202020202020696620282169734f626a6563744c696b652876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a20202020202076617220746167203d20626173654765745461672876616c7565293b0a20202020202072657475726e20746167203d3d206572726f72546167207c7c20746167203d3d20646f6d457863546167207c7c0a202020202020202028747970656f662076616c75652e6d657373616765203d3d2027737472696e672720262620747970656f662076616c75652e6e616d65203d3d2027737472696e672720262620216973506c61696e4f626a6563742876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612066696e697465207072696d6974697665206e756d6265722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e697346696e697465605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f697346696e697465292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612066696e697465206e756d6265722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697346696e6974652833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346696e697465284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346696e69746528496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697346696e69746528273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697346696e6974652876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d62657227202626206e6174697665497346696e6974652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206046756e6374696f6e60206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612066756e6374696f6e2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697346756e6374696f6e285f293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697346756e6374696f6e282f6162632f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697346756e6374696f6e2876616c756529207b0a202020202020696620282169734f626a6563742876616c75652929207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020202f2f2054686520757365206f6620604f626a65637423746f537472696e67602061766f696473206973737565732077697468207468652060747970656f6660206f70657261746f720a2020202020202f2f20696e2053616661726920392077686963682072657475726e7320276f626a6563742720666f722074797065642061727261797320616e64206f7468657220636f6e7374727563746f72732e0a20202020202076617220746167203d20626173654765745461672876616c7565293b0a20202020202072657475726e20746167203d3d2066756e63546167207c7c20746167203d3d2067656e546167207c7c20746167203d3d206173796e63546167207c7c20746167203d3d2070726f78795461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e6973496e7465676572605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f6973496e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e20696e74656765722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973496e74656765722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973496e746567657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973496e74656765722876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d626572272026262076616c7565203d3d20746f496e74656765722876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320612076616c69642061727261792d6c696b65206c656e6774682e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b60546f4c656e677468605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f6c656e677468292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612076616c6964206c656e6774682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734c656e6774682833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734c656e677468284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734c656e67746828496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734c656e67746828273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734c656e6774682876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d626572272026260a202020202020202076616c7565203e202d312026262076616c756520252031203d3d20302026262076616c7565203c3d204d41585f534146455f494e54454745523b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973207468650a20202020202a205b6c616e677561676520747970655d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d65636d617363726970742d6c616e67756167652d7479706573290a20202020202a206f6620604f626a656374602e2028652e672e206172726179732c2066756e6374696f6e732c206f626a656374732c20726567657865732c20606e6577204e756d626572283029602c20616e6420606e657720537472696e672827272960290a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320616e206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734f626a656374287b7d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374285f2e6e6f6f70293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a656374286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734f626a6563742876616c756529207b0a2020202020207661722074797065203d20747970656f662076616c75653b0a20202020202072657475726e2076616c756520213d206e756c6c202626202874797065203d3d20276f626a65637427207c7c2074797065203d3d202766756e6374696f6e27293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206f626a6563742d6c696b652e20412076616c7565206973206f626a6563742d6c696b652069662069742773206e6f7420606e756c6c600a20202020202a20616e642068617320612060747970656f666020726573756c74206f6620226f626a656374222e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206f626a6563742d6c696b652c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65287b7d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65285b312c20322c20335d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65285f2e6e6f6f70293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e69734f626a6563744c696b65286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734f626a6563744c696b652876616c756529207b0a20202020202072657475726e2076616c756520213d206e756c6c20262620747970656f662076616c7565203d3d20276f626a656374273b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604d617060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206d61702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734d6170286e6577204d6170293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734d6170286e6577205765616b4d6170293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a202020207661722069734d6170203d206e6f646549734d6170203f2062617365556e617279286e6f646549734d617029203a206261736549734d61703b0a0a202020202f2a2a0a20202020202a20506572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e20606f626a6563746020616e642060736f757263656020746f0a20202020202a2064657465726d696e6520696620606f626a6563746020636f6e7461696e73206571756976616c656e742070726f70657274792076616c7565732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206571756976616c656e7420746f20605f2e6d61746368657360207768656e2060736f75726365602069730a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563742060736f75726365600a20202020202a2076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e2053656520605f2e6973457175616c600a20202020202a20666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a2032207d3b0a20202020202a0a20202020202a205f2e69734d61746368286f626a6563742c207b202762273a2032207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734d61746368286f626a6563742c207b202762273a2031207d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734d61746368286f626a6563742c20736f7572636529207b0a20202020202072657475726e206f626a656374203d3d3d20736f75726365207c7c206261736549734d61746368286f626a6563742c20736f757263652c206765744d617463684461746128736f7572636529293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e69734d617463686020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f20636f6d706172652076616c7565732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c20636f6d70617269736f6e730a20202020202a206172652068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b6564207769746820666976650a20202020202a20617267756d656e74733a20286f626a56616c75652c2073726356616c75652c20696e6465787c6b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a6520636f6d70617269736f6e732e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606f626a656374602069732061206d617463682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2069734772656574696e672876616c756529207b0a20202020202a20202072657475726e202f5e68283f3a697c656c6c6f29242f2e746573742876616c7565293b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a2020206966202869734772656574696e67286f626a56616c7565292026262069734772656574696e672873726356616c75652929207b0a20202020202a202020202072657475726e20747275653b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b20276772656574696e67273a202768656c6c6f27207d3b0a20202020202a2076617220736f75726365203d207b20276772656574696e67273a2027686927207d3b0a20202020202a0a20202020202a205f2e69734d6174636857697468286f626a6563742c20736f757263652c20637573746f6d697a6572293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e2069734d6174636857697468286f626a6563742c20736f757263652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206261736549734d61746368286f626a6563742c20736f757263652c206765744d617463684461746128736f75726365292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320604e614e602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e69734e614e605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f69734e614e2920616e64206973206e6f74207468652073616d652061730a20202020202a20676c6f62616c205b6069734e614e605d2868747470733a2f2f6d646e2e696f2f69734e614e292077686963682072657475726e732060747275656020666f720a20202020202a2060756e646566696e65646020616e64206f74686572206e6f6e2d6e756d6265722076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320604e614e602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e614e284e614e293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e614e286e6577204e756d626572284e614e29293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2069734e614e28756e646566696e6564293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e614e28756e646566696e6564293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e614e2876616c756529207b0a2020202020202f2f20416e20604e614e60207072696d697469766520697320746865206f6e6c792076616c75652074686174206973206e6f7420657175616c20746f20697473656c662e0a2020202020202f2f20506572666f726d207468652060746f537472696e675461676020636865636b20666972737420746f2061766f6964206572726f7273207769746820736f6d650a2020202020202f2f2041637469766558206f626a6563747320696e2049452e0a20202020202072657475726e2069734e756d6265722876616c7565292026262076616c756520213d202b76616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061207072697374696e65206e61746976652066756e6374696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f642063616e27742072656c6961626c7920646574656374206e61746976652066756e6374696f6e7320696e207468652070726573656e63650a20202020202a206f662074686520636f72652d6a73207061636b616765206265636175736520636f72652d6a732063697263756d76656e74732074686973206b696e64206f6620646574656374696f6e2e0a20202020202a2044657370697465206d756c7469706c652072657175657374732c2074686520636f72652d6a73206d61696e7461696e657220686173206d61646520697420636c6561723a20616e790a20202020202a20617474656d707420746f206669782074686520646574656374696f6e2077696c6c206265206f6273747275637465642e204173206120726573756c742c207765277265206c6566740a20202020202a2077697468206c6974746c652063686f6963652062757420746f207468726f7720616e206572726f722e20556e666f7274756e6174656c792c207468697320616c736f20616666656374730a20202020202a207061636b616765732c206c696b65205b626162656c2d706f6c7966696c6c5d2868747470733a2f2f7777772e6e706d6a732e636f6d2f7061636b6167652f626162656c2d706f6c7966696c6c292c0a20202020202a2077686963682072656c79206f6e20636f72652d6a732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e61746976652066756e6374696f6e2c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e61746976652841727261792e70726f746f747970652e70757368293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e6174697665285f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e61746976652876616c756529207b0a2020202020206966202869734d61736b61626c652876616c75652929207b0a20202020202020207468726f77206e6577204572726f7228434f52455f4552524f525f54455854293b0a2020202020207d0a20202020202072657475726e206261736549734e61746976652876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320606e756c6c602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320606e756c6c602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e756c6c286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756c6c28766f69642030293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e756c6c2876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d206e756c6c3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320606e756c6c60206f722060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206e756c6c6973682c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e696c286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e696c28766f69642030293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e696c284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e696c2876616c756529207b0a20202020202072657475726e2076616c7565203d3d206e756c6c3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120604e756d62657260207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20546f206578636c7564652060496e66696e697479602c20602d496e66696e697479602c20616e6420604e614e602c207768696368206172650a20202020202a20636c6173736966696564206173206e756d626572732c207573652074686520605f2e697346696e69746560206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061206e756d6265722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69734e756d6265722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d626572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d62657228496e66696e697479293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69734e756d62657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069734e756d6265722876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d20276e756d62657227207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d206e756d626572546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206120706c61696e206f626a6563742c20746861742069732c20616e206f626a6563742063726561746564206279207468650a20202020202a20604f626a6563746020636f6e7374727563746f72206f72206f6e652077697468206120605b5b50726f746f747970655d5d60206f6620606e756c6c602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e382e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120706c61696e206f626a6563742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374286e657720466f6f293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374285b312c20322c20335d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374287b202778273a20302c202779273a2030207d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973506c61696e4f626a656374284f626a6563742e637265617465286e756c6c29293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206973506c61696e4f626a6563742876616c756529207b0a202020202020696620282169734f626a6563744c696b652876616c756529207c7c20626173654765745461672876616c75652920213d206f626a65637454616729207b0a202020202020202072657475726e2066616c73653b0a2020202020207d0a2020202020207661722070726f746f203d2067657450726f746f747970652876616c7565293b0a2020202020206966202870726f746f203d3d3d206e756c6c29207b0a202020202020202072657475726e20747275653b0a2020202020207d0a2020202020207661722043746f72203d206861734f776e50726f70657274792e63616c6c2870726f746f2c2027636f6e7374727563746f7227292026262070726f746f2e636f6e7374727563746f723b0a20202020202072657475726e20747970656f662043746f72203d3d202766756e6374696f6e272026262043746f7220696e7374616e63656f662043746f722026260a202020202020202066756e63546f537472696e672e63616c6c2843746f7229203d3d206f626a65637443746f72537472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206052656745787060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e312e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207265676578702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973526567457870282f6162632f293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697352656745787028272f6162632f27293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973526567457870203d206e6f64654973526567457870203f2062617365556e617279286e6f6465497352656745787029203a206261736549735265674578703b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732061207361666520696e74656765722e20416e20696e74656765722069732073616665206966206974277320616e20494545452d3735340a20202020202a20646f75626c6520707265636973696f6e206e756d6265722077686963682069736e27742074686520726573756c74206f66206120726f756e64656420756e7361666520696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b604e756d6265722e697353616665496e7465676572605d2868747470733a2f2f6d646e2e696f2f4e756d6265722f697353616665496e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207361666520696e74656765722c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697353616665496e74656765722833293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697353616665496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697353616665496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e697353616665496e746567657228273327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697353616665496e74656765722876616c756529207b0a20202020202072657475726e206973496e74656765722876616c7565292026262076616c7565203e3d202d4d41585f534146455f494e54454745522026262076616c7565203c3d204d41585f534146455f494e54454745523b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206053657460206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207365742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973536574286e657720536574293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973536574286e6577205765616b536574293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206973536574203d206e6f64654973536574203f2062617365556e617279286e6f6465497353657429203a206261736549735365743b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320612060537472696e6760207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206120737472696e672c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973537472696e67282761626327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973537472696e672831293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973537472696e672876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d2027737472696e6727207c7c0a20202020202020202821697341727261792876616c7565292026262069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d20737472696e67546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c61737369666965642061732061206053796d626f6c60207072696d6974697665206f72206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612073796d626f6c2c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697353796d626f6c2853796d626f6c2e6974657261746f72293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697353796d626f6c282761626327293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20697353796d626f6c2876616c756529207b0a20202020202072657475726e20747970656f662076616c7565203d3d202773796d626f6c27207c7c0a20202020202020202869734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d2073796d626f6c546167293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c617373696669656420617320612074797065642061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c75656020697320612074797065642061727261792c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e697354797065644172726179286e65772055696e74384172726179293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e697354797065644172726179285b5d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202076617220697354797065644172726179203d206e6f6465497354797065644172726179203f2062617365556e617279286e6f646549735479706564417272617929203a20626173654973547970656441727261793b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c7565602069732060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732060756e646566696e6564602c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6973556e646566696e656428766f69642030293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6973556e646566696e6564286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e206973556e646566696e65642876616c756529207b0a20202020202072657475726e2076616c7565203d3d3d20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120605765616b4d617060206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207765616b206d61702c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69735765616b4d6170286e6577205765616b4d6170293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69735765616b4d6170286e6577204d6170293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069735765616b4d61702876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c756529202626206765745461672876616c756529203d3d207765616b4d61705461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c75656020697320636c6173736966696564206173206120605765616b53657460206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e332e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c7565602069732061207765616b207365742c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e69735765616b536574286e6577205765616b536574293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e69735765616b536574286e657720536574293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e2069735765616b5365742876616c756529207b0a20202020202072657475726e2069734f626a6563744c696b652876616c75652920262620626173654765745461672876616c756529203d3d207765616b5365745461673b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c657373207468616e20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e20606f74686572602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a2040736565205f2e67740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c7428312c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c7428332c2033293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e6c7428332c2031293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206c74203d2063726561746552656c6174696f6e616c4f7065726174696f6e28626173654c74293b0a0a202020202f2a2a0a20202020202a20436865636b73206966206076616c756560206973206c657373207468616e206f7220657175616c20746f20606f74686572602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e392e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6d706172652e0a20202020202a2040706172616d207b2a7d206f7468657220546865206f746865722076616c756520746f20636f6d706172652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966206076616c756560206973206c657373207468616e206f7220657175616c20746f0a20202020202a2020606f74686572602c20656c7365206066616c7365602e0a20202020202a2040736565205f2e6774650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c746528312c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c746528332c2033293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e6c746528332c2031293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206c7465203d2063726561746552656c6174696f6e616c4f7065726174696f6e2866756e6374696f6e2876616c75652c206f7468657229207b0a20202020202072657475726e2076616c7565203c3d206f746865723b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e2061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520636f6e7665727465642061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4172726179287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a0a20202020202a205f2e746f4172726179282761626327293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a0a20202020202a205f2e746f41727261792831293b0a20202020202a202f2f203d3e205b5d0a20202020202a0a20202020202a205f2e746f4172726179286e756c6c293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a2020202066756e6374696f6e20746f41727261792876616c756529207b0a202020202020696620282176616c756529207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202069662028697341727261794c696b652876616c75652929207b0a202020202020202072657475726e206973537472696e672876616c756529203f20737472696e67546f41727261792876616c756529203a20636f707941727261792876616c7565293b0a2020202020207d0a2020202020206966202873796d4974657261746f722026262076616c75655b73796d4974657261746f725d29207b0a202020202020202072657475726e206974657261746f72546f41727261792876616c75655b73796d4974657261746f725d2829293b0a2020202020207d0a20202020202076617220746167203d206765745461672876616c7565292c0a2020202020202020202066756e63203d20746167203d3d206d6170546167203f206d6170546f4172726179203a2028746167203d3d20736574546167203f20736574546f4172726179203a2076616c756573293b0a0a20202020202072657475726e2066756e632876616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20612066696e697465206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31322e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e766572746564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f46696e69746528332e32293b0a20202020202a202f2f203d3e20332e320a20202020202a0a20202020202a205f2e746f46696e697465284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2035652d3332340a20202020202a0a20202020202a205f2e746f46696e69746528496e66696e697479293b0a20202020202a202f2f203d3e20312e37393736393331333438363233313537652b3330380a20202020202a0a20202020202a205f2e746f46696e6974652827332e3227293b0a20202020202a202f2f203d3e20332e320a20202020202a2f0a2020202066756e6374696f6e20746f46696e6974652876616c756529207b0a202020202020696620282176616c756529207b0a202020202020202072657475726e2076616c7565203d3d3d2030203f2076616c7565203a20303b0a2020202020207d0a20202020202076616c7565203d20746f4e756d6265722876616c7565293b0a2020202020206966202876616c7565203d3d3d20494e46494e495459207c7c2076616c7565203d3d3d202d494e46494e49545929207b0a2020202020202020766172207369676e203d202876616c7565203c2030203f202d31203a2031293b0a202020202020202072657475726e207369676e202a204d41585f494e54454745523b0a2020202020207d0a20202020202072657475726e2076616c7565203d3d3d2076616c7565203f2076616c7565203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b60546f496e7465676572605d28687474703a2f2f7777772e65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f696e7465676572292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f496e746567657228332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e20312e37393736393331333438363233313537652b3330380a20202020202a0a20202020202a205f2e746f496e74656765722827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f496e74656765722876616c756529207b0a20202020202076617220726573756c74203d20746f46696e6974652876616c7565292c0a2020202020202020202072656d61696e646572203d20726573756c74202520313b0a0a20202020202072657475726e20726573756c74203d3d3d20726573756c74203f202872656d61696e646572203f20726573756c74202d2072656d61696e646572203a20726573756c7429203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20616e20696e7465676572207375697461626c6520666f722075736520617320746865206c656e677468206f6620616e0a20202020202a2061727261792d6c696b65206f626a6563742e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60546f4c656e677468605d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d746f6c656e677468292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4c656e67746828332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f4c656e677468284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f4c656e67746828496e66696e697479293b0a20202020202a202f2f203d3e20343239343936373239350a20202020202a0a20202020202a205f2e746f4c656e6774682827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f4c656e6774682876616c756529207b0a20202020202072657475726e2076616c7565203f2062617365436c616d7028746f496e74656765722876616c7565292c20302c204d41585f41525241595f4c454e47544829203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f2061206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2070726f636573732e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4e756d62657228332e32293b0a20202020202a202f2f203d3e20332e320a20202020202a0a20202020202a205f2e746f4e756d626572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e2035652d3332340a20202020202a0a20202020202a205f2e746f4e756d62657228496e66696e697479293b0a20202020202a202f2f203d3e20496e66696e6974790a20202020202a0a20202020202a205f2e746f4e756d6265722827332e3227293b0a20202020202a202f2f203d3e20332e320a20202020202a2f0a2020202066756e6374696f6e20746f4e756d6265722876616c756529207b0a20202020202069662028747970656f662076616c7565203d3d20276e756d6265722729207b0a202020202020202072657475726e2076616c75653b0a2020202020207d0a20202020202069662028697353796d626f6c2876616c75652929207b0a202020202020202072657475726e204e414e3b0a2020202020207d0a2020202020206966202869734f626a6563742876616c75652929207b0a2020202020202020766172206f74686572203d20747970656f662076616c75652e76616c75654f66203d3d202766756e6374696f6e27203f2076616c75652e76616c75654f662829203a2076616c75653b0a202020202020202076616c7565203d2069734f626a656374286f7468657229203f20286f74686572202b20272729203a206f746865723b0a2020202020207d0a20202020202069662028747970656f662076616c756520213d2027737472696e672729207b0a202020202020202072657475726e2076616c7565203d3d3d2030203f2076616c7565203a202b76616c75653b0a2020202020207d0a20202020202076616c7565203d2076616c75652e7265706c6163652872655472696d2c202727293b0a20202020202076617220697342696e617279203d207265497342696e6172792e746573742876616c7565293b0a20202020202072657475726e2028697342696e617279207c7c20726549734f6374616c2e746573742876616c756529290a20202020202020203f20667265655061727365496e742876616c75652e736c6963652832292c20697342696e617279203f2032203a2038290a20202020202020203a2028726549734261644865782e746573742876616c756529203f204e414e203a202b76616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120706c61696e206f626a65637420666c617474656e696e6720696e6865726974656420656e756d657261626c6520737472696e670a20202020202a206b657965642070726f70657274696573206f66206076616c75656020746f206f776e2070726f70657274696573206f662074686520706c61696e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e732074686520636f6e76657274656420706c61696e206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2031207d2c206e657720466f6f293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2031207d2c205f2e746f506c61696e4f626a656374286e657720466f6f29293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a20322c202763273a2033207d0a20202020202a2f0a2020202066756e6374696f6e20746f506c61696e4f626a6563742876616c756529207b0a20202020202072657475726e20636f70794f626a6563742876616c75652c206b657973496e2876616c756529293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f2061207361666520696e74656765722e2041207361666520696e74656765722063616e20626520636f6d706172656420616e640a20202020202a20726570726573656e74656420636f72726563746c792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f53616665496e746567657228332e32293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e746f53616665496e7465676572284e756d6265722e4d494e5f56414c5545293b0a20202020202a202f2f203d3e20300a20202020202a0a20202020202a205f2e746f53616665496e746567657228496e66696e697479293b0a20202020202a202f2f203d3e20393030373139393235343734303939310a20202020202a0a20202020202a205f2e746f53616665496e74656765722827332e3227293b0a20202020202a202f2f203d3e20330a20202020202a2f0a2020202066756e6374696f6e20746f53616665496e74656765722876616c756529207b0a20202020202072657475726e2076616c75650a20202020202020203f2062617365436c616d7028746f496e74656765722876616c7565292c202d4d41585f534146455f494e54454745522c204d41585f534146455f494e5445474552290a20202020202020203a202876616c7565203d3d3d2030203f2076616c7565203a2030293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f206120737472696e672e20416e20656d70747920737472696e672069732072657475726e656420666f7220606e756c6c600a20202020202a20616e642060756e646566696e6564602076616c7565732e20546865207369676e206f6620602d3060206973207072657365727665642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204c616e670a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f537472696e67286e756c6c293b0a20202020202a202f2f203d3e2027270a20202020202a0a20202020202a205f2e746f537472696e67282d30293b0a20202020202a202f2f203d3e20272d30270a20202020202a0a20202020202a205f2e746f537472696e67285b312c20322c20335d293b0a20202020202a202f2f203d3e2027312c322c33270a20202020202a2f0a2020202066756e6374696f6e20746f537472696e672876616c756529207b0a20202020202072657475726e2076616c7565203d3d206e756c6c203f202727203a2062617365546f537472696e672876616c7565293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a2041737369676e73206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f75726365206f626a6563747320746f207468650a20202020202a2064657374696e6174696f6e206f626a6563742e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e0a20202020202a2053756273657175656e7420736f7572636573206f76657277726974652070726f70657274792061737369676e6d656e7473206f662070726576696f757320736f75726365732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a6563746020616e64206973206c6f6f73656c79206261736564206f6e0a20202020202a205b604f626a6563742e61737369676e605d2868747470733a2f2f6d646e2e696f2f4f626a6563742f61737369676e292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e31302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e204261722829207b0a20202020202a202020746869732e63203d20333b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e62203d20323b0a20202020202a204261722e70726f746f747970652e64203d20343b0a20202020202a0a20202020202a205f2e61737369676e287b202761273a2030207d2c206e657720466f6f2c206e657720426172293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a202020207661722061737369676e203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f7572636529207b0a20202020202069662028697350726f746f7479706528736f7572636529207c7c20697341727261794c696b6528736f757263652929207b0a2020202020202020636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a656374293b0a202020202020202072657475726e3b0a2020202020207d0a202020202020666f722028766172206b657920696e20736f7572636529207b0a2020202020202020696620286861734f776e50726f70657274792e63616c6c28736f757263652c206b65792929207b0a2020202020202020202061737369676e56616c7565286f626a6563742c206b65792c20736f757263655b6b65795d293b0a20202020202020207d0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e60206578636570742074686174206974206974657261746573206f766572206f776e20616e640a20202020202a20696e6865726974656420736f757263652070726f706572746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320657874656e640a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e204261722829207b0a20202020202a202020746869732e63203d20333b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e62203d20323b0a20202020202a204261722e70726f746f747970652e64203d20343b0a20202020202a0a20202020202a205f2e61737369676e496e287b202761273a2030207d2c206e657720466f6f2c206e657720426172293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a20322c202763273a20332c202764273a2034207d0a20202020202a2f0a202020207661722061737369676e496e203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f7572636529207b0a202020202020636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a656374293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e496e6020657863657074207468617420697420616363657074732060637573746f6d697a6572600a20202020202a20776869636820697320696e766f6b656420746f2070726f64756365207468652061737369676e65642076616c7565732e2049662060637573746f6d697a6572602072657475726e730a20202020202a2060756e646566696e6564602c2061737369676e6d656e742069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a6572600a20202020202a20697320696e766f6b65642077697468206669766520617267756d656e74733a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320657874656e64576974680a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a20202072657475726e205f2e6973556e646566696e6564286f626a56616c756529203f2073726356616c7565203a206f626a56616c75653b0a20202020202a207d0a20202020202a0a20202020202a207661722064656661756c7473203d205f2e7061727469616c5269676874285f2e61737369676e496e576974682c20637573746f6d697a6572293b0a20202020202a0a20202020202a2064656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722061737369676e496e57697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020636f70794f626a65637428736f757263652c206b657973496e28736f75726365292c206f626a6563742c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e6020657863657074207468617420697420616363657074732060637573746f6d697a6572600a20202020202a20776869636820697320696e766f6b656420746f2070726f64756365207468652061737369676e65642076616c7565732e2049662060637573746f6d697a6572602072657475726e730a20202020202a2060756e646566696e6564602c2061737369676e6d656e742069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a6572600a20202020202a20697320696e766f6b65642077697468206669766520617267756d656e74733a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f75726365292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e61737369676e496e576974680a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a20202072657475726e205f2e6973556e646566696e6564286f626a56616c756529203f2073726356616c7565203a206f626a56616c75653b0a20202020202a207d0a20202020202a0a20202020202a207661722064656661756c7473203d205f2e7061727469616c5269676874285f2e61737369676e576974682c20637573746f6d697a6572293b0a20202020202a0a20202020202a2064656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722061737369676e57697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020636f70794f626a65637428736f757263652c206b65797328736f75726365292c206f626a6563742c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662076616c75657320636f72726573706f6e64696e6720746f2060706174687360206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865207069636b65642076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d2c20345d207d3b0a20202020202a0a20202020202a205f2e6174286f626a6563742c205b27615b305d2e622e63272c2027615b315d275d293b0a20202020202a202f2f203d3e205b332c20345d0a20202020202a2f0a20202020766172206174203d20666c61745265737428626173654174293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a656374207468617420696e6865726974732066726f6d20746865206070726f746f7479706560206f626a6563742e20496620610a20202020202a206070726f7065727469657360206f626a65637420697320676976656e2c20697473206f776e20656e756d657261626c6520737472696e67206b657965642070726f706572746965730a20202020202a206172652061737369676e656420746f207468652063726561746564206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d2070726f746f7479706520546865206f626a65637420746f20696e68657269742066726f6d2e0a20202020202a2040706172616d207b4f626a6563747d205b70726f706572746965735d205468652070726f7065727469657320746f2061737369676e20746f20746865206f626a6563742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e2053686170652829207b0a20202020202a202020746869732e78203d20303b0a20202020202a202020746869732e79203d20303b0a20202020202a207d0a20202020202a0a20202020202a2066756e6374696f6e20436972636c652829207b0a20202020202a20202053686170652e63616c6c2874686973293b0a20202020202a207d0a20202020202a0a20202020202a20436972636c652e70726f746f74797065203d205f2e6372656174652853686170652e70726f746f747970652c207b0a20202020202a20202027636f6e7374727563746f72273a20436972636c650a20202020202a207d293b0a20202020202a0a20202020202a2076617220636972636c65203d206e657720436972636c653b0a20202020202a20636972636c6520696e7374616e63656f6620436972636c653b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636972636c6520696e7374616e63656f662053686170653b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206372656174652870726f746f747970652c2070726f7065727469657329207b0a20202020202076617220726573756c74203d20626173654372656174652870726f746f74797065293b0a20202020202072657475726e2070726f70657274696573203d3d206e756c6c203f20726573756c74203a206261736541737369676e28726573756c742c2070726f70657274696573293b0a202020207d0a0a202020202f2a2a0a20202020202a2041737369676e73206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f757263650a20202020202a206f626a6563747320746f207468652064657374696e6174696f6e206f626a65637420666f7220616c6c2064657374696e6174696f6e2070726f7065727469657320746861740a20202020202a207265736f6c766520746f2060756e646566696e6564602e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e0a20202020202a204f6e636520612070726f7065727479206973207365742c206164646974696f6e616c2076616c756573206f66207468652073616d652070726f7065727479206172652069676e6f7265642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e64656661756c7473446565700a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c7473287b202761273a2031207d2c207b202762273a2032207d2c207b202761273a2033207d293b0a20202020202a202f2f203d3e207b202761273a20312c202762273a2032207d0a20202020202a2f0a202020207661722064656661756c7473203d2062617365526573742866756e6374696f6e286172677329207b0a202020202020617267732e7075736828756e646566696e65642c20637573746f6d44656661756c747341737369676e496e293b0a20202020202072657475726e206170706c792861737369676e496e576974682c20756e646566696e65642c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e64656661756c747360206578636570742074686174206974207265637572736976656c792061737369676e730a20202020202a2064656661756c742070726f706572746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e64656661756c74730a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c747344656570287b202761273a207b202762273a2032207d207d2c207b202761273a207b202762273a20312c202763273a2033207d207d293b0a20202020202a202f2f203d3e207b202761273a207b202762273a20322c202763273a2033207d207d0a20202020202a2f0a202020207661722064656661756c747344656570203d2062617365526573742866756e6374696f6e286172677329207b0a202020202020617267732e7075736828756e646566696e65642c20637573746f6d44656661756c74734d65726765293b0a20202020202072657475726e206170706c79286d65726765576974682c20756e646566696e65642c2061726773293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e64602065786365707420746861742069742072657475726e7320746865206b6579206f66207468652066697273740a20202020202a20656c656d656e742060707265646963617465602072657475726e732074727574687920666f7220696e7374656164206f662074686520656c656d656e7420697473656c662e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b737472696e677c756e646566696e65647d2052657475726e7320746865206b6579206f6620746865206d61746368656420656c656d656e742c0a20202020202a2020656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a202020276261726e6579273a20207b2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020202766726564273a202020207b2027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a20202027706562626c6573273a207b2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e66696e644b65792875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e20276261726e6579272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c207b2027616765273a20312c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e2027706562626c6573270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644b65792875736572732c202761637469766527293b0a20202020202a202f2f203d3e20276261726e6579270a20202020202a2f0a2020202066756e6374696f6e2066696e644b6579286f626a6563742c2070726564696361746529207b0a20202020202072657475726e206261736546696e644b6579286f626a6563742c206765744974657261746565287072656469636174652c2033292c2062617365466f724f776e293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e66696e644b657960206578636570742074686174206974206974657261746573206f76657220656c656d656e7473206f660a20202020202a206120636f6c6c656374696f6e20696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b737472696e677c756e646566696e65647d2052657475726e7320746865206b6579206f6620746865206d61746368656420656c656d656e742c0a20202020202a2020656c73652060756e646566696e6564602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a202020276261726e6579273a20207b2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020202766726564273a202020207b2027616765273a2034302c2027616374697665273a2066616c7365207d2c0a20202020202a20202027706562626c6573273a207b2027616765273a20312c202027616374697665273a2074727565207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e66696e644c6173744b65792875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e616765203c2034303b207d293b0a20202020202a202f2f203d3e2072657475726e732027706562626c65732720617373756d696e6720605f2e66696e644b6579602072657475726e7320276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c207b2027616765273a2033362c2027616374697665273a2074727565207d293b0a20202020202a202f2f203d3e20276261726e6579270a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c205b27616374697665272c2066616c73655d293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696e644c6173744b65792875736572732c202761637469766527293b0a20202020202a202f2f203d3e2027706562626c6573270a20202020202a2f0a2020202066756e6374696f6e2066696e644c6173744b6579286f626a6563742c2070726564696361746529207b0a20202020202072657475726e206261736546696e644b6579286f626a6563742c206765744974657261746565287072656469636174652c2033292c2062617365466f724f776e5269676874293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f766572206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620616e0a20202020202a206f626a65637420616e6420696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c206b65792c206f626a656374292e2049746572617465652066756e6374696f6e73206d617920657869740a20202020202a20697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f72496e52696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f72496e286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f6773202761272c202762272c207468656e202763272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f72496e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c0a20202020202020203f206f626a6563740a20202020202020203a2062617365466f72286f626a6563742c2067657449746572617465652869746572617465652c2033292c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f72496e60206578636570742074686174206974206974657261746573206f7665722070726f70657274696573206f660a20202020202a20606f626a6563746020696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f72496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f72496e5269676874286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f6773202763272c202762272c207468656e2027612720617373756d696e6720605f2e666f72496e60206c6f6773202761272c202762272c207468656e202763272e0a20202020202a2f0a2020202066756e6374696f6e20666f72496e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c0a20202020202020203f206f626a6563740a20202020202020203a2062617365466f725269676874286f626a6563742c2067657449746572617465652869746572617465652c2033292c206b657973496e293b0a202020207d0a0a202020202f2a2a0a20202020202a204974657261746573206f766572206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620616e206f626a65637420616e640a20202020202a20696e766f6b6573206069746572617465656020666f7220656163682070726f70657274792e2054686520697465726174656520697320696e766f6b656420776974682074687265650a20202020202a20617267756d656e74733a202876616c75652c206b65792c206f626a656374292e2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e0a20202020202a206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f724f776e52696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f724f776e286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276127207468656e202762272028697465726174696f6e206f72646572206973206e6f742067756172616e74656564292e0a20202020202a2f0a2020202066756e6374696f6e20666f724f776e286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f724f776e286f626a6563742c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666f724f776e60206578636570742074686174206974206974657261746573206f7665722070726f70657274696573206f660a20202020202a20606f626a6563746020696e20746865206f70706f73697465206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a2040736565205f2e666f724f776e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e666f724f776e5269676874286e657720466f6f2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a202020636f6e736f6c652e6c6f67286b6579293b0a20202020202a207d293b0a20202020202a202f2f203d3e204c6f677320276227207468656e2027612720617373756d696e6720605f2e666f724f776e60206c6f677320276127207468656e202762272e0a20202020202a2f0a2020202066756e6374696f6e20666f724f776e5269676874286f626a6563742c20697465726174656529207b0a20202020202072657475726e206f626a6563742026262062617365466f724f776e5269676874286f626a6563742c2067657449746572617465652869746572617465652c203329293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662066756e6374696f6e2070726f7065727479206e616d65732066726f6d206f776e20656e756d657261626c652070726f706572746965730a20202020202a206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2040736565205f2e66756e6374696f6e73496e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d205f2e636f6e7374616e7428276127293b0a20202020202a202020746869732e62203d205f2e636f6e7374616e7428276227293b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d205f2e636f6e7374616e7428276327293b0a20202020202a0a20202020202a205f2e66756e6374696f6e73286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2066756e6374696f6e73286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736546756e6374696f6e73286f626a6563742c206b657973286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f662066756e6374696f6e2070726f7065727479206e616d65732066726f6d206f776e20616e6420696e686572697465640a20202020202a20656e756d657261626c652070726f70657274696573206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e73706563742e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652066756e6374696f6e206e616d65732e0a20202020202a2040736565205f2e66756e6374696f6e730a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d205f2e636f6e7374616e7428276127293b0a20202020202a202020746869732e62203d205f2e636f6e7374616e7428276227293b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d205f2e636f6e7374616e7428276327293b0a20202020202a0a20202020202a205f2e66756e6374696f6e73496e286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a2f0a2020202066756e6374696f6e2066756e6374696f6e73496e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736546756e6374696f6e73286f626a6563742c206b657973496e286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a2047657473207468652076616c756520617420607061746860206f6620606f626a656374602e20496620746865207265736f6c7665642076616c75652069730a20202020202a2060756e646566696e6564602c20746865206064656661756c7456616c7565602069732072657475726e656420696e2069747320706c6163652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d205b64656661756c7456616c75655d205468652076616c75652072657475726e656420666f722060756e646566696e656460207265736f6c7665642076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e676574286f626a6563742c2027615b305d2e622e6327293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e676574286f626a6563742c205b2761272c202730272c202762272c202763275d293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e676574286f626a6563742c2027612e622e63272c202764656661756c7427293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a2f0a2020202066756e6374696f6e20676574286f626a6563742c20706174682c2064656661756c7456616c756529207b0a20202020202076617220726573756c74203d206f626a656374203d3d206e756c6c203f20756e646566696e6564203a2062617365476574286f626a6563742c2070617468293b0a20202020202072657475726e20726573756c74203d3d3d20756e646566696e6564203f2064656661756c7456616c7565203a20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206966206070617468602069732061206469726563742070726f7065727479206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a207b202762273a2032207d207d3b0a20202020202a20766172206f74686572203d205f2e637265617465287b202761273a205f2e637265617465287b202762273a2032207d29207d293b0a20202020202a0a20202020202a205f2e686173286f626a6563742c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f626a6563742c2027612e6227293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f626a6563742c205b2761272c202762275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173286f746865722c20276127293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20686173286f626a6563742c207061746829207b0a20202020202072657475726e206f626a65637420213d206e756c6c2026262068617350617468286f626a6563742c20706174682c2062617365486173293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620607061746860206973206120646972656374206f7220696e686572697465642070726f7065727479206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d207061746820546865207061746820746f20636865636b2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620607061746860206578697374732c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d205f2e637265617465287b202761273a205f2e637265617465287b202762273a2032207d29207d293b0a20202020202a0a20202020202a205f2e686173496e286f626a6563742c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c2027612e6227293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c205b2761272c202762275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e686173496e286f626a6563742c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20686173496e286f626a6563742c207061746829207b0a20202020202072657475726e206f626a65637420213d206e756c6c2026262068617350617468286f626a6563742c20706174682c2062617365486173496e293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f662074686520696e766572746564206b65797320616e642076616c756573206f6620606f626a656374602e0a20202020202a20496620606f626a6563746020636f6e7461696e73206475706c69636174652076616c7565732c2073756273657175656e742076616c756573206f76657277726974650a20202020202a2070726f70657274792061737369676e6d656e7473206f662070726576696f75732076616c7565732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766572742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720696e766572746564206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a20322c202763273a2031207d3b0a20202020202a0a20202020202a205f2e696e76657274286f626a656374293b0a20202020202a202f2f203d3e207b202731273a202763272c202732273a20276227207d0a20202020202a2f0a2020202076617220696e76657274203d20637265617465496e7665727465722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020726573756c745b76616c75655d203d206b65793b0a202020207d2c20636f6e7374616e74286964656e7469747929293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e696e76657274602065786365707420746861742074686520696e766572746564206f626a6563742069732067656e6572617465640a20202020202a2066726f6d2074686520726573756c7473206f662072756e6e696e67206561636820656c656d656e74206f6620606f626a65637460207468727520606974657261746565602e205468650a20202020202a20636f72726573706f6e64696e6720696e7665727465642076616c7565206f66206561636820696e766572746564206b657920697320616e206172726179206f66206b6579730a20202020202a20726573706f6e7369626c6520666f722067656e65726174696e672074686520696e7665727465642076616c75652e2054686520697465726174656520697320696e766f6b65640a20202020202a2077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e312e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f20696e766572742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720696e766572746564206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a20322c202763273a2031207d3b0a20202020202a0a20202020202a205f2e696e766572744279286f626a656374293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d0a20202020202a0a20202020202a205f2e696e766572744279286f626a6563742c2066756e6374696f6e2876616c756529207b0a20202020202a20202072657475726e202767726f757027202b2076616c75653b0a20202020202a207d293b0a20202020202a202f2f203d3e207b202767726f757031273a205b2761272c202763275d2c202767726f757032273a205b2762275d207d0a20202020202a2f0a2020202076617220696e766572744279203d20637265617465496e7665727465722866756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a202020202020696620286861734f776e50726f70657274792e63616c6c28726573756c742c2076616c75652929207b0a2020202020202020726573756c745b76616c75655d2e70757368286b6579293b0a2020202020207d20656c7365207b0a2020202020202020726573756c745b76616c75655d203d205b6b65795d3b0a2020202020207d0a202020207d2c206765744974657261746565293b0a0a202020202f2a2a0a20202020202a20496e766f6b657320746865206d6574686f6420617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520726573756c74206f662074686520696e766f6b6564206d6574686f642e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a205b312c20322c20332c20345d207d207d5d207d3b0a20202020202a0a20202020202a205f2e696e766f6b65286f626a6563742c2027615b305d2e622e632e736c696365272c20312c2033293b0a20202020202a202f2f203d3e205b322c20335d0a20202020202a2f0a2020202076617220696e766f6b65203d2062617365526573742862617365496e766f6b65293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c652070726f7065727479206e616d6573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e20536565207468650a20202020202a205b455320737065635d28687474703a2f2f65636d612d696e7465726e6174696f6e616c2e6f72672f65636d612d3236322f372e302f237365632d6f626a6563742e6b657973290a20202020202a20666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e6b657973286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762275d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a205f2e6b6579732827686927293b0a20202020202a202f2f203d3e205b2730272c202731275d0a20202020202a2f0a2020202066756e6374696f6e206b657973286f626a65637429207b0a20202020202072657475726e20697341727261794c696b65286f626a65637429203f2061727261794c696b654b657973286f626a65637429203a20626173654b657973286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479206e616d6573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f7065727479206e616d65732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e6b657973496e286e657720466f6f293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e206b657973496e286f626a65637429207b0a20202020202072657475726e20697341727261794c696b65286f626a65637429203f2061727261794c696b654b657973286f626a6563742c207472756529203a20626173654b657973496e286f626a656374293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6d617056616c756573603b2074686973206d6574686f64206372656174657320616e206f626a6563742077697468207468650a20202020202a2073616d652076616c75657320617320606f626a6563746020616e64206b6579732067656e6572617465642062792072756e6e696e672065616368206f776e20656e756d657261626c650a20202020202a20737472696e67206b657965642070726f7065727479206f6620606f626a65637460207468727520606974657261746565602e2054686520697465726174656520697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a202876616c75652c206b65792c206f626a656374292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e382e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206d6170706564206f626a6563742e0a20202020202a2040736565205f2e6d617056616c7565730a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d61704b657973287b202761273a20312c202762273a2032207d2c2066756e6374696f6e2876616c75652c206b657929207b0a20202020202a20202072657475726e206b6579202b2076616c75653b0a20202020202a207d293b0a20202020202a202f2f203d3e207b20276131273a20312c20276232273a2032207d0a20202020202a2f0a2020202066756e6374696f6e206d61704b657973286f626a6563742c20697465726174656529207b0a20202020202076617220726573756c74203d207b7d3b0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2033293b0a0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a20202020202020206261736541737369676e56616c756528726573756c742c2069746572617465652876616c75652c206b65792c206f626a656374292c2076616c7565293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a6563742077697468207468652073616d65206b65797320617320606f626a6563746020616e642076616c7565732067656e6572617465640a20202020202a2062792072756e6e696e672065616368206f776e20656e756d657261626c6520737472696e67206b657965642070726f7065727479206f6620606f626a6563746020746872750a20202020202a20606974657261746565602e2054686520697465726174656520697320696e766f6b6564207769746820746872656520617267756d656e74733a0a20202020202a202876616c75652c206b65792c206f626a656374292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206d6170706564206f626a6563742e0a20202020202a2040736565205f2e6d61704b6579730a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d207b0a20202020202a2020202766726564273a202020207b202775736572273a202766726564272c2020202027616765273a203430207d2c0a20202020202a20202027706562626c6573273a207b202775736572273a2027706562626c6573272c2027616765273a2031207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e6d617056616c7565732875736572732c2066756e6374696f6e286f29207b2072657475726e206f2e6167653b207d293b0a20202020202a202f2f203d3e207b202766726564273a2034302c2027706562626c6573273a2031207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d617056616c7565732875736572732c202761676527293b0a20202020202a202f2f203d3e207b202766726564273a2034302c2027706562626c6573273a2031207d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e206d617056616c756573286f626a6563742c20697465726174656529207b0a20202020202076617220726573756c74203d207b7d3b0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2033293b0a0a20202020202062617365466f724f776e286f626a6563742c2066756e6374696f6e2876616c75652c206b65792c206f626a65637429207b0a20202020202020206261736541737369676e56616c756528726573756c742c206b65792c2069746572617465652876616c75652c206b65792c206f626a65637429293b0a2020202020207d293b0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e61737369676e60206578636570742074686174206974207265637572736976656c79206d6572676573206f776e20616e640a20202020202a20696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620736f75726365206f626a6563747320696e746f207468650a20202020202a2064657374696e6174696f6e206f626a6563742e20536f757263652070726f706572746965732074686174207265736f6c766520746f2060756e646566696e656460206172650a20202020202a20736b697070656420696620612064657374696e6174696f6e2076616c7565206578697374732e20417272617920616e6420706c61696e206f626a6563742070726f706572746965730a20202020202a20617265206d6572676564207265637572736976656c792e204f74686572206f626a6563747320616e642076616c756520747970657320617265206f76657272696464656e2062790a20202020202a2061737369676e6d656e742e20536f75726365206f626a6563747320617265206170706c6965642066726f6d206c65667420746f2072696768742e2053756273657175656e740a20202020202a20736f7572636573206f76657277726974652070726f70657274792061737369676e6d656e7473206f662070726576696f757320736f75726365732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e352e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d205b736f75726365735d2054686520736f75726365206f626a656374732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b0a20202020202a2020202761273a205b7b202762273a2032207d2c207b202764273a2034207d5d0a20202020202a207d3b0a20202020202a0a20202020202a20766172206f74686572203d207b0a20202020202a2020202761273a205b7b202763273a2033207d2c207b202765273a2035207d5d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e6d65726765286f626a6563742c206f74686572293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a20322c202763273a2033207d2c207b202764273a20342c202765273a2035207d5d207d0a20202020202a2f0a20202020766172206d65726765203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e64657829207b0a202020202020626173654d65726765286f626a6563742c20736f757263652c20737263496e646578293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d657267656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963680a20202020202a20697320696e766f6b656420746f2070726f6475636520746865206d65726765642076616c756573206f66207468652064657374696e6174696f6e20616e6420736f757263650a20202020202a2070726f706572746965732e2049662060637573746f6d697a6572602072657475726e732060756e646566696e6564602c206d657267696e672069732068616e646c6564206279207468650a20202020202a206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b656420776974682073697820617267756d656e74733a0a20202020202a20286f626a56616c75652c2073726356616c75652c206b65792c206f626a6563742c20736f757263652c20737461636b292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a656374205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b2e2e2e4f626a6563747d20736f75726365732054686520736f75726365206f626a656374732e0a20202020202a2040706172616d207b46756e6374696f6e7d20637573746f6d697a6572205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20637573746f6d697a6572286f626a56616c75652c2073726356616c756529207b0a20202020202a202020696620285f2e69734172726179286f626a56616c75652929207b0a20202020202a202020202072657475726e206f626a56616c75652e636f6e6361742873726356616c7565293b0a20202020202a2020207d0a20202020202a207d0a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b315d2c202762273a205b325d207d3b0a20202020202a20766172206f74686572203d207b202761273a205b335d2c202762273a205b345d207d3b0a20202020202a0a20202020202a205f2e6d6572676557697468286f626a6563742c206f746865722c20637573746f6d697a6572293b0a20202020202a202f2f203d3e207b202761273a205b312c20335d2c202762273a205b322c20345d207d0a20202020202a2f0a20202020766172206d6572676557697468203d2063726561746541737369676e65722866756e6374696f6e286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a657229207b0a202020202020626173654d65726765286f626a6563742c20736f757263652c20737263496e6465782c20637573746f6d697a6572293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e7069636b603b2074686973206d6574686f64206372656174657320616e206f626a65637420636f6d706f736564206f66207468650a20202020202a206f776e20616e6420696e6865726974656420656e756d657261626c652070726f7065727479207061746873206f6620606f626a65637460207468617420617265206e6f74206f6d69747465642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420697320636f6e736964657261626c7920736c6f776572207468616e20605f2e7069636b602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f206f6d69742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e6f6d6974286f626a6563742c205b2761272c202763275d293b0a20202020202a202f2f203d3e207b202762273a20273227207d0a20202020202a2f0a20202020766172206f6d6974203d20666c6174526573742866756e6374696f6e286f626a6563742c20706174687329207b0a20202020202076617220726573756c74203d207b7d3b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e20726573756c743b0a2020202020207d0a20202020202076617220697344656570203d2066616c73653b0a2020202020207061746873203d2061727261794d61702870617468732c2066756e6374696f6e287061746829207b0a202020202020202070617468203d20636173745061746828706174682c206f626a656374293b0a2020202020202020697344656570207c7c2028697344656570203d20706174682e6c656e677468203e2031293b0a202020202020202072657475726e20706174683b0a2020202020207d293b0a202020202020636f70794f626a656374286f626a6563742c20676574416c6c4b657973496e286f626a656374292c20726573756c74293b0a2020202020206966202869734465657029207b0a2020202020202020726573756c74203d2062617365436c6f6e6528726573756c742c20434c4f4e455f444545505f464c4147207c20434c4f4e455f464c41545f464c4147207c20434c4f4e455f53594d424f4c535f464c41472c20637573746f6d4f6d6974436c6f6e65293b0a2020202020207d0a202020202020766172206c656e677468203d2070617468732e6c656e6774683b0a2020202020207768696c6520286c656e6774682d2d29207b0a202020202020202062617365556e73657428726573756c742c2070617468735b6c656e6774685d293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e7069636b4279603b2074686973206d6574686f64206372656174657320616e206f626a65637420636f6d706f736564206f660a20202020202a20746865206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274696573206f6620606f626a6563746020746861740a20202020202a20607072656469636174656020646f65736e27742072657475726e2074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074776f0a20202020202a20617267756d656e74733a202876616c75652c206b6579292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e6f6d69744279286f626a6563742c205f2e69734e756d626572293b0a20202020202a202f2f203d3e207b202762273a20273227207d0a20202020202a2f0a2020202066756e6374696f6e206f6d69744279286f626a6563742c2070726564696361746529207b0a20202020202072657475726e207069636b4279286f626a6563742c206e6567617465286765744974657261746565287072656469636174652929293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f6620746865207069636b656420606f626a656374602070726f706572746965732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d205b70617468735d205468652070726f706572747920706174687320746f207069636b2e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e7069636b286f626a6563742c205b2761272c202763275d293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a20202020766172207069636b203d20666c6174526573742866756e6374696f6e286f626a6563742c20706174687329207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f207b7d203a20626173655069636b286f626a6563742c207061746873293b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206f626a65637420636f6d706f736564206f662074686520606f626a656374602070726f706572746965732060707265646963617465602072657475726e730a20202020202a2074727574687920666f722e205468652070726564696361746520697320696e766f6b656420776974682074776f20617267756d656e74733a202876616c75652c206b6579292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a6563742054686520736f75726365206f626a6563742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b7072656469636174653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b6564207065722070726f70657274792e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e6577206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a20312c202762273a202732272c202763273a2033207d3b0a20202020202a0a20202020202a205f2e7069636b4279286f626a6563742c205f2e69734e756d626572293b0a20202020202a202f2f203d3e207b202761273a20312c202763273a2033207d0a20202020202a2f0a2020202066756e6374696f6e207069636b4279286f626a6563742c2070726564696361746529207b0a202020202020696620286f626a656374203d3d206e756c6c29207b0a202020202020202072657475726e207b7d3b0a2020202020207d0a2020202020207661722070726f7073203d2061727261794d617028676574416c6c4b657973496e286f626a656374292c2066756e6374696f6e2870726f7029207b0a202020202020202072657475726e205b70726f705d3b0a2020202020207d293b0a202020202020707265646963617465203d20676574497465726174656528707265646963617465293b0a20202020202072657475726e20626173655069636b4279286f626a6563742c2070726f70732c2066756e6374696f6e2876616c75652c207061746829207b0a202020202020202072657475726e207072656469636174652876616c75652c20706174685b305d293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6765746020657863657074207468617420696620746865207265736f6c7665642076616c756520697320610a20202020202a2066756e6374696f6e206974277320696e766f6b6564207769746820746865206074686973602062696e64696e67206f662069747320706172656e74206f626a65637420616e640a20202020202a2069747320726573756c742069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207265736f6c76652e0a20202020202a2040706172616d207b2a7d205b64656661756c7456616c75655d205468652076616c75652072657475726e656420666f722060756e646566696e656460207265736f6c7665642076616c7565732e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b20276331273a20332c20276332273a205f2e636f6e7374616e74283429207d207d5d207d3b0a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e633127293b0a20202020202a202f2f203d3e20330a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e633227293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e6333272c202764656661756c7427293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a0a20202020202a205f2e726573756c74286f626a6563742c2027615b305d2e622e6333272c205f2e636f6e7374616e74282764656661756c742729293b0a20202020202a202f2f203d3e202764656661756c74270a20202020202a2f0a2020202066756e6374696f6e20726573756c74286f626a6563742c20706174682c2064656661756c7456616c756529207b0a20202020202070617468203d20636173745061746828706174682c206f626a656374293b0a0a20202020202076617220696e646578203d202d312c0a202020202020202020206c656e677468203d20706174682e6c656e6774683b0a0a2020202020202f2f20456e7375726520746865206c6f6f7020697320656e7465726564207768656e207061746820697320656d7074792e0a20202020202069662028216c656e67746829207b0a20202020202020206c656e677468203d20313b0a20202020202020206f626a656374203d20756e646566696e65643b0a2020202020207d0a2020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a20202020202020207661722076616c7565203d206f626a656374203d3d206e756c6c203f20756e646566696e6564203a206f626a6563745b746f4b657928706174685b696e6465785d295d3b0a20202020202020206966202876616c7565203d3d3d20756e646566696e656429207b0a20202020202020202020696e646578203d206c656e6774683b0a2020202020202020202076616c7565203d2064656661756c7456616c75653b0a20202020202020207d0a20202020202020206f626a656374203d20697346756e6374696f6e2876616c756529203f2076616c75652e63616c6c286f626a65637429203a2076616c75653b0a2020202020207d0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a2053657473207468652076616c756520617420607061746860206f6620606f626a656374602e204966206120706f7274696f6e206f662060706174686020646f65736e27742065786973742c0a20202020202a206974277320637265617465642e2041727261797320617265206372656174656420666f72206d697373696e6720696e6465782070726f70657274696573207768696c65206f626a656374730a20202020202a20617265206372656174656420666f7220616c6c206f74686572206d697373696e672070726f706572746965732e2055736520605f2e736574576974686020746f20637573746f6d697a650a20202020202a20607061746860206372656174696f6e2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e736574286f626a6563742c2027615b305d2e622e63272c2034293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e615b305d2e622e63293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e736574286f626a6563742c205b2778272c202730272c202779272c20277a275d2c2035293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e785b305d2e792e7a293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e20736574286f626a6563742c20706174682c2076616c756529207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365536574286f626a6563742c20706174682c2076616c7565293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7365746020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963682069730a20202020202a20696e766f6b656420746f2070726f6475636520746865206f626a65637473206f66206070617468602e202049662060637573746f6d697a6572602072657475726e732060756e646566696e6564600a20202020202a2070617468206372656174696f6e2069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a20286e7356616c75652c206b65792c206e734f626a656374292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b7d3b0a20202020202a0a20202020202a205f2e73657457697468286f626a6563742c20275b305d5b315d272c202761272c204f626a656374293b0a20202020202a202f2f203d3e207b202730273a207b202731273a20276127207d207d0a20202020202a2f0a2020202066756e6374696f6e2073657457697468286f626a6563742c20706174682c2076616c75652c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365536574286f626a6563742c20706174682c2076616c75652c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20656e756d657261626c6520737472696e67206b657965642d76616c756520706169727320666f7220606f626a656374600a20202020202a2077686963682063616e20626520636f6e73756d656420627920605f2e66726f6d5061697273602e20496620606f626a656374602069732061206d6170206f72207365742c206974730a20202020202a20656e7472696573206172652072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320656e74726965730a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e746f5061697273286e657720466f6f293b0a20202020202a202f2f203d3e205b5b2761272c20315d2c205b2762272c20325d5d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202076617220746f5061697273203d20637265617465546f5061697273286b657973293b0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642d76616c75652070616972730a20202020202a20666f7220606f626a656374602077686963682063616e20626520636f6e73756d656420627920605f2e66726f6d5061697273602e20496620606f626a656374602069732061206d61700a20202020202a206f72207365742c2069747320656e7472696573206172652072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a2040616c69617320656e7472696573496e0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206b65792d76616c75652070616972732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e746f5061697273496e286e657720466f6f293b0a20202020202a202f2f203d3e205b5b2761272c20315d2c205b2762272c20325d2c205b2763272c20335d5d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202076617220746f5061697273496e203d20637265617465546f5061697273286b657973496e293b0a0a202020202f2a2a0a20202020202a20416e20616c7465726e617469766520746f20605f2e726564756365603b2074686973206d6574686f64207472616e73666f726d7320606f626a6563746020746f2061206e65770a20202020202a2060616363756d756c61746f7260206f626a6563742077686963682069732074686520726573756c74206f662072756e6e696e672065616368206f6620697473206f776e0a20202020202a20656e756d657261626c6520737472696e67206b657965642070726f70657274696573207468727520606974657261746565602c2077697468206561636820696e766f636174696f6e0a20202020202a20706f74656e7469616c6c79206d75746174696e67207468652060616363756d756c61746f7260206f626a6563742e2049662060616363756d756c61746f7260206973206e6f740a20202020202a2070726f76696465642c2061206e6577206f626a6563742077697468207468652073616d6520605b5b50726f746f747970655d5d602077696c6c20626520757365642e205468650a20202020202a20697465726174656520697320696e766f6b6564207769746820666f757220617267756d656e74733a2028616363756d756c61746f722c2076616c75652c206b65792c206f626a656374292e0a20202020202a2049746572617465652066756e6374696f6e73206d6179206578697420697465726174696f6e206561726c79206279206578706c696369746c792072657475726e696e67206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e332e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a2040706172616d207b2a7d205b616363756d756c61746f725d2054686520637573746f6d20616363756d756c61746f722076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e732074686520616363756d756c617465642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472616e73666f726d285b322c20332c20345d2c2066756e6374696f6e28726573756c742c206e29207b0a20202020202a202020726573756c742e70757368286e202a3d206e293b0a20202020202a20202072657475726e206e20252032203d3d20303b0a20202020202a207d2c205b5d293b0a20202020202a202f2f203d3e205b342c20395d0a20202020202a0a20202020202a205f2e7472616e73666f726d287b202761273a20312c202762273a20322c202763273a2031207d2c2066756e6374696f6e28726573756c742c2076616c75652c206b657929207b0a20202020202a20202028726573756c745b76616c75655d207c7c2028726573756c745b76616c75655d203d205b5d29292e70757368286b6579293b0a20202020202a207d2c207b7d293b0a20202020202a202f2f203d3e207b202731273a205b2761272c202763275d2c202732273a205b2762275d207d0a20202020202a2f0a2020202066756e6374696f6e207472616e73666f726d286f626a6563742c2069746572617465652c20616363756d756c61746f7229207b0a202020202020766172206973417272203d2069734172726179286f626a656374292c0a2020202020202020202069734172724c696b65203d206973417272207c7c206973427566666572286f626a65637429207c7c20697354797065644172726179286f626a656374293b0a0a2020202020206974657261746565203d2067657449746572617465652869746572617465652c2034293b0a20202020202069662028616363756d756c61746f72203d3d206e756c6c29207b0a20202020202020207661722043746f72203d206f626a656374202626206f626a6563742e636f6e7374727563746f723b0a20202020202020206966202869734172724c696b6529207b0a20202020202020202020616363756d756c61746f72203d206973417272203f206e65772043746f72203a205b5d3b0a20202020202020207d0a2020202020202020656c7365206966202869734f626a656374286f626a6563742929207b0a20202020202020202020616363756d756c61746f72203d20697346756e6374696f6e2843746f7229203f20626173654372656174652867657450726f746f74797065286f626a6563742929203a207b7d3b0a20202020202020207d0a2020202020202020656c7365207b0a20202020202020202020616363756d756c61746f72203d207b7d3b0a20202020202020207d0a2020202020207d0a2020202020202869734172724c696b65203f20617272617945616368203a2062617365466f724f776e29286f626a6563742c2066756e6374696f6e2876616c75652c20696e6465782c206f626a65637429207b0a202020202020202072657475726e20697465726174656528616363756d756c61746f722c2076616c75652c20696e6465782c206f626a656374293b0a2020202020207d293b0a20202020202072657475726e20616363756d756c61746f723b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573207468652070726f706572747920617420607061746860206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f20756e7365742e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e7320607472756560206966207468652070726f70657274792069732064656c657465642c20656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2037207d207d5d207d3b0a20202020202a205f2e756e736574286f626a6563742c2027615b305d2e622e6327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a207b7d207d5d207d3b0a20202020202a0a20202020202a205f2e756e736574286f626a6563742c205b2761272c202730272c202762272c202763275d293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374293b0a20202020202a202f2f203d3e207b202761273a205b7b202762273a207b7d207d5d207d3b0a20202020202a2f0a2020202066756e6374696f6e20756e736574286f626a6563742c207061746829207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f2074727565203a2062617365556e736574286f626a6563742c2070617468293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7365746020657863657074207468617420616363657074732060757064617465726020746f2070726f64756365207468650a20202020202a2076616c756520746f207365742e2055736520605f2e757064617465576974686020746f20637573746f6d697a6520607061746860206372656174696f6e2e20546865206075706461746572600a20202020202a20697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a205b7b202762273a207b202763273a2033207d207d5d207d3b0a20202020202a0a20202020202a205f2e757064617465286f626a6563742c2027615b305d2e622e63272c2066756e6374696f6e286e29207b2072657475726e206e202a206e3b207d293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e615b305d2e622e63293b0a20202020202a202f2f203d3e20390a20202020202a0a20202020202a205f2e757064617465286f626a6563742c2027785b305d2e792e7a272c2066756e6374696f6e286e29207b2072657475726e206e203f206e202b2031203a20303b207d293b0a20202020202a20636f6e736f6c652e6c6f67286f626a6563742e785b305d2e792e7a293b0a20202020202a202f2f203d3e20300a20202020202a2f0a2020202066756e6374696f6e20757064617465286f626a6563742c20706174682c207570646174657229207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365557064617465286f626a6563742c20706174682c206361737446756e6374696f6e287570646174657229293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e7570646174656020657863657074207468617420697420616363657074732060637573746f6d697a6572602077686963682069730a20202020202a20696e766f6b656420746f2070726f6475636520746865206f626a65637473206f66206070617468602e202049662060637573746f6d697a6572602072657475726e732060756e646566696e6564600a20202020202a2070617468206372656174696f6e2069732068616e646c656420627920746865206d6574686f6420696e73746561642e205468652060637573746f6d697a65726020697320696e766f6b65640a20202020202a207769746820746872656520617267756d656e74733a20286e7356616c75652c206b65792c206e734f626a656374292e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206d75746174657320606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e362e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f206d6f646966792e0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f207365742e0a20202020202a2040706172616d207b46756e6374696f6e7d2075706461746572205468652066756e6374696f6e20746f2070726f647563652074686520757064617465642076616c75652e0a20202020202a2040706172616d207b46756e6374696f6e7d205b637573746f6d697a65725d205468652066756e6374696f6e20746f20637573746f6d697a652061737369676e65642076616c7565732e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b7d3b0a20202020202a0a20202020202a205f2e75706461746557697468286f626a6563742c20275b305d5b315d272c205f2e636f6e7374616e7428276127292c204f626a656374293b0a20202020202a202f2f203d3e207b202730273a207b202731273a20276127207d207d0a20202020202a2f0a2020202066756e6374696f6e2075706461746557697468286f626a6563742c20706174682c20757064617465722c20637573746f6d697a657229207b0a202020202020637573746f6d697a6572203d20747970656f6620637573746f6d697a6572203d3d202766756e6374696f6e27203f20637573746f6d697a6572203a20756e646566696e65643b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f206f626a656374203a2062617365557064617465286f626a6563742c20706174682c206361737446756e6374696f6e2875706461746572292c20637573746f6d697a6572293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20656e756d657261626c6520737472696e67206b657965642070726f70657274792076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e76616c756573286e657720466f6f293b0a20202020202a202f2f203d3e205b312c20325d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a0a20202020202a205f2e76616c7565732827686927293b0a20202020202a202f2f203d3e205b2768272c202769275d0a20202020202a2f0a2020202066756e6374696f6e2076616c756573286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736556616c756573286f626a6563742c206b657973286f626a65637429293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f6620746865206f776e20616e6420696e6865726974656420656e756d657261626c6520737472696e67206b657965642070726f70657274790a20202020202a2076616c756573206f6620606f626a656374602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f6e2d6f626a6563742076616c7565732061726520636f657263656420746f206f626a656374732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279204f626a6563740a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f662070726f70657274792076616c7565732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20466f6f2829207b0a20202020202a202020746869732e61203d20313b0a20202020202a202020746869732e62203d20323b0a20202020202a207d0a20202020202a0a20202020202a20466f6f2e70726f746f747970652e63203d20333b0a20202020202a0a20202020202a205f2e76616c756573496e286e657720466f6f293b0a20202020202a202f2f203d3e205b312c20322c20335d2028697465726174696f6e206f72646572206973206e6f742067756172616e74656564290a20202020202a2f0a2020202066756e6374696f6e2076616c756573496e286f626a65637429207b0a20202020202072657475726e206f626a656374203d3d206e756c6c203f205b5d203a206261736556616c756573286f626a6563742c206b657973496e286f626a65637429293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20436c616d707320606e756d626572602077697468696e2074686520696e636c757369766520606c6f7765726020616e64206075707065726020626f756e64732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636c616d702e0a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765725d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d2075707065722054686520757070657220626f756e642e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636c616d706564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e636c616d70282d31302c202d352c2035293b0a20202020202a202f2f203d3e202d350a20202020202a0a20202020202a205f2e636c616d702831302c202d352c2035293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e20636c616d70286e756d6265722c206c6f7765722c20757070657229207b0a202020202020696620287570706572203d3d3d20756e646566696e656429207b0a20202020202020207570706572203d206c6f7765723b0a20202020202020206c6f776572203d20756e646566696e65643b0a2020202020207d0a20202020202069662028757070657220213d3d20756e646566696e656429207b0a20202020202020207570706572203d20746f4e756d626572287570706572293b0a20202020202020207570706572203d207570706572203d3d3d207570706572203f207570706572203a20303b0a2020202020207d0a202020202020696620286c6f77657220213d3d20756e646566696e656429207b0a20202020202020206c6f776572203d20746f4e756d626572286c6f776572293b0a20202020202020206c6f776572203d206c6f776572203d3d3d206c6f776572203f206c6f776572203a20303b0a2020202020207d0a20202020202072657475726e2062617365436c616d7028746f4e756d626572286e756d626572292c206c6f7765722c207570706572293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b7320696620606e60206973206265747765656e206073746172746020616e6420757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e2049660a20202020202a2060656e6460206973206e6f74207370656369666965642c20697427732073657420746f206073746172746020776974682060737461727460207468656e2073657420746f206030602e0a20202020202a20496620607374617274602069732067726561746572207468616e2060656e64602074686520706172616d7320617265207377617070656420746f20737570706f72740a20202020202a206e656761746976652072616e6765732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e332e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20636865636b2e0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e732060747275656020696620606e756d6265726020697320696e207468652072616e67652c20656c7365206066616c7365602e0a20202020202a2040736565205f2e72616e67652c205f2e72616e676552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e696e52616e676528332c20322c2034293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528342c2038293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528342c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e676528322c2032293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e676528312e322c2032293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e696e52616e676528352e322c2034293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e696e52616e6765282d332c202d322c202d36293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20696e52616e6765286e756d6265722c2073746172742c20656e6429207b0a2020202020207374617274203d20746f46696e697465287374617274293b0a20202020202069662028656e64203d3d3d20756e646566696e656429207b0a2020202020202020656e64203d2073746172743b0a20202020202020207374617274203d20303b0a2020202020207d20656c7365207b0a2020202020202020656e64203d20746f46696e69746528656e64293b0a2020202020207d0a2020202020206e756d626572203d20746f4e756d626572286e756d626572293b0a20202020202072657475726e2062617365496e52616e6765286e756d6265722c2073746172742c20656e64293b0a202020207d0a0a202020202f2a2a0a20202020202a2050726f647563657320612072616e646f6d206e756d626572206265747765656e2074686520696e636c757369766520606c6f7765726020616e64206075707065726020626f756e64732e0a20202020202a204966206f6e6c79206f6e6520617267756d656e742069732070726f76696465642061206e756d626572206265747765656e2060306020616e642074686520676976656e206e756d6265720a20202020202a2069732072657475726e65642e2049662060666c6f6174696e6760206973206074727565602c206f722065697468657220606c6f77657260206f722060757070657260206172650a20202020202a20666c6f6174732c206120666c6f6174696e672d706f696e74206e756d6265722069732072657475726e656420696e7374656164206f6620616e20696e74656765722e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204a61766153637269707420666f6c6c6f77732074686520494545452d373534207374616e6461726420666f72207265736f6c76696e670a20202020202a20666c6f6174696e672d706f696e742076616c7565732077686963682063616e2070726f6475636520756e657870656374656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e372e300a20202020202a204063617465676f7279204e756d6265720a20202020202a2040706172616d207b6e756d6265727d205b6c6f7765723d305d20546865206c6f77657220626f756e642e0a20202020202a2040706172616d207b6e756d6265727d205b75707065723d315d2054686520757070657220626f756e642e0a20202020202a2040706172616d207b626f6f6c65616e7d205b666c6f6174696e675d20537065636966792072657475726e696e67206120666c6f6174696e672d706f696e74206e756d6265722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652072616e646f6d206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e646f6d28302c2035293b0a20202020202a202f2f203d3e20616e20696e7465676572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d2835293b0a20202020202a202f2f203d3e20616c736f20616e20696e7465676572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d28352c2074727565293b0a20202020202a202f2f203d3e206120666c6f6174696e672d706f696e74206e756d626572206265747765656e203020616e6420350a20202020202a0a20202020202a205f2e72616e646f6d28312e322c20352e32293b0a20202020202a202f2f203d3e206120666c6f6174696e672d706f696e74206e756d626572206265747765656e20312e3220616e6420352e320a20202020202a2f0a2020202066756e6374696f6e2072616e646f6d286c6f7765722c2075707065722c20666c6f6174696e6729207b0a20202020202069662028666c6f6174696e6720262620747970656f6620666c6f6174696e6720213d2027626f6f6c65616e27202626206973497465726174656543616c6c286c6f7765722c2075707065722c20666c6f6174696e672929207b0a20202020202020207570706572203d20666c6f6174696e67203d20756e646566696e65643b0a2020202020207d0a20202020202069662028666c6f6174696e67203d3d3d20756e646566696e656429207b0a202020202020202069662028747970656f66207570706572203d3d2027626f6f6c65616e2729207b0a20202020202020202020666c6f6174696e67203d2075707065723b0a202020202020202020207570706572203d20756e646566696e65643b0a20202020202020207d0a2020202020202020656c73652069662028747970656f66206c6f776572203d3d2027626f6f6c65616e2729207b0a20202020202020202020666c6f6174696e67203d206c6f7765723b0a202020202020202020206c6f776572203d20756e646566696e65643b0a20202020202020207d0a2020202020207d0a202020202020696620286c6f776572203d3d3d20756e646566696e6564202626207570706572203d3d3d20756e646566696e656429207b0a20202020202020206c6f776572203d20303b0a20202020202020207570706572203d20313b0a2020202020207d0a202020202020656c7365207b0a20202020202020206c6f776572203d20746f46696e697465286c6f776572293b0a2020202020202020696620287570706572203d3d3d20756e646566696e656429207b0a202020202020202020207570706572203d206c6f7765723b0a202020202020202020206c6f776572203d20303b0a20202020202020207d20656c7365207b0a202020202020202020207570706572203d20746f46696e697465287570706572293b0a20202020202020207d0a2020202020207d0a202020202020696620286c6f776572203e20757070657229207b0a20202020202020207661722074656d70203d206c6f7765723b0a20202020202020206c6f776572203d2075707065723b0a20202020202020207570706572203d2074656d703b0a2020202020207d0a20202020202069662028666c6f6174696e67207c7c206c6f77657220252031207c7c2075707065722025203129207b0a20202020202020207661722072616e64203d206e617469766552616e646f6d28293b0a202020202020202072657475726e206e61746976654d696e286c6f776572202b202872616e64202a20287570706572202d206c6f776572202b20667265655061727365466c6f6174282731652d27202b20282872616e64202b202727292e6c656e677468202d2031292929292c207570706572293b0a2020202020207d0a20202020202072657475726e206261736552616e646f6d286c6f7765722c207570706572293b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f205b63616d656c20636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f43616d656c43617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652063616d656c20636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e63616d656c436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a0a20202020202a205f2e63616d656c4361736528272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a0a20202020202a205f2e63616d656c4361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f426172270a20202020202a2f0a202020207661722063616d656c43617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a202020202020776f7264203d20776f72642e746f4c6f7765724361736528293b0a20202020202072657475726e20726573756c74202b2028696e646578203f206361706974616c697a6528776f726429203a20776f7264293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f207570706572206361736520616e64207468652072656d61696e696e670a20202020202a20746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206361706974616c697a652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206361706974616c697a656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6361706974616c697a6528274652454427293b0a20202020202a202f2f203d3e202746726564270a20202020202a2f0a2020202066756e6374696f6e206361706974616c697a6528737472696e6729207b0a20202020202072657475726e207570706572466972737428746f537472696e6728737472696e67292e746f4c6f776572436173652829293b0a202020207d0a0a202020202f2a2a0a20202020202a20446562757272732060737472696e676020627920636f6e76657274696e670a20202020202a205b4c6174696e2d3120537570706c656d656e745d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c6174696e2d315f537570706c656d656e745f28556e69636f64655f626c6f636b29234368617261637465725f7461626c65290a20202020202a20616e64205b4c6174696e20457874656e6465642d415d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c6174696e5f457874656e6465642d41290a20202020202a206c65747465727320746f206261736963204c6174696e206c65747465727320616e642072656d6f76696e670a20202020202a205b636f6d62696e696e6720646961637269746963616c206d61726b735d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f436f6d62696e696e675f446961637269746963616c5f4d61726b73292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206465627572722e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520646562757272656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e646562757272282764c3a96ac3a020767527293b0a20202020202a202f2f203d3e202764656a61207675270a20202020202a2f0a2020202066756e6374696f6e2064656275727228737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e20737472696e6720262620737472696e672e7265706c6163652872654c6174696e2c206465627572724c6574746572292e7265706c616365287265436f6d626f4d61726b2c202727293b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b732069662060737472696e676020656e647320776974682074686520676976656e2074617267657420737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d205b7461726765745d2054686520737472696e6720746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b706f736974696f6e3d737472696e672e6c656e6774685d2054686520706f736974696f6e20746f2073656172636820757020746f2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662060737472696e676020656e647320776974682060746172676574602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c20276327293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e656e6473576974682827616263272c202762272c2032293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20656e64735769746828737472696e672c207461726765742c20706f736974696f6e29207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a202020202020746172676574203d2062617365546f537472696e6728746172676574293b0a0a202020202020766172206c656e677468203d20737472696e672e6c656e6774683b0a202020202020706f736974696f6e203d20706f736974696f6e203d3d3d20756e646566696e65640a20202020202020203f206c656e6774680a20202020202020203a2062617365436c616d7028746f496e746567657228706f736974696f6e292c20302c206c656e677468293b0a0a20202020202076617220656e64203d20706f736974696f6e3b0a202020202020706f736974696f6e202d3d207461726765742e6c656e6774683b0a20202020202072657475726e20706f736974696f6e203e3d203020262620737472696e672e736c69636528706f736974696f6e2c20656e6429203d3d207461726765743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473207468652063686172616374657273202226222c20223c222c20223e222c202722272c20616e642022272220696e2060737472696e676020746f2074686569720a20202020202a20636f72726573706f6e64696e672048544d4c20656e7469746965732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f206f7468657220636861726163746572732061726520657363617065642e20546f20657363617065206164646974696f6e616c0a20202020202a20636861726163746572732075736520612074686972642d7061727479206c696272617279206c696b65205b5f68655f5d2868747470733a2f2f6d7468732e62652f6865292e0a20202020202a0a20202020202a2054686f7567682074686520223e2220636861726163746572206973206573636170656420666f722073796d6d657472792c2063686172616374657273206c696b650a20202020202a20223e2220616e6420222f2220646f6e2774206e656564206573636170696e6720696e2048544d4c20616e642068617665206e6f207370656369616c206d65616e696e670a20202020202a20756e6c65737320746865792772652070617274206f66206120746167206f7220756e71756f746564206174747269627574652076616c75652e205365650a20202020202a205b4d6174686961732042796e656e7327732061727469636c655d2868747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f616d626967756f75732d616d70657273616e6473290a20202020202a2028756e646572202273656d692d72656c617465642066756e2066616374222920666f72206d6f72652064657461696c732e0a20202020202a0a20202020202a205768656e20776f726b696e6720776974682048544d4c20796f752073686f756c6420616c776179730a20202020202a205b71756f7465206174747269627574652076616c7565735d28687474703a2f2f776f6e6b6f2e636f6d2f706f73742f68746d6c2d6573636170696e672920746f207265647563650a20202020202a2058535320766563746f72732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6573636170652827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e2027667265642c206261726e65792c2026616d703b20706562626c6573270a20202020202a2f0a2020202066756e6374696f6e2065736361706528737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e67202626207265486173556e6573636170656448746d6c2e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c616365287265556e6573636170656448746d6c2c2065736361706548746d6c43686172290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a204573636170657320746865206052656745787060207370656369616c206368617261637465727320225e222c202224222c20225c222c20222e222c20222a222c20222b222c0a20202020202a20223f222c202228222c202229222c20225b222c20225d222c20227b222c20227d222c20616e6420227c2220696e2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e65736361706552656745787028275b6c6f646173685d2868747470733a2f2f6c6f646173682e636f6d2f2927293b0a20202020202a202f2f203d3e20275c5b6c6f646173685c5d5c2868747470733a2f2f6c6f646173685c2e636f6d2f5c29270a20202020202a2f0a2020202066756e6374696f6e2065736361706552656745787028737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e67202626207265486173526567457870436861722e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c616365287265526567457870436861722c20275c5c242627290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b6b6562616220636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c65747465725f63617365235370656369616c5f636173655f7374796c6573292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206b6562616220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6b65626162436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a0a20202020202a205f2e6b65626162436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a0a20202020202a205f2e6b656261624361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f2d626172270a20202020202a2f0a20202020766172206b6562616243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272d27203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c2061732073706163652073657061726174656420776f7264732c20746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206c6f77657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c6f7765724361736528272d2d466f6f2d4261722d2d27293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a0a20202020202a205f2e6c6f776572436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a0a20202020202a205f2e6c6f7765724361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027666f6f20626172270a20202020202a2f0a20202020766172206c6f77657243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f206c6f77657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6c6f776572466972737428274672656427293b0a20202020202a202f2f203d3e202766726564270a20202020202a0a20202020202a205f2e6c6f776572466972737428274652454427293b0a20202020202a202f2f203d3e202766524544270a20202020202a2f0a20202020766172206c6f7765724669727374203d206372656174654361736546697273742827746f4c6f7765724361736527293b0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865206c65667420616e6420726967687420736964657320696620697427732073686f72746572207468616e20606c656e677468602e0a20202020202a2050616464696e67206368617261637465727320617265207472756e636174656420696620746865792063616e2774206265206576656e6c79206469766964656420627920606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7061642827616263272c2038293b0a20202020202a202f2f203d3e20272020616263202020270a20202020202a0a20202020202a205f2e7061642827616263272c20382c20275f2d27293b0a20202020202a202f2f203d3e20275f2d6162635f2d5f270a20202020202a0a20202020202a205f2e7061642827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e2070616428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202069662028216c656e677468207c7c207374724c656e677468203e3d206c656e67746829207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a202020202020766172206d6964203d20286c656e677468202d207374724c656e67746829202f20323b0a20202020202072657475726e20280a202020202020202063726561746550616464696e67286e6174697665466c6f6f72286d6964292c20636861727329202b0a2020202020202020737472696e67202b0a202020202020202063726561746550616464696e67286e61746976654365696c286d6964292c206368617273290a202020202020293b0a202020207d0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865207269676874207369646520696620697427732073686f72746572207468616e20606c656e677468602e2050616464696e670a20202020202a206368617261637465727320617265207472756e636174656420696620746865792065786365656420606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e706164456e642827616263272c2036293b0a20202020202a202f2f203d3e2027616263202020270a20202020202a0a20202020202a205f2e706164456e642827616263272c20362c20275f2d27293b0a20202020202a202f2f203d3e20276162635f2d5f270a20202020202a0a20202020202a205f2e706164456e642827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e20706164456e6428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202072657475726e20286c656e677468202626207374724c656e677468203c206c656e677468290a20202020202020203f2028737472696e67202b2063726561746550616464696e67286c656e677468202d207374724c656e6774682c20636861727329290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20506164732060737472696e6760206f6e20746865206c656674207369646520696620697427732073686f72746572207468616e20606c656e677468602e2050616464696e670a20202020202a206368617261637465727320617265207472756e636174656420696620746865792065786365656420606c656e677468602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207061642e0a20202020202a2040706172616d207b6e756d6265727d205b6c656e6774683d305d205468652070616464696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b63686172733d2720275d2054686520737472696e6720757365642061732070616464696e672e0a20202020202a204072657475726e73207b737472696e677d2052657475726e73207468652070616464656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e70616453746172742827616263272c2036293b0a20202020202a202f2f203d3e2027202020616263270a20202020202a0a20202020202a205f2e70616453746172742827616263272c20362c20275f2d27293b0a20202020202a202f2f203d3e20275f2d5f616263270a20202020202a0a20202020202a205f2e70616453746172742827616263272c2033293b0a20202020202a202f2f203d3e2027616263270a20202020202a2f0a2020202066756e6374696f6e20706164537461727428737472696e672c206c656e6774682c20636861727329207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206c656e677468203d20746f496e7465676572286c656e677468293b0a0a202020202020766172207374724c656e677468203d206c656e677468203f20737472696e6753697a6528737472696e6729203a20303b0a20202020202072657475726e20286c656e677468202626207374724c656e677468203c206c656e677468290a20202020202020203f202863726561746550616464696e67286c656e677468202d207374724c656e6774682c20636861727329202b20737472696e67290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f20616e20696e7465676572206f6620746865207370656369666965642072616469782e20496620607261646978602069730a20202020202a2060756e646566696e656460206f72206030602c20612060726164697860206f662060313060206973207573656420756e6c657373206076616c75656020697320610a20202020202a2068657861646563696d616c2c20696e207768696368206361736520612060726164697860206f66206031366020697320757365642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420616c69676e732077697468207468650a20202020202a205b45533520696d706c656d656e746174696f6e5d2868747470733a2f2f6573352e6769746875622e696f2f237831352e312e322e3229206f6620607061727365496e74602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520312e312e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d20737472696e672054686520737472696e6720746f20636f6e766572742e0a20202020202a2040706172616d207b6e756d6265727d205b72616469783d31305d2054686520726164697820746f20696e74657270726574206076616c7565602062792e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520636f6e76657274656420696e74656765722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7061727365496e742827303827293b0a20202020202a202f2f203d3e20380a20202020202a0a20202020202a205f2e6d6170285b2736272c20273038272c20273130275d2c205f2e7061727365496e74293b0a20202020202a202f2f203d3e205b362c20382c2031305d0a20202020202a2f0a2020202066756e6374696f6e207061727365496e7428737472696e672c2072616469782c20677561726429207b0a202020202020696620286775617264207c7c207261646978203d3d206e756c6c29207b0a20202020202020207261646978203d20303b0a2020202020207d20656c73652069662028726164697829207b0a20202020202020207261646978203d202b72616469783b0a2020202020207d0a20202020202072657475726e206e61746976655061727365496e7428746f537472696e6728737472696e67292e7265706c6163652872655472696d53746172742c202727292c207261646978207c7c2030293b0a202020207d0a0a202020202f2a2a0a20202020202a20526570656174732074686520676976656e20737472696e6720606e602074696d65732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207265706561742e0a20202020202a2040706172616d207b6e756d6265727d205b6e3d315d20546865206e756d626572206f662074696d657320746f207265706561742074686520737472696e672e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520726570656174656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72657065617428272a272c2033293b0a20202020202a202f2f203d3e20272a2a2a270a20202020202a0a20202020202a205f2e7265706561742827616263272c2032293b0a20202020202a202f2f203d3e2027616263616263270a20202020202a0a20202020202a205f2e7265706561742827616263272c2030293b0a20202020202a202f2f203d3e2027270a20202020202a2f0a2020202066756e6374696f6e2072657065617428737472696e672c206e2c20677561726429207b0a20202020202069662028286775617264203f206973497465726174656543616c6c28737472696e672c206e2c20677561726429203a206e203d3d3d20756e646566696e65642929207b0a20202020202020206e203d20313b0a2020202020207d20656c7365207b0a20202020202020206e203d20746f496e7465676572286e293b0a2020202020207d0a20202020202072657475726e206261736552657065617428746f537472696e6728737472696e67292c206e293b0a202020207d0a0a202020202f2a2a0a20202020202a205265706c61636573206d61746368657320666f7220607061747465726e6020696e2060737472696e6760207769746820607265706c6163656d656e74602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60537472696e67237265706c616365605d2868747470733a2f2f6d646e2e696f2f537472696e672f7265706c616365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f206d6f646966792e0a20202020202a2040706172616d207b5265674578707c737472696e677d207061747465726e20546865207061747465726e20746f207265706c6163652e0a20202020202a2040706172616d207b46756e6374696f6e7c737472696e677d207265706c6163656d656e7420546865206d61746368207265706c6163656d656e742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206d6f64696669656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7265706c616365282748692046726564272c202746726564272c20274261726e657927293b0a20202020202a202f2f203d3e20274869204261726e6579270a20202020202a2f0a2020202066756e6374696f6e207265706c6163652829207b0a2020202020207661722061726773203d20617267756d656e74732c0a20202020202020202020737472696e67203d20746f537472696e6728617267735b305d293b0a0a20202020202072657475726e20617267732e6c656e677468203c2033203f20737472696e67203a20737472696e672e7265706c61636528617267735b315d2c20617267735b325d293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b736e616b6520636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f536e616b655f63617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520736e616b6520636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e736e616b65436173652827466f6f2042617227293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a0a20202020202a205f2e736e616b65436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a0a20202020202a205f2e736e616b654361736528272d2d464f4f2d4241522d2d27293b0a20202020202a202f2f203d3e2027666f6f5f626172270a20202020202a2f0a2020202076617220736e616b6543617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20275f27203a20272729202b20776f72642e746f4c6f7765724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a2053706c6974732060737472696e67602062792060736570617261746f72602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f64206973206261736564206f6e0a20202020202a205b60537472696e672373706c6974605d2868747470733a2f2f6d646e2e696f2f537472696e672f73706c6974292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f2073706c69742e0a20202020202a2040706172616d207b5265674578707c737472696e677d20736570617261746f722054686520736570617261746f72207061747465726e20746f2073706c69742062792e0a20202020202a2040706172616d207b6e756d6265727d205b6c696d69745d20546865206c656e67746820746f207472756e6361746520726573756c747320746f2e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520737472696e67207365676d656e74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73706c69742827612d622d63272c20272d272c2032293b0a20202020202a202f2f203d3e205b2761272c202762275d0a20202020202a2f0a2020202066756e6374696f6e2073706c697428737472696e672c20736570617261746f722c206c696d697429207b0a202020202020696620286c696d697420262620747970656f66206c696d697420213d20276e756d62657227202626206973497465726174656543616c6c28737472696e672c20736570617261746f722c206c696d69742929207b0a2020202020202020736570617261746f72203d206c696d6974203d20756e646566696e65643b0a2020202020207d0a2020202020206c696d6974203d206c696d6974203d3d3d20756e646566696e6564203f204d41585f41525241595f4c454e475448203a206c696d6974203e3e3e20303b0a20202020202069662028216c696d697429207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620280a202020202020202020202020747970656f6620736570617261746f72203d3d2027737472696e6727207c7c0a20202020202020202020202028736570617261746f7220213d206e756c6c2026262021697352656745787028736570617261746f7229290a202020202020202020202929207b0a2020202020202020736570617261746f72203d2062617365546f537472696e6728736570617261746f72293b0a20202020202020206966202821736570617261746f7220262620686173556e69636f646528737472696e672929207b0a2020202020202020202072657475726e2063617374536c69636528737472696e67546f417272617928737472696e67292c20302c206c696d6974293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20737472696e672e73706c697428736570617261746f722c206c696d6974293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e676020746f0a20202020202a205b737461727420636173655d2868747470733a2f2f656e2e77696b6970656469612e6f72672f77696b692f4c65747465725f63617365235374796c69737469635f6f725f7370656369616c697365645f7573616765292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e312e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520737461727420636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73746172744361736528272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e2027466f6f20426172270a20202020202a0a20202020202a205f2e7374617274436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027466f6f20426172270a20202020202a0a20202020202a205f2e73746172744361736528275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a2f0a2020202076617220737461727443617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b207570706572466972737428776f7264293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436865636b732069662060737472696e67602073746172747320776974682074686520676976656e2074617267657420737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b737472696e677d205b7461726765745d2054686520737472696e6720746f2073656172636820666f722e0a20202020202a2040706172616d207b6e756d6265727d205b706f736974696f6e3d305d2054686520706f736974696f6e20746f207365617263682066726f6d2e0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602069662060737472696e67602073746172747320776974682060746172676574602c0a20202020202a2020656c7365206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c20276127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c20276227293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a205f2e737461727473576974682827616263272c202762272c2031293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e207374617274735769746828737472696e672c207461726765742c20706f736974696f6e29207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a202020202020706f736974696f6e203d20706f736974696f6e203d3d206e756c6c0a20202020202020203f20300a20202020202020203a2062617365436c616d7028746f496e746567657228706f736974696f6e292c20302c20737472696e672e6c656e677468293b0a0a202020202020746172676574203d2062617365546f537472696e6728746172676574293b0a20202020202072657475726e20737472696e672e736c69636528706f736974696f6e2c20706f736974696f6e202b207461726765742e6c656e67746829203d3d207461726765743b0a202020207d0a0a202020202f2a2a0a20202020202a2043726561746573206120636f6d70696c65642074656d706c6174652066756e6374696f6e20746861742063616e20696e746572706f6c61746520646174612070726f706572746965730a20202020202a20696e2022696e746572706f6c617465222064656c696d69746572732c2048544d4c2d65736361706520696e746572706f6c6174656420646174612070726f7065727469657320696e0a20202020202a2022657363617065222064656c696d69746572732c20616e642065786563757465204a61766153637269707420696e20226576616c75617465222064656c696d69746572732e20446174610a20202020202a2070726f70657274696573206d61792062652061636365737365642061732066726565207661726961626c657320696e207468652074656d706c6174652e20496620612073657474696e670a20202020202a206f626a65637420697320676976656e2c2069742074616b657320707265636564656e6365206f76657220605f2e74656d706c61746553657474696e6773602076616c7565732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a20496e2074686520646576656c6f706d656e74206275696c6420605f2e74656d706c61746560207574696c697a65730a20202020202a205b736f7572636555524c735d28687474703a2f2f7777772e68746d6c35726f636b732e636f6d2f656e2f7475746f7269616c732f646576656c6f706572746f6f6c732f736f757263656d6170732f23746f632d736f7572636575726c290a20202020202a20666f722065617369657220646562756767696e672e0a20202020202a0a20202020202a20466f72206d6f726520696e666f726d6174696f6e206f6e20707265636f6d70696c696e672074656d706c61746573207365650a20202020202a205b6c6f64617368277320637573746f6d206275696c647320646f63756d656e746174696f6e5d2868747470733a2f2f6c6f646173682e636f6d2f637573746f6d2d6275696c6473292e0a20202020202a0a20202020202a20466f72206d6f726520696e666f726d6174696f6e206f6e204368726f6d6520657874656e73696f6e2073616e64626f786573207365650a20202020202a205b4368726f6d65277320657874656e73696f6e7320646f63756d656e746174696f6e5d2868747470733a2f2f646576656c6f7065722e6368726f6d652e636f6d2f657874656e73696f6e732f73616e64626f78696e674576616c292e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d205468652074656d706c61746520737472696e672e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e6573636170653d5f2e74656d706c61746553657474696e67732e6573636170655d0a20202020202a20205468652048544d4c2022657363617065222064656c696d697465722e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e6576616c756174653d5f2e74656d706c61746553657474696e67732e6576616c756174655d0a20202020202a202054686520226576616c75617465222064656c696d697465722e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e732e696d706f7274733d5f2e74656d706c61746553657474696e67732e696d706f7274735d0a20202020202a2020416e206f626a65637420746f20696d706f727420696e746f207468652074656d706c6174652061732066726565207661726961626c65732e0a20202020202a2040706172616d207b5265674578707d205b6f7074696f6e732e696e746572706f6c6174653d5f2e74656d706c61746553657474696e67732e696e746572706f6c6174655d0a20202020202a20205468652022696e746572706f6c617465222064656c696d697465722e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e736f7572636555524c3d276c6f646173682e74656d706c617465536f75726365735b6e5d275d0a20202020202a202054686520736f7572636555524c206f662074686520636f6d70696c65642074656d706c6174652e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e7661726961626c653d276f626a275d0a20202020202a20205468652064617461206f626a656374207661726961626c65206e616d652e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732074686520636f6d70696c65642074656d706c6174652066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f20557365207468652022696e746572706f6c617465222064656c696d6974657220746f20637265617465206120636f6d70696c65642074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f203c253d207573657220253e2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276672656427207d293b0a20202020202a202f2f203d3e202768656c6c6f206672656421270a20202020202a0a20202020202a202f2f20557365207468652048544d4c2022657363617065222064656c696d6974657220746f2065736361706520646174612070726f70657274792076616c7565732e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c623e3c252d2076616c756520253e3c2f623e27293b0a20202020202a20636f6d70696c6564287b202776616c7565273a20273c7363726970743e27207d293b0a20202020202a202f2f203d3e20273c623e266c743b7363726970742667743b3c2f623e270a20202020202a0a20202020202a202f2f205573652074686520226576616c75617465222064656c696d6974657220746f2065786563757465204a61766153637269707420616e642067656e65726174652048544d4c2e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c25205f2e666f72456163682875736572732c2066756e6374696f6e287573657229207b20253e3c6c693e3c252d207573657220253e3c2f6c693e3c25207d293b20253e27293b0a20202020202a20636f6d70696c6564287b20277573657273273a205b2766726564272c20276261726e6579275d207d293b0a20202020202a202f2f203d3e20273c6c693e667265643c2f6c693e3c6c693e6261726e65793c2f6c693e270a20202020202a0a20202020202a202f2f205573652074686520696e7465726e616c20607072696e74602066756e6374696f6e20696e20226576616c75617465222064656c696d69746572732e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c25207072696e74282268656c6c6f2022202b2075736572293b20253e2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276261726e657927207d293b0a20202020202a202f2f203d3e202768656c6c6f206261726e657921270a20202020202a0a20202020202a202f2f20557365207468652045532074656d706c617465206c69746572616c2064656c696d6974657220617320616e2022696e746572706f6c617465222064656c696d697465722e0a20202020202a202f2f2044697361626c6520737570706f7274206279207265706c6163696e67207468652022696e746572706f6c617465222064656c696d697465722e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f20247b2075736572207d2127293b0a20202020202a20636f6d70696c6564287b202775736572273a2027706562626c657327207d293b0a20202020202a202f2f203d3e202768656c6c6f20706562626c657321270a20202020202a0a20202020202a202f2f20557365206261636b736c617368657320746f2074726561742064656c696d697465727320617320706c61696e20746578742e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528273c253d20225c5c3c252d2076616c756520255c5c3e2220253e27293b0a20202020202a20636f6d70696c6564287b202776616c7565273a202769676e6f72656427207d293b0a20202020202a202f2f203d3e20273c252d2076616c756520253e270a20202020202a0a20202020202a202f2f20557365207468652060696d706f72747360206f7074696f6e20746f20696d706f727420606a51756572796020617320606a71602e0a20202020202a207661722074657874203d20273c25206a712e656163682875736572732c2066756e6374696f6e287573657229207b20253e3c6c693e3c252d207573657220253e3c2f6c693e3c25207d293b20253e273b0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528746578742c207b2027696d706f727473273a207b20276a71273a206a5175657279207d207d293b0a20202020202a20636f6d70696c6564287b20277573657273273a205b2766726564272c20276261726e6579275d207d293b0a20202020202a202f2f203d3e20273c6c693e667265643c2f6c693e3c6c693e6261726e65793c2f6c693e270a20202020202a0a20202020202a202f2f20557365207468652060736f7572636555524c60206f7074696f6e20746f2073706563696679206120637573746f6d20736f7572636555524c20666f72207468652074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f203c253d207573657220253e21272c207b2027736f7572636555524c273a20272f62617369632f6772656574696e672e6a737427207d293b0a20202020202a20636f6d70696c65642864617461293b0a20202020202a202f2f203d3e2046696e642074686520736f75726365206f6620226772656574696e672e6a73742220756e6465722074686520536f757263657320746162206f72205265736f75726365732070616e656c206f66207468652077656220696e73706563746f722e0a20202020202a0a20202020202a202f2f205573652074686520607661726961626c6560206f7074696f6e20746f20656e73757265206120776974682d73746174656d656e742069736e2774207573656420696e2074686520636f6d70696c65642074656d706c6174652e0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c61746528276869203c253d20646174612e7573657220253e21272c207b20277661726961626c65273a20276461746127207d293b0a20202020202a20636f6d70696c65642e736f757263653b0a20202020202a202f2f203d3e2066756e6374696f6e286461746129207b0a20202020202a202f2f202020766172205f5f742c205f5f70203d2027273b0a20202020202a202f2f2020205f5f70202b3d202768692027202b2028285f5f74203d202820646174612e75736572202929203d3d206e756c6c203f202727203a205f5f7429202b202721273b0a20202020202a202f2f20202072657475726e205f5f703b0a20202020202a202f2f207d0a20202020202a0a20202020202a202f2f2055736520637573746f6d2074656d706c6174652064656c696d69746572732e0a20202020202a205f2e74656d706c61746553657474696e67732e696e746572706f6c617465203d202f7b7b285b5c735c535d2b3f297d7d2f673b0a20202020202a2076617220636f6d70696c6564203d205f2e74656d706c617465282768656c6c6f207b7b2075736572207d7d2127293b0a20202020202a20636f6d70696c6564287b202775736572273a20276d7573746163686527207d293b0a20202020202a202f2f203d3e202768656c6c6f206d7573746163686521270a20202020202a0a20202020202a202f2f20557365207468652060736f75726365602070726f706572747920746f20696e6c696e6520636f6d70696c65642074656d706c6174657320666f72206d65616e696e6766756c0a20202020202a202f2f206c696e65206e756d6265727320696e206572726f72206d6573736167657320616e6420737461636b207472616365732e0a20202020202a2066732e777269746546696c6553796e6328706174682e6a6f696e2870726f636573732e63776428292c20276a73742e6a7327292c20275c0a20202020202a202020766172204a5354203d207b5c0a20202020202a2020202020226d61696e223a2027202b205f2e74656d706c617465286d61696e54657874292e736f75726365202b20275c0a20202020202a2020207d3b5c0a20202020202a2027293b0a20202020202a2f0a2020202066756e6374696f6e2074656d706c61746528737472696e672c206f7074696f6e732c20677561726429207b0a2020202020202f2f204261736564206f6e204a6f686e20526573696727732060746d706c6020696d706c656d656e746174696f6e0a2020202020202f2f2028687474703a2f2f656a6f686e2e6f72672f626c6f672f6a6176617363726970742d6d6963726f2d74656d706c6174696e672f290a2020202020202f2f20616e64204c6175726120446f6b746f726f7661277320646f542e6a73202868747470733a2f2f6769746875622e636f6d2f6f6c61646f2f646f54292e0a2020202020207661722073657474696e6773203d206c6f646173682e74656d706c61746553657474696e67733b0a0a202020202020696620286775617264202626206973497465726174656543616c6c28737472696e672c206f7074696f6e732c2067756172642929207b0a20202020202020206f7074696f6e73203d20756e646566696e65643b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020206f7074696f6e73203d2061737369676e496e57697468287b7d2c206f7074696f6e732c2073657474696e67732c20637573746f6d44656661756c747341737369676e496e293b0a0a20202020202076617220696d706f727473203d2061737369676e496e57697468287b7d2c206f7074696f6e732e696d706f7274732c2073657474696e67732e696d706f7274732c20637573746f6d44656661756c747341737369676e496e292c0a20202020202020202020696d706f7274734b657973203d206b65797328696d706f727473292c0a20202020202020202020696d706f72747356616c756573203d206261736556616c75657328696d706f7274732c20696d706f7274734b657973293b0a0a2020202020207661722069734573636170696e672c0a2020202020202020202069734576616c756174696e672c0a20202020202020202020696e646578203d20302c0a20202020202020202020696e746572706f6c617465203d206f7074696f6e732e696e746572706f6c617465207c7c2072654e6f4d617463682c0a20202020202020202020736f75726365203d20225f5f70202b3d2027223b0a0a2020202020202f2f20436f6d70696c65207468652072656765787020746f206d6174636820656163682064656c696d697465722e0a20202020202076617220726544656c696d6974657273203d20526567457870280a2020202020202020286f7074696f6e732e657363617065207c7c2072654e6f4d61746368292e736f75726365202b20277c27202b0a2020202020202020696e746572706f6c6174652e736f75726365202b20277c27202b0a202020202020202028696e746572706f6c617465203d3d3d207265496e746572706f6c617465203f207265457354656d706c617465203a2072654e6f4d61746368292e736f75726365202b20277c27202b0a2020202020202020286f7074696f6e732e6576616c75617465207c7c2072654e6f4d61746368292e736f75726365202b20277c24270a2020202020202c20276727293b0a0a2020202020202f2f20557365206120736f7572636555524c20666f722065617369657220646562756767696e672e0a20202020202076617220736f7572636555524c203d20272f2f2320736f7572636555524c3d27202b0a20202020202020202827736f7572636555524c2720696e206f7074696f6e730a202020202020202020203f206f7074696f6e732e736f7572636555524c0a202020202020202020203a2028276c6f646173682e74656d706c617465536f75726365735b27202b20282b2b74656d706c617465436f756e74657229202b20275d27290a202020202020202029202b20275c6e273b0a0a202020202020737472696e672e7265706c61636528726544656c696d69746572732c2066756e6374696f6e286d617463682c2065736361706556616c75652c20696e746572706f6c61746556616c75652c20657354656d706c61746556616c75652c206576616c7561746556616c75652c206f666673657429207b0a2020202020202020696e746572706f6c61746556616c7565207c7c2028696e746572706f6c61746556616c7565203d20657354656d706c61746556616c7565293b0a0a20202020202020202f2f20457363617065206368617261637465727320746861742063616e277420626520696e636c7564656420696e20737472696e67206c69746572616c732e0a2020202020202020736f75726365202b3d20737472696e672e736c69636528696e6465782c206f6666736574292e7265706c616365287265556e65736361706564537472696e672c20657363617065537472696e6743686172293b0a0a20202020202020202f2f205265706c6163652064656c696d6974657273207769746820736e6970706574732e0a20202020202020206966202865736361706556616c756529207b0a2020202020202020202069734573636170696e67203d20747275653b0a20202020202020202020736f75726365202b3d202227202b5c6e5f5f652822202b2065736361706556616c7565202b202229202b5c6e27223b0a20202020202020207d0a2020202020202020696620286576616c7561746556616c756529207b0a2020202020202020202069734576616c756174696e67203d20747275653b0a20202020202020202020736f75726365202b3d2022273b5c6e22202b206576616c7561746556616c7565202b20223b5c6e5f5f70202b3d2027223b0a20202020202020207d0a202020202020202069662028696e746572706f6c61746556616c756529207b0a20202020202020202020736f75726365202b3d202227202b5c6e28285f5f74203d202822202b20696e746572706f6c61746556616c7565202b20222929203d3d206e756c6c203f202727203a205f5f7429202b5c6e27223b0a20202020202020207d0a2020202020202020696e646578203d206f6666736574202b206d617463682e6c656e6774683b0a0a20202020202020202f2f20546865204a5320656e67696e6520656d62656464656420696e2041646f62652070726f6475637473206e6565647320606d61746368602072657475726e656420696e0a20202020202020202f2f206f7264657220746f2070726f647563652074686520636f727265637420606f6666736574602076616c75652e0a202020202020202072657475726e206d617463683b0a2020202020207d293b0a0a202020202020736f75726365202b3d2022273b5c6e223b0a0a2020202020202f2f20496620607661726961626c6560206973206e6f74207370656369666965642077726170206120776974682d73746174656d656e742061726f756e64207468652067656e6572617465640a2020202020202f2f20636f646520746f20616464207468652064617461206f626a65637420746f2074686520746f70206f66207468652073636f706520636861696e2e0a202020202020766172207661726961626c65203d206f7074696f6e732e7661726961626c653b0a20202020202069662028217661726961626c6529207b0a2020202020202020736f75726365203d20277769746820286f626a29207b5c6e27202b20736f75726365202b20275c6e7d5c6e273b0a2020202020207d0a2020202020202f2f20436c65616e757020636f646520627920737472697070696e6720656d70747920737472696e67732e0a202020202020736f75726365203d202869734576616c756174696e67203f20736f757263652e7265706c616365287265456d707479537472696e674c656164696e672c20272729203a20736f75726365290a20202020202020202e7265706c616365287265456d707479537472696e674d6964646c652c2027243127290a20202020202020202e7265706c616365287265456d707479537472696e67547261696c696e672c202724313b27293b0a0a2020202020202f2f204672616d6520636f6465206173207468652066756e6374696f6e20626f64792e0a202020202020736f75726365203d202766756e6374696f6e2827202b20287661726961626c65207c7c20276f626a2729202b202729207b5c6e27202b0a2020202020202020287661726961626c650a202020202020202020203f2027270a202020202020202020203a20276f626a207c7c20286f626a203d207b7d293b5c6e270a202020202020202029202b0a202020202020202022766172205f5f742c205f5f70203d20272722202b0a20202020202020202869734573636170696e670a20202020202020202020203f20272c205f5f65203d205f2e657363617065270a20202020202020202020203a2027270a202020202020202029202b0a20202020202020202869734576616c756174696e670a202020202020202020203f20272c205f5f6a203d2041727261792e70726f746f747970652e6a6f696e3b5c6e27202b0a2020202020202020202020202266756e6374696f6e207072696e742829207b205f5f70202b3d205f5f6a2e63616c6c28617267756d656e74732c20272729207d5c6e220a202020202020202020203a20273b5c6e270a202020202020202029202b0a2020202020202020736f75726365202b0a20202020202020202772657475726e205f5f705c6e7d273b0a0a20202020202076617220726573756c74203d20617474656d70742866756e6374696f6e2829207b0a202020202020202072657475726e2046756e6374696f6e28696d706f7274734b6579732c20736f7572636555524c202b202772657475726e2027202b20736f75726365290a202020202020202020202e6170706c7928756e646566696e65642c20696d706f72747356616c756573293b0a2020202020207d293b0a0a2020202020202f2f2050726f766964652074686520636f6d70696c65642066756e6374696f6e277320736f75726365206279206974732060746f537472696e6760206d6574686f64206f720a2020202020202f2f207468652060736f75726365602070726f7065727479206173206120636f6e76656e69656e636520666f7220696e6c696e696e6720636f6d70696c65642074656d706c617465732e0a202020202020726573756c742e736f75726365203d20736f757263653b0a2020202020206966202869734572726f7228726573756c742929207b0a20202020202020207468726f7720726573756c743b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c20617320612077686f6c652c20746f206c6f7765722063617365206a757374206c696b650a20202020202a205b537472696e6723746f4c6f776572436173655d2868747470733a2f2f6d646e2e696f2f746f4c6f77657243617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865206c6f77657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f4c6f77657228272d2d466f6f2d4261722d2d27293b0a20202020202a202f2f203d3e20272d2d666f6f2d6261722d2d270a20202020202a0a20202020202a205f2e746f4c6f7765722827666f6f42617227293b0a20202020202a202f2f203d3e2027666f6f626172270a20202020202a0a20202020202a205f2e746f4c6f77657228275f5f464f4f5f4241525f5f27293b0a20202020202a202f2f203d3e20275f5f666f6f5f6261725f5f270a20202020202a2f0a2020202066756e6374696f6e20746f4c6f7765722876616c756529207b0a20202020202072657475726e20746f537472696e672876616c7565292e746f4c6f7765724361736528293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c20617320612077686f6c652c20746f2075707065722063617365206a757374206c696b650a20202020202a205b537472696e6723746f5570706572436173655d2868747470733a2f2f6d646e2e696f2f746f557070657243617365292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520757070657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f557070657228272d2d666f6f2d6261722d2d27293b0a20202020202a202f2f203d3e20272d2d464f4f2d4241522d2d270a20202020202a0a20202020202a205f2e746f55707065722827666f6f42617227293b0a20202020202a202f2f203d3e2027464f4f424152270a20202020202a0a20202020202a205f2e746f557070657228275f5f666f6f5f6261725f5f27293b0a20202020202a202f2f203d3e20275f5f464f4f5f4241525f5f270a20202020202a2f0a2020202066756e6374696f6e20746f55707065722876616c756529207b0a20202020202072657475726e20746f537472696e672876616c7565292e746f55707065724361736528293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573206c656164696e6720616e6420747261696c696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d28272020616263202027293b0a20202020202a202f2f203d3e2027616263270a20202020202a0a20202020202a205f2e7472696d28272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e2027616263270a20202020202a0a20202020202a205f2e6d6170285b272020666f6f2020272c202720206261722020275d2c205f2e7472696d293b0a20202020202a202f2f203d3e205b27666f6f272c2027626172275d0a20202020202a2f0a2020202066756e6374696f6e207472696d28737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d2c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a2020202020202020202063687253796d626f6c73203d20737472696e67546f4172726179286368617273292c0a202020202020202020207374617274203d2063686172735374617274496e6465782873747253796d626f6c732c2063687253796d626f6c73292c0a20202020202020202020656e64203d206368617273456e64496e6465782873747253796d626f6c732c2063687253796d626f6c7329202b20313b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c2073746172742c20656e64292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f76657320747261696c696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d456e6428272020616263202027293b0a20202020202a202f2f203d3e20272020616263270a20202020202a0a20202020202a205f2e7472696d456e6428272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e20272d5f2d616263270a20202020202a2f0a2020202066756e6374696f6e207472696d456e6428737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d456e642c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a20202020202020202020656e64203d206368617273456e64496e6465782873747253796d626f6c732c20737472696e67546f41727261792863686172732929202b20313b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c20302c20656e64292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a2052656d6f766573206c656164696e672077686974657370616365206f722073706563696669656420636861726163746572732066726f6d2060737472696e67602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472696d2e0a20202020202a2040706172616d207b737472696e677d205b63686172733d776869746573706163655d20546865206368617261637465727320746f207472696d2e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472696d6d656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472696d537461727428272020616263202027293b0a20202020202a202f2f203d3e20276162632020270a20202020202a0a20202020202a205f2e7472696d537461727428272d5f2d6162632d5f2d272c20275f2d27293b0a20202020202a202f2f203d3e20276162632d5f2d270a20202020202a2f0a2020202066756e6374696f6e207472696d537461727428737472696e672c2063686172732c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202069662028737472696e6720262620286775617264207c7c206368617273203d3d3d20756e646566696e65642929207b0a202020202020202072657475726e20737472696e672e7265706c6163652872655472696d53746172742c202727293b0a2020202020207d0a2020202020206966202821737472696e67207c7c2021286368617273203d2062617365546f537472696e67286368617273292929207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a2020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67292c0a202020202020202020207374617274203d2063686172735374617274496e6465782873747253796d626f6c732c20737472696e67546f417272617928636861727329293b0a0a20202020202072657475726e2063617374536c6963652873747253796d626f6c732c207374617274292e6a6f696e282727293b0a202020207d0a0a202020202f2a2a0a20202020202a205472756e63617465732060737472696e67602069662069742773206c6f6e676572207468616e2074686520676976656e206d6178696d756d20737472696e67206c656e6774682e0a20202020202a20546865206c6173742063686172616374657273206f6620746865207472756e636174656420737472696e6720617265207265706c61636564207769746820746865206f6d697373696f6e0a20202020202a20737472696e672077686963682064656661756c747320746f20222e2e2e222e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f207472756e636174652e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b6e756d6265727d205b6f7074696f6e732e6c656e6774683d33305d20546865206d6178696d756d20737472696e67206c656e6774682e0a20202020202a2040706172616d207b737472696e677d205b6f7074696f6e732e6f6d697373696f6e3d272e2e2e275d2054686520737472696e6720746f20696e6469636174652074657874206973206f6d69747465642e0a20202020202a2040706172616d207b5265674578707c737472696e677d205b6f7074696f6e732e736570617261746f725d2054686520736570617261746f72207061747465726e20746f207472756e6361746520746f2e0a20202020202a204072657475726e73207b737472696e677d2052657475726e7320746865207472756e636174656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f27293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c206e65696768626f2e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276c656e677468273a2032342c0a20202020202a20202027736570617261746f72273a202720270a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c2e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276c656e677468273a2032342c0a20202020202a20202027736570617261746f72273a202f2c3f202b2f0a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652e2e2e270a20202020202a0a20202020202a205f2e7472756e63617465282768692d646964646c792d686f2074686572652c206e65696768626f72696e6f272c207b0a20202020202a202020276f6d697373696f6e273a2027205b2e2e2e5d270a20202020202a207d293b0a20202020202a202f2f203d3e202768692d646964646c792d686f2074686572652c206e656967205b2e2e2e5d270a20202020202a2f0a2020202066756e6374696f6e207472756e6361746528737472696e672c206f7074696f6e7329207b0a202020202020766172206c656e677468203d2044454641554c545f5452554e435f4c454e4754482c0a202020202020202020206f6d697373696f6e203d2044454641554c545f5452554e435f4f4d495353494f4e3b0a0a2020202020206966202869734f626a656374286f7074696f6e732929207b0a202020202020202076617220736570617261746f72203d2027736570617261746f722720696e206f7074696f6e73203f206f7074696f6e732e736570617261746f72203a20736570617261746f723b0a20202020202020206c656e677468203d20276c656e6774682720696e206f7074696f6e73203f20746f496e7465676572286f7074696f6e732e6c656e67746829203a206c656e6774683b0a20202020202020206f6d697373696f6e203d20276f6d697373696f6e2720696e206f7074696f6e73203f2062617365546f537472696e67286f7074696f6e732e6f6d697373696f6e29203a206f6d697373696f6e3b0a2020202020207d0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a0a202020202020766172207374724c656e677468203d20737472696e672e6c656e6774683b0a20202020202069662028686173556e69636f646528737472696e672929207b0a20202020202020207661722073747253796d626f6c73203d20737472696e67546f417272617928737472696e67293b0a20202020202020207374724c656e677468203d2073747253796d626f6c732e6c656e6774683b0a2020202020207d0a202020202020696620286c656e677468203e3d207374724c656e67746829207b0a202020202020202072657475726e20737472696e673b0a2020202020207d0a20202020202076617220656e64203d206c656e677468202d20737472696e6753697a65286f6d697373696f6e293b0a20202020202069662028656e64203c203129207b0a202020202020202072657475726e206f6d697373696f6e3b0a2020202020207d0a20202020202076617220726573756c74203d2073747253796d626f6c730a20202020202020203f2063617374536c6963652873747253796d626f6c732c20302c20656e64292e6a6f696e282727290a20202020202020203a20737472696e672e736c69636528302c20656e64293b0a0a20202020202069662028736570617261746f72203d3d3d20756e646566696e656429207b0a202020202020202072657475726e20726573756c74202b206f6d697373696f6e3b0a2020202020207d0a2020202020206966202873747253796d626f6c7329207b0a2020202020202020656e64202b3d2028726573756c742e6c656e677468202d20656e64293b0a2020202020207d0a20202020202069662028697352656745787028736570617261746f722929207b0a202020202020202069662028737472696e672e736c69636528656e64292e73656172636828736570617261746f722929207b0a20202020202020202020766172206d617463682c0a2020202020202020202020202020737562737472696e67203d20726573756c743b0a0a202020202020202020206966202821736570617261746f722e676c6f62616c29207b0a202020202020202020202020736570617261746f72203d2052656745787028736570617261746f722e736f757263652c20746f537472696e67287265466c6167732e6578656328736570617261746f722929202b20276727293b0a202020202020202020207d0a20202020202020202020736570617261746f722e6c617374496e646578203d20303b0a202020202020202020207768696c652028286d61746368203d20736570617261746f722e6578656328737562737472696e67292929207b0a202020202020202020202020766172206e6577456e64203d206d617463682e696e6465783b0a202020202020202020207d0a20202020202020202020726573756c74203d20726573756c742e736c69636528302c206e6577456e64203d3d3d20756e646566696e6564203f20656e64203a206e6577456e64293b0a20202020202020207d0a2020202020207d20656c73652069662028737472696e672e696e6465784f662862617365546f537472696e6728736570617261746f72292c20656e642920213d20656e6429207b0a202020202020202076617220696e646578203d20726573756c742e6c617374496e6465784f6628736570617261746f72293b0a202020202020202069662028696e646578203e202d3129207b0a20202020202020202020726573756c74203d20726573756c742e736c69636528302c20696e646578293b0a20202020202020207d0a2020202020207d0a20202020202072657475726e20726573756c74202b206f6d697373696f6e3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686520696e7665727365206f6620605f2e657363617065603b2074686973206d6574686f6420636f6e7665727473207468652048544d4c20656e7469746965730a20202020202a206026616d703b602c2060266c743b602c20602667743b602c20602671756f743b602c20616e642060262333393b6020696e2060737472696e676020746f0a20202020202a20746865697220636f72726573706f6e64696e6720636861726163746572732e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204e6f206f746865722048544d4c20656e7469746965732061726520756e657363617065642e20546f20756e657363617065206164646974696f6e616c0a20202020202a2048544d4c20656e7469746965732075736520612074686972642d7061727479206c696272617279206c696b65205b5f68655f5d2868747470733a2f2f6d7468732e62652f6865292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520302e362e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20756e6573636170652e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e6573636170656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6573636170652827667265642c206261726e65792c2026616d703b20706562626c657327293b0a20202020202a202f2f203d3e2027667265642c206261726e65792c202620706562626c6573270a20202020202a2f0a2020202066756e6374696f6e20756e65736361706528737472696e6729207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a20202020202072657475726e2028737472696e672026262072654861734573636170656448746d6c2e7465737428737472696e6729290a20202020202020203f20737472696e672e7265706c6163652872654573636170656448746d6c2c20756e65736361706548746d6c43686172290a20202020202020203a20737472696e673b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e76657274732060737472696e67602c2061732073706163652073657061726174656420776f7264732c20746f20757070657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520757070657220636173656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e75707065724361736528272d2d666f6f2d62617227293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a0a20202020202a205f2e7570706572436173652827666f6f42617227293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a0a20202020202a205f2e75707065724361736528275f5f666f6f5f6261725f5f27293b0a20202020202a202f2f203d3e2027464f4f20424152270a20202020202a2f0a2020202076617220757070657243617365203d20637265617465436f6d706f756e6465722866756e6374696f6e28726573756c742c20776f72642c20696e64657829207b0a20202020202072657475726e20726573756c74202b2028696e646578203f20272027203a20272729202b20776f72642e746f55707065724361736528293b0a202020207d293b0a0a202020202f2a2a0a20202020202a20436f6e76657274732074686520666972737420636861726163746572206f662060737472696e676020746f20757070657220636173652e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20636f6e766572742e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520636f6e76657274656420737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e7570706572466972737428276672656427293b0a20202020202a202f2f203d3e202746726564270a20202020202a0a20202020202a205f2e7570706572466972737428274652454427293b0a20202020202a202f2f203d3e202746524544270a20202020202a2f0a202020207661722075707065724669727374203d206372656174654361736546697273742827746f55707065724361736527293b0a0a202020202f2a2a0a20202020202a2053706c6974732060737472696e676020696e746f20616e206172726179206f662069747320776f7264732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f727920537472696e670a20202020202a2040706172616d207b737472696e677d205b737472696e673d27275d2054686520737472696e6720746f20696e73706563742e0a20202020202a2040706172616d207b5265674578707c737472696e677d205b7061747465726e5d20546865207061747465726e20746f206d6174636820776f7264732e0a20202020202a2040706172616d2d207b4f626a6563747d205b67756172645d20456e61626c65732075736520617320616e20697465726174656520666f72206d6574686f6473206c696b6520605f2e6d6170602e0a20202020202a204072657475726e73207b41727261797d2052657475726e732074686520776f726473206f662060737472696e67602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e776f7264732827667265642c206261726e65792c202620706562626c657327293b0a20202020202a202f2f203d3e205b2766726564272c20276261726e6579272c2027706562626c6573275d0a20202020202a0a20202020202a205f2e776f7264732827667265642c206261726e65792c202620706562626c6573272c202f5b5e2c205d2b2f67293b0a20202020202a202f2f203d3e205b2766726564272c20276261726e6579272c202726272c2027706562626c6573275d0a20202020202a2f0a2020202066756e6374696f6e20776f72647328737472696e672c207061747465726e2c20677561726429207b0a202020202020737472696e67203d20746f537472696e6728737472696e67293b0a2020202020207061747465726e203d206775617264203f20756e646566696e6564203a207061747465726e3b0a0a202020202020696620287061747465726e203d3d3d20756e646566696e656429207b0a202020202020202072657475726e20686173556e69636f6465576f726428737472696e6729203f20756e69636f6465576f72647328737472696e6729203a206173636969576f72647328737472696e67293b0a2020202020207d0a20202020202072657475726e20737472696e672e6d61746368287061747465726e29207c7c205b5d3b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20417474656d70747320746f20696e766f6b65206066756e63602c2072657475726e696e67206569746865722074686520726573756c74206f722074686520636175676874206572726f720a20202020202a206f626a6563742e20416e79206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f206066756e6360207768656e206974277320696e766f6b65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b46756e6374696f6e7d2066756e63205468652066756e6374696f6e20746f20617474656d70742e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b65206066756e636020776974682e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206066756e636020726573756c74206f72206572726f72206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a202f2f2041766f6964207468726f77696e67206572726f727320666f7220696e76616c69642073656c6563746f72732e0a20202020202a2076617220656c656d656e7473203d205f2e617474656d70742866756e6374696f6e2873656c6563746f7229207b0a20202020202a20202072657475726e20646f63756d656e742e717565727953656c6563746f72416c6c2873656c6563746f72293b0a20202020202a207d2c20273e5f3e27293b0a20202020202a0a20202020202a20696620285f2e69734572726f7228656c656d656e74732929207b0a20202020202a202020656c656d656e7473203d205b5d3b0a20202020202a207d0a20202020202a2f0a2020202076617220617474656d7074203d2062617365526573742866756e6374696f6e2866756e632c206172677329207b0a202020202020747279207b0a202020202020202072657475726e206170706c792866756e632c20756e646566696e65642c2061726773293b0a2020202020207d20636174636820286529207b0a202020202020202072657475726e2069734572726f72286529203f2065203a206e6577204572726f722865293b0a2020202020207d0a202020207d293b0a0a202020202f2a2a0a20202020202a2042696e6473206d6574686f6473206f6620616e206f626a65637420746f20746865206f626a65637420697473656c662c206f76657277726974696e6720746865206578697374696e670a20202020202a206d6574686f642e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686973206d6574686f6420646f65736e2774207365742074686520226c656e677468222070726f7065727479206f6620626f756e642066756e6374696f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2062696e6420616e642061737369676e2074686520626f756e64206d6574686f647320746f2e0a20202020202a2040706172616d207b2e2e2e28737472696e677c737472696e675b5d297d206d6574686f644e616d657320546865206f626a656374206d6574686f64206e616d657320746f2062696e642e0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722076696577203d207b0a20202020202a202020276c6162656c273a2027646f6373272c0a20202020202a20202027636c69636b273a2066756e6374696f6e2829207b0a20202020202a2020202020636f6e736f6c652e6c6f672827636c69636b65642027202b20746869732e6c6162656c293b0a20202020202a2020207d0a20202020202a207d3b0a20202020202a0a20202020202a205f2e62696e64416c6c28766965772c205b27636c69636b275d293b0a20202020202a206a517565727928656c656d656e74292e6f6e2827636c69636b272c20766965772e636c69636b293b0a20202020202a202f2f203d3e204c6f67732027636c69636b656420646f637327207768656e20636c69636b65642e0a20202020202a2f0a202020207661722062696e64416c6c203d20666c6174526573742866756e6374696f6e286f626a6563742c206d6574686f644e616d657329207b0a202020202020617272617945616368286d6574686f644e616d65732c2066756e6374696f6e286b657929207b0a20202020202020206b6579203d20746f4b6579286b6579293b0a20202020202020206261736541737369676e56616c7565286f626a6563742c206b65792c2062696e64286f626a6563745b6b65795d2c206f626a65637429293b0a2020202020207d293b0a20202020202072657475726e206f626a6563743b0a202020207d293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e2074686174206974657261746573206f766572206070616972736020616e6420696e766f6b65732074686520636f72726573706f6e64696e670a20202020202a2066756e6374696f6e206f66207468652066697273742070726564696361746520746f2072657475726e207472757468792e20546865207072656469636174652d66756e6374696f6e0a20202020202a2070616972732061726520696e766f6b6564207769746820746865206074686973602062696e64696e6720616e6420617267756d656e7473206f662074686520637265617465640a20202020202a2066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797d20706169727320546865207072656469636174652d66756e6374696f6e2070616972732e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e636f6e64285b0a20202020202a2020205b5f2e6d617463686573287b202761273a2031207d292c20202020202020202020205f2e636f6e7374616e7428276d617463686573204127295d2c0a20202020202a2020205b5f2e636f6e666f726d73287b202762273a205f2e69734e756d626572207d292c205f2e636f6e7374616e7428276d617463686573204227295d2c0a20202020202a2020205b5f2e73747562547275652c202020202020202020202020202020202020202020205f2e636f6e7374616e7428276e6f206d6174636827295d0a20202020202a205d293b0a20202020202a0a20202020202a2066756e63287b202761273a20312c202762273a2032207d293b0a20202020202a202f2f203d3e20276d6174636865732041270a20202020202a0a20202020202a2066756e63287b202761273a20302c202762273a2031207d293b0a20202020202a202f2f203d3e20276d6174636865732042270a20202020202a0a20202020202a2066756e63287b202761273a202731272c202762273a20273227207d293b0a20202020202a202f2f203d3e20276e6f206d61746368270a20202020202a2f0a2020202066756e6374696f6e20636f6e6428706169727329207b0a202020202020766172206c656e677468203d207061697273203d3d206e756c6c203f2030203a2070616972732e6c656e6774682c0a20202020202020202020746f4974657261746565203d20676574497465726174656528293b0a0a2020202020207061697273203d20216c656e677468203f205b5d203a2061727261794d61702870616972732c2066756e6374696f6e287061697229207b0a202020202020202069662028747970656f6620706169725b315d20213d202766756e6374696f6e2729207b0a202020202020202020207468726f77206e657720547970654572726f722846554e435f4552524f525f54455854293b0a20202020202020207d0a202020202020202072657475726e205b746f497465726174656528706169725b305d292c20706169725b315d5d3b0a2020202020207d293b0a0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202076617220696e646578203d202d313b0a20202020202020207768696c6520282b2b696e646578203c206c656e67746829207b0a202020202020202020207661722070616972203d2070616972735b696e6465785d3b0a20202020202020202020696620286170706c7928706169725b305d2c20746869732c20617267732929207b0a20202020202020202020202072657475726e206170706c7928706169725b315d2c20746869732c2061726773293b0a202020202020202020207d0a20202020202020207d0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865207072656469636174652070726f70657274696573206f662060736f757263656020776974680a20202020202a2074686520636f72726573706f6e64696e672070726f70657274792076616c756573206f66206120676976656e206f626a6563742c2072657475726e696e67206074727565602069660a20202020202a20616c6c20707265646963617465732072657475726e207472757468792c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686520637265617465642066756e6374696f6e206973206571756976616c656e7420746f20605f2e636f6e666f726d73546f6020776974680a20202020202a2060736f7572636560207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f7065727479207072656469636174657320746f20636f6e666f726d20746f2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20322c202762273a2031207d2c0a20202020202a2020207b202761273a20312c202762273a2032207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c746572286f626a656374732c205f2e636f6e666f726d73287b202762273a2066756e6374696f6e286e29207b2072657475726e206e203e20313b207d207d29293b0a20202020202a202f2f203d3e205b7b202761273a20312c202762273a2032207d5d0a20202020202a2f0a2020202066756e6374696f6e20636f6e666f726d7328736f7572636529207b0a20202020202072657475726e2062617365436f6e666f726d732862617365436c6f6e6528736f757263652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e73206076616c7565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f2072657475726e2066726f6d20746865206e65772066756e6374696f6e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6e7374616e742066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205f2e74696d657328322c205f2e636f6e7374616e74287b202761273a2031207d29293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a65637473293b0a20202020202a202f2f203d3e205b7b202761273a2031207d2c207b202761273a2031207d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374735b305d203d3d3d206f626a656374735b315d293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e20636f6e7374616e742876616c756529207b0a20202020202072657475726e2066756e6374696f6e2829207b0a202020202020202072657475726e2076616c75653b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a20436865636b73206076616c75656020746f2064657465726d696e65207768657468657220612064656661756c742076616c75652073686f756c642062652072657475726e656420696e0a20202020202a2069747320706c6163652e20546865206064656661756c7456616c7565602069732072657475726e6564206966206076616c75656020697320604e614e602c20606e756c6c602c0a20202020202a206f722060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636865636b2e0a20202020202a2040706172616d207b2a7d2064656661756c7456616c7565205468652064656661756c742076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865207265736f6c7665642076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64656661756c74546f28312c203130293b0a20202020202a202f2f203d3e20310a20202020202a0a20202020202a205f2e64656661756c74546f28756e646566696e65642c203130293b0a20202020202a202f2f203d3e2031300a20202020202a2f0a2020202066756e6374696f6e2064656661756c74546f2876616c75652c2064656661756c7456616c756529207b0a20202020202072657475726e202876616c7565203d3d206e756c6c207c7c2076616c756520213d3d2076616c756529203f2064656661756c7456616c7565203a2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e732074686520726573756c74206f6620696e766f6b696e672074686520676976656e2066756e6374696f6e730a20202020202a207769746820746865206074686973602062696e64696e67206f662074686520637265617465642066756e6374696f6e2c207768657265206561636820737563636573736976650a20202020202a20696e766f636174696f6e20697320737570706c696564207468652072657475726e2076616c7565206f66207468652070726576696f75732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b66756e63735d205468652066756e6374696f6e7320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a2040736565205f2e666c6f7752696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a2076617220616464537175617265203d205f2e666c6f77285b5f2e6164642c207371756172655d293b0a20202020202a2061646453717561726528312c2032293b0a20202020202a202f2f203d3e20390a20202020202a2f0a2020202076617220666c6f77203d20637265617465466c6f7728293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e666c6f7760206578636570742074686174206974206372656174657320612066756e6374696f6e20746861740a20202020202a20696e766f6b65732074686520676976656e2066756e6374696f6e732066726f6d20726967687420746f206c6566742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520332e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b66756e63735d205468652066756e6374696f6e7320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720636f6d706f736974652066756e6374696f6e2e0a20202020202a2040736565205f2e666c6f770a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20737175617265286e29207b0a20202020202a20202072657475726e206e202a206e3b0a20202020202a207d0a20202020202a0a20202020202a2076617220616464537175617265203d205f2e666c6f775269676874285b7371756172652c205f2e6164645d293b0a20202020202a2061646453717561726528312c2032293b0a20202020202a202f2f203d3e20390a20202020202a2f0a2020202076617220666c6f775269676874203d20637265617465466c6f772874727565293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732074686520666972737420617267756d656e742069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c756520416e792076616c75652e0a20202020202a204072657475726e73207b2a7d2052657475726e73206076616c7565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a656374203d207b202761273a2031207d3b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67285f2e6964656e74697479286f626a65637429203d3d3d206f626a656374293b0a20202020202a202f2f203d3e20747275650a20202020202a2f0a2020202066756e6374696f6e206964656e746974792876616c756529207b0a20202020202072657475726e2076616c75653b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b6573206066756e636020776974682074686520617267756d656e7473206f662074686520637265617465640a20202020202a2066756e6374696f6e2e204966206066756e636020697320612070726f7065727479206e616d652c2074686520637265617465642066756e6374696f6e2072657475726e73207468650a20202020202a2070726f70657274792076616c756520666f72206120676976656e20656c656d656e742e204966206066756e636020697320616e206172726179206f72206f626a6563742c207468650a20202020202a20637265617465642066756e6374696f6e2072657475726e732060747275656020666f7220656c656d656e7473207468617420636f6e7461696e20746865206571756976616c656e740a20202020202a20736f757263652070726f706572746965732c206f74686572776973652069742072657475726e73206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520342e302e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d205b66756e633d5f2e6964656e746974795d205468652076616c756520746f20636f6e7665727420746f20612063616c6c6261636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e73207468652063616c6c6261636b2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172207573657273203d205b0a20202020202a2020207b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d2c0a20202020202a2020207b202775736572273a202766726564272c20202027616765273a2034302c2027616374697665273a2066616c7365207d0a20202020202a205d3b0a20202020202a0a20202020202a202f2f2054686520605f2e6d617463686573602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205f2e6974657261746565287b202775736572273a20276261726e6579272c2027616374697665273a2074727565207d29293b0a20202020202a202f2f203d3e205b7b202775736572273a20276261726e6579272c2027616765273a2033362c2027616374697665273a2074727565207d5d0a20202020202a0a20202020202a202f2f2054686520605f2e6d61746368657350726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e66696c7465722875736572732c205f2e6974657261746565285b2775736572272c202766726564275d29293b0a20202020202a202f2f203d3e205b7b202775736572273a202766726564272c2027616765273a203430207d5d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61702875736572732c205f2e69746572617465652827757365722729293b0a20202020202a202f2f203d3e205b276261726e6579272c202766726564275d0a20202020202a0a20202020202a202f2f2043726561746520637573746f6d2069746572617465652073686f727468616e64732e0a20202020202a205f2e6974657261746565203d205f2e77726170285f2e69746572617465652c2066756e6374696f6e2869746572617465652c2066756e6329207b0a20202020202a20202072657475726e20215f2e69735265674578702866756e6329203f2069746572617465652866756e6329203a2066756e6374696f6e28737472696e6729207b0a20202020202a202020202072657475726e2066756e632e7465737428737472696e67293b0a20202020202a2020207d3b0a20202020202a207d293b0a20202020202a0a20202020202a205f2e66696c746572285b27616263272c2027646566275d2c202f65662f293b0a20202020202a202f2f203d3e205b27646566275d0a20202020202a2f0a2020202066756e6374696f6e2069746572617465652866756e6329207b0a20202020202072657475726e2062617365497465726174656528747970656f662066756e63203d3d202766756e6374696f6e27203f2066756e63203a2062617365436c6f6e652866756e632c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e206120676976656e0a20202020202a206f626a65637420616e642060736f75726365602c2072657475726e696e67206074727565602069662074686520676976656e206f626a65637420686173206571756976616c656e740a20202020202a2070726f70657274792076616c7565732c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2054686520637265617465642066756e6374696f6e206973206571756976616c656e7420746f20605f2e69734d617463686020776974682060736f75726365600a20202020202a207061727469616c6c79206170706c6965642e0a20202020202a0a20202020202a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563742060736f75726365600a20202020202a2076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e2053656520605f2e6973457175616c600a20202020202a20666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662070726f70657274792076616c75657320746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20312c202762273a20322c202763273a2033207d2c0a20202020202a2020207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696c746572286f626a656374732c205f2e6d617463686573287b202761273a20342c202763273a2036207d29293b0a20202020202a202f2f203d3e205b7b202761273a20342c202762273a20352c202763273a2036207d5d0a20202020202a2f0a2020202066756e6374696f6e206d61746368657328736f7572636529207b0a20202020202072657475726e20626173654d6174636865732862617365436c6f6e6528736f757263652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420706572666f726d732061207061727469616c206465657020636f6d70617269736f6e206265747765656e207468650a20202020202a2076616c756520617420607061746860206f66206120676976656e206f626a65637420746f206073726356616c7565602c2072657475726e696e6720607472756560206966207468650a20202020202a206f626a6563742076616c7565206973206571756976616c656e742c20656c7365206066616c7365602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a205061727469616c20636f6d70617269736f6e732077696c6c206d6174636820656d70747920617272617920616e6420656d707479206f626a6563740a20202020202a206073726356616c7565602076616c75657320616761696e737420616e79206172726179206f72206f626a6563742076616c75652c20726573706563746976656c792e205365650a20202020202a20605f2e6973457175616c6020666f722061206c697374206f6620737570706f727465642076616c756520636f6d70617269736f6e732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e322e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a2040706172616d207b2a7d2073726356616c7565205468652076616c756520746f206d617463682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720737065632066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a20312c202762273a20322c202763273a2033207d2c0a20202020202a2020207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e66696e64286f626a656374732c205f2e6d61746368657350726f7065727479282761272c203429293b0a20202020202a202f2f203d3e207b202761273a20342c202762273a20352c202763273a2036207d0a20202020202a2f0a2020202066756e6374696f6e206d61746368657350726f706572747928706174682c2073726356616c756529207b0a20202020202072657475726e20626173654d61746368657350726f706572747928706174682c2062617365436c6f6e652873726356616c75652c20434c4f4e455f444545505f464c414729293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320746865206d6574686f6420617420607061746860206f66206120676976656e206f626a6563742e0a20202020202a20416e79206164646974696f6e616c20617267756d656e7473206172652070726f766964656420746f2074686520696e766f6b6564206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f6620746865206d6574686f6420746f20696e766f6b652e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e766f6b65722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a207b202762273a205f2e636f6e7374616e74283229207d207d2c0a20202020202a2020207b202761273a207b202762273a205f2e636f6e7374616e74283129207d207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e6d6574686f642827612e622729293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e6d6574686f64285b2761272c202762275d29293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a2f0a20202020766172206d6574686f64203d2062617365526573742866756e6374696f6e28706174682c206172677329207b0a20202020202072657475726e2066756e6374696f6e286f626a65637429207b0a202020202020202072657475726e2062617365496e766f6b65286f626a6563742c20706174682c2061726773293b0a2020202020207d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e6d6574686f64603b2074686973206d6574686f64206372656174657320612066756e6374696f6e207468617420696e766f6b65730a20202020202a20746865206d6574686f64206174206120676976656e2070617468206f6620606f626a656374602e20416e79206164646974696f6e616c20617267756d656e7473206172650a20202020202a2070726f766964656420746f2074686520696e766f6b6564206d6574686f642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e372e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a2040706172616d207b2e2e2e2a7d205b617267735d2054686520617267756d656e747320746f20696e766f6b6520746865206d6574686f6420776974682e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720696e766f6b65722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205f2e74696d657328332c205f2e636f6e7374616e74292c0a20202020202a20202020206f626a656374203d207b202761273a2061727261792c202762273a2061727261792c202763273a206172726179207d3b0a20202020202a0a20202020202a205f2e6d6170285b27615b325d272c2027635b305d275d2c205f2e6d6574686f644f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a0a20202020202a205f2e6d6170285b5b2761272c202732275d2c205b2763272c202730275d5d2c205f2e6d6574686f644f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a2f0a20202020766172206d6574686f644f66203d2062617365526573742866756e6374696f6e286f626a6563742c206172677329207b0a20202020202072657475726e2066756e6374696f6e287061746829207b0a202020202020202072657475726e2062617365496e766f6b65286f626a6563742c20706174682c2061726773293b0a2020202020207d3b0a202020207d293b0a0a202020202f2a2a0a20202020202a204164647320616c6c206f776e20656e756d657261626c6520737472696e67206b657965642066756e6374696f6e2070726f70657274696573206f66206120736f757263650a20202020202a206f626a65637420746f207468652064657374696e6174696f6e206f626a6563742e20496620606f626a6563746020697320612066756e6374696f6e2c207468656e206d6574686f64730a20202020202a2061726520616464656420746f206974732070726f746f747970652061732077656c6c2e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a2055736520605f2e72756e496e436f6e746578746020746f206372656174652061207072697374696e6520606c6f64617368602066756e6374696f6e20746f0a20202020202a2061766f696420636f6e666c6963747320636175736564206279206d6f64696679696e6720746865206f726967696e616c2e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b46756e6374696f6e7c4f626a6563747d205b6f626a6563743d6c6f646173685d205468652064657374696e6174696f6e206f626a6563742e0a20202020202a2040706172616d207b4f626a6563747d20736f7572636520546865206f626a656374206f662066756e6374696f6e7320746f206164642e0a20202020202a2040706172616d207b4f626a6563747d205b6f7074696f6e733d7b7d5d20546865206f7074696f6e73206f626a6563742e0a20202020202a2040706172616d207b626f6f6c65616e7d205b6f7074696f6e732e636861696e3d747275655d20537065636966792077686574686572206d6978696e732061726520636861696e61626c652e0a20202020202a204072657475726e73207b46756e6374696f6e7c4f626a6563747d2052657475726e7320606f626a656374602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2066756e6374696f6e20766f77656c7328737472696e6729207b0a20202020202a20202072657475726e205f2e66696c74657228737472696e672c2066756e6374696f6e287629207b0a20202020202a202020202072657475726e202f5b6165696f755d2f692e746573742876293b0a20202020202a2020207d293b0a20202020202a207d0a20202020202a0a20202020202a205f2e6d6978696e287b2027766f77656c73273a20766f77656c73207d293b0a20202020202a205f2e766f77656c7328276672656427293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a0a20202020202a205f28276672656427292e766f77656c7328292e76616c756528293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a0a20202020202a205f2e6d6978696e287b2027766f77656c73273a20766f77656c73207d2c207b2027636861696e273a2066616c7365207d293b0a20202020202a205f28276672656427292e766f77656c7328293b0a20202020202a202f2f203d3e205b2765275d0a20202020202a2f0a2020202066756e6374696f6e206d6978696e286f626a6563742c20736f757263652c206f7074696f6e7329207b0a2020202020207661722070726f7073203d206b65797328736f75726365292c0a202020202020202020206d6574686f644e616d6573203d206261736546756e6374696f6e7328736f757263652c2070726f7073293b0a0a202020202020696620286f7074696f6e73203d3d206e756c6c2026260a20202020202020202020212869734f626a65637428736f757263652920262620286d6574686f644e616d65732e6c656e677468207c7c202170726f70732e6c656e677468292929207b0a20202020202020206f7074696f6e73203d20736f757263653b0a2020202020202020736f75726365203d206f626a6563743b0a20202020202020206f626a656374203d20746869733b0a20202020202020206d6574686f644e616d6573203d206261736546756e6374696f6e7328736f757263652c206b65797328736f7572636529293b0a2020202020207d0a20202020202076617220636861696e203d20212869734f626a656374286f7074696f6e73292026262027636861696e2720696e206f7074696f6e7329207c7c2021216f7074696f6e732e636861696e2c0a20202020202020202020697346756e63203d20697346756e6374696f6e286f626a656374293b0a0a202020202020617272617945616368286d6574686f644e616d65732c2066756e6374696f6e286d6574686f644e616d6529207b0a20202020202020207661722066756e63203d20736f757263655b6d6574686f644e616d655d3b0a20202020202020206f626a6563745b6d6574686f644e616d655d203d2066756e633b0a202020202020202069662028697346756e6329207b0a202020202020202020206f626a6563742e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020202020202076617220636861696e416c6c203d20746869732e5f5f636861696e5f5f3b0a20202020202020202020202069662028636861696e207c7c20636861696e416c6c29207b0a202020202020202020202020202076617220726573756c74203d206f626a65637428746869732e5f5f777261707065645f5f292c0a202020202020202020202020202020202020616374696f6e73203d20726573756c742e5f5f616374696f6e735f5f203d20636f7079417272617928746869732e5f5f616374696f6e735f5f293b0a0a2020202020202020202020202020616374696f6e732e70757368287b202766756e63273a2066756e632c202761726773273a20617267756d656e74732c202774686973417267273a206f626a656374207d293b0a2020202020202020202020202020726573756c742e5f5f636861696e5f5f203d20636861696e416c6c3b0a202020202020202020202020202072657475726e20726573756c743b0a2020202020202020202020207d0a20202020202020202020202072657475726e2066756e632e6170706c79286f626a6563742c20617272617950757368285b746869732e76616c756528295d2c20617267756d656e747329293b0a202020202020202020207d3b0a20202020202020207d0a2020202020207d293b0a0a20202020202072657475726e206f626a6563743b0a202020207d0a0a202020202f2a2a0a20202020202a20526576657274732074686520605f60207661726961626c6520746f206974732070726576696f75732076616c756520616e642072657475726e732061207265666572656e636520746f0a20202020202a2074686520606c6f64617368602066756e6374696f6e2e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e732074686520606c6f64617368602066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206c6f64617368203d205f2e6e6f436f6e666c69637428293b0a20202020202a2f0a2020202066756e6374696f6e206e6f436f6e666c6963742829207b0a20202020202069662028726f6f742e5f203d3d3d207468697329207b0a2020202020202020726f6f742e5f203d206f6c64446173683b0a2020202020207d0a20202020202072657475726e20746869733b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732060756e646566696e6564602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e332e300a20202020202a204063617465676f7279205574696c0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e6e6f6f70293b0a20202020202a202f2f203d3e205b756e646566696e65642c20756e646566696e65645d0a20202020202a2f0a2020202066756e6374696f6e206e6f6f702829207b0a2020202020202f2f204e6f206f7065726174696f6e20706572666f726d65642e0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420676574732074686520617267756d656e7420617420696e64657820606e602e20496620606e60206973206e656761746976652c0a20202020202a20746865206e746820617267756d656e742066726f6d2074686520656e642069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b6e3d305d2054686520696e646578206f662074686520617267756d656e7420746f2072657475726e2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e657720706173732d746872752066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6e74684172672831293b0a20202020202a2066756e63282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e202762270a20202020202a0a20202020202a207661722066756e63203d205f2e6e7468417267282d32293b0a20202020202a2066756e63282761272c202762272c202763272c20276427293b0a20202020202a202f2f203d3e202763270a20202020202a2f0a2020202066756e6374696f6e206e7468417267286e29207b0a2020202020206e203d20746f496e7465676572286e293b0a20202020202072657475726e2062617365526573742866756e6374696f6e286172677329207b0a202020202020202072657475726e20626173654e746828617267732c206e293b0a2020202020207d293b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420696e766f6b657320606974657261746565736020776974682074686520617267756d656e74732069742072656365697665730a20202020202a20616e642072657475726e7320746865697220726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b6974657261746565733d5b5f2e6964656e746974795d5d0a20202020202a20205468652069746572617465657320746f20696e766f6b652e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572285b4d6174682e6d61782c204d6174682e6d696e5d293b0a20202020202a0a20202020202a2066756e6328312c20322c20332c2034293b0a20202020202a202f2f203d3e205b342c20315d0a20202020202a2f0a20202020766172206f766572203d206372656174654f7665722861727261794d6170293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420636865636b73206966202a2a616c6c2a2a206f6620746865206070726564696361746573602072657475726e0a20202020202a20747275746879207768656e20696e766f6b656420776974682074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b707265646963617465733d5b5f2e6964656e746974795d5d0a20202020202a2020546865207072656469636174657320746f20636865636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f7665724576657279285b426f6f6c65616e2c20697346696e6974655d293b0a20202020202a0a20202020202a2066756e6328273127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63286e756c6c293b0a20202020202a202f2f203d3e2066616c73650a20202020202a0a20202020202a2066756e63284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206f7665724576657279203d206372656174654f7665722861727261794576657279293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e207468617420636865636b73206966202a2a616e792a2a206f6620746865206070726564696361746573602072657475726e0a20202020202a20747275746879207768656e20696e766f6b656420776974682074686520617267756d656e74732069742072656365697665732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2e2e2e2846756e6374696f6e7c46756e6374696f6e5b5d297d205b707265646963617465733d5b5f2e6964656e746974795d5d0a20202020202a2020546865207072656469636174657320746f20636865636b2e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e65772066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a207661722066756e63203d205f2e6f766572536f6d65285b426f6f6c65616e2c20697346696e6974655d293b0a20202020202a0a20202020202a2066756e6328273127293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63286e756c6c293b0a20202020202a202f2f203d3e20747275650a20202020202a0a20202020202a2066756e63284e614e293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a20202020766172206f766572536f6d65203d206372656174654f766572286172726179536f6d65293b0a0a202020202f2a2a0a20202020202a204372656174657320612066756e6374696f6e20746861742072657475726e73207468652076616c756520617420607061746860206f66206120676976656e206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520322e342e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b41727261797c737472696e677d2070617468205468652070617468206f66207468652070726f706572747920746f206765742e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b0a20202020202a2020207b202761273a207b202762273a2032207d207d2c0a20202020202a2020207b202761273a207b202762273a2031207d207d0a20202020202a205d3b0a20202020202a0a20202020202a205f2e6d6170286f626a656374732c205f2e70726f70657274792827612e622729293b0a20202020202a202f2f203d3e205b322c20315d0a20202020202a0a20202020202a205f2e6d6170285f2e736f72744279286f626a656374732c205f2e70726f7065727479285b2761272c202762275d29292c2027612e6227293b0a20202020202a202f2f203d3e205b312c20325d0a20202020202a2f0a2020202066756e6374696f6e2070726f7065727479287061746829207b0a20202020202072657475726e2069734b6579287061746829203f206261736550726f706572747928746f4b657928706174682929203a206261736550726f7065727479446565702870617468293b0a202020207d0a0a202020202f2a2a0a20202020202a20546865206f70706f73697465206f6620605f2e70726f7065727479603b2074686973206d6574686f64206372656174657320612066756e6374696f6e20746861742072657475726e730a20202020202a207468652076616c7565206174206120676976656e2070617468206f6620606f626a656374602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b4f626a6563747d206f626a65637420546865206f626a65637420746f2071756572792e0a20202020202a204072657475726e73207b46756e6374696f6e7d2052657475726e7320746865206e6577206163636573736f722066756e6374696f6e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206172726179203d205b302c20312c20325d2c0a20202020202a20202020206f626a656374203d207b202761273a2061727261792c202762273a2061727261792c202763273a206172726179207d3b0a20202020202a0a20202020202a205f2e6d6170285b27615b325d272c2027635b305d275d2c205f2e70726f70657274794f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a0a20202020202a205f2e6d6170285b5b2761272c202732275d2c205b2763272c202730275d5d2c205f2e70726f70657274794f66286f626a65637429293b0a20202020202a202f2f203d3e205b322c20305d0a20202020202a2f0a2020202066756e6374696f6e2070726f70657274794f66286f626a65637429207b0a20202020202072657475726e2066756e6374696f6e287061746829207b0a202020202020202072657475726e206f626a656374203d3d206e756c6c203f20756e646566696e6564203a2062617365476574286f626a6563742c2070617468293b0a2020202020207d3b0a202020207d0a0a202020202f2a2a0a20202020202a204372656174657320616e206172726179206f66206e756d626572732028706f73697469766520616e642f6f72206e65676174697665292070726f6772657373696e672066726f6d0a20202020202a206073746172746020757020746f2c20627574206e6f7420696e636c7564696e672c2060656e64602e20412073746570206f6620602d316020697320757365642069662061206e656761746976650a20202020202a20607374617274602069732073706563696669656420776974686f757420616e2060656e6460206f72206073746570602e2049662060656e6460206973206e6f74207370656369666965642c0a20202020202a20697427732073657420746f206073746172746020776974682060737461727460207468656e2073657420746f206030602e0a20202020202a0a20202020202a202a2a4e6f74653a2a2a204a61766153637269707420666f6c6c6f77732074686520494545452d373534207374616e6461726420666f72207265736f6c76696e670a20202020202a20666c6f6174696e672d706f696e742076616c7565732077686963682063616e2070726f6475636520756e657870656374656420726573756c74732e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d205b737465703d315d205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2040736565205f2e696e52616e67652c205f2e72616e676552696768740a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e67652834293b0a20202020202a202f2f203d3e205b302c20312c20322c20335d0a20202020202a0a20202020202a205f2e72616e6765282d34293b0a20202020202a202f2f203d3e205b302c202d312c202d322c202d335d0a20202020202a0a20202020202a205f2e72616e676528312c2035293b0a20202020202a202f2f203d3e205b312c20322c20332c20345d0a20202020202a0a20202020202a205f2e72616e676528302c2032302c2035293b0a20202020202a202f2f203d3e205b302c20352c2031302c2031355d0a20202020202a0a20202020202a205f2e72616e676528302c202d342c202d31293b0a20202020202a202f2f203d3e205b302c202d312c202d322c202d335d0a20202020202a0a20202020202a205f2e72616e676528312c20342c2030293b0a20202020202a202f2f203d3e205b312c20312c20315d0a20202020202a0a20202020202a205f2e72616e67652830293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a202020207661722072616e6765203d2063726561746552616e676528293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e72616e67656020657863657074207468617420697420706f70756c617465732076616c75657320696e0a20202020202a2064657363656e64696e67206f726465722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d205b73746172743d305d20546865207374617274206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d20656e642054686520656e64206f66207468652072616e67652e0a20202020202a2040706172616d207b6e756d6265727d205b737465703d315d205468652076616c756520746f20696e6372656d656e74206f722064656372656d656e742062792e0a20202020202a204072657475726e73207b41727261797d2052657475726e73207468652072616e6765206f66206e756d626572732e0a20202020202a2040736565205f2e696e52616e67652c205f2e72616e67650a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e72616e676552696768742834293b0a20202020202a202f2f203d3e205b332c20322c20312c20305d0a20202020202a0a20202020202a205f2e72616e67655269676874282d34293b0a20202020202a202f2f203d3e205b2d332c202d322c202d312c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428312c2035293b0a20202020202a202f2f203d3e205b342c20332c20322c20315d0a20202020202a0a20202020202a205f2e72616e6765526967687428302c2032302c2035293b0a20202020202a202f2f203d3e205b31352c2031302c20352c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428302c202d342c202d31293b0a20202020202a202f2f203d3e205b2d332c202d322c202d312c20305d0a20202020202a0a20202020202a205f2e72616e6765526967687428312c20342c2030293b0a20202020202a202f2f203d3e205b312c20312c20315d0a20202020202a0a20202020202a205f2e72616e676552696768742830293b0a20202020202a202f2f203d3e205b5d0a20202020202a2f0a202020207661722072616e67655269676874203d2063726561746552616e67652874727565293b0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732061206e657720656d7074792061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e657720656d7074792061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a2076617220617272617973203d205f2e74696d657328322c205f2e737475624172726179293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f6728617272617973293b0a20202020202a202f2f203d3e205b5b5d2c205b5d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286172726179735b305d203d3d3d206172726179735b315d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e207374756241727261792829207b0a20202020202072657475726e205b5d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e73206066616c7365602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206066616c7365602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e7374756246616c7365293b0a20202020202a202f2f203d3e205b66616c73652c2066616c73655d0a20202020202a2f0a2020202066756e6374696f6e207374756246616c73652829207b0a20202020202072657475726e2066616c73653b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e732061206e657720656d707479206f626a6563742e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b4f626a6563747d2052657475726e7320746865206e657720656d707479206f626a6563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205f2e74696d657328322c205f2e737475624f626a656374293b0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a65637473293b0a20202020202a202f2f203d3e205b7b7d2c207b7d5d0a20202020202a0a20202020202a20636f6e736f6c652e6c6f67286f626a656374735b305d203d3d3d206f626a656374735b315d293b0a20202020202a202f2f203d3e2066616c73650a20202020202a2f0a2020202066756e6374696f6e20737475624f626a6563742829207b0a20202020202072657475726e207b7d3b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e7320616e20656d70747920737472696e672e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520656d70747920737472696e672e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e73747562537472696e67293b0a20202020202a202f2f203d3e205b27272c2027275d0a20202020202a2f0a2020202066756e6374696f6e2073747562537472696e672829207b0a20202020202072657475726e2027273b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f642072657475726e73206074727565602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e31332e300a20202020202a204063617465676f7279205574696c0a20202020202a204072657475726e73207b626f6f6c65616e7d2052657475726e73206074727565602e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328322c205f2e7374756254727565293b0a20202020202a202f2f203d3e205b747275652c20747275655d0a20202020202a2f0a2020202066756e6374696f6e2073747562547275652829207b0a20202020202072657475726e20747275653b0a202020207d0a0a202020202f2a2a0a20202020202a20496e766f6b65732074686520697465726174656520606e602074696d65732c2072657475726e696e6720616e206172726179206f662074686520726573756c7473206f660a20202020202a206561636820696e766f636174696f6e2e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743b2028696e646578292e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b6e756d6265727d206e20546865206e756d626572206f662074696d657320746f20696e766f6b6520606974657261746565602e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d205468652066756e6374696f6e20696e766f6b65642070657220697465726174696f6e2e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206172726179206f6620726573756c74732e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e74696d657328332c20537472696e67293b0a20202020202a202f2f203d3e205b2730272c202731272c202732275d0a20202020202a0a20202020202a20205f2e74696d657328342c205f2e636f6e7374616e74283029293b0a20202020202a202f2f203d3e205b302c20302c20302c20305d0a20202020202a2f0a2020202066756e6374696f6e2074696d6573286e2c20697465726174656529207b0a2020202020206e203d20746f496e7465676572286e293b0a202020202020696620286e203c2031207c7c206e203e204d41585f534146455f494e544547455229207b0a202020202020202072657475726e205b5d3b0a2020202020207d0a20202020202076617220696e646578203d204d41585f41525241595f4c454e4754482c0a202020202020202020206c656e677468203d206e61746976654d696e286e2c204d41585f41525241595f4c454e475448293b0a0a2020202020206974657261746565203d206765744974657261746565286974657261746565293b0a2020202020206e202d3d204d41585f41525241595f4c454e4754483b0a0a20202020202076617220726573756c74203d206261736554696d6573286c656e6774682c206974657261746565293b0a2020202020207768696c6520282b2b696e646578203c206e29207b0a2020202020202020697465726174656528696e646578293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6e7665727473206076616c75656020746f20612070726f706572747920706174682061727261792e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b2a7d2076616c7565205468652076616c756520746f20636f6e766572742e0a20202020202a204072657475726e73207b41727261797d2052657475726e7320746865206e65772070726f706572747920706174682061727261792e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e746f506174682827612e622e6327293b0a20202020202a202f2f203d3e205b2761272c202762272c202763275d0a20202020202a0a20202020202a205f2e746f506174682827615b305d2e622e6327293b0a20202020202a202f2f203d3e205b2761272c202730272c202762272c202763275d0a20202020202a2f0a2020202066756e6374696f6e20746f506174682876616c756529207b0a20202020202069662028697341727261792876616c75652929207b0a202020202020202072657475726e2061727261794d61702876616c75652c20746f4b6579293b0a2020202020207d0a20202020202072657475726e20697353796d626f6c2876616c756529203f205b76616c75655d203a20636f7079417272617928737472696e67546f5061746828746f537472696e672876616c75652929293b0a202020207d0a0a202020202f2a2a0a20202020202a2047656e657261746573206120756e697175652049442e20496620607072656669786020697320676976656e2c2074686520494420697320617070656e64656420746f2069742e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279205574696c0a20202020202a2040706172616d207b737472696e677d205b7072656669783d27275d205468652076616c756520746f207072656669782074686520494420776974682e0a20202020202a204072657475726e73207b737472696e677d2052657475726e732074686520756e697175652049442e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e756e6971756549642827636f6e746163745f27293b0a20202020202a202f2f203d3e2027636f6e746163745f313034270a20202020202a0a20202020202a205f2e756e69717565496428293b0a20202020202a202f2f203d3e2027313035270a20202020202a2f0a2020202066756e6374696f6e20756e6971756549642870726566697829207b0a202020202020766172206964203d202b2b6964436f756e7465723b0a20202020202072657475726e20746f537472696e672870726566697829202b2069643b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a20416464732074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e342e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d20617567656e6420546865206669727374206e756d62657220696e20616e206164646974696f6e2e0a20202020202a2040706172616d207b6e756d6265727d20616464656e6420546865207365636f6e64206e756d62657220696e20616e206164646974696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520746f74616c2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e61646428362c2034293b0a20202020202a202f2f203d3e2031300a20202020202a2f0a2020202076617220616464203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e28617567656e642c20616464656e6429207b0a20202020202072657475726e20617567656e64202b20616464656e643b0a202020207d2c2030293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420757020746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e642075702e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420757020746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e646564207570206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6365696c28342e303036293b0a20202020202a202f2f203d3e20350a20202020202a0a20202020202a205f2e6365696c28362e3030342c2032293b0a20202020202a202f2f203d3e20362e30310a20202020202a0a20202020202a205f2e6365696c28363034302c202d32293b0a20202020202a202f2f203d3e20363130300a20202020202a2f0a20202020766172206365696c203d20637265617465526f756e6428276365696c27293b0a0a202020202f2a2a0a20202020202a204469766964652074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206469766964656e6420546865206669727374206e756d62657220696e2061206469766973696f6e2e0a20202020202a2040706172616d207b6e756d6265727d2064697669736f7220546865207365636f6e64206e756d62657220696e2061206469766973696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652071756f7469656e742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e64697669646528362c2034293b0a20202020202a202f2f203d3e20312e350a20202020202a2f0a2020202076617220646976696465203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286469766964656e642c2064697669736f7229207b0a20202020202072657475726e206469766964656e64202f2064697669736f723b0a202020207d2c2031293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420646f776e20746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e6420646f776e2e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420646f776e20746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e64656420646f776e206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e666c6f6f7228342e303036293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e666c6f6f7228302e3034362c2032293b0a20202020202a202f2f203d3e20302e30340a20202020202a0a20202020202a205f2e666c6f6f7228343036302c202d32293b0a20202020202a202f2f203d3e20343030300a20202020202a2f0a2020202076617220666c6f6f72203d20637265617465526f756e642827666c6f6f7227293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d6178696d756d2076616c7565206f6620606172726179602e204966206061727261796020697320656d707479206f722066616c7365792c0a20202020202a2060756e646566696e6564602069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6178696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d6178285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20380a20202020202a0a20202020202a205f2e6d6178285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206d617828617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c206964656e746974792c20626173654774290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d617860206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a207468652076616c75652069732072616e6b65642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d6178696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2031207d2c207b20276e273a2032207d5d3b0a20202020202a0a20202020202a205f2e6d61784279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e207b20276e273a2032207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d61784279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e207b20276e273a2032207d0a20202020202a2f0a2020202066756e6374696f6e206d617842792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c2067657449746572617465652869746572617465652c2032292c20626173654774290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d65616e206f66207468652076616c75657320696e20606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d65616e285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e206d65616e28617272617929207b0a20202020202072657475726e20626173654d65616e2861727261792c206964656e74697479293b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d65616e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e6572617465207468652076616c756520746f2062652061766572616765642e0a20202020202a2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e7320746865206d65616e2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2034207d2c207b20276e273a2032207d2c207b20276e273a2038207d2c207b20276e273a2036207d5d3b0a20202020202a0a20202020202a205f2e6d65616e4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e20350a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d65616e4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e20350a20202020202a2f0a2020202066756e6374696f6e206d65616e42792861727261792c20697465726174656529207b0a20202020202072657475726e20626173654d65616e2861727261792c2067657449746572617465652869746572617465652c203229293b0a202020207d0a0a202020202f2a2a0a20202020202a20436f6d707574657320746865206d696e696d756d2076616c7565206f6620606172726179602e204966206061727261796020697320656d707479206f722066616c7365792c0a20202020202a2060756e646566696e6564602069732072657475726e65642e0a20202020202a0a20202020202a20407374617469630a20202020202a204073696e636520302e312e300a20202020202a20406d656d6265724f66205f0a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d696e696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d696e285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e20320a20202020202a0a20202020202a205f2e6d696e285b5d293b0a20202020202a202f2f203d3e20756e646566696e65640a20202020202a2f0a2020202066756e6374696f6e206d696e28617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c206964656e746974792c20626173654c74290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e6d696e60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e65726174652074686520637269746572696f6e2062792077686963680a20202020202a207468652076616c75652069732072616e6b65642e2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b2a7d2052657475726e7320746865206d696e696d756d2076616c75652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2031207d2c207b20276e273a2032207d5d3b0a20202020202a0a20202020202a205f2e6d696e4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e207b20276e273a2031207d0a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e6d696e4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e207b20276e273a2031207d0a20202020202a2f0a2020202066756e6374696f6e206d696e42792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736545787472656d756d2861727261792c2067657449746572617465652869746572617465652c2032292c20626173654c74290a20202020202020203a20756e646566696e65643b0a202020207d0a0a202020202f2a2a0a20202020202a204d756c7469706c792074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e372e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206d756c7469706c69657220546865206669727374206e756d62657220696e2061206d756c7469706c69636174696f6e2e0a20202020202a2040706172616d207b6e756d6265727d206d756c7469706c6963616e6420546865207365636f6e64206e756d62657220696e2061206d756c7469706c69636174696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652070726f647563742e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e6d756c7469706c7928362c2034293b0a20202020202a202f2f203d3e2032340a20202020202a2f0a20202020766172206d756c7469706c79203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286d756c7469706c6965722c206d756c7469706c6963616e6429207b0a20202020202072657475726e206d756c7469706c696572202a206d756c7469706c6963616e643b0a202020207d2c2031293b0a0a202020202f2a2a0a20202020202a20436f6d707574657320606e756d6265726020726f756e64656420746f2060707265636973696f6e602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e31302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206e756d62657220546865206e756d62657220746f20726f756e642e0a20202020202a2040706172616d207b6e756d6265727d205b707265636973696f6e3d305d2054686520707265636973696f6e20746f20726f756e6420746f2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520726f756e646564206e756d6265722e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e726f756e6428342e303036293b0a20202020202a202f2f203d3e20340a20202020202a0a20202020202a205f2e726f756e6428342e3030362c2032293b0a20202020202a202f2f203d3e20342e30310a20202020202a0a20202020202a205f2e726f756e6428343036302c202d32293b0a20202020202a202f2f203d3e20343130300a20202020202a2f0a2020202076617220726f756e64203d20637265617465526f756e642827726f756e6427293b0a0a202020202f2a2a0a20202020202a2053756274726163742074776f206e756d626572732e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b6e756d6265727d206d696e75656e6420546865206669727374206e756d62657220696e2061207375627472616374696f6e2e0a20202020202a2040706172616d207b6e756d6265727d2073756274726168656e6420546865207365636f6e64206e756d62657220696e2061207375627472616374696f6e2e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e732074686520646966666572656e63652e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e737562747261637428362c2034293b0a20202020202a202f2f203d3e20320a20202020202a2f0a20202020766172207375627472616374203d206372656174654d6174684f7065726174696f6e2866756e6374696f6e286d696e75656e642c2073756274726168656e6429207b0a20202020202072657475726e206d696e75656e64202d2073756274726168656e643b0a202020207d2c2030293b0a0a202020202f2a2a0a20202020202a20436f6d7075746573207468652073756d206f66207468652076616c75657320696e20606172726179602e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520332e342e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a205f2e73756d285b342c20322c20382c20365d293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e2073756d28617272617929207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736553756d2861727261792c206964656e74697479290a20202020202020203a20303b0a202020207d0a0a202020202f2a2a0a20202020202a2054686973206d6574686f64206973206c696b6520605f2e73756d60206578636570742074686174206974206163636570747320606974657261746565602077686963682069730a20202020202a20696e766f6b656420666f72206561636820656c656d656e7420696e206061727261796020746f2067656e6572617465207468652076616c756520746f2062652073756d6d65642e0a20202020202a2054686520697465726174656520697320696e766f6b65642077697468206f6e6520617267756d656e743a202876616c7565292e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204073696e636520342e302e300a20202020202a204063617465676f7279204d6174680a20202020202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a20202020202a2040706172616d207b46756e6374696f6e7d205b69746572617465653d5f2e6964656e746974795d2054686520697465726174656520696e766f6b65642070657220656c656d656e742e0a20202020202a204072657475726e73207b6e756d6265727d2052657475726e73207468652073756d2e0a20202020202a20406578616d706c650a20202020202a0a20202020202a20766172206f626a65637473203d205b7b20276e273a2034207d2c207b20276e273a2032207d2c207b20276e273a2038207d2c207b20276e273a2036207d5d3b0a20202020202a0a20202020202a205f2e73756d4279286f626a656374732c2066756e6374696f6e286f29207b2072657475726e206f2e6e3b207d293b0a20202020202a202f2f203d3e2032300a20202020202a0a20202020202a202f2f2054686520605f2e70726f7065727479602069746572617465652073686f727468616e642e0a20202020202a205f2e73756d4279286f626a656374732c20276e27293b0a20202020202a202f2f203d3e2032300a20202020202a2f0a2020202066756e6374696f6e2073756d42792861727261792c20697465726174656529207b0a20202020202072657475726e202861727261792026262061727261792e6c656e677468290a20202020202020203f206261736553756d2861727261792c2067657449746572617465652869746572617465652c203229290a20202020202020203a20303b0a202020207d0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2f20416464206d6574686f647320746861742072657475726e20777261707065642076616c75657320696e20636861696e2073657175656e6365732e0a202020206c6f646173682e6166746572203d2061667465723b0a202020206c6f646173682e617279203d206172793b0a202020206c6f646173682e61737369676e203d2061737369676e3b0a202020206c6f646173682e61737369676e496e203d2061737369676e496e3b0a202020206c6f646173682e61737369676e496e57697468203d2061737369676e496e576974683b0a202020206c6f646173682e61737369676e57697468203d2061737369676e576974683b0a202020206c6f646173682e6174203d2061743b0a202020206c6f646173682e6265666f7265203d206265666f72653b0a202020206c6f646173682e62696e64203d2062696e643b0a202020206c6f646173682e62696e64416c6c203d2062696e64416c6c3b0a202020206c6f646173682e62696e644b6579203d2062696e644b65793b0a202020206c6f646173682e636173744172726179203d206361737441727261793b0a202020206c6f646173682e636861696e203d20636861696e3b0a202020206c6f646173682e6368756e6b203d206368756e6b3b0a202020206c6f646173682e636f6d70616374203d20636f6d706163743b0a202020206c6f646173682e636f6e636174203d20636f6e6361743b0a202020206c6f646173682e636f6e64203d20636f6e643b0a202020206c6f646173682e636f6e666f726d73203d20636f6e666f726d733b0a202020206c6f646173682e636f6e7374616e74203d20636f6e7374616e743b0a202020206c6f646173682e636f756e744279203d20636f756e7442793b0a202020206c6f646173682e637265617465203d206372656174653b0a202020206c6f646173682e6375727279203d2063757272793b0a202020206c6f646173682e63757272795269676874203d20637572727952696768743b0a202020206c6f646173682e6465626f756e6365203d206465626f756e63653b0a202020206c6f646173682e64656661756c7473203d2064656661756c74733b0a202020206c6f646173682e64656661756c747344656570203d2064656661756c7473446565703b0a202020206c6f646173682e6465666572203d2064656665723b0a202020206c6f646173682e64656c6179203d2064656c61793b0a202020206c6f646173682e646966666572656e6365203d20646966666572656e63653b0a202020206c6f646173682e646966666572656e63654279203d20646966666572656e636542793b0a202020206c6f646173682e646966666572656e636557697468203d20646966666572656e6365576974683b0a202020206c6f646173682e64726f70203d2064726f703b0a202020206c6f646173682e64726f705269676874203d2064726f7052696768743b0a202020206c6f646173682e64726f7052696768745768696c65203d2064726f7052696768745768696c653b0a202020206c6f646173682e64726f705768696c65203d2064726f705768696c653b0a202020206c6f646173682e66696c6c203d2066696c6c3b0a202020206c6f646173682e66696c746572203d2066696c7465723b0a202020206c6f646173682e666c61744d6170203d20666c61744d61703b0a202020206c6f646173682e666c61744d617044656570203d20666c61744d6170446565703b0a202020206c6f646173682e666c61744d61704465707468203d20666c61744d617044657074683b0a202020206c6f646173682e666c617474656e203d20666c617474656e3b0a202020206c6f646173682e666c617474656e44656570203d20666c617474656e446565703b0a202020206c6f646173682e666c617474656e4465707468203d20666c617474656e44657074683b0a202020206c6f646173682e666c6970203d20666c69703b0a202020206c6f646173682e666c6f77203d20666c6f773b0a202020206c6f646173682e666c6f775269676874203d20666c6f7752696768743b0a202020206c6f646173682e66726f6d5061697273203d2066726f6d50616972733b0a202020206c6f646173682e66756e6374696f6e73203d2066756e6374696f6e733b0a202020206c6f646173682e66756e6374696f6e73496e203d2066756e6374696f6e73496e3b0a202020206c6f646173682e67726f75704279203d2067726f757042793b0a202020206c6f646173682e696e697469616c203d20696e697469616c3b0a202020206c6f646173682e696e74657273656374696f6e203d20696e74657273656374696f6e3b0a202020206c6f646173682e696e74657273656374696f6e4279203d20696e74657273656374696f6e42793b0a202020206c6f646173682e696e74657273656374696f6e57697468203d20696e74657273656374696f6e576974683b0a202020206c6f646173682e696e76657274203d20696e766572743b0a202020206c6f646173682e696e766572744279203d20696e7665727442793b0a202020206c6f646173682e696e766f6b654d6170203d20696e766f6b654d61703b0a202020206c6f646173682e6974657261746565203d2069746572617465653b0a202020206c6f646173682e6b65794279203d206b657942793b0a202020206c6f646173682e6b657973203d206b6579733b0a202020206c6f646173682e6b657973496e203d206b657973496e3b0a202020206c6f646173682e6d6170203d206d61703b0a202020206c6f646173682e6d61704b657973203d206d61704b6579733b0a202020206c6f646173682e6d617056616c756573203d206d617056616c7565733b0a202020206c6f646173682e6d617463686573203d206d6174636865733b0a202020206c6f646173682e6d61746368657350726f7065727479203d206d61746368657350726f70657274793b0a202020206c6f646173682e6d656d6f697a65203d206d656d6f697a653b0a202020206c6f646173682e6d65726765203d206d657267653b0a202020206c6f646173682e6d6572676557697468203d206d65726765576974683b0a202020206c6f646173682e6d6574686f64203d206d6574686f643b0a202020206c6f646173682e6d6574686f644f66203d206d6574686f644f663b0a202020206c6f646173682e6d6978696e203d206d6978696e3b0a202020206c6f646173682e6e6567617465203d206e65676174653b0a202020206c6f646173682e6e7468417267203d206e74684172673b0a202020206c6f646173682e6f6d6974203d206f6d69743b0a202020206c6f646173682e6f6d69744279203d206f6d697442793b0a202020206c6f646173682e6f6e6365203d206f6e63653b0a202020206c6f646173682e6f726465724279203d206f7264657242793b0a202020206c6f646173682e6f766572203d206f7665723b0a202020206c6f646173682e6f76657241726773203d206f766572417267733b0a202020206c6f646173682e6f7665724576657279203d206f76657245766572793b0a202020206c6f646173682e6f766572536f6d65203d206f766572536f6d653b0a202020206c6f646173682e7061727469616c203d207061727469616c3b0a202020206c6f646173682e7061727469616c5269676874203d207061727469616c52696768743b0a202020206c6f646173682e706172746974696f6e203d20706172746974696f6e3b0a202020206c6f646173682e7069636b203d207069636b3b0a202020206c6f646173682e7069636b4279203d207069636b42793b0a202020206c6f646173682e70726f7065727479203d2070726f70657274793b0a202020206c6f646173682e70726f70657274794f66203d2070726f70657274794f663b0a202020206c6f646173682e70756c6c203d2070756c6c3b0a202020206c6f646173682e70756c6c416c6c203d2070756c6c416c6c3b0a202020206c6f646173682e70756c6c416c6c4279203d2070756c6c416c6c42793b0a202020206c6f646173682e70756c6c416c6c57697468203d2070756c6c416c6c576974683b0a202020206c6f646173682e70756c6c4174203d2070756c6c41743b0a202020206c6f646173682e72616e6765203d2072616e67653b0a202020206c6f646173682e72616e67655269676874203d2072616e676552696768743b0a202020206c6f646173682e7265617267203d2072656172673b0a202020206c6f646173682e72656a656374203d2072656a6563743b0a202020206c6f646173682e72656d6f7665203d2072656d6f76653b0a202020206c6f646173682e72657374203d20726573743b0a202020206c6f646173682e72657665727365203d20726576657273653b0a202020206c6f646173682e73616d706c6553697a65203d2073616d706c6553697a653b0a202020206c6f646173682e736574203d207365743b0a202020206c6f646173682e73657457697468203d20736574576974683b0a202020206c6f646173682e73687566666c65203d2073687566666c653b0a202020206c6f646173682e736c696365203d20736c6963653b0a202020206c6f646173682e736f72744279203d20736f727442793b0a202020206c6f646173682e736f72746564556e6971203d20736f72746564556e69713b0a202020206c6f646173682e736f72746564556e69714279203d20736f72746564556e697142793b0a202020206c6f646173682e73706c6974203d2073706c69743b0a202020206c6f646173682e737072656164203d207370726561643b0a202020206c6f646173682e7461696c203d207461696c3b0a202020206c6f646173682e74616b65203d2074616b653b0a202020206c6f646173682e74616b655269676874203d2074616b6552696768743b0a202020206c6f646173682e74616b6552696768745768696c65203d2074616b6552696768745768696c653b0a202020206c6f646173682e74616b655768696c65203d2074616b655768696c653b0a202020206c6f646173682e746170203d207461703b0a202020206c6f646173682e7468726f74746c65203d207468726f74746c653b0a202020206c6f646173682e74687275203d20746872753b0a202020206c6f646173682e746f4172726179203d20746f41727261793b0a202020206c6f646173682e746f5061697273203d20746f50616972733b0a202020206c6f646173682e746f5061697273496e203d20746f5061697273496e3b0a202020206c6f646173682e746f50617468203d20746f506174683b0a202020206c6f646173682e746f506c61696e4f626a656374203d20746f506c61696e4f626a6563743b0a202020206c6f646173682e7472616e73666f726d203d207472616e73666f726d3b0a202020206c6f646173682e756e617279203d20756e6172793b0a202020206c6f646173682e756e696f6e203d20756e696f6e3b0a202020206c6f646173682e756e696f6e4279203d20756e696f6e42793b0a202020206c6f646173682e756e696f6e57697468203d20756e696f6e576974683b0a202020206c6f646173682e756e6971203d20756e69713b0a202020206c6f646173682e756e69714279203d20756e697142793b0a202020206c6f646173682e756e697157697468203d20756e6971576974683b0a202020206c6f646173682e756e736574203d20756e7365743b0a202020206c6f646173682e756e7a6970203d20756e7a69703b0a202020206c6f646173682e756e7a697057697468203d20756e7a6970576974683b0a202020206c6f646173682e757064617465203d207570646174653b0a202020206c6f646173682e75706461746557697468203d20757064617465576974683b0a202020206c6f646173682e76616c756573203d2076616c7565733b0a202020206c6f646173682e76616c756573496e203d2076616c756573496e3b0a202020206c6f646173682e776974686f7574203d20776974686f75743b0a202020206c6f646173682e776f726473203d20776f7264733b0a202020206c6f646173682e77726170203d20777261703b0a202020206c6f646173682e786f72203d20786f723b0a202020206c6f646173682e786f724279203d20786f7242793b0a202020206c6f646173682e786f7257697468203d20786f72576974683b0a202020206c6f646173682e7a6970203d207a69703b0a202020206c6f646173682e7a69704f626a656374203d207a69704f626a6563743b0a202020206c6f646173682e7a69704f626a65637444656570203d207a69704f626a656374446565703b0a202020206c6f646173682e7a697057697468203d207a6970576974683b0a0a202020202f2f2041646420616c69617365732e0a202020206c6f646173682e656e7472696573203d20746f50616972733b0a202020206c6f646173682e656e7472696573496e203d20746f5061697273496e3b0a202020206c6f646173682e657874656e64203d2061737369676e496e3b0a202020206c6f646173682e657874656e6457697468203d2061737369676e496e576974683b0a0a202020202f2f20416464206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a202020206d6978696e286c6f646173682c206c6f64617368293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2f20416464206d6574686f647320746861742072657475726e20756e777261707065642076616c75657320696e20636861696e2073657175656e6365732e0a202020206c6f646173682e616464203d206164643b0a202020206c6f646173682e617474656d7074203d20617474656d70743b0a202020206c6f646173682e63616d656c43617365203d2063616d656c436173653b0a202020206c6f646173682e6361706974616c697a65203d206361706974616c697a653b0a202020206c6f646173682e6365696c203d206365696c3b0a202020206c6f646173682e636c616d70203d20636c616d703b0a202020206c6f646173682e636c6f6e65203d20636c6f6e653b0a202020206c6f646173682e636c6f6e6544656570203d20636c6f6e65446565703b0a202020206c6f646173682e636c6f6e654465657057697468203d20636c6f6e6544656570576974683b0a202020206c6f646173682e636c6f6e6557697468203d20636c6f6e65576974683b0a202020206c6f646173682e636f6e666f726d73546f203d20636f6e666f726d73546f3b0a202020206c6f646173682e646562757272203d206465627572723b0a202020206c6f646173682e64656661756c74546f203d2064656661756c74546f3b0a202020206c6f646173682e646976696465203d206469766964653b0a202020206c6f646173682e656e647357697468203d20656e6473576974683b0a202020206c6f646173682e6571203d2065713b0a202020206c6f646173682e657363617065203d206573636170653b0a202020206c6f646173682e657363617065526567457870203d206573636170655265674578703b0a202020206c6f646173682e6576657279203d2065766572793b0a202020206c6f646173682e66696e64203d2066696e643b0a202020206c6f646173682e66696e64496e646578203d2066696e64496e6465783b0a202020206c6f646173682e66696e644b6579203d2066696e644b65793b0a202020206c6f646173682e66696e644c617374203d2066696e644c6173743b0a202020206c6f646173682e66696e644c617374496e646578203d2066696e644c617374496e6465783b0a202020206c6f646173682e66696e644c6173744b6579203d2066696e644c6173744b65793b0a202020206c6f646173682e666c6f6f72203d20666c6f6f723b0a202020206c6f646173682e666f7245616368203d20666f72456163683b0a202020206c6f646173682e666f72456163685269676874203d20666f724561636852696768743b0a202020206c6f646173682e666f72496e203d20666f72496e3b0a202020206c6f646173682e666f72496e5269676874203d20666f72496e52696768743b0a202020206c6f646173682e666f724f776e203d20666f724f776e3b0a202020206c6f646173682e666f724f776e5269676874203d20666f724f776e52696768743b0a202020206c6f646173682e676574203d206765743b0a202020206c6f646173682e6774203d2067743b0a202020206c6f646173682e677465203d206774653b0a202020206c6f646173682e686173203d206861733b0a202020206c6f646173682e686173496e203d20686173496e3b0a202020206c6f646173682e68656164203d20686561643b0a202020206c6f646173682e6964656e74697479203d206964656e746974793b0a202020206c6f646173682e696e636c75646573203d20696e636c756465733b0a202020206c6f646173682e696e6465784f66203d20696e6465784f663b0a202020206c6f646173682e696e52616e6765203d20696e52616e67653b0a202020206c6f646173682e696e766f6b65203d20696e766f6b653b0a202020206c6f646173682e6973417267756d656e7473203d206973417267756d656e74733b0a202020206c6f646173682e69734172726179203d20697341727261793b0a202020206c6f646173682e69734172726179427566666572203d20697341727261794275666665723b0a202020206c6f646173682e697341727261794c696b65203d20697341727261794c696b653b0a202020206c6f646173682e697341727261794c696b654f626a656374203d20697341727261794c696b654f626a6563743b0a202020206c6f646173682e6973426f6f6c65616e203d206973426f6f6c65616e3b0a202020206c6f646173682e6973427566666572203d2069734275666665723b0a202020206c6f646173682e697344617465203d206973446174653b0a202020206c6f646173682e6973456c656d656e74203d206973456c656d656e743b0a202020206c6f646173682e6973456d707479203d206973456d7074793b0a202020206c6f646173682e6973457175616c203d206973457175616c3b0a202020206c6f646173682e6973457175616c57697468203d206973457175616c576974683b0a202020206c6f646173682e69734572726f72203d2069734572726f723b0a202020206c6f646173682e697346696e697465203d20697346696e6974653b0a202020206c6f646173682e697346756e6374696f6e203d20697346756e6374696f6e3b0a202020206c6f646173682e6973496e7465676572203d206973496e74656765723b0a202020206c6f646173682e69734c656e677468203d2069734c656e6774683b0a202020206c6f646173682e69734d6170203d2069734d61703b0a202020206c6f646173682e69734d61746368203d2069734d617463683b0a202020206c6f646173682e69734d6174636857697468203d2069734d61746368576974683b0a202020206c6f646173682e69734e614e203d2069734e614e3b0a202020206c6f646173682e69734e6174697665203d2069734e61746976653b0a202020206c6f646173682e69734e696c203d2069734e696c3b0a202020206c6f646173682e69734e756c6c203d2069734e756c6c3b0a202020206c6f646173682e69734e756d626572203d2069734e756d6265723b0a202020206c6f646173682e69734f626a656374203d2069734f626a6563743b0a202020206c6f646173682e69734f626a6563744c696b65203d2069734f626a6563744c696b653b0a202020206c6f646173682e6973506c61696e4f626a656374203d206973506c61696e4f626a6563743b0a202020206c6f646173682e6973526567457870203d2069735265674578703b0a202020206c6f646173682e697353616665496e7465676572203d20697353616665496e74656765723b0a202020206c6f646173682e6973536574203d2069735365743b0a202020206c6f646173682e6973537472696e67203d206973537472696e673b0a202020206c6f646173682e697353796d626f6c203d20697353796d626f6c3b0a202020206c6f646173682e697354797065644172726179203d206973547970656441727261793b0a202020206c6f646173682e6973556e646566696e6564203d206973556e646566696e65643b0a202020206c6f646173682e69735765616b4d6170203d2069735765616b4d61703b0a202020206c6f646173682e69735765616b536574203d2069735765616b5365743b0a202020206c6f646173682e6a6f696e203d206a6f696e3b0a202020206c6f646173682e6b6562616243617365203d206b65626162436173653b0a202020206c6f646173682e6c617374203d206c6173743b0a202020206c6f646173682e6c617374496e6465784f66203d206c617374496e6465784f663b0a202020206c6f646173682e6c6f77657243617365203d206c6f776572436173653b0a202020206c6f646173682e6c6f7765724669727374203d206c6f77657246697273743b0a202020206c6f646173682e6c74203d206c743b0a202020206c6f646173682e6c7465203d206c74653b0a202020206c6f646173682e6d6178203d206d61783b0a202020206c6f646173682e6d61784279203d206d617842793b0a202020206c6f646173682e6d65616e203d206d65616e3b0a202020206c6f646173682e6d65616e4279203d206d65616e42793b0a202020206c6f646173682e6d696e203d206d696e3b0a202020206c6f646173682e6d696e4279203d206d696e42793b0a202020206c6f646173682e737475624172726179203d207374756241727261793b0a202020206c6f646173682e7374756246616c7365203d207374756246616c73653b0a202020206c6f646173682e737475624f626a656374203d20737475624f626a6563743b0a202020206c6f646173682e73747562537472696e67203d2073747562537472696e673b0a202020206c6f646173682e7374756254727565203d2073747562547275653b0a202020206c6f646173682e6d756c7469706c79203d206d756c7469706c793b0a202020206c6f646173682e6e7468203d206e74683b0a202020206c6f646173682e6e6f436f6e666c696374203d206e6f436f6e666c6963743b0a202020206c6f646173682e6e6f6f70203d206e6f6f703b0a202020206c6f646173682e6e6f77203d206e6f773b0a202020206c6f646173682e706164203d207061643b0a202020206c6f646173682e706164456e64203d20706164456e643b0a202020206c6f646173682e7061645374617274203d2070616453746172743b0a202020206c6f646173682e7061727365496e74203d207061727365496e743b0a202020206c6f646173682e72616e646f6d203d2072616e646f6d3b0a202020206c6f646173682e726564756365203d207265647563653b0a202020206c6f646173682e7265647563655269676874203d2072656475636552696768743b0a202020206c6f646173682e726570656174203d207265706561743b0a202020206c6f646173682e7265706c616365203d207265706c6163653b0a202020206c6f646173682e726573756c74203d20726573756c743b0a202020206c6f646173682e726f756e64203d20726f756e643b0a202020206c6f646173682e72756e496e436f6e74657874203d2072756e496e436f6e746578743b0a202020206c6f646173682e73616d706c65203d2073616d706c653b0a202020206c6f646173682e73697a65203d2073697a653b0a202020206c6f646173682e736e616b6543617365203d20736e616b65436173653b0a202020206c6f646173682e736f6d65203d20736f6d653b0a202020206c6f646173682e736f72746564496e646578203d20736f72746564496e6465783b0a202020206c6f646173682e736f72746564496e6465784279203d20736f72746564496e64657842793b0a202020206c6f646173682e736f72746564496e6465784f66203d20736f72746564496e6465784f663b0a202020206c6f646173682e736f727465644c617374496e646578203d20736f727465644c617374496e6465783b0a202020206c6f646173682e736f727465644c617374496e6465784279203d20736f727465644c617374496e64657842793b0a202020206c6f646173682e736f727465644c617374496e6465784f66203d20736f727465644c617374496e6465784f663b0a202020206c6f646173682e737461727443617365203d207374617274436173653b0a202020206c6f646173682e73746172747357697468203d20737461727473576974683b0a202020206c6f646173682e7375627472616374203d2073756274726163743b0a202020206c6f646173682e73756d203d2073756d3b0a202020206c6f646173682e73756d4279203d2073756d42793b0a202020206c6f646173682e74656d706c617465203d2074656d706c6174653b0a202020206c6f646173682e74696d6573203d2074696d65733b0a202020206c6f646173682e746f46696e697465203d20746f46696e6974653b0a202020206c6f646173682e746f496e7465676572203d20746f496e74656765723b0a202020206c6f646173682e746f4c656e677468203d20746f4c656e6774683b0a202020206c6f646173682e746f4c6f776572203d20746f4c6f7765723b0a202020206c6f646173682e746f4e756d626572203d20746f4e756d6265723b0a202020206c6f646173682e746f53616665496e7465676572203d20746f53616665496e74656765723b0a202020206c6f646173682e746f537472696e67203d20746f537472696e673b0a202020206c6f646173682e746f5570706572203d20746f55707065723b0a202020206c6f646173682e7472696d203d207472696d3b0a202020206c6f646173682e7472696d456e64203d207472696d456e643b0a202020206c6f646173682e7472696d5374617274203d207472696d53746172743b0a202020206c6f646173682e7472756e63617465203d207472756e636174653b0a202020206c6f646173682e756e657363617065203d20756e6573636170653b0a202020206c6f646173682e756e697175654964203d20756e6971756549643b0a202020206c6f646173682e757070657243617365203d207570706572436173653b0a202020206c6f646173682e75707065724669727374203d20757070657246697273743b0a0a202020202f2f2041646420616c69617365732e0a202020206c6f646173682e65616368203d20666f72456163683b0a202020206c6f646173682e656163685269676874203d20666f724561636852696768743b0a202020206c6f646173682e6669727374203d20686561643b0a0a202020206d6978696e286c6f646173682c202866756e6374696f6e2829207b0a20202020202076617220736f75726365203d207b7d3b0a20202020202062617365466f724f776e286c6f646173682c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a202020202020202069662028216861734f776e50726f70657274792e63616c6c286c6f646173682e70726f746f747970652c206d6574686f644e616d652929207b0a20202020202020202020736f757263655b6d6574686f644e616d655d203d2066756e633b0a20202020202020207d0a2020202020207d293b0a20202020202072657475726e20736f757263653b0a202020207d2829292c207b2027636861696e273a2066616c7365207d293b0a0a202020202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a202020202f2a2a0a20202020202a205468652073656d616e7469632076657273696f6e206e756d6265722e0a20202020202a0a20202020202a20407374617469630a20202020202a20406d656d6265724f66205f0a20202020202a204074797065207b737472696e677d0a20202020202a2f0a202020206c6f646173682e56455253494f4e203d2056455253494f4e3b0a0a202020202f2f2041737369676e2064656661756c7420706c616365686f6c646572732e0a20202020617272617945616368285b2762696e64272c202762696e644b6579272c20276375727279272c202763757272795269676874272c20277061727469616c272c20277061727469616c5269676874275d2c2066756e6374696f6e286d6574686f644e616d6529207b0a2020202020206c6f646173685b6d6574686f644e616d655d2e706c616365686f6c646572203d206c6f646173683b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e64726f706020616e6420605f2e74616b65602076617269616e74732e0a20202020617272617945616368285b2764726f70272c202774616b65275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e286e29207b0a20202020202020206e203d206e203d3d3d20756e646566696e6564203f2031203a206e61746976654d617828746f496e7465676572286e292c2030293b0a0a202020202020202076617220726573756c74203d2028746869732e5f5f66696c74657265645f5f2026262021696e646578290a202020202020202020203f206e6577204c617a79577261707065722874686973290a202020202020202020203a20746869732e636c6f6e6528293b0a0a202020202020202069662028726573756c742e5f5f66696c74657265645f5f29207b0a20202020202020202020726573756c742e5f5f74616b65436f756e745f5f203d206e61746976654d696e286e2c20726573756c742e5f5f74616b65436f756e745f5f293b0a20202020202020207d20656c7365207b0a20202020202020202020726573756c742e5f5f76696577735f5f2e70757368287b0a2020202020202020202020202773697a65273a206e61746976654d696e286e2c204d41585f41525241595f4c454e475448292c0a2020202020202020202020202774797065273a206d6574686f644e616d65202b2028726573756c742e5f5f6469725f5f203c2030203f2027526967687427203a202727290a202020202020202020207d293b0a20202020202020207d0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d65202b20275269676874275d203d2066756e6374696f6e286e29207b0a202020202020202072657475726e20746869732e7265766572736528295b6d6574686f644e616d655d286e292e7265766572736528293b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320746861742061636365707420616e20606974657261746565602076616c75652e0a20202020617272617945616368285b2766696c746572272c20276d6170272c202774616b655768696c65275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722074797065203d20696e646578202b20312c0a20202020202020202020697346696c746572203d2074797065203d3d204c415a595f46494c5445525f464c4147207c7c2074797065203d3d204c415a595f5748494c455f464c41473b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e28697465726174656529207b0a202020202020202076617220726573756c74203d20746869732e636c6f6e6528293b0a2020202020202020726573756c742e5f5f6974657261746565735f5f2e70757368287b0a20202020202020202020276974657261746565273a2067657449746572617465652869746572617465652c2033292c0a202020202020202020202774797065273a20747970650a20202020202020207d293b0a2020202020202020726573756c742e5f5f66696c74657265645f5f203d20726573756c742e5f5f66696c74657265645f5f207c7c20697346696c7465723b0a202020202020202072657475726e20726573756c743b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e686561646020616e6420605f2e6c617374602e0a20202020617272617945616368285b2768656164272c20276c617374275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722074616b654e616d65203d202774616b6527202b2028696e646578203f2027526967687427203a202727293b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a202020202020202072657475726e20746869735b74616b654e616d655d2831292e76616c756528295b305d3b0a2020202020207d3b0a202020207d293b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320666f7220605f2e696e697469616c6020616e6420605f2e7461696c602e0a20202020617272617945616368285b27696e697469616c272c20277461696c275d2c2066756e6374696f6e286d6574686f644e616d652c20696e64657829207b0a2020202020207661722064726f704e616d65203d202764726f7027202b2028696e646578203f202727203a2027526967687427293b0a0a2020202020204c617a79577261707065722e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a202020202020202072657475726e20746869732e5f5f66696c74657265645f5f203f206e6577204c617a7957726170706572287468697329203a20746869735b64726f704e616d655d2831293b0a2020202020207d3b0a202020207d293b0a0a202020204c617a79577261707065722e70726f746f747970652e636f6d70616374203d2066756e6374696f6e2829207b0a20202020202072657475726e20746869732e66696c746572286964656e74697479293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e66696e64203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e66696c74657228707265646963617465292e6865616428293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e66696e644c617374203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e7265766572736528292e66696e6428707265646963617465293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e696e766f6b654d6170203d2062617365526573742866756e6374696f6e28706174682c206172677329207b0a20202020202069662028747970656f662070617468203d3d202766756e6374696f6e2729207b0a202020202020202072657475726e206e6577204c617a79577261707065722874686973293b0a2020202020207d0a20202020202072657475726e20746869732e6d61702866756e6374696f6e2876616c756529207b0a202020202020202072657475726e2062617365496e766f6b652876616c75652c20706174682c2061726773293b0a2020202020207d293b0a202020207d293b0a0a202020204c617a79577261707065722e70726f746f747970652e72656a656374203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e66696c746572286e6567617465286765744974657261746565287072656469636174652929293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e736c696365203d2066756e6374696f6e2873746172742c20656e6429207b0a2020202020207374617274203d20746f496e7465676572287374617274293b0a0a20202020202076617220726573756c74203d20746869733b0a20202020202069662028726573756c742e5f5f66696c74657265645f5f20262620287374617274203e2030207c7c20656e64203c20302929207b0a202020202020202072657475726e206e6577204c617a795772617070657228726573756c74293b0a2020202020207d0a202020202020696620287374617274203c203029207b0a2020202020202020726573756c74203d20726573756c742e74616b655269676874282d7374617274293b0a2020202020207d20656c73652069662028737461727429207b0a2020202020202020726573756c74203d20726573756c742e64726f70287374617274293b0a2020202020207d0a20202020202069662028656e6420213d3d20756e646566696e656429207b0a2020202020202020656e64203d20746f496e746567657228656e64293b0a2020202020202020726573756c74203d20656e64203c2030203f20726573756c742e64726f705269676874282d656e6429203a20726573756c742e74616b6528656e64202d207374617274293b0a2020202020207d0a20202020202072657475726e20726573756c743b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e74616b6552696768745768696c65203d2066756e6374696f6e2870726564696361746529207b0a20202020202072657475726e20746869732e7265766572736528292e74616b655768696c6528707265646963617465292e7265766572736528293b0a202020207d3b0a0a202020204c617a79577261707065722e70726f746f747970652e746f4172726179203d2066756e6374696f6e2829207b0a20202020202072657475726e20746869732e74616b65284d41585f41525241595f4c454e475448293b0a202020207d3b0a0a202020202f2f2041646420604c617a795772617070657260206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a2020202062617365466f724f776e284c617a79577261707065722e70726f746f747970652c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a20202020202076617220636865636b4974657261746565203d202f5e283f3a66696c7465727c66696e647c6d61707c72656a656374297c5768696c65242f2e74657374286d6574686f644e616d65292c0a20202020202020202020697354616b6572203d202f5e283f3a686561647c6c61737429242f2e74657374286d6574686f644e616d65292c0a202020202020202020206c6f6461736846756e63203d206c6f646173685b697354616b6572203f20282774616b6527202b20286d6574686f644e616d65203d3d20276c61737427203f2027526967687427203a2027272929203a206d6574686f644e616d655d2c0a20202020202020202020726574556e77726170706564203d20697354616b6572207c7c202f5e66696e642f2e74657374286d6574686f644e616d65293b0a0a20202020202069662028216c6f6461736846756e6329207b0a202020202020202072657475726e3b0a2020202020207d0a2020202020206c6f646173682e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020207661722076616c7565203d20746869732e5f5f777261707065645f5f2c0a20202020202020202020202061726773203d20697354616b6572203f205b315d203a20617267756d656e74732c0a20202020202020202020202069734c617a79203d2076616c756520696e7374616e63656f66204c617a79577261707065722c0a2020202020202020202020206974657261746565203d20617267735b305d2c0a2020202020202020202020207573654c617a79203d2069734c617a79207c7c20697341727261792876616c7565293b0a0a202020202020202076617220696e746572636570746f72203d2066756e6374696f6e2876616c756529207b0a2020202020202020202076617220726573756c74203d206c6f6461736846756e632e6170706c79286c6f646173682c20617272617950757368285b76616c75655d2c206172677329293b0a2020202020202020202072657475726e2028697354616b657220262620636861696e416c6c29203f20726573756c745b305d203a20726573756c743b0a20202020202020207d3b0a0a2020202020202020696620287573654c617a7920262620636865636b497465726174656520262620747970656f66206974657261746565203d3d202766756e6374696f6e272026262069746572617465652e6c656e67746820213d203129207b0a202020202020202020202f2f2041766f6964206c617a79207573652069662074686520697465726174656520686173206120226c656e677468222076616c7565206f74686572207468616e206031602e0a2020202020202020202069734c617a79203d207573654c617a79203d2066616c73653b0a20202020202020207d0a202020202020202076617220636861696e416c6c203d20746869732e5f5f636861696e5f5f2c0a2020202020202020202020206973487962726964203d202121746869732e5f5f616374696f6e735f5f2e6c656e6774682c0a2020202020202020202020206973556e77726170706564203d20726574556e777261707065642026262021636861696e416c6c2c0a2020202020202020202020206f6e6c794c617a79203d2069734c617a79202626202169734879627269643b0a0a20202020202020206966202821726574556e77726170706564202626207573654c617a7929207b0a2020202020202020202076616c7565203d206f6e6c794c617a79203f2076616c7565203a206e6577204c617a79577261707065722874686973293b0a2020202020202020202076617220726573756c74203d2066756e632e6170706c792876616c75652c2061726773293b0a20202020202020202020726573756c742e5f5f616374696f6e735f5f2e70757368287b202766756e63273a20746872752c202761726773273a205b696e746572636570746f725d2c202774686973417267273a20756e646566696e6564207d293b0a2020202020202020202072657475726e206e6577204c6f646173685772617070657228726573756c742c20636861696e416c6c293b0a20202020202020207d0a2020202020202020696620286973556e77726170706564202626206f6e6c794c617a7929207b0a2020202020202020202072657475726e2066756e632e6170706c7928746869732c2061726773293b0a20202020202020207d0a2020202020202020726573756c74203d20746869732e7468727528696e746572636570746f72293b0a202020202020202072657475726e206973556e77726170706564203f2028697354616b6572203f20726573756c742e76616c756528295b305d203a20726573756c742e76616c7565282929203a20726573756c743b0a2020202020207d3b0a202020207d293b0a0a202020202f2f204164642060417272617960206d6574686f647320746f20606c6f646173682e70726f746f74797065602e0a20202020617272617945616368285b27706f70272c202770757368272c20277368696674272c2027736f7274272c202773706c696365272c2027756e7368696674275d2c2066756e6374696f6e286d6574686f644e616d6529207b0a2020202020207661722066756e63203d20617272617950726f746f5b6d6574686f644e616d655d2c0a20202020202020202020636861696e4e616d65203d202f5e283f3a707573687c736f72747c756e736869667429242f2e74657374286d6574686f644e616d6529203f202774617027203a202774687275272c0a20202020202020202020726574556e77726170706564203d202f5e283f3a706f707c736869667429242f2e74657374286d6574686f644e616d65293b0a0a2020202020206c6f646173682e70726f746f747970655b6d6574686f644e616d655d203d2066756e6374696f6e2829207b0a20202020202020207661722061726773203d20617267756d656e74733b0a202020202020202069662028726574556e777261707065642026262021746869732e5f5f636861696e5f5f29207b0a202020202020202020207661722076616c7565203d20746869732e76616c756528293b0a2020202020202020202072657475726e2066756e632e6170706c7928697341727261792876616c756529203f2076616c7565203a205b5d2c2061726773293b0a20202020202020207d0a202020202020202072657475726e20746869735b636861696e4e616d655d2866756e6374696f6e2876616c756529207b0a2020202020202020202072657475726e2066756e632e6170706c7928697341727261792876616c756529203f2076616c7565203a205b5d2c2061726773293b0a20202020202020207d293b0a2020202020207d3b0a202020207d293b0a0a202020202f2f204d6170206d696e6966696564206d6574686f64206e616d657320746f207468656972207265616c206e616d65732e0a2020202062617365466f724f776e284c617a79577261707065722e70726f746f747970652c2066756e6374696f6e2866756e632c206d6574686f644e616d6529207b0a202020202020766172206c6f6461736846756e63203d206c6f646173685b6d6574686f644e616d655d3b0a202020202020696620286c6f6461736846756e6329207b0a2020202020202020766172206b6579203d20286c6f6461736846756e632e6e616d65202b202727292c0a2020202020202020202020206e616d6573203d207265616c4e616d65735b6b65795d207c7c20287265616c4e616d65735b6b65795d203d205b5d293b0a0a20202020202020206e616d65732e70757368287b20276e616d65273a206d6574686f644e616d652c202766756e63273a206c6f6461736846756e63207d293b0a2020202020207d0a202020207d293b0a0a202020207265616c4e616d65735b63726561746548796272696428756e646566696e65642c20575241505f42494e445f4b45595f464c4147292e6e616d655d203d205b7b0a202020202020276e616d65273a202777726170706572272c0a2020202020202766756e63273a20756e646566696e65640a202020207d5d3b0a0a202020202f2f20416464206d6574686f647320746f20604c617a7957726170706572602e0a202020204c617a79577261707065722e70726f746f747970652e636c6f6e65203d206c617a79436c6f6e653b0a202020204c617a79577261707065722e70726f746f747970652e72657665727365203d206c617a79526576657273653b0a202020204c617a79577261707065722e70726f746f747970652e76616c7565203d206c617a7956616c75653b0a0a202020202f2f2041646420636861696e2073657175656e6365206d6574686f647320746f2074686520606c6f646173686020777261707065722e0a202020206c6f646173682e70726f746f747970652e6174203d207772617070657241743b0a202020206c6f646173682e70726f746f747970652e636861696e203d2077726170706572436861696e3b0a202020206c6f646173682e70726f746f747970652e636f6d6d6974203d2077726170706572436f6d6d69743b0a202020206c6f646173682e70726f746f747970652e6e657874203d20777261707065724e6578743b0a202020206c6f646173682e70726f746f747970652e706c616e74203d2077726170706572506c616e743b0a202020206c6f646173682e70726f746f747970652e72657665727365203d2077726170706572526576657273653b0a202020206c6f646173682e70726f746f747970652e746f4a534f4e203d206c6f646173682e70726f746f747970652e76616c75654f66203d206c6f646173682e70726f746f747970652e76616c7565203d207772617070657256616c75653b0a0a202020202f2f20416464206c617a7920616c69617365732e0a202020206c6f646173682e70726f746f747970652e6669727374203d206c6f646173682e70726f746f747970652e686561643b0a0a202020206966202873796d4974657261746f7229207b0a2020202020206c6f646173682e70726f746f747970655b73796d4974657261746f725d203d2077726170706572546f4974657261746f723b0a202020207d0a2020202072657475726e206c6f646173683b0a20207d293b0a0a20202f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a20202f2f204578706f7274206c6f646173682e0a2020766172205f203d2072756e496e436f6e7465787428293b0a0a20202f2f20536f6d6520414d44206275696c64206f7074696d697a6572732c206c696b6520722e6a732c20636865636b20666f7220636f6e646974696f6e207061747465726e73206c696b653a0a202069662028747970656f6620646566696e65203d3d202766756e6374696f6e2720262620747970656f6620646566696e652e616d64203d3d20276f626a6563742720262620646566696e652e616d6429207b0a202020202f2f204578706f7365204c6f64617368206f6e2074686520676c6f62616c206f626a65637420746f2070726576656e74206572726f7273207768656e204c6f646173682069730a202020202f2f206c6f616465642062792061207363726970742074616720696e207468652070726573656e6365206f6620616e20414d44206c6f616465722e0a202020202f2f2053656520687474703a2f2f726571756972656a732e6f72672f646f63732f6572726f72732e68746d6c236d69736d6174636820666f72206d6f72652064657461696c732e0a202020202f2f2055736520605f2e6e6f436f6e666c6963746020746f2072656d6f7665204c6f646173682066726f6d2074686520676c6f62616c206f626a6563742e0a20202020726f6f742e5f203d205f3b0a0a202020202f2f20446566696e6520617320616e20616e6f6e796d6f7573206d6f64756c6520736f2c207468726f7567682070617468206d617070696e672c2069742063616e2062650a202020202f2f207265666572656e636564206173207468652022756e64657273636f726522206d6f64756c652e0a20202020646566696e652866756e6374696f6e2829207b0a20202020202072657475726e205f3b0a202020207d293b0a20207d0a20202f2f20436865636b20666f7220606578706f727473602061667465722060646566696e656020696e20636173652061206275696c64206f7074696d697a657220616464732069742e0a2020656c73652069662028667265654d6f64756c6529207b0a202020202f2f204578706f727420666f72204e6f64652e6a732e0a2020202028667265654d6f64756c652e6578706f727473203d205f292e5f203d205f3b0a202020202f2f204578706f727420666f7220436f6d6d6f6e4a5320737570706f72742e0a20202020667265654578706f7274732e5f203d205f3b0a20207d0a2020656c7365207b0a202020202f2f204578706f727420746f2074686520676c6f62616c206f626a6563742e0a20202020726f6f742e5f203d205f3b0a20207d0a7d2e63616c6c287468697329293b0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3132343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f63657373297b0a2775736520737472696374273b0a0a696620282170726f636573732e76657273696f6e207c7c0a2020202070726f636573732e76657273696f6e2e696e6465784f66282776302e2729203d3d3d2030207c7c0a2020202070726f636573732e76657273696f6e2e696e6465784f66282776312e2729203d3d3d20302026262070726f636573732e76657273696f6e2e696e6465784f66282776312e382e272920213d3d203029207b0a20206d6f64756c652e6578706f727473203d206e6578745469636b3b0a7d20656c7365207b0a20206d6f64756c652e6578706f727473203d2070726f636573732e6e6578745469636b3b0a7d0a0a66756e6374696f6e206e6578745469636b28666e2c20617267312c20617267322c206172673329207b0a202069662028747970656f6620666e20213d3d202766756e6374696f6e2729207b0a202020207468726f77206e657720547970654572726f7228272263616c6c6261636b2220617267756d656e74206d75737420626520612066756e6374696f6e27293b0a20207d0a2020766172206c656e203d20617267756d656e74732e6c656e6774683b0a202076617220617267732c20693b0a202073776974636820286c656e29207b0a20206361736520303a0a20206361736520313a0a2020202072657475726e2070726f636573732e6e6578745469636b28666e293b0a20206361736520323a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b4f6e652829207b0a202020202020666e2e63616c6c286e756c6c2c2061726731293b0a202020207d293b0a20206361736520333a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b54776f2829207b0a202020202020666e2e63616c6c286e756c6c2c20617267312c2061726732293b0a202020207d293b0a20206361736520343a0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b54687265652829207b0a202020202020666e2e63616c6c286e756c6c2c20617267312c20617267322c2061726733293b0a202020207d293b0a202064656661756c743a0a2020202061726773203d206e6577204172726179286c656e202d2031293b0a2020202069203d20303b0a202020207768696c65202869203c20617267732e6c656e67746829207b0a202020202020617267735b692b2b5d203d20617267756d656e74735b695d3b0a202020207d0a2020202072657475726e2070726f636573732e6e6578745469636b2866756e6374696f6e2061667465725469636b2829207b0a202020202020666e2e6170706c79286e756c6c2c2061726773293b0a202020207d293b0a20207d0a7d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f636573732729290a7d2c7b225f70726f63657373223a3132357d5d2c3132353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f207368696d20666f72207573696e672070726f6365737320696e2062726f777365720a7661722070726f63657373203d206d6f64756c652e6578706f727473203d207b7d3b0a0a2f2f206361636865642066726f6d20776861746576657220676c6f62616c2069732070726573656e7420736f207468617420746573742072756e6e657273207468617420737475622069740a2f2f20646f6e277420627265616b207468696e67732e2020427574207765206e65656420746f207772617020697420696e20612074727920636174636820696e20636173652069742069730a2f2f207772617070656420696e20737472696374206d6f646520636f646520776869636820646f65736e277420646566696e6520616e7920676c6f62616c732e20204974277320696e7369646520610a2f2f2066756e6374696f6e2062656361757365207472792f636174636865732064656f7074696d697a6520696e206365727461696e20656e67696e65732e0a0a7661722063616368656453657454696d656f75743b0a76617220636163686564436c65617254696d656f75743b0a0a66756e6374696f6e2064656661756c7453657454696d6f75742829207b0a202020207468726f77206e6577204572726f72282773657454696d656f757420686173206e6f74206265656e20646566696e656427293b0a7d0a66756e6374696f6e2064656661756c74436c65617254696d656f7574202829207b0a202020207468726f77206e6577204572726f722827636c65617254696d656f757420686173206e6f74206265656e20646566696e656427293b0a7d0a2866756e6374696f6e202829207b0a20202020747279207b0a202020202020202069662028747970656f662073657454696d656f7574203d3d3d202766756e6374696f6e2729207b0a20202020202020202020202063616368656453657454696d656f7574203d2073657454696d656f75743b0a20202020202020207d20656c7365207b0a20202020202020202020202063616368656453657454696d656f7574203d2064656661756c7453657454696d6f75743b0a20202020202020207d0a202020207d20636174636820286529207b0a202020202020202063616368656453657454696d656f7574203d2064656661756c7453657454696d6f75743b0a202020207d0a20202020747279207b0a202020202020202069662028747970656f6620636c65617254696d656f7574203d3d3d202766756e6374696f6e2729207b0a202020202020202020202020636163686564436c65617254696d656f7574203d20636c65617254696d656f75743b0a20202020202020207d20656c7365207b0a202020202020202020202020636163686564436c65617254696d656f7574203d2064656661756c74436c65617254696d656f75743b0a20202020202020207d0a202020207d20636174636820286529207b0a2020202020202020636163686564436c65617254696d656f7574203d2064656661756c74436c65617254696d656f75743b0a202020207d0a7d202829290a66756e6374696f6e2072756e54696d656f75742866756e29207b0a202020206966202863616368656453657454696d656f7574203d3d3d2073657454696d656f757429207b0a20202020202020202f2f6e6f726d616c20656e7669726f6d656e747320696e2073616e6520736974756174696f6e730a202020202020202072657475726e2073657454696d656f75742866756e2c2030293b0a202020207d0a202020202f2f2069662073657454696d656f7574207761736e277420617661696c61626c652062757420776173206c617474657220646566696e65640a20202020696620282863616368656453657454696d656f7574203d3d3d2064656661756c7453657454696d6f7574207c7c202163616368656453657454696d656f7574292026262073657454696d656f757429207b0a202020202020202063616368656453657454696d656f7574203d2073657454696d656f75743b0a202020202020202072657475726e2073657454696d656f75742866756e2c2030293b0a202020207d0a20202020747279207b0a20202020202020202f2f207768656e207768656e20736f6d65626f647920686173207363726577656420776974682073657454696d656f757420627574206e6f20492e452e206d6164646e6573730a202020202020202072657475726e2063616368656453657454696d656f75742866756e2c2030293b0a202020207d2063617463682865297b0a2020202020202020747279207b0a2020202020202020202020202f2f205768656e2077652061726520696e20492e452e20627574207468652073637269707420686173206265656e206576616c656420736f20492e452e20646f65736e27742074727573742074686520676c6f62616c206f626a656374207768656e2063616c6c6564206e6f726d616c6c790a20202020202020202020202072657475726e2063616368656453657454696d656f75742e63616c6c286e756c6c2c2066756e2c2030293b0a20202020202020207d2063617463682865297b0a2020202020202020202020202f2f2073616d652061732061626f766520627574207768656e206974277320612076657273696f6e206f6620492e452e2074686174206d75737420686176652074686520676c6f62616c206f626a65637420666f72202774686973272c20686f7066756c6c79206f757220636f6e7465787420636f7272656374206f74686572776973652069742077696c6c207468726f77206120676c6f62616c206572726f720a20202020202020202020202072657475726e2063616368656453657454696d656f75742e63616c6c28746869732c2066756e2c2030293b0a20202020202020207d0a202020207d0a0a0a7d0a66756e6374696f6e2072756e436c65617254696d656f7574286d61726b657229207b0a2020202069662028636163686564436c65617254696d656f7574203d3d3d20636c65617254696d656f757429207b0a20202020202020202f2f6e6f726d616c20656e7669726f6d656e747320696e2073616e6520736974756174696f6e730a202020202020202072657475726e20636c65617254696d656f7574286d61726b6572293b0a202020207d0a202020202f2f20696620636c65617254696d656f7574207761736e277420617661696c61626c652062757420776173206c617474657220646566696e65640a202020206966202828636163686564436c65617254696d656f7574203d3d3d2064656661756c74436c65617254696d656f7574207c7c2021636163686564436c65617254696d656f75742920262620636c65617254696d656f757429207b0a2020202020202020636163686564436c65617254696d656f7574203d20636c65617254696d656f75743b0a202020202020202072657475726e20636c65617254696d656f7574286d61726b6572293b0a202020207d0a20202020747279207b0a20202020202020202f2f207768656e207768656e20736f6d65626f647920686173207363726577656420776974682073657454696d656f757420627574206e6f20492e452e206d6164646e6573730a202020202020202072657475726e20636163686564436c65617254696d656f7574286d61726b6572293b0a202020207d206361746368202865297b0a2020202020202020747279207b0a2020202020202020202020202f2f205768656e2077652061726520696e20492e452e20627574207468652073637269707420686173206265656e206576616c656420736f20492e452e20646f65736e2774202074727573742074686520676c6f62616c206f626a656374207768656e2063616c6c6564206e6f726d616c6c790a20202020202020202020202072657475726e20636163686564436c65617254696d656f75742e63616c6c286e756c6c2c206d61726b6572293b0a20202020202020207d206361746368202865297b0a2020202020202020202020202f2f2073616d652061732061626f766520627574207768656e206974277320612076657273696f6e206f6620492e452e2074686174206d75737420686176652074686520676c6f62616c206f626a65637420666f72202774686973272c20686f7066756c6c79206f757220636f6e7465787420636f7272656374206f74686572776973652069742077696c6c207468726f77206120676c6f62616c206572726f722e0a2020202020202020202020202f2f20536f6d652076657273696f6e73206f6620492e452e206861766520646966666572656e742072756c657320666f7220636c65617254696d656f75742076732073657454696d656f75740a20202020202020202020202072657475726e20636163686564436c65617254696d656f75742e63616c6c28746869732c206d61726b6572293b0a20202020202020207d0a202020207d0a0a0a0a7d0a766172207175657565203d205b5d3b0a76617220647261696e696e67203d2066616c73653b0a7661722063757272656e7451756575653b0a766172207175657565496e646578203d202d313b0a0a66756e6374696f6e20636c65616e55704e6578745469636b2829207b0a202020206966202821647261696e696e67207c7c202163757272656e74517565756529207b0a202020202020202072657475726e3b0a202020207d0a20202020647261696e696e67203d2066616c73653b0a202020206966202863757272656e7451756575652e6c656e67746829207b0a20202020202020207175657565203d2063757272656e7451756575652e636f6e636174287175657565293b0a202020207d20656c7365207b0a20202020202020207175657565496e646578203d202d313b0a202020207d0a202020206966202871756575652e6c656e67746829207b0a2020202020202020647261696e517565756528293b0a202020207d0a7d0a0a66756e6374696f6e20647261696e51756575652829207b0a2020202069662028647261696e696e6729207b0a202020202020202072657475726e3b0a202020207d0a202020207661722074696d656f7574203d2072756e54696d656f757428636c65616e55704e6578745469636b293b0a20202020647261696e696e67203d20747275653b0a0a20202020766172206c656e203d2071756575652e6c656e6774683b0a202020207768696c65286c656e29207b0a202020202020202063757272656e745175657565203d2071756575653b0a20202020202020207175657565203d205b5d3b0a20202020202020207768696c6520282b2b7175657565496e646578203c206c656e29207b0a2020202020202020202020206966202863757272656e74517565756529207b0a2020202020202020202020202020202063757272656e7451756575655b7175657565496e6465785d2e72756e28293b0a2020202020202020202020207d0a20202020202020207d0a20202020202020207175657565496e646578203d202d313b0a20202020202020206c656e203d2071756575652e6c656e6774683b0a202020207d0a2020202063757272656e745175657565203d206e756c6c3b0a20202020647261696e696e67203d2066616c73653b0a2020202072756e436c65617254696d656f75742874696d656f7574293b0a7d0a0a70726f636573732e6e6578745469636b203d2066756e6374696f6e202866756e29207b0a202020207661722061726773203d206e657720417272617928617267756d656e74732e6c656e677468202d2031293b0a2020202069662028617267756d656e74732e6c656e677468203e203129207b0a2020202020202020666f7220287661722069203d20313b2069203c20617267756d656e74732e6c656e6774683b20692b2b29207b0a202020202020202020202020617267735b69202d20315d203d20617267756d656e74735b695d3b0a20202020202020207d0a202020207d0a2020202071756575652e70757368286e6577204974656d2866756e2c206172677329293b0a202020206966202871756575652e6c656e677468203d3d3d20312026262021647261696e696e6729207b0a202020202020202072756e54696d656f757428647261696e5175657565293b0a202020207d0a7d3b0a0a2f2f207638206c696b6573207072656469637469626c65206f626a656374730a66756e6374696f6e204974656d2866756e2c20617272617929207b0a20202020746869732e66756e203d2066756e3b0a20202020746869732e6172726179203d2061727261793b0a7d0a4974656d2e70726f746f747970652e72756e203d2066756e6374696f6e202829207b0a20202020746869732e66756e2e6170706c79286e756c6c2c20746869732e6172726179293b0a7d3b0a70726f636573732e7469746c65203d202762726f77736572273b0a70726f636573732e62726f77736572203d20747275653b0a70726f636573732e656e76203d207b7d3b0a70726f636573732e61726776203d205b5d3b0a70726f636573732e76657273696f6e203d2027273b202f2f20656d70747920737472696e6720746f2061766f696420726567657870206973737565730a70726f636573732e76657273696f6e73203d207b7d3b0a0a66756e6374696f6e206e6f6f702829207b7d0a0a70726f636573732e6f6e203d206e6f6f703b0a70726f636573732e6164644c697374656e6572203d206e6f6f703b0a70726f636573732e6f6e6365203d206e6f6f703b0a70726f636573732e6f6666203d206e6f6f703b0a70726f636573732e72656d6f76654c697374656e6572203d206e6f6f703b0a70726f636573732e72656d6f7665416c6c4c697374656e657273203d206e6f6f703b0a70726f636573732e656d6974203d206e6f6f703b0a70726f636573732e70726570656e644c697374656e6572203d206e6f6f703b0a70726f636573732e70726570656e644f6e63654c697374656e6572203d206e6f6f703b0a0a70726f636573732e6c697374656e657273203d2066756e6374696f6e20286e616d6529207b2072657475726e205b5d207d0a0a70726f636573732e62696e64696e67203d2066756e6374696f6e20286e616d6529207b0a202020207468726f77206e6577204572726f72282770726f636573732e62696e64696e67206973206e6f7420737570706f7274656427293b0a7d3b0a0a70726f636573732e637764203d2066756e6374696f6e202829207b2072657475726e20272f27207d3b0a70726f636573732e6368646972203d2066756e6374696f6e202864697229207b0a202020207468726f77206e6577204572726f72282770726f636573732e6368646972206973206e6f7420737570706f7274656427293b0a7d3b0a70726f636573732e756d61736b203d2066756e6374696f6e2829207b2072657475726e20303b207d3b0a0a7d2c7b7d5d2c3132363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a2f2a212068747470733a2f2f6d7468732e62652f70756e79636f64652076312e342e3120627920406d617468696173202a2f0a3b2866756e6374696f6e28726f6f7429207b0a0a092f2a2a204465746563742066726565207661726961626c6573202a2f0a0976617220667265654578706f727473203d20747970656f66206578706f727473203d3d20276f626a65637427202626206578706f7274732026260a0909216578706f7274732e6e6f646554797065202626206578706f7274733b0a0976617220667265654d6f64756c65203d20747970656f66206d6f64756c65203d3d20276f626a65637427202626206d6f64756c652026260a0909216d6f64756c652e6e6f646554797065202626206d6f64756c653b0a097661722066726565476c6f62616c203d20747970656f6620676c6f62616c203d3d20276f626a6563742720262620676c6f62616c3b0a09696620280a090966726565476c6f62616c2e676c6f62616c203d3d3d2066726565476c6f62616c207c7c0a090966726565476c6f62616c2e77696e646f77203d3d3d2066726565476c6f62616c207c7c0a090966726565476c6f62616c2e73656c66203d3d3d2066726565476c6f62616c0a0929207b0a0909726f6f74203d2066726565476c6f62616c3b0a097d0a0a092f2a2a0a09202a20546865206070756e79636f646560206f626a6563742e0a09202a20406e616d652070756e79636f64650a09202a204074797065204f626a6563740a09202a2f0a097661722070756e79636f64652c0a0a092f2a2a204869676865737420706f736974697665207369676e65642033322d62697420666c6f61742076616c7565202a2f0a096d6178496e74203d20323134373438333634372c202f2f20616b612e2030783746464646464646206f7220325e33312d310a0a092f2a2a20426f6f74737472696e6720706172616d6574657273202a2f0a0962617365203d2033362c0a09744d696e203d20312c0a09744d6178203d2032362c0a09736b6577203d2033382c0a0964616d70203d203730302c0a09696e697469616c42696173203d2037322c0a09696e697469616c4e203d203132382c202f2f20307838300a0964656c696d69746572203d20272d272c202f2f20275c783244270a0a092f2a2a20526567756c61722065787072657373696f6e73202a2f0a09726567657850756e79636f6465203d202f5e786e2d2d2f2c0a0972656765784e6f6e4153434949203d202f5b5e5c7832302d5c7837455d2f2c202f2f20756e7072696e7461626c65204153434949206368617273202b206e6f6e2d41534349492063686172730a097265676578536570617261746f7273203d202f5b5c7832455c75333030325c75464630455c75464636315d2f672c202f2f20524643203334393020736570617261746f72730a0a092f2a2a204572726f72206d65737361676573202a2f0a096572726f7273203d207b0a0909276f766572666c6f77273a20274f766572666c6f773a20696e707574206e6565647320776964657220696e74656765727320746f2070726f63657373272c0a0909276e6f742d6261736963273a2027496c6c6567616c20696e707574203e3d203078383020286e6f74206120626173696320636f646520706f696e7429272c0a090927696e76616c69642d696e707574273a2027496e76616c696420696e707574270a097d2c0a0a092f2a2a20436f6e76656e69656e63652073686f727463757473202a2f0a09626173654d696e7573544d696e203d2062617365202d20744d696e2c0a09666c6f6f72203d204d6174682e666c6f6f722c0a09737472696e6746726f6d43686172436f6465203d20537472696e672e66726f6d43686172436f64652c0a0a092f2a2a2054656d706f72617279207661726961626c65202a2f0a096b65793b0a0a092f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a092f2a2a0a09202a20412067656e65726963206572726f72207574696c6974792066756e6374696f6e2e0a09202a2040707269766174650a09202a2040706172616d207b537472696e677d207479706520546865206572726f7220747970652e0a09202a204072657475726e73207b4572726f727d205468726f77732061206052616e67654572726f7260207769746820746865206170706c696361626c65206572726f72206d6573736167652e0a09202a2f0a0966756e6374696f6e206572726f72287479706529207b0a09097468726f77206e65772052616e67654572726f72286572726f72735b747970655d293b0a097d0a0a092f2a2a0a09202a20412067656e6572696320604172726179236d617060207574696c6974792066756e6374696f6e2e0a09202a2040707269766174650a09202a2040706172616d207b41727261797d2061727261792054686520617272617920746f2069746572617465206f7665722e0a09202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e207468617420676574732063616c6c656420666f722065766572792061727261790a09202a206974656d2e0a09202a204072657475726e73207b41727261797d2041206e6577206172726179206f662076616c7565732072657475726e6564206279207468652063616c6c6261636b2066756e6374696f6e2e0a09202a2f0a0966756e6374696f6e206d61702861727261792c20666e29207b0a0909766172206c656e677468203d2061727261792e6c656e6774683b0a090976617220726573756c74203d205b5d3b0a09097768696c6520286c656e6774682d2d29207b0a090909726573756c745b6c656e6774685d203d20666e2861727261795b6c656e6774685d293b0a09097d0a090972657475726e20726573756c743b0a097d0a0a092f2a2a0a09202a20412073696d706c6520604172726179236d6170602d6c696b65207772617070657220746f20776f726b207769746820646f6d61696e206e616d6520737472696e6773206f7220656d61696c0a09202a206164647265737365732e0a09202a2040707269766174650a09202a2040706172616d207b537472696e677d20646f6d61696e2054686520646f6d61696e206e616d65206f7220656d61696c20616464726573732e0a09202a2040706172616d207b46756e6374696f6e7d2063616c6c6261636b205468652066756e6374696f6e207468617420676574732063616c6c656420666f722065766572790a09202a206368617261637465722e0a09202a204072657475726e73207b41727261797d2041206e657720737472696e67206f6620636861726163746572732072657475726e6564206279207468652063616c6c6261636b0a09202a2066756e6374696f6e2e0a09202a2f0a0966756e6374696f6e206d6170446f6d61696e28737472696e672c20666e29207b0a0909766172207061727473203d20737472696e672e73706c697428274027293b0a090976617220726573756c74203d2027273b0a09096966202870617274732e6c656e677468203e203129207b0a0909092f2f20496e20656d61696c206164647265737365732c206f6e6c792074686520646f6d61696e206e616d652073686f756c642062652070756e79636f6465642e204c656176650a0909092f2f20746865206c6f63616c20706172742028692e652e2065766572797468696e6720757020746f206040602920696e746163742e0a090909726573756c74203d2070617274735b305d202b202740273b0a090909737472696e67203d2070617274735b315d3b0a09097d0a09092f2f2041766f6964206073706c6974287265676578296020666f722049453820636f6d7061746962696c6974792e20536565202331372e0a0909737472696e67203d20737472696e672e7265706c616365287265676578536570617261746f72732c20275c78324527293b0a0909766172206c6162656c73203d20737472696e672e73706c697428272e27293b0a090976617220656e636f646564203d206d6170286c6162656c732c20666e292e6a6f696e28272e27293b0a090972657475726e20726573756c74202b20656e636f6465643b0a097d0a0a092f2a2a0a09202a204372656174657320616e20617272617920636f6e7461696e696e6720746865206e756d6572696320636f646520706f696e7473206f66206561636820556e69636f64650a09202a2063686172616374657220696e2074686520737472696e672e205768696c65204a6176615363726970742075736573205543532d3220696e7465726e616c6c792c0a09202a20746869732066756e6374696f6e2077696c6c20636f6e7665727420612070616972206f6620737572726f676174652068616c766573202865616368206f662077686963680a09202a205543532d32206578706f73657320617320736570617261746520636861726163746572732920696e746f20612073696e676c6520636f646520706f696e742c0a09202a206d61746368696e67205554462d31362e0a09202a2040736565206070756e79636f64652e756373322e656e636f6465600a09202a2040736565203c68747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d656e636f64696e673e0a09202a20406d656d6265724f662070756e79636f64652e756373320a09202a20406e616d65206465636f64650a09202a2040706172616d207b537472696e677d20737472696e672054686520556e69636f646520696e70757420737472696e6720285543532d32292e0a09202a204072657475726e73207b41727261797d20546865206e6577206172726179206f6620636f646520706f696e74732e0a09202a2f0a0966756e6374696f6e20756373326465636f646528737472696e6729207b0a0909766172206f7574707574203d205b5d2c0a090920202020636f756e746572203d20302c0a0909202020206c656e677468203d20737472696e672e6c656e6774682c0a09092020202076616c75652c0a09092020202065787472613b0a09097768696c652028636f756e746572203c206c656e67746829207b0a09090976616c7565203d20737472696e672e63686172436f6465417428636f756e7465722b2b293b0a0909096966202876616c7565203e3d203078443830302026262076616c7565203c3d2030784442464620262620636f756e746572203c206c656e67746829207b0a090909092f2f206869676820737572726f676174652c20616e642074686572652069732061206e657874206368617261637465720a090909096578747261203d20737472696e672e63686172436f6465417428636f756e7465722b2b293b0a090909096966202828657874726120262030784643303029203d3d2030784443303029207b202f2f206c6f7720737572726f676174650a09090909096f75747075742e7075736828282876616c7565202620307833464629203c3c20313029202b20286578747261202620307833464629202b2030783130303030293b0a090909097d20656c7365207b0a09090909092f2f20756e6d61746368656420737572726f676174653b206f6e6c7920617070656e64207468697320636f646520756e69742c20696e206361736520746865206e6578740a09090909092f2f20636f646520756e697420697320746865206869676820737572726f67617465206f66206120737572726f6761746520706169720a09090909096f75747075742e707573682876616c7565293b0a0909090909636f756e7465722d2d3b0a090909097d0a0909097d20656c7365207b0a090909096f75747075742e707573682876616c7565293b0a0909097d0a09097d0a090972657475726e206f75747075743b0a097d0a0a092f2a2a0a09202a2043726561746573206120737472696e67206261736564206f6e20616e206172726179206f66206e756d6572696320636f646520706f696e74732e0a09202a2040736565206070756e79636f64652e756373322e6465636f6465600a09202a20406d656d6265724f662070756e79636f64652e756373320a09202a20406e616d6520656e636f64650a09202a2040706172616d207b41727261797d20636f6465506f696e747320546865206172726179206f66206e756d6572696320636f646520706f696e74732e0a09202a204072657475726e73207b537472696e677d20546865206e657720556e69636f646520737472696e6720285543532d32292e0a09202a2f0a0966756e6374696f6e2075637332656e636f646528617272617929207b0a090972657475726e206d61702861727261792c2066756e6374696f6e2876616c756529207b0a090909766172206f7574707574203d2027273b0a0909096966202876616c7565203e2030784646464629207b0a0909090976616c7565202d3d20307831303030303b0a090909096f7574707574202b3d20737472696e6746726f6d43686172436f64652876616c7565203e3e3e2031302026203078334646207c20307844383030293b0a0909090976616c7565203d20307844433030207c2076616c756520262030783346463b0a0909097d0a0909096f7574707574202b3d20737472696e6746726f6d43686172436f64652876616c7565293b0a09090972657475726e206f75747075743b0a09097d292e6a6f696e282727293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120626173696320636f646520706f696e7420696e746f20612064696769742f696e74656765722e0a09202a204073656520606469676974546f42617369632829600a09202a2040707269766174650a09202a2040706172616d207b4e756d6265727d20636f6465506f696e7420546865206261736963206e756d6572696320636f646520706f696e742076616c75652e0a09202a204072657475726e73207b4e756d6265727d20546865206e756d657269632076616c7565206f66206120626173696320636f646520706f696e742028666f722075736520696e0a09202a20726570726573656e74696e6720696e7465676572732920696e207468652072616e67652060306020746f206062617365202d2031602c206f72206062617365602069660a09202a2074686520636f646520706f696e7420646f6573206e6f7420726570726573656e7420612076616c75652e0a09202a2f0a0966756e6374696f6e206261736963546f446967697428636f6465506f696e7429207b0a090969662028636f6465506f696e74202d203438203c20313029207b0a09090972657475726e20636f6465506f696e74202d2032323b0a09097d0a090969662028636f6465506f696e74202d203635203c20323629207b0a09090972657475726e20636f6465506f696e74202d2036353b0a09097d0a090969662028636f6465506f696e74202d203937203c20323629207b0a09090972657475726e20636f6465506f696e74202d2039373b0a09097d0a090972657475726e20626173653b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612064696769742f696e746567657220696e746f206120626173696320636f646520706f696e742e0a09202a204073656520606261736963546f44696769742829600a09202a2040707269766174650a09202a2040706172616d207b4e756d6265727d20646967697420546865206e756d657269632076616c7565206f66206120626173696320636f646520706f696e742e0a09202a204072657475726e73207b4e756d6265727d2054686520626173696320636f646520706f696e742077686f73652076616c756520287768656e207573656420666f720a09202a20726570726573656e74696e6720696e7465676572732920697320606469676974602c207768696368206e6565647320746f20626520696e207468652072616e67650a09202a2060306020746f206062617365202d2031602e2049662060666c616760206973206e6f6e2d7a65726f2c207468652075707065726361736520666f726d2069730a09202a20757365643b20656c73652c20746865206c6f7765726361736520666f726d20697320757365642e20546865206265686176696f7220697320756e646566696e65640a09202a2069662060666c616760206973206e6f6e2d7a65726f20616e64206064696769746020686173206e6f2075707065726361736520666f726d2e0a09202a2f0a0966756e6374696f6e206469676974546f42617369632864696769742c20666c616729207b0a09092f2f2020302e2e3235206d617020746f20415343494920612e2e7a206f7220412e2e5a0a09092f2f2032362e2e3335206d617020746f20415343494920302e2e390a090972657475726e206469676974202b203232202b203735202a20286469676974203c20323629202d202828666c616720213d203029203c3c2035293b0a097d0a0a092f2a2a0a09202a20426961732061646170746174696f6e2066756e6374696f6e206173207065722073656374696f6e20332e34206f662052464320333439322e0a09202a2068747470733a2f2f746f6f6c732e696574662e6f72672f68746d6c2f726663333439322373656374696f6e2d332e340a09202a2040707269766174650a09202a2f0a0966756e6374696f6e2061646170742864656c74612c206e756d506f696e74732c20666972737454696d6529207b0a0909766172206b203d20303b0a090964656c7461203d20666972737454696d65203f20666c6f6f722864656c7461202f2064616d7029203a2064656c7461203e3e20313b0a090964656c7461202b3d20666c6f6f722864656c7461202f206e756d506f696e7473293b0a0909666f7220282f2a206e6f20696e697469616c697a6174696f6e202a2f3b2064656c7461203e20626173654d696e7573544d696e202a20744d6178203e3e20313b206b202b3d206261736529207b0a09090964656c7461203d20666c6f6f722864656c7461202f20626173654d696e7573544d696e293b0a09097d0a090972657475726e20666c6f6f72286b202b2028626173654d696e7573544d696e202b203129202a2064656c7461202f202864656c7461202b20736b657729293b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c7320746f206120737472696e67206f6620556e69636f64650a09202a2073796d626f6c732e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e707574205468652050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a204072657475726e73207b537472696e677d2054686520726573756c74696e6720737472696e67206f6620556e69636f64652073796d626f6c732e0a09202a2f0a0966756e6374696f6e206465636f646528696e70757429207b0a09092f2f20446f6e277420757365205543532d320a0909766172206f7574707574203d205b5d2c0a090920202020696e7075744c656e677468203d20696e7075742e6c656e6774682c0a0909202020206f75742c0a09092020202069203d20302c0a0909202020206e203d20696e697469616c4e2c0a09092020202062696173203d20696e697469616c426961732c0a09092020202062617369632c0a0909202020206a2c0a090920202020696e6465782c0a0909202020206f6c64692c0a090920202020772c0a0909202020206b2c0a09092020202064696769742c0a090920202020742c0a0909202020202f2a2a204361636865642063616c63756c6174696f6e20726573756c7473202a2f0a090920202020626173654d696e7573543b0a0a09092f2f2048616e646c652074686520626173696320636f646520706f696e74733a206c6574206062617369636020626520746865206e756d626572206f6620696e70757420636f64650a09092f2f20706f696e7473206265666f726520746865206c6173742064656c696d697465722c206f7220603060206966207468657265206973206e6f6e652c207468656e20636f70790a09092f2f2074686520666972737420626173696320636f646520706f696e747320746f20746865206f75747075742e0a0a09096261736963203d20696e7075742e6c617374496e6465784f662864656c696d69746572293b0a0909696620286261736963203c203029207b0a0909096261736963203d20303b0a09097d0a0a0909666f7220286a203d20303b206a203c2062617369633b202b2b6a29207b0a0909092f2f2069662069742773206e6f74206120626173696320636f646520706f696e740a09090969662028696e7075742e63686172436f64654174286a29203e3d203078383029207b0a090909096572726f7228276e6f742d626173696327293b0a0909097d0a0909096f75747075742e7075736828696e7075742e63686172436f64654174286a29293b0a09097d0a0a09092f2f204d61696e206465636f64696e67206c6f6f703a207374617274206a75737420616674657220746865206c6173742064656c696d6974657220696620616e7920626173696320636f64650a09092f2f20706f696e7473207765726520636f706965643b2073746172742061742074686520626567696e6e696e67206f74686572776973652e0a0a0909666f722028696e646578203d206261736963203e2030203f206261736963202b2031203a20303b20696e646578203c20696e7075744c656e6774683b202f2a206e6f2066696e616c2065787072657373696f6e202a2f29207b0a0a0909092f2f2060696e646578602069732074686520696e646578206f6620746865206e6578742063686172616374657220746f20626520636f6e73756d65642e0a0909092f2f204465636f646520612067656e6572616c697a6564207661726961626c652d6c656e67746820696e746567657220696e746f206064656c7461602c0a0909092f2f207768696368206765747320616464656420746f206069602e20546865206f766572666c6f7720636865636b696e67206973206561736965720a0909092f2f20696620776520696e6372656173652060696020617320776520676f2c207468656e207375627472616374206f666620697473207374617274696e670a0909092f2f2076616c75652061742074686520656e6420746f206f627461696e206064656c7461602e0a090909666f7220286f6c6469203d20692c2077203d20312c206b203d20626173653b202f2a206e6f20636f6e646974696f6e202a2f3b206b202b3d206261736529207b0a0a0909090969662028696e646578203e3d20696e7075744c656e67746829207b0a09090909096572726f722827696e76616c69642d696e70757427293b0a090909097d0a0a090909096469676974203d206261736963546f446967697428696e7075742e63686172436f6465417428696e6465782b2b29293b0a0a09090909696620286469676974203e3d2062617365207c7c206469676974203e20666c6f6f7228286d6178496e74202d206929202f20772929207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a0909090969202b3d206469676974202a20773b0a0909090974203d206b203c3d2062696173203f20744d696e203a20286b203e3d2062696173202b20744d6178203f20744d6178203a206b202d2062696173293b0a0a09090909696620286469676974203c207429207b0a0909090909627265616b3b0a090909097d0a0a09090909626173654d696e757354203d2062617365202d20743b0a090909096966202877203e20666c6f6f72286d6178496e74202f20626173654d696e7573542929207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a0909090977202a3d20626173654d696e7573543b0a0a0909097d0a0a0909096f7574203d206f75747075742e6c656e677468202b20313b0a09090962696173203d2061646170742869202d206f6c64692c206f75742c206f6c6469203d3d2030293b0a0a0909092f2f206069602077617320737570706f73656420746f20777261702061726f756e642066726f6d20606f75746020746f206030602c0a0909092f2f20696e6372656d656e74696e6720606e6020656163682074696d652c20736f207765276c6c206669782074686174206e6f773a0a09090969662028666c6f6f722869202f206f757429203e206d6178496e74202d206e29207b0a090909096572726f7228276f766572666c6f7727293b0a0909097d0a0a0909096e202b3d20666c6f6f722869202f206f7574293b0a0909096920253d206f75743b0a0a0909092f2f20496e7365727420606e6020617420706f736974696f6e20606960206f6620746865206f75747075740a0909096f75747075742e73706c69636528692b2b2c20302c206e293b0a0a09097d0a0a090972657475726e2075637332656e636f6465286f7574707574293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120737472696e67206f6620556e69636f64652073796d626f6c732028652e672e206120646f6d61696e206e616d65206c6162656c2920746f20610a09202a2050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e7075742054686520737472696e67206f6620556e69636f64652073796d626f6c732e0a09202a204072657475726e73207b537472696e677d2054686520726573756c74696e672050756e79636f646520737472696e67206f662041534349492d6f6e6c792073796d626f6c732e0a09202a2f0a0966756e6374696f6e20656e636f646528696e70757429207b0a0909766172206e2c0a09092020202064656c74612c0a09092020202068616e646c65644350436f756e742c0a09092020202062617369634c656e6774682c0a090920202020626961732c0a0909202020206a2c0a0909202020206d2c0a090920202020712c0a0909202020206b2c0a090920202020742c0a09092020202063757272656e7456616c75652c0a0909202020206f7574707574203d205b5d2c0a0909202020202f2a2a2060696e7075744c656e677468602077696c6c20686f6c6420746865206e756d626572206f6620636f646520706f696e747320696e2060696e707574602e202a2f0a090920202020696e7075744c656e6774682c0a0909202020202f2a2a204361636865642063616c63756c6174696f6e20726573756c7473202a2f0a09092020202068616e646c65644350436f756e74506c75734f6e652c0a090920202020626173654d696e7573542c0a090920202020714d696e7573543b0a0a09092f2f20436f6e766572742074686520696e70757420696e205543532d3220746f20556e69636f64650a0909696e707574203d20756373326465636f646528696e707574293b0a0a09092f2f20436163686520746865206c656e6774680a0909696e7075744c656e677468203d20696e7075742e6c656e6774683b0a0a09092f2f20496e697469616c697a65207468652073746174650a09096e203d20696e697469616c4e3b0a090964656c7461203d20303b0a090962696173203d20696e697469616c426961733b0a0a09092f2f2048616e646c652074686520626173696320636f646520706f696e74730a0909666f7220286a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a09090963757272656e7456616c7565203d20696e7075745b6a5d3b0a0909096966202863757272656e7456616c7565203c203078383029207b0a090909096f75747075742e7075736828737472696e6746726f6d43686172436f64652863757272656e7456616c756529293b0a0909097d0a09097d0a0a090968616e646c65644350436f756e74203d2062617369634c656e677468203d206f75747075742e6c656e6774683b0a0a09092f2f206068616e646c65644350436f756e746020697320746865206e756d626572206f6620636f646520706f696e747320746861742068617665206265656e2068616e646c65643b0a09092f2f206062617369634c656e6774686020697320746865206e756d626572206f6620626173696320636f646520706f696e74732e0a0a09092f2f2046696e6973682074686520626173696320737472696e67202d206966206974206973206e6f7420656d707479202d207769746820612064656c696d697465720a09096966202862617369634c656e67746829207b0a0909096f75747075742e707573682864656c696d69746572293b0a09097d0a0a09092f2f204d61696e20656e636f64696e67206c6f6f703a0a09097768696c65202868616e646c65644350436f756e74203c20696e7075744c656e67746829207b0a0a0909092f2f20416c6c206e6f6e2d626173696320636f646520706f696e7473203c206e2068617665206265656e2068616e646c656420616c72656164792e2046696e6420746865206e6578740a0909092f2f206c6172676572206f6e653a0a090909666f7220286d203d206d6178496e742c206a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a0909090963757272656e7456616c7565203d20696e7075745b6a5d3b0a090909096966202863757272656e7456616c7565203e3d206e2026262063757272656e7456616c7565203c206d29207b0a09090909096d203d2063757272656e7456616c75653b0a090909097d0a0909097d0a0a0909092f2f20496e637265617365206064656c74616020656e6f75676820746f20616476616e636520746865206465636f6465722773203c6e2c693e20737461746520746f203c6d2c303e2c0a0909092f2f2062757420677561726420616761696e7374206f766572666c6f770a09090968616e646c65644350436f756e74506c75734f6e65203d2068616e646c65644350436f756e74202b20313b0a090909696620286d202d206e203e20666c6f6f7228286d6178496e74202d2064656c746129202f2068616e646c65644350436f756e74506c75734f6e652929207b0a090909096572726f7228276f766572666c6f7727293b0a0909097d0a0a09090964656c7461202b3d20286d202d206e29202a2068616e646c65644350436f756e74506c75734f6e653b0a0909096e203d206d3b0a0a090909666f7220286a203d20303b206a203c20696e7075744c656e6774683b202b2b6a29207b0a0909090963757272656e7456616c7565203d20696e7075745b6a5d3b0a0a090909096966202863757272656e7456616c7565203c206e202626202b2b64656c7461203e206d6178496e7429207b0a09090909096572726f7228276f766572666c6f7727293b0a090909097d0a0a090909096966202863757272656e7456616c7565203d3d206e29207b0a09090909092f2f20526570726573656e742064656c746120617320612067656e6572616c697a6564207661726961626c652d6c656e67746820696e74656765720a0909090909666f72202871203d2064656c74612c206b203d20626173653b202f2a206e6f20636f6e646974696f6e202a2f3b206b202b3d206261736529207b0a09090909090974203d206b203c3d2062696173203f20744d696e203a20286b203e3d2062696173202b20744d6178203f20744d6178203a206b202d2062696173293b0a0909090909096966202871203c207429207b0a09090909090909627265616b3b0a0909090909097d0a090909090909714d696e757354203d2071202d20743b0a090909090909626173654d696e757354203d2062617365202d20743b0a0909090909096f75747075742e70757368280a09090909090909737472696e6746726f6d43686172436f6465286469676974546f42617369632874202b20714d696e757354202520626173654d696e7573542c203029290a090909090909293b0a09090909090971203d20666c6f6f7228714d696e757354202f20626173654d696e757354293b0a09090909097d0a0a09090909096f75747075742e7075736828737472696e6746726f6d43686172436f6465286469676974546f426173696328712c20302929293b0a090909090962696173203d2061646170742864656c74612c2068616e646c65644350436f756e74506c75734f6e652c2068616e646c65644350436f756e74203d3d2062617369634c656e677468293b0a090909090964656c7461203d20303b0a09090909092b2b68616e646c65644350436f756e743b0a090909097d0a0909097d0a0a0909092b2b64656c74613b0a0909092b2b6e3b0a0a09097d0a090972657475726e206f75747075742e6a6f696e282727293b0a097d0a0a092f2a2a0a09202a20436f6e766572747320612050756e79636f646520737472696e6720726570726573656e74696e67206120646f6d61696e206e616d65206f7220616e20656d61696c20616464726573730a09202a20746f20556e69636f64652e204f6e6c79207468652050756e79636f646564207061727473206f662074686520696e7075742077696c6c20626520636f6e7665727465642c20692e652e0a09202a20697420646f65736e2774206d617474657220696620796f752063616c6c206974206f6e206120737472696e6720746861742068617320616c7265616479206265656e0a09202a20636f6e76657274656420746f20556e69636f64652e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e707574205468652050756e79636f64656420646f6d61696e206e616d65206f7220656d61696c206164647265737320746f0a09202a20636f6e7665727420746f20556e69636f64652e0a09202a204072657475726e73207b537472696e677d2054686520556e69636f646520726570726573656e746174696f6e206f662074686520676976656e2050756e79636f64650a09202a20737472696e672e0a09202a2f0a0966756e6374696f6e20746f556e69636f646528696e70757429207b0a090972657475726e206d6170446f6d61696e28696e7075742c2066756e6374696f6e28737472696e6729207b0a09090972657475726e20726567657850756e79636f64652e7465737428737472696e67290a090909093f206465636f646528737472696e672e736c6963652834292e746f4c6f776572436173652829290a090909093a20737472696e673b0a09097d293b0a097d0a0a092f2a2a0a09202a20436f6e7665727473206120556e69636f646520737472696e6720726570726573656e74696e67206120646f6d61696e206e616d65206f7220616e20656d61696c206164647265737320746f0a09202a2050756e79636f64652e204f6e6c7920746865206e6f6e2d4153434949207061727473206f662074686520646f6d61696e206e616d652077696c6c20626520636f6e7665727465642c0a09202a20692e652e20697420646f65736e2774206d617474657220696620796f752063616c6c2069742077697468206120646f6d61696e2074686174277320616c726561647920696e0a09202a2041534349492e0a09202a20406d656d6265724f662070756e79636f64650a09202a2040706172616d207b537472696e677d20696e7075742054686520646f6d61696e206e616d65206f7220656d61696c206164647265737320746f20636f6e766572742c20617320610a09202a20556e69636f646520737472696e672e0a09202a204072657475726e73207b537472696e677d205468652050756e79636f646520726570726573656e746174696f6e206f662074686520676976656e20646f6d61696e206e616d65206f720a09202a20656d61696c20616464726573732e0a09202a2f0a0966756e6374696f6e20746f415343494928696e70757429207b0a090972657475726e206d6170446f6d61696e28696e7075742c2066756e6374696f6e28737472696e6729207b0a09090972657475726e2072656765784e6f6e41534349492e7465737428737472696e67290a090909093f2027786e2d2d27202b20656e636f646528737472696e67290a090909093a20737472696e673b0a09097d293b0a097d0a0a092f2a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2f0a0a092f2a2a20446566696e6520746865207075626c696320415049202a2f0a0970756e79636f6465203d207b0a09092f2a2a0a0909202a204120737472696e6720726570726573656e74696e67207468652063757272656e742050756e79636f64652e6a732076657273696f6e206e756d6265722e0a0909202a20406d656d6265724f662070756e79636f64650a0909202a20407479706520537472696e670a0909202a2f0a09092776657273696f6e273a2027312e342e31272c0a09092f2a2a0a0909202a20416e206f626a656374206f66206d6574686f647320746f20636f6e766572742066726f6d204a617661536372697074277320696e7465726e616c206368617261637465720a0909202a20726570726573656e746174696f6e20285543532d322920746f20556e69636f646520636f646520706f696e74732c20616e64206261636b2e0a0909202a2040736565203c68747470733a2f2f6d61746869617362796e656e732e62652f6e6f7465732f6a6176617363726970742d656e636f64696e673e0a0909202a20406d656d6265724f662070756e79636f64650a0909202a204074797065204f626a6563740a0909202a2f0a09092775637332273a207b0a090909276465636f6465273a20756373326465636f64652c0a09090927656e636f6465273a2075637332656e636f64650a09097d2c0a0909276465636f6465273a206465636f64652c0a090927656e636f6465273a20656e636f64652c0a090927746f4153434949273a20746f41534349492c0a090927746f556e69636f6465273a20746f556e69636f64650a097d3b0a0a092f2a2a204578706f7365206070756e79636f646560202a2f0a092f2f20536f6d6520414d44206275696c64206f7074696d697a6572732c206c696b6520722e6a732c20636865636b20666f7220737065636966696320636f6e646974696f6e207061747465726e730a092f2f206c696b652074686520666f6c6c6f77696e673a0a09696620280a0909747970656f6620646566696e65203d3d202766756e6374696f6e272026260a0909747970656f6620646566696e652e616d64203d3d20276f626a656374272026260a0909646566696e652e616d640a0929207b0a0909646566696e65282770756e79636f6465272c2066756e6374696f6e2829207b0a09090972657475726e2070756e79636f64653b0a09097d293b0a097d20656c73652069662028667265654578706f72747320262620667265654d6f64756c6529207b0a0909696620286d6f64756c652e6578706f727473203d3d20667265654578706f72747329207b0a0909092f2f20696e204e6f64652e6a732c20696f2e6a732c206f722052696e676f4a532076302e382e302b0a090909667265654d6f64756c652e6578706f727473203d2070756e79636f64653b0a09097d20656c7365207b0a0909092f2f20696e204e61727768616c206f722052696e676f4a532076302e372e302d0a090909666f7220286b657920696e2070756e79636f646529207b0a0909090970756e79636f64652e6861734f776e50726f7065727479286b6579292026262028667265654578706f7274735b6b65795d203d2070756e79636f64655b6b65795d293b0a0909097d0a09097d0a097d20656c7365207b0a09092f2f20696e205268696e6f206f722061207765622062726f777365720a0909726f6f742e70756e79636f6465203d2070756e79636f64653b0a097d0a0a7d287468697329293b0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3132373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a2f2f204966206f626a2e6861734f776e50726f706572747920686173206265656e206f76657272696464656e2c207468656e2063616c6c696e670a2f2f206f626a2e6861734f776e50726f70657274792870726f70292077696c6c20627265616b2e0a2f2f205365653a2068747470733a2f2f6769746875622e636f6d2f6a6f79656e742f6e6f64652f6973737565732f313730370a66756e6374696f6e206861734f776e50726f7065727479286f626a2c2070726f7029207b0a202072657475726e204f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c286f626a2c2070726f70293b0a7d0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e2871732c207365702c2065712c206f7074696f6e7329207b0a2020736570203d20736570207c7c202726273b0a20206571203d206571207c7c20273d273b0a2020766172206f626a203d207b7d3b0a0a202069662028747970656f6620717320213d3d2027737472696e6727207c7c2071732e6c656e677468203d3d3d203029207b0a2020202072657475726e206f626a3b0a20207d0a0a202076617220726567657870203d202f5c2b2f673b0a20207173203d2071732e73706c697428736570293b0a0a2020766172206d61784b657973203d20313030303b0a2020696620286f7074696f6e7320262620747970656f66206f7074696f6e732e6d61784b657973203d3d3d20276e756d6265722729207b0a202020206d61784b657973203d206f7074696f6e732e6d61784b6579733b0a20207d0a0a2020766172206c656e203d2071732e6c656e6774683b0a20202f2f206d61784b657973203c3d2030206d65616e7320746861742077652073686f756c64206e6f74206c696d6974206b65797320636f756e740a2020696620286d61784b657973203e2030202626206c656e203e206d61784b65797329207b0a202020206c656e203d206d61784b6579733b0a20207d0a0a2020666f7220287661722069203d20303b2069203c206c656e3b202b2b6929207b0a202020207661722078203d2071735b695d2e7265706c616365287265676578702c202725323027292c0a2020202020202020696478203d20782e696e6465784f66286571292c0a20202020202020206b7374722c20767374722c206b2c20763b0a0a2020202069662028696478203e3d203029207b0a2020202020206b737472203d20782e73756273747228302c20696478293b0a20202020202076737472203d20782e73756273747228696478202b2031293b0a202020207d20656c7365207b0a2020202020206b737472203d20783b0a20202020202076737472203d2027273b0a202020207d0a0a202020206b203d206465636f6465555249436f6d706f6e656e74286b737472293b0a2020202076203d206465636f6465555249436f6d706f6e656e742876737472293b0a0a2020202069662028216861734f776e50726f7065727479286f626a2c206b2929207b0a2020202020206f626a5b6b5d203d20763b0a202020207d20656c7365206966202869734172726179286f626a5b6b5d2929207b0a2020202020206f626a5b6b5d2e707573682876293b0a202020207d20656c7365207b0a2020202020206f626a5b6b5d203d205b6f626a5b6b5d2c20765d3b0a202020207d0a20207d0a0a202072657475726e206f626a3b0a7d3b0a0a7661722069734172726179203d2041727261792e69734172726179207c7c2066756e6374696f6e2028787329207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c28787329203d3d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a7d2c7b7d5d2c3132383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a76617220737472696e676966795072696d6974697665203d2066756e6374696f6e287629207b0a20207377697463682028747970656f66207629207b0a20202020636173652027737472696e67273a0a20202020202072657475726e20763b0a0a20202020636173652027626f6f6c65616e273a0a20202020202072657475726e2076203f20277472756527203a202766616c7365273b0a0a202020206361736520276e756d626572273a0a20202020202072657475726e20697346696e697465287629203f2076203a2027273b0a0a2020202064656661756c743a0a20202020202072657475726e2027273b0a20207d0a7d3b0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e286f626a2c207365702c2065712c206e616d6529207b0a2020736570203d20736570207c7c202726273b0a20206571203d206571207c7c20273d273b0a2020696620286f626a203d3d3d206e756c6c29207b0a202020206f626a203d20756e646566696e65643b0a20207d0a0a202069662028747970656f66206f626a203d3d3d20276f626a6563742729207b0a2020202072657475726e206d6170286f626a6563744b657973286f626a292c2066756e6374696f6e286b29207b0a202020202020766172206b73203d20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286b2929202b2065713b0a2020202020206966202869734172726179286f626a5b6b5d2929207b0a202020202020202072657475726e206d6170286f626a5b6b5d2c2066756e6374696f6e287629207b0a2020202020202020202072657475726e206b73202b20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665287629293b0a20202020202020207d292e6a6f696e28736570293b0a2020202020207d20656c7365207b0a202020202020202072657475726e206b73202b20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286f626a5b6b5d29293b0a2020202020207d0a202020207d292e6a6f696e28736570293b0a0a20207d0a0a202069662028216e616d65292072657475726e2027273b0a202072657475726e20656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286e616d652929202b206571202b0a202020202020202020656e636f6465555249436f6d706f6e656e7428737472696e676966795072696d6974697665286f626a29293b0a7d3b0a0a7661722069734172726179203d2041727261792e69734172726179207c7c2066756e6374696f6e2028787329207b0a202072657475726e204f626a6563742e70726f746f747970652e746f537472696e672e63616c6c28787329203d3d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a66756e6374696f6e206d6170202878732c206629207b0a20206966202878732e6d6170292072657475726e2078732e6d61702866293b0a202076617220726573203d205b5d3b0a2020666f7220287661722069203d20303b2069203c2078732e6c656e6774683b20692b2b29207b0a202020207265732e7075736828662878735b695d2c206929293b0a20207d0a202072657475726e207265733b0a7d0a0a766172206f626a6563744b657973203d204f626a6563742e6b657973207c7c2066756e6374696f6e20286f626a29207b0a202076617220726573203d205b5d3b0a2020666f722028766172206b657920696e206f626a29207b0a20202020696620284f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c286f626a2c206b65792929207265732e70757368286b6579293b0a20207d0a202072657475726e207265733b0a7d3b0a0a7d2c7b7d5d2c3132393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a6578706f7274732e6465636f6465203d206578706f7274732e7061727365203d207265717569726528272e2f6465636f646527293b0a6578706f7274732e656e636f6465203d206578706f7274732e737472696e67696679203d207265717569726528272e2f656e636f646527293b0a0a7d2c7b222e2f6465636f6465223a3132372c222e2f656e636f6465223a3132387d5d2c3133303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2a2065736c696e742d64697361626c65206e6f64652f6e6f2d646570726563617465642d617069202a2f0a76617220627566666572203d2072657175697265282762756666657227290a76617220427566666572203d206275666665722e4275666665720a0a2f2f20616c7465726e617469766520746f207573696e67204f626a6563742e6b65797320666f72206f6c642062726f77736572730a66756e6374696f6e20636f707950726f707320287372632c2064737429207b0a2020666f722028766172206b657920696e2073726329207b0a202020206473745b6b65795d203d207372635b6b65795d0a20207d0a7d0a696620284275666665722e66726f6d202626204275666665722e616c6c6f63202626204275666665722e616c6c6f63556e73616665202626204275666665722e616c6c6f63556e73616665536c6f7729207b0a20206d6f64756c652e6578706f727473203d206275666665720a7d20656c7365207b0a20202f2f20436f70792070726f706572746965732066726f6d2072657175697265282762756666657227290a2020636f707950726f7073286275666665722c206578706f727473290a20206578706f7274732e427566666572203d20536166654275666665720a7d0a0a66756e6374696f6e205361666542756666657220286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202072657475726e20427566666572286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a2f2f20436f707920737461746963206d6574686f64732066726f6d204275666665720a636f707950726f7073284275666665722c2053616665427566666572290a0a536166654275666665722e66726f6d203d2066756e6374696f6e20286172672c20656e636f64696e674f724f66667365742c206c656e67746829207b0a202069662028747970656f6620617267203d3d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d757374206e6f742062652061206e756d62657227290a20207d0a202072657475726e20427566666572286172672c20656e636f64696e674f724f66667365742c206c656e677468290a7d0a0a536166654275666665722e616c6c6f63203d2066756e6374696f6e202873697a652c2066696c6c2c20656e636f64696e6729207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202076617220627566203d204275666665722873697a65290a20206966202866696c6c20213d3d20756e646566696e656429207b0a2020202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e672729207b0a2020202020206275662e66696c6c2866696c6c2c20656e636f64696e67290a202020207d20656c7365207b0a2020202020206275662e66696c6c2866696c6c290a202020207d0a20207d20656c7365207b0a202020206275662e66696c6c2830290a20207d0a202072657475726e206275660a7d0a0a536166654275666665722e616c6c6f63556e73616665203d2066756e6374696f6e202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202072657475726e204275666665722873697a65290a7d0a0a536166654275666665722e616c6c6f63556e73616665536c6f77203d2066756e6374696f6e202873697a6529207b0a202069662028747970656f662073697a6520213d3d20276e756d6265722729207b0a202020207468726f77206e657720547970654572726f722827417267756d656e74206d7573742062652061206e756d62657227290a20207d0a202072657475726e206275666665722e536c6f774275666665722873697a65290a7d0a0a7d2c7b22627566666572223a33327d5d2c3133313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a76617220436c69656e7452657175657374203d207265717569726528272e2f6c69622f7265717565737427290a76617220657874656e64203d207265717569726528277874656e6427290a76617220737461747573436f646573203d207265717569726528276275696c74696e2d7374617475732d636f64657327290a7661722075726c203d2072657175697265282775726c27290a0a7661722068747470203d206578706f7274730a0a687474702e72657175657374203d2066756e6374696f6e20286f7074732c20636229207b0a0969662028747970656f66206f707473203d3d3d2027737472696e6727290a09096f707473203d2075726c2e7061727365286f707473290a09656c73650a09096f707473203d20657874656e64286f707473290a0a092f2f204e6f726d616c6c792c207468652070616765206973206c6f616465642066726f6d2068747470206f722068747470732c20736f206e6f742073706563696679696e6720612070726f746f636f6c0a092f2f2077696c6c20726573756c7420696e2061202876616c6964292070726f746f636f6c2d72656c61746976652075726c2e20486f77657665722c207468697320776f6e277420776f726b2069660a092f2f207468652070726f746f636f6c20697320736f6d657468696e6720656c73652c206c696b65202766696c653a270a097661722064656661756c7450726f746f636f6c203d20676c6f62616c2e6c6f636174696f6e2e70726f746f636f6c2e736561726368282f5e68747470733f3a242f29203d3d3d202d31203f2027687474703a27203a2027270a0a097661722070726f746f636f6c203d206f7074732e70726f746f636f6c207c7c2064656661756c7450726f746f636f6c0a0976617220686f7374203d206f7074732e686f73746e616d65207c7c206f7074732e686f73740a0976617220706f7274203d206f7074732e706f72740a097661722070617468203d206f7074732e70617468207c7c20272f270a0a092f2f204e656365737361727920666f722049507636206164647265737365730a0969662028686f737420262620686f73742e696e6465784f6628273a272920213d3d202d31290a0909686f7374203d20275b27202b20686f7374202b20275d270a0a092f2f2054686973206d617920626520612072656c61746976652075726c2e205468652062726f777365722073686f756c6420616c776179732062652061626c6520746f20696e7465727072657420697420636f72726563746c792e0a096f7074732e75726c203d2028686f7374203f202870726f746f636f6c202b20272f2f27202b20686f737429203a20272729202b2028706f7274203f20273a27202b20706f7274203a20272729202b20706174680a096f7074732e6d6574686f64203d20286f7074732e6d6574686f64207c7c202747455427292e746f55707065724361736528290a096f7074732e68656164657273203d206f7074732e68656164657273207c7c207b7d0a0a092f2f20416c736f2076616c6964206f7074732e617574682c206f7074732e6d6f64650a0a0976617220726571203d206e657720436c69656e7452657175657374286f707473290a09696620286362290a09097265712e6f6e2827726573706f6e7365272c206362290a0972657475726e207265710a7d0a0a687474702e676574203d2066756e6374696f6e2067657420286f7074732c20636229207b0a0976617220726571203d20687474702e72657175657374286f7074732c206362290a097265712e656e6428290a0972657475726e207265710a7d0a0a687474702e4167656e74203d2066756e6374696f6e202829207b7d0a687474702e4167656e742e64656661756c744d6178536f636b657473203d20340a0a687474702e5354415455535f434f444553203d20737461747573436f6465730a0a687474702e4d4554484f4453203d205b0a0927434845434b4f5554272c0a0927434f4e4e454354272c0a0927434f5059272c0a092744454c455445272c0a0927474554272c0a092748454144272c0a09274c4f434b272c0a09274d2d534541524348272c0a09274d45524745272c0a09274d4b4143544956495459272c0a09274d4b434f4c272c0a09274d4f5645272c0a09274e4f54494659272c0a09274f5054494f4e53272c0a09275041544348272c0a0927504f5354272c0a092750524f5046494e44272c0a092750524f505041544348272c0a09275055524745272c0a0927505554272c0a09275245504f5254272c0a0927534541524348272c0a0927535542534352494245272c0a09275452414345272c0a0927554e4c4f434b272c0a0927554e535542534352494245270a5d0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f6c69622f72657175657374223a3133332c226275696c74696e2d7374617475732d636f646573223a33372c2275726c223a33352c227874656e64223a3134397d5d2c3133323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a6578706f7274732e6665746368203d20697346756e6374696f6e28676c6f62616c2e66657463682920262620697346756e6374696f6e28676c6f62616c2e5265616461626c6553747265616d290a0a6578706f7274732e626c6f62436f6e7374727563746f72203d2066616c73650a747279207b0a096e657720426c6f62285b6e65772041727261794275666665722831295d290a096578706f7274732e626c6f62436f6e7374727563746f72203d20747275650a7d20636174636820286529207b7d0a0a2f2f2054686520786872207265717565737420746f206578616d706c652e636f6d206d61792076696f6c61746520736f6d652072657374726963746976652043535020636f6e66696775726174696f6e732c0a2f2f20736f2069662077652772652072756e6e696e6720696e20612062726f77736572207468617420737570706f72747320606665746368602c2061766f69642063616c6c696e672067657458485228290a2f2f20616e6420617373756d6520737570706f727420666f72206365727461696e2066656174757265732062656c6f772e0a766172207868720a66756e6374696f6e20676574584852202829207b0a092f2f20436163686520746865207868722076616c75650a096966202878687220213d3d20756e646566696e6564292072657475726e207868720a0a0969662028676c6f62616c2e584d4c487474705265717565737429207b0a0909786872203d206e657720676c6f62616c2e584d4c487474705265717565737428290a09092f2f2049662058446f6d61696e5265717565737420697320617661696c61626c6520286965206f6e6c792c20776865726520786872206d69676874206e6f7420776f726b0a09092f2f2063726f737320646f6d61696e292c20757365207468652070616765206c6f636174696f6e2e204f746865727769736520757365206578616d706c652e636f6d0a09092f2f204e6f74653a207468697320646f65736e27742061637475616c6c79206d616b6520616e206874747020726571756573742e0a0909747279207b0a0909097868722e6f70656e2827474554272c20676c6f62616c2e58446f6d61696e52657175657374203f20272f27203a202768747470733a2f2f6578616d706c652e636f6d27290a09097d206361746368286529207b0a090909786872203d206e756c6c0a09097d0a097d20656c7365207b0a09092f2f205365727669636520776f726b65727320646f6e27742068617665205848520a0909786872203d206e756c6c0a097d0a0972657475726e207868720a7d0a0a66756e6374696f6e20636865636b54797065537570706f727420287479706529207b0a0976617220786872203d2067657458485228290a096966202821786872292072657475726e2066616c73650a09747279207b0a09097868722e726573706f6e736554797065203d20747970650a090972657475726e207868722e726573706f6e736554797065203d3d3d20747970650a097d20636174636820286529207b7d0a0972657475726e2066616c73650a7d0a0a2f2f20466f7220736f6d6520737472616e676520726561736f6e2c2053616661726920372e30207265706f72747320747970656f6620676c6f62616c2e4172726179427566666572203d3d3d20276f626a656374272e0a2f2f2053616661726920372e31206170706561727320746f20686176652066697865642074686973206275672e0a76617220686176654172726179427566666572203d20747970656f6620676c6f62616c2e417272617942756666657220213d3d2027756e646566696e6564270a7661722068617665536c696365203d2068617665417272617942756666657220262620697346756e6374696f6e28676c6f62616c2e41727261794275666665722e70726f746f747970652e736c696365290a0a2f2f20496620666574636820697320737570706f727465642c207468656e2061727261796275666665722077696c6c20626520737570706f7274656420746f6f2e20536b69702063616c6c696e670a2f2f20636865636b54797065537570706f727428292c2073696e636520746861742063616c6c732067657458485228292e0a6578706f7274732e6172726179627566666572203d206578706f7274732e6665746368207c7c202868617665417272617942756666657220262620636865636b54797065537570706f7274282761727261796275666665722729290a0a2f2f205468657365206e6578742074776f20746573747320756e61766f696461626c792073686f77207761726e696e677320696e204368726f6d652e2053696e63652066657463682077696c6c20616c776179730a2f2f2062652075736564206966206974277320617661696c61626c652c206a7573742072657475726e2066616c736520666f7220746865736520746f2061766f696420746865207761726e696e67732e0a6578706f7274732e6d7373747265616d203d20216578706f7274732e66657463682026262068617665536c69636520262620636865636b54797065537570706f727428276d732d73747265616d27290a6578706f7274732e6d6f7a6368756e6b65646172726179627566666572203d20216578706f7274732e6665746368202626206861766541727261794275666665722026260a09636865636b54797065537570706f727428276d6f7a2d6368756e6b65642d617272617962756666657227290a0a2f2f20496620666574636820697320737570706f727465642c207468656e206f766572726964654d696d65547970652077696c6c20626520737570706f7274656420746f6f2e20536b69702063616c6c696e670a2f2f2067657458485228292e0a6578706f7274732e6f766572726964654d696d6554797065203d206578706f7274732e6665746368207c7c20286765745848522829203f20697346756e6374696f6e2867657458485228292e6f766572726964654d696d655479706529203a2066616c7365290a0a6578706f7274732e76624172726179203d20697346756e6374696f6e28676c6f62616c2e56424172726179290a0a66756e6374696f6e20697346756e6374696f6e202876616c756529207b0a0972657475726e20747970656f662076616c7565203d3d3d202766756e6374696f6e270a7d0a0a786872203d206e756c6c202f2f2048656c702067630a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3133333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c2c427566666572297b0a766172206361706162696c697479203d207265717569726528272e2f6361706162696c69747927290a76617220696e686572697473203d20726571756972652827696e68657269747327290a76617220726573706f6e7365203d207265717569726528272e2f726573706f6e736527290a7661722073747265616d203d207265717569726528277265616461626c652d73747265616d27290a76617220746f4172726179427566666572203d20726571756972652827746f2d617272617962756666657227290a0a76617220496e636f6d696e674d657373616765203d20726573706f6e73652e496e636f6d696e674d6573736167650a7661722072537461746573203d20726573706f6e73652e72656164795374617465730a0a66756e6374696f6e206465636964654d6f6465202870726566657242696e6172792c20757365466574636829207b0a09696620286361706162696c6974792e666574636820262620757365466574636829207b0a090972657475726e20276665746368270a097d20656c736520696620286361706162696c6974792e6d6f7a6368756e6b6564617272617962756666657229207b0a090972657475726e20276d6f7a2d6368756e6b65642d6172726179627566666572270a097d20656c736520696620286361706162696c6974792e6d7373747265616d29207b0a090972657475726e20276d732d73747265616d270a097d20656c736520696620286361706162696c6974792e61727261796275666665722026262070726566657242696e61727929207b0a090972657475726e20276172726179627566666572270a097d20656c736520696620286361706162696c6974792e766241727261792026262070726566657242696e61727929207b0a090972657475726e2027746578743a76626172726179270a097d20656c7365207b0a090972657475726e202774657874270a097d0a7d0a0a76617220436c69656e7452657175657374203d206d6f64756c652e6578706f727473203d2066756e6374696f6e20286f70747329207b0a097661722073656c66203d20746869730a0973747265616d2e5772697461626c652e63616c6c2873656c66290a0a0973656c662e5f6f707473203d206f7074730a0973656c662e5f626f6479203d205b5d0a0973656c662e5f68656164657273203d207b7d0a09696620286f7074732e61757468290a090973656c662e7365744865616465722827417574686f72697a6174696f6e272c202742617369632027202b206e657720427566666572286f7074732e61757468292e746f537472696e6728276261736536342729290a094f626a6563742e6b657973286f7074732e68656164657273292e666f72456163682866756e6374696f6e20286e616d6529207b0a090973656c662e736574486561646572286e616d652c206f7074732e686561646572735b6e616d655d290a097d290a0a097661722070726566657242696e6172790a09766172207573654665746368203d20747275650a09696620286f7074732e6d6f6465203d3d3d202764697361626c652d666574636827207c7c202774696d656f75742720696e206f70747329207b0a09092f2f2049662074686520757365206f66205848522073686f756c642062652070726566657272656420616e6420696e636c756465732070726573657276696e67207468652027636f6e74656e742d7479706527206865616465722e0a09092f2f20466f7263652058485220746f20626520757365642073696e6365207468652046657463682041504920646f6573206e6f742079657420737570706f72742074696d656f7574732e0a09097573654665746368203d2066616c73650a090970726566657242696e617279203d20747275650a097d20656c736520696620286f7074732e6d6f6465203d3d3d20277072656665722d73747265616d696e672729207b0a09092f2f2049662073747265616d696e6720697320612068696768207072696f72697479206275742062696e61727920636f6d7061746962696c69747920616e640a09092f2f20746865206163637572616379206f66207468652027636f6e74656e742d747970652720686561646572206172656e27740a090970726566657242696e617279203d2066616c73650a097d20656c736520696620286f7074732e6d6f6465203d3d3d2027616c6c6f772d77726f6e672d636f6e74656e742d747970652729207b0a09092f2f2049662073747265616d696e67206973206d6f726520696d706f7274616e74207468616e2070726573657276696e67207468652027636f6e74656e742d7479706527206865616465720a090970726566657242696e617279203d20216361706162696c6974792e6f766572726964654d696d65547970650a097d20656c73652069662028216f7074732e6d6f6465207c7c206f7074732e6d6f6465203d3d3d202764656661756c7427207c7c206f7074732e6d6f6465203d3d3d20277072656665722d666173742729207b0a09092f2f205573652062696e61727920696620746578742073747265616d696e67206d617920636f72727570742064617461206f722074686520636f6e74656e742d74797065206865616465722c206f7220666f722073706565640a090970726566657242696e617279203d20747275650a097d20656c7365207b0a09097468726f77206e6577204572726f722827496e76616c69642076616c756520666f72206f7074732e6d6f646527290a097d0a0973656c662e5f6d6f6465203d206465636964654d6f64652870726566657242696e6172792c207573654665746368290a0a0973656c662e6f6e282766696e697368272c2066756e6374696f6e202829207b0a090973656c662e5f6f6e46696e69736828290a097d290a7d0a0a696e68657269747328436c69656e74526571756573742c2073747265616d2e5772697461626c65290a0a436c69656e74526571756573742e70726f746f747970652e736574486561646572203d2066756e6374696f6e20286e616d652c2076616c756529207b0a097661722073656c66203d20746869730a09766172206c6f7765724e616d65203d206e616d652e746f4c6f7765724361736528290a092f2f205468697320636865636b206973206e6f74206e65636573736172792c206275742069742070726576656e7473207761726e696e67732066726f6d2062726f77736572732061626f75742073657474696e6720756e736166650a092f2f20686561646572732e20546f20626520686f6e6573742049276d206e6f7420656e746972656c79207375726520686964696e67207468657365207761726e696e6773206973206120676f6f64207468696e672c206275740a092f2f20687474702d62726f77736572696679206469642069742c20736f20492077696c6c20746f6f2e0a0969662028756e73616665486561646572732e696e6465784f66286c6f7765724e616d652920213d3d202d31290a090972657475726e0a0a0973656c662e5f686561646572735b6c6f7765724e616d655d203d207b0a09096e616d653a206e616d652c0a090976616c75653a2076616c75650a097d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e676574486561646572203d2066756e6374696f6e20286e616d6529207b0a0976617220686561646572203d20746869732e5f686561646572735b6e616d652e746f4c6f7765724361736528295d0a0969662028686561646572290a090972657475726e206865616465722e76616c75650a0972657475726e206e756c6c0a7d0a0a436c69656e74526571756573742e70726f746f747970652e72656d6f7665486561646572203d2066756e6374696f6e20286e616d6529207b0a097661722073656c66203d20746869730a0964656c6574652073656c662e5f686561646572735b6e616d652e746f4c6f7765724361736528295d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f6f6e46696e697368203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a096966202873656c662e5f64657374726f796564290a090972657475726e0a09766172206f707473203d2073656c662e5f6f7074730a0a0976617220686561646572734f626a203d2073656c662e5f686561646572730a0976617220626f6479203d206e756c6c0a09696620286f7074732e6d6574686f6420213d3d202747455427202626206f7074732e6d6574686f6420213d3d2027484541442729207b0a0909696620286361706162696c6974792e626c6f62436f6e7374727563746f7229207b0a090909626f6479203d206e657720676c6f62616c2e426c6f622873656c662e5f626f64792e6d61702866756e6374696f6e202862756666657229207b0a0909090972657475726e20746f417272617942756666657228627566666572290a0909097d292c207b0a09090909747970653a2028686561646572734f626a5b27636f6e74656e742d74797065275d207c7c207b7d292e76616c7565207c7c2027270a0909097d290a09097d20656c7365207b0a0909092f2f20676574207574663820737472696e670a090909626f6479203d204275666665722e636f6e6361742873656c662e5f626f6479292e746f537472696e6728290a09097d0a097d0a0a092f2f2063726561746520666c617474656e6564206c697374206f6620686561646572730a0976617220686561646572734c697374203d205b5d0a094f626a6563742e6b65797328686561646572734f626a292e666f72456163682866756e6374696f6e20286b65794e616d6529207b0a0909766172206e616d65203d20686561646572734f626a5b6b65794e616d655d2e6e616d650a09097661722076616c7565203d20686561646572734f626a5b6b65794e616d655d2e76616c75650a09096966202841727261792e697341727261792876616c75652929207b0a09090976616c75652e666f72456163682866756e6374696f6e20287629207b0a09090909686561646572734c6973742e70757368285b6e616d652c20765d290a0909097d290a09097d20656c7365207b0a090909686561646572734c6973742e70757368285b6e616d652c2076616c75655d290a09097d0a097d290a0a096966202873656c662e5f6d6f6465203d3d3d202766657463682729207b0a0909676c6f62616c2e66657463682873656c662e5f6f7074732e75726c2c207b0a0909096d6574686f643a2073656c662e5f6f7074732e6d6574686f642c0a090909686561646572733a20686561646572734c6973742c0a090909626f64793a20626f6479207c7c20756e646566696e65642c0a0909096d6f64653a2027636f7273272c0a09090963726564656e7469616c733a206f7074732e7769746843726564656e7469616c73203f2027696e636c75646527203a202773616d652d6f726967696e270a09097d292e7468656e2866756e6374696f6e2028726573706f6e736529207b0a09090973656c662e5f6665746368526573706f6e7365203d20726573706f6e73650a09090973656c662e5f636f6e6e65637428290a09097d2c2066756e6374696f6e2028726561736f6e29207b0a09090973656c662e656d697428276572726f72272c20726561736f6e290a09097d290a097d20656c7365207b0a090976617220786872203d2073656c662e5f786872203d206e657720676c6f62616c2e584d4c487474705265717565737428290a0909747279207b0a0909097868722e6f70656e2873656c662e5f6f7074732e6d6574686f642c2073656c662e5f6f7074732e75726c2c2074727565290a09097d206361746368202865727229207b0a09090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09090972657475726e0a09097d0a0a09092f2f2043616e27742073657420726573706f6e736554797065206f6e207265616c6c79206f6c642062726f77736572730a09096966202827726573706f6e7365547970652720696e20786872290a0909097868722e726573706f6e736554797065203d2073656c662e5f6d6f64652e73706c697428273a27295b305d0a0a090969662028277769746843726564656e7469616c732720696e20786872290a0909097868722e7769746843726564656e7469616c73203d2021216f7074732e7769746843726564656e7469616c730a0a09096966202873656c662e5f6d6f6465203d3d3d2027746578742720262620276f766572726964654d696d65547970652720696e20786872290a0909097868722e6f766572726964654d696d65547970652827746578742f706c61696e3b20636861727365743d782d757365722d646566696e656427290a0a0909696620282774696d656f75742720696e206f70747329207b0a0909097868722e74696d656f7574203d206f7074732e74696d656f75740a0909097868722e6f6e74696d656f7574203d2066756e6374696f6e202829207b0a0909090973656c662e656d6974282774696d656f757427290a0909097d0a09097d0a0a0909686561646572734c6973742e666f72456163682866756e6374696f6e202868656164657229207b0a0909097868722e73657452657175657374486561646572286865616465725b305d2c206865616465725b315d290a09097d290a0a090973656c662e5f726573706f6e7365203d206e756c6c0a09097868722e6f6e726561647973746174656368616e6765203d2066756e6374696f6e202829207b0a09090973776974636820287868722e7265616479537461746529207b0a090909096361736520725374617465732e4c4f4144494e473a0a090909096361736520725374617465732e444f4e453a0a090909090973656c662e5f6f6e58485250726f677265737328290a0909090909627265616b0a0909097d0a09097d0a09092f2f204e656365737361727920666f722073747265616d696e6720696e2046697265666f782c2073696e6365207868722e726573706f6e7365206973204f4e4c5920646566696e65640a09092f2f20696e206f6e70726f67726573732c206e6f7420696e206f6e726561647973746174656368616e67652077697468207868722e72656164795374617465203d20330a09096966202873656c662e5f6d6f6465203d3d3d20276d6f7a2d6368756e6b65642d61727261796275666665722729207b0a0909097868722e6f6e70726f6772657373203d2066756e6374696f6e202829207b0a0909090973656c662e5f6f6e58485250726f677265737328290a0909097d0a09097d0a0a09097868722e6f6e6572726f72203d2066756e6374696f6e202829207b0a0909096966202873656c662e5f64657374726f796564290a0909090972657475726e0a09090973656c662e656d697428276572726f72272c206e6577204572726f722827584852206572726f722729290a09097d0a0a0909747279207b0a0909097868722e73656e6428626f6479290a09097d206361746368202865727229207b0a09090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09090972657475726e0a09097d0a097d0a7d0a0a2f2a2a0a202a20436865636b73206966207868722e737461747573206973207265616461626c6520616e64206e6f6e2d7a65726f2c20696e6469636174696e67206e6f206572726f722e0a202a204576656e2074686f75676820746865207370656320736179732069742073686f756c6420626520617661696c61626c6520696e207265616479537461746520332c0a202a20616363657373696e67206974207468726f777320616e20657863657074696f6e20696e204945380a202a2f0a66756e6374696f6e2073746174757356616c6964202878687229207b0a09747279207b0a090976617220737461747573203d207868722e7374617475730a090972657475726e202873746174757320213d3d206e756c6c2026262073746174757320213d3d2030290a097d20636174636820286529207b0a090972657475726e2066616c73650a097d0a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f6f6e58485250726f6772657373203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a09696620282173746174757356616c69642873656c662e5f78687229207c7c2073656c662e5f64657374726f796564290a090972657475726e0a0a09696620282173656c662e5f726573706f6e7365290a090973656c662e5f636f6e6e65637428290a0a0973656c662e5f726573706f6e73652e5f6f6e58485250726f677265737328290a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f636f6e6e656374203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a096966202873656c662e5f64657374726f796564290a090972657475726e0a0a0973656c662e5f726573706f6e7365203d206e657720496e636f6d696e674d6573736167652873656c662e5f7868722c2073656c662e5f6665746368526573706f6e73652c2073656c662e5f6d6f6465290a0973656c662e5f726573706f6e73652e6f6e28276572726f72272c2066756e6374696f6e2865727229207b0a090973656c662e656d697428276572726f72272c20657272290a097d290a0a0973656c662e656d69742827726573706f6e7365272c2073656c662e5f726573706f6e7365290a7d0a0a436c69656e74526571756573742e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a097661722073656c66203d20746869730a0a0973656c662e5f626f64792e70757368286368756e6b290a09636228290a7d0a0a436c69656e74526571756573742e70726f746f747970652e61626f7274203d20436c69656e74526571756573742e70726f746f747970652e64657374726f79203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0973656c662e5f64657374726f796564203d20747275650a096966202873656c662e5f726573706f6e7365290a090973656c662e5f726573706f6e73652e5f64657374726f796564203d20747275650a096966202873656c662e5f786872290a090973656c662e5f7868722e61626f727428290a092f2f2043757272656e746c792c2074686572652069736e277420612077617920746f207472756c792061626f727420612066657463682e0a092f2f20496620796f75206c696b652062696b657368656464696e672c207365652068747470733a2f2f6769746875622e636f6d2f7768617477672f66657463682f6973737565732f32370a7d0a0a436c69656e74526571756573742e70726f746f747970652e656e64203d2066756e6374696f6e2028646174612c20656e636f64696e672c20636229207b0a097661722073656c66203d20746869730a0969662028747970656f662064617461203d3d3d202766756e6374696f6e2729207b0a09096362203d20646174610a090964617461203d20756e646566696e65640a097d0a0a0973747265616d2e5772697461626c652e70726f746f747970652e656e642e63616c6c2873656c662c20646174612c20656e636f64696e672c206362290a7d0a0a436c69656e74526571756573742e70726f746f747970652e666c75736848656164657273203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e73657454696d656f7574203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e7365744e6f44656c6179203d2066756e6374696f6e202829207b7d0a436c69656e74526571756573742e70726f746f747970652e736574536f636b65744b656570416c697665203d2066756e6374696f6e202829207b7d0a0a2f2f2054616b656e2066726f6d20687474703a2f2f7777772e77332e6f72672f54522f584d4c48747470526571756573742f237468652d736574726571756573746865616465722532382532392d6d6574686f640a76617220756e7361666548656164657273203d205b0a09276163636570742d63686172736574272c0a09276163636570742d656e636f64696e67272c0a09276163636573732d636f6e74726f6c2d726571756573742d68656164657273272c0a09276163636573732d636f6e74726f6c2d726571756573742d6d6574686f64272c0a0927636f6e6e656374696f6e272c0a0927636f6e74656e742d6c656e677468272c0a0927636f6f6b6965272c0a0927636f6f6b696532272c0a092764617465272c0a0927646e74272c0a0927657870656374272c0a0927686f7374272c0a09276b6565702d616c697665272c0a09276f726967696e272c0a092772656665726572272c0a09277465272c0a0927747261696c6572272c0a09277472616e736665722d656e636f64696e67272c0a092775706772616465272c0a0927757365722d6167656e74272c0a0927766961270a5d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d2c72657175697265282262756666657222292e427566666572290a7d2c7b222e2f6361706162696c697479223a3133322c222e2f726573706f6e7365223a3133342c225f70726f63657373223a3132352c22627566666572223a33322c22696e686572697473223a3132312c227265616461626c652d73747265616d223a3134342c22746f2d6172726179627566666572223a3134367d5d2c3133343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c2c427566666572297b0a766172206361706162696c697479203d207265717569726528272e2f6361706162696c69747927290a76617220696e686572697473203d20726571756972652827696e68657269747327290a7661722073747265616d203d207265717569726528277265616461626c652d73747265616d27290a0a7661722072537461746573203d206578706f7274732e7265616479537461746573203d207b0a09554e53454e543a20302c0a094f50454e45443a20312c0a09484541444552535f52454345495645443a20322c0a094c4f4144494e473a20332c0a09444f4e453a20340a7d0a0a76617220496e636f6d696e674d657373616765203d206578706f7274732e496e636f6d696e674d657373616765203d2066756e6374696f6e20287868722c20726573706f6e73652c206d6f646529207b0a097661722073656c66203d20746869730a0973747265616d2e5265616461626c652e63616c6c2873656c66290a0a0973656c662e5f6d6f6465203d206d6f64650a0973656c662e68656164657273203d207b7d0a0973656c662e72617748656164657273203d205b5d0a0973656c662e747261696c657273203d207b7d0a0973656c662e726177547261696c657273203d205b5d0a0a092f2f2046616b65207468652027636c6f736527206576656e742c20627574206f6e6c79206f6e63652027656e64272066697265730a0973656c662e6f6e2827656e64272c2066756e6374696f6e202829207b0a09092f2f20546865206e6578745469636b206973206e656365737361727920746f2070726576656e742074686520277265717565737427206d6f64756c652066726f6d2063617573696e6720616e20696e66696e697465206c6f6f700a090970726f636573732e6e6578745469636b2866756e6374696f6e202829207b0a09090973656c662e656d69742827636c6f736527290a09097d290a097d290a0a09696620286d6f6465203d3d3d202766657463682729207b0a090973656c662e5f6665746368526573706f6e7365203d20726573706f6e73650a0a090973656c662e75726c203d20726573706f6e73652e75726c0a090973656c662e737461747573436f6465203d20726573706f6e73652e7374617475730a090973656c662e7374617475734d657373616765203d20726573706f6e73652e737461747573546578740a09090a0909726573706f6e73652e686561646572732e666f72456163682866756e6374696f6e286865616465722c206b6579297b0a09090973656c662e686561646572735b6b65792e746f4c6f7765724361736528295d203d206865616465720a09090973656c662e726177486561646572732e70757368286b65792c20686561646572290a09097d290a0a0a09092f2f20544f444f3a207468697320646f65736e27742072657370656374206261636b70726573737572652e204f6e6365205772697461626c6553747265616d20697320617661696c61626c652c20746869732063616e2062652066697865640a090976617220726561646572203d20726573706f6e73652e626f64792e67657452656164657228290a090966756e6374696f6e2072656164202829207b0a0909097265616465722e7265616428292e7468656e2866756e6374696f6e2028726573756c7429207b0a090909096966202873656c662e5f64657374726f796564290a090909090972657475726e0a0909090969662028726573756c742e646f6e6529207b0a090909090973656c662e70757368286e756c6c290a090909090972657475726e0a090909097d0a0909090973656c662e70757368286e65772042756666657228726573756c742e76616c756529290a090909097265616428290a0909097d292e63617463682866756e6374696f6e2865727229207b0a0909090973656c662e656d697428276572726f72272c20657272290a0909097d290a09097d0a09097265616428290a0a097d20656c7365207b0a090973656c662e5f786872203d207868720a090973656c662e5f706f73203d20300a0a090973656c662e75726c203d207868722e726573706f6e736555524c0a090973656c662e737461747573436f6465203d207868722e7374617475730a090973656c662e7374617475734d657373616765203d207868722e737461747573546578740a09097661722068656164657273203d207868722e676574416c6c526573706f6e73654865616465727328292e73706c6974282f5c723f5c6e2f290a0909686561646572732e666f72456163682866756e6374696f6e202868656164657229207b0a090909766172206d617463686573203d206865616465722e6d61746368282f5e285b5e3a5d2b293a5c732a282e2a292f290a090909696620286d61746368657329207b0a09090909766172206b6579203d206d6174636865735b315d2e746f4c6f7765724361736528290a09090909696620286b6579203d3d3d20277365742d636f6f6b69652729207b0a09090909096966202873656c662e686561646572735b6b65795d203d3d3d20756e646566696e656429207b0a09090909090973656c662e686561646572735b6b65795d203d205b5d0a09090909097d0a090909090973656c662e686561646572735b6b65795d2e70757368286d6174636865735b325d290a090909097d20656c7365206966202873656c662e686561646572735b6b65795d20213d3d20756e646566696e656429207b0a090909090973656c662e686561646572735b6b65795d202b3d20272c2027202b206d6174636865735b325d0a090909097d20656c7365207b0a090909090973656c662e686561646572735b6b65795d203d206d6174636865735b325d0a090909097d0a0909090973656c662e726177486561646572732e70757368286d6174636865735b315d2c206d6174636865735b325d290a0909097d0a09097d290a0a090973656c662e5f63686172736574203d2027782d757365722d646566696e6564270a090969662028216361706162696c6974792e6f766572726964654d696d655479706529207b0a090909766172206d696d6554797065203d2073656c662e726177486561646572735b276d696d652d74797065275d0a090909696620286d696d655479706529207b0a0909090976617220636861727365744d61746368203d206d696d65547970652e6d61746368282f3b5c732a636861727365743d285b5e3b5d29283b7c24292f290a0909090969662028636861727365744d6174636829207b0a090909090973656c662e5f63686172736574203d20636861727365744d617463685b315d2e746f4c6f7765724361736528290a090909097d0a0909097d0a090909696620282173656c662e5f63686172736574290a0909090973656c662e5f63686172736574203d20277574662d3827202f2f20626573742067756573730a09097d0a097d0a7d0a0a696e68657269747328496e636f6d696e674d6573736167652c2073747265616d2e5265616461626c65290a0a496e636f6d696e674d6573736167652e70726f746f747970652e5f72656164203d2066756e6374696f6e202829207b7d0a0a496e636f6d696e674d6573736167652e70726f746f747970652e5f6f6e58485250726f6772657373203d2066756e6374696f6e202829207b0a097661722073656c66203d20746869730a0a0976617220786872203d2073656c662e5f7868720a0a0976617220726573706f6e7365203d206e756c6c0a09737769746368202873656c662e5f6d6f646529207b0a0909636173652027746578743a76626172726179273a202f2f20466f72204945390a090909696620287868722e7265616479537461746520213d3d20725374617465732e444f4e45290a09090909627265616b0a090909747279207b0a090909092f2f2054686973206661696c7320696e204945380a09090909726573706f6e7365203d206e657720676c6f62616c2e56424172726179287868722e726573706f6e7365426f6479292e746f417272617928290a0909097d20636174636820286529207b7d0a09090969662028726573706f6e736520213d3d206e756c6c29207b0a0909090973656c662e70757368286e65772042756666657228726573706f6e736529290a09090909627265616b0a0909097d0a0909092f2f2046616c6c73207468726f75676820696e20494538090a090963617365202774657874273a0a090909747279207b202f2f20546869732077696c6c206661696c207768656e2072656164795374617465203d203320696e204945392e20537769746368206d6f646520616e64207761697420666f722072656164795374617465203d20340a09090909726573706f6e7365203d207868722e726573706f6e7365546578740a0909097d20636174636820286529207b0a0909090973656c662e5f6d6f6465203d2027746578743a76626172726179270a09090909627265616b0a0909097d0a09090969662028726573706f6e73652e6c656e677468203e2073656c662e5f706f7329207b0a09090909766172206e657744617461203d20726573706f6e73652e7375627374722873656c662e5f706f73290a090909096966202873656c662e5f63686172736574203d3d3d2027782d757365722d646566696e65642729207b0a090909090976617220627566666572203d206e657720427566666572286e6577446174612e6c656e677468290a0909090909666f7220287661722069203d20303b2069203c206e6577446174612e6c656e6774683b20692b2b290a0909090909096275666665725b695d203d206e6577446174612e63686172436f64654174286929202620307866660a0a090909090973656c662e7075736828627566666572290a090909097d20656c7365207b0a090909090973656c662e70757368286e6577446174612c2073656c662e5f63686172736574290a090909097d0a0909090973656c662e5f706f73203d20726573706f6e73652e6c656e6774680a0909097d0a090909627265616b0a09096361736520276172726179627566666572273a0a090909696620287868722e7265616479537461746520213d3d20725374617465732e444f4e45207c7c20217868722e726573706f6e7365290a09090909627265616b0a090909726573706f6e7365203d207868722e726573706f6e73650a09090973656c662e70757368286e657720427566666572286e65772055696e7438417272617928726573706f6e73652929290a090909627265616b0a09096361736520276d6f7a2d6368756e6b65642d6172726179627566666572273a202f2f2074616b652077686f6c650a090909726573706f6e7365203d207868722e726573706f6e73650a090909696620287868722e7265616479537461746520213d3d20725374617465732e4c4f4144494e47207c7c2021726573706f6e7365290a09090909627265616b0a09090973656c662e70757368286e657720427566666572286e65772055696e7438417272617928726573706f6e73652929290a090909627265616b0a09096361736520276d732d73747265616d273a0a090909726573706f6e7365203d207868722e726573706f6e73650a090909696620287868722e7265616479537461746520213d3d20725374617465732e4c4f4144494e47290a09090909627265616b0a09090976617220726561646572203d206e657720676c6f62616c2e4d5353747265616d52656164657228290a0909097265616465722e6f6e70726f6772657373203d2066756e6374696f6e202829207b0a09090909696620287265616465722e726573756c742e627974654c656e677468203e2073656c662e5f706f7329207b0a090909090973656c662e70757368286e657720427566666572286e65772055696e74384172726179287265616465722e726573756c742e736c6963652873656c662e5f706f73292929290a090909090973656c662e5f706f73203d207265616465722e726573756c742e627974654c656e6774680a090909097d0a0909097d0a0909097265616465722e6f6e6c6f6164203d2066756e6374696f6e202829207b0a0909090973656c662e70757368286e756c6c290a0909097d0a0909092f2f207265616465722e6f6e6572726f72203d203f3f3f202f2f20544f444f3a20746869730a0909097265616465722e726561644173417272617942756666657228726573706f6e7365290a090909627265616b0a097d0a0a092f2f20546865206d732d73747265616d20636173652068616e646c657320656e642073657061726174656c7920696e207265616465722e6f6e6c6f616428290a096966202873656c662e5f7868722e72656164795374617465203d3d3d20725374617465732e444f4e452026262073656c662e5f6d6f646520213d3d20276d732d73747265616d2729207b0a090973656c662e70757368286e756c6c290a097d0a7d0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d2c72657175697265282262756666657222292e427566666572290a7d2c7b222e2f6361706162696c697479223a3133322c225f70726f63657373223a3132352c22627566666572223a33322c22696e686572697473223a3132312c227265616461626c652d73747265616d223a3134347d5d2c3133353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220746f537472696e67203d207b7d2e746f537472696e673b0a0a6d6f64756c652e6578706f727473203d2041727261792e69734172726179207c7c2066756e6374696f6e202861727229207b0a202072657475726e20746f537472696e672e63616c6c2861727229203d3d20275b6f626a6563742041727261795d273b0a7d3b0a0a7d2c7b7d5d2c3133363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2061206475706c65782073747265616d206973206a75737420612073747265616d207468617420697320626f7468207265616461626c6520616e64207772697461626c652e0a2f2f2053696e6365204a5320646f65736e27742068617665206d756c7469706c652070726f746f747970616c20696e6865726974616e63652c207468697320636c6173730a2f2f2070726f746f747970616c6c7920696e6865726974732066726f6d205265616461626c652c20616e64207468656e20706172617369746963616c6c792066726f6d0a2f2f205772697461626c652e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172206f626a6563744b657973203d204f626a6563742e6b657973207c7c2066756e6374696f6e20286f626a29207b0a2020766172206b657973203d205b5d3b0a2020666f722028766172206b657920696e206f626a29207b0a202020206b6579732e70757368286b6579293b0a20207d72657475726e206b6579733b0a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d204475706c65783b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a766172205265616461626c65203d207265717569726528272e2f5f73747265616d5f7265616461626c6527293b0a766172205772697461626c65203d207265717569726528272e2f5f73747265616d5f7772697461626c6527293b0a0a7574696c2e696e686572697473284475706c65782c205265616461626c65293b0a0a766172206b657973203d206f626a6563744b657973285772697461626c652e70726f746f74797065293b0a666f7220287661722076203d20303b2076203c206b6579732e6c656e6774683b20762b2b29207b0a2020766172206d6574686f64203d206b6579735b765d3b0a202069662028214475706c65782e70726f746f747970655b6d6574686f645d29204475706c65782e70726f746f747970655b6d6574686f645d203d205772697461626c652e70726f746f747970655b6d6574686f645d3b0a7d0a0a66756e6374696f6e204475706c6578286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f66204475706c657829292072657475726e206e6577204475706c6578286f7074696f6e73293b0a0a20205265616461626c652e63616c6c28746869732c206f7074696f6e73293b0a20205772697461626c652e63616c6c28746869732c206f7074696f6e73293b0a0a2020696620286f7074696f6e73202626206f7074696f6e732e7265616461626c65203d3d3d2066616c73652920746869732e7265616461626c65203d2066616c73653b0a0a2020696620286f7074696f6e73202626206f7074696f6e732e7772697461626c65203d3d3d2066616c73652920746869732e7772697461626c65203d2066616c73653b0a0a2020746869732e616c6c6f7748616c664f70656e203d20747275653b0a2020696620286f7074696f6e73202626206f7074696f6e732e616c6c6f7748616c664f70656e203d3d3d2066616c73652920746869732e616c6c6f7748616c664f70656e203d2066616c73653b0a0a2020746869732e6f6e63652827656e64272c206f6e656e64293b0a7d0a0a2f2f20746865206e6f2d68616c662d6f70656e20656e666f726365720a66756e6374696f6e206f6e656e642829207b0a20202f2f20696620776520616c6c6f772068616c662d6f70656e2073746174652c206f7220696620746865207772697461626c65207369646520656e6465642c0a20202f2f207468656e207765277265206f6b2e0a202069662028746869732e616c6c6f7748616c664f70656e207c7c20746869732e5f7772697461626c6553746174652e656e646564292072657475726e3b0a0a20202f2f206e6f206d6f726520646174612063616e206265207772697474656e2e0a20202f2f2042757420616c6c6f77206d6f72652077726974657320746f2068617070656e20696e2074686973207469636b2e0a202070726f636573734e6578745469636b286f6e456e644e542c2074686973293b0a7d0a0a66756e6374696f6e206f6e456e644e542873656c6629207b0a202073656c662e656e6428293b0a7d0a0a4f626a6563742e646566696e6550726f7065727479284475706c65782e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e6564207c7c20746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7265616461626c6553746174652e64657374726f79656420262620746869732e5f7772697461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e6564207c7c20746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2076616c75653b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a4475706c65782e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e70757368286e756c6c293b0a2020746869732e656e6428293b0a0a202070726f636573734e6578745469636b2863622c20657272293b0a7d3b0a0a66756e6374696f6e20666f72456163682878732c206629207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020662878735b695d2c2069293b0a20207d0a7d0a7d2c7b222e2f5f73747265616d5f7265616461626c65223a3133382c222e2f5f73747265616d5f7772697461626c65223a3134302c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132312c2270726f636573732d6e65787469636b2d61726773223a3132347d5d2c3133373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f206120706173737468726f7567682073747265616d2e0a2f2f206261736963616c6c79206a75737420746865206d6f7374206d696e696d616c20736f7274206f66205472616e73666f726d2073747265616d2e0a2f2f204576657279207772697474656e206368756e6b2067657473206f75747075742061732d69732e0a0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d20506173735468726f7567683b0a0a766172205472616e73666f726d203d207265717569726528272e2f5f73747265616d5f7472616e73666f726d27293b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7574696c2e696e68657269747328506173735468726f7567682c205472616e73666f726d293b0a0a66756e6374696f6e20506173735468726f756768286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f6620506173735468726f75676829292072657475726e206e657720506173735468726f756768286f7074696f6e73293b0a0a20205472616e73666f726d2e63616c6c28746869732c206f7074696f6e73293b0a7d0a0a506173735468726f7567682e70726f746f747970652e5f7472616e73666f726d203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20206362286e756c6c2c206368756e6b293b0a7d3b0a7d2c7b222e2f5f73747265616d5f7472616e73666f726d223a3133392c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132317d5d2c3133383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d205265616461626c653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722069734172726179203d207265717569726528276973617272617927293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204475706c65783b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a5265616461626c652e5265616461626c655374617465203d205265616461626c6553746174653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204545203d207265717569726528276576656e747327292e4576656e74456d69747465723b0a0a7661722045456c697374656e6572436f756e74203d2066756e6374696f6e2028656d69747465722c207479706529207b0a202072657475726e20656d69747465722e6c697374656e6572732874797065292e6c656e6774683b0a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722053747265616d203d207265717569726528272e2f696e7465726e616c2f73747265616d732f73747265616d27293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2f20544f444f28626d6575726572293a204368616e67652074686973206261636b20746f20636f6e7374206f6e636520686f6c6520636865636b73206172650a2f2f2070726f7065726c79206f7074696d697a65642061776179206561726c7920696e2049676e6974696f6e2b547572626f46616e2e0a2f2a3c7265706c6163656d656e743e2a2f0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a766172204f757255696e74384172726179203d20676c6f62616c2e55696e74384172726179207c7c2066756e6374696f6e202829207b7d3b0a66756e6374696f6e205f75696e74384172726179546f427566666572286368756e6b29207b0a202072657475726e204275666665722e66726f6d286368756e6b293b0a7d0a66756e6374696f6e205f697355696e74384172726179286f626a29207b0a202072657475726e204275666665722e6973427566666572286f626a29207c7c206f626a20696e7374616e63656f66204f757255696e743841727261793b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722064656275675574696c203d207265717569726528277574696c27293b0a766172206465627567203d20766f696420303b0a6966202864656275675574696c2026262064656275675574696c2e64656275676c6f6729207b0a20206465627567203d2064656275675574696c2e64656275676c6f67282773747265616d27293b0a7d20656c7365207b0a20206465627567203d2066756e6374696f6e202829207b7d3b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a766172204275666665724c697374203d207265717569726528272e2f696e7465726e616c2f73747265616d732f4275666665724c69737427293b0a7661722064657374726f79496d706c203d207265717569726528272e2f696e7465726e616c2f73747265616d732f64657374726f7927293b0a76617220537472696e674465636f6465723b0a0a7574696c2e696e686572697473285265616461626c652c2053747265616d293b0a0a766172206b50726f78794576656e7473203d205b276572726f72272c2027636c6f7365272c202764657374726f79272c20277061757365272c2027726573756d65275d3b0a0a66756e6374696f6e2070726570656e644c697374656e657228656d69747465722c206576656e742c20666e29207b0a20202f2f205361646c792074686973206973206e6f7420636163686561626c6520617320736f6d65206c69627261726965732062756e646c65207468656972206f776e0a20202f2f206576656e7420656d697474657220696d706c656d656e746174696f6e2077697468207468656d2e0a202069662028747970656f6620656d69747465722e70726570656e644c697374656e6572203d3d3d202766756e6374696f6e2729207b0a2020202072657475726e20656d69747465722e70726570656e644c697374656e6572286576656e742c20666e293b0a20207d20656c7365207b0a202020202f2f20546869732069732061206861636b20746f206d616b6520737572652074686174206f7572206572726f722068616e646c6572206973206174746163686564206265666f726520616e790a202020202f2f20757365726c616e64206f6e65732e20204e4556455220444f20544849532e20546869732069732068657265206f6e6c792062656361757365207468697320636f6465206e656564730a202020202f2f20746f20636f6e74696e756520746f20776f726b2077697468206f6c6465722076657273696f6e73206f66204e6f64652e6a73207468617420646f206e6f7420696e636c7564650a202020202f2f207468652070726570656e644c697374656e65722829206d6574686f642e2054686520676f616c20697320746f206576656e7475616c6c792072656d6f76652074686973206861636b2e0a202020206966202821656d69747465722e5f6576656e7473207c7c2021656d69747465722e5f6576656e74735b6576656e745d2920656d69747465722e6f6e286576656e742c20666e293b656c736520696620286973417272617928656d69747465722e5f6576656e74735b6576656e745d292920656d69747465722e5f6576656e74735b6576656e745d2e756e736869667428666e293b656c736520656d69747465722e5f6576656e74735b6576656e745d203d205b666e2c20656d69747465722e5f6576656e74735b6576656e745d5d3b0a20207d0a7d0a0a66756e6374696f6e205265616461626c655374617465286f7074696f6e732c2073747265616d29207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206f7074696f6e73203d206f7074696f6e73207c7c207b7d3b0a0a20202f2f206f626a6563742073747265616d20666c61672e205573656420746f206d616b652072656164286e292069676e6f7265206e20616e6420746f0a20202f2f206d616b6520616c6c2074686520627566666572206d657267696e6720616e64206c656e67746820636865636b7320676f20617761790a2020746869732e6f626a6563744d6f6465203d2021216f7074696f6e732e6f626a6563744d6f64653b0a0a20206966202873747265616d20696e7374616e63656f66204475706c65782920746869732e6f626a6563744d6f6465203d20746869732e6f626a6563744d6f6465207c7c2021216f7074696f6e732e7265616461626c654f626a6563744d6f64653b0a0a20202f2f2074686520706f696e742061742077686963682069742073746f70732063616c6c696e67205f72656164282920746f2066696c6c20746865206275666665720a20202f2f204e6f74653a203020697320612076616c69642076616c75652c206d65616e732022646f6e27742063616c6c205f7265616420707265656d70746976656c792065766572220a20207661722068776d203d206f7074696f6e732e6869676857617465724d61726b3b0a20207661722064656661756c7448776d203d20746869732e6f626a6563744d6f6465203f203136203a203136202a20313032343b0a2020746869732e6869676857617465724d61726b203d2068776d207c7c2068776d203d3d3d2030203f2068776d203a2064656661756c7448776d3b0a0a20202f2f206361737420746f20696e74732e0a2020746869732e6869676857617465724d61726b203d204d6174682e666c6f6f7228746869732e6869676857617465724d61726b293b0a0a20202f2f2041206c696e6b6564206c697374206973207573656420746f2073746f72652064617461206368756e6b7320696e7374656164206f6620616e2061727261792062656361757365207468650a20202f2f206c696e6b6564206c6973742063616e2072656d6f766520656c656d656e74732066726f6d2074686520626567696e6e696e6720666173746572207468616e0a20202f2f2061727261792e736869667428290a2020746869732e627566666572203d206e6577204275666665724c69737428293b0a2020746869732e6c656e677468203d20303b0a2020746869732e7069706573203d206e756c6c3b0a2020746869732e7069706573436f756e74203d20303b0a2020746869732e666c6f77696e67203d206e756c6c3b0a2020746869732e656e646564203d2066616c73653b0a2020746869732e656e64456d6974746564203d2066616c73653b0a2020746869732e72656164696e67203d2066616c73653b0a0a20202f2f206120666c616720746f2062652061626c6520746f2074656c6c20696620746865206576656e7420277265616461626c65272f27646174612720697320656d69747465640a20202f2f20696d6d6564696174656c792c206f72206f6e2061206c61746572207469636b2e2020576520736574207468697320746f20747275652061742066697273742c20626563617573650a20202f2f20616e7920616374696f6e7320746861742073686f756c646e27742068617070656e20756e74696c20226c61746572222073686f756c642067656e6572616c6c7920616c736f0a20202f2f206e6f742068617070656e206265666f72652074686520666972737420726561642063616c6c2e0a2020746869732e73796e63203d20747275653b0a0a20202f2f207768656e657665722077652072657475726e206e756c6c2c207468656e20776520736574206120666c616720746f207361790a20202f2f2074686174207765277265206177616974696e67206120277265616461626c6527206576656e7420656d697373696f6e2e0a2020746869732e6e6565645265616461626c65203d2066616c73653b0a2020746869732e656d69747465645265616461626c65203d2066616c73653b0a2020746869732e7265616461626c654c697374656e696e67203d2066616c73653b0a2020746869732e726573756d655363686564756c6564203d2066616c73653b0a0a20202f2f20686173206974206265656e2064657374726f7965640a2020746869732e64657374726f796564203d2066616c73653b0a0a20202f2f2043727970746f206973206b696e64206f66206f6c6420616e64206372757374792e2020486973746f726963616c6c792c206974732064656661756c7420737472696e670a20202f2f20656e636f64696e67206973202762696e6172792720736f207765206861766520746f206d616b65207468697320636f6e666967757261626c652e0a20202f2f2045766572797468696e6720656c736520696e2074686520756e6976657273652075736573202775746638272c2074686f7567682e0a2020746869732e64656661756c74456e636f64696e67203d206f7074696f6e732e64656661756c74456e636f64696e67207c7c202775746638273b0a0a20202f2f20746865206e756d626572206f662077726974657273207468617420617265206177616974696e67206120647261696e206576656e7420696e202e706970652829730a2020746869732e6177616974447261696e203d20303b0a0a20202f2f20696620747275652c2061206d61796265526561644d6f726520686173206265656e207363686564756c65640a2020746869732e72656164696e674d6f7265203d2066616c73653b0a0a2020746869732e6465636f646572203d206e756c6c3b0a2020746869732e656e636f64696e67203d206e756c6c3b0a2020696620286f7074696f6e732e656e636f64696e6729207b0a202020206966202821537472696e674465636f6465722920537472696e674465636f646572203d20726571756972652827737472696e675f6465636f6465722f27292e537472696e674465636f6465723b0a20202020746869732e6465636f646572203d206e657720537472696e674465636f646572286f7074696f6e732e656e636f64696e67293b0a20202020746869732e656e636f64696e67203d206f7074696f6e732e656e636f64696e673b0a20207d0a7d0a0a66756e6374696f6e205265616461626c65286f7074696f6e7329207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206966202821287468697320696e7374616e63656f66205265616461626c6529292072657475726e206e6577205265616461626c65286f7074696f6e73293b0a0a2020746869732e5f7265616461626c655374617465203d206e6577205265616461626c655374617465286f7074696f6e732c2074686973293b0a0a20202f2f206c65676163790a2020746869732e7265616461626c65203d20747275653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e72656164203d3d3d202766756e6374696f6e272920746869732e5f72656164203d206f7074696f6e732e726561643b0a0a2020202069662028747970656f66206f7074696f6e732e64657374726f79203d3d3d202766756e6374696f6e272920746869732e5f64657374726f79203d206f7074696f6e732e64657374726f793b0a20207d0a0a202053747265616d2e63616c6c2874686973293b0a7d0a0a4f626a6563742e646566696e6550726f7065727479285265616461626c652e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7265616461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7265616461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a202020206966202821746869732e5f7265616461626c65537461746529207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a5265616461626c652e70726f746f747970652e64657374726f79203d2064657374726f79496d706c2e64657374726f793b0a5265616461626c652e70726f746f747970652e5f756e64657374726f79203d2064657374726f79496d706c2e756e64657374726f793b0a5265616461626c652e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e70757368286e756c6c293b0a2020636228657272293b0a7d3b0a0a2f2f204d616e75616c6c792073686f766520736f6d657468696e6720696e746f2074686520726561642829206275666665722e0a2f2f20546869732072657475726e73207472756520696620746865206869676857617465724d61726b20686173206e6f74206265656e20686974207965742c0a2f2f2073696d696c617220746f20686f77205772697461626c652e777269746528292072657475726e73207472756520696620796f752073686f756c640a2f2f207772697465282920736f6d65206d6f72652e0a5265616461626c652e70726f746f747970652e70757368203d2066756e6374696f6e20286368756e6b2c20656e636f64696e6729207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220736b69704368756e6b436865636b3b0a0a2020696620282173746174652e6f626a6563744d6f646529207b0a2020202069662028747970656f66206368756e6b203d3d3d2027737472696e672729207b0a202020202020656e636f64696e67203d20656e636f64696e67207c7c2073746174652e64656661756c74456e636f64696e673b0a20202020202069662028656e636f64696e6720213d3d2073746174652e656e636f64696e6729207b0a20202020202020206368756e6b203d204275666665722e66726f6d286368756e6b2c20656e636f64696e67293b0a2020202020202020656e636f64696e67203d2027273b0a2020202020207d0a202020202020736b69704368756e6b436865636b203d20747275653b0a202020207d0a20207d20656c7365207b0a20202020736b69704368756e6b436865636b203d20747275653b0a20207d0a0a202072657475726e207265616461626c654164644368756e6b28746869732c206368756e6b2c20656e636f64696e672c2066616c73652c20736b69704368756e6b436865636b293b0a7d3b0a0a2f2f20556e73686966742073686f756c64202a616c776179732a20626520736f6d657468696e67206469726563746c79206f7574206f66207265616428290a5265616461626c652e70726f746f747970652e756e7368696674203d2066756e6374696f6e20286368756e6b29207b0a202072657475726e207265616461626c654164644368756e6b28746869732c206368756e6b2c206e756c6c2c20747275652c2066616c7365293b0a7d3b0a0a66756e6374696f6e207265616461626c654164644368756e6b2873747265616d2c206368756e6b2c20656e636f64696e672c20616464546f46726f6e742c20736b69704368756e6b436865636b29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a2020696620286368756e6b203d3d3d206e756c6c29207b0a2020202073746174652e72656164696e67203d2066616c73653b0a202020206f6e456f664368756e6b2873747265616d2c207374617465293b0a20207d20656c7365207b0a202020207661722065723b0a202020206966202821736b69704368756e6b436865636b29206572203d206368756e6b496e76616c69642873746174652c206368756e6b293b0a2020202069662028657229207b0a20202020202073747265616d2e656d697428276572726f72272c206572293b0a202020207d20656c7365206966202873746174652e6f626a6563744d6f6465207c7c206368756e6b202626206368756e6b2e6c656e677468203e203029207b0a20202020202069662028747970656f66206368756e6b20213d3d2027737472696e6727202626202173746174652e6f626a6563744d6f6465202626204f626a6563742e67657450726f746f747970654f66286368756e6b2920213d3d204275666665722e70726f746f7479706529207b0a20202020202020206368756e6b203d205f75696e74384172726179546f427566666572286368756e6b293b0a2020202020207d0a0a20202020202069662028616464546f46726f6e7429207b0a20202020202020206966202873746174652e656e64456d6974746564292073747265616d2e656d697428276572726f72272c206e6577204572726f72282773747265616d2e756e7368696674282920616674657220656e64206576656e742729293b656c7365206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2074727565293b0a2020202020207d20656c7365206966202873746174652e656e64656429207b0a202020202020202073747265616d2e656d697428276572726f72272c206e6577204572726f72282773747265616d2e70757368282920616674657220454f462729293b0a2020202020207d20656c7365207b0a202020202020202073746174652e72656164696e67203d2066616c73653b0a20202020202020206966202873746174652e6465636f6465722026262021656e636f64696e6729207b0a202020202020202020206368756e6b203d2073746174652e6465636f6465722e7772697465286368756e6b293b0a202020202020202020206966202873746174652e6f626a6563744d6f6465207c7c206368756e6b2e6c656e67746820213d3d203029206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2066616c7365293b656c7365206d61796265526561644d6f72652873747265616d2c207374617465293b0a20202020202020207d20656c7365207b0a202020202020202020206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c2066616c7365293b0a20202020202020207d0a2020202020207d0a202020207d20656c7365206966202821616464546f46726f6e7429207b0a20202020202073746174652e72656164696e67203d2066616c73653b0a202020207d0a20207d0a0a202072657475726e206e6565644d6f726544617461287374617465293b0a7d0a0a66756e6374696f6e206164644368756e6b2873747265616d2c2073746174652c206368756e6b2c20616464546f46726f6e7429207b0a20206966202873746174652e666c6f77696e672026262073746174652e6c656e677468203d3d3d2030202626202173746174652e73796e6329207b0a2020202073747265616d2e656d6974282764617461272c206368756e6b293b0a2020202073747265616d2e726561642830293b0a20207d20656c7365207b0a202020202f2f20757064617465207468652062756666657220696e666f2e0a2020202073746174652e6c656e677468202b3d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a2020202069662028616464546f46726f6e74292073746174652e6275666665722e756e7368696674286368756e6b293b656c73652073746174652e6275666665722e70757368286368756e6b293b0a0a202020206966202873746174652e6e6565645265616461626c652920656d69745265616461626c652873747265616d293b0a20207d0a20206d61796265526561644d6f72652873747265616d2c207374617465293b0a7d0a0a66756e6374696f6e206368756e6b496e76616c69642873746174652c206368756e6b29207b0a20207661722065723b0a202069662028215f697355696e74384172726179286368756e6b2920262620747970656f66206368756e6b20213d3d2027737472696e6727202626206368756e6b20213d3d20756e646566696e6564202626202173746174652e6f626a6563744d6f646529207b0a202020206572203d206e657720547970654572726f722827496e76616c6964206e6f6e2d737472696e672f627566666572206368756e6b27293b0a20207d0a202072657475726e2065723b0a7d0a0a2f2f20696620697427732070617374207468652068696768207761746572206d61726b2c2077652063616e207075736820696e20736f6d65206d6f72652e0a2f2f20416c736f2c2069662077652068617665206e6f2064617461207965742c2077652063616e207374616e6420736f6d650a2f2f206d6f72652062797465732e20205468697320697320746f20776f726b2061726f756e642063617365732077686572652068776d3d302c0a2f2f207375636820617320746865207265706c2e2020416c736f2c20696620746865207075736828292074726967676572656420610a2f2f207265616461626c65206576656e742c20616e642074686520757365722063616c6c65642072656164286c617267654e756d62657229207375636820746861740a2f2f206e6565645265616461626c6520776173207365742c207468656e207765206f7567687420746f2070757368206d6f72652c20736f207468617420616e6f746865720a2f2f20277265616461626c6527206576656e742077696c6c206265207472696767657265642e0a66756e6374696f6e206e6565644d6f72654461746128737461746529207b0a202072657475726e202173746174652e656e646564202626202873746174652e6e6565645265616461626c65207c7c2073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b207c7c2073746174652e6c656e677468203d3d3d2030293b0a7d0a0a5265616461626c652e70726f746f747970652e6973506175736564203d2066756e6374696f6e202829207b0a202072657475726e20746869732e5f7265616461626c6553746174652e666c6f77696e67203d3d3d2066616c73653b0a7d3b0a0a2f2f206261636b776172647320636f6d7061746962696c6974792e0a5265616461626c652e70726f746f747970652e736574456e636f64696e67203d2066756e6374696f6e2028656e6329207b0a20206966202821537472696e674465636f6465722920537472696e674465636f646572203d20726571756972652827737472696e675f6465636f6465722f27292e537472696e674465636f6465723b0a2020746869732e5f7265616461626c6553746174652e6465636f646572203d206e657720537472696e674465636f64657228656e63293b0a2020746869732e5f7265616461626c6553746174652e656e636f64696e67203d20656e633b0a202072657475726e20746869733b0a7d3b0a0a2f2f20446f6e2774207261697365207468652068776d203e20384d420a766172204d41585f48574d203d2030783830303030303b0a66756e6374696f6e20636f6d707574654e65774869676857617465724d61726b286e29207b0a2020696620286e203e3d204d41585f48574d29207b0a202020206e203d204d41585f48574d3b0a20207d20656c7365207b0a202020202f2f2047657420746865206e657874206869676865737420706f776572206f66203220746f2070726576656e7420696e6372656173696e672068776d206578636573736976656c7920696e0a202020202f2f2074696e7920616d6f756e74730a202020206e2d2d3b0a202020206e207c3d206e203e3e3e20313b0a202020206e207c3d206e203e3e3e20323b0a202020206e207c3d206e203e3e3e20343b0a202020206e207c3d206e203e3e3e20383b0a202020206e207c3d206e203e3e3e2031363b0a202020206e2b2b3b0a20207d0a202072657475726e206e3b0a7d0a0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20686f774d756368546f52656164286e2c20737461746529207b0a2020696620286e203c3d2030207c7c2073746174652e6c656e677468203d3d3d20302026262073746174652e656e646564292072657475726e20303b0a20206966202873746174652e6f626a6563744d6f6465292072657475726e20313b0a2020696620286e20213d3d206e29207b0a202020202f2f204f6e6c7920666c6f77206f6e652062756666657220617420612074696d650a202020206966202873746174652e666c6f77696e672026262073746174652e6c656e677468292072657475726e2073746174652e6275666665722e686561642e646174612e6c656e6774683b656c73652072657475726e2073746174652e6c656e6774683b0a20207d0a20202f2f2049662077652772652061736b696e6720666f72206d6f7265207468616e207468652063757272656e742068776d2c207468656e207261697365207468652068776d2e0a2020696620286e203e2073746174652e6869676857617465724d61726b292073746174652e6869676857617465724d61726b203d20636f6d707574654e65774869676857617465724d61726b286e293b0a2020696620286e203c3d2073746174652e6c656e677468292072657475726e206e3b0a20202f2f20446f6e2774206861766520656e6f7567680a2020696620282173746174652e656e64656429207b0a2020202073746174652e6e6565645265616461626c65203d20747275653b0a2020202072657475726e20303b0a20207d0a202072657475726e2073746174652e6c656e6774683b0a7d0a0a2f2f20796f752063616e206f76657272696465206569746865722074686973206d6574686f642c206f7220746865206173796e63205f72656164286e292062656c6f772e0a5265616461626c652e70726f746f747970652e72656164203d2066756e6374696f6e20286e29207b0a20206465627567282772656164272c206e293b0a20206e203d207061727365496e74286e2c203130293b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a2020766172206e4f726967203d206e3b0a0a2020696620286e20213d3d2030292073746174652e656d69747465645265616461626c65203d2066616c73653b0a0a20202f2f20696620776527726520646f696e67207265616428302920746f20747269676765722061207265616461626c65206576656e742c206275742077650a20202f2f20616c7265616479206861766520612062756e6368206f66206461746120696e20746865206275666665722c207468656e206a75737420747269676765720a20202f2f2074686520277265616461626c6527206576656e7420616e64206d6f7665206f6e2e0a2020696620286e203d3d3d20302026262073746174652e6e6565645265616461626c65202626202873746174652e6c656e677468203e3d2073746174652e6869676857617465724d61726b207c7c2073746174652e656e6465642929207b0a2020202064656275672827726561643a20656d69745265616461626c65272c2073746174652e6c656e6774682c2073746174652e656e646564293b0a202020206966202873746174652e6c656e677468203d3d3d20302026262073746174652e656e6465642920656e645265616461626c652874686973293b656c736520656d69745265616461626c652874686973293b0a2020202072657475726e206e756c6c3b0a20207d0a0a20206e203d20686f774d756368546f52656164286e2c207374617465293b0a0a20202f2f20696620776527766520656e6465642c20616e64207765277265206e6f7720636c6561722c207468656e2066696e6973682069742075702e0a2020696620286e203d3d3d20302026262073746174652e656e64656429207b0a202020206966202873746174652e6c656e677468203d3d3d20302920656e645265616461626c652874686973293b0a2020202072657475726e206e756c6c3b0a20207d0a0a20202f2f20416c6c207468652061637475616c206368756e6b2067656e65726174696f6e206c6f676963206e6565647320746f2062650a20202f2f202a62656c6f772a207468652063616c6c20746f205f726561642e202054686520726561736f6e206973207468617420696e206365727461696e0a20202f2f2073796e7468657469632073747265616d2063617365732c207375636820617320706173737468726f7567682073747265616d732c205f726561640a20202f2f206d6179206265206120636f6d706c6574656c792073796e6368726f6e6f7573206f7065726174696f6e207768696368206d6179206368616e67650a20202f2f20746865207374617465206f66207468652072656164206275666665722c2070726f766964696e6720656e6f7567682064617461207768656e0a20202f2f206265666f726520746865726520776173202a6e6f742a20656e6f7567682e0a20202f2f0a20202f2f20536f2c20746865207374657073206172653a0a20202f2f20312e20466967757265206f7574207768617420746865207374617465206f66207468696e67732077696c6c20626520616674657220776520646f0a20202f2f206120726561642066726f6d20746865206275666665722e0a20202f2f0a20202f2f20322e204966207468617420726573756c74696e672073746174652077696c6c20747269676765722061205f726561642c207468656e2063616c6c205f726561642e0a20202f2f204e6f746520746861742074686973206d6179206265206173796e6368726f6e6f75732c206f722073796e6368726f6e6f75732e20205965732c2069742069730a20202f2f20646565706c792075676c7920746f20777269746520415049732074686973207761792c206275742074686174207374696c6c20646f65736e2774206d65616e0a20202f2f207468617420746865205265616461626c6520636c6173732073686f756c642062656861766520696d70726f7065726c792c2061732073747265616d73206172650a20202f2f2064657369676e656420746f2062652073796e632f6173796e632061676e6f737469632e0a20202f2f2054616b65206e6f746520696620746865205f726561642063616c6c2069732073796e63206f72206173796e63202869652c2069662074686520726561642063616c6c0a20202f2f206861732072657475726e656420796574292c20736f2074686174207765206b6e6f772077686574686572206f72206e6f742069742773207361666520746f20656d69740a20202f2f20277265616461626c6527206574632e0a20202f2f0a20202f2f20332e2041637475616c6c792070756c6c2074686520726571756573746564206368756e6b73206f7574206f66207468652062756666657220616e642072657475726e2e0a0a20202f2f206966207765206e6565642061207265616461626c65206576656e742c207468656e207765206e65656420746f20646f20736f6d652072656164696e672e0a202076617220646f52656164203d2073746174652e6e6565645265616461626c653b0a2020646562756728276e656564207265616461626c65272c20646f52656164293b0a0a20202f2f2069662077652063757272656e746c792068617665206c657373207468616e20746865206869676857617465724d61726b2c207468656e20616c736f207265616420736f6d650a20206966202873746174652e6c656e677468203d3d3d2030207c7c2073746174652e6c656e677468202d206e203c2073746174652e6869676857617465724d61726b29207b0a20202020646f52656164203d20747275653b0a20202020646562756728276c656e677468206c657373207468616e2077617465726d61726b272c20646f52656164293b0a20207d0a0a20202f2f20686f77657665722c20696620776527766520656e6465642c207468656e2074686572652773206e6f20706f696e742c20616e6420696620776527726520616c72656164790a20202f2f2072656164696e672c207468656e206974277320756e6e65636573736172792e0a20206966202873746174652e656e646564207c7c2073746174652e72656164696e6729207b0a20202020646f52656164203d2066616c73653b0a202020206465627567282772656164696e67206f7220656e646564272c20646f52656164293b0a20207d20656c73652069662028646f5265616429207b0a2020202064656275672827646f207265616427293b0a2020202073746174652e72656164696e67203d20747275653b0a2020202073746174652e73796e63203d20747275653b0a202020202f2f20696620746865206c656e6774682069732063757272656e746c79207a65726f2c207468656e207765202a6e6565642a2061207265616461626c65206576656e742e0a202020206966202873746174652e6c656e677468203d3d3d2030292073746174652e6e6565645265616461626c65203d20747275653b0a202020202f2f2063616c6c20696e7465726e616c2072656164206d6574686f640a20202020746869732e5f726561642873746174652e6869676857617465724d61726b293b0a2020202073746174652e73796e63203d2066616c73653b0a202020202f2f204966205f726561642070757368656420646174612073796e6368726f6e6f75736c792c207468656e206072656164696e67602077696c6c2062652066616c73652c0a202020202f2f20616e64207765206e65656420746f2072652d6576616c7561746520686f77206d75636820646174612077652063616e2072657475726e20746f2074686520757365722e0a20202020696620282173746174652e72656164696e6729206e203d20686f774d756368546f52656164286e4f7269672c207374617465293b0a20207d0a0a2020766172207265743b0a2020696620286e203e20302920726574203d2066726f6d4c697374286e2c207374617465293b656c736520726574203d206e756c6c3b0a0a202069662028726574203d3d3d206e756c6c29207b0a2020202073746174652e6e6565645265616461626c65203d20747275653b0a202020206e203d20303b0a20207d20656c7365207b0a2020202073746174652e6c656e677468202d3d206e3b0a20207d0a0a20206966202873746174652e6c656e677468203d3d3d203029207b0a202020202f2f2049662077652068617665206e6f7468696e6720696e20746865206275666665722c207468656e2077652077616e7420746f206b6e6f770a202020202f2f20617320736f6f6e206173207765202a646f2a2067657420736f6d657468696e6720696e746f20746865206275666665722e0a20202020696620282173746174652e656e646564292073746174652e6e6565645265616461626c65203d20747275653b0a0a202020202f2f20496620776520747269656420746f2072656164282920706173742074686520454f462c207468656e20656d697420656e64206f6e20746865206e657874207469636b2e0a20202020696620286e4f72696720213d3d206e2026262073746174652e656e6465642920656e645265616461626c652874686973293b0a20207d0a0a20206966202872657420213d3d206e756c6c2920746869732e656d6974282764617461272c20726574293b0a0a202072657475726e207265743b0a7d3b0a0a66756e6374696f6e206f6e456f664368756e6b2873747265616d2c20737461746529207b0a20206966202873746174652e656e646564292072657475726e3b0a20206966202873746174652e6465636f64657229207b0a20202020766172206368756e6b203d2073746174652e6465636f6465722e656e6428293b0a20202020696620286368756e6b202626206368756e6b2e6c656e67746829207b0a20202020202073746174652e6275666665722e70757368286368756e6b293b0a20202020202073746174652e6c656e677468202b3d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a202020207d0a20207d0a202073746174652e656e646564203d20747275653b0a0a20202f2f20656d697420277265616461626c6527206e6f7720746f206d616b6520737572652069742067657473207069636b65642075702e0a2020656d69745265616461626c652873747265616d293b0a7d0a0a2f2f20446f6e277420656d6974207265616461626c65207269676874206177617920696e2073796e63206d6f64652c206265636175736520746869732063616e20747269676765720a2f2f20616e6f74686572207265616428292063616c6c203d3e20737461636b206f766572666c6f772e202054686973207761792c206974206d6967687420747269676765720a2f2f2061206e6578745469636b20726563757273696f6e207761726e696e672c2062757420746861742773206e6f7420736f206261642e0a66756e6374696f6e20656d69745265616461626c652873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a202073746174652e6e6565645265616461626c65203d2066616c73653b0a2020696620282173746174652e656d69747465645265616461626c6529207b0a2020202064656275672827656d69745265616461626c65272c2073746174652e666c6f77696e67293b0a2020202073746174652e656d69747465645265616461626c65203d20747275653b0a202020206966202873746174652e73796e63292070726f636573734e6578745469636b28656d69745265616461626c655f2c2073747265616d293b656c736520656d69745265616461626c655f2873747265616d293b0a20207d0a7d0a0a66756e6374696f6e20656d69745265616461626c655f2873747265616d29207b0a202064656275672827656d6974207265616461626c6527293b0a202073747265616d2e656d697428277265616461626c6527293b0a2020666c6f772873747265616d293b0a7d0a0a2f2f206174207468697320706f696e742c207468652075736572206861732070726573756d61626c79207365656e2074686520277265616461626c6527206576656e742c0a2f2f20616e642063616c6c65642072656164282920746f20636f6e73756d6520736f6d6520646174612e202074686174206d61792068617665207472696767657265640a2f2f20696e207475726e20616e6f74686572205f72656164286e292063616c6c2c20696e20776869636820636173652072656164696e67203d20747275652069660a2f2f206974277320696e2070726f67726573732e0a2f2f20486f77657665722c206966207765277265206e6f7420656e6465642c206f722072656164696e672c20616e6420746865206c656e677468203c2068776d2c0a2f2f207468656e20676f20616865616420616e642074727920746f207265616420736f6d65206d6f726520707265656d70746976656c792e0a66756e6374696f6e206d61796265526561644d6f72652873747265616d2c20737461746529207b0a2020696620282173746174652e72656164696e674d6f726529207b0a2020202073746174652e72656164696e674d6f7265203d20747275653b0a2020202070726f636573734e6578745469636b286d61796265526561644d6f72655f2c2073747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e206d61796265526561644d6f72655f2873747265616d2c20737461746529207b0a2020766172206c656e203d2073746174652e6c656e6774683b0a20207768696c6520282173746174652e72656164696e67202626202173746174652e666c6f77696e67202626202173746174652e656e6465642026262073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b29207b0a20202020646562756728276d61796265526561644d6f72652072656164203027293b0a2020202073747265616d2e726561642830293b0a20202020696620286c656e203d3d3d2073746174652e6c656e677468290a2020202020202f2f206469646e27742067657420616e7920646174612c2073746f70207370696e6e696e672e0a202020202020627265616b3b656c7365206c656e203d2073746174652e6c656e6774683b0a20207d0a202073746174652e72656164696e674d6f7265203d2066616c73653b0a7d0a0a2f2f206162737472616374206d6574686f642e2020746f206265206f76657272696464656e20696e20737065636966696320696d706c656d656e746174696f6e20636c61737365732e0a2f2f2063616c6c2063622865722c2064617461292077686572652064617461206973203c3d206e20696e206c656e6774682e0a2f2f20666f72207669727475616c20286e6f6e2d737472696e672c206e6f6e2d627566666572292073747265616d732c20226c656e6774682220697320736f6d65776861740a2f2f206172626974726172792c20616e642070657268617073206e6f742076657279206d65616e696e6766756c2e0a5265616461626c652e70726f746f747970652e5f72656164203d2066756e6374696f6e20286e29207b0a2020746869732e656d697428276572726f72272c206e6577204572726f7228275f726561642829206973206e6f7420696d706c656d656e7465642729293b0a7d3b0a0a5265616461626c652e70726f746f747970652e70697065203d2066756e6374696f6e2028646573742c20706970654f70747329207b0a202076617220737263203d20746869733b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a0a2020737769746368202873746174652e7069706573436f756e7429207b0a202020206361736520303a0a20202020202073746174652e7069706573203d20646573743b0a202020202020627265616b3b0a202020206361736520313a0a20202020202073746174652e7069706573203d205b73746174652e70697065732c20646573745d3b0a202020202020627265616b3b0a2020202064656661756c743a0a20202020202073746174652e70697065732e707573682864657374293b0a202020202020627265616b3b0a20207d0a202073746174652e7069706573436f756e74202b3d20313b0a2020646562756728277069706520636f756e743d2564206f7074733d256a272c2073746174652e7069706573436f756e742c20706970654f707473293b0a0a202076617220646f456e64203d202821706970654f707473207c7c20706970654f7074732e656e6420213d3d2066616c736529202626206465737420213d3d2070726f636573732e7374646f7574202626206465737420213d3d2070726f636573732e7374646572723b0a0a202076617220656e64466e203d20646f456e64203f206f6e656e64203a20756e706970653b0a20206966202873746174652e656e64456d6974746564292070726f636573734e6578745469636b28656e64466e293b656c7365207372632e6f6e63652827656e64272c20656e64466e293b0a0a2020646573742e6f6e2827756e70697065272c206f6e756e70697065293b0a202066756e6374696f6e206f6e756e70697065287265616461626c652c20756e70697065496e666f29207b0a20202020646562756728276f6e756e7069706527293b0a20202020696620287265616461626c65203d3d3d2073726329207b0a20202020202069662028756e70697065496e666f20262620756e70697065496e666f2e686173556e7069706564203d3d3d2066616c736529207b0a2020202020202020756e70697065496e666f2e686173556e7069706564203d20747275653b0a2020202020202020636c65616e757028293b0a2020202020207d0a202020207d0a20207d0a0a202066756e6374696f6e206f6e656e642829207b0a20202020646562756728276f6e656e6427293b0a20202020646573742e656e6428293b0a20207d0a0a20202f2f207768656e20746865206465737420647261696e732c206974207265647563657320746865206177616974447261696e20636f756e7465720a20202f2f206f6e2074686520736f757263652e20205468697320776f756c64206265206d6f726520656c6567616e7420776974682061202e6f6e636528290a20202f2f2068616e646c657220696e20666c6f7728292c2062757420616464696e6720616e642072656d6f76696e672072657065617465646c792069730a20202f2f20746f6f20736c6f772e0a2020766172206f6e647261696e203d20706970654f6e447261696e28737263293b0a2020646573742e6f6e2827647261696e272c206f6e647261696e293b0a0a202076617220636c65616e65645570203d2066616c73653b0a202066756e6374696f6e20636c65616e75702829207b0a2020202064656275672827636c65616e757027293b0a202020202f2f20636c65616e7570206576656e742068616e646c657273206f6e63652074686520706970652069732062726f6b656e0a20202020646573742e72656d6f76654c697374656e65722827636c6f7365272c206f6e636c6f7365293b0a20202020646573742e72656d6f76654c697374656e6572282766696e697368272c206f6e66696e697368293b0a20202020646573742e72656d6f76654c697374656e65722827647261696e272c206f6e647261696e293b0a20202020646573742e72656d6f76654c697374656e657228276572726f72272c206f6e6572726f72293b0a20202020646573742e72656d6f76654c697374656e65722827756e70697065272c206f6e756e70697065293b0a202020207372632e72656d6f76654c697374656e65722827656e64272c206f6e656e64293b0a202020207372632e72656d6f76654c697374656e65722827656e64272c20756e70697065293b0a202020207372632e72656d6f76654c697374656e6572282764617461272c206f6e64617461293b0a0a20202020636c65616e65645570203d20747275653b0a0a202020202f2f20696620746865207265616465722069732077616974696e6720666f72206120647261696e206576656e742066726f6d20746869730a202020202f2f207370656369666963207772697465722c207468656e20697420776f756c6420636175736520697420746f206e657665722073746172740a202020202f2f20666c6f77696e6720616761696e2e0a202020202f2f20536f2c2069662074686973206973206177616974696e67206120647261696e2c207468656e207765206a7573742063616c6c206974206e6f772e0a202020202f2f20496620776520646f6e2774206b6e6f772c207468656e20617373756d652074686174207765206172652077616974696e6720666f72206f6e652e0a202020206966202873746174652e6177616974447261696e202626202821646573742e5f7772697461626c655374617465207c7c20646573742e5f7772697461626c6553746174652e6e656564447261696e2929206f6e647261696e28293b0a20207d0a0a20202f2f20496620746865207573657220707573686573206d6f72652064617461207768696c652077652772652077726974696e6720746f2064657374207468656e207765276c6c20656e642075700a20202f2f20696e206f6e6461746120616761696e2e20486f77657665722c207765206f6e6c792077616e7420746f20696e637265617365206177616974447261696e206f6e636520626563617573650a20202f2f20646573742077696c6c206f6e6c7920656d6974206f6e652027647261696e27206576656e7420666f7220746865206d756c7469706c65207772697465732e0a20202f2f203d3e20496e74726f647563652061206775617264206f6e20696e6372656173696e67206177616974447261696e2e0a202076617220696e637265617365644177616974447261696e203d2066616c73653b0a20207372632e6f6e282764617461272c206f6e64617461293b0a202066756e6374696f6e206f6e64617461286368756e6b29207b0a20202020646562756728276f6e6461746127293b0a20202020696e637265617365644177616974447261696e203d2066616c73653b0a2020202076617220726574203d20646573742e7772697465286368756e6b293b0a202020206966202866616c7365203d3d3d207265742026262021696e637265617365644177616974447261696e29207b0a2020202020202f2f20496620746865207573657220756e706970656420647572696e672060646573742e77726974652829602c20697420697320706f737369626c650a2020202020202f2f20746f2067657420737475636b20696e2061207065726d616e656e746c792070617573656420737461746520696620746861742077726974650a2020202020202f2f20616c736f2072657475726e65642066616c73652e0a2020202020202f2f203d3e20436865636b207768657468657220606465737460206973207374696c6c206120706970696e672064657374696e6174696f6e2e0a202020202020696620282873746174652e7069706573436f756e74203d3d3d20312026262073746174652e7069706573203d3d3d2064657374207c7c2073746174652e7069706573436f756e74203e203120262620696e6465784f662873746174652e70697065732c20646573742920213d3d202d31292026262021636c65616e6564557029207b0a20202020202020206465627567282766616c736520777269746520726573706f6e73652c207061757365272c207372632e5f7265616461626c6553746174652e6177616974447261696e293b0a20202020202020207372632e5f7265616461626c6553746174652e6177616974447261696e2b2b3b0a2020202020202020696e637265617365644177616974447261696e203d20747275653b0a2020202020207d0a2020202020207372632e706175736528293b0a202020207d0a20207d0a0a20202f2f2069662074686520646573742068617320616e206572726f722c207468656e2073746f7020706970696e6720696e746f2069742e0a20202f2f20686f77657665722c20646f6e277420737570707265737320746865207468726f77696e67206265686176696f7220666f7220746869732e0a202066756e6374696f6e206f6e6572726f7228657229207b0a20202020646562756728276f6e6572726f72272c206572293b0a20202020756e7069706528293b0a20202020646573742e72656d6f76654c697374656e657228276572726f72272c206f6e6572726f72293b0a202020206966202845456c697374656e6572436f756e7428646573742c20276572726f722729203d3d3d20302920646573742e656d697428276572726f72272c206572293b0a20207d0a0a20202f2f204d616b652073757265206f7572206572726f722068616e646c6572206973206174746163686564206265666f726520757365726c616e64206f6e65732e0a202070726570656e644c697374656e657228646573742c20276572726f72272c206f6e6572726f72293b0a0a20202f2f20426f746820636c6f736520616e642066696e6973682073686f756c64207472696767657220756e706970652c20627574206f6e6c79206f6e63652e0a202066756e6374696f6e206f6e636c6f73652829207b0a20202020646573742e72656d6f76654c697374656e6572282766696e697368272c206f6e66696e697368293b0a20202020756e7069706528293b0a20207d0a2020646573742e6f6e63652827636c6f7365272c206f6e636c6f7365293b0a202066756e6374696f6e206f6e66696e6973682829207b0a20202020646562756728276f6e66696e69736827293b0a20202020646573742e72656d6f76654c697374656e65722827636c6f7365272c206f6e636c6f7365293b0a20202020756e7069706528293b0a20207d0a2020646573742e6f6e6365282766696e697368272c206f6e66696e697368293b0a0a202066756e6374696f6e20756e706970652829207b0a2020202064656275672827756e7069706527293b0a202020207372632e756e706970652864657374293b0a20207d0a0a20202f2f2074656c6c20746865206465737420746861742069742773206265696e6720706970656420746f0a2020646573742e656d6974282770697065272c20737263293b0a0a20202f2f2073746172742074686520666c6f77206966206974206861736e2774206265656e207374617274656420616c72656164792e0a2020696620282173746174652e666c6f77696e6729207b0a20202020646562756728277069706520726573756d6527293b0a202020207372632e726573756d6528293b0a20207d0a0a202072657475726e20646573743b0a7d3b0a0a66756e6374696f6e20706970654f6e447261696e2873726329207b0a202072657475726e2066756e6374696f6e202829207b0a20202020766172207374617465203d207372632e5f7265616461626c6553746174653b0a2020202064656275672827706970654f6e447261696e272c2073746174652e6177616974447261696e293b0a202020206966202873746174652e6177616974447261696e292073746174652e6177616974447261696e2d2d3b0a202020206966202873746174652e6177616974447261696e203d3d3d20302026262045456c697374656e6572436f756e74287372632c202764617461272929207b0a20202020202073746174652e666c6f77696e67203d20747275653b0a202020202020666c6f7728737263293b0a202020207d0a20207d3b0a7d0a0a5265616461626c652e70726f746f747970652e756e70697065203d2066756e6374696f6e20286465737429207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220756e70697065496e666f203d207b20686173556e70697065643a2066616c7365207d3b0a0a20202f2f206966207765277265206e6f7420706970696e6720616e7977686572652c207468656e20646f206e6f7468696e672e0a20206966202873746174652e7069706573436f756e74203d3d3d2030292072657475726e20746869733b0a0a20202f2f206a757374206f6e652064657374696e6174696f6e2e20206d6f737420636f6d6d6f6e20636173652e0a20206966202873746174652e7069706573436f756e74203d3d3d203129207b0a202020202f2f2070617373656420696e206f6e652c206275742069742773206e6f7420746865207269676874206f6e652e0a202020206966202864657374202626206465737420213d3d2073746174652e7069706573292072657475726e20746869733b0a0a20202020696620282164657374292064657374203d2073746174652e70697065733b0a0a202020202f2f20676f742061206d617463682e0a2020202073746174652e7069706573203d206e756c6c3b0a2020202073746174652e7069706573436f756e74203d20303b0a2020202073746174652e666c6f77696e67203d2066616c73653b0a2020202069662028646573742920646573742e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a2020202072657475726e20746869733b0a20207d0a0a20202f2f20736c6f7720636173652e206d756c7469706c6520706970652064657374696e6174696f6e732e0a0a202069662028216465737429207b0a202020202f2f2072656d6f766520616c6c2e0a20202020766172206465737473203d2073746174652e70697065733b0a20202020766172206c656e203d2073746174652e7069706573436f756e743b0a2020202073746174652e7069706573203d206e756c6c3b0a2020202073746174652e7069706573436f756e74203d20303b0a2020202073746174652e666c6f77696e67203d2066616c73653b0a0a20202020666f7220287661722069203d20303b2069203c206c656e3b20692b2b29207b0a20202020202064657374735b695d2e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a202020207d72657475726e20746869733b0a20207d0a0a20202f2f2074727920746f2066696e6420746865207269676874206f6e652e0a202076617220696e646578203d20696e6465784f662873746174652e70697065732c2064657374293b0a202069662028696e646578203d3d3d202d31292072657475726e20746869733b0a0a202073746174652e70697065732e73706c69636528696e6465782c2031293b0a202073746174652e7069706573436f756e74202d3d20313b0a20206966202873746174652e7069706573436f756e74203d3d3d2031292073746174652e7069706573203d2073746174652e70697065735b305d3b0a0a2020646573742e656d69742827756e70697065272c20746869732c20756e70697065496e666f293b0a0a202072657475726e20746869733b0a7d3b0a0a2f2f207365742075702064617461206576656e74732069662074686579206172652061736b656420666f720a2f2f20456e73757265207265616461626c65206c697374656e657273206576656e7475616c6c792067657420736f6d657468696e670a5265616461626c652e70726f746f747970652e6f6e203d2066756e6374696f6e202865762c20666e29207b0a202076617220726573203d2053747265616d2e70726f746f747970652e6f6e2e63616c6c28746869732c2065762c20666e293b0a0a2020696620286576203d3d3d2027646174612729207b0a202020202f2f20537461727420666c6f77696e67206f6e206e657874207469636b2069662073747265616d2069736e2774206578706c696369746c79207061757365640a2020202069662028746869732e5f7265616461626c6553746174652e666c6f77696e6720213d3d2066616c73652920746869732e726573756d6528293b0a20207d20656c736520696620286576203d3d3d20277265616461626c652729207b0a20202020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a20202020696620282173746174652e656e64456d6974746564202626202173746174652e7265616461626c654c697374656e696e6729207b0a20202020202073746174652e7265616461626c654c697374656e696e67203d2073746174652e6e6565645265616461626c65203d20747275653b0a20202020202073746174652e656d69747465645265616461626c65203d2066616c73653b0a202020202020696620282173746174652e72656164696e6729207b0a202020202020202070726f636573734e6578745469636b286e52656164696e674e6578745469636b2c2074686973293b0a2020202020207d20656c7365206966202873746174652e6c656e67746829207b0a2020202020202020656d69745265616461626c652874686973293b0a2020202020207d0a202020207d0a20207d0a0a202072657475726e207265733b0a7d3b0a5265616461626c652e70726f746f747970652e6164644c697374656e6572203d205265616461626c652e70726f746f747970652e6f6e3b0a0a66756e6374696f6e206e52656164696e674e6578745469636b2873656c6629207b0a2020646562756728277265616461626c65206e6578747469636b2072656164203027293b0a202073656c662e726561642830293b0a7d0a0a2f2f207061757365282920616e6420726573756d652829206172652072656d6e616e7473206f6620746865206c6567616379207265616461626c652073747265616d204150490a2f2f2049662074686520757365722075736573207468656d2c207468656e2073776974636820696e746f206f6c64206d6f64652e0a5265616461626c652e70726f746f747970652e726573756d65203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a2020696620282173746174652e666c6f77696e6729207b0a2020202064656275672827726573756d6527293b0a2020202073746174652e666c6f77696e67203d20747275653b0a20202020726573756d6528746869732c207374617465293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20726573756d652873747265616d2c20737461746529207b0a2020696620282173746174652e726573756d655363686564756c656429207b0a2020202073746174652e726573756d655363686564756c6564203d20747275653b0a2020202070726f636573734e6578745469636b28726573756d655f2c2073747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e20726573756d655f2873747265616d2c20737461746529207b0a2020696620282173746174652e72656164696e6729207b0a2020202064656275672827726573756d652072656164203027293b0a2020202073747265616d2e726561642830293b0a20207d0a0a202073746174652e726573756d655363686564756c6564203d2066616c73653b0a202073746174652e6177616974447261696e203d20303b0a202073747265616d2e656d69742827726573756d6527293b0a2020666c6f772873747265616d293b0a20206966202873746174652e666c6f77696e67202626202173746174652e72656164696e67292073747265616d2e726561642830293b0a7d0a0a5265616461626c652e70726f746f747970652e7061757365203d2066756e6374696f6e202829207b0a20206465627567282763616c6c20706175736520666c6f77696e673d256a272c20746869732e5f7265616461626c6553746174652e666c6f77696e67293b0a20206966202866616c736520213d3d20746869732e5f7265616461626c6553746174652e666c6f77696e6729207b0a2020202064656275672827706175736527293b0a20202020746869732e5f7265616461626c6553746174652e666c6f77696e67203d2066616c73653b0a20202020746869732e656d69742827706175736527293b0a20207d0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e20666c6f772873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a202064656275672827666c6f77272c2073746174652e666c6f77696e67293b0a20207768696c65202873746174652e666c6f77696e672026262073747265616d2e72656164282920213d3d206e756c6c29207b7d0a7d0a0a2f2f207772617020616e206f6c642d7374796c652073747265616d20617320746865206173796e63206461746120736f757263652e0a2f2f2054686973206973202a6e6f742a2070617274206f6620746865207265616461626c652073747265616d20696e746572666163652e0a2f2f20497420697320616e2075676c7920756e666f7274756e617465206d657373206f6620686973746f72792e0a5265616461626c652e70726f746f747970652e77726170203d2066756e6374696f6e202873747265616d29207b0a2020766172207374617465203d20746869732e5f7265616461626c6553746174653b0a202076617220706175736564203d2066616c73653b0a0a20207661722073656c66203d20746869733b0a202073747265616d2e6f6e2827656e64272c2066756e6374696f6e202829207b0a20202020646562756728277772617070656420656e6427293b0a202020206966202873746174652e6465636f646572202626202173746174652e656e64656429207b0a202020202020766172206368756e6b203d2073746174652e6465636f6465722e656e6428293b0a202020202020696620286368756e6b202626206368756e6b2e6c656e677468292073656c662e70757368286368756e6b293b0a202020207d0a0a2020202073656c662e70757368286e756c6c293b0a20207d293b0a0a202073747265616d2e6f6e282764617461272c2066756e6374696f6e20286368756e6b29207b0a202020206465627567282777726170706564206461746127293b0a202020206966202873746174652e6465636f64657229206368756e6b203d2073746174652e6465636f6465722e7772697465286368756e6b293b0a0a202020202f2f20646f6e277420736b6970206f7665722066616c73792076616c75657320696e206f626a6563744d6f64650a202020206966202873746174652e6f626a6563744d6f646520262620286368756e6b203d3d3d206e756c6c207c7c206368756e6b203d3d3d20756e646566696e656429292072657475726e3b656c736520696620282173746174652e6f626a6563744d6f64652026262028216368756e6b207c7c20216368756e6b2e6c656e67746829292072657475726e3b0a0a2020202076617220726574203d2073656c662e70757368286368756e6b293b0a20202020696620282172657429207b0a202020202020706175736564203d20747275653b0a20202020202073747265616d2e706175736528293b0a202020207d0a20207d293b0a0a20202f2f2070726f787920616c6c20746865206f74686572206d6574686f64732e0a20202f2f20696d706f7274616e74207768656e207772617070696e672066696c7465727320616e64206475706c657865732e0a2020666f722028766172206920696e2073747265616d29207b0a2020202069662028746869735b695d203d3d3d20756e646566696e656420262620747970656f662073747265616d5b695d203d3d3d202766756e6374696f6e2729207b0a202020202020746869735b695d203d2066756e6374696f6e20286d6574686f6429207b0a202020202020202072657475726e2066756e6374696f6e202829207b0a2020202020202020202072657475726e2073747265616d5b6d6574686f645d2e6170706c792873747265616d2c20617267756d656e7473293b0a20202020202020207d3b0a2020202020207d2869293b0a202020207d0a20207d0a0a20202f2f2070726f7879206365727461696e20696d706f7274616e74206576656e74732e0a2020666f722028766172206e203d20303b206e203c206b50726f78794576656e74732e6c656e6774683b206e2b2b29207b0a2020202073747265616d2e6f6e286b50726f78794576656e74735b6e5d2c2073656c662e656d69742e62696e642873656c662c206b50726f78794576656e74735b6e5d29293b0a20207d0a0a20202f2f207768656e2077652074727920746f20636f6e73756d6520736f6d65206d6f72652062797465732c2073696d706c7920756e7061757365207468650a20202f2f20756e6465726c79696e672073747265616d2e0a202073656c662e5f72656164203d2066756e6374696f6e20286e29207b0a202020206465627567282777726170706564205f72656164272c206e293b0a202020206966202870617573656429207b0a202020202020706175736564203d2066616c73653b0a20202020202073747265616d2e726573756d6528293b0a202020207d0a20207d3b0a0a202072657475726e2073656c663b0a7d3b0a0a2f2f206578706f73656420666f722074657374696e6720707572706f736573206f6e6c792e0a5265616461626c652e5f66726f6d4c697374203d2066726f6d4c6973743b0a0a2f2f20506c75636b206f6666206e2062797465732066726f6d20616e206172726179206f6620627566666572732e0a2f2f204c656e6774682069732074686520636f6d62696e6564206c656e67746873206f6620616c6c20746865206275666665727320696e20746865206c6973742e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e2066726f6d4c697374286e2c20737461746529207b0a20202f2f206e6f7468696e672062756666657265640a20206966202873746174652e6c656e677468203d3d3d2030292072657475726e206e756c6c3b0a0a2020766172207265743b0a20206966202873746174652e6f626a6563744d6f64652920726574203d2073746174652e6275666665722e736869667428293b656c73652069662028216e207c7c206e203e3d2073746174652e6c656e67746829207b0a202020202f2f207265616420697420616c6c2c207472756e6361746520746865206c6973740a202020206966202873746174652e6465636f6465722920726574203d2073746174652e6275666665722e6a6f696e282727293b656c7365206966202873746174652e6275666665722e6c656e677468203d3d3d20312920726574203d2073746174652e6275666665722e686561642e646174613b656c736520726574203d2073746174652e6275666665722e636f6e6361742873746174652e6c656e677468293b0a2020202073746174652e6275666665722e636c65617228293b0a20207d20656c7365207b0a202020202f2f20726561642070617274206f66206c6973740a20202020726574203d2066726f6d4c6973745061727469616c286e2c2073746174652e6275666665722c2073746174652e6465636f646572293b0a20207d0a0a202072657475726e207265743b0a7d0a0a2f2f204578747261637473206f6e6c7920656e6f756768206275666665726564206461746120746f20736174697366792074686520616d6f756e74207265717565737465642e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e2066726f6d4c6973745061727469616c286e2c206c6973742c20686173537472696e677329207b0a2020766172207265743b0a2020696620286e203c206c6973742e686561642e646174612e6c656e67746829207b0a202020202f2f20736c696365206973207468652073616d6520666f72206275666665727320616e6420737472696e67730a20202020726574203d206c6973742e686561642e646174612e736c69636528302c206e293b0a202020206c6973742e686561642e64617461203d206c6973742e686561642e646174612e736c696365286e293b0a20207d20656c736520696620286e203d3d3d206c6973742e686561642e646174612e6c656e67746829207b0a202020202f2f206669727374206368756e6b20697320612070657266656374206d617463680a20202020726574203d206c6973742e736869667428293b0a20207d20656c7365207b0a202020202f2f20726573756c74207370616e73206d6f7265207468616e206f6e65206275666665720a20202020726574203d20686173537472696e6773203f20636f707946726f6d427566666572537472696e67286e2c206c69737429203a20636f707946726f6d427566666572286e2c206c697374293b0a20207d0a202072657475726e207265743b0a7d0a0a2f2f20436f7069657320612073706563696669656420616d6f756e74206f6620636861726163746572732066726f6d20746865206c697374206f6620627566666572656420646174610a2f2f206368756e6b732e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20636f707946726f6d427566666572537472696e67286e2c206c69737429207b0a20207661722070203d206c6973742e686561643b0a20207661722063203d20313b0a202076617220726574203d20702e646174613b0a20206e202d3d207265742e6c656e6774683b0a20207768696c65202870203d20702e6e65787429207b0a2020202076617220737472203d20702e646174613b0a20202020766172206e62203d206e203e207374722e6c656e677468203f207374722e6c656e677468203a206e3b0a20202020696620286e62203d3d3d207374722e6c656e6774682920726574202b3d207374723b656c736520726574202b3d207374722e736c69636528302c206e293b0a202020206e202d3d206e623b0a20202020696620286e203d3d3d203029207b0a202020202020696620286e62203d3d3d207374722e6c656e67746829207b0a20202020202020202b2b633b0a202020202020202069662028702e6e65787429206c6973742e68656164203d20702e6e6578743b656c7365206c6973742e68656164203d206c6973742e7461696c203d206e756c6c3b0a2020202020207d20656c7365207b0a20202020202020206c6973742e68656164203d20703b0a2020202020202020702e64617461203d207374722e736c696365286e62293b0a2020202020207d0a202020202020627265616b3b0a202020207d0a202020202b2b633b0a20207d0a20206c6973742e6c656e677468202d3d20633b0a202072657475726e207265743b0a7d0a0a2f2f20436f7069657320612073706563696669656420616d6f756e74206f662062797465732066726f6d20746865206c697374206f662062756666657265642064617461206368756e6b732e0a2f2f20546869732066756e6374696f6e2069732064657369676e656420746f20626520696e6c696e61626c652c20736f20706c656173652074616b652063617265207768656e206d616b696e670a2f2f206368616e67657320746f207468652066756e6374696f6e20626f64792e0a66756e6374696f6e20636f707946726f6d427566666572286e2c206c69737429207b0a202076617220726574203d204275666665722e616c6c6f63556e73616665286e293b0a20207661722070203d206c6973742e686561643b0a20207661722063203d20313b0a2020702e646174612e636f707928726574293b0a20206e202d3d20702e646174612e6c656e6774683b0a20207768696c65202870203d20702e6e65787429207b0a2020202076617220627566203d20702e646174613b0a20202020766172206e62203d206e203e206275662e6c656e677468203f206275662e6c656e677468203a206e3b0a202020206275662e636f7079287265742c207265742e6c656e677468202d206e2c20302c206e62293b0a202020206e202d3d206e623b0a20202020696620286e203d3d3d203029207b0a202020202020696620286e62203d3d3d206275662e6c656e67746829207b0a20202020202020202b2b633b0a202020202020202069662028702e6e65787429206c6973742e68656164203d20702e6e6578743b656c7365206c6973742e68656164203d206c6973742e7461696c203d206e756c6c3b0a2020202020207d20656c7365207b0a20202020202020206c6973742e68656164203d20703b0a2020202020202020702e64617461203d206275662e736c696365286e62293b0a2020202020207d0a202020202020627265616b3b0a202020207d0a202020202b2b633b0a20207d0a20206c6973742e6c656e677468202d3d20633b0a202072657475726e207265743b0a7d0a0a66756e6374696f6e20656e645265616461626c652873747265616d29207b0a2020766172207374617465203d2073747265616d2e5f7265616461626c6553746174653b0a0a20202f2f204966207765206765742068657265206265666f726520636f6e73756d696e6720616c6c207468652062797465732c207468656e207468617420697320610a20202f2f2062756720696e206e6f64652e202053686f756c64206e657665722068617070656e2e0a20206966202873746174652e6c656e677468203e203029207468726f77206e6577204572726f72282722656e645265616461626c652829222063616c6c6564206f6e206e6f6e2d656d7074792073747265616d27293b0a0a2020696620282173746174652e656e64456d697474656429207b0a2020202073746174652e656e646564203d20747275653b0a2020202070726f636573734e6578745469636b28656e645265616461626c654e542c2073746174652c2073747265616d293b0a20207d0a7d0a0a66756e6374696f6e20656e645265616461626c654e542873746174652c2073747265616d29207b0a20202f2f20436865636b2074686174207765206469646e277420676574206f6e65206c61737420756e73686966742e0a2020696620282173746174652e656e64456d69747465642026262073746174652e6c656e677468203d3d3d203029207b0a2020202073746174652e656e64456d6974746564203d20747275653b0a2020202073747265616d2e7265616461626c65203d2066616c73653b0a2020202073747265616d2e656d69742827656e6427293b0a20207d0a7d0a0a66756e6374696f6e20666f72456163682878732c206629207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a20202020662878735b695d2c2069293b0a20207d0a7d0a0a66756e6374696f6e20696e6465784f662878732c207829207b0a2020666f7220287661722069203d20302c206c203d2078732e6c656e6774683b2069203c206c3b20692b2b29207b0a202020206966202878735b695d203d3d3d2078292072657475726e20693b0a20207d0a202072657475726e202d313b0a7d0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c222e2f696e7465726e616c2f73747265616d732f4275666665724c697374223a3134312c222e2f696e7465726e616c2f73747265616d732f64657374726f79223a3134322c222e2f696e7465726e616c2f73747265616d732f73747265616d223a3134332c225f70726f63657373223a3132352c22636f72652d7574696c2d6973223a33382c226576656e7473223a33332c22696e686572697473223a3132312c2269736172726179223a3133352c2270726f636573732d6e65787469636b2d61726773223a3132342c22736166652d627566666572223a3133302c22737472696e675f6465636f6465722f223a3134352c227574696c223a32397d5d2c3133393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2061207472616e73666f726d2073747265616d2069732061207265616461626c652f7772697461626c652073747265616d20776865726520796f7520646f0a2f2f20736f6d657468696e6720776974682074686520646174612e2020536f6d6574696d657320697427732063616c6c65642061202266696c746572222c0a2f2f2062757420746861742773206e6f742061206772656174206e616d6520666f722069742c2073696e6365207468617420696d706c6965732061207468696e672077686572650a2f2f20736f6d6520626974732070617373207468726f7567682c20616e64206f7468657273206172652073696d706c792069676e6f7265642e2020285468617420776f756c640a2f2f20626520612076616c6964206578616d706c65206f662061207472616e73666f726d2c206f6620636f757273652e290a2f2f0a2f2f205768696c6520746865206f75747075742069732063617573616c6c792072656c6174656420746f2074686520696e7075742c2069742773206e6f7420610a2f2f206e65636573736172696c792073796d6d6574726963206f722073796e6368726f6e6f7573207472616e73666f726d6174696f6e2e2020466f72206578616d706c652c0a2f2f2061207a6c69622073747265616d206d696768742074616b65206d756c7469706c6520706c61696e2d746578742077726974657328292c20616e64207468656e0a2f2f20656d697420612073696e676c6520636f6d70726573736564206368756e6b20736f6d652074696d6520696e20746865206675747572652e0a2f2f0a2f2f2048657265277320686f77207468697320776f726b733a0a2f2f0a2f2f20546865205472616e73666f726d2073747265616d2068617320616c6c207468652061737065637473206f6620746865207265616461626c6520616e64207772697461626c650a2f2f2073747265616d20636c61737365732e20205768656e20796f75207772697465286368756e6b292c20746861742063616c6c73205f7772697465286368756e6b2c6362290a2f2f20696e7465726e616c6c792c20616e642072657475726e732066616c736520696620746865726527732061206c6f74206f662070656e64696e67207772697465730a2f2f2062756666657265642075702e20205768656e20796f752063616c6c207265616428292c20746861742063616c6c73205f72656164286e2920756e74696c0a2f2f207468657265277320656e6f7567682070656e64696e67207265616461626c6520646174612062756666657265642075702e0a2f2f0a2f2f20496e2061207472616e73666f726d2073747265616d2c20746865207772697474656e206461746120697320706c6163656420696e2061206275666665722e20205768656e0a2f2f205f72656164286e292069732063616c6c65642c206974207472616e73666f726d73207468652071756575656420757020646174612c2063616c6c696e67207468650a2f2f206275666665726564205f7772697465206362277320617320697420636f6e73756d6573206368756e6b732e2020496620636f6e73756d696e6720612073696e676c650a2f2f207772697474656e206368756e6b20776f756c6420726573756c7420696e206d756c7469706c65206f7574707574206368756e6b732c207468656e207468652066697273740a2f2f206f7574707574746564206269742063616c6c7320746865207265616463622c20616e642073756273657175656e74206368756e6b73206a75737420676f20696e746f0a2f2f207468652072656164206275666665722c20616e642077696c6c20636175736520697420746f20656d697420277265616461626c6527206966206e65636573736172792e0a2f2f0a2f2f2054686973207761792c206261636b2d70726573737572652069732061637475616c6c792064657465726d696e6564206279207468652072656164696e6720736964652c0a2f2f2073696e6365205f726561642068617320746f2062652063616c6c656420746f2073746172742070726f63657373696e672061206e6577206368756e6b2e2020486f77657665722c0a2f2f206120706174686f6c6f676963616c20696e666c6174652074797065206f66207472616e73666f726d2063616e2063617573652065786365737369766520627566666572696e670a2f2f20686572652e2020466f72206578616d706c652c20696d6167696e6520612073747265616d2077686572652065766572792062797465206f6620696e7075742069730a2f2f20696e74657270726574656420617320616e20696e74656765722066726f6d20302d3235352c20616e64207468656e20726573756c747320696e2074686174206d616e790a2f2f206279746573206f66206f75747075742e202057726974696e67207468652034206279746573207b66662c66662c66662c66667d20776f756c6420726573756c7420696e0a2f2f20316b62206f662064617461206265696e67206f75747075742e2020496e207468697320636173652c20796f7520636f756c642077726974652061207665727920736d616c6c0a2f2f20616d6f756e74206f6620696e7075742c20616e6420656e64207570207769746820612076657279206c6172676520616d6f756e74206f66206f75747075742e2020496e0a2f2f2073756368206120706174686f6c6f676963616c20696e666c6174696e67206d656368616e69736d2c2074686572652764206265206e6f2077617920746f2074656c6c0a2f2f207468652073797374656d20746f2073746f7020646f696e6720746865207472616e73666f726d2e2020412073696e676c6520344d4220777269746520636f756c640a2f2f206361757365207468652073797374656d20746f2072756e206f7574206f66206d656d6f72792e0a2f2f0a2f2f20486f77657665722c206576656e20696e2073756368206120706174686f6c6f676963616c20636173652c206f6e6c7920612073696e676c65207772697474656e206368756e6b0a2f2f20776f756c6420626520636f6e73756d65642c20616e64207468656e20746865207265737420776f756c6420776169742028756e2d7472616e73666f726d65642920756e74696c0a2f2f2074686520726573756c7473206f66207468652070726576696f7573207472616e73666f726d6564206368756e6b207765726520636f6e73756d65642e0a0a2775736520737472696374273b0a0a6d6f64756c652e6578706f727473203d205472616e73666f726d3b0a0a766172204475706c6578203d207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7574696c2e696e686572697473285472616e73666f726d2c204475706c6578293b0a0a66756e6374696f6e205472616e73666f726d53746174652873747265616d29207b0a2020746869732e61667465725472616e73666f726d203d2066756e6374696f6e202865722c206461746129207b0a2020202072657475726e2061667465725472616e73666f726d2873747265616d2c2065722c2064617461293b0a20207d3b0a0a2020746869732e6e6565645472616e73666f726d203d2066616c73653b0a2020746869732e7472616e73666f726d696e67203d2066616c73653b0a2020746869732e77726974656362203d206e756c6c3b0a2020746869732e77726974656368756e6b203d206e756c6c3b0a2020746869732e7772697465656e636f64696e67203d206e756c6c3b0a7d0a0a66756e6374696f6e2061667465725472616e73666f726d2873747265616d2c2065722c206461746129207b0a2020766172207473203d2073747265616d2e5f7472616e73666f726d53746174653b0a202074732e7472616e73666f726d696e67203d2066616c73653b0a0a2020766172206362203d2074732e777269746563623b0a0a20206966202821636229207b0a2020202072657475726e2073747265616d2e656d697428276572726f72272c206e6577204572726f72282777726974652063616c6c6261636b2063616c6c6564206d756c7469706c652074696d65732729293b0a20207d0a0a202074732e77726974656368756e6b203d206e756c6c3b0a202074732e77726974656362203d206e756c6c3b0a0a2020696620286461746120213d3d206e756c6c202626206461746120213d3d20756e646566696e6564292073747265616d2e707573682864617461293b0a0a20206362286572293b0a0a2020766172207273203d2073747265616d2e5f7265616461626c6553746174653b0a202072732e72656164696e67203d2066616c73653b0a20206966202872732e6e6565645265616461626c65207c7c2072732e6c656e677468203c2072732e6869676857617465724d61726b29207b0a2020202073747265616d2e5f726561642872732e6869676857617465724d61726b293b0a20207d0a7d0a0a66756e6374696f6e205472616e73666f726d286f7074696f6e7329207b0a20206966202821287468697320696e7374616e63656f66205472616e73666f726d29292072657475726e206e6577205472616e73666f726d286f7074696f6e73293b0a0a20204475706c65782e63616c6c28746869732c206f7074696f6e73293b0a0a2020746869732e5f7472616e73666f726d5374617465203d206e6577205472616e73666f726d53746174652874686973293b0a0a20207661722073747265616d203d20746869733b0a0a20202f2f207374617274206f75742061736b696e6720666f722061207265616461626c65206576656e74206f6e63652064617461206973207472616e73666f726d65642e0a2020746869732e5f7265616461626c6553746174652e6e6565645265616461626c65203d20747275653b0a0a20202f2f207765206861766520696d706c656d656e74656420746865205f72656164206d6574686f642c20616e6420646f6e6520746865206f74686572207468696e67730a20202f2f2074686174205265616461626c652077616e7473206265666f726520746865206669727374205f726561642063616c6c2c20736f20756e736574207468650a20202f2f2073796e6320677561726420666c61672e0a2020746869732e5f7265616461626c6553746174652e73796e63203d2066616c73653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e7472616e73666f726d203d3d3d202766756e6374696f6e272920746869732e5f7472616e73666f726d203d206f7074696f6e732e7472616e73666f726d3b0a0a2020202069662028747970656f66206f7074696f6e732e666c757368203d3d3d202766756e6374696f6e272920746869732e5f666c757368203d206f7074696f6e732e666c7573683b0a20207d0a0a20202f2f205768656e20746865207772697461626c6520736964652066696e69736865732c207468656e20666c757368206f757420616e797468696e672072656d61696e696e672e0a2020746869732e6f6e6365282770726566696e697368272c2066756e6374696f6e202829207b0a2020202069662028747970656f6620746869732e5f666c757368203d3d3d202766756e6374696f6e272920746869732e5f666c7573682866756e6374696f6e202865722c206461746129207b0a202020202020646f6e652873747265616d2c2065722c2064617461293b0a202020207d293b656c736520646f6e652873747265616d293b0a20207d293b0a7d0a0a5472616e73666f726d2e70726f746f747970652e70757368203d2066756e6374696f6e20286368756e6b2c20656e636f64696e6729207b0a2020746869732e5f7472616e73666f726d53746174652e6e6565645472616e73666f726d203d2066616c73653b0a202072657475726e204475706c65782e70726f746f747970652e707573682e63616c6c28746869732c206368756e6b2c20656e636f64696e67293b0a7d3b0a0a2f2f205468697320697320746865207061727420776865726520796f7520646f207374756666210a2f2f206f7665727269646520746869732066756e6374696f6e20696e20696d706c656d656e746174696f6e20636c61737365732e0a2f2f20276368756e6b2720697320616e20696e707574206368756e6b2e0a2f2f0a2f2f2043616c6c206070757368286e65774368756e6b296020746f207061737320616c6f6e67207472616e73666f726d6564206f75747075740a2f2f20746f20746865207265616461626c6520736964652e2020596f75206d61792063616c6c20277075736827207a65726f206f72206d6f72652074696d65732e0a2f2f0a2f2f2043616c6c20606362286572722960207768656e20796f752061726520646f6e6520776974682074686973206368756e6b2e2020496620796f7520706173730a2f2f20616e206572726f722c207468656e2074686174276c6c20707574207468652068757274206f6e207468652077686f6c65206f7065726174696f6e2e2020496620796f750a2f2f206e657665722063616c6c20636228292c207468656e20796f75276c6c206e657665722067657420616e6f74686572206368756e6b2e0a5472616e73666f726d2e70726f746f747970652e5f7472616e73666f726d203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20207468726f77206e6577204572726f7228275f7472616e73666f726d2829206973206e6f7420696d706c656d656e74656427293b0a7d3b0a0a5472616e73666f726d2e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207473203d20746869732e5f7472616e73666f726d53746174653b0a202074732e77726974656362203d2063623b0a202074732e77726974656368756e6b203d206368756e6b3b0a202074732e7772697465656e636f64696e67203d20656e636f64696e673b0a2020696620282174732e7472616e73666f726d696e6729207b0a20202020766172207273203d20746869732e5f7265616461626c6553746174653b0a202020206966202874732e6e6565645472616e73666f726d207c7c2072732e6e6565645265616461626c65207c7c2072732e6c656e677468203c2072732e6869676857617465724d61726b2920746869732e5f726561642872732e6869676857617465724d61726b293b0a20207d0a7d3b0a0a2f2f20446f65736e2774206d617474657220776861742074686520617267732061726520686572652e0a2f2f205f7472616e73666f726d20646f657320616c6c2074686520776f726b2e0a2f2f205468617420776520676f742068657265206d65616e73207468617420746865207265616461626c6520736964652077616e7473206d6f726520646174612e0a5472616e73666f726d2e70726f746f747970652e5f72656164203d2066756e6374696f6e20286e29207b0a2020766172207473203d20746869732e5f7472616e73666f726d53746174653b0a0a20206966202874732e77726974656368756e6b20213d3d206e756c6c2026262074732e77726974656362202626202174732e7472616e73666f726d696e6729207b0a2020202074732e7472616e73666f726d696e67203d20747275653b0a20202020746869732e5f7472616e73666f726d2874732e77726974656368756e6b2c2074732e7772697465656e636f64696e672c2074732e61667465725472616e73666f726d293b0a20207d20656c7365207b0a202020202f2f206d61726b2074686174207765206e6565642061207472616e73666f726d2c20736f207468617420616e792064617461207468617420636f6d657320696e0a202020202f2f2077696c6c206765742070726f6365737365642c206e6f7720746861742077652776652061736b656420666f722069742e0a2020202074732e6e6565645472616e73666f726d203d20747275653b0a20207d0a7d3b0a0a5472616e73666f726d2e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020766172205f74686973203d20746869733b0a0a20204475706c65782e70726f746f747970652e5f64657374726f792e63616c6c28746869732c206572722c2066756e6374696f6e20286572723229207b0a2020202063622865727232293b0a202020205f746869732e656d69742827636c6f736527293b0a20207d293b0a7d3b0a0a66756e6374696f6e20646f6e652873747265616d2c2065722c206461746129207b0a2020696620286572292072657475726e2073747265616d2e656d697428276572726f72272c206572293b0a0a2020696620286461746120213d3d206e756c6c202626206461746120213d3d20756e646566696e6564292073747265616d2e707573682864617461293b0a0a20202f2f2069662074686572652773206e6f7468696e6720696e20746865207772697465206275666665722c207468656e2074686174206d65616e730a20202f2f2074686174206e6f7468696e67206d6f72652077696c6c20657665722062652070726f76696465640a2020766172207773203d2073747265616d2e5f7772697461626c6553746174653b0a2020766172207473203d2073747265616d2e5f7472616e73666f726d53746174653b0a0a20206966202877732e6c656e67746829207468726f77206e6577204572726f72282743616c6c696e67207472616e73666f726d20646f6e65207768656e2077732e6c656e67746820213d203027293b0a0a20206966202874732e7472616e73666f726d696e6729207468726f77206e6577204572726f72282743616c6c696e67207472616e73666f726d20646f6e65207768656e207374696c6c207472616e73666f726d696e6727293b0a0a202072657475726e2073747265616d2e70757368286e756c6c293b0a7d0a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132317d5d2c3134303a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c676c6f62616c297b0a2f2f20436f70797269676874204a6f79656e742c20496e632e20616e64206f74686572204e6f646520636f6e7472696275746f72732e0a2f2f0a2f2f205065726d697373696f6e20697320686572656279206772616e7465642c2066726565206f66206368617267652c20746f20616e7920706572736f6e206f627461696e696e6720610a2f2f20636f7079206f66207468697320736f66747761726520616e64206173736f63696174656420646f63756d656e746174696f6e2066696c657320287468650a2f2f2022536f66747761726522292c20746f206465616c20696e2074686520536f66747761726520776974686f7574207265737472696374696f6e2c20696e636c7564696e670a2f2f20776974686f7574206c696d69746174696f6e207468652072696768747320746f207573652c20636f70792c206d6f646966792c206d657267652c207075626c6973682c0a2f2f20646973747269627574652c207375626c6963656e73652c20616e642f6f722073656c6c20636f70696573206f662074686520536f6674776172652c20616e6420746f207065726d69740a2f2f20706572736f6e7320746f2077686f6d2074686520536f667477617265206973206675726e697368656420746f20646f20736f2c207375626a65637420746f207468650a2f2f20666f6c6c6f77696e6720636f6e646974696f6e733a0a2f2f0a2f2f205468652061626f766520636f70797269676874206e6f7469636520616e642074686973207065726d697373696f6e206e6f74696365207368616c6c20626520696e636c756465640a2f2f20696e20616c6c20636f70696573206f72207375627374616e7469616c20706f7274696f6e73206f662074686520536f6674776172652e0a2f2f0a2f2f2054484520534f4654574152452049532050524f564944454420224153204953222c20574954484f55542057415252414e5459204f4620414e59204b494e442c20455850524553530a2f2f204f5220494d504c4945442c20494e434c5544494e4720425554204e4f54204c494d4954454420544f205448452057415252414e54494553204f460a2f2f204d45524348414e544142494c4954592c204649544e45535320464f52204120504152544943554c415220505552504f534520414e44204e4f4e494e4652494e47454d454e542e20494e0a2f2f204e4f204556454e54205348414c4c2054484520415554484f5253204f5220434f5059524947485420484f4c44455253204245204c4941424c4520464f5220414e5920434c41494d2c0a2f2f2044414d41474553204f52204f54484552204c494142494c4954592c205748455448455220494e20414e20414354494f4e204f4620434f4e54524143542c20544f5254204f520a2f2f204f54484552574953452c2041524953494e472046524f4d2c204f5554204f46204f5220494e20434f4e4e454354494f4e20574954482054484520534f465457415245204f52205448450a2f2f20555345204f52204f54484552204445414c494e475320494e2054484520534f4654574152452e0a0a2f2f2041206269742073696d706c6572207468616e207265616461626c652073747265616d732e0a2f2f20496d706c656d656e7420616e206173796e63202e5f7772697465286368756e6b2c20656e636f64696e672c206362292c20616e64206974276c6c2068616e646c6520616c6c0a2f2f2074686520647261696e206576656e7420656d697373696f6e20616e6420627566666572696e672e0a0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a6d6f64756c652e6578706f727473203d205772697461626c653b0a0a2f2a203c7265706c6163656d656e743e202a2f0a66756e6374696f6e205772697465526571286368756e6b2c20656e636f64696e672c20636229207b0a2020746869732e6368756e6b203d206368756e6b3b0a2020746869732e656e636f64696e67203d20656e636f64696e673b0a2020746869732e63616c6c6261636b203d2063623b0a2020746869732e6e657874203d206e756c6c3b0a7d0a0a2f2f204974207365656d732061206c696e6b6564206c69737420627574206974206973206e6f740a2f2f2074686572652077696c6c206265206f6e6c792032206f6620746865736520666f7220656163682073747265616d0a66756e6374696f6e20436f726b65645265717565737428737461746529207b0a2020766172205f74686973203d20746869733b0a0a2020746869732e6e657874203d206e756c6c3b0a2020746869732e656e747279203d206e756c6c3b0a2020746869732e66696e697368203d2066756e6374696f6e202829207b0a202020206f6e436f726b656446696e697368285f746869732c207374617465293b0a20207d3b0a7d0a2f2a203c2f7265706c6163656d656e743e202a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172206173796e635772697465203d202170726f636573732e62726f77736572202626205b2776302e3130272c202776302e392e275d2e696e6465784f662870726f636573732e76657273696f6e2e736c69636528302c20352929203e202d31203f20736574496d6d656469617465203a2070726f636573734e6578745469636b3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172204475706c65783b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a5772697461626c652e5772697461626c655374617465203d205772697461626c6553746174653b0a0a2f2a3c7265706c6163656d656e743e2a2f0a766172207574696c203d20726571756972652827636f72652d7574696c2d697327293b0a7574696c2e696e686572697473203d20726571756972652827696e68657269747327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a76617220696e7465726e616c5574696c203d207b0a20206465707265636174653a207265717569726528277574696c2d64657072656361746527290a7d3b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a7661722053747265616d203d207265717569726528272e2f696e7465726e616c2f73747265616d732f73747265616d27293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2a3c7265706c6163656d656e743e2a2f0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a766172204f757255696e74384172726179203d20676c6f62616c2e55696e74384172726179207c7c2066756e6374696f6e202829207b7d3b0a66756e6374696f6e205f75696e74384172726179546f427566666572286368756e6b29207b0a202072657475726e204275666665722e66726f6d286368756e6b293b0a7d0a66756e6374696f6e205f697355696e74384172726179286f626a29207b0a202072657475726e204275666665722e6973427566666572286f626a29207c7c206f626a20696e7374616e63656f66204f757255696e743841727261793b0a7d0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a7661722064657374726f79496d706c203d207265717569726528272e2f696e7465726e616c2f73747265616d732f64657374726f7927293b0a0a7574696c2e696e686572697473285772697461626c652c2053747265616d293b0a0a66756e6374696f6e206e6f702829207b7d0a0a66756e6374696f6e205772697461626c655374617465286f7074696f6e732c2073747265616d29207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20206f7074696f6e73203d206f7074696f6e73207c7c207b7d3b0a0a20202f2f206f626a6563742073747265616d20666c616720746f20696e6469636174652077686574686572206f72206e6f7420746869732073747265616d0a20202f2f20636f6e7461696e732062756666657273206f72206f626a656374732e0a2020746869732e6f626a6563744d6f6465203d2021216f7074696f6e732e6f626a6563744d6f64653b0a0a20206966202873747265616d20696e7374616e63656f66204475706c65782920746869732e6f626a6563744d6f6465203d20746869732e6f626a6563744d6f6465207c7c2021216f7074696f6e732e7772697461626c654f626a6563744d6f64653b0a0a20202f2f2074686520706f696e742061742077686963682077726974652829207374617274732072657475726e696e672066616c73650a20202f2f204e6f74653a203020697320612076616c69642076616c75652c206d65616e73207468617420776520616c776179732072657475726e2066616c73652069660a20202f2f2074686520656e7469726520627566666572206973206e6f7420666c757368656420696d6d6564696174656c79206f6e20777269746528290a20207661722068776d203d206f7074696f6e732e6869676857617465724d61726b3b0a20207661722064656661756c7448776d203d20746869732e6f626a6563744d6f6465203f203136203a203136202a20313032343b0a2020746869732e6869676857617465724d61726b203d2068776d207c7c2068776d203d3d3d2030203f2068776d203a2064656661756c7448776d3b0a0a20202f2f206361737420746f20696e74732e0a2020746869732e6869676857617465724d61726b203d204d6174682e666c6f6f7228746869732e6869676857617465724d61726b293b0a0a20202f2f206966205f66696e616c20686173206265656e2063616c6c65640a2020746869732e66696e616c43616c6c6564203d2066616c73653b0a0a20202f2f20647261696e206576656e7420666c61672e0a2020746869732e6e656564447261696e203d2066616c73653b0a20202f2f20617420746865207374617274206f662063616c6c696e6720656e6428290a2020746869732e656e64696e67203d2066616c73653b0a20202f2f207768656e20656e64282920686173206265656e2063616c6c65642c20616e642072657475726e65640a2020746869732e656e646564203d2066616c73653b0a20202f2f207768656e202766696e6973682720697320656d69747465640a2020746869732e66696e6973686564203d2066616c73653b0a0a20202f2f20686173206974206265656e2064657374726f7965640a2020746869732e64657374726f796564203d2066616c73653b0a0a20202f2f2073686f756c64207765206465636f646520737472696e677320696e746f2062756666657273206265666f72652070617373696e6720746f205f77726974653f0a20202f2f2074686973206973206865726520736f207468617420736f6d65206e6f64652d636f72652073747265616d732063616e206f7074696d697a6520737472696e670a20202f2f2068616e646c696e672061742061206c6f776572206c6576656c2e0a2020766172206e6f4465636f6465203d206f7074696f6e732e6465636f6465537472696e6773203d3d3d2066616c73653b0a2020746869732e6465636f6465537472696e6773203d20216e6f4465636f64653b0a0a20202f2f2043727970746f206973206b696e64206f66206f6c6420616e64206372757374792e2020486973746f726963616c6c792c206974732064656661756c7420737472696e670a20202f2f20656e636f64696e67206973202762696e6172792720736f207765206861766520746f206d616b65207468697320636f6e666967757261626c652e0a20202f2f2045766572797468696e6720656c736520696e2074686520756e6976657273652075736573202775746638272c2074686f7567682e0a2020746869732e64656661756c74456e636f64696e67203d206f7074696f6e732e64656661756c74456e636f64696e67207c7c202775746638273b0a0a20202f2f206e6f7420616e2061637475616c20627566666572207765206b65657020747261636b206f662c206275742061206d6561737572656d656e740a20202f2f206f6620686f77206d7563682077652772652077616974696e6720746f206765742070757368656420746f20736f6d6520756e6465726c79696e670a20202f2f20736f636b6574206f722066696c652e0a2020746869732e6c656e677468203d20303b0a0a20202f2f206120666c616720746f20736565207768656e20776527726520696e20746865206d6964646c65206f6620612077726974652e0a2020746869732e77726974696e67203d2066616c73653b0a0a20202f2f207768656e207472756520616c6c207772697465732077696c6c20626520627566666572656420756e74696c202e756e636f726b28292063616c6c0a2020746869732e636f726b6564203d20303b0a0a20202f2f206120666c616720746f2062652061626c6520746f2074656c6c20696620746865206f6e77726974652063622069732063616c6c656420696d6d6564696174656c792c0a20202f2f206f72206f6e2061206c61746572207469636b2e2020576520736574207468697320746f20747275652061742066697273742c206265636175736520616e790a20202f2f20616374696f6e7320746861742073686f756c646e27742068617070656e20756e74696c20226c61746572222073686f756c642067656e6572616c6c7920616c736f0a20202f2f206e6f742068617070656e206265666f7265207468652066697273742077726974652063616c6c2e0a2020746869732e73796e63203d20747275653b0a0a20202f2f206120666c616720746f206b6e6f772069662077652772652070726f63657373696e672070726576696f75736c79206275666665726564206974656d732c2077686963680a20202f2f206d61792063616c6c20746865205f777269746528292063616c6c6261636b20696e207468652073616d65207469636b2c20736f207468617420776520646f6e27740a20202f2f20656e6420757020696e20616e206f7665726c6170706564206f6e777269746520736974756174696f6e2e0a2020746869732e62756666657250726f63657373696e67203d2066616c73653b0a0a20202f2f207468652063616c6c6261636b207468617427732070617373656420746f205f7772697465286368756e6b2c6362290a2020746869732e6f6e7772697465203d2066756e6374696f6e2028657229207b0a202020206f6e77726974652873747265616d2c206572293b0a20207d3b0a0a20202f2f207468652063616c6c6261636b207468617420746865207573657220737570706c69657320746f207772697465286368756e6b2c656e636f64696e672c6362290a2020746869732e77726974656362203d206e756c6c3b0a0a20202f2f2074686520616d6f756e742074686174206973206265696e67207772697474656e207768656e205f77726974652069732063616c6c65642e0a2020746869732e77726974656c656e203d20303b0a0a2020746869732e627566666572656452657175657374203d206e756c6c3b0a2020746869732e6c617374427566666572656452657175657374203d206e756c6c3b0a0a20202f2f206e756d626572206f662070656e64696e6720757365722d737570706c6965642077726974652063616c6c6261636b730a20202f2f2074686973206d7573742062652030206265666f7265202766696e697368272063616e20626520656d69747465640a2020746869732e70656e64696e676362203d20303b0a0a20202f2f20656d69742070726566696e69736820696620746865206f6e6c79207468696e672077652772652077616974696e6720666f72206973205f7772697465206362730a20202f2f20546869732069732072656c6576616e7420666f722073796e6368726f6e6f7573205472616e73666f726d2073747265616d730a2020746869732e70726566696e6973686564203d2066616c73653b0a0a20202f2f205472756520696620746865206572726f722077617320616c726561647920656d697474656420616e642073686f756c64206e6f74206265207468726f776e20616761696e0a2020746869732e6572726f72456d6974746564203d2066616c73653b0a0a20202f2f20636f756e742062756666657265642072657175657374730a2020746869732e627566666572656452657175657374436f756e74203d20303b0a0a20202f2f20616c6c6f636174652074686520666972737420436f726b6564526571756573742c20746865726520697320616c776179730a20202f2f206f6e6520616c6c6f636174656420616e64206672656520746f207573652c20616e64207765206d61696e7461696e206174206d6f73742074776f0a2020746869732e636f726b6564526571756573747346726565203d206e657720436f726b6564526571756573742874686973293b0a7d0a0a5772697461626c6553746174652e70726f746f747970652e676574427566666572203d2066756e6374696f6e206765744275666665722829207b0a20207661722063757272656e74203d20746869732e6275666665726564526571756573743b0a2020766172206f7574203d205b5d3b0a20207768696c65202863757272656e7429207b0a202020206f75742e707573682863757272656e74293b0a2020202063757272656e74203d2063757272656e742e6e6578743b0a20207d0a202072657475726e206f75743b0a7d3b0a0a2866756e6374696f6e202829207b0a2020747279207b0a202020204f626a6563742e646566696e6550726f7065727479285772697461626c6553746174652e70726f746f747970652c2027627566666572272c207b0a2020202020206765743a20696e7465726e616c5574696c2e6465707265636174652866756e6374696f6e202829207b0a202020202020202072657475726e20746869732e67657442756666657228293b0a2020202020207d2c20275f7772697461626c6553746174652e62756666657220697320646570726563617465642e20557365205f7772697461626c6553746174652e6765744275666665722027202b2027696e73746561642e272c20274445503030303327290a202020207d293b0a20207d20636174636820285f29207b7d0a7d2928293b0a0a2f2f2054657374205f7772697461626c65537461746520666f7220696e6865726974616e636520746f206163636f756e7420666f72204475706c65782073747265616d732c0a2f2f2077686f73652070726f746f7479706520636861696e206f6e6c7920706f696e747320746f205265616461626c652e0a766172207265616c486173496e7374616e63653b0a69662028747970656f662053796d626f6c203d3d3d202766756e6374696f6e272026262053796d626f6c2e686173496e7374616e636520262620747970656f662046756e6374696f6e2e70726f746f747970655b53796d626f6c2e686173496e7374616e63655d203d3d3d202766756e6374696f6e2729207b0a20207265616c486173496e7374616e6365203d2046756e6374696f6e2e70726f746f747970655b53796d626f6c2e686173496e7374616e63655d3b0a20204f626a6563742e646566696e6550726f7065727479285772697461626c652c2053796d626f6c2e686173496e7374616e63652c207b0a2020202076616c75653a2066756e6374696f6e20286f626a65637429207b0a202020202020696620287265616c486173496e7374616e63652e63616c6c28746869732c206f626a65637429292072657475726e20747275653b0a0a20202020202072657475726e206f626a656374202626206f626a6563742e5f7772697461626c65537461746520696e7374616e63656f66205772697461626c6553746174653b0a202020207d0a20207d293b0a7d20656c7365207b0a20207265616c486173496e7374616e6365203d2066756e6374696f6e20286f626a65637429207b0a2020202072657475726e206f626a65637420696e7374616e63656f6620746869733b0a20207d3b0a7d0a0a66756e6374696f6e205772697461626c65286f7074696f6e7329207b0a20204475706c6578203d204475706c6578207c7c207265717569726528272e2f5f73747265616d5f6475706c657827293b0a0a20202f2f205772697461626c652063746f72206973206170706c69656420746f204475706c657865732c20746f6f2e0a20202f2f20607265616c486173496e7374616e636560206973206e65636573736172792062656361757365207573696e6720706c61696e2060696e7374616e63656f66600a20202f2f20776f756c642072657475726e2066616c73652c206173206e6f20605f7772697461626c655374617465602070726f70657274792069732061747461636865642e0a0a20202f2f20547279696e6720746f207573652074686520637573746f6d2060696e7374616e63656f666020666f72205772697461626c6520686572652077696c6c20616c736f20627265616b207468650a20202f2f204e6f64652e6a73204c617a795472616e73666f726d20696d706c656d656e746174696f6e2c207768696368206861732061206e6f6e2d7472697669616c2067657474657220666f720a20202f2f20605f7772697461626c65537461746560207468617420776f756c64206c65616420746f20696e66696e69746520726563757273696f6e2e0a202069662028217265616c486173496e7374616e63652e63616c6c285772697461626c652c2074686973292026262021287468697320696e7374616e63656f66204475706c65782929207b0a2020202072657475726e206e6577205772697461626c65286f7074696f6e73293b0a20207d0a0a2020746869732e5f7772697461626c655374617465203d206e6577205772697461626c655374617465286f7074696f6e732c2074686973293b0a0a20202f2f206c65676163792e0a2020746869732e7772697461626c65203d20747275653b0a0a2020696620286f7074696f6e7329207b0a2020202069662028747970656f66206f7074696f6e732e7772697465203d3d3d202766756e6374696f6e272920746869732e5f7772697465203d206f7074696f6e732e77726974653b0a0a2020202069662028747970656f66206f7074696f6e732e777269746576203d3d3d202766756e6374696f6e272920746869732e5f777269746576203d206f7074696f6e732e7772697465763b0a0a2020202069662028747970656f66206f7074696f6e732e64657374726f79203d3d3d202766756e6374696f6e272920746869732e5f64657374726f79203d206f7074696f6e732e64657374726f793b0a0a2020202069662028747970656f66206f7074696f6e732e66696e616c203d3d3d202766756e6374696f6e272920746869732e5f66696e616c203d206f7074696f6e732e66696e616c3b0a20207d0a0a202053747265616d2e63616c6c2874686973293b0a7d0a0a2f2f204f74686572776973652070656f706c652063616e2070697065205772697461626c652073747265616d732c207768696368206973206a7573742077726f6e672e0a5772697461626c652e70726f746f747970652e70697065203d2066756e6374696f6e202829207b0a2020746869732e656d697428276572726f72272c206e6577204572726f72282743616e6e6f7420706970652c206e6f74207265616461626c652729293b0a7d3b0a0a66756e6374696f6e2077726974654166746572456e642873747265616d2c20636229207b0a2020766172206572203d206e6577204572726f722827777269746520616674657220656e6427293b0a20202f2f20544f444f3a206465666572206572726f72206576656e747320636f6e73697374656e746c7920657665727977686572652c206e6f74206a757374207468652063620a202073747265616d2e656d697428276572726f72272c206572293b0a202070726f636573734e6578745469636b2863622c206572293b0a7d0a0a2f2f20436865636b732074686174206120757365722d737570706c696564206368756e6b2069732076616c69642c20657370656369616c6c7920666f722074686520706172746963756c61720a2f2f206d6f6465207468652073747265616d20697320696e2e2043757272656e746c792074686973206d65616e73207468617420606e756c6c60206973206e657665722061636365707465640a2f2f20616e6420756e646566696e65642f6e6f6e2d737472696e672076616c75657320617265206f6e6c7920616c6c6f77656420696e206f626a656374206d6f64652e0a66756e6374696f6e2076616c69644368756e6b2873747265616d2c2073746174652c206368756e6b2c20636229207b0a20207661722076616c6964203d20747275653b0a2020766172206572203d2066616c73653b0a0a2020696620286368756e6b203d3d3d206e756c6c29207b0a202020206572203d206e657720547970654572726f7228274d6179206e6f74207772697465206e756c6c2076616c75657320746f2073747265616d27293b0a20207d20656c73652069662028747970656f66206368756e6b20213d3d2027737472696e6727202626206368756e6b20213d3d20756e646566696e6564202626202173746174652e6f626a6563744d6f646529207b0a202020206572203d206e657720547970654572726f722827496e76616c6964206e6f6e2d737472696e672f627566666572206368756e6b27293b0a20207d0a202069662028657229207b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a2020202070726f636573734e6578745469636b2863622c206572293b0a2020202076616c6964203d2066616c73653b0a20207d0a202072657475726e2076616c69643b0a7d0a0a5772697461626c652e70726f746f747970652e7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a202076617220726574203d2066616c73653b0a2020766172206973427566203d205f697355696e74384172726179286368756e6b29202626202173746174652e6f626a6563744d6f64653b0a0a202069662028697342756620262620214275666665722e6973427566666572286368756e6b2929207b0a202020206368756e6b203d205f75696e74384172726179546f427566666572286368756e6b293b0a20207d0a0a202069662028747970656f6620656e636f64696e67203d3d3d202766756e6374696f6e2729207b0a202020206362203d20656e636f64696e673b0a20202020656e636f64696e67203d206e756c6c3b0a20207d0a0a20206966202869734275662920656e636f64696e67203d2027627566666572273b656c7365206966202821656e636f64696e672920656e636f64696e67203d2073746174652e64656661756c74456e636f64696e673b0a0a202069662028747970656f6620636220213d3d202766756e6374696f6e2729206362203d206e6f703b0a0a20206966202873746174652e656e646564292077726974654166746572456e6428746869732c206362293b656c736520696620286973427566207c7c2076616c69644368756e6b28746869732c2073746174652c206368756e6b2c2063622929207b0a2020202073746174652e70656e64696e6763622b2b3b0a20202020726574203d2077726974654f7242756666657228746869732c2073746174652c2069734275662c206368756e6b2c20656e636f64696e672c206362293b0a20207d0a0a202072657475726e207265743b0a7d3b0a0a5772697461626c652e70726f746f747970652e636f726b203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a202073746174652e636f726b65642b2b3b0a7d3b0a0a5772697461626c652e70726f746f747970652e756e636f726b203d2066756e6374696f6e202829207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a20206966202873746174652e636f726b656429207b0a2020202073746174652e636f726b65642d2d3b0a0a20202020696620282173746174652e77726974696e67202626202173746174652e636f726b6564202626202173746174652e66696e6973686564202626202173746174652e62756666657250726f63657373696e672026262073746174652e6275666665726564526571756573742920636c65617242756666657228746869732c207374617465293b0a20207d0a7d3b0a0a5772697461626c652e70726f746f747970652e73657444656661756c74456e636f64696e67203d2066756e6374696f6e2073657444656661756c74456e636f64696e6728656e636f64696e6729207b0a20202f2f206e6f64653a3a5061727365456e636f64696e672829207265717569726573206c6f77657220636173652e0a202069662028747970656f6620656e636f64696e67203d3d3d2027737472696e67272920656e636f64696e67203d20656e636f64696e672e746f4c6f7765724361736528293b0a20206966202821285b27686578272c202775746638272c20277574662d38272c20276173636969272c202762696e617279272c2027626173653634272c202775637332272c20277563732d32272c202775746631366c65272c20277574662d31366c65272c2027726177275d2e696e6465784f662828656e636f64696e67202b202727292e746f4c6f77657243617365282929203e202d312929207468726f77206e657720547970654572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e636f64696e67293b0a2020746869732e5f7772697461626c6553746174652e64656661756c74456e636f64696e67203d20656e636f64696e673b0a202072657475726e20746869733b0a7d3b0a0a66756e6374696f6e206465636f64654368756e6b2873746174652c206368756e6b2c20656e636f64696e6729207b0a2020696620282173746174652e6f626a6563744d6f64652026262073746174652e6465636f6465537472696e677320213d3d2066616c736520262620747970656f66206368756e6b203d3d3d2027737472696e672729207b0a202020206368756e6b203d204275666665722e66726f6d286368756e6b2c20656e636f64696e67293b0a20207d0a202072657475726e206368756e6b3b0a7d0a0a2f2f20696620776527726520616c72656164792077726974696e6720736f6d657468696e672c207468656e206a7573742070757420746869730a2f2f20696e207468652071756575652c20616e642077616974206f7572207475726e2e20204f74686572776973652c2063616c6c205f77726974650a2f2f2049662077652072657475726e2066616c73652c207468656e207765206e656564206120647261696e206576656e742c20736f20736574207468617420666c61672e0a66756e6374696f6e2077726974654f724275666665722873747265616d2c2073746174652c2069734275662c206368756e6b2c20656e636f64696e672c20636229207b0a20206966202821697342756629207b0a20202020766172206e65774368756e6b203d206465636f64654368756e6b2873746174652c206368756e6b2c20656e636f64696e67293b0a20202020696620286368756e6b20213d3d206e65774368756e6b29207b0a2020202020206973427566203d20747275653b0a202020202020656e636f64696e67203d2027627566666572273b0a2020202020206368756e6b203d206e65774368756e6b3b0a202020207d0a20207d0a2020766172206c656e203d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a0a202073746174652e6c656e677468202b3d206c656e3b0a0a202076617220726574203d2073746174652e6c656e677468203c2073746174652e6869676857617465724d61726b3b0a20202f2f207765206d75737420656e7375726520746861742070726576696f7573206e656564447261696e2077696c6c206e6f7420626520726573657420746f2066616c73652e0a20206966202821726574292073746174652e6e656564447261696e203d20747275653b0a0a20206966202873746174652e77726974696e67207c7c2073746174652e636f726b656429207b0a20202020766172206c617374203d2073746174652e6c6173744275666665726564526571756573743b0a2020202073746174652e6c617374427566666572656452657175657374203d207b0a2020202020206368756e6b3a206368756e6b2c0a202020202020656e636f64696e673a20656e636f64696e672c0a20202020202069734275663a2069734275662c0a20202020202063616c6c6261636b3a2063622c0a2020202020206e6578743a206e756c6c0a202020207d3b0a20202020696620286c61737429207b0a2020202020206c6173742e6e657874203d2073746174652e6c6173744275666665726564526571756573743b0a202020207d20656c7365207b0a20202020202073746174652e627566666572656452657175657374203d2073746174652e6c6173744275666665726564526571756573743b0a202020207d0a2020202073746174652e627566666572656452657175657374436f756e74202b3d20313b0a20207d20656c7365207b0a20202020646f57726974652873747265616d2c2073746174652c2066616c73652c206c656e2c206368756e6b2c20656e636f64696e672c206362293b0a20207d0a0a202072657475726e207265743b0a7d0a0a66756e6374696f6e20646f57726974652873747265616d2c2073746174652c207772697465762c206c656e2c206368756e6b2c20656e636f64696e672c20636229207b0a202073746174652e77726974656c656e203d206c656e3b0a202073746174652e77726974656362203d2063623b0a202073746174652e77726974696e67203d20747275653b0a202073746174652e73796e63203d20747275653b0a202069662028777269746576292073747265616d2e5f777269746576286368756e6b2c2073746174652e6f6e7772697465293b656c73652073747265616d2e5f7772697465286368756e6b2c20656e636f64696e672c2073746174652e6f6e7772697465293b0a202073746174652e73796e63203d2066616c73653b0a7d0a0a66756e6374696f6e206f6e77726974654572726f722873747265616d2c2073746174652c2073796e632c2065722c20636229207b0a20202d2d73746174652e70656e64696e6763623b0a0a20206966202873796e6329207b0a202020202f2f206465666572207468652063616c6c6261636b20696620776520617265206265696e672063616c6c65642073796e6368726f6e6f75736c790a202020202f2f20746f2061766f69642070696c696e67207570207468696e6773206f6e2074686520737461636b0a2020202070726f636573734e6578745469636b2863622c206572293b0a202020202f2f20746869732063616e20656d69742066696e6973682c20616e642069742077696c6c20616c776179732068617070656e0a202020202f2f206166746572206572726f720a2020202070726f636573734e6578745469636b2866696e6973684d617962652c2073747265616d2c207374617465293b0a2020202073747265616d2e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a20207d20656c7365207b0a202020202f2f207468652063616c6c657220657870656374207468697320746f2068617070656e206265666f72652069660a202020202f2f206974206973206173796e630a202020206362286572293b0a2020202073747265616d2e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202073747265616d2e656d697428276572726f72272c206572293b0a202020202f2f20746869732063616e20656d69742066696e6973682c206275742066696e697368206d7573740a202020202f2f20616c7761797320666f6c6c6f77206572726f720a2020202066696e6973684d617962652873747265616d2c207374617465293b0a20207d0a7d0a0a66756e6374696f6e206f6e7772697465537461746555706461746528737461746529207b0a202073746174652e77726974696e67203d2066616c73653b0a202073746174652e77726974656362203d206e756c6c3b0a202073746174652e6c656e677468202d3d2073746174652e77726974656c656e3b0a202073746174652e77726974656c656e203d20303b0a7d0a0a66756e6374696f6e206f6e77726974652873747265616d2c20657229207b0a2020766172207374617465203d2073747265616d2e5f7772697461626c6553746174653b0a20207661722073796e63203d2073746174652e73796e633b0a2020766172206362203d2073746174652e777269746563623b0a0a20206f6e77726974655374617465557064617465287374617465293b0a0a202069662028657229206f6e77726974654572726f722873747265616d2c2073746174652c2073796e632c2065722c206362293b656c7365207b0a202020202f2f20436865636b2069662077652772652061637475616c6c7920726561647920746f2066696e6973682c2062757420646f6e277420656d6974207965740a202020207661722066696e6973686564203d206e65656446696e697368287374617465293b0a0a20202020696620282166696e6973686564202626202173746174652e636f726b6564202626202173746174652e62756666657250726f63657373696e672026262073746174652e62756666657265645265717565737429207b0a202020202020636c6561724275666665722873747265616d2c207374617465293b0a202020207d0a0a202020206966202873796e6329207b0a2020202020202f2a3c7265706c6163656d656e743e2a2f0a2020202020206173796e63577269746528616674657257726974652c2073747265616d2c2073746174652c2066696e69736865642c206362293b0a2020202020202f2a3c2f7265706c6163656d656e743e2a2f0a202020207d20656c7365207b0a202020202020616674657257726974652873747265616d2c2073746174652c2066696e69736865642c206362293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e20616674657257726974652873747265616d2c2073746174652c2066696e69736865642c20636229207b0a2020696620282166696e697368656429206f6e7772697465447261696e2873747265616d2c207374617465293b0a202073746174652e70656e64696e6763622d2d3b0a2020636228293b0a202066696e6973684d617962652873747265616d2c207374617465293b0a7d0a0a2f2f204d75737420666f7263652063616c6c6261636b20746f2062652063616c6c6564206f6e206e6578745469636b2c20736f207468617420776520646f6e27740a2f2f20656d69742027647261696e27206265666f726520746865207772697465282920636f6e73756d6572206765747320746865202766616c7365272072657475726e0a2f2f2076616c75652c20616e64206861732061206368616e636520746f2061747461636820612027647261696e27206c697374656e65722e0a66756e6374696f6e206f6e7772697465447261696e2873747265616d2c20737461746529207b0a20206966202873746174652e6c656e677468203d3d3d20302026262073746174652e6e656564447261696e29207b0a2020202073746174652e6e656564447261696e203d2066616c73653b0a2020202073747265616d2e656d69742827647261696e27293b0a20207d0a7d0a0a2f2f206966207468657265277320736f6d657468696e6720696e20746865206275666665722077616974696e672c207468656e2070726f636573732069740a66756e6374696f6e20636c6561724275666665722873747265616d2c20737461746529207b0a202073746174652e62756666657250726f63657373696e67203d20747275653b0a202076617220656e747279203d2073746174652e6275666665726564526571756573743b0a0a20206966202873747265616d2e5f77726974657620262620656e74727920262620656e7472792e6e65787429207b0a202020202f2f204661737420636173652c2077726974652065766572797468696e67207573696e67205f77726974657628290a20202020766172206c203d2073746174652e627566666572656452657175657374436f756e743b0a2020202076617220627566666572203d206e6577204172726179286c293b0a2020202076617220686f6c646572203d2073746174652e636f726b65645265717565737473467265653b0a20202020686f6c6465722e656e747279203d20656e7472793b0a0a2020202076617220636f756e74203d20303b0a2020202076617220616c6c42756666657273203d20747275653b0a202020207768696c652028656e74727929207b0a2020202020206275666665725b636f756e745d203d20656e7472793b0a2020202020206966202821656e7472792e69734275662920616c6c42756666657273203d2066616c73653b0a202020202020656e747279203d20656e7472792e6e6578743b0a202020202020636f756e74202b3d20313b0a202020207d0a202020206275666665722e616c6c42756666657273203d20616c6c427566666572733b0a0a20202020646f57726974652873747265616d2c2073746174652c20747275652c2073746174652e6c656e6774682c206275666665722c2027272c20686f6c6465722e66696e697368293b0a0a202020202f2f20646f577269746520697320616c6d6f737420616c77617973206173796e632c20646566657220746865736520746f2073617665206120626974206f662074696d650a202020202f2f2061732074686520686f74207061746820656e6473207769746820646f57726974650a2020202073746174652e70656e64696e6763622b2b3b0a2020202073746174652e6c617374427566666572656452657175657374203d206e756c6c3b0a2020202069662028686f6c6465722e6e65787429207b0a20202020202073746174652e636f726b6564526571756573747346726565203d20686f6c6465722e6e6578743b0a202020202020686f6c6465722e6e657874203d206e756c6c3b0a202020207d20656c7365207b0a20202020202073746174652e636f726b6564526571756573747346726565203d206e657720436f726b656452657175657374287374617465293b0a202020207d0a20207d20656c7365207b0a202020202f2f20536c6f7720636173652c207772697465206368756e6b73206f6e652d62792d6f6e650a202020207768696c652028656e74727929207b0a202020202020766172206368756e6b203d20656e7472792e6368756e6b3b0a20202020202076617220656e636f64696e67203d20656e7472792e656e636f64696e673b0a202020202020766172206362203d20656e7472792e63616c6c6261636b3b0a202020202020766172206c656e203d2073746174652e6f626a6563744d6f6465203f2031203a206368756e6b2e6c656e6774683b0a0a202020202020646f57726974652873747265616d2c2073746174652c2066616c73652c206c656e2c206368756e6b2c20656e636f64696e672c206362293b0a202020202020656e747279203d20656e7472792e6e6578743b0a2020202020202f2f206966207765206469646e27742063616c6c20746865206f6e777269746520696d6d6564696174656c792c207468656e0a2020202020202f2f206974206d65616e732074686174207765206e65656420746f207761697420756e74696c20697420646f65732e0a2020202020202f2f20616c736f2c2074686174206d65616e73207468617420746865206368756e6b20616e64206362206172652063757272656e746c790a2020202020202f2f206265696e672070726f6365737365642c20736f206d6f7665207468652062756666657220636f756e7465722070617374207468656d2e0a2020202020206966202873746174652e77726974696e6729207b0a2020202020202020627265616b3b0a2020202020207d0a202020207d0a0a2020202069662028656e747279203d3d3d206e756c6c292073746174652e6c617374427566666572656452657175657374203d206e756c6c3b0a20207d0a0a202073746174652e627566666572656452657175657374436f756e74203d20303b0a202073746174652e627566666572656452657175657374203d20656e7472793b0a202073746174652e62756666657250726f63657373696e67203d2066616c73653b0a7d0a0a5772697461626c652e70726f746f747970652e5f7772697465203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a20206362286e6577204572726f7228275f77726974652829206973206e6f7420696d706c656d656e7465642729293b0a7d3b0a0a5772697461626c652e70726f746f747970652e5f777269746576203d206e756c6c3b0a0a5772697461626c652e70726f746f747970652e656e64203d2066756e6374696f6e20286368756e6b2c20656e636f64696e672c20636229207b0a2020766172207374617465203d20746869732e5f7772697461626c6553746174653b0a0a202069662028747970656f66206368756e6b203d3d3d202766756e6374696f6e2729207b0a202020206362203d206368756e6b3b0a202020206368756e6b203d206e756c6c3b0a20202020656e636f64696e67203d206e756c6c3b0a20207d20656c73652069662028747970656f6620656e636f64696e67203d3d3d202766756e6374696f6e2729207b0a202020206362203d20656e636f64696e673b0a20202020656e636f64696e67203d206e756c6c3b0a20207d0a0a2020696620286368756e6b20213d3d206e756c6c202626206368756e6b20213d3d20756e646566696e65642920746869732e7772697465286368756e6b2c20656e636f64696e67293b0a0a20202f2f202e656e6428292066756c6c7920756e636f726b730a20206966202873746174652e636f726b656429207b0a2020202073746174652e636f726b6564203d20313b0a20202020746869732e756e636f726b28293b0a20207d0a0a20202f2f2069676e6f726520756e6e656365737361727920656e6428292063616c6c732e0a2020696620282173746174652e656e64696e67202626202173746174652e66696e69736865642920656e645772697461626c6528746869732c2073746174652c206362293b0a7d3b0a0a66756e6374696f6e206e65656446696e69736828737461746529207b0a202072657475726e2073746174652e656e64696e672026262073746174652e6c656e677468203d3d3d20302026262073746174652e627566666572656452657175657374203d3d3d206e756c6c202626202173746174652e66696e6973686564202626202173746174652e77726974696e673b0a7d0a66756e6374696f6e2063616c6c46696e616c2873747265616d2c20737461746529207b0a202073747265616d2e5f66696e616c2866756e6374696f6e202865727229207b0a2020202073746174652e70656e64696e6763622d2d3b0a202020206966202865727229207b0a20202020202073747265616d2e656d697428276572726f72272c20657272293b0a202020207d0a2020202073746174652e70726566696e6973686564203d20747275653b0a2020202073747265616d2e656d6974282770726566696e69736827293b0a2020202066696e6973684d617962652873747265616d2c207374617465293b0a20207d293b0a7d0a66756e6374696f6e2070726566696e6973682873747265616d2c20737461746529207b0a2020696620282173746174652e70726566696e6973686564202626202173746174652e66696e616c43616c6c656429207b0a2020202069662028747970656f662073747265616d2e5f66696e616c203d3d3d202766756e6374696f6e2729207b0a20202020202073746174652e70656e64696e6763622b2b3b0a20202020202073746174652e66696e616c43616c6c6564203d20747275653b0a20202020202070726f636573734e6578745469636b2863616c6c46696e616c2c2073747265616d2c207374617465293b0a202020207d20656c7365207b0a20202020202073746174652e70726566696e6973686564203d20747275653b0a20202020202073747265616d2e656d6974282770726566696e69736827293b0a202020207d0a20207d0a7d0a0a66756e6374696f6e2066696e6973684d617962652873747265616d2c20737461746529207b0a2020766172206e656564203d206e65656446696e697368287374617465293b0a2020696620286e65656429207b0a2020202070726566696e6973682873747265616d2c207374617465293b0a202020206966202873746174652e70656e64696e676362203d3d3d203029207b0a20202020202073746174652e66696e6973686564203d20747275653b0a20202020202073747265616d2e656d6974282766696e69736827293b0a202020207d0a20207d0a202072657475726e206e6565643b0a7d0a0a66756e6374696f6e20656e645772697461626c652873747265616d2c2073746174652c20636229207b0a202073746174652e656e64696e67203d20747275653b0a202066696e6973684d617962652873747265616d2c207374617465293b0a202069662028636229207b0a202020206966202873746174652e66696e6973686564292070726f636573734e6578745469636b286362293b656c73652073747265616d2e6f6e6365282766696e697368272c206362293b0a20207d0a202073746174652e656e646564203d20747275653b0a202073747265616d2e7772697461626c65203d2066616c73653b0a7d0a0a66756e6374696f6e206f6e436f726b656446696e69736828636f726b5265712c2073746174652c2065727229207b0a202076617220656e747279203d20636f726b5265712e656e7472793b0a2020636f726b5265712e656e747279203d206e756c6c3b0a20207768696c652028656e74727929207b0a20202020766172206362203d20656e7472792e63616c6c6261636b3b0a2020202073746174652e70656e64696e6763622d2d3b0a20202020636228657272293b0a20202020656e747279203d20656e7472792e6e6578743b0a20207d0a20206966202873746174652e636f726b656452657175657374734672656529207b0a2020202073746174652e636f726b65645265717565737473467265652e6e657874203d20636f726b5265713b0a20207d20656c7365207b0a2020202073746174652e636f726b6564526571756573747346726565203d20636f726b5265713b0a20207d0a7d0a0a4f626a6563742e646566696e6550726f7065727479285772697461626c652e70726f746f747970652c202764657374726f796564272c207b0a20206765743a2066756e6374696f6e202829207b0a2020202069662028746869732e5f7772697461626c655374617465203d3d3d20756e646566696e656429207b0a20202020202072657475726e2066616c73653b0a202020207d0a2020202072657475726e20746869732e5f7772697461626c6553746174652e64657374726f7965643b0a20207d2c0a20207365743a2066756e6374696f6e202876616c756529207b0a202020202f2f2077652069676e6f7265207468652076616c7565206966207468652073747265616d0a202020202f2f20686173206e6f74206265656e20696e697469616c697a6564207965740a202020206966202821746869732e5f7772697461626c65537461746529207b0a20202020202072657475726e3b0a202020207d0a0a202020202f2f206261636b7761726420636f6d7061746962696c6974792c207468652075736572206973206578706c696369746c790a202020202f2f206d616e6167696e672064657374726f7965640a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2076616c75653b0a20207d0a7d293b0a0a5772697461626c652e70726f746f747970652e64657374726f79203d2064657374726f79496d706c2e64657374726f793b0a5772697461626c652e70726f746f747970652e5f756e64657374726f79203d2064657374726f79496d706c2e756e64657374726f793b0a5772697461626c652e70726f746f747970652e5f64657374726f79203d2066756e6374696f6e20286572722c20636229207b0a2020746869732e656e6428293b0a2020636228657272293b0a7d3b0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b222e2f5f73747265616d5f6475706c6578223a3133362c222e2f696e7465726e616c2f73747265616d732f64657374726f79223a3134322c222e2f696e7465726e616c2f73747265616d732f73747265616d223a3134332c225f70726f63657373223a3132352c22636f72652d7574696c2d6973223a33382c22696e686572697473223a3132312c2270726f636573732d6e65787469636b2d61726773223a3132342c22736166652d627566666572223a3133302c227574696c2d646570726563617465223a3134377d5d2c3134313a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a66756e6374696f6e205f636c61737343616c6c436865636b28696e7374616e63652c20436f6e7374727563746f7229207b20696620282128696e7374616e636520696e7374616e63656f6620436f6e7374727563746f722929207b207468726f77206e657720547970654572726f72282243616e6e6f742063616c6c206120636c61737320617320612066756e6374696f6e22293b207d207d0a0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a66756e6374696f6e20636f7079427566666572287372632c207461726765742c206f666673657429207b0a20207372632e636f7079287461726765742c206f6666736574293b0a7d0a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e202829207b0a202066756e6374696f6e204275666665724c6973742829207b0a202020205f636c61737343616c6c436865636b28746869732c204275666665724c697374293b0a0a20202020746869732e68656164203d206e756c6c3b0a20202020746869732e7461696c203d206e756c6c3b0a20202020746869732e6c656e677468203d20303b0a20207d0a0a20204275666665724c6973742e70726f746f747970652e70757368203d2066756e6374696f6e2070757368287629207b0a2020202076617220656e747279203d207b20646174613a20762c206e6578743a206e756c6c207d3b0a2020202069662028746869732e6c656e677468203e20302920746869732e7461696c2e6e657874203d20656e7472793b656c736520746869732e68656164203d20656e7472793b0a20202020746869732e7461696c203d20656e7472793b0a202020202b2b746869732e6c656e6774683b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e756e7368696674203d2066756e6374696f6e20756e7368696674287629207b0a2020202076617220656e747279203d207b20646174613a20762c206e6578743a20746869732e68656164207d3b0a2020202069662028746869732e6c656e677468203d3d3d20302920746869732e7461696c203d20656e7472793b0a20202020746869732e68656164203d20656e7472793b0a202020202b2b746869732e6c656e6774683b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e7368696674203d2066756e6374696f6e2073686966742829207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e3b0a2020202076617220726574203d20746869732e686561642e646174613b0a2020202069662028746869732e6c656e677468203d3d3d20312920746869732e68656164203d20746869732e7461696c203d206e756c6c3b656c736520746869732e68656164203d20746869732e686561642e6e6578743b0a202020202d2d746869732e6c656e6774683b0a2020202072657475726e207265743b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e636c656172203d2066756e6374696f6e20636c6561722829207b0a20202020746869732e68656164203d20746869732e7461696c203d206e756c6c3b0a20202020746869732e6c656e677468203d20303b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e6a6f696e203d2066756e6374696f6e206a6f696e287329207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e2027273b0a202020207661722070203d20746869732e686561643b0a2020202076617220726574203d202727202b20702e646174613b0a202020207768696c65202870203d20702e6e65787429207b0a202020202020726574202b3d2073202b20702e646174613b0a202020207d72657475726e207265743b0a20207d3b0a0a20204275666665724c6973742e70726f746f747970652e636f6e636174203d2066756e6374696f6e20636f6e636174286e29207b0a2020202069662028746869732e6c656e677468203d3d3d2030292072657475726e204275666665722e616c6c6f632830293b0a2020202069662028746869732e6c656e677468203d3d3d2031292072657475726e20746869732e686561642e646174613b0a2020202076617220726574203d204275666665722e616c6c6f63556e73616665286e203e3e3e2030293b0a202020207661722070203d20746869732e686561643b0a202020207661722069203d20303b0a202020207768696c6520287029207b0a202020202020636f707942756666657228702e646174612c207265742c2069293b0a20202020202069202b3d20702e646174612e6c656e6774683b0a20202020202070203d20702e6e6578743b0a202020207d0a2020202072657475726e207265743b0a20207d3b0a0a202072657475726e204275666665724c6973743b0a7d28293b0a7d2c7b22736166652d627566666572223a3133307d5d2c3134323a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a2f2a3c7265706c6163656d656e743e2a2f0a0a7661722070726f636573734e6578745469636b203d2072657175697265282770726f636573732d6e65787469636b2d6172677327293b0a2f2a3c2f7265706c6163656d656e743e2a2f0a0a2f2f20756e646f63756d656e7465642063622829204150492c206e656564656420666f7220636f72652c206e6f7420666f72207075626c6963204150490a66756e6374696f6e2064657374726f79286572722c20636229207b0a2020766172205f74686973203d20746869733b0a0a2020766172207265616461626c6544657374726f796564203d20746869732e5f7265616461626c65537461746520262620746869732e5f7265616461626c6553746174652e64657374726f7965643b0a2020766172207772697461626c6544657374726f796564203d20746869732e5f7772697461626c65537461746520262620746869732e5f7772697461626c6553746174652e64657374726f7965643b0a0a2020696620287265616461626c6544657374726f796564207c7c207772697461626c6544657374726f79656429207b0a2020202069662028636229207b0a202020202020636228657272293b0a202020207d20656c73652069662028657272202626202821746869732e5f7772697461626c655374617465207c7c2021746869732e5f7772697461626c6553746174652e6572726f72456d69747465642929207b0a20202020202070726f636573734e6578745469636b28656d69744572726f724e542c20746869732c20657272293b0a202020207d0a2020202072657475726e3b0a20207d0a0a20202f2f207765207365742064657374726f79656420746f2074727565206265666f726520666972696e67206572726f722063616c6c6261636b7320696e206f726465720a20202f2f20746f206d616b652069742072652d656e7472616e6365207361666520696e20636173652064657374726f7928292069732063616c6c65642077697468696e2063616c6c6261636b730a0a202069662028746869732e5f7265616461626c65537461746529207b0a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d20747275653b0a20207d0a0a20202f2f20696620746869732069732061206475706c65782073747265616d206d61726b20746865207772697461626c6520706172742061732064657374726f7965642061732077656c6c0a202069662028746869732e5f7772697461626c65537461746529207b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d20747275653b0a20207d0a0a2020746869732e5f64657374726f7928657272207c7c206e756c6c2c2066756e6374696f6e202865727229207b0a20202020696620282163622026262065727229207b0a20202020202070726f636573734e6578745469636b28656d69744572726f724e542c205f746869732c20657272293b0a202020202020696620285f746869732e5f7772697461626c65537461746529207b0a20202020202020205f746869732e5f7772697461626c6553746174652e6572726f72456d6974746564203d20747275653b0a2020202020207d0a202020207d20656c73652069662028636229207b0a202020202020636228657272293b0a202020207d0a20207d293b0a7d0a0a66756e6374696f6e20756e64657374726f792829207b0a202069662028746869732e5f7265616461626c65537461746529207b0a20202020746869732e5f7265616461626c6553746174652e64657374726f796564203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e72656164696e67203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e656e646564203d2066616c73653b0a20202020746869732e5f7265616461626c6553746174652e656e64456d6974746564203d2066616c73653b0a20207d0a0a202069662028746869732e5f7772697461626c65537461746529207b0a20202020746869732e5f7772697461626c6553746174652e64657374726f796564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e656e646564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e656e64696e67203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e66696e6973686564203d2066616c73653b0a20202020746869732e5f7772697461626c6553746174652e6572726f72456d6974746564203d2066616c73653b0a20207d0a7d0a0a66756e6374696f6e20656d69744572726f724e542873656c662c2065727229207b0a202073656c662e656d697428276572726f72272c20657272293b0a7d0a0a6d6f64756c652e6578706f727473203d207b0a202064657374726f793a2064657374726f792c0a2020756e64657374726f793a20756e64657374726f790a7d3b0a7d2c7b2270726f636573732d6e65787469636b2d61726773223a3132347d5d2c3134333a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d207265717569726528276576656e747327292e4576656e74456d69747465723b0a0a7d2c7b226576656e7473223a33337d5d2c3134343a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6578706f727473203d206d6f64756c652e6578706f727473203d207265717569726528272e2f6c69622f5f73747265616d5f7265616461626c652e6a7327293b0a6578706f7274732e53747265616d203d206578706f7274733b0a6578706f7274732e5265616461626c65203d206578706f7274733b0a6578706f7274732e5772697461626c65203d207265717569726528272e2f6c69622f5f73747265616d5f7772697461626c652e6a7327293b0a6578706f7274732e4475706c6578203d207265717569726528272e2f6c69622f5f73747265616d5f6475706c65782e6a7327293b0a6578706f7274732e5472616e73666f726d203d207265717569726528272e2f6c69622f5f73747265616d5f7472616e73666f726d2e6a7327293b0a6578706f7274732e506173735468726f756768203d207265717569726528272e2f6c69622f5f73747265616d5f706173737468726f7567682e6a7327293b0a0a7d2c7b222e2f6c69622f5f73747265616d5f6475706c65782e6a73223a3133362c222e2f6c69622f5f73747265616d5f706173737468726f7567682e6a73223a3133372c222e2f6c69622f5f73747265616d5f7265616461626c652e6a73223a3133382c222e2f6c69622f5f73747265616d5f7472616e73666f726d2e6a73223a3133392c222e2f6c69622f5f73747265616d5f7772697461626c652e6a73223a3134307d5d2c3134353a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2775736520737472696374273b0a0a76617220427566666572203d20726571756972652827736166652d62756666657227292e4275666665723b0a0a766172206973456e636f64696e67203d204275666665722e6973456e636f64696e67207c7c2066756e6374696f6e2028656e636f64696e6729207b0a2020656e636f64696e67203d202727202b20656e636f64696e673b0a20207377697463682028656e636f64696e6720262620656e636f64696e672e746f4c6f77657243617365282929207b0a20202020636173652027686578273a63617365202775746638273a6361736520277574662d38273a6361736520276173636969273a63617365202762696e617279273a636173652027626173653634273a63617365202775637332273a6361736520277563732d32273a63617365202775746631366c65273a6361736520277574662d31366c65273a636173652027726177273a0a20202020202072657475726e20747275653b0a2020202064656661756c743a0a20202020202072657475726e2066616c73653b0a20207d0a7d3b0a0a66756e6374696f6e205f6e6f726d616c697a65456e636f64696e6728656e6329207b0a20206966202821656e63292072657475726e202775746638273b0a202076617220726574726965643b0a20207768696c6520287472756529207b0a202020207377697463682028656e6329207b0a20202020202063617365202775746638273a0a2020202020206361736520277574662d38273a0a202020202020202072657475726e202775746638273b0a20202020202063617365202775637332273a0a2020202020206361736520277563732d32273a0a20202020202063617365202775746631366c65273a0a2020202020206361736520277574662d31366c65273a0a202020202020202072657475726e202775746631366c65273b0a2020202020206361736520276c6174696e31273a0a20202020202063617365202762696e617279273a0a202020202020202072657475726e20276c6174696e31273b0a202020202020636173652027626173653634273a0a2020202020206361736520276173636969273a0a202020202020636173652027686578273a0a202020202020202072657475726e20656e633b0a20202020202064656661756c743a0a20202020202020206966202872657472696564292072657475726e3b202f2f20756e646566696e65640a2020202020202020656e63203d20282727202b20656e63292e746f4c6f7765724361736528293b0a202020202020202072657472696564203d20747275653b0a202020207d0a20207d0a7d3b0a0a2f2f20446f206e6f7420636163686520604275666665722e6973456e636f64696e6760207768656e20636865636b696e6720656e636f64696e67206e616d657320617320736f6d650a2f2f206d6f64756c6573206d6f6e6b65792d706174636820697420746f20737570706f7274206164646974696f6e616c20656e636f64696e67730a66756e6374696f6e206e6f726d616c697a65456e636f64696e6728656e6329207b0a2020766172206e656e63203d205f6e6f726d616c697a65456e636f64696e6728656e63293b0a202069662028747970656f66206e656e6320213d3d2027737472696e672720262620284275666665722e6973456e636f64696e67203d3d3d206973456e636f64696e67207c7c20216973456e636f64696e6728656e63292929207468726f77206e6577204572726f722827556e6b6e6f776e20656e636f64696e673a2027202b20656e63293b0a202072657475726e206e656e63207c7c20656e633b0a7d0a0a2f2f20537472696e674465636f6465722070726f766964657320616e20696e7465726661636520666f7220656666696369656e746c792073706c697474696e67206120736572696573206f660a2f2f206275666665727320696e746f206120736572696573206f66204a5320737472696e677320776974686f757420627265616b696e67206170617274206d756c74692d627974650a2f2f20636861726163746572732e0a6578706f7274732e537472696e674465636f646572203d20537472696e674465636f6465723b0a66756e6374696f6e20537472696e674465636f64657228656e636f64696e6729207b0a2020746869732e656e636f64696e67203d206e6f726d616c697a65456e636f64696e6728656e636f64696e67293b0a2020766172206e623b0a20207377697463682028746869732e656e636f64696e6729207b0a2020202063617365202775746631366c65273a0a202020202020746869732e74657874203d207574663136546578743b0a202020202020746869732e656e64203d207574663136456e643b0a2020202020206e62203d20343b0a202020202020627265616b3b0a2020202063617365202775746638273a0a202020202020746869732e66696c6c4c617374203d207574663846696c6c4c6173743b0a2020202020206e62203d20343b0a202020202020627265616b3b0a20202020636173652027626173653634273a0a202020202020746869732e74657874203d20626173653634546578743b0a202020202020746869732e656e64203d20626173653634456e643b0a2020202020206e62203d20333b0a202020202020627265616b3b0a2020202064656661756c743a0a202020202020746869732e7772697465203d2073696d706c6557726974653b0a202020202020746869732e656e64203d2073696d706c65456e643b0a20202020202072657475726e3b0a20207d0a2020746869732e6c6173744e656564203d20303b0a2020746869732e6c617374546f74616c203d20303b0a2020746869732e6c61737443686172203d204275666665722e616c6c6f63556e73616665286e62293b0a7d0a0a537472696e674465636f6465722e70726f746f747970652e7772697465203d2066756e6374696f6e202862756629207b0a2020696620286275662e6c656e677468203d3d3d2030292072657475726e2027273b0a202076617220723b0a202076617220693b0a202069662028746869732e6c6173744e65656429207b0a2020202072203d20746869732e66696c6c4c61737428627566293b0a202020206966202872203d3d3d20756e646566696e6564292072657475726e2027273b0a2020202069203d20746869732e6c6173744e6565643b0a20202020746869732e6c6173744e656564203d20303b0a20207d20656c7365207b0a2020202069203d20303b0a20207d0a20206966202869203c206275662e6c656e677468292072657475726e2072203f2072202b20746869732e74657874286275662c206929203a20746869732e74657874286275662c2069293b0a202072657475726e2072207c7c2027273b0a7d3b0a0a537472696e674465636f6465722e70726f746f747970652e656e64203d2075746638456e643b0a0a2f2f2052657475726e73206f6e6c7920636f6d706c657465206368617261637465727320696e2061204275666665720a537472696e674465636f6465722e70726f746f747970652e74657874203d2075746638546578743b0a0a2f2f20417474656d70747320746f20636f6d706c6574652061207061727469616c206e6f6e2d5554462d3820636861726163746572207573696e672062797465732066726f6d2061204275666665720a537472696e674465636f6465722e70726f746f747970652e66696c6c4c617374203d2066756e6374696f6e202862756629207b0a202069662028746869732e6c6173744e656564203c3d206275662e6c656e67746829207b0a202020206275662e636f707928746869732e6c617374436861722c20746869732e6c617374546f74616c202d20746869732e6c6173744e6565642c20302c20746869732e6c6173744e656564293b0a2020202072657475726e20746869732e6c617374436861722e746f537472696e6728746869732e656e636f64696e672c20302c20746869732e6c617374546f74616c293b0a20207d0a20206275662e636f707928746869732e6c617374436861722c20746869732e6c617374546f74616c202d20746869732e6c6173744e6565642c20302c206275662e6c656e677468293b0a2020746869732e6c6173744e656564202d3d206275662e6c656e6774683b0a7d3b0a0a2f2f20436865636b73207468652074797065206f662061205554462d3820627974652c207768657468657220697427732041534349492c2061206c656164696e6720627974652c206f7220610a2f2f20636f6e74696e756174696f6e20627974652e0a66756e6374696f6e2075746638436865636b42797465286279746529207b0a20206966202862797465203c3d2030783746292072657475726e20303b656c7365206966202862797465203e3e2035203d3d3d2030783036292072657475726e20323b656c7365206966202862797465203e3e2034203d3d3d2030783045292072657475726e20333b656c7365206966202862797465203e3e2033203d3d3d2030783145292072657475726e20343b0a202072657475726e202d313b0a7d0a0a2f2f20436865636b73206174206d6f737420332062797465732061742074686520656e64206f6620612042756666657220696e206f7264657220746f2064657465637420616e0a2f2f20696e636f6d706c657465206d756c74692d62797465205554462d38206368617261637465722e2054686520746f74616c206e756d626572206f662062797465732028322c20332c206f722034290a2f2f206e656564656420746f20636f6d706c65746520746865205554462d382063686172616374657220286966206170706c696361626c6529206172652072657475726e65642e0a66756e6374696f6e2075746638436865636b496e636f6d706c6574652873656c662c206275662c206929207b0a2020766172206a203d206275662e6c656e677468202d20313b0a2020696620286a203c2069292072657475726e20303b0a2020766172206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e2030292073656c662e6c6173744e656564203d206e62202d20313b0a2020202072657475726e206e623b0a20207d0a2020696620282d2d6a203c2069292072657475726e20303b0a20206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e2030292073656c662e6c6173744e656564203d206e62202d20323b0a2020202072657475726e206e623b0a20207d0a2020696620282d2d6a203c2069292072657475726e20303b0a20206e62203d2075746638436865636b42797465286275665b6a5d293b0a2020696620286e62203e3d203029207b0a20202020696620286e62203e203029207b0a202020202020696620286e62203d3d3d203229206e62203d20303b656c73652073656c662e6c6173744e656564203d206e62202d20333b0a202020207d0a2020202072657475726e206e623b0a20207d0a202072657475726e20303b0a7d0a0a2f2f2056616c696461746573206173206d616e7920636f6e74696e756174696f6e20627974657320666f722061206d756c74692d62797465205554462d38206368617261637465722061730a2f2f206e6565646564206f722061726520617661696c61626c652e204966207765207365652061206e6f6e2d636f6e74696e756174696f6e2062797465207768657265207765206578706563740a2f2f206f6e652c20776520227265706c61636522207468652076616c69646174656420636f6e74696e756174696f6e206279746573207765277665207365656e20736f2066617220776974680a2f2f205554462d38207265706c6163656d656e7420636861726163746572732028275c756666666427292c20746f206d617463682076382773205554462d38206465636f64696e670a2f2f206265686176696f722e2054686520636f6e74696e756174696f6e206279746520636865636b20697320696e636c756465642074687265652074696d657320696e2074686520636173650a2f2f20776865726520616c6c206f662074686520636f6e74696e756174696f6e20627974657320666f7220612063686172616374657220657869737420696e207468652073616d65206275666665722e0a2f2f20497420697320616c736f20646f6e65207468697320776179206173206120736c6967687420706572666f726d616e636520696e63726561736520696e7374656164206f66207573696e6720610a2f2f206c6f6f702e0a66756e6374696f6e2075746638436865636b457874726142797465732873656c662c206275662c207029207b0a202069662028286275665b305d202620307843302920213d3d203078383029207b0a2020202073656c662e6c6173744e656564203d20303b0a2020202072657475726e20275c7566666664272e7265706561742870293b0a20207d0a20206966202873656c662e6c6173744e656564203e2031202626206275662e6c656e677468203e203129207b0a2020202069662028286275665b315d202620307843302920213d3d203078383029207b0a20202020202073656c662e6c6173744e656564203d20313b0a20202020202072657475726e20275c7566666664272e7265706561742870202b2031293b0a202020207d0a202020206966202873656c662e6c6173744e656564203e2032202626206275662e6c656e677468203e203229207b0a20202020202069662028286275665b325d202620307843302920213d3d203078383029207b0a202020202020202073656c662e6c6173744e656564203d20323b0a202020202020202072657475726e20275c7566666664272e7265706561742870202b2032293b0a2020202020207d0a202020207d0a20207d0a7d0a0a2f2f20417474656d70747320746f20636f6d706c6574652061206d756c74692d62797465205554462d3820636861726163746572207573696e672062797465732066726f6d2061204275666665722e0a66756e6374696f6e207574663846696c6c4c6173742862756629207b0a20207661722070203d20746869732e6c617374546f74616c202d20746869732e6c6173744e6565643b0a20207661722072203d2075746638436865636b4578747261427974657328746869732c206275662c2070293b0a2020696620287220213d3d20756e646566696e6564292072657475726e20723b0a202069662028746869732e6c6173744e656564203c3d206275662e6c656e67746829207b0a202020206275662e636f707928746869732e6c617374436861722c20702c20302c20746869732e6c6173744e656564293b0a2020202072657475726e20746869732e6c617374436861722e746f537472696e6728746869732e656e636f64696e672c20302c20746869732e6c617374546f74616c293b0a20207d0a20206275662e636f707928746869732e6c617374436861722c20702c20302c206275662e6c656e677468293b0a2020746869732e6c6173744e656564202d3d206275662e6c656e6774683b0a7d0a0a2f2f2052657475726e7320616c6c20636f6d706c657465205554462d38206368617261637465727320696e2061204275666665722e204966207468652042756666657220656e646564206f6e20610a2f2f207061727469616c206368617261637465722c207468652063686172616374657227732062797465732061726520627566666572656420756e74696c207468652072657175697265640a2f2f206e756d626572206f662062797465732061726520617661696c61626c652e0a66756e6374696f6e207574663854657874286275662c206929207b0a202076617220746f74616c203d2075746638436865636b496e636f6d706c65746528746869732c206275662c2069293b0a20206966202821746869732e6c6173744e656564292072657475726e206275662e746f537472696e67282775746638272c2069293b0a2020746869732e6c617374546f74616c203d20746f74616c3b0a202076617220656e64203d206275662e6c656e677468202d2028746f74616c202d20746869732e6c6173744e656564293b0a20206275662e636f707928746869732e6c617374436861722c20302c20656e64293b0a202072657475726e206275662e746f537472696e67282775746638272c20692c20656e64293b0a7d0a0a2f2f20466f72205554462d382c2061207265706c6163656d656e742063686172616374657220666f7220656163682062756666657265642062797465206f66206120287061727469616c290a2f2f20636861726163746572206e6565647320746f20626520616464656420746f20746865206f75747075742e0a66756e6374696f6e2075746638456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e656564292072657475726e2072202b20275c7566666664272e72657065617428746869732e6c617374546f74616c202d20746869732e6c6173744e656564293b0a202072657475726e20723b0a7d0a0a2f2f205554462d31364c45207479706963616c6c79206e656564732074776f20627974657320706572206368617261637465722c20627574206576656e206966207765206861766520616e206576656e0a2f2f206e756d626572206f6620627974657320617661696c61626c652c207765206e65656420746f20636865636b20696620776520656e64206f6e2061206c656164696e672f686967680a2f2f20737572726f676174652e20496e207468617420636173652c207765206e65656420746f207761697420666f7220746865206e6578742074776f20627974657320696e206f7264657220746f0a2f2f206465636f646520746865206c617374206368617261637465722070726f7065726c792e0a66756e6374696f6e20757466313654657874286275662c206929207b0a202069662028286275662e6c656e677468202d20692920252032203d3d3d203029207b0a202020207661722072203d206275662e746f537472696e67282775746631366c65272c2069293b0a20202020696620287229207b0a2020202020207661722063203d20722e63686172436f6465417428722e6c656e677468202d2031293b0a2020202020206966202863203e3d203078443830302026262063203c3d2030784442464629207b0a2020202020202020746869732e6c6173744e656564203d20323b0a2020202020202020746869732e6c617374546f74616c203d20343b0a2020202020202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20325d3b0a2020202020202020746869732e6c617374436861725b315d203d206275665b6275662e6c656e677468202d20315d3b0a202020202020202072657475726e20722e736c69636528302c202d31293b0a2020202020207d0a202020207d0a2020202072657475726e20723b0a20207d0a2020746869732e6c6173744e656564203d20313b0a2020746869732e6c617374546f74616c203d20323b0a2020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20315d3b0a202072657475726e206275662e746f537472696e67282775746631366c65272c20692c206275662e6c656e677468202d2031293b0a7d0a0a2f2f20466f72205554462d31364c4520776520646f206e6f74206578706c696369746c7920617070656e64207370656369616c207265706c6163656d656e7420636861726163746572732069662077650a2f2f20656e64206f6e2061207061727469616c206368617261637465722c2077652073696d706c79206c65742076382068616e646c6520746861742e0a66756e6374696f6e207574663136456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e65656429207b0a2020202076617220656e64203d20746869732e6c617374546f74616c202d20746869732e6c6173744e6565643b0a2020202072657475726e2072202b20746869732e6c617374436861722e746f537472696e67282775746631366c65272c20302c20656e64293b0a20207d0a202072657475726e20723b0a7d0a0a66756e6374696f6e2062617365363454657874286275662c206929207b0a2020766172206e203d20286275662e6c656e677468202d206929202520333b0a2020696620286e203d3d3d2030292072657475726e206275662e746f537472696e672827626173653634272c2069293b0a2020746869732e6c6173744e656564203d2033202d206e3b0a2020746869732e6c617374546f74616c203d20333b0a2020696620286e203d3d3d203129207b0a20202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20315d3b0a20207d20656c7365207b0a20202020746869732e6c617374436861725b305d203d206275665b6275662e6c656e677468202d20325d3b0a20202020746869732e6c617374436861725b315d203d206275665b6275662e6c656e677468202d20315d3b0a20207d0a202072657475726e206275662e746f537472696e672827626173653634272c20692c206275662e6c656e677468202d206e293b0a7d0a0a66756e6374696f6e20626173653634456e642862756629207b0a20207661722072203d20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a202069662028746869732e6c6173744e656564292072657475726e2072202b20746869732e6c617374436861722e746f537472696e672827626173653634272c20302c2033202d20746869732e6c6173744e656564293b0a202072657475726e20723b0a7d0a0a2f2f2050617373206279746573206f6e207468726f75676820666f722073696e676c652d6279746520656e636f64696e67732028652e672e2061736369692c206c6174696e312c20686578290a66756e6374696f6e2073696d706c6557726974652862756629207b0a202072657475726e206275662e746f537472696e6728746869732e656e636f64696e67293b0a7d0a0a66756e6374696f6e2073696d706c65456e642862756629207b0a202072657475726e20627566202626206275662e6c656e677468203f20746869732e77726974652862756629203a2027273b0a7d0a7d2c7b22736166652d627566666572223a3133307d5d2c3134363a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a76617220427566666572203d2072657175697265282762756666657227292e4275666665720a0a6d6f64756c652e6578706f727473203d2066756e6374696f6e202862756629207b0a092f2f2049662074686520627566666572206973206261636b656420627920612055696e743841727261792c2061206661737465722076657273696f6e2077696c6c20776f726b0a096966202862756620696e7374616e63656f662055696e7438417272617929207b0a09092f2f20496620746865206275666665722069736e277420612073756261727261792c2072657475726e2074686520756e6465726c79696e672041727261794275666665720a0909696620286275662e627974654f6666736574203d3d3d2030202626206275662e627974654c656e677468203d3d3d206275662e6275666665722e627974654c656e67746829207b0a09090972657475726e206275662e6275666665720a09097d20656c73652069662028747970656f66206275662e6275666665722e736c696365203d3d3d202766756e6374696f6e2729207b0a0909092f2f204f7468657277697365207765206e65656420746f2067657420612070726f70657220636f70790a09090972657475726e206275662e6275666665722e736c696365286275662e627974654f66667365742c206275662e627974654f6666736574202b206275662e627974654c656e677468290a09097d0a097d0a0a09696620284275666665722e6973427566666572286275662929207b0a09092f2f20546869732069732074686520736c6f772076657273696f6e20746861742077696c6c20776f726b207769746820616e79204275666665720a09092f2f20696d706c656d656e746174696f6e20286576656e20696e206f6c642062726f7773657273290a0909766172206172726179436f7079203d206e65772055696e74384172726179286275662e6c656e677468290a0909766172206c656e203d206275662e6c656e6774680a0909666f7220287661722069203d20303b2069203c206c656e3b20692b2b29207b0a0909096172726179436f70795b695d203d206275665b695d0a09097d0a090972657475726e206172726179436f70792e6275666665720a097d20656c7365207b0a09097468726f77206e6577204572726f722827417267756d656e74206d75737420626520612042756666657227290a097d0a7d0a0a7d2c7b22627566666572223a33327d5d2c3134373a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e2028676c6f62616c297b0a0a2f2a2a0a202a204d6f64756c65206578706f7274732e0a202a2f0a0a6d6f64756c652e6578706f727473203d206465707265636174653b0a0a2f2a2a0a202a204d61726b20746861742061206d6574686f642073686f756c64206e6f7420626520757365642e0a202a2052657475726e732061206d6f6469666965642066756e6374696f6e207768696368207761726e73206f6e63652062792064656661756c742e0a202a0a202a20496620606c6f63616c53746f726167652e6e6f4465707265636174696f6e203d207472756560206973207365742c207468656e2069742069732061206e6f2d6f702e0a202a0a202a20496620606c6f63616c53746f726167652e7468726f774465707265636174696f6e203d207472756560206973207365742c207468656e20646570726563617465642066756e6374696f6e730a202a2077696c6c207468726f7720616e204572726f72207768656e20696e766f6b65642e0a202a0a202a20496620606c6f63616c53746f726167652e74726163654465707265636174696f6e203d207472756560206973207365742c207468656e20646570726563617465642066756e6374696f6e730a202a2077696c6c20696e766f6b652060636f6e736f6c652e747261636528296020696e7374656164206f662060636f6e736f6c652e6572726f722829602e0a202a0a202a2040706172616d207b46756e6374696f6e7d20666e202d207468652066756e6374696f6e20746f206465707265636174650a202a2040706172616d207b537472696e677d206d7367202d2074686520737472696e6720746f207072696e7420746f2074686520636f6e736f6c65207768656e2060666e6020697320696e766f6b65640a202a204072657475726e73207b46756e6374696f6e7d2061206e6577202264657072656361746564222076657273696f6e206f662060666e600a202a2040617069207075626c69630a202a2f0a0a66756e6374696f6e206465707265636174652028666e2c206d736729207b0a202069662028636f6e66696728276e6f4465707265636174696f6e272929207b0a2020202072657475726e20666e3b0a20207d0a0a2020766172207761726e6564203d2066616c73653b0a202066756e6374696f6e20646570726563617465642829207b0a2020202069662028217761726e656429207b0a20202020202069662028636f6e66696728277468726f774465707265636174696f6e272929207b0a20202020202020207468726f77206e6577204572726f72286d7367293b0a2020202020207d20656c73652069662028636f6e666967282774726163654465707265636174696f6e272929207b0a2020202020202020636f6e736f6c652e7472616365286d7367293b0a2020202020207d20656c7365207b0a2020202020202020636f6e736f6c652e7761726e286d7367293b0a2020202020207d0a2020202020207761726e6564203d20747275653b0a202020207d0a2020202072657475726e20666e2e6170706c7928746869732c20617267756d656e7473293b0a20207d0a0a202072657475726e20646570726563617465643b0a7d0a0a2f2a2a0a202a20436865636b7320606c6f63616c53746f726167656020666f7220626f6f6c65616e2076616c75657320666f722074686520676976656e20606e616d65602e0a202a0a202a2040706172616d207b537472696e677d206e616d650a202a204072657475726e73207b426f6f6c65616e7d0a202a204061706920707269766174650a202a2f0a0a66756e6374696f6e20636f6e66696720286e616d6529207b0a20202f2f20616363657373696e6720676c6f62616c2e6c6f63616c53746f726167652063616e2074726967676572206120444f4d457863657074696f6e20696e2073616e64626f78656420696672616d65730a2020747279207b0a202020206966202821676c6f62616c2e6c6f63616c53746f72616765292072657475726e2066616c73653b0a20207d20636174636820285f29207b0a2020202072657475726e2066616c73653b0a20207d0a20207661722076616c203d20676c6f62616c2e6c6f63616c53746f726167655b6e616d655d3b0a2020696620286e756c6c203d3d2076616c292072657475726e2066616c73653b0a202072657475726e20537472696e672876616c292e746f4c6f776572436173652829203d3d3d202774727565273b0a7d0a0a7d292e63616c6c28746869732c747970656f6620676c6f62616c20213d3d2022756e646566696e656422203f20676c6f62616c203a20747970656f662073656c6620213d3d2022756e646566696e656422203f2073656c66203a20747970656f662077696e646f7720213d3d2022756e646566696e656422203f2077696e646f77203a207b7d290a7d2c7b7d5d2c3134383a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a2866756e6374696f6e202870726f636573732c427566666572297b0a2f2a2a0a202a205772617070657220666f72206275696c742d696e20687474702e6a7320746f20656d756c617465207468652062726f7773657220584d4c4874747052657175657374206f626a6563742e0a202a0a202a20546869732063616e20626520757365642077697468204a532064657369676e656420666f722062726f777365727320746f20696d70726f7665207265757365206f6620636f646520616e640a202a20616c6c6f772074686520757365206f66206578697374696e67206c69627261726965732e0a202a0a202a2055736167653a20696e636c7564652822584d4c48747470526571756573742e6a73222920616e642075736520584d4c487474705265717565737420706572205733432073706563732e0a202a0a202a2040617574686f722044616e20446546656c69707069203c64616e4064726976657264616e2e636f6d3e0a202a2040636f6e7472696275746f7220446176696420456c6c6973203c642e662e656c6c697340696565652e6f72673e0a202a20406c6963656e7365204d49540a202a2f0a0a7661722055726c203d2072657175697265282275726c22293b0a76617220737061776e203d207265717569726528226368696c645f70726f6365737322292e737061776e3b0a766172206673203d20726571756972652822667322293b0a0a6578706f7274732e584d4c4874747052657175657374203d2066756e6374696f6e2829207b0a20202275736520737472696374223b0a0a20202f2a2a0a2020202a2050726976617465207661726961626c65730a2020202a2f0a20207661722073656c66203d20746869733b0a20207661722068747470203d207265717569726528226874747022293b0a2020766172206874747073203d20726571756972652822687474707322293b0a0a20202f2f20486f6c647320687474702e6a73206f626a656374730a202076617220726571756573743b0a202076617220726573706f6e73653b0a0a20202f2f20526571756573742073657474696e67730a20207661722073657474696e6773203d207b7d3b0a0a20202f2f2044697361626c652068656164657220626c61636b6c6973742e0a20202f2f204e6f742070617274206f66205848522073706563732e0a20207661722064697361626c65486561646572436865636b203d2066616c73653b0a0a20202f2f2053657420736f6d652064656661756c7420686561646572730a20207661722064656661756c7448656164657273203d207b0a2020202022557365722d4167656e74223a20226e6f64652d584d4c4874747052657175657374222c0a2020202022416363657074223a20222a2f2a222c0a20207d3b0a0a20207661722068656164657273203d207b7d3b0a2020766172206865616465727343617365203d207b7d3b0a0a20202f2f205468657365206865616465727320617265206e6f7420757365722073657461626c652e0a20202f2f2054686520666f6c6c6f77696e672061726520616c6c6f776564206275742062616e6e656420696e2074686520737065633a0a20202f2f202a20757365722d6167656e740a202076617220666f7262696464656e5265717565737448656164657273203d205b0a20202020226163636570742d63686172736574222c0a20202020226163636570742d656e636f64696e67222c0a20202020226163636573732d636f6e74726f6c2d726571756573742d68656164657273222c0a20202020226163636573732d636f6e74726f6c2d726571756573742d6d6574686f64222c0a2020202022636f6e6e656374696f6e222c0a2020202022636f6e74656e742d6c656e677468222c0a2020202022636f6e74656e742d7472616e736665722d656e636f64696e67222c0a2020202022636f6f6b6965222c0a2020202022636f6f6b696532222c0a202020202264617465222c0a2020202022657870656374222c0a2020202022686f7374222c0a20202020226b6565702d616c697665222c0a20202020226f726967696e222c0a202020202272656665726572222c0a20202020227465222c0a2020202022747261696c6572222c0a20202020227472616e736665722d656e636f64696e67222c0a202020202275706772616465222c0a2020202022766961220a20205d3b0a0a20202f2f2054686573652072657175657374206d6574686f647320617265206e6f7420616c6c6f7765640a202076617220666f7262696464656e526571756573744d6574686f6473203d205b0a20202020225452414345222c0a2020202022545241434b222c0a2020202022434f4e4e454354220a20205d3b0a0a20202f2f2053656e6420666c61670a20207661722073656e64466c6167203d2066616c73653b0a20202f2f204572726f7220666c61672c2075736564207768656e206572726f7273206f63637572206f722061626f72742069732063616c6c65640a2020766172206572726f72466c6167203d2066616c73653b0a0a20202f2f204576656e74206c697374656e6572730a2020766172206c697374656e657273203d207b7d3b0a0a20202f2a2a0a2020202a20436f6e7374616e74730a2020202a2f0a0a2020746869732e554e53454e54203d20303b0a2020746869732e4f50454e4544203d20313b0a2020746869732e484541444552535f5245434549564544203d20323b0a2020746869732e4c4f4144494e47203d20333b0a2020746869732e444f4e45203d20343b0a0a20202f2a2a0a2020202a205075626c696320766172730a2020202a2f0a0a20202f2f2043757272656e742073746174650a2020746869732e72656164795374617465203d20746869732e554e53454e543b0a0a20202f2f2064656661756c74207265616479207374617465206368616e67652068616e646c657220696e2063617365206f6e65206973206e6f7420736574206f7220697320736574206c6174650a2020746869732e6f6e726561647973746174656368616e6765203d206e756c6c3b0a0a20202f2f20526573756c74202620726573706f6e73650a2020746869732e726573706f6e736554657874203d2022223b0a2020746869732e726573706f6e7365584d4c203d2022223b0a2020746869732e737461747573203d206e756c6c3b0a2020746869732e73746174757354657874203d206e756c6c3b0a20200a20202f2f20576865746865722063726f73732d73697465204163636573732d436f6e74726f6c2072657175657374732073686f756c64206265206d616465207573696e670a20202f2f2063726564656e7469616c73207375636820617320636f6f6b696573206f7220617574686f72697a6174696f6e20686561646572730a2020746869732e7769746843726564656e7469616c73203d2066616c73653b0a0a20202f2a2a0a2020202a2050726976617465206d6574686f64730a2020202a2f0a0a20202f2a2a0a2020202a20436865636b20696620746865207370656369666965642068656164657220697320616c6c6f7765642e0a2020202a0a2020202a2040706172616d20737472696e67206865616465722048656164657220746f2076616c69646174650a2020202a204072657475726e20626f6f6c65616e2046616c7365206966206e6f7420616c6c6f7765642c206f746865727769736520747275650a2020202a2f0a2020766172206973416c6c6f77656448747470486561646572203d2066756e6374696f6e2868656164657229207b0a2020202072657475726e2064697361626c65486561646572436865636b207c7c202868656164657220262620666f7262696464656e52657175657374486561646572732e696e6465784f66286865616465722e746f4c6f77657243617365282929203d3d3d202d31293b0a20207d3b0a0a20202f2a2a0a2020202a20436865636b2069662074686520737065636966696564206d6574686f6420697320616c6c6f7765642e0a2020202a0a2020202a2040706172616d20737472696e67206d6574686f642052657175657374206d6574686f6420746f2076616c69646174650a2020202a204072657475726e20626f6f6c65616e2046616c7365206966206e6f7420616c6c6f7765642c206f746865727769736520747275650a2020202a2f0a2020766172206973416c6c6f776564487474704d6574686f64203d2066756e6374696f6e286d6574686f6429207b0a2020202072657475726e20286d6574686f6420262620666f7262696464656e526571756573744d6574686f64732e696e6465784f66286d6574686f6429203d3d3d202d31293b0a20207d3b0a0a20202f2a2a0a2020202a205075626c6963206d6574686f64730a2020202a2f0a0a20202f2a2a0a2020202a204f70656e2074686520636f6e6e656374696f6e2e2043757272656e746c7920737570706f727473206c6f63616c207365727665722072657175657374732e0a2020202a0a2020202a2040706172616d20737472696e67206d6574686f6420436f6e6e656374696f6e206d6574686f6420286567204745542c20504f5354290a2020202a2040706172616d20737472696e672075726c2055524c20666f722074686520636f6e6e656374696f6e2e0a2020202a2040706172616d20626f6f6c65616e206173796e63204173796e6368726f6e6f757320636f6e6e656374696f6e2e2044656661756c7420697320747275652e0a2020202a2040706172616d20737472696e67207573657220557365726e616d6520666f722062617369632061757468656e7469636174696f6e20286f7074696f6e616c290a2020202a2040706172616d20737472696e672070617373776f72642050617373776f726420666f722062617369632061757468656e7469636174696f6e20286f7074696f6e616c290a2020202a2f0a2020746869732e6f70656e203d2066756e6374696f6e286d6574686f642c2075726c2c206173796e632c20757365722c2070617373776f726429207b0a20202020746869732e61626f727428293b0a202020206572726f72466c6167203d2066616c73653b0a0a202020202f2f20436865636b20666f722076616c69642072657175657374206d6574686f640a2020202069662028216973416c6c6f776564487474704d6574686f64286d6574686f642929207b0a2020202020207468726f77206e6577204572726f72282253656375726974794572726f723a2052657175657374206d6574686f64206e6f7420616c6c6f77656422293b0a202020207d0a0a2020202073657474696e6773203d207b0a202020202020226d6574686f64223a206d6574686f642c0a2020202020202275726c223a2075726c2e746f537472696e6728292c0a202020202020226173796e63223a2028747970656f66206173796e6320213d3d2022626f6f6c65616e22203f2074727565203a206173796e63292c0a2020202020202275736572223a2075736572207c7c206e756c6c2c0a2020202020202270617373776f7264223a2070617373776f7264207c7c206e756c6c0a202020207d3b0a0a20202020736574537461746528746869732e4f50454e4544293b0a20207d3b0a0a20202f2a2a0a2020202a2044697361626c6573206f7220656e61626c6573206973416c6c6f77656448747470486561646572282920636865636b2074686520726571756573742e20456e61626c65642062792064656661756c742e0a2020202a205468697320646f6573206e6f7420636f6e666f726d20746f207468652057334320737065632e0a2020202a0a2020202a2040706172616d20626f6f6c65616e20737461746520456e61626c65206f722064697361626c652068656164657220636865636b696e672e0a2020202a2f0a2020746869732e73657444697361626c65486561646572436865636b203d2066756e6374696f6e28737461746529207b0a2020202064697361626c65486561646572436865636b203d2073746174653b0a20207d3b0a0a20202f2a2a0a2020202a205365747320612068656164657220666f72207468652072657175657374206f7220617070656e6473207468652076616c7565206966206f6e6520697320616c7265616479207365742e0a2020202a0a2020202a2040706172616d20737472696e672068656164657220486561646572206e616d650a2020202a2040706172616d20737472696e672076616c7565204865616465722076616c75650a2020202a2f0a2020746869732e73657452657175657374486561646572203d2066756e6374696f6e286865616465722c2076616c756529207b0a2020202069662028746869732e7265616479537461746520213d3d20746869732e4f50454e454429207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a20736574526571756573744865616465722063616e206f6e6c792062652063616c6c6564207768656e207374617465206973204f50454e22293b0a202020207d0a2020202069662028216973416c6c6f77656448747470486561646572286865616465722929207b0a202020202020636f6e736f6c652e7761726e28225265667573656420746f2073657420756e7361666520686561646572205c2222202b20686561646572202b20225c2222293b0a20202020202072657475726e3b0a202020207d0a202020206966202873656e64466c616729207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a2073656e6420666c6167206973207472756522293b0a202020207d0a20202020686561646572203d2068656164657273436173655b6865616465722e746f4c6f7765724361736528295d207c7c206865616465723b0a2020202068656164657273436173655b6865616465722e746f4c6f7765724361736528295d203d206865616465723b0a20202020686561646572735b6865616465725d203d20686561646572735b6865616465725d203f20686561646572735b6865616465725d202b20272c2027202b2076616c7565203a2076616c75653b0a20207d3b0a0a20202f2a2a0a2020202a20476574732061206865616465722066726f6d207468652073657276657220726573706f6e73652e0a2020202a0a2020202a2040706172616d20737472696e6720686561646572204e616d65206f662068656164657220746f206765742e0a2020202a204072657475726e20737472696e672054657874206f662074686520686561646572206f72206e756c6c20696620697420646f65736e27742065786973742e0a2020202a2f0a2020746869732e676574526573706f6e7365486561646572203d2066756e6374696f6e2868656164657229207b0a2020202069662028747970656f6620686561646572203d3d3d2022737472696e67220a202020202020262620746869732e72656164795374617465203e20746869732e4f50454e45440a202020202020262620726573706f6e73650a202020202020262620726573706f6e73652e686561646572730a202020202020262620726573706f6e73652e686561646572735b6865616465722e746f4c6f7765724361736528295d0a202020202020262620216572726f72466c61670a2020202029207b0a20202020202072657475726e20726573706f6e73652e686561646572735b6865616465722e746f4c6f7765724361736528295d3b0a202020207d0a0a2020202072657475726e206e756c6c3b0a20207d3b0a0a20202f2a2a0a2020202a204765747320616c6c2074686520726573706f6e736520686561646572732e0a2020202a0a2020202a204072657475726e20737472696e67204120737472696e67207769746820616c6c20726573706f6e73652068656164657273207365706172617465642062792043522b4c460a2020202a2f0a2020746869732e676574416c6c526573706f6e736548656164657273203d2066756e6374696f6e2829207b0a2020202069662028746869732e72656164795374617465203c20746869732e484541444552535f5245434549564544207c7c206572726f72466c616729207b0a20202020202072657475726e2022223b0a202020207d0a2020202076617220726573756c74203d2022223b0a0a20202020666f722028766172206920696e20726573706f6e73652e6865616465727329207b0a2020202020202f2f20436f6f6b6965206865616465727320617265206578636c756465640a202020202020696620286920213d3d20227365742d636f6f6b696522202626206920213d3d20227365742d636f6f6b6965322229207b0a2020202020202020726573756c74202b3d2069202b20223a2022202b20726573706f6e73652e686561646572735b695d202b20225c725c6e223b0a2020202020207d0a202020207d0a2020202072657475726e20726573756c742e73756273747228302c20726573756c742e6c656e677468202d2032293b0a20207d3b0a0a20202f2a2a0a2020202a204765747320612072657175657374206865616465720a2020202a0a2020202a2040706172616d20737472696e67206e616d65204e616d65206f662068656164657220746f206765740a2020202a204072657475726e20737472696e672052657475726e7320746865207265717565737420686561646572206f7220656d70747920737472696e67206966206e6f74207365740a2020202a2f0a2020746869732e67657452657175657374486561646572203d2066756e6374696f6e286e616d6529207b0a2020202069662028747970656f66206e616d65203d3d3d2022737472696e67222026262068656164657273436173655b6e616d652e746f4c6f7765724361736528295d29207b0a20202020202072657475726e20686561646572735b68656164657273436173655b6e616d652e746f4c6f7765724361736528295d5d3b0a202020207d0a0a2020202072657475726e2022223b0a20207d3b0a0a20202f2a2a0a2020202a2053656e647320746865207265717565737420746f20746865207365727665722e0a2020202a0a2020202a2040706172616d20737472696e672064617461204f7074696f6e616c206461746120746f2073656e64206173207265717565737420626f64792e0a2020202a2f0a2020746869732e73656e64203d2066756e6374696f6e286461746129207b0a2020202069662028746869732e7265616479537461746520213d3d20746869732e4f50454e454429207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a20636f6e6e656374696f6e206d757374206265206f70656e6564206265666f72652073656e6428292069732063616c6c656422293b0a202020207d0a0a202020206966202873656e64466c616729207b0a2020202020207468726f77206e6577204572726f722822494e56414c49445f53544154455f4552523a2073656e642068617320616c7265616479206265656e2063616c6c656422293b0a202020207d0a0a202020207661722073736c203d2066616c73652c206c6f63616c203d2066616c73653b0a202020207661722075726c203d2055726c2e70617273652873657474696e67732e75726c293b0a2020202076617220686f73743b0a202020202f2f2044657465726d696e6520746865207365727665720a20202020737769746368202875726c2e70726f746f636f6c29207b0a20202020202063617365202268747470733a223a0a202020202020202073736c203d20747275653b0a20202020202020202f2f2053534c2026206e6f6e2d53534c20626f7468206e65656420686f73742c206e6f20627265616b20686572652e0a202020202020636173652022687474703a223a0a2020202020202020686f7374203d2075726c2e686f73746e616d653b0a2020202020202020627265616b3b0a0a20202020202063617365202266696c653a223a0a20202020202020206c6f63616c203d20747275653b0a2020202020202020627265616b3b0a0a2020202020206361736520756e646566696e65643a0a20202020202063617365206e756c6c3a0a202020202020636173652022223a0a2020202020202020686f7374203d20226c6f63616c686f7374223b0a2020202020202020627265616b3b0a0a20202020202064656661756c743a0a20202020202020207468726f77206e6577204572726f72282250726f746f636f6c206e6f7420737570706f727465642e22293b0a202020207d0a0a202020202f2f204c6f61642066696c6573206f666620746865206c6f63616c2066696c6573797374656d202866696c653a2f2f290a20202020696620286c6f63616c29207b0a2020202020206966202873657474696e67732e6d6574686f6420213d3d20224745542229207b0a20202020202020207468726f77206e6577204572726f722822584d4c48747470526571756573743a204f6e6c7920474554206d6574686f6420697320737570706f7274656422293b0a2020202020207d0a0a2020202020206966202873657474696e67732e6173796e6329207b0a202020202020202066732e7265616446696c652875726c2e706174686e616d652c202275746638222c2066756e6374696f6e286572726f722c206461746129207b0a20202020202020202020696620286572726f7229207b0a20202020202020202020202073656c662e68616e646c654572726f72286572726f72293b0a202020202020202020207d20656c7365207b0a20202020202020202020202073656c662e737461747573203d203230303b0a20202020202020202020202073656c662e726573706f6e736554657874203d20646174613b0a20202020202020202020202073657453746174652873656c662e444f4e45293b0a202020202020202020207d0a20202020202020207d293b0a2020202020207d20656c7365207b0a2020202020202020747279207b0a20202020202020202020746869732e726573706f6e736554657874203d2066732e7265616446696c6553796e632875726c2e706174686e616d652c20227574663822293b0a20202020202020202020746869732e737461747573203d203230303b0a2020202020202020202073657453746174652873656c662e444f4e45293b0a20202020202020207d206361746368286529207b0a20202020202020202020746869732e68616e646c654572726f722865293b0a20202020202020207d0a2020202020207d0a0a20202020202072657475726e3b0a202020207d0a0a202020202f2f2044656661756c7420746f20706f72742038302e20496620616363657373696e67206c6f63616c686f7374206f6e20616e6f7468657220706f727420626520737572650a202020202f2f20746f2075736520687474703a2f2f6c6f63616c686f73743a706f72742f706174680a2020202076617220706f7274203d2075726c2e706f7274207c7c202873736c203f20343433203a203830293b0a202020202f2f2041646420717565727920737472696e67206966206f6e6520697320757365640a2020202076617220757269203d2075726c2e706174686e616d65202b202875726c2e736561726368203f2075726c2e736561726368203a202222293b0a0a202020202f2f20536574207468652064656661756c7473206966207468657920686176656e2774206265656e207365740a20202020666f722028766172206e616d6520696e2064656661756c744865616465727329207b0a202020202020696620282168656164657273436173655b6e616d652e746f4c6f7765724361736528295d29207b0a2020202020202020686561646572735b6e616d655d203d2064656661756c74486561646572735b6e616d655d3b0a2020202020207d0a202020207d0a0a202020202f2f205365742074686520486f737420686561646572206f722074686520736572766572206d61792072656a6563742074686520726571756573740a20202020686561646572732e486f7374203d20686f73743b0a202020206966202821282873736c20262620706f7274203d3d3d2034343329207c7c20706f7274203d3d3d2038302929207b0a202020202020686561646572732e486f7374202b3d20223a22202b2075726c2e706f72743b0a202020207d0a0a202020202f2f205365742042617369632041757468206966206e65636573736172790a202020206966202873657474696e67732e7573657229207b0a20202020202069662028747970656f662073657474696e67732e70617373776f7264203d3d3d2022756e646566696e65642229207b0a202020202020202073657474696e67732e70617373776f7264203d2022223b0a2020202020207d0a2020202020207661722061757468427566203d206e6577204275666665722873657474696e67732e75736572202b20223a22202b2073657474696e67732e70617373776f7264293b0a202020202020686561646572732e417574686f72697a6174696f6e203d202242617369632022202b20617574684275662e746f537472696e67282262617365363422293b0a202020207d0a0a202020202f2f2053657420636f6e74656e74206c656e677468206865616465720a202020206966202873657474696e67732e6d6574686f64203d3d3d202247455422207c7c2073657474696e67732e6d6574686f64203d3d3d2022484541442229207b0a20202020202064617461203d206e756c6c3b0a202020207d20656c736520696620286461746129207b0a202020202020686561646572735b22436f6e74656e742d4c656e677468225d203d204275666665722e6973427566666572286461746129203f20646174612e6c656e677468203a204275666665722e627974654c656e6774682864617461293b0a0a2020202020206966202821686561646572735b22436f6e74656e742d54797065225d29207b0a2020202020202020686561646572735b22436f6e74656e742d54797065225d203d2022746578742f706c61696e3b636861727365743d5554462d38223b0a2020202020207d0a202020207d20656c7365206966202873657474696e67732e6d6574686f64203d3d3d2022504f53542229207b0a2020202020202f2f20466f72206120706f73742077697468206e6f20646174612073657420436f6e74656e742d4c656e6774683a20302e0a2020202020202f2f20546869732069732072657175697265642062792062756767792073657276657273207468617420646f6e2774206d656574207468652073706563732e0a202020202020686561646572735b22436f6e74656e742d4c656e677468225d203d20303b0a202020207d0a0a20202020766172206f7074696f6e73203d207b0a202020202020686f73743a20686f73742c0a202020202020706f72743a20706f72742c0a202020202020706174683a207572692c0a2020202020206d6574686f643a2073657474696e67732e6d6574686f642c0a202020202020686561646572733a20686561646572732c0a2020202020206167656e743a2066616c73652c0a2020202020207769746843726564656e7469616c733a2073656c662e7769746843726564656e7469616c730a202020207d3b0a0a202020202f2f205265736574206572726f7220666c61670a202020206572726f72466c6167203d2066616c73653b0a0a202020202f2f2048616e646c65206173796e632072657175657374730a202020206966202873657474696e67732e6173796e6329207b0a2020202020202f2f20557365207468652070726f7065722070726f746f636f6c0a20202020202076617220646f52657175657374203d2073736c203f2068747470732e72657175657374203a20687474702e726571756573743b0a0a2020202020202f2f2052657175657374206973206265696e672073656e742c207365742073656e6420666c61670a20202020202073656e64466c6167203d20747275653b0a0a2020202020202f2f2041732070657220737065632c20746869732069732063616c6c6564206865726520666f7220686973746f726963616c20726561736f6e732e0a20202020202073656c662e64697370617463684576656e742822726561647973746174656368616e676522293b0a0a2020202020202f2f2048616e646c657220666f722074686520726573706f6e73650a20202020202076617220726573706f6e736548616e646c6572203d2066756e6374696f6e20726573706f6e736548616e646c6572287265737029207b0a20202020202020202f2f2053657420726573706f6e73652076617220746f2074686520726573706f6e736520776520676f74206261636b0a20202020202020202f2f205468697320697320736f2069742072656d61696e732061636365737361626c65206f75747369646520746869732073636f70650a2020202020202020726573706f6e7365203d20726573703b0a20202020202020202f2f20436865636b20666f722072656469726563740a20202020202020202f2f2040544f444f2050726576656e74206c6f6f706564207265646972656374730a202020202020202069662028726573706f6e73652e737461747573436f6465203d3d3d20333031207c7c20726573706f6e73652e737461747573436f6465203d3d3d20333032207c7c20726573706f6e73652e737461747573436f6465203d3d3d20333033207c7c20726573706f6e73652e737461747573436f6465203d3d3d2033303729207b0a202020202020202020202f2f204368616e67652055524c20746f20746865207265646972656374206c6f636174696f6e0a2020202020202020202073657474696e67732e75726c203d20726573706f6e73652e686561646572732e6c6f636174696f6e3b0a202020202020202020207661722075726c203d2055726c2e70617273652873657474696e67732e75726c293b0a202020202020202020202f2f2053657420686f73742076617220696e206361736520697427732075736564206c617465720a20202020202020202020686f7374203d2075726c2e686f73746e616d653b0a202020202020202020202f2f204f7074696f6e7320666f7220746865206e657720726571756573740a20202020202020202020766172206e65774f7074696f6e73203d207b0a202020202020202020202020686f73746e616d653a2075726c2e686f73746e616d652c0a202020202020202020202020706f72743a2075726c2e706f72742c0a202020202020202020202020706174683a2075726c2e706174682c0a2020202020202020202020206d6574686f643a20726573706f6e73652e737461747573436f6465203d3d3d20333033203f202247455422203a2073657474696e67732e6d6574686f642c0a202020202020202020202020686561646572733a20686561646572732c0a2020202020202020202020207769746843726564656e7469616c733a2073656c662e7769746843726564656e7469616c730a202020202020202020207d3b0a0a202020202020202020202f2f20497373756520746865206e657720726571756573740a2020202020202020202072657175657374203d20646f52657175657374286e65774f7074696f6e732c20726573706f6e736548616e646c6572292e6f6e28226572726f72222c206572726f7248616e646c6572293b0a20202020202020202020726571756573742e656e6428293b0a202020202020202020202f2f2040544f444f20436865636b20696620616e20584852206576656e74206e6565647320746f20626520666972656420686572650a2020202020202020202072657475726e3b0a20202020202020207d0a0a2020202020202020726573706f6e73652e736574456e636f64696e6728227574663822293b0a0a202020202020202073657453746174652873656c662e484541444552535f5245434549564544293b0a202020202020202073656c662e737461747573203d20726573706f6e73652e737461747573436f64653b0a0a2020202020202020726573706f6e73652e6f6e282264617461222c2066756e6374696f6e286368756e6b29207b0a202020202020202020202f2f204d616b652073757265207468657265277320736f6d6520646174610a20202020202020202020696620286368756e6b29207b0a20202020202020202020202073656c662e726573706f6e736554657874202b3d206368756e6b3b0a202020202020202020207d0a202020202020202020202f2f20446f6e277420656d6974207374617465206368616e6765732069662074686520636f6e6e656374696f6e20686173206265656e2061626f727465642e0a202020202020202020206966202873656e64466c616729207b0a20202020202020202020202073657453746174652873656c662e4c4f4144494e47293b0a202020202020202020207d0a20202020202020207d293b0a0a2020202020202020726573706f6e73652e6f6e2822656e64222c2066756e6374696f6e2829207b0a202020202020202020206966202873656e64466c616729207b0a2020202020202020202020202f2f20446973636172642074686520656e64206576656e742069662074686520636f6e6e656374696f6e20686173206265656e2061626f727465640a20202020202020202020202073657453746174652873656c662e444f4e45293b0a20202020202020202020202073656e64466c6167203d2066616c73653b0a202020202020202020207d0a20202020202020207d293b0a0a2020202020202020726573706f6e73652e6f6e28226572726f72222c2066756e6374696f6e286572726f7229207b0a2020202020202020202073656c662e68616e646c654572726f72286572726f72293b0a20202020202020207d293b0a2020202020207d3b0a0a2020202020202f2f204572726f722068616e646c657220666f722074686520726571756573740a202020202020766172206572726f7248616e646c6572203d2066756e6374696f6e206572726f7248616e646c6572286572726f7229207b0a202020202020202073656c662e68616e646c654572726f72286572726f72293b0a2020202020207d3b0a0a2020202020202f2f204372656174652074686520726571756573740a20202020202072657175657374203d20646f52657175657374286f7074696f6e732c20726573706f6e736548616e646c6572292e6f6e28226572726f72222c206572726f7248616e646c6572293b0a0a2020202020202f2f204e6f646520302e3420616e64206c6174657220776f6e27742061636365707420656d70747920646174612e204d616b6520737572652069742773206e65656465642e0a202020202020696620286461746129207b0a2020202020202020726571756573742e77726974652864617461293b0a2020202020207d0a0a202020202020726571756573742e656e6428293b0a0a20202020202073656c662e64697370617463684576656e7428226c6f6164737461727422293b0a202020207d20656c7365207b202f2f2053796e6368726f6e6f75730a2020202020202f2f2043726561746520612074656d706f726172792066696c6520666f7220636f6d6d756e69636174696f6e207769746820746865206f74686572204e6f64652070726f636573730a20202020202076617220636f6e74656e7446696c65203d20222e6e6f64652d786d6c68747470726571756573742d636f6e74656e742d22202b2070726f636573732e7069643b0a2020202020207661722073796e6346696c65203d20222e6e6f64652d786d6c68747470726571756573742d73796e632d22202b2070726f636573732e7069643b0a20202020202066732e777269746546696c6553796e632873796e6346696c652c2022222c20227574663822293b0a2020202020202f2f20546865206173796e63207265717565737420746865206f74686572204e6f64652070726f636573732065786563757465730a2020202020207661722065786563537472696e67203d20227661722068747470203d207265717569726528276874747027292c206874747073203d20726571756972652827687474707327292c206673203d20726571756972652827667327293b220a20202020202020202b202276617220646f52657175657374203d206874747022202b202873736c203f20227322203a20222229202b20222e726571756573743b220a20202020202020202b2022766172206f7074696f6e73203d2022202b204a534f4e2e737472696e67696679286f7074696f6e7329202b20223b220a20202020202020202b202276617220726573706f6e736554657874203d2027273b220a20202020202020202b202276617220726571203d20646f52657175657374286f7074696f6e732c2066756e6374696f6e28726573706f6e736529207b220a20202020202020202b2022726573706f6e73652e736574456e636f64696e6728277574663827293b220a20202020202020202b2022726573706f6e73652e6f6e282764617461272c2066756e6374696f6e286368756e6b29207b220a20202020202020202b20222020726573706f6e736554657874202b3d206368756e6b3b220a20202020202020202b20227d293b220a20202020202020202b2022726573706f6e73652e6f6e2827656e64272c2066756e6374696f6e2829207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206e756c6c2c20646174613a207b737461747573436f64653a20726573706f6e73652e737461747573436f64652c20686561646572733a20726573706f6e73652e686561646572732c20746578743a20726573706f6e7365546578747d7d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b2022726573706f6e73652e6f6e28276572726f72272c2066756e6374696f6e286572726f7229207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206572726f727d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b20227d292e6f6e28276572726f72272c2066756e6374696f6e286572726f7229207b220a20202020202020202b202266732e777269746546696c6553796e63282722202b20636f6e74656e7446696c65202b2022272c204a534f4e2e737472696e67696679287b6572723a206572726f727d292c20277574663827293b220a20202020202020202b202266732e756e6c696e6b53796e63282722202b2073796e6346696c65202b202227293b220a20202020202020202b20227d293b220a20202020202020202b202864617461203f20227265712e7772697465282722202b204a534f4e2e737472696e676966792864617461292e736c69636528312c2d31292e7265706c616365282f272f672c20225c5c272229202b202227293b223a2222290a20202020202020202b20227265712e656e6428293b223b0a2020202020202f2f20537461727420746865206f74686572204e6f64652050726f636573732c20657865637574696e67207468697320737472696e670a2020202020207661722073796e6350726f63203d20737061776e2870726f636573732e617267765b305d2c205b222d65222c2065786563537472696e675d293b0a2020202020207768696c652866732e65786973747353796e632873796e6346696c652929207b0a20202020202020202f2f2057616974207768696c65207468652073796e632066696c6520697320656d7074790a2020202020207d0a2020202020207661722072657370203d204a534f4e2e70617273652866732e7265616446696c6553796e6328636f6e74656e7446696c652c2027757466382729293b0a2020202020202f2f204b696c6c20746865206368696c642070726f63657373206f6e6365207468652066696c652068617320646174610a20202020202073796e6350726f632e737464696e2e656e6428293b0a2020202020202f2f2052656d6f7665207468652074656d706f726172792066696c650a20202020202066732e756e6c696e6b53796e6328636f6e74656e7446696c65293b0a0a20202020202069662028726573702e65727229207b0a202020202020202073656c662e68616e646c654572726f7228726573702e657272293b0a2020202020207d20656c7365207b0a2020202020202020726573706f6e7365203d20726573702e646174613b0a202020202020202073656c662e737461747573203d20726573702e646174612e737461747573436f64653b0a202020202020202073656c662e726573706f6e736554657874203d20726573702e646174612e746578743b0a202020202020202073657453746174652873656c662e444f4e45293b0a2020202020207d0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a2043616c6c6564207768656e20616e206572726f7220697320656e636f756e746572656420746f206465616c20776974682069742e0a2020202a2f0a2020746869732e68616e646c654572726f72203d2066756e6374696f6e286572726f7229207b0a20202020746869732e737461747573203d20303b0a20202020746869732e73746174757354657874203d206572726f723b0a20202020746869732e726573706f6e736554657874203d206572726f722e737461636b3b0a202020206572726f72466c6167203d20747275653b0a20202020736574537461746528746869732e444f4e45293b0a20202020746869732e64697370617463684576656e7428276572726f7227293b0a20207d3b0a0a20202f2a2a0a2020202a2041626f727473206120726571756573742e0a2020202a2f0a2020746869732e61626f7274203d2066756e6374696f6e2829207b0a20202020696620287265717565737429207b0a202020202020726571756573742e61626f727428293b0a20202020202072657175657374203d206e756c6c3b0a202020207d0a0a2020202068656164657273203d2064656661756c74486561646572733b0a20202020746869732e737461747573203d20303b0a20202020746869732e726573706f6e736554657874203d2022223b0a20202020746869732e726573706f6e7365584d4c203d2022223b0a0a202020206572726f72466c6167203d20747275653b0a0a2020202069662028746869732e7265616479537461746520213d3d20746869732e554e53454e540a202020202020202026262028746869732e7265616479537461746520213d3d20746869732e4f50454e4544207c7c2073656e64466c6167290a2020202020202020262620746869732e7265616479537461746520213d3d20746869732e444f4e4529207b0a20202020202073656e64466c6167203d2066616c73653b0a202020202020736574537461746528746869732e444f4e45293b0a202020207d0a20202020746869732e72656164795374617465203d20746869732e554e53454e543b0a20202020746869732e64697370617463684576656e74282761626f727427293b0a20207d3b0a0a20202f2a2a0a2020202a204164647320616e206576656e74206c697374656e65722e20507265666572726564206d6574686f64206f662062696e64696e6720746f206576656e74732e0a2020202a2f0a2020746869732e6164644576656e744c697374656e6572203d2066756e6374696f6e286576656e742c2063616c6c6261636b29207b0a202020206966202821286576656e7420696e206c697374656e6572732929207b0a2020202020206c697374656e6572735b6576656e745d203d205b5d3b0a202020207d0a202020202f2f2043757272656e746c7920616c6c6f7773206475706c69636174652063616c6c6261636b732e2053686f756c642069743f0a202020206c697374656e6572735b6576656e745d2e707573682863616c6c6261636b293b0a20207d3b0a0a20202f2a2a0a2020202a2052656d6f766520616e206576656e742063616c6c6261636b20746861742068617320616c7265616479206265656e20626f756e642e0a2020202a204f6e6c7920776f726b73206f6e20746865206d61746368696e672066756e6369746f6e2c2063616e6e6f74206265206120636f70792e0a2020202a2f0a2020746869732e72656d6f76654576656e744c697374656e6572203d2066756e6374696f6e286576656e742c2063616c6c6261636b29207b0a20202020696620286576656e7420696e206c697374656e65727329207b0a2020202020202f2f2046696c7465722077696c6c2072657475726e2061206e65772061727261792077697468207468652063616c6c6261636b2072656d6f7665640a2020202020206c697374656e6572735b6576656e745d203d206c697374656e6572735b6576656e745d2e66696c7465722866756e6374696f6e28657629207b0a202020202020202072657475726e20657620213d3d2063616c6c6261636b3b0a2020202020207d293b0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a20446973706174636820616e79206576656e74732c20696e636c7564696e6720626f746820226f6e22206d6574686f647320616e64206576656e7473206174746163686564207573696e67206164644576656e744c697374656e65722e0a2020202a2f0a2020746869732e64697370617463684576656e74203d2066756e6374696f6e286576656e7429207b0a2020202069662028747970656f662073656c665b226f6e22202b206576656e745d203d3d3d202266756e6374696f6e2229207b0a20202020202073656c665b226f6e22202b206576656e745d28293b0a202020207d0a20202020696620286576656e7420696e206c697374656e65727329207b0a202020202020666f7220287661722069203d20302c206c656e203d206c697374656e6572735b6576656e745d2e6c656e6774683b2069203c206c656e3b20692b2b29207b0a20202020202020206c697374656e6572735b6576656e745d5b695d2e63616c6c2873656c66293b0a2020202020207d0a202020207d0a20207d3b0a0a20202f2a2a0a2020202a204368616e676573207265616479537461746520616e642063616c6c73206f6e726561647973746174656368616e67652e0a2020202a0a2020202a2040706172616d20696e74207374617465204e65772073746174650a2020202a2f0a2020766172207365745374617465203d2066756e6374696f6e28737461746529207b0a20202020696620287374617465203d3d2073656c662e4c4f4144494e47207c7c2073656c662e7265616479537461746520213d3d20737461746529207b0a20202020202073656c662e72656164795374617465203d2073746174653b0a0a2020202020206966202873657474696e67732e6173796e63207c7c2073656c662e72656164795374617465203c2073656c662e4f50454e4544207c7c2073656c662e72656164795374617465203d3d3d2073656c662e444f4e4529207b0a202020202020202073656c662e64697370617463684576656e742822726561647973746174656368616e676522293b0a2020202020207d0a0a2020202020206966202873656c662e72656164795374617465203d3d3d2073656c662e444f4e4520262620216572726f72466c616729207b0a202020202020202073656c662e64697370617463684576656e7428226c6f616422293b0a20202020202020202f2f2040544f444f20666967757265206f757420496e73706563746f72496e737472756d656e746174696f6e3a3a6469644c6f616458485228636f6f6b6965290a202020202020202073656c662e64697370617463684576656e7428226c6f6164656e6422293b0a2020202020207d0a202020207d0a20207d3b0a7d3b0a0a7d292e63616c6c28746869732c7265717569726528275f70726f6365737327292c72657175697265282262756666657222292e427566666572290a7d2c7b225f70726f63657373223a3132352c22627566666572223a33322c226368696c645f70726f63657373223a33302c226673223a33302c2268747470223a3133312c226874747073223a33342c2275726c223a33357d5d2c3134393a5b66756e6374696f6e28726571756972652c6d6f64756c652c6578706f727473297b0a6d6f64756c652e6578706f727473203d20657874656e640a0a766172206861734f776e50726f7065727479203d204f626a6563742e70726f746f747970652e6861734f776e50726f70657274793b0a0a66756e6374696f6e20657874656e642829207b0a2020202076617220746172676574203d207b7d0a0a20202020666f7220287661722069203d20303b2069203c20617267756d656e74732e6c656e6774683b20692b2b29207b0a202020202020202076617220736f75726365203d20617267756d656e74735b695d0a0a2020202020202020666f722028766172206b657920696e20736f7572636529207b0a202020202020202020202020696620286861734f776e50726f70657274792e63616c6c28736f757263652c206b65792929207b0a202020202020202020202020202020207461726765745b6b65795d203d20736f757263655b6b65795d0a2020202020202020202020207d0a20202020202020207d0a202020207d0a0a2020202072657475726e207461726765740a7d0a0a7d2c7b7d5d7d2c7b7d2c5b315d292831290a7d293b',0,0,'2018-08-28T20:50:22.023Z','2018-08-28T20:50:22.039Z','file','application/x-javascript','NaHqcOrMmd');
INSERT INTO notes VALUES('YULCKCrWJJZ6','Members','',0,0,'2018-08-28T20:50:22.174Z','2018-08-28T20:50:22.174Z','text','text/html','j06mJ+DdSI');
INSERT INTO notes VALUES('wHb2YBwhjxiD','King George VI.','',0,0,'2018-08-28T20:50:22.180Z','2018-08-28T20:50:22.180Z','text','text/html','05ZGftq366');
INSERT INTO notes VALUES('cUYFEvsdY6N6','Queen Elizabeth','',0,0,'2018-08-28T20:50:22.185Z','2018-08-28T20:50:22.185Z','text','text/html','OSYGkfGRQj');
INSERT INTO notes VALUES('8APXN4n4Hnb8','Prince Phillip','',0,0,'2018-08-28T20:50:22.191Z','2018-08-28T20:50:22.191Z','text','text/html','NZaKcnIGv3');
INSERT INTO notes VALUES('baafKkgNGYLm','Prince Charles','',0,0,'2018-08-28T20:50:22.201Z','2018-08-28T20:50:22.201Z','text','text/html','uB3Pzx81AP');
INSERT INTO notes VALUES('Ab7WuV47mQOf','Princess Diana','',0,0,'2018-08-28T20:50:22.208Z','2018-08-28T20:50:22.208Z','text','text/html','GN/I0AU343');
INSERT INTO notes VALUES('w7t110kWsK8e','Prince William','',0,0,'2018-08-28T20:50:22.214Z','2018-08-28T20:50:22.214Z','text','text/html','U2C+eB7DMK');
INSERT INTO notes VALUES('at7bZyjJfIrM','Prince Harry','',0,0,'2018-08-28T20:50:22.218Z','2018-08-28T20:50:22.218Z','text','text/html','oVDOoJAVO+');
INSERT INTO notes VALUES('OZKicr536m7U','Catherine Middleton',replace('<p><strong>Catherine, Duchess of Cambridge</strong> (born <strong>Catherine Elizabeth Middleton</strong>;\n  9 January 1982<a href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-1">[1]</a>)\n  is a member of the <a href="https://en.wikipedia.org/wiki/British_royal_family">British royal family</a>.\n  Her husband, <a href="https://en.wikipedia.org/wiki/Prince_William,_Duke_of_Cambridge">Prince William, Duke of Cambridge</a>,\n  is expected to become king of the <a href="https://en.wikipedia.org/wiki/United_Kingdom">United Kingdom</a> and\n  15 other <a href="https://en.wikipedia.org/wiki/Commonwealth_realm">Commonwealth realms</a>,\n  making Catherine a likely future <a href="https://en.wikipedia.org/wiki/Queen_consort">queen consort</a>.\n  <a\n  href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-2">[2]</a>\n</p>\n<p>Catherine grew up in <a href="https://en.wikipedia.org/wiki/Chapel_Row">Chapel Row</a>,\n  a village near <a href="https://en.wikipedia.org/wiki/Newbury,_Berkshire">Newbury, Berkshire</a>,\n  England.<a href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-3">[3]</a> She\n  studied <a href="https://en.wikipedia.org/wiki/History_of_art">art history</a> in\n  Scotland at the <a href="https://en.wikipedia.org/wiki/University_of_St_Andrews">University of St Andrews</a>,\n  where she met William in 2001. Their engagement was announced in November\n  2010. <a href="https://en.wikipedia.org/wiki/Wedding_of_Prince_William_and_Catherine_Middleton">They married</a> on\n  29 April 2011 at <a href="https://en.wikipedia.org/wiki/Westminster_Abbey">Westminster Abbey</a>.\n  The Duke and Duchess''s children, <a href="https://en.wikipedia.org/wiki/Prince_George_of_Cambridge">Prince George</a>,\n  <a\n  href="https://en.wikipedia.org/wiki/Princess_Charlotte_of_Cambridge">Princess Charlotte</a>, and <a href="https://en.wikipedia.org/wiki/Prince_Louis_of_Cambridge">Prince Louis of Cambridge</a>,\n    are third, fourth, and fifth in the line of succession to the British throne.\n    <a\n    href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-Saul-4">[4]</a><a href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-BBC22July-5">[5]</a>\n      <a\n      href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-BBC2May-6">[6]</a><a href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-7">[7]</a>\n        <a\n        href="https://en.wikipedia.org/wiki/Catherine,_Duchess_of_Cambridge#cite_note-3royalbaby-8">[8]</a>\n</p>','\n',char(10)),0,0,'2018-08-28T20:50:22.224Z','2018-08-28T20:50:22.224Z','text','text/html','fteE6FaAIm');
INSERT INTO notes VALUES('oato1D7kuNU2','Prince George','',0,0,'2018-08-28T20:50:22.230Z','2018-08-28T20:50:22.230Z','text','text/html','tWjA2mGn4f');
INSERT INTO notes VALUES('C1I7GPA8ORO4','Princess Charlotte','',0,0,'2018-08-28T20:50:22.235Z','2018-08-28T20:50:22.235Z','text','text/html','Cs0Agwx2FB');
INSERT INTO notes VALUES('gQNQaMBzRYdb','Prince Louis','',0,0,'2018-08-28T20:50:22.240Z','2018-08-28T20:50:22.240Z','text','text/html','87qHgMt8/5');
INSERT INTO notes VALUES('HgaAwBX5zVcP','chartjs',X'2f2a210a202a2043686172742e6a730a202a20687474703a2f2f63686172746a732e6f72672f0a202a2056657273696f6e3a20322e372e320a202a0a202a20436f7079726967687420323031382043686172742e6a7320436f6e7472696275746f72730a202a2052656c656173656420756e64657220746865204d4954206c6963656e73650a202a2068747470733a2f2f6769746875622e636f6d2f63686172746a732f43686172742e6a732f626c6f622f6d61737465722f4c4943454e53452e6d640a202a2f0a2166756e6374696f6e2874297b696628226f626a656374223d3d747970656f66206578706f727473262622756e646566696e656422213d747970656f66206d6f64756c65296d6f64756c652e6578706f7274733d7428293b656c7365206966282266756e6374696f6e223d3d747970656f6620646566696e652626646566696e652e616d6429646566696e65285b5d2c74293b656c73657b2822756e646566696e656422213d747970656f662077696e646f773f77696e646f773a22756e646566696e656422213d747970656f6620676c6f62616c3f676c6f62616c3a22756e646566696e656422213d747970656f662073656c663f73656c663a74686973292e43686172743d7428297d7d2866756e6374696f6e28297b72657475726e2066756e6374696f6e207428652c692c6e297b66756e6374696f6e2061286f2c73297b69662821695b6f5d297b69662821655b6f5d297b766172206c3d2266756e6374696f6e223d3d747970656f6620726571756972652626726571756972653b696628217326266c2972657475726e206c286f2c2130293b696628722972657475726e2072286f2c2130293b76617220753d6e6577204572726f72282243616e6e6f742066696e64206d6f64756c652027222b6f2b222722293b7468726f7720752e636f64653d224d4f44554c455f4e4f545f464f554e44222c757d76617220643d695b6f5d3d7b6578706f7274733a7b7d7d3b655b6f5d5b305d2e63616c6c28642e6578706f7274732c66756e6374696f6e2874297b76617220693d655b6f5d5b315d5b745d3b72657475726e206128697c7c74297d2c642c642e6578706f7274732c742c652c692c6e297d72657475726e20695b6f5d2e6578706f7274737d666f722876617220723d2266756e6374696f6e223d3d747970656f6620726571756972652626726571756972652c6f3d303b6f3c6e2e6c656e6774683b6f2b2b2961286e5b6f5d293b72657475726e20617d287b313a5b66756e6374696f6e28742c652c69297b766172206e3d742835293b66756e6374696f6e20612874297b69662874297b76617220653d5b302c302c305d2c693d312c613d742e6d61746368282f5e23285b612d66412d46302d395d7b337d29242f69293b69662861297b613d615b315d3b666f722876617220723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428615b725d2b615b725d2c3136297d656c736520696628613d742e6d61746368282f5e23285b612d66412d46302d395d7b367d29242f6929297b613d615b315d3b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428612e736c69636528322a722c322a722b32292c3136297d656c736520696628613d742e6d61746368282f5e726762613f5c285c732a285b2b2d5d3f5c642b295c732a2c5c732a285b2b2d5d3f5c642b295c732a2c5c732a285b2b2d5d3f5c642b295c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c29242f6929297b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d7061727365496e7428615b722b315d293b693d7061727365466c6f617428615b345d297d656c736520696628613d742e6d61746368282f5e726762613f5c285c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c29242f6929297b666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d4d6174682e726f756e6428322e35352a7061727365466c6f617428615b722b315d29293b693d7061727365466c6f617428615b345d297d656c736520696628613d742e6d61746368282f285c772b292f29297b696628227472616e73706172656e74223d3d615b315d2972657475726e5b302c302c302c305d3b6966282128653d6e5b615b315d5d292972657475726e7d666f7228723d303b723c652e6c656e6774683b722b2b29655b725d3d6428655b725d2c302c323535293b72657475726e20693d697c7c303d3d693f6428692c302c31293a312c655b335d3d692c657d7d66756e6374696f6e20722874297b69662874297b76617220653d742e6d61746368282f5e68736c613f5c285c732a285b2b2d5d3f5c642b29283f3a646567293f5c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c292f293b69662865297b76617220693d7061727365466c6f617428655b345d293b72657475726e5b64287061727365496e7428655b315d292c302c333630292c64287061727365466c6f617428655b325d292c302c313030292c64287061727365466c6f617428655b335d292c302c313030292c642869734e614e2869293f313a692c302c31295d7d7d7d66756e6374696f6e206f2874297b69662874297b76617220653d742e6d61746368282f5e6877625c285c732a285b2b2d5d3f5c642b29283f3a646567293f5c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a2c5c732a285b2b2d5d3f5b5c645c2e5d2b29255c732a283f3a2c5c732a285b2b2d5d3f5b5c645c2e5d2b295c732a293f5c292f293b69662865297b76617220693d7061727365466c6f617428655b345d293b72657475726e5b64287061727365496e7428655b315d292c302c333630292c64287061727365466c6f617428655b325d292c302c313030292c64287061727365466c6f617428655b335d292c302c313030292c642869734e614e2869293f313a692c302c31295d7d7d7d66756e6374696f6e207328742c65297b72657475726e20766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31292c227267626128222b745b305d2b222c20222b745b315d2b222c20222b745b325d2b222c20222b652b2229227d66756e6374696f6e206c28742c65297b72657475726e227267626128222b4d6174682e726f756e6428745b305d2f3235352a313030292b22252c20222b4d6174682e726f756e6428745b315d2f3235352a313030292b22252c20222b4d6174682e726f756e6428745b325d2f3235352a313030292b22252c20222b28657c7c745b335d7c7c31292b2229227d66756e6374696f6e207528742c65297b72657475726e20766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31292c2268736c6128222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b22252c20222b652b2229227d66756e6374696f6e206428742c652c69297b72657475726e204d6174682e6d696e284d6174682e6d617828652c74292c69297d66756e6374696f6e20682874297b76617220653d742e746f537472696e67283136292e746f55707065724361736528293b72657475726e20652e6c656e6774683c323f2230222b653a657d652e6578706f7274733d7b676574526762613a612c67657448736c613a722c6765745267623a66756e6374696f6e2874297b76617220653d612874293b72657475726e20652626652e736c69636528302c33297d2c67657448736c3a66756e6374696f6e2874297b76617220653d722874293b72657475726e20652626652e736c69636528302c33297d2c6765744877623a6f2c676574416c7068613a66756e6374696f6e2874297b76617220653d612874293b7b696628652972657475726e20655b335d3b696628653d722874292972657475726e20655b335d3b696628653d6f2874292972657475726e20655b335d7d7d2c686578537472696e673a66756e6374696f6e2874297b72657475726e2223222b6828745b305d292b6828745b315d292b6828745b325d297d2c726762537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e207328742c65293b72657475726e2272676228222b745b305d2b222c20222b745b315d2b222c20222b745b325d2b2229227d2c72676261537472696e673a732c70657263656e74537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e206c28742c65293b76617220693d4d6174682e726f756e6428745b305d2f3235352a313030292c6e3d4d6174682e726f756e6428745b315d2f3235352a313030292c613d4d6174682e726f756e6428745b325d2f3235352a313030293b72657475726e2272676228222b692b22252c20222b6e2b22252c20222b612b222529227d2c70657263656e7461537472696e673a6c2c68736c537472696e673a66756e6374696f6e28742c65297b696628653c317c7c745b335d2626745b335d3c312972657475726e207528742c65293b72657475726e2268736c28222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b222529227d2c68736c61537472696e673a752c687762537472696e673a66756e6374696f6e28742c65297b766f696420303d3d3d65262628653d766f69642030213d3d745b335d3f745b335d3a31293b72657475726e2268776228222b745b305d2b222c20222b745b315d2b22252c20222b745b325d2b2225222b28766f69642030213d3d65262631213d3d653f222c20222b653a2222292b2229227d2c6b6579776f72643a66756e6374696f6e2874297b72657475726e20635b742e736c69636528302c33295d7d7d3b76617220633d7b7d3b666f7228766172206620696e206e29635b6e5b665d5d3d667d2c7b353a357d5d2c323a5b66756e6374696f6e28742c652c69297b766172206e3d742834292c613d742831292c723d66756e6374696f6e2874297b72657475726e207420696e7374616e63656f6620723f743a7468697320696e7374616e63656f6620723f28746869732e76616c69643d21312c746869732e76616c7565733d7b7267623a5b302c302c305d2c68736c3a5b302c302c305d2c6873763a5b302c302c305d2c6877623a5b302c302c305d2c636d796b3a5b302c302c302c305d2c616c7068613a317d2c766f69642822737472696e67223d3d747970656f6620743f28653d612e67657452676261287429293f746869732e73657456616c7565732822726762222c65293a28653d612e67657448736c61287429293f746869732e73657456616c756573282268736c222c65293a28653d612e676574487762287429292626746869732e73657456616c7565732822687762222c65293a226f626a656374223d3d747970656f662074262628766f69642030213d3d28653d74292e727c7c766f69642030213d3d652e7265643f746869732e73657456616c7565732822726762222c65293a766f69642030213d3d652e6c7c7c766f69642030213d3d652e6c696768746e6573733f746869732e73657456616c756573282268736c222c65293a766f69642030213d3d652e767c7c766f69642030213d3d652e76616c75653f746869732e73657456616c7565732822687376222c65293a766f69642030213d3d652e777c7c766f69642030213d3d652e77686974656e6573733f746869732e73657456616c7565732822687762222c65293a766f696420303d3d3d652e632626766f696420303d3d3d652e6379616e7c7c746869732e73657456616c7565732822636d796b222c65292929293a6e657720722874293b76617220657d3b722e70726f746f747970653d7b697356616c69643a66756e6374696f6e28297b72657475726e20746869732e76616c69647d2c7267623a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822726762222c617267756d656e7473297d2c68736c3a66756e6374696f6e28297b72657475726e20746869732e7365745370616365282268736c222c617267756d656e7473297d2c6873763a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822687376222c617267756d656e7473297d2c6877623a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822687762222c617267756d656e7473297d2c636d796b3a66756e6374696f6e28297b72657475726e20746869732e73657453706163652822636d796b222c617267756d656e7473297d2c72676241727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e7267627d2c68736c41727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e68736c7d2c68737641727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e6873767d2c68776241727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e2031213d3d742e616c7068613f742e6877622e636f6e636174285b742e616c7068615d293a742e6877627d2c636d796b41727261793a66756e6374696f6e28297b72657475726e20746869732e76616c7565732e636d796b7d2c7267626141727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e20742e7267622e636f6e636174285b742e616c7068615d297d2c68736c6141727261793a66756e6374696f6e28297b76617220743d746869732e76616c7565733b72657475726e20742e68736c2e636f6e636174285b742e616c7068615d297d2c616c7068613a66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f746869732e76616c7565732e616c7068613a28746869732e73657456616c7565732822616c706861222c74292c74686973297d2c7265643a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c302c74297d2c677265656e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c312c74297d2c626c75653a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822726762222c322c74297d2c6875653a66756e6374696f6e2874297b72657475726e2074262628743d2874253d333630293c303f3336302b743a74292c746869732e7365744368616e6e656c282268736c222c302c74297d2c73617475726174696f6e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c282268736c222c312c74297d2c6c696768746e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c282268736c222c322c74297d2c73617475726174696f6e763a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687376222c312c74297d2c77686974656e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687762222c312c74297d2c626c61636b6e6573733a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687762222c322c74297d2c76616c75653a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822687376222c322c74297d2c6379616e3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c302c74297d2c6d6167656e74613a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c312c74297d2c79656c6c6f773a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c322c74297d2c626c61636b3a66756e6374696f6e2874297b72657475726e20746869732e7365744368616e6e656c2822636d796b222c332c74297d2c686578537472696e673a66756e6374696f6e28297b72657475726e20612e686578537472696e6728746869732e76616c7565732e726762297d2c726762537472696e673a66756e6374696f6e28297b72657475726e20612e726762537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c72676261537472696e673a66756e6374696f6e28297b72657475726e20612e72676261537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c70657263656e74537472696e673a66756e6374696f6e28297b72657475726e20612e70657263656e74537472696e6728746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c68736c537472696e673a66756e6374696f6e28297b72657475726e20612e68736c537472696e6728746869732e76616c7565732e68736c2c746869732e76616c7565732e616c706861297d2c68736c61537472696e673a66756e6374696f6e28297b72657475726e20612e68736c61537472696e6728746869732e76616c7565732e68736c2c746869732e76616c7565732e616c706861297d2c687762537472696e673a66756e6374696f6e28297b72657475726e20612e687762537472696e6728746869732e76616c7565732e6877622c746869732e76616c7565732e616c706861297d2c6b6579776f72643a66756e6374696f6e28297b72657475726e20612e6b6579776f726428746869732e76616c7565732e7267622c746869732e76616c7565732e616c706861297d2c7267624e756d6265723a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267623b72657475726e20745b305d3c3c31367c745b315d3c3c387c745b325d7d2c6c756d696e6f736974793a66756e6374696f6e28297b666f722876617220743d746869732e76616c7565732e7267622c653d5b5d2c693d303b693c742e6c656e6774683b692b2b297b766172206e3d745b695d2f3235353b655b695d3d6e3c3d2e30333932383f6e2f31322e39323a4d6174682e706f7728286e2b2e303535292f312e3035352c322e34297d72657475726e2e323132362a655b305d2b2e373135322a655b315d2b2e303732322a655b325d7d2c636f6e74726173743a66756e6374696f6e2874297b76617220653d746869732e6c756d696e6f7369747928292c693d742e6c756d696e6f7369747928293b72657475726e20653e693f28652b2e3035292f28692b2e3035293a28692b2e3035292f28652b2e3035297d2c6c6576656c3a66756e6374696f6e2874297b76617220653d746869732e636f6e74726173742874293b72657475726e20653e3d372e313f22414141223a653e3d342e353f224141223a22227d2c6461726b3a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267623b72657475726e283239392a745b305d2b3538372a745b315d2b3131342a745b325d292f3165333c3132387d2c6c696768743a66756e6374696f6e28297b72657475726e21746869732e6461726b28297d2c6e65676174653a66756e6374696f6e28297b666f722876617220743d5b5d2c653d303b653c333b652b2b29745b655d3d3235352d746869732e76616c7565732e7267625b655d3b72657475726e20746869732e73657456616c7565732822726762222c74292c746869737d2c6c69676874656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b325d2b3d655b325d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c6461726b656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b325d2d3d655b325d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c73617475726174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b315d2b3d655b315d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c646573617475726174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c3b72657475726e20655b315d2d3d655b315d2a742c746869732e73657456616c756573282268736c222c65292c746869737d2c77686974656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e6877623b72657475726e20655b315d2b3d655b315d2a742c746869732e73657456616c7565732822687762222c65292c746869737d2c626c61636b656e3a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e6877623b72657475726e20655b325d2b3d655b325d2a742c746869732e73657456616c7565732822687762222c65292c746869737d2c677265797363616c653a66756e6374696f6e28297b76617220743d746869732e76616c7565732e7267622c653d2e332a745b305d2b2e35392a745b315d2b2e31312a745b325d3b72657475726e20746869732e73657456616c7565732822726762222c5b652c652c655d292c746869737d2c636c65617265723a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e616c7068613b72657475726e20746869732e73657456616c7565732822616c706861222c652d652a74292c746869737d2c6f7061717565723a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e616c7068613b72657475726e20746869732e73657456616c7565732822616c706861222c652b652a74292c746869737d2c726f746174653a66756e6374696f6e2874297b76617220653d746869732e76616c7565732e68736c2c693d28655b305d2b7429253336303b72657475726e20655b305d3d693c303f3336302b693a692c746869732e73657456616c756573282268736c222c65292c746869737d2c6d69783a66756e6374696f6e28742c65297b76617220693d746869732c6e3d742c613d766f696420303d3d3d653f2e353a652c723d322a612d312c6f3d692e616c70686128292d6e2e616c70686128292c733d2828722a6f3d3d2d313f723a28722b6f292f28312b722a6f29292b31292f322c6c3d312d733b72657475726e20746869732e72676228732a692e72656428292b6c2a6e2e72656428292c732a692e677265656e28292b6c2a6e2e677265656e28292c732a692e626c756528292b6c2a6e2e626c75652829292e616c70686128692e616c70686128292a612b6e2e616c70686128292a28312d6129297d2c746f4a534f4e3a66756e6374696f6e28297b72657475726e20746869732e72676228297d2c636c6f6e653a66756e6374696f6e28297b76617220742c652c693d6e657720722c6e3d746869732e76616c7565732c613d692e76616c7565733b666f7228766172206f20696e206e296e2e6861734f776e50726f7065727479286f29262628743d6e5b6f5d2c225b6f626a6563742041727261795d223d3d3d28653d7b7d2e746f537472696e672e63616c6c287429293f615b6f5d3d742e736c6963652830293a225b6f626a656374204e756d6265725d223d3d3d653f615b6f5d3d743a636f6e736f6c652e6572726f722822756e657870656374656420636f6c6f722076616c75653a222c7429293b72657475726e20697d7d2c722e70726f746f747970652e7370616365733d7b7267623a5b22726564222c22677265656e222c22626c7565225d2c68736c3a5b22687565222c2273617475726174696f6e222c226c696768746e657373225d2c6873763a5b22687565222c2273617475726174696f6e222c2276616c7565225d2c6877623a5b22687565222c2277686974656e657373222c22626c61636b6e657373225d2c636d796b3a5b226379616e222c226d6167656e7461222c2279656c6c6f77222c22626c61636b225d7d2c722e70726f746f747970652e6d617865733d7b7267623a5b3235352c3235352c3235355d2c68736c3a5b3336302c3130302c3130305d2c6873763a5b3336302c3130302c3130305d2c6877623a5b3336302c3130302c3130305d2c636d796b3a5b3130302c3130302c3130302c3130305d7d2c722e70726f746f747970652e67657456616c7565733d66756e6374696f6e2874297b666f722876617220653d746869732e76616c7565732c693d7b7d2c6e3d303b6e3c742e6c656e6774683b6e2b2b29695b742e636861724174286e295d3d655b745d5b6e5d3b72657475726e2031213d3d652e616c706861262628692e613d652e616c706861292c697d2c722e70726f746f747970652e73657456616c7565733d66756e6374696f6e28742c65297b76617220692c612c723d746869732e76616c7565732c6f3d746869732e7370616365732c733d746869732e6d617865732c6c3d313b696628746869732e76616c69643d21302c22616c706861223d3d3d74296c3d653b656c736520696628652e6c656e67746829725b745d3d652e736c69636528302c742e6c656e677468292c6c3d655b742e6c656e6774685d3b656c736520696628766f69642030213d3d655b742e6368617241742830295d297b666f7228693d303b693c742e6c656e6774683b692b2b29725b745d5b695d3d655b742e6368617241742869295d3b6c3d652e617d656c736520696628766f69642030213d3d655b6f5b745d5b305d5d297b76617220753d6f5b745d3b666f7228693d303b693c742e6c656e6774683b692b2b29725b745d5b695d3d655b755b695d5d3b6c3d652e616c7068617d696628722e616c7068613d4d6174682e6d617828302c4d6174682e6d696e28312c766f696420303d3d3d6c3f722e616c7068613a6c29292c22616c706861223d3d3d742972657475726e21313b666f7228693d303b693c742e6c656e6774683b692b2b29613d4d6174682e6d617828302c4d6174682e6d696e28735b745d5b695d2c725b745d5b695d29292c725b745d5b695d3d4d6174682e726f756e642861293b666f7228766172206420696e206f2964213d3d74262628725b645d3d6e5b745d5b645d28725b745d29293b72657475726e21307d2c722e70726f746f747970652e73657453706163653d66756e6374696f6e28742c65297b76617220693d655b305d3b72657475726e20766f696420303d3d3d693f746869732e67657456616c7565732874293a28226e756d626572223d3d747970656f662069262628693d41727261792e70726f746f747970652e736c6963652e63616c6c286529292c746869732e73657456616c75657328742c69292c74686973297d2c722e70726f746f747970652e7365744368616e6e656c3d66756e6374696f6e28742c652c69297b766172206e3d746869732e76616c7565735b745d3b72657475726e20766f696420303d3d3d693f6e5b655d3a693d3d3d6e5b655d3f746869733a286e5b655d3d692c746869732e73657456616c75657328742c6e292c74686973297d2c22756e646566696e656422213d747970656f662077696e646f7726262877696e646f772e436f6c6f723d72292c652e6578706f7274733d727d2c7b313a312c343a347d5d2c333a5b66756e6374696f6e28742c652c69297b66756e6374696f6e206e2874297b76617220652c692c6e3d745b305d2f3235352c613d745b315d2f3235352c723d745b325d2f3235352c6f3d4d6174682e6d696e286e2c612c72292c733d4d6174682e6d6178286e2c612c72292c6c3d732d6f3b72657475726e20733d3d6f3f653d303a6e3d3d733f653d28612d72292f6c3a613d3d733f653d322b28722d6e292f6c3a723d3d73262628653d342b286e2d61292f6c292c28653d4d6174682e6d696e2836302a652c33363029293c30262628652b3d333630292c693d286f2b73292f322c5b652c3130302a28733d3d6f3f303a693c3d2e353f6c2f28732b6f293a6c2f28322d732d6f29292c3130302a695d7d66756e6374696f6e20612874297b76617220652c692c6e3d745b305d2c613d745b315d2c723d745b325d2c6f3d4d6174682e6d696e286e2c612c72292c733d4d6174682e6d6178286e2c612c72292c6c3d732d6f3b72657475726e20693d303d3d733f303a6c2f732a3165332f31302c733d3d6f3f653d303a6e3d3d733f653d28612d72292f6c3a613d3d733f653d322b28722d6e292f6c3a723d3d73262628653d342b286e2d61292f6c292c28653d4d6174682e6d696e2836302a652c33363029293c30262628652b3d333630292c5b652c692c732f3235352a3165332f31305d7d66756e6374696f6e206f2874297b76617220653d745b305d2c693d745b315d2c613d745b325d3b72657475726e5b6e2874295b305d2c3130302a28312f3235352a4d6174682e6d696e28652c4d6174682e6d696e28692c612929292c3130302a28613d312d312f3235352a4d6174682e6d617828652c4d6174682e6d617828692c612929295d7d66756e6374696f6e20732874297b76617220652c693d745b305d2f3235352c6e3d745b315d2f3235352c613d745b325d2f3235353b72657475726e5b3130302a2828312d692d28653d4d6174682e6d696e28312d692c312d6e2c312d612929292f28312d65297c7c30292c3130302a2828312d6e2d65292f28312d65297c7c30292c3130302a2828312d612d65292f28312d65297c7c30292c3130302a655d7d66756e6374696f6e206c2874297b72657475726e20535b4a534f4e2e737472696e676966792874295d7d66756e6374696f6e20752874297b76617220653d745b305d2f3235352c693d745b315d2f3235352c6e3d745b325d2f3235353b72657475726e5b3130302a282e343132342a28653d653e2e30343034353f4d6174682e706f772828652b2e303535292f312e3035352c322e34293a652f31322e3932292b2e333537362a28693d693e2e30343034353f4d6174682e706f772828692b2e303535292f312e3035352c322e34293a692f31322e3932292b2e313830352a286e3d6e3e2e30343034353f4d6174682e706f7728286e2b2e303535292f312e3035352c322e34293a6e2f31322e393229292c3130302a282e323132362a652b2e373135322a692b2e303732322a6e292c3130302a282e303139332a652b2e313139322a692b2e393530352a6e295d7d66756e6374696f6e20642874297b76617220653d752874292c693d655b305d2c6e3d655b315d2c613d655b325d3b72657475726e206e2f3d3130302c612f3d3130382e3838332c693d28692f3d39352e303437293e2e3030383835363f4d6174682e706f7728692c312f33293a372e3738372a692b31362f3131362c5b3131362a286e3d6e3e2e3030383835363f4d6174682e706f77286e2c312f33293a372e3738372a6e2b31362f313136292d31362c3530302a28692d6e292c3230302a286e2d28613d613e2e3030383835363f4d6174682e706f7728612c312f33293a372e3738372a612b31362f31313629295d7d66756e6374696f6e20682874297b76617220652c692c6e2c612c722c6f3d745b305d2f3336302c733d745b315d2f3130302c6c3d745b325d2f3130303b696628303d3d732972657475726e5b723d3235352a6c2c722c725d3b653d322a6c2d28693d6c3c2e353f6c2a28312b73293a6c2b732d6c2a73292c613d5b302c302c305d3b666f722876617220753d303b753c333b752b2b29286e3d6f2b312f332a2d28752d3129293c3026266e2b2b2c6e3e3126266e2d2d2c723d362a6e3c313f652b362a28692d65292a6e3a322a6e3c313f693a332a6e3c323f652b28692d65292a28322f332d6e292a363a652c615b755d3d3235352a723b72657475726e20617d66756e6374696f6e20632874297b76617220653d745b305d2f36302c693d745b315d2f3130302c6e3d745b325d2f3130302c613d4d6174682e666c6f6f7228652925362c723d652d4d6174682e666c6f6f722865292c6f3d3235352a6e2a28312d69292c733d3235352a6e2a28312d692a72292c6c3d3235352a6e2a28312d692a28312d7229293b6e2a3d3235353b7377697463682861297b6361736520303a72657475726e5b6e2c6c2c6f5d3b6361736520313a72657475726e5b732c6e2c6f5d3b6361736520323a72657475726e5b6f2c6e2c6c5d3b6361736520333a72657475726e5b6f2c732c6e5d3b6361736520343a72657475726e5b6c2c6f2c6e5d3b6361736520353a72657475726e5b6e2c6f2c735d7d7d66756e6374696f6e20662874297b76617220652c692c6e2c612c6f3d745b305d2f3336302c733d745b315d2f3130302c6c3d745b325d2f3130302c753d732b6c3b73776974636828753e31262628732f3d752c6c2f3d75292c6e3d362a6f2d28653d4d6174682e666c6f6f7228362a6f29292c30213d28312665292626286e3d312d6e292c613d732b6e2a2828693d312d6c292d73292c65297b64656661756c743a6361736520363a6361736520303a723d692c673d612c623d733b627265616b3b6361736520313a723d612c673d692c623d733b627265616b3b6361736520323a723d732c673d692c623d613b627265616b3b6361736520333a723d732c673d612c623d693b627265616b3b6361736520343a723d612c673d732c623d693b627265616b3b6361736520353a723d692c673d732c623d617d72657475726e5b3235352a722c3235352a672c3235352a625d7d66756e6374696f6e206d2874297b76617220653d745b305d2f3130302c693d745b315d2f3130302c6e3d745b325d2f3130302c613d745b335d2f3130303b72657475726e5b3235352a28312d4d6174682e6d696e28312c652a28312d61292b6129292c3235352a28312d4d6174682e6d696e28312c692a28312d61292b6129292c3235352a28312d4d6174682e6d696e28312c6e2a28312d61292b6129295d7d66756e6374696f6e20702874297b76617220652c692c6e2c613d745b305d2f3130302c723d745b315d2f3130302c6f3d745b325d2f3130303b72657475726e20693d2d2e393638392a612b312e383735382a722b2e303431352a6f2c6e3d2e303535372a612b2d2e3230342a722b312e3035372a6f2c653d28653d332e323430362a612b2d312e353337322a722b2d2e343938362a6f293e2e303033313330383f312e3035352a4d6174682e706f7728652c312f322e34292d2e3035353a652a3d31322e39322c693d693e2e303033313330383f312e3035352a4d6174682e706f7728692c312f322e34292d2e3035353a692a3d31322e39322c6e3d6e3e2e303033313330383f312e3035352a4d6174682e706f77286e2c312f322e34292d2e3035353a6e2a3d31322e39322c5b3235352a28653d4d6174682e6d696e284d6174682e6d617828302c65292c3129292c3235352a28693d4d6174682e6d696e284d6174682e6d617828302c69292c3129292c3235352a286e3d4d6174682e6d696e284d6174682e6d617828302c6e292c3129295d7d66756e6374696f6e20762874297b76617220653d745b305d2c693d745b315d2c6e3d745b325d3b72657475726e20692f3d3130302c6e2f3d3130382e3838332c653d28652f3d39352e303437293e2e3030383835363f4d6174682e706f7728652c312f33293a372e3738372a652b31362f3131362c5b3131362a28693d693e2e3030383835363f4d6174682e706f7728692c312f33293a372e3738372a692b31362f313136292d31362c3530302a28652d69292c3230302a28692d286e3d6e3e2e3030383835363f4d6174682e706f77286e2c312f33293a372e3738372a6e2b31362f31313629295d7d66756e6374696f6e20792874297b76617220652c692c6e2c612c723d745b305d2c6f3d745b315d2c733d745b325d3b72657475726e20723c3d383f613d28693d3130302a722f3930332e33292f3130302a372e3738372b31362f3131363a28693d3130302a4d6174682e706f772828722b3136292f3131362c33292c613d4d6174682e706f7728692f3130302c312f3329292c5b653d652f39352e3034373c3d2e3030383835363f653d39352e3034372a286f2f3530302b612d31362f313136292f372e3738373a39352e3034372a4d6174682e706f77286f2f3530302b612c33292c692c6e3d6e2f3130382e3838333c3d2e3030383835393f6e3d3130382e3838332a28612d732f3230302d31362f313136292f372e3738373a3130382e3838332a4d6174682e706f7728612d732f3230302c33295d7d66756e6374696f6e20782874297b76617220652c693d745b305d2c6e3d745b315d2c613d745b325d3b72657475726e28653d3336302a4d6174682e6174616e3228612c6e292f322f4d6174682e5049293c30262628652b3d333630292c5b692c4d6174682e73717274286e2a6e2b612a61292c655d7d66756e6374696f6e205f2874297b72657475726e20702879287429297d66756e6374696f6e206b2874297b76617220652c693d745b305d2c6e3d745b315d3b72657475726e20653d745b325d2f3336302a322a4d6174682e50492c5b692c6e2a4d6174682e636f732865292c6e2a4d6174682e73696e2865295d7d66756e6374696f6e20772874297b72657475726e204d5b745d7d652e6578706f7274733d7b7267623268736c3a6e2c726762326873763a612c726762326877623a6f2c72676232636d796b3a732c726762326b6579776f72643a6c2c7267623278797a3a752c726762326c61623a642c726762326c63683a66756e6374696f6e2874297b72657475726e20782864287429297d2c68736c327267623a682c68736c326873763a66756e6374696f6e2874297b76617220653d745b305d2c693d745b315d2f3130302c6e3d745b325d2f3130303b696628303d3d3d6e2972657475726e5b302c302c305d3b72657475726e5b652c3130302a28322a28692a3d286e2a3d32293c3d313f6e3a322d6e292f286e2b6929292c3130302a28286e2b69292f32295d7d2c68736c326877623a66756e6374696f6e2874297b72657475726e206f2868287429297d2c68736c32636d796b3a66756e6374696f6e2874297b72657475726e20732868287429297d2c68736c326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2868287429297d2c687376327267623a632c6873763268736c3a66756e6374696f6e2874297b76617220652c692c6e3d745b305d2c613d745b315d2f3130302c723d745b325d2f3130303b72657475726e20653d612a722c5b6e2c3130302a28653d28652f3d28693d28322d61292a72293c3d313f693a322d69297c7c30292c3130302a28692f3d32295d7d2c687376326877623a66756e6374696f6e2874297b72657475726e206f2863287429297d2c68737632636d796b3a66756e6374696f6e2874297b72657475726e20732863287429297d2c687376326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2863287429297d2c687762327267623a662c6877623268736c3a66756e6374696f6e2874297b72657475726e206e2866287429297d2c687762326873763a66756e6374696f6e2874297b72657475726e20612866287429297d2c68776232636d796b3a66756e6374696f6e2874297b72657475726e20732866287429297d2c687762326b6579776f72643a66756e6374696f6e2874297b72657475726e206c2866287429297d2c636d796b327267623a6d2c636d796b3268736c3a66756e6374696f6e2874297b72657475726e206e286d287429297d2c636d796b326873763a66756e6374696f6e2874297b72657475726e2061286d287429297d2c636d796b326877623a66756e6374696f6e2874297b72657475726e206f286d287429297d2c636d796b326b6579776f72643a66756e6374696f6e2874297b72657475726e206c286d287429297d2c6b6579776f7264327267623a772c6b6579776f72643268736c3a66756e6374696f6e2874297b72657475726e206e2877287429297d2c6b6579776f7264326873763a66756e6374696f6e2874297b72657475726e20612877287429297d2c6b6579776f7264326877623a66756e6374696f6e2874297b72657475726e206f2877287429297d2c6b6579776f726432636d796b3a66756e6374696f6e2874297b72657475726e20732877287429297d2c6b6579776f7264326c61623a66756e6374696f6e2874297b72657475726e20642877287429297d2c6b6579776f72643278797a3a66756e6374696f6e2874297b72657475726e20752877287429297d2c78797a327267623a702c78797a326c61623a762c78797a326c63683a66756e6374696f6e2874297b72657475726e20782876287429297d2c6c61623278797a3a792c6c6162327267623a5f2c6c6162326c63683a782c6c6368326c61623a6b2c6c63683278797a3a66756e6374696f6e2874297b72657475726e2079286b287429297d2c6c6368327267623a66756e6374696f6e2874297b72657475726e205f286b287429297d7d3b766172204d3d7b616c696365626c75653a5b3234302c3234382c3235355d2c616e746971756577686974653a5b3235302c3233352c3231355d2c617175613a5b302c3235352c3235355d2c617175616d6172696e653a5b3132372c3235352c3231325d2c617a7572653a5b3234302c3235352c3235355d2c62656967653a5b3234352c3234352c3232305d2c6269737175653a5b3235352c3232382c3139365d2c626c61636b3a5b302c302c305d2c626c616e63686564616c6d6f6e643a5b3235352c3233352c3230355d2c626c75653a5b302c302c3235355d2c626c756576696f6c65743a5b3133382c34332c3232365d2c62726f776e3a5b3136352c34322c34325d2c6275726c79776f6f643a5b3232322c3138342c3133355d2c6361646574626c75653a5b39352c3135382c3136305d2c636861727472657573653a5b3132372c3235352c305d2c63686f636f6c6174653a5b3231302c3130352c33305d2c636f72616c3a5b3235352c3132372c38305d2c636f726e666c6f776572626c75653a5b3130302c3134392c3233375d2c636f726e73696c6b3a5b3235352c3234382c3232305d2c6372696d736f6e3a5b3232302c32302c36305d2c6379616e3a5b302c3235352c3235355d2c6461726b626c75653a5b302c302c3133395d2c6461726b6379616e3a5b302c3133392c3133395d2c6461726b676f6c64656e726f643a5b3138342c3133342c31315d2c6461726b677261793a5b3136392c3136392c3136395d2c6461726b677265656e3a5b302c3130302c305d2c6461726b677265793a5b3136392c3136392c3136395d2c6461726b6b68616b693a5b3138392c3138332c3130375d2c6461726b6d6167656e74613a5b3133392c302c3133395d2c6461726b6f6c697665677265656e3a5b38352c3130372c34375d2c6461726b6f72616e67653a5b3235352c3134302c305d2c6461726b6f72636869643a5b3135332c35302c3230345d2c6461726b7265643a5b3133392c302c305d2c6461726b73616c6d6f6e3a5b3233332c3135302c3132325d2c6461726b736561677265656e3a5b3134332c3138382c3134335d2c6461726b736c617465626c75653a5b37322c36312c3133395d2c6461726b736c617465677261793a5b34372c37392c37395d2c6461726b736c617465677265793a5b34372c37392c37395d2c6461726b74757271756f6973653a5b302c3230362c3230395d2c6461726b76696f6c65743a5b3134382c302c3231315d2c6465657070696e6b3a5b3235352c32302c3134375d2c64656570736b79626c75653a5b302c3139312c3235355d2c64696d677261793a5b3130352c3130352c3130355d2c64696d677265793a5b3130352c3130352c3130355d2c646f64676572626c75653a5b33302c3134342c3235355d2c66697265627269636b3a5b3137382c33342c33345d2c666c6f72616c77686974653a5b3235352c3235302c3234305d2c666f72657374677265656e3a5b33342c3133392c33345d2c667563687369613a5b3235352c302c3235355d2c6761696e73626f726f3a5b3232302c3232302c3232305d2c67686f737477686974653a5b3234382c3234382c3235355d2c676f6c643a5b3235352c3231352c305d2c676f6c64656e726f643a5b3231382c3136352c33325d2c677261793a5b3132382c3132382c3132385d2c677265656e3a5b302c3132382c305d2c677265656e79656c6c6f773a5b3137332c3235352c34375d2c677265793a5b3132382c3132382c3132385d2c686f6e65796465773a5b3234302c3235352c3234305d2c686f7470696e6b3a5b3235352c3130352c3138305d2c696e6469616e7265643a5b3230352c39322c39325d2c696e6469676f3a5b37352c302c3133305d2c69766f72793a5b3235352c3235352c3234305d2c6b68616b693a5b3234302c3233302c3134305d2c6c6176656e6465723a5b3233302c3233302c3235305d2c6c6176656e646572626c7573683a5b3235352c3234302c3234355d2c6c61776e677265656e3a5b3132342c3235322c305d2c6c656d6f6e63686966666f6e3a5b3235352c3235302c3230355d2c6c69676874626c75653a5b3137332c3231362c3233305d2c6c69676874636f72616c3a5b3234302c3132382c3132385d2c6c696768746379616e3a5b3232342c3235352c3235355d2c6c69676874676f6c64656e726f6479656c6c6f773a5b3235302c3235302c3231305d2c6c69676874677261793a5b3231312c3231312c3231315d2c6c69676874677265656e3a5b3134342c3233382c3134345d2c6c69676874677265793a5b3231312c3231312c3231315d2c6c6967687470696e6b3a5b3235352c3138322c3139335d2c6c6967687473616c6d6f6e3a5b3235352c3136302c3132325d2c6c69676874736561677265656e3a5b33322c3137382c3137305d2c6c69676874736b79626c75653a5b3133352c3230362c3235305d2c6c69676874736c617465677261793a5b3131392c3133362c3135335d2c6c69676874736c617465677265793a5b3131392c3133362c3135335d2c6c69676874737465656c626c75653a5b3137362c3139362c3232325d2c6c6967687479656c6c6f773a5b3235352c3235352c3232345d2c6c696d653a5b302c3235352c305d2c6c696d65677265656e3a5b35302c3230352c35305d2c6c696e656e3a5b3235302c3234302c3233305d2c6d6167656e74613a5b3235352c302c3235355d2c6d61726f6f6e3a5b3132382c302c305d2c6d656469756d617175616d6172696e653a5b3130322c3230352c3137305d2c6d656469756d626c75653a5b302c302c3230355d2c6d656469756d6f72636869643a5b3138362c38352c3231315d2c6d656469756d707572706c653a5b3134372c3131322c3231395d2c6d656469756d736561677265656e3a5b36302c3137392c3131335d2c6d656469756d736c617465626c75653a5b3132332c3130342c3233385d2c6d656469756d737072696e67677265656e3a5b302c3235302c3135345d2c6d656469756d74757271756f6973653a5b37322c3230392c3230345d2c6d656469756d76696f6c65747265643a5b3139392c32312c3133335d2c6d69646e69676874626c75653a5b32352c32352c3131325d2c6d696e74637265616d3a5b3234352c3235352c3235305d2c6d69737479726f73653a5b3235352c3232382c3232355d2c6d6f63636173696e3a5b3235352c3232382c3138315d2c6e6176616a6f77686974653a5b3235352c3232322c3137335d2c6e6176793a5b302c302c3132385d2c6f6c646c6163653a5b3235332c3234352c3233305d2c6f6c6976653a5b3132382c3132382c305d2c6f6c697665647261623a5b3130372c3134322c33355d2c6f72616e67653a5b3235352c3136352c305d2c6f72616e67657265643a5b3235352c36392c305d2c6f72636869643a5b3231382c3131322c3231345d2c70616c65676f6c64656e726f643a5b3233382c3233322c3137305d2c70616c65677265656e3a5b3135322c3235312c3135325d2c70616c6574757271756f6973653a5b3137352c3233382c3233385d2c70616c6576696f6c65747265643a5b3231392c3131322c3134375d2c706170617961776869703a5b3235352c3233392c3231335d2c7065616368707566663a5b3235352c3231382c3138355d2c706572753a5b3230352c3133332c36335d2c70696e6b3a5b3235352c3139322c3230335d2c706c756d3a5b3232312c3136302c3232315d2c706f77646572626c75653a5b3137362c3232342c3233305d2c707572706c653a5b3132382c302c3132385d2c72656265636361707572706c653a5b3130322c35312c3135335d2c7265643a5b3235352c302c305d2c726f737962726f776e3a5b3138382c3134332c3134335d2c726f79616c626c75653a5b36352c3130352c3232355d2c736164646c6562726f776e3a5b3133392c36392c31395d2c73616c6d6f6e3a5b3235302c3132382c3131345d2c73616e647962726f776e3a5b3234342c3136342c39365d2c736561677265656e3a5b34362c3133392c38375d2c7365617368656c6c3a5b3235352c3234352c3233385d2c7369656e6e613a5b3136302c38322c34355d2c73696c7665723a5b3139322c3139322c3139325d2c736b79626c75653a5b3133352c3230362c3233355d2c736c617465626c75653a5b3130362c39302c3230355d2c736c617465677261793a5b3131322c3132382c3134345d2c736c617465677265793a5b3131322c3132382c3134345d2c736e6f773a5b3235352c3235302c3235305d2c737072696e67677265656e3a5b302c3235352c3132375d2c737465656c626c75653a5b37302c3133302c3138305d2c74616e3a5b3231302c3138302c3134305d2c7465616c3a5b302c3132382c3132385d2c74686973746c653a5b3231362c3139312c3231365d2c746f6d61746f3a5b3235352c39392c37315d2c74757271756f6973653a5b36342c3232342c3230385d2c76696f6c65743a5b3233382c3133302c3233385d2c77686561743a5b3234352c3232322c3137395d2c77686974653a5b3235352c3235352c3235355d2c7768697465736d6f6b653a5b3234352c3234352c3234355d2c79656c6c6f773a5b3235352c3235352c305d2c79656c6c6f77677265656e3a5b3135342c3230352c35305d7d2c533d7b7d3b666f7228766172204420696e204d29535b4a534f4e2e737472696e67696679284d5b445d295d3d447d2c7b7d5d2c343a5b66756e6374696f6e28742c652c69297b766172206e3d742833292c613d66756e6374696f6e28297b72657475726e206e657720757d3b666f7228766172207220696e206e297b615b722b22526177225d3d66756e6374696f6e2874297b72657475726e2066756e6374696f6e2865297b72657475726e226e756d626572223d3d747970656f662065262628653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e747329292c6e5b745d2865297d7d2872293b766172206f3d2f285c772b2932285c772b292f2e657865632872292c733d6f5b315d2c6c3d6f5b325d3b28615b735d3d615b735d7c7c7b7d295b6c5d3d615b725d3d66756e6374696f6e2874297b72657475726e2066756e6374696f6e2865297b226e756d626572223d3d747970656f662065262628653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e747329293b76617220693d6e5b745d2865293b69662822737472696e67223d3d747970656f6620697c7c766f696420303d3d3d692972657475726e20693b666f722876617220613d303b613c692e6c656e6774683b612b2b29695b615d3d4d6174682e726f756e6428695b615d293b72657475726e20697d7d2872297d76617220753d66756e6374696f6e28297b746869732e636f6e76733d7b7d7d3b752e70726f746f747970652e726f75746553706163653d66756e6374696f6e28742c65297b76617220693d655b305d3b72657475726e20766f696420303d3d3d693f746869732e67657456616c7565732874293a28226e756d626572223d3d747970656f662069262628693d41727261792e70726f746f747970652e736c6963652e63616c6c286529292c746869732e73657456616c75657328742c6929297d2c752e70726f746f747970652e73657456616c7565733d66756e6374696f6e28742c65297b72657475726e20746869732e73706163653d742c746869732e636f6e76733d7b7d2c746869732e636f6e76735b745d3d652c746869737d2c752e70726f746f747970652e67657456616c7565733d66756e6374696f6e2874297b76617220653d746869732e636f6e76735b745d3b6966282165297b76617220693d746869732e73706163652c6e3d746869732e636f6e76735b695d3b653d615b695d5b745d286e292c746869732e636f6e76735b745d3d657d72657475726e20657d2c5b22726762222c2268736c222c22687376222c22636d796b222c226b6579776f7264225d2e666f72456163682866756e6374696f6e2874297b752e70726f746f747970655b745d3d66756e6374696f6e2865297b72657475726e20746869732e726f757465537061636528742c617267756d656e7473297d7d292c652e6578706f7274733d617d2c7b333a337d5d2c353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b616c696365626c75653a5b3234302c3234382c3235355d2c616e746971756577686974653a5b3235302c3233352c3231355d2c617175613a5b302c3235352c3235355d2c617175616d6172696e653a5b3132372c3235352c3231325d2c617a7572653a5b3234302c3235352c3235355d2c62656967653a5b3234352c3234352c3232305d2c6269737175653a5b3235352c3232382c3139365d2c626c61636b3a5b302c302c305d2c626c616e63686564616c6d6f6e643a5b3235352c3233352c3230355d2c626c75653a5b302c302c3235355d2c626c756576696f6c65743a5b3133382c34332c3232365d2c62726f776e3a5b3136352c34322c34325d2c6275726c79776f6f643a5b3232322c3138342c3133355d2c6361646574626c75653a5b39352c3135382c3136305d2c636861727472657573653a5b3132372c3235352c305d2c63686f636f6c6174653a5b3231302c3130352c33305d2c636f72616c3a5b3235352c3132372c38305d2c636f726e666c6f776572626c75653a5b3130302c3134392c3233375d2c636f726e73696c6b3a5b3235352c3234382c3232305d2c6372696d736f6e3a5b3232302c32302c36305d2c6379616e3a5b302c3235352c3235355d2c6461726b626c75653a5b302c302c3133395d2c6461726b6379616e3a5b302c3133392c3133395d2c6461726b676f6c64656e726f643a5b3138342c3133342c31315d2c6461726b677261793a5b3136392c3136392c3136395d2c6461726b677265656e3a5b302c3130302c305d2c6461726b677265793a5b3136392c3136392c3136395d2c6461726b6b68616b693a5b3138392c3138332c3130375d2c6461726b6d6167656e74613a5b3133392c302c3133395d2c6461726b6f6c697665677265656e3a5b38352c3130372c34375d2c6461726b6f72616e67653a5b3235352c3134302c305d2c6461726b6f72636869643a5b3135332c35302c3230345d2c6461726b7265643a5b3133392c302c305d2c6461726b73616c6d6f6e3a5b3233332c3135302c3132325d2c6461726b736561677265656e3a5b3134332c3138382c3134335d2c6461726b736c617465626c75653a5b37322c36312c3133395d2c6461726b736c617465677261793a5b34372c37392c37395d2c6461726b736c617465677265793a5b34372c37392c37395d2c6461726b74757271756f6973653a5b302c3230362c3230395d2c6461726b76696f6c65743a5b3134382c302c3231315d2c6465657070696e6b3a5b3235352c32302c3134375d2c64656570736b79626c75653a5b302c3139312c3235355d2c64696d677261793a5b3130352c3130352c3130355d2c64696d677265793a5b3130352c3130352c3130355d2c646f64676572626c75653a5b33302c3134342c3235355d2c66697265627269636b3a5b3137382c33342c33345d2c666c6f72616c77686974653a5b3235352c3235302c3234305d2c666f72657374677265656e3a5b33342c3133392c33345d2c667563687369613a5b3235352c302c3235355d2c6761696e73626f726f3a5b3232302c3232302c3232305d2c67686f737477686974653a5b3234382c3234382c3235355d2c676f6c643a5b3235352c3231352c305d2c676f6c64656e726f643a5b3231382c3136352c33325d2c677261793a5b3132382c3132382c3132385d2c677265656e3a5b302c3132382c305d2c677265656e79656c6c6f773a5b3137332c3235352c34375d2c677265793a5b3132382c3132382c3132385d2c686f6e65796465773a5b3234302c3235352c3234305d2c686f7470696e6b3a5b3235352c3130352c3138305d2c696e6469616e7265643a5b3230352c39322c39325d2c696e6469676f3a5b37352c302c3133305d2c69766f72793a5b3235352c3235352c3234305d2c6b68616b693a5b3234302c3233302c3134305d2c6c6176656e6465723a5b3233302c3233302c3235305d2c6c6176656e646572626c7573683a5b3235352c3234302c3234355d2c6c61776e677265656e3a5b3132342c3235322c305d2c6c656d6f6e63686966666f6e3a5b3235352c3235302c3230355d2c6c69676874626c75653a5b3137332c3231362c3233305d2c6c69676874636f72616c3a5b3234302c3132382c3132385d2c6c696768746379616e3a5b3232342c3235352c3235355d2c6c69676874676f6c64656e726f6479656c6c6f773a5b3235302c3235302c3231305d2c6c69676874677261793a5b3231312c3231312c3231315d2c6c69676874677265656e3a5b3134342c3233382c3134345d2c6c69676874677265793a5b3231312c3231312c3231315d2c6c6967687470696e6b3a5b3235352c3138322c3139335d2c6c6967687473616c6d6f6e3a5b3235352c3136302c3132325d2c6c69676874736561677265656e3a5b33322c3137382c3137305d2c6c69676874736b79626c75653a5b3133352c3230362c3235305d2c6c69676874736c617465677261793a5b3131392c3133362c3135335d2c6c69676874736c617465677265793a5b3131392c3133362c3135335d2c6c69676874737465656c626c75653a5b3137362c3139362c3232325d2c6c6967687479656c6c6f773a5b3235352c3235352c3232345d2c6c696d653a5b302c3235352c305d2c6c696d65677265656e3a5b35302c3230352c35305d2c6c696e656e3a5b3235302c3234302c3233305d2c6d6167656e74613a5b3235352c302c3235355d2c6d61726f6f6e3a5b3132382c302c305d2c6d656469756d617175616d6172696e653a5b3130322c3230352c3137305d2c6d656469756d626c75653a5b302c302c3230355d2c6d656469756d6f72636869643a5b3138362c38352c3231315d2c6d656469756d707572706c653a5b3134372c3131322c3231395d2c6d656469756d736561677265656e3a5b36302c3137392c3131335d2c6d656469756d736c617465626c75653a5b3132332c3130342c3233385d2c6d656469756d737072696e67677265656e3a5b302c3235302c3135345d2c6d656469756d74757271756f6973653a5b37322c3230392c3230345d2c6d656469756d76696f6c65747265643a5b3139392c32312c3133335d2c6d69646e69676874626c75653a5b32352c32352c3131325d2c6d696e74637265616d3a5b3234352c3235352c3235305d2c6d69737479726f73653a5b3235352c3232382c3232355d2c6d6f63636173696e3a5b3235352c3232382c3138315d2c6e6176616a6f77686974653a5b3235352c3232322c3137335d2c6e6176793a5b302c302c3132385d2c6f6c646c6163653a5b3235332c3234352c3233305d2c6f6c6976653a5b3132382c3132382c305d2c6f6c697665647261623a5b3130372c3134322c33355d2c6f72616e67653a5b3235352c3136352c305d2c6f72616e67657265643a5b3235352c36392c305d2c6f72636869643a5b3231382c3131322c3231345d2c70616c65676f6c64656e726f643a5b3233382c3233322c3137305d2c70616c65677265656e3a5b3135322c3235312c3135325d2c70616c6574757271756f6973653a5b3137352c3233382c3233385d2c70616c6576696f6c65747265643a5b3231392c3131322c3134375d2c706170617961776869703a5b3235352c3233392c3231335d2c7065616368707566663a5b3235352c3231382c3138355d2c706572753a5b3230352c3133332c36335d2c70696e6b3a5b3235352c3139322c3230335d2c706c756d3a5b3232312c3136302c3232315d2c706f77646572626c75653a5b3137362c3232342c3233305d2c707572706c653a5b3132382c302c3132385d2c72656265636361707572706c653a5b3130322c35312c3135335d2c7265643a5b3235352c302c305d2c726f737962726f776e3a5b3138382c3134332c3134335d2c726f79616c626c75653a5b36352c3130352c3232355d2c736164646c6562726f776e3a5b3133392c36392c31395d2c73616c6d6f6e3a5b3235302c3132382c3131345d2c73616e647962726f776e3a5b3234342c3136342c39365d2c736561677265656e3a5b34362c3133392c38375d2c7365617368656c6c3a5b3235352c3234352c3233385d2c7369656e6e613a5b3136302c38322c34355d2c73696c7665723a5b3139322c3139322c3139325d2c736b79626c75653a5b3133352c3230362c3233355d2c736c617465626c75653a5b3130362c39302c3230355d2c736c617465677261793a5b3131322c3132382c3134345d2c736c617465677265793a5b3131322c3132382c3134345d2c736e6f773a5b3235352c3235302c3235305d2c737072696e67677265656e3a5b302c3235352c3132375d2c737465656c626c75653a5b37302c3133302c3138305d2c74616e3a5b3231302c3138302c3134305d2c7465616c3a5b302c3132382c3132385d2c74686973746c653a5b3231362c3139312c3231365d2c746f6d61746f3a5b3235352c39392c37315d2c74757271756f6973653a5b36342c3232342c3230385d2c76696f6c65743a5b3233382c3133302c3233385d2c77686561743a5b3234352c3232322c3137395d2c77686974653a5b3235352c3235352c3235355d2c7768697465736d6f6b653a5b3234352c3234352c3234355d2c79656c6c6f773a5b3235352c3235352c305d2c79656c6c6f77677265656e3a5b3135342c3230352c35305d7d7d2c7b7d5d2c363a5b66756e6374696f6e28742c652c69297b766172206e2c613b6e3d746869732c613d66756e6374696f6e28297b2275736520737472696374223b76617220692c6e3b66756e6374696f6e206128297b72657475726e20692e6170706c79286e756c6c2c617267756d656e7473297d66756e6374696f6e20722874297b72657475726e207420696e7374616e63656f662041727261797c7c225b6f626a6563742041727261795d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e206f2874297b72657475726e206e756c6c213d742626225b6f626a656374204f626a6563745d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e20732874297b72657475726e20766f696420303d3d3d747d66756e6374696f6e206c2874297b72657475726e226e756d626572223d3d747970656f6620747c7c225b6f626a656374204e756d6265725d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e20752874297b72657475726e207420696e7374616e63656f6620446174657c7c225b6f626a65637420446174655d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e206428742c65297b76617220692c6e3d5b5d3b666f7228693d303b693c742e6c656e6774683b2b2b69296e2e70757368286528745b695d2c6929293b72657475726e206e7d66756e6374696f6e206828742c65297b72657475726e204f626a6563742e70726f746f747970652e6861734f776e50726f70657274792e63616c6c28742c65297d66756e6374696f6e206328742c65297b666f7228766172206920696e2065296828652c6929262628745b695d3d655b695d293b72657475726e206828652c22746f537472696e672229262628742e746f537472696e673d652e746f537472696e67292c6828652c2276616c75654f662229262628742e76616c75654f663d652e76616c75654f66292c747d66756e6374696f6e206628742c652c692c6e297b72657475726e20506528742c652c692c6e2c2130292e75746328297d66756e6374696f6e20672874297b72657475726e206e756c6c3d3d742e5f7066262628742e5f70663d7b656d7074793a21312c756e75736564546f6b656e733a5b5d2c756e75736564496e7075743a5b5d2c6f766572666c6f773a2d322c63686172734c6566744f7665723a302c6e756c6c496e7075743a21312c696e76616c69644d6f6e74683a6e756c6c2c696e76616c6964466f726d61743a21312c75736572496e76616c6964617465643a21312c69736f3a21312c7061727365644461746550617274733a5b5d2c6d6572696469656d3a6e756c6c2c726663323832323a21312c7765656b6461794d69736d617463683a21317d292c742e5f70667d66756e6374696f6e206d2874297b6966286e756c6c3d3d742e5f697356616c6964297b76617220653d672874292c693d6e2e63616c6c28652e7061727365644461746550617274732c66756e6374696f6e2874297b72657475726e206e756c6c213d747d292c613d2169734e614e28742e5f642e67657454696d652829292626652e6f766572666c6f773c30262621652e656d707479262621652e696e76616c69644d6f6e7468262621652e696e76616c69645765656b646179262621652e7765656b6461794d69736d61746368262621652e6e756c6c496e707574262621652e696e76616c6964466f726d6174262621652e75736572496e76616c69646174656426262821652e6d6572696469656d7c7c652e6d6572696469656d262669293b696628742e5f737472696374262628613d612626303d3d3d652e63686172734c6566744f7665722626303d3d3d652e756e75736564546f6b656e732e6c656e6774682626766f696420303d3d3d652e626967486f7572292c6e756c6c213d4f626a6563742e697346726f7a656e26264f626a6563742e697346726f7a656e2874292972657475726e20613b742e5f697356616c69643d617d72657475726e20742e5f697356616c69647d66756e6374696f6e20702874297b76617220653d66284e614e293b72657475726e206e756c6c213d743f6328672865292c74293a672865292e75736572496e76616c6964617465643d21302c657d6e3d41727261792e70726f746f747970652e736f6d653f41727261792e70726f746f747970652e736f6d653a66756e6374696f6e2874297b666f722876617220653d4f626a6563742874686973292c693d652e6c656e6774683e3e3e302c6e3d303b6e3c693b6e2b2b296966286e20696e20652626742e63616c6c28746869732c655b6e5d2c6e2c65292972657475726e21303b72657475726e21317d3b76617220763d612e6d6f6d656e7450726f706572746965733d5b5d3b66756e6374696f6e207928742c65297b76617220692c6e2c613b6966287328652e5f6973414d6f6d656e744f626a656374297c7c28742e5f6973414d6f6d656e744f626a6563743d652e5f6973414d6f6d656e744f626a656374292c7328652e5f69297c7c28742e5f693d652e5f69292c7328652e5f66297c7c28742e5f663d652e5f66292c7328652e5f6c297c7c28742e5f6c3d652e5f6c292c7328652e5f737472696374297c7c28742e5f7374726963743d652e5f737472696374292c7328652e5f747a6d297c7c28742e5f747a6d3d652e5f747a6d292c7328652e5f6973555443297c7c28742e5f69735554433d652e5f6973555443292c7328652e5f6f6666736574297c7c28742e5f6f66667365743d652e5f6f6666736574292c7328652e5f7066297c7c28742e5f70663d67286529292c7328652e5f6c6f63616c65297c7c28742e5f6c6f63616c653d652e5f6c6f63616c65292c762e6c656e6774683e3029666f7228693d303b693c762e6c656e6774683b692b2b297328613d655b6e3d765b695d5d297c7c28745b6e5d3d61293b72657475726e20747d76617220623d21313b66756e6374696f6e20782874297b7928746869732c74292c746869732e5f643d6e65772044617465286e756c6c213d742e5f643f742e5f642e67657454696d6528293a4e614e292c746869732e697356616c696428297c7c28746869732e5f643d6e65772044617465284e614e29292c21313d3d3d62262628623d21302c612e7570646174654f66667365742874686973292c623d2131297d66756e6374696f6e205f2874297b72657475726e207420696e7374616e63656f6620787c7c6e756c6c213d7426266e756c6c213d742e5f6973414d6f6d656e744f626a6563747d66756e6374696f6e206b2874297b72657475726e20743c303f4d6174682e6365696c2874297c7c303a4d6174682e666c6f6f722874297d66756e6374696f6e20772874297b76617220653d2b742c693d303b72657475726e2030213d3d652626697346696e697465286529262628693d6b286529292c697d66756e6374696f6e204d28742c652c69297b766172206e2c613d4d6174682e6d696e28742e6c656e6774682c652e6c656e677468292c723d4d6174682e61627328742e6c656e6774682d652e6c656e677468292c6f3d303b666f72286e3d303b6e3c613b6e2b2b2928692626745b6e5d213d3d655b6e5d7c7c216926267728745b6e5d29213d3d7728655b6e5d292926266f2b2b3b72657475726e206f2b727d66756e6374696f6e20532874297b21313d3d3d612e73757070726573734465707265636174696f6e5761726e696e6773262622756e646566696e656422213d747970656f6620636f6e736f6c652626636f6e736f6c652e7761726e2626636f6e736f6c652e7761726e28224465707265636174696f6e207761726e696e673a20222b74297d66756e6374696f6e204428742c65297b76617220693d21303b72657475726e20632866756e6374696f6e28297b6966286e756c6c213d612e6465707265636174696f6e48616e646c65722626612e6465707265636174696f6e48616e646c6572286e756c6c2c74292c69297b666f7228766172206e2c723d5b5d2c6f3d303b6f3c617267756d656e74732e6c656e6774683b6f2b2b297b6966286e3d22222c226f626a656374223d3d747970656f6620617267756d656e74735b6f5d297b666f7228766172207320696e206e2b3d225c6e5b222b6f2b225d20222c617267756d656e74735b305d296e2b3d732b223a20222b617267756d656e74735b305d5b735d2b222c20223b6e3d6e2e736c69636528302c2d32297d656c7365206e3d617267756d656e74735b6f5d3b722e70757368286e297d5328742b225c6e417267756d656e74733a20222b41727261792e70726f746f747970652e736c6963652e63616c6c2872292e6a6f696e282222292b225c6e222b286e6577204572726f72292e737461636b292c693d21317d72657475726e20652e6170706c7928746869732c617267756d656e7473297d2c65297d76617220432c503d7b7d3b66756e6374696f6e205428742c65297b6e756c6c213d612e6465707265636174696f6e48616e646c65722626612e6465707265636174696f6e48616e646c657228742c65292c505b745d7c7c28532865292c505b745d3d2130297d66756e6374696f6e204f2874297b72657475726e207420696e7374616e63656f662046756e6374696f6e7c7c225b6f626a6563742046756e6374696f6e5d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d66756e6374696f6e204928742c65297b76617220692c6e3d63287b7d2c74293b666f72286920696e2065296828652c69292626286f28745b695d2926266f28655b695d293f286e5b695d3d7b7d2c63286e5b695d2c745b695d292c63286e5b695d2c655b695d29293a6e756c6c213d655b695d3f6e5b695d3d655b695d3a64656c657465206e5b695d293b666f72286920696e2074296828742c69292626216828652c692926266f28745b695d292626286e5b695d3d63287b7d2c6e5b695d29293b72657475726e206e7d66756e6374696f6e20412874297b6e756c6c213d742626746869732e7365742874297d612e73757070726573734465707265636174696f6e5761726e696e67733d21312c612e6465707265636174696f6e48616e646c65723d6e756c6c2c433d4f626a6563742e6b6579733f4f626a6563742e6b6579733a66756e6374696f6e2874297b76617220652c693d5b5d3b666f72286520696e2074296828742c65292626692e707573682865293b72657475726e20697d3b76617220463d7b7d3b66756e6374696f6e205228742c65297b76617220693d742e746f4c6f7765724361736528293b465b695d3d465b692b2273225d3d465b655d3d747d66756e6374696f6e204c2874297b72657475726e22737472696e67223d3d747970656f6620743f465b745d7c7c465b742e746f4c6f7765724361736528295d3a766f696420307d66756e6374696f6e20572874297b76617220652c692c6e3d7b7d3b666f72286920696e2074296828742c6929262628653d4c286929292626286e5b655d3d745b695d293b72657475726e206e7d76617220593d7b7d3b66756e6374696f6e204e28742c65297b595b745d3d657d66756e6374696f6e207a28742c652c69297b766172206e3d22222b4d6174682e6162732874292c613d652d6e2e6c656e6774683b72657475726e28743e3d303f693f222b223a22223a222d22292b4d6174682e706f772831302c4d6174682e6d617828302c6129292e746f537472696e6728292e7375627374722831292b6e7d76617220483d2f285c5b5b5e5c5b5d2a5c5d297c285c5c293f285b48685d6d6d287373293f7c4d6f7c4d4d3f4d3f4d3f7c446f7c4444446f7c44443f443f443f7c6464643f643f7c646f3f7c775b6f7c775d3f7c575b6f7c575d3f7c516f3f7c5959595959597c59595959597c595959597c59597c6767286767673f293f7c4747284747473f293f7c657c457c617c417c68683f7c48483f7c6b6b3f7c6d6d3f7c73733f7c537b312c397d7c787c587c7a7a3f7c5a5a3f7c2e292f672c563d2f285c5b5b5e5c5b5d2a5c5d297c285c5c293f284c54537c4c547c4c4c3f4c3f4c3f7c6c7b312c347d292f672c423d7b7d2c453d7b7d3b66756e6374696f6e206a28742c652c692c6e297b76617220613d6e3b22737472696e67223d3d747970656f66206e262628613d66756e6374696f6e28297b72657475726e20746869735b6e5d28297d292c74262628455b745d3d61292c65262628455b655b305d5d3d66756e6374696f6e28297b72657475726e207a28612e6170706c7928746869732c617267756d656e7473292c655b315d2c655b325d297d292c69262628455b695d3d66756e6374696f6e28297b72657475726e20746869732e6c6f63616c654461746128292e6f7264696e616c28612e6170706c7928746869732c617267756d656e7473292c74297d297d66756e6374696f6e205528742c65297b72657475726e20742e697356616c696428293f28653d7128652c742e6c6f63616c65446174612829292c425b655d3d425b655d7c7c66756e6374696f6e2874297b76617220652c692c6e2c613d742e6d617463682848293b666f7228653d302c693d612e6c656e6774683b653c693b652b2b29455b615b655d5d3f615b655d3d455b615b655d5d3a615b655d3d286e3d615b655d292e6d61746368282f5c5b5b5c735c535d2f293f6e2e7265706c616365282f5e5c5b7c5c5d242f672c2222293a6e2e7265706c616365282f5c5c2f672c2222293b72657475726e2066756e6374696f6e2865297b766172206e2c723d22223b666f72286e3d303b6e3c693b6e2b2b29722b3d4f28615b6e5d293f615b6e5d2e63616c6c28652c74293a615b6e5d3b72657475726e20727d7d2865292c425b655d287429293a742e6c6f63616c654461746128292e696e76616c69644461746528297d66756e6374696f6e207128742c65297b76617220693d353b66756e6374696f6e206e2874297b72657475726e20652e6c6f6e6744617465466f726d61742874297c7c747d666f7228562e6c617374496e6465783d303b693e3d302626562e746573742874293b29743d742e7265706c61636528562c6e292c562e6c617374496e6465783d302c692d3d313b72657475726e20747d76617220473d2f5c642f2c5a3d2f5c645c642f2c583d2f5c647b337d2f2c4a3d2f5c647b347d2f2c4b3d2f5b2b2d5d3f5c647b367d2f2c243d2f5c645c643f2f2c513d2f5c645c645c645c643f2f2c74743d2f5c645c645c645c645c645c643f2f2c65743d2f5c647b312c337d2f2c69743d2f5c647b312c347d2f2c6e743d2f5b2b2d5d3f5c647b312c367d2f2c61743d2f5c642b2f2c72743d2f5b2b2d5d3f5c642b2f2c6f743d2f5a7c5b2b2d5d5c645c643a3f5c645c642f67692c73743d2f5a7c5b2b2d5d5c645c64283f3a3a3f5c645c64293f2f67692c6c743d2f5b302d395d7b302c3235367d5b27612d7a5c75303041302d5c75303546465c75303730302d5c75443746465c75463930302d5c75464443465c75464446302d5c75464630375c75464631302d5c75464645465d7b312c3235367d7c5b5c75303630302d5c75303646465c2f5d7b312c3235367d285c732a3f5b5c75303630302d5c75303646465d7b312c3235367d297b312c327d2f692c75743d7b7d3b66756e6374696f6e20647428742c652c69297b75745b745d3d4f2865293f653a66756e6374696f6e28742c6e297b72657475726e20742626693f693a657d7d66756e6374696f6e20687428742c65297b72657475726e20682875742c74293f75745b745d28652e5f7374726963742c652e5f6c6f63616c65293a6e65772052656745787028637428742e7265706c61636528225c5c222c2222292e7265706c616365282f5c5c285c5b297c5c5c285c5d297c5c5b285b5e5c5d5c5b5d2a295c5d7c5c5c282e292f672c66756e6374696f6e28742c652c692c6e2c61297b72657475726e20657c7c697c7c6e7c7c617d2929297d66756e6374696f6e2063742874297b72657475726e20742e7265706c616365282f5b2d5c2f5c5c5e242a2b3f2e28297c5b5c5d7b7d5d2f672c225c5c242622297d7661722066743d7b7d3b66756e6374696f6e20677428742c65297b76617220692c6e3d653b666f722822737472696e67223d3d747970656f662074262628743d5b745d292c6c2865292626286e3d66756e6374696f6e28742c69297b695b655d3d772874297d292c693d303b693c742e6c656e6774683b692b2b2966745b745b695d5d3d6e7d66756e6374696f6e206d7428742c65297b677428742c66756e6374696f6e28742c692c6e2c61297b6e2e5f773d6e2e5f777c7c7b7d2c6528742c6e2e5f772c6e2c61297d297d7661722070743d302c76743d312c79743d322c62743d332c78743d342c5f743d352c6b743d362c77743d372c4d743d383b66756e6374696f6e2053742874297b72657475726e2044742874293f3336363a3336357d66756e6374696f6e2044742874297b72657475726e207425343d3d3026267425313030213d307c7c74253430303d3d307d6a282259222c302c302c66756e6374696f6e28297b76617220743d746869732e7965617228293b72657475726e20743c3d393939393f22222b743a222b222b747d292c6a28302c5b225959222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e796561722829253130307d292c6a28302c5b2259595959222c345d2c302c227965617222292c6a28302c5b225959595959222c355d2c302c227965617222292c6a28302c5b22595959595959222c362c21305d2c302c227965617222292c52282279656172222c227922292c4e282279656172222c31292c6474282259222c7274292c647428225959222c242c5a292c6474282259595959222c69742c4a292c647428225959595959222c6e742c4b292c64742822595959595959222c6e742c4b292c6774285b225959595959222c22595959595959225d2c7074292c6774282259595959222c66756e6374696f6e28742c65297b655b70745d3d323d3d3d742e6c656e6774683f612e706172736554776f4469676974596561722874293a772874297d292c677428225959222c66756e6374696f6e28742c65297b655b70745d3d612e706172736554776f4469676974596561722874297d292c6774282259222c66756e6374696f6e28742c65297b655b70745d3d7061727365496e7428742c3130297d292c612e706172736554776f4469676974596561723d66756e6374696f6e2874297b72657475726e20772874292b28772874293e36383f313930303a326533297d3b7661722043742c50743d5474282246756c6c59656172222c2130293b66756e6374696f6e20547428742c65297b72657475726e2066756e6374696f6e2869297b72657475726e206e756c6c213d693f28497428746869732c742c69292c612e7570646174654f666673657428746869732c65292c74686973293a4f7428746869732c74297d7d66756e6374696f6e204f7428742c65297b72657475726e20742e697356616c696428293f742e5f645b22676574222b28742e5f69735554433f22555443223a2222292b655d28293a4e614e7d66756e6374696f6e20497428742c652c69297b742e697356616c6964282926262169734e614e2869292626282246756c6c59656172223d3d3d652626447428742e796561722829292626313d3d3d742e6d6f6e74682829262632393d3d3d742e6461746528293f742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b655d28692c742e6d6f6e746828292c417428692c742e6d6f6e7468282929293a742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b655d286929297d66756e6374696f6e20417428742c65297b69662869734e614e2874297c7c69734e614e2865292972657475726e204e614e3b76617220692c6e3d28652528693d3132292b692925693b72657475726e20742b3d28652d6e292f31322c313d3d3d6e3f44742874293f32393a32383a33312d6e253725327d43743d41727261792e70726f746f747970652e696e6465784f663f41727261792e70726f746f747970652e696e6465784f663a66756e6374696f6e2874297b76617220653b666f7228653d303b653c746869732e6c656e6774683b2b2b6529696628746869735b655d3d3d3d742972657475726e20653b72657475726e2d317d2c6a28224d222c5b224d4d222c325d2c224d6f222c66756e6374696f6e28297b72657475726e20746869732e6d6f6e746828292b317d292c6a28224d4d4d222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e6d6f6e74687353686f727428746869732c74297d292c6a28224d4d4d4d222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e6d6f6e74687328746869732c74297d292c5228226d6f6e7468222c224d22292c4e28226d6f6e7468222c38292c647428224d222c24292c647428224d4d222c242c5a292c647428224d4d4d222c66756e6374696f6e28742c65297b72657475726e20652e6d6f6e74687353686f727452656765782874297d292c647428224d4d4d4d222c66756e6374696f6e28742c65297b72657475726e20652e6d6f6e74687352656765782874297d292c6774285b224d222c224d4d225d2c66756e6374696f6e28742c65297b655b76745d3d772874292d317d292c6774285b224d4d4d222c224d4d4d4d225d2c66756e6374696f6e28742c652c692c6e297b76617220613d692e5f6c6f63616c652e6d6f6e746873506172736528742c6e2c692e5f737472696374293b6e756c6c213d613f655b76745d3d613a672869292e696e76616c69644d6f6e74683d747d293b7661722046743d2f445b6f445d3f285c5b5b5e5c5b5c5d5d2a5c5d7c5c73292b4d4d4d4d3f2f2c52743d224a616e756172795f46656272756172795f4d617263685f417072696c5f4d61795f4a756e655f4a756c795f4175677573745f53657074656d6265725f4f63746f6265725f4e6f76656d6265725f446563656d626572222e73706c697428225f22293b766172204c743d224a616e5f4665625f4d61725f4170725f4d61795f4a756e5f4a756c5f4175675f5365705f4f63745f4e6f765f446563222e73706c697428225f22293b66756e6374696f6e20577428742c65297b76617220693b69662821742e697356616c696428292972657475726e20743b69662822737472696e67223d3d747970656f662065296966282f5e5c642b242f2e7465737428652929653d772865293b656c736520696628216c28653d742e6c6f63616c654461746128292e6d6f6e7468735061727365286529292972657475726e20743b72657475726e20693d4d6174682e6d696e28742e6461746528292c417428742e7965617228292c6529292c742e5f645b22736574222b28742e5f69735554433f22555443223a2222292b224d6f6e7468225d28652c69292c747d66756e6374696f6e2059742874297b72657475726e206e756c6c213d743f28577428746869732c74292c612e7570646174654f666673657428746869732c2130292c74686973293a4f7428746869732c224d6f6e746822297d766172204e743d6c743b766172207a743d6c743b66756e6374696f6e20487428297b66756e6374696f6e207428742c65297b72657475726e20652e6c656e6774682d742e6c656e6774687d76617220652c692c6e3d5b5d2c613d5b5d2c723d5b5d3b666f7228653d303b653c31323b652b2b29693d66285b3265332c655d292c6e2e7075736828746869732e6d6f6e74687353686f727428692c222229292c612e7075736828746869732e6d6f6e74687328692c222229292c722e7075736828746869732e6d6f6e74687328692c222229292c722e7075736828746869732e6d6f6e74687353686f727428692c222229293b666f72286e2e736f72742874292c612e736f72742874292c722e736f72742874292c653d303b653c31323b652b2b296e5b655d3d6374286e5b655d292c615b655d3d637428615b655d293b666f7228653d303b653c32343b652b2b29725b655d3d637428725b655d293b746869732e5f6d6f6e74687352656765783d6e65772052656745787028225e28222b722e6a6f696e28227c22292b2229222c226922292c746869732e5f6d6f6e74687353686f727452656765783d746869732e5f6d6f6e74687352656765782c746869732e5f6d6f6e74687353747269637452656765783d6e65772052656745787028225e28222b612e6a6f696e28227c22292b2229222c226922292c746869732e5f6d6f6e74687353686f727453747269637452656765783d6e65772052656745787028225e28222b6e2e6a6f696e28227c22292b2229222c226922297d66756e6374696f6e2056742874297b76617220653d6e6577204461746528446174652e5554432e6170706c79286e756c6c2c617267756d656e747329293b72657475726e20743c3130302626743e3d302626697346696e69746528652e67657455544346756c6c596561722829292626652e73657455544346756c6c596561722874292c657d66756e6374696f6e20427428742c652c69297b766172206e3d372b652d693b72657475726e2d2828372b567428742c302c6e292e67657455544344617928292d65292537292b6e2d317d66756e6374696f6e20457428742c652c692c6e2c61297b76617220722c6f2c733d312b372a28652d31292b28372b692d6e2925372b427428742c6e2c61293b72657475726e20733c3d303f6f3d537428723d742d31292b733a733e53742874293f28723d742b312c6f3d732d5374287429293a28723d742c6f3d73292c7b796561723a722c6461794f66596561723a6f7d7d66756e6374696f6e206a7428742c652c69297b766172206e2c612c723d427428742e7965617228292c652c69292c6f3d4d6174682e666c6f6f722828742e6461794f665965617228292d722d31292f37292b313b72657475726e206f3c313f6e3d6f2b557428613d742e7965617228292d312c652c69293a6f3e557428742e7965617228292c652c69293f286e3d6f2d557428742e7965617228292c652c69292c613d742e7965617228292b31293a28613d742e7965617228292c6e3d6f292c7b7765656b3a6e2c796561723a617d7d66756e6374696f6e20557428742c652c69297b766172206e3d427428742c652c69292c613d427428742b312c652c69293b72657475726e2853742874292d6e2b61292f377d6a282277222c5b227777222c325d2c22776f222c227765656b22292c6a282257222c5b225757222c325d2c22576f222c2269736f5765656b22292c5228227765656b222c227722292c52282269736f5765656b222c225722292c4e28227765656b222c35292c4e282269736f5765656b222c35292c6474282277222c24292c647428227777222c242c5a292c6474282257222c24292c647428225757222c242c5a292c6d74285b2277222c227777222c2257222c225757225d2c66756e6374696f6e28742c652c692c6e297b655b6e2e73756273747228302c31295d3d772874297d293b6a282264222c302c22646f222c2264617922292c6a28226464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b646179734d696e28746869732c74297d292c6a2822646464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b6461797353686f727428746869732c74297d292c6a282264646464222c302c302c66756e6374696f6e2874297b72657475726e20746869732e6c6f63616c654461746128292e7765656b6461797328746869732c74297d292c6a282265222c302c302c227765656b64617922292c6a282245222c302c302c2269736f5765656b64617922292c522822646179222c226422292c5228227765656b646179222c226522292c52282269736f5765656b646179222c224522292c4e2822646179222c3131292c4e28227765656b646179222c3131292c4e282269736f5765656b646179222c3131292c6474282264222c24292c6474282265222c24292c6474282245222c24292c647428226464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b646179734d696e52656765782874297d292c64742822646464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b6461797353686f727452656765782874297d292c6474282264646464222c66756e6374696f6e28742c65297b72657475726e20652e7765656b6461797352656765782874297d292c6d74285b226464222c22646464222c2264646464225d2c66756e6374696f6e28742c652c692c6e297b76617220613d692e5f6c6f63616c652e7765656b64617973506172736528742c6e2c692e5f737472696374293b6e756c6c213d613f652e643d613a672869292e696e76616c69645765656b6461793d747d292c6d74285b2264222c2265222c2245225d2c66756e6374696f6e28742c652c692c6e297b655b6e5d3d772874297d293b7661722071743d2253756e6461795f4d6f6e6461795f547565736461795f5765646e65736461795f54687572736461795f4672696461795f5361747572646179222e73706c697428225f22293b7661722047743d2253756e5f4d6f6e5f5475655f5765645f5468755f4672695f536174222e73706c697428225f22293b766172205a743d2253755f4d6f5f54755f57655f54685f46725f5361222e73706c697428225f22293b7661722058743d6c743b766172204a743d6c743b766172204b743d6c743b66756e6374696f6e20247428297b66756e6374696f6e207428742c65297b72657475726e20652e6c656e6774682d742e6c656e6774687d76617220652c692c6e2c612c722c6f3d5b5d2c733d5b5d2c6c3d5b5d2c753d5b5d3b666f7228653d303b653c373b652b2b29693d66285b3265332c315d292e6461792865292c6e3d746869732e7765656b646179734d696e28692c2222292c613d746869732e7765656b6461797353686f727428692c2222292c723d746869732e7765656b6461797328692c2222292c6f2e70757368286e292c732e707573682861292c6c2e707573682872292c752e70757368286e292c752e707573682861292c752e707573682872293b666f72286f2e736f72742874292c732e736f72742874292c6c2e736f72742874292c752e736f72742874292c653d303b653c373b652b2b29735b655d3d637428735b655d292c6c5b655d3d6374286c5b655d292c755b655d3d637428755b655d293b746869732e5f7765656b6461797352656765783d6e65772052656745787028225e28222b752e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b6461797353686f727452656765783d746869732e5f7765656b6461797352656765782c746869732e5f7765656b646179734d696e52656765783d746869732e5f7765656b6461797352656765782c746869732e5f7765656b6461797353747269637452656765783d6e65772052656745787028225e28222b6c2e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b6461797353686f727453747269637452656765783d6e65772052656745787028225e28222b732e6a6f696e28227c22292b2229222c226922292c746869732e5f7765656b646179734d696e53747269637452656765783d6e65772052656745787028225e28222b6f2e6a6f696e28227c22292b2229222c226922297d66756e6374696f6e20517428297b72657475726e20746869732e686f75727328292531327c7c31327d66756e6374696f6e20746528742c65297b6a28742c302c302c66756e6374696f6e28297b72657475726e20746869732e6c6f63616c654461746128292e6d6572696469656d28746869732e686f75727328292c746869732e6d696e7574657328292c65297d297d66756e6374696f6e20656528742c65297b72657475726e20652e5f6d6572696469656d50617273657d6a282248222c5b224848222c325d2c302c22686f757222292c6a282268222c5b226868222c325d2c302c5174292c6a28226b222c5b226b6b222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e686f75727328297c7c32347d292c6a2822686d6d222c302c302c66756e6374696f6e28297b72657475726e22222b51742e6170706c792874686973292b7a28746869732e6d696e7574657328292c32297d292c6a2822686d6d7373222c302c302c66756e6374696f6e28297b72657475726e22222b51742e6170706c792874686973292b7a28746869732e6d696e7574657328292c32292b7a28746869732e7365636f6e647328292c32297d292c6a2822486d6d222c302c302c66756e6374696f6e28297b72657475726e22222b746869732e686f75727328292b7a28746869732e6d696e7574657328292c32297d292c6a2822486d6d7373222c302c302c66756e6374696f6e28297b72657475726e22222b746869732e686f75727328292b7a28746869732e6d696e7574657328292c32292b7a28746869732e7365636f6e647328292c32297d292c7465282261222c2130292c7465282241222c2131292c522822686f7572222c226822292c4e2822686f7572222c3133292c6474282261222c6565292c6474282241222c6565292c6474282248222c24292c6474282268222c24292c647428226b222c24292c647428224848222c242c5a292c647428226868222c242c5a292c647428226b6b222c242c5a292c64742822686d6d222c51292c64742822686d6d7373222c7474292c64742822486d6d222c51292c64742822486d6d7373222c7474292c6774285b2248222c224848225d2c6274292c6774285b226b222c226b6b225d2c66756e6374696f6e28742c652c69297b766172206e3d772874293b655b62745d3d32343d3d3d6e3f303a6e7d292c6774285b2261222c2241225d2c66756e6374696f6e28742c652c69297b692e5f6973506d3d692e5f6c6f63616c652e6973504d2874292c692e5f6d6572696469656d3d747d292c6774285b2268222c226868225d2c66756e6374696f6e28742c652c69297b655b62745d3d772874292c672869292e626967486f75723d21307d292c67742822686d6d222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e29292c672869292e626967486f75723d21307d292c67742822686d6d7373222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d342c613d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e2c3229292c655b5f745d3d7728742e737562737472286129292c672869292e626967486f75723d21307d292c67742822486d6d222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e29297d292c67742822486d6d7373222c66756e6374696f6e28742c652c69297b766172206e3d742e6c656e6774682d342c613d742e6c656e6774682d323b655b62745d3d7728742e73756273747228302c6e29292c655b78745d3d7728742e737562737472286e2c3229292c655b5f745d3d7728742e737562737472286129297d293b7661722069652c6e653d54742822486f757273222c2130292c61653d7b63616c656e6461723a7b73616d654461793a225b546f6461792061745d204c54222c6e6578744461793a225b546f6d6f72726f772061745d204c54222c6e6578745765656b3a2264646464205b61745d204c54222c6c6173744461793a225b5965737465726461792061745d204c54222c6c6173745765656b3a225b4c6173745d2064646464205b61745d204c54222c73616d65456c73653a224c227d2c6c6f6e6744617465466f726d61743a7b4c54533a22683a6d6d3a73732041222c4c543a22683a6d6d2041222c4c3a224d4d2f44442f59595959222c4c4c3a224d4d4d4d20442c2059595959222c4c4c4c3a224d4d4d4d20442c205959595920683a6d6d2041222c4c4c4c4c3a22646464642c204d4d4d4d20442c205959595920683a6d6d2041227d2c696e76616c6964446174653a22496e76616c69642064617465222c6f7264696e616c3a222564222c6461794f664d6f6e74684f7264696e616c50617273653a2f5c647b312c327d2f2c72656c617469766554696d653a7b6675747572653a22696e202573222c706173743a2225732061676f222c733a226120666577207365636f6e6473222c73733a222564207365636f6e6473222c6d3a2261206d696e757465222c6d6d3a222564206d696e75746573222c683a22616e20686f7572222c68683a22256420686f757273222c643a226120646179222c64643a2225642064617973222c4d3a2261206d6f6e7468222c4d4d3a222564206d6f6e746873222c793a22612079656172222c79793a222564207965617273227d2c6d6f6e7468733a52742c6d6f6e74687353686f72743a4c742c7765656b3a7b646f773a302c646f793a367d2c7765656b646179733a71742c7765656b646179734d696e3a5a742c7765656b6461797353686f72743a47742c6d6572696469656d50617273653a2f5b61705d5c2e3f6d3f5c2e3f2f697d2c72653d7b7d2c6f653d7b7d3b66756e6374696f6e2073652874297b72657475726e20743f742e746f4c6f7765724361736528292e7265706c61636528225f222c222d22293a747d66756e6374696f6e206c652869297b766172206e3d6e756c6c3b6966282172655b695d2626766f69642030213d3d652626652626652e6578706f727473297472797b6e3d69652e5f616262722c7428222e2f6c6f63616c652f222b69292c7565286e297d63617463682874297b7d72657475726e2072655b695d7d66756e6374696f6e20756528742c65297b76617220693b72657475726e2074262628693d732865293f68652874293a646528742c65292926262869653d69292c69652e5f616262727d66756e6374696f6e20646528742c65297b6966286e756c6c213d3d65297b76617220693d61653b696628652e616262723d742c6e756c6c213d72655b745d29542822646566696e654c6f63616c654f76657272696465222c22757365206d6f6d656e742e7570646174654c6f63616c65286c6f63616c654e616d652c20636f6e6669672920746f206368616e676520616e206578697374696e67206c6f63616c652e206d6f6d656e742e646566696e654c6f63616c65286c6f63616c654e616d652c20636f6e666967292073686f756c64206f6e6c79206265207573656420666f72206372656174696e672061206e6577206c6f63616c652053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f646566696e652d6c6f63616c652f20666f72206d6f726520696e666f2e22292c693d72655b745d2e5f636f6e6669673b656c7365206966286e756c6c213d652e706172656e744c6f63616c65297b6966286e756c6c3d3d72655b652e706172656e744c6f63616c655d2972657475726e206f655b652e706172656e744c6f63616c655d7c7c286f655b652e706172656e744c6f63616c655d3d5b5d292c6f655b652e706172656e744c6f63616c655d2e70757368287b6e616d653a742c636f6e6669673a657d292c6e756c6c3b693d72655b652e706172656e744c6f63616c655d2e5f636f6e6669677d72657475726e2072655b745d3d6e65772041284928692c6529292c6f655b745d26266f655b745d2e666f72456163682866756e6374696f6e2874297b646528742e6e616d652c742e636f6e666967297d292c75652874292c72655b745d7d72657475726e2064656c6574652072655b745d2c6e756c6c7d66756e6374696f6e2068652874297b76617220653b696628742626742e5f6c6f63616c652626742e5f6c6f63616c652e5f61626272262628743d742e5f6c6f63616c652e5f61626272292c21742972657475726e2069653b6966282172287429297b696628653d6c652874292972657475726e20653b743d5b745d7d72657475726e2066756e6374696f6e2874297b666f722876617220652c692c6e2c612c723d303b723c742e6c656e6774683b297b666f7228653d28613d736528745b725d292e73706c697428222d2229292e6c656e6774682c693d28693d736528745b722b315d29293f692e73706c697428222d22293a6e756c6c3b653e303b297b6966286e3d6c6528612e736c69636528302c65292e6a6f696e28222d2229292972657475726e206e3b696628692626692e6c656e6774683e3d6526264d28612c692c2130293e3d652d3129627265616b3b652d2d7d722b2b7d72657475726e206e756c6c7d2874297d66756e6374696f6e2063652874297b76617220652c693d742e5f613b72657475726e206926262d323d3d3d672874292e6f766572666c6f77262628653d695b76745d3c307c7c695b76745d3e31313f76743a695b79745d3c317c7c695b79745d3e417428695b70745d2c695b76745d293f79743a695b62745d3c307c7c695b62745d3e32347c7c32343d3d3d695b62745d26262830213d3d695b78745d7c7c30213d3d695b5f745d7c7c30213d3d695b6b745d293f62743a695b78745d3c307c7c695b78745d3e35393f78743a695b5f745d3c307c7c695b5f745d3e35393f5f743a695b6b745d3c307c7c695b6b745d3e3939393f6b743a2d312c672874292e5f6f766572666c6f774461794f6659656172262628653c70747c7c653e797429262628653d7974292c672874292e5f6f766572666c6f775765656b7326262d313d3d3d65262628653d7774292c672874292e5f6f766572666c6f775765656b64617926262d313d3d3d65262628653d4d74292c672874292e6f766572666c6f773d65292c747d66756e6374696f6e20666528742c652c69297b72657475726e206e756c6c213d743f743a6e756c6c213d653f653a697d66756e6374696f6e2067652874297b76617220652c692c6e2c722c6f2c733d5b5d3b69662821742e5f64297b766172206c2c753b666f72286c3d742c753d6e6577204461746528612e6e6f772829292c6e3d6c2e5f7573655554433f5b752e67657455544346756c6c5965617228292c752e6765745554434d6f6e746828292c752e6765745554434461746528295d3a5b752e67657446756c6c5965617228292c752e6765744d6f6e746828292c752e6765744461746528295d2c742e5f7726266e756c6c3d3d742e5f615b79745d26266e756c6c3d3d742e5f615b76745d262666756e6374696f6e2874297b76617220652c692c6e2c612c722c6f2c732c6c3b6966286e756c6c213d28653d742e5f77292e47477c7c6e756c6c213d652e577c7c6e756c6c213d652e4529723d312c6f3d342c693d666528652e47472c742e5f615b70745d2c6a7428546528292c312c34292e79656172292c6e3d666528652e572c31292c2828613d666528652e452c3129293c317c7c613e37292626286c3d2130293b656c73657b723d742e5f6c6f63616c652e5f7765656b2e646f772c6f3d742e5f6c6f63616c652e5f7765656b2e646f793b76617220753d6a7428546528292c722c6f293b693d666528652e67672c742e5f615b70745d2c752e79656172292c6e3d666528652e772c752e7765656b292c6e756c6c213d652e643f2828613d652e64293c307c7c613e36292626286c3d2130293a6e756c6c213d652e653f28613d652e652b722c28652e653c307c7c652e653e36292626286c3d213029293a613d727d6e3c317c7c6e3e557428692c722c6f293f672874292e5f6f766572666c6f775765656b733d21303a6e756c6c213d6c3f672874292e5f6f766572666c6f775765656b6461793d21303a28733d457428692c6e2c612c722c6f292c742e5f615b70745d3d732e796561722c742e5f6461794f66596561723d732e6461794f6659656172297d2874292c6e756c6c213d742e5f6461794f66596561722626286f3d666528742e5f615b70745d2c6e5b70745d292c28742e5f6461794f66596561723e5374286f297c7c303d3d3d742e5f6461794f665965617229262628672874292e5f6f766572666c6f774461794f66596561723d2130292c693d5674286f2c302c742e5f6461794f6659656172292c742e5f615b76745d3d692e6765745554434d6f6e746828292c742e5f615b79745d3d692e676574555443446174652829292c653d303b653c3326266e756c6c3d3d742e5f615b655d3b2b2b6529742e5f615b655d3d735b655d3d6e5b655d3b666f72283b653c373b652b2b29742e5f615b655d3d735b655d3d6e756c6c3d3d742e5f615b655d3f323d3d3d653f313a303a742e5f615b655d3b32343d3d3d742e5f615b62745d2626303d3d3d742e5f615b78745d2626303d3d3d742e5f615b5f745d2626303d3d3d742e5f615b6b745d262628742e5f6e6578744461793d21302c742e5f615b62745d3d30292c742e5f643d28742e5f7573655554433f56743a66756e6374696f6e28742c652c692c6e2c612c722c6f297b76617220733d6e6577204461746528742c652c692c6e2c612c722c6f293b72657475726e20743c3130302626743e3d302626697346696e69746528732e67657446756c6c596561722829292626732e73657446756c6c596561722874292c737d292e6170706c79286e756c6c2c73292c723d742e5f7573655554433f742e5f642e67657455544344617928293a742e5f642e67657444617928292c6e756c6c213d742e5f747a6d2626742e5f642e7365745554434d696e7574657328742e5f642e6765745554434d696e7574657328292d742e5f747a6d292c742e5f6e657874446179262628742e5f615b62745d3d3234292c742e5f772626766f69642030213d3d742e5f772e642626742e5f772e64213d3d72262628672874292e7765656b6461794d69736d617463683d2130297d7d766172206d653d2f5e5c732a28283f3a5b2b2d5d5c647b367d7c5c647b347d292d283f3a5c645c642d5c645c647c575c645c642d5c647c575c645c647c5c645c645c647c5c645c642929283f3a28547c2029285c645c64283f3a3a5c645c64283f3a3a5c645c64283f3a5b2e2c5d5c642b293f293f293f29285b5c2b5c2d5d5c645c64283f3a3a3f5c645c64293f7c5c732a5a293f293f242f2c70653d2f5e5c732a28283f3a5b2b2d5d5c647b367d7c5c647b347d29283f3a5c645c645c645c647c575c645c645c647c575c645c647c5c645c645c647c5c645c642929283f3a28547c2029285c645c64283f3a5c645c64283f3a5c645c64283f3a5b2e2c5d5c642b293f293f293f29285b5c2b5c2d5d5c645c64283f3a3a3f5c645c64293f7c5c732a5a293f293f242f2c76653d2f5a7c5b2b2d5d5c645c64283f3a3a3f5c645c64293f2f2c79653d5b5b225959595959592d4d4d2d4444222c2f5b2b2d5d5c647b367d2d5c645c642d5c645c642f5d2c5b22595959592d4d4d2d4444222c2f5c647b347d2d5c645c642d5c645c642f5d2c5b22474747472d5b575d57572d45222c2f5c647b347d2d575c645c642d5c642f5d2c5b22474747472d5b575d5757222c2f5c647b347d2d575c645c642f2c21315d2c5b22595959592d444444222c2f5c647b347d2d5c647b337d2f5d2c5b22595959592d4d4d222c2f5c647b347d2d5c645c642f2c21315d2c5b225959595959594d4d4444222c2f5b2b2d5d5c647b31307d2f5d2c5b22595959594d4d4444222c2f5c647b387d2f5d2c5b22474747475b575d575745222c2f5c647b347d575c647b337d2f5d2c5b22474747475b575d5757222c2f5c647b347d575c647b327d2f2c21315d2c5b2259595959444444222c2f5c647b377d2f5d5d2c62653d5b5b2248483a6d6d3a73732e53535353222c2f5c645c643a5c645c643a5c645c645c2e5c642b2f5d2c5b2248483a6d6d3a73732c53535353222c2f5c645c643a5c645c643a5c645c642c5c642b2f5d2c5b2248483a6d6d3a7373222c2f5c645c643a5c645c643a5c645c642f5d2c5b2248483a6d6d222c2f5c645c643a5c645c642f5d2c5b2248486d6d73732e53535353222c2f5c645c645c645c645c645c645c2e5c642b2f5d2c5b2248486d6d73732c53535353222c2f5c645c645c645c645c645c642c5c642b2f5d2c5b2248486d6d7373222c2f5c645c645c645c645c645c642f5d2c5b2248486d6d222c2f5c645c645c645c642f5d2c5b224848222c2f5c645c642f5d5d2c78653d2f5e5c2f3f446174655c28285c2d3f5c642b292f693b66756e6374696f6e205f652874297b76617220652c692c6e2c612c722c6f2c733d742e5f692c6c3d6d652e657865632873297c7c70652e657865632873293b6966286c297b666f7228672874292e69736f3d21302c653d302c693d79652e6c656e6774683b653c693b652b2b2969662879655b655d5b315d2e65786563286c5b315d29297b613d79655b655d5b305d2c6e3d2131213d3d79655b655d5b325d3b627265616b7d6966286e756c6c3d3d612972657475726e20766f696428742e5f697356616c69643d2131293b6966286c5b335d297b666f7228653d302c693d62652e6c656e6774683b653c693b652b2b2969662862655b655d5b315d2e65786563286c5b335d29297b723d286c5b325d7c7c222022292b62655b655d5b305d3b627265616b7d6966286e756c6c3d3d722972657475726e20766f696428742e5f697356616c69643d2131297d696628216e26266e756c6c213d722972657475726e20766f696428742e5f697356616c69643d2131293b6966286c5b345d297b6966282176652e65786563286c5b345d292972657475726e20766f696428742e5f697356616c69643d2131293b6f3d225a227d742e5f663d612b28727c7c2222292b286f7c7c2222292c44652874297d656c736520742e5f697356616c69643d21317d766172206b653d2f5e283f3a284d6f6e7c5475657c5765647c5468757c4672697c5361747c53756e292c3f5c73293f285c647b312c327d295c73284a616e7c4665627c4d61727c4170727c4d61797c4a756e7c4a756c7c4175677c5365707c4f63747c4e6f767c446563295c73285c647b322c347d295c73285c645c64293a285c645c6429283f3a3a285c645c6429293f5c73283f3a2855547c474d547c5b45434d505d5b53445d54297c285b5a7a5d297c285b2b2d5d5c647b347d2929242f3b66756e6374696f6e20776528742c652c692c6e2c612c72297b766172206f3d5b66756e6374696f6e2874297b76617220653d7061727365496e7428742c3130293b7b696628653c3d34392972657475726e203265332b653b696628653c3d3939392972657475726e20313930302b657d72657475726e20657d2874292c4c742e696e6465784f662865292c7061727365496e7428692c3130292c7061727365496e74286e2c3130292c7061727365496e7428612c3130295d3b72657475726e207226266f2e70757368287061727365496e7428722c313029292c6f7d766172204d653d7b55543a302c474d543a302c4544543a2d3234302c4553543a2d3330302c4344543a2d3330302c4353543a2d3336302c4d44543a2d3336302c4d53543a2d3432302c5044543a2d3432302c5053543a2d3438307d3b66756e6374696f6e2053652874297b76617220652c692c6e2c613d6b652e6578656328742e5f692e7265706c616365282f5c285b5e295d2a5c297c5b5c6e5c745d2f672c222022292e7265706c616365282f285c735c732b292f672c222022292e7472696d2829293b69662861297b76617220723d776528615b345d2c615b335d2c615b325d2c615b355d2c615b365d2c615b375d293b696628653d615b315d2c693d722c6e3d742c65262647742e696e6465784f66286529213d3d6e6577204461746528695b305d2c695b315d2c695b325d292e676574446179282926262867286e292e7765656b6461794d69736d617463683d21302c6e2e5f697356616c69643d21312c31292972657475726e3b742e5f613d722c742e5f747a6d3d66756e6374696f6e28742c652c69297b696628742972657475726e204d655b745d3b696628652972657475726e20303b766172206e3d7061727365496e7428692c3130292c613d6e253130303b72657475726e286e2d61292f3130302a36302b617d28615b385d2c615b395d2c615b31305d292c742e5f643d56742e6170706c79286e756c6c2c742e5f61292c742e5f642e7365745554434d696e7574657328742e5f642e6765745554434d696e7574657328292d742e5f747a6d292c672874292e726663323832323d21307d656c736520742e5f697356616c69643d21317d66756e6374696f6e2044652874297b696628742e5f66213d3d612e49534f5f3836303129696628742e5f66213d3d612e5246435f32383232297b742e5f613d5b5d2c672874292e656d7074793d21303b76617220652c692c6e2c722c6f2c732c6c2c752c643d22222b742e5f692c633d642e6c656e6774682c663d303b666f72286e3d7128742e5f662c742e5f6c6f63616c65292e6d617463682848297c7c5b5d2c653d303b653c6e2e6c656e6774683b652b2b29723d6e5b655d2c28693d28642e6d6174636828687428722c7429297c7c5b5d295b305d29262628286f3d642e73756273747228302c642e696e6465784f6628692929292e6c656e6774683e302626672874292e756e75736564496e7075742e70757368286f292c643d642e736c69636528642e696e6465784f662869292b692e6c656e677468292c662b3d692e6c656e677468292c455b725d3f28693f672874292e656d7074793d21313a672874292e756e75736564546f6b656e732e707573682872292c733d722c753d742c6e756c6c213d286c3d69292626682866742c7329262666745b735d286c2c752e5f612c752c7329293a742e5f737472696374262621692626672874292e756e75736564546f6b656e732e707573682872293b672874292e63686172734c6566744f7665723d632d662c642e6c656e6774683e302626672874292e756e75736564496e7075742e707573682864292c742e5f615b62745d3c3d3132262621303d3d3d672874292e626967486f75722626742e5f615b62745d3e30262628672874292e626967486f75723d766f69642030292c672874292e7061727365644461746550617274733d742e5f612e736c6963652830292c672874292e6d6572696469656d3d742e5f6d6572696469656d2c742e5f615b62745d3d66756e6374696f6e28742c652c69297b766172206e3b6966286e756c6c3d3d692972657475726e20653b72657475726e206e756c6c213d742e6d6572696469656d486f75723f742e6d6572696469656d486f757228652c69293a6e756c6c213d742e6973504d3f28286e3d742e6973504d286929292626653c3132262628652b3d3132292c6e7c7c3132213d3d657c7c28653d30292c65293a657d28742e5f6c6f63616c652c742e5f615b62745d2c742e5f6d6572696469656d292c67652874292c63652874297d656c73652053652874293b656c7365205f652874297d66756e6374696f6e2043652874297b76617220652c692c6e2c682c663d742e5f692c763d742e5f663b72657475726e20742e5f6c6f63616c653d742e5f6c6f63616c657c7c686528742e5f6c292c6e756c6c3d3d3d667c7c766f696420303d3d3d76262622223d3d3d663f70287b6e756c6c496e7075743a21307d293a2822737472696e67223d3d747970656f662066262628742e5f693d663d742e5f6c6f63616c652e7072657061727365286629292c5f2866293f6e65772078286365286629293a28752866293f742e5f643d663a722876293f66756e6374696f6e2874297b76617220652c692c6e2c612c723b696628303d3d3d742e5f662e6c656e6774682972657475726e20672874292e696e76616c6964466f726d61743d21302c766f696428742e5f643d6e65772044617465284e614e29293b666f7228613d303b613c742e5f662e6c656e6774683b612b2b29723d302c653d79287b7d2c74292c6e756c6c213d742e5f757365555443262628652e5f7573655554433d742e5f757365555443292c652e5f663d742e5f665b615d2c44652865292c6d286529262628722b3d672865292e63686172734c6566744f7665722c722b3d31302a672865292e756e75736564546f6b656e732e6c656e6774682c672865292e73636f72653d722c286e756c6c3d3d6e7c7c723c6e292626286e3d722c693d6529293b6328742c697c7c65297d2874293a763f44652874293a7328693d28653d74292e5f69293f652e5f643d6e6577204461746528612e6e6f772829293a752869293f652e5f643d6e6577204461746528692e76616c75654f662829293a22737472696e67223d3d747970656f6620693f286e3d652c6e756c6c3d3d3d28683d78652e65786563286e2e5f6929293f285f65286e292c21313d3d3d6e2e5f697356616c696426262864656c657465206e2e5f697356616c69642c5365286e292c21313d3d3d6e2e5f697356616c696426262864656c657465206e2e5f697356616c69642c612e63726561746546726f6d496e70757446616c6c6261636b286e292929293a6e2e5f643d6e65772044617465282b685b315d29293a722869293f28652e5f613d6428692e736c6963652830292c66756e6374696f6e2874297b72657475726e207061727365496e7428742c3130297d292c6765286529293a6f2869293f66756e6374696f6e2874297b69662821742e5f64297b76617220653d5728742e5f69293b742e5f613d64285b652e796561722c652e6d6f6e74682c652e6461797c7c652e646174652c652e686f75722c652e6d696e7574652c652e7365636f6e642c652e6d696c6c697365636f6e645d2c66756e6374696f6e2874297b72657475726e207426267061727365496e7428742c3130297d292c67652874297d7d2865293a6c2869293f652e5f643d6e657720446174652869293a612e63726561746546726f6d496e70757446616c6c6261636b2865292c6d2874297c7c28742e5f643d6e756c6c292c7429297d66756e6374696f6e20506528742c652c692c6e2c61297b76617220732c6c3d7b7d3b72657475726e2130213d3d6926262131213d3d697c7c286e3d692c693d766f69642030292c286f287429262666756e6374696f6e2874297b6966284f626a6563742e6765744f776e50726f70657274794e616d65732972657475726e20303d3d3d4f626a6563742e6765744f776e50726f70657274794e616d65732874292e6c656e6774683b76617220653b666f72286520696e207429696628742e6861734f776e50726f70657274792865292972657475726e21313b72657475726e21307d2874297c7c722874292626303d3d3d742e6c656e67746829262628743d766f69642030292c6c2e5f6973414d6f6d656e744f626a6563743d21302c6c2e5f7573655554433d6c2e5f69735554433d612c6c2e5f6c3d692c6c2e5f693d742c6c2e5f663d652c6c2e5f7374726963743d6e2c28733d6e65772078286365284365286c292929292e5f6e657874446179262628732e61646428312c226422292c732e5f6e6578744461793d766f69642030292c737d66756e6374696f6e20546528742c652c692c6e297b72657475726e20506528742c652c692c6e2c2131297d612e63726561746546726f6d496e70757446616c6c6261636b3d44282276616c75652070726f7669646564206973206e6f7420696e2061207265636f676e697a65642052464332383232206f722049534f20666f726d61742e206d6f6d656e7420636f6e737472756374696f6e2066616c6c73206261636b20746f206a73204461746528292c207768696368206973206e6f742072656c6961626c65206163726f737320616c6c2062726f777365727320616e642076657273696f6e732e204e6f6e20524643323832322f49534f206461746520666f726d6174732061726520646973636f75726167656420616e642077696c6c2062652072656d6f76656420696e20616e207570636f6d696e67206d616a6f722072656c656173652e20506c6561736520726566657220746f20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6a732d646174652f20666f72206d6f726520696e666f2e222c66756e6374696f6e2874297b742e5f643d6e6577204461746528742e5f692b28742e5f7573655554433f2220555443223a222229297d292c612e49534f5f383630313d66756e6374696f6e28297b7d2c612e5246435f323832323d66756e6374696f6e28297b7d3b766172204f653d4428226d6f6d656e7428292e6d696e20697320646570726563617465642c20757365206d6f6d656e742e6d617820696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6d696e2d6d61782f222c66756e6374696f6e28297b76617220743d54652e6170706c79286e756c6c2c617267756d656e7473293b72657475726e20746869732e697356616c696428292626742e697356616c696428293f743c746869733f746869733a743a7028297d292c49653d4428226d6f6d656e7428292e6d617820697320646570726563617465642c20757365206d6f6d656e742e6d696e20696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6d696e2d6d61782f222c66756e6374696f6e28297b76617220743d54652e6170706c79286e756c6c2c617267756d656e7473293b72657475726e20746869732e697356616c696428292626742e697356616c696428293f743e746869733f746869733a743a7028297d293b66756e6374696f6e20416528742c65297b76617220692c6e3b696628313d3d3d652e6c656e67746826267228655b305d29262628653d655b305d292c21652e6c656e6774682972657475726e20546528293b666f7228693d655b305d2c6e3d313b6e3c652e6c656e6774683b2b2b6e29655b6e5d2e697356616c69642829262621655b6e5d5b745d2869297c7c28693d655b6e5d293b72657475726e20697d7661722046653d5b2279656172222c2271756172746572222c226d6f6e7468222c227765656b222c22646179222c22686f7572222c226d696e757465222c227365636f6e64222c226d696c6c697365636f6e64225d3b66756e6374696f6e2052652874297b76617220653d572874292c693d652e796561727c7c302c6e3d652e717561727465727c7c302c613d652e6d6f6e74687c7c302c723d652e7765656b7c7c302c6f3d652e6461797c7c302c733d652e686f75727c7c302c6c3d652e6d696e7574657c7c302c753d652e7365636f6e647c7c302c643d652e6d696c6c697365636f6e647c7c303b746869732e5f697356616c69643d66756e6374696f6e2874297b666f7228766172206520696e2074296966282d313d3d3d43742e63616c6c2846652c65297c7c6e756c6c213d745b655d262669734e614e28745b655d292972657475726e21313b666f722876617220693d21312c6e3d303b6e3c46652e6c656e6774683b2b2b6e29696628745b46655b6e5d5d297b696628692972657475726e21313b7061727365466c6f617428745b46655b6e5d5d29213d3d7728745b46655b6e5d5d29262628693d2130297d72657475726e21307d2865292c746869732e5f6d696c6c697365636f6e64733d2b642b3165332a752b3665342a6c2b3165332a732a36302a36302c746869732e5f646179733d2b6f2b372a722c746869732e5f6d6f6e7468733d2b612b332a6e2b31322a692c746869732e5f646174613d7b7d2c746869732e5f6c6f63616c653d686528292c746869732e5f627562626c6528297d66756e6374696f6e204c652874297b72657475726e207420696e7374616e63656f662052657d66756e6374696f6e2057652874297b72657475726e20743c303f2d312a4d6174682e726f756e64282d312a74293a4d6174682e726f756e642874297d66756e6374696f6e20596528742c65297b6a28742c302c302c66756e6374696f6e28297b76617220743d746869732e7574634f666673657428292c693d222b223b72657475726e20743c30262628743d2d742c693d222d22292c692b7a287e7e28742f3630292c32292b652b7a287e7e742536302c32297d297d596528225a222c223a22292c596528225a5a222c2222292c647428225a222c7374292c647428225a5a222c7374292c6774285b225a222c225a5a225d2c66756e6374696f6e28742c652c69297b692e5f7573655554433d21302c692e5f747a6d3d7a652873742c74297d293b766172204e653d2f285b5c2b5c2d5d7c5c645c64292f67693b66756e6374696f6e207a6528742c65297b76617220693d28657c7c2222292e6d617463682874293b6966286e756c6c3d3d3d692972657475726e206e756c6c3b766172206e3d2828695b692e6c656e6774682d315d7c7c5b5d292b2222292e6d61746368284e65297c7c5b222d222c302c305d2c613d36302a6e5b315d2b77286e5b325d293b72657475726e20303d3d3d613f303a222b223d3d3d6e5b305d3f613a2d617d66756e6374696f6e20486528742c65297b76617220692c6e3b72657475726e20652e5f69735554433f28693d652e636c6f6e6528292c6e3d285f2874297c7c752874293f742e76616c75654f6628293a54652874292e76616c75654f662829292d692e76616c75654f6628292c692e5f642e73657454696d6528692e5f642e76616c75654f6628292b6e292c612e7570646174654f666673657428692c2131292c69293a54652874292e6c6f63616c28297d66756e6374696f6e2056652874297b72657475726e2031352a2d4d6174682e726f756e6428742e5f642e67657454696d657a6f6e654f666673657428292f3135297d66756e6374696f6e20426528297b72657475726e2121746869732e697356616c69642829262628746869732e5f69735554432626303d3d3d746869732e5f6f6666736574297d612e7570646174654f66667365743d66756e6374696f6e28297b7d3b7661722045653d2f5e285c2d7c5c2b293f283f3a285c642a295b2e205d293f285c642b295c3a285c642b29283f3a5c3a285c642b29285c2e5c642a293f293f242f2c6a653d2f5e282d7c5c2b293f50283f3a285b2d2b5d3f5b302d392c2e5d2a2959293f283f3a285b2d2b5d3f5b302d392c2e5d2a294d293f283f3a285b2d2b5d3f5b302d392c2e5d2a2957293f283f3a285b2d2b5d3f5b302d392c2e5d2a2944293f283f3a54283f3a285b2d2b5d3f5b302d392c2e5d2a2948293f283f3a285b2d2b5d3f5b302d392c2e5d2a294d293f283f3a285b2d2b5d3f5b302d392c2e5d2a2953293f293f242f3b66756e6374696f6e20556528742c65297b76617220692c6e2c612c723d742c6f3d6e756c6c3b72657475726e204c652874293f723d7b6d733a742e5f6d696c6c697365636f6e64732c643a742e5f646179732c4d3a742e5f6d6f6e7468737d3a6c2874293f28723d7b7d2c653f725b655d3d743a722e6d696c6c697365636f6e64733d74293a286f3d45652e65786563287429293f28693d222d223d3d3d6f5b315d3f2d313a312c723d7b793a302c643a77286f5b79745d292a692c683a77286f5b62745d292a692c6d3a77286f5b78745d292a692c733a77286f5b5f745d292a692c6d733a77285765283165332a6f5b6b745d29292a697d293a286f3d6a652e65786563287429293f28693d222d223d3d3d6f5b315d3f2d313a286f5b315d2c31292c723d7b793a7165286f5b325d2c69292c4d3a7165286f5b335d2c69292c773a7165286f5b345d2c69292c643a7165286f5b355d2c69292c683a7165286f5b365d2c69292c6d3a7165286f5b375d2c69292c733a7165286f5b385d2c69297d293a6e756c6c3d3d723f723d7b7d3a226f626a656374223d3d747970656f6620722626282266726f6d22696e20727c7c22746f22696e207229262628613d66756e6374696f6e28742c65297b76617220693b69662821742e697356616c696428297c7c21652e697356616c696428292972657475726e7b6d696c6c697365636f6e64733a302c6d6f6e7468733a307d3b653d486528652c74292c742e69734265666f72652865293f693d476528742c65293a2828693d476528652c7429292e6d696c6c697365636f6e64733d2d692e6d696c6c697365636f6e64732c692e6d6f6e7468733d2d692e6d6f6e746873293b72657475726e20697d28546528722e66726f6d292c546528722e746f29292c28723d7b7d292e6d733d612e6d696c6c697365636f6e64732c722e4d3d612e6d6f6e746873292c6e3d6e65772052652872292c4c6528742926266828742c225f6c6f63616c6522292626286e2e5f6c6f63616c653d742e5f6c6f63616c65292c6e7d66756e6374696f6e20716528742c65297b76617220693d7426267061727365466c6f617428742e7265706c61636528222c222c222e2229293b72657475726e2869734e614e2869293f303a69292a657d66756e6374696f6e20476528742c65297b76617220693d7b6d696c6c697365636f6e64733a302c6d6f6e7468733a307d3b72657475726e20692e6d6f6e7468733d652e6d6f6e746828292d742e6d6f6e746828292b31322a28652e7965617228292d742e796561722829292c742e636c6f6e6528292e61646428692e6d6f6e7468732c224d22292e6973416674657228652926262d2d692e6d6f6e7468732c692e6d696c6c697365636f6e64733d2b652d2b742e636c6f6e6528292e61646428692e6d6f6e7468732c224d22292c697d66756e6374696f6e205a6528742c65297b72657475726e2066756e6374696f6e28692c6e297b76617220613b72657475726e206e756c6c3d3d3d6e7c7c69734e614e282b6e297c7c285428652c226d6f6d656e7428292e222b652b2228706572696f642c206e756d6265722920697320646570726563617465642e20506c6561736520757365206d6f6d656e7428292e222b652b22286e756d6265722c20706572696f64292e2053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6164642d696e7665727465642d706172616d2f20666f72206d6f726520696e666f2e22292c613d692c693d6e2c6e3d61292c586528746869732c556528693d22737472696e67223d3d747970656f6620693f2b693a692c6e292c74292c746869737d7d66756e6374696f6e20586528742c652c692c6e297b76617220723d652e5f6d696c6c697365636f6e64732c6f3d576528652e5f64617973292c733d576528652e5f6d6f6e746873293b742e697356616c696428292626286e3d6e756c6c3d3d6e7c7c6e2c732626577428742c4f7428742c224d6f6e746822292b732a69292c6f2626497428742c2244617465222c4f7428742c224461746522292b6f2a69292c722626742e5f642e73657454696d6528742e5f642e76616c75654f6628292b722a69292c6e2626612e7570646174654f666673657428742c6f7c7c7329297d55652e666e3d52652e70726f746f747970652c55652e696e76616c69643d66756e6374696f6e28297b72657475726e205565284e614e297d3b766172204a653d5a6528312c2261646422292c4b653d5a65282d312c22737562747261637422293b66756e6374696f6e20246528742c65297b76617220693d31322a28652e7965617228292d742e796561722829292b28652e6d6f6e746828292d742e6d6f6e74682829292c6e3d742e636c6f6e6528292e61646428692c226d6f6e74687322293b72657475726e2d28692b28652d6e3c303f28652d6e292f286e2d742e636c6f6e6528292e61646428692d312c226d6f6e7468732229293a28652d6e292f28742e636c6f6e6528292e61646428692b312c226d6f6e74687322292d6e2929297c7c307d66756e6374696f6e2051652874297b76617220653b72657475726e20766f696420303d3d3d743f746869732e5f6c6f63616c652e5f616262723a286e756c6c213d28653d686528742929262628746869732e5f6c6f63616c653d65292c74686973297d612e64656661756c74466f726d61743d22595959592d4d4d2d44445448483a6d6d3a73735a222c612e64656661756c74466f726d61745574633d22595959592d4d4d2d44445448483a6d6d3a73735b5a5d223b7661722074693d4428226d6f6d656e7428292e6c616e67282920697320646570726563617465642e20496e73746561642c20757365206d6f6d656e7428292e6c6f63616c6544617461282920746f2067657420746865206c616e677561676520636f6e66696775726174696f6e2e20557365206d6f6d656e7428292e6c6f63616c65282920746f206368616e6765206c616e6775616765732e222c66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f746869732e6c6f63616c654461746128293a746869732e6c6f63616c652874297d293b66756e6374696f6e20656928297b72657475726e20746869732e5f6c6f63616c657d66756e6374696f6e20696928742c65297b6a28302c5b742c742e6c656e6774685d2c302c65297d66756e6374696f6e206e6928742c652c692c6e2c61297b76617220723b72657475726e206e756c6c3d3d743f6a7428746869732c6e2c61292e796561723a28653e28723d557428742c6e2c612929262628653d72292c66756e6374696f6e28742c652c692c6e2c61297b76617220723d457428742c652c692c6e2c61292c6f3d567428722e796561722c302c722e6461794f6659656172293b72657475726e20746869732e79656172286f2e67657455544346756c6c596561722829292c746869732e6d6f6e7468286f2e6765745554434d6f6e74682829292c746869732e64617465286f2e676574555443446174652829292c746869737d2e63616c6c28746869732c742c652c692c6e2c6129297d6a28302c5b226767222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e7765656b596561722829253130307d292c6a28302c5b224747222c325d2c302c66756e6374696f6e28297b72657475726e20746869732e69736f5765656b596561722829253130307d292c6969282267676767222c227765656b5965617222292c696928226767676767222c227765656b5965617222292c6969282247474747222c2269736f5765656b5965617222292c696928224747474747222c2269736f5765656b5965617222292c5228227765656b59656172222c22676722292c52282269736f5765656b59656172222c22474722292c4e28227765656b59656172222c31292c4e282269736f5765656b59656172222c31292c6474282247222c7274292c6474282267222c7274292c647428224747222c242c5a292c647428226767222c242c5a292c6474282247474747222c69742c4a292c6474282267676767222c69742c4a292c647428224747474747222c6e742c4b292c647428226767676767222c6e742c4b292c6d74285b2267676767222c226767676767222c2247474747222c224747474747225d2c66756e6374696f6e28742c652c692c6e297b655b6e2e73756273747228302c32295d3d772874297d292c6d74285b226767222c224747225d2c66756e6374696f6e28742c652c692c6e297b655b6e5d3d612e706172736554776f4469676974596561722874297d292c6a282251222c302c22516f222c227175617274657222292c52282271756172746572222c225122292c4e282271756172746572222c37292c6474282251222c47292c6774282251222c66756e6374696f6e28742c65297b655b76745d3d332a28772874292d31297d292c6a282244222c5b224444222c325d2c22446f222c226461746522292c52282264617465222c224422292c4e282264617465222c39292c6474282244222c24292c647428224444222c242c5a292c64742822446f222c66756e6374696f6e28742c65297b72657475726e20743f652e5f6461794f664d6f6e74684f7264696e616c50617273657c7c652e5f6f7264696e616c50617273653a652e5f6461794f664d6f6e74684f7264696e616c50617273654c656e69656e747d292c6774285b2244222c224444225d2c7974292c67742822446f222c66756e6374696f6e28742c65297b655b79745d3d7728742e6d617463682824295b305d297d293b7661722061693d5474282244617465222c2130293b6a2822444444222c5b2244444444222c335d2c224444446f222c226461794f665965617222292c5228226461794f6659656172222c2244444422292c4e28226461794f6659656172222c34292c64742822444444222c6574292c6474282244444444222c58292c6774285b22444444222c2244444444225d2c66756e6374696f6e28742c652c69297b692e5f6461794f66596561723d772874297d292c6a28226d222c5b226d6d222c325d2c302c226d696e75746522292c5228226d696e757465222c226d22292c4e28226d696e757465222c3134292c647428226d222c24292c647428226d6d222c242c5a292c6774285b226d222c226d6d225d2c7874293b7661722072693d547428224d696e75746573222c2131293b6a282273222c5b227373222c325d2c302c227365636f6e6422292c5228227365636f6e64222c227322292c4e28227365636f6e64222c3135292c6474282273222c24292c647428227373222c242c5a292c6774285b2273222c227373225d2c5f74293b766172206f692c73693d547428225365636f6e6473222c2131293b666f72286a282253222c302c302c66756e6374696f6e28297b72657475726e7e7e28746869732e6d696c6c697365636f6e6428292f313030297d292c6a28302c5b225353222c325d2c302c66756e6374696f6e28297b72657475726e7e7e28746869732e6d696c6c697365636f6e6428292f3130297d292c6a28302c5b22535353222c335d2c302c226d696c6c697365636f6e6422292c6a28302c5b2253535353222c345d2c302c66756e6374696f6e28297b72657475726e2031302a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b225353535353222c355d2c302c66756e6374696f6e28297b72657475726e203130302a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b22535353535353222c365d2c302c66756e6374696f6e28297b72657475726e203165332a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b2253535353535353222c375d2c302c66756e6374696f6e28297b72657475726e203165342a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b225353535353535353222c385d2c302c66756e6374696f6e28297b72657475726e203165352a746869732e6d696c6c697365636f6e6428297d292c6a28302c5b22535353535353535353222c395d2c302c66756e6374696f6e28297b72657475726e203165362a746869732e6d696c6c697365636f6e6428297d292c5228226d696c6c697365636f6e64222c226d7322292c4e28226d696c6c697365636f6e64222c3136292c6474282253222c65742c47292c647428225353222c65742c5a292c64742822535353222c65742c58292c6f693d2253535353223b6f692e6c656e6774683c3d393b6f692b3d225322296474286f692c6174293b66756e6374696f6e206c6928742c65297b655b6b745d3d77283165332a2822302e222b7429297d666f72286f693d2253223b6f692e6c656e6774683c3d393b6f692b3d225322296774286f692c6c69293b7661722075693d547428224d696c6c697365636f6e6473222c2131293b6a28227a222c302c302c227a6f6e654162627222292c6a28227a7a222c302c302c227a6f6e654e616d6522293b7661722064693d782e70726f746f747970653b66756e6374696f6e2068692874297b72657475726e20747d64692e6164643d4a652c64692e63616c656e6461723d66756e6374696f6e28742c65297b76617220693d747c7c546528292c6e3d486528692c74686973292e73746172744f66282264617922292c723d612e63616c656e646172466f726d617428746869732c6e297c7c2273616d65456c7365222c6f3d652626284f28655b725d293f655b725d2e63616c6c28746869732c69293a655b725d293b72657475726e20746869732e666f726d6174286f7c7c746869732e6c6f63616c654461746128292e63616c656e64617228722c746869732c546528692929297d2c64692e636c6f6e653d66756e6374696f6e28297b72657475726e206e657720782874686973297d2c64692e646966663d66756e6374696f6e28742c652c69297b766172206e2c612c723b69662821746869732e697356616c696428292972657475726e204e614e3b69662821286e3d486528742c7468697329292e697356616c696428292972657475726e204e614e3b73776974636828613d3665342a286e2e7574634f666673657428292d746869732e7574634f66667365742829292c653d4c286529297b636173652279656172223a723d246528746869732c6e292f31323b627265616b3b63617365226d6f6e7468223a723d246528746869732c6e293b627265616b3b636173652271756172746572223a723d246528746869732c6e292f333b627265616b3b63617365227365636f6e64223a723d28746869732d6e292f3165333b627265616b3b63617365226d696e757465223a723d28746869732d6e292f3665343b627265616b3b6361736522686f7572223a723d28746869732d6e292f333665353b627265616b3b6361736522646179223a723d28746869732d6e2d61292f38363465353b627265616b3b63617365227765656b223a723d28746869732d6e2d61292f3630343865353b627265616b3b64656661756c743a723d746869732d6e7d72657475726e20693f723a6b2872297d2c64692e656e644f663d66756e6374696f6e2874297b72657475726e20766f696420303d3d3d28743d4c287429297c7c226d696c6c697365636f6e64223d3d3d743f746869733a282264617465223d3d3d74262628743d2264617922292c746869732e73746172744f662874292e61646428312c2269736f5765656b223d3d3d743f227765656b223a74292e737562747261637428312c226d732229297d2c64692e666f726d61743d66756e6374696f6e2874297b747c7c28743d746869732e697355746328293f612e64656661756c74466f726d61745574633a612e64656661756c74466f726d6174293b76617220653d5528746869732c74293b72657475726e20746869732e6c6f63616c654461746128292e706f7374666f726d61742865297d2c64692e66726f6d3d66756e6374696f6e28742c65297b72657475726e20746869732e697356616c696428292626285f2874292626742e697356616c696428297c7c54652874292e697356616c69642829293f5565287b746f3a746869732c66726f6d3a747d292e6c6f63616c6528746869732e6c6f63616c652829292e68756d616e697a65282165293a746869732e6c6f63616c654461746128292e696e76616c69644461746528297d2c64692e66726f6d4e6f773d66756e6374696f6e2874297b72657475726e20746869732e66726f6d28546528292c74297d2c64692e746f3d66756e6374696f6e28742c65297b72657475726e20746869732e697356616c696428292626285f2874292626742e697356616c696428297c7c54652874292e697356616c69642829293f5565287b66726f6d3a746869732c746f3a747d292e6c6f63616c6528746869732e6c6f63616c652829292e68756d616e697a65282165293a746869732e6c6f63616c654461746128292e696e76616c69644461746528297d2c64692e746f4e6f773d66756e6374696f6e2874297b72657475726e20746869732e746f28546528292c74297d2c64692e6765743d66756e6374696f6e2874297b72657475726e204f28746869735b743d4c2874295d293f746869735b745d28293a746869737d2c64692e696e76616c696441743d66756e6374696f6e28297b72657475726e20672874686973292e6f766572666c6f777d2c64692e697341667465723d66756e6374696f6e28742c65297b76617220693d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c21692e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28732865293f226d696c6c697365636f6e64223a6529293f746869732e76616c75654f6628293e692e76616c75654f6628293a692e76616c75654f6628293c746869732e636c6f6e6528292e73746172744f662865292e76616c75654f662829297d2c64692e69734265666f72653d66756e6374696f6e28742c65297b76617220693d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c21692e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28732865293f226d696c6c697365636f6e64223a6529293f746869732e76616c75654f6628293c692e76616c75654f6628293a746869732e636c6f6e6528292e656e644f662865292e76616c75654f6628293c692e76616c75654f662829297d2c64692e69734265747765656e3d66756e6374696f6e28742c652c692c6e297b72657475726e282228223d3d3d286e3d6e7c7c22282922295b305d3f746869732e6973416674657228742c69293a21746869732e69734265666f726528742c6929292626282229223d3d3d6e5b315d3f746869732e69734265666f726528652c69293a21746869732e6973416674657228652c6929297d2c64692e697353616d653d66756e6374696f6e28742c65297b76617220692c6e3d5f2874293f743a54652874293b72657475726e212821746869732e697356616c696428297c7c216e2e697356616c6964282929262628226d696c6c697365636f6e64223d3d3d28653d4c28657c7c226d696c6c697365636f6e642229293f746869732e76616c75654f6628293d3d3d6e2e76616c75654f6628293a28693d6e2e76616c75654f6628292c746869732e636c6f6e6528292e73746172744f662865292e76616c75654f6628293c3d692626693c3d746869732e636c6f6e6528292e656e644f662865292e76616c75654f66282929297d2c64692e697353616d654f7241667465723d66756e6374696f6e28742c65297b72657475726e20746869732e697353616d6528742c65297c7c746869732e6973416674657228742c65297d2c64692e697353616d654f724265666f72653d66756e6374696f6e28742c65297b72657475726e20746869732e697353616d6528742c65297c7c746869732e69734265666f726528742c65297d2c64692e697356616c69643d66756e6374696f6e28297b72657475726e206d2874686973297d2c64692e6c616e673d74692c64692e6c6f63616c653d51652c64692e6c6f63616c65446174613d65692c64692e6d61783d49652c64692e6d696e3d4f652c64692e70617273696e67466c6167733d66756e6374696f6e28297b72657475726e2063287b7d2c67287468697329297d2c64692e7365743d66756e6374696f6e28742c65297b696628226f626a656374223d3d747970656f66207429666f722876617220693d66756e6374696f6e2874297b76617220653d5b5d3b666f7228766172206920696e207429652e70757368287b756e69743a692c7072696f726974793a595b695d7d293b72657475726e20652e736f72742866756e6374696f6e28742c65297b72657475726e20742e7072696f726974792d652e7072696f726974797d292c657d28743d57287429292c6e3d303b6e3c692e6c656e6774683b6e2b2b29746869735b695b6e5d2e756e69745d28745b695b6e5d2e756e69745d293b656c7365206966284f28746869735b743d4c2874295d292972657475726e20746869735b745d2865293b72657475726e20746869737d2c64692e73746172744f663d66756e6374696f6e2874297b73776974636828743d4c287429297b636173652279656172223a746869732e6d6f6e74682830293b636173652271756172746572223a63617365226d6f6e7468223a746869732e646174652831293b63617365227765656b223a636173652269736f5765656b223a6361736522646179223a636173652264617465223a746869732e686f7572732830293b6361736522686f7572223a746869732e6d696e757465732830293b63617365226d696e757465223a746869732e7365636f6e64732830293b63617365227365636f6e64223a746869732e6d696c6c697365636f6e64732830297d72657475726e227765656b223d3d3d742626746869732e7765656b6461792830292c2269736f5765656b223d3d3d742626746869732e69736f5765656b6461792831292c2271756172746572223d3d3d742626746869732e6d6f6e746828332a4d6174682e666c6f6f7228746869732e6d6f6e746828292f3329292c746869737d2c64692e73756274726163743d4b652c64692e746f41727261793d66756e6374696f6e28297b76617220743d746869733b72657475726e5b742e7965617228292c742e6d6f6e746828292c742e6461746528292c742e686f757228292c742e6d696e75746528292c742e7365636f6e6428292c742e6d696c6c697365636f6e6428295d7d2c64692e746f4f626a6563743d66756e6374696f6e28297b76617220743d746869733b72657475726e7b79656172733a742e7965617228292c6d6f6e7468733a742e6d6f6e746828292c646174653a742e6461746528292c686f7572733a742e686f75727328292c6d696e757465733a742e6d696e7574657328292c7365636f6e64733a742e7365636f6e647328292c6d696c6c697365636f6e64733a742e6d696c6c697365636f6e647328297d7d2c64692e746f446174653d66756e6374696f6e28297b72657475726e206e6577204461746528746869732e76616c75654f662829297d2c64692e746f49534f537472696e673d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c3b76617220653d2130213d3d742c693d653f746869732e636c6f6e6528292e75746328293a746869733b72657475726e20692e7965617228293c307c7c692e7965617228293e393939393f5528692c653f225959595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535b5a5d223a225959595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535a22293a4f28446174652e70726f746f747970652e746f49534f537472696e67293f653f746869732e746f4461746528292e746f49534f537472696e6728293a6e6577204461746528746869732e5f642e76616c75654f662829292e746f49534f537472696e6728292e7265706c61636528225a222c5528692c225a2229293a5528692c653f22595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535b5a5d223a22595959592d4d4d2d44445b545d48483a6d6d3a73732e5353535a22297d2c64692e696e73706563743d66756e6374696f6e28297b69662821746869732e697356616c696428292972657475726e226d6f6d656e742e696e76616c6964282f2a20222b746869732e5f692b22202a2f29223b76617220743d226d6f6d656e74222c653d22223b746869732e69734c6f63616c28297c7c28743d303d3d3d746869732e7574634f666673657428293f226d6f6d656e742e757463223a226d6f6d656e742e70617273655a6f6e65222c653d225a22293b76617220693d225b222b742b2728225d272c6e3d303c3d746869732e7965617228292626746869732e7965617228293c3d393939393f2259595959223a22595959595959222c613d652b275b22295d273b72657475726e20746869732e666f726d617428692b6e2b222d4d4d2d44445b545d48483a6d6d3a73732e535353222b61297d2c64692e746f4a534f4e3d66756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e746f49534f537472696e6728293a6e756c6c7d2c64692e746f537472696e673d66756e6374696f6e28297b72657475726e20746869732e636c6f6e6528292e6c6f63616c652822656e22292e666f726d61742822646464204d4d4d20444420595959592048483a6d6d3a7373205b474d545d5a5a22297d2c64692e756e69783d66756e6374696f6e28297b72657475726e204d6174682e666c6f6f7228746869732e76616c75654f6628292f316533297d2c64692e76616c75654f663d66756e6374696f6e28297b72657475726e20746869732e5f642e76616c75654f6628292d3665342a28746869732e5f6f66667365747c7c30297d2c64692e6372656174696f6e446174613d66756e6374696f6e28297b72657475726e7b696e7075743a746869732e5f692c666f726d61743a746869732e5f662c6c6f63616c653a746869732e5f6c6f63616c652c69735554433a746869732e5f69735554432c7374726963743a746869732e5f7374726963747d7d2c64692e796561723d50742c64692e69734c656170596561723d66756e6374696f6e28297b72657475726e20447428746869732e796561722829297d2c64692e7765656b596561723d66756e6374696f6e2874297b72657475726e206e692e63616c6c28746869732c742c746869732e7765656b28292c746869732e7765656b64617928292c746869732e6c6f63616c654461746128292e5f7765656b2e646f772c746869732e6c6f63616c654461746128292e5f7765656b2e646f79297d2c64692e69736f5765656b596561723d66756e6374696f6e2874297b72657475726e206e692e63616c6c28746869732c742c746869732e69736f5765656b28292c746869732e69736f5765656b64617928292c312c34297d2c64692e717561727465723d64692e71756172746572733d66756e6374696f6e2874297b72657475726e206e756c6c3d3d743f4d6174682e6365696c2828746869732e6d6f6e746828292b31292f33293a746869732e6d6f6e746828332a28742d31292b746869732e6d6f6e746828292533297d2c64692e6d6f6e74683d59742c64692e64617973496e4d6f6e74683d66756e6374696f6e28297b72657475726e20417428746869732e7965617228292c746869732e6d6f6e74682829297d2c64692e7765656b3d64692e7765656b733d66756e6374696f6e2874297b76617220653d746869732e6c6f63616c654461746128292e7765656b2874686973293b72657475726e206e756c6c3d3d743f653a746869732e61646428372a28742d65292c226422297d2c64692e69736f5765656b3d64692e69736f5765656b733d66756e6374696f6e2874297b76617220653d6a7428746869732c312c34292e7765656b3b72657475726e206e756c6c3d3d743f653a746869732e61646428372a28742d65292c226422297d2c64692e7765656b73496e596561723d66756e6374696f6e28297b76617220743d746869732e6c6f63616c654461746128292e5f7765656b3b72657475726e20557428746869732e7965617228292c742e646f772c742e646f79297d2c64692e69736f5765656b73496e596561723d66756e6374696f6e28297b72657475726e20557428746869732e7965617228292c312c34297d2c64692e646174653d61692c64692e6461793d64692e646179733d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b76617220652c692c6e3d746869732e5f69735554433f746869732e5f642e67657455544344617928293a746869732e5f642e67657444617928293b72657475726e206e756c6c213d743f28653d742c693d746869732e6c6f63616c654461746128292c743d22737472696e6722213d747970656f6620653f653a69734e614e2865293f226e756d626572223d3d747970656f6628653d692e7765656b646179735061727365286529293f653a6e756c6c3a7061727365496e7428652c3130292c746869732e61646428742d6e2c22642229293a6e7d2c64692e7765656b6461793d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b76617220653d28746869732e64617928292b372d746869732e6c6f63616c654461746128292e5f7765656b2e646f772925373b72657475726e206e756c6c3d3d743f653a746869732e61646428742d652c226422297d2c64692e69736f5765656b6461793d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b6966286e756c6c213d74297b76617220653d28693d742c6e3d746869732e6c6f63616c654461746128292c22737472696e67223d3d747970656f6620693f6e2e7765656b64617973506172736528692925377c7c373a69734e614e2869293f6e756c6c3a69293b72657475726e20746869732e64617928746869732e646179282925373f653a652d37297d72657475726e20746869732e64617928297c7c373b76617220692c6e7d2c64692e6461794f66596561723d66756e6374696f6e2874297b76617220653d4d6174682e726f756e642828746869732e636c6f6e6528292e73746172744f66282264617922292d746869732e636c6f6e6528292e73746172744f662822796561722229292f3836346535292b313b72657475726e206e756c6c3d3d743f653a746869732e61646428742d652c226422297d2c64692e686f75723d64692e686f7572733d6e652c64692e6d696e7574653d64692e6d696e757465733d72692c64692e7365636f6e643d64692e7365636f6e64733d73692c64692e6d696c6c697365636f6e643d64692e6d696c6c697365636f6e64733d75692c64692e7574634f66667365743d66756e6374696f6e28742c652c69297b766172206e2c723d746869732e5f6f66667365747c7c303b69662821746869732e697356616c696428292972657475726e206e756c6c213d743f746869733a4e614e3b6966286e756c6c213d74297b69662822737472696e67223d3d747970656f662074297b6966286e756c6c3d3d3d28743d7a652873742c7429292972657475726e20746869737d656c7365204d6174682e6162732874293c313626262169262628742a3d3630293b72657475726e21746869732e5f69735554432626652626286e3d5665287468697329292c746869732e5f6f66667365743d742c746869732e5f69735554433d21302c6e756c6c213d6e2626746869732e616464286e2c226d22292c72213d3d7426262821657c7c746869732e5f6368616e6765496e50726f67726573733f586528746869732c556528742d722c226d22292c312c2131293a746869732e5f6368616e6765496e50726f67726573737c7c28746869732e5f6368616e6765496e50726f67726573733d21302c612e7570646174654f666673657428746869732c2130292c746869732e5f6368616e6765496e50726f67726573733d6e756c6c29292c746869737d72657475726e20746869732e5f69735554433f723a56652874686973297d2c64692e7574633d66756e6374696f6e2874297b72657475726e20746869732e7574634f666673657428302c74297d2c64692e6c6f63616c3d66756e6374696f6e2874297b72657475726e20746869732e5f6973555443262628746869732e7574634f666673657428302c74292c746869732e5f69735554433d21312c742626746869732e73756274726163742856652874686973292c226d2229292c746869737d2c64692e70617273655a6f6e653d66756e6374696f6e28297b6966286e756c6c213d746869732e5f747a6d29746869732e7574634f666673657428746869732e5f747a6d2c21312c2130293b656c73652069662822737472696e67223d3d747970656f6620746869732e5f69297b76617220743d7a65286f742c746869732e5f69293b6e756c6c213d743f746869732e7574634f66667365742874293a746869732e7574634f666673657428302c2130297d72657475726e20746869737d2c64692e686173416c69676e6564486f75724f66667365743d66756e6374696f6e2874297b72657475726e2121746869732e697356616c69642829262628743d743f54652874292e7574634f666673657428293a302c28746869732e7574634f666673657428292d74292536303d3d30297d2c64692e69734453543d66756e6374696f6e28297b72657475726e20746869732e7574634f666673657428293e746869732e636c6f6e6528292e6d6f6e74682830292e7574634f666673657428297c7c746869732e7574634f666673657428293e746869732e636c6f6e6528292e6d6f6e74682835292e7574634f666673657428297d2c64692e69734c6f63616c3d66756e6374696f6e28297b72657475726e2121746869732e697356616c69642829262621746869732e5f69735554437d2c64692e69735574634f66667365743d66756e6374696f6e28297b72657475726e2121746869732e697356616c696428292626746869732e5f69735554437d2c64692e69735574633d42652c64692e69735554433d42652c64692e7a6f6e65416262723d66756e6374696f6e28297b72657475726e20746869732e5f69735554433f22555443223a22227d2c64692e7a6f6e654e616d653d66756e6374696f6e28297b72657475726e20746869732e5f69735554433f22436f6f7264696e6174656420556e6976657273616c2054696d65223a22227d2c64692e64617465733d4428226461746573206163636573736f7220697320646570726563617465642e20557365206461746520696e73746561642e222c6169292c64692e6d6f6e7468733d4428226d6f6e746873206163636573736f7220697320646570726563617465642e20557365206d6f6e746820696e7374656164222c5974292c64692e79656172733d4428227965617273206163636573736f7220697320646570726563617465642e20557365207965617220696e7374656164222c5074292c64692e7a6f6e653d4428226d6f6d656e7428292e7a6f6e6520697320646570726563617465642c20757365206d6f6d656e7428292e7574634f666673657420696e73746561642e20687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f7a6f6e652f222c66756e6374696f6e28742c65297b72657475726e206e756c6c213d743f2822737472696e6722213d747970656f662074262628743d2d74292c746869732e7574634f666673657428742c65292c74686973293a2d746869732e7574634f666673657428297d292c64692e6973445354536869667465643d44282269734453545368696674656420697320646570726563617465642e2053656520687474703a2f2f6d6f6d656e746a732e636f6d2f6775696465732f232f7761726e696e67732f6473742d736869667465642f20666f72206d6f726520696e666f726d6174696f6e222c66756e6374696f6e28297b696628217328746869732e5f697344535453686966746564292972657475726e20746869732e5f6973445354536869667465643b76617220743d7b7d3b6966287928742c74686973292c28743d4365287429292e5f61297b76617220653d742e5f69735554433f6628742e5f61293a546528742e5f61293b746869732e5f6973445354536869667465643d746869732e697356616c6964282926264d28742e5f612c652e746f41727261792829293e307d656c736520746869732e5f6973445354536869667465643d21313b72657475726e20746869732e5f6973445354536869667465647d293b7661722063693d412e70726f746f747970653b66756e6374696f6e20666928742c652c692c6e297b76617220613d686528292c723d6628292e736574286e2c65293b72657475726e20615b695d28722c74297d66756e6374696f6e20676928742c652c69297b6966286c287429262628653d742c743d766f69642030292c743d747c7c22222c6e756c6c213d652972657475726e20666928742c652c692c226d6f6e746822293b766172206e2c613d5b5d3b666f72286e3d303b6e3c31323b6e2b2b29615b6e5d3d666928742c6e2c692c226d6f6e746822293b72657475726e20617d66756e6374696f6e206d6928742c652c692c6e297b22626f6f6c65616e223d3d747970656f6620743f286c286529262628693d652c653d766f69642030292c653d657c7c2222293a28693d653d742c743d21312c6c286529262628693d652c653d766f69642030292c653d657c7c2222293b76617220612c723d686528292c6f3d743f722e5f7765656b2e646f773a303b6966286e756c6c213d692972657475726e20666928652c28692b6f2925372c6e2c2264617922293b76617220733d5b5d3b666f7228613d303b613c373b612b2b29735b615d3d666928652c28612b6f2925372c6e2c2264617922293b72657475726e20737d63692e63616c656e6461723d66756e6374696f6e28742c652c69297b766172206e3d746869732e5f63616c656e6461725b745d7c7c746869732e5f63616c656e6461722e73616d65456c73653b72657475726e204f286e293f6e2e63616c6c28652c69293a6e7d2c63692e6c6f6e6744617465466f726d61743d66756e6374696f6e2874297b76617220653d746869732e5f6c6f6e6744617465466f726d61745b745d2c693d746869732e5f6c6f6e6744617465466f726d61745b742e746f55707065724361736528295d3b72657475726e20657c7c21693f653a28746869732e5f6c6f6e6744617465466f726d61745b745d3d692e7265706c616365282f4d4d4d4d7c4d4d7c44447c646464642f672c66756e6374696f6e2874297b72657475726e20742e736c6963652831297d292c746869732e5f6c6f6e6744617465466f726d61745b745d297d2c63692e696e76616c6964446174653d66756e6374696f6e28297b72657475726e20746869732e5f696e76616c6964446174657d2c63692e6f7264696e616c3d66756e6374696f6e2874297b72657475726e20746869732e5f6f7264696e616c2e7265706c61636528222564222c74297d2c63692e70726570617273653d68692c63692e706f7374666f726d61743d68692c63692e72656c617469766554696d653d66756e6374696f6e28742c652c692c6e297b76617220613d746869732e5f72656c617469766554696d655b695d3b72657475726e204f2861293f6128742c652c692c6e293a612e7265706c616365282f25642f692c74297d2c63692e706173744675747572653d66756e6374696f6e28742c65297b76617220693d746869732e5f72656c617469766554696d655b743e303f22667574757265223a2270617374225d3b72657475726e204f2869293f692865293a692e7265706c616365282f25732f692c65297d2c63692e7365743d66756e6374696f6e2874297b76617220652c693b666f72286920696e2074294f28653d745b695d293f746869735b695d3d653a746869735b225f222b695d3d653b746869732e5f636f6e6669673d742c746869732e5f6461794f664d6f6e74684f7264696e616c50617273654c656e69656e743d6e6577205265674578702828746869732e5f6461794f664d6f6e74684f7264696e616c50617273652e736f757263657c7c746869732e5f6f7264696e616c50617273652e736f75726365292b227c222b2f5c647b312c327d2f2e736f75726365297d2c63692e6d6f6e7468733d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f6d6f6e746873293f746869732e5f6d6f6e7468735b742e6d6f6e746828295d3a746869732e5f6d6f6e7468735b28746869732e5f6d6f6e7468732e6973466f726d61747c7c4674292e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e6d6f6e746828295d3a7228746869732e5f6d6f6e746873293f746869732e5f6d6f6e7468733a746869732e5f6d6f6e7468732e7374616e64616c6f6e657d2c63692e6d6f6e74687353686f72743d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f6d6f6e74687353686f7274293f746869732e5f6d6f6e74687353686f72745b742e6d6f6e746828295d3a746869732e5f6d6f6e74687353686f72745b46742e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e6d6f6e746828295d3a7228746869732e5f6d6f6e74687353686f7274293f746869732e5f6d6f6e74687353686f72743a746869732e5f6d6f6e74687353686f72742e7374616e64616c6f6e657d2c63692e6d6f6e74687350617273653d66756e6374696f6e28742c652c69297b766172206e2c612c723b696628746869732e5f6d6f6e746873506172736545786163742972657475726e2066756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d742e746f4c6f63616c654c6f7765724361736528293b69662821746869732e5f6d6f6e746873506172736529666f7228746869732e5f6d6f6e74687350617273653d5b5d2c746869732e5f6c6f6e674d6f6e74687350617273653d5b5d2c746869732e5f73686f72744d6f6e74687350617273653d5b5d2c6e3d303b6e3c31323b2b2b6e29723d66285b3265332c6e5d292c746869732e5f73686f72744d6f6e74687350617273655b6e5d3d746869732e6d6f6e74687353686f727428722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f6c6f6e674d6f6e74687350617273655b6e5d3d746869732e6d6f6e74687328722c2222292e746f4c6f63616c654c6f7765724361736528293b72657475726e20693f224d4d4d223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a6e756c6c3a224d4d4d223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6c6f6e674d6f6e74687350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72744d6f6e74687350617273652c6f29293f613a6e756c6c7d2e63616c6c28746869732c742c652c69293b666f7228746869732e5f6d6f6e74687350617273657c7c28746869732e5f6d6f6e74687350617273653d5b5d2c746869732e5f6c6f6e674d6f6e74687350617273653d5b5d2c746869732e5f73686f72744d6f6e74687350617273653d5b5d292c6e3d303b6e3c31323b6e2b2b297b696628613d66285b3265332c6e5d292c69262621746869732e5f6c6f6e674d6f6e74687350617273655b6e5d262628746869732e5f6c6f6e674d6f6e74687350617273655b6e5d3d6e65772052656745787028225e222b746869732e6d6f6e74687328612c2222292e7265706c61636528222e222c2222292b2224222c226922292c746869732e5f73686f72744d6f6e74687350617273655b6e5d3d6e65772052656745787028225e222b746869732e6d6f6e74687353686f727428612c2222292e7265706c61636528222e222c2222292b2224222c22692229292c697c7c746869732e5f6d6f6e74687350617273655b6e5d7c7c28723d225e222b746869732e6d6f6e74687328612c2222292b227c5e222b746869732e6d6f6e74687353686f727428612c2222292c746869732e5f6d6f6e74687350617273655b6e5d3d6e65772052656745787028722e7265706c61636528222e222c2222292c22692229292c692626224d4d4d4d223d3d3d652626746869732e5f6c6f6e674d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e3b696628692626224d4d4d223d3d3d652626746869732e5f73686f72744d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e3b69662821692626746869732e5f6d6f6e74687350617273655b6e5d2e746573742874292972657475726e206e7d7d2c63692e6d6f6e74687352656765783d66756e6374696f6e2874297b72657475726e20746869732e5f6d6f6e746873506172736545786163743f286828746869732c225f6d6f6e746873526567657822297c7c48742e63616c6c2874686973292c743f746869732e5f6d6f6e74687353747269637452656765783a746869732e5f6d6f6e7468735265676578293a286828746869732c225f6d6f6e746873526567657822297c7c28746869732e5f6d6f6e74687352656765783d7a74292c746869732e5f6d6f6e74687353747269637452656765782626743f746869732e5f6d6f6e74687353747269637452656765783a746869732e5f6d6f6e7468735265676578297d2c63692e6d6f6e74687353686f727452656765783d66756e6374696f6e2874297b72657475726e20746869732e5f6d6f6e746873506172736545786163743f286828746869732c225f6d6f6e746873526567657822297c7c48742e63616c6c2874686973292c743f746869732e5f6d6f6e74687353686f727453747269637452656765783a746869732e5f6d6f6e74687353686f72745265676578293a286828746869732c225f6d6f6e74687353686f7274526567657822297c7c28746869732e5f6d6f6e74687353686f727452656765783d4e74292c746869732e5f6d6f6e74687353686f727453747269637452656765782626743f746869732e5f6d6f6e74687353686f727453747269637452656765783a746869732e5f6d6f6e74687353686f72745265676578297d2c63692e7765656b3d66756e6374696f6e2874297b72657475726e206a7428742c746869732e5f7765656b2e646f772c746869732e5f7765656b2e646f79292e7765656b7d2c63692e66697273744461794f66596561723d66756e6374696f6e28297b72657475726e20746869732e5f7765656b2e646f797d2c63692e66697273744461794f665765656b3d66756e6374696f6e28297b72657475726e20746869732e5f7765656b2e646f777d2c63692e7765656b646179733d66756e6374696f6e28742c65297b72657475726e20743f7228746869732e5f7765656b64617973293f746869732e5f7765656b646179735b742e64617928295d3a746869732e5f7765656b646179735b746869732e5f7765656b646179732e6973466f726d61742e746573742865293f22666f726d6174223a227374616e64616c6f6e65225d5b742e64617928295d3a7228746869732e5f7765656b64617973293f746869732e5f7765656b646179733a746869732e5f7765656b646179732e7374616e64616c6f6e657d2c63692e7765656b646179734d696e3d66756e6374696f6e2874297b72657475726e20743f746869732e5f7765656b646179734d696e5b742e64617928295d3a746869732e5f7765656b646179734d696e7d2c63692e7765656b6461797353686f72743d66756e6374696f6e2874297b72657475726e20743f746869732e5f7765656b6461797353686f72745b742e64617928295d3a746869732e5f7765656b6461797353686f72747d2c63692e7765656b6461797350617273653d66756e6374696f6e28742c652c69297b766172206e2c612c723b696628746869732e5f7765656b64617973506172736545786163742972657475726e2066756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d742e746f4c6f63616c654c6f7765724361736528293b69662821746869732e5f7765656b64617973506172736529666f7228746869732e5f7765656b6461797350617273653d5b5d2c746869732e5f73686f72745765656b6461797350617273653d5b5d2c746869732e5f6d696e5765656b6461797350617273653d5b5d2c6e3d303b6e3c373b2b2b6e29723d66285b3265332c315d292e646179286e292c746869732e5f6d696e5765656b6461797350617273655b6e5d3d746869732e7765656b646179734d696e28722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f73686f72745765656b6461797350617273655b6e5d3d746869732e7765656b6461797353686f727428722c2222292e746f4c6f63616c654c6f7765724361736528292c746869732e5f7765656b6461797350617273655b6e5d3d746869732e7765656b6461797328722c2222292e746f4c6f63616c654c6f7765724361736528293b72657475726e20693f2264646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a6e756c6c3a22646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a2264646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a22646464223d3d3d653f2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a6e756c6c3a2d31213d3d28613d43742e63616c6c28746869732e5f6d696e5765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f7765656b6461797350617273652c6f29293f613a2d31213d3d28613d43742e63616c6c28746869732e5f73686f72745765656b6461797350617273652c6f29293f613a6e756c6c7d2e63616c6c28746869732c742c652c69293b666f7228746869732e5f7765656b6461797350617273657c7c28746869732e5f7765656b6461797350617273653d5b5d2c746869732e5f6d696e5765656b6461797350617273653d5b5d2c746869732e5f73686f72745765656b6461797350617273653d5b5d2c746869732e5f66756c6c5765656b6461797350617273653d5b5d292c6e3d303b6e3c373b6e2b2b297b696628613d66285b3265332c315d292e646179286e292c69262621746869732e5f66756c6c5765656b6461797350617273655b6e5d262628746869732e5f66756c6c5765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b6461797328612c2222292e7265706c61636528222e222c222e3f22292b2224222c226922292c746869732e5f73686f72745765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b6461797353686f727428612c2222292e7265706c61636528222e222c222e3f22292b2224222c226922292c746869732e5f6d696e5765656b6461797350617273655b6e5d3d6e65772052656745787028225e222b746869732e7765656b646179734d696e28612c2222292e7265706c61636528222e222c222e3f22292b2224222c22692229292c746869732e5f7765656b6461797350617273655b6e5d7c7c28723d225e222b746869732e7765656b6461797328612c2222292b227c5e222b746869732e7765656b6461797353686f727428612c2222292b227c5e222b746869732e7765656b646179734d696e28612c2222292c746869732e5f7765656b6461797350617273655b6e5d3d6e65772052656745787028722e7265706c61636528222e222c2222292c22692229292c6926262264646464223d3d3d652626746869732e5f66756c6c5765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b69662869262622646464223d3d3d652626746869732e5f73686f72745765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b696628692626226464223d3d3d652626746869732e5f6d696e5765656b6461797350617273655b6e5d2e746573742874292972657475726e206e3b69662821692626746869732e5f7765656b6461797350617273655b6e5d2e746573742874292972657475726e206e7d7d2c63692e7765656b6461797352656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b6461797353747269637452656765783a746869732e5f7765656b646179735265676578293a286828746869732c225f7765656b64617973526567657822297c7c28746869732e5f7765656b6461797352656765783d5874292c746869732e5f7765656b6461797353747269637452656765782626743f746869732e5f7765656b6461797353747269637452656765783a746869732e5f7765656b646179735265676578297d2c63692e7765656b6461797353686f727452656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b6461797353686f727453747269637452656765783a746869732e5f7765656b6461797353686f72745265676578293a286828746869732c225f7765656b6461797353686f7274526567657822297c7c28746869732e5f7765656b6461797353686f727452656765783d4a74292c746869732e5f7765656b6461797353686f727453747269637452656765782626743f746869732e5f7765656b6461797353686f727453747269637452656765783a746869732e5f7765656b6461797353686f72745265676578297d2c63692e7765656b646179734d696e52656765783d66756e6374696f6e2874297b72657475726e20746869732e5f7765656b64617973506172736545786163743f286828746869732c225f7765656b64617973526567657822297c7c24742e63616c6c2874686973292c743f746869732e5f7765656b646179734d696e53747269637452656765783a746869732e5f7765656b646179734d696e5265676578293a286828746869732c225f7765656b646179734d696e526567657822297c7c28746869732e5f7765656b646179734d696e52656765783d4b74292c746869732e5f7765656b646179734d696e53747269637452656765782626743f746869732e5f7765656b646179734d696e53747269637452656765783a746869732e5f7765656b646179734d696e5265676578297d2c63692e6973504d3d66756e6374696f6e2874297b72657475726e2270223d3d3d28742b2222292e746f4c6f7765724361736528292e6368617241742830297d2c63692e6d6572696469656d3d66756e6374696f6e28742c652c69297b72657475726e20743e31313f693f22706d223a22504d223a693f22616d223a22414d227d2c75652822656e222c7b6461794f664d6f6e74684f7264696e616c50617273653a2f5c647b312c327d2874687c73747c6e647c7264292f2c6f7264696e616c3a66756e6374696f6e2874297b76617220653d742531303b72657475726e20742b28313d3d3d772874253130302f3130293f227468223a313d3d3d653f227374223a323d3d3d653f226e64223a333d3d3d653f227264223a22746822297d7d292c612e6c616e673d4428226d6f6d656e742e6c616e6720697320646570726563617465642e20557365206d6f6d656e742e6c6f63616c6520696e73746561642e222c7565292c612e6c616e67446174613d4428226d6f6d656e742e6c616e674461746120697320646570726563617465642e20557365206d6f6d656e742e6c6f63616c654461746120696e73746561642e222c6865293b7661722070693d4d6174682e6162733b66756e6374696f6e20766928742c652c692c6e297b76617220613d556528652c69293b72657475726e20742e5f6d696c6c697365636f6e64732b3d6e2a612e5f6d696c6c697365636f6e64732c742e5f646179732b3d6e2a612e5f646179732c742e5f6d6f6e7468732b3d6e2a612e5f6d6f6e7468732c742e5f627562626c6528297d66756e6374696f6e2079692874297b72657475726e20743c303f4d6174682e666c6f6f722874293a4d6174682e6365696c2874297d66756e6374696f6e2062692874297b72657475726e20343830302a742f3134363039377d66756e6374696f6e2078692874297b72657475726e203134363039372a742f343830307d66756e6374696f6e205f692874297b72657475726e2066756e6374696f6e28297b72657475726e20746869732e61732874297d7d766172206b693d5f6928226d7322292c77693d5f6928227322292c4d693d5f6928226d22292c53693d5f6928226822292c44693d5f6928226422292c43693d5f6928227722292c50693d5f6928224d22292c54693d5f6928227922293b66756e6374696f6e204f692874297b72657475726e2066756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e5f646174615b745d3a4e614e7d7d7661722049693d4f6928226d696c6c697365636f6e647322292c41693d4f6928227365636f6e647322292c46693d4f6928226d696e7574657322292c52693d4f692822686f75727322292c4c693d4f6928226461797322292c57693d4f6928226d6f6e74687322292c59693d4f692822796561727322293b766172204e693d4d6174682e726f756e642c7a693d7b73733a34342c733a34352c6d3a34352c683a32322c643a32362c4d3a31317d3b7661722048693d4d6174682e6162733b66756e6374696f6e2056692874297b72657475726e28743e30292d28743c30297c7c2b747d66756e6374696f6e20426928297b69662821746869732e697356616c696428292972657475726e20746869732e6c6f63616c654461746128292e696e76616c69644461746528293b76617220742c652c693d486928746869732e5f6d696c6c697365636f6e6473292f3165332c6e3d486928746869732e5f64617973292c613d486928746869732e5f6d6f6e746873293b653d6b2828743d6b28692f363029292f3630292c69253d36302c74253d36303b76617220723d6b28612f3132292c6f3d61253d31322c733d6e2c6c3d652c753d742c643d693f692e746f46697865642833292e7265706c616365282f5c2e3f302b242f2c2222293a22222c683d746869732e61735365636f6e647328293b69662821682972657475726e22503044223b76617220633d683c303f222d223a22222c663d566928746869732e5f6d6f6e74687329213d3d56692868293f222d223a22222c673d566928746869732e5f6461797329213d3d56692868293f222d223a22222c6d3d566928746869732e5f6d696c6c697365636f6e647329213d3d56692868293f222d223a22223b72657475726e20632b2250222b28723f662b722b2259223a2222292b286f3f662b6f2b224d223a2222292b28733f672b732b2244223a2222292b286c7c7c757c7c643f2254223a2222292b286c3f6d2b6c2b2248223a2222292b28753f6d2b752b224d223a2222292b28643f6d2b642b2253223a2222297d7661722045693d52652e70726f746f747970653b72657475726e2045692e697356616c69643d66756e6374696f6e28297b72657475726e20746869732e5f697356616c69647d2c45692e6162733d66756e6374696f6e28297b76617220743d746869732e5f646174613b72657475726e20746869732e5f6d696c6c697365636f6e64733d706928746869732e5f6d696c6c697365636f6e6473292c746869732e5f646179733d706928746869732e5f64617973292c746869732e5f6d6f6e7468733d706928746869732e5f6d6f6e746873292c742e6d696c6c697365636f6e64733d706928742e6d696c6c697365636f6e6473292c742e7365636f6e64733d706928742e7365636f6e6473292c742e6d696e757465733d706928742e6d696e75746573292c742e686f7572733d706928742e686f757273292c742e6d6f6e7468733d706928742e6d6f6e746873292c742e79656172733d706928742e7965617273292c746869737d2c45692e6164643d66756e6374696f6e28742c65297b72657475726e20766928746869732c742c652c31297d2c45692e73756274726163743d66756e6374696f6e28742c65297b72657475726e20766928746869732c742c652c2d31297d2c45692e61733d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e204e614e3b76617220652c692c6e3d746869732e5f6d696c6c697365636f6e64733b696628226d6f6e7468223d3d3d28743d4c287429297c7c2279656172223d3d3d742972657475726e20653d746869732e5f646179732b6e2f38363465352c693d746869732e5f6d6f6e7468732b62692865292c226d6f6e7468223d3d3d743f693a692f31323b73776974636828653d746869732e5f646179732b4d6174682e726f756e6428786928746869732e5f6d6f6e74687329292c74297b63617365227765656b223a72657475726e20652f372b6e2f3630343865353b6361736522646179223a72657475726e20652b6e2f38363465353b6361736522686f7572223a72657475726e2032342a652b6e2f333665353b63617365226d696e757465223a72657475726e20313434302a652b6e2f3665343b63617365227365636f6e64223a72657475726e2038363430302a652b6e2f3165333b63617365226d696c6c697365636f6e64223a72657475726e204d6174682e666c6f6f722838363465352a65292b6e3b64656661756c743a7468726f77206e6577204572726f722822556e6b6e6f776e20756e697420222b74297d7d2c45692e61734d696c6c697365636f6e64733d6b692c45692e61735365636f6e64733d77692c45692e61734d696e757465733d4d692c45692e6173486f7572733d53692c45692e6173446179733d44692c45692e61735765656b733d43692c45692e61734d6f6e7468733d50692c45692e617359656172733d54692c45692e76616c75654f663d66756e6374696f6e28297b72657475726e20746869732e697356616c696428293f746869732e5f6d696c6c697365636f6e64732b38363465352a746869732e5f646179732b746869732e5f6d6f6e7468732531322a3235393265362b333135333665362a7728746869732e5f6d6f6e7468732f3132293a4e614e7d2c45692e5f627562626c653d66756e6374696f6e28297b76617220742c652c692c6e2c612c723d746869732e5f6d696c6c697365636f6e64732c6f3d746869732e5f646179732c733d746869732e5f6d6f6e7468732c6c3d746869732e5f646174613b72657475726e20723e3d3026266f3e3d302626733e3d307c7c723c3d3026266f3c3d302626733c3d307c7c28722b3d38363465352a79692878692873292b6f292c6f3d302c733d30292c6c2e6d696c6c697365636f6e64733d72253165332c743d6b28722f316533292c6c2e7365636f6e64733d742536302c653d6b28742f3630292c6c2e6d696e757465733d652536302c693d6b28652f3630292c6c2e686f7572733d692532342c732b3d613d6b286269286f2b3d6b28692f32342929292c6f2d3d7969287869286129292c6e3d6b28732f3132292c73253d31322c6c2e646179733d6f2c6c2e6d6f6e7468733d732c6c2e79656172733d6e2c746869737d2c45692e636c6f6e653d66756e6374696f6e28297b72657475726e2055652874686973297d2c45692e6765743d66756e6374696f6e2874297b72657475726e20743d4c2874292c746869732e697356616c696428293f746869735b742b2273225d28293a4e614e7d2c45692e6d696c6c697365636f6e64733d49692c45692e7365636f6e64733d41692c45692e6d696e757465733d46692c45692e686f7572733d52692c45692e646179733d4c692c45692e7765656b733d66756e6374696f6e28297b72657475726e206b28746869732e6461797328292f37297d2c45692e6d6f6e7468733d57692c45692e79656172733d59692c45692e68756d616e697a653d66756e6374696f6e2874297b69662821746869732e697356616c696428292972657475726e20746869732e6c6f63616c654461746128292e696e76616c69644461746528293b76617220652c692c6e2c612c722c6f2c732c6c2c752c642c682c633d746869732e6c6f63616c654461746128292c663d28693d21742c6e3d632c613d556528653d74686973292e61627328292c723d4e6928612e61732822732229292c6f3d4e6928612e617328226d2229292c733d4e6928612e61732822682229292c6c3d4e6928612e61732822642229292c753d4e6928612e617328224d2229292c643d4e6928612e61732822792229292c28683d723c3d7a692e737326265b2273222c725d7c7c723c7a692e7326265b227373222c725d7c7c6f3c3d3126265b226d225d7c7c6f3c7a692e6d26265b226d6d222c6f5d7c7c733c3d3126265b2268225d7c7c733c7a692e6826265b226868222c735d7c7c6c3c3d3126265b2264225d7c7c6c3c7a692e6426265b226464222c6c5d7c7c753c3d3126265b224d225d7c7c753c7a692e4d26265b224d4d222c755d7c7c643c3d3126265b2279225d7c7c5b227979222c645d295b325d3d692c685b335d3d2b653e302c685b345d3d6e2c66756e6374696f6e28742c652c692c6e2c61297b72657475726e20612e72656c617469766554696d6528657c7c312c2121692c742c6e297d2e6170706c79286e756c6c2c6829293b72657475726e2074262628663d632e70617374467574757265282b746869732c6629292c632e706f7374666f726d61742866297d2c45692e746f49534f537472696e673d42692c45692e746f537472696e673d42692c45692e746f4a534f4e3d42692c45692e6c6f63616c653d51652c45692e6c6f63616c65446174613d65692c45692e746f49736f537472696e673d442822746f49736f537472696e67282920697320646570726563617465642e20506c656173652075736520746f49534f537472696e67282920696e737465616420286e6f7469636520746865206361706974616c7329222c4269292c45692e6c616e673d74692c6a282258222c302c302c22756e697822292c6a282278222c302c302c2276616c75654f6622292c6474282278222c7274292c6474282258222c2f5b2b2d5d3f5c642b285c2e5c647b312c337d293f2f292c6774282258222c66756e6374696f6e28742c652c69297b692e5f643d6e65772044617465283165332a7061727365466c6f617428742c313029297d292c6774282278222c66756e6374696f6e28742c652c69297b692e5f643d6e657720446174652877287429297d292c612e76657273696f6e3d22322e32302e31222c693d54652c612e666e3d64692c612e6d696e3d66756e6374696f6e28297b72657475726e204165282269734265666f7265222c5b5d2e736c6963652e63616c6c28617267756d656e74732c3029297d2c612e6d61783d66756e6374696f6e28297b72657475726e204165282269734166746572222c5b5d2e736c6963652e63616c6c28617267756d656e74732c3029297d2c612e6e6f773d66756e6374696f6e28297b72657475726e20446174652e6e6f773f446174652e6e6f7728293a2b6e657720446174657d2c612e7574633d662c612e756e69783d66756e6374696f6e2874297b72657475726e205465283165332a74297d2c612e6d6f6e7468733d66756e6374696f6e28742c65297b72657475726e20676928742c652c226d6f6e74687322297d2c612e6973446174653d752c612e6c6f63616c653d75652c612e696e76616c69643d702c612e6475726174696f6e3d55652c612e69734d6f6d656e743d5f2c612e7765656b646179733d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b6461797322297d2c612e70617273655a6f6e653d66756e6374696f6e28297b72657475726e2054652e6170706c79286e756c6c2c617267756d656e7473292e70617273655a6f6e6528297d2c612e6c6f63616c65446174613d68652c612e69734475726174696f6e3d4c652c612e6d6f6e74687353686f72743d66756e6374696f6e28742c65297b72657475726e20676928742c652c226d6f6e74687353686f727422297d2c612e7765656b646179734d696e3d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b646179734d696e22297d2c612e646566696e654c6f63616c653d64652c612e7570646174654c6f63616c653d66756e6374696f6e28742c65297b6966286e756c6c213d65297b76617220692c6e2c613d61653b6e756c6c213d286e3d6c6528742929262628613d6e2e5f636f6e666967292c28693d6e6577204128653d4928612c652929292e706172656e744c6f63616c653d72655b745d2c72655b745d3d692c75652874297d656c7365206e756c6c213d72655b745d2626286e756c6c213d72655b745d2e706172656e744c6f63616c653f72655b745d3d72655b745d2e706172656e744c6f63616c653a6e756c6c213d72655b745d262664656c6574652072655b745d293b72657475726e2072655b745d7d2c612e6c6f63616c65733d66756e6374696f6e28297b72657475726e2043287265297d2c612e7765656b6461797353686f72743d66756e6374696f6e28742c652c69297b72657475726e206d6928742c652c692c227765656b6461797353686f727422297d2c612e6e6f726d616c697a65556e6974733d4c2c612e72656c617469766554696d65526f756e64696e673d66756e6374696f6e2874297b72657475726e20766f696420303d3d3d743f4e693a2266756e6374696f6e223d3d747970656f6620742626284e693d742c2130297d2c612e72656c617469766554696d655468726573686f6c643d66756e6374696f6e28742c65297b72657475726e20766f69642030213d3d7a695b745d262628766f696420303d3d3d653f7a695b745d3a287a695b745d3d652c2273223d3d3d742626287a692e73733d652d31292c213029297d2c612e63616c656e646172466f726d61743d66756e6374696f6e28742c65297b76617220693d742e6469666628652c2264617973222c2130293b72657475726e20693c2d363f2273616d65456c7365223a693c2d313f226c6173745765656b223a693c303f226c617374446179223a693c313f2273616d65446179223a693c323f226e657874446179223a693c373f226e6578745765656b223a2273616d65456c7365227d2c612e70726f746f747970653d64692c612e48544d4c355f464d543d7b4441544554494d455f4c4f43414c3a22595959592d4d4d2d44445448483a6d6d222c4441544554494d455f4c4f43414c5f5345434f4e44533a22595959592d4d4d2d44445448483a6d6d3a7373222c4441544554494d455f4c4f43414c5f4d533a22595959592d4d4d2d44445448483a6d6d3a73732e535353222c444154453a22595959592d4d4d2d4444222c54494d453a2248483a6d6d222c54494d455f5345434f4e44533a2248483a6d6d3a7373222c54494d455f4d533a2248483a6d6d3a73732e535353222c5745454b3a22595959592d5b575d5757222c4d4f4e54483a22595959592d4d4d227d2c617d2c226f626a656374223d3d747970656f6620692626766f69642030213d3d653f652e6578706f7274733d6128293a6e2e6d6f6d656e743d6128297d2c7b7d5d2c373a5b66756e6374696f6e28742c652c69297b766172206e3d742832392928293b6e2e68656c706572733d74283435292c7428323729286e292c6e2e64656661756c74733d74283235292c6e2e456c656d656e743d74283236292c6e2e656c656d656e74733d74283430292c6e2e496e746572616374696f6e3d74283238292c6e2e6c61796f7574733d74283330292c6e2e706c6174666f726d3d74283438292c6e2e706c7567696e733d74283331292c6e2e5469636b733d74283334292c7428323229286e292c7428323329286e292c7428323429286e292c7428333329286e292c7428333229286e292c7428333529286e292c7428353529286e292c7428353329286e292c7428353429286e292c7428353629286e292c7428353729286e292c7428353829286e292c7428313529286e292c7428313629286e292c7428313729286e292c7428313829286e292c7428313929286e292c7428323029286e292c7428323129286e292c74283829286e292c74283929286e292c7428313029286e292c7428313129286e292c7428313229286e292c7428313329286e292c7428313429286e293b76617220613d74283439293b666f7228766172207220696e206129612e6861734f776e50726f706572747928722926266e2e706c7567696e732e726567697374657228615b725d293b6e2e706c6174666f726d2e696e697469616c697a6528292c652e6578706f7274733d6e2c22756e646566696e656422213d747970656f662077696e646f7726262877696e646f772e43686172743d6e292c6e2e4c6567656e643d612e6c6567656e642e5f656c656d656e742c6e2e5469746c653d612e7469746c652e5f656c656d656e742c6e2e706c7567696e536572766963653d6e2e706c7567696e732c6e2e506c7567696e426173653d6e2e456c656d656e742e657874656e64287b7d292c6e2e63616e76617348656c706572733d6e2e68656c706572732e63616e7661732c6e2e6c61796f7574536572766963653d6e2e6c61796f7574737d2c7b31303a31302c31313a31312c31323a31322c31333a31332c31343a31342c31353a31352c31363a31362c31373a31372c31383a31382c31393a31392c32303a32302c32313a32312c32323a32322c32333a32332c32343a32342c32353a32352c32363a32362c32373a32372c32383a32382c32393a32392c33303a33302c33313a33312c33323a33322c33333a33332c33343a33342c33353a33352c34303a34302c34353a34352c34383a34382c34393a34392c35333a35332c35343a35342c35353a35352c35363a35362c35373a35372c35383a35382c383a382c393a397d5d2c383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e4261723d66756e6374696f6e28652c69297b72657475726e20692e747970653d22626172222c6e6577207428652c69297d7d7d2c7b7d5d2c393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e427562626c653d66756e6374696f6e28652c69297b72657475726e20692e747970653d22627562626c65222c6e6577207428652c69297d7d7d2c7b7d5d2c31303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e446f7567686e75743d66756e6374696f6e28652c69297b72657475726e20692e747970653d22646f7567686e7574222c6e6577207428652c69297d7d7d2c7b7d5d2c31313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e4c696e653d66756e6374696f6e28652c69297b72657475726e20692e747970653d226c696e65222c6e6577207428652c69297d7d7d2c7b7d5d2c31323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e506f6c6172417265613d66756e6374696f6e28652c69297b72657475726e20692e747970653d22706f6c617241726561222c6e6577207428652c69297d7d7d2c7b7d5d2c31333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e52616461723d66756e6374696f6e28652c69297b72657475726e20692e747970653d227261646172222c6e6577207428652c69297d7d7d2c7b7d5d2c31343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b742e536361747465723d66756e6374696f6e28652c69297b72657475726e20692e747970653d2273636174746572222c6e6577207428652c69297d7d7d2c7b7d5d2c31353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822626172222c7b686f7665723a7b6d6f64653a226c6162656c227d2c7363616c65733a7b78417865733a5b7b747970653a2263617465676f7279222c63617465676f727950657263656e746167653a2e382c62617250657263656e746167653a2e392c6f66667365743a21302c677269644c696e65733a7b6f6666736574477269644c696e65733a21307d7d5d2c79417865733a5b7b747970653a226c696e656172227d5d7d7d292c6e2e5f7365742822686f72697a6f6e74616c426172222c7b686f7665723a7b6d6f64653a22696e646578222c617869733a2279227d2c7363616c65733a7b78417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d227d5d2c79417865733a5b7b706f736974696f6e3a226c656674222c747970653a2263617465676f7279222c63617465676f727950657263656e746167653a2e382c62617250657263656e746167653a2e392c6f66667365743a21302c677269644c696e65733a7b6f6666736574477269644c696e65733a21307d7d5d7d2c656c656d656e74733a7b72656374616e676c653a7b626f72646572536b69707065643a226c656674227d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28742c65297b76617220693d22223b72657475726e20742e6c656e6774683e30262628745b305d2e794c6162656c3f693d745b305d2e794c6162656c3a652e6c6162656c732e6c656e6774683e302626745b305d2e696e6465783c652e6c6162656c732e6c656e677468262628693d652e6c6162656c735b745b305d2e696e6465785d29292c697d2c6c6162656c3a66756e6374696f6e28742c65297b72657475726e28652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c2222292b223a20222b742e784c6162656c7d7d2c6d6f64653a22696e646578222c617869733a2279227d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e6261723d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e52656374616e676c652c696e697469616c697a653a66756e6374696f6e28297b76617220653b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e696e697469616c697a652e6170706c7928746869732c617267756d656e7473292c28653d746869732e6765744d6574612829292e737461636b3d746869732e6765744461746173657428292e737461636b2c652e6261723d21307d2c7570646174653a66756e6374696f6e2874297b76617220652c692c6e3d746869732e6765744d65746128292e646174613b666f7228746869732e5f72756c65723d746869732e67657452756c657228292c653d302c693d6e2e6c656e6774683b653c693b2b2b6529746869732e757064617465456c656d656e74286e5b655d2c652c74297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e63686172742c6f3d6e2e6765744d65746128292c733d6e2e6765744461746173657428292c6c3d742e637573746f6d7c7c7b7d2c753d612e6f7074696f6e732e656c656d656e74732e72656374616e676c653b742e5f785363616c653d6e2e6765745363616c65466f724964286f2e78417869734944292c742e5f795363616c653d6e2e6765745363616c65466f724964286f2e79417869734944292c742e5f64617461736574496e6465783d6e2e696e6465782c742e5f696e6465783d652c742e5f6d6f64656c3d7b646174617365744c6162656c3a732e6c6162656c2c6c6162656c3a612e646174612e6c6162656c735b655d2c626f72646572536b69707065643a6c2e626f72646572536b69707065643f6c2e626f72646572536b69707065643a752e626f72646572536b69707065642c6261636b67726f756e64436f6c6f723a6c2e6261636b67726f756e64436f6c6f723f6c2e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428732e6261636b67726f756e64436f6c6f722c652c752e6261636b67726f756e64436f6c6f72292c626f72646572436f6c6f723a6c2e626f72646572436f6c6f723f6c2e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428732e626f72646572436f6c6f722c652c752e626f72646572436f6c6f72292c626f7264657257696474683a6c2e626f7264657257696474683f6c2e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428732e626f7264657257696474682c652c752e626f726465725769647468297d2c6e2e757064617465456c656d656e7447656f6d6574727928742c652c69292c742e7069766f7428297d2c757064617465456c656d656e7447656f6d657472793a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d742e5f6d6f64656c2c723d6e2e67657456616c75655363616c6528292c6f3d722e67657442617365506978656c28292c733d722e6973486f72697a6f6e74616c28292c6c3d6e2e5f72756c65727c7c6e2e67657452756c657228292c753d6e2e63616c63756c61746542617256616c7565506978656c73286e2e696e6465782c65292c643d6e2e63616c63756c617465426172496e646578506978656c73286e2e696e6465782c652c6c293b612e686f72697a6f6e74616c3d732c612e626173653d693f6f3a752e626173652c612e783d733f693f6f3a752e686561643a642e63656e7465722c612e793d733f642e63656e7465723a693f6f3a752e686561642c612e6865696768743d733f642e73697a653a766f696420302c612e77696474683d733f766f696420303a642e73697a657d2c67657456616c75655363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e794178697349447d2c676574496e6465785363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e784178697349447d2c67657456616c75655363616c653a66756e6374696f6e28297b72657475726e20746869732e6765745363616c65466f72496428746869732e67657456616c75655363616c6549642829297d2c676574496e6465785363616c653a66756e6374696f6e28297b72657475726e20746869732e6765745363616c65466f72496428746869732e676574496e6465785363616c6549642829297d2c5f676574537461636b733a66756e6374696f6e2874297b76617220652c692c6e3d746869732e63686172742c613d746869732e676574496e6465785363616c6528292e6f7074696f6e732e737461636b65642c723d766f696420303d3d3d743f6e2e646174612e64617461736574732e6c656e6774683a742b312c6f3d5b5d3b666f7228653d303b653c723b2b2b652928693d6e2e676574446174617365744d657461286529292e62617226266e2e69734461746173657456697369626c6528652926262821313d3d3d617c7c21303d3d3d6126262d313d3d3d6f2e696e6465784f6628692e737461636b297c7c766f696420303d3d3d61262628766f696420303d3d3d692e737461636b7c7c2d313d3d3d6f2e696e6465784f6628692e737461636b29292926266f2e7075736828692e737461636b293b72657475726e206f7d2c676574537461636b436f756e743a66756e6374696f6e28297b72657475726e20746869732e5f676574537461636b7328292e6c656e6774687d2c676574537461636b496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e5f676574537461636b732874292c6e3d766f69642030213d3d653f692e696e6465784f662865293a2d313b72657475726e2d313d3d3d6e3f692e6c656e6774682d313a6e7d2c67657452756c65723a66756e6374696f6e28297b76617220742c652c693d746869732e676574496e6465785363616c6528292c6e3d746869732e676574537461636b436f756e7428292c613d746869732e696e6465782c6f3d692e6973486f72697a6f6e74616c28292c733d6f3f692e6c6566743a692e746f702c6c3d732b286f3f692e77696474683a692e686569676874292c753d5b5d3b666f7228743d302c653d746869732e6765744d65746128292e646174612e6c656e6774683b743c653b2b2b7429752e7075736828692e676574506978656c466f7256616c7565286e756c6c2c742c6129293b72657475726e7b6d696e3a722e69734e756c6c4f72556e64656628692e6f7074696f6e732e626172546869636b6e657373293f66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f3d742e6973486f72697a6f6e74616c28293f742e77696474683a742e6865696768742c733d742e6765745469636b7328293b666f7228613d312c723d652e6c656e6774683b613c723b2b2b61296f3d4d6174682e6d696e286f2c655b615d2d655b612d315d293b666f7228613d302c723d732e6c656e6774683b613c723b2b2b61296e3d742e676574506978656c466f725469636b2861292c6f3d613e303f4d6174682e6d696e286f2c6e2d69293a6f2c693d6e3b72657475726e206f7d28692c75293a2d312c706978656c733a752c73746172743a732c656e643a6c2c737461636b436f756e743a6e2c7363616c653a697d7d2c63616c63756c61746542617256616c7565506978656c733a66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f2c732c6c3d746869732e63686172742c753d746869732e6765744d65746128292c643d746869732e67657456616c75655363616c6528292c683d6c2e646174612e64617461736574732c633d642e676574526967687456616c756528685b745d2e646174615b655d292c663d642e6f7074696f6e732e737461636b65642c673d752e737461636b2c6d3d303b696628667c7c766f696420303d3d3d662626766f69642030213d3d6729666f7228693d303b693c743b2b2b6929286e3d6c2e676574446174617365744d657461286929292e62617226266e2e737461636b3d3d3d6726266e2e636f6e74726f6c6c65722e67657456616c75655363616c65496428293d3d3d642e696426266c2e69734461746173657456697369626c65286929262628613d642e676574526967687456616c756528685b695d2e646174615b655d292c28633c302626613c307c7c633e3d302626613e30292626286d2b3d6129293b72657475726e20723d642e676574506978656c466f7256616c7565286d292c7b73697a653a733d28286f3d642e676574506978656c466f7256616c7565286d2b6329292d72292f322c626173653a722c686561643a6f2c63656e7465723a6f2b732f327d7d2c63616c63756c617465426172496e646578506978656c733a66756e6374696f6e28742c652c69297b766172206e2c612c6f2c732c6c2c752c642c682c632c662c672c6d2c702c762c792c622c782c5f3d692e7363616c652e6f7074696f6e732c6b3d22666c6578223d3d3d5f2e626172546869636b6e6573733f28633d652c673d5f2c703d28663d69292e706978656c732c763d705b635d2c793d633e303f705b632d315d3a6e756c6c2c623d633c702e6c656e6774682d313f705b632b315d3a6e756c6c2c783d672e63617465676f727950657263656e746167652c6e756c6c3d3d3d79262628793d762d286e756c6c3d3d3d623f662e656e642d763a622d7629292c6e756c6c3d3d3d62262628623d762b762d79292c6d3d762d28762d79292f322a782c7b6368756e6b3a28622d79292f322a782f662e737461636b436f756e742c726174696f3a672e62617250657263656e746167652c73746172743a6d7d293a286e3d652c613d692c753d286f3d5f292e626172546869636b6e6573732c643d612e737461636b436f756e742c683d612e706978656c735b6e5d2c722e69734e756c6c4f72556e6465662875293f28733d612e6d696e2a6f2e63617465676f727950657263656e746167652c6c3d6f2e62617250657263656e74616765293a28733d752a642c6c3d31292c7b6368756e6b3a732f642c726174696f3a6c2c73746172743a682d732f327d292c773d746869732e676574537461636b496e64657828742c746869732e6765744d65746128292e737461636b292c4d3d6b2e73746172742b6b2e6368756e6b2a772b6b2e6368756e6b2f322c533d4d6174682e6d696e28722e76616c75654f7244656661756c74285f2e6d6178426172546869636b6e6573732c312f30292c6b2e6368756e6b2a6b2e726174696f293b72657475726e7b626173653a4d2d532f322c686561643a4d2b532f322c63656e7465723a4d2c73697a653a537d7d2c647261773a66756e6374696f6e28297b76617220743d746869732e63686172742c653d746869732e67657456616c75655363616c6528292c693d746869732e6765744d65746128292e646174612c6e3d746869732e6765744461746173657428292c613d692e6c656e6774682c6f3d303b666f7228722e63616e7661732e636c69704172656128742e6374782c742e636861727441726561293b6f3c613b2b2b6f2969734e614e28652e676574526967687456616c7565286e2e646174615b6f5d29297c7c695b6f5d2e6472617728293b722e63616e7661732e756e636c69704172656128742e637478297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c3b612e6261636b67726f756e64436f6c6f723d6e2e686f7665724261636b67726f756e64436f6c6f723f6e2e686f7665724261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e686f7665724261636b67726f756e64436f6c6f722c692c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d6e2e686f766572426f72646572436f6c6f723f6e2e686f766572426f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e686f766572426f72646572436f6c6f722c692c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d6e2e686f766572426f7264657257696474683f6e2e686f766572426f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e686f766572426f7264657257696474682c692c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c2c6f3d746869732e63686172742e6f7074696f6e732e656c656d656e74732e72656374616e676c653b612e6261636b67726f756e64436f6c6f723d6e2e6261636b67726f756e64436f6c6f723f6e2e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e6261636b67726f756e64436f6c6f722c692c6f2e6261636b67726f756e64436f6c6f72292c612e626f72646572436f6c6f723d6e2e626f72646572436f6c6f723f6e2e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e626f72646572436f6c6f722c692c6f2e626f72646572436f6c6f72292c612e626f7264657257696474683d6e2e626f7264657257696474683f6e2e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e626f7264657257696474682c692c6f2e626f726465725769647468297d7d292c742e636f6e74726f6c6c6572732e686f72697a6f6e74616c4261723d742e636f6e74726f6c6c6572732e6261722e657874656e64287b67657456616c75655363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e784178697349447d2c676574496e6465785363616c6549643a66756e6374696f6e28297b72657475726e20746869732e6765744d65746128292e794178697349447d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822627562626c65222c7b686f7665723a7b6d6f64653a2273696e676c65227d2c7363616c65733a7b78417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d222c69643a22782d617869732d30227d5d2c79417865733a5b7b747970653a226c696e656172222c706f736974696f6e3a226c656674222c69643a22792d617869732d30227d5d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c22222c6e3d652e64617461736574735b742e64617461736574496e6465785d2e646174615b742e696e6465785d3b72657475726e20692b223a2028222b742e784c6162656c2b222c20222b742e794c6162656c2b222c20222b6e2e722b2229227d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e627562626c653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e506f696e742c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e6765744d65746128292e646174613b722e6561636828692c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e6765744d65746128292c723d742e637573746f6d7c7c7b7d2c6f3d6e2e6765745363616c65466f72496428612e78417869734944292c733d6e2e6765745363616c65466f72496428612e79417869734944292c6c3d6e2e5f7265736f6c7665456c656d656e744f7074696f6e7328742c65292c753d6e2e6765744461746173657428292e646174615b655d2c643d6e2e696e6465782c683d693f6f2e676574506978656c466f72446563696d616c282e35293a6f2e676574506978656c466f7256616c756528226f626a656374223d3d747970656f6620753f753a4e614e2c652c64292c633d693f732e67657442617365506978656c28293a732e676574506978656c466f7256616c756528752c652c64293b742e5f785363616c653d6f2c742e5f795363616c653d732c742e5f6f7074696f6e733d6c2c742e5f64617461736574496e6465783d642c742e5f696e6465783d652c742e5f6d6f64656c3d7b6261636b67726f756e64436f6c6f723a6c2e6261636b67726f756e64436f6c6f722c626f72646572436f6c6f723a6c2e626f72646572436f6c6f722c626f7264657257696474683a6c2e626f7264657257696474682c6869745261646975733a6c2e6869745261646975732c706f696e745374796c653a6c2e706f696e745374796c652c7261646975733a693f303a6c2e7261646975732c736b69703a722e736b69707c7c69734e614e2868297c7c69734e614e2863292c783a682c793a637d2c742e7069766f7428297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d742e5f6d6f64656c2c693d742e5f6f7074696f6e733b652e6261636b67726f756e64436f6c6f723d722e76616c75654f7244656661756c7428692e686f7665724261636b67726f756e64436f6c6f722c722e676574486f766572436f6c6f7228692e6261636b67726f756e64436f6c6f7229292c652e626f72646572436f6c6f723d722e76616c75654f7244656661756c7428692e686f766572426f72646572436f6c6f722c722e676574486f766572436f6c6f7228692e626f72646572436f6c6f7229292c652e626f7264657257696474683d722e76616c75654f7244656661756c7428692e686f766572426f7264657257696474682c692e626f726465725769647468292c652e7261646975733d692e7261646975732b692e686f7665725261646975737d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d742e5f6d6f64656c2c693d742e5f6f7074696f6e733b652e6261636b67726f756e64436f6c6f723d692e6261636b67726f756e64436f6c6f722c652e626f72646572436f6c6f723d692e626f72646572436f6c6f722c652e626f7264657257696474683d692e626f7264657257696474682c652e7261646975733d692e7261646975737d2c5f7265736f6c7665456c656d656e744f7074696f6e733a66756e6374696f6e28742c65297b76617220692c6e2c612c6f3d746869732e63686172742c733d6f2e646174612e64617461736574735b746869732e696e6465785d2c6c3d742e637573746f6d7c7c7b7d2c753d6f2e6f7074696f6e732e656c656d656e74732e706f696e742c643d722e6f7074696f6e732e7265736f6c76652c683d732e646174615b655d2c633d7b7d2c663d7b63686172743a6f2c64617461496e6465783a652c646174617365743a732c64617461736574496e6465783a746869732e696e6465787d2c673d5b226261636b67726f756e64436f6c6f72222c22626f72646572436f6c6f72222c22626f726465725769647468222c22686f7665724261636b67726f756e64436f6c6f72222c22686f766572426f72646572436f6c6f72222c22686f766572426f726465725769647468222c22686f766572526164697573222c22686974526164697573222c22706f696e745374796c65225d3b666f7228693d302c6e3d672e6c656e6774683b693c6e3b2b2b6929635b613d675b695d5d3d64285b6c5b615d2c735b615d2c755b615d5d2c662c65293b72657475726e20632e7261646975733d64285b6c2e7261646975732c683f682e723a766f696420302c732e7261646975732c752e7261646975735d2c662c65292c637d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822646f7567686e7574222c7b616e696d6174696f6e3a7b616e696d617465526f746174653a21302c616e696d6174655363616c653a21317d2c686f7665723a7b6d6f64653a2273696e676c65227d2c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b76617220693d742e646174612c6e3d692e64617461736574732c613d692e6c6162656c733b6966286e2e6c656e67746829666f722876617220723d303b723c6e5b305d2e646174612e6c656e6774683b2b2b7229652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b6e5b305d2e6261636b67726f756e64436f6c6f725b725d2b27223e3c2f7370616e3e27292c615b725d2626652e7075736828615b725d292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d2c6c6567656e643a7b6c6162656c733a7b67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20652e6c6162656c732e6c656e6774682626652e64617461736574732e6c656e6774683f652e6c6162656c732e6d61702866756e6374696f6e28692c6e297b76617220613d742e676574446174617365744d6574612830292c6f3d652e64617461736574735b305d2c733d612e646174615b6e5d2c6c3d732626732e637573746f6d7c7c7b7d2c753d722e76616c75654174496e6465784f7244656661756c742c643d742e6f7074696f6e732e656c656d656e74732e6172633b72657475726e7b746578743a692c66696c6c5374796c653a6c2e6261636b67726f756e64436f6c6f723f6c2e6261636b67726f756e64436f6c6f723a75286f2e6261636b67726f756e64436f6c6f722c6e2c642e6261636b67726f756e64436f6c6f72292c7374726f6b655374796c653a6c2e626f72646572436f6c6f723f6c2e626f72646572436f6c6f723a75286f2e626f72646572436f6c6f722c6e2c642e626f72646572436f6c6f72292c6c696e6557696474683a6c2e626f7264657257696474683f6c2e626f7264657257696474683a75286f2e626f7264657257696474682c6e2c642e626f726465725769647468292c68696464656e3a69734e614e286f2e646174615b6e5d297c7c612e646174615b6e5d2e68696464656e2c696e6465783a6e7d7d293a5b5d7d7d2c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220692c6e2c612c723d652e696e6465782c6f3d746869732e63686172743b666f7228693d302c6e3d286f2e646174612e64617461736574737c7c5b5d292e6c656e6774683b693c6e3b2b2b692928613d6f2e676574446174617365744d657461286929292e646174615b725d262628612e646174615b725d2e68696464656e3d21612e646174615b725d2e68696464656e293b6f2e75706461746528297d7d2c6375746f757450657263656e746167653a35302c726f746174696f6e3a2d2e352a4d6174682e50492c63697263756d666572656e63653a322a4d6174682e50492c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e6c6162656c735b742e696e6465785d2c6e3d223a20222b652e64617461736574735b742e64617461736574496e6465785d2e646174615b742e696e6465785d3b72657475726e20722e697341727261792869293f28693d692e736c6963652829295b305d2b3d6e3a692b3d6e2c697d7d7d7d292c6e2e5f7365742822706965222c722e636c6f6e65286e2e646f7567686e757429292c6e2e5f7365742822706965222c7b6375746f757450657263656e746167653a307d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e646f7567686e75743d742e636f6e74726f6c6c6572732e7069653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e4172632c6c696e6b5363616c65733a722e6e6f6f702c67657452696e67496e6465783a66756e6374696f6e2874297b666f722876617220653d302c693d303b693c743b2b2b6929746869732e63686172742e69734461746173657456697369626c6528692926262b2b653b72657475726e20657d2c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742c6e3d692e6368617274417265612c613d692e6f7074696f6e732c6f3d612e656c656d656e74732e6172632c733d6e2e72696768742d6e2e6c6566742d6f2e626f7264657257696474682c6c3d6e2e626f74746f6d2d6e2e746f702d6f2e626f7264657257696474682c753d4d6174682e6d696e28732c6c292c643d7b783a302c793a307d2c683d652e6765744d65746128292c633d612e6375746f757450657263656e746167652c663d612e63697263756d666572656e63653b696628663c322a4d6174682e5049297b76617220673d612e726f746174696f6e2528322a4d6174682e5049292c6d3d28672b3d322a4d6174682e50492a28673e3d4d6174682e50493f2d313a673c2d4d6174682e50493f313a3029292b662c703d4d6174682e636f732867292c763d4d6174682e73696e2867292c793d4d6174682e636f73286d292c623d4d6174682e73696e286d292c783d673c3d3026266d3e3d307c7c673c3d322a4d6174682e50492626322a4d6174682e50493c3d6d2c5f3d673c3d2e352a4d6174682e504926262e352a4d6174682e50493c3d6d7c7c673c3d322e352a4d6174682e50492626322e352a4d6174682e50493c3d6d2c6b3d673c3d2d4d6174682e504926262d4d6174682e50493c3d6d7c7c673c3d4d6174682e504926264d6174682e50493c3d6d2c773d673c3d2e352a2d4d6174682e504926262e352a2d4d6174682e50493c3d6d7c7c673c3d312e352a4d6174682e50492626312e352a4d6174682e50493c3d6d2c4d3d632f3130302c533d6b3f2d313a4d6174682e6d696e28702a28703c303f313a4d292c792a28793c303f313a4d29292c443d773f2d313a4d6174682e6d696e28762a28763c303f313a4d292c622a28623c303f313a4d29292c433d783f313a4d6174682e6d617828702a28703e303f313a4d292c792a28793e303f313a4d29292c503d5f3f313a4d6174682e6d617828762a28763e303f313a4d292c622a28623e303f313a4d29292c543d2e352a28432d53292c4f3d2e352a28502d44293b753d4d6174682e6d696e28732f542c6c2f4f292c643d7b783a2d2e352a28432b53292c793a2d2e352a28502b44297d7d692e626f7264657257696474683d652e6765744d6178426f72646572576964746828682e64617461292c692e6f757465725261646975733d4d6174682e6d61782828752d692e626f726465725769647468292f322c30292c692e696e6e65725261646975733d4d6174682e6d617828633f692e6f757465725261646975732f3130302a633a302c30292c692e7261646975734c656e6774683d28692e6f757465725261646975732d692e696e6e6572526164697573292f692e67657456697369626c6544617461736574436f756e7428292c692e6f6666736574583d642e782a692e6f757465725261646975732c692e6f6666736574593d642e792a692e6f757465725261646975732c682e746f74616c3d652e63616c63756c617465546f74616c28292c652e6f757465725261646975733d692e6f757465725261646975732d692e7261646975734c656e6774682a652e67657452696e67496e64657828652e696e646578292c652e696e6e65725261646975733d4d6174682e6d617828652e6f757465725261646975732d692e7261646975734c656e6774682c30292c722e6561636828682e646174612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d6e2e63686172742c6f3d612e6368617274417265612c733d612e6f7074696f6e732c6c3d732e616e696d6174696f6e2c753d286f2e6c6566742b6f2e7269676874292f322c643d286f2e746f702b6f2e626f74746f6d292f322c683d732e726f746174696f6e2c633d732e726f746174696f6e2c663d6e2e6765744461746173657428292c673d6926266c2e616e696d617465526f746174653f303a742e68696464656e3f303a6e2e63616c63756c61746543697263756d666572656e636528662e646174615b655d292a28732e63697263756d666572656e63652f28322a4d6174682e504929292c6d3d6926266c2e616e696d6174655363616c653f303a6e2e696e6e65725261646975732c703d6926266c2e616e696d6174655363616c653f303a6e2e6f757465725261646975732c763d722e76616c75654174496e6465784f7244656661756c743b722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f6d6f64656c3a7b783a752b612e6f6666736574582c793a642b612e6f6666736574592c7374617274416e676c653a682c656e64416e676c653a632c63697263756d666572656e63653a672c6f757465725261646975733a702c696e6e65725261646975733a6d2c6c6162656c3a7628662e6c6162656c2c652c612e646174612e6c6162656c735b655d297d7d293b76617220793d742e5f6d6f64656c3b746869732e72656d6f7665486f7665725374796c652874292c6926266c2e616e696d617465526f746174657c7c28792e7374617274416e676c653d303d3d3d653f732e726f746174696f6e3a6e2e6765744d65746128292e646174615b652d315d2e5f6d6f64656c2e656e64416e676c652c792e656e64416e676c653d792e7374617274416e676c652b792e63697263756d666572656e6365292c742e7069766f7428297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2865297b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e72656d6f7665486f7665725374796c652e63616c6c28746869732c652c746869732e63686172742e6f7074696f6e732e656c656d656e74732e617263297d2c63616c63756c617465546f74616c3a66756e6374696f6e28297b76617220742c653d746869732e6765744461746173657428292c693d746869732e6765744d65746128292c6e3d303b72657475726e20722e6561636828692e646174612c66756e6374696f6e28692c61297b743d652e646174615b615d2c69734e614e2874297c7c692e68696464656e7c7c286e2b3d4d6174682e616273287429297d292c6e7d2c63616c63756c61746543697263756d666572656e63653a66756e6374696f6e2874297b76617220653d746869732e6765744d65746128292e746f74616c3b72657475726e20653e3026262169734e614e2874293f322a4d6174682e50492a284d6174682e6162732874292f65293a307d2c6765744d6178426f7264657257696474683a66756e6374696f6e2874297b666f722876617220652c692c6e3d302c613d746869732e696e6465782c723d742e6c656e6774682c6f3d303b6f3c723b6f2b2b29653d745b6f5d2e5f6d6f64656c3f745b6f5d2e5f6d6f64656c2e626f7264657257696474683a302c6e3d28693d745b6f5d2e5f63686172743f745b6f5d2e5f63686172742e636f6e6669672e646174612e64617461736574735b615d2e686f766572426f7264657257696474683a30293e286e3d653e6e3f653a6e293f693a6e3b72657475726e206e7d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f73657428226c696e65222c7b73686f774c696e65733a21302c7370616e476170733a21312c686f7665723a7b6d6f64653a226c6162656c227d2c7363616c65733a7b78417865733a5b7b747970653a2263617465676f7279222c69643a22782d617869732d30227d5d2c79417865733a5b7b747970653a226c696e656172222c69643a22792d617869732d30227d5d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c65297b72657475726e20722e76616c75654f7244656661756c7428742e73686f774c696e652c652e73686f774c696e6573297d742e636f6e74726f6c6c6572732e6c696e653d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461736574456c656d656e74547970653a612e4c696e652c64617461456c656d656e74547970653a612e506f696e742c7570646174653a66756e6374696f6e2874297b76617220692c6e2c612c6f3d746869732c733d6f2e6765744d65746128292c6c3d732e646174617365742c753d732e646174617c7c5b5d2c643d6f2e63686172742e6f7074696f6e732c683d642e656c656d656e74732e6c696e652c633d6f2e6765745363616c65466f72496428732e79417869734944292c663d6f2e6765744461746173657428292c673d6528662c64293b666f722867262628613d6c2e637573746f6d7c7c7b7d2c766f69642030213d3d662e74656e73696f6e2626766f696420303d3d3d662e6c696e6554656e73696f6e262628662e6c696e6554656e73696f6e3d662e74656e73696f6e292c6c2e5f7363616c653d632c6c2e5f64617461736574496e6465783d6f2e696e6465782c6c2e5f6368696c6472656e3d752c6c2e5f6d6f64656c3d7b7370616e476170733a662e7370616e476170733f662e7370616e476170733a642e7370616e476170732c74656e73696f6e3a612e74656e73696f6e3f612e74656e73696f6e3a722e76616c75654f7244656661756c7428662e6c696e6554656e73696f6e2c682e74656e73696f6e292c6261636b67726f756e64436f6c6f723a612e6261636b67726f756e64436f6c6f723f612e6261636b67726f756e64436f6c6f723a662e6261636b67726f756e64436f6c6f727c7c682e6261636b67726f756e64436f6c6f722c626f7264657257696474683a612e626f7264657257696474683f612e626f7264657257696474683a662e626f7264657257696474687c7c682e626f7264657257696474682c626f72646572436f6c6f723a612e626f72646572436f6c6f723f612e626f72646572436f6c6f723a662e626f72646572436f6c6f727c7c682e626f72646572436f6c6f722c626f726465724361705374796c653a612e626f726465724361705374796c653f612e626f726465724361705374796c653a662e626f726465724361705374796c657c7c682e626f726465724361705374796c652c626f72646572446173683a612e626f72646572446173683f612e626f72646572446173683a662e626f72646572446173687c7c682e626f72646572446173682c626f72646572446173684f66667365743a612e626f72646572446173684f66667365743f612e626f72646572446173684f66667365743a662e626f72646572446173684f66667365747c7c682e626f72646572446173684f66667365742c626f726465724a6f696e5374796c653a612e626f726465724a6f696e5374796c653f612e626f726465724a6f696e5374796c653a662e626f726465724a6f696e5374796c657c7c682e626f726465724a6f696e5374796c652c66696c6c3a612e66696c6c3f612e66696c6c3a766f69642030213d3d662e66696c6c3f662e66696c6c3a682e66696c6c2c737465707065644c696e653a612e737465707065644c696e653f612e737465707065644c696e653a722e76616c75654f7244656661756c7428662e737465707065644c696e652c682e73746570706564292c6375626963496e746572706f6c6174696f6e4d6f64653a612e6375626963496e746572706f6c6174696f6e4d6f64653f612e6375626963496e746572706f6c6174696f6e4d6f64653a722e76616c75654f7244656661756c7428662e6375626963496e746572706f6c6174696f6e4d6f64652c682e6375626963496e746572706f6c6174696f6e4d6f6465297d2c6c2e7069766f742829292c693d302c6e3d752e6c656e6774683b693c6e3b2b2b69296f2e757064617465456c656d656e7428755b695d2c692c74293b666f722867262630213d3d6c2e5f6d6f64656c2e74656e73696f6e26266f2e75706461746542657a696572436f6e74726f6c506f696e747328292c693d302c6e3d752e6c656e6774683b693c6e3b2b2b6929755b695d2e7069766f7428297d2c676574506f696e744261636b67726f756e64436f6c6f723a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e6261636b67726f756e64436f6c6f722c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e20612e6261636b67726f756e64436f6c6f723f693d612e6261636b67726f756e64436f6c6f723a6e2e706f696e744261636b67726f756e64436f6c6f723f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e744261636b67726f756e64436f6c6f722c652c69293a6e2e6261636b67726f756e64436f6c6f72262628693d6e2e6261636b67726f756e64436f6c6f72292c697d2c676574506f696e74426f72646572436f6c6f723a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e626f72646572436f6c6f722c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e20612e626f72646572436f6c6f723f693d612e626f72646572436f6c6f723a6e2e706f696e74426f72646572436f6c6f723f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e74426f72646572436f6c6f722c652c69293a6e2e626f72646572436f6c6f72262628693d6e2e626f72646572436f6c6f72292c697d2c676574506f696e74426f7264657257696474683a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e626f7264657257696474682c6e3d746869732e6765744461746173657428292c613d742e637573746f6d7c7c7b7d3b72657475726e2069734e614e28612e626f726465725769647468293f2169734e614e286e2e706f696e74426f726465725769647468297c7c722e69734172726179286e2e706f696e74426f726465725769647468293f693d722e76616c75654174496e6465784f7244656661756c74286e2e706f696e74426f7264657257696474682c652c69293a69734e614e286e2e626f726465725769647468297c7c28693d6e2e626f726465725769647468293a693d612e626f7264657257696474682c697d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e2c612c6f3d746869732c733d6f2e6765744d65746128292c6c3d742e637573746f6d7c7c7b7d2c753d6f2e6765744461746173657428292c643d6f2e696e6465782c683d752e646174615b655d2c633d6f2e6765745363616c65466f72496428732e79417869734944292c663d6f2e6765745363616c65466f72496428732e78417869734944292c673d6f2e63686172742e6f7074696f6e732e656c656d656e74732e706f696e743b766f69642030213d3d752e7261646975732626766f696420303d3d3d752e706f696e74526164697573262628752e706f696e745261646975733d752e726164697573292c766f69642030213d3d752e6869745261646975732626766f696420303d3d3d752e706f696e74486974526164697573262628752e706f696e744869745261646975733d752e686974526164697573292c6e3d662e676574506978656c466f7256616c756528226f626a656374223d3d747970656f6620683f683a4e614e2c652c64292c613d693f632e67657442617365506978656c28293a6f2e63616c63756c617465506f696e745928682c652c64292c742e5f785363616c653d662c742e5f795363616c653d632c742e5f64617461736574496e6465783d642c742e5f696e6465783d652c742e5f6d6f64656c3d7b783a6e2c793a612c736b69703a6c2e736b69707c7c69734e614e286e297c7c69734e614e2861292c7261646975733a6c2e7261646975737c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e745261646975732c652c672e726164697573292c706f696e745374796c653a6c2e706f696e745374796c657c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e745374796c652c652c672e706f696e745374796c65292c6261636b67726f756e64436f6c6f723a6f2e676574506f696e744261636b67726f756e64436f6c6f7228742c65292c626f72646572436f6c6f723a6f2e676574506f696e74426f72646572436f6c6f7228742c65292c626f7264657257696474683a6f2e676574506f696e74426f72646572576964746828742c65292c74656e73696f6e3a732e646174617365742e5f6d6f64656c3f732e646174617365742e5f6d6f64656c2e74656e73696f6e3a302c737465707065644c696e653a2121732e646174617365742e5f6d6f64656c2626732e646174617365742e5f6d6f64656c2e737465707065644c696e652c6869745261646975733a6c2e6869745261646975737c7c722e76616c75654174496e6465784f7244656661756c7428752e706f696e744869745261646975732c652c672e686974526164697573297d7d2c63616c63756c617465506f696e74593a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d746869732e63686172742c733d746869732e6765744d65746128292c6c3d746869732e6765745363616c65466f72496428732e79417869734944292c753d302c643d303b6966286c2e6f7074696f6e732e737461636b6564297b666f72286e3d303b6e3c693b6e2b2b29696628613d6f2e646174612e64617461736574735b6e5d2c226c696e65223d3d3d28723d6f2e676574446174617365744d657461286e29292e747970652626722e794178697349443d3d3d6c2e696426266f2e69734461746173657456697369626c65286e29297b76617220683d4e756d626572286c2e676574526967687456616c756528612e646174615b655d29293b683c303f642b3d687c7c303a752b3d687c7c307d76617220633d4e756d626572286c2e676574526967687456616c7565287429293b72657475726e20633c303f6c2e676574506978656c466f7256616c756528642b63293a6c2e676574506978656c466f7256616c756528752b63297d72657475726e206c2e676574506978656c466f7256616c75652874297d2c75706461746542657a696572436f6e74726f6c506f696e74733a66756e6374696f6e28297b76617220742c652c692c6e2c613d746869732e6765744d65746128292c6f3d746869732e63686172742e6368617274417265612c733d612e646174617c7c5b5d3b66756e6374696f6e206c28742c652c69297b72657475726e204d6174682e6d6178284d6174682e6d696e28742c69292c65297d696628612e646174617365742e5f6d6f64656c2e7370616e47617073262628733d732e66696c7465722866756e6374696f6e2874297b72657475726e21742e5f6d6f64656c2e736b69707d29292c226d6f6e6f746f6e65223d3d3d612e646174617365742e5f6d6f64656c2e6375626963496e746572706f6c6174696f6e4d6f646529722e73706c696e6543757276654d6f6e6f746f6e652873293b656c736520666f7228743d302c653d732e6c656e6774683b743c653b2b2b7429693d735b745d2e5f6d6f64656c2c6e3d722e73706c696e65437572766528722e70726576696f75734974656d28732c74292e5f6d6f64656c2c692c722e6e6578744974656d28732c74292e5f6d6f64656c2c612e646174617365742e5f6d6f64656c2e74656e73696f6e292c692e636f6e74726f6c506f696e7450726576696f7573583d6e2e70726576696f75732e782c692e636f6e74726f6c506f696e7450726576696f7573593d6e2e70726576696f75732e792c692e636f6e74726f6c506f696e744e657874583d6e2e6e6578742e782c692e636f6e74726f6c506f696e744e657874593d6e2e6e6578742e793b696628746869732e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652e63617042657a696572506f696e747329666f7228743d302c653d732e6c656e6774683b743c653b2b2b742928693d735b745d2e5f6d6f64656c292e636f6e74726f6c506f696e7450726576696f7573583d6c28692e636f6e74726f6c506f696e7450726576696f7573582c6f2e6c6566742c6f2e7269676874292c692e636f6e74726f6c506f696e7450726576696f7573593d6c28692e636f6e74726f6c506f696e7450726576696f7573592c6f2e746f702c6f2e626f74746f6d292c692e636f6e74726f6c506f696e744e657874583d6c28692e636f6e74726f6c506f696e744e657874582c6f2e6c6566742c6f2e7269676874292c692e636f6e74726f6c506f696e744e657874593d6c28692e636f6e74726f6c506f696e744e657874592c6f2e746f702c6f2e626f74746f6d297d2c647261773a66756e6374696f6e28297b76617220743d746869732e63686172742c693d746869732e6765744d65746128292c6e3d692e646174617c7c5b5d2c613d742e6368617274417265612c6f3d6e2e6c656e6774682c733d303b666f7228722e63616e7661732e636c69704172656128742e6374782c61292c6528746869732e6765744461746173657428292c742e6f7074696f6e73292626692e646174617365742e6472617728292c722e63616e7661732e756e636c69704172656128742e637478293b733c6f3b2b2b73296e5b735d2e647261772861297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c6e3d742e637573746f6d7c7c7b7d2c613d742e5f6d6f64656c3b612e7261646975733d6e2e686f7665725261646975737c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665725261646975732c692c746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e686f766572526164697573292c612e6261636b67726f756e64436f6c6f723d6e2e686f7665724261636b67726f756e64436f6c6f727c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665724261636b67726f756e64436f6c6f722c692c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d6e2e686f766572426f72646572436f6c6f727c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f72646572436f6c6f722c692c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d6e2e686f766572426f7264657257696474687c7c722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f7264657257696474682c692c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c6e3d742e5f696e6465782c613d742e637573746f6d7c7c7b7d2c6f3d742e5f6d6f64656c3b766f69642030213d3d692e7261646975732626766f696420303d3d3d692e706f696e74526164697573262628692e706f696e745261646975733d692e726164697573292c6f2e7261646975733d612e7261646975737c7c722e76616c75654174496e6465784f7244656661756c7428692e706f696e745261646975732c6e2c652e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e726164697573292c6f2e6261636b67726f756e64436f6c6f723d652e676574506f696e744261636b67726f756e64436f6c6f7228742c6e292c6f2e626f72646572436f6c6f723d652e676574506f696e74426f72646572436f6c6f7228742c6e292c6f2e626f7264657257696474683d652e676574506f696e74426f72646572576964746828742c6e297d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c31393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822706f6c617241726561222c7b7363616c653a7b747970653a2272616469616c4c696e656172222c616e676c654c696e65733a7b646973706c61793a21317d2c677269644c696e65733a7b63697263756c61723a21307d2c706f696e744c6162656c733a7b646973706c61793a21317d2c7469636b733a7b626567696e41745a65726f3a21307d7d2c616e696d6174696f6e3a7b616e696d617465526f746174653a21302c616e696d6174655363616c653a21307d2c7374617274416e676c653a2d2e352a4d6174682e50492c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b76617220693d742e646174612c6e3d692e64617461736574732c613d692e6c6162656c733b6966286e2e6c656e67746829666f722876617220723d303b723c6e5b305d2e646174612e6c656e6774683b2b2b7229652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b6e5b305d2e6261636b67726f756e64436f6c6f725b725d2b27223e3c2f7370616e3e27292c615b725d2626652e7075736828615b725d292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d2c6c6567656e643a7b6c6162656c733a7b67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20652e6c6162656c732e6c656e6774682626652e64617461736574732e6c656e6774683f652e6c6162656c732e6d61702866756e6374696f6e28692c6e297b76617220613d742e676574446174617365744d6574612830292c6f3d652e64617461736574735b305d2c733d612e646174615b6e5d2e637573746f6d7c7c7b7d2c6c3d722e76616c75654174496e6465784f7244656661756c742c753d742e6f7074696f6e732e656c656d656e74732e6172633b72657475726e7b746578743a692c66696c6c5374796c653a732e6261636b67726f756e64436f6c6f723f732e6261636b67726f756e64436f6c6f723a6c286f2e6261636b67726f756e64436f6c6f722c6e2c752e6261636b67726f756e64436f6c6f72292c7374726f6b655374796c653a732e626f72646572436f6c6f723f732e626f72646572436f6c6f723a6c286f2e626f72646572436f6c6f722c6e2c752e626f72646572436f6c6f72292c6c696e6557696474683a732e626f7264657257696474683f732e626f7264657257696474683a6c286f2e626f7264657257696474682c6e2c752e626f726465725769647468292c68696464656e3a69734e614e286f2e646174615b6e5d297c7c612e646174615b6e5d2e68696464656e2c696e6465783a6e7d7d293a5b5d7d7d2c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220692c6e2c612c723d652e696e6465782c6f3d746869732e63686172743b666f7228693d302c6e3d286f2e646174612e64617461736574737c7c5b5d292e6c656e6774683b693c6e3b2b2b692928613d6f2e676574446174617365744d657461286929292e646174615b725d2e68696464656e3d21612e646174615b725d2e68696464656e3b6f2e75706461746528297d7d2c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e28742c65297b72657475726e20652e6c6162656c735b742e696e6465785d2b223a20222b742e794c6162656c7d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e706f6c6172417265613d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461456c656d656e74547970653a612e4172632c6c696e6b5363616c65733a722e6e6f6f702c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e63686172742c6e3d692e6368617274417265612c613d652e6765744d65746128292c6f3d692e6f7074696f6e732c733d6f2e656c656d656e74732e6172632c6c3d4d6174682e6d696e286e2e72696768742d6e2e6c6566742c6e2e626f74746f6d2d6e2e746f70293b692e6f757465725261646975733d4d6174682e6d617828286c2d732e626f7264657257696474682f32292f322c30292c692e696e6e65725261646975733d4d6174682e6d6178286f2e6375746f757450657263656e746167653f692e6f757465725261646975732f3130302a6f2e6375746f757450657263656e746167653a312c30292c692e7261646975734c656e6774683d28692e6f757465725261646975732d692e696e6e6572526164697573292f692e67657456697369626c6544617461736574436f756e7428292c652e6f757465725261646975733d692e6f757465725261646975732d692e7261646975734c656e6774682a652e696e6465782c652e696e6e65725261646975733d652e6f757465725261646975732d692e7261646975734c656e6774682c612e636f756e743d652e636f756e7456697369626c65456c656d656e747328292c722e6561636828612e646174612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b666f7228766172206e3d746869732c613d6e2e63686172742c6f3d6e2e6765744461746173657428292c733d612e6f7074696f6e732c6c3d732e616e696d6174696f6e2c753d612e7363616c652c643d612e646174612e6c6162656c732c683d6e2e63616c63756c61746543697263756d666572656e6365286f2e646174615b655d292c633d752e7843656e7465722c663d752e7943656e7465722c673d302c6d3d6e2e6765744d65746128292c703d303b703c653b2b2b702969734e614e286f2e646174615b705d297c7c6d2e646174615b705d2e68696464656e7c7c2b2b673b76617220763d732e7374617274416e676c652c793d742e68696464656e3f303a752e67657444697374616e636546726f6d43656e746572466f7256616c7565286f2e646174615b655d292c623d762b682a672c783d622b28742e68696464656e3f303a68292c5f3d6c2e616e696d6174655363616c653f303a752e67657444697374616e636546726f6d43656e746572466f7256616c7565286f2e646174615b655d293b722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f7363616c653a752c5f6d6f64656c3a7b783a632c793a662c696e6e65725261646975733a302c6f757465725261646975733a693f5f3a792c7374617274416e676c653a6926266c2e616e696d617465526f746174653f763a622c656e64416e676c653a6926266c2e616e696d617465526f746174653f763a782c6c6162656c3a722e76616c75654174496e6465784f7244656661756c7428642c652c645b655d297d7d292c6e2e72656d6f7665486f7665725374796c652874292c742e7069766f7428297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2865297b742e44617461736574436f6e74726f6c6c65722e70726f746f747970652e72656d6f7665486f7665725374796c652e63616c6c28746869732c652c746869732e63686172742e6f7074696f6e732e656c656d656e74732e617263297d2c636f756e7456697369626c65456c656d656e74733a66756e6374696f6e28297b76617220743d746869732e6765744461746173657428292c653d746869732e6765744d65746128292c693d303b72657475726e20722e6561636828652e646174612c66756e6374696f6e28652c6e297b69734e614e28742e646174615b6e5d297c7c652e68696464656e7c7c692b2b7d292c697d2c63616c63756c61746543697263756d666572656e63653a66756e6374696f6e2874297b76617220653d746869732e6765744d65746128292e636f756e743b72657475726e20653e3026262169734e614e2874293f322a4d6174682e50492f653a307d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c32303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f73657428227261646172222c7b7363616c653a7b747970653a2272616469616c4c696e656172227d2c656c656d656e74733a7b6c696e653a7b74656e73696f6e3a307d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e72616461723d742e44617461736574436f6e74726f6c6c65722e657874656e64287b64617461736574456c656d656e74547970653a612e4c696e652c64617461456c656d656e74547970653a612e506f696e742c6c696e6b5363616c65733a722e6e6f6f702c7570646174653a66756e6374696f6e2874297b76617220653d746869732c693d652e6765744d65746128292c6e3d692e646174617365742c613d692e646174612c6f3d6e2e637573746f6d7c7c7b7d2c733d652e6765744461746173657428292c6c3d652e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652c753d652e63686172742e7363616c653b766f69642030213d3d732e74656e73696f6e2626766f696420303d3d3d732e6c696e6554656e73696f6e262628732e6c696e6554656e73696f6e3d732e74656e73696f6e292c722e657874656e6428692e646174617365742c7b5f64617461736574496e6465783a652e696e6465782c5f7363616c653a752c5f6368696c6472656e3a612c5f6c6f6f703a21302c5f6d6f64656c3a7b74656e73696f6e3a6f2e74656e73696f6e3f6f2e74656e73696f6e3a722e76616c75654f7244656661756c7428732e6c696e6554656e73696f6e2c6c2e74656e73696f6e292c6261636b67726f756e64436f6c6f723a6f2e6261636b67726f756e64436f6c6f723f6f2e6261636b67726f756e64436f6c6f723a732e6261636b67726f756e64436f6c6f727c7c6c2e6261636b67726f756e64436f6c6f722c626f7264657257696474683a6f2e626f7264657257696474683f6f2e626f7264657257696474683a732e626f7264657257696474687c7c6c2e626f7264657257696474682c626f72646572436f6c6f723a6f2e626f72646572436f6c6f723f6f2e626f72646572436f6c6f723a732e626f72646572436f6c6f727c7c6c2e626f72646572436f6c6f722c66696c6c3a6f2e66696c6c3f6f2e66696c6c3a766f69642030213d3d732e66696c6c3f732e66696c6c3a6c2e66696c6c2c626f726465724361705374796c653a6f2e626f726465724361705374796c653f6f2e626f726465724361705374796c653a732e626f726465724361705374796c657c7c6c2e626f726465724361705374796c652c626f72646572446173683a6f2e626f72646572446173683f6f2e626f72646572446173683a732e626f72646572446173687c7c6c2e626f72646572446173682c626f72646572446173684f66667365743a6f2e626f72646572446173684f66667365743f6f2e626f72646572446173684f66667365743a732e626f72646572446173684f66667365747c7c6c2e626f72646572446173684f66667365742c626f726465724a6f696e5374796c653a6f2e626f726465724a6f696e5374796c653f6f2e626f726465724a6f696e5374796c653a732e626f726465724a6f696e5374796c657c7c6c2e626f726465724a6f696e5374796c657d7d292c692e646174617365742e7069766f7428292c722e6561636828612c66756e6374696f6e28692c6e297b652e757064617465456c656d656e7428692c6e2c74297d2c65292c652e75706461746542657a696572436f6e74726f6c506f696e747328297d2c757064617465456c656d656e743a66756e6374696f6e28742c652c69297b766172206e3d746869732c613d742e637573746f6d7c7c7b7d2c6f3d6e2e6765744461746173657428292c733d6e2e63686172742e7363616c652c6c3d6e2e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742c753d732e676574506f696e74506f736974696f6e466f7256616c756528652c6f2e646174615b655d293b766f69642030213d3d6f2e7261646975732626766f696420303d3d3d6f2e706f696e745261646975732626286f2e706f696e745261646975733d6f2e726164697573292c766f69642030213d3d6f2e6869745261646975732626766f696420303d3d3d6f2e706f696e744869745261646975732626286f2e706f696e744869745261646975733d6f2e686974526164697573292c722e657874656e6428742c7b5f64617461736574496e6465783a6e2e696e6465782c5f696e6465783a652c5f7363616c653a732c5f6d6f64656c3a7b783a693f732e7843656e7465723a752e782c793a693f732e7943656e7465723a752e792c74656e73696f6e3a612e74656e73696f6e3f612e74656e73696f6e3a722e76616c75654f7244656661756c74286f2e6c696e6554656e73696f6e2c6e2e63686172742e6f7074696f6e732e656c656d656e74732e6c696e652e74656e73696f6e292c7261646975733a612e7261646975733f612e7261646975733a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e745261646975732c652c6c2e726164697573292c6261636b67726f756e64436f6c6f723a612e6261636b67726f756e64436f6c6f723f612e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e744261636b67726f756e64436f6c6f722c652c6c2e6261636b67726f756e64436f6c6f72292c626f72646572436f6c6f723a612e626f72646572436f6c6f723f612e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e74426f72646572436f6c6f722c652c6c2e626f72646572436f6c6f72292c626f7264657257696474683a612e626f7264657257696474683f612e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e74426f7264657257696474682c652c6c2e626f726465725769647468292c706f696e745374796c653a612e706f696e745374796c653f612e706f696e745374796c653a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e745374796c652c652c6c2e706f696e745374796c65292c6869745261646975733a612e6869745261646975733f612e6869745261646975733a722e76616c75654174496e6465784f7244656661756c74286f2e706f696e744869745261646975732c652c6c2e686974526164697573297d7d292c742e5f6d6f64656c2e736b69703d612e736b69703f612e736b69703a69734e614e28742e5f6d6f64656c2e78297c7c69734e614e28742e5f6d6f64656c2e79297d2c75706461746542657a696572436f6e74726f6c506f696e74733a66756e6374696f6e28297b76617220743d746869732e63686172742e6368617274417265612c653d746869732e6765744d65746128293b722e6561636828652e646174612c66756e6374696f6e28692c6e297b76617220613d692e5f6d6f64656c2c6f3d722e73706c696e65437572766528722e70726576696f75734974656d28652e646174612c6e2c2130292e5f6d6f64656c2c612c722e6e6578744974656d28652e646174612c6e2c2130292e5f6d6f64656c2c612e74656e73696f6e293b612e636f6e74726f6c506f696e7450726576696f7573583d4d6174682e6d6178284d6174682e6d696e286f2e70726576696f75732e782c742e7269676874292c742e6c656674292c612e636f6e74726f6c506f696e7450726576696f7573593d4d6174682e6d6178284d6174682e6d696e286f2e70726576696f75732e792c742e626f74746f6d292c742e746f70292c612e636f6e74726f6c506f696e744e657874583d4d6174682e6d6178284d6174682e6d696e286f2e6e6578742e782c742e7269676874292c742e6c656674292c612e636f6e74726f6c506f696e744e657874593d4d6174682e6d6178284d6174682e6d696e286f2e6e6578742e792c742e626f74746f6d292c742e746f70292c692e7069766f7428297d297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e637573746f6d7c7c7b7d2c6e3d742e5f696e6465782c613d742e5f6d6f64656c3b612e7261646975733d692e686f7665725261646975733f692e686f7665725261646975733a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665725261646975732c6e2c746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e742e686f766572526164697573292c612e6261636b67726f756e64436f6c6f723d692e686f7665724261636b67726f756e64436f6c6f723f692e686f7665724261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f7665724261636b67726f756e64436f6c6f722c6e2c722e676574486f766572436f6c6f7228612e6261636b67726f756e64436f6c6f7229292c612e626f72646572436f6c6f723d692e686f766572426f72646572436f6c6f723f692e686f766572426f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f72646572436f6c6f722c6e2c722e676574486f766572436f6c6f7228612e626f72646572436f6c6f7229292c612e626f7264657257696474683d692e686f766572426f7264657257696474683f692e686f766572426f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74486f766572426f7264657257696474682c6e2c612e626f726465725769647468297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e637573746f6d7c7c7b7d2c6e3d742e5f696e6465782c613d742e5f6d6f64656c2c6f3d746869732e63686172742e6f7074696f6e732e656c656d656e74732e706f696e743b612e7261646975733d692e7261646975733f692e7261646975733a722e76616c75654174496e6465784f7244656661756c7428652e706f696e745261646975732c6e2c6f2e726164697573292c612e6261636b67726f756e64436f6c6f723d692e6261636b67726f756e64436f6c6f723f692e6261636b67726f756e64436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e744261636b67726f756e64436f6c6f722c6e2c6f2e6261636b67726f756e64436f6c6f72292c612e626f72646572436f6c6f723d692e626f72646572436f6c6f723f692e626f72646572436f6c6f723a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74426f72646572436f6c6f722c6e2c6f2e626f72646572436f6c6f72292c612e626f7264657257696474683d692e626f7264657257696474683f692e626f7264657257696474683a722e76616c75654174496e6465784f7244656661756c7428652e706f696e74426f7264657257696474682c6e2c6f2e626f726465725769647468297d7d297d7d2c7b32353a32352c34303a34302c34353a34357d5d2c32313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b74283235292e5f736574282273636174746572222c7b686f7665723a7b6d6f64653a2273696e676c65227d2c7363616c65733a7b78417865733a5b7b69643a22782d617869732d31222c747970653a226c696e656172222c706f736974696f6e3a22626f74746f6d227d5d2c79417865733a5b7b69643a22792d617869732d31222c747970653a226c696e656172222c706f736974696f6e3a226c656674227d5d7d2c73686f774c696e65733a21312c746f6f6c746970733a7b63616c6c6261636b733a7b7469746c653a66756e6374696f6e28297b72657475726e22227d2c6c6162656c3a66756e6374696f6e2874297b72657475726e2228222b742e784c6162656c2b222c20222b742e794c6162656c2b2229227d7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e636f6e74726f6c6c6572732e736361747465723d742e636f6e74726f6c6c6572732e6c696e657d7d2c7b32353a32357d5d2c32323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b616e696d6174696f6e3a7b6475726174696f6e3a3165332c656173696e673a22656173654f75745175617274222c6f6e50726f67726573733a722e6e6f6f702c6f6e436f6d706c6574653a722e6e6f6f707d7d292c652e6578706f7274733d66756e6374696f6e2874297b742e416e696d6174696f6e3d612e657874656e64287b63686172743a6e756c6c2c63757272656e74537465703a302c6e756d53746570733a36302c656173696e673a22222c72656e6465723a6e756c6c2c6f6e416e696d6174696f6e50726f67726573733a6e756c6c2c6f6e416e696d6174696f6e436f6d706c6574653a6e756c6c7d292c742e616e696d6174696f6e536572766963653d7b6672616d654475726174696f6e3a31372c616e696d6174696f6e733a5b5d2c64726f704672616d65733a302c726571756573743a6e756c6c2c616464416e696d6174696f6e3a66756e6374696f6e28742c652c692c6e297b76617220612c722c6f3d746869732e616e696d6174696f6e733b666f7228652e63686172743d742c6e7c7c28742e616e696d6174696e673d2130292c613d302c723d6f2e6c656e6774683b613c723b2b2b61296966286f5b615d2e63686172743d3d3d742972657475726e20766f6964286f5b615d3d65293b6f2e707573682865292c313d3d3d6f2e6c656e6774682626746869732e72657175657374416e696d6174696f6e4672616d6528297d2c63616e63656c416e696d6174696f6e3a66756e6374696f6e2874297b76617220653d722e66696e64496e64657828746869732e616e696d6174696f6e732c66756e6374696f6e2865297b72657475726e20652e63686172743d3d3d747d293b2d31213d3d65262628746869732e616e696d6174696f6e732e73706c69636528652c31292c742e616e696d6174696e673d2131297d2c72657175657374416e696d6174696f6e4672616d653a66756e6374696f6e28297b76617220743d746869733b6e756c6c3d3d3d742e72657175657374262628742e726571756573743d722e72657175657374416e696d4672616d652e63616c6c2877696e646f772c66756e6374696f6e28297b742e726571756573743d6e756c6c2c742e737461727444696765737428297d29297d2c73746172744469676573743a66756e6374696f6e28297b76617220743d746869732c653d446174652e6e6f7728292c693d303b742e64726f704672616d65733e31262628693d4d6174682e666c6f6f7228742e64726f704672616d6573292c742e64726f704672616d65733d742e64726f704672616d65732531292c742e616476616e636528312b69293b766172206e3d446174652e6e6f7728293b742e64726f704672616d65732b3d286e2d65292f742e6672616d654475726174696f6e2c742e616e696d6174696f6e732e6c656e6774683e302626742e72657175657374416e696d6174696f6e4672616d6528297d2c616476616e63653a66756e6374696f6e2874297b666f722876617220652c692c6e3d746869732e616e696d6174696f6e732c613d303b613c6e2e6c656e6774683b29693d28653d6e5b615d292e63686172742c652e63757272656e74537465703d28652e63757272656e74537465707c7c30292b742c652e63757272656e74537465703d4d6174682e6d696e28652e63757272656e74537465702c652e6e756d5374657073292c722e63616c6c6261636b28652e72656e6465722c5b692c655d2c69292c722e63616c6c6261636b28652e6f6e416e696d6174696f6e50726f67726573732c5b655d2c69292c652e63757272656e74537465703e3d652e6e756d53746570733f28722e63616c6c6261636b28652e6f6e416e696d6174696f6e436f6d706c6574652c5b655d2c69292c692e616e696d6174696e673d21312c6e2e73706c69636528612c3129293a2b2b617d7d2c4f626a6563742e646566696e6550726f706572747928742e416e696d6174696f6e2e70726f746f747970652c22616e696d6174696f6e4f626a656374222c7b6765743a66756e6374696f6e28297b72657475726e20746869737d7d292c4f626a6563742e646566696e6550726f706572747928742e416e696d6174696f6e2e70726f746f747970652c226368617274496e7374616e6365222c7b6765743a66756e6374696f6e28297b72657475726e20746869732e63686172747d2c7365743a66756e6374696f6e2874297b746869732e63686172743d747d7d297d7d2c7b32353a32352c32363a32362c34353a34357d5d2c32333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283238292c6f3d74283330292c733d74283438292c6c3d74283331293b652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e20652874297b72657475726e22746f70223d3d3d747c7c22626f74746f6d223d3d3d747d742e74797065733d7b7d2c742e696e7374616e6365733d7b7d2c742e636f6e74726f6c6c6572733d7b7d2c612e657874656e6428742e70726f746f747970652c7b636f6e7374727563743a66756e6374696f6e28652c69297b76617220722c6f2c6c3d746869733b286f3d28723d28723d69297c7c7b7d292e646174613d722e646174617c7c7b7d292e64617461736574733d6f2e64617461736574737c7c5b5d2c6f2e6c6162656c733d6f2e6c6162656c737c7c5b5d2c722e6f7074696f6e733d612e636f6e6669674d65726765286e2e676c6f62616c2c6e5b722e747970655d2c722e6f7074696f6e737c7c7b7d292c693d723b76617220753d732e61637175697265436f6e7465787428652c69292c643d752626752e63616e7661732c683d642626642e6865696768742c633d642626642e77696474683b6c2e69643d612e75696428292c6c2e6374783d752c6c2e63616e7661733d642c6c2e636f6e6669673d692c6c2e77696474683d632c6c2e6865696768743d682c6c2e617370656374526174696f3d683f632f683a6e756c6c2c6c2e6f7074696f6e733d692e6f7074696f6e732c6c2e5f627566666572656452656e6465723d21312c6c2e63686172743d6c2c6c2e636f6e74726f6c6c65723d6c2c742e696e7374616e6365735b6c2e69645d3d6c2c4f626a6563742e646566696e6550726f7065727479286c2c2264617461222c7b6765743a66756e6374696f6e28297b72657475726e206c2e636f6e6669672e646174617d2c7365743a66756e6374696f6e2874297b6c2e636f6e6669672e646174613d747d7d292c752626643f286c2e696e697469616c697a6528292c6c2e7570646174652829293a636f6e736f6c652e6572726f7228224661696c656420746f206372656174652063686172743a2063616e2774206163717569726520636f6e746578742066726f6d2074686520676976656e206974656d22297d2c696e697469616c697a653a66756e6374696f6e28297b76617220743d746869733b72657475726e206c2e6e6f7469667928742c226265666f7265496e697422292c612e726574696e615363616c6528742c742e6f7074696f6e732e646576696365506978656c526174696f292c742e62696e644576656e747328292c742e6f7074696f6e732e726573706f6e736976652626742e726573697a65282130292c742e656e737572655363616c65734861766549447328292c742e6275696c644f725570646174655363616c657328292c742e696e6974546f6f6c54697028292c6c2e6e6f7469667928742c226166746572496e697422292c747d2c636c6561723a66756e6374696f6e28297b72657475726e20612e63616e7661732e636c6561722874686973292c746869737d2c73746f703a66756e6374696f6e28297b72657475726e20742e616e696d6174696f6e536572766963652e63616e63656c416e696d6174696f6e2874686973292c746869737d2c726573697a653a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732c6e3d652e63616e7661732c723d692e6d61696e7461696e417370656374526174696f2626652e617370656374526174696f7c7c6e756c6c2c6f3d4d6174682e6d617828302c4d6174682e666c6f6f7228612e6765744d6178696d756d5769647468286e2929292c733d4d6174682e6d617828302c4d6174682e666c6f6f7228723f6f2f723a612e6765744d6178696d756d486569676874286e2929293b69662828652e7769647468213d3d6f7c7c652e686569676874213d3d73292626286e2e77696474683d652e77696474683d6f2c6e2e6865696768743d652e6865696768743d732c6e2e7374796c652e77696474683d6f2b227078222c6e2e7374796c652e6865696768743d732b227078222c612e726574696e615363616c6528652c692e646576696365506978656c526174696f292c217429297b76617220753d7b77696474683a6f2c6865696768743a737d3b6c2e6e6f7469667928652c22726573697a65222c5b755d292c652e6f7074696f6e732e6f6e526573697a652626652e6f7074696f6e732e6f6e526573697a6528652c75292c652e73746f7028292c652e75706461746528652e6f7074696f6e732e726573706f6e73697665416e696d6174696f6e4475726174696f6e297d7d2c656e737572655363616c6573486176654944733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732c653d742e7363616c65737c7c7b7d2c693d742e7363616c653b612e6561636828652e78417865732c66756e6374696f6e28742c65297b742e69643d742e69647c7c22782d617869732d222b657d292c612e6561636828652e79417865732c66756e6374696f6e28742c65297b742e69643d742e69647c7c22792d617869732d222b657d292c69262628692e69643d692e69647c7c227363616c6522297d2c6275696c644f725570646174655363616c65733a66756e6374696f6e28297b76617220693d746869732c6e3d692e6f7074696f6e732c723d692e7363616c65737c7c7b7d2c6f3d5b5d2c733d4f626a6563742e6b6579732872292e7265647563652866756e6374696f6e28742c65297b72657475726e20745b655d3d21312c747d2c7b7d293b6e2e7363616c65732626286f3d6f2e636f6e63617428286e2e7363616c65732e78417865737c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6f7074696f6e733a742c64747970653a2263617465676f7279222c64706f736974696f6e3a22626f74746f6d227d7d292c286e2e7363616c65732e79417865737c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6f7074696f6e733a742c64747970653a226c696e656172222c64706f736974696f6e3a226c656674227d7d2929292c6e2e7363616c6526266f2e70757368287b6f7074696f6e733a6e2e7363616c652c64747970653a2272616469616c4c696e656172222c697344656661756c743a21302c64706f736974696f6e3a22636861727441726561227d292c612e65616368286f2c66756e6374696f6e286e297b766172206f3d6e2e6f7074696f6e732c6c3d6f2e69642c753d612e76616c75654f7244656661756c74286f2e747970652c6e2e6474797065293b65286f2e706f736974696f6e29213d3d65286e2e64706f736974696f6e292626286f2e706f736974696f6e3d6e2e64706f736974696f6e292c735b6c5d3d21303b76617220643d6e756c6c3b6966286c20696e20722626725b6c5d2e747970653d3d3d752928643d725b6c5d292e6f7074696f6e733d6f2c642e6374783d692e6374782c642e63686172743d693b656c73657b76617220683d742e7363616c65536572766963652e6765745363616c65436f6e7374727563746f722875293b69662821682972657475726e3b643d6e65772068287b69643a6c2c747970653a752c6f7074696f6e733a6f2c6374783a692e6374782c63686172743a697d292c725b642e69645d3d647d642e6d657267655469636b734f7074696f6e7328292c6e2e697344656661756c74262628692e7363616c653d64297d292c612e6561636828732c66756e6374696f6e28742c65297b747c7c64656c65746520725b655d7d292c692e7363616c65733d722c742e7363616c65536572766963652e6164645363616c6573546f4c61796f75742874686973297d2c6275696c644f72557064617465436f6e74726f6c6c6572733a66756e6374696f6e28297b76617220653d746869732c693d5b5d2c6e3d5b5d3b72657475726e20612e6561636828652e646174612e64617461736574732c66756e6374696f6e28612c72297b766172206f3d652e676574446174617365744d6574612872292c733d612e747970657c7c652e636f6e6669672e747970653b6966286f2e7479706526266f2e74797065213d3d73262628652e64657374726f79446174617365744d6574612872292c6f3d652e676574446174617365744d657461287229292c6f2e747970653d732c692e70757368286f2e74797065292c6f2e636f6e74726f6c6c6572296f2e636f6e74726f6c6c65722e757064617465496e6465782872292c6f2e636f6e74726f6c6c65722e6c696e6b5363616c657328293b656c73657b766172206c3d742e636f6e74726f6c6c6572735b6f2e747970655d3b696628766f696420303d3d3d6c297468726f77206e6577204572726f72282722272b6f2e747970652b2722206973206e6f74206120636861727420747970652e27293b6f2e636f6e74726f6c6c65723d6e6577206c28652c72292c6e2e70757368286f2e636f6e74726f6c6c6572297d7d2c65292c6e7d2c7265736574456c656d656e74733a66756e6374696f6e28297b76617220743d746869733b612e6561636828742e646174612e64617461736574732c66756e6374696f6e28652c69297b742e676574446174617365744d6574612869292e636f6e74726f6c6c65722e726573657428297d2c74297d2c72657365743a66756e6374696f6e28297b746869732e7265736574456c656d656e747328292c746869732e746f6f6c7469702e696e697469616c697a6528297d2c7570646174653a66756e6374696f6e2865297b76617220692c6e2c723d746869733b696628652626226f626a656374223d3d747970656f6620657c7c28653d7b6475726174696f6e3a652c6c617a793a617267756d656e74735b315d7d292c6e3d28693d72292e6f7074696f6e732c612e6561636828692e7363616c65732c66756e6374696f6e2874297b6f2e72656d6f7665426f7828692c74297d292c6e3d612e636f6e6669674d6572676528742e64656661756c74732e676c6f62616c2c742e64656661756c74735b692e636f6e6669672e747970655d2c6e292c692e6f7074696f6e733d692e636f6e6669672e6f7074696f6e733d6e2c692e656e737572655363616c65734861766549447328292c692e6275696c644f725570646174655363616c657328292c692e746f6f6c7469702e5f6f7074696f6e733d6e2e746f6f6c746970732c692e746f6f6c7469702e696e697469616c697a6528292c6c2e5f696e76616c69646174652872292c2131213d3d6c2e6e6f7469667928722c226265666f72655570646174652229297b722e746f6f6c7469702e5f646174613d722e646174613b76617220733d722e6275696c644f72557064617465436f6e74726f6c6c65727328293b612e6561636828722e646174612e64617461736574732c66756e6374696f6e28742c65297b722e676574446174617365744d6574612865292e636f6e74726f6c6c65722e6275696c644f72557064617465456c656d656e747328297d2c72292c722e7570646174654c61796f757428292c722e6f7074696f6e732e616e696d6174696f6e2626722e6f7074696f6e732e616e696d6174696f6e2e6475726174696f6e2626612e6561636828732c66756e6374696f6e2874297b742e726573657428297d292c722e757064617465446174617365747328292c722e746f6f6c7469702e696e697469616c697a6528292c722e6c6173744163746976653d5b5d2c6c2e6e6f7469667928722c22616674657255706461746522292c722e5f627566666572656452656e6465723f722e5f6275666665726564526571756573743d7b6475726174696f6e3a652e6475726174696f6e2c656173696e673a652e656173696e672c6c617a793a652e6c617a797d3a722e72656e6465722865297d7d2c7570646174654c61796f75743a66756e6374696f6e28297b2131213d3d6c2e6e6f7469667928746869732c226265666f72654c61796f757422292626286f2e75706461746528746869732c746869732e77696474682c746869732e686569676874292c6c2e6e6f7469667928746869732c2261667465725363616c6555706461746522292c6c2e6e6f7469667928746869732c2261667465724c61796f75742229297d2c75706461746544617461736574733a66756e6374696f6e28297b6966282131213d3d6c2e6e6f7469667928746869732c226265666f726544617461736574735570646174652229297b666f722876617220743d302c653d746869732e646174612e64617461736574732e6c656e6774683b743c653b2b2b7429746869732e757064617465446174617365742874293b6c2e6e6f7469667928746869732c226166746572446174617365747355706461746522297d7d2c757064617465446174617365743a66756e6374696f6e2874297b76617220653d746869732e676574446174617365744d6574612874292c693d7b6d6574613a652c696e6465783a747d3b2131213d3d6c2e6e6f7469667928746869732c226265666f726544617461736574557064617465222c5b695d29262628652e636f6e74726f6c6c65722e75706461746528292c6c2e6e6f7469667928746869732c22616674657244617461736574557064617465222c5b695d29297d2c72656e6465723a66756e6374696f6e2865297b76617220693d746869733b652626226f626a656374223d3d747970656f6620657c7c28653d7b6475726174696f6e3a652c6c617a793a617267756d656e74735b315d7d293b766172206e3d652e6475726174696f6e2c723d652e6c617a793b6966282131213d3d6c2e6e6f7469667928692c226265666f726552656e6465722229297b766172206f3d692e6f7074696f6e732e616e696d6174696f6e2c733d66756e6374696f6e2874297b6c2e6e6f7469667928692c22616674657252656e64657222292c612e63616c6c6261636b286f26266f2e6f6e436f6d706c6574652c5b745d2c69297d3b6966286f262628766f69642030213d3d6e262630213d3d6e7c7c766f696420303d3d3d6e262630213d3d6f2e6475726174696f6e29297b76617220753d6e657720742e416e696d6174696f6e287b6e756d53746570733a286e7c7c6f2e6475726174696f6e292f31362e36362c656173696e673a652e656173696e677c7c6f2e656173696e672c72656e6465723a66756e6374696f6e28742c65297b76617220693d612e656173696e672e656666656374735b652e656173696e675d2c6e3d652e63757272656e74537465702c723d6e2f652e6e756d53746570733b742e6472617728692872292c722c6e297d2c6f6e416e696d6174696f6e50726f67726573733a6f2e6f6e50726f67726573732c6f6e416e696d6174696f6e436f6d706c6574653a737d293b742e616e696d6174696f6e536572766963652e616464416e696d6174696f6e28692c752c6e2c72297d656c736520692e6472617728292c73286e657720742e416e696d6174696f6e287b6e756d53746570733a302c63686172743a697d29293b72657475726e20697d7d2c647261773a66756e6374696f6e2874297b76617220653d746869733b652e636c65617228292c612e69734e756c6c4f72556e646566287429262628743d31292c652e7472616e736974696f6e2874292c2131213d3d6c2e6e6f7469667928652c226265666f726544726177222c5b745d29262628612e6561636828652e626f7865732c66756e6374696f6e2874297b742e6472617728652e636861727441726561297d2c65292c652e7363616c652626652e7363616c652e6472617728292c652e6472617744617461736574732874292c652e5f64726177546f6f6c7469702874292c6c2e6e6f7469667928652c22616674657244726177222c5b745d29297d2c7472616e736974696f6e3a66756e6374696f6e2874297b666f722876617220653d302c693d28746869732e646174612e64617461736574737c7c5b5d292e6c656e6774683b653c693b2b2b6529746869732e69734461746173657456697369626c652865292626746869732e676574446174617365744d6574612865292e636f6e74726f6c6c65722e7472616e736974696f6e2874293b746869732e746f6f6c7469702e7472616e736974696f6e2874297d2c6472617744617461736574733a66756e6374696f6e2874297b76617220653d746869733b6966282131213d3d6c2e6e6f7469667928652c226265666f7265446174617365747344726177222c5b745d29297b666f722876617220693d28652e646174612e64617461736574737c7c5b5d292e6c656e6774682d313b693e3d303b2d2d6929652e69734461746173657456697369626c652869292626652e647261774461746173657428692c74293b6c2e6e6f7469667928652c226166746572446174617365747344726177222c5b745d297d7d2c64726177446174617365743a66756e6374696f6e28742c65297b76617220693d746869732e676574446174617365744d6574612874292c6e3d7b6d6574613a692c696e6465783a742c656173696e6756616c75653a657d3b2131213d3d6c2e6e6f7469667928746869732c226265666f72654461746173657444726177222c5b6e5d29262628692e636f6e74726f6c6c65722e647261772865292c6c2e6e6f7469667928746869732c2261667465724461746173657444726177222c5b6e5d29297d2c5f64726177546f6f6c7469703a66756e6374696f6e2874297b76617220653d746869732e746f6f6c7469702c693d7b746f6f6c7469703a652c656173696e6756616c75653a747d3b2131213d3d6c2e6e6f7469667928746869732c226265666f7265546f6f6c74697044726177222c5b695d29262628652e6472617728292c6c2e6e6f7469667928746869732c226166746572546f6f6c74697044726177222c5b695d29297d2c676574456c656d656e7441744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e73696e676c6528746869732c74297d2c676574456c656d656e747341744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e6c6162656c28746869732c742c7b696e746572736563743a21307d297d2c676574456c656d656e7473417458417869733a66756e6374696f6e2874297b72657475726e20722e6d6f6465735b22782d61786973225d28746869732c742c7b696e746572736563743a21307d297d2c676574456c656d656e747341744576656e74466f724d6f64653a66756e6374696f6e28742c652c69297b766172206e3d722e6d6f6465735b655d3b72657475726e2266756e6374696f6e223d3d747970656f66206e3f6e28746869732c742c69293a5b5d7d2c6765744461746173657441744576656e743a66756e6374696f6e2874297b72657475726e20722e6d6f6465732e6461746173657428746869732c742c7b696e746572736563743a21307d297d2c676574446174617365744d6574613a66756e6374696f6e2874297b76617220653d746869732e646174612e64617461736574735b745d3b652e5f6d6574617c7c28652e5f6d6574613d7b7d293b76617220693d652e5f6d6574615b746869732e69645d3b72657475726e20697c7c28693d652e5f6d6574615b746869732e69645d3d7b747970653a6e756c6c2c646174613a5b5d2c646174617365743a6e756c6c2c636f6e74726f6c6c65723a6e756c6c2c68696464656e3a6e756c6c2c784178697349443a6e756c6c2c794178697349443a6e756c6c7d292c697d2c67657456697369626c6544617461736574436f756e743a66756e6374696f6e28297b666f722876617220743d302c653d302c693d746869732e646174612e64617461736574732e6c656e6774683b653c693b2b2b6529746869732e69734461746173657456697369626c652865292626742b2b3b72657475726e20747d2c69734461746173657456697369626c653a66756e6374696f6e2874297b76617220653d746869732e676574446174617365744d6574612874293b72657475726e22626f6f6c65616e223d3d747970656f6620652e68696464656e3f21652e68696464656e3a21746869732e646174612e64617461736574735b745d2e68696464656e7d2c67656e65726174654c6567656e643a66756e6374696f6e28297b72657475726e20746869732e6f7074696f6e732e6c6567656e6443616c6c6261636b2874686973297d2c64657374726f79446174617365744d6574613a66756e6374696f6e2874297b76617220653d746869732e69642c693d746869732e646174612e64617461736574735b745d2c6e3d692e5f6d6574612626692e5f6d6574615b655d3b6e2626286e2e636f6e74726f6c6c65722e64657374726f7928292c64656c65746520692e5f6d6574615b655d297d2c64657374726f793a66756e6374696f6e28297b76617220652c692c6e3d746869732c723d6e2e63616e7661733b666f72286e2e73746f7028292c653d302c693d6e2e646174612e64617461736574732e6c656e6774683b653c693b2b2b65296e2e64657374726f79446174617365744d6574612865293b722626286e2e756e62696e644576656e747328292c612e63616e7661732e636c656172286e292c732e72656c65617365436f6e74657874286e2e637478292c6e2e63616e7661733d6e756c6c2c6e2e6374783d6e756c6c292c6c2e6e6f74696679286e2c2264657374726f7922292c64656c65746520742e696e7374616e6365735b6e2e69645d7d2c746f426173653634496d6167653a66756e6374696f6e28297b72657475726e20746869732e63616e7661732e746f4461746155524c2e6170706c7928746869732e63616e7661732c617267756d656e7473297d2c696e6974546f6f6c5469703a66756e6374696f6e28297b76617220653d746869733b652e746f6f6c7469703d6e657720742e546f6f6c746970287b5f63686172743a652c5f6368617274496e7374616e63653a652c5f646174613a652e646174612c5f6f7074696f6e733a652e6f7074696f6e732e746f6f6c746970737d2c65297d2c62696e644576656e74733a66756e6374696f6e28297b76617220743d746869732c653d742e5f6c697374656e6572733d7b7d2c693d66756e6374696f6e28297b742e6576656e7448616e646c65722e6170706c7928742c617267756d656e7473297d3b612e6561636828742e6f7074696f6e732e6576656e74732c66756e6374696f6e286e297b732e6164644576656e744c697374656e657228742c6e2c69292c655b6e5d3d697d292c742e6f7074696f6e732e726573706f6e73697665262628693d66756e6374696f6e28297b742e726573697a6528297d2c732e6164644576656e744c697374656e657228742c22726573697a65222c69292c652e726573697a653d69297d2c756e62696e644576656e74733a66756e6374696f6e28297b76617220743d746869732c653d742e5f6c697374656e6572733b6526262864656c65746520742e5f6c697374656e6572732c612e6561636828652c66756e6374696f6e28652c69297b732e72656d6f76654576656e744c697374656e657228742c692c65297d29297d2c757064617465486f7665725374796c653a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f3d693f22736574486f7665725374796c65223a2272656d6f7665486f7665725374796c65223b666f7228613d302c723d742e6c656e6774683b613c723b2b2b6129286e3d745b615d292626746869732e676574446174617365744d657461286e2e5f64617461736574496e646578292e636f6e74726f6c6c65725b6f5d286e297d2c6576656e7448616e646c65723a66756e6374696f6e2874297b76617220653d746869732c693d652e746f6f6c7469703b6966282131213d3d6c2e6e6f7469667928652c226265666f72654576656e74222c5b745d29297b652e5f627566666572656452656e6465723d21302c652e5f6275666665726564526571756573743d6e756c6c3b766172206e3d652e68616e646c654576656e742874293b692626286e3d692e5f73746172743f692e68616e646c654576656e742874293a6e7c692e68616e646c654576656e74287429292c6c2e6e6f7469667928652c2261667465724576656e74222c5b745d293b76617220613d652e5f6275666665726564526571756573743b72657475726e20613f652e72656e6465722861293a6e262621652e616e696d6174696e67262628652e73746f7028292c652e72656e64657228652e6f7074696f6e732e686f7665722e616e696d6174696f6e4475726174696f6e2c213029292c652e5f627566666572656452656e6465723d21312c652e5f6275666665726564526571756573743d6e756c6c2c657d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220652c693d746869732c6e3d692e6f7074696f6e737c7c7b7d2c723d6e2e686f7665723b72657475726e20692e6c6173744163746976653d692e6c6173744163746976657c7c5b5d2c226d6f7573656f7574223d3d3d742e747970653f692e6163746976653d5b5d3a692e6163746976653d692e676574456c656d656e747341744576656e74466f724d6f646528742c722e6d6f64652c72292c612e63616c6c6261636b286e2e6f6e486f7665727c7c6e2e686f7665722e6f6e486f7665722c5b742e6e61746976652c692e6163746976655d2c69292c226d6f757365757022213d3d742e74797065262622636c69636b22213d3d742e747970657c7c6e2e6f6e436c69636b26266e2e6f6e436c69636b2e63616c6c28692c742e6e61746976652c692e616374697665292c692e6c6173744163746976652e6c656e6774682626692e757064617465486f7665725374796c6528692e6c6173744163746976652c722e6d6f64652c2131292c692e6163746976652e6c656e6774682626722e6d6f64652626692e757064617465486f7665725374796c6528692e6163746976652c722e6d6f64652c2130292c653d21612e6172726179457175616c7328692e6163746976652c692e6c617374416374697665292c692e6c6173744163746976653d692e6163746976652c657d7d292c742e436f6e74726f6c6c65723d747d7d2c7b32353a32352c32383a32382c33303a33302c33313a33312c34353a34352c34383a34387d5d2c32343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d5b2270757368222c22706f70222c227368696674222c2273706c696365222c22756e7368696674225d3b66756e6374696f6e206928742c69297b766172206e3d742e5f63686172746a733b6966286e297b76617220613d6e2e6c697374656e6572732c723d612e696e6465784f662869293b2d31213d3d722626612e73706c69636528722c31292c612e6c656e6774683e307c7c28652e666f72456163682866756e6374696f6e2865297b64656c65746520745b655d7d292c64656c65746520742e5f63686172746a73297d7d742e44617461736574436f6e74726f6c6c65723d66756e6374696f6e28742c65297b746869732e696e697469616c697a6528742c65297d2c6e2e657874656e6428742e44617461736574436f6e74726f6c6c65722e70726f746f747970652c7b64617461736574456c656d656e74547970653a6e756c6c2c64617461456c656d656e74547970653a6e756c6c2c696e697469616c697a653a66756e6374696f6e28742c65297b746869732e63686172743d742c746869732e696e6465783d652c746869732e6c696e6b5363616c657328292c746869732e616464456c656d656e747328297d2c757064617465496e6465783a66756e6374696f6e2874297b746869732e696e6465783d747d2c6c696e6b5363616c65733a66756e6374696f6e28297b76617220743d746869732c653d742e6765744d65746128292c693d742e6765744461746173657428293b6e756c6c213d3d652e784178697349442626652e7841786973494420696e20742e63686172742e7363616c65737c7c28652e784178697349443d692e784178697349447c7c742e63686172742e6f7074696f6e732e7363616c65732e78417865735b305d2e6964292c6e756c6c213d3d652e794178697349442626652e7941786973494420696e20742e63686172742e7363616c65737c7c28652e794178697349443d692e794178697349447c7c742e63686172742e6f7074696f6e732e7363616c65732e79417865735b305d2e6964297d2c676574446174617365743a66756e6374696f6e28297b72657475726e20746869732e63686172742e646174612e64617461736574735b746869732e696e6465785d7d2c6765744d6574613a66756e6374696f6e28297b72657475726e20746869732e63686172742e676574446174617365744d65746128746869732e696e646578297d2c6765745363616c65466f7249643a66756e6374696f6e2874297b72657475726e20746869732e63686172742e7363616c65735b745d7d2c72657365743a66756e6374696f6e28297b746869732e757064617465282130297d2c64657374726f793a66756e6374696f6e28297b746869732e5f6461746126266928746869732e5f646174612c74686973297d2c6372656174654d657461446174617365743a66756e6374696f6e28297b76617220743d746869732e64617461736574456c656d656e74547970653b72657475726e207426266e65772074287b5f63686172743a746869732e63686172742c5f64617461736574496e6465783a746869732e696e6465787d297d2c6372656174654d657461446174613a66756e6374696f6e2874297b76617220653d746869732e64617461456c656d656e74547970653b72657475726e206526266e65772065287b5f63686172743a746869732e63686172742c5f64617461736574496e6465783a746869732e696e6465782c5f696e6465783a747d297d2c616464456c656d656e74733a66756e6374696f6e28297b76617220742c652c693d746869732e6765744d65746128292c6e3d746869732e6765744461746173657428292e646174617c7c5b5d2c613d692e646174613b666f7228743d302c653d6e2e6c656e6774683b743c653b2b2b7429615b745d3d615b745d7c7c746869732e6372656174654d657461446174612874293b692e646174617365743d692e646174617365747c7c746869732e6372656174654d6574614461746173657428297d2c616464456c656d656e74416e6452657365743a66756e6374696f6e2874297b76617220653d746869732e6372656174654d657461446174612874293b746869732e6765744d65746128292e646174612e73706c69636528742c302c65292c746869732e757064617465456c656d656e7428652c742c2130297d2c6275696c644f72557064617465456c656d656e74733a66756e6374696f6e28297b76617220742c612c723d746869732c6f3d722e6765744461746173657428292c733d6f2e646174617c7c286f2e646174613d5b5d293b722e5f64617461213d3d73262628722e5f6461746126266928722e5f646174612c72292c613d722c28743d73292e5f63686172746a733f742e5f63686172746a732e6c697374656e6572732e707573682861293a284f626a6563742e646566696e6550726f706572747928742c225f63686172746a73222c7b636f6e666967757261626c653a21302c656e756d657261626c653a21312c76616c75653a7b6c697374656e6572733a5b615d7d7d292c652e666f72456163682866756e6374696f6e2865297b76617220693d226f6e44617461222b652e6368617241742830292e746f55707065724361736528292b652e736c6963652831292c613d745b655d3b4f626a6563742e646566696e6550726f706572747928742c652c7b636f6e666967757261626c653a21302c656e756d657261626c653a21312c76616c75653a66756e6374696f6e28297b76617220653d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e7473292c723d612e6170706c7928746869732c65293b72657475726e206e2e6561636828742e5f63686172746a732e6c697374656e6572732c66756e6374696f6e2874297b2266756e6374696f6e223d3d747970656f6620745b695d2626745b695d2e6170706c7928742c65297d292c727d7d297d29292c722e5f646174613d73292c722e726573796e63456c656d656e747328297d2c7570646174653a6e2e6e6f6f702c7472616e736974696f6e3a66756e6374696f6e2874297b666f722876617220653d746869732e6765744d65746128292c693d652e646174617c7c5b5d2c6e3d692e6c656e6774682c613d303b613c6e3b2b2b6129695b615d2e7472616e736974696f6e2874293b652e646174617365742626652e646174617365742e7472616e736974696f6e2874297d2c647261773a66756e6374696f6e28297b76617220743d746869732e6765744d65746128292c653d742e646174617c7c5b5d2c693d652e6c656e6774682c6e3d303b666f7228742e646174617365742626742e646174617365742e6472617728293b6e3c693b2b2b6e29655b6e5d2e6472617728297d2c72656d6f7665486f7665725374796c653a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c613d742e5f696e6465782c723d742e637573746f6d7c7c7b7d2c6f3d6e2e76616c75654174496e6465784f7244656661756c742c733d742e5f6d6f64656c3b732e6261636b67726f756e64436f6c6f723d722e6261636b67726f756e64436f6c6f723f722e6261636b67726f756e64436f6c6f723a6f28692e6261636b67726f756e64436f6c6f722c612c652e6261636b67726f756e64436f6c6f72292c732e626f72646572436f6c6f723d722e626f72646572436f6c6f723f722e626f72646572436f6c6f723a6f28692e626f72646572436f6c6f722c612c652e626f72646572436f6c6f72292c732e626f7264657257696474683d722e626f7264657257696474683f722e626f7264657257696474683a6f28692e626f7264657257696474682c612c652e626f726465725769647468297d2c736574486f7665725374796c653a66756e6374696f6e2874297b76617220653d746869732e63686172742e646174612e64617461736574735b742e5f64617461736574496e6465785d2c693d742e5f696e6465782c613d742e637573746f6d7c7c7b7d2c723d6e2e76616c75654174496e6465784f7244656661756c742c6f3d6e2e676574486f766572436f6c6f722c733d742e5f6d6f64656c3b732e6261636b67726f756e64436f6c6f723d612e686f7665724261636b67726f756e64436f6c6f723f612e686f7665724261636b67726f756e64436f6c6f723a7228652e686f7665724261636b67726f756e64436f6c6f722c692c6f28732e6261636b67726f756e64436f6c6f7229292c732e626f72646572436f6c6f723d612e686f766572426f72646572436f6c6f723f612e686f766572426f72646572436f6c6f723a7228652e686f766572426f72646572436f6c6f722c692c6f28732e626f72646572436f6c6f7229292c732e626f7264657257696474683d612e686f766572426f7264657257696474683f612e686f766572426f7264657257696474683a7228652e686f766572426f7264657257696474682c692c732e626f726465725769647468297d2c726573796e63456c656d656e74733a66756e6374696f6e28297b76617220743d746869732e6765744d65746128292c653d746869732e6765744461746173657428292e646174612c693d742e646174612e6c656e6774682c6e3d652e6c656e6774683b6e3c693f742e646174612e73706c696365286e2c692d6e293a6e3e692626746869732e696e73657274456c656d656e747328692c6e2d69297d2c696e73657274456c656d656e74733a66756e6374696f6e28742c65297b666f722876617220693d303b693c653b2b2b6929746869732e616464456c656d656e74416e64526573657428742b69297d2c6f6e44617461507573683a66756e6374696f6e28297b746869732e696e73657274456c656d656e747328746869732e6765744461746173657428292e646174612e6c656e6774682d312c617267756d656e74732e6c656e677468297d2c6f6e44617461506f703a66756e6374696f6e28297b746869732e6765744d65746128292e646174612e706f7028297d2c6f6e4461746153686966743a66756e6374696f6e28297b746869732e6765744d65746128292e646174612e736869667428297d2c6f6e4461746153706c6963653a66756e6374696f6e28742c65297b746869732e6765744d65746128292e646174612e73706c69636528742c65292c746869732e696e73657274456c656d656e747328742c617267756d656e74732e6c656e6774682d32297d2c6f6e44617461556e73686966743a66756e6374696f6e28297b746869732e696e73657274456c656d656e747328302c617267756d656e74732e6c656e677468297d7d292c742e44617461736574436f6e74726f6c6c65722e657874656e643d6e2e696e6865726974737d7d2c7b34353a34357d5d2c32353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d7b5f7365743a66756e6374696f6e28742c65297b72657475726e206e2e6d6572676528746869735b745d7c7c28746869735b745d3d7b7d292c65297d7d7d2c7b34353a34357d5d2c32363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742832292c613d74283435293b76617220723d66756e6374696f6e2874297b612e657874656e6428746869732c74292c746869732e696e697469616c697a652e6170706c7928746869732c617267756d656e7473297d3b612e657874656e6428722e70726f746f747970652c7b696e697469616c697a653a66756e6374696f6e28297b746869732e68696464656e3d21317d2c7069766f743a66756e6374696f6e28297b76617220743d746869733b72657475726e20742e5f766965777c7c28742e5f766965773d612e636c6f6e6528742e5f6d6f64656c29292c742e5f73746172743d7b7d2c747d2c7472616e736974696f6e3a66756e6374696f6e2874297b76617220653d746869732c693d652e5f6d6f64656c2c613d652e5f73746172742c723d652e5f766965773b72657475726e2069262631213d3d743f28727c7c28723d652e5f766965773d7b7d292c617c7c28613d652e5f73746172743d7b7d292c66756e6374696f6e28742c652c692c61297b76617220722c6f2c732c6c2c752c642c682c632c662c673d4f626a6563742e6b6579732869293b666f7228723d302c6f3d672e6c656e6774683b723c6f3b2b2b7229696628643d695b733d675b725d5d2c652e6861734f776e50726f70657274792873297c7c28655b735d3d64292c286c3d655b735d29213d3d642626225f22213d3d735b305d297b696628742e6861734f776e50726f70657274792873297c7c28745b735d3d6c292c28683d747970656f662064293d3d747970656f6628753d745b735d292969662822737472696e67223d3d3d68297b69662828633d6e287529292e76616c6964262628663d6e286429292e76616c6964297b655b735d3d662e6d697828632c61292e726762537472696e6728293b636f6e74696e75657d7d656c736520696628226e756d626572223d3d3d682626697346696e6974652875292626697346696e697465286429297b655b735d3d752b28642d75292a613b636f6e74696e75657d655b735d3d647d7d28612c722c692c74292c65293a28652e5f766965773d692c652e5f73746172743d6e756c6c2c65297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b72657475726e7b783a746869732e5f6d6f64656c2e782c793a746869732e5f6d6f64656c2e797d7d2c68617356616c75653a66756e6374696f6e28297b72657475726e20612e69734e756d62657228746869732e5f6d6f64656c2e78292626612e69734e756d62657228746869732e5f6d6f64656c2e79297d7d292c722e657874656e643d612e696e6865726974732c652e6578706f7274733d727d2c7b323a322c34353a34357d5d2c32373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742832292c613d74283235292c723d74283435293b652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c652c69297b766172206e3b72657475726e22737472696e67223d3d747970656f6620743f286e3d7061727365496e7428742c3130292c2d31213d3d742e696e6465784f6628222522292626286e3d6e2f3130302a652e706172656e744e6f64655b695d29293a6e3d742c6e7d66756e6374696f6e20692874297b72657475726e206e756c6c213d742626226e6f6e6522213d3d747d66756e6374696f6e206f28742c6e2c61297b76617220723d646f63756d656e742e64656661756c74566965772c6f3d742e706172656e744e6f64652c733d722e676574436f6d70757465645374796c652874295b6e5d2c6c3d722e676574436f6d70757465645374796c65286f295b6e5d2c753d692873292c643d69286c292c683d4e756d6265722e504f5349544956455f494e46494e4954593b72657475726e20757c7c643f4d6174682e6d696e28753f6528732c742c61293a682c643f65286c2c6f2c61293a68293a226e6f6e65227d722e636f6e6669674d657267653d66756e6374696f6e28297b72657475726e20722e6d6572676528722e636c6f6e6528617267756d656e74735b305d292c5b5d2e736c6963652e63616c6c28617267756d656e74732c31292c7b6d65726765723a66756e6374696f6e28652c692c6e2c61297b766172206f3d695b655d7c7c7b7d2c733d6e5b655d3b227363616c6573223d3d3d653f695b655d3d722e7363616c654d65726765286f2c73293a227363616c65223d3d3d653f695b655d3d722e6d65726765286f2c5b742e7363616c65536572766963652e6765745363616c6544656661756c747328732e74797065292c735d293a722e5f6d657267657228652c692c6e2c61297d7d297d2c722e7363616c654d657267653d66756e6374696f6e28297b72657475726e20722e6d6572676528722e636c6f6e6528617267756d656e74735b305d292c5b5d2e736c6963652e63616c6c28617267756d656e74732c31292c7b6d65726765723a66756e6374696f6e28652c692c6e2c61297b696628227841786573223d3d3d657c7c227941786573223d3d3d65297b766172206f2c732c6c2c753d6e5b655d2e6c656e6774683b666f7228695b655d7c7c28695b655d3d5b5d292c6f3d303b6f3c753b2b2b6f296c3d6e5b655d5b6f5d2c733d722e76616c75654f7244656661756c74286c2e747970652c227841786573223d3d3d653f2263617465676f7279223a226c696e65617222292c6f3e3d695b655d2e6c656e6774682626695b655d2e70757368287b7d292c21695b655d5b6f5d2e747970657c7c6c2e7479706526266c2e74797065213d3d695b655d5b6f5d2e747970653f722e6d6572676528695b655d5b6f5d2c5b742e7363616c65536572766963652e6765745363616c6544656661756c74732873292c6c5d293a722e6d6572676528695b655d5b6f5d2c6c297d656c736520722e5f6d657267657228652c692c6e2c61297d7d297d2c722e77686572653d66756e6374696f6e28742c65297b696628722e69734172726179287429262641727261792e70726f746f747970652e66696c7465722972657475726e20742e66696c7465722865293b76617220693d5b5d3b72657475726e20722e6561636828742c66756e6374696f6e2874297b652874292626692e707573682874297d292c697d2c722e66696e64496e6465783d41727261792e70726f746f747970652e66696e64496e6465783f66756e6374696f6e28742c652c69297b72657475726e20742e66696e64496e64657828652c69297d3a66756e6374696f6e28742c652c69297b693d766f696420303d3d3d693f743a693b666f7228766172206e3d302c613d742e6c656e6774683b6e3c613b2b2b6e29696628652e63616c6c28692c745b6e5d2c6e2c74292972657475726e206e3b72657475726e2d317d2c722e66696e644e65787457686572653d66756e6374696f6e28742c652c69297b722e69734e756c6c4f72556e646566286929262628693d2d31293b666f7228766172206e3d692b313b6e3c742e6c656e6774683b6e2b2b297b76617220613d745b6e5d3b696628652861292972657475726e20617d7d2c722e66696e6450726576696f757357686572653d66756e6374696f6e28742c652c69297b722e69734e756c6c4f72556e646566286929262628693d742e6c656e677468293b666f7228766172206e3d692d313b6e3e3d303b6e2d2d297b76617220613d745b6e5d3b696628652861292972657475726e20617d7d2c722e69734e756d6265723d66756e6374696f6e2874297b72657475726e2169734e614e287061727365466c6f6174287429292626697346696e6974652874297d2c722e616c6d6f7374457175616c733d66756e6374696f6e28742c652c69297b72657475726e204d6174682e61627328742d65293c697d2c722e616c6d6f737457686f6c653d66756e6374696f6e28742c65297b76617220693d4d6174682e726f756e642874293b72657475726e20692d653c742626692b653e747d2c722e6d61783d66756e6374696f6e2874297b72657475726e20742e7265647563652866756e6374696f6e28742c65297b72657475726e2069734e614e2865293f743a4d6174682e6d617828742c65297d2c4e756d6265722e4e454741544956455f494e46494e495459297d2c722e6d696e3d66756e6374696f6e2874297b72657475726e20742e7265647563652866756e6374696f6e28742c65297b72657475726e2069734e614e2865293f743a4d6174682e6d696e28742c65297d2c4e756d6265722e504f5349544956455f494e46494e495459297d2c722e7369676e3d4d6174682e7369676e3f66756e6374696f6e2874297b72657475726e204d6174682e7369676e2874297d3a66756e6374696f6e2874297b72657475726e20303d3d3d28743d2b74297c7c69734e614e2874293f743a743e303f313a2d317d2c722e6c6f6731303d4d6174682e6c6f6731303f66756e6374696f6e2874297b72657475726e204d6174682e6c6f6731302874297d3a66756e6374696f6e2874297b76617220653d4d6174682e6c6f672874292a4d6174682e4c4f473130452c693d4d6174682e726f756e642865293b72657475726e20743d3d3d4d6174682e706f772831302c69293f693a657d2c722e746f52616469616e733d66756e6374696f6e2874297b72657475726e20742a284d6174682e50492f313830297d2c722e746f446567726565733d66756e6374696f6e2874297b72657475726e20742a283138302f4d6174682e5049297d2c722e676574416e676c6546726f6d506f696e743d66756e6374696f6e28742c65297b76617220693d652e782d742e782c6e3d652e792d742e792c613d4d6174682e7371727428692a692b6e2a6e292c723d4d6174682e6174616e32286e2c69293b72657475726e20723c2d2e352a4d6174682e5049262628722b3d322a4d6174682e5049292c7b616e676c653a722c64697374616e63653a617d7d2c722e64697374616e63654265747765656e506f696e74733d66756e6374696f6e28742c65297b72657475726e204d6174682e73717274284d6174682e706f7728652e782d742e782c32292b4d6174682e706f7728652e792d742e792c3229297d2c722e616c696173506978656c3d66756e6374696f6e2874297b72657475726e207425323d3d303f303a2e357d2c722e73706c696e6543757276653d66756e6374696f6e28742c652c692c6e297b76617220613d742e736b69703f653a742c723d652c6f3d692e736b69703f653a692c733d4d6174682e73717274284d6174682e706f7728722e782d612e782c32292b4d6174682e706f7728722e792d612e792c3229292c6c3d4d6174682e73717274284d6174682e706f77286f2e782d722e782c32292b4d6174682e706f77286f2e792d722e792c3229292c753d732f28732b6c292c643d6c2f28732b6c292c683d6e2a28753d69734e614e2875293f303a75292c633d6e2a28643d69734e614e2864293f303a64293b72657475726e7b70726576696f75733a7b783a722e782d682a286f2e782d612e78292c793a722e792d682a286f2e792d612e79297d2c6e6578743a7b783a722e782b632a286f2e782d612e78292c793a722e792b632a286f2e792d612e79297d7d7d2c722e455053494c4f4e3d4e756d6265722e455053494c4f4e7c7c31652d31342c722e73706c696e6543757276654d6f6e6f746f6e653d66756e6374696f6e2874297b76617220652c692c6e2c612c6f2c732c6c2c752c642c683d28747c7c5b5d292e6d61702866756e6374696f6e2874297b72657475726e7b6d6f64656c3a742e5f6d6f64656c2c64656c74614b3a302c6d4b3a307d7d292c633d682e6c656e6774683b666f7228653d303b653c633b2b2b652969662821286e3d685b655d292e6d6f64656c2e736b6970297b696628693d653e303f685b652d315d3a6e756c6c2c28613d653c632d313f685b652b315d3a6e756c6c29262621612e6d6f64656c2e736b6970297b76617220663d612e6d6f64656c2e782d6e2e6d6f64656c2e783b6e2e64656c74614b3d30213d3d663f28612e6d6f64656c2e792d6e2e6d6f64656c2e79292f663a307d21697c7c692e6d6f64656c2e736b69703f6e2e6d4b3d6e2e64656c74614b3a21617c7c612e6d6f64656c2e736b69703f6e2e6d4b3d692e64656c74614b3a746869732e7369676e28692e64656c74614b29213d3d746869732e7369676e286e2e64656c74614b293f6e2e6d4b3d303a6e2e6d4b3d28692e64656c74614b2b6e2e64656c74614b292f327d666f7228653d303b653c632d313b2b2b65296e3d685b655d2c613d685b652b315d2c6e2e6d6f64656c2e736b69707c7c612e6d6f64656c2e736b69707c7c28722e616c6d6f7374457175616c73286e2e64656c74614b2c302c746869732e455053494c4f4e293f6e2e6d4b3d612e6d4b3d303a286f3d6e2e6d4b2f6e2e64656c74614b2c733d612e6d4b2f6e2e64656c74614b2c28753d4d6174682e706f77286f2c32292b4d6174682e706f7728732c3229293c3d397c7c286c3d332f4d6174682e737172742875292c6e2e6d4b3d6f2a6c2a6e2e64656c74614b2c612e6d4b3d732a6c2a6e2e64656c74614b2929293b666f7228653d303b653c633b2b2b6529286e3d685b655d292e6d6f64656c2e736b69707c7c28693d653e303f685b652d315d3a6e756c6c2c613d653c632d313f685b652b315d3a6e756c6c2c69262621692e6d6f64656c2e736b6970262628643d286e2e6d6f64656c2e782d692e6d6f64656c2e78292f332c6e2e6d6f64656c2e636f6e74726f6c506f696e7450726576696f7573583d6e2e6d6f64656c2e782d642c6e2e6d6f64656c2e636f6e74726f6c506f696e7450726576696f7573593d6e2e6d6f64656c2e792d642a6e2e6d4b292c61262621612e6d6f64656c2e736b6970262628643d28612e6d6f64656c2e782d6e2e6d6f64656c2e78292f332c6e2e6d6f64656c2e636f6e74726f6c506f696e744e657874583d6e2e6d6f64656c2e782b642c6e2e6d6f64656c2e636f6e74726f6c506f696e744e657874593d6e2e6d6f64656c2e792b642a6e2e6d4b29297d2c722e6e6578744974656d3d66756e6374696f6e28742c652c69297b72657475726e20693f653e3d742e6c656e6774682d313f745b305d3a745b652b315d3a653e3d742e6c656e6774682d313f745b742e6c656e6774682d315d3a745b652b315d7d2c722e70726576696f75734974656d3d66756e6374696f6e28742c652c69297b72657475726e20693f653c3d303f745b742e6c656e6774682d315d3a745b652d315d3a653c3d303f745b305d3a745b652d315d7d2c722e6e6963654e756d3d66756e6374696f6e28742c65297b76617220693d4d6174682e666c6f6f7228722e6c6f673130287429292c6e3d742f4d6174682e706f772831302c69293b72657475726e28653f6e3c312e353f313a6e3c333f323a6e3c373f353a31303a6e3c3d313f313a6e3c3d323f323a6e3c3d353f353a3130292a4d6174682e706f772831302c69297d2c722e72657175657374416e696d4672616d653d22756e646566696e6564223d3d747970656f662077696e646f773f66756e6374696f6e2874297b7428297d3a77696e646f772e72657175657374416e696d6174696f6e4672616d657c7c77696e646f772e7765626b697452657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6d6f7a52657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6f52657175657374416e696d6174696f6e4672616d657c7c77696e646f772e6d7352657175657374416e696d6174696f6e4672616d657c7c66756e6374696f6e2874297b72657475726e2077696e646f772e73657454696d656f757428742c3165332f3630297d2c722e67657452656c6174697665506f736974696f6e3d66756e6374696f6e28742c65297b76617220692c6e2c613d742e6f726967696e616c4576656e747c7c742c6f3d742e63757272656e745461726765747c7c742e737263456c656d656e742c733d6f2e676574426f756e64696e67436c69656e745265637428292c6c3d612e746f75636865733b6c26266c2e6c656e6774683e303f28693d6c5b305d2e636c69656e74582c6e3d6c5b305d2e636c69656e7459293a28693d612e636c69656e74582c6e3d612e636c69656e7459293b76617220753d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d6c6566742229292c643d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d746f702229292c683d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d72696768742229292c633d7061727365466c6f617428722e6765745374796c65286f2c2270616464696e672d626f74746f6d2229292c663d732e72696768742d732e6c6566742d752d682c673d732e626f74746f6d2d732e746f702d642d633b72657475726e7b783a693d4d6174682e726f756e642828692d732e6c6566742d75292f662a6f2e77696474682f652e63757272656e74446576696365506978656c526174696f292c793a6e3d4d6174682e726f756e6428286e2d732e746f702d64292f672a6f2e6865696768742f652e63757272656e74446576696365506978656c526174696f297d7d2c722e676574436f6e73747261696e7457696474683d66756e6374696f6e2874297b72657475726e206f28742c226d61782d7769647468222c22636c69656e74576964746822297d2c722e676574436f6e73747261696e744865696768743d66756e6374696f6e2874297b72657475726e206f28742c226d61782d686569676874222c22636c69656e7448656967687422297d2c722e6765744d6178696d756d57696474683d66756e6374696f6e2874297b76617220653d742e706172656e744e6f64653b69662821652972657475726e20742e636c69656e7457696474683b76617220693d7061727365496e7428722e6765745374796c6528652c2270616464696e672d6c65667422292c3130292c6e3d7061727365496e7428722e6765745374796c6528652c2270616464696e672d726967687422292c3130292c613d652e636c69656e7457696474682d692d6e2c6f3d722e676574436f6e73747261696e7457696474682874293b72657475726e2069734e614e286f293f613a4d6174682e6d696e28612c6f297d2c722e6765744d6178696d756d4865696768743d66756e6374696f6e2874297b76617220653d742e706172656e744e6f64653b69662821652972657475726e20742e636c69656e744865696768743b76617220693d7061727365496e7428722e6765745374796c6528652c2270616464696e672d746f7022292c3130292c6e3d7061727365496e7428722e6765745374796c6528652c2270616464696e672d626f74746f6d22292c3130292c613d652e636c69656e744865696768742d692d6e2c6f3d722e676574436f6e73747261696e744865696768742874293b72657475726e2069734e614e286f293f613a4d6174682e6d696e28612c6f297d2c722e6765745374796c653d66756e6374696f6e28742c65297b72657475726e20742e63757272656e745374796c653f742e63757272656e745374796c655b655d3a646f63756d656e742e64656661756c74566965772e676574436f6d70757465645374796c6528742c6e756c6c292e67657450726f706572747956616c75652865297d2c722e726574696e615363616c653d66756e6374696f6e28742c65297b76617220693d742e63757272656e74446576696365506978656c526174696f3d657c7c77696e646f772e646576696365506978656c526174696f7c7c313b69662831213d3d69297b766172206e3d742e63616e7661732c613d742e6865696768742c723d742e77696474683b6e2e6865696768743d612a692c6e2e77696474683d722a692c742e6374782e7363616c6528692c69292c6e2e7374796c652e6865696768747c7c6e2e7374796c652e77696474687c7c286e2e7374796c652e6865696768743d612b227078222c6e2e7374796c652e77696474683d722b22707822297d7d2c722e666f6e74537472696e673d66756e6374696f6e28742c652c69297b72657475726e20652b2220222b742b22707820222b697d2c722e6c6f6e67657374546578743d66756e6374696f6e28742c652c692c6e297b76617220613d286e3d6e7c7c7b7d292e646174613d6e2e646174617c7c7b7d2c6f3d6e2e67617262616765436f6c6c6563743d6e2e67617262616765436f6c6c6563747c7c5b5d3b6e2e666f6e74213d3d65262628613d6e2e646174613d7b7d2c6f3d6e2e67617262616765436f6c6c6563743d5b5d2c6e2e666f6e743d65292c742e666f6e743d653b76617220733d303b722e6561636828692c66756e6374696f6e2865297b6e756c6c213d6526262130213d3d722e697341727261792865293f733d722e6d6561737572655465787428742c612c6f2c732c65293a722e697341727261792865292626722e6561636828652c66756e6374696f6e2865297b6e756c6c3d3d657c7c722e697341727261792865297c7c28733d722e6d6561737572655465787428742c612c6f2c732c6529297d297d293b766172206c3d6f2e6c656e6774682f323b6966286c3e692e6c656e677468297b666f722876617220753d303b753c6c3b752b2b2964656c65746520615b6f5b755d5d3b6f2e73706c69636528302c6c297d72657475726e20737d2c722e6d656173757265546578743d66756e6374696f6e28742c652c692c6e2c61297b76617220723d655b615d3b72657475726e20727c7c28723d655b615d3d742e6d656173757265546578742861292e77696474682c692e70757368286129292c723e6e2626286e3d72292c6e7d2c722e6e756d6265724f664c6162656c4c696e65733d66756e6374696f6e2874297b76617220653d313b72657475726e20722e6561636828742c66756e6374696f6e2874297b722e697341727261792874292626742e6c656e6774683e65262628653d742e6c656e677468297d292c657d2c722e636f6c6f723d6e3f66756e6374696f6e2874297b72657475726e207420696e7374616e63656f662043616e7661734772616469656e74262628743d612e676c6f62616c2e64656661756c74436f6c6f72292c6e2874297d3a66756e6374696f6e2874297b72657475726e20636f6e736f6c652e6572726f722822436f6c6f722e6a73206e6f7420666f756e642122292c747d2c722e676574486f766572436f6c6f723d66756e6374696f6e2874297b72657475726e207420696e7374616e63656f662043616e7661735061747465726e3f743a722e636f6c6f722874292e7361747572617465282e35292e6461726b656e282e31292e726762537472696e6728297d7d7d2c7b323a322c32353a32352c34353a34357d5d2c32383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b66756e6374696f6e206128742c65297b72657475726e20742e6e61746976653f7b783a742e782c793a742e797d3a6e2e67657452656c6174697665506f736974696f6e28742c65297d66756e6374696f6e207228742c65297b76617220692c6e2c612c722c6f3b666f72286e3d302c723d742e646174612e64617461736574732e6c656e6774683b6e3c723b2b2b6e29696628742e69734461746173657456697369626c65286e2929666f7228613d302c6f3d28693d742e676574446174617365744d657461286e29292e646174612e6c656e6774683b613c6f3b2b2b61297b76617220733d692e646174615b615d3b732e5f766965772e736b69707c7c652873297d7d66756e6374696f6e206f28742c65297b76617220693d5b5d3b72657475726e207228742c66756e6374696f6e2874297b742e696e52616e676528652e782c652e79292626692e707573682874297d292c697d66756e6374696f6e207328742c652c692c6e297b76617220613d4e756d6265722e504f5349544956455f494e46494e4954592c6f3d5b5d3b72657475726e207228742c66756e6374696f6e2874297b69662821697c7c742e696e52616e676528652e782c652e7929297b76617220723d742e67657443656e746572506f696e7428292c733d6e28652c72293b733c613f286f3d5b745d2c613d73293a733d3d3d6126266f2e707573682874297d7d292c6f7d66756e6374696f6e206c2874297b76617220653d2d31213d3d742e696e6465784f6628227822292c693d2d31213d3d742e696e6465784f6628227922293b72657475726e2066756e6374696f6e28742c6e297b76617220613d653f4d6174682e61627328742e782d6e2e78293a302c723d693f4d6174682e61627328742e792d6e2e79293a303b72657475726e204d6174682e73717274284d6174682e706f7728612c32292b4d6174682e706f7728722c3229297d7d66756e6374696f6e207528742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c2278223b76617220723d6c28692e61786973292c753d692e696e746572736563743f6f28742c6e293a7328742c6e2c21312c72292c643d5b5d3b72657475726e20752e6c656e6774683f28742e646174612e64617461736574732e666f72456163682866756e6374696f6e28652c69297b696628742e69734461746173657456697369626c65286929297b766172206e3d742e676574446174617365744d6574612869292e646174615b755b305d2e5f696e6465785d3b6e2626216e2e5f766965772e736b69702626642e70757368286e297d7d292c64293a5b5d7d652e6578706f7274733d7b6d6f6465733a7b73696e676c653a66756e6374696f6e28742c65297b76617220693d6128652c74292c6e3d5b5d3b72657475726e207228742c66756e6374696f6e2874297b696628742e696e52616e676528692e782c692e79292972657475726e206e2e707573682874292c6e7d292c6e2e736c69636528302c31297d2c6c6162656c3a752c696e6465783a752c646174617365743a66756e6374696f6e28742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c227879223b76617220723d6c28692e61786973292c753d692e696e746572736563743f6f28742c6e293a7328742c6e2c21312c72293b72657475726e20752e6c656e6774683e30262628753d742e676574446174617365744d65746128755b305d2e5f64617461736574496e646578292e64617461292c757d2c22782d61786973223a66756e6374696f6e28742c65297b72657475726e207528742c652c7b696e746572736563743a21317d297d2c706f696e743a66756e6374696f6e28742c65297b72657475726e206f28742c6128652c7429297d2c6e6561726573743a66756e6374696f6e28742c652c69297b766172206e3d6128652c74293b692e617869733d692e617869737c7c227879223b76617220723d6c28692e61786973292c6f3d7328742c6e2c692e696e746572736563742c72293b72657475726e206f2e6c656e6774683e3126266f2e736f72742866756e6374696f6e28742c65297b76617220693d742e6765744172656128292d652e6765744172656128293b72657475726e20303d3d3d69262628693d742e5f64617461736574496e6465782d652e5f64617461736574496e646578292c697d292c6f2e736c69636528302c31297d2c783a66756e6374696f6e28742c652c69297b766172206e3d6128652c74292c6f3d5b5d2c733d21313b72657475726e207228742c66756e6374696f6e2874297b742e696e5852616e6765286e2e782926266f2e707573682874292c742e696e52616e6765286e2e782c6e2e7929262628733d2130297d292c692e696e74657273656374262621732626286f3d5b5d292c6f7d2c793a66756e6374696f6e28742c652c69297b766172206e3d6128652c74292c6f3d5b5d2c733d21313b72657475726e207228742c66756e6374696f6e2874297b742e696e5952616e6765286e2e792926266f2e707573682874292c742e696e52616e6765286e2e782c6e2e7929262628733d2130297d292c692e696e74657273656374262621732626286f3d5b5d292c6f7d7d7d7d2c7b34353a34357d5d2c32393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b74283235292e5f7365742822676c6f62616c222c7b726573706f6e736976653a21302c726573706f6e73697665416e696d6174696f6e4475726174696f6e3a302c6d61696e7461696e417370656374526174696f3a21302c6576656e74733a5b226d6f7573656d6f7665222c226d6f7573656f7574222c22636c69636b222c22746f7563687374617274222c22746f7563686d6f7665225d2c686f7665723a7b6f6e486f7665723a6e756c6c2c6d6f64653a226e656172657374222c696e746572736563743a21302c616e696d6174696f6e4475726174696f6e3a3430307d2c6f6e436c69636b3a6e756c6c2c64656661756c74436f6c6f723a227267626128302c302c302c302e3129222c64656661756c74466f6e74436f6c6f723a2223363636222c64656661756c74466f6e7446616d696c793a222748656c766574696361204e657565272c202748656c766574696361272c2027417269616c272c2073616e732d7365726966222c64656661756c74466f6e7453697a653a31322c64656661756c74466f6e745374796c653a226e6f726d616c222c73686f774c696e65733a21302c656c656d656e74733a7b7d2c6c61796f75743a7b70616464696e673a7b746f703a302c72696768743a302c626f74746f6d3a302c6c6566743a307d7d7d292c652e6578706f7274733d66756e6374696f6e28297b76617220743d66756e6374696f6e28742c65297b72657475726e20746869732e636f6e73747275637428742c65292c746869737d3b72657475726e20742e43686172743d742c747d7d2c7b32353a32357d5d2c33303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b66756e6374696f6e206128742c65297b72657475726e206e2e776865726528742c66756e6374696f6e2874297b72657475726e20742e706f736974696f6e3d3d3d657d297d66756e6374696f6e207228742c65297b742e666f72456163682866756e6374696f6e28742c65297b72657475726e20742e5f746d70496e6465785f3d652c747d292c742e736f72742866756e6374696f6e28742c69297b766172206e3d653f693a742c613d653f743a693b72657475726e206e2e7765696768743d3d3d612e7765696768743f6e2e5f746d70496e6465785f2d612e5f746d70496e6465785f3a6e2e7765696768742d612e7765696768747d292c742e666f72456163682866756e6374696f6e2874297b64656c65746520742e5f746d70496e6465785f7d297d652e6578706f7274733d7b64656661756c74733a7b7d2c616464426f783a66756e6374696f6e28742c65297b742e626f7865737c7c28742e626f7865733d5b5d292c652e66756c6c57696474683d652e66756c6c57696474687c7c21312c652e706f736974696f6e3d652e706f736974696f6e7c7c22746f70222c652e7765696768743d652e7765696768747c7c302c742e626f7865732e707573682865297d2c72656d6f7665426f783a66756e6374696f6e28742c65297b76617220693d742e626f7865733f742e626f7865732e696e6465784f662865293a2d313b2d31213d3d692626742e626f7865732e73706c69636528692c31297d2c636f6e6669677572653a66756e6374696f6e28742c652c69297b666f7228766172206e2c613d5b2266756c6c5769647468222c22706f736974696f6e222c22776569676874225d2c723d612e6c656e6774682c6f3d303b6f3c723b2b2b6f296e3d615b6f5d2c692e6861734f776e50726f7065727479286e29262628655b6e5d3d695b6e5d297d2c7570646174653a66756e6374696f6e28742c652c69297b69662874297b766172206f3d742e6f7074696f6e732e6c61796f75747c7c7b7d2c733d6e2e6f7074696f6e732e746f50616464696e67286f2e70616464696e67292c6c3d732e6c6566742c753d732e72696768742c643d732e746f702c683d732e626f74746f6d2c633d6128742e626f7865732c226c65667422292c663d6128742e626f7865732c22726967687422292c673d6128742e626f7865732c22746f7022292c6d3d6128742e626f7865732c22626f74746f6d22292c703d6128742e626f7865732c2263686172744172656122293b7228632c2130292c7228662c2131292c7228672c2130292c72286d2c2131293b76617220763d652d6c2d752c793d692d642d682c623d792f322c783d28652d762f32292f28632e6c656e6774682b662e6c656e677468292c5f3d28692d62292f28672e6c656e6774682b6d2e6c656e677468292c6b3d762c773d792c4d3d5b5d3b6e2e6561636828632e636f6e63617428662c672c6d292c66756e6374696f6e2874297b76617220652c693d742e6973486f72697a6f6e74616c28293b693f28653d742e75706461746528742e66756c6c57696474683f763a6b2c5f292c772d3d652e686569676874293a28653d742e75706461746528782c77292c6b2d3d652e7769647468292c4d2e70757368287b686f72697a6f6e74616c3a692c6d696e53697a653a652c626f783a747d297d293b76617220533d302c443d302c433d302c503d303b6e2e6561636828672e636f6e636174286d292c66756e6374696f6e2874297b696628742e67657450616464696e67297b76617220653d742e67657450616464696e6728293b533d4d6174682e6d617828532c652e6c656674292c443d4d6174682e6d617828442c652e7269676874297d7d292c6e2e6561636828632e636f6e6361742866292c66756e6374696f6e2874297b696628742e67657450616464696e67297b76617220653d742e67657450616464696e6728293b433d4d6174682e6d617828432c652e746f70292c503d4d6174682e6d617828502c652e626f74746f6d297d7d293b76617220543d6c2c4f3d752c493d642c413d683b6e2e6561636828632e636f6e6361742866292c7a292c6e2e6561636828632c66756e6374696f6e2874297b542b3d742e77696474687d292c6e2e6561636828662c66756e6374696f6e2874297b4f2b3d742e77696474687d292c6e2e6561636828672e636f6e636174286d292c7a292c6e2e6561636828672c66756e6374696f6e2874297b492b3d742e6865696768747d292c6e2e65616368286d2c66756e6374696f6e2874297b412b3d742e6865696768747d292c6e2e6561636828632e636f6e6361742866292c66756e6374696f6e2874297b76617220653d6e2e66696e644e6578745768657265284d2c66756e6374696f6e2865297b72657475726e20652e626f783d3d3d747d292c693d7b6c6566743a302c72696768743a302c746f703a492c626f74746f6d3a417d3b652626742e75706461746528652e6d696e53697a652e77696474682c772c69297d292c543d6c2c4f3d752c493d642c413d682c6e2e6561636828632c66756e6374696f6e2874297b542b3d742e77696474687d292c6e2e6561636828662c66756e6374696f6e2874297b4f2b3d742e77696474687d292c6e2e6561636828672c66756e6374696f6e2874297b492b3d742e6865696768747d292c6e2e65616368286d2c66756e6374696f6e2874297b412b3d742e6865696768747d293b76617220463d4d6174682e6d617828532d542c30293b542b3d462c4f2b3d4d6174682e6d617828442d4f2c30293b76617220523d4d6174682e6d617828432d492c30293b492b3d522c412b3d4d6174682e6d617828502d412c30293b766172204c3d692d492d412c573d652d542d4f3b573d3d3d6b26264c3d3d3d777c7c286e2e6561636828632c66756e6374696f6e2874297b742e6865696768743d4c7d292c6e2e6561636828662c66756e6374696f6e2874297b742e6865696768743d4c7d292c6e2e6561636828672c66756e6374696f6e2874297b742e66756c6c57696474687c7c28742e77696474683d57297d292c6e2e65616368286d2c66756e6374696f6e2874297b742e66756c6c57696474687c7c28742e77696474683d57297d292c773d4c2c6b3d57293b76617220593d6c2b462c4e3d642b523b6e2e6561636828632e636f6e6361742867292c48292c592b3d6b2c4e2b3d772c6e2e6561636828662c48292c6e2e65616368286d2c48292c742e6368617274417265613d7b6c6566743a542c746f703a492c72696768743a542b6b2c626f74746f6d3a492b777d2c6e2e6561636828702c66756e6374696f6e2865297b652e6c6566743d742e6368617274417265612e6c6566742c652e746f703d742e6368617274417265612e746f702c652e72696768743d742e6368617274417265612e72696768742c652e626f74746f6d3d742e6368617274417265612e626f74746f6d2c652e757064617465286b2c77297d297d66756e6374696f6e207a2874297b76617220653d6e2e66696e644e6578745768657265284d2c66756e6374696f6e2865297b72657475726e20652e626f783d3d3d747d293b6966286529696628742e6973486f72697a6f6e74616c2829297b76617220693d7b6c6566743a4d6174682e6d617828542c53292c72696768743a4d6174682e6d6178284f2c44292c746f703a302c626f74746f6d3a307d3b742e75706461746528742e66756c6c57696474683f763a6b2c792f322c69297d656c736520742e75706461746528652e6d696e53697a652e77696474682c77297d66756e6374696f6e20482874297b742e6973486f72697a6f6e74616c28293f28742e6c6566743d742e66756c6c57696474683f6c3a542c742e72696768743d742e66756c6c57696474683f652d753a542b6b2c742e746f703d4e2c742e626f74746f6d3d4e2b742e6865696768742c4e3d742e626f74746f6d293a28742e6c6566743d592c742e72696768743d592b742e77696474682c742e746f703d492c742e626f74746f6d3d492b772c593d742e7269676874297d7d7d7d2c7b34353a34357d5d2c33313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435293b6e2e5f7365742822676c6f62616c222c7b706c7567696e733a7b7d7d292c652e6578706f7274733d7b5f706c7567696e733a5b5d2c5f636163686549643a302c72656769737465723a66756e6374696f6e2874297b76617220653d746869732e5f706c7567696e733b5b5d2e636f6e6361742874292e666f72456163682866756e6374696f6e2874297b2d313d3d3d652e696e6465784f662874292626652e707573682874297d292c746869732e5f636163686549642b2b7d2c756e72656769737465723a66756e6374696f6e2874297b76617220653d746869732e5f706c7567696e733b5b5d2e636f6e6361742874292e666f72456163682866756e6374696f6e2874297b76617220693d652e696e6465784f662874293b2d31213d3d692626652e73706c69636528692c31297d292c746869732e5f636163686549642b2b7d2c636c6561723a66756e6374696f6e28297b746869732e5f706c7567696e733d5b5d2c746869732e5f636163686549642b2b7d2c636f756e743a66756e6374696f6e28297b72657475726e20746869732e5f706c7567696e732e6c656e6774687d2c676574416c6c3a66756e6374696f6e28297b72657475726e20746869732e5f706c7567696e737d2c6e6f746966793a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f2c732c6c3d746869732e64657363726970746f72732874292c753d6c2e6c656e6774683b666f72286e3d303b6e3c753b2b2b6e296966282266756e6374696f6e223d3d747970656f6628733d28723d28613d6c5b6e5d292e706c7567696e295b655d29262628286f3d5b745d2e636f6e63617428697c7c5b5d29292e7075736828612e6f7074696f6e73292c21313d3d3d732e6170706c7928722c6f29292972657475726e21313b72657475726e21307d2c64657363726970746f72733a66756e6374696f6e2874297b76617220653d742e24706c7567696e737c7c28742e24706c7567696e733d7b7d293b696628652e69643d3d3d746869732e5f636163686549642972657475726e20652e64657363726970746f72733b76617220693d5b5d2c723d5b5d2c6f3d742626742e636f6e6669677c7c7b7d2c733d6f2e6f7074696f6e7326266f2e6f7074696f6e732e706c7567696e737c7c7b7d3b72657475726e20746869732e5f706c7567696e732e636f6e636174286f2e706c7567696e737c7c5b5d292e666f72456163682866756e6374696f6e2874297b6966282d313d3d3d692e696e6465784f66287429297b76617220653d742e69642c6f3d735b655d3b2131213d3d6f26262821303d3d3d6f2626286f3d612e636c6f6e65286e2e676c6f62616c2e706c7567696e735b655d29292c692e707573682874292c722e70757368287b706c7567696e3a742c6f7074696f6e733a6f7c7c7b7d7d29297d7d292c652e64657363726970746f72733d722c652e69643d746869732e5f636163686549642c727d2c5f696e76616c69646174653a66756e6374696f6e2874297b64656c65746520742e24706c7567696e737d7d7d2c7b32353a32352c34353a34357d5d2c33323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283334293b66756e6374696f6e20732874297b76617220652c692c6e3d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b65296e2e7075736828745b655d2e6c6162656c293b72657475726e206e7d66756e6374696f6e206c28742c652c69297b766172206e3d742e676574506978656c466f725469636b2865293b72657475726e20692626286e2d3d303d3d3d653f28742e676574506978656c466f725469636b2831292d6e292f323a286e2d742e676574506978656c466f725469636b28652d3129292f32292c6e7d6e2e5f73657428227363616c65222c7b646973706c61793a21302c706f736974696f6e3a226c656674222c6f66667365743a21312c677269644c696e65733a7b646973706c61793a21302c636f6c6f723a227267626128302c20302c20302c20302e3129222c6c696e6557696474683a312c64726177426f726465723a21302c647261774f6e4368617274417265613a21302c647261775469636b733a21302c7469636b4d61726b4c656e6774683a31302c7a65726f4c696e6557696474683a312c7a65726f4c696e65436f6c6f723a227267626128302c302c302c302e323529222c7a65726f4c696e65426f72646572446173683a5b5d2c7a65726f4c696e65426f72646572446173684f66667365743a302c6f6666736574477269644c696e65733a21312c626f72646572446173683a5b5d2c626f72646572446173684f66667365743a307d2c7363616c654c6162656c3a7b646973706c61793a21312c6c6162656c537472696e673a22222c6c696e654865696768743a312e322c70616464696e673a7b746f703a342c626f74746f6d3a347d7d2c7469636b733a7b626567696e41745a65726f3a21312c6d696e526f746174696f6e3a302c6d6178526f746174696f6e3a35302c6d6972726f723a21312c70616464696e673a302c726576657273653a21312c646973706c61793a21302c6175746f536b69703a21302c6175746f536b697050616464696e673a302c6c6162656c4f66667365743a302c63616c6c6261636b3a6f2e666f726d6174746572732e76616c7565732c6d696e6f723a7b7d2c6d616a6f723a7b7d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c652c69297b72657475726e20722e697341727261792865293f722e6c6f6e676573745465787428742c692c65293a742e6d656173757265546578742865292e77696474687d66756e6374696f6e20692874297b76617220653d722e76616c75654f7244656661756c742c693d6e2e676c6f62616c2c613d6528742e666f6e7453697a652c692e64656661756c74466f6e7453697a65292c6f3d6528742e666f6e745374796c652c692e64656661756c74466f6e745374796c65292c733d6528742e666f6e7446616d696c792c692e64656661756c74466f6e7446616d696c79293b72657475726e7b73697a653a612c7374796c653a6f2c66616d696c793a732c666f6e743a722e666f6e74537472696e6728612c6f2c73297d7d66756e6374696f6e206f2874297b72657475726e20722e6f7074696f6e732e746f4c696e6548656967687428722e76616c75654f7244656661756c7428742e6c696e654865696768742c312e32292c722e76616c75654f7244656661756c7428742e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a6529297d742e5363616c653d612e657874656e64287b67657450616464696e673a66756e6374696f6e28297b72657475726e7b6c6566743a746869732e70616464696e674c6566747c7c302c746f703a746869732e70616464696e67546f707c7c302c72696768743a746869732e70616464696e6752696768747c7c302c626f74746f6d3a746869732e70616464696e67426f74746f6d7c7c307d7d2c6765745469636b733a66756e6374696f6e28297b72657475726e20746869732e5f7469636b737d2c6d657267655469636b734f7074696f6e733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b733b666f7228766172206520696e21313d3d3d742e6d696e6f72262628742e6d696e6f723d7b646973706c61793a21317d292c21313d3d3d742e6d616a6f72262628742e6d616a6f723d7b646973706c61793a21317d292c7429226d616a6f7222213d3d652626226d696e6f7222213d3d65262628766f696420303d3d3d742e6d696e6f725b655d262628742e6d696e6f725b655d3d745b655d292c766f696420303d3d3d742e6d616a6f725b655d262628742e6d616a6f725b655d3d745b655d29297d2c6265666f72655570646174653a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72655570646174652c5b746869735d297d2c7570646174653a66756e6374696f6e28742c652c69297b766172206e2c612c6f2c732c6c2c752c643d746869733b666f7228642e6265666f726555706461746528292c642e6d617857696474683d742c642e6d61784865696768743d652c642e6d617267696e733d722e657874656e64287b6c6566743a302c72696768743a302c746f703a302c626f74746f6d3a307d2c69292c642e6c6f6e676573745465787443616368653d642e6c6f6e676573745465787443616368657c7c7b7d2c642e6265666f726553657444696d656e73696f6e7328292c642e73657444696d656e73696f6e7328292c642e616674657253657444696d656e73696f6e7328292c642e6265666f7265446174614c696d69747328292c642e64657465726d696e65446174614c696d69747328292c642e6166746572446174614c696d69747328292c642e6265666f72654275696c645469636b7328292c6c3d642e6275696c645469636b7328297c7c5b5d2c642e61667465724275696c645469636b7328292c642e6265666f72655469636b546f4c6162656c436f6e76657273696f6e28292c6f3d642e636f6e766572745469636b73546f4c6162656c73286c297c7c642e7469636b732c642e61667465725469636b546f4c6162656c436f6e76657273696f6e28292c642e7469636b733d6f2c6e3d302c613d6f2e6c656e6774683b6e3c613b2b2b6e29733d6f5b6e5d2c28753d6c5b6e5d293f752e6c6162656c3d733a6c2e7075736828753d7b6c6162656c3a732c6d616a6f723a21317d293b72657475726e20642e5f7469636b733d6c2c642e6265666f726543616c63756c6174655469636b526f746174696f6e28292c642e63616c63756c6174655469636b526f746174696f6e28292c642e616674657243616c63756c6174655469636b526f746174696f6e28292c642e6265666f726546697428292c642e66697428292c642e616674657246697428292c642e616674657255706461746528292c642e6d696e53697a657d2c61667465725570646174653a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465725570646174652c5b746869735d297d2c6265666f726553657444696d656e73696f6e733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f726553657444696d656e73696f6e732c5b746869735d297d2c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d307d2c616674657253657444696d656e73696f6e733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e616674657253657444696d656e73696f6e732c5b746869735d297d2c6265666f7265446174614c696d6974733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f7265446174614c696d6974732c5b746869735d297d2c64657465726d696e65446174614c696d6974733a722e6e6f6f702c6166746572446174614c696d6974733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6166746572446174614c696d6974732c5b746869735d297d2c6265666f72654275696c645469636b733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72654275696c645469636b732c5b746869735d297d2c6275696c645469636b733a722e6e6f6f702c61667465724275696c645469636b733a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465724275696c645469636b732c5b746869735d297d2c6265666f72655469636b546f4c6162656c436f6e76657273696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72655469636b546f4c6162656c436f6e76657273696f6e2c5b746869735d297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b733b746869732e7469636b733d746869732e7469636b732e6d617028742e7573657243616c6c6261636b7c7c742e63616c6c6261636b2c74686973297d2c61667465725469636b546f4c6162656c436f6e76657273696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465725469636b546f4c6162656c436f6e76657273696f6e2c5b746869735d297d2c6265666f726543616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f726543616c63756c6174655469636b526f746174696f6e2c5b746869735d297d2c63616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b76617220743d746869732c653d742e6374782c6e3d742e6f7074696f6e732e7469636b732c613d7328742e5f7469636b73292c6f3d69286e293b652e666f6e743d6f2e666f6e743b766172206c3d6e2e6d696e526f746174696f6e7c7c303b696628612e6c656e6774682626742e6f7074696f6e732e646973706c61792626742e6973486f72697a6f6e74616c282929666f722876617220752c643d722e6c6f6e676573745465787428652c6f2e666f6e742c612c742e6c6f6e67657374546578744361636865292c683d642c633d742e676574506978656c466f725469636b2831292d742e676574506978656c466f725469636b2830292d363b683e6326266c3c6e2e6d6178526f746174696f6e3b297b76617220663d722e746f52616469616e73286c293b696628753d4d6174682e636f732866292c4d6174682e73696e2866292a643e742e6d6178486569676874297b6c2d2d3b627265616b7d6c2b2b2c683d752a647d742e6c6162656c526f746174696f6e3d6c7d2c616674657243616c63756c6174655469636b526f746174696f6e3a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e616674657243616c63756c6174655469636b526f746174696f6e2c5b746869735d297d2c6265666f72654669743a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e6265666f72654669742c5b746869735d297d2c6669743a66756e6374696f6e28297b76617220743d746869732c6e3d742e6d696e53697a653d7b77696474683a302c6865696768743a307d2c613d7328742e5f7469636b73292c6c3d742e6f7074696f6e732c753d6c2e7469636b732c643d6c2e7363616c654c6162656c2c683d6c2e677269644c696e65732c633d6c2e646973706c61792c663d742e6973486f72697a6f6e74616c28292c673d692875292c6d3d6c2e677269644c696e65732e7469636b4d61726b4c656e6774683b6966286e2e77696474683d663f742e697346756c6c576964746828293f742e6d617857696474682d742e6d617267696e732e6c6566742d742e6d617267696e732e72696768743a742e6d617857696474683a632626682e647261775469636b733f6d3a302c6e2e6865696768743d663f632626682e647261775469636b733f6d3a303a742e6d61784865696768742c642e646973706c6179262663297b76617220703d6f2864292b722e6f7074696f6e732e746f50616464696e6728642e70616464696e67292e6865696768743b663f6e2e6865696768742b3d703a6e2e77696474682b3d707d696628752e646973706c6179262663297b76617220763d722e6c6f6e676573745465787428742e6374782c672e666f6e742c612c742e6c6f6e67657374546578744361636865292c793d722e6e756d6265724f664c6162656c4c696e65732861292c623d2e352a672e73697a652c783d742e6f7074696f6e732e7469636b732e70616464696e673b69662866297b742e6c6f6e676573744c6162656c57696474683d763b766172205f3d722e746f52616469616e7328742e6c6162656c526f746174696f6e292c6b3d4d6174682e636f73285f292c773d4d6174682e73696e285f292a762b672e73697a652a792b622a28792d31292b623b6e2e6865696768743d4d6174682e6d696e28742e6d61784865696768742c6e2e6865696768742b772b78292c742e6374782e666f6e743d672e666f6e743b766172204d3d6528742e6374782c615b305d2c672e666f6e74292c533d6528742e6374782c615b612e6c656e6774682d315d2c672e666f6e74293b30213d3d742e6c6162656c526f746174696f6e3f28742e70616464696e674c6566743d22626f74746f6d223d3d3d6c2e706f736974696f6e3f6b2a4d2b333a6b2a622b332c742e70616464696e6752696768743d22626f74746f6d223d3d3d6c2e706f736974696f6e3f6b2a622b333a6b2a532b33293a28742e70616464696e674c6566743d4d2f322b332c742e70616464696e6752696768743d532f322b33297d656c736520752e6d6972726f723f763d303a762b3d782b622c6e2e77696474683d4d6174682e6d696e28742e6d617857696474682c6e2e77696474682b76292c742e70616464696e67546f703d672e73697a652f322c742e70616464696e67426f74746f6d3d672e73697a652f327d742e68616e646c654d617267696e7328292c742e77696474683d6e2e77696474682c742e6865696768743d6e2e6865696768747d2c68616e646c654d617267696e733a66756e6374696f6e28297b76617220743d746869733b742e6d617267696e73262628742e70616464696e674c6566743d4d6174682e6d617828742e70616464696e674c6566742d742e6d617267696e732e6c6566742c30292c742e70616464696e67546f703d4d6174682e6d617828742e70616464696e67546f702d742e6d617267696e732e746f702c30292c742e70616464696e6752696768743d4d6174682e6d617828742e70616464696e6752696768742d742e6d617267696e732e72696768742c30292c742e70616464696e67426f74746f6d3d4d6174682e6d617828742e70616464696e67426f74746f6d2d742e6d617267696e732e626f74746f6d2c3029297d2c61667465724669743a66756e6374696f6e28297b722e63616c6c6261636b28746869732e6f7074696f6e732e61667465724669742c5b746869735d297d2c6973486f72697a6f6e74616c3a66756e6374696f6e28297b72657475726e22746f70223d3d3d746869732e6f7074696f6e732e706f736974696f6e7c7c22626f74746f6d223d3d3d746869732e6f7074696f6e732e706f736974696f6e7d2c697346756c6c57696474683a66756e6374696f6e28297b72657475726e20746869732e6f7074696f6e732e66756c6c57696474687d2c676574526967687456616c75653a66756e6374696f6e2874297b696628722e69734e756c6c4f72556e6465662874292972657475726e204e614e3b696628226e756d626572223d3d747970656f662074262621697346696e6974652874292972657475726e204e614e3b6966287429696628746869732e6973486f72697a6f6e74616c2829297b696628766f69642030213d3d742e782972657475726e20746869732e676574526967687456616c756528742e78297d656c736520696628766f69642030213d3d742e792972657475726e20746869732e676574526967687456616c756528742e79293b72657475726e20747d2c6765744c6162656c466f72496e6465783a722e6e6f6f702c676574506978656c466f7256616c75653a722e6e6f6f702c67657456616c7565466f72506978656c3a722e6e6f6f702c676574506978656c466f725469636b3a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732e6f66667365743b696628652e6973486f72697a6f6e74616c2829297b766172206e3d28652e77696474682d28652e70616464696e674c6566742b652e70616464696e67526967687429292f4d6174682e6d617828652e5f7469636b732e6c656e6774682d28693f303a31292c31292c613d6e2a742b652e70616464696e674c6566743b69262628612b3d6e2f32293b76617220723d652e6c6566742b4d6174682e726f756e642861293b72657475726e20722b3d652e697346756c6c576964746828293f652e6d617267696e732e6c6566743a307d766172206f3d652e6865696768742d28652e70616464696e67546f702b652e70616464696e67426f74746f6d293b72657475726e20652e746f702b742a286f2f28652e5f7469636b732e6c656e6774682d3129297d2c676574506978656c466f72446563696d616c3a66756e6374696f6e2874297b76617220653d746869733b696628652e6973486f72697a6f6e74616c2829297b76617220693d28652e77696474682d28652e70616464696e674c6566742b652e70616464696e67526967687429292a742b652e70616464696e674c6566742c6e3d652e6c6566742b4d6174682e726f756e642869293b72657475726e206e2b3d652e697346756c6c576964746828293f652e6d617267696e732e6c6566743a307d72657475726e20652e746f702b742a652e6865696768747d2c67657442617365506978656c3a66756e6374696f6e28297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e6765744261736556616c75652829297d2c6765744261736556616c75653a66756e6374696f6e28297b76617220743d746869732e6d696e2c653d746869732e6d61783b72657475726e20746869732e626567696e41745a65726f3f303a743c302626653c303f653a743e302626653e303f743a307d2c5f6175746f536b69703a66756e6374696f6e2874297b76617220652c692c6e2c612c6f3d746869732c733d6f2e6973486f72697a6f6e74616c28292c6c3d6f2e6f7074696f6e732e7469636b732e6d696e6f722c753d742e6c656e6774682c643d722e746f52616469616e73286f2e6c6162656c526f746174696f6e292c683d4d6174682e636f732864292c633d6f2e6c6f6e676573744c6162656c57696474682a682c663d5b5d3b666f72286c2e6d61785469636b734c696d6974262628613d6c2e6d61785469636b734c696d6974292c73262628653d21312c28632b6c2e6175746f536b697050616464696e67292a753e6f2e77696474682d286f2e70616464696e674c6566742b6f2e70616464696e67526967687429262628653d312b4d6174682e666c6f6f722828632b6c2e6175746f536b697050616464696e67292a752f286f2e77696474682d286f2e70616464696e674c6566742b6f2e70616464696e675269676874292929292c612626753e61262628653d4d6174682e6d617828652c4d6174682e666c6f6f7228752f61292929292c693d303b693c753b692b2b296e3d745b695d2c28653e3126266925653e307c7c6925653d3d302626692b653e3d7529262669213d3d752d31262664656c657465206e2e6c6162656c2c662e70757368286e293b72657475726e20667d2c647261773a66756e6374696f6e2874297b76617220653d746869732c613d652e6f7074696f6e733b696628612e646973706c6179297b76617220733d652e6374782c753d6e2e676c6f62616c2c643d612e7469636b732e6d696e6f722c683d612e7469636b732e6d616a6f727c7c642c633d612e677269644c696e65732c663d612e7363616c654c6162656c2c673d30213d3d652e6c6162656c526f746174696f6e2c6d3d652e6973486f72697a6f6e74616c28292c703d642e6175746f536b69703f652e5f6175746f536b697028652e6765745469636b732829293a652e6765745469636b7328292c763d722e76616c75654f7244656661756c7428642e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c793d692864292c623d722e76616c75654f7244656661756c7428682e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c783d692868292c5f3d632e647261775469636b733f632e7469636b4d61726b4c656e6774683a302c6b3d722e76616c75654f7244656661756c7428662e666f6e74436f6c6f722c752e64656661756c74466f6e74436f6c6f72292c773d692866292c4d3d722e6f7074696f6e732e746f50616464696e6728662e70616464696e67292c533d722e746f52616469616e7328652e6c6162656c526f746174696f6e292c443d5b5d2c433d652e6f7074696f6e732e677269644c696e65732e6c696e6557696474682c503d227269676874223d3d3d612e706f736974696f6e3f652e72696768743a652e72696768742d432d5f2c543d227269676874223d3d3d612e706f736974696f6e3f652e72696768742b5f3a652e72696768742c4f3d22626f74746f6d223d3d3d612e706f736974696f6e3f652e746f702b433a652e626f74746f6d2d5f2d432c493d22626f74746f6d223d3d3d612e706f736974696f6e3f652e746f702b432b5f3a652e626f74746f6d2b433b696628722e6561636828702c66756e6374696f6e28692c6e297b69662821722e69734e756c6c4f72556e64656628692e6c6162656c29297b766172206f2c732c682c662c762c792c622c782c6b2c772c4d2c412c462c522c4c3d692e6c6162656c3b6e3d3d3d652e7a65726f4c696e65496e6465782626612e6f66667365743d3d3d632e6f6666736574477269644c696e65733f286f3d632e7a65726f4c696e6557696474682c733d632e7a65726f4c696e65436f6c6f722c683d632e7a65726f4c696e65426f72646572446173682c663d632e7a65726f4c696e65426f72646572446173684f6666736574293a286f3d722e76616c75654174496e6465784f7244656661756c7428632e6c696e6557696474682c6e292c733d722e76616c75654174496e6465784f7244656661756c7428632e636f6c6f722c6e292c683d722e76616c75654f7244656661756c7428632e626f72646572446173682c752e626f7264657244617368292c663d722e76616c75654f7244656661756c7428632e626f72646572446173684f66667365742c752e626f72646572446173684f666673657429293b76617220573d226d6964646c65222c593d226d6964646c65222c4e3d642e70616464696e673b6966286d297b766172207a3d5f2b4e3b22626f74746f6d223d3d3d612e706f736974696f6e3f28593d673f226d6964646c65223a22746f70222c573d673f227269676874223a2263656e746572222c523d652e746f702b7a293a28593d673f226d6964646c65223a22626f74746f6d222c573d673f226c656674223a2263656e746572222c523d652e626f74746f6d2d7a293b76617220483d6c28652c6e2c632e6f6666736574477269644c696e65732626702e6c656e6774683e31293b483c652e6c656674262628733d227267626128302c302c302c302922292c482b3d722e616c696173506978656c286f292c463d652e676574506978656c466f725469636b286e292b642e6c6162656c4f66667365742c763d623d6b3d4d3d482c793d4f2c783d492c773d742e746f702c413d742e626f74746f6d2b437d656c73657b76617220562c423d226c656674223d3d3d612e706f736974696f6e3b642e6d6972726f723f28573d423f226c656674223a227269676874222c563d4e293a28573d423f227269676874223a226c656674222c563d5f2b4e292c463d423f652e72696768742d563a652e6c6566742b563b76617220453d6c28652c6e2c632e6f6666736574477269644c696e65732626702e6c656e6774683e31293b453c652e746f70262628733d227267626128302c302c302c302922292c452b3d722e616c696173506978656c286f292c523d652e676574506978656c466f725469636b286e292b642e6c6162656c4f66667365742c763d502c623d542c6b3d742e6c6566742c4d3d742e72696768742b432c793d783d773d413d457d442e70757368287b7478313a762c7479313a792c7478323a622c7479323a782c78313a6b2c79313a772c78323a4d2c79323a412c6c6162656c583a462c6c6162656c593a522c676c57696474683a6f2c676c436f6c6f723a732c676c426f72646572446173683a682c676c426f72646572446173684f66667365743a662c726f746174696f6e3a2d312a532c6c6162656c3a4c2c6d616a6f723a692e6d616a6f722c74657874426173656c696e653a592c74657874416c69676e3a577d297d7d292c722e6561636828442c66756e6374696f6e2874297b696628632e646973706c6179262628732e7361766528292c732e6c696e6557696474683d742e676c57696474682c732e7374726f6b655374796c653d742e676c436f6c6f722c732e7365744c696e6544617368262628732e7365744c696e654461736828742e676c426f7264657244617368292c732e6c696e65446173684f66667365743d742e676c426f72646572446173684f6666736574292c732e626567696e5061746828292c632e647261775469636b73262628732e6d6f7665546f28742e7478312c742e747931292c732e6c696e65546f28742e7478322c742e74793229292c632e647261774f6e436861727441726561262628732e6d6f7665546f28742e78312c742e7931292c732e6c696e65546f28742e78322c742e793229292c732e7374726f6b6528292c732e726573746f72652829292c642e646973706c6179297b732e7361766528292c732e7472616e736c61746528742e6c6162656c582c742e6c6162656c59292c732e726f7461746528742e726f746174696f6e292c732e666f6e743d742e6d616a6f723f782e666f6e743a792e666f6e742c732e66696c6c5374796c653d742e6d616a6f723f623a762c732e74657874426173656c696e653d742e74657874426173656c696e652c732e74657874416c69676e3d742e74657874416c69676e3b76617220693d742e6c6162656c3b696628722e6973417272617928692929666f7228766172206e3d692e6c656e6774682c613d312e352a792e73697a652c6f3d652e6973486f72697a6f6e74616c28293f303a2d612a286e2d31292f322c6c3d303b6c3c6e3b2b2b6c29732e66696c6c546578742822222b695b6c5d2c302c6f292c6f2b3d613b656c736520732e66696c6c5465787428692c302c30293b732e726573746f726528297d7d292c662e646973706c6179297b76617220412c462c523d302c4c3d6f2866292f323b6966286d29413d652e6c6566742b28652e72696768742d652e6c656674292f322c463d22626f74746f6d223d3d3d612e706f736974696f6e3f652e626f74746f6d2d4c2d4d2e626f74746f6d3a652e746f702b4c2b4d2e746f703b656c73657b76617220573d226c656674223d3d3d612e706f736974696f6e3b413d573f652e6c6566742b4c2b4d2e746f703a652e72696768742d4c2d4d2e746f702c463d652e746f702b28652e626f74746f6d2d652e746f70292f322c523d573f2d2e352a4d6174682e50493a2e352a4d6174682e50497d732e7361766528292c732e7472616e736c61746528412c46292c732e726f746174652852292c732e74657874416c69676e3d2263656e746572222c732e74657874426173656c696e653d226d6964646c65222c732e66696c6c5374796c653d6b2c732e666f6e743d772e666f6e742c732e66696c6c5465787428662e6c6162656c537472696e672c302c30292c732e726573746f726528297d696628632e64726177426f72646572297b732e6c696e6557696474683d722e76616c75654174496e6465784f7244656661756c7428632e6c696e6557696474682c30292c732e7374726f6b655374796c653d722e76616c75654174496e6465784f7244656661756c7428632e636f6c6f722c30293b76617220593d652e6c6566742c4e3d652e72696768742b432c7a3d652e746f702c483d652e626f74746f6d2b432c563d722e616c696173506978656c28732e6c696e655769647468293b6d3f287a3d483d22746f70223d3d3d612e706f736974696f6e3f652e626f74746f6d3a652e746f702c7a2b3d562c482b3d56293a28593d4e3d226c656674223d3d3d612e706f736974696f6e3f652e72696768743a652e6c6566742c592b3d562c4e2b3d56292c732e626567696e5061746828292c732e6d6f7665546f28592c7a292c732e6c696e65546f284e2c48292c732e7374726f6b6528297d7d7d7d297d7d2c7b32353a32352c32363a32362c33343a33342c34353a34357d5d2c33333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283330293b652e6578706f7274733d66756e6374696f6e2874297b742e7363616c65536572766963653d7b636f6e7374727563746f72733a7b7d2c64656661756c74733a7b7d2c72656769737465725363616c65547970653a66756e6374696f6e28742c652c69297b746869732e636f6e7374727563746f72735b745d3d652c746869732e64656661756c74735b745d3d612e636c6f6e652869297d2c6765745363616c65436f6e7374727563746f723a66756e6374696f6e2874297b72657475726e20746869732e636f6e7374727563746f72732e6861734f776e50726f70657274792874293f746869732e636f6e7374727563746f72735b745d3a766f696420307d2c6765745363616c6544656661756c74733a66756e6374696f6e2874297b72657475726e20746869732e64656661756c74732e6861734f776e50726f70657274792874293f612e6d65726765287b7d2c5b6e2e7363616c652c746869732e64656661756c74735b745d5d293a7b7d7d2c7570646174655363616c6544656661756c74733a66756e6374696f6e28742c65297b746869732e64656661756c74732e6861734f776e50726f7065727479287429262628746869732e64656661756c74735b745d3d612e657874656e6428746869732e64656661756c74735b745d2c6529297d2c6164645363616c6573546f4c61796f75743a66756e6374696f6e2874297b612e6561636828742e7363616c65732c66756e6374696f6e2865297b652e66756c6c57696474683d652e6f7074696f6e732e66756c6c57696474682c652e706f736974696f6e3d652e6f7074696f6e732e706f736974696f6e2c652e7765696768743d652e6f7074696f6e732e7765696768742c722e616464426f7828742c65297d297d7d7d7d2c7b32353a32352c33303a33302c34353a34357d5d2c33343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d7b666f726d6174746572733a7b76616c7565733a66756e6374696f6e2874297b72657475726e206e2e697341727261792874293f743a22222b747d2c6c696e6561723a66756e6374696f6e28742c652c69297b76617220613d692e6c656e6774683e333f695b325d2d695b315d3a695b315d2d695b305d3b4d6174682e6162732861293e31262674213d3d4d6174682e666c6f6f72287429262628613d742d4d6174682e666c6f6f72287429293b76617220723d6e2e6c6f673130284d6174682e616273286129292c6f3d22223b69662830213d3d74297b76617220733d2d312a4d6174682e666c6f6f722872293b733d4d6174682e6d6178284d6174682e6d696e28732c3230292c30292c6f3d742e746f46697865642873297d656c7365206f3d2230223b72657475726e206f7d2c6c6f6761726974686d69633a66756e6374696f6e28742c652c69297b76617220613d742f4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742929293b72657475726e20303d3d3d743f2230223a313d3d3d617c7c323d3d3d617c7c353d3d3d617c7c303d3d3d657c7c653d3d3d692e6c656e6774682d313f742e746f4578706f6e656e7469616c28293a22227d7d7d7d2c7b34353a34357d5d2c33353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b746f6f6c746970733a7b656e61626c65643a21302c637573746f6d3a6e756c6c2c6d6f64653a226e656172657374222c706f736974696f6e3a2261766572616765222c696e746572736563743a21302c6261636b67726f756e64436f6c6f723a227267626128302c302c302c302e3829222c7469746c65466f6e745374796c653a22626f6c64222c7469746c6553706163696e673a322c7469746c654d617267696e426f74746f6d3a362c7469746c65466f6e74436f6c6f723a2223666666222c7469746c65416c69676e3a226c656674222c626f647953706163696e673a322c626f6479466f6e74436f6c6f723a2223666666222c626f6479416c69676e3a226c656674222c666f6f746572466f6e745374796c653a22626f6c64222c666f6f74657253706163696e673a322c666f6f7465724d617267696e546f703a362c666f6f746572466f6e74436f6c6f723a2223666666222c666f6f746572416c69676e3a226c656674222c7950616464696e673a362c7850616464696e673a362c636172657450616464696e673a322c636172657453697a653a352c636f726e65725261646975733a362c6d756c74694b65794261636b67726f756e643a2223666666222c646973706c6179436f6c6f72733a21302c626f72646572436f6c6f723a227267626128302c302c302c3029222c626f7264657257696474683a302c63616c6c6261636b733a7b6265666f72655469746c653a722e6e6f6f702c7469746c653a66756e6374696f6e28742c65297b76617220693d22222c6e3d652e6c6162656c732c613d6e3f6e2e6c656e6774683a303b696628742e6c656e6774683e30297b76617220723d745b305d3b722e784c6162656c3f693d722e784c6162656c3a613e302626722e696e6465783c61262628693d6e5b722e696e6465785d297d72657475726e20697d2c61667465725469746c653a722e6e6f6f702c6265666f7265426f64793a722e6e6f6f702c6265666f72654c6162656c3a722e6e6f6f702c6c6162656c3a66756e6374696f6e28742c65297b76617220693d652e64617461736574735b742e64617461736574496e6465785d2e6c6162656c7c7c22223b72657475726e2069262628692b3d223a2022292c692b3d742e794c6162656c7d2c6c6162656c436f6c6f723a66756e6374696f6e28742c65297b76617220693d652e676574446174617365744d65746128742e64617461736574496e646578292e646174615b742e696e6465785d2e5f766965773b72657475726e7b626f72646572436f6c6f723a692e626f72646572436f6c6f722c6261636b67726f756e64436f6c6f723a692e6261636b67726f756e64436f6c6f727d7d2c6c6162656c54657874436f6c6f723a66756e6374696f6e28297b72657475726e20746869732e5f6f7074696f6e732e626f6479466f6e74436f6c6f727d2c61667465724c6162656c3a722e6e6f6f702c6166746572426f64793a722e6e6f6f702c6265666f7265466f6f7465723a722e6e6f6f702c666f6f7465723a722e6e6f6f702c6166746572466f6f7465723a722e6e6f6f707d7d7d292c652e6578706f7274733d66756e6374696f6e2874297b66756e6374696f6e206528742c65297b76617220693d722e636f6c6f722874293b72657475726e20692e616c70686128652a692e616c7068612829292e72676261537472696e6728297d66756e6374696f6e206928742c65297b72657475726e2065262628722e697341727261792865293f41727261792e70726f746f747970652e707573682e6170706c7928742c65293a742e70757368286529292c747d66756e6374696f6e206f2874297b76617220653d6e2e676c6f62616c2c693d722e76616c75654f7244656661756c743b72657475726e7b7850616464696e673a742e7850616464696e672c7950616464696e673a742e7950616464696e672c78416c69676e3a742e78416c69676e2c79416c69676e3a742e79416c69676e2c626f6479466f6e74436f6c6f723a742e626f6479466f6e74436f6c6f722c5f626f6479466f6e7446616d696c793a6928742e626f6479466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f626f6479466f6e745374796c653a6928742e626f6479466f6e745374796c652c652e64656661756c74466f6e745374796c65292c5f626f6479416c69676e3a742e626f6479416c69676e2c626f6479466f6e7453697a653a6928742e626f6479466f6e7453697a652c652e64656661756c74466f6e7453697a65292c626f647953706163696e673a742e626f647953706163696e672c7469746c65466f6e74436f6c6f723a742e7469746c65466f6e74436f6c6f722c5f7469746c65466f6e7446616d696c793a6928742e7469746c65466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f7469746c65466f6e745374796c653a6928742e7469746c65466f6e745374796c652c652e64656661756c74466f6e745374796c65292c7469746c65466f6e7453697a653a6928742e7469746c65466f6e7453697a652c652e64656661756c74466f6e7453697a65292c5f7469746c65416c69676e3a742e7469746c65416c69676e2c7469746c6553706163696e673a742e7469746c6553706163696e672c7469746c654d617267696e426f74746f6d3a742e7469746c654d617267696e426f74746f6d2c666f6f746572466f6e74436f6c6f723a742e666f6f746572466f6e74436f6c6f722c5f666f6f746572466f6e7446616d696c793a6928742e666f6f746572466f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c5f666f6f746572466f6e745374796c653a6928742e666f6f746572466f6e745374796c652c652e64656661756c74466f6e745374796c65292c666f6f746572466f6e7453697a653a6928742e666f6f746572466f6e7453697a652c652e64656661756c74466f6e7453697a65292c5f666f6f746572416c69676e3a742e666f6f746572416c69676e2c666f6f74657253706163696e673a742e666f6f74657253706163696e672c666f6f7465724d617267696e546f703a742e666f6f7465724d617267696e546f702c636172657453697a653a742e636172657453697a652c636f726e65725261646975733a742e636f726e65725261646975732c6261636b67726f756e64436f6c6f723a742e6261636b67726f756e64436f6c6f722c6f7061636974793a302c6c6567656e64436f6c6f724261636b67726f756e643a742e6d756c74694b65794261636b67726f756e642c646973706c6179436f6c6f72733a742e646973706c6179436f6c6f72732c626f72646572436f6c6f723a742e626f72646572436f6c6f722c626f7264657257696474683a742e626f7264657257696474687d7d742e546f6f6c7469703d612e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b746869732e5f6d6f64656c3d6f28746869732e5f6f7074696f6e73292c746869732e5f6c6173744163746976653d5b5d7d2c6765745469746c653a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732c653d742e6265666f72655469746c652e6170706c7928746869732c617267756d656e7473292c6e3d742e7469746c652e6170706c7928746869732c617267756d656e7473292c613d742e61667465725469746c652e6170706c7928746869732c617267756d656e7473292c723d5b5d3b72657475726e20723d6928723d6928723d6928722c65292c6e292c61297d2c6765744265666f7265426f64793a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732e6265666f7265426f64792e6170706c7928746869732c617267756d656e7473293b72657475726e20722e697341727261792874293f743a766f69642030213d3d743f5b745d3a5b5d7d2c676574426f64793a66756e6374696f6e28742c65297b766172206e3d746869732c613d6e2e5f6f7074696f6e732e63616c6c6261636b732c6f3d5b5d3b72657475726e20722e6561636828742c66756e6374696f6e2874297b76617220723d7b6265666f72653a5b5d2c6c696e65733a5b5d2c61667465723a5b5d7d3b6928722e6265666f72652c612e6265666f72654c6162656c2e63616c6c286e2c742c6529292c6928722e6c696e65732c612e6c6162656c2e63616c6c286e2c742c6529292c6928722e61667465722c612e61667465724c6162656c2e63616c6c286e2c742c6529292c6f2e707573682872297d292c6f7d2c6765744166746572426f64793a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732e6166746572426f64792e6170706c7928746869732c617267756d656e7473293b72657475726e20722e697341727261792874293f743a766f69642030213d3d743f5b745d3a5b5d7d2c676574466f6f7465723a66756e6374696f6e28297b76617220743d746869732e5f6f7074696f6e732e63616c6c6261636b732c653d742e6265666f7265466f6f7465722e6170706c7928746869732c617267756d656e7473292c6e3d742e666f6f7465722e6170706c7928746869732c617267756d656e7473292c613d742e6166746572466f6f7465722e6170706c7928746869732c617267756d656e7473292c723d5b5d3b72657475726e20723d6928723d6928723d6928722c65292c6e292c61297d2c7570646174653a66756e6374696f6e2865297b76617220692c6e2c612c732c6c2c752c642c682c632c662c672c6d2c702c762c792c622c782c5f2c6b2c772c4d3d746869732c533d4d2e5f6f7074696f6e732c443d4d2e5f6d6f64656c2c433d4d2e5f6d6f64656c3d6f2853292c503d4d2e5f6163746976652c543d4d2e5f646174612c4f3d7b78416c69676e3a442e78416c69676e2c79416c69676e3a442e79416c69676e7d2c493d7b783a442e782c793a442e797d2c413d7b77696474683a442e77696474682c6865696768743a442e6865696768747d2c463d7b783a442e6361726574582c793a442e6361726574597d3b696628502e6c656e677468297b432e6f7061636974793d313b76617220523d5b5d2c4c3d5b5d3b463d742e546f6f6c7469702e706f736974696f6e6572735b532e706f736974696f6e5d2e63616c6c284d2c502c4d2e5f6576656e74506f736974696f6e293b76617220573d5b5d3b666f7228693d302c6e3d502e6c656e6774683b693c6e3b2b2b6929572e707573682828623d505b695d2c783d766f696420302c5f3d766f696420302c766f696420302c766f696420302c783d622e5f785363616c652c5f3d622e5f795363616c657c7c622e5f7363616c652c6b3d622e5f696e6465782c773d622e5f64617461736574496e6465782c7b784c6162656c3a783f782e6765744c6162656c466f72496e646578286b2c77293a22222c794c6162656c3a5f3f5f2e6765744c6162656c466f72496e646578286b2c77293a22222c696e6465783a6b2c64617461736574496e6465783a772c783a622e5f6d6f64656c2e782c793a622e5f6d6f64656c2e797d29293b532e66696c746572262628573d572e66696c7465722866756e6374696f6e2874297b72657475726e20532e66696c74657228742c54297d29292c532e6974656d536f7274262628573d572e736f72742866756e6374696f6e28742c65297b72657475726e20532e6974656d536f727428742c652c54297d29292c722e6561636828572c66756e6374696f6e2874297b522e7075736828532e63616c6c6261636b732e6c6162656c436f6c6f722e63616c6c284d2c742c4d2e5f636861727429292c4c2e7075736828532e63616c6c6261636b732e6c6162656c54657874436f6c6f722e63616c6c284d2c742c4d2e5f636861727429297d292c432e7469746c653d4d2e6765745469746c6528572c54292c432e6265666f7265426f64793d4d2e6765744265666f7265426f647928572c54292c432e626f64793d4d2e676574426f647928572c54292c432e6166746572426f64793d4d2e6765744166746572426f647928572c54292c432e666f6f7465723d4d2e676574466f6f74657228572c54292c432e783d4d6174682e726f756e6428462e78292c432e793d4d6174682e726f756e6428462e79292c432e636172657450616464696e673d532e636172657450616464696e672c432e6c6162656c436f6c6f72733d522c432e6c6162656c54657874436f6c6f72733d4c2c432e64617461506f696e74733d572c4f3d66756e6374696f6e28742c65297b76617220692c6e2c612c722c6f2c733d742e5f6d6f64656c2c6c3d742e5f63686172742c753d742e5f63686172742e6368617274417265612c643d2263656e746572222c683d2263656e746572223b732e793c652e6865696768743f683d22746f70223a732e793e6c2e6865696768742d652e686569676874262628683d22626f74746f6d22293b76617220633d28752e6c6566742b752e7269676874292f322c663d28752e746f702b752e626f74746f6d292f323b2263656e746572223d3d3d683f28693d66756e6374696f6e2874297b72657475726e20743c3d637d2c6e3d66756e6374696f6e2874297b72657475726e20743e637d293a28693d66756e6374696f6e2874297b72657475726e20743c3d652e77696474682f327d2c6e3d66756e6374696f6e2874297b72657475726e20743e3d6c2e77696474682d652e77696474682f327d292c613d66756e6374696f6e2874297b72657475726e20742b652e77696474682b732e636172657453697a652b732e636172657450616464696e673e6c2e77696474687d2c723d66756e6374696f6e2874297b72657475726e20742d652e77696474682d732e636172657453697a652d732e636172657450616464696e673c307d2c6f3d66756e6374696f6e2874297b72657475726e20743c3d663f22746f70223a22626f74746f6d227d2c6928732e78293f28643d226c656674222c6128732e7829262628643d2263656e746572222c683d6f28732e792929293a6e28732e7829262628643d227269676874222c7228732e7829262628643d2263656e746572222c683d6f28732e792929293b76617220673d742e5f6f7074696f6e733b72657475726e7b78416c69676e3a672e78416c69676e3f672e78416c69676e3a642c79416c69676e3a672e79416c69676e3f672e79416c69676e3a687d7d28746869732c413d66756e6374696f6e28742c65297b76617220693d742e5f63686172742e6374782c6e3d322a652e7950616464696e672c613d302c6f3d652e626f64792c733d6f2e7265647563652866756e6374696f6e28742c65297b72657475726e20742b652e6265666f72652e6c656e6774682b652e6c696e65732e6c656e6774682b652e61667465722e6c656e6774687d2c30293b732b3d652e6265666f7265426f64792e6c656e6774682b652e6166746572426f64792e6c656e6774683b766172206c3d652e7469746c652e6c656e6774682c753d652e666f6f7465722e6c656e6774682c643d652e7469746c65466f6e7453697a652c683d652e626f6479466f6e7453697a652c633d652e666f6f746572466f6e7453697a653b6e2b3d6c2a642c6e2b3d6c3f286c2d31292a652e7469746c6553706163696e673a302c6e2b3d6c3f652e7469746c654d617267696e426f74746f6d3a302c6e2b3d732a682c6e2b3d733f28732d31292a652e626f647953706163696e673a302c6e2b3d753f652e666f6f7465724d617267696e546f703a302c6e2b3d752a632c6e2b3d753f28752d31292a652e666f6f74657253706163696e673a303b76617220663d302c673d66756e6374696f6e2874297b613d4d6174682e6d617828612c692e6d656173757265546578742874292e77696474682b66297d3b72657475726e20692e666f6e743d722e666f6e74537472696e6728642c652e5f7469746c65466f6e745374796c652c652e5f7469746c65466f6e7446616d696c79292c722e6561636828652e7469746c652c67292c692e666f6e743d722e666f6e74537472696e6728682c652e5f626f6479466f6e745374796c652c652e5f626f6479466f6e7446616d696c79292c722e6561636828652e6265666f7265426f64792e636f6e63617428652e6166746572426f6479292c67292c663d652e646973706c6179436f6c6f72733f682b323a302c722e65616368286f2c66756e6374696f6e2874297b722e6561636828742e6265666f72652c67292c722e6561636828742e6c696e65732c67292c722e6561636828742e61667465722c67297d292c663d302c692e666f6e743d722e666f6e74537472696e6728632c652e5f666f6f746572466f6e745374796c652c652e5f666f6f746572466f6e7446616d696c79292c722e6561636828652e666f6f7465722c67292c7b77696474683a612b3d322a652e7850616464696e672c6865696768743a6e7d7d28746869732c4329292c613d432c733d412c6c3d4f2c753d4d2e5f63686172742c643d612e782c683d612e792c633d612e636172657453697a652c663d612e636172657450616464696e672c673d612e636f726e65725261646975732c6d3d6c2e78416c69676e2c703d6c2e79416c69676e2c763d632b662c793d672b662c227269676874223d3d3d6d3f642d3d732e77696474683a2263656e746572223d3d3d6d26262828642d3d732e77696474682f32292b732e77696474683e752e7769647468262628643d752e77696474682d732e7769647468292c643c30262628643d3029292c22746f70223d3d3d703f682b3d763a682d3d22626f74746f6d223d3d3d703f732e6865696768742b763a732e6865696768742f322c2263656e746572223d3d3d703f226c656674223d3d3d6d3f642b3d763a227269676874223d3d3d6d262628642d3d76293a226c656674223d3d3d6d3f642d3d793a227269676874223d3d3d6d262628642b3d79292c493d7b783a642c793a687d7d656c736520432e6f7061636974793d303b72657475726e20432e78416c69676e3d4f2e78416c69676e2c432e79416c69676e3d4f2e79416c69676e2c432e783d492e782c432e793d492e792c432e77696474683d412e77696474682c432e6865696768743d412e6865696768742c432e6361726574583d462e782c432e6361726574593d462e792c4d2e5f6d6f64656c3d432c652626532e637573746f6d2626532e637573746f6d2e63616c6c284d2c43292c4d7d2c6472617743617265743a66756e6374696f6e28742c65297b76617220693d746869732e5f63686172742e6374782c6e3d746869732e5f766965772c613d746869732e6765744361726574506f736974696f6e28742c652c6e293b692e6c696e65546f28612e78312c612e7931292c692e6c696e65546f28612e78322c612e7932292c692e6c696e65546f28612e78332c612e7933297d2c6765744361726574506f736974696f6e3a66756e6374696f6e28742c652c69297b766172206e2c612c722c6f2c732c6c2c753d692e636172657453697a652c643d692e636f726e65725261646975732c683d692e78416c69676e2c633d692e79416c69676e2c663d742e782c673d742e792c6d3d652e77696474682c703d652e6865696768743b6966282263656e746572223d3d3d6329733d672b702f322c226c656674223d3d3d683f28613d286e3d66292d752c723d6e2c6f3d732b752c6c3d732d75293a28613d286e3d662b6d292b752c723d6e2c6f3d732d752c6c3d732b75293b656c736520696628226c656674223d3d3d683f286e3d28613d662b642b75292d752c723d612b75293a227269676874223d3d3d683f286e3d28613d662b6d2d642d75292d752c723d612b75293a286e3d28613d692e636172657458292d752c723d612b75292c22746f70223d3d3d6329733d286f3d67292d752c6c3d6f3b656c73657b733d286f3d672b70292b752c6c3d6f3b76617220763d723b723d6e2c6e3d767d72657475726e7b78313a6e2c78323a612c78333a722c79313a6f2c79323a732c79333a6c7d7d2c647261775469746c653a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e7469746c653b6966286f2e6c656e677468297b6e2e74657874416c69676e3d692e5f7469746c65416c69676e2c6e2e74657874426173656c696e653d22746f70223b76617220732c6c2c753d692e7469746c65466f6e7453697a652c643d692e7469746c6553706163696e673b666f72286e2e66696c6c5374796c653d6528692e7469746c65466f6e74436f6c6f722c61292c6e2e666f6e743d722e666f6e74537472696e6728752c692e5f7469746c65466f6e745374796c652c692e5f7469746c65466f6e7446616d696c79292c733d302c6c3d6f2e6c656e6774683b733c6c3b2b2b73296e2e66696c6c54657874286f5b735d2c742e782c742e79292c742e792b3d752b642c732b313d3d3d6f2e6c656e677468262628742e792b3d692e7469746c654d617267696e426f74746f6d2d64297d7d2c64726177426f64793a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e626f6479466f6e7453697a652c733d692e626f647953706163696e672c6c3d692e626f64793b6e2e74657874416c69676e3d692e5f626f6479416c69676e2c6e2e74657874426173656c696e653d22746f70222c6e2e666f6e743d722e666f6e74537472696e67286f2c692e5f626f6479466f6e745374796c652c692e5f626f6479466f6e7446616d696c79293b76617220753d302c643d66756e6374696f6e2865297b6e2e66696c6c5465787428652c742e782b752c742e79292c742e792b3d6f2b737d3b6e2e66696c6c5374796c653d6528692e626f6479466f6e74436f6c6f722c61292c722e6561636828692e6265666f7265426f64792c64293b76617220683d692e646973706c6179436f6c6f72733b753d683f6f2b323a302c722e65616368286c2c66756e6374696f6e28732c6c297b76617220753d6528692e6c6162656c54657874436f6c6f72735b6c5d2c61293b6e2e66696c6c5374796c653d752c722e6561636828732e6265666f72652c64292c722e6561636828732e6c696e65732c66756e6374696f6e2872297b682626286e2e66696c6c5374796c653d6528692e6c6567656e64436f6c6f724261636b67726f756e642c61292c6e2e66696c6c5265637428742e782c742e792c6f2c6f292c6e2e6c696e6557696474683d312c6e2e7374726f6b655374796c653d6528692e6c6162656c436f6c6f72735b6c5d2e626f72646572436f6c6f722c61292c6e2e7374726f6b655265637428742e782c742e792c6f2c6f292c6e2e66696c6c5374796c653d6528692e6c6162656c436f6c6f72735b6c5d2e6261636b67726f756e64436f6c6f722c61292c6e2e66696c6c5265637428742e782b312c742e792b312c6f2d322c6f2d32292c6e2e66696c6c5374796c653d75292c642872297d292c722e6561636828732e61667465722c64297d292c753d302c722e6561636828692e6166746572426f64792c64292c742e792d3d737d2c64726177466f6f7465723a66756e6374696f6e28742c692c6e2c61297b766172206f3d692e666f6f7465723b6f2e6c656e677468262628742e792b3d692e666f6f7465724d617267696e546f702c6e2e74657874416c69676e3d692e5f666f6f746572416c69676e2c6e2e74657874426173656c696e653d22746f70222c6e2e66696c6c5374796c653d6528692e666f6f746572466f6e74436f6c6f722c61292c6e2e666f6e743d722e666f6e74537472696e6728692e666f6f746572466f6e7453697a652c692e5f666f6f746572466f6e745374796c652c692e5f666f6f746572466f6e7446616d696c79292c722e65616368286f2c66756e6374696f6e2865297b6e2e66696c6c5465787428652c742e782c742e79292c742e792b3d692e666f6f746572466f6e7453697a652b692e666f6f74657253706163696e677d29297d2c647261774261636b67726f756e643a66756e6374696f6e28742c692c6e2c612c72297b6e2e66696c6c5374796c653d6528692e6261636b67726f756e64436f6c6f722c72292c6e2e7374726f6b655374796c653d6528692e626f72646572436f6c6f722c72292c6e2e6c696e6557696474683d692e626f7264657257696474683b766172206f3d692e78416c69676e2c733d692e79416c69676e2c6c3d742e782c753d742e792c643d612e77696474682c683d612e6865696768742c633d692e636f726e65725261646975733b6e2e626567696e5061746828292c6e2e6d6f7665546f286c2b632c75292c22746f70223d3d3d732626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b642d632c75292c6e2e7175616472617469634375727665546f286c2b642c752c6c2b642c752b63292c2263656e746572223d3d3d732626227269676874223d3d3d6f2626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b642c752b682d63292c6e2e7175616472617469634375727665546f286c2b642c752b682c6c2b642d632c752b68292c22626f74746f6d223d3d3d732626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2b632c752b68292c6e2e7175616472617469634375727665546f286c2c752b682c6c2c752b682d63292c2263656e746572223d3d3d732626226c656674223d3d3d6f2626746869732e64726177436172657428742c61292c6e2e6c696e65546f286c2c752b63292c6e2e7175616472617469634375727665546f286c2c752c6c2b632c75292c6e2e636c6f73655061746828292c6e2e66696c6c28292c692e626f7264657257696474683e3026266e2e7374726f6b6528297d2c647261773a66756e6374696f6e28297b76617220743d746869732e5f63686172742e6374782c653d746869732e5f766965773b69662830213d3d652e6f706163697479297b76617220693d7b77696474683a652e77696474682c6865696768743a652e6865696768747d2c6e3d7b783a652e782c793a652e797d2c613d4d6174682e61627328652e6f7061636974793c2e303031293f303a652e6f7061636974792c723d652e7469746c652e6c656e6774687c7c652e6265666f7265426f64792e6c656e6774687c7c652e626f64792e6c656e6774687c7c652e6166746572426f64792e6c656e6774687c7c652e666f6f7465722e6c656e6774683b746869732e5f6f7074696f6e732e656e61626c6564262672262628746869732e647261774261636b67726f756e64286e2c652c742c692c61292c6e2e782b3d652e7850616464696e672c6e2e792b3d652e7950616464696e672c746869732e647261775469746c65286e2c652c742c61292c746869732e64726177426f6479286e2c652c742c61292c746869732e64726177466f6f746572286e2c652c742c6129297d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220652c693d746869732c6e3d692e5f6f7074696f6e733b72657475726e20692e5f6c6173744163746976653d692e5f6c6173744163746976657c7c5b5d2c226d6f7573656f7574223d3d3d742e747970653f692e5f6163746976653d5b5d3a692e5f6163746976653d692e5f63686172742e676574456c656d656e747341744576656e74466f724d6f646528742c6e2e6d6f64652c6e292c28653d21722e6172726179457175616c7328692e5f6163746976652c692e5f6c6173744163746976652929262628692e5f6c6173744163746976653d692e5f6163746976652c286e2e656e61626c65647c7c6e2e637573746f6d29262628692e5f6576656e74506f736974696f6e3d7b783a742e782c793a742e797d2c692e757064617465282130292c692e7069766f74282929292c657d7d292c742e546f6f6c7469702e706f736974696f6e6572733d7b617665726167653a66756e6374696f6e2874297b69662821742e6c656e6774682972657475726e21313b76617220652c692c6e3d302c613d302c723d303b666f7228653d302c693d742e6c656e6774683b653c693b2b2b65297b766172206f3d745b655d3b6966286f26266f2e68617356616c75652829297b76617220733d6f2e746f6f6c746970506f736974696f6e28293b6e2b3d732e782c612b3d732e792c2b2b727d7d72657475726e7b783a4d6174682e726f756e64286e2f72292c793a4d6174682e726f756e6428612f72297d7d2c6e6561726573743a66756e6374696f6e28742c65297b76617220692c6e2c612c6f3d652e782c733d652e792c6c3d4e756d6265722e504f5349544956455f494e46494e4954593b666f7228693d302c6e3d742e6c656e6774683b693c6e3b2b2b69297b76617220753d745b695d3b696628752626752e68617356616c75652829297b76617220643d752e67657443656e746572506f696e7428292c683d722e64697374616e63654265747765656e506f696e747328652c64293b683c6c2626286c3d682c613d75297d7d69662861297b76617220633d612e746f6f6c746970506f736974696f6e28293b6f3d632e782c733d632e797d72657475726e7b783a6f2c793a737d7d7d7d7d2c7b32353a32352c32363a32362c34353a34357d5d2c33363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b6172633a7b6261636b67726f756e64436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572436f6c6f723a2223666666222c626f7264657257696474683a327d7d7d292c652e6578706f7274733d612e657874656e64287b696e4c6162656c52616e67653a66756e6374696f6e2874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e706f7728742d652e782c32293c4d6174682e706f7728652e7261646975732b652e686f7665725261646975732c32297d2c696e52616e67653a66756e6374696f6e28742c65297b76617220693d746869732e5f766965773b69662869297b666f7228766172206e3d722e676574416e676c6546726f6d506f696e7428692c7b783a742c793a657d292c613d6e2e616e676c652c6f3d6e2e64697374616e63652c733d692e7374617274416e676c652c6c3d692e656e64416e676c653b6c3c733b296c2b3d322a4d6174682e50493b666f72283b613e6c3b29612d3d322a4d6174682e50493b666f72283b613c733b29612b3d322a4d6174682e50493b76617220753d613e3d732626613c3d6c2c643d6f3e3d692e696e6e657252616469757326266f3c3d692e6f757465725261646975733b72657475726e20752626647d72657475726e21317d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220743d746869732e5f766965772c653d28742e7374617274416e676c652b742e656e64416e676c65292f322c693d28742e696e6e65725261646975732b742e6f75746572526164697573292f323b72657475726e7b783a742e782b4d6174682e636f732865292a692c793a742e792b4d6174682e73696e2865292a697d7d2c676574417265613a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e204d6174682e50492a2828742e656e64416e676c652d742e7374617274416e676c65292f28322a4d6174682e504929292a284d6174682e706f7728742e6f757465725261646975732c32292d4d6174682e706f7728742e696e6e65725261646975732c3229297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965772c653d742e7374617274416e676c652b28742e656e64416e676c652d742e7374617274416e676c65292f322c693d28742e6f757465725261646975732d742e696e6e6572526164697573292f322b742e696e6e65725261646975733b72657475726e7b783a742e782b4d6174682e636f732865292a692c793a742e792b4d6174682e73696e2865292a697d7d2c647261773a66756e6374696f6e28297b76617220743d746869732e5f63686172742e6374782c653d746869732e5f766965772c693d652e7374617274416e676c652c6e3d652e656e64416e676c653b742e626567696e5061746828292c742e61726328652e782c652e792c652e6f757465725261646975732c692c6e292c742e61726328652e782c652e792c652e696e6e65725261646975732c6e2c692c2130292c742e636c6f73655061746828292c742e7374726f6b655374796c653d652e626f72646572436f6c6f722c742e6c696e6557696474683d652e626f7264657257696474682c742e66696c6c5374796c653d652e6261636b67726f756e64436f6c6f722c742e66696c6c28292c742e6c696e654a6f696e3d22626576656c222c652e626f7264657257696474682626742e7374726f6b6528297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d6e2e676c6f62616c3b6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b6c696e653a7b74656e73696f6e3a2e342c6261636b67726f756e64436f6c6f723a6f2e64656661756c74436f6c6f722c626f7264657257696474683a332c626f72646572436f6c6f723a6f2e64656661756c74436f6c6f722c626f726465724361705374796c653a2262757474222c626f72646572446173683a5b5d2c626f72646572446173684f66667365743a302c626f726465724a6f696e5374796c653a226d69746572222c63617042657a696572506f696e74733a21302c66696c6c3a21307d7d7d292c652e6578706f7274733d612e657874656e64287b647261773a66756e6374696f6e28297b76617220742c652c692c6e2c613d746869732e5f766965772c733d746869732e5f63686172742e6374782c6c3d612e7370616e476170732c753d746869732e5f6368696c6472656e2e736c69636528292c643d6f2e656c656d656e74732e6c696e652c683d2d313b666f7228746869732e5f6c6f6f702626752e6c656e6774682626752e7075736828755b305d292c732e7361766528292c732e6c696e654361703d612e626f726465724361705374796c657c7c642e626f726465724361705374796c652c732e7365744c696e65446173682626732e7365744c696e654461736828612e626f72646572446173687c7c642e626f7264657244617368292c732e6c696e65446173684f66667365743d612e626f72646572446173684f66667365747c7c642e626f72646572446173684f66667365742c732e6c696e654a6f696e3d612e626f726465724a6f696e5374796c657c7c642e626f726465724a6f696e5374796c652c732e6c696e6557696474683d612e626f7264657257696474687c7c642e626f7264657257696474682c732e7374726f6b655374796c653d612e626f72646572436f6c6f727c7c6f2e64656661756c74436f6c6f722c732e626567696e5061746828292c683d2d312c743d303b743c752e6c656e6774683b2b2b7429653d755b745d2c693d722e70726576696f75734974656d28752c74292c6e3d652e5f766965772c303d3d3d743f6e2e736b69707c7c28732e6d6f7665546f286e2e782c6e2e79292c683d74293a28693d2d313d3d3d683f693a755b685d2c6e2e736b69707c7c2868213d3d742d312626216c7c7c2d313d3d3d683f732e6d6f7665546f286e2e782c6e2e79293a722e63616e7661732e6c696e65546f28732c692e5f766965772c652e5f76696577292c683d7429293b732e7374726f6b6528292c732e726573746f726528297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d6e2e676c6f62616c2e64656661756c74436f6c6f723b66756e6374696f6e20732874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e61627328742d652e78293c652e7261646975732b652e6869745261646975737d6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b706f696e743a7b7261646975733a332c706f696e745374796c653a22636972636c65222c6261636b67726f756e64436f6c6f723a6f2c626f72646572436f6c6f723a6f2c626f7264657257696474683a312c6869745261646975733a312c686f7665725261646975733a342c686f766572426f7264657257696474683a317d7d7d292c652e6578706f7274733d612e657874656e64287b696e52616e67653a66756e6374696f6e28742c65297b76617220693d746869732e5f766965773b72657475726e21216926264d6174682e706f7728742d692e782c32292b4d6174682e706f7728652d692e792c32293c4d6174682e706f7728692e6869745261646975732b692e7261646975732c32297d2c696e4c6162656c52616e67653a732c696e5852616e67653a732c696e5952616e67653a66756e6374696f6e2874297b76617220653d746869732e5f766965773b72657475726e21216526264d6174682e61627328742d652e79293c652e7261646975732b652e6869745261646975737d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e797d7d2c676574417265613a66756e6374696f6e28297b72657475726e204d6174682e50492a4d6174682e706f7728746869732e5f766965772e7261646975732c32297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e792c70616464696e673a742e7261646975732b742e626f7264657257696474687d7d2c647261773a66756e6374696f6e2874297b76617220653d746869732e5f766965772c693d746869732e5f6d6f64656c2c613d746869732e5f63686172742e6374782c733d652e706f696e745374796c652c6c3d652e7261646975732c753d652e782c643d652e792c683d722e636f6c6f722c633d303b652e736b69707c7c28612e7374726f6b655374796c653d652e626f72646572436f6c6f727c7c6f2c612e6c696e6557696474683d722e76616c75654f7244656661756c7428652e626f7264657257696474682c6e2e676c6f62616c2e656c656d656e74732e706f696e742e626f726465725769647468292c612e66696c6c5374796c653d652e6261636b67726f756e64436f6c6f727c7c6f2c766f69642030213d3d74262628692e783c742e6c6566747c7c312e30312a742e72696768743c692e787c7c692e793c742e746f707c7c312e30312a742e626f74746f6d3c692e7929262628692e783c742e6c6566743f633d28752d692e78292f28742e6c6566742d692e78293a312e30312a742e72696768743c692e783f633d28692e782d75292f28692e782d742e7269676874293a692e793c742e746f703f633d28642d692e79292f28742e746f702d692e79293a312e30312a742e626f74746f6d3c692e79262628633d28692e792d64292f28692e792d742e626f74746f6d29292c633d4d6174682e726f756e64283130302a63292f3130302c612e7374726f6b655374796c653d6828612e7374726f6b655374796c65292e616c7068612863292e726762537472696e6728292c612e66696c6c5374796c653d6828612e66696c6c5374796c65292e616c7068612863292e726762537472696e672829292c722e63616e7661732e64726177506f696e7428612c732c6c2c752c6429297d7d297d2c7b32353a32352c32363a32362c34353a34357d5d2c33393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236293b66756e6374696f6e20722874297b72657475726e20766f69642030213d3d742e5f766965772e77696474687d66756e6374696f6e206f2874297b76617220652c692c6e2c612c6f3d742e5f766965773b69662872287429297b76617220733d6f2e77696474682f323b653d6f2e782d732c693d6f2e782b732c6e3d4d6174682e6d696e286f2e792c6f2e62617365292c613d4d6174682e6d6178286f2e792c6f2e62617365297d656c73657b766172206c3d6f2e6865696768742f323b653d4d6174682e6d696e286f2e782c6f2e62617365292c693d4d6174682e6d6178286f2e782c6f2e62617365292c6e3d6f2e792d6c2c613d6f2e792b6c7d72657475726e7b6c6566743a652c746f703a6e2c72696768743a692c626f74746f6d3a617d7d6e2e5f7365742822676c6f62616c222c7b656c656d656e74733a7b72656374616e676c653a7b6261636b67726f756e64436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572436f6c6f723a6e2e676c6f62616c2e64656661756c74436f6c6f722c626f72646572536b69707065643a22626f74746f6d222c626f7264657257696474683a307d7d7d292c652e6578706f7274733d612e657874656e64287b647261773a66756e6374696f6e28297b76617220742c652c692c6e2c612c722c6f2c733d746869732e5f63686172742e6374782c6c3d746869732e5f766965772c753d6c2e626f7264657257696474683b6966286c2e686f72697a6f6e74616c3f28743d6c2e626173652c653d6c2e782c693d6c2e792d6c2e6865696768742f322c6e3d6c2e792b6c2e6865696768742f322c613d653e743f313a2d312c723d312c6f3d6c2e626f72646572536b69707065647c7c226c65667422293a28743d6c2e782d6c2e77696474682f322c653d6c2e782b6c2e77696474682f322c693d6c2e792c613d312c723d286e3d6c2e62617365293e693f313a2d312c6f3d6c2e626f72646572536b69707065647c7c22626f74746f6d22292c75297b76617220643d4d6174682e6d696e284d6174682e61627328742d65292c4d6174682e61627328692d6e29292c683d28753d753e643f643a75292f322c633d742b28226c65667422213d3d6f3f682a613a30292c663d652b2822726967687422213d3d6f3f2d682a613a30292c673d692b2822746f7022213d3d6f3f682a723a30292c6d3d6e2b2822626f74746f6d22213d3d6f3f2d682a723a30293b63213d3d66262628693d672c6e3d6d292c67213d3d6d262628743d632c653d66297d732e626567696e5061746828292c732e66696c6c5374796c653d6c2e6261636b67726f756e64436f6c6f722c732e7374726f6b655374796c653d6c2e626f72646572436f6c6f722c732e6c696e6557696474683d753b76617220703d5b5b742c6e5d2c5b742c695d2c5b652c695d2c5b652c6e5d5d2c763d5b22626f74746f6d222c226c656674222c22746f70222c227269676874225d2e696e6465784f66286f2c30293b66756e6374696f6e20792874297b72657475726e20705b28762b742925345d7d2d313d3d3d76262628763d30293b76617220623d792830293b732e6d6f7665546f28625b305d2c625b315d293b666f722876617220783d313b783c343b782b2b29623d792878292c732e6c696e65546f28625b305d2c625b315d293b732e66696c6c28292c752626732e7374726f6b6528297d2c6865696768743a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e20742e626173652d742e797d2c696e52616e67653a66756e6374696f6e28742c65297b76617220693d21313b696628746869732e5f76696577297b766172206e3d6f2874686973293b693d743e3d6e2e6c6566742626743c3d6e2e72696768742626653e3d6e2e746f702626653c3d6e2e626f74746f6d7d72657475726e20697d2c696e4c6162656c52616e67653a66756e6374696f6e28742c65297b69662821746869732e5f766965772972657475726e21313b76617220693d6f2874686973293b72657475726e20722874686973293f743e3d692e6c6566742626743c3d692e72696768743a653e3d692e746f702626653c3d692e626f74746f6d7d2c696e5852616e67653a66756e6374696f6e2874297b76617220653d6f2874686973293b72657475726e20743e3d652e6c6566742626743c3d652e72696768747d2c696e5952616e67653a66756e6374696f6e2874297b76617220653d6f2874686973293b72657475726e20743e3d652e746f702626743c3d652e626f74746f6d7d2c67657443656e746572506f696e743a66756e6374696f6e28297b76617220742c652c693d746869732e5f766965773b72657475726e20722874686973293f28743d692e782c653d28692e792b692e62617365292f32293a28743d28692e782b692e62617365292f322c653d692e79292c7b783a742c793a657d7d2c676574417265613a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e20742e77696474682a4d6174682e61627328742e792d742e62617365297d2c746f6f6c746970506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e5f766965773b72657475726e7b783a742e782c793a742e797d7d7d297d2c7b32353a32352c32363a32367d5d2c34303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b7d2c652e6578706f7274732e4172633d74283336292c652e6578706f7274732e4c696e653d74283337292c652e6578706f7274732e506f696e743d74283338292c652e6578706f7274732e52656374616e676c653d74283339297d2c7b33363a33362c33373a33372c33383a33382c33393a33397d5d2c34313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432293b693d652e6578706f7274733d7b636c6561723a66756e6374696f6e2874297b742e6374782e636c6561725265637428302c302c742e77696474682c742e686569676874297d2c726f756e646564526563743a66756e6374696f6e28742c652c692c6e2c612c72297b69662872297b766172206f3d4d6174682e6d696e28722c6e2f32292c733d4d6174682e6d696e28722c612f32293b742e6d6f7665546f28652b6f2c69292c742e6c696e65546f28652b6e2d6f2c69292c742e7175616472617469634375727665546f28652b6e2c692c652b6e2c692b73292c742e6c696e65546f28652b6e2c692b612d73292c742e7175616472617469634375727665546f28652b6e2c692b612c652b6e2d6f2c692b61292c742e6c696e65546f28652b6f2c692b61292c742e7175616472617469634375727665546f28652c692b612c652c692b612d73292c742e6c696e65546f28652c692b73292c742e7175616472617469634375727665546f28652c692c652b6f2c69297d656c736520742e7265637428652c692c6e2c61297d2c64726177506f696e743a66756e6374696f6e28742c652c692c6e2c61297b76617220722c6f2c732c6c2c752c643b69662821657c7c226f626a65637422213d747970656f6620657c7c225b6f626a6563742048544d4c496d616765456c656d656e745d22213d3d28723d652e746f537472696e672829292626225b6f626a6563742048544d4c43616e766173456c656d656e745d22213d3d72297b696628212869734e614e2869297c7c693c3d3029297b7377697463682865297b64656661756c743a742e626567696e5061746828292c742e617263286e2c612c692c302c322a4d6174682e5049292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b6361736522747269616e676c65223a742e626567696e5061746828292c753d286f3d332a692f4d6174682e73717274283329292a4d6174682e737172742833292f322c742e6d6f7665546f286e2d6f2f322c612b752f33292c742e6c696e65546f286e2b6f2f322c612b752f33292c742e6c696e65546f286e2c612d322a752f33292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652272656374223a643d312f4d6174682e53515254322a692c742e626567696e5061746828292c742e66696c6c52656374286e2d642c612d642c322a642c322a64292c742e7374726f6b6552656374286e2d642c612d642c322a642c322a64293b627265616b3b636173652272656374526f756e646564223a76617220683d692f4d6174682e53515254322c633d6e2d682c663d612d682c673d4d6174682e53515254322a693b742e626567696e5061746828292c746869732e726f756e6465645265637428742c632c662c672c672c692f32292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652272656374526f74223a643d312f4d6174682e53515254322a692c742e626567696e5061746828292c742e6d6f7665546f286e2d642c61292c742e6c696e65546f286e2c612b64292c742e6c696e65546f286e2b642c61292c742e6c696e65546f286e2c612d64292c742e636c6f73655061746828292c742e66696c6c28293b627265616b3b636173652263726f7373223a742e626567696e5061746828292c742e6d6f7665546f286e2c612b69292c742e6c696e65546f286e2c612d69292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828293b627265616b3b636173652263726f7373526f74223a742e626567696e5061746828292c733d4d6174682e636f73284d6174682e50492f34292a692c6c3d4d6174682e73696e284d6174682e50492f34292a692c742e6d6f7665546f286e2d732c612d6c292c742e6c696e65546f286e2b732c612b6c292c742e6d6f7665546f286e2d732c612b6c292c742e6c696e65546f286e2b732c612d6c292c742e636c6f73655061746828293b627265616b3b636173652273746172223a742e626567696e5061746828292c742e6d6f7665546f286e2c612b69292c742e6c696e65546f286e2c612d69292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c733d4d6174682e636f73284d6174682e50492f34292a692c6c3d4d6174682e73696e284d6174682e50492f34292a692c742e6d6f7665546f286e2d732c612d6c292c742e6c696e65546f286e2b732c612b6c292c742e6d6f7665546f286e2d732c612b6c292c742e6c696e65546f286e2b732c612d6c292c742e636c6f73655061746828293b627265616b3b63617365226c696e65223a742e626567696e5061746828292c742e6d6f7665546f286e2d692c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828293b627265616b3b636173652264617368223a742e626567696e5061746828292c742e6d6f7665546f286e2c61292c742e6c696e65546f286e2b692c61292c742e636c6f73655061746828297d742e7374726f6b6528297d7d656c736520742e64726177496d61676528652c6e2d652e77696474682f322c612d652e6865696768742f322c652e77696474682c652e686569676874297d2c636c6970417265613a66756e6374696f6e28742c65297b742e7361766528292c742e626567696e5061746828292c742e7265637428652e6c6566742c652e746f702c652e72696768742d652e6c6566742c652e626f74746f6d2d652e746f70292c742e636c697028297d2c756e636c6970417265613a66756e6374696f6e2874297b742e726573746f726528297d2c6c696e65546f3a66756e6374696f6e28742c652c692c6e297b696628692e737465707065644c696e652972657475726e226166746572223d3d3d692e737465707065644c696e652626216e7c7c22616674657222213d3d692e737465707065644c696e6526266e3f742e6c696e65546f28652e782c692e79293a742e6c696e65546f28692e782c652e79292c766f696420742e6c696e65546f28692e782c692e79293b692e74656e73696f6e3f742e62657a6965724375727665546f286e3f652e636f6e74726f6c506f696e7450726576696f7573583a652e636f6e74726f6c506f696e744e657874582c6e3f652e636f6e74726f6c506f696e7450726576696f7573593a652e636f6e74726f6c506f696e744e657874592c6e3f692e636f6e74726f6c506f696e744e657874583a692e636f6e74726f6c506f696e7450726576696f7573582c6e3f692e636f6e74726f6c506f696e744e657874593a692e636f6e74726f6c506f696e7450726576696f7573592c692e782c692e79293a742e6c696e65546f28692e782c692e79297d7d3b6e2e636c6561723d692e636c6561722c6e2e64726177526f756e64656452656374616e676c653d66756e6374696f6e2874297b742e626567696e5061746828292c692e726f756e646564526563742e6170706c7928692c617267756d656e7473292c742e636c6f73655061746828297d7d2c7b34323a34327d5d2c34323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e2c613d7b6e6f6f703a66756e6374696f6e28297b7d2c7569643a286e3d302c66756e6374696f6e28297b72657475726e206e2b2b7d292c69734e756c6c4f72556e6465663a66756e6374696f6e2874297b72657475726e206e756c6c3d3d747d2c697341727261793a41727261792e697341727261793f41727261792e697341727261793a66756e6374696f6e2874297b72657475726e225b6f626a6563742041727261795d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d2c69734f626a6563743a66756e6374696f6e2874297b72657475726e206e756c6c213d3d742626225b6f626a656374204f626a6563745d223d3d3d4f626a6563742e70726f746f747970652e746f537472696e672e63616c6c2874297d2c76616c75654f7244656661756c743a66756e6374696f6e28742c65297b72657475726e20766f696420303d3d3d743f653a747d2c76616c75654174496e6465784f7244656661756c743a66756e6374696f6e28742c652c69297b72657475726e20612e76616c75654f7244656661756c7428612e697341727261792874293f745b655d3a742c69297d2c63616c6c6261636b3a66756e6374696f6e28742c652c69297b6966287426262266756e6374696f6e223d3d747970656f6620742e63616c6c2972657475726e20742e6170706c7928692c65297d2c656163683a66756e6374696f6e28742c652c692c6e297b76617220722c6f2c733b696628612e69734172726179287429296966286f3d742e6c656e6774682c6e29666f7228723d6f2d313b723e3d303b722d2d29652e63616c6c28692c745b725d2c72293b656c736520666f7228723d303b723c6f3b722b2b29652e63616c6c28692c745b725d2c72293b656c736520696628612e69734f626a65637428742929666f72286f3d28733d4f626a6563742e6b657973287429292e6c656e6774682c723d303b723c6f3b722b2b29652e63616c6c28692c745b735b725d5d2c735b725d297d2c6172726179457175616c733a66756e6374696f6e28742c65297b76617220692c6e2c722c6f3b69662821747c7c21657c7c742e6c656e677468213d3d652e6c656e6774682972657475726e21313b666f7228693d302c6e3d742e6c656e6774683b693c6e3b2b2b6929696628723d745b695d2c6f3d655b695d2c7220696e7374616e63656f6620417272617926266f20696e7374616e63656f66204172726179297b69662821612e6172726179457175616c7328722c6f292972657475726e21317d656c73652069662872213d3d6f2972657475726e21313b72657475726e21307d2c636c6f6e653a66756e6374696f6e2874297b696628612e697341727261792874292972657475726e20742e6d617028612e636c6f6e65293b696628612e69734f626a656374287429297b666f722876617220653d7b7d2c693d4f626a6563742e6b6579732874292c6e3d692e6c656e6774682c723d303b723c6e3b2b2b7229655b695b725d5d3d612e636c6f6e6528745b695b725d5d293b72657475726e20657d72657475726e20747d2c5f6d65726765723a66756e6374696f6e28742c652c692c6e297b76617220723d655b745d2c6f3d695b745d3b612e69734f626a6563742872292626612e69734f626a656374286f293f612e6d6572676528722c6f2c6e293a655b745d3d612e636c6f6e65286f297d2c5f6d657267657249663a66756e6374696f6e28742c652c69297b766172206e3d655b745d2c723d695b745d3b612e69734f626a656374286e292626612e69734f626a6563742872293f612e6d657267654966286e2c72293a652e6861734f776e50726f70657274792874297c7c28655b745d3d612e636c6f6e65287229297d2c6d657267653a66756e6374696f6e28742c652c69297b766172206e2c722c6f2c732c6c2c753d612e697341727261792865293f653a5b655d2c643d752e6c656e6774683b69662821612e69734f626a6563742874292972657475726e20743b666f72286e3d28693d697c7c7b7d292e6d65726765727c7c612e5f6d65726765722c723d303b723c643b2b2b7229696628653d755b725d2c612e69734f626a65637428652929666f72286c3d302c733d286f3d4f626a6563742e6b657973286529292e6c656e6774683b6c3c733b2b2b6c296e286f5b6c5d2c742c652c69293b72657475726e20747d2c6d6572676549663a66756e6374696f6e28742c65297b72657475726e20612e6d6572676528742c652c7b6d65726765723a612e5f6d657267657249667d297d2c657874656e643a66756e6374696f6e2874297b666f722876617220653d66756e6374696f6e28652c69297b745b695d3d657d2c693d312c6e3d617267756d656e74732e6c656e6774683b693c6e3b2b2b6929612e6561636828617267756d656e74735b695d2c65293b72657475726e20747d2c696e6865726974733a66756e6374696f6e2874297b76617220653d746869732c693d742626742e6861734f776e50726f70657274792822636f6e7374727563746f7222293f742e636f6e7374727563746f723a66756e6374696f6e28297b72657475726e20652e6170706c7928746869732c617267756d656e7473297d2c6e3d66756e6374696f6e28297b746869732e636f6e7374727563746f723d697d3b72657475726e206e2e70726f746f747970653d652e70726f746f747970652c692e70726f746f747970653d6e6577206e2c692e657874656e643d612e696e6865726974732c742626612e657874656e6428692e70726f746f747970652c74292c692e5f5f73757065725f5f3d652e70726f746f747970652c697d7d3b652e6578706f7274733d612c612e63616c6c43616c6c6261636b3d612e63616c6c6261636b2c612e696e6465784f663d66756e6374696f6e28742c652c69297b72657475726e2041727261792e70726f746f747970652e696e6465784f662e63616c6c28742c652c69297d2c612e67657456616c75654f7244656661756c743d612e76616c75654f7244656661756c742c612e67657456616c75654174496e6465784f7244656661756c743d612e76616c75654174496e6465784f7244656661756c747d2c7b7d5d2c34333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432292c613d7b6c696e6561723a66756e6374696f6e2874297b72657475726e20747d2c65617365496e517561643a66756e6374696f6e2874297b72657475726e20742a747d2c656173654f7574517561643a66756e6374696f6e2874297b72657475726e2d742a28742d32297d2c65617365496e4f7574517561643a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a743a2d2e352a282d2d742a28742d32292d31297d2c65617365496e43756269633a66756e6374696f6e2874297b72657475726e20742a742a747d2c656173654f757443756269633a66756e6374696f6e2874297b72657475726e28742d3d31292a742a742b317d2c65617365496e4f757443756269633a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a743a2e352a2828742d3d32292a742a742b32297d2c65617365496e51756172743a66756e6374696f6e2874297b72657475726e20742a742a742a747d2c656173654f757451756172743a66756e6374696f6e2874297b72657475726e2d2828742d3d31292a742a742a742d31297d2c65617365496e4f757451756172743a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a742a743a2d2e352a2828742d3d32292a742a742a742d32297d2c65617365496e5175696e743a66756e6374696f6e2874297b72657475726e20742a742a742a742a747d2c656173654f75745175696e743a66756e6374696f6e2874297b72657475726e28742d3d31292a742a742a742a742b317d2c65617365496e4f75745175696e743a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2e352a742a742a742a742a743a2e352a2828742d3d32292a742a742a742a742b32297d2c65617365496e53696e653a66756e6374696f6e2874297b72657475726e20312d4d6174682e636f7328742a284d6174682e50492f3229297d2c656173654f757453696e653a66756e6374696f6e2874297b72657475726e204d6174682e73696e28742a284d6174682e50492f3229297d2c65617365496e4f757453696e653a66756e6374696f6e2874297b72657475726e2d2e352a284d6174682e636f73284d6174682e50492a74292d31297d2c65617365496e4578706f3a66756e6374696f6e2874297b72657475726e20303d3d3d743f303a4d6174682e706f7728322c31302a28742d3129297d2c656173654f75744578706f3a66756e6374696f6e2874297b72657475726e20313d3d3d743f313a312d4d6174682e706f7728322c2d31302a74297d2c65617365496e4f75744578706f3a66756e6374696f6e2874297b72657475726e20303d3d3d743f303a313d3d3d743f313a28742f3d2e35293c313f2e352a4d6174682e706f7728322c31302a28742d3129293a2e352a28322d4d6174682e706f7728322c2d31302a2d2d7429297d2c65617365496e436972633a66756e6374696f6e2874297b72657475726e20743e3d313f743a2d284d6174682e7371727428312d742a74292d31297d2c656173654f7574436972633a66756e6374696f6e2874297b72657475726e204d6174682e7371727428312d28742d3d31292a74297d2c65617365496e4f7574436972633a66756e6374696f6e2874297b72657475726e28742f3d2e35293c313f2d2e352a284d6174682e7371727428312d742a74292d31293a2e352a284d6174682e7371727428312d28742d3d32292a74292b31297d2c65617365496e456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a313d3d3d743f313a28697c7c28693d2e33292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c2d6e2a4d6174682e706f7728322c31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f6929297d2c656173654f7574456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a313d3d3d743f313a28697c7c28693d2e33292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c6e2a4d6174682e706f7728322c2d31302a74292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292b31297d2c65617365496e4f7574456c61737469633a66756e6374696f6e2874297b76617220653d312e37303135382c693d302c6e3d313b72657475726e20303d3d3d743f303a323d3d28742f3d2e35293f313a28697c7c28693d2e3435292c6e3c313f286e3d312c653d692f34293a653d692f28322a4d6174682e5049292a4d6174682e6173696e28312f6e292c743c313f6e2a4d6174682e706f7728322c31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292a2d2e353a6e2a4d6174682e706f7728322c2d31302a28742d3d3129292a4d6174682e73696e2828742d65292a28322a4d6174682e5049292f69292a2e352b31297d2c65617365496e4261636b3a66756e6374696f6e2874297b72657475726e20742a742a28322e37303135382a742d312e3730313538297d2c656173654f75744261636b3a66756e6374696f6e2874297b72657475726e28742d3d31292a742a28322e37303135382a742b312e3730313538292b317d2c65617365496e4f75744261636b3a66756e6374696f6e2874297b76617220653d312e37303135383b72657475726e28742f3d2e35293c313f742a742a2828312b28652a3d312e35323529292a742d65292a2e353a2e352a2828742d3d32292a742a2828312b28652a3d312e35323529292a742b65292b32297d2c65617365496e426f756e63653a66756e6374696f6e2874297b72657475726e20312d612e656173654f7574426f756e636528312d74297d2c656173654f7574426f756e63653a66756e6374696f6e2874297b72657475726e20743c312f322e37353f372e353632352a742a743a743c322f322e37353f372e353632352a28742d3d312e352f322e3735292a742b2e37353a743c322e352f322e37353f372e353632352a28742d3d322e32352f322e3735292a742b2e393337353a372e353632352a28742d3d322e3632352f322e3735292a742b2e3938343337357d2c65617365496e4f7574426f756e63653a66756e6374696f6e2874297b72657475726e20743c2e353f2e352a612e65617365496e426f756e636528322a74293a2e352a612e656173654f7574426f756e636528322a742d31292b2e357d7d3b652e6578706f7274733d7b656666656374733a617d2c6e2e656173696e67456666656374733d617d2c7b34323a34327d5d2c34343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283432293b652e6578706f7274733d7b746f4c696e654865696768743a66756e6374696f6e28742c65297b76617220693d2822222b74292e6d61746368282f5e286e6f726d616c7c285c642b283f3a5c2e5c642b293f292870787c656d7c25293f29242f293b69662821697c7c226e6f726d616c223d3d3d695b315d2972657475726e20312e322a653b73776974636828743d2b695b325d2c695b335d297b63617365227078223a72657475726e20743b636173652225223a742f3d3130307d72657475726e20652a747d2c746f50616464696e673a66756e6374696f6e2874297b76617220652c692c612c723b72657475726e206e2e69734f626a6563742874293f28653d2b742e746f707c7c302c693d2b742e72696768747c7c302c613d2b742e626f74746f6d7c7c302c723d2b742e6c6566747c7c30293a653d693d613d723d2b747c7c302c7b746f703a652c72696768743a692c626f74746f6d3a612c6c6566743a722c6865696768743a652b612c77696474683a722b697d7d2c7265736f6c76653a66756e6374696f6e28742c652c69297b76617220612c722c6f3b666f7228613d302c723d742e6c656e6774683b613c723b2b2b6129696628766f69642030213d3d286f3d745b615d29262628766f69642030213d3d6526262266756e6374696f6e223d3d747970656f66206f2626286f3d6f286529292c766f69642030213d3d6926266e2e69734172726179286f292626286f3d6f5b695d292c766f69642030213d3d6f292972657475726e206f7d7d7d2c7b34323a34327d5d2c34353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d74283432292c652e6578706f7274732e656173696e673d74283433292c652e6578706f7274732e63616e7661733d74283431292c652e6578706f7274732e6f7074696f6e733d74283434297d2c7b34313a34312c34323a34322c34333a34332c34343a34347d5d2c34363a5b66756e6374696f6e28742c652c69297b652e6578706f7274733d7b61637175697265436f6e746578743a66756e6374696f6e2874297b72657475726e20742626742e63616e766173262628743d742e63616e766173292c742626742e676574436f6e746578742822326422297c7c6e756c6c7d7d7d2c7b7d5d2c34373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d222463686172746a73222c723d2263686172746a732d222c6f3d722b2272656e6465722d6d6f6e69746f72222c733d722b2272656e6465722d616e696d6174696f6e222c6c3d5b22616e696d6174696f6e7374617274222c227765626b6974416e696d6174696f6e5374617274225d2c753d7b746f75636873746172743a226d6f757365646f776e222c746f7563686d6f76653a226d6f7573656d6f7665222c746f756368656e643a226d6f7573657570222c706f696e746572656e7465723a226d6f757365656e746572222c706f696e746572646f776e3a226d6f757365646f776e222c706f696e7465726d6f76653a226d6f7573656d6f7665222c706f696e74657275703a226d6f7573657570222c706f696e7465726c656176653a226d6f7573656f7574222c706f696e7465726f75743a226d6f7573656f7574227d3b66756e6374696f6e206428742c65297b76617220693d6e2e6765745374796c6528742c65292c613d692626692e6d61746368282f5e285c642b29285c2e5c642b293f7078242f293b72657475726e20613f4e756d62657228615b315d293a766f696420307d76617220683d212166756e6374696f6e28297b76617220743d21313b7472797b76617220653d4f626a6563742e646566696e6550726f7065727479287b7d2c2270617373697665222c7b6765743a66756e6374696f6e28297b743d21307d7d293b77696e646f772e6164644576656e744c697374656e6572282265222c6e756c6c2c65297d63617463682874297b7d72657475726e20747d282926267b706173736976653a21307d3b66756e6374696f6e206328742c652c69297b742e6164644576656e744c697374656e657228652c692c68297d66756e6374696f6e206628742c652c69297b742e72656d6f76654576656e744c697374656e657228652c692c68297d66756e6374696f6e206728742c652c692c6e2c61297b72657475726e7b747970653a742c63686172743a652c6e61746976653a617c7c6e756c6c2c783a766f69642030213d3d693f693a6e756c6c2c793a766f69642030213d3d6e3f6e3a6e756c6c7d7d66756e6374696f6e206d28742c652c69297b76617220752c642c682c662c6d2c702c762c792c623d745b615d7c7c28745b615d3d7b7d292c783d622e726573697a65723d66756e6374696f6e2874297b76617220653d646f63756d656e742e637265617465456c656d656e74282264697622292c693d722b2273697a652d6d6f6e69746f72222c6e3d22706f736974696f6e3a6162736f6c7574653b6c6566743a303b746f703a303b72696768743a303b626f74746f6d3a303b6f766572666c6f773a68696464656e3b706f696e7465722d6576656e74733a6e6f6e653b7669736962696c6974793a68696464656e3b7a2d696e6465783a2d313b223b652e7374796c652e637373546578743d6e2c652e636c6173734e616d653d692c652e696e6e657248544d4c3d273c64697620636c6173733d22272b692b272d657870616e6422207374796c653d22272b6e2b27223e3c646976207374796c653d22706f736974696f6e3a6162736f6c7574653b77696474683a3130303030303070783b6865696768743a3130303030303070783b6c6566743a303b746f703a30223e3c2f6469763e3c2f6469763e3c64697620636c6173733d22272b692b272d736872696e6b22207374796c653d22272b6e2b27223e3c646976207374796c653d22706f736974696f6e3a6162736f6c7574653b77696474683a323030253b6865696768743a323030253b6c6566743a303b20746f703a30223e3c2f6469763e3c2f6469763e273b76617220613d652e6368696c644e6f6465735b305d2c6f3d652e6368696c644e6f6465735b315d3b652e5f72657365743d66756e6374696f6e28297b612e7363726f6c6c4c6566743d3165362c612e7363726f6c6c546f703d3165362c6f2e7363726f6c6c4c6566743d3165362c6f2e7363726f6c6c546f703d3165367d3b76617220733d66756e6374696f6e28297b652e5f726573657428292c7428297d3b72657475726e206328612c227363726f6c6c222c732e62696e6428612c22657870616e642229292c63286f2c227363726f6c6c222c732e62696e64286f2c22736872696e6b2229292c657d2828753d66756e6374696f6e28297b696628622e726573697a65722972657475726e206528672822726573697a65222c6929297d2c683d21312c663d5b5d2c66756e6374696f6e28297b663d41727261792e70726f746f747970652e736c6963652e63616c6c28617267756d656e7473292c643d647c7c746869732c687c7c28683d21302c6e2e72657175657374416e696d4672616d652e63616c6c2877696e646f772c66756e6374696f6e28297b683d21312c752e6170706c7928642c66297d29297d29293b703d66756e6374696f6e28297b696628622e726573697a6572297b76617220653d742e706172656e744e6f64653b65262665213d3d782e706172656e744e6f64652626652e696e736572744265666f726528782c652e66697273744368696c64292c782e5f726573657428297d7d2c763d286d3d74295b615d7c7c286d5b615d3d7b7d292c793d762e72656e64657250726f78793d66756e6374696f6e2874297b742e616e696d6174696f6e4e616d653d3d3d7326267028297d2c6e2e65616368286c2c66756e6374696f6e2874297b63286d2c742c79297d292c762e7265666c6f773d21216d2e6f6666736574506172656e742c6d2e636c6173734c6973742e616464286f297d66756e6374696f6e20702874297b76617220652c692c722c733d745b615d7c7c7b7d2c753d732e726573697a65723b64656c65746520732e726573697a65722c693d28653d74295b615d7c7c7b7d2c28723d692e72656e64657250726f7879292626286e2e65616368286c2c66756e6374696f6e2874297b6628652c742c72297d292c64656c65746520692e72656e64657250726f7879292c652e636c6173734c6973742e72656d6f7665286f292c752626752e706172656e744e6f64652626752e706172656e744e6f64652e72656d6f76654368696c642875297d652e6578706f7274733d7b5f656e61626c65643a22756e646566696e656422213d747970656f662077696e646f77262622756e646566696e656422213d747970656f6620646f63756d656e742c696e697469616c697a653a66756e6374696f6e28297b76617220742c652c692c6e3d2266726f6d7b6f7061636974793a302e39397d746f7b6f7061636974793a317d223b653d22402d7765626b69742d6b65796672616d657320222b732b227b222b6e2b227d406b65796672616d657320222b732b227b222b6e2b227d2e222b6f2b227b2d7765626b69742d616e696d6174696f6e3a222b732b2220302e303031733b616e696d6174696f6e3a222b732b2220302e303031733b7d222c693d28743d74686973292e5f7374796c657c7c646f63756d656e742e637265617465456c656d656e7428227374796c6522292c742e5f7374796c657c7c28742e5f7374796c653d692c653d222f2a2043686172742e6a73202a2f5c6e222b652c692e736574417474726962757465282274797065222c22746578742f63737322292c646f63756d656e742e676574456c656d656e747342795461674e616d6528226865616422295b305d2e617070656e644368696c64286929292c692e617070656e644368696c6428646f63756d656e742e637265617465546578744e6f6465286529297d2c61637175697265436f6e746578743a66756e6374696f6e28742c65297b22737472696e67223d3d747970656f6620743f743d646f63756d656e742e676574456c656d656e74427949642874293a742e6c656e677468262628743d745b305d292c742626742e63616e766173262628743d742e63616e766173293b76617220693d742626742e676574436f6e746578742626742e676574436f6e746578742822326422293b72657475726e20692626692e63616e7661733d3d3d743f2866756e6374696f6e28742c65297b76617220693d742e7374796c652c6e3d742e676574417474726962757465282268656967687422292c723d742e6765744174747269627574652822776964746822293b696628745b615d3d7b696e697469616c3a7b6865696768743a6e2c77696474683a722c7374796c653a7b646973706c61793a692e646973706c61792c6865696768743a692e6865696768742c77696474683a692e77696474687d7d7d2c692e646973706c61793d692e646973706c61797c7c22626c6f636b222c6e756c6c3d3d3d727c7c22223d3d3d72297b766172206f3d6428742c22776964746822293b766f69642030213d3d6f262628742e77696474683d6f297d6966286e756c6c3d3d3d6e7c7c22223d3d3d6e2969662822223d3d3d742e7374796c652e68656967687429742e6865696768743d742e77696474682f28652e6f7074696f6e732e617370656374526174696f7c7c32293b656c73657b76617220733d6428742c2268656967687422293b766f69642030213d3d6f262628742e6865696768743d73297d7d28742c65292c69293a6e756c6c7d2c72656c65617365436f6e746578743a66756e6374696f6e2874297b76617220653d742e63616e7661733b696628655b615d297b76617220693d655b615d2e696e697469616c3b5b22686569676874222c227769647468225d2e666f72456163682866756e6374696f6e2874297b76617220613d695b745d3b6e2e69734e756c6c4f72556e6465662861293f652e72656d6f76654174747269627574652874293a652e73657441747472696275746528742c61297d292c6e2e6561636828692e7374796c657c7c7b7d2c66756e6374696f6e28742c69297b652e7374796c655b695d3d747d292c652e77696474683d652e77696474682c64656c65746520655b615d7d7d2c6164644576656e744c697374656e65723a66756e6374696f6e28742c652c69297b76617220723d742e63616e7661733b69662822726573697a6522213d3d65297b766172206f3d695b615d7c7c28695b615d3d7b7d293b6328722c652c286f2e70726f786965737c7c286f2e70726f786965733d7b7d29295b742e69642b225f222b655d3d66756e6374696f6e2865297b76617220612c722c6f2c733b692828723d742c6f3d755b28613d65292e747970655d7c7c612e747970652c733d6e2e67657452656c6174697665506f736974696f6e28612c72292c67286f2c722c732e782c732e792c612929297d297d656c7365206d28722c692c74297d2c72656d6f76654576656e744c697374656e65723a66756e6374696f6e28742c652c69297b766172206e3d742e63616e7661733b69662822726573697a6522213d3d65297b76617220723d2828695b615d7c7c7b7d292e70726f786965737c7c7b7d295b742e69642b225f222b655d3b72262666286e2c652c72297d656c73652070286e297d7d2c6e2e6164644576656e743d632c6e2e72656d6f76654576656e743d667d2c7b34353a34357d5d2c34383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d74283436292c723d74283437292c6f3d722e5f656e61626c65643f723a613b652e6578706f7274733d6e2e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b7d2c61637175697265436f6e746578743a66756e6374696f6e28297b7d2c72656c65617365436f6e746578743a66756e6374696f6e28297b7d2c6164644576656e744c697374656e65723a66756e6374696f6e28297b7d2c72656d6f76654576656e744c697374656e65723a66756e6374696f6e28297b7d7d2c6f297d2c7b34353a34352c34363a34362c34373a34377d5d2c34393a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d7b7d2c652e6578706f7274732e66696c6c65723d74283530292c652e6578706f7274732e6c6567656e643d74283531292c652e6578706f7274732e7469746c653d74283532297d2c7b35303a35302c35313a35312c35323a35327d5d2c35303a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283430292c723d74283435293b6e2e5f7365742822676c6f62616c222c7b706c7567696e733a7b66696c6c65723a7b70726f7061676174653a21307d7d7d293b766172206f3d7b646174617365743a66756e6374696f6e2874297b76617220653d742e66696c6c2c693d742e63686172742c6e3d692e676574446174617365744d6574612865292c613d6e2626692e69734461746173657456697369626c6528652926266e2e646174617365742e5f6368696c6472656e7c7c5b5d2c723d612e6c656e6774687c7c303b72657475726e20723f66756e6374696f6e28742c65297b72657475726e20653c722626615b655d2e5f766965777c7c6e756c6c7d3a6e756c6c7d2c626f756e646172793a66756e6374696f6e2874297b76617220653d742e626f756e646172792c693d653f652e783a6e756c6c2c6e3d653f652e793a6e756c6c3b72657475726e2066756e6374696f6e2874297b72657475726e7b783a6e756c6c3d3d3d693f742e783a692c793a6e756c6c3d3d3d6e3f742e793a6e7d7d7d7d3b66756e6374696f6e207328742c652c69297b766172206e2c613d742e5f6d6f64656c7c7c7b7d2c723d612e66696c6c3b696628766f696420303d3d3d72262628723d2121612e6261636b67726f756e64436f6c6f72292c21313d3d3d727c7c6e756c6c3d3d3d722972657475726e21313b69662821303d3d3d722972657475726e226f726967696e223b6966286e3d7061727365466c6f617428722c3130292c697346696e697465286e2926264d6174682e666c6f6f72286e293d3d3d6e2972657475726e222d22213d3d725b305d2626222b22213d3d725b305d7c7c286e3d652b6e292c21286e3d3d3d657c7c6e3c307c7c6e3e3d692926266e3b7377697463682872297b6361736522626f74746f6d223a72657475726e227374617274223b6361736522746f70223a72657475726e22656e64223b63617365227a65726f223a72657475726e226f726967696e223b63617365226f726967696e223a63617365227374617274223a6361736522656e64223a72657475726e20723b64656661756c743a72657475726e21317d7d66756e6374696f6e206c2874297b76617220652c693d742e656c2e5f6d6f64656c7c7c7b7d2c6e3d742e656c2e5f7363616c657c7c7b7d2c613d742e66696c6c2c723d6e756c6c3b696628697346696e6974652861292972657475726e206e756c6c3b696628227374617274223d3d3d613f723d766f696420303d3d3d692e7363616c65426f74746f6d3f6e2e626f74746f6d3a692e7363616c65426f74746f6d3a22656e64223d3d3d613f723d766f696420303d3d3d692e7363616c65546f703f6e2e746f703a692e7363616c65546f703a766f69642030213d3d692e7363616c655a65726f3f723d692e7363616c655a65726f3a6e2e67657442617365506f736974696f6e3f723d6e2e67657442617365506f736974696f6e28293a6e2e67657442617365506978656c262628723d6e2e67657442617365506978656c2829292c6e756c6c213d72297b696628766f69642030213d3d722e782626766f69642030213d3d722e792972657475726e20723b696628226e756d626572223d3d747970656f6620722626697346696e6974652872292972657475726e7b783a28653d6e2e6973486f72697a6f6e74616c2829293f723a6e756c6c2c793a653f6e756c6c3a727d7d72657475726e206e756c6c7d66756e6374696f6e207528742c652c69297b766172206e2c613d745b655d2e66696c6c2c723d5b655d3b69662821692972657475726e20613b666f72283b2131213d3d6126262d313d3d3d722e696e6465784f662861293b297b69662821697346696e6974652861292972657475726e20613b69662821286e3d745b615d292972657475726e21313b6966286e2e76697369626c652972657475726e20613b722e707573682861292c613d6e2e66696c6c7d72657475726e21317d66756e6374696f6e20642874297b72657475726e2074262621742e736b69707d66756e6374696f6e206828742c652c692c6e2c61297b766172206f3b6966286e262661297b666f7228742e6d6f7665546f28655b305d2e782c655b305d2e79292c6f3d313b6f3c6e3b2b2b6f29722e63616e7661732e6c696e65546f28742c655b6f2d315d2c655b6f5d293b666f7228742e6c696e65546f28695b612d315d2e782c695b612d315d2e79292c6f3d612d313b6f3e303b2d2d6f29722e63616e7661732e6c696e65546f28742c695b6f5d2c695b6f2d315d2c2130297d7d652e6578706f7274733d7b69643a2266696c6c6572222c616674657244617461736574735570646174653a66756e6374696f6e28742c65297b76617220692c6e2c722c642c682c632c662c673d28742e646174612e64617461736574737c7c5b5d292e6c656e6774682c6d3d652e70726f7061676174652c703d5b5d3b666f72286e3d303b6e3c673b2b2b6e29643d6e756c6c2c28723d28693d742e676574446174617365744d657461286e29292e64617461736574292626722e5f6d6f64656c26267220696e7374616e63656f6620612e4c696e65262628643d7b76697369626c653a742e69734461746173657456697369626c65286e292c66696c6c3a7328722c6e2c67292c63686172743a742c656c3a727d292c692e2466696c6c65723d642c702e707573682864293b666f72286e3d303b6e3c673b2b2b6e2928643d705b6e5d29262628642e66696c6c3d7528702c6e2c6d292c642e626f756e646172793d6c2864292c642e6d61707065723d28766f696420302c663d766f696420302c633d28683d64292e66696c6c2c663d2264617461736574222c21313d3d3d633f6e756c6c3a28697346696e6974652863297c7c28663d22626f756e6461727922292c6f5b665d2868292929297d2c6265666f726544617461736574447261773a66756e6374696f6e28742c65297b76617220693d652e6d6574612e2466696c6c65723b69662869297b76617220613d742e6374782c6f3d692e656c2c733d6f2e5f766965772c6c3d6f2e5f6368696c6472656e7c7c5b5d2c753d692e6d61707065722c633d732e6261636b67726f756e64436f6c6f727c7c6e2e676c6f62616c2e64656661756c74436f6c6f723b7526266326266c2e6c656e677468262628722e63616e7661732e636c69704172656128612c742e636861727441726561292c66756e6374696f6e28742c652c692c6e2c612c72297b766172206f2c732c6c2c752c632c662c672c6d3d652e6c656e6774682c703d6e2e7370616e476170732c763d5b5d2c793d5b5d2c623d302c783d303b666f7228742e626567696e5061746828292c6f3d302c733d6d2b2121723b6f3c733b2b2b6f29633d6928753d655b6c3d6f256d5d2e5f766965772c6c2c6e292c663d642875292c673d642863292c662626673f28623d762e707573682875292c783d792e70757368286329293a62262678262628703f28662626762e707573682875292c672626792e70757368286329293a286828742c762c792c622c78292c623d783d302c763d5b5d2c793d5b5d29293b6828742c762c792c622c78292c742e636c6f73655061746828292c742e66696c6c5374796c653d612c742e66696c6c28297d28612c6c2c752c732c632c6f2e5f6c6f6f70292c722e63616e7661732e756e636c697041726561286129297d7d7d7d2c7b32353a32352c34303a34302c34353a34357d5d2c35313a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283330292c733d722e6e6f6f703b66756e6374696f6e206c28742c65297b72657475726e20742e757365506f696e745374796c653f652a4d6174682e53515254323a742e626f7857696474687d6e2e5f7365742822676c6f62616c222c7b6c6567656e643a7b646973706c61793a21302c706f736974696f6e3a22746f70222c66756c6c57696474683a21302c726576657273653a21312c7765696768743a3165332c6f6e436c69636b3a66756e6374696f6e28742c65297b76617220693d652e64617461736574496e6465782c6e3d746869732e63686172742c613d6e2e676574446174617365744d6574612869293b612e68696464656e3d6e756c6c3d3d3d612e68696464656e3f216e2e646174612e64617461736574735b695d2e68696464656e3a6e756c6c2c6e2e75706461746528297d2c6f6e486f7665723a6e756c6c2c6c6162656c733a7b626f7857696474683a34302c70616464696e673a31302c67656e65726174654c6162656c733a66756e6374696f6e2874297b76617220653d742e646174613b72657475726e20722e6973417272617928652e6461746173657473293f652e64617461736574732e6d61702866756e6374696f6e28652c69297b72657475726e7b746578743a652e6c6162656c2c66696c6c5374796c653a722e6973417272617928652e6261636b67726f756e64436f6c6f72293f652e6261636b67726f756e64436f6c6f725b305d3a652e6261636b67726f756e64436f6c6f722c68696464656e3a21742e69734461746173657456697369626c652869292c6c696e654361703a652e626f726465724361705374796c652c6c696e65446173683a652e626f72646572446173682c6c696e65446173684f66667365743a652e626f72646572446173684f66667365742c6c696e654a6f696e3a652e626f726465724a6f696e5374796c652c6c696e6557696474683a652e626f7264657257696474682c7374726f6b655374796c653a652e626f72646572436f6c6f722c706f696e745374796c653a652e706f696e745374796c652c64617461736574496e6465783a697d7d2c74686973293a5b5d7d7d7d2c6c6567656e6443616c6c6261636b3a66756e6374696f6e2874297b76617220653d5b5d3b652e7075736828273c756c20636c6173733d22272b742e69642b272d6c6567656e64223e27293b666f722876617220693d303b693c742e646174612e64617461736574732e6c656e6774683b692b2b29652e7075736828273c6c693e3c7370616e207374796c653d226261636b67726f756e642d636f6c6f723a272b742e646174612e64617461736574735b695d2e6261636b67726f756e64436f6c6f722b27223e3c2f7370616e3e27292c742e646174612e64617461736574735b695d2e6c6162656c2626652e7075736828742e646174612e64617461736574735b695d2e6c6162656c292c652e7075736828223c2f6c693e22293b72657475726e20652e7075736828223c2f756c3e22292c652e6a6f696e282222297d7d293b76617220753d612e657874656e64287b696e697469616c697a653a66756e6374696f6e2874297b722e657874656e6428746869732c74292c746869732e6c6567656e64486974426f7865733d5b5d2c746869732e646f7567686e75744d6f64653d21317d2c6265666f72655570646174653a732c7570646174653a66756e6374696f6e28742c652c69297b766172206e3d746869733b72657475726e206e2e6265666f726555706461746528292c6e2e6d617857696474683d742c6e2e6d61784865696768743d652c6e2e6d617267696e733d692c6e2e6265666f726553657444696d656e73696f6e7328292c6e2e73657444696d656e73696f6e7328292c6e2e616674657253657444696d656e73696f6e7328292c6e2e6265666f72654275696c644c6162656c7328292c6e2e6275696c644c6162656c7328292c6e2e61667465724275696c644c6162656c7328292c6e2e6265666f726546697428292c6e2e66697428292c6e2e616674657246697428292c6e2e616674657255706461746528292c6e2e6d696e53697a657d2c61667465725570646174653a732c6265666f726553657444696d656e73696f6e733a732c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d302c742e6d696e53697a653d7b77696474683a302c6865696768743a307d7d2c616674657253657444696d656e73696f6e733a732c6265666f72654275696c644c6162656c733a732c6275696c644c6162656c733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e6c6162656c737c7c7b7d2c693d722e63616c6c6261636b28652e67656e65726174654c6162656c732c5b742e63686172745d2c74297c7c5b5d3b652e66696c746572262628693d692e66696c7465722866756e6374696f6e2869297b72657475726e20652e66696c74657228692c742e63686172742e64617461297d29292c742e6f7074696f6e732e726576657273652626692e7265766572736528292c742e6c6567656e644974656d733d697d2c61667465724275696c644c6162656c733a732c6265666f72654669743a732c6669743a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d652e6c6162656c732c613d652e646973706c61792c6f3d742e6374782c733d6e2e676c6f62616c2c753d722e76616c75654f7244656661756c742c643d7528692e666f6e7453697a652c732e64656661756c74466f6e7453697a65292c683d7528692e666f6e745374796c652c732e64656661756c74466f6e745374796c65292c633d7528692e666f6e7446616d696c792c732e64656661756c74466f6e7446616d696c79292c663d722e666f6e74537472696e6728642c682c63292c673d742e6c6567656e64486974426f7865733d5b5d2c6d3d742e6d696e53697a652c703d742e6973486f72697a6f6e74616c28293b696628703f286d2e77696474683d742e6d617857696474682c6d2e6865696768743d613f31303a30293a286d2e77696474683d613f31303a302c6d2e6865696768743d742e6d6178486569676874292c61296966286f2e666f6e743d662c70297b76617220763d742e6c696e655769647468733d5b305d2c793d742e6c6567656e644974656d732e6c656e6774683f642b692e70616464696e673a303b6f2e74657874416c69676e3d226c656674222c6f2e74657874426173656c696e653d22746f70222c722e6561636828742e6c6567656e644974656d732c66756e6374696f6e28652c6e297b76617220613d6c28692c64292b642f322b6f2e6d6561737572655465787428652e74657874292e77696474683b765b762e6c656e6774682d315d2b612b692e70616464696e673e3d742e7769647468262628792b3d642b692e70616464696e672c765b762e6c656e6774685d3d742e6c656674292c675b6e5d3d7b6c6566743a302c746f703a302c77696474683a612c6865696768743a647d2c765b762e6c656e6774682d315d2b3d612b692e70616464696e677d292c6d2e6865696768742b3d797d656c73657b76617220623d692e70616464696e672c783d742e636f6c756d6e5769647468733d5b5d2c5f3d692e70616464696e672c6b3d302c773d302c4d3d642b623b722e6561636828742e6c6567656e644974656d732c66756e6374696f6e28742c65297b766172206e3d6c28692c64292b642f322b6f2e6d6561737572655465787428742e74657874292e77696474683b772b4d3e6d2e6865696768742626285f2b3d6b2b692e70616464696e672c782e70757368286b292c6b3d302c773d30292c6b3d4d6174682e6d6178286b2c6e292c772b3d4d2c675b655d3d7b6c6566743a302c746f703a302c77696474683a6e2c6865696768743a647d7d292c5f2b3d6b2c782e70757368286b292c6d2e77696474682b3d5f7d742e77696474683d6d2e77696474682c742e6865696768743d6d2e6865696768747d2c61667465724669743a732c6973486f72697a6f6e74616c3a66756e6374696f6e28297b72657475726e22746f70223d3d3d746869732e6f7074696f6e732e706f736974696f6e7c7c22626f74746f6d223d3d3d746869732e6f7074696f6e732e706f736974696f6e7d2c647261773a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d652e6c6162656c732c613d6e2e676c6f62616c2c6f3d612e656c656d656e74732e6c696e652c733d742e77696474682c753d742e6c696e655769647468733b696628652e646973706c6179297b76617220642c683d742e6374782c633d722e76616c75654f7244656661756c742c663d6328692e666f6e74436f6c6f722c612e64656661756c74466f6e74436f6c6f72292c673d6328692e666f6e7453697a652c612e64656661756c74466f6e7453697a65292c6d3d6328692e666f6e745374796c652c612e64656661756c74466f6e745374796c65292c703d6328692e666f6e7446616d696c792c612e64656661756c74466f6e7446616d696c79292c763d722e666f6e74537472696e6728672c6d2c70293b682e74657874416c69676e3d226c656674222c682e74657874426173656c696e653d226d6964646c65222c682e6c696e6557696474683d2e352c682e7374726f6b655374796c653d662c682e66696c6c5374796c653d662c682e666f6e743d763b76617220793d6c28692c67292c623d742e6c6567656e64486974426f7865732c783d742e6973486f72697a6f6e74616c28293b643d783f7b783a742e6c6566742b28732d755b305d292f322c793a742e746f702b692e70616464696e672c6c696e653a307d3a7b783a742e6c6566742b692e70616464696e672c793a742e746f702b692e70616464696e672c6c696e653a307d3b766172205f3d672b692e70616464696e673b722e6561636828742e6c6567656e644974656d732c66756e6374696f6e286e2c6c297b76617220662c6d2c702c762c6b2c773d682e6d65617375726554657874286e2e74657874292e77696474682c4d3d792b672f322b772c533d642e782c443d642e793b783f532b4d3e3d73262628443d642e792b3d5f2c642e6c696e652b2b2c533d642e783d742e6c6566742b28732d755b642e6c696e655d292f32293a442b5f3e742e626f74746f6d262628533d642e783d532b742e636f6c756d6e5769647468735b642e6c696e655d2b692e70616464696e672c443d642e793d742e746f702b692e70616464696e672c642e6c696e652b2b292c66756e6374696f6e28742c692c6e297b696628212869734e614e2879297c7c793c3d3029297b682e7361766528292c682e66696c6c5374796c653d63286e2e66696c6c5374796c652c612e64656661756c74436f6c6f72292c682e6c696e654361703d63286e2e6c696e654361702c6f2e626f726465724361705374796c65292c682e6c696e65446173684f66667365743d63286e2e6c696e65446173684f66667365742c6f2e626f72646572446173684f6666736574292c682e6c696e654a6f696e3d63286e2e6c696e654a6f696e2c6f2e626f726465724a6f696e5374796c65292c682e6c696e6557696474683d63286e2e6c696e6557696474682c6f2e626f726465725769647468292c682e7374726f6b655374796c653d63286e2e7374726f6b655374796c652c612e64656661756c74436f6c6f72293b76617220733d303d3d3d63286e2e6c696e6557696474682c6f2e626f726465725769647468293b696628682e7365744c696e65446173682626682e7365744c696e65446173682863286e2e6c696e65446173682c6f2e626f726465724461736829292c652e6c6162656c732626652e6c6162656c732e757365506f696e745374796c65297b766172206c3d672a4d6174682e53515254322f322c753d6c2f4d6174682e53515254322c643d742b752c663d692b753b722e63616e7661732e64726177506f696e7428682c6e2e706f696e745374796c652c6c2c642c66297d656c736520737c7c682e7374726f6b655265637428742c692c792c67292c682e66696c6c5265637428742c692c792c67293b682e726573746f726528297d7d28532c442c6e292c625b6c5d2e6c6566743d532c625b6c5d2e746f703d442c663d6e2c6d3d772c763d792b28703d672f32292b532c6b3d442b702c682e66696c6c5465787428662e746578742c762c6b292c662e68696464656e262628682e626567696e5061746828292c682e6c696e6557696474683d322c682e6d6f7665546f28762c6b292c682e6c696e65546f28762b6d2c6b292c682e7374726f6b652829292c783f642e782b3d4d2b692e70616464696e673a642e792b3d5f7d297d7d2c68616e646c654576656e743a66756e6374696f6e2874297b76617220653d746869732c693d652e6f7074696f6e732c6e3d226d6f7573657570223d3d3d742e747970653f22636c69636b223a742e747970652c613d21313b696628226d6f7573656d6f7665223d3d3d6e297b69662821692e6f6e486f7665722972657475726e7d656c73657b69662822636c69636b22213d3d6e2972657475726e3b69662821692e6f6e436c69636b2972657475726e7d76617220723d742e782c6f3d742e793b696628723e3d652e6c6566742626723c3d652e726967687426266f3e3d652e746f7026266f3c3d652e626f74746f6d29666f722876617220733d652e6c6567656e64486974426f7865732c6c3d303b6c3c732e6c656e6774683b2b2b6c297b76617220753d735b6c5d3b696628723e3d752e6c6566742626723c3d752e6c6566742b752e776964746826266f3e3d752e746f7026266f3c3d752e746f702b752e686569676874297b69662822636c69636b223d3d3d6e297b692e6f6e436c69636b2e63616c6c28652c742e6e61746976652c652e6c6567656e644974656d735b6c5d292c613d21303b627265616b7d696628226d6f7573656d6f7665223d3d3d6e297b692e6f6e486f7665722e63616c6c28652c742e6e61746976652c652e6c6567656e644974656d735b6c5d292c613d21303b627265616b7d7d7d72657475726e20617d7d293b66756e6374696f6e206428742c65297b76617220693d6e65772075287b6374783a742e6374782c6f7074696f6e733a652c63686172743a747d293b6f2e636f6e66696775726528742c692c65292c6f2e616464426f7828742c69292c742e6c6567656e643d697d652e6578706f7274733d7b69643a226c6567656e64222c5f656c656d656e743a752c6265666f7265496e69743a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e6c6567656e643b6526266428742c65297d2c6265666f72655570646174653a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e6c6567656e642c693d742e6c6567656e643b653f28722e6d65726765496628652c6e2e676c6f62616c2e6c6567656e64292c693f286f2e636f6e66696775726528742c692c65292c692e6f7074696f6e733d65293a6428742c6529293a692626286f2e72656d6f7665426f7828742c69292c64656c65746520742e6c6567656e64297d2c61667465724576656e743a66756e6374696f6e28742c65297b76617220693d742e6c6567656e643b692626692e68616e646c654576656e742865297d7d7d2c7b32353a32352c32363a32362c33303a33302c34353a34357d5d2c35323a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283236292c723d74283435292c6f3d74283330292c733d722e6e6f6f703b6e2e5f7365742822676c6f62616c222c7b7469746c653a7b646973706c61793a21312c666f6e745374796c653a22626f6c64222c66756c6c57696474683a21302c6c696e654865696768743a312e322c70616464696e673a31302c706f736974696f6e3a22746f70222c746578743a22222c7765696768743a3265337d7d293b766172206c3d612e657874656e64287b696e697469616c697a653a66756e6374696f6e2874297b722e657874656e6428746869732c74292c746869732e6c6567656e64486974426f7865733d5b5d7d2c6265666f72655570646174653a732c7570646174653a66756e6374696f6e28742c652c69297b766172206e3d746869733b72657475726e206e2e6265666f726555706461746528292c6e2e6d617857696474683d742c6e2e6d61784865696768743d652c6e2e6d617267696e733d692c6e2e6265666f726553657444696d656e73696f6e7328292c6e2e73657444696d656e73696f6e7328292c6e2e616674657253657444696d656e73696f6e7328292c6e2e6265666f72654275696c644c6162656c7328292c6e2e6275696c644c6162656c7328292c6e2e61667465724275696c644c6162656c7328292c6e2e6265666f726546697428292c6e2e66697428292c6e2e616674657246697428292c6e2e616674657255706461746528292c6e2e6d696e53697a657d2c61667465725570646174653a732c6265666f726553657444696d656e73696f6e733a732c73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869733b742e6973486f72697a6f6e74616c28293f28742e77696474683d742e6d617857696474682c742e6c6566743d302c742e72696768743d742e7769647468293a28742e6865696768743d742e6d61784865696768742c742e746f703d302c742e626f74746f6d3d742e686569676874292c742e70616464696e674c6566743d302c742e70616464696e67546f703d302c742e70616464696e6752696768743d302c742e70616464696e67426f74746f6d3d302c742e6d696e53697a653d7b77696474683a302c6865696768743a307d7d2c616674657253657444696d656e73696f6e733a732c6265666f72654275696c644c6162656c733a732c6275696c644c6162656c733a732c61667465724275696c644c6162656c733a732c6265666f72654669743a732c6669743a66756e6374696f6e28297b76617220743d722e76616c75654f7244656661756c742c653d746869732e6f7074696f6e732c693d652e646973706c61792c613d7428652e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a65292c6f3d746869732e6d696e53697a652c733d722e6973417272617928652e74657874293f652e746578742e6c656e6774683a312c6c3d722e6f7074696f6e732e746f4c696e6548656967687428652e6c696e654865696768742c61292c753d693f732a6c2b322a652e70616464696e673a303b746869732e6973486f72697a6f6e74616c28293f286f2e77696474683d746869732e6d617857696474682c6f2e6865696768743d75293a286f2e77696474683d752c6f2e6865696768743d746869732e6d6178486569676874292c746869732e77696474683d6f2e77696474682c746869732e6865696768743d6f2e6865696768747d2c61667465724669743a732c6973486f72697a6f6e74616c3a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e706f736974696f6e3b72657475726e22746f70223d3d3d747c7c22626f74746f6d223d3d3d747d2c647261773a66756e6374696f6e28297b76617220743d746869732e6374782c653d722e76616c75654f7244656661756c742c693d746869732e6f7074696f6e732c613d6e2e676c6f62616c3b696628692e646973706c6179297b766172206f2c732c6c2c753d6528692e666f6e7453697a652c612e64656661756c74466f6e7453697a65292c643d6528692e666f6e745374796c652c612e64656661756c74466f6e745374796c65292c683d6528692e666f6e7446616d696c792c612e64656661756c74466f6e7446616d696c79292c633d722e666f6e74537472696e6728752c642c68292c663d722e6f7074696f6e732e746f4c696e6548656967687428692e6c696e654865696768742c75292c673d662f322b692e70616464696e672c6d3d302c703d746869732e746f702c763d746869732e6c6566742c793d746869732e626f74746f6d2c623d746869732e72696768743b742e66696c6c5374796c653d6528692e666f6e74436f6c6f722c612e64656661756c74466f6e74436f6c6f72292c742e666f6e743d632c746869732e6973486f72697a6f6e74616c28293f28733d762b28622d76292f322c6c3d702b672c6f3d622d76293a28733d226c656674223d3d3d692e706f736974696f6e3f762b673a622d672c6c3d702b28792d70292f322c6f3d792d702c6d3d4d6174682e50492a28226c656674223d3d3d692e706f736974696f6e3f2d2e353a2e3529292c742e7361766528292c742e7472616e736c61746528732c6c292c742e726f74617465286d292c742e74657874416c69676e3d2263656e746572222c742e74657874426173656c696e653d226d6964646c65223b76617220783d692e746578743b696628722e6973417272617928782929666f7228766172205f3d302c6b3d303b6b3c782e6c656e6774683b2b2b6b29742e66696c6c5465787428785b6b5d2c302c5f2c6f292c5f2b3d663b656c736520742e66696c6c5465787428782c302c302c6f293b742e726573746f726528297d7d7d293b66756e6374696f6e207528742c65297b76617220693d6e6577206c287b6374783a742e6374782c6f7074696f6e733a652c63686172743a747d293b6f2e636f6e66696775726528742c692c65292c6f2e616464426f7828742c69292c742e7469746c65426c6f636b3d697d652e6578706f7274733d7b69643a227469746c65222c5f656c656d656e743a6c2c6265666f7265496e69743a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e7469746c653b6526267528742c65297d2c6265666f72655570646174653a66756e6374696f6e2874297b76617220653d742e6f7074696f6e732e7469746c652c693d742e7469746c65426c6f636b3b653f28722e6d65726765496628652c6e2e676c6f62616c2e7469746c65292c693f286f2e636f6e66696775726528742c692c65292c692e6f7074696f6e733d65293a7528742c6529293a692626286f2e72656d6f7665426f7828742c69292c64656c65746520742e7469746c65426c6f636b297d7d7d2c7b32353a32352c32363a32362c33303a33302c34353a34357d5d2c35333a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b652e6578706f7274733d66756e6374696f6e2874297b76617220653d742e5363616c652e657874656e64287b6765744c6162656c733a66756e6374696f6e28297b76617220743d746869732e63686172742e646174613b72657475726e20746869732e6f7074696f6e732e6c6162656c737c7c28746869732e6973486f72697a6f6e74616c28293f742e784c6162656c733a742e794c6162656c73297c7c742e6c6162656c737d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220742c653d746869732c693d652e6765744c6162656c7328293b652e6d696e496e6465783d302c652e6d6178496e6465783d692e6c656e6774682d312c766f69642030213d3d652e6f7074696f6e732e7469636b732e6d696e262628743d692e696e6465784f6628652e6f7074696f6e732e7469636b732e6d696e292c652e6d696e496e6465783d2d31213d3d743f743a652e6d696e496e646578292c766f69642030213d3d652e6f7074696f6e732e7469636b732e6d6178262628743d692e696e6465784f6628652e6f7074696f6e732e7469636b732e6d6178292c652e6d6178496e6465783d2d31213d3d743f743a652e6d6178496e646578292c652e6d696e3d695b652e6d696e496e6465785d2c652e6d61783d695b652e6d6178496e6465785d7d2c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732e6765744c6162656c7328293b746869732e7469636b733d303d3d3d746869732e6d696e496e6465782626746869732e6d6178496e6465783d3d3d742e6c656e6774682d313f743a742e736c69636528746869732e6d696e496e6465782c746869732e6d6178496e6465782b31297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612c6e3d746869732e6973486f72697a6f6e74616c28293b72657475726e20692e794c6162656c732626216e3f746869732e676574526967687456616c756528692e64617461736574735b655d2e646174615b745d293a746869732e7469636b735b742d746869732e6d696e496e6465785d7d2c676574506978656c466f7256616c75653a66756e6374696f6e28742c65297b76617220692c6e3d746869732c613d6e2e6f7074696f6e732e6f66667365742c723d4d6174682e6d6178286e2e6d6178496e6465782b312d6e2e6d696e496e6465782d28613f303a31292c31293b6966286e756c6c213d74262628693d6e2e6973486f72697a6f6e74616c28293f742e783a742e79292c766f69642030213d3d697c7c766f69642030213d3d74262669734e614e286529297b743d697c7c743b766172206f3d6e2e6765744c6162656c7328292e696e6465784f662874293b653d2d31213d3d6f3f6f3a657d6966286e2e6973486f72697a6f6e74616c2829297b76617220733d6e2e77696474682f722c6c3d732a28652d6e2e6d696e496e646578293b72657475726e20612626286c2b3d732f32292c6e2e6c6566742b4d6174682e726f756e64286c297d76617220753d6e2e6865696768742f722c643d752a28652d6e2e6d696e496e646578293b72657475726e2061262628642b3d752f32292c6e2e746f702b4d6174682e726f756e642864297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b735b745d2c742b746869732e6d696e496e6465782c6e756c6c297d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e6f66667365742c693d4d6174682e6d617828746869732e5f7469636b732e6c656e6774682d28653f303a31292c31292c6e3d746869732e6973486f72697a6f6e74616c28292c613d286e3f746869732e77696474683a746869732e686569676874292f693b72657475726e20742d3d6e3f746869732e6c6566743a746869732e746f702c65262628742d3d612f32292c28743c3d303f303a4d6174682e726f756e6428742f6129292b746869732e6d696e496e6465787d2c67657442617365506978656c3a66756e6374696f6e28297b72657475726e20746869732e626f74746f6d7d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282263617465676f7279222c652c7b706f736974696f6e3a22626f74746f6d227d297d7d2c7b7d5d2c35343a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d7b706f736974696f6e3a226c656674222c7469636b733a7b63616c6c6261636b3a722e666f726d6174746572732e6c696e6561727d7d2c693d742e4c696e6561725363616c65426173652e657874656e64287b64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d742e63686172742c6e3d692e646174612e64617461736574732c723d742e6973486f72697a6f6e74616c28293b66756e6374696f6e206f2865297b72657475726e20723f652e784178697349443d3d3d742e69643a652e794178697349443d3d3d742e69647d742e6d696e3d6e756c6c2c742e6d61783d6e756c6c3b76617220733d652e737461636b65643b696628766f696420303d3d3d732626612e65616368286e2c66756e6374696f6e28742c65297b6966282173297b766172206e3d692e676574446174617365744d6574612865293b692e69734461746173657456697369626c6528652926266f286e292626766f69642030213d3d6e2e737461636b262628733d2130297d7d292c652e737461636b65647c7c73297b766172206c3d7b7d3b612e65616368286e2c66756e6374696f6e286e2c72297b76617220733d692e676574446174617365744d6574612872292c753d5b732e747970652c766f696420303d3d3d652e737461636b65642626766f696420303d3d3d732e737461636b3f723a22222c732e737461636b5d2e6a6f696e28222e22293b766f696420303d3d3d6c5b755d2626286c5b755d3d7b706f73697469766556616c7565733a5b5d2c6e6567617469766556616c7565733a5b5d7d293b76617220643d6c5b755d2e706f73697469766556616c7565732c683d6c5b755d2e6e6567617469766556616c7565733b692e69734461746173657456697369626c6528722926266f2873292626612e65616368286e2e646174612c66756e6374696f6e28692c6e297b76617220613d2b742e676574526967687456616c75652869293b69734e614e2861297c7c732e646174615b6e5d2e68696464656e7c7c28645b6e5d3d645b6e5d7c7c302c685b6e5d3d685b6e5d7c7c302c652e72656c6174697665506f696e74733f645b6e5d3d3130303a613c303f685b6e5d2b3d613a645b6e5d2b3d61297d297d292c612e65616368286c2c66756e6374696f6e2865297b76617220693d652e706f73697469766556616c7565732e636f6e63617428652e6e6567617469766556616c756573292c6e3d612e6d696e2869292c723d612e6d61782869293b742e6d696e3d6e756c6c3d3d3d742e6d696e3f6e3a4d6174682e6d696e28742e6d696e2c6e292c742e6d61783d6e756c6c3d3d3d742e6d61783f723a4d6174682e6d617828742e6d61782c72297d297d656c736520612e65616368286e2c66756e6374696f6e28652c6e297b76617220723d692e676574446174617365744d657461286e293b692e69734461746173657456697369626c65286e2926266f2872292626612e6561636828652e646174612c66756e6374696f6e28652c69297b766172206e3d2b742e676574526967687456616c75652865293b69734e614e286e297c7c722e646174615b695d2e68696464656e7c7c286e756c6c3d3d3d742e6d696e3f742e6d696e3d6e3a6e3c742e6d696e262628742e6d696e3d6e292c6e756c6c3d3d3d742e6d61783f742e6d61783d6e3a6e3e742e6d6178262628742e6d61783d6e29297d297d293b742e6d696e3d697346696e69746528742e6d696e2926262169734e614e28742e6d696e293f742e6d696e3a302c742e6d61783d697346696e69746528742e6d61782926262169734e614e28742e6d6178293f742e6d61783a312c746869732e68616e646c655469636b52616e67654f7074696f6e7328297d2c6765745469636b4c696d69743a66756e6374696f6e28297b76617220742c653d746869732e6f7074696f6e732e7469636b733b696628746869732e6973486f72697a6f6e74616c282929743d4d6174682e6d696e28652e6d61785469636b734c696d69743f652e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e77696474682f353029293b656c73657b76617220693d612e76616c75654f7244656661756c7428652e666f6e7453697a652c6e2e676c6f62616c2e64656661756c74466f6e7453697a65293b743d4d6174682e6d696e28652e6d61785469636b734c696d69743f652e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e6865696768742f28322a692929297d72657475726e20747d2c68616e646c65446972656374696f6e616c4368616e6765733a66756e6374696f6e28297b746869732e6973486f72697a6f6e74616c28297c7c746869732e7469636b732e7265766572736528297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c676574506978656c466f7256616c75653a66756e6374696f6e2874297b76617220653d746869732e73746172742c693d2b746869732e676574526967687456616c75652874292c6e3d746869732e656e642d653b72657475726e20746869732e6973486f72697a6f6e74616c28293f746869732e6c6566742b746869732e77696474682f6e2a28692d65293a746869732e626f74746f6d2d746869732e6865696768742f6e2a28692d65297d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732e6973486f72697a6f6e74616c28292c693d653f746869732e77696474683a746869732e6865696768742c6e3d28653f742d746869732e6c6566743a746869732e626f74746f6d2d74292f693b72657475726e20746869732e73746172742b28746869732e656e642d746869732e7374617274292a6e7d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b7341734e756d626572735b745d297d7d293b742e7363616c65536572766963652e72656769737465725363616c655479706528226c696e656172222c692c65297d7d2c7b32353a32352c33343a33342c34353a34357d5d2c35353a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d6e2e6e6f6f703b742e4c696e6561725363616c65426173653d742e5363616c652e657874656e64287b676574526967687456616c75653a66756e6374696f6e2865297b72657475726e22737472696e67223d3d747970656f6620653f2b653a742e5363616c652e70726f746f747970652e676574526967687456616c75652e63616c6c28746869732c65297d2c68616e646c655469636b52616e67654f7074696f6e733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b733b696628652e626567696e41745a65726f297b76617220693d6e2e7369676e28742e6d696e292c613d6e2e7369676e28742e6d6178293b693c302626613c303f742e6d61783d303a693e302626613e30262628742e6d696e3d30297d76617220723d766f69642030213d3d652e6d696e7c7c766f69642030213d3d652e7375676765737465644d696e2c6f3d766f69642030213d3d652e6d61787c7c766f69642030213d3d652e7375676765737465644d61783b766f69642030213d3d652e6d696e3f742e6d696e3d652e6d696e3a766f69642030213d3d652e7375676765737465644d696e2626286e756c6c3d3d3d742e6d696e3f742e6d696e3d652e7375676765737465644d696e3a742e6d696e3d4d6174682e6d696e28742e6d696e2c652e7375676765737465644d696e29292c766f69642030213d3d652e6d61783f742e6d61783d652e6d61783a766f69642030213d3d652e7375676765737465644d61782626286e756c6c3d3d3d742e6d61783f742e6d61783d652e7375676765737465644d61783a742e6d61783d4d6174682e6d617828742e6d61782c652e7375676765737465644d617829292c72213d3d6f2626742e6d696e3e3d742e6d6178262628723f742e6d61783d742e6d696e2b313a742e6d696e3d742e6d61782d31292c742e6d696e3d3d3d742e6d6178262628742e6d61782b2b2c652e626567696e41745a65726f7c7c742e6d696e2d2d297d2c6765745469636b4c696d69743a652c68616e646c65446972656374696f6e616c4368616e6765733a652c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d742e6765745469636b4c696d697428292c613d7b6d61785469636b733a693d4d6174682e6d617828322c69292c6d696e3a652e6d696e2c6d61783a652e6d61782c7374657053697a653a6e2e76616c75654f7244656661756c7428652e66697865645374657053697a652c652e7374657053697a65297d2c723d742e7469636b733d66756e6374696f6e28742c65297b76617220692c613d5b5d3b696628742e7374657053697a652626742e7374657053697a653e3029693d742e7374657053697a653b656c73657b76617220723d6e2e6e6963654e756d28652e6d61782d652e6d696e2c2131293b693d6e2e6e6963654e756d28722f28742e6d61785469636b732d31292c2130297d766172206f3d4d6174682e666c6f6f7228652e6d696e2f69292a692c733d4d6174682e6365696c28652e6d61782f69292a693b742e6d696e2626742e6d61782626742e7374657053697a6526266e2e616c6d6f737457686f6c652828742e6d61782d742e6d696e292f742e7374657053697a652c692f316533292626286f3d742e6d696e2c733d742e6d6178293b766172206c3d28732d6f292f693b6c3d6e2e616c6d6f7374457175616c73286c2c4d6174682e726f756e64286c292c692f316533293f4d6174682e726f756e64286c293a4d6174682e6365696c286c293b76617220753d313b693c31262628753d4d6174682e706f772831302c692e746f537472696e6728292e6c656e6774682d32292c6f3d4d6174682e726f756e64286f2a75292f752c733d4d6174682e726f756e6428732a75292f75292c612e7075736828766f69642030213d3d742e6d696e3f742e6d696e3a6f293b666f722876617220643d313b643c6c3b2b2b6429612e70757368284d6174682e726f756e6428286f2b642a69292a75292f75293b72657475726e20612e7075736828766f69642030213d3d742e6d61783f742e6d61783a73292c617d28612c74293b742e68616e646c65446972656374696f6e616c4368616e67657328292c742e6d61783d6e2e6d61782872292c742e6d696e3d6e2e6d696e2872292c652e726576657273653f28722e7265766572736528292c742e73746172743d742e6d61782c742e656e643d742e6d696e293a28742e73746172743d742e6d696e2c742e656e643d742e6d6178297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b746869732e7469636b7341734e756d626572733d746869732e7469636b732e736c69636528292c746869732e7a65726f4c696e65496e6465783d746869732e7469636b732e696e6465784f662830292c742e5363616c652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973297d7d297d7d2c7b34353a34357d5d2c35363a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283435292c613d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d7b706f736974696f6e3a226c656674222c7469636b733a7b63616c6c6261636b3a612e666f726d6174746572732e6c6f6761726974686d69637d7d2c693d742e5363616c652e657874656e64287b64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732c693d742e63686172742c613d692e646174612e64617461736574732c723d742e6973486f72697a6f6e74616c28293b66756e6374696f6e206f2865297b72657475726e20723f652e784178697349443d3d3d742e69643a652e794178697349443d3d3d742e69647d742e6d696e3d6e756c6c2c742e6d61783d6e756c6c2c742e6d696e4e6f745a65726f3d6e756c6c3b76617220733d652e737461636b65643b696628766f696420303d3d3d7326266e2e6561636828612c66756e6374696f6e28742c65297b6966282173297b766172206e3d692e676574446174617365744d6574612865293b692e69734461746173657456697369626c6528652926266f286e292626766f69642030213d3d6e2e737461636b262628733d2130297d7d292c652e737461636b65647c7c73297b766172206c3d7b7d3b6e2e6561636828612c66756e6374696f6e28612c72297b76617220733d692e676574446174617365744d6574612872292c753d5b732e747970652c766f696420303d3d3d652e737461636b65642626766f696420303d3d3d732e737461636b3f723a22222c732e737461636b5d2e6a6f696e28222e22293b692e69734461746173657456697369626c6528722926266f287329262628766f696420303d3d3d6c5b755d2626286c5b755d3d5b5d292c6e2e6561636828612e646174612c66756e6374696f6e28652c69297b766172206e3d6c5b755d2c613d2b742e676574526967687456616c75652865293b69734e614e2861297c7c732e646174615b695d2e68696464656e7c7c613c307c7c286e5b695d3d6e5b695d7c7c302c6e5b695d2b3d61297d29297d292c6e2e65616368286c2c66756e6374696f6e2865297b696628652e6c656e6774683e30297b76617220693d6e2e6d696e2865292c613d6e2e6d61782865293b742e6d696e3d6e756c6c3d3d3d742e6d696e3f693a4d6174682e6d696e28742e6d696e2c69292c742e6d61783d6e756c6c3d3d3d742e6d61783f613a4d6174682e6d617828742e6d61782c61297d7d297d656c7365206e2e6561636828612c66756e6374696f6e28652c61297b76617220723d692e676574446174617365744d6574612861293b692e69734461746173657456697369626c6528612926266f28722926266e2e6561636828652e646174612c66756e6374696f6e28652c69297b766172206e3d2b742e676574526967687456616c75652865293b69734e614e286e297c7c722e646174615b695d2e68696464656e7c7c6e3c307c7c286e756c6c3d3d3d742e6d696e3f742e6d696e3d6e3a6e3c742e6d696e262628742e6d696e3d6e292c6e756c6c3d3d3d742e6d61783f742e6d61783d6e3a6e3e742e6d6178262628742e6d61783d6e292c30213d3d6e2626286e756c6c3d3d3d742e6d696e4e6f745a65726f7c7c6e3c742e6d696e4e6f745a65726f29262628742e6d696e4e6f745a65726f3d6e29297d297d293b746869732e68616e646c655469636b52616e67654f7074696f6e7328297d2c68616e646c655469636b52616e67654f7074696f6e733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d6e2e76616c75654f7244656661756c743b742e6d696e3d6928652e6d696e2c742e6d696e292c742e6d61783d6928652e6d61782c742e6d6178292c742e6d696e3d3d3d742e6d617826262830213d3d742e6d696e26266e756c6c213d3d742e6d696e3f28742e6d696e3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d696e29292d31292c742e6d61783d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d617829292b3129293a28742e6d696e3d312c742e6d61783d313029292c6e756c6c3d3d3d742e6d696e262628742e6d696e3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d617829292d3129292c6e756c6c3d3d3d742e6d6178262628742e6d61783d30213d3d742e6d696e3f4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d696e29292b31293a3130292c6e756c6c3d3d3d742e6d696e4e6f745a65726f262628742e6d696e3e303f742e6d696e4e6f745a65726f3d742e6d696e3a742e6d61783c313f742e6d696e4e6f745a65726f3d4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028742e6d61782929293a742e6d696e4e6f745a65726f3d31297d2c6275696c645469636b733a66756e6374696f6e28297b76617220743d746869732c653d742e6f7074696f6e732e7469636b732c693d21742e6973486f72697a6f6e74616c28292c613d7b6d696e3a652e6d696e2c6d61783a652e6d61787d2c723d742e7469636b733d66756e6374696f6e28742c65297b76617220692c612c723d5b5d2c6f3d6e2e76616c75654f7244656661756c742c733d6f28742e6d696e2c4d6174682e706f772831302c4d6174682e666c6f6f72286e2e6c6f67313028652e6d696e292929292c6c3d4d6174682e666c6f6f72286e2e6c6f67313028652e6d617829292c753d4d6174682e6365696c28652e6d61782f4d6174682e706f772831302c6c29293b303d3d3d733f28693d4d6174682e666c6f6f72286e2e6c6f67313028652e6d696e4e6f745a65726f29292c613d4d6174682e666c6f6f7228652e6d696e4e6f745a65726f2f4d6174682e706f772831302c6929292c722e707573682873292c733d612a4d6174682e706f772831302c6929293a28693d4d6174682e666c6f6f72286e2e6c6f673130287329292c613d4d6174682e666c6f6f7228732f4d6174682e706f772831302c692929293b666f722876617220643d693c303f4d6174682e706f772831302c4d6174682e616273286929293a313b722e707573682873292c31303d3d2b2b61262628613d312c643d2b2b693e3d303f313a64292c733d4d6174682e726f756e6428612a4d6174682e706f772831302c69292a64292f642c693c6c7c7c693d3d3d6c2626613c753b293b76617220683d6f28742e6d61782c73293b72657475726e20722e707573682868292c727d28612c74293b742e6d61783d6e2e6d61782872292c742e6d696e3d6e2e6d696e2872292c652e726576657273653f28693d21692c742e73746172743d742e6d61782c742e656e643d742e6d696e293a28742e73746172743d742e6d696e2c742e656e643d742e6d6178292c692626722e7265766572736528297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b746869732e7469636b56616c7565733d746869732e7469636b732e736c69636528292c742e5363616c652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b72657475726e20746869732e676574506978656c466f7256616c756528746869732e7469636b56616c7565735b745d297d2c5f67657446697273745469636b56616c75653a66756e6374696f6e2874297b76617220653d4d6174682e666c6f6f72286e2e6c6f673130287429293b72657475726e204d6174682e666c6f6f7228742f4d6174682e706f772831302c6529292a4d6174682e706f772831302c65297d2c676574506978656c466f7256616c75653a66756e6374696f6e2865297b76617220692c612c722c6f2c732c6c3d746869732c753d6c2e6f7074696f6e732e7469636b732e726576657273652c643d6e2e6c6f6731302c683d6c2e5f67657446697273745469636b56616c7565286c2e6d696e4e6f745a65726f292c633d303b72657475726e20653d2b6c2e676574526967687456616c75652865292c753f28723d6c2e656e642c6f3d6c2e73746172742c733d2d31293a28723d6c2e73746172742c6f3d6c2e656e642c733d31292c6c2e6973486f72697a6f6e74616c28293f28693d6c2e77696474682c613d753f6c2e72696768743a6c2e6c656674293a28693d6c2e6865696768742c732a3d2d312c613d753f6c2e746f703a6c2e626f74746f6d292c65213d3d72262628303d3d3d72262628692d3d633d6e2e67657456616c75654f7244656661756c74286c2e6f7074696f6e732e7469636b732e666f6e7453697a652c742e64656661756c74732e676c6f62616c2e64656661756c74466f6e7453697a65292c723d68292c30213d3d65262628632b3d692f2864286f292d64287229292a28642865292d6428722929292c612b3d732a63292c617d2c67657456616c7565466f72506978656c3a66756e6374696f6e2865297b76617220692c612c722c6f2c733d746869732c6c3d732e6f7074696f6e732e7469636b732e726576657273652c753d6e2e6c6f6731302c643d732e5f67657446697273745469636b56616c756528732e6d696e4e6f745a65726f293b6966286c3f28613d732e656e642c723d732e7374617274293a28613d732e73746172742c723d732e656e64292c732e6973486f72697a6f6e74616c28293f28693d732e77696474682c6f3d6c3f732e72696768742d653a652d732e6c656674293a28693d732e6865696768742c6f3d6c3f652d732e746f703a732e626f74746f6d2d65292c6f213d3d61297b696628303d3d3d61297b76617220683d6e2e67657456616c75654f7244656661756c7428732e6f7074696f6e732e7469636b732e666f6e7453697a652c742e64656661756c74732e676c6f62616c2e64656661756c74466f6e7453697a65293b6f2d3d682c692d3d682c613d647d6f2a3d752872292d752861292c6f2f3d692c6f3d4d6174682e706f772831302c752861292b6f297d72657475726e206f7d7d293b742e7363616c65536572766963652e72656769737465725363616c655479706528226c6f6761726974686d6963222c692c65297d7d2c7b33343a33342c34353a34357d5d2c35373a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d74283235292c613d74283435292c723d74283334293b652e6578706f7274733d66756e6374696f6e2874297b76617220653d6e2e676c6f62616c2c693d7b646973706c61793a21302c616e696d6174653a21302c706f736974696f6e3a22636861727441726561222c616e676c654c696e65733a7b646973706c61793a21302c636f6c6f723a227267626128302c20302c20302c20302e3129222c6c696e6557696474683a317d2c677269644c696e65733a7b63697263756c61723a21317d2c7469636b733a7b73686f774c6162656c4261636b64726f703a21302c6261636b64726f70436f6c6f723a2272676261283235352c3235352c3235352c302e373529222c6261636b64726f7050616464696e67593a322c6261636b64726f7050616464696e67583a322c63616c6c6261636b3a722e666f726d6174746572732e6c696e6561727d2c706f696e744c6162656c733a7b646973706c61793a21302c666f6e7453697a653a31302c63616c6c6261636b3a66756e6374696f6e2874297b72657475726e20747d7d7d3b66756e6374696f6e206f2874297b76617220653d742e6f7074696f6e733b72657475726e20652e616e676c654c696e65732e646973706c61797c7c652e706f696e744c6162656c732e646973706c61793f742e63686172742e646174612e6c6162656c732e6c656e6774683a307d66756e6374696f6e20732874297b76617220693d742e6f7074696f6e732e706f696e744c6162656c732c6e3d612e76616c75654f7244656661756c7428692e666f6e7453697a652c652e64656661756c74466f6e7453697a65292c723d612e76616c75654f7244656661756c7428692e666f6e745374796c652c652e64656661756c74466f6e745374796c65292c6f3d612e76616c75654f7244656661756c7428692e666f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79293b72657475726e7b73697a653a6e2c7374796c653a722c66616d696c793a6f2c666f6e743a612e666f6e74537472696e67286e2c722c6f297d7d66756e6374696f6e206c28742c652c692c6e2c61297b72657475726e20743d3d3d6e7c7c743d3d3d613f7b73746172743a652d692f322c656e643a652b692f327d3a743c6e7c7c743e613f7b73746172743a652d692d352c656e643a657d3a7b73746172743a652c656e643a652b692b357d7d66756e6374696f6e207528742c652c692c6e297b696628612e6973417272617928652929666f722876617220723d692e792c6f3d312e352a6e2c733d303b733c652e6c656e6774683b2b2b7329742e66696c6c5465787428655b735d2c692e782c72292c722b3d6f3b656c736520742e66696c6c5465787428652c692e782c692e79297d66756e6374696f6e20642874297b72657475726e20612e69734e756d6265722874293f743a307d76617220683d742e4c696e6561725363616c65426173652e657874656e64287b73657444696d656e73696f6e733a66756e6374696f6e28297b76617220743d746869732c693d742e6f7074696f6e732c6e3d692e7469636b733b742e77696474683d742e6d617857696474682c742e6865696768743d742e6d61784865696768742c742e7843656e7465723d4d6174682e726f756e6428742e77696474682f32292c742e7943656e7465723d4d6174682e726f756e6428742e6865696768742f32293b76617220723d612e6d696e285b742e6865696768742c742e77696474685d292c6f3d612e76616c75654f7244656661756c74286e2e666f6e7453697a652c652e64656661756c74466f6e7453697a65293b742e64726177696e67417265613d692e646973706c61793f722f322d286f2f322b6e2e6261636b64726f7050616464696e6759293a722f327d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220743d746869732c653d742e63686172742c693d4e756d6265722e504f5349544956455f494e46494e4954592c6e3d4e756d6265722e4e454741544956455f494e46494e4954593b612e6561636828652e646174612e64617461736574732c66756e6374696f6e28722c6f297b696628652e69734461746173657456697369626c65286f29297b76617220733d652e676574446174617365744d657461286f293b612e6561636828722e646174612c66756e6374696f6e28652c61297b76617220723d2b742e676574526967687456616c75652865293b69734e614e2872297c7c732e646174615b615d2e68696464656e7c7c28693d4d6174682e6d696e28722c69292c6e3d4d6174682e6d617828722c6e29297d297d7d292c742e6d696e3d693d3d3d4e756d6265722e504f5349544956455f494e46494e4954593f303a692c742e6d61783d6e3d3d3d4e756d6265722e4e454741544956455f494e46494e4954593f303a6e2c742e68616e646c655469636b52616e67654f7074696f6e7328297d2c6765745469636b4c696d69743a66756e6374696f6e28297b76617220743d746869732e6f7074696f6e732e7469636b732c693d612e76616c75654f7244656661756c7428742e666f6e7453697a652c652e64656661756c74466f6e7453697a65293b72657475726e204d6174682e6d696e28742e6d61785469636b734c696d69743f742e6d61785469636b734c696d69743a31312c4d6174682e6365696c28746869732e64726177696e67417265612f28312e352a692929297d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e28297b742e4c696e6561725363616c65426173652e70726f746f747970652e636f6e766572745469636b73546f4c6162656c732e63616c6c2874686973292c746869732e706f696e744c6162656c733d746869732e63686172742e646174612e6c6162656c732e6d617028746869732e6f7074696f6e732e706f696e744c6162656c732e63616c6c6261636b2c74686973297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b72657475726e2b746869732e676574526967687456616c756528746869732e63686172742e646174612e64617461736574735b655d2e646174615b745d297d2c6669743a66756e6374696f6e28297b76617220742c653b746869732e6f7074696f6e732e706f696e744c6162656c732e646973706c61793f66756e6374696f6e2874297b76617220652c692c6e2c723d732874292c753d4d6174682e6d696e28742e6865696768742f322c742e77696474682f32292c643d7b723a742e77696474682c6c3a302c743a742e6865696768742c623a307d2c683d7b7d3b742e6374782e666f6e743d722e666f6e742c742e5f706f696e744c6162656c53697a65733d5b5d3b76617220632c662c672c6d3d6f2874293b666f7228653d303b653c6d3b652b2b297b6e3d742e676574506f696e74506f736974696f6e28652c75292c633d742e6374782c663d722e73697a652c673d742e706f696e744c6162656c735b655d7c7c22222c693d612e697341727261792867293f7b773a612e6c6f6e676573745465787428632c632e666f6e742c67292c683a672e6c656e6774682a662b312e352a28672e6c656e6774682d31292a667d3a7b773a632e6d656173757265546578742867292e77696474682c683a667d2c742e5f706f696e744c6162656c53697a65735b655d3d693b76617220703d742e676574496e646578416e676c652865292c763d612e746f44656772656573287029253336302c793d6c28762c6e2e782c692e772c302c313830292c623d6c28762c6e2e792c692e682c39302c323730293b792e73746172743c642e6c262628642e6c3d792e73746172742c682e6c3d70292c792e656e643e642e72262628642e723d792e656e642c682e723d70292c622e73746172743c642e74262628642e743d622e73746172742c682e743d70292c622e656e643e642e62262628642e623d622e656e642c682e623d70297d742e736574526564756374696f6e7328752c642c68297d2874686973293a28743d746869732c653d4d6174682e6d696e28742e6865696768742f322c742e77696474682f32292c742e64726177696e67417265613d4d6174682e726f756e642865292c742e73657443656e746572506f696e7428302c302c302c3029297d2c736574526564756374696f6e733a66756e6374696f6e28742c652c69297b766172206e3d652e6c2f4d6174682e73696e28692e6c292c613d4d6174682e6d617828652e722d746869732e77696474682c30292f4d6174682e73696e28692e72292c723d2d652e742f4d6174682e636f7328692e74292c6f3d2d4d6174682e6d617828652e622d746869732e6865696768742c30292f4d6174682e636f7328692e62293b6e3d64286e292c613d642861292c723d642872292c6f3d64286f292c746869732e64726177696e67417265613d4d6174682e6d696e284d6174682e726f756e6428742d286e2b61292f32292c4d6174682e726f756e6428742d28722b6f292f3229292c746869732e73657443656e746572506f696e74286e2c612c722c6f297d2c73657443656e746572506f696e743a66756e6374696f6e28742c652c692c6e297b76617220613d746869732c723d612e77696474682d652d612e64726177696e67417265612c6f3d742b612e64726177696e67417265612c733d692b612e64726177696e67417265612c6c3d612e6865696768742d6e2d612e64726177696e67417265613b612e7843656e7465723d4d6174682e726f756e6428286f2b72292f322b612e6c656674292c612e7943656e7465723d4d6174682e726f756e642828732b6c292f322b612e746f70297d2c676574496e646578416e676c653a66756e6374696f6e2874297b72657475726e20742a28322a4d6174682e50492f6f287468697329292b28746869732e63686172742e6f7074696f6e732626746869732e63686172742e6f7074696f6e732e7374617274416e676c653f746869732e63686172742e6f7074696f6e732e7374617274416e676c653a30292a4d6174682e50492a322f3336307d2c67657444697374616e636546726f6d43656e746572466f7256616c75653a66756e6374696f6e2874297b6966286e756c6c3d3d3d742972657475726e20303b76617220653d746869732e64726177696e67417265612f28746869732e6d61782d746869732e6d696e293b72657475726e20746869732e6f7074696f6e732e7469636b732e726576657273653f28746869732e6d61782d74292a653a28742d746869732e6d696e292a657d2c676574506f696e74506f736974696f6e3a66756e6374696f6e28742c65297b76617220693d746869732e676574496e646578416e676c652874292d4d6174682e50492f323b72657475726e7b783a4d6174682e726f756e64284d6174682e636f732869292a65292b746869732e7843656e7465722c793a4d6174682e726f756e64284d6174682e73696e2869292a65292b746869732e7943656e7465727d7d2c676574506f696e74506f736974696f6e466f7256616c75653a66756e6374696f6e28742c65297b72657475726e20746869732e676574506f696e74506f736974696f6e28742c746869732e67657444697374616e636546726f6d43656e746572466f7256616c7565286529297d2c67657442617365506f736974696f6e3a66756e6374696f6e28297b76617220743d746869732e6d696e2c653d746869732e6d61783b72657475726e20746869732e676574506f696e74506f736974696f6e466f7256616c756528302c746869732e626567696e41745a65726f3f303a743c302626653c303f653a743e302626653e303f743a30297d2c647261773a66756e6374696f6e28297b76617220743d746869732c693d742e6f7074696f6e732c6e3d692e677269644c696e65732c723d692e7469636b732c6c3d612e76616c75654f7244656661756c743b696628692e646973706c6179297b76617220643d742e6374782c683d746869732e676574496e646578416e676c652830292c633d6c28722e666f6e7453697a652c652e64656661756c74466f6e7453697a65292c663d6c28722e666f6e745374796c652c652e64656661756c74466f6e745374796c65292c673d6c28722e666f6e7446616d696c792c652e64656661756c74466f6e7446616d696c79292c6d3d612e666f6e74537472696e6728632c662c67293b612e6561636828742e7469636b732c66756e6374696f6e28692c73297b696628733e307c7c722e72657665727365297b76617220753d742e67657444697374616e636546726f6d43656e746572466f7256616c756528742e7469636b7341734e756d626572735b735d293b6966286e2e646973706c6179262630213d3d73262666756e6374696f6e28742c652c692c6e297b76617220723d742e6374783b696628722e7374726f6b655374796c653d612e76616c75654174496e6465784f7244656661756c7428652e636f6c6f722c6e2d31292c722e6c696e6557696474683d612e76616c75654174496e6465784f7244656661756c7428652e6c696e6557696474682c6e2d31292c742e6f7074696f6e732e677269644c696e65732e63697263756c617229722e626567696e5061746828292c722e61726328742e7843656e7465722c742e7943656e7465722c692c302c322a4d6174682e5049292c722e636c6f73655061746828292c722e7374726f6b6528293b656c73657b76617220733d6f2874293b696628303d3d3d732972657475726e3b722e626567696e5061746828293b766172206c3d742e676574506f696e74506f736974696f6e28302c69293b722e6d6f7665546f286c2e782c6c2e79293b666f722876617220753d313b753c733b752b2b296c3d742e676574506f696e74506f736974696f6e28752c69292c722e6c696e65546f286c2e782c6c2e79293b722e636c6f73655061746828292c722e7374726f6b6528297d7d28742c6e2c752c73292c722e646973706c6179297b76617220663d6c28722e666f6e74436f6c6f722c652e64656661756c74466f6e74436f6c6f72293b696628642e666f6e743d6d2c642e7361766528292c642e7472616e736c61746528742e7843656e7465722c742e7943656e746572292c642e726f746174652868292c722e73686f774c6162656c4261636b64726f70297b76617220673d642e6d656173757265546578742869292e77696474683b642e66696c6c5374796c653d722e6261636b64726f70436f6c6f722c642e66696c6c52656374282d672f322d722e6261636b64726f7050616464696e67582c2d752d632f322d722e6261636b64726f7050616464696e67592c672b322a722e6261636b64726f7050616464696e67582c632b322a722e6261636b64726f7050616464696e6759297d642e74657874416c69676e3d2263656e746572222c642e74657874426173656c696e653d226d6964646c65222c642e66696c6c5374796c653d662c642e66696c6c5465787428692c302c2d75292c642e726573746f726528297d7d7d292c28692e616e676c654c696e65732e646973706c61797c7c692e706f696e744c6162656c732e646973706c617929262666756e6374696f6e2874297b76617220693d742e6374782c6e3d742e6f7074696f6e732c723d6e2e616e676c654c696e65732c6c3d6e2e706f696e744c6162656c733b692e6c696e6557696474683d722e6c696e6557696474682c692e7374726f6b655374796c653d722e636f6c6f723b76617220642c682c632c662c673d742e67657444697374616e636546726f6d43656e746572466f7256616c7565286e2e7469636b732e726576657273653f742e6d696e3a742e6d6178292c6d3d732874293b692e74657874426173656c696e653d22746f70223b666f722876617220703d6f2874292d313b703e3d303b702d2d297b696628722e646973706c6179297b76617220763d742e676574506f696e74506f736974696f6e28702c67293b692e626567696e5061746828292c692e6d6f7665546f28742e7843656e7465722c742e7943656e746572292c692e6c696e65546f28762e782c762e79292c692e7374726f6b6528292c692e636c6f73655061746828297d6966286c2e646973706c6179297b76617220793d742e676574506f696e74506f736974696f6e28702c672b35292c623d612e76616c75654174496e6465784f7244656661756c74286c2e666f6e74436f6c6f722c702c652e64656661756c74466f6e74436f6c6f72293b692e666f6e743d6d2e666f6e742c692e66696c6c5374796c653d623b76617220783d742e676574496e646578416e676c652870292c5f3d612e746f446567726565732878293b692e74657874416c69676e3d303d3d3d28663d5f297c7c3138303d3d3d663f2263656e746572223a663c3138303f226c656674223a227269676874222c643d5f2c683d742e5f706f696e744c6162656c53697a65735b705d2c633d792c39303d3d3d647c7c3237303d3d3d643f632e792d3d682e682f323a28643e3237307c7c643c393029262628632e792d3d682e68292c7528692c742e706f696e744c6162656c735b705d7c7c22222c792c6d2e73697a65297d7d7d2874297d7d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282272616469616c4c696e656172222c682c69297d7d2c7b32353a32352c33343a33342c34353a34357d5d2c35383a5b66756e6374696f6e28742c652c69297b2275736520737472696374223b766172206e3d742836293b6e3d2266756e6374696f6e223d3d747970656f66206e3f6e3a77696e646f772e6d6f6d656e743b76617220613d74283235292c723d74283435292c6f3d4e756d6265722e4d494e5f534146455f494e54454745527c7c2d393030373139393235343734303939312c733d4e756d6265722e4d41585f534146455f494e54454745527c7c393030373139393235343734303939312c6c3d7b6d696c6c697365636f6e643a7b636f6d6d6f6e3a21302c73697a653a312c73746570733a5b312c322c352c31302c32302c35302c3130302c3235302c3530305d7d2c7365636f6e643a7b636f6d6d6f6e3a21302c73697a653a3165332c73746570733a5b312c322c352c31302c33305d7d2c6d696e7574653a7b636f6d6d6f6e3a21302c73697a653a3665342c73746570733a5b312c322c352c31302c33305d7d2c686f75723a7b636f6d6d6f6e3a21302c73697a653a333665352c73746570733a5b312c322c332c362c31325d7d2c6461793a7b636f6d6d6f6e3a21302c73697a653a38363465352c73746570733a5b312c322c355d7d2c7765656b3a7b636f6d6d6f6e3a21312c73697a653a3630343865352c73746570733a5b312c322c332c345d7d2c6d6f6e74683a7b636f6d6d6f6e3a21302c73697a653a3236323865362c73746570733a5b312c322c335d7d2c717561727465723a7b636f6d6d6f6e3a21312c73697a653a3738383465362c73746570733a5b312c322c332c345d7d2c796561723a7b636f6d6d6f6e3a21302c73697a653a3331353465377d7d2c753d4f626a6563742e6b657973286c293b66756e6374696f6e206428742c65297b72657475726e20742d657d66756e6374696f6e20682874297b76617220652c692c6e2c613d7b7d2c723d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b6529615b6e3d745b655d5d7c7c28615b6e5d3d21302c722e70757368286e29293b72657475726e20727d66756e6374696f6e206328742c652c692c6e297b76617220613d66756e6374696f6e28742c652c69297b666f7228766172206e2c612c722c6f3d302c733d742e6c656e6774682d313b6f3e3d3026266f3c3d733b297b696628613d745b286e3d6f2b733e3e31292d315d7c7c6e756c6c2c723d745b6e5d2c21612972657475726e7b6c6f3a6e756c6c2c68693a727d3b696628725b655d3c69296f3d6e2b313b656c73657b6966282128615b655d3e69292972657475726e7b6c6f3a612c68693a727d3b733d6e2d317d7d72657475726e7b6c6f3a722c68693a6e756c6c7d7d28742c652c69292c723d612e6c6f3f612e68693f612e6c6f3a745b742e6c656e6774682d325d3a745b305d2c6f3d612e6c6f3f612e68693f612e68693a745b742e6c656e6774682d315d3a745b315d2c733d6f5b655d2d725b655d2c6c3d733f28692d725b655d292f733a302c753d286f5b6e5d2d725b6e5d292a6c3b72657475726e20725b6e5d2b757d66756e6374696f6e206628742c65297b76617220693d652e7061727365722c613d652e7061727365727c7c652e666f726d61743b72657475726e2266756e6374696f6e223d3d747970656f6620693f692874293a22737472696e67223d3d747970656f662074262622737472696e67223d3d747970656f6620613f6e28742c61293a287420696e7374616e63656f66206e7c7c28743d6e287429292c742e697356616c696428293f743a2266756e6374696f6e223d3d747970656f6620613f612874293a74297d66756e6374696f6e206728742c65297b696628722e69734e756c6c4f72556e6465662874292972657475726e206e756c6c3b76617220693d652e6f7074696f6e732e74696d652c6e3d6628652e676574526967687456616c75652874292c69293b72657475726e206e2e697356616c696428293f28692e726f756e6426266e2e73746172744f6628692e726f756e64292c6e2e76616c75654f662829293a6e756c6c7d66756e6374696f6e206d2874297b666f722876617220653d752e696e6465784f662874292b312c693d752e6c656e6774683b653c693b2b2b65296966286c5b755b655d5d2e636f6d6d6f6e2972657475726e20755b655d7d66756e6374696f6e207028742c652c692c61297b766172206f2c643d612e74696d652c683d642e756e69747c7c66756e6374696f6e28742c652c692c6e297b76617220612c722c6f2c643d752e6c656e6774683b666f7228613d752e696e6465784f662874293b613c642d313b2b2b61296966286f3d28723d6c5b755b615d5d292e73746570733f722e73746570735b722e73746570732e6c656e6774682d315d3a732c722e636f6d6d6f6e26264d6174682e6365696c2828692d65292f286f2a722e73697a6529293c3d6e2972657475726e20755b615d3b72657475726e20755b642d315d7d28642e6d696e556e69742c742c652c69292c633d6d2868292c663d722e76616c75654f7244656661756c7428642e7374657053697a652c642e756e69745374657053697a65292c673d227765656b223d3d3d682626642e69736f5765656b6461792c703d612e7469636b732e6d616a6f722e656e61626c65642c763d6c5b685d2c793d6e2874292c623d6e2865292c783d5b5d3b666f7228667c7c28663d66756e6374696f6e28742c652c692c6e297b76617220612c722c6f2c733d652d742c753d6c5b695d2c643d752e73697a652c683d752e73746570733b69662821682972657475726e204d6174682e6365696c28732f286e2a6429293b666f7228613d302c723d682e6c656e6774683b613c722626286f3d685b615d2c21284d6174682e6365696c28732f28642a6f29293c3d6e29293b2b2b61293b72657475726e206f7d28742c652c682c6929292c67262628793d792e69736f5765656b6461792867292c623d622e69736f5765656b646179286729292c793d792e73746172744f6628673f22646179223a68292c28623d622e73746172744f6628673f22646179223a6829293c652626622e61646428312c68292c6f3d6e2879292c7026266326262167262621642e726f756e642626286f2e73746172744f662863292c6f2e616464287e7e2828792d6f292f28762e73697a652a6629292a662c6829293b6f3c623b6f2e61646428662c682929782e70757368282b6f293b72657475726e20782e70757368282b6f292c787d652e6578706f7274733d66756e6374696f6e2874297b76617220653d742e5363616c652e657874656e64287b696e697469616c697a653a66756e6374696f6e28297b696628216e297468726f77206e6577204572726f72282243686172742e6a73202d204d6f6d656e742e6a7320636f756c64206e6f7420626520666f756e642120596f75206d75737420696e636c756465206974206265666f72652043686172742e6a7320746f20757365207468652074696d65207363616c652e20446f776e6c6f61642061742068747470733a2f2f6d6f6d656e746a732e636f6d22293b746869732e6d657267655469636b734f7074696f6e7328292c742e5363616c652e70726f746f747970652e696e697469616c697a652e63616c6c2874686973297d2c7570646174653a66756e6374696f6e28297b76617220653d746869732e6f7074696f6e733b72657475726e20652e74696d652626652e74696d652e666f726d61742626636f6e736f6c652e7761726e28226f7074696f6e732e74696d652e666f726d6174206973206465707265636174656420616e64207265706c61636564206279206f7074696f6e732e74696d652e7061727365722e22292c742e5363616c652e70726f746f747970652e7570646174652e6170706c7928746869732c617267756d656e7473297d2c676574526967687456616c75653a66756e6374696f6e2865297b72657475726e20652626766f69642030213d3d652e74262628653d652e74292c742e5363616c652e70726f746f747970652e676574526967687456616c75652e63616c6c28746869732c65297d2c64657465726d696e65446174614c696d6974733a66756e6374696f6e28297b76617220742c652c692c612c6c2c752c633d746869732c663d632e63686172742c6d3d632e6f7074696f6e732e74696d652c703d6d2e756e69747c7c22646179222c763d732c793d6f2c623d5b5d2c783d5b5d2c5f3d5b5d3b666f7228743d302c693d662e646174612e6c6162656c732e6c656e6774683b743c693b2b2b74295f2e70757368286728662e646174612e6c6162656c735b745d2c6329293b666f7228743d302c693d28662e646174612e64617461736574737c7c5b5d292e6c656e6774683b743c693b2b2b7429696628662e69734461746173657456697369626c65287429296966286c3d662e646174612e64617461736574735b745d2e646174612c722e69734f626a656374286c5b305d2929666f7228785b745d3d5b5d2c653d302c613d6c2e6c656e6774683b653c613b2b2b6529753d67286c5b655d2c63292c622e707573682875292c785b745d5b655d3d753b656c736520622e707573682e6170706c7928622c5f292c785b745d3d5f2e736c6963652830293b656c736520785b745d3d5b5d3b5f2e6c656e6774682626285f3d68285f292e736f72742864292c763d4d6174682e6d696e28762c5f5b305d292c793d4d6174682e6d617828792c5f5b5f2e6c656e6774682d315d29292c622e6c656e677468262628623d682862292e736f72742864292c763d4d6174682e6d696e28762c625b305d292c793d4d6174682e6d617828792c625b622e6c656e6774682d315d29292c763d67286d2e6d696e2c63297c7c762c793d67286d2e6d61782c63297c7c792c763d763d3d3d733f2b6e28292e73746172744f662870293a762c793d793d3d3d6f3f2b6e28292e656e644f662870292b313a792c632e6d696e3d4d6174682e6d696e28762c79292c632e6d61783d4d6174682e6d617828762b312c79292c632e5f686f72697a6f6e74616c3d632e6973486f72697a6f6e74616c28292c632e5f7461626c653d5b5d2c632e5f74696d657374616d70733d7b646174613a622c64617461736574733a782c6c6162656c733a5f7d7d2c6275696c645469636b733a66756e6374696f6e28297b76617220742c652c692c612c722c6f2c732c642c682c762c792c622c783d746869732c5f3d782e6d696e2c6b3d782e6d61782c773d782e6f7074696f6e732c4d3d772e74696d652c533d5b5d2c443d5b5d3b73776974636828772e7469636b732e736f75726365297b636173652264617461223a533d782e5f74696d657374616d70732e646174613b627265616b3b63617365226c6162656c73223a533d782e5f74696d657374616d70732e6c6162656c733b627265616b3b63617365226175746f223a64656661756c743a533d70285f2c6b2c782e6765744c6162656c4361706163697479285f292c77297d666f7228227469636b73223d3d3d772e626f756e64732626532e6c656e6774682626285f3d535b305d2c6b3d535b532e6c656e6774682d315d292c5f3d67284d2e6d696e2c78297c7c5f2c6b3d67284d2e6d61782c78297c7c6b2c743d302c653d532e6c656e6774683b743c653b2b2b742928693d535b745d293e3d5f2626693c3d6b2626442e707573682869293b72657475726e20782e6d696e3d5f2c782e6d61783d6b2c782e5f756e69743d4d2e756e69747c7c66756e6374696f6e28742c652c692c61297b76617220722c6f2c733d6e2e6475726174696f6e286e2861292e64696666286e28692929293b666f7228723d752e6c656e6774682d313b723e3d752e696e6465784f662865293b722d2d296966286f3d755b725d2c6c5b6f5d2e636f6d6d6f6e2626732e6173286f293e3d742e6c656e6774682972657475726e206f3b72657475726e20755b653f752e696e6465784f662865293a305d7d28442c4d2e6d696e556e69742c782e6d696e2c782e6d6178292c782e5f6d616a6f72556e69743d6d28782e5f756e6974292c782e5f7461626c653d66756e6374696f6e28742c652c692c6e297b696628226c696e656172223d3d3d6e7c7c21742e6c656e6774682972657475726e5b7b74696d653a652c706f733a307d2c7b74696d653a692c706f733a317d5d3b76617220612c722c6f2c732c6c2c753d5b5d2c643d5b655d3b666f7228613d302c723d742e6c656e6774683b613c723b2b2b612928733d745b615d293e652626733c692626642e707573682873293b666f7228642e707573682869292c613d302c723d642e6c656e6774683b613c723b2b2b61296c3d645b612b315d2c6f3d645b612d315d2c733d645b615d2c766f69642030213d3d6f2626766f69642030213d3d6c26264d6174682e726f756e6428286c2b6f292f32293d3d3d737c7c752e70757368287b74696d653a732c706f733a612f28722d31297d293b72657475726e20757d28782e5f74696d657374616d70732e646174612c5f2c6b2c772e646973747269627574696f6e292c782e5f6f6666736574733d28613d782e5f7461626c652c723d442c6f3d5f2c733d6b2c793d302c623d302c28643d77292e6f66667365742626722e6c656e677468262628642e74696d652e6d696e7c7c28683d722e6c656e6774683e313f725b315d3a732c763d725b305d2c793d286328612c2274696d65222c682c22706f7322292d6328612c2274696d65222c762c22706f732229292f32292c642e74696d652e6d61787c7c28683d725b722e6c656e6774682d315d2c763d722e6c656e6774683e313f725b722e6c656e6774682d325d3a6f2c623d286328612c2274696d65222c682c22706f7322292d6328612c2274696d65222c762c22706f732229292f3229292c7b6c6566743a792c72696768743a627d292c782e5f6c6162656c466f726d61743d66756e6374696f6e28742c65297b76617220692c6e2c612c723d742e6c656e6774683b666f7228693d303b693c723b692b2b297b69662830213d3d286e3d6628745b695d2c6529292e6d696c6c697365636f6e6428292972657475726e224d4d4d20442c205959595920683a6d6d3a73732e5353532061223b303d3d3d6e2e7365636f6e6428292626303d3d3d6e2e6d696e75746528292626303d3d3d6e2e686f757228297c7c28613d2130297d72657475726e20613f224d4d4d20442c205959595920683a6d6d3a73732061223a224d4d4d20442c2059595959227d28782e5f74696d657374616d70732e646174612c4d292c66756e6374696f6e28742c65297b76617220692c612c722c6f2c733d5b5d3b666f7228693d302c613d742e6c656e6774683b693c613b2b2b6929723d745b695d2c6f3d2121652626723d3d3d2b6e2872292e73746172744f662865292c732e70757368287b76616c75653a722c6d616a6f723a6f7d293b72657475726e20737d28442c782e5f6d616a6f72556e6974297d2c6765744c6162656c466f72496e6465783a66756e6374696f6e28742c65297b76617220693d746869732e63686172742e646174612c6e3d746869732e6f7074696f6e732e74696d652c613d692e6c6162656c732626743c692e6c6162656c732e6c656e6774683f692e6c6162656c735b745d3a22222c6f3d692e64617461736574735b655d2e646174615b745d3b72657475726e20722e69734f626a656374286f29262628613d746869732e676574526967687456616c7565286f29292c6e2e746f6f6c746970466f726d61743f6628612c6e292e666f726d6174286e2e746f6f6c746970466f726d6174293a22737472696e67223d3d747970656f6620613f613a6628612c6e292e666f726d617428746869732e5f6c6162656c466f726d6174297d2c7469636b466f726d617446756e6374696f6e3a66756e6374696f6e28742c652c692c6e297b76617220613d746869732e6f7074696f6e732c6f3d742e76616c75654f6628292c733d612e74696d652e646973706c6179466f726d6174732c6c3d735b746869732e5f756e69745d2c753d746869732e5f6d616a6f72556e69742c643d735b755d2c683d742e636c6f6e6528292e73746172744f662875292e76616c75654f6628292c633d612e7469636b732e6d616a6f722c663d632e656e61626c656426267526266426266f3d3d3d682c673d742e666f726d6174286e7c7c28663f643a6c29292c6d3d663f633a612e7469636b732e6d696e6f722c703d722e76616c75654f7244656661756c74286d2e63616c6c6261636b2c6d2e7573657243616c6c6261636b293b72657475726e20703f7028672c652c69293a677d2c636f6e766572745469636b73546f4c6162656c733a66756e6374696f6e2874297b76617220652c692c613d5b5d3b666f7228653d302c693d742e6c656e6774683b653c693b2b2b6529612e7075736828746869732e7469636b466f726d617446756e6374696f6e286e28745b655d2e76616c7565292c652c7429293b72657475726e20617d2c676574506978656c466f724f66667365743a66756e6374696f6e2874297b76617220653d746869732c693d652e5f686f72697a6f6e74616c3f652e77696474683a652e6865696768742c6e3d652e5f686f72697a6f6e74616c3f652e6c6566743a652e746f702c613d6328652e5f7461626c652c2274696d65222c742c22706f7322293b72657475726e206e2b692a28652e5f6f6666736574732e6c6566742b61292f28652e5f6f6666736574732e6c6566742b312b652e5f6f6666736574732e7269676874297d2c676574506978656c466f7256616c75653a66756e6374696f6e28742c652c69297b766172206e3d6e756c6c3b696628766f69642030213d3d652626766f69642030213d3d692626286e3d746869732e5f74696d657374616d70732e64617461736574735b695d5b655d292c6e756c6c3d3d3d6e2626286e3d6728742c7468697329292c6e756c6c213d3d6e2972657475726e20746869732e676574506978656c466f724f6666736574286e297d2c676574506978656c466f725469636b3a66756e6374696f6e2874297b76617220653d746869732e6765745469636b7328293b72657475726e20743e3d302626743c652e6c656e6774683f746869732e676574506978656c466f724f666673657428655b745d2e76616c7565293a6e756c6c7d2c67657456616c7565466f72506978656c3a66756e6374696f6e2874297b76617220653d746869732c693d652e5f686f72697a6f6e74616c3f652e77696474683a652e6865696768742c613d652e5f686f72697a6f6e74616c3f652e6c6566743a652e746f702c723d28693f28742d61292f693a30292a28652e5f6f6666736574732e6c6566742b312b652e5f6f6666736574732e6c656674292d652e5f6f6666736574732e72696768742c6f3d6328652e5f7461626c652c22706f73222c722c2274696d6522293b72657475726e206e286f297d2c6765744c6162656c57696474683a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e7469636b732c693d746869732e6374782e6d656173757265546578742874292e77696474682c6e3d722e746f52616469616e7328652e6d6178526f746174696f6e292c6f3d4d6174682e636f73286e292c733d4d6174682e73696e286e293b72657475726e20692a6f2b722e76616c75654f7244656661756c7428652e666f6e7453697a652c612e676c6f62616c2e64656661756c74466f6e7453697a65292a737d2c6765744c6162656c43617061636974793a66756e6374696f6e2874297b76617220653d746869732e6f7074696f6e732e74696d652e646973706c6179466f726d6174732e6d696c6c697365636f6e642c693d746869732e7469636b466f726d617446756e6374696f6e286e2874292c302c5b5d2c65292c613d746869732e6765744c6162656c57696474682869292c723d746869732e6973486f72697a6f6e74616c28293f746869732e77696474683a746869732e6865696768742c6f3d4d6174682e666c6f6f7228722f61293b72657475726e206f3e303f6f3a317d7d293b742e7363616c65536572766963652e72656769737465725363616c6554797065282274696d65222c652c7b706f736974696f6e3a22626f74746f6d222c646973747269627574696f6e3a226c696e656172222c626f756e64733a2264617461222c74696d653a7b7061727365723a21312c666f726d61743a21312c756e69743a21312c726f756e643a21312c646973706c6179466f726d61743a21312c69736f5765656b6461793a21312c6d696e556e69743a226d696c6c697365636f6e64222c646973706c6179466f726d6174733a7b6d696c6c697365636f6e643a22683a6d6d3a73732e5353532061222c7365636f6e643a22683a6d6d3a73732061222c6d696e7574653a22683a6d6d2061222c686f75723a226841222c6461793a224d4d4d2044222c7765656b3a226c6c222c6d6f6e74683a224d4d4d2059595959222c717561727465723a225b515d51202d2059595959222c796561723a2259595959227d7d2c7469636b733a7b6175746f536b69703a21312c736f757263653a226175746f222c6d616a6f723a7b656e61626c65643a21317d7d7d297d7d2c7b32353a32352c34353a34352c363a367d5d7d2c7b7d2c5b375d292837297d293b',0,0,'2018-08-28T20:50:36.130Z','2018-08-28T20:50:36.133Z','file','application/x-javascript','V1Cptt9Tgu');
INSERT INTO notes VALUES('L9qettZi0csz','TODO','',0,0,'2018-08-28T20:50:48.468Z','2018-08-28T20:50:48.468Z','text','text/html','pYhbMrsilQ');
INSERT INTO notes VALUES('Dyahpf7LroQY','Locations','',0,0,'2018-08-28T20:50:48.478Z','2018-08-28T20:50:48.478Z','text','text/html','T5ttXvR2+2');
INSERT INTO notes VALUES('nUgD4SYx2gt7','Tags','',0,0,'2018-08-28T20:50:48.506Z','2018-08-28T20:50:48.506Z','text','text/html','f5a1WP0Pz5');
INSERT INTO notes VALUES('9HHqPxJkLAkl','Done','',0,0,'2018-08-28T20:50:48.527Z','2018-08-28T20:50:48.527Z','text','text/html','3M1b9ysLaG');
INSERT INTO notes VALUES('hL4rychNFWZs','Implementation','',0,0,'2018-08-28T20:50:48.537Z','2018-08-28T20:50:48.537Z','text','text/html','8fnUKl/ty7');
INSERT INTO notes VALUES('vVhlPtM5YgWe','reconcileAssignments',replace('module.exports = async function(note, categoryRootNote, assignedCategories, labelName, isTaskDone) {\n    const found = {};\n    \n    for (const categoryNote of await categoryRootNote.getChildNotes()) {\n        const label = await categoryNote.getLabel(labelName);\n        \n        if (label) {\n            found[label.value] = !isTaskDone && assignedCategories.includes(label.value);\n\n            await api.toggleNoteInParent(found[label.value], note.noteId, categoryNote.noteId);\n        }\n    }\n    \n    if (!isTaskDone) {\n        for (const assignedCategory of assignedCategories) {\n            if (!found[assignedCategory]) {\n                const categoryNote = (await api.createNote(categoryRootNote.noteId, assignedCategory, "", {\n                    attributes: [ { type: "label", name: labelName, value: assignedCategory } ]\n                })).note;\n\n                await api.ensureNoteIsPresentInParent(note.noteId, categoryNote.noteId);\n            }\n        }\n    }\n}','\n',char(10)),0,0,'2018-08-28T20:50:48.554Z','2018-08-28T20:50:48.554Z','code','application/javascript;env=backend','4jq+oVoENR');
INSERT INTO notes VALUES('XVlWndK4Oh6A','button',replace('api.addButtonToToolbar({\n    title: ''New task'',\n    icon: ''check'',\n    shortcut: ''alt+n'',\n    action: async () => {\n        // creating notes is backend (server) responsibility so we need to pass\n        // the control there\n        const taskNoteId = await api.runOnServer(async () => {\n            const todoRootNote = await api.getNoteWithLabel(''taskTodoRoot'');\n            const {note} = await api.createNote(todoRootNote.noteId, ''new task'', '''');\n\n            return note.noteId;\n        });\n\n        // we got an ID of newly created note and we want to immediatelly display it\n        await api.activateNewNote(taskNoteId);\n    }\n});','\n',char(10)),0,0,'2018-08-28T20:50:48.571Z','2018-08-28T20:50:48.571Z','code','application/javascript;env=frontend','MIRJnm9haL');
INSERT INTO notes VALUES('HbtlYiMvmm4V','task template','',0,0,'2018-08-28T20:50:48.588Z','2018-08-28T20:50:48.588Z','text','text/html','HRae/qx7tU');
INSERT INTO notes VALUES('8LOr7xUMuWD4','Weight Tracker','',0,0,'2018-08-28T20:50:36.063Z','2018-08-28T20:54:28.613Z','render','text/html','lE5vjoJhJ1');
INSERT INTO notes VALUES('WkdQrYTnsgxP','Person template','',0,0,'2018-08-28T20:50:22.248Z','2018-08-28T20:50:22.248Z','text','text/html','esiFC4lNuK');
INSERT INTO notes VALUES('gYVdjKAJeImD','attribute changed',replace('if (!["task", "location", "tag", "todoDate", "doneDate"].includes(api.originEntity.name)) {\n    return;\n}\n\nconst note = await api.originEntity.getNote();\n    \nconst attributes = await note.getAttributes();\n\nconst todoDate = await note.getLabelValue(''todoDate'');\nconst doneDate = await note.getLabelValue(''doneDate'');\nconst isTaskDone = !!doneDate;\n\nconst doneRootNote = await api.getNoteWithLabel(''taskDoneRoot'');\nawait api.toggleNoteInParent(isTaskDone, note.noteId, doneRootNote.noteId);\n\nconst todoRootNote = await api.getNoteWithLabel(''taskTodoRoot'');\nawait api.toggleNoteInParent(!isTaskDone, note.noteId, todoRootNote.noteId);\n\nconst location = await note.getLabelValue(''location'');\nconst locationRootNote = await api.getNoteWithLabel(''taskLocationRoot'');\n\nawait reconcileAssignments(note, locationRootNote, location ? [location] : [], ''taskLocationNote'', isTaskDone);\n\nconst tags = attributes.filter(attr => attr.type === ''label'' && attr.name === ''tag'').map(attr => attr.value);\nconst tagRootNote = await api.getNoteWithLabel(''taskTagRoot'');\n\nawait reconcileAssignments(note, tagRootNote, tags, ''taskTagNote'', isTaskDone);\n\nawait note.toggleLabel(isTaskDone, "cssClass", "done");\n\nconst doneTargetNoteId = isTaskDone ? (await api.getDateNote(doneDate)).noteId : null;\nawait api.setNoteToParent(note.noteId, ''DONE'', doneTargetNoteId);\n\nawait note.toggleLabel(!isTaskDone, "cssClass", "todo");\n\nconst todoTargetNoteId = (!isTaskDone && todoDate) ? (await api.getDateNote(todoDate)).noteId : null;\nawait api.setNoteToParent(note.noteId, ''TODO'', todoTargetNoteId);\n\napi.refreshTree();','\n',char(10)),0,0,'2018-08-28T20:50:48.544Z','2018-08-28T21:09:56.952Z','code','application/javascript;env=backend','fQ4P19nxKC');
INSERT INTO notes VALUES('HJusZTbBU494','2017','',0,0,'2017-12-23T01:20:50.709Z','2018-08-29T10:50:44.040Z','text','text/html','saDLHhHxyV');
INSERT INTO notes VALUES('6ZuXjCSWgjB4','11 - November','',0,0,'2017-12-23T03:44:45.351Z','2018-08-29T10:50:53.409Z','text','text/html','luxpsFeYil');
INSERT INTO notes VALUES('3oldoiMUPOlr','12 - December','',0,0,'2017-12-23T01:20:55.775Z','2018-08-29T10:50:59.032Z','text','text/html','HYUoWI4aLr');
INSERT INTO notes VALUES('WdWZFuWNVDZk','Tech','<p>Expand note on the left pane to see content.</p>',0,0,'2017-12-23T04:06:16.179Z','2018-08-29T16:03:57.219Z','text','text/html','iIbiynQV+8');
INSERT INTO notes VALUES('TlGCAdcfxkOT','Book template','',0,0,'2018-08-29T17:11:16.540Z','2018-08-29T17:11:22.540Z','text','text/html','C8OpYciam7');
INSERT INTO notes VALUES('eXHZAKsMYgur','Books','<p>Expand note on the left pane to see content.</p>',0,0,'2017-12-23T03:32:42.868Z','2018-08-29T17:20:44.779Z','text','text/html','TZ3NhLjTK3');
INSERT INTO notes VALUES('Lt8IUldw7d7H','Day template','',0,0,'2018-08-29T17:23:45.189Z','2018-08-29T17:23:52.521Z','text','text/html','1V3BTW/Qzw');
INSERT INTO notes VALUES('GpGnjmcAPeWG','28 - Tuesday','',0,0,'2017-12-23T03:44:57.036Z','2018-08-29T17:28:22.525Z','text','text/html','JdiPCl+HVd');
INSERT INTO notes VALUES('Iha4YwchR413','21 - Thursday','',0,0,'2017-12-23T03:44:21.176Z','2018-08-29T17:28:27.526Z','text','text/html','nf9l6wd8vt');
INSERT INTO notes VALUES('rUsGgtpohm7T','23 - Saturday','',0,0,'2018-08-29T17:29:32.934Z','2018-08-29T17:29:42.287Z','text','text/html','BugaZKKDJ+');
INSERT INTO notes VALUES('sXti7HgialF2','24 - Sunday - Christmas Eve!','',0,0,'2018-08-29T17:29:43.127Z','2018-08-29T17:29:57.523Z','text','text/html','RfShVwTOAB');
INSERT INTO notes VALUES('1Fi3MpUkZkLk','20 - Wednesday','',0,0,'2018-08-29T17:29:02.025Z','2018-08-29T17:30:42.516Z','text','text/html','xiDILk3qhD');
INSERT INTO notes VALUES('uP3V8BqwXC05','Buy milk','',0,0,'2018-08-29T19:42:32.712Z','2018-08-29T19:42:38.958Z','text','text/html','PGFo1+haU8');
INSERT INTO notes VALUES('Z4CC9azzMNhg','tesco','',0,0,'2018-08-29T19:42:47.853Z','2018-08-29T19:42:47.853Z','text','text/html','I6EArEtFH/');
INSERT INTO notes VALUES('q6A62bZE2R1r','groceries','',0,0,'2018-08-29T19:42:51.137Z','2018-08-29T19:42:51.137Z','text','text/html','mSbxrm1pq+');
INSERT INTO notes VALUES('tQmqkQOMHgQJ','mall','',0,0,'2018-08-29T19:43:40.321Z','2018-08-29T19:43:40.321Z','text','text/html','tRORZ6Y92z');
INSERT INTO notes VALUES('Lom0LEnCes1l','christmas','',0,0,'2018-08-29T19:43:44.020Z','2018-08-29T19:43:44.020Z','text','text/html','V8diNwZGLR');
INSERT INTO notes VALUES('ydix6JqjXiUm','Maybe Black Swan?','<p><a href="https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable">https://en.wikipedia.org/wiki/The_Black_Swan:_The_Impact_of_the_Highly_Improbable</a></p><p>&nbsp;</p><p><i><strong>The Black Swan: The Impact of the Highly Improbable</strong></i> is a 2007 book by author and former <a href="https://en.wikipedia.org/wiki/Options_trader">options trader</a> <a href="https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb">Nassim Nicholas Taleb</a>. The book focuses on the extreme impact of rare and unpredictable <a href="https://en.wikipedia.org/wiki/Outlier">outlier</a> events — and the human tendency to find simplistic explanations for these events, retrospectively. Taleb calls this the <a href="https://en.wikipedia.org/wiki/Black_Swan_theory">Black Swan theory</a>.</p>',0,0,'2018-08-29T19:46:03.348Z','2018-08-29T19:46:18.965Z','text','text/html','ma55jm1LJ6');
INSERT INTO notes VALUES('XoLNnnlwdjBi','Buy some book for Bob','<p>Bob likes to read popular science books so something like that ..</p>',0,0,'2018-08-29T19:43:06.385Z','2018-08-29T19:46:33.959Z','text','text/html','/8VtxyCmab');
INSERT INTO notes VALUES('EluAg7EiealE','Get a gym membership','<p>Just in time for new years resolution!</p>',0,0,'2018-08-29T19:53:44.526Z','2018-08-29T19:54:18.702Z','text','text/html','/UwbTs3YGO');
INSERT INTO notes VALUES('vkoNZlNO5TO4','gym','',0,0,'2018-08-29T19:54:19.614Z','2018-08-29T19:54:19.614Z','text','text/html','6ZdjkVrgjU');
INSERT INTO notes VALUES('cUWgYJfpp8G8','28 - Thursday','',0,0,'2018-08-29T19:55:04.659Z','2018-08-29T19:55:04.659Z','text','text/html','g96BaV8SGj');
INSERT INTO notes VALUES('cmYy3Z22F4MY','Dentist appointment','',0,0,'2018-08-29T19:56:35.605Z','2018-08-29T19:56:43.698Z','text','text/html','rNyV4tYv7n');
INSERT INTO notes VALUES('2V9Zg9CXdNvn','health','',0,0,'2018-08-29T19:57:02.268Z','2018-08-29T19:57:02.268Z','text','text/html','QQYGpa/4DF');
INSERT INTO notes VALUES('d04CnuZxPXj2','shopping','',0,0,'2018-08-29T19:58:59.133Z','2018-08-29T19:58:59.133Z','text','text/html','wWU276L2X9');
INSERT INTO notes VALUES('TTl2nD4CqzC9','work','',0,0,'2018-08-29T19:59:38.878Z','2018-08-29T19:59:38.878Z','text','text/html','hIuAZE3DRY');
INSERT INTO notes VALUES('ve3Ib30x9nGf','Send invites for christmas party','',0,0,'2018-08-29T19:59:04.328Z','2018-08-29T19:59:39.777Z','text','text/html','d1/wzQEAwD');
INSERT INTO notes VALUES('MG0wntwILQW6','22 - Friday','',0,0,'2017-12-23T01:21:10.517Z','2018-08-29T20:01:14.789Z','text','text/html','Jus3ysHko7');
INSERT INTO notes VALUES('cwPuYRAGKtUi','19 - Tuesday','',0,0,'2018-08-29T17:29:16.628Z','2018-08-29T17:29:24.733Z','text','text/html','zzBNYSR1hq');
INSERT INTO notes VALUES('7H3OrcgB8Io6','Meeting minutes','<p>bla bla bla ...</p>',0,0,'2018-08-29T21:26:55.803Z','2018-08-29T21:27:10.698Z','text','text/html','Ihj8K5PcrT');
INSERT INTO notes VALUES('tX80udgxnW5n','18 - Monday','<p>Miscellaneous notes done on monday ...</p><p>&nbsp;</p><p>Interesting video: <a href="https://www.youtube.com/watch?v=_eSAF_qT_FY&amp;feature=youtu.be">https://www.youtube.com/watch?v=_eSAF_qT_FY&amp;feature=youtu.be</a></p><p>&nbsp;</p><p>&nbsp;</p>',0,0,'2018-08-29T17:29:24.548Z','2018-08-29T21:28:50.683Z','text','text/html','3ZuNMUCKI6');
INSERT INTO notes VALUES('qEi5St9PBPCP','Button',replace('api.addButtonToToolbar({\n    title: ''Weight Tracker'',\n    icon: ''star'',\n    action: () => api.activateNote(''8LOr7xUMuWD4'')\n});','\n',char(10)),0,0,'2018-08-28T20:50:36.150Z','2018-08-28T21:01:26.563Z','code','application/javascript;env=frontend','N9f0m+DlQA');
INSERT INTO notes VALUES('kV2NwNNvepGF','JS code',replace('async function getChartData() {\n    const days = await api.runOnServer(async () => {\n        const notes = await api.getNotesWithLabel(''weight'');\n        const days = [];\n\n        for (const note of notes) {\n            const date = await note.getLabelValue(''dateNote'');\n            const weight = parseFloat(await note.getLabelValue(''weight''));\n\n            if (date && weight) {\n                days.push({ date, weight });\n            }\n        }\n\n        days.sort((a, b) => a.date > b.date ? 1 : -1);\n\n        return days;\n    });\n\n    const datasets = [\n        {\n            label: "Weight (kg)",\n            backgroundColor: ''red'',\n            borderColor: ''red'',\n            data: days.map(day => day.weight),\n            fill: false,\n            spanGaps: true,\n            datalabels: {\n                display: false\n            }\n        }\n    ];\n\n    return {\n        datasets: datasets,\n        labels: days.map(day => day.date)\n    };\n}\n\nconst ctx = $("#canvas")[0].getContext("2d");\n\nnew chartjs.Chart(ctx, {\n    type: ''line'',\n    data: await getChartData()\n});','\n',char(10)),0,0,'2018-08-28T20:50:36.092Z','2018-08-29T22:14:00.701Z','code','application/javascript;env=frontend','w+OzbwCEwQ');
INSERT INTO notes VALUES('Dk5RGYzufXg3','JS code',replace('const persons = await api.runOnServer(async () => {\n    const relationMapping = {\n        isPartnerOf: "isPartnerOf",\n        isChildOf: "hasChild",\n        hasChild: "isChildOf"\n    };\n    \n    const familyContainer = await api.originEntity.getRelationTarget(''familyContainer'');\n    \n    const persons = await familyContainer.findNotesWithLabel(''person'');\n    const map = {};\n    \n    for (const person of persons) {\n        const src = map[person.noteId] = map[person.noteId] || {};\n        src.title = person.title;\n        src.dateOfBirth = await person.getLabelValue(''dateOfBirth'') || '''';\n        src.dateOfDeath = await person.getLabelValue(''dateOfDeath'') || '''';\n        \n        for (const relation of await person.getRelations()) {\n            src[relation.name] = src[relation.name] || [];\n            src[relation.name].push(relation.value);\n            \n            const trg = persons[relation.value] = persons[relation.value] || {};\n            const inverseRelation = relationMapping[relation.name];\n            \n            trg[inverseRelation] = trg[inverseRelation] || [];\n            trg[inverseRelation].push(person.noteId);\n        }\n    }\n    \n    return map;\n});\n\n// Create the input graph\nvar g = new dagreD3.graphlib.Graph()\n  .setGraph({\n      rankdir: "TB",\n      ranksep: 100\n  })\n  .setDefaultEdgeLabel(function() { return {}; });\n\nfor (const noteId in persons) {\n    const person = persons[noteId];\n    \n    const noteLink = await api.createNoteLink(noteId);\n    \n    g.setNode(noteId, { labelType: ''html'', label: noteLink[0].outerHTML \n                       + `<div style="color: black">${person.dateOfBirth.substr(0, 4)} - ${person.dateOfDeath.substr(0, 4)}</div>` });\n    \n    for (const childNoteId of (person.hasChild || [])) {\n        g.setEdge(noteId, childNoteId);\n    }\n}\n\ng.nodes().forEach(function(v) {\n  var node = g.node(v);\n  // Round the corners of the nodes\n  node.rx = node.ry = 5;\n});\n\n// Create the renderer\nvar render = new dagreD3.render();\n\n// Set up an SVG group so that we can translate the final graph.\nvar svg = d3.select("svg"),\n    svgGroup = svg.append("g");\n\n// Run the renderer. This is what draws the final graph.\nrender(d3.select("svg g"), g);\n\n// Center the graph\nvar xCenterOffset = (svg.attr("width") - g.graph().width) / 2;\nsvgGroup.attr("transform", "translate(" + xCenterOffset + ", 20)");\nsvg.attr("height", g.graph().height + 40);','\n',char(10)),0,0,'2018-08-28T20:50:21.939Z','2018-08-29T22:14:10.701Z','code','application/javascript;env=frontend','4CRzHnTsUv');
INSERT INTO notes VALUES('ucC6Zabv3Uml','CS',replace('/* This sets the color for "TK" nodes to a light blue green. */\ng.type-TK > rect {\n  fill: #00ffd0;\n}\n\ntext {\n  font-weight: 300;\n  font-family: "Helvetica Neue", Helvetica, Arial, sans-serf;\n  font-size: 14px;\n}\n\n.node rect {\n  stroke: #999;\n  fill: #fff;\n  stroke-width: 1.5px;\n}\n\n.edgePath path {\n  stroke: #333;\n  stroke-width: 1.5px;\n}','\n',char(10)),0,0,'2018-08-28T20:50:22.120Z','2018-08-29T22:14:15.695Z','code','text/css','i19l+E0YSl');
INSERT INTO notes VALUES('gYNJtGEPGW95','CSS',replace('span.fancytree-node.todo .fancytree-title {\n    color: red !important;\n}\n\nspan.fancytree-node.done .fancytree-title {\n    color: green !important;\n}','\n',char(10)),0,0,'2018-08-28T20:50:48.581Z','2018-08-29T22:14:28.006Z','code','text/css','gz0KCewmIx');
INSERT INTO notes VALUES('s0Hhsl0nb1bg','Queen Elizabeth II.','<p>&nbsp;</p><p><strong>Elizabeth II</strong> (Elizabeth Alexandra Mary; born 21 April 1926)<a href="https://en.wikipedia.org/wiki/Elizabeth_II#cite_note-birthday-1">[a]</a> is <a href="https://en.wikipedia.org/wiki/Queen_of_the_United_Kingdom">Queen of the United Kingdom</a> and the other <a href="https://en.wikipedia.org/wiki/Commonwealth_realm">Commonwealth realms</a>.</p><p>&nbsp;</p><p>Elizabeth was born in <a href="https://en.wikipedia.org/wiki/London">London</a> as the first child of the Duke and Duchess of York, later <a href="https://en.wikipedia.org/wiki/King_George_VI">King George VI</a> and <a href="https://en.wikipedia.org/wiki/Queen_Elizabeth_The_Queen_Mother">Queen Elizabeth</a>, and she was educated privately at home. Her father acceded to the throne on the <a href="https://en.wikipedia.org/wiki/Edward_VIII_abdication_crisis">abdication</a> of his brother <a href="https://en.wikipedia.org/wiki/King_Edward_VIII">King Edward VIII</a> in 1936, from which time she was the <a href="https://en.wikipedia.org/wiki/Heir_presumptive">heir presumptive</a>. She began to undertake public duties <a href="https://en.wikipedia.org/wiki/Military_history_of_the_United_Kingdom_during_World_War_II">during the Second World War</a>, serving in the <a href="https://en.wikipedia.org/wiki/Auxiliary_Territorial_Service">Auxiliary Territorial Service</a>. In 1947, she married <a href="https://en.wikipedia.org/wiki/Philip,_Duke_of_Edinburgh">Philip, Duke of Edinburgh</a>, a former prince of <a href="https://en.wikipedia.org/wiki/Greece">Greece</a> and <a href="https://en.wikipedia.org/wiki/Denmark">Denmark</a>, with whom she has four children: <a href="https://en.wikipedia.org/wiki/Charles,_Prince_of_Wales">Charles, Prince of Wales</a>; <a href="https://en.wikipedia.org/wiki/Anne,_Princess_Royal">Anne, Princess Royal</a>; <a href="https://en.wikipedia.org/wiki/Andrew,_Duke_of_York">Andrew, Duke of York</a>; and <a href="https://en.wikipedia.org/wiki/Edward,_Earl_of_Wessex">Edward, Earl of Wessex</a>.</p><p>&nbsp;</p><p>When her father died in February 1952, she became <a href="https://en.wikipedia.org/wiki/Head_of_the_Commonwealth">Head of the Commonwealth</a> and <a href="https://en.wikipedia.org/wiki/Queen_regnant">queen regnant</a> of seven independent Commonwealth countries: the United Kingdom, <a href="https://en.wikipedia.org/wiki/Canada">Canada</a>, <a href="https://en.wikipedia.org/wiki/Australia">Australia</a>, <a href="https://en.wikipedia.org/wiki/New_Zealand">New Zealand</a>, <a href="https://en.wikipedia.org/wiki/Union_of_South_Africa">South Africa</a>, <a href="https://en.wikipedia.org/wiki/Dominion_of_Pakistan">Pakistan</a>, and <a href="https://en.wikipedia.org/wiki/Dominion_of_Ceylon">Ceylon</a>.</p>',0,0,'2018-08-28T20:50:22.196Z','2018-08-29T22:32:40.728Z','text','text/html','Fno0n5c24z');
INSERT INTO notes VALUES('prjUbW6QtsL4','Buy a board game for Alice','<p>&nbsp;</p><figure class="image image-style-side"><img src="/api/images/0mLHhGv61RDM/codenames.jpg"></figure><p>Maybe CodeNames? <a href="https://boardgamegeek.com/boardgame/178900/codenames">https://boardgamegeek.com/boardgame/178900/codenames</a></p>',0,0,'2018-08-29T19:46:42.135Z','2018-08-30T07:54:16.980Z','text','text/html','p1mvpEr0ca');
INSERT INTO notes VALUES('IYKhW6LTUpwP','Task manager','<p>This is a simple TODO/Task manager. You can see some description and explanation here: <a href="https://github.com/zadam/trilium/wiki/Task-manager">https://github.com/zadam/trilium/wiki/Task-manager</a></p>',0,0,'2018-08-28T20:50:48.441Z','2018-08-30T20:30:03.023Z','text','text/html','Zja0huapqL');
INSERT INTO notes VALUES('3RkyK9LI18dO','Journal','<p>You can read some explanation on how this journal works here: <a href="https://github.com/zadam/trilium/wiki/Day-notes">https://github.com/zadam/trilium/wiki/Day-notes</a></p>',0,0,'2017-12-23T01:20:04.181Z','2018-08-30T20:30:53.042Z','text','text/html','Ul+t07+mD1');
INSERT INTO notes VALUES('root','root','<p>This is a root of the note tree, it is the "ancestor" of all notes.&nbsp;</p>',0,0,'2017-12-22T11:41:07.000Z','2018-08-30T20:32:58.029Z','text','text/html','dWViNNtQWM');
INSERT INTO notes VALUES('YBAcWV8TjYEp','Implementation',replace('<strong>See explanation <a href="https://github.com/zadam/trilium/wiki/Weight-tracker" target="_blank">here</a></strong>.\n\n<canvas id="canvas"></canvas>','\n',char(10)),0,0,'2018-08-28T20:55:00.059Z','2018-09-01T11:44:41.765Z','code','text/html','+mtQ+1OT7B');
INSERT INTO notes VALUES('Z5yhGE5g0UB5','Implementation',replace('<strong>See explanation <a href="https://github.com/zadam/trilium/wiki/Family-tree" target="_blank">here</a></strong>.\n\n<svg id="svg" width="600" height="600"></svg>','\n',char(10)),0,0,'2018-08-28T20:51:10.186Z','2018-09-01T11:45:01.572Z','code','text/html','Q0gufHRIeL');
INSERT INTO notes VALUES('i3cLVxiO6GlW','School schedule','<figure class="table"><table><thead><tr><th>&nbsp;</th><th>Monday</th><th>Tuesday</th><th>Wednesday</th><th>Thursday</th><th>Friday</th></tr></thead><tbody><tr><td>9:00-10:30</td><td>P.E.</td><td>&nbsp;</td><td>Math</td><td>Computer Science</td><td>&nbsp;</td></tr><tr><td>11:00-12:30</td><td>History</td><td>English</td><td>&nbsp;</td><td>Physics</td><td>Math</td></tr><tr><td>13:00-14:30</td><td>&nbsp;</td><td>Computer Science</td><td>Chemistry</td><td>Physics Lab</td><td>Geography</td></tr><tr><td>15:00-16:30</td><td>Computer Science</td><td>&nbsp;</td><td>Latin</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>',0,0,'2018-09-01T11:47:52.491Z','2018-09-01T11:54:23.942Z','text','text/html','WR30QWUdQa');
INSERT INTO notes VALUES('1Heh2acXfPNt','Trilium Demo','<figure class="image image-style-side"><img src="/api/images/ed64aET6i379/trilium-small.png"></figure><p><strong>Welcome to Trilium Notes!</strong></p><p>This is initial "demo" document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.</p><p>If you need any help, visit Trilium website: <a href="https://github.com/zadam/trilium">https://github.com/zadam/trilium</a></p><h3>Cleanup</h3><p>Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.</p><h3>Formatting</h3><p>Trilium supports classic formatting like <i>italic</i>, <strong>bold</strong>, <i><strong>bold and italic</strong></i>. Of course you can add links like this one pointing to <a href="http://www.google.com">google.com</a></p><p>Lists</p><p><strong>Ordered:</strong></p><ol><li>First Item</li><li>Second item<ol><li>First sub-item<ol><li>sub-sub-item</li></ol></li></ol></li></ol><p><strong>Unordered:</strong></p><ul><li>Item</li><li>Another item<ul><li>Sub-item</li></ul></li></ul><p>Block quotes</p><blockquote><p>Whereof one cannot speak, thereof one must be silent”</p><p>– Ludwig Wittgenstein</p></blockquote>',0,0,'2017-12-23T00:46:39.304Z','2018-09-03T18:10:25.547Z','text','text/html','tzub15jz32');
INSERT INTO notes VALUES('mw4f2xB4J5fV','Book to read','<p>How to be a stoic from Massimo Pigliuci:</p><p><a href="https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011">https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011</a></p>',0,0,'2017-12-23T18:05:24.868Z','2018-09-03T18:10:35.526Z','text','text/html','2VtmPD/pJQ');
INSERT INTO notes VALUES('vBv6ovBupfTj','Grocery list for today','<ul><li>cucumber</li><li>cheese</li><li>beer</li></ul><p>&nbsp;</p>',0,0,'2017-12-23T18:04:50.904Z','2018-09-03T18:10:36.866Z','text','text/html','eQxv+rrbeh');
INSERT INTO notes VALUES('1hASbLRDL7oo','Trusted timestamping','<p>Wiki: <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">https://en.wikipedia.org/wiki/Trusted_timestamping</a></p><p>Bozho: <a href="https://techblog.bozho.net/using-trusted-timestamping-java/">https://techblog.bozho.net/using-trusted-timestamping-java/</a></p><p><strong>Trusted timestamping</strong> is the process of <a href="https://en.wikipedia.org/wiki/Computer_security">securely</a> keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper''s integrity is never compromised.</p><p>The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.</p>',0,0,'2017-12-23T04:04:08.155Z','2018-09-03T18:10:50.511Z','text','text/html','QcLdenhCIi');
INSERT INTO notes VALUES('8nRNDJGyGs2Z','The Mechanical','<p>&nbsp;</p><p>I enjoyed this book a lot. It''s slow moving at times with the author taking his time with conversations and descriptions of them. The premise is very interesting, but I''m sad that it wasn''t elaborated more deeply - e.g. the history and development of the clakker technology with Huygens and how Spinoza comes into the picture. Maybe the author saves it for the next two parts of the book.</p><p>Language can be intimidating at first for non-native english speakers - author uses wide range of vocabulary. Fortunately it gets better after a while as reader adjusts.</p>',0,0,'2017-12-23T03:33:37.327Z','2018-09-03T18:11:05.536Z','text','text/html','u7zNoAyBWO');
INSERT INTO notes VALUES('9zSwD89vgzNO','Highlights','<blockquote><p>Like a raindrop rolling down dry valleys to the sea, his body sensed the contours of agony and helplessly followed their gradient. Impelled by alchemical compulsion rather than gravity, Jax became an unstoppable boulder careering along gullies of human whim.</p></blockquote><blockquote><p>Free Will was a vacuum, a negative space. It was the absence of coercion, the absence of compulsion, the absence of agony.</p></blockquote><blockquote><p>Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all was nothing-at-all. The topology of freedom offered no gradients to nudge him, no landmarks to guide him. How did humans guide themselves? How did they know what to do and what not to do? How did they know when to do anything without the benefit of geasa and metageasa to prioritize every single action of their waking lives? How did they order their daily existence without somebody to tell them what to do?</p></blockquote><blockquote><p>Life as a slave was unspeakable; life as a slave who had briefly tasted freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy; humans carried heavy obligations, too, but called them culture. Society.</p></blockquote>',0,0,'2017-12-23T03:37:04.912Z','2018-09-03T18:11:14.744Z','text','text/html','g+zAteytVH');
INSERT INTO notes VALUES('rz5t0r9Qr2WC','Epics','<p>Epic is kind of medium-term events or projects spread over days or months.</p><p>Remember that Trilium is all free form so you can organise your stuff in whatever way you''d like.</p><p>&nbsp;</p><p>&nbsp;</p>',0,0,'2017-12-23T03:45:20.914Z','2018-09-03T18:11:24.529Z','text','text/html','3T/xAD56IB');
INSERT INTO notes VALUES('2WU27ekfy07E','To read','<p>Checkout Kindle daily deals: <a href="https://www.amazon.com/gp/feature.html?docId=1000677541">https://www.amazon.com/gp/feature.html?docId=1000677541</a></p><ul><li>Cixin Liu - <a href="https://www.amazon.com/Dark-Forest-Remembrance-Earths-Past/dp/0765386690/ref=pd_bxgy_14_img_2?_encoding=UTF8&amp;pd_rd_i=0765386690&amp;pd_rd_r=AB0J179TM9NTEAMHE240&amp;pd_rd_w=FAhxX&amp;pd_rd_wg=pLGK7&amp;psc=1&amp;refRID=AB0J179TM9NTEAMHE240">The Dark Forest</a></li><li>Ann Leckie - <a href="https://www.amazon.com/Ancillary-Sword-Imperial-Radch-Leckie/dp/0316246654/ref=pd_sim_14_1?_encoding=UTF8&amp;pd_rd_i=0316246654&amp;pd_rd_r=D7KDTGZFP7YM1YSYVY4G&amp;pd_rd_w=jkn28&amp;pd_rd_wg=JVhtw&amp;psc=1&amp;refRID=D7KDTGZFP7YM1YSYVY4G">Ancillary Sword</a></li></ul>',0,0,'2017-12-23T03:32:49.379Z','2018-09-03T18:11:40.673Z','text','text/html','E1HEcCvSfZ');
INSERT INTO notes VALUES('u5t1EvWa3CMO','Man''s search for meaning','<blockquote><p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful.&nbsp;</p></blockquote><blockquote><p>Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?</p></blockquote><p>&nbsp;</p>',0,0,'2017-12-23T03:39:21.918Z','2018-09-03T18:11:50.473Z','text','text/html','q9V/kvP6xl');
INSERT INTO notes VALUES('C44aq4mkaX67','Bash scripting','<p><strong>Bash</strong> is a <a href="https://en.wikipedia.org/wiki/Unix_shell">Unix shell</a> and <a href="https://en.wikipedia.org/wiki/Command_language">command language</a> written by <a href="https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer)">Brian Fox</a> for the <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a> as a <a href="https://en.wikipedia.org/wiki/Free_software">free software</a> replacement for the <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>. First released in 1989, it has been distributed widely as the default <a href="https://en.wikipedia.org/wiki/Login">login</a> shell for most <a href="https://en.wikipedia.org/wiki/Linux">Linux</a> distributions and <a href="https://en.wikipedia.org/wiki/Apple_Inc.">Apple''s</a> <a href="https://en.wikipedia.org/wiki/MacOS">macOS</a> (formerly OS X). A version <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">is also available for Windows 10</a>.</p><p><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash on Wikipedia</a></p>',0,0,'2017-12-23T01:23:31.879Z','2018-09-03T18:12:10.910Z','text','text/html','8LDaHxrzg2');
INSERT INTO notes VALUES('NncfGH8dyNjJ','Programming','',0,0,'2017-12-23T01:23:02.584Z','2018-09-03T18:12:20.871Z','text','text/html','O6mr+c57P2');
INSERT INTO notes VALUES('ZC78NlmdXeC6','Linux','',0,0,'2017-12-23T01:22:55.255Z','2018-09-03T18:12:24.638Z','text','text/html','cXlNBqpxlL');
INSERT INTO notes VALUES('h4OfLEAYspud','Security','',0,0,'2017-12-23T04:04:00.715Z','2018-09-03T18:12:28.613Z','text','text/html','BiMTeajSw5');
INSERT INTO notes VALUES('QbL3pTvhgzM8','Processes','<p>bla bla ...</p>',0,0,'2017-12-23T04:06:43.841Z','2018-09-03T18:12:37.910Z','text','text/html','3ZbW13jHCM');
INSERT INTO notes VALUES('yK4SBJfwD3tY','Work','<p>Expand note on the left pane to see content.</p><p>&nbsp;</p><p>&nbsp;</p>',0,0,'2017-12-23T04:06:32.833Z','2018-08-29T18:23:35.049Z','text','text/html','my57OxteKd');
