index.html 4.5 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>TIC-80 tiny computer</title>
  8. <style type="text/css">
  9. .modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content{position:relative;background-color:#fefefe;margin:auto;padding:2px 16px;border:1px solid #888;width:500px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation-name:animatetop;-webkit-animation-duration:.4s;animation-name:animatetop;animation-duration:.4s}@keyframes animatetop{from{top:-300px;opacity:0}to{top:0;opacity:1}}.close{color:#000;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer}
  10. </style>
  11. </head>
  12. <body style="margin:0; padding:0;">
  13. <div>
  14. <canvas style="margin: 0 auto; display: block;" id="canvas" oncontextmenu="event.preventDefault()" onmousedown="window.focus()"></canvas>
  15. </div>
  16. <div id="add-modal" class="modal">
  17. <div class="modal-content">
  18. <span class="close">&times</span>
  19. <p>Select a file to add to the computer</p>
  20. <p><input type="file" id="upload-input"></input></p>
  21. </div>
  22. </div>
  23. <script type="text/javascript">
  24. var Module = {canvas: document.getElementById('canvas')};
  25. </script>
  26. <script type='text/javascript'>
  27. var cartridge = [120,218,237,125,11,96,84,197,213,240,13,47,33,32,1,165,84,109,171,151,165,104,22,200,186,143,188,72,196,128,128,8,162,164,32,190,98,132,155,221,187,201,146,221,189,235,190,146,200,151,26,144,42,90,31,105,125,34,86,163,165,22,99,85,4,177,42,213,226,187,248,174,90,91,107,81,180,90,95,213,82,173,191,218,106,243,159,115,102,230,222,185,119,119,67,172,250,253,210,159,217,189,187,247,206,227,156,121,156,57,115,230,204,153,185,69,235,14,86,62,183,75,236,163,40,85,1,69,9,4,44,191,250,145,138,162,111,81,148,134,6,69,217,114,135,162,156,184,21,254,225,154,49,36,15,128,157,202,206,247,70,143,134,223,220,160,247,70,208,207,206,107,214,42,215,188,247,214,53,59,215,146,71,94,87,63,116,137,178,113,228,214,145,22,216,209,116,237,92,54,108,244,206,247,222,27,109,139,188,117,40,36,128,255,141,112,53,12,85,54,110,93,66,23,222,43,202,190,138,242,244,14,69,57,110,199,190,79,239,120,238,179,63,236,216,81,210,179,227,51,69,249,99,137,162,244,176,228,106,111,175,162,156,249,115,69,145,255,223,239,43,49,225,207,134,162,206,27,162,116,207,134,155,121,248,176,30,125,33,146,82,108,198,89,198,203,55,26,174,238,2,133,218,133,87,49,187,198,20,241,250,43,177,252,228,107,236,88,30,222,13,0,215,94,74,136,187,103,67,38,192,111,158,66,127,166,155,1,128,187,123,75,148,238,159,194,213,195,240,139,235,127,203,237,218,135,209,206,178,97,138,18,14,179,171,144,43,220,236,12,84,73,31,128,234,85,122,138,123,173,250,85,194,8,123,152,9,223,233,158,134,118,190,112,141,162,148,173,82,186,214,172,25,254,101,23,111,227,240,174,145,27,215,172,25,169,172,1,28,120,201,174,100,151,178,171,167,174,184,103,240,224,125,148,58,168,255,125,82,185,0,70,64,99,172,189,92,81,34,107,173,255,129,184,158,193,138,50,24,96,22,123,21,197,171,64,141,204,80,122,7,207,80,106,224,130,134,199,156,117,3,237,67,133,142,128,107,200,237,140,50,192,191,123,30,11,110,128,190,112,217,90,165,193,237,86,70,174,93,75,228,212,189,118,237,8,229,241,199,89,158,254,219,29,246,217,181,80,23,151,93,6,255,188,252,107,214,140,160,54,252,255,161,252,178,91,178,68,169,159,50,105,232,150,37,224,38,185,150,212,47,89,50,84,217,213,7,244,91,82,130,255,187,118,237,179,43,209,215,183,15,245,229,179,62,34,186,86,92,46,69,85,148,65,131,122,224,42,81,212,65,197,112,1,203,68,63,12,203,113,24,122,61,134,170,116,191,108,84,116,216,182,135,31,30,22,141,106,69,15,135,163,227,163,247,61,28,30,31,142,70,151,61,252,240,248,101,154,86,84,178,44,188,108,88,56,60,108,217,255,233,131,107,87,24,254,195,248,12,254,4,238,241,81,219,30,223,166,40,163,182,45,91,54,106,148,162,108,123,28,189,192,31,30,70,161,83,246,186,221,56,228,155,35,216,48,82,15,227,225,146,134,145,245,56,158,119,119,179,203,233,128,123,44,56,126,246,168,25,179,135,108,83,134,204,192,139,198,161,158,25,67,138,123,223,190,165,183,119,198,144,94,26,139,103,216,8,107,180,82,15,180,4,240,235,21,160,49,188,89,130,15,75,148,97,196,181,151,97,107,134,135,237,218,133,109,189,44,28,214,194,200,195,151,45,91,102,199,13,125,178,235,59,7,12,255,195,26,112,165,174,53,200,199,183,3,128,237,208,202,35,144,95,69,163,163,20,32,38,74,136,105,157,233,247,186,189,110,175,179,185,42,112,169,54,230,242,253,247,237,198,53,44,217,178,101,9,12,24,244,211,0,31,248,226,248,1,183,91,240,75,127,240,179,101,209,146,69,75,88,48,248,108,90,194,162,111,217,210,208,48,105,139,221,127,210,146,73,240,212,128,0,225,103,44,184,217,224,10,255,143,187,116,230,204,3,199,94,10,55,99,225,102,28,220,28,8,55,224,61,22,188,103,126,209,250,217,93,249,246,244,246,15,236,31,216,127,226,126,19,247,195,250,220,207,197,62,129,0,248,6,2,19,125,126,255,126,109,14,23,112,56,172,157,73,147,182,76,218,180,104,209,166,73,224,22,129,155,8,78,132,127,213,249,95,11,110,92,30,135,121,240,131,51,195,21,101,220,184,65,112,185,240,26,52,14,50,56,209,31,8,248,109,233,123,123,217,37,165,255,127,93,190,175,188,253,89,91,163,155,232,252,199,246,15,236,214,97,116,63,254,225,39,224,242,91,1,62,244,167,112,2,233,231,215,196,1,0,100,206,191,231,215,239,215,221,173,217,177,102,205,31,214,92,136,18,213,142,11,225,206,249,140,124,65,27,143,191,99,195,99,243,60,184,150,184,92,139,92,147,92,224,96,202,176,200,229,124,254,26,208,119,32,208,215,23,248,160,175,175,174,15,239,20,165,239,163,190,190,179,96,96,195,241,173,10,131,47,89,187,118,154,184,102,205,158,93,30,152,229,11,4,102,77,96,148,188,185,34,16,104,104,8,108,214,183,192,255,146,138,205,91,78,12,4,78,172,133,112,8,155,229,98,116,250,65,93,224,3,184,126,218,87,83,7,24,106,2,255,188,21,48,213,193,117,56,69,216,12,159,197,254,197,126,248,11,4,216,95,45,252,77,194,176,247,192,97,77,94,234,112,232,143,227,219,87,93,63,46,238,86,129,43,5,231,108,127,17,94,168,253,199,114,167,130,27,4,238,235,214,254,123,221,231,31,255,137,14,120,251,203,99,63,209,129,163,253,229,241,113,40,184,122,112,131,6,13,31,4,81,97,138,182,106,111,251,239,117,123,221,215,221,237,42,129,81,17,70,198,93,187,216,191,210,199,252,132,67,253,117,95,95,137,184,40,14,197,19,201,173,15,198,216,3,107,160,13,190,109,74,162,42,160,180,85,85,193,21,72,192,84,7,174,54,154,35,99,4,248,73,181,13,86,170,224,38,0,23,200,14,131,33,120,240,158,222,244,40,185,79,132,191,193,131,84,239,224,49,69,236,10,4,188,40,27,245,130,115,161,136,128,172,127,236,88,250,199,248,201,182,182,195,240,95,204,7,133,140,192,228,137,253,20,69,133,65,164,72,197,91,245,235,94,254,68,32,21,72,164,82,85,9,104,84,248,167,54,95,177,162,109,69,38,179,34,83,95,191,164,62,21,128,118,78,165,6,183,193,127,42,197,218,252,151,112,157,244,203,95,46,30,138,58,204,61,221,161,138,84,27,6,87,24,175,97,112,21,41,218,120,184,47,82,148,177,162,255,227,210,100,177,178,171,71,97,23,46,107,150,216,24,8,174,149,130,79,49,187,122,88,10,211,1,175,216,133,41,122,32,93,113,79,225,188,96,24,196,161,184,125,125,67,142,40,217,203,154,109,46,226,112,221,182,167,255,202,242,118,200,174,219,186,221,147,203,187,108,217,178,174,101,204,229,148,119,165,233,214,174,91,217,109,61,237,233,229,77,160,203,41,111,71,199,202,48,186,149,107,169,144,221,61,61,43,87,106,232,86,66,11,239,201,229,133,18,119,245,244,108,220,232,40,239,186,117,172,188,244,79,37,22,229,93,183,110,79,47,111,79,119,119,78,251,174,91,185,50,155,109,107,207,66,251,194,15,252,154,229,93,187,71,151,23,104,185,171,171,27,136,218,81,94,34,227,213,86,175,197,242,222,118,91,219,109,183,237,225,237,219,37,88,150,163,188,80,194,43,87,158,109,150,182,167,7,202,187,246,170,149,87,97,61,236,185,229,133,198,221,184,17,89,86,190,242,174,92,185,106,229,202,43,224,15,58,112,55,241,173,85,93,93,171,247,232,242,246,244,80,223,205,211,190,235,144,75,117,81,169,245,108,187,53,30,173,214,245,61,152,158,187,209,21,46,47,235,191,186,174,227,120,68,110,229,217,217,61,185,188,133,229,171,117,217,54,160,223,179,87,3,73,103,219,178,188,113,175,236,94,185,122,93,251,127,103,121,87,174,238,90,221,197,72,26,154,185,171,107,213,234,174,85,93,87,175,62,123,143,230,207,253,201,207,172,73,187,86,175,234,130,66,174,162,135,117,208,141,215,253,183,206,23,214,173,91,11,194,149,228,214,226,32,188,238,191,182,188,249,28,159,22,14,109,186,72,169,173,85,83,193,100,36,145,174,81,195,122,60,174,71,139,139,75,195,113,53,97,68,226,105,181,161,93,237,104,84,87,212,180,171,237,106,77,135,218,209,233,182,2,167,171,13,154,218,212,168,150,106,241,144,90,58,93,213,60,237,106,147,167,221,205,238,59,224,190,195,237,118,51,104,89,45,20,226,209,17,88,233,20,43,54,128,165,71,150,128,35,200,166,50,77,114,252,50,123,252,178,156,248,161,72,86,142,127,184,61,254,225,57,241,211,145,152,158,146,83,76,182,167,152,156,147,34,150,137,98,252,184,45,126,92,142,29,23,113,67,145,84,90,84,78,76,75,183,120,82,103,36,211,88,202,210,211,109,69,241,187,77,31,134,11,124,176,202,24,62,173,89,109,200,2,4,130,150,85,75,89,139,120,85,175,25,37,110,36,99,44,14,229,46,139,5,245,225,3,36,205,90,144,224,106,200,170,225,70,1,162,52,172,102,169,157,240,159,218,8,72,32,13,173,168,37,67,106,52,210,4,15,153,112,152,53,92,36,164,199,211,145,116,7,80,66,163,218,206,91,51,18,15,170,13,80,17,80,162,184,234,19,109,28,210,185,111,153,236,27,143,68,235,40,49,80,69,59,62,137,128,116,50,163,243,144,72,24,130,240,89,13,107,209,148,46,98,232,177,68,186,195,76,236,85,75,39,66,14,68,96,56,146,196,74,14,26,81,8,245,168,240,111,225,140,106,206,32,72,10,127,102,226,164,110,70,40,86,213,210,168,78,205,213,208,216,88,140,139,148,152,159,210,35,68,26,108,37,141,252,33,36,100,64,173,25,73,181,33,162,250,69,132,70,30,8,193,233,20,64,210,32,26,84,69,196,45,144,71,0,175,170,185,77,236,49,45,161,54,132,49,168,49,31,118,93,11,182,32,2,108,114,13,74,105,67,34,80,68,168,245,56,96,81,168,80,38,168,35,228,172,22,53,161,99,89,120,69,82,105,32,140,161,225,209,195,4,8,18,148,178,26,165,106,194,80,113,47,192,83,15,142,169,72,109,105,173,41,170,123,34,241,148,14,100,29,195,108,136,54,137,166,245,228,127,94,182,8,203,12,160,71,100,154,163,124,122,86,79,34,57,88,208,121,17,48,80,102,69,97,72,131,191,77,152,92,42,150,173,84,130,146,211,140,102,169,155,134,163,6,180,109,92,4,6,141,4,208,189,97,86,227,116,40,121,71,66,87,13,183,234,162,42,112,185,89,169,168,148,105,117,69,167,89,18,86,206,86,171,156,70,14,153,164,213,86,181,148,80,80,49,211,110,136,35,8,68,79,54,235,172,72,102,37,6,121,100,205,109,171,74,9,69,147,131,72,130,118,4,65,1,61,147,8,105,105,157,200,31,98,32,91,96,209,233,17,170,141,83,109,43,37,130,186,98,169,90,245,142,20,235,50,102,150,146,200,65,27,11,101,135,90,150,181,36,70,4,112,248,47,50,209,162,165,202,0,100,29,146,84,43,68,139,27,105,172,96,224,15,136,63,70,216,205,177,35,250,133,48,103,237,152,155,245,180,40,123,60,76,32,161,205,205,50,131,31,70,172,77,234,49,35,171,115,46,3,196,17,108,137,196,155,49,43,25,125,170,26,73,169,233,22,248,105,107,209,210,106,34,18,52,170,177,60,117,188,23,82,66,194,96,48,246,146,213,146,106,216,200,0,105,50,246,86,108,239,8,17,103,79,224,196,150,69,66,19,45,218,214,162,199,89,45,17,36,183,69,76,216,118,12,58,114,80,41,128,245,82,158,31,193,135,68,147,50,22,140,49,18,73,234,4,38,153,179,44,200,180,30,206,196,131,233,136,17,119,241,236,184,142,8,199,143,116,229,198,179,245,9,224,148,34,239,88,126,108,8,215,10,151,123,96,29,4,203,132,41,74,61,30,70,60,170,171,70,117,241,34,177,12,3,151,112,77,85,93,72,37,5,18,185,58,93,188,229,69,86,13,86,69,144,83,248,115,89,190,172,89,160,160,248,47,249,227,104,165,186,224,151,251,1,96,131,200,18,6,204,102,45,166,203,3,101,176,69,139,35,247,69,102,114,196,116,206,80,146,192,143,140,152,234,243,122,221,22,91,41,59,50,27,209,219,248,184,141,68,90,74,210,78,214,124,194,177,60,17,213,58,244,164,39,97,164,212,106,183,120,50,194,97,40,36,50,53,54,144,87,150,195,215,26,212,144,249,89,204,140,227,142,203,193,101,241,116,139,99,96,164,84,230,240,40,199,229,18,96,220,146,27,100,184,56,202,99,161,242,251,154,128,140,104,180,44,20,9,82,135,200,0,140,84,228,76,189,81,116,138,84,38,6,210,12,62,241,49,213,167,82,44,222,13,176,65,49,10,136,25,244,39,35,66,56,110,214,248,16,38,97,19,197,179,48,155,210,129,184,67,33,171,86,157,51,107,177,154,72,26,89,144,112,82,106,170,35,149,214,99,170,160,116,236,223,208,181,131,154,57,166,105,152,50,170,83,40,180,190,17,86,185,92,4,131,121,74,197,236,107,42,230,215,192,209,41,150,48,226,16,12,164,136,92,147,103,110,41,176,8,181,65,87,91,83,102,249,145,74,69,167,229,61,98,41,200,78,130,35,180,166,220,82,77,16,105,99,99,209,13,31,143,60,170,78,21,142,132,74,212,203,224,97,63,231,221,89,224,176,139,86,188,188,13,173,144,119,202,14,14,161,122,202,198,81,151,2,108,145,21,61,101,31,165,169,48,88,22,26,104,9,33,8,155,88,166,165,80,236,21,92,14,142,234,201,4,13,99,106,146,132,69,13,37,101,32,145,38,28,160,147,166,124,106,143,150,101,99,63,235,6,172,107,216,227,39,140,182,48,35,75,18,108,27,81,134,206,74,52,151,110,211,129,87,54,24,106,2,188,67,234,82,107,216,88,74,188,126,41,229,79,240,26,24,182,107,12,232,235,53,9,136,95,147,133,36,53,33,72,85,147,82,67,102,28,112,53,97,117,169,39,108,243,137,50,104,158,40,149,211,109,11,211,35,60,16,110,224,199,17,104,136,64,35,55,16,230,49,52,32,97,75,39,176,129,161,28,110,148,13,184,112,97,23,190,176,182,211,40,60,240,178,183,105,17,40,103,136,141,234,84,15,94,26,83,189,80,164,21,80,134,112,167,93,10,40,163,72,56,152,82,37,25,65,16,4,121,3,74,116,144,54,233,0,240,9,154,164,17,41,237,49,100,246,155,246,132,176,125,241,207,103,49,102,34,117,244,247,225,4,5,3,211,158,148,196,184,145,160,176,184,105,172,45,248,49,228,26,97,180,111,213,9,8,230,73,213,235,169,112,35,172,82,74,2,68,149,196,78,141,151,92,151,18,16,142,27,227,27,156,8,125,64,81,34,149,45,29,194,204,147,1,66,149,116,198,52,242,196,36,100,12,19,67,35,33,160,202,56,19,131,161,162,61,208,216,105,79,86,130,138,117,145,246,36,132,136,232,49,232,233,76,103,177,74,69,232,153,246,90,60,146,106,23,6,27,59,149,16,145,200,25,37,44,97,204,5,222,24,34,131,4,150,72,138,164,165,90,78,66,70,211,114,96,124,200,44,19,75,227,56,236,165,53,144,79,211,75,73,26,82,67,153,164,134,92,81,53,18,196,58,151,18,106,156,83,114,15,85,75,234,42,60,214,96,92,160,175,72,124,138,145,73,171,186,150,66,145,42,28,167,160,200,84,236,22,145,248,212,156,160,48,239,208,64,154,209,38,45,216,138,101,107,5,166,230,3,184,205,153,24,240,89,21,40,174,69,231,217,68,196,53,172,75,18,12,206,209,129,232,155,163,70,19,160,159,59,243,184,57,199,195,165,186,142,209,160,168,145,56,37,158,173,235,9,23,103,97,11,22,46,172,87,107,112,128,231,30,65,152,104,68,210,41,115,14,238,243,121,105,224,45,102,193,33,61,1,195,170,87,68,6,65,160,89,47,139,194,116,37,202,88,84,35,50,46,142,189,205,72,70,97,148,6,225,213,242,75,71,162,40,207,218,252,104,116,137,144,152,107,121,70,128,103,219,125,210,201,72,115,179,158,180,123,134,219,109,143,177,84,51,15,39,254,156,50,160,90,202,124,252,49,150,73,69,130,117,124,20,34,159,51,50,145,96,107,10,154,56,93,39,228,85,22,48,119,206,241,115,22,205,92,96,129,154,185,232,184,133,139,78,177,158,143,155,57,119,222,44,122,100,207,179,231,204,60,225,152,227,22,207,181,131,153,61,103,78,253,156,197,39,96,125,241,10,3,46,163,19,203,97,130,20,62,242,234,99,108,137,77,79,40,22,171,234,21,68,203,53,172,46,233,151,121,176,138,164,95,230,97,214,162,184,97,222,172,30,233,151,39,20,213,40,110,152,55,19,187,80,6,179,196,49,147,129,70,13,45,84,198,114,213,16,205,178,201,73,58,169,129,192,225,178,130,72,224,101,165,36,233,131,162,67,108,214,221,136,133,6,185,196,205,211,46,88,56,115,246,188,227,231,10,49,218,70,54,65,15,253,219,131,88,161,131,30,250,183,7,153,197,15,122,196,173,35,173,40,55,36,231,183,246,8,172,166,130,30,250,119,91,194,136,36,158,178,41,102,208,99,86,22,231,37,192,99,130,121,36,143,96,84,215,146,162,222,26,85,49,209,34,143,144,26,51,128,87,128,236,21,135,238,205,218,90,107,211,58,212,112,18,68,62,134,192,170,79,219,32,37,79,255,16,148,60,149,194,161,99,58,204,33,128,47,214,170,113,84,35,168,192,21,40,7,105,163,45,110,227,173,148,97,112,181,102,20,152,115,209,220,175,69,195,143,45,50,9,250,168,235,161,172,186,113,250,140,170,49,246,100,113,102,115,54,158,149,216,44,3,110,78,202,177,87,78,64,169,198,164,11,214,51,165,177,22,202,192,68,60,156,39,179,126,108,225,160,216,32,4,201,163,49,235,234,113,75,172,79,225,52,17,176,180,90,18,56,250,148,161,66,138,247,41,234,119,153,132,90,233,101,207,65,156,213,68,85,181,210,199,158,83,58,10,193,240,236,103,100,91,211,4,140,19,111,42,3,236,57,22,73,165,240,166,98,26,123,110,1,129,132,158,171,89,115,165,128,59,65,79,176,16,195,156,219,53,107,98,185,11,120,146,26,48,121,106,115,18,36,231,52,136,209,106,131,207,95,173,246,127,77,179,174,128,23,46,31,92,126,113,17,59,18,244,222,162,163,218,23,203,90,195,160,131,84,228,85,167,85,170,53,62,9,101,141,183,236,72,128,225,243,171,53,0,162,188,156,60,224,174,10,227,209,93,165,183,19,97,52,65,167,105,73,51,24,85,249,97,4,24,140,10,19,70,149,9,195,71,48,218,12,35,148,98,249,104,152,86,173,78,155,134,211,197,198,252,192,202,25,176,74,19,88,181,9,204,223,217,41,21,180,73,75,233,101,124,134,66,165,165,158,106,105,144,209,139,205,38,157,190,41,152,94,167,117,21,155,187,166,37,161,86,224,127,76,107,23,183,169,132,14,221,148,66,25,139,246,169,181,32,168,167,35,137,104,68,79,242,137,80,212,160,137,16,245,27,100,165,53,122,123,2,16,212,178,20,77,122,60,216,18,211,146,173,52,191,106,194,190,31,13,102,162,32,141,34,27,175,209,130,170,31,162,194,60,45,110,0,183,200,232,228,153,78,227,208,223,224,83,253,141,157,150,18,87,79,151,49,174,192,71,10,94,122,238,87,202,244,104,206,186,48,25,59,117,118,78,214,172,212,1,63,39,218,4,212,50,167,103,42,187,120,106,54,128,13,251,249,67,36,158,5,176,70,178,131,97,151,125,202,162,145,24,16,126,37,31,168,116,13,102,132,172,247,242,110,21,141,36,202,144,99,51,134,83,11,227,109,4,106,46,30,137,145,44,197,71,47,24,138,69,199,196,76,233,90,72,130,129,228,103,132,58,236,62,97,29,181,65,232,3,228,128,98,135,92,73,18,125,4,181,100,40,18,39,197,26,214,27,35,1,232,128,108,54,206,165,28,219,147,151,100,6,233,209,231,150,123,214,236,57,71,45,153,171,186,232,207,37,58,113,170,197,72,88,34,16,215,125,183,234,212,237,27,218,212,22,156,92,23,210,234,145,70,160,3,50,209,98,78,60,89,36,163,205,140,100,69,108,135,136,109,141,178,136,75,76,23,35,183,19,22,183,219,161,126,69,100,29,24,65,48,106,73,69,24,137,151,53,33,127,74,49,133,183,208,255,2,183,247,225,138,9,170,75,98,60,149,28,208,142,1,164,189,244,145,70,215,26,251,40,170,109,24,36,20,201,16,82,174,3,133,159,161,192,97,133,225,177,35,242,51,68,60,216,196,182,27,116,205,164,245,36,237,189,64,101,21,18,53,248,92,193,197,0,194,15,76,131,59,220,110,126,215,110,13,33,205,41,14,72,109,23,153,46,4,140,170,185,0,60,105,33,167,153,13,224,49,166,136,168,69,49,63,165,134,85,232,47,20,64,157,164,45,2,146,64,208,128,10,131,217,4,76,2,105,230,81,44,83,9,85,85,99,177,157,78,8,121,135,165,185,48,73,5,98,99,203,203,84,36,8,187,29,18,96,66,34,29,183,219,42,121,40,169,181,49,202,197,210,71,13,163,53,147,160,28,107,169,84,6,71,149,234,118,38,139,77,229,129,168,38,214,84,84,72,24,64,130,144,107,206,100,226,153,88,19,178,74,148,105,16,158,89,24,86,17,68,148,66,150,137,217,181,253,237,108,165,134,133,201,37,40,5,216,44,108,10,78,111,219,81,105,200,214,248,232,185,131,61,119,72,197,161,161,208,210,133,91,189,48,107,41,195,109,234,104,166,231,205,58,244,188,108,41,73,168,22,33,52,43,47,115,149,29,201,231,54,49,53,205,48,50,54,77,165,137,113,5,142,218,108,225,17,197,153,174,54,163,184,38,30,155,217,130,9,100,205,204,54,221,192,56,104,137,64,152,198,103,165,97,185,246,66,98,140,30,227,138,165,172,141,159,217,39,254,253,161,129,241,23,200,183,182,13,168,179,140,45,19,129,188,30,79,69,76,110,189,91,16,62,183,61,171,254,175,46,171,126,51,171,109,90,90,47,148,85,100,90,95,10,70,31,199,72,245,210,47,202,194,48,80,9,163,218,21,208,70,140,141,144,64,60,113,139,60,219,100,182,103,194,110,97,12,192,124,54,75,194,244,219,109,110,126,3,98,185,157,168,121,249,179,164,202,206,178,88,2,113,76,150,157,65,2,193,101,84,10,41,99,11,252,16,174,162,92,5,211,22,173,221,214,129,156,80,36,156,71,78,55,87,244,113,174,164,134,0,173,93,133,3,192,216,200,203,125,115,49,91,136,75,203,40,186,92,21,253,196,135,216,33,144,177,213,10,119,222,154,118,22,139,138,212,31,246,10,83,92,199,21,247,80,50,19,111,149,133,7,110,12,129,222,101,161,76,188,89,7,158,78,204,51,8,17,168,110,154,180,172,57,21,201,178,129,67,90,10,48,23,2,136,108,48,33,38,146,215,92,67,32,52,81,173,241,213,23,156,234,1,76,181,2,144,91,121,202,163,19,180,88,86,131,44,252,200,185,183,245,5,187,216,35,247,139,120,214,236,60,144,27,137,33,67,254,172,90,193,32,251,82,158,37,0,64,125,102,29,235,121,89,244,98,109,84,123,194,194,217,11,213,163,22,215,171,188,10,139,107,69,93,226,50,100,155,193,140,113,96,212,193,54,65,26,15,69,98,230,74,231,20,156,126,53,232,48,207,38,48,25,152,61,146,84,73,106,179,180,97,136,202,143,115,89,79,168,98,117,15,151,89,197,141,7,33,113,142,69,89,140,51,235,15,123,184,27,187,145,133,60,164,197,6,134,28,219,77,247,80,124,175,123,119,25,129,88,253,102,4,195,29,25,129,57,69,131,181,236,36,10,43,165,102,25,128,104,94,183,164,154,209,61,148,223,2,203,204,60,212,190,48,66,210,9,12,181,90,208,45,33,160,231,92,133,55,70,156,226,140,57,133,162,58,107,210,8,161,69,64,110,25,190,104,62,25,100,71,14,152,159,45,19,56,71,43,99,196,196,213,191,22,195,139,102,163,49,35,196,215,231,98,145,184,90,94,173,230,244,57,30,10,204,170,172,188,58,95,143,156,172,6,144,65,233,30,54,75,100,72,216,3,230,4,168,136,207,225,88,184,22,14,235,193,116,74,197,60,241,222,15,34,23,136,90,26,235,16,54,165,154,200,189,208,170,49,111,150,111,155,87,169,232,51,186,44,118,11,238,50,5,24,139,42,74,59,89,142,140,154,11,115,60,175,101,121,167,233,109,139,150,21,25,171,244,78,82,89,59,114,120,0,26,83,167,50,193,32,76,170,245,144,220,62,2,37,199,194,210,49,184,108,213,66,90,237,19,120,185,196,111,51,7,42,131,222,160,33,233,96,223,210,130,76,96,13,82,214,146,168,167,102,98,168,23,243,87,238,149,58,164,100,15,3,121,192,196,98,13,5,82,227,122,182,219,82,243,145,62,10,24,166,79,50,157,193,10,23,168,101,138,169,165,53,90,30,66,218,130,184,165,166,164,154,72,165,194,153,40,86,140,200,13,206,223,217,122,46,118,81,82,4,152,168,69,175,183,216,129,45,54,103,9,236,79,82,190,177,72,83,248,191,96,85,122,78,12,123,29,90,177,161,14,120,91,64,75,160,183,105,162,4,178,60,46,171,9,163,57,93,82,11,203,214,11,140,188,106,155,35,89,29,39,9,174,84,208,72,234,46,181,173,37,2,157,183,77,167,246,65,126,137,53,100,128,136,148,180,148,41,108,102,141,241,177,101,116,15,83,80,120,61,254,10,150,123,134,140,34,16,142,152,22,137,71,59,40,151,33,156,85,241,194,192,104,145,138,52,69,162,144,77,81,102,14,116,138,5,29,215,151,121,149,243,245,115,243,81,172,154,229,224,11,107,193,52,228,26,216,128,22,113,64,158,44,110,176,119,172,168,105,3,38,164,211,98,158,90,19,52,226,225,12,230,208,167,214,180,160,161,128,207,83,209,137,216,34,170,175,0,162,102,61,174,39,81,215,101,196,51,64,59,64,114,26,159,85,17,135,40,132,123,10,146,241,100,147,207,120,61,129,2,37,225,55,172,97,219,19,101,113,189,157,153,67,212,182,192,4,45,150,129,150,2,111,61,25,209,177,167,66,7,194,82,81,36,19,63,179,44,106,240,249,213,128,95,173,2,225,193,239,85,3,94,250,135,27,63,234,249,208,130,98,50,246,56,252,193,204,96,239,242,154,189,24,17,179,117,54,78,75,78,18,179,52,10,32,167,137,168,146,225,145,89,252,74,213,16,220,180,184,80,221,156,206,20,216,152,111,131,70,116,28,15,161,41,170,164,158,209,127,26,62,132,127,174,52,108,216,253,124,104,136,31,178,84,149,185,169,36,18,230,133,86,203,251,137,69,48,151,35,85,243,225,95,52,189,85,177,194,74,138,235,106,104,216,37,11,167,90,10,73,49,3,17,35,25,57,19,104,56,164,167,53,144,84,67,148,84,197,37,83,115,172,164,245,83,134,144,110,93,117,117,117,46,49,63,96,72,200,31,149,60,164,7,162,168,4,90,245,149,139,65,9,27,150,38,66,24,87,26,169,12,153,29,90,66,50,25,193,120,208,128,202,69,22,5,66,166,130,46,237,10,217,189,96,86,234,114,187,100,205,8,203,20,3,50,133,41,159,38,3,114,168,117,210,40,216,5,215,54,140,67,57,195,4,214,194,183,153,185,164,45,107,90,144,103,204,5,161,240,0,55,185,168,49,210,231,64,204,197,39,105,225,132,72,172,216,6,147,97,157,226,98,97,110,27,130,10,134,64,173,182,45,166,88,8,120,90,85,36,206,197,70,212,153,15,97,168,153,161,20,66,87,30,172,21,253,98,5,0,170,4,33,23,53,27,55,11,148,148,68,248,124,72,125,129,129,148,149,73,248,57,133,213,98,133,49,146,172,158,15,99,229,64,16,50,73,158,35,36,59,117,154,72,144,50,173,197,136,177,225,17,70,71,24,40,201,28,47,28,79,9,229,22,14,150,101,26,205,198,185,229,104,109,20,39,175,70,88,213,162,210,202,168,134,198,212,108,117,21,70,68,140,22,215,96,80,158,10,226,83,34,138,195,1,169,30,155,50,193,86,200,102,139,150,106,193,20,41,196,45,164,76,201,188,19,151,190,243,154,79,57,108,59,217,196,198,90,146,153,206,159,178,214,20,1,103,148,12,40,182,178,48,250,100,67,2,207,59,43,30,26,250,152,165,205,154,129,124,242,77,235,182,121,35,178,21,93,55,55,197,103,107,191,121,35,154,11,195,182,184,102,84,234,199,237,41,28,61,45,32,89,183,165,103,38,203,94,110,129,222,158,178,44,178,241,94,140,93,77,32,104,134,176,173,64,114,180,230,21,9,152,194,112,99,73,217,52,50,139,202,76,62,31,47,39,190,46,47,25,160,230,32,222,40,91,219,4,205,37,20,92,233,71,37,102,77,48,146,12,90,83,20,182,56,70,24,18,92,121,195,141,31,203,165,169,126,77,18,101,19,54,2,5,129,126,59,237,109,213,174,6,173,25,62,90,97,49,133,19,218,41,209,2,136,180,252,192,204,89,16,32,139,83,238,134,193,25,173,179,40,102,176,81,181,173,99,88,177,189,142,104,165,194,72,25,113,67,126,240,43,41,120,65,18,41,67,83,144,172,154,250,34,181,106,175,66,94,129,8,92,248,48,153,35,37,114,77,181,153,16,58,45,168,176,96,63,53,197,74,151,200,242,93,61,9,198,119,85,16,147,176,160,146,122,62,78,66,77,78,137,45,229,28,140,222,84,90,218,7,80,203,86,210,116,50,237,225,2,43,215,190,167,141,54,13,151,17,48,132,201,240,197,214,64,25,150,12,14,77,228,41,89,51,45,56,29,235,182,148,66,210,31,65,206,203,125,187,139,169,138,152,254,221,197,100,106,88,136,25,216,125,76,149,197,44,199,28,88,121,215,164,182,198,86,214,160,118,173,208,38,71,104,19,134,246,215,236,172,14,251,107,120,109,183,141,29,100,17,155,64,206,133,70,142,114,243,207,221,183,182,106,53,119,107,36,26,53,23,126,153,57,45,142,34,166,189,81,202,148,244,152,41,87,72,135,217,172,233,103,154,107,225,51,153,93,248,233,158,153,80,248,113,37,92,50,212,39,91,13,167,253,23,208,103,85,57,87,20,97,95,71,113,94,234,230,162,164,34,25,16,119,89,133,151,68,127,175,219,86,10,33,213,51,6,168,115,123,111,28,134,104,164,107,202,164,217,38,3,104,233,250,5,51,79,153,179,8,149,126,199,205,169,99,187,95,168,118,44,27,39,183,195,130,95,103,34,102,141,209,18,231,38,149,165,114,205,89,219,5,116,110,188,163,230,70,146,22,20,101,147,126,42,181,143,151,217,185,33,8,237,205,124,108,36,239,48,50,172,156,216,221,92,60,71,110,153,77,137,149,125,155,90,201,234,207,172,74,184,50,8,21,230,98,88,49,21,82,150,90,196,46,90,198,200,222,188,84,214,68,152,81,37,110,204,119,195,112,149,13,174,252,203,220,23,203,39,182,180,49,136,242,170,8,111,54,43,119,140,146,4,185,115,6,44,5,99,157,112,48,150,4,68,100,72,134,57,53,36,97,89,123,205,114,35,160,117,141,172,161,44,61,66,128,71,29,128,100,160,165,123,208,230,2,164,42,126,99,205,35,77,197,133,213,216,146,31,223,156,147,46,75,181,225,82,103,174,178,15,186,14,46,19,163,224,197,16,147,114,209,67,198,9,43,58,221,106,13,181,176,154,48,163,233,249,99,52,22,59,229,33,41,26,9,13,104,67,101,213,0,51,55,22,6,27,159,147,12,209,162,172,53,53,21,40,48,39,211,30,136,231,92,234,66,222,151,142,37,114,35,231,24,38,231,214,129,222,95,116,91,33,1,131,173,128,3,40,11,218,237,230,96,204,91,36,213,213,162,71,163,198,4,151,173,179,53,101,98,212,168,66,36,102,227,91,139,145,1,241,23,171,28,69,227,22,45,145,208,177,95,170,6,105,32,89,95,164,142,199,226,3,71,48,212,96,139,14,189,22,37,46,236,131,52,59,212,211,65,143,69,38,172,63,89,235,44,118,17,216,28,35,208,162,155,136,68,216,236,48,90,136,25,241,20,45,35,242,190,195,236,87,220,92,154,100,9,180,84,10,36,117,51,10,123,148,180,236,156,179,88,20,47,176,203,200,77,196,28,12,26,4,70,76,147,252,82,179,39,72,253,70,232,5,218,180,40,241,173,80,36,217,152,83,110,146,172,24,243,178,150,133,120,159,253,190,181,214,203,102,30,182,12,10,72,76,250,47,149,165,253,92,238,229,20,176,217,60,193,70,119,212,230,186,115,219,152,141,157,203,118,49,186,44,14,211,254,146,26,182,78,25,73,58,172,235,205,248,194,144,140,100,8,92,146,43,171,206,137,74,3,162,158,207,232,204,33,7,232,24,214,22,6,78,218,105,35,221,68,36,136,54,21,124,188,148,107,136,77,39,164,57,11,171,118,62,193,145,107,158,18,72,90,118,122,246,48,134,92,44,215,139,108,227,74,38,95,192,72,229,71,57,161,179,168,124,88,102,150,179,206,246,224,20,192,55,50,192,124,23,187,56,183,25,115,203,15,204,128,204,90,83,40,4,90,14,102,36,103,89,165,113,228,188,14,201,98,91,21,118,223,71,169,1,244,100,217,225,139,13,21,214,178,216,76,53,96,222,31,197,55,86,147,169,123,38,222,92,70,102,165,51,217,116,48,140,134,108,228,129,76,139,120,88,37,72,57,170,216,83,180,180,209,110,222,124,244,130,121,245,170,207,37,141,84,54,144,22,39,20,80,204,97,120,169,52,47,178,65,11,184,28,186,32,11,226,81,82,136,153,83,94,35,146,7,151,68,104,163,0,167,176,90,82,50,104,224,155,192,125,15,201,8,10,9,60,6,114,189,84,36,157,17,166,122,98,255,111,169,52,55,214,133,176,194,92,4,232,77,76,197,89,144,141,35,96,23,94,10,194,94,218,136,47,133,14,148,238,176,45,21,202,29,60,98,239,220,188,87,232,118,58,192,189,52,184,199,6,141,10,83,253,247,121,201,218,222,65,199,150,168,12,196,207,110,210,158,60,92,192,204,161,100,16,207,45,160,115,23,1,109,155,35,242,130,147,236,195,243,32,154,110,74,239,66,118,247,186,213,156,205,49,20,96,82,129,155,41,188,173,217,190,150,146,84,15,73,29,45,206,4,95,177,227,48,197,222,124,213,36,85,16,223,210,96,241,111,171,38,156,65,57,121,203,17,173,251,71,229,205,135,196,235,0,239,37,83,26,97,182,102,208,144,111,88,91,41,12,206,226,201,112,159,81,35,117,118,228,31,140,183,208,116,193,156,96,72,44,197,220,162,142,170,92,11,172,24,209,153,138,151,79,94,184,92,193,36,5,136,65,65,173,122,7,78,97,34,113,85,90,178,70,177,134,204,96,75,205,109,225,92,82,226,16,29,178,61,113,100,143,51,142,52,44,230,205,185,90,27,52,5,29,168,93,50,61,198,165,53,221,54,156,18,108,39,39,5,79,52,112,162,98,241,242,152,97,196,168,235,28,214,165,246,172,177,93,195,102,5,153,235,149,102,97,196,74,165,188,68,95,56,35,197,253,149,178,216,38,110,114,173,190,65,198,85,124,227,95,220,222,118,187,177,23,48,247,30,100,37,224,182,50,182,202,147,196,60,195,144,225,176,161,164,237,73,178,158,52,102,234,73,195,237,118,243,172,152,199,210,215,73,172,156,212,119,49,36,92,79,59,255,239,128,255,36,92,114,52,43,61,211,91,200,195,68,2,35,179,9,145,19,16,138,151,49,79,76,75,181,170,94,119,94,112,56,179,115,23,23,96,170,92,11,46,160,3,243,20,8,124,110,235,169,3,159,188,238,126,210,149,217,210,149,13,52,93,110,181,4,221,156,29,48,57,74,75,183,148,9,37,152,121,196,4,158,17,83,202,206,147,177,52,96,22,103,53,231,193,236,100,20,90,237,47,243,161,177,26,95,248,231,106,13,60,72,134,118,22,163,30,158,237,38,101,85,15,220,70,108,57,38,222,195,91,132,239,225,133,127,85,54,159,163,133,125,46,41,218,199,128,60,138,75,161,52,49,147,56,71,20,155,138,75,196,150,237,0,117,79,220,160,230,150,141,105,117,15,87,24,242,149,56,1,84,39,202,232,47,38,143,226,238,55,142,87,182,47,145,230,191,230,20,17,45,249,29,32,172,0,25,26,173,174,112,178,216,13,76,121,78,106,131,73,179,70,25,102,25,95,139,218,61,76,220,131,144,23,38,6,228,201,167,223,14,83,119,172,88,50,8,220,110,131,167,230,235,71,229,110,145,47,6,131,179,21,78,102,105,152,169,49,93,142,76,107,168,251,96,27,85,76,82,179,116,39,71,202,202,17,90,184,215,205,21,114,167,34,197,180,94,242,50,35,165,2,233,236,41,249,30,80,92,183,206,11,153,153,110,144,146,198,188,13,112,227,149,6,159,90,209,232,4,216,146,16,81,133,55,215,11,241,109,91,20,91,174,150,166,164,22,137,203,21,162,69,108,21,97,211,22,106,17,102,123,145,99,97,105,227,25,172,7,89,27,0,45,187,50,154,16,235,124,166,104,7,203,76,61,114,0,91,218,1,177,31,101,64,208,82,81,163,173,236,63,0,105,218,89,203,39,73,120,105,77,210,134,206,137,79,24,167,200,200,180,188,168,36,206,211,244,121,235,77,178,73,69,182,156,155,141,166,164,110,207,195,128,10,204,39,119,126,111,206,44,20,233,159,96,58,6,20,174,18,213,57,70,60,216,43,119,158,41,180,206,92,138,180,79,75,108,149,41,79,64,97,118,163,69,141,102,180,81,49,55,36,203,243,30,107,171,48,29,163,198,226,214,209,220,82,158,5,153,96,44,201,130,123,76,80,27,194,252,236,31,11,87,216,109,45,157,194,244,172,41,29,103,32,209,60,7,30,18,196,90,64,236,76,144,225,176,155,91,176,225,198,199,60,113,43,68,12,54,27,44,20,131,91,239,68,210,101,82,145,205,61,246,182,106,16,158,182,138,96,231,120,216,11,87,70,251,223,27,26,243,45,173,74,85,226,144,15,45,100,165,116,48,154,92,121,182,189,45,122,60,3,211,216,72,58,170,51,91,22,181,137,118,102,148,226,102,53,92,146,163,175,151,172,255,152,119,138,79,19,130,105,213,239,195,175,15,55,48,50,43,236,102,126,26,3,23,79,24,88,127,185,234,15,176,21,84,102,209,82,33,199,113,53,180,55,186,0,69,5,68,146,84,220,82,75,152,118,191,156,237,177,32,137,69,230,169,67,62,193,146,171,208,44,55,59,161,160,140,44,3,64,240,128,199,20,141,36,188,2,104,105,169,22,43,7,55,53,114,243,1,20,254,152,85,0,158,248,130,187,97,161,139,4,51,201,148,129,182,45,181,208,219,66,80,82,58,46,11,21,5,208,4,184,123,152,69,80,177,228,45,134,65,199,27,160,21,1,41,173,200,44,82,79,103,146,120,86,2,219,14,132,243,37,51,28,237,14,96,178,130,43,74,45,70,74,143,203,205,79,185,245,68,66,237,246,221,36,50,101,96,169,144,195,145,208,206,74,87,3,9,76,187,58,113,20,85,202,20,195,41,133,37,31,177,186,80,237,86,30,41,49,44,87,187,197,208,142,6,131,252,228,187,106,183,56,109,7,83,90,74,139,129,38,150,165,142,233,106,68,42,166,44,40,248,203,189,76,36,104,167,163,20,243,3,50,87,140,204,254,137,202,3,186,145,206,40,17,20,133,219,153,221,246,133,52,145,70,206,145,47,55,71,194,182,76,248,163,118,143,85,125,193,8,152,77,11,142,40,51,207,154,13,159,128,53,0,180,190,194,248,80,16,201,197,103,49,197,92,101,132,173,90,184,167,13,130,100,101,194,248,7,238,28,99,157,29,79,78,226,155,250,82,104,49,201,124,81,134,100,103,42,233,33,179,79,145,157,156,117,192,210,84,74,67,125,11,201,95,139,243,8,214,214,192,136,181,106,207,40,122,69,167,165,107,195,45,25,252,216,38,202,3,157,120,102,238,215,208,112,175,94,41,110,188,19,235,204,46,151,27,19,89,113,56,217,218,34,113,35,60,22,179,209,206,84,38,136,85,27,115,233,206,228,167,172,208,62,179,81,24,55,225,90,22,224,9,122,52,108,63,18,45,162,26,102,63,180,80,49,82,176,12,17,13,161,65,15,84,35,221,99,63,152,172,86,11,194,183,173,103,201,86,89,223,117,217,45,187,37,155,81,156,165,171,190,170,242,188,224,84,199,225,49,168,187,182,165,149,181,227,0,166,92,173,114,59,150,51,130,49,92,233,145,248,173,40,128,23,208,185,121,179,200,188,87,46,57,59,40,3,33,8,130,100,212,225,230,231,21,98,147,67,176,219,182,98,96,233,210,229,145,205,162,202,82,137,108,121,246,45,165,133,28,217,28,205,197,230,149,1,0,44,165,83,11,57,88,166,79,201,129,201,15,153,140,197,80,130,99,32,173,179,193,4,89,19,47,202,79,104,18,153,185,56,152,148,75,172,43,15,168,214,27,92,168,30,116,169,46,84,9,193,31,8,185,240,203,228,6,87,35,203,131,83,124,70,144,168,145,112,84,47,135,100,158,23,107,26,113,144,2,146,47,178,1,161,148,218,100,34,199,194,43,131,30,176,159,85,100,195,99,155,218,83,126,237,147,125,179,183,102,82,78,253,177,200,16,133,125,190,28,249,251,201,17,175,188,252,184,248,184,35,212,128,98,39,2,151,238,212,252,137,40,238,231,202,31,202,175,14,234,20,173,152,167,69,184,6,112,96,24,164,14,181,148,246,243,203,167,135,12,128,70,105,63,9,25,61,51,242,105,85,107,184,225,190,27,168,54,138,155,27,64,184,209,146,113,23,177,168,86,213,5,96,113,51,132,57,62,89,84,78,112,108,244,205,22,253,196,134,2,45,25,195,190,203,207,37,18,120,204,131,139,106,98,90,115,36,200,142,41,234,84,91,229,82,238,182,159,52,101,58,160,103,0,215,137,238,182,95,88,76,64,228,14,202,197,140,189,213,50,21,1,185,173,70,41,206,75,2,206,21,13,97,235,209,15,211,205,93,107,225,226,63,207,132,145,39,6,89,60,58,57,95,190,136,57,203,161,101,246,71,199,56,146,187,36,51,144,46,150,211,177,108,245,70,85,47,87,220,64,234,141,87,193,238,203,184,187,5,95,20,42,237,117,143,71,208,229,172,112,237,190,35,49,145,12,251,17,245,38,177,184,141,166,198,101,208,27,226,58,25,214,178,243,90,173,189,177,186,109,154,109,95,168,23,39,252,138,21,28,76,105,206,28,19,70,130,78,86,193,125,183,180,167,31,87,53,217,110,106,167,181,108,169,35,19,20,213,60,34,212,218,205,236,147,214,228,57,116,115,227,176,133,130,237,16,6,239,255,28,151,216,109,236,51,97,241,29,177,42,183,14,73,113,165,2,29,240,34,44,70,10,28,250,34,78,120,161,189,135,53,166,121,73,146,31,47,99,170,168,58,77,85,5,143,195,142,124,40,6,238,194,140,233,82,209,8,109,231,16,199,223,228,192,150,96,89,169,146,90,58,127,154,202,10,145,6,53,111,82,138,84,43,16,124,135,149,40,32,35,154,166,90,199,242,208,105,52,210,1,57,85,141,50,68,126,162,78,64,130,188,220,14,216,47,1,174,240,90,112,125,213,236,132,35,212,0,149,11,144,66,19,198,193,122,37,176,49,38,202,114,168,21,114,25,203,45,168,116,194,142,153,219,128,234,111,44,80,126,152,113,20,168,177,74,199,145,68,86,209,43,26,157,249,148,43,52,174,181,234,249,139,93,89,85,108,63,233,167,134,54,57,202,192,253,82,78,243,0,15,38,181,166,2,176,171,165,166,242,115,216,142,38,11,20,172,4,59,177,201,52,80,57,77,130,91,145,15,174,95,45,239,47,203,225,168,22,131,145,193,200,95,203,85,18,37,84,230,207,181,143,160,155,102,88,185,93,73,110,204,22,224,162,116,120,27,199,85,41,83,93,32,135,62,130,172,14,249,62,47,191,215,129,217,91,168,194,112,100,206,72,53,86,85,0,77,149,217,18,222,66,85,230,128,140,70,180,22,220,105,211,100,192,18,125,251,188,94,209,229,188,82,9,156,104,42,114,58,41,45,64,249,252,157,197,22,74,102,139,102,33,245,202,44,192,235,172,51,103,67,176,212,230,35,63,76,170,83,224,149,116,232,232,215,72,243,17,54,243,55,207,38,118,28,3,107,77,76,37,222,40,230,194,230,161,74,124,99,155,204,135,5,187,53,164,61,120,50,123,181,29,189,20,73,195,240,25,57,211,74,213,176,212,48,7,66,131,143,119,75,13,11,146,129,203,34,134,181,44,146,103,187,109,3,15,166,184,252,252,6,67,48,250,76,162,140,29,191,69,227,4,95,10,20,213,198,171,219,207,186,24,179,168,49,3,201,214,205,215,105,26,71,65,141,15,4,84,121,1,80,190,78,155,56,16,50,80,9,209,16,194,37,123,251,112,106,31,119,185,13,161,56,202,81,202,69,200,74,231,222,109,58,179,26,36,108,52,75,133,1,55,194,151,116,197,110,200,22,29,196,234,134,56,218,165,50,115,60,45,214,20,210,212,6,62,165,192,56,140,44,106,85,178,153,128,120,57,103,71,182,36,164,19,3,44,113,11,188,227,166,100,203,218,212,157,231,224,99,110,17,139,198,187,197,253,138,122,152,23,105,79,12,80,132,145,76,91,214,15,133,108,40,248,130,27,73,88,178,252,195,42,205,199,229,176,60,57,34,147,119,60,241,86,224,210,67,19,92,214,78,1,159,125,118,36,219,253,251,240,64,63,119,126,255,10,75,232,2,54,94,102,26,45,237,174,20,253,230,144,65,49,243,199,129,234,95,102,102,35,241,32,17,11,46,106,13,176,202,249,74,40,91,52,181,8,192,90,1,229,65,194,63,111,17,117,16,42,161,231,55,123,84,44,108,88,215,233,68,1,118,82,138,107,64,237,43,21,128,29,99,50,176,220,211,6,104,115,167,178,117,166,73,255,173,17,130,188,182,210,30,9,18,47,105,225,96,138,15,183,234,15,60,179,166,36,76,186,82,198,128,104,242,68,19,64,212,79,212,136,69,23,231,57,143,210,240,239,56,39,210,228,109,212,237,185,40,108,13,80,153,100,171,222,193,79,52,228,91,148,109,231,41,250,248,41,162,168,112,41,181,56,71,5,43,53,54,18,109,195,34,48,30,151,187,83,130,157,212,113,19,158,117,24,34,131,95,105,7,63,45,47,120,95,64,174,213,72,218,163,78,169,80,143,169,231,102,162,66,70,179,33,99,171,48,38,154,105,118,52,62,11,141,69,208,204,143,118,141,87,120,101,200,1,25,50,181,231,242,76,36,168,219,170,201,103,67,80,101,135,47,118,212,50,224,76,162,176,4,107,25,122,147,150,204,52,107,101,169,32,154,12,216,16,120,109,8,166,217,74,110,97,19,60,74,130,233,50,66,153,100,70,109,50,140,86,151,13,98,192,6,177,186,0,68,139,59,201,249,12,2,65,245,67,38,126,158,91,190,103,135,100,75,57,57,78,193,251,73,94,110,79,29,64,249,16,229,40,171,154,12,35,205,207,239,228,42,33,235,228,79,6,177,194,6,176,194,60,182,51,201,142,212,228,167,134,38,113,155,3,175,7,156,33,200,213,22,73,26,113,172,181,180,171,159,118,240,251,242,67,182,230,76,214,116,77,170,60,220,2,214,79,249,43,109,212,39,99,64,187,30,126,140,41,110,9,233,208,117,181,69,107,115,153,120,108,157,160,45,114,166,3,143,189,183,249,253,50,158,242,126,240,208,150,53,144,37,1,34,153,62,192,173,214,172,69,226,117,174,188,117,87,19,212,18,50,218,106,59,218,64,30,82,203,139,54,20,9,17,187,79,233,108,227,39,238,9,183,163,148,121,87,89,170,37,146,76,247,211,43,253,149,5,17,163,109,83,254,162,164,32,66,90,79,202,96,29,180,94,81,176,181,108,80,109,77,19,2,9,57,85,152,65,249,171,11,182,76,97,152,193,22,104,145,152,22,177,241,141,42,59,220,42,25,110,85,65,184,21,182,154,77,165,35,193,86,206,192,140,86,61,167,175,217,113,4,124,182,51,114,197,188,50,15,87,247,170,46,2,221,1,252,220,79,252,220,86,69,26,138,177,133,241,248,252,78,60,129,70,123,195,25,201,80,63,93,215,23,200,95,199,28,88,117,163,141,101,219,42,58,154,105,42,76,15,162,47,59,233,129,224,162,214,65,6,165,181,235,253,101,177,34,15,55,161,12,5,188,118,184,1,152,231,202,112,99,90,176,191,38,242,230,33,3,130,91,157,3,183,170,145,45,196,210,217,192,208,239,107,217,52,16,187,35,91,244,228,150,19,40,169,76,85,19,153,52,190,130,13,15,237,10,69,130,105,181,169,195,60,45,101,183,115,80,33,145,12,100,2,74,34,145,60,251,52,197,25,121,234,137,126,230,43,236,26,173,53,100,190,152,103,34,228,246,63,100,120,37,74,222,40,25,98,149,202,144,172,21,41,243,20,170,220,169,46,229,175,191,121,46,29,159,34,109,84,226,19,95,177,201,149,44,6,13,143,188,67,85,156,207,33,219,155,75,230,96,62,251,57,35,252,180,31,187,233,225,0,18,145,180,155,99,175,40,225,78,230,0,241,231,0,193,3,94,4,140,64,126,196,222,194,105,80,103,147,47,141,116,244,63,167,8,198,70,221,178,15,27,243,220,110,53,80,33,237,140,55,75,71,186,27,51,111,32,86,88,43,235,164,62,16,84,73,170,107,78,151,13,98,185,137,47,67,209,114,83,163,219,218,182,22,73,199,82,54,203,75,76,205,19,185,77,170,179,209,77,210,157,67,131,114,98,134,41,55,45,25,236,154,71,251,144,81,144,225,65,158,76,47,70,236,7,32,229,185,32,60,98,204,253,3,203,57,146,99,154,253,20,111,67,234,46,88,31,242,98,191,88,196,40,117,118,16,218,197,80,108,174,166,176,94,116,4,26,88,198,165,183,169,153,187,244,203,2,210,187,82,49,82,89,27,77,154,211,230,75,255,166,171,48,199,245,250,220,226,206,111,222,85,136,187,138,114,183,116,40,113,90,157,86,37,66,202,203,197,93,165,215,140,29,48,243,21,76,234,244,126,37,202,92,163,90,27,240,78,133,30,50,109,170,175,178,216,249,90,143,82,243,80,116,124,131,65,165,208,46,216,222,239,225,140,195,143,201,52,207,191,246,85,202,53,222,142,11,151,21,142,58,199,23,184,225,58,105,187,116,36,182,121,38,47,67,194,43,83,58,10,219,45,191,57,136,175,67,90,117,153,206,61,33,152,23,41,31,36,235,208,192,156,151,220,48,181,77,163,28,104,189,236,38,207,251,74,184,119,218,210,39,241,169,171,29,111,160,10,89,135,59,87,249,69,217,102,89,181,189,26,166,52,143,254,81,210,84,138,237,193,106,192,254,130,62,177,246,102,230,111,133,172,223,227,218,189,188,57,172,8,160,169,76,103,126,8,120,56,153,57,101,201,91,190,74,60,14,171,191,212,124,73,60,111,98,152,40,249,251,79,205,22,204,243,37,46,23,137,237,228,206,95,219,35,182,68,179,83,57,216,251,126,44,19,122,225,99,237,18,172,101,201,65,12,136,235,109,226,160,91,243,205,62,181,184,91,43,157,1,130,235,16,155,202,240,21,80,124,71,92,66,75,106,244,30,159,66,157,138,222,146,40,58,76,129,78,101,139,99,63,177,152,131,227,39,127,64,239,172,164,35,250,152,157,157,197,224,2,150,81,78,158,212,249,180,54,12,10,244,84,183,29,146,57,222,192,184,214,136,231,120,139,249,196,231,0,141,166,186,104,242,205,14,54,177,14,98,231,58,95,86,122,147,3,19,244,6,246,114,20,15,123,227,8,127,224,47,56,217,125,16,189,197,164,241,171,238,221,5,53,177,124,223,38,118,51,183,90,27,178,222,234,227,92,105,54,181,220,38,50,201,34,223,98,244,76,179,15,160,50,137,2,128,36,53,123,62,80,236,140,69,226,187,49,163,41,149,127,40,45,61,210,60,158,16,135,144,35,166,155,143,188,107,168,133,222,103,71,195,173,188,10,35,25,47,198,233,85,227,126,177,121,87,162,166,156,81,217,60,98,187,192,226,128,217,132,146,17,98,46,131,180,8,9,139,138,102,132,118,238,200,43,67,222,91,235,243,230,218,154,126,129,12,120,108,203,73,236,192,155,156,108,216,27,146,173,174,120,237,145,202,205,173,73,114,36,232,73,57,145,28,210,156,179,117,81,186,144,154,83,126,45,148,181,221,62,143,161,140,173,125,29,178,153,212,184,190,129,52,46,91,37,181,201,92,78,137,202,33,132,217,206,94,20,150,35,172,33,184,197,42,179,254,16,199,196,100,240,204,182,198,98,187,141,233,209,11,22,46,92,132,71,21,178,119,98,169,213,144,149,74,183,35,210,130,19,23,64,20,94,169,108,103,20,189,83,202,199,143,34,180,25,173,170,118,171,85,217,234,9,82,49,46,234,43,119,38,155,115,114,125,254,132,122,123,194,173,186,14,119,73,251,183,108,25,113,163,68,7,32,171,156,16,91,18,86,158,241,254,112,151,125,157,74,101,239,162,154,198,168,3,167,113,124,139,8,211,16,186,204,29,196,81,93,139,179,55,72,19,123,201,119,126,64,46,87,178,31,34,144,179,143,72,62,85,37,255,129,1,52,26,203,57,162,66,161,68,72,71,128,242,115,52,34,226,128,30,233,32,21,219,121,2,36,234,122,24,171,45,8,218,21,210,83,65,61,30,114,237,22,72,89,127,80,52,7,144,156,8,184,76,229,114,203,155,72,168,235,241,215,118,167,154,113,182,135,165,108,56,179,81,88,218,166,166,130,124,220,8,101,150,0,65,155,211,233,188,211,156,77,110,26,85,186,84,183,188,139,17,216,53,139,75,219,16,188,213,114,88,181,91,28,46,70,97,211,108,187,52,43,109,129,62,175,109,107,100,185,91,62,213,93,54,30,246,152,170,78,217,10,60,39,134,249,214,11,182,187,194,231,117,91,153,146,167,230,182,132,166,42,175,32,104,122,207,84,65,208,190,202,194,176,77,21,119,65,216,244,198,170,130,176,253,229,110,123,235,98,163,176,249,172,163,69,2,126,209,36,208,17,56,6,155,238,35,7,191,152,22,51,220,18,168,114,111,30,164,214,114,159,3,113,121,181,64,156,107,192,239,92,141,54,251,106,30,75,126,105,151,171,0,140,102,135,17,190,139,69,218,169,197,119,128,5,97,136,240,185,205,13,90,213,196,126,232,108,105,177,61,139,83,147,249,230,34,46,247,137,13,209,214,50,159,101,87,41,104,147,246,108,203,239,132,52,61,205,87,65,154,62,242,187,37,75,249,22,127,51,95,36,222,243,138,164,183,131,81,8,14,29,66,164,14,248,185,234,133,36,4,115,211,31,212,67,193,253,106,65,182,103,133,27,119,164,112,126,201,142,184,172,77,36,245,180,78,91,76,218,245,16,83,54,134,13,118,78,171,185,245,168,76,165,195,104,75,39,170,192,30,202,61,21,204,150,83,237,224,71,123,250,42,108,42,58,105,219,158,237,244,18,121,198,35,114,47,191,59,181,56,231,192,19,46,90,72,154,1,183,116,8,161,213,86,182,93,121,116,118,33,105,16,252,48,249,240,147,173,143,216,40,47,14,24,180,94,123,227,207,125,147,15,29,214,207,233,206,164,9,188,151,235,16,51,111,30,159,232,58,197,200,176,23,23,64,109,102,233,36,235,9,46,217,87,79,70,82,45,122,200,227,113,185,237,219,227,137,171,217,96,249,125,213,112,85,186,229,109,229,216,85,113,128,197,131,22,253,194,182,222,158,31,243,37,189,4,222,111,29,24,108,143,230,242,123,125,211,92,162,235,84,176,174,227,103,60,88,236,185,113,164,104,234,200,23,31,141,188,171,243,198,199,29,58,41,28,107,14,197,253,31,154,153,184,204,47,165,22,44,32,39,117,76,11,177,213,252,5,145,84,66,157,139,112,230,107,49,151,201,63,48,53,54,16,78,166,243,165,7,162,213,83,72,223,105,3,85,213,72,89,110,71,234,10,72,93,46,159,201,44,54,161,202,131,166,252,74,99,211,54,90,126,51,160,36,92,231,28,38,99,157,213,24,202,146,228,202,123,132,188,229,222,198,3,248,174,115,155,159,115,87,34,13,206,110,213,246,146,98,204,19,31,182,249,129,21,60,244,132,121,179,204,19,165,196,60,219,246,2,115,119,158,55,136,57,206,254,180,246,18,112,175,226,60,199,119,176,254,103,63,95,13,5,10,137,43,229,61,167,169,192,6,84,219,193,40,249,15,96,178,94,25,45,109,87,149,241,59,77,204,205,45,140,180,201,90,28,155,39,31,24,155,55,133,175,80,138,66,9,252,249,19,176,115,110,243,166,8,228,79,81,56,1,142,117,120,186,146,227,232,67,124,69,108,101,64,126,43,44,174,134,88,219,164,220,133,94,243,46,181,3,175,82,254,74,20,84,9,196,15,75,155,4,220,204,22,153,114,115,132,44,65,28,120,67,22,149,32,184,178,67,191,196,17,132,253,97,38,61,26,97,200,179,5,34,55,87,197,185,123,60,120,4,103,218,254,39,8,141,185,27,54,196,105,29,76,226,198,151,25,228,159,105,150,210,86,4,17,39,127,20,108,33,81,172,130,165,231,3,151,91,218,130,199,120,9,184,17,157,99,20,69,41,82,6,41,131,149,33,202,80,101,152,178,143,50,92,25,161,20,195,103,164,50,10,62,251,194,103,52,124,74,242,126,82,67,149,255,231,110,220,8,252,173,47,89,220,119,98,223,201,127,59,229,229,83,95,62,237,169,198,167,78,127,234,244,95,195,231,214,211,111,93,122,109,191,159,139,151,94,219,69,112,62,232,250,160,251,31,240,249,168,251,147,238,127,118,255,171,251,179,238,207,122,254,221,211,135,159,141,240,121,186,79,41,252,41,166,122,88,162,156,164,156,172,156,162,156,186,171,97,215,105,59,79,219,217,184,243,244,167,79,223,184,116,219,210,141,240,233,49,63,137,124,31,133,32,212,43,223,195,207,174,69,59,23,237,92,188,115,241,211,39,108,195,207,146,109,39,110,132,79,207,73,61,39,117,159,220,125,74,215,41,93,167,118,157,170,52,192,231,52,250,156,14,159,165,57,245,82,100,126,6,81,251,90,159,33,182,207,80,243,179,104,136,149,118,144,25,147,133,13,51,63,251,16,141,228,251,140,80,206,248,26,208,195,94,183,215,237,117,123,221,94,183,215,237,117,123,221,94,183,215,237,117,123,157,236,74,86,142,62,123,244,101,35,111,24,189,161,228,238,209,91,71,61,62,242,201,146,151,247,121,189,228,227,209,251,238,123,240,200,195,71,79,47,57,178,228,248,146,133,240,169,167,207,50,250,36,216,135,205,245,22,142,57,126,194,177,129,249,75,230,181,205,171,158,215,49,127,249,130,83,143,59,249,248,185,11,143,94,88,177,112,240,194,65,11,223,95,248,119,248,188,194,63,79,47,236,89,216,189,112,227,194,46,248,237,90,168,12,30,186,12,32,140,233,26,179,115,76,55,92,27,199,236,26,179,13,174,157,112,41,99,198,140,81,199,140,25,59,99,172,90,84,95,52,102,208,178,193,234,224,101,67,213,97,203,134,171,35,150,141,84,71,213,239,171,150,204,40,81,71,13,65,8,227,71,237,167,140,25,53,102,240,254,197,227,6,141,31,126,192,224,3,135,29,50,164,100,80,137,50,144,143,66,16,42,135,4,254,62,118,215,216,93,62,248,236,183,107,220,46,156,231,13,167,185,255,72,115,238,95,8,194,217,67,182,1,132,111,204,223,47,58,238,251,135,84,29,210,124,200,9,135,28,117,136,235,144,191,31,82,116,200,206,67,54,30,210,125,72,119,221,198,186,251,235,254,92,55,184,110,255,58,87,221,132,58,111,221,12,254,241,214,169,117,74,157,18,28,226,45,94,200,26,164,15,156,248,31,227,63,33,123,229,221,127,250,247,223,158,184,233,188,230,57,19,139,196,179,248,159,176,250,197,247,94,138,148,239,55,118,230,57,239,244,61,89,9,225,153,27,31,123,252,241,95,221,180,182,253,196,114,215,216,125,63,59,88,185,93,193,210,221,73,191,253,187,59,40,206,221,3,136,249,121,97,222,51,128,152,253,187,173,3,134,48,112,92,3,135,121,247,23,200,255,237,202,4,194,53,193,225,195,220,175,149,34,10,45,162,186,154,64,249,159,32,213,158,51,21,243,249,178,96,222,67,113,238,150,124,190,120,91,127,21,244,243,197,234,127,198,0,127,239,30,240,239,87,1,179,144,187,149,202,190,158,126,111,162,223,13,5,106,227,102,242,239,165,223,27,120,170,46,7,28,230,54,8,104,224,201,226,172,47,0,147,193,1,200,189,34,230,13,82,204,94,9,99,33,183,186,223,210,125,253,221,154,47,204,187,246,186,47,226,24,55,187,87,41,130,155,162,255,40,62,227,132,95,5,228,187,250,229,156,204,61,167,172,250,157,178,234,15,202,170,23,148,85,95,238,253,87,7,121,131,210,116,163,210,196,242,159,86,6,179,95,248,102,21,83,45,110,249,131,39,243,63,75,248,228,245,207,117,185,144,251,135,48,16,200,102,80,191,88,134,22,128,86,208,255,44,186,97,62,29,202,80,118,243,197,33,119,146,255,10,250,133,56,237,8,121,104,90,177,173,28,64,187,60,79,77,243,34,181,209,110,239,159,167,70,100,173,105,222,231,173,255,1,2,52,239,115,33,63,95,0,178,125,4,119,193,239,22,197,5,55,3,233,101,185,241,239,85,6,125,69,144,239,41,0,249,75,167,159,92,104,95,10,228,78,65,57,230,61,248,175,176,211,207,215,153,127,222,254,191,194,63,159,43,64,165,95,10,207,252,188,244,3,191,223,199,62,62,216,209,154,112,115,150,221,223,140,207,252,115,9,160,80,76,243,219,63,100,70,51,114,76,147,133,238,89,244,47,67,147,111,196,227,176,189,66,212,94,183,215,237,117,123,221,94,183,199,185,191,41,215,189,160,92,71,147,205,149,183,42,26,220,92,172,204,236,80,102,54,43,51,29,49,31,68,99,37,252,117,184,199,114,124,182,231,248,60,92,0,251,131,57,178,223,99,3,78,203,220,107,202,125,4,231,186,187,149,149,112,115,149,162,173,166,82,132,114,242,191,92,153,160,41,69,95,195,38,120,81,185,238,33,106,130,159,41,43,215,81,230,87,40,51,91,115,242,95,244,181,164,159,39,242,180,105,46,61,88,121,255,77,1,56,143,237,14,242,246,194,84,33,195,124,52,39,194,118,9,218,99,57,217,123,144,71,46,98,153,252,141,82,196,104,18,30,95,160,27,8,122,88,228,255,143,57,141,240,251,28,159,215,236,62,247,41,69,175,13,108,254,242,159,185,115,148,82,248,174,145,126,207,163,95,243,113,181,82,122,177,50,252,34,101,248,57,82,40,251,61,95,196,92,45,69,190,80,25,126,174,82,122,46,197,49,127,207,167,95,243,241,7,2,236,185,82,40,251,253,161,136,249,3,41,50,96,47,148,255,187,148,115,115,61,183,230,243,204,27,243,158,124,158,119,231,243,252,213,238,16,221,75,247,247,42,93,247,230,139,217,207,252,11,190,97,154,7,193,47,187,25,184,39,187,113,124,191,10,152,123,16,253,156,147,239,251,245,167,31,6,255,78,165,235,142,156,152,205,159,135,162,190,62,238,28,101,136,249,253,82,0,246,218,23,107,138,246,180,10,89,239,200,255,232,199,21,101,165,87,153,237,83,102,250,148,163,125,202,62,254,221,195,248,235,240,125,138,183,41,143,62,163,92,60,184,232,71,229,69,23,207,42,42,174,47,42,233,55,201,171,67,134,190,180,207,160,9,10,41,24,7,232,134,40,19,71,40,19,207,27,52,241,148,65,127,161,239,110,83,60,57,124,208,40,175,162,140,27,245,237,217,223,45,247,150,199,142,159,127,252,15,22,120,203,245,239,62,125,244,49,153,51,180,83,58,159,124,166,115,234,15,46,187,46,214,59,245,153,222,181,177,251,31,253,227,115,167,191,244,222,243,131,223,28,161,204,157,119,116,245,52,109,151,178,70,105,83,148,9,125,35,143,159,115,194,226,89,51,235,231,248,61,222,193,216,200,19,62,25,50,100,144,210,167,76,69,60,24,237,92,64,1,48,1,5,64,0,92,0,19,16,1,124,192,181,87,38,223,235,254,235,221,240,62,165,104,248,183,143,217,216,115,223,217,195,247,159,124,218,111,54,94,247,192,185,99,38,206,191,250,152,219,174,127,232,135,7,4,150,255,233,55,183,253,244,145,139,213,89,231,127,123,222,166,245,219,47,41,93,220,123,218,246,77,63,123,236,10,111,240,209,171,231,109,190,225,137,117,213,169,183,255,180,125,115,243,118,101,80,87,241,190,243,211,27,126,123,253,49,23,79,62,238,209,244,141,207,222,80,127,237,252,31,204,79,108,235,250,225,137,67,195,67,151,109,185,233,190,155,27,55,199,127,119,96,121,215,11,155,245,167,174,58,238,166,203,203,78,221,98,188,82,124,217,59,217,155,255,116,87,226,157,87,99,43,78,186,245,165,222,147,30,24,253,143,222,203,118,237,188,255,164,162,111,126,247,136,19,167,60,181,181,123,226,177,215,44,184,107,211,235,143,93,249,202,193,67,30,171,56,99,231,195,231,142,156,242,239,183,95,72,52,109,234,92,252,236,146,159,92,81,241,242,239,54,54,60,242,253,178,173,119,156,250,208,213,211,38,158,126,196,199,229,111,190,244,195,233,117,79,46,248,213,157,127,255,243,111,158,120,181,114,223,231,189,137,251,126,61,246,172,248,147,207,222,250,206,157,119,220,246,236,75,183,220,179,117,199,11,47,125,116,78,223,203,255,243,199,159,63,246,218,155,207,222,52,55,126,228,207,51,187,94,222,252,200,27,71,214,125,186,226,147,87,223,121,167,228,233,131,223,120,174,239,123,67,135,239,236,26,52,254,152,157,245,159,237,72,31,210,249,73,197,157,61,157,191,127,247,163,158,213,109,147,90,158,61,243,128,240,134,235,78,27,255,124,249,117,103,143,93,53,252,218,53,31,119,126,172,157,91,30,219,240,234,249,111,94,87,125,201,121,19,238,175,190,254,130,73,15,159,124,221,15,125,183,109,248,243,69,87,188,114,192,254,23,142,26,52,226,149,11,42,247,219,126,221,197,135,127,167,101,231,143,231,87,158,210,163,212,31,237,86,148,69,71,207,211,47,91,236,250,228,199,221,227,14,58,229,167,87,204,108,114,255,229,202,250,229,29,7,95,220,114,208,97,135,22,181,222,18,9,31,123,218,143,15,8,253,104,233,229,199,252,229,39,139,238,221,190,232,170,255,9,63,127,232,229,209,65,189,111,204,63,99,252,252,55,174,14,188,122,227,155,61,147,63,124,171,69,63,235,196,3,55,172,191,224,134,80,233,149,179,158,63,111,67,120,208,198,183,110,156,241,147,115,230,43,27,174,201,158,122,227,207,78,62,253,148,159,245,118,156,63,162,235,146,197,119,245,77,110,237,221,124,203,169,173,215,252,252,154,245,111,222,18,60,120,249,33,183,110,27,182,162,249,150,67,231,76,126,125,253,35,183,220,120,253,109,223,115,189,56,117,115,125,205,183,110,94,247,224,143,191,27,221,120,239,252,246,119,239,248,253,137,173,101,61,79,159,83,252,230,166,157,151,79,137,220,249,204,249,199,222,248,75,215,25,91,91,239,24,125,247,148,191,93,255,215,115,86,123,238,126,237,154,214,248,166,127,29,249,162,113,251,135,119,52,188,189,225,132,209,11,122,55,236,115,214,153,238,159,15,251,230,5,27,31,184,246,168,104,239,131,67,126,88,115,219,67,67,246,249,116,236,47,102,239,88,62,105,229,193,87,28,248,254,165,199,94,248,233,228,197,7,157,117,66,233,29,231,61,249,226,148,198,169,173,151,39,231,190,249,202,138,23,238,233,203,22,175,125,98,238,147,191,250,237,163,219,30,126,243,253,199,58,30,250,159,117,79,125,235,119,87,7,138,174,124,229,23,183,174,175,61,124,223,3,159,169,123,96,202,47,158,158,21,124,225,138,223,54,127,239,230,31,61,179,240,144,23,255,241,204,17,223,252,78,118,243,226,21,23,126,239,234,113,135,69,223,62,239,128,173,141,103,60,112,70,223,55,218,94,60,235,198,206,177,143,44,188,171,175,216,127,115,215,139,7,181,223,116,118,195,91,189,47,125,179,236,79,227,127,171,133,223,173,94,187,166,225,210,91,255,80,117,73,236,147,23,158,245,124,167,99,206,249,63,125,232,227,91,47,62,247,222,183,255,178,255,113,23,101,95,191,242,166,199,140,183,223,186,227,248,178,183,198,102,238,125,254,141,63,158,31,95,113,249,198,89,161,51,111,15,110,126,239,31,111,111,251,215,214,248,123,37,219,159,92,186,99,194,29,55,127,186,227,241,103,223,253,244,129,182,253,251,198,188,28,220,180,188,253,21,87,176,238,103,219,15,189,226,234,222,127,60,212,208,249,175,143,103,62,240,233,244,143,71,173,252,206,255,252,229,222,165,247,222,251,246,253,139,227,255,190,237,205,170,33,229,159,124,124,201,93,31,126,242,225,97,235,191,255,169,18,122,249,95,167,189,113,175,242,118,244,172,127,188,115,237,81,239,93,241,235,97,243,71,172,188,115,145,122,212,191,15,155,49,120,191,141,157,7,124,123,217,115,231,28,54,243,236,141,55,119,60,189,226,244,7,103,84,31,53,246,244,199,87,255,116,83,195,3,53,237,99,222,62,99,225,138,147,38,119,21,133,239,156,126,192,189,245,137,234,11,212,145,35,239,223,246,200,246,93,202,140,180,250,203,190,108,203,152,226,251,111,93,117,204,95,159,43,25,145,232,90,244,13,239,121,223,252,182,58,182,163,244,200,223,126,99,134,50,99,212,245,99,182,86,60,180,242,0,223,249,227,87,239,55,232,225,53,93,19,175,26,123,65,253,236,147,190,185,207,51,179,30,249,209,143,46,104,24,247,252,65,67,223,127,232,229,79,222,185,176,249,246,224,65,21,85,143,148,92,95,31,239,90,255,204,183,222,24,127,255,81,151,63,221,125,216,236,208,195,207,31,115,207,175,95,223,117,230,197,83,47,153,248,193,107,247,28,243,106,252,194,135,63,120,236,221,141,55,108,249,228,183,63,252,81,228,153,63,31,184,226,176,186,205,243,110,187,248,196,63,135,222,60,225,147,25,11,95,141,92,116,107,241,235,251,207,61,239,238,69,158,139,50,27,31,255,238,144,67,30,121,180,244,221,228,201,169,215,46,41,109,152,251,232,179,119,189,127,193,93,11,94,95,115,249,71,115,127,53,169,164,227,219,174,87,30,92,181,125,253,242,131,95,63,103,245,230,215,182,87,135,55,133,154,122,143,189,33,186,236,27,109,67,143,213,158,220,239,194,125,102,95,116,208,247,62,57,110,90,199,241,107,254,252,105,232,155,79,172,189,207,123,209,148,105,239,60,184,222,255,238,144,190,167,178,195,110,186,122,211,47,222,56,248,186,115,22,30,249,246,179,215,62,21,189,161,124,196,141,222,118,223,7,218,115,209,245,21,181,195,30,152,191,40,121,253,172,183,14,173,173,184,236,198,135,255,254,246,21,245,231,191,49,229,236,79,54,52,44,223,117,197,130,41,165,158,170,187,111,188,124,213,123,63,125,100,212,141,117,43,135,62,253,227,39,47,202,124,235,118,253,140,247,95,152,211,120,199,168,27,94,137,78,154,107,204,63,254,199,127,28,87,186,104,86,228,59,67,31,122,230,162,154,76,93,73,172,165,124,223,191,204,157,115,127,114,221,1,79,244,206,254,209,85,189,55,187,94,79,28,55,244,231,199,62,244,207,19,110,201,38,55,252,253,213,151,199,93,220,123,176,30,123,51,51,125,199,27,39,239,56,101,235,230,39,151,92,178,124,146,171,225,217,63,159,184,239,125,153,243,143,156,115,211,121,45,115,127,127,251,69,163,47,93,177,228,141,233,159,61,250,220,217,197,39,222,162,103,14,61,234,231,197,223,59,122,249,135,155,230,191,125,112,248,138,215,158,120,228,248,203,175,157,113,79,235,251,23,92,117,242,163,151,198,230,254,228,27,239,54,79,255,231,45,191,187,232,220,219,127,118,217,227,145,204,165,127,220,180,105,216,243,235,111,254,112,234,247,151,31,212,240,194,161,223,56,110,203,164,155,18,35,111,58,234,166,151,238,104,29,187,227,23,39,29,246,137,239,245,241,165,119,62,248,131,191,38,62,124,227,212,13,247,223,241,203,45,229,135,94,220,179,226,79,111,173,186,125,235,167,119,121,178,19,182,252,225,221,115,42,238,254,221,36,143,118,225,35,47,254,253,212,27,110,253,75,230,23,203,51,181,39,109,127,230,163,45,151,55,222,146,42,90,127,202,103,201,147,238,126,115,104,44,254,198,138,242,7,239,254,232,158,95,63,241,244,89,207,174,155,119,75,199,47,155,63,56,34,145,189,110,195,245,67,95,254,232,190,65,39,142,235,122,113,138,246,242,171,233,89,227,15,221,24,219,127,249,159,246,93,250,225,131,165,199,223,118,254,73,143,191,58,126,235,199,15,121,47,186,237,130,230,5,193,17,195,134,40,181,255,23,214,175,212,236,];
  28. var Module=typeof Module!=="undefined"?Module:{};window.addEventListener("keydown",(function(e){if(e.ctrlKey&&[82].indexOf(e.keyCode)>-1||[8,27,33,34,35,36,37,38,39,40,122,58,59,60,61,62].indexOf(e.keyCode)>-1)e.preventDefault()}),false);Module.printErr=(function(){});Module.saveAs=Module.saveAs||(function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=(function(){return e.URL||e.webkitURL||e}),r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,i=(function(e){var t=new MouseEvent("click");e.dispatchEvent(t)}),a=/constructor/i.test(e.HTMLElement),f=/CriOS\/[\d]+/.test(navigator.userAgent),u=(function(t){(e.setImmediate||e.setTimeout)((function(){throw t}),0)}),d="application/octet-stream",s=1e3*40,c=(function(e){var t=(function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}});setTimeout(t,s)}),l=(function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(i){u(i)}}}}),p=(function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e}),v=(function(t,u,s){if(!s){t=p(t)}var v=this,w=t.type,m=w===d,y,h=(function(){l(v,"writestart progress write writeend".split(" "))}),S=(function(){if((f||m&&a)&&e.FileReader){var r=new FileReader;r.onloadend=(function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()});r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)});v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout((function(){r.href=y;r.download=u;i(r);h();c(y);v.readyState=v.DONE}));return}S()}),w=v.prototype,m=(function(e,t,n){return new v(e,t||e.name||"download",n)});if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return(function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)})}w.abort=(function(){});w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m})(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define([],(function(){return saveAs}))}Module.showAddPopup=(function(callback){var modal=document.getElementById("add-modal");var span=document.getElementsByClassName("close")[0];modal.style.display="block";function cancel(){modal.style.display="none";callback(null,null)}span.onclick=cancel;window.onclick=(function(event){if(event.target==modal)cancel()});var uploadInput=document.getElementById("upload-input");uploadInput.onchange=(function(){var file=uploadInput.files[0];if(!file)return;var reader=new FileReader;reader.onload=(function(event){var rom=new Uint8Array(event.target.result);callback(file.name,rom);uploadInput.value="";modal.style.display="none"});reader.readAsArrayBuffer(file)})});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var functionPointers=new Array(0);function addFunction(func){for(var i=0;i<functionPointers.length;i++){if(!functionPointers[i]){functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var Runtime={dynCall:dynCall};var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function(){FS.syncfs((function(){}))}),(function($0,$1){Module.showAddPopup((function(filename,rom){if(filename==null||rom==null){Runtime.dynCall("viiiii",$0,[0,0,0,$1,0])}else{var filePtr=Module._malloc(filename.length+1);stringToUTF8(filename,filePtr,filename.length+1);var dataPtr=Module._malloc(rom.length);writeArrayToMemory(rom,dataPtr);Runtime.dynCall("viiiii",$0,[filePtr,dataPtr,rom.length,$1,0]);Module._free(filePtr);Module._free(dataPtr)}}))}),(function($0,$1,$2){var name=Pointer_stringify($0);var blob=new Blob([HEAPU8.subarray($1,$1+$2)],{type:"application/octet-stream"});Module.saveAs(blob,name)}),(function($0,$1,$2,$3){var dir="";Module.Pointer_stringify($0).split("/").forEach((function(val){if(val.length){dir+="/"+val;FS.mkdir(dir)}}));FS.mount(IDBFS,{},dir);FS.syncfs(true,(function(){Runtime.dynCall("viii",$1,[$2,$3,$0])}))}),(function(){if(typeof cartridge!="undefined"&&cartridge.length){var ptr=Module._malloc(cartridge.length);Module.writeArrayToMemory(cartridge,ptr);return ptr}else return 0}),(function(){return cartridge.length}),(function($0){Module._free($0)}),(function($0,$1){alert(UTF8ToString($0)+"\n\n"+UTF8ToString($1))}),(function(){return screen.width}),(function(){return screen.height}),(function($0){if(typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](Module["Pointer_stringify"]($0))}return 0}),(function($0,$1,$2){var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer)}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}SDL2.ctx.putImageData(SDL2.image,0,0);return 0}),(function($0,$1,$2){var w=$0;var h=$1;var pixels=$2;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url="url("+canvas.toDataURL()+"), auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf}),(function($0){if(Module["canvas"]){Module["canvas"].style["cursor"]=Module["Pointer_stringify"]($0)}return 0}),(function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}}),(function(){if(typeof AudioContext!=="undefined"){return 1}else if(typeof webkitAudioContext!=="undefined"){return 1}return 0}),(function(){if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return 1}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return 1}return 0}),(function($0){if(typeof SDL2==="undefined"){SDL2={}}if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}}return SDL2.audioContext===undefined?-1:0}),(function(){return SDL2.audioContext.sampleRate}),(function($0,$1,$2,$3){var have_microphone=(function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=(function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;Runtime.dynCall("vi",$2,[$3])});SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream});var no_microphone=(function(error){});SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=(function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;Runtime.dynCall("vi",$2,[$3])});SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}}),(function($0,$1,$2,$3){SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=(function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];Runtime.dynCall("vi",$2,[$3])});SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])}),(function($0){if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i<tracks.length;i++){SDL2.capture.stream.removeTrack(tracks[i])}SDL2.capture.stream=undefined}if(SDL2.capture.scriptProcessorNode!==undefined){SDL2.capture.scriptProcessorNode.onaudioprocess=(function(audioProcessingEvent){});SDL2.capture.scriptProcessorNode.disconnect();SDL2.capture.scriptProcessorNode=undefined}if(SDL2.capture.mediaStreamNode!==undefined){SDL2.capture.mediaStreamNode.disconnect();SDL2.capture.mediaStreamNode=undefined}if(SDL2.capture.silenceBuffer!==undefined){SDL2.capture.silenceBuffer=undefined}SDL2.capture=undefined}else{if(SDL2.audio.scriptProcessorNode!=undefined){SDL2.audio.scriptProcessorNode.disconnect();SDL2.audio.scriptProcessorNode=undefined}SDL2.audio=undefined}if(SDL2.audioContext!==undefined&&SDL2.audio===undefined&&SDL2.capture===undefined){SDL2.audioContext.close();SDL2.audioContext=undefined}}),(function($0,$1){var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;if(numChannels==1){var channelData=SDL2.capture.currentCaptureBuffer.getChannelData(0);if(channelData.length!=$1){throw"Web Audio capture buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){setValue($0+j*4,channelData[j],"float")}}else{for(var c=0;c<numChannels;++c){var channelData=SDL2.capture.currentCaptureBuffer.getChannelData(c);if(channelData.length!=$1){throw"Web Audio capture buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){setValue($0+(j*numChannels+c)*4,channelData[j],"float")}}}}),(function($0,$1){var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c<numChannels;++c){var channelData=SDL2.audio.currentOutputBuffer["getChannelData"](c);if(channelData.length!=$1){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+$1+" samples!"}for(var j=0;j<$1;++j){channelData[j]=HEAPF32[$0+(j*numChannels+c<<2)>>2]}}}),(function($0,$1){Module.printErr("bad name in getProcAddress: "+[Pointer_stringify($0),Pointer_stringify($1)])})];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+438640;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo7PD0aGAETAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/BwAAAAAAAAAAAAAAAAAAAAAAAAAAcH9A9Z0AAAaeAAAZngAAKZ4AADmeAAADAAAABAAAAAUAAAAHAAAACAAAAEueAABXngAAZZ4AAHCeAAB7ngAASrYAAFO2AABPqQYAY7YAAIieAAAIAAAACQAAAAYAAAAFAAAABQAAAMGeAADOngAA3J4AAOueAAD5ngAAPLMAAAAAAACoswAAAQAAALezAAAAAAAAu7MAAAIAAAAzEAUAzLMAANGzAAADAAAAAA4FAAAAAADmswAABAAAAM5wBQAAAAAA9rMAAAUAAAAAtAAAAAAAAAW0AAAGAAAAD7QAAAAAAAATtAAABwAAAG5yBQAAAAAAI7QAAAgAAAAztAAA7HEBADi0AAAJAAAAQbQAAEW0AABItAAACgAAAFu0AAAAAAAAXrQAAAsAAABvtAAAAAAAAHW0AAAMAAAAhLQAAAAAAACItAAADQAAAJG0AAAAAAAAlbQAAA4AAADxDQUAAAAAAKO0AAAPAAAAb5wFAAAAAAC+tAAAEAAAANe0AAAAAAAA27QAABEAAADSDwUAAAAAAO60AAASAAAA+7QAAAAAAAAAtQAAEwAAADl8BQAAAAAAE7UAABQAAAAPfgUAAAAAACO1AAAVAAAAPLUAAAAAAABBtQAAFgAAAFK1AAAAAAAAV7UAABcAAABKtgAAU7YAAE+pBgBjtgAAdrYAAEq2AABTtgAAT6kGAGO2AAB2tgAAB74AAA2+AADxDwUAFb4AAO0PBQBeEAUAEAAGACq+AAAzvgAAgAIAALPAAAC8wAAAIAMAANzDAADmwwAAzAMAALLHAAC6xwAACAQAAMLLAADOywAAWxAAACncAAAz3AAAAjUAADURAQA9EQEAYAEAAJ0SAQCoEgEAERUAALknAQDHJwEAtCQAAE+pBgBPqQYAY7YAAHtMAQB6UAEAg1ABAE+pBgCSUAEAoVABAEq2AABTtgAAT6kGAGO2AADiUAEAAAAAAA5SAQDAPwAAFVIBAPA/AAAdUgEA+D8AAClSAQD5PwAAMFIBAPs/AAA+UgEA/D8AAK6qBQAAQAAAS1IBAABgAABRUgEAAIAAAFlSAQCA/wAAXVIBAIT/AABmUgEAiP8AAGxSAQCQ/wAArqoFAJz/AAB1UgEA5P8AAIVSAQDkAAEAj1IBAGQRAQCTUgEAZD4BAKJSAQD8PwEAr1IBAABAAQCuqgUACAAAAAgAAAAEAAAAAgAAAAAAAAAEAAAAAgAAAAEAAAABAAAAAgAAAAMAAAA0AAAADAAAAAgAAAAEAAAANAAAAFgAAAAIAAAABAAAABAAAAAwAAAABAAAAAgAAABcAAAAMAAAAAQAAAAIAAAABAAAAAUAAAAGAAAABwAAAG9XAQB9VwEAi1cBAJZXAQAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAAFRXAQBeVwEA6VcBANhXAQAQAAAAEQAAABIAAAATAAAAAAAAAAEAAAAAAAAA//////////8AAAAAAQAAAAAAAAAAAAAAAgAAAAQAAAAFAAAABwAAAAkAAAALAAAAAQAAAAMAAAD/////BgAAAAgAAAAKAAAApVgBAKtYAQCyWAEAuFgBAL9YAQDFWAEAy1gBANJYAQDYWAEA31gBAOVYAQDsWAEAfFgBAIFYAQCIWAEAj1gBABoAAAATAAAAGAAAAAQAAAADAAAAFgAAAAcAAAACAAAACAAAAA4AAAAKAAAADQAAABEAAAAdAAAAFwAAAB4AAAAFAAAAEgAAACAAAAAUAAAAIQAAABkAAAAiAAAAFQAAAExaAQBPWgEAUloBAFVaAQBYWgEAW1oBAF5aAQBhWgEAZFoBAGdaAQBqWgEAbVoBABRaAQAhWgEANFoBAD9aAQAUAAAAFQAAABYAAAAXAAAASmsBAFFrAQBYawEAYGsBAGRrAQBsawEAcWsBAHVrAQDcawEA6WsBAPdrAQAFbAEAXm0BAGptAQB1bQEAT6kGAIRtAQCPbQEAGAAAABkAAAAaAAAAAAAAABsAAAABAAAArqoFAIoqBgCMKgYAVWwBAFdsAQBZbAEA2G4FAFtsAQBSNAYAXWwBAF9sAQD0cwUAYWwBAGNsAQDgegUAZWwBAN7PBQBnbAEAIdQFAGlsAQBrbAEAbWwBAG9sAQBQNAYAjioGAJAqBgBxbAEAEAMGAEtvAQD2cQEA+nEBAPxxAQD+cQEAAHIBAAJyAQAEcgEABnIBAHNsAQB5bAEAgGwBAIxsAQCZbAEAo2wBAK1sAQC4bAEAvmwBAMRsAQDLbAEAbn4FANFsAQB5nAUA1WwBAIx4AQAqegUA32wBAOZsAQDvbAEAuIIFAPRsAQD3bAEA/GwBAAFtAQAHbQEAEG0BABVtAQAbbQEAH20BACZtAQApbQEALG0BAC9tAQAybQEANW0BADhtAQA7bQEAPm0BAEFtAQBFbQEASW0BAAAAAAAAAAAA8AAAAIgAAADUCAAAAAAAAAoAAAAEAAAAhE4GAAAAAADkCAAA9AgAAAQJAAAUCQAAAAAAAAoAAAAKAAAAnE4GAAAAAAAKAAAACgAAAKBOBgAQ////AAAAAAoAAACkTgYAAAAAAAoAAAAKAAAAqE4GADwJAAAAAAAACgAAAAQAAABsTgYAAAAAAEwJAABcCQAAbAkAAHwJAAAKAAAAAAAAAAoAAACcTgYACgAAAAAAAAAKAAAAoE4GAAAAAAAQ////CgAAAKROBgAKAAAAAAAAAAoAAACoTgYA9AkAAAAAAAAKAAAAAgAAAPwJAAAAAAAAvAkAAAAAAAAKAAAAAgAAAMQJAAAAAAAAbAkAAHwJAADcCQAAAAAAAAoAAAACAAAAhE4GAAAAAADkCQAAFAkAAPAAAAAAAAAACgAAAKROBgAcCgAAfAkAABQKAAAAAAAACgAAAAIAAACETgYAAAAAAAQJAAAUCQAAAAAAAPAAAAAKAAAApE4GAESsAAAQgAEAAAAAAAAAAAAAAAAAAAAAABwAAAABAAAAAgAAAB0AAAADAAAABAAAAAEAAAAYAAAAAQAAAAIAAAAZAAAAHgAAAB8AAAADAAAABAAAAAUAAAC9cQEAAwAAAAMAAAABAAAAAAAAAMFxAQAUAAAAAwAAAAEAAAAAAAAAxHEBACQAAAADAAAAAQAAAAAAAADHcQEANAAAAAMAAAABAAAAAAAAAMpxAQBEAAAAAwAAAAEAAAAAAAAAzXEBAFQAAAADAAAAAQAAAAAAAADQcQEAZAAAAAMAAAABAAAAAAAAANNxAQB0AAAAAwAAAAEAAAAAAAAA1nEBAIQAAAADAAAAAQAAAAAAAADZcQEAlAAAAAMAAAABAAAAAAAAANxxAQCjAAAAAwAAAAEAAAAAAAAA4HEBAAMAAAAUAAAAAQAAAAAAAADkcQEAEwAAABMAAAAAAAAAvKgFAOZxAQAjAAAAEwAAAAAAAADocQEA1DwFADMAAAATAAAAAAAAACFjBQDVDgUAQwAAABMAAAAAAAAABA8FAOpxAQBTAAAAEwAAAAAAAAAf1AUAnqgFAGMAAAATAAAAAAAAAA99BQDscQEAcwAAABMAAAAAAAAANZsFADGbBQCDAAAAEwAAAAAAAABXfQUA7nEBAJMAAAATAAAAAQAAAAAAAADycQEAowAAABMAAAABAAAAAAAAAEtvAQADAAAAIwAAAAAAAADGpQUA9nEBABMAAAAjAAAAAAAAAPhxAQD6cQEAIwAAACMAAAAAAAAAAg8FAPxxAQAzAAAAIwAAAAAAAAAoiAUA/nEBAEMAAAAjAAAAAAAAADObBQAAcgEAUwAAACMAAAAAAAAAP5sFAAJyAQBjAAAAIwAAAAAAAABBmwUABHIBAHMAAAAjAAAAAAAAAC+bBQAGcgEAgwAAACMAAAAAAAAACHIBABADBgCTAAAAIwAAAAAAAACsYQUACnIBAKMAAAAkAAAAAQAAAAAAAAAOcgEAAwAAADMAAAAAAAAAAAAAABByAQATAAAAMwAAAAAAAAAAAAAAEnIBACMAAAAzAAAAAAAAAAAAAAAGfgUAMwAAADMAAAAAAAAAAAAAABRyAQBDAAAAMwAAAAAAAAAAAAAAFnIBAFMAAAAzAAAAAAAAAAAAAAAYcgEAYwAAADMAAAAAAAAAAAAAABpyAQBzAAAAMwAAAAAAAAAAAAAAHHIBAIMAAAAzAAAAAAAAAAAAAAACfgUAkwAAADMAAAAAAAAAAAAAAB5yAQCjAAAAMwAAAAAAAAA9mwUARugFAAsAAABDAAAAAAAAAAAAAAAEfgUAGwAAAEMAAAAAAAAAAAAAACByAQArAAAAQwAAAAAAAAAAAAAAInIBADsAAABDAAAAAAAAAAAAAAAkcgEASwAAAEMAAAAAAAAAAAAAACZyAQBbAAAAQwAAAAAAAAAAAAAAKHIBAGsAAABDAAAAAAAAAAAAAAAqcgEAewAAAEMAAAAAAAAAAAAAACxyAQCLAAAAQwAAAAAAAAAAAAAALnIBAJsAAABEAAAAAQAAAAAAAAA0cgEAEwAAAFMAAAAAAAAAAAAAADZyAQAjAAAAUwAAAAAAAAAAAAAA4n0FADMAAABTAAAAAAAAAAAAAADgfQUAQwAAAFMAAAAAAAAAAAAAAEjoBQBTAAAAUwAAAAAAAAAAAAAAOHIBAGMAAABTAAAAAAAAAAAAAAA6cgEAcwAAAFMAAAAAAAAAAAAAABJjBQCDAAAAUwAAAAAAAABDmwUAPkMGAJMAAABTAAAAAAAAAEWbBQA8cgEABQAAAGQAAAABAAAAAAAAAEFyAQAeAAAAZAAAAAEAAAAAAAAAAAAAAAAAAAAAAIBDAACAQAAAAAAAAAxDAACAQwAAgEAAAAAAAACAQAAAAEEAAAhDAAAAQQAAgEAAAHBDAAAIQwAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAAtAAAAPQAAAFsAAABdAAAAXAAAADsAAAAnAAAAYAAAACwAAAAuAAAALwAAACAAAAAJAAAADQAAAAgAAAB/AAAASQAAQEsAAEBOAABASgAAQE0AAEBSAABAUQAAQFAAAEBPAABAOQAAQOAAAEDhAABA4gAAQBsAAAA6AABAOwAAQDwAAEA9AABAPgAAQD8AAEBAAABAQQAAQEIAAEBDAABARAAAQEUAAED///////////////8AAA8A/////wIAAAAgAAAAIQAAAAEAAAAaAAAAAwAAAAEAAAAbAAAAwA8FAMMPBQAAAAAAAAAAAO2CBQBsEQAAHQAAAOARAAAmAAAARZwFAK6CBQBZeAEAZHgBAGt4AQBbnAUAAA4FAJKcBQDmDQUAcHgBAHmcBQB4eAEAyg0FAGCcBQDaDQUAlpwFAH14AQC8ggUAjZwFAOwNBQC1CwYAbJwFAIZ4AQCMeAEAdpwFAOCrBQCTeAEAVy4GAKksBgDGDwUAyg8FAM4PBQBifgUA0g8FANYPBQD9cwUAdgEGANoPBQDgDwUA5A8FAOgPBQDtDwUA8Q8FAPUPBQD6DwUA/w8FAAQQBQAJEAUADxAFABUQBQAcEAUAIxAFACkQBQAuEAUAMxAFADgQBQA9EAUAQxAFAEgQBQBOEAUAUhAFAFkQBQBeEAUAZBAFAGkQBQAMAAYAbxAFAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAHAAAAAgAAAAEAAAADAAAAAwAAAAQAAAAFAAAABQAAAAUAAAAGAAAABQAAAAcAAAAJAAAACAAAAAEAAAAJAAAAAwAAAAoAAAAGAAAACwAAAAkAAAAMAAAAAgAAAA0AAAADAAAADgAAAAEAAAAPAAAAAgAAABAAAAABAAAAEQAAAAIAAAASAAAAAwAAABMAAAADAAAAFAAAAAIAAAAVAAAAAgAAABYAAAAAAAAAFwAAAAAAAAAYAAAACAAAABkAAAAAAAAAGgAAAAQAAAAbAAAABAAAABwAAAAHAAAAHQAAAA4AAAAeAAAABAAAAB8AAAAEAAAAIAAAAAMAAAAhAAAAAAAAACIAAAABAAAAIwAAAAMAAAAEAAAAIgAAACMAAAACAAAAHAAAAAUAAAABAAAAHQAAAI8JBQCUCQUAlwkFAJQJBQCaCQUA7BMAABYAAABEFAAAJgAAAKqCBQBFnAUAroIFAFucBQCxggUAuIIFAKksBgBgnAUAvIIFAMWCBQBsnAUAdpwFAMqCBQDQggUA1IIFANiCBQDbggUAeZwFAOKCBQBXLgYA54IFAJacBQDGDwUAyg8FAM4PBQBifgUA0g8FANYPBQD9cwUAdgEGANoPBQDgDwUA5A8FAOgPBQDtDwUA8Q8FAPUPBQD6DwUA/w8FAAQQBQAJEAUADxAFABUQBQAcEAUAIxAFACkQBQAuEAUAMxAFADgQBQA9EAUAQxAFAEgQBQBOEAUAUhAFAFkQBQBeEAUAZBAFAGkQBQAMAAYAbxAFAAAAAAAAAAAAAAAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAABgAAACIAAAAjAAAAAgAAABwAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmgkFALgVAAAeAAAARBQAACYAAACpLAYAVy4GANCCBQB5nAUARZwFAMoNBQBgnAUAlpwFAGycBQBbnAUAsYIFANMNBQDaDQUA4Q0FAKqCBQDYggUAdpwFAK6CBQDUggUAh5wFAOCrBQDmDQUA7A0FAPENBQBvnAUA4oIFAG2qBQBLnAUA+A0FAAAOBQAIAAAAIgAAACMAAAACAAAAHAAAAAkAAAABAAAAHgAAAAAAAAAAAAAAAAAAAAAAAADVDgUAdBYAABkAAABEFAAAJgAAAK6CBQDXDgUAbJwFAOENBQDeDgUAYJwFAOMOBQDmDgUA7Q4FAJacBQD1DgUAj2UFAJKcBQDKggUA+Q4FAP0OBQDYggUAqoIFAFcuBgCpLAYA0IIFAAIPBQAEDwUABg8FAAkPBQAKAAAAJAAAACUAAAADAAAAHwAAAAsAAAABAAAAIAAAAMAPBQDDDwUAAAAAAAAAAADtggUAHBcAABMAAABoFwAAJgAAAEWcBQBLnAUAUZwFAFucBQCpLAYAYJwFAGScBQBsnAUAb5wFAHacBQBTmwUA1qsFAHmcBQCAnAUAh5wFAI2cBQBXLgYAkpwFAJacBQDGDwUAyg8FAM4PBQBifgUA0g8FANYPBQD9cwUAdgEGANoPBQDgDwUA5A8FAOgPBQDtDwUA8Q8FAPUPBQD6DwUA/w8FAAQQBQAJEAUADxAFABUQBQAcEAUAIxAFACkQBQAuEAUAMxAFADgQBQA9EAUAQxAFAEgQBQBOEAUAUhAFAFkQBQBeEAUAZBAFAGkQBQAMAAYAbxAFABs9BQCPZQUAyoIFACI9BQAQAAAAEAAAAAIAAAAEAAAACAAAAAABAAAAAgAAAQAAACAAAABAAAAAgAAAACCSAAAkkgAAUJIAAAAAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAABAAAAAQAAAABAAAAAgAAAAMAAAAIAAAACQAAAAAAAAAFAAAABgAAAAcAAACQAAAAkQAAAJ0AAACVAAAAAQAAAAIAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEEAgACBAQABxgGAAggCAAQIAoAIEAMAIAgEAB/Ag4AfwQuAH+AgAD/AUEAUXkFANCCBQDEawUAzGsFANVrBQAnhAUA3GsFALyCBQDMawUA4msFAOlrBQDGfQUAcXoFAJiABQD2cwUAnYAFAO9rBQCMgAUAr4AFAIaABQD0awUAkoAFAKOABQD6awUAAWwFAAhsBQAObAUAFWwFABtsBQCpgAUAIWwFAChsBQAtbAUAMmwFADtsBQChcAUA9gAAAKhwBQD3AAAAt3AFAPgAAABgpgUA+QAAAE5zBQD6AAAAvnAFAPsAAADFcAUA/AAAAM5wBQD9AAAA03AFAP4AAADYcAUA/wAAAN5wBQAAAQAAYn4FAAEBAADkcAUAAgEAAO1wBQADAQAA9HAFAAQBAAD7cAUABQEAAAJxBQAGAQAAmnMFAAcBAAAJcQUACAEAABJxBQAJAQAAG3EFAAoBAADjpQUAAAAAAI1wBQAAAAAAmHAFAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAcAAAAJAAAAZ3IFAAsBAABucgUADAEAAHVyBQANAQAAfXIFAA4BAACEcgUADwEAAIlyBQAQAQAAj3IFABEBAAAAAAAAAAAAABZzBQASAQAAHHMFABMBAAApcwUAFAEAADFzBQAVAQAAOXMFABYBAABCcwUAFwEAAE5zBQAYAQAAW3MFABkBAABmcwUAGgEAAHJzBQAbAQAAfHMFABwBAACJcwUAHQEAAJFzBQAeAQAAmnMFAB8BAACncwUAIAEAALJzBQAhAQAAAAAAAAAAAABFrAUAeZwFAP1zBQDyqQUAAnQFAHyoBQAiAQAAgKgFACMBAACFqAUAJAEAAIqoBQAlAQAAj6gFACYBAACUqAUAJwEAABt1BQAoAQAAH3UFACkBAAAjdQUAKgEAAJioBQArAQAALXUFACwBAAAydQUALQEAALOoBQAuAQAAeaoFAC8BAAB1qgUAMAEAADZ1BQAxAQAAO3UFADIBAABYhgUAMwEAAD91BQA0AQAApqgFADUBAACqqAUANgEAAK+oBQA3AQAA46UFADgBAABKdQUAJQEAAFB1BQA5AQAAVXUFADoBAABadQUAOwEAAF91BQA8AQAAY3UFAD0BAABpdQUAPgEAAG91BQA/AQAAI6gFAAAAAAAAdQUAAAAAAAV1BQAAAAAAEHUFAAAAAAAAAAAAAAAAABCdBQBAAQAA1nUFAEEBAADbdQUAQgEAAOB1BQBDAQAAcOcFAEQBAADldQUARQEAAOx1BQBGAQAA8XUFAEcBAABcfgUASAEAANp9BQBJAQAA9XUFAEoBAAD5dQUASwEAAAF2BQBMAQAAdH4FAE0BAAAxegUATgEAAAV2BQBPAQAANnoFAFABAAAAAAAAAAAAACN6BQBRAQAAKnoFAFIBAAAxegUAUwEAADZ6BQBUAQAAPXoFAFUBAABEegUAVgEAAEl6BQBXAQAAAAAAAAAAAACJfQUAWAEAAJF9BQBZAQAAWHwFAAAAAAAofAUAAAAAAN57BQAAAAAAPXsFAAAAAABIfAUAAAAAAAAAAAAAAAAAYHwFAFoBAAAAAAAAAAAAAIaABQBbAQAAjIAFAFwBAACSgAUAXQEAAJiABQBeAQAAnYAFAF8BAACjgAUAYAEAAKmABQBhAQAAr4AFAGIBAAAAAAAAAAAAAM59BQBjAQAA1H0FAGQBAADafQUAZQEAAEjoBQBmAQAA4H0FAGcBAADifQUAaAEAAOR9BQBpAQAA530FAGoBAADrfQUAawEAAO59BQBsAQAA830FAG0BAAD2fQUAbgEAAPl9BQBvAQAA/H0FAHABAAD/fQUAcQEAAAJ+BQByAQAABH4FAHMBAAAGfgUAdAEAAAh+BQB1AQAAD34FAHYBAAAXfgUAdwEAAOOlBQB4AQAAAAAAAAAAAACqggUARZwFAK6CBQBbnAUAsYIFALiCBQCpLAYAYJwFALyCBQDFggUAbJwFAHacBQDKggUA0IIFANSCBQDYggUA24IFAHmcBQDiggUAVy4GAOeCBQCWnAUA7YIFAKuqBQCuqgUATZsFAEqbBQBHmwUA8IIFADebBQA6mwUA84IFAPaCBQD8ggUABYMFAA+DBQAWgwUAEwAAAAEAAAACAAAAAwAAAAQAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAhAAAAIAAAAB8AAAAeAAAAHQAAABwAAAAbAAAAGgAAAA0AAAAMAAAACwAAAAoAAAAJAAAACQAAAAgAAAAHAAAABgAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAACQAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAAAAAAAEQAAAAAAAAAAAAAAJwAAACgAAAANAAAAq6oFAAAAAAAnAAAAKAAAAA0AAACuqgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAACgAAAAPAAAAL5sFAAAAAAAnAAAAKAAAAA8AAAAxmwUAAAAAACcAAAAoAAAADwAAADObBQAAAAAAJwAAACgAAAAOAAAANZsFACkAAAAnAAAAKgAAAA4AAACeqAUAAAAAACcAAAAoAAAADAAAADebBQAAAAAAJwAAACgAAAAMAAAAOpsFAAAAAAAnAAAAKAAAAAkAAAA9mwUAAAAAACsAAAAAAAAABAAAAAAAAAAAAAAAJwAAACgAAAAKAAAAP5sFAAAAAAAnAAAAKAAAAAsAAABBmwUAAAAAACwAAAAAAAAABQAAAAAAAAApAAAAAAAAAC0AAAAAAAAAxqUFACkAAAAAAAAALQAAAAAAAAC8qAUAAAAAAC4AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnAAAAKAAAAAgAAABDmwUAAAAAACcAAAAoAAAACAAAAEWbBQAAAAAAJwAAACgAAAAIAAAAR5sFAAAAAAAnAAAAKAAAAAgAAABKmwUAAAAAACcAAAAoAAAABgAAAE2bBQAAAAAAJwAAACgAAAAGAAAAUJsFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcAAAAoAAAABwAAAFObBQAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAAAAAAAAAAADYAAAAAAAAANwAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZwFAAUAAAAhAAAAS5wFAAUAAAAiAAAAUZwFAAkAAAAjAAAAW5wFAAQAAAAkAAAAqSwGAAUAAAAlAAAAYJwFAAMAAAAmAAAAZJwFAAcAAAAnAAAAbJwFAAIAAAAoAAAAb5wFAAYAAAApAAAAdpwFAAIAAAAqAAAAU5sFAAIAAAArAAAA1qsFAAQAAAAsAAAAeZwFAAYAAAAtAAAAgJwFAAYAAAAuAAAAh5wFAAUAAAAvAAAAjZwFAAQAAAAwAAAAVy4GAAQAAAAxAAAAkpwFAAMAAAAyAAAAlpwFAAUAAAAzAAAAAAAAAAAAAAA8AAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAP//////////AAAAAP/////+/////f////z////7////+v////n////4////9/////b////1////9P////P////y////8f////D///8AAAAA//////7////9/////P////v////6////+f////j////3////9v////X////0////8/////L////x////8P///wAAAAAAAAAA/////////////////////wAAAAABAAAAAAAAAAAAAAD///////////7////+////AQAAAAEAAAAAAAAAT6kGAAAAAAAAAAAAAAAAAE+pBgAAAAAAAwAAAAAAAAAAAAAAljAHdyxhDu66UQmZGcRtB4/0anA1pWPpo5VknjKI2w6kuNx5HunV4IjZ0pcrTLYJvXyxfgctuOeRHb+QZBC3HfIgsGpIcbnz3kG+hH3U2hrr5N1tUbXU9MeF04NWmGwTwKhrZHr5Yv3syWWKT1wBFNlsBmNjPQ/69Q0IjcggbjteEGlM5EFg1XJxZ6LR5AM8R9QES/2FDdJrtQql+qi1NWyYskLWybvbQPm8rONs2DJ1XN9Fzw3W3Fk90ausMNkmOgDeUYBR18gWYdC/tfS0ISPEs1aZlbrPD6W9uJ64AigIiAVfstkMxiTpC7GHfG8vEUxoWKsdYcE9LWa2kEHcdgZx2wG8INKYKhDV74mFsXEftbYGpeS/nzPUuOiiyQd4NPkAD46oCZYYmA7huw1qfy09bQiXbGSRAVxj5vRRa2tiYWwc2DBlhU4AYvLtlQZse6UBG8H0CIJXxA/1xtmwZVDptxLquL6LfIi5/N8d3WJJLdoV83zTjGVM1PtYYbJNzlG1OnQAvKPiMLvUQaXfSteV2D1txNGk+/TW02rpaUP82W40RohnrdC4YNpzLQRE5R0DM19MCqrJfA3dPHEFUKpBAicQEAu+hiAMySW1aFezhW8gCdRmuZ/kYc4O+d5emMnZKSKY0LC0qNfHFz2zWYENtC47XL23rWy6wCCDuO22s7+aDOK2A5rSsXQ5R9Xqr3fSnRUm2wSDFtxzEgtj44Q7ZJQ+am0NqFpqegvPDuSd/wmTJ64ACrGeB31Ekw/w0qMIh2jyAR7+wgZpXVdi98tnZYBxNmwZ5wZrbnYb1P7gK9OJWnraEMxK3Wdv37n5+e++jkO+txfVjrBg6KPW1n6T0aHEwtg4UvLfT/Fnu9FnV7ym3Qa1P0s2skjaKw3YTBsKr/ZKAzZgegRBw+9g31XfZ6jvjm4xeb5pRoyzYcsag2a8oNJvJTbiaFKVdwzMA0cLu7kWAiIvJgVVvju6xSgLvbKSWrQrBGqzXKf/18Ixz9C1i57ZLB2u3luwwmSbJvJj7JyjanUKk20CqQYJnD82DuuFZwdyE1cABYJKv5UUerjiriuxezgbtgybjtKSDb7V5bfv3Hwh39sL1NLThkLi1PH4s91oboPaH80WvoFbJrn24Xewb3dHtxjmWgiIcGoP/8o7BmZcCwER/55lj2muYvjT/2thRc9sFnjiCqDu0g3XVIMETsKzAzlhJmen9xZg0E1HaUnbd24+SmrRrtxa1tlmC99A8DvYN1OuvKnFnrvef8+yR+n/tTAc8r29isK6yjCTs1Omo7QkBTbQupMG180pV95Uv2fZIy56ZrO4SmHEAhtoXZQrbyo3vgu0oY4MwxvfBVqN7wItAAAAAEExGxmCYjYyw1MtKwTFbGRF9Hd9hqdaVseWQU8IitnISbvC0Yro7/rL2fTjDE+1rE1+rrWOLYOezxyYh1ESwkoQI9lT03D0eJJB72FV164uFOa1N9e1mByWhIMFWZgbghipAJvb+i2wmss2qV1dd+YcbGz/3z9B1J4OWs2iJISV4xWfjCBGsqdhd6m+puHo8efQ8+gkg97DZbLF2qquXV3rn0ZEKMxrb2n9cHauazE571oqICwJBwttOBwS8zZG37IHXcZxVHDtMGVr9PfzKru2wjGidZEciTSgB5D7vJ8Xuo2EDnneqSU477I8/3nzc75I6Gp9G8VBPCreWAVPefBEfmLphy1PwsYcVNsBihWUQLsOjYPoI6bC2Ti/DcWgOEz0uyGPp5YKzpaNEwkAzFxIMddFi2L6bspT4XdUXbu6FWygo9Y/jYiXDpaRUJjX3hGpzMfS+uHsk8v69VzXYnId5nlr3rVUQJ+ET1lYEg4WGSMVD9pwOCSbQSM9p2v9ZeZa5nwlCctXZDjQTqOukQHin4oYIcynM2D9vCqv4SSt7tA/tC2DEp9ssgmGqyRIyeoVU9ApRn77aHdl4vZ5Py+3SCQ2dBsJHTUqEgTyvFNLs41IUnDeZXkx735g/vPm57/C/f58kdDVPaDLzPo2ioO7B5GaeFS8sTllp6hLmIM7CqmYIsn6tQmIy64QT13vXw5s9EbNP9ltjA7CdEMSWvMCI0HqwXBswYBBd9hH1zaXBuYtjsW1AKWEhBu8GopBcVu7WmiY6HdD2dlsWh5PLRVffjYMnC0bJ90cAD4SAJi5UzGDoJBirovRU7WSFsX03Vf078SUp8Lv1ZbZ9um8B66ojRy3a94xnCrvKoXteWvKrEhw028bXfguKkbh4TbeZqAHxX9jVOhUImXzTeXzsgKkwqkbZ5GEMCagnym4rsXk+Z/e/TrM89Z7/ejPvGupgP1aspk+CZ+yfziEq7AkHCzxFQc1MkYqHnN3MQe04XBI9dBrUTaDRnp3sl1jTtf6yw/m4dLMtcz5jYTX4EoSlq8LI422yHCgnYlBu4RGXSMDB2w4GsQ/FTGFDg4oQphPZwOpVH7A+nlVgctiTB/FOIFe9COYnacOs9yWFaobAFTlWjFP/JliYtfYU3nOF0/hSVZ++lCVLdd71BzMYhOKjS1Su5Y0kei7H9DZoAbs835ercJlR26RSGwvoFN16DYSOqkHCSNqVCQIK2U/EeR5p5alSLyPZhuRpCcqir3gvMvyoY3Q62Le/cAj7+bZveG8FPzQpw0/g4omfrKRP7kk0HD4FctpO0bmQnp3/Vu1a2Xc9Fp+xTcJU+52OEj3sa4JuPCfEqEzzD+Kcv0kkwAAAAA3asIBbtSEA1m+RgLcqAkH68LLBrJ8jQSFFk8FuFETDo870Q/WhZcN4e9VDGT5GglTk9gICi2eCj1HXAtwoyYcR8nkHR53oh8pHWAerAsvG5th7RrC36sY9bVpGcjyNRL/mPcTpiaxEZFMcxAUWjwVIzD+FHqOuBZN5HoX4EZNONcsjzmOksk7ufgLOjzuRD8LhIY+UjrAPGVQAj1YF142b32cNzbD2jUBqRg0hL9XMbPVlTDqa9My3QERM5DlaySnj6kl/jHvJ8lbLSZMTWIjeyegIiKZ5iAV8yQhKLR4Kh/euitGYPwpcQo+KPQccS3DdrMsmsj1Lq2iNy/AjZpw9+dYca5ZHnOZM9xyHCWTdytPUXZy8Rd0RZvVdXjciX5Ptkt/FggNfSFiz3ykdIB5kx5CeMqgBHr9ysZ7sC68bIdEfm3e+jhv6ZD6bmyGtWtb7HdqAlIxaDU482kIf69iPxVtY2arK2FRwelg1NemZeO9ZGS6AyJmjWngZyDL10gXoRVJTh9TS3l1kUr8Y95PywkcTpK3Wkyl3ZhNmJrERq/wBkf2TkBFwSSCREQyzUFzWA9AKuZJQh2Mi0NQaPFUZwIzVT68dVcJ1rdWjMD4U7uqOlLiFHxQ1X6+Ueg54lrfUyBbhu1mWbGHpFg0ketdA/spXFpFb15tL61fgBs14bdx9+Duz7Hi2aVz41yzPOZr2f7nMme45QUNeuQ4SibvDyDk7laeouxh9GDt5OIv6NOI7emKNqvrvVxp6vC4E/3H0tH8nmyX/qkGVf8sEBr6G3rY+0LEnvl1rlz4SOkA83+DwvImPYTwEVdG8ZRBCfSjK8v1+pWN983/T/ZgXXjZVze62A6J/No54z7bvPVx3oufs9/SIfXd5Us33NgMa9fvZqnWttjv1IGyLdUEpGLQM86g0Wpw5tNdGiTSEP5exSeUnMR+KtrGSUAYx8xWV8L7PJXDooLTwZXoEcCor03Ln8WPysZ7ycjxEQvJdAdEzENths0a08DPLbkCzkCWr5F3/G2QLkIrkhko6ZOcPqaWq1Rkl/LqIpXFgOCU+Me8n8+tfp6WEzicoXn6nSRvtZgTBXeZSrsxm33R85owNYmNB19LjF7hDY5pi8+P7J2Aitv3QouCSQSJtSPGiIhkmoO/DliC5rAegNHa3IFUzJOEY6ZRhToYF4cNctWGoNDiqZe6IKjOBGaq+W6kq3x4665LEimvEqxvrSXGrawYgfGnL+szpnZVdaRBP7elxCn4oPNDOqGq/XyjnZe+otBzxLXnGQa0vqdAtonNgrcM282yO7EPs2IPSbFVZYuwaCLXu19IFboG9lO4MZyRubSK3ryD4By92l5av+00mL4AAAAAZWe8uIvICarur7USV5dijzLw3jfcX2sluTjXne8otMWKTwh9ZOC9bwGHAde4v9ZK3dhq8jN33+BWEGNYn1cZUPowpegUnxD6cfisQsjAe9+tp8dnQwhydSZvzs1wf62VFRgRLfu3pD+e0BiHJ+jPGkKPc6KsIMawyUd6CD6vMqBbyI4YtWc7CtAAh7JpOFAvDF/sl+LwWYWHl+U90YeGZbTgOt1aT4/PPygzd4YQ5Orjd1hSDdjtQGi/Ufih+CvwxJ+XSCowIlpPV57i9m9Jf5MI9cd9p0DVGMD8bU7QnzUrtyONxRiWn6B/KicZR/26fCBBApKP9BD36EioPVgUm1g/qCO2kB0x0/ehiWrPdhQPqMqs4Qd/voRgwwbScKBetxcc5lm4qfQ83xVMhefC0eCAfmkOL8t7a0h3w6IPDcvHaLFzKccEYUyguNn1mG9EkP/T/H5QZu4bN9pWTSe5DihABbbG77Cko4gMHBqw24F/12c5kXjSK/QfbpMD9yY7ZpCag4g/L5HtWJMpVGBEtDEH+AzfqE0eus/xpuzfkv6JuC5GZxebVAJwJ+y7SPBx3i9MyTCA+dtV50VjnKA/a/nHg9MXaDbBcg+Kecs3XeSuUOFcQP9UTiWY6PZziIuuFu83FvhAggSdJz68JB/pIUF4VZmv1+CLyrBcMzu2We1e0eVVsH5QR9UZ7P9sITtiCUaH2ufpMsiCjo5w1J7tKLH5UZBfVuSCOjFYOoMJj6fmbjMfCMGGDW2mOrWk4UC9wYb8BS8pSRdKTvWv83YiMpYRnop4viuYHdmXIEvJ9HgurkjAwAH90qVmQWocXpb3eTkqT5eWn13y8SPlBRlrTWB+1/WO0WLn67beX1KOCcI36bV62UYAaLwhvNDqMd+Ij1ZjMGH51iIEnmqavaa9B9jBAb82brStUwkIFZpOch3/Kc6lEYZ7t3Thxw/N2RCSqL6sKkYRGTgjdqWAdWbG2BABemD+rs9ym8lzyiLxpFdHlhjvqTmt/cxeEUUG7k12Y4nxzo0mRNzoQfhkUXkv+TQek0HasSZTv9aa6+nG+bOMoUULYg7wGQdpTKG+UZs82zYnhDWZkpZQ/i4umblUJvze6J4ScV2MdxbhNM4uNqmrSYoRReY/AyCBg7t2keDjE/ZcW/1Z6UmYPlXxIQaCbERhPtSqzovGz6k3fjhBf9ZdJsNus4l2fNbuysRv1h1ZCrGh4eQeFPOBeahL12nLE7IOd6tcocK5OcZ+AYD+qZzlmRUkCzagNm5RHI6nFmaGwnHaPizebyxJudOU8IEECZXmuLF7SQ2jHi6xG0g+0kMtWW77w/bb6aaRZ1EfqbDMes4MdJRhuWbxBgXeAAAAAHcHMJbuDmEsmQlRugdtxBlwavSP6WOlNZ5klaMO24gyedy4pODV6R6X0tmICbZMK36xfL3nuC0HkL8dkR23EGRqsCDy87lxSIS+Qd4a2tR9bd3k6/TUtVGD04XHE2yYVmRrqMD9Yvl6imXJ7BQBXE9jBmzZ+g89Y40IDfU7biDITGkQXtVgQeSiZ3FyPAPk0UsE1EfSDYX9pQq1azW1qPpCsphs27vJ1qy8+UAy2GzjRd9cddzWDc+r0T1ZJtkwrFHeADrI11GAv9BhFiG09LVWs8Qjz7qVmbi9pQ8oArieXwWICMYM2bKxC+kkL298h1hoTBHBYR2rtmYtPXbcQZAB23EGmNIgvO/VECpxsYWJBra1H5+/5KXouNQzeAfJog8A+TSWCaiO4Q6YGH9qDbsIbT0tkWRsl+ZjXAFra1H0HGxhYoVlMNjyYgBObAaV7RsBpXuCCPTB9Q/EV2Ww2cYSt+lQi7646vy5iHxi3R3fFdotSYzTfPP71ExlTbJhWDq1Uc6jvAB01Lsw4krfpUE92JXXpNHEbdPW9PtDaelqNG7Z/K1niEbaYLjQRAQtczMDHeWqCkxf3Q18yVAFcTwnAkGqvgsQEMkMIIZXaLUlIG+Fs7lm1AnOYeSfXt75DinZyZiw0Jgix9eotFmzPRcutA2Bt71cO8C6bK3tuIMgmr+ztgO24gx0sdKa6tVHOZ3Sd68E2yYVc9wWg+NjCxKUZDuEDW1qPnpqWqjkDs8Lkwn/nQoArid9B56x8A+TRIcIo9IeAfJoaQbC/vdiV12AZWfLGWw2cW5rBuf+1Bt2idMr4BDaelpn3UrM+bnfb46+7/kXt75DYLCO1dbWo+ih0ZN+ONjCxE/f8lLRu2fxprxXZz+1Bt1IsjZL2A0r2q8KG0w2A0r2QQR6YN9g78OoZ99VMW6O70ZpvnnLYbOMvGaDGiVv0qBSaOI2zAx3lbsLRwMiAha5VQUmL8W6O76yvQsoK7RaklyzagTC1/+ntdDPMSzZnotb3q4dm2TCsOxj8iZ1aqOcAm2TCpwJBqnrDjY/cgdnhQUAVxOVv0qC4rh6FHuxK64Mths4ktKOm+XVvg183O+3C9vfIYbT0tTx1OJCaN2z+B/ag26BvhbN9rkmW2+wd+EYt0d3iAha5v8PanBmBjvKEQELXI9lnv/4Yq5pYWv/0xZsz0WgCuJ41w3S7k4Eg1Q5A7PCp2cmYdBgFvdJaUdNPm53267RakrZ1lrcQN8LZjfYO/CpvK5T3ruexUeyz38wtf/pvb3yHMq6wopTs5MwJLSjprrQNgXN1waTVN5XKSPZZ7+zZnouxGFKuF1oGwIqbyuUtAu+N8MMjqFaBd8bLQLvjQAAAAAZGzFBMjZigistU8NkbMUEfXf0RVZap4ZPQZbHyNmKCNHCu0n67+iK4/TZy6y1Twy1rn5NnoMtjoeYHM9KwhJRU9kjEHj0cNNh70GSLq7XVTe15hQcmLXXBYOEloIbmFmbAKkYsC3626k2y5rmd11d/2xsHNRBP9/NWg6elYQkooyfFeOnskYgvql3YfHo4abo89Dnw96DJNrFsmVdXa6qREaf629rzCh2cP1pOTFrriAqWu8LBwksEhw4bd9GNvPGXQey7XBUcfRrZTC7KvP3ojHCtokckXWQB6A0F5+8+w6Ejbolqd55PLLvOHPzef9q6Ei+QcUbfVjeKjzweU8F6WJ+RMJPLYfbVBzGlBWKAY0Ou0CmI+iDvzjZwjigxQ0hu/RMCpanjxONls5czAAJRdcxSG76Yot34VPKurtdVKOgbBWIjT/WkZYOl97XmFDHzKkR7OH60vX6y5NyYtdca3nmHUBUtd5ZT4SfFg4SWA8VIxkkOHDaPSNBm2X9a6d85lrmV8sJJU7QOGQBka6jGIqf4jOnzCEqvP1grSThr7Q/0O6fEoMthgmybMlIJKvQUxXq+35GKeJld2gvP3n2NiRItx0JG3QEEio1S1O88lJIjbN5Zd5wYH7vMefm8/7+/cK/1dCRfMzLoD2Dijb6mpEHu7G8VHiop2U5O4OYSyKYqQoJtfrJEK7LiF/vXU9G9GwObdk/zXTCDozzWhJD6kEjAsFscMHYd0GAlzbXR44t5galALXFvBuEhHFBihpoWrtbQ3fomFps2dkVLU8eDDZ+XycbLZw+ABzduZgAEqCDMVOLrmKQkrVT0d30xRbE7/RX78KnlPbZltWuB7zptxyNqJwx3muFKu8qymt57dNwSKz4XRtv4UYqLmbeNuF/xQegVOhUY03zZSICsvPlG6nCpDCEkWcpn6Am5MWuuP3en/nW88w6z+j9e4Cpa7yZslr9sp8JPquEOH8sHCSwNQcV8R4qRjIHMXdzSHDhtFFr0PV6RoM2Y12yd8v6107S4eYP+cy1zODXhI2vlhJKto0jC52gcMiEu0GJAyNdRho4bAcxFT/EKA4OhWdPmEJ+VKkDVXn6wExiy4GBOMUfmCP0XrMOp52qFZbc5VQAG/xPMVrXYmKZznlT2EnhTxdQ+n5We9ctlWLMHNQtjYoTNJa7Uh+76JEGoNnQXn7z7Edlwq1sSJFudVOgLzoSNugjCQepCCRUahE/ZSuWp3nkj7xIpaSRG2a9iion8su84OvQjaHA/d5i2ebvIxS84b0Np9D8JoqDPz+Rsn5w0CS5acsV+ELmRjtb/Xd63GVrtcV+WvTuUwk390g4drgJrrGhEp/wij/MM5Mk/XIAAAAAAcJqNwOE1G4CRr5ZBwmo3AbLwusEjXyyBU8WhQ4TUbgP0TuPDZeF1gxV7+EJGvlkCNiTUwqeLQoLXEc9HCajcB3kyUcfonceHmAdKRsvC6wa7WGbGKvfwhlptfUSNfLIE/eY/xGxJqYQc0yRFTxaFBT+MCMWuI56F3rkTThNRuA5jyzXO8mSjjoL+Lk/RO48PoaECzzAOlI9AlBlNl4XWDecfW812sM2NBipATFXv4QwldWzMtNr6jMRAd0ka+WQJamPpyfvMf4mLVvJI2JNTCKgJ3sg5pkiISTzFSp4tCgrut4fKfxgRig+CnEtcRz0LLN2wy71yJovN6KtcJqNwHFY5/dzHlmuctwzmXeTJRx2UU8rdBfxcnXVm0V+idx4f0u2T30NCBZ8z2IheYB0pHhCHpN6BKDKe8bK/Wy8LrBtfkSHbzj63m76kOlrtYZsanfsW2gxUgJp8zg1Yq9/CGNtFT9hK6tmYOnBUWWm19RkZL3jZiIDumfgaY1I18sgSRWhF0tTH05KkXV5T95j/E4cCctMWreSTZjdpUbEmphHBvCvRUBO9kSCJMFBzTJEQA9Yc0JJ5ipDi4wdVPFoUFUzAmdXdbw+VrfWCVP4wIxSOqq7UHwU4lG+ftVa4jnoWyBT31lm7YZYpIexXeuRNFwp+wNeb0VaX60vbeE1G4Dg93G34rHP7uNzpdnmPLNc5/7Za+W4ZzLkeg0F7yZKOO7kIA/sop5W7WD0Yegv4uTp7YjT66s2iuppXL39E7jw/NHSx/6XbJ7/VQap+hoQLPvYehv5nsRC+FyudfMA6UjywoN/8IQ9JvFGVxH0CUGU9csro/eNlfr2T//N2XhdYNi6N1fa/IkO2z7jOd5x9bzfs5+L3fUh0tw3S+XXawzY1qlm79Tv2LbVLbKB0GKkBNGgzjPT5nBq0iQaXcVe/hDEnJQnxtoqfscYQEnCV1bMw5U8+8HTgqLAEeiVy02vqMqPxZ/IyXvGyQsR8cxEB3TNhm1Dz8DTGs4CuS2Rr5ZAkG38d5IrQi6T6SgZlqY+nJdkVKuVIurylOCAxZ+8x/iefq3PnDgTlp36eaGYtW8kmXcFE5sxu0qa89F9jYk1MIxLXweODeFej8+LaYqAneyLQvfbiQRJgojGI7WDmmSIglgOv4AesOaB3NrRhJPMVIVRpmOHFxg6htVyDani0KCoILqXqmYEzqukbvmu63h8rykSS61vrBKsrcYlp/GBGKYz6y+kdVV2pbc/QaD4KcShOkPzo3z9qqK+l521xHPQtAYZ57ZAp763gs2Jss3bDLMPsTuxSQ9isItlVbvXImi6FUhfuFP2BrmRnDG83oq0vRzgg79aXtq+mDTtAAAAALi8Z2WqCciLErWv7o9il1c33vAyJWtf3J3XOLnFtCjvfQhPim+94GTXAYcBSta/uPJq2N3g33czWGMQVlAZV5/opTD6+hCfFEKs+HHfe8DIZ8enrXVyCEPNzm8mla1/cC0RGBU/pLf7hxjQnhrP6Ceic49CsMYgrAh6R8mgMq8+GI7IWwo7Z7WyhwDQL1A4aZfsXwyFWfDiPeWXh2WGh9HdOuC0z49PWnczKD/q5BCGUlh340Dt2A34Ub9o8Cv4oUiXn8RaIjAq4p5XT39Jb/bH9QiT1UCnfW38wBg1n9BOjSO3K5+WGMUnKn+guv1HGQJBIHwQ9I+SqEjo95sUWD0jqD9YMR2Qtomh99MUds9qrMqoD75/B+EGw2CEXqBw0uYcF7f0qbhZTBXfPNHC54VpfoDge8svDsN3SGvLDQ+ic7Fox2EExynZuKBMRG+Y9fzT/5DuZlB+Vto3Gw65J022BUAopLDvxhwMiKOB27AaOWfXfyvSeJGTbh/0Oyb3A4OakGaRLz+IKZNY7bREYFQM+AcxHk2o36bxz7r+kt/sRi64iVSbF2fsJ3ACcfBIu8lML97b+YAwY0XnVWs/oJzTg8f5wTZoF3mKD3LkXTfLXOFQrk5U/0D26JglrouIcxY37xYEgkD4vD4nnSHpHySZVXhBi+DXrzNcsMrtWbY7VeXRXkdQfrD/7BnVYjshbNqHRgnIMunncI6OgijtntSQUfmxguRWXzpYMTqnjwmDHzNu5g2GwQi1OqZtvUDhpAX8hsEXSSkvr/VOSjIidvOKnhGWmCu+eCCX2R149MlLwEiuLtL9AcBqQWal95ZeHE8qOXldn5aX5SPx8k1rGQX1135g52LRjl/etuvCCY5SerXpN2gARtnQvCG8iN8x6jBjVo8i1vlhmmqeBAe9pr2/AcHYrbRuNhUICVMdck6apc4p/7d7hhEPx+F0khDZzSqsvqg4GRFGgKV2I9jGZnVgegEQcs+u/spzyZtXpPEi7xiWR/2tOalFEV7Mdk3uBs7xiWPcRCaNZPhB6PkveVFBkx40Uyax2uua1r+z+cbpC0WhjBnwDmKhTGkHPJtRvoQnNtuWkpk1Li7+UCZUuZme6N78jF1xEjThFnepNi7OEYpJqwM/5kW7g4Eg4+CRdltc9hNJ6Vn98VU+mGyCBiHUPmFExovOqn43qc/Wf0E4bsMmXXx2ibPEyu7WWR3Wb+GhsQrzFB7kS6h5gRPLaderdw6yucKhXAF+xjmcqf6AJBWZ5TagNguOHFFuhmYWpz7accIsb94slNO5SQkEgfCxuOaVow1JexuxLh5D0j5I+25ZLenb9sNRZ5GmzLCpH3QMznpmuWGU3gUG8QAAAAAAAAAAAAAAAAAAAAAAAIA/AADIwgAAyEICAwAAAwMAAAIDAAADAwAABoAAAAaAAAAAAAAAAQAAAAIAAAADAAAABAAAAAAAAAABAAAAAAAAAAUAAAAGAAAA/////wAAAAAEAAAAAgAAAAYAAAAIAAiAOgAAAAgAEAA7AAAACAAQgDwAAAAIABAQPQAAAAgAEJA+AAAACAAggD8AAAAIACCQQAAAAAgAIIFBAAAACAAgkUIAAAAIgAgAQwAAAAiAEABEAAAACIAQgEUAAAAIgBAQRgAAAAiAEJBHAAAACIAggEgAAAAIgCCQSQAAAAiAIIFKAAAACIAgkUsAAAAQAAgATAAAABAACIBNAAAAEAAQgE4AAAAQABAQTwAAABAAEJBQAAAAEAAggFEAAAAQACCQUgAAABAAIIFTAAAAEAAgkVQAAAAQgAgAVQAAABCACIBWAAAAEIAQAFcAAAAQgBAQWAAAABCAEJBZAAAAEIAggFoAAAAQgCCQWwAAABCAIIFcAAAAEIAgkV0AAAAQEAgAXgAAABAQCIBfAAAAEBAQAGAAAAAQEBCAYQAAABAQEJBiAAAAEBAggGMAAAAQECCQZAAAABAQIIFlAAAAEBAgkWYAAAAQkAgAZwAAABCQCIBoAAAAEJAQAGkAAAAQkBCAagAAABCQEBBrAAAAEJAggGwAAAAQkCCQbQAAABCQIIFuAAAAEJAgkW8AAAAggAgAcAAAACCACIBxAAAAIIAQAHIAAAAggBCAcwAAACCAEBB0AAAAIIAQkHUAAAAggCCQdgAAACCAIIF3AAAAIIAgkXgAAAAgkAgAeQAAACCQCIB6AAAAIJAQAHsAAAAgkBCAfAAAACCQEBB9AAAAIJAQkH4AAAAgkCCAfwAAACCQIIGAAAAAIJAgkYEAAAAggQgAggAAACCBCICDAAAAIIEQAIQAAAAggRCAhQAAACCBEBCGAAAAIIEQkIcAAAAggSCAiAAAACCBIJCJAAAAIIEgkYoAAAAgkQgAiwAAACCRCICMAAAAIJEQAI0AAAAgkRCAjgAAACCREBCPAAAAIJEQkJAAAAAgkSCAkQAAACCRIJCSAAAAIJEggZMAAAAAAAAAAAAAAAwAAADi4gUADgAAAAQAAAAEIDYWBCB2FgQYFhYEGFYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////BBgWFgQYFhYAAgAAAAAAACYAAAAEGBYWBBgWFnAAAAAAAAAAJwAAAAQYFhYEGBYWcAIAAAAAAAAoAAAABBgWFgQYFhYDAAAAAAAAACkAAAAEGBYWBBgWFgMCAAAAAAAAKgAAAAQYFhYEGBYWcwAAAAAAAAArAAAABBgWFgQYFhZzAgAAAAAAACwAAAAEGBYWBBhWFgACAAAAAAAALQAAAAQYFhYEGFYWcAAAAAAAAAAuAAAABBgWFgQYVhZwAgAAAAAAAC8AAAAEGBYWBBhWFgMAAAAAAAAAMAAAAAQYFhYEGFYWAwIAAAAAAAAxAAAABBgWFgQYVhZzAAAAAAAAADIAAAAEGBYWBBhWFnMCAAAAAAAAMwAAAAQYFhYEIDYWAAIAAAAAAAA0AAAABBgWFgQgNhZwAAAAAAAAADUAAAAEGBYWBCA2FnACAAAAAAAANgAAAAQYFhYEIDYWAwAAAAAAAAA3AAAABBgWFgQgNhYDAgAAAAAAADgAAAAEGBYWBCA2FnMAAAAAAAAAOQAAAAQYFhYEIDYWcwIAAAAAAAA6AAAABBhWFgQYFhYAAgAAAAAAADsAAAAEGFYWBBgWFnAAAAAAAAAAPAAAAAQYVhYEGBYWcAIAAAAAAAA9AAAABBhWFgQYFhYDAAAAAAAAAD4AAAAEGFYWBBgWFgMCAAAAAAAAPwAAAAQYVhYEGBYWcwAAAAAAAABAAAAABBhWFgQYFhZzAgAAAAAAAEEAAAAEGFYWBBhWFgACAAAAAAAAQgAAAAQYVhYEGFYWcAAAAAAAAABDAAAABBhWFgQYVhZwAgAAAAAAAEQAAAAEGFYWBBhWFgMAAAAAAAAARQAAAAQYVhYEGFYWAwIAAAAAAABGAAAABBhWFgQYVhZzAAAAAAAAAEcAAAAEGFYWBBhWFnMCAAAAAAAASAAAAAQYVhYEIDYWAAIAAAAAAABJAAAABBhWFgQgNhZwAAAAAAAAAEoAAAAEGFYWBCA2FnACAAAAAAAASwAAAAQYVhYEIDYWAwAAAAAAAABMAAAABBhWFgQgNhYDAgAAAAAAAE0AAAAEGFYWBCA2FnMAAAAAAAAATgAAAAQYVhYEIDYWcwIAAAAAAABPAAAABCA2FgQYFhYAAgAAAAAAAFAAAAAEIDYWBBgWFnAAAAAAAAAAUQAAAAQgNhYEGBYWcAIAAAAAAABSAAAABCA2FgQYFhYDAAAAAAAAAFMAAAAEIDYWBBgWFgMCAAAAAAAAVAAAAAQgNhYEGBYWcwAAAAAAAABVAAAABCA2FgQYFhZzAgAAAAAAAFYAAAAEIDYWBBhWFgACAAAAAAAAVwAAAAQgNhYEGFYWcAAAAAAAAABYAAAABCA2FgQYVhZwAgAAAAAAAFkAAAAEIDYWBBhWFgMAAAAAAAAAWgAAAAQgNhYEGFYWAwIAAAAAAABbAAAABCA2FgQYVhZzAAAAAAAAAFwAAAAEIDYWBBhWFnMCAAAAAAAAXQAAAAQgNhYEIDYWAAIAAAAAAABeAAAABCA2FgQgNhZwAAAAAAAAAF8AAAAEIDYWBCA2FnACAAAAAAAAYAAAAAQgNhYEIDYWAwAAAAAAAABhAAAABCA2FgQgNhYDAgAAAAAAAGIAAAAEIDYWBCA2FnMAAAAAAAAAYwAAAAQgNhYEIDYWcwIAAAAAAABkAAAABCBGFgQYFhYAAgAAAAAAAGUAAAAEIEYWBBgWFnAAAAAAAAAAZgAAAAQgRhYEGBYWcAIAAAAAAABnAAAABCBGFgQYFhYDAAAAAAAAAGgAAAAEIEYWBBgWFgMCAAAAAAAAaQAAAAQgRhYEGBYWcwAAAAAAAABqAAAABCBGFgQYFhZzAgAAAAAAAGsAAAAEIEYWBBhWFgACAAAAAAAAbAAAAAQgRhYEGFYWcAAAAAAAAABtAAAABCBGFgQYVhZwAgAAAAAAAG4AAAAEIEYWBBhWFgMAAAAAAAAAbwAAAAQgRhYEGFYWAwIAAAAAAABwAAAABCBGFgQYVhZzAAAAAAAAAHEAAAAEIEYWBBhWFnMCAAAAAAAAcgAAAAQgRhYEIDYWAAIAAAAAAABzAAAABCBGFgQgNhZwAAAAAAAAAHQAAAAEIEYWBCA2FnACAAAAAAAAdQAAAAQgRhYEIDYWAwAAAAAAAAB2AAAABCBGFgQgNhYDAgAAAAAAAHcAAAAEIEYWBCA2FnMAAAAAAAAAeAAAAAQgRhYEIDYWcwIAAAAAAAB5AAAABCB2FgQYFhYAAgAAAAAAAHoAAAAEIHYWBBgWFnAAAAAAAAAAewAAAAQgdhYEGBYWcAIAAAAAAAB8AAAABCB2FgQYFhYDAAAAAAAAAH0AAAAEIHYWBBgWFgMCAAAAAAAAfgAAAAQgdhYEGBYWcwAAAAAAAAB/AAAABCB2FgQYFhZzAgAAAAAAAIAAAAAEIHYWBBhWFgACAAAAAAAAgQAAAAQgdhYEGFYWcAAAAAAAAACCAAAABCB2FgQYVhZwAgAAAAAAAIMAAAAEIHYWBBhWFgMAAAAAAAAAhAAAAAQgdhYEGFYWAwIAAAAAAACFAAAABCB2FgQYVhZzAAAAAAAAAIYAAAAEIHYWBBhWFnMCAAAAAAAAhwAAAAQgdhYEIDYWAAIAAAAAAACIAAAABCB2FgQgNhZwAAAAAAAAAIkAAAAEIHYWBCA2FnACAAAAAAAAigAAAAQgdhYEIDYWAwAAAAAAAACLAAAABCB2FgQgNhYDAgAAAAAAAIwAAAAEIHYWBCA2FnMAAAAAAAAAjQAAAAQgdhYEIDYWcwIAAAAAAACOAAAABCCGFgQYFhYAAgAAAAAAAI8AAAAEIIYWBBgWFnAAAAAAAAAAkAAAAAQghhYEGBYWcAIAAAAAAACRAAAABCCGFgQYFhYDAAAAAAAAAJIAAAAEIIYWBBgWFgMCAAAAAAAAkwAAAAQghhYEGBYWcwAAAAAAAACUAAAABCCGFgQYFhZzAgAAAAAAAJUAAAAEIIYWBBhWFgACAAAAAAAAlgAAAAQghhYEGFYWcAAAAAAAAACXAAAABCCGFgQYVhZwAgAAAAAAAJgAAAAEIIYWBBhWFgMAAAAAAAAAmQAAAAQghhYEGFYWAwIAAAAAAACaAAAABCCGFgQYVhZzAAAAAAAAAJsAAAAEIIYWBBhWFnMCAAAAAAAAnAAAAAQghhYEIDYWAAIAAAAAAACdAAAABCCGFgQgNhZwAAAAAAAAAJ4AAAAEIIYWBCA2FnACAAAAAAAAnwAAAAQghhYEIDYWAwAAAAAAAACgAAAABCCGFgQgNhYDAgAAAAAAAKEAAAAEIIYWBCA2FnMAAAAAAAAAogAAAAQghhYEIDYWcwIAAAAAAACjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx5QUAceYFAPHmBQAx5wUAUecFAGHnBQBp5wUAbecFAG/nBQD/////2FcAAABYAADIWAAA8FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAAAAAAAAAAA+AAA4AcAAB8AAAAEAAAAAAD/AAD/AAD/AAAAAAAAAKUAAAAHAAAAAPgAAOAHAAAfAAAABAAAAP8AAAAA/wAAAAD/AAAAAACmAAAABwAAAAD4AADgBwAAHwAAAAQAAAAAAAD/AAD/AAD/AAAAAAAApwAAAAcAAAAA+AAA4AcAAB8AAAAEAAAAAP8AAAAA/wAAAAD/AAAAAKgAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAAAAAAAAAAAAP8AAP8AAP8AAAACAAAAAPgAAOAHAAAfAAAAAAAAAKkAAAABAAAAAAD/AAD/AAD/AAAAAgAAAAB8AADgAwAAHwAAAAAAAACqAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAAAAAAAAAAAAAAA/wAAAAAAAAj/ACAAAAAAEP8AQAAAAAAY/wBhAAAAACD/AIEAAAAAKf8AoQAAAAAx/wDCAAAAADn/AOIAAAAAQf8IAAAAAABK/wggAAAAAFL/CEAAAAAAWv8IYQAAAABi/wiBAAAAAGr/CKEAAAAAc/8IwgAAAAB7/wjiAAAAAIP/EAAAAAAAi/8QIAAAAACU/xBAAAAAAJz/EGEAAAAApP8QgQAAAACs/xChAAAAALT/EMIAAAAAvf8Q4gAAAADF/xgAAAAAAM3/GCAAAAAA1f8YQAAAAADe/xhhAAAAAOb/GIEAAAAA7v8YoQAAAAD2/xjCAAAAAP//GOIAAAAEAP8gAAAAAAQI/yAgAAAABBD/IEAAAAAEGP8gYQAAAAQg/yCBAAAABCn/IKEAAAAEMf8gwgAAAAQ5/yDiAAAABEH/KQAAAAAESv8pIAAAAARS/ylAAAAABFr/KWEAAAAEYv8pgQAAAARq/ymhAAAABHP/KcIAAAAEe/8p4gAAAASD/zEAAAAABIv/MSAAAAAElP8xQAAAAASc/zFhAAAABKT/MYEAAAAErP8xoQAAAAS0/zHCAAAABL3/MeIAAAAExf85AAAAAATN/zkgAAAABNX/OUAAAAAE3v85YQAAAATm/zmBAAAABO7/OaEAAAAE9v85wgAAAAT//zniAAAACAD/QQAAAAAICP9BIAAAAAgQ/0FAAAAACBj/QWEAAAAIIP9BgQAAAAgp/0GhAAAACDH/QcIAAAAIOf9B4gAAAAhB/0oAAAAACEr/SiAAAAAIUv9KQAAAAAha/0phAAAACGL/SoEAAAAIav9KoQAAAAhz/0rCAAAACHv/SuIAAAAIg/9SAAAAAAiL/1IgAAAACJT/UkAAAAAInP9SYQAAAAik/1KBAAAACKz/UqEAAAAItP9SwgAAAAi9/1LiAAAACMX/WgAAAAAIzf9aIAAAAAjV/1pAAAAACN7/WmEAAAAI5v9agQAAAAju/1qhAAAACPb/WsIAAAAI//9a4gAAAAwA/2IAAAAADAj/YiAAAAAMEP9iQAAAAAwY/2JhAAAADCD/YoEAAAAMKf9ioQAAAAwx/2LCAAAADDn/YuIAAAAMQf9qAAAAAAxK/2ogAAAADFL/akAAAAAMWv9qYQAAAAxi/2qBAAAADGr/aqEAAAAMc/9qwgAAAAx7/2riAAAADIP/cwAAAAAMi/9zIAAAAAyU/3NAAAAADJz/c2EAAAAMpP9zgQAAAAys/3OhAAAADLT/c8IAAAAMvf9z4gAAAAzF/3sAAAAADM3/eyAAAAAM1f97QAAAAAze/3thAAAADOb/e4EAAAAM7v97oQAAAAz2/3vCAAAADP//e+IAAAAQAP+DAAAAABAI/4MgAAAAEBD/g0AAAAAQGP+DYQAAABAg/4OBAAAAECn/g6EAAAAQMf+DwgAAABA5/4PiAAAAEEH/iwAAAAAQSv+LIAAAABBS/4tAAAAAEFr/i2EAAAAQYv+LgQAAABBq/4uhAAAAEHP/i8IAAAAQe/+L4gAAABCD/5QAAAAAEIv/lCAAAAAQlP+UQAAAABCc/5RhAAAAEKT/lIEAAAAQrP+UoQAAABC0/5TCAAAAEL3/lOIAAAAQxf+cAAAAABDN/5wgAAAAENX/nEAAAAAQ3v+cYQAAABDm/5yBAAAAEO7/nKEAAAAQ9v+cwgAAABD//5ziAAAAFAD/pAAAAAAUCP+kIAAAABQQ/6RAAAAAFBj/pGEAAAAUIP+kgQAAABQp/6ShAAAAFDH/pMIAAAAUOf+k4gAAABRB/6wAAAAAFEr/rCAAAAAUUv+sQAAAABRa/6xhAAAAFGL/rIEAAAAUav+soQAAABRz/6zCAAAAFHv/rOIAAAAUg/+0AAAAABSL/7QgAAAAFJT/tEAAAAAUnP+0YQAAABSk/7SBAAAAFKz/tKEAAAAUtP+0wgAAABS9/7TiAAAAFMX/vQAAAAAUzf+9IAAAABTV/71AAAAAFN7/vWEAAAAU5v+9gQAAABTu/72hAAAAFPb/vcIAAAAU//+94gAAABgA/8UAAAAAGAj/xSAAAAAYEP/FQAAAABgY/8VhAAAAGCD/xYEAAAAYKf/FoQAAABgx/8XCAAAAGDn/xeIAAAAYQf/NAAAAABhK/80gAAAAGFL/zUAAAAAYWv/NYQAAABhi/82BAAAAGGr/zaEAAAAYc//NwgAAABh7/83iAAAAGIP/1QAAAAAYi//VIAAAABiU/9VAAAAAGJz/1WEAAAAYpP/VgQAAABis/9WhAAAAGLT/1cIAAAAYvf/V4gAAABjF/94AAAAAGM3/3iAAAAAY1f/eQAAAABje/95hAAAAGOb/3oEAAAAY7v/eoQAAABj2/97CAAAAGP//3uIAAAAcAP/mAAAAABwI/+YgAAAAHBD/5kAAAAAcGP/mYQAAABwg/+aBAAAAHCn/5qEAAAAcMf/mwgAAABw5/+biAAAAHEH/7gAAAAAcSv/uIAAAABxS/+5AAAAAHFr/7mEAAAAcYv/ugQAAABxq/+6hAAAAHHP/7sIAAAAce//u4gAAAByD//YAAAAAHIv/9iAAAAAclP/2QAAAAByc//ZhAAAAHKT/9oEAAAAcrP/2oQAAABy0//bCAAAAHL3/9uIAAAAcxf//AAAAABzN//8gAAAAHNX//0AAAAAc3v//YQAAABzm//+BAAAAHO7//6EAAAAc9v//wgAAABz////iAP8AAAAAAAAA/wgAAAAAIAD/EAAAAABAAP8YAAAAAGEA/yAAAAAAgQD/KQAAAAChAP8xAAAAAMIA/zkAAAAA4gD/QQAAAAAACP9KAAAAACAI/1IAAAAAQAj/WgAAAABhCP9iAAAAAIEI/2oAAAAAoQj/cwAAAADCCP97AAAAAOII/4MAAAAAABD/iwAAAAAgEP+UAAAAAEAQ/5wAAAAAYRD/pAAAAACBEP+sAAAAAKEQ/7QAAAAAwhD/vQAAAADiEP/FAAAAAAAY/80AAAAAIBj/1QAAAABAGP/eAAAAAGEY/+YAAAAAgRj/7gAAAAChGP/2AAAAAMIY//8AAAAA4hj/AAQAAAAAIP8IBAAAACAg/xAEAAAAQCD/GAQAAABhIP8gBAAAAIEg/ykEAAAAoSD/MQQAAADCIP85BAAAAOIg/0EEAAAAACn/SgQAAAAgKf9SBAAAAEAp/1oEAAAAYSn/YgQAAACBKf9qBAAAAKEp/3MEAAAAwin/ewQAAADiKf+DBAAAAAAx/4sEAAAAIDH/lAQAAABAMf+cBAAAAGEx/6QEAAAAgTH/rAQAAAChMf+0BAAAAMIx/70EAAAA4jH/xQQAAAAAOf/NBAAAACA5/9UEAAAAQDn/3gQAAABhOf/mBAAAAIE5/+4EAAAAoTn/9gQAAADCOf//BAAAAOI5/wAIAAAAAEH/CAgAAAAgQf8QCAAAAEBB/xgIAAAAYUH/IAgAAACBQf8pCAAAAKFB/zEIAAAAwkH/OQgAAADiQf9BCAAAAABK/0oIAAAAIEr/UggAAABASv9aCAAAAGFK/2IIAAAAgUr/aggAAAChSv9zCAAAAMJK/3sIAAAA4kr/gwgAAAAAUv+LCAAAACBS/5QIAAAAQFL/nAgAAABhUv+kCAAAAIFS/6wIAAAAoVL/tAgAAADCUv+9CAAAAOJS/8UIAAAAAFr/zQgAAAAgWv/VCAAAAEBa/94IAAAAYVr/5ggAAACBWv/uCAAAAKFa//YIAAAAwlr//wgAAADiWv8ADAAAAABi/wgMAAAAIGL/EAwAAABAYv8YDAAAAGFi/yAMAAAAgWL/KQwAAAChYv8xDAAAAMJi/zkMAAAA4mL/QQwAAAAAav9KDAAAACBq/1IMAAAAQGr/WgwAAABhav9iDAAAAIFq/2oMAAAAoWr/cwwAAADCav97DAAAAOJq/4MMAAAAAHP/iwwAAAAgc/+UDAAAAEBz/5wMAAAAYXP/pAwAAACBc/+sDAAAAKFz/7QMAAAAwnP/vQwAAADic//FDAAAAAB7/80MAAAAIHv/1QwAAABAe//eDAAAAGF7/+YMAAAAgXv/7gwAAAChe//2DAAAAMJ7//8MAAAA4nv/ABAAAAAAg/8IEAAAACCD/xAQAAAAQIP/GBAAAABhg/8gEAAAAIGD/ykQAAAAoYP/MRAAAADCg/85EAAAAOKD/0EQAAAAAIv/ShAAAAAgi/9SEAAAAECL/1oQAAAAYYv/YhAAAACBi/9qEAAAAKGL/3MQAAAAwov/exAAAADii/+DEAAAAACU/4sQAAAAIJT/lBAAAABAlP+cEAAAAGGU/6QQAAAAgZT/rBAAAAChlP+0EAAAAMKU/70QAAAA4pT/xRAAAAAAnP/NEAAAACCc/9UQAAAAQJz/3hAAAABhnP/mEAAAAIGc/+4QAAAAoZz/9hAAAADCnP//EAAAAOKc/wAUAAAAAKT/CBQAAAAgpP8QFAAAAECk/xgUAAAAYaT/IBQAAACBpP8pFAAAAKGk/zEUAAAAwqT/ORQAAADipP9BFAAAAACs/0oUAAAAIKz/UhQAAABArP9aFAAAAGGs/2IUAAAAgaz/ahQAAAChrP9zFAAAAMKs/3sUAAAA4qz/gxQAAAAAtP+LFAAAACC0/5QUAAAAQLT/nBQAAABhtP+kFAAAAIG0/6wUAAAAobT/tBQAAADCtP+9FAAAAOK0/8UUAAAAAL3/zRQAAAAgvf/VFAAAAEC9/94UAAAAYb3/5hQAAACBvf/uFAAAAKG9//YUAAAAwr3//xQAAADivf8AGAAAAADF/wgYAAAAIMX/EBgAAABAxf8YGAAAAGHF/yAYAAAAgcX/KRgAAAChxf8xGAAAAMLF/zkYAAAA4sX/QRgAAAAAzf9KGAAAACDN/1IYAAAAQM3/WhgAAABhzf9iGAAAAIHN/2oYAAAAoc3/cxgAAADCzf97GAAAAOLN/4MYAAAAANX/ixgAAAAg1f+UGAAAAEDV/5wYAAAAYdX/pBgAAACB1f+sGAAAAKHV/7QYAAAAwtX/vRgAAADi1f/FGAAAAADe/80YAAAAIN7/1RgAAABA3v/eGAAAAGHe/+YYAAAAgd7/7hgAAACh3v/2GAAAAMLe//8YAAAA4t7/ABwAAAAA5v8IHAAAACDm/xAcAAAAQOb/GBwAAABh5v8gHAAAAIHm/ykcAAAAoeb/MRwAAADC5v85HAAAAOLm/0EcAAAAAO7/ShwAAAAg7v9SHAAAAEDu/1ocAAAAYe7/YhwAAACB7v9qHAAAAKHu/3McAAAAwu7/exwAAADi7v+DHAAAAAD2/4scAAAAIPb/lBwAAABA9v+cHAAAAGH2/6QcAAAAgfb/rBwAAACh9v+0HAAAAML2/70cAAAA4vb/xRwAAAAA///NHAAAACD//9UcAAAAQP//3hwAAABh///mHAAAAIH//+4cAAAAof//9hwAAADC////HAAAAOL/AAAA/wAAAAAAAAj/ACAAAAAAEP8AQAAAAAAY/wBhAAAAACD/AIEAAAAAKf8AoQAAAAAx/wDCAAAAADn/AOIAAAAAQf8IAAAAAABK/wggAAAAAFL/CEAAAAAAWv8IYQAAAABi/wiBAAAAAGr/CKEAAAAAc/8IwgAAAAB7/wjiAAAAAIP/EAAAAAAAi/8QIAAAAACU/xBAAAAAAJz/EGEAAAAApP8QgQAAAACs/xChAAAAALT/EMIAAAAAvf8Q4gAAAADF/xgAAAAAAM3/GCAAAAAA1f8YQAAAAADe/xhhAAAAAOb/GIEAAAAA7v8YoQAAAAD2/xjCAAAAAP//GOIAAAAEAP8gAAAAAAQI/yAgAAAABBD/IEAAAAAEGP8gYQAAAAQg/yCBAAAABCn/IKEAAAAEMf8gwgAAAAQ5/yDiAAAABEH/KQAAAAAESv8pIAAAAARS/ylAAAAABFr/KWEAAAAEYv8pgQAAAARq/ymhAAAABHP/KcIAAAAEe/8p4gAAAASD/zEAAAAABIv/MSAAAAAElP8xQAAAAASc/zFhAAAABKT/MYEAAAAErP8xoQAAAAS0/zHCAAAABL3/MeIAAAAExf85AAAAAATN/zkgAAAABNX/OUAAAAAE3v85YQAAAATm/zmBAAAABO7/OaEAAAAE9v85wgAAAAT//zniAAAACAD/QQAAAAAICP9BIAAAAAgQ/0FAAAAACBj/QWEAAAAIIP9BgQAAAAgp/0GhAAAACDH/QcIAAAAIOf9B4gAAAAhB/0oAAAAACEr/SiAAAAAIUv9KQAAAAAha/0phAAAACGL/SoEAAAAIav9KoQAAAAhz/0rCAAAACHv/SuIAAAAIg/9SAAAAAAiL/1IgAAAACJT/UkAAAAAInP9SYQAAAAik/1KBAAAACKz/UqEAAAAItP9SwgAAAAi9/1LiAAAACMX/WgAAAAAIzf9aIAAAAAjV/1pAAAAACN7/WmEAAAAI5v9agQAAAAju/1qhAAAACPb/WsIAAAAI//9a4gAAAAwA/2IAAAAADAj/YiAAAAAMEP9iQAAAAAwY/2JhAAAADCD/YoEAAAAMKf9ioQAAAAwx/2LCAAAADDn/YuIAAAAMQf9qAAAAAAxK/2ogAAAADFL/akAAAAAMWv9qYQAAAAxi/2qBAAAADGr/aqEAAAAMc/9qwgAAAAx7/2riAAAADIP/cwAAAAAMi/9zIAAAAAyU/3NAAAAADJz/c2EAAAAMpP9zgQAAAAys/3OhAAAADLT/c8IAAAAMvf9z4gAAAAzF/3sAAAAADM3/eyAAAAAM1f97QAAAAAze/3thAAAADOb/e4EAAAAM7v97oQAAAAz2/3vCAAAADP//e+IAAAAQAP+DAAAAABAI/4MgAAAAEBD/g0AAAAAQGP+DYQAAABAg/4OBAAAAECn/g6EAAAAQMf+DwgAAABA5/4PiAAAAEEH/iwAAAAAQSv+LIAAAABBS/4tAAAAAEFr/i2EAAAAQYv+LgQAAABBq/4uhAAAAEHP/i8IAAAAQe/+L4gAAABCD/5QAAAAAEIv/lCAAAAAQlP+UQAAAABCc/5RhAAAAEKT/lIEAAAAQrP+UoQAAABC0/5TCAAAAEL3/lOIAAAAQxf+cAAAAABDN/5wgAAAAENX/nEAAAAAQ3v+cYQAAABDm/5yBAAAAEO7/nKEAAAAQ9v+cwgAAABD//5ziAAAAFAD/pAAAAAAUCP+kIAAAABQQ/6RAAAAAFBj/pGEAAAAUIP+kgQAAABQp/6ShAAAAFDH/pMIAAAAUOf+k4gAAABRB/6wAAAAAFEr/rCAAAAAUUv+sQAAAABRa/6xhAAAAFGL/rIEAAAAUav+soQAAABRz/6zCAAAAFHv/rOIAAAAUg/+0AAAAABSL/7QgAAAAFJT/tEAAAAAUnP+0YQAAABSk/7SBAAAAFKz/tKEAAAAUtP+0wgAAABS9/7TiAAAAFMX/vQAAAAAUzf+9IAAAABTV/71AAAAAFN7/vWEAAAAU5v+9gQAAABTu/72hAAAAFPb/vcIAAAAU//+94gAAABgA/8UAAAAAGAj/xSAAAAAYEP/FQAAAABgY/8VhAAAAGCD/xYEAAAAYKf/FoQAAABgx/8XCAAAAGDn/xeIAAAAYQf/NAAAAABhK/80gAAAAGFL/zUAAAAAYWv/NYQAAABhi/82BAAAAGGr/zaEAAAAYc//NwgAAABh7/83iAAAAGIP/1QAAAAAYi//VIAAAABiU/9VAAAAAGJz/1WEAAAAYpP/VgQAAABis/9WhAAAAGLT/1cIAAAAYvf/V4gAAABjF/94AAAAAGM3/3iAAAAAY1f/eQAAAABje/95hAAAAGOb/3oEAAAAY7v/eoQAAABj2/97CAAAAGP//3uIAAAAcAP/mAAAAABwI/+YgAAAAHBD/5kAAAAAcGP/mYQAAABwg/+aBAAAAHCn/5qEAAAAcMf/mwgAAABw5/+biAAAAHEH/7gAAAAAcSv/uIAAAABxS/+5AAAAAHFr/7mEAAAAcYv/ugQAAABxq/+6hAAAAHHP/7sIAAAAce//u4gAAAByD//YAAAAAHIv/9iAAAAAclP/2QAAAAByc//ZhAAAAHKT/9oEAAAAcrP/2oQAAABy0//bCAAAAHL3/9uIAAAAcxf//AAAAABzN//8gAAAAHNX//0AAAAAc3v//YQAAABzm//+BAAAAHO7//6EAAAAc9v//wgAAABz////iAAAAAAAAAAAA/wgAAAAAIAD/EAAAAABAAP8YAAAAAGEA/yAAAAAAgQD/KQAAAAChAP8xAAAAAMIA/zkAAAAA4gD/QQAAAAAACP9KAAAAACAI/1IAAAAAQAj/WgAAAABhCP9iAAAAAIEI/2oAAAAAoQj/cwAAAADCCP97AAAAAOII/4MAAAAAABD/iwAAAAAgEP+UAAAAAEAQ/5wAAAAAYRD/pAAAAACBEP+sAAAAAKEQ/7QAAAAAwhD/vQAAAADiEP/FAAAAAAAY/80AAAAAIBj/1QAAAABAGP/eAAAAAGEY/+YAAAAAgRj/7gAAAAChGP/2AAAAAMIY//8AAAAA4hj/AAQAAAAAIP8IBAAAACAg/xAEAAAAQCD/GAQAAABhIP8gBAAAAIEg/ykEAAAAoSD/MQQAAADCIP85BAAAAOIg/0EEAAAAACn/SgQAAAAgKf9SBAAAAEAp/1oEAAAAYSn/YgQAAACBKf9qBAAAAKEp/3MEAAAAwin/ewQAAADiKf+DBAAAAAAx/4sEAAAAIDH/lAQAAABAMf+cBAAAAGEx/6QEAAAAgTH/rAQAAAChMf+0BAAAAMIx/70EAAAA4jH/xQQAAAAAOf/NBAAAACA5/9UEAAAAQDn/3gQAAABhOf/mBAAAAIE5/+4EAAAAoTn/9gQAAADCOf//BAAAAOI5/wAIAAAAAEH/CAgAAAAgQf8QCAAAAEBB/xgIAAAAYUH/IAgAAACBQf8pCAAAAKFB/zEIAAAAwkH/OQgAAADiQf9BCAAAAABK/0oIAAAAIEr/UggAAABASv9aCAAAAGFK/2IIAAAAgUr/aggAAAChSv9zCAAAAMJK/3sIAAAA4kr/gwgAAAAAUv+LCAAAACBS/5QIAAAAQFL/nAgAAABhUv+kCAAAAIFS/6wIAAAAoVL/tAgAAADCUv+9CAAAAOJS/8UIAAAAAFr/zQgAAAAgWv/VCAAAAEBa/94IAAAAYVr/5ggAAACBWv/uCAAAAKFa//YIAAAAwlr//wgAAADiWv8ADAAAAABi/wgMAAAAIGL/EAwAAABAYv8YDAAAAGFi/yAMAAAAgWL/KQwAAAChYv8xDAAAAMJi/zkMAAAA4mL/QQwAAAAAav9KDAAAACBq/1IMAAAAQGr/WgwAAABhav9iDAAAAIFq/2oMAAAAoWr/cwwAAADCav97DAAAAOJq/4MMAAAAAHP/iwwAAAAgc/+UDAAAAEBz/5wMAAAAYXP/pAwAAACBc/+sDAAAAKFz/7QMAAAAwnP/vQwAAADic//FDAAAAAB7/80MAAAAIHv/1QwAAABAe//eDAAAAGF7/+YMAAAAgXv/7gwAAAChe//2DAAAAMJ7//8MAAAA4nv/ABAAAAAAg/8IEAAAACCD/xAQAAAAQIP/GBAAAABhg/8gEAAAAIGD/ykQAAAAoYP/MRAAAADCg/85EAAAAOKD/0EQAAAAAIv/ShAAAAAgi/9SEAAAAECL/1oQAAAAYYv/YhAAAACBi/9qEAAAAKGL/3MQAAAAwov/exAAAADii/+DEAAAAACU/4sQAAAAIJT/lBAAAABAlP+cEAAAAGGU/6QQAAAAgZT/rBAAAAChlP+0EAAAAMKU/70QAAAA4pT/xRAAAAAAnP/NEAAAACCc/9UQAAAAQJz/3hAAAABhnP/mEAAAAIGc/+4QAAAAoZz/9hAAAADCnP//EAAAAOKc/wAUAAAAAKT/CBQAAAAgpP8QFAAAAECk/xgUAAAAYaT/IBQAAACBpP8pFAAAAKGk/zEUAAAAwqT/ORQAAADipP9BFAAAAACs/0oUAAAAIKz/UhQAAABArP9aFAAAAGGs/2IUAAAAgaz/ahQAAAChrP9zFAAAAMKs/3sUAAAA4qz/gxQAAAAAtP+LFAAAACC0/5QUAAAAQLT/nBQAAABhtP+kFAAAAIG0/6wUAAAAobT/tBQAAADCtP+9FAAAAOK0/8UUAAAAAL3/zRQAAAAgvf/VFAAAAEC9/94UAAAAYb3/5hQAAACBvf/uFAAAAKG9//YUAAAAwr3//xQAAADivf8AGAAAAADF/wgYAAAAIMX/EBgAAABAxf8YGAAAAGHF/yAYAAAAgcX/KRgAAAChxf8xGAAAAMLF/zkYAAAA4sX/QRgAAAAAzf9KGAAAACDN/1IYAAAAQM3/WhgAAABhzf9iGAAAAIHN/2oYAAAAoc3/cxgAAADCzf97GAAAAOLN/4MYAAAAANX/ixgAAAAg1f+UGAAAAEDV/5wYAAAAYdX/pBgAAACB1f+sGAAAAKHV/7QYAAAAwtX/vRgAAADi1f/FGAAAAADe/80YAAAAIN7/1RgAAABA3v/eGAAAAGHe/+YYAAAAgd7/7hgAAACh3v/2GAAAAMLe//8YAAAA4t7/ABwAAAAA5v8IHAAAACDm/xAcAAAAQOb/GBwAAABh5v8gHAAAAIHm/ykcAAAAoeb/MRwAAADC5v85HAAAAOLm/0EcAAAAAO7/ShwAAAAg7v9SHAAAAEDu/1ocAAAAYe7/YhwAAACB7v9qHAAAAKHu/3McAAAAwu7/exwAAADi7v+DHAAAAAD2/4scAAAAIPb/lBwAAABA9v+cHAAAAGH2/6QcAAAAgfb/rBwAAACh9v+0HAAAAML2/70cAAAA4vb/xRwAAAAA///NHAAAACD//9UcAAAAQP//3hwAAABh///mHAAAAIH//+4cAAAAof//9hwAAADC////HAAAAOL//wAAAACrAAAArAAAAK0AAACuAAAAAAAAAK8AAACwAAAAsQAAALIAAAAAAAAAswAAALQAAAC1AAAAtgAAAAAAAAC3AAAAuAAAALkAAAC6AAAAeQEAAHoBAAB7AQAAfAEAAAEAAAD8egAAAAAAAAAAAAAAAAAAAQAAAOx6AAAAAAAAAAAAAAAAAAABAAAA3HoAAAAAAAAAAAAAAAAAAAEAAADMegAAAAAAAAAAAAAAAAAAAQAAALx6AAAAAAAAAAAAAAAAAAABAAAArHoAAAAAAAAAAAAAAAAAAAEAAACcegAAAAAAAAAAAAAAAAAAAQAAAIx6AAAAAAAAAAAAAAAAAAABAAAAfHoAAAAAAAAAAAAAAAAAADCLAAD/////MwEAAKrqBQAwiwAA/////3UBAADd6wUAMIsAAP////9XAQAAUu0FADCLAAD/////+wAAAKnuBQAwiwAA/////3kAAACk7wUAMYsAAP////8zAgAAHfAFADCLAAD/////lwIAAFDyBQAwiwAA/////zoCAADn9AUAMIsAAP////86AgAAIfcFAAQAAAAGAAAAAwAAAAAAAABI/AUAUPwFAFb8BQBb/AUAYPwFAGb8BQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAgywGAAkAAAAIAAAABCA2FgQgdhYEIEYWBCCGFgQYFhYEGFYWAhAVFQIPExUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlSkGANMCBgAFAAAAfQEAAAAAAAAAAAAAAAAAAJsAAAAAAAAAAAAAAHUAAAAAAAAAKgAAACsAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAADhAAAA4AAAAOIAAABIAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAALAAAAEsAAABOAAAATQAAAEoAAABQAAAAUgAAAE8AAABRAAAAAAAAAAAAAAAAAAAAAAAAAEkAAABMAAAAAAAAACcAAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAAAAAAMwAAAAAAAAAuAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAADjAAAAAAAAAGUAAAAAAAAAAAAAAGIAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABVAAAAVwAAAAAAAABWAAAAYwAAAFQAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFMAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALQAAAIEAAACAAAAAAgEAAAMBAAAAAAAABQEAAAAAAAAGAQAAgQAAAIAAAAAAAAAAAAAAADMAAAAuAAAANgAAAC0AAAA3AAAAOAAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAAAxAAAAMAAAADQAAACVKQYASRAGAH4BAAAAAAAAQScGAEolBgAGAAAAfwEAAG0mBgByJgYAgAEAAAEAAABBJwYARycGAIEBAAABAAAAXH8AAGx/AAA8fwAAAAAAALB7AABMfwAAAAAAAFhNAABYewAAAAAAAAAAAAAAAAAAAAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAMAAAAA0AAAAbAAAACAAAAAkAAAAgAAAALQAAAD0AAABbAAAAXQAAAFwAAAAjAAAAOwAAACcAAABgAAAALAAAAC4AAAAvAAAAOQAAQDoAAEA7AABAPAAAQD0AAEA+AABAPwAAQEAAAEBBAABAQgAAQEMAAEBEAABARQAAQEYAAEBHAABASAAAQEkAAEBKAABASwAAQH8AAABNAABATgAAQE8AAEBQAABAUQAAQFIAAEBTAABAVAAAQFUAAEBWAABAVwAAQFgAAEBZAABAWgAAQFsAAEBcAABAXQAAQF4AAEBfAABAYAAAQGEAAEBiAABAYwAAQAAAAABlAABAZgAAQGcAAEBoAABAaQAAQGoAAEBrAABAbAAAQG0AAEBuAABAbwAAQHAAAEBxAABAcgAAQHMAAEB0AABAdQAAQHYAAEB3AABAeAAAQHkAAEB6AABAewAAQHwAAEB9AABAfgAAQH8AAECAAABAgQAAQAAAAAAAAAAAAAAAAIUAAECGAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAAQJoAAECbAABAnAAAQJ0AAECeAABAnwAAQKAAAEChAABAogAAQKMAAECkAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAABAsQAAQLIAAECzAABAtAAAQLUAAEC2AABAtwAAQLgAAEC5AABAugAAQLsAAEC8AABAvQAAQL4AAEC/AABAwAAAQMEAAEDCAABAwwAAQMQAAEDFAABAxgAAQMcAAEDIAABAyQAAQMoAAEDLAABAzAAAQM0AAEDOAABAzwAAQNAAAEDRAABA0gAAQNMAAEDUAABA1QAAQNYAAEDXAABA2AAAQNkAAEDaAABA2wAAQNwAAEDdAABAAAAAAAAAAADgAABA4QAAQOIAAEDjAABA5AAAQOUAAEDmAABA5wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQBAAgEAQAMBAEAEAQBABQEAQAYBAEAHAQBACAEAQAkBAEAKAQBACwEAQAwBAEANAQBADgEAQA8BAEAQAQBAEQEAQBIBAEATAQBAFAEAQBUBAEAWAQBAFwEAQBgBAEAZAQBAGgEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMFAAAAAAAAAAAAAACCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAFipBgAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAggEAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAIAAABgqQYAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAIIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAaK0GAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYG8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PKwCN/14BGP5wBG785RYeUiwAiv9cASf+NATh/JoUCVItAIf/WAE6/vMDW/1iEshRLgCG/1ABUf6uA9v9PBBdUS8Ahf9HAWz+ZANe/i0Ox1AvAIb/PAGJ/hgD4/40DAhQLwCI/y8BqP7KAmn/VAogTy4Ai/8hAcr+egLv/4wIEU4uAI7/EQHt/ikCdQDeBttMLACU//8AE//XAfcATAV/SysAmf/tADn/hgF1AdUDAEoqAJ7/2gBg/zYB7wF5Al9IKACl/8YAh//nAGMCOgGeRiYArP+yAK//mQDSAhYAv0QkALT/nQDV/1AAOAMP/8RCIgC8/4cA/f8IAJcDJP6uQCAAw/9zACIAxP/uA1X9gT4dAMz/XgBGAIX/OwSi/D48GwDU/0kAagBI/4AECfzoORkA3P81AIsAEf+7BIr7gjcWAOX/IgCqAN7+7QQk+w41FADs/xAAxwCx/hUF1vqOMhIA9P/9/+IAif4zBaD6BTAPAPz/7f/6AGb+RwWA+nYtDQADAN3/EAFJ/lEFdfrjKgsACQDP/yQBMP5SBX76TygJABAAwf81AR3+SgWZ+rwlBwAWALX/QgEQ/jkFxfotIwYAGgCr/00BCP4gBQD7oyAEAB8Aov9VAQX+/gRL+yEeAwAjAJr/WwEG/tYEofuqGwEAKACS/14BDf6mBAP8QBkAACsAjf9eARj+cARu/OUWXwBeAGEAWQC9A4X7XQIr/d8Bwf2eARD+dAFC/lYBZf5BAYD+MAGU/iMBpv4XAbL+DAG9/gQByP78AND+9wDY/vAA3/7sAOX+5wDq/uMA7/7fAPX+3AD5/tgA/P7VAAD/0gAD/9AAB//NAAr/ywAM/8kAD//GABH/xAAT/8MAFv/BABj/vwAa/74AHP+8AB7/uwAf/zAwMDEwMjAzMDQwNTA2MDcwODA5MGEwYjBjMGQwZTBmMTAxMTEyMTMxNDE1MTYxNzE4MTkxYTFiMWMxZDFlMWYyMDIxMjIyMzI0MjUyNjI3MjgyOTJhMmIyYzJkMmUyZjMwMzEzMjMzMzQzNTM2MzczODM5M2EzYjNjM2QzZTNmNDA0MTQyNDM0NDQ1NDY0NzQ4NDk0YTRiNGM0ZDRlNGY1MDUxNTI1MzU0NTU1NjU3NTg1OTVhNWI1YzVkNWU1ZjYwNjE2MjYzNjQ2NTY2Njc2ODY5NmE2YjZjNmQ2ZTZmNzA3MTcyNzM3NDc1NzY3Nzc4Nzk3YTdiN2M3ZDdlN2Y4MDgxODI4Mzg0ODU4Njg3ODg4OThhOGI4YzhkOGU4ZjkwOTE5MjkzOTQ5NTk2OTc5ODk5OWE5YjljOWQ5ZTlmYTBhMWEyYTNhNGE1YTZhN2E4YTlhYWFiYWNhZGFlYWZiMGIxYjJiM2I0YjViNmI3YjhiOWJhYmJiY2JkYmViZmMwYzFjMmMzYzRjNWM2YzdjOGM5Y2FjYmNjY2RjZWNmZDBkMWQyZDNkNGQ1ZDZkN2Q4ZDlkYWRiZGNkZGRlZGZlMGUxZTJlM2U0ZTVlNmU3ZThlOWVhZWJlY2VkZWVlZmYwZjFmMmYzZjRmNWY2ZjdmOGY5ZmFmYmZjZmRmZWZm////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAQACAAMABAAFAAYABwAIAAkAD//////////////////6AAsADAANAA4ADwAP////////////////////////////////////////////////////////////////////+gALAAwADQAOAA8AD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8wADkACQANACAAIACgAKAAgBaAFg4YDhgAIAogKCApIC8gLyBfIF8gADAAMP/+//4wADkAQQBaAF8AXwBhAHoABwADAAcAGAAYAGAAYACAAAAB0ABQAJAA0AFQAZABwADCCBAAAAAQEAAQFCAEIBBwAHAQMAAwEEAAQBBQAFAQYABgEBIAEhAiACIQMgAyEEIAQhAQABAQIAAgETABMDAAATQAAAEAAwAHAA8AHwA/AH8A/wD/Af8D/wf/D2AHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwAYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIAAAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIAEQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoAEAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboAAAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYAEQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYAFAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4AAAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4AEgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEAEAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEAAAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckAEQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkAFAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUAAAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUAEgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0AEAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0AAAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMAEAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMAEwc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasAAAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsAEgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecAEAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcAAAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8AEQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAAAAADAAQABQAGAAcACAAJAAoACwANAA8AEQATABcAGwAfACMAKwAzADsAQwBTAGMAcwCDAKMAwwDjAAIBAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAASABOAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEDAQEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYACACAAIgBCAEJAQABAQIIAgkCCBIJEIgAgAEIAQkBAAEBAggCCQIIEgkRCAEJAQABAQIIAgkCCBIJEIAAiAEJAQgBAQEAAgkCCAIJEggQgACIAQABAQEIAQkCCAIJAggSCRCAAIgBAQEAAQkBCAIJAggCCRIIEIAAiAIIAgkCCBIJEQgBCQEAAQEAgACIAgkCCAIJEggRCQEIAQEBAACAAIgCCBIJEggCCQEIAQkBAAEBAIAAiAIJEggSCQIIAQkBCAEBAQAAgACIAweDAwAP7+/v7+/v4AAGxERERsAAAAOFR8fFQAAABsbABsbAAAABg0dDQYAAAAPCQkbGwAAENPREUgRURJVE9SIFtmMV0AU1BSSVRFIEVESVRPUiBbZjJdAE1BUCBFRElUT1IgW2YzXQBTRlggRURJVE9SIFtmNF0ATVVTSUMgRURJVE9SIFtmNV0AQ09ERSBFRElUT1IAU1BSSVRFIEVESVRPUgBNQVAgRURJVE9SAFNGWCBFRElUT1IATVVTSUMgRURJVE9SAFRPIEVYSVQ/AC5sb2NhbC8AACgoEGxsAAAAeEhcdBwAAAA4RHxsfAAAABgwfDAYAAAAMBh8GDAAAENVVCBbY3RybCt4XQBDT1BZIFtjdHJsK2NdAFBBU1RFIFtjdHJsK3ZdAFVORE8gW2N0cmwrel0AUkVETyBbY3RybCt5XQBUSUMtODAgdGlueSBjb21wdXRlciAwLjcwLjYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXMgWyVzXQBDT1ZFUiBJTUFHRSBTQVZFRCA6KQAlcyBTQVZFRCA6KQBTQVZFOiBNSVNTSU5HIENBUlQgTkFNRSA6fABTQVZFIEVSUk9SIDooAHNjcmVlbi5naWYAR0lGIE5PVCBFWFBPUlRFRCA6fABHSUYgRVhQT1JURUQgOikACiBUSUMtODAgdGlueSBjb21wdXRlcgAgMC43MC42CgAgaHR0cDovL3RpYy5jb21wdXRlciAoQykgMjAxNwoALnRpYwAtY29kZS13YXRjaAAtY29kZQAKIGNvZGUgaXMgbGFyZ2VyIHRoYW4gJWkgc3ltYm9scwoALXNwcml0ZXMALW1hcAAtdWlzY2FsZQAtbm9zb3VuZAAtc3VyZgAtZnVsbHNjcmVlbgAtc2tpcAAtc2F2ZQAtY3J0LW1vbml0b3IAcGFyYW1ldGVyIG9yIGZpbGUgbm90IHByb2Nlc3NlZDogJXMKAFdhcm5pbmcAaWYodHlwZW9mIGNhcnRyaWRnZSAhPSAndW5kZWZpbmVkJyAmJiBjYXJ0cmlkZ2UubGVuZ3RoKSB7IHZhciBwdHIgPSBNb2R1bGUuX21hbGxvYyhjYXJ0cmlkZ2UubGVuZ3RoKTsgTW9kdWxlLndyaXRlQXJyYXlUb01lbW9yeShjYXJ0cmlkZ2UsIHB0cik7IHJldHVybiBwdHI7IH0gZWxzZSByZXR1cm4gMDsAcmV0dXJuIGNhcnRyaWRnZS5sZW5ndGg7AHtNb2R1bGUuX2ZyZWUoJDApO30ACgB1bmtub3duIGNvbW1hbmQ6AC5sb2NhbC9kZWZhdWx0LnRpYwB42mNcwMRACPz7DwRKSkr9HR0d/SAayO3//wGO//9//05J6f+7jo4P75SaPrz73//h/4f+Dx9gGLv+/3j1/0fSzzAKBhSA4woUd2D4A8zWB8bjf4YP/4Fx++9/P8N/YNy97wfGXwcUg+KT4cP7d///v3tHqX5WK0YGXV2FksySnFQrBYX0xNxUCIcLKJpYWpKRX2QFEU1JLUvNyS9ILQLJpKQWJwOVKxQD5UvAvKLMgpLM/DyQJIRjpZBTmsjFVWJrwFVha2nGVWlrZMLFlVaalwxSpxDi6ayhycXFmZmmkFSSp2GgqVCSkZqnUGlbqWuokJqXApcxRMhoo8oYQWUqbCvQ9BgjZKB6uDiTc4o1DI01uTiLC4o0DLVLVM0M9PWNDbSMdCp0KnUMTXSMdQyA0EjHCKimoCgzr0RDycPVx8dfIdw/yMdFUUnHwgSIgJIltiXahlxg++woi31mFi4DCAuUjWG0gFFI2Yxdd/69P7u6M91VmRHGh9E8QD0iPDIuKiYGJrl+Xn6tPgYmqSoX3DxKCxMja89dqtVpnbowd5XOpVUzcw+dunUl7t67awB+/z96CiBoZWxsbyEgdHlwZSAAaGVscAAgZm9yIGhlbHAKAC9hcGk/Zm49dmVyc2lvbgBtYWpvcgBtaW5vcgBwYXRjaAAKIEEgbmV3IHZlcnNpb24gJWkuJWkuJWkgaXMgYXZhaWxhYmxlLgoACiBsb2FkaW5nIGNhcnQuLi4Ac2hvdyB0aGlzIGluZm8AcmFtAHNob3cgbWVtb3J5IGluZm8AcXVpdABleGl0IHRoZSBhcHBsaWNhdGlvbgBjcmVhdGUgbmV3IGNhcnQAbG9hZCBjYXJ0AHNhdmUAc2F2ZSBjYXJ0AHJ1bgBydW4gbG9hZGVkIGNhcnQAcmVzdW1lIHJ1biBjYXJ0AGV2YWwAcnVuIGNvZGUAZGlyAGxzAHNob3cgbGlzdCBvZiBmaWxlcwBjZABjaGFuZ2UgZGlyZWN0b3J5AG1rZGlyAG1ha2UgZGlyZWN0b3J5AGFkZABhZGQgZmlsZQBnZXQAZG93bmxvYWQgZmlsZQBleHBvcnQgaHRtbCBvciBuYXRpdmUgZ2FtZQBpbXBvcnQgc3ByaXRlcyBmcm9tIC5naWYAZGVsAGRlbGV0ZSBmaWxlIG9yIGRpcgBjbGVhciBzY3JlZW4AZGVtbwBpbnN0YWxsIGRlbW8gY2FydHMAZWRpdCBUSUMgY29uZmlnAHNob3cgdGhlIGN1cnJlbnQgdmVyc2lvbgBlZGl0AG9wZW4gY2FydCBlZGl0b3IAc3VyZgBvcGVuIGNhcnRzIGJyb3dzZXIACmNvbmZpZ3VyYXRpb24gcmVzZXQgOikAZGVmYXVsdCBsdWEAZGVmYXVsdCBtb29uAGRlZmF1bHQgbW9vbnNjcmlwdAAubG9jYWwvZGVmYXVsdF9tb29uLnRpYwBkZWZhdWx0IGZlbm5lbAAubG9jYWwvZGVmYXVsdF9mZW5uZWwudGljAGRlZmF1bHQganMALmxvY2FsL2RlZmF1bHRfanMudGljAGRlZmF1bHQgd3JlbgAubG9jYWwvZGVmYXVsdF93cmVuLnRpYwAKdW5rbm93biBwYXJhbWV0ZXI6IABZT1UgSEFWRQBVTlNBVkVEIENIQU5HRVMARE8gWU9VIFJFQUxMWSBXQU5UAFRPIExPQUQgQ0FSVD8AeNpjXMDEQAj8+w8ESkpK/R0dHf0gGsjt//8Bjv//f/9OSen/u46OD++Umj68+9//4f+H/g8fYBi7/v949f9H0s8wCgYUgOMKFHdg+APM1gfG43+GD/+Bcfvvfz/Df2Dcve8Hxl8HFIPik+HD+3f//797R6l+Vn5GBl1dhZLMkpxUKwWF9MTcVAiHCyiaWFqSkV9kBRFNSS1LzckvSC0CyaSkFicDlSsUA+VLwLyizIKSzPw8kCSEY6WQmw/kc5XYGnBV2FqacVXaGplwcaVWFIC0hHg62+racXFmpikkleQpGHBxclbq2hrCBQxBAtpIAkZAgQpkFcYgAZAKLs7knGIFQyC/uKBIwVBbo0TVzEBTX9/YQMtIp0KnUsfQRMdYxwAIjXSAphQUZeaVKCh5uPr4+CuE+wf5uCgq6ViYABEXZwnYRjvKopSZhcsAwgLlTRgtYBRSNmPXnX/vz67uTHdVZoTxYTQPUI8Ij4yLiomBSa6fl1+rj4FJqsoFN4/SwsTI2nOXanVapy7MXaVzadXM3EOnbl2Ju/fuGgBUNS4KeNpjXMDEQAj8+w8ESkpK/R0dHf0gGsjt//8Bjv//f/9OSen/u46OD++Umj68+9//4f+H/g8fYBi7/v949f9H0s8wCgYUgOMKFHdg+APM1gfG43+GD/+Bcfvvfz/Df2Dcve8Hxl8HFIPik+HD+3f//797R6l+1lmMDNbWCiWZJTmpVgoK6Ym5qRAOF1A0sbQkI7/ICiKaklqWmpNfkFoEkklJLU4GKlcoBsqXgHlFmQUlmfl5IEkIx0ohLTUvLzWHi0ujLLFIoUTBQBPCqlCwNIMyKxWMTDSBCtJz8pMScxRCPJ25FDTS8oAuSFaIjuVSUNAoz0jNU9BIKskDalfQKE4tAerR0AUShpqamqgKDBEKtLEqMIIqqACZUIFFgTFCgTaSguScYpDjgazigiKQlKGChpaChr6+goYq0F9mQJcZA7ERWDUYVIDsN1EwVjAAQiOgDEhzQVFmXomCkoerj4+/Qrh/kI+LopKChQkQQcwGWlwCMr0EbLEmF2UJi5mFywDCApUQMFrAKKRsxq47/96fXd2Z7qrMCOPDaB6gHhEeGRcVEwOTXD8vv1YfA5NUlQtuHqWFiZG15y7V6rROXZi7SufSqpm5h07duhJ37901LgAqbk9+eNpjXMDEQAj8+w8ESkpK/R0dHf0gGsjt//8Bjv//f/9OSen/u46OD++Umj68+9//4f+H/g8fYBi7/v949f9H0s8wCgYUgOMKFHdg+APM1gfG43+GD/+Bcfvvfz/Df2Dcve8Hxl8HFIPik+HD+3f//797R6l+VmlGBn19hZLMkpxUKwWF9MTcVAiHCyiaWFqSkV9kBRFNSS1LzckvSC0CyaSkFicDlSsUA+VLwLyizIKSzPw8kCSEY6WQVczFVZZYpFBiawCmK2wtzcCMSlsjEy6utNK8ZJAWhRBPZw1Nrmouzsw0jaSSPA0DTc1KXV041xDI1daGc400NSuQZI2BXKAsF2dyTrGGobEmF2dxQZGGobaGRomqmYGmvrFBjYGmlpFOhU6ljqGJjrGOARAa6RgBFRYUZeaVaCh5uPr4+CuE+wf5uCgq6ViYABFQsgRoaC0Xpx1l0cvMwmUAYYHyKYwWMAopm7Hrzr/3Z1d3prsqM8L4MJoHqEeER8ZFxcTAJNfPy6/Vx8AkVeWCm0dpYWJk7blLtTqtUxfmrtK5tGpm7qFTt67E3Xt3DQBOLjQseNpjXMDEQAj8+w8ESkpK/R0dHf0gGsjt//8Bjv//f/9OSen/u46OD++Umj68+9//4f+H/g8fYBi7/v949f9H0s8wCgYUgOMKFHdg+APM1gfG43+GD/+Bcfvvfz/Df2Dcve8Hxl8HFIPik+HD+3f//797R6l+1oWMDPr6CiWZJTmpVgoK6Ym5qRAOF1A0sbQkI7/ICiKaklqWmpNfkFoEkklJLU4GKlcoBsqXgHlFmQUlmfl5IEkIx0qhvCg1j4srOSexuFjBHWREZrFCiKdzNRcXZ3J+XnFJUWlyiUJearmGZjUXJ2d8ia0BiKqwtTQD0ZW2RiZcnLVcnFycQE0QNZlpGkC2XlJJnoaBJlgEpC6+UtcQyKxFVWCIrEAbiwIjmIIK2/gKbCYYIyuAmwBEIAXJOcUahsaaUF5xQZGGobaGRnyJqpmBpr6xQY2BppaRTnyFTnyljqGJjrGOARAa6RjBNBQUZeaVaCh5uPr4+CuE+wf5uCgq6ViYAJEmxA5gcMSXgCyt5arltKMskTGzcBlAWKDSAkYLGIWUzdh159/7s6s7012VGWF8GM0D1CPCI+OiYmJgkuvn5dfqY2CSqnLBzaO0MDGy9tylWp3WqQtzV+lcWjUz99CpW1fi7r27BgC0wFHaCmNhcnQgACBsb2FkZWQhCgAlcyAlcwAgbG9hZGVkIGZyb20gAApjYXJ0IGxvYWRpbmcgZXJyb3IAIGxvYWRlZCEKdXNlIABSVU4AIGNvbW1hbmQgdG8gcnVuIGl0CgAKY2FydCBuYW1lIGlzIG1pc3NpbmcAY292ZXIAc3ByaXRlcwBjb2RlAAphZGRlZCBjYXJ0czoKCgBmaXJlLnRpYwB42u1TTW/UMBBdECDFF/7CtBUo0SbZfGy3tNLCAajUG0JwQki4jrc1zSaW7W0Tof4V1BOHXvhrnHuBsbPZZSs+zkh4tfbMezNj+3ly59ndwd8GGQyuyMNvV9d2fL3+cvPdrh+dm+Nw/IMPv+UH/8c/PT5Pbv70v79/bxBFYIQp+QHATChO0KcLc1qrAzhu4VCUQsraogXXDINcFDpzB2qmhDQHUC6odUUlF+jBCZ1zSQtCzDQhzTTNEtK6mUiqjGAlhyl8ukSv5MbZ6TjcDydhHqZJmO5eEjJbVMyIugJaFK+WSX4TtgGBsma0BNmV8GTcoNVYo0WjtUZhoTk1p7GiVVHP/ShNYiyMUzBKd3FxUe0vo6IsGO26AIM8GoYelzwWlebK+P0FQhkQXhU/HRTh1UEDj3hRJJWojL+9sx3HO31eQLzu/Bql6c1sbTNrzmoFZ6FEPUFSofRq1wCKmnjLo9l5CCn6ur9IWZ/4Fh5Bhle1TIaUHmX2xh6zSU7ydy6acVHa8NFeErwnHnRS2nkIVkS3U+ugtoNagpjiDHWIm0hnITJ20fhjgSWjSGFvnHOoywLqimvExMyd9SnkSQLmlFeILVXtgteqntlDo64eCtgtmyK/OXruYwixNY9N5SeBKwjttI1SsLE9k66Z4SaTLZlm2tzKyddMl+MR95AXVEnQkjJOPNdt8AiyMUrqOg6dNJ90kYprblb1xst69r42z34CaLa96fYm3u0W925hObZunlh442vI0hVOPFZq/4l9gSh6KwuKX9VjeKHoBfTSaiy60aIuli2UrhVSUjR273DPqbvs3C04PHr9Era2w/1xOBkjZaZmmLo3+QHxJVjbZm9udC50aWMAeNrtVjtvGzEMTgt0uak/Qc3kAMnQFAEKA506demU2woIF1t23J7v3Hs0bv/3zazeIiWdHXRtJOtkiaL0kRRJvb54e/FSXspL+X9Lea5MPG1uXneg2zy7oQMAx73nUfvouVL1emJSvTvHzHCuePVaPzJE4PYM2UsaTIoi9wN7gMM8CxEC3TUDxpPDGOh6hE9hl7KpjxlndCjl4kSH53QeYdb8zyn0jACYdpZq8ErNKb3zCczI2MLZR2GfuQde3ugMhxXTJ2tfsj/YNdpu+n4EXZt9NDeAFyzltxQvS6AbHBG+DH7HE/NHc2EfbIrYps8dA5owvxJ9srbP3QHC5/aJ7EvkR/7r5ZMOZBr2RSq/sUWoFg+mk/8WOE/UDnbedsZ/cQVHDvbnbq23NT9J5/H91rGIU1uW9NyMfCVAPgY6+TJEfH/8zbZTutfV6o/PNItP86sqxzC5yGlaoMtmYp86i9CJ/bBswT8i+0VhHhxeVCfA+o/4kb/g88HdKUj9c04JsX1y+HPzKH9gfWn9ARh9ev2ZjOJ5LF6w3pnQI3w+XkWxFVD8I7nFN0jTS/rH6SxtJD5ncs6ZApgf57t5BrMYIPKfNPYS/ydxCB8X+U/se3Gc8/coik8u/uf0TPl5EscxpoyfkDiZ2B5CevU9bTQehbjmfKQ8FQAiAcC+nXAMiPJDHn+S56P8luNHejmpP7RiInE2k8HsnuSNh9SW2G+K8KV+zufoZfR+JHHAxoD4zRq8ntuIPZ3fH+L8nHn/4OQHGX+bTQCcvj8dT+Zt6N69/1LeLF5d3NywYTfUYsnYpm2GQo6rcXhsuyX7KvqH9qhm1qJfyQVMHKv9oRbssX1iQ8s60axFp/nYpmv3bHgUctSJbdeOzZr1h243iF7t0K+63WFYsnqs1HDXHEY5YttqLw7VuihWdb94f3tV1O2qqtkgjsOny3u5289xt/rBHrr2qZE7H78138f9oWftL3muOq2u/vxm63b77rIoFI6FYr3+KOvdFZn4cHt9p+eHbhSUdCd/mrip6l5cSxTFZmxWw65t2P2Xz4srKWbxF4eby6ptdXNpYy50aWMAeNqVlE9s2lYcxx9LhsAJM65yyKGH1zSTQCXaI/GiLRISa/4orbYWERZtl8oOsQEpBgdMgLXpQKPDdAdy2CbILttpDbnkWAVURTstDVmjaqq6Tkmn7doktNK6rGvjPRs0IXVs8PtY9nvf932/33v+p2PA/wevBwzD63d3BZ4kFfLhQ6VaJasKyTwlqzwJZCol9/ZSqUrlJJXLKbk7d5Sjo9yRkut9nDuicvKrJh0YGIBSQJrjRiB8LxoJeOEYJ4QIrLJRyR8Kj0BPOCQEgpo0y0W82AcFzSiwsxyMBSQ/9EYjUkiAMXaB40NhIaJ6I95wQJRG4FyUVbuBoBjFPehjBU5kZwlCciAi7rAjmkg4BmmC4KNBrxQIBaHn3KjFShDGAA9npKBosV51ICj5uWCtrAVZIRfECYzeuYjFPmgljBExbLGfsUivDyPrG0PIFrclbAN2G42HxHAgKFn6XO7xqSk45XnH7YGei9B9bnTyVJ+Npm3DqklySGfshJrUuKnDd9UMIEDACVyAAWJbdBjVp2IAvcAC3gKT4APgB/G26NCea2ednjr9deg6Y3U8dWbrSBhdl5ohiVnCfI1Zw2xgdlqkQ8sgV+VqHnMDcxPzPeZ+i9QyuH5BZojMTjMDRSgi0cm4GNG15Fpzbjg30I4K3IBrcAklUQrNoxnnjHPK+b7zvOuii9Du5BP465PfHv+e+OOjPy8/u/zXledXXiy+WDy+qvGx8p90E1UA5p89eP72U1dmZct/fzvxpu7z/Uc/lRP5rUr5+kpx2d/z5fpXpUp5dXO3spxfL14fXiisl1azvlg+++1WZVmO44mlYiEey+SLRXzlMyulEhZkHIWVYiGbUS/qUEHOF7JyPBaL4ZFayLi7uX+sHO6WsxOnKTN1ajS6vq8oB9uriWn69AmK6uNu7iuH2+XV5Wx8mj6hM0s3Hil75WJWzmfjvvE+yo3HbyX4TL4Q92ED5f754DMfvyDjmgU5Nj0kmQfvHStaHO5NjI6/YsIvkAEwRsB2AcYAWBIwXYDVgyQJWANI6kEKtw0ghXXcxh5NVz2t+/Wax6gqrEmr1QmSJm1WJ0h1arOwjtvYo+mqp3W/AZzVPqKz2ofw6T/tWryst+vXN5xrur7B/7Lert8APvnXn7W+id7oJ5t4uhp0Y5v5G/2mFvI3LCzdpFC6yUbSDRtJNymUblhYe/kb/abm+V8bAiBVO5AZH6ClULoRAD3dJ8f6aUQLF85fuPYuorn+nYnJ6Dz74eIPdxdt1774Rija7hYLwne3H/x4ae/g3t9IafF+cDNkLnRpYwB42u1VwW7cNhB1C7SoeGk/gZcA0opai5LXdoyyFwcFcm17amCgFFeOlciSIHE3koz9l5x6yCW/k79oz720M5So1W5ttNcCJWwt5828Efk4Gn72zecn/zTIycl78vXv7z/g+Pjh1z/+xN83xoxhGP+XvzzpP/l//GfGb5nLv/j01UkQUJ3pPL2iNH5B1+l9SQCSG31X1lc06ej3WZ5VlUHXaaMgbh7YqDqr9BXNNxLNrKg2YNHX8j6t5JoQLUJCVAtP1eGjF1EYkirbllo8AMwAZb0Id0QWr/MUQqoyK3QjHnakkrl44CvGz9hzds4uWcT4jpDbTaF0VhZU1anU6fUmSV3tEScIXhaZpgOf3pY1VeAizj6hk5dK5jSHCRV0RX16L/XdUiaN65pZkxWuPuVh6HkLHnqWUBEH07UiiFlM1yVxjN3NbAP0c8BxKtxhu8jZYMLoRDc3e9HPTSVgx6/O/P5mN2BaJnm6zIomrbU7bINVHvrSYk3GJz7w/++61NunhInXoA24HxEngyOY6cRBqEmk1WKQSZUNyLQClbxBmY0ILkIGf3w17H5IUE9sZJhJLdfuBtSNw1HEreAsPt8zR2prmXgkE3PrefuQ7tHkY4gVv+aTvij+zOyFuzl1c+6HywvP356uvMk1HAT3s2cXNzvHsfCTxwHyQ1AmMp/PzmN/IFW0dqt4PdXTbbmFtfPLSek2BBsili3UpGot3Fm4Q7izcG/hHuF+ShKtAcfcC0x4CnFTopmrsy7iDAx8+pRHIQ0ClRY6rek74gyUzvjOL+ned4fMOtWbukAqg5Cj+qtLDfWHO2YDh8mWyY7JflJAsoSpyeAs4UzxyY5YEjEVTXZs7NjaBWQ+aB5MYQMhjrQqjmtdgpKJldBiIKOy+lmsxz1JrFa5mEoKlhski6kIwaSEJrOgEfWTAw6kxxgF61ERTvjM3XmB5DN251F88zxuxH15yINXY1TCcalJjNNoFtB6gYpmCVqTWM3jRtxXhzwC+uKeoqHQiVMYCYWMx2knEjvthbJT+EbwOZUCgkd10DclfiicVZE3xVV82X9XRSD5YfBPL69dDzTLbmmiCzf0qL5LoZd1QnU+p6bVjT4+9wWHvsj6WqHaI1489x3xzqwPttgf8VZz38gDbfPGNXdEEFybhjs2WKS5+tnzMPz2bDVugzjHl1WaN+kMta3avBZT/mC+oSkldsq3rIL7lVYyq5ux/XjYMmlVw/nZj46Zu3V/qQzDXK6PgqfR4/AZNrbhLa/e3uAHUztmfVgiuMKf6Y9wvGTsisNRDz3RnLs3RL2o5bt/tQvHydgbfA32Sm+oxTpV2gUYLv9zVi2VN1uAWSXWrfn1abgMV7AYoaEHo4p/AXpYlgpwYWxldHRlLnRpYwB42pVWeSCV2ftX03ZvNdNMu2+mGypy8e6LogwKJRVTWhjvyg3XdmVLuwqppowtbbQhsqQsFS2TLdFqqbSLaJ3IVDN+55Kmpvnndw7vPe9zls/zfJ7lvP0NpBqGhjKVQuUpmMhkPoynoFIJMl7w8pYCOROgcvf2M5HNFfxZ7yC1hBf8ObBQ5u4dKFN5y/wDFSrOXb2PUe9TKGV+AUqVwktQr/Xn/BQ+KhOZZwCjflUofQLAm8yN8RJ8GF4q9fTmGE/ZIlMEgz6OrU1hlJCqF/dqwvC8n+Dv/3He3NJygSkUhM60gHq3zzOfY+XoaOUgM5WGSiWhSnC4qbblTzChLZdIeEbFmGrDGMTBHIYhGIqhEIoRPCZgDCZQOMZ1v+MIxkMYgVEkTsIEjNMkzwk8QvIIR+E0zsAEzzAIxyMMQ9MEzyEcwzM8hgu8IAg8oR0m/4Q8z8bC3pDSlvcgQ92NFBAcR2EeYXEUF3ESExkWR1ACggAgLIoQhPEUShI0J4okyVCiyKAQBFBQjoQggcQJUeQ4oAHN8KK6QQgGnrBAfY5svmCuldrqz5FhFiFQBIJwksIwGuUQlgFmIgiGUTTMsAKYRRERozABhRlERASWolGY5tWdQTkBIQWIECmWRQAhQDmwge3WQPwc2cpyVjfdH9mmUR4VURGhUITEwIimBTDGWYoQcQjIUEAcjrIYhokEScEQgOdhkaURoJ3IijxQiiMwHriIIBGEEygRWCuQBPI1sjmBqd0s+dxm4FMMBXSjDA1jwMU4RiM4AbiHaAyHWCAjUAqiIJIiCRxngGoUzok0x7AsTHMch5EcT6MkSql1wVmWozAIOJrgvmDb4j+QgWcB1xiEwhSPQ+pOsTiG0AAFwmiKQmlgPaXuFIuKNDAeuByjxe6OCRBFA45oAiFIlmB5VuQE8j9sXmhjgUDactkXEUYigDYMQTGKZShcZDGWICgCuI+EQOBQgHMGx2lAqUDTvIgLNItQJMtzHAlTOI/xHI3wIkVyuPixsdDXyBazzAGu7AtkhoGg3hHe3dS/vTOi2CNRN/UIRDbTM9MjUc//89/TekefIzvMsZlp9S+bYQQBqaqOMxgmGQQ0HEZhHOdhlEVIBEQbC0yjcJThOAqBKQEiRYoBFIMIJigORkiOZHEKZlGBIiiGEjAe+xrZ1m7eVzbDNAwhwJ0ojICQQgUSHE9wGKATRzGWJAhMFHiUwEHkEIwIoh3EA0kzwHaW5gmWJlla4BCBYmCeoIAveDAScRET2H+xDTL6y3xGgId5GAebQQwxKAFsFgiIECCOFAAOgvIEDXjlUB7jKJBTGMYA60FWMwTE4upOgODGSBKkPgg6EQS6+LXN8xwWz1Ib/WUlgQWEhiAUhSiAS2IkRGGgRGAgwzFQO1AEE3AEFFIOB0aDiESBcyACVBsQVIAdFlQ2ksJZEOUsCSoCgzEkx4LcJr+oJAvsZ33mZx6kKSi6wGgaExEWwUgeBdmIIuo6SiE4i8IYTEEMKO8Eh7McTsM4RoJqhQkkxvAsOJ+mSZQVWCATIZYnSZHlRVpdw0AyfIFs4zDHfK7lJ7qBzghOAqoIHCQSRIEfkK4YxxA4qY4XgoYpGDDAguDiKYIUGFKd4DzG0hTPgquC5jkIOJfnUAoUDx4GJQ4EAsmIhAhqqBo6TNp7h6lMey9AhZIXgkzh7iswwAfoIvTehFIxQMmpFN5KtRzI9PSlkp494MW09xZc2n2As5HaCqlE9PaTKUxhuQ5YIkdkvLdUIvHx9hD01PeogcLYmJiCqn+Qiahc5a0M8GIFPz2w1sQ/gNVTyBUGsL4cJvQBkqDkJVLwkEo/of+jkKONhVobqQQo7c4oeU+h566XShSijFUpffQgOQLJcX0ZmOwx0QyWqdwFpQwo1GNy99MQVgv+sa8b9dMh8L8Pmabz6fL/j8MMvj5M+tlpmD4gp3uE63fvFoIUKj39j6vUXzp+TKB6yHn668F4t30+fgqlSk/bwWqOlYVj75eHtpwAHepe0E24fIX6O8iHUfj56/UqqP+R/O4DVhipY04OI+DPQDFFvVnySb+PGGbgWAM9lbExjE9E9LsXqo2a0ovU43oHUxj5TN1PsfLR85AcxgGn3dBqyXIgcegVSDwVSkFvkeFyQ8UUB7m1fJHc+uNYARB61Pmok8pUZQCr3T8E0tAYMWScpS4GYV5zbeeGz4EwQbdmpnWAL7M47PLVMHn4b/u90uRX0xK8zlU0XHdpfH7zmySJxiybmRTJvNTYrJH7/z9ArgGaeq9Gv66X5Tbpp6nWqqIuV72tcdyeI/VHPYsQH/n52V7GfOaLlS+64mNq7k8hROuLzwZ4muyt0XOLRwp35E50qHgWUqw1paLhXMXxpVkhVcpIez6W3jj35IvOD00ZkeOf2AYQozXCNb7bGL550/CILRt/iBi549fIqBFboyJ3JITsCV25arX/OkI6avtv8VvSordlpP8atzk3Kys2dm+h+f5Va9YelB4+kp9akLjt6ImMTfl5ZZlXaoqu/7DS8syag/i58xeqKkofHKv+7fftD3ce/f3Gs9rk4luD7zRmPtmVFJP6uPpywu6C5/oem544EwtuNd/QKcvaP3C974OJjs1ZyVYu3vcUu6xfJc+KGtZVbj3k0Ly60p1DLJaM1T/CkzFQYCp2LmdrZRzsP6ptpK9O+a7BAdJnSK61HTbDd+6SAPvEQ/vnTR5x+kGusKC/BDoa+nib8/UjDpWOecG4+cKMS4eqkt/gbk4092ssHkVk5OY9akhe+V47MzbdqWqP83LjxdcOh7x9PaIlUOJ6VjV89qizgTFjg7dN+O7yvmqnEq5jUuWyUzmvoi8l0rfbpXMXypcktzuavQvMbKpaUh6cF2p0wvMqZrcrJ2xpu9lNjxsFHVXiCR/lhSjvMbW3xk2ouVRMzeoc3vzsen2Cd/GlK+8Dy7Sm6QzMD3AN0nuY7br1b621voudd7Xf+svF9oPuHxMDfuziB9WRWosGJfsnMc/b355fbd3PvXGNZIT7vgFdQSsk7mV08wCfmabkd2EnFwdNcBv0IE5mdiO4U7bZ0dfttzUjFronR80zj7cKJm+4P4weOKWzXvn+3qANW91eNu/YNmlJ0F4sI/zitl9NZTabdkyE6/m1FzNGP2YcF0pSnJAdVjrhS02C73n8guxcFE872XwTK1UkNEUUSOp/pAzP2axLKrlE3V8TmNZy2GKNbR0XHa4ZeX/7Ma2QR/E+v+nXJmwgIkv62M/UP3jATNd2sumKUSEahz2uXh3rue+1bHlgVHJqS+oRs7R9kVYnTM6lr7uYqEg5fjMy2aOAONI68FQi3RycqNRs68reoxvaktNepXk0S+/EaP3jZQsa4g7mMRVH82pXLJmbeXvdjivmj84W6qY8it2VRpdnJWYWsu79Mjnd5Tfb8qoPNYiT34oyr/zrsWOMS1rMI23Oao67dCz/Rt/BPiXD3j/JEF5HN9ilBrrIX6Tka858cbjQduWS4n5GK7P7ND3Iu73R2zbttc8IA8/sssOaGrklyjSHY6c3NQ5xvvx34ZCs6ukDJULkvBPL32y2PnkKrZ5DmjozNydwyBGHlI701GlvkwIujs+8de2MwSLDumJh/Pa86qEv6gPOMrkfTlytvWxH1rQMC/NsVO7qH1i/qsvOD+u8NK3z4nG7JJ+ri6KS8h+cTytM7sq2sjBKrnu48O/Xj5e4VbY7b0uvGnOLslfi9Zt3upg0TBj2/F1jsrHh+7ZafFWIWfNGt6Jj+89vbX/eX9XiWFMZSn0oymlqJF+XG6w2Wj956gu6ddZdJXX37HPljD6PQn0Mdt33eX7rj8XnDMI6r8eN112/MuRpwOq22pYzr2JLjac/Y+pcikL6n84Olysf6Oztm+6WfjHbOqxzuGvp7Rtnml95q3KW7us7/WUJEa6/+kDD3T5cnPnQv1+YjfVL6nBcpPl8flXo9MJ9z23dfxrwrcfwtAWDt87ohL8/pK/0+2OvpPXEuPfP5q3TeB0Pzeiw6Cf13awh7/ODzoELJU4+G0pTmKH27oVtXalu7u3r71kF5VuOV0o2S24n95W4ZpYMHbKpzrdyRKCl+V/O2RG6urs1a8suBl+R038G35tX5m71zQM4KuQ212dQSRmhVGp+O0LHuin+gMnGl1vdVMmjTpaVzVzynabz/PnlujbDfkLgncGnkrRH15eb9a2JET1/0Nzrfm5hSM7a4vVDl77pO3tOxYKdEbdTDL0TaDNYaftLy8EJ8yOsf57iF3/h0tDsxAdFJ/Ryg5za7k7yGFTl3mEU5nq0XqYfPHF2R03cpMTHhEe93SLRKDSv7jG1eMy40esyWSSp0QSvm+t9yOiXtkRZH4P8S78cQnzT2w5PD59UVtTHeOvIgklmuRFnXdPmd+3vN6ZkZ5BORVOYZbJJ5eQPHQUztnw7I+WPh0ea3Adc2bgmxk/74M+a4ak1O5NVvi4bEr8vtb5MJ+RuaT6+3cSwojyx4fjsM+819R63XN0zwHbxhV3NE/JsHJWa7Uf0/dOSpZurUhdeT8CeHbbLbih5t3uLhcvyFk2XdyaRl7PS2ka0OtkXzie9wu3sX7n+WBdZFJ8YfWBlTOsy78SMohVV0W8t7mh1vjv9tjwm9sOpp66thePfH4RSQ28sH2mvqBG13yTs2N324VJDwh+n52dYXmmzH1z/s7hg5NHRQzPcpx9pWNuQva+l3yTPqCl1Z3fcsN4SvX9pu6S2rOPmyW+GaXi1jNUOfZqRvaprqLZruduCRw2OGhX9lV77K35OLexI3zvUY2pGqHPb8rgCWFMWKGlouHyGOJVtmumd7eEyuv9bnz3tS38Spjq9u1lr/rb/Xe5wpe2fHbXF9dGykPIDjQor/MB5LYXv7Iq7BdqdxeduZa4vGswcOxNwciGeFW6cdK+tX1326t0+rqWzGx/tyL/Qeg069+OQa4O+c/r9esZLp1+23K9LogrRaOOo8sqHP9o3lRJz4c0PTfjWUfVlEeY5myKK+IfE2AL7UTM02FP3bPGgi+MyX8VMXCZIo4JK7b8tibXSefxi1Zgzp06/XnntqEhUOvlhytZ472VNIwNzfzcyyklslScQRaNPvev/rCuh0qDZ/FhCXKDyf0NevW+0jHpbbXg5J0XiVWV90qg6zC5H5bvMlR6ff2XXRlVccbswbdPiauUhJMnC8+n3KSY3yt+o3s4Y6jx/IH05fhKym6xqCe6r8sqIxY6FF7lNrE4sP7vidVbEX+77x5icHJh3fHtK9GOFw9RZhavu5+hHNxc8C7wy+QaWp+XlOaXZoH7vqoAju0yfmj0Zc2dt06tCLbuKmA3v92htxRP2egnK6j9vts40TP77r2Xi4KTqfqR/xpUtPssHbjuc3uT0w6LKxZ5Pam9H7qFS2k974+jIh6UuWqcCDV+4XHtfe5zoTLVx8VsXFnM/3L9z/92jXq4Ww2ueZhZUzZ///Pka5e0TcRcy5gX8z3d617RrjSfydd79FeFhbHpLVvzmWrizL2vvfD+lPOhRzB2/3aGnri6+23Hz4J12u9VabT+X/nmgf1vbntKVz+4opxbf/XbNIA2Nqf8HQjTk73F1ZXN0LnRpYwB42u19a2xb15mgms52I2GwE7rdSDWwBc2dAaj4WuFDD0oIM3AtNzbixBnbmTYbdFJKIiU2FCmTlCi6cNe2Ms6NO86kaMeOgt1sutqNXe1kMvtjFwPsA6lR1P1RYGTLjl0HHtwrEbZkQxQv5admJe73ncd9kPdSlOookusrk7z3PL5zvvd3Hvf4S1X2qkfX7/cltr8h7mhvF3f84R+K937zG/FeoSC2FwpvPONt/yuf6BOL82le4a8wzSJfZPlDkFuSv+NWQfy1d07csa0dMkvrj0L+jlHvUAn8SMS8f+Q6LYo/xXI/FX2xTt9/KXh/vWvbyC9/7fOy/CH8OiZCk77/NDR0+k+Pib7Ozl/+7Yh3SCy6Tou0qO+9IfG01ytaXm1Q1TsypPbvK18R74VCav+ave1HsX9rnv/FV0+PKE4Ni+I0ft4XzfOnRXEYPxb5775P898vyu+JUpjTkDf9tkk9aPP9rChm3zanOe/bFMKdtuYNtpOFMu8Ps4QpgC2+Jb5NYLz1rjl+b5FyPT3TDP8pE/zf1tFnypo+71H4N/7Ouo+nO0EYR8Tyl0n+u+8C/BOiGAL44aj4QPj/l38piv/rR0Pinx8dEl/90dB3bH/2o3+wHabpWr7I80XbYVrGmF9UH9JYtmn+vz4sqgVU+B+K4qv/7dh3bP99FNr3qu3zMq++NST+u6ND33ny8I/+4Wd/9iPxL48dM9DmR1huSPxO69DQP3z4ypB4rChff/0c9betDO3bNP4cPQryDG1H/mpIDL811GMLvPUu0gfS1739Pw10aAM75x8XfV7v0ND4R76h+Y98x0baTotowXX5IthD3/hHQ5g/NNLmOzbkO11UXxzC/DlSHyob86H+kI/A92P908fQ+rL8Y/7x00Ner887/pFXnP8IRB/ob9H+sfmPTpfLH5n/qK2kf60/QXs+NPSTn/uGbvy8FL/WEWLvh34yOjR0Y5T231B/hMIfGRkaahstxR8/LN/XNjrkG2kbOj3kO7ZU+184/0fnRbGmRhTz82KdbePhuk22I6Jjkyg6UT+PiPp85waaX7dhk1jngCKoGyy/DuuT/E2iDUBsOqJTpafOi3U1j4nO/PlNdZs2OmwbDjsdh0s17rITKl0+Ih6x0Egn5B13mucexy8H5DmPm8Clfb2MD1ug2GVWwVlckKJ8+fIRa7OgAmKXjj6ibaMobrJBGR39+PWfWTkFfp1PFeXXUcB13DewsvfmrTtyGkxbWxtp//B779Udyc9v2GDbuMG5yeYQj2wy9u+997B/R3i+7cimusOstcfxD8Tg8e99T3z8gw/IPYjFofeGq45h/FKcz/MwbYl8Ev+ZwT89XC0+/uUqEv8V54fwPjT8Vgn8d94x7Z8atb1zCPLeEX3f6/R9UOX9dc2XRz45XRz/QZO+dyD+c5H474PRBxD/YR/Q7vl+8hPUfXLvBT1/b9h7bH3Ef/Dv8UPwg/Sruix+5egO8O87Hn+iagc8v7F0Pl6WZSrIrzoi1h2yiV86tAnz6r5ydKsT8uo22SH/MdK+8/FDR3R1v0nyqyDfzuFTY1JH1OjwYafTxLgwXXPWHaH6ydVOf9VBVdQMp3hYMw526J8D+neE9m/jMeifwwl2cMfjG7B/hyjwIyjrgGfdsSOijdihHXV1j1kYkNLblV9FtP1Xb+8AO4i0IfxZiv91VU+8UfeE/XBd1aGvifZDbzirNjjrHoP+cxJV2d/YsAHynzj0hmg//Ebdl54QnV+C/LojLL/qjbrHnsD6jjqoX1fleMP5JTvYwsOkDORD3gb4PPHHdXY7lD0M+QB8A+Sjqayy/XGdzb6p7jFo32Z/w/mE3el8DDKYg1D79xi2j/A3iE6EvUEzjc7DzJieO+50XiZwj4gb6lQSOxnDjxzGx8Oc907nEQepphMDp54lR+rEI2AvoX+bbHW2wzZwbOjfnE4QB7V99EcbbHWkPYdI7boNWzqsieYUlGmYgM8M5L8tUvkwkdGpw7TcN1g5s2vqbQ0W3BfzD+jjJPzZwKRjnV+pVKoW/mwpWy38nRo9Bd+pjadsqVOpjZB3Cj6p/bUpyN6fGq3FYj9L/az2QOoAyUmlKhr/XBWz4uVs9vJU1nE163Bchs9UA3y+4XCQzKswnMxeFh3Zf7rqcGSPw0d0OCbedjjkt8nYIHSvIIYKhZ47MPiHz9F5+J33zvXMV7kwu/DX8Cn0wCeGn6OFwscQEn589MtVH4ewj4BZbe1G+Nhqnzy18euAb63t5IenRrtTAymWb4P8UfI7+vONjBKjqVAqTPJJmVTqyVH4PRlOnbJ1pwdGaeWHgP+A2/7UqdH9cHMglfoZ/aFpBwh99gMFNkLGKRs8Ax1qoezPIOUAiMdS8JHHM9/Y5Hg3C3FT1ma7Op21HX83mxWvDmdBMoYdW+R/Ov9v5Lev2rJv2WzZ39qy74Ms/PZ4dvjy1WGIA3sKX3aJ84U/6vlw/uOe0J2C2BOahw+dCOgRj9a4CqFc4eOjuY+/3wOsF+dDR4nI0C+xJzVwcoDI9mgt8vXJJ0efrK09+XXbqROnCAdPIhcJTsDfVDdgenKg9kQIMDsBGSfTKX59DAU++AB+//2p1Ck1tTL5J1cW8Bp+Ozslvv3+u9m33hKHtSmNoyHxV6HQUfyE4NMTAvwAD8CPXldBQS5DQH38snj5r+E7Fjp+ORQ6jukPgv+pVEsilRpJpFraUrXwk3KnUs+B0CdTuuvqwVTqEvwePJi6FPs0dSn0KUlb8/I9QPQ7VbvxSfj9eurUxtoTVL8/HAV2w78QpKdB/58crX0STUNtGPK7Qf9V1GtruwdAaKDcSah/YgBMYOrUgcr4z2H8S7j05OTPJ7tPdrewC5/h0fDMr5PtO3+qfobfHz7Z/iLct/8U84aHh9M729vTX7fZ0sM2248N+TZbqvbHX99v29lu+3F7+9fI58XM1/g9sHk/iL/tx6nU18w+EGt727zeEe/oqHfk1IG2kZG2Nv2vmj/S5h1JpdoSVJjUz+/7/P9S9gOv59rbtz33p7vx0/7c8PDO5yAJPyTTC1RsO5Bq8XrJB59PjYyAbR6lz/B7anTjgdqNP9tf67btr/W699d+FT5e7/7UV7+Kug11vIwb8NWCMEhq6YWwP56HxnS5pIo3cffOnebOUGig81eRge7f/Gag+x//sRnhMOlMpbLpH6bev54yvwDeaOJAqu2Uae5o4BvfHw09Ofr9wDc+9MrfCMGn0/tVN4qWV19umF3teHm97Y2p1LaUCHj5D6ZahoZSb4pQ3GekzxfNf8ThwEhqZHSkZQTv4bZl9MBIC00/QNJGW0gawfdAAh4PjIzifctoyygJPsAXQ/hVC6psow9gp0BrMSYhvgtT9oObtmHmfhtc+7GEWgYzbRjHoSXcvx9tAtyQvBOhE6HucGjgZOhkCL+Hh0Ph0HAq1Xyis/nECcwFZxii9g64R60eitBPvCQ/denSJSD8m5h86eDV1JuD4iApc4U+gLc4CAkk7eqlg5fENwdJWfAmKTGVejN16SrciJzFl2gyNHM1delNMfUmQEkNsuyrl1IHRQaLtEXgXIUE2j5UgXxa+NLB1EFsain+2Bw2GH1s2oB/cLNhk80GvxscGxxwZ4NvyCfpmO/APAf+2wCPGzbYbLSWzeFw4COkQUUotoncb4LatOdGuWdPB1LLvMy0J5FIeFtS3uWCAo2EWl40CDpYlLWcxamEqrzksaUoi6Rj4wkGJaErxOFC77ykMQ10i/43UVTeqz4nALA3UVxe1wx0PkGLXx1MvXl8MHXpOEjA1eOpN6+CbGgyRa43UWxQmA5SSeEyh/IdDsPX8AkIvcLwFwqfwH/wSKQfkogaYN4Jkk2zwuHwMOaTf2GsCEWHWTW8o2l/8Fi0SpIkmXxk/GcliTRXkte/z5MUcuXhT7lgjjDgKZ0/L8n4kcrCAprIsrzW8f0P//F95W9OELQlUyzOkDyZfEnWGEPeGMJY0wgDFn/70d8p//V/QE9zZ2RLCcgpTBKo+BP5lo3ISqQY0mRt4/u//8//VT78nzmOTLGaMjyV8+wXn3+pMGbL5FMFuGPCLbgwfS3jm1f4lSd4wLekx5hiorsuAkKEm0TnCd4U3fz84uLC4v1baxtfjirjGKACTzqRlKRLHNPceCaDTCU6TOmQJxJM5Xh+sVBYhL/ba1mDUQ1pny8pOYKmjIrIdJO6IYkhpUxM6Ewa6rB0Fv8AAhDszuLCQgE4XLitrG0TLUtUEVXFw1uKlnRFUc7lZJlZo/EiY8RYTEz3rXng7gJ87qJCSFVr/pK1XoJSUwbLCnoYouOA02SmyPZKypUr+A9oMb8ArF3Ar/tgs+R1gK9ByJUxWWXgBfzOySYOmpmynKTcKcCF5moBlHjhviKtL4RlhplEvdS5PHVDxdGGzPgLxefguof43oWfwn1FXnf4spj6VyRIPEv0VyoJRXLcgWFhgjSk3CsUbsvrCmHpAsYX+JfXed4SHOQxkj3BjXmeBST3FtYZgyWDV6YOymSwICvjE79VxiclVSpyZ8ZA6kGbb0vrTZ6pF+IfyYIumczkpKzzyFSw7y3eXlf8lc+eray/ZqQA9z2/sCR/2ah7jbjilQT9bMoAnNn8woIJf/XzCYDs7MzM7Ky0FjAmtlhePrrKrdx5DE8hkL5rMpTWTZBIMiA7Pjc+M5P9gj01kTJqpJat8yDFWPPOAsSU+VJ6yWc4ESU5O3t3TpnIzN2bmfkiPReGyWPUNC8nJKQm7Q5IMQ6B5xfuojk3EwAeoM/M3qWmf+zezKz0BXEVvyAyIm4ot4xpGRDhDAyccsDX2/OL1yCGvm0uHFJeYiOwmbtj3N3dm131YBs6vIBxLwxvFhbu5+motlJ5xoHVxKSCExtzc/OFhWuLIM2yhYJDWA50lLMzt6mDx2Hk7OxqC7S8QAZyBfhChG/xiapKQ5NbSgYijPs44l8EfO/mz0jWQcx5qUrKwsBykk2qTI7PyKvN3gIOaxZxboIw+TZyuNIxrJybL9zO4fjoNgj0tWvXcEBoiW8Og3BpdnKSzYmAtbiTlVZZmKV7yN9C4Rq7KHcr9Egyqu0YjBHuKncWC9dgDAyQzOexCYYgNtLM+IQalE+Or648SziTcw+Zu3ANJHoBfm+jN8pVyGH5zuIiGrk5wObe4jXQiEULfKGlDPFTYJ6BQmix4DOxygZaUuT8rXnKWDIBVYA46Jey5fR7Sf07BdQAqo5z98gM1qI5vtLkBIljwP3eZ9Z5UsmssgOWc5JM9JYYqwKbqSK9OSNXRK+5ewu3JzN5MvWcxyHwnIWpw2myT4hDys7eR9VVchPzszOr647I0B49EfyhC+arBJXyF/Q/NwfxBSjvbZzuypmMk/XUkQinZ7Pgw2BoBeiusvvF6ViZRhuSrE1Ck0WjCj0SGQdidIVwzpYdAki/kCins9nZcWV8Jjuz6tEGmZT5RPkF5arMIkEgwxlFWo5azM2h25XKEQlDcwYeQ2glm/0ClhMlWRvU68JeeXmjU1IcKsuTZYgkndeEnU6Kra9pTDOUPpHLqQ5YKUlD/vyanARhy4AVuzdrASCWUNbc8dgaZC/I3BW8KrQrzCCZjxbIDDbPl8/n1yB/2Vonsdrl5nH4PJYVfyVpghhDvYXLTMprUJYl6Sxe3KIVuxsU0zvZ2dmZ24QiVvhi8Gy0xfL5yfNrTp6Bt+f5wj6/MyJEJtnvzc7eVc4Tz50zHxvJ+QtG9gLDJxVpramuPMaHMZN80duIL6glxA0Tc3N8h4Mpf9FUZfJgnyRNB7KZibW1t0WSYahze5ys+05mxiH6U/K5Yv7iUvfERIaTwiIok7BQPk9Xhom3n81mby9r1mgVVLdQkO6OjSlgaDIZsvqrlMgzMm58YnwiM5nL8+075viigAC1LoJQwxgf0L2rXFQmMvLaEebFBRBnlOcJKsyI9EXlgl7pyF4IlRBkEcZqmEDcL1OKDMj/HE55ZdYKviBzC4sSsgJkeZLI9AWclmMsJFPnfIAxnhkny+KS9UhBRiJBdgZ0Nq/MZiYu5nPzs7OTmbWyEUCWFhdB1SR5QmUKbkTShooX0BT/EhUS2a5YL6kxfGUqMzibOQPCrCjz2RlJWjP7HqTCAmGWlCn1Rwpb42YbzjLaGFKyijx1k2FYZHYmk5mdnV1DuzykRRYuqfEGGeTShRbym2MztviUg9Ek5XwuZzpLIBk0G1zRJAQo2TU0OpIXJTV8ktR4UrpIYwaJYitxowUk+BWS4SzS5KyJzZJz+s0fmVk6Bl1DzldekDTLRccLMt2nRIhw0TjZI5FNWDjhKKOaS2b+SOfI1t6wV5YLkmFCgDJHVi5KPKo2hP449SadU5RLuEHNZHVBYkuOa3XPuLxYsNgaLFnPYMl0C4TZ0iDfqQXee03iy80VU0+ZDVtlZaURvsx2luZzayeg0o3FNXwhMX/uHBslyLmVskfSNjWtkehRli4oY3ydGqINvhR/BphyhZknuezcclnwF9j+8LVhqmSJD/aoo4RokhkWSd0ZzdRwRR2mG/HWjFWW5TPQocVrBbIPmthj7n/Z5mjuiFYokZUvR60adxcWCtdwyZsMCAogz+qOb5xWpHLI3Mryt+7gFoCMGb4ydXZfgDAvFBau4SLwQl4pLC7ox3ayImnorugFFGTvpCyXxNYSCtaqT8uiSbqoLNLF6oVFBf4puilJSfqlTN/JkPnoSF4+vnkYRuWVCSSVRDFnm+rzq26zqUmiK8D4wsWCOu7Lk57hQ143MoKx4Aq8L5m0ncCfMeXTi5/CJzMJT3QsIq3mMhKJeRXUXbBYoMYLDDu2jPYJRzPHJuSWzw++dxok5OLFi8hlZG1mIp9TJwGl1ZVnBREuLGr7N9T5GbKshQygQ8KqleALdSWZz3jysEYiL0eM49+kckZaXXnOfYoMxl06BUrvC5KsDhJkveuVpV8s016R8bKJEUaDgPOAeWV1Z6JliU0y486LBcXwihkxKXQ49MkvCGNkSVkuumOI0JhsuqMyM0m3caymySLvximfQruFhU/ZhBzv0Tmyq/+KfAVi6Pw5EkT/Ypn4KmM4wWmGEjGHZO5kdcNMiXmaTz+9WORu2Djuiqw5omXzdywz+dvfQrxhMVWb+wKWRdnU1MVPLxZpmsQ9LiHIhZXwV56cnMhMTI5NyJbW8gsYM0n0Kp5VIpaZjuL5u9vSMruHu0QnccbeapPSGn8lHOzz8vAdV65klCvK+Dp9+5/yV+X4ksxBlcDtkmPrEl++4imDk5kgr3Mv5Y2RvwryV1qPzJXAsZCFFmVyciabnZ2cmJCX1N8LSsbSPq9p5srybHYSt10AEojtzCy3Q5LlMJbwd2Jd6q88kZ2Zyc5mALeJScB2bmKOuC+yCHHlnMXxHcrYWpqpWya+WeTqbfDHcJvhiyo41a4oFkE/4W9uXeqvPJmZAP7O3r+VmZyYzWT4sFW+ouTVOa5ivyqTvewTa3Jz2VLqiwvyGJUAj2dmMhPcNvNDHtisD4tQlOv0eXzyipJZj/wFmwxD9ZmZiTnkcga3ZNCRhQwWmE/MkMgUxhhjn03duEmnb/Qzuusr0kB0sxPKp7OzMxM4AZfHYZ4sszXTPKBEVolZ0H1DIUYbj604K8nrUH1Rkmc+nczMgi+awfXgC4SrbD/xWUld4T/LLmmMsFVSlPWHLXb7zswkYDpDEaODDHqUDJv/+QX7IyuB6tvhsjS5PvGVwCxPzmZnkbs6K8ZfBWCr9kiBm+zsoBw5lWVyffK3isyOA85zc3NykaBLnymfSerQUr6Fh+kULuTpZI2yXvEl/EOrVWx9JONOQom8t7Vwn6A7gaup6xJflZlmvkofbsiLhcW79xbI2TJKLm/xQuF6vuTrev7K0t055dY9fNcMUAbZlh42hMHlTBt2sFyfX5hYxPODrl0rLNydkx82/uYNC6W4/5KszeDRBbg5WpYfOnz1i0AySPJdPEGocPfWrQu3xszOL1jX6MqGlXBZWpTRKQF/F6/hMvp9RXpI8JRolEFPBONI4e5a3B+P+nt3biIDPw8HvtIVGMyz3YKyxmCpgHeyjCdxKMoUnrHzkPCXnUhJl0zVLTjyApvUytM3ZJWHBF3cvpPHUys/Uc4pZ7RhEN+vJtO9IWPKw2KtJHayrMTeTuHyrO6/lM8rn63udoXPF98zuGGLnsg4Jk9z/sryIp29kqX1Olawss9Eb+nGB90pUjKMF8ggeeoz5fxDFGvIV3I3b4BVkq7kz52TtYgDsAevK0vXybEED0/0DCydIvaZ6bE+ogSMpVsKjIuLoklZWr/6TBYPZHYYdtE0Fb7ChKfq0DNKdYfcKTeV9Yqxiic9h6L4XUo8enMMJ3ZUSZekGzduKMp1ZX0eBi+dy5FJKnIA9hXj1g5JvqncKywU8AghzmBy5Pm0kv/nm+tTqWWyrMD0VzHyV1JuTN2EMf/dOeDy/AJ/I4AKeH76zLrEdwz9Lz3yLleM73VymN1d5eYN3Mu2QBYfbk6TI1hv5qfXpUTzmWj5jDJ9BgYORv4CYneu3QdCwEgYvBM/CgDxrfR4nrWKNz2z4KxuOwcNne9cu3afYDiHB0b9v5tsav76dO76eg6qwexOKVPoayWdav+zckG5t7BwfYotNEjSTcJZMFlgpNcvfyXiU6/fzN3I39TG/HR14U6hcPMWHg6PGbJ8ffom2VsMXmn9Rl2yQlgIfgZYyoe67BitO3jm9211M+IN5eYYKaqcWbfoVsnTU0p+avomIqhGEuyYEv6iHducJ+OZBySqXs9LDtdz+bEpYHHuJoTTU3T7uqwU/c8VTNGV6WmQgpvredCElvlXZ+EfccTTyg323xSYeVhInJ5WpHU9wQO9z01NX78x/dnNz0CVp+g5SFb2SFrrO0QrwXiK2Cryf6qw44MethWUonEwBo9T4JSU6w81otqoduz6FHiZqTH59wFfOvrLX0fjXPX7cbH/90r+FxOvV23ZYk+Gk5Fgm93+Zy9v37vP/q3de+zP7dq955UayAr0J3ti8TZ7e7DzdXtPMtnX9vTTXXDfEE529jSEY1imK5johNr2eKy7PxgJvx60dwd6g5iT6IyH+5Jt9kh/AB/D0b5+eCLZfYGuGkzrjEUTyUA0maiJxDoDEfu2rS+89m2/p9Gle97hd3ub2fMLW1+CfHerx6VLgAIun4/X2L5rl99Xw56S4Ugw4f9BTfXz21/xu1uahZrqHdu37tkH9y1w/9LufTt3vwgPPnjY+9LO57fvfW3H1j0v7Nq+dy+2YkyFFC+kbNu1e+/29te27f7Wt7bvgbRGSNv90vYX9WlNWrn23bsxpVkrxVJatDLP7dm6bzsk+bRCPKkV+/D8y4CUx4XZ7dv3Pg+3JHnf1n0vb3/N7fe4XQhr966XX3gRHtz4sGfrNijnRhRe2PnCzm0aXh6315AICYgCUOi1b+3Crnnc2P2tu/ZtxXvSzR1bd+K9T2vVA4+t+mqvvbRz2/PQ8ZdfghzE9ttbd+3Cznka+QPU8SDoP9/5Ium2p5k/YE4Lf/DCA7b0rd27931z99Y9SLFvA2KeVkMiNuRFxF/Y+hyg8q1dL+9sR6jelqI0AO71FaVBG95WQqdXAKFdr317x+5d2/2eJrcu7Zt7dj+/HdptQiLu2vrnWxF6k5c/ANimRv4A8Jqaag4Soe6OxDpA9gYC8XCgA+SPy6LfVa3lJsO9QcHenwh2gWLY9+3c5qy39wZB3bpY8c5Ar/8Hg36XkPa7DrK03lgHSDN/CkTDvfuogPOkZDzQp3vs6I9EgkldQigcTyT39Ef9yXh/sIaqb0d/t70fFCWcDKt9DfVHO5PhWNT+UjwcTbZjGWes4/vBzmR9TXUoFreHhQHsd18AAPIce1esphpR7MNKiLo9GAn2BlG9q6vDIXsy3Rd0DtT/0O8guQ7AoEuX2BGLRYKBaHEy7wtNH/ihPxoGRHuCUQBaDQh3Bp2OVx0NDeGGBsd37XAzUE+7weDBQzCSCGrt+3VNlYPjHCAtOpBWDjsg7QgFAJCjnsEnSAj2WDSStoe7EmbtMDx5K4xJg0k/tIQJSMq08LpGygFGRegRlIIPdCMNHRIc2Gh1MNpVo89zfNdh1XvIZ/3kBDTroEbccpTQiiFI0gn4qq6u4aW3lFxQEsvVbKn4ov4gEgknUPA6I4GE6hV4KgpyjSqbanLbc8Hk9q7uYMI5KKSFlNADvaQ1U/4UMg6dwhY3T+zx95QmDvoHNztJUqr+aQ9PTfvTLLWHpNYQDQ4mkVr23kAf8h2Zh49B7EE1r5mM9e0KhpL+XijtHHwaYQhp8lOvK7In3N3DyjgHN0PLZuU6YslkrLcEmjO9uaferKQ5UEPxmup4MNkfj/JuCrwvgtaYoINGeWlC+W09EA7sjUXCXc5wtGuwXgWMT34/8b8N1BMAzVGuq1HI7KX5HsgvzdI7SNMCmh8zr0+comkWelLTDO5Xy2Wa95b4TPN+6P1MOUwxOCCUsixBg4xqKFNaxBCHlGdaeyDaHYyX4Rr1eKZ9pf7POsu7ElbpIi3TfGM4sBLrgg4zkCy2LiqBtkK2M9EXiAqhOMSoCSESi/WpukXCyGrM9uMXWpBmjD6qSWE/ucUKfvJFnBTxY+A8sCxxHYId3UZPOAGGritoT/R3vp7YBPWS4c7XKQSCsAY24ac/COEHBwVqfINdfgKtpvogarLa/0TDy31dgWTQibFFfTXzuXD/rD/RgE2QDv3bRAOF+axLtflQLtGA/VZTqhMNpCtO+rvZXf8nakWWT/Hmia/ygt9l2YaOUs+jB0x/nlGBkr5xGIhuRc3Rxkj3qaho8BATO+8G4QJznuyHksSP9NmcaECWUuraa2gJA2H3QO9ivTuhCSd6QNYaCFNPQ5xkOdWG603rBxNgjetrNPxdNaVUYvWYLiZWLuIQVKLOWIs5ho3OzmAk8h0Bv18RsF6RqJNsP/lGfhChJIVJ2itqGlb141epPLaHE32RQJoKZA1jFCmvBnF2hi3lCs01yDGk9iLxEg20v/T3FYEVJUSvfyC0w+DZnGT7IMdArnDX3kAoCD/Uiq6QcogfwvG7feozBeh3e6g5IO34WXMkgRXgN5jYRe5i/QmDRHrqt7j9OluCJBdUY1PeeFjYjkSD2pRqKTTNpL2kaVqXVAtgVDiOuy4oLW4tGksu2SIlQnGbZHRj2qRangexS0isheg9QKmjYzRzufsmySNR7cCgMJAukrNkoBuGMqSMAzkLMawqWxC5qvcDg/4BLWcg7R9IG7QXB4gCRra9sQHwUSQIB7OEuZG+noDfR4QszA0VPsWRjv7Gp0hoCc99sRRKLbkF+sE9k7bBvclAPKnvGE3QetDZH0eTxCuEIuE+rR3eFy1lAGIYGFQxHsN4QM++FwABJ3F9ZGibhGGpHQFy2zMw+EO/i7sG0hKmPeMi8kbcjotZIgoiGhxM2vtiiTAbP1HqR9F9DW7GqlpaGtLSmJZWa3dinEXGBtq4JqYbLKiVkxEhGRc6IkJH3G8yqokOCtG0QIYhXvZTTxsBpFBLTOPxZKSeqxHxkhal4pWU6qgIVgfA0pR00B8dpHdpfzTNwgyq05yrnBNcBKhNTzSgHDI+BFXrsY1WcqpD0Bo7XHSg3x/tSnAeIzsZXHCzDAzNeZbMH25BEmpFdGm6smkNStoIJU2g7DBASft1aTg0NrMtegTMSUERLaaGTh+1XGNIoaoJs3wW1q3IxGs6At1JBe2BeJAPZjvBvsUDGmVBrpneIRn9kN0wyFzC4DP0cTOZvKUkoDlpWjDNH2nBNClIaVXDehGzJ2I4+xWOdtsDdHSNoVgsRG7VuJ3NZ4CaYjKznL3BQBSdA9QLwz8yHlepmkgCwpxzjHQ/VINzjZokDtPxgFg7zY1w5Lkz09uIDtBhquUotjjdZU+Fkz2YkkDNj3YR66HKJ4JGS1OsBoZAiJCcWjO1IcYr1ZYk1Hbs1Oaq9oTE1zStYXALsEjLSWs5achJazmJJA0fEvvjSWfX4F94Nnel/8LDhBVyn/GrEl+qkNUq1PZAb6A72AVOk/gErq0UhTBlKPEeyKrgYGcwCBQQEG3i4e2RcCjIGU85bESL4EN8iBEpgg1Ph3bMcHk20UCbZmqrYmBn01lLBwR6QbKOYrlYlSpcIE56QMQkGQNmxuPA1Eja3kUbIjIc5fNLKopkJDa4hSha/Z8QTVPz0piXJnlpmrdD9XdUbjWm9cWdWu9IFCNgdAGmBj294BaoWyQshd5i3zpI/EEcPflyNzKe6gj2uwRAvbEO8+jnhRhtmgqWWewDVcsGPrrwxRDnhLtw4jYViLwugLlJBjrhF9QSvqjwQvmeYCCS7PF7i4KbUGzA36xFPfHYYLg3nEwT1djiEYiqGiMlPp4HIXWVxjf6aMYkGKKd0wGj/dMStJkDFnbRH61sQIVOpC8UAo6CxelI07UCJJUWYYci/XQiuzcc3Uqabg8CPD9ZZqnuDQzqE90ukpoAEWbTH4k+UGa/q8G7WT8OqX/K1eAuHW4Q49Y1KHSl6/V2dLk2lFKoVAkpzEQSOgeGM5IMJAQslAZg/RHAP4hrL6H+CFFX4FHXIL1L+7vSxRZXiyC7SuLHrpVGj10lsSM2/LkFjh72s74DRyb/VnEjajSPG9d4hGjma6h2GeNDnXyrM3VUx7WFMLul87Wrk13FpKJwy4SUzPSUDyh5e4FeIHDS0HHOKt1IPlw2zNVsr1WXuPXjcRlbBu1N+mn7qIFuWpSZb36zBQqp5KNJz2iK3B5mIUC5eYGiuH0pZMLBcojoo0sAWcJQxs6+WDiaTPgNTzhZiSa3fH/XXqSv2tRlxfrhaJL1MqFGhRgwgGHvw/gJ4vs0XT2NgyvsjwTiNORPLDvmR2/RoLlugxLoUgweWLUzbNk7OICeq5/QHimtjkcsu7e0I1NdUSjQH0m2kdilRBD102VlLSTWNsAlQ+3OSCwRjCM9tcEE6X+Uhuo1FoZHU0KzEUeZIcfSYw4+6AA3GxvQliVoKk4TqrGXlqmG/YGOBECrx2IkJuHUYDHHsy4mCTQTyL+F3Qsu1WQWQUtbQHNBAGMNT4NmXHxgApeMp5HoGuu1gZw66DLFlAUfTjoc4nSvtz9r1wcjnGJkZpVNrGrEMviboslSffyWaDBGgzBEMEaC9XoEcXyOm0wwaIMSyaK1H/MmXOYwdRbOEBghaVRnQdVIjXWL91qUD5Ao/SAKpePHrrTgEVTxM18wxeiIL09aFYkvWaRjaSj6oKhac7XFlHk0ZF3BkPUBjFgDiWQw3lZu8LqNFDEfwpaMbUE12Ij2NQragWlF47BWF0ksGof5SCqOTH1PUVersxlsjh7TtsWDwFm6puDnHdUtLnCJQAlBWgGmYOHi8XAXjIx7+0GnWYEAW5iw041fy49iUZMDEfSHScJokCRkG/X6nEZ8MKmL9KLdEJZQm5wMRD1Ehpyac9mMmD7tqRdQ7rT0QZ5er/M84XiJ9WRmfEsjGs9G3k9CND7XyBHmYDr8RrI6ycguHEd7ImwhKDxF+tsZSzhJ9+sNyYlwlCWTvpHtYg3hKDjjpJNt3hM6uGSzuKI4Snqwwf3vtJQVSyTaNOWwWNOCQpY6YaYyTDMQuJlONJrqhIekslGAmzzQiQp3U0213l/wQK6GrT3T2SUMk/xkP4inSfiB2+MT3J5Wwe11wcd9sB4nO3CsSYu4TYtUa9M3WimvB3K9UNJ3UCAN17OlNVpGLdICHwDoBYCNALDRbSjOQlDaPxfUafToQZbOtRhEVL+aqIqxWV4HUw01fKNpZDKMDTBJika2aowmNVTcgIIbUPC4KMm01TwdRRoBzSb4NGvdx/5zQexY4UC5WHUTTHcTmvJG+3v9zXwXZtjvFiCB774k+3SCRKLtNEgBf5foC6Si9mYVYige67Xjbh6I6UMhUs/EdpUaL3VizEOtQF9YV66cZcJ9VXYv76CVaarANm1hc0LLN1HlbJQWAq6KqXo0mfigJxPdECy7IVqGT9y9jAlFXt8D9T1QHz5xj2X9LWpgtrxZSXdl05LuyuYlKytWGTTAvLK+eSrrW2XFENrnMWv6aEShG1GYFN7ibsbyVIzNKj24tTHqAaxHGS+RfHTbpWMLLXSiUEjw9HownfCTcKgvRoygXx8oNbFQaofukc1BuqxDpGYMQZoFd4tpYAQxQKtFOASxC1SyCIQ8bsEDg3Gv4GkUPE1l4x9Psw4Oi35Ue41ClOjvg3CUvV7D6dTfh17DT53HUv4EakQoGLI5BeWb1tdKsc0JKzTvFov74Ig7w9Bb3Ys0dI4gFosntLZJ2rZYKBQsSX0eOK4mlZ8oZtsO2O5U4r9cK563NUzbsinFtTVrazFtG2WBwornbKsrmLRd7ixtIBqg2xYw0ojTdylVWxpLJeyvgi4JHsH73QZ68dCHFjpgf7WR55ReagwGJQftrzZZl0Q7AfynqHQko86mesYetqiiMx8sg9kZ3W5z3eqMWphtIWE2Sb3b4i5atbE/a9c3wehXCk/vz3hfG+t5eT5+sBvyXfVFM7tb3EUl3MUligt4jAW2uLUJZVbCayyBBR7NcJaf4TRQJhgN9oaJLtLXENE1qm/P4fuR/AU6w9tk1LrSxUX9tD5SBypBOPGMupqly0yTzDTLVLtKNzJRreFKrFu9ZNvcdbYBoVgtza5u4JVI9BOfyAw4X+pJ2AORVCCdsFwUNAmZgHZ/4tRWAnHWLU0TdqgJpbGROkNLd9B2DT7lZW/Yeeqf9gh0D21X2piKf2QOt5hCZr4Qpy37kCOxGFnE6gkMUMsJsQ/umFlSXzZTbdlMweH6ScTsJS1q3jCgMtg2EmHRH2q9yBZyBpe/i8fA0yfDq1sIul63KT7+oJreTN93XHYPOj4n5I39KduDz5cGlXTETDvNYy5mdjCWIwpG/ZiqV7T4CsSQGvu+eKwj0IHvaqf9LS510FwioPQFQJUsyxNBWrlebyvZjJXb5ap/RtcHdfdJsd/e7KY7KqvLSHKZPlYsq59PVztWTM4ysvTAulpGMZZL0tXqLvkGzYjgkhQdLrANOyGuIeoWAxYuNhWDbbJba6FhjFOsgmgKfle7r55yYW5pNi/H0JucmFFvoSnLbnZpxTFr3Uzyf0eMzSRriaYfMNbL6cEDWv/a8XJ78QQNC+Agx6kuaNFXGHpZCEaWpWq0XWBswuUZfyvbCoaHaTgdpFibo6HBUEqg8VejVx1nFMN5tpV4ymLYywHeWgb4MuA0NalwcGgcD6T0ISgOselLwMH9/eE+OnSlCzMuthbIh4A4EwHxKGUpOc5H0MLQp8J0yZ9VIQFovZ1ytwgc980GePRIICNAz1MmIM0gongawYHEGWF5rWAReTOXnheCiUQAjRTb3I2rUlSOVIZgCN8VDEBI1BNL2XtpBT3DDNvEEIBhByN22N3USLv6tId21kMed2iPPjpypIWbeOFypVpcFiCNpdzFsHg2k6tXdr9sb9+5vd2hQvOoRTe7fbqSL+3Zvnev/Tv2fbvtcLcPZEOrw/DDOp5mbTBByUhW+iyJaEEwz3II5q2EYM2+SgjW3FoBwb6980UdvVwPhl4rsIpk1RSD3iLh3ovp34zEOgxvVhftCugls9mkAFUcUkqvQ1C0l+0QAFgOfDJdx3cJP/B6BK9X8DYWz1P7IKtR8DYJ3mbB2yJ4fSbz1U1QplVodAmNbsHrsZq0bvQIYIsbG8tOVzc2GSEcxD6zKSwP3rOdCnhbulGBOaheU4NBaPpcrCMSjj4oqnYTaA6tXx4rEuM6QKNPaGw1WwdocglNVtsiQI+gkgVJQW9AEMHcNDWXpWpTixHIwUpI9e14IJzsWZJUbFtKZQRLEZjWggg4+VyCzy34QGtNN5MYs4sphsj6vILPZUWxVpfQ6hZaPUKrtyzFWhuF1iYdHKMkNmscb8Rbuu/DYy6UuoC893fdbdJbutukt4LdJr5GwQfYNFtuNfG1CD6f4Gu12GdSsmBXVsMiwd4Hp2AAzKGjfItG+eYiyuMmP76hz1oJmxuF5iYzwWpuFppbLJQQPA+4FXDYzY2mgoUSA466xSO0eIWW8haupckIpSJdfD6KJ009KKq+TqDpyYq7wDgx3RqJWzhdW8rStQkVplloNV3kbPUJrVaLnPiaXKvlKqfb5RbcLg98vPBphE/5pU63q1kHzYSyy/PN4Wg4yZjR5yZxpUDE0U1/PCWc2gkVnDT21F4oifdH1ZeyQ+FEPEl2nNfw5S5+6GDpXLV6HKFqRnDsHgkG4vRwPRi38yMPqw2nHVarBx1W6844ZPXptihuRPrcfrZKTnfHCvT1zfoafWHEHEDBt5/sT3R72NEW/LfPDUgbtj5hx1gkrofUiyeakim+0tJaxONuxpVtAFq/RLkWXP6uoByEf80VlANwTRUUg975aDHLcizIgICotTxAVtALgUFlIJtBE7wVwWxuEdyeSrBuFloqKQbuo5JirUuhTIqB+66oUcDBXQk4KLcUAXm7lYlChaLVrInWUvwAxwDyUAnnILxpXAooi80gMm90V9Y+xO5NTZXQyI3RZCVq5RaaK2EOcKbZ+yDLASItlZEH8GhZAiQrCaG5r0JCQiDQ2lwRI1vQZVXG8xbq5ZbqAEZWoLBul68STraCWrgqYpFL1/wSPW1FX6zSH0/8xF4l7J09gd4O9CnUR/p1PSb7nCl4M+i0Qj2r6Smt6Stb07MkGTDyrYAKGMG4lqAri8OQYM2tFZb1gqIsIQX6ok2VybbbA2aCG3jCiO/jWygYanT2x8O4FzatxoaBwb30JIKacjsD7PQcA1qU32zG9Xk2D8vnJ9nBtrwITmrye96ZznQn3Y1BToKlWwfUbTqlG7fIWb9+l0DeJiez0nSnAqYPsvQdPJ2/IWg4zy/BV2O66eCpvuSoTossj3WWV9vWoB2Z7lfPCMQhGgk+vRB86hsT9OD1D96DfKM4pNEz+opOTyzaQ64GdgSKfiO5GaqGw75N0TIc/b1kieXjb+iBYNKmSdrnTBR6oLoprvR4deusSvH3qPjTxgQ9eP3DA0SVncloKfZFJ/abIqk/VbYYU4DtJ0c7IpamIEtTGQJQS3eeoOG1DgiBfK6iYuQUR6tCemIQfAX8XlIRDKf6m8u5duBuBagbAZYkVoR4cyWIuz2/G+b6/wLAFG/jScGV4K4HKZgBeUDY4//U4GmsHH2yWyoRTJLNTJZ6oNutwvabJdjsWsm2GXXbmQpZ25JSDrZuZ4EFdLZhoAQ+W343BW6yHmvahFquFHxxaMZWht1AaLerSTCevk3/R4d6AwCy8NMdp8fEscowMPJ6jPshyAnkhsVi84ks4vW344biBJsnSSFC8Ey27ZLYwNhnevoC208NAhDtDJJ6/VHoAB7p3sMr4KkduAhF1/XceDyH2+1+ii5002VeNx7S4XbTFcvNamIaSroai0qmoaSriZdkWlKGeuTscm3dDPpAw1ptbZEGq4aFskq4oS3EpbTDT4A9gc4e7S08jUqMWRoNPI0mNPA0ldLA6yolgddtSgG9COgPoV/ZOhg5957s4w5HtRPZyf/6QfCO90cT9D+SoHNoeIACGhA0b8kYk1SCO/7fOtW6WThjFj9gT7cozHkD931QGP/DkcGaou3bfW6NZ8b/I0Rd99eVNi6GmpWnr18Ek/q9pFhTXfTvCHS+3h3H3aU11eR1Hj9ybQt+GfaU0tw05qYx17jBlE0XJpx4HGovHtGMoOiGD1KP3tL1TPV2B/9PEEg3dZf95Zfa8b8ZMM6SVpfodA09N6UjUX6kgYMKvgNX2/egTUtqmSSDzWOa/PcqLIdtbEZe0IRXw9/VsYF6k3gQF0XU9zLDfIONvk5Rp3Qjnj61eXIWttoDkkWQIq6tCEAxGdt37n1p19ZXiuloMpphbeFR5WpbajhI28MgUt0FXc9er6iY/saaxQzQcs04wN6rNWMDK2oGvnIqFlUmtXEHUbV+zxBOCpTsAnHr553D0c44fZNO9z8Lwcjan9zsRjP1lS//UdUfPb7yv5eq6N/3qvqqPnjm76s+YX9/X/XOHxxyHao6VPVO1Qfk752qQ88cglJ9UJbWeXQ9uh5dj65H16Pr0fXoenQ9uh5dj65H16NrNa8/qPry/wcXtGK4c2Z4LnRpYwB42oWRbUrDQBCGN7ZVs34lNxgiQkJTTGJaoVChSAQRqrQF7T/TNG0DaRKSjR9H8AbewRt4B2/gHbyBOhvNn/ZH59ndmXfmZVlY4Z6sDbkICTcvJYnXApFkQnheN5Pl2kwgjQawgIV+GyCbPlGUbs7mcdqGnp+N46Iz8TMP5zCPH4HFkITuMwwu7rC/iPk889IgYW0Ic5fLIEpyVDBzF37iTihlHYMGEzzoNI88FsQRDC/PVY1SMZjCmEWJamjA5n7E36AGE11xGraiUdEPM7+0mCuW1rLFWrGcLltOVizNwhLhO0UvzFSziTJLUtWsq+zIMrRj09BNw9ItWzd1G4dJGkRMVW76zmAA3d4Iuv3+9S1cOSNFb9l8GeiiIuuwuokFv1s8I6RGKshGQeWfKlJDNpEtsk1EhJIdZBfZI/vIAVKpUuPv038wyixZw4fX98/vr4+3l5lzKJS6zL/h/oFadGV0cmlzLnRpYwB42u08S28b17mRYzsdou1t/8EBgwKkNWI5lOQkvh6jfiiObmXL0OMmvoaRMtRQGpiaITgjS4LhoOjKixboohtviq6z6aqr7Lsy0C67MbruJt0XKNLvcZ7zoCjbQR33yh5y5vu+c873Ps/hXHj2rRn+fvCDH/4wqLqCxcXFr7/++ve//+KLRtXVgMJPnjxptZrNM1XXGcB/+eWX9+5tb5+rus4B/quvvvrtb58+9aouD/DPnj0bjYbD81XXecA/f/78V7968uQ7Vdd3AA/8//3vX331/arr+4z/61+fP/9e1fW9t96Iv5Ps+6c/PXv23arru1z+d7/74ot/VF3/gMKAF6LZ/EXV9QtwDsDfubO9/Yeq6w/gHID/9a+fPv1b1fU3cA7A/+xnw+Efq64/gnMA/uc/f/LkL1XXX8A5AP+Tn9y48Zuq6zdPnz4F/J///Pz5P6uuf7J8b/QfqGB19caNs1XX2bNH/6UJz8zpvzNvnZF/+ubV//27FePKW7ip/jvzMtjXV9633357Dnxh7ty5c3Pnz5+fe+edd+heSoToOUTNMQpJz3+b5Z0Dec7iN4iIQs29Q7daXvh3bk7KO8ekSl7SBamKCoOyZGuvvbzANLM8x/K69tXyFuz7Nsl/lvDnCPqayqvzVY196UHZl8UnFODOWvFbkPe1ta8Lte07V45fEt6EtmtfGfqvuX2roC+SnynVOfZ9PfPVq5L325Kfi9AisSvRdCz9oWmVc6PTv6HyagDGPclLKe0/SF6y79z/2/dNkxdTs+zXvgXy/qfl5zdR3sq56Tc3/z33y9tvLSyIPM5H0SUh8iifxFkDIP2DfC+dXBJXRz/tH4i9PB9f+vGP+6MH/YNOnA/2OnGKVDtRNoBiYjDqZ1k8EFtUXuz29yNEZ4NJPM4vidFBHx/jZHwAT4Qe93cajVE66I/E9ZW1tU8/Ct+3Hz+GR/kcZx/GkyzfigdhPjmINHRzeLSe2KAs7+dR2FXlbq3c3v508/pG2LwVJQdNCb159dYKQ28CFwp65+r2pgTf6R9kGr7+vysbhnr9YTRputV/+AlXD8yoMpsra58a5GY0igZ5nCYFKuKDq0cyVb1F8SHqgZAfRqORhVhbvb3CiLU4iQghMSu37mzd/ZQUuHlnIwwk+MbqSmBB3zPgngW+qGq5cXXjp9fWtlcMblExvbGyctuAlyT4LgDWPzbwZQnfWLlhgBcl0K1Z8XJtY/1jq+b3tag3P9pyS3yg2PwsyvLNQTpBkzNkPOofgwodGLhgFCW3kl35jL63STBFkB4kO4hXz/2HEbnW6s6RqQWBWC8CgwY680fRaBxNMrGw0BgeJGRicWcSJ/lWeh3s1cqjo9wfHPmDY3+QjtJJuyHGiGYEO/kFwLP3Xxgcz/cUYZRAbOhKb0z6h7LObDxZ3eFKoTp4kpCK2mQtGNvR/jid9CfHqJ9BtJeOdqKJqT4bHrUkMcuqMdvjHQioa0rNrQw/od14aHR/mYAi3wN9epZJCNzwsFox3o/2W7YGfU1X3fBa2t8xzUKLml6E5dqMpBhE4uYk3ilWiAiEtw7jnXzP34vi3b0c6pXGDR8B77uAD5N45Dc8j8hC+hTpRARdBHKpkL8IfBHB/STevxGB54VBt6sAW/E+uCA+xdlVeA6H/VEG+njc8BqeUX3n+iQCFYOIHjwQB4+ARAyhdqjPzzqytZ0UqpIk947vExWTHREZs0pUFtm9o/uhmxIQj9qSn/ThMITO1pIOVs2HqG3XdlSLBfDX+aOFAKqcP14I2ieycHVnp3XkH/vk2kYzUh6CVhVjb8WMSOpk006iDGK4VqGqK8FS4FrUl1TLB32coZM3/WRHJGkuHGlFGBbSMEnsQdAgrSyK8SI+A+M/EKwLqRKvwaQWGakW5YBrPpAGZq9SLGP9WUf7XQ4fLWq1ThLhcux2EFRdiSu+m0T5wSRBdrQJCqE2iSjLtCDLbFJuEkl0uKlMqa0CjcqQ8E7nZKCcorpVU1pdBZdRDBDK48a13hxB+XNGOffTh+xu2BTeoMrz/mejqMNI6Re+jedagCMEcBhXCypJKkOY2eSm4iSLJrlqKvBlufZ0vrV5IAlKivEkHURZxgMqIQ734lGkgDJcFAlZjly1Oq6KZgpqzOTZWjzmOPE8hxEGUaTwPUglLMPV5RCIhT7ec1agjCAjUAcPxaA0NFcmjZMeooOoIKJih+KKMBEm5uUD5X0lj0UQQomGFq/lDLRITCuCVcA4MeiLUhlg0dOiSrYz3fXRwHs/TlIeihc7QI1uyazqdH0E48xqej+7z6P7cQrUMCTyj8PuYwRke/0x93KCbgFN8MP+aPQgHjy42R+rPhBHsHV94C1UESR8TvXQSucoPMLq6f44PK5z5Ti7no5GcQb3FIM+ceFDKZNqsr0w69yM8k1EtYigXZNzPDEt5+x9joMDyvnZHieWK10r48ggSrNPwqN5EoL9VcPvhscEP2b39fgTqsYyl8Mujijw9gqKItt3IoUsjkEhK4hAm1z8LpeRosxSiLotKkQxinXcx89P7oeFdNM+oT5On9PTqDR8OUzV8OekcYiyJfqbbc7OyxgUSto2hcfpZuVhzLx00ZJ1eXgj0dLI7pCIAwzrwo+77RrFlZVR8l8tgOFV2UbqJLtHX/eLPTfIW9lCeiM95CiC3KCkxnCX4kLQS8mwyxpDWMI1H0AtomENbooB2ZEh2baSJOaRcYNdsSFHM5QfZMKvU0K6Fg3zU7B4BCyCwV6KxTpWNtDHTssLjt5eCSuFPLiTfiwzrpUGbS8Jwx5mF3m/VO75Ghwpu5CwKVZMApcRg9NImEBOUGyMKykxqcESex5qcEQXolZYFpVqMPKywDjL2+CmSAdEC0D6bphEhCX0CFUoJkfgJjjKlTyi11gsLpyaRazAZEHDIcJnY1CPoL1G5Zwr3UhzGq20BsD0g8M4i3zpW56b+uj7v9m0mtZ4C1PhJ80UdIQZ+EJg52edRpYKdajSiuByUCBYktVMc2dSH6nLdmiLGYvFOh+uC8Hr6fh4K6U5PWuqpsM3PUTtWLWmj/Bm6PWtDgC7fadrcHt+6W/kqjQD86p7X9lLzNw1rGZq5VDrQQZ2bXphi9QMJQup5f/qB44lTN3KhicVGy7SAE8OKfnBeJuTdRBierLgPo5SPe9RAPMbHnp6j7pwH+h7+IeJ9jG5tSnZ45KCKILKkoEqaZdbtMupFsutV7S4ZEoGlSUDzSsPAmexwua/ywqubNoOtgZdrZxsh3oLBjPaodz6NDsEUyx4WjusvXZ26DqaCF7YDhV+PVM8BCWvrrdDfYuntcP/vGZ2CGq0MpsdgqlaOZ0drDiaIS+Vc9Tp7LD1Gual7iuJh+Cl7XBSXqrrH14kHlZfpR2WbDssTbVDb0peKujFtYXbY0y1jfRpp8RJT3X2qmt9Gp/1NpS2ci13wtPp7Lr+jdl1enx1p/X7bpyc0pIzlq+x3Qu1vnTa8qcYl437hwmMvJ3lVJg45NF+Rmv7j8tbW8ZwubozO12FJX2qyH+kCcNCEV6yfdyumhgQb9ZOGNaFM1Su9N5+P9/rTGBek+633pXA9n2zToSAjm6uRY+KzSrVwNx7exX3wvEOjzrwOjRCCkpDZAsn4WpX3F6JVqpDqwANMIyfuNeKECoBMP5G6DItL9OePCu70Nhgr5/sRi1chbdUsYOrAfDZYEeBO9YMfM8LpJVTY4JcEUo/vG6i6DWU52ea/rIIXMJA2PNtgH3OrZs5sTyB0Lkz6h9vDo9a6vRIu2rdxxi5T1+8eVyswj6EwgvrbHdq+X7nqi5avf+KxLUOKZE1i7ZyJR9n1TGRijgR4348yVQFbWf3NR0OsygHPbXihaB9IeuAxRFLLhdnm9EId1xxA0naTKJUY/NcAUxrpUPVzpXNXhAa4rM8Gbe6ZmVCugrvUMu1D6IJSjQlkqU2eiPdLhtqY586jjYi4Fzu/ksv5kWV0v4ORs0qKrNye0dhW0l/P/K5XT+LRtdHE/xqq7igIPMAEsKFLDevNH2GACkGAd/o0ML6QvwgYtR7kzd0wCy8n0MnHqjBkL/KWQ8tJWhLX1lImn4w0tEsVyulwbW+makOs4UQ+4QNwX2qdzRpm8Ukpe8CMenmaL6n6Dkshev7JqSIHRaJF4FkUEurghfbRi1vyKW7u6PINZu4pC1VGko75GzHOFtPLGP68AW+bjImqKbO8CBABun98DaaLhSIbdCm43pC5xfgCwwq92WyDkFTgjXXkyaBhkOEwScBh0OCoimv9TNa66QHBLLSNPiqdIM6xWo21G7sekIjEFNNa2p20V4knTon1VHTwKZOxdgGmczGJ9Iz2BsIJrXU6TRFs9NhYuJHyWq3KerMzUfKKro7RtzqJ/3d4kjB7e4GB5NJlOQh7dBU9WWjqP8wMq4p6R3flDCQc42JxZRtAyAkjmaqb4WJxZQzO7Jb8E7XZ9xMt1LyXtNp8JG92m4DuSUKaUN2b7NAL/Uk5Nq8lAFtzcf+eGmVxTlxfdU6P2DUYYA1XuqSK9BMQ0riUSrE8ZXEhDKFJEjzbtAsZ1vFHDdX4qwELtjWwTheVNMrCec0pdMlSWGcjCVh6nAuJap9rIaTWavXrnDVNLkdHeJCN9blmSOcdgeqznmyR6ljvmjiavdPk00cNF2nLp29FxlwRlOYREKF0ZlKYTfxEGKU53Gym1n2ZXkoJHR6bgL/dAqx6WtZ/GCp3XbIC51Akxhs+g47vsu3rMSrNinlMapeK+oEFyfiWfzb2++PW4s4a4KP4D2rNFEEAIT/y+36HpIOWtd4D+FK7hNKiD6t3Tb6PsF/rqcJ2OkgelFfoborylp+PM38qnk0v7ov29/Q3+rHHEJYAL+ZWNSZWVSaWbwqO1+c2c5VhqZjudV2vqlDucLM2i6oJDocq8/xEijj6XdopuGeTrrcjUI3Hx3p+1H0EEatAd7CyGe0OY6inXB5uatxDFlavhB0u11Fxkd5NY15HKOPmsdY78Spg04VbkR+XeVHxqUFH33SlauDaHWeqff/0FjFI9vWifiKRtXbDbW1Z3oRwR4ihHpPlEdwtJNpHapr0D6+7nelFRp2b8yHvhb9rjwNpxVtzq7ijj6XpCqksdW6hgf9gETbi11Thjtkve2xkYYAOF3vWrvTDAz13bwIDIfkH4TUTwvoPtOaRcqW2chP0kMtY8W4izaatTbm7WYv0zFEw6kiooH0ITOptCuP87Bp2sUdf+PI87bjl1rQZKYJS4nThB6k++NR5E6lHOcpnkBpCIfI3taWQlh8WZEmjwyZ4xZKULc6PmBkVaEQ1jECrSzHefnAlJpq8Nlh6fHugXM+0KfeOeE3UMx5bvzDM9yhWhsiiqBLNHIlgfA9G79Yxi/a+OUyfsnGvy/xztFyRoXS6YVnDWjU4pF686itaq8mU+8htXGgrRsiBZp3QOaXLkhPahAHVkbCQzTW07xyuQvy5ZHasx8q3oWVF5ylVXNswbffQZpSwmyx++5LTlPKmO1gv/AG1JRCZu/SL71nNaWY2WrzZy2ybhVx3q6aUsbsJPnlV6/aJy1hUVho6zS8Kfm7UZW9C723RyDT6+q+oaq/cN/98uzuvtzfV3bXZdmcAZbFd7l1lVl1t20dzJTngPpZRmUsiRasApzAi8LOq2J2Di8MPaYudLqZ2DNSmHUSpQfNcGFMUUiu1uqpXOs04xrK5UKoulUW/ZzSqE44etWUho5ds3baVYDC8oN1QA4Tvq+6BGrN1Bf4y/5yqbDbFxbL9GrK0FnTmjKLNWX4UKhdyDEaRUfFiwmeHCJMGYQ3vIWFa/3Bg90J5mDgBQfl9pgcCcj39WnUTGbYDOIZcvYwnUC7reaPuu/BjFI440Lh2QulTYJeEk3aILtYRFO9gOjRoJ8YU6NNva6Lr+vVNm29+1doGCvidpfK7WIxHy1Mcw0SeA2DxdOt6qFbsdkeNitjq9QoVSKlXSw3S4VQ2CVs2JM7RmRKMs4HPISVuYxAvUW/1zYBVlpXc0cgdi2mv6udRlGg1s+l6BXiuvmUNdzXL0xPcvWwQ+8wLtPM56UmwHULEdiYlcOLownnheia2tbUEqgpfg1fDaop79VPgSuG4556G5ASawtQV4jnedKMTXAtT8Lyvo/c36PiCCY6wWkCs7vR4dSXL9Wc+wM7vj0+hP3KQxy8ujbGAfcNBnmvVxvlvZ4K89pYoCUwuaheWkK1cIUFd3YbteJOq3vUocDDw3R0AGYPlssrqvg6sr3Op/0Aipu3keUr4209/UD85Z41I9btwSNvVWmoHILULa8XVxqFxQGFq3D3POhUOyIDsbCAi5a6PYL2EIpbJfr0f0kM2nyqXRcYxsnOtWPcNiku3aN+7ZV7Vri9dI+AmpV7ZWbq5GrfJrJfYSnyBR7XH+y1BmmyE9NeGG+JnYZBXbZFKOvkv9r5I/BMrzEr0uI+OjfqS7QoF1ZJUe4DCOunCvDN2ZL6PaXZ6uk1qU8pRzUjN2yE+bPPfuBWdwLj55ANJh9JD/wH9frypDudondrNQiujtJ0y4ZHUonyTwVnZxNzLspfPSTS+f5VqoZb1jxW2+MOv5dqxR/kDGiy64ymdQR6Ep11OLXYixMlUyhPKNmCOcOfQEnibA/mLzpViBPsYNxU/XFdtijAWdkktVucWHxlOIwGeWXKZVTd1pU5RUBsvBvgQQIhR0H42y7qTVElqErMyhG75cS8Bb2F2Z0qmOt2Cj09q76KxHEzMx4jTuQEUbOi3lTHn8pYwIN8mYqHE51FMmAytKq00hGdVStg5Yq9NFkUyryB43BvP8wHtSE0g9hycW2a1CUnoXU2TuC6RfnzNc6I1HIYa7VJtxD2TrBoWVdqbQ1/OwBZ7uLwRVfoczl/sTj8ciUwR/35l3XqeNZLX6+W554Pk4cSz70ZebZ+Q6iO7+Ig2TC/+NLMw7R4ucz8wqzcy99HquPcOsxmmO6+NNM413xhJ9mMRidwXTiG9yrV/SKcF8+NJzEu3ZkXINUPbZWTk/UjXHp3q/gzPbj5KadluNHvDsPNjK04nNYIHDHpXFFE6IAsIhyvb3sFrLZPsZhtO2ZdzWv1IQWbeT3p1ZXKWXYJ6WxdA9acVoCKnf1O+yCDWQV1azMkJVRxvu8QFOfmU37gCT3AFDRTZGeGbgY/VRXJiatVjYS48bK1eh0rlm7nmaYM9b8ARzWE5mJlbmNobWFyay50aWMAeNrtegdUU+nWaCgKBFRQsWCLCJJA6AEiCIZeFESKdDEJIQmGJCYnCaGM1FAEpIg0CyrS7KIijjqoiICIKCoi2JWijjJKsYzmnZMQDI5z577/X2+t++bOcZ2cc3bf+9t7f0VkEPKwmr+4jExN5Ux5PFN2ZbQF+9NR8Q2+QzAIJxS+faOpKXyTljb0RjNx6I1w25BwaNvQkOT+KgQvTU3NbWlpadugJ/gpvodE94/4hX/JP/Qv+Yf+g/hh/+GX5l9cIn8h30X/PojeDUG4EDYkBGPzVbgNJgR9f7sN9D9t/IbiARt6+0YofPPmv53/P338wSwdmgFef/aUXzwDpvovL9jf7vrH37+7v/8z3D/+/uPvf6i/UnU6uWT/8feffP7H3/9v/f17rzd+uPr4G/r7LyPx3+QvTPWf+v27+Ptdsf7X7o+maM2D6esjACpAI1kiEHYkOpESiWdtgoNAPAegMFiWCHcGnQ2QWGxnhh2DEQlhwkhsIkiNYJO4JBaehmCSWOEMViSeTiQhABIbYENEbCKLygQsETQOHg6nMYggHYtDp1PpZB9qJAlhjTAahwJS716+Hh6OXiAgJg6SwWSRwqhEAE+gkRAsPD2MEYmAwGQqF1REISHYeFASm7SZQ4JUQ9bwQV8iSRJ9YhaRNPG7QSQ+CvzGGhkZSSBEBocuNgH0ARFlbYSWIg1jIOCIcTlBUXrGISBhJB6gGIhBSGMjI5Qh+AMn0cPg4Rw6EaAy6AgvMZKLmuCd0CL9qWcM4UkAh0WXqEBK47W/GYKCVOsiuAiRIigGJCaVRmKy+QgengUFddxlP/EXqCkoCG6LEEWEHYmniQaJSKIDeDIJwQhHUOlhVC41jIOnseGReD6CFAXiqeIwiiQDVCIYWWo0h0Viw8HAEGh44iYGB2AjeBQSHaJnsElhCIABJ5JYAJ5KR9CoZAqAYOIBMFnobATIE07DsymQNSIU2wAOd4TYQJEgH0LCJ81BAJWQWaDzYaBSOgIPphONxKWyoaiCCUUCNYNUIguYNDwf8hv0gsRAkMFMYCMgTwAWlUwmsf7SDVAzmEJsknQoQAt9RDAiAwRCYzlZJpiPXCqDw6bx4aCJJIBEBMAYSGniRzIBRqTIlQmtkItg+UCyeBQGgoIHk5cOPqlsgAGODjgYTBZVmoHBmhhd0CDXcASfwUFDIvF0PoMOGQxBwPDiI6k0PiiQDWLg36yYMB7igbAUfBhcIh3SB8pBbALdRsNBUjaHBojlMSl8NpVIxdMRBBJYCyRJiA3gISGinPN1RbABTnj4eK6Bn2BpETksFphXa5mQRmvjOHGDCMdDYkEKqKhIeCJF1Bi+lYivqyUBajZIqEZA/+kAUtMTNI+NCNREG1sYoY1NwdsMwoLyoLSAUiaSROeAEGo4ggDQmUgMChpCOghBfOscdCoNBEBlAt0gcySUZL6uk3RDMEgYqF6JSGMjjcGn0rgZa0iAqLlABkMtCwGWIpUmAhHwLASVjQjn0GiaaCO02EIluJK+vpgZAWa3OPJwJXGM+EzQJHOsPhK5zNfVgCEKElsXizI0QYnYeBQ8AIlkg3kOJZOEb1JUQRHGekiQfzJUGyEtFCUWGEZlQ8OGGIfClaABYFgbo6VIxW1NiciggTjQPDBeIAZ8+0YSxAgRB5phbT1ZKxRx0D3wkvAbm4k+wVCD9BSw1EXlDhYG2L6gkoEGdZxCScTNBvAs0GtAwgbRsaGoM8AKoQIkEfz7QVZSQiCUJkYZNDPIJEQMFCvmkcSlBaavq4erj9hOaPhEekCyP/R7ERTkFAs1oNKpAOInUQJNOImY0GkJoaF0gZigzJKyR0omlIoQVvwr8g4hGRKAFAWIfAVDAlYHODaQdrEnP1lL1MKVpMBiydYTyMlgo3ElSuzxiICThIEBQtNSE3ogpWnByUPyCU4GkaB6yBUSjU2azA8BRTLFxcBGRzHRfCZaNNQQB59pzWfqgRkjopKMkZF4jBDfp6j19wB948mMxv8uo57xRElDNe29zstH3FHGe5EIAHYjBD4sDEpJBBohcRT8NIn7Vv0QpWQwJ83aIgSYMKKWBDUFI5SkGnlg+6eRrBGAoYkRWHYm0DhDdcW3hhqV+fgyQQyDVhCT0kKCBPscNQoZpW2CMULz0cbm+kjRSoK9mQUgxQr0kFG6UQg9BF+XD64qTM1R2sbmKNR3OTURAlcP+7Xe4iCMx0AM+dMomElHQUT74ziIUf9PIyEWxp0oGYTonQv6Lo4JlS4JSRRKAiQy2BIgH/Ujrm8E+nzUH0XpR6F+MA5cKMZ/EmIvR1sHhJ+Xq48jwsfR20eSa56u/o5rvPz+PNDGUoEeJ5ZEWjLZja/TJiaRSSMg4REPwY8jb/y/Cz0eNFMUBj2xXPRESMV4Aoj3+rbGHcdBZbvSxOzbrDsRTTCSeAmVqKtIsEQqi0gQ4TFovJ7xBI0o2ONdUjrmUuGWirZ0sM3+Ith+P8zqcZQkq/+n1bvcKCo8HHTG1AQsVj0kH5zKpSp0kidS+4RxV9xtfVy8bD0c1rpL5w64F/nzbvWN5fuCFNvLIv6ZwZC50lsVMN1R6El7F7DBTAaYQWsIaRegwaOBK9Lx/uJi6+ko3V9MzP50JMS0k2w2kdj8pzGG1CG9pMz1krJU8g6+Ri0X5dHkYDMR8Ikwe/57tQkSTrLQ2OgvTQT1IKGahVanWLR+FFS+Rt8bwwZrHOzLE3OT+HPymP+5VePkE5Z9K1gAbGrGhtJ2fZ8Of2o3aBLSGA02Db2Jrhilh0fpghC0OVZvon9G6YNAc+z3HoWDpkIbuTAGIMkGT3ANR4WyQ8qvf+HVBPm3TjgBMqCBeyHxNl2k8AdMf0h+0aGAAZsBTp4TVGiEhBOJRxNQkr013oBvQzDgQw6h4OJVLRIwNAQTbLmxNbiImuhmIELqiGKlsbmByfhKUNwBxBEGwwgOXxhjosWJTaHS2SRpY0ROoWOirKUTmm+tP/5paoJCE63BZT0yytAQTCFtYwwKHc62NjIw0xsnMYOOFgyM4n7UM8W/4ILsmz7JInTZZBPgCPg3y7/DfWsWIN9kVFBUiCQmTAP+Sshlqa4PhRBqMEyDKDT4w9djGoSzUaAjKDCgqElBQ0D81hKaH00R0BL821RjgzWaPL9M0qZvjIZE/VCPWBd0viMilIJD6qSE6P27QvQmCRkP/+T3yYMiiQkoHryJ35eRZFMGl9qLgWkPUsVoelPwTBJbEy3unHFoERDsUJpo8Gf8c7w1gETil3HwxMhpoidex1F+EB3CW3R0AmJFk+A4youEF2/RfkDjJSFyhxqDeHQgQySTkTTWezMHzyJ5MRgAaBe4hp6Eo9LtGZC9ojUliIH2Q5DBxE0kliYaWryGskWOg7g4OHzSLl66Ubt6+LjaS7VDNiA+RIQeIvDEPu7bTgohSWDpjii10ZpIru+K3vy7lJBmt57UXfUkOLD9wb/PjMmCbYyxBkb/tmD9fyVYvIKUpodmIWPJeck30m+ug4b8wfFvKKSkw0w+oBXHFrRFFGzRplxJiUUiAkhI3Qo0tIA2R08sDiUYcEaRkqNrjDEAIRjxUYnomuQGG2BBR0yi82MAqQlyirRrG5iEa0rLQaGh6cvim7r/W3bIMvOJEP1xeL4f9UknVD9ov5IONvk0abwvg5OCNXS+K/oAN+rfUlmSxhMT2fg5ETRdmoJ7QsDQdDyd+SvH84U/vtH/496BP+6PWNn4zGZjbqRrInUy9p0j352rSBwG7bIeL7MfLGeVbP53/wshJw83Er9Bf5Iqeaqa+HCLzvZ+fXv9YDrZcZmM5FvyVAF5ZqssdNDCGGEiPdw8UtYYYUhaHU4unM34gLj2W3HolIK9kTXoWzXFkZda79/e8PDNXbm7C2DOrk7YFfghWBqMB4MtFSp7OPp424Nd1cTASE4G1L30o7y8LEwIQ4v+iBAkSwW1gKLE8kHhoEZQHagU1AKqg1TEoUHhsH+uf66/46UohMkoLnQ5VnYxSXGWbnDzsb2XU1WXue10Ob7vytZ5phG9zcf3X92GsM9Y6HqivCUf6V0T3HLiwLVCI2LrTtfaiuulWPbL3pbayht7cEnwRW4nq27ud8nXDWk9Wd1Z6bnfbZrGxpo7B/1rI0iBZvtgFXKnM+64bHx9VTa8syYujXu4p27DrNOHKbjXMmei3r9zKJsbJlsG/6SL/rw5wf0CTFY5fD739YMraq/gTjtzjq1pWaZv/3BNh1H/DVVU0sPBepJf1pYD5ouvW+IHE0oc8zG/Y4cv1scEbQ3epWZ65ehZ9tPwD5ZYl4dTEhaEtq9k/No329tqp96i50O5V1aHH63u1U7s9Lq4RHi7LWelc7fuHvvXGwKOOAzD315SyGmo8/hNu79nRoD1+4tfWvTDNji/V8M8xjXnJi9xh7k1LnbsUfNZxFDyADY6N5hhNziozbm9FIDFnrmZaJOL7eDUbfZZz1O3PBmyFWdGIdgaeeh0Zs63RnpGaCz3mRv6ZfBefthLx6ueMtiMZs8EtTuKuNw5tq6eQV+UwuK3z/JVgmXAylKX2crcPvAiWzlOqcI2ODqsAuc/U6fM0c3SJwjmNUrx3DlVKaCjZOliTAXu9ZfBjhRValV5mcb8vud2CoDvc/aaT+mqeyKfDD4sVVTvQGyPNNd66kc9kkwp35IS0W+L31HvSVROPqtjd+GmMN2zXO6joHj7rjk+G6mxBihqxUwNhyr72MDoHJjZPu0FO/Q1z94MUeJWkvdo1t/35Ag4/T1F5zNu76892nRqJkF5OlKLNWWfb4/MDbWmF4lbZwZ0hBbdhDccU1QsC+AErp8Hi6oetMptkHtA+rV2xm+KuJCDnLkw5hJZBaJ/xoPuqtRjto2lOY7rnRsysV5O/lu6H6Z37PsF/jwCdpIQEHgBlpYKk9n+G6dMptwyoPT8CjetXbAT0xAhpSF7sWh7pFX5AVqee9CmNpt3mTkwO9kx9fAp2EW5BwMfxWje6goMOGaroFIa0jUlPV3tvmddVhkgWPy8nLTlItqTWMKJfnxTtkAYjuPiQw69uuRtfnLJT3ZXD3vKvq54MCfQdcmwxp6Diz7gk2/udlsSWdjXclNm536HeJjgi6+vzAHUaBfx8otpDRGcbp2AwQ359Wds8frMwMRIg45FdN/pXZEwTCENYSegVn3EteoLy18qPEiJenSUfO7TpXc27nGF95W1gjZnfp4ez4p9n/JItolbACO8V/LcdVv+uMKqnl7lxjr8Cc0iz+cCC2us7bvuPDsV07P35jeYyCMbYIpMmEF9O+LBu4fPy9kai24e3bjGTvkMxUf10nYBRdGks7DtGSaak046JltWqzUr/uXvze63I9aS5XMOJrjo8MN61m2tMYm/g0agh5QaYEK4p32djC5xYePNy01zD7Wf6zNYcKg1yWEZTMB/a7n63NxQTH9x8EVnVx5VPU7La+9RxTK9GZ27bB+Hwz6XpW32ldkWfdau+Jj8RoNK2faOcxaG078ObkSfXGSr0lFwtkhn8yM1xCz1QaMFc8KwocU5dtNP53xt0N8UGhTmlBN2SOdmJiOZlhZdNOpirnaEqf46KPVev/kFn8z01yjl67NXqE4ZekG68HJ6KPKj1ufZLTYVPTNnqyfOmzEHxlJGNKTsfoYh7XrHebxi2m/MSutr8sdMk+sRY4obYV8XGa7dPehGpJghitXkZRSxDXrzFXDPXRVX2uW5Wyosa9bXd4tLSsx68ZUr9Oi7/nL7Fv71mw7v58mXbcosulXZGtG1v6utPVdo/CL9nr0rXEZ5o0KymmxsLW7oXF+RxqHs7DxqvJu6vJvZ6vh501gHstbfSDumdjP4wrMLcpgK3ciVsNBLmj+n3X1pSyre+vkDUtvIrsV07ev+kGxz2A3EaubRamL8htbljbg1VCXHgRVzN3YmjVY71raF2XmwYXYz+9wCf50ZON8xp7ebjTj89JZbinb1VK53EGGa2s+L2WZKX1oy9U7MkZ09UK/6phqrErvXiuwCW2Jy9Dj289JEDb+S2oeRW+XU9t3D8FfKebqbUKrdIqZ37FEumO6SPKsheGrYvN5zXpn7Ivvzh7vNhoRXVLeoOk4vN1p/L+X8Ztichap8jdVnf2qiJSi64J5+QN58tlRwLHK+bjBxfUHwb4dN+4MfvdvuW7PcUh77VAvHbZ0Z9Jl/GGaaT/vSVKhx6dY7OtbqpmrP3XvPN5sF+54Iz7J00nm83b0Su/rOK3OsYSn8eWjuYF6hD9fy91jaeWJIATkae6Ds4XHY/leF/KtpC8Y+dkSphq1jPYHvkSnLBxSqNKfx0h92y26tiVvYQwxT8rOLaI1LujMIc/n5gvEcv5BzfBVVtbKmN/pA7B13RcviMYuaO0fQzTf3ryL630gomoE1fbEz7sPzbr42olT++AuBh8/dRb/e5k07xAgYOfXUZhpZ2HJqWV9udaZN0hv/+nJtnGx8X1vL10wPGU8f2WuZDi+frJGRn5UmG2HaKN9xrcFIvYw1QwX5ApPtoeyCK1KhBmeZR8hs2sUOXxHT2oRI7wiyi/zVzbQ9bM57TmT5Ujlb57BdNT68mCNu3Hsptb9QnCIV1LIqXj2jvGj6lB1asfamAFkit2NaAGevRuhN5yV7fX29q07td1+gGMHpWxHe+3pjEE7nyn1f44SakLILmDuB8nEvMC2nnzw6u6j75/kD+EziYz/zDFO5WP7+52/CA95df1hwel3CmQNrM4RTLB+o4zqbvSo6NPQemo4yb5RHIk502NksXi6fUcvFtKvcvzRbLrViifCyUd7XkQDgUzsMPm9fVJ312cUsDmyG9/LB7Or7J75skhlciIuddt9/bhBqV2j2qY7L2486JUwnOwzzZNOazyzMN69X8skkU7nOt2QKo6725qqm9zqVmNXYDIZ1Fdbzmw4NAsDgl/bChINed47MAAJMj1ekFbZvCan+ReF3/C3bsYDbeztrTZwNO37e3f318e/Z80dftyVTnpqeht+3byt5w/xat6Xa59yZ3cXdnE+XT4SXlD59MPBia+r7CvrwtcbOk8+Sd2x2Zo/0KrWZtXcWBx9iDBdpc/b8GrPl6uytY09b7mLad2edxZmqDrxZ9nzGg6u4pawgGZWjBOUR39OZi41CrfpeCgfaLzSEvaxfF3AtpueOcARoP+fLkzfL92+686jTs3Mgi69+8/VbS8bwK4wWDL6R+8hWJ3l2QMxywNsZBo+36au0Kp27HH/J/SzbGc9yetYZ6EIgtDttOZIaZ12OizyJu3KapxzGxqX+pHzb31yBX/6MoXcmZt5d3SWd/mXPKC0plq2N7gl3cQ1zE/UxHAXAz14+YkuhoXZBIjqJjXm/yP2At18q3e5ygsJArHcX7kbBPD7Bc6gLqVgGu1bJjj6dFCPYcLUxcctld9RUS/VCqk+nz2qdDSXcRNQOj6B+Kwdns4FOHxzRO8HW5f6B4MO3fB7cdjKtXXdXByi/E2otz28UXhZkJlEaUtCGRR7w5M2valkDji4OTeHeOrG1yx0avVcedzL1eyrY2hXnTfZE7eCvOsnJPs0bGHFdZcFDzQmItBD0LM/gJa8UJlqS+uOVG9kPhplWSAeSsyXjg7F5gZltJfWTwOMImRB6N/JTHrXsNLVmZFHFgE3LbCy2LgOwAxy02HLY+AIFy7VV9JZyLztTfz+vtMXrszFRa0bUElVmJ5awyCQSIfkDE1dLDp6yRb3L3f1U+sWxxKFK1DxzwdVkHs15E/6SgUpY0v79uNWVsOuFwVSB66V9hqHcNcb9DO2R5ONkAvCOOXhbt7gqeKB8zaMEvHc/P8tRZ78cMCDE8ELGjFpdTLO5HN/hlOo6jmx/fvMO7/cVedr9eDU/r7nNKSM6aTPPJJ92cFlVl3i9y87qNHUVgHeYDVxIYsu0JIzYOqh8IHmnalVUkbP7smZhTTOfsT9WoSwdV7oXOH16Z7SllvzFguubbDUNk6p8D5BzDWvBxJM4vB08ZxbZU0sBc2qUuTVtk2xR8ECSVkPqBtKyxMYRQStJQCrIt3O2n7cDe6UysK7fysc+LOB9vuUBwy1JkYJue90mYo2f48upXCvuFjsLRlqax4DP+r0tkRvr4tQHGEJW2sdb/tP8BfAGbKuf1+sTBPSsgHl8XL+zTskcit87ZkezV9IUwbCwC5eViEZX57H84gqi1hRWhpTvF/Se4TGB+Mjt1LQBKwcMd2FVoFyUdqhFsgKw7VUSIcaJS1fETHNJwvK4Ef0RlpwIHJHbUS8oHqUpNZosIeZ8fGplNsbrbYnBzo9PGlm0+Y591ZhxNCohpXr3h0oyT2tXeWf67+El+iml9TqxumYuSvfihhUAo8ps9/QNwCViq6PZK7mfrmJM13zYdzhvTXkKUbiDiq3jPxnLKX/GjL7rVDIHKHfM+20uZV6TAfx50VenbT7PeM/vIoeohPJUU3t59qrtvDfN7ufIO7jro2PISXaV7GBtB9l7/nucExgu9tbITReVAM0Bq2InHZ5wzpakKZHmBwI9eQduoKJwCsstCwwXDloJ7dIS7urKmOcwLHOU7pWWNBlkBibZa2HUrmagXViPu/wPYfdUye06my/oDkgYCsh1MPfXny3Y5lLhUGV1PzX/UDOYPhT3EWPf4dAR3+iWsPySj67apF0xSpYbiwwR3e6F8ykxgpJRfrr5FZOi5eUDB4JpLZG29YTs0X1ybo5YfqHdXI4tNaZMLuVKOO/zh0UKt2Md5EtnWBRM/2C0zyUsg0KeS67qsSgh3bc/ZV6epH1gtNsptjIuY8xV6GR/sC7W+nbm7hRi68liC5fcsrGjXdhKwwD2mSb3VdWHblXuusFPdPyUWDnKniYcDCD5eo3cZFs55dntjyI5CuZ/qj5KtscQCb3DzHcW+9q4W90PUI8IYpBTIzQGI8wLDZu45Ru7whadWrdiPVuzziZrfdKU5uQZGnkWc7N9CnEK9duq+nmt29e1JKPjxkKzBilL2ITRZuynE8SMDxadVM9Xs2AaqA0GZ0pCK1Jr6vOWLMM07i+oIQvGPhxbXVXsSSlG1lhFzwF8k3c8neKnMrxoX4yfzmki6m5ea/KGk5XVz+ClzhHeS3p0e+bEbVOOILVsmtG1zl7LoTQ1+uDANhifIFCOCD6Vm3HWxlQJ81OqzU+oSJX0qBG1Il+fvOcZAq0PzAD7yrIdhcIx42qXtD3CKRs58+oGm5jaCl77FBOiSj1q1CmY5IPXM9BybpVtLkcVnNJkUdXxadmv7cLMkayslGIH3lG7yhLFyrOqyDMlBK58T21sEdkgnTNtmDObrz2SS03gXVThXfycmvxzTM2MJEvl25uUAD9dzoW1L/D9dTC5qpqlAVky8yuvKQVHpaG/qFNoNVXxGRviPggi5lLS0/CrnOk2gWUZilXbyLSBctRI7qrFApunLoml6TY12pFBrmHOGVrWqXGWlOTzbpvbSn4GVjvUBW4a2btmIN+/pq4AU0u5V53bKLclu/QMrcuJOpBHdDHrjNmt1x2P2imAD1PZlXGdr3hzz8TPHDPSE0Y5tc/N5fSft64/v+Ie8jl8n6BozZACcKg1x59PkNfb3P2ZmlzhZU7K4K73Ml0W/6anaaz5cNX7gmuulk+eseTSTjUE5FKbTGT5lz6Fx51LrX2zrFjoZ+5WgkO8sLKbV4228LdSbpx6puzcDuB+ulbLZ4tb9+xS+7kBrexqWkHZHE5hXZZcFeGhxvLL4fyWA4Ez/CpaOJfaR40HNI5b3a/2G7uiW9dY7MyZWbwG6PZ52v+T1Y6zsOW/zC5JN41yOubcYv7i4Hql4KOD0SfNHcgYQducYw13vDb5mytrVBqkUzwKo5Ou0e6k7bF+zkApB/M+8lt869tKYXKKCUf6aEd7D3UJ+RxOMT2iyGzxqIVd6knaApvW59m6d/jMq8lZfUdeXcb9et+u8iq9sn7dPZ6hTW8hubxW9l62XT8rRL05eidvqlL0tp7cwACczGt+uaOXC5a7r2bH7xHcnSVmX64cXfmxpdyez3Vr2LGCe8WPbPEh5cmy0sGr5Mb79sG/B8RaXVKafXjJgk0XycRyEmGb7s6k0+S5cEz7ae7qZhwcI/gC5+S639g1APR9tCgMbjC9fDmjNYszNVjwsdqyKW9f18FLwQ0HM/C7Bw6SHHUWh9ASWko+3K1vdzlTgMJkmibD1m9OMjclEWl+l460ri4NKd67vfdgr2XG6WT21ZOAbOHOc84JL4UVZIvw1bMDDk49xcky3xVzhRh8Krah5TK2AoVl5/OcwvCaGLp/mkwJYSwP66LJwQ4GPO0P2K0eI0dPoG3dW3a6Mr2U8Kiox1Yh+Pl5YngLVsf/YLB69ZepcQWpm9dGEVIVH1k7pJQoPfkwthujfdaiPv1lWtr9U6Vxemdv8LVRXTvixzgh1E2DKfQqpceNPaEnFlRrmZ23Vu5qSmta5pefNBJrtqLk0PV4kkzax4/cA/Pze6/6Gnw8/NZFoJuazek7HD4l+JmzPWxqRNlYqMsmb+X2auVG4qrPN7qv38C1uZPmbpyKrIhu4qP5MdNcHBrOJKTpcOaNRsdmHx/hHdndXxct7LoFRyUQWprlymDGlXSbrtZZ56vqu3BoYqqVQt7g3cjyq4e8SrCPPrke6GUCKjlfDx0vU8jiV5xrcwuEJxdfUaTMqKMgHwAy1ItrKjs9Kr1m/7SN88VerRjn/iGDPMyd4V35MiwuhJycWHR+zkpLgfJm7+hY9E6edVFwc+VhT5W+jE+tA8+AaVd3Z8/veDrSmuZkKlPkVDr1odU9Xebgnl8UA17pJ7/m27VF5Z5NqrHo3mJ+pdr9dQDbxUylba+l77W1ZmdYabdi0zKr2g77qHRXwmPU/LKAej45zNPBYfdwHC+zttvqdKNr9r5jCklyrRUpzSaVfXXb4y6eqAnWPl97TrieO+CX6RYS+7vuWXLIudbWBGW3k6tux0+LJXc0Vb2xN8NbPio2T3pRX3VQ6W35oi0XlG+cm5szrbibFpA9ctiwJJt8QOXJ1+bCNrfLy+K2+0/HnKFuTlp/yaNq12Z6NzqpaLfvwdPbf9ZeVJl7Jffdz5l7sFtLR3cGZZCzkI0ktxbbXysbNeJ9gntbrXO+KGchLfvmLKzmjB0uFZxiWR4RuGy7o/ErmSdQ4xEjirAz62w8e0tm3suo2s8tWFupnFa8VGgYv7xvUx1PfuuuDVcvcZuItwuvvT54cigrXH1eyaryaEMeu2ns7ciT2vK6dW7Xub800waeMWoOdHvqVV/qevzrtTxP4QCgV8951Zb/te+8o2LqbOeqnBsHnqYTjKjHhnq9bMeuIW+0JfqXYTNGVz9yPzp44dLcsTZFVaXpCz3jGxrip8iraLngYDIJ8jKqBqpM2EWZZMXZC1URZUsd5OVkoxY+NgqTkVGUn+fPLGvAbZeXXehjhNBMyJtKnuriUvYMbENRUx0HZ9omyJoqabl7nohPgE0vfTc7p+NxwhQV5ccrcx4/uXxIWy4TCDj5QiZFeZ+GVsctcmKhjI8GFjZCSkySj7A5WdWh1yQTNwWR0mNOCtqhOE3FSZUFa92+coqdzzxW390aK2UthwgMKrCY4ki3qYHp9lZ53VweHM9EbqrCDTpxhfMaCK9kUPNPrHnMtU2QuThFBRfftfR2btSsQysRmw+tzYRba1KqTy+7e5zjWBEbUKD5/vDMHkKwJ3NvwpWQF/DHH0urrl9RjbRoVAZs18uqkusK6h/jO2tKTlRXFM956YJKio9oh8mebc3S2bo4qAH2mPlu7fGLORooraOadjNwJ6s6bxx4GM92tRpuencU16PBRsEqwvJcqw6Xfbq+LOUdu9oyC7lSd2+xYMFLxEls68u9U61oqsjy5Jc1xnt2EwxhAvkI3WpZ7Oz0S72HgOOHP5+Y2XBs64lMVm1GU/TLssfm5966pU6HbfSwfHXyvcfK97fZa20+D79fi5NTBzztlM2GPYUOs3yBdU4LOMPrXJYVAF5ueqeGvdaY3gG8PaxGhr097dU5Pl6rzUZ8fLx9Ob7rgzgjvv7EAs76wE2nRtYHs+9w/DbEjIz4bUxS5/oTtpqN+ofl+3IDwks5owGU+TncwIiDp0YDabV3uEH0n0dGg5iX1XnBrGtmY8FApy8vhNvDGQuJelbA2xD96tTYhtj3d3ihjL0jY6HxctO3y9gc3JX/OGFw5932lBk71j9JXeQ0L14wrQJLSDKlfyAk60898zRpxY6iJ2mGR9iENJRH8fOctzuLHmfj1/u/yAmt4Pft2Hy3vm8X42sdsYS0fv5Aanr7R1Jx/sN55AhXg2hKOrEp6mVZXuHox76s0jfdoduzBJaUY47t81+Wj8hHvy42Do+KLF3bdLb/9G+ZVhu3O45+otddNbAKL6ymr3hVI+cc+PLiE5uAV4e+3LZct63uzc/PT7mmBG/ERU5dSKh+f6iUeGHZjBLmMb3dO1ktnUf4Txqu391JvYGf+vFtx83lIT6N721iST0h4V+YpyLHNEa7Vx+O+dB2pS8OyM8fe/Ck59f2mPeP96diEDCr/wOEHEDiVE8gREVMRVRFIEZJTEU/AApkaXIgbm90IGRlbGV0ZWQACmRpciBzdWNjZXNzZnVsbHkgZGVsZXRlZAAKZmlsZSBub3QgZGVsZXRlZAAKZmlsZSBzdWNjZXNzZnVsbHkgZGVsZXRlZAAKbmFtZSBpcyBtaXNzaW5nAAp1c2FnZTogaW1wb3J0IHNwcml0ZXN8Y292ZXJ8bWFwAC5naWYAIHN1Y2Nlc3NmdWxseSBpbXBvcnRlZAAKY292ZXIgaW1hZ2UgdG9vIGJpZyA6KAAKY292ZXIgaW1hZ2UgbXVzdCBiZSAyNDB4MTM2IDooAApmaWxlIGltcG9ydGluZyBlcnJvciA6KAAKb25seSAuZ2lmIGZpbGVzIGNhbiBiZSBpbXBvcnRlZCA6fAAKZmlsZSBub3QgaW1wb3J0ZWQgOnwAbWFwIHN1Y2Nlc3NmdWxseSBpbXBvcnRlZAAuZ2lmAG5hdGl2ZQBodG1sAAp3ZWIvYXJtIHZlcnNpb24gZG9lc24ndCBzdXBwb3J0IGh0bWwgb3IKbmF0aXZlIGV4cG9ydAAKdXNhZ2U6IGV4cG9ydCBzcHJpdGVzfGNvdmVyfG1hcABzcHJpdGVzLmdpZgAKc3ByaXRlIGV4cG9ydCBlcnJvciA6KAB3b3JsZC5tYXAAY292ZXIuZ2lmAApjb3ZlciBpbWFnZSBpcyBlbXB0eSwgcnVuIGdhbWUgYW5kCnByZXNzIFtGN10gdG8gYXNzaWduIGNvdmVyIGltYWdlAApjb3ZlciBpbWFnZSBub3QgZXhwb3J0ZWQgOnwACmNvdmVyIGltYWdlIHN1Y2Nlc3NmdWxseSBleHBvcnRlZCA6KQAKbWFwIG5vdCBleHBvcnRlZCA6fAAKbWFwIHN1Y2Nlc3NmdWxseSBleHBvcnRlZCA6KQAKc3ByaXRlcyBub3QgZXhwb3J0ZWQgOnwACnNwcml0ZXMgc3VjY2Vzc2Z1bGx5IGV4cG9ydGVkIDopAApmaWxlIG5hbWUgaXMgbWlzc2luZwAKZmlsZSBub3QgZG93bmxvYWRlZCA6fAAKZmlsZSBkb3dubG9hZGVkIDopAGZpbGUgACBhbHJlYWR5IGV4aXN0cyA6fAAgaXMgc3VjY2Vzc2Z1bGx5IGFkZGVkIDopAGZpbGUgbm90IGFkZGVkIDooAAppbnZhbGlkIGRpciBuYW1lAApkaXIgZG9lc24ndCBleGlzdAAKCnVzZSAAQUREACBvciAAREVNTwAgY29tbWFuZCB0byBhZGQgY2FydHMAbm90aGluZyB0byBldmFsACdldmFsJyBub3QgaW1wbGVtZW50ZWQgZm9yIHRoZSBzY3JpcHQAVEhFIENBUlQAQUxSRUFEWSBFWElTVFMARE8gWU9VIFdBTlQgVE8AT1ZFUldSSVRFIElUPwAgc2F2ZWQhCgAKY2FydCBuYW1lIGlzIG1pc3NpbmcKAApjYXJ0IHNhdmluZyBlcnJvcgBUTyBDUkVBVEUgTkVXIENBUlQ/AGx1YQAKbmV3IGNhcnQgaXMgY3JlYXRlZAAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAgICA4MEsgUkFNIExBWU9VVCAgICAgICAgICB8CistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKfCBBRERSICB8IElORk8gICAgICAgICAgICAgIHwgU0laRSAgfAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rAAp8ICUwNVggfCAlLTE3cyB8ICUtNWkgfAAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwBTQ1JFRU4AUEFMRVRURQBQQUxFVFRFIE1BUABCT1JERVIAU0NSRUVOIE9GRlNFVABNT1VTRSBDVVJTT1IAVElMRVMAU1BSSVRFUwBNQVAAR0FNRVBBRFMATU9VU0UAS0VZQk9BUkQAU09VTkQgUkVHSVNURVJTAFdBVkVGT1JNUwBTRlgATVVTSUMgUEFUVEVSTlMATVVTSUMgVFJBQ0tTAE1VU0lDIFBPUwAKYXZhaWxhYmxlIGNvbW1hbmRzOgoKAApwcmVzcyAAIHRvIGVudGVyIFVJIG1vZGUKAHVua25vd24gZXJyb3IAJTAyeABkb2ZpbGUoAGNvZGUgaXMgbGFyZ2VyIHRoYW4gJWkgc3ltYm9scwBkb2ZpbGU6IGZpbGUgJyVzJyBub3QgZm91bmQAeyBNb2R1bGUuc2hvd0FkZFBvcHVwKGZ1bmN0aW9uKGZpbGVuYW1lLCByb20pIHsgaWYoZmlsZW5hbWUgPT0gbnVsbCB8fCByb20gPT0gbnVsbCkgeyBSdW50aW1lLmR5bkNhbGwoJ3ZpaWlpaScsICQwLCBbMCwgMCwgMCwgJDEsIDBdKTsgfSBlbHNlIHsgdmFyIGZpbGVQdHIgPSBNb2R1bGUuX21hbGxvYyhmaWxlbmFtZS5sZW5ndGggKyAxKTsgc3RyaW5nVG9VVEY4KGZpbGVuYW1lLCBmaWxlUHRyLCBmaWxlbmFtZS5sZW5ndGggKyAxKTsgdmFyIGRhdGFQdHIgPSBNb2R1bGUuX21hbGxvYyhyb20ubGVuZ3RoKTsgd3JpdGVBcnJheVRvTWVtb3J5KHJvbSwgZGF0YVB0cik7IFJ1bnRpbWUuZHluQ2FsbCgndmlpaWlpJywgJDAsIFtmaWxlUHRyLCBkYXRhUHRyLCByb20ubGVuZ3RoLCAkMSwgMF0pOyBNb2R1bGUuX2ZyZWUoZmlsZVB0cik7IE1vZHVsZS5fZnJlZShkYXRhUHRyKTsgfSB9KTsgfQB7IHZhciBuYW1lID0gUG9pbnRlcl9zdHJpbmdpZnkoJDApOyB2YXIgYmxvYiA9IG5ldyBCbG9iKFtIRUFQVTguc3ViYXJyYXkoJDEsICQxICsgJDIpXSwge3R5cGU6ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0ifSk7IE1vZHVsZS5zYXZlQXMoYmxvYiwgbmFtZSk7IH0ATkVUU0NBUEUyLjAAAQAAdGljLmNvbXB1dGVyL3BsYXkAdGljLmNvbXB1dGVyL3BsYXkvAEZTLnN5bmNmcyhmdW5jdGlvbigpe30pAC5sb2NhbC9jYWNoZS8lcy50aWMAL2NhcnQvJXMvY2FydC50aWMAVElDLTgwIHRpbnkgY29tcHV0ZXIAMC43MC42AGh0dHA6Ly90aWMuY29tcHV0ZXIgKEMpIDIwMTcAAAaWAAA4REREOAAAIzI1NQBCUlVTSCBTSVpFABA4fP4AAAAA/nw4EAAAAAAQMHDwcDAQAIDA4PDgwIAAQ09QWSBQQUxFVFRFAPCQuOg4AAAAUEFTVEUgUEFMRVRURQBwiPjY+AAAAODg4AAAAAAARkYAJTAyWABAwEAAAAAAAIDAgAAAAAAA7tbu7u7W7gD+/rpEuv7+ADhElY6EQDgAPn8qKioqPgB8OBAAAAAAAAgcPny4kOAAODh8KCgoEACqAIIAggCqAAgEAn++nIgARURJVCBQQUxFVFRFAED/AAL/ABD/Q0FOVkFTIFpPT00AVElMRVMgW3RhYl0ARkcAU1BSSVRFUyBbdGFiXQBCUlVTSCBbMV0AQ09MT1IgUElDS0VSIFsyXQBGTElQIEhPUlogWzVdAEZMSVAgVkVSVCBbNl0AUk9UQVRFIFs3XQBFUkFTRSBbOF0AJTAzaTolMDNpACM5OTkAIyUwM2kAU0hPVyBUSUxFUyBbc2hpZnRdAAAAEDh8AAAAAAB8OBAAAABGSUxMIFs0XQAACAQ+XEgAAFNFTEVDVCBbM10AAFQARABUAABEUkFHIE1BUCBbMl0AABgcXDwYAABEUkFXIFsxXQAACBQoUGAAAFNIT1cvSElERSBHUklEIFtgXQAAKHwofCgAAFdPUkxEIE1BUCBbdGFiXQAAHCJJIhwAAElEWAB4MTYARE9XTgBwiIiIcAAAAHD4+PhwAAAATE9PUDoAT0NUAFdBVkUAVk9MVU1FAEFSUEVHRwBQSVRDSAAQMHAwEAAAAEBgcGBAAAAAQyBbel0AQyMgW3NdAEQgW3hdAEQjIFtkXQBFIFtjXQBGIFt2XQBGIyBbZ10ARyBbYl0ARyMgW2hdAEEgW25dAEEjIFtqXQBCIFttXQBQTEFZIFNGWCBbc3BhY2VdACVzJWkAV0FWRUZPUk1TIFt0YWJdAAAwSUlJBgAAAEBEVFVVAABFTlZFTE9QRVMgW3RhYl0AVFJBQ0sAVEVNUE8AU1BEAFJPV1MAAEBgcGBAAAA5OQAlMDJpACBg4GAgAAAAIDA4MCAAAABvbi9vZmYgY2hhbm5lbAAtLS0tLS0tLQAgICAgICAAJXMlaSUwMmklMDFYLS0ACwkIBwUEAgMAAAABAQIDA1BJQU5PIE1PREUgLSBXT1JLIElOIFBST0dSRVNTLi4uAABw+Pj4cAAAAFBYXFhQAAAAIDA4MCAAAAB8fHx8fAAAUElBTk8gTU9ERQAAf1VVQX8AAABbAFsAWwAAVFJBQ0tFUiBNT0RFAFJFQ09SRCBNVVNJQwBQTEFZIEZSQU1FIFtlbnRlcl0AUExBWSBUUkFDSwBTVE9QIFtlbnRlcl0AQy0AQyMARC0ARCMARS0ARi0ARiMARy0ARyMAQS0AQSMAQi0AEDBwMBAAAABAYHBgQAAAAHja7VtNbORIFfbsD5DeYWojoRX/a4Vl0510dzrtJAwzmJBJd35gJhmS9AyrEQSn25206LSD3T1JdjXSsrBSOA0/g0ROAfY2HPjTXMhhBDeQQAghDghxQVx7LEVasUJa81657C7bZWcWdtFmSTnV5apX77ne+957VbaUMy8+Jb3uQBkYGLi9t7d3G1vo3nZsvzrOg+7AgNPd27O7Ay/ZXee27di3bdurlL+/v9+o1+sGttA1gM+ryN/f73TrdbvbrwG/YXdttz6wDcmh/KVS6WB/f/8AW+geEKjAe8D4SyWnu79vd0t3gP/A7hKo9gHwHzD+SqVy//Dw8D620KWVSARb5K9UnO7hod2t3AP++yDzvm1LULH9wd27qbtYLrxy966i3L2gKK9gF34uFBTlUY9Ox4FO50XorzB+1kI/QL/A5F9g/Bd6/D89PHzi8Ma9w8N7N9xaqdAWRm5crVQe/3K9/q56v1ava0/V+Rbunnqyv//Mi3t779l7Kb1Ha/qlPe8e7tLywMAj39rf79u/M79P63wJrIztnf078PuZUukxijdiT69/0vsR8ANHstG2rzu3JQewf3Ab8N9jFf1Bsh90HafbpXgj9vVXocWrXn8a/MDnN2wbsKfVqNsO9YP+Hj/FG7F/7bXXDvYPDvB+EfzA5z+wbcDefg3qwb7tUD8o9fgp1oj9Ibb/over4Ac+/33JAewf3Af8D1lFf/D4JShxPoDjPD3sA0F61AcCdIEPePQ4H8BxpMf5AI4jPc4HcBzpcT6A48L4paVuGM6rovgFOuAJ9VWokvRkP/z1S8D7JKuBAs/HH3BVnOLVM179UqXbvfevf3TvHboV+3yhIawoyiQ0osrI2BzF1MQiHVOYfMV5iCKaN3lMTVg3rdJbXHrxi+2rTjR+JYzZBxC71AfC8evB7GFPAUZ/QL+g2PtYM+zPuP7Anv9ppdu1tv/uV+zzJWAvsMgk+gLauWdrzl6TRzDsVdf+Yh4eoQjPcRh75WF8QXqbl5j4moQKY5OKKL7g50jBesTiK8I/qbjVEfIjH62C+MQBhdVJgVFF8e8k5AHed8T4B3znDeeHk14YTrHxxTCOjy/XV2L5j46Jz7hylJQ3g1gK8mYPS+m0/BfxH41fJVQF/ApfE/OHmN/PPZMsxHl+Pvcc/Q/2x3d+/CfHL4dTXPx7WP9H8c+eP5nEf5TAf4rgmxD/8fvrZNL+ehTevwXngCR+//wg5p/08oeI38sDpwj+1/GvcOe1yP6qcOc10f7qnfPCeYQ/PyiBGBbyT4bzAM/v5YCj0/39bRP/gf1bzK8kxa8Xw6cIvB3iPyF+o+e9UPwGz3tx/HHx/8hvnj4F4bScltOSsElxVeJaVvArNNa4gjTHIYE2QIcxQrCFDtyETxVABSK9YQ0J8rtskg0/xHbbkADJTtKPyfarHSXz9Igsgs8ndP3YhpbXW4MjiWn8s0j8eu2HOG3ZhMkQGaDXROQ6wOSg7SUSfY7Dnu149yR0hnEfTOVILsZBOlsU2seOl+/Y3lwpwu9wzwn7R++5knD9/PNZI+AngVZMd8GJ0Dmbi+wfpkfw5bAR+R+PvcgHAnwC37E5/YXxy/yWOG5kxelPq+O2YfxdWq8V88fhw8kX8PP4x/lXgC7Qn47bhMORd7+gbmH96PxE/yc+yI7Av6lM9G3CfDxsv3ANy7fZ2mieJJH8R+UTNscWrT9o30T7O/HxEeQnCfxR+zle/nNE/kGiRhDhE7f+MI1E9w9CejZ0bDH+vJ7B+CVu5dcZxp/LLWH8JCe0v0T2t3DsE+Ge4O8/RJDe7ei+GLtHOEScP47hwdzt5m+B/4Z8QMRPzUSiz5eYzDj5wT1KkAPxTEHY2UK4/7Ecx+JICsWoI8hBEQWleP8MJ38iks/nRwG+fJUE+nt7I41/IqAnrT8Uw6I95PgcEMLHjtkDBObh8RfGfxg7kf4J8R+OYZEvB3KALbKvy+v5WYQ/pLudlANi4t+OiX+JCKoo/p2Y+JfcA7Btn76qnJbTclre3GJzVRK8ntBX3oTzA2H7Pt9G8j/fCtJj4N2VxHyeIN53APH64xcY0pGIz2e2JH5/9nT0vkPE2dA57jtE6HOEFD3mPDReUvwnAOE3A8JVR7R2Tn/R9sbLT6JLAvmE8w3R/ucQbtsk4uMXkYI+FrEbCX7micgnyfxJ65MSYkNET/g8E3sW99bkCM82PT47Rj/+u4Adg79nZ1H88PYhouMNCbYifPzPazH8cf7H4y/0rxCdHOMf4ecTcox+ofzgkPjzGyHx+dGJyZXho59IPycUo0n2IzH4kZj1BfAT2S9kozj8HE5Hkf3j4j9s3zj7kWPwI+R4fkcQ3zyvEJ+QbFtKzi+O6Psfr98xMSz6/B7wvxh8HvpzPpHe8Pu/E8oT4bU7Unz8hnOA8PtFAr6BHBXHH/IjKSHHhb+REkEMxeVuoXwSDGQikE+4T0ei+E3ML4IcIEnJOUBKiGFbSuZ34nIojw9JzvEi+/NnvLizUZwvkmP8I5CfpGS6Q+LPb3GxFNZdlAP8738x8e/ExL8t8DGhfxBx/Pv2fexTRHpPX+qJs+89Rz7+rOjyppdnRNdJfDl5/wc++KEPf+SjT3/ivOjyZs3Oia6T/FL2/4KvV8YnwhePb+Va+DrF96Tji1c8vnid4nuK79u1DArgzfj4DgrgHTrR+A4K4C1lfaoA3pXsSda3pkcBHvY1+sbLUYCHT7S+7U5S/N753jsuP2eepX+sPDtIi5+fh2boHyszQeqJzM+fnKB/rEwMDn5mqqdR5cI1+sfKtcHBF792svUdjJSrn+9pFKV+69vvLH2/rF2aXqvGUX/ww5e+/qNX3kn6bn11adm04qg//dl3vvvzXzz+k0eklbnylbKaeiHVN11ZWl5cUlN9cN83tbS0eF3NjWbhfm5qocRu5y+Vp66w+6vzXyhfXr1aXpopT6+obbOjw+itbAokLZbKMhN0aVbGolKW5ZWl+YVZ6Ixhb6Fy5VJ5CXoK9j5Xfu764lJJncDO1NV5l4uyTS9euVJeWFE/QWXMzy5QUgF716aW3Inj2FsEbaCvUtJy+TIsTFapdFc52ZW+PDdVWrwue2vum7q8sjqzCA+oa03L12J26kr56lSJ6bGyWJmeg3vaAY6rc1Pq6Hn6oFsux61UanquPP251YXy9dVr5aXl+cUFV2JqYXF1ebECVnS7s/Mzq5fLC7Mrc2qxIOdycqMlW3rVaNUsSluenrpcVoupFJCsDWNbXn5uYVpuamt6U8ax7Q29Ja/MT8s109iy5InC3PNy3dQ2dSu1PLd4fRWns0elppdWVq8sLsyvALRsqDLPnqDgE2JLqt5pVdsNgz4qnUn1VZsWNk2jqjXd1agDKxsNS4Y/a9dq65sy6FBvrHdMjfJVNbNtNmrr+oDHZTWe19Uts9Fqp6mAbCGbmwCZ/FC6OFbI4cTMyEgxmx5VJmAK3GZSeqvW9ytJepxepA+vJ+hF76WHuR6h4fAoXo/B9W64zj56tk8KXmdDFy/hURDxonROOnfm3JmHe2b4eixVYB+62D+UYftkceXm93/519cf/O7H31wvf+yM1/fas8DzvrMfLj0zVhjbXPjswsuXC2P6M3+Ymet8VXvu1u//eCv78vd+uHk3+8e7+5u//u1f/vSlv3X//PFnz0mIP/p7eUm9cSN1UzN3G611+aZeLcptfWfaMMzaxVSn1agb5qZsaZtbTd0slmTL6JhVvUepNw2tLbfN9dUd0eCuaHBbNLgRHrSqZnQmDsLM1MiIXN7sNLW2XoMg2eq0ZVO3jGYH3SufolrAgIo36eL4RL6QHR0byxcyLuucZtZaumXJRh0kaq1mo6XnkSDnzucLsgpa1tvYz41O0P6mXmt0NlPuGjaAexm4VJwcFbjV2NGbFg1dXnSuGJQ8RrsoixN7tbGj5hRPaqlhbTW1XXlbM7eojALlaRktHXuj+cKIu1x9p23qm7qrN852FccJE2OoO9yMnUf1ZSp4atPotNpU+w2tBnlkU7O+kmfrwPuSZn5FLeTHL3JjlxvrG211FAdBRu5NKnQ91tLsJbltyJfBWJpJVZ2yrA46ZMfCX3fC7hagDc7Z7gC2chszDGTBTrMGJmnLa7rc0vWaXvMUWTFceaNpt1/NvGDqwNtKVz8FyhUgYMYzk9WR0WL+k8ULW8Z2Ol0dhvHx8czIKDbZYn4sc/EWmlXxpaVpz5eFEaOke4+q5s1Mlu+uB7trGZSIGrpjqDZq9+YpvWyur4lUBs0KyqhSOD9ZHXJVpkoOoeLVbCE/NjoxMZHJuQboaY3iYnR2n8Q09jrrfKen7QLoqlttWfei1k0p8nrjJuxZdLWo85YB+R5+rQbdKLQW1R22N6Net/S2a6WmZcjP66YxiPGGEWzquhv1ijyjt6sbaRoIICVLb2BSBnZn6KtoF8NMw+0QLGcYKcM0VsDZwQbjmcwIjF9M9TFNfdRH80V5yMOhWEq7eTALgvI7u1maJzJ50NrTF2K3rbWqOuYBX2eWGgDyFjMHVY4lLGTxV555AZfL1nmRrSaXxpXnfB0ymZy3eGrovj6aF0ryrNaxrIbW8rwC+8wl0CpeLtWauo+pvrNVTNOhIXwqSmeqKLm2tuWLlOuNZls3Za1pAF4bhvm87OY4av456Cs987sPYvanE9ZUFyEPnHQOvDCLMyA3u1Oq4SmY94JTapEpvBT3qTWrrVKToip52J36QJdpo3VTN4HowQNYbOuY2fIeH7WByrKxL217TaVGBKl0xa7xeuSqT8YUEiHXeuQANyxpybW/a1Y/MPK+C6bXhrbXhqtD29Xh2tB2LTOShi504JYBNP4GARpPAkiLAFQMW/9/gSGdokemFN9qmLUezEUBjm+NFzCy3iMX36iTaEPb2nDQU4b1oW0d3UUb9jxmGAaY0zCJ3hnFN4+7FjzfxHiJyOy7vYzpqwDTs95RyXvoVLMJpw0/+W1A4qbOSXOiXq/r1babJJm3rpgNLiP6HupmGVwZosD5pevdSEB/47yxxyEzDh9vqiovy4fap3jCfJR7FMbDlA+iwG0Fhkn3M+68Cby4u8GrizuKexjE7NaGxraD63COCyjvbQjgG7jUi/h+S0eH/OPeMC4qvztEfzND9OC4k/UJO5Swwwi73MJRCuwiw3jmc1e9zJ8MqRWvwG14QfmdYdV9JD21uuZGHpWeEbyzZDZyg8+m/Cq8oFbb7vJGJlxrNupuH84siqJk6BpM1T+EwgzYRmFr7U3Dowudth6dRsfXAuNMaxy6eIvaMXXTaNRgoNFKZ2TQrXfIh7NSgQahfzDmJVF7QJIx2+p6c3XG1NbpqxMcCtytmb4ZZd13IVSNTs3vqvRFJsd6cKLu8wyrUtwpYcSXsO1K2MC8l+rzH9Q0TDxzqBgmiMkQhSi0DnwqzwHvCyB3jJ3f0mFhGc+nb6W++MXUvwGFV8uALmxvY2FsL2NvbmZpZyAwLjcwLjYudGljAEdJRl9MRU5HVEgAR0lGX1NDQUxFAENIRUNLX05FV19WRVJTSU9OAE5PX1NPVU5EAFNIT1dfU1lOQwBDUlRfTU9OSVRPUgBVSV9TQ0FMRQBUSEVNRQBDVVJTT1IAQVJST1cASEFORABJQkVBTQBQSVhFTF9QRVJGRUNUAENPREUAQkcAU0VMRUNUAEFMVF9GT05UAFNIQURPVwBHQU1FUEFEAFRPVUNIAEFMUEhBAENSVF9TSEFERVIAU1RSSU5HAE5VTUJFUgBLRVlXT1JEAEFQSQBDT01NRU5UAFNJR04AVkFSAE9USEVSAGxpbmUgJWkvJWkgY29sICVpACVpLyVpACBGSU5EOgAgR09UTzoAIEZVTkM6AChlbXB0eSkAU1dJVENIIEZPTlQAACAwODAgAAAAOEQ4EBAAAAAQGHwYEAAAAHwAfAB8AABSVU4gW2N0cmwrcl0ARklORCBbY3RybCtmXQBHT1RPIFtjdHJsK2ddAE9VVExJTkUgW2N0cmwrb10AV0FSTklORyEAWUVTAE5PAIDA4MCAAAAALmxvY2FsL2tleW1hcC5kYXQAgMDgwIAAAABCQUNLAIDA4MCAAAAAYwBkAGUAZwBpAGoAbABtAG8AcQBzAHQAdQB2AHoAbWludXMAZXF1YWxzAGxlZnRicmFja2V0AHJpZ2h0YnJhY2tldABiYWNrc2xhc2gAc2VtaWNvbG9uAGFwb3N0cm9waGUAZ3JhdmUAY29tbWEAcGVyaW9kAHNsYXNoAHRhYgBiYWNrc3BhY2UAcGFnZXVwAHBhZ2Vkb3duAGhvbWUAdXAAZG93bgBsZWZ0AHJpZ2h0AGNhcHNsb2NrAGN0cmwAc2hpZnQAYWx0AGVzY2FwZQBmMQBmMgBmMwBmNABmNQBmNgBmNwBmOABmOQBmMTAAZjExAGYxMgAjMQAjJWkAR0FNRSBNRU5VAFJFU1VNRSBHQU1FAFJFU0VUIEdBTUUAR0FNRVBBRCBDT05GSUcAQ0xPU0UgR0FNRQBRVUlUIFRJQy04MAAubG9jYWwvY2FjaGUvAC5sdWEALmxvY2FsL2NhY2hlLyVzLmdpZgAvY2FydC8lcy9jb3Zlci5naWYAVElDLTgwIFNVUkYAQkFDSwAvJXMAWW91IGRvbid0IGhhdmUgYW55IGZpbGVzLi4uACVzLyVzAFslc10AJmFtcDsAJiMzOTsAL2NvbS5uZXNib3gudGljL1RJQy04MC8AeyB2YXIgZGlyID0gIiI7IE1vZHVsZS5Qb2ludGVyX3N0cmluZ2lmeSgkMCkuc3BsaXQoIi8iKS5mb3JFYWNoKGZ1bmN0aW9uKHZhbCkgeyBpZih2YWwubGVuZ3RoKSB7IGRpciArPSAiLyIgKyB2YWw7IEZTLm1rZGlyKGRpcik7IH0gfSk7IEZTLm1vdW50KElEQkZTLCB7fSwgZGlyKTsgRlMuc3luY2ZzKHRydWUsIGZ1bmN0aW9uKCkgeyBSdW50aW1lLmR5bkNhbGwoJ3ZpaWknLCAkMSwgWyQyLCAkMywgJDBdKTsgfSk7IH0AY2FydC50aWMAU0RMX1dJTlJUX0hBTkRMRV9CQUNLX0JVVFRPTgAxAFNETF9BQ0NFTEVST01FVEVSX0FTX0pPWVNUSUNLAFRJQy04MCB0aW55IGNvbXB1dGVyIDAuNzAuNgAjdmVyc2lvbiAxMjAKACN2ZXJzaW9uIDExMAoAI3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGludDsKcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7CgAJCWF0dHJpYnV0ZSB2ZWMzIGdwdV9WZXJ0ZXg7CgkJYXR0cmlidXRlIHZlYzIgZ3B1X1RleENvb3JkOwoJCWF0dHJpYnV0ZSB2ZWM0IGdwdV9Db2xvcjsKCQl1bmlmb3JtIG1hdDQgZ3B1X01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXg7CgkJdmFyeWluZyB2ZWM0IGNvbG9yOwoJCXZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKCQl2b2lkIG1haW4odm9pZCkKCQl7CgkJCWNvbG9yID0gZ3B1X0NvbG9yOwoJCQl0ZXhDb29yZCA9IHZlYzIoZ3B1X1RleENvb3JkKTsKCQkJZ2xfUG9zaXRpb24gPSBncHVfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCAqIHZlYzQoZ3B1X1ZlcnRleCwgMS4wKTsKCQl9AEZhaWxlZCB0byBsb2FkIHZlcnRleCBzaGFkZXI6ICVzCgBGYWlsZWQgdG8gbG9hZCBmcmFnbWVudCBzaGFkZXI6ICVzCgBGYWlsZWQgdG8gbGluayBzaGFkZXIgcHJvZ3JhbTogJXMKAHRyZ194AHRyZ195AHRyZ193AHRyZ19oAHNjcl93AHNjcl9oAEVTQwBGMQBGMgBGMwBGNABGNQBGNgBGNwBGOABGOQBGMTAAVEFCAGAAWwB7ACcAPQBGMTEARjEyADIAQAAzADQANQA2ADcAOAA5ACgAQkFDAFEAVwBFAFQAWQBVAEkATwBcAEQARgBHAEgASgBLAEwARU5URVIAWgBYAE4ATQBDVFJMAEFMVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAAMAAAAFBQAAAAAAAAUPhQ+FAAAAB4oHAo8AAAAIgQIECIAAAAQKBokGgAAAAgQAAAAAAAACBAQEAgAAAAQCAgIEAAAAAgqHCoIAAAAAAgcCAAAAAAAAAAYCBAAAAAAHAAAAAAAAAAAGBgAAAACBAgQIAAAABwyMjIcAAAADBwMDB4AAAA8BhwwPgAAAD4GDCYcAAAADBw0PgQAAAA+MDwGPAAAABwwPDIcAAAAPgYMGDAAAAAcMhwyHAAAABwyHgIcAAAAGBgAGBgAAAAYGAAYCBAAAAQIEAgEAAAAABwAHAAAAAAQCAQIEAAAAB4GDAAMAAAAHCouIBwAAAAcMjI+MgAAADwyPDI8AAAAHDIwMhwAAAA8MjIyPAAAAD4wPDA+AAAAPjA8MDAAAAAeMDYyHgAAADIyPjIyAAAAHgwMDB4AAAA+BgY2HAAAADI0ODQyAAAAMDAwMD4AAAA2Pj4qIgAAADI6PjYyAAAAHDIyMhwAAAA8MjI8MAAAABwyMjIcAgAAPDIyPDIAAAAeOBwOPAAAAB4MDAwMAAAAMjIyMhwAAAAyMjIcCAAAACIqPj42AAAAMjIcMjIAAAAaGh4MDAAAAD4MGDA+AAAAGBAQEBgAAAAgEAgEAgAAABgICAgYAAAACBQiAAAAAAAAAAAAHgAAABAIAAAAAAAAAB4mJh4AAAAwPDIyPAAAAAAeODgeAAAABh4mJh4AAAAAHDY4HAAAAA4YPhgYAAAAABwmPgYcAAAwPDIyMgAAAAwAHAweAAAABgAGBiYcAAAwMjwyMgAAABgYGBgOAAAAADQ+KioAAAAAPDIyMgAAAAAcMjIcAAAAADwyMjwwAAAAHiYmHgYAAAA8MjAwAAAAAB44DjwAAAAYPhgYDgAAAAAmJiYeAAAAADIyNDgAAAAAIio+NgAAAAA2HBw2AAAAACYmHgYcAAAAPgwYPgAAAAwIGAgMAAAACAgICAgAAAAYCAwIGAAAAAAKFAAAAAAAAAAAAAAAAAAISJVbmtub3duIHZhbHVlIG9mIG9yaWVudGF0aW9uIGluIGRyYXdUaWxlIgBzcmMvdGljLmMAZHJhd1RpbGUAc2NyaXB0AG1vb24AbW9vbnNjcmlwdABmZW5uZWwAanMAamF2YXNjcmlwdAB3cmVuACVzICVzOgAUDBxEJDQwNG1OSk6FTDA0ZSTQRkh1cWFZfc7SfSyFlaFtqizSqpltwsra1F7e7tZiYW5rID49IDAgJiYgYmFuayA8IFRJQ19CQU5LUwBhcGlfc3luYwBzYXZlaWQAaW5wdXQAZ2FtZXBhZABrZXlib2FyZAB0aGUgY29kZSBpcyBlbXB0eQBzaXplID49IDAAM3JkLXBhcnR5L2JsaXAtYnVmL2JsaXBfYnVmLmMAYmxpcF9uZXcAMCA8PSBmYWN0b3IgLSBtLT5mYWN0b3IgJiYgZmFjdG9yIC0gbS0+ZmFjdG9yIDwgMQBibGlwX3NldF9yYXRlcwBtLT5hdmFpbCA8PSBtLT5zaXplAGJsaXBfZW5kX2ZyYW1lAGNvdW50ID49IDAAYmxpcF9yZWFkX3NhbXBsZXMAb3V0IDw9ICZTQU1QTEVTKCBtICkgW20tPnNpemUgKyBlbmRfZnJhbWVfZXh0cmFdAGJsaXBfYWRkX2RlbHRhAFRPRE86IEpTIGV2YWwgbm90IHlldCBpbXBsZW1lbnRlZAouAGluc3RhbmNlb2YAdHlwZW9mAGNhc2UAZmluYWxseQB2b2lkAGRlYnVnZ2VyAHRocm93AGRlbGV0ZQBjb25zdABfVElDODAAc3JjL2pzYXBpLmMAcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnZlcnNpb24nXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCB2ZXJzaW9uID0gIjAuNS4wIgogIHJldHVybiB7CiAgICB2ZXJzaW9uID0gdmVyc2lvbiwKICAgIHByaW50X3ZlcnNpb24gPSBmdW5jdGlvbigpCiAgICAgIHJldHVybiBwcmludCgiTW9vblNjcmlwdCB2ZXJzaW9uICIgLi4gdG9zdHJpbmcodmVyc2lvbikpCiAgICBlbmQKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQuZXJyb3JzJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgdXRpbCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgbG9jYWwgbHBlZyA9IHJlcXVpcmUoImxwZWciKQogIGxvY2FsIGNvbmNhdCwgaW5zZXJ0CiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHRhYmxlCiAgICBjb25jYXQsIGluc2VydCA9IF9vYmpfMC5jb25jYXQsIF9vYmpfMC5pbnNlcnQKICBlbmQKICBsb2NhbCBzcGxpdCwgcG9zX3RvX2xpbmUKICBzcGxpdCwgcG9zX3RvX2xpbmUgPSB1dGlsLnNwbGl0LCB1dGlsLnBvc190b19saW5lCiAgbG9jYWwgdXNlcl9lcnJvcgogIHVzZXJfZXJyb3IgPSBmdW5jdGlvbiguLi4pCiAgICByZXR1cm4gZXJyb3IoewogICAgICAidXNlci1lcnJvciIsCiAgICAgIC4uLgogICAgfSkKICBlbmQKICBsb2NhbCBsb29rdXBfbGluZQogIGxvb2t1cF9saW5lID0gZnVuY3Rpb24oZm5hbWUsIHBvcywgY2FjaGUpCiAgICBpZiBub3QgY2FjaGVbZm5hbWVdIHRoZW4KICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gYXNzZXJ0KGlvLm9wZW4oZm5hbWUpKQogICAgICAgIGNhY2hlW2ZuYW1lXSA9IF93aXRoXzA6cmVhZCgiKmEiKQogICAgICAgIF93aXRoXzA6Y2xvc2UoKQogICAgICBlbmQKICAgIGVuZAogICAgcmV0dXJuIHBvc190b19saW5lKGNhY2hlW2ZuYW1lXSwgcG9zKQogIGVuZAogIGxvY2FsIHJldmVyc2VfbGluZV9udW1iZXIKICByZXZlcnNlX2xpbmVfbnVtYmVyID0gZnVuY3Rpb24oZm5hbWUsIGxpbmVfdGFibGUsIGxpbmVfbnVtLCBjYWNoZSkKICAgIGZvciBpID0gbGluZV9udW0sIDAsIC0xIGRvCiAgICAgIGlmIGxpbmVfdGFibGVbaV0gdGhlbgogICAgICAgIHJldHVybiBsb29rdXBfbGluZShmbmFtZSwgbGluZV90YWJsZVtpXSwgY2FjaGUpCiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gInVua25vd24iCiAgZW5kCiAgbG9jYWwgdHJ1bmNhdGVfdHJhY2ViYWNrCiAgdHJ1bmNhdGVfdHJhY2ViYWNrID0gZnVuY3Rpb24odHJhY2ViYWNrLCBjaHVua19mdW5jKQogICAgaWYgY2h1bmtfZnVuYyA9PSBuaWwgdGhlbgogICAgICBjaHVua19mdW5jID0gIm1vb25zY3JpcHRfY2h1bmsiCiAgICBlbmQKICAgIHRyYWNlYmFjayA9IHNwbGl0KHRyYWNlYmFjaywgIlxuIikKICAgIGxvY2FsIHN0b3AgPSAjdHJhY2ViYWNrCiAgICB3aGlsZSBzdG9wID4gMSBkbwogICAgICBpZiB0cmFjZWJhY2tbc3RvcF06bWF0Y2goY2h1bmtfZnVuYykgdGhlbgogICAgICAgIGJyZWFrCiAgICAgIGVuZAogICAgICBzdG9wID0gc3RvcCAtIDEKICAgIGVuZAogICAgZG8KICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICBsb2NhbCBfbWF4XzAgPSBzdG9wCiAgICAgIGZvciBfaW5kZXhfMCA9IDEsIF9tYXhfMCA8IDAgYW5kICN0cmFjZWJhY2sgKyBfbWF4XzAgb3IgX21heF8wIGRvCiAgICAgICAgbG9jYWwgdCA9IHRyYWNlYmFja1tfaW5kZXhfMF0KICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gdAogICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgZW5kCiAgICAgIHRyYWNlYmFjayA9IF9hY2N1bV8wCiAgICBlbmQKICAgIGxvY2FsIHJlcCA9ICJmdW5jdGlvbiAnIiAuLiBjaHVua19mdW5jIC4uICInIgogICAgdHJhY2ViYWNrWyN0cmFjZWJhY2tdID0gdHJhY2ViYWNrWyN0cmFjZWJhY2tdOmdzdWIocmVwLCAibWFpbiBjaHVuayIpCiAgICByZXR1cm4gY29uY2F0KHRyYWNlYmFjaywgIlxuIikKICBlbmQKICBsb2NhbCByZXdyaXRlX3RyYWNlYmFjawogIHJld3JpdGVfdHJhY2ViYWNrID0gZnVuY3Rpb24odGV4dCwgZXJyKQogICAgbG9jYWwgbGluZV90YWJsZXMgPSByZXF1aXJlKCJtb29uc2NyaXB0LmxpbmVfdGFibGVzIikKICAgIGxvY2FsIFYsIFMsIEN0LCBDCiAgICBWLCBTLCBDdCwgQyA9IGxwZWcuViwgbHBlZy5TLCBscGVnLkN0LCBscGVnLkMKICAgIGxvY2FsIGhlYWRlcl90ZXh0ID0gInN0YWNrIHRyYWNlYmFjazoiCiAgICBsb2NhbCBIZWFkZXIsIExpbmUgPSBWKCJIZWFkZXIiKSwgVigiTGluZSIpCiAgICBsb2NhbCBCcmVhayA9IGxwZWcuUygiXG4iKQogICAgbG9jYWwgZyA9IGxwZWcuUCh7CiAgICAgIEhlYWRlciwKICAgICAgSGVhZGVyID0gaGVhZGVyX3RleHQgKiBCcmVhayAqIEN0KExpbmUgXiAxKSwKICAgICAgTGluZSA9ICJcdCIgKiBDKCgxIC0gQnJlYWspIF4gMCkgKiAoQnJlYWsgKyAtMSkKICAgIH0pCiAgICBsb2NhbCBjYWNoZSA9IHsgfQogICAgbG9jYWwgcmV3cml0ZV9zaW5nbGUKICAgIHJld3JpdGVfc2luZ2xlID0gZnVuY3Rpb24odHJhY2UpCiAgICAgIGxvY2FsIGZuYW1lLCBsaW5lLCBtc2cgPSB0cmFjZTptYXRjaCgnXiguLSk6KCVkKyk6ICguKikkJykKICAgICAgbG9jYWwgdGJsID0gbGluZV90YWJsZXNbIkAiIC4uIHRvc3RyaW5nKGZuYW1lKV0KICAgICAgaWYgZm5hbWUgYW5kIHRibCB0aGVuCiAgICAgICAgcmV0dXJuIGNvbmNhdCh7CiAgICAgICAgICBmbmFtZSwKICAgICAgICAgICI6IiwKICAgICAgICAgIHJldmVyc2VfbGluZV9udW1iZXIoZm5hbWUsIHRibCwgbGluZSwgY2FjaGUpLAogICAgICAgICAgIjogIiwKICAgICAgICAgICIoIiwKICAgICAgICAgIGxpbmUsCiAgICAgICAgICAiKSAiLAogICAgICAgICAgbXNnCiAgICAgICAgfSkKICAgICAgZWxzZQogICAgICAgIHJldHVybiB0cmFjZQogICAgICBlbmQKICAgIGVuZAogICAgZXJyID0gcmV3cml0ZV9zaW5nbGUoZXJyKQogICAgbG9jYWwgbWF0Y2ggPSBnOm1hdGNoKHRleHQpCiAgICBpZiBub3QgKG1hdGNoKSB0aGVuCiAgICAgIHJldHVybiBuaWwKICAgIGVuZAogICAgZm9yIGksIHRyYWNlIGluIGlwYWlycyhtYXRjaCkgZG8KICAgICAgbWF0Y2hbaV0gPSByZXdyaXRlX3NpbmdsZSh0cmFjZSkKICAgIGVuZAogICAgcmV0dXJuIGNvbmNhdCh7CiAgICAgICJtb29uOiAiIC4uIGVyciwKICAgICAgaGVhZGVyX3RleHQsCiAgICAgICJcdCIgLi4gY29uY2F0KG1hdGNoLCAiXG5cdCIpCiAgICB9LCAiXG4iKQogIGVuZAogIHJldHVybiB7CiAgICByZXdyaXRlX3RyYWNlYmFjayA9IHJld3JpdGVfdHJhY2ViYWNrLAogICAgdHJ1bmNhdGVfdHJhY2ViYWNrID0gdHJ1bmNhdGVfdHJhY2ViYWNrLAogICAgdXNlcl9lcnJvciA9IHVzZXJfZXJyb3IsCiAgICByZXZlcnNlX2xpbmVfbnVtYmVyID0gcmV2ZXJzZV9saW5lX251bWJlcgogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5jbWQubW9vbmMnXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCBsZnMgPSByZXF1aXJlKCJsZnMiKQogIGxvY2FsIHNwbGl0CiAgc3BsaXQgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS5zcGxpdAogIGxvY2FsIGRpcnNlcCwgZGlyc2VwX2NoYXJzLCBta2Rpciwgbm9ybWFsaXplX2RpciwgcGFyc2VfZGlyLCBwYXJzZV9maWxlLCBjb252ZXJ0X3BhdGgsIGZvcm1hdF90aW1lLCBnZXR0aW1lLCBjb21waWxlX2ZpbGVfdGV4dCwgd3JpdGVfZmlsZSwgY29tcGlsZV9hbmRfd3JpdGUsIGlzX2Fic19wYXRoLCBwYXRoX3RvX3RhcmdldAogIGRpcnNlcCA9IHBhY2thZ2UuY29uZmlnOnN1YigxLCAxKQogIGlmIGRpcnNlcCA9PSAiXFwiIHRoZW4KICAgIGRpcnNlcF9jaGFycyA9ICJcXC8iCiAgZWxzZQogICAgZGlyc2VwX2NoYXJzID0gZGlyc2VwCiAgZW5kCiAgbWtkaXIgPSBmdW5jdGlvbihwYXRoKQogICAgbG9jYWwgY2h1bmtzID0gc3BsaXQocGF0aCwgZGlyc2VwKQogICAgbG9jYWwgYWNjdW0KICAgIGZvciBfaW5kZXhfMCA9IDEsICNjaHVua3MgZG8KICAgICAgbG9jYWwgZGlyID0gY2h1bmtzW19pbmRleF8wXQogICAgICBhY2N1bSA9IGFjY3VtIGFuZCB0b3N0cmluZyhhY2N1bSkgLi4gdG9zdHJpbmcoZGlyc2VwKSAuLiB0b3N0cmluZyhkaXIpIG9yIGRpcgogICAgICBsZnMubWtkaXIoYWNjdW0pCiAgICBlbmQKICAgIHJldHVybiBsZnMuYXR0cmlidXRlcyhwYXRoLCAibW9kZSIpCiAgZW5kCiAgbm9ybWFsaXplX2RpciA9IGZ1bmN0aW9uKHBhdGgpCiAgICByZXR1cm4gcGF0aDptYXRjaCgiXiguLSlbIiAuLiB0b3N0cmluZyhkaXJzZXBfY2hhcnMpIC4uICJdKiQiKSAuLiBkaXJzZXAKICBlbmQKICBwYXJzZV9kaXIgPSBmdW5jdGlvbihwYXRoKQogICAgcmV0dXJuIChwYXRoOm1hdGNoKCJeKC4tKVteIiAuLiB0b3N0cmluZyhkaXJzZXBfY2hhcnMpIC4uICJdKiQiKSkKICBlbmQKICBwYXJzZV9maWxlID0gZnVuY3Rpb24ocGF0aCkKICAgIHJldHVybiAocGF0aDptYXRjaCgiXi4tKFteIiAuLiB0b3N0cmluZyhkaXJzZXBfY2hhcnMpIC4uICJdKikkIikpCiAgZW5kCiAgY29udmVydF9wYXRoID0gZnVuY3Rpb24ocGF0aCkKICAgIGxvY2FsIG5ld19wYXRoID0gcGF0aDpnc3ViKCIlLm1vb24kIiwgIi5sdWEiKQogICAgaWYgbmV3X3BhdGggPT0gcGF0aCB0aGVuCiAgICAgIG5ld19wYXRoID0gcGF0aCAuLiAiLmx1YSIKICAgIGVuZAogICAgcmV0dXJuIG5ld19wYXRoCiAgZW5kCiAgZm9ybWF0X3RpbWUgPSBmdW5jdGlvbih0aW1lKQogICAgcmV0dXJuICgiJS4zZm1zIik6Zm9ybWF0KHRpbWUgKiAxMDAwKQogIGVuZAogIGRvCiAgICBsb2NhbCBzb2NrZXQKICAgIGdldHRpbWUgPSBmdW5jdGlvbigpCiAgICAgIGlmIHNvY2tldCA9PSBuaWwgdGhlbgogICAgICAgIHBjYWxsKGZ1bmN0aW9uKCkKICAgICAgICAgIHNvY2tldCA9IHJlcXVpcmUoInNvY2tldCIpCiAgICAgICAgZW5kKQogICAgICAgIGlmIG5vdCAoc29ja2V0KSB0aGVuCiAgICAgICAgICBzb2NrZXQgPSBmYWxzZQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgaWYgc29ja2V0IHRoZW4KICAgICAgICByZXR1cm4gc29ja2V0LmdldHRpbWUoKQogICAgICBlbHNlCiAgICAgICAgcmV0dXJuIG5pbCwgIkx1YVNvY2tldCBuZWVkZWQgZm9yIGJlbmNobWFyayIKICAgICAgZW5kCiAgICBlbmQKICBlbmQKICBjb21waWxlX2ZpbGVfdGV4dCA9IGZ1bmN0aW9uKHRleHQsIG9wdHMpCiAgICBpZiBvcHRzID09IG5pbCB0aGVuCiAgICAgIG9wdHMgPSB7IH0KICAgIGVuZAogICAgbG9jYWwgcGFyc2UgPSByZXF1aXJlKCJtb29uc2NyaXB0LnBhcnNlIikKICAgIGxvY2FsIGNvbXBpbGUgPSByZXF1aXJlKCJtb29uc2NyaXB0LmNvbXBpbGUiKQogICAgbG9jYWwgcGFyc2VfdGltZQogICAgaWYgb3B0cy5iZW5jaG1hcmsgdGhlbgogICAgICBwYXJzZV90aW1lID0gYXNzZXJ0KGdldHRpbWUoKSkKICAgIGVuZAogICAgbG9jYWwgdHJlZSwgZXJyID0gcGFyc2Uuc3RyaW5nKHRleHQpCiAgICBpZiBub3QgKHRyZWUpIHRoZW4KICAgICAgcmV0dXJuIG5pbCwgZXJyCiAgICBlbmQKICAgIGlmIHBhcnNlX3RpbWUgdGhlbgogICAgICBwYXJzZV90aW1lID0gZ2V0dGltZSgpIC0gcGFyc2VfdGltZQogICAgZW5kCiAgICBpZiBvcHRzLnNob3dfcGFyc2VfdHJlZSB0aGVuCiAgICAgIGxvY2FsIGR1bXAgPSByZXF1aXJlKCJtb29uc2NyaXB0LmR1bXAiKQogICAgICBkdW1wLnRyZWUodHJlZSkKICAgICAgcmV0dXJuIHRydWUKICAgIGVuZAogICAgbG9jYWwgY29tcGlsZV90aW1lCiAgICBpZiBvcHRzLmJlbmNobWFyayB0aGVuCiAgICAgIGNvbXBpbGVfdGltZSA9IGdldHRpbWUoKQogICAgZW5kCiAgICBsb2NhbCBjb2RlLCBwb3NtYXBfb3JfZXJyLCBlcnJfcG9zID0gY29tcGlsZS50cmVlKHRyZWUpCiAgICBpZiBub3QgKGNvZGUpIHRoZW4KICAgICAgcmV0dXJuIG5pbCwgY29tcGlsZS5mb3JtYXRfZXJyb3IocG9zbWFwX29yX2VyciwgZXJyX3BvcywgdGV4dCkKICAgIGVuZAogICAgaWYgY29tcGlsZV90aW1lIHRoZW4KICAgICAgY29tcGlsZV90aW1lID0gZ2V0dGltZSgpIC0gY29tcGlsZV90aW1lCiAgICBlbmQKICAgIGlmIG9wdHMuc2hvd19wb3NtYXAgdGhlbgogICAgICBsb2NhbCBkZWJ1Z19wb3NtYXAKICAgICAgZGVidWdfcG9zbWFwID0gcmVxdWlyZSgibW9vbnNjcmlwdC51dGlsIikuZGVidWdfcG9zbWFwCiAgICAgIHByaW50KCJQb3MiLCAiTHVhIiwgIj4+IiwgIk1vb24iKQogICAgICBwcmludChkZWJ1Z19wb3NtYXAocG9zbWFwX29yX2VyciwgdGV4dCwgY29kZSkpCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICAgIGlmIG9wdHMuYmVuY2htYXJrIHRoZW4KICAgICAgcHJpbnQodGFibGUuY29uY2F0KHsKICAgICAgICBvcHRzLmZuYW1lIG9yICJzdGRpbiIsCiAgICAgICAgIlBhcnNlIHRpbWUgIFx0IiAuLiBmb3JtYXRfdGltZShwYXJzZV90aW1lKSwKICAgICAgICAiQ29tcGlsZSB0aW1lXHQiIC4uIGZvcm1hdF90aW1lKGNvbXBpbGVfdGltZSksCiAgICAgICAgIiIKICAgICAgfSwgIlxuIikpCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICAgIHJldHVybiBjb2RlCiAgZW5kCiAgd3JpdGVfZmlsZSA9IGZ1bmN0aW9uKGZuYW1lLCBjb2RlKQogICAgbWtkaXIocGFyc2VfZGlyKGZuYW1lKSkKICAgIGxvY2FsIGYsIGVyciA9IGlvLm9wZW4oZm5hbWUsICJ3IikKICAgIGlmIG5vdCAoZikgdGhlbgogICAgICByZXR1cm4gbmlsLCBlcnIKICAgIGVuZAogICAgYXNzZXJ0KGY6d3JpdGUoY29kZSkpCiAgICBhc3NlcnQoZjp3cml0ZSgiXG4iKSkKICAgIGY6Y2xvc2UoKQogICAgcmV0dXJuICJidWlsZCIKICBlbmQKICBjb21waWxlX2FuZF93cml0ZSA9IGZ1bmN0aW9uKHNyYywgZGVzdCwgb3B0cykKICAgIGlmIG9wdHMgPT0gbmlsIHRoZW4KICAgICAgb3B0cyA9IHsgfQogICAgZW5kCiAgICBsb2NhbCBmID0gaW8ub3BlbihzcmMpCiAgICBpZiBub3QgKGYpIHRoZW4KICAgICAgcmV0dXJuIG5pbCwgIkNhbid0IGZpbmQgZmlsZSIKICAgIGVuZAogICAgbG9jYWwgdGV4dCA9IGFzc2VydChmOnJlYWQoIiphIikpCiAgICBmOmNsb3NlKCkKICAgIGxvY2FsIGNvZGUsIGVyciA9IGNvbXBpbGVfZmlsZV90ZXh0KHRleHQsIG9wdHMpCiAgICBpZiBub3QgY29kZSB0aGVuCiAgICAgIHJldHVybiBuaWwsIGVycgogICAgZW5kCiAgICBpZiBjb2RlID09IHRydWUgdGhlbgogICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCiAgICBpZiBvcHRzLnByaW50IHRoZW4KICAgICAgcHJpbnQoY29kZSkKICAgICAgcmV0dXJuIHRydWUKICAgIGVuZAogICAgcmV0dXJuIHdyaXRlX2ZpbGUoZGVzdCwgY29kZSkKICBlbmQKICBpc19hYnNfcGF0aCA9IGZ1bmN0aW9uKHBhdGgpCiAgICBsb2NhbCBmaXJzdCA9IHBhdGg6c3ViKDEsIDEpCiAgICBpZiBkaXJzZXAgPT0gIlxcIiB0aGVuCiAgICAgIHJldHVybiBmaXJzdCA9PSAiLyIgb3IgZmlyc3QgPT0gIlxcIiBvciBwYXRoOnN1YigyLCAxKSA9PSAiOiIKICAgIGVsc2UKICAgICAgcmV0dXJuIGZpcnN0ID09IGRpcnNlcAogICAgZW5kCiAgZW5kCiAgcGF0aF90b190YXJnZXQgPSBmdW5jdGlvbihwYXRoLCB0YXJnZXRfZGlyLCBiYXNlX2RpcikKICAgIGlmIHRhcmdldF9kaXIgPT0gbmlsIHRoZW4KICAgICAgdGFyZ2V0X2RpciA9IG5pbAogICAgZW5kCiAgICBpZiBiYXNlX2RpciA9PSBuaWwgdGhlbgogICAgICBiYXNlX2RpciA9IG5pbAogICAgZW5kCiAgICBsb2NhbCB0YXJnZXQgPSBjb252ZXJ0X3BhdGgocGF0aCkKICAgIGlmIHRhcmdldF9kaXIgdGhlbgogICAgICB0YXJnZXRfZGlyID0gbm9ybWFsaXplX2Rpcih0YXJnZXRfZGlyKQogICAgZW5kCiAgICBpZiBiYXNlX2RpciBhbmQgdGFyZ2V0X2RpciB0aGVuCiAgICAgIGxvY2FsIGhlYWQgPSBiYXNlX2RpcjptYXRjaCgiXiguLSlbXiIgLi4gdG9zdHJpbmcoZGlyc2VwX2NoYXJzKSAuLiAiXSpbIiAuLiB0b3N0cmluZyhkaXJzZXBfY2hhcnMpIC4uICJdPyQiKQogICAgICBpZiBoZWFkIHRoZW4KICAgICAgICBsb2NhbCBzdGFydCwgc3RvcCA9IHRhcmdldDpmaW5kKGhlYWQsIDEsIHRydWUpCiAgICAgICAgaWYgc3RhcnQgPT0gMSB0aGVuCiAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQ6c3ViKHN0b3AgKyAxKQogICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZAogICAgaWYgdGFyZ2V0X2RpciB0aGVuCiAgICAgIGlmIGlzX2Fic19wYXRoKHRhcmdldCkgdGhlbgogICAgICAgIHRhcmdldCA9IHBhcnNlX2ZpbGUodGFyZ2V0KQogICAgICBlbmQKICAgICAgdGFyZ2V0ID0gdGFyZ2V0X2RpciAuLiB0YXJnZXQKICAgIGVuZAogICAgcmV0dXJuIHRhcmdldAogIGVuZAogIHJldHVybiB7CiAgICBkaXJzZXAgPSBkaXJzZXAsCiAgICBta2RpciA9IG1rZGlyLAogICAgbm9ybWFsaXplX2RpciA9IG5vcm1hbGl6ZV9kaXIsCiAgICBwYXJzZV9kaXIgPSBwYXJzZV9kaXIsCiAgICBwYXJzZV9maWxlID0gcGFyc2VfZmlsZSwKICAgIGNvbnZlcnRfcGF0aCA9IGNvbnZlcnRfcGF0aCwKICAgIGdldHRpbWUgPSBnZXR0aW1lLAogICAgZm9ybWF0X3RpbWUgPSBmb3JtYXRfdGltZSwKICAgIHBhdGhfdG9fdGFyZ2V0ID0gcGF0aF90b190YXJnZXQsCiAgICBjb21waWxlX2ZpbGVfdGV4dCA9IGNvbXBpbGVfZmlsZV90ZXh0LAogICAgY29tcGlsZV9hbmRfd3JpdGUgPSBjb21waWxlX2FuZF93cml0ZQogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5jbWQuYXJncyddID0gZnVuY3Rpb24oKQogIGxvY2FsIHVucGFjawogIHVucGFjayA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpLnVucGFjawogIGxvY2FsIHBhcnNlX3NwZWMKICBwYXJzZV9zcGVjID0gZnVuY3Rpb24oc3BlYykKICAgIGxvY2FsIGZsYWdzLCB3b3JkcwogICAgaWYgdHlwZShzcGVjKSA9PSAidGFibGUiIHRoZW4KICAgICAgZmxhZ3MsIHdvcmRzID0gdW5wYWNrKHNwZWMpLCBzcGVjCiAgICBlbHNlCiAgICAgIGZsYWdzLCB3b3JkcyA9IHNwZWMsIHsgfQogICAgZW5kCiAgICBhc3NlcnQoIm5vIGZsYWdzIGZvciBhcmd1bWVudHMiKQogICAgbG9jYWwgb3V0ID0geyB9CiAgICBmb3IgcGFydCBpbiBmbGFnczpnbWF0Y2goIiV3Oj8iKSBkbwogICAgICBpZiBwYXJ0Om1hdGNoKCI6JCIpIHRoZW4KICAgICAgICBvdXRbcGFydDpzdWIoMSwgMSldID0gewogICAgICAgICAgdmFsdWUgPSB0cnVlCiAgICAgICAgfQogICAgICBlbHNlCiAgICAgICAgb3V0W3BhcnRdID0geyB9CiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gb3V0CiAgZW5kCiAgbG9jYWwgcGFyc2VfYXJndW1lbnRzCiAgcGFyc2VfYXJndW1lbnRzID0gZnVuY3Rpb24oc3BlYywgYXJncykKICAgIHNwZWMgPSBwYXJzZV9zcGVjKHNwZWMpCiAgICBsb2NhbCBvdXQgPSB7IH0KICAgIGxvY2FsIHJlbWFpbmluZyA9IHsgfQogICAgbG9jYWwgbGFzdF9mbGFnID0gbmlsCiAgICBmb3IgX2luZGV4XzAgPSAxLCAjYXJncyBkbwogICAgICBsb2NhbCBfY29udGludWVfMCA9IGZhbHNlCiAgICAgIHJlcGVhdAogICAgICAgIGxvY2FsIGFyZyA9IGFyZ3NbX2luZGV4XzBdCiAgICAgICAgbG9jYWwgZ3JvdXAgPSB7IH0KICAgICAgICBpZiBsYXN0X2ZsYWcgdGhlbgogICAgICAgICAgb3V0W2xhc3RfZmxhZ10gPSBhcmcKICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgYnJlYWsKICAgICAgICBlbmQKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgZmxhZyA9IGFyZzptYXRjaCgiLSgldyspIikKICAgICAgICAgIGlmIGZsYWcgdGhlbgogICAgICAgICAgICBkbwogICAgICAgICAgICAgIGxvY2FsIHNob3J0X25hbWUgPSBzcGVjW2ZsYWddCiAgICAgICAgICAgICAgaWYgc2hvcnRfbmFtZSB0aGVuCiAgICAgICAgICAgICAgICBvdXRbc2hvcnRfbmFtZV0gPSB0cnVlCiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZm9yIGNoYXIgaW4gZmxhZzpnbWF0Y2goIi4iKSBkbwogICAgICAgICAgICAgICAgICBvdXRbY2hhcl0gPSB0cnVlCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICBicmVhawogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgdGFibGUuaW5zZXJ0KHJlbWFpbmluZywgYXJnKQogICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICB1bnRpbCB0cnVlCiAgICAgIGlmIG5vdCBfY29udGludWVfMCB0aGVuCiAgICAgICAgYnJlYWsKICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBvdXQsIHJlbWFpbmluZwogIGVuZAogIHJldHVybiB7CiAgICBwYXJzZV9hcmd1bWVudHMgPSBwYXJzZV9hcmd1bWVudHMsCiAgICBwYXJzZV9zcGVjID0gcGFyc2Vfc3BlYwogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5jbWQud2F0Y2hlcnMnXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCByZW1vdmVfZHVwZXMKICByZW1vdmVfZHVwZXMgPSBmdW5jdGlvbihsaXN0LCBrZXlfZm4pCiAgICBsb2NhbCBzZWVuID0geyB9CiAgICByZXR1cm4gKGZ1bmN0aW9uKCkKICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjbGlzdCBkbwogICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICByZXBlYXQKICAgICAgICAgIGxvY2FsIGl0ZW0gPSBsaXN0W19pbmRleF8wXQogICAgICAgICAgbG9jYWwga2V5CiAgICAgICAgICBpZiBrZXlfZm4gdGhlbgogICAgICAgICAgICBrZXkgPSBrZXlfZm4oaXRlbSkKICAgICAgICAgIGVsc2UKICAgICAgICAgICAga2V5ID0gaXRlbQogICAgICAgICAgZW5kCiAgICAgICAgICBpZiBzZWVuW2tleV0gdGhlbgogICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgYnJlYWsKICAgICAgICAgIGVuZAogICAgICAgICAgc2VlbltrZXldID0gdHJ1ZQogICAgICAgICAgbG9jYWwgX3ZhbHVlXzAgPSBpdGVtCiAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gX3ZhbHVlXzAKICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgIHVudGlsIHRydWUKICAgICAgICBpZiBub3QgX2NvbnRpbnVlXzAgdGhlbgogICAgICAgICAgYnJlYWsKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIHJldHVybiBfYWNjdW1fMAogICAgZW5kKSgpCiAgZW5kCiAgbG9jYWwgcGx1cmFsCiAgcGx1cmFsID0gZnVuY3Rpb24oY291bnQsIHdvcmQpCiAgICByZXR1cm4gdG9zdHJpbmcoY291bnQpIC4uICIgIiAuLiB0b3N0cmluZyh3b3JkKSAuLiB0b3N0cmluZyhjb3VudCA9PSAxIGFuZCAiIiBvciAicyIpCiAgZW5kCiAgbG9jYWwgV2F0Y2hlcgogIGRvCiAgICBsb2NhbCBfY2xhc3NfMAogICAgbG9jYWwgX2Jhc2VfMCA9IHsKICAgICAgc3RhcnRfbXNnID0gIlN0YXJ0aW5nIHdhdGNoIGxvb3AgKEN0cmwtQyB0byBleGl0KSIsCiAgICAgIHByaW50X3N0YXJ0ID0gZnVuY3Rpb24oc2VsZiwgbW9kZSwgbWlzYykKICAgICAgICByZXR1cm4gaW8uc3RkZXJyOndyaXRlKHRvc3RyaW5nKHNlbGYuc3RhcnRfbXNnKSAuLiAiIHdpdGggIiAuLiB0b3N0cmluZyhtb2RlKSAuLiAiIFsiIC4uIHRvc3RyaW5nKG1pc2MpIC4uICJdXG4iKQogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oc2VsZiwgZmlsZV9saXN0KQogICAgICAgIHNlbGYuZmlsZV9saXN0ID0gZmlsZV9saXN0CiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIldhdGNoZXIiCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBXYXRjaGVyID0gX2NsYXNzXzAKICBlbmQKICBsb2NhbCBJbm90aWZ5V2FjaGVyCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfcGFyZW50XzAgPSBXYXRjaGVyCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICBnZXRfZGlycyA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgbG9jYWwgcGFyc2VfZGlyCiAgICAgICAgcGFyc2VfZGlyID0gcmVxdWlyZSgibW9vbnNjcmlwdC5jbWQubW9vbmMiKS5wYXJzZV9kaXIKICAgICAgICBsb2NhbCBkaXJzCiAgICAgICAgZG8KICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBsb2NhbCBfbGlzdF8wID0gc2VsZi5maWxlX2xpc3QKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNfbGlzdF8wIGRvCiAgICAgICAgICAgIGxvY2FsIF9kZXNfMCA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgICAgICAgIGxvY2FsIGZpbGVfcGF0aAogICAgICAgICAgICBmaWxlX3BhdGggPSBfZGVzXzBbMV0KICAgICAgICAgICAgbG9jYWwgZGlyID0gcGFyc2VfZGlyKGZpbGVfcGF0aCkKICAgICAgICAgICAgaWYgZGlyID09ICIiIHRoZW4KICAgICAgICAgICAgICBkaXIgPSAiLi8iCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBsb2NhbCBfdmFsdWVfMCA9IGRpcgogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gX3ZhbHVlXzAKICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgZW5kCiAgICAgICAgICBkaXJzID0gX2FjY3VtXzAKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gcmVtb3ZlX2R1cGVzKGRpcnMpCiAgICAgIGVuZCwKICAgICAgZWFjaF91cGRhdGUgPSBmdW5jdGlvbihzZWxmKQogICAgICAgIHJldHVybiBjb3JvdXRpbmUud3JhcChmdW5jdGlvbigpCiAgICAgICAgICBsb2NhbCBkaXJzID0gc2VsZjpnZXRfZGlycygpCiAgICAgICAgICBzZWxmOnByaW50X3N0YXJ0KCJpbm90aWZ5IiwgcGx1cmFsKCNkaXJzLCAiZGlyIikpCiAgICAgICAgICBsb2NhbCB3ZF90YWJsZSA9IHsgfQogICAgICAgICAgbG9jYWwgaW5vdGlmeSA9IHJlcXVpcmUoImlub3RpZnkiKQogICAgICAgICAgbG9jYWwgaGFuZGxlID0gaW5vdGlmeS5pbml0KCkKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNkaXJzIGRvCiAgICAgICAgICAgIGxvY2FsIGRpciA9IGRpcnNbX2luZGV4XzBdCiAgICAgICAgICAgIGxvY2FsIHdkID0gaGFuZGxlOmFkZHdhdGNoKGRpciwgaW5vdGlmeS5JTl9DTE9TRV9XUklURSwgaW5vdGlmeS5JTl9NT1ZFRF9UTykKICAgICAgICAgICAgd2RfdGFibGVbd2RdID0gZGlyCiAgICAgICAgICBlbmQKICAgICAgICAgIHdoaWxlIHRydWUgZG8KICAgICAgICAgICAgbG9jYWwgZXZlbnRzID0gaGFuZGxlOnJlYWQoKQogICAgICAgICAgICBpZiBub3QgKGV2ZW50cykgdGhlbgogICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjZXZlbnRzIGRvCiAgICAgICAgICAgICAgbG9jYWwgX2NvbnRpbnVlXzAgPSBmYWxzZQogICAgICAgICAgICAgIHJlcGVhdAogICAgICAgICAgICAgICAgbG9jYWwgZXYgPSBldmVudHNbX2luZGV4XzBdCiAgICAgICAgICAgICAgICBsb2NhbCBmbmFtZSA9IGV2Lm5hbWUKICAgICAgICAgICAgICAgIGlmIG5vdCAoZm5hbWU6bWF0Y2goIiUubW9vbiQiKSkgdGhlbgogICAgICAgICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgbG9jYWwgZGlyID0gd2RfdGFibGVbZXYud2RdCiAgICAgICAgICAgICAgICBpZiBkaXIgfj0gIi4vIiB0aGVuCiAgICAgICAgICAgICAgICAgIGZuYW1lID0gZGlyIC4uIGZuYW1lCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGNvcm91dGluZS55aWVsZChmbmFtZSkKICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgIHVudGlsIHRydWUKICAgICAgICAgICAgICBpZiBub3QgX2NvbnRpbnVlXzAgdGhlbgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICBlbmQpCiAgICAgIGVuZAogICAgfQogICAgX2Jhc2VfMC5fX2luZGV4ID0gX2Jhc2VfMAogICAgc2V0bWV0YXRhYmxlKF9iYXNlXzAsIF9wYXJlbnRfMC5fX2Jhc2UpCiAgICBfY2xhc3NfMCA9IHNldG1ldGF0YWJsZSh7CiAgICAgIF9faW5pdCA9IGZ1bmN0aW9uKHNlbGYsIC4uLikKICAgICAgICByZXR1cm4gX2NsYXNzXzAuX19wYXJlbnQuX19pbml0KHNlbGYsIC4uLikKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiSW5vdGlmeVdhY2hlciIsCiAgICAgIF9fcGFyZW50ID0gX3BhcmVudF8wCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBmdW5jdGlvbihjbHMsIG5hbWUpCiAgICAgICAgbG9jYWwgdmFsID0gcmF3Z2V0KF9iYXNlXzAsIG5hbWUpCiAgICAgICAgaWYgdmFsID09IG5pbCB0aGVuCiAgICAgICAgICBsb2NhbCBwYXJlbnQgPSByYXdnZXQoY2xzLCAiX19wYXJlbnQiKQogICAgICAgICAgaWYgcGFyZW50IHRoZW4KICAgICAgICAgICAgcmV0dXJuIHBhcmVudFtuYW1lXQogICAgICAgICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIHZhbAogICAgICAgIGVuZAogICAgICBlbmQsCiAgICAgIF9fY2FsbCA9IGZ1bmN0aW9uKGNscywgLi4uKQogICAgICAgIGxvY2FsIF9zZWxmXzAgPSBzZXRtZXRhdGFibGUoe30sIF9iYXNlXzApCiAgICAgICAgY2xzLl9faW5pdChfc2VsZl8wLCAuLi4pCiAgICAgICAgcmV0dXJuIF9zZWxmXzAKICAgICAgZW5kCiAgICB9KQogICAgX2Jhc2VfMC5fX2NsYXNzID0gX2NsYXNzXzAKICAgIGxvY2FsIHNlbGYgPSBfY2xhc3NfMAogICAgc2VsZi5hdmFpbGFibGUgPSBmdW5jdGlvbihzZWxmKQogICAgICByZXR1cm4gcGNhbGwoZnVuY3Rpb24oKQogICAgICAgIHJldHVybiByZXF1aXJlKCJpbm90aWZ5IikKICAgICAgZW5kKQogICAgZW5kCiAgICBpZiBfcGFyZW50XzAuX19pbmhlcml0ZWQgdGhlbgogICAgICBfcGFyZW50XzAuX19pbmhlcml0ZWQoX3BhcmVudF8wLCBfY2xhc3NfMCkKICAgIGVuZAogICAgSW5vdGlmeVdhY2hlciA9IF9jbGFzc18wCiAgZW5kCiAgbG9jYWwgU2xlZXBXYXRjaGVyCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfcGFyZW50XzAgPSBXYXRjaGVyCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICBwb2xsaW5nX3JhdGUgPSAxLjAsCiAgICAgIGdldF9zbGVlcF9mdW5jID0gZnVuY3Rpb24oc2VsZikKICAgICAgICBsb2NhbCBzbGVlcAogICAgICAgIHBjYWxsKGZ1bmN0aW9uKCkKICAgICAgICAgIHNsZWVwID0gcmVxdWlyZSgic29ja2V0Iikuc2xlZXAKICAgICAgICBlbmQpCiAgICAgICAgc2xlZXAgPSBzbGVlcCBvciByZXF1aXJlKCJtb29uc2NyaXB0IikuX3NsZWVwCiAgICAgICAgaWYgbm90IChzbGVlcCkgdGhlbgogICAgICAgICAgZXJyb3IoIk1pc3Npbmcgc2xlZXAgZnVuY3Rpb247IGluc3RhbGwgTHVhU29ja2V0IikKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gc2xlZXAKICAgICAgZW5kLAogICAgICBlYWNoX3VwZGF0ZSA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuIGNvcm91dGluZS53cmFwKGZ1bmN0aW9uKCkKICAgICAgICAgIGxvY2FsIGxmcyA9IHJlcXVpcmUoImxmcyIpCiAgICAgICAgICBsb2NhbCBzbGVlcCA9IHNlbGY6Z2V0X3NsZWVwX2Z1bmMoKQogICAgICAgICAgc2VsZjpwcmludF9zdGFydCgicG9sbGluZyIsIHBsdXJhbCgjc2VsZi5maWxlX2xpc3QsICJmaWxlcyIpKQogICAgICAgICAgbG9jYWwgbW9kX3RpbWUgPSB7IH0KICAgICAgICAgIHdoaWxlIHRydWUgZG8KICAgICAgICAgICAgbG9jYWwgX2xpc3RfMCA9IHNlbGYuZmlsZV9saXN0CiAgICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNfbGlzdF8wIGRvCiAgICAgICAgICAgICAgbG9jYWwgX2NvbnRpbnVlXzAgPSBmYWxzZQogICAgICAgICAgICAgIHJlcGVhdAogICAgICAgICAgICAgICAgbG9jYWwgX2Rlc18wID0gX2xpc3RfMFtfaW5kZXhfMF0KICAgICAgICAgICAgICAgIGxvY2FsIGZpbGUKICAgICAgICAgICAgICAgIGZpbGUgPSBfZGVzXzBbMV0KICAgICAgICAgICAgICAgIGxvY2FsIHRpbWUgPSBsZnMuYXR0cmlidXRlcyhmaWxlLCAibW9kaWZpY2F0aW9uIikKICAgICAgICAgICAgICAgIHByaW50KGZpbGUsIHRpbWUpCiAgICAgICAgICAgICAgICBpZiBub3QgKHRpbWUpIHRoZW4KICAgICAgICAgICAgICAgICAgbW9kX3RpbWVbZmlsZV0gPSBuaWwKICAgICAgICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGlmIG5vdCAobW9kX3RpbWVbZmlsZV0pIHRoZW4KICAgICAgICAgICAgICAgICAgbW9kX3RpbWVbZmlsZV0gPSB0aW1lCiAgICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBpZiB0aW1lID4gbW9kX3RpbWVbZmlsZV0gdGhlbgogICAgICAgICAgICAgICAgICBtb2RfdGltZVtmaWxlXSA9IHRpbWUKICAgICAgICAgICAgICAgICAgY29yb3V0aW5lLnlpZWxkKGZpbGUpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgIHVudGlsIHRydWUKICAgICAgICAgICAgICBpZiBub3QgX2NvbnRpbnVlXzAgdGhlbgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHNsZWVwKHNlbGYucG9sbGluZ19yYXRlKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kKQogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIHNldG1ldGF0YWJsZShfYmFzZV8wLCBfcGFyZW50XzAuX19iYXNlKQogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmLCAuLi4pCiAgICAgICAgcmV0dXJuIF9jbGFzc18wLl9fcGFyZW50Ll9faW5pdChzZWxmLCAuLi4pCiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIlNsZWVwV2F0Y2hlciIsCiAgICAgIF9fcGFyZW50ID0gX3BhcmVudF8wCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBmdW5jdGlvbihjbHMsIG5hbWUpCiAgICAgICAgbG9jYWwgdmFsID0gcmF3Z2V0KF9iYXNlXzAsIG5hbWUpCiAgICAgICAgaWYgdmFsID09IG5pbCB0aGVuCiAgICAgICAgICBsb2NhbCBwYXJlbnQgPSByYXdnZXQoY2xzLCAiX19wYXJlbnQiKQogICAgICAgICAgaWYgcGFyZW50IHRoZW4KICAgICAgICAgICAgcmV0dXJuIHBhcmVudFtuYW1lXQogICAgICAgICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIHZhbAogICAgICAgIGVuZAogICAgICBlbmQsCiAgICAgIF9fY2FsbCA9IGZ1bmN0aW9uKGNscywgLi4uKQogICAgICAgIGxvY2FsIF9zZWxmXzAgPSBzZXRtZXRhdGFibGUoe30sIF9iYXNlXzApCiAgICAgICAgY2xzLl9faW5pdChfc2VsZl8wLCAuLi4pCiAgICAgICAgcmV0dXJuIF9zZWxmXzAKICAgICAgZW5kCiAgICB9KQogICAgX2Jhc2VfMC5fX2NsYXNzID0gX2NsYXNzXzAKICAgIGlmIF9wYXJlbnRfMC5fX2luaGVyaXRlZCB0aGVuCiAgICAgIF9wYXJlbnRfMC5fX2luaGVyaXRlZChfcGFyZW50XzAsIF9jbGFzc18wKQogICAgZW5kCiAgICBTbGVlcFdhdGNoZXIgPSBfY2xhc3NfMAogIGVuZAogIHJldHVybiB7CiAgICBXYXRjaGVyID0gV2F0Y2hlciwKICAgIFNsZWVwV2F0Y2hlciA9IFNsZWVwV2F0Y2hlciwKICAgIElub3RpZnlXYWNoZXIgPSBJbm90aWZ5V2FjaGVyCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LmNtZC5jb3ZlcmFnZSddID0gZnVuY3Rpb24oKQogIGxvY2FsIGxvZwogIGxvZyA9IGZ1bmN0aW9uKHN0cikKICAgIGlmIHN0ciA9PSBuaWwgdGhlbgogICAgICBzdHIgPSAiIgogICAgZW5kCiAgICByZXR1cm4gaW8uc3RkZXJyOndyaXRlKHN0ciAuLiAiXG4iKQogIGVuZAogIGxvY2FsIGNyZWF0ZV9jb3VudGVyCiAgY3JlYXRlX2NvdW50ZXIgPSBmdW5jdGlvbigpCiAgICByZXR1cm4gc2V0bWV0YXRhYmxlKHsgfSwgewogICAgICBfX2luZGV4ID0gZnVuY3Rpb24oc2VsZiwgbmFtZSkKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgdGJsID0gc2V0bWV0YXRhYmxlKHsgfSwgewogICAgICAgICAgICBfX2luZGV4ID0gZnVuY3Rpb24oc2VsZikKICAgICAgICAgICAgICByZXR1cm4gMAogICAgICAgICAgICBlbmQKICAgICAgICAgIH0pCiAgICAgICAgICBzZWxmW25hbWVdID0gdGJsCiAgICAgICAgICByZXR1cm4gdGJsCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgfSkKICBlbmQKICBsb2NhbCBwb3NpdGlvbl90b19saW5lcwogIHBvc2l0aW9uX3RvX2xpbmVzID0gZnVuY3Rpb24oZmlsZV9jb250ZW50LCBwb3NpdGlvbnMpCiAgICBsb2NhbCBsaW5lcyA9IHsgfQogICAgbG9jYWwgY3VycmVudF9wb3MgPSAwCiAgICBsb2NhbCBsaW5lX25vID0gMQogICAgZm9yIGNoYXIgaW4gZmlsZV9jb250ZW50OmdtYXRjaCgiLiIpIGRvCiAgICAgIGRvCiAgICAgICAgbG9jYWwgY291bnQgPSByYXdnZXQocG9zaXRpb25zLCBjdXJyZW50X3BvcykKICAgICAgICBpZiBjb3VudCB0aGVuCiAgICAgICAgICBsaW5lc1tsaW5lX25vXSA9IGNvdW50CiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICBpZiBjaGFyID09ICJcbiIgdGhlbgogICAgICAgIGxpbmVfbm8gPSBsaW5lX25vICsgMQogICAgICBlbmQKICAgICAgY3VycmVudF9wb3MgPSBjdXJyZW50X3BvcyArIDEKICAgIGVuZAogICAgcmV0dXJuIGxpbmVzCiAgZW5kCiAgbG9jYWwgZm9ybWF0X2ZpbGUKICBmb3JtYXRfZmlsZSA9IGZ1bmN0aW9uKGZuYW1lLCBwb3NpdGlvbnMpCiAgICBmbmFtZSA9IGZuYW1lOmdzdWIoIl5AIiwgIiIpCiAgICBsb2NhbCBmaWxlID0gYXNzZXJ0KGlvLm9wZW4oZm5hbWUpKQogICAgbG9jYWwgY29udGVudCA9IGZpbGU6cmVhZCgiKmEiKQogICAgZmlsZTpjbG9zZSgpCiAgICBsb2NhbCBsaW5lcyA9IHBvc2l0aW9uX3RvX2xpbmVzKGNvbnRlbnQsIHBvc2l0aW9ucykKICAgIGxvZygiLS0tLS0tfCBAIiAuLiB0b3N0cmluZyhmbmFtZSkpCiAgICBsb2NhbCBsaW5lX25vID0gMQogICAgZm9yIGxpbmUgaW4gKGNvbnRlbnQgLi4gIlxuIik6Z21hdGNoKCIoLi0pXG4iKSBkbwogICAgICBsb2NhbCBmb3JhbXR0ZWRfbm8gPSAoIiUgNWQiKTpmb3JtYXQobGluZV9ubykKICAgICAgbG9jYWwgc3ltID0gbGluZXNbbGluZV9ub10gYW5kICIqIiBvciAiICIKICAgICAgbG9nKHRvc3RyaW5nKHN5bSkgLi4gdG9zdHJpbmcoZm9yYW10dGVkX25vKSAuLiAifCAiIC4uIHRvc3RyaW5nKGxpbmUpKQogICAgICBsaW5lX25vID0gbGluZV9ubyArIDEKICAgIGVuZAogICAgcmV0dXJuIGxvZygpCiAgZW5kCiAgbG9jYWwgQ29kZUNvdmVyYWdlCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICByZXNldCA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgc2VsZi5saW5lX2NvdW50cyA9IGNyZWF0ZV9jb3VudGVyKCkKICAgICAgZW5kLAogICAgICBzdGFydCA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuIGRlYnVnLnNldGhvb2soKGZ1bmN0aW9uKCkKICAgICAgICAgIGxvY2FsIF9iYXNlXzEgPSBzZWxmCiAgICAgICAgICBsb2NhbCBfZm5fMCA9IF9iYXNlXzEucHJvY2Vzc19saW5lCiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oLi4uKQogICAgICAgICAgICByZXR1cm4gX2ZuXzAoX2Jhc2VfMSwgLi4uKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kKSgpLCAibCIpCiAgICAgIGVuZCwKICAgICAgc3RvcCA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuIGRlYnVnLnNldGhvb2soKQogICAgICBlbmQsCiAgICAgIHByaW50X3Jlc3VsdHMgPSBmdW5jdGlvbihzZWxmKQogICAgICAgIHJldHVybiBzZWxmOmZvcm1hdF9yZXN1bHRzKCkKICAgICAgZW5kLAogICAgICBwcm9jZXNzX2xpbmUgPSBmdW5jdGlvbihzZWxmLCBfLCBsaW5lX25vKQogICAgICAgIGxvY2FsIGRlYnVnX2RhdGEgPSBkZWJ1Zy5nZXRpbmZvKDIsICJTIikKICAgICAgICBsb2NhbCBzb3VyY2UgPSBkZWJ1Z19kYXRhLnNvdXJjZQogICAgICAgIHNlbGYubGluZV9jb3VudHNbc291cmNlXVtsaW5lX25vXSA9IHNlbGYubGluZV9jb3VudHNbc291cmNlXVtsaW5lX25vXSArIDEKICAgICAgZW5kLAogICAgICBmb3JtYXRfcmVzdWx0cyA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgbG9jYWwgbGluZV90YWJsZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQubGluZV90YWJsZXMiKQogICAgICAgIGxvY2FsIHBvc2l0aW9ucyA9IGNyZWF0ZV9jb3VudGVyKCkKICAgICAgICBmb3IgZmlsZSwgbGluZXMgaW4gcGFpcnMoc2VsZi5saW5lX2NvdW50cykgZG8KICAgICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICAgIHJlcGVhdAogICAgICAgICAgICBsb2NhbCBmaWxlX3RhYmxlID0gbGluZV90YWJsZVtmaWxlXQogICAgICAgICAgICBpZiBub3QgKGZpbGVfdGFibGUpIHRoZW4KICAgICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBlbmQKICAgICAgICAgICAgZm9yIGxpbmUsIGNvdW50IGluIHBhaXJzKGxpbmVzKSBkbwogICAgICAgICAgICAgIGxvY2FsIF9jb250aW51ZV8xID0gZmFsc2UKICAgICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgIGxvY2FsIHBvc2l0aW9uID0gZmlsZV90YWJsZVtsaW5lXQogICAgICAgICAgICAgICAgaWYgbm90IChwb3NpdGlvbikgdGhlbgogICAgICAgICAgICAgICAgICBfY29udGludWVfMSA9IHRydWUKICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgcG9zaXRpb25zW2ZpbGVdW3Bvc2l0aW9uXSA9IHBvc2l0aW9uc1tmaWxlXVtwb3NpdGlvbl0gKyBjb3VudAogICAgICAgICAgICAgICAgX2NvbnRpbnVlXzEgPSB0cnVlCiAgICAgICAgICAgICAgdW50aWwgdHJ1ZQogICAgICAgICAgICAgIGlmIG5vdCBfY29udGludWVfMSB0aGVuCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICB1bnRpbCB0cnVlCiAgICAgICAgICBpZiBub3QgX2NvbnRpbnVlXzAgdGhlbgogICAgICAgICAgICBicmVhawogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgZm9yIGZpbGUsIHBzIGluIHBhaXJzKHBvc2l0aW9ucykgZG8KICAgICAgICAgIGZvcm1hdF9maWxlKGZpbGUsIHBzKQogICAgICAgIGVuZAogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oc2VsZikKICAgICAgICByZXR1cm4gc2VsZjpyZXNldCgpCiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIkNvZGVDb3ZlcmFnZSIKICAgIH0sIHsKICAgICAgX19pbmRleCA9IF9iYXNlXzAsCiAgICAgIF9fY2FsbCA9IGZ1bmN0aW9uKGNscywgLi4uKQogICAgICAgIGxvY2FsIF9zZWxmXzAgPSBzZXRtZXRhdGFibGUoe30sIF9iYXNlXzApCiAgICAgICAgY2xzLl9faW5pdChfc2VsZl8wLCAuLi4pCiAgICAgICAgcmV0dXJuIF9zZWxmXzAKICAgICAgZW5kCiAgICB9KQogICAgX2Jhc2VfMC5fX2NsYXNzID0gX2NsYXNzXzAKICAgIENvZGVDb3ZlcmFnZSA9IF9jbGFzc18wCiAgZW5kCiAgcmV0dXJuIHsKICAgIENvZGVDb3ZlcmFnZSA9IENvZGVDb3ZlcmFnZQogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5jbWQubGludCddID0gZnVuY3Rpb24oKQogIGxvY2FsIGluc2VydAogIGluc2VydCA9IHRhYmxlLmluc2VydAogIGxvY2FsIFNldAogIFNldCA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZGF0YSIpLlNldAogIGxvY2FsIEJsb2NrCiAgQmxvY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LmNvbXBpbGUiKS5CbG9jawogIGxvY2FsIG10eXBlCiAgbXR5cGUgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS5tb29uLnR5cGUKICBsb2NhbCBkZWZhdWx0X3doaXRlbGlzdCA9IFNldCh7CiAgICAnX0cnLAogICAgJ19WRVJTSU9OJywKICAgICdhc3NlcnQnLAogICAgJ2JpdDMyJywKICAgICdjb2xsZWN0Z2FyYmFnZScsCiAgICAnY29yb3V0aW5lJywKICAgICdkZWJ1ZycsCiAgICAnZG9maWxlJywKICAgICdlcnJvcicsCiAgICAnZ2V0ZmVudicsCiAgICAnZ2V0bWV0YXRhYmxlJywKICAgICdpbycsCiAgICAnaXBhaXJzJywKICAgICdsb2FkJywKICAgICdsb2FkZmlsZScsCiAgICAnbG9hZHN0cmluZycsCiAgICAnbWF0aCcsCiAgICAnbW9kdWxlJywKICAgICduZXh0JywKICAgICdvcycsCiAgICAncGFja2FnZScsCiAgICAncGFpcnMnLAogICAgJ3BjYWxsJywKICAgICdwcmludCcsCiAgICAncmF3ZXF1YWwnLAogICAgJ3Jhd2dldCcsCiAgICAncmF3bGVuJywKICAgICdyYXdzZXQnLAogICAgJ3JlcXVpcmUnLAogICAgJ3NlbGVjdCcsCiAgICAnc2V0ZmVudicsCiAgICAnc2V0bWV0YXRhYmxlJywKICAgICdzdHJpbmcnLAogICAgJ3RhYmxlJywKICAgICd0b251bWJlcicsCiAgICAndG9zdHJpbmcnLAogICAgJ3R5cGUnLAogICAgJ3VucGFjaycsCiAgICAneHBjYWxsJywKICAgICJuaWwiLAogICAgInRydWUiLAogICAgImZhbHNlIgogIH0pCiAgbG9jYWwgTGludGVyQmxvY2sKICBkbwogICAgbG9jYWwgX2NsYXNzXzAKICAgIGxvY2FsIF9wYXJlbnRfMCA9IEJsb2NrCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICBsaW50X21hcmtfdXNlZCA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUpCiAgICAgICAgaWYgc2VsZi5saW50X3VudXNlZF9uYW1lcyBhbmQgc2VsZi5saW50X3VudXNlZF9uYW1lc1tuYW1lXSB0aGVuCiAgICAgICAgICBzZWxmLmxpbnRfdW51c2VkX25hbWVzW25hbWVdID0gZmFsc2UKICAgICAgICAgIHJldHVybiAKICAgICAgICBlbmQKICAgICAgICBpZiBzZWxmLnBhcmVudCB0aGVuCiAgICAgICAgICByZXR1cm4gc2VsZi5wYXJlbnQ6bGludF9tYXJrX3VzZWQobmFtZSkKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBsaW50X2NoZWNrX3VudXNlZCA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgaWYgbm90IChzZWxmLmxpbnRfdW51c2VkX25hbWVzIGFuZCBuZXh0KHNlbGYubGludF91bnVzZWRfbmFtZXMpKSB0aGVuCiAgICAgICAgICByZXR1cm4gCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgbmFtZXNfYnlfcG9zaXRpb24gPSB7IH0KICAgICAgICBmb3IgbmFtZSwgcG9zIGluIHBhaXJzKHNlbGYubGludF91bnVzZWRfbmFtZXMpIGRvCiAgICAgICAgICBsb2NhbCBfY29udGludWVfMCA9IGZhbHNlCiAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgaWYgbm90IChwb3MpIHRoZW4KICAgICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBlbmQKICAgICAgICAgICAgbmFtZXNfYnlfcG9zaXRpb25bcG9zXSA9IG5hbWVzX2J5X3Bvc2l0aW9uW3Bvc10gb3IgeyB9CiAgICAgICAgICAgIGluc2VydChuYW1lc19ieV9wb3NpdGlvbltwb3NdLCBuYW1lKQogICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgIHVudGlsIHRydWUKICAgICAgICAgIGlmIG5vdCBfY29udGludWVfMCB0aGVuCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBsb2NhbCB0dXBsZXMKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBwb3MsIG5hbWVzIGluIHBhaXJzKG5hbWVzX2J5X3Bvc2l0aW9uKSBkbwogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gewogICAgICAgICAgICAgIHBvcywKICAgICAgICAgICAgICBuYW1lcwogICAgICAgICAgICB9CiAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIGVuZAogICAgICAgICAgdHVwbGVzID0gX2FjY3VtXzAKICAgICAgICBlbmQKICAgICAgICB0YWJsZS5zb3J0KHR1cGxlcywgZnVuY3Rpb24oYSwgYikKICAgICAgICAgIHJldHVybiBhWzFdIDwgYlsxXQogICAgICAgIGVuZCkKICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjdHVwbGVzIGRvCiAgICAgICAgICBsb2NhbCBfZGVzXzAgPSB0dXBsZXNbX2luZGV4XzBdCiAgICAgICAgICBsb2NhbCBwb3MsIG5hbWVzCiAgICAgICAgICBwb3MsIG5hbWVzID0gX2Rlc18wWzFdLCBfZGVzXzBbMl0KICAgICAgICAgIGluc2VydChzZWxmOmdldF9yb290X2Jsb2NrKCkubGludF9lcnJvcnMsIHsKICAgICAgICAgICAgImFzc2lnbmVkIGJ1dCB1bnVzZWQgIiAuLiB0b3N0cmluZyh0YWJsZS5jb25jYXQoKGZ1bmN0aW9uKCkKICAgICAgICAgICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgICBmb3IgX2luZGV4XzEgPSAxLCAjbmFtZXMgZG8KICAgICAgICAgICAgICAgIGxvY2FsIG4gPSBuYW1lc1tfaW5kZXhfMV0KICAgICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSAiYCIgLi4gdG9zdHJpbmcobikgLi4gImAiCiAgICAgICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgcmV0dXJuIF9hY2N1bV8wCiAgICAgICAgICAgIGVuZCkoKSwgIiwgIikpLAogICAgICAgICAgICBwb3MKICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgIGVuZCwKICAgICAgcmVuZGVyID0gZnVuY3Rpb24oc2VsZiwgLi4uKQogICAgICAgIHNlbGY6bGludF9jaGVja191bnVzZWQoKQogICAgICAgIHJldHVybiBfY2xhc3NfMC5fX3BhcmVudC5fX2Jhc2UucmVuZGVyKHNlbGYsIC4uLikKICAgICAgZW5kLAogICAgICBibG9jayA9IGZ1bmN0aW9uKHNlbGYsIC4uLikKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX3dpdGhfMCA9IF9jbGFzc18wLl9fcGFyZW50Ll9fYmFzZS5ibG9jayhzZWxmLCAuLi4pCiAgICAgICAgICBfd2l0aF8wLmJsb2NrID0gc2VsZi5ibG9jawogICAgICAgICAgX3dpdGhfMC5yZW5kZXIgPSBzZWxmLnJlbmRlcgogICAgICAgICAgX3dpdGhfMC5nZXRfcm9vdF9ibG9jayA9IHNlbGYuZ2V0X3Jvb3RfYmxvY2sKICAgICAgICAgIF93aXRoXzAubGludF9jaGVja191bnVzZWQgPSBzZWxmLmxpbnRfY2hlY2tfdW51c2VkCiAgICAgICAgICBfd2l0aF8wLmxpbnRfbWFya191c2VkID0gc2VsZi5saW50X21hcmtfdXNlZAogICAgICAgICAgX3dpdGhfMC52YWx1ZV9jb21waWxlcnMgPSBzZWxmLnZhbHVlX2NvbXBpbGVycwogICAgICAgICAgX3dpdGhfMC5zdGF0ZW1lbnRfY29tcGlsZXJzID0gc2VsZi5zdGF0ZW1lbnRfY29tcGlsZXJzCiAgICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICAgIGVuZAogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIHNldG1ldGF0YWJsZShfYmFzZV8wLCBfcGFyZW50XzAuX19iYXNlKQogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmLCB3aGl0ZWxpc3RfZ2xvYmFscywgLi4uKQogICAgICAgIGlmIHdoaXRlbGlzdF9nbG9iYWxzID09IG5pbCB0aGVuCiAgICAgICAgICB3aGl0ZWxpc3RfZ2xvYmFscyA9IGRlZmF1bHRfd2hpdGVsaXN0CiAgICAgICAgZW5kCiAgICAgICAgX2NsYXNzXzAuX19wYXJlbnQuX19pbml0KHNlbGYsIC4uLikKICAgICAgICBzZWxmLmdldF9yb290X2Jsb2NrID0gZnVuY3Rpb24oKQogICAgICAgICAgcmV0dXJuIHNlbGYKICAgICAgICBlbmQKICAgICAgICBzZWxmLmxpbnRfZXJyb3JzID0geyB9CiAgICAgICAgbG9jYWwgdmMgPSBzZWxmLnZhbHVlX2NvbXBpbGVycwogICAgICAgIHNlbGYudmFsdWVfY29tcGlsZXJzID0gc2V0bWV0YXRhYmxlKHsKICAgICAgICAgIHJlZiA9IGZ1bmN0aW9uKGJsb2NrLCB2YWwpCiAgICAgICAgICAgIGxvY2FsIG5hbWUgPSB2YWxbMl0KICAgICAgICAgICAgaWYgbm90IChibG9jazpoYXNfbmFtZShuYW1lKSBvciB3aGl0ZWxpc3RfZ2xvYmFsc1tuYW1lXSBvciBuYW1lOm1hdGNoKCIlLiIpKSB0aGVuCiAgICAgICAgICAgICAgaW5zZXJ0KHNlbGYubGludF9lcnJvcnMsIHsKICAgICAgICAgICAgICAgICJhY2Nlc3NpbmcgZ2xvYmFsIGAiIC4uIHRvc3RyaW5nKG5hbWUpIC4uICJgIiwKICAgICAgICAgICAgICAgIHZhbFstMV0KICAgICAgICAgICAgICB9KQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgYmxvY2s6bGludF9tYXJrX3VzZWQobmFtZSkKICAgICAgICAgICAgcmV0dXJuIHZjLnJlZihibG9jaywgdmFsKQogICAgICAgICAgZW5kCiAgICAgICAgfSwgewogICAgICAgICAgX19pbmRleCA9IHZjCiAgICAgICAgfSkKICAgICAgICBsb2NhbCBzYyA9IHNlbGYuc3RhdGVtZW50X2NvbXBpbGVycwogICAgICAgIHNlbGYuc3RhdGVtZW50X2NvbXBpbGVycyA9IHNldG1ldGF0YWJsZSh7CiAgICAgICAgICBhc3NpZ24gPSBmdW5jdGlvbihibG9jaywgbm9kZSkKICAgICAgICAgICAgbG9jYWwgbmFtZXMgPSBub2RlWzJdCiAgICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNuYW1lcyBkbwogICAgICAgICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgIGxvY2FsIG5hbWUgPSBuYW1lc1tfaW5kZXhfMF0KICAgICAgICAgICAgICAgIGlmIHR5cGUobmFtZSkgPT0gInRhYmxlIiBhbmQgbmFtZVsxXSA9PSAidGVtcF9uYW1lIiB0aGVuCiAgICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBsb2NhbCByZWFsX25hbWUsIGlzX2xvY2FsID0gYmxvY2s6ZXh0cmFjdF9hc3NpZ25fbmFtZShuYW1lKQogICAgICAgICAgICAgICAgaWYgbm90IChpc19sb2NhbCBvciByZWFsX25hbWUgYW5kIG5vdCBibG9jazpoYXNfbmFtZShyZWFsX25hbWUsIHRydWUpKSB0aGVuCiAgICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBpZiByZWFsX25hbWUgPT0gIl8iIHRoZW4KICAgICAgICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGJsb2NrLmxpbnRfdW51c2VkX25hbWVzID0gYmxvY2subGludF91bnVzZWRfbmFtZXMgb3IgeyB9CiAgICAgICAgICAgICAgICBibG9jay5saW50X3VudXNlZF9uYW1lc1tyZWFsX25hbWVdID0gbm9kZVstMV0gb3IgMAogICAgICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgICAgdW50aWwgdHJ1ZQogICAgICAgICAgICAgIGlmIG5vdCBfY29udGludWVfMCB0aGVuCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgICAgcmV0dXJuIHNjLmFzc2lnbihibG9jaywgbm9kZSkKICAgICAgICAgIGVuZAogICAgICAgIH0sIHsKICAgICAgICAgIF9faW5kZXggPSBzYwogICAgICAgIH0pCiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIkxpbnRlckJsb2NrIiwKICAgICAgX19wYXJlbnQgPSBfcGFyZW50XzAKICAgIH0sIHsKICAgICAgX19pbmRleCA9IGZ1bmN0aW9uKGNscywgbmFtZSkKICAgICAgICBsb2NhbCB2YWwgPSByYXdnZXQoX2Jhc2VfMCwgbmFtZSkKICAgICAgICBpZiB2YWwgPT0gbmlsIHRoZW4KICAgICAgICAgIGxvY2FsIHBhcmVudCA9IHJhd2dldChjbHMsICJfX3BhcmVudCIpCiAgICAgICAgICBpZiBwYXJlbnQgdGhlbgogICAgICAgICAgICByZXR1cm4gcGFyZW50W25hbWVdCiAgICAgICAgICBlbmQKICAgICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gdmFsCiAgICAgICAgZW5kCiAgICAgIGVuZCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgaWYgX3BhcmVudF8wLl9faW5oZXJpdGVkIHRoZW4KICAgICAgX3BhcmVudF8wLl9faW5oZXJpdGVkKF9wYXJlbnRfMCwgX2NsYXNzXzApCiAgICBlbmQKICAgIExpbnRlckJsb2NrID0gX2NsYXNzXzAKICBlbmQKICBsb2NhbCBmb3JtYXRfbGludAogIGZvcm1hdF9saW50ID0gZnVuY3Rpb24oZXJyb3JzLCBjb2RlLCBoZWFkZXIpCiAgICBpZiBub3QgKG5leHQoZXJyb3JzKSkgdGhlbgogICAgICByZXR1cm4gCiAgICBlbmQKICAgIGxvY2FsIHBvc190b19saW5lLCBnZXRfbGluZQogICAgZG8KICAgICAgbG9jYWwgX29ial8wID0gcmVxdWlyZSgibW9vbnNjcmlwdC51dGlsIikKICAgICAgcG9zX3RvX2xpbmUsIGdldF9saW5lID0gX29ial8wLnBvc190b19saW5lLCBfb2JqXzAuZ2V0X2xpbmUKICAgIGVuZAogICAgbG9jYWwgZm9ybWF0dGVkCiAgICBkbwogICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNlcnJvcnMgZG8KICAgICAgICBsb2NhbCBfZGVzXzAgPSBlcnJvcnNbX2luZGV4XzBdCiAgICAgICAgbG9jYWwgbXNnLCBwb3MKICAgICAgICBtc2csIHBvcyA9IF9kZXNfMFsxXSwgX2Rlc18wWzJdCiAgICAgICAgaWYgcG9zIHRoZW4KICAgICAgICAgIGxvY2FsIGxpbmUgPSBwb3NfdG9fbGluZShjb2RlLCBwb3MpCiAgICAgICAgICBtc2cgPSAibGluZSAiIC4uIHRvc3RyaW5nKGxpbmUpIC4uICI6ICIgLi4gdG9zdHJpbmcobXNnKQogICAgICAgICAgbG9jYWwgbGluZV90ZXh0ID0gIj4gIiAuLiBnZXRfbGluZShjb2RlLCBsaW5lKQogICAgICAgICAgbG9jYWwgc2VwX2xlbiA9IG1hdGgubWF4KCNtc2csICNsaW5lX3RleHQpCiAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gdGFibGUuY29uY2F0KHsKICAgICAgICAgICAgbXNnLAogICAgICAgICAgICAoIj0iKTpyZXAoc2VwX2xlbiksCiAgICAgICAgICAgIGxpbmVfdGV4dAogICAgICAgICAgfSwgIlxuIikKICAgICAgICBlbHNlCiAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gbXNnCiAgICAgICAgZW5kCiAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICBlbmQKICAgICAgZm9ybWF0dGVkID0gX2FjY3VtXzAKICAgIGVuZAogICAgaWYgaGVhZGVyIHRoZW4KICAgICAgdGFibGUuaW5zZXJ0KGZvcm1hdHRlZCwgMSwgaGVhZGVyKQogICAgZW5kCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGZvcm1hdHRlZCwgIlxuXG4iKQogIGVuZAogIGxvY2FsIHdoaXRlbGlzdF9mb3JfZmlsZQogIGRvCiAgICBsb2NhbCBsaW50X2NvbmZpZwogICAgd2hpdGVsaXN0X2Zvcl9maWxlID0gZnVuY3Rpb24oZm5hbWUpCiAgICAgIGlmIG5vdCAobGludF9jb25maWcpIHRoZW4KICAgICAgICBsaW50X2NvbmZpZyA9IHsgfQogICAgICAgIHBjYWxsKGZ1bmN0aW9uKCkKICAgICAgICAgIGxpbnRfY29uZmlnID0gcmVxdWlyZSgibGludF9jb25maWciKQogICAgICAgIGVuZCkKICAgICAgZW5kCiAgICAgIGlmIG5vdCAobGludF9jb25maWcud2hpdGVsaXN0X2dsb2JhbHMpIHRoZW4KICAgICAgICByZXR1cm4gZGVmYXVsdF93aGl0ZWxpc3QKICAgICAgZW5kCiAgICAgIGxvY2FsIGZpbmFsX2xpc3QgPSB7IH0KICAgICAgZm9yIHBhdHRlcm4sIGxpc3QgaW4gcGFpcnMobGludF9jb25maWcud2hpdGVsaXN0X2dsb2JhbHMpIGRvCiAgICAgICAgaWYgZm5hbWU6bWF0Y2gocGF0dGVybikgdGhlbgogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI2xpc3QgZG8KICAgICAgICAgICAgbG9jYWwgaXRlbSA9IGxpc3RbX2luZGV4XzBdCiAgICAgICAgICAgIGluc2VydChmaW5hbF9saXN0LCBpdGVtKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICByZXR1cm4gc2V0bWV0YXRhYmxlKFNldChmaW5hbF9saXN0KSwgewogICAgICAgIF9faW5kZXggPSBkZWZhdWx0X3doaXRlbGlzdAogICAgICB9KQogICAgZW5kCiAgZW5kCiAgbG9jYWwgbGludF9jb2RlCiAgbGludF9jb2RlID0gZnVuY3Rpb24oY29kZSwgbmFtZSwgd2hpdGVsaXN0X2dsb2JhbHMpCiAgICBpZiBuYW1lID09IG5pbCB0aGVuCiAgICAgIG5hbWUgPSAic3RyaW5nIGlucHV0IgogICAgZW5kCiAgICBsb2NhbCBwYXJzZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQucGFyc2UiKQogICAgbG9jYWwgdHJlZSwgZXJyID0gcGFyc2Uuc3RyaW5nKGNvZGUpCiAgICBpZiBub3QgKHRyZWUpIHRoZW4KICAgICAgcmV0dXJuIG5pbCwgZXJyCiAgICBlbmQKICAgIGxvY2FsIHNjb3BlID0gTGludGVyQmxvY2sod2hpdGVsaXN0X2dsb2JhbHMpCiAgICBzY29wZTpzdG1zKHRyZWUpCiAgICBzY29wZTpsaW50X2NoZWNrX3VudXNlZCgpCiAgICByZXR1cm4gZm9ybWF0X2xpbnQoc2NvcGUubGludF9lcnJvcnMsIGNvZGUsIG5hbWUpCiAgZW5kCiAgbG9jYWwgbGludF9maWxlCiAgbGludF9maWxlID0gZnVuY3Rpb24oZm5hbWUpCiAgICBsb2NhbCBmLCBlcnIgPSBpby5vcGVuKGZuYW1lKQogICAgaWYgbm90IChmKSB0aGVuCiAgICAgIHJldHVybiBuaWwsIGVycgogICAgZW5kCiAgICByZXR1cm4gbGludF9jb2RlKGY6cmVhZCgiKmEiKSwgZm5hbWUsIHdoaXRlbGlzdF9mb3JfZmlsZShmbmFtZSkpCiAgZW5kCiAgcmV0dXJuIHsKICAgIGxpbnRfY29kZSA9IGxpbnRfY29kZSwKICAgIGxpbnRfZmlsZSA9IGxpbnRfZmlsZQogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC50cmFuc2Zvcm0nXSA9IGZ1bmN0aW9uKCkKICByZXR1cm4gewogICAgU3RhdGVtZW50ID0gcmVxdWlyZSgibW9vbnNjcmlwdC50cmFuc2Zvcm0uc3RhdGVtZW50IiksCiAgICBWYWx1ZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnZhbHVlIikKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQubGluZV90YWJsZXMnXSA9IGZ1bmN0aW9uKCkKICByZXR1cm4geyB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQuZGF0YSddID0gZnVuY3Rpb24oKQogIGxvY2FsIGNvbmNhdCwgcmVtb3ZlLCBpbnNlcnQKICBkbwogICAgbG9jYWwgX29ial8wID0gdGFibGUKICAgIGNvbmNhdCwgcmVtb3ZlLCBpbnNlcnQgPSBfb2JqXzAuY29uY2F0LCBfb2JqXzAucmVtb3ZlLCBfb2JqXzAuaW5zZXJ0CiAgZW5kCiAgbG9jYWwgU2V0CiAgU2V0ID0gZnVuY3Rpb24oaXRlbXMpCiAgICBsb2NhbCBfdGJsXzAgPSB7IH0KICAgIGZvciBfaW5kZXhfMCA9IDEsICNpdGVtcyBkbwogICAgICBsb2NhbCBrID0gaXRlbXNbX2luZGV4XzBdCiAgICAgIF90YmxfMFtrXSA9IHRydWUKICAgIGVuZAogICAgcmV0dXJuIF90YmxfMAogIGVuZAogIGxvY2FsIFN0YWNrCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICBfX3Rvc3RyaW5nID0gZnVuY3Rpb24oc2VsZikKICAgICAgICByZXR1cm4gIjxTdGFjayB7IiAuLiBjb25jYXQoc2VsZiwgIiwgIikgLi4gIn0+IgogICAgICBlbmQsCiAgICAgIHBvcCA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuIHJlbW92ZShzZWxmKQogICAgICBlbmQsCiAgICAgIHB1c2ggPSBmdW5jdGlvbihzZWxmLCB2YWx1ZSwgLi4uKQogICAgICAgIGluc2VydChzZWxmLCB2YWx1ZSkKICAgICAgICBpZiAuLi4gdGhlbgogICAgICAgICAgcmV0dXJuIHNlbGY6cHVzaCguLi4pCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIHZhbHVlCiAgICAgICAgZW5kCiAgICAgIGVuZCwKICAgICAgdG9wID0gZnVuY3Rpb24oc2VsZikKICAgICAgICByZXR1cm4gc2VsZlsjc2VsZl0KICAgICAgZW5kCiAgICB9CiAgICBfYmFzZV8wLl9faW5kZXggPSBfYmFzZV8wCiAgICBfY2xhc3NfMCA9IHNldG1ldGF0YWJsZSh7CiAgICAgIF9faW5pdCA9IGZ1bmN0aW9uKHNlbGYsIC4uLikKICAgICAgICBzZWxmOnB1c2goLi4uKQogICAgICAgIHJldHVybiBuaWwKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiU3RhY2siCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBTdGFjayA9IF9jbGFzc18wCiAgZW5kCiAgbG9jYWwgbHVhX2tleXdvcmRzID0gU2V0KHsKICAgICdhbmQnLAogICAgJ2JyZWFrJywKICAgICdkbycsCiAgICAnZWxzZScsCiAgICAnZWxzZWlmJywKICAgICdlbmQnLAogICAgJ2ZhbHNlJywKICAgICdmb3InLAogICAgJ2Z1bmN0aW9uJywKICAgICdpZicsCiAgICAnaW4nLAogICAgJ2xvY2FsJywKICAgICduaWwnLAogICAgJ25vdCcsCiAgICAnb3InLAogICAgJ3JlcGVhdCcsCiAgICAncmV0dXJuJywKICAgICd0aGVuJywKICAgICd0cnVlJywKICAgICd1bnRpbCcsCiAgICAnd2hpbGUnCiAgfSkKICByZXR1cm4gewogICAgU2V0ID0gU2V0LAogICAgU3RhY2sgPSBTdGFjaywKICAgIGx1YV9rZXl3b3JkcyA9IGx1YV9rZXl3b3JkcwogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC51dGlsJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgY29uY2F0CiAgY29uY2F0ID0gdGFibGUuY29uY2F0CiAgbG9jYWwgdW5wYWNrID0gdW5wYWNrIG9yIHRhYmxlLnVucGFjawogIGxvY2FsIHR5cGUgPSB0eXBlCiAgbG9jYWwgbW9vbiA9IHsKICAgIGlzX29iamVjdCA9IGZ1bmN0aW9uKHZhbHVlKQogICAgICByZXR1cm4gdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiBhbmQgdmFsdWUuX19jbGFzcwogICAgZW5kLAogICAgaXNfYSA9IGZ1bmN0aW9uKHRoaW5nLCB0KQogICAgICBpZiBub3QgKHR5cGUodGhpbmcpID09ICJ0YWJsZSIpIHRoZW4KICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5kCiAgICAgIGxvY2FsIGNscyA9IHRoaW5nLl9fY2xhc3MKICAgICAgd2hpbGUgY2xzIGRvCiAgICAgICAgaWYgY2xzID09IHQgdGhlbgogICAgICAgICAgcmV0dXJuIHRydWUKICAgICAgICBlbmQKICAgICAgICBjbHMgPSBjbHMuX19wYXJlbnQKICAgICAgZW5kCiAgICAgIHJldHVybiBmYWxzZQogICAgZW5kLAogICAgdHlwZSA9IGZ1bmN0aW9uKHZhbHVlKQogICAgICBsb2NhbCBiYXNlX3R5cGUgPSB0eXBlKHZhbHVlKQogICAgICBpZiBiYXNlX3R5cGUgPT0gInRhYmxlIiB0aGVuCiAgICAgICAgbG9jYWwgY2xzID0gdmFsdWUuX19jbGFzcwogICAgICAgIGlmIGNscyB0aGVuCiAgICAgICAgICByZXR1cm4gY2xzCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICByZXR1cm4gYmFzZV90eXBlCiAgICBlbmQKICB9CiAgbG9jYWwgcG9zX3RvX2xpbmUKICBwb3NfdG9fbGluZSA9IGZ1bmN0aW9uKHN0ciwgcG9zKQogICAgbG9jYWwgbGluZSA9IDEKICAgIGZvciBfIGluIHN0cjpzdWIoMSwgcG9zKTpnbWF0Y2goIlxuIikgZG8KICAgICAgbGluZSA9IGxpbmUgKyAxCiAgICBlbmQKICAgIHJldHVybiBsaW5lCiAgZW5kCiAgbG9jYWwgdHJpbQogIHRyaW0gPSBmdW5jdGlvbihzdHIpCiAgICByZXR1cm4gc3RyOm1hdGNoKCJeJXMqKC4tKSVzKiQiKQogIGVuZAogIGxvY2FsIGdldF9saW5lCiAgZ2V0X2xpbmUgPSBmdW5jdGlvbihzdHIsIGxpbmVfbnVtKQogICAgZm9yIGxpbmUgaW4gc3RyOmdtYXRjaCgiKFteXG5dKilcbj8iKSBkbwogICAgICBpZiBsaW5lX251bSA9PSAxIHRoZW4KICAgICAgICByZXR1cm4gbGluZQogICAgICBlbmQKICAgICAgbGluZV9udW0gPSBsaW5lX251bSAtIDEKICAgIGVuZAogIGVuZAogIGxvY2FsIGdldF9jbG9zZXN0X2xpbmUKICBnZXRfY2xvc2VzdF9saW5lID0gZnVuY3Rpb24oc3RyLCBsaW5lX251bSkKICAgIGxvY2FsIGxpbmUgPSBnZXRfbGluZShzdHIsIGxpbmVfbnVtKQogICAgaWYgKG5vdCBsaW5lIG9yIHRyaW0obGluZSkgPT0gIiIpIGFuZCBsaW5lX251bSA+IDEgdGhlbgogICAgICByZXR1cm4gZ2V0X2Nsb3Nlc3RfbGluZShzdHIsIGxpbmVfbnVtIC0gMSkKICAgIGVsc2UKICAgICAgcmV0dXJuIGxpbmUsIGxpbmVfbnVtCiAgICBlbmQKICBlbmQKICBsb2NhbCBzcGxpdAogIHNwbGl0ID0gZnVuY3Rpb24oc3RyLCBkZWxpbSkKICAgIGlmIHN0ciA9PSAiIiB0aGVuCiAgICAgIHJldHVybiB7IH0KICAgIGVuZAogICAgc3RyID0gc3RyIC4uIGRlbGltCiAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgbG9jYWwgX2xlbl8wID0gMQogICAgZm9yIG0gaW4gc3RyOmdtYXRjaCgiKC4tKSIgLi4gZGVsaW0pIGRvCiAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBtCiAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgIGVuZAogICAgcmV0dXJuIF9hY2N1bV8wCiAgZW5kCiAgbG9jYWwgZHVtcAogIGR1bXAgPSBmdW5jdGlvbih3aGF0KQogICAgbG9jYWwgc2VlbiA9IHsgfQogICAgbG9jYWwgX2R1bXAKICAgIF9kdW1wID0gZnVuY3Rpb24od2hhdCwgZGVwdGgpCiAgICAgIGlmIGRlcHRoID09IG5pbCB0aGVuCiAgICAgICAgZGVwdGggPSAwCiAgICAgIGVuZAogICAgICBsb2NhbCB0ID0gdHlwZSh3aGF0KQogICAgICBpZiB0ID09ICJzdHJpbmciIHRoZW4KICAgICAgICByZXR1cm4gJyInIC4uIHdoYXQgLi4gJyJcbicKICAgICAgZWxzZWlmIHQgPT0gInRhYmxlIiB0aGVuCiAgICAgICAgaWYgc2Vlblt3aGF0XSB0aGVuCiAgICAgICAgICByZXR1cm4gInJlY3Vyc2lvbigiIC4uIHRvc3RyaW5nKHdoYXQpIC4uICIpLi4uXG4iCiAgICAgICAgZW5kCiAgICAgICAgc2Vlblt3aGF0XSA9IHRydWUKICAgICAgICBkZXB0aCA9IGRlcHRoICsgMQogICAgICAgIGxvY2FsIGxpbmVzCiAgICAgICAgZG8KICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBmb3IgaywgdiBpbiBwYWlycyh3aGF0KSBkbwogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gKCIgIik6cmVwKGRlcHRoICogNCkgLi4gIlsiIC4uIHRvc3RyaW5nKGspIC4uICJdID0gIiAuLiBfZHVtcCh2LCBkZXB0aCkKICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgZW5kCiAgICAgICAgICBsaW5lcyA9IF9hY2N1bV8wCiAgICAgICAgZW5kCiAgICAgICAgc2Vlblt3aGF0XSA9IGZhbHNlCiAgICAgICAgcmV0dXJuICJ7XG4iIC4uIGNvbmNhdChsaW5lcykgLi4gKCIgIik6cmVwKChkZXB0aCAtIDEpICogNCkgLi4gIn1cbiIKICAgICAgZWxzZQogICAgICAgIHJldHVybiB0b3N0cmluZyh3aGF0KSAuLiAiXG4iCiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gX2R1bXAod2hhdCkKICBlbmQKICBsb2NhbCBkZWJ1Z19wb3NtYXAKICBkZWJ1Z19wb3NtYXAgPSBmdW5jdGlvbihwb3NtYXAsIG1vb25fY29kZSwgbHVhX2NvZGUpCiAgICBsb2NhbCB0dXBsZXMKICAgIGRvCiAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgZm9yIGssIHYgaW4gcGFpcnMocG9zbWFwKSBkbwogICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSB7CiAgICAgICAgICBrLAogICAgICAgICAgdgogICAgICAgIH0KICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgIGVuZAogICAgICB0dXBsZXMgPSBfYWNjdW1fMAogICAgZW5kCiAgICB0YWJsZS5zb3J0KHR1cGxlcywgZnVuY3Rpb24oYSwgYikKICAgICAgcmV0dXJuIGFbMV0gPCBiWzFdCiAgICBlbmQpCiAgICBsb2NhbCBsaW5lcwogICAgZG8KICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjdHVwbGVzIGRvCiAgICAgICAgbG9jYWwgcGFpciA9IHR1cGxlc1tfaW5kZXhfMF0KICAgICAgICBsb2NhbCBsdWFfbGluZSwgcG9zID0gdW5wYWNrKHBhaXIpCiAgICAgICAgbG9jYWwgbW9vbl9saW5lID0gcG9zX3RvX2xpbmUobW9vbl9jb2RlLCBwb3MpCiAgICAgICAgbG9jYWwgbHVhX3RleHQgPSBnZXRfbGluZShsdWFfY29kZSwgbHVhX2xpbmUpCiAgICAgICAgbG9jYWwgbW9vbl90ZXh0ID0gZ2V0X2Nsb3Nlc3RfbGluZShtb29uX2NvZGUsIG1vb25fbGluZSkKICAgICAgICBsb2NhbCBfdmFsdWVfMCA9IHRvc3RyaW5nKHBvcykgLi4gIlx0ICIgLi4gdG9zdHJpbmcobHVhX2xpbmUpIC4uICI6WyAiIC4uIHRvc3RyaW5nKHRyaW0obHVhX3RleHQpKSAuLiAiIF0gPj4gIiAuLiB0b3N0cmluZyhtb29uX2xpbmUpIC4uICI6WyAiIC4uIHRvc3RyaW5nKHRyaW0obW9vbl90ZXh0KSkgLi4gIiBdIgogICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfdmFsdWVfMAogICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgZW5kCiAgICAgIGxpbmVzID0gX2FjY3VtXzAKICAgIGVuZAogICAgcmV0dXJuIGNvbmNhdChsaW5lcywgIlxuIikKICBlbmQKICBsb2NhbCBzZXRmZW52ID0gc2V0ZmVudiBvciBmdW5jdGlvbihmbiwgZW52KQogICAgbG9jYWwgbmFtZQogICAgbG9jYWwgaSA9IDEKICAgIHdoaWxlIHRydWUgZG8KICAgICAgbmFtZSA9IGRlYnVnLmdldHVwdmFsdWUoZm4sIGkpCiAgICAgIGlmIG5vdCBuYW1lIG9yIG5hbWUgPT0gIl9FTlYiIHRoZW4KICAgICAgICBicmVhawogICAgICBlbmQKICAgICAgaSA9IGkgKyAxCiAgICBlbmQKICAgIGlmIG5hbWUgdGhlbgogICAgICBkZWJ1Zy51cHZhbHVlam9pbihmbiwgaSwgKGZ1bmN0aW9uKCkKICAgICAgICByZXR1cm4gZW52CiAgICAgIGVuZCksIDEpCiAgICBlbmQKICAgIHJldHVybiBmbgogIGVuZAogIGxvY2FsIGdldGZlbnYgPSBnZXRmZW52IG9yIGZ1bmN0aW9uKGZuKQogICAgbG9jYWwgaSA9IDEKICAgIHdoaWxlIHRydWUgZG8KICAgICAgbG9jYWwgbmFtZSwgdmFsID0gZGVidWcuZ2V0dXB2YWx1ZShmbiwgaSkKICAgICAgaWYgbm90IChuYW1lKSB0aGVuCiAgICAgICAgYnJlYWsKICAgICAgZW5kCiAgICAgIGlmIG5hbWUgPT0gIl9FTlYiIHRoZW4KICAgICAgICByZXR1cm4gdmFsCiAgICAgIGVuZAogICAgICBpID0gaSArIDEKICAgIGVuZAogICAgcmV0dXJuIG5pbAogIGVuZAogIGxvY2FsIGdldF9vcHRpb25zCiAgZ2V0X29wdGlvbnMgPSBmdW5jdGlvbiguLi4pCiAgICBsb2NhbCBjb3VudCA9IHNlbGVjdCgiIyIsIC4uLikKICAgIGxvY2FsIG9wdHMgPSBzZWxlY3QoY291bnQsIC4uLikKICAgIGlmIHR5cGUob3B0cykgPT0gInRhYmxlIiB0aGVuCiAgICAgIHJldHVybiBvcHRzLCB1bnBhY2soewogICAgICAgIC4uLgogICAgICB9LCBuaWwsIGNvdW50IC0gMSkKICAgIGVsc2UKICAgICAgcmV0dXJuIHsgfSwgLi4uCiAgICBlbmQKICBlbmQKICBsb2NhbCBzYWZlX21vZHVsZQogIHNhZmVfbW9kdWxlID0gZnVuY3Rpb24obmFtZSwgdGJsKQogICAgcmV0dXJuIHNldG1ldGF0YWJsZSh0YmwsIHsKICAgICAgX19pbmRleCA9IGZ1bmN0aW9uKHNlbGYsIGtleSkKICAgICAgICByZXR1cm4gZXJyb3IoIkF0dGVtcHRlZCB0byBpbXBvcnQgbm9uLWV4aXN0ZW50IGAiIC4uIHRvc3RyaW5nKGtleSkgLi4gImAgZnJvbSAiIC4uIHRvc3RyaW5nKG5hbWUpKQogICAgICBlbmQKICAgIH0pCiAgZW5kCiAgcmV0dXJuIHsKICAgIG1vb24gPSBtb29uLAogICAgcG9zX3RvX2xpbmUgPSBwb3NfdG9fbGluZSwKICAgIGdldF9jbG9zZXN0X2xpbmUgPSBnZXRfY2xvc2VzdF9saW5lLAogICAgZ2V0X2xpbmUgPSBnZXRfbGluZSwKICAgIHRyaW0gPSB0cmltLAogICAgc3BsaXQgPSBzcGxpdCwKICAgIGR1bXAgPSBkdW1wLAogICAgZGVidWdfcG9zbWFwID0gZGVidWdfcG9zbWFwLAogICAgZ2V0ZmVudiA9IGdldGZlbnYsCiAgICBzZXRmZW52ID0gc2V0ZmVudiwKICAgIGdldF9vcHRpb25zID0gZ2V0X29wdGlvbnMsCiAgICB1bnBhY2sgPSB1bnBhY2ssCiAgICBzYWZlX21vZHVsZSA9IHNhZmVfbW9kdWxlCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LmNvbXBpbGUuc3RhdGVtZW50J10gPSBmdW5jdGlvbigpCiAgbG9jYWwgbnR5cGUKICBudHlwZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKS5udHlwZQogIGxvY2FsIGNvbmNhdCwgaW5zZXJ0CiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHRhYmxlCiAgICBjb25jYXQsIGluc2VydCA9IF9vYmpfMC5jb25jYXQsIF9vYmpfMC5pbnNlcnQKICBlbmQKICBsb2NhbCB1bnBhY2sKICB1bnBhY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS51bnBhY2sKICByZXR1cm4gewogICAgcmF3ID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIHNlbGY6YWRkKG5vZGVbMl0pCiAgICBlbmQsCiAgICBsaW5lcyA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIF9saXN0XzAgPSBub2RlWzJdCiAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNfbGlzdF8wIGRvCiAgICAgICAgbG9jYWwgbGluZSA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgICAgc2VsZjphZGQobGluZSkKICAgICAgZW5kCiAgICBlbmQsCiAgICBkZWNsYXJlID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgbmFtZXMgPSBub2RlWzJdCiAgICAgIGxvY2FsIHVuZGVjbGFyZWQgPSBzZWxmOmRlY2xhcmUobmFtZXMpCiAgICAgIGlmICN1bmRlY2xhcmVkID4gMCB0aGVuCiAgICAgICAgZG8KICAgICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmxpbmUoImxvY2FsICIpCiAgICAgICAgICBfd2l0aF8wOmFwcGVuZF9saXN0KChmdW5jdGlvbigpCiAgICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI3VuZGVjbGFyZWQgZG8KICAgICAgICAgICAgICBsb2NhbCBuYW1lID0gdW5kZWNsYXJlZFtfaW5kZXhfMF0KICAgICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gc2VsZjpuYW1lKG5hbWUpCiAgICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgcmV0dXJuIF9hY2N1bV8wCiAgICAgICAgICBlbmQpKCksICIsICIpCiAgICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZCwKICAgIGRlY2xhcmVfd2l0aF9zaGFkb3dzID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgbmFtZXMgPSBub2RlWzJdCiAgICAgIHNlbGY6ZGVjbGFyZShuYW1lcykKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpsaW5lKCJsb2NhbCAiKQogICAgICAgIF93aXRoXzA6YXBwZW5kX2xpc3QoKGZ1bmN0aW9uKCkKICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjbmFtZXMgZG8KICAgICAgICAgICAgbG9jYWwgbmFtZSA9IG5hbWVzW19pbmRleF8wXQogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gc2VsZjpuYW1lKG5hbWUpCiAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIGVuZAogICAgICAgICAgcmV0dXJuIF9hY2N1bV8wCiAgICAgICAgZW5kKSgpLCAiLCAiKQogICAgICAgIHJldHVybiBfd2l0aF8wCiAgICAgIGVuZAogICAgZW5kLAogICAgYXNzaWduID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgbmFtZXMsIHZhbHVlcyA9IHVucGFjayhub2RlLCAyKQogICAgICBsb2NhbCB1bmRlY2xhcmVkID0gc2VsZjpkZWNsYXJlKG5hbWVzKQogICAgICBsb2NhbCBkZWNsYXJlID0gImxvY2FsICIgLi4gY29uY2F0KHVuZGVjbGFyZWQsICIsICIpCiAgICAgIGxvY2FsIGhhc19mbmRlZiA9IGZhbHNlCiAgICAgIGxvY2FsIGkgPSAxCiAgICAgIHdoaWxlIGkgPD0gI3ZhbHVlcyBkbwogICAgICAgIGlmIG50eXBlKHZhbHVlc1tpXSkgPT0gImZuZGVmIiB0aGVuCiAgICAgICAgICBoYXNfZm5kZWYgPSB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgaSA9IGkgKyAxCiAgICAgIGVuZAogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmxpbmUoKQogICAgICAgIGlmICN1bmRlY2xhcmVkID09ICNuYW1lcyBhbmQgbm90IGhhc19mbmRlZiB0aGVuCiAgICAgICAgICBfd2l0aF8wOmFwcGVuZChkZWNsYXJlKQogICAgICAgIGVsc2UKICAgICAgICAgIGlmICN1bmRlY2xhcmVkID4gMCB0aGVuCiAgICAgICAgICAgIHNlbGY6YWRkKGRlY2xhcmUsIG5vZGVbLTFdKQogICAgICAgICAgZW5kCiAgICAgICAgICBfd2l0aF8wOmFwcGVuZF9saXN0KChmdW5jdGlvbigpCiAgICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI25hbWVzIGRvCiAgICAgICAgICAgICAgbG9jYWwgbmFtZSA9IG5hbWVzW19pbmRleF8wXQogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBzZWxmOnZhbHVlKG5hbWUpCiAgICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgcmV0dXJuIF9hY2N1bV8wCiAgICAgICAgICBlbmQpKCksICIsICIpCiAgICAgICAgZW5kCiAgICAgICAgX3dpdGhfMDphcHBlbmQoIiA9ICIpCiAgICAgICAgX3dpdGhfMDphcHBlbmRfbGlzdCgoZnVuY3Rpb24oKQogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICN2YWx1ZXMgZG8KICAgICAgICAgICAgbG9jYWwgdiA9IHZhbHVlc1tfaW5kZXhfMF0KICAgICAgICAgICAgX2FjY3VtXzBbX2xlbl8wXSA9IHNlbGY6dmFsdWUodikKICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgZW5kCiAgICAgICAgICByZXR1cm4gX2FjY3VtXzAKICAgICAgICBlbmQpKCksICIsICIpCiAgICAgICAgcmV0dXJuIF93aXRoXzAKICAgICAgZW5kCiAgICBlbmQsCiAgICBbInJldHVybiJdID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIHNlbGY6bGluZSgicmV0dXJuICIsIChmdW5jdGlvbigpCiAgICAgICAgaWYgbm9kZVsyXSB+PSAiIiB0aGVuCiAgICAgICAgICByZXR1cm4gc2VsZjp2YWx1ZShub2RlWzJdKQogICAgICAgIGVuZAogICAgICBlbmQpKCkpCiAgICBlbmQsCiAgICBbImJyZWFrIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gImJyZWFrIgogICAgZW5kLAogICAgWyJpZiJdID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgY29uZCwgYmxvY2sgPSBub2RlWzJdLCBub2RlWzNdCiAgICAgIGxvY2FsIHJvb3QKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpibG9jayhzZWxmOmxpbmUoImlmICIsIHNlbGY6dmFsdWUoY29uZCksICIgdGhlbiIpKQogICAgICAgIF93aXRoXzA6c3RtcyhibG9jaykKICAgICAgICByb290ID0gX3dpdGhfMAogICAgICBlbmQKICAgICAgbG9jYWwgY3VycmVudCA9IHJvb3QKICAgICAgbG9jYWwgYWRkX2NsYXVzZQogICAgICBhZGRfY2xhdXNlID0gZnVuY3Rpb24oY2xhdXNlKQogICAgICAgIGxvY2FsIHR5cGUgPSBjbGF1c2VbMV0KICAgICAgICBsb2NhbCBpID0gMgogICAgICAgIGxvY2FsIG5leHQKICAgICAgICBpZiB0eXBlID09ICJlbHNlIiB0aGVuCiAgICAgICAgICBuZXh0ID0gc2VsZjpibG9jaygiZWxzZSIpCiAgICAgICAgZWxzZQogICAgICAgICAgaSA9IGkgKyAxCiAgICAgICAgICBuZXh0ID0gc2VsZjpibG9jayhzZWxmOmxpbmUoImVsc2VpZiAiLCBzZWxmOnZhbHVlKGNsYXVzZVsyXSksICIgdGhlbiIpKQogICAgICAgIGVuZAogICAgICAgIG5leHQ6c3RtcyhjbGF1c2VbaV0pCiAgICAgICAgY3VycmVudC5uZXh0ID0gbmV4dAogICAgICAgIGN1cnJlbnQgPSBuZXh0CiAgICAgIGVuZAogICAgICBmb3IgX2luZGV4XzAgPSA0LCAjbm9kZSBkbwogICAgICAgIGxvY2FsIGNvbmQgPSBub2RlW19pbmRleF8wXQogICAgICAgIGFkZF9jbGF1c2UoY29uZCkKICAgICAgZW5kCiAgICAgIHJldHVybiByb290CiAgICBlbmQsCiAgICBbInJlcGVhdCJdID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgY29uZCwgYmxvY2sgPSB1bnBhY2sobm9kZSwgMikKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpibG9jaygicmVwZWF0Iiwgc2VsZjpsaW5lKCJ1bnRpbCAiLCBzZWxmOnZhbHVlKGNvbmQpKSkKICAgICAgICBfd2l0aF8wOnN0bXMoYmxvY2spCiAgICAgICAgcmV0dXJuIF93aXRoXzAKICAgICAgZW5kCiAgICBlbmQsCiAgICBbIndoaWxlIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBjb25kLCBibG9jayA9IHVucGFjayhub2RlLCAyKQogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmJsb2NrKHNlbGY6bGluZSgid2hpbGUgIiwgc2VsZjp2YWx1ZShjb25kKSwgIiBkbyIpKQogICAgICAgIF93aXRoXzA6c3RtcyhibG9jaykKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIFsiZm9yIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBuYW1lLCBib3VuZHMsIGJsb2NrID0gdW5wYWNrKG5vZGUsIDIpCiAgICAgIGxvY2FsIGxvb3AgPSBzZWxmOmxpbmUoImZvciAiLCBzZWxmOm5hbWUobmFtZSksICIgPSAiLCBzZWxmOnZhbHVlKHsKICAgICAgICAiZXhwbGlzdCIsCiAgICAgICAgdW5wYWNrKGJvdW5kcykKICAgICAgfSksICIgZG8iKQogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmJsb2NrKGxvb3ApCiAgICAgICAgX3dpdGhfMDpkZWNsYXJlKHsKICAgICAgICAgIG5hbWUKICAgICAgICB9KQogICAgICAgIF93aXRoXzA6c3RtcyhibG9jaykKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIGZvcmVhY2ggPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBuYW1lcywgZXhwcywgYmxvY2sgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwgbG9vcAogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmxpbmUoKQogICAgICAgIF93aXRoXzA6YXBwZW5kKCJmb3IgIikKICAgICAgICBsb29wID0gX3dpdGhfMAogICAgICBlbmQKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpibG9jayhsb29wKQogICAgICAgIGxvb3A6YXBwZW5kX2xpc3QoKGZ1bmN0aW9uKCkKICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjbmFtZXMgZG8KICAgICAgICAgICAgbG9jYWwgbmFtZSA9IG5hbWVzW19pbmRleF8wXQogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gX3dpdGhfMDpuYW1lKG5hbWUsIGZhbHNlKQogICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgIGVuZCkoKSwgIiwgIikKICAgICAgICBsb29wOmFwcGVuZCgiIGluICIpCiAgICAgICAgbG9vcDphcHBlbmRfbGlzdCgoZnVuY3Rpb24oKQogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNleHBzIGRvCiAgICAgICAgICAgIGxvY2FsIGV4cCA9IGV4cHNbX2luZGV4XzBdCiAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBzZWxmOnZhbHVlKGV4cCkKICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgZW5kCiAgICAgICAgICByZXR1cm4gX2FjY3VtXzAKICAgICAgICBlbmQpKCksICIsIikKICAgICAgICBsb29wOmFwcGVuZCgiIGRvIikKICAgICAgICBfd2l0aF8wOmRlY2xhcmUobmFtZXMpCiAgICAgICAgX3dpdGhfMDpzdG1zKGJsb2NrKQogICAgICAgIHJldHVybiBfd2l0aF8wCiAgICAgIGVuZAogICAgZW5kLAogICAgZXhwb3J0ID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgbmFtZXMgPSB1bnBhY2sobm9kZSwgMikKICAgICAgaWYgdHlwZShuYW1lcykgPT0gInN0cmluZyIgdGhlbgogICAgICAgIGlmIG5hbWVzID09ICIqIiB0aGVuCiAgICAgICAgICBzZWxmLmV4cG9ydF9hbGwgPSB0cnVlCiAgICAgICAgZWxzZWlmIG5hbWVzID09ICJeIiB0aGVuCiAgICAgICAgICBzZWxmLmV4cG9ydF9wcm9wZXIgPSB0cnVlCiAgICAgICAgZW5kCiAgICAgIGVsc2UKICAgICAgICBzZWxmOmRlY2xhcmUobmFtZXMpCiAgICAgIGVuZAogICAgICByZXR1cm4gbmlsCiAgICBlbmQsCiAgICBydW4gPSBmdW5jdGlvbihzZWxmLCBjb2RlKQogICAgICBjb2RlOmNhbGwoc2VsZikKICAgICAgcmV0dXJuIG5pbAogICAgZW5kLAogICAgZ3JvdXAgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gc2VsZjpzdG1zKG5vZGVbMl0pCiAgICBlbmQsCiAgICBbImRvIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmJsb2NrKCkKICAgICAgICBfd2l0aF8wOnN0bXMobm9kZVsyXSkKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIG5vb3AgPSBmdW5jdGlvbihzZWxmKSBlbmQKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQuY29tcGlsZS52YWx1ZSddID0gZnVuY3Rpb24oKQogIGxvY2FsIHV0aWwgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKQogIGxvY2FsIGRhdGEgPSByZXF1aXJlKCJtb29uc2NyaXB0LmRhdGEiKQogIGxvY2FsIG50eXBlCiAgbnR5cGUgPSByZXF1aXJlKCJtb29uc2NyaXB0LnR5cGVzIikubnR5cGUKICBsb2NhbCB1c2VyX2Vycm9yCiAgdXNlcl9lcnJvciA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZXJyb3JzIikudXNlcl9lcnJvcgogIGxvY2FsIGNvbmNhdCwgaW5zZXJ0CiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHRhYmxlCiAgICBjb25jYXQsIGluc2VydCA9IF9vYmpfMC5jb25jYXQsIF9vYmpfMC5pbnNlcnQKICBlbmQKICBsb2NhbCB1bnBhY2sKICB1bnBhY2sgPSB1dGlsLnVucGFjawogIGxvY2FsIHRhYmxlX2RlbGltID0gIiwiCiAgbG9jYWwgc3RyaW5nX2NoYXJzID0gewogICAgWyJcciJdID0gIlxcciIsCiAgICBbIlxuIl0gPSAiXFxuIgogIH0KICByZXR1cm4gewogICAgc2NvcGVkID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgXywgYmVmb3JlLCB2YWx1ZSwgYWZ0ZXIKICAgICAgXywgYmVmb3JlLCB2YWx1ZSwgYWZ0ZXIgPSBub2RlWzFdLCBub2RlWzJdLCBub2RlWzNdLCBub2RlWzRdCiAgICAgIF8gPSBiZWZvcmUgYW5kIGJlZm9yZTpjYWxsKHNlbGYpCiAgICAgIGRvCiAgICAgICAgbG9jYWwgX3dpdGhfMCA9IHNlbGY6dmFsdWUodmFsdWUpCiAgICAgICAgXyA9IGFmdGVyIGFuZCBhZnRlcjpjYWxsKHNlbGYpCiAgICAgICAgcmV0dXJuIF93aXRoXzAKICAgICAgZW5kCiAgICBlbmQsCiAgICBleHAgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBfY29tcAogICAgICBfY29tcCA9IGZ1bmN0aW9uKGksIHZhbHVlKQogICAgICAgIGlmIGkgJSAyID09IDEgYW5kIHZhbHVlID09ICIhPSIgdGhlbgogICAgICAgICAgdmFsdWUgPSAifj0iCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIHNlbGY6dmFsdWUodmFsdWUpCiAgICAgIGVuZAogICAgICBkbwogICAgICAgIGxvY2FsIF93aXRoXzAgPSBzZWxmOmxpbmUoKQogICAgICAgIF93aXRoXzA6YXBwZW5kX2xpc3QoKGZ1bmN0aW9uKCkKICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBmb3IgaSwgdiBpbiBpcGFpcnMobm9kZSkgZG8KICAgICAgICAgICAgaWYgaSA+IDEgdGhlbgogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfY29tcChpLCB2KQogICAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgIGVuZCkoKSwgIiAiKQogICAgICAgIHJldHVybiBfd2l0aF8wCiAgICAgIGVuZAogICAgZW5kLAogICAgZXhwbGlzdCA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGRvCiAgICAgICAgbG9jYWwgX3dpdGhfMCA9IHNlbGY6bGluZSgpCiAgICAgICAgX3dpdGhfMDphcHBlbmRfbGlzdCgoZnVuY3Rpb24oKQogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDIsICNub2RlIGRvCiAgICAgICAgICAgIGxvY2FsIHYgPSBub2RlW19pbmRleF8wXQogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gc2VsZjp2YWx1ZSh2KQogICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgIGVuZCkoKSwgIiwgIikKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIHBhcmVucyA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiBzZWxmOmxpbmUoIigiLCBzZWxmOnZhbHVlKG5vZGVbMl0pLCAiKSIpCiAgICBlbmQsCiAgICBzdHJpbmcgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBkZWxpbSwgaW5uZXIgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwgZW5kX2RlbGltID0gZGVsaW06Z3N1YigiJVsiLCAiXSIpCiAgICAgIGlmIGRlbGltID09ICInIiBvciBkZWxpbSA9PSAnIicgdGhlbgogICAgICAgIGlubmVyID0gaW5uZXI6Z3N1YigiW1xyXG5dIiwgc3RyaW5nX2NoYXJzKQogICAgICBlbmQKICAgICAgcmV0dXJuIGRlbGltIC4uIGlubmVyIC4uIGVuZF9kZWxpbQogICAgZW5kLAogICAgY2hhaW4gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBjYWxsZWUgPSBub2RlWzJdCiAgICAgIGxvY2FsIGNhbGxlZV90eXBlID0gbnR5cGUoY2FsbGVlKQogICAgICBsb2NhbCBpdGVtX29mZnNldCA9IDMKICAgICAgaWYgY2FsbGVlX3R5cGUgPT0gImRvdCIgb3IgY2FsbGVlX3R5cGUgPT0gImNvbG9uIiBvciBjYWxsZWVfdHlwZSA9PSAiaW5kZXgiIHRoZW4KICAgICAgICBjYWxsZWUgPSBzZWxmOmdldCgic2NvcGVfdmFyIikKICAgICAgICBpZiBub3QgKGNhbGxlZSkgdGhlbgogICAgICAgICAgdXNlcl9lcnJvcigiU2hvcnQtZG90IHN5bnRheCBtdXN0IGJlIGNhbGxlZCB3aXRoaW4gYSB3aXRoIGJsb2NrIikKICAgICAgICBlbmQKICAgICAgICBpdGVtX29mZnNldCA9IDIKICAgICAgZW5kCiAgICAgIGlmIGNhbGxlZV90eXBlID09ICJyZWYiIGFuZCBjYWxsZWVbMl0gPT0gInN1cGVyIiBvciBjYWxsZWUgPT0gInN1cGVyIiB0aGVuCiAgICAgICAgZG8KICAgICAgICAgIGxvY2FsIHN1cCA9IHNlbGY6Z2V0KCJzdXBlciIpCiAgICAgICAgICBpZiBzdXAgdGhlbgogICAgICAgICAgICByZXR1cm4gc2VsZjp2YWx1ZShzdXAoc2VsZiwgbm9kZSkpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIGxvY2FsIGNoYWluX2l0ZW0KICAgICAgY2hhaW5faXRlbSA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgICAgbG9jYWwgdCwgYXJnID0gdW5wYWNrKG5vZGUpCiAgICAgICAgaWYgdCA9PSAiY2FsbCIgdGhlbgogICAgICAgICAgcmV0dXJuICIoIiwgc2VsZjp2YWx1ZXMoYXJnKSwgIikiCiAgICAgICAgZWxzZWlmIHQgPT0gImluZGV4IiB0aGVuCiAgICAgICAgICByZXR1cm4gIlsiLCBzZWxmOnZhbHVlKGFyZyksICJdIgogICAgICAgIGVsc2VpZiB0ID09ICJkb3QiIHRoZW4KICAgICAgICAgIHJldHVybiAiLiIsIHRvc3RyaW5nKGFyZykKICAgICAgICBlbHNlaWYgdCA9PSAiY29sb24iIHRoZW4KICAgICAgICAgIHJldHVybiAiOiIsIHRvc3RyaW5nKGFyZykKICAgICAgICBlbHNlaWYgdCA9PSAiY29sb25fc3R1YiIgdGhlbgogICAgICAgICAgcmV0dXJuIHVzZXJfZXJyb3IoIlVuY2FsbGVkIGNvbG9uIHN0dWIiKQogICAgICAgIGVsc2UKICAgICAgICAgIHJldHVybiBlcnJvcigiVW5rbm93biBjaGFpbiBhY3Rpb246ICIgLi4gdG9zdHJpbmcodCkpCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICBpZiAoY2FsbGVlX3R5cGUgPT0gInNlbGYiIG9yIGNhbGxlZV90eXBlID09ICJzZWxmX2NsYXNzIikgYW5kIG5vZGVbM10gYW5kIG50eXBlKG5vZGVbM10pID09ICJjYWxsIiB0aGVuCiAgICAgICAgY2FsbGVlWzFdID0gY2FsbGVlX3R5cGUgLi4gIl9jb2xvbiIKICAgICAgZW5kCiAgICAgIGxvY2FsIGNhbGxlZV92YWx1ZSA9IHNlbGY6dmFsdWUoY2FsbGVlKQogICAgICBpZiBudHlwZShjYWxsZWUpID09ICJleHAiIHRoZW4KICAgICAgICBjYWxsZWVfdmFsdWUgPSBzZWxmOmxpbmUoIigiLCBjYWxsZWVfdmFsdWUsICIpIikKICAgICAgZW5kCiAgICAgIGxvY2FsIGFjdGlvbnMKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpsaW5lKCkKICAgICAgICBmb3IgX2luZGV4XzAgPSBpdGVtX29mZnNldCwgI25vZGUgZG8KICAgICAgICAgIGxvY2FsIGFjdGlvbiA9IG5vZGVbX2luZGV4XzBdCiAgICAgICAgICBfd2l0aF8wOmFwcGVuZChjaGFpbl9pdGVtKGFjdGlvbikpCiAgICAgICAgZW5kCiAgICAgICAgYWN0aW9ucyA9IF93aXRoXzAKICAgICAgZW5kCiAgICAgIHJldHVybiBzZWxmOmxpbmUoY2FsbGVlX3ZhbHVlLCBhY3Rpb25zKQogICAgZW5kLAogICAgZm5kZWYgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBhcmdzLCB3aGl0ZWxpc3QsIGFycm93LCBibG9jayA9IHVucGFjayhub2RlLCAyKQogICAgICBsb2NhbCBkZWZhdWx0X2FyZ3MgPSB7IH0KICAgICAgbG9jYWwgc2VsZl9hcmdzID0geyB9CiAgICAgIGxvY2FsIGFyZ19uYW1lcwogICAgICBkbwogICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNhcmdzIGRvCiAgICAgICAgICBsb2NhbCBhcmcgPSBhcmdzW19pbmRleF8wXQogICAgICAgICAgbG9jYWwgbmFtZSwgZGVmYXVsdF92YWx1ZSA9IHVucGFjayhhcmcpCiAgICAgICAgICBpZiB0eXBlKG5hbWUpID09ICJzdHJpbmciIHRoZW4KICAgICAgICAgICAgbmFtZSA9IG5hbWUKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgaWYgbmFtZVsxXSA9PSAic2VsZiIgb3IgbmFtZVsxXSA9PSAic2VsZl9jbGFzcyIgdGhlbgogICAgICAgICAgICAgIGluc2VydChzZWxmX2FyZ3MsIG5hbWUpCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBuYW1lID0gbmFtZVsyXQogICAgICAgICAgZW5kCiAgICAgICAgICBpZiBkZWZhdWx0X3ZhbHVlIHRoZW4KICAgICAgICAgICAgaW5zZXJ0KGRlZmF1bHRfYXJncywgYXJnKQogICAgICAgICAgZW5kCiAgICAgICAgICBsb2NhbCBfdmFsdWVfMCA9IG5hbWUKICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfdmFsdWVfMAogICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgIGVuZAogICAgICAgIGFyZ19uYW1lcyA9IF9hY2N1bV8wCiAgICAgIGVuZAogICAgICBpZiBhcnJvdyA9PSAiZmF0IiB0aGVuCiAgICAgICAgaW5zZXJ0KGFyZ19uYW1lcywgMSwgInNlbGYiKQogICAgICBlbmQKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpibG9jaygpCiAgICAgICAgaWYgI3doaXRlbGlzdCA+IDAgdGhlbgogICAgICAgICAgX3dpdGhfMDp3aGl0ZWxpc3RfbmFtZXMod2hpdGVsaXN0KQogICAgICAgIGVuZAogICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNhcmdfbmFtZXMgZG8KICAgICAgICAgIGxvY2FsIG5hbWUgPSBhcmdfbmFtZXNbX2luZGV4XzBdCiAgICAgICAgICBfd2l0aF8wOnB1dF9uYW1lKG5hbWUpCiAgICAgICAgZW5kCiAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI2RlZmF1bHRfYXJncyBkbwogICAgICAgICAgbG9jYWwgZGVmYXVsdCA9IGRlZmF1bHRfYXJnc1tfaW5kZXhfMF0KICAgICAgICAgIGxvY2FsIG5hbWUsIHZhbHVlID0gdW5wYWNrKGRlZmF1bHQpCiAgICAgICAgICBpZiB0eXBlKG5hbWUpID09ICJ0YWJsZSIgdGhlbgogICAgICAgICAgICBuYW1lID0gbmFtZVsyXQogICAgICAgICAgZW5kCiAgICAgICAgICBfd2l0aF8wOnN0bSh7CiAgICAgICAgICAgICdpZicsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAnZXhwJywKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAicmVmIiwKICAgICAgICAgICAgICAgIG5hbWUKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICc9PScsCiAgICAgICAgICAgICAgJ25pbCcKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICdhc3NpZ24nLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBuYW1lCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICB2YWx1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSkKICAgICAgICBlbmQKICAgICAgICBsb2NhbCBzZWxmX2FyZ192YWx1ZXMKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNzZWxmX2FyZ3MgZG8KICAgICAgICAgICAgbG9jYWwgYXJnID0gc2VsZl9hcmdzW19pbmRleF8wXQogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gYXJnWzJdCiAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIGVuZAogICAgICAgICAgc2VsZl9hcmdfdmFsdWVzID0gX2FjY3VtXzAKICAgICAgICBlbmQKICAgICAgICBpZiAjc2VsZl9hcmdzID4gMCB0aGVuCiAgICAgICAgICBfd2l0aF8wOnN0bSh7CiAgICAgICAgICAgICJhc3NpZ24iLAogICAgICAgICAgICBzZWxmX2FyZ3MsCiAgICAgICAgICAgIHNlbGZfYXJnX3ZhbHVlcwogICAgICAgICAgfSkKICAgICAgICBlbmQKICAgICAgICBfd2l0aF8wOnN0bXMoYmxvY2spCiAgICAgICAgaWYgI2FyZ3MgPiAjYXJnX25hbWVzIHRoZW4KICAgICAgICAgIGRvCiAgICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI2FyZ3MgZG8KICAgICAgICAgICAgICBsb2NhbCBhcmcgPSBhcmdzW19pbmRleF8wXQogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBhcmdbMV0KICAgICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBhcmdfbmFtZXMgPSBfYWNjdW1fMAogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgX3dpdGhfMC5oZWFkZXIgPSAiZnVuY3Rpb24oIiAuLiBjb25jYXQoYXJnX25hbWVzLCAiLCAiKSAuLiAiKSIKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIHRhYmxlID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgaXRlbXMgPSB1bnBhY2sobm9kZSwgMikKICAgICAgZG8KICAgICAgICBsb2NhbCBfd2l0aF8wID0gc2VsZjpibG9jaygieyIsICJ9IikKICAgICAgICBsb2NhbCBmb3JtYXRfbGluZQogICAgICAgIGZvcm1hdF9saW5lID0gZnVuY3Rpb24odHVwbGUpCiAgICAgICAgICBpZiAjdHVwbGUgPT0gMiB0aGVuCiAgICAgICAgICAgIGxvY2FsIGtleSwgdmFsdWUgPSB1bnBhY2sodHVwbGUpCiAgICAgICAgICAgIGlmIG50eXBlKGtleSkgPT0gImtleV9saXRlcmFsIiBhbmQgZGF0YS5sdWFfa2V5d29yZHNba2V5WzJdXSB0aGVuCiAgICAgICAgICAgICAga2V5ID0gewogICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAnIicsCiAgICAgICAgICAgICAgICBrZXlbMl0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBsb2NhbCBhc3NpZ24KICAgICAgICAgICAgaWYgbnR5cGUoa2V5KSA9PSAia2V5X2xpdGVyYWwiIHRoZW4KICAgICAgICAgICAgICBhc3NpZ24gPSBrZXlbMl0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgIGFzc2lnbiA9IHNlbGY6bGluZSgiWyIsIF93aXRoXzA6dmFsdWUoa2V5KSwgIl0iKQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgbG9jYWwgb3V0ID0gc2VsZjpsaW5lKGFzc2lnbiwgIiA9ICIsIF93aXRoXzA6dmFsdWUodmFsdWUpKQogICAgICAgICAgICByZXR1cm4gb3V0CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiBzZWxmOmxpbmUoX3dpdGhfMDp2YWx1ZSh0dXBsZVsxXSkpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBpZiBpdGVtcyB0aGVuCiAgICAgICAgICBsb2NhbCBjb3VudCA9ICNpdGVtcwogICAgICAgICAgZm9yIGksIHR1cGxlIGluIGlwYWlycyhpdGVtcykgZG8KICAgICAgICAgICAgbG9jYWwgbGluZSA9IGZvcm1hdF9saW5lKHR1cGxlKQogICAgICAgICAgICBpZiBub3QgKGNvdW50ID09IGkpIHRoZW4KICAgICAgICAgICAgICBsaW5lOmFwcGVuZCh0YWJsZV9kZWxpbSkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIF93aXRoXzA6YWRkKGxpbmUpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICBlbmQKICAgIGVuZCwKICAgIG1pbnVzID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIHNlbGY6bGluZSgiLSIsIHNlbGY6dmFsdWUobm9kZVsyXSkpCiAgICBlbmQsCiAgICB0ZW1wX25hbWUgPSBmdW5jdGlvbihzZWxmLCBub2RlLCAuLi4pCiAgICAgIHJldHVybiBub2RlOmdldF9uYW1lKHNlbGYsIC4uLikKICAgIGVuZCwKICAgIG51bWJlciA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiBub2RlWzJdCiAgICBlbmQsCiAgICBiaXRub3QgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gc2VsZjpsaW5lKCJ+Iiwgc2VsZjp2YWx1ZShub2RlWzJdKSkKICAgIGVuZCwKICAgIGxlbmd0aCA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiBzZWxmOmxpbmUoIiMiLCBzZWxmOnZhbHVlKG5vZGVbMl0pKQogICAgZW5kLAogICAgWyJub3QiXSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiBzZWxmOmxpbmUoIm5vdCAiLCBzZWxmOnZhbHVlKG5vZGVbMl0pKQogICAgZW5kLAogICAgc2VsZiA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiAic2VsZi4iIC4uIHNlbGY6bmFtZShub2RlWzJdKQogICAgZW5kLAogICAgc2VsZl9jbGFzcyA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHJldHVybiAic2VsZi5fX2NsYXNzLiIgLi4gc2VsZjpuYW1lKG5vZGVbMl0pCiAgICBlbmQsCiAgICBzZWxmX2NvbG9uID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuICJzZWxmOiIgLi4gc2VsZjpuYW1lKG5vZGVbMl0pCiAgICBlbmQsCiAgICBzZWxmX2NsYXNzX2NvbG9uID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuICJzZWxmLl9fY2xhc3M6IiAuLiBzZWxmOm5hbWUobm9kZVsyXSkKICAgIGVuZCwKICAgIHJlZiA9IGZ1bmN0aW9uKHNlbGYsIHZhbHVlKQogICAgICBkbwogICAgICAgIGxvY2FsIHN1cCA9IHZhbHVlWzJdID09ICJzdXBlciIgYW5kIHNlbGY6Z2V0KCJzdXBlciIpCiAgICAgICAgaWYgc3VwIHRoZW4KICAgICAgICAgIHJldHVybiBzZWxmOnZhbHVlKHN1cChzZWxmKSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIHJldHVybiB0b3N0cmluZyh2YWx1ZVsyXSkKICAgIGVuZCwKICAgIHJhd192YWx1ZSA9IGZ1bmN0aW9uKHNlbGYsIHZhbHVlKQogICAgICBpZiB2YWx1ZSA9PSAiLi4uIiB0aGVuCiAgICAgICAgc2VsZjpzZW5kKCJ2YXJhcmdzIikKICAgICAgZW5kCiAgICAgIHJldHVybiB0b3N0cmluZyh2YWx1ZSkKICAgIGVuZAogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5kdW1wJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgZmxhdF92YWx1ZQogIGZsYXRfdmFsdWUgPSBmdW5jdGlvbihvcCwgZGVwdGgpCiAgICBpZiBkZXB0aCA9PSBuaWwgdGhlbgogICAgICBkZXB0aCA9IDEKICAgIGVuZAogICAgaWYgdHlwZShvcCkgPT0gInN0cmluZyIgdGhlbgogICAgICByZXR1cm4gJyInIC4uIG9wIC4uICciJwogICAgZW5kCiAgICBpZiB0eXBlKG9wKSB+PSAidGFibGUiIHRoZW4KICAgICAgcmV0dXJuIHRvc3RyaW5nKG9wKQogICAgZW5kCiAgICBsb2NhbCBpdGVtcwogICAgZG8KICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjb3AgZG8KICAgICAgICBsb2NhbCBpdGVtID0gb3BbX2luZGV4XzBdCiAgICAgICAgX2FjY3VtXzBbX2xlbl8wXSA9IGZsYXRfdmFsdWUoaXRlbSwgZGVwdGggKyAxKQogICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgZW5kCiAgICAgIGl0ZW1zID0gX2FjY3VtXzAKICAgIGVuZAogICAgbG9jYWwgcG9zID0gb3BbLTFdCiAgICByZXR1cm4gInsiIC4uIChwb3MgYW5kICJbIiAuLiBwb3MgLi4gIl0gIiBvciAiIikgLi4gdGFibGUuY29uY2F0KGl0ZW1zLCAiLCAiKSAuLiAifSIKICBlbmQKICBsb2NhbCB2YWx1ZQogIHZhbHVlID0gZnVuY3Rpb24ob3ApCiAgICByZXR1cm4gZmxhdF92YWx1ZShvcCkKICBlbmQKICBsb2NhbCB0cmVlCiAgdHJlZSA9IGZ1bmN0aW9uKGJsb2NrKQogICAgbG9jYWwgX2xpc3RfMCA9IGJsb2NrCiAgICBmb3IgX2luZGV4XzAgPSAxLCAjX2xpc3RfMCBkbwogICAgICBsb2NhbCB2YWx1ZSA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgIHByaW50KGZsYXRfdmFsdWUodmFsdWUpKQogICAgZW5kCiAgZW5kCiAgcmV0dXJuIHsKICAgIHZhbHVlID0gdmFsdWUsCiAgICB0cmVlID0gdHJlZQogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC50cmFuc2Zvcm0uc3RhdGVtZW50J10gPSBmdW5jdGlvbigpCiAgbG9jYWwgVHJhbnNmb3JtZXIKICBUcmFuc2Zvcm1lciA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnRyYW5zZm9ybWVyIikuVHJhbnNmb3JtZXIKICBsb2NhbCBOYW1lUHJveHksIExvY2FsTmFtZSwgaXNfbmFtZV9wcm94eQogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5uYW1lcyIpCiAgICBOYW1lUHJveHksIExvY2FsTmFtZSwgaXNfbmFtZV9wcm94eSA9IF9vYmpfMC5OYW1lUHJveHksIF9vYmpfMC5Mb2NhbE5hbWUsIF9vYmpfMC5pc19uYW1lX3Byb3h5CiAgZW5kCiAgbG9jYWwgUnVuLCB0cmFuc2Zvcm1fbGFzdF9zdG0sIGltcGxpY2l0bHlfcmV0dXJuLCBsYXN0X3N0bQogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5zdGF0ZW1lbnRzIikKICAgIFJ1biwgdHJhbnNmb3JtX2xhc3Rfc3RtLCBpbXBsaWNpdGx5X3JldHVybiwgbGFzdF9zdG0gPSBfb2JqXzAuUnVuLCBfb2JqXzAudHJhbnNmb3JtX2xhc3Rfc3RtLCBfb2JqXzAuaW1wbGljaXRseV9yZXR1cm4sIF9vYmpfMC5sYXN0X3N0bQogIGVuZAogIGxvY2FsIHR5cGVzID0gcmVxdWlyZSgibW9vbnNjcmlwdC50eXBlcyIpCiAgbG9jYWwgYnVpbGQsIG50eXBlLCBpc192YWx1ZSwgc21hcnRfbm9kZSwgdmFsdWVfaXNfc2luZ3VsYXIsIGlzX3NsaWNlLCBOT09QCiAgYnVpbGQsIG50eXBlLCBpc192YWx1ZSwgc21hcnRfbm9kZSwgdmFsdWVfaXNfc2luZ3VsYXIsIGlzX3NsaWNlLCBOT09QID0gdHlwZXMuYnVpbGQsIHR5cGVzLm50eXBlLCB0eXBlcy5pc192YWx1ZSwgdHlwZXMuc21hcnRfbm9kZSwgdHlwZXMudmFsdWVfaXNfc2luZ3VsYXIsIHR5cGVzLmlzX3NsaWNlLCB0eXBlcy5OT09QCiAgbG9jYWwgaW5zZXJ0CiAgaW5zZXJ0ID0gdGFibGUuaW5zZXJ0CiAgbG9jYWwgZGVzdHJ1Y3R1cmUgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5kZXN0cnVjdHVyZSIpCiAgbG9jYWwgY29uc3RydWN0X2NvbXByZWhlbnNpb24KICBjb25zdHJ1Y3RfY29tcHJlaGVuc2lvbiA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLmNvbXByZWhlbnNpb24iKS5jb25zdHJ1Y3RfY29tcHJlaGVuc2lvbgogIGxvY2FsIHVucGFjawogIHVucGFjayA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpLnVucGFjawogIGxvY2FsIHdpdGhfY29udGludWVfbGlzdGVuZXIKICB3aXRoX2NvbnRpbnVlX2xpc3RlbmVyID0gZnVuY3Rpb24oYm9keSkKICAgIGxvY2FsIGNvbnRpbnVlX25hbWUgPSBuaWwKICAgIHJldHVybiB7CiAgICAgIFJ1bihmdW5jdGlvbihzZWxmKQogICAgICAgIHJldHVybiBzZWxmOmxpc3RlbigiY29udGludWUiLCBmdW5jdGlvbigpCiAgICAgICAgICBpZiBub3QgKGNvbnRpbnVlX25hbWUpIHRoZW4KICAgICAgICAgICAgY29udGludWVfbmFtZSA9IE5hbWVQcm94eSgiY29udGludWUiKQogICAgICAgICAgICBzZWxmOnB1dF9uYW1lKGNvbnRpbnVlX25hbWUpCiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiBjb250aW51ZV9uYW1lCiAgICAgICAgZW5kKQogICAgICBlbmQpLAogICAgICBidWlsZC5ncm91cChib2R5KSwKICAgICAgUnVuKGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgaWYgbm90IChjb250aW51ZV9uYW1lKSB0aGVuCiAgICAgICAgICByZXR1cm4gCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgbGFzdCA9IGxhc3Rfc3RtKGJvZHkpCiAgICAgICAgbG9jYWwgZW5jbG9zZV9saW5lcyA9IHR5cGVzLnRlcm1pbmF0aW5nW2xhc3QgYW5kIG50eXBlKGxhc3QpXQogICAgICAgIHNlbGY6cHV0X25hbWUoY29udGludWVfbmFtZSwgbmlsKQogICAgICAgIHJldHVybiBzZWxmOnNwbGljZShmdW5jdGlvbihsaW5lcykKICAgICAgICAgIGlmIGVuY2xvc2VfbGluZXMgdGhlbgogICAgICAgICAgICBsaW5lcyA9IHsKICAgICAgICAgICAgICAiZG8iLAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxpbmVzCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiYXNzaWduIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb250aW51ZV9uYW1lCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZmFsc2UiCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInJlcGVhdCIsCiAgICAgICAgICAgICAgInRydWUiLAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxpbmVzLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiYXNzaWduIiwKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlX25hbWUKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJ0cnVlIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgImlmIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAibm90IiwKICAgICAgICAgICAgICAgIGNvbnRpbnVlX25hbWUKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImJyZWFrIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIGVuZCkKICAgICAgZW5kKQogICAgfQogIGVuZAogIGxvY2FsIGV4dHJhY3RfZGVjbGFyYXRpb25zCiAgZXh0cmFjdF9kZWNsYXJhdGlvbnMgPSBmdW5jdGlvbihzZWxmLCBib2R5LCBzdGFydCwgb3V0KQogICAgaWYgYm9keSA9PSBuaWwgdGhlbgogICAgICBib2R5ID0gc2VsZi5jdXJyZW50X3N0bXMKICAgIGVuZAogICAgaWYgc3RhcnQgPT0gbmlsIHRoZW4KICAgICAgc3RhcnQgPSBzZWxmLmN1cnJlbnRfc3RtX2kgKyAxCiAgICBlbmQKICAgIGlmIG91dCA9PSBuaWwgdGhlbgogICAgICBvdXQgPSB7IH0KICAgIGVuZAogICAgZm9yIGkgPSBzdGFydCwgI2JvZHkgZG8KICAgICAgbG9jYWwgX2NvbnRpbnVlXzAgPSBmYWxzZQogICAgICByZXBlYXQKICAgICAgICBsb2NhbCBzdG0gPSBib2R5W2ldCiAgICAgICAgaWYgc3RtID09IG5pbCB0aGVuCiAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCiAgICAgICAgc3RtID0gc2VsZi50cmFuc2Zvcm0uc3RhdGVtZW50KHN0bSkKICAgICAgICBib2R5W2ldID0gc3RtCiAgICAgICAgbG9jYWwgX2V4cF8wID0gc3RtWzFdCiAgICAgICAgaWYgImFzc2lnbiIgPT0gX2V4cF8wIG9yICJkZWNsYXJlIiA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgbG9jYWwgX2xpc3RfMCA9IHN0bVsyXQogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI19saXN0XzAgZG8KICAgICAgICAgICAgbG9jYWwgbmFtZSA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgICAgICAgIGlmIG50eXBlKG5hbWUpID09ICJyZWYiIHRoZW4KICAgICAgICAgICAgICBpbnNlcnQob3V0LCBuYW1lKQogICAgICAgICAgICBlbHNlaWYgdHlwZShuYW1lKSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgICAgICAgaW5zZXJ0KG91dCwgbmFtZSkKICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICBlbHNlaWYgImdyb3VwIiA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgZXh0cmFjdF9kZWNsYXJhdGlvbnMoc2VsZiwgc3RtWzJdLCAxLCBvdXQpCiAgICAgICAgZW5kCiAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgIHVudGlsIHRydWUKICAgICAgaWYgbm90IF9jb250aW51ZV8wIHRoZW4KICAgICAgICBicmVhawogICAgICBlbmQKICAgIGVuZAogICAgcmV0dXJuIG91dAogIGVuZAogIGxvY2FsIGV4cGFuZF9lbHNlaWZfYXNzaWduCiAgZXhwYW5kX2Vsc2VpZl9hc3NpZ24gPSBmdW5jdGlvbihpZnN0bSkKICAgIGZvciBpID0gNCwgI2lmc3RtIGRvCiAgICAgIGxvY2FsIGNhc2UgPSBpZnN0bVtpXQogICAgICBpZiBudHlwZShjYXNlKSA9PSAiZWxzZWlmIiBhbmQgbnR5cGUoY2FzZVsyXSkgPT0gImFzc2lnbiIgdGhlbgogICAgICAgIGxvY2FsIHNwbGl0ID0gewogICAgICAgICAgdW5wYWNrKGlmc3RtLCAxLCBpIC0gMSkKICAgICAgICB9CiAgICAgICAgaW5zZXJ0KHNwbGl0LCB7CiAgICAgICAgICAiZWxzZSIsCiAgICAgICAgICB7CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiaWYiLAogICAgICAgICAgICAgIGNhc2VbMl0sCiAgICAgICAgICAgICAgY2FzZVszXSwKICAgICAgICAgICAgICB1bnBhY2soaWZzdG0sIGkgKyAxKQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICByZXR1cm4gc3BsaXQKICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBpZnN0bQogIGVuZAogIHJldHVybiBUcmFuc2Zvcm1lcih7CiAgICB0cmFuc2Zvcm0gPSBmdW5jdGlvbihzZWxmLCB0dXBsZSkKICAgICAgbG9jYWwgXywgbm9kZSwgZm4KICAgICAgXywgbm9kZSwgZm4gPSB0dXBsZVsxXSwgdHVwbGVbMl0sIHR1cGxlWzNdCiAgICAgIHJldHVybiBmbihub2RlKQogICAgZW5kLAogICAgcm9vdF9zdG1zID0gZnVuY3Rpb24oc2VsZiwgYm9keSkKICAgICAgcmV0dXJuIHRyYW5zZm9ybV9sYXN0X3N0bShib2R5LCBpbXBsaWNpdGx5X3JldHVybihzZWxmKSkKICAgIGVuZCwKICAgIFsicmV0dXJuIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCByZXRfdmFsID0gbm9kZVsyXQogICAgICBsb2NhbCByZXRfdmFsX3R5cGUgPSBudHlwZShyZXRfdmFsKQogICAgICBpZiByZXRfdmFsX3R5cGUgPT0gImV4cGxpc3QiIGFuZCAjcmV0X3ZhbCA9PSAyIHRoZW4KICAgICAgICByZXRfdmFsID0gcmV0X3ZhbFsyXQogICAgICAgIHJldF92YWxfdHlwZSA9IG50eXBlKHJldF92YWwpCiAgICAgIGVuZAogICAgICBpZiB0eXBlcy5jYXNjYWRpbmdbcmV0X3ZhbF90eXBlXSB0aGVuCiAgICAgICAgcmV0dXJuIGltcGxpY2l0bHlfcmV0dXJuKHNlbGYpKHJldF92YWwpCiAgICAgIGVuZAogICAgICBpZiByZXRfdmFsX3R5cGUgPT0gImNoYWluIiBvciByZXRfdmFsX3R5cGUgPT0gImNvbXByZWhlbnNpb24iIG9yIHJldF92YWxfdHlwZSA9PSAidGJsY29tcHJlaGVuc2lvbiIgdGhlbgogICAgICAgIGxvY2FsIFZhbHVlID0gcmVxdWlyZSgibW9vbnNjcmlwdC50cmFuc2Zvcm0udmFsdWUiKQogICAgICAgIHJldF92YWwgPSBWYWx1ZTp0cmFuc2Zvcm1fb25jZShzZWxmLCByZXRfdmFsKQogICAgICAgIGlmIG50eXBlKHJldF92YWwpID09ICJibG9ja19leHAiIHRoZW4KICAgICAgICAgIHJldHVybiBidWlsZC5ncm91cCh0cmFuc2Zvcm1fbGFzdF9zdG0ocmV0X3ZhbFsyXSwgZnVuY3Rpb24oc3RtKQogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICJyZXR1cm4iLAogICAgICAgICAgICAgIHN0bQogICAgICAgICAgICB9CiAgICAgICAgICBlbmQpKQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgbm9kZVsyXSA9IHJldF92YWwKICAgICAgcmV0dXJuIG5vZGUKICAgIGVuZCwKICAgIGRlY2xhcmVfZ2xvYiA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIG5hbWVzID0gZXh0cmFjdF9kZWNsYXJhdGlvbnMoc2VsZikKICAgICAgaWYgbm9kZVsyXSA9PSAiXiIgdGhlbgogICAgICAgIGRvCiAgICAgICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI25hbWVzIGRvCiAgICAgICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICAgICAgcmVwZWF0CiAgICAgICAgICAgICAgbG9jYWwgbmFtZSA9IG5hbWVzW19pbmRleF8wXQogICAgICAgICAgICAgIGxvY2FsIHN0cl9uYW1lCiAgICAgICAgICAgICAgaWYgbnR5cGUobmFtZSkgPT0gInJlZiIgdGhlbgogICAgICAgICAgICAgICAgc3RyX25hbWUgPSBuYW1lWzJdCiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgc3RyX25hbWUgPSBuYW1lCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgaWYgbm90IChzdHJfbmFtZTptYXRjaCgiXiV1IikpIHRoZW4KICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICBsb2NhbCBfdmFsdWVfMCA9IG5hbWUKICAgICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gX3ZhbHVlXzAKICAgICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgIHVudGlsIHRydWUKICAgICAgICAgICAgaWYgbm90IF9jb250aW51ZV8wIHRoZW4KICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBlbmQKICAgICAgICAgIGVuZAogICAgICAgICAgbmFtZXMgPSBfYWNjdW1fMAogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgcmV0dXJuIHsKICAgICAgICAiZGVjbGFyZSIsCiAgICAgICAgbmFtZXMKICAgICAgfQogICAgZW5kLAogICAgYXNzaWduID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgbG9jYWwgbmFtZXMsIHZhbHVlcyA9IHVucGFjayhub2RlLCAyKQogICAgICBsb2NhbCBudW1fdmFsdWVzID0gI3ZhbHVlcwogICAgICBsb2NhbCBudW1fbmFtZXMgPSAjdmFsdWVzCiAgICAgIGlmIG51bV9uYW1lcyA9PSAxIGFuZCBudW1fdmFsdWVzID09IDEgdGhlbgogICAgICAgIGxvY2FsIGZpcnN0X3ZhbHVlID0gdmFsdWVzWzFdCiAgICAgICAgbG9jYWwgZmlyc3RfbmFtZSA9IG5hbWVzWzFdCiAgICAgICAgbG9jYWwgZmlyc3RfdHlwZSA9IG50eXBlKGZpcnN0X3ZhbHVlKQogICAgICAgIGlmIGZpcnN0X3R5cGUgPT0gImNoYWluIiB0aGVuCiAgICAgICAgICBsb2NhbCBWYWx1ZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnZhbHVlIikKICAgICAgICAgIGZpcnN0X3ZhbHVlID0gVmFsdWU6dHJhbnNmb3JtX29uY2Uoc2VsZiwgZmlyc3RfdmFsdWUpCiAgICAgICAgICBmaXJzdF90eXBlID0gbnR5cGUoZmlyc3RfdmFsdWUpCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgX2V4cF8wID0gbnR5cGUoZmlyc3RfdmFsdWUpCiAgICAgICAgaWYgImJsb2NrX2V4cCIgPT0gX2V4cF8wIHRoZW4KICAgICAgICAgIGxvY2FsIGJsb2NrX2JvZHkgPSBmaXJzdF92YWx1ZVsyXQogICAgICAgICAgbG9jYWwgaWR4ID0gI2Jsb2NrX2JvZHkKICAgICAgICAgIGJsb2NrX2JvZHlbaWR4XSA9IGJ1aWxkLmFzc2lnbl9vbmUoZmlyc3RfbmFtZSwgYmxvY2tfYm9keVtpZHhdKQogICAgICAgICAgcmV0dXJuIGJ1aWxkLmdyb3VwKHsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJkZWNsYXJlIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmaXJzdF9uYW1lCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgImRvIiwKICAgICAgICAgICAgICBibG9ja19ib2R5CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pCiAgICAgICAgZWxzZWlmICJjb21wcmVoZW5zaW9uIiA9PSBfZXhwXzAgb3IgInRibGNvbXByZWhlbnNpb24iID09IF9leHBfMCBvciAiZm9yZWFjaCIgPT0gX2V4cF8wIG9yICJmb3IiID09IF9leHBfMCBvciAid2hpbGUiID09IF9leHBfMCB0aGVuCiAgICAgICAgICBsb2NhbCBWYWx1ZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnZhbHVlIikKICAgICAgICAgIHJldHVybiBidWlsZC5hc3NpZ25fb25lKGZpcnN0X25hbWUsIFZhbHVlOnRyYW5zZm9ybV9vbmNlKHNlbGYsIGZpcnN0X3ZhbHVlKSkKICAgICAgICBlbHNlCiAgICAgICAgICB2YWx1ZXNbMV0gPSBmaXJzdF92YWx1ZQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgbG9jYWwgdHJhbnNmb3JtZWQKICAgICAgaWYgbnVtX3ZhbHVlcyA9PSAxIHRoZW4KICAgICAgICBsb2NhbCB2YWx1ZSA9IHZhbHVlc1sxXQogICAgICAgIGxvY2FsIHQgPSBudHlwZSh2YWx1ZSkKICAgICAgICBpZiB0ID09ICJkZWNvcmF0ZWQiIHRoZW4KICAgICAgICAgIHZhbHVlID0gc2VsZi50cmFuc2Zvcm0uc3RhdGVtZW50KHZhbHVlKQogICAgICAgICAgdCA9IG50eXBlKHZhbHVlKQogICAgICAgIGVuZAogICAgICAgIGlmIHR5cGVzLmNhc2NhZGluZ1t0XSB0aGVuCiAgICAgICAgICBsb2NhbCByZXQKICAgICAgICAgIHJldCA9IGZ1bmN0aW9uKHN0bSkKICAgICAgICAgICAgaWYgaXNfdmFsdWUoc3RtKSB0aGVuCiAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICJhc3NpZ24iLAogICAgICAgICAgICAgICAgbmFtZXMsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHN0bQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgIHJldHVybiBzdG0KICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICAgIHRyYW5zZm9ybWVkID0gYnVpbGQuZ3JvdXAoewogICAgICAgICAgICB7CiAgICAgICAgICAgICAgImRlY2xhcmUiLAogICAgICAgICAgICAgIG5hbWVzCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHNlbGYudHJhbnNmb3JtLnN0YXRlbWVudCh2YWx1ZSwgcmV0LCBub2RlKQogICAgICAgICAgfSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIG5vZGUgPSB0cmFuc2Zvcm1lZCBvciBub2RlCiAgICAgIGlmIGRlc3RydWN0dXJlLmhhc19kZXN0cnVjdHVyZShuYW1lcykgdGhlbgogICAgICAgIHJldHVybiBkZXN0cnVjdHVyZS5zcGxpdF9hc3NpZ24oc2VsZiwgbm9kZSkKICAgICAgZW5kCiAgICAgIHJldHVybiBub2RlCiAgICBlbmQsCiAgICBjb250aW51ZSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIGNvbnRpbnVlX25hbWUgPSBzZWxmOnNlbmQoImNvbnRpbnVlIikKICAgICAgaWYgbm90IChjb250aW51ZV9uYW1lKSB0aGVuCiAgICAgICAgZXJyb3IoImNvbnRpbnVlIG11c3QgYmUgaW5zaWRlIG9mIGEgbG9vcCIpCiAgICAgIGVuZAogICAgICByZXR1cm4gYnVpbGQuZ3JvdXAoewogICAgICAgIGJ1aWxkLmFzc2lnbl9vbmUoY29udGludWVfbmFtZSwgInRydWUiKSwKICAgICAgICB7CiAgICAgICAgICAiYnJlYWsiCiAgICAgICAgfQogICAgICB9KQogICAgZW5kLAogICAgZXhwb3J0ID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgaWYgI25vZGUgPiAyIHRoZW4KICAgICAgICBpZiBub2RlWzJdID09ICJjbGFzcyIgdGhlbgogICAgICAgICAgbG9jYWwgY2xzID0gc21hcnRfbm9kZShub2RlWzNdKQogICAgICAgICAgcmV0dXJuIGJ1aWxkLmdyb3VwKHsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJleHBvcnQiLAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNscy5uYW1lCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjbHMKICAgICAgICAgIH0pCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIGJ1aWxkLmdyb3VwKHsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJleHBvcnQiLAogICAgICAgICAgICAgIG5vZGVbMl0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgYnVpbGQuYXNzaWduKHsKICAgICAgICAgICAgICBuYW1lcyA9IG5vZGVbMl0sCiAgICAgICAgICAgICAgdmFsdWVzID0gbm9kZVszXQogICAgICAgICAgICB9KQogICAgICAgICAgfSkKICAgICAgICBlbmQKICAgICAgZWxzZQogICAgICAgIHJldHVybiBuaWwKICAgICAgZW5kCiAgICBlbmQsCiAgICB1cGRhdGUgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBuYW1lLCBvcCwgZXhwID0gdW5wYWNrKG5vZGUsIDIpCiAgICAgIGxvY2FsIG9wX2ZpbmFsID0gb3A6bWF0Y2goIl4oLispPSQiKQogICAgICBpZiBub3Qgb3BfZmluYWwgdGhlbgogICAgICAgIGVycm9yKCJVbmtub3duIG9wOiAiIC4uIG9wKQogICAgICBlbmQKICAgICAgaWYgbm90ICh2YWx1ZV9pc19zaW5ndWxhcihleHApKSB0aGVuCiAgICAgICAgZXhwID0gewogICAgICAgICAgInBhcmVucyIsCiAgICAgICAgICBleHAKICAgICAgICB9CiAgICAgIGVuZAogICAgICByZXR1cm4gYnVpbGQuYXNzaWduX29uZShuYW1lLCB7CiAgICAgICAgImV4cCIsCiAgICAgICAgbmFtZSwKICAgICAgICBvcF9maW5hbCwKICAgICAgICBleHAKICAgICAgfSkKICAgIGVuZCwKICAgIGltcG9ydCA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIG5hbWVzLCBzb3VyY2UgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwgdGFibGVfdmFsdWVzCiAgICAgIGRvCiAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI25hbWVzIGRvCiAgICAgICAgICBsb2NhbCBuYW1lID0gbmFtZXNbX2luZGV4XzBdCiAgICAgICAgICBsb2NhbCBkZXN0X25hbWUKICAgICAgICAgIGlmIG50eXBlKG5hbWUpID09ICJjb2xvbiIgdGhlbgogICAgICAgICAgICBkZXN0X25hbWUgPSBuYW1lWzJdCiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIGRlc3RfbmFtZSA9IG5hbWUKICAgICAgICAgIGVuZAogICAgICAgICAgbG9jYWwgX3ZhbHVlXzAgPSB7CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAia2V5X2xpdGVyYWwiLAogICAgICAgICAgICAgIG5hbWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZGVzdF9uYW1lCiAgICAgICAgICB9CiAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gX3ZhbHVlXzAKICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICBlbmQKICAgICAgICB0YWJsZV92YWx1ZXMgPSBfYWNjdW1fMAogICAgICBlbmQKICAgICAgbG9jYWwgZGVzdCA9IHsKICAgICAgICAidGFibGUiLAogICAgICAgIHRhYmxlX3ZhbHVlcwogICAgICB9CiAgICAgIHJldHVybiB7CiAgICAgICAgImFzc2lnbiIsCiAgICAgICAgewogICAgICAgICAgZGVzdAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgc291cmNlCiAgICAgICAgfSwKICAgICAgICBbLTFdID0gbm9kZVstMV0KICAgICAgfQogICAgZW5kLAogICAgY29tcHJlaGVuc2lvbiA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUsIGFjdGlvbikKICAgICAgbG9jYWwgZXhwLCBjbGF1c2VzID0gdW5wYWNrKG5vZGUsIDIpCiAgICAgIGFjdGlvbiA9IGFjdGlvbiBvciBmdW5jdGlvbihleHApCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGV4cAogICAgICAgIH0KICAgICAgZW5kCiAgICAgIHJldHVybiBjb25zdHJ1Y3RfY29tcHJlaGVuc2lvbihhY3Rpb24oZXhwKSwgY2xhdXNlcykKICAgIGVuZCwKICAgIFsiZG8iXSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUsIHJldCkKICAgICAgaWYgcmV0IHRoZW4KICAgICAgICBub2RlWzJdID0gdHJhbnNmb3JtX2xhc3Rfc3RtKG5vZGVbMl0sIHJldCkKICAgICAgZW5kCiAgICAgIHJldHVybiBub2RlCiAgICBlbmQsCiAgICBkZWNvcmF0ZWQgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBzdG0sIGRlYyA9IHVucGFjayhub2RlLCAyKQogICAgICBsb2NhbCB3cmFwcGVkCiAgICAgIGxvY2FsIF9leHBfMCA9IGRlY1sxXQogICAgICBpZiAiaWYiID09IF9leHBfMCB0aGVuCiAgICAgICAgbG9jYWwgY29uZCwgZmFpbCA9IHVucGFjayhkZWMsIDIpCiAgICAgICAgaWYgZmFpbCB0aGVuCiAgICAgICAgICBmYWlsID0gewogICAgICAgICAgICAiZWxzZSIsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBmYWlsCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBlbmQKICAgICAgICB3cmFwcGVkID0gewogICAgICAgICAgImlmIiwKICAgICAgICAgIGNvbmQsCiAgICAgICAgICB7CiAgICAgICAgICAgIHN0bQogICAgICAgICAgfSwKICAgICAgICAgIGZhaWwKICAgICAgICB9CiAgICAgIGVsc2VpZiAidW5sZXNzIiA9PSBfZXhwXzAgdGhlbgogICAgICAgIHdyYXBwZWQgPSB7CiAgICAgICAgICAidW5sZXNzIiwKICAgICAgICAgIGRlY1syXSwKICAgICAgICAgIHsKICAgICAgICAgICAgc3RtCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBlbHNlaWYgImNvbXByZWhlbnNpb24iID09IF9leHBfMCB0aGVuCiAgICAgICAgd3JhcHBlZCA9IHsKICAgICAgICAgICJjb21wcmVoZW5zaW9uIiwKICAgICAgICAgIHN0bSwKICAgICAgICAgIGRlY1syXQogICAgICAgIH0KICAgICAgZWxzZQogICAgICAgIHdyYXBwZWQgPSBlcnJvcigiVW5rbm93biBkZWNvcmF0b3IgIiAuLiBkZWNbMV0pCiAgICAgIGVuZAogICAgICBpZiBudHlwZShzdG0pID09ICJhc3NpZ24iIHRoZW4KICAgICAgICB3cmFwcGVkID0gYnVpbGQuZ3JvdXAoewogICAgICAgICAgYnVpbGQuZGVjbGFyZSh7CiAgICAgICAgICAgIG5hbWVzID0gKGZ1bmN0aW9uKCkKICAgICAgICAgICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgICBsb2NhbCBfbGlzdF8wID0gc3RtWzJdCiAgICAgICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI19saXN0XzAgZG8KICAgICAgICAgICAgICAgIGxvY2FsIG5hbWUgPSBfbGlzdF8wW19pbmRleF8wXQogICAgICAgICAgICAgICAgaWYgbnR5cGUobmFtZSkgPT0gInJlZiIgdGhlbgogICAgICAgICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gbmFtZQogICAgICAgICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICByZXR1cm4gX2FjY3VtXzAKICAgICAgICAgICAgZW5kKSgpCiAgICAgICAgICB9KSwKICAgICAgICAgIHdyYXBwZWQKICAgICAgICB9KQogICAgICBlbmQKICAgICAgcmV0dXJuIHdyYXBwZWQKICAgIGVuZCwKICAgIHVubGVzcyA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIGNsYXVzZSA9IG5vZGVbMl0KICAgICAgaWYgbnR5cGUoY2xhdXNlKSA9PSAiYXNzaWduIiB0aGVuCiAgICAgICAgaWYgZGVzdHJ1Y3R1cmUuaGFzX2Rlc3RydWN0dXJlKGNsYXVzZVsyXSkgdGhlbgogICAgICAgICAgZXJyb3IoImRlc3RydWN0dXJlIG5vdCBhbGxvd2VkIGluIHVubGVzcyBhc3NpZ25tZW50IikKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gYnVpbGRbImRvIl0oewogICAgICAgICAgY2xhdXNlLAogICAgICAgICAgewogICAgICAgICAgICAiaWYiLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIm5vdCIsCiAgICAgICAgICAgICAgY2xhdXNlWzJdWzFdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHVucGFjayhub2RlLCAzKQogICAgICAgICAgfQogICAgICAgIH0pCiAgICAgIGVsc2UKICAgICAgICByZXR1cm4gewogICAgICAgICAgImlmIiwKICAgICAgICAgIHsKICAgICAgICAgICAgIm5vdCIsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGFyZW5zIiwKICAgICAgICAgICAgICBjbGF1c2UKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHVucGFjayhub2RlLCAzKQogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQsCiAgICBbImlmIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlLCByZXQpCiAgICAgIGlmIG50eXBlKG5vZGVbMl0pID09ICJhc3NpZ24iIHRoZW4KICAgICAgICBsb2NhbCBhc3NpZ24sIGJvZHkgPSB1bnBhY2sobm9kZSwgMikKICAgICAgICBpZiBkZXN0cnVjdHVyZS5oYXNfZGVzdHJ1Y3R1cmUoYXNzaWduWzJdKSB0aGVuCiAgICAgICAgICBsb2NhbCBuYW1lID0gTmFtZVByb3h5KCJkZXMiKQogICAgICAgICAgYm9keSA9IHsKICAgICAgICAgICAgZGVzdHJ1Y3R1cmUuYnVpbGRfYXNzaWduKHNlbGYsIGFzc2lnblsyXVsxXSwgbmFtZSksCiAgICAgICAgICAgIGJ1aWxkLmdyb3VwKG5vZGVbM10pCiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gYnVpbGRbImRvIl0oewogICAgICAgICAgICBidWlsZC5hc3NpZ25fb25lKG5hbWUsIGFzc2lnblszXVsxXSksCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiaWYiLAogICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICAgYm9keSwKICAgICAgICAgICAgICB1bnBhY2sobm9kZSwgNCkKICAgICAgICAgICAgfQogICAgICAgICAgfSkKICAgICAgICBlbHNlCiAgICAgICAgICBsb2NhbCBuYW1lID0gYXNzaWduWzJdWzFdCiAgICAgICAgICByZXR1cm4gYnVpbGRbImRvIl0oewogICAgICAgICAgICBhc3NpZ24sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiaWYiLAogICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICAgdW5wYWNrKG5vZGUsIDMpCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICBub2RlID0gZXhwYW5kX2Vsc2VpZl9hc3NpZ24obm9kZSkKICAgICAgaWYgcmV0IHRoZW4KICAgICAgICBzbWFydF9ub2RlKG5vZGUpCiAgICAgICAgbm9kZVsndGhlbiddID0gdHJhbnNmb3JtX2xhc3Rfc3RtKG5vZGVbJ3RoZW4nXSwgcmV0KQogICAgICAgIGZvciBpID0gNCwgI25vZGUgZG8KICAgICAgICAgIGxvY2FsIGNhc2UgPSBub2RlW2ldCiAgICAgICAgICBsb2NhbCBib2R5X2lkeCA9ICNub2RlW2ldCiAgICAgICAgICBjYXNlW2JvZHlfaWR4XSA9IHRyYW5zZm9ybV9sYXN0X3N0bShjYXNlW2JvZHlfaWR4XSwgcmV0KQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgcmV0dXJuIG5vZGUKICAgIGVuZCwKICAgIHdpdGggPSBmdW5jdGlvbihzZWxmLCBub2RlLCByZXQpCiAgICAgIGxvY2FsIGV4cCwgYmxvY2sgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwgY29weV9zY29wZSA9IHRydWUKICAgICAgbG9jYWwgc2NvcGVfbmFtZSwgbmFtZWRfYXNzaWduCiAgICAgIGRvCiAgICAgICAgbG9jYWwgbGFzdCA9IGxhc3Rfc3RtKGJsb2NrKQogICAgICAgIGlmIGxhc3QgdGhlbgogICAgICAgICAgaWYgdHlwZXMudGVybWluYXRpbmdbbnR5cGUobGFzdCldIHRoZW4KICAgICAgICAgICAgcmV0ID0gZmFsc2UKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgaWYgbnR5cGUoZXhwKSA9PSAiYXNzaWduIiB0aGVuCiAgICAgICAgbG9jYWwgbmFtZXMsIHZhbHVlcyA9IHVucGFjayhleHAsIDIpCiAgICAgICAgbG9jYWwgZmlyc3RfbmFtZSA9IG5hbWVzWzFdCiAgICAgICAgaWYgbnR5cGUoZmlyc3RfbmFtZSkgPT0gInJlZiIgdGhlbgogICAgICAgICAgc2NvcGVfbmFtZSA9IGZpcnN0X25hbWUKICAgICAgICAgIG5hbWVkX2Fzc2lnbiA9IGV4cAogICAgICAgICAgZXhwID0gdmFsdWVzWzFdCiAgICAgICAgICBjb3B5X3Njb3BlID0gZmFsc2UKICAgICAgICBlbHNlCiAgICAgICAgICBzY29wZV9uYW1lID0gTmFtZVByb3h5KCJ3aXRoIikKICAgICAgICAgIGV4cCA9IHZhbHVlc1sxXQogICAgICAgICAgdmFsdWVzWzFdID0gc2NvcGVfbmFtZQogICAgICAgICAgbmFtZWRfYXNzaWduID0gewogICAgICAgICAgICAiYXNzaWduIiwKICAgICAgICAgICAgbmFtZXMsCiAgICAgICAgICAgIHZhbHVlcwogICAgICAgICAgfQogICAgICAgIGVuZAogICAgICBlbHNlaWYgc2VsZjppc19sb2NhbChleHApIHRoZW4KICAgICAgICBzY29wZV9uYW1lID0gZXhwCiAgICAgICAgY29weV9zY29wZSA9IGZhbHNlCiAgICAgIGVuZAogICAgICBzY29wZV9uYW1lID0gc2NvcGVfbmFtZSBvciBOYW1lUHJveHkoIndpdGgiKQogICAgICBsb2NhbCBvdXQgPSBidWlsZFsiZG8iXSh7CiAgICAgICAgY29weV9zY29wZSBhbmQgYnVpbGQuYXNzaWduX29uZShzY29wZV9uYW1lLCBleHApIG9yIE5PT1AsCiAgICAgICAgbmFtZWRfYXNzaWduIG9yIE5PT1AsCiAgICAgICAgUnVuKGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgICByZXR1cm4gc2VsZjpzZXQoInNjb3BlX3ZhciIsIHNjb3BlX25hbWUpCiAgICAgICAgZW5kKSwKICAgICAgICB1bnBhY2soYmxvY2spCiAgICAgIH0pCiAgICAgIGlmIHJldCB0aGVuCiAgICAgICAgdGFibGUuaW5zZXJ0KG91dFsyXSwgcmV0KHNjb3BlX25hbWUpKQogICAgICBlbmQKICAgICAgcmV0dXJuIG91dAogICAgZW5kLAogICAgZm9yZWFjaCA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUsIF8pCiAgICAgIHNtYXJ0X25vZGUobm9kZSkKICAgICAgbG9jYWwgc291cmNlID0gdW5wYWNrKG5vZGUuaXRlcikKICAgICAgbG9jYWwgZGVzdHJ1Y3R1cmVzID0geyB9CiAgICAgIGRvCiAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgZm9yIGksIG5hbWUgaW4gaXBhaXJzKG5vZGUubmFtZXMpIGRvCiAgICAgICAgICBpZiBudHlwZShuYW1lKSA9PSAidGFibGUiIHRoZW4KICAgICAgICAgICAgZG8KICAgICAgICAgICAgICBsb2NhbCBwcm94eSA9IE5hbWVQcm94eSgiZGVzIikKICAgICAgICAgICAgICBpbnNlcnQoZGVzdHJ1Y3R1cmVzLCBkZXN0cnVjdHVyZS5idWlsZF9hc3NpZ24oc2VsZiwgbmFtZSwgcHJveHkpKQogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBwcm94eQogICAgICAgICAgICBlbmQKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgX2FjY3VtXzBbX2xlbl8wXSA9IG5hbWUKICAgICAgICAgIGVuZAogICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgIGVuZAogICAgICAgIG5vZGUubmFtZXMgPSBfYWNjdW1fMAogICAgICBlbmQKICAgICAgaWYgbmV4dChkZXN0cnVjdHVyZXMpIHRoZW4KICAgICAgICBpbnNlcnQoZGVzdHJ1Y3R1cmVzLCBidWlsZC5ncm91cChub2RlLmJvZHkpKQogICAgICAgIG5vZGUuYm9keSA9IGRlc3RydWN0dXJlcwogICAgICBlbmQKICAgICAgaWYgbnR5cGUoc291cmNlKSA9PSAidW5wYWNrIiB0aGVuCiAgICAgICAgbG9jYWwgbGlzdCA9IHNvdXJjZVsyXQogICAgICAgIGxvY2FsIGluZGV4X25hbWUgPSBOYW1lUHJveHkoImluZGV4IikKICAgICAgICBsb2NhbCBsaXN0X25hbWUgPSBzZWxmOmlzX2xvY2FsKGxpc3QpIGFuZCBsaXN0IG9yIE5hbWVQcm94eSgibGlzdCIpCiAgICAgICAgbG9jYWwgc2xpY2VfdmFyID0gbmlsCiAgICAgICAgbG9jYWwgYm91bmRzCiAgICAgICAgaWYgaXNfc2xpY2UobGlzdCkgdGhlbgogICAgICAgICAgbG9jYWwgc2xpY2UgPSBsaXN0WyNsaXN0XQogICAgICAgICAgdGFibGUucmVtb3ZlKGxpc3QpCiAgICAgICAgICB0YWJsZS5yZW1vdmUoc2xpY2UsIDEpCiAgICAgICAgICBpZiBzZWxmOmlzX2xvY2FsKGxpc3QpIHRoZW4KICAgICAgICAgICAgbGlzdF9uYW1lID0gbGlzdAogICAgICAgICAgZW5kCiAgICAgICAgICBpZiBzbGljZVsyXSBhbmQgc2xpY2VbMl0gfj0gIiIgdGhlbgogICAgICAgICAgICBsb2NhbCBtYXhfdG1wX25hbWUgPSBOYW1lUHJveHkoIm1heCIpCiAgICAgICAgICAgIHNsaWNlX3ZhciA9IGJ1aWxkLmFzc2lnbl9vbmUobWF4X3RtcF9uYW1lLCBzbGljZVsyXSkKICAgICAgICAgICAgc2xpY2VbMl0gPSB7CiAgICAgICAgICAgICAgImV4cCIsCiAgICAgICAgICAgICAgbWF4X3RtcF9uYW1lLAogICAgICAgICAgICAgICI8IiwKICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICJhbmQiLAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJsZW5ndGgiLAogICAgICAgICAgICAgICAgbGlzdF9uYW1lCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiKyIsCiAgICAgICAgICAgICAgbWF4X3RtcF9uYW1lLAogICAgICAgICAgICAgICJvciIsCiAgICAgICAgICAgICAgbWF4X3RtcF9uYW1lCiAgICAgICAgICAgIH0KICAgICAgICAgIGVsc2UKICAgICAgICAgICAgc2xpY2VbMl0gPSB7CiAgICAgICAgICAgICAgImxlbmd0aCIsCiAgICAgICAgICAgICAgbGlzdF9uYW1lCiAgICAgICAgICAgIH0KICAgICAgICAgIGVuZAogICAgICAgICAgYm91bmRzID0gc2xpY2UKICAgICAgICBlbHNlCiAgICAgICAgICBib3VuZHMgPSB7CiAgICAgICAgICAgIDEsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAibGVuZ3RoIiwKICAgICAgICAgICAgICBsaXN0X25hbWUKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIGVuZAogICAgICAgIGxvY2FsIG5hbWVzCiAgICAgICAgZG8KICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICBsb2NhbCBfbGlzdF8wID0gbm9kZS5uYW1lcwogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI19saXN0XzAgZG8KICAgICAgICAgICAgbG9jYWwgbiA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBpc19uYW1lX3Byb3h5KG4pIGFuZCBuIG9yIExvY2FsTmFtZShuKSBvciBuCiAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIGVuZAogICAgICAgICAgbmFtZXMgPSBfYWNjdW1fMAogICAgICAgIGVuZAogICAgICAgIHJldHVybiBidWlsZC5ncm91cCh7CiAgICAgICAgICBsaXN0X25hbWUgfj0gbGlzdCBhbmQgYnVpbGQuYXNzaWduX29uZShsaXN0X25hbWUsIGxpc3QpIG9yIE5PT1AsCiAgICAgICAgICBzbGljZV92YXIgb3IgTk9PUCwKICAgICAgICAgIGJ1aWxkWyJmb3IiXSh7CiAgICAgICAgICAgIG5hbWUgPSBpbmRleF9uYW1lLAogICAgICAgICAgICBib3VuZHMgPSBib3VuZHMsCiAgICAgICAgICAgIGJvZHkgPSB7CiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImFzc2lnbiIsCiAgICAgICAgICAgICAgICBuYW1lcywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgTmFtZVByb3h5LmluZGV4KGxpc3RfbmFtZSwgaW5kZXhfbmFtZSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGJ1aWxkLmdyb3VwKG5vZGUuYm9keSkKICAgICAgICAgICAgfQogICAgICAgICAgfSkKICAgICAgICB9KQogICAgICBlbmQKICAgICAgbm9kZS5ib2R5ID0gd2l0aF9jb250aW51ZV9saXN0ZW5lcihub2RlLmJvZHkpCiAgICBlbmQsCiAgICBbIndoaWxlIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBzbWFydF9ub2RlKG5vZGUpCiAgICAgIG5vZGUuYm9keSA9IHdpdGhfY29udGludWVfbGlzdGVuZXIobm9kZS5ib2R5KQogICAgZW5kLAogICAgWyJmb3IiXSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIHNtYXJ0X25vZGUobm9kZSkKICAgICAgbm9kZS5ib2R5ID0gd2l0aF9jb250aW51ZV9saXN0ZW5lcihub2RlLmJvZHkpCiAgICBlbmQsCiAgICBzd2l0Y2ggPSBmdW5jdGlvbihzZWxmLCBub2RlLCByZXQpCiAgICAgIGxvY2FsIGV4cCwgY29uZHMgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwgZXhwX25hbWUgPSBOYW1lUHJveHkoImV4cCIpCiAgICAgIGxvY2FsIGNvbnZlcnRfY29uZAogICAgICBjb252ZXJ0X2NvbmQgPSBmdW5jdGlvbihjb25kKQogICAgICAgIGxvY2FsIHQsIGNhc2VfZXhwcywgYm9keSA9IHVucGFjayhjb25kKQogICAgICAgIGxvY2FsIG91dCA9IHsgfQogICAgICAgIGluc2VydChvdXQsIHQgPT0gImNhc2UiIGFuZCAiZWxzZWlmIiBvciAiZWxzZSIpCiAgICAgICAgaWYgdCB+PSAiZWxzZSIgdGhlbgogICAgICAgICAgbG9jYWwgY29uZF9leHAgPSB7IH0KICAgICAgICAgIGZvciBpLCBjYXNlIGluIGlwYWlycyhjYXNlX2V4cHMpIGRvCiAgICAgICAgICAgIGlmIGkgPT0gMSB0aGVuCiAgICAgICAgICAgICAgaW5zZXJ0KGNvbmRfZXhwLCAiZXhwIikKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgIGluc2VydChjb25kX2V4cCwgIm9yIikKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGlmIG5vdCAodmFsdWVfaXNfc2luZ3VsYXIoY2FzZSkpIHRoZW4KICAgICAgICAgICAgICBjYXNlID0gewogICAgICAgICAgICAgICAgInBhcmVucyIsCiAgICAgICAgICAgICAgICBjYXNlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgaW5zZXJ0KGNvbmRfZXhwLCB7CiAgICAgICAgICAgICAgImV4cCIsCiAgICAgICAgICAgICAgY2FzZSwKICAgICAgICAgICAgICAiPT0iLAogICAgICAgICAgICAgIGV4cF9uYW1lCiAgICAgICAgICAgIH0pCiAgICAgICAgICBlbmQKICAgICAgICAgIGluc2VydChvdXQsIGNvbmRfZXhwKQogICAgICAgIGVsc2UKICAgICAgICAgIGJvZHkgPSBjYXNlX2V4cHMKICAgICAgICBlbmQKICAgICAgICBpZiByZXQgdGhlbgogICAgICAgICAgYm9keSA9IHRyYW5zZm9ybV9sYXN0X3N0bShib2R5LCByZXQpCiAgICAgICAgZW5kCiAgICAgICAgaW5zZXJ0KG91dCwgYm9keSkKICAgICAgICByZXR1cm4gb3V0CiAgICAgIGVuZAogICAgICBsb2NhbCBmaXJzdCA9IHRydWUKICAgICAgbG9jYWwgaWZfc3RtID0gewogICAgICAgICJpZiIKICAgICAgfQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjY29uZHMgZG8KICAgICAgICBsb2NhbCBjb25kID0gY29uZHNbX2luZGV4XzBdCiAgICAgICAgbG9jYWwgaWZfY29uZCA9IGNvbnZlcnRfY29uZChjb25kKQogICAgICAgIGlmIGZpcnN0IHRoZW4KICAgICAgICAgIGZpcnN0ID0gZmFsc2UKICAgICAgICAgIGluc2VydChpZl9zdG0sIGlmX2NvbmRbMl0pCiAgICAgICAgICBpbnNlcnQoaWZfc3RtLCBpZl9jb25kWzNdKQogICAgICAgIGVsc2UKICAgICAgICAgIGluc2VydChpZl9zdG0sIGlmX2NvbmQpCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICByZXR1cm4gYnVpbGQuZ3JvdXAoewogICAgICAgIGJ1aWxkLmFzc2lnbl9vbmUoZXhwX25hbWUsIGV4cCksCiAgICAgICAgaWZfc3RtCiAgICAgIH0pCiAgICBlbmQsCiAgICBjbGFzcyA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLmNsYXNzIikKICB9KQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnRyYW5zZm9ybS5jbGFzcyddID0gZnVuY3Rpb24oKQogIGxvY2FsIE5hbWVQcm94eSwgTG9jYWxOYW1lCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLm5hbWVzIikKICAgIE5hbWVQcm94eSwgTG9jYWxOYW1lID0gX29ial8wLk5hbWVQcm94eSwgX29ial8wLkxvY2FsTmFtZQogIGVuZAogIGxvY2FsIFJ1bgogIFJ1biA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnN0YXRlbWVudHMiKS5SdW4KICBsb2NhbCBDT05TVFJVQ1RPUl9OQU1FID0gIm5ldyIKICBsb2NhbCBpbnNlcnQKICBpbnNlcnQgPSB0YWJsZS5pbnNlcnQKICBsb2NhbCBidWlsZCwgbnR5cGUsIE5PT1AKICBkbwogICAgbG9jYWwgX29ial8wID0gcmVxdWlyZSgibW9vbnNjcmlwdC50eXBlcyIpCiAgICBidWlsZCwgbnR5cGUsIE5PT1AgPSBfb2JqXzAuYnVpbGQsIF9vYmpfMC5udHlwZSwgX29ial8wLk5PT1AKICBlbmQKICBsb2NhbCB1bnBhY2sKICB1bnBhY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS51bnBhY2sKICBsb2NhbCB0cmFuc2Zvcm1fc3VwZXIKICB0cmFuc2Zvcm1fc3VwZXIgPSBmdW5jdGlvbihjbHNfbmFtZSwgb25fYmFzZSwgYmxvY2ssIGNoYWluKQogICAgaWYgb25fYmFzZSA9PSBuaWwgdGhlbgogICAgICBvbl9iYXNlID0gdHJ1ZQogICAgZW5kCiAgICBsb2NhbCByZWxhdGl2ZV9wYXJlbnQgPSB7CiAgICAgICJjaGFpbiIsCiAgICAgIGNsc19uYW1lLAogICAgICB7CiAgICAgICAgImRvdCIsCiAgICAgICAgIl9fcGFyZW50IgogICAgICB9CiAgICB9CiAgICBpZiBub3QgKGNoYWluKSB0aGVuCiAgICAgIHJldHVybiByZWxhdGl2ZV9wYXJlbnQKICAgIGVuZAogICAgbG9jYWwgY2hhaW5fdGFpbCA9IHsKICAgICAgdW5wYWNrKGNoYWluLCAzKQogICAgfQogICAgbG9jYWwgaGVhZCA9IGNoYWluX3RhaWxbMV0KICAgIGlmIGhlYWQgPT0gbmlsIHRoZW4KICAgICAgcmV0dXJuIHJlbGF0aXZlX3BhcmVudAogICAgZW5kCiAgICBsb2NhbCBuZXdfY2hhaW4gPSByZWxhdGl2ZV9wYXJlbnQKICAgIGxvY2FsIF9leHBfMCA9IGhlYWRbMV0KICAgIGlmICJjYWxsIiA9PSBfZXhwXzAgdGhlbgogICAgICBpZiBvbl9iYXNlIHRoZW4KICAgICAgICBpbnNlcnQobmV3X2NoYWluLCB7CiAgICAgICAgICAiZG90IiwKICAgICAgICAgICJfX2Jhc2UiCiAgICAgICAgfSkKICAgICAgZW5kCiAgICAgIGxvY2FsIGNhbGxpbmdfbmFtZSA9IGJsb2NrOmdldCgiY3VycmVudF9tZXRob2QiKQogICAgICBhc3NlcnQoY2FsbGluZ19uYW1lLCAibWlzc2luZyBjYWxsaW5nIG5hbWUiKQogICAgICBjaGFpbl90YWlsWzFdID0gewogICAgICAgICJjYWxsIiwKICAgICAgICB7CiAgICAgICAgICAic2VsZiIsCiAgICAgICAgICB1bnBhY2soaGVhZFsyXSkKICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgbnR5cGUoY2FsbGluZ19uYW1lKSA9PSAia2V5X2xpdGVyYWwiIHRoZW4KICAgICAgICBpbnNlcnQobmV3X2NoYWluLCB7CiAgICAgICAgICAiZG90IiwKICAgICAgICAgIGNhbGxpbmdfbmFtZVsyXQogICAgICAgIH0pCiAgICAgIGVsc2UKICAgICAgICBpbnNlcnQobmV3X2NoYWluLCB7CiAgICAgICAgICAiaW5kZXgiLAogICAgICAgICAgY2FsbGluZ19uYW1lCiAgICAgICAgfSkKICAgICAgZW5kCiAgICBlbHNlaWYgImNvbG9uIiA9PSBfZXhwXzAgdGhlbgogICAgICBsb2NhbCBjYWxsID0gY2hhaW5fdGFpbFsyXQogICAgICBpZiBjYWxsIGFuZCBjYWxsWzFdID09ICJjYWxsIiB0aGVuCiAgICAgICAgY2hhaW5fdGFpbFsxXSA9IHsKICAgICAgICAgICJkb3QiLAogICAgICAgICAgaGVhZFsyXQogICAgICAgIH0KICAgICAgICBjaGFpbl90YWlsWzJdID0gewogICAgICAgICAgImNhbGwiLAogICAgICAgICAgewogICAgICAgICAgICAic2VsZiIsCiAgICAgICAgICAgIHVucGFjayhjYWxsWzJdKQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIGZvciBfaW5kZXhfMCA9IDEsICNjaGFpbl90YWlsIGRvCiAgICAgIGxvY2FsIGl0ZW0gPSBjaGFpbl90YWlsW19pbmRleF8wXQogICAgICBpbnNlcnQobmV3X2NoYWluLCBpdGVtKQogICAgZW5kCiAgICByZXR1cm4gbmV3X2NoYWluCiAgZW5kCiAgbG9jYWwgc3VwZXJfc2NvcGUKICBzdXBlcl9zY29wZSA9IGZ1bmN0aW9uKHZhbHVlLCB0LCBrZXkpCiAgICBsb2NhbCBwcmV2X21ldGhvZAogICAgcmV0dXJuIHsKICAgICAgInNjb3BlZCIsCiAgICAgIFJ1bihmdW5jdGlvbihzZWxmKQogICAgICAgIHByZXZfbWV0aG9kID0gc2VsZjpnZXQoImN1cnJlbnRfbWV0aG9kIikKICAgICAgICBzZWxmOnNldCgiY3VycmVudF9tZXRob2QiLCBrZXkpCiAgICAgICAgcmV0dXJuIHNlbGY6c2V0KCJzdXBlciIsIHQpCiAgICAgIGVuZCksCiAgICAgIHZhbHVlLAogICAgICBSdW4oZnVuY3Rpb24oc2VsZikKICAgICAgICByZXR1cm4gc2VsZjpzZXQoImN1cnJlbnRfbWV0aG9kIiwgcHJldl9tZXRob2QpCiAgICAgIGVuZCkKICAgIH0KICBlbmQKICByZXR1cm4gZnVuY3Rpb24oc2VsZiwgbm9kZSwgcmV0LCBwYXJlbnRfYXNzaWduKQogICAgbG9jYWwgbmFtZSwgcGFyZW50X3ZhbCwgYm9keSA9IHVucGFjayhub2RlLCAyKQogICAgaWYgcGFyZW50X3ZhbCA9PSAiIiB0aGVuCiAgICAgIHBhcmVudF92YWwgPSBuaWwKICAgIGVuZAogICAgbG9jYWwgcGFyZW50X2Nsc19uYW1lID0gTmFtZVByb3h5KCJwYXJlbnQiKQogICAgbG9jYWwgYmFzZV9uYW1lID0gTmFtZVByb3h5KCJiYXNlIikKICAgIGxvY2FsIHNlbGZfbmFtZSA9IE5hbWVQcm94eSgic2VsZiIpCiAgICBsb2NhbCBjbHNfbmFtZSA9IE5hbWVQcm94eSgiY2xhc3MiKQogICAgbG9jYWwgY2xzX2luc3RhbmNlX3N1cGVyCiAgICBjbHNfaW5zdGFuY2Vfc3VwZXIgPSBmdW5jdGlvbiguLi4pCiAgICAgIHJldHVybiB0cmFuc2Zvcm1fc3VwZXIoY2xzX25hbWUsIHRydWUsIC4uLikKICAgIGVuZAogICAgbG9jYWwgY2xzX3N1cGVyCiAgICBjbHNfc3VwZXIgPSBmdW5jdGlvbiguLi4pCiAgICAgIHJldHVybiB0cmFuc2Zvcm1fc3VwZXIoY2xzX25hbWUsIGZhbHNlLCAuLi4pCiAgICBlbmQKICAgIGxvY2FsIHN0YXRlbWVudHMgPSB7IH0KICAgIGxvY2FsIHByb3BlcnRpZXMgPSB7IH0KICAgIGZvciBfaW5kZXhfMCA9IDEsICNib2R5IGRvCiAgICAgIGxvY2FsIGl0ZW0gPSBib2R5W19pbmRleF8wXQogICAgICBsb2NhbCBfZXhwXzAgPSBpdGVtWzFdCiAgICAgIGlmICJzdG0iID09IF9leHBfMCB0aGVuCiAgICAgICAgaW5zZXJ0KHN0YXRlbWVudHMsIGl0ZW1bMl0pCiAgICAgIGVsc2VpZiAicHJvcHMiID09IF9leHBfMCB0aGVuCiAgICAgICAgZm9yIF9pbmRleF8xID0gMiwgI2l0ZW0gZG8KICAgICAgICAgIGxvY2FsIHR1cGxlID0gaXRlbVtfaW5kZXhfMV0KICAgICAgICAgIGlmIG50eXBlKHR1cGxlWzFdKSA9PSAic2VsZiIgdGhlbgogICAgICAgICAgICBsb2NhbCBrLCB2CiAgICAgICAgICAgIGssIHYgPSB0dXBsZVsxXSwgdHVwbGVbMl0KICAgICAgICAgICAgdiA9IHN1cGVyX3Njb3BlKHYsIGNsc19zdXBlciwgewogICAgICAgICAgICAgICJrZXlfbGl0ZXJhbCIsCiAgICAgICAgICAgICAga1syXQogICAgICAgICAgICB9KQogICAgICAgICAgICBpbnNlcnQoc3RhdGVtZW50cywgYnVpbGQuYXNzaWduX29uZShrLCB2KSkKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgaW5zZXJ0KHByb3BlcnRpZXMsIHR1cGxlKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgICBsb2NhbCBjb25zdHJ1Y3RvcgogICAgZG8KICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjcHJvcGVydGllcyBkbwogICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICByZXBlYXQKICAgICAgICAgIGxvY2FsIHR1cGxlID0gcHJvcGVydGllc1tfaW5kZXhfMF0KICAgICAgICAgIGxvY2FsIGtleSA9IHR1cGxlWzFdCiAgICAgICAgICBsb2NhbCBfdmFsdWVfMAogICAgICAgICAgaWYga2V5WzFdID09ICJrZXlfbGl0ZXJhbCIgYW5kIGtleVsyXSA9PSBDT05TVFJVQ1RPUl9OQU1FIHRoZW4KICAgICAgICAgICAgY29uc3RydWN0b3IgPSB0dXBsZVsyXQogICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgYnJlYWsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgbG9jYWwgdmFsCiAgICAgICAgICAgIGtleSwgdmFsID0gdHVwbGVbMV0sIHR1cGxlWzJdCiAgICAgICAgICAgIF92YWx1ZV8wID0gewogICAgICAgICAgICAgIGtleSwKICAgICAgICAgICAgICBzdXBlcl9zY29wZSh2YWwsIGNsc19pbnN0YW5jZV9zdXBlciwga2V5KQogICAgICAgICAgICB9CiAgICAgICAgICBlbmQKICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfdmFsdWVfMAogICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgdW50aWwgdHJ1ZQogICAgICAgIGlmIG5vdCBfY29udGludWVfMCB0aGVuCiAgICAgICAgICBicmVhawogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgcHJvcGVydGllcyA9IF9hY2N1bV8wCiAgICBlbmQKICAgIGlmIG5vdCAoY29uc3RydWN0b3IpIHRoZW4KICAgICAgaWYgcGFyZW50X3ZhbCB0aGVuCiAgICAgICAgY29uc3RydWN0b3IgPSBidWlsZC5mbmRlZih7CiAgICAgICAgICBhcmdzID0gewogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIi4uLiIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGFycm93ID0gImZhdCIsCiAgICAgICAgICBib2R5ID0gewogICAgICAgICAgICBidWlsZC5jaGFpbih7CiAgICAgICAgICAgICAgYmFzZSA9ICJzdXBlciIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImNhbGwiLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiLi4uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICBlbHNlCiAgICAgICAgY29uc3RydWN0b3IgPSBidWlsZC5mbmRlZigpCiAgICAgIGVuZAogICAgZW5kCiAgICBsb2NhbCByZWFsX25hbWUgPSBuYW1lIG9yIHBhcmVudF9hc3NpZ24gYW5kIHBhcmVudF9hc3NpZ25bMl1bMV0KICAgIGxvY2FsIF9leHBfMCA9IG50eXBlKHJlYWxfbmFtZSkKICAgIGlmICJjaGFpbiIgPT0gX2V4cF8wIHRoZW4KICAgICAgbG9jYWwgbGFzdCA9IHJlYWxfbmFtZVsjcmVhbF9uYW1lXQogICAgICBsb2NhbCBfZXhwXzEgPSBudHlwZShsYXN0KQogICAgICBpZiAiZG90IiA9PSBfZXhwXzEgdGhlbgogICAgICAgIHJlYWxfbmFtZSA9IHsKICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgJyInLAogICAgICAgICAgbGFzdFsyXQogICAgICAgIH0KICAgICAgZWxzZWlmICJpbmRleCIgPT0gX2V4cF8xIHRoZW4KICAgICAgICByZWFsX25hbWUgPSBsYXN0WzJdCiAgICAgIGVsc2UKICAgICAgICByZWFsX25hbWUgPSAibmlsIgogICAgICBlbmQKICAgIGVsc2VpZiAibmlsIiA9PSBfZXhwXzAgdGhlbgogICAgICByZWFsX25hbWUgPSAibmlsIgogICAgZWxzZQogICAgICBsb2NhbCBuYW1lX3QgPSB0eXBlKHJlYWxfbmFtZSkKICAgICAgbG9jYWwgZmxhdHRlbmVkX25hbWUKICAgICAgaWYgbmFtZV90ID09ICJzdHJpbmciIHRoZW4KICAgICAgICBmbGF0dGVuZWRfbmFtZSA9IHJlYWxfbmFtZQogICAgICBlbHNlaWYgbmFtZV90ID09ICJ0YWJsZSIgYW5kIHJlYWxfbmFtZVsxXSA9PSAicmVmIiB0aGVuCiAgICAgICAgZmxhdHRlbmVkX25hbWUgPSByZWFsX25hbWVbMl0KICAgICAgZWxzZQogICAgICAgIGZsYXR0ZW5lZF9uYW1lID0gZXJyb3IoImRvbid0IGtub3cgaG93IHRvIGV4dHJhY3QgbmFtZSBmcm9tICIgLi4gdG9zdHJpbmcobmFtZV90KSkKICAgICAgZW5kCiAgICAgIHJlYWxfbmFtZSA9IHsKICAgICAgICAic3RyaW5nIiwKICAgICAgICAnIicsCiAgICAgICAgZmxhdHRlbmVkX25hbWUKICAgICAgfQogICAgZW5kCiAgICBsb2NhbCBjbHMgPSBidWlsZC50YWJsZSh7CiAgICAgIHsKICAgICAgICAiX19pbml0IiwKICAgICAgICBzdXBlcl9zY29wZShjb25zdHJ1Y3RvciwgY2xzX3N1cGVyLCB7CiAgICAgICAgICAia2V5X2xpdGVyYWwiLAogICAgICAgICAgIl9faW5pdCIKICAgICAgICB9KQogICAgICB9LAogICAgICB7CiAgICAgICAgIl9fYmFzZSIsCiAgICAgICAgYmFzZV9uYW1lCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiX19uYW1lIiwKICAgICAgICByZWFsX25hbWUKICAgICAgfSwKICAgICAgcGFyZW50X3ZhbCBhbmQgewogICAgICAgICJfX3BhcmVudCIsCiAgICAgICAgcGFyZW50X2Nsc19uYW1lCiAgICAgIH0gb3IgbmlsCiAgICB9KQogICAgbG9jYWwgY2xhc3NfaW5kZXgKICAgIGlmIHBhcmVudF92YWwgdGhlbgogICAgICBsb2NhbCBjbGFzc19sb29rdXAgPSBidWlsZFsiaWYiXSh7CiAgICAgICAgY29uZCA9IHsKICAgICAgICAgICJleHAiLAogICAgICAgICAgewogICAgICAgICAgICAicmVmIiwKICAgICAgICAgICAgInZhbCIKICAgICAgICAgIH0sCiAgICAgICAgICAiPT0iLAogICAgICAgICAgIm5pbCIKICAgICAgICB9LAogICAgICAgIFsidGhlbiJdID0gewogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShMb2NhbE5hbWUoInBhcmVudCIpLCBidWlsZC5jaGFpbih7CiAgICAgICAgICAgIGJhc2UgPSAicmF3Z2V0IiwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJjYWxsIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJyZWYiLAogICAgICAgICAgICAgICAgICAiY2xzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICciJywKICAgICAgICAgICAgICAgICAgIl9fcGFyZW50IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSkpLAogICAgICAgICAgYnVpbGRbImlmIl0oewogICAgICAgICAgICBjb25kID0gTG9jYWxOYW1lKCJwYXJlbnQiKSwKICAgICAgICAgICAgWyJ0aGVuIl0gPSB7CiAgICAgICAgICAgICAgYnVpbGQuY2hhaW4oewogICAgICAgICAgICAgICAgYmFzZSA9IExvY2FsTmFtZSgicGFyZW50IiksCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pCiAgICAgICAgfQogICAgICB9KQogICAgICBpbnNlcnQoY2xhc3NfbG9va3VwLCB7CiAgICAgICAgImVsc2UiLAogICAgICAgIHsKICAgICAgICAgICJ2YWwiCiAgICAgICAgfQogICAgICB9KQogICAgICBjbGFzc19pbmRleCA9IGJ1aWxkLmZuZGVmKHsKICAgICAgICBhcmdzID0gewogICAgICAgICAgewogICAgICAgICAgICAiY2xzIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBib2R5ID0gewogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShMb2NhbE5hbWUoInZhbCIpLCBidWlsZC5jaGFpbih7CiAgICAgICAgICAgIGJhc2UgPSAicmF3Z2V0IiwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJjYWxsIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBiYXNlX25hbWUsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJyZWYiLAogICAgICAgICAgICAgICAgICAibmFtZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pKSwKICAgICAgICAgIGNsYXNzX2xvb2t1cAogICAgICAgIH0KICAgICAgfSkKICAgIGVsc2UKICAgICAgY2xhc3NfaW5kZXggPSBiYXNlX25hbWUKICAgIGVuZAogICAgbG9jYWwgY2xzX210ID0gYnVpbGQudGFibGUoewogICAgICB7CiAgICAgICAgIl9faW5kZXgiLAogICAgICAgIGNsYXNzX2luZGV4CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiX19jYWxsIiwKICAgICAgICBidWlsZC5mbmRlZih7CiAgICAgICAgICBhcmdzID0gewogICAgICAgICAgICB7CiAgICAgICAgICAgICAgImNscyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICIuLi4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBib2R5ID0gewogICAgICAgICAgICBidWlsZC5hc3NpZ25fb25lKHNlbGZfbmFtZSwgYnVpbGQuY2hhaW4oewogICAgICAgICAgICAgIGJhc2UgPSAic2V0bWV0YXRhYmxlIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiY2FsbCIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJ7fSIsCiAgICAgICAgICAgICAgICAgIGJhc2VfbmFtZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkpLAogICAgICAgICAgICBidWlsZC5jaGFpbih7CiAgICAgICAgICAgICAgYmFzZSA9ICJjbHMuX19pbml0IiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiY2FsbCIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIHNlbGZfbmFtZSwKICAgICAgICAgICAgICAgICAgIi4uLiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLAogICAgICAgICAgICBzZWxmX25hbWUKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICB9CiAgICB9KQogICAgY2xzID0gYnVpbGQuY2hhaW4oewogICAgICBiYXNlID0gInNldG1ldGF0YWJsZSIsCiAgICAgIHsKICAgICAgICAiY2FsbCIsCiAgICAgICAgewogICAgICAgICAgY2xzLAogICAgICAgICAgY2xzX210CiAgICAgICAgfQogICAgICB9CiAgICB9KQogICAgbG9jYWwgdmFsdWUgPSBuaWwKICAgIGRvCiAgICAgIGxvY2FsIG91dF9ib2R5ID0gewogICAgICAgIFJ1bihmdW5jdGlvbihzZWxmKQogICAgICAgICAgaWYgbmFtZSB0aGVuCiAgICAgICAgICAgIHJldHVybiBzZWxmOnB1dF9uYW1lKG5hbWUpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQpLAogICAgICAgIHsKICAgICAgICAgICJkZWNsYXJlIiwKICAgICAgICAgIHsKICAgICAgICAgICAgY2xzX25hbWUKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWNsYXJlX2dsb2IiLAogICAgICAgICAgIioiCiAgICAgICAgfSwKICAgICAgICBwYXJlbnRfdmFsIGFuZCBidWlsZC5hc3NpZ25fb25lKHBhcmVudF9jbHNfbmFtZSwgcGFyZW50X3ZhbCkgb3IgTk9PUCwKICAgICAgICBidWlsZC5hc3NpZ25fb25lKGJhc2VfbmFtZSwgewogICAgICAgICAgInRhYmxlIiwKICAgICAgICAgIHByb3BlcnRpZXMKICAgICAgICB9KSwKICAgICAgICBidWlsZC5hc3NpZ25fb25lKGJhc2VfbmFtZTpjaGFpbigiX19pbmRleCIpLCBiYXNlX25hbWUpLAogICAgICAgIHBhcmVudF92YWwgYW5kIGJ1aWxkLmNoYWluKHsKICAgICAgICAgIGJhc2UgPSAic2V0bWV0YXRhYmxlIiwKICAgICAgICAgIHsKICAgICAgICAgICAgImNhbGwiLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgYmFzZV9uYW1lLAogICAgICAgICAgICAgIGJ1aWxkLmNoYWluKHsKICAgICAgICAgICAgICAgIGJhc2UgPSBwYXJlbnRfY2xzX25hbWUsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJkb3QiLAogICAgICAgICAgICAgICAgICAiX19iYXNlIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9KSBvciBOT09QLAogICAgICAgIGJ1aWxkLmFzc2lnbl9vbmUoY2xzX25hbWUsIGNscyksCiAgICAgICAgYnVpbGQuYXNzaWduX29uZShiYXNlX25hbWU6Y2hhaW4oIl9fY2xhc3MiKSwgY2xzX25hbWUpLAogICAgICAgIGJ1aWxkLmdyb3VwKChmdW5jdGlvbigpCiAgICAgICAgICBpZiAjc3RhdGVtZW50cyA+IDAgdGhlbgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIGJ1aWxkLmFzc2lnbl9vbmUoTG9jYWxOYW1lKCJzZWxmIiksIGNsc19uYW1lKSwKICAgICAgICAgICAgICBidWlsZC5ncm91cChzdGF0ZW1lbnRzKQogICAgICAgICAgICB9CiAgICAgICAgICBlbmQKICAgICAgICBlbmQpKCkpLAogICAgICAgIHBhcmVudF92YWwgYW5kIGJ1aWxkWyJpZiJdKHsKICAgICAgICAgIGNvbmQgPSB7CiAgICAgICAgICAgICJleHAiLAogICAgICAgICAgICBwYXJlbnRfY2xzX25hbWU6Y2hhaW4oIl9faW5oZXJpdGVkIikKICAgICAgICAgIH0sCiAgICAgICAgICBbInRoZW4iXSA9IHsKICAgICAgICAgICAgcGFyZW50X2Nsc19uYW1lOmNoYWluKCJfX2luaGVyaXRlZCIsIHsKICAgICAgICAgICAgICAiY2FsbCIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcGFyZW50X2Nsc19uYW1lLAogICAgICAgICAgICAgICAgY2xzX25hbWUKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICB9CiAgICAgICAgfSkgb3IgTk9PUCwKICAgICAgICBidWlsZC5ncm91cCgoZnVuY3Rpb24oKQogICAgICAgICAgaWYgbmFtZSB0aGVuCiAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgYnVpbGQuYXNzaWduX29uZShuYW1lLCBjbHNfbmFtZSkKICAgICAgICAgICAgfQogICAgICAgICAgZW5kCiAgICAgICAgZW5kKSgpKSwKICAgICAgICAoZnVuY3Rpb24oKQogICAgICAgICAgaWYgcmV0IHRoZW4KICAgICAgICAgICAgcmV0dXJuIHJldChjbHNfbmFtZSkKICAgICAgICAgIGVuZAogICAgICAgIGVuZCkoKQogICAgICB9CiAgICAgIHZhbHVlID0gYnVpbGQuZ3JvdXAoewogICAgICAgIGJ1aWxkLmdyb3VwKChmdW5jdGlvbigpCiAgICAgICAgICBpZiBudHlwZShuYW1lKSA9PSAidmFsdWUiIHRoZW4KICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICBidWlsZC5kZWNsYXJlKHsKICAgICAgICAgICAgICAgIG5hbWVzID0gewogICAgICAgICAgICAgICAgICBuYW1lCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQogICAgICAgICAgZW5kCiAgICAgICAgZW5kKSgpKSwKICAgICAgICBidWlsZFsiZG8iXShvdXRfYm9keSkKICAgICAgfSkKICAgIGVuZAogICAgcmV0dXJuIHZhbHVlCiAgZW5kCiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQudHJhbnNmb3JtLmRlc3RydWN0dXJlJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgbnR5cGUsIG10eXBlLCBidWlsZAogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnR5cGVzIikKICAgIG50eXBlLCBtdHlwZSwgYnVpbGQgPSBfb2JqXzAubnR5cGUsIF9vYmpfMC5tdHlwZSwgX29ial8wLmJ1aWxkCiAgZW5kCiAgbG9jYWwgTmFtZVByb3h5CiAgTmFtZVByb3h5ID0gcmVxdWlyZSgibW9vbnNjcmlwdC50cmFuc2Zvcm0ubmFtZXMiKS5OYW1lUHJveHkKICBsb2NhbCBpbnNlcnQKICBpbnNlcnQgPSB0YWJsZS5pbnNlcnQKICBsb2NhbCB1bnBhY2sKICB1bnBhY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS51bnBhY2sKICBsb2NhbCB1c2VyX2Vycm9yCiAgdXNlcl9lcnJvciA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZXJyb3JzIikudXNlcl9lcnJvcgogIGxvY2FsIGpvaW4KICBqb2luID0gZnVuY3Rpb24oLi4uKQogICAgZG8KICAgICAgbG9jYWwgb3V0ID0geyB9CiAgICAgIGxvY2FsIGkgPSAxCiAgICAgIGxvY2FsIF9saXN0XzAgPSB7CiAgICAgICAgLi4uCiAgICAgIH0KICAgICAgZm9yIF9pbmRleF8wID0gMSwgI19saXN0XzAgZG8KICAgICAgICBsb2NhbCB0YmwgPSBfbGlzdF8wW19pbmRleF8wXQogICAgICAgIGZvciBfaW5kZXhfMSA9IDEsICN0YmwgZG8KICAgICAgICAgIGxvY2FsIHYgPSB0YmxbX2luZGV4XzFdCiAgICAgICAgICBvdXRbaV0gPSB2CiAgICAgICAgICBpID0gaSArIDEKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIHJldHVybiBvdXQKICAgIGVuZAogIGVuZAogIGxvY2FsIGhhc19kZXN0cnVjdHVyZQogIGhhc19kZXN0cnVjdHVyZSA9IGZ1bmN0aW9uKG5hbWVzKQogICAgZm9yIF9pbmRleF8wID0gMSwgI25hbWVzIGRvCiAgICAgIGxvY2FsIG4gPSBuYW1lc1tfaW5kZXhfMF0KICAgICAgaWYgbnR5cGUobikgPT0gInRhYmxlIiB0aGVuCiAgICAgICAgcmV0dXJuIHRydWUKICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBmYWxzZQogIGVuZAogIGxvY2FsIGV4dHJhY3RfYXNzaWduX25hbWVzCiAgZXh0cmFjdF9hc3NpZ25fbmFtZXMgPSBmdW5jdGlvbihuYW1lLCBhY2N1bSwgcHJlZml4KQogICAgaWYgYWNjdW0gPT0gbmlsIHRoZW4KICAgICAgYWNjdW0gPSB7IH0KICAgIGVuZAogICAgaWYgcHJlZml4ID09IG5pbCB0aGVuCiAgICAgIHByZWZpeCA9IHsgfQogICAgZW5kCiAgICBsb2NhbCBpID0gMQogICAgbG9jYWwgX2xpc3RfMCA9IG5hbWVbMl0KICAgIGZvciBfaW5kZXhfMCA9IDEsICNfbGlzdF8wIGRvCiAgICAgIGxvY2FsIHR1cGxlID0gX2xpc3RfMFtfaW5kZXhfMF0KICAgICAgbG9jYWwgdmFsdWUsIHN1ZmZpeAogICAgICBpZiAjdHVwbGUgPT0gMSB0aGVuCiAgICAgICAgbG9jYWwgcyA9IHsKICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICB7CiAgICAgICAgICAgICJudW1iZXIiLAogICAgICAgICAgICBpCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGkgPSBpICsgMQogICAgICAgIHZhbHVlLCBzdWZmaXggPSB0dXBsZVsxXSwgcwogICAgICBlbHNlCiAgICAgICAgbG9jYWwga2V5ID0gdHVwbGVbMV0KICAgICAgICBsb2NhbCBzCiAgICAgICAgaWYgbnR5cGUoa2V5KSA9PSAia2V5X2xpdGVyYWwiIHRoZW4KICAgICAgICAgIGxvY2FsIGtleV9uYW1lID0ga2V5WzJdCiAgICAgICAgICBpZiBudHlwZShrZXlfbmFtZSkgPT0gImNvbG9uIiB0aGVuCiAgICAgICAgICAgIHMgPSBrZXlfbmFtZQogICAgICAgICAgZWxzZQogICAgICAgICAgICBzID0gewogICAgICAgICAgICAgICJkb3QiLAogICAgICAgICAgICAgIGtleV9uYW1lCiAgICAgICAgICAgIH0KICAgICAgICAgIGVuZAogICAgICAgIGVsc2UKICAgICAgICAgIHMgPSB7CiAgICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICAgIGtleQogICAgICAgICAgfQogICAgICAgIGVuZAogICAgICAgIHZhbHVlLCBzdWZmaXggPSB0dXBsZVsyXSwgcwogICAgICBlbmQKICAgICAgc3VmZml4ID0gam9pbihwcmVmaXgsIHsKICAgICAgICBzdWZmaXgKICAgICAgfSkKICAgICAgbG9jYWwgX2V4cF8wID0gbnR5cGUodmFsdWUpCiAgICAgIGlmICJ2YWx1ZSIgPT0gX2V4cF8wIG9yICJyZWYiID09IF9leHBfMCBvciAiY2hhaW4iID09IF9leHBfMCBvciAic2VsZiIgPT0gX2V4cF8wIHRoZW4KICAgICAgICBpbnNlcnQoYWNjdW0sIHsKICAgICAgICAgIHZhbHVlLAogICAgICAgICAgc3VmZml4CiAgICAgICAgfSkKICAgICAgZWxzZWlmICJ0YWJsZSIgPT0gX2V4cF8wIHRoZW4KICAgICAgICBleHRyYWN0X2Fzc2lnbl9uYW1lcyh2YWx1ZSwgYWNjdW0sIHN1ZmZpeCkKICAgICAgZWxzZQogICAgICAgIHVzZXJfZXJyb3IoIkNhbid0IGRlc3RydWN0dXJlIHZhbHVlIG9mIHR5cGU6ICIgLi4gdG9zdHJpbmcobnR5cGUodmFsdWUpKSkKICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBhY2N1bQogIGVuZAogIGxvY2FsIGJ1aWxkX2Fzc2lnbgogIGJ1aWxkX2Fzc2lnbiA9IGZ1bmN0aW9uKHNjb3BlLCBkZXN0cnVjdF9saXRlcmFsLCByZWNlaXZlcikKICAgIGxvY2FsIGV4dHJhY3RlZF9uYW1lcyA9IGV4dHJhY3RfYXNzaWduX25hbWVzKGRlc3RydWN0X2xpdGVyYWwpCiAgICBsb2NhbCBuYW1lcyA9IHsgfQogICAgbG9jYWwgdmFsdWVzID0geyB9CiAgICBsb2NhbCBpbm5lciA9IHsKICAgICAgImFzc2lnbiIsCiAgICAgIG5hbWVzLAogICAgICB2YWx1ZXMKICAgIH0KICAgIGxvY2FsIG9iagogICAgaWYgc2NvcGU6aXNfbG9jYWwocmVjZWl2ZXIpIG9yICNleHRyYWN0ZWRfbmFtZXMgPT0gMSB0aGVuCiAgICAgIG9iaiA9IHJlY2VpdmVyCiAgICBlbHNlCiAgICAgIGRvCiAgICAgICAgb2JqID0gTmFtZVByb3h5KCJvYmoiKQogICAgICAgIGlubmVyID0gYnVpbGRbImRvIl0oewogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShvYmosIHJlY2VpdmVyKSwKICAgICAgICAgIHsKICAgICAgICAgICAgImFzc2lnbiIsCiAgICAgICAgICAgIG5hbWVzLAogICAgICAgICAgICB2YWx1ZXMKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIG9iaiA9IG9iagogICAgICBlbmQKICAgIGVuZAogICAgZm9yIF9pbmRleF8wID0gMSwgI2V4dHJhY3RlZF9uYW1lcyBkbwogICAgICBsb2NhbCB0dXBsZSA9IGV4dHJhY3RlZF9uYW1lc1tfaW5kZXhfMF0KICAgICAgaW5zZXJ0KG5hbWVzLCB0dXBsZVsxXSkKICAgICAgbG9jYWwgY2hhaW4KICAgICAgaWYgb2JqIHRoZW4KICAgICAgICBjaGFpbiA9IE5hbWVQcm94eS5jaGFpbihvYmosIHVucGFjayh0dXBsZVsyXSkpCiAgICAgIGVsc2UKICAgICAgICBjaGFpbiA9ICJuaWwiCiAgICAgIGVuZAogICAgICBpbnNlcnQodmFsdWVzLCBjaGFpbikKICAgIGVuZAogICAgcmV0dXJuIGJ1aWxkLmdyb3VwKHsKICAgICAgewogICAgICAgICJkZWNsYXJlIiwKICAgICAgICBuYW1lcwogICAgICB9LAogICAgICBpbm5lcgogICAgfSkKICBlbmQKICBsb2NhbCBzcGxpdF9hc3NpZ24KICBzcGxpdF9hc3NpZ24gPSBmdW5jdGlvbihzY29wZSwgYXNzaWduKQogICAgbG9jYWwgbmFtZXMsIHZhbHVlcyA9IHVucGFjayhhc3NpZ24sIDIpCiAgICBsb2NhbCBnID0geyB9CiAgICBsb2NhbCB0b3RhbF9uYW1lcyA9ICNuYW1lcwogICAgbG9jYWwgdG90YWxfdmFsdWVzID0gI3ZhbHVlcwogICAgbG9jYWwgc3RhcnQgPSAxCiAgICBmb3IgaSwgbiBpbiBpcGFpcnMobmFtZXMpIGRvCiAgICAgIGlmIG50eXBlKG4pID09ICJ0YWJsZSIgdGhlbgogICAgICAgIGlmIGkgPiBzdGFydCB0aGVuCiAgICAgICAgICBsb2NhbCBzdG9wID0gaSAtIDEKICAgICAgICAgIGluc2VydChnLCB7CiAgICAgICAgICAgICJhc3NpZ24iLAogICAgICAgICAgICAoZnVuY3Rpb24oKQogICAgICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICAgICAgICAgIGZvciBpID0gc3RhcnQsIHN0b3AgZG8KICAgICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBuYW1lc1tpXQogICAgICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgICAgICBlbmQpKCksCiAgICAgICAgICAgIChmdW5jdGlvbigpCiAgICAgICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgICAgICAgICAgZm9yIGkgPSBzdGFydCwgc3RvcCBkbwogICAgICAgICAgICAgICAgX2FjY3VtXzBbX2xlbl8wXSA9IHZhbHVlc1tpXQogICAgICAgICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgICAgICBlbmQpKCkKICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgICAgaW5zZXJ0KGcsIGJ1aWxkX2Fzc2lnbihzY29wZSwgbiwgdmFsdWVzW2ldKSkKICAgICAgICBzdGFydCA9IGkgKyAxCiAgICAgIGVuZAogICAgZW5kCiAgICBpZiB0b3RhbF9uYW1lcyA+PSBzdGFydCBvciB0b3RhbF92YWx1ZXMgPj0gc3RhcnQgdGhlbgogICAgICBsb2NhbCBuYW1lX3NsaWNlCiAgICAgIGlmIHRvdGFsX25hbWVzIDwgc3RhcnQgdGhlbgogICAgICAgIG5hbWVfc2xpY2UgPSB7CiAgICAgICAgICAiXyIKICAgICAgICB9CiAgICAgIGVsc2UKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBpID0gc3RhcnQsIHRvdGFsX25hbWVzIGRvCiAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBuYW1lc1tpXQogICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICBlbmQKICAgICAgICAgIG5hbWVfc2xpY2UgPSBfYWNjdW1fMAogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgbG9jYWwgdmFsdWVfc2xpY2UKICAgICAgaWYgdG90YWxfdmFsdWVzIDwgc3RhcnQgdGhlbgogICAgICAgIHZhbHVlX3NsaWNlID0gewogICAgICAgICAgIm5pbCIKICAgICAgICB9CiAgICAgIGVsc2UKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGZvciBpID0gc3RhcnQsIHRvdGFsX3ZhbHVlcyBkbwogICAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gdmFsdWVzW2ldCiAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgIGVuZAogICAgICAgICAgdmFsdWVfc2xpY2UgPSBfYWNjdW1fMAogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgaW5zZXJ0KGcsIHsKICAgICAgICAiYXNzaWduIiwKICAgICAgICBuYW1lX3NsaWNlLAogICAgICAgIHZhbHVlX3NsaWNlCiAgICAgIH0pCiAgICBlbmQKICAgIHJldHVybiBidWlsZC5ncm91cChnKQogIGVuZAogIHJldHVybiB7CiAgICBoYXNfZGVzdHJ1Y3R1cmUgPSBoYXNfZGVzdHJ1Y3R1cmUsCiAgICBzcGxpdF9hc3NpZ24gPSBzcGxpdF9hc3NpZ24sCiAgICBidWlsZF9hc3NpZ24gPSBidWlsZF9hc3NpZ24sCiAgICBleHRyYWN0X2Fzc2lnbl9uYW1lcyA9IGV4dHJhY3RfYXNzaWduX25hbWVzCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnRyYW5zZm9ybS5uYW1lcyddID0gZnVuY3Rpb24oKQogIGxvY2FsIGJ1aWxkCiAgYnVpbGQgPSByZXF1aXJlKCJtb29uc2NyaXB0LnR5cGVzIikuYnVpbGQKICBsb2NhbCB1bnBhY2sKICB1bnBhY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKS51bnBhY2sKICBsb2NhbCBMb2NhbE5hbWUKICBkbwogICAgbG9jYWwgX2NsYXNzXzAKICAgIGxvY2FsIF9iYXNlXzAgPSB7CiAgICAgIGdldF9uYW1lID0gZnVuY3Rpb24oc2VsZikKICAgICAgICByZXR1cm4gc2VsZi5uYW1lCiAgICAgIGVuZAogICAgfQogICAgX2Jhc2VfMC5fX2luZGV4ID0gX2Jhc2VfMAogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmLCBuYW1lKQogICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICBzZWxmWzFdID0gInRlbXBfbmFtZSIKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiTG9jYWxOYW1lIgogICAgfSwgewogICAgICBfX2luZGV4ID0gX2Jhc2VfMCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgTG9jYWxOYW1lID0gX2NsYXNzXzAKICBlbmQKICBsb2NhbCBOYW1lUHJveHkKICBkbwogICAgbG9jYWwgX2NsYXNzXzAKICAgIGxvY2FsIF9iYXNlXzAgPSB7CiAgICAgIGdldF9uYW1lID0gZnVuY3Rpb24oc2VsZiwgc2NvcGUsIGRvbnRfcHV0KQogICAgICAgIGlmIGRvbnRfcHV0ID09IG5pbCB0aGVuCiAgICAgICAgICBkb250X3B1dCA9IHRydWUKICAgICAgICBlbmQKICAgICAgICBpZiBub3Qgc2VsZi5uYW1lIHRoZW4KICAgICAgICAgIHNlbGYubmFtZSA9IHNjb3BlOmZyZWVfbmFtZShzZWxmLnByZWZpeCwgZG9udF9wdXQpCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIHNlbGYubmFtZQogICAgICBlbmQsCiAgICAgIGNoYWluID0gZnVuY3Rpb24oc2VsZiwgLi4uKQogICAgICAgIGxvY2FsIGl0ZW1zID0gewogICAgICAgICAgYmFzZSA9IHNlbGYsCiAgICAgICAgICAuLi4KICAgICAgICB9CiAgICAgICAgZm9yIGssIHYgaW4gaXBhaXJzKGl0ZW1zKSBkbwogICAgICAgICAgaWYgdHlwZSh2KSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgICAgIGl0ZW1zW2tdID0gewogICAgICAgICAgICAgICJkb3QiLAogICAgICAgICAgICAgIHYKICAgICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgICBpdGVtc1trXSA9IHYKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICAgIHJldHVybiBidWlsZC5jaGFpbihpdGVtcykKICAgICAgZW5kLAogICAgICBpbmRleCA9IGZ1bmN0aW9uKHNlbGYsIGtleSkKICAgICAgICBpZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgogICAgICAgICAga2V5ID0gewogICAgICAgICAgICAicmVmIiwKICAgICAgICAgICAga2V5CiAgICAgICAgICB9CiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIGJ1aWxkLmNoYWluKHsKICAgICAgICAgIGJhc2UgPSBzZWxmLAogICAgICAgICAgewogICAgICAgICAgICAiaW5kZXgiLAogICAgICAgICAgICBrZXkKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICBlbmQsCiAgICAgIF9fdG9zdHJpbmcgPSBmdW5jdGlvbihzZWxmKQogICAgICAgIGlmIHNlbGYubmFtZSB0aGVuCiAgICAgICAgICByZXR1cm4gKCJuYW1lPCVzPiIpOmZvcm1hdChzZWxmLm5hbWUpCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuICgibmFtZTxwcmVmaXgoJXMpPiIpOmZvcm1hdChzZWxmLnByZWZpeCkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICB9CiAgICBfYmFzZV8wLl9faW5kZXggPSBfYmFzZV8wCiAgICBfY2xhc3NfMCA9IHNldG1ldGF0YWJsZSh7CiAgICAgIF9faW5pdCA9IGZ1bmN0aW9uKHNlbGYsIHByZWZpeCkKICAgICAgICBzZWxmLnByZWZpeCA9IHByZWZpeAogICAgICAgIHNlbGZbMV0gPSAidGVtcF9uYW1lIgogICAgICBlbmQsCiAgICAgIF9fYmFzZSA9IF9iYXNlXzAsCiAgICAgIF9fbmFtZSA9ICJOYW1lUHJveHkiCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBOYW1lUHJveHkgPSBfY2xhc3NfMAogIGVuZAogIGxvY2FsIGlzX25hbWVfcHJveHkKICBpc19uYW1lX3Byb3h5ID0gZnVuY3Rpb24odikKICAgIGlmIG5vdCAodHlwZSh2KSA9PSAidGFibGUiKSB0aGVuCiAgICAgIHJldHVybiBmYWxzZQogICAgZW5kCiAgICBsb2NhbCBfZXhwXzAgPSB2Ll9fY2xhc3MKICAgIGlmIExvY2FsTmFtZSA9PSBfZXhwXzAgb3IgTmFtZVByb3h5ID09IF9leHBfMCB0aGVuCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICBlbmQKICByZXR1cm4gewogICAgTmFtZVByb3h5ID0gTmFtZVByb3h5LAogICAgTG9jYWxOYW1lID0gTG9jYWxOYW1lLAogICAgaXNfbmFtZV9wcm94eSA9IGlzX25hbWVfcHJveHkKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQudHJhbnNmb3JtLnZhbHVlJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgVHJhbnNmb3JtZXIKICBUcmFuc2Zvcm1lciA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnRyYW5zZm9ybWVyIikuVHJhbnNmb3JtZXIKICBsb2NhbCBidWlsZCwgbnR5cGUsIHNtYXJ0X25vZGUKICBkbwogICAgbG9jYWwgX29ial8wID0gcmVxdWlyZSgibW9vbnNjcmlwdC50eXBlcyIpCiAgICBidWlsZCwgbnR5cGUsIHNtYXJ0X25vZGUgPSBfb2JqXzAuYnVpbGQsIF9vYmpfMC5udHlwZSwgX29ial8wLnNtYXJ0X25vZGUKICBlbmQKICBsb2NhbCBOYW1lUHJveHkKICBOYW1lUHJveHkgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5uYW1lcyIpLk5hbWVQcm94eQogIGxvY2FsIEFjY3VtdWxhdG9yLCBkZWZhdWx0X2FjY3VtdWxhdG9yCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLmFjY3VtdWxhdG9yIikKICAgIEFjY3VtdWxhdG9yLCBkZWZhdWx0X2FjY3VtdWxhdG9yID0gX29ial8wLkFjY3VtdWxhdG9yLCBfb2JqXzAuZGVmYXVsdF9hY2N1bXVsYXRvcgogIGVuZAogIGxvY2FsIGx1YV9rZXl3b3JkcwogIGx1YV9rZXl3b3JkcyA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZGF0YSIpLmx1YV9rZXl3b3JkcwogIGxvY2FsIFJ1biwgdHJhbnNmb3JtX2xhc3Rfc3RtLCBpbXBsaWNpdGx5X3JldHVybiwgY2hhaW5faXNfc3R1YgogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5zdGF0ZW1lbnRzIikKICAgIFJ1biwgdHJhbnNmb3JtX2xhc3Rfc3RtLCBpbXBsaWNpdGx5X3JldHVybiwgY2hhaW5faXNfc3R1YiA9IF9vYmpfMC5SdW4sIF9vYmpfMC50cmFuc2Zvcm1fbGFzdF9zdG0sIF9vYmpfMC5pbXBsaWNpdGx5X3JldHVybiwgX29ial8wLmNoYWluX2lzX3N0dWIKICBlbmQKICBsb2NhbCBjb25zdHJ1Y3RfY29tcHJlaGVuc2lvbgogIGNvbnN0cnVjdF9jb21wcmVoZW5zaW9uID0gcmVxdWlyZSgibW9vbnNjcmlwdC50cmFuc2Zvcm0uY29tcHJlaGVuc2lvbiIpLmNvbnN0cnVjdF9jb21wcmVoZW5zaW9uCiAgbG9jYWwgaW5zZXJ0CiAgaW5zZXJ0ID0gdGFibGUuaW5zZXJ0CiAgbG9jYWwgdW5wYWNrCiAgdW5wYWNrID0gcmVxdWlyZSgibW9vbnNjcmlwdC51dGlsIikudW5wYWNrCiAgcmV0dXJuIFRyYW5zZm9ybWVyKHsKICAgIFsiZm9yIl0gPSBkZWZhdWx0X2FjY3VtdWxhdG9yLAogICAgWyJ3aGlsZSJdID0gZGVmYXVsdF9hY2N1bXVsYXRvciwKICAgIGZvcmVhY2ggPSBkZWZhdWx0X2FjY3VtdWxhdG9yLAogICAgWyJkbyJdID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIGJ1aWxkLmJsb2NrX2V4cChub2RlWzJdKQogICAgZW5kLAogICAgZGVjb3JhdGVkID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIHNlbGYudHJhbnNmb3JtLnN0YXRlbWVudChub2RlKQogICAgZW5kLAogICAgY2xhc3MgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gYnVpbGQuYmxvY2tfZXhwKHsKICAgICAgICBub2RlCiAgICAgIH0pCiAgICBlbmQsCiAgICBzdHJpbmcgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBkZWxpbSA9IG5vZGVbMl0KICAgICAgbG9jYWwgY29udmVydF9wYXJ0CiAgICAgIGNvbnZlcnRfcGFydCA9IGZ1bmN0aW9uKHBhcnQpCiAgICAgICAgaWYgdHlwZShwYXJ0KSA9PSAic3RyaW5nIiBvciBwYXJ0ID09IG5pbCB0aGVuCiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgZGVsaW0sCiAgICAgICAgICAgIHBhcnQgb3IgIiIKICAgICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gYnVpbGQuY2hhaW4oewogICAgICAgICAgICBiYXNlID0gInRvc3RyaW5nIiwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJjYWxsIiwKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwYXJ0WzJdCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KQogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgaWYgI25vZGUgPD0gMyB0aGVuCiAgICAgICAgaWYgdHlwZShub2RlWzNdKSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgICByZXR1cm4gbm9kZQogICAgICAgIGVsc2UKICAgICAgICAgIHJldHVybiBjb252ZXJ0X3BhcnQobm9kZVszXSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIGxvY2FsIGUgPSB7CiAgICAgICAgImV4cCIsCiAgICAgICAgY29udmVydF9wYXJ0KG5vZGVbM10pCiAgICAgIH0KICAgICAgZm9yIGkgPSA0LCAjbm9kZSBkbwogICAgICAgIGluc2VydChlLCAiLi4iKQogICAgICAgIGluc2VydChlLCBjb252ZXJ0X3BhcnQobm9kZVtpXSkpCiAgICAgIGVuZAogICAgICByZXR1cm4gZQogICAgZW5kLAogICAgY29tcHJlaGVuc2lvbiA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIGEgPSBBY2N1bXVsYXRvcigpCiAgICAgIG5vZGUgPSBzZWxmLnRyYW5zZm9ybS5zdGF0ZW1lbnQobm9kZSwgZnVuY3Rpb24oZXhwKQogICAgICAgIHJldHVybiBhOm11dGF0ZV9ib2R5KHsKICAgICAgICAgIGV4cAogICAgICAgIH0pCiAgICAgIGVuZCkKICAgICAgcmV0dXJuIGE6d3JhcChub2RlKQogICAgZW5kLAogICAgdGJsY29tcHJlaGVuc2lvbiA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgIGxvY2FsIGV4cGxpc3QsIGNsYXVzZXMgPSB1bnBhY2sobm9kZSwgMikKICAgICAgbG9jYWwga2V5X2V4cCwgdmFsdWVfZXhwID0gdW5wYWNrKGV4cGxpc3QpCiAgICAgIGxvY2FsIGFjY3VtID0gTmFtZVByb3h5KCJ0YmwiKQogICAgICBsb2NhbCBpbm5lcgogICAgICBpZiB2YWx1ZV9leHAgdGhlbgogICAgICAgIGxvY2FsIGRlc3QgPSBidWlsZC5jaGFpbih7CiAgICAgICAgICBiYXNlID0gYWNjdW0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICAgIGtleV9leHAKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIGlubmVyID0gewogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShkZXN0LCB2YWx1ZV9leHApCiAgICAgICAgfQogICAgICBlbHNlCiAgICAgICAgbG9jYWwga2V5X25hbWUsIHZhbF9uYW1lID0gTmFtZVByb3h5KCJrZXkiKSwgTmFtZVByb3h5KCJ2YWwiKQogICAgICAgIGxvY2FsIGRlc3QgPSBidWlsZC5jaGFpbih7CiAgICAgICAgICBiYXNlID0gYWNjdW0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICAgIGtleV9uYW1lCiAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBpbm5lciA9IHsKICAgICAgICAgIGJ1aWxkLmFzc2lnbih7CiAgICAgICAgICAgIG5hbWVzID0gewogICAgICAgICAgICAgIGtleV9uYW1lLAogICAgICAgICAgICAgIHZhbF9uYW1lCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHZhbHVlcyA9IHsKICAgICAgICAgICAgICBrZXlfZXhwCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pLAogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShkZXN0LCB2YWxfbmFtZSkKICAgICAgICB9CiAgICAgIGVuZAogICAgICByZXR1cm4gYnVpbGQuYmxvY2tfZXhwKHsKICAgICAgICBidWlsZC5hc3NpZ25fb25lKGFjY3VtLCBidWlsZC50YWJsZSgpKSwKICAgICAgICBjb25zdHJ1Y3RfY29tcHJlaGVuc2lvbihpbm5lciwgY2xhdXNlcyksCiAgICAgICAgYWNjdW0KICAgICAgfSkKICAgIGVuZCwKICAgIGZuZGVmID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgc21hcnRfbm9kZShub2RlKQogICAgICBub2RlLmJvZHkgPSB0cmFuc2Zvcm1fbGFzdF9zdG0obm9kZS5ib2R5LCBpbXBsaWNpdGx5X3JldHVybihzZWxmKSkKICAgICAgbm9kZS5ib2R5ID0gewogICAgICAgIFJ1bihmdW5jdGlvbihzZWxmKQogICAgICAgICAgcmV0dXJuIHNlbGY6bGlzdGVuKCJ2YXJhcmdzIiwgZnVuY3Rpb24oKSBlbmQpCiAgICAgICAgZW5kKSwKICAgICAgICB1bnBhY2sobm9kZS5ib2R5KQogICAgICB9CiAgICAgIHJldHVybiBub2RlCiAgICBlbmQsCiAgICBbImlmIl0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gYnVpbGQuYmxvY2tfZXhwKHsKICAgICAgICBub2RlCiAgICAgIH0pCiAgICBlbmQsCiAgICB1bmxlc3MgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICByZXR1cm4gYnVpbGQuYmxvY2tfZXhwKHsKICAgICAgICBub2RlCiAgICAgIH0pCiAgICBlbmQsCiAgICB3aXRoID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIGJ1aWxkLmJsb2NrX2V4cCh7CiAgICAgICAgbm9kZQogICAgICB9KQogICAgZW5kLAogICAgc3dpdGNoID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgcmV0dXJuIGJ1aWxkLmJsb2NrX2V4cCh7CiAgICAgICAgbm9kZQogICAgICB9KQogICAgZW5kLAogICAgY2hhaW4gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBmb3IgaSA9IDIsICNub2RlIGRvCiAgICAgICAgbG9jYWwgcGFydCA9IG5vZGVbaV0KICAgICAgICBpZiBudHlwZShwYXJ0KSA9PSAiZG90IiBhbmQgbHVhX2tleXdvcmRzW3BhcnRbMl1dIHRoZW4KICAgICAgICAgIG5vZGVbaV0gPSB7CiAgICAgICAgICAgICJpbmRleCIsCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAnIicsCiAgICAgICAgICAgICAgcGFydFsyXQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICBpZiBudHlwZShub2RlWzJdKSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgbm9kZVsyXSA9IHsKICAgICAgICAgICJwYXJlbnMiLAogICAgICAgICAgbm9kZVsyXQogICAgICAgIH0KICAgICAgZW5kCiAgICAgIGlmIGNoYWluX2lzX3N0dWIobm9kZSkgdGhlbgogICAgICAgIGxvY2FsIGJhc2VfbmFtZSA9IE5hbWVQcm94eSgiYmFzZSIpCiAgICAgICAgbG9jYWwgZm5fbmFtZSA9IE5hbWVQcm94eSgiZm4iKQogICAgICAgIGxvY2FsIGNvbG9uID0gdGFibGUucmVtb3ZlKG5vZGUpCiAgICAgICAgbG9jYWwgaXNfc3VwZXIgPSBudHlwZShub2RlWzJdKSA9PSAicmVmIiBhbmQgbm9kZVsyXVsyXSA9PSAic3VwZXIiCiAgICAgICAgcmV0dXJuIGJ1aWxkLmJsb2NrX2V4cCh7CiAgICAgICAgICBidWlsZC5hc3NpZ24oewogICAgICAgICAgICBuYW1lcyA9IHsKICAgICAgICAgICAgICBiYXNlX25hbWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdmFsdWVzID0gewogICAgICAgICAgICAgIG5vZGUKICAgICAgICAgICAgfQogICAgICAgICAgfSksCiAgICAgICAgICBidWlsZC5hc3NpZ24oewogICAgICAgICAgICBuYW1lcyA9IHsKICAgICAgICAgICAgICBmbl9uYW1lCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHZhbHVlcyA9IHsKICAgICAgICAgICAgICBidWlsZC5jaGFpbih7CiAgICAgICAgICAgICAgICBiYXNlID0gYmFzZV9uYW1lLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZG90IiwKICAgICAgICAgICAgICAgICAgY29sb25bMl0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICB9KSwKICAgICAgICAgIGJ1aWxkLmZuZGVmKHsKICAgICAgICAgICAgYXJncyA9IHsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiLi4uIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgYm9keSA9IHsKICAgICAgICAgICAgICBidWlsZC5jaGFpbih7CiAgICAgICAgICAgICAgICBiYXNlID0gZm5fbmFtZSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgImNhbGwiLAogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaXNfc3VwZXIgYW5kICJzZWxmIiBvciBiYXNlX25hbWUsCiAgICAgICAgICAgICAgICAgICAgIi4uLiIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgIH0pCiAgICAgICAgfSkKICAgICAgZW5kCiAgICBlbmQsCiAgICBibG9ja19leHAgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICBsb2NhbCBib2R5ID0gdW5wYWNrKG5vZGUsIDIpCiAgICAgIGxvY2FsIGZuID0gbmlsCiAgICAgIGxvY2FsIGFyZ19saXN0ID0geyB9CiAgICAgIGZuID0gc21hcnRfbm9kZShidWlsZC5mbmRlZih7CiAgICAgICAgYm9keSA9IHsKICAgICAgICAgIFJ1bihmdW5jdGlvbihzZWxmKQogICAgICAgICAgICByZXR1cm4gc2VsZjpsaXN0ZW4oInZhcmFyZ3MiLCBmdW5jdGlvbigpCiAgICAgICAgICAgICAgaW5zZXJ0KGFyZ19saXN0LCAiLi4uIikKICAgICAgICAgICAgICBpbnNlcnQoZm4uYXJncywgewogICAgICAgICAgICAgICAgIi4uLiIKICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgIHJldHVybiBzZWxmOnVubGlzdGVuKCJ2YXJhcmdzIikKICAgICAgICAgICAgZW5kKQogICAgICAgICAgZW5kKSwKICAgICAgICAgIHVucGFjayhib2R5KQogICAgICAgIH0KICAgICAgfSkpCiAgICAgIHJldHVybiBidWlsZC5jaGFpbih7CiAgICAgICAgYmFzZSA9IHsKICAgICAgICAgICJwYXJlbnMiLAogICAgICAgICAgZm4KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJjYWxsIiwKICAgICAgICAgIGFyZ19saXN0CiAgICAgICAgfQogICAgICB9KQogICAgZW5kCiAgfSkKICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC50cmFuc2Zvcm0uYWNjdW11bGF0b3InXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCB0eXBlcyA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKQogIGxvY2FsIGJ1aWxkLCBudHlwZSwgTk9PUAogIGJ1aWxkLCBudHlwZSwgTk9PUCA9IHR5cGVzLmJ1aWxkLCB0eXBlcy5udHlwZSwgdHlwZXMuTk9PUAogIGxvY2FsIE5hbWVQcm94eQogIE5hbWVQcm94eSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLm5hbWVzIikuTmFtZVByb3h5CiAgbG9jYWwgaW5zZXJ0CiAgaW5zZXJ0ID0gdGFibGUuaW5zZXJ0CiAgbG9jYWwgaXNfc2luZ3VsYXIKICBpc19zaW5ndWxhciA9IGZ1bmN0aW9uKGJvZHkpCiAgICBpZiAjYm9keSB+PSAxIHRoZW4KICAgICAgcmV0dXJuIGZhbHNlCiAgICBlbmQKICAgIGlmICJncm91cCIgPT0gbnR5cGUoYm9keSkgdGhlbgogICAgICByZXR1cm4gaXNfc2luZ3VsYXIoYm9keVsyXSkKICAgIGVsc2UKICAgICAgcmV0dXJuIGJvZHlbMV0KICAgIGVuZAogIGVuZAogIGxvY2FsIHRyYW5zZm9ybV9sYXN0X3N0bQogIHRyYW5zZm9ybV9sYXN0X3N0bSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLnN0YXRlbWVudHMiKS50cmFuc2Zvcm1fbGFzdF9zdG0KICBsb2NhbCBBY2N1bXVsYXRvcgogIGRvCiAgICBsb2NhbCBfY2xhc3NfMAogICAgbG9jYWwgX2Jhc2VfMCA9IHsKICAgICAgYm9keV9pZHggPSB7CiAgICAgICAgWyJmb3IiXSA9IDQsCiAgICAgICAgWyJ3aGlsZSJdID0gMywKICAgICAgICBmb3JlYWNoID0gNAogICAgICB9LAogICAgICBjb252ZXJ0ID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgICBsb2NhbCBpbmRleCA9IHNlbGYuYm9keV9pZHhbbnR5cGUobm9kZSldCiAgICAgICAgbm9kZVtpbmRleF0gPSBzZWxmOm11dGF0ZV9ib2R5KG5vZGVbaW5kZXhdKQogICAgICAgIHJldHVybiBzZWxmOndyYXAobm9kZSkKICAgICAgZW5kLAogICAgICB3cmFwID0gZnVuY3Rpb24oc2VsZiwgbm9kZSwgZ3JvdXBfdHlwZSkKICAgICAgICBpZiBncm91cF90eXBlID09IG5pbCB0aGVuCiAgICAgICAgICBncm91cF90eXBlID0gImJsb2NrX2V4cCIKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gYnVpbGRbZ3JvdXBfdHlwZV0oewogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShzZWxmLmFjY3VtX25hbWUsIGJ1aWxkLnRhYmxlKCkpLAogICAgICAgICAgYnVpbGQuYXNzaWduX29uZShzZWxmLmxlbl9uYW1lLCAxKSwKICAgICAgICAgIG5vZGUsCiAgICAgICAgICBncm91cF90eXBlID09ICJibG9ja19leHAiIGFuZCBzZWxmLmFjY3VtX25hbWUgb3IgTk9PUAogICAgICAgIH0pCiAgICAgIGVuZCwKICAgICAgbXV0YXRlX2JvZHkgPSBmdW5jdGlvbihzZWxmLCBib2R5KQogICAgICAgIGxvY2FsIHNpbmdsZV9zdG0gPSBpc19zaW5ndWxhcihib2R5KQogICAgICAgIGxvY2FsIHZhbAogICAgICAgIGlmIHNpbmdsZV9zdG0gYW5kIHR5cGVzLmlzX3ZhbHVlKHNpbmdsZV9zdG0pIHRoZW4KICAgICAgICAgIGJvZHkgPSB7IH0KICAgICAgICAgIHZhbCA9IHNpbmdsZV9zdG0KICAgICAgICBlbHNlCiAgICAgICAgICBib2R5ID0gdHJhbnNmb3JtX2xhc3Rfc3RtKGJvZHksIGZ1bmN0aW9uKG4pCiAgICAgICAgICAgIGlmIHR5cGVzLmlzX3ZhbHVlKG4pIHRoZW4KICAgICAgICAgICAgICByZXR1cm4gYnVpbGQuYXNzaWduX29uZShzZWxmLnZhbHVlX25hbWUsIG4pCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICByZXR1cm4gYnVpbGQuZ3JvdXAoewogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAiZGVjbGFyZSIsCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlX25hbWUKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIG4KICAgICAgICAgICAgICB9KQogICAgICAgICAgICBlbmQKICAgICAgICAgIGVuZCkKICAgICAgICAgIHZhbCA9IHNlbGYudmFsdWVfbmFtZQogICAgICAgIGVuZAogICAgICAgIGxvY2FsIHVwZGF0ZSA9IHsKICAgICAgICAgIGJ1aWxkLmFzc2lnbl9vbmUoTmFtZVByb3h5LmluZGV4KHNlbGYuYWNjdW1fbmFtZSwgc2VsZi5sZW5fbmFtZSksIHZhbCksCiAgICAgICAgICB7CiAgICAgICAgICAgICJ1cGRhdGUiLAogICAgICAgICAgICBzZWxmLmxlbl9uYW1lLAogICAgICAgICAgICAiKz0iLAogICAgICAgICAgICAxCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGluc2VydChib2R5LCBidWlsZC5ncm91cCh1cGRhdGUpKQogICAgICAgIHJldHVybiBib2R5CiAgICAgIGVuZAogICAgfQogICAgX2Jhc2VfMC5fX2luZGV4ID0gX2Jhc2VfMAogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmLCBhY2N1bV9uYW1lKQogICAgICAgIHNlbGYuYWNjdW1fbmFtZSA9IE5hbWVQcm94eSgiYWNjdW0iKQogICAgICAgIHNlbGYudmFsdWVfbmFtZSA9IE5hbWVQcm94eSgidmFsdWUiKQogICAgICAgIHNlbGYubGVuX25hbWUgPSBOYW1lUHJveHkoImxlbiIpCiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIkFjY3VtdWxhdG9yIgogICAgfSwgewogICAgICBfX2luZGV4ID0gX2Jhc2VfMCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgQWNjdW11bGF0b3IgPSBfY2xhc3NfMAogIGVuZAogIGxvY2FsIGRlZmF1bHRfYWNjdW11bGF0b3IKICBkZWZhdWx0X2FjY3VtdWxhdG9yID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgIHJldHVybiBBY2N1bXVsYXRvcigpOmNvbnZlcnQobm9kZSkKICBlbmQKICByZXR1cm4gewogICAgQWNjdW11bGF0b3IgPSBBY2N1bXVsYXRvciwKICAgIGRlZmF1bHRfYWNjdW11bGF0b3IgPSBkZWZhdWx0X2FjY3VtdWxhdG9yCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnRyYW5zZm9ybS5jb21wcmVoZW5zaW9uJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgaXNfdmFsdWUKICBpc192YWx1ZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKS5pc192YWx1ZQogIGxvY2FsIGNvbnN0cnVjdF9jb21wcmVoZW5zaW9uCiAgY29uc3RydWN0X2NvbXByZWhlbnNpb24gPSBmdW5jdGlvbihpbm5lciwgY2xhdXNlcykKICAgIGxvY2FsIGN1cnJlbnRfc3RtcyA9IGlubmVyCiAgICBmb3IgaSA9ICNjbGF1c2VzLCAxLCAtMSBkbwogICAgICBsb2NhbCBjbGF1c2UgPSBjbGF1c2VzW2ldCiAgICAgIGxvY2FsIHQgPSBjbGF1c2VbMV0KICAgICAgbG9jYWwgX2V4cF8wID0gdAogICAgICBpZiAiZm9yIiA9PSBfZXhwXzAgdGhlbgogICAgICAgIGxvY2FsIF8sIG5hbWUsIGJvdW5kcwogICAgICAgIF8sIG5hbWUsIGJvdW5kcyA9IGNsYXVzZVsxXSwgY2xhdXNlWzJdLCBjbGF1c2VbM10KICAgICAgICBjdXJyZW50X3N0bXMgPSB7CiAgICAgICAgICAiZm9yIiwKICAgICAgICAgIG5hbWUsCiAgICAgICAgICBib3VuZHMsCiAgICAgICAgICBjdXJyZW50X3N0bXMKICAgICAgICB9CiAgICAgIGVsc2VpZiAiZm9yZWFjaCIgPT0gX2V4cF8wIHRoZW4KICAgICAgICBsb2NhbCBfLCBuYW1lcywgaXRlcgogICAgICAgIF8sIG5hbWVzLCBpdGVyID0gY2xhdXNlWzFdLCBjbGF1c2VbMl0sIGNsYXVzZVszXQogICAgICAgIGN1cnJlbnRfc3RtcyA9IHsKICAgICAgICAgICJmb3JlYWNoIiwKICAgICAgICAgIG5hbWVzLAogICAgICAgICAgewogICAgICAgICAgICBpdGVyCiAgICAgICAgICB9LAogICAgICAgICAgY3VycmVudF9zdG1zCiAgICAgICAgfQogICAgICBlbHNlaWYgIndoZW4iID09IF9leHBfMCB0aGVuCiAgICAgICAgbG9jYWwgXywgY29uZAogICAgICAgIF8sIGNvbmQgPSBjbGF1c2VbMV0sIGNsYXVzZVsyXQogICAgICAgIGN1cnJlbnRfc3RtcyA9IHsKICAgICAgICAgICJpZiIsCiAgICAgICAgICBjb25kLAogICAgICAgICAgY3VycmVudF9zdG1zCiAgICAgICAgfQogICAgICBlbHNlCiAgICAgICAgY3VycmVudF9zdG1zID0gZXJyb3IoIlVua25vd24gY29tcHJlaGVuc2lvbiBjbGF1c2U6ICIgLi4gdCkKICAgICAgZW5kCiAgICAgIGN1cnJlbnRfc3RtcyA9IHsKICAgICAgICBjdXJyZW50X3N0bXMKICAgICAgfQogICAgZW5kCiAgICByZXR1cm4gY3VycmVudF9zdG1zWzFdCiAgZW5kCiAgbG9jYWwgY29tcHJlaGVuc2lvbl9oYXNfdmFsdWUKICBjb21wcmVoZW5zaW9uX2hhc192YWx1ZSA9IGZ1bmN0aW9uKGNvbXApCiAgICByZXR1cm4gaXNfdmFsdWUoY29tcFsyXSkKICBlbmQKICByZXR1cm4gewogICAgY29uc3RydWN0X2NvbXByZWhlbnNpb24gPSBjb25zdHJ1Y3RfY29tcHJlaGVuc2lvbiwKICAgIGNvbXByZWhlbnNpb25faGFzX3ZhbHVlID0gY29tcHJlaGVuc2lvbl9oYXNfdmFsdWUKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQudHJhbnNmb3JtLnRyYW5zZm9ybWVyJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgbnR5cGUKICBudHlwZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKS5udHlwZQogIGxvY2FsIFRyYW5zZm9ybWVyCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICB0cmFuc2Zvcm1fb25jZSA9IGZ1bmN0aW9uKHNlbGYsIHNjb3BlLCBub2RlLCAuLi4pCiAgICAgICAgaWYgc2VsZi5zZWVuX25vZGVzW25vZGVdIHRoZW4KICAgICAgICAgIHJldHVybiBub2RlCiAgICAgICAgZW5kCiAgICAgICAgc2VsZi5zZWVuX25vZGVzW25vZGVdID0gdHJ1ZQogICAgICAgIGxvY2FsIHRyYW5zZm9ybWVyID0gc2VsZi50cmFuc2Zvcm1lcnNbbnR5cGUobm9kZSldCiAgICAgICAgaWYgdHJhbnNmb3JtZXIgdGhlbgogICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVyKHNjb3BlLCBub2RlLCAuLi4pIG9yIG5vZGUKICAgICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gbm9kZQogICAgICAgIGVuZAogICAgICBlbmQsCiAgICAgIHRyYW5zZm9ybSA9IGZ1bmN0aW9uKHNlbGYsIHNjb3BlLCBub2RlLCAuLi4pCiAgICAgICAgaWYgc2VsZi5zZWVuX25vZGVzW25vZGVdIHRoZW4KICAgICAgICAgIHJldHVybiBub2RlCiAgICAgICAgZW5kCiAgICAgICAgc2VsZi5zZWVuX25vZGVzW25vZGVdID0gdHJ1ZQogICAgICAgIHdoaWxlIHRydWUgZG8KICAgICAgICAgIGxvY2FsIHRyYW5zZm9ybWVyID0gc2VsZi50cmFuc2Zvcm1lcnNbbnR5cGUobm9kZSldCiAgICAgICAgICBsb2NhbCByZXMKICAgICAgICAgIGlmIHRyYW5zZm9ybWVyIHRoZW4KICAgICAgICAgICAgcmVzID0gdHJhbnNmb3JtZXIoc2NvcGUsIG5vZGUsIC4uLikgb3Igbm9kZQogICAgICAgICAgZWxzZQogICAgICAgICAgICByZXMgPSBub2RlCiAgICAgICAgICBlbmQKICAgICAgICAgIGlmIHJlcyA9PSBub2RlIHRoZW4KICAgICAgICAgICAgcmV0dXJuIG5vZGUKICAgICAgICAgIGVuZAogICAgICAgICAgbm9kZSA9IHJlcwogICAgICAgIGVuZAogICAgICAgIHJldHVybiBub2RlCiAgICAgIGVuZCwKICAgICAgYmluZCA9IGZ1bmN0aW9uKHNlbGYsIHNjb3BlKQogICAgICAgIHJldHVybiBmdW5jdGlvbiguLi4pCiAgICAgICAgICByZXR1cm4gc2VsZjp0cmFuc2Zvcm0oc2NvcGUsIC4uLikKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCAuLi4pCiAgICAgICAgcmV0dXJuIHNlbGY6dHJhbnNmb3JtKC4uLikKICAgICAgZW5kLAogICAgICBjYW5fdHJhbnNmb3JtID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgICByZXR1cm4gc2VsZi50cmFuc2Zvcm1lcnNbbnR5cGUobm9kZSldIH49IG5pbAogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oc2VsZiwgdHJhbnNmb3JtZXJzKQogICAgICAgIHNlbGYudHJhbnNmb3JtZXJzID0gdHJhbnNmb3JtZXJzCiAgICAgICAgc2VsZi5zZWVuX25vZGVzID0gc2V0bWV0YXRhYmxlKHsgfSwgewogICAgICAgICAgX19tb2RlID0gImsiCiAgICAgICAgfSkKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiVHJhbnNmb3JtZXIiCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBUcmFuc2Zvcm1lciA9IF9jbGFzc18wCiAgZW5kCiAgcmV0dXJuIHsKICAgIFRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQudHJhbnNmb3JtLnN0YXRlbWVudHMnXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCB0eXBlcyA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKQogIGxvY2FsIG50eXBlLCBtdHlwZSwgaXNfdmFsdWUsIE5PT1AKICBudHlwZSwgbXR5cGUsIGlzX3ZhbHVlLCBOT09QID0gdHlwZXMubnR5cGUsIHR5cGVzLm10eXBlLCB0eXBlcy5pc192YWx1ZSwgdHlwZXMuTk9PUAogIGxvY2FsIGNvbXByZWhlbnNpb25faGFzX3ZhbHVlCiAgY29tcHJlaGVuc2lvbl9oYXNfdmFsdWUgPSByZXF1aXJlKCJtb29uc2NyaXB0LnRyYW5zZm9ybS5jb21wcmVoZW5zaW9uIikuY29tcHJlaGVuc2lvbl9oYXNfdmFsdWUKICBsb2NhbCBSdW4KICBkbwogICAgbG9jYWwgX2NsYXNzXzAKICAgIGxvY2FsIF9iYXNlXzAgPSB7CiAgICAgIGNhbGwgPSBmdW5jdGlvbihzZWxmLCBzdGF0ZSkKICAgICAgICByZXR1cm4gc2VsZi5mbihzdGF0ZSkKICAgICAgZW5kCiAgICB9CiAgICBfYmFzZV8wLl9faW5kZXggPSBfYmFzZV8wCiAgICBfY2xhc3NfMCA9IHNldG1ldGF0YWJsZSh7CiAgICAgIF9faW5pdCA9IGZ1bmN0aW9uKHNlbGYsIGZuKQogICAgICAgIHNlbGYuZm4gPSBmbgogICAgICAgIHNlbGZbMV0gPSAicnVuIgogICAgICBlbmQsCiAgICAgIF9fYmFzZSA9IF9iYXNlXzAsCiAgICAgIF9fbmFtZSA9ICJSdW4iCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBSdW4gPSBfY2xhc3NfMAogIGVuZAogIGxvY2FsIGxhc3Rfc3RtCiAgbGFzdF9zdG0gPSBmdW5jdGlvbihzdG1zKQogICAgbG9jYWwgbGFzdF9leHBfaWQgPSAwCiAgICBmb3IgaSA9ICNzdG1zLCAxLCAtMSBkbwogICAgICBsb2NhbCBzdG0gPSBzdG1zW2ldCiAgICAgIGlmIHN0bSBhbmQgbXR5cGUoc3RtKSB+PSBSdW4gdGhlbgogICAgICAgIGlmIG50eXBlKHN0bSkgPT0gImdyb3VwIiB0aGVuCiAgICAgICAgICByZXR1cm4gbGFzdF9zdG0oc3RtWzJdKQogICAgICAgIGVuZAogICAgICAgIGxhc3RfZXhwX2lkID0gaQogICAgICAgIGJyZWFrCiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gc3Rtc1tsYXN0X2V4cF9pZF0sIGxhc3RfZXhwX2lkLCBzdG1zCiAgZW5kCiAgbG9jYWwgdHJhbnNmb3JtX2xhc3Rfc3RtCiAgdHJhbnNmb3JtX2xhc3Rfc3RtID0gZnVuY3Rpb24oc3RtcywgZm4pCiAgICBsb2NhbCBfLCBsYXN0X2lkeCwgX3N0bXMgPSBsYXN0X3N0bShzdG1zKQogICAgaWYgX3N0bXMgfj0gc3RtcyB0aGVuCiAgICAgIGVycm9yKCJjYW5ub3QgdHJhbnNmb3JtIGxhc3Qgbm9kZSBpbiBncm91cCIpCiAgICBlbmQKICAgIHJldHVybiAoZnVuY3Rpb24oKQogICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICBsb2NhbCBfbGVuXzAgPSAxCiAgICAgIGZvciBpLCBzdG0gaW4gaXBhaXJzKHN0bXMpIGRvCiAgICAgICAgaWYgaSA9PSBsYXN0X2lkeCB0aGVuCiAgICAgICAgICBfYWNjdW1fMFtfbGVuXzBdID0gewogICAgICAgICAgICAidHJhbnNmb3JtIiwKICAgICAgICAgICAgc3RtLAogICAgICAgICAgICBmbgogICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBzdG0KICAgICAgICBlbmQKICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgIGVuZAogICAgICByZXR1cm4gX2FjY3VtXzAKICAgIGVuZCkoKQogIGVuZAogIGxvY2FsIGNoYWluX2lzX3N0dWIKICBjaGFpbl9pc19zdHViID0gZnVuY3Rpb24oY2hhaW4pCiAgICBsb2NhbCBzdHViID0gY2hhaW5bI2NoYWluXQogICAgcmV0dXJuIHN0dWIgYW5kIG50eXBlKHN0dWIpID09ICJjb2xvbiIKICBlbmQKICBsb2NhbCBpbXBsaWNpdGx5X3JldHVybgogIGltcGxpY2l0bHlfcmV0dXJuID0gZnVuY3Rpb24oc2NvcGUpCiAgICBsb2NhbCBpc190b3AgPSB0cnVlCiAgICBsb2NhbCBmbgogICAgZm4gPSBmdW5jdGlvbihzdG0pCiAgICAgIGxvY2FsIHQgPSBudHlwZShzdG0pCiAgICAgIGlmIHQgPT0gImRlY29yYXRlZCIgdGhlbgogICAgICAgIHN0bSA9IHNjb3BlLnRyYW5zZm9ybS5zdGF0ZW1lbnQoc3RtKQogICAgICAgIHQgPSBudHlwZShzdG0pCiAgICAgIGVuZAogICAgICBpZiB0eXBlcy5jYXNjYWRpbmdbdF0gdGhlbgogICAgICAgIGlzX3RvcCA9IGZhbHNlCiAgICAgICAgcmV0dXJuIHNjb3BlLnRyYW5zZm9ybS5zdGF0ZW1lbnQoc3RtLCBmbikKICAgICAgZWxzZWlmIHR5cGVzLm1hbnVhbF9yZXR1cm5bdF0gb3Igbm90IGlzX3ZhbHVlKHN0bSkgdGhlbgogICAgICAgIGlmIGlzX3RvcCBhbmQgdCA9PSAicmV0dXJuIiBhbmQgc3RtWzJdID09ICIiIHRoZW4KICAgICAgICAgIHJldHVybiBOT09QCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIHN0bQogICAgICAgIGVuZAogICAgICBlbHNlCiAgICAgICAgaWYgdCA9PSAiY29tcHJlaGVuc2lvbiIgYW5kIG5vdCBjb21wcmVoZW5zaW9uX2hhc192YWx1ZShzdG0pIHRoZW4KICAgICAgICAgIHJldHVybiBzdG0KICAgICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAicmV0dXJuIiwKICAgICAgICAgICAgc3RtCiAgICAgICAgICB9CiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gZm4KICBlbmQKICByZXR1cm4gewogICAgUnVuID0gUnVuLAogICAgbGFzdF9zdG0gPSBsYXN0X3N0bSwKICAgIHRyYW5zZm9ybV9sYXN0X3N0bSA9IHRyYW5zZm9ybV9sYXN0X3N0bSwKICAgIGNoYWluX2lzX3N0dWIgPSBjaGFpbl9pc19zdHViLAogICAgaW1wbGljaXRseV9yZXR1cm4gPSBpbXBsaWNpdGx5X3JldHVybgogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5wYXJzZS5lbnYnXSA9IGZ1bmN0aW9uKCkKICBsb2NhbCBnZXRmZW52LCBzZXRmZW52CiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgICBnZXRmZW52LCBzZXRmZW52ID0gX29ial8wLmdldGZlbnYsIF9vYmpfMC5zZXRmZW52CiAgZW5kCiAgbG9jYWwgd3JhcF9lbnYKICB3cmFwX2VudiA9IGZ1bmN0aW9uKGRlYnVnLCBmbikKICAgIGxvY2FsIFYsIENtdAogICAgZG8KICAgICAgbG9jYWwgX29ial8wID0gcmVxdWlyZSgibHBlZyIpCiAgICAgIFYsIENtdCA9IF9vYmpfMC5WLCBfb2JqXzAuQ210CiAgICBlbmQKICAgIGxvY2FsIGVudiA9IGdldGZlbnYoZm4pCiAgICBsb2NhbCB3cmFwX25hbWUgPSBWCiAgICBpZiBkZWJ1ZyB0aGVuCiAgICAgIGxvY2FsIGluZGVudCA9IDAKICAgICAgbG9jYWwgaW5kZW50X2NoYXIgPSAiICAiCiAgICAgIGxvY2FsIGlwcmludAogICAgICBpcHJpbnQgPSBmdW5jdGlvbiguLi4pCiAgICAgICAgbG9jYWwgYXJncyA9IHRhYmxlLmNvbmNhdCgoZnVuY3Rpb24oLi4uKQogICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgIGxvY2FsIF9saXN0XzAgPSB7CiAgICAgICAgICAgIC4uLgogICAgICAgICAgfQogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI19saXN0XzAgZG8KICAgICAgICAgICAgbG9jYWwgYSA9IF9saXN0XzBbX2luZGV4XzBdCiAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSB0b3N0cmluZyhhKQogICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICBlbmQKICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgIGVuZCkoLi4uKSwgIiwgIikKICAgICAgICByZXR1cm4gaW8uc3RkZXJyOndyaXRlKHRvc3RyaW5nKGluZGVudF9jaGFyOnJlcChpbmRlbnQpKSAuLiB0b3N0cmluZyhhcmdzKSAuLiAiXG4iKQogICAgICBlbmQKICAgICAgd3JhcF9uYW1lID0gZnVuY3Rpb24obmFtZSkKICAgICAgICBsb2NhbCB2ID0gVihuYW1lKQogICAgICAgIHYgPSBDbXQoIiIsIGZ1bmN0aW9uKHN0ciwgcG9zKQogICAgICAgICAgbG9jYWwgcmVzdCA9IHN0cjpzdWIocG9zLCAtMSk6bWF0Y2goIl4oW15cbl0qKSIpCiAgICAgICAgICBpcHJpbnQoIiogIiAuLiB0b3N0cmluZyhuYW1lKSAuLiAiICgiIC4uIHRvc3RyaW5nKHJlc3QpIC4uICIpIikKICAgICAgICAgIGluZGVudCA9IGluZGVudCArIDEKICAgICAgICAgIHJldHVybiB0cnVlCiAgICAgICAgZW5kKSAqIENtdCh2LCBmdW5jdGlvbihzdHIsIHBvcywgLi4uKQogICAgICAgICAgaXByaW50KG5hbWUsIHRydWUpCiAgICAgICAgICBpbmRlbnQgPSBpbmRlbnQgLSAxCiAgICAgICAgICByZXR1cm4gdHJ1ZSwgLi4uCiAgICAgICAgZW5kKSArIENtdCgiIiwgZnVuY3Rpb24oKQogICAgICAgICAgaXByaW50KG5hbWUsIGZhbHNlKQogICAgICAgICAgaW5kZW50ID0gaW5kZW50IC0gMQogICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgICAgZW5kKQogICAgICAgIHJldHVybiB2CiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gc2V0ZmVudihmbiwgc2V0bWV0YXRhYmxlKHsgfSwgewogICAgICBfX2luZGV4ID0gZnVuY3Rpb24oc2VsZiwgbmFtZSkKICAgICAgICBsb2NhbCB2YWx1ZSA9IGVudltuYW1lXQogICAgICAgIGlmIHZhbHVlIH49IG5pbCB0aGVuCiAgICAgICAgICByZXR1cm4gdmFsdWUKICAgICAgICBlbmQKICAgICAgICBpZiBuYW1lOm1hdGNoKCJeW0EtWl1bQS1aYS16MC05XSokIikgdGhlbgogICAgICAgICAgbG9jYWwgdiA9IHdyYXBfbmFtZShuYW1lKQogICAgICAgICAgcmV0dXJuIHYKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gZXJyb3IoInVua25vd24gdmFyaWFibGUgcmVmZXJlbmNlZDogIiAuLiB0b3N0cmluZyhuYW1lKSkKICAgICAgZW5kCiAgICB9KSkKICBlbmQKICByZXR1cm4gewogICAgd3JhcF9lbnYgPSB3cmFwX2VudgogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5wYXJzZS51dGlsJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgdW5wYWNrCiAgdW5wYWNrID0gcmVxdWlyZSgibW9vbnNjcmlwdC51dGlsIikudW5wYWNrCiAgbG9jYWwgUCwgQywgUywgQ3AsIENtdCwgVgogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJscGVnIikKICAgIFAsIEMsIFMsIENwLCBDbXQsIFYgPSBfb2JqXzAuUCwgX29ial8wLkMsIF9vYmpfMC5TLCBfb2JqXzAuQ3AsIF9vYmpfMC5DbXQsIF9vYmpfMC5WCiAgZW5kCiAgbG9jYWwgbnR5cGUKICBudHlwZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKS5udHlwZQogIGxvY2FsIFNwYWNlCiAgU3BhY2UgPSByZXF1aXJlKCJtb29uc2NyaXB0LnBhcnNlLmxpdGVyYWxzIikuU3BhY2UKICBsb2NhbCBJbmRlbnQgPSBDKFMoIlx0ICIpIF4gMCkgLyBmdW5jdGlvbihzdHIpCiAgICBkbwogICAgICBsb2NhbCBzdW0gPSAwCiAgICAgIGZvciB2IGluIHN0cjpnbWF0Y2goIltcdCBdIikgZG8KICAgICAgICBsb2NhbCBfZXhwXzAgPSB2CiAgICAgICAgaWYgIiAiID09IF9leHBfMCB0aGVuCiAgICAgICAgICBzdW0gPSBzdW0gKyAxCiAgICAgICAgZWxzZWlmICJcdCIgPT0gX2V4cF8wIHRoZW4KICAgICAgICAgIHN1bSA9IHN1bSArIDQKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIHJldHVybiBzdW0KICAgIGVuZAogIGVuZAogIGxvY2FsIEN1dCA9IFAoZnVuY3Rpb24oKQogICAgcmV0dXJuIGZhbHNlCiAgZW5kKQogIGxvY2FsIGVuc3VyZQogIGVuc3VyZSA9IGZ1bmN0aW9uKHBhdHQsIGZpbmFsbHkpCiAgICByZXR1cm4gcGF0dCAqIGZpbmFsbHkgKyBmaW5hbGx5ICogQ3V0CiAgZW5kCiAgbG9jYWwgZXh0cmFjdF9saW5lCiAgZXh0cmFjdF9saW5lID0gZnVuY3Rpb24oc3RyLCBzdGFydF9wb3MpCiAgICBzdHIgPSBzdHI6c3ViKHN0YXJ0X3BvcykKICAgIGRvCiAgICAgIGxvY2FsIG0gPSBzdHI6bWF0Y2goIl4oLi0pXG4iKQogICAgICBpZiBtIHRoZW4KICAgICAgICByZXR1cm4gbQogICAgICBlbmQKICAgIGVuZAogICAgcmV0dXJuIHN0cjptYXRjaCgiXi4tJCIpCiAgZW5kCiAgbG9jYWwgc2hvd19saW5lX3Bvc2l0aW9uCiAgc2hvd19saW5lX3Bvc2l0aW9uID0gZnVuY3Rpb24oc3RyLCBwb3MsIGNvbnRleHQpCiAgICBpZiBjb250ZXh0ID09IG5pbCB0aGVuCiAgICAgIGNvbnRleHQgPSB0cnVlCiAgICBlbmQKICAgIGxvY2FsIGxpbmVzID0gewogICAgICB7IH0KICAgIH0KICAgIGZvciBjIGluIHN0cjpnbWF0Y2goIi4iKSBkbwogICAgICBsaW5lc1sjbGluZXNdID0gbGluZXNbI2xpbmVzXSBvciB7IH0KICAgICAgdGFibGUuaW5zZXJ0KGxpbmVzWyNsaW5lc10sIGMpCiAgICAgIGlmIGMgPT0gIlxuIiB0aGVuCiAgICAgICAgbGluZXNbI2xpbmVzICsgMV0gPSB7IH0KICAgICAgZW5kCiAgICBlbmQKICAgIGZvciBpLCBsaW5lIGluIGlwYWlycyhsaW5lcykgZG8KICAgICAgbGluZXNbaV0gPSB0YWJsZS5jb25jYXQobGluZSkKICAgIGVuZAogICAgbG9jYWwgb3V0CiAgICBsb2NhbCByZW1haW5pbmcgPSBwb3MgLSAxCiAgICBmb3IgaywgbGluZSBpbiBpcGFpcnMobGluZXMpIGRvCiAgICAgIGlmIHJlbWFpbmluZyA8ICNsaW5lIHRoZW4KICAgICAgICBsb2NhbCBsZWZ0ID0gbGluZTpzdWIoMSwgcmVtYWluaW5nKQogICAgICAgIGxvY2FsIHJpZ2h0ID0gbGluZTpzdWIocmVtYWluaW5nICsgMSkKICAgICAgICBvdXQgPSB7CiAgICAgICAgICB0b3N0cmluZyhsZWZ0KSAuLiAi4peJIiAuLiB0b3N0cmluZyhyaWdodCkKICAgICAgICB9CiAgICAgICAgaWYgY29udGV4dCB0aGVuCiAgICAgICAgICBkbwogICAgICAgICAgICBsb2NhbCBiZWZvcmUgPSBsaW5lc1trIC0gMV0KICAgICAgICAgICAgaWYgYmVmb3JlIHRoZW4KICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQob3V0LCAxLCBiZWZvcmUpCiAgICAgICAgICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgICBkbwogICAgICAgICAgICBsb2NhbCBhZnRlciA9IGxpbmVzW2sgKyAxXQogICAgICAgICAgICBpZiBhZnRlciB0aGVuCiAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KG91dCwgYWZ0ZXIpCiAgICAgICAgICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgYnJlYWsKICAgICAgZWxzZQogICAgICAgIHJlbWFpbmluZyA9IHJlbWFpbmluZyAtICNsaW5lCiAgICAgIGVuZAogICAgZW5kCiAgICBpZiBub3QgKG91dCkgdGhlbgogICAgICByZXR1cm4gIi0iCiAgICBlbmQKICAgIG91dCA9IHRhYmxlLmNvbmNhdChvdXQpCiAgICByZXR1cm4gKG91dDpnc3ViKCJcbiokIiwgIiIpKQogIGVuZAogIGxvY2FsIG1hcmsKICBtYXJrID0gZnVuY3Rpb24obmFtZSkKICAgIHJldHVybiBmdW5jdGlvbiguLi4pCiAgICAgIHJldHVybiB7CiAgICAgICAgbmFtZSwKICAgICAgICAuLi4KICAgICAgfQogICAgZW5kCiAgZW5kCiAgbG9jYWwgcG9zCiAgcG9zID0gZnVuY3Rpb24ocGF0dCkKICAgIHJldHVybiAoQ3AoKSAqIHBhdHQpIC8gZnVuY3Rpb24ocG9zLCB2YWx1ZSkKICAgICAgaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCiAgICAgICAgdmFsdWVbLTFdID0gcG9zCiAgICAgIGVuZAogICAgICByZXR1cm4gdmFsdWUKICAgIGVuZAogIGVuZAogIGxvY2FsIGdvdAogIGdvdCA9IGZ1bmN0aW9uKHdoYXQsIGNvbnRleHQpCiAgICBpZiBjb250ZXh0ID09IG5pbCB0aGVuCiAgICAgIGNvbnRleHQgPSB0cnVlCiAgICBlbmQKICAgIHJldHVybiBDbXQoIiIsIGZ1bmN0aW9uKHN0ciwgcG9zKQogICAgICBwcmludCgiKysgZ290ICIgLi4gdG9zdHJpbmcod2hhdCksICJbIiAuLiB0b3N0cmluZyhzaG93X2xpbmVfcG9zaXRpb24oc3RyLCBwb3MsIGNvbnRleHQpKSAuLiAiXSIpCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQpCiAgZW5kCiAgbG9jYWwgZmxhdHRlbl9vcl9tYXJrCiAgZmxhdHRlbl9vcl9tYXJrID0gZnVuY3Rpb24obmFtZSkKICAgIHJldHVybiBmdW5jdGlvbih0YmwpCiAgICAgIGlmICN0YmwgPT0gMSB0aGVuCiAgICAgICAgcmV0dXJuIHRibFsxXQogICAgICBlbmQKICAgICAgdGFibGUuaW5zZXJ0KHRibCwgMSwgbmFtZSkKICAgICAgcmV0dXJuIHRibAogICAgZW5kCiAgZW5kCiAgbG9jYWwgaXNfYXNzaWduYWJsZQogIGRvCiAgICBsb2NhbCBjaGFpbl9hc3NpZ25hYmxlID0gewogICAgICBpbmRleCA9IHRydWUsCiAgICAgIGRvdCA9IHRydWUsCiAgICAgIHNsaWNlID0gdHJ1ZQogICAgfQogICAgaXNfYXNzaWduYWJsZSA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgIGlmIG5vZGUgPT0gIi4uLiIgdGhlbgogICAgICAgIHJldHVybiBmYWxzZQogICAgICBlbmQKICAgICAgbG9jYWwgX2V4cF8wID0gbnR5cGUobm9kZSkKICAgICAgaWYgInJlZiIgPT0gX2V4cF8wIG9yICJzZWxmIiA9PSBfZXhwXzAgb3IgInZhbHVlIiA9PSBfZXhwXzAgb3IgInNlbGZfY2xhc3MiID09IF9leHBfMCBvciAidGFibGUiID09IF9leHBfMCB0aGVuCiAgICAgICAgcmV0dXJuIHRydWUKICAgICAgZWxzZWlmICJjaGFpbiIgPT0gX2V4cF8wIHRoZW4KICAgICAgICByZXR1cm4gY2hhaW5fYXNzaWduYWJsZVtudHlwZShub2RlWyNub2RlXSldCiAgICAgIGVsc2UKICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5kCiAgICBlbmQKICBlbmQKICBsb2NhbCBjaGVja19hc3NpZ25hYmxlCiAgY2hlY2tfYXNzaWduYWJsZSA9IGZ1bmN0aW9uKHN0ciwgcG9zLCB2YWx1ZSkKICAgIGlmIGlzX2Fzc2lnbmFibGUodmFsdWUpIHRoZW4KICAgICAgcmV0dXJuIHRydWUsIHZhbHVlCiAgICBlbHNlCiAgICAgIHJldHVybiBmYWxzZQogICAgZW5kCiAgZW5kCiAgbG9jYWwgZm9ybWF0X2Fzc2lnbgogIGRvCiAgICBsb2NhbCBmbGF0dGVuX2V4cGxpc3QgPSBmbGF0dGVuX29yX21hcmsoImV4cGxpc3QiKQogICAgZm9ybWF0X2Fzc2lnbiA9IGZ1bmN0aW9uKGxoc19leHBzLCBhc3NpZ24pCiAgICAgIGlmIG5vdCAoYXNzaWduKSB0aGVuCiAgICAgICAgcmV0dXJuIGZsYXR0ZW5fZXhwbGlzdChsaHNfZXhwcykKICAgICAgZW5kCiAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNsaHNfZXhwcyBkbwogICAgICAgIGxvY2FsIGFzc2lnbl9leHAgPSBsaHNfZXhwc1tfaW5kZXhfMF0KICAgICAgICBpZiBub3QgKGlzX2Fzc2lnbmFibGUoYXNzaWduX2V4cCkpIHRoZW4KICAgICAgICAgIGVycm9yKHsKICAgICAgICAgICAgYXNzaWduX2V4cCwKICAgICAgICAgICAgImxlZnQgaGFuZCBleHByZXNzaW9uIGlzIG5vdCBhc3NpZ25hYmxlIgogICAgICAgICAgfSkKICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIGxvY2FsIHQgPSBudHlwZShhc3NpZ24pCiAgICAgIGxvY2FsIF9leHBfMCA9IHQKICAgICAgaWYgImFzc2lnbiIgPT0gX2V4cF8wIHRoZW4KICAgICAgICByZXR1cm4gewogICAgICAgICAgImFzc2lnbiIsCiAgICAgICAgICBsaHNfZXhwcywKICAgICAgICAgIHVucGFjayhhc3NpZ24sIDIpCiAgICAgICAgfQogICAgICBlbHNlaWYgInVwZGF0ZSIgPT0gX2V4cF8wIHRoZW4KICAgICAgICByZXR1cm4gewogICAgICAgICAgInVwZGF0ZSIsCiAgICAgICAgICBsaHNfZXhwc1sxXSwKICAgICAgICAgIHVucGFjayhhc3NpZ24sIDIpCiAgICAgICAgfQogICAgICBlbHNlCiAgICAgICAgcmV0dXJuIGVycm9yKCJ1bmtub3duIGFzc2lnbiBleHByZXNzaW9uOiAiIC4uIHRvc3RyaW5nKHQpKQogICAgICBlbmQKICAgIGVuZAogIGVuZAogIGxvY2FsIGZvcm1hdF9zaW5nbGVfYXNzaWduCiAgZm9ybWF0X3NpbmdsZV9hc3NpZ24gPSBmdW5jdGlvbihsaHMsIGFzc2lnbikKICAgIGlmIGFzc2lnbiB0aGVuCiAgICAgIHJldHVybiBmb3JtYXRfYXNzaWduKHsKICAgICAgICBsaHMKICAgICAgfSwgYXNzaWduKQogICAgZWxzZQogICAgICByZXR1cm4gbGhzCiAgICBlbmQKICBlbmQKICBsb2NhbCBzeW0KICBzeW0gPSBmdW5jdGlvbihjaGFycykKICAgIHJldHVybiBTcGFjZSAqIGNoYXJzCiAgZW5kCiAgbG9jYWwgc3lteAogIHN5bXggPSBmdW5jdGlvbihjaGFycykKICAgIHJldHVybiBjaGFycwogIGVuZAogIGxvY2FsIHNpbXBsZV9zdHJpbmcKICBzaW1wbGVfc3RyaW5nID0gZnVuY3Rpb24oZGVsaW0sIGFsbG93X2ludGVycG9sYXRpb24pCiAgICBsb2NhbCBpbm5lciA9IFAoIlxcIiAuLiB0b3N0cmluZyhkZWxpbSkpICsgIlxcXFwiICsgKDEgLSBQKGRlbGltKSkKICAgIGlmIGFsbG93X2ludGVycG9sYXRpb24gdGhlbgogICAgICBsb2NhbCBpbnRlcnAgPSBzeW14KCcjeycpICogVigiRXhwIikgKiBzeW0oJ30nKQogICAgICBpbm5lciA9IChDKChpbm5lciAtIGludGVycCkgXiAxKSArIGludGVycCAvIG1hcmsoImludGVycG9sYXRlIikpIF4gMAogICAgZWxzZQogICAgICBpbm5lciA9IEMoaW5uZXIgXiAwKQogICAgZW5kCiAgICByZXR1cm4gQyhzeW14KGRlbGltKSkgKiBpbm5lciAqIHN5bShkZWxpbSkgLyBtYXJrKCJzdHJpbmciKQogIGVuZAogIGxvY2FsIHdyYXBfZnVuY19hcmcKICB3cmFwX2Z1bmNfYXJnID0gZnVuY3Rpb24odmFsdWUpCiAgICByZXR1cm4gewogICAgICAiY2FsbCIsCiAgICAgIHsKICAgICAgICB2YWx1ZQogICAgICB9CiAgICB9CiAgZW5kCiAgbG9jYWwgam9pbl9jaGFpbgogIGpvaW5fY2hhaW4gPSBmdW5jdGlvbihjYWxsZWUsIGFyZ3MpCiAgICBpZiAjYXJncyA9PSAwIHRoZW4KICAgICAgcmV0dXJuIGNhbGxlZQogICAgZW5kCiAgICBhcmdzID0gewogICAgICAiY2FsbCIsCiAgICAgIGFyZ3MKICAgIH0KICAgIGlmIG50eXBlKGNhbGxlZSkgPT0gImNoYWluIiB0aGVuCiAgICAgIHRhYmxlLmluc2VydChjYWxsZWUsIGFyZ3MpCiAgICAgIHJldHVybiBjYWxsZWUKICAgIGVuZAogICAgcmV0dXJuIHsKICAgICAgImNoYWluIiwKICAgICAgY2FsbGVlLAogICAgICBhcmdzCiAgICB9CiAgZW5kCiAgbG9jYWwgd3JhcF9kZWNvcmF0b3IKICB3cmFwX2RlY29yYXRvciA9IGZ1bmN0aW9uKHN0bSwgZGVjKQogICAgaWYgbm90IChkZWMpIHRoZW4KICAgICAgcmV0dXJuIHN0bQogICAgZW5kCiAgICByZXR1cm4gewogICAgICAiZGVjb3JhdGVkIiwKICAgICAgc3RtLAogICAgICBkZWMKICAgIH0KICBlbmQKICBsb2NhbCBjaGVja19sdWFfc3RyaW5nCiAgY2hlY2tfbHVhX3N0cmluZyA9IGZ1bmN0aW9uKHN0ciwgcG9zLCByaWdodCwgbGVmdCkKICAgIHJldHVybiAjbGVmdCA9PSAjcmlnaHQKICBlbmQKICBsb2NhbCBzZWxmX2Fzc2lnbgogIHNlbGZfYXNzaWduID0gZnVuY3Rpb24obmFtZSwgcG9zKQogICAgcmV0dXJuIHsKICAgICAgewogICAgICAgICJrZXlfbGl0ZXJhbCIsCiAgICAgICAgbmFtZQogICAgICB9LAogICAgICB7CiAgICAgICAgInJlZiIsCiAgICAgICAgbmFtZSwKICAgICAgICBbLTFdID0gcG9zCiAgICAgIH0KICAgIH0KICBlbmQKICByZXR1cm4gewogICAgSW5kZW50ID0gSW5kZW50LAogICAgQ3V0ID0gQ3V0LAogICAgZW5zdXJlID0gZW5zdXJlLAogICAgZXh0cmFjdF9saW5lID0gZXh0cmFjdF9saW5lLAogICAgbWFyayA9IG1hcmssCiAgICBwb3MgPSBwb3MsCiAgICBmbGF0dGVuX29yX21hcmsgPSBmbGF0dGVuX29yX21hcmssCiAgICBpc19hc3NpZ25hYmxlID0gaXNfYXNzaWduYWJsZSwKICAgIGNoZWNrX2Fzc2lnbmFibGUgPSBjaGVja19hc3NpZ25hYmxlLAogICAgZm9ybWF0X2Fzc2lnbiA9IGZvcm1hdF9hc3NpZ24sCiAgICBmb3JtYXRfc2luZ2xlX2Fzc2lnbiA9IGZvcm1hdF9zaW5nbGVfYXNzaWduLAogICAgc3ltID0gc3ltLAogICAgc3lteCA9IHN5bXgsCiAgICBzaW1wbGVfc3RyaW5nID0gc2ltcGxlX3N0cmluZywKICAgIHdyYXBfZnVuY19hcmcgPSB3cmFwX2Z1bmNfYXJnLAogICAgam9pbl9jaGFpbiA9IGpvaW5fY2hhaW4sCiAgICB3cmFwX2RlY29yYXRvciA9IHdyYXBfZGVjb3JhdG9yLAogICAgY2hlY2tfbHVhX3N0cmluZyA9IGNoZWNrX2x1YV9zdHJpbmcsCiAgICBzZWxmX2Fzc2lnbiA9IHNlbGZfYXNzaWduLAogICAgZ290ID0gZ290LAogICAgc2hvd19saW5lX3Bvc2l0aW9uID0gc2hvd19saW5lX3Bvc2l0aW9uCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnBhcnNlLmxpdGVyYWxzJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgc2FmZV9tb2R1bGUKICBzYWZlX21vZHVsZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpLnNhZmVfbW9kdWxlCiAgbG9jYWwgUywgUCwgUiwgQwogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJscGVnIikKICAgIFMsIFAsIFIsIEMgPSBfb2JqXzAuUywgX29ial8wLlAsIF9vYmpfMC5SLCBfb2JqXzAuQwogIGVuZAogIGxvY2FsIGxwZWcgPSByZXF1aXJlKCJscGVnIikKICBsb2NhbCBMID0gbHBlZy5sdXZlcnNpb24gYW5kIGxwZWcuTCBvciBmdW5jdGlvbih2KQogICAgcmV0dXJuICN2CiAgZW5kCiAgbG9jYWwgV2hpdGUgPSBTKCIgXHRcclxuIikgXiAwCiAgbG9jYWwgcGxhaW5fc3BhY2UgPSBTKCIgXHQiKSBeIDAKICBsb2NhbCBCcmVhayA9IFAoIlxyIikgXiAtMSAqIFAoIlxuIikKICBsb2NhbCBTdG9wID0gQnJlYWsgKyAtMQogIGxvY2FsIENvbW1lbnQgPSBQKCItLSIpICogKDEgLSBTKCJcclxuIikpIF4gMCAqIEwoU3RvcCkKICBsb2NhbCBTcGFjZSA9IHBsYWluX3NwYWNlICogQ29tbWVudCBeIC0xCiAgbG9jYWwgU29tZVNwYWNlID0gUygiIFx0IikgXiAxICogQ29tbWVudCBeIC0xCiAgbG9jYWwgU3BhY2VCcmVhayA9IFNwYWNlICogQnJlYWsKICBsb2NhbCBFbXB0eUxpbmUgPSBTcGFjZUJyZWFrCiAgbG9jYWwgQWxwaGFOdW0gPSBSKCJheiIsICJBWiIsICIwOSIsICJfXyIpCiAgbG9jYWwgTmFtZSA9IEMoUigiYXoiLCAiQVoiLCAiX18iKSAqIEFscGhhTnVtIF4gMCkKICBsb2NhbCBOdW0gPSBQKCIweCIpICogUigiMDkiLCAiYWYiLCAiQUYiKSBeIDEgKiAoUygidVUiKSBeIC0xICogUygibEwiKSBeIDIpIF4gLTEgKyBSKCIwOSIpIF4gMSAqIChTKCJ1VSIpIF4gLTEgKiBTKCJsTCIpIF4gMikgKyAoUigiMDkiKSBeIDEgKiAoUCgiLiIpICogUigiMDkiKSBeIDEpIF4gLTEgKyBQKCIuIikgKiBSKCIwOSIpIF4gMSkgKiAoUygiZUUiKSAqIFAoIi0iKSBeIC0xICogUigiMDkiKSBeIDEpIF4gLTEKICBsb2NhbCBTaGViYW5nID0gUCgiIyEiKSAqIFAoMSAtIFN0b3ApIF4gMAogIHJldHVybiBzYWZlX21vZHVsZSgibW9vbnNjcmlwdC5wYXJzZS5saXRlcmFscyIsIHsKICAgIEwgPSBMLAogICAgV2hpdGUgPSBXaGl0ZSwKICAgIEJyZWFrID0gQnJlYWssCiAgICBTdG9wID0gU3RvcCwKICAgIENvbW1lbnQgPSBDb21tZW50LAogICAgU3BhY2UgPSBTcGFjZSwKICAgIFNvbWVTcGFjZSA9IFNvbWVTcGFjZSwKICAgIFNwYWNlQnJlYWsgPSBTcGFjZUJyZWFrLAogICAgRW1wdHlMaW5lID0gRW1wdHlMaW5lLAogICAgQWxwaGFOdW0gPSBBbHBoYU51bSwKICAgIE5hbWUgPSBOYW1lLAogICAgTnVtID0gTnVtLAogICAgU2hlYmFuZyA9IFNoZWJhbmcKICB9KQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnBhcnNlJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgZGVidWdfZ3JhbW1hciA9IGZhbHNlCiAgbG9jYWwgbHBlZyA9IHJlcXVpcmUoImxwZWciKQogIGxwZWcuc2V0bWF4c3RhY2soMTAwMDApCiAgbG9jYWwgZXJyX21zZyA9ICJGYWlsZWQgdG8gcGFyc2U6JXNcbiBbJWRdID4+ICAgICVzIgogIGxvY2FsIFN0YWNrCiAgU3RhY2sgPSByZXF1aXJlKCJtb29uc2NyaXB0LmRhdGEiKS5TdGFjawogIGxvY2FsIHRyaW0sIHBvc190b19saW5lLCBnZXRfbGluZQogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnV0aWwiKQogICAgdHJpbSwgcG9zX3RvX2xpbmUsIGdldF9saW5lID0gX29ial8wLnRyaW0sIF9vYmpfMC5wb3NfdG9fbGluZSwgX29ial8wLmdldF9saW5lCiAgZW5kCiAgbG9jYWwgdW5wYWNrCiAgdW5wYWNrID0gcmVxdWlyZSgibW9vbnNjcmlwdC51dGlsIikudW5wYWNrCiAgbG9jYWwgd3JhcF9lbnYKICB3cmFwX2VudiA9IHJlcXVpcmUoIm1vb25zY3JpcHQucGFyc2UuZW52Iikud3JhcF9lbnYKICBsb2NhbCBSLCBTLCBWLCBQLCBDLCBDdCwgQ210LCBDZywgQ2IsIENjCiAgUiwgUywgViwgUCwgQywgQ3QsIENtdCwgQ2csIENiLCBDYyA9IGxwZWcuUiwgbHBlZy5TLCBscGVnLlYsIGxwZWcuUCwgbHBlZy5DLCBscGVnLkN0LCBscGVnLkNtdCwgbHBlZy5DZywgbHBlZy5DYiwgbHBlZy5DYwogIGxvY2FsIFdoaXRlLCBCcmVhaywgU3RvcCwgQ29tbWVudCwgU3BhY2UsIFNvbWVTcGFjZSwgU3BhY2VCcmVhaywgRW1wdHlMaW5lLCBBbHBoYU51bSwgTnVtLCBTaGViYW5nLCBMLCBfTmFtZQogIGRvCiAgICBsb2NhbCBfb2JqXzAgPSByZXF1aXJlKCJtb29uc2NyaXB0LnBhcnNlLmxpdGVyYWxzIikKICAgIFdoaXRlLCBCcmVhaywgU3RvcCwgQ29tbWVudCwgU3BhY2UsIFNvbWVTcGFjZSwgU3BhY2VCcmVhaywgRW1wdHlMaW5lLCBBbHBoYU51bSwgTnVtLCBTaGViYW5nLCBMLCBfTmFtZSA9IF9vYmpfMC5XaGl0ZSwgX29ial8wLkJyZWFrLCBfb2JqXzAuU3RvcCwgX29ial8wLkNvbW1lbnQsIF9vYmpfMC5TcGFjZSwgX29ial8wLlNvbWVTcGFjZSwgX29ial8wLlNwYWNlQnJlYWssIF9vYmpfMC5FbXB0eUxpbmUsIF9vYmpfMC5BbHBoYU51bSwgX29ial8wLk51bSwgX29ial8wLlNoZWJhbmcsIF9vYmpfMC5MLCBfb2JqXzAuTmFtZQogIGVuZAogIGxvY2FsIFNwYWNlTmFtZSA9IFNwYWNlICogX05hbWUKICBOdW0gPSBTcGFjZSAqIChOdW0gLyBmdW5jdGlvbih2KQogICAgcmV0dXJuIHsKICAgICAgIm51bWJlciIsCiAgICAgIHYKICAgIH0KICBlbmQpCiAgbG9jYWwgSW5kZW50LCBDdXQsIGVuc3VyZSwgZXh0cmFjdF9saW5lLCBtYXJrLCBwb3MsIGZsYXR0ZW5fb3JfbWFyaywgaXNfYXNzaWduYWJsZSwgY2hlY2tfYXNzaWduYWJsZSwgZm9ybWF0X2Fzc2lnbiwgZm9ybWF0X3NpbmdsZV9hc3NpZ24sIHN5bSwgc3lteCwgc2ltcGxlX3N0cmluZywgd3JhcF9mdW5jX2FyZywgam9pbl9jaGFpbiwgd3JhcF9kZWNvcmF0b3IsIGNoZWNrX2x1YV9zdHJpbmcsIHNlbGZfYXNzaWduLCBnb3QKICBkbwogICAgbG9jYWwgX29ial8wID0gcmVxdWlyZSgibW9vbnNjcmlwdC5wYXJzZS51dGlsIikKICAgIEluZGVudCwgQ3V0LCBlbnN1cmUsIGV4dHJhY3RfbGluZSwgbWFyaywgcG9zLCBmbGF0dGVuX29yX21hcmssIGlzX2Fzc2lnbmFibGUsIGNoZWNrX2Fzc2lnbmFibGUsIGZvcm1hdF9hc3NpZ24sIGZvcm1hdF9zaW5nbGVfYXNzaWduLCBzeW0sIHN5bXgsIHNpbXBsZV9zdHJpbmcsIHdyYXBfZnVuY19hcmcsIGpvaW5fY2hhaW4sIHdyYXBfZGVjb3JhdG9yLCBjaGVja19sdWFfc3RyaW5nLCBzZWxmX2Fzc2lnbiwgZ290ID0gX29ial8wLkluZGVudCwgX29ial8wLkN1dCwgX29ial8wLmVuc3VyZSwgX29ial8wLmV4dHJhY3RfbGluZSwgX29ial8wLm1hcmssIF9vYmpfMC5wb3MsIF9vYmpfMC5mbGF0dGVuX29yX21hcmssIF9vYmpfMC5pc19hc3NpZ25hYmxlLCBfb2JqXzAuY2hlY2tfYXNzaWduYWJsZSwgX29ial8wLmZvcm1hdF9hc3NpZ24sIF9vYmpfMC5mb3JtYXRfc2luZ2xlX2Fzc2lnbiwgX29ial8wLnN5bSwgX29ial8wLnN5bXgsIF9vYmpfMC5zaW1wbGVfc3RyaW5nLCBfb2JqXzAud3JhcF9mdW5jX2FyZywgX29ial8wLmpvaW5fY2hhaW4sIF9vYmpfMC53cmFwX2RlY29yYXRvciwgX29ial8wLmNoZWNrX2x1YV9zdHJpbmcsIF9vYmpfMC5zZWxmX2Fzc2lnbiwgX29ial8wLmdvdAogIGVuZAogIGxvY2FsIGJ1aWxkX2dyYW1tYXIgPSB3cmFwX2VudihkZWJ1Z19ncmFtbWFyLCBmdW5jdGlvbihyb290KQogICAgbG9jYWwgX2luZGVudCA9IFN0YWNrKDApCiAgICBsb2NhbCBfZG9fc3RhY2sgPSBTdGFjaygwKQogICAgbG9jYWwgc3RhdGUgPSB7CiAgICAgIGxhc3RfcG9zID0gMAogICAgfQogICAgbG9jYWwgY2hlY2tfaW5kZW50CiAgICBjaGVja19pbmRlbnQgPSBmdW5jdGlvbihzdHIsIHBvcywgaW5kZW50KQogICAgICBzdGF0ZS5sYXN0X3BvcyA9IHBvcwogICAgICByZXR1cm4gX2luZGVudDp0b3AoKSA9PSBpbmRlbnQKICAgIGVuZAogICAgbG9jYWwgYWR2YW5jZV9pbmRlbnQKICAgIGFkdmFuY2VfaW5kZW50ID0gZnVuY3Rpb24oc3RyLCBwb3MsIGluZGVudCkKICAgICAgbG9jYWwgdG9wID0gX2luZGVudDp0b3AoKQogICAgICBpZiB0b3Agfj0gLTEgYW5kIGluZGVudCA+IHRvcCB0aGVuCiAgICAgICAgX2luZGVudDpwdXNoKGluZGVudCkKICAgICAgICByZXR1cm4gdHJ1ZQogICAgICBlbmQKICAgIGVuZAogICAgbG9jYWwgcHVzaF9pbmRlbnQKICAgIHB1c2hfaW5kZW50ID0gZnVuY3Rpb24oc3RyLCBwb3MsIGluZGVudCkKICAgICAgX2luZGVudDpwdXNoKGluZGVudCkKICAgICAgcmV0dXJuIHRydWUKICAgIGVuZAogICAgbG9jYWwgcG9wX2luZGVudAogICAgcG9wX2luZGVudCA9IGZ1bmN0aW9uKCkKICAgICAgYXNzZXJ0KF9pbmRlbnQ6cG9wKCksICJ1bmV4cGVjdGVkIG91dGRlbnQiKQogICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCiAgICBsb2NhbCBjaGVja19kbwogICAgY2hlY2tfZG8gPSBmdW5jdGlvbihzdHIsIHBvcywgZG9fbm9kZSkKICAgICAgbG9jYWwgdG9wID0gX2RvX3N0YWNrOnRvcCgpCiAgICAgIGlmIHRvcCA9PSBuaWwgb3IgdG9wIHRoZW4KICAgICAgICByZXR1cm4gdHJ1ZSwgZG9fbm9kZQogICAgICBlbmQKICAgICAgcmV0dXJuIGZhbHNlCiAgICBlbmQKICAgIGxvY2FsIGRpc2FibGVfZG8KICAgIGRpc2FibGVfZG8gPSBmdW5jdGlvbigpCiAgICAgIF9kb19zdGFjazpwdXNoKGZhbHNlKQogICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCiAgICBsb2NhbCBwb3BfZG8KICAgIHBvcF9kbyA9IGZ1bmN0aW9uKCkKICAgICAgYXNzZXJ0KF9kb19zdGFjazpwb3AoKSB+PSBuaWwsICJ1bmV4cGVjdGVkIGRvIHBvcCIpCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICAgIGxvY2FsIERpc2FibGVEbyA9IENtdCgiIiwgZGlzYWJsZV9kbykKICAgIGxvY2FsIFBvcERvID0gQ210KCIiLCBwb3BfZG8pCiAgICBsb2NhbCBrZXl3b3JkcyA9IHsgfQogICAgbG9jYWwga2V5CiAgICBrZXkgPSBmdW5jdGlvbihjaGFycykKICAgICAga2V5d29yZHNbY2hhcnNdID0gdHJ1ZQogICAgICByZXR1cm4gU3BhY2UgKiBjaGFycyAqIC1BbHBoYU51bQogICAgZW5kCiAgICBsb2NhbCBvcAogICAgb3AgPSBmdW5jdGlvbihjaGFycykKICAgICAgbG9jYWwgcGF0dCA9IFNwYWNlICogQyhjaGFycykKICAgICAgaWYgY2hhcnM6bWF0Y2goIl4ldyokIikgdGhlbgogICAgICAgIGtleXdvcmRzW2NoYXJzXSA9IHRydWUKICAgICAgICBwYXR0ID0gcGF0dCAqIC1BbHBoYU51bQogICAgICBlbmQKICAgICAgcmV0dXJuIHBhdHQKICAgIGVuZAogICAgbG9jYWwgTmFtZSA9IENtdChTcGFjZU5hbWUsIGZ1bmN0aW9uKHN0ciwgcG9zLCBuYW1lKQogICAgICBpZiBrZXl3b3Jkc1tuYW1lXSB0aGVuCiAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgIGVuZAogICAgICByZXR1cm4gdHJ1ZQogICAgZW5kKSAvIHRyaW0KICAgIGxvY2FsIFNlbGZOYW1lID0gU3BhY2UgKiAiQCIgKiAoIkAiICogKF9OYW1lIC8gbWFyaygic2VsZl9jbGFzcyIpICsgQ2MoInNlbGYuX19jbGFzcyIpKSArIF9OYW1lIC8gbWFyaygic2VsZiIpICsgQ2MoInNlbGYiKSkKICAgIGxvY2FsIEtleU5hbWUgPSBTZWxmTmFtZSArIFNwYWNlICogX05hbWUgLyBtYXJrKCJrZXlfbGl0ZXJhbCIpCiAgICBsb2NhbCBWYXJBcmcgPSBTcGFjZSAqIFAoIi4uLiIpIC8gdHJpbQogICAgbG9jYWwgZyA9IFAoewogICAgICByb290IG9yIEZpbGUsCiAgICAgIEZpbGUgPSBTaGViYW5nIF4gLTEgKiAoQmxvY2sgKyBDdCgiIikpLAogICAgICBCbG9jayA9IEN0KExpbmUgKiAoQnJlYWsgXiAxICogTGluZSkgXiAwKSwKICAgICAgQ2hlY2tJbmRlbnQgPSBDbXQoSW5kZW50LCBjaGVja19pbmRlbnQpLAogICAgICBMaW5lID0gKENoZWNrSW5kZW50ICogU3RhdGVtZW50ICsgU3BhY2UgKiBMKFN0b3ApKSwKICAgICAgU3RhdGVtZW50ID0gcG9zKEltcG9ydCArIFdoaWxlICsgV2l0aCArIEZvciArIEZvckVhY2ggKyBTd2l0Y2ggKyBSZXR1cm4gKyBMb2NhbCArIEV4cG9ydCArIEJyZWFrTG9vcCArIEN0KEV4cExpc3QpICogKFVwZGF0ZSArIEFzc2lnbikgXiAtMSAvIGZvcm1hdF9hc3NpZ24pICogU3BhY2UgKiAoKGtleSgiaWYiKSAqIEV4cCAqIChrZXkoImVsc2UiKSAqIEV4cCkgXiAtMSAqIFNwYWNlIC8gbWFyaygiaWYiKSArIGtleSgidW5sZXNzIikgKiBFeHAgLyBtYXJrKCJ1bmxlc3MiKSArIENvbXBJbm5lciAvIG1hcmsoImNvbXByZWhlbnNpb24iKSkgKiBTcGFjZSkgXiAtMSAvIHdyYXBfZGVjb3JhdG9yLAogICAgICBCb2R5ID0gU3BhY2UgXiAtMSAqIEJyZWFrICogRW1wdHlMaW5lIF4gMCAqIEluQmxvY2sgKyBDdChTdGF0ZW1lbnQpLAogICAgICBBZHZhbmNlID0gTChDbXQoSW5kZW50LCBhZHZhbmNlX2luZGVudCkpLAogICAgICBQdXNoSW5kZW50ID0gQ210KEluZGVudCwgcHVzaF9pbmRlbnQpLAogICAgICBQcmV2ZW50SW5kZW50ID0gQ210KENjKC0xKSwgcHVzaF9pbmRlbnQpLAogICAgICBQb3BJbmRlbnQgPSBDbXQoIiIsIHBvcF9pbmRlbnQpLAogICAgICBJbkJsb2NrID0gQWR2YW5jZSAqIEJsb2NrICogUG9wSW5kZW50LAogICAgICBMb2NhbCA9IGtleSgibG9jYWwiKSAqICgob3AoIioiKSArIG9wKCJeIikpIC8gbWFyaygiZGVjbGFyZV9nbG9iIikgKyBDdChOYW1lTGlzdCkgLyBtYXJrKCJkZWNsYXJlX3dpdGhfc2hhZG93cyIpKSwKICAgICAgSW1wb3J0ID0ga2V5KCJpbXBvcnQiKSAqIEN0KEltcG9ydE5hbWVMaXN0KSAqIFNwYWNlQnJlYWsgXiAwICoga2V5KCJmcm9tIikgKiBFeHAgLyBtYXJrKCJpbXBvcnQiKSwKICAgICAgSW1wb3J0TmFtZSA9IChzeW0oIlxcIikgKiBDdChDYygiY29sb24iKSAqIE5hbWUpICsgTmFtZSksCiAgICAgIEltcG9ydE5hbWVMaXN0ID0gU3BhY2VCcmVhayBeIDAgKiBJbXBvcnROYW1lICogKChTcGFjZUJyZWFrIF4gMSArIHN5bSgiLCIpICogU3BhY2VCcmVhayBeIDApICogSW1wb3J0TmFtZSkgXiAwLAogICAgICBCcmVha0xvb3AgPSBDdChrZXkoImJyZWFrIikgLyB0cmltKSArIEN0KGtleSgiY29udGludWUiKSAvIHRyaW0pLAogICAgICBSZXR1cm4gPSBrZXkoInJldHVybiIpICogKEV4cExpc3RMb3cgLyBtYXJrKCJleHBsaXN0IikgKyBDKCIiKSkgLyBtYXJrKCJyZXR1cm4iKSwKICAgICAgV2l0aEV4cCA9IEN0KEV4cExpc3QpICogQXNzaWduIF4gLTEgLyBmb3JtYXRfYXNzaWduLAogICAgICBXaXRoID0ga2V5KCJ3aXRoIikgKiBEaXNhYmxlRG8gKiBlbnN1cmUoV2l0aEV4cCwgUG9wRG8pICoga2V5KCJkbyIpIF4gLTEgKiBCb2R5IC8gbWFyaygid2l0aCIpLAogICAgICBTd2l0Y2ggPSBrZXkoInN3aXRjaCIpICogRGlzYWJsZURvICogZW5zdXJlKEV4cCwgUG9wRG8pICoga2V5KCJkbyIpIF4gLTEgKiBTcGFjZSBeIC0xICogQnJlYWsgKiBTd2l0Y2hCbG9jayAvIG1hcmsoInN3aXRjaCIpLAogICAgICBTd2l0Y2hCbG9jayA9IEVtcHR5TGluZSBeIDAgKiBBZHZhbmNlICogQ3QoU3dpdGNoQ2FzZSAqIChCcmVhayBeIDEgKiBTd2l0Y2hDYXNlKSBeIDAgKiAoQnJlYWsgXiAxICogU3dpdGNoRWxzZSkgXiAtMSkgKiBQb3BJbmRlbnQsCiAgICAgIFN3aXRjaENhc2UgPSBrZXkoIndoZW4iKSAqIEN0KEV4cExpc3QpICoga2V5KCJ0aGVuIikgXiAtMSAqIEJvZHkgLyBtYXJrKCJjYXNlIiksCiAgICAgIFN3aXRjaEVsc2UgPSBrZXkoImVsc2UiKSAqIEJvZHkgLyBtYXJrKCJlbHNlIiksCiAgICAgIElmQ29uZCA9IEV4cCAqIEFzc2lnbiBeIC0xIC8gZm9ybWF0X3NpbmdsZV9hc3NpZ24sCiAgICAgIElmRWxzZSA9IChCcmVhayAqIEVtcHR5TGluZSBeIDAgKiBDaGVja0luZGVudCkgXiAtMSAqIGtleSgiZWxzZSIpICogQm9keSAvIG1hcmsoImVsc2UiKSwKICAgICAgSWZFbHNlSWYgPSAoQnJlYWsgKiBFbXB0eUxpbmUgXiAwICogQ2hlY2tJbmRlbnQpIF4gLTEgKiBrZXkoImVsc2VpZiIpICogcG9zKElmQ29uZCkgKiBrZXkoInRoZW4iKSBeIC0xICogQm9keSAvIG1hcmsoImVsc2VpZiIpLAogICAgICBJZiA9IGtleSgiaWYiKSAqIElmQ29uZCAqIGtleSgidGhlbiIpIF4gLTEgKiBCb2R5ICogSWZFbHNlSWYgXiAwICogSWZFbHNlIF4gLTEgLyBtYXJrKCJpZiIpLAogICAgICBVbmxlc3MgPSBrZXkoInVubGVzcyIpICogSWZDb25kICoga2V5KCJ0aGVuIikgXiAtMSAqIEJvZHkgKiBJZkVsc2VJZiBeIDAgKiBJZkVsc2UgXiAtMSAvIG1hcmsoInVubGVzcyIpLAogICAgICBXaGlsZSA9IGtleSgid2hpbGUiKSAqIERpc2FibGVEbyAqIGVuc3VyZShFeHAsIFBvcERvKSAqIGtleSgiZG8iKSBeIC0xICogQm9keSAvIG1hcmsoIndoaWxlIiksCiAgICAgIEZvciA9IGtleSgiZm9yIikgKiBEaXNhYmxlRG8gKiBlbnN1cmUoTmFtZSAqIHN5bSgiPSIpICogQ3QoRXhwICogc3ltKCIsIikgKiBFeHAgKiAoc3ltKCIsIikgKiBFeHApIF4gLTEpLCBQb3BEbykgKiBrZXkoImRvIikgXiAtMSAqIEJvZHkgLyBtYXJrKCJmb3IiKSwKICAgICAgRm9yRWFjaCA9IGtleSgiZm9yIikgKiBDdChBc3NpZ25hYmxlTmFtZUxpc3QpICoga2V5KCJpbiIpICogRGlzYWJsZURvICogZW5zdXJlKEN0KHN5bSgiKiIpICogRXhwIC8gbWFyaygidW5wYWNrIikgKyBFeHBMaXN0KSwgUG9wRG8pICoga2V5KCJkbyIpIF4gLTEgKiBCb2R5IC8gbWFyaygiZm9yZWFjaCIpLAogICAgICBEbyA9IGtleSgiZG8iKSAqIEJvZHkgLyBtYXJrKCJkbyIpLAogICAgICBDb21wcmVoZW5zaW9uID0gc3ltKCJbIikgKiBFeHAgKiBDb21wSW5uZXIgKiBzeW0oIl0iKSAvIG1hcmsoImNvbXByZWhlbnNpb24iKSwKICAgICAgVGJsQ29tcHJlaGVuc2lvbiA9IHN5bSgieyIpICogQ3QoRXhwICogKHN5bSgiLCIpICogRXhwKSBeIC0xKSAqIENvbXBJbm5lciAqIHN5bSgifSIpIC8gbWFyaygidGJsY29tcHJlaGVuc2lvbiIpLAogICAgICBDb21wSW5uZXIgPSBDdCgoQ29tcEZvckVhY2ggKyBDb21wRm9yKSAqIENvbXBDbGF1c2UgXiAwKSwKICAgICAgQ29tcEZvckVhY2ggPSBrZXkoImZvciIpICogQ3QoQXNzaWduYWJsZU5hbWVMaXN0KSAqIGtleSgiaW4iKSAqIChzeW0oIioiKSAqIEV4cCAvIG1hcmsoInVucGFjayIpICsgRXhwKSAvIG1hcmsoImZvcmVhY2giKSwKICAgICAgQ29tcEZvciA9IGtleSgiZm9yIiAqIE5hbWUgKiBzeW0oIj0iKSAqIEN0KEV4cCAqIHN5bSgiLCIpICogRXhwICogKHN5bSgiLCIpICogRXhwKSBeIC0xKSAvIG1hcmsoImZvciIpKSwKICAgICAgQ29tcENsYXVzZSA9IENvbXBGb3IgKyBDb21wRm9yRWFjaCArIGtleSgid2hlbiIpICogRXhwIC8gbWFyaygid2hlbiIpLAogICAgICBBc3NpZ24gPSBzeW0oIj0iKSAqIChDdChXaXRoICsgSWYgKyBTd2l0Y2gpICsgQ3QoVGFibGVCbG9jayArIEV4cExpc3RMb3cpKSAvIG1hcmsoImFzc2lnbiIpLAogICAgICBVcGRhdGUgPSAoKHN5bSgiLi49IikgKyBzeW0oIis9IikgKyBzeW0oIi09IikgKyBzeW0oIio9IikgKyBzeW0oIi89IikgKyBzeW0oIiU9IikgKyBzeW0oIm9yPSIpICsgc3ltKCJhbmQ9IikgKyBzeW0oIiY9IikgKyBzeW0oInw9IikgKyBzeW0oIj4+PSIpICsgc3ltKCI8PD0iKSkgLyB0cmltKSAqIEV4cCAvIG1hcmsoInVwZGF0ZSIpLAogICAgICBDaGFyT3BlcmF0b3JzID0gU3BhY2UgKiBDKFMoIistKi8lXj48fCYiKSksCiAgICAgIFdvcmRPcGVyYXRvcnMgPSBvcCgib3IiKSArIG9wKCJhbmQiKSArIG9wKCI8PSIpICsgb3AoIj49IikgKyBvcCgifj0iKSArIG9wKCIhPSIpICsgb3AoIj09IikgKyBvcCgiLi4iKSArIG9wKCI8PCIpICsgb3AoIj4+IikgKyBvcCgiLy8iKSwKICAgICAgQmluYXJ5T3BlcmF0b3IgPSAoV29yZE9wZXJhdG9ycyArIENoYXJPcGVyYXRvcnMpICogU3BhY2VCcmVhayBeIDAsCiAgICAgIEFzc2lnbmFibGUgPSBDbXQoQ2hhaW4sIGNoZWNrX2Fzc2lnbmFibGUpICsgTmFtZSArIFNlbGZOYW1lLAogICAgICBFeHAgPSBDdChWYWx1ZSAqIChCaW5hcnlPcGVyYXRvciAqIFZhbHVlKSBeIDApIC8gZmxhdHRlbl9vcl9tYXJrKCJleHAiKSwKICAgICAgU2ltcGxlVmFsdWUgPSBJZiArIFVubGVzcyArIFN3aXRjaCArIFdpdGggKyBDbGFzc0RlY2wgKyBGb3JFYWNoICsgRm9yICsgV2hpbGUgKyBDbXQoRG8sIGNoZWNrX2RvKSArIHN5bSgiLSIpICogLVNvbWVTcGFjZSAqIEV4cCAvIG1hcmsoIm1pbnVzIikgKyBzeW0oIiMiKSAqIEV4cCAvIG1hcmsoImxlbmd0aCIpICsgc3ltKCJ+IikgKiBFeHAgLyBtYXJrKCJiaXRub3QiKSArIGtleSgibm90IikgKiBFeHAgLyBtYXJrKCJub3QiKSArIFRibENvbXByZWhlbnNpb24gKyBUYWJsZUxpdCArIENvbXByZWhlbnNpb24gKyBGdW5MaXQgKyBOdW0sCiAgICAgIENoYWluVmFsdWUgPSAoQ2hhaW4gKyBDYWxsYWJsZSkgKiBDdChJbnZva2VBcmdzIF4gLTEpIC8gam9pbl9jaGFpbiwKICAgICAgVmFsdWUgPSBwb3MoU2ltcGxlVmFsdWUgKyBDdChLZXlWYWx1ZUxpc3QpIC8gbWFyaygidGFibGUiKSArIENoYWluVmFsdWUgKyBTdHJpbmcpLAogICAgICBTbGljZVZhbHVlID0gRXhwLAogICAgICBTdHJpbmcgPSBTcGFjZSAqIERvdWJsZVN0cmluZyArIFNwYWNlICogU2luZ2xlU3RyaW5nICsgTHVhU3RyaW5nLAogICAgICBTaW5nbGVTdHJpbmcgPSBzaW1wbGVfc3RyaW5nKCInIiksCiAgICAgIERvdWJsZVN0cmluZyA9IHNpbXBsZV9zdHJpbmcoJyInLCB0cnVlKSwKICAgICAgTHVhU3RyaW5nID0gQ2coTHVhU3RyaW5nT3BlbiwgInN0cmluZ19vcGVuIikgKiBDYigic3RyaW5nX29wZW4iKSAqIEJyZWFrIF4gLTEgKiBDKCgxIC0gQ210KEMoTHVhU3RyaW5nQ2xvc2UpICogQ2IoInN0cmluZ19vcGVuIiksIGNoZWNrX2x1YV9zdHJpbmcpKSBeIDApICogTHVhU3RyaW5nQ2xvc2UgLyBtYXJrKCJzdHJpbmciKSwKICAgICAgTHVhU3RyaW5nT3BlbiA9IHN5bSgiWyIpICogUCgiPSIpIF4gMCAqICJbIiAvIHRyaW0sCiAgICAgIEx1YVN0cmluZ0Nsb3NlID0gIl0iICogUCgiPSIpIF4gMCAqICJdIiwKICAgICAgQ2FsbGFibGUgPSBwb3MoTmFtZSAvIG1hcmsoInJlZiIpKSArIFNlbGZOYW1lICsgVmFyQXJnICsgUGFyZW5zIC8gbWFyaygicGFyZW5zIiksCiAgICAgIFBhcmVucyA9IHN5bSgiKCIpICogU3BhY2VCcmVhayBeIDAgKiBFeHAgKiBTcGFjZUJyZWFrIF4gMCAqIHN5bSgiKSIpLAogICAgICBGbkFyZ3MgPSBzeW14KCIoIikgKiBTcGFjZUJyZWFrIF4gMCAqIEN0KEZuQXJnc0V4cExpc3QgXiAtMSkgKiBTcGFjZUJyZWFrIF4gMCAqIHN5bSgiKSIpICsgc3ltKCIhIikgKiAtUCgiPSIpICogQ3QoIiIpLAogICAgICBGbkFyZ3NFeHBMaXN0ID0gRXhwICogKChCcmVhayArIHN5bSgiLCIpKSAqIFdoaXRlICogRXhwKSBeIDAsCiAgICAgIENoYWluID0gKENhbGxhYmxlICsgU3RyaW5nICsgLVMoIi5cXCIpKSAqIENoYWluSXRlbXMgLyBtYXJrKCJjaGFpbiIpICsgU3BhY2UgKiAoRG90Q2hhaW5JdGVtICogQ2hhaW5JdGVtcyBeIC0xICsgQ29sb25DaGFpbikgLyBtYXJrKCJjaGFpbiIpLAogICAgICBDaGFpbkl0ZW1zID0gQ2hhaW5JdGVtIF4gMSAqIENvbG9uQ2hhaW4gXiAtMSArIENvbG9uQ2hhaW4sCiAgICAgIENoYWluSXRlbSA9IEludm9rZSArIERvdENoYWluSXRlbSArIFNsaWNlICsgc3lteCgiWyIpICogRXhwIC8gbWFyaygiaW5kZXgiKSAqIHN5bSgiXSIpLAogICAgICBEb3RDaGFpbkl0ZW0gPSBzeW14KCIuIikgKiBfTmFtZSAvIG1hcmsoImRvdCIpLAogICAgICBDb2xvbkNoYWluSXRlbSA9IHN5bXgoIlxcIikgKiBfTmFtZSAvIG1hcmsoImNvbG9uIiksCiAgICAgIENvbG9uQ2hhaW4gPSBDb2xvbkNoYWluSXRlbSAqIChJbnZva2UgKiBDaGFpbkl0ZW1zIF4gLTEpIF4gLTEsCiAgICAgIFNsaWNlID0gc3lteCgiWyIpICogKFNsaWNlVmFsdWUgKyBDYygxKSkgKiBzeW0oIiwiKSAqIChTbGljZVZhbHVlICsgQ2MoIiIpKSAqIChzeW0oIiwiKSAqIFNsaWNlVmFsdWUpIF4gLTEgKiBzeW0oIl0iKSAvIG1hcmsoInNsaWNlIiksCiAgICAgIEludm9rZSA9IEZuQXJncyAvIG1hcmsoImNhbGwiKSArIFNpbmdsZVN0cmluZyAvIHdyYXBfZnVuY19hcmcgKyBEb3VibGVTdHJpbmcgLyB3cmFwX2Z1bmNfYXJnICsgTChQKCJbIikpICogTHVhU3RyaW5nIC8gd3JhcF9mdW5jX2FyZywKICAgICAgVGFibGVWYWx1ZSA9IEtleVZhbHVlICsgQ3QoRXhwKSwKICAgICAgVGFibGVMaXQgPSBzeW0oInsiKSAqIEN0KFRhYmxlVmFsdWVMaXN0IF4gLTEgKiBzeW0oIiwiKSBeIC0xICogKFNwYWNlQnJlYWsgKiBUYWJsZUxpdExpbmUgKiAoc3ltKCIsIikgXiAtMSAqIFNwYWNlQnJlYWsgKiBUYWJsZUxpdExpbmUpIF4gMCAqIHN5bSgiLCIpIF4gLTEpIF4gLTEpICogV2hpdGUgKiBzeW0oIn0iKSAvIG1hcmsoInRhYmxlIiksCiAgICAgIFRhYmxlVmFsdWVMaXN0ID0gVGFibGVWYWx1ZSAqIChzeW0oIiwiKSAqIFRhYmxlVmFsdWUpIF4gMCwKICAgICAgVGFibGVMaXRMaW5lID0gUHVzaEluZGVudCAqICgoVGFibGVWYWx1ZUxpc3QgKiBQb3BJbmRlbnQpICsgKFBvcEluZGVudCAqIEN1dCkpICsgU3BhY2UsCiAgICAgIFRhYmxlQmxvY2tJbm5lciA9IEN0KEtleVZhbHVlTGluZSAqIChTcGFjZUJyZWFrIF4gMSAqIEtleVZhbHVlTGluZSkgXiAwKSwKICAgICAgVGFibGVCbG9jayA9IFNwYWNlQnJlYWsgXiAxICogQWR2YW5jZSAqIGVuc3VyZShUYWJsZUJsb2NrSW5uZXIsIFBvcEluZGVudCkgLyBtYXJrKCJ0YWJsZSIpLAogICAgICBDbGFzc0RlY2wgPSBrZXkoImNsYXNzIikgKiAtUCgiOiIpICogKEFzc2lnbmFibGUgKyBDYyhuaWwpKSAqIChrZXkoImV4dGVuZHMiKSAqIFByZXZlbnRJbmRlbnQgKiBlbnN1cmUoRXhwLCBQb3BJbmRlbnQpICsgQygiIikpIF4gLTEgKiAoQ2xhc3NCbG9jayArIEN0KCIiKSkgLyBtYXJrKCJjbGFzcyIpLAogICAgICBDbGFzc0Jsb2NrID0gU3BhY2VCcmVhayBeIDEgKiBBZHZhbmNlICogQ3QoQ2xhc3NMaW5lICogKFNwYWNlQnJlYWsgXiAxICogQ2xhc3NMaW5lKSBeIDApICogUG9wSW5kZW50LAogICAgICBDbGFzc0xpbmUgPSBDaGVja0luZGVudCAqICgoS2V5VmFsdWVMaXN0IC8gbWFyaygicHJvcHMiKSArIFN0YXRlbWVudCAvIG1hcmsoInN0bSIpICsgRXhwIC8gbWFyaygic3RtIikpICogc3ltKCIsIikgXiAtMSksCiAgICAgIEV4cG9ydCA9IGtleSgiZXhwb3J0IikgKiAoQ2MoImNsYXNzIikgKiBDbGFzc0RlY2wgKyBvcCgiKiIpICsgb3AoIl4iKSArIEN0KE5hbWVMaXN0KSAqIChzeW0oIj0iKSAqIEN0KEV4cExpc3RMb3cpKSBeIC0xKSAvIG1hcmsoImV4cG9ydCIpLAogICAgICBLZXlWYWx1ZSA9IChzeW0oIjoiKSAqIC1Tb21lU3BhY2UgKiBOYW1lICogbHBlZy5DcCgpKSAvIHNlbGZfYXNzaWduICsgQ3QoKEtleU5hbWUgKyBzeW0oIlsiKSAqIEV4cCAqIHN5bSgiXSIpICsgU3BhY2UgKiBEb3VibGVTdHJpbmcgKyBTcGFjZSAqIFNpbmdsZVN0cmluZykgKiBzeW14KCI6IikgKiAoRXhwICsgVGFibGVCbG9jayArIFNwYWNlQnJlYWsgXiAxICogRXhwKSksCiAgICAgIEtleVZhbHVlTGlzdCA9IEtleVZhbHVlICogKHN5bSgiLCIpICogS2V5VmFsdWUpIF4gMCwKICAgICAgS2V5VmFsdWVMaW5lID0gQ2hlY2tJbmRlbnQgKiBLZXlWYWx1ZUxpc3QgKiBzeW0oIiwiKSBeIC0xLAogICAgICBGbkFyZ3NEZWYgPSBzeW0oIigiKSAqIFdoaXRlICogQ3QoRm5BcmdEZWZMaXN0IF4gLTEpICogKGtleSgidXNpbmciKSAqIEN0KE5hbWVMaXN0ICsgU3BhY2UgKiAibmlsIikgKyBDdCgiIikpICogV2hpdGUgKiBzeW0oIikiKSArIEN0KCIiKSAqIEN0KCIiKSwKICAgICAgRm5BcmdEZWZMaXN0ID0gRm5BcmdEZWYgKiAoKHN5bSgiLCIpICsgQnJlYWspICogV2hpdGUgKiBGbkFyZ0RlZikgXiAwICogKChzeW0oIiwiKSArIEJyZWFrKSAqIFdoaXRlICogQ3QoVmFyQXJnKSkgXiAwICsgQ3QoVmFyQXJnKSwKICAgICAgRm5BcmdEZWYgPSBDdCgoTmFtZSArIFNlbGZOYW1lKSAqIChzeW0oIj0iKSAqIEV4cCkgXiAtMSksCiAgICAgIEZ1bkxpdCA9IEZuQXJnc0RlZiAqIChzeW0oIi0+IikgKiBDYygic2xpbSIpICsgc3ltKCI9PiIpICogQ2MoImZhdCIpKSAqIChCb2R5ICsgQ3QoIiIpKSAvIG1hcmsoImZuZGVmIiksCiAgICAgIE5hbWVMaXN0ID0gTmFtZSAqIChzeW0oIiwiKSAqIE5hbWUpIF4gMCwKICAgICAgTmFtZU9yRGVzdHJ1Y3R1cmUgPSBOYW1lICsgVGFibGVMaXQsCiAgICAgIEFzc2lnbmFibGVOYW1lTGlzdCA9IE5hbWVPckRlc3RydWN0dXJlICogKHN5bSgiLCIpICogTmFtZU9yRGVzdHJ1Y3R1cmUpIF4gMCwKICAgICAgRXhwTGlzdCA9IEV4cCAqIChzeW0oIiwiKSAqIEV4cCkgXiAwLAogICAgICBFeHBMaXN0TG93ID0gRXhwICogKChzeW0oIiwiKSArIHN5bSgiOyIpKSAqIEV4cCkgXiAwLAogICAgICBJbnZva2VBcmdzID0gLVAoIi0iKSAqIChFeHBMaXN0ICogKHN5bSgiLCIpICogKFRhYmxlQmxvY2sgKyBTcGFjZUJyZWFrICogQWR2YW5jZSAqIEFyZ0Jsb2NrICogVGFibGVCbG9jayBeIC0xKSArIFRhYmxlQmxvY2spIF4gLTEgKyBUYWJsZUJsb2NrKSwKICAgICAgQXJnQmxvY2sgPSBBcmdMaW5lICogKHN5bSgiLCIpICogU3BhY2VCcmVhayAqIEFyZ0xpbmUpIF4gMCAqIFBvcEluZGVudCwKICAgICAgQXJnTGluZSA9IENoZWNrSW5kZW50ICogRXhwTGlzdAogICAgfSkKICAgIHJldHVybiBnLCBzdGF0ZQogIGVuZCkKICBsb2NhbCBmaWxlX3BhcnNlcgogIGZpbGVfcGFyc2VyID0gZnVuY3Rpb24oKQogICAgbG9jYWwgZywgc3RhdGUgPSBidWlsZF9ncmFtbWFyKCkKICAgIGxvY2FsIGZpbGVfZ3JhbW1hciA9IFdoaXRlICogZyAqIFdoaXRlICogLTEKICAgIHJldHVybiB7CiAgICAgIG1hdGNoID0gZnVuY3Rpb24oc2VsZiwgc3RyKQogICAgICAgIGxvY2FsIHRyZWUKICAgICAgICBsb2NhbCBfLCBlcnIgPSB4cGNhbGwoKGZ1bmN0aW9uKCkKICAgICAgICAgIHRyZWUgPSBmaWxlX2dyYW1tYXI6bWF0Y2goc3RyKQogICAgICAgIGVuZCksIGZ1bmN0aW9uKGVycikKICAgICAgICAgIHJldHVybiBkZWJ1Zy50cmFjZWJhY2soZXJyLCAyKQogICAgICAgIGVuZCkKICAgICAgICBpZiB0eXBlKGVycikgPT0gInN0cmluZyIgdGhlbgogICAgICAgICAgcmV0dXJuIG5pbCwgZXJyCiAgICAgICAgZW5kCiAgICAgICAgaWYgbm90ICh0cmVlKSB0aGVuCiAgICAgICAgICBsb2NhbCBtc2cKICAgICAgICAgIGxvY2FsIGVycl9wb3MgPSBzdGF0ZS5sYXN0X3BvcwogICAgICAgICAgaWYgZXJyIHRoZW4KICAgICAgICAgICAgbG9jYWwgbm9kZQogICAgICAgICAgICBub2RlLCBtc2cgPSB1bnBhY2soZXJyKQogICAgICAgICAgICBpZiBtc2cgdGhlbgogICAgICAgICAgICAgIG1zZyA9ICIgIiAuLiBtc2cKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVycl9wb3MgPSBub2RlWy0xXQogICAgICAgICAgZW5kCiAgICAgICAgICBsb2NhbCBsaW5lX25vID0gcG9zX3RvX2xpbmUoc3RyLCBlcnJfcG9zKQogICAgICAgICAgbG9jYWwgbGluZV9zdHIgPSBnZXRfbGluZShzdHIsIGxpbmVfbm8pIG9yICIiCiAgICAgICAgICByZXR1cm4gbmlsLCBlcnJfbXNnOmZvcm1hdChtc2cgb3IgIiIsIGxpbmVfbm8sIHRyaW0obGluZV9zdHIpKQogICAgICAgIGVuZAogICAgICAgIHJldHVybiB0cmVlCiAgICAgIGVuZAogICAgfQogIGVuZAogIHJldHVybiB7CiAgICBleHRyYWN0X2xpbmUgPSBleHRyYWN0X2xpbmUsCiAgICBidWlsZF9ncmFtbWFyID0gYnVpbGRfZ3JhbW1hciwKICAgIHN0cmluZyA9IGZ1bmN0aW9uKHN0cikKICAgICAgcmV0dXJuIGZpbGVfcGFyc2VyKCk6bWF0Y2goc3RyKQogICAgZW5kCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uc2NyaXB0LnR5cGVzJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgdXRpbCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgbG9jYWwgU2V0CiAgU2V0ID0gcmVxdWlyZSgibW9vbnNjcmlwdC5kYXRhIikuU2V0CiAgbG9jYWwgaW5zZXJ0CiAgaW5zZXJ0ID0gdGFibGUuaW5zZXJ0CiAgbG9jYWwgdW5wYWNrCiAgdW5wYWNrID0gdXRpbC51bnBhY2sKICBsb2NhbCBtYW51YWxfcmV0dXJuID0gU2V0KHsKICAgICJmb3JlYWNoIiwKICAgICJmb3IiLAogICAgIndoaWxlIiwKICAgICJyZXR1cm4iCiAgfSkKICBsb2NhbCBjYXNjYWRpbmcgPSBTZXQoewogICAgImlmIiwKICAgICJ1bmxlc3MiLAogICAgIndpdGgiLAogICAgInN3aXRjaCIsCiAgICAiY2xhc3MiLAogICAgImRvIgogIH0pCiAgbG9jYWwgdGVybWluYXRpbmcgPSBTZXQoewogICAgInJldHVybiIsCiAgICAiYnJlYWsiCiAgfSkKICBsb2NhbCBudHlwZQogIG50eXBlID0gZnVuY3Rpb24obm9kZSkKICAgIGxvY2FsIF9leHBfMCA9IHR5cGUobm9kZSkKICAgIGlmICJuaWwiID09IF9leHBfMCB0aGVuCiAgICAgIHJldHVybiAibmlsIgogICAgZWxzZWlmICJ0YWJsZSIgPT0gX2V4cF8wIHRoZW4KICAgICAgcmV0dXJuIG5vZGVbMV0KICAgIGVsc2UKICAgICAgcmV0dXJuICJ2YWx1ZSIKICAgIGVuZAogIGVuZAogIGxvY2FsIG10eXBlCiAgZG8KICAgIGxvY2FsIG1vb25fdHlwZSA9IHV0aWwubW9vbi50eXBlCiAgICBtdHlwZSA9IGZ1bmN0aW9uKHZhbCkKICAgICAgbG9jYWwgbXQgPSBnZXRtZXRhdGFibGUodmFsKQogICAgICBpZiBtdCBhbmQgbXQuc21hcnRfbm9kZSB0aGVuCiAgICAgICAgcmV0dXJuICJ0YWJsZSIKICAgICAgZW5kCiAgICAgIHJldHVybiBtb29uX3R5cGUodmFsKQogICAgZW5kCiAgZW5kCiAgbG9jYWwgdmFsdWVfY2FuX2JlX3N0YXRlbWVudAogIHZhbHVlX2Nhbl9iZV9zdGF0ZW1lbnQgPSBmdW5jdGlvbihub2RlKQogICAgaWYgbm90IChudHlwZShub2RlKSA9PSAiY2hhaW4iKSB0aGVuCiAgICAgIHJldHVybiBmYWxzZQogICAgZW5kCiAgICByZXR1cm4gbnR5cGUobm9kZVsjbm9kZV0pID09ICJjYWxsIgogIGVuZAogIGxvY2FsIGlzX3ZhbHVlCiAgaXNfdmFsdWUgPSBmdW5jdGlvbihzdG0pCiAgICBsb2NhbCBjb21waWxlID0gcmVxdWlyZSgibW9vbnNjcmlwdC5jb21waWxlIikKICAgIGxvY2FsIHRyYW5zZm9ybSA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtIikKICAgIHJldHVybiBjb21waWxlLkJsb2NrOmlzX3ZhbHVlKHN0bSkgb3IgdHJhbnNmb3JtLlZhbHVlOmNhbl90cmFuc2Zvcm0oc3RtKQogIGVuZAogIGxvY2FsIHZhbHVlX2lzX3Npbmd1bGFyCiAgdmFsdWVfaXNfc2luZ3VsYXIgPSBmdW5jdGlvbihub2RlKQogICAgcmV0dXJuIHR5cGUobm9kZSkgfj0gInRhYmxlIiBvciBub2RlWzFdIH49ICJleHAiIG9yICNub2RlID09IDIKICBlbmQKICBsb2NhbCBpc19zbGljZQogIGlzX3NsaWNlID0gZnVuY3Rpb24obm9kZSkKICAgIHJldHVybiBudHlwZShub2RlKSA9PSAiY2hhaW4iIGFuZCBudHlwZShub2RlWyNub2RlXSkgPT0gInNsaWNlIgogIGVuZAogIGxvY2FsIHQgPSB7IH0KICBsb2NhbCBub2RlX3R5cGVzID0gewogICAgY2xhc3MgPSB7CiAgICAgIHsKICAgICAgICAibmFtZSIsCiAgICAgICAgIlRtcCIKICAgICAgfSwKICAgICAgewogICAgICAgICJib2R5IiwKICAgICAgICB0CiAgICAgIH0KICAgIH0sCiAgICBmbmRlZiA9IHsKICAgICAgewogICAgICAgICJhcmdzIiwKICAgICAgICB0CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAid2hpdGVsaXN0IiwKICAgICAgICB0CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYXJyb3ciLAogICAgICAgICJzbGltIgogICAgICB9LAogICAgICB7CiAgICAgICAgImJvZHkiLAogICAgICAgIHQKICAgICAgfQogICAgfSwKICAgIGZvcmVhY2ggPSB7CiAgICAgIHsKICAgICAgICAibmFtZXMiLAogICAgICAgIHQKICAgICAgfSwKICAgICAgewogICAgICAgICJpdGVyIgogICAgICB9LAogICAgICB7CiAgICAgICAgImJvZHkiLAogICAgICAgIHQKICAgICAgfQogICAgfSwKICAgIFsiZm9yIl0gPSB7CiAgICAgIHsKICAgICAgICAibmFtZSIKICAgICAgfSwKICAgICAgewogICAgICAgICJib3VuZHMiLAogICAgICAgIHQKICAgICAgfSwKICAgICAgewogICAgICAgICJib2R5IiwKICAgICAgICB0CiAgICAgIH0KICAgIH0sCiAgICBbIndoaWxlIl0gPSB7CiAgICAgIHsKICAgICAgICAiY29uZCIsCiAgICAgICAgdAogICAgICB9LAogICAgICB7CiAgICAgICAgImJvZHkiLAogICAgICAgIHQKICAgICAgfQogICAgfSwKICAgIGFzc2lnbiA9IHsKICAgICAgewogICAgICAgICJuYW1lcyIsCiAgICAgICAgdAogICAgICB9LAogICAgICB7CiAgICAgICAgInZhbHVlcyIsCiAgICAgICAgdAogICAgICB9CiAgICB9LAogICAgZGVjbGFyZSA9IHsKICAgICAgewogICAgICAgICJuYW1lcyIsCiAgICAgICAgdAogICAgICB9CiAgICB9LAogICAgWyJpZiJdID0gewogICAgICB7CiAgICAgICAgImNvbmQiLAogICAgICAgIHQKICAgICAgfSwKICAgICAgewogICAgICAgICJ0aGVuIiwKICAgICAgICB0CiAgICAgIH0KICAgIH0KICB9CiAgbG9jYWwgYnVpbGRfdGFibGUKICBidWlsZF90YWJsZSA9IGZ1bmN0aW9uKCkKICAgIGxvY2FsIGtleV90YWJsZSA9IHsgfQogICAgZm9yIG5vZGVfbmFtZSwgYXJncyBpbiBwYWlycyhub2RlX3R5cGVzKSBkbwogICAgICBsb2NhbCBpbmRleCA9IHsgfQogICAgICBmb3IgaSwgdHVwbGUgaW4gaXBhaXJzKGFyZ3MpIGRvCiAgICAgICAgbG9jYWwgcHJvcF9uYW1lID0gdHVwbGVbMV0KICAgICAgICBpbmRleFtwcm9wX25hbWVdID0gaSArIDEKICAgICAgZW5kCiAgICAgIGtleV90YWJsZVtub2RlX25hbWVdID0gaW5kZXgKICAgIGVuZAogICAgcmV0dXJuIGtleV90YWJsZQogIGVuZAogIGxvY2FsIGtleV90YWJsZSA9IGJ1aWxkX3RhYmxlKCkKICBsb2NhbCBtYWtlX2J1aWxkZXIKICBtYWtlX2J1aWxkZXIgPSBmdW5jdGlvbihuYW1lKQogICAgbG9jYWwgc3BlYyA9IG5vZGVfdHlwZXNbbmFtZV0KICAgIGlmIG5vdCBzcGVjIHRoZW4KICAgICAgZXJyb3IoImRvbid0IGtub3cgaG93IHRvIGJ1aWxkIG5vZGU6ICIgLi4gbmFtZSkKICAgIGVuZAogICAgcmV0dXJuIGZ1bmN0aW9uKHByb3BzKQogICAgICBpZiBwcm9wcyA9PSBuaWwgdGhlbgogICAgICAgIHByb3BzID0geyB9CiAgICAgIGVuZAogICAgICBsb2NhbCBub2RlID0gewogICAgICAgIG5hbWUKICAgICAgfQogICAgICBmb3IgaSwgYXJnIGluIGlwYWlycyhzcGVjKSBkbwogICAgICAgIGxvY2FsIGtleSwgZGVmYXVsdF92YWx1ZSA9IHVucGFjayhhcmcpCiAgICAgICAgbG9jYWwgdmFsCiAgICAgICAgaWYgcHJvcHNba2V5XSB0aGVuCiAgICAgICAgICB2YWwgPSBwcm9wc1trZXldCiAgICAgICAgZWxzZQogICAgICAgICAgdmFsID0gZGVmYXVsdF92YWx1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHZhbCA9PSB0IHRoZW4KICAgICAgICAgIHZhbCA9IHsgfQogICAgICAgIGVuZAogICAgICAgIG5vZGVbaSArIDFdID0gdmFsCiAgICAgIGVuZAogICAgICByZXR1cm4gbm9kZQogICAgZW5kCiAgZW5kCiAgbG9jYWwgYnVpbGQgPSBuaWwKICBidWlsZCA9IHNldG1ldGF0YWJsZSh7CiAgICBncm91cCA9IGZ1bmN0aW9uKGJvZHkpCiAgICAgIGlmIGJvZHkgPT0gbmlsIHRoZW4KICAgICAgICBib2R5ID0geyB9CiAgICAgIGVuZAogICAgICByZXR1cm4gewogICAgICAgICJncm91cCIsCiAgICAgICAgYm9keQogICAgICB9CiAgICBlbmQsCiAgICBbImRvIl0gPSBmdW5jdGlvbihib2R5KQogICAgICByZXR1cm4gewogICAgICAgICJkbyIsCiAgICAgICAgYm9keQogICAgICB9CiAgICBlbmQsCiAgICBhc3NpZ25fb25lID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpCiAgICAgIHJldHVybiBidWlsZC5hc3NpZ24oewogICAgICAgIG5hbWVzID0gewogICAgICAgICAgbmFtZQogICAgICAgIH0sCiAgICAgICAgdmFsdWVzID0gewogICAgICAgICAgdmFsdWUKICAgICAgICB9CiAgICAgIH0pCiAgICBlbmQsCiAgICB0YWJsZSA9IGZ1bmN0aW9uKHRibCkKICAgICAgaWYgdGJsID09IG5pbCB0aGVuCiAgICAgICAgdGJsID0geyB9CiAgICAgIGVuZAogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjdGJsIGRvCiAgICAgICAgbG9jYWwgdHVwbGUgPSB0YmxbX2luZGV4XzBdCiAgICAgICAgaWYgdHlwZSh0dXBsZVsxXSkgPT0gInN0cmluZyIgdGhlbgogICAgICAgICAgdHVwbGVbMV0gPSB7CiAgICAgICAgICAgICJrZXlfbGl0ZXJhbCIsCiAgICAgICAgICAgIHR1cGxlWzFdCiAgICAgICAgICB9CiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgICByZXR1cm4gewogICAgICAgICJ0YWJsZSIsCiAgICAgICAgdGJsCiAgICAgIH0KICAgIGVuZCwKICAgIGJsb2NrX2V4cCA9IGZ1bmN0aW9uKGJvZHkpCiAgICAgIHJldHVybiB7CiAgICAgICAgImJsb2NrX2V4cCIsCiAgICAgICAgYm9keQogICAgICB9CiAgICBlbmQsCiAgICBjaGFpbiA9IGZ1bmN0aW9uKHBhcnRzKQogICAgICBsb2NhbCBiYXNlID0gcGFydHMuYmFzZSBvciBlcnJvcigiZXhwZWN0aW5nIGJhc2UgcHJvcGVydHkgZm9yIGNoYWluIikKICAgICAgaWYgdHlwZShiYXNlKSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgYmFzZSA9IHsKICAgICAgICAgICJyZWYiLAogICAgICAgICAgYmFzZQogICAgICAgIH0KICAgICAgZW5kCiAgICAgIGxvY2FsIG5vZGUgPSB7CiAgICAgICAgImNoYWluIiwKICAgICAgICBiYXNlCiAgICAgIH0KICAgICAgZm9yIF9pbmRleF8wID0gMSwgI3BhcnRzIGRvCiAgICAgICAgbG9jYWwgcGFydCA9IHBhcnRzW19pbmRleF8wXQogICAgICAgIGluc2VydChub2RlLCBwYXJ0KQogICAgICBlbmQKICAgICAgcmV0dXJuIG5vZGUKICAgIGVuZAogIH0sIHsKICAgIF9faW5kZXggPSBmdW5jdGlvbihzZWxmLCBuYW1lKQogICAgICBzZWxmW25hbWVdID0gbWFrZV9idWlsZGVyKG5hbWUpCiAgICAgIHJldHVybiByYXdnZXQoc2VsZiwgbmFtZSkKICAgIGVuZAogIH0pCiAgbG9jYWwgc21hcnRfbm9kZV9tdCA9IHNldG1ldGF0YWJsZSh7IH0sIHsKICAgIF9faW5kZXggPSBmdW5jdGlvbihzZWxmLCBub2RlX3R5cGUpCiAgICAgIGxvY2FsIGluZGV4ID0ga2V5X3RhYmxlW25vZGVfdHlwZV0KICAgICAgbG9jYWwgbXQgPSB7CiAgICAgICAgc21hcnRfbm9kZSA9IHRydWUsCiAgICAgICAgX19pbmRleCA9IGZ1bmN0aW9uKG5vZGUsIGtleSkKICAgICAgICAgIGlmIGluZGV4W2tleV0gdGhlbgogICAgICAgICAgICByZXR1cm4gcmF3Z2V0KG5vZGUsIGluZGV4W2tleV0pCiAgICAgICAgICBlbHNlaWYgdHlwZShrZXkpID09ICJzdHJpbmciIHRoZW4KICAgICAgICAgICAgcmV0dXJuIGVycm9yKCJ1bmtub3duIGtleTogYCIgLi4ga2V5IC4uICJgIG9uIG5vZGUgdHlwZTogYCIgLi4gbnR5cGUobm9kZSkgLi4gImAiKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kLAogICAgICAgIF9fbmV3aW5kZXggPSBmdW5jdGlvbihub2RlLCBrZXksIHZhbHVlKQogICAgICAgICAgaWYgaW5kZXhba2V5XSB0aGVuCiAgICAgICAgICAgIGtleSA9IGluZGV4W2tleV0KICAgICAgICAgIGVuZAogICAgICAgICAgcmV0dXJuIHJhd3NldChub2RlLCBrZXksIHZhbHVlKQogICAgICAgIGVuZAogICAgICB9CiAgICAgIHNlbGZbbm9kZV90eXBlXSA9IG10CiAgICAgIHJldHVybiBtdAogICAgZW5kCiAgfSkKICBsb2NhbCBzbWFydF9ub2RlCiAgc21hcnRfbm9kZSA9IGZ1bmN0aW9uKG5vZGUpCiAgICByZXR1cm4gc2V0bWV0YXRhYmxlKG5vZGUsIHNtYXJ0X25vZGVfbXRbbnR5cGUobm9kZSldKQogIGVuZAogIGxvY2FsIE5PT1AgPSB7CiAgICAibm9vcCIKICB9CiAgcmV0dXJuIHsKICAgIG50eXBlID0gbnR5cGUsCiAgICBzbWFydF9ub2RlID0gc21hcnRfbm9kZSwKICAgIGJ1aWxkID0gYnVpbGQsCiAgICBpc192YWx1ZSA9IGlzX3ZhbHVlLAogICAgaXNfc2xpY2UgPSBpc19zbGljZSwKICAgIG1hbnVhbF9yZXR1cm4gPSBtYW51YWxfcmV0dXJuLAogICAgY2FzY2FkaW5nID0gY2FzY2FkaW5nLAogICAgdmFsdWVfaXNfc2luZ3VsYXIgPSB2YWx1ZV9pc19zaW5ndWxhciwKICAgIHZhbHVlX2Nhbl9iZV9zdGF0ZW1lbnQgPSB2YWx1ZV9jYW5fYmVfc3RhdGVtZW50LAogICAgbXR5cGUgPSBtdHlwZSwKICAgIHRlcm1pbmF0aW5nID0gdGVybWluYXRpbmcsCiAgICBOT09QID0gTk9PUAogIH0KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5iYXNlJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgY29tcGlsZSA9IHJlcXVpcmUoIm1vb25zY3JpcHQuY29tcGlsZSIpCiAgbG9jYWwgcGFyc2UgPSByZXF1aXJlKCJtb29uc2NyaXB0LnBhcnNlIikKICBsb2NhbCBjb25jYXQsIGluc2VydCwgcmVtb3ZlCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHRhYmxlCiAgICBjb25jYXQsIGluc2VydCwgcmVtb3ZlID0gX29ial8wLmNvbmNhdCwgX29ial8wLmluc2VydCwgX29ial8wLnJlbW92ZQogIGVuZAogIGxvY2FsIHNwbGl0LCBkdW1wLCBnZXRfb3B0aW9ucywgdW5wYWNrCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgICBzcGxpdCwgZHVtcCwgZ2V0X29wdGlvbnMsIHVucGFjayA9IF9vYmpfMC5zcGxpdCwgX29ial8wLmR1bXAsIF9vYmpfMC5nZXRfb3B0aW9ucywgX29ial8wLnVucGFjawogIGVuZAogIGxvY2FsIGx1YSA9IHsKICAgIGxvYWRzdHJpbmcgPSBsb2Fkc3RyaW5nLAogICAgbG9hZCA9IGxvYWQKICB9CiAgbG9jYWwgZGlyc2VwLCBsaW5lX3RhYmxlcywgY3JlYXRlX21vb25wYXRoLCB0b19sdWEsIG1vb25fbG9hZGVyLCBsb2Fkc3RyaW5nLCBsb2FkZmlsZSwgZG9maWxlLCBpbnNlcnRfbG9hZGVyLCByZW1vdmVfbG9hZGVyCiAgZGlyc2VwID0gIi8iCiAgbGluZV90YWJsZXMgPSByZXF1aXJlKCJtb29uc2NyaXB0LmxpbmVfdGFibGVzIikKICBjcmVhdGVfbW9vbnBhdGggPSBmdW5jdGlvbihwYWNrYWdlX3BhdGgpCiAgICBsb2NhbCBtb29ucGF0aHMKICAgIGRvCiAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgbG9jYWwgX2xpc3RfMCA9IHNwbGl0KHBhY2thZ2VfcGF0aCwgIjsiKQogICAgICBmb3IgX2luZGV4XzAgPSAxLCAjX2xpc3RfMCBkbwogICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICByZXBlYXQKICAgICAgICAgIGxvY2FsIHBhdGggPSBfbGlzdF8wW19pbmRleF8wXQogICAgICAgICAgbG9jYWwgcHJlZml4ID0gcGF0aDptYXRjaCgiXiguLSklLmx1YSQiKQogICAgICAgICAgaWYgbm90IChwcmVmaXgpIHRoZW4KICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICBlbmQKICAgICAgICAgIGxvY2FsIF92YWx1ZV8wID0gcHJlZml4IC4uICIubW9vbiIKICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfdmFsdWVfMAogICAgICAgICAgX2xlbl8wID0gX2xlbl8wICsgMQogICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgdW50aWwgdHJ1ZQogICAgICAgIGlmIG5vdCBfY29udGludWVfMCB0aGVuCiAgICAgICAgICBicmVhawogICAgICAgIGVuZAogICAgICBlbmQKICAgICAgbW9vbnBhdGhzID0gX2FjY3VtXzAKICAgIGVuZAogICAgcmV0dXJuIGNvbmNhdChtb29ucGF0aHMsICI7IikKICBlbmQKICB0b19sdWEgPSBmdW5jdGlvbih0ZXh0LCBvcHRpb25zKQogICAgaWYgb3B0aW9ucyA9PSBuaWwgdGhlbgogICAgICBvcHRpb25zID0geyB9CiAgICBlbmQKICAgIGlmICJzdHJpbmciIH49IHR5cGUodGV4dCkgdGhlbgogICAgICBsb2NhbCB0ID0gdHlwZSh0ZXh0KQogICAgICByZXR1cm4gbmlsLCAiZXhwZWN0aW5nIHN0cmluZyAoZ290ICIgLi4gdCAuLiAiKSIKICAgIGVuZAogICAgbG9jYWwgdHJlZSwgZXJyID0gcGFyc2Uuc3RyaW5nKHRleHQpCiAgICBpZiBub3QgdHJlZSB0aGVuCiAgICAgIHJldHVybiBuaWwsIGVycgogICAgZW5kCiAgICBsb2NhbCBjb2RlLCBsdGFibGUsIHBvcyA9IGNvbXBpbGUudHJlZSh0cmVlLCBvcHRpb25zKQogICAgaWYgbm90IGNvZGUgdGhlbgogICAgICByZXR1cm4gbmlsLCBjb21waWxlLmZvcm1hdF9lcnJvcihsdGFibGUsIHBvcywgdGV4dCkKICAgIGVuZAogICAgcmV0dXJuIGNvZGUsIGx0YWJsZQogIGVuZAogIG1vb25fbG9hZGVyID0gZnVuY3Rpb24obmFtZSkKICAgIGxvY2FsIG5hbWVfcGF0aCA9IG5hbWU6Z3N1YigiJS4iLCBkaXJzZXApCiAgICBsb2NhbCBmaWxlLCBmaWxlX3BhdGgKICAgIGZvciBwYXRoIGluIHBhY2thZ2UubW9vbnBhdGg6Z21hdGNoKCJbXjtdKyIpIGRvCiAgICAgIGZpbGVfcGF0aCA9IHBhdGg6Z3N1YigiPyIsIG5hbWVfcGF0aCkKICAgICAgZmlsZSA9IGlvLm9wZW4oZmlsZV9wYXRoKQogICAgICBpZiBmaWxlIHRoZW4KICAgICAgICBicmVhawogICAgICBlbmQKICAgIGVuZAogICAgaWYgZmlsZSB0aGVuCiAgICAgIGxvY2FsIHRleHQgPSBmaWxlOnJlYWQoIiphIikKICAgICAgZmlsZTpjbG9zZSgpCiAgICAgIGxvY2FsIHJlcywgZXJyID0gbG9hZHN0cmluZyh0ZXh0LCAiQCIgLi4gdG9zdHJpbmcoZmlsZV9wYXRoKSkKICAgICAgaWYgbm90IHJlcyB0aGVuCiAgICAgICAgZXJyb3IoZmlsZV9wYXRoIC4uICI6ICIgLi4gZXJyKQogICAgICBlbmQKICAgICAgcmV0dXJuIHJlcwogICAgZW5kCiAgICByZXR1cm4gbmlsLCAiQ291bGQgbm90IGZpbmQgbW9vbiBmaWxlIgogIGVuZAogIGxvYWRzdHJpbmcgPSBmdW5jdGlvbiguLi4pCiAgICBsb2NhbCBvcHRpb25zLCBzdHIsIGNodW5rX25hbWUsIG1vZGUsIGVudiA9IGdldF9vcHRpb25zKC4uLikKICAgIGNodW5rX25hbWUgPSBjaHVua19uYW1lIG9yICI9KG1vb25zY3JpcHQubG9hZHN0cmluZykiCiAgICBsb2NhbCBjb2RlLCBsdGFibGVfb3JfZXJyID0gdG9fbHVhKHN0ciwgb3B0aW9ucykKICAgIGlmIG5vdCAoY29kZSkgdGhlbgogICAgICByZXR1cm4gbmlsLCBsdGFibGVfb3JfZXJyCiAgICBlbmQKICAgIGlmIGNodW5rX25hbWUgdGhlbgogICAgICBsaW5lX3RhYmxlc1tjaHVua19uYW1lXSA9IGx0YWJsZV9vcl9lcnIKICAgIGVuZAogICAgcmV0dXJuIChsdWEubG9hZHN0cmluZyBvciBsdWEubG9hZCkoY29kZSwgY2h1bmtfbmFtZSwgdW5wYWNrKHsKICAgICAgbW9kZSwKICAgICAgZW52CiAgICB9KSkKICBlbmQKICBsb2FkZmlsZSA9IGZ1bmN0aW9uKGZuYW1lLCAuLi4pCiAgICBsb2NhbCBmaWxlLCBlcnIgPSBpby5vcGVuKGZuYW1lKQogICAgaWYgbm90IChmaWxlKSB0aGVuCiAgICAgIHJldHVybiBuaWwsIGVycgogICAgZW5kCiAgICBsb2NhbCB0ZXh0ID0gYXNzZXJ0KGZpbGU6cmVhZCgiKmEiKSkKICAgIGZpbGU6Y2xvc2UoKQogICAgcmV0dXJuIGxvYWRzdHJpbmcodGV4dCwgIkAiIC4uIHRvc3RyaW5nKGZuYW1lKSwgLi4uKQogIGVuZAogIGRvZmlsZSA9IGZ1bmN0aW9uKC4uLikKICAgIGxvY2FsIGYgPSBhc3NlcnQobG9hZGZpbGUoLi4uKSkKICAgIHJldHVybiBmKCkKICBlbmQKICBpbnNlcnRfbG9hZGVyID0gZnVuY3Rpb24ocG9zKQogICAgaWYgcG9zID09IG5pbCB0aGVuCiAgICAgIHBvcyA9IDIKICAgIGVuZAogICAgaWYgbm90IHBhY2thZ2UubW9vbnBhdGggdGhlbgogICAgICBwYWNrYWdlLm1vb25wYXRoID0gY3JlYXRlX21vb25wYXRoKHBhY2thZ2UucGF0aCkKICAgIGVuZAogICAgbG9jYWwgbG9hZGVycyA9IHBhY2thZ2UubG9hZGVycyBvciBwYWNrYWdlLnNlYXJjaGVycwogICAgZm9yIF9pbmRleF8wID0gMSwgI2xvYWRlcnMgZG8KICAgICAgbG9jYWwgbG9hZGVyID0gbG9hZGVyc1tfaW5kZXhfMF0KICAgICAgaWYgbG9hZGVyID09IG1vb25fbG9hZGVyIHRoZW4KICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgZW5kCiAgICBlbmQKICAgIGluc2VydChsb2FkZXJzLCBwb3MsIG1vb25fbG9hZGVyKQogICAgcmV0dXJuIHRydWUKICBlbmQKICByZW1vdmVfbG9hZGVyID0gZnVuY3Rpb24oKQogICAgbG9jYWwgbG9hZGVycyA9IHBhY2thZ2UubG9hZGVycyBvciBwYWNrYWdlLnNlYXJjaGVycwogICAgZm9yIGksIGxvYWRlciBpbiBpcGFpcnMobG9hZGVycykgZG8KICAgICAgaWYgbG9hZGVyID09IG1vb25fbG9hZGVyIHRoZW4KICAgICAgICByZW1vdmUobG9hZGVycywgaSkKICAgICAgICByZXR1cm4gdHJ1ZQogICAgICBlbmQKICAgIGVuZAogICAgcmV0dXJuIGZhbHNlCiAgZW5kCiAgcmV0dXJuIHsKICAgIF9OQU1FID0gIm1vb25zY3JpcHQiLAogICAgaW5zZXJ0X2xvYWRlciA9IGluc2VydF9sb2FkZXIsCiAgICByZW1vdmVfbG9hZGVyID0gcmVtb3ZlX2xvYWRlciwKICAgIHRvX2x1YSA9IHRvX2x1YSwKICAgIG1vb25fbG9hZGVyID0gbW9vbl9sb2FkZXIsCiAgICBkaXJzZXAgPSBkaXJzZXAsCiAgICBkb2ZpbGUgPSBkb2ZpbGUsCiAgICBsb2FkZmlsZSA9IGxvYWRmaWxlLAogICAgbG9hZHN0cmluZyA9IGxvYWRzdHJpbmcsCiAgICBjcmVhdGVfbW9vbnBhdGggPSBjcmVhdGVfbW9vbnBhdGgKICB9CiAgCmVuZApwYWNrYWdlLnByZWxvYWRbJ21vb25zY3JpcHQnXSA9IGZ1bmN0aW9uKCkKICBkbwogICAgbG9jYWwgX3dpdGhfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQuYmFzZSIpCiAgICBfd2l0aF8wLmluc2VydF9sb2FkZXIoKQogICAgcmV0dXJuIF93aXRoXzAKICBlbmQKICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbnNjcmlwdC5jb21waWxlJ10gPSBmdW5jdGlvbigpCiAgbG9jYWwgdXRpbCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgbG9jYWwgZHVtcCA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZHVtcCIpCiAgbG9jYWwgdHJhbnNmb3JtID0gcmVxdWlyZSgibW9vbnNjcmlwdC50cmFuc2Zvcm0iKQogIGxvY2FsIE5hbWVQcm94eSwgTG9jYWxOYW1lCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHJhbnNmb3JtLm5hbWVzIikKICAgIE5hbWVQcm94eSwgTG9jYWxOYW1lID0gX29ial8wLk5hbWVQcm94eSwgX29ial8wLkxvY2FsTmFtZQogIGVuZAogIGxvY2FsIFNldAogIFNldCA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZGF0YSIpLlNldAogIGxvY2FsIG50eXBlLCB2YWx1ZV9jYW5fYmVfc3RhdGVtZW50CiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudHlwZXMiKQogICAgbnR5cGUsIHZhbHVlX2Nhbl9iZV9zdGF0ZW1lbnQgPSBfb2JqXzAubnR5cGUsIF9vYmpfMC52YWx1ZV9jYW5fYmVfc3RhdGVtZW50CiAgZW5kCiAgbG9jYWwgc3RhdGVtZW50X2NvbXBpbGVycyA9IHJlcXVpcmUoIm1vb25zY3JpcHQuY29tcGlsZS5zdGF0ZW1lbnQiKQogIGxvY2FsIHZhbHVlX2NvbXBpbGVycyA9IHJlcXVpcmUoIm1vb25zY3JpcHQuY29tcGlsZS52YWx1ZSIpCiAgbG9jYWwgY29uY2F0LCBpbnNlcnQKICBkbwogICAgbG9jYWwgX29ial8wID0gdGFibGUKICAgIGNvbmNhdCwgaW5zZXJ0ID0gX29ial8wLmNvbmNhdCwgX29ial8wLmluc2VydAogIGVuZAogIGxvY2FsIHBvc190b19saW5lLCBnZXRfY2xvc2VzdF9saW5lLCB0cmltLCB1bnBhY2sKICBwb3NfdG9fbGluZSwgZ2V0X2Nsb3Nlc3RfbGluZSwgdHJpbSwgdW5wYWNrID0gdXRpbC5wb3NfdG9fbGluZSwgdXRpbC5nZXRfY2xvc2VzdF9saW5lLCB1dGlsLnRyaW0sIHV0aWwudW5wYWNrCiAgbG9jYWwgbXR5cGUgPSB1dGlsLm1vb24udHlwZQogIGxvY2FsIGluZGVudF9jaGFyID0gIiAgIgogIGxvY2FsIExpbmUsIERlbGF5ZWRMaW5lLCBMaW5lcywgQmxvY2ssIFJvb3RCbG9jawogIGRvCiAgICBsb2NhbCBfY2xhc3NfMAogICAgbG9jYWwgX2Jhc2VfMCA9IHsKICAgICAgbWFya19wb3MgPSBmdW5jdGlvbihzZWxmLCBwb3MsIGxpbmUpCiAgICAgICAgaWYgbGluZSA9PSBuaWwgdGhlbgogICAgICAgICAgbGluZSA9ICNzZWxmCiAgICAgICAgZW5kCiAgICAgICAgaWYgbm90IChzZWxmLnBvc21hcFtsaW5lXSkgdGhlbgogICAgICAgICAgc2VsZi5wb3NtYXBbbGluZV0gPSBwb3MKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBhZGQgPSBmdW5jdGlvbihzZWxmLCBpdGVtKQogICAgICAgIGxvY2FsIF9leHBfMCA9IG10eXBlKGl0ZW0pCiAgICAgICAgaWYgTGluZSA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgaXRlbTpyZW5kZXIoc2VsZikKICAgICAgICBlbHNlaWYgQmxvY2sgPT0gX2V4cF8wIHRoZW4KICAgICAgICAgIGl0ZW06cmVuZGVyKHNlbGYpCiAgICAgICAgZWxzZQogICAgICAgICAgc2VsZlsjc2VsZiArIDFdID0gaXRlbQogICAgICAgIGVuZAogICAgICAgIHJldHVybiBzZWxmCiAgICAgIGVuZCwKICAgICAgZmxhdHRlbl9wb3NtYXAgPSBmdW5jdGlvbihzZWxmLCBsaW5lX25vLCBvdXQpCiAgICAgICAgaWYgbGluZV9ubyA9PSBuaWwgdGhlbgogICAgICAgICAgbGluZV9ubyA9IDAKICAgICAgICBlbmQKICAgICAgICBpZiBvdXQgPT0gbmlsIHRoZW4KICAgICAgICAgIG91dCA9IHsgfQogICAgICAgIGVuZAogICAgICAgIGxvY2FsIHBvc21hcCA9IHNlbGYucG9zbWFwCiAgICAgICAgZm9yIGksIGwgaW4gaXBhaXJzKHNlbGYpIGRvCiAgICAgICAgICBsb2NhbCBfZXhwXzAgPSBtdHlwZShsKQogICAgICAgICAgaWYgInN0cmluZyIgPT0gX2V4cF8wIG9yIERlbGF5ZWRMaW5lID09IF9leHBfMCB0aGVuCiAgICAgICAgICAgIGxpbmVfbm8gPSBsaW5lX25vICsgMQogICAgICAgICAgICBvdXRbbGluZV9ub10gPSBwb3NtYXBbaV0KICAgICAgICAgICAgZm9yIF8gaW4gbDpnbWF0Y2goIlxuIikgZG8KICAgICAgICAgICAgICBsaW5lX25vID0gbGluZV9ubyArIDEKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIG91dFtsaW5lX25vXSA9IHBvc21hcFtpXQogICAgICAgICAgZWxzZWlmIExpbmVzID09IF9leHBfMCB0aGVuCiAgICAgICAgICAgIGxvY2FsIF8KICAgICAgICAgICAgXywgbGluZV9ubyA9IGw6ZmxhdHRlbl9wb3NtYXAobGluZV9ubywgb3V0KQogICAgICAgICAgZWxzZQogICAgICAgICAgICBlcnJvcigiVW5rbm93biBpdGVtIGluIExpbmVzOiAiIC4uIHRvc3RyaW5nKGwpKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIG91dCwgbGluZV9ubwogICAgICBlbmQsCiAgICAgIGZsYXR0ZW4gPSBmdW5jdGlvbihzZWxmLCBpbmRlbnQsIGJ1ZmZlcikKICAgICAgICBpZiBpbmRlbnQgPT0gbmlsIHRoZW4KICAgICAgICAgIGluZGVudCA9IG5pbAogICAgICAgIGVuZAogICAgICAgIGlmIGJ1ZmZlciA9PSBuaWwgdGhlbgogICAgICAgICAgYnVmZmVyID0geyB9CiAgICAgICAgZW5kCiAgICAgICAgZm9yIGkgPSAxLCAjc2VsZiBkbwogICAgICAgICAgbG9jYWwgbCA9IHNlbGZbaV0KICAgICAgICAgIGxvY2FsIHQgPSBtdHlwZShsKQogICAgICAgICAgaWYgdCA9PSBEZWxheWVkTGluZSB0aGVuCiAgICAgICAgICAgIGwgPSBsOnJlbmRlcigpCiAgICAgICAgICAgIHQgPSAic3RyaW5nIgogICAgICAgICAgZW5kCiAgICAgICAgICBsb2NhbCBfZXhwXzAgPSB0CiAgICAgICAgICBpZiAic3RyaW5nIiA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgICBpZiBpbmRlbnQgdGhlbgogICAgICAgICAgICAgIGluc2VydChidWZmZXIsIGluZGVudCkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGluc2VydChidWZmZXIsIGwpCiAgICAgICAgICAgIGlmICJzdHJpbmciID09IHR5cGUoc2VsZltpICsgMV0pIHRoZW4KICAgICAgICAgICAgICBsb2NhbCBsYyA9IGw6c3ViKC0xKQogICAgICAgICAgICAgIGlmIChsYyA9PSAiKSIgb3IgbGMgPT0gIl0iKSBhbmQgc2VsZltpICsgMV06c3ViKDEsIDEpID09ICIoIiB0aGVuCiAgICAgICAgICAgICAgICBpbnNlcnQoYnVmZmVyLCAiOyIpCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBpbnNlcnQoYnVmZmVyLCAiXG4iKQogICAgICAgICAgZWxzZWlmIExpbmVzID09IF9leHBfMCB0aGVuCiAgICAgICAgICAgIGw6ZmxhdHRlbihpbmRlbnQgYW5kIGluZGVudCAuLiBpbmRlbnRfY2hhciBvciBpbmRlbnRfY2hhciwgYnVmZmVyKQogICAgICAgICAgZWxzZQogICAgICAgICAgICBlcnJvcigiVW5rbm93biBpdGVtIGluIExpbmVzOiAiIC4uIHRvc3RyaW5nKGwpKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIGJ1ZmZlcgogICAgICBlbmQsCiAgICAgIF9fdG9zdHJpbmcgPSBmdW5jdGlvbihzZWxmKQogICAgICAgIGxvY2FsIHN0cmlwCiAgICAgICAgc3RyaXAgPSBmdW5jdGlvbih0KQogICAgICAgICAgaWYgInRhYmxlIiA9PSB0eXBlKHQpIHRoZW4KICAgICAgICAgICAgbG9jYWwgX2FjY3VtXzAgPSB7IH0KICAgICAgICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjdCBkbwogICAgICAgICAgICAgIGxvY2FsIHYgPSB0W19pbmRleF8wXQogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBzdHJpcCh2KQogICAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHJldHVybiBfYWNjdW1fMAogICAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gdAogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuICJMaW5lczwiIC4uIHRvc3RyaW5nKHV0aWwuZHVtcChzdHJpcChzZWxmKSk6c3ViKDEsIC0yKSkgLi4gIj4iCiAgICAgIGVuZAogICAgfQogICAgX2Jhc2VfMC5fX2luZGV4ID0gX2Jhc2VfMAogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmKQogICAgICAgIHNlbGYucG9zbWFwID0geyB9CiAgICAgIGVuZCwKICAgICAgX19iYXNlID0gX2Jhc2VfMCwKICAgICAgX19uYW1lID0gIkxpbmVzIgogICAgfSwgewogICAgICBfX2luZGV4ID0gX2Jhc2VfMCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgTGluZXMgPSBfY2xhc3NfMAogIGVuZAogIGRvCiAgICBsb2NhbCBfY2xhc3NfMAogICAgbG9jYWwgX2Jhc2VfMCA9IHsKICAgICAgcG9zID0gbmlsLAogICAgICBhcHBlbmRfbGlzdCA9IGZ1bmN0aW9uKHNlbGYsIGl0ZW1zLCBkZWxpbSkKICAgICAgICBmb3IgaSA9IDEsICNpdGVtcyBkbwogICAgICAgICAgc2VsZjphcHBlbmQoaXRlbXNbaV0pCiAgICAgICAgICBpZiBpIDwgI2l0ZW1zIHRoZW4KICAgICAgICAgICAgaW5zZXJ0KHNlbGYsIGRlbGltKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIG5pbAogICAgICBlbmQsCiAgICAgIGFwcGVuZCA9IGZ1bmN0aW9uKHNlbGYsIGZpcnN0LCAuLi4pCiAgICAgICAgaWYgTGluZSA9PSBtdHlwZShmaXJzdCkgdGhlbgogICAgICAgICAgaWYgbm90IChzZWxmLnBvcykgdGhlbgogICAgICAgICAgICBzZWxmLnBvcyA9IGZpcnN0LnBvcwogICAgICAgICAgZW5kCiAgICAgICAgICBmb3IgX2luZGV4XzAgPSAxLCAjZmlyc3QgZG8KICAgICAgICAgICAgbG9jYWwgdmFsdWUgPSBmaXJzdFtfaW5kZXhfMF0KICAgICAgICAgICAgc2VsZjphcHBlbmQodmFsdWUpCiAgICAgICAgICBlbmQKICAgICAgICBlbHNlCiAgICAgICAgICBpbnNlcnQoc2VsZiwgZmlyc3QpCiAgICAgICAgZW5kCiAgICAgICAgaWYgLi4uIHRoZW4KICAgICAgICAgIHJldHVybiBzZWxmOmFwcGVuZCguLi4pCiAgICAgICAgZW5kCiAgICAgIGVuZCwKICAgICAgcmVuZGVyID0gZnVuY3Rpb24oc2VsZiwgYnVmZmVyKQogICAgICAgIGxvY2FsIGN1cnJlbnQgPSB7IH0KICAgICAgICBsb2NhbCBhZGRfY3VycmVudAogICAgICAgIGFkZF9jdXJyZW50ID0gZnVuY3Rpb24oKQogICAgICAgICAgYnVmZmVyOmFkZChjb25jYXQoY3VycmVudCkpCiAgICAgICAgICByZXR1cm4gYnVmZmVyOm1hcmtfcG9zKHNlbGYucG9zKQogICAgICAgIGVuZAogICAgICAgIGZvciBfaW5kZXhfMCA9IDEsICNzZWxmIGRvCiAgICAgICAgICBsb2NhbCBjaHVuayA9IHNlbGZbX2luZGV4XzBdCiAgICAgICAgICBsb2NhbCBfZXhwXzAgPSBtdHlwZShjaHVuaykKICAgICAgICAgIGlmIEJsb2NrID09IF9leHBfMCB0aGVuCiAgICAgICAgICAgIGxvY2FsIF9saXN0XzAgPSBjaHVuazpyZW5kZXIoTGluZXMoKSkKICAgICAgICAgICAgZm9yIF9pbmRleF8xID0gMSwgI19saXN0XzAgZG8KICAgICAgICAgICAgICBsb2NhbCBibG9ja19jaHVuayA9IF9saXN0XzBbX2luZGV4XzFdCiAgICAgICAgICAgICAgaWYgInN0cmluZyIgPT0gdHlwZShibG9ja19jaHVuaykgdGhlbgogICAgICAgICAgICAgICAgaW5zZXJ0KGN1cnJlbnQsIGJsb2NrX2NodW5rKQogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGFkZF9jdXJyZW50KCkKICAgICAgICAgICAgICAgIGJ1ZmZlcjphZGQoYmxvY2tfY2h1bmspCiAgICAgICAgICAgICAgICBjdXJyZW50ID0geyB9CiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgICAgZWxzZQogICAgICAgICAgICBpbnNlcnQoY3VycmVudCwgY2h1bmspCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBpZiBjdXJyZW50WzFdIHRoZW4KICAgICAgICAgIGFkZF9jdXJyZW50KCkKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gYnVmZmVyCiAgICAgIGVuZCwKICAgICAgX190b3N0cmluZyA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuICJMaW5lPCIgLi4gdG9zdHJpbmcodXRpbC5kdW1wKHNlbGYpOnN1YigxLCAtMikpIC4uICI+IgogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oKSBlbmQsCiAgICAgIF9fYmFzZSA9IF9iYXNlXzAsCiAgICAgIF9fbmFtZSA9ICJMaW5lIgogICAgfSwgewogICAgICBfX2luZGV4ID0gX2Jhc2VfMCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgTGluZSA9IF9jbGFzc18wCiAgZW5kCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfYmFzZV8wID0gewogICAgICBwcmVwYXJlID0gZnVuY3Rpb24oKSBlbmQsCiAgICAgIHJlbmRlciA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgc2VsZjpwcmVwYXJlKCkKICAgICAgICByZXR1cm4gY29uY2F0KHNlbGYpCiAgICAgIGVuZAogICAgfQogICAgX2Jhc2VfMC5fX2luZGV4ID0gX2Jhc2VfMAogICAgX2NsYXNzXzAgPSBzZXRtZXRhdGFibGUoewogICAgICBfX2luaXQgPSBmdW5jdGlvbihzZWxmLCBmbikKICAgICAgICBzZWxmLnByZXBhcmUgPSBmbgogICAgICBlbmQsCiAgICAgIF9fYmFzZSA9IF9iYXNlXzAsCiAgICAgIF9fbmFtZSA9ICJEZWxheWVkTGluZSIKICAgIH0sIHsKICAgICAgX19pbmRleCA9IF9iYXNlXzAsCiAgICAgIF9fY2FsbCA9IGZ1bmN0aW9uKGNscywgLi4uKQogICAgICAgIGxvY2FsIF9zZWxmXzAgPSBzZXRtZXRhdGFibGUoe30sIF9iYXNlXzApCiAgICAgICAgY2xzLl9faW5pdChfc2VsZl8wLCAuLi4pCiAgICAgICAgcmV0dXJuIF9zZWxmXzAKICAgICAgZW5kCiAgICB9KQogICAgX2Jhc2VfMC5fX2NsYXNzID0gX2NsYXNzXzAKICAgIERlbGF5ZWRMaW5lID0gX2NsYXNzXzAKICBlbmQKICBkbwogICAgbG9jYWwgX2NsYXNzXzAKICAgIGxvY2FsIF9iYXNlXzAgPSB7CiAgICAgIGhlYWRlciA9ICJkbyIsCiAgICAgIGZvb3RlciA9ICJlbmQiLAogICAgICBleHBvcnRfYWxsID0gZmFsc2UsCiAgICAgIGV4cG9ydF9wcm9wZXIgPSBmYWxzZSwKICAgICAgdmFsdWVfY29tcGlsZXJzID0gdmFsdWVfY29tcGlsZXJzLAogICAgICBzdGF0ZW1lbnRfY29tcGlsZXJzID0gc3RhdGVtZW50X2NvbXBpbGVycywKICAgICAgX190b3N0cmluZyA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgbG9jYWwgaAogICAgICAgIGlmICJzdHJpbmciID09IHR5cGUoc2VsZi5oZWFkZXIpIHRoZW4KICAgICAgICAgIGggPSBzZWxmLmhlYWRlcgogICAgICAgIGVsc2UKICAgICAgICAgIGggPSB1bnBhY2soc2VsZi5oZWFkZXI6cmVuZGVyKHsgfSkpCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuICJCbG9jazwiIC4uIHRvc3RyaW5nKGgpIC4uICI+IDwtICIgLi4gdG9zdHJpbmcoc2VsZi5wYXJlbnQpCiAgICAgIGVuZCwKICAgICAgc2V0ID0gZnVuY3Rpb24oc2VsZiwgbmFtZSwgdmFsdWUpCiAgICAgICAgc2VsZi5fc3RhdGVbbmFtZV0gPSB2YWx1ZQogICAgICBlbmQsCiAgICAgIGdldCA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUpCiAgICAgICAgcmV0dXJuIHNlbGYuX3N0YXRlW25hbWVdCiAgICAgIGVuZCwKICAgICAgZ2V0X2N1cnJlbnQgPSBmdW5jdGlvbihzZWxmLCBuYW1lKQogICAgICAgIHJldHVybiByYXdnZXQoc2VsZi5fc3RhdGUsIG5hbWUpCiAgICAgIGVuZCwKICAgICAgbGlzdGVuID0gZnVuY3Rpb24oc2VsZiwgbmFtZSwgZm4pCiAgICAgICAgc2VsZi5fbGlzdGVuZXJzW25hbWVdID0gZm4KICAgICAgZW5kLAogICAgICB1bmxpc3RlbiA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUpCiAgICAgICAgc2VsZi5fbGlzdGVuZXJzW25hbWVdID0gbmlsCiAgICAgIGVuZCwKICAgICAgc2VuZCA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUsIC4uLikKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgZm4gPSBzZWxmLl9saXN0ZW5lcnNbbmFtZV0KICAgICAgICAgIGlmIGZuIHRoZW4KICAgICAgICAgICAgcmV0dXJuIGZuKHNlbGYsIC4uLikKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICBlbmQsCiAgICAgIGV4dHJhY3RfYXNzaWduX25hbWUgPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICAgIGxvY2FsIGlzX2xvY2FsID0gZmFsc2UKICAgICAgICBsb2NhbCByZWFsX25hbWUKICAgICAgICBsb2NhbCBfZXhwXzAgPSBtdHlwZShub2RlKQogICAgICAgIGlmIExvY2FsTmFtZSA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgaXNfbG9jYWwgPSB0cnVlCiAgICAgICAgICByZWFsX25hbWUgPSBub2RlOmdldF9uYW1lKHNlbGYpCiAgICAgICAgZWxzZWlmIE5hbWVQcm94eSA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgcmVhbF9uYW1lID0gbm9kZTpnZXRfbmFtZShzZWxmKQogICAgICAgIGVsc2VpZiAidGFibGUiID09IF9leHBfMCB0aGVuCiAgICAgICAgICByZWFsX25hbWUgPSBub2RlWzFdID09ICJyZWYiIGFuZCBub2RlWzJdCiAgICAgICAgZWxzZWlmICJzdHJpbmciID09IF9leHBfMCB0aGVuCiAgICAgICAgICByZWFsX25hbWUgPSBub2RlCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIHJlYWxfbmFtZSwgaXNfbG9jYWwKICAgICAgZW5kLAogICAgICBkZWNsYXJlID0gZnVuY3Rpb24oc2VsZiwgbmFtZXMpCiAgICAgICAgbG9jYWwgdW5kZWNsYXJlZAogICAgICAgIGRvCiAgICAgICAgICBsb2NhbCBfYWNjdW1fMCA9IHsgfQogICAgICAgICAgbG9jYWwgX2xlbl8wID0gMQogICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI25hbWVzIGRvCiAgICAgICAgICAgIGxvY2FsIF9jb250aW51ZV8wID0gZmFsc2UKICAgICAgICAgICAgcmVwZWF0CiAgICAgICAgICAgICAgbG9jYWwgbmFtZSA9IG5hbWVzW19pbmRleF8wXQogICAgICAgICAgICAgIGxvY2FsIHJlYWxfbmFtZSwgaXNfbG9jYWwgPSBzZWxmOmV4dHJhY3RfYXNzaWduX25hbWUobmFtZSkKICAgICAgICAgICAgICBpZiBub3QgKGlzX2xvY2FsIG9yIHJlYWxfbmFtZSBhbmQgbm90IHNlbGY6aGFzX25hbWUocmVhbF9uYW1lLCB0cnVlKSkgdGhlbgogICAgICAgICAgICAgICAgX2NvbnRpbnVlXzAgPSB0cnVlCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgIHNlbGY6cHV0X25hbWUocmVhbF9uYW1lKQogICAgICAgICAgICAgIGlmIHNlbGY6bmFtZV9leHBvcnRlZChyZWFsX25hbWUpIHRoZW4KICAgICAgICAgICAgICAgIF9jb250aW51ZV8wID0gdHJ1ZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICBsb2NhbCBfdmFsdWVfMCA9IHJlYWxfbmFtZQogICAgICAgICAgICAgIF9hY2N1bV8wW19sZW5fMF0gPSBfdmFsdWVfMAogICAgICAgICAgICAgIF9sZW5fMCA9IF9sZW5fMCArIDEKICAgICAgICAgICAgICBfY29udGludWVfMCA9IHRydWUKICAgICAgICAgICAgdW50aWwgdHJ1ZQogICAgICAgICAgICBpZiBub3QgX2NvbnRpbnVlXzAgdGhlbgogICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgICB1bmRlY2xhcmVkID0gX2FjY3VtXzAKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gdW5kZWNsYXJlZAogICAgICBlbmQsCiAgICAgIHdoaXRlbGlzdF9uYW1lcyA9IGZ1bmN0aW9uKHNlbGYsIG5hbWVzKQogICAgICAgIHNlbGYuX25hbWVfd2hpdGVsaXN0ID0gU2V0KG5hbWVzKQogICAgICBlbmQsCiAgICAgIG5hbWVfZXhwb3J0ZWQgPSBmdW5jdGlvbihzZWxmLCBuYW1lKQogICAgICAgIGlmIHNlbGYuZXhwb3J0X2FsbCB0aGVuCiAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHNlbGYuZXhwb3J0X3Byb3BlciBhbmQgbmFtZTptYXRjaCgiXiV1IikgdGhlbgogICAgICAgICAgcmV0dXJuIHRydWUKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBwdXRfbmFtZSA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUsIC4uLikKICAgICAgICBsb2NhbCB2YWx1ZSA9IC4uLgogICAgICAgIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMCB0aGVuCiAgICAgICAgICB2YWx1ZSA9IHRydWUKICAgICAgICBlbmQKICAgICAgICBpZiBOYW1lUHJveHkgPT0gbXR5cGUobmFtZSkgdGhlbgogICAgICAgICAgbmFtZSA9IG5hbWU6Z2V0X25hbWUoc2VsZikKICAgICAgICBlbmQKICAgICAgICBzZWxmLl9uYW1lc1tuYW1lXSA9IHZhbHVlCiAgICAgIGVuZCwKICAgICAgaGFzX25hbWUgPSBmdW5jdGlvbihzZWxmLCBuYW1lLCBza2lwX2V4cG9ydHMpCiAgICAgICAgaWYgbm90IHNraXBfZXhwb3J0cyBhbmQgc2VsZjpuYW1lX2V4cG9ydGVkKG5hbWUpIHRoZW4KICAgICAgICAgIHJldHVybiB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgeWVzID0gc2VsZi5fbmFtZXNbbmFtZV0KICAgICAgICBpZiB5ZXMgPT0gbmlsIGFuZCBzZWxmLnBhcmVudCB0aGVuCiAgICAgICAgICBpZiBub3Qgc2VsZi5fbmFtZV93aGl0ZWxpc3Qgb3Igc2VsZi5fbmFtZV93aGl0ZWxpc3RbbmFtZV0gdGhlbgogICAgICAgICAgICByZXR1cm4gc2VsZi5wYXJlbnQ6aGFzX25hbWUobmFtZSwgdHJ1ZSkKICAgICAgICAgIGVuZAogICAgICAgIGVsc2UKICAgICAgICAgIHJldHVybiB5ZXMKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBpc19sb2NhbCA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUpCiAgICAgICAgbG9jYWwgdCA9IG10eXBlKG5vZGUpCiAgICAgICAgaWYgdCA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgICByZXR1cm4gc2VsZjpoYXNfbmFtZShub2RlLCBmYWxzZSkKICAgICAgICBlbmQKICAgICAgICBpZiB0ID09IE5hbWVQcm94eSBvciB0ID09IExvY2FsTmFtZSB0aGVuCiAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHQgPT0gInRhYmxlIiB0aGVuCiAgICAgICAgICBpZiBub2RlWzFdID09ICJyZWYiIG9yIChub2RlWzFdID09ICJjaGFpbiIgYW5kICNub2RlID09IDIpIHRoZW4KICAgICAgICAgICAgcmV0dXJuIHNlbGY6aXNfbG9jYWwobm9kZVsyXSkKICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICAgIHJldHVybiBmYWxzZQogICAgICBlbmQsCiAgICAgIGZyZWVfbmFtZSA9IGZ1bmN0aW9uKHNlbGYsIHByZWZpeCwgZG9udF9wdXQpCiAgICAgICAgcHJlZml4ID0gcHJlZml4IG9yICJtb29uIgogICAgICAgIGxvY2FsIHNlYXJjaGluZyA9IHRydWUKICAgICAgICBsb2NhbCBuYW1lLCBpID0gbmlsLCAwCiAgICAgICAgd2hpbGUgc2VhcmNoaW5nIGRvCiAgICAgICAgICBuYW1lID0gY29uY2F0KHsKICAgICAgICAgICAgIiIsCiAgICAgICAgICAgIHByZWZpeCwKICAgICAgICAgICAgaQogICAgICAgICAgfSwgIl8iKQogICAgICAgICAgaSA9IGkgKyAxCiAgICAgICAgICBzZWFyY2hpbmcgPSBzZWxmOmhhc19uYW1lKG5hbWUsIHRydWUpCiAgICAgICAgZW5kCiAgICAgICAgaWYgbm90IGRvbnRfcHV0IHRoZW4KICAgICAgICAgIHNlbGY6cHV0X25hbWUobmFtZSkKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gbmFtZQogICAgICBlbmQsCiAgICAgIGluaXRfZnJlZV92YXIgPSBmdW5jdGlvbihzZWxmLCBwcmVmaXgsIHZhbHVlKQogICAgICAgIGxvY2FsIG5hbWUgPSBzZWxmOmZyZWVfbmFtZShwcmVmaXgsIHRydWUpCiAgICAgICAgc2VsZjpzdG0oewogICAgICAgICAgImFzc2lnbiIsCiAgICAgICAgICB7CiAgICAgICAgICAgIG5hbWUKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgIHZhbHVlCiAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICByZXR1cm4gbmFtZQogICAgICBlbmQsCiAgICAgIGFkZCA9IGZ1bmN0aW9uKHNlbGYsIGl0ZW0sIHBvcykKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX3dpdGhfMCA9IHNlbGYuX2xpbmVzCiAgICAgICAgICBfd2l0aF8wOmFkZChpdGVtKQogICAgICAgICAgaWYgcG9zIHRoZW4KICAgICAgICAgICAgX3dpdGhfMDptYXJrX3Bvcyhwb3MpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gaXRlbQogICAgICBlbmQsCiAgICAgIHJlbmRlciA9IGZ1bmN0aW9uKHNlbGYsIGJ1ZmZlcikKICAgICAgICBidWZmZXI6YWRkKHNlbGYuaGVhZGVyKQogICAgICAgIGJ1ZmZlcjptYXJrX3BvcyhzZWxmLnBvcykKICAgICAgICBpZiBzZWxmLm5leHQgdGhlbgogICAgICAgICAgYnVmZmVyOmFkZChzZWxmLl9saW5lcykKICAgICAgICAgIHNlbGYubmV4dDpyZW5kZXIoYnVmZmVyKQogICAgICAgIGVsc2UKICAgICAgICAgIGlmICNzZWxmLl9saW5lcyA9PSAwIGFuZCAic3RyaW5nIiA9PSB0eXBlKGJ1ZmZlclsjYnVmZmVyXSkgdGhlbgogICAgICAgICAgICBidWZmZXJbI2J1ZmZlcl0gPSBidWZmZXJbI2J1ZmZlcl0gLi4gKCIgIiAuLiAodW5wYWNrKExpbmVzKCk6YWRkKHNlbGYuZm9vdGVyKSkpKQogICAgICAgICAgZWxzZQogICAgICAgICAgICBidWZmZXI6YWRkKHNlbGYuX2xpbmVzKQogICAgICAgICAgICBidWZmZXI6YWRkKHNlbGYuZm9vdGVyKQogICAgICAgICAgICBidWZmZXI6bWFya19wb3Moc2VsZi5wb3MpCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gYnVmZmVyCiAgICAgIGVuZCwKICAgICAgYmxvY2sgPSBmdW5jdGlvbihzZWxmLCBoZWFkZXIsIGZvb3RlcikKICAgICAgICByZXR1cm4gQmxvY2soc2VsZiwgaGVhZGVyLCBmb290ZXIpCiAgICAgIGVuZCwKICAgICAgbGluZSA9IGZ1bmN0aW9uKHNlbGYsIC4uLikKICAgICAgICBkbwogICAgICAgICAgbG9jYWwgX3dpdGhfMCA9IExpbmUoKQogICAgICAgICAgX3dpdGhfMDphcHBlbmQoLi4uKQogICAgICAgICAgcmV0dXJuIF93aXRoXzAKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBpc19zdG0gPSBmdW5jdGlvbihzZWxmLCBub2RlKQogICAgICAgIHJldHVybiBzZWxmLnN0YXRlbWVudF9jb21waWxlcnNbbnR5cGUobm9kZSldIH49IG5pbAogICAgICBlbmQsCiAgICAgIGlzX3ZhbHVlID0gZnVuY3Rpb24oc2VsZiwgbm9kZSkKICAgICAgICBsb2NhbCB0ID0gbnR5cGUobm9kZSkKICAgICAgICByZXR1cm4gc2VsZi52YWx1ZV9jb21waWxlcnNbdF0gfj0gbmlsIG9yIHQgPT0gInZhbHVlIgogICAgICBlbmQsCiAgICAgIG5hbWUgPSBmdW5jdGlvbihzZWxmLCBub2RlLCAuLi4pCiAgICAgICAgaWYgdHlwZShub2RlKSA9PSAic3RyaW5nIiB0aGVuCiAgICAgICAgICByZXR1cm4gbm9kZQogICAgICAgIGVsc2UKICAgICAgICAgIHJldHVybiBzZWxmOnZhbHVlKG5vZGUsIC4uLikKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICB2YWx1ZSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUsIC4uLikKICAgICAgICBub2RlID0gc2VsZi50cmFuc2Zvcm0udmFsdWUobm9kZSkKICAgICAgICBsb2NhbCBhY3Rpb24KICAgICAgICBpZiB0eXBlKG5vZGUpIH49ICJ0YWJsZSIgdGhlbgogICAgICAgICAgYWN0aW9uID0gInJhd192YWx1ZSIKICAgICAgICBlbHNlCiAgICAgICAgICBhY3Rpb24gPSBub2RlWzFdCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgZm4gPSBzZWxmLnZhbHVlX2NvbXBpbGVyc1thY3Rpb25dCiAgICAgICAgaWYgbm90IChmbikgdGhlbgogICAgICAgICAgZXJyb3IoewogICAgICAgICAgICAiY29tcGlsZS1lcnJvciIsCiAgICAgICAgICAgICJGYWlsZWQgdG8gZmluZCB2YWx1ZSBjb21waWxlciBmb3I6ICIgLi4gZHVtcC52YWx1ZShub2RlKSwKICAgICAgICAgICAgbm9kZVstMV0KICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgb3V0ID0gZm4oc2VsZiwgbm9kZSwgLi4uKQogICAgICAgIGlmIHR5cGUobm9kZSkgPT0gInRhYmxlIiBhbmQgbm9kZVstMV0gdGhlbgogICAgICAgICAgaWYgdHlwZShvdXQpID09ICJzdHJpbmciIHRoZW4KICAgICAgICAgICAgZG8KICAgICAgICAgICAgICBsb2NhbCBfd2l0aF8wID0gTGluZSgpCiAgICAgICAgICAgICAgX3dpdGhfMDphcHBlbmQob3V0KQogICAgICAgICAgICAgIG91dCA9IF93aXRoXzAKICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICAgIG91dC5wb3MgPSBub2RlWy0xXQogICAgICAgIGVuZAogICAgICAgIHJldHVybiBvdXQKICAgICAgZW5kLAogICAgICB2YWx1ZXMgPSBmdW5jdGlvbihzZWxmLCB2YWx1ZXMsIGRlbGltKQogICAgICAgIGRlbGltID0gZGVsaW0gb3IgJywgJwogICAgICAgIGRvCiAgICAgICAgICBsb2NhbCBfd2l0aF8wID0gTGluZSgpCiAgICAgICAgICBfd2l0aF8wOmFwcGVuZF9saXN0KChmdW5jdGlvbigpCiAgICAgICAgICAgIGxvY2FsIF9hY2N1bV8wID0geyB9CiAgICAgICAgICAgIGxvY2FsIF9sZW5fMCA9IDEKICAgICAgICAgICAgZm9yIF9pbmRleF8wID0gMSwgI3ZhbHVlcyBkbwogICAgICAgICAgICAgIGxvY2FsIHYgPSB2YWx1ZXNbX2luZGV4XzBdCiAgICAgICAgICAgICAgX2FjY3VtXzBbX2xlbl8wXSA9IHNlbGY6dmFsdWUodikKICAgICAgICAgICAgICBfbGVuXzAgPSBfbGVuXzAgKyAxCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICByZXR1cm4gX2FjY3VtXzAKICAgICAgICAgIGVuZCkoKSwgZGVsaW0pCiAgICAgICAgICByZXR1cm4gX3dpdGhfMAogICAgICAgIGVuZAogICAgICBlbmQsCiAgICAgIHN0bSA9IGZ1bmN0aW9uKHNlbGYsIG5vZGUsIC4uLikKICAgICAgICBpZiBub3Qgbm9kZSB0aGVuCiAgICAgICAgICByZXR1cm4gCiAgICAgICAgZW5kCiAgICAgICAgbm9kZSA9IHNlbGYudHJhbnNmb3JtLnN0YXRlbWVudChub2RlKQogICAgICAgIGxvY2FsIHJlc3VsdAogICAgICAgIGRvCiAgICAgICAgICBsb2NhbCBmbiA9IHNlbGYuc3RhdGVtZW50X2NvbXBpbGVyc1tudHlwZShub2RlKV0KICAgICAgICAgIGlmIGZuIHRoZW4KICAgICAgICAgICAgcmVzdWx0ID0gZm4oc2VsZiwgbm9kZSwgLi4uKQogICAgICAgICAgZWxzZQogICAgICAgICAgICBpZiB2YWx1ZV9jYW5fYmVfc3RhdGVtZW50KG5vZGUpIHRoZW4KICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmOnZhbHVlKG5vZGUpCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmOnN0bSh7CiAgICAgICAgICAgICAgICAiYXNzaWduIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIl8iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICBub2RlCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgZW5kCiAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBpZiByZXN1bHQgdGhlbgogICAgICAgICAgaWYgdHlwZShub2RlKSA9PSAidGFibGUiIGFuZCB0eXBlKHJlc3VsdCkgPT0gInRhYmxlIiBhbmQgbm9kZVstMV0gdGhlbgogICAgICAgICAgICByZXN1bHQucG9zID0gbm9kZVstMV0KICAgICAgICAgIGVuZAogICAgICAgICAgc2VsZjphZGQocmVzdWx0KQogICAgICAgIGVuZAogICAgICAgIHJldHVybiBuaWwKICAgICAgZW5kLAogICAgICBzdG1zID0gZnVuY3Rpb24oc2VsZiwgc3RtcywgcmV0KQogICAgICAgIGlmIHJldCB0aGVuCiAgICAgICAgICBlcnJvcigiZGVwcmVjYXRlZCBzdG1zIGNhbGwsIHVzZSB0cmFuc2Zvcm1lciIpCiAgICAgICAgZW5kCiAgICAgICAgbG9jYWwgY3VycmVudF9zdG1zLCBjdXJyZW50X3N0bV9pCiAgICAgICAgY3VycmVudF9zdG1zLCBjdXJyZW50X3N0bV9pID0gc2VsZi5jdXJyZW50X3N0bXMsIHNlbGYuY3VycmVudF9zdG1faQogICAgICAgIHNlbGYuY3VycmVudF9zdG1zID0gc3RtcwogICAgICAgIGZvciBpID0gMSwgI3N0bXMgZG8KICAgICAgICAgIHNlbGYuY3VycmVudF9zdG1faSA9IGkKICAgICAgICAgIHNlbGY6c3RtKHN0bXNbaV0pCiAgICAgICAgZW5kCiAgICAgICAgc2VsZi5jdXJyZW50X3N0bXMgPSBjdXJyZW50X3N0bXMKICAgICAgICBzZWxmLmN1cnJlbnRfc3RtX2kgPSBjdXJyZW50X3N0bV9pCiAgICAgICAgcmV0dXJuIG5pbAogICAgICBlbmQsCiAgICAgIHNwbGljZSA9IGZ1bmN0aW9uKHNlbGYsIGZuKQogICAgICAgIGxvY2FsIGxpbmVzID0gewogICAgICAgICAgImxpbmVzIiwKICAgICAgICAgIHNlbGYuX2xpbmVzCiAgICAgICAgfQogICAgICAgIHNlbGYuX2xpbmVzID0gTGluZXMoKQogICAgICAgIHJldHVybiBzZWxmOnN0bXMoZm4obGluZXMpKQogICAgICBlbmQKICAgIH0KICAgIF9iYXNlXzAuX19pbmRleCA9IF9iYXNlXzAKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oc2VsZiwgcGFyZW50LCBoZWFkZXIsIGZvb3RlcikKICAgICAgICBzZWxmLnBhcmVudCwgc2VsZi5oZWFkZXIsIHNlbGYuZm9vdGVyID0gcGFyZW50LCBoZWFkZXIsIGZvb3RlcgogICAgICAgIHNlbGYuX2xpbmVzID0gTGluZXMoKQogICAgICAgIHNlbGYuX25hbWVzID0geyB9CiAgICAgICAgc2VsZi5fc3RhdGUgPSB7IH0KICAgICAgICBzZWxmLl9saXN0ZW5lcnMgPSB7IH0KICAgICAgICBkbwogICAgICAgICAgc2VsZi50cmFuc2Zvcm0gPSB7CiAgICAgICAgICAgIHZhbHVlID0gdHJhbnNmb3JtLlZhbHVlOmJpbmQoc2VsZiksCiAgICAgICAgICAgIHN0YXRlbWVudCA9IHRyYW5zZm9ybS5TdGF0ZW1lbnQ6YmluZChzZWxmKQogICAgICAgICAgfQogICAgICAgIGVuZAogICAgICAgIGlmIHNlbGYucGFyZW50IHRoZW4KICAgICAgICAgIHNlbGYucm9vdCA9IHNlbGYucGFyZW50LnJvb3QKICAgICAgICAgIHNlbGYuaW5kZW50ID0gc2VsZi5wYXJlbnQuaW5kZW50ICsgMQogICAgICAgICAgc2V0bWV0YXRhYmxlKHNlbGYuX3N0YXRlLCB7CiAgICAgICAgICAgIF9faW5kZXggPSBzZWxmLnBhcmVudC5fc3RhdGUKICAgICAgICAgIH0pCiAgICAgICAgICByZXR1cm4gc2V0bWV0YXRhYmxlKHNlbGYuX2xpc3RlbmVycywgewogICAgICAgICAgICBfX2luZGV4ID0gc2VsZi5wYXJlbnQuX2xpc3RlbmVycwogICAgICAgICAgfSkKICAgICAgICBlbHNlCiAgICAgICAgICBzZWxmLmluZGVudCA9IDAKICAgICAgICBlbmQKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiQmxvY2siCiAgICB9LCB7CiAgICAgIF9faW5kZXggPSBfYmFzZV8wLAogICAgICBfX2NhbGwgPSBmdW5jdGlvbihjbHMsIC4uLikKICAgICAgICBsb2NhbCBfc2VsZl8wID0gc2V0bWV0YXRhYmxlKHt9LCBfYmFzZV8wKQogICAgICAgIGNscy5fX2luaXQoX3NlbGZfMCwgLi4uKQogICAgICAgIHJldHVybiBfc2VsZl8wCiAgICAgIGVuZAogICAgfSkKICAgIF9iYXNlXzAuX19jbGFzcyA9IF9jbGFzc18wCiAgICBCbG9jayA9IF9jbGFzc18wCiAgZW5kCiAgZG8KICAgIGxvY2FsIF9jbGFzc18wCiAgICBsb2NhbCBfcGFyZW50XzAgPSBCbG9jawogICAgbG9jYWwgX2Jhc2VfMCA9IHsKICAgICAgX190b3N0cmluZyA9IGZ1bmN0aW9uKHNlbGYpCiAgICAgICAgcmV0dXJuICJSb290QmxvY2s8PiIKICAgICAgZW5kLAogICAgICByb290X3N0bXMgPSBmdW5jdGlvbihzZWxmLCBzdG1zKQogICAgICAgIGlmIG5vdCAoc2VsZi5vcHRpb25zLmltcGxpY2l0bHlfcmV0dXJuX3Jvb3QgPT0gZmFsc2UpIHRoZW4KICAgICAgICAgIHN0bXMgPSB0cmFuc2Zvcm0uU3RhdGVtZW50LnRyYW5zZm9ybWVycy5yb290X3N0bXMoc2VsZiwgc3RtcykKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gc2VsZjpzdG1zKHN0bXMpCiAgICAgIGVuZCwKICAgICAgcmVuZGVyID0gZnVuY3Rpb24oc2VsZikKICAgICAgICBsb2NhbCBidWZmZXIgPSBzZWxmLl9saW5lczpmbGF0dGVuKCkKICAgICAgICBpZiBidWZmZXJbI2J1ZmZlcl0gPT0gIlxuIiB0aGVuCiAgICAgICAgICBidWZmZXJbI2J1ZmZlcl0gPSBuaWwKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gdGFibGUuY29uY2F0KGJ1ZmZlcikKICAgICAgZW5kCiAgICB9CiAgICBfYmFzZV8wLl9faW5kZXggPSBfYmFzZV8wCiAgICBzZXRtZXRhdGFibGUoX2Jhc2VfMCwgX3BhcmVudF8wLl9fYmFzZSkKICAgIF9jbGFzc18wID0gc2V0bWV0YXRhYmxlKHsKICAgICAgX19pbml0ID0gZnVuY3Rpb24oc2VsZiwgb3B0aW9ucykKICAgICAgICBzZWxmLm9wdGlvbnMgPSBvcHRpb25zCiAgICAgICAgc2VsZi5yb290ID0gc2VsZgogICAgICAgIHJldHVybiBfY2xhc3NfMC5fX3BhcmVudC5fX2luaXQoc2VsZikKICAgICAgZW5kLAogICAgICBfX2Jhc2UgPSBfYmFzZV8wLAogICAgICBfX25hbWUgPSAiUm9vdEJsb2NrIiwKICAgICAgX19wYXJlbnQgPSBfcGFyZW50XzAKICAgIH0sIHsKICAgICAgX19pbmRleCA9IGZ1bmN0aW9uKGNscywgbmFtZSkKICAgICAgICBsb2NhbCB2YWwgPSByYXdnZXQoX2Jhc2VfMCwgbmFtZSkKICAgICAgICBpZiB2YWwgPT0gbmlsIHRoZW4KICAgICAgICAgIGxvY2FsIHBhcmVudCA9IHJhd2dldChjbHMsICJfX3BhcmVudCIpCiAgICAgICAgICBpZiBwYXJlbnQgdGhlbgogICAgICAgICAgICByZXR1cm4gcGFyZW50W25hbWVdCiAgICAgICAgICBlbmQKICAgICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gdmFsCiAgICAgICAgZW5kCiAgICAgIGVuZCwKICAgICAgX19jYWxsID0gZnVuY3Rpb24oY2xzLCAuLi4pCiAgICAgICAgbG9jYWwgX3NlbGZfMCA9IHNldG1ldGF0YWJsZSh7fSwgX2Jhc2VfMCkKICAgICAgICBjbHMuX19pbml0KF9zZWxmXzAsIC4uLikKICAgICAgICByZXR1cm4gX3NlbGZfMAogICAgICBlbmQKICAgIH0pCiAgICBfYmFzZV8wLl9fY2xhc3MgPSBfY2xhc3NfMAogICAgaWYgX3BhcmVudF8wLl9faW5oZXJpdGVkIHRoZW4KICAgICAgX3BhcmVudF8wLl9faW5oZXJpdGVkKF9wYXJlbnRfMCwgX2NsYXNzXzApCiAgICBlbmQKICAgIFJvb3RCbG9jayA9IF9jbGFzc18wCiAgZW5kCiAgbG9jYWwgZm9ybWF0X2Vycm9yCiAgZm9ybWF0X2Vycm9yID0gZnVuY3Rpb24obXNnLCBwb3MsIGZpbGVfc3RyKQogICAgbG9jYWwgbGluZV9tZXNzYWdlCiAgICBpZiBwb3MgdGhlbgogICAgICBsb2NhbCBsaW5lID0gcG9zX3RvX2xpbmUoZmlsZV9zdHIsIHBvcykKICAgICAgbG9jYWwgbGluZV9zdHIKICAgICAgbGluZV9zdHIsIGxpbmUgPSBnZXRfY2xvc2VzdF9saW5lKGZpbGVfc3RyLCBsaW5lKQogICAgICBsaW5lX3N0ciA9IGxpbmVfc3RyIG9yICIiCiAgICAgIGxpbmVfbWVzc2FnZSA9ICgiIFslZF0gPj4gICAgJXMiKTpmb3JtYXQobGluZSwgdHJpbShsaW5lX3N0cikpCiAgICBlbmQKICAgIHJldHVybiBjb25jYXQoewogICAgICAiQ29tcGlsZSBlcnJvcjogIiAuLiBtc2csCiAgICAgIGxpbmVfbWVzc2FnZQogICAgfSwgIlxuIikKICBlbmQKICBsb2NhbCB2YWx1ZQogIHZhbHVlID0gZnVuY3Rpb24odmFsdWUpCiAgICBsb2NhbCBvdXQgPSBuaWwKICAgIGRvCiAgICAgIGxvY2FsIF93aXRoXzAgPSBSb290QmxvY2soKQogICAgICBfd2l0aF8wOmFkZChfd2l0aF8wOnZhbHVlKHZhbHVlKSkKICAgICAgb3V0ID0gX3dpdGhfMDpyZW5kZXIoKQogICAgZW5kCiAgICByZXR1cm4gb3V0CiAgZW5kCiAgbG9jYWwgdHJlZQogIHRyZWUgPSBmdW5jdGlvbih0cmVlLCBvcHRpb25zKQogICAgaWYgb3B0aW9ucyA9PSBuaWwgdGhlbgogICAgICBvcHRpb25zID0geyB9CiAgICBlbmQKICAgIGFzc2VydCh0cmVlLCAibWlzc2luZyB0cmVlIikKICAgIGxvY2FsIHNjb3BlID0gKG9wdGlvbnMuc2NvcGUgb3IgUm9vdEJsb2NrKShvcHRpb25zKQogICAgbG9jYWwgcnVubmVyID0gY29yb3V0aW5lLmNyZWF0ZShmdW5jdGlvbigpCiAgICAgIHJldHVybiBzY29wZTpyb290X3N0bXModHJlZSkKICAgIGVuZCkKICAgIGxvY2FsIHN1Y2Nlc3MsIGVyciA9IGNvcm91dGluZS5yZXN1bWUocnVubmVyKQogICAgaWYgbm90IChzdWNjZXNzKSB0aGVuCiAgICAgIGxvY2FsIGVycm9yX21zZywgZXJyb3JfcG9zCiAgICAgIGlmIHR5cGUoZXJyKSA9PSAidGFibGUiIHRoZW4KICAgICAgICBsb2NhbCBfZXhwXzAgPSBlcnJbMV0KICAgICAgICBpZiAidXNlci1lcnJvciIgPT0gX2V4cF8wIG9yICJjb21waWxlLWVycm9yIiA9PSBfZXhwXzAgdGhlbgogICAgICAgICAgZXJyb3JfbXNnLCBlcnJvcl9wb3MgPSB1bnBhY2soZXJyLCAyKQogICAgICAgIGVsc2UKICAgICAgICAgIGVycm9yX21zZywgZXJyb3JfcG9zID0gZXJyb3IoIlVua25vd24gZXJyb3IgdGhyb3duIiwgdXRpbC5kdW1wKGVycm9yX21zZykpCiAgICAgICAgZW5kCiAgICAgIGVsc2UKICAgICAgICBlcnJvcl9tc2csIGVycm9yX3BvcyA9IGNvbmNhdCh7CiAgICAgICAgICBlcnIsCiAgICAgICAgICBkZWJ1Zy50cmFjZWJhY2socnVubmVyKQogICAgICAgIH0sICJcbiIpCiAgICAgIGVuZAogICAgICByZXR1cm4gbmlsLCBlcnJvcl9tc2csIGVycm9yX3BvcyBvciBzY29wZS5sYXN0X3BvcwogICAgZW5kCiAgICBsb2NhbCBsdWFfY29kZSA9IHNjb3BlOnJlbmRlcigpCiAgICBsb2NhbCBwb3NtYXAgPSBzY29wZS5fbGluZXM6ZmxhdHRlbl9wb3NtYXAoKQogICAgcmV0dXJuIGx1YV9jb2RlLCBwb3NtYXAKICBlbmQKICBkbwogICAgbG9jYWwgZGF0YSA9IHJlcXVpcmUoIm1vb25zY3JpcHQuZGF0YSIpCiAgICBmb3IgbmFtZSwgY2xzIGluIHBhaXJzKHsKICAgICAgTGluZSA9IExpbmUsCiAgICAgIExpbmVzID0gTGluZXMsCiAgICAgIERlbGF5ZWRMaW5lID0gRGVsYXllZExpbmUKICAgIH0pIGRvCiAgICAgIGRhdGFbbmFtZV0gPSBjbHMKICAgIGVuZAogIGVuZAogIHJldHVybiB7CiAgICB0cmVlID0gdHJlZSwKICAgIHZhbHVlID0gdmFsdWUsCiAgICBmb3JtYXRfZXJyb3IgPSBmb3JtYXRfZXJyb3IsCiAgICBCbG9jayA9IEJsb2NrLAogICAgUm9vdEJsb2NrID0gUm9vdEJsb2NrCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWydtb29uLmFsbCddID0gZnVuY3Rpb24oKQogIGxvY2FsIG1vb24gPSByZXF1aXJlKCJtb29uIikKICBmb3IgaywgdiBpbiBwYWlycyhtb29uKSBkbwogICAgX0dba10gPSB2CiAgZW5kCiAgcmV0dXJuIG1vb24KICAKZW5kCnBhY2thZ2UucHJlbG9hZFsnbW9vbiddID0gZnVuY3Rpb24oKQogIGxvY2FsIGx1YSA9IHsKICAgIGRlYnVnID0gZGVidWcsCiAgICB0eXBlID0gdHlwZQogIH0KICBsb2NhbCBnZXRmZW52LCBzZXRmZW52LCBkdW1wCiAgZG8KICAgIGxvY2FsIF9vYmpfMCA9IHJlcXVpcmUoIm1vb25zY3JpcHQudXRpbCIpCiAgICBnZXRmZW52LCBzZXRmZW52LCBkdW1wID0gX29ial8wLmdldGZlbnYsIF9vYmpfMC5zZXRmZW52LCBfb2JqXzAuZHVtcAogIGVuZAogIGxvY2FsIHAsIGlzX29iamVjdCwgdHlwZSwgZGVidWcsIHJ1bl93aXRoX3Njb3BlLCBiaW5kX21ldGhvZHMsIGRlZmF1bHRibCwgZXh0ZW5kLCBjb3B5LCBtaXhpbiwgbWl4aW5fb2JqZWN0LCBtaXhpbl90YWJsZSwgZm9sZAogIHAgPSBmdW5jdGlvbiguLi4pCiAgICByZXR1cm4gcHJpbnQoZHVtcCguLi4pKQogIGVuZAogIGlzX29iamVjdCA9IGZ1bmN0aW9uKHZhbHVlKQogICAgcmV0dXJuIGx1YS50eXBlKHZhbHVlKSA9PSAidGFibGUiIGFuZCB2YWx1ZS5fX2NsYXNzCiAgZW5kCiAgdHlwZSA9IGZ1bmN0aW9uKHZhbHVlKQogICAgbG9jYWwgYmFzZV90eXBlID0gbHVhLnR5cGUodmFsdWUpCiAgICBpZiBiYXNlX3R5cGUgPT0gInRhYmxlIiB0aGVuCiAgICAgIGxvY2FsIGNscyA9IHZhbHVlLl9fY2xhc3MKICAgICAgaWYgY2xzIHRoZW4KICAgICAgICByZXR1cm4gY2xzCiAgICAgIGVuZAogICAgZW5kCiAgICByZXR1cm4gYmFzZV90eXBlCiAgZW5kCiAgZGVidWcgPSBzZXRtZXRhdGFibGUoewogICAgdXB2YWx1ZSA9IGZ1bmN0aW9uKGZuLCBrLCB2KQogICAgICBsb2NhbCB1cHZhbHVlcyA9IHsgfQogICAgICBsb2NhbCBpID0gMQogICAgICB3aGlsZSB0cnVlIGRvCiAgICAgICAgbG9jYWwgbmFtZSA9IGx1YS5kZWJ1Zy5nZXR1cHZhbHVlKGZuLCBpKQogICAgICAgIGlmIG5hbWUgPT0gbmlsIHRoZW4KICAgICAgICAgIGJyZWFrCiAgICAgICAgZW5kCiAgICAgICAgdXB2YWx1ZXNbbmFtZV0gPSBpCiAgICAgICAgaSA9IGkgKyAxCiAgICAgIGVuZAogICAgICBpZiBub3QgdXB2YWx1ZXNba10gdGhlbgogICAgICAgIGVycm9yKCJGYWlsZWQgdG8gZmluZCB1cHZhbHVlOiAiIC4uIHRvc3RyaW5nKGspKQogICAgICBlbmQKICAgICAgaWYgbm90IHYgdGhlbgogICAgICAgIGxvY2FsIF8sIHZhbHVlID0gbHVhLmRlYnVnLmdldHVwdmFsdWUoZm4sIHVwdmFsdWVzW2tdKQogICAgICAgIHJldHVybiB2YWx1ZQogICAgICBlbHNlCiAgICAgICAgcmV0dXJuIGx1YS5kZWJ1Zy5zZXR1cHZhbHVlKGZuLCB1cHZhbHVlc1trXSwgdikKICAgICAgZW5kCiAgICBlbmQKICB9LCB7CiAgICBfX2luZGV4ID0gbHVhLmRlYnVnCiAgfSkKICBydW5fd2l0aF9zY29wZSA9IGZ1bmN0aW9uKGZuLCBzY29wZSwgLi4uKQogICAgbG9jYWwgb2xkX2VudiA9IGdldGZlbnYoZm4pCiAgICBsb2NhbCBlbnYgPSBzZXRtZXRhdGFibGUoeyB9LCB7CiAgICAgIF9faW5kZXggPSBmdW5jdGlvbihzZWxmLCBuYW1lKQogICAgICAgIGxvY2FsIHZhbCA9IHNjb3BlW25hbWVdCiAgICAgICAgaWYgdmFsIH49IG5pbCB0aGVuCiAgICAgICAgICByZXR1cm4gdmFsCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIG9sZF9lbnZbbmFtZV0KICAgICAgICBlbmQKICAgICAgZW5kCiAgICB9KQogICAgc2V0ZmVudihmbiwgZW52KQogICAgcmV0dXJuIGZuKC4uLikKICBlbmQKICBiaW5kX21ldGhvZHMgPSBmdW5jdGlvbihvYmopCiAgICByZXR1cm4gc2V0bWV0YXRhYmxlKHsgfSwgewogICAgICBfX2luZGV4ID0gZnVuY3Rpb24oc2VsZiwgbmFtZSkKICAgICAgICBsb2NhbCB2YWwgPSBvYmpbbmFtZV0KICAgICAgICBpZiB2YWwgYW5kIGx1YS50eXBlKHZhbCkgPT0gImZ1bmN0aW9uIiB0aGVuCiAgICAgICAgICBsb2NhbCBib3VuZAogICAgICAgICAgYm91bmQgPSBmdW5jdGlvbiguLi4pCiAgICAgICAgICAgIHJldHVybiB2YWwob2JqLCAuLi4pCiAgICAgICAgICBlbmQKICAgICAgICAgIHNlbGZbbmFtZV0gPSBib3VuZAogICAgICAgICAgcmV0dXJuIGJvdW5kCiAgICAgICAgZWxzZQogICAgICAgICAgcmV0dXJuIHZhbAogICAgICAgIGVuZAogICAgICBlbmQKICAgIH0pCiAgZW5kCiAgZGVmYXVsdGJsID0gZnVuY3Rpb24odCwgZm4pCiAgICBpZiBub3QgZm4gdGhlbgogICAgICBmbiA9IHQKICAgICAgdCA9IHsgfQogICAgZW5kCiAgICByZXR1cm4gc2V0bWV0YXRhYmxlKHQsIHsKICAgICAgX19pbmRleCA9IGZ1bmN0aW9uKHNlbGYsIG5hbWUpCiAgICAgICAgbG9jYWwgdmFsID0gZm4oc2VsZiwgbmFtZSkKICAgICAgICByYXdzZXQoc2VsZiwgbmFtZSwgdmFsKQogICAgICAgIHJldHVybiB2YWwKICAgICAgZW5kCiAgICB9KQogIGVuZAogIGV4dGVuZCA9IGZ1bmN0aW9uKC4uLikKICAgIGxvY2FsIHRibHMgPSB7CiAgICAgIC4uLgogICAgfQogICAgaWYgI3RibHMgPCAyIHRoZW4KICAgICAgcmV0dXJuIAogICAgZW5kCiAgICBmb3IgaSA9IDEsICN0YmxzIC0gMSBkbwogICAgICBsb2NhbCBhID0gdGJsc1tpXQogICAgICBsb2NhbCBiID0gdGJsc1tpICsgMV0KICAgICAgc2V0bWV0YXRhYmxlKGEsIHsKICAgICAgICBfX2luZGV4ID0gYgogICAgICB9KQogICAgZW5kCiAgICByZXR1cm4gdGJsc1sxXQogIGVuZAogIGNvcHkgPSBmdW5jdGlvbihzZWxmKQogICAgbG9jYWwgX3RibF8wID0geyB9CiAgICBmb3Iga2V5LCB2YWwgaW4gcGFpcnMoc2VsZikgZG8KICAgICAgX3RibF8wW2tleV0gPSB2YWwKICAgIGVuZAogICAgcmV0dXJuIF90YmxfMAogIGVuZAogIG1peGluID0gZnVuY3Rpb24oc2VsZiwgY2xzLCAuLi4pCiAgICBmb3Iga2V5LCB2YWwgaW4gcGFpcnMoY2xzLl9fYmFzZSkgZG8KICAgICAgaWYgbm90IGtleTptYXRjaCgiXl9fIikgdGhlbgogICAgICAgIHNlbGZba2V5XSA9IHZhbAogICAgICBlbmQKICAgIGVuZAogICAgcmV0dXJuIGNscy5fX2luaXQoc2VsZiwgLi4uKQogIGVuZAogIG1peGluX29iamVjdCA9IGZ1bmN0aW9uKHNlbGYsIG9iamVjdCwgbWV0aG9kcykKICAgIGZvciBfaW5kZXhfMCA9IDEsICNtZXRob2RzIGRvCiAgICAgIGxvY2FsIG5hbWUgPSBtZXRob2RzW19pbmRleF8wXQogICAgICBzZWxmW25hbWVdID0gZnVuY3Rpb24ocGFyZW50LCAuLi4pCiAgICAgICAgcmV0dXJuIG9iamVjdFtuYW1lXShvYmplY3QsIC4uLikKICAgICAgZW5kCiAgICBlbmQKICBlbmQKICBtaXhpbl90YWJsZSA9IGZ1bmN0aW9uKHNlbGYsIHRibCwga2V5cykKICAgIGlmIGtleXMgdGhlbgogICAgICBmb3IgX2luZGV4XzAgPSAxLCAja2V5cyBkbwogICAgICAgIGxvY2FsIGtleSA9IGtleXNbX2luZGV4XzBdCiAgICAgICAgc2VsZltrZXldID0gdGJsW2tleV0KICAgICAgZW5kCiAgICBlbHNlCiAgICAgIGZvciBrZXksIHZhbCBpbiBwYWlycyh0YmwpIGRvCiAgICAgICAgc2VsZltrZXldID0gdmFsCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCiAgZm9sZCA9IGZ1bmN0aW9uKGl0ZW1zLCBmbikKICAgIGxvY2FsIGxlbiA9ICNpdGVtcwogICAgaWYgbGVuID4gMSB0aGVuCiAgICAgIGxvY2FsIGFjY3VtID0gZm4oaXRlbXNbMV0sIGl0ZW1zWzJdKQogICAgICBmb3IgaSA9IDMsIGxlbiBkbwogICAgICAgIGFjY3VtID0gZm4oYWNjdW0sIGl0ZW1zW2ldKQogICAgICBlbmQKICAgICAgcmV0dXJuIGFjY3VtCiAgICBlbHNlCiAgICAgIHJldHVybiBpdGVtc1sxXQogICAgZW5kCiAgZW5kCiAgcmV0dXJuIHsKICAgIGR1bXAgPSBkdW1wLAogICAgcCA9IHAsCiAgICBpc19vYmplY3QgPSBpc19vYmplY3QsCiAgICB0eXBlID0gdHlwZSwKICAgIGRlYnVnID0gZGVidWcsCiAgICBydW5fd2l0aF9zY29wZSA9IHJ1bl93aXRoX3Njb3BlLAogICAgYmluZF9tZXRob2RzID0gYmluZF9tZXRob2RzLAogICAgZGVmYXVsdGJsID0gZGVmYXVsdGJsLAogICAgZXh0ZW5kID0gZXh0ZW5kLAogICAgY29weSA9IGNvcHksCiAgICBtaXhpbiA9IG1peGluLAogICAgbWl4aW5fb2JqZWN0ID0gbWl4aW5fb2JqZWN0LAogICAgbWl4aW5fdGFibGUgPSBtaXhpbl90YWJsZSwKICAgIGZvbGQgPSBmb2xkCiAgfQogIAplbmQKcGFja2FnZS5wcmVsb2FkWyJtb29uc2NyaXB0Il0oKQotLVtbCkNvcHlyaWdodCAoYykgMjAxNi0yMDE4IENhbHZpbiBSb3NlIGFuZCBjb250cmlidXRvcnMKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZgp0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgp0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCnVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mCnRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbApjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUwpGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IKQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCklOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCkNPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCl1dCgotLSBNYWtlIGdsb2JhbCB2YXJpYWJsZXMgbG9jYWwuCmxvY2FsIHNldG1ldGF0YWJsZSA9IHNldG1ldGF0YWJsZQpsb2NhbCBnZXRtZXRhdGFibGUgPSBnZXRtZXRhdGFibGUKbG9jYWwgdHlwZSA9IHR5cGUKbG9jYWwgYXNzZXJ0ID0gYXNzZXJ0CmxvY2FsIHBhaXJzID0gcGFpcnMKbG9jYWwgaXBhaXJzID0gaXBhaXJzCmxvY2FsIHRvc3RyaW5nID0gdG9zdHJpbmcKbG9jYWwgdW5wYWNrID0gdW5wYWNrIG9yIHRhYmxlLnVucGFjawoKLS0KLS0gTWFpbiBUeXBlcyBhbmQgc3VwcG9ydCBmdW5jdGlvbnMKLS0KCmxvY2FsIGZ1bmN0aW9uIGRlcmVmKHNlbGYpIHJldHVybiBzZWxmWzFdIGVuZAoKbG9jYWwgU1lNQk9MX01UID0geyAnU1lNQk9MJywgX190b3N0cmluZyA9IGRlcmVmIH0KbG9jYWwgRVhQUl9NVCA9IHsgJ0VYUFInLCBfX3Rvc3RyaW5nID0gZGVyZWYgfQpsb2NhbCBWQVJBUkcgPSBzZXRtZXRhdGFibGUoeyAnLi4uJyB9LCB7ICdWQVJBUkcnLCBfX3Rvc3RyaW5nID0gZGVyZWYgfSkKbG9jYWwgTElTVF9NVCA9IHsgJ0xJU1QnLAogICAgX190b3N0cmluZyA9IGZ1bmN0aW9uIChzZWxmKQogICAgICAgIGxvY2FsIHN0cnMgPSB7fQogICAgICAgIGZvciBfLCBzIGluIGlwYWlycyhzZWxmKSBkbwogICAgICAgICAgICB0YWJsZS5pbnNlcnQoc3RycywgdG9zdHJpbmcocykpCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuICcoJyAuLiB0YWJsZS5jb25jYXQoc3RycywgJywgJywgMSwgI3NlbGYpIC4uICcpJwogICAgZW5kCn0KCi0tIExvYWQgY29kZSB3aXRoIGFuIGVudmlyb25tZW50IGluIGFsbCByZWNlbnQgTHVhIHZlcnNpb25zCmxvY2FsIGZ1bmN0aW9uIGxvYWRDb2RlKGNvZGUsIGVudmlyb25tZW50LCBmaWxlbmFtZSkKICAgIGVudmlyb25tZW50ID0gZW52aXJvbm1lbnQgb3IgX0VOViBvciBfRwogICAgaWYgc2V0ZmVudiBhbmQgbG9hZHN0cmluZyB0aGVuCiAgICAgICAgbG9jYWwgZiA9IGFzc2VydChsb2Fkc3RyaW5nKGNvZGUsIGZpbGVuYW1lKSkKICAgICAgICBzZXRmZW52KGYsIGVudmlyb25tZW50KQogICAgICAgIHJldHVybiBmCiAgICBlbHNlCiAgICAgICAgcmV0dXJuIGFzc2VydChsb2FkKGNvZGUsIGZpbGVuYW1lLCAidCIsIGVudmlyb25tZW50KSkKICAgIGVuZAplbmQKCi0tIENyZWF0ZSBhIG5ldyBsaXN0CmxvY2FsIGZ1bmN0aW9uIGxpc3QoLi4uKQogICAgcmV0dXJuIHNldG1ldGF0YWJsZSh7Li4ufSwgTElTVF9NVCkKZW5kCgotLSBDcmVhdGUgYSBuZXcgc3ltYm9sCmxvY2FsIGZ1bmN0aW9uIHN5bShzdHIsIHNjb3BlLCBtZXRhKQogICAgbG9jYWwgcyA9IHtzdHIsIHNjb3BlID0gc2NvcGV9CiAgICBpZiBtZXRhIHRoZW4KICAgICAgICBmb3IgaywgdiBpbiBwYWlycyhtZXRhKSBkbwogICAgICAgICAgICBpZiB0eXBlKGspID09ICdzdHJpbmcnIHRoZW4gc1trXSA9IHYgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBzZXRtZXRhdGFibGUocywgU1lNQk9MX01UKQplbmQKCi0tIENyZWF0ZSBhIG5ldyBleHByCi0tIGV0eXBlIHNob3VsZCBiZSBvbmUgb2YKLS0gICAibGl0ZXJhbCIsIC0tIGxpdGVyYWxzIGxpa2UgbnVtYmVycywgc3RyaW5ncywgbmlsLCB0cnVlLCBmYWxzZQotLSAgICJleHByZXNzaW9uIiwgLS0gQ29tcGxleCBzdHJpbmdzIG9mIEx1YSBjb2RlLCBtYXkgaGF2ZSBzaWRlIGVmZmVjdHMsIGV0YywgYnV0IGlzIGFuIGV4cHJlc3Npb24KLS0gICAic3RhdGVtZW50IiwgLS0gU2FtZSBhcyBleHByZXNzaW9uLCBidXQgaXMgYWxzbyBhIHZhbGlkIHN0YXRlbWVudCAoZnVuY3Rpb24gY2FsbHMpLgotLSAgICJ2YXJncyIsIC0tIHZhcmFyZ3Mgc3ltYm9sCi0tICAgInN5bSIsIC0tIHN5bWJvbCByZWZlcmVuY2UKbG9jYWwgZnVuY3Rpb24gZXhwcihzdHJjb2RlLCBldHlwZSkKICAgIHJldHVybiBzZXRtZXRhdGFibGUoeyBzdHJjb2RlLCB0eXBlID0gZXR5cGUgfSwgRVhQUl9NVCkKZW5kCgpsb2NhbCBmdW5jdGlvbiB2YXJnKCkKICAgIHJldHVybiBWQVJBUkcKZW5kCgpsb2NhbCBmdW5jdGlvbiBpc1ZhcmcoeCkKICAgIHJldHVybiB4ID09IFZBUkFSRyBhbmQgeAplbmQKCi0tIENoZWNrcyBpZiBhbiBvYmplY3QgaXMgYSBMaXN0LiBSZXR1cm5zIHRoZSBvYmplY3QgaWYgaXMgYSBMaXN0Lgpsb2NhbCBmdW5jdGlvbiBpc0xpc3QoeCkKICAgIHJldHVybiB0eXBlKHgpID09ICd0YWJsZScgYW5kIGdldG1ldGF0YWJsZSh4KSA9PSBMSVNUX01UIGFuZCB4CmVuZAoKLS0gQ2hlY2tzIGlmIGFuIG9iamVjdCBpcyBhIHN5bWJvbC4gUmV0dXJucyB0aGUgb2JqZWN0IGlmIGl0IGlzIGEgc3ltYm9sLgpsb2NhbCBmdW5jdGlvbiBpc1N5bSh4KQogICAgcmV0dXJuIHR5cGUoeCkgPT0gJ3RhYmxlJyBhbmQgZ2V0bWV0YXRhYmxlKHgpID09IFNZTUJPTF9NVCBhbmQgeAplbmQKCi0tIENoZWNrcyBpZiBhbiBvYmplY3QgYW55IGtpbmQgb2YgdGFibGUsIEVYQ0VQVCBsaXN0IG9yIHN5bWJvbApsb2NhbCBmdW5jdGlvbiBpc1RhYmxlKHgpCiAgICByZXR1cm4gdHlwZSh4KSA9PSAndGFibGUnIGFuZAogICAgICAgIHggfj0gVkFSQVJHIGFuZAogICAgICAgIGdldG1ldGF0YWJsZSh4KSB+PSBMSVNUX01UIGFuZCBnZXRtZXRhdGFibGUoeCkgfj0gU1lNQk9MX01UIGFuZCB4CmVuZAoKLS0KLS0gUGFyc2VyCi0tCgotLSBDb252ZXJ0IGEgc3RyZWFtIG9mIGNodW5rcyB0byBhIHN0cmVhbSBvZiBieXRlcy4KLS0gQWxzbyByZXR1cm5zIGEgc2Vjb25kIGZ1bmN0aW9uIHRvIGNsZWFyIHRoZSBidWZmZXIgaW4gdGhlIGJ5dGUgc3RyZWFtCmxvY2FsIGZ1bmN0aW9uIGdyYW51bGF0ZShnZXRjaHVuaykKICAgIGxvY2FsIGMgPSAnJwogICAgbG9jYWwgaW5kZXggPSAxCiAgICBsb2NhbCBkb25lID0gZmFsc2UKICAgIHJldHVybiBmdW5jdGlvbiAoKQogICAgICAgIGlmIGRvbmUgdGhlbiByZXR1cm4gbmlsIGVuZAogICAgICAgIGlmIGluZGV4IDw9ICNjIHRoZW4KICAgICAgICAgICAgbG9jYWwgYiA9IGM6Ynl0ZShpbmRleCkKICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDEKICAgICAgICAgICAgcmV0dXJuIGIKICAgICAgICBlbHNlCiAgICAgICAgICAgIGMgPSBnZXRjaHVuaygpCiAgICAgICAgICAgIGlmIG5vdCBjIG9yIGMgPT0gJycgdGhlbgogICAgICAgICAgICAgICAgZG9uZSA9IHRydWUKICAgICAgICAgICAgICAgIHJldHVybiBuaWwKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGluZGV4ID0gMgogICAgICAgICAgICByZXR1cm4gYzpieXRlKDEpCiAgICAgICAgZW5kCiAgICBlbmQsIGZ1bmN0aW9uICgpCiAgICAgICAgYyA9ICcnCiAgICBlbmQKZW5kCgotLSBDb252ZXJ0IGEgc3RyaW5nIGludG8gYSBzdHJlYW0gb2YgYnl0ZXMKbG9jYWwgZnVuY3Rpb24gc3RyaW5nU3RyZWFtKHN0cikKICAgIGxvY2FsIGluZGV4ID0gMQogICAgcmV0dXJuIGZ1bmN0aW9uKCkKICAgICAgICBsb2NhbCByID0gc3RyOmJ5dGUoaW5kZXgpCiAgICAgICAgaW5kZXggPSBpbmRleCArIDEKICAgICAgICByZXR1cm4gcgogICAgZW5kCmVuZAoKLS0gVGFibGUgb2YgZGVsaW1pdGVyIGJ5dGVzIC0gKCwgKSwgWywgXSwgeywgfQotLSBPcGVuZXIga2V5cyBoYXZlIGNsb3NlciBhcyB0aGUgdmFsdWUsIGFuZCBjbG9zZXJzIGtleXMKLS0gaGF2ZSB0cnVlIGFzIHRoZWlyIHZhbHVlLgpsb2NhbCBkZWxpbXMgPSB7CiAgICBbNDBdID0gNDEsICAgICAgICAtLSAoCiAgICBbNDFdID0gdHJ1ZSwgICAgICAtLSApCiAgICBbOTFdID0gOTMsICAgICAgICAtLSBbCiAgICBbOTNdID0gdHJ1ZSwgICAgICAtLSBdCiAgICBbMTIzXSA9IDEyNSwgICAgICAtLSB7CiAgICBbMTI1XSA9IHRydWUgICAgICAtLSB9Cn0KCmxvY2FsIGZ1bmN0aW9uIGlzd2hpdGVzcGFjZShiKQogICAgcmV0dXJuIGIgPT0gMzIgb3IgKGIgPj0gOSBhbmQgYiA8PSAxMykgb3IgYiA9PSA0NAplbmQKCmxvY2FsIGZ1bmN0aW9uIGlzc3ltYm9sY2hhcihiKQogICAgcmV0dXJuIGIgPiAzMiBhbmQKICAgICAgICBub3QgZGVsaW1zW2JdIGFuZAogICAgICAgIGIgfj0gMTI3IGFuZAogICAgICAgIGIgfj0gMzQgYW5kCiAgICAgICAgYiB+PSAzOSBhbmQKICAgICAgICBiIH49IDU5IGFuZAogICAgICAgIGIgfj0gNDQKZW5kCgotLSBQYXJzZSBvbmUgdmFsdWUgZ2l2ZW4gYSBmdW5jdGlvbiB0aGF0Ci0tIHJldHVybnMgc2VxdWVudGlhbCBieXRlcy4gV2lsbCB0aHJvdyBhbiBlcnJvciBhcyBzb29uCi0tIGFzIHBvc3NpYmxlIHdpdGhvdXQgZ2V0dGluZyBtb3JlIGJ5dGVzIG9uIGJhZCBpbnB1dC4gUmV0dXJucwotLSBpZiBhIHZhbHVlIHdhcyByZWFkLCBhbmQgdGhlbiB0aGUgdmFsdWUgcmVhZC4gV2lsbCByZXR1cm4gbmlsCi0tIHdoZW4gaW5wdXQgc3RyZWFtIGlzIGZpbmlzaGVkLgpsb2NhbCBmdW5jdGlvbiBwYXJzZXIoZ2V0Ynl0ZSwgZmlsZW5hbWUpCgogICAgLS0gU3RhY2sgb2YgdW5maW5pc2hlZCB2YWx1ZXMKICAgIGxvY2FsIHN0YWNrID0ge30KCiAgICAtLSBQcm92aWRlIG9uZSBjaGFyYWN0ZXIgYnVmZmVyIGFuZCBrZWVwCiAgICAtLSB0cmFjayBvZiBjdXJyZW50IGxpbmUgYW5kIGJ5dGUgaW5kZXgKICAgIGxvY2FsIGxpbmUgPSAxCiAgICBsb2NhbCBieXRlaW5kZXggPSAwCiAgICBsb2NhbCBsYXN0YgogICAgbG9jYWwgZnVuY3Rpb24gdW5nZXRiKHViKQogICAgICAgIGlmIHViID09IDEwIHRoZW4gbGluZSA9IGxpbmUgLSAxIGVuZAogICAgICAgIGJ5dGVpbmRleCA9IGJ5dGVpbmRleCAtIDEKICAgICAgICBsYXN0YiA9IHViCiAgICBlbmQKICAgIGxvY2FsIGZ1bmN0aW9uIGdldGIoKQogICAgICAgIGxvY2FsIHIKICAgICAgICBpZiBsYXN0YiB0aGVuCiAgICAgICAgICAgIHIsIGxhc3RiID0gbGFzdGIsIG5pbAogICAgICAgIGVsc2UKICAgICAgICAgICAgciA9IGdldGJ5dGUoKQogICAgICAgIGVuZAogICAgICAgIGJ5dGVpbmRleCA9IGJ5dGVpbmRleCArIDEKICAgICAgICBpZiByID09IDEwIHRoZW4gbGluZSA9IGxpbmUgKyAxIGVuZAogICAgICAgIHJldHVybiByCiAgICBlbmQKCiAgICAtLSBQYXJzZSBzdHJlYW0KICAgIHJldHVybiBmdW5jdGlvbiAoKQoKICAgICAgICAtLSBEaXNwYXRjaCB3aGVuIHdlIGNvbXBsZXRlIGEgdmFsdWUKICAgICAgICBsb2NhbCBkb25lLCByZXR2YWwKICAgICAgICBsb2NhbCBmdW5jdGlvbiBkaXNwYXRjaCh2KQogICAgICAgICAgICBpZiAjc3RhY2sgPT0gMCB0aGVuCiAgICAgICAgICAgICAgICByZXR2YWwgPSB2CiAgICAgICAgICAgICAgICBkb25lID0gdHJ1ZQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQoc3RhY2tbI3N0YWNrXSwgdikKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCgogICAgICAgIC0tIFRoZSBtYWluIHBhcnNlIGxvb3AKICAgICAgICByZXBlYXQKICAgICAgICAgICAgbG9jYWwgYgoKICAgICAgICAgICAgLS0gU2tpcCB3aGl0ZXNwYWNlCiAgICAgICAgICAgIHJlcGVhdAogICAgICAgICAgICAgICAgYiA9IGdldGIoKQogICAgICAgICAgICB1bnRpbCBub3QgYiBvciBub3QgaXN3aGl0ZXNwYWNlKGIpCiAgICAgICAgICAgIGlmIG5vdCBiIHRoZW4KICAgICAgICAgICAgICAgIGlmICNzdGFjayA+IDAgdGhlbiBlcnJvciAndW5leHBlY3RlZCBlbmQgb2Ygc291cmNlJyBlbmQKICAgICAgICAgICAgICAgIHJldHVybiBuaWwKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBpZiBiID09IDU5IHRoZW4gLS0gOyBDb21tZW50CiAgICAgICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgICAgICBiID0gZ2V0YigpCiAgICAgICAgICAgICAgICB1bnRpbCBub3QgYiBvciBiID09IDEwIC0tIG5ld2xpbmUKICAgICAgICAgICAgZWxzZWlmIHR5cGUoZGVsaW1zW2JdKSA9PSAnbnVtYmVyJyB0aGVuIC0tIE9wZW5pbmcgZGVsaW1pdGVyCiAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQoc3RhY2ssIHNldG1ldGF0YWJsZSh7CiAgICAgICAgICAgICAgICAgICAgY2xvc2VyID0gZGVsaW1zW2JdLAogICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLAogICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgYnl0ZXN0YXJ0ID0gYnl0ZWluZGV4CiAgICAgICAgICAgICAgICB9LCBMSVNUX01UKSkKICAgICAgICAgICAgZWxzZWlmIGRlbGltc1tiXSB0aGVuIC0tIENsb3NpbmcgZGVsaW1pdGVyCiAgICAgICAgICAgICAgICBpZiAjc3RhY2sgPT0gMCB0aGVuIGVycm9yICd1bmV4cGVjdGVkIGNsb3NpbmcgZGVsaW1pdGVyJyBlbmQKICAgICAgICAgICAgICAgIGxvY2FsIGxhc3QgPSBzdGFja1sjc3RhY2tdCiAgICAgICAgICAgICAgICBsb2NhbCB2YWwKICAgICAgICAgICAgICAgIGlmIGxhc3QuY2xvc2VyIH49IGIgdGhlbgogICAgICAgICAgICAgICAgICAgIGVycm9yKCd1bmV4cGVjdGVkIGRlbGltaXRlciAnIC4uIHN0cmluZy5jaGFyKGIpIC4uICcsIGV4cGVjdGVkICcgLi4gc3RyaW5nLmNoYXIobGFzdC5jbG9zZXIpKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBsYXN0LmJ5dGVlbmQgPSBieXRlaW5kZXggLS0gU2V0IGNsb3NpbmcgYnl0ZSBpbmRleAogICAgICAgICAgICAgICAgaWYgYiA9PSA0MSB0aGVuIC0tICkKICAgICAgICAgICAgICAgICAgICB2YWwgPSBsYXN0CiAgICAgICAgICAgICAgICBlbHNlaWYgYiA9PSA5MyB0aGVuIC0tIF0KICAgICAgICAgICAgICAgICAgICB2YWwgPSB7fQogICAgICAgICAgICAgICAgICAgIGZvciBpID0gMSwgI2xhc3QgZG8KICAgICAgICAgICAgICAgICAgICAgICAgdmFsW2ldID0gbGFzdFtpXQogICAgICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgZWxzZSAtLSB9CiAgICAgICAgICAgICAgICAgICAgaWYgI2xhc3QgJSAyIH49IDAgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciAnZXhwZWN0ZWQgZXZlbiBudW1iZXIgb2YgdmFsdWVzIGluIHRhYmxlIGxpdGVyYWwnCiAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgICAgdmFsID0ge30KICAgICAgICAgICAgICAgICAgICBmb3IgaSA9IDEsICNsYXN0LCAyIGRvCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbFtsYXN0W2ldXSA9IGxhc3RbaSArIDFdCiAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIHN0YWNrWyNzdGFja10gPSBuaWwKICAgICAgICAgICAgICAgIGRpc3BhdGNoKHZhbCkKICAgICAgICAgICAgZWxzZWlmIGIgPT0gMzQgb3IgYiA9PSAzOSB0aGVuIC0tIFF1b3RlZCBzdHJpbmcKICAgICAgICAgICAgICAgIGxvY2FsIHN0YXJ0ID0gYgogICAgICAgICAgICAgICAgbG9jYWwgc3RhdGUgPSAiYmFzZSIKICAgICAgICAgICAgICAgIGxvY2FsIGNoYXJzID0ge3N0YXJ0fQogICAgICAgICAgICAgICAgcmVwZWF0CiAgICAgICAgICAgICAgICAgICAgYiA9IGdldGIoKQogICAgICAgICAgICAgICAgICAgIGNoYXJzWyNjaGFycyArIDFdID0gYgogICAgICAgICAgICAgICAgICAgIGlmIHN0YXRlID09ICJiYXNlIiB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGIgPT0gOTIgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAiYmFja3NsYXNoIgogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgYiA9PSBzdGFydCB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9ICJkb25lIgogICAgICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIC0tIHN0YXRlID09ICJiYWNrc2xhc2giCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gImJhc2UiCiAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICB1bnRpbCBub3QgYiBvciAoc3RhdGUgPT0gImRvbmUiKQogICAgICAgICAgICAgICAgaWYgbm90IGIgdGhlbiBlcnJvciAndW5leHBlY3RlZCBlbmQgb2Ygc291cmNlJyBlbmQKICAgICAgICAgICAgICAgIGxvY2FsIHJhdyA9IHN0cmluZy5jaGFyKHVucGFjayhjaGFycykpCiAgICAgICAgICAgICAgICBsb2NhbCBsb2FkRm4gPSBsb2FkQ29kZSgoJ3JldHVybiAlcycpOmZvcm1hdChyYXcpLCBuaWwsIGZpbGVuYW1lKQogICAgICAgICAgICAgICAgZGlzcGF0Y2gobG9hZEZuKCkpCiAgICAgICAgICAgIGVsc2UgLS0gVHJ5IHN5bWJvbAogICAgICAgICAgICAgICAgbG9jYWwgY2hhcnMgPSB7fQogICAgICAgICAgICAgICAgbG9jYWwgYnl0ZXN0YXJ0ID0gYnl0ZWluZGV4CiAgICAgICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgICAgICBjaGFyc1sjY2hhcnMgKyAxXSA9IGIKICAgICAgICAgICAgICAgICAgICBiID0gZ2V0YigpCiAgICAgICAgICAgICAgICB1bnRpbCBub3QgYiBvciBub3QgaXNzeW1ib2xjaGFyKGIpCiAgICAgICAgICAgICAgICBpZiBiIHRoZW4gdW5nZXRiKGIpIGVuZAogICAgICAgICAgICAgICAgbG9jYWwgcmF3c3RyID0gc3RyaW5nLmNoYXIodW5wYWNrKGNoYXJzKSkKICAgICAgICAgICAgICAgIGlmIHJhd3N0ciA9PSAndHJ1ZScgdGhlbiBkaXNwYXRjaCh0cnVlKQogICAgICAgICAgICAgICAgZWxzZWlmIHJhd3N0ciA9PSAnZmFsc2UnIHRoZW4gZGlzcGF0Y2goZmFsc2UpCiAgICAgICAgICAgICAgICBlbHNlaWYgcmF3c3RyID09ICcuLi4nIHRoZW4gZGlzcGF0Y2goVkFSQVJHKQogICAgICAgICAgICAgICAgZWxzZWlmIHJhd3N0cjptYXRjaCgnXjouKyQnKSB0aGVuIC0tIGtleXdvcmQgc3R5bGUgc3RyaW5ncwogICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHJhd3N0cjpzdWIoMikpCiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgZm9yY2VOdW1iZXIgPSByYXdzdHI6bWF0Y2goJ14lZCcpCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgeAogICAgICAgICAgICAgICAgICAgIGlmIGZvcmNlTnVtYmVyIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgeCA9IHRvbnVtYmVyKHJhd3N0cikgb3IgZXJyb3IoJ2NvdWxkIG5vdCByZWFkIHRva2VuICInIC4uIHJhd3N0ciAuLiAnIicpCiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICB4ID0gdG9udW1iZXIocmF3c3RyKSBvciBzeW0ocmF3c3RyLCBuaWwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzdGFydCA9IGJ5dGVzdGFydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVlbmQgPSBieXRlaW5kZXgKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaCh4KQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIHVudGlsIGRvbmUKICAgICAgICByZXR1cm4gdHJ1ZSwgcmV0dmFsCiAgICBlbmQKZW5kCgotLQotLSBDb21waWxhdGlvbgotLQoKLS0gQ3JlYXRlIGEgbmV3IFNjb3BlLCBvcHRpb25hbGx5IHVuZGVyIGEgcGFyZW50IHNjb3BlLiBTY29wZXMgYXJlIGNvbXBpbGUgdGltZSBjb25zdHJ1Y3RzCi0tIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBrZWVwaW5nIHRyYWNrIG9mIGxvY2FsIHZhcmlhYmxlcywgbmFtZSBtYW5nbGluZywgYW5kIG1hY3Jvcy4KLS0gVGhleSBhcmUgYWNjZXNzaWJsZSB0byB1c2VyIGNvZGUgdmlhIHRoZSAnKmNvbXBpbGVyJyBzcGVjaWFsIGZvcm0gKG1heSBjaGFuZ2UpLiBUaGV5Ci0tIHVzZSBtZXRhdGFibGVzIHRvIGltcGxlbWVudCBuZXN0aW5nIHZpYSBpbmhlcml0YW5jZS4KbG9jYWwgZnVuY3Rpb24gbWFrZVNjb3BlKHBhcmVudCkKICAgIHJldHVybiB7CiAgICAgICAgdW5tYW5nbGluZ3MgPSBzZXRtZXRhdGFibGUoe30sIHsKICAgICAgICAgICAgX19pbmRleCA9IHBhcmVudCBhbmQgcGFyZW50LnVubWFuZ2xpbmdzCiAgICAgICAgfSksCiAgICAgICAgbWFuZ2xpbmdzID0gc2V0bWV0YXRhYmxlKHt9LCB7CiAgICAgICAgICAgIF9faW5kZXggPSBwYXJlbnQgYW5kIHBhcmVudC5tYW5nbGluZ3MKICAgICAgICB9KSwKICAgICAgICBzcGVjaWFscyA9IHNldG1ldGF0YWJsZSh7fSwgewogICAgICAgICAgICBfX2luZGV4ID0gcGFyZW50IGFuZCBwYXJlbnQuc3BlY2lhbHMKICAgICAgICB9KSwKICAgICAgICBzeW1tZXRhID0gc2V0bWV0YXRhYmxlKHt9LCB7CiAgICAgICAgICAgIF9faW5kZXggPSBwYXJlbnQgYW5kIHBhcmVudC5zeW1tZXRhCiAgICAgICAgfSksCiAgICAgICAgcGFyZW50ID0gcGFyZW50LAogICAgICAgIHZhcmFyZyA9IHBhcmVudCBhbmQgcGFyZW50LnZhcmFyZywKICAgICAgICBkZXB0aCA9IHBhcmVudCBhbmQgKChwYXJlbnQuZGVwdGggb3IgMCkgKyAxKSBvciAwCiAgICB9CmVuZAoKLS0gQXNzZXJ0IGEgY29uZGl0aW9uIGFuZCByYWlzZSBhIGNvbXBpbGUgZXJyb3Igd2l0aCBsaW5lIG51bWJlcnMuIFRoZSBhc3QgYXJnCi0tIHNob3VsZCBiZSB1bm1vZGlmaWVkIHNvIHRoYXQgaXRzIGZpcnN0IGVsZW1lbnQgaXMgdGhlIGZvcm0gYmVpbmcgY2FsbGVkLgpsb2NhbCBmdW5jdGlvbiBhc3NlcnRDb21waWxlKGNvbmRpdGlvbiwgbXNnLCBhc3QpCiAgICAtLSBpZiB3ZSB1c2UgcmVndWxhciBgYXNzZXJ0JyB3ZSBjYW4ndCBwcm92aWRlIHRoZSBgbGV2ZWwnIGFyZ3VtZW50IG9mIHplcm8KICAgIGlmIG5vdCBjb25kaXRpb24gdGhlbgogICAgICAgIGVycm9yKHN0cmluZy5mb3JtYXQoIkNvbXBpbGUgZXJyb3IgaW4gJyVzJyAlczolczogJXMiLCBhc3RbMV1bMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuZmlsZW5hbWUgb3IgInVua25vd24iLCBhc3QubGluZSBvciAnPycsIG1zZyksIDApCiAgICBlbmQKICAgIHJldHVybiBjb25kaXRpb24KZW5kCgpsb2NhbCBHTE9CQUxfU0NPUEUgPSBtYWtlU2NvcGUoKQpHTE9CQUxfU0NPUEUudmFyYXJnID0gdHJ1ZQpsb2NhbCBTUEVDSUFMUyA9IEdMT0JBTF9TQ09QRS5zcGVjaWFscwpsb2NhbCBDT01QSUxFUl9TQ09QRSA9IG1ha2VTY29wZShHTE9CQUxfU0NPUEUpCgpsb2NhbCBsdWFLZXl3b3JkcyA9IHsKICAgICdhbmQnLCAnYnJlYWsnLCAnZG8nLCAnZWxzZScsICdlbHNlaWYnLCAnZW5kJywgJ2ZhbHNlJywgJ2ZvcicsICdmdW5jdGlvbicsCiAgICAnaWYnLCAnaW4nLCAnbG9jYWwnLCAnbmlsJywgJ25vdCcsICdvcicsICdyZXBlYXQnLCAncmV0dXJuJywgJ3RoZW4nLCAndHJ1ZScsCiAgICAndW50aWwnLCAnd2hpbGUnCn0KZm9yIGksIHYgaW4gaXBhaXJzKGx1YUtleXdvcmRzKSBkbwogICAgbHVhS2V5d29yZHNbdl0gPSBpCmVuZAoKbG9jYWwgZnVuY3Rpb24gaXNWYWxpZEx1YUlkZW50aWZpZXIoc3RyKQogICAgcmV0dXJuIChzdHI6bWF0Y2goJ15bJWFfXVsld19dKiQnKSBhbmQgbm90IGx1YUtleXdvcmRzW3N0cl0pCmVuZAoKLS0gQWxsb3cgcHJpbnRpbmcgYSBzdHJpbmcgdG8gTHVhLCBhbHNvIGtlZXAgYXMgMSBsaW5lLgpsb2NhbCBzZXJpYWxpemVTdWJzdCA9IHsKICAgIFsnXGEnXSA9ICdcXGEnLAogICAgWydcYiddID0gJ1xcYicsCiAgICBbJ1xmJ10gPSAnXFxmJywKICAgIFsnXG4nXSA9ICduJywKICAgIFsnXHQnXSA9ICdcXHQnLAogICAgWydcdiddID0gJ1xcdicKfQpsb2NhbCBmdW5jdGlvbiBzZXJpYWxpemVTdHJpbmcoc3RyKQogICAgbG9jYWwgcyA9ICgiJXEiKTpmb3JtYXQoc3RyKQogICAgcyA9IHM6Z3N1YignLicsIHNlcmlhbGl6ZVN1YnN0KTpnc3ViKCJbXDEyOC1cMjU1XSIsIGZ1bmN0aW9uKGMpCiAgICAgICAgcmV0dXJuICJcXCIgLi4gYzpieXRlKCkKICAgIGVuZCkKICAgIHJldHVybiBzCmVuZAoKLS0gQSBtdWx0aSBzeW1ib2wgaXMgYSBzeW1ib2wgdGhhdCBpcyBhY3R1YWxseSBjb21wb3NlZCBvZgotLSB0d28gb3IgbW9yZSBzeW1ib2xzIHVzaW5nIHRoZSBkb3Qgc3ludGF4LiBUaGUgbWFpbiBkaWZmZXJlbmNlcwotLSBmcm9tIG5vcm1hbCBzeW1ib2xzIGlzIHRoYXQgdGhleSBjYW5ub3QgYmUgZGVjbGFyZWQgbG9jYWwsIGFuZAotLSB0aGV5IG1heSBoYXZlIHNpZGUgZWZmZWN0cyBvbiBpbnZvY2F0aW9uIChtZXRhdGFibGVzKQpsb2NhbCBmdW5jdGlvbiBpc011bHRpU3ltKHN0cikKICAgIGlmIHR5cGUoc3RyKSB+PSAnc3RyaW5nJyB0aGVuIHJldHVybiBlbmQKICAgIGxvY2FsIHBhcnRzID0ge30KICAgIGZvciBwYXJ0IGluIHN0cjpnbWF0Y2goJ1teJS5dKycpIGRvCiAgICAgICAgcGFydHNbI3BhcnRzICsgMV0gPSBwYXJ0CiAgICBlbmQKICAgIHJldHVybiAjcGFydHMgPiAwIGFuZAogICAgc3RyOm1hdGNoKCclLicpIGFuZAogICAgKG5vdCBzdHI6bWF0Y2goJyUuJS4nKSkgYW5kCiAgICBzdHI6Ynl0ZSgpIH49IHN0cmluZy5ieXRlICcuJyBhbmQKICAgIHN0cjpieXRlKC0xKSB+PSBzdHJpbmcuYnl0ZSAnLicgYW5kCiAgICBwYXJ0cwplbmQKCi0tIE1hbmdsZXIgZm9yIGdsb2JhbCBzeW1ib2xzLiBEb2VzIG5vdCBwcm90ZWN0IGFnYWluc3QgY29sbGlzaW9ucywKLS0gYnV0IG1ha2VzIHRoZW0gdW5saWtlbHkuIFRoaXMgaXMgdGhlIG1hbmdsaW5nIHRoYXQgaXMgZXhwb3NlZCB0bwotLSB0byB0aGUgd29ybGQuCmxvY2FsIGZ1bmN0aW9uIGdsb2JhbE1hbmdsaW5nKHN0cikKICAgIGlmIGlzVmFsaWRMdWFJZGVudGlmaWVyKHN0cikgdGhlbgogICAgICAgIHJldHVybiBzdHIKICAgIGVuZAogICAgLS0gVXNlIHVuZGVyc2NvcmUgYXMgZXNjYXBlIGNoYXJhY3RlcgogICAgcmV0dXJuICdfX2ZubF9nbG9iYWxfXycgLi4gc3RyOmdzdWIoJ1teJXddJywgZnVuY3Rpb24gKGMpCiAgICAgICAgcmV0dXJuICgnXyUwMngnKTpmb3JtYXQoYzpieXRlKCkpCiAgICBlbmQpCmVuZAoKLS0gUmV2ZXJzZSBhIGdsb2JhbCBtYW5nbGluZy4gVGFrZXMgYSBMdWEgaWRlbnRpZmllciBhbmQKLS0gcmV0dXJucyB0aGUgZmVubmVsIHN5bWJvbCBzdHJpbmcgdGhhdCBjcmVhdGVkIGl0Lgpsb2NhbCBmdW5jdGlvbiBnbG9iYWxVbm1hbmdsaW5nKGlkZW50aWZpZXIpCiAgICBsb2NhbCByZXN0ID0gaWRlbnRpZmllcjptYXRjaCgnXl9fZm5sX2dsb2JhbF9fKC4qKSQnKQogICAgaWYgcmVzdCB0aGVuCiAgICAgICAgcmV0dXJuIHJlc3Q6Z3N1YignX1slZGEtZl1bJWRhLWZdJywgZnVuY3Rpb24gKGNvZGUpCiAgICAgICAgICAgIHJldHVybiBzdHJpbmcuY2hhcih0b251bWJlcihjb2RlOnN1YigyKSwgMTYpKQogICAgICAgIGVuZCkKICAgIGVsc2UKICAgICAgICByZXR1cm4gaWRlbnRpZmllcgogICAgZW5kCmVuZAoKLS0gQ3JlYXRlcyBhIHN5bWJvbCBmcm9tIGEgc3RyaW5nIGJ5IG1hbmdsaW5nIGl0LgotLSBlbnN1cmVzIHRoYXQgdGhlIGdlbmVyYXRlZCBzeW1ib2wgaXMgdW5pcXVlCi0tIGlmIHRoZSBpbnB1dCBzdHJpbmcgaXMgdW5pcXVlIGluIHRoZSBzY29wZS4KbG9jYWwgZnVuY3Rpb24gbG9jYWxNYW5nbGluZyhzdHIsIHNjb3BlKQogICAgaWYgc2NvcGUubWFuZ2xpbmdzW3N0cl0gdGhlbgogICAgICAgIHJldHVybiBzY29wZS5tYW5nbGluZ3Nbc3RyXQogICAgZW5kCiAgICBsb2NhbCBhcHBlbmQgPSAwCiAgICBsb2NhbCBtYW5nbGluZyA9IHN0cgogICAgaWYgaXNNdWx0aVN5bShzdHIpIHRoZW4gZXJyb3IgJ2RpZCBub3QgZXhwZWN0IGEgbXVsdGkgc3ltYm9sJyBlbmQKCiAgICAtLSBNYXBwaW5nIG1hbmdsaW5nIHRvIGEgdmFsaWQgTHVhIGlkZW50aWZpZXIKICAgIGlmIGx1YUtleXdvcmRzW21hbmdsaW5nXSBvciBtYW5nbGluZzptYXRjaCgnXiVkJykgdGhlbgogICAgICAgIG1hbmdsaW5nID0gJ18nIC4uIG1hbmdsaW5nCiAgICBlbmQKICAgIG1hbmdsaW5nID0gbWFuZ2xpbmc6Z3N1YignLScsICdfJykKICAgIG1hbmdsaW5nID0gbWFuZ2xpbmc6Z3N1YignW14ld19dJywgZnVuY3Rpb24gKGMpCiAgICAgICAgcmV0dXJuICgnXyUwMngnKTpmb3JtYXQoYzpieXRlKCkpCiAgICBlbmQpCgogICAgbG9jYWwgcmF3ID0gbWFuZ2xpbmcKICAgIHdoaWxlIHNjb3BlLnVubWFuZ2xpbmdzW21hbmdsaW5nXSBkbwogICAgICAgIG1hbmdsaW5nID0gcmF3IC4uIGFwcGVuZAogICAgICAgIGFwcGVuZCA9IGFwcGVuZCArIDEKICAgIGVuZAogICAgc2NvcGUudW5tYW5nbGluZ3NbbWFuZ2xpbmddID0gc3RyCiAgICBzY29wZS5tYW5nbGluZ3Nbc3RyXSA9IG1hbmdsaW5nCiAgICByZXR1cm4gbWFuZ2xpbmcKZW5kCgotLSBDb21iaW5lIHBhcnRzIG9mIGEgc3ltYm9sCmxvY2FsIGZ1bmN0aW9uIGNvbWJpbmVQYXJ0cyhwYXJ0cywgc2NvcGUpCiAgICBsb2NhbCByZXQgPSBzY29wZS5tYW5nbGluZ3NbcGFydHNbMV1dIG9yIGdsb2JhbE1hbmdsaW5nKHBhcnRzWzFdKQogICAgZm9yIGkgPSAyLCAjcGFydHMgZG8KICAgICAgICBpZiBpc1ZhbGlkTHVhSWRlbnRpZmllcihwYXJ0c1tpXSkgdGhlbgogICAgICAgICAgICByZXQgPSByZXQgLi4gJy4nIC4uIHBhcnRzW2ldCiAgICAgICAgZWxzZQogICAgICAgICAgICByZXQgPSByZXQgLi4gJ1snIC4uIHNlcmlhbGl6ZVN0cmluZyhwYXJ0c1tpXSkgLi4gJ10nCiAgICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiByZXQKZW5kCgotLSBHZW5lcmF0ZXMgYSB1bmlxdWUgc3ltYm9sIGluIHRoZSBzY29wZS4KbG9jYWwgZnVuY3Rpb24gZ2Vuc3ltKHNjb3BlKQogICAgbG9jYWwgbWFuZ2xpbmcKICAgIGxvY2FsIGFwcGVuZCA9IDAKICAgIHJlcGVhdAogICAgICAgIG1hbmdsaW5nID0gJ18nIC4uIGFwcGVuZCAuLiAnXycKICAgICAgICBhcHBlbmQgPSBhcHBlbmQgKyAxCiAgICB1bnRpbCBub3Qgc2NvcGUudW5tYW5nbGluZ3NbbWFuZ2xpbmddCiAgICBzY29wZS51bm1hbmdsaW5nc1ttYW5nbGluZ10gPSB0cnVlCiAgICByZXR1cm4gbWFuZ2xpbmcKZW5kCgotLSBEZWNsYXJlIGEgbG9jYWwgc3ltYm9sCmxvY2FsIGZ1bmN0aW9uIGRlY2xhcmVMb2NhbChzeW1ib2wsIG1ldGEsIHNjb3BlLCBhc3QpCiAgICBsb2NhbCBuYW1lID0gc3ltYm9sWzFdCiAgICBhc3NlcnRDb21waWxlKG5vdCBpc011bHRpU3ltKG5hbWUpLCAiZGlkIG5vdCBleHBlY3QgbXV0bHRpc3ltIiwgYXN0KQogICAgbG9jYWwgbWFuZ2xpbmcgPSBsb2NhbE1hbmdsaW5nKG5hbWUsIHNjb3BlKQogICAgc2NvcGUuc3ltbWV0YVtuYW1lXSA9IG1ldGEKICAgIHJldHVybiBtYW5nbGluZwplbmQKCi0tIENvbnZlcnQgc3ltYm9sIHRvIEx1YSBjb2RlLiBXaWxsIG9ubHkgd29yayBmb3IgbG9jYWwgc3ltYm9scwotLSBpZiB0aGV5IGhhdmUgYWxyZWFkeSBiZWVuIGRlY2xhcmVkIHZpYSBkZWNsYXJlTG9jYWwKbG9jYWwgZnVuY3Rpb24gc3ltYm9sVG9FeHByZXNzaW9uKHN5bWJvbCwgc2NvcGUpCiAgICBsb2NhbCBuYW1lID0gc3ltYm9sWzFdCiAgICBsb2NhbCBwYXJ0cyA9IGlzTXVsdGlTeW0obmFtZSkgb3Ige25hbWV9CiAgICBsb2NhbCBldHlwZSA9ICgjcGFydHMgPiAxKSBhbmQgImV4cHJlc3Npb24iIG9yICJzeW0iCiAgICByZXR1cm4gZXhwcihjb21iaW5lUGFydHMocGFydHMsIHNjb3BlKSwgZXR5cGUpCmVuZAoKCi0tIEVtaXQgTHVhIGNvZGUKbG9jYWwgZnVuY3Rpb24gZW1pdChjaHVuaywgb3V0LCBhc3QpCiAgICBpZiB0eXBlKG91dCkgPT0gJ3RhYmxlJyB0aGVuCiAgICAgICAgdGFibGUuaW5zZXJ0KGNodW5rLCBvdXQpCiAgICBlbHNlCiAgICAgICAgdGFibGUuaW5zZXJ0KGNodW5rLCB7bGVhZiA9IG91dCwgYXN0ID0gYXN0fSkKICAgIGVuZAplbmQKCi0tIERvIHNvbWUgcGVlcGhvbGUgb3B0aW1pemF0aW9uLgpsb2NhbCBmdW5jdGlvbiBwZWVwaG9sZShjaHVuaykKICAgIGlmIGNodW5rLmxlYWYgdGhlbiByZXR1cm4gY2h1bmsgZW5kCiAgICAtLSBPcHRpbWl6ZSBkbyAuLi4gZW5kIGluIHNvbWUgY2FzZXMuCiAgICBpZiAjY2h1bmsgPT0gMyBhbmQKICAgICAgICBjaHVua1sxXS5sZWFmID09ICdkbycgYW5kCiAgICAgICAgbm90IGNodW5rWzJdLmxlYWYgYW5kCiAgICAgICAgY2h1bmtbM10ubGVhZiA9PSAnZW5kJyB0aGVuCiAgICAgICAgcmV0dXJuIHBlZXBob2xlKGNodW5rWzJdKQogICAgZW5kCiAgICAtLSBSZWN1cnNlCiAgICBmb3IgaSwgdiBpbiBpcGFpcnMoY2h1bmspIGRvCiAgICAgICAgY2h1bmtbaV0gPSBwZWVwaG9sZSh2KQogICAgZW5kCiAgICByZXR1cm4gY2h1bmsKZW5kCgotLSBjb3JyZWxhdGUgbGluZSBudW1iZXJzIGluIGlucHV0IHdpdGggbGluZSBudW1iZXJzIGluIG91dHB1dApsb2NhbCBmdW5jdGlvbiBmbGF0dGVuQ2h1bmtDb3JyZWxhdGVkKG1haW5DaHVuaykKICAgIGxvY2FsIGZ1bmN0aW9uIGZsYXR0ZW4oY2h1bmssIG91dCwgbGFzdExpbmUsIGZpbGUpCiAgICAgICAgaWYgY2h1bmsubGVhZiB0aGVuCiAgICAgICAgICAgIG91dFtsYXN0TGluZV0gPSAob3V0W2xhc3RMaW5lXSBvciAiIikgLi4gIiAiIC4uIGNodW5rLmxlYWYKICAgICAgICBlbHNlCiAgICAgICAgICAgIGZvciBfLCBzdWJjaHVuayBpbiBpcGFpcnMoY2h1bmspIGRvCiAgICAgICAgICAgICAgICAtLSBJZ25vcmUgZW1wdHkgY2h1bmtzCiAgICAgICAgICAgICAgICBpZiBzdWJjaHVuay5sZWFmIG9yICNzdWJjaHVuayA+IDAgdGhlbgogICAgICAgICAgICAgICAgICAgIC0tIGRvbid0IGluY3JlYXNlIGxpbmUgdW5sZXNzIGl0J3MgZnJvbSB0aGUgc2FtZSBmaWxlCiAgICAgICAgICAgICAgICAgICAgaWYgc3ViY2h1bmsuYXN0IGFuZCBmaWxlID09IHN1YmNodW5rLmFzdC5maWxlIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgbGFzdExpbmUgPSBtYXRoLm1heChsYXN0TGluZSwgc3ViY2h1bmsuYXN0LmxpbmUgb3IgMCkKICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICBsYXN0TGluZSA9IGZsYXR0ZW4oc3ViY2h1bmssIG91dCwgbGFzdExpbmUsIGZpbGUpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIGxhc3RMaW5lCiAgICBlbmQKICAgIGxvY2FsIG91dCA9IHt9CiAgICBsb2NhbCBsYXN0ID0gZmxhdHRlbihtYWluQ2h1bmssIG91dCwgMSwgbWFpbkNodW5rLmZpbGUpCiAgICBmb3IgaSA9IDEsIGxhc3QgZG8KICAgICAgICBpZiBvdXRbaV0gPT0gbmlsIHRoZW4gb3V0W2ldID0gIiIgZW5kCiAgICBlbmQKICAgIHJldHVybiB0YWJsZS5jb25jYXQob3V0LCAiXG4iKQplbmQKCi0tIEZsYXR0ZW4gYSB0cmVlIG9mIGluZGVudGVkIEx1YSBzb3VyY2UgY29kZSBsaW5lcy4KLS0gVGFiIGlzIHdoYXQgaXMgdXNlZCB0byBpbmRlbnQgYSBibG9jay4KbG9jYWwgZnVuY3Rpb24gZmxhdHRlbkNodW5rKHNtLCBjaHVuaywgdGFiLCBkZXB0aCkKICAgIGlmIHR5cGUodGFiKSA9PSAnYm9vbGVhbicgdGhlbiB0YWIgPSB0YWIgYW5kICcgICcgb3IgJycgZW5kCiAgICBpZiBjaHVuay5sZWFmIHRoZW4KICAgICAgICBsb2NhbCBjb2RlID0gY2h1bmsubGVhZgogICAgICAgIGxvY2FsIGluZm8gPSBjaHVuay5hc3QKICAgICAgICAtLSBKdXN0IGRvIGxpbmUgaW5mbyBmb3Igbm93IHRvIHNhdmUgbWVtb3J5CiAgICAgICAgaWYgc20gdGhlbiBzbVsjc20gKyAxXSA9IGluZm8gYW5kIGluZm8ubGluZSBvciAtMSBlbmQKICAgICAgICByZXR1cm4gY29kZQogICAgZWxzZQogICAgICAgIGxvY2FsIHBhcnRzID0ge30KICAgICAgICBmb3IgaSA9IDEsICNjaHVuayBkbwogICAgICAgICAgICAtLSBJZ25vcmUgZW1wdHkgY2h1bmtzCiAgICAgICAgICAgIGlmIGNodW5rW2ldLmxlYWYgb3IgIyhjaHVua1tpXSkgPiAwIHRoZW4KICAgICAgICAgICAgICAgIGxvY2FsIHN1YiA9IGZsYXR0ZW5DaHVuayhzbSwgY2h1bmtbaV0sIHRhYiwgZGVwdGggKyAxKQogICAgICAgICAgICAgICAgaWYgZGVwdGggPiAwIHRoZW4gc3ViID0gdGFiIC4uIHN1Yjpnc3ViKCdcbicsICdcbicgLi4gdGFiKSBlbmQKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChwYXJ0cywgc3ViKQogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICByZXR1cm4gdGFibGUuY29uY2F0KHBhcnRzLCAnXG4nKQogICAgZW5kCmVuZAoKLS0gU29tZSBnbG9iYWwgc3RhdGUgZm9yIGFsbCBmZW5uZWwgc291cmNlbWFwcy4gRm9yIHRoZSB0aW1lIGJlaW5nLAotLSB0aGlzIHNlZW1zIHRoZSBlYXNpZXN0IHdheSB0byBzdG9yZSB0aGUgc291cmNlIG1hcHMuCi0tIFNvdXJjZW1hcHMgYXJlIHN0b3JlZCB3aXRoIHNvdXJjZSBiZWluZyBtYXBwZWQgYXMgdGhlIGtleSwgcHJlcGVuZGVkCi0tIHdpdGggJ0AnIGlmIGl0IGlzIGEgZmlsZW5hbWUgKGxpa2UgZGVidWcuZ2V0aW5mbyByZXR1cm5zIGZvciBzb3VyY2UpLgotLSBUaGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgbWFwcGluZ3MgZm9yIGVhY2ggbGluZS4KbG9jYWwgZmVubmVsU291cmNlbWFwID0ge30KLS0gVE9ETzogbG9hZGluZywgdW5sb2FkaW5nLCBhbmQgc2F2aW5nIHNvdXJjZW1hcHM/Cgpsb2NhbCBmdW5jdGlvbiBtYWtlU2hvcnRTcmMoc291cmNlKQogICAgc291cmNlID0gc291cmNlOmdzdWIoJ1xuJywgJyAnKQogICAgaWYgI3NvdXJjZSA8PSA0OSB0aGVuCiAgICAgICAgcmV0dXJuICdbZmVubmVsICInIC4uIHNvdXJjZSAuLiAnIl0nCiAgICBlbHNlCiAgICAgICAgcmV0dXJuICdbZmVubmVsICInIC4uIHNvdXJjZTpzdWIoMSwgNDYpIC4uICcuLi4iXScKICAgIGVuZAplbmQKCi0tIFJldHVybiBMdWEgc291cmNlIGFuZCBzb3VyY2UgbWFwIHRhYmxlCmxvY2FsIGZ1bmN0aW9uIGZsYXR0ZW4oY2h1bmssIG9wdGlvbnMpCiAgICBsb2NhbCBzbSA9IG9wdGlvbnMuc291cmNlbWFwIGFuZCB7fQogICAgY2h1bmsgPSBwZWVwaG9sZShjaHVuaykKICAgIGlmKG9wdGlvbnMuY29ycmVsYXRlKSB0aGVuCiAgICAgICAgcmV0dXJuIGZsYXR0ZW5DaHVua0NvcnJlbGF0ZWQoY2h1bmspLCB7fQogICAgZWxzZQogICAgICAgIGxvY2FsIHJldCA9IGZsYXR0ZW5DaHVuayhzbSwgY2h1bmssIG9wdGlvbnMuaW5kZW50LCAwKQogICAgICAgIGlmIHNtIHRoZW4KICAgICAgICAgICAgbG9jYWwga2V5LCBzaG9ydF9zcmMKICAgICAgICAgICAgaWYgb3B0aW9ucy5maWxlbmFtZSB0aGVuCiAgICAgICAgICAgICAgICBzaG9ydF9zcmMgPSBvcHRpb25zLmZpbGVuYW1lCiAgICAgICAgICAgICAgICBrZXkgPSAnQCcgLi4gc2hvcnRfc3JjCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGtleSA9IHJldAogICAgICAgICAgICAgICAgc2hvcnRfc3JjID0gbWFrZVNob3J0U3JjKG9wdGlvbnMuc291cmNlIG9yIHJldCkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHNtLnNob3J0X3NyYyA9IHNob3J0X3NyYwogICAgICAgICAgICBzbS5rZXkgPSBrZXkKICAgICAgICAgICAgZmVubmVsU291cmNlbWFwW2tleV0gPSBzbQogICAgICAgIGVuZAogICAgICAgIHJldHVybiByZXQsIHNtCiAgICBlbmQKZW5kCgotLSBDb252ZXJ0IGV4cHJlc3Npb25zIHRvIEx1YSBzdHJpbmcKbG9jYWwgZnVuY3Rpb24gZXhwcnMxKGV4cHJzKQogICAgbG9jYWwgdCA9IHt9CiAgICBmb3IgXywgZSBpbiBpcGFpcnMoZXhwcnMpIGRvCiAgICAgICAgdFsjdCArIDFdID0gZVsxXQogICAgZW5kCiAgICByZXR1cm4gdGFibGUuY29uY2F0KHQsICcsICcpCmVuZAoKLS0gQ29tcGlsZSBzaWRlIGVmZmVjdHMgZm9yIGEgY2h1bmsKbG9jYWwgZnVuY3Rpb24ga2VlcFNpZGVFZmZlY3RzKGV4cHJzLCBjaHVuaywgc3RhcnQsIGFzdCkKICAgIHN0YXJ0ID0gc3RhcnQgb3IgMQogICAgZm9yIGogPSBzdGFydCwgI2V4cHJzIGRvCiAgICAgICAgbG9jYWwgc2UgPSBleHByc1tqXQogICAgICAgIC0tIEF2b2lkIHRoZSByb2d1ZSAnbmlsJyBleHByZXNzaW9uIChuaWwgaXMgdXN1YWxseSBhIGxpdGVyYWwsCiAgICAgICAgLS0gYnV0IGJlY29tZXMgYW4gZXhwcmVzc2lvbiBpZiBhIHNwZWNpYWwgZm9ybQogICAgICAgIC0tIHJldHVybnMgJ25pbCcuKQogICAgICAgIGlmIHNlLnR5cGUgPT0gJ2V4cHJlc3Npb24nIGFuZCBzZVsxXSB+PSAnbmlsJyB0aGVuCiAgICAgICAgICAgIGVtaXQoY2h1bmssICgnZG8gbG9jYWwgXyA9ICVzIGVuZCcpOmZvcm1hdCh0b3N0cmluZyhzZSkpLCBhc3QpCiAgICAgICAgZWxzZWlmIHNlLnR5cGUgPT0gJ3N0YXRlbWVudCcgdGhlbgogICAgICAgICAgICBlbWl0KGNodW5rLCB0b3N0cmluZyhzZSksIGFzdCkKICAgICAgICBlbmQKICAgIGVuZAplbmQKCi0tIERvZXMgc29tZSBjb21tb24gaGFuZGxpbmcgb2YgcmV0dXJucyBhbmQgcmVnaXN0ZXIKLS0gdGFyZ2V0cyBmb3Igc3BlY2lhbCBmb3Jtcy4gQWxzbyBlbnN1cmVzIGEgbGlzdCBleHByZXNzaW9uCi0tIGhhcyBhbiBhY2NlcHRhYmxlIG51bWJlciBvZiBleHByZXNzaW9ucyBpZiBvcHRzIGNvbnRhaW5zIHRoZQotLSAibnZhbCIgb3B0aW9uLgpsb2NhbCBmdW5jdGlvbiBoYW5kbGVDb21waWxlT3B0cyhleHBycywgcGFyZW50LCBvcHRzLCBhc3QpCiAgICBpZiBvcHRzLm52YWwgdGhlbgogICAgICAgIGxvY2FsIG4gPSBvcHRzLm52YWwKICAgICAgICBpZiBuIH49ICNleHBycyB0aGVuCiAgICAgICAgICAgIGxvY2FsIGxlbiA9ICNleHBycwogICAgICAgICAgICBpZiBsZW4gPiBuIHRoZW4KICAgICAgICAgICAgICAgIC0tIERyb3AgZXh0cmEKICAgICAgICAgICAgICAgIGtlZXBTaWRlRWZmZWN0cyhleHBycywgcGFyZW50LCBuICsgMSwgYXN0KQogICAgICAgICAgICAgICAgZm9yIGkgPSBuLCBsZW4gZG8KICAgICAgICAgICAgICAgICAgICBleHByc1tpXSA9IG5pbAogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIC0tIFBhZCB3aXRoIG5pbHMKICAgICAgICAgICAgICAgIGZvciBpID0gI2V4cHJzICsgMSwgbiBkbwogICAgICAgICAgICAgICAgICAgIGV4cHJzW2ldID0gZXhwcignbmlsJywgJ2xpdGVyYWwnKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCiAgICBpZiBvcHRzLnRhaWwgdGhlbgogICAgICAgIGVtaXQocGFyZW50LCAoJ3JldHVybiAlcycpOmZvcm1hdChleHByczEoZXhwcnMpKSwgYXN0KQogICAgZW5kCiAgICBpZiBvcHRzLnRhcmdldCB0aGVuCiAgICAgICAgZW1pdChwYXJlbnQsICgnJXMgPSAlcycpOmZvcm1hdChvcHRzLnRhcmdldCwgZXhwcnMxKGV4cHJzKSksIGFzdCkKICAgIGVuZAogICAgaWYgb3B0cy50YWlsIG9yIG9wdHMudGFyZ2V0IHRoZW4KICAgICAgICAtLSBQcmV2ZW50IHN0YXRlbWVudHMgYW5kIGV4cHJlc3Npb24gZnJvbSBiZWluZyB1c2VkIHR3aWNlIGlmIHRoZXkKICAgICAgICAtLSBoYXZlIHNpZGUtZWZmZWN0cy4gU2luY2UgaWYgdGhlIHRhcmdldCBvciB0YWlsIG9wdGlvbnMgYXJlIHNldCwKICAgICAgICAtLSB0aGUgZXhwcmVzc2lvbnMgYXJlIGFscmVhZHkgZW1pdHRlZCwgd2Ugc2hvdWxkIG5vdCByZXR1cm4gdGhlbS4gVGhpcwogICAgICAgIC0tIGlzIGZpbmUsIGFzIHdoZW4gdGhlc2Ugb3B0aW9ucyBhcmUgc2V0LCB0aGUgY2FsbGVyIGRvZXNuJ3QgbmVlZCB0aGUgcmVzdWx0CiAgICAgICAgLS0gYW55d2F5cy4KICAgICAgICBleHBycyA9IHt9CiAgICBlbmQKICAgIHJldHVybiBleHBycwplbmQKCi0tIENvbXBpbGUgYW4gQVNUIGV4cHJlc3Npb24gaW4gdGhlIHNjb3BlIGludG8gcGFyZW50LCBhIHRyZWUKLS0gb2YgbGluZXMgdGhhdCBpcyBldmVudHVhbGx5IGNvbXBpbGVkIGludG8gTHVhIGNvZGUuIEFsc28KLS0gcmV0dXJucyBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmFsdWF0aW9uIG9mIHRoZSBjb21waWxlZCBleHByZXNzaW9uLAotLSB3aGljaCBjYW4gYmUgdXNlZCBieSB0aGUgY2FsbGluZyBmdW5jdGlvbi4gTWFjcm9zCi0tIGFyZSByZXNvbHZlZCBoZXJlLCBhcyB3ZWxsIGFzIHNwZWNpYWwgZm9ybXMgaW4gdGhhdCBvcmRlci4KLS0gdGhlICdhc3QnIHBhcmFtIGlzIHRoZSByb290IEFTVCB0byBjb21waWxlCi0tIHRoZSAnc2NvcGUnIHBhcmFtIGlzIHRoZSBzY29wZSBpbiB3aGljaCB3ZSBhcmUgY29tcGlsaW5nCi0tIHRoZSAncGFyZW50JyBwYXJhbSBpcyB0aGUgdGFibGUgb2YgbGluZXMgdGhhdCB3ZSBhcmUgY29tcGlsaW5nIGludG8uCi0tIGFkZCBsaW5lcyB0byBwYXJlbnQgYnkgYXBwZW5kaW5nIHN0cmluZ3MuIEFkZCBpbmRlbnRlZCBibG9ja3MgYnkgYXBwZW5kaW5nCi0tIHRhYmxlcyBvZiBtb3JlIGxpbmVzLgotLSB0aGUgJ29wdHMnIHBhcmFtIGNvbnRhaW5zIGluZm8gYWJvdXQgd2hlcmUgdGhlIGZvcm0gaXMgYmVpbmcgY29tcGlsZWQuCi0tIE9wdGlvbnMgaW5jbHVkZToKLS0gICAndGFyZ2V0JyAtIG1hbmdsZWQgbmFtZSBvZiBzeW1ib2wocykgYmVpbmcgY29tcGlsZWQgdG8uCi0tICAgICAgQ291bGQgYmUgb25lIHZhcmlhYmxlLCAnYScsIG9yIGEgbGlzdCwgbGlrZSAnYSwgYiwgXzBfJy4KLS0gICAndGFpbCcgLSBib29sZWFuIGluZGljYXRpbmcgdGFpbCBwb3NpdGlvbiBpZiBzZXQuIElmIHNldCwgZm9ybSB3aWxsIGdlbmVyYXRlIGEgcmV0dXJuCi0tICAgaW5zdHJ1Y3Rpb24uCmxvY2FsIGZ1bmN0aW9uIGNvbXBpbGUxKGFzdCwgc2NvcGUsIHBhcmVudCwgb3B0cykKICAgIG9wdHMgPSBvcHRzIG9yIHt9CiAgICBsb2NhbCBleHBycyA9IHt9CgogICAgLS0gQ29tcGlsZSB0aGUgZm9ybQogICAgaWYgaXNMaXN0KGFzdCkgdGhlbgogICAgICAgIC0tIEZ1bmN0aW9uIGNhbGwgb3Igc3BlY2lhbCBmb3JtCiAgICAgICAgbG9jYWwgbGVuID0gI2FzdAogICAgICAgIGFzc2VydChsZW4gPiAwLCAiZXhwZWN0ZWQgYSBmdW5jdGlvbiB0byBjYWxsIikKICAgICAgICAtLSBUZXN0IGZvciBzcGVjaWFsIGZvcm0KICAgICAgICBsb2NhbCBmaXJzdCA9IGFzdFsxXQogICAgICAgIGlmIGlzU3ltKGZpcnN0KSB0aGVuIC0tIFJlc29sdmUgc3ltYm9sCiAgICAgICAgICAgIGZpcnN0ID0gZmlyc3RbMV0KICAgICAgICBlbmQKICAgICAgICBsb2NhbCBzcGVjaWFsID0gc2NvcGUuc3BlY2lhbHNbZmlyc3RdCiAgICAgICAgaWYgc3BlY2lhbCBhbmQgaXNTeW0oYXN0WzFdKSB0aGVuCiAgICAgICAgICAgIC0tIFNwZWNpYWwgZm9ybQogICAgICAgICAgICBleHBycyA9IHNwZWNpYWwoYXN0LCBzY29wZSwgcGFyZW50LCBvcHRzKSBvciBleHByKCduaWwnLCAnbGl0ZXJhbCcpCiAgICAgICAgICAgIC0tIEJlIHZlcnkgYWNjZXB0aW5nIG9mIHN0cmluZ3Mgb3IgZXhwcmVzc2lvbgogICAgICAgICAgICAtLSBhcyB3ZWxsIGFzIGxpc3RzIG9yIGV4cHJlc3Npb25zCiAgICAgICAgICAgIGlmIHR5cGUoZXhwcnMpID09ICdzdHJpbmcnIHRoZW4gZXhwcnMgPSBleHByKGV4cHJzLCAnZXhwcmVzc2lvbicpIGVuZAogICAgICAgICAgICBpZiBnZXRtZXRhdGFibGUoZXhwcnMpID09IEVYUFJfTVQgdGhlbiBleHBycyA9IHtleHByc30gZW5kCiAgICAgICAgICAgIC0tIFVubGVzcyB0aGUgc3BlY2lhbCBmb3JtIGV4cGxpY2l0bHkgaGFuZGxlcyB0aGUgdGFyZ2V0LCB0YWlsLCBhbmQgbnZhbCBwcm9wZXJ0aWVzLAogICAgICAgICAgICAtLSAoaW5kaWNhdGVkIHZpYSB0aGUgJ3JldHVybmVkJyBmbGFnLCBoYW5kbGUgdGhlc2Ugb3B0aW9ucy4KICAgICAgICAgICAgaWYgbm90IGV4cHJzLnJldHVybmVkIHRoZW4KICAgICAgICAgICAgICAgIGV4cHJzID0gaGFuZGxlQ29tcGlsZU9wdHMoZXhwcnMsIHBhcmVudCwgb3B0cywgYXN0KQogICAgICAgICAgICBlbHNlaWYgb3B0cy50YWlsIG9yIG9wdHMudGFyZ2V0IHRoZW4KICAgICAgICAgICAgICAgIGV4cHJzID0ge30KICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGV4cHJzLnJldHVybmVkID0gdHJ1ZQogICAgICAgICAgICByZXR1cm4gZXhwcnMKICAgICAgICBlbHNlCiAgICAgICAgICAgIC0tIEZ1bmN0aW9uIGNhbGwKICAgICAgICAgICAgbG9jYWwgZmFyZ3MgPSB7fQogICAgICAgICAgICBsb2NhbCBmY2FsbGVlID0gY29tcGlsZTEoYXN0WzFdLCBzY29wZSwgcGFyZW50LCB7CiAgICAgICAgICAgICAgICBudmFsID0gMQogICAgICAgICAgICB9KVsxXQogICAgICAgICAgICBhc3NlcnQoZmNhbGxlZS50eXBlIH49ICdsaXRlcmFsJywgJ2Nhbm5vdCBjYWxsIGxpdGVyYWwgdmFsdWUnKQogICAgICAgICAgICBmY2FsbGVlID0gdG9zdHJpbmcoZmNhbGxlZSkKICAgICAgICAgICAgZm9yIGkgPSAyLCBsZW4gZG8KICAgICAgICAgICAgICAgIGxvY2FsIHN1YmV4cHJzID0gY29tcGlsZTEoYXN0W2ldLCBzY29wZSwgcGFyZW50LCB7CiAgICAgICAgICAgICAgICAgICAgbnZhbCA9IGkgfj0gbGVuIGFuZCAxIG9yIG5pbAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIGZhcmdzWyNmYXJncyArIDFdID0gc3ViZXhwcnNbMV0gb3IgZXhwcignbmlsJywgJ2xpdGVyYWwnKQogICAgICAgICAgICAgICAgaWYgaSA9PSBsZW4gdGhlbgogICAgICAgICAgICAgICAgICAgIC0tIEFkZCBzdWIgZXhwcmVzc2lvbnMgdG8gZnVuY3Rpb24gYXJncwogICAgICAgICAgICAgICAgICAgIGZvciBqID0gMiwgI3N1YmV4cHJzIGRvCiAgICAgICAgICAgICAgICAgICAgICAgIGZhcmdzWyNmYXJncyArIDFdID0gc3ViZXhwcnNbal0KICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAtLSBFbWl0IHN1YiBleHByZXNzaW9uIG9ubHkgZm9yIHNpZGUgZWZmZWN0cwogICAgICAgICAgICAgICAgICAgIGtlZXBTaWRlRWZmZWN0cyhzdWJleHBycywgcGFyZW50LCAyLCBhc3RbaV0pCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGxvY2FsIGNhbGwgPSAoJyVzKCVzKScpOmZvcm1hdCh0b3N0cmluZyhmY2FsbGVlKSwgZXhwcnMxKGZhcmdzKSkKICAgICAgICAgICAgZXhwcnMgPSBoYW5kbGVDb21waWxlT3B0cyh7ZXhwcihjYWxsLCAnc3RhdGVtZW50Jyl9LCBwYXJlbnQsIG9wdHMsIGFzdCkKICAgICAgICBlbmQKICAgIGVsc2VpZiBpc1ZhcmcoYXN0KSB0aGVuCiAgICAgICAgYXNzZXJ0KHNjb3BlLnZhcmFyZywgInVuZXhwZWN0ZWQgdmFyYXJnIikKICAgICAgICBleHBycyA9IGhhbmRsZUNvbXBpbGVPcHRzKHtleHByKCcuLi4nLCAndmFyZycpfSwgcGFyZW50LCBvcHRzLCBhc3QpCiAgICBlbHNlaWYgaXNTeW0oYXN0KSB0aGVuCiAgICAgICAgbG9jYWwgZQogICAgICAgIC0tIEhhbmRsZSBuaWwgYXMgc3BlY2lhbCBzeW1ib2wgLSBpdCByZXNvbHZlcyB0byB0aGUgbmlsIGxpdGVyYWwgcmF0aGVyIHRoYW4KICAgICAgICAtLSBiZWluZyB1bm1hbmdsZWQuIEFsdGVybmF0aXZlbHksIHdlIGNvdWxkIHJlbW92ZSBpdCBmcm9tIHRoZSBsdWEga2V5d29yZHMgdGFibGUuCiAgICAgICAgaWYgYXN0WzFdID09ICduaWwnIHRoZW4KICAgICAgICAgICAgZSA9IGV4cHIoJ25pbCcsICdsaXRlcmFsJykKICAgICAgICBlbHNlCiAgICAgICAgICAgIGUgPSBzeW1ib2xUb0V4cHJlc3Npb24oYXN0LCBzY29wZSkKICAgICAgICBlbmQKICAgICAgICBleHBycyA9IGhhbmRsZUNvbXBpbGVPcHRzKHtlfSwgcGFyZW50LCBvcHRzLCBhc3QpCiAgICBlbHNlaWYgdHlwZShhc3QpID09ICduaWwnIG9yIHR5cGUoYXN0KSA9PSAnYm9vbGVhbicgdGhlbgogICAgICAgIGV4cHJzID0gaGFuZGxlQ29tcGlsZU9wdHMoe2V4cHIodG9zdHJpbmcoYXN0KSwgJ2xpdGVyYWwnKX0sIHBhcmVudCwgb3B0cykKICAgIGVsc2VpZiB0eXBlKGFzdCkgPT0gJ251bWJlcicgdGhlbgogICAgICAgIGxvY2FsIG4gPSAoJyUuMTdnJyk6Zm9ybWF0KGFzdCkKICAgICAgICBleHBycyA9IGhhbmRsZUNvbXBpbGVPcHRzKHtleHByKG4sICdsaXRlcmFsJyl9LCBwYXJlbnQsIG9wdHMpCiAgICBlbHNlaWYgdHlwZShhc3QpID09ICdzdHJpbmcnIHRoZW4KICAgICAgICBsb2NhbCBzID0gc2VyaWFsaXplU3RyaW5nKGFzdCkKICAgICAgICBleHBycyA9IGhhbmRsZUNvbXBpbGVPcHRzKHtleHByKHMsICdsaXRlcmFsJyl9LCBwYXJlbnQsIG9wdHMpCiAgICBlbHNlaWYgdHlwZShhc3QpID09ICd0YWJsZScgdGhlbgogICAgICAgIGxvY2FsIGJ1ZmZlciA9IHt9CiAgICAgICAgZm9yIGkgPSAxLCAjYXN0IGRvIC0tIFdyaXRlIG51bWVyaWMga2V5ZWQgdmFsdWVzLgogICAgICAgICAgICBidWZmZXJbI2J1ZmZlciArIDFdID0gdG9zdHJpbmcoY29tcGlsZTEoYXN0W2ldLCBzY29wZSwgcGFyZW50LCB7bnZhbCA9IDF9KVsxXSkKICAgICAgICBlbmQKICAgICAgICBsb2NhbCBrZXlzID0ge30KICAgICAgICBmb3IgaywgXyBpbiBwYWlycyhhc3QpIGRvIC0tIFdyaXRlIG90aGVyIGtleXMuCiAgICAgICAgICAgIGlmIHR5cGUoaykgfj0gJ251bWJlcicgb3IgbWF0aC5mbG9vcihrKSB+PSBrIG9yIGsgPCAxIG9yIGsgPiAjYXN0IHRoZW4KICAgICAgICAgICAgICAgIGxvY2FsIGtzdHIKICAgICAgICAgICAgICAgIGlmIHR5cGUoaykgPT0gJ3N0cmluZycgYW5kIGlzVmFsaWRMdWFJZGVudGlmaWVyKGspIHRoZW4KICAgICAgICAgICAgICAgICAgICBrc3RyID0gawogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGtzdHIgPSAnWycgLi4gdG9zdHJpbmcoY29tcGlsZTEoaywgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0pIC4uICddJwogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQoa2V5cywgeyBrc3RyLCBrIH0pCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICAgIHRhYmxlLnNvcnQoa2V5cywgZnVuY3Rpb24gKGEsIGIpIHJldHVybiBhWzFdIDwgYlsxXSBlbmQpCiAgICAgICAgZm9yIF8sIGsgaW4gaXBhaXJzKGtleXMpIGRvCiAgICAgICAgICAgIGxvY2FsIHYgPSBhc3Rba1syXV0KICAgICAgICAgICAgYnVmZmVyWyNidWZmZXIgKyAxXSA9ICgnJXMgPSAlcycpOmZvcm1hdCgKICAgICAgICAgICAgICAgIGtbMV0sIHRvc3RyaW5nKGNvbXBpbGUxKHYsIHNjb3BlLCBwYXJlbnQsIHtudmFsID0gMX0pWzFdKSkKICAgICAgICBlbmQKICAgICAgICBsb2NhbCB0YmwgPSAnKHsnIC4uIHRhYmxlLmNvbmNhdChidWZmZXIsICcsICcpIC4uJ30pJwogICAgICAgIGV4cHJzID0gaGFuZGxlQ29tcGlsZU9wdHMoe2V4cHIodGJsLCAnZXhwcmVzc2lvbicpfSwgcGFyZW50LCBvcHRzLCBhc3QpCiAgICBlbHNlCiAgICAgICAgZXJyb3IoJ2NvdWxkIG5vdCBjb21waWxlIHZhbHVlIG9mIHR5cGUgJyAuLiB0eXBlKGFzdCkpCiAgICBlbmQKICAgIGV4cHJzLnJldHVybmVkID0gdHJ1ZQogICAgcmV0dXJuIGV4cHJzCmVuZAoKLS0gU1BFQ0lBTFMgLS0KCi0tIEZvciBzdGF0ZW1lbnRzIGFuZCBleHByZXNzaW9ucywgcHV0IHRoZSB2YWx1ZSBpbiBhIGxvY2FsIHRvIGF2b2lkCi0tIGRvdWJsZS1ldmFsdWF0aW5nIGl0Lgpsb2NhbCBmdW5jdGlvbiBvbmNlKHZhbCwgYXN0LCBzY29wZSwgcGFyZW50KQogICAgaWYgdmFsLnR5cGUgPT0gJ3N0YXRlbWVudCcgb3IgdmFsLnR5cGUgPT0gJ2V4cHJlc3Npb24nIHRoZW4KICAgICAgICBsb2NhbCBzID0gZ2Vuc3ltKHNjb3BlKQogICAgICAgIGVtaXQocGFyZW50LCAoJ2xvY2FsICVzID0gJXMnKTpmb3JtYXQocywgdG9zdHJpbmcodmFsKSksIGFzdCkKICAgICAgICByZXR1cm4gZXhwcihzLCAnc3ltJykKICAgIGVsc2UKICAgICAgICByZXR1cm4gdmFsCiAgICBlbmQKZW5kCgotLSBJbXBsZW1lbnRzIGRlc3RydWN0dXJpbmcgZm9yIGZvcm1zIGxpa2UgbGV0LCBiaW5kaW5ncywgZXRjLgotLSBUYWtlcyBhIG51bWJlciBvZiBvcHRpb25zIHRvIGNvbnRyb2wgYmVoYXZpb3IuCi0tIHZhcjogV2hldGhlciBvciBub3QgdG8gbWFyayBzeW1ib2xzIGFzIG11dGFibGUKLS0gZGVjbGFyYXRpb246IGJlZ2luIGVhY2ggYXNzaWdubWVudCB3aXRoICdsb2NhbCcgaW4gb3V0cHV0Ci0tIG5vbXVsdGk6IGRpc2FsbG93IG11bHRpc3ltcyBpbiB0aGUgZGVzdHJ1Y3R1cmluZy4gVXNlZCBmb3IgKGxvY2FsKSBhbmQgKGdsb2JhbCkuCi0tIG5vdW5kZWY6IERvbid0IHNldCB1bmRlZmluZWQgYmluZGluZ3MuIChzZXQpCi0tIGZvcmNlZ2xvYmFsOiBEb24ndCBhbGxvdyBsb2NhbCBiaW5kaW5ncwpsb2NhbCBmdW5jdGlvbiBkZXN0cnVjdHVyZSh0bywgZnJvbSwgYXN0LCBzY29wZSwgcGFyZW50LCBvcHRzKQogICAgb3B0cyA9IG9wdHMgb3Ige30KICAgIGxvY2FsIGlzdmFyID0gb3B0cy5pc3ZhcgogICAgbG9jYWwgZGVjbGFyYXRpb24gPSBvcHRzLmRlY2xhcmF0aW9uCiAgICBsb2NhbCBub211bHRpID0gb3B0cy5ub211bHRpCiAgICBsb2NhbCBub3VuZGVmID0gb3B0cy5ub3VuZGVmCiAgICBsb2NhbCBmb3JjZWdsb2JhbCA9IG9wdHMuZm9yY2VnbG9iYWwKICAgIGxvY2FsIHNldHRlciA9IGRlY2xhcmF0aW9uIGFuZCAibG9jYWwgJXMgPSAlcyIgb3IgIiVzID0gJXMiCgogICAgLS0gR2V0IEx1YSBzb3VyY2UgZm9yIHN5bWJvbCwgYW5kIGNoZWNrIGZvciBlcnJvcnMKICAgIGxvY2FsIGZ1bmN0aW9uIGdldG5hbWUoc3ltYm9sLCB1cDEpCiAgICAgICAgbG9jYWwgcmF3ID0gc3ltYm9sWzFdCiAgICAgICAgYXNzZXJ0Q29tcGlsZShub3QgKG5vbXVsdGkgYW5kIGlzTXVsdGlTeW0ocmF3KSksCiAgICAgICAgICAgICdkaWQgbm90IGV4cGVjdCBtdWx0aXN5bScsIHVwMSkKICAgICAgICBpZiBkZWNsYXJhdGlvbiB0aGVuCiAgICAgICAgICAgIHJldHVybiBkZWNsYXJlTG9jYWwoc3ltYm9sLCB7dmFyID0gaXN2YXJ9LCBzY29wZSwgc3ltYm9sKQogICAgICAgIGVsc2UKICAgICAgICAgICAgbG9jYWwgcGFydHMgPSBpc011bHRpU3ltKHJhdykgb3Ige3Jhd30KICAgICAgICAgICAgbG9jYWwgbWV0YSA9IHNjb3BlLnN5bW1ldGFbcGFydHNbMV1dCiAgICAgICAgICAgIGlmICNwYXJ0cyA9PSAxIHRoZW4KICAgICAgICAgICAgICAgIGFzc2VydENvbXBpbGUobm90KGZvcmNlZ2xvYmFsIGFuZCBtZXRhKSwKICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQgZ2xvYmFsLCBmb3VuZCB2YXInLCB1cDEpCiAgICAgICAgICAgICAgICBhc3NlcnRDb21waWxlKG1ldGEgb3Igbm90IG5vdW5kZWYsCiAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkIGxvY2FsIHZhciAnIC4uIHBhcnRzWzFdLCB1cDEpCiAgICAgICAgICAgICAgICBhc3NlcnRDb21waWxlKG5vdCAobWV0YSBhbmQgbm90IG1ldGEudmFyKSwKICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQgbG9jYWwgdmFyJywgdXAxKQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgcmV0dXJuIHN5bWJvbFRvRXhwcmVzc2lvbihzeW1ib2wsIHNjb3BlKVsxXQogICAgICAgIGVuZAogICAgZW5kCgogICAgLS0gUmVjdXJzaXZlIGF1eGlsaWFyeSBmdW5jdGlvbgogICAgbG9jYWwgZnVuY3Rpb24gZGVzdHJ1Y3R1cmUxKGxlZnQsIHJpZ2h0ZXhwcnMsIHVwMSkKICAgICAgICBpZiBpc1N5bShsZWZ0KSBhbmQgbGVmdFsxXSB+PSAibmlsIiB0aGVuCiAgICAgICAgICAgIGVtaXQocGFyZW50LCBzZXR0ZXI6Zm9ybWF0KGdldG5hbWUobGVmdCwgdXAxKSwgZXhwcnMxKHJpZ2h0ZXhwcnMpKSwgbGVmdCkKICAgICAgICBlbHNlaWYgaXNUYWJsZShsZWZ0KSB0aGVuIC0tIHRhYmxlIGRlc3RydWN0dXJpbmcKICAgICAgICAgICAgbG9jYWwgcyA9IGdlbnN5bShzY29wZSkKICAgICAgICAgICAgZW1pdChwYXJlbnQsICgibG9jYWwgJXMgPSAlcyIpOmZvcm1hdChzLCBleHByczEocmlnaHRleHBycykpLCBsZWZ0KQogICAgICAgICAgICBmb3IgaSwgdiBpbiBpcGFpcnMobGVmdCkgZG8KICAgICAgICAgICAgICAgIGlmIGlzU3ltKGxlZnRbaV0pIGFuZCBsZWZ0W2ldWzFdID09ICImIiB0aGVuCiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0Q29tcGlsZShub3QgbGVmdFtpKzJdLAogICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgcmVzdCBhcmd1bWVudCBpbiBmaW5hbCBwb3NpdGlvbiIsIGxlZnQpCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgc3ViZXhwciA9IGV4cHIoKCd7KHRhYmxlLnVucGFjayBvciB1bnBhY2spKCVzLCAlcyl9Jyk6Zm9ybWF0KHMsIGkpLAogICAgICAgICAgICAgICAgICAgICAgICAnZXhwcmVzc2lvbicpCiAgICAgICAgICAgICAgICAgICAgZGVzdHJ1Y3R1cmUxKGxlZnRbaSsxXSwge3N1YmV4cHJ9LCBsZWZ0KQogICAgICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGxvY2FsIHN1YmV4cHIgPSBleHByKCgnJXNbJWRdJyk6Zm9ybWF0KHMsIGkpLCAnZXhwcmVzc2lvbicpCiAgICAgICAgICAgICAgICAgICAgZGVzdHJ1Y3R1cmUxKHYsIHtzdWJleHByfSwgbGVmdCkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICBlbHNlaWYgaXNMaXN0KGxlZnQpIHRoZW4gLS0gdmFsdWVzIGRlc3RydWN0dXJpbmcKICAgICAgICAgICAgbG9jYWwgbGVmdE5hbWVzLCB0YWJsZXMgPSB7fSwge30KICAgICAgICAgICAgZm9yIGksIG5hbWUgaW4gaXBhaXJzKGxlZnQpIGRvCiAgICAgICAgICAgICAgICBsb2NhbCBzeW1uYW1lCiAgICAgICAgICAgICAgICBpZiBpc1N5bShuYW1lKSB0aGVuIC0tIGJpbmRpbmcgZGlyZWN0bHkgdG8gYSBuYW1lCiAgICAgICAgICAgICAgICAgICAgc3ltbmFtZSA9IGdldG5hbWUobmFtZSwgdXAxKQogICAgICAgICAgICAgICAgZWxzZSAtLSBmdXJ0aGVyIGRlc3RydWN0dXJpbmcgb2YgdGFibGVzIGluc2lkZSB2YWx1ZXMKICAgICAgICAgICAgICAgICAgICBzeW1uYW1lID0gZ2Vuc3ltKHNjb3BlKQogICAgICAgICAgICAgICAgICAgIHRhYmxlc1tpXSA9IHtuYW1lLCBleHByKHN5bW5hbWUsICdzeW0nKX0KICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KGxlZnROYW1lcywgc3ltbmFtZSkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVtaXQocGFyZW50LCBzZXR0ZXI6CiAgICAgICAgICAgIGZvcm1hdCh0YWJsZS5jb25jYXQobGVmdE5hbWVzLCAiLCAiKSwgZXhwcnMxKHJpZ2h0ZXhwcnMpKSwgbGVmdCkKICAgICAgICAgICAgZm9yIF8sIHBhaXIgaW4gcGFpcnModGFibGVzKSBkbyAtLSByZWN1cnNlIGlmIGxlZnQtc2lkZSB0YWJsZXMgZm91bmQKICAgICAgICAgICAgICAgIGRlc3RydWN0dXJlMShwYWlyWzFdLCB7cGFpclsyXX0sIGxlZnQpCiAgICAgICAgICAgIGVuZAogICAgICAgIGVsc2UKICAgICAgICAgICAgYXNzZXJ0Q29tcGlsZShmYWxzZSwgJ3VuYWJsZSB0byBkZXN0cnVjdHVyZSAnIC4uIHRvc3RyaW5nKGxlZnQpLCB1cDEpCiAgICAgICAgZW5kCiAgICBlbmQKCiAgICBsb2NhbCByZXhwcyA9IGNvbXBpbGUxKGZyb20sIHNjb3BlLCBwYXJlbnQpCiAgICBsb2NhbCByZXQgPSBkZXN0cnVjdHVyZTEodG8sIHJleHBzLCBhc3QpCiAgICByZXR1cm4gcmV0CmVuZAoKLS0gVW5saWtlIG1vc3QgZXhwcmVzc2lvbnMgYW5kIHNwZWNpYWxzLCAndmFsdWVzJyByZXNvbHZlcyB3aXRoIG11bHRpcGxlCi0tIHZhbHVlcywgb25lIGZvciBlYWNoIGFyZ3VtZW50LCBhbGxvd2luZyBtdWx0aXBsZSByZXR1cm4gdmFsdWVzLiBUaGUgbGFzdAotLSBleHByZXNzaW9uLCBjYW4gcmV0dXJuIG11bHRpcGxlIGFyZ3VtZW50cyBhcyB3ZWxsLCBhbGxvd2luZyBmb3IgbW9yZSB0aGFuIHRoZSBudW1iZXIKLS0gb2YgZXhwZWN0ZWQgYXJndW1lbnRzLgpsb2NhbCBmdW5jdGlvbiB2YWx1ZXMoYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgbGVuID0gI2FzdAogICAgbG9jYWwgZXhwcnMgPSB7fQogICAgZm9yIGkgPSAyLCBsZW4gZG8KICAgICAgICBsb2NhbCBzdWJleHBycyA9IGNvbXBpbGUxKGFzdFtpXSwgc2NvcGUsIHBhcmVudCwge30pCiAgICAgICAgZXhwcnNbI2V4cHJzICsgMV0gPSBzdWJleHByc1sxXSBvciBleHByKCduaWwnLCAnbGl0ZXJhbCcpCiAgICAgICAgaWYgaSA9PSBsZW4gdGhlbgogICAgICAgICAgICBmb3IgaiA9IDIsICNzdWJleHBycyBkbwogICAgICAgICAgICAgICAgZXhwcnNbI2V4cHJzICsgMV0gPSBzdWJleHByc1tqXQogICAgICAgICAgICBlbmQKICAgICAgICBlbHNlCiAgICAgICAgICAgIC0tIEVtaXQgc3ViIGV4cHJlc3Npb24gb25seSBmb3Igc2lkZSBlZmZlY3RzCiAgICAgICAgICAgIGtlZXBTaWRlRWZmZWN0cyhzdWJleHBycywgcGFyZW50LCAyLCBhc3QpCiAgICAgICAgZW5kCiAgICBlbmQKICAgIHJldHVybiBleHBycwplbmQKCi0tIENvbXBpbGUgYSBsaXN0IG9mIGZvcm1zIGZvciBzaWRlIGVmZmVjdHMKbG9jYWwgZnVuY3Rpb24gY29tcGlsZURvKGFzdCwgc2NvcGUsIHBhcmVudCwgc3RhcnQpCiAgICBzdGFydCA9IHN0YXJ0IG9yIDIKICAgIGxvY2FsIGxlbiA9ICNhc3QKICAgIGxvY2FsIHN1YlNjb3BlID0gbWFrZVNjb3BlKHNjb3BlKQogICAgZm9yIGkgPSBzdGFydCwgbGVuIGRvCiAgICAgICAgY29tcGlsZTEoYXN0W2ldLCBzdWJTY29wZSwgcGFyZW50LCB7CiAgICAgICAgICAgIG52YWwgPSAwCiAgICAgICAgfSkKICAgIGVuZAplbmQKCi0tIEltcGxlbWVudHMgYSBkbyBzdGF0ZW1lbnQsIHN0YXJ0aW5nIGF0IHRoZSAnc3RhcnQnIGVsZW1lbnQuIEJ5IGRlZmF1bHQsIHN0YXJ0IGlzIDIuCmxvY2FsIGZ1bmN0aW9uIGRvSW1wbChhc3QsIHNjb3BlLCBwYXJlbnQsIG9wdHMsIHN0YXJ0LCBjaHVuaywgc3ViU2NvcGUpCiAgICBzdGFydCA9IHN0YXJ0IG9yIDIKICAgIHN1YlNjb3BlID0gc3ViU2NvcGUgb3IgbWFrZVNjb3BlKHNjb3BlKQogICAgY2h1bmsgPSBjaHVuayBvciB7fQogICAgbG9jYWwgbGVuID0gI2FzdAogICAgbG9jYWwgb3V0ZXJUYXJnZXQgPSBvcHRzLnRhcmdldAogICAgbG9jYWwgb3V0ZXJUYWlsID0gb3B0cy50YWlsCiAgICBsb2NhbCByZXRleHBycyA9IHtyZXR1cm5lZCA9IHRydWV9CgogICAgLS0gU2VlIGlmIHdlIG5lZWQgc3BlY2lhbCBoYW5kbGluZyB0byBnZXQgdGhlIHJldHVybiB2YWx1ZXMKICAgIC0tIG9mIHRoZSBkbyBibG9jawogICAgaWYgbm90IG91dGVyVGFyZ2V0IGFuZCBvcHRzLm52YWwgfj0gMCBhbmQgbm90IG91dGVyVGFpbCB0aGVuCiAgICAgICAgaWYgb3B0cy5udmFsIHRoZW4KICAgICAgICAgICAgLS0gR2VuZXJhdGUgYSBsb2NhbCB0YXJnZXQKICAgICAgICAgICAgbG9jYWwgc3ltcyA9IHt9CiAgICAgICAgICAgIGZvciBpID0gMSwgb3B0cy5udmFsIGRvCiAgICAgICAgICAgICAgICBsb2NhbCBzID0gZ2Vuc3ltKHNjb3BlKQogICAgICAgICAgICAgICAgc3ltc1tpXSA9IHMKICAgICAgICAgICAgICAgIHJldGV4cHJzW2ldID0gZXhwcihzLCAnc3ltJykKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIG91dGVyVGFyZ2V0ID0gdGFibGUuY29uY2F0KHN5bXMsICcsICcpCiAgICAgICAgICAgIGVtaXQocGFyZW50LCAoJ2xvY2FsICVzJyk6Zm9ybWF0KG91dGVyVGFyZ2V0KSwgYXN0KQogICAgICAgICAgICBlbWl0KHBhcmVudCwgJ2RvJywgYXN0KQogICAgICAgIGVsc2UKICAgICAgICAgICAgLS0gV2Ugd2lsbCB1c2UgYW4gSUlGRSBmb3IgdGhlIGRvCiAgICAgICAgICAgIGxvY2FsIGZuYW1lID0gZ2Vuc3ltKHNjb3BlKQogICAgICAgICAgICBsb2NhbCBmYXJncyA9IHNjb3BlLnZhcmFyZyBhbmQgJy4uLicgb3IgJycKICAgICAgICAgICAgZW1pdChwYXJlbnQsICgnbG9jYWwgZnVuY3Rpb24gJXMoJXMpJyk6Zm9ybWF0KGZuYW1lLCBmYXJncyksIGFzdCkKICAgICAgICAgICAgcmV0ZXhwcnMgPSBleHByKGZuYW1lIC4uICcoJyAuLiBmYXJncyAuLiAnKScsICdzdGF0ZW1lbnQnKQogICAgICAgICAgICBvdXRlclRhaWwgPSB0cnVlCiAgICAgICAgICAgIG91dGVyVGFyZ2V0ID0gbmlsCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICAgICAgZW1pdChwYXJlbnQsICdkbycsIGFzdCkKICAgIGVuZAogICAgLS0gQ29tcGlsZSB0aGUgYm9keQogICAgaWYgc3RhcnQgPiBsZW4gdGhlbgogICAgICAgIC0tIEluIHRoZSB1bmxpa2VseSBjYXNlIHdlIGRvIGEgZG8gd2l0aCBubyBhcmd1bWVudHMuCiAgICAgICAgY29tcGlsZTEobmlsLCBzdWJTY29wZSwgY2h1bmssIHsKICAgICAgICAgICAgdGFpbCA9IG91dGVyVGFpbCwKICAgICAgICAgICAgdGFyZ2V0ID0gb3V0ZXJUYXJnZXQKICAgICAgICB9KQogICAgICAgIC0tIFRoZXJlIHdpbGwgYmUgbm8gc2lkZSBlZmZlY3RzCiAgICBlbHNlCiAgICAgICAgZm9yIGkgPSBzdGFydCwgbGVuIGRvCiAgICAgICAgICAgIGxvY2FsIHN1Ym9wdHMgPSB7CiAgICAgICAgICAgICAgICBudmFsID0gaSB+PSBsZW4gYW5kIDAgb3Igb3B0cy5udmFsLAogICAgICAgICAgICAgICAgdGFpbCA9IGkgPT0gbGVuIGFuZCBvdXRlclRhaWwgb3IgbmlsLAogICAgICAgICAgICAgICAgdGFyZ2V0ID0gaSA9PSBsZW4gYW5kIG91dGVyVGFyZ2V0IG9yIG5pbAogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvY2FsIHN1YmV4cHJzID0gY29tcGlsZTEoYXN0W2ldLCBzdWJTY29wZSwgY2h1bmssIHN1Ym9wdHMpCiAgICAgICAgICAgIGlmIGkgfj0gbGVuIHRoZW4KICAgICAgICAgICAgICAgIGtlZXBTaWRlRWZmZWN0cyhzdWJleHBycywgcGFyZW50LCBuaWwsIGFzdFtpXSkKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKICAgIGVtaXQocGFyZW50LCBjaHVuaywgYXN0KQogICAgZW1pdChwYXJlbnQsICdlbmQnLCBhc3QpCiAgICByZXR1cm4gcmV0ZXhwcnMKZW5kCgpTUEVDSUFMU1snZG8nXSA9IGRvSW1wbApTUEVDSUFMU1sndmFsdWVzJ10gPSB2YWx1ZXMKCi0tIFRoZSBmbiBzcGVjaWFsIGRlY2xhcmVzIGEgZnVuY3Rpb24uIFN5bnRheCBpcyBzaW1pbGFyIHRvIG90aGVyIGxpc3BzOwotLSAoZm4gb3B0aW9uYWwtbmFtZSBbYXJnIC4uLl0gKGJvZHkpKQotLSBGdXJ0aGVyIGRlY29yYXRpb24gc3VjaCBhcyBkb2NzdHJpbmdzLCBtZXRhIGluZm8sIGFuZCBtdWx0aWJvZHkgZnVuY3Rpb25zIGEgcG9zc2liaWxpdHkuClNQRUNJQUxTWydmbiddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgZlNjb3BlID0gbWFrZVNjb3BlKHNjb3BlKQogICAgbG9jYWwgZkNodW5rID0ge30KICAgIGxvY2FsIGluZGV4ID0gMgogICAgbG9jYWwgZm5OYW1lID0gaXNTeW0oYXN0W2luZGV4XSkKICAgIGxvY2FsIGlzTG9jYWxGbgogICAgZlNjb3BlLnZhcmFyZyA9IGZhbHNlCiAgICBpZiBmbk5hbWUgYW5kIGZuTmFtZVsxXSB+PSAnbmlsJyB0aGVuCiAgICAgICAgaXNMb2NhbEZuID0gbm90IGlzTXVsdGlTeW0oZm5OYW1lWzFdKQogICAgICAgIGlmIGlzTG9jYWxGbiB0aGVuCiAgICAgICAgICAgIGZuTmFtZSA9IGRlY2xhcmVMb2NhbChmbk5hbWUsIHt9LCBzY29wZSwgYXN0KQogICAgICAgIGVsc2UKICAgICAgICAgICAgZm5OYW1lID0gc3ltYm9sVG9FeHByZXNzaW9uKGZuTmFtZSwgc2NvcGUpWzFdCiAgICAgICAgZW5kCiAgICAgICAgaW5kZXggPSBpbmRleCArIDEKICAgIGVsc2UKICAgICAgICBpc0xvY2FsRm4gPSB0cnVlCiAgICAgICAgZm5OYW1lID0gZ2Vuc3ltKHNjb3BlKQogICAgZW5kCiAgICBsb2NhbCBhcmdMaXN0ID0gYXNzZXJ0Q29tcGlsZShpc1RhYmxlKGFzdFtpbmRleF0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkIHZlY3RvciBhcmcgbGlzdCBbYSBiIC4uLl0nLCBhc3QpCiAgICBsb2NhbCBhcmdOYW1lTGlzdCA9IHt9CiAgICBmb3IgaSA9IDEsICNhcmdMaXN0IGRvCiAgICAgICAgaWYgaXNWYXJnKGFyZ0xpc3RbaV0pIHRoZW4KICAgICAgICAgICAgYXNzZXJ0Q29tcGlsZShpID09ICNhcmdMaXN0LCAiZXhwZWN0ZWQgdmFyYXJnIGluIGxhc3QgcGFyYW1ldGVyIHBvc2l0aW9uIiwgYXN0KQogICAgICAgICAgICBhcmdOYW1lTGlzdFtpXSA9ICcuLi4nCiAgICAgICAgICAgIGZTY29wZS52YXJhcmcgPSB0cnVlCiAgICAgICAgZWxzZWlmIGlzU3ltKGFyZ0xpc3RbaV0pCiAgICAgICAgICAgIGFuZCBhcmdMaXN0W2ldWzFdIH49ICJuaWwiCiAgICAgICAgICAgIGFuZCBub3QgaXNNdWx0aVN5bShhcmdMaXN0W2ldWzFdKSB0aGVuCiAgICAgICAgICAgIGFyZ05hbWVMaXN0W2ldID0gZGVjbGFyZUxvY2FsKGFyZ0xpc3RbaV0sIHt9LCBmU2NvcGUsIGFzdCkKICAgICAgICBlbHNlCiAgICAgICAgICAgIGFzc2VydENvbXBpbGUoZmFsc2UsICdleHBlY3RlZCBzeW1ib2wgZm9yIGZ1bmN0aW9uIHBhcmFtZXRlcicsIGFzdCkKICAgICAgICBlbmQKICAgIGVuZAogICAgZm9yIGkgPSBpbmRleCArIDEsICNhc3QgZG8KICAgICAgICBjb21waWxlMShhc3RbaV0sIGZTY29wZSwgZkNodW5rLCB7CiAgICAgICAgICAgIHRhaWwgPSBpID09ICNhc3QsCiAgICAgICAgICAgIG52YWwgPSBpIH49ICNhc3QgYW5kIDAgb3IgbmlsCiAgICAgICAgfSkKICAgIGVuZAogICAgaWYgaXNMb2NhbEZuIHRoZW4KICAgICAgICBlbWl0KHBhcmVudCwgKCdsb2NhbCBmdW5jdGlvbiAlcyglcyknKQogICAgICAgICAgICAgICAgIDpmb3JtYXQoZm5OYW1lLCB0YWJsZS5jb25jYXQoYXJnTmFtZUxpc3QsICcsICcpKSwgYXN0KQogICAgZWxzZQogICAgICAgIGVtaXQocGFyZW50LCAoJyVzID0gZnVuY3Rpb24oJXMpJykKICAgICAgICAgICAgICAgICA6Zm9ybWF0KGZuTmFtZSwgdGFibGUuY29uY2F0KGFyZ05hbWVMaXN0LCAnLCAnKSksIGFzdCkKICAgIGVuZAogICAgZW1pdChwYXJlbnQsIGZDaHVuaywgYXN0KQogICAgZW1pdChwYXJlbnQsICdlbmQnLCBhc3QpCiAgICByZXR1cm4gZm5OYW1lCmVuZAoKU1BFQ0lBTFNbJ2x1YWV4cHInXSA9IGZ1bmN0aW9uKGFzdCkKICAgIHJldHVybiB0b3N0cmluZyhhc3RbMl0pCmVuZAoKU1BFQ0lBTFNbJ2x1YXN0YXRlbWVudCddID0gZnVuY3Rpb24oYXN0KQogICAgcmV0dXJuIGV4cHIodG9zdHJpbmcoYXN0WzJdKSwgJ3N0YXRlbWVudCcpCmVuZAoKLS0gV3JhcHBlciBmb3IgdGFibGUgYWNjZXNzClNQRUNJQUxTWycuJ10gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICBsb2NhbCBsZW4gPSAjYXN0CiAgICBhc3NlcnRDb21waWxlKGxlbiA+IDEsICJleHBlY3RlZCB0YWJsZSBhcmd1bWVudCIsIGFzdCkKICAgIGxvY2FsIGxocyA9IGNvbXBpbGUxKGFzdFsyXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSkKICAgIGlmIGxlbiA9PSAyIHRoZW4KICAgICAgICByZXR1cm4gdG9zdHJpbmcobGhzWzFdKQogICAgZWxzZQogICAgICAgIGxvY2FsIGluZGljZXMgPSB7fQogICAgICAgIGZvciBpID0gMywgbGVuIGRvCiAgICAgICAgICAgIGxvY2FsIGluZGV4ID0gYXN0W2ldCiAgICAgICAgICAgIGlmIHR5cGUoaW5kZXgpID09ICdzdHJpbmcnIGFuZCBpc1ZhbGlkTHVhSWRlbnRpZmllcihpbmRleCkgdGhlbgogICAgICAgICAgICAgICAgdGFibGUuaW5zZXJ0KGluZGljZXMsICcuJyAuLiBpbmRleCkKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaW5kZXggPSBjb21waWxlMShpbmRleCwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0KICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChpbmRpY2VzLCAnWycgLi4gdG9zdHJpbmcoaW5kZXgpIC4uICddJykKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIHRvc3RyaW5nKGxoc1sxXSkgLi4gdGFibGUuY29uY2F0KGluZGljZXMpCiAgICBlbmQKZW5kCgpTUEVDSUFMU1snZ2xvYmFsJ10gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICBhc3NlcnRDb21waWxlKCNhc3QgPT0gMywgImV4cGVjdGVkIG5hbWUgYW5kIHZhbHVlIiwgYXN0KQogICAgZGVzdHJ1Y3R1cmUoYXN0WzJdLCBhc3RbM10sIGFzdCwgc2NvcGUsIHBhcmVudCwgewogICAgICAgIG5vbXVsdGkgPSB0cnVlLAogICAgICAgIGZvcmNlZ2xvYmFsID0gdHJ1ZQogICAgfSkKZW5kCgpTUEVDSUFMU1snc2V0J10gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICBhc3NlcnRDb21waWxlKCNhc3QgPT0gMywgImV4cGVjdGVkIG5hbWUgYW5kIHZhbHVlIiwgYXN0KQogICAgZGVzdHJ1Y3R1cmUoYXN0WzJdLCBhc3RbM10sIGFzdCwgc2NvcGUsIHBhcmVudCwgewogICAgICAgIG5vdW5kZWYgPSB0cnVlCiAgICB9KQplbmQKClNQRUNJQUxTWydsb2NhbCddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgYXNzZXJ0Q29tcGlsZSgjYXN0ID09IDMsICJleHBlY3RlZCBuYW1lIGFuZCB2YWx1ZSIsIGFzdCkKICAgIGRlc3RydWN0dXJlKGFzdFsyXSwgYXN0WzNdLCBhc3QsIHNjb3BlLCBwYXJlbnQsIHsKICAgICAgICBkZWNsYXJhdGlvbiA9IHRydWUsCiAgICAgICAgbm9tdWx0aSA9IHRydWUKICAgIH0pCmVuZAoKU1BFQ0lBTFNbJ3ZhciddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgYXNzZXJ0Q29tcGlsZSgjYXN0ID09IDMsICJleHBlY3RlZCBuYW1lIGFuZCB2YWx1ZSIsIGFzdCkKICAgIGRlc3RydWN0dXJlKGFzdFsyXSwgYXN0WzNdLCBhc3QsIHNjb3BlLCBwYXJlbnQsIHsKICAgICAgICBkZWNsYXJhdGlvbiA9IHRydWUsCiAgICAgICAgbm9tdWx0aSA9IHRydWUsCiAgICAgICAgaXN2YXIgPSB0cnVlCiAgICB9KQplbmQKClNQRUNJQUxTWydsZXQnXSA9IGZ1bmN0aW9uKGFzdCwgc2NvcGUsIHBhcmVudCwgb3B0cykKICAgIGxvY2FsIGJpbmRpbmdzID0gYXN0WzJdCiAgICBhc3NlcnRDb21waWxlKGlzTGlzdChiaW5kaW5ncykgb3IgaXNUYWJsZShiaW5kaW5ncyksCiAgICAgICAgICAgICAgICAgICdleHBlY3RlZCB0YWJsZSBmb3IgZGVzdHJ1Y3R1cmluZycsIGFzdCkKICAgIGFzc2VydENvbXBpbGUoI2JpbmRpbmdzICUgMiA9PSAwLAogICAgICAgICAgICAgICAgICAnZXhwZWN0ZWQgZXZlbiBudW1iZXIgb2YgbmFtZS92YWx1ZSBiaW5kaW5ncycsIGFzdCkKICAgIGFzc2VydENvbXBpbGUoI2FzdCA+PSAzLCAnbWlzc2luZyBib2R5IGV4cHJlc3Npb24nLCBhc3QpCiAgICBsb2NhbCBzdWJTY29wZSA9IG1ha2VTY29wZShzY29wZSkKICAgIGxvY2FsIHN1YkNodW5rID0ge30KICAgIGZvciBpID0gMSwgI2JpbmRpbmdzLCAyIGRvCiAgICAgICAgZGVzdHJ1Y3R1cmUoYmluZGluZ3NbaV0sIGJpbmRpbmdzW2kgKyAxXSwgYXN0LCBzdWJTY29wZSwgc3ViQ2h1bmssIHsKICAgICAgICAgICAgZGVjbGFyYXRpb24gPSB0cnVlLAogICAgICAgICAgICBub211bHRpID0gdHJ1ZQogICAgICAgIH0pCiAgICBlbmQKICAgIHJldHVybiBkb0ltcGwoYXN0LCBzY29wZSwgcGFyZW50LCBvcHRzLCAzLCBzdWJDaHVuaywgc3ViU2NvcGUpCmVuZAoKLS0gRm9yIHNldHRpbmcgaXRlbXMgaW4gYSB0YWJsZQpTUEVDSUFMU1sndHNldCddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgcm9vdCA9IGNvbXBpbGUxKGFzdFsyXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0KICAgIGxvY2FsIGtleXMgPSB7fQogICAgZm9yIGkgPSAzLCAjYXN0IC0gMSBkbwogICAgICAgIGxvY2FsIGtleSA9IGNvbXBpbGUxKGFzdFtpXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0KICAgICAgICBrZXlzWyNrZXlzICsgMV0gPSB0b3N0cmluZyhrZXkpCiAgICBlbmQKICAgIGxvY2FsIHZhbHVlID0gY29tcGlsZTEoYXN0WyNhc3RdLCBzY29wZSwgcGFyZW50LCB7bnZhbCA9IDF9KVsxXQogICAgZW1pdChwYXJlbnQsICgnJXNbJXNdID0gJXMnKTpmb3JtYXQodG9zdHJpbmcocm9vdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS5jb25jYXQoa2V5cywgJ11bJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3N0cmluZyh2YWx1ZSkpLCBhc3QpCmVuZAoKLS0gVGhlIGlmIHNwZWNpYWwgZm9ybSBiZWhhdmVzIGxpa2UgdGhlIGNvbmQgZm9ybSBpbgotLSBtYW55IGxhbmd1YWdlcwpTUEVDSUFMU1snaWYnXSA9IGZ1bmN0aW9uKGFzdCwgc2NvcGUsIHBhcmVudCwgb3B0cykKICAgIGxvY2FsIGRvU2NvcGUgPSBtYWtlU2NvcGUoc2NvcGUpCiAgICBsb2NhbCBicmFuY2hlcyA9IHt9CiAgICBsb2NhbCBlbHNlQnJhbmNoID0gbmlsCgogICAgLS0gQ2FsY3VsYXRlIHNvbWUgZXh0ZXJuYWwgc3R1ZmYuIE9wdGltaXplcyBmb3IgdGFpbCBjYWxscyBhbmQgd2hhdCBub3QKICAgIGxvY2FsIG91dGVyVGFpbCA9IHRydWUKICAgIGxvY2FsIG91dGVyVGFyZ2V0ID0gbmlsCiAgICBsb2NhbCB3cmFwcGVyID0gJ2lpZmUnCiAgICBpZiBvcHRzLnRhaWwgdGhlbgogICAgICAgIHdyYXBwZXIgPSAnbm9uZScKICAgIGVuZAoKICAgIC0tIENvbXBpbGUgYm9kaWVzIGFuZCBjb25kaXRpb25zCiAgICBsb2NhbCBib2R5T3B0cyA9IHsKICAgICAgICB0YWlsID0gb3V0ZXJUYWlsLAogICAgICAgIHRhcmdldCA9IG91dGVyVGFyZ2V0CiAgICB9CiAgICBsb2NhbCBmdW5jdGlvbiBjb21waWxlQm9keShpKQogICAgICAgIGxvY2FsIGNodW5rID0ge30KICAgICAgICBsb2NhbCBjc2NvcGUgPSBtYWtlU2NvcGUoZG9TY29wZSkKICAgICAgICBjb21waWxlMShhc3RbaV0sIGNzY29wZSwgY2h1bmssIGJvZHlPcHRzKQogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGNodW5rID0gY2h1bmssCiAgICAgICAgICAgIHNjb3BlID0gY3Njb3BlCiAgICAgICAgfQogICAgZW5kCiAgICBmb3IgaSA9IDIsICNhc3QgLSAxLCAyIGRvCiAgICAgICAgbG9jYWwgY29uZGNodW5rID0ge30KICAgICAgICBsb2NhbCBjb25kID0gIGNvbXBpbGUxKGFzdFtpXSwgZG9TY29wZSwgY29uZGNodW5rLCB7bnZhbCA9IDF9KQogICAgICAgIGxvY2FsIGJyYW5jaCA9IGNvbXBpbGVCb2R5KGkgKyAxKQogICAgICAgIGJyYW5jaC5jb25kID0gY29uZAogICAgICAgIGJyYW5jaC5jb25kY2h1bmsgPSBjb25kY2h1bmsKICAgICAgICBicmFuY2gubmVzdGVkID0gaSB+PSAyIGFuZCBuZXh0KGNvbmRjaHVuaywgbmlsKSA9PSBuaWwKICAgICAgICB0YWJsZS5pbnNlcnQoYnJhbmNoZXMsIGJyYW5jaCkKICAgIGVuZAogICAgbG9jYWwgaGFzRWxzZSA9ICNhc3QgPiAzIGFuZCAjYXN0ICUgMiA9PSAwCiAgICBpZiBoYXNFbHNlIHRoZW4gZWxzZUJyYW5jaCA9IGNvbXBpbGVCb2R5KCNhc3QpIGVuZAoKICAgIC0tIEVtaXQgY29kZQogICAgbG9jYWwgcyA9IGdlbnN5bShzY29wZSkKICAgIGxvY2FsIGJ1ZmZlciA9IHt9CiAgICBsb2NhbCBsYXN0QnVmZmVyID0gYnVmZmVyCiAgICBmb3IgaSA9IDEsICNicmFuY2hlcyBkbwogICAgICAgIGxvY2FsIGJyYW5jaCA9IGJyYW5jaGVzW2ldCiAgICAgICAgbG9jYWwgZnN0ciA9IG5vdCBicmFuY2gubmVzdGVkIGFuZCAnaWYgJXMgdGhlbicgb3IgJ2Vsc2VpZiAlcyB0aGVuJwogICAgICAgIGxvY2FsIGNvbmRMaW5lID0gZnN0cjpmb3JtYXQodG9zdHJpbmcoYnJhbmNoLmNvbmRbMV0pKQogICAgICAgIGlmIGJyYW5jaC5uZXN0ZWQgdGhlbgogICAgICAgICAgICBlbWl0KGxhc3RCdWZmZXIsIGJyYW5jaC5jb25kY2h1bmssIGFzdCkKICAgICAgICBlbHNlCiAgICAgICAgICAgIGZvciBfLCB2IGluIGlwYWlycyhicmFuY2guY29uZGNodW5rKSBkbyBlbWl0KGxhc3RCdWZmZXIsIHYsIGFzdCkgZW5kCiAgICAgICAgZW5kCiAgICAgICAgZW1pdChsYXN0QnVmZmVyLCBjb25kTGluZSwgYXN0KQogICAgICAgIGVtaXQobGFzdEJ1ZmZlciwgYnJhbmNoLmNodW5rLCBhc3QpCiAgICAgICAgaWYgaSA9PSAjYnJhbmNoZXMgdGhlbgogICAgICAgICAgICBpZiBoYXNFbHNlIHRoZW4KICAgICAgICAgICAgICAgIGVtaXQobGFzdEJ1ZmZlciwgJ2Vsc2UnLCBhc3QpCiAgICAgICAgICAgICAgICBlbWl0KGxhc3RCdWZmZXIsIGVsc2VCcmFuY2guY2h1bmssIGFzdCkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVtaXQobGFzdEJ1ZmZlciwgJ2VuZCcsIGFzdCkKICAgICAgICBlbHNlaWYgbm90IGJyYW5jaGVzW2kgKyAxXS5uZXN0ZWQgdGhlbgogICAgICAgICAgICBlbWl0KGxhc3RCdWZmZXIsICdlbHNlJywgYXN0KQogICAgICAgICAgICBsb2NhbCBuZXh0QnVmZmVyID0ge30KICAgICAgICAgICAgZW1pdChsYXN0QnVmZmVyLCBuZXh0QnVmZmVyLCBhc3QpCiAgICAgICAgICAgIGVtaXQobGFzdEJ1ZmZlciwgJ2VuZCcsIGFzdCkKICAgICAgICAgICAgbGFzdEJ1ZmZlciA9IG5leHRCdWZmZXIKICAgICAgICBlbmQKICAgIGVuZAoKICAgIGlmIHdyYXBwZXIgPT0gJ2lpZmUnIHRoZW4KICAgICAgICBsb2NhbCBpaWZlYXJncyA9IHNjb3BlLnZhcmFyZyBhbmQgJy4uLicgb3IgJycKICAgICAgICBlbWl0KHBhcmVudCwgKCdsb2NhbCBmdW5jdGlvbiAlcyglcyknKTpmb3JtYXQodG9zdHJpbmcocyksIGlpZmVhcmdzKSwgYXN0KQogICAgICAgIGVtaXQocGFyZW50LCBidWZmZXIsIGFzdCkKICAgICAgICBlbWl0KHBhcmVudCwgJ2VuZCcsIGFzdCkKICAgICAgICByZXR1cm4gZXhwcigoJyVzKCVzKScpOmZvcm1hdCh0b3N0cmluZyhzKSwgaWlmZWFyZ3MpLCAnc3RhdGVtZW50JykKICAgIGVsc2VpZiB3cmFwcGVyID09ICdub25lJyB0aGVuCiAgICAgICAgLS0gU3BsaWNlIHJlc3VsdCByaWdodCBpbnRvIGNvZGUKICAgICAgICBmb3IgaSA9IDEsICNidWZmZXIgZG8KICAgICAgICAgICAgZW1pdChwYXJlbnQsIGJ1ZmZlcltpXSwgYXN0KQogICAgICAgIGVuZAogICAgICAgIHJldHVybiB7cmV0dXJuZWQgPSB0cnVlfQogICAgZW5kCmVuZAoKLS0gKGVhY2ggW2sgdiAocGFpcnMgdCldIGJvZHkuLi4pID0+IFtdClNQRUNJQUxTWydlYWNoJ10gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICBsb2NhbCBiaW5kaW5nID0gYXNzZXJ0Q29tcGlsZShpc1RhYmxlKGFzdFsyXSksICdleHBlY3RlZCBiaW5kaW5nIHRhYmxlJywgYXN0KQogICAgbG9jYWwgaXRlciA9IHRhYmxlLnJlbW92ZShiaW5kaW5nLCAjYmluZGluZykgLS0gbGFzdCBpdGVtIGlzIGl0ZXJhdG9yIGNhbGwKICAgIGxvY2FsIGJpbmRWYXJzID0ge30KICAgIGZvciBfLCB2IGluIGlwYWlycyhiaW5kaW5nKSBkbwogICAgICAgIGFzc2VydENvbXBpbGUoaXNTeW0odiksICdleHBlY3RlZCBpdGVyYXRvciBzeW1ib2wnLCBhc3QpCiAgICAgICAgdGFibGUuaW5zZXJ0KGJpbmRWYXJzLCBkZWNsYXJlTG9jYWwodiwge30sIHNjb3BlLCBhc3QpKQogICAgZW5kCiAgICBlbWl0KHBhcmVudCwgKCdmb3IgJXMgaW4gJXMgZG8nKTpmb3JtYXQoCiAgICAgICAgICAgICB0YWJsZS5jb25jYXQoYmluZFZhcnMsICcsICcpLAogICAgICAgICAgICAgdG9zdHJpbmcoY29tcGlsZTEoaXRlciwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0pKSwgYXN0KQogICAgbG9jYWwgY2h1bmsgPSB7fQogICAgY29tcGlsZURvKGFzdCwgc2NvcGUsIGNodW5rLCAzKQogICAgZW1pdChwYXJlbnQsIGNodW5rLCBhc3QpCiAgICBlbWl0KHBhcmVudCwgJ2VuZCcsIGFzdCkKZW5kCgotLSAod2hpbGUgY29uZGl0aW9uIGJvZHkuLi4pID0+IFtdClNQRUNJQUxTWyd3aGlsZSddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgbGVuMSA9ICNwYXJlbnQKICAgIGxvY2FsIGNvbmRpdGlvbiA9IGNvbXBpbGUxKGFzdFsyXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0KICAgIGxvY2FsIGxlbjIgPSAjcGFyZW50CiAgICBsb2NhbCBzdWJDaHVuayA9IHt9CiAgICBpZiBsZW4xIH49IGxlbjIgdGhlbgogICAgICAgIC0tIENvbXBvdW5kIGNvbmRpdGlvbgogICAgICAgIGVtaXQocGFyZW50LCAnd2hpbGUgdHJ1ZSBkbycsIGFzdCkKICAgICAgICAtLSBNb3ZlIG5ldyBjb21waWxhdGlvbiB0byBzdWJjaHVuawogICAgICAgIGZvciBpID0gbGVuMSArIDEsIGxlbjIgZG8KICAgICAgICAgICAgc3ViQ2h1bmtbI3N1YkNodW5rICsgMV0gPSBwYXJlbnRbaV0KICAgICAgICAgICAgcGFyZW50W2ldID0gbmlsCiAgICAgICAgZW5kCiAgICAgICAgZW1pdChwYXJlbnQsICgnaWYgJXMgdGhlbiBicmVhayBlbmQnKTpmb3JtYXQoY29uZGl0aW9uWzFdKSwgYXN0KQogICAgZWxzZQogICAgICAgIC0tIFNpbXBsZSBjb25kaXRpb24KICAgICAgICBlbWl0KHBhcmVudCwgJ3doaWxlICcgLi4gdG9zdHJpbmcoY29uZGl0aW9uKSAuLiAnIGRvJywgYXN0KQogICAgZW5kCiAgICBjb21waWxlRG8oYXN0LCBtYWtlU2NvcGUoc2NvcGUpLCBzdWJDaHVuaywgMykKICAgIGVtaXQocGFyZW50LCBzdWJDaHVuaywgYXN0KQogICAgZW1pdChwYXJlbnQsICdlbmQnLCBhc3QpCmVuZAoKU1BFQ0lBTFNbJ2ZvciddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgcmFuZ2VzID0gYXNzZXJ0Q29tcGlsZShpc1RhYmxlKGFzdFsyXSksICdleHBlY3RlZCBiaW5kaW5nIHRhYmxlJywgYXN0KQogICAgbG9jYWwgYmluZGluZ1N5bSA9IGFzc2VydENvbXBpbGUoaXNTeW0odGFibGUucmVtb3ZlKGFzdFsyXSwgMSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cGVjdGVkIGl0ZXJhdG9yIHN5bWJvbCcsIGFzdCkKICAgIGxvY2FsIHJhbmdlQXJncyA9IHt9CiAgICBmb3IgaSA9IDEsIG1hdGgubWluKCNyYW5nZXMsIDMpIGRvCiAgICAgICAgcmFuZ2VBcmdzW2ldID0gdG9zdHJpbmcoY29tcGlsZTEocmFuZ2VzW2ldLCBzY29wZSwgcGFyZW50LCB7bnZhbCA9IDF9KVsxXSkKICAgIGVuZAogICAgZW1pdChwYXJlbnQsICgnZm9yICVzID0gJXMgZG8nKTpmb3JtYXQoCiAgICAgICAgICAgICBkZWNsYXJlTG9jYWwoYmluZGluZ1N5bSwge30sIHNjb3BlLCBhc3QpLAogICAgICAgICAgICAgdGFibGUuY29uY2F0KHJhbmdlQXJncywgJywgJykpLCBhc3QpCiAgICBsb2NhbCBjaHVuayA9IHt9CiAgICBjb21waWxlRG8oYXN0LCBzY29wZSwgY2h1bmssIDMpCiAgICBlbWl0KHBhcmVudCwgY2h1bmssIGFzdCkKICAgIGVtaXQocGFyZW50LCAnZW5kJywgYXN0KQplbmQKClNQRUNJQUxTWyc6J10gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICBhc3NlcnRDb21waWxlKCNhc3QgPj0gMywgJ2V4cGVjdGVkIGF0IGxlYXN0IDMgYXJndW1lbnRzJywgYXN0KQogICAgLS0gQ29tcGlsZSBvYmplY3QKICAgIGxvY2FsIG9iamVjdGV4cHIgPSBjb21waWxlMShhc3RbMl0sIHNjb3BlLCBwYXJlbnQsIHtudmFsID0gMX0pWzFdCiAgICAtLSBDb21waWxlIG1ldGhvZCBzZWxlY3RvcgogICAgbG9jYWwgbWV0aG9kc3RyaW5nCiAgICBsb2NhbCBtZXRob2RpZGVudCA9IGZhbHNlCiAgICBpZiB0eXBlKGFzdFszXSkgPT0gJ3N0cmluZycgYW5kIGlzVmFsaWRMdWFJZGVudGlmaWVyKGFzdFszXSkgdGhlbgogICAgICAgIG1ldGhvZGlkZW50ID0gdHJ1ZQogICAgICAgIG1ldGhvZHN0cmluZyA9IGFzdFszXQogICAgZWxzZQogICAgICAgIG1ldGhvZHN0cmluZyA9IHRvc3RyaW5nKGNvbXBpbGUxKGFzdFszXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0pCiAgICAgICAgb2JqZWN0ZXhwciA9IG9uY2Uob2JqZWN0ZXhwciwgYXN0WzJdLCBzY29wZSwgcGFyZW50KQogICAgZW5kCiAgICAtLSBDb21waWxlIGFyZ3VtZW50cwogICAgbG9jYWwgYXJncyA9IHt9CiAgICBmb3IgaSA9IDQsICNhc3QgZG8KICAgICAgICBsb2NhbCBzdWJleHBycyA9IGNvbXBpbGUxKGFzdFtpXSwgc2NvcGUsIHBhcmVudCwgewogICAgICAgICAgICBudmFsID0gaSB+PSAjYXN0IGFuZCAxIG9yIG5pbAogICAgICAgIH0pCiAgICAgICAgZm9yIGogPSAxLCAjc3ViZXhwcnMgZG8KICAgICAgICAgICAgYXJnc1sjYXJncyArIDFdID0gdG9zdHJpbmcoc3ViZXhwcnNbal0pCiAgICAgICAgZW5kCiAgICBlbmQKICAgIGxvY2FsIGZzdHJpbmcKICAgIGlmIG1ldGhvZGlkZW50IHRoZW4KICAgICAgICBmc3RyaW5nID0gb2JqZWN0ZXhwci50eXBlID09ICdsaXRlcmFsJwogICAgICAgICAgICBhbmQgJyglcyk6JXMoJXMpJwogICAgICAgICAgICBvciAnJXM6JXMoJXMpJwogICAgZWxzZQogICAgICAgIC0tIE1ha2Ugb2JqZWN0IGZpcnN0IGFyZ3VtZW50CiAgICAgICAgdGFibGUuaW5zZXJ0KGFyZ3MsIDEsIHRvc3RyaW5nKG9iamVjdGV4cHIpKQogICAgICAgIGZzdHJpbmcgPSBvYmplY3RleHByLnR5cGUgPT0gJ3N5bScKICAgICAgICAgICAgYW5kICclc1slc10oJXMpJwogICAgICAgICAgICBvciAnKCVzKVslc10oJXMpJwogICAgZW5kCiAgICByZXR1cm4gZXhwcihmc3RyaW5nOmZvcm1hdCgKICAgICAgICB0b3N0cmluZyhvYmplY3RleHByKSwKICAgICAgICBtZXRob2RzdHJpbmcsCiAgICAgICAgdGFibGUuY29uY2F0KGFyZ3MsICcsICcpKSwgJ3N0YXRlbWVudCcpCmVuZAoKbG9jYWwgZnVuY3Rpb24gZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwobmFtZSwgdW5hcnlQcmVmaXgpCiAgICBsb2NhbCBwYWRkZWRPcCA9ICcgJyAuLiBuYW1lIC4uICcgJwogICAgU1BFQ0lBTFNbbmFtZV0gPSBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQpCiAgICAgICAgbG9jYWwgbGVuID0gI2FzdAogICAgICAgIGlmIGxlbiA9PSAxIHRoZW4KICAgICAgICAgICAgcmV0dXJuIHVuYXJ5UHJlZml4IG9yICcwJwogICAgICAgIGVsc2UKICAgICAgICAgICAgbG9jYWwgb3BlcmFuZHMgPSB7fQogICAgICAgICAgICBmb3IgaSA9IDIsIGxlbiBkbwogICAgICAgICAgICAgICAgbG9jYWwgc3ViZXhwcnMgPSBjb21waWxlMShhc3RbaV0sIHNjb3BlLCBwYXJlbnQsIHsKICAgICAgICAgICAgICAgICAgICBudmFsID0gKGkgPT0gMSBhbmQgMSBvciBuaWwpCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgZm9yIGogPSAxLCAjc3ViZXhwcnMgZG8KICAgICAgICAgICAgICAgICAgICBvcGVyYW5kc1sjb3BlcmFuZHMgKyAxXSA9IHRvc3RyaW5nKHN1YmV4cHJzW2pdKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBpZiAjb3BlcmFuZHMgPT0gMSBhbmQgdW5hcnlQcmVmaXggdGhlbgogICAgICAgICAgICAgICAgcmV0dXJuICcoJyAuLiB1bmFyeVByZWZpeCAuLiBwYWRkZWRPcCAuLiBvcGVyYW5kc1sxXSAuLiAnKScKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcmV0dXJuICcoJyAuLiB0YWJsZS5jb25jYXQob3BlcmFuZHMsIHBhZGRlZE9wKSAuLiAnKScKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCgpkZWZpbmVBcml0aG1ldGljU3BlY2lhbCgnKycpCmRlZmluZUFyaXRobWV0aWNTcGVjaWFsKCcuLicpCmRlZmluZUFyaXRobWV0aWNTcGVjaWFsKCdeJykKZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwoJy0nLCAnJykKZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwoJyonKQpkZWZpbmVBcml0aG1ldGljU3BlY2lhbCgnJScpCmRlZmluZUFyaXRobWV0aWNTcGVjaWFsKCcvJywgMSkKZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwoJy8vJywgMSkKZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwoJ29yJykKZGVmaW5lQXJpdGhtZXRpY1NwZWNpYWwoJ2FuZCcpCgpsb2NhbCBmdW5jdGlvbiBkZWZpbmVDb21wYXJhdG9yU3BlY2lhbChuYW1lLCByZWFsb3ApCiAgICBsb2NhbCBvcCA9IHJlYWxvcCBvciBuYW1lCiAgICBTUEVDSUFMU1tuYW1lXSA9IGZ1bmN0aW9uKGFzdCwgc2NvcGUsIHBhcmVudCkKICAgICAgICBhc3NlcnRDb21waWxlKCNhc3QgPiAyLCAnZXhwZWN0ZWQgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cycsIGFzdCkKICAgICAgICBsb2NhbCBsaHMgPSBjb21waWxlMShhc3RbMl0sIHNjb3BlLCBwYXJlbnQsIHtudmFsID0gMX0pWzFdCiAgICAgICAgbG9jYWwgbGFzdHZhbCA9IGNvbXBpbGUxKGFzdFszXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0KICAgICAgICAtLSBhdm9pZCBkb3VibGUtZXZhbCBieSBpbnRyb2R1Y2luZyBsb2NhbHMgZm9yIHBvc3NpYmxlIHNpZGUtZWZmZWN0cwogICAgICAgIGlmICNhc3QgPiAzIHRoZW4gbGFzdHZhbCA9IG9uY2UobGFzdHZhbCwgYXN0WzNdLCBzY29wZSwgcGFyZW50KSBlbmQKICAgICAgICBsb2NhbCBvdXQgPSAoJyglcykgJXMgKCVzKScpOgogICAgICAgICAgICBmb3JtYXQodG9zdHJpbmcobGhzKSwgb3AsIHRvc3RyaW5nKGxhc3R2YWwpKQogICAgICAgIGZvciBpID0gNCwgI2FzdCBkbyAtLSB2YXJpYWRpYyBjb21wYXJpc29uCiAgICAgICAgICAgIGxvY2FsIG5leHR2YWwgPSBvbmNlKGNvbXBpbGUxKGFzdFtpXSwgc2NvcGUsIHBhcmVudCwge252YWwgPSAxfSlbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdFtpXSwgc2NvcGUsIHBhcmVudCkKICAgICAgICAgICAgb3V0ID0gKG91dCAuLiAiIGFuZCAoKCVzKSAlcyAoJXMpKSIpOgogICAgICAgICAgICAgICAgZm9ybWF0KHRvc3RyaW5nKGxhc3R2YWwpLCBvcCwgdG9zdHJpbmcobmV4dHZhbCkpCiAgICAgICAgICAgIGxhc3R2YWwgPSBuZXh0dmFsCiAgICAgICAgZW5kCiAgICAgICAgcmV0dXJuIG91dAogICAgZW5kCmVuZAoKZGVmaW5lQ29tcGFyYXRvclNwZWNpYWwoJz4nKQpkZWZpbmVDb21wYXJhdG9yU3BlY2lhbCgnPCcpCmRlZmluZUNvbXBhcmF0b3JTcGVjaWFsKCc+PScpCmRlZmluZUNvbXBhcmF0b3JTcGVjaWFsKCc8PScpCmRlZmluZUNvbXBhcmF0b3JTcGVjaWFsKCc9JywgJz09JykKZGVmaW5lQ29tcGFyYXRvclNwZWNpYWwoJ349JykKCmxvY2FsIGZ1bmN0aW9uIGRlZmluZVVuYXJ5U3BlY2lhbChvcCwgcmVhbG9wKQogICAgU1BFQ0lBTFNbb3BdID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgICAgIGFzc2VydENvbXBpbGUoI2FzdCA9PSAyLCAnZXhwZWN0ZWQgb25lIGFyZ3VtZW50JywgYXN0KQogICAgICAgIGxvY2FsIHRhaWwgPSBjb21waWxlMShhc3RbMl0sIHNjb3BlLCBwYXJlbnQsIHtudmFsID0gMX0pCiAgICAgICAgcmV0dXJuIChyZWFsb3Agb3Igb3ApIC4uIHRvc3RyaW5nKHRhaWxbMV0pCiAgICBlbmQKZW5kCgpkZWZpbmVVbmFyeVNwZWNpYWwoJ25vdCcsICdub3QgJykKZGVmaW5lVW5hcnlTcGVjaWFsKCcjJykKCi0tIENvdmVydCBhIG1hY3JvIGZ1bmN0aW9uIHRvIGEgc3BlY2lhbCBmb3JtCmxvY2FsIGZ1bmN0aW9uIG1hY3JvVG9TcGVjaWFsKG1hYykKICAgIHJldHVybiBmdW5jdGlvbihhc3QsIHNjb3BlLCBwYXJlbnQsIG9wdHMpCiAgICAgICAgbG9jYWwgb2ssIHRyYW5zZm9ybWVkID0gcGNhbGwobWFjLCB1bnBhY2soYXN0LCAyKSkKICAgICAgICBhc3NlcnRDb21waWxlKG9rLCB0cmFuc2Zvcm1lZCwgYXN0KQogICAgICAgIHJldHVybiBjb21waWxlMSh0cmFuc2Zvcm1lZCwgc2NvcGUsIHBhcmVudCwgb3B0cykKICAgIGVuZAplbmQKCmxvY2FsIGZ1bmN0aW9uIGNvbXBpbGUoYXN0LCBvcHRpb25zKQogICAgb3B0aW9ucyA9IG9wdGlvbnMgb3Ige30KICAgIGlmIG9wdGlvbnMuaW5kZW50ID09IG5pbCB0aGVuIG9wdGlvbnMuaW5kZW50ID0gJyAgJyBlbmQKICAgIGxvY2FsIGNodW5rID0ge30KICAgIGxvY2FsIHNjb3BlID0gb3B0aW9ucy5zY29wZSBvciBtYWtlU2NvcGUoR0xPQkFMX1NDT1BFKQogICAgbG9jYWwgZXhwcnMgPSBjb21waWxlMShhc3QsIHNjb3BlLCBjaHVuaywge3RhaWwgPSB0cnVlfSkKICAgIGtlZXBTaWRlRWZmZWN0cyhleHBycywgY2h1bmssIG5pbCwgYXN0KQogICAgcmV0dXJuIGZsYXR0ZW4oY2h1bmssIG9wdGlvbnMpCmVuZAoKbG9jYWwgZnVuY3Rpb24gY29tcGlsZVN0cmVhbShzdHJtLCBvcHRpb25zKQogICAgb3B0aW9ucyA9IG9wdGlvbnMgb3Ige30KICAgIGlmIG9wdGlvbnMuaW5kZW50ID09IG5pbCB0aGVuIG9wdGlvbnMuaW5kZW50ID0gJyAgJyBlbmQKICAgIGxvY2FsIHNjb3BlID0gb3B0aW9ucy5zY29wZSBvciBtYWtlU2NvcGUoR0xPQkFMX1NDT1BFKQogICAgbG9jYWwgdmFscyA9IHt9CiAgICBmb3Igb2ssIHZhbCBpbiBwYXJzZXIoc3RybSwgb3B0aW9ucy5maWxlbmFtZSkgZG8KICAgICAgICBpZiBub3Qgb2sgdGhlbiBicmVhayBlbmQKICAgICAgICB2YWxzWyN2YWxzICsgMV0gPSB2YWwKICAgIGVuZAogICAgbG9jYWwgY2h1bmsgPSB7fQogICAgZm9yIGkgPSAxLCAjdmFscyBkbwogICAgICAgIGxvY2FsIGV4cHJzID0gY29tcGlsZTEodmFsc1tpXSwgc2NvcGUsIGNodW5rLCB7CiAgICAgICAgICAgIHRhaWwgPSBpID09ICN2YWxzCiAgICAgICAgfSkKICAgICAgICBrZWVwU2lkZUVmZmVjdHMoZXhwcnMsIGNodW5rLCBuaWwsIHZhbHNbaV0pCiAgICBlbmQKICAgIHJldHVybiBmbGF0dGVuKGNodW5rLCBvcHRpb25zKQplbmQKCmxvY2FsIGZ1bmN0aW9uIGNvbXBpbGVTdHJpbmcoc3RyLCBvcHRpb25zKQogICAgbG9jYWwgc3RybSA9IHN0cmluZ1N0cmVhbShzdHIpCiAgICByZXR1cm4gY29tcGlsZVN0cmVhbShzdHJtLCBvcHRpb25zKQplbmQKCi0tLQotLS0gRXZhbHVhdGlvbgotLS0KCi0tIEEgY3VzdG9tIHRyYWNlYmFjayBmdW5jdGlvbiBmb3IgRmVubmVsIHRoYXQgbG9va3Mgc2ltaWxhciB0bwotLSB0aGUgTHVhJ3MgZGVidWcudHJhY2ViYWNrLgotLSBVc2Ugd2l0aCB4cGNhbGwgdG8gcHJvZHVjZSBmZW5uZWwgc3BlY2lmaWMgc3RhY2t0cmFjZXMuCmxvY2FsIGZ1bmN0aW9uIHRyYWNlYmFjayhtc2csIHN0YXJ0KQogICAgbG9jYWwgbGV2ZWwgPSBzdGFydCBvciAyIC0tIENhbiBiZSB1c2VkIHRvIHNraXAgc29tZSBmcmFtZXMKICAgIGxvY2FsIGxpbmVzID0ge30KICAgIGlmIG1zZyB0aGVuCiAgICAgICAgdGFibGUuaW5zZXJ0KGxpbmVzLCBtc2cpCiAgICBlbmQKICAgIHRhYmxlLmluc2VydChsaW5lcywgJ3N0YWNrIHRyYWNlYmFjazonKQogICAgd2hpbGUgdHJ1ZSBkbwogICAgICAgIGxvY2FsIGluZm8gPSBkZWJ1Zy5nZXRpbmZvKGxldmVsLCAiU2xuIikKICAgICAgICBpZiBub3QgaW5mbyB0aGVuIGJyZWFrIGVuZAogICAgICAgIGxvY2FsIGxpbmUKICAgICAgICBpZiBpbmZvLndoYXQgPT0gIkMiIHRoZW4KICAgICAgICAgICAgaWYgaW5mby5uYW1lIHRoZW4KICAgICAgICAgICAgICAgIGxpbmUgPSAoJyAgW0NdOiBpbiBmdW5jdGlvbiBcJyVzXCcnKTpmb3JtYXQoaW5mby5uYW1lKQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsaW5lID0gJyAgW0NdOiBpbiA/JwogICAgICAgICAgICBlbmQKICAgICAgICBlbHNlCiAgICAgICAgICAgIGxvY2FsIHJlbWFwID0gZmVubmVsU291cmNlbWFwW2luZm8uc291cmNlXQogICAgICAgICAgICBpZiByZW1hcCBhbmQgcmVtYXBbaW5mby5jdXJyZW50bGluZV0gdGhlbgogICAgICAgICAgICAgICAgLS0gQW5kIHNvbWUgZ2xvYmFsIGluZm8KICAgICAgICAgICAgICAgIGluZm8uc2hvcnRfc3JjID0gcmVtYXAuc2hvcnRfc3JjCiAgICAgICAgICAgICAgICBsb2NhbCBtYXBwaW5nID0gcmVtYXBbaW5mby5jdXJyZW50bGluZV0KICAgICAgICAgICAgICAgIC0tIE92ZXJ3cml0ZSBpbmZvIHdpdGggdmFsdWVzIGZyb20gdGhlIG1hcHBpbmcgKG1hcHBpbmcgaXMgbm93IGp1c3QgaW50ZWdlciwKICAgICAgICAgICAgICAgIC0tIGJ1dCBtYXkgZXZlbnR1YWxseSBiZSBhIHRhYmxlCiAgICAgICAgICAgICAgICBpbmZvLmN1cnJlbnRsaW5lID0gbWFwcGluZwogICAgICAgICAgICBlbmQKICAgICAgICAgICAgaWYgaW5mby53aGF0ID09ICdMdWEnIHRoZW4KICAgICAgICAgICAgICAgIGxvY2FsIG4gPSBpbmZvLm5hbWUgYW5kICgiJyIgLi4gaW5mby5uYW1lIC4uICInIikgb3IgJz8nCiAgICAgICAgICAgICAgICBsaW5lID0gKCcgICVzOiVkOiBpbiBmdW5jdGlvbiAlcycpOmZvcm1hdChpbmZvLnNob3J0X3NyYywgaW5mby5jdXJyZW50bGluZSwgbikKICAgICAgICAgICAgZWxzZWlmIGluZm8uc2hvcnRfc3JjID09ICcodGFpbCBjYWxsKScgdGhlbgogICAgICAgICAgICAgICAgbGluZSA9ICcgICh0YWlsIGNhbGwpJwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsaW5lID0gKCcgICVzOiVkOiBpbiBtYWluIGNodW5rJyk6Zm9ybWF0KGluZm8uc2hvcnRfc3JjLCBpbmZvLmN1cnJlbnRsaW5lKQogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICB0YWJsZS5pbnNlcnQobGluZXMsIGxpbmUpCiAgICAgICAgbGV2ZWwgPSBsZXZlbCArIDEKICAgIGVuZAogICAgcmV0dXJuIHRhYmxlLmNvbmNhdChsaW5lcywgJ1xuJykKZW5kCgpsb2NhbCBmdW5jdGlvbiBldmFsKHN0ciwgb3B0aW9ucywgLi4uKQogICAgb3B0aW9ucyA9IG9wdGlvbnMgb3Ige30KICAgIGxvY2FsIGx1YVNvdXJjZSA9IGNvbXBpbGVTdHJpbmcoc3RyLCBvcHRpb25zKQogICAgbG9jYWwgbG9hZGVyID0gbG9hZENvZGUobHVhU291cmNlLCBvcHRpb25zLmVudiwKICAgICAgICBvcHRpb25zLmZpbGVuYW1lIGFuZCAoJ0AnIC4uIG9wdGlvbnMuZmlsZW5hbWUpIG9yIHN0cikKICAgIHJldHVybiBsb2FkZXIoLi4uKQplbmQKCmxvY2FsIGZ1bmN0aW9uIGRvZmlsZV9mZW5uZWwoZmlsZW5hbWUsIG9wdGlvbnMsIC4uLikKICAgIG9wdGlvbnMgPSBvcHRpb25zIG9yIHtzb3VyY2VtYXAgPSB0cnVlfQogICAgbG9jYWwgZiA9IGFzc2VydChpby5vcGVuKGZpbGVuYW1lLCAicmIiKSkKICAgIGxvY2FsIHNvdXJjZSA9IGY6cmVhZCgiKmFsbCIpCiAgICBmOmNsb3NlKCkKICAgIG9wdGlvbnMuZmlsZW5hbWUgPSBvcHRpb25zLmZpbGVuYW1lIG9yIGZpbGVuYW1lCiAgICByZXR1cm4gZXZhbChzb3VyY2UsIG9wdGlvbnMsIC4uLikKZW5kCgotLSBJbXBsZW1lbnRzIGEgY29uZmlndXJhYmxlIHJlcGwKbG9jYWwgZnVuY3Rpb24gcmVwbChvcHRpb25zKQoKICAgIGxvY2FsIG9wdHMgPSBvcHRpb25zIG9yIHt9CgogICAgbG9jYWwgZW52ID0gb3B0cy5lbnYgb3Igc2V0bWV0YXRhYmxlKHt9LCB7CiAgICAgICAgX19pbmRleCA9IF9FTlYgb3IgX0cKICAgIH0pCgogICAgbG9jYWwgZnVuY3Rpb24gZGVmYXVsdFJlYWRDaHVuaygpCiAgICAgICAgaW8ud3JpdGUoJz4+ICcpCiAgICAgICAgaW8uZmx1c2goKQogICAgICAgIGxvY2FsIGlucHV0ID0gaW8ucmVhZCgpCiAgICAgICAgcmV0dXJuIGlucHV0IGFuZCBpbnB1dCAuLiAnXG4nCiAgICBlbmQKCiAgICBsb2NhbCBmdW5jdGlvbiBkZWZhdWx0T25WYWx1ZXMoeHMpCiAgICAgICAgaW8ud3JpdGUodGFibGUuY29uY2F0KHhzLCAnXHQnKSkKICAgICAgICBpby53cml0ZSgnXG4nKQogICAgZW5kCgogICAgbG9jYWwgZnVuY3Rpb24gZGVmYXVsdE9uRXJyb3IoZXJydHlwZSwgZXJyLCBsdWFTb3VyY2UpCiAgICAgICAgaWYgKGVycnR5cGUgPT0gJ0x1YSBDb21waWxlJykgdGhlbgogICAgICAgICAgICBpby53cml0ZSgnQmFkIGNvZGUgZ2VuZXJhdGVkIC0gbGlrZWx5IGEgYnVnIHdpdGggdGhlIGNvbXBpbGVyOlxuJykKICAgICAgICAgICAgaW8ud3JpdGUoJy0tLSBHZW5lcmF0ZWQgTHVhIFN0YXJ0IC0tLVxuJykKICAgICAgICAgICAgaW8ud3JpdGUobHVhU291cmNlIC4uICdcbicpCiAgICAgICAgICAgIGlvLndyaXRlKCctLS0gR2VuZXJhdGVkIEx1YSBFbmQgLS0tXG4nKQogICAgICAgIGVuZAogICAgICAgIGlmIChlcnJ0eXBlID09ICdSdW50aW1lJykgdGhlbgogICAgICAgICAgICBpby53cml0ZSh0cmFjZWJhY2soZXJyLCA0KSkKICAgICAgICAgICAgaW8ud3JpdGUoJ1xuJykKICAgICAgICBlbHNlCiAgICAgICAgICAgIGlvLndyaXRlKCgnJXMgZXJyb3I6ICVzXG4nKTpmb3JtYXQoZXJydHlwZSwgdG9zdHJpbmcoZXJyKSkpCiAgICAgICAgZW5kCiAgICBlbmQKCiAgICAtLSBSZWFkIG9wdGlvbnMKICAgIGxvY2FsIHJlYWRDaHVuayA9IG9wdHMucmVhZENodW5rIG9yIGRlZmF1bHRSZWFkQ2h1bmsKICAgIGxvY2FsIG9uVmFsdWVzID0gb3B0cy5vblZhbHVlcyBvciBkZWZhdWx0T25WYWx1ZXMKICAgIGxvY2FsIG9uRXJyb3IgPSBvcHRzLm9uRXJyb3Igb3IgZGVmYXVsdE9uRXJyb3IKICAgIGxvY2FsIHBwID0gb3B0cy5wcCBvciB0b3N0cmluZwoKICAgIC0tIE1ha2UgcGFyc2VyCiAgICBsb2NhbCBieXRlc3RyZWFtLCBjbGVhcnN0cmVhbSA9IGdyYW51bGF0ZShyZWFkQ2h1bmspCiAgICBsb2NhbCBjaGFycyA9IHt9CiAgICBsb2NhbCByZWFkID0gcGFyc2VyKGZ1bmN0aW9uKCkKICAgICAgICBsb2NhbCBjID0gYnl0ZXN0cmVhbSgpCiAgICAgICAgY2hhcnNbI2NoYXJzICsgMV0gPSBjCiAgICAgICAgcmV0dXJuIGMKICAgIGVuZCkKCiAgICAtLSBSRVBMIGxvb3AKICAgIHdoaWxlIHRydWUgZG8KICAgICAgICBjaGFycyA9IHt9CiAgICAgICAgbG9jYWwgb2ssIHBhcnNlb2ssIHggPSBwY2FsbChyZWFkKQogICAgICAgIGxvY2FsIHNyY3N0cmluZyA9IHN0cmluZy5jaGFyKHVucGFjayhjaGFycykpCiAgICAgICAgaWYgbm90IG9rIHRoZW4KICAgICAgICAgICAgb25FcnJvcignUGFyc2UnLCBwYXJzZW9rKQogICAgICAgICAgICBjbGVhcnN0cmVhbSgpCiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBub3QgcGFyc2VvayB0aGVuIGJyZWFrIGVuZCAtLSBlb2YKICAgICAgICAgICAgbG9jYWwgY29tcGlsZU9rLCBsdWFTb3VyY2UgPSBwY2FsbChjb21waWxlLCB4LCB7CiAgICAgICAgICAgICAgICBzb3VyY2VtYXAgPSBvcHRzLnNvdXJjZW1hcCwKICAgICAgICAgICAgICAgIHNvdXJjZSA9IHNyY3N0cmluZwogICAgICAgICAgICB9KQogICAgICAgICAgICBpZiBub3QgY29tcGlsZU9rIHRoZW4KICAgICAgICAgICAgICAgIGNsZWFyc3RyZWFtKCkKICAgICAgICAgICAgICAgIG9uRXJyb3IoJ0NvbXBpbGUnLCBsdWFTb3VyY2UpIC0tIGx1YVNvdXJjZSBpcyBlcnJvciBtZXNzYWdlIGluIHRoaXMgY2FzZQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsb2NhbCBsdWFjb21waWxlb2ssIGxvYWRlciA9IHBjYWxsKGxvYWRDb2RlLCBsdWFTb3VyY2UsIGVudikKICAgICAgICAgICAgICAgIGlmIG5vdCBsdWFjb21waWxlb2sgdGhlbgogICAgICAgICAgICAgICAgICAgIGNsZWFyc3RyZWFtKCkKICAgICAgICAgICAgICAgICAgICBvbkVycm9yKCdMdWEgQ29tcGlsZScsIGxvYWRlciwgbHVhU291cmNlKQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGxvY2FsIGxvYWRvaywgcmV0ID0geHBjYWxsKGZ1bmN0aW9uICgpIHJldHVybiB7bG9hZGVyKCl9IGVuZCwKICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHJ1bnRpbWVFcnIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKCdSdW50aW1lJywgcnVudGltZUVycikKICAgICAgICAgICAgICAgICAgICAgICAgZW5kKQogICAgICAgICAgICAgICAgICAgIGlmIGxvYWRvayB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGVudi5fID0gcmV0WzFdCiAgICAgICAgICAgICAgICAgICAgICAgIGVudi5fXyA9IHJldAogICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSA9IDEsICNyZXQgZG8gcmV0W2ldID0gcHAocmV0W2ldKSBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgb25WYWx1ZXMocmV0KQogICAgICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCmVuZAoKbG9jYWwgbW9kdWxlID0gewogICAgcGFyc2VyID0gcGFyc2VyLAogICAgZ3JhbnVsYXRlID0gZ3JhbnVsYXRlLAogICAgc3RyaW5nU3RyZWFtID0gc3RyaW5nU3RyZWFtLAogICAgY29tcGlsZSA9IGNvbXBpbGUsCiAgICBjb21waWxlU3RyaW5nID0gY29tcGlsZVN0cmluZywKICAgIGNvbXBpbGVTdHJlYW0gPSBjb21waWxlU3RyZWFtLAogICAgY29tcGlsZTEgPSBjb21waWxlMSwKICAgIG1hbmdsZSA9IGdsb2JhbE1hbmdsaW5nLAogICAgdW5tYW5nbGUgPSBnbG9iYWxVbm1hbmdsaW5nLAogICAgbGlzdCA9IGxpc3QsCiAgICBzeW0gPSBzeW0sCiAgICB2YXJnID0gdmFyZywKICAgIHNjb3BlID0gbWFrZVNjb3BlLAogICAgZ2Vuc3ltID0gZ2Vuc3ltLAogICAgZXZhbCA9IGV2YWwsCiAgICByZXBsID0gcmVwbCwKICAgIGRvZmlsZSA9IGRvZmlsZV9mZW5uZWwsCiAgICBwYXRoID0gIi4vPy5mbmw7Li8/L2luaXQuZm5sIiwKICAgIHRyYWNlYmFjayA9IHRyYWNlYmFjawp9Cgpsb2NhbCBmdW5jdGlvbiBzZWFyY2hNb2R1bGUobW9kdWxlbmFtZSkKICAgIG1vZHVsZW5hbWUgPSBtb2R1bGVuYW1lOmdzdWIoIiUuIiwgIi8iKQogICAgZm9yIHBhdGggaW4gc3RyaW5nLmdtYXRjaChtb2R1bGUucGF0aC4uIjsiLCAiKFteO10qKTsiKSBkbwogICAgICAgIGxvY2FsIGZpbGVuYW1lID0gcGF0aDpnc3ViKCIlPyIsIG1vZHVsZW5hbWUpCiAgICAgICAgbG9jYWwgZmlsZSA9IGlvLm9wZW4oZmlsZW5hbWUsICJyYiIpCiAgICAgICAgaWYoZmlsZSkgdGhlbgogICAgICAgICAgICBmaWxlOmNsb3NlKCkKICAgICAgICAgICAgcmV0dXJuIGZpbGVuYW1lCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCgptb2R1bGUubWFrZV9zZWFyY2hlciA9IGZ1bmN0aW9uKG9wdGlvbnMpCiAgIHJldHVybiBmdW5jdGlvbihtb2R1bGVuYW1lKQogICAgICBsb2NhbCBvcHRzID0ge30KICAgICAgZm9yIGssdiBpbiBwYWlycyhvcHRpb25zIG9yIHt9KSBkbyBvcHRzW2tdID0gdiBlbmQKICAgICAgbG9jYWwgZmlsZW5hbWUgPSBzZWFyY2hNb2R1bGUobW9kdWxlbmFtZSkKICAgICAgaWYgZmlsZW5hbWUgdGhlbgogICAgICAgICByZXR1cm4gZnVuY3Rpb24obW9kbmFtZSkKICAgICAgICAgICAgcmV0dXJuIGRvZmlsZV9mZW5uZWwoZmlsZW5hbWUsIG9wdHMsIG1vZG5hbWUpCiAgICAgICAgIGVuZAogICAgICBlbmQKICAgZW5kCmVuZAoKLS0gVGhpcyB3aWxsIGFsbG93IHJlZ3VsYXIgYHJlcXVpcmVgIHRvIHdvcmsgd2l0aCBGZW5uZWw6Ci0tIHRhYmxlLmluc2VydChwYWNrYWdlLmxvYWRlcnMsIGZlbm5lbC5zZWFyY2hlcikKbW9kdWxlLnNlYXJjaGVyID0gbW9kdWxlLm1ha2Vfc2VhcmNoZXIoKQoKbG9jYWwgZnVuY3Rpb24gbWFrZUNvbXBpbGVyRW52KGFzdCwgc2NvcGUsIHBhcmVudCkKICAgIHJldHVybiBzZXRtZXRhdGFibGUoewogICAgICAgIC0tIFN0YXRlIG9mIGNvbXBpbGVyIGlmIG5lZWRlZAogICAgICAgIF9TQ09QRSA9IHNjb3BlLAogICAgICAgIF9DSFVOSyA9IHBhcmVudCwKICAgICAgICBfQVNUID0gYXN0LAogICAgICAgIF9JU19DT01QSUxFUiA9IHRydWUsCiAgICAgICAgX1NQRUNJQUxTID0gU1BFQ0lBTFMsCiAgICAgICAgX1ZBUkFSRyA9IFZBUkFSRywKICAgICAgICAtLSBFeHBvc2UgdGhlIG1vZHVsZSBpbiB0aGUgY29tcGlsZXIKICAgICAgICBmZW5uZWwgPSBtb2R1bGUsCiAgICAgICAgLS0gVXNlZnVsIGZvciBtYWNyb3MgYW5kIG1ldGEgcHJvZ3JhbW1pbmcuIEFsbCBvZiBGZW5uZWwgY2FuIGJlIGFjY2Vzc2VkCiAgICAgICAgLS0gdmlhIGZlbm5lbC5teWZ1biwgZm9yIGV4YW1wbGUgKGZlbm5lbC5ldmFsICIocHJpbnQgMSkiKS4KICAgICAgICBsaXN0ID0gbGlzdCwKICAgICAgICBzeW0gPSBzeW0sCiAgICAgICAgW2dsb2JhbE1hbmdsaW5nKCJsaXN0PyIpXSA9IGlzTGlzdCwKICAgICAgICBbZ2xvYmFsTWFuZ2xpbmcoIm11bHRpLXN5bT8iKV0gPSBpc011bHRpU3ltLAogICAgICAgIFtnbG9iYWxNYW5nbGluZygic3ltPyIpXSA9IGlzU3ltLAogICAgICAgIFtnbG9iYWxNYW5nbGluZygidGFibGU/IildID0gaXNUYWJsZSwKICAgICAgICBbZ2xvYmFsTWFuZ2xpbmcoInZhcmc/IildID0gaXNWYXJnLAogICAgfSwgeyBfX2luZGV4ID0gX0VOViBvciBfRyB9KQplbmQKClNQRUNJQUxTWydyZXF1aXJlLW1hY3JvcyddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgZm9yIGkgPSAyLCAjYXN0IGRvCiAgICAgICAgbG9jYWwgZmlsZW5hbWUgPSBhc3NlcnRDb21waWxlKHNlYXJjaE1vZHVsZShhc3RbaV0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3RbaV0gLi4gIiBub3QgZm91bmQuIiwgYXN0KQogICAgICAgIGxvY2FsIG1vZCA9IGRvZmlsZV9mZW5uZWwoZmlsZW5hbWUsIHtlbnY9bWFrZUNvbXBpbGVyRW52KGFzdCwgc2NvcGUsIHBhcmVudCl9KQogICAgICAgIGZvciBrLCB2IGluIHBhaXJzKGFzc2VydENvbXBpbGUoaXNUYWJsZShtb2QpLCAnZXhwZWN0ZWQgJyAuLiBhc3RbaV0gLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1bGUgdG8gYmUgdGFibGUnLCBhc3QpKSBkbwogICAgICAgICAgICBzY29wZS5zcGVjaWFsc1trXSA9IG1hY3JvVG9TcGVjaWFsKHYpCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCgpTUEVDSUFMU1snZXZhbC1jb21waWxlciddID0gZnVuY3Rpb24oYXN0LCBzY29wZSwgcGFyZW50KQogICAgbG9jYWwgb2xkRmlyc3QgPSBhc3RbMV0KICAgIGFzdFsxXSA9IHN5bSgnZG8nKQogICAgbG9jYWwgbHVhU291cmNlID0gY29tcGlsZShhc3QsIHsgc2NvcGUgPSBtYWtlU2NvcGUoQ09NUElMRVJfU0NPUEUpIH0pCiAgICBhc3RbMV0gPSBvbGRGaXJzdAogICAgbG9jYWwgbG9hZGVyID0gbG9hZENvZGUobHVhU291cmNlLCBtYWtlQ29tcGlsZXJFbnYoYXN0LCBzY29wZSwgcGFyZW50KSkKICAgIGxvYWRlcigpCmVuZAoKLS0gTG9hZCBzdGFuZGFyZCBtYWNyb3MKbG9jYWwgc3RkbWFjcm9zID0gWz09PVsKeyItPiIgKGZuIFt2YWwgLi4uXQogICAgICAgICh2YXIgeCB2YWwpCiAgICAgICAgKGVhY2ggW18gZWx0IChpcGFpcnMgWy4uLl0pXQogICAgICAgICAgKHRhYmxlLmluc2VydCBlbHQgMiB4KQogICAgICAgICAgKHNldCB4IGVsdCkpCiAgICAgICAgeCkKICItPj4iIChmbiBbdmFsIC4uLl0KICAgICAgICAgKHZhciB4IHZhbCkKICAgICAgICAgKGVhY2ggW18gZWx0IChwYWlycyBbLi4uXSldCiAgICAgICAgICAgKHRhYmxlLmluc2VydCBlbHQgeCkKICAgICAgICAgICAoc2V0IHggZWx0KSkKICAgICAgICAgeCkKIDpkZWZuIChmbiBbbmFtZSBhcmdzIC4uLl0KICAgICAgICAgKGFzc2VydCAoc3ltPyBuYW1lKSAiZGVmbjogZnVuY3Rpb24gbmFtZXMgbXVzdCBiZSBzeW1ib2xzIikKICAgICAgICAgKGxpc3QgKHN5bSA6Zm4pIG5hbWUgYXJncyAuLi4pKQogOndoZW4gKGZuIFtjb25kaXRpb24gYm9keTEgLi4uXQogICAgICAgICAoYXNzZXJ0IGJvZHkxICJleHBlY3RlZCBib2R5IikKICAgICAgICAgKGxpc3QgKHN5bSAnaWYnKSBjb25kaXRpb24KICAgICAgICAgICAgICAgKGxpc3QgKHN5bSAnZG8nKSBib2R5MSAuLi4pKSkKIDpwYXJ0aWFsIChmbiBbZiAuLi5dCiAgICAgICAgICAgIChsZXQgW2JvZHkgKGxpc3QgZiAuLi4pXQogICAgICAgICAgICAgICh0YWJsZS5pbnNlcnQgYm9keSBfVkFSQVJHKQogICAgICAgICAgICAgIChsaXN0IChzeW0gImZuIikgW19WQVJBUkddIGJvZHkpKSkKIDpsYW1iZGEgKGZuIFsuLi5dCiAgICAgICAgICAgKGxldCBbYXJncyBbLi4uXQogICAgICAgICAgICAgICAgIGhhcy1pbnRlcm5hbC1uYW1lPyAoc3ltPyAoLiBhcmdzIDEpKQogICAgICAgICAgICAgICAgIGFyZ2xpc3QgKGlmIGhhcy1pbnRlcm5hbC1uYW1lPyAoLiBhcmdzIDIpICguIGFyZ3MgMSkpCiAgICAgICAgICAgICAgICAgYXJpdHktY2hlY2stcG9zaXRpb24gKGlmIGhhcy1pbnRlcm5hbC1uYW1lPyAzIDIpXQogICAgICAgICAgICAgKGFzc2VydCAoPiAoIyBhcmdzKSAxKSAibWlzc2luZyBib2R5IGV4cHJlc3Npb24iKQogICAgICAgICAgICAgKGVhY2ggW2kgYSAoaXBhaXJzIGFyZ2xpc3QpXQogICAgICAgICAgICAgICAoaWYgKGFuZCAobm90ICg6ICh0b3N0cmluZyBhKSA6bWF0Y2ggIl4/IikpCiAgICAgICAgICAgICAgICAgICAgICAgICh+PSAodG9zdHJpbmcgYSkgIi4uLiIpKQogICAgICAgICAgICAgICAgICAgKHRhYmxlLmluc2VydCBhcmdzIGFyaXR5LWNoZWNrLXBvc2l0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IChzeW0gImFzc2VydCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IChzeW0gIn49IikgKHN5bSAibmlsIikgYSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDogIk1pc3NpbmcgYXJndW1lbnQgJXMgb24gJXM6JXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JtYXQgKHRvc3RyaW5nIGEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciBhLmZpbGVuYW1lICJ1bmtub3duIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIGEubGluZSAiPyIpKSkpKSkKICAgICAgICAgICAgIChsaXN0IChzeW0gImZuIikgKChvciB1bnBhY2sgdGFibGUudW5wYWNrKSBhcmdzKSkpKQp9Cl09PT1dCmZvciBuYW1lLCBmbiBpbiBwYWlycyhldmFsKHN0ZG1hY3JvcywgewogICAgZW52ID0gbWFrZUNvbXBpbGVyRW52KG5pbCwgR0xPQkFMX1NDT1BFLCB7fSkKfSkpIGRvCiAgICBTUEVDSUFMU1tuYW1lXSA9IG1hY3JvVG9TcGVjaWFsKGZuKQplbmQKU1BFQ0lBTFNbJ867J10gPSBTUEVDSUFMU1snbGFtYmRhJ10KCnBhY2thZ2UubG9hZGVkWydmZW5uZWwnXSA9IG1vZHVsZQotLVtbAF1dAFtbAC0tAGZ1bmN0aW9uIAAoZXJyb3Igb2JqZWN0IGlzIGEgJXMgdmFsdWUpAHNjYW5saW5lACdmdW5jdGlvbiBUSUMoKS4uLicgaXNuJ3QgZm91bmQgOigAX1RJQzgwAGludmFsaWQgcGFyYW1zLCBrZXlwIFsgY29kZSBbIGhvbGQgcGVyaW9kIF0gXQoAaW52YWxpZCBwYXJhbXMsIGtleSBbY29kZV0KAGludmFsaWQgcGFyYW1zLCB1c2UgbXVzaWModHJhY2spCgBpbnZhbGlkIHBhcmFtZXRlcnMsIHVzZSBjbGlwKHgseSx3LGgpIG9yIGNsaXAoKQoAaW52YWxpZCBwYXJhbWV0ZXJzLCB0ZXh0cmkoeDEseTEseDIseTIseDMseTMsdTEsdjEsdTIsdjIsdTMsdjMsW3VzZV9tYXA9ZmFsc2VdLFtjaHJvbWE9b2ZmXSkKAGludmFsaWQgcGFyYW1ldGVycywgdHJpKHgxLHkxLHgyLHkyLHgzLHkzLGNvbG9yKQoAaW52YWxpZCBwYXJhbWV0ZXJzLCBjaXJjYih4LHkscmFkaXVzLGNvbG9yKQoAaW52YWxpZCBwYXJhbWV0ZXJzLCBjaXJjKHgseSxyYWRpdXMsY29sb3IpCgBpbnZhbGlkIHBhcmFtcywgcG1lbShpbmRleCBbdmFsXSkgLT4gdmFsCgBpbnZhbGlkIHBhcmFtcywgbWVtc2V0KGRlc3QsdmFsLHNpemUpCgBpbnZhbGlkIHBhcmFtcywgbWVtY3B5KGRlc3Qsc3JjLHNpemUpCgBpbnZhbGlkIHBhcmFtZXRlcnMsIHBva2U0KGFkZHIsdmFsdWUpCgBpbnZhbGlkIHBhcmFtZXRlcnMsIHBlZWs0KGFkZHIpCgBpbnZhbGlkIHBhcmFtcywgbWdldCh4LHkpCgBpbnZhbGlkIHNmeCBwYXJhbXMKAGludmFsaWQgcGFyYW1zLCBidG5wIFsgaWQgWyBob2xkIHBlcmlvZCBdIF0KAGludmFsaWQgcGFyYW1zLCBidG4gWyBpZCBdCgBpbnZhbGlkIHBhcmFtZXRlcnMsIHJlY3RiKHgseSx3LGgsY29sb3IpCgBpbnZhbGlkIHBhcmFtZXRlcnMsIHJlY3QoeCx5LHcsaCxjb2xvcikKAGludmFsaWQgcGFyYW1ldGVycywgbGluZSh4MCx5MCx4MSx5MSxjb2xvcikKAGludmFsaWQgcGFyYW1ldGVycywgcGl4KHggeSBbY29sb3JdKQoAc2NyaXB0IGV4ZWN1dGlvbiB3YXMgaW50ZXJydXB0ZWQAdW5rbm93biBtZXRob2Q6ICJsb2FkZmlsZSIKAHVua25vd24gbWV0aG9kOiAiZG9maWxlIgoAcGFja2FnZQBjb3JvdXRpbmUAbWF0aABjb250aW51ZQB1bmxlc3MAc3dpdGNoAHdoZW4AY2F0Y2gAd2l0aABleHBvcnQAZXh0ZW5kcwBuZXcAPS0+AGxwZWcAbW9vbnNjcmlwdC5sdWEAZmFpbGVkIHRvIGxvYWQgbW9vbnNjcmlwdC5sdWEAbG9jYWwgZm4sIGVyciA9IHJlcXVpcmUoJ21vb25zY3JpcHQuYmFzZScpLmxvYWRzdHJpbmcoLi4uKSBpZiBub3QgZm4gdGhlbiByZXR1cm4gZXJyIGVuZCByZXR1cm4gZm4oKQBleGVjdXRlX21vb25zY3JpcHQAZmFpbGVkIHRvIGxvYWQgbW9vbnNjcmlwdCBjb21waWxlcgA7AHZhbHVlcwBlYWNoAGZuAGxhbWJkYQBwYXJ0aWFsAHNldABsZXQAdHNldAAjADoALT4ALT4+AGxvY2FsIG9rLCBtc2cgPSBwY2FsbChyZXF1aXJlKCdmZW5uZWwnKS5ldmFsLCAuLi4sIHtmaWxlbmFtZT0iZ2FtZSIsIGNvcnJlbGF0ZT10cnVlfSkgaWYobm90IG9rKSB0aGVuIHJldHVybiBtc2cgZW5kAGV4ZWN1dGVfZmVubmVsAGZhaWxlZCB0byBsb2FkIGZlbm5lbCBjb21waWxlcgAoZm4gAGZlbm5lbC5sdWEALyoAKi8AVElDAFNDTgBPVlIAY2xzAHBpeAByZWN0YgBzcHIAYnRuAGJ0bnAAc2Z4AG1hcABtZ2V0AG1zZXQAcGVlawBwb2tlAHBlZWs0AHBva2U0AG1lbWNweQBtZW1zZXQAdHJhY2UAcG1lbQB0aW1lAGV4aXQAZm9udABtb3VzZQBjaXJjAGNpcmNiAHRyaQB0ZXh0cmkAY2xpcABtdXNpYwBzeW5jAHJlc2V0AGtleXAACmNsYXNzIFRJQyB7Cglmb3JlaWduIHN0YXRpYyBidG4oaWQpCglmb3JlaWduIHN0YXRpYyBidG5wKGlkKQoJZm9yZWlnbiBzdGF0aWMgYnRucChpZCwgaG9sZCwgcGVyaW9kKQoJZm9yZWlnbiBzdGF0aWMga2V5KGlkKQoJZm9yZWlnbiBzdGF0aWMga2V5cChpZCkKCWZvcmVpZ24gc3RhdGljIGtleXAoaWQsIGhvbGQsIHBlcmlvZCkKCWZvcmVpZ24gc3RhdGljIG1vdXNlKCkKCWZvcmVpZ24gc3RhdGljIGZvbnQodGV4dCkKCWZvcmVpZ24gc3RhdGljIGZvbnQodGV4dCwgeCwgeSkKCWZvcmVpZ24gc3RhdGljIGZvbnQodGV4dCwgeCwgeSwgYWxwaGFfY29sb3IpCglmb3JlaWduIHN0YXRpYyBmb250KHRleHQsIHgsIHksIGFscGhhX2NvbG9yLCB3LCBoKQoJZm9yZWlnbiBzdGF0aWMgZm9udCh0ZXh0LCB4LCB5LCBhbHBoYV9jb2xvciwgdywgaCwgZml4ZWQpCglmb3JlaWduIHN0YXRpYyBmb250KHRleHQsIHgsIHksIGFscGhhX2NvbG9yLCB3LCBoLCBmaXhlZCwgc2NhbGUpCglmb3JlaWduIHN0YXRpYyBzcHIoaWQpCglmb3JlaWduIHN0YXRpYyBzcHIoaWQsIHgsIHkpCglmb3JlaWduIHN0YXRpYyBzcHIoaWQsIHgsIHksIGFscGhhX2NvbG9yKQoJZm9yZWlnbiBzdGF0aWMgc3ByKGlkLCB4LCB5LCBhbHBoYV9jb2xvciwgc2NhbGUpCglmb3JlaWduIHN0YXRpYyBzcHIoaWQsIHgsIHksIGFscGhhX2NvbG9yLCBzY2FsZSwgZmxpcCkKCWZvcmVpZ24gc3RhdGljIHNwcihpZCwgeCwgeSwgYWxwaGFfY29sb3IsIHNjYWxlLCBmbGlwLCByb3RhdGUpCglmb3JlaWduIHN0YXRpYyBzcHIoaWQsIHgsIHksIGFscGhhX2NvbG9yLCBzY2FsZSwgZmxpcCwgcm90YXRlLCBjZWxsX3dpZHRoLCBjZWxsX2hlaWdodCkKCWZvcmVpZ24gc3RhdGljIG1hcChjZWxsX3gsIGNlbGxfeSkKCWZvcmVpZ24gc3RhdGljIG1hcChjZWxsX3gsIGNlbGxfeSwgY2VsbF93LCBjZWxsX2gpCglmb3JlaWduIHN0YXRpYyBtYXAoY2VsbF94LCBjZWxsX3ksIGNlbGxfdywgY2VsbF9oLCB4LCB5KQoJZm9yZWlnbiBzdGF0aWMgbWFwKGNlbGxfeCwgY2VsbF95LCBjZWxsX3csIGNlbGxfaCwgeCwgeSwgYWxwaGFfY29sb3IpCglmb3JlaWduIHN0YXRpYyBtYXAoY2VsbF94LCBjZWxsX3ksIGNlbGxfdywgY2VsbF9oLCB4LCB5LCBhbHBoYV9jb2xvciwgc2NhbGUpCglmb3JlaWduIHN0YXRpYyBtc2V0KGNlbGxfeCwgY2VsbF95KQoJZm9yZWlnbiBzdGF0aWMgbXNldChjZWxsX3gsIGNlbGxfeSwgaW5kZXgpCglmb3JlaWduIHN0YXRpYyBtZ2V0KGNlbGxfeCwgY2VsbF95KQoJZm9yZWlnbiBzdGF0aWMgdGV4dHJpKHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIHUxLCB2MSwgdTIsIHYyLCB1MywgdjMpCglmb3JlaWduIHN0YXRpYyB0ZXh0cmkoeDEsIHkxLCB4MiwgeTIsIHgzLCB5MywgdTEsIHYxLCB1MiwgdjIsIHUzLCB2MywgdXNlX21hcCkKCWZvcmVpZ24gc3RhdGljIHRleHRyaSh4MSwgeTEsIHgyLCB5MiwgeDMsIHkzLCB1MSwgdjEsIHUyLCB2MiwgdTMsIHYzLCB1c2VfbWFwLCBhbHBoYV9jb2xvcikKCWZvcmVpZ24gc3RhdGljIHBpeCh4LCB5KQoJZm9yZWlnbiBzdGF0aWMgcGl4KHgsIHksIGNvbG9yKQoJZm9yZWlnbiBzdGF0aWMgbGluZSh4MCwgeTAsIHgxLCB5MSwgY29sb3IpCglmb3JlaWduIHN0YXRpYyBjaXJjKHgsIHksIHJhZGl1cywgY29sb3IpCglmb3JlaWduIHN0YXRpYyBjaXJjYih4LCB5LCByYWRpdXMsIGNvbG9yKQoJZm9yZWlnbiBzdGF0aWMgcmVjdCh4LCB5LCB3LCBoLCBjb2xvcikKCWZvcmVpZ24gc3RhdGljIHJlY3RiKHgsIHksIHcsIGgsIGNvbG9yKQoJZm9yZWlnbiBzdGF0aWMgdHJpKHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIGNvbG9yKQoJZm9yZWlnbiBzdGF0aWMgY2xzKCkKCWZvcmVpZ24gc3RhdGljIGNscyhjb2xvcikKCWZvcmVpZ24gc3RhdGljIGNsaXAoKQoJZm9yZWlnbiBzdGF0aWMgY2xpcCh4LCB5LCB3LCBoKQoJZm9yZWlnbiBzdGF0aWMgcGVlayhhZGRyKQoJZm9yZWlnbiBzdGF0aWMgcG9rZShhZGRyLCB2YWwpCglmb3JlaWduIHN0YXRpYyBwZWVrNChhZGRyKQoJZm9yZWlnbiBzdGF0aWMgcG9rZTQoYWRkciwgdmFsKQoJZm9yZWlnbiBzdGF0aWMgbWVtY3B5KGRzdCwgc3JjLCBzaXplKQoJZm9yZWlnbiBzdGF0aWMgbWVtc2V0KGRzdCwgc3JjLCBzaXplKQoJZm9yZWlnbiBzdGF0aWMgcG1lbShpbmRleCwgdmFsKQoJZm9yZWlnbiBzdGF0aWMgc2Z4KGlkKQoJZm9yZWlnbiBzdGF0aWMgc2Z4KGlkLCBub3RlKQoJZm9yZWlnbiBzdGF0aWMgc2Z4KGlkLCBub3RlLCBkdXJhdGlvbikKCWZvcmVpZ24gc3RhdGljIHNmeChpZCwgbm90ZSwgZHVyYXRpb24sIGNoYW5uZWwpCglmb3JlaWduIHN0YXRpYyBzZngoaWQsIG5vdGUsIGR1cmF0aW9uLCBjaGFubmVsLCB2b2x1bWUpCglmb3JlaWduIHN0YXRpYyBzZngoaWQsIG5vdGUsIGR1cmF0aW9uLCBjaGFubmVsLCB2b2x1bWUsIHNwZWVkKQoJZm9yZWlnbiBzdGF0aWMgbXVzaWMoKQoJZm9yZWlnbiBzdGF0aWMgbXVzaWModHJhY2spCglmb3JlaWduIHN0YXRpYyBtdXNpYyh0cmFjaywgZnJhbWUpCglmb3JlaWduIHN0YXRpYyBtdXNpYyh0cmFjaywgZnJhbWUsIGxvb3ApCglmb3JlaWduIHN0YXRpYyB0aW1lKCkKCWZvcmVpZ24gc3RhdGljIHN5bmMoKQoJZm9yZWlnbiBzdGF0aWMgc3luYyhtYXNrKQoJZm9yZWlnbiBzdGF0aWMgc3luYyhtYXNrLCBiYW5rKQoJZm9yZWlnbiBzdGF0aWMgc3luYyhtYXNrLCBiYW5rLCB0b2NhcnQpCglmb3JlaWduIHN0YXRpYyByZXNldCgpCglmb3JlaWduIHN0YXRpYyBleGl0KCkKCWZvcmVpZ24gc3RhdGljIG1hcF93aWR0aF9fCglmb3JlaWduIHN0YXRpYyBtYXBfaGVpZ2h0X18KCWZvcmVpZ24gc3RhdGljIHNwcml0ZXNpemVfXwoJZm9yZWlnbiBzdGF0aWMgcHJpbnRfXyh2LCB4LCB5LCBjb2xvciwgZml4ZWQsIHNjYWxlLCBhbHQpCglmb3JlaWduIHN0YXRpYyB0cmFjZV9fKG1zZywgY29sb3IpCglmb3JlaWduIHN0YXRpYyBzcHJfXyhpZCwgeCwgeSwgYWxwaGFfY29sb3IsIHNjYWxlLCBmbGlwLCByb3RhdGUpCglmb3JlaWduIHN0YXRpYyBtZ2V0aV9fKGluZGV4KQoJc3RhdGljIHByaW50KHYpIHsgVElDLnByaW50X18odi50b1N0cmluZywgMCwgMCwgMTUsIGZhbHNlLCAxLCBmYWxzZSkgfQoJc3RhdGljIHByaW50KHYseCx5KSB7IFRJQy5wcmludF9fKHYudG9TdHJpbmcsIHgsIHksIDE1LCBmYWxzZSwgMSwgZmFsc2UpIH0KCXN0YXRpYyBwcmludCh2LHgseSxjb2xvcikgeyBUSUMucHJpbnRfXyh2LnRvU3RyaW5nLCB4LCB5LCBjb2xvciwgZmFsc2UsIDEsIGZhbHNlKSB9CglzdGF0aWMgcHJpbnQodix4LHksY29sb3IsZml4ZWQpIHsgVElDLnByaW50X18odi50b1N0cmluZywgeCwgeSwgY29sb3IsIGZpeGVkLCAxLCBmYWxzZSkgfQoJc3RhdGljIHByaW50KHYseCx5LGNvbG9yLGZpeGVkLHNjYWxlKSB7IFRJQy5wcmludF9fKHYudG9TdHJpbmcsIHgsIHksIGNvbG9yLCBmaXhlZCwgc2NhbGUsIGZhbHNlKSB9CglzdGF0aWMgcHJpbnQodix4LHksY29sb3IsZml4ZWQsc2NhbGUsYWx0KSB7IFRJQy5wcmludF9fKHYudG9TdHJpbmcsIHgsIHksIGNvbG9yLCBmaXhlZCwgc2NhbGUsIGFsdCkgfQoJc3RhdGljIHRyYWNlKHYpIHsgVElDLnRyYWNlX18odi50b1N0cmluZywgMTUpIH0KCXN0YXRpYyB0cmFjZSh2LGNvbG9yKSB7IFRJQy50cmFjZV9fKHYudG9TdHJpbmcsIGNvbG9yKSB9CglzdGF0aWMgbWFwKGNlbGxfeCwgY2VsbF95LCBjZWxsX3csIGNlbGxfaCwgeCwgeSwgYWxwaGFfY29sb3IsIHNjYWxlLCByZW1hcCkgewoJCXZhciBtYXBfdyA9IFRJQy5tYXBfd2lkdGhfXwoJCXZhciBtYXBfaCA9IFRJQy5tYXBfaGVpZ2h0X18KCQl2YXIgc2l6ZSA9IFRJQy5zcHJpdGVzaXplX18gKiBzY2FsZQoJCXZhciBqaiA9IHkKCQl2YXIgaWkgPSB4CgkJdmFyIGZsaXAgPSAwCgkJdmFyIHJvdGF0ZSA9IDAKCQlmb3IgKGogaW4gY2VsbF95Li4uY2VsbF95K2NlbGxfaCkgewoJCQlpaSA9IHgKCQkJZm9yIChpIGluIGNlbGxfeC4uLmNlbGxfeCtjZWxsX3cpIHsKCQkJCXZhciBtaSA9IGkKCQkJCXZhciBtaiA9IGoKCQkJCXdoaWxlKG1pIDwgMCkgbWkgPSBtaSArIG1hcF93CgkJCQl3aGlsZShtaiA8IDApIG1qID0gbWogKyBtYXBfaAoJCQkJd2hpbGUobWkgPj0gbWFwX3cpIG1pID0gbWkgLSBtYXBfdwoJCQkJd2hpbGUobWogPj0gbWFwX2gpIG1qID0gbWogLSBtYXBfaAoJCQkJdmFyIGluZGV4ID0gbWkgKyBtaiAqIG1hcF93CgkJCQl2YXIgdGlsZV9pbmRleCA9IFRJQy5tZ2V0aV9fKGluZGV4KQoJCQkJdmFyIHJldCA9IHJlbWFwLmNhbGwodGlsZV9pbmRleCwgbWksIG1qKQoJCQkJaWYgKHJldC50eXBlID09IExpc3QpIHsKCQkJCQl0aWxlX2luZGV4ID0gcmV0WzBdCgkJCQkJZmxpcCA9IHJldFsxXQoJCQkJCXJvdGF0ZSA9IHJldFsyXQoJCQkJfSBlbHNlIGlmIChyZXQudHlwZSA9PSBOdW0pIHsKCQkJCQl0aWxlX2luZGV4ID0gcmV0CgkJCQl9CgkJCQlUSUMuc3ByX18odGlsZV9pbmRleCwgaWksIGpqLCBhbHBoYV9jb2xvciwgc2NhbGUsIGZsaXAsIHJvdGF0ZSkKCQkJCWlpID0gaWkgKyBzaXplCgkJCX0KCQkJamogPSBqaiArIHNpemUKCQl9Cgl9CglUSUMoKXt9CglTQ04ocm93KXt9CglPVlIoKXt9Cn0KAGNhbid0IGxvYWQgVElDIHdyZW4gYXBpAEdhbWUAVElDKCkAU0NOKF8pAE9WUigpAEVycm9yIGluIGdhbWUgY2xhc3MgOigAJ0dhbWUgY2xhc3MnIGlzbid0IGZvdW5kIDooACIlcyIsICVkICwiJXMiACVkLCAiJXMiAHN0YXRpYyBUSUMuYnRuKF8pAHN0YXRpYyBUSUMuYnRucChfKQBzdGF0aWMgVElDLmJ0bnAoXyxfLF8pAHN0YXRpYyBUSUMua2V5KF8pAHN0YXRpYyBUSUMua2V5cChfKQBzdGF0aWMgVElDLmtleXAoXyxfLF8pAHN0YXRpYyBUSUMubW91c2UoKQBzdGF0aWMgVElDLmZvbnQoXykAc3RhdGljIFRJQy5mb250KF8sXyxfKQBzdGF0aWMgVElDLmZvbnQoXyxfLF8sXykAc3RhdGljIFRJQy5mb250KF8sXyxfLF8sXyxfKQBzdGF0aWMgVElDLmZvbnQoXyxfLF8sXyxfLF8sXykAc3RhdGljIFRJQy5mb250KF8sXyxfLF8sXyxfLF8sXykAc3RhdGljIFRJQy5zcHIoXykAc3RhdGljIFRJQy5zcHIoXyxfLF8pAHN0YXRpYyBUSUMuc3ByKF8sXyxfLF8pAHN0YXRpYyBUSUMuc3ByKF8sXyxfLF8sXykAc3RhdGljIFRJQy5zcHIoXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMuc3ByKF8sXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMuc3ByKF8sXyxfLF8sXyxfLF8sXyxfKQBzdGF0aWMgVElDLm1hcChfLF8pAHN0YXRpYyBUSUMubWFwKF8sXyxfLF8pAHN0YXRpYyBUSUMubWFwKF8sXyxfLF8sXyxfKQBzdGF0aWMgVElDLm1hcChfLF8sXyxfLF8sXyxfKQBzdGF0aWMgVElDLm1hcChfLF8sXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMubXNldChfLF8pAHN0YXRpYyBUSUMubXNldChfLF8sXykAc3RhdGljIFRJQy5tZ2V0KF8sXykAc3RhdGljIFRJQy50ZXh0cmkoXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMudGV4dHJpKF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMudGV4dHJpKF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXykAc3RhdGljIFRJQy5waXgoXyxfKQBzdGF0aWMgVElDLnBpeChfLF8sXykAc3RhdGljIFRJQy5saW5lKF8sXyxfLF8sXykAc3RhdGljIFRJQy5jaXJjKF8sXyxfLF8pAHN0YXRpYyBUSUMuY2lyY2IoXyxfLF8sXykAc3RhdGljIFRJQy5yZWN0KF8sXyxfLF8sXykAc3RhdGljIFRJQy5yZWN0YihfLF8sXyxfLF8pAHN0YXRpYyBUSUMudHJpKF8sXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMuY2xzKCkAc3RhdGljIFRJQy5jbHMoXykAc3RhdGljIFRJQy5jbGlwKCkAc3RhdGljIFRJQy5jbGlwKF8sXyxfLF8pAHN0YXRpYyBUSUMucGVlayhfKQBzdGF0aWMgVElDLnBva2UoXyxfKQBzdGF0aWMgVElDLnBlZWs0KF8pAHN0YXRpYyBUSUMucG9rZTQoXyxfKQBzdGF0aWMgVElDLm1lbWNweShfLF8sXykAc3RhdGljIFRJQy5tZW1zZXQoXyxfLF8pAHN0YXRpYyBUSUMucG1lbShfLF8pAHN0YXRpYyBUSUMuc2Z4KF8pAHN0YXRpYyBUSUMuc2Z4KF8sXykAc3RhdGljIFRJQy5zZngoXyxfLF8pAHN0YXRpYyBUSUMuc2Z4KF8sXyxfLF8pAHN0YXRpYyBUSUMuc2Z4KF8sXyxfLF8sXykAc3RhdGljIFRJQy5zZngoXyxfLF8sXyxfLF8pAHN0YXRpYyBUSUMubXVzaWMoKQBzdGF0aWMgVElDLm11c2ljKF8pAHN0YXRpYyBUSUMubXVzaWMoXyxfKQBzdGF0aWMgVElDLm11c2ljKF8sXyxfKQBzdGF0aWMgVElDLnRpbWUoKQBzdGF0aWMgVElDLnN5bmMoKQBzdGF0aWMgVElDLnN5bmMoXykAc3RhdGljIFRJQy5zeW5jKF8sXykAc3RhdGljIFRJQy5zeW5jKF8sXyxfKQBzdGF0aWMgVElDLnJlc2V0KCkAc3RhdGljIFRJQy5leGl0KCkAc3RhdGljIFRJQy5tYXBfd2lkdGhfXwBzdGF0aWMgVElDLm1hcF9oZWlnaHRfXwBzdGF0aWMgVElDLnNwcml0ZXNpemVfXwBzdGF0aWMgVElDLnByaW50X18oXyxfLF8sXyxfLF8sXykAc3RhdGljIFRJQy50cmFjZV9fKF8sXykAc3RhdGljIFRJQy5zcHJfXyhfLF8sXyxfLF8sXyxfKQBzdGF0aWMgVElDLm1nZXRpX18oXykAc3luYygpIGVycm9yLCBpbnZhbGlkIGJhbmsAaW52YWxpZCBub3RlLCBzaG91bGQgYmUgbGlrZSBDIzQKAHVua25vd24gY2hhbm5lbAoAdW5rbm93biBzZnggaW5kZXgKAGludmFsaWQgcGVyc2lzdGVudCBtZW1vcnkgaW5kZXgKAHVua25vd24ga2V5Ym9hcmQgY29kZQoA+bCwUG8HLw8v/gvFvwBIAg9zQhMyBwIiAvBC9DL3ufli8WMI8X868LYvH/G/FRL1Mg8BGBsjDwIC8O8P9JwPCvEaFQbwZQoEDwnwnznwUn848mQPBAifAfAFcxPwYmIENA8CDhIvAB8FVRPwYmISEh8RMg8FLwKCIvBiYhJEDwQPAR8JDHMT8GJiEkQPEBIvAQ8DAlQiNBICFBQkvwgPJnIi8HLwBA8MJh8QBXIi8HKSRA8SAh8BHwRyIvGTDwIGKS8KVvAk8IKCA28s8gIdbywSAxIDBzJiIgIDEjIaA0IPBz8SDzFy8U8NT2XxvwYPAlU0BBglzQ8D8WIGA/Gy/+A/IzYgIz8ZIz8RIzYgIz4vKSM/M/F/APAvRjVP/hXj8BLwpvO0qMI/APAvAPAvAMIvAfJPFQUPNfSJQ/EiBvNr8P8j8ONM8cXwryjwevJfRA9P8f8Dbynw7hvxzwzxTxsr8UOPUjI0GvsPMv/gCDU/FjU3ICAgLw8/JSYgQiZDNVxiJvZg4PAs9XBQOSBEcCAgIyozZFDwPxn/6Wvx8vHy91c0HfFiBgPyiA8C8HpiYmJiYmJib0IP/gyS8LiENF9Gci9KI28ZT07wPwvyfwD/4PT/8ACKjzz/8AQMjxz/43/zXx4//U8AsfBvH/AvDz9A8Zg/Vz8UJ/MaIiMvB/D/JPAPIvMFQCDfDL8H8L8Njx/w4PAkKbQvGfCSJ/BvB0BPIiBBNDAg8KI6gtU1NaYmLxspv2Pw//8AGpbfB18h//AA/4/+BgP1rxhtRgKSwkICEhL1zxP/4F3wTzA/JvGr9mQvd/FvCn8Kz0lFNTUy8VsvCi8DIS498U9r838l/98NTyHyHxDwLwtvFr8OPxRXJPHPjvBPFF8UXxifJPjv/gKa8Gt/ilMC8cIUA/B78Hrw/zPwMhvwa/CvOPKHHzIPATIi8L8e8NTw3xVy8M8N8mvwa/A+8C9g858p8j7yP/4gTyXz3x3xLwnwzxTxvxNA3yDwA/BwIPFfAi8J9GYgIy4pjx/xhzE/BiYhJEDwQNT5DyXwQ/J/IPBhIPqvH/Gz8W8g8GDy3xv0fwr/4HrzDxEP/gtPKf+YLxXwMPI/Dv/iZP/ijPWPX/A/tP/psP/jIf/uxf/hOf/wAQrf/hK48P9j8O8E8g8CPxHwVvA//iZPNcDzTPMg8R//AAbf8F/+Hl//ABQBH/6vL1tsSIn/8ABlr0UvNyEwMTMrICYvMSM3Ji8MIyQgRi/+BGPwkvCS8PLwkvDy8JLw8vCS8PLwkn/+8o+18t80/+OwMvCyEgMCkjICBwUCAgIiEgMCAgICAhIDMmIyMgKS8BYiQvAf/wAAOP/wCVyfG//vJ8/OP/8ABXT/8AGFL/4RAP/wAF4S/+lj8TM//tcg8LjwAv/wBln5//AElE8l/+DACQ94T/8ADx718P/h8/YP/gB0/78dICEhIPOq8i8PcPV2NTEjOfCQ8Q8L9NrwGfE48UMoIiTx0vatLxHygi8CJrE58DLyoCYxMqCxOfAy8qAkUTJA8GtAwvKgJyIi8GE58DLyoCYxMpGxOfBA8tRCI6DwCfAj8sYiI4HBOfAy8qAmIiOBwTnwMvLGIiOgsTnwQfOAVSAneTHy8DbXKfSQNSHFOfMBecAgIFHyPwQhai8UoPVvBCnTUiI2Q+su/+GzL/4qYvDy8PHxAfMvEKA58TI59dHxQPaLW7n3KfL08rkvDTp58I3zRPIfAcnwONLxDDnx7fIvBJl59oIvBVBSQfuPJmT/4QAfIx8FD23FBL/+ryL38PUvEP/hHl9bH/8AZHmfNwWfEh9CH/4AQEBQ8JT0ofJPArl/AvAJ8OfwvPHj8h3wGcC58h3QkTnxMvJAIjFhIPG0Yf3nITn/8APhgP/h1fAPAvAEHwovsp8XD/4bEP1A+HT/4Bmf/kSyIWPxolD5cf/kDS8n7xGfAT8fryeXLxbSnyUNLyLaJJ9Etw+Stpc/KgJjEyoLE2RPsvAqn0jwTZ/HY48NH0TwHwGfQ8mfReWf/gmp/+I5cn8CnyrwYt//ADydn3hPLW8Ln/4uvx7wI//wA7/h//AAO6RFlzbxA/hi/+R98i/+D08nXyKQ8ADwhC7/5ERi8BNiEk/+eZb19mn/8MBpr+AAkAOAAwC4B8AGwHAj8sfgQErAMSCAooBsQQG9gf6DA60DiAYHYgciRA8MDoxIHmgccCBDAEEEAIoAgAQBWEFMUwn8CfgGHIMEIQQ+AD4QIHxAfGAw+QD5QIHzAfOBA+gD6QGH2AfaBA+4D90CH3IfyAg+7D+0CH3gf+AQ+9D/UCH3wf+gQ/YD9wCH9Af2AQ/wD/QCIXAhYCBJoElsaLDAsAF5aACFAmq3AToKH+g/5CaiAQEBADACZgJkDAToBORAClgKUXAXoBeQYDBgMECAaEBoAYDaANmCAc4BzRADvgO8JAfkB+CgERgREJAkcCRgoG4gbgCA9kD2BgIwgjARBIsEijYJhAmCHBNEE0GA8AjwBLHqEeoGA+oj6yELGgsZwZZAlkAyLOws6wVMg0yAXpoGmgB1OR05EHpzOnMj9O9U7yCp3+nfgtPI08gCp5enlhVPa09oCHAa0BrAQDigOIDAcYBxAYD5APiCAoABpgQH8AfuCLHMscgQYDEAMOCAbkBuAQEzU9UCADAjwCOwQE0gMsCLScQxwX8wAtQOcAP8BeAExAEkBfwBTAYACQwGSAZEBlQH2AZkBmAGaAj0BngIgAagBpwG/AfcB3QGOAfMB8QJQLG8CUSxtAlIscAJTAYECVAGGAlkBjwJbAZACXKerAmABkwJhp6wCYwGUAmWnjQJoAZcCayxiAmynrQJxLG4CcgGdAnUBnwJ9LGQCh6exAogBrgKJAkQCjAJFApIBtwKdp7ICnqewA0UDmQN3A3YDrAOGA8IDowPMA4wD0AOSA9EDmAPVA6YD1gOgA9cDzwPwA5oD8QOhA/ID+QPzA38D9QOVBM8EwByABBIcgQQUHIIEHhyFBCIchgQqHIcEYhyIpkodead9HX0sYx6bHmAfvgOZH+Uf7CFOITIhhCGDLGEsYCxlAjosZgI+LPMs8qeMp4urU6ezzAG/ACmAKYCkwFeACcA+EAJQGGAchgcyBhAGAgdhgdKBhAGAgsPApqCqQ9LQAkAZiPS8AKgGED0xACuBhQ9MwAsgYUPTUAIIFfD6hAdKBiY+pYHSgYmBgA+qYHSgYmBgI+rYHSgYmBoQ/AQ+EAcyPwMPhIHMj8FD4UBzI/Bw+FgcyPwkPhgHMj8LD4aBzI/DQ+HAcyPw8Ph4HMj8RD4QBzI/Ew+EgcyPxUPhQHMj8XD4WBzI/GQ+GAcyPxsPhoHMj8dD4cBzI/Hw+HgcyPyEPlAHMj8jD5SBzI/JQ+VAcyPycPlYHMj8pD5YBzI/Kw+WgcyPy0PlwHMj8vD5eBzI/MQ+UAcyPzMPlIHMj81D5UBzI/Nw+VgcyPzkPlgHMj87D5aBzI/PQ+XAcyPz8Pl4HMj9BD7QBzI/Qw+0gcyP0UPtQHMj9HD7WBzI/SQ+2AcyP0sPtoHMj9ND7cBzI/Tw+3gcyP1EPtAHMj9TD7SBzI/VQ+1AcyP1cPtYHMj9ZD7YBzI/Ww+2gcyP10PtwHMj9fD7eBzI/ZQ/dAcyP2cByIHMj9pAcMBzI/bQHIgaEP2+ByIGhAcyP3kByIHMj+FD+UBzI/hwHLgcyP4kBxIHMj+NAcuBoQ/j4HLgaEBzI/mQHLgcyP6WBzIGEAYAP6eBzIGEAYCP60BzIGhD+vgcyBhAGhD/FgdKBhAGAD/HgdKBhAGAj/JAdCBiY/zQHSgaEP8+B0oGEAaEP+UP/QHMj/nAdSBzI/6QHHgcyP+0B1IGhD/vgdSBoQHMj/5AdSBzP2AQAjACN9gMAIwAk/YFACMAJn2B4AjACMAJP2CYAjACMAJn2CwApgCp9g0AKYAqfYnAqICo32KQKiApr9isCogKd/YtAqcCo32LwKiAp6AmAMAA4C4BsAHwHAYkCVgQDYgUUCA4gDrQYHHAeaCA5EDsSIHRgeGJA/0DewYIAAigQBBAEMEAKYgrCmEKAtAEwnQVbhQE/AT+Aw+ED4AIHxgfEAw+UD5AIHzgfMBA+kD6AGH2gfYBA/ED8AIH5gfkBA/UD9AIH7gfsAQ/dD7gCH8gfcgg/sD+gCH9ofdgQ/0D/ACH+ofegQ/8D7wCH/offARCwELgQJLYk0DRYAFhgvLH4CPwX+Q/6CajAQABATACZAJmDATkBOhAClAKWXAXkBegYDBAMGCAaABoQYDZgNoCAcsBzBIDvAO+JAfIB8wQD8APyUAiICIxIEjASOFA3ADcQQHsAeyMBGAEYSIJFAkWbBMEEwg4JoAmiwHgAeAZY9QD1CwH1kfUQhYzljQDLIAsgWRZ1lnYCpkCmQS9NAU0COpyKnIw9OZU5mfp3mnegVO/U7+Fp5CnkQVPLU8uKp7SntQQwDTAUACAawBrQQDiAOMDAcUBxgQH7gfwCLHIscwQYDDgMQCAbgBuQVPVATMCADAZYCaQQEdgR4CEMctJwX78BeAD/AYECUwGGAlQBjgHdAY8CWQGQAlsBkQGSAZMCYAGUAmMBlwJoAZgBmQGdAnIBnwJ1AacBqAGuAogBtwKSAfEB8wH2AZUB9wG/AiABngI6LGUCPQGaAj4sZgJDAYACRAKJAkUCjAN2A3cDfwPzA4YDrAOMA8wDzwPXA/QDuAP5A/IEwATPHp4A3x+8H7MfzB/DH+wf5R/8H/MhJgPJISoAayErAOUhMiFOIYMhhCxgLGEsYgJrLGMdfSxkAn0sbQJRLG4CcSxvAlAscAJSLPIs86d9HXmni6eMp40CZaerAlynrAJhp60CbKewAp6nsQKHp7ICnaezq1MCAmEANIGDgXAOATAeT/////////////////f///////////5/cAEP/j//8//////////wH8////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////48H///+T///////////////////////////////////////////////////////////////////////////////////////////////////////////////7YnVmZmVyAGR1a19hcGlfYnVmZmVyLmMAd3JvbmcgYnVmZmVyIHR5cGUAZHVrX2hidWZmZXJfb3BzLmMAYnVmZmVyIHRvbyBsb25nAGFsbG9jIGZhaWxlZABkdWtfYXBpX2NhbGwuYwBkdWtfYXBpX3N0YWNrLmMAaW52YWxpZCBjb3VudABkdWtfanNfY2FsbC5jAGludmFsaWQgdGhyZWFkIHN0YXRlICglbGQpAGludmFsaWQgQyBmdW5jdGlvbiByYwBkdWtfaG9iamVjdF9wcm9wcy5jAGludmFsaWQgYXJyYXkgbGVuZ3RoAGludGVybmFsIGVycm9yAGludmFsaWQgc3RhY2sgaW5kZXggJWxkADAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5enZhbHN0YWNrIGxpbWl0AGR1a19qc19vcHMuYwBjYW5ub3QgbnVtYmVyIGNvZXJjZSBTeW1ib2wAY29lcmNpb24gdG8gcHJpbWl0aXZlIGZhaWxlZAB1bnN1cHBvcnRlZAAlcyBub3QgY2FsbGFibGUAJXMgbm90IGNvbnN0cnVjdGFibGUAb2JqZWN0ACAobGluZSAlbGQpAHN0cmluZyB0b28gbG9uZwBkdWtfaGVhcF9zdHJpbmd0YWJsZS5jAGNhbm5vdCB3cml0ZSBwcm9wZXJ0eSAlcyBvZiAlcwBwcm94eSByZWplY3RlZABwcm90b3R5cGUgY2hhaW4gbGltaXQAbm90IGV4dGVuc2libGUAbm90IHdyaXRhYmxlAG5vdCBjb25maWd1cmFibGUAc2V0dGVyIHVuZGVmaW5lZABkdWtfanNfdmFyLmMAaWRlbnRpZmllciAnJXMnIHVuZGVmaW5lZABpbnZhbGlkIGJhc2UgdmFsdWUAZHVrX2FwaV9zdHJpbmcuYwByZXN1bHQgdG9vIGxvbmcAaW52YWxpZCB0cmFwIHJlc3VsdAB1bmNhdWdodDogJXMAbm9uZQBbU3ltYm9sIABdAA8EBgUDCAoMDg0JCwcbAhwdHyAQERITFBUWFxgZGg8PW29iamVjdCAlc10AW2J1ZmZlcjolbGRdACglcykAAMDg8Pj8/mhpZGRlbgB3ZWxsa25vd24AZHVrX2pzX2V4ZWN1dG9yLmMAZGVjbGFyYXRpb24gZmFpbGVkAGludmFsaWQgbHZhbHVlAElOVkFMSUQgb3Bjb2RlICglbGQpAGludmFsaWQgb3Bjb2RlAGR1a19iaV9wcm94eS5jAGR1a19oZWFwX21lbW9yeS5jAGNhbm5vdCBkZWxldGUgcHJvcGVydHkgJXMgb2YgJXMAJXMgbm90IGNhbGxhYmxlIChwcm9wZXJ0eSAlcyBvZiAlcykAdW5leHBlY3RlZCB0eXBlAGludmFsaWQgaW5zdGFuY2VvZiBydmFsAGluc3RhbmNlb2YgcnZhbCBoYXMgbm8gLnByb3RvdHlwZQBleGVjdXRpb24gdGltZW91dABkdWtfYXBpX29iamVjdC5jAGludmFsaWQgZGVzY3JpcHRvcgBub3QgY2FsbGFibGUAY2Fubm90IHN0cmluZyBjb2VyY2UgU3ltYm9sAGZ1bmN0aW9uIABsaWdodF8AXyUwNHgAKCkgeyBbbGlnaHRmdW5jIGNvZGVdIH0AY2FsbHN0YWNrIGxpbWl0AGludmFsaWQgbGVuZ3RoAG5vdCBvYmplY3QgY29lcmNpYmxlAGludmFsaWQgYXJncwBjYW5ub3QgcmVhZCBwcm9wZXJ0eSAlcyBvZiAlcwBjYW5ub3QgcmVhZCBzdHJpY3QgJ2NhbGxlcicAZHVrX2hlYXBfc3RyaW5nY2FjaGUuYwBJbmZpbml0eQBFLCMeGxkXFhQUFBMTEhIREREQEBAQEA8PDw8PDw4ODg4ODmR1a19udW1jb252LmMAZXhwb25lbnQgdG9vIGxhcmdlAGR1a191bmljb2RlX3N1cHBvcnQuYwBlcnJvciAocmMgJWxkKQBDIGNhbGwgc3RhY2sgZGVwdGggbGltaXQAY2Fubm90IHB1c2ggYmV5b25kIGFsbG9jYXRlZCBzdGFjawAlcyByZXF1aXJlZCwgZm91bmQgJXMgKHN0YWNrIGluZGV4ICVsZCkAZHVrX3V0aWxfYnVmd3JpdGVyLmMAbmF0aXZlZnVuY3Rpb24AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL2R1a19hcGlfY29kZWMuYwBiYXNlNjQgZW5jb2RlIGZhaWxlZAD////////////+/v///v////////////////////////7/////////////Pv///z80NTY3ODk6Ozw9/////f///wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////YmFzZTY0IGRlY29kZSBmYWlsZWQA////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg///////////////////////////////////woLDA0OD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2hleCBkZWNvZGUgZmFpbGVkACAgICAgICAgICB7Il9idWYiOiIAKCVwKQB7Il9wdHIiOiIlcCJ9AHsiX3B0ciI6Im51bGwifQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////////////AAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAGR1a19iaV9qc29uLmMAY3ljbGljIGlucHV0AGpzb24gZW5jb2RlIHJlY3Vyc2lvbiBsaW1pdACAgICAgICAgOL07oDm8oCAgICAgICAgICAgICAgICAgCAhoiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW9xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+gYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBbnVtYmVyIG91dHNpZGUgcmFuZ2UAaW52YWxpZCBqc29uIChhdCBvZmZzZXQgJWxkKQAAAAAAAAAAAAABAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQEAAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpzb24gZGVjb2RlIHJlY3Vyc2lvbiBsaW1pdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAhACMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWwBdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/ZHVrX2FwaV9jb21waWxlLmMAbm8gc291cmNlY29kZQBkdWtfanNfY29tcGlsZXIuYwBpbnZhbGlkIGdldHRlci9zZXR0ZXIgbmFtZQBmdW5jdGlvbiBuYW1lIHJlcXVpcmVkAGV4cGVjdGVkIGlkZW50aWZpZXIAASAAAAAAAAAAAAAAAAAADAwAAAAgAAAAAAAAAAAAAAAAAAAgICAAAAAAAAAAAAAAAAAgEyISIhMAAwwMDAwLCwsLDg4PDw8QERENDQ0KCAkAAAcGBQAEBAQEBAQEBAQEBAQEICAgcGFyc2UgZXJyb3IAZHVrX2xleGVyLmMAaW52YWxpZCBlc2NhcGUAdW50ZXJtaW5hdGVkIHN0cmluZwB0b2tlbiBsaW1pdABpbnZhbGlkIHRva2VuAGludmFsaWQgbnVtYmVyIGxpdGVyYWwAdW50ZXJtaW5hdGVkIHJlZ2V4cAB1bnRlcm1pbmF0ZWQgY29tbWVudABjb21waWxlciByZWN1cnNpb24gbGltaXQAdGVtcCBsaW1pdAByZWdpc3RlciBsaW1pdABpbnZhbGlkIGFyZ3VtZW50IG5hbWUAYnl0ZWNvZGUgbGltaXQAaW52YWxpZCBmdW5jdGlvbiBuYW1lAGNvbnN0IGxpbWl0AGZ1bmN0aW9uIHN0YXRlbWVudCBub3QgYWxsb3dlZABlbXB0eSBleHByZXNzaW9uIG5vdCBhbGxvd2VkAGludmFsaWQgZm9yIHN0YXRlbWVudABpbnZhbGlkIGxhYmVsAGludmFsaWQgYnJlYWsvY29udGludWUgbGFiZWwAaW52YWxpZCByZXR1cm4Ad2l0aCBpbiBzdHJpY3QgbW9kZQBpbnZhbGlkIHN3aXRjaCBzdGF0ZW1lbnQAaW52YWxpZCB0aHJvdwBpbnZhbGlkIHRyeQB1c2Ugc3RyaWN0AHVzZSBkdWsgbm90YWlsAHVudGVybWluYXRlZCBzdGF0ZW1lbnQAY2Fubm90IGRlbGV0ZSBpZGVudGlmaWVyAGludmFsaWQgbmV3LnRhcmdldABpbnZhbGlkIGV4cHJlc3Npb24AaW52YWxpZCBvYmplY3QgbGl0ZXJhbABpbnZhbGlkIGFycmF5IGxpdGVyYWwAKD86KQBkdWtfcmVnZXhwX2NvbXBpbGVyLmMAaW52YWxpZCByZWdleHAgZmxhZ3MAaW52YWxpZCBiYWNrcmVmZXJlbmNlKHMpAHJlZ2V4cCBjb21waWxlciByZWN1cnNpb24gbGltaXQAaW52YWxpZCByZWdleHAgZXNjYXBlAGludmFsaWQgcmVnZXhwIGdyb3VwAHF1YW50aWZpZXIgd2l0aG91dCBwcmVjZWRpbmcgYXRvbQBxdWFudGlmaWVyIHZhbHVlcyBpbnZhbGlkIChxbWluID4gcW1heCkAcXVhbnRpZmllciByZXF1aXJlcyB0b28gbWFueSBhdG9tIGNvcGllcwABCwRpbnZhbGlkIHJhbmdlAHVudGVybWluYXRlZCBjaGFyYWN0ZXIgY2xhc3MAdW5leHBlY3RlZCBjbG9zaW5nIHBhcmVudGhlc2lzAHVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4AdW5leHBlY3RlZCB0b2tlbiBpbiByZWdleHAAaW52YWxpZCB2YXJpYWJsZSBkZWNsYXJhdGlvbgBmdW5jdGlvbiBsaW1pdABkdXBsaWNhdGUgbGFiZWwAc291cmNlIGRlY29kZSBmYWlsZWQATyjRkKhpBk42i1m5LDAuWngImowjZyNxwUkFNHC0aKaHNLwEYgwbkpxQ0x+Bc5ZANNxtGBJEnBgmQ3IkNwl3l4SMXRJxgJnJ1MnNAvgIxBjgaFKSKODBMHKoJZPENnscBGIMK5RDZ7HARiDEeUQ2exwSwMeQfARiDCuIbPR1uAjEGF8ohs9HW4CMQYVxDZ6elwEYgwvlENnp6XARiDDOFW4E9PS4CMQYZwq3AnranARiDBjLcECzccFPCNqbgyC4RtTcDQpSRPx7kNmSJuTPEgBkJUCy1AuhEWiiYArIwTmlQakQBWRRG0YSIArIRLkNdN3FuEBZOSnFDTHqBdCccVc3dpMUuzihplzd1EnS7OKGmXN3TMnLs4oaY0nUiIikGa6JOCBIiWUXNC0NIlYJT4hoyXKVYDSKhoyXS+Lpunh5Fic2U40FN0TsJKQDEOFzlkA0zaMCSJpTihpjSwwLlmcFJBTTRoyFQ0gx8aDjUcQ0qGonhPy3iGlQ1E8C+W6AflhfhW3t7e2X638u+XfLvrrOIbUC0D2+DBMiQRNRhGzkYQFrIQwgLWSJQPevCRObKcaCm4ZFkmTj4ueSM8DMSYzgkd1m8UTEnSJPj4um6eHk44qdrafF03bW0ibuSnFDTGm7qZOaSeHkIMEwGWRppnHIkyymAShPEpaGk42jAkirc5OIBEGCYCNAwiCoWTjQMId7kNmSJ9zkwRMSZdzjSXmnc4HEyCcMiNzhXRYBcj7nKgiwDz7nJOpEREbnHi0loaQm5xgHn3OVBEjaq3OFQ0C0ZJE25yoF0IcTmPQshUNfSaSRjwUSAmRBIx5M8XWGRtRnJcwQSJragk3EkT9/e2qNGQu986nGhPvrd/e2mgbvfOpxoT763f3tpDS73zqcaE++u397aahpd751ONCffXb+9tFo0W986nGhPvrN/aLRovnU40J99KGJAKIIEiFECYjoE5s0NoRAyBoYxInGQoKLmYZFkmQQ3EIuRDlQ0C14GV0UFo0U0OaJBRIapDZTA0RHFG0ljRJOkWmlZExHJM6JFmeLrDnHBp4eRxR1BEonNlMlXIGWx0LISyJnKJYJSIRtGGJd7ozOS8yNHIyGPdGZZUeSJG0Wsk40IUoFyIpDHrIwjZyShsyRKARBrJM7wCUAxDviioJkS+LpkFMgzPoFaBGlME0CLhBFjJCUad+gRDTkPgxoyKWENKfCimny/Dkc0zkSQDTuPiyKb6vxpBNXfR4hpxCRnwjTiAnhKgXwkYujowjTiArkQNMThIxdHThGnEB3IkKSJGiJwkYujqwjTiAvksNmC/CRi6OvCNOICeTw8nCRi6OzCNOICO0ignYxdHbhGjAAAVAdyZ4utyeHk4SMXRCETEIhCEIQhCEIQiIhmnAAAUn3I09b7cauwC8fF18RDTMTI11E2NGAAArArk8PIPgIxBgIa8AABWJ2G14AACsT414AACsULteAAArFHMa8AABWKWQ14AACsU9VrwAAFYqaLXgAAKxV2WvAAAVitvNWwWo0f0L5Ml58I0ThkjENH6oXyZLz4MgnDJGIQ4YLMQAAAAAAAAPh/zMAAAAAAAADwf8vEgGsE3hHChnEiHGinIjHKjnMkHOE8JUC+EjF0ToCuRA0xOEjF0TpDuRIUkSNEThIxdE6gvksNmC/CRi6J1hPJ4eThIxdE7AjtIoJ2MXRO1JPHyjyAfg6KmB5DuhePi6+DyYfkSFWQUzylo9FMPKzTy048zPPNUDzdE85SPO0zz1Q8/VPQVj0IvkyXnwjROGSJ6MXyZLz4MgnDJE9KLeSJXRYBoie9PGu5spQh4IyJxDZ59AU8EZE4VbgTzxAVEuNBxudIEIlwqGomTOECRkE4ZO0ijLEEhkE4ZO0igXXMe5pGzy5AkjROGTtIozBBIjROGTtIoF1zHuaRs8yQGJIQHkzRAijSSEB5NAQAEFwmDjEnx8XTdPDyccXlkmp6iIYMSfHWbx8XPJGeODJIUUPm6PEQJmJPjrN4+LnkjPHGgYSXIJAwJSQZvAXgYUSAmTgoDhkKhpOPi55Izxw2CAyFQ0nHxc8kZoJLhIBJEAvlEBixITJOUSEXxJUjZ8JeZGyQ5suSQIRLkiAWQfHIEIlwsXZI3jkgxEuEvMjZICsnGICKJiXIIKmJPjrN4+LnkjPHJYYFy5cglBIlxUAZNVn5fUIur6QGE6IGF6YA44JcdZvHxc8kZ45pA1EuPi6bp4eTji84go+LnkjPHES4RtGEiAKydAghtbQyFQ0nDEnMkdra5iBDa2hkKhpOSJOZI7W1zEQhtbS3OVR/DEnMkdra55BDa2lucqj+SJOZI7W1zySDBAcgD6vKgaPJIgQQFryh8CBQ0eTPkEF1+fWBtc+tAgxAQOiXARiDCkOQyhq5QGEgggYTmiBNj5g4JAN7nwgAj6SPDPgeJKkjIkUALI6CzjABZLQIkdAJJ0ZyCA0nrQIkleB6NkdBZyz4HQ0ZL8cVz6C1glPiGjJfjiufwAf/+FJUkcQDQEk5hIBpA5XR4QAjwDSg2AfANMGKhcyRgGnDRIOgiRD6C4kHQRORQY84h/AB//8GMCjCxczgjgjwThk8x8Gli5nBOGTj3IbPznxyKnChSqmr/AGF/AAYRwR4CfpIFCOCPBOGTgJ+ogWJwyce5DZ8BP1EgYTmiBP1nwOhoyX44vtNAtYJT4hoyX44vtNINW4QFk4JzHgiT3EBWAmI/vIDxI9YBE+KAaRAREf5EBZLQInzQCyetE/ogJlQMpxQ033QFzdxbrEjwQJE9ABGbuLcICycW6xI8ECRPQALm7lHvJHggSJ6AQjN3FuEBZOUe8keCBInoBAk4oZ+QA0SPICfwIFSmCM5csiZ/qaBBGjlyyJn+ppBCGiXQZJew0BpUDKcfshBkAOR04UZdXPBMLPAgyiAJ6wF9qoF0JA////////738T1iG7VQLoSAAgAAAAAAAAGYgAAAAAAAAfD+R690kTRUm0hpUNRPEAAAAAAAADwfyPWkMCaKk2kNKhqJ4gAAAAAAAAeH+OSU4UAAAAAAAAAAAIOr3pGE3ZGF3wAebuFRcg90QNm7hLvc0jZoAvckC5u4+JBIkhzd4RBmAwV4IyJXIB9pMVj+A2utWAclpwpAAAAAAAAHw/4nV3gBk3cGCZOSnFDTXgQZN3JoYTkpxQ014Fwl4GJTdxbhAWTgwTJyU4oaa8Dkpu4twgLJyaGE5KcUNNeCBhrwQcPeCFrLpGFvgBzEnyaGEvgCzEnwtFr5ggI2QhjjEn2kxF7Ra+YICNkIggxJ8Y5sz2QiizEn2kxM65sz2QjBzEnwYJkshHFGJPtJiH0EyWQkBjEnwYMWQkiTEn2kxD6DFkJQgxJ8O6kZWQlizEn2kxH66kZWQmCjEnxiG0mSVkJo0xJ9pMTOobSZJWQnCjEnyRBOaOVkJ40xJ9pMUukE5o5WQoDzEnxiFrRIgnNHKyFEkYk+0mJnULWiRBOaOVkKRExJ8mhhMuaTjilkSdoAPIk+TQwlwgfIk+MQtaJEE5o5WypkpEn2kxM6ha0SIJzRytlUFSJPkiCc0cra+qNkSfaTFLpBOaOVtfWFSJPjENpMkrb+uNkSfaTEzqG0mSVt/YESJPh3UjK3Psi5En2kxH66kZW59oPIk+DBMlsrYqRJ9pMQ+gmS2VwRIk+Mc2Z7a+6LkSfaTEzrmzPbX3hciT4Wi18wQEbb++OkSfaTEXtFr5ggI23+BDmJPmCAjZDBB5EnzBARtlg4M4BybBxkgAAAAAAAAAAMbn8IYnP4iXXz+IMVn8QmLz+IVghLkF4CAkySn4yNX5AINAByfA2pR8iUrY58bjjbZ8TijZ58XjBNXjwJ9ICgUV2op4SoF8JGLo5EpRPqAUCmu1FXIgaYnCRi6ORKUT6wFAqrtRdyJCkiRoicJGLo5EpRPsAUCuu1FfJYbMF+EjF0ciUon2gKBZXaink8PJwkYujkSlE+4BQLa7UUdpFBOxi6ORKUQQBwYPUkZIc2AAAAAAAF1poFs8lcPIwgiGldhyAYBTwJAIwsMQDKhuFHgMjRYQeAxkFgx4HE5jwCngiHMkDmTF1fXBML1wKALtYK+DdQKycJGLo5GDckYujtobtkjF0ds4GjWhphwBzLIKDiZOLI00zx8AABVAgWS0CJSRXMuwoOJk4sjTTPHwAAFUAoOJk44pZEnHwAAFWAYNClJGPgAAKkJYcxJ8Q2exRTGCDEnyiGz2KKWxBiT4hs9HWopjRJiT5RDZ6OtRS4IMSfENnp6VFMcJMSfKIbPT0qKXRRiT4VbgT09Kil4UYk+FW4E9bUopfDyJPiGz2KbYwRIk+UQ2exTa2IkSfENno61NsaJkSfKIbPR1qbXBEiT4hs9PSptjhMiT5RDZ6elTa6KkSfCrcCenpU2vCpEnwq3AnralNr+ZM0hHocTJLaeSO0RZGEbOAAAAAAAAB4H5mTNoR6HEyS2nkjtEWRhGzgAAAAAAAAeB+ZkziEehxMktp5I7RFkYRs4AAAAAAAAHgfmZM6hHocTJLaeSO0RZGEbOAAAAAAAAAAIBmTPIR6HEyS2nkjtEWRhGzgAAAAAAAAACAZkz6EehxMktp5I7RFkYRs4AAAAAAAAAggGZNAhHocTJLaeSO0RZGEbOAAAAAAAAAIIBmTQoR6HEyS2nkjtEWRhGzgAAAAAAAACCAZk0SEehxMktp5I7RFkYRs4AAAAAAAABAgGHNGYgTEgB9ojrZ7FFAREgB8Q2exRSWMiQA+0R1s9HW6slFEGRIAfaI62ejrdCSikQXEgB8Q2ejrdWSikwXEgB8Q2ejrdCSilQZEgB9ojrZ6el1ZKKKMiQA+0R1s9PS6ElFIouJAD4hs9PS6slFJouJAD4hs9PS6ElFKouJAD4VbgT6slFGFxIAfCrcCfQkopGGRIAfBuoFZOrJRRxkSAHwbqBWToSUUjiokAPtEdbPqyUWgCokAPtEdbPoSUWkCYkAPiGz6slFqAmJAD4hs+hJRawKtFEydojrZ7FNgTaKJk4hs9im0sbaKJk7RHWz0dbqyU2QbaKJk7RHWz0dboSU2iDLRRMnENno63VkptMGWiiZOIbPR1uhJTaoNtFEydojrZ6el1ZKbKNtFEydojrZ6el0JKbRRloomTiGz09LqyU2mjLRRMnENnp6XQkptVGWiiZOFW4E+rJTZhloomThVuBPoSU2jDbRRMnBuoFZOrJTZxtoomTg3UCsnQkptHF2iiZO0R1s+rJTiALtFEydojrZ9CSnEgVaKJk4hs+rJTigKtFEycQ2fQkpxY1e2Y1m1ACFQteyYDEhQC5UCA4nMeCJKBIEE5+NjAFktAiUkgBbRRMm3gcIgHhIDSrikWFX4KgBOrbo6EAWVbW7sWsCQAfVt0oHec/X8hF3MfhercbSJA/oIrZUcV9z8N1bjaOgSAHcpMKveXtn4Lr0QBgtRFT7IQlAD9lCM9Ha0oGadv7NPUHMfheyhGelAzTt/Zp6g9j8p+B5LDAuX8um7kpxQ03JgN//xSKoMAZaggIATpagkCAkhuoJQgJgbqCYKCYG6WrQCCDGeoKQEERC9QThRLzp6WjIBidLUFABku/UFBClW50dQUIKfD3T0i8CIZRelQBrcbUFDCLcbS1BSQq3G0dDUFKBsBfTLwGxDdOvAb3W1aIGiBo3M1IAWLqNHqCiBJIM3VEA5IbqCihJQjPUFGBzA3UFHCzjRotQUtwFCvBGRNCgJlOKGmQXGiYg3wb/YAACnQDRJKjCYAACmYDipGJGzwAAFKBBwIEEAcCRo+yy6TtIw4ZCoaTj4ueSM8cNk0vbQ03cXhgxJ8dZvHxc8kZ44MkhRQ+bo8REHGJPj4um6eHk44vLJdP3UBiJcJeZGyQFZOMSajkExF8SVI2fCXmRskObLkkmw7z81PURYOEBAyJcqglppEHCgQcyA4MKDiZOLI00zx8AABVAKDiZOOKWRJx8AABVgGDQpSRj4AACpBdhgAAK1ARKgQRiDFJEzGGEI9DiZJbTyR2iLIwjZwAAAAAAAAPA/MxhxCPQ4mSW08kdoiyMI2cAAAAAAAADwP1FAWtwuPWBDcAABXEB3rAhvHFwAAFeRmMQIR6HEyS2nkjtEWRhGzgAAAAAAAAeB+ZjEiEehxMktp5I7RFkYRs4AAAAAAAAAAgGYxQhHocTJLaeSO0RZGEbOAAAAAAAAAAIBmMWIR6HEyS2nkjtEWRhGzgAAAAAAAACCAZjGCEehxMktp5I7RFkYRs4AAAAAAAAAggGYxohHocTJLaeSO0RZGEbOAAAAAAAAAIIBmMcIR6HEyS2nkjtEWRhGzgAAAAAAAAECAQceEAMJzRAnr0BSJcI0ThoabaECES4GhSkjsyBQcTJxZGmmfXIBxOY8ESUEaDpQHNIggjROGhpu//BAxGicMn+EkHTgOaZhBGicNDTd/4AUoJgX3/gglBmuiToXM7/wVAwyCcMn7FDgIDa63VAGxsIHUgbiBwMiBhOCBlbXNjcmlwdGVuIGVtc2NyaXB0ZW4gY2xhbmcAZHVrX2JpX2J1ZmZlci5jAG5vdCBidWZmZXIAY29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycAKispLSwvLjAxFhcVGRgbGhwdZHVrX2JpX3Rocm93ZXIuYwBkdWtfYmlfdGhyZWFkLmMAaW52YWxpZCBzdGF0ZQBkdWtfaG9iamVjdF9hbGxvYy5jAHV0Zi04AGR1a19iaV9lbmNvZGluZy5jAIJDb250ZXh0AHN0cmVhbQB1dGYtOCBkZWNvZGUgZmFpbGVkAGZhdGFsAGlnbm9yZUJPTQBkdWtfYmlfc3RyaW5nLmMAZHVrX3JlZ2V4cF9leGVjdXRvci5jAHJlZ2V4cCBleGVjdXRvciByZWN1cnNpb24gbGltaXQAcmVnZXhwIHN0ZXAgbGltaXQAU3ltYm9sKAApAGR1a19iaV9yZWdleHAuYwBkdWtfYmlfcmVmbGVjdC5jAGR1a19iaV9wb2ludGVyLmMAZHVrX2JpX29iamVjdC5jAGR1a19ob2JqZWN0X21pc2MuYwBkdWtfYmlfbnVtYmVyLmMAbnVtYmVyIGV4cGVjdGVkAFtvYmplY3QgT2JqZWN0XQB1dGY4AGR1a19iaV9mdW5jdGlvbi5jAAAAAAAA7P8D////h/7//wdkdWtfYmlfZ2xvYmFsLmMAaW52YWxpZCBpbnB1dAAAAAAAgmf/A/7//4f+//9HAAAAANr//6////+H/v//RwAAAABYmACsAQAAAAAAAABmdW5jdGlvbiAlcygpIHsgW2VjbWFzY3JpcHQgY29kZV0gfQBmdW5jdGlvbiAlcygpIHsgW25hdGl2ZSBjb2RlXSB9AGZ1bmN0aW9uICVzKCkgeyBbYm91bmQgY29kZV0gfQBib3VuZCAALABmdW5jdGlvbigAKXsAfQBhbm9ueW1vdXMAOiAAW2Fub25dACB0YWlsY2FsbAAgZGlyZWN0ZXZhbAAgY29uc3RydWN0ACBwcmV2ZW50c3lpZWxkACBzdHJpY3QAYXQgJXMgbGlnaHQlcyVzJXMlcyVzAGF0ICVzICglcykgbmF0aXZlJXMlcyVzJXMlcwBhdCAlcyAoJXM6JWx1KSVzJXMlcyVzJXMAYXQgW2Fub25dICglczolbGQpIGludGVybmFsAGhwdHIAdHlwZQBpdGFnAHJlZmMAaGJ5dGVzAGNsYXNzAHBieXRlcwBlc2l6ZQBlbmV4dABhc2l6ZQBoc2l6ZQBiY2J5dGVzAGRieXRlcwB0c3RhdGUAdmFyaWFudAAAAGR1a19iaV9kdWt0YXBlLmMAZHVrX2JpX2RhdGUuYwBleHBlY3RlZCBEYXRlAEludmFsaWQgRGF0ZQAfHB8eHx4fHx4fHh81QTE9LTkpKjYmMj4uOiV4ACVYACVjACslMDZsZAAlMDdsZAAlMDRsZAArJTAyZDolMDJkAC0lMDJkOiUwMmQAJXMtJTAyZC0lMDJkJWMlMDJkOiUwMmQ6JTAyZC4lMDNkJXMAJXMtJTAyZC0lMDJkACUwMmQ6JTAyZDolMDJkLiUwM2QlcwABAgQECAAnKCkqKywtLi8wMWR1a19iaV9ib29sZWFuLmMAZHVrX2JpX2FycmF5LmMAMDEyMzQ1Njc4OV8ggoAieygqbm8gbmFtZSkAKCp0ZW1wb3JhcnkpACgqdmFyYXJnKQA9W0NdAD0/AEx1YQBmb3IgaXRlcmF0b3IAbWV0YW1ldGhvZABob29rAGdsb2JhbABmaWVsZABjb25zdGFudAB1cHZhbHVlAGF0dGVtcHQgdG8gJXMgYSAlcyB2YWx1ZSVzACVzOiVkOiAlcwAgKCVzICclcycpAGNvbmNhdGVuYXRlAG51bWJlciVzIGhhcyBubyBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAEMgc3RhY2sgb3ZlcmZsb3cAY2Fubm90IHJlc3VtZSBub24tc3VzcGVuZGVkIGNvcm91dGluZQBhdHRlbXB0IHRvIHlpZWxkIGFjcm9zcyBhIEMtY2FsbCBib3VuZGFyeQBhdHRlbXB0IHRvIHlpZWxkIGZyb20gb3V0c2lkZSBhIGNvcm91dGluZQBhdHRlbXB0IHRvIGxvYWQgYSAlcyBjaHVuayAobW9kZSBpcyAnJXMnKQBiaW5hcnkAbm8gbWVzc2FnZQBlcnJvciBpbiBfX2djIG1ldGFtZXRob2QgKCVzKQB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpAG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yOiBibG9jayB0b28gYmlnAAABAgIDAwMDBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhuTgAlbGxkAC0wMTIzNDU2Nzg5ADxcJWQ+ACVwAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnbHVhX3B1c2hmc3RyaW5nJwBbc3RyaW5nICIAIl0AYHFBVFBQXGw8EDxUbHx8fHx8fHx8fHx8fGBgYGBoIry8vITkVFQQYmIEYhRRUBdsYWJlbHMvZ290b3MAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wAG5vIHZpc2libGUgbGFiZWwgJyVzJyBmb3IgPGdvdG8+IGF0IGxpbmUgJWQAPGdvdG8gJXM+IGF0IGxpbmUgJWQganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwgJyVzJwAlcyBleHBlY3RlZABmdW5jdGlvbiBhdCBsaW5lICVkAG1haW4gZnVuY3Rpb24AdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKSBpbiAlcwBDIGxldmVscwAlcyBleHBlY3RlZCAodG8gY2xvc2UgJXMgYXQgbGluZSAlZCkAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQAoZm9yIGdlbmVyYXRvcikAKGZvciBzdGF0ZSkAKGZvciBjb250cm9sKQAnPScgb3IgJ2luJyBleHBlY3RlZABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkAHN5bnRheCBlcnJvcgB1bmV4cGVjdGVkIHN5bWJvbABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAZnVuY3Rpb25zAHNlbGYAPG5hbWU+IG9yICcuLi4nIGV4cGVjdGVkAGxvY2FsIHZhcmlhYmxlcwBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24ACgoKCgsLCwsODQsLCwsGBgQEBQUHBwcHCQgDAwMDAwMDAwMDAwMCAgEBdXB2YWx1ZXMAaW52YWxpZCBrZXkgdG8gJ25leHQnAHRhYmxlIG92ZXJmbG93AHRhYmxlIGluZGV4IGlzIG5pbAB0YWJsZSBpbmRleCBpcyBOYU4AYm9vbGVhbgB1c2VyZGF0YQBudW1iZXIAdGFibGUAdGhyZWFkAHByb3RvAF9fZXEAX19tb2QAX19pZGl2AF9fYmFuZABfX2JvcgBfX2J4b3IAX19zaGwAX19zaHIAX19ibm90AF9fbHQAX19sZQBfX2NvbmNhdABfX2NhbGwAcGVyZm9ybSBiaXR3aXNlIG9wZXJhdGlvbiBvbgBwZXJmb3JtIGFyaXRobWV0aWMgb24AYmluYXJ5IHN0cmluZwB0cnVuY2F0ZWQAG0x1YQBub3QgYQB2ZXJzaW9uIG1pc21hdGNoIGluAGZvcm1hdCBtaXNtYXRjaCBpbgAZkw0KGgoAY29ycnVwdGVkACVzIHNpemUgbWlzbWF0Y2ggaW4AaW50AHNpemVfdABJbnN0cnVjdGlvbgBsdWFfSW50ZWdlcgBsdWFfTnVtYmVyAGVuZGlhbm5lc3MgbWlzbWF0Y2ggaW4AZmxvYXQgZm9ybWF0IG1pc21hdGNoIGluACVzOiAlcyBwcmVjb21waWxlZCBjaHVuawBpbmRleABnZXR0YWJsZSBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcABzZXR0YWJsZSBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcABzdHJpbmcgbGVuZ3RoIG92ZXJmbG93AGdldCBsZW5ndGggb2YAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwBhdHRlbXB0IHRvIHBlcmZvcm0gJ24lJTAnACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBhIG51bWJlcgBzdGFjayB0cmFjZWJhY2s6AAoJLi4uAFNsbnQACgklczoAJWQ6ACBpbiAAZnVuY3Rpb24gJyVzJwAlcyAnJXMnAG1haW4gY2h1bmsAZnVuY3Rpb24gPCVzOiVkPgAKCSguLi50YWlsIGNhbGxzLi4uKQBmAF9HLgBiYWQgYXJndW1lbnQgIyVkICglcykAbWV0aG9kAGNhbGxpbmcgJyVzJyBvbiBiYWQgc2VsZiAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAFNsACVzOiVkOiAAX19uYW1lAGxpZ2h0IHVzZXJkYXRhACVzIGV4cGVjdGVkLCBnb3QgJXMAaW52YWxpZCBvcHRpb24gJyVzJwBzdGFjayBvdmVyZmxvdyAoJXMpAG51bWJlciBoYXMgbm8gaW50ZWdlciByZXByZXNlbnRhdGlvbgBidWZmZXIgdG9vIGxhcmdlAD1zdGRpbgBAJXMAY2Fubm90ICVzICVzOiAlcwBvcGVuAHJlb3BlbgByZWFkAG9iamVjdCBsZW5ndGggaXMgbm90IGFuIGludGVnZXIAX190b3N0cmluZwAlSQAlZgAlczogJXAAdG9vIG1hbnkgdXB2YWx1ZXMAUEFOSUM6IHVucHJvdGVjdGVkIGVycm9yIGluIGNhbGwgdG8gTHVhIEFQSSAoJXMpCgBtdWx0aXBsZSBMdWEgVk1zIGRldGVjdGVkAF9HAEx1YSA1LjMAX1ZFUlNJT04AYXNzZXJ0AGNvbGxlY3RnYXJiYWdlAGRvZmlsZQBpcGFpcnMAbG9hZGZpbGUAbG9hZABuZXh0AHBhaXJzAHBjYWxsAHJhd2VxdWFsAHJhd2xlbgByYXdnZXQAcmF3c2V0AHNlbGVjdAB0b251bWJlcgB0b3N0cmluZwB4cGNhbGwAYmFzZSBvdXQgb2YgcmFuZ2UAIAwKDQkLAF9fbWV0YXRhYmxlAGNhbm5vdCBjaGFuZ2UgYSBwcm90ZWN0ZWQgbWV0YXRhYmxlAGluZGV4IG91dCBvZiByYW5nZQB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAJ3Rvc3RyaW5nJyBtdXN0IHJldHVybiBhIHN0cmluZyB0byAncHJpbnQnAF9fcGFpcnMAYnQAPShsb2FkKQB0b28gbWFueSBuZXN0ZWQgZnVuY3Rpb25zAHJlYWRlciBmdW5jdGlvbiBtdXN0IHJldHVybiBhIHN0cmluZwBfX2lwYWlycwBjb2xsZWN0AHN0b3AAcmVzdGFydABzdGVwAHNldHBhdXNlAHNldHN0ZXBtdWwAaXNydW5uaW5nAGFzc2VydGlvbiBmYWlsZWQhAGNyZWF0ZQByZXN1bWUAcnVubmluZwBzdGF0dXMAd3JhcAB5aWVsZABpc3lpZWxkYWJsZQB0b28gbWFueSBhcmd1bWVudHMgdG8gcmVzdW1lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAdG9vIG1hbnkgcmVzdWx0cyB0byByZXN1bWUAdGhyZWFkIGV4cGVjdGVkAHN1c3BlbmRlZABub3JtYWwAZGVhZABkZWJ1ZwBnZXR1c2VydmFsdWUAZ2V0aG9vawBnZXRpbmZvAGdldGxvY2FsAGdldHJlZ2lzdHJ5AGdldG1ldGF0YWJsZQBnZXR1cHZhbHVlAHVwdmFsdWVqb2luAHVwdmFsdWVpZABzZXR1c2VydmFsdWUAc2V0aG9vawBzZXRsb2NhbABzZXRtZXRhdGFibGUAc2V0dXB2YWx1ZQB0cmFjZWJhY2sAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAGxldmVsIG91dCBvZiByYW5nZQBzdGFjayBvdmVyZmxvdwBrAF9fbW9kZQBsaW5lAHRhaWwgY2FsbABpbnZhbGlkIHVwdmFsdWUgaW5kZXgATHVhIGZ1bmN0aW9uIGV4cGVjdGVkAGZsblN0dQA+JXMAaW52YWxpZCBvcHRpb24Ac291cmNlAHNob3J0X3NyYwBsaW5lZGVmaW5lZABsYXN0bGluZWRlZmluZWQAd2hhdABjdXJyZW50bGluZQBudXBzAG5wYXJhbXMAaXN2YXJhcmcAbmFtZXdoYXQAaXN0YWlsY2FsbABhY3RpdmVsaW5lcwBmdW5jAGV4dGVybmFsIGhvb2sAbHVhX2RlYnVnPiAAY29udAoAPShkZWJ1ZyBjb21tYW5kKQAlcwoAaHVnZQBtYXhpbnRlZ2VyAG1pbmludGVnZXIAZGVnAGV4cAB0b2ludGVnZXIAZm1vZAB1bHQAbW9kZgByYWQAcmFuZG9tc2VlZABhdGFuMgBjb3NoAHNpbmgAdGFuaABwb3cAZnJleHAAbGRleHAAbG9nMTAAaW50ZWdlcgBmbG9hdAB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzAGludGVydmFsIGlzIGVtcHR5AGludGVydmFsIHRvbyBsYXJnZQB2YWx1ZSBleHBlY3RlZAB6ZXJvAGNoYXIAZHVtcABmaW5kAGdtYXRjaABnc3ViAGxlbgByZXAAcmV2ZXJzZQBzdWIAcGFja3NpemUAaW5pdGlhbCBwb3NpdGlvbiBvdXQgb2Ygc3RyaW5nAGRhdGEgc3RyaW5nIHRvbyBzaG9ydAB0b28gbWFueSByZXN1bHRzACVkLWJ5dGUgaW50ZWdlciBkb2VzIG5vdCBmaXQgaW50byBMdWEgSW50ZWdlcgBpbnZhbGlkIG5leHQgb3B0aW9uIGZvciBvcHRpb24gJ1gnAGZvcm1hdCBhc2tzIGZvciBhbGlnbm1lbnQgbm90IHBvd2VyIG9mIDIAaW50ZWdyYWwgc2l6ZSAoJWQpIG91dCBvZiBsaW1pdHMgWzEsJWRdAG1pc3Npbmcgc2l6ZSBmb3IgZm9ybWF0IG9wdGlvbiAnYycAaW52YWxpZCBmb3JtYXQgb3B0aW9uICclYycAZm9ybWF0IHJlc3VsdCB0b28gbGFyZ2UAdmFyaWFibGUtbGVuZ3RoIGZvcm1hdABpbnRlZ2VyIG92ZXJmbG93AHVuc2lnbmVkIG92ZXJmbG93AHdyb25nIGxlbmd0aABzdHJpbmcgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBnaXZlbiBzaXplAHN0cmluZyBjb250YWlucyB6ZXJvcwByZXN1bHRpbmcgc3RyaW5nIHRvbyBsYXJnZQBeJCorPy4oWyUtAGludmFsaWQgY2FwdHVyZSBpbmRleCAlJSVkAHVuZmluaXNoZWQgY2FwdHVyZQBwYXR0ZXJuIHRvbyBjb21wbGV4AGludmFsaWQgcGF0dGVybiBjYXB0dXJlAG1hbGZvcm1lZCBwYXR0ZXJuIChtaXNzaW5nIGFyZ3VtZW50cyB0byAnJSViJykAbWlzc2luZyAnWycgYWZ0ZXIgJyUlZicgaW4gcGF0dGVybgBtYWxmb3JtZWQgcGF0dGVybiAoZW5kcyB3aXRoICclJScpAG1hbGZvcm1lZCBwYXR0ZXJuIChtaXNzaW5nICddJykAc3RyaW5nL2Z1bmN0aW9uL3RhYmxlIGV4cGVjdGVkAGludmFsaWQgdXNlIG9mICclYycgaW4gcmVwbGFjZW1lbnQgc3RyaW5nAGludmFsaWQgcmVwbGFjZW1lbnQgdmFsdWUgKGEgJXMpAG5vIHZhbHVlAC0rICMwAGludmFsaWQgZm9ybWF0IChyZXBlYXRlZCBmbGFncykAaW52YWxpZCBmb3JtYXQgKHdpZHRoIG9yIHByZWNpc2lvbiB0b28gbG9uZykAbGwAXCVkAFwlMDNkAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnZm9ybWF0JwB1bmFibGUgdG8gZHVtcCBnaXZlbiBmdW5jdGlvbgB2YWx1ZSBvdXQgb2YgcmFuZ2UAc3RyaW5nIHNsaWNlIHRvbyBsb25nAGNvbmNhdABpbnNlcnQAcGFjawB1bnBhY2sAcmVtb3ZlAG1vdmUAc29ydABpbnZhbGlkIG9yZGVyIGZ1bmN0aW9uIGZvciBzb3J0aW5nAF9fbmV3aW5kZXgAdG9vIG1hbnkgZWxlbWVudHMgdG8gbW92ZQBkZXN0aW5hdGlvbiB3cmFwIGFyb3VuZABwb3NpdGlvbiBvdXQgb2YgYm91bmRzAHRvbyBtYW55IHJlc3VsdHMgdG8gdW5wYWNrAG4Ad3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byAnaW5zZXJ0JwBpbnZhbGlkIHZhbHVlICglcykgYXQgaW5kZXggJWQgaW4gdGFibGUgZm9yICdjb25jYXQnAHNlYXJjaGVycwAvdXNyL2xvY2FsL3NoYXJlL2x1YS81LjMvPy5sdWE7L3Vzci9sb2NhbC9zaGFyZS9sdWEvNS4zLz8vaW5pdC5sdWE7L3Vzci9sb2NhbC9saWIvbHVhLzUuMy8/Lmx1YTsvdXNyL2xvY2FsL2xpYi9sdWEvNS4zLz8vaW5pdC5sdWE7Li8/Lmx1YTsuLz8vaW5pdC5sdWEAcGF0aAAvdXNyL2xvY2FsL2xpYi9sdWEvNS4zLz8uc287L3Vzci9sb2NhbC9saWIvbHVhLzUuMy9sb2FkYWxsLnNvOy4vPy5zbwBjcGF0aAAvCjsKPwohCi0KAGNvbmZpZwBfTE9BREVEAGxvYWRlZABfUFJFTE9BRABwcmVsb2FkAHJlcXVpcmUAJ3BhY2thZ2Uuc2VhcmNoZXJzJyBtdXN0IGJlIGEgdGFibGUAbW9kdWxlICclcycgbm90IGZvdW5kOiVzACdwYWNrYWdlLiVzJyBtdXN0IGJlIGEgc3RyaW5nAGVycm9yIGxvYWRpbmcgbW9kdWxlICclcycgZnJvbSBmaWxlICclcyc6CgklcwAKCW5vIG1vZHVsZSAnJXMnIGluIGZpbGUgJyVzJwBfAGx1YW9wZW5fJXMAZHluYW1pYyBsaWJyYXJpZXMgbm90IGVuYWJsZWQ7IGNoZWNrIHlvdXIgTHVhIGluc3RhbGxhdGlvbgA/AAoJbm8gZmlsZSAnJXMnAAoJbm8gZmllbGQgcGFja2FnZS5wcmVsb2FkWyclcyddAGxvYWRsaWIAc2VhcmNocGF0aABhYnNlbnQAaW5pdAAAAAAAAAECAgEBAAACAQEBAWxwZWctcGF0dGVybgBfX2luZGV4AHB0cmVlAHBjb2RlAG1hdGNoAFYAQwBDYwBDbXQAQ2IAQ2FyZwBDcABDcwBDdABDZgBDZwBQAFMAUgBsb2NhbGUAdmVyc2lvbgBzZXRtYXhzdGFjawBwYXR0ZXJuAG91dCBvZiByYW5nZQAxLjAuMQBhbG51bQBhbHBoYQBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAcmFuZ2UgbXVzdCBoYXZlIHR3byBjaGFyYWN0ZXJzAGdyYW1tYXIgaGFzIG5vIGluaXRpYWwgcnVsZQBpbml0aWFsIHJ1bGUgJyVzJyBpcyBub3QgYSBwYXR0ZXJuAChhICVzKQBydWxlICclcycgaXMgbm90IGEgcGF0dGVybgBncmFtbWFyIGhhcyB0b28gbWFueSBydWxlcwB0b28gbWFueSBMdWEgdmFsdWVzIGluIHBhdHRlcm4AZW1wdHkgbG9vcCBpbiBydWxlICclcycAcnVsZSAnJXMnIG1heSBiZSBsZWZ0IHJlY3Vyc2l2ZQB0b28gbWFueSBsZWZ0IGNhbGxzIGluIGdyYW1tYXIAcnVsZSAnJXMnIHVuZGVmaW5lZCBpbiBnaXZlbiBncmFtbWFyAHJ1bGUgJyVzJyB1c2VkIG91dHNpZGUgYSBncmFtbWFyAGludmFsaWQgYXJndW1lbnQgaW5kZXgAbm9uLW5pbCB2YWx1ZSBleHBlY3RlZABwYXR0ZXJuIG1heSBub3QgaGF2ZSBmaXhlZCBsZW5ndGgAcGF0dGVybiBoYXZlIGNhcHR1cmVzAHBhdHRlcm4gdG9vIGxvbmcgdG8gbG9vayBiZWhpbmQAZnVuY3Rpb24gb25seSBpbXBsZW1lbnRlZCBpbiBkZWJ1ZyBtb2RlAF9fbXVsAF9fYWRkAF9fcG93AF9fZ2MAX19sZW4AX19kaXYAX191bm0AX19zdWIAaW52YWxpZCBudW1iZXIAaW52YWxpZCByZXBsYWNlbWVudCB2YWx1ZQBsb29wIGJvZHkgbWF5IGFjY2VwdCBlbXB0eSBzdHJpbmcAbm90IGVub3VnaCBtZW1vcnkA//////////////////////////////////////////9jb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwBvcGNvZGVzAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gbmVlZHMgdG9vIG1hbnkgcmVnaXN0ZXJzAGNvbnN0YW50cwBjb25zdHJ1Y3RvciB0b28gbG9uZwAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9FTlYAYW5kAGRvAGVsc2VpZgBlbmQAZnVuY3Rpb24AZ290bwBsb2NhbABuaWwAbm90AG9yAHJlcGVhdAB0aGVuAHVudGlsAC8vAH49ADo6ADxlb2Y+ADxudW1iZXI+ADxpbnRlZ2VyPgA8bmFtZT4APHN0cmluZz4AJyVjJwAnJXMnAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAlcyBuZWFyICVzAGNodW5rIGhhcyB0b28gbWFueSBsaW5lcwBpbnZhbGlkIGxvbmcgc3RyaW5nIGRlbGltaXRlcgB1bmZpbmlzaGVkIHN0cmluZwBoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABtaXNzaW5nICd7JwBVVEYtOCB2YWx1ZSB0b28gbGFyZ2UAbWlzc2luZyAnfScAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAEVlAFBwAG1hbGZvcm1lZCBudW1iZXIAc3RyaW5nAGNvbW1lbnQAdW5maW5pc2hlZCBsb25nICVzIChzdGFydGluZyBhdCBsaW5lICVkKQBpbnZhbGlkIHBvc2l0aW9uIHJldHVybmVkIGJ5IG1hdGNoLXRpbWUgY2FwdHVyZQB0b28gbWFueSByZXN1bHRzIGluIG1hdGNoLXRpbWUgY2FwdHVyZQBscGVnLW1heHN0YWNrAGJhY2t0cmFjayBzdGFjayBvdmVyZmxvdyAoY3VycmVudCBsaW1pdCBpcyAlZCkAdG9vIG1hbnkgcnVudGltZSBjYXB0dXJlcwB0b28gbWFueSBjYXB0dXJlcwByZWZlcmVuY2UgdG8gYWJzZW50IGV4dHJhIGFyZ3VtZW50ICMlZAByZXBsYWNlbWVudABiYWNrIHJlZmVyZW5jZSAnJXMnIG5vdCBmb3VuZABubyBjYXB0dXJlICclZCcAbm8gaW5pdGlhbCB2YWx1ZSBmb3IgZm9sZCBjYXB0dXJlAGludmFsaWQgJXMgdmFsdWUgKGEgJXMpAGludmFsaWQgY2FwdHVyZSBpbmRleCAoJWQpAGNhcHR1cmUAbm8gdmFsdWVzIGluIGNhcHR1cmUgaW5kZXggJWQAPGZpbmFsaXplPgBNb2R1bGUgJ0AnIGlzIG5vdCBsb2FkZWQuAENvdWxkIG5vdCBmaW5kIGEgdmFyaWFibGUgbmFtZWQgJ0AnIGluIG1vZHVsZSAnQCcuAG1ldGEAcmFuZG9tAENvdWxkIG5vdCBsb2FkIG1vZHVsZSAnQCcuAENvdWxkIG5vdCBjb21waWxlIG1vZHVsZSAnQCcuAENvdWxkIG5vdCBmaW5kIGZvcmVpZ24gbWV0aG9kICdAJyBmb3IgY2xhc3MgJCBpbiBtb2R1bGUgJyQnLgBDbGFzcyAnQCcgY2Fubm90IGluaGVyaXQgZnJvbSBhIG5vbi1jbGFzcyBvYmplY3QuAENsYXNzICdAJyBjYW5ub3QgaW5oZXJpdCBmcm9tIGJ1aWx0LWluIGNsYXNzICdAJy4AQ2xhc3MgJ0AnIGNhbm5vdCBpbmhlcml0IGZyb20gZm9yZWlnbiBjbGFzcyAnQCcuAEZvcmVpZ24gY2xhc3MgJ0AnIG1heSBub3QgaW5oZXJpdCBmcm9tIGEgY2xhc3Mgd2l0aCBmaWVsZHMuAENsYXNzICdAJyBtYXkgbm90IGhhdmUgbW9yZSB0aGFuIDI1NSBmaWVsZHMsIGluY2x1ZGluZyBpbmhlcml0ZWQgb25lcy4ARnVuY3Rpb24gZXhwZWN0cyBtb3JlIGFyZ3VtZW50cy4AQCBkb2VzIG5vdCBpbXBsZW1lbnQgJyQnLgAkAG1haW4AY2xhc3MgTWV0YSB7CiAgc3RhdGljIGdldE1vZHVsZVZhcmlhYmxlcyhtb2R1bGUpIHsKICAgIGlmICghKG1vZHVsZSBpcyBTdHJpbmcpKSBGaWJlci5hYm9ydCgiTW9kdWxlIG5hbWUgbXVzdCBiZSBhIHN0cmluZy4iKQogICAgdmFyIHJlc3VsdCA9IGdldE1vZHVsZVZhcmlhYmxlc18obW9kdWxlKQogICAgaWYgKHJlc3VsdCAhPSBudWxsKSByZXR1cm4gcmVzdWx0CgogICAgRmliZXIuYWJvcnQoIkNvdWxkIG5vdCBmaW5kIGEgbW9kdWxlIG5hbWVkICclKG1vZHVsZSknLiIpCiAgfQoKICBzdGF0aWMgZXZhbChzb3VyY2UpIHsKICAgIGlmICghKHNvdXJjZSBpcyBTdHJpbmcpKSBGaWJlci5hYm9ydCgiU291cmNlIGNvZGUgbXVzdCBiZSBhIHN0cmluZy4iKQoKICAgIHZhciBmaWJlciA9IGNvbXBpbGVfKHNvdXJjZSwgZmFsc2UsIGZhbHNlKQogICAgLy8gVE9ETzogSW5jbHVkZSBjb21waWxlIGVycm9ycy4KICAgIGlmIChmaWJlciA9PSBudWxsKSBGaWJlci5hYm9ydCgiQ291bGQgbm90IGNvbXBpbGUgc291cmNlIGNvZGUuIikKCiAgICBmaWJlci5jYWxsKCkKICB9CgogIHN0YXRpYyBjb21waWxlRXhwcmVzc2lvbihzb3VyY2UpIHsKICAgIGlmICghKHNvdXJjZSBpcyBTdHJpbmcpKSBGaWJlci5hYm9ydCgiU291cmNlIGNvZGUgbXVzdCBiZSBhIHN0cmluZy4iKQogICAgcmV0dXJuIGNvbXBpbGVfKHNvdXJjZSwgdHJ1ZSwgdHJ1ZSkKICB9CgogIHN0YXRpYyBjb21waWxlKHNvdXJjZSkgewogICAgaWYgKCEoc291cmNlIGlzIFN0cmluZykpIEZpYmVyLmFib3J0KCJTb3VyY2UgY29kZSBtdXN0IGJlIGEgc3RyaW5nLiIpCiAgICByZXR1cm4gY29tcGlsZV8oc291cmNlLCBmYWxzZSwgdHJ1ZSkKICB9CgogIGZvcmVpZ24gc3RhdGljIGNvbXBpbGVfKHNvdXJjZSwgaXNFeHByZXNzaW9uLCBwcmludEVycm9ycykKICBmb3JlaWduIHN0YXRpYyBnZXRNb2R1bGVWYXJpYWJsZXNfKG1vZHVsZSkKfQoAY29tcGlsZV8oXyxfLF8pAGdldE1vZHVsZVZhcmlhYmxlc18oXykAZm9yZWlnbiBjbGFzcyBSYW5kb20gewogIGNvbnN0cnVjdCBuZXcoKSB7CiAgICBzZWVkXygpCiAgfQoKICBjb25zdHJ1Y3QgbmV3KHNlZWQpIHsKICAgIGlmIChzZWVkIGlzIE51bSkgewogICAgICBzZWVkXyhzZWVkKQogICAgfSBlbHNlIGlmIChzZWVkIGlzIFNlcXVlbmNlKSB7CiAgICAgIGlmIChzZWVkLmlzRW1wdHkpIEZpYmVyLmFib3J0KCJTZXF1ZW5jZSBjYW5ub3QgYmUgZW1wdHkuIikKCiAgICAgIC8vIFRPRE86IEVtcHR5IHNlcXVlbmNlLgogICAgICB2YXIgc2VlZHMgPSBbXQogICAgICBmb3IgKGVsZW1lbnQgaW4gc2VlZCkgewogICAgICAgIGlmICghKGVsZW1lbnQgaXMgTnVtKSkgRmliZXIuYWJvcnQoIlNlcXVlbmNlIGVsZW1lbnRzIG11c3QgYWxsIGJlIG51bWJlcnMuIikKCiAgICAgICAgc2VlZHMuYWRkKGVsZW1lbnQpCiAgICAgICAgaWYgKHNlZWRzLmNvdW50ID09IDE2KSBicmVhawogICAgICB9CgogICAgICAvLyBDeWNsZSB0aGUgdmFsdWVzIHRvIGZpbGwgaW4gYW55IG1pc3Npbmcgc2xvdHMuCiAgICAgIHZhciBpID0gMAogICAgICB3aGlsZSAoc2VlZHMuY291bnQgPCAxNikgewogICAgICAgIHNlZWRzLmFkZChzZWVkc1tpXSkKICAgICAgICBpID0gaSArIDEKICAgICAgfQoKICAgICAgc2VlZF8oCiAgICAgICAgICBzZWVkc1swXSwgc2VlZHNbMV0sIHNlZWRzWzJdLCBzZWVkc1szXSwKICAgICAgICAgIHNlZWRzWzRdLCBzZWVkc1s1XSwgc2VlZHNbNl0sIHNlZWRzWzddLAogICAgICAgICAgc2VlZHNbOF0sIHNlZWRzWzldLCBzZWVkc1sxMF0sIHNlZWRzWzExXSwKICAgICAgICAgIHNlZWRzWzEyXSwgc2VlZHNbMTNdLCBzZWVkc1sxNF0sIHNlZWRzWzE1XSkKICAgIH0gZWxzZSB7CiAgICAgIEZpYmVyLmFib3J0KCJTZWVkIG11c3QgYmUgYSBudW1iZXIgb3IgYSBzZXF1ZW5jZSBvZiBudW1iZXJzLiIpCiAgICB9CiAgfQoKICBmb3JlaWduIHNlZWRfKCkKICBmb3JlaWduIHNlZWRfKHNlZWQpCiAgZm9yZWlnbiBzZWVkXyhuMSwgbjIsIG4zLCBuNCwgbjUsIG42LCBuNywgbjgsIG45LCBuMTAsIG4xMSwgbjEyLCBuMTMsIG4xNCwgbjE1LCBuMTYpCgogIGZvcmVpZ24gZmxvYXQoKQogIGZsb2F0KGVuZCkgeyBmbG9hdCgpICogZW5kIH0KICBmbG9hdChzdGFydCwgZW5kKSB7IGZsb2F0KCkgKiAoZW5kIC0gc3RhcnQpICsgc3RhcnQgfQoKICBmb3JlaWduIGludCgpCiAgaW50KGVuZCkgeyAoZmxvYXQoKSAqIGVuZCkuZmxvb3IgfQogIGludChzdGFydCwgZW5kKSB7IChmbG9hdCgpICogKGVuZCAtIHN0YXJ0KSkuZmxvb3IgKyBzdGFydCB9CgogIHNhbXBsZShsaXN0KSB7IHNhbXBsZShsaXN0LCAxKVswXSB9CiAgc2FtcGxlKGxpc3QsIGNvdW50KSB7CiAgICBpZiAoY291bnQgPiBsaXN0LmNvdW50KSBGaWJlci5hYm9ydCgiTm90IGVub3VnaCBlbGVtZW50cyB0byBzYW1wbGUuIikKCiAgICAvLyBUaGVyZSBhdCAoYXQgbGVhc3QpIHR3byBzaW1wbGUgYWxnb3JpdGhtcyBmb3IgY2hvb3NpbmcgYSBudW1iZXIgb2YKICAgIC8vIHNhbXBsZXMgZnJvbSBhIGxpc3Qgd2l0aG91dCByZXBsYWNlbWVudCAtLSB3aGVyZSB3ZSBkb24ndCBwaWNrIHRoZSBzYW1lCiAgICAvLyBlbGVtZW50IG1vcmUgdGhhbiBvbmNlLgogICAgLy8KICAgIC8vIFRoZSBmaXJzdCBpcyBmYXN0ZXIgd2hlbiB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgaXMgc21hbGwgcmVsYXRpdmUgdG8gdGhlCiAgICAvLyBzaXplIG9mIHRoZSBjb2xsZWN0aW9uLiBJbiBtYW55IGNhc2VzLCBpdCBhdm9pZHMgc2Nhbm5pbmcgdGhlIGVudGlyZQogICAgLy8gbGlzdC4gSW4gdGhlIGNvbW1vbiBjYXNlIG9mIGp1c3Qgd2FudGluZyBvbmUgc2FtcGxlLCBpdCdzIGEgc2luZ2xlCiAgICAvLyByYW5kb20gaW5kZXggbG9va3VwLgogICAgLy8KICAgIC8vIEhvd2V2ZXIsIGl0cyBwZXJmb3JtYW5jZSBkZWdyYWRlcyBiYWRseSBhcyB0aGUgc2FtcGxlIHNpemUgaW5jcmVhc2VzLgogICAgLy8gVml0dGVyJ3MgYWxnb3JpdGhtIGFsd2F5cyBzY2FucyB0aGUgZW50aXJlIGxpc3QsIGJ1dCBpdCdzIGFsc28gYWx3YXlzCiAgICAvLyBPKG4pLgogICAgLy8KICAgIC8vIFRoZSBjdXRvZmYgcG9pbnQgYmV0d2VlbiB0aGUgdHdvIGZvbGxvd3MgYSBxdWFkcmF0aWMgY3VydmUgb24gdGhlIHNhbWUKICAgIC8vIHNpemUuIEJhc2VkIG9uIHNvbWUgZW1waXJpY2FsIHRlc3RpbmcsIHNjYWxpbmcgdGhhdCBieSA1IHNlZW1zIHRvIGZpdAogICAgLy8gcHJldHR5IGNsb3NlbHkgYW5kIGNob29zZXMgdGhlIGZhc3Rlc3Qgb25lIGZvciB0aGUgZ2l2ZW4gc2FtcGxlIGFuZAogICAgLy8gY29sbGVjdGlvbiBzaXplLgogICAgaWYgKGNvdW50ICogY291bnQgKiA1IDwgbGlzdC5jb3VudCkgewogICAgICAvLyBQaWNrIHJhbmRvbSBlbGVtZW50cyBhbmQgcmV0cnkgaWYgeW91IGhpdCBhIHByZXZpb3VzbHkgY2hvc2VuIG9uZS4KICAgICAgdmFyIHBpY2tlZCA9IHt9CiAgICAgIHZhciByZXN1bHQgPSBbXQogICAgICBmb3IgKGkgaW4gMC4uLmNvdW50KSB7CiAgICAgICAgLy8gRmluZCBhbiBpbmRleCB0aGF0IHdlIGhhdmVuJ3QgYWxyZWFkeSBzZWxlY3RlZC4KICAgICAgICB2YXIgaW5kZXgKICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgaW5kZXggPSBpbnQoY291bnQpCiAgICAgICAgICBpZiAoIXBpY2tlZC5jb250YWluc0tleShpbmRleCkpIGJyZWFrCiAgICAgICAgfQoKICAgICAgICBwaWNrZWRbaW5kZXhdID0gdHJ1ZQogICAgICAgIHJlc3VsdC5hZGQobGlzdFtpbmRleF0pCiAgICAgIH0KCiAgICAgIHJldHVybiByZXN1bHQKICAgIH0gZWxzZSB7CiAgICAgIC8vIEplZmZyZXkgVml0dGVyJ3MgQWxnb3JpdGhtIFIuCgogICAgICAvLyBGaWxsIHRoZSByZXNlcnZvaXIgd2l0aCB0aGUgZmlyc3QgZWxlbWVudHMgaW4gdGhlIGxpc3QuCiAgICAgIHZhciByZXN1bHQgPSBsaXN0WzAuLi5jb3VudF0KCiAgICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoZSByZXN1bHRzIGFyZSBhbHdheXMgaW4gcmFuZG9tIG9yZGVyLCBzbyBzaHVmZmxlCiAgICAgIC8vIHRoZW0uIEluIGNhc2VzIHdoZXJlIHRoZSBzYW1wbGUgc2l6ZSBpcyB0aGUgZW50aXJlIGNvbGxlY3Rpb24sIHRoaXMKICAgICAgLy8gZGV2b2x2ZXMgdG8gcnVubmluZyBGaXNoZXItWWF0ZXMgb24gYSBjb3B5IG9mIHRoZSBsaXN0LgogICAgICBzaHVmZmxlKHJlc3VsdCkKCiAgICAgIC8vIE5vdyB3YWxrIHRoZSByZXN0IG9mIHRoZSBsaXN0LiBGb3IgZWFjaCBlbGVtZW50LCByYW5kb21seSBjb25zaWRlcgogICAgICAvLyByZXBsYWNpbmcgb25lIG9mIHRoZSByZXNlcnZvaXIgZWxlbWVudHMgd2l0aCBpdC4gVGhlIHByb2JhYmlsaXR5IGhlcmUKICAgICAgLy8gd29ya3Mgb3V0IHN1Y2ggdGhhdCBpdCBkb2VzIHRoaXMgdW5pZm9ybWx5LgogICAgICBmb3IgKGkgaW4gY291bnQuLi5saXN0LmNvdW50KSB7CiAgICAgICAgdmFyIHNsb3QgPSBpbnQoMCwgaSArIDEpCiAgICAgICAgaWYgKHNsb3QgPCBjb3VudCkgcmVzdWx0W3Nsb3RdID0gbGlzdFtpXQogICAgICB9CgogICAgICByZXR1cm4gcmVzdWx0CiAgICB9CiAgfQoKICBzaHVmZmxlKGxpc3QpIHsKICAgIGlmIChsaXN0LmlzRW1wdHkpIHJldHVybgoKICAgIC8vIEZpc2hlci1ZYXRlcyBzaHVmZmxlLgogICAgZm9yIChpIGluIDAuLi5saXN0LmNvdW50IC0gMSkgewogICAgICB2YXIgZnJvbSA9IGludChpLCBsaXN0LmNvdW50KQogICAgICB2YXIgdGVtcCA9IGxpc3RbZnJvbV0KICAgICAgbGlzdFtmcm9tXSA9IGxpc3RbaV0KICAgICAgbGlzdFtpXSA9IHRlbXAKICAgIH0KICB9Cn0KADxhbGxvY2F0ZT4Ac2VlZF8oKQBzZWVkXyhfKQBzZWVkXyhfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfKQBmbG9hdCgpAGludCgpACoALwAlACsAPDwAPj4AfABeACYAPAA+ADw9AD49AD09ACE9AGlzAEV4cGVjdCBlbmQgb2Ygc3RyaW5nIGludGVycG9sYXRpb24uAGpvaW4oKQBFcnJvciBhdCBuZXdsaW5lAEVycm9yIGF0IGVuZCBvZiBmaWxlAEVycm9yIGF0ICclLipzJwBFcnJvciBhdCAnJS4qcy4uLicAJXM6IABJbnZhbGlkIGNoYXJhY3RlciAnJWMnLgBJbnZhbGlkIGJ5dGUgMHgleC4ARXJyb3IAVW50ZXJtaW5hdGVkIHNjaWVudGlmaWMgbm90YXRpb24uAE51bWJlciBsaXRlcmFsIHdhcyB0b28gbGFyZ2UgKCVkKS4AYnJlYWsAY2xhc3MAY29uc3RydWN0AGVsc2UAZm9yAGZvcmVpZ24AaWYAaW1wb3J0AGluAHJldHVybgBzdGF0aWMAc3VwZXIAdGhpcwB2YXIAd2hpbGUAVW50ZXJtaW5hdGVkIGJsb2NrIGNvbW1lbnQuAFVudGVybWluYXRlZCBzdHJpbmcuAEV4cGVjdCAnKCcgYWZ0ZXIgJyUlJy4ASW50ZXJwb2xhdGlvbiBtYXkgb25seSBuZXN0ICVkIGxldmVscyBkZWVwLgBieXRlAEludmFsaWQgZXNjYXBlIGNoYXJhY3RlciAnJWMnLgBJbmNvbXBsZXRlICVzIGVzY2FwZSBzZXF1ZW5jZS4ASW52YWxpZCAlcyBlc2NhcGUgc2VxdWVuY2UuAFVuaWNvZGUARXhwZWN0ZWQgZXhwcmVzc2lvbi4AQSBmdW5jdGlvbiBtYXkgb25seSBjb250YWluICVkIHVuaXF1ZSBjb25zdGFudHMuAEV4cGVjdCAnKScgYWZ0ZXIgcGFyYW1ldGVycy4ARXhwZWN0IHZhcmlhYmxlIG5hbWUuAFZhcmlhYmxlIG5hbWUgY2Fubm90IGJlIGxvbmdlciB0aGFuICVkIGNoYXJhY3RlcnMuAE1vZHVsZSB2YXJpYWJsZSBpcyBhbHJlYWR5IGRlZmluZWQuAFRvbyBtYW55IG1vZHVsZSB2YXJpYWJsZXMgZGVmaW5lZC4AVmFyaWFibGUgaXMgYWxyZWFkeSBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlLgBDYW5ub3QgZGVjbGFyZSBtb3JlIHRoYW4gJWQgdmFyaWFibGVzIGluIG9uZSBzY29wZS4ATWV0aG9kcyBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gJWQgcGFyYW1ldGVycy4ARXhwZWN0ICcoJyBhZnRlciAnPScuAEV4cGVjdCAnKScgYWZ0ZXIgcGFyYW1ldGVyIG5hbWUuAFVuZGVmaW5lZCB2YXJpYWJsZS4ARXhwZWN0ICcpJyBhZnRlciBhcmd1bWVudHMuAEV4cGVjdCAnfCcgYWZ0ZXIgZnVuY3Rpb24gcGFyYW1ldGVycy4AIGJsb2NrIGFyZ3VtZW50AEEgc3VwZXJjbGFzcyBjb25zdHJ1Y3RvciBtdXN0IGhhdmUgYW4gYXJndW1lbnQgbGlzdC4AaW5pdCAARXhwZWN0ICd9JyBhdCBlbmQgb2YgYmxvY2suAEV4cGVjdCBuZXdsaW5lIGFmdGVyIHN0YXRlbWVudC4ARXhwZWN0ICdjbGFzcycgYWZ0ZXIgJ2ZvcmVpZ24nLgBDYW5ub3QgdXNlICdicmVhaycgb3V0c2lkZSBvZiBhIGxvb3AuAEV4cGVjdCAnKCcgYWZ0ZXIgJ3doaWxlJy4ARXhwZWN0ICcpJyBhZnRlciB3aGlsZSBjb25kaXRpb24uAFRvbyBtdWNoIGNvZGUgdG8ganVtcCBvdmVyLgBFeHBlY3QgJygnIGFmdGVyICdpZicuAEV4cGVjdCAnKScgYWZ0ZXIgaWYgY29uZGl0aW9uLgBFeHBlY3QgJygnIGFmdGVyICdmb3InLgBFeHBlY3QgZm9yIGxvb3AgdmFyaWFibGUgbmFtZS4ARXhwZWN0ICdpbicgYWZ0ZXIgbG9vcCB2YXJpYWJsZS4Ac2VxIABpdGVyIABFeHBlY3QgJyknIGFmdGVyIGxvb3AgZXhwcmVzc2lvbi4ARXhwZWN0IGEgc3RyaW5nIGFmdGVyICdpbXBvcnQnLgBFeHBlY3QgJ3snIGFmdGVyIGNsYXNzIGRlY2xhcmF0aW9uLgBFeHBlY3QgbmV3bGluZSBhZnRlciBkZWZpbml0aW9uIGluIGNsYXNzLgBFeHBlY3QgbWV0aG9kIGRlZmluaXRpb24uAEEgY29uc3RydWN0b3IgY2Fubm90IGJlIHN0YXRpYy4ARXhwZWN0ICd7JyB0byBiZWdpbiBtZXRob2QgYm9keS4Ac3RhdGljIABDbGFzcyAlcyBhbHJlYWR5IGRlZmluZXMgYSAlc21ldGhvZCAnJXMnLgBNZXRob2QgbmFtZXMgY2Fubm90IGJlIGxvbmdlciB0aGFuICVkIGNoYXJhY3RlcnMuAENhbm5vdCB1c2UgYSBzdGF0aWMgZmllbGQgb3V0c2lkZSBvZiBhIGNsYXNzIGRlZmluaXRpb24uAENhbm5vdCByZWZlcmVuY2UgYSBmaWVsZCBvdXRzaWRlIG9mIGEgY2xhc3MgZGVmaW5pdGlvbi4AQ2Fubm90IGRlZmluZSBmaWVsZHMgaW4gYSBmb3JlaWduIGNsYXNzLgBDYW5ub3QgdXNlIGFuIGluc3RhbmNlIGZpZWxkIGluIGEgc3RhdGljIG1ldGhvZC4AQSBjbGFzcyBjYW4gb25seSBoYXZlICVkIGZpZWxkcy4AQ2Fubm90IHVzZSAndGhpcycgb3V0c2lkZSBvZiBhIG1ldGhvZC4AQ2Fubm90IHVzZSAnc3VwZXInIG91dHNpZGUgb2YgYSBtZXRob2QuAEV4cGVjdCBtZXRob2QgbmFtZSBhZnRlciAnc3VwZXIuJy4ARXhwZWN0IGNvbnN0cnVjdG9yIG5hbWUgYWZ0ZXIgJ2NvbnN0cnVjdCcuAEEgY29uc3RydWN0b3IgY2Fubm90IGJlIGEgc2V0dGVyLgBBIGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBhIGdldHRlci4ARXhwZWN0ICc6JyBhZnRlciB0aGVuIGJyYW5jaCBvZiBjb25kaXRpb25hbCBvcGVyYXRvci4ARXhwZWN0ICcoJyBhZnRlciBvcGVyYXRvciBuYW1lLgBFeHBlY3QgbWV0aG9kIG5hbWUgYWZ0ZXIgJy4nLgBFeHBlY3QgJzonIGFmdGVyIG1hcCBrZXkuAEV4cGVjdCAnfScgYWZ0ZXIgbWFwIGVudHJpZXMuAEV4cGVjdCAnXScgYWZ0ZXIgcGFyYW1ldGVycy4ARXhwZWN0ICddJyBhZnRlciBhcmd1bWVudHMuAEV4cGVjdCAnXScgYWZ0ZXIgbGlzdCBlbGVtZW50cy4ARXhwZWN0ICcpJyBhZnRlciBleHByZXNzaW9uLgBFeHBlY3QgZW5kIG9mIGZpbGUuAFZhcmlhYmxlIGlzIHVzZWQgYnV0IG5vdCBkZWZpbmVkLgAoc2NyaXB0KQBPYmplY3QAIQA9PShfKQAhPShfKQBpcyhfKQB0b1N0cmluZwB0eXBlAENsYXNzAHN1cGVydHlwZQBPYmplY3QgbWV0YWNsYXNzAHNhbWUoXyxfKQBCb29sAEZpYmVyAG5ldyhfKQBhYm9ydChfKQBjdXJyZW50AHN1c3BlbmQoKQB5aWVsZCgpAHlpZWxkKF8pAGNhbGwoKQBjYWxsKF8pAGVycm9yAGlzRG9uZQB0cmFuc2ZlcigpAHRyYW5zZmVyKF8pAHRyYW5zZmVyRXJyb3IoXykAdHJ5KCkARm4AYXJpdHkAY2FsbChfLF8pAGNhbGwoXyxfLF8pAGNhbGwoXyxfLF8sXykAY2FsbChfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXykAY2FsbChfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8sXykAY2FsbChfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXykAY2FsbChfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8pAGNhbGwoXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXyxfLF8sXykATnVsbABOdW0AZnJvbVN0cmluZyhfKQBwaQBsYXJnZXN0AHNtYWxsZXN0AC0oXykAKyhfKQAqKF8pAC8oXykAPChfKQA+KF8pADw9KF8pAD49KF8pACYoXykAfChfKQBeKF8pADw8KF8pAD4+KF8pAGFicwBhY29zAGFzaW4AYXRhbgBjZWlsAGNvcwBmbG9vcgAtAHJvdW5kAHNpbgBzcXJ0AHRhbgBsb2cAJShfKQB+AC4uKF8pAC4uLihfKQBhdGFuKF8pAHBvdyhfKQBmcmFjdGlvbgBpc0luZmluaXR5AGlzSW50ZWdlcgBpc05hbgBzaWduAHRydW5jYXRlAFN0cmluZwBmcm9tQ29kZVBvaW50KF8pAFtfXQBieXRlQXRfKF8pAGJ5dGVDb3VudF8AY29kZVBvaW50QXRfKF8pAGNvbnRhaW5zKF8pAGVuZHNXaXRoKF8pAGluZGV4T2YoXykAaW5kZXhPZihfLF8pAGl0ZXJhdGUoXykAaXRlcmF0ZUJ5dGVfKF8pAGl0ZXJhdG9yVmFsdWUoXykAc3RhcnRzV2l0aChfKQBMaXN0AGZpbGxlZChfLF8pAG5ldygpAFtfXT0oXykAYWRkKF8pAGFkZENvcmVfKF8pAGNsZWFyKCkAY291bnQAaW5zZXJ0KF8sXykAcmVtb3ZlQXQoXykATWFwAGFkZENvcmVfKF8sXykAY29udGFpbnNLZXkoXykAcmVtb3ZlKF8pAGtleUl0ZXJhdG9yVmFsdWVfKF8pAHZhbHVlSXRlcmF0b3JWYWx1ZV8oXykAUmFuZ2UAZnJvbQB0bwBtaW4AbWF4AGlzSW5jbHVzaXZlAFN5c3RlbQBjbG9jawBnYygpAHdyaXRlU3RyaW5nXyhfKQAuLgAuLi4AQCRAAEl0ZXJhdG9yAEludmFsaWQgbWFwIGl0ZXJhdG9yLgBJbmRleABTdWJzY3JpcHQAU3Vic2NyaXB0IG11c3QgYmUgYSBudW1iZXIgb3IgYSByYW5nZS4AU2l6ZQBTaXplIGNhbm5vdCBiZSBuZWdhdGl2ZS4AQXJndW1lbnQAU3RhcnQAUmlnaHQgb3BlcmFuZABAQABDb2RlIHBvaW50AENvZGUgcG9pbnQgY2Fubm90IGJlIG5lZ2F0aXZlLgBDb2RlIHBvaW50IGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gMHgxMGZmZmYuAFJpZ2h0IGhhbmQgc2lkZSBvZiByYW5nZQBOdW1iZXIgbGl0ZXJhbCBpcyB0b28gbGFyZ2UuAG51bGwAPGZuPgB0cnkAQ2Fubm90ICQgYW4gYWJvcnRlZCBmaWJlci4ARmliZXIgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQuAENhbm5vdCAkIGEgZmluaXNoZWQgZmliZXIuAHRyYW5zZmVyIHRvAGNhbGwARnVuY3Rpb24gY2Fubm90IHRha2UgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIuAGNsYXNzIEJvb2wge30KY2xhc3MgRmliZXIge30KY2xhc3MgRm4ge30KY2xhc3MgTnVsbCB7fQpjbGFzcyBOdW0ge30KCmNsYXNzIFNlcXVlbmNlIHsKICBhbGwoZikgewogICAgdmFyIHJlc3VsdCA9IHRydWUKICAgIGZvciAoZWxlbWVudCBpbiB0aGlzKSB7CiAgICAgIHJlc3VsdCA9IGYuY2FsbChlbGVtZW50KQogICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIHJlc3VsdAogICAgfQogICAgcmV0dXJuIHJlc3VsdAogIH0KCiAgYW55KGYpIHsKICAgIHZhciByZXN1bHQgPSBmYWxzZQogICAgZm9yIChlbGVtZW50IGluIHRoaXMpIHsKICAgICAgcmVzdWx0ID0gZi5jYWxsKGVsZW1lbnQpCiAgICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQKICAgIH0KICAgIHJldHVybiByZXN1bHQKICB9CgogIGNvbnRhaW5zKGVsZW1lbnQpIHsKICAgIGZvciAoaXRlbSBpbiB0aGlzKSB7CiAgICAgIGlmIChlbGVtZW50ID09IGl0ZW0pIHJldHVybiB0cnVlCiAgICB9CiAgICByZXR1cm4gZmFsc2UKICB9CgogIGNvdW50IHsKICAgIHZhciByZXN1bHQgPSAwCiAgICBmb3IgKGVsZW1lbnQgaW4gdGhpcykgewogICAgICByZXN1bHQgPSByZXN1bHQgKyAxCiAgICB9CiAgICByZXR1cm4gcmVzdWx0CiAgfQoKICBjb3VudChmKSB7CiAgICB2YXIgcmVzdWx0ID0gMAogICAgZm9yIChlbGVtZW50IGluIHRoaXMpIHsKICAgICAgaWYgKGYuY2FsbChlbGVtZW50KSkgcmVzdWx0ID0gcmVzdWx0ICsgMQogICAgfQogICAgcmV0dXJuIHJlc3VsdAogIH0KCiAgZWFjaChmKSB7CiAgICBmb3IgKGVsZW1lbnQgaW4gdGhpcykgewogICAgICBmLmNhbGwoZWxlbWVudCkKICAgIH0KICB9CgogIGlzRW1wdHkgeyBpdGVyYXRlKG51bGwpID8gZmFsc2UgOiB0cnVlIH0KCiAgbWFwKHRyYW5zZm9ybWF0aW9uKSB7IE1hcFNlcXVlbmNlLm5ldyh0aGlzLCB0cmFuc2Zvcm1hdGlvbikgfQoKICBza2lwKGNvdW50KSB7CiAgICBpZiAoIShjb3VudCBpcyBOdW0pIHx8ICFjb3VudC5pc0ludGVnZXIgfHwgY291bnQgPCAwKSB7CiAgICAgIEZpYmVyLmFib3J0KCJDb3VudCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIuIikKICAgIH0KCiAgICByZXR1cm4gU2tpcFNlcXVlbmNlLm5ldyh0aGlzLCBjb3VudCkKICB9CgogIHRha2UoY291bnQpIHsKICAgIGlmICghKGNvdW50IGlzIE51bSkgfHwgIWNvdW50LmlzSW50ZWdlciB8fCBjb3VudCA8IDApIHsKICAgICAgRmliZXIuYWJvcnQoIkNvdW50IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlci4iKQogICAgfQoKICAgIHJldHVybiBUYWtlU2VxdWVuY2UubmV3KHRoaXMsIGNvdW50KQogIH0KCiAgd2hlcmUocHJlZGljYXRlKSB7IFdoZXJlU2VxdWVuY2UubmV3KHRoaXMsIHByZWRpY2F0ZSkgfQoKICByZWR1Y2UoYWNjLCBmKSB7CiAgICBmb3IgKGVsZW1lbnQgaW4gdGhpcykgewogICAgICBhY2MgPSBmLmNhbGwoYWNjLCBlbGVtZW50KQogICAgfQogICAgcmV0dXJuIGFjYwogIH0KCiAgcmVkdWNlKGYpIHsKICAgIHZhciBpdGVyID0gaXRlcmF0ZShudWxsKQogICAgaWYgKCFpdGVyKSBGaWJlci5hYm9ydCgiQ2FuJ3QgcmVkdWNlIGFuIGVtcHR5IHNlcXVlbmNlLiIpCgogICAgLy8gU2VlZCB3aXRoIHRoZSBmaXJzdCBlbGVtZW50LgogICAgdmFyIHJlc3VsdCA9IGl0ZXJhdG9yVmFsdWUoaXRlcikKICAgIHdoaWxlIChpdGVyID0gaXRlcmF0ZShpdGVyKSkgewogICAgICByZXN1bHQgPSBmLmNhbGwocmVzdWx0LCBpdGVyYXRvclZhbHVlKGl0ZXIpKQogICAgfQoKICAgIHJldHVybiByZXN1bHQKICB9CgogIGpvaW4oKSB7IGpvaW4oIiIpIH0KCiAgam9pbihzZXApIHsKICAgIHZhciBmaXJzdCA9IHRydWUKICAgIHZhciByZXN1bHQgPSAiIgoKICAgIGZvciAoZWxlbWVudCBpbiB0aGlzKSB7CiAgICAgIGlmICghZmlyc3QpIHJlc3VsdCA9IHJlc3VsdCArIHNlcAogICAgICBmaXJzdCA9IGZhbHNlCiAgICAgIHJlc3VsdCA9IHJlc3VsdCArIGVsZW1lbnQudG9TdHJpbmcKICAgIH0KCiAgICByZXR1cm4gcmVzdWx0CiAgfQoKICB0b0xpc3QgewogICAgdmFyIHJlc3VsdCA9IExpc3QubmV3KCkKICAgIGZvciAoZWxlbWVudCBpbiB0aGlzKSB7CiAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCkKICAgIH0KICAgIHJldHVybiByZXN1bHQKICB9Cn0KCmNsYXNzIE1hcFNlcXVlbmNlIGlzIFNlcXVlbmNlIHsKICBjb25zdHJ1Y3QgbmV3KHNlcXVlbmNlLCBmbikgewogICAgX3NlcXVlbmNlID0gc2VxdWVuY2UKICAgIF9mbiA9IGZuCiAgfQoKICBpdGVyYXRlKGl0ZXJhdG9yKSB7IF9zZXF1ZW5jZS5pdGVyYXRlKGl0ZXJhdG9yKSB9CiAgaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgeyBfZm4uY2FsbChfc2VxdWVuY2UuaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikpIH0KfQoKY2xhc3MgU2tpcFNlcXVlbmNlIGlzIFNlcXVlbmNlIHsKICBjb25zdHJ1Y3QgbmV3KHNlcXVlbmNlLCBjb3VudCkgewogICAgX3NlcXVlbmNlID0gc2VxdWVuY2UKICAgIF9jb3VudCA9IGNvdW50CiAgfQoKICBpdGVyYXRlKGl0ZXJhdG9yKSB7CiAgICBpZiAoaXRlcmF0b3IpIHsKICAgICAgcmV0dXJuIF9zZXF1ZW5jZS5pdGVyYXRlKGl0ZXJhdG9yKQogICAgfSBlbHNlIHsKICAgICAgaXRlcmF0b3IgPSBfc2VxdWVuY2UuaXRlcmF0ZShpdGVyYXRvcikKICAgICAgdmFyIGNvdW50ID0gX2NvdW50CiAgICAgIHdoaWxlIChjb3VudCA+IDAgJiYgaXRlcmF0b3IpIHsKICAgICAgICBpdGVyYXRvciA9IF9zZXF1ZW5jZS5pdGVyYXRlKGl0ZXJhdG9yKQogICAgICAgIGNvdW50ID0gY291bnQgLSAxCiAgICAgIH0KICAgICAgcmV0dXJuIGl0ZXJhdG9yCiAgICB9CiAgfQoKICBpdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB7IF9zZXF1ZW5jZS5pdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB9Cn0KCmNsYXNzIFRha2VTZXF1ZW5jZSBpcyBTZXF1ZW5jZSB7CiAgY29uc3RydWN0IG5ldyhzZXF1ZW5jZSwgY291bnQpIHsKICAgIF9zZXF1ZW5jZSA9IHNlcXVlbmNlCiAgICBfY291bnQgPSBjb3VudAogIH0KCiAgaXRlcmF0ZShpdGVyYXRvcikgewogICAgaWYgKCFpdGVyYXRvcikgX3Rha2VuID0gMSBlbHNlIF90YWtlbiA9IF90YWtlbiArIDEKICAgIHJldHVybiBfdGFrZW4gPiBfY291bnQgPyBudWxsIDogX3NlcXVlbmNlLml0ZXJhdGUoaXRlcmF0b3IpCiAgfQoKICBpdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB7IF9zZXF1ZW5jZS5pdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB9Cn0KCmNsYXNzIFdoZXJlU2VxdWVuY2UgaXMgU2VxdWVuY2UgewogIGNvbnN0cnVjdCBuZXcoc2VxdWVuY2UsIGZuKSB7CiAgICBfc2VxdWVuY2UgPSBzZXF1ZW5jZQogICAgX2ZuID0gZm4KICB9CgogIGl0ZXJhdGUoaXRlcmF0b3IpIHsKICAgIHdoaWxlIChpdGVyYXRvciA9IF9zZXF1ZW5jZS5pdGVyYXRlKGl0ZXJhdG9yKSkgewogICAgICBpZiAoX2ZuLmNhbGwoX3NlcXVlbmNlLml0ZXJhdG9yVmFsdWUoaXRlcmF0b3IpKSkgYnJlYWsKICAgIH0KICAgIHJldHVybiBpdGVyYXRvcgogIH0KCiAgaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgeyBfc2VxdWVuY2UuaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgfQp9CgpjbGFzcyBTdHJpbmcgaXMgU2VxdWVuY2UgewogIGJ5dGVzIHsgU3RyaW5nQnl0ZVNlcXVlbmNlLm5ldyh0aGlzKSB9CiAgY29kZVBvaW50cyB7IFN0cmluZ0NvZGVQb2ludFNlcXVlbmNlLm5ldyh0aGlzKSB9CgogIHNwbGl0KGRlbGltaXRlcikgewogICAgaWYgKCEoZGVsaW1pdGVyIGlzIFN0cmluZykgfHwgZGVsaW1pdGVyLmlzRW1wdHkpIHsKICAgICAgRmliZXIuYWJvcnQoIkRlbGltaXRlciBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy4iKQogICAgfQoKICAgIHZhciByZXN1bHQgPSBbXQoKICAgIHZhciBsYXN0ID0gMAogICAgdmFyIGluZGV4ID0gMAoKICAgIHZhciBkZWxpbVNpemUgPSBkZWxpbWl0ZXIuYnl0ZUNvdW50XwogICAgdmFyIHNpemUgPSBieXRlQ291bnRfCgogICAgd2hpbGUgKGxhc3QgPCBzaXplICYmIChpbmRleCA9IGluZGV4T2YoZGVsaW1pdGVyLCBsYXN0KSkgIT0gLTEpIHsKICAgICAgcmVzdWx0LmFkZCh0aGlzW2xhc3QuLi5pbmRleF0pCiAgICAgIGxhc3QgPSBpbmRleCArIGRlbGltU2l6ZQogICAgfQoKICAgIGlmIChsYXN0IDwgc2l6ZSkgewogICAgICByZXN1bHQuYWRkKHRoaXNbbGFzdC4uLTFdKQogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0LmFkZCgiIikKICAgIH0KICAgIHJldHVybiByZXN1bHQKICB9CgogIHJlcGxhY2UoZnJvbSwgdG8pIHsKICAgIGlmICghKGZyb20gaXMgU3RyaW5nKSB8fCBmcm9tLmlzRW1wdHkpIHsKICAgICAgRmliZXIuYWJvcnQoIkZyb20gbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcuIikKICAgIH0gZWxzZSBpZiAoISh0byBpcyBTdHJpbmcpKSB7CiAgICAgIEZpYmVyLmFib3J0KCJUbyBtdXN0IGJlIGEgc3RyaW5nLiIpCiAgICB9CgogICAgdmFyIHJlc3VsdCA9ICIiCgogICAgdmFyIGxhc3QgPSAwCiAgICB2YXIgaW5kZXggPSAwCgogICAgdmFyIGZyb21TaXplID0gZnJvbS5ieXRlQ291bnRfCiAgICB2YXIgc2l6ZSA9IGJ5dGVDb3VudF8KCiAgICB3aGlsZSAobGFzdCA8IHNpemUgJiYgKGluZGV4ID0gaW5kZXhPZihmcm9tLCBsYXN0KSkgIT0gLTEpIHsKICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgdGhpc1tsYXN0Li4uaW5kZXhdICsgdG8KICAgICAgbGFzdCA9IGluZGV4ICsgZnJvbVNpemUKICAgIH0KCiAgICBpZiAobGFzdCA8IHNpemUpIHJlc3VsdCA9IHJlc3VsdCArIHRoaXNbbGFzdC4uLTFdCgogICAgcmV0dXJuIHJlc3VsdAogIH0KCiAgKihjb3VudCkgewogICAgaWYgKCEoY291bnQgaXMgTnVtKSB8fCAhY291bnQuaXNJbnRlZ2VyIHx8IGNvdW50IDwgMCkgewogICAgICBGaWJlci5hYm9ydCgiQ291bnQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLiIpCiAgICB9CgogICAgdmFyIHJlc3VsdCA9ICIiCiAgICBmb3IgKGkgaW4gMC4uLmNvdW50KSB7CiAgICAgIHJlc3VsdCA9IHJlc3VsdCArIHRoaXMKICAgIH0KICAgIHJldHVybiByZXN1bHQKICB9Cn0KCmNsYXNzIFN0cmluZ0J5dGVTZXF1ZW5jZSBpcyBTZXF1ZW5jZSB7CiAgY29uc3RydWN0IG5ldyhzdHJpbmcpIHsKICAgIF9zdHJpbmcgPSBzdHJpbmcKICB9CgogIFtpbmRleF0geyBfc3RyaW5nLmJ5dGVBdF8oaW5kZXgpIH0KICBpdGVyYXRlKGl0ZXJhdG9yKSB7IF9zdHJpbmcuaXRlcmF0ZUJ5dGVfKGl0ZXJhdG9yKSB9CiAgaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgeyBfc3RyaW5nLmJ5dGVBdF8oaXRlcmF0b3IpIH0KCiAgY291bnQgeyBfc3RyaW5nLmJ5dGVDb3VudF8gfQp9CgpjbGFzcyBTdHJpbmdDb2RlUG9pbnRTZXF1ZW5jZSBpcyBTZXF1ZW5jZSB7CiAgY29uc3RydWN0IG5ldyhzdHJpbmcpIHsKICAgIF9zdHJpbmcgPSBzdHJpbmcKICB9CgogIFtpbmRleF0geyBfc3RyaW5nLmNvZGVQb2ludEF0XyhpbmRleCkgfQogIGl0ZXJhdGUoaXRlcmF0b3IpIHsgX3N0cmluZy5pdGVyYXRlKGl0ZXJhdG9yKSB9CiAgaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgeyBfc3RyaW5nLmNvZGVQb2ludEF0XyhpdGVyYXRvcikgfQoKICBjb3VudCB7IF9zdHJpbmcuY291bnQgfQp9CgpjbGFzcyBMaXN0IGlzIFNlcXVlbmNlIHsKICBhZGRBbGwob3RoZXIpIHsKICAgIGZvciAoZWxlbWVudCBpbiBvdGhlcikgewogICAgICBhZGQoZWxlbWVudCkKICAgIH0KICAgIHJldHVybiBvdGhlcgogIH0KCiAgdG9TdHJpbmcgeyAiWyUoam9pbigiLCAiKSldIiB9CgogICsob3RoZXIpIHsKICAgIHZhciByZXN1bHQgPSB0aGlzWzAuLi0xXQogICAgZm9yIChlbGVtZW50IGluIG90aGVyKSB7CiAgICAgIHJlc3VsdC5hZGQoZWxlbWVudCkKICAgIH0KICAgIHJldHVybiByZXN1bHQKICB9CgogICooY291bnQpIHsKICAgIGlmICghKGNvdW50IGlzIE51bSkgfHwgIWNvdW50LmlzSW50ZWdlciB8fCBjb3VudCA8IDApIHsKICAgICAgRmliZXIuYWJvcnQoIkNvdW50IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlci4iKQogICAgfQoKICAgIHZhciByZXN1bHQgPSBbXQogICAgZm9yIChpIGluIDAuLi5jb3VudCkgewogICAgICByZXN1bHQuYWRkQWxsKHRoaXMpCiAgICB9CiAgICByZXR1cm4gcmVzdWx0CiAgfQp9CgpjbGFzcyBNYXAgaXMgU2VxdWVuY2UgewogIGtleXMgeyBNYXBLZXlTZXF1ZW5jZS5uZXcodGhpcykgfQogIHZhbHVlcyB7IE1hcFZhbHVlU2VxdWVuY2UubmV3KHRoaXMpIH0KCiAgdG9TdHJpbmcgewogICAgdmFyIGZpcnN0ID0gdHJ1ZQogICAgdmFyIHJlc3VsdCA9ICJ7IgoKICAgIGZvciAoa2V5IGluIGtleXMpIHsKICAgICAgaWYgKCFmaXJzdCkgcmVzdWx0ID0gcmVzdWx0ICsgIiwgIgogICAgICBmaXJzdCA9IGZhbHNlCiAgICAgIHJlc3VsdCA9IHJlc3VsdCArICIlKGtleSk6ICUodGhpc1trZXldKSIKICAgIH0KCiAgICByZXR1cm4gcmVzdWx0ICsgIn0iCiAgfQoKICBpdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB7CiAgICByZXR1cm4gTWFwRW50cnkubmV3KAogICAgICAgIGtleUl0ZXJhdG9yVmFsdWVfKGl0ZXJhdG9yKSwKICAgICAgICB2YWx1ZUl0ZXJhdG9yVmFsdWVfKGl0ZXJhdG9yKSkKICB9Cn0KCmNsYXNzIE1hcEVudHJ5IHsKICBjb25zdHJ1Y3QgbmV3KGtleSwgdmFsdWUpIHsKICAgIF9rZXkgPSBrZXkKICAgIF92YWx1ZSA9IHZhbHVlCiAgfQoKICBrZXkgeyBfa2V5IH0KICB2YWx1ZSB7IF92YWx1ZSB9CgogIHRvU3RyaW5nIHsgIiUoX2tleSk6JShfdmFsdWUpIiB9Cn0KCmNsYXNzIE1hcEtleVNlcXVlbmNlIGlzIFNlcXVlbmNlIHsKICBjb25zdHJ1Y3QgbmV3KG1hcCkgewogICAgX21hcCA9IG1hcAogIH0KCiAgaXRlcmF0ZShuKSB7IF9tYXAuaXRlcmF0ZShuKSB9CiAgaXRlcmF0b3JWYWx1ZShpdGVyYXRvcikgeyBfbWFwLmtleUl0ZXJhdG9yVmFsdWVfKGl0ZXJhdG9yKSB9Cn0KCmNsYXNzIE1hcFZhbHVlU2VxdWVuY2UgaXMgU2VxdWVuY2UgewogIGNvbnN0cnVjdCBuZXcobWFwKSB7CiAgICBfbWFwID0gbWFwCiAgfQoKICBpdGVyYXRlKG4pIHsgX21hcC5pdGVyYXRlKG4pIH0KICBpdGVyYXRvclZhbHVlKGl0ZXJhdG9yKSB7IF9tYXAudmFsdWVJdGVyYXRvclZhbHVlXyhpdGVyYXRvcikgfQp9CgpjbGFzcyBSYW5nZSBpcyBTZXF1ZW5jZSB7fQoKY2xhc3MgU3lzdGVtIHsKICBzdGF0aWMgcHJpbnQoKSB7CiAgICB3cml0ZVN0cmluZ18oIgoiKQogIH0KCiAgc3RhdGljIHByaW50KG9iaikgewogICAgd3JpdGVPYmplY3RfKG9iaikKICAgIHdyaXRlU3RyaW5nXygiCiIpCiAgICByZXR1cm4gb2JqCiAgfQoKICBzdGF0aWMgcHJpbnRBbGwoc2VxdWVuY2UpIHsKICAgIGZvciAob2JqZWN0IGluIHNlcXVlbmNlKSB3cml0ZU9iamVjdF8ob2JqZWN0KQogICAgd3JpdGVTdHJpbmdfKCIKIikKICB9CgogIHN0YXRpYyB3cml0ZShvYmopIHsKICAgIHdyaXRlT2JqZWN0XyhvYmopCiAgICByZXR1cm4gb2JqCiAgfQoKICBzdGF0aWMgd3JpdGVBbGwoc2VxdWVuY2UpIHsKICAgIGZvciAob2JqZWN0IGluIHNlcXVlbmNlKSB3cml0ZU9iamVjdF8ob2JqZWN0KQogIH0KCiAgc3RhdGljIHdyaXRlT2JqZWN0XyhvYmopIHsKICAgIHZhciBzdHJpbmcgPSBvYmoudG9TdHJpbmcKICAgIGlmIChzdHJpbmcgaXMgU3RyaW5nKSB7CiAgICAgIHdyaXRlU3RyaW5nXyhzdHJpbmcpCiAgICB9IGVsc2UgewogICAgICB3cml0ZVN0cmluZ18oIltpbnZhbGlkIHRvU3RyaW5nXSIpCiAgICB9CiAgfQp9CgBpbnN0YW5jZSBvZiBAAFJpZ2h0IG9wZXJhbmQgbXVzdCBiZSBhIGNsYXNzLgBbZXJyb3Igb2JqZWN0XQAkIG11c3QgYmUgYSBmdW5jdGlvbi4AJCBtdXN0IGJlIGEgbnVtYmVyLgAkIG11c3QgYmUgYW4gaW50ZWdlci4AS2V5IG11c3QgYmUgYSB2YWx1ZSB0eXBlLgAkIG91dCBvZiBib3VuZHMuACQgbXVzdCBiZSBhIHN0cmluZy4AUmFuZ2Ugc3RhcnQAUmFuZ2UgZW5kAFJhbmdlIGVuZCBvdXQgb2YgYm91bmRzLgBAIG1ldGFjbGFzcwAtaW5maW5pdHkAJS4xNGcAR0lGODdhAEdJRjg5YQAAAQMHDx8/f/9HSUZWRVIAR1BVX0FkZFdpbmRvd01hcHBpbmcAV2luZG93SUQgJXUgYWxyZWFkeSBoYXMgYSBtYXBwaW5nLgBObyByZW5kZXJlciBvdXQgb2YgJWQgd2FzIGFibGUgdG8gaW5pdGlhbGl6ZSBwcm9wZXJseQBHUFVfSW5pdFJlbmRlcmVyQnlJRABSZW5kZXJlciAlcyBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwcm9wZXJseQBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBTREwgdmlkZW8gc3Vic3lzdGVtAE5VTEwgcmVuZGVyZXIAVW5zdXBwb3J0ZWQgb3V0cHV0IGZpbGUgZm9ybWF0AHBuZwBibXAAdGdhAEdQVV9TYXZlU3VyZmFjZQBDb3VsZCBub3QgZGV0ZWN0IG91dHB1dCBmaWxlIGZvcm1hdCBmcm9tIGZpbGUgbmFtZQAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6W1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/A4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+frb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/R1BVX0NsZWFyAEdQVV9GbGlwAFVua25vd24AT3BlbkdMRVMgMgBHUFVfUmVnaXN0ZXJSZW5kZXJlcgBJbnZhbGlkIHJlbmRlcmVyIElEAEdQVV9DcmVhdGVSZW5kZXJlcgBSZW5kZXJlciB3YXMgbm90IGZvdW5kIGluIHRoZSByZW5kZXJlciByZWdpc3RyeS4AZ3B1X2NyZWF0ZV9hbmRfYWRkX3JlbmRlcmVyAEZhaWxlZCB0byBjcmVhdGUgbmV3IHJlbmRlcmVyLgBDb3VsZG4ndCBjcmVhdGUgYSBuZXcgcmVuZGVyZXIuICBUb28gbWFueSBhY3RpdmUgcmVuZGVyZXJzIGZvciBHUFVfTUFYX0FDVElWRV9SRU5ERVJFUlMgKCVkKS4AMTEgNCAyMiA0NCA0NCAyMiA0NDQ0NDQA/wD/Li4vLi4vc3JjL2V4dGVybmFscy9zdGJfaW1hZ2Vfd3JpdGUvc3RiX2ltYWdlX3dyaXRlLmgAc3RiaXdfX3dyaXRlZnYAMTExIDIyMSAyMjIyIDExAGQgPD0gMzI3NjcgJiYgYmVzdCA8PSAyNTgAc3RiaV96bGliX2NvbXByZXNzAAAAAAAAAAAAAQEBAQICAgIDAwMDBAQEBAUFBQUAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NcABzdGJpd19fc2Jncm93ZgBvID09IG91dCArICpvdXRfbGVuAHN0Ymlfd3JpdGVfcG5nX3RvX21lbQBHUFVfUG9seWdvbkZpbGxlZAB0YXJnZXQATWlzbWF0Y2hlZCByZW5kZXJlcgBOVUxMIGNvbnRleHQARmFpbGVkIHRvIGJpbmQgZnJhbWVidWZmZXIuAChTRExfZ3B1IGludGVybmFsKQBDb3VsZCBub3Qgc2V0IGJsZW5kIGZ1bmN0aW9uIGJlY2F1c2UgR1BVX0ZFQVRVUkVfQkxFTkRfRlVOQ19TRVBBUkFURSBpcyBub3Qgc3VwcG9ydGVkLgBDb3VsZCBub3Qgc2V0IGJsZW5kIGVxdWF0aW9uIGJlY2F1c2UgR1BVX0ZFQVRVUkVfQkxFTkRfRVFVQVRJT05TX1NFUEFSQVRFIGlzIG5vdCBzdXBwb3J0ZWQuAENvdWxkIG5vdCBzZXQgYmxlbmQgZXF1YXRpb24gYmVjYXVzZSBHUFVfRkVBVFVSRV9CTEVORF9FUVVBVElPTlMgaXMgbm90IHN1cHBvcnRlZC4AR1BVX1BvbHlnb24AR1BVX1JlY3RhbmdsZVJvdW5kRmlsbGVkAEdQVV9SZWN0YW5nbGVSb3VuZABHUFVfUmVjdGFuZ2xlRmlsbGVkAEdQVV9SZWN0YW5nbGUAR1BVX1RyaUZpbGxlZABHUFVfVHJpAEdQVV9TZWN0b3JGaWxsZWQAR1BVX0VsbGlwc2VGaWxsZWQAR1BVX0VsbGlwc2UAR1BVX0NpcmNsZUZpbGxlZABHUFVfQ2lyY2xlAEdQVV9BcmNGaWxsZWQAR1BVX0FyYwBHUFVfTGluZQBHUFVfUGl4ZWwAR1BVX1NldFVuaWZvcm1NYXRyaXhmdgBHaXZlbiBpbnZhbGlkIGRpbWVuc2lvbnMgKCVkeCVkKQBHTEVTIHJlbmRlcmVycyBkbyBub3QgYWNjZXB0IG5vbi1zcXVhcmUgbWF0cmljZXMgKGdpdmVuICVkeCVkKQBncHVfVmVydGV4AEdQVV9MaW5rU2hhZGVyUHJvZ3JhbQBHUFVfQ29tcGlsZVNoYWRlcgBGYWlsZWQgdG8gcmVhZCBzaGFkZXIgc291cmNlAEZhaWxlZCB0byByZWFkIHNoYWRlciBzb3VyY2UuCgBIYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IEdQVV9HRU9NRVRSWV9TSEFERVIuAEZhaWxlZCB0byBjcmVhdGUgZ2VvbWV0cnkgc2hhZGVyIG9iamVjdC4KAEZhaWxlZCB0byBjcmVhdGUgbmV3IHNoYWRlciBvYmplY3QARmFpbGVkIHRvIGNyZWF0ZSBuZXcgc2hhZGVyIG9iamVjdC4KAEZhaWxlZCB0byBjb21waWxlIHNoYWRlciBzb3VyY2UAIyAJAGluY2x1ZGUAIgByAEdQVV9TZXRXcmFwTW9kZQBpbWFnZQBUaGlzIHJlbmRlcmVyIGRvZXMgbm90IHN1cHBvcnQgR1BVX1dSQVBfTUlSUk9SRUQuAFVuc3VwcG9ydGVkIHZhbHVlIGZvciB3cmFwX21vZGVfeCAoMHgleCkAVW5zdXBwb3J0ZWQgdmFsdWUgZm9yIHdyYXBfbW9kZV95ICgweCV4KQBHUFVfU2V0SW1hZ2VGaWx0ZXIAVW5zdXBwb3J0ZWQgdmFsdWUgZm9yIGZpbHRlciAoMHgleCkAR1BVX1ByaW1pdGl2ZUJhdGNoWABHUFVfQmxpdFRyYW5zZm9ybVgAR1BVX0JsaXRUcmFuc2Zvcm0AR1BVX0JsaXRTY2FsZQBHUFVfQmxpdFJvdGF0ZQBHUFVfQmxpdABHUFVfR2V0VGFyZ2V0AEZyYW1lYnVmZmVyIGluY29tcGxldGUgd2l0aCBzdGF0dXM6IDB4JXguICBGb3JtYXQgMHgleCBmb3IgZnJhbWVidWZmZXJzIG1pZ2h0IG5vdCBiZSBzdXBwb3J0ZWQgb24gdGhpcyBoYXJkd2FyZS4AR1BVX0NvcHlTdXJmYWNlRnJvbUltYWdlAEludmFsaWQgaW1hZ2UgZGltZW5zaW9ucyAoJWR4JWQpAENvdWxkIG5vdCByZXRyaWV2ZSB0YXJnZXQgZGF0YS4ARmFpbGVkIHRvIGNyZWF0ZSBuZXcgJWR4JWQgc3VyZmFjZQBHUFVfQ29weVN1cmZhY2VGcm9tVGFyZ2V0AEludmFsaWQgdGFyZ2V0IGRpbWVuc2lvbnMgKCVkeCVkKQBHUFVfQ29weUltYWdlAEZhaWxlZCB0byBjcmVhdGUgbmV3IGltYWdlLgBGYWlsZWQgdG8gbG9hZCB0YXJnZXQuAEZhaWxlZCB0byBnZXQgcmF3IHRleHR1cmUgZGF0YS4AQ291bGQgbm90IGNvcHkgdGhlIGdpdmVuIGltYWdlIGZvcm1hdC4AR1BVX0NyZWF0ZVVuaW5pdGlhbGl6ZWRJbWFnZQBVbnN1cHBvcnRlZCBpbWFnZSBmb3JtYXQgKDB4JXgpAEZhaWxlZCB0byBnZW5lcmF0ZSBhIHRleHR1cmUgaGFuZGxlLgBHUFVfQ29weUltYWdlRnJvbVN1cmZhY2UAU3VyZmFjZSBoYXMgYSB6ZXJvIGRpbWVuc2lvbi4AR1BVX1JlcGxhY2VJbWFnZQBGYWlsZWQgdG8gY29udmVydCBzdXJmYWNlIHRvIHByb3BlciBwaXhlbCBmb3JtYXQuAENsaXBwZWQgc291cmNlIHJlY3QgaGFzIHplcm8gc2l6ZS4ARmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyB0ZXh0dXJlIGhhbmRsZS4ARmFpbGVkIHRvIGNyZWF0ZSBuZXcgZnJhbWVidWZmZXIgdGFyZ2V0LgBGYWlsZWQgdG8gcmVjcmVhdGUgZnJhbWVidWZmZXIgdGFyZ2V0LgBHUFVfQ29tcGFyZUZvcm1hdHMASW52YWxpZCB0ZXh0dXJlIGZvcm1hdCAoMHgleCkAR1BVX1VwZGF0ZUltYWdlAEdQVV9DcmVhdGVJbWFnZVVzaW5nVGV4dHVyZQBSZW5kZXJlciAlcyBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgZnVuY3Rpb24AR1BVX0NyZWF0ZUltYWdlAENvdWxkIG5vdCBjcmVhdGUgaW1hZ2UgYXMgcmVxdWVzdGVkLgBHUFVfU2V0Q2FtZXJhAEdQVV9BZGREZXB0aEJ1ZmZlcgBOVUxMIGNvbnRleHQuAEZhaWxlZCB0byBiaW5kIHRhcmdldCBmcmFtZWJ1ZmZlci4ARmFpbGVkIHRvIGF0dGFjaCBkZXB0aCBidWZmZXIgdG8gdGFyZ2V0LgBHUFVfQ3JlYXRlVGFyZ2V0RnJvbVdpbmRvdwBGYWlsZWQgdG8gYWNxdWlyZSB0aGUgd2luZG93IGZyb20gdGhlIGdpdmVuIElELgBGYWlsZWQgdG8gY3JlYXRlIEdMIGNvbnRleHQuAEZhaWxlZCB0byBnZXQgYmFja2VuZCBBUEkgdmVyc2lvbnMuAFJlbmRlcmVyIG1ham9yIHZlcnNpb24gKCVkKSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgYXZhaWxhYmxlIE9wZW5HTCBydW50aW1lIGxpYnJhcnkgdmVyc2lvbiAoJWQpLgBSZW5kZXJlciBkb2VzIG5vdCBzdXBwb3J0IHJlcXVpcmVkIGZlYXR1cmVzLgAjdmVyc2lvbiAxMDAKcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwpwcmVjaXNpb24gbWVkaXVtcCBpbnQ7CmF0dHJpYnV0ZSB2ZWMyIGdwdV9WZXJ0ZXg7CmF0dHJpYnV0ZSB2ZWMyIGdwdV9UZXhDb29yZDsKYXR0cmlidXRlIG1lZGl1bXAgdmVjNCBncHVfQ29sb3I7CnVuaWZvcm0gbWF0NCBncHVfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKdmFyeWluZyBtZWRpdW1wIHZlYzQgY29sb3I7CnZhcnlpbmcgdmVjMiB0ZXhDb29yZDsKdm9pZCBtYWluKHZvaWQpCnsKCWNvbG9yID0gZ3B1X0NvbG9yOwoJdGV4Q29vcmQgPSB2ZWMyKGdwdV9UZXhDb29yZCk7CglnbF9Qb3NpdGlvbiA9IGdwdV9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogdmVjNChncHVfVmVydGV4LCAwLjAsIDEuMCk7Cn0ARmFpbGVkIHRvIGxvYWQgZGVmYXVsdCB0ZXh0dXJlZCB2ZXJ0ZXggc2hhZGVyOiAlcy4AI3ZlcnNpb24gMTAwCiNpZmRlZiBHTF9GUkFHTUVOVF9QUkVDSVNJT05fSElHSApwcmVjaXNpb24gaGlnaHAgZmxvYXQ7CiNlbHNlCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwojZW5kaWYKcHJlY2lzaW9uIG1lZGl1bXAgaW50Owp2YXJ5aW5nIG1lZGl1bXAgdmVjNCBjb2xvcjsKdmFyeWluZyB2ZWMyIHRleENvb3JkOwp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CnZvaWQgbWFpbih2b2lkKQp7CiAgICBnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQodGV4LCB0ZXhDb29yZCkgKiBjb2xvcjsKfQBGYWlsZWQgdG8gbG9hZCBkZWZhdWx0IHRleHR1cmVkIGZyYWdtZW50IHNoYWRlcjogJXMuAEZhaWxlZCB0byBsaW5rIGRlZmF1bHQgdGV4dHVyZWQgc2hhZGVyIHByb2dyYW06ICVzLgBncHVfVGV4Q29vcmQAZ3B1X0NvbG9yAGdwdV9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ACN2ZXJzaW9uIDEwMApwcmVjaXNpb24gaGlnaHAgZmxvYXQ7CnByZWNpc2lvbiBtZWRpdW1wIGludDsKYXR0cmlidXRlIHZlYzIgZ3B1X1ZlcnRleDsKYXR0cmlidXRlIG1lZGl1bXAgdmVjNCBncHVfQ29sb3I7CnVuaWZvcm0gbWF0NCBncHVfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKdmFyeWluZyBtZWRpdW1wIHZlYzQgY29sb3I7CnZvaWQgbWFpbih2b2lkKQp7Cgljb2xvciA9IGdwdV9Db2xvcjsKCWdsX1Bvc2l0aW9uID0gZ3B1X01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXggKiB2ZWM0KGdwdV9WZXJ0ZXgsIDAuMCwgMS4wKTsKfQBGYWlsZWQgdG8gbG9hZCBkZWZhdWx0IHVudGV4dHVyZWQgdmVydGV4IHNoYWRlcjogJXMuACN2ZXJzaW9uIDEwMAojaWZkZWYgR0xfRlJBR01FTlRfUFJFQ0lTSU9OX0hJR0gKcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwojZWxzZQpwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKI2VuZGlmCnByZWNpc2lvbiBtZWRpdW1wIGludDsKdmFyeWluZyBtZWRpdW1wIHZlYzQgY29sb3I7CnZvaWQgbWFpbih2b2lkKQp7CiAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjsKfQBGYWlsZWQgdG8gbG9hZCBkZWZhdWx0IHVudGV4dHVyZWQgZnJhZ21lbnQgc2hhZGVyOiAlcy4ARmFpbGVkIHRvIGxpbmsgZGVmYXVsdCB1bnRleHR1cmVkIHNoYWRlciBwcm9ncmFtOiAlcy4AU2hhZGVycyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgaGFyZHdhcmUuICBEZWZhdWx0IHNoYWRlcnMgYXJlIGRpc2FibGVkLgoAR0xfT0VTX3RleHR1cmVfbnBvdABHTF9JTUdfdGV4dHVyZV9ucG90AEdMX0FQUExFX3RleHR1cmVfMkRfbGltaXRlZF9ucG90AEdMX0FSQl90ZXh0dXJlX25vbl9wb3dlcl9vZl90d28AR0xfRVhUX2JncgBHTF9FWFRfYmdyYQBHTF9FWFRfYWJncgBHTF9BUkJfZnJhZ21lbnRfc2hhZGVyAEdMX0FSQl92ZXJ0ZXhfc2hhZGVyAEdMX0FSQl9nZW9tZXRyeV9zaGFkZXI0ACAAT3BlbkdMIEVTIEdMU0wgRVMgJWQuJWQAZ2V0X0dMU0xfdmVyc2lvbgBGYWlsZWQgdG8gcGFyc2UgR0xTTCBFUyB2ZXJzaW9uIHN0cmluZzogIiVzIgBPcGVuR0wgRVMgJWQuJWQAT3BlbkdMIEVTLUMlKmMgJWQuJWQAZ2V0X0dMX3ZlcnNpb24ARmFpbGVkIHRvIHBhcnNlIE9wZW5HTCBFUyB2ZXJzaW9uIHN0cmluZzogIiVzIgBHUFVfSW5pdABXaW5kb3cgY3JlYXRpb24gZmFpbGVkLgBvcGVuZ2xlczIAQ291bGRuJ3QgbG9hZCBHTEVTMiBmdW5jdGlvbiAlczogJXMKAGdlbmVyaWMAVU5LTk9XTgBHTF9PVVRfT0ZfTUVNT1JZAEdMX0lOVkFMSURfT1BFUkFUSU9OAEdMX0lOVkFMSURfVkFMVUUAR0xfSU5WQUxJRF9FTlVNACVzOiAlcyAoJWQpOiAlcyAlcyAoMHglWCkAQzpcVXNlcnNcVmFkaW1cLmVtc2NyaXB0ZW5fcG9ydHNcc2RsMlxTREwyLXZlcnNpb25fMTNcc3JjXHJlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jAHZvaWQgR0xFUzJfUmVzZXRTdGF0ZShTRExfUmVuZGVyZXIgKikAVmlkZW8gc3Vic3lzdGVtIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZABUaGUgc3BlY2lmaWVkIHdpbmRvdyBpc24ndCBhbiBPcGVuR0wgd2luZG93AFRoZSBzcGVjaWZpZWQgd2luZG93IGhhcyBub3QgYmVlbiBtYWRlIGN1cnJlbnQAZ2xSZWFkUGl4ZWxzKCkAaW50IEdMRVMyX1JlbmRlclJlYWRQaXhlbHMoU0RMX1JlbmRlcmVyICosIGNvbnN0IFNETF9SZWN0ICosIFVpbnQzMiwgdm9pZCAqLCBpbnQpAGRzdABkc3RfcGl0Y2gAVW5rbm93biBGT1VSQ0MgcGl4ZWwgZm9ybWF0AEluZGV4ZWQgcGl4ZWwgZm9ybWF0cyBub3Qgc3VwcG9ydGVkAFNETF9CTElUX0NQVV9GRUFUVVJFUwAldQBCbGl0IGNvbWJpbmF0aW9uIG5vdCBzdXBwb3J0ZWQAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wACBAYICgwOEBIUFhgaHB4gIiQmKCosLjAyNDY4Ojw+QEJERkhKTE5QUlRWWFpcXmBiZGZoamxucHJ0dnh6fH6AgoSGiIqMjpCSlJaYmpyeoKKkpqiqrK6wsrS2uLq8vsDCxMbIyszO0NLU1tja3N7g4uTm6Ors7vDy9Pb4+vz/AAQIDBAUGBwgJCgsMDQ4PEBESExQVVldYWVpbXF1eX2BhYmNkZWZnaGlqq6ytrq+wsbKztLW2t7i5uru8vb6/wAIEBggKTE5QUpSWmJqc3uDi5ScpKy0vcXN1d7m7vb/ABEiM0RVZneImaq7zN3u/wAkSG2Rttr/AFWq/wD//2Zvcm1hdABTRExfU2V0UGl4ZWxGb3JtYXRQYWxldHRlKCkgcGFzc2VkIE5VTEwgZm9ybWF0AFNETF9TZXRQaXhlbEZvcm1hdFBhbGV0dGUoKSBwYXNzZWQgYSBwYWxldHRlIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUgZm9ybWF0AFNETF9GaWxsUmVjdCgpOiBVbnN1cHBvcnRlZCBzdXJmYWNlIGZvcm1hdABTRExfRmlsbFJlY3QoKTogWW91IG11c3QgbG9jayB0aGUgc3VyZmFjZQBBAEIARk9VUkNDIHBpeGVsIGZvcm1hdHMgYXJlIG5vdCBzdXBwb3J0ZWQASW52YWxpZCByZW5kZXJlcgBJbnZhbGlkIHRleHR1cmUAUmVuZGVyZXIgZG9lc24ndCBzdXBwb3J0IHF1ZXJ5aW5nIG91dHB1dCBzaXplAGludCBHTEVTMl9SZW5kZXJDb3B5RXgoU0RMX1JlbmRlcmVyICosIFNETF9UZXh0dXJlICosIGNvbnN0IFNETF9SZWN0ICosIGNvbnN0IFNETF9GUmVjdCAqLCBjb25zdCBkb3VibGUsIGNvbnN0IFNETF9GUG9pbnQgKiwgY29uc3QgU0RMX1JlbmRlcmVyRmxpcCkAVW5zdXBwb3J0ZWQgdGV4dHVyZSBmb3JtYXQAYV9wb3NpdGlvbgBhX3RleENvb3JkAGFfYW5nbGUAYV9jZW50ZXIARmFpbGVkIHRvIGxpbmsgc2hhZGVyIHByb2dyYW0AdV9wcm9qZWN0aW9uAHVfdGV4dHVyZV92AHVfdGV4dHVyZV91AHVfdGV4dHVyZQB1X21vZHVsYXRpb24AdV9jb2xvcgBObyBzaGFkZXIgbWF0Y2hpbmcgdGhlIHJlcXVlc3RlZCBjaGFyYWN0ZXJpc3RpY3Mgd2FzIGZvdW5kAFRoZSBzcGVjaWZpZWQgc2hhZGVyIGNhbm5vdCBiZSBsb2FkZWQgb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0ARmFpbGVkIHRvIGxvYWQgdGhlIHNoYWRlcjogJXMARmFpbGVkIHRvIGxvYWQgdGhlIHNoYWRlcgAgICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyAgICAgdW5pZm9ybSBzYW1wbGVyMkQgdV90ZXh0dXJlOyAgICAgdW5pZm9ybSB2ZWM0IHVfbW9kdWxhdGlvbjsgICAgIHZhcnlpbmcgdmVjMiB2X3RleENvb3JkOyAgICAgICAgIHZvaWQgbWFpbigpICAgICB7ICAgICAgICAgdmVjNCBhYmdyID0gdGV4dHVyZTJEKHVfdGV4dHVyZSwgdl90ZXhDb29yZCk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gYWJncjsgICAgICAgICBnbF9GcmFnQ29sb3IuYSA9IDEuMDsgICAgICAgICBnbF9GcmFnQ29sb3IgKj0gdV9tb2R1bGF0aW9uOyAgICAgfSAAICAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgICAgIHVuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIHZlYzQgYWJnciA9IHRleHR1cmUyRCh1X3RleHR1cmUsIHZfdGV4Q29vcmQpOyAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGFiZ3I7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLnIgPSBhYmdyLmI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLmIgPSBhYmdyLnI7ICAgICAgICAgZ2xfRnJhZ0NvbG9yLmEgPSAxLjA7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHZlYzQgdV9tb2R1bGF0aW9uOyAgICAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7ICAgICAgICAgdm9pZCBtYWluKCkgICAgIHsgICAgICAgICB2ZWM0IGFiZ3IgPSB0ZXh0dXJlMkQodV90ZXh0dXJlLCB2X3RleENvb3JkKTsgICAgICAgICBnbF9GcmFnQ29sb3IgPSBhYmdyOyAgICAgICAgIGdsX0ZyYWdDb2xvci5yID0gYWJnci5iOyAgICAgICAgIGdsX0ZyYWdDb2xvci5iID0gYWJnci5yOyAgICAgICAgIGdsX0ZyYWdDb2xvciAqPSB1X21vZHVsYXRpb247ICAgICB9IAAgICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OyAgICAgdW5pZm9ybSBzYW1wbGVyMkQgdV90ZXh0dXJlOyAgICAgdW5pZm9ybSB2ZWM0IHVfbW9kdWxhdGlvbjsgICAgIHZhcnlpbmcgdmVjMiB2X3RleENvb3JkOyAgICAgICAgIHZvaWQgbWFpbigpICAgICB7ICAgICAgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZTJEKHVfdGV4dHVyZSwgdl90ZXhDb29yZCk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHZlYzQgdV9jb2xvcjsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIGdsX0ZyYWdDb2xvciA9IHVfY29sb3I7ICAgICB9IAAgICAgIHVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb247ICAgICBhdHRyaWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOyAgICAgYXR0cmlidXRlIHZlYzIgYV90ZXhDb29yZDsgICAgIGF0dHJpYnV0ZSBmbG9hdCBhX2FuZ2xlOyAgICAgYXR0cmlidXRlIHZlYzIgYV9jZW50ZXI7ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIGZsb2F0IGFuZ2xlID0gcmFkaWFucyhhX2FuZ2xlKTsgICAgICAgICBmbG9hdCBjID0gY29zKGFuZ2xlKTsgICAgICAgICBmbG9hdCBzID0gc2luKGFuZ2xlKTsgICAgICAgICBtYXQyIHJvdGF0aW9uTWF0cml4ID0gbWF0MihjLCAtcywgcywgYyk7ICAgICAgICAgdmVjMiBwb3NpdGlvbiA9IHJvdGF0aW9uTWF0cml4ICogKGFfcG9zaXRpb24gLSBhX2NlbnRlcikgKyBhX2NlbnRlcjsgICAgICAgICB2X3RleENvb3JkID0gYV90ZXhDb29yZDsgICAgICAgICBnbF9Qb3NpdGlvbiA9IHVfcHJvamVjdGlvbiAqIHZlYzQocG9zaXRpb24sIDAuMCwgMS4wKTsgICAgICAgIGdsX1BvaW50U2l6ZSA9IDEuMDsgICAgIH0gACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gc2FtcGxlcjJEIHVfdGV4dHVyZV92OyAgICAgdW5pZm9ybSB2ZWM0IHVfbW9kdWxhdGlvbjsgICAgIHZhcnlpbmcgdmVjMiB2X3RleENvb3JkOyAgICAgICAgIHZvaWQgbWFpbigpICAgICB7ICAgICAgICAgbWVkaXVtcCB2ZWMzIHl1djsgICAgICAgICBsb3dwIHZlYzMgcmdiOyAgICAgICAgIHl1di54ID0gdGV4dHVyZTJEKHVfdGV4dHVyZSwgICB2X3RleENvb3JkKS5yOyAgICAgICAgIHl1di55ID0gdGV4dHVyZTJEKHVfdGV4dHVyZV91LCB2X3RleENvb3JkKS5yIC0gMC41OyAgICAgICAgIHl1di56ID0gdGV4dHVyZTJEKHVfdGV4dHVyZV92LCB2X3RleENvb3JkKS5yIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIG1lZGl1bXAgdmVjMyB5dXY7ICAgICAgICAgbG93cCB2ZWMzIHJnYjsgICAgICAgICB5dXYueCA9IHRleHR1cmUyRCh1X3RleHR1cmUsICAgdl90ZXhDb29yZCkucjsgICAgICAgICB5dXYueXogPSB0ZXh0dXJlMkQodV90ZXh0dXJlX3UsIHZfdGV4Q29vcmQpLnJhIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gACAgICAgcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7ICAgICB1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmVfdTsgICAgIHVuaWZvcm0gdmVjNCB1X21vZHVsYXRpb247ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgICAgICAgICB2b2lkIG1haW4oKSAgICAgeyAgICAgICAgIG1lZGl1bXAgdmVjMyB5dXY7ICAgICAgICAgbG93cCB2ZWMzIHJnYjsgICAgICAgICB5dXYueCA9IHRleHR1cmUyRCh1X3RleHR1cmUsICAgdl90ZXhDb29yZCkucjsgICAgICAgICB5dXYueXogPSB0ZXh0dXJlMkQodV90ZXh0dXJlX3UsIHZfdGV4Q29vcmQpLmFyIC0gMC41OyAgICAgICAgIHJnYiA9IG1hdDMoIDEsICAgICAgICAxLCAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgIC0wLjM5NDY1LCAyLjAzMjExLCAgICAgICAgICAgICAgICAgICAgIDEuMTM5ODMsIC0wLjU4MDYwLCAwKSAqIHl1djsgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHJnYiwgMSk7ICAgICAgICAgZ2xfRnJhZ0NvbG9yICo9IHVfbW9kdWxhdGlvbjsgICAgIH0gAGludCBHTEVTMl9SZW5kZXJDb3B5KFNETF9SZW5kZXJlciAqLCBTRExfVGV4dHVyZSAqLCBjb25zdCBTRExfUmVjdCAqLCBjb25zdCBTRExfRlJlY3QgKikAaW50IEdMRVMyX1JlbmRlckZpbGxSZWN0cyhTRExfUmVuZGVyZXIgKiwgY29uc3QgU0RMX0ZSZWN0ICosIGludCkAaW50IEdMRVMyX1JlbmRlckRyYXdMaW5lcyhTRExfUmVuZGVyZXIgKiwgY29uc3QgU0RMX0ZQb2ludCAqLCBpbnQpAGludCBHTEVTMl9VcGRhdGVWaWV3cG9ydChTRExfUmVuZGVyZXIgKikAZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRCgpIGZhaWxlZABnbFRleFN1YkltYWdlMkQoKQBpbnQgR0xFUzJfVXBkYXRlVGV4dHVyZVlVVihTRExfUmVuZGVyZXIgKiwgU0RMX1RleHR1cmUgKiwgY29uc3QgU0RMX1JlY3QgKiwgY29uc3QgVWludDggKiwgaW50LCBjb25zdCBVaW50OCAqLCBpbnQsIGNvbnN0IFVpbnQ4ICosIGludCkAaW50IEdMRVMyX1VwZGF0ZVRleHR1cmUoU0RMX1JlbmRlcmVyICosIFNETF9UZXh0dXJlICosIGNvbnN0IFNETF9SZWN0ICosIGNvbnN0IHZvaWQgKiwgaW50KQBUZXh0dXJlIGZvcm1hdCBub3Qgc3VwcG9ydGVkAGludCBHTEVTMl9DcmVhdGVUZXh0dXJlKFNETF9SZW5kZXJlciAqLCBTRExfVGV4dHVyZSAqKQBnbEdlblRleHVyZXMoKQBnbFRleEltYWdlMkQoKQBObyBPcGVuR0wgY29udGV4dCBoYXMgYmVlbiBtYWRlIGN1cnJlbnQAU2V0dGluZyB0aGUgc3dhcCBpbnRlcnZhbCBpcyBub3Qgc3VwcG9ydGVkACVzACVzOiAlcwoAVkVSQk9TRQBERUJVRwBJTkZPAFdBUk4ARVJST1IAQ1JJVElDQUwATm8gR0wgZHJpdmVyIGhhcyBiZWVuIGxvYWRlZABObyBkeW5hbWljIEdMIHN1cHBvcnQgaW4gdmlkZW8gZHJpdmVyAGlkAHZvaWQgR0xFUzJfRGVzdHJveVJlbmRlcmVyKFNETF9SZW5kZXJlciAqKQBPdXQgb2YgbWVtb3J5AEVycm9yIHJlYWRpbmcgZnJvbSBkYXRhc3RyZWFtAEVycm9yIHdyaXRpbmcgdG8gZGF0YXN0cmVhbQBFcnJvciBzZWVraW5nIGluIGRhdGFzdHJlYW0AVGhhdCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZABObyBPcGVuR0wgc3VwcG9ydCBpbiB2aWRlbyBkcml2ZXIARVJST1I6IE51bVBvaW50cyA9ICVpCgBUaGUgZXZlbnQgc3lzdGVtIGhhcyBiZWVuIHNodXQgZG93bgBFdmVudCBxdWV1ZSBpcyBmdWxsICglZCBldmVudHMpAFZpZGVvIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgY2hhbmdpbmcgZGlzcGxheSBtb2RlAE5vIHZpZGVvIG1vZGUgbGFyZ2UgZW5vdWdoIGZvciAlZHglZABNaXNzaW5nIGRlc2lyZWQgbW9kZSBvciBjbG9zZXN0IG1vZGUgcGFyYW1ldGVyAG1vZGUAQ291bGRuJ3QgZmluZCBkaXNwbGF5IG1vZGUgbWF0Y2gAQ291bGRuJ3QgZmluZCBhbnkgZGlzcGxheXMAZGlzcGxheUluZGV4IG11c3QgYmUgaW4gdGhlIHJhbmdlIDAgLSAlZABVbmtub3duIE9wZW5HTCBjb250ZXh0IHByb2ZpbGUgJWQAV2luZG93IHN1cmZhY2UgaXMgaW52YWxpZCwgcGxlYXNlIGNhbGwgU0RMX0dldFdpbmRvd1N1cmZhY2UoKSB0byBnZXQgYSBuZXcgc3VyZmFjZQBUcmllZCB0byByZWFkIG91dHNpZGUgb2Ygc3VyZmFjZSBib3VuZHMAU0RMX1JFTkRFUl9TQ0FMRV9RVUFMSVRZAG5lYXJlc3QAU0RMX1VwcGVyQmxpdDogcGFzc2VkIGEgTlVMTCBzdXJmYWNlAFN1cmZhY2VzIG11c3Qgbm90IGJlIGxvY2tlZCBkdXJpbmcgYmxpdABFbXB0eSBkZXN0aW5hdGlvbiBwYWxldHRlAFVua25vd24gcGl4ZWwgZm9ybWF0AGtleQBwYWxldHRlAG5jb2xvcnMAU0RMX1VwcGVyQmxpdFNjYWxlZDogcGFzc2VkIGEgTlVMTCBzdXJmYWNlAE9ubHkgd29ya3Mgd2l0aCBzYW1lIGZvcm1hdCBzdXJmYWNlcwBJbnZhbGlkIHNvdXJjZSBibGl0IHJlY3RhbmdsZQBJbnZhbGlkIGRlc3RpbmF0aW9uIGJsaXQgcmVjdGFuZ2xlAHN1cmZhY2UAU0RMX0JsZW5kRmlsbFJlY3RzKCk6IFVuc3VwcG9ydGVkIHN1cmZhY2UgZm9ybWF0AFNETF9CbGVuZExpbmVzKCk6IFBhc3NlZCBOVUxMIGRlc3RpbmF0aW9uIHN1cmZhY2UAU0RMX0JsZW5kTGluZXMoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAU0RMX0JsZW5kUG9pbnQoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAcmVjdABYMQBZMQBYMgBZMgBTRExfRHJhd0xpbmVzKCk6IFBhc3NlZCBOVUxMIGRlc3RpbmF0aW9uIHN1cmZhY2UAU0RMX0RyYXdMaW5lcygpOiBVbnN1cHBvcnRlZCBzdXJmYWNlIGZvcm1hdABQYXNzZWQgTlVMTCBkZXN0aW5hdGlvbiBzdXJmYWNlAFNETF9EcmF3UG9pbnQoKTogVW5zdXBwb3J0ZWQgc3VyZmFjZSBmb3JtYXQAU0RMX0JsZW5kUG9pbnRzKCk6IFVuc3VwcG9ydGVkIHN1cmZhY2UgZm9ybWF0AFNETF9EcmF3UG9pbnRzKCk6IFVuc3VwcG9ydGVkIHN1cmZhY2UgZm9ybWF0AFVua25vd24gdGV4dHVyZSBmb3JtYXQAU29mdHdhcmUgcmVuZGVyZXIgZG9lc24ndCBoYXZlIGFuIG91dHB1dCBzdXJmYWNlAFNETCBlbXNjcmlwdGVuIHZpZGVvIGRyaXZlcgBTRExfVklERU9fTUlOSU1JWkVfT05fRk9DVVNfTE9TUwAwAEVHTCBub3QgaW5pdGlhbGl6ZWQAVW5hYmxlIHRvIHNldCB0aGUgRUdMIHN3YXAgaW50ZXJ2YWwAT3BlbkdMIG5vdCBpbml0aWFsaXplZABVbmFibGUgdG8gbWFrZSBFR0wgY29udGV4dCBjdXJyZW50AENvdWxkIG5vdCBjcmVhdGUgRUdMIGNvbnRleHQgKGNvbnRleHQgYXR0cmlidXRlcyBhcmUgbm90IHN1cHBvcnRlZCkAQ291bGQgbm90IGNyZWF0ZSBFR0wgY29udGV4dABDb3VsZCBub3QgbWFrZSBFR0wgY29udGV4dCBjdXJyZW50AEZhaWxlZCBsb2FkaW5nICVzOiAlcwBDb3VsZCBub3QgZ2V0IEVHTCBkaXNwbGF5AENvdWxkIG5vdCBpbml0aWFsaXplIEVHTABDb3VsZG4ndCBmaW5kIGZyYW1lYnVmZmVyIHN1cmZhY2UgZm9yIHdpbmRvdwB7IHZhciB3ID0gJDA7IHZhciBoID0gJDE7IHZhciBwaXhlbHMgPSAkMjsgaWYgKCFNb2R1bGVbJ1NETDInXSkgTW9kdWxlWydTREwyJ10gPSB7fTsgdmFyIFNETDIgPSBNb2R1bGVbJ1NETDInXTsgaWYgKFNETDIuY3R4Q2FudmFzICE9PSBNb2R1bGVbJ2NhbnZhcyddKSB7IFNETDIuY3R4ID0gTW9kdWxlWydjcmVhdGVDb250ZXh0J10oTW9kdWxlWydjYW52YXMnXSwgZmFsc2UsIHRydWUpOyBTREwyLmN0eENhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107IH0gaWYgKFNETDIudyAhPT0gdyB8fCBTREwyLmggIT09IGggfHwgU0RMMi5pbWFnZUN0eCAhPT0gU0RMMi5jdHgpIHsgU0RMMi5pbWFnZSA9IFNETDIuY3R4LmNyZWF0ZUltYWdlRGF0YSh3LCBoKTsgU0RMMi53ID0gdzsgU0RMMi5oID0gaDsgU0RMMi5pbWFnZUN0eCA9IFNETDIuY3R4OyB9IHZhciBkYXRhID0gU0RMMi5pbWFnZS5kYXRhOyB2YXIgc3JjID0gcGl4ZWxzID4+IDI7IHZhciBkc3QgPSAwOyB2YXIgbnVtOyBpZiAodHlwZW9mIENhbnZhc1BpeGVsQXJyYXkgIT09ICd1bmRlZmluZWQnICYmIGRhdGEgaW5zdGFuY2VvZiBDYW52YXNQaXhlbEFycmF5KSB7IG51bSA9IGRhdGEubGVuZ3RoOyB3aGlsZSAoZHN0IDwgbnVtKSB7IHZhciB2YWwgPSBIRUFQMzJbc3JjXTsgZGF0YVtkc3QgXSA9IHZhbCAmIDB4ZmY7IGRhdGFbZHN0KzFdID0gKHZhbCA+PiA4KSAmIDB4ZmY7IGRhdGFbZHN0KzJdID0gKHZhbCA+PiAxNikgJiAweGZmOyBkYXRhW2RzdCszXSA9IDB4ZmY7IHNyYysrOyBkc3QgKz0gNDsgfSB9IGVsc2UgeyBpZiAoU0RMMi5kYXRhMzJEYXRhICE9PSBkYXRhKSB7IFNETDIuZGF0YTMyID0gbmV3IEludDMyQXJyYXkoZGF0YS5idWZmZXIpOyBTREwyLmRhdGE4ID0gbmV3IFVpbnQ4QXJyYXkoZGF0YS5idWZmZXIpOyB9IHZhciBkYXRhMzIgPSBTREwyLmRhdGEzMjsgbnVtID0gZGF0YTMyLmxlbmd0aDsgZGF0YTMyLnNldChIRUFQMzIuc3ViYXJyYXkoc3JjLCBzcmMgKyBudW0pKTsgdmFyIGRhdGE4ID0gU0RMMi5kYXRhODsgdmFyIGkgPSAzOyB2YXIgaiA9IGkgKyA0Km51bTsgaWYgKG51bSAlIDggPT0gMCkgeyB3aGlsZSAoaSA8IGopIHsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgZGF0YThbaV0gPSAweGZmOyBpID0gaSArIDQgfCAwOyBkYXRhOFtpXSA9IDB4ZmY7IGkgPSBpICsgNCB8IDA7IH0gfSBlbHNlIHsgd2hpbGUgKGkgPCBqKSB7IGRhdGE4W2ldID0gMHhmZjsgaSA9IGkgKyA0IHwgMDsgfSB9IH0gU0RMMi5jdHgucHV0SW1hZ2VEYXRhKFNETDIuaW1hZ2UsIDAsIDApOyByZXR1cm4gMDsgfQAjY2FudmFzACNkb2N1bWVudAAjd2luZG93AFNETF9FTVNDUklQVEVOX0tFWUJPQVJEX0VMRU1FTlQAeyBpZiAodHlwZW9mIE1vZHVsZVsnc2V0V2luZG93VGl0bGUnXSAhPT0gJ3VuZGVmaW5lZCcpIHsgTW9kdWxlWydzZXRXaW5kb3dUaXRsZSddKE1vZHVsZVsnUG9pbnRlcl9zdHJpbmdpZnknXSgkMCkpOyB9IHJldHVybiAwOyB9AENvdWxkIG5vdCBjcmVhdGUgR0xFUyB3aW5kb3cgc3VyZmFjZQBVbmtub3duIHRvdWNoIGRldmljZQBFR0wgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc3VwcG9ydCBzUkdCIHN5c3RlbSBmcmFtZWJ1ZmZlcnMAQ291bGRuJ3QgZmluZCBtYXRjaGluZyBFR0wgY29uZmlnAHsgcmV0dXJuIHNjcmVlbi53aWR0aDsgfQB7IHJldHVybiBzY3JlZW4uaGVpZ2h0OyB9AGRlZmF1bHQAcG9pbnRlcgBub3QtYWxsb3dlZABucy1yZXNpemUAZXctcmVzaXplAG5lc3ctcmVzaXplAG53c2UtcmVzaXplAHByb2dyZXNzAGNyb3NzaGFpcgB3YWl0AHRleHQAeyBpZiAoTW9kdWxlWydjYW52YXMnXSkgeyBNb2R1bGVbJ2NhbnZhcyddLnN0eWxlWydjdXJzb3InXSA9IE1vZHVsZVsnUG9pbnRlcl9zdHJpbmdpZnknXSgkMCk7IH0gcmV0dXJuIDA7IH0AaWYgKE1vZHVsZVsnY2FudmFzJ10pIHsgTW9kdWxlWydjYW52YXMnXS5zdHlsZVsnY3Vyc29yJ10gPSAnbm9uZSc7IH0AeyB2YXIgdyA9ICQwOyB2YXIgaCA9ICQxOyB2YXIgcGl4ZWxzID0gJDI7IHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsgY2FudmFzLndpZHRoID0gdzsgY2FudmFzLmhlaWdodCA9IGg7IHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsgdmFyIGltYWdlID0gY3R4LmNyZWF0ZUltYWdlRGF0YSh3LCBoKTsgdmFyIGRhdGEgPSBpbWFnZS5kYXRhOyB2YXIgc3JjID0gcGl4ZWxzID4+IDI7IHZhciBkc3QgPSAwOyB2YXIgbnVtOyBpZiAodHlwZW9mIENhbnZhc1BpeGVsQXJyYXkgIT09ICd1bmRlZmluZWQnICYmIGRhdGEgaW5zdGFuY2VvZiBDYW52YXNQaXhlbEFycmF5KSB7IG51bSA9IGRhdGEubGVuZ3RoOyB3aGlsZSAoZHN0IDwgbnVtKSB7IHZhciB2YWwgPSBIRUFQMzJbc3JjXTsgZGF0YVtkc3QgXSA9IHZhbCAmIDB4ZmY7IGRhdGFbZHN0KzFdID0gKHZhbCA+PiA4KSAmIDB4ZmY7IGRhdGFbZHN0KzJdID0gKHZhbCA+PiAxNikgJiAweGZmOyBkYXRhW2RzdCszXSA9ICh2YWwgPj4gMjQpICYgMHhmZjsgc3JjKys7IGRzdCArPSA0OyB9IH0gZWxzZSB7IHZhciBkYXRhMzIgPSBuZXcgSW50MzJBcnJheShkYXRhLmJ1ZmZlcik7IG51bSA9IGRhdGEzMi5sZW5ndGg7IGRhdGEzMi5zZXQoSEVBUDMyLnN1YmFycmF5KHNyYywgc3JjICsgbnVtKSk7IH0gY3R4LnB1dEltYWdlRGF0YShpbWFnZSwgMCwgMCk7IHZhciB1cmwgPSAidXJsKCIgKyBjYW52YXMudG9EYXRhVVJMKCkgKyAiKSwgYXV0byI7IHZhciB1cmxCdWYgPSBfbWFsbG9jKHVybC5sZW5ndGggKyAxKTsgc3RyaW5nVG9VVEY4KHVybCwgdXJsQnVmLCB1cmwubGVuZ3RoICsgMSk7IHJldHVybiB1cmxCdWY7IH0AMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaU0RMIGVtc2NyaXB0ZW4gYXVkaW8gZHJpdmVyAHsgaWYgKHR5cGVvZihBdWRpb0NvbnRleHQpICE9PSAndW5kZWZpbmVkJykgeyByZXR1cm4gMTsgfSBlbHNlIGlmICh0eXBlb2Yod2Via2l0QXVkaW9Db250ZXh0KSAhPT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIDE7IH0gcmV0dXJuIDA7IH0ATm8gYXVkaW8gY29udGV4dCBhdmFpbGFibGUAeyBpZiAoKHR5cGVvZihuYXZpZ2F0b3IubWVkaWFEZXZpY2VzKSAhPT0gJ3VuZGVmaW5lZCcpICYmICh0eXBlb2YobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEpICE9PSAndW5kZWZpbmVkJykpIHsgcmV0dXJuIDE7IH0gZWxzZSBpZiAodHlwZW9mKG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEpICE9PSAndW5kZWZpbmVkJykgeyByZXR1cm4gMTsgfSByZXR1cm4gMDsgfQB7IGlmICgkMCkgeyBpZiAoU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7IGNsZWFyVGltZW91dChTREwyLmNhcHR1cmUuc2lsZW5jZVRpbWVyKTsgfSBpZiAoU0RMMi5jYXB0dXJlLnN0cmVhbSAhPT0gdW5kZWZpbmVkKSB7IHZhciB0cmFja3MgPSBTREwyLmNhcHR1cmUuc3RyZWFtLmdldEF1ZGlvVHJhY2tzKCk7IGZvciAodmFyIGkgPSAwOyBpIDwgdHJhY2tzLmxlbmd0aDsgaSsrKSB7IFNETDIuY2FwdHVyZS5zdHJlYW0ucmVtb3ZlVHJhY2sodHJhY2tzW2ldKTsgfSBTREwyLmNhcHR1cmUuc3RyZWFtID0gdW5kZWZpbmVkOyB9IGlmIChTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZSAhPT0gdW5kZWZpbmVkKSB7IFNETDIuY2FwdHVyZS5zY3JpcHRQcm9jZXNzb3JOb2RlLm9uYXVkaW9wcm9jZXNzID0gZnVuY3Rpb24oYXVkaW9Qcm9jZXNzaW5nRXZlbnQpIHt9OyBTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZS5kaXNjb25uZWN0KCk7IFNETDIuY2FwdHVyZS5zY3JpcHRQcm9jZXNzb3JOb2RlID0gdW5kZWZpbmVkOyB9IGlmIChTREwyLmNhcHR1cmUubWVkaWFTdHJlYW1Ob2RlICE9PSB1bmRlZmluZWQpIHsgU0RMMi5jYXB0dXJlLm1lZGlhU3RyZWFtTm9kZS5kaXNjb25uZWN0KCk7IFNETDIuY2FwdHVyZS5tZWRpYVN0cmVhbU5vZGUgPSB1bmRlZmluZWQ7IH0gaWYgKFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyICE9PSB1bmRlZmluZWQpIHsgU0RMMi5jYXB0dXJlLnNpbGVuY2VCdWZmZXIgPSB1bmRlZmluZWQgfSBTREwyLmNhcHR1cmUgPSB1bmRlZmluZWQ7IH0gZWxzZSB7IGlmIChTREwyLmF1ZGlvLnNjcmlwdFByb2Nlc3Nvck5vZGUgIT0gdW5kZWZpbmVkKSB7IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZS5kaXNjb25uZWN0KCk7IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZSA9IHVuZGVmaW5lZDsgfSBTREwyLmF1ZGlvID0gdW5kZWZpbmVkOyB9IGlmICgoU0RMMi5hdWRpb0NvbnRleHQgIT09IHVuZGVmaW5lZCkgJiYgKFNETDIuYXVkaW8gPT09IHVuZGVmaW5lZCkgJiYgKFNETDIuY2FwdHVyZSA9PT0gdW5kZWZpbmVkKSkgeyBTREwyLmF1ZGlvQ29udGV4dC5jbG9zZSgpOyBTREwyLmF1ZGlvQ29udGV4dCA9IHVuZGVmaW5lZDsgfSB9AHsgaWYodHlwZW9mKFNETDIpID09PSAndW5kZWZpbmVkJykgeyBTREwyID0ge307IH0gaWYgKCEkMCkgeyBTREwyLmF1ZGlvID0ge307IH0gZWxzZSB7IFNETDIuY2FwdHVyZSA9IHt9OyB9IGlmICghU0RMMi5hdWRpb0NvbnRleHQpIHsgaWYgKHR5cGVvZihBdWRpb0NvbnRleHQpICE9PSAndW5kZWZpbmVkJykgeyBTREwyLmF1ZGlvQ29udGV4dCA9IG5ldyBBdWRpb0NvbnRleHQoKTsgfSBlbHNlIGlmICh0eXBlb2Yod2Via2l0QXVkaW9Db250ZXh0KSAhPT0gJ3VuZGVmaW5lZCcpIHsgU0RMMi5hdWRpb0NvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7IH0gfSByZXR1cm4gU0RMMi5hdWRpb0NvbnRleHQgPT09IHVuZGVmaW5lZCA/IC0xIDogMDsgfQBXZWIgQXVkaW8gQVBJIGlzIG5vdCBhdmFpbGFibGUhAE5vIGNvbXBhdGlibGUgYXVkaW8gZm9ybWF0IQB7IHJldHVybiBTREwyLmF1ZGlvQ29udGV4dC5zYW1wbGVSYXRlOyB9AHsgdmFyIGhhdmVfbWljcm9waG9uZSA9IGZ1bmN0aW9uKHN0cmVhbSkgeyBpZiAoU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7IGNsZWFyVGltZW91dChTREwyLmNhcHR1cmUuc2lsZW5jZVRpbWVyKTsgU0RMMi5jYXB0dXJlLnNpbGVuY2VUaW1lciA9IHVuZGVmaW5lZDsgfSBTREwyLmNhcHR1cmUubWVkaWFTdHJlYW1Ob2RlID0gU0RMMi5hdWRpb0NvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Uoc3RyZWFtKTsgU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUgPSBTREwyLmF1ZGlvQ29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoJDEsICQwLCAxKTsgU0RMMi5jYXB0dXJlLnNjcmlwdFByb2Nlc3Nvck5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihhdWRpb1Byb2Nlc3NpbmdFdmVudCkgeyBpZiAoKFNETDIgPT09IHVuZGVmaW5lZCkgfHwgKFNETDIuY2FwdHVyZSA9PT0gdW5kZWZpbmVkKSkgeyByZXR1cm47IH0gYXVkaW9Qcm9jZXNzaW5nRXZlbnQub3V0cHV0QnVmZmVyLmdldENoYW5uZWxEYXRhKDApLmZpbGwoMC4wKTsgU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyID0gYXVkaW9Qcm9jZXNzaW5nRXZlbnQuaW5wdXRCdWZmZXI7IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuY2FwdHVyZS5tZWRpYVN0cmVhbU5vZGUuY29ubmVjdChTREwyLmNhcHR1cmUuc2NyaXB0UHJvY2Vzc29yTm9kZSk7IFNETDIuY2FwdHVyZS5zY3JpcHRQcm9jZXNzb3JOb2RlLmNvbm5lY3QoU0RMMi5hdWRpb0NvbnRleHQuZGVzdGluYXRpb24pOyBTREwyLmNhcHR1cmUuc3RyZWFtID0gc3RyZWFtOyB9OyB2YXIgbm9fbWljcm9waG9uZSA9IGZ1bmN0aW9uKGVycm9yKSB7IH07IFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyID0gU0RMMi5hdWRpb0NvbnRleHQuY3JlYXRlQnVmZmVyKCQwLCAkMSwgU0RMMi5hdWRpb0NvbnRleHQuc2FtcGxlUmF0ZSk7IFNETDIuY2FwdHVyZS5zaWxlbmNlQnVmZmVyLmdldENoYW5uZWxEYXRhKDApLmZpbGwoMC4wKTsgdmFyIHNpbGVuY2VfY2FsbGJhY2sgPSBmdW5jdGlvbigpIHsgU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyID0gU0RMMi5jYXB0dXJlLnNpbGVuY2VCdWZmZXI7IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuY2FwdHVyZS5zaWxlbmNlVGltZXIgPSBzZXRUaW1lb3V0KHNpbGVuY2VfY2FsbGJhY2ssICgkMSAvIFNETDIuYXVkaW9Db250ZXh0LnNhbXBsZVJhdGUpICogMTAwMCk7IGlmICgobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyAhPT0gdW5kZWZpbmVkKSAmJiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgIT09IHVuZGVmaW5lZCkpIHsgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSwgdmlkZW86IGZhbHNlIH0pLnRoZW4oaGF2ZV9taWNyb3Bob25lKS5jYXRjaChub19taWNyb3Bob25lKTsgfSBlbHNlIGlmIChuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhICE9PSB1bmRlZmluZWQpIHsgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlLCB2aWRlbzogZmFsc2UgfSwgaGF2ZV9taWNyb3Bob25lLCBub19taWNyb3Bob25lKTsgfSB9AHsgU0RMMi5hdWRpby5zY3JpcHRQcm9jZXNzb3JOb2RlID0gU0RMMi5hdWRpb0NvbnRleHRbJ2NyZWF0ZVNjcmlwdFByb2Nlc3NvciddKCQxLCAwLCAkMCk7IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZVsnb25hdWRpb3Byb2Nlc3MnXSA9IGZ1bmN0aW9uIChlKSB7IGlmICgoU0RMMiA9PT0gdW5kZWZpbmVkKSB8fCAoU0RMMi5hdWRpbyA9PT0gdW5kZWZpbmVkKSkgeyByZXR1cm47IH0gU0RMMi5hdWRpby5jdXJyZW50T3V0cHV0QnVmZmVyID0gZVsnb3V0cHV0QnVmZmVyJ107IFJ1bnRpbWUuZHluQ2FsbCgndmknLCAkMiwgWyQzXSk7IH07IFNETDIuYXVkaW8uc2NyaXB0UHJvY2Vzc29yTm9kZVsnY29ubmVjdCddKFNETDIuYXVkaW9Db250ZXh0WydkZXN0aW5hdGlvbiddKTsgfQB7IHZhciBudW1DaGFubmVscyA9IFNETDIuYXVkaW8uY3VycmVudE91dHB1dEJ1ZmZlclsnbnVtYmVyT2ZDaGFubmVscyddOyBmb3IgKHZhciBjID0gMDsgYyA8IG51bUNoYW5uZWxzOyArK2MpIHsgdmFyIGNoYW5uZWxEYXRhID0gU0RMMi5hdWRpby5jdXJyZW50T3V0cHV0QnVmZmVyWydnZXRDaGFubmVsRGF0YSddKGMpOyBpZiAoY2hhbm5lbERhdGEubGVuZ3RoICE9ICQxKSB7IHRocm93ICdXZWIgQXVkaW8gb3V0cHV0IGJ1ZmZlciBsZW5ndGggbWlzbWF0Y2ghIERlc3RpbmF0aW9uIHNpemU6ICcgKyBjaGFubmVsRGF0YS5sZW5ndGggKyAnIHNhbXBsZXMgdnMgZXhwZWN0ZWQgJyArICQxICsgJyBzYW1wbGVzISc7IH0gZm9yICh2YXIgaiA9IDA7IGogPCAkMTsgKytqKSB7IGNoYW5uZWxEYXRhW2pdID0gSEVBUEYzMlskMCArICgoaipudW1DaGFubmVscyArIGMpIDw8IDIpID4+IDJdOyB9IH0gfQBObyBidWZmZXIgYWxsb2NhdGVkIGZvciBjb252ZXJzaW9uAHsgdmFyIG51bUNoYW5uZWxzID0gU0RMMi5jYXB0dXJlLmN1cnJlbnRDYXB0dXJlQnVmZmVyLm51bWJlck9mQ2hhbm5lbHM7IGlmIChudW1DaGFubmVscyA9PSAxKSB7IHZhciBjaGFubmVsRGF0YSA9IFNETDIuY2FwdHVyZS5jdXJyZW50Q2FwdHVyZUJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsgaWYgKGNoYW5uZWxEYXRhLmxlbmd0aCAhPSAkMSkgeyB0aHJvdyAnV2ViIEF1ZGlvIGNhcHR1cmUgYnVmZmVyIGxlbmd0aCBtaXNtYXRjaCEgRGVzdGluYXRpb24gc2l6ZTogJyArIGNoYW5uZWxEYXRhLmxlbmd0aCArICcgc2FtcGxlcyB2cyBleHBlY3RlZCAnICsgJDEgKyAnIHNhbXBsZXMhJzsgfSBmb3IgKHZhciBqID0gMDsgaiA8ICQxOyArK2opIHsgc2V0VmFsdWUoJDAgKyAoaiAqIDQpLCBjaGFubmVsRGF0YVtqXSwgJ2Zsb2F0Jyk7IH0gfSBlbHNlIHsgZm9yICh2YXIgYyA9IDA7IGMgPCBudW1DaGFubmVsczsgKytjKSB7IHZhciBjaGFubmVsRGF0YSA9IFNETDIuY2FwdHVyZS5jdXJyZW50Q2FwdHVyZUJ1ZmZlci5nZXRDaGFubmVsRGF0YShjKTsgaWYgKGNoYW5uZWxEYXRhLmxlbmd0aCAhPSAkMSkgeyB0aHJvdyAnV2ViIEF1ZGlvIGNhcHR1cmUgYnVmZmVyIGxlbmd0aCBtaXNtYXRjaCEgRGVzdGluYXRpb24gc2l6ZTogJyArIGNoYW5uZWxEYXRhLmxlbmd0aCArICcgc2FtcGxlcyB2cyBleHBlY3RlZCAnICsgJDEgKyAnIHNhbXBsZXMhJzsgfSBmb3IgKHZhciBqID0gMDsgaiA8ICQxOyArK2opIHsgc2V0VmFsdWUoJDAgKyAoKChqICogbnVtQ2hhbm5lbHMpICsgYykgKiA0KSwgY2hhbm5lbERhdGFbal0sICdmbG9hdCcpOyB9IH0gfSB9AFNETCBkdW1teSB2aWRlbyBkcml2ZXIAX1NETF9EdW1teVN1cmZhY2UAbmFtZQBDb3VsZG4ndCBmaW5kIGR1bW15IHN1cmZhY2UgZm9yIHdpbmRvdwBTRExfVklERU9fRFVNTVlfU0FWRV9GUkFNRVMAU0RMX3dpbmRvdyVkLSU4LjhkLmJtcAAlZCBicHAgQk1QIGZpbGVzIG5vdCBzdXBwb3J0ZWQAQ291bGRuJ3QgY29udmVydCBpbWFnZSB0byAlZCBicHAAU0RMX0JNUF9TQVZFX0xFR0FDWV9GT1JNQVQAU0RMX1JXRnJvbUZpbGUoKTogTm8gZmlsZSBvciBubyBtb2RlIHNwZWNpZmllZABDb3VsZG4ndCBvcGVuICVzAGRpc2sAZGlyZWN0LXRvLWRpc2sgYXVkaW8Ac2RsYXVkaW8taW4ucmF3AHNkbGF1ZGlvLnJhdwBTRExfRElTS0FVRElPRklMRUlOAFNETF9ESVNLQVVESU9GSUxFAFNETF9ESVNLQVVESU9ERUxBWQByYgB3YgBSZWFkaW5nIGZyb20AV3JpdGluZyB0bwBXQVJOSU5HOiBZb3UgYXJlIHVzaW5nIHRoZSBTREwgZGlzayBpL28gYXVkaW8gZHJpdmVyIQogJXMgZmlsZSBbJXNdLgoAZHVtbXkAU0RMIGR1bW15IGF1ZGlvIGRyaXZlcgBTREwgbm90IGJ1aWx0IHdpdGggaGFwdGljIChmb3JjZSBmZWVkYmFjaykgc3VwcG9ydABlbXNjcmlwdGVuLFN0YW5kYXJkIEdhbWVwYWQsYTpiMCxiOmIxLGJhY2s6YjgsZHBkb3duOmIxMyxkcGxlZnQ6YjE0LGRwcmlnaHQ6YjE1LGRwdXA6YjEyLGd1aWRlOmIxNixsZWZ0c2hvdWxkZXI6YjQsbGVmdHN0aWNrOmIxMCxsZWZ0dHJpZ2dlcjpiNixsZWZ0eDphMCxsZWZ0eTphMSxyaWdodHNob3VsZGVyOmI1LHJpZ2h0c3RpY2s6YjExLHJpZ2h0dHJpZ2dlcjpiNyxyaWdodHg6YTIscmlnaHR5OmEzLHN0YXJ0OmI5LHg6YjIseTpiMywAU0RMX0dBTUVDT05UUk9MTEVSQ09ORklHAFhib3gAWC1Cb3gAVGhlcmUgYXJlICVkIGpveXN0aWNrcyBhdmFpbGFibGUAU0RMX0dhbWVDb250cm9sbGVyRXZlbnRXYXRjaGVyOiBBeGlzIGluZGV4ICVkIHRvbyBsYXJnZSwgaWdub3JpbmcgbW90aW9uAFNETF9HYW1lQ29udHJvbGxlckV2ZW50V2F0Y2hlcjogQnV0dG9uIGluZGV4ICVkIHRvbyBsYXJnZSwgaWdub3JpbmcgdXBkYXRlAG1hcHBpbmdTdHJpbmcAQ291bGRuJ3QgcGFyc2UgR1VJRCBmcm9tICVzAHhpbnB1dABlbXNjcmlwdGVuAENvdWxkbid0IHBhcnNlIG5hbWUgZnJvbSAlcwBDb3VsZG4ndCBwYXJzZSAlcwBCdXR0b24gbmFtZSB0b28gbGFyZ2U6ICVzAEpveXN0aWNrIGJ1dHRvbiBuYW1lIHRvbyBsYXJnZTogJXMAQXhpcyBpbmRleCB0b28gbGFyZ2U6ICVkAEJ1dHRvbiBpbmRleCB0b28gbGFyZ2U6ICVkAEhhdCBpbmRleCB0b28gbGFyZ2U6ICVkAGxlZnR4AGxlZnR5AHJpZ2h0eAByaWdodHkAbGVmdHRyaWdnZXIAcmlnaHR0cmlnZ2VyAGEAYgB4AHkAYmFjawBndWlkZQBzdGFydABsZWZ0c3RpY2sAcmlnaHRzdGljawBsZWZ0c2hvdWxkZXIAcmlnaHRzaG91bGRlcgBkcHVwAGRwZG93bgBkcGxlZnQAZHByaWdodABTRExfSk9ZU1RJQ0tfQUxMT1dfQkFDS0dST1VORF9FVkVOVFMAQ291bGQgbm90IHNldCBnYW1lcGFkIGRpc2Nvbm5lY3QgY2FsbGJhY2sAQ291bGQgbm90IHNldCBnYW1lcGFkIGNvbm5lY3QgY2FsbGJhY2sAR2FtZXBhZHMgbm90IHN1cHBvcnRlZABTRExfQVVESU9EUklWRVIAQXVkaW8gdGFyZ2V0ICclcycgbm90IGF2YWlsYWJsZQBObyBhdmFpbGFibGUgYXVkaW8gZGV2aWNlAFN5c3RlbSBhdWRpbyBvdXRwdXQgZGV2aWNlAFN5c3RlbSBhdWRpbyBjYXB0dXJlIGRldmljZQBTREwgbm90IGJ1aWx0IHdpdGggdGhyZWFkIHN1cHBvcnQAU0RMX1ZJREVPRFJJVkVSACVzIG5vdCBhdmFpbGFibGUATm8gYXZhaWxhYmxlIHZpZGVvIGRldmljZQBUaGUgdmlkZW8gZHJpdmVyIGRpZCBub3QgYWRkIGFueSBkaXNwbGF5cwBzb2Z0d2FyZQBTRExfRlJBTUVCVUZGRVJfQUNDRUxFUkFUSU9OAGZhbHNlAFNETF9WSURFT19BTExPV19TQ1JFRU5TQVZFUgBfU0RMX1dpbmRvd1RleHR1cmVEYXRhAF9TRExfV2luZG93UmVuZGVyRGF0YQBUZXh0dXJlIHdhcyBub3QgY3JlYXRlZCB3aXRoIHRoaXMgcmVuZGVyZXIAVGV4dHVyZSBub3QgY3JlYXRlZCB3aXRoIFNETF9URVhUVVJFQUNDRVNTX1RBUkdFVABObyB3aW5kb3cgdGV4dHVyZSBkYXRhAHBpeGVscwBwaXRjaABJbnZhbGlkIHRhcmdldCBwaXhlbCBmb3JtYXQAVW5zdXBwb3J0ZWQgWVVWIGRlc3RpbmF0aW9uIGZvcm1hdABVbnN1cHBvcnRlZCBZVVYgZm9ybWF0IGluIGNvcHkAU0RMX0xvY2tUZXh0dXJlKCk6IHRleHR1cmUgbXVzdCBiZSBzdHJlYW1pbmcAWVYxMiBhbmQgSVlVViB0ZXh0dXJlcyBvbmx5IHN1cHBvcnQgZnVsbCBzdXJmYWNlIGxvY2tzAHdpZHRoAGhlaWdodAByZWN0cwBudW1yZWN0cwB0cnVlAE5vIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHJlbmRlcmVycyBhdmFpbGFibGUASW52YWxpZCB0ZXh0dXJlIGZvcm1hdABQYWxldHRpemVkIHRleHR1cmVzIGFyZSBub3Qgc3VwcG9ydGVkAFRleHR1cmUgZGltZW5zaW9ucyBjYW4ndCBiZSAwAFRleHR1cmUgZGltZW5zaW9ucyBhcmUgbGltaXRlZCB0byAlZHglZABVbnN1cHBvcnRlZCBZVVYgZm9ybWF0AEludmFsaWQgd2luZG93AFJlbmRlcmVyIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIHdpbmRvdwBTRExfUkVOREVSX1ZTWU5DAFNETF9SRU5ERVJfRFJJVkVSAENvdWxkbid0IGZpbmQgbWF0Y2hpbmcgcmVuZGVyIGRyaXZlcgBpbmRleCBtdXN0IGJlIC0xIG9yIGluIHRoZSByYW5nZSBvZiAwIC0gJWQAQ3JlYXRlZCByZW5kZXJlcjogJXMAU0RMX0VWRU5UX1FVRVVFX1NUQVRJU1RJQ1MAU0RMIEVWRU5UIFFVRVVFOiBNYXhpbXVtIGV2ZW50cyBpbi1mbGlnaHQ6ICVkCgBTRExfTk9fU0lHTkFMX0hBTkRMRVJTAEludmFsaWQgYXVkaW8gZGV2aWNlIElEAFRoaXMgaXMgYSBjYXB0dXJlIGRldmljZSwgcXVldWVpbmcgbm90IGFsbG93ZWQAQXVkaW8gZGV2aWNlIGhhcyBhIGNhbGxiYWNrLCBxdWV1ZWluZyBub3QgYWxsb3dlZABBdWRpbyBzdWJzeXN0ZW0gaXMgbm90IGluaXRpYWxpemVkAFRvbyBtYW55IG9wZW4gYXVkaW8gZGV2aWNlcwBTRExfQVVESU9fU0FNUExFUwBTRExfQVVESU9fREVWSUNFX05BTUUAQXVkaW8gZGV2aWNlIGFscmVhZHkgb3BlbgBObyBzdWNoIGRldmljZS4AQ291bGRuJ3QgY3JlYXRlIG1peGVyIGxvY2sAU0RMQXVkaW9EZXYlZABDb3VsZG4ndCBjcmVhdGUgYXVkaW8gdGhyZWFkAEludmFsaWQgZGVzdGluYXRpb24gZm9ybWF0AFNvdXJjZSBvciBkZXN0aW5hdGlvbiBjaGFubmVscyBpcyB6ZXJvAFNvdXJjZSBvciBkZXN0aW5hdGlvbiByYXRlIGlzIHplcm8ATm8gY29udmVyc2lvbiBhdmFpbGFibGUgZm9yIHRoZXNlIGZvcm1hdHMAQ3Vyc29yIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbW91c2UAQ3JlYXRlU3lzdGVtQ3Vyc29yIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkAFBhcmFtZXRlciAnJXMnIGlzIGludmFsaWQAbWVtAFVua25vd24gdmFsdWUgZm9yICd3aGVuY2UnAENhbid0IHdyaXRlIHRvIHJlYWQtb25seSBtZW1vcnkATm8gc3VjaCBkZXZpY2UASm95c3RpY2sgYWxyZWFkeSBvcGVuZWQASm95c3RpY2sgb25seSBoYXMgJWQgYnV0dG9ucwBKb3lzdGljayBvbmx5IGhhcyAlZCBheGVzAEpveXN0aWNrIG9ubHkgaGFzICVkIGhhdHMAQ29uZmxpY3Rpbmcgd2luZG93IGZsYWdzIHNwZWNpZmllZABXaW5kb3cgaXMgdG9vIGxhcmdlLgBTRExfVklERU9fSElHSERQSV9ESVNBQkxFRABWaWRlbyBzdWJzeXN0ZW0gbXVzdCBiZSBpbml0aWFsaXplZCB0byBzZXQgY2xpcGJvYXJkIHRleHQAVmlkZW8gc3Vic3lzdGVtIG11c3QgYmUgaW5pdGlhbGl6ZWQgdG8gZ2V0IGNsaXBib2FyZCB0ZXh0AFZpZGVvIHN1YnN5c3RlbSBtdXN0IGJlIGluaXRpYWxpemVkIHRvIGNoZWNrIGNsaXBib2FyZCB0ZXh0AHcAaAB7IGFsZXJ0KFVURjhUb1N0cmluZygkMCkgKyAiXG5cbiIgKyBVVEY4VG9TdHJpbmcoJDEpKTsgfQBFWFQAQVJCAE9FUwBBTkdMRQBnbENyZWF0ZVByb2dyYW1PYmplY3QAZ2xDcmVhdGVQcm9ncmFtAGdsVXNlUHJvZ3JhbU9iamVjdABnbFVzZVByb2dyYW0AZ2xDcmVhdGVTaGFkZXJPYmplY3QAZ2xDcmVhdGVTaGFkZXIAZ2xBdHRhY2hPYmplY3QAZ2xBdHRhY2hTaGFkZXIAZ2xEZXRhY2hPYmplY3QAZ2xEZXRhY2hTaGFkZXIAZ2xQaXhlbFN0b3JlaQBnbEdldFN0cmluZwBnbEdldEludGVnZXJ2AGdsR2V0RmxvYXR2AGdsR2V0Qm9vbGVhbnYAZ2xHZW5UZXh0dXJlcwBnbERlbGV0ZVRleHR1cmVzAGdsQ29tcHJlc3NlZFRleEltYWdlMkQAZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2UyRABnbFRleEltYWdlMkQAZ2xUZXhTdWJJbWFnZTJEAGdsUmVhZFBpeGVscwBnbEJpbmRUZXh0dXJlAGdsR2V0VGV4UGFyYW1ldGVyZnYAZ2xHZXRUZXhQYXJhbWV0ZXJpdgBnbFRleFBhcmFtZXRlcmZ2AGdsVGV4UGFyYW1ldGVyaXYAZ2xJc1RleHR1cmUAZ2xHZW5CdWZmZXJzAGdsRGVsZXRlQnVmZmVycwBnbEdldEJ1ZmZlclBhcmFtZXRlcml2AGdsQnVmZmVyRGF0YQBnbEJ1ZmZlclN1YkRhdGEAZ2xJc0J1ZmZlcgBnbEdlblJlbmRlcmJ1ZmZlcnMAZ2xEZWxldGVSZW5kZXJidWZmZXJzAGdsQmluZFJlbmRlcmJ1ZmZlcgBnbEdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2AGdsSXNSZW5kZXJidWZmZXIAZ2xHZXRVbmlmb3JtZnYAZ2xHZXRVbmlmb3JtaXYAZ2xHZXRVbmlmb3JtTG9jYXRpb24AZ2xHZXRWZXJ0ZXhBdHRyaWJmdgBnbEdldFZlcnRleEF0dHJpYml2AGdsR2V0VmVydGV4QXR0cmliUG9pbnRlcnYAZ2xHZXRBY3RpdmVVbmlmb3JtAGdsVW5pZm9ybTFmAGdsVW5pZm9ybTJmAGdsVW5pZm9ybTNmAGdsVW5pZm9ybTRmAGdsVW5pZm9ybTFpAGdsVW5pZm9ybTJpAGdsVW5pZm9ybTNpAGdsVW5pZm9ybTRpAGdsVW5pZm9ybTFpdgBnbFVuaWZvcm0yaXYAZ2xVbmlmb3JtM2l2AGdsVW5pZm9ybTRpdgBnbFVuaWZvcm0xZnYAZ2xVbmlmb3JtMmZ2AGdsVW5pZm9ybTNmdgBnbFVuaWZvcm00ZnYAZ2xVbmlmb3JtTWF0cml4MmZ2AGdsVW5pZm9ybU1hdHJpeDNmdgBnbFVuaWZvcm1NYXRyaXg0ZnYAZ2xCaW5kQnVmZmVyAGdsVmVydGV4QXR0cmliMWZ2AGdsVmVydGV4QXR0cmliMmZ2AGdsVmVydGV4QXR0cmliM2Z2AGdsVmVydGV4QXR0cmliNGZ2AGdsR2V0QXR0cmliTG9jYXRpb24AZ2xHZXRBY3RpdmVBdHRyaWIAZ2xEZWxldGVTaGFkZXIAZ2xHZXRBdHRhY2hlZFNoYWRlcnMAZ2xTaGFkZXJTb3VyY2UAZ2xHZXRTaGFkZXJTb3VyY2UAZ2xDb21waWxlU2hhZGVyAGdsR2V0U2hhZGVySW5mb0xvZwBnbEdldFNoYWRlcml2AGdsR2V0UHJvZ3JhbWl2AGdsSXNTaGFkZXIAZ2xEZWxldGVQcm9ncmFtAGdsR2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0AGdsTGlua1Byb2dyYW0AZ2xHZXRQcm9ncmFtSW5mb0xvZwBnbFZhbGlkYXRlUHJvZ3JhbQBnbElzUHJvZ3JhbQBnbEJpbmRBdHRyaWJMb2NhdGlvbgBnbEJpbmRGcmFtZWJ1ZmZlcgBnbEdlbkZyYW1lYnVmZmVycwBnbERlbGV0ZUZyYW1lYnVmZmVycwBnbEZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyAGdsRnJhbWVidWZmZXJUZXh0dXJlMkQAZ2xHZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdgBnbElzRnJhbWVidWZmZXIAZ2xEZWxldGVPYmplY3QAZ2xHZXRPYmplY3RQYXJhbWV0ZXJpdgBnbEdldEluZm9Mb2cAZ2xCaW5kUHJvZ3JhbQBnbEdldFBvaW50ZXJ2AGdsRHJhd1JhbmdlRWxlbWVudHMAZ2xFbmFibGVDbGllbnRTdGF0ZQBnbFZlcnRleFBvaW50ZXIAZ2xUZXhDb29yZFBvaW50ZXIAZ2xOb3JtYWxQb2ludGVyAGdsQ29sb3JQb2ludGVyAGdsQ2xpZW50QWN0aXZlVGV4dHVyZQBnbElzVmVydGV4QXJyYXkAZ2xHZW5WZXJ0ZXhBcnJheXMAZ2xEZWxldGVWZXJ0ZXhBcnJheXMAZ2xCaW5kVmVydGV4QXJyYXkAZ2xNYXRyaXhNb2RlAGdsTG9hZElkZW50aXR5AGdsTG9hZE1hdHJpeGYAZ2xGcnVzdHVtAGdsUm90YXRlZgBnbFZlcnRleEF0dHJpYlBvaW50ZXIAZ2xFbmFibGVWZXJ0ZXhBdHRyaWJBcnJheQBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheQBnbERyYXdBcnJheXMAZ2xEcmF3RWxlbWVudHMAZ2xTaGFkZXJCaW5hcnkAZ2xSZWxlYXNlU2hhZGVyQ29tcGlsZXIAZ2xHZXRFcnJvcgBnbFZlcnRleEF0dHJpYkRpdmlzb3IAZ2xEcmF3QXJyYXlzSW5zdGFuY2VkAGdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkAGdsRmluaXNoAGdsRmx1c2gAZ2xDbGVhckRlcHRoAGdsQ2xlYXJEZXB0aGYAZ2xEZXB0aEZ1bmMAZ2xFbmFibGUAZ2xEaXNhYmxlAGdsRnJvbnRGYWNlAGdsQ3VsbEZhY2UAZ2xDbGVhcgBnbExpbmVXaWR0aABnbENsZWFyU3RlbmNpbABnbERlcHRoTWFzawBnbFN0ZW5jaWxNYXNrAGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cwBnbEdlbmVyYXRlTWlwbWFwAGdsQWN0aXZlVGV4dHVyZQBnbEJsZW5kRXF1YXRpb24AZ2xJc0VuYWJsZWQAZ2xCbGVuZEZ1bmMAZ2xCbGVuZEVxdWF0aW9uU2VwYXJhdGUAZ2xEZXB0aFJhbmdlAGdsRGVwdGhSYW5nZWYAZ2xTdGVuY2lsTWFza1NlcGFyYXRlAGdsSGludABnbFBvbHlnb25PZmZzZXQAZ2xWZXJ0ZXhBdHRyaWIxZgBnbFNhbXBsZUNvdmVyYWdlAGdsVGV4UGFyYW1ldGVyaQBnbFRleFBhcmFtZXRlcmYAZ2xWZXJ0ZXhBdHRyaWIyZgBnbFN0ZW5jaWxGdW5jAGdsU3RlbmNpbE9wAGdsVmlld3BvcnQAZ2xDbGVhckNvbG9yAGdsU2Npc3NvcgBnbFZlcnRleEF0dHJpYjNmAGdsQ29sb3JNYXNrAGdsUmVuZGVyYnVmZmVyU3RvcmFnZQBnbEJsZW5kRnVuY1NlcGFyYXRlAGdsQmxlbmRDb2xvcgBnbFN0ZW5jaWxGdW5jU2VwYXJhdGUAZ2xTdGVuY2lsT3BTZXBhcmF0ZQBnbFZlcnRleEF0dHJpYjRmAGdsQ29weVRleEltYWdlMkQAZ2xDb3B5VGV4U3ViSW1hZ2UyRABnbERyYXdCdWZmZXJzAE1vZHVsZS5wcmludEVycignYmFkIG5hbWUgaW4gZ2V0UHJvY0FkZHJlc3M6ICcgKyBbUG9pbnRlcl9zdHJpbmdpZnkoJDApLCBQb2ludGVyX3N0cmluZ2lmeSgkMSldKQD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAvcHJvYy9zZWxmL2ZkLwBpbmZpbml0eQBuYW4Acndh";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var buf=Buffer.from?Buffer.from(buffer.buffer):new Buffer(buffer.buffer);try{return fs.readSync(stream.nfd,buf,offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){var buf=Buffer.from?Buffer.from(buffer.buffer):new Buffer(buffer.buffer);try{return fs.writeSync(stream.nfd,buf,offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto")["randomBytes"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall15(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268<=count){var id;var type;var name=stream.getdents.pop();if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}HEAP32[dirp+pos>>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;stringToUTF8(name,dirp+pos+11,256);pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall330(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get(),flags=SYSCALLS.get();assert(!flags);if(old.fd===suggestFD)return-ERRNO_CODES.EINVAL;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _difftime(time1,time0){return time1-time0}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=addFunction(result);lib.cached_functions=result}return result}}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";function Browser_setImmediate_messageHandler(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=(function(){Module["dynCall_vi"](func,arg)})}else{browserIterationFunc=(function(){Module["dynCall_v"](func)})}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:(function(code){EGL.errorCode=code}),chooseConfig:(function(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1})};function _eglWaitClient(){EGL.setErrorCode(12288);return 1}function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:(function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4}),onMousemove:(function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.passiveMotionFunc,lastX,lastY)}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_vii"](GLUT.motionFunc,lastX,lastY)}}),getSpecialKey:(function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key}),getASCIIKey:(function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null}),onKeydown:(function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardFunc,key,Browser.mouseX,Browser.mouseY)}}}}),onKeyup:(function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.specialUpFunc,key,Browser.mouseX,Browser.mouseY)}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viii"](GLUT.keyboardUpFunc,key,Browser.mouseX,Browser.mouseY)}}}}),touchHandler:(function(event){if(event.target!=Module["canvas"]){return}var touches=event.changedTouches,main=touches[0],type="";switch(event.type){case"touchstart":type="mousedown";break;case"touchmove":type="mousemove";break;case"touchend":type="mouseup";break;default:return}var simulatedEvent=document.createEvent("MouseEvent");simulatedEvent.initMouseEvent(type,true,true,window,1,main.screenX,main.screenY,main.clientX,main.clientY,false,false,false,false,0,null);main.target.dispatchEvent(simulatedEvent);event.preventDefault()}),onMouseButtonDown:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<<event["button"];if(event.target==Module["canvas"]&&GLUT.mouseFunc){try{event.target.setCapture()}catch(e){}event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],0,Browser.mouseX,Browser.mouseY)}}),onMouseButtonUp:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons&=~(1<<event["button"]);if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,event["button"],1,Browser.mouseX,Browser.mouseY)}}),onMouseWheel:(function(event){Browser.calculateMouseEvent(event);var e=window.event||event;var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Module["dynCall_viiii"](GLUT.mouseFunc,button,0,Browser.mouseX,Browser.mouseY)}}),onFullscreenEventChange:(function(event){var width;var height;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,true)}Browser.setCanvasSize(width,height);if(GLUT.reshapeFunc){Module["dynCall_vii"](GLUT.reshapeFunc,width,height)}_glutPostRedisplay()}),requestFullscreen:(function(){Browser.requestFullscreen(false,false)}),requestFullScreen:(function(){Module.printErr("GLUT.requestFullScreen() is deprecated. Please call GLUT.requestFullscreen instead.");GLUT.requestFullScreen=(function(){return GLUT.requestFullscreen()});return GLUT.requestFullscreen()}),exitFullscreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])}),cancelFullScreen:(function(){Module.printErr("GLUT.cancelFullScreen() is deprecated. Please call GLUT.exitFullscreen instead.");GLUT.cancelFullScreen=(function(){return GLUT.exitFullscreen()});return GLUT.exitFullscreen()})};function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:(function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}for(var i=0;i<32;i++){GL.tempFixedLengthArray.push(new Array(i))}}),recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:(function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret}),MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes["majorVersion"]==="undefined"&&typeof webGLContextAttributes["minorVersion"]==="undefined"){webGLContextAttributes["majorVersion"]=1;webGLContextAttributes["minorVersion"]=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes["majorVersion"]==1&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes["majorVersion"]==2&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;var context=GL.registerContext(ctx,webGLContextAttributes);return context}),registerContext:(function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes["majorVersion"],GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes["enableExtensionsByDefault"]==="undefined"||webGLContextAttributes["enableExtensionsByDefault"]){GL.initExtensions(context)}return handle}),makeContextCurrent:(function(contextHandle){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),getContext:(function(contextHandle){return GL.contexts[contextHandle]}),deleteContext:(function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=(function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)});GLctx["drawArraysInstanced"]=(function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)});GLctx["drawElementsInstanced"]=(function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)})}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=(function(){return vaoExt["createVertexArrayOES"]()});GLctx["deleteVertexArray"]=(function(vao){vaoExt["deleteVertexArrayOES"](vao)});GLctx["bindVertexArray"]=(function(vao){vaoExt["bindVertexArrayOES"](vao)});GLctx["isVertexArray"]=(function(vao){return vaoExt["isVertexArrayOES"](vao)})}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=(function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)})}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBKIT_WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod","EXT_color_buffer_float"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);if(loc!=null){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}})};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}_glutInitDisplayMode(178);EGL.windowID=_glutCreateWindow();if(EGL.windowID!=0){EGL.setErrorCode(12288);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}EGL.setErrorCode(12288);return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=32;return 1;case 12321:HEAP32[value>>2]=8;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=24;return 1;case 12326:HEAP32[value>>2]=8;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=4;return 1;case 12338:HEAP32[value>>2]=1;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}function _emscripten_async_wget(url,file,onload,onerror){Module["noExitRuntime"]=true;var _url=Pointer_stringify(url);var _file=Pointer_stringify(file);_file=PATH.resolve(FS.cwd(),_file);function doCallback(callback){if(callback){var stack=stackSave();Module["dynCall_vi"](callback,allocate(intArrayFromString(_file),"i8",ALLOC_STACK));stackRestore(stack)}}var destinationDirectory=PATH.dirname(_file);FS.createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,(function(){doCallback(onload)}),(function(){doCallback(onerror)}),false,false,(function(){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory)}))}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:(function(){if(typeof window!=="undefined"){window.addEventListener("gamepadconnected",(function(){++JSEvents.numGamepadsConnected}));window.addEventListener("gamepaddisconnected",(function(){--JSEvents.numGamepadsConnected}));var firstState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null;if(firstState){JSEvents.numGamepadsConnected=firstState.length}}}),registerRemoveEventListeners:(function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push((function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}}));JSEvents.removeEventListenersRegistered=true}}),findEventTarget:(function(target){if(target){if(typeof target=="number"){target=Pointer_stringify(target)}if(target=="#window")return window;else if(target=="#document")return document;else if(target=="#screen")return window.screen;else if(target=="#canvas")return Module["canvas"];if(typeof target=="string")return document.getElementById(target);else return target}else{return window}}),deferredCalls:[],deferCall:(function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((function(x,y){return x.precedence<y.precedence}))}),removeDeferredCalls:(function(targetFunction){for(var i=0;i<JSEvents.deferredCalls.length;++i){if(JSEvents.deferredCalls[i].targetFunction==targetFunction){JSEvents.deferredCalls.splice(i,1);--i}}}),canPerformEventHandlerRequests:(function(){return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls}),runDeferredCalls:(function(){if(!JSEvents.canPerformEventHandlerRequests()){return}for(var i=0;i<JSEvents.deferredCalls.length;++i){var call=JSEvents.deferredCalls[i];JSEvents.deferredCalls.splice(i,1);--i;call.targetFunction.apply(this,call.argsList)}}),inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:(function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0}),removeAllHandlersOnTarget:(function(target,eventTypeString){for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==target&&(!eventTypeString||eventTypeString==JSEvents.eventHandlers[i].eventTypeString)){JSEvents._removeHandler(i--)}}}),_removeHandler:(function(i){var h=JSEvents.eventHandlers[i];h.target.removeEventListener(h.eventTypeString,h.eventListenerFunc,h.useCapture);JSEvents.eventHandlers.splice(i,1)}),registerOrRemoveHandler:(function(eventHandler){var jsEventHandler=function jsEventHandler(event){++JSEvents.inEventHandler;JSEvents.currentEventHandler=eventHandler;JSEvents.runDeferredCalls();eventHandler.handlerFunc(event);JSEvents.runDeferredCalls();--JSEvents.inEventHandler};if(eventHandler.callbackfunc){eventHandler.eventListenerFunc=jsEventHandler;eventHandler.target.addEventListener(eventHandler.eventTypeString,jsEventHandler,eventHandler.useCapture);JSEvents.eventHandlers.push(eventHandler);JSEvents.registerRemoveEventListeners()}else{for(var i=0;i<JSEvents.eventHandlers.length;++i){if(JSEvents.eventHandlers[i].target==eventHandler.target&&JSEvents.eventHandlers[i].eventTypeString==eventHandler.eventTypeString){JSEvents._removeHandler(i--)}}}}),registerKeyEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.keyEvent){JSEvents.keyEvent=_malloc(164)}var handlerFunc=(function(event){var e=event||window.event;stringToUTF8(e.key?e.key:"",JSEvents.keyEvent+0,32);stringToUTF8(e.code?e.code:"",JSEvents.keyEvent+32,32);HEAP32[JSEvents.keyEvent+64>>2]=e.location;HEAP32[JSEvents.keyEvent+68>>2]=e.ctrlKey;HEAP32[JSEvents.keyEvent+72>>2]=e.shiftKey;HEAP32[JSEvents.keyEvent+76>>2]=e.altKey;HEAP32[JSEvents.keyEvent+80>>2]=e.metaKey;HEAP32[JSEvents.keyEvent+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",JSEvents.keyEvent+88,32);stringToUTF8(e.char?e.char:"",JSEvents.keyEvent+120,32);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.keyEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getBoundingClientRectOrZeros:(function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}}),fillMouseEventData:(function(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}),registerMouseEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.mouseEvent){JSEvents.mouseEvent=_malloc(72)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,e,target);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.mouseEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}),registerWheelEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.wheelEvent){JSEvents.wheelEvent=_malloc(104)}target=JSEvents.findEventTarget(target);var wheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["deltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=e["deltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=e["deltaZ"];HEAP32[JSEvents.wheelEvent+96>>2]=e["deltaMode"];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var mouseWheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"]||0;HEAPF64[JSEvents.wheelEvent+80>>3]=-(e["wheelDeltaY"]?e["wheelDeltaY"]:e["wheelDelta"]);HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.wheelEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),pageScrollPos:(function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]}),registerUiEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.uiEvent){JSEvents.uiEvent=_malloc(36)}if(eventTypeString=="scroll"&&!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();HEAP32[JSEvents.uiEvent>>2]=e.detail;HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth;HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight;HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth;HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight;HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth;HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight;HEAP32[JSEvents.uiEvent+28>>2]=scrollPos[0];HEAP32[JSEvents.uiEvent+32>>2]=scrollPos[1];var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.uiEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getNodeNameForTarget:(function(target){if(!target)return"";if(target==window)return"#window";if(target==window.screen)return"#screen";return target&&target.nodeName?target.nodeName:""}),registerFocusEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.focusEvent){JSEvents.focusEvent=_malloc(256)}var handlerFunc=(function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";stringToUTF8(nodeName,JSEvents.focusEvent+0,128);stringToUTF8(id,JSEvents.focusEvent+128,128);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.focusEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),tick:(function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()}),registerDeviceOrientationEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceOrientationEvent){JSEvents.deviceOrientationEvent=_malloc(40)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=e.alpha;HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=e.beta;HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=e.gamma;HEAP32[JSEvents.deviceOrientationEvent+32>>2]=e.absolute;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceOrientationEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerDeviceMotionEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceMotionEvent){JSEvents.deviceMotionEvent=_malloc(80)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceMotionEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceMotionEvent+8>>3]=e.acceleration.x;HEAPF64[JSEvents.deviceMotionEvent+16>>3]=e.acceleration.y;HEAPF64[JSEvents.deviceMotionEvent+24>>3]=e.acceleration.z;HEAPF64[JSEvents.deviceMotionEvent+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[JSEvents.deviceMotionEvent+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[JSEvents.deviceMotionEvent+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[JSEvents.deviceMotionEvent+56>>3]=e.rotationRate.alpha;HEAPF64[JSEvents.deviceMotionEvent+64>>3]=e.rotationRate.beta;HEAPF64[JSEvents.deviceMotionEvent+72>>3]=e.rotationRate.gamma;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.deviceMotionEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),screenOrientation:(function(){if(!window.screen)return undefined;return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation}),fillOrientationChangeEventData:(function(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=JSEvents.screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<<orientation;HEAP32[eventStruct+4>>2]=window.orientation}),registerOrientationChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.orientationChangeEvent){JSEvents.orientationChangeEvent=_malloc(8)}if(!target){target=window.screen}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.orientationChangeEvent,userData);if(shouldCancel){e.preventDefault()}});if(eventTypeString=="orientationchange"&&window.screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fullscreenEnabled:(function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}),fillFullscreenChangeEventData:(function(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}),registerFullscreenChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.fullscreenChangeEvent){JSEvents.fullscreenChangeEvent=_malloc(280)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.fullscreenChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),resizeCanvasForFullscreen:(function(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var windowedRttWidth=target.width;var windowedRttHeight=target.height;if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight<windowedRttWidth*cssHeight){var desiredCssHeight=windowedRttHeight*cssWidth/windowedRttWidth;__setLetterbox(target,(cssHeight-desiredCssHeight)/2,0);cssHeight=desiredCssHeight}else{var desiredCssWidth=windowedRttWidth*cssHeight/windowedRttHeight;__setLetterbox(target,0,(cssWidth-desiredCssWidth)/2);cssWidth=desiredCssWidth}}if(!target.style.backgroundColor)target.style.backgroundColor="black";if(!document.body.style.backgroundColor)document.body.style.backgroundColor="black";target.style.width=cssWidth+"px";target.style.height=cssHeight+"px";if(strategy.filteringMode==1){target.style.imageRendering="optimizeSpeed";target.style.imageRendering="-moz-crisp-edges";target.style.imageRendering="-o-crisp-edges";target.style.imageRendering="-webkit-optimize-contrast";target.style.imageRendering="optimize-contrast";target.style.imageRendering="crisp-edges";target.style.imageRendering="pixelated"}var dpiScale=strategy.canvasResolutionScaleMode==2?window.devicePixelRatio:1;if(strategy.canvasResolutionScaleMode!=0){target.width=cssWidth*dpiScale;target.height=cssHeight*dpiScale;if(target.GLctxObject)target.GLctxObject.GLctx.viewport(0,0,target.width,target.height)}return restoreOldStyle}),requestFullscreen:(function(target,strategy){if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents.resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.msRequestFullscreen){target.msRequestFullscreen()}else if(target.mozRequestFullScreen){target.mozRequestFullScreen()}else if(target.mozRequestFullscreen){target.mozRequestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{if(typeof JSEvents.fullscreenEnabled()==="undefined"){return-1}else{return-3}}if(strategy.canvasResizedCallback){Module["dynCall_iiii"](strategy.canvasResizedCallback,37,0,strategy.canvasResizedCallbackUserData)}return 0}),fillPointerlockChangeEventData:(function(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}),registerPointerlockChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.pointerlockChangeEvent){JSEvents.pointerlockChangeEvent=_malloc(260)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.pointerlockChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerPointerlockErrorEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),requestPointerLock:(function(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}),fillVisibilityChangeEventData:(function(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}),registerVisibilityChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.visibilityChangeEvent){JSEvents.visibilityChangeEvent=_malloc(8)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,e);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.visibilityChangeEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerTouchEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.touchEvent){JSEvents.touchEvent=_malloc(1684)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;var touches={};for(var i=0;i<e.touches.length;++i){var touch=e.touches[i];touches[touch.identifier]=touch}for(var i=0;i<e.changedTouches.length;++i){var touch=e.changedTouches[i];touches[touch.identifier]=touch;touch.changed=true}for(var i=0;i<e.targetTouches.length;++i){var touch=e.targetTouches[i];touches[touch.identifier].onTarget=true}var ptr=JSEvents.touchEvent;HEAP32[ptr+4>>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[JSEvents.touchEvent>>2]=numTouches;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.touchEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fillGamepadEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i<e.axes.length;++i){HEAPF64[eventStruct+i*8+16>>3]=e.axes[i]}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i<e.buttons.length;++i){if(typeof e.buttons[i]==="object"){HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}),registerGamepadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.gamepadEvent){JSEvents.gamepadEvent=_malloc(1432)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,e.gamepad);var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.gamepadEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerBeforeUnloadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var handlerFunc=(function(event){var e=event||window.event;var confirmationMessage=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=Pointer_stringify(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),battery:(function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}),fillBatteryEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}),registerBatteryEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.batteryEvent){JSEvents.batteryEvent=_malloc(32)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery());var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,JSEvents.batteryEvent,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerWebGlEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=Module["canvas"]}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Module["dynCall_iiii"](callbackfunc,eventTypeId,0,userData);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)})};var __currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);if(document.exitFullscreen){document.exitFullscreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitExitFullscreen){document.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}function _emscripten_get_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __emscripten_sample_gamepad_data(){if(!JSEvents.numGamepadsConnected)return;if(Browser.mainLoop.currentFrameNumber!==JSEvents.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;JSEvents.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber}}function _emscripten_get_gamepad_status(index,gamepadState){__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;JSEvents.fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){if(!JSEvents.numGamepadsConnected)return 0;__emscripten_sample_gamepad_data();if(!JSEvents.lastGamepadState)return-1;return JSEvents.lastGamepadState.length}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)JSEvents.fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBindProgramARB(){Module["printErr"]("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glBufferData(target,size,data,usage){if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearDepth(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function _emscripten_glClientActiveTexture(){Module["printErr"]("missing function: emscripten_glClientActiveTexture");abort(-1)}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glColorPointer(){Module["printErr"]("missing function: emscripten_glColorPointer");abort(-1)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteObjectARB(){Module["printErr"]("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var id=HEAP32[renderbuffers+i*4>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i<n;i++){var id=HEAP32[vaos+i*4>>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRange(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawBuffers(n,bufs){var bufArray=GL.tempFixedLengthArray[n];for(var i=0;i<n;i++){bufArray[i]=HEAP32[bufs+i*4>>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawRangeElements(){Module["printErr"]("missing function: emscripten_glDrawRangeElements");abort(-1)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableClientState(){Module["printErr"]("missing function: emscripten_glEnableClientState");abort(-1)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function _emscripten_glFrustum(){Module["printErr"]("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glGenBuffers(n,buffers){for(var i=0;i<n;i++){var buffer=GLctx.createBuffer();if(!buffer){GL.recordError(1282);while(i<n)HEAP32[buffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _emscripten_glGenFramebuffers(n,ids){for(var i=0;i<n;++i){var framebuffer=GLctx.createFramebuffer();if(!framebuffer){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var renderbuffer=GLctx.createRenderbuffer();if(!renderbuffer){GL.recordError(1282);while(i<n)HEAP32[renderbuffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _emscripten_glGenTextures(n,textures){for(var i=0;i<n;i++){var texture=GLctx.createTexture();if(!texture){GL.recordError(1282);while(i<n)HEAP32[textures+i++*4>>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i<n;i++){var vao=GLctx["createVertexArray"]();if(!vao){GL.recordError(1282);while(i<n)HEAP32[arrays+i++*4>>2]=0;return}var id=GL.getNewId(GL.vaos);vao.name=id;GL.vaos[id]=vao;HEAP32[arrays+i*4>>2]=id}}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;if(bufSize>0&&name){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i<len;++i){var id=GL.shaders.indexOf(result[i]);HEAP32[shaders+i*4>>2]=id}}function _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case"Integer":HEAP32[p+i*4>>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);HEAP32[params>>2]=result}function _emscripten_glGetInfoLogARB(){Module["printErr"]("missing function: emscripten_glGetInfoLogARB");abort(-1)}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _emscripten_glGetObjectParameterivARB(){Module["printErr"]("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glGetPointerv(){Module["printErr"]("missing function: emscripten_glGetPointerv");abort(-1)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,GLctx.ACTIVE_ATTRIBUTES);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,GLctx.ACTIVE_UNIFORM_BLOCKS);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;if(bufSize>0&&source){var numBytesWrittenExclNull=stringToUTF8(result,source,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 37445:case 37446:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=allocate(intArrayFromString(glVersion),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset<uniformInfo[0]){return uniformInfo[1]+arrayOffset}else{return-1}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i<data.length;i++){switch(type){case"Integer":HEAP32[params+i*4>>2]=data[i];break;case"Float":HEAPF32[params+i*4>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glLoadMatrixf(){Module["printErr"]("missing function: emscripten_glLoadMatrixf");abort(-1)}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glNormalPointer(){Module["printErr"]("missing function: emscripten_glNormalPointer");abort(-1)}function _emscripten_glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function emscriptenWebGLComputeImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:numChannels=1;break;case 6410:numChannels=2;break;case 6407:case 35904:numChannels=3;break;case 6408:case 35906:numChannels=4;break;default:GL.recordError(1280);return null}switch(type){case 5121:sizePerPixel=numChannels*1;break;case 5123:case 36193:sizePerPixel=numChannels*2;break;case 5125:case 5126:sizePerPixel=numChannels*4;break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;default:GL.recordError(1280);return null}var bytes=emscriptenWebGLComputeImageSize(width,height,sizePerPixel,GL.unpackAlignment);switch(type){case 5121:return HEAPU8.subarray(pixels,pixels+bytes);case 5126:return HEAPF32.subarray(pixels>>2,pixels+bytes>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,pixels+bytes>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,pixels+bytes>>1);default:GL.recordError(1280);return null}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRotatef(){Module["printErr"]("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexCoordPointer(){Module["printErr"]("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){var view;if(count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){var view;if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){var view;if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){var view;if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){var view;if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}function _emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return JSEvents.requestFullscreen(target,strategy)}function __registerRestoreOldStyle(canvas){var oldWidth=canvas.width;var oldHeight=canvas.height;var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);canvas.width=oldWidth;canvas.height=oldHeight;canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(__currentFullscreenStrategy.canvasResizedCallback){Module["dynCall_iiii"](__currentFullscreenStrategy.canvasResizedCallback,37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return _emscripten_do_request_fullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestPointerLock,2,[target]);return 1}else{return-2}}return JSEvents.requestPointerLock(target)}function _emscripten_set_blur_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur");return 0}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_set_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;target.style.setProperty("width",width+"px");target.style.setProperty("height",height+"px");return 0}function _emscripten_set_focus_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus");return 0}function _emscripten_set_fullscreenchange_callback(target,userData,useCapture,callbackfunc){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange");return 0}function _emscripten_set_gamepadconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,26,"gamepadconnected");return 0}function _emscripten_set_gamepaddisconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,27,"gamepaddisconnected");return 0}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_set_mouseenter_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter");return 0}function _emscripten_set_mouseleave_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave");return 0}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}function _emscripten_set_touchcancel_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel");return 0}function _emscripten_set_touchend_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend");return 0}function _emscripten_set_touchmove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove");return 0}function _emscripten_set_touchstart_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart");return 0}function _emscripten_set_visibilitychange_callback(userData,useCapture,callbackfunc){JSEvents.registerVisibilityChangeEventCallback(document,userData,useCapture,callbackfunc,21,"visibilitychange");return 0}function _emscripten_set_wheel_callback(target,userData,useCapture,callbackfunc){target=JSEvents.findEventTarget(target);if(typeof target.onwheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel");return 0}else if(typeof target.onmousewheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel");return 0}else{return-1}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}function _glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _glBlendEquation(x0){GLctx["blendEquation"](x0)}function _glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _glBufferData(target,size,data,usage){if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteBuffers(n,buffers){for(var i=0;i<n;i++){var id=HEAP32[buffers+i*4>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i<n;++i){var id=HEAP32[framebuffers+i*4>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i<n;i++){var id=HEAP32[textures+i*4>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDepthMask(flag){GLctx.depthMask(!!flag)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glGenBuffers(n,buffers){for(var i=0;i<n;i++){var buffer=GLctx.createBuffer();if(!buffer){GL.recordError(1282);while(i<n)HEAP32[buffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _glGenFramebuffers(n,ids){for(var i=0;i<n;++i){var framebuffer=GLctx.createFramebuffer();if(!framebuffer){GL.recordError(1282);while(i<n)HEAP32[ids+i++*4>>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function _glGenRenderbuffers(n,renderbuffers){for(var i=0;i<n;i++){var renderbuffer=GLctx.createRenderbuffer();if(!renderbuffer){GL.recordError(1282);while(i<n)HEAP32[renderbuffers+i++*4>>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _glGenTextures(n,textures){for(var i=0;i<n;i++){var texture=GLctx.createTexture();if(!texture){GL.recordError(1282);while(i<n)HEAP32[textures+i++*4>>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,GLctx.ACTIVE_ATTRIBUTES);ptable.maxAttributeLength=0;for(var i=0;i<numAttribs;++i){var activeAttrib=GLctx.getActiveAttrib(program,i);ptable.maxAttributeLength=Math.max(ptable.maxAttributeLength,activeAttrib.name.length+1)}}HEAP32[p>>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,GLctx.ACTIVE_UNIFORM_BLOCKS);ptable.maxUniformBlockNameLength=0;for(var i=0;i<numBlocks;++i){var activeBlockName=GLctx.getActiveUniformBlockName(program,i);ptable.maxUniformBlockNameLength=Math.max(ptable.maxUniformBlockNameLength,activeBlockName.length+1)}}HEAP32[p>>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";if(maxLength>0&&infoLog){var numBytesWrittenExclNull=stringToUTF8(log,infoLog,maxLength);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 37445:case 37446:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=allocate(intArrayFromString(glVersion),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i=0;i<exts.length;++i){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset<uniformInfo[0]){return uniformInfo[1]+arrayOffset}else{return-1}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Float")}function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _glLineWidth(x0){GLctx["lineWidth"](x0)}function _glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.programInfos[program]=null;GL.populateUniformTable(program)}function _glPixelStorei(pname,param){if(pname==3333){GL.packAlignment=param}else if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _glUniform1fv(location,count,value){var view;if(count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[count-1];for(var i=0;i<count;++i){view[i]=HEAPF32[value+4*i>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _glUniform2fv(location,count,value){var view;if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _glUniform3fv(location,count,value){var view;if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _glUniform4fv(location,count,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _glUniformMatrix2fv(location,count,transpose,value){var view;if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _glUniformMatrix3fv(location,count,transpose,value){var view;if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _glUniformMatrix4fv(location,count,transpose,value){var view;if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(){return _llvm_exp2_f32.apply(null,arguments)}var _llvm_pow_f64=Math_pow;var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}function _nanosleep(rqtp,rmtp){var seconds=HEAP32[rqtp>>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _sigaction(signum,act,oldact){return 0}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strptime(buf,format,tm){var pattern=Pointer_stringify(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i<ii;++i){pattern=pattern.replace(new RegExp("\\"+SPECIAL_CHARS[i],"g"),"\\"+SPECIAL_CHARS[i])}var EQUIVALENT_MATCHERS={"%A":"%a","%B":"%b","%c":"%x\\s+%X","%D":"%m\\/%d\\/%y","%e":"%d","%h":"%b","%R":"%H\\:%M","%r":"%I\\:%M\\:%S\\s%p","%T":"%H\\:%M\\:%S","%x":"%m\\/%d\\/(?:%y|%Y)","%X":"%H\\:%M\\:%S"};for(var matcher in EQUIVALENT_MATCHERS){pattern=pattern.replace(matcher,EQUIVALENT_MATCHERS[matcher])}var DATE_PATTERNS={"%a":"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)","%b":"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)","%C":"\\d\\d","%d":"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31","%H":"\\d(?!\\d)|[0,1]\\d|20|21|22|23","%I":"\\d(?!\\d)|0\\d|10|11|12","%j":"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d","%m":"0[1-9]|[1-9](?!\\d)|10|11|12","%M":"0\\d|\\d(?!\\d)|[1-5]\\d","%n":"\\s","%p":"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.","%S":"0\\d|\\d(?!\\d)|[1-5]\\d|60","%U":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%W":"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53","%w":"[0-6]","%y":"\\d\\d","%Y":"\\d\\d\\d\\d","%%":"%","%t":"\\s"};var MONTH_NUMBERS={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};var DAY_NUMBERS_SUN_FIRST={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};var DAY_NUMBERS_MON_FIRST={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};for(var datePattern in DATE_PATTERNS){pattern=pattern.replace(datePattern,"("+datePattern+DATE_PATTERNS[datePattern]+")")}var capture=[];for(var i=pattern.indexOf("%");i>=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=(new RegExp("^"+pattern,"i")).exec(Pointer_stringify(buf));function initDate(){function fixup(value,min,max){return typeof value!=="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;function getMatch(symbol){var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return}if(value=getMatch("S")){date.sec=parseInt(value)}if(value=getMatch("M")){date.min=parseInt(value)}if(value=getMatch("H")){date.hour=parseInt(value)}else if(value=getMatch("I")){var hour=parseInt(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=parseInt(value)}else if(value=getMatch("y")){var year=parseInt(value);if(value=getMatch("C")){year+=parseInt(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=parseInt(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=parseInt(value)}else if(value=getMatch("j")){var day=parseInt(value);var leapYear=__isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=__arraySum(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=parseInt(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=__addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=__addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=__arraySum(__isLeapYear(fullDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;GL.init();JSEvents.staticInit();___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_dd(index,a1){try{return Module["dynCall_dd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ddd(index,a1,a2){try{return Module["dynCall_ddd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiidii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vd(index,a1){try{Module["dynCall_vd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdd(index,a1,a2){try{Module["dynCall_vdd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdddd(index,a1,a2,a3,a4){try{Module["dynCall_vdddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdi(index,a1,a2){try{Module["dynCall_vdi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddd(index,a1,a2,a3,a4){try{Module["dynCall_viddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viddddddddddddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){try{Module["dynCall_viddddddddddddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiddddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidddddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viidddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddddi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiddddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viidddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiddd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{Module["dynCall_viiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_dd":invoke_dd,"invoke_ddd":invoke_ddd,"invoke_di":invoke_di,"invoke_did":invoke_did,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiidii":invoke_iiiiidii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_v":invoke_v,"invoke_vd":invoke_vd,"invoke_vdd":invoke_vdd,"invoke_vdddd":invoke_vdddd,"invoke_vdddddd":invoke_vdddddd,"invoke_vdi":invoke_vdi,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidd":invoke_vidd,"invoke_viddd":invoke_viddd,"invoke_vidddd":invoke_vidddd,"invoke_viddddddddddddii":invoke_viddddddddddddii,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viiddddddi":invoke_viiddddddi,"invoke_viidddddi":invoke_viidddddi,"invoke_viiddddi":invoke_viiddddi,"invoke_viidddi":invoke_viidddi,"invoke_viiddi":invoke_viiddi,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiidd":invoke_viiiidd,"invoke_viiiiddd":invoke_viiiiddd,"invoke_viiiidddd":invoke_viiiidddd,"invoke_viiiiddddd":invoke_viiiiddddd,"invoke_viiiiddddddd":invoke_viiiiddddddd,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viiiiiiiiiiii":invoke_viiiiiiiiiiii,"invoke_viiiiiiiiiiiii":invoke_viiiiiiiiiiiii,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___lock":___lock,"___setErrNo":___setErrNo,"___syscall10":___syscall10,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall15":___syscall15,"___syscall195":___syscall195,"___syscall197":___syscall197,"___syscall220":___syscall220,"___syscall221":___syscall221,"___syscall330":___syscall330,"___syscall39":___syscall39,"___syscall40":___syscall40,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall63":___syscall63,"___syscall85":___syscall85,"___unlock":___unlock,"__addDays":__addDays,"__arraySum":__arraySum,"__emscripten_sample_gamepad_data":__emscripten_sample_gamepad_data,"__isLeapYear":__isLeapYear,"__registerRestoreOldStyle":__registerRestoreOldStyle,"__setLetterbox":__setLetterbox,"_abort":_abort,"_clock":_clock,"_clock_gettime":_clock_gettime,"_difftime":_difftime,"_dlclose":_dlclose,"_dlerror":_dlerror,"_dlsym":_dlsym,"_eglBindAPI":_eglBindAPI,"_eglChooseConfig":_eglChooseConfig,"_eglCreateContext":_eglCreateContext,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_eglDestroyContext":_eglDestroyContext,"_eglDestroySurface":_eglDestroySurface,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_eglGetDisplay":_eglGetDisplay,"_eglGetProcAddress":_eglGetProcAddress,"_eglInitialize":_eglInitialize,"_eglMakeCurrent":_eglMakeCurrent,"_eglSwapBuffers":_eglSwapBuffers,"_eglSwapInterval":_eglSwapInterval,"_eglTerminate":_eglTerminate,"_eglWaitClient":_eglWaitClient,"_eglWaitGL":_eglWaitGL,"_eglWaitNative":_eglWaitNative,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"_emscripten_async_wget":_emscripten_async_wget,"_emscripten_cancel_main_loop":_emscripten_cancel_main_loop,"_emscripten_do_request_fullscreen":_emscripten_do_request_fullscreen,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"_emscripten_get_now":_emscripten_get_now,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"_emscripten_get_pointerlock_status":_emscripten_get_pointerlock_status,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glBufferData":_emscripten_glBufferData,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_emscripten_glClear":_emscripten_glClear,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_glClearStencil":_emscripten_glClearStencil,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glColorMask":_emscripten_glColorMask,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_emscripten_glCullFace":_emscripten_glCullFace,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"_emscripten_glEnable":_emscripten_glEnable,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glFlush":_emscripten_glFlush,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glFrontFace":_emscripten_glFrontFace,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glGetError":_emscripten_glGetError,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glIsVertexArray":_emscripten_glIsVertexArray,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glScissor":_emscripten_glScissor,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glShaderSource":_emscripten_glShaderSource,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_glUniform1f":_emscripten_glUniform1f,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"_emscripten_glViewport":_emscripten_glViewport,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"_emscripten_set_blur_callback":_emscripten_set_blur_callback,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_emscripten_set_focus_callback":_emscripten_set_focus_callback,"_emscripten_set_fullscreenchange_callback":_emscripten_set_fullscreenchange_callback,"_emscripten_set_gamepadconnected_callback":_emscripten_set_gamepadconnected_callback,"_emscripten_set_gamepaddisconnected_callback":_emscripten_set_gamepaddisconnected_callback,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_set_mouseenter_callback":_emscripten_set_mouseenter_callback,"_emscripten_set_mouseleave_callback":_emscripten_set_mouseleave_callback,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_set_touchcancel_callback":_emscripten_set_touchcancel_callback,"_emscripten_set_touchend_callback":_emscripten_set_touchend_callback,"_emscripten_set_touchmove_callback":_emscripten_set_touchmove_callback,"_emscripten_set_touchstart_callback":_emscripten_set_touchstart_callback,"_emscripten_set_visibilitychange_callback":_emscripten_set_visibilitychange_callback,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_glActiveTexture":_glActiveTexture,"_glAttachShader":_glAttachShader,"_glBindAttribLocation":_glBindAttribLocation,"_glBindBuffer":_glBindBuffer,"_glBindFramebuffer":_glBindFramebuffer,"_glBindRenderbuffer":_glBindRenderbuffer,"_glBindTexture":_glBindTexture,"_glBlendEquation":_glBlendEquation,"_glBlendEquationSeparate":_glBlendEquationSeparate,"_glBlendFunc":_glBlendFunc,"_glBlendFuncSeparate":_glBlendFuncSeparate,"_glBufferData":_glBufferData,"_glCheckFramebufferStatus":_glCheckFramebufferStatus,"_glClear":_glClear,"_glClearColor":_glClearColor,"_glCompileShader":_glCompileShader,"_glCreateProgram":_glCreateProgram,"_glCreateShader":_glCreateShader,"_glDeleteBuffers":_glDeleteBuffers,"_glDeleteFramebuffers":_glDeleteFramebuffers,"_glDeleteProgram":_glDeleteProgram,"_glDeleteShader":_glDeleteShader,"_glDeleteTextures":_glDeleteTextures,"_glDepthFunc":_glDepthFunc,"_glDepthMask":_glDepthMask,"_glDetachShader":_glDetachShader,"_glDisable":_glDisable,"_glDisableVertexAttribArray":_glDisableVertexAttribArray,"_glDrawArrays":_glDrawArrays,"_glDrawElements":_glDrawElements,"_glEnable":_glEnable,"_glEnableVertexAttribArray":_glEnableVertexAttribArray,"_glFramebufferRenderbuffer":_glFramebufferRenderbuffer,"_glFramebufferTexture2D":_glFramebufferTexture2D,"_glGenBuffers":_glGenBuffers,"_glGenFramebuffers":_glGenFramebuffers,"_glGenRenderbuffers":_glGenRenderbuffers,"_glGenTextures":_glGenTextures,"_glGenerateMipmap":_glGenerateMipmap,"_glGetAttribLocation":_glGetAttribLocation,"_glGetIntegerv":_glGetIntegerv,"_glGetProgramInfoLog":_glGetProgramInfoLog,"_glGetProgramiv":_glGetProgramiv,"_glGetShaderInfoLog":_glGetShaderInfoLog,"_glGetShaderiv":_glGetShaderiv,"_glGetString":_glGetString,"_glGetTexParameteriv":_glGetTexParameteriv,"_glGetUniformLocation":_glGetUniformLocation,"_glGetUniformfv":_glGetUniformfv,"_glGetUniformiv":_glGetUniformiv,"_glLineWidth":_glLineWidth,"_glLinkProgram":_glLinkProgram,"_glPixelStorei":_glPixelStorei,"_glReadPixels":_glReadPixels,"_glRenderbufferStorage":_glRenderbufferStorage,"_glScissor":_glScissor,"_glShaderSource":_glShaderSource,"_glTexImage2D":_glTexImage2D,"_glTexParameteri":_glTexParameteri,"_glTexSubImage2D":_glTexSubImage2D,"_glUniform1f":_glUniform1f,"_glUniform1fv":_glUniform1fv,"_glUniform1i":_glUniform1i,"_glUniform1iv":_glUniform1iv,"_glUniform2fv":_glUniform2fv,"_glUniform2iv":_glUniform2iv,"_glUniform3fv":_glUniform3fv,"_glUniform3iv":_glUniform3iv,"_glUniform4fv":_glUniform4fv,"_glUniform4iv":_glUniform4iv,"_glUniformMatrix2fv":_glUniformMatrix2fv,"_glUniformMatrix3fv":_glUniformMatrix3fv,"_glUniformMatrix4fv":_glUniformMatrix4fv,"_glUseProgram":_glUseProgram,"_glVertexAttrib1f":_glVertexAttrib1f,"_glVertexAttrib2f":_glVertexAttrib2f,"_glVertexAttrib3f":_glVertexAttrib3f,"_glVertexAttrib4f":_glVertexAttrib4f,"_glVertexAttribPointer":_glVertexAttribPointer,"_glViewport":_glViewport,"_glutCreateWindow":_glutCreateWindow,"_glutDestroyWindow":_glutDestroyWindow,"_glutInitDisplayMode":_glutInitDisplayMode,"_gmtime_r":_gmtime_r,"_llvm_exp2_f32":_llvm_exp2_f32,"_llvm_exp2_f64":_llvm_exp2_f64,"_llvm_pow_f64":_llvm_pow_f64,"_localtime_r":_localtime_r,"_longjmp":_longjmp,"_mktime":_mktime,"_nanosleep":_nanosleep,"_sigaction":_sigaction,"_signal":_signal,"_strftime":_strftime,"_strptime":_strptime,"_time":_time,"_tzset":_tzset,"_usleep":_usleep,"emscriptenWebGLComputeImageSize":emscriptenWebGLComputeImageSize,"emscriptenWebGLGet":emscriptenWebGLGet,"emscriptenWebGLGetTexPixelData":emscriptenWebGLGetTexPixelData,"emscriptenWebGLGetUniform":emscriptenWebGLGetUniform,"emscriptenWebGLGetVertexAttrib":emscriptenWebGLGetVertexAttrib,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
  29. var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
  30. "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_dd;var Y=env.invoke_ddd;var Z=env.invoke_di;var _=env.invoke_did;var $=env.invoke_i;var aa=env.invoke_ii;var ba=env.invoke_iii;var ca=env.invoke_iiii;var da=env.invoke_iiiii;var ea=env.invoke_iiiiidii;var fa=env.invoke_iiiiii;var ga=env.invoke_iiiiiii;var ha=env.invoke_iiiiiiii;var ia=env.invoke_iiiiiiiii;var ja=env.invoke_iiiiiiiiii;var ka=env.invoke_v;var la=env.invoke_vd;var ma=env.invoke_vdd;var na=env.invoke_vdddd;var oa=env.invoke_vdddddd;var pa=env.invoke_vdi;var qa=env.invoke_vi;var ra=env.invoke_vid;var sa=env.invoke_vidd;var ta=env.invoke_viddd;var ua=env.invoke_vidddd;var va=env.invoke_viddddddddddddii;var wa=env.invoke_vii;var xa=env.invoke_viid;var ya=env.invoke_viiddddddi;var za=env.invoke_viidddddi;var Aa=env.invoke_viiddddi;var Ba=env.invoke_viidddi;var Ca=env.invoke_viiddi;var Da=env.invoke_viii;var Ea=env.invoke_viiii;var Fa=env.invoke_viiiidd;var Ga=env.invoke_viiiiddd;var Ha=env.invoke_viiiidddd;var Ia=env.invoke_viiiiddddd;var Ja=env.invoke_viiiiddddddd;var Ka=env.invoke_viiiii;var La=env.invoke_viiiiii;var Ma=env.invoke_viiiiiii;var Na=env.invoke_viiiiiiii;var Oa=env.invoke_viiiiiiiii;var Pa=env.invoke_viiiiiiiiiii;var Qa=env.invoke_viiiiiiiiiiii;var Ra=env.invoke_viiiiiiiiiiiii;var Sa=env.___assert_fail;var Ta=env.___buildEnvironment;var Ua=env.___lock;var Va=env.___setErrNo;var Wa=env.___syscall10;var Xa=env.___syscall140;var Ya=env.___syscall145;var Za=env.___syscall146;var _a=env.___syscall15;var $a=env.___syscall195;var ab=env.___syscall197;var bb=env.___syscall220;var cb=env.___syscall221;var db=env.___syscall330;var eb=env.___syscall39;var fb=env.___syscall40;var gb=env.___syscall5;var hb=env.___syscall54;var ib=env.___syscall6;var jb=env.___syscall63;var kb=env.___syscall85;var lb=env.___unlock;var mb=env.__addDays;var nb=env.__arraySum;var ob=env.__emscripten_sample_gamepad_data;var pb=env.__isLeapYear;var qb=env.__registerRestoreOldStyle;var rb=env.__setLetterbox;var sb=env._abort;var tb=env._clock;var ub=env._clock_gettime;var vb=env._difftime;var wb=env._dlclose;var xb=env._dlerror;var yb=env._dlsym;var zb=env._eglBindAPI;var Ab=env._eglChooseConfig;var Bb=env._eglCreateContext;var Cb=env._eglCreateWindowSurface;var Db=env._eglDestroyContext;var Eb=env._eglDestroySurface;var Fb=env._eglGetConfigAttrib;var Gb=env._eglGetDisplay;var Hb=env._eglGetProcAddress;var Ib=env._eglInitialize;var Jb=env._eglMakeCurrent;var Kb=env._eglSwapBuffers;var Lb=env._eglSwapInterval;var Mb=env._eglTerminate;var Nb=env._eglWaitClient;var Ob=env._eglWaitGL;var Pb=env._eglWaitNative;var Qb=env._emscripten_asm_const_i;var Rb=env._emscripten_asm_const_ii;var Sb=env._emscripten_asm_const_iii;var Tb=env._emscripten_asm_const_iiii;var Ub=env._emscripten_asm_const_iiiii;var Vb=env._emscripten_async_wget;var Wb=env._emscripten_cancel_main_loop;var Xb=env._emscripten_do_request_fullscreen;var Yb=env._emscripten_exit_fullscreen;var Zb=env._emscripten_exit_pointerlock;var _b=env._emscripten_get_device_pixel_ratio;var $b=env._emscripten_get_element_css_size;var ac=env._emscripten_get_gamepad_status;var bc=env._emscripten_get_now;var cc=env._emscripten_get_now_is_monotonic;var dc=env._emscripten_get_num_gamepads;var ec=env._emscripten_get_pointerlock_status;var fc=env._emscripten_glActiveTexture;var gc=env._emscripten_glAttachShader;var hc=env._emscripten_glBindAttribLocation;var ic=env._emscripten_glBindBuffer;var jc=env._emscripten_glBindFramebuffer;var kc=env._emscripten_glBindProgramARB;var lc=env._emscripten_glBindRenderbuffer;var mc=env._emscripten_glBindTexture;var nc=env._emscripten_glBindVertexArray;var oc=env._emscripten_glBlendColor;var pc=env._emscripten_glBlendEquation;var qc=env._emscripten_glBlendEquationSeparate;var rc=env._emscripten_glBlendFunc;var sc=env._emscripten_glBlendFuncSeparate;var tc=env._emscripten_glBufferData;var uc=env._emscripten_glBufferSubData;var vc=env._emscripten_glCheckFramebufferStatus;var wc=env._emscripten_glClear;var xc=env._emscripten_glClearColor;var yc=env._emscripten_glClearDepth;var zc=env._emscripten_glClearDepthf;var Ac=env._emscripten_glClearStencil;var Bc=env._emscripten_glClientActiveTexture;var Cc=env._emscripten_glColorMask;var Dc=env._emscripten_glColorPointer;var Ec=env._emscripten_glCompileShader;var Fc=env._emscripten_glCompressedTexImage2D;var Gc=env._emscripten_glCompressedTexSubImage2D;var Hc=env._emscripten_glCopyTexImage2D;var Ic=env._emscripten_glCopyTexSubImage2D;var Jc=env._emscripten_glCreateProgram;var Kc=env._emscripten_glCreateShader;var Lc=env._emscripten_glCullFace;var Mc=env._emscripten_glDeleteBuffers;var Nc=env._emscripten_glDeleteFramebuffers;var Oc=env._emscripten_glDeleteObjectARB;var Pc=env._emscripten_glDeleteProgram;var Qc=env._emscripten_glDeleteRenderbuffers;var Rc=env._emscripten_glDeleteShader;var Sc=env._emscripten_glDeleteTextures;var Tc=env._emscripten_glDeleteVertexArrays;var Uc=env._emscripten_glDepthFunc;var Vc=env._emscripten_glDepthMask;var Wc=env._emscripten_glDepthRange;var Xc=env._emscripten_glDepthRangef;var Yc=env._emscripten_glDetachShader;var Zc=env._emscripten_glDisable;var _c=env._emscripten_glDisableVertexAttribArray;var $c=env._emscripten_glDrawArrays;var ad=env._emscripten_glDrawArraysInstanced;var bd=env._emscripten_glDrawBuffers;var cd=env._emscripten_glDrawElements;var dd=env._emscripten_glDrawElementsInstanced;var ed=env._emscripten_glDrawRangeElements;var fd=env._emscripten_glEnable;var gd=env._emscripten_glEnableClientState;var hd=env._emscripten_glEnableVertexAttribArray;var id=env._emscripten_glFinish;var jd=env._emscripten_glFlush;var kd=env._emscripten_glFramebufferRenderbuffer;var ld=env._emscripten_glFramebufferTexture2D;var md=env._emscripten_glFrontFace;var nd=env._emscripten_glFrustum;var od=env._emscripten_glGenBuffers;var pd=env._emscripten_glGenFramebuffers;var qd=env._emscripten_glGenRenderbuffers;var rd=env._emscripten_glGenTextures;var sd=env._emscripten_glGenVertexArrays;var td=env._emscripten_glGenerateMipmap;var ud=env._emscripten_glGetActiveAttrib;var vd=env._emscripten_glGetActiveUniform;var wd=env._emscripten_glGetAttachedShaders;var xd=env._emscripten_glGetAttribLocation;var yd=env._emscripten_glGetBooleanv;var zd=env._emscripten_glGetBufferParameteriv;var Ad=env._emscripten_glGetError;var Bd=env._emscripten_glGetFloatv;var Cd=env._emscripten_glGetFramebufferAttachmentParameteriv;var Dd=env._emscripten_glGetInfoLogARB;var Ed=env._emscripten_glGetIntegerv;var Fd=env._emscripten_glGetObjectParameterivARB;var Gd=env._emscripten_glGetPointerv;var Hd=env._emscripten_glGetProgramInfoLog;var Id=env._emscripten_glGetProgramiv;var Jd=env._emscripten_glGetRenderbufferParameteriv;var Kd=env._emscripten_glGetShaderInfoLog;var Ld=env._emscripten_glGetShaderPrecisionFormat;var Md=env._emscripten_glGetShaderSource;var Nd=env._emscripten_glGetShaderiv;var Od=env._emscripten_glGetString;var Pd=env._emscripten_glGetTexParameterfv;var Qd=env._emscripten_glGetTexParameteriv;var Rd=env._emscripten_glGetUniformLocation;var Sd=env._emscripten_glGetUniformfv;var Td=env._emscripten_glGetUniformiv;var Ud=env._emscripten_glGetVertexAttribPointerv;var Vd=env._emscripten_glGetVertexAttribfv;var Wd=env._emscripten_glGetVertexAttribiv;var Xd=env._emscripten_glHint;var Yd=env._emscripten_glIsBuffer;var Zd=env._emscripten_glIsEnabled;var _d=env._emscripten_glIsFramebuffer;var $d=env._emscripten_glIsProgram;var ae=env._emscripten_glIsRenderbuffer;var be=env._emscripten_glIsShader;var ce=env._emscripten_glIsTexture;var de=env._emscripten_glIsVertexArray;var ee=env._emscripten_glLineWidth;var fe=env._emscripten_glLinkProgram;var ge=env._emscripten_glLoadIdentity;var he=env._emscripten_glLoadMatrixf;var ie=env._emscripten_glMatrixMode;var je=env._emscripten_glNormalPointer;var ke=env._emscripten_glPixelStorei;var le=env._emscripten_glPolygonOffset;var me=env._emscripten_glReadPixels;var ne=env._emscripten_glReleaseShaderCompiler;var oe=env._emscripten_glRenderbufferStorage;var pe=env._emscripten_glRotatef;var qe=env._emscripten_glSampleCoverage;var re=env._emscripten_glScissor;var se=env._emscripten_glShaderBinary;var te=env._emscripten_glShaderSource;var ue=env._emscripten_glStencilFunc;var ve=env._emscripten_glStencilFuncSeparate;var we=env._emscripten_glStencilMask;var xe=env._emscripten_glStencilMaskSeparate;var ye=env._emscripten_glStencilOp;var ze=env._emscripten_glStencilOpSeparate;var Ae=env._emscripten_glTexCoordPointer;var Be=env._emscripten_glTexImage2D;var Ce=env._emscripten_glTexParameterf;var De=env._emscripten_glTexParameterfv;var Ee=env._emscripten_glTexParameteri;var Fe=env._emscripten_glTexParameteriv;var Ge=env._emscripten_glTexSubImage2D;var He=env._emscripten_glUniform1f;var Ie=env._emscripten_glUniform1fv;var Je=env._emscripten_glUniform1i;var Ke=env._emscripten_glUniform1iv;var Le=env._emscripten_glUniform2f;var Me=env._emscripten_glUniform2fv;var Ne=env._emscripten_glUniform2i;var Oe=env._emscripten_glUniform2iv;var Pe=env._emscripten_glUniform3f;var Qe=env._emscripten_glUniform3fv;var Re=env._emscripten_glUniform3i;var Se=env._emscripten_glUniform3iv;var Te=env._emscripten_glUniform4f;var Ue=env._emscripten_glUniform4fv;var Ve=env._emscripten_glUniform4i;var We=env._emscripten_glUniform4iv;var Xe=env._emscripten_glUniformMatrix2fv;var Ye=env._emscripten_glUniformMatrix3fv;var Ze=env._emscripten_glUniformMatrix4fv;var _e=env._emscripten_glUseProgram;var $e=env._emscripten_glValidateProgram;var af=env._emscripten_glVertexAttrib1f;var bf=env._emscripten_glVertexAttrib1fv;var cf=env._emscripten_glVertexAttrib2f;var df=env._emscripten_glVertexAttrib2fv;var ef=env._emscripten_glVertexAttrib3f;var ff=env._emscripten_glVertexAttrib3fv;var gf=env._emscripten_glVertexAttrib4f;var hf=env._emscripten_glVertexAttrib4fv;var jf=env._emscripten_glVertexAttribDivisor;var kf=env._emscripten_glVertexAttribPointer;var lf=env._emscripten_glVertexPointer;var mf=env._emscripten_glViewport;var nf=env._emscripten_memcpy_big;var of=env._emscripten_request_fullscreen_strategy;var pf=env._emscripten_request_pointerlock;var qf=env._emscripten_set_blur_callback;var rf=env._emscripten_set_canvas_size;var sf=env._emscripten_set_element_css_size;var tf=env._emscripten_set_focus_callback;var uf=env._emscripten_set_fullscreenchange_callback;var vf=env._emscripten_set_gamepadconnected_callback;var wf=env._emscripten_set_gamepaddisconnected_callback;var xf=env._emscripten_set_keydown_callback;var yf=env._emscripten_set_keypress_callback;var zf=env._emscripten_set_keyup_callback;var Af=env._emscripten_set_main_loop;var Bf=env._emscripten_set_main_loop_timing;var Cf=env._emscripten_set_mousedown_callback;var Df=env._emscripten_set_mouseenter_callback;var Ef=env._emscripten_set_mouseleave_callback;var Ff=env._emscripten_set_mousemove_callback;var Gf=env._emscripten_set_mouseup_callback;var Hf=env._emscripten_set_resize_callback;var If=env._emscripten_set_touchcancel_callback;var Jf=env._emscripten_set_touchend_callback;var Kf=env._emscripten_set_touchmove_callback;var Lf=env._emscripten_set_touchstart_callback;var Mf=env._emscripten_set_visibilitychange_callback;var Nf=env._emscripten_set_wheel_callback;var Of=env._getenv;var Pf=env._gettimeofday;var Qf=env._glActiveTexture;var Rf=env._glAttachShader;var Sf=env._glBindAttribLocation;var Tf=env._glBindBuffer;var Uf=env._glBindFramebuffer;var Vf=env._glBindRenderbuffer;var Wf=env._glBindTexture;var Xf=env._glBlendEquation;var Yf=env._glBlendEquationSeparate;var Zf=env._glBlendFunc;var _f=env._glBlendFuncSeparate;var $f=env._glBufferData;var ag=env._glCheckFramebufferStatus;var bg=env._glClear;var cg=env._glClearColor;var dg=env._glCompileShader;var eg=env._glCreateProgram;var fg=env._glCreateShader;var gg=env._glDeleteBuffers;var hg=env._glDeleteFramebuffers;var ig=env._glDeleteProgram;var jg=env._glDeleteShader;var kg=env._glDeleteTextures;var lg=env._glDepthFunc;var mg=env._glDepthMask;var ng=env._glDetachShader;var og=env._glDisable;var pg=env._glDisableVertexAttribArray;var qg=env._glDrawArrays;var rg=env._glDrawElements;var sg=env._glEnable;var tg=env._glEnableVertexAttribArray;var ug=env._glFramebufferRenderbuffer;var vg=env._glFramebufferTexture2D;var wg=env._glGenBuffers;var xg=env._glGenFramebuffers;var yg=env._glGenRenderbuffers;var zg=env._glGenTextures;var Ag=env._glGenerateMipmap;var Bg=env._glGetAttribLocation;var Cg=env._glGetIntegerv;var Dg=env._glGetProgramInfoLog;var Eg=env._glGetProgramiv;var Fg=env._glGetShaderInfoLog;var Gg=env._glGetShaderiv;var Hg=env._glGetString;var Ig=env._glGetTexParameteriv;var Jg=env._glGetUniformLocation;var Kg=env._glGetUniformfv;var Lg=env._glGetUniformiv;var Mg=env._glLineWidth;var Ng=env._glLinkProgram;var Og=env._glPixelStorei;var Pg=env._glReadPixels;var Qg=env._glRenderbufferStorage;var Rg=env._glScissor;var Sg=env._glShaderSource;var Tg=env._glTexImage2D;var Ug=env._glTexParameteri;var Vg=env._glTexSubImage2D;var Wg=env._glUniform1f;var Xg=env._glUniform1fv;var Yg=env._glUniform1i;var Zg=env._glUniform1iv;var _g=env._glUniform2fv;var $g=env._glUniform2iv;var ah=env._glUniform3fv;var bh=env._glUniform3iv;var ch=env._glUniform4fv;var dh=env._glUniform4iv;var eh=env._glUniformMatrix2fv;var fh=env._glUniformMatrix3fv;var gh=env._glUniformMatrix4fv;var hh=env._glUseProgram;var ih=env._glVertexAttrib1f;var jh=env._glVertexAttrib2f;var kh=env._glVertexAttrib3f;var lh=env._glVertexAttrib4f;var mh=env._glVertexAttribPointer;var nh=env._glViewport;var oh=env._glutCreateWindow;var ph=env._glutDestroyWindow;var qh=env._glutInitDisplayMode;var rh=env._gmtime_r;var sh=env._llvm_exp2_f32;var th=env._llvm_exp2_f64;var uh=env._llvm_pow_f64;var vh=env._localtime_r;var wh=env._longjmp;var xh=env._mktime;var yh=env._nanosleep;var zh=env._sigaction;var Ah=env._signal;var Bh=env._strftime;var Ch=env._strptime;var Dh=env._time;var Eh=env._tzset;var Fh=env._usleep;var Gh=env.emscriptenWebGLComputeImageSize;var Hh=env.emscriptenWebGLGet;var Ih=env.emscriptenWebGLGetTexPixelData;var Jh=env.emscriptenWebGLGetUniform;var Kh=env.emscriptenWebGLGetVertexAttrib;var Lh=0.0;
  31. // EMSCRIPTEN_START_FUNCS
  32. function UF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+44|0;c[r>>2]=e;k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;a:while(1){p=h;q=i;o=k;g=a[g>>0]|0;b:while(1){i=g&255;switch(c[8676+(i<<2)>>2]|0){case 6:{e=2;m=88;break a}case 1:{m=10;break b}case 2:{m=6;break b}case 3:{m=7;break b}case 4:{m=8;break b}case 5:{m=2;break b}case 7:{m=84;break b}case 8:{m=78;break b}case 9:{m=74;break b}case 10:{m=70;break b}case 11:{m=66;break b}case 12:{m=59;break b}case 13:{m=58;break b}case 14:{m=3;break b}case 15:{m=9;break b}case 16:{m=33;break b}case 17:{m=34;break b}case 18:{m=35;break b}case 19:{m=36;break b}case 20:{m=4;break b}case 21:{m=37;break b}case 22:{m=38;break b}case 23:{m=39;break b}case 24:{m=5;break b}case 25:{m=11;break b}case 27:{m=52;break b}case 28:{m=51;break b}case 29:{m=47;break b}case 30:{m=43;break b}case 31:{m=42;break b}case 32:{m=41;break b}case 33:{m=40;break b}case 34:{m=12;break b}case 26:break;default:{m=91;break a}}l=c[(c[p+28>>2]|0)+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)>>2]|0;k=TM(b,l)|0;n=OF(k)|0;j=e+20|0;m=c[j>>2]|0;c[j>>2]=m+8;c[m>>2]=n;c[m+4>>2]=z;l=l+48|0;m=q+4|0;n=q+8|0;j=0;g=o;while(1){i=g+2|0;h=g+3|0;g=a[i>>0]|0;if((j|0)>=(c[l>>2]|0)){o=h;continue b}h=a[h>>0]|0;if(!(g<<24>>24))c[k+20+(j<<2)>>2]=c[(c[m>>2]|0)+20+((h&255)<<2)>>2];else c[k+20+(j<<2)>>2]=aG(b,e,(c[n>>2]|0)+((h&255)<<3)|0)|0;j=j+1|0;g=i}}switch(m|0){case 2:{i=f+(i+-4<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+1|0;g=o;continue a}case 3:{i=f+((d[o>>0]|0)<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 4:{i=(c[f>>2]|0)+16+((d[o>>0]|0)<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 5:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+-8;h=p;i=q;k=o+1|0;g=o;continue a}case 6:{i=e+20|0;h=c[i>>2]|0;c[i>>2]=h+8;c[h>>2]=1;c[h+4>>2]=2147221504;h=p;i=q;k=o+1|0;g=o;continue a}case 7:{i=e+20|0;h=c[i>>2]|0;c[i>>2]=h+8;c[h>>2]=2;c[h+4>>2]=2147221504;h=p;i=q;k=o+1|0;g=o;continue a}case 8:{i=e+20|0;h=c[i>>2]|0;c[i>>2]=h+8;c[h>>2]=3;c[h+4>>2]=2147221504;h=p;i=q;k=o+1|0;g=o;continue a}case 9:{k=(c[e+20>>2]|0)+-8|0;i=c[k+4>>2]|0;h=f+((d[o>>0]|0)<<3)|0;c[h>>2]=c[k>>2];c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 10:{i=(c[p+28>>2]|0)+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+3|0;g=o+2|0;continue a}case 11:{j=(d[o>>0]|0)<<8|(d[o+1>>0]|0);l=(c[e+20>>2]|0)+(23-i<<3)|0;k=l;g=o+2|0;k=VF(b,c[k>>2]|0,c[k+4>>2]|0)|0;i=i+-23|0;break}case 12:{g=o+4|0;k=c[(c[p+28>>2]|0)+(((d[o+2>>0]|0)<<8|(d[o+3>>0]|0))<<3)>>2]|0;l=(c[e+20>>2]|0)+(40-i<<3)|0;j=(d[o>>0]|0)<<8|(d[o+1>>0]|0);i=i+-40|0;break}case 33:{i=c[(c[(c[q+4>>2]|0)+20+((d[o>>0]|0)<<2)>>2]|0)+16>>2]|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 34:{k=(c[e+20>>2]|0)+-8|0;i=c[k+4>>2]|0;h=c[(c[(c[q+4>>2]|0)+20+((d[o>>0]|0)<<2)>>2]|0)+16>>2]|0;c[h>>2]=c[k>>2];c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 35:{i=(c[(c[p+40>>2]|0)+16>>2]|0)+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;g=e+20|0;h=c[g>>2]|0;c[g>>2]=h+8;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+3|0;g=o+2|0;continue a}case 36:{k=(c[e+20>>2]|0)+-8|0;i=c[k+4>>2]|0;h=(c[(c[p+40>>2]|0)+16>>2]|0)+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)|0;c[h>>2]=c[k>>2];c[h+4>>2]=i;h=p;i=q;k=o+3|0;g=o+2|0;continue a}case 37:{k=(c[e+20>>2]|0)+-8|0;i=c[k+4>>2]|0;h=(c[f>>2]|0)+16+((d[o>>0]|0)<<3)|0;c[h>>2]=c[k>>2];c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 38:{i=a[o>>0]|0;g=e+20|0;n=c[g>>2]|0;h=n+-8|0;c[g>>2]=h;i=(c[h>>2]|0)+16+((i&255)<<3)|0;k=c[i>>2]|0;i=c[i+4>>2]|0;c[g>>2]=n;c[h>>2]=k;c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 39:{h=a[o>>0]|0;i=e+20|0;k=c[i>>2]|0;g=k+-8|0;c[i>>2]=g;k=k+-16|0;i=c[k+4>>2]|0;h=(c[g>>2]|0)+16+((h&255)<<3)|0;c[h>>2]=c[k>>2];c[h+4>>2]=i;h=p;i=q;k=o+2|0;g=o+1|0;continue a}case 40:{g=o+2+((d[o>>0]|0)<<8|(d[o+1>>0]|0))|0;h=p;i=q;k=g+1|0;continue a}case 41:{g=o+2+(0-((d[o>>0]|0)<<8|(d[o+1>>0]|0)))|0;h=p;i=q;k=g+1|0;continue a}case 42:{g=o+2|0;h=(d[o>>0]|0)<<8|(d[o+1>>0]|0);k=e+20|0;i=(c[k>>2]|0)+-8|0;c[k>>2]=i;i=b6(c[i>>2]|0,c[i+4>>2]|0,-1,-2147221505)|0;k=z;g=k>>>0<0|(k|0)==0&i>>>0<2?g+h|0:g;h=p;i=q;k=g+1|0;continue a}case 43:{g=o+2|0;h=e+20|0;i=(c[h>>2]|0)+-8|0;n=i;n=b6(c[n>>2]|0,c[n+4>>2]|0,-1,-2147221505)|0;m=z;if(m>>>0<0|(m|0)==0&n>>>0<2)g=g+((d[o>>0]|0)<<8|(d[o+1>>0]|0))|0;else c[h>>2]=i;h=p;i=q;k=g+1|0;continue a}case 47:{g=o+2|0;h=e+20|0;i=(c[h>>2]|0)+-8|0;n=i;n=b6(c[n>>2]|0,c[n+4>>2]|0,-1,-2147221505)|0;m=z;if(m>>>0<0|(m|0)==0&n>>>0<2)c[h>>2]=i;else g=g+((d[o>>0]|0)<<8|(d[o+1>>0]|0))|0;h=p;i=q;k=g+1|0;continue a}case 51:{h=e+20|0;_F(e,(c[h>>2]|0)+-8|0);c[h>>2]=(c[h>>2]|0)+-8;h=p;i=q;k=o+1|0;g=o;continue a}case 52:{h=e+20|0;j=(c[h>>2]|0)+-8|0;c[h>>2]=j;i=c[j>>2]|0;j=c[j+4>>2]|0;p=e+32|0;c[p>>2]=(c[p>>2]|0)+-1;_F(e,f);if(!(c[p>>2]|0)){f=e+44|0;g=c[f>>2]|0;if(!g){m=54;break a}c[f>>2]=0;c[r>>2]=g;e=(c[g+20>>2]|0)+-8|0;c[e>>2]=i;c[e+4>>2]=j;e=g}else{p=f;c[p>>2]=i;c[p+4>>2]=j;c[h>>2]=(c[q+8>>2]|0)+8}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 58:{h=f;c[h>>2]=$M(b,c[f>>2]|0)|0;c[h+4>>2]=z;h=p;i=q;k=o+1|0;g=o;continue a}case 59:{$F(b,f);h=p;i=q;k=o+1|0;g=o;continue a}case 66:{g=o+1|0;bG(b,d[o>>0]|0,0);n=e+48|0;if((c[n>>2]|0)==1?(c[n+4>>2]|0)==2147221504:0){h=p;i=q;k=o+2|0;continue a}c[q>>2]=g;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 70:{bG(b,-1,c[p+40>>2]|0);n=e+48|0;if((c[n>>2]|0)==1?(c[n+4>>2]|0)==2147221504:0){h=p;i=q;k=o+1|0;g=o;continue a}c[q>>2]=o;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 74:{g=o+2|0;h=e+20|0;m=c[h>>2]|0;n=m+-16|0;cG(b,i,(d[o>>0]|0)<<8|(d[o+1>>0]|0),c[p+40>>2]|0,c[m+-8>>2]|0,c[n>>2]|0,c[n+4>>2]|0);n=e+48|0;if((c[n>>2]|0)==1?(c[n+4>>2]|0)==2147221504:0){c[h>>2]=(c[h>>2]|0)+-16;h=p;i=q;k=o+3|0;continue a}c[q>>2]=g;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 78:{j=o+2|0;g=(c[p+28>>2]|0)+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)|0;h=c[g>>2]|0;g=c[g+4>>2]|0;n=e+20|0;o=c[n>>2]|0;c[n>>2]=o+8;c[o>>2]=1;c[o+4>>2]=2147221504;g=dG(b,h,g)|0;h=z;o=e+48|0;if(!((c[o>>2]|0)==1?(c[o+4>>2]|0)==2147221504:0)){c[q>>2]=j;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}if(eG(g,h,2)|0){c[q>>2]=j;q=g;c[q+44>>2]=e;c[r>>2]=q;e=c[q+28>>2]|0;f=(c[q+32>>2]|0)+-1|0;g=e+(f*12|0)|0;h=c[(c[e+(f*12|0)+4>>2]|0)+16>>2]|0;i=g;f=c[e+(f*12|0)+8>>2]|0;e=q;g=c[g>>2]|0}else{h=p;i=q;g=j}k=g+1|0;continue a}case 84:{g=c[p+28>>2]|0;n=g+(((d[o>>0]|0)<<8|(d[o+1>>0]|0))<<3)|0;j=o+4|0;g=g+(((d[o+2>>0]|0)<<8|(d[o+3>>0]|0))<<3)|0;g=fG(b,c[n>>2]|0,c[n+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;n=e+48|0;if((c[n>>2]|0)==1?(c[n+4>>2]|0)==2147221504:0){i=e+20|0;h=c[i>>2]|0;c[i>>2]=h+8;c[h>>2]=g;c[h+4>>2]=z;h=p;i=q;k=o+5|0;g=j;continue a}c[q>>2]=j;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}}c:do if((j|0)<(c[k+28>>2]|0)){h=c[k+24>>2]|0;d:do switch(c[h+(j<<3)>>2]|0){case 4:break c;case 0:{if(Sh[c[h+(j<<3)+4>>2]&255](b,l)|0){h=e+20|0;c[h>>2]=(c[h>>2]|0)+(1-i<<3);h=p;i=q;break d}c[q>>2]=g;e=c[r>>2]|0;if(!e){e=0;m=88;break a}p=e+48|0;if((c[p>>2]|0)==1?(c[p+4>>2]|0)==2147221504:0){q=c[e+28>>2]|0;f=(c[e+32>>2]|0)+-1|0;g=q+(f*12|0)|0;h=c[(c[q+(f*12|0)+4>>2]|0)+16>>2]|0;i=g;f=c[q+(f*12|0)+8>>2]|0;g=c[g>>2]|0;break d}c[q>>2]=g;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 1:{YF(b,e,c[h+(j<<3)+4>>2]|0,i);o=e+48|0;if((c[o>>2]|0)==1?(c[o+4>>2]|0)==2147221504:0){h=p;i=q}else{c[q>>2]=g;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}break}case 3:{p=l;p=ZF(b,c[p>>2]|0,c[p+4>>2]|0,i)|0;c[q>>2]=g;if(p){TF(b,e,c[l>>2]|0,i);q=c[e+28>>2]|0;f=(c[e+32>>2]|0)+-1|0;g=q+(f*12|0)|0;h=c[(c[q+(f*12|0)+4>>2]|0)+16>>2]|0;i=g;f=c[q+(f*12|0)+8>>2]|0;g=c[g>>2]|0;break d}XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break a}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0;continue a}case 2:{c[q>>2]=g;TF(b,e,c[h+(j<<3)+4>>2]|0,i);q=c[e+28>>2]|0;f=(c[e+32>>2]|0)+-1|0;g=q+(f*12|0)|0;h=c[(c[q+(f*12|0)+4>>2]|0)+16>>2]|0;i=g;f=c[q+(f*12|0)+8>>2]|0;g=c[g>>2]|0;break}default:{h=p;i=q}}while(0);k=g+1|0;continue a}while(0);WF(b,k,j);c[q>>2]=g;XF(b);e=c[r>>2]|0;if(!e){e=2;m=88;break}k=c[e+28>>2]|0;h=(c[e+32>>2]|0)+-1|0;i=k+(h*12|0)|0;g=c[i>>2]|0;f=c[k+(h*12|0)+8>>2]|0;h=c[(c[k+(h*12|0)+4>>2]|0)+16>>2]|0;k=g+1|0}if((m|0)==54){r=e+16|0;b=c[r>>2]|0;c[b>>2]=i;c[b+4>>2]=j;c[h>>2]=(c[r>>2]|0)+8;r=0;return r|0}else if((m|0)==88)return e|0;return 0}function VF(a,b,d){a=a|0;b=b|0;d=d|0;a:do if(0==0&(d&2147221504|0)==2147221504){if(d>>>0>4294705151|(d|0)==-262145&b>>>0>4294967295){a=b+8|0;break}switch(b&7){case 2:break a;case 0:{a=a+28|0;break a}case 1:{a=a+24|0;break a}case 3:break a;default:{d=0;return d|0}}}else a=a+28|0;while(0);d=c[a>>2]|0;return d|0}function WF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=OF(c[b+36>>2]|0)|0;b=c[(c[a+152>>2]|0)+(d<<3)>>2]|0;d=f;c[d>>2]=g;c[d+4>>2]=z;c[f+8>>2]=b;b=QM(a,362510,f)|0;d=(c[a+44>>2]|0)+48|0;c[d>>2]=b;c[d+4>>2]=z;l=e;return}function XF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+44|0;f=c[g>>2]|0;e=f+48|0;d=c[e>>2]|0;e=c[e+4>>2]|0;while(1){if(!f){d=6;break}h=f+48|0;c[h>>2]=d;c[h+4>>2]=e;if(a[f+56>>0]&1){d=4;break}i=f+44|0;h=c[i>>2]|0;c[i>>2]=0;f=h}if((d|0)==4){e=(c[g>>2]|0)+48|0;b=c[e+4>>2]|0;i=f+44|0;h=(c[(c[i>>2]|0)+20>>2]|0)+-8|0;c[h>>2]=c[e>>2];c[h+4>>2]=b;c[g>>2]=c[i>>2];return}else if((d|0)==6){VL(b);c[g>>2]=0;c[b+104>>2]=0;return}}function YF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+104|0;g=c[f>>2]|0;b=b+20|0;c[f>>2]=(c[b>>2]|0)+(0-e<<3);fi[d&511](a);c[b>>2]=(c[f>>2]|0)+8;c[f>>2]=g;return}function ZF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((c[(c[b+16>>2]|0)+52>>2]|0)<(e|0)){e=1;return e|0}d=uN(a,362477,32)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=d;c[e+4>>2]=z;e=0;return e|0}function _F(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a+40|0;d=c[a>>2]|0;while(1){if(!d){a=5;break}if((c[d+16>>2]|0)>>>0<b>>>0){a=5;break}e=d+16|0;i=c[e>>2]|0;h=c[i+4>>2]|0;f=d+24|0;g=f;c[g>>2]=c[i>>2];c[g+4>>2]=h;c[e>>2]=f;e=c[d+32>>2]|0;c[a>>2]=e;d=e}if((a|0)==5)return}function $F(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[b>>2]|0;f=yM(a+152|0,367326,10)|0;g=c[g+24>>2]|0;d=a+104|0;e=c[d>>2]|0;c[d>>2]=b;fi[c[g+(f<<3)+4>>2]&511](a);c[d>>2]=e;return}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b+40|0;b=c[g>>2]|0;if(!b){h=BN(a,d)|0;c[g>>2]=h;return h|0}else f=0;while(1){if(!b){b=0;break}e=c[b+16>>2]|0;if(e>>>0<=d>>>0){h=6;break}f=b;b=c[b+32>>2]|0}if((h|0)==6)if((e|0)==(d|0)){h=b;return h|0}h=BN(a,d)|0;c[((f|0)==0?g:f+32|0)>>2]=h;c[h+32>>2]=b;return h|0}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+44|0;j=(c[g>>2]|0)+20|0;k=c[j>>2]|0;h=k+-16|0;e=c[h>>2]|0;h=c[h+4>>2]|0;k=k+-8|0;i=k;f=c[i>>2]|0;i=c[i+4>>2]|0;c[j>>2]=k;i=kG(a,e,h,f,i,b)|0;h=(c[g>>2]|0)+48|0;c[h>>2]=i;c[h+4>>2]=z;h=(c[g>>2]|0)+48|0;if(!((c[h>>2]|0)==1?(c[h+4>>2]|0)==2147221504:0))return;e=OM(a,f,b,e)|0;j=OF(e)|0;k=(c[(c[g>>2]|0)+20>>2]|0)+-8|0;c[k>>2]=j;c[k+4>>2]=z;if((b|0)!=-1)return;lG(a,e,d);return}function cG(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+24|0;n=o;m=o+16|0;k=(c[f+36>>2]|0)+24|0;i=(b|0)==71;if(i)f=c[f+8>>2]|0;if(eG(g,h,10)|0){c[m>>2]=1;b=e+40|0;k=jG(a,(c[b>>2]|0)+24|0,k,i,g+24|0)|0;c[m+4>>2]=k;if(!k){d=(c[f+36>>2]|0)+24|0;m=(c[b>>2]|0)+24|0;k=n;c[k>>2]=g;c[k+4>>2]=h;c[n+8>>2]=d;c[n+12>>2]=m;m=QM(a,362136,n)|0;n=(c[a+44>>2]|0)+48|0;c[n>>2]=m;c[n+4>>2]=z;l=o;return}}else{n=g;c[m+4>>2]=n;c[m>>2]=2;tJ(f,c[n+16>>2]|0)};c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];NM(a,f,d,j);l=o;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;h=k;g=c[a+48>>2]|0;g=eN(c[g+16>>2]|0,c[g+24>>2]|0,b,d)|0;if(!((g|0)==4&(z|0)==2147221504)){d=2147221504;j=1;z=d;l=k;return j|0}e=c[a+112>>2]|0;g=b+24|0;if((e|0)!=0?(f=Sh[e&255](a,g)|0,(f|0)!=0):0){e=hG(a,b,d,f,0,1)|0;KF(a,f,0,0)|0}else i=4;do if((i|0)==4){e=(e3(g,362067)|0)==0;if(!(e3(g,362072)|0)){e=hG(a,b,d,363545,0,1)|0;break}if(e){e=hG(a,b,d,e?362543:0,0,1)|0;break}j=h;c[j>>2]=b;c[j+4>>2]=d;j=QM(a,362079,h)|0;d=(c[a+44>>2]|0)+48|0;c[d>>2]=j;c[d+4>>2]=z;d=2147221504;j=1;z=d;l=k;return j|0}while(0);if(!e){i=j;c[i>>2]=b;c[i+4>>2]=d;j=QM(a,362106,j)|0;d=(c[a+44>>2]|0)+48|0;c[d>>2]=j;c[d+4>>2]=z;d=2147221504;j=1;z=d;l=k;return j|0}else{j=OF(e)|0;d=z;z=d;l=k;return j|0}return 0}function eG(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b>>>0>4294705151|(b|0)==-262145&a>>>0>4294967295)){d=0;return d|0}d=(c[a>>2]|0)==(d|0);return d|0}function fG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+8|0;g=j;h=c[a+48>>2]|0;h=gG(c[h+16>>2]|0,c[h+24>>2]|0,b,d)|0;if(!h){i=g;c[i>>2]=b;c[i+4>>2]=d;i=QM(a,361990,g)|0;h=(c[a+44>>2]|0)+48|0;c[h>>2]=i;c[h+4>>2]=z;h=2147221504;i=1;z=h;l=j;return i|0}g=e;g=yM(h+28|0,g+24|0,c[g+16>>2]|0)|0;if((g|0)==-1){h=i;c[h>>2]=e;c[h+4>>2]=f;h=i+8|0;c[h>>2]=b;c[h+4>>2]=d;i=QM(a,362016,i)|0;h=(c[a+44>>2]|0)+48|0;c[h>>2]=i;c[h+4>>2]=z;h=2147221504;i=1;z=h;l=j;return i|0}else{i=(c[h+16>>2]|0)+(g<<3)|0;h=c[i+4>>2]|0;i=c[i>>2]|0;z=h;l=j;return i|0}return 0}function gG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=eN(a,b,c,d)|0;return ((d|0)==4&(z|0)==2147221504?0:d)|0}function hG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=a+48|0;h=c[i>>2]|0;h=gG(c[h+16>>2]|0,c[h+24>>2]|0,b,d)|0;a:do if(!h){h=rN(a,b)|0;k=c[i>>2]|0;j=OF(h)|0;mN(a,k,b,d,j,z);j=c[i>>2]|0;j=gG(c[j+16>>2]|0,c[j+24>>2]|0,1,2147221504)|0;b=j+20|0;d=j+28|0;j=j+16|0;i=0;while(1){if((i|0)>=(c[b>>2]|0))break a;l=c[d>>2]|0;k=(c[j>>2]|0)+(i<<3)|0;iG(a,h,c[l+(i<<3)>>2]|0,c[l+(i<<3)+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;i=i+1|0}}while(0);h=sJ(a,h,e,f,g)|0;if(!h){l=0;return l|0}QF(a,h);l=TM(a,h)|0;QF(a,l);l=UM(a,l)|0;RF(a);RF(a);return l|0}function iG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if((c[b+20>>2]|0)==65536){j=-2;return j|0}j=g>>>0>4294705151|(g|0)==-262145&f>>>0>4294967295;if(j)QF(a,f);i=b+28|0;h=yM(i,d,e)|0;if((h|0)!=-1){b=(c[b+16>>2]|0)+(h<<3)|0;if(0==0?(c[b+4>>2]&2147221504|0)==2147221504:0)h=-1;else{e=b;c[e>>2]=f;c[e+4>>2]=g}}else{h=wM(a,i,d,e)|0;GM(a,b+16|0,f,g)}if(!j){j=h;return j|0}RF(a);j=h;return j|0}function jG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+116>>2]|0;if(g|0?(h=Wh[g&31](a,b,d,e,f)|0,h|0):0){f=h;return f|0}if(!(e3(b,362067)|0))a=VG(e,f)|0;else a=0;if(e3(b,362072)|0){f=a;return f|0}f=YG(e,f)|0;return f|0}function kG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+64|0;j=n+48|0;m=n+40|0;k=n+24|0;i=n+8|0;h=n;if(!(eG(e,f,0)|0)){m=h;c[m>>2]=b;c[m+4>>2]=d;m=QM(a,362197,h)|0;k=z;z=k;l=n;return m|0}if(((((((e|0)!=(c[a+4>>2]|0)?(e|0)!=(c[a+8>>2]|0):0)?(e|0)!=(c[a+12>>2]|0):0)?(e|0)!=(c[a+16>>2]|0):0)?(e|0)!=(c[a+20>>2]|0):0)?(e|0)!=(c[a+36>>2]|0):0)?(e|0)!=(c[a+40>>2]|0):0){f=c[e+20>>2]|0;if((f|0)==-1){j=OF(c[e+36>>2]|0)|0;m=k;c[m>>2]=b;c[m+4>>2]=d;m=k+8|0;c[m>>2]=j;c[m+4>>2]=z;m=QM(a,362297,k)|0;k=z;z=k;l=n;return m|0}if((g|0)==-1&(f|0)>0){k=m;c[k>>2]=b;c[k+4>>2]=d;m=QM(a,362346,m)|0;k=z;z=k;l=n;return m|0}if((f+g|0)<=255){k=2147221504;m=1;z=k;l=n;return m|0}m=j;c[m>>2]=b;c[m+4>>2]=d;m=QM(a,362406,j)|0;k=z;z=k;l=n;return m|0}k=OF(c[e+36>>2]|0)|0;m=i;c[m>>2]=b;c[m+4>>2]=d;m=i+8|0;c[m>>2]=k;c[m+4>>2]=z;m=QM(a,362247,i)|0;k=z;z=k;l=n;return m|0}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+24|0;f=k+8|0;h=k;j=k+16|0;e=c[a+120>>2]|0;if(!e){e=0;f=0}else{ti[e&63](f,a,(c[d+40>>2]|0)+24|0,(c[b+36>>2]|0)+24|0);e=c[f>>2]|0;f=c[f+4>>2]|0}if((e|f|0)==0?(e3((c[d+40>>2]|0)+24|0,362072)|0)==0:0){WG(h);g=c[h>>2]|0;d=c[h+4>>2]|0}else{g=e;d=f}c[j>>2]=1;e=a+152|0;f=xM(a,e,367326,10)|0;if(g|0){c[j+4>>2]=g;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];NM(a,b,f,i)}e=xM(a,e,361979,10)|0;if(!d){l=k;return}c[j+4>>2]=d;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];NM(a,b,e,i);l=k;return}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a+28>>2]|0;f=a+32|0;a=c[f>>2]|0;c[f>>2]=a+1;c[e+(a*12|0)+8>>2]=d;c[e+(a*12|0)+4>>2]=b;c[e+(a*12|0)>>2]=c[(c[b+16>>2]|0)+16>>2];return}function nG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+100|0;if((c[d>>2]|0)==(b|0))c[d>>2]=c[b+12>>2];f=b+8|0;d=c[f>>2]|0;e=b+12|0;if(d|0)c[d+12>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[d+8>>2]=c[f>>2];c[f>>2]=0;c[e>>2]=0;f=b;c[f>>2]=1;c[f+4>>2]=2147221504;KF(a,b,0,0)|0;return}function oG(a,b){a=a|0;b=b|0;return pG(a,362538,b)|0}function pG(a,b,c){a=a|0;b=b|0;c=c|0;b=qG(a,b,c,0,1)|0;if(!b){a=1;return a|0}a=UF(a,b)|0;return a|0}function qG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=(b|0)==0;if(g){b=2147221504;f=1}else{f=tN(a,b)|0;b=z;QF(a,f)}b=hG(a,f,b,c,d,e)|0;if(!b)if(g)b=0;else{RF(a);b=0}else if(!g)RF(a);return b|0}function rG(a,b){a=a|0;b=b|0;b=yM(a+28|0,b,r4(b)|0)|0;b=(c[a+16>>2]|0)+(b<<3)|0;z=c[b+4>>2]|0;return c[b>>2]|0}function sG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+20>>2]|0)==65536){f=-2;return f|0}f=tG(+(f|0))|0;GM(a,b+16|0,f,z);f=wM(a,b+28|0,d,e)|0;return f|0}function tG(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function uG(a){a=a|0;var b=0;b=c[a+104>>2]|0;if(!b){b=0;return b|0}b=(c[(c[a+44>>2]|0)+20>>2]|0)-b>>3;return b|0}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+104|0;d=c[g>>2]|0;if(!d){f=UM(a,0)|0;e=a+44|0;c[e>>2]=f;d=c[f+16>>2]|0;c[g>>2]=d}else{f=a+44|0;e=f;f=c[f>>2]|0}if(((c[f+20>>2]|0)-d>>3|0)>=(b|0))return;XM(a,f,(d-(c[f+16>>2]|0)>>3)+b|0);c[(c[e>>2]|0)+20>>2]=(c[g>>2]|0)+(b<<3);return}function wG(a,b){a=a|0;b=b|0;b=a+(b<<3)|0;a=c[b>>2]|0;b=c[b+4>>2]|0;if(xG(a,b)|0){b=0;return b|0}if(!(0==0&(b&2147221504|0)==2147221504)){b=1;return b|0}if(eG(a,b,4)|0){b=2;return b|0}if(eG(a,b,6)|0){b=3;return b|0}if((a|0)==1&(b|0)==2147221504){b=4;return b|0}else{b=eG(a,b,10)|0;return (b?5:6)|0}return 0}function xG(a,b){a=a|0;b=b|0;return (a|1|0)==3&(b|0)==2147221504|0}function yG(a,b){a=a|0;b=b|0;b=(c[a+104>>2]|0)+(b<<3)|0;return ((c[b>>2]|0)==3?(c[b+4>>2]|0)==2147221504:0)|0}function zG(a,b){a=a|0;b=b|0;b=(c[a+104>>2]|0)+(b<<3)|0;return +(+AG(c[b>>2]|0,c[b+4>>2]|0))}function AG(a,b){a=a|0;b=b|0;c[j>>2]=a;c[j+4>>2]=b;return +(+h[j>>3])}function BG(a,b){a=a|0;b=b|0;return (c[(c[a+104>>2]|0)+(b<<3)>>2]|0)+16|0}function CG(a,b){a=a|0;b=b|0;return (c[(c[a+104>>2]|0)+(b<<3)>>2]|0)+24|0}function DG(a){a=a|0;var b=0;b=c[a+104>>2]|0;return PF(a,c[b>>2]|0,c[b+4>>2]|0)|0}function EG(a,b,c){a=a|0;b=b|0;c=c|0;FG(a,b,c?3:2,c?2147221504:2147221504);return}function FG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a+(b<<3)|0;c[b>>2]=d;c[b+4>>2]=e;return}function GG(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=tG(c)|0;FG(a,b,d,z);return}function HG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+104|0;e=YM(a,c[(c[f>>2]|0)+(d<<3)>>2]|0,e)|0;a=OF(e)|0;d=(c[f>>2]|0)+(b<<3)|0;c[d>>2]=a;c[d+4>>2]=z;return e+16|0}function IG(a){a=a|0;var b=0;b=OF(aN(a,0)|0)|0;FG(c[a+104>>2]|0,0,b,z);return}function JG(a,b){a=a|0;b=b|0;b=tN(a,b)|0;FG(c[a+104>>2]|0,0,b,z);return}function KG(a,b){a=a|0;b=b|0;FG(c[a+104>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0);return}function LG(a){a=a|0;return c[(c[(c[a+104>>2]|0)+32>>2]|0)+20>>2]|0}function MG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+104>>2]|0;a=(c[(c[e+32>>2]|0)+16>>2]|0)+(b<<3)|0;b=c[a+4>>2]|0;d=e+(d<<3)|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;return}function NG(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+104>>2]|0;d=c[e>>2]|0;if((b|0)<0)b=(c[d+20>>2]|0)+1+b|0;e=e+8|0;bN(a,d,c[e>>2]|0,c[e+4>>2]|0,b);return}function OG(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b;c[d>>2]=362538;d=QM(a,362536,d)|0;e=z;QF(a,d);f=c[a+48>>2]|0;e=gG(c[f+16>>2]|0,c[f+24>>2]|0,d,e)|0;RF(a);d=yM(e+28|0,336504,4)|0;d=(c[e+16>>2]|0)+(d<<3)|0;FG(c[a+104>>2]|0,0,c[d>>2]|0,c[d+4>>2]|0);l=b;return}function PG(a,b,d){a=a|0;b=b|0;d=d|0;a=a+48|0;c[a>>2]=b;c[a+4>>2]=d;return}function QG(a){a=a|0;return a|0}function RG(a,b){a=a|0;b=b|0;c[a+144>>2]=b;return}function SG(a){a=a|0;var b=0,d=0;d=CG(a,1)|0;b=yG(a,2)|0;b=qG(a,362538,d,b,yG(a,3)|0)|0;d=c[a+104>>2]|0;if(!b){a=1;b=2147221504}else{a=TG(b)|0;b=z}c[d>>2]=a;c[d+4>>2]=b;return}function TG(a){a=a|0;z=-262144;return a|0}function UG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;vG(a,3);h=c[a+48>>2]|0;d=a+104|0;b=(c[d>>2]|0)+8|0;b=eN(c[h+16>>2]|0,c[h+24>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if((b|0)==4&(z|0)==2147221504){a=c[d>>2]|0;c[a>>2]=1;c[a+4>>2]=2147221504;return}h=aN(a,c[b+32>>2]|0)|0;f=TG(h)|0;g=c[d>>2]|0;c[g>>2]=f;c[g+4>>2]=z;g=h+20|0;h=h+16|0;d=0;while(1){f=c[g>>2]|0;if((d|0)>=(f|0))break;f=(c[h>>2]|0)+(d<<3)|0;c[f>>2]=1;c[f+4>>2]=2147221504;d=d+1|0}e=b+28|0;d=0;b=f;while(1){if((d|0)>=(b|0))break;f=c[e>>2]|0;f=uN(a,c[f+(d<<3)>>2]|0,c[f+(d<<3)+4>>2]|0)|0;b=(c[h>>2]|0)+(d<<3)|0;c[b>>2]=f;c[b+4>>2]=z;d=d+1|0;b=c[g>>2]|0}return}function VG(a,b){a=a|0;b=b|0;if(!(e3(b,363506)|0))return 262;else{b=(e3(b,363522)|0)==0;return (b?261:0)|0}return 0}function WG(a){a=a|0;c[a>>2]=263;c[a+4>>2]=0;return}function XG(a){a=a|0;c[(HG(a,0,0,68)|0)+64>>2]=0;return}function YG(a,b){a=a|0;b=b|0;if(!(e3(b,367326)|0)){b=263;return b|0}if(!(e3(b,367337)|0)){b=265;return b|0}if(!(e3(b,367345)|0)){b=266;return b|0}if(!(e3(b,367354)|0)){b=267;return b|0}if(!(e3(b,367393)|0)){b=268;return b|0}else{b=(e3(b,367401)|0)==0;return (b?264:0)|0}return 0}function ZG(a){a=a|0;var b=0;b=BG(a,0)|0;F5(Dh(0)|0);a=0;while(1){if((a|0)==16)break;c[b+(a<<2)>>2]=G5()|0;a=a+1|0}return}function _G(a){a=a|0;var b=0;b=BG(a,0)|0;F5(~~+zG(a,1)>>>0);a=0;while(1){if((a|0)==16)break;c[b+(a<<2)>>2]=G5()|0;a=a+1|0}return}function $G(a){a=a|0;var b=0,d=0,e=0;d=BG(a,0)|0;b=0;while(1){if((b|0)==16)break;e=b+1|0;c[d+(b<<2)>>2]=~~+zG(a,e)>>>0;b=e}return}function aH(a){a=a|0;var b=0.0,d=0;d=BG(a,0)|0;b=+((cH(d)|0)>>>0)*2097152.0;b=(b+ +(((cH(d)|0)&2097151)>>>0))*1.1102230246251565e-16;GG(c[a+104>>2]|0,0,b);return}function bH(a){a=a|0;var b=0.0;b=+((cH(BG(a,0)|0)|0)>>>0);GG(c[a+104>>2]|0,0,b);return}function cH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+64|0;e=c[b>>2]|0;d=a+(e<<2)|0;h=c[d>>2]|0;i=c[a+((e+13&15)<<2)>>2]|0;f=h^i;i=f^h<<16^i<<15;e=c[a+((e+9&15)<<2)>>2]|0;e=e^e>>>11;h=i^e;c[d>>2]=h;d=(c[b>>2]|0)+15&15;c[b>>2]=d;d=a+(d<<2)|0;g=c[d>>2]|0;c[d>>2]=g^i^(h^h<<5&-633066208)^g<<2^f<<18^e<<28;return c[a+(c[b>>2]<<2)>>2]|0}function dH(a,b){a=a|0;b=b|0;FH(a);HH(a,1,370019);return}function eH(a,b){a=a|0;b=b|0;CH(a,371128);DH(a,0,371145,5);while(1){EH(a);if((dI(c[(c[a>>2]|0)+24>>2]|0)|0)==3){b=4;break}FH(a);DH(a,1,371166,11);if(!(GH(c[a>>2]|0,10)|0)){b=4;break}}if((b|0)==4){EH(a);HH(a,3,369987);return}}function fH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[2688];c[d+4>>2]=c[2689];c[d+8>>2]=c[2690];c[d+12>>2]=c[2691];EI(a,d);HH(a,3,369959);if(!b){CI(a,24,d);l=e;return}if(!(GH(c[a>>2]|0,26)|0)){CI(a,24,d);l=e;return}c[d+8>>2]=4;f=d+12|0;b=(c[f>>2]|0)+1|0;c[f>>2]=b;rI(a,b);FH(a);CI(a,24,d);l=e;return}function gH(a,b){a=a|0;b=b|0;c[b+8>>2]=3;c[b+4>>2]=0;qI(a,b);HH(a,3,369930);oI(a,b)|0;return}function hH(a,b){a=a|0;b=b|0;CH(a,371216);DH(a,0,371145,5);while(1){EH(a);if((dI(c[(c[a>>2]|0)+24>>2]|0)|0)==5){b=4;break}eI(a,16);HH(a,6,369874);EH(a);FH(a);DH(a,2,371220,13);if(!(GH(c[a>>2]|0,10)|0)){b=4;break}}if((b|0)==4){EH(a);HH(a,5,369900);return}}function iH(a,b){a=a|0;b=b|0;EH(a);HH(a,54,369844);AI(a,b,24);return}function jH(a,b){a=a|0;b=b|0;var d=0,e=0;b=l;l=l+16|0;d=b;e=rJ(c[(c[a>>2]|0)+48>>2]|0)|0;EH(a);eI(a,(c[e+12>>2]|0)+1|0);e=c[e+16>>2]|0;c[d>>2]=e;c[d+4>>2]=r4(e)|0;c[d+8>>2]=0;c[d+12>>2]=1;CI(a,24,d);l=b;return}function kH(a,b){a=a|0;b=b|0;c[b+8>>2]=0;c[b+12>>2]=1;HH(a,0,369812);sI(a)|0;HH(a,1,368397);return}function lH(a,b){a=a|0;b=b|0;b=rJ(c[(c[a>>2]|0)+48>>2]|0)|0;EH(a);eI(a,17);DH(a,0,c[b+16>>2]|0,1);return}function mH(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;c[d>>2]=1;if(!(GH(c[a>>2]|0,0)|0))return;c[d>>2]=0;c[b+12>>2]=1;sI(a)|0;HH(a,1,368397);return}function nH(a,b){a=a|0;b=b|0;EH(a);b=TI(a,62)|0;eI(a,4);bJ(a,b);return}function oH(a,b){a=a|0;b=b|0;EH(a);b=TI(a,61)|0;eI(a,5);bJ(a,b);return}function pH(a,b){a=a|0;b=b|0;c[b+8>>2]=1;return}function qH(a,b){a=a|0;b=b|0;var c=0;EH(a);c=TI(a,60)|0;eI(a,3);HH(a,6,369758);EH(a);b=TI(a,58)|0;bJ(a,c);eI(a,2);bJ(a,b);return}function rH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d+16|0;HH(a,54,369647);BI(e,a,5);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];if(GH(c[a>>2]|0,26)|0)JH(a,369690,d);if(!(GH(c[a>>2]|0,0)|0)){JH(a,369724,d+8|0);l=d;return}if(GH(c[a>>2]|0,1)|0){l=d;return}qI(a,b);HH(a,1,368061);l=d;return}function sH(a,b){a=a|0;b=b|0;iI(a,(c[(c[a>>2]|0)+48>>2]|0)==37?2:3);return}function tH(a,b){a=a|0;b=b|0;iI(a,1);return}function uH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=yI(a)|0;e=(d|0)==0;if(e)JH(a,369572,f);zI(a);if(GH(c[a>>2]|0,7)|0){HH(a,54,369612);AI(a,b,41);l=f;return}if(e){l=f;return}DI(a,41,c[d+44>>2]|0);l=f;return}function vH(a,b){a=a|0;b=b|0;b=l;l=l+16|0;if(!(yI(a)|0)){JH(a,369533,b);l=b;return}else{zI(a);l=b;return}}function wH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+24|0;f=i+16|0;e=i+8|0;h=yI(b)|0;do if(h){if(a[h+40>>0]&1){JH(b,369410,e);f=255;break}if(a[h+41>>0]&1){JH(b,369451,f);f=255;break}f=c[b>>2]|0;f=xM(c[f>>2]|0,h+4|0,c[f+52>>2]|0,c[f+56>>2]|0)|0;if((f|0)>254){c[g>>2]=255;JH(b,369500,g)}}else{JH(b,369354,i);f=255}while(0);if(d?GH(c[b>>2]|0,26)|0:0){FH(b);e=0}else e=1;d=c[b+4>>2]|0;if(d|0?(c[d+6168>>2]|0)==(h|0):0){eJ(b,e?19:20,f)|0;l=i;return}zI(b);eJ(b,e?21:22,f)|0;l=i;return}function xH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;f=mJ(a)|0;if(!f){JH(a,369297,j);l=j;return}h=c[a>>2]|0;g=h+52|0;e=c[g>>2]|0;h=h+56|0;d=c[h>>2]|0;if((nJ(f,e,d)|0)==-1){e=tI(f,0)|0;iI(f,1);fJ(f,e);e=c[g>>2]|0;d=c[h>>2]|0}qJ(i,a,e,d);wI(a,b,c[i>>2]|0,c[i+4>>2]|0);l=j;return}function yH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+8|0;n=q;o=q+16|0;m=c[b>>2]|0;e=m+52|0;k=m+56|0;vI(o,b,c[e>>2]|0,c[k>>2]|0);f=c[o>>2]|0;if((f|0)!=-1){wI(b,d,f,c[o+4>>2]|0);l=q;return}g=c[e>>2]|0;h=xI(a[g>>0]|0)|0;if(h?yI(b)|0:0){zI(b);AI(b,d,24);l=q;return}c[o+4>>2]=2;i=c[b>>2]|0;j=c[i+4>>2]|0;f=c[k>>2]|0;e=yM(j+28|0,g,f)|0;c[o>>2]=e;do if((e|0)==-1)if(h){JH(b,368430,n);l=q;return}else{e=sG(c[i>>2]|0,j,g,f,c[m+60>>2]|0)|0;c[o>>2]=e;if((e|0)!=-2)break;JH(b,368199,p);e=-2;break}while(0);wI(b,d,e,2);l=q;return}function zH(a,b){a=a|0;b=b|0;c[b+8>>2]=1;if(oI(a,b)|0)return;pI(a,b);return}function AH(a,b){a=a|0;b=b|0;b=(c[a>>2]|0)+64|0;lI(a,c[b>>2]|0,c[b+4>>2]|0);return}function BH(a,b){a=a|0;b=b|0;CH(a,371128);DH(a,0,371145,5);do{AH(a,0);DH(a,1,371166,11);EH(a);FH(a);DH(a,1,371166,11);EH(a)}while(GH(c[a>>2]|0,57)|0);HH(a,56,367446);AH(a,0);DH(a,1,371166,11);DH(a,0,367482,6);return}function CH(a,b){a=a|0;b=b|0;var d=0;d=(c[(c[a>>2]|0)+4>>2]|0)+28|0;hI(a,17,yM(d,b,r4(b)|0)|0);return}function DH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;hI(a,b+24|0,gI(c[c[a>>2]>>2]|0,d,e)|0);return}function EH(a){a=a|0;fI(a)|0;return}function FH(a){a=a|0;eI(a,1);return}function GH(a,b){a=a|0;b=b|0;if((dI(c[a+24>>2]|0)|0)!=(b|0)){b=0;return b|0}IH(a);b=1;return b|0}function HH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;IH(c[a>>2]|0);if((c[(c[a>>2]|0)+48>>2]|0)==(b|0)){l=e;return}JH(a,d,e);a=c[a>>2]|0;if((c[a+24>>2]|0)!=(b|0)){l=e;return}IH(a);l=e;return}function IH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k+8|0;i=k;h=b+48|0;g=b+24|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];h=b+24|0;a:do if((c[h>>2]|0)!=60){g=b+16|0;e=b+12|0;f=b+20|0;b:while(1){m=c[g>>2]|0;d=(LH(a[m>>0]|0)|0)<<24>>24==0;c[e>>2]=m;if(d){e=62;break}d=MH(b)|0;switch(d<<24>>24|0){case 40:{e=5;break b}case 41:{e=8;break b}case 91:{e=12;break b}case 93:{e=13;break b}case 123:{e=14;break b}case 125:{e=15;break b}case 58:{e=16;break b}case 44:{e=17;break b}case 42:{e=18;break b}case 37:{e=19;break b}case 94:{e=20;break b}case 43:{e=21;break b}case 45:{e=22;break b}case 126:{e=23;break b}case 63:{e=24;break b}case 124:{e=25;break b}case 38:{e=26;break b}case 61:{e=27;break b}case 33:{e=28;break b}case 46:{e=29;break b}case 60:{e=37;break b}case 62:{e=40;break b}case 10:{e=43;break b}case 34:{e=46;break b}case 95:{e=47;break b}case 48:{e=48;break b}case 47:{if(QH(b,47)|0){RH(b);continue b}if(!(QH(b,42)|0)){e=36;break b}SH(b);continue b}case 9:case 13:case 32:while(1){switch((LH(a[c[g>>2]>>0]|0)|0)<<24>>24){case 9:case 13:case 32:break;default:continue b}MH(b)|0}default:{if(!((c[f>>2]|0)==1&d<<24>>24==35)){e=54;break b}if((LH(a[c[g>>2]>>0]|0)|0)<<24>>24!=33){d=35;e=54;break b}RH(b);continue b}}}switch(e|0){case 5:{d=c[b+104>>2]|0;if((d|0)>0){m=b+72+(d+-1<<2)|0;c[m>>2]=(c[m>>2]|0)+1}NH(b,0);break a}case 8:{d=b+104|0;e=c[d>>2]|0;if((e|0)>0?(j=b+72+(e+-1<<2)|0,m=(c[j>>2]|0)+-1|0,c[j>>2]=m,(m|0)==0):0){c[d>>2]=(c[d>>2]|0)+-1;OH(b);break a}NH(b,1);break a}case 12:{NH(b,2);break a}case 13:{NH(b,3);break a}case 14:{NH(b,4);break a}case 15:{NH(b,5);break a}case 16:{NH(b,6);break a}case 17:{NH(b,10);break a}case 18:{NH(b,11);break a}case 19:{NH(b,13);break a}case 20:{NH(b,20);break a}case 21:{NH(b,14);break a}case 22:{NH(b,15);break a}case 23:{NH(b,24);break a}case 24:{NH(b,25);break a}case 25:{PH(b,124,19,18);break a}case 26:{PH(b,38,22,21);break a}case 27:{PH(b,61,31,26);break a}case 28:{PH(b,61,32,23);break a}case 29:if(QH(b,46)|0){PH(b,46,9,8);break a}else{NH(b,7);break a}case 36:{NH(b,12);break a}case 37:if(QH(b,60)|0){NH(b,16);break a}else{PH(b,61,29,27);break a}case 40:if(QH(b,62)|0){NH(b,17);break a}else{PH(b,61,30,28);break a}case 43:{NH(b,58);break a}case 46:{OH(b);break a}case 47:{m=(LH(a[c[g>>2]>>0]|0)|0)<<24>>24==95;TH(b,m?53:52);break a}case 48:if((LH(a[c[g>>2]>>0]|0)|0)<<24>>24==120){UH(b);break a}else{VH(b);break a}case 54:{if(WH(d)|0){TH(b,54);break a}if(XH(d)|0){VH(b);break a}if(d<<24>>24<32|d<<24>>24==127){c[j>>2]=d&255;YH(b,367591,j)}else{c[i>>2]=d<<24>>24;YH(b,367567,i)}c[h>>2]=59;c[b+32>>2]=0;break a}case 62:{NH(b,60);break a}}}while(0);l=k;return}function JH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+176|0;j=k+8|0;i=k;f=k+16|0;g=k+32|0;h=c[a>>2]|0;e=h+48|0;if((c[e>>2]|0)==59){l=k;return}c[f>>2]=d;switch(c[e>>2]|0){case 58:{KH(c[a>>2]|0,c[h+60>>2]|0,367489,b,f);break}case 60:{KH(c[a>>2]|0,c[h+60>>2]|0,367506,b,f);break}default:{e=c[h+56>>2]|0;d=c[h+52>>2]|0;if((e|0)<65){c[i>>2]=e;c[i+4>>2]=d;h3(g,367527,i)|0}else{c[j>>2]=64;c[j+4>>2]=d;h3(g,367543,j)|0}KH(c[a>>2]|0,c[h+60>>2]|0,g,b,f)}}l=k;return}function KH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+144|0;i=j;h=j+4|0;a[b+110>>0]=1;if(!(a[b+109>>0]&1)){l=j;return}if(!(c[(c[b>>2]|0)+128>>2]|0)){l=j;return}c[i>>2]=e;i3(h+(h3(h,367562,i)|0)|0,f,g)|0;i=c[b>>2]|0;zi[c[i+128>>2]&31](i,0,(c[(c[b+4>>2]|0)+40>>2]|0)+24|0,d,h);l=j;return}function LH(a){a=a|0;return a|0}function MH(b){b=b|0;var d=0,e=0,f=0;e=b+16|0;f=c[e>>2]|0;d=LH(a[f>>0]|0)|0;c[e>>2]=f+1;if(d<<24>>24!=10)return d|0;f=b+20|0;c[f>>2]=(c[f>>2]|0)+1;return d|0}function NH(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;d=c[a+12>>2]|0;c[a+28>>2]=d;c[a+32>>2]=(c[a+16>>2]|0)-d;c[a+36>>2]=(c[a+20>>2]|0)+(((b|0)==58)<<31>>31);return}function OH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+24|0;i=n+16|0;h=n+8|0;g=n;k=n+28|0;hM(k);d=b+104|0;e=b+16|0;a:while(1){f=MH(b)|0;switch(f<<24>>24){case 34:{d=56;break a}case 0:{m=3;break a}case 37:{if((c[d>>2]|0)<8){m=5;break a}c[i>>2]=8;YH(b,367844,i);break}case 92:do switch((MH(b)|0)<<24>>24|0){case 34:{lM(c[b>>2]|0,k,34);continue a}case 92:{lM(c[b>>2]|0,k,92);continue a}case 37:{lM(c[b>>2]|0,k,37);continue a}case 48:{lM(c[b>>2]|0,k,0);continue a}case 97:{lM(c[b>>2]|0,k,7);continue a}case 98:{lM(c[b>>2]|0,k,8);continue a}case 102:{lM(c[b>>2]|0,k,12);continue a}case 110:{lM(c[b>>2]|0,k,10);continue a}case 114:{lM(c[b>>2]|0,k,13);continue a}case 116:{lM(c[b>>2]|0,k,9);continue a}case 117:{bI(b,k,4);continue a}case 85:{bI(b,k,8);continue a}case 118:{lM(c[b>>2]|0,k,11);continue a}case 120:{lM(c[b>>2]|0,k,(cI(b,2,367888)|0)&255);continue a}default:{c[j>>2]=a[(c[e>>2]|0)+-1>>0];YH(b,367893,j);continue a}}while(0);default:{}}lM(c[b>>2]|0,k,f)}if((m|0)==3){YH(b,367800,g);c[e>>2]=(c[e>>2]|0)+-1;d=56}else if((m|0)==5){if((MH(b)|0)<<24>>24!=40)YH(b,367821,h);m=c[d>>2]|0;c[d>>2]=m+1;c[b+72+(m<<2)>>2]=1;d=57}j=uN(c[b>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;m=b+40|0;c[m>>2]=j;c[m+4>>2]=z;iM(c[b>>2]|0,k);NH(b,d);l=n;return}function PH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=QH(a,b)|0;NH(a,b?c:d);return}function QH(b,d){b=b|0;d=d|0;if((LH(a[c[b+16>>2]>>0]|0)|0)<<24>>24!=d<<24>>24){d=0;return d|0}MH(b)|0;d=1;return d|0}function RH(b){b=b|0;var d=0;d=b+16|0;a:while(1){switch((LH(a[c[d>>2]>>0]|0)|0)<<24>>24){case 0:case 10:break a;default:{}}MH(b)|0}return}function SH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=b+16|0;f=1;a:while(1){e=(f|0)>0;b:while(1){if(!e){i=12;break a}d=c[g>>2]|0;switch((LH(a[d>>0]|0)|0)<<24>>24){case 0:break a;case 47:{if((ZH(d)|0)<<24>>24==42){i=7;break b}break}case 42:{if((ZH(d)|0)<<24>>24==47){i=10;break b}break}default:{}}MH(b)|0}if((i|0)==7){i=0;MH(b)|0;MH(b)|0;d=1}else if((i|0)==10){i=0;MH(b)|0;MH(b)|0;d=-1}f=f+d|0}if((i|0)==12){l=j;return}YH(b,367772,h);l=j;return}function TH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+16|0;while(1){f=c[e>>2]|0;g=LH(a[f>>0]|0)|0;if(!(WH(g)|0)?!(XH(g)|0):0)break;MH(b)|0}g=c[b+12>>2]|0;f=f-g|0;e=0;while(1){if((e|0)==19){h=11;break}if((f|0)==(c[10196+(e*12|0)+4>>2]|0)?(f3(g,c[10196+(e*12|0)>>2]|0,f)|0)==0:0)break;e=e+1|0}if((h|0)==11){NH(b,d);return}h=c[10196+(e*12|0)+8>>2]|0;NH(b,h);return}function UH(a){a=a|0;MH(a)|0;do{}while((aI(a)|0)!=-1);_H(a,1);return}function VH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=b+16|0;while(1){e=c[d>>2]|0;f=LH(a[e>>0]|0)|0;if(!(XH(f)|0))break;MH(b)|0}a:do if(f<<24>>24==46?XH(ZH(e)|0)|0:0){MH(b)|0;while(1){if(!(XH(LH(a[c[d>>2]>>0]|0)|0)|0))break a;MH(b)|0}}while(0);if(!(QH(b,101)|0)?!(QH(b,69)|0):0){_H(b,0);l=h;return}QH(b,45)|0;if(!(XH(LH(a[c[d>>2]>>0]|0)|0)|0))YH(b,367616,g);while(1){if(!(XH(LH(a[c[d>>2]>>0]|0)|0)|0))break;MH(b)|0}_H(b,0);l=h;return}function WH(a){a=a|0;var b=0;if(a<<24>>24>96)if(a<<24>>24<123)a=1;else b=4;else if((a+-65&255)<26)a=1;else b=4;if((b|0)==4)a=a<<24>>24==95;return a|0}function XH(a){a=a|0;return (a+-48&255)<10|0}function YH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;KH(a,c[a+20>>2]|0,367610,b,f);l=e;return}function ZH(b){b=b|0;if(!((LH(a[b>>0]|0)|0)<<24>>24)){b=0;return b|0}b=a[b+1>>0]|0;return b|0}function _H(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;c[105438]=0;e=c[a+12>>2]|0;if(b){e=W2(e)|0;d=+(e>>>0)+4294967296.0*+(z|0)}else d=+U5(e,0);h=$H(d)|0;b=a+40|0;e=b;c[e>>2]=h;c[e+4>>2]=z;if((c[105438]|0)!=34){NH(a,55);l=g;return}c[f>>2]=4;YH(a,367650,f);f=$H(0.0)|0;h=b;c[h>>2]=f;c[h+4>>2]=z;NH(a,55);l=g;return}function $H(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function aI(a){a=a|0;var b=0;b=MH(a)|0;do if(b<<24>>24>47){if(b<<24>>24<58){b=(b<<24>>24)+-48|0;return b|0}if(b<<24>>24>96){if(b<<24>>24>=103)break;b=(b<<24>>24)+-87|0;return b|0}else{if((b+-65&255)>=6)break;b=(b<<24>>24)+-55|0;return b|0}}while(0);b=a+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=-1;return b|0}function bI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=cI(a,d,367983)|0;e=zM(d)|0;if(!e)return;jM(c[a>>2]|0,b,0,e);AM(d,(c[b>>2]|0)+(c[b+4>>2]|0)+(0-e)|0)|0;return}function cI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;i=b+16|0;f=0;h=0;a:while(1){if((f|0)>=(d|0)){f=8;break}switch((LH(a[c[i>>2]>>0]|0)|0)<<24>>24){case 0:case 34:{f=4;break a}default:{}}g=aI(b)|0;if((g|0)==-1){f=6;break}f=f+1|0;h=h<<4|g}if((f|0)==4){c[j>>2]=e;YH(b,367924,j);c[i>>2]=(c[i>>2]|0)+-1;l=m;return h|0}else if((f|0)==6){c[k>>2]=e;YH(b,367955,k);l=m;return h|0}else if((f|0)==8){l=m;return h|0}return 0}function dI(a){a=a|0;return a|0}function eI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;IH(c[a>>2]|0);d=c[8976+((c[(c[a>>2]|0)+48>>2]|0)*20|0)>>2]|0;if(!d){JH(a,367991,f);l=f;return}e=b>>>0<4;li[d&511](a,e);while(1){d=c[a>>2]|0;if((c[8976+((c[d+24>>2]|0)*20|0)+12>>2]|0)>>>0<b>>>0)break;IH(d);li[c[8976+((c[(c[a>>2]|0)+48>>2]|0)*20|0)+4>>2]&511](a,e)}l=f;return}function fI(a){a=a|0;if(!(GH(c[a>>2]|0,58)|0)){a=0;return a|0}do{}while(GH(c[a>>2]|0,58)|0);a=1;return a|0}function gI(a,b,c){a=a|0;b=b|0;c=c|0;return xM(a,a+152|0,b,c)|0}function hI(a,b,c){a=a|0;b=b|0;c=c|0;iI(a,b);jI(a,c);return}function iI(a,b){a=a|0;b=b|0;var d=0,e=0;kI(a,b)|0;e=a+6160|0;d=(c[e>>2]|0)+(c[10436+(b<<2)>>2]|0)|0;c[e>>2]=d;b=(c[a+6172>>2]|0)+44|0;if((d|0)<=(c[b>>2]|0))return;c[b>>2]=d;return}function jI(a,b){a=a|0;b=b|0;kI(a,b>>>8&255)|0;kI(a,b&255)|0;return}function kI(a,b){a=a|0;b=b|0;var d=0;d=a+6172|0;lM(c[c[a>>2]>>2]|0,(c[d>>2]|0)+16|0,b&255);b=c[a>>2]|0;pM(c[b>>2]|0,(c[(c[d>>2]|0)+56>>2]|0)+4|0,c[b+60>>2]|0);return (c[(c[d>>2]|0)+20>>2]|0)+-1|0}function lI(a,b,c){a=a|0;b=b|0;c=c|0;hI(a,0,mI(a,b,c)|0);return}function mI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;if(a[(c[b>>2]|0)+110>>0]&1){e=-1;l=k;return e|0}j=b+6176|0;h=c[j>>2]|0;if(h|0?(f=eN(c[h+16>>2]|0,c[h+24>>2]|0,d,e)|0,g=z,!(0==0&(g&2147221504|0)==2147221504)):0){e=~~+nI(f,g);l=k;return e|0}h=b+6172|0;g=c[h>>2]|0;if((c[g+32>>2]|0)<65536){f=c[c[b>>2]>>2]|0;if(e>>>0>4294705151|(e|0)==-262145&d>>>0>4294967295){QF(f,d);GM(c[c[b>>2]>>2]|0,(c[h>>2]|0)+28|0,d,e);RF(c[c[b>>2]>>2]|0)}else GM(f,g+28|0,d,e);f=c[j>>2]|0;if(!f){f=dN(c[c[b>>2]>>2]|0)|0;c[j>>2]=f}j=c[c[b>>2]>>2]|0;b=$H(+((c[(c[h>>2]|0)+32>>2]|0)+-1|0))|0;mN(j,f,d,e,b,z)}else{c[i>>2]=65536;JH(b,368012,i)}e=(c[(c[h>>2]|0)+32>>2]|0)+-1|0;l=k;return e|0}function nI(a,b){a=a|0;b=b|0;c[j>>2]=a;c[j+4>>2]=b;return +(+h[j>>3])}function oI(a,b){a=a|0;b=b|0;var d=0;if(!(GH(c[a>>2]|0,26)|0)){b=0;return b|0}d=b+8|0;c[d>>2]=(c[d>>2]|0)==3?4:2;HH(a,0,368375);sI(a)|0;HH(a,1,368397);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;b=1;return b|0}function pI(a,b){a=a|0;b=b|0;if(!(GH(c[a>>2]|0,0)|0))return;c[b+8>>2]=0;if(GH(c[a>>2]|0,1)|0)return;qI(a,b);HH(a,1,368061);return}function qI(a,b){a=a|0;b=b|0;var d=0;b=b+12|0;do{EH(a);d=(c[b>>2]|0)+1|0;c[b>>2]=d;rI(a,d);sI(a)|0}while(GH(c[a>>2]|0,10)|0);return}function rI(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if((b|0)!=17){l=e;return}c[d>>2]=16;JH(a,368330,d);l=e;return}function sI(a){a=a|0;HH(a,54,368090);return tI(a,0)|0}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;j=m+32|0;i=m+24|0;d=m;if(!b)b=(c[a>>2]|0)+48|0;h=b+8|0;if((c[h>>2]|0)>64){c[d>>2]=64;JH(a,368112,d)}g=c[a+6156>>2]|0;if((g|0)==-1){k=c[a>>2]|0;b=iG(c[k>>2]|0,c[k+4>>2]|0,c[b+4>>2]|0,c[h>>2]|0,1,2147221504)|0;switch(b|0){case -1:{JH(a,368163,m+8|0);a=-1;l=m;return a|0}case -2:{JH(a,368199,m+16|0);a=-2;l=m;return a|0}default:{a=b;l=m;return a|0}}}f=c[a+4104>>2]|0;d=b+4|0;b=f;while(1){e=b;b=b+-1|0;if((e|0)<=0)break;if((c[a+8+(b<<4)+8>>2]|0)<(g|0))break;e=c[a+8+(b<<4)+4>>2]|0;if((e|0)!=(c[h>>2]|0))continue;if(!(f3(c[a+8+(b<<4)>>2]|0,c[d>>2]|0,e)|0)){k=14;break}}if((k|0)==14){JH(a,368234,i);a=b;l=m;return a|0}if((f|0)==256){c[j>>2]=256;JH(a,368278,j);a=-1;l=m;return a|0}else{a=uI(a,c[d>>2]|0,c[h>>2]|0)|0;l=m;return a|0}return 0}function uI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+4104|0;g=c[f>>2]|0;c[b+8+(g<<4)>>2]=d;c[b+8+(g<<4)+4>>2]=e;c[b+8+(g<<4)+8>>2]=c[b+6156>>2];a[b+8+(g<<4)+12>>0]=0;e=c[f>>2]|0;c[f>>2]=e+1;return e|0}function vI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=nJ(b,d,e)|0;if((f|0)==-1){f=a;c[f>>2]=oJ(b,d,e)|0;c[f+4>>2]=1;return}else{e=a;c[e>>2]=f;c[e+4>>2]=0;return}}function wI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b?GH(c[a>>2]|0,26)|0:0){FH(a);switch(e|0){case 0:{eJ(a,14,d)|0;return}case 1:{eJ(a,16,d)|0;return}case 2:{hI(a,18,d);return}default:return}}lJ(a,d,e);return}function xI(a){a=a|0;return (a+-97&255)<26|0}function yI(a){a=a|0;a=mJ(a)|0;if(!a){a=0;return a|0}a=c[a+6168>>2]|0;return a|0}function zI(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;vI(d,a,367757,4);lJ(a,c[d>>2]|0,c[d+4>>2]|0);l=b;return}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;BI(e,a,1);if(b?GH(c[a>>2]|0,26)|0:0){EH(a);c[e+8>>2]=2;c[e+12>>2]=1;FH(a);CI(a,d,e);l=f;return}DI(a,d,e);l=f;return}function BI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=c[b>>2]|0;g=c[e+52>>2]|0;e=c[e+56>>2]|0;if((e|0)>64){c[f>>2]=64;JH(b,369247,f);e=64}c[a>>2]=g;c[a+4>>2]=e;c[a+8>>2]=d;c[a+12>>2]=0;l=h;return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=jJ(a,d)|0;hI(a,(c[d+12>>2]|0)+b|0,e);if((b|0)!=41)return;jI(a,mI(a,1,2147221504)|0);return}function DI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+6352|0;o=p;k=p+6208|0;m=p+24|0;g=p+8|0;n=p+6224|0;h=p+4|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];j=k+8|0;c[j>>2]=1;f=k+12|0;c[f>>2]=0;if(GH(c[b>>2]|0,0)|0){c[j>>2]=0;if((dI(c[(c[b>>2]|0)+24>>2]|0)|0)!=1)EI(b,k);HH(b,1,368450)}if(GH(c[b>>2]|0,4)|0){c[j>>2]=0;c[f>>2]=(c[f>>2]|0)+1;FI(m,c[b>>2]|0,b,1);c[g>>2]=c[2684];c[g+4>>2]=c[2685];c[g+8>>2]=c[2686];c[g+12>>2]=c[2687];if(GH(c[b>>2]|0,18)|0){qI(m,g);HH(b,18,368478);f=c[g+12>>2]|0}else f=0;c[(c[m+6172>>2]|0)+52>>2]=f;GI(m,0);HI(k,n,h);f=c[h>>2]|0;g=n+f|0;h=368516;i=g+16|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));II(m,n,f+15|0)|0}if((c[e+8>>2]|0)!=5){CI(b,d,k);l=p;return}if(c[j>>2]|0)JH(b,368532,o);c[j>>2]=5;CI(b,d,k);l=p;return}function EI(a,b){a=a|0;b=b|0;var d=0;b=b+12|0;do{EH(a);d=(c[b>>2]|0)+1|0;c[b>>2]=d;rI(a,d);FH(a)}while(GH(c[a>>2]|0,10)|0);EH(a);return}function FI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b>>2]=d;c[b+4>>2]=e;g=b+6164|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[(c[d>>2]|0)+148>>2]=b;g=b+4104|0;if(!e){c[g>>2]=0;g=-1;e=0}else{c[g>>2]=1;c[b+8>>2]=f?0:367757;c[b+12>>2]=f?0:4;c[b+16>>2]=-1;a[b+20>>0]=0;g=0;e=1}c[b+6156>>2]=g;c[b+6160>>2]=e;c[b+6172>>2]=ZM(c[d>>2]|0,c[d+4>>2]|0,e)|0;return}function GI(a,b){a=a|0;b=b|0;var c=0;c=LI(a)|0;if(!b){if(!c)iI(a,1)}else{if(c)iI(a,23);iI(a,4)}iI(a,64);return}function HI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[e>>2]=0;f=b+4|0;s6(d|0,c[b>>2]|0,c[f>>2]|0)|0;g=(c[e>>2]|0)+(c[f>>2]|0)|0;c[e>>2]=g;switch(c[b+8>>2]|0){case 0:{KI(d,e,c[b+12>>2]|0,40,41);break}case 5:{a[d>>0]=a[368585]|0;a[d+1>>0]=a[368586]|0;a[d+2>>0]=a[368587]|0;a[d+3>>0]=a[368588]|0;a[d+4>>0]=a[368589]|0;s6(d+5|0,c[b>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[f>>2]|0)+5;KI(d,e,c[b+12>>2]|0,40,41);break}case 2:{c[e>>2]=g+1;a[d+g>>0]=61;KI(d,e,1,40,41);break}case 3:{KI(d,e,c[b+12>>2]|0,91,93);break}case 4:{KI(d,e,(c[b+12>>2]|0)+-1|0,91,93);g=c[e>>2]|0;c[e>>2]=g+1;a[d+g>>0]=61;KI(d,e,1,40,41);break}default:{}}a[d+(c[e>>2]|0)>>0]=0;return}function II(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b>>2]|0;if(a[f+110>>0]&1){c[(c[f>>2]|0)+148>>2]=c[b+4>>2];b=0;return b|0}iI(b,74);g=b+6172|0;_M(c[c[b>>2]>>2]|0,c[g>>2]|0,d,e);d=b+4|0;f=c[d>>2]|0;if(f){e=JI(c[g>>2]|0)|0;f=mI(f,e,z)|0;hI(c[d>>2]|0,65,f);f=0;while(1){if((f|0)>=(c[(c[g>>2]|0)+48>>2]|0))break;kI(c[d>>2]|0,a[b+4108+(f<<3)>>0]&1)|0;kI(c[d>>2]|0,c[b+4108+(f<<3)+4>>2]|0)|0;f=f+1|0}f=c[d>>2]|0}c[(c[c[b>>2]>>2]|0)+148>>2]=f;b=c[g>>2]|0;return b|0}function JI(a){a=a|0;z=-262144;return a|0}function KI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[d>>2]|0;c[d>>2]=h+1;a[b+h>>0]=f;f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0){h=c[d>>2]|0;c[d>>2]=h+1;a[b+h>>0]=44}h=c[d>>2]|0;c[d>>2]=h+1;a[b+h>>0]=95;f=f+1|0}h=c[d>>2]|0;c[d>>2]=h+1;a[b+h>>0]=g;return}function LI(a){a=a|0;if(GH(c[a>>2]|0,5)|0){a=0;return a|0}if(!(fI(a)|0)){FH(a);HH(a,5,368591);a=1;return a|0}if(GH(c[a>>2]|0,5)|0){a=0;return a|0}a:while(1){MI(a);NI(a,368619);switch(dI(c[(c[a>>2]|0)+24>>2]|0)|0){case 5:case 60:break a;default:{}}}HH(a,5,368591);a=0;return a|0}function MI(a){a=a|0;if(GH(c[a>>2]|0,34)|0){OI(a,0);return}if(GH(c[a>>2]|0,39)|0){HH(a,34,368651);OI(a,1);return}if(GH(c[a>>2]|0,41)|0){PI(a);return}if(GH(c[a>>2]|0,50)|0){QI(a);return}else{RI(a);return}}function NI(a,b){a=a|0;b=b|0;HH(a,58,b);EH(a);return}function OI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n;k=(c[b+6156>>2]|0)==-1?2:0;m=sI(b)|0;e=c[b>>2]|0;e=uN(c[e>>2]|0,c[e+52>>2]|0,c[e+56>>2]|0)|0;lI(b,e,z);if(GH(c[b>>2]|0,43)|0)eI(b,17);else CH(b,370111);if(d){iI(b,69);i=-1}else i=eJ(b,68,255)|0;fJ(b,m);XI(b);a[j+40>>0]=d&1;c[j>>2]=e;e=j+4|0;uM(e);f=j+16|0;mM(f);g=j+28|0;mM(g);h=b+6168|0;c[h>>2]=j;HH(b,4,369028);fI(b)|0;while(1){if(GH(c[b>>2]|0,5)|0)break;if(!(gJ(b,m,k)|0))break;if(GH(c[b>>2]|0,5)|0)break;NI(b,369064)}if(d){m=c[b>>2]|0;m=c[m>>2]|0;vM(m,e);m=c[b>>2]|0;m=c[m>>2]|0;nM(m,f);m=c[b>>2]|0;m=c[m>>2]|0;nM(m,g);c[h>>2]=0;YI(b);l=n;return}a[(c[(c[b+6172>>2]|0)+16>>2]|0)+i>>0]=c[j+8>>2];m=c[b>>2]|0;m=c[m>>2]|0;vM(m,e);m=c[b>>2]|0;m=c[m>>2]|0;nM(m,f);m=c[b>>2]|0;m=c[m>>2]|0;nM(m,g);c[h>>2]=0;YI(b);l=n;return}function PI(a){a=a|0;var b=0,d=0,e=0;EH(a);HH(a,56,368996);b=(c[a>>2]|0)+64|0;b=mI(a,c[b>>2]|0,c[b+4>>2]|0)|0;hI(a,72,b);iI(a,23);if(!(GH(c[a>>2]|0,38)|0))return;do{EH(a);d=sI(a)|0;e=c[a>>2]|0;e=uN(c[e>>2]|0,c[e+52>>2]|0,c[e+56>>2]|0)|0;e=mI(a,e,z)|0;hI(a,73,b);jI(a,e);fJ(a,d)}while(GH(c[a>>2]|0,10)|0);return}function QI(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+32|0;b=d;HH(a,54,368090);e=c[a>>2]|0;f=e+48|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];c[b+16>>2]=c[f+16>>2];c[b+20>>2]=c[f+20>>2];if(GH(e,26)|0){EH(a);FH(a);f=tI(a,b)|0;fJ(a,f);l=d;return}else{tH(a,0);f=tI(a,b)|0;fJ(a,f);l=d;return}}function RI(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;if(GH(c[a>>2]|0,33)|0){b=c[a+6164>>2]|0;if(!b){JH(a,368683,d);l=e;return}else{SI(a,(c[b+12>>2]|0)+1|0)|0;TI(a,74)|0;l=e;return}}if(GH(c[a>>2]|0,38)|0){UI(a);l=e;return}if(GH(c[a>>2]|0,40)|0){VI(a);l=e;return}d=GH(c[a>>2]|0,45)|0;b=c[a>>2]|0;if(d){if((dI(c[b+24>>2]|0)|0)==58)iI(a,1);else FH(a);iI(a,64);l=e;return}if(GH(b,51)|0){WI(a);l=e;return}if(!(GH(c[a>>2]|0,4)|0)){FH(a);iI(a,23);l=e;return}XI(a);if(LI(a)|0)iI(a,23);YI(a);l=e;return}function SI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=b+4104|0;f=c[g>>2]|0;while(1){e=f+-1|0;if((f|0)<=0)break;if((c[b+8+(e<<4)+8>>2]|0)<(d|0))break;if(!(a[b+8+(e<<4)+12>>0]&1)){kI(b,23)|0;f=e;continue}else{kI(b,63)|0;f=e;continue}}return (c[g>>2]|0)-e+-1|0}function TI(a,b){a=a|0;b=b|0;iI(a,b);kI(a,255)|0;return (kI(a,255)|0)+-1|0}function UI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=l;l=l+32|0;XI(a);HH(a,0,368863);HH(a,54,368887);d=c[a>>2]|0;e=c[d+52>>2]|0;d=c[d+56>>2]|0;HH(a,42,368918);EH(a);FH(a);g=uI(a,368951,4)|0;tH(a,0);f=uI(a,368956,5)|0;HH(a,1,368962);ZI(a,b);dJ(a,g);dJ(a,f);DH(a,1,371070,10);eJ(a,14,f)|0;_I(a);dJ(a,g);dJ(a,f);DH(a,1,371097,16);XI(a);uI(a,e,d)|0;$I(a);YI(a);aJ(a);YI(a);l=b;return}function VI(a){a=a|0;var b=0,d=0;HH(a,0,368809);FH(a);HH(a,1,368832);b=TI(a,60)|0;RI(a);if(GH(c[a>>2]|0,36)|0){d=TI(a,58)|0;bJ(a,b);RI(a);bJ(a,d);return}else{bJ(a,b);return}}function WI(a){a=a|0;var b=0;b=l;l=l+32|0;ZI(a,b);HH(a,0,368721);FH(a);HH(a,1,368747);_I(a);$I(a);aJ(a);l=b;return}function XI(a){a=a|0;a=a+6156|0;c[a>>2]=(c[a>>2]|0)+1;return}function YI(a){a=a|0;var b=0,d=0,e=0;b=a+6156|0;d=SI(a,c[b>>2]|0)|0;e=a+4104|0;c[e>>2]=(c[e>>2]|0)-d;a=a+6160|0;c[a>>2]=(c[a>>2]|0)-d;c[b>>2]=(c[b>>2]|0)+-1;return}function ZI(a,b){a=a|0;b=b|0;var d=0;d=a+6164|0;c[b+16>>2]=c[d>>2];c[b>>2]=(c[(c[a+6172>>2]|0)+20>>2]|0)+-1;c[b+12>>2]=c[a+6156>>2];c[d>>2]=b;return}function _I(a){a=a|0;var b=0;b=TI(a,60)|0;c[(c[a+6164>>2]|0)+4>>2]=b;return}function $I(a){a=a|0;c[(c[a+6164>>2]|0)+8>>2]=c[(c[a+6172>>2]|0)+20>>2];RI(a);return}function aJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=b+6172|0;i=b+6164|0;hI(b,59,(c[(c[h>>2]|0)+20>>2]|0)-(c[c[i>>2]>>2]|0)+2|0);bJ(b,c[(c[i>>2]|0)+4>>2]|0);g=c[(c[i>>2]|0)+8>>2]|0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+20>>2]|0))break;e=c[d+16>>2]|0;f=e+g|0;if((a[f>>0]|0)==74){a[f>>0]=58;bJ(b,g+1|0);d=3}else d=(cJ(e,c[d+28>>2]|0,g)|0)+1|0;g=g+d|0}c[i>>2]=c[(c[i>>2]|0)+16>>2];return}function bJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=b+6172|0;e=c[f>>2]|0;g=(c[e+20>>2]|0)-d+-2|0;if((g|0)>65536){JH(b,368781,h);e=c[f>>2]|0}a[(c[e+16>>2]|0)+d>>0]=g>>>8;a[(c[(c[f>>2]|0)+16>>2]|0)+(d+1)>>0]=g;l=h;return}function cJ(b,e,f){b=b|0;e=e|0;f=f|0;switch(a[b+f>>0]|0){case 65:{f=(c[(c[e+((d[b+(f+1)>>0]<<8|d[b+(f+2)>>0])<<3)>>2]|0)+48>>2]<<1)+2|0;return f|0}case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:{f=4;return f|0}case 71:case 70:case 62:case 61:case 60:case 59:case 58:case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 18:case 17:case 0:case 73:{f=2;return f|0}case 72:case 68:case 22:case 21:case 20:case 19:case 16:case 15:case 14:case 13:{f=1;return f|0}default:{f=0;return f|0}}return 0}function dJ(a,b){a=a|0;b=b|0;if((b|0)<9){iI(a,b+4|0);return}else{eJ(a,13,b)|0;return}}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;iI(a,b);return kI(a,c)|0}function fJ(a,b){a=a|0;b=b|0;if((c[a+6156>>2]|0)>-1)return;hI(a,18,b);iI(a,23);return}function gJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+6320|0;h=p+8|0;n=p+6200|0;i=p+16|0;j=p+6216|0;k=p+12|0;m=GH(c[b>>2]|0,39)|0;o=GH(c[b>>2]|0,46)|0;g=b+6168|0;a[(c[g>>2]|0)+41>>0]=o&1;q=c[b>>2]|0;f=c[8976+((c[q+24>>2]|0)*20|0)+8>>2]|0;IH(q);if(!f){JH(b,369106,p);q=0;l=p;return q|0}BI(n,b,1);c[(c[g>>2]|0)+44>>2]=n;FI(i,c[b>>2]|0,b,0);li[f&511](i,n);if(o?(c[n+8>>2]|0)==5:0)JH(b,369132,h);HI(n,j,k);g=hJ(b,n,j)|0;if(m){f=uN(c[c[b>>2]>>2]|0,j,c[k>>2]|0)|0;lI(b,f,z);c[(c[c[i>>2]>>2]|0)+148>>2]=c[i+4>>2];f=n+8|0}else{HH(b,4,369164);f=n+8|0;GI(i,(c[f>>2]|0)==5);II(i,j,c[k>>2]|0)|0}iJ(b,d,e,o,g);if((c[f>>2]|0)!=5){q=1;l=p;return q|0}c[f>>2]=0;q=jJ(b,n)|0;kJ(b,n,g);iJ(b,d,e,1,q);q=1;l=p;return q|0}function hJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;h=jJ(b,d)|0;i=c[b+6168>>2]|0;j=a[i+41>>0]&1;f=j<<24>>24==0?i+16|0:i+28|0;g=c[f+4>>2]|0;d=0;while(1){if((d|0)>=(g|0)){m=6;break}if((c[(c[f>>2]|0)+(d<<2)>>2]|0)==(h|0))break;d=d+1|0}if((m|0)==6){m=c[b>>2]|0;m=c[m>>2]|0;pM(m,f,h);l=n;return h|0}c[k>>2]=(c[i>>2]|0)+24;c[k+4>>2]=j<<24>>24?369197:436559;c[k+8>>2]=e;JH(b,369205,k);m=c[b>>2]|0;m=c[m>>2]|0;pM(m,f,h);l=n;return h|0}function iJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;lJ(a,b,c);hI(a,d?71:70,e);return}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+112|0;f=d+4|0;e=d;HI(b,f,e);b=gI(c[c[a>>2]>>2]|0,f,c[e>>2]|0)|0;l=d;return b|0}function kJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+6192|0;g=f;FI(g,c[b>>2]|0,b,0);iI(g,(a[(c[b+6168>>2]|0)+40>>0]&1|66)&255);hI(g,(c[d+12>>2]|0)+24|0,e);iI(g,64);II(g,436559,0)|0;l=f;return}function lJ(a,b,c){a=a|0;b=b|0;c=c|0;switch(c|0){case 0:{dJ(a,b);break}case 1:{eJ(a,15,b)|0;break}case 2:{hI(a,17,b);break}default:{}}return}function mJ(a){a=a|0;var b=0;while(1){if(!a){a=0;b=5;break}if(c[a+6168>>2]|0){b=5;break}a=c[a+4>>2]|0}if((b|0)==5)return a|0;return 0}function nJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+4104>>2]|0;while(1){e=f+-1|0;if((f|0)<=0){e=-1;f=5;break}if((c[a+8+(e<<4)+4>>2]|0)!=(d|0)){f=e;continue}if(!(f3(b,c[a+8+(e<<4)>>2]|0,d)|0)){f=5;break}else f=e}if((f|0)==5)return e|0;return 0}function oJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b+4>>2]|0;if(!g){b=-1;return b|0}if((a[d>>0]|0)!=95?c[g+6168>>2]|0:0){b=-1;return b|0}f=nJ(g,d,e)|0;if((f|0)!=-1){a[g+8+(f<<4)+12>>0]=1;b=pJ(b,1,f)|0;return b|0}d=oJ(g,d,e)|0;if((d|0)==-1){b=-1;return b|0}b=pJ(b,0,d)|0;return b|0}function pJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=b+6172|0;h=c[(c[g>>2]|0)+48>>2]|0;i=d&1;f=0;while(1){if((f|0)>=(h|0))break;if((c[b+4108+(f<<3)+4>>2]|0)==(e|0)?(a[b+4108+(f<<3)>>0]&1|0)==(i|0):0){j=7;break}f=f+1|0}if((j|0)==7)return f|0;a[b+4108+(h<<3)>>0]=d&1;i=(c[g>>2]|0)+48|0;c[b+4108+(c[i>>2]<<3)+4>>2]=e;j=c[i>>2]|0;c[i>>2]=j+1;return j|0}function qJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;vI(f,b,d,e);if((c[f>>2]|0)==-1){c[f+4>>2]=2;c[f>>2]=yM((c[(c[b>>2]|0)+4>>2]|0)+28|0,d,e)|0;d=f;e=c[d+4>>2]|0;f=a;c[f>>2]=c[d>>2];c[f+4>>2]=e;l=g;return}else{d=f;e=c[d+4>>2]|0;f=a;c[f>>2]=c[d>>2];c[f+4>>2]=e;l=g;return}}function rJ(a){a=a|0;return 8976+(a*20|0)|0}function sJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+6304|0;n=o+112|0;j=o;m=o+116|0;c[j>>2]=b;k=j+4|0;c[k>>2]=d;c[j+8>>2]=e;c[j+12>>2]=e;c[j+16>>2]=e;c[j+20>>2]=1;c[j+104>>2]=0;c[j+24>>2]=59;c[j+28>>2]=e;c[j+32>>2]=0;c[j+36>>2]=0;b=j+40|0;c[b>>2]=4;c[b+4>>2]=2147221504;a[j+108>>0]=1;a[j+109>>0]=g&1;a[j+110>>0]=0;IH(j);b=c[d+20>>2]|0;FI(m,j,0,1);EH(m);if(f)FH(m);else{while(1){if(GH(c[m>>2]|0,60)|0)break;MI(m);if(!(fI(m)|0)){h=6;break}}if((h|0)==6)HH(m,60,370048);iI(m,1)}iI(m,64);f=j+48|0;h=j+52|0;i=j+56|0;g=j+60|0;while(1){d=c[k>>2]|0;if((b|0)>=(c[d+20>>2]|0))break;e=d+16|0;if(!(0==0?(c[(c[e>>2]|0)+(b<<3)+4>>2]&2147221504|0)==2147221504:0)){c[f>>2]=54;j=d+28|0;c[h>>2]=c[(c[j>>2]|0)+(b<<3)>>2];c[i>>2]=c[(c[j>>2]|0)+(b<<3)+4>>2];j=(c[e>>2]|0)+(b<<3)|0;c[g>>2]=~~+nI(c[j>>2]|0,c[j+4>>2]|0);JH(m,370068,n)}b=b+1|0}n=II(m,370102,8)|0;l=o;return n|0}function tJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+16|0;f=e+28|0;g=b+16|0;e=0;a:while(1){h=c[j>>2]|0;i=e+1|0;switch(a[h+e>>0]|0){case 74:break a;case 20:case 19:case 22:case 21:{i=h+i|0;a[i>>0]=(d[i>>0]|0)+(c[(c[g>>2]|0)+20>>2]|0);e=e+2|0;continue a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 47:case 46:case 45:case 44:case 43:case 42:case 41:{i=e+3|0;h=d[h+i>>0]<<8|d[h+(e+4)>>0];k=JI(c[g>>2]|0)|0;h=(c[f>>2]|0)+(h<<3)|0;c[h>>2]=k;c[h+4>>2]=z;e=i;continue a}case 65:{tJ(b,c[(c[f>>2]|0)+((d[h+i>>0]<<8|d[h+(e+2)>>0])<<3)>>2]|0);e=i+(cJ(c[j>>2]|0,c[f>>2]|0,e)|0)|0;continue a}default:{e=i+(cJ(h,c[f>>2]|0,e)|0)|0;continue a}}}return}function uJ(a,b){a=a|0;b=b|0;var d=0;d=(c[b>>2]|0)+40|0;DN(a,c[d>>2]|0,c[d+4>>2]|0);d=(c[b>>2]|0)+64|0;DN(a,c[d>>2]|0,c[d+4>>2]|0);do{CN(a,c[b+6172>>2]|0);CN(a,c[b+6176>>2]|0);b=c[b+4>>2]|0}while((b|0)!=0);return}function vJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;d=l;l=l+1008|0;e=d+1e3|0;Bb=d+992|0;Ab=d+984|0;zb=d+976|0;yb=d+968|0;xb=d+960|0;tb=d+952|0;wb=d+944|0;vb=d+936|0;ub=d+928|0;rb=d+920|0;qb=d+912|0;cb=d+904|0;pb=d+896|0;ob=d+888|0;nb=d+880|0;mb=d+872|0;lb=d+864|0;kb=d+856|0;jb=d+848|0;ib=d+840|0;hb=d+832|0;gb=d+824|0;fb=d+816|0;eb=d+808|0;db=d+800|0;$a=d+792|0;bb=d+784|0;ab=d+776|0;Za=d+768|0;_a=d+760|0;ga=d+752|0;Ya=d+744|0;Xa=d+736|0;Wa=d+728|0;Va=d+720|0;Ua=d+712|0;Ta=d+704|0;Sa=d+696|0;Ra=d+688|0;Qa=d+680|0;Pa=d+672|0;Oa=d+664|0;Na=d+656|0;Ma=d+648|0;La=d+640|0;Ka=d+632|0;Ja=d+624|0;Ia=d+616|0;Ha=d+608|0;Ga=d+600|0;Fa=d+592|0;Ea=d+584|0;Da=d+576|0;Ca=d+568|0;Ba=d+560|0;Aa=d+552|0;za=d+544|0;ya=d+536|0;xa=d+528|0;wa=d+520|0;va=d+512|0;ua=d+504|0;ta=d+496|0;sa=d+488|0;ra=d+480|0;qa=d+472|0;pa=d+464|0;oa=d+456|0;na=d+448|0;ma=d+440|0;la=d+432|0;ka=d+424|0;ja=d+416|0;ia=d+408|0;ha=d+400|0;j=d+392|0;fa=d+384|0;ea=d+376|0;da=d+368|0;ca=d+360|0;ba=d+352|0;aa=d+344|0;$=d+336|0;_=d+328|0;Z=d+320|0;Y=d+312|0;X=d+304|0;W=d+296|0;V=d+288|0;U=d+280|0;I=d+272|0;T=d+264|0;S=d+256|0;R=d+248|0;Q=d+240|0;P=d+232|0;O=d+224|0;N=d+216|0;M=d+208|0;L=d+200|0;K=d+192|0;J=d+184|0;w=d+176|0;H=d+168|0;G=d+160|0;F=d+152|0;E=d+144|0;D=d+136|0;C=d+128|0;B=d+120|0;A=d+112|0;y=d+104|0;x=d+96|0;o=d+88|0;v=d+80|0;u=d+72|0;t=d+64|0;s=d+56|0;r=d+48|0;q=d+40|0;p=d+32|0;n=d+24|0;m=d+16|0;k=d+8|0;h=d;g=rN(a,0)|0;QF(a,g);f=c[a+48>>2]|0;sb=wJ(g)|0;mN(a,f,1,2147221504,sb,z);RF(a);sb=a+32|0;c[sb>>2]=xJ(a,g,370111)|0;f=a+152|0;b=xM(a,f,370118,1)|0;c[Bb>>2]=0;c[Bb+4>>2]=29;i=c[sb>>2]|0;c[e>>2]=c[Bb>>2];c[e+4>>2]=c[Bb+4>>2];NM(a,i,b,e);b=xM(a,f,370120,5)|0;c[Ab>>2]=0;c[Ab+4>>2]=30;i=c[sb>>2]|0;c[e>>2]=c[Ab>>2];c[e+4>>2]=c[Ab+4>>2];NM(a,i,b,e);b=xM(a,f,370126,5)|0;c[zb>>2]=0;c[zb+4>>2]=31;i=c[sb>>2]|0;c[e>>2]=c[zb>>2];c[e+4>>2]=c[zb+4>>2];NM(a,i,b,e);b=xM(a,f,370132,5)|0;c[yb>>2]=0;c[yb+4>>2]=32;i=c[sb>>2]|0;c[e>>2]=c[yb>>2];c[e+4>>2]=c[yb+4>>2];NM(a,i,b,e);b=xM(a,f,370138,8)|0;c[xb>>2]=0;c[xb+4>>2]=33;i=c[sb>>2]|0;c[e>>2]=c[xb>>2];c[e+4>>2]=c[xb+4>>2];NM(a,i,b,e);b=xM(a,f,370147,4)|0;c[tb>>2]=0;c[tb+4>>2]=34;i=c[sb>>2]|0;c[e>>2]=c[tb>>2];c[e+4>>2]=c[tb+4>>2];NM(a,i,b,e);b=xJ(a,g,370152)|0;i=a+4|0;c[i>>2]=b;MM(a,b,c[sb>>2]|0);b=xM(a,f,402803,4)|0;c[wb>>2]=0;c[wb+4>>2]=35;tb=c[i>>2]|0;c[e>>2]=c[wb>>2];c[e+4>>2]=c[wb+4>>2];NM(a,tb,b,e);b=xM(a,f,370158,9)|0;c[vb>>2]=0;c[vb+4>>2]=36;tb=c[i>>2]|0;c[e>>2]=c[vb>>2];c[e+4>>2]=c[vb+4>>2];NM(a,tb,b,e);b=xM(a,f,370138,8)|0;c[ub>>2]=0;c[ub+4>>2]=37;tb=c[i>>2]|0;c[e>>2]=c[ub>>2];c[e+4>>2]=c[ub+4>>2];NM(a,tb,b,e);b=xJ(a,g,370168)|0;c[(c[sb>>2]|0)+8>>2]=b;c[b+8>>2]=c[i>>2];sb=c[i>>2]|0;c[sb+8>>2]=sb;MM(a,b,c[i>>2]|0);i=xM(a,f,370185,9)|0;c[rb>>2]=0;c[rb+4>>2]=38;c[e>>2]=c[rb>>2];c[e+4>>2]=c[rb+4>>2];NM(a,b,i,e);pG(a,0,371832)|0;i=rG(g,370195)|0;c[a>>2]=i;i=xM(a,f,370138,8)|0;c[qb>>2]=0;c[qb+4>>2]=39;b=c[a>>2]|0;c[e>>2]=c[qb>>2];c[e+4>>2]=c[qb+4>>2];NM(a,b,i,e);i=xM(a,f,370118,1)|0;c[cb>>2]=0;c[cb+4>>2]=40;b=c[a>>2]|0;c[e>>2]=c[cb>>2];c[e+4>>2]=c[cb+4>>2];NM(a,b,i,e);i=rG(g,370200)|0;b=a+8|0;c[b>>2]=i;i=xM(a,f,370206,6)|0;c[pb>>2]=0;c[pb+4>>2]=41;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[pb>>2];c[e+4>>2]=c[pb+4>>2];NM(a,cb,i,e);i=xM(a,f,370213,8)|0;c[ob>>2]=0;c[ob+4>>2]=42;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[ob>>2];c[e+4>>2]=c[ob+4>>2];NM(a,cb,i,e);i=xM(a,f,370222,7)|0;c[nb>>2]=0;c[nb+4>>2]=43;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[nb>>2];c[e+4>>2]=c[nb+4>>2];NM(a,cb,i,e);i=xM(a,f,370230,9)|0;c[mb>>2]=0;c[mb+4>>2]=44;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[mb>>2];c[e+4>>2]=c[mb+4>>2];NM(a,cb,i,e);i=xM(a,f,370240,7)|0;c[lb>>2]=0;c[lb+4>>2]=45;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[lb>>2];c[e+4>>2]=c[lb+4>>2];NM(a,cb,i,e);i=xM(a,f,370248,8)|0;c[kb>>2]=0;c[kb+4>>2]=46;cb=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[kb>>2];c[e+4>>2]=c[kb+4>>2];NM(a,cb,i,e);i=xM(a,f,370257,6)|0;c[jb>>2]=0;c[jb+4>>2]=47;cb=c[b>>2]|0;c[e>>2]=c[jb>>2];c[e+4>>2]=c[jb+4>>2];NM(a,cb,i,e);i=xM(a,f,370264,7)|0;c[ib>>2]=0;c[ib+4>>2]=48;cb=c[b>>2]|0;c[e>>2]=c[ib>>2];c[e+4>>2]=c[ib+4>>2];NM(a,cb,i,e);i=xM(a,f,370272,5)|0;c[hb>>2]=0;c[hb+4>>2]=49;cb=c[b>>2]|0;c[e>>2]=c[hb>>2];c[e+4>>2]=c[hb+4>>2];NM(a,cb,i,e);i=xM(a,f,370278,6)|0;c[gb>>2]=0;c[gb+4>>2]=50;cb=c[b>>2]|0;c[e>>2]=c[gb>>2];c[e+4>>2]=c[gb+4>>2];NM(a,cb,i,e);i=xM(a,f,370285,10)|0;c[fb>>2]=0;c[fb+4>>2]=51;cb=c[b>>2]|0;c[e>>2]=c[fb>>2];c[e+4>>2]=c[fb+4>>2];NM(a,cb,i,e);i=xM(a,f,370296,11)|0;c[eb>>2]=0;c[eb+4>>2]=52;cb=c[b>>2]|0;c[e>>2]=c[eb>>2];c[e+4>>2]=c[eb+4>>2];NM(a,cb,i,e);i=xM(a,f,370308,16)|0;c[db>>2]=0;c[db+4>>2]=53;cb=c[b>>2]|0;c[e>>2]=c[db>>2];c[e+4>>2]=c[db+4>>2];NM(a,cb,i,e);i=xM(a,f,370325,5)|0;c[$a>>2]=0;c[$a+4>>2]=54;b=c[b>>2]|0;c[e>>2]=c[$a>>2];c[e+4>>2]=c[$a+4>>2];NM(a,b,i,e);i=rG(g,370331)|0;b=a+12|0;c[b>>2]=i;i=xM(a,f,370206,6)|0;c[bb>>2]=0;c[bb+4>>2]=55;$a=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[bb>>2];c[e+4>>2]=c[bb+4>>2];NM(a,$a,i,e);i=xM(a,f,370334,5)|0;c[ab>>2]=0;c[ab+4>>2]=56;$a=c[b>>2]|0;c[e>>2]=c[ab>>2];c[e+4>>2]=c[ab+4>>2];NM(a,$a,i,e);_J(a,370257);_J(a,370264);_J(a,370340);_J(a,370350);_J(a,370362);_J(a,370376);_J(a,370392);_J(a,370410);_J(a,370430);_J(a,370452);_J(a,370476);_J(a,370502);_J(a,370530);_J(a,370560);_J(a,370592);_J(a,370626);_J(a,370662);i=xM(a,f,370138,8)|0;c[Za>>2]=0;c[Za+4>>2]=57;b=c[b>>2]|0;c[e>>2]=c[Za>>2];c[e+4>>2]=c[Za+4>>2];NM(a,b,i,e);i=rG(g,370700)|0;b=a+24|0;c[b>>2]=i;i=xM(a,f,370118,1)|0;c[_a>>2]=0;c[_a+4>>2]=58;Za=c[b>>2]|0;c[e>>2]=c[_a>>2];c[e+4>>2]=c[_a+4>>2];NM(a,Za,i,e);i=xM(a,f,370138,8)|0;c[ga>>2]=0;c[ga+4>>2]=59;b=c[b>>2]|0;c[e>>2]=c[ga>>2];c[e+4>>2]=c[ga+4>>2];NM(a,b,i,e);i=rG(g,370705)|0;b=a+28|0;c[b>>2]=i;i=xM(a,f,370709,13)|0;c[Ya>>2]=0;c[Ya+4>>2]=60;ga=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[Ya>>2];c[e+4>>2]=c[Ya+4>>2];NM(a,ga,i,e);i=xM(a,f,370723,2)|0;c[Xa>>2]=0;c[Xa+4>>2]=61;ga=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[Xa>>2];c[e+4>>2]=c[Xa+4>>2];NM(a,ga,i,e);i=xM(a,f,370726,7)|0;c[Wa>>2]=0;c[Wa+4>>2]=62;ga=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[Wa>>2];c[e+4>>2]=c[Wa+4>>2];NM(a,ga,i,e);i=xM(a,f,370734,8)|0;c[Va>>2]=0;c[Va+4>>2]=63;ga=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[Va>>2];c[e+4>>2]=c[Va+4>>2];NM(a,ga,i,e);i=xM(a,f,370743,4)|0;c[Ua>>2]=0;c[Ua+4>>2]=64;ga=c[b>>2]|0;c[e>>2]=c[Ua>>2];c[e+4>>2]=c[Ua+4>>2];NM(a,ga,i,e);i=xM(a,f,370748,4)|0;c[Ta>>2]=0;c[Ta+4>>2]=65;ga=c[b>>2]|0;c[e>>2]=c[Ta>>2];c[e+4>>2]=c[Ta+4>>2];NM(a,ga,i,e);i=xM(a,f,370753,4)|0;c[Sa>>2]=0;c[Sa+4>>2]=66;ga=c[b>>2]|0;c[e>>2]=c[Sa>>2];c[e+4>>2]=c[Sa+4>>2];NM(a,ga,i,e);i=xM(a,f,370758,4)|0;c[Ra>>2]=0;c[Ra+4>>2]=67;ga=c[b>>2]|0;c[e>>2]=c[Ra>>2];c[e+4>>2]=c[Ra+4>>2];NM(a,ga,i,e);i=xM(a,f,370763,4)|0;c[Qa>>2]=0;c[Qa+4>>2]=68;ga=c[b>>2]|0;c[e>>2]=c[Qa>>2];c[e+4>>2]=c[Qa+4>>2];NM(a,ga,i,e);i=xM(a,f,370768,4)|0;c[Pa>>2]=0;c[Pa+4>>2]=69;ga=c[b>>2]|0;c[e>>2]=c[Pa>>2];c[e+4>>2]=c[Pa+4>>2];NM(a,ga,i,e);i=xM(a,f,370773,5)|0;c[Oa>>2]=0;c[Oa+4>>2]=70;ga=c[b>>2]|0;c[e>>2]=c[Oa>>2];c[e+4>>2]=c[Oa+4>>2];NM(a,ga,i,e);i=xM(a,f,370779,5)|0;c[Na>>2]=0;c[Na+4>>2]=71;ga=c[b>>2]|0;c[e>>2]=c[Na>>2];c[e+4>>2]=c[Na+4>>2];NM(a,ga,i,e);i=xM(a,f,370785,4)|0;c[Ma>>2]=0;c[Ma+4>>2]=72;ga=c[b>>2]|0;c[e>>2]=c[Ma>>2];c[e+4>>2]=c[Ma+4>>2];NM(a,ga,i,e);i=xM(a,f,370790,4)|0;c[La>>2]=0;c[La+4>>2]=73;ga=c[b>>2]|0;c[e>>2]=c[La>>2];c[e+4>>2]=c[La+4>>2];NM(a,ga,i,e);i=xM(a,f,370795,4)|0;c[Ka>>2]=0;c[Ka+4>>2]=74;ga=c[b>>2]|0;c[e>>2]=c[Ka>>2];c[e+4>>2]=c[Ka+4>>2];NM(a,ga,i,e);i=xM(a,f,370800,5)|0;c[Ja>>2]=0;c[Ja+4>>2]=75;ga=c[b>>2]|0;c[e>>2]=c[Ja>>2];c[e+4>>2]=c[Ja+4>>2];NM(a,ga,i,e);i=xM(a,f,370806,5)|0;c[Ia>>2]=0;c[Ia+4>>2]=76;ga=c[b>>2]|0;c[e>>2]=c[Ia>>2];c[e+4>>2]=c[Ia+4>>2];NM(a,ga,i,e);i=xM(a,f,370812,3)|0;c[Ha>>2]=0;c[Ha+4>>2]=77;ga=c[b>>2]|0;c[e>>2]=c[Ha>>2];c[e+4>>2]=c[Ha+4>>2];NM(a,ga,i,e);i=xM(a,f,370816,4)|0;c[Ga>>2]=0;c[Ga+4>>2]=78;ga=c[b>>2]|0;c[e>>2]=c[Ga>>2];c[e+4>>2]=c[Ga+4>>2];NM(a,ga,i,e);i=xM(a,f,370821,4)|0;c[Fa>>2]=0;c[Fa+4>>2]=79;ga=c[b>>2]|0;c[e>>2]=c[Fa>>2];c[e+4>>2]=c[Fa+4>>2];NM(a,ga,i,e);i=xM(a,f,370826,4)|0;c[Ea>>2]=0;c[Ea+4>>2]=80;ga=c[b>>2]|0;c[e>>2]=c[Ea>>2];c[e+4>>2]=c[Ea+4>>2];NM(a,ga,i,e);i=xM(a,f,370831,4)|0;c[Da>>2]=0;c[Da+4>>2]=81;ga=c[b>>2]|0;c[e>>2]=c[Da>>2];c[e+4>>2]=c[Da+4>>2];NM(a,ga,i,e);i=xM(a,f,370836,3)|0;c[Ca>>2]=0;c[Ca+4>>2]=82;ga=c[b>>2]|0;c[e>>2]=c[Ca>>2];c[e+4>>2]=c[Ca+4>>2];NM(a,ga,i,e);i=xM(a,f,370840,5)|0;c[Ba>>2]=0;c[Ba+4>>2]=83;ga=c[b>>2]|0;c[e>>2]=c[Ba>>2];c[e+4>>2]=c[Ba+4>>2];NM(a,ga,i,e);i=xM(a,f,370846,1)|0;c[Aa>>2]=0;c[Aa+4>>2]=84;ga=c[b>>2]|0;c[e>>2]=c[Aa>>2];c[e+4>>2]=c[Aa+4>>2];NM(a,ga,i,e);i=xM(a,f,370848,5)|0;c[za>>2]=0;c[za+4>>2]=85;ga=c[b>>2]|0;c[e>>2]=c[za>>2];c[e+4>>2]=c[za+4>>2];NM(a,ga,i,e);i=xM(a,f,370854,3)|0;c[ya>>2]=0;c[ya+4>>2]=86;ga=c[b>>2]|0;c[e>>2]=c[ya>>2];c[e+4>>2]=c[ya+4>>2];NM(a,ga,i,e);i=xM(a,f,370858,4)|0;c[xa>>2]=0;c[xa+4>>2]=87;ga=c[b>>2]|0;c[e>>2]=c[xa>>2];c[e+4>>2]=c[xa+4>>2];NM(a,ga,i,e);i=xM(a,f,370863,3)|0;c[wa>>2]=0;c[wa+4>>2]=88;ga=c[b>>2]|0;c[e>>2]=c[wa>>2];c[e+4>>2]=c[wa+4>>2];NM(a,ga,i,e);i=xM(a,f,370867,3)|0;c[va>>2]=0;c[va+4>>2]=89;ga=c[b>>2]|0;c[e>>2]=c[va>>2];c[e+4>>2]=c[va+4>>2];NM(a,ga,i,e);i=xM(a,f,370871,4)|0;c[ua>>2]=0;c[ua+4>>2]=90;ga=c[b>>2]|0;c[e>>2]=c[ua>>2];c[e+4>>2]=c[ua+4>>2];NM(a,ga,i,e);i=xM(a,f,370876,1)|0;c[ta>>2]=0;c[ta+4>>2]=91;ga=c[b>>2]|0;c[e>>2]=c[ta>>2];c[e+4>>2]=c[ta+4>>2];NM(a,ga,i,e);i=xM(a,f,370878,5)|0;c[sa>>2]=0;c[sa+4>>2]=92;ga=c[b>>2]|0;c[e>>2]=c[sa>>2];c[e+4>>2]=c[sa+4>>2];NM(a,ga,i,e);i=xM(a,f,370884,6)|0;c[ra>>2]=0;c[ra+4>>2]=93;ga=c[b>>2]|0;c[e>>2]=c[ra>>2];c[e+4>>2]=c[ra+4>>2];NM(a,ga,i,e);i=xM(a,f,370891,7)|0;c[qa>>2]=0;c[qa+4>>2]=94;ga=c[b>>2]|0;c[e>>2]=c[qa>>2];c[e+4>>2]=c[qa+4>>2];NM(a,ga,i,e);i=xM(a,f,370899,6)|0;c[pa>>2]=0;c[pa+4>>2]=95;ga=c[b>>2]|0;c[e>>2]=c[pa>>2];c[e+4>>2]=c[pa+4>>2];NM(a,ga,i,e);i=xM(a,f,370906,8)|0;c[oa>>2]=0;c[oa+4>>2]=96;ga=c[b>>2]|0;c[e>>2]=c[oa>>2];c[e+4>>2]=c[oa+4>>2];NM(a,ga,i,e);i=xM(a,f,370915,10)|0;c[na>>2]=0;c[na+4>>2]=97;ga=c[b>>2]|0;c[e>>2]=c[na>>2];c[e+4>>2]=c[na+4>>2];NM(a,ga,i,e);i=xM(a,f,370926,9)|0;c[ma>>2]=0;c[ma+4>>2]=98;ga=c[b>>2]|0;c[e>>2]=c[ma>>2];c[e+4>>2]=c[ma+4>>2];NM(a,ga,i,e);i=xM(a,f,370936,5)|0;c[la>>2]=0;c[la+4>>2]=99;ga=c[b>>2]|0;c[e>>2]=c[la>>2];c[e+4>>2]=c[la+4>>2];NM(a,ga,i,e);i=xM(a,f,370942,4)|0;c[ka>>2]=0;c[ka+4>>2]=100;ga=c[b>>2]|0;c[e>>2]=c[ka>>2];c[e+4>>2]=c[ka+4>>2];NM(a,ga,i,e);i=xM(a,f,370138,8)|0;c[ja>>2]=0;c[ja+4>>2]=101;ga=c[b>>2]|0;c[e>>2]=c[ja>>2];c[e+4>>2]=c[ja+4>>2];NM(a,ga,i,e);i=xM(a,f,370947,8)|0;c[ia>>2]=0;c[ia+4>>2]=102;ga=c[b>>2]|0;c[e>>2]=c[ia>>2];c[e+4>>2]=c[ia+4>>2];NM(a,ga,i,e);i=xM(a,f,370120,5)|0;c[ha>>2]=0;c[ha+4>>2]=103;ga=c[b>>2]|0;c[e>>2]=c[ha>>2];c[e+4>>2]=c[ha+4>>2];NM(a,ga,i,e);i=xM(a,f,370126,5)|0;c[j>>2]=0;c[j+4>>2]=104;b=c[b>>2]|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];NM(a,b,i,e);i=rG(g,370956)|0;b=a+40|0;c[b>>2]=i;i=xM(a,f,370963,16)|0;c[fa>>2]=0;c[fa+4>>2]=105;j=c[(c[b>>2]|0)+8>>2]|0;c[e>>2]=c[fa>>2];c[e+4>>2]=c[fa+4>>2];NM(a,j,i,e);i=xM(a,f,370748,4)|0;c[ea>>2]=0;c[ea+4>>2]=106;j=c[b>>2]|0;c[e>>2]=c[ea>>2];c[e+4>>2]=c[ea+4>>2];NM(a,j,i,e);i=xM(a,f,370980,3)|0;c[da>>2]=0;c[da+4>>2]=107;j=c[b>>2]|0;c[e>>2]=c[da>>2];c[e+4>>2]=c[da+4>>2];NM(a,j,i,e);i=xM(a,f,370984,10)|0;c[ca>>2]=0;c[ca+4>>2]=108;j=c[b>>2]|0;c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];NM(a,j,i,e);i=xM(a,f,370995,10)|0;c[ba>>2]=0;c[ba+4>>2]=109;j=c[b>>2]|0;c[e>>2]=c[ba>>2];c[e+4>>2]=c[ba+4>>2];NM(a,j,i,e);i=xM(a,f,371006,15)|0;c[aa>>2]=0;c[aa+4>>2]=110;j=c[b>>2]|0;c[e>>2]=c[aa>>2];c[e+4>>2]=c[aa+4>>2];NM(a,j,i,e);i=xM(a,f,371022,11)|0;c[$>>2]=0;c[$+4>>2]=111;j=c[b>>2]|0;c[e>>2]=c[$>>2];c[e+4>>2]=c[$+4>>2];NM(a,j,i,e);i=xM(a,f,371034,11)|0;c[_>>2]=0;c[_+4>>2]=112;j=c[b>>2]|0;c[e>>2]=c[_>>2];c[e+4>>2]=c[_+4>>2];NM(a,j,i,e);i=xM(a,f,371046,10)|0;c[Z>>2]=0;c[Z+4>>2]=113;j=c[b>>2]|0;c[e>>2]=c[Z>>2];c[e+4>>2]=c[Z+4>>2];NM(a,j,i,e);i=xM(a,f,371057,12)|0;c[Y>>2]=0;c[Y+4>>2]=114;j=c[b>>2]|0;c[e>>2]=c[Y>>2];c[e+4>>2]=c[Y+4>>2];NM(a,j,i,e);i=xM(a,f,371070,10)|0;c[X>>2]=0;c[X+4>>2]=115;j=c[b>>2]|0;c[e>>2]=c[X>>2];c[e+4>>2]=c[X+4>>2];NM(a,j,i,e);i=xM(a,f,371081,15)|0;c[W>>2]=0;c[W+4>>2]=116;j=c[b>>2]|0;c[e>>2]=c[W>>2];c[e+4>>2]=c[W+4>>2];NM(a,j,i,e);i=xM(a,f,371097,16)|0;c[V>>2]=0;c[V+4>>2]=117;j=c[b>>2]|0;c[e>>2]=c[V>>2];c[e+4>>2]=c[V+4>>2];NM(a,j,i,e);i=xM(a,f,371114,13)|0;c[U>>2]=0;c[U+4>>2]=118;j=c[b>>2]|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];NM(a,j,i,e);i=xM(a,f,370138,8)|0;c[I>>2]=0;c[I+4>>2]=119;j=c[b>>2]|0;c[e>>2]=c[I>>2];c[e+4>>2]=c[I+4>>2];NM(a,j,i,e);i=rG(g,371128)|0;j=a+16|0;c[j>>2]=i;i=xM(a,f,371133,11)|0;c[T>>2]=0;c[T+4>>2]=120;I=c[(c[j>>2]|0)+8>>2]|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];NM(a,I,i,e);i=xM(a,f,371145,5)|0;c[S>>2]=0;c[S+4>>2]=121;I=c[(c[j>>2]|0)+8>>2]|0;c[e>>2]=c[S>>2];c[e+4>>2]=c[S+4>>2];NM(a,I,i,e);i=xM(a,f,370980,3)|0;c[R>>2]=0;c[R+4>>2]=122;I=c[j>>2]|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];NM(a,I,i,e);i=xM(a,f,371151,7)|0;c[Q>>2]=0;c[Q+4>>2]=123;I=c[j>>2]|0;c[e>>2]=c[Q>>2];c[e+4>>2]=c[Q+4>>2];NM(a,I,i,e);i=xM(a,f,371159,6)|0;c[P>>2]=0;c[P+4>>2]=124;I=c[j>>2]|0;c[e>>2]=c[P>>2];c[e+4>>2]=c[P+4>>2];NM(a,I,i,e);i=xM(a,f,371166,11)|0;c[O>>2]=0;c[O+4>>2]=125;I=c[j>>2]|0;c[e>>2]=c[O>>2];c[e+4>>2]=c[O+4>>2];NM(a,I,i,e);i=xM(a,f,371178,7)|0;c[N>>2]=0;c[N+4>>2]=126;I=c[j>>2]|0;c[e>>2]=c[N>>2];c[e+4>>2]=c[N+4>>2];NM(a,I,i,e);i=xM(a,f,371186,5)|0;c[M>>2]=0;c[M+4>>2]=127;I=c[j>>2]|0;c[e>>2]=c[M>>2];c[e+4>>2]=c[M+4>>2];NM(a,I,i,e);i=xM(a,f,371192,11)|0;c[L>>2]=0;c[L+4>>2]=128;I=c[j>>2]|0;c[e>>2]=c[L>>2];c[e+4>>2]=c[L+4>>2];NM(a,I,i,e);i=xM(a,f,371070,10)|0;c[K>>2]=0;c[K+4>>2]=129;I=c[j>>2]|0;c[e>>2]=c[K>>2];c[e+4>>2]=c[K+4>>2];NM(a,I,i,e);i=xM(a,f,371097,16)|0;c[J>>2]=0;c[J+4>>2]=130;I=c[j>>2]|0;c[e>>2]=c[J>>2];c[e+4>>2]=c[J+4>>2];NM(a,I,i,e);i=xM(a,f,371204,11)|0;c[w>>2]=0;c[w+4>>2]=131;j=c[j>>2]|0;c[e>>2]=c[w>>2];c[e+4>>2]=c[w+4>>2];NM(a,j,i,e);i=rG(g,371216)|0;j=a+20|0;c[j>>2]=i;i=xM(a,f,371145,5)|0;c[H>>2]=0;c[H+4>>2]=132;w=c[(c[j>>2]|0)+8>>2]|0;c[e>>2]=c[H>>2];c[e+4>>2]=c[H+4>>2];NM(a,w,i,e);i=xM(a,f,370980,3)|0;c[G>>2]=0;c[G+4>>2]=133;w=c[j>>2]|0;c[e>>2]=c[G>>2];c[e+4>>2]=c[G+4>>2];NM(a,w,i,e);i=xM(a,f,371151,7)|0;c[F>>2]=0;c[F+4>>2]=134;w=c[j>>2]|0;c[e>>2]=c[F>>2];c[e+4>>2]=c[F+4>>2];NM(a,w,i,e);i=xM(a,f,371220,13)|0;c[E>>2]=0;c[E+4>>2]=135;w=c[j>>2]|0;c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];NM(a,w,i,e);i=xM(a,f,371178,7)|0;c[D>>2]=0;c[D+4>>2]=136;w=c[j>>2]|0;c[e>>2]=c[D>>2];c[e+4>>2]=c[D+4>>2];NM(a,w,i,e);i=xM(a,f,371234,14)|0;c[C>>2]=0;c[C+4>>2]=137;w=c[j>>2]|0;c[e>>2]=c[C>>2];c[e+4>>2]=c[C+4>>2];NM(a,w,i,e);i=xM(a,f,371186,5)|0;c[B>>2]=0;c[B+4>>2]=138;w=c[j>>2]|0;c[e>>2]=c[B>>2];c[e+4>>2]=c[B+4>>2];NM(a,w,i,e);i=xM(a,f,371249,9)|0;c[A>>2]=0;c[A+4>>2]=139;w=c[j>>2]|0;c[e>>2]=c[A>>2];c[e+4>>2]=c[A+4>>2];NM(a,w,i,e);i=xM(a,f,371070,10)|0;c[y>>2]=0;c[y+4>>2]=140;w=c[j>>2]|0;c[e>>2]=c[y>>2];c[e+4>>2]=c[y+4>>2];NM(a,w,i,e);i=xM(a,f,371259,20)|0;c[x>>2]=0;c[x+4>>2]=141;w=c[j>>2]|0;c[e>>2]=c[x>>2];c[e+4>>2]=c[x+4>>2];NM(a,w,i,e);i=xM(a,f,371280,22)|0;c[o>>2]=0;c[o+4>>2]=142;j=c[j>>2]|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];NM(a,j,i,e);i=rG(g,371303)|0;j=a+36|0;c[j>>2]=i;i=xM(a,f,371309,4)|0;c[v>>2]=0;c[v+4>>2]=143;o=c[j>>2]|0;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];NM(a,o,i,e);i=xM(a,f,371314,2)|0;c[u>>2]=0;c[u+4>>2]=144;o=c[j>>2]|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];NM(a,o,i,e);i=xM(a,f,371317,3)|0;c[t>>2]=0;c[t+4>>2]=145;o=c[j>>2]|0;c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];NM(a,o,i,e);i=xM(a,f,371321,3)|0;c[s>>2]=0;c[s+4>>2]=146;o=c[j>>2]|0;c[e>>2]=c[s>>2];c[e+4>>2]=c[s+4>>2];NM(a,o,i,e);i=xM(a,f,371325,11)|0;c[r>>2]=0;c[r+4>>2]=147;o=c[j>>2]|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];NM(a,o,i,e);i=xM(a,f,371070,10)|0;c[q>>2]=0;c[q+4>>2]=148;o=c[j>>2]|0;c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];NM(a,o,i,e);i=xM(a,f,371097,16)|0;c[p>>2]=0;c[p+4>>2]=149;o=c[j>>2]|0;c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];NM(a,o,i,e);i=xM(a,f,370138,8)|0;c[n>>2]=0;c[n+4>>2]=150;j=c[j>>2]|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];NM(a,j,i,e);g=rG(g,371337)|0;i=xM(a,f,371344,5)|0;c[m>>2]=0;c[m+4>>2]=151;g=g+8|0;j=c[g>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];NM(a,j,i,e);i=xM(a,f,371350,4)|0;c[k>>2]=0;c[k+4>>2]=152;j=c[g>>2]|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];NM(a,j,i,e);f=xM(a,f,371355,15)|0;c[h>>2]=0;c[h+4>>2]=153;g=c[g>>2]|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];NM(a,g,f,e);a=a+60|0;while(1){a=c[a>>2]|0;if(!a)break;if((c[a>>2]|0)==10)c[a+8>>2]=c[b>>2];a=a+12|0}l=d;return}function wJ(a){a=a|0;z=-262144;return a|0}function xJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=tN(a,d)|0;QF(a,g);e=KM(a,0,g)|0;g=c[g+16>>2]|0;f=wJ(e)|0;iG(a,b,d,g,f,z)|0;RF(a);return e|0}function yJ(a,b){a=a|0;b=b|0;c[b>>2]=2;c[b+4>>2]=2147221504;return 1}function zJ(a,b){a=a|0;b=b|0;var d=0;d=b;a=b+8|0;a=hN(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a?3:2;c[b+4>>2]=a?2147221504:2147221504;return 1}function AJ(a,b){a=a|0;b=b|0;var d=0;d=b;a=b+8|0;a=hN(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a?2:3;c[b+4>>2]=a?2147221504:2147221504;return 1}function BJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+8|0;d=c[e>>2]|0;if(!(SL(d,c[e+4>>2]|0,0)|0)){e=uN(a,379506,30)|0;b=(c[a+44>>2]|0)+48|0;c[b>>2]=e;c[b+4>>2]=z;b=0;return b|0}f=b;e=d;d=TN(a,c[f>>2]|0,c[f+4>>2]|0)|0;while(1){if((e|0)==(d|0)){d=5;break}d=c[d+16>>2]|0;if(!d){d=7;break}}if((d|0)==5){f=b;c[f>>2]=3;c[f+4>>2]=2147221504;f=1;return f|0}else if((d|0)==7){f=b;c[f>>2]=2;c[f+4>>2]=2147221504;f=1;return f|0}return 0}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=wJ(c[(c[(c[b>>2]|0)+8>>2]|0)+36>>2]|0)|0;f=e;c[f>>2]=g;c[f+4>>2]=z;a=QM(a,379492,e)|0;c[b>>2]=a;c[b+4>>2]=z;l=d;return 1}function DJ(a,b){a=a|0;b=b|0;var d=0;d=b;a=wJ(TN(a,c[d>>2]|0,c[d+4>>2]|0)|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function EJ(a,b){a=a|0;b=b|0;a=wJ(c[(c[b>>2]|0)+36>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function FJ(a,b){a=a|0;b=b|0;var d=0;a=c[(c[b>>2]|0)+16>>2]|0;if(!a){a=1;d=2147221504}else{a=wJ(a)|0;d=z}c[b>>2]=a;c[b+4>>2]=d;return 1}function GJ(a,b){a=a|0;b=b|0;a=wJ(c[(c[b>>2]|0)+36>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function HJ(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;a=b+16|0;a=hN(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a?3:2;c[b+4>>2]=a?2147221504:2147221504;return 1}function IJ(a,b){a=a|0;b=b|0;var d=0;d=b;if((c[d>>2]|0)==3?(c[d+4>>2]|0)==2147221504:0){a=uN(a,405079,4)|0;d=z}else{a=uN(a,404649,5)|0;d=z}c[b>>2]=a;c[b+4>>2]=d;return 1}function JJ(a,b){a=a|0;b=b|0;a=b;a=(c[a>>2]|0)!=3?1:(c[a+4>>2]|0)!=2147221504;c[b>>2]=a?3:2;c[b+4>>2]=a?2147221504:2147221504;return 1}function KJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(XL(a,c[e>>2]|0,c[e+4>>2]|0,371498)|0)){e=0;return e|0}d=c[d>>2]|0;if((c[(c[d+16>>2]|0)+52>>2]|0)>1){b=uN(a,371786,45)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=b;c[e+4>>2]=z;e=0;return e|0}else{a=UM(a,d)|0;e=c[a+16>>2]|0;c[e>>2]=1;c[e+4>>2]=2147221504;e=a+20|0;c[e>>2]=(c[e>>2]|0)+8;a=wJ(a)|0;e=b;c[e>>2]=a;c[e+4>>2]=z;e=1;return e|0}return 0}function LJ(a,b){a=a|0;b=b|0;var d=0,e=0;b=b+8|0;e=b;d=c[e+4>>2]|0;a=(c[a+44>>2]|0)+48|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return ((c[b>>2]|0)==1?(c[b+4>>2]|0)==2147221504:0)|0}function MJ(a,b){a=a|0;b=b|0;a=wJ(c[a+44>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function NJ(a,b){a=a|0;b=b|0;c[a+44>>2]=0;c[a+104>>2]=0;return 0}function OJ(b,d){b=b|0;d=d|0;var e=0;b=b+44|0;d=c[b>>2]|0;e=d+44|0;c[b>>2]=c[e>>2];c[e>>2]=0;a[d+56>>0]=0;b=c[b>>2]|0;if(!b)return 0;e=(c[b+20>>2]|0)+-8|0;c[e>>2]=1;c[e+4>>2]=2147221504;return 0}function PJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+44|0;b=c[e>>2]|0;f=b+44|0;c[e>>2]=c[f>>2];c[f>>2]=0;a[b+56>>0]=0;e=c[e>>2]|0;if(!e)return 0;g=d+8|0;d=c[g+4>>2]|0;f=(c[e+20>>2]|0)+-8|0;c[f>>2]=c[g>>2];c[f+4>>2]=d;f=b+20|0;c[f>>2]=(c[f>>2]|0)+-8;return 0}function QJ(a,b){a=a|0;b=b|0;return UL(a,c[b>>2]|0,b,1,0,371781)|0}function RJ(a,b){a=a|0;b=b|0;return UL(a,c[b>>2]|0,b,1,1,371781)|0}function SJ(a,b){a=a|0;b=b|0;var d=0;d=(c[b>>2]|0)+48|0;a=c[d+4>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=a;return 1}function TJ(a,b){a=a|0;b=b|0;var d=0;a=c[b>>2]|0;if(!(c[a+32>>2]|0)){a=3;d=2147221504}else{d=a+48|0;d=(c[d>>2]|0)!=1?1:(c[d+4>>2]|0)!=2147221504;a=d?3:2;d=d?2147221504:2147221504}c[b>>2]=a;c[b+4>>2]=d;return 1}function UJ(a,b){a=a|0;b=b|0;return UL(a,c[b>>2]|0,b,0,0,371769)|0}function VJ(a,b){a=a|0;b=b|0;return UL(a,c[b>>2]|0,b,0,1,371769)|0}function WJ(a,b){a=a|0;b=b|0;var d=0,e=0;UL(a,c[b>>2]|0,b,0,1,371769)|0;e=b+8|0;d=c[e+4>>2]|0;b=(c[a+44>>2]|0)+48|0;c[b>>2]=c[e>>2];c[b+4>>2]=d;return 0}function XJ(b,d){b=b|0;d=d|0;UL(b,c[d>>2]|0,d,1,0,371680)|0;b=c[b+44>>2]|0;d=b+48|0;if(!((c[d>>2]|0)==1?(c[d+4>>2]|0)==2147221504:0))return 0;a[b+56>>0]=1;return 0}function YJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(XL(a,c[e>>2]|0,c[e+4>>2]|0,371498)|0)){e=0;return e|0}a=d;d=c[a+4>>2]|0;e=b;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=1;return e|0}function ZJ(a,b){a=a|0;b=b|0;a=QL(+(c[(c[(c[b>>2]|0)+16>>2]|0)+52>>2]|0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function _J(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;g=d;b=xM(a,a+152|0,b,r4(b)|0)|0;c[g>>2]=3;f=c[a+12>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];NM(a,f,b,e);l=d;return}function $J(a,b){a=a|0;b=b|0;a=uN(a,371675,4)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function aK(a,b){a=a|0;b=b|0;c[b>>2]=3;c[b+4>>2]=2147221504;return 1}function bK(a,b){a=a|0;b=b|0;a=uN(a,371670,4)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function cK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;e=d+8|0;i=e;if(!(fM(b,c[i>>2]|0,c[i+4>>2]|0,371498)|0)){j=0;l=k;return j|0}e=c[e>>2]|0;f=e+16|0;if(!(c[f>>2]|0)){j=d;c[j>>2]=1;c[j+4>>2]=2147221504;j=1;l=k;return j|0}c[105438]=0;g=+U5(e+24|0,j);i=c[j>>2]|0;while(1){h=a[i>>0]|0;if(!(h<<24>>24))break;if(!(T2(h&255)|0))break;h=i+1|0;c[j>>2]=h;i=h}if((c[105438]|0)==34){d=uN(b,371641,28)|0;j=(c[b+44>>2]|0)+48|0;c[j>>2]=d;c[j+4>>2]=z;j=0;l=k;return j|0}if(i>>>0<((c[f>>2]|0)+(e+24)|0)>>>0){j=d;c[j>>2]=1;c[j+4>>2]=2147221504;j=1;l=k;return j|0}else{b=QL(g)|0;j=d;c[j>>2]=b;c[j+4>>2]=z;j=1;l=k;return j|0}return 0}function dK(a,b){a=a|0;b=b|0;a=QL(3.141592653589793)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function eK(a,b){a=a|0;b=b|0;a=QL(1797693134862315708145274.0e284)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function fK(a,b){a=a|0;b=b|0;a=QL(2.2250738585072014e-308)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=QL(f-+RL(c[d>>2]|0,c[d+4>>2]|0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function hK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=QL(f+ +RL(c[d>>2]|0,c[d+4>>2]|0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function iK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=QL(f*+RL(c[d>>2]|0,c[d+4>>2]|0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=QL(f/+RL(c[d>>2]|0,c[d+4>>2]|0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function kK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f<+RL(c[d>>2]|0,c[d+4>>2]|0);e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function lK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f>+RL(c[d>>2]|0,c[d+4>>2]|0);e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function mK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f<=+RL(c[d>>2]|0,c[d+4>>2]|0);e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f>=+RL(c[d>>2]|0,c[d+4>>2]|0);e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function oK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0)>>>0;e=b;d=QL(+((~~+RL(c[e>>2]|0,c[e+4>>2]|0)>>>0&d)>>>0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function pK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0)>>>0;e=b;d=QL(+((~~+RL(c[e>>2]|0,c[e+4>>2]|0)>>>0|d)>>>0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function qK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0)>>>0;e=b;d=QL(+((~~+RL(c[e>>2]|0,c[e+4>>2]|0)>>>0^d)>>>0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function rK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0)>>>0;e=b;d=QL(+(~~+RL(c[e>>2]|0,c[e+4>>2]|0)>>>0<<d>>>0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function sK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0)>>>0;e=b;d=QL(+(~~+RL(c[e>>2]|0,c[e+4>>2]|0)>>>0>>>d>>>0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function tK(a,b){a=a|0;b=b|0;a=b;a=QL(+B(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function uK(a,b){a=a|0;b=b|0;a=b;a=QL(+H(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function vK(a,b){a=a|0;b=b|0;a=b;a=QL(+I(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function wK(a,b){a=a|0;b=b|0;a=b;a=QL(+J(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function xK(a,b){a=a|0;b=b|0;a=b;a=QL(+N(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function yK(a,b){a=a|0;b=b|0;a=b;a=QL(+E(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function zK(a,b){a=a|0;b=b|0;a=b;a=QL(+A(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function AK(a,b){a=a|0;b=b|0;a=b;a=QL(-+RL(c[a>>2]|0,c[a+4>>2]|0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function BK(a,b){a=a|0;b=b|0;a=b;a=QL(+v6(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function CK(a,b){a=a|0;b=b|0;a=b;a=QL(+F(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function DK(a,b){a=a|0;b=b|0;a=b;a=QL(+C(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function EK(a,b){a=a|0;b=b|0;a=b;a=QL(+G(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function FK(a,b){a=a|0;b=b|0;a=b;a=QL(+M(+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function GK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371513)|0)){e=0;return e|0}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=QL(+o4(f,+RL(c[d>>2]|0,c[d+4>>2]|0)))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function HK(a,b){a=a|0;b=b|0;a=b;a=QL(+(~(~~+RL(c[a>>2]|0,c[a+4>>2]|0)>>>0)>>>0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function IK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371616)|0)){e=0;return e|0}f=+RL(c[d>>2]|0,c[d+4>>2]|0);d=b;d=sN(a,+RL(c[d>>2]|0,c[d+4>>2]|0),f,1)|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;e=d;if(!(ZL(a,c[e>>2]|0,c[e+4>>2]|0,371616)|0)){e=0;return e|0}f=+RL(c[d>>2]|0,c[d+4>>2]|0);d=b;d=sN(a,+RL(c[d>>2]|0,c[d+4>>2]|0),f,0)|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function KK(a,b){a=a|0;b=b|0;var d=0.0;a=b;d=+RL(c[a>>2]|0,c[a+4>>2]|0);a=b+8|0;a=QL(+K(+d,+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function LK(a,b){a=a|0;b=b|0;var d=0.0;a=b;d=+RL(c[a>>2]|0,c[a+4>>2]|0);a=b+8|0;a=QL(+D(+d,+(+RL(c[a>>2]|0,c[a+4>>2]|0))))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function MK(a,b){a=a|0;b=b|0;var d=0;a=l;l=l+16|0;d=b;d=QL(+A4(+RL(c[d>>2]|0,c[d+4>>2]|0),a))|0;c[b>>2]=d;c[b+4>>2]=z;l=a;return 1}function NK(a,b){a=a|0;b=b|0;a=b;a=TL(+RL(c[a>>2]|0,c[a+4>>2]|0))|0;a=(a|0)==0&(z&2147483647|0)==2146435072;c[b>>2]=a?3:2;c[b+4>>2]=a?2147221504:2147221504;return 1}function OK(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=b;d=+RL(c[e>>2]|0,c[e+4>>2]|0);TL(d)|0;e=z&2146435072;if(e>>>0>2146435071|(e|0)==2146435071&0>4294967295){a=2;e=2147221504}else{e=+J4(d)==d;a=e?3:2;e=e?2147221504:2147221504}c[b>>2]=a;c[b+4>>2]=e;return 1}function PK(a,b){a=a|0;b=b|0;var d=0;a=b;a=TL(+RL(c[a>>2]|0,c[a+4>>2]|0))|0;d=z&2147483647;a=d>>>0>2146435072|(d|0)==2146435072&a>>>0>0;c[b>>2]=a?3:2;c[b+4>>2]=a?2147221504:2147221504;return 1}function QK(a,b){a=a|0;b=b|0;var d=0.0;a=b;d=+RL(c[a>>2]|0,c[a+4>>2]|0);a=QL(d>0.0?1.0:d<0.0?-1.0:0.0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function RK(a,b){a=a|0;b=b|0;var d=0;d=b;a=wN(a,+RL(c[d>>2]|0,c[d+4>>2]|0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function SK(a,b){a=a|0;b=b|0;var d=0,e=0;a=l;l=l+16|0;d=a;e=b;+A4(+RL(c[e>>2]|0,c[e+4>>2]|0),d);d=QL(+h[d>>3])|0;c[b>>2]=d;c[b+4>>2]=z;l=a;return 1}function TK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(0==0&(d&2147221504|0)==2147221504){e=2;d=2147221504;a=b;c[a>>2]=e;b=b+4|0;c[b>>2]=d;return 1}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f==+RL(a,d);a=d?3:2;d=d?2147221504:2147221504;e=b;b=e;c[b>>2]=a;e=e+4|0;c[e>>2]=d;return 1}function UK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=b+8|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(0==0&(d&2147221504|0)==2147221504){e=3;d=2147221504;a=b;c[a>>2]=e;b=b+4|0;c[b>>2]=d;return 1}e=b;f=+RL(c[e>>2]|0,c[e+4>>2]|0);d=f!=+RL(a,d);a=d?3:2;d=d?2147221504:2147221504;e=b;b=e;c[b>>2]=a;e=e+4|0;c[e>>2]=d;return 1}function VK(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!($L(a,c[e>>2]|0,c[e+4>>2]|0,371530)|0)){e=0;return e|0}d=~~+RL(c[d>>2]|0,c[d+4>>2]|0);if((d|0)<0){b=uN(a,371541,30)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=b;c[e+4>>2]=z;e=0;return e|0}if((d|0)>1114111){b=uN(a,371572,43)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=b;c[e+4>>2]=z;e=0;return e|0}else{a=yN(a,d)|0;e=b;c[e>>2]=a;c[e+4>>2]=z;e=1;return e|0}return 0}function WK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;e=f;d=b+8|0;g=d;if(!(fM(a,c[g>>2]|0,c[g+4>>2]|0,371513)|0)){g=0;l=f;return g|0}j=b;i=c[j+4>>2]|0;h=c[d>>2]|0;d=c[d+4>>2]|0;g=e;c[g>>2]=c[j>>2];c[g+4>>2]=i;g=e+8|0;c[g>>2]=h;c[g+4>>2]=d;e=QM(a,371527,e)|0;g=b;c[g>>2]=e;c[g+4>>2]=z;g=1;l=f;return g|0}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+4|0;h=j;i=c[b>>2]|0;d=i;f=b+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!(0==0&(f&2147221504|0)==2147221504)){d=dM(a,e,f,c[d+16>>2]|0,371419)|0;if((d|0)==-1){i=0;l=j;return i|0}a=zN(a,i,d)|0;i=b;c[i>>2]=a;c[i+4>>2]=z;i=1;l=j;return i|0}if(!(SL(e,f,9)|0)){b=uN(a,371429,38)|0;i=(c[a+44>>2]|0)+48|0;c[i>>2]=b;c[i+4>>2]=z;i=0;l=j;return i|0}c[h>>2]=c[d+16>>2];d=gM(a,e,h,g)|0;if((d|0)==-1){i=0;l=j;return i|0}a=vN(a,i,d,c[h>>2]|0,c[g>>2]|0)|0;i=b;c[i>>2]=a;c[i+4>>2]=z;i=1;l=j;return i|0}function YK(a,b){a=a|0;b=b|0;var e=0,f=0;e=c[b>>2]|0;f=b+8|0;a=dM(a,c[f>>2]|0,c[f+4>>2]|0,c[e+16>>2]|0,371413)|0;if((a|0)==-1){f=0;return f|0}e=QL(+(d[e+24+a>>0]|0))|0;f=b;c[f>>2]=e;c[f+4>>2]=z;f=1;return f|0}function ZK(a,b){a=a|0;b=b|0;a=QL(+((c[(c[b>>2]|0)+16>>2]|0)>>>0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function _K(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0;g=c[d>>2]|0;f=d+8|0;h=g+16|0;f=dM(b,c[f>>2]|0,c[f+4>>2]|0,c[h>>2]|0,371413)|0;if((f|0)==-1){d=0;return d|0}b=g+24+f|0;if((a[b>>0]&-64)<<24>>24==-128)e=-1.0;else e=+(BM(b,(c[h>>2]|0)-f|0)|0);h=QL(e)|0;c[d>>2]=h;c[d+4>>2]=z;d=1;return d|0}function $K(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(fM(a,c[e>>2]|0,c[e+4>>2]|0,371498)|0)){e=0;return e|0}d=(AN(c[b>>2]|0,c[d>>2]|0,0)|0)!=-1;e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function aL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+8|0;f=d;if(!(fM(a,c[f>>2]|0,c[f+4>>2]|0,371498)|0)){b=0;return b|0}f=c[b>>2]|0;a=c[d>>2]|0;d=c[a+16>>2]|0;e=c[f+16>>2]|0;if(d>>>0>e>>>0){a=2;d=2147221504}else{d=(f3(f+24+e+(0-d)|0,a+24|0,d)|0)==0;a=d?3:2;d=d?2147221504:2147221504}c[b>>2]=a;c[b+4>>2]=d;b=1;return b|0}function bL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(fM(a,c[e>>2]|0,c[e+4>>2]|0,371498)|0)){e=0;return e|0}d=QL(+(AN(c[b>>2]|0,c[d>>2]|0,0)|0))|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function cL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+8|0;f=d;if(!(fM(a,c[f>>2]|0,c[f+4>>2]|0,371498)|0)){f=0;return f|0}f=c[b>>2]|0;e=c[d>>2]|0;d=b+16|0;d=dM(a,c[d>>2]|0,c[d+4>>2]|0,c[f+16>>2]|0,371507)|0;if((d|0)==-1){f=0;return f|0}e=QL(+(AN(f,e,d)|0))|0;f=b;c[f>>2]=e;c[f+4>>2]=z;f=1;return f|0}function dL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;i=c[d>>2]|0;h=d+8|0;g=h;e=c[g>>2]|0;g=c[g+4>>2]|0;a:do if((e|0)==1&(g|0)==2147221504)if(!(c[i+16>>2]|0)){b=2;e=2147221504}else{b=QL(0.0)|0;e=z}else{if(!($L(b,e,g,371382)|0)){d=0;return d|0}f=+RL(c[h>>2]|0,c[h+4>>2]|0);if(f<0.0){b=2;e=2147221504}else{e=c[i+16>>2]|0;b=~~f>>>0;do{b=b+1|0;if(b>>>0>=e>>>0){b=2;e=2147221504;break a}}while((a[i+24+b>>0]&-64)<<24>>24==-128);b=QL(+(b>>>0))|0;e=z}}while(0);c[d>>2]=b;c[d+4>>2]=e;d=1;return d|0}function eL(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,h=0,i=0;i=c[b>>2]|0;g=b+8|0;f=g;d=c[f>>2]|0;f=c[f+4>>2]|0;if((d|0)==1&(f|0)==2147221504)if(!(c[i+16>>2]|0)){a=2;d=2147221504}else{a=QL(0.0)|0;d=z}else{if(!($L(a,d,f,371382)|0)){b=0;return b|0}e=+RL(c[g>>2]|0,c[g+4>>2]|0);if(!(e<0.0)?(h=(~~e>>>0)+1|0,h>>>0<(c[i+16>>2]|0)>>>0):0){a=QL(+(h>>>0))|0;d=z}else{a=2;d=2147221504}}c[b>>2]=a;c[b+4>>2]=d;b=1;return b|0}function fL(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[b>>2]|0;d=b+8|0;d=dM(a,c[d>>2]|0,c[d+4>>2]|0,c[e+16>>2]|0,371382)|0;if((d|0)==-1){e=0;return e|0}d=zN(a,e,d)|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function gL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(fM(a,c[e>>2]|0,c[e+4>>2]|0,371498)|0)){b=0;return b|0}e=c[b>>2]|0;a=c[d>>2]|0;d=c[a+16>>2]|0;if(d>>>0>(c[e+16>>2]|0)>>>0){a=2;d=2147221504}else{d=(f3(e+24|0,a+24|0,d)|0)==0;a=d?3:2;d=d?2147221504:2147221504}c[b>>2]=a;c[b+4>>2]=d;b=1;return b|0}function hL(a,b){a=a|0;b=b|0;return 1}function iL(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+8|0;h=e;if(!($L(a,c[h>>2]|0,c[h+4>>2]|0,371468)|0)){b=0;return b|0}h=e;d=+RL(c[h>>2]|0,c[h+4>>2]|0);if(d<0.0){h=uN(a,371473,24)|0;b=(c[a+44>>2]|0)+48|0;c[b>>2]=h;c[b+4>>2]=z;b=0;return b|0}h=~~d>>>0;a=aN(a,h)|0;f=b+16|0;g=a+16|0;e=0;while(1){if((e|0)==(h|0))break;k=f;j=c[k+4>>2]|0;i=(c[g>>2]|0)+(e<<3)|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;e=e+1|0}j=wJ(a)|0;k=b;c[k>>2]=j;c[k+4>>2]=z;k=1;return k|0}function jL(a,b){a=a|0;b=b|0;a=wJ(aN(a,0)|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+4|0;f=m;h=c[b>>2]|0;e=b+8|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!(0==0&(e&2147221504|0)==2147221504)){d=dM(a,d,e,c[h+20>>2]|0,371419)|0;if((d|0)==-1){b=0;l=m;return b|0}j=(c[h+16>>2]|0)+(d<<3)|0;k=c[j+4>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=k;b=1;l=m;return b|0}if(!(SL(d,e,9)|0)){k=uN(a,371429,38)|0;b=(c[a+44>>2]|0)+48|0;c[b>>2]=k;c[b+4>>2]=z;b=0;l=m;return b|0}c[f>>2]=c[h+20>>2];k=gM(a,d,f,i)|0;if((k|0)==-1){b=0;l=m;return b|0}j=c[f>>2]|0;g=aN(a,j)|0;a=h+16|0;e=c[i>>2]|0;f=g+16|0;d=0;while(1){if((d|0)==(j|0))break;n=(c[a>>2]|0)+(k+(O(d,e)|0)<<3)|0;h=c[n+4>>2]|0;i=(c[f>>2]|0)+(d<<3)|0;c[i>>2]=c[n>>2];c[i+4>>2]=h;d=d+1|0}k=wJ(g)|0;n=b;c[n>>2]=k;c[n+4>>2]=z;n=1;l=m;return n|0}function lL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;e=b+8|0;a=dM(a,c[e>>2]|0,c[e+4>>2]|0,c[d+20>>2]|0,371419)|0;if((a|0)==-1){e=0;return e|0}e=b+16|0;g=e;f=c[g+4>>2]|0;a=(c[d+16>>2]|0)+(a<<3)|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;a=e;d=c[a+4>>2]|0;e=b;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=1;return e|0}function mL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;GM(a,(c[b>>2]|0)+16|0,c[e>>2]|0,c[e+4>>2]|0);a=c[d+4>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=a;return 1}function nL(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;GM(a,(c[b>>2]|0)+16|0,c[d>>2]|0,c[d+4>>2]|0);return 1}function oL(a,b){a=a|0;b=b|0;EM(a,(c[b>>2]|0)+16|0);c[b>>2]=1;c[b+4>>2]=2147221504;return 1}function pL(a,b){a=a|0;b=b|0;a=QL(+(c[(c[b>>2]|0)+20>>2]|0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function qL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[b>>2]|0;d=b+8|0;d=dM(a,c[d>>2]|0,c[d+4>>2]|0,(c[e+20>>2]|0)+1|0,371413)|0;if((d|0)==-1){e=0;return e|0}f=b+16|0;g=f;bN(a,e,c[g>>2]|0,c[g+4>>2]|0,d);a=f;d=c[a+4>>2]|0;e=b;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=1;return e|0}function rL(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;g=b+8|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if((e|0)==1&(f|0)==2147221504)if(!(c[h+20>>2]|0)){a=2;e=2147221504}else{a=QL(0.0)|0;e=z}else{if(!($L(a,e,f,371382)|0)){b=0;return b|0}d=+RL(c[g>>2]|0,c[g+4>>2]|0);if(!(d<0.0)?!(d>=+((c[h+20>>2]|0)+-1|0)):0){a=QL(d+1.0)|0;e=z}else{a=2;e=2147221504}}c[b>>2]=a;c[b+4>>2]=e;b=1;return b|0}function sL(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;e=b+8|0;a=dM(a,c[e>>2]|0,c[e+4>>2]|0,c[d+20>>2]|0,371382)|0;if((a|0)==-1){e=0;return e|0}a=(c[d+16>>2]|0)+(a<<3)|0;d=c[a+4>>2]|0;e=b;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=1;return e|0}function tL(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[b>>2]|0;d=b+8|0;d=dM(a,c[d>>2]|0,c[d+4>>2]|0,c[e+20>>2]|0,371413)|0;if((d|0)==-1){e=0;return e|0}d=cN(a,e,d)|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function uL(a,b){a=a|0;b=b|0;a=wJ(dN(a)|0)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function vL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+8|0;e=d;if(!(bM(a,c[e>>2]|0,c[e+4>>2]|0)|0)){e=0;return e|0}f=d;d=c[b>>2]|0;f=eN(c[d+16>>2]|0,c[d+24>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=z;a=(f|0)==4&(d|0)==2147221504;e=b;c[e>>2]=a?1:f;c[e+4>>2]=a?2147221504:d;e=1;return e|0}function wL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+8|0;e=d;if(!(bM(a,c[e>>2]|0,c[e+4>>2]|0)|0)){e=0;return e|0}f=d;d=b+16|0;e=d;mN(a,c[b>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0);a=d;d=c[a+4>>2]|0;e=b;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=1;return e|0}function xL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(bM(a,c[e>>2]|0,c[e+4>>2]|0)|0)){e=0;return e|0}e=b+16|0;mN(a,c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0);e=1;return e|0}function yL(a,b){a=a|0;b=b|0;pN(a,c[b>>2]|0);c[b>>2]=1;c[b+4>>2]=2147221504;return 1}function zL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(bM(a,c[e>>2]|0,c[e+4>>2]|0)|0)){e=0;return e|0}e=c[b>>2]|0;d=eN(c[e+16>>2]|0,c[e+24>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=(d|0)!=4|(z|0)!=2147221504;e=b;c[e>>2]=d?3:2;c[e+4>>2]=d?2147221504:2147221504;e=1;return e|0}function AL(a,b){a=a|0;b=b|0;a=QL(+((c[(c[b>>2]|0)+20>>2]|0)>>>0))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function BL(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+8|0;e=d;if(!(bM(a,c[e>>2]|0,c[e+4>>2]|0)|0)){e=0;return e|0}d=qN(a,c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;e=b;c[e>>2]=d;c[e+4>>2]=z;e=1;return e|0}function CL(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;a:do if(!(c[h+20>>2]|0)){a=2;e=2147221504}else{e=b+8|0;g=e;f=c[g>>2]|0;g=c[g+4>>2]|0;if((f|0)==1&(g|0)==2147221504){a=0;e=c[h+16>>2]|0}else{if(!($L(a,f,g,371382)|0)){b=0;return b|0}g=e;d=+RL(c[g>>2]|0,c[g+4>>2]|0);if(d<0.0){a=2;e=2147221504;break}a=~~d>>>0;e=c[h+16>>2]|0;if(a>>>0>=e>>>0){a=2;e=2147221504;break}a=a+1|0}f=h+24|0;while(1){if(a>>>0>=e>>>0){a=2;e=2147221504;break a}h=(c[f>>2]|0)+(a<<4)|0;if(!((c[h>>2]|0)==4?(c[h+4>>2]|0)==2147221504:0))break;a=a+1|0}a=QL(+(a>>>0))|0;e=z}while(0);c[b>>2]=a;c[b+4>>2]=e;b=1;return b|0}function DL(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[b>>2]|0;d=b+8|0;d=dM(a,c[d>>2]|0,c[d+4>>2]|0,c[e+16>>2]|0,371382)|0;if((d|0)==-1){b=0;return b|0}e=(c[e+24>>2]|0)+(d<<4)|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==4&(e|0)==2147221504){e=uN(a,371391,21)|0;b=(c[a+44>>2]|0)+48|0;c[b>>2]=e;c[b+4>>2]=z;b=0;return b|0}else{c[b>>2]=d;c[b+4>>2]=e;b=1;return b|0}return 0}function EL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;e=b+8|0;e=dM(a,c[e>>2]|0,c[e+4>>2]|0,c[d+16>>2]|0,371382)|0;if((e|0)==-1){e=0;return e|0}d=c[d+24>>2]|0;f=d+(e<<4)|0;if((c[f>>2]|0)==4?(c[f+4>>2]|0)==2147221504:0){e=uN(a,371391,21)|0;f=(c[a+44>>2]|0)+48|0;c[f>>2]=e;c[f+4>>2]=z;f=0;return f|0}else{a=d+(e<<4)+8|0;e=c[a+4>>2]|0;f=b;c[f>>2]=c[a>>2];c[f+4>>2]=e;f=1;return f|0}return 0}function FL(a,b){a=a|0;b=b|0;a=QL(+h[(c[b>>2]|0)+16>>3])|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function GL(a,b){a=a|0;b=b|0;a=QL(+h[(c[b>>2]|0)+24>>3])|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function HL(a,b){a=a|0;b=b|0;a=c[b>>2]|0;a=QL(+D4(+h[a+16>>3],+h[a+24>>3]))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function IL(a,b){a=a|0;b=b|0;a=c[b>>2]|0;a=QL(+B4(+h[a+16>>3],+h[a+24>>3]))|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function JL(b,d){b=b|0;d=d|0;b=d;c[b>>2]=a[(c[d>>2]|0)+32>>0]&1|2;c[b+4>>2]=2147221504;return 1}function KL(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0;m=c[d>>2]|0;l=m+16|0;e=+h[l>>3];k=m+24|0;if(e==+h[k>>3]?(a[m+32>>0]&1)==0:0){f=2;g=2147221504}else j=3;do if((j|0)==3){f=d+8|0;j=f;g=c[j>>2]|0;j=c[j+4>>2]|0;if((g|0)==1&(j|0)==2147221504){f=QL(e)|0;g=z;break}if(!(ZL(b,g,j,371382)|0)){d=0;return d|0}b=f;e=+RL(c[b>>2]|0,c[b+4>>2]|0);i=+h[k>>3];if(+h[l>>3]<i){e=e+1.0;if(e>i){f=2;g=2147221504;break}}else{e=e+-1.0;if(e<i){f=2;g=2147221504;break}}if((a[m+32>>0]&1)==0&e==i){f=2;g=2147221504}else{f=QL(e)|0;g=z}}while(0);c[d>>2]=f;c[d+4>>2]=g;d=1;return d|0}function LL(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;a=c[d+4>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=a;return 1}function ML(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;e=l;l=l+32|0;g=e;f=c[d>>2]|0;n=wN(b,+h[f+16>>3])|0;m=z;QF(b,n);j=wN(b,+h[f+24>>3])|0;i=z;QF(b,j);f=a[f+32>>0]&1?371371:371374;k=g;c[k>>2]=n;c[k+4>>2]=m;c[g+8>>2]=f;f=g+16|0;c[f>>2]=j;c[f+4>>2]=i;g=QM(b,371378,g)|0;f=z;RF(b);RF(b);c[d>>2]=g;c[d+4>>2]=f;l=e;return 1}function NL(a,b){a=a|0;b=b|0;a=QL(+(tb()|0)/1.0e6)|0;c[b>>2]=a;c[b+4>>2]=z;return 1}function OL(a,b){a=a|0;b=b|0;LF(a);c[b>>2]=1;c[b+4>>2]=2147221504;return 1}function PL(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+124>>2]|0;d=b+8|0;if(e|0)li[e&511](a,(c[d>>2]|0)+24|0);a=c[d+4>>2]|0;e=b;c[e>>2]=c[d>>2];c[e+4>>2]=a;return 1}function QL(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function RL(a,b){a=a|0;b=b|0;c[j>>2]=a;c[j+4>>2]=b;return +(+h[j>>3])}function SL(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b>>>0>4294705151|(b|0)==-262145&a>>>0>4294967295)){d=0;return d|0}d=(c[a>>2]|0)==(d|0);return d|0}function TL(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function UL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k+8|0;h=k;m=b+48|0;if(!((c[m>>2]|0)==1?(c[m+4>>2]|0)==2147221504:0)){c[h>>2]=g;b=QM(a,371684,h)|0;m=(c[a+44>>2]|0)+48|0;c[m>>2]=b;c[m+4>>2]=z;l=k;return 0}do if(e){e=b+44|0;if(!(c[e>>2]|0)){c[e>>2]=c[a+44>>2];break}b=uN(a,371711,30)|0;m=(c[a+44>>2]|0)+48|0;c[m>>2]=b;c[m+4>>2]=z;l=k;return 0}while(0);h=b+32|0;e=c[h>>2]|0;if(!e){c[i>>2]=g;b=QM(a,371742,i)|0;m=(c[a+44>>2]|0)+48|0;c[m>>2]=b;c[m+4>>2]=z;l=k;return 0}if(f){e=(c[a+44>>2]|0)+20|0;c[e>>2]=(c[e>>2]|0)+-8;e=c[h>>2]|0}if((e|0)==1?(m=c[b+28>>2]|0,j=c[(c[m+4>>2]|0)+16>>2]|0,(c[m>>2]|0)==(c[j+16>>2]|0)):0){if((c[j+52>>2]|0)==1){if(f){h=d+8|0;e=c[h>>2]|0;h=c[h+4>>2]|0}else{e=1;h=2147221504}m=b+20|0;j=c[m>>2]|0;c[j>>2]=e;c[j+4>>2]=h;c[m>>2]=(c[m>>2]|0)+8}}else{if(f){h=d+8|0;e=c[h>>2]|0;h=c[h+4>>2]|0}else{e=1;h=2147221504}m=(c[b+20>>2]|0)+-8|0;c[m>>2]=e;c[m+4>>2]=h}c[a+44>>2]=b;l=k;return 0}function VL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+128|0;b=c[h>>2]|0;if(!b)return;e=c[a+44>>2]|0;g=e+48|0;d=c[g>>2]|0;if(WL(d,c[g+4>>2]|0)|0)zi[b&31](a,1,0,-1,d+24|0);else zi[b&31](a,1,0,-1,379537);g=e+28|0;b=c[e+32>>2]|0;while(1){f=b+-1|0;if((b|0)<=0)break;d=c[g>>2]|0;e=c[(c[d+(f*12|0)+4>>2]|0)+16>>2]|0;b=c[e+40>>2]|0;if(!b){b=f;continue}b=c[b+40>>2]|0;if(!b){b=f;continue}i=c[e+56>>2]|0;zi[c[h>>2]&31](a,2,b+24|0,c[(c[i+4>>2]|0)+((c[d+(f*12|0)>>2]|0)-(c[e+16>>2]|0)+-1<<2)>>2]|0,c[i>>2]|0);b=f}return}function WL(a,b){a=a|0;b=b|0;if(!(b>>>0>4294705151|(b|0)==-262145&a>>>0>4294967295)){b=0;return b|0}b=(c[a>>2]|0)==10;return b|0}function XL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(YL(b,d,1)|0){f=1;l=g;return f|0}c[f>>2]=e;e=QM(a,379552,f)|0;f=(c[a+44>>2]|0)+48|0;c[f>>2]=e;c[f+4>>2]=z;f=0;l=g;return f|0}function YL(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b>>>0>4294705151|(b|0)==-262145&a>>>0>4294967295)){d=0;return d|0}d=(c[a>>2]|0)==(d|0);return d|0}function ZL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;b=f;if(!(0==0&(d&2147221504|0)==2147221504)){e=1;l=f;return e|0}c[b>>2]=e;d=QM(a,379574,b)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=d;c[e+4>>2]=z;e=0;l=f;return e|0}function _L(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(+J4(b)==b){e=1;l=f;return e|0}c[e>>2]=d;d=QM(a,379594,e)|0;e=(c[a+44>>2]|0)+48|0;c[e>>2]=d;c[e+4>>2]=z;e=0;l=f;return e|0}function $L(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!(ZL(a,b,c,d)|0)){d=0;return d|0}d=_L(a,+aM(b,c),d)|0;return d|0}function aM(a,b){a=a|0;b=b|0;c[j>>2]=a;c[j+4>>2]=b;return +(+h[j>>3])}function bM(a,b,d){a=a|0;b=b|0;d=d|0;if(cM(b,d)|0){d=1;return d|0}if(!(0==0&(d&2147221504|0)==2147221504&((YL(b,d,0)|0|(b|0)==1&(d|0)==2147221504)^1))){d=1;return d|0}if(YL(b,d,9)|0){d=1;return d|0}if(YL(b,d,10)|0){d=1;return d|0}b=uN(a,379616,25)|0;d=(c[a+44>>2]|0)+48|0;c[d>>2]=b;c[d+4>>2]=z;d=0;return d|0}function cM(a,b){a=a|0;b=b|0;return (a|1|0)==3&(b|0)==2147221504|0}function dM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!(ZL(a,b,c,e)|0)){e=-1;return e|0}e=eM(a,d,+aM(b,c),e)|0;return e|0}function eM(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(_L(a,d,e)|0)){f=-1;l=g;return f|0}d=d<0.0?+(b>>>0)+d:d;if(d>=0.0&d<+(b>>>0)){f=~~d>>>0;l=g;return f|0}else{c[f>>2]=e;e=QM(a,379642,f)|0;f=(c[a+44>>2]|0)+48|0;c[f>>2]=e;c[f+4>>2]=z;f=-1;l=g;return f|0}return 0}function fM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(YL(b,d,10)|0){f=1;l=g;return f|0}c[f>>2]=e;e=QM(a,379659,f)|0;f=(c[a+44>>2]|0)+48|0;c[f>>2]=e;c[f+4>>2]=z;f=0;l=g;return f|0}function gM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0;c[f>>2]=0;g=+h[d+16>>3];j=c[e>>2]|0;i=+(j>>>0);if(g==i?+h[d+24>>3]==((a[d+32>>0]&1)==0?i:-1.0):0){c[e>>2]=0;f=0;return f|0}j=eM(b,j,g,379679)|0;if((j|0)==-1){f=-1;return f|0}g=+h[d+24>>3];if(!(_L(b,g,379691)|0)){f=-1;return f|0}if(g<0.0)g=+((c[e>>2]|0)>>>0)+g;do if(!(a[d+32>>0]&1)){i=+(j>>>0);if(!(g==i)){g=g+(g>=i?-1.0:1.0);break}c[e>>2]=0;f=j;return f|0}while(0);if(!(g<0.0)?!(g>=+((c[e>>2]|0)>>>0)):0){b=~~g>>>0;d=j-b|0;c[e>>2]=((d|0)>-1?d:0-d|0)+1;c[f>>2]=j>>>0<b>>>0?1:-1;f=j;return f|0}e=uN(b,379701,24)|0;f=(c[b+44>>2]|0)+48|0;c[f>>2]=e;c[f+4>>2]=z;f=-1;return f|0}function hM(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function iM(a,b){a=a|0;b=b|0;KF(a,c[b>>2]|0,0,0)|0;hM(b);return}function jM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=d+8|0;h=c[g>>2]|0;j=d+4|0;i=(c[j>>2]|0)+f|0;if((h|0)<(i|0)){i=kM(i)|0;c[d>>2]=KF(b,c[d>>2]|0,h,i)|0;c[g>>2]=i}b=0;while(1){if((b|0)>=(f|0))break;h=c[d>>2]|0;i=c[j>>2]|0;c[j>>2]=i+1;a[h+i>>0]=e;b=b+1|0}return}function kM(a){a=a|0;a=a+-1|0;a=a|a>>1;a=a|a>>2;a=a|a>>4;a=a|a>>8;return (a|a>>16)+1|0}function lM(a,b,c){a=a|0;b=b|0;c=c|0;jM(a,b,c,1);return}function mM(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function nM(a,b){a=a|0;b=b|0;KF(a,c[b>>2]|0,0,0)|0;mM(b);return}function oM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;i=b+4|0;h=(c[i>>2]|0)+e|0;if((g|0)<(h|0)){h=kM(h)|0;c[b>>2]=KF(a,c[b>>2]|0,g<<2,h<<2)|0;c[f>>2]=h}a=0;while(1){if((a|0)>=(e|0))break;g=c[b>>2]|0;h=c[i>>2]|0;c[i>>2]=h+1;c[g+(h<<2)>>2]=d;a=a+1|0}return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;oM(a,b,c,1);return}function qM(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function rM(a,b){a=a|0;b=b|0;KF(a,c[b>>2]|0,0,0)|0;qM(b);return}function sM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;i=b+4|0;h=c[i>>2]|0;if((g|0)<=(h|0)){h=kM(h+1|0)|0;c[b>>2]=KF(a,c[b>>2]|0,g<<3,h<<3)|0;c[f>>2]=h}f=0;while(1){if((f|0)==1)break;h=c[b>>2]|0;a=c[i>>2]|0;c[i>>2]=a+1;c[h+(a<<3)>>2]=d;c[h+(a<<3)+4>>2]=e;f=f+1|0}return}function tM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sM(a,b,c,d);return}function uM(a){a=a|0;qM(a);return}function vM(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+4|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;KF(a,c[(c[b>>2]|0)+(d<<3)>>2]|0,0,0)|0;d=d+1|0}rM(a,b);return}function wM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=KF(b,0,0,f+1|0)|0;s6(g|0,e|0,f|0)|0;a[g+f>>0]=0;tM(b,d,g,f);return (c[d+4>>2]|0)+-1|0}function xM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=yM(b,c,d)|0;if((e|0)!=-1)return e|0;e=wM(a,b,c,d)|0;return e|0}function yM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+4>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=-1;a=6;break}g=c[a>>2]|0;if((c[g+(e<<3)+4>>2]|0)==(d|0)?(f3(c[g+(e<<3)>>2]|0,b,d)|0)==0:0){a=6;break}e=e+1|0}if((a|0)==6)return e|0;return 0}function zM(a){a=a|0;if((a|0)>=128)if((a|0)>=2048)if((a|0)<65536)a=3;else return ((a|0)<1114112?4:0)|0;else a=2;else a=1;return a|0}function AM(b,c){b=b|0;c=c|0;var d=0,e=0;do if((b|0)>=128){if((b|0)<2048){a[c>>0]=b>>>6&31|192;e=2;d=c+1|0;c=b&63|128;break}if((b|0)<65536){a[c>>0]=b>>>12&15|224;a[c+1>>0]=b>>>6&63|128;e=3;d=c+2|0;c=b&63|128;break}if((b|0)<1114112){a[c>>0]=b>>>18&7|240;a[c+1>>0]=b>>>12&63|128;a[c+2>>0]=b>>>6&63|128;e=4;d=c+3|0;c=b&63|128;break}else{e=0;return e|0}}else{e=1;d=c;c=b&127}while(0);a[d>>0]=c;return e|0}function BM(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=a[b>>0]|0;if(g<<24>>24>-1){g=g&255;return g|0}if((g&-32)<<24>>24!=-64)if((g&-16)<<24>>24!=-32)if((g&-8)<<24>>24==-16){d=3;f=7}else{g=-1;return g|0}else{d=2;f=15}else{d=1;f=31}if(d>>>0>(c+-1|0)>>>0){g=-1;return g|0}else{e=d;c=g&f&255}while(1){if(!e){b=10;break}b=b+1|0;d=a[b>>0]|0;if((d&-64)<<24>>24!=-128){c=-1;b=10;break}e=e+-1|0;c=c<<6|d&63}if((b|0)==10)return c|0;return 0}function CM(a){a=a|0;if((a&-64)<<24>>24==-128){a=0;return a|0}if((a&-8)<<24>>24==-16){a=4;return a|0}if((a&-16)<<24>>24==-32){a=3;return a|0}else return ((a&-32)<<24>>24==-64?2:1)|0;return 0}function DM(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function EM(a,b){a=a|0;b=b|0;KF(a,c[b>>2]|0,0,0)|0;DM(b);return}function FM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;i=b+4|0;h=c[i>>2]|0;if((g|0)<=(h|0)){h=kM(h+1|0)|0;c[b>>2]=KF(a,c[b>>2]|0,g<<3,h<<3)|0;c[f>>2]=h}a=0;while(1){if((a|0)==1)break;g=c[b>>2]|0;h=c[i>>2]|0;c[i>>2]=h+1;h=g+(h<<3)|0;c[h>>2]=d;c[h+4>>2]=e;a=a+1|0}return}function GM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;FM(a,b,c,d);return}function HM(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function IM(a,b){a=a|0;b=b|0;KF(a,c[b>>2]|0,0,0)|0;HM(b);return}function JM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;i=b+4|0;h=(c[i>>2]|0)+e|0;if((g|0)<(h|0)){h=kM(h)|0;c[b>>2]=KF(a,c[b>>2]|0,g<<3,h<<3)|0;c[f>>2]=h}a=0;while(1){if((a|0)>=(e|0))break;j=c[b>>2]|0;h=c[i>>2]|0;c[i>>2]=h+1;f=d;g=c[f+4>>2]|0;h=j+(h<<3)|0;c[h>>2]=c[f>>2];c[h+4>>2]=g;a=a+1|0}return}function KM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=KF(a,0,0,40)|0;LM(a,e,0,0);c[e+16>>2]=0;c[e+20>>2]=b;c[e+36>>2]=d;QF(a,e);HM(e+24|0);RF(a);return e|0}function LM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[d>>2]=e;a[d+4>>0]=0;c[d+8>>2]=f;f=b+60|0;c[d+12>>2]=c[f>>2];c[f>>2]=d;return}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[b+16>>2]=d;e=b+20|0;f=c[e>>2]|0;if((f|0)!=-1)c[e>>2]=f+(c[d+20>>2]|0);g=d+28|0;f=d+24|0;e=0;while(1){if((e|0)>=(c[g>>2]|0))break;d=(c[f>>2]|0)+(e<<3)|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];NM(a,b,e,h);e=e+1|0}l=i;return}function NM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i;h=c[b+28>>2]|0;if((h|0)<=(d|0)){c[g>>2]=4;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];JM(a,b+24|0,f,d-h+1|0)}g=c[e+4>>2]|0;h=(c[b+24>>2]|0)+(d<<3)|0;c[h>>2]=c[e>>2];c[h+4>>2]=g;l=i;return}function OM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f;i=PM(e)|0;h=g;c[h>>2]=i;c[h+4>>2]=z;g=QM(a,379726,g)|0;QF(a,g);g=KM(a,0,g)|0;h=a+4|0;c[g+8>>2]=c[h>>2];RF(a);QF(a,g);MM(a,g,c[h>>2]|0);e=KM(a,d,e)|0;QF(a,e);c[e+8>>2]=g;MM(a,e,b);RF(a);RF(a);l=f;return e|0}function PM(a){a=a|0;z=-262144;return a|0}function QM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;c[i>>2]=e;g=0;h=d;while(1){f=a[h>>0]|0;if(!(f<<24>>24))break;switch(f<<24>>24|0){case 36:{k=(c[i>>2]|0)+(4-1)&~(4-1);f=c[k>>2]|0;c[i>>2]=k+4;f=r4(f)|0;break}case 64:{k=(c[i>>2]|0)+(8-1)&~(8-1);f=c[k>>2]|0;c[i>>2]=k+8;f=c[f+16>>2]|0;break}default:f=1}g=g+f|0;h=h+1|0}h=RM(b,g)|0;c[i>>2]=e;f=h+24|0;while(1){g=a[d>>0]|0;if(!(g<<24>>24))break;switch(g<<24>>24|0){case 36:{k=(c[i>>2]|0)+(4-1)&~(4-1);e=c[k>>2]|0;c[i>>2]=k+4;k=r4(e)|0;s6(f|0,e|0,k|0)|0;f=f+k|0;break}case 64:{k=(c[i>>2]|0)+(8-1)&~(8-1);e=c[k>>2]|0;c[i>>2]=k+8;k=e+16|0;s6(f|0,e+24|0,c[k>>2]|0)|0;f=f+(c[k>>2]|0)|0;break}default:{a[f>>0]=g;f=f+1|0}}d=d+1|0}SM(h);k=PM(h)|0;l=j;return k|0}function RM(b,d){b=b|0;d=d|0;var e=0;e=KF(b,0,0,d+25|0)|0;LM(b,e,10,c[b+40>>2]|0);c[e+16>>2]=d;a[e+24+d>>0]=0;return e|0}function SM(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+16>>2]|0;d=0;e=-2128831035;while(1){if((d|0)==(f|0))break;g=O(e^a[b+24+d>>0],16777619)|0;d=d+1|0;e=g}c[b+20>>2]=e;return}function TM(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+48|0;e=KF(a,0,0,(c[d>>2]<<2)+20|0)|0;LM(a,e,1,c[a+12>>2]|0);c[e+16>>2]=b;b=e+20|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;c[b+(a<<2)>>2]=0;a=a+1|0}return e|0}function UM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=KF(a,0,0,48)|0;if(!b)d=1;else d=kM((c[(c[b+16>>2]|0)+44>>2]|0)+1|0)|0;g=KF(a,0,0,d<<3)|0;f=KF(a,0,0,64)|0;LM(a,f,2,c[a+8>>2]|0);c[f+28>>2]=e;c[f+36>>2]=4;c[f+16>>2]=g;c[f+24>>2]=d;VM(f,b);return f|0}function VM(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;c[b+20>>2]=e;c[b+40>>2]=0;c[b+44>>2]=0;f=b+48|0;c[f>>2]=1;c[f+4>>2]=2147221504;a[b+56>>0]=0;c[b+32>>2]=0;if(!d)return;WM(b,d,e);return}function WM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a+28>>2]|0;f=a+32|0;a=c[f>>2]|0;c[f>>2]=a+1;c[e+(a*12|0)+8>>2]=d;c[e+(a*12|0)+4>>2]=b;c[e+(a*12|0)>>2]=c[(c[b+16>>2]|0)+16>>2];return}function XM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+24|0;e=c[g>>2]|0;if((e|0)>=(d|0))return;d=kM(d)|0;i=b+16|0;h=c[i>>2]|0;f=KF(a,h,e<<3,d<<3)|0;c[i>>2]=f;c[g>>2]=d;if((f|0)==(h|0))return;d=a+104|0;g=c[d>>2]|0;e=g;if(g>>>0>=h>>>0?g>>>0<=(c[b+20>>2]|0)>>>0:0)c[d>>2]=f+(e-h>>3<<3);e=b+32|0;a=b+28|0;f=h;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;h=(c[a>>2]|0)+(d*12|0)+8|0;c[h>>2]=(c[i>>2]|0)+((c[h>>2]|0)-f>>3<<3);d=d+1|0}d=b+40|0;while(1){d=c[d>>2]|0;e=c[i>>2]|0;if(!d)break;h=d+16|0;c[h>>2]=e+((c[h>>2]|0)-f>>3<<3);d=d+32|0}b=b+20|0;c[b>>2]=e+((c[b>>2]|0)-f>>3<<3);return}function YM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=KF(a,0,0,c+16|0)|0;LM(a,d,4,b);u6(d+16|0,0,c|0)|0;return d|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=KF(a,0,0,16)|0;c[f>>2]=0;mM(f+4|0);e=KF(a,0,0,60)|0;LM(a,e,3,c[a+12>>2]|0);DM(e+28|0);hM(e+16|0);c[e+40>>2]=b;c[e+44>>2]=d;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=f;return e|0}function _M(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=KF(b,0,0,f+1|0)|0;d=d+56|0;c[c[d>>2]>>2]=b;s6(c[c[d>>2]>>2]|0,e|0,f|0)|0;a[(c[c[d>>2]>>2]|0)+f>>0]=0;return}function $M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+20|0;e=KF(a,0,0,(c[d>>2]<<3)+16|0)|0;LM(a,e,5,b);b=e+16|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;f=b+(a<<3)|0;c[f>>2]=1;c[f+4>>2]=2147221504;a=a+1|0}f=PM(e)|0;return f|0}function aN(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else d=KF(a,0,0,b<<3)|0;e=KF(a,0,0,28)|0;LM(a,e,6,c[a+16>>2]|0);c[e+24>>2]=b;c[e+20>>2]=b;c[e+16>>2]=d;return e|0}function bN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(e>>>0>4294705151|(e|0)==-262145&d>>>0>4294967295){QF(a,d);GM(a,b+16|0,1,2147221504);RF(a)}else GM(a,b+16|0,1,2147221504);h=b+16|0;b=c[b+20>>2]|0;while(1){a=b+-1|0;g=c[h>>2]|0;if(a>>>0<=f>>>0)break;j=g+(b+-2<<3)|0;i=c[j+4>>2]|0;g=g+(a<<3)|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;b=a}j=g+(f<<3)|0;c[j>>2]=d;c[j+4>>2]=e;return}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;g=(c[j>>2]|0)+(d<<3)|0;k=c[g>>2]|0;g=c[g+4>>2]|0;h=g>>>0>4294705151|(g|0)==-262145&k>>>0>4294967295;if(h)QF(a,k);i=b+20|0;while(1){f=c[i>>2]|0;if((d|0)>=(f+-1|0))break;e=c[j>>2]|0;f=d+1|0;m=e+(f<<3)|0;l=c[m+4>>2]|0;e=e+(d<<3)|0;c[e>>2]=c[m>>2];c[e+4>>2]=l;d=f}d=b+24|0;b=c[d>>2]|0;e=(b|0)/2|0;if((e|0)>=(f|0)){c[j>>2]=KF(a,c[j>>2]|0,b<<3,e<<3)|0;c[d>>2]=(c[d>>2]|0)/2|0}if(!h){m=c[i>>2]|0;m=m+-1|0;c[i>>2]=m;z=g;return k|0}RF(a);m=c[i>>2]|0;m=m+-1|0;c[i>>2]=m;z=g;return k|0}function dN(a){a=a|0;var b=0;b=KF(a,0,0,28)|0;LM(a,b,7,c[a+20>>2]|0);c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;return b|0}function eN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(fN(b,a,d,e,f)|0)){e=2147221504;f=4;z=e;l=g;return f|0}f=(c[f>>2]|0)+8|0;e=c[f+4>>2]|0;f=c[f>>2]|0;z=e;l=g;return f|0}function fN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if(!b){f=0;return f|0}l=((gN(d,e)|0)>>>0)%(b>>>0)|0;g=0;k=l;while(1){j=a+(k<<4)|0;i=j;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==4&(i|0)==2147221504){i=a+(k<<4)+8|0;g=(g|0)==0?j:g;if((c[i>>2]|0)==2?(c[i+4>>2]|0)==2147221504:0){h=0;break}}else if(hN(h,i,d,e)|0){h=1;g=j;break}k=((k+1|0)>>>0)%(b>>>0)|0;if((k|0)==(l|0)){h=0;break}}c[f>>2]=g;f=h;return f|0}function gN(a,b){a=a|0;b=b|0;if(b>>>0>4294705151|(b|0)==-262145&a>>>0>4294967295){b=jN(a)|0;return b|0}else{b=kN(a,b)|0;return b|0}return 0}function hN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if(iN(b,d,e,f)|0){b=1;return b|0}if(!((d>>>0>4294705151|(d|0)==-262145&b>>>0>4294967295)&(f>>>0>4294705151|(f|0)==-262145&e>>>0>4294967295))){b=0;return b|0}d=c[b>>2]|0;if((d|0)!=(c[e>>2]|0)){b=0;return b|0}switch(d|0){case 9:{d=b;if(!(+h[d+16>>3]==+h[e+16>>3])){b=0;return b|0}if(!(+h[d+24>>3]==+h[e+24>>3])){b=0;return b|0}b=((a[d+32>>0]^a[e+32>>0])&1)==0;return b|0}case 10:{f=b;d=c[f+16>>2]|0;if((d|0)!=(c[e+16>>2]|0)){b=0;return b|0}if((c[f+20>>2]|0)!=(c[e+20>>2]|0)){b=0;return b|0}b=(f3(f+24|0,e+24|0,d)|0)==0;return b|0}default:{b=0;return b|0}}return 0}function iN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (a|0)==(c|0)&(b|0)==(d|0)|0}function jN(a){a=a|0;switch(c[a>>2]|0){case 0:{a=jN(c[a+36>>2]|0)|0;return a|0}case 3:{a=(lN(+(c[a+52>>2]|0))|0)^(lN(+(c[a+20>>2]|0))|0);return a|0}case 9:{a=(lN(+h[a+16>>3])|0)^(lN(+h[a+24>>3])|0);return a|0}case 10:{a=c[a+20>>2]|0;return a|0}default:{a=0;return a|0}}return 0}function kN(a,b){a=a|0;b=b|0;b=b^a;b=b^(b>>>20^b>>>12);return b^(b>>>7^b>>>4)|0}function lN(a){a=+a;h[j>>3]=a;return kN(c[j>>2]|0,c[j+4>>2]|0)|0}function mN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=b+20|0;i=b+16|0;h=c[i>>2]|0;if(((c[j>>2]|0)+1|0)>>>0>(((h*75|0)>>>0)/100|0)>>>0){h=h<<1;nN(a,b,h>>>0>16?h:16);h=c[i>>2]|0}if(!(oN(c[b+24>>2]|0,h,d,e,f,g)|0))return;c[j>>2]=(c[j>>2]|0)+1;return}function nN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=KF(a,0,0,d<<4)|0;e=0;while(1){if((e|0)==(d|0))break;j=k+(e<<4)|0;c[j>>2]=4;c[j+4>>2]=2147221504;j=k+(e<<4)+8|0;c[j>>2]=2;c[j+4>>2]=2147221504;e=e+1|0}j=b+16|0;e=c[j>>2]|0;i=b+24|0;if(!e){h=c[i>>2]|0;KF(a,h,0,0)|0;c[i>>2]=k;c[j>>2]=d;return}else h=0;while(1){if(h>>>0>=e>>>0)break;b=c[i>>2]|0;g=b+(h<<4)|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!((f|0)==4&(g|0)==2147221504)){e=b+(h<<4)+8|0;oN(k,d,f,g,c[e>>2]|0,c[e+4>>2]|0)|0;e=c[j>>2]|0}h=h+1|0}h=c[i>>2]|0;KF(a,h,0,0)|0;c[i>>2]=k;c[j>>2]=d;return}function oN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;i=h;a=fN(a,b,d,e,i)|0;b=c[i>>2]|0;if(a)a=0;else{a=b;c[a>>2]=d;c[a+4>>2]=e;a=1}i=b+8|0;c[i>>2]=f;c[i+4>>2]=g;l=h;return a|0}function pN(a,b){a=a|0;b=b|0;var d=0;d=b+24|0;KF(a,c[d>>2]|0,0,0)|0;c[d>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function qN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=b+16|0;if(!(fN(c[b+24>>2]|0,c[i>>2]|0,d,e,f)|0)){b=2147221504;j=1;z=b;l=k;return j|0}h=c[f>>2]|0;g=h+8|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;c[h>>2]=4;c[h+4>>2]=2147221504;c[g>>2]=3;c[g+4>>2]=2147221504;g=f>>>0>4294705151|(f|0)==-262145&e>>>0>4294967295;if(g)QF(a,e);d=b+20|0;h=(c[d>>2]|0)+-1|0;c[d>>2]=h;if(h){d=c[i>>2]|0;if(d>>>0>16?(j=d>>>1,h>>>0<(((j*75|0)>>>0)/100|0)>>>0):0)nN(a,b,d>>>0<32?16:j)}else pN(a,b);if(!g){b=f;j=e;z=b;l=k;return j|0}RF(a);b=f;j=e;z=b;l=k;return j|0}function rN(a,b){a=a|0;b=b|0;var d=0;d=KF(a,0,0,44)|0;LM(a,d,8,0);QF(a,d);uM(d+28|0);DM(d+16|0);c[d+40>>2]=b;RF(a);return d|0}function sN(b,d,e,f){b=b|0;d=+d;e=+e;f=f|0;var g=0;g=KF(b,0,0,40)|0;LM(b,g,9,c[b+36>>2]|0);h[g+16>>3]=d;h[g+24>>3]=e;a[g+32>>0]=f&1;f=PM(g)|0;return f|0}function tN(a,b){a=a|0;b=b|0;b=uN(a,b,r4(b)|0)|0;return b|0}function uN(a,b,c){a=a|0;b=b|0;c=c|0;a=RM(a,c)|0;if(!((c|0)==0|(b|0)==0))s6(a+24|0,b|0,c|0)|0;SM(a);c=PM(a)|0;return c|0}function vN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=0;i=0;while(1){if((h|0)==(f|0))break;k=i+(CM(a[(O(h,g)|0)+e+(d+24)>>0]|0)|0)|0;h=h+1|0;i=k}k=RM(b,i)|0;a[k+24+i>>0]=0;j=d+16|0;i=0;h=k+24|0;while(1){if((i|0)==(f|0))break;b=(O(i,g)|0)+e|0;b=BM(d+24+b|0,(c[j>>2]|0)-b|0)|0;if((b|0)!=-1)h=h+(AM(b,h)|0)|0;i=i+1|0}SM(k);g=PM(k)|0;return g|0}function wN(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;c=g+8|0;d=xN(b)|0;e=z&2147483647;do if(!(e>>>0>2146435072|(e|0)==2146435072&d>>>0>0)){if(!((d|0)==0&(e|0)==2146435072)){h[f>>3]=b;c=uN(a,c,h3(c,379748,f)|0)|0;a=z;break}if(b>0.0){c=uN(a,412339,8)|0;a=z;break}else{c=uN(a,379738,9)|0;a=z;break}}else{c=uN(a,412348,3)|0;a=z}while(0);z=a;l=g;return c|0}function xN(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function yN(a,b){a=a|0;b=b|0;a=RM(a,zM(b)|0)|0;AM(b,a+24|0)|0;SM(a);b=PM(a)|0;return b|0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=d+24+e|0;d=BM(g,(c[d+16>>2]|0)-e|0)|0;if((d|0)==-1){a[f>>0]=a[g>>0]|0;a[f+1>>0]=0;g=uN(b,f,1)|0;f=z;z=f;l=h;return g|0}else{g=yN(b,d)|0;f=z;z=f;l=h;return g|0}return 0}function AN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1024|0;m=n;h=c[e+16>>2]|0;if(!h){m=f;l=n;return m|0}i=c[b+16>>2]|0;if((h+f|0)>>>0<=i>>>0&i>>>0>f>>>0)g=0;else{m=-1;l=n;return m|0}while(1){if((g|0)==255)break;c[m+(g<<2)>>2]=h;g=g+1|0}k=h+-1|0;g=0;while(1){if((k|0)==(g|0))break;c[m+((d[e+24+g>>0]|0)<<2)>>2]=k-g;g=g+1|0}j=a[e+24+k>>0]|0;i=i-h|0;h=e+24|0;while(1){if(f>>>0>i>>>0){f=-1;g=13;break}g=a[f+k+(b+24)>>0]|0;if(j<<24>>24==g<<24>>24?(f3(b+24+f|0,h,k)|0)==0:0){g=13;break}f=f+(c[m+((g&255)<<2)>>2]|0)|0}if((g|0)==13){l=n;return f|0}return 0}function BN(a,b){a=a|0;b=b|0;var d=0;d=KF(a,0,0,40)|0;LM(a,d,11,0);c[d+16>>2]=b;b=d+24|0;c[b>>2]=1;c[b+4>>2]=2147221504;c[d+32>>2]=0;return d|0}function CN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)return;e=d+4|0;if(a[e>>0]&1)return;a[e>>0]=1;g=b+68|0;f=c[g>>2]|0;e=b+72|0;if((f|0)<(c[e>>2]|0))e=c[b+64>>2]|0;else{c[e>>2]=f<<1;h=b+64|0;e=Sh[c[b+108>>2]&255](c[h>>2]|0,f<<3)|0;c[h>>2]=e;f=c[g>>2]|0}c[g>>2]=f+1;c[e+(f<<2)>>2]=d;return}function DN(a,b,c){a=a|0;b=b|0;c=c|0;if(!(c>>>0>4294705151|(c|0)==-262145&b>>>0>4294967295))return;CN(a,b);return}function EN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+4|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;f=(c[b>>2]|0)+(d<<3)|0;DN(a,c[f>>2]|0,c[f+4>>2]|0);d=d+1|0}return}function FN(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+68|0;d=a+64|0;while(1){e=c[b>>2]|0;if((e|0)<=0)break;f=c[d>>2]|0;e=e+-1|0;c[b>>2]=e;GN(a,c[f+(e<<2)>>2]|0)}return}function GN(a,b){a=a|0;b=b|0;do switch(c[b>>2]|0){case 0:{HN(a,b);return}case 1:{IN(a,b);return}case 2:{JN(a,b);return}case 3:{KN(a,b);return}case 11:{b=b+24|0;RN(a,c[b>>2]|0,c[b+4>>2]|0);return}case 5:{LN(a,b);return}case 6:{MN(a,b);return}case 7:{NN(a,b);return}case 8:{ON(a,b);return}case 9:{PN(a);return}case 10:{QN(a,c[b+16>>2]|0);return}default:return}while(0)}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;CN(a,c[b+8>>2]|0);CN(a,c[b+16>>2]|0);f=b+28|0;g=b+24|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[g>>2]|0;if((c[e+(d<<3)>>2]|0)==2)CN(a,c[e+(d<<3)+4>>2]|0);d=d+1|0}CN(a,c[b+36>>2]|0);g=a+52|0;f=(c[g>>2]|0)+40|0;c[g>>2]=f;c[g>>2]=f+(c[b+32>>2]<<3);return}function IN(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+16|0;CN(a,c[e>>2]|0);d=0;while(1){if((d|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;CN(a,c[b+20+(d<<2)>>2]|0);d=d+1|0}b=a+52|0;a=(c[b>>2]|0)+20|0;c[b>>2]=a;c[b>>2]=a+(c[(c[e>>2]|0)+48>>2]<<2);return}function JN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+32|0;f=b+28|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;CN(a,c[(c[f>>2]|0)+(d*12|0)+4>>2]|0);d=d+1|0}e=b+20|0;d=c[b+16>>2]|0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;f=d;DN(a,c[f>>2]|0,c[f+4>>2]|0);d=d+8|0}d=b+40|0;while(1){d=c[d>>2]|0;if(!d)break;CN(a,d);d=d+32|0}CN(a,c[b+44>>2]|0);f=b+48|0;DN(a,c[f>>2]|0,c[f+4>>2]|0);a=a+52|0;f=(c[a>>2]|0)+64|0;c[a>>2]=f;f=f+((c[b+36>>2]|0)*12|0)|0;c[a>>2]=f;c[a>>2]=f+(c[b+24>>2]<<3);return}function KN(a,b){a=a|0;b=b|0;var d=0,e=0;EN(a,b+28|0);a=a+52|0;e=(c[a>>2]|0)+60|0;c[a>>2]=e;d=b+24|0;e=e+(c[d>>2]|0)|0;c[a>>2]=e;b=e+(c[b+36>>2]<<3)|0;c[a>>2]=b;c[a>>2]=b+(c[d>>2]<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+8|0;CN(a,c[e>>2]|0);d=0;while(1){if((d|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;f=b+16+(d<<3)|0;DN(a,c[f>>2]|0,c[f+4>>2]|0);d=d+1|0}f=a+52|0;b=(c[f>>2]|0)+16|0;c[f>>2]=b;c[f>>2]=b+(c[(c[e>>2]|0)+20>>2]<<3);return}function MN(a,b){a=a|0;b=b|0;var d=0;EN(a,b+16|0);a=a+52|0;d=(c[a>>2]|0)+28|0;c[a>>2]=d;c[a>>2]=d+(c[b+24>>2]<<3);return}function NN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;f=b+24|0;b=0;while(1){if(b>>>0>=(c[h>>2]|0)>>>0)break;g=c[f>>2]|0;e=g+(b<<4)|0;d=c[e>>2]|0;e=c[e+4>>2]|0;if(!((d|0)==4&(e|0)==2147221504)){DN(a,d,e);g=g+(b<<4)+8|0;DN(a,c[g>>2]|0,c[g+4>>2]|0)}b=b+1|0}a=a+52|0;g=(c[a>>2]|0)+28|0;c[a>>2]=g;c[a>>2]=g+(c[h>>2]<<4);return}function ON(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=b+20|0;f=b+16|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=(c[f>>2]|0)+(d<<3)|0;DN(a,c[g>>2]|0,c[g+4>>2]|0);d=d+1|0}CN(a,c[b+40>>2]|0);g=a+52|0;c[g>>2]=(c[g>>2]|0)+44;return}function PN(a){a=a|0;a=a+52|0;c[a>>2]=(c[a>>2]|0)+40;return}function QN(a,b){a=a|0;b=b|0;a=a+52|0;c[a>>2]=(c[a>>2]|0)+(b+25);return}function RN(a,b,d){a=a|0;b=b|0;d=d|0;DN(a,b,d);d=a+52|0;c[d>>2]=(c[d>>2]|0)+40;return}function SN(a,b){a=a|0;b=b|0;var d=0;switch(c[b>>2]|0){case 0:{IM(a,b+24|0);break}case 2:{KF(a,c[b+28>>2]|0,0,0)|0;KF(a,c[b+16>>2]|0,0,0)|0;break}case 3:{EM(a,b+28|0);iM(a,b+16|0);d=b+56|0;nM(a,(c[d>>2]|0)+4|0);KF(a,c[c[d>>2]>>2]|0,0,0)|0;KF(a,c[d>>2]|0,0,0)|0;break}case 4:{MF(a,b);break}case 6:{EM(a,b+16|0);break}case 7:{KF(a,c[b+24>>2]|0,0,0)|0;break}case 8:{vM(a,b+28|0);EM(a,b+16|0);break}default:{}}KF(a,b,0,0)|0;return}function TN(a,b,c){a=a|0;b=b|0;c=c|0;return UN(a,b,c)|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;a:do if(0==0&(d&2147221504|0)==2147221504){if(d>>>0>4294705151|(d|0)==-262145&b>>>0>4294967295){a=b+8|0;break}switch(b&7){case 2:break a;case 0:{a=a+28|0;break a}case 1:{a=a+24|0;break a}case 3:break a;default:{d=0;return d|0}}}else a=a+28|0;while(0);d=c[a>>2]|0;return d|0}function VN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=B2(76)|0;if(!g){if(!d){b=0;return b|0}c[d>>2]=7;b=0;return b|0}e=g;f=e+76|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=B2(24908)|0;if(!e){C2(g);if(!d){b=0;return b|0}c[d>>2]=7;b=0;return b|0}u6(e|0,0,24908)|0;f=B2(32768)|0;if(f|0){u6(f|0,-1,32768)|0;c[e+24900>>2]=f;c[g+72>>2]=e;c[e+4>>2]=0;c[e+56>>2]=0;c[e>>2]=1;c[e+64>>2]=19;c[g+68>>2]=b;a[e+24904>>0]=0;c[g+64>>2]=0;b=g;return b|0}c[e+24900>>2]=0;C2(g);C2(e);if(!d){b=0;return b|0}c[d>>2]=7;b=0;return b|0}function WN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;r=v+4|0;s=v;t=b+72|0;u=c[t>>2]|0;h=c[u>>2]|0;if(h&2|0){c[b+64>>2]=3;b=0;l=v;return b|0}if(!(h&1)){c[b+64>>2]=10;b=0;l=v;return b|0}i=c[b+24>>2]|0;if((i|0)>0){j=c[b+52>>2]|0;k=u+24904|0;n=0;do{m=c[j+(n*36|0)+28>>2]|0;a:do if((m|0)>0){h=c[j+(n*36|0)+32>>2]|0;o=0;while(1){switch(c[h+(o*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[k>>0]=1;break}default:{}}o=o+1|0;if((o|0)==(m|0))break a}}while(0);n=n+1|0}while((n|0)!=(i|0))}i=c[b+56>>2]|0;b:do if((i|0)>0){j=c[b+60>>2]|0;h=u+24904|0;k=0;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[h>>0]=1;break}default:{}}k=k+1|0;if((k|0)==(i|0))break b}}else h=u+24904|0;while(0);h=(a[h>>0]|0)==0?379754:379761;i=c[u+64>>2]|0;if(!i)h=L4(h,1,6,c[u+56>>2]|0)|0;else h=Th[i&63](b,h,6)|0;if((h|0)!=6){c[b+64>>2]=2;b=0;l=v;return b|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=0;p=(g|0)!=0;c:do if(p){j=c[g>>2]|0;k=c[g+12>>2]|0;i=1;while(1){h=1<<i;if((i|0)<9&(h|0)<(j|0))i=i+1|0;else break}do if((h|0)==(j|0)?(q=B2(16)|0,q|0):0){if(j){h=j*3|0;if(j>>>0>65535)h=((h>>>0)/(j>>>0)|0|0)==3?h:-1}else h=0;i=B2(h)|0;if(!i){C2(q);break}if(c[i+-4>>2]&3|0)u6(i|0,0,h|0)|0;c[q+12>>2]=i;c[q>>2]=j;h=1;while(1)if((h|0)<9&(1<<h|0)<(j|0))h=h+1|0;else break;c[q+4>>2]=h;a[q+8>>0]=0;if(k|0)s6(i|0,k|0,j*3|0)|0;c[b+20>>2]=q;break c}while(0);c[b+20>>2]=0;c[b+64>>2]=7;b=0;l=v;return b|0}else c[b+20>>2]=0;while(0);a[r>>0]=d;j=r+1|0;a[j>>0]=d>>>8;h=c[t>>2]|0;i=c[h+64>>2]|0;if(!i)L4(r,1,2,c[h+56>>2]|0)|0;else Th[i&63](b,r,2)|0;a[r>>0]=e;a[j>>0]=e>>>8;h=c[t>>2]|0;i=c[h+64>>2]|0;if(!i)L4(r,1,2,c[h+56>>2]|0)|0;else Th[i&63](b,r,2)|0;h=(p?128:0)|(f<<4)+240;if(p){h=(c[g+4>>2]|0)+-1|h;a[s>>0]=h;if(!(a[g+8>>0]|0))o=s;else{a[s>>0]=h|8;o=s}}else{a[s>>0]=h|7;o=s}n=s+1|0;a[n>>0]=0;m=s+2|0;a[m>>0]=a[b+16>>0]|0;h=c[t>>2]|0;i=c[h+64>>2]|0;if(!i)L4(o,1,3,c[h+56>>2]|0)|0;else Th[i&63](b,o,3)|0;d:do if(p?(c[g>>2]|0)>0:0){j=g+12|0;k=0;while(1){h=c[j>>2]|0;a[o>>0]=a[h+(k*3|0)>>0]|0;a[n>>0]=a[h+(k*3|0)+1>>0]|0;a[m>>0]=a[h+(k*3|0)+2>>0]|0;h=c[t>>2]|0;i=c[h+64>>2]|0;if(!i)h=L4(o,1,3,c[h+56>>2]|0)|0;else h=Th[i&63](b,o,3)|0;k=k+1|0;if((h|0)!=3)break;if((k|0)>=(c[g>>2]|0))break d}c[b+64>>2]=2;b=0;l=v;return b|0}while(0);c[u>>2]=c[u>>2]|2;b=1;l=v;return b|0}function XN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;r=t+4|0;n=t;p=b+72|0;q=c[p>>2]|0;g=c[q>>2]|0;if(g&4|0?(c[q+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;s=0;l=t;return s|0}if(!(g&1)){c[b+64>>2]=10;s=0;l=t;return s|0}c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=0;m=(f|0)!=0;o=b+48|0;a:do if(m){g=c[o>>2]|0;if(g|0){C2(c[g+12>>2]|0);C2(g);c[o>>2]=0}i=c[f>>2]|0;j=c[f+12>>2]|0;h=1;while(1){g=1<<h;if((h|0)<9&(g|0)<(i|0))h=h+1|0;else break}do if((g|0)==(i|0)?(k=B2(16)|0,k|0):0){if(i){g=i*3|0;if(i>>>0>65535)g=((g>>>0)/(i>>>0)|0|0)==3?g:-1}else g=0;h=B2(g)|0;if(!h){C2(k);break}if(c[h+-4>>2]&3|0)u6(h|0,0,g|0)|0;c[k+12>>2]=h;c[k>>2]=i;g=1;while(1)if((g|0)<9&(1<<g|0)<(i|0))g=g+1|0;else break;c[k+4>>2]=g;a[k+8>>0]=0;if(j|0)s6(h|0,j|0,i*3|0)|0;c[o>>2]=k;g=c[p>>2]|0;break a}while(0);c[o>>2]=0;c[b+64>>2]=7;s=0;l=t;return s|0}else{c[o>>2]=0;g=q}while(0);a[n>>0]=44;h=c[g+64>>2]|0;if(!h)L5(44,c[g+56>>2]|0);else Th[h&63](b,n,1)|0;a[r>>0]=0;i=r+1|0;a[i>>0]=0;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h)L4(r,1,2,c[g+56>>2]|0)|0;else Th[h&63](b,r,2)|0;a[r>>0]=0;a[i>>0]=0;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h)L4(r,1,2,c[g+56>>2]|0)|0;else Th[h&63](b,r,2)|0;a[r>>0]=d;a[i>>0]=d>>>8;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h)L4(r,1,2,c[g+56>>2]|0)|0;else Th[h&63](b,r,2)|0;a[r>>0]=e;a[i>>0]=e>>>8;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h)L4(r,1,2,c[g+56>>2]|0)|0;else Th[h&63](b,r,2)|0;i=m?128:0;b:do if(m){g=(c[f+4>>2]|0)+255|i;a[n>>0]=g;h=c[p>>2]|0;i=c[h+64>>2]|0;if(!i)L5(g<<24>>24,c[h+56>>2]|0);else Th[i&63](b,n,1)|0;if((c[f>>2]|0)>0){i=f+12|0;j=n+1|0;k=n+2|0;m=0;while(1){g=c[i>>2]|0;a[n>>0]=a[g+(m*3|0)>>0]|0;a[j>>0]=a[g+(m*3|0)+1>>0]|0;a[k>>0]=a[g+(m*3|0)+2>>0]|0;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h)g=L4(n,1,3,c[g+56>>2]|0)|0;else g=Th[h&63](b,n,3)|0;m=m+1|0;if((g|0)!=3)break;if((m|0)>=(c[f>>2]|0))break b}c[b+64>>2]=2;s=0;l=t;return s|0}}else{a[n>>0]=i;g=c[p>>2]|0;h=c[g+64>>2]|0;if(!h){L5(i<<24>>24,c[g+56>>2]|0);break}else{Th[h&63](b,n,1)|0;break}}while(0);j=c[b+20>>2]|0;k=(j|0)==0;h=c[o>>2]|0;if(k&(h|0)==0){c[b+64>>2]=5;s=0;l=t;return s|0}c[q>>2]=c[q>>2]|4;c[q+52>>2]=O(e,d)|0;i=c[p>>2]|0;g=(h|0)!=0;if(g|k^1){g=c[(g?h:j)+4>>2]|0;g=(g|0)>2?g:2;a[r>>0]=g;h=c[i+64>>2]|0;if(!h)L5(g<<24>>24,c[i+56>>2]|0);else Th[h&63](b,r,1)|0;a[i+68>>0]=0;c[i+8>>2]=g;d=1<<g;r=i+12|0;c[r>>2]=d;c[i+16>>2]=d+1;c[i+20>>2]=d+2;c[i+24>>2]=g+1;c[i+28>>2]=2<<g;c[i+36>>2]=4097;c[i+44>>2]=0;c[i+48>>2]=0;u6(c[i+24900>>2]|0,-1,32768)|0;if(!(YN(b,c[r>>2]|0)|0)){g=8;s=64}}else{g=5;s=64}if((s|0)==64)c[b+64>>2]=g;s=1;l=t;return s|0}function YN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+72|0;m=c[j>>2]|0;k=m+44|0;g=c[k>>2]|0;do if((e|0)==4096){l=m+68|0;if((g|0)>0){f=m+48|0;h=c[f>>2]|0;g=1;do{i=(ZN(b,l,h&255)|0)==0;g=i?0:g;h=(c[f>>2]|0)>>>8;c[f>>2]=h;i=c[k>>2]|0;c[k>>2]=i+-8}while((i|0)>8)}else g=1;c[k>>2]=0;f=a[l>>0]|0;if(f<<24>>24){f=(f&255)+1|0;h=c[j>>2]|0;i=c[h+64>>2]|0;if(!i)f=L4(l,1,f,c[h+56>>2]|0)|0;else f=Th[i&63](b,l,f)|0;if((f|0)!=((d[l>>0]|0)+1|0)){c[b+64>>2]=2;g=0;break}}a[l>>0]=0;f=c[j>>2]|0;h=c[f+64>>2]|0;if(!h)f=L4(l,1,1,c[f+56>>2]|0)|0;else f=Th[h&63](b,l,1)|0;if((f|0)!=1){c[b+64>>2]=2;g=0}}else{i=m+48|0;f=c[i>>2]|e<<g;c[i>>2]=f;l=g+(c[m+24>>2]|0)|0;c[k>>2]=l;if((l|0)>7){h=m+68|0;g=1;do{l=(ZN(b,h,f&255)|0)==0;g=l?0:g;f=(c[i>>2]|0)>>>8;c[i>>2]=f;l=(c[k>>2]|0)+-8|0;c[k>>2]=l}while((l|0)>7)}else g=1}while(0);f=m+28|0;if(!((e|0)<4096?(c[m+20>>2]|0)>=(c[f>>2]|0):0))return g|0;m=m+24|0;e=(c[m>>2]|0)+1|0;c[m>>2]=e;c[f>>2]=1<<e;return g|0}function ZN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a[e>>0]|0;h=g&255;if((f|0)!=4096){do if(g<<24>>24==-1){g=h+1|0;h=c[b+72>>2]|0;i=c[h+64>>2]|0;if(!i)g=L4(e,1,g,c[h+56>>2]|0)|0;else g=Th[i&63](b,e,g)|0;if((g|0)==((d[e>>0]|0)+1|0)){a[e>>0]=0;g=0;break}c[b+64>>2]=2;b=0;return b|0}while(0);b=g+1<<24>>24;a[e>>0]=b;a[e+(b&255)>>0]=f;b=1;return b|0}if(g<<24>>24){h=h+1|0;g=b+72|0;i=c[g>>2]|0;f=c[i+64>>2]|0;if(!f)h=L4(e,1,h,c[i+56>>2]|0)|0;else h=Th[f&63](b,e,h)|0;if((h|0)!=((d[e>>0]|0)+1|0)){c[b+64>>2]=2;b=0;return b|0}}else g=b+72|0;a[e>>0]=0;g=c[g>>2]|0;h=c[g+64>>2]|0;if(!h)g=L4(e,1,1,c[g+56>>2]|0)|0;else g=Th[h&63](b,e,1)|0;if((g|0)==1){b=1;return b|0}c[b+64>>2]=2;b=0;return b|0}function _N(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=b+72|0;h=c[x>>2]|0;if(!(c[h>>2]&1)){c[b+64>>2]=10;b=0;return b|0}if(!f)w=c[b+36>>2]|0;else w=f;g=h+52|0;f=c[g>>2]|0;if(f>>>0<w>>>0){c[b+64>>2]=6;b=0;return b|0}c[g>>2]=f-w;g=a[379768+(c[h+8>>2]|0)>>0]|0;if((w|0)>0){f=0;do{v=e+f|0;a[v>>0]=a[v>>0]&g;f=f+1|0}while((f|0)!=(w|0));h=c[x>>2]|0}u=c[h+24900>>2]|0;v=h+36|0;f=c[v>>2]|0;if((f|0)==4097){f=d[e>>0]|0;g=1}else g=0;a:do if((g|0)<(w|0)){o=h+20|0;p=h+12|0;q=h+16|0;r=h+8|0;s=h+24|0;t=h+28|0;m=f;b:while(1){f=d[e+g>>0]|0;g=g+1|0;n=f|m<<8;l=m>>>4;i=(l^n)&8191;j=c[u+(i<<2)>>2]|0;k=j>>>12;c:do if((k|0)==1048575)y=18;else{while(1){if((k|0)==(n|0))break;i=i+1&8191;j=c[u+(i<<2)>>2]|0;k=j>>>12;if((k|0)==1048575){y=18;break c}}f=j&4095}while(0);do if((y|0)==18){y=0;if(!(YN(b,m)|0)){y=19;break b}k=c[o>>2]|0;if((k|0)>4094){if(!(YN(b,c[p>>2]|0)|0)){y=22;break b}c[o>>2]=(c[q>>2]|0)+1;n=(c[r>>2]|0)+1|0;c[s>>2]=n;c[t>>2]=1<<n;u6(u|0,-1,32768)|0;break}c[o>>2]=k+1;i=l&1048575^n;while(1){i=i&8191;j=u+(i<<2)|0;if((c[j>>2]|0)>>>0<4294963200)i=i+1|0;else break}c[j>>2]=k&4095|n<<12}while(0);if((g|0)>=(w|0))break a;else m=f}if((y|0)==19){c[b+64>>2]=8;b=0;return b|0}else if((y|0)==22){c[b+64>>2]=8;b=0;return b|0}}while(0);c[v>>2]=f;if(c[h+52>>2]|0){b=1;return b|0}if(!(YN(b,f)|0)){c[b+64>>2]=8;b=0;return b|0}if(!(YN(b,c[h+16>>2]|0)|0)){c[b+64>>2]=8;b=0;return b|0}f=c[x>>2]|0;i=f+44|0;k=f+68|0;if((c[i>>2]|0)>0){g=f+48|0;h=c[g>>2]|0;f=1;do{e=(ZN(b,k,h&255)|0)==0;f=e?0:f;h=(c[g>>2]|0)>>>8;c[g>>2]=h;e=c[i>>2]|0;c[i>>2]=e+-8}while((e|0)>8);j=f}else j=1;c[i>>2]=0;f=a[k>>0]|0;if(f<<24>>24){f=(f&255)+1|0;g=c[x>>2]|0;h=c[g+64>>2]|0;if(!h)f=L4(k,1,f,c[g+56>>2]|0)|0;else f=Th[h&63](b,k,f)|0;if((f|0)!=((d[k>>0]|0)+1|0)){f=b+64|0;c[f>>2]=2}else y=42}else y=42;do if((y|0)==42){a[k>>0]=0;f=c[x>>2]|0;g=c[f+64>>2]|0;if(!g)f=L4(k,1,1,c[f+56>>2]|0)|0;else f=Th[g&63](b,k,1)|0;if((f|0)!=1){f=b+64|0;c[f>>2]=2;break}if(!j){f=b+64|0;break}else{b=1;return b|0}}while(0);c[f>>2]=8;b=0;return b|0}function $N(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;if(!b){l=i;return}g=c[b+72>>2]|0;if(!g){l=i;return}if(!(c[g>>2]&1)){if(d|0)c[d>>2]=10;C2(b);l=i;return}h=c[g+56>>2]|0;a[f>>0]=59;e=c[g+64>>2]|0;if(!e)L5(59,h);else Th[e&63](b,f,1)|0;e=b+48|0;f=c[e>>2]|0;if(f|0){C2(c[f+12>>2]|0);C2(f);c[e>>2]=0}e=b+20|0;f=c[e>>2]|0;if(f|0){C2(c[f+12>>2]|0);C2(f);c[e>>2]=0}e=c[g+24900>>2]|0;if(e|0)C2(e);C2(g);if(h|0?W4(h)|0:0){if(d|0)c[d>>2]=9;C2(b);l=i;return}C2(b);if(!d){l=i;return}c[d>>2]=0;l=i;return}function aO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+16|0;B=C;A=b+72|0;v=c[A>>2]|0;if(!(c[v>>2]&8)){c[b+64>>2]=111;b=0;l=C;return b|0}if(!f)f=c[b+36>>2]|0;z=v+52|0;y=(c[z>>2]|0)-f|0;c[z>>2]=y;if(y>>>0>4294901760){c[b+64>>2]=108;b=0;l=C;return b|0}x=v+40|0;g=c[x>>2]|0;s=v+16|0;t=c[s>>2]|0;u=c[v+12>>2]|0;y=v+32|0;j=c[y>>2]|0;a:do if((g|0)<=4095){b:do if(!g){g=0;h=0}else{i=0;while(1){if((i|0)>=(f|0)){h=i;break b}g=g+-1|0;h=i+1|0;a[e+i>>0]=a[v+324+g>>0]|0;if(!g){g=0;break}else i=h}}while(0);c:do if((h|0)<(f|0)){o=v+20|0;p=v+8|0;q=v+24|0;r=v+28|0;i=j;d:while(1){if(!(bO(b,B)|0))break a;while(1){n=c[B>>2]|0;if((n|0)==(t|0)){h=18;break d}if((n|0)==(u|0))i=0;else break;do{c[v+8516+(i<<2)>>2]=4098;i=i+1|0}while((i|0)!=4096);c[o>>2]=(c[s>>2]|0)+1;n=(c[p>>2]|0)+1|0;c[q>>2]=n;c[r>>2]=1<<n;c[y>>2]=4098;if(!(bO(b,B)|0))break a;else i=4098}if((n|0)>=(u|0)){if((c[v+8516+(n<<2)>>2]|0)==4098){e:do if((n|0)==((c[o>>2]|0)+-2|0))if((i|0)>(u|0)){j=i;m=1;while(1){if((j|0)>4095){j=4098;break e}j=c[v+8516+(j<<2)>>2]|0;k=(j|0)>(u|0);if((m|0)<4096&k)m=(k&1)+m|0;else break}}else j=i;else if((n|0)>(u|0)){j=n;m=1;while(1){if((j|0)>4095){j=4098;break e}j=c[v+8516+(j<<2)>>2]|0;k=(j|0)>(u|0);if((m|0)<4096&k)m=(k&1)+m|0;else break}}else j=n;while(0);j=j&255;a[v+324+g>>0]=j;a[(c[o>>2]|0)+-2+(v+4419)>>0]=j;j=i;g=g+1|0}else j=n;if((g|0)<4095)k=j;else{h=34;break}while(1){if(!((k|0)>(u|0)&(k|0)<4096))break;j=g+1|0;a[v+324+g>>0]=a[v+4419+k>>0]|0;if((j|0)<4095){k=c[v+8516+(k<<2)>>2]|0;g=j}else{h=34;break d}}if((k|0)>4095){h=34;break}m=g+1|0;a[v+324+g>>0]=k;if((m|0)!=0&(h|0)<(f|0)){k=h-f|0;j=~g;j=k>>>0>j>>>0?k:j;k=h-j|0;g=m;do{g=g+-1|0;D=h;h=h+1|0;a[e+D>>0]=a[v+324+g>>0]|0}while((h|0)!=(k|0));g=m+j|0;h=k}else g=m}else{a[e+h>>0]=n;h=h+1|0}do if((i|0)!=4098?(w=v+8516+((c[o>>2]|0)+-2<<2)|0,(c[w>>2]|0)==4098):0){c[w>>2]=i;m=(c[o>>2]|0)+-2|0;if((n|0)==(m|0)){f:do if((i|0)>(u|0)){k=1;while(1){if((i|0)>4095){i=4098;break f}i=c[v+8516+(i<<2)>>2]|0;j=(i|0)>(u|0);if((k|0)<4096&j)k=(j&1)+k|0;else break}}while(0);a[v+4419+n>>0]=i;break}else{g:do if((n|0)>(u|0)){i=n;k=1;while(1){if((i|0)>4095){i=4098;break g}i=c[v+8516+(i<<2)>>2]|0;j=(i|0)>(u|0);if((k|0)<4096&j)k=(j&1)+k|0;else break}}else i=n;while(0);a[v+4419+m>>0]=i;break}}while(0);if((h|0)<(f|0))i=n;else{f=n;break c}}if((h|0)==18){c[b+64>>2]=113;break a}else if((h|0)==34){c[b+64>>2]=112;break a}}else f=j;while(0);c[y>>2]=f;c[x>>2]=g;if(c[z>>2]|0){D=1;l=C;return D|0}while(1){g=c[A>>2]|0;f=c[g+60>>2]|0;if(!f)f=M5(B,1,1,c[g+56>>2]|0)|0;else f=Th[f&63](b,B,1)|0;if((f|0)!=1){h=64;break}h=a[B>>0]|0;f=g+68|0;if(!(h<<24>>24)){h=63;break}a[f>>0]=h;i=c[A>>2]|0;j=c[i+60>>2]|0;g=g+69|0;f=h&255;if(!j)f=M5(g,1,f,c[i+56>>2]|0)|0;else f=Th[j&63](b,g,f)|0;if((f|0)!=(d[B>>0]|0|0)){h=64;break}}if((h|0)==63){a[f>>0]=0;c[g+52>>2]=0;D=1;l=C;return D|0}else if((h|0)==64){c[b+64>>2]=102;D=0;l=C;return D|0}}while(0);D=0;l=C;return D|0}function bO(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=b+72|0;q=c[m>>2]|0;r=q+24|0;h=c[r>>2]|0;if((h|0)>12){c[b+64>>2]=112;r=0;return r|0}p=q+44|0;f=c[p>>2]|0;a:do if((f|0)<(h|0)){n=q+68|0;o=q+69|0;i=q+48|0;l=a[n>>0]|0;g=f;while(1){if(!(l<<24>>24)){f=c[m>>2]|0;g=c[f+60>>2]|0;if(!g)f=M5(n,1,1,c[f+56>>2]|0)|0;else f=Th[g&63](b,n,1)|0;if((f|0)!=1){g=11;break}l=a[n>>0]|0;f=l&255;if(!(l<<24>>24)){g=13;break}g=c[m>>2]|0;h=c[g+60>>2]|0;if(!h)f=M5(o,1,f,c[g+56>>2]|0)|0;else f=Th[h&63](b,o,f)|0;g=a[n>>0]|0;if((f|0)!=(g&255|0)){g=18;break}j=a[o>>0]|0;a[o>>0]=2;k=c[p>>2]|0;h=c[r>>2]|0;f=g}else{j=a[o>>0]|0;a[o>>0]=j+1<<24>>24;j=a[(j&255)+(q+68)>>0]|0;k=g;f=l}l=f+-1<<24>>24;a[n>>0]=l;f=c[i>>2]|(j&255)<<k;c[i>>2]=f;g=k+8|0;c[p>>2]=g;if((g|0)>=(h|0))break a}if((g|0)==11){c[b+64>>2]=102;r=0;return r|0}else if((g|0)==13){c[b+64>>2]=112;r=0;return r|0}else if((g|0)==18){c[b+64>>2]=102;r=0;return r|0}}else{f=q+48|0;i=f;f=c[f>>2]|0}while(0);c[d>>2]=(e[37570+(h<<1)>>1]|0)&f;j=c[r>>2]|0;c[i>>2]=f>>>j;c[p>>2]=(c[p>>2]|0)-j;f=q+20|0;h=c[f>>2]|0;if((h|0)>=4097){r=1;return r|0}c[f>>2]=h+1;f=q+28|0;g=c[f>>2]|0;if(!((h|0)>=(g|0)&(j|0)<12)){r=1;return r|0}c[f>>2]=g<<1;c[r>>2]=j+1;r=1;return r|0}function cO(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+64|0;I=J+32|0;F=J;k=I;m=k+32|0;do{b[k>>1]=0;k=k+2|0}while((k|0)<(m|0));E=(g|0)==0;if(!E){k=0;do{H=I+(e[f+(k<<1)>>1]<<1)|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;k=k+1|0}while((k|0)!=(g|0));m=b[I+30>>1]|0;k=c[i>>2]|0;if(!(m<<16>>16))if(!(b[I+28>>1]|0))H=60;else{m=0;o=14;H=6}else{o=15;H=6}}else{k=c[i>>2]|0;H=60}do if((H|0)==60)if(!(b[I+26>>1]|0))if(!(b[I+24>>1]|0))if(!(b[I+22>>1]|0))if(!(b[I+20>>1]|0))if(!(b[I+18>>1]|0))if(!(b[I+16>>1]|0))if(!(b[I+14>>1]|0))if(!(b[I+12>>1]|0))if(!(b[I+10>>1]|0))if(!(b[I+8>>1]|0))if(!(b[I+6>>1]|0))if(!(b[I+4>>1]|0)){m=b[I+2>>1]|0;if(m<<16>>16){D=m;m=0;n=(k|0)!=0&1;o=1;p=1;break}j=c[h>>2]|0;c[h>>2]=j+4;a[j>>0]=64;a[j+1>>0]=1;b[j+2>>1]=0;j=c[h>>2]|0;c[h>>2]=j+4;a[j>>0]=64;a[j+1>>0]=1;b[j+2>>1]=0;c[i>>2]=1;j=0;l=J;return j|0}else{m=0;o=2;H=6}else{m=0;o=3;H=6}else{m=0;o=4;H=6}else{m=0;o=5;H=6}else{m=0;o=6;H=6}else{m=0;o=7;H=6}else{m=0;o=8;H=6}else{m=0;o=9;H=6}else{m=0;o=10;H=6}else{m=0;o=11;H=6}else{m=0;o=12;H=6}else{m=0;o=13;H=6}while(0);if((H|0)==6){n=k>>>0>o>>>0?o:k;k=1;do{if(b[I+(k<<1)>>1]|0)break;k=k+1|0}while(k>>>0<o>>>0);D=b[I+2>>1]|0;p=k}G=n>>>0<p>>>0?p:n;B=D&65535;k=2-B|0;if((k|0)<0){j=-1;l=J;return j|0}C=e[I+4>>1]|0;k=(k<<1)-C|0;if((k|0)<0){j=-1;l=J;return j|0}A=e[I+6>>1]|0;k=(k<<1)-A|0;if((k|0)<0){j=-1;l=J;return j|0}z=e[I+8>>1]|0;k=(k<<1)-z|0;if((k|0)<0){j=-1;l=J;return j|0}y=e[I+10>>1]|0;k=(k<<1)-y|0;if((k|0)<0){j=-1;l=J;return j|0}x=e[I+12>>1]|0;k=(k<<1)-x|0;if((k|0)<0){j=-1;l=J;return j|0}w=e[I+14>>1]|0;k=(k<<1)-w|0;if((k|0)<0){j=-1;l=J;return j|0}v=e[I+16>>1]|0;k=(k<<1)-v|0;if((k|0)<0){j=-1;l=J;return j|0}u=e[I+18>>1]|0;k=(k<<1)-u|0;if((k|0)<0){j=-1;l=J;return j|0}t=e[I+20>>1]|0;k=(k<<1)-t|0;if((k|0)<0){j=-1;l=J;return j|0}s=e[I+22>>1]|0;k=(k<<1)-s|0;if((k|0)<0){j=-1;l=J;return j|0}r=e[I+24>>1]|0;k=(k<<1)-r|0;if((k|0)<0){j=-1;l=J;return j|0}q=e[I+26>>1]|0;k=(k<<1)-q|0;if((k|0)<0){j=-1;l=J;return j|0}n=e[I+28>>1]|0;k=(k<<1)-n|0;if((k|0)<0){j=-1;l=J;return j|0}k=(k<<1)-(m&65535)|0;if((k|0)<0){j=-1;l=J;return j|0}if(k|0?(d|0)==0|(o|0)!=1:0){j=-1;l=J;return j|0}b[F+2>>1]=0;b[F+4>>1]=D;D=C+B|0;b[F+6>>1]=D;D=A+D|0;b[F+8>>1]=D;D=z+D|0;b[F+10>>1]=D;D=y+D|0;b[F+12>>1]=D;D=x+D|0;b[F+14>>1]=D;D=w+D|0;b[F+16>>1]=D;D=v+D|0;b[F+18>>1]=D;D=u+D|0;b[F+20>>1]=D;D=t+D|0;b[F+22>>1]=D;D=s+D|0;b[F+24>>1]=D;D=r+D|0;b[F+26>>1]=D;D=q+D|0;b[F+28>>1]=D;b[F+30>>1]=n+D;if(!E){m=0;do{k=b[f+(m<<1)>>1]|0;if(k<<16>>16){D=F+((k&65535)<<1)|0;E=b[D>>1]|0;b[D>>1]=E+1<<16>>16;b[j+((E&65535)<<1)>>1]=m}m=m+1|0}while((m|0)!=(g|0))}switch(d|0){case 0:{k=0;D=0;g=j;F=19;d=j;break}case 1:{if(G>>>0>9){j=1;l=J;return j|0}else{k=0;D=1;g=39360;F=256;d=39486}break}default:{k=(d|0)==2;if(k&G>>>0>9){j=1;l=J;return j|0}else{D=0;g=39810;F=-1;d=39936}}}B=1<<G;C=B+-1|0;E=G&255;m=G;z=0;r=0;x=-1;y=c[h>>2]|0;n=0;a:while(1){w=1<<m;u=p;A=n;while(1){p=u-z|0;t=p&255;m=b[j+(A<<1)>>1]|0;n=m&65535;do if((n|0)<(F|0))s=0;else{if((n|0)<=(F|0)){s=96;m=0;break}s=b[d+(n<<1)>>1]&255;m=b[g+(n<<1)>>1]|0}while(0);n=1<<p;p=r>>>z;q=w;do{v=q;q=q-n|0;K=q+p|0;a[y+(K<<2)>>0]=s;a[y+(K<<2)+1>>0]=t;b[y+(K<<2)+2>>1]=m}while((v|0)!=(n|0));m=1<<u+-1;while(1)if(!(m&r))break;else m=m>>>1;if(!m)r=0;else r=(m+-1&r)+m|0;A=A+1|0;v=I+(u<<1)|0;K=(b[v>>1]|0)+-1<<16>>16;b[v>>1]=K;if(!(K<<16>>16)){if((u|0)==(o|0))break a;u=e[f+(e[j+(A<<1)>>1]<<1)>>1]|0}if(u>>>0<=G>>>0)continue;v=r&C;if((v|0)!=(x|0))break}s=(z|0)==0?G:z;t=y+(w<<2)|0;m=u-s|0;b:do if(u>>>0<o>>>0){q=u;p=m;m=1<<m;while(1){n=m-(e[I+(q<<1)>>1]|0)|0;if((n|0)<1){m=p;break b}m=p+1|0;q=m+s|0;if(q>>>0>=o>>>0)break;else{p=m;m=n<<1}}}while(0);q=(1<<m)+B|0;if(D&q>>>0>852|k&q>>>0>592){k=1;H=45;break}z=c[h>>2]|0;a[z+(v<<2)>>0]=m;a[z+(v<<2)+1>>0]=E;b[z+(v<<2)+2>>1]=(t-z|0)>>>2;z=s;p=u;x=v;y=t;n=A;B=q}if((H|0)==45){l=J;return k|0}if(r|0){a[y+(r<<2)>>0]=64;a[y+(r<<2)+1>>0]=t;b[y+(r<<2)+2>>1]=0}c[h>>2]=(c[h>>2]|0)+(B<<2);c[i>>2]=G;K=0;l=J;return K|0}function dO(a,b){a=a|0;b=b|0;return B2(O(b,a)|0)|0}function eO(a){a=a|0;C2(a);return}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=a>>>16;a=a&65535;if((c|0)==1){k=(d[b>>0]|0)+a|0;k=k>>>0>65520?k+-65521|0:k;j=k+e|0;k=(j>>>0>65520?j+15|0:j)<<16|k;return k|0}if(!b){k=1;return k|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c)break;else b=b+1|0}k=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return k|0}if(c>>>0>5551){i=c+-5552|0;j=(i>>>0)%5552|0;i=i-j|0;h=b;while(1){g=h;f=347;while(1){z=(d[g>>0]|0)+a|0;y=z+(d[g+1>>0]|0)|0;x=y+(d[g+2>>0]|0)|0;w=x+(d[g+3>>0]|0)|0;v=w+(d[g+4>>0]|0)|0;u=v+(d[g+5>>0]|0)|0;t=u+(d[g+6>>0]|0)|0;s=t+(d[g+7>>0]|0)|0;r=s+(d[g+8>>0]|0)|0;q=r+(d[g+9>>0]|0)|0;p=q+(d[g+10>>0]|0)|0;o=p+(d[g+11>>0]|0)|0;n=o+(d[g+12>>0]|0)|0;m=n+(d[g+13>>0]|0)|0;l=m+(d[g+14>>0]|0)|0;a=l+(d[g+15>>0]|0)|0;e=z+e+y+x+w+v+u+t+s+r+q+p+o+n+m+l+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}c=c+-5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0;if(c>>>0<=5551)break;else h=h+5552|0}b=b+(i+5552)|0;if(j)if(j>>>0>15){c=j;k=15}else{c=j;k=18}}else k=15;if((k|0)==15){g=c+-16|0;h=g&-16;i=h+16|0;f=b;while(1){c=c+-16|0;l=(d[f>>0]|0)+a|0;m=l+(d[f+1>>0]|0)|0;n=m+(d[f+2>>0]|0)|0;o=n+(d[f+3>>0]|0)|0;p=o+(d[f+4>>0]|0)|0;q=p+(d[f+5>>0]|0)|0;r=q+(d[f+6>>0]|0)|0;s=r+(d[f+7>>0]|0)|0;t=s+(d[f+8>>0]|0)|0;u=t+(d[f+9>>0]|0)|0;v=u+(d[f+10>>0]|0)|0;w=v+(d[f+11>>0]|0)|0;x=w+(d[f+12>>0]|0)|0;y=x+(d[f+13>>0]|0)|0;z=y+(d[f+14>>0]|0)|0;a=z+(d[f+15>>0]|0)|0;e=l+e+m+n+o+p+q+r+s+t+u+v+w+x+y+z+a|0;if(c>>>0<=15)break;else f=f+16|0}if((g|0)==(h|0))k=19;else{c=g-h|0;b=b+i|0;k=18}}if((k|0)==18)while(1){c=c+-1|0;a=(d[b>>0]|0)+a|0;e=a+e|0;if(!c){k=19;break}else{b=b+1|0;k=18}}if((k|0)==19){a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}z=e<<16|a;return z|0}function gO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){h=0;return h|0}a=~a;a:do if(e){while(1){if(!(b&3))break;a=c[10768+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break a;else b=b+1|0}if(e>>>0>31){g=e+-32|0;h=g&-32;f=b;while(1){i=c[f>>2]^a;i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+4>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+8>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+12>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+16>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+20>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+24>>2];i=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2]^c[f+28>>2];a=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else f=f+32|0}e=g-h|0;b=b+(h+32)|0}if(e>>>0>3){g=e+-4|0;h=g>>>2;f=b;while(1){i=c[f>>2]^a;a=c[12816+((i>>>8&255)<<2)>>2]^c[13840+((i&255)<<2)>>2]^c[11792+((i>>>16&255)<<2)>>2]^c[10768+(i>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}e=g-(h<<2)|0;b=b+(h+1<<2)|0}if(e)while(1){a=c[10768+(((d[b>>0]|0)^a&255)<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);i=~a;return i|0}function hO(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=wP(d)|0;c[103907]=a;if(a|0)fi[c[(c[a+72>>2]|0)+16>>2]&511](a);l=b;return}function iO(){var b=0;b=c[103907]|0;if(!b)b=0;else b=(a[b+60>>0]|0)!=0;return b|0}function jO(){return c[103907]|0}function kO(a){a=a|0;c[103908]=a;return}function lO(){return c[103908]|0}function mO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;if(!(c[103909]|0))nO();a:do if((a|0?(b=c[a+104>>2]|0,b|0):0)?(g=c[b+8>>2]|0,g|0):0){f=c[103910]|0;b:do if((f|0)>0){d=c[103909]|0;b=0;while(1){if((c[d+(b<<3)>>2]|0)==(g|0))break;b=b+1|0;if((b|0)>=(f|0))break b}if((c[d+(b<<3)+4>>2]|0)==(a|0))break a;c[e>>2]=g;oO(379784,2,379805,e);break a}while(0);b=c[103911]|0;if((f|0)<(b|0)){d=c[103909]|0;b=f}else{c[103911]=b<<1;d=B2(b<<4)|0;b=c[103909]|0;s6(d|0,b|0,c[103910]<<3|0)|0;C2(b);c[103909]=d;b=c[103910]|0}c[d+(b<<3)>>2]=g;c[d+(b<<3)+4>>2]=a;c[103910]=b+1}while(0);l=h;return}function nO(){if(!(c[103909]|0)){c[103911]=10;c[103909]=B2(80)|0;c[103910]=0}return}function oO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;pO();g=c[103912]|0;if(g>>>0<20){i=c[103913]|0;h=c[i+(g*12|0)>>2]|0;if(!b)b=i;else{z5(h,b,128)|0;b=c[103913]|0;g=c[103912]|0;h=(c[b+(g*12|0)>>2]|0)+128|0}a[h>>0]=0;c[b+(g*12|0)+4>>2]=d;if(!e)a[c[b+(g*12|0)+8>>2]>>0]=0;else{c[j>>2]=f;j3(c[b+(g*12|0)+8>>2]|0,512,e,j)|0;g=c[103912]|0}c[103912]=g+1}l=k;return}function pO(){var a=0,b=0,d=0;if(!(c[103913]|0)){c[103913]=B2(240)|0;a=0;do{d=B2(129)|0;b=c[103913]|0;c[b+(a*12|0)>>2]=d;c[b+(a*12|0)+4>>2]=0;b=B2(513)|0;c[(c[103913]|0)+(a*12|0)+8>>2]=b;a=a+1|0}while((a|0)!=20);c[103912]=0;c[105444]=B2(129)|0;c[105445]=B2(513)|0}return}function qO(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(c[103909]|0))nO();a:do if(a|0?(e=c[103910]|0,(e|0)>0):0){f=c[103909]|0;d=0;while(1){if((c[f+(d<<3)>>2]|0)==(a|0))break;b=d+1|0;if((b|0)<(e|0))d=b;else break a}c[(c[(c[f+(d<<3)+4>>2]|0)+104>>2]|0)+8>>2]=0;b=e+-1|0;c[103910]=b;b=b-d|0;if((b|0)>0)t6(f+(d<<3)|0,f+(d+1<<3)|0,b<<3|0)|0}while(0);return}function rO(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(c[103909]|0))nO();a:do if(((a|0?(b=c[a+104>>2]|0,b|0):0)?(d=b+8|0,c[d>>2]|0):0)?(c[d>>2]=0,f=c[103910]|0,(f|0)>0):0){e=c[103909]|0;d=0;while(1){if((c[e+(d<<3)+4>>2]|0)==(a|0))break;b=d+1|0;if((b|0)<(f|0))d=b;else break a}b=f+-1|0;c[103910]=b;b=b-d|0;if((b|0)>0)t6(e+(d<<3)|0,e+(d+1<<3)|0,b<<3|0)|0}while(0);return}function sO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+192|0;f=j+176|0;i=j;g=j+168|0;h=j+8|0;pO();oP();a:do if(tO()|0){c[g>>2]=0;uP(g,h);d=c[g>>2]|0;if((d|0)>0){e=0;do{d=h+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=uO(f,a,b)|0;e=e+1|0;if(d|0)break a;d=c[g>>2]|0}while((e|0)<(d|0))}c[i>>2]=d;oO(385729,1,379840,i);d=0}else d=0;while(0);l=j;return d|0}function tO(){var b=0,c=0,d=0;d=l;l=l+16|0;c=d+8|0;b=d;a:do if(!(a[434218]|0)){do if((a[434219]|0)==0?(i1(29233)|0)==0:0)if((Z0(32)|0)<0){oO(385729,1,379957,b);b=0;break a}else{a[434219]=1;break}while(0);if((Z0(32)|0)<0){oO(385729,1,379957,c);b=0;break}else{a[434218]=1;b=1;break}}else b=1;while(0);l=d;return b|0}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+8|0;g=h;pO();oP();do if(tO()|0?(c[e>>2]=c[a>>2],c[e+4>>2]=c[a+4>>2],c[e+8>>2]=c[a+8>>2],c[e+12>>2]=c[a+12>>2],f=xP(e)|0,(f|0)!=0):0){c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];hO(e);i=c[c[f+72>>2]>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];e=Wh[i&31](f,e,b,d,2)|0;if(!e){c[g>>2]=c[f>>2];oO(379894,1,379915,g);c[103910]=0;vO();e=0;break}else{kO(0);break}}else e=0;while(0);l=h;return e|0}function vO(){var a=0;a=c[103907]|0;if(a|0){fi[c[(c[a+72>>2]|0)+40>>2]&511](a);zP(c[103907]|0)}return}function wO(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if(d|0)si[c[(c[d+72>>2]|0)+12>>2]&127](d,a,b);return}function xO(a){a=a|0;var b=0;b=c[103907]|0;if(b|0?c[b+56>>2]|0:0)Th[c[(c[b+72>>2]|0)+44>>2]&63](b,a,1)|0;return}function yO(){var a=0,b=0,d=0;b=zO()|0;if(!b)a=0;else{d=c[(c[b+104>>2]|0)+8>>2]|0;b=c[104297]|0;a:do if((b|0)!=0?(a=c[b+272>>2]|0,(a|0)!=0):0)while(1){if((c[a+4>>2]|0)==(d|0))break a;a=c[a+152>>2]|0;if(!a){a=0;break}}else a=0;while(0);a=((pV(a)|0)&4097|0)!=0}return a|0}function zO(){var a=0;a=c[103907]|0;if(!a)a=0;else a=c[a+56>>2]|0;return a|0}function AO(b){b=b|0;if(b|0)a[b+97>>0]=1;return}function BO(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if(d|0?!(b<<16>>16==0|(a<<16>>16==0|(c[d+56>>2]|0)==0)):0)Th[c[(c[d+72>>2]|0)+28>>2]&63](d,a,b)|0;return}function CO(d,e,f){d=d|0;e=e|0;f=f|0;var g=0;g=c[103907]|0;if((g|0?!(e<<16>>16==0|(c[g+56>>2]|0)==0):0)?!((d|0)==0|f<<16>>16==0):0){DO();b[d+12>>1]=e;b[d+14>>1]=f;a[d+16>>0]=1}return}function DO(){var a=0;a=c[103907]|0;if(a|0?c[a+56>>2]|0:0)fi[c[(c[a+72>>2]|0)+164>>2]&511](a);return}function EO(d){d=d|0;var e=0;e=c[103907]|0;if(e|0?!((d|0)==0|(c[e+56>>2]|0)==0):0){DO();b[d+12>>1]=b[d+32>>1]|0;b[d+14>>1]=b[d+34>>1]|0;a[d+16>>0]=0}return}function FO(){var a=0,b=0,d=0;a=0;b=c[103913]|0;do{C2(c[b+(a*12|0)>>2]|0);d=c[103913]|0;c[d+(a*12|0)>>2]=0;C2(c[d+(a*12|0)+8>>2]|0);b=c[103913]|0;c[b+(a*12|0)+8>>2]=0;a=a+1|0}while((a|0)!=20);C2(b);c[103913]=0;c[103912]=0;C2(c[105444]|0);c[105444]=0;C2(c[105445]|0);c[105445]=0;return}function GO(){var b=0,d=0,e=0;FO();b=c[103907]|0;if((b|0?(fi[c[(c[b+72>>2]|0)+40>>2]&511](b),zP(c[103907]|0),c[103907]=0,c[103908]=0,C2(c[103909]|0),c[103909]=0,c[103911]=0,c[103910]=0,tP(),a[434218]|0):0)?(c2(32),a[434218]=0,a[434219]|0):0){c[105295]=1;c2(29233);c[104588]=0;b=c[104300]|0;if(b|0)do{c[104300]=c[b+16>>2];C2(c[b>>2]|0);C2(c[b+4>>2]|0);d=c[b+12>>2]|0;if(d|0)do{e=d;d=c[d+8>>2]|0;C2(e)}while((d|0)!=0);C2(b);b=c[104300]|0}while((b|0)!=0);b=c[104301]|0;if(b|0)do{c[104301]=c[b+8>>2];C2(b);b=c[104301]|0}while((b|0)!=0);b=436527;d=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));c[105295]=0;a[434219]=0}return}function HO(a,b,c){a=a|0;b=+b;c=+c;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=b;g[a+12>>2]=c;return}function IO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=0;return}function JO(a){a=a|0;c[a>>2]=c[4740];c[a+4>>2]=c[4741];c[a+8>>2]=c[4742];c[a+12>>2]=c[4743];c[a+16>>2]=c[4744];c[a+20>>2]=c[4745];c[a+24>>2]=c[4746];return}function KO(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if((d|0)!=0?(c[d+56>>2]|0)!=0:0)a=Uh[c[(c[d+72>>2]|0)+52>>2]&63](d,a,b,4)|0;else a=0;return a|0}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[103907]|0;if(e|0?c[e+56>>2]|0:0)zi[c[(c[e+72>>2]|0)+76>>2]&31](e,a,0,b,d);return}function MO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;f=k+8|0;j=k;a:do if((!((a|0)==0|(b|0)==0)?(h=c[a+8>>2]|0,(h|0)>=1):0)?(i=c[a+12>>2]|0,(i|0)>=1):0){g=c[a+20>>2]|0;switch(e|0){case 0:{f=5;break}case 1:{f=9;break}case 2:{f=10;break}case 3:{f=11;break}default:{oO(380055,2,380012,f);e=0;break a}}if((f|0)==5){e=NO(b)|0;if(OO(e,380043)|0)if(OO(e,380047)|0)if(!(OO(e,380051)|0))f=11;else{oO(380055,2,380071,j);e=0;break}else f=10;else f=9}if((f|0)==9){e=(YP(b,h,i,d[(c[a+4>>2]|0)+9>>0]|0,g)|0)>0;break}else if((f|0)==10){e=(HP(b,h,i,d[(c[a+4>>2]|0)+9>>0]|0,g)|0)>0;break}else if((f|0)==11){e=(NP(b,h,i,d[(c[a+4>>2]|0)+9>>0]|0,g)|0)>0;break}}else e=0;while(0);l=k;return e|0}function NO(a){a=a|0;var b=0;b=r5(a)|0;return ((b|0)==0|(b|0)==(a|0)?436559:b+1|0)|0}function OO(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;f=a[380122+(e&255)>>0]|0;g=a[380122+(d[c>>0]|0)>>0]|0;if(f<<24>>24!=g<<24>>24){h=3;break}if(!(e<<24>>24)){b=0;break}else{b=b+1|0;c=c+1|0}}if((h|0)==3)b=(f&255)-(g&255)|0;return b|0}function PO(a){a=a|0;var b=0;b=c[103907]|0;if(b|0?c[b+56>>2]|0:0)li[c[(c[b+72>>2]|0)+100>>2]&511](b,a);return}function QO(a){a=a|0;var b=0;b=c[103907]|0;if((b|0)!=0?(c[b+56>>2]|0)!=0:0)a=Sh[c[(c[b+72>>2]|0)+104>>2]&255](b,a)|0;else a=0;return a|0}function RO(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;h=+h;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+24|0;o=r+16|0;n=r+8|0;i=r;j=c[103907]|0;do if(!j){c[i>>2]=379998;oO(382253,3,392253,i)}else{i=c[j+56>>2]|0;if((d|0)!=0&(i|0)==0){i=c[d+104>>2]|0;if(i|0){wO(d,c[i+8>>2]|0);m=c[103907]|0;k=c[m+56>>2]|0;q=6}}else{k=i;m=j;q=6}if((q|0)==6?k|0:0){if(!a){c[o>>2]=382003;oO(382253,5,392253,o);break}if(!d){c[p>>2]=380971;oO(382253,5,392253,p);break}else{wi[c[(c[m+72>>2]|0)+120>>2]&1](m,a,b,d,e,f,g,h);break}}c[n>>2]=380998;oO(382253,3,392253,n)}while(0);l=r;return}function SO(a){a=a|0;var b=0;b=c[103907]|0;if(b|0?c[b+56>>2]|0:0)li[c[(c[b+72>>2]|0)+136>>2]&511](b,a);return}function TO(a){a=a|0;var b=0;b=c[103907]|0;if(!((a|0)==0|(b|0)==0)?c[b+56>>2]|0:0)li[c[(c[b+72>>2]|0)+144>>2]&511](b,a);return}function UO(b,c){b=b|0;c=c|0;if(b|0){b=b+52|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24}return}function VO(b,c){b=b|0;c=c|0;if(b|0){a[b+52>>0]=-1;a[b+53>>0]=-1;a[b+54>>0]=-1;a[b+55>>0]=c}return}function WO(b){b=b|0;if(b|0){b=b+52|0;a[b>>0]=-1;a[b+1>>0]=-1>>8;a[b+2>>0]=-1>>16;a[b+3>>0]=-1>>24}return}function XO(b,c){b=b|0;c=c|0;if(b|0)a[b+56>>0]=c&1;return}function YO(a){a=a|0;c[a>>2]=c[4747];c[a+4>>2]=c[4748];c[a+8>>2]=c[4749];c[a+12>>2]=c[4750];c[a+16>>2]=c[4751];c[a+20>>2]=c[4752];return}function ZO(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if(d|0?!((a|0)==0|(c[d+56>>2]|0)==0):0)si[c[(c[d+72>>2]|0)+152>>2]&127](d,a,b);return}function _O(a){a=a|0;if(a|0){g[a+44>>2]=0.0;g[a+48>>2]=0.0}return}function $O(a,b){a=a|0;b=b|0;if(a|0)c[a+88>>2]=b;return}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[103907]|0;if(e|0?!((a|0)==0|(c[e+56>>2]|0)==0):0)ti[c[(c[e+72>>2]|0)+156>>2]&63](e,a,b,d);return}function bP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;b=i;d=c[103907]|0;do if(!d){c[b>>2]=379998;oO(380378,3,392253,b)}else{b=c[d+56>>2]|0;if((a|0)!=0&(b|0)==0){b=c[a+104>>2]|0;if(b|0){wO(a,c[b+8>>2]|0);f=c[103907]|0;e=c[f+56>>2]|0;h=6}}else{e=b;f=d;h=6}if((h|0)==6?e|0:0){Ai[c[(c[f+72>>2]|0)+160>>2]&15](f,a,0,0,0,0);break}c[g>>2]=380998;oO(380378,3,392253,g)}while(0);l=i;return}function cP(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f+8|0;d=f;b=c[103907]|0;do if(b){if(a){d=c[a+104>>2]|0;if(!d){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);break}if(!(c[b+56>>2]|0)){wO(a,c[d+8>>2]|0);b=c[103907]|0}}if(!(c[b+56>>2]|0)){c[e>>2]=380998;oO(380388,3,392253,e);break}else{li[c[(c[b+72>>2]|0)+168>>2]&511](b,a);break}}else{c[d>>2]=379998;oO(380388,3,392253,d)}while(0);l=f;return}function dP(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if((d|0)!=0?(c[d+56>>2]|0)!=0:0)a=Th[c[(c[d+72>>2]|0)+184>>2]&63](d,a,b)|0;else a=0;return a|0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=fP(e)|0;l=d;return b|0}function fP(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[103907]|0;if(((b|0)!=0?(c[b+56>>2]|0)!=0:0)?(c[b+52>>2]&768|0)==768:0){b=Rh[c[(c[b+72>>2]|0)+172>>2]&511](b)|0;f=c[103907]|0;d=0;e=c[f+72>>2]|0;do{si[c[e+192>>2]&127](f,b,c[a+(d<<2)>>2]|0);d=d+1|0;f=c[103907]|0;e=c[f+72>>2]|0}while((d|0)!=2);if(!(Sh[c[e+200>>2]&255](f,b)|0)){a=c[103907]|0;li[c[(c[a+72>>2]|0)+176>>2]&511](a,b);b=0}}else b=0;return b|0}function gP(a){a=a|0;var b=0;b=c[103907]|0;if(b|0?c[b+56>>2]|0:0)li[c[(c[b+72>>2]|0)+176>>2]&511](b,a);return}function hP(a){a=a|0;var b=0;b=c[103907]|0;if(b|0?c[b+56>>2]|0:0)si[c[(c[b+72>>2]|0)+204>>2]&127](b,a,413388);return}function iP(){var a=0;a=c[103907]|0;if(a|0?c[a+56>>2]|0:0)fi[c[(c[a+72>>2]|0)+208>>2]&511](a);return}function jP(){var a=0;a=c[103907]|0;if((a|0)!=0?(c[a+56>>2]|0)!=0:0)a=Rh[c[(c[a+72>>2]|0)+212>>2]&511](a)|0;else a=0;return a|0}function kP(a,b){a=a|0;b=b|0;var d=0;d=c[103907]|0;if((d|0)!=0?(c[d+56>>2]|0)!=0:0)a=Th[c[(c[d+72>>2]|0)+220>>2]&63](d,a,b)|0;else a=0;return a|0}function lP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[103907]|0;if((h|0)!=0?(c[h+56>>2]|0)!=0:0)Bi[c[(c[h+72>>2]|0)+224>>2]&15](a,h,b,d,e,f,g);else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1;c[a+12>>2]=-1}return}function mP(a){a=a|0;var b=0,d=0;b=c[103907]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0){d=(c[d+104>>2]|0)+48|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2]}return}function nP(a,b){a=a|0;b=+b;var d=0;d=c[103907]|0;if(d|0?c[d+56>>2]|0:0)mi[c[(c[d+72>>2]|0)+264>>2]&3](d,a,b);return}function oP(){var b=0,d=0;if(!(a[434220]|0)){b=0;do{c[415736+(b*24|0)>>2]=380397;c[415736+(b*24|0)+4>>2]=0;c[415736+(b*24|0)+16>>2]=0;c[415736+(b*24|0)+20>>2]=0;b=b+1|0}while((b|0)!=10);b=415656;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));pP();a[434220]=1;qP()}return}function pP(){var a=0,b=0;a=l;l=l+160|0;b=a;IO(b,380405,12,2);c[103994]=1;c[103995]=c[b>>2];c[103996]=c[b+4>>2];c[103997]=c[b+8>>2];c[103998]=c[b+12>>2];l=a;return}function qP(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;IO(d,380405,12,2);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];rP(b);l=a;return}function rP(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=sP()|0;do if((b|0)<=9)if(!(c[a+4>>2]|0)){oO(380416,3,380437,d);break}else{d=415736+(b*24|0)|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[415736+(b*24|0)+16>>2]=412;c[415736+(b*24|0)+20>>2]=269;break}while(0);l=e;return}function sP(){var a=0,b=0;oP();a=0;b=0;do{b=((c[415736+(a*24|0)+4>>2]|0)!=0&1)+b|0;a=a+1|0}while((a|0)!=10);return b|0}function tP(){var b=0,d=0;b=0;do{c[415736+(b*24|0)>>2]=380397;c[415736+(b*24|0)+4>>2]=0;c[415736+(b*24|0)+16>>2]=0;c[415736+(b*24|0)+20>>2]=0;b=b+1|0}while((b|0)!=10);b=415656;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));a[434220]=0;c[103994]=0;return}function uP(a,b){a=a|0;b=b|0;var d=0;d=c[103994]|0;if(a|0)c[a>>2]=d;if((b|0)!=0&(d|0)!=0)s6(b|0,415980,d<<4|0)|0;return}function vP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+8|0;h=i;e=a+4|0;d=0;while(1){f=c[415736+(d*24|0)+4>>2]|0;if(f|0?(c[e>>2]|0)==(f|0):0){f=4;break}d=d+1|0;if((d|0)>=10){f=7;break}}if((f|0)==4){e=c[415736+(d*24|0)+16>>2]|0;if(!((e|0)!=0?(c[a>>2]=c[415736+(d*24|0)>>2],c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],b=Rh[e&511](g)|0,(b|0)!=0):0))f=7}if((f|0)==7){oO(380457,2,380476,h);b=0}l=i;return b|0}function wP(a){a=a|0;var b=0,d=0;oP();d=c[a+4>>2]|0;a:do if(!d)a=0;else{b=0;while(1){a=c[415656+(b<<2)>>2]|0;if(a|0?(d|0)==(c[a+4>>2]|0):0)break a;b=b+1|0;if((b|0)>=20){a=0;break}}}while(0);return a|0}function xP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+8|0;h=i;b=0;while(1){g=415656+(b<<2)|0;b=b+1|0;if(!(c[g>>2]|0)){f=4;break}if((b|0)>=20){f=7;break}}do if((f|0)==4){c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];b=vP(d)|0;if(!b){oO(380525,1,380553,h);b=0;break}else{c[g>>2]=b;break}}else if((f|0)==7){c[e>>2]=20;oO(380525,1,380584,e);b=0}while(0);l=i;return b|0}function yP(a){a=a|0;var b=0,d=0,e=0;a:do if(a|0){d=a+4|0;b=0;while(1){e=c[415736+(b*24|0)+4>>2]|0;if(e|0?(c[d>>2]|0)==(e|0):0)break;b=b+1|0;if((b|0)>=10)break a}fi[c[415736+(b*24|0)+20>>2]&511](a)}while(0);return}function zP(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+32|0;b=e+16|0;d=e;a:do if(a|0){if((jO()|0)==(a|0)){IO(d,380397,0,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];hO(b);b=0}else b=0;while(1){d=415656+(b<<2)|0;b=b+1|0;if((c[d>>2]|0)==(a|0))break;if((b|0)>=20)break a}yP(a);c[d>>2]=0}while(0);l=e;return}function AP(a,b){a=a|0;b=b|0;c[a>>2]=26;c[a+4>>2]=b;return}function BP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+80|0;h=g;i=(O(b,-3)|0)&3;j=(O(i+(b*3|0)|0,d)|0)+54|0;c[h>>2]=66;c[h+4>>2]=77;c[h+8>>2]=j;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=54;c[h+24>>2]=40;c[h+28>>2]=b;c[h+32>>2]=d;c[h+36>>2]=1;c[h+40>>2]=24;c[h+44>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[h+56>>2]=0;c[h+60>>2]=0;c[h+64>>2]=0;f=CP(a,0,0,b,d,e,0,f,0,i,0,h)|0;l=g;return f|0}function CP(a,b,d,e,f,g,h,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;m=l;l=l+16|0;b=m;if((f|e|0)<0)b=0;else{c[b>>2]=n;DP(a,380678,b);EP(a,e,f,g,i,k);b=1}l=m;return b|0}function DP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;h=n;f=a[d>>0]|0;a:do if(f<<24>>24){i=b+4|0;j=h+1|0;k=h+1|0;m=h+2|0;g=h+3|0;b:while(1){d=d+1|0;switch(f<<24>>24|0){case 32:break;case 49:{o=(c[e>>2]|0)+(4-1)&~(4-1);f=c[o>>2]|0;c[e>>2]=o+4;a[h>>0]=f;si[c[b>>2]&127](c[i>>2]|0,h,1);break}case 50:{f=(c[e>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[e>>2]=f+4;a[h>>0]=o;a[j>>0]=o>>>8;si[c[b>>2]&127](c[i>>2]|0,h,2);break}case 52:{f=(c[e>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[e>>2]=f+4;a[h>>0]=o;a[k>>0]=o>>>8;a[m>>0]=o>>>16;a[g>>0]=o>>>24;si[c[b>>2]&127](c[i>>2]|0,h,4);break}default:break b}f=a[d>>0]|0;if(!(f<<24>>24))break a}Sa(394e3,380705,249,380759)}while(0);l=n;return}function EP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n;c[j>>2]=0;if((d|0)>=1){k=(b|0)>0;m=a+4|0;do{d=d+-1|0;if(k){i=O(d,b)|0;h=0;do{FP(a,e,0,1,f+(O(h+i|0,e)|0)|0);h=h+1|0}while((h|0)!=(b|0))}si[c[a>>2]&127](c[m>>2]|0,j,g)}while((d|0)!=0)}l=n;return}function FP(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;if((f|0)<0)si[c[b>>2]&127](c[b+4>>2]|0,h+(e+-1)|0,1);a:do switch(e|0){case 1:{si[c[b>>2]&127](c[b+4>>2]|0,h,1);break}case 2:if(!g){si[c[b>>2]&127](c[b+4>>2]|0,h,1);break a}else{j=a[h>>0]|0;GP(c[b>>2]|0,c[b+4>>2]|0,j,j,j);break a}case 4:{if(!f){i=d[h+3>>0]|0;g=0;do{n=d[380702+g>>0]|0;a[j+g>>0]=((O((d[h+g>>0]|0)-n|0,i)|0)/255|0)+n;g=g+1|0}while((g|0)!=3);GP(c[b>>2]|0,c[b+4>>2]|0,a[j+2>>0]|0,a[j+1>>0]|0,a[j>>0]|0)}else k=12;break}case 3:{k=12;break}default:{}}while(0);if((k|0)==12)GP(c[b>>2]|0,c[b+4>>2]|0,a[h+2>>0]|0,a[h+1>>0]|0,a[h>>0]|0);if((f|0)>0)si[c[b>>2]&127](c[b+4>>2]|0,h+(e+-1)|0,1);l=m;return}function GP(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;a[h>>0]=d;a[h+1>>0]=e;a[h+2>>0]=f;si[b&127](c,h,3);l=g;return}function HP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(IP(f,a)|0))a=0;else{a=BP(f,b,c,d,e)|0;JP(f)}l=g;return a|0}function IP(a,b){a=a|0;b=b|0;b=Q4(b,403168)|0;AP(a,b);return (b|0)!=0|0}function JP(a){a=a|0;W4(c[a+4>>2]|0)|0;return}function KP(a,b,c){a=a|0;b=b|0;c=c|0;L4(b,1,c,a)|0;return}function LP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;v=w;h=(f|0)==2|(f|0)==4;u=h&1;h=(h<<31>>31)+f|0;if((e|d|0)>=0){c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=(h|0)<2?11:10;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v+32>>2]=d;c[v+36>>2]=e;c[v+40>>2]=h+u<<3;c[v+44>>2]=u<<3;MP(b,0,v);if((e|0)>0){q=O(f,d)|0;r=(d|0)>0;s=d+-1|0;t=b+4|0;while(1){n=e;e=e+-1|0;p=g+(O(q,e)|0)|0;if(r){o=0;do{m=p+(O(o,f)|0)|0;a:do if((o|0)<(s|0)){k=(f3(m,p+(O(o+1|0,f)|0)|0,f)|0)==0;i=o+2|0;h=(i|0)<(d|0);b:do if(k)if(h){h=2;while(1){if(f3(m,p+(O(i,f)|0)|0,f)|0){j=15;break b}h=h+1|0;i=i+1|0;if(!((i|0)<(d|0)&(h|0)<128)){j=15;break}}}else h=2;else{if(h){h=2;j=m}else{h=2;j=16;break a}while(1){if(!(f3(j,p+(O(i,f)|0)|0,f)|0))break;h=h+1|0;i=i+1|0;if(!((i|0)<(d|0)&(h|0)<128)){j=15;break b}else j=j+f|0}h=h+-1|0;j=15}while(0);if((j|0)==15){j=0;if(!k){j=16;break}}a[v>>0]=h+127;si[c[b>>2]&127](c[t>>2]|0,v,1);FP(b,f,u,0,m)}else{h=1;j=16}while(0);if((j|0)==16){j=0;a[v>>0]=h+255;si[c[b>>2]&127](c[t>>2]|0,v,1);if((h|0)>0){i=0;do{FP(b,f,u,0,m+(O(i,f)|0)|0);i=i+1|0}while((i|0)!=(h|0))}}o=h+o|0}while((o|0)<(d|0))}if((n|0)<=1){h=1;break}}}else h=1}else h=0;l=w;return h|0}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=l;l=l+16|0;e=b;c[e>>2]=d;DP(a,380774,e);l=b;return}function NP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(IP(f,a)|0))a=0;else{a=LP(f,b,c,d,e)|0;JP(f)}l=g;return a|0}function OP(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+65552|0;H=L+65544|0;I=L+65540|0;K=L+65536|0;J=L;c[H>>2]=0;c[I>>2]=0;c[K>>2]=0;PP(K,1);D=c[K>>2]|0;C=D+-4|0;n=c[C>>2]|0;c[C>>2]=n+1;a[D+n>>0]=120;n=c[K>>2]|0;if(!((n|0)!=0?(p=c[n+-4>>2]|0,(p+1|0)<(c[n+-8>>2]|0)):0)){PP(K,1);p=c[K>>2]|0;n=p;p=c[p+-4>>2]|0}c[n+-4>>2]=p+1;a[n+p>>0]=94;n=c[I>>2]|0;c[H>>2]=c[H>>2]|1<<n;c[I>>2]=n+1;n=QP(c[K>>2]|0,H,I)|0;c[K>>2]=n;D=c[I>>2]|0;c[H>>2]=c[H>>2]|1<<D;c[I>>2]=D+2;n=QP(n,H,I)|0;c[K>>2]=n;u6(J|0,0,65536)|0;D=f+-3|0;a:do if((f|0)>3){B=f+-1|0;C=b;n=0;b:while(1){A=b+n|0;z=A+1|0;y=J+(((RP(a[A>>0]|0,a[z>>0]|0,a[A+2>>0]|0)|0)&16383)<<2)|0;s=c[y>>2]|0;if(s){x=s+-4|0;r=c[x>>2]|0;if((r|0)>0){v=n+-32768|0;w=f-n|0;u=0;q=0;p=3;do{t=c[s+(u<<2)>>2]|0;if((t-C|0)>(v|0)){M=SP(t,A,w)|0;N=(M|0)<(p|0);q=N?q:t;p=N?p:M}u=u+1|0}while((u|0)!=(r|0));if((r|0)==16){r=s+32|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];c[s+16>>2]=c[r+16>>2];c[s+20>>2]=c[r+20>>2];c[s+24>>2]=c[r+24>>2];c[s+28>>2]=c[r+28>>2];c[x>>2]=8;r=8}}else{q=0;p=3}if((r+1|0)>=(c[s+-8>>2]|0))G=16}else{q=0;p=3;G=16}if((G|0)==16){G=0;PP(y,4);r=c[y>>2]|0;s=r;r=c[r+-4>>2]|0}c[s+-4>>2]=r+1;c[s+(r<<2)>>2]=A;c:do if(q){s=c[J+(((RP(a[z>>0]|0,a[z+1>>0]|0,a[z+2>>0]|0)|0)&16383)<<2)>>2]|0;if(s|0?(E=c[s+-4>>2]|0,F=B-n|0,(E|0)>0):0){t=n+-32767|0;r=0;do{u=c[s+(r<<2)>>2]|0;if((u-C|0)>(t|0)?(SP(u,z,F)|0)>(p|0):0){G=40;break c}r=r+1|0}while((r|0)<(E|0))}t=A-q|0;if((p|0)<259&(t|0)<32768)s=0;else break b;while(1){r=s+1|0;if((p|0)<(e[40062+(r<<1)>>1]|0|0))break;else s=r}q=s+257|0;do if((q|0)>=144){if((q|0)<256){N=TP(s+513|0,9)|0;q=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<q;c[I>>2]=q+9;q=QP(c[K>>2]|0,H,I)|0;c[K>>2]=q;break}if((q|0)<280){N=TP(r,7)|0;q=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<q;c[I>>2]=q+7;q=QP(c[K>>2]|0,H,I)|0;c[K>>2]=q;break}else{N=TP(s+169|0,8)|0;q=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<q;c[I>>2]=q+8;q=QP(c[K>>2]|0,H,I)|0;c[K>>2]=q;break}}else{N=TP(s+305|0,8)|0;q=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<q;c[I>>2]=q+8;q=QP(c[K>>2]|0,H,I)|0;c[K>>2]=q}while(0);if((s+-8|0)>>>0<20){N=a[380835+s>>0]|0;M=c[I>>2]|0;c[H>>2]=p-(e[40062+(s<<1)>>1]|0)<<M|c[H>>2];c[I>>2]=M+(N&255);q=QP(q,H,I)|0;c[K>>2]=q}s=0;while(1){r=s+1|0;if((t|0)<(e[40122+(r<<1)>>1]|0|0))break;else s=r}M=TP(s,5)|0;N=c[I>>2]|0;c[H>>2]=c[H>>2]|M<<N;c[I>>2]=N+5;q=QP(q,H,I)|0;c[K>>2]=q;if((s+-4|0)>>>0<26){N=c[I>>2]|0;c[H>>2]=t-(e[40122+(s<<1)>>1]|0)<<N|c[H>>2];c[I>>2]=(d[380864+s>>0]|0)+N;q=QP(q,H,I)|0;c[K>>2]=q}}else G=40;while(0);if((G|0)==40){G=0;N=a[A>>0]|0;p=N&255;if((N&255)<144){N=TP(p+48|0,8)|0;p=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<p;p=p+8|0}else{N=TP(p|256,9)|0;p=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<p;p=p+9|0}c[I>>2]=p;q=QP(c[K>>2]|0,H,I)|0;c[K>>2]=q;p=1}n=p+n|0;if((n|0)>=(D|0)){o=n;m=q;break a}}Sa(380790,380705,772,380816)}else{o=0;m=n}while(0);if((o|0)<(f|0))do{N=a[b+o>>0]|0;n=N&255;if((N&255)<144){N=TP(n+48|0,8)|0;n=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<n;n=n+8|0}else{N=TP(n|256,9)|0;n=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<n;n=n+9|0}c[I>>2]=n;m=QP(m,H,I)|0;c[K>>2]=m;o=o+1|0}while((o|0)!=(f|0));N=TP(0,7)|0;n=c[I>>2]|0;c[H>>2]=c[H>>2]|N<<n;n=n+7|0;while(1){c[I>>2]=n;m=QP(m,H,I)|0;c[K>>2]=m;n=c[I>>2]|0;if(!n){n=0;break}else n=n+1|0}do{o=c[J+(n<<2)>>2]|0;if(o|0)C2(o+-8|0);n=n+1|0}while((n|0)!=16384);if((f|0)>0){o=0;n=1;q=(f>>>0)%5552|0;r=0;while(1){if(q){p=0;do{n=(d[b+(p+r)>>0]|0)+n|0;o=n+o|0;p=p+1|0}while((p|0)!=(q|0))}n=(n>>>0)%65521|0;o=(o>>>0)%65521|0;r=q+r|0;if((r|0)>=(f|0))break;else q=5552}}else{o=0;n=1}if(!((m|0)!=0?(h=c[m+-4>>2]|0,(h+1|0)<(c[m+-8>>2]|0)):0)){PP(K,1);h=c[K>>2]|0;m=h;h=c[h+-4>>2]|0}c[m+-4>>2]=h+1;a[m+h>>0]=o>>>8;h=c[K>>2]|0;if(!((h|0)!=0?(k=c[h+-4>>2]|0,(k+1|0)<(c[h+-8>>2]|0)):0)){PP(K,1);k=c[K>>2]|0;h=k;k=c[k+-4>>2]|0}c[h+-4>>2]=k+1;a[h+k>>0]=o;h=c[K>>2]|0;if(!((h|0)!=0?(j=c[h+-4>>2]|0,(j+1|0)<(c[h+-8>>2]|0)):0)){PP(K,1);j=c[K>>2]|0;h=j;j=c[j+-4>>2]|0}c[h+-4>>2]=j+1;a[h+j>>0]=n>>>8;h=c[K>>2]|0;if(!((h|0)!=0?(i=c[h+-4>>2]|0,(i+1|0)<(c[h+-8>>2]|0)):0)){PP(K,1);i=c[K>>2]|0;h=i;i=c[i+-4>>2]|0}c[h+-4>>2]=i+1;a[h+i>>0]=n;K=c[K>>2]|0;M=c[K+-4>>2]|0;c[g>>2]=M;N=K+-8|0;t6(N|0,K|0,M|0)|0;l=L;return N|0}function PP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a>>2]|0;d=(e|0)!=0;e=e+-8|0;if(d)f=c[e>>2]<<1|1;else f=2;b=D2(d?e:0,(O(f,b)|0)+8|0)|0;if(!b)Sa(380894,380705,651,380896);if(!(c[a>>2]|0))c[b+4>>2]=0;c[a>>2]=b+8;c[b>>2]=f;return}function QP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i;c[g>>2]=b;if((c[e>>2]|0)>7)do{if((b|0)!=0?(h=c[b+-4>>2]|0,(h+1|0)<(c[b+-8>>2]|0)):0)f=h;else{PP(g,1);f=c[g>>2]|0;b=f;f=c[f+-4>>2]|0}j=c[d>>2]&255;c[b+-4>>2]=f+1;a[b+f>>0]=j;c[d>>2]=(c[d>>2]|0)>>>8;f=(c[e>>2]|0)+-8|0;c[e>>2]=f;b=c[g>>2]|0}while((f|0)>7);l=i;return b|0}function RP(a,b,c){a=a|0;b=b|0;c=c|0;a=(b&255)<<8|a&255|(c&255)<<16;a=a<<3^a;a=(a>>>5)+a|0;a=a<<4^a;a=(a>>>17)+a|0;a=a<<25^a;return (a>>>6)+a|0}function SP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do if((d|0)>0){e=0;do{if((a[b+e>>0]|0)!=(a[c+e>>0]|0))break a;e=e+1|0}while((e|0)<(d|0)&(e|0)<258)}else e=0;while(0);return e|0}function TP(a,b){a=a|0;b=b|0;var c=0;if(!b)b=0;else{c=b;b=0;while(1){c=c+-1|0;b=b<<1|a&1;if(!c)break;else a=a>>1}}return b|0}function UP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;if(!(c[104036]|0)){e=0;do{g=416140+(e<<2)|0;c[g>>2]=e;f=0;h=e;do{h=(h&1|0?-306674912:0)^h>>>1;f=f+1|0}while((f|0)!=8);c[g>>2]=h;e=e+1|0}while((e|0)!=256)}if((b|0)>0){e=-1;f=0;do{e=c[416140+(((d[a+f>>0]|0)^e&255)<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));e=~e}else e=0;return e|0}function VP(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+16|0;H=J+4|0;I=J;y=O(g,e)|0;z=y+1|0;A=O(z,f)|0;D=B2(A)|0;do if(D){s=B2(y)|0;if(!s){C2(D);C=0;break}if((f|0)>0){t=(g|0)>0;u=(y|0)>(g|0);v=(y|0)>0;r=0;do{w=r|0?19012:19032;x=b+(O(r,y)|0)|0;k=2147483647;i=0;q=0;do{p=(q|0)!=0;j=p?i:0;a:do if((j|0)<5)do{o=c[w+(j<<2)>>2]|0;b:do if(t){m=0;while(1){switch(o|0){case 0:{n=a[x+m>>0]|0;B=18;break}case 1:{n=a[x+m>>0]|0;B=18;break}case 2:{n=(d[x+m>>0]|0)-(d[x+(m-y)>>0]|0)&255;B=18;break}case 3:{n=(d[x+m>>0]|0)-((d[x+(m-y)>>0]|0)>>>1)&255;B=18;break}case 4:{n=(d[x+m>>0]|0)-((WP(0,d[x+(m-y)>>0]|0,0)|0)&255)&255;B=18;break}case 5:{n=a[x+m>>0]|0;B=18;break}case 6:{n=a[x+m>>0]|0;B=18;break}default:{}}if((B|0)==18){B=0;a[s+m>>0]=n}m=m+1|0;if((m|0)==(g|0))break b}}while(0);c:do if(u){m=g;while(1){switch(o|0){case 0:{n=a[x+m>>0]|0;B=28;break}case 1:{n=(d[x+m>>0]|0)-(d[x+(m-g)>>0]|0)&255;B=28;break}case 2:{n=(d[x+m>>0]|0)-(d[x+(m-y)>>0]|0)&255;B=28;break}case 3:{n=(d[x+m>>0]|0)-(((d[x+(m-y)>>0]|0)+(d[x+(m-g)>>0]|0)|0)>>>1)&255;B=28;break}case 4:{n=m-y|0;n=(d[x+m>>0]|0)-((WP(d[x+(m-g)>>0]|0,d[x+n>>0]|0,d[x+(n-g)>>0]|0)|0)&255)&255;B=28;break}case 5:{n=(d[x+m>>0]|0)-((d[x+(m-g)>>0]|0)>>>1)&255;B=28;break}case 6:{n=(d[x+m>>0]|0)-((WP(d[x+(m-g)>>0]|0,0,0)|0)&255)&255;B=28;break}default:{}}if((B|0)==28){B=0;a[s+m>>0]=n}m=m+1|0;if((m|0)==(y|0))break c}}while(0);if(p)break a;if(v){m=0;n=0;do{K=a[s+n>>0]|0;o=K<<24>>24;m=(K<<24>>24>-1?o:0-o|0)+m|0;n=n+1|0}while((n|0)!=(y|0))}else m=0;K=(m|0)<(k|0);i=K?j:i;k=K?m:k;j=j+1|0}while((j|0)<5);while(0);q=q+1|0}while((q|0)!=2);K=D+(O(r,z)|0)|0;a[K>>0]=i;s6(K+1|0,s|0,y|0)|0;r=r+1|0}while((r|0)!=(f|0))}C2(s);i=OP(D,A,I)|0;C2(D);if((i|0)!=0?(E=c[I>>2]|0,F=E+57|0,G=B2(F)|0,(G|0)!=0):0){c[h>>2]=F;K=G;I=K;a[I>>0]=137;a[I+1>>0]=80;a[I+2>>0]=78;a[I+3>>0]=71;K=K+4|0;a[K>>0]=13;a[K+1>>0]=10;a[K+2>>0]=26;a[K+3>>0]=10;a[G+8>>0]=0;a[G+9>>0]=0;a[G+10>>0]=0;a[G+11>>0]=13;a[G+12>>0]=73;a[G+13>>0]=72;a[G+14>>0]=68;a[G+15>>0]=82;a[G+16>>0]=e>>>24;a[G+17>>0]=e>>>16;a[G+18>>0]=e>>>8;a[G+19>>0]=e;a[G+20>>0]=f>>>24;a[G+21>>0]=f>>>16;a[G+22>>0]=f>>>8;a[G+23>>0]=f;a[G+24>>0]=8;a[G+25>>0]=c[19052+(g<<2)>>2];a[G+26>>0]=0;a[G+27>>0]=0;c[H>>2]=G+29;a[G+28>>0]=0;XP(H,13);K=c[H>>2]|0;a[K>>0]=E>>>24;a[K+1>>0]=E>>>16;a[K+2>>0]=E>>>8;a[K+3>>0]=E;a[K+4>>0]=73;a[K+5>>0]=68;a[K+6>>0]=65;a[K+7>>0]=84;K=K+8|0;t6(K|0,i|0,E|0)|0;c[H>>2]=K+E;C2(i);XP(H,E);K=c[H>>2]|0;a[K>>0]=0;a[K+1>>0]=0;a[K+2>>0]=0;a[K+3>>0]=0;a[K+4>>0]=73;a[K+5>>0]=69;a[K+6>>0]=78;a[K+7>>0]=68;c[H>>2]=K+8;XP(H,0);if((c[H>>2]|0)==(G+(c[h>>2]|0)|0))C=G;else Sa(380911,380705,937,380931)}else C=0}else C=0;while(0);l=J;return C|0}function WP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=b+a-c|0;f=d-a|0;f=(f|0)>-1?f:0-f|0;e=d-b|0;e=(e|0)>-1?e:0-e|0;d=d-c|0;d=(d|0)>-1?d:0-d|0;return ((f|0)>(e|0)|(f|0)>(d|0)?((e|0)>(d|0)?c:b):a)&255|0}function XP(b,d){b=b|0;d=d|0;d=UP((c[b>>2]|0)+(0-d)+-4|0,d+4|0)|0;a[c[b>>2]>>0]=d>>>24;a[(c[b>>2]|0)+1>>0]=d>>>16;a[(c[b>>2]|0)+2>>0]=d>>>8;a[(c[b>>2]|0)+3>>0]=d;c[b>>2]=(c[b>>2]|0)+4;return}function YP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;d=VP(f,b,d,e,g)|0;do if(d){b=Q4(a,403168)|0;if(!b){C2(d);b=0;break}else{L4(d,1,c[g>>2]|0,b)|0;W4(b)|0;C2(d);b=1;break}}else b=0;while(0);l=h;return b|0}function ZP(a){a=a|0;var b=0,d=0,e=0;b=B2(76)|0;if(!b)b=0;else{d=b+16|0;e=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+4>>2]=12;c[b+40>>2]=3;c[b+44>>2]=100;c[b+48>>2]=100;g[b+64>>2]=.5;g[b+68>>2]=.5;c[b+56>>2]=0;d=B2(388)|0;e=b+72|0;c[e>>2]=d;u6(d+132|0,0,256)|0;c[d>>2]=5;c[d+4>>2]=20;c[d+8>>2]=154;c[d+12>>2]=27;c[d+16>>2]=270;c[d+20>>2]=271;c[d+24>>2]=155;c[d+28>>2]=21;c[d+32>>2]=20;c[d+36>>2]=205;c[d+40>>2]=272;c[d+44>>2]=22;c[d+48>>2]=21;c[d+52>>2]=8;c[d+56>>2]=23;c[d+60>>2]=156;c[d+64>>2]=9;c[d+68>>2]=157;c[d+72>>2]=13;c[d+76>>2]=14;c[d+80>>2]=10;c[d+84>>2]=158;c[d+88>>2]=159;c[d+92>>2]=160;c[d+96>>2]=161;c[d+100>>2]=206;c[d+104>>2]=162;c[d+108>>2]=207;c[d+112>>2]=1;c[d+116>>2]=1;c[d+120>>2]=1;c[d+124>>2]=1;c[d+128>>2]=1;c[d+132>>2]=1;c[d+136>>2]=208;c[d+140>>2]=2;c[d+144>>2]=209;c[d+148>>2]=15;c[d+152>>2]=28;c[d+156>>2]=22;c[d+160>>2]=6;c[d+164>>2]=273;c[d+168>>2]=210;c[d+180>>2]=11;c[d+184>>2]=24;c[d+172>>2]=413;c[d+200>>2]=163;c[d+188>>2]=211;c[d+176>>2]=212;c[d+192>>2]=29;e=c[e>>2]|0;c[e+196>>2]=30;c[e+204>>2]=31;c[e+208>>2]=274;c[e+212>>2]=414;c[e+216>>2]=25;c[e+220>>2]=26;c[e+224>>2]=3;c[e+232>>2]=23;c[e+236>>2]=24;c[e+240>>2]=32;c[e+244>>2]=16;c[e+248>>2]=25;c[e+252>>2]=33;c[e+256>>2]=17;c[e+260>>2]=26;c[e+264>>2]=1;c[e+268>>2]=18;c[e+272>>2]=4;c[e+276>>2]=2;c[e+280>>2]=34;c[e+284>>2]=35;c[e+288>>2]=27;c[e+292>>2]=28;c[e+296>>2]=29;c[e+300>>2]=36;c[e+304>>2]=1;c[e+308>>2]=2;c[e+312>>2]=1;c[e+316>>2]=1;c[e+320>>2]=1;c[e+324>>2]=2;c[e+328>>2]=1;c[e+332>>2]=2;c[e+336>>2]=3;c[e+340>>2]=4;c[e+344>>2]=1;c[e+348>>2]=2;c[e+352>>2]=3;c[e+356>>2]=4;c[e+360>>2]=2;c[e+364>>2]=3;c[e+368>>2]=5;c[e+372>>2]=6;c[e+376>>2]=19;c[e+380>>2]=7;c[e+384>>2]=20}return b|0}function _P(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+96|0;v=w+80|0;t=w+72|0;s=w+64|0;r=w+56|0;q=w+48|0;p=w+40|0;o=w+32|0;n=w+24|0;m=w+16|0;k=w+8|0;i=d+8|0;j=c[i>>2]|0;if((j|0)<1){c[i>>2]=1;c[d+12>>2]=1;j=1}c[a+36>>2]=0;i=c[104297]|0;if(!i){vV(386054,w);i=c[104297]|0;if(!i){vV(386054,k);i=c[104297]|0;if(!i){vV(386054,m);i=c[104297]|0;if(!i){vV(386054,n);i=c[104297]|0;if(!i){vV(386054,o);i=c[104297]|0;if(!i){vV(386054,p);i=c[104297]|0;if(!i){vV(386054,q);i=c[104297]|0;if(!i){vV(386054,r);i=c[104297]|0;if(!i){vV(386054,s);i=c[104297]|0;if(!i)vV(386054,t);else u=23}else u=20}else u=18}else u=16}else u=14}else u=12}else u=10}else u=8}else u=6}else{c[i+320>>2]=1;u=6}if((u|0)==6){c[i+368>>2]=0;u=8}if((u|0)==8){c[i+368>>2]=4;u=10}if((u|0)==10){c[i+356>>2]=j;u=12}if((u|0)==12){c[i+360>>2]=c[d+12>>2];u=14}if((u|0)==14){c[i+308>>2]=16;u=16}if((u|0)==16){c[i+292>>2]=8;u=18}if((u|0)==18){c[i+296>>2]=8;u=20}if((u|0)==20){c[i+300>>2]=8;u=23}if((u|0)==23)c[i+304>>2]=8;k=a+16|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];k=a+56|0;i=c[k>>2]|0;if(!i)j=lO()|0;else j=c[(c[i+104>>2]|0)+8>>2]|0;i=c[104297]|0;a:do if((i|0)!=0?(h=c[i+272>>2]|0,(h|0)!=0):0){while(1){if((c[h+4>>2]|0)==(j|0))break;h=c[h+152>>2]|0;if(!h){u=31;break a}}c[a+32>>2]=g;u=35}else u=31;while(0);do if((u|0)==31){h=g>>>1&4^4|g|2;c[a+32>>2]=h;h=y2(436559,e&65535,f&65535,h)|0;if(!h){oO(385729,1,385738,v);h=0;break}else{kO(mT(h)|0);u=35;break}}while(0);if((u|0)==35){c[a+52>>2]=-1;i=a+72|0;g=c[(c[i>>2]|0)+4>>2]|0;v=mT(h)|0;if(!(Th[g&63](a,v,c[k>>2]|0)|0))h=0;else{do if(!(f<<16>>16==0|e<<16>>16==0)){h=c[k>>2]|0;if((b[h+16>>1]|0)==e<<16>>16?(b[h+18>>1]|0)==f<<16>>16:0)break;ti[c[(c[i>>2]|0)+32>>2]&63](a,h,e,f)}while(0);h=c[k>>2]|0}}l=w;return h|0}function $P(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+256|0;F=I+232|0;x=I+88|0;H=I+80|0;E=I+72|0;D=I+64|0;C=I+56|0;A=I+48|0;y=I+40|0;v=I+32|0;u=I+24|0;t=I+16|0;m=I+8|0;k=I;s=I+224|0;n=I+208|0;o=I+176|0;p=I+152|0;q=I+128|0;B=I+112|0;G=I+96|0;if(!h){h=B2(116)|0;i=h;j=i+116|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[h+108>>2]=1;a[h+112>>0]=0;z=B2(12)|0;c[h+12>>2]=z;j=z+4|0;w=j;a[w>>0]=0;a[w+1>>0]=0;a[w+2>>0]=0;a[w+3>>0]=0;j=j+4|0;a[j>>0]=0;a[j+1>>0]=0;a[j+2>>0]=0;a[j+3>>0]=0;c[z>>2]=1;c[h+8>>2]=0;z=B2(168)|0;j=h+104|0;c[j>>2]=z;u6(z|0,0,168)|0;z=B2(1160)|0;u6(z|0,0,1160)|0;w=c[j>>2]|0;c[w+160>>2]=1;c[w+164>>2]=z;c[w>>2]=0;vT(w+136|0);vT((c[j>>2]|0)+148|0);c[(c[j>>2]|0)+132>>2]=0;c[z+92>>2]=0;c[z+96>>2]=0;b[z+106>>1]=4e3;b[z+104>>1]=0;c[z+100>>2]=B2(128e3)|0;c[z+116>>2]=4e3;c[z+112>>2]=0;c[z+108>>2]=B2(8e3)|0;j=1}else{z=h+104|0;qO(c[(c[z>>2]|0)+8>>2]|0);j=0;z=c[(c[z>>2]|0)+164>>2]|0}f=gT(f)|0;a:do if(!f){oO(383425,1,383452,k);if(j){C2(c[z+100>>2]|0);C2(c[z+108>>2]|0);H=h+104|0;C2(c[(c[H>>2]|0)+164>>2]|0);C2(c[H>>2]|0);C2(c[h+12>>2]|0);C2(h);h=0}else h=0}else{k=mT(f)|0;w=h+104|0;i=c[w>>2]|0;c[i+8>>2]=k;if(!(!j?(c[i>>2]|0)!=0:0))r=9;do if((r|0)==9){r=sV(f)|0;c[c[w>>2]>>2]=r;if(!r){oO(383425,1,383500,m);C2(c[z+100>>2]|0);C2(c[z+108>>2]|0);C2(c[(c[w>>2]|0)+164>>2]|0);C2(c[w>>2]|0);C2(c[h+12>>2]|0);C2(h);h=0;break a}else{mO(h);i=c[w>>2]|0;break}}while(0);PZ(f,i+20|0,i+24|0);kT(h);r=h+12|0;k=c[r>>2]|0;c[k+4>>2]=0;c[k+8>>2]=6408;c[h>>2]=d;c[h+4>>2]=c[d+56>>2];k=c[w>>2]|0;f=c[k+20>>2]|0;j=f&65535;b[h+16>>1]=j;k=c[k+24>>2]|0;m=k&65535;b[h+18>>1]=m;b[h+22>>1]=j;b[h+24>>1]=m;a[h+26>>0]=0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;g[h+36>>2]=+(j&65535);g[h+40>>2]=+(m&65535);a[h+44>>0]=0;m=h+52|0;HO(n,+(f|0),+(k|0));c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=h+68|0;JO(o);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];a[h+96>>0]=1;a[h+97>>0]=0;a[h+98>>0]=1;k=c[w>>2]|0;g[k+124>>2]=1.0;a[k+128>>0]=1;a[k+96>>0]=1;k=k+100|0;YO(p);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[k+16>>2]=c[p+16>>2];c[k+20>>2]=c[p+20>>2];a[z>>0]=-1;a[z+1>>0]=-1>>8;a[z+2>>0]=-1>>16;a[z+3>>0]=-1>>24;a[z+4>>0]=1;c[z+8>>2]=4;a[z+12>>0]=0;k=z+16|0;YO(q);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];k=z+40|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=z+56|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[k+16>>2]=c[n+16>>2];c[k+20>>2]=c[n+20>>2];c[k+24>>2]=c[n+24>>2];a[z+84>>0]=0;a[z+85>>0]=0;a[z+86>>0]=1;k=d+72|0;si[c[(c[k>>2]|0)+12>>2]&127](d,h,c[(c[w>>2]|0)+8>>2]|0);c[s>>2]=0;Cg(36006,s|0);c[(c[r>>2]|0)+4>>2]=c[s>>2];if(!(nT(d)|0))oO(383425,1,383529,t);i=c[d+8>>2]|0;j=c[d+24>>2]|0;if((i|0)<(j|0)){c[u>>2]=j;c[u+4>>2]=i;oO(383425,1,383565,u);a[(c[w>>2]|0)+4>>0]=1;h=0;break}oT(d);f=d+52|0;if(!(aS(c[f>>2]|0,0)|0)){oO(383425,1,383665,v);a[(c[w>>2]|0)+4>>0]=1;h=0;break}i=d+36|0;j=c[i>>2]|0;do if(!(j&3)){if((wV(-1)|0)<0)wV(1)|0}else{if(j&1|0){wV(1)|0;break}if(j&2|0)wV(0)|0}while(0);c[104291]=c[i>>2]&64|0?9:8;Zf(770,771);og(3042);cg(0.0,0.0,0.0,0.0);nh(0,0,~~+g[h+60>>2]|0,~~+g[h+64>>2]|0);bg(16640);xS(h);+Ph[c[(c[k>>2]|0)+304>>2]&1](d,1.0);v=c[w>>2]|0;c[v+40>>2]=0;c[v+44>>2]=0;c[v+36>>2]=0;do if(aS(c[f>>2]|0,768)|0){f=Th[c[(c[k>>2]|0)+184>>2]&63](d,0,383710)|0;if(!f){c[y>>2]=jP()|0;oO(383425,1,384101,y);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}j=Th[c[(c[k>>2]|0)+184>>2]&63](d,1,384152)|0;if(!j){c[A>>2]=jP()|0;oO(383425,1,384430,A);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}i=Rh[c[(c[k>>2]|0)+172>>2]&511](d)|0;si[c[(c[k>>2]|0)+192>>2]&127](d,i,f);si[c[(c[k>>2]|0)+192>>2]&127](d,i,j);Sh[c[(c[k>>2]|0)+200>>2]&255](d,i)|0;if(!i){c[C>>2]=jP()|0;oO(383425,1,384483,C);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}f=c[w>>2]|0;c[f+40>>2]=i;f=f+64|0;lP(B,i,381667,384535,384548,384558);c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[f+12>>2]=c[B+12>>2];f=Th[c[(c[k>>2]|0)+184>>2]&63](d,0,384588)|0;if(!f){c[D>>2]=jP()|0;oO(383425,1,384895,D);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}j=Th[c[(c[k>>2]|0)+184>>2]&63](d,1,384948)|0;if(!j){c[E>>2]=jP()|0;oO(383425,1,385153,E);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}i=Rh[c[(c[k>>2]|0)+172>>2]&511](d)|0;si[c[(c[k>>2]|0)+192>>2]&127](d,i,f);si[c[(c[k>>2]|0)+192>>2]&127](d,i,j);Sh[c[(c[k>>2]|0)+200>>2]&255](d,i)|0;if(!i){c[H>>2]=jP()|0;oO(383425,1,385208,H);a[(c[w>>2]|0)+4>>0]=1;h=0;break a}else{hh(i|0);H=c[w>>2]|0;c[H+36>>2]=i;c[H+44>>2]=i;H=H+80|0;lP(G,i,381667,0,384548,384558);c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];H=(c[w>>2]|0)+80|0;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];c[F+8>>2]=c[H+8>>2];c[F+12>>2]=c[H+12>>2];mP(F);break}}else{v4(434221,256,385262,x);H=c[w>>2]|0;c[H+36>>2]=0;c[H+44>>2]=0}while(0);H=z+120|0;wg(2,H|0);Tf(34962,c[H>>2]|0);H=z+106|0;$f(34962,(e[H>>1]|0)<<5|0,0,35040);Tf(34962,c[z+124>>2]|0);$f(34962,(e[H>>1]|0)<<5|0,0,35040);a[z+132>>0]=0;G=z+128|0;wg(1,G|0);Tf(34963,c[G>>2]|0);$f(34963,(e[H>>1]|0)<<1|0,0,35048);wg(16,z+1096|0);u6(z+136|0,0,960)|0}while(0);l=I;return h|0}function aQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!d)b=0;else{b=B2(116)|0;e=b;f=d;g=e+116|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=c[d+8>>2]|0;if(e|0){g=e+104|0;c[g>>2]=(c[g>>2]|0)+1}e=c[d+104>>2]|0;if(e|0){g=e+160|0;c[g>>2]=(c[g>>2]|0)+1}d=c[d+12>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[b+108>>2]=1;a[b+112>>0]=1}return b|0}function bQ(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(((d|0?(j=d+104|0,g=c[j>>2]|0,g|0):0)?(c[d+8>>2]|0)==0:0)?(h=c[g>>2]|0,h|0):0){i=a+56|0;c[i>>2]=d;g=c[104297]|0;a:do if((g|0)!=0?(f=c[g+272>>2]|0,(f|0)!=0):0)while(1){if((c[f+4>>2]|0)==(e|0))break a;f=c[f+152>>2]|0;if(!f){f=0;break}}else f=0;while(0);tV(f,h)|0;if((c[(c[j>>2]|0)+8>>2]|0)!=(e|0)){fi[c[(c[a+72>>2]|0)+164>>2]&511](a);qO(e);c[(c[j>>2]|0)+8>>2]=e;mO(d);f=gT(e)|0;if(f|0){e=c[j>>2]|0;iT(f,e+12|0,e+16|0);e=c[j>>2]|0;hT(f,e+20|0,e+24|0);j=c[j>>2]|0;b[d+22>>1]=c[j+20>>2];b[d+24>>1]=c[j+24>>2]}xS(c[(c[(c[(c[i>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]|0)}}return}function cQ(a){a=a|0;var b=0;b=c[a+56>>2]|0;if(b|0)si[c[(c[a+72>>2]|0)+12>>2]&127](a,b,c[(c[b+104>>2]|0)+8>>2]|0);return}function dQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m;k=c[b+56>>2]|0;do if(k|0){e=k+104|0;f=c[e>>2]|0;i=c[f+164>>2]|0;j=b+52|0;if(aS(c[j>>2]|0,768)|0){hh(c[f+36>>2]|0);f=c[e>>2]|0}g=c[f+8>>2]|0;e=c[104297]|0;a:do if((e|0)!=0?(d=c[e+272>>2]|0,(d|0)!=0):0)while(1){if((c[d+4>>2]|0)==(g|0))break a;d=c[d+152>>2]|0;if(!d){d=0;break}}else d=0;while(0);tV(d,c[f>>2]|0)|0;if(!(a[i+12>>0]|0))og(3042);else sg(3042);g=i+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];XR(b,h);if(!(a[i+85>>0]|0))og(2929);else sg(2929);mg(a[i+86>>0]|0);d=k+52|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];yS(k,h);d=c[i+92>>2]|0;if(d|0)Wf(3553,c[(c[d+100>>2]|0)+8>>2]|0);e=c[i+96>>2]|0;d=c[j>>2]|0;if(!e){$R(d,c[(c[k+12>>2]|0)+4>>2]|0);break}else{$R(d,c[(c[e+12>>2]|0)+4>>2]|0);break}}while(0);l=m;return}function eQ(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;i=k+8|0;f=k+20|0;g=b+56|0;h=c[g>>2]|0;do if(h){if(zS(c[h+104>>2]|0,d)|0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);if(!(PR(b,d)|0)){oO(383316,1,383349,i);b=0;break}yg(1,f|0);Vf(36161,c[f>>2]|0);Qg(36161,33189,e[d+22>>1]|0|0,e[d+24>>1]|0|0);ug(36160,36096,36161,c[f>>2]|0);if((ag(36160)|0)==36053){b=a[d+98>>0]|0;a[(c[(c[(c[g>>2]|0)+104>>2]|0)+164>>2]|0)+86>>0]=b;mg(b|0);AO(d);b=1;break}else{oO(383316,1,383384,j);b=0;break}}else{oO(383316,1,383335,k);b=0}while(0);l=k;return b|0}function fQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n;k=c[d+56>>2]|0;i=k+104|0;g=c[i>>2]|0;m=zS(g,k)|0;if(m){fi[c[(c[d+72>>2]|0)+164>>2]&511](d);g=c[i>>2]|0}eT(k,g+12|0,g+16|0);h=c[i>>2]|0;fT(k,h+20|0,h+24|0);h=c[i>>2]|0;d=e&65535;g=f&65535;if(!((c[h+12>>2]|0)==(d|0)?(c[h+16>>2]|0)==(g|0):0)){jT(c[h+8>>2]|0,d,g);f=c[i>>2]|0;eT(k,f+12|0,f+16|0);f=c[i>>2]|0;fT(k,f+20|0,f+24|0)}kT(k);f=c[i>>2]|0;e=c[f+20>>2]&65535;b[k+22>>1]=e;f=c[f+24>>2]&65535;b[k+24>>1]=f;b[k+16>>1]=e;b[k+18>>1]=f;a[k+20>>0]=0;i=k+52|0;HO(j,+(e&65535),+(f&65535));c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];jS(k);TO(k);if(m)xS(k);l=n;return 1}function gQ(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;do if(e|0)if(zS(c[(c[d+56>>2]|0)+104>>2]|0,e)|0){fi[c[(c[d+72>>2]|0)+164>>2]&511](d);b[e+16>>1]=f;b[e+18>>1]=g;a[e+20>>0]=1;xS(e);break}else{b[e+16>>1]=f;b[e+18>>1]=g;a[e+20>>0]=1;break}while(0);return}function hQ(d,e){d=d|0;e=e|0;do if(e|0)if(zS(c[(c[d+56>>2]|0)+104>>2]|0,e)|0){fi[c[(c[d+72>>2]|0)+164>>2]&511](d);b[e+16>>1]=b[e+22>>1]|0;b[e+18>>1]=b[e+24>>1]|0;a[e+20>>0]=0;xS(e);break}else{b[e+16>>1]=b[e+22>>1]|0;b[e+18>>1]=b[e+24>>1]|0;a[e+20>>0]=0;break}while(0);return}function iQ(a){a=a|0;var b=0;b=a+56|0;li[c[(c[a+72>>2]|0)+108>>2]&511](a,c[b>>2]|0);c[b>>2]=0;return}function jQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;j=t+8|0;i=t;q=t+16|0;o=d+56|0;r=c[o>>2]|0;s=r+104|0;h=c[(c[s>>2]|0)+8>>2]|0;d=c[104297]|0;a:do if((d|0)!=0?(g=c[d+272>>2]|0,(g|0)!=0):0){d=g;while(1){if((c[d+4>>2]|0)==(h|0)){k=d;break a}d=c[d+152>>2]|0;if(!d){k=0;break}}}else k=0;while(0);m=((pV(k)|0)&1|0)!=0;e=e?(f?4097:1):0;d=c[104297]|0;do if(!d){vV(386054,i);d=m;p=20}else{if(k|0?(c[k>>2]|0)==(d+280|0):0){d=k+48|0;g=c[d>>2]|0;h=g&4097;if((e|0)!=(h|0)?(c[d>>2]=g&-4098|e,VZ(k,(e&1|0)!=0&(g&68|0)==4&1)|0):0){c[d>>2]=c[d>>2]&-4098|h;d=m;p=20;break}d=((pV(k)|0)&1|0)!=0;if(!(m|d^1)){j=c[s>>2]|0;c[j+28>>2]=c[j+12>>2];c[j+32>>2]=c[j+16>>2]}if(d|m^1){p=20;break}d=c[s>>2]|0;g=c[d+28>>2]|0;if(g|0?(n=c[d+32>>2]|0,n|0):0)z2(k,g,n);if(m){d=0;p=21;break}else{d=0;break}}vV(405282,j);d=m;p=20}while(0);if((p|0)==20)if(m^d)p=21;if((p|0)==21){h=c[s>>2]|0;eT(r,h+12|0,h+16|0);h=c[s>>2]|0;fT(r,h+20|0,h+24|0);h=c[s>>2]|0;g=c[h+20>>2]|0;h=c[h+24>>2]|0;if(!(a[r+20>>0]|0)){b[r+16>>1]=g;b[r+18>>1]=h}p=r+52|0;HO(q,+(g|0),+(h|0));c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];jS(r);TO(r);if(zS(c[(c[o>>2]|0)+104>>2]|0,r)|0)xS(r)}s=c[s>>2]|0;b[r+22>>1]=c[s+20>>2];b[r+24>>1]=c[s+24>>2];l=t;return d|0}function kQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+128|0;g=j+88|0;f=j+60|0;h=j+32|0;i=j+4|0;if(!d){oO(383302,5,380971,j);JO(a)}else{if(!e)JO(h);else{c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2]}e=d+68|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[i+20>>2]=c[e+20>>2];c[i+24>>2]=c[e+24>>2];c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[f+16>>2]=c[h+16>>2];c[f+20>>2]=c[h+20>>2];c[f+24>>2]=c[h+24>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];if(!(dT(f,g)|0)){if(zS(c[(c[b+56>>2]|0)+104>>2]|0,d)|0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];c[e+16>>2]=c[h+16>>2];c[e+20>>2]=c[h+20>>2];c[e+24>>2]=c[h+24>>2]};c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2]}l=j;return}function lQ(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;k=n+32|0;h=n+8|0;g=n;m=n+16|0;do if(!f){c[g>>2]=0;oO(383249,2,382768,g);d=0}else{d=SS(a,d,e,f)|0;if(!d){oO(383249,1,383265,h);d=0;break}ES(a);BS(a,d);j=c[(c[d+100>>2]|0)+12>>2]|0;f=b[d+12>>1]|0;g=b[d+14>>1]|0;if(!(c[a+52>>2]&1)){e=f&65535;if(!(TS(e)|0))f=(US(e)|0)&65535;e=g&65535;if(!(TS(e)|0))g=(US(e)|0)&65535}a=f&65535;h=O(a,g&65535)|0;i=d+28|0;o=(c[104292]|0)>>>0<(O(h,c[i>>2]|0)|0)>>>0;e=c[104293]|0;if(o){C2(e);e=O(c[i>>2]|0,h)|0;c[104292]=e;e=B2(e)|0;c[104293]=e;u6(e|0,0,c[104292]|0)|0}HO(m,+(f&65535),+(g&65535));o=c[i>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];VS(e,k,j,1,a,o);b[d+36>>1]=f;b[d+38>>1]=g}while(0);l=n;return d|0}function mQ(a,b,d){a=a|0;b=b|0;d=d|0;d=l;l=l+16|0;b=d;c[b>>2]=c[a>>2];oO(383178,4,383206,b);l=d;return 0}function nQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!d)b=0;else{b=B2(112)|0;e=b;f=d;g=e+112|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+100>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[b+104>>2]=1;a[b+108>>0]=1}return b|0}function oQ(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;if((((!((d|0)==0|(e|0)==0)?(b[d+36>>1]|0)!=0:0)?(b[d+38>>1]|0)!=0:0)?((c[d+28>>2]|0)+-1|0)>>>0<=3:0)?(g=Sh[c[(c[a+72>>2]|0)+96>>2]&255](a,d)|0,(g|0)!=0):0){a=MO(g,e,f)|0;YV(g)}else a=0;return a|0}function pQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;if((e|0)!=0?(f=RS(d,e)|0,(f|0)!=0):0){d=e+52|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;UO(f,g);XO(f,(a[e+56>>0]|0)!=0);d=f+60|0;g=e+60|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];ZO(f,c[e+84>>2]|0);$O(f,c[e+88>>2]|0);aP(f,c[e+92>>2]|0,c[e+96>>2]|0);if(a[e+40>>0]|0)SO(f);if(a[e+16>>0]|0)CO(f,b[e+12>>1]|0,b[e+14>>1]|0)}else f=0;l=h;return f|0}function qQ(b,d,f,h,i){b=b|0;d=d|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+48|0;q=u+32|0;k=u;s=u+24|0;t=u+8|0;do if(!((d|0)==0|(h|0)==0)){r=c[(c[d+100>>2]|0)+12>>2]|0;c[s>>2]=r;r=aT(r,h,s)|0;if(!r){oO(383162,1,382909,k);break}if(f){c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];j=+g[t>>2];if(j<0.0){k=t+8|0;g[k>>2]=j+ +g[k>>2];g[t>>2]=0.0;j=0.0}f=t+4|0;m=+g[f>>2];if(m<0.0){k=t+12|0;g[k>>2]=m+ +g[k>>2];g[f>>2]=0.0;m=0.0}k=t+8|0;o=+g[k>>2];j=j+o;n=+(e[d+32>>1]|0);if(j>n){o=o+(n-j);g[k>>2]=o}f=t+12|0;j=+g[f>>2];m=m+j;n=+(e[d+34>>1]|0);if(m>n){j=j+(n-m);g[f>>2]=j}if(o<=0.0)g[k>>2]=0.0;if(j<=0.0)g[f>>2]=0.0}else{g[t>>2]=0.0;g[t+4>>2]=0.0;g[t+8>>2]=+(e[d+32>>1]|0);g[t+12>>2]=+(e[d+34>>1]|0)}if(i){j=+g[i>>2];v=+g[i+4>>2];n=+g[i+8>>2];o=+g[i+12>>2];i=j<0.0;n=i?j+n:n;j=i?0.0:j;i=v<0.0;m=i?0.0:v;o=i?v+o:o;v=j+n;w=+(c[r+8>>2]|0);n=v>w?n+(w-v):n;v=m+o;w=+(c[r+12>>2]|0);o=v>w?o+(w-v):o;n=n<=0.0?0.0:n;if(o<=0.0){o=0.0;p=21}}else{o=+(c[r+12>>2]|0);j=0.0;m=0.0;n=+(c[r+8>>2]|0);p=21}ES(b);f=c[d+8>>2]|0;if(f|0?zS(c[(c[b+56>>2]|0)+104>>2]|0,f)|0:0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);BS(b,d);i=c[r+16>>2]|0;k=8;while(1)if(!((i|0)%(k|0)|0))break;else k=k>>1;f=t+8|0;if(n<+g[f>>2])g[f>>2]=n;f=t+12|0;if(o<+g[f>>2])g[f>>2]=o;b=a[(c[r+4>>2]|0)+9>>0]|0;d=b&255;b=(c[r+20>>2]|0)+~~(m*+(i|0)+j*+(b&255))|0;s=c[s>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];WS(b,q,s,k,(i|0)/(d|0)|0,i,d);if((r|0)!=(h|0))YV(r)}while(0);l=u;return}function rQ(a,b,d,f,h){a=a|0;b=b|0;d=d|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;o=r+16|0;q=r;if(!((b|0)==0|(f|0)==0)){p=c[(c[b+100>>2]|0)+12>>2]|0;if(d){c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+g[q>>2];if(i<0.0){n=q+8|0;g[n>>2]=i+ +g[n>>2];g[q>>2]=0.0;i=0.0}d=q+4|0;j=+g[d>>2];if(j<0.0){n=q+12|0;g[n>>2]=j+ +g[n>>2];g[d>>2]=0.0;j=0.0}n=q+8|0;m=+g[n>>2];i=i+m;k=+(e[b+32>>1]|0);if(i>k){m=m+(k-i);g[n>>2]=m}d=q+12|0;i=+g[d>>2];j=j+i;k=+(e[b+34>>1]|0);if(j>k){i=i+(k-j);g[d>>2]=i}if(m<=0.0)g[n>>2]=0.0;if(i<=0.0)g[d>>2]=0.0}else{g[q>>2]=0.0;g[q+4>>2]=0.0;g[q+8>>2]=+(e[b+32>>1]|0);g[q+12>>2]=+(e[b+34>>1]|0)}ES(a);d=c[b+8>>2]|0;if(d|0?zS(c[(c[a+56>>2]|0)+104>>2]|0,d)|0:0)fi[c[(c[a+72>>2]|0)+164>>2]&511](a);BS(a,b);d=8;while(1)if(!((h|0)%(d|0)|0))break;else d=d>>1;b=c[b+28>>2]|0;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];WS(f,o,p,d,(h|0)/(b|0)|0,h,b)}l=r;return}function sQ(e,f,h,i){e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0,N=0;I=l;l=l+112|0;B=I+96|0;E=I+48|0;F=I+40|0;u=I+32|0;t=I+24|0;k=I+16|0;j=I+8|0;C=I+88|0;D=I+72|0;H=I+56|0;do if(f){if(!h){oO(382892,5,393393,j);j=0;break}p=c[f+100>>2]|0;A=c[p+12>>2]|0;c[C>>2]=A;A=aT(A,h,C)|0;if(!A){oO(382892,1,382909,k);j=0;break}z=e+52|0;if(c[z>>2]&2|0?(m=c[f+8>>2]|0,m|0):0){j=c[m+12>>2]|0;if(c[e+56>>2]|0)bT(e,m);j=j+4|0;if(c[j>>2]|0)hg(1,j|0);c[j>>2]=0}m=p+4|0;y=p+8|0;if(a[m>>0]|0)kg(1,y|0);c[y>>2]=0;j=c[h+8>>2]|0;k=c[h+12>>2]|0;if(!i){r=+(j|0);n=+(k|0);v=n;s=r;o=0.0;q=0.0}else{v=+(k|0);s=+(j|0);o=+g[i>>2];q=+g[i+4>>2];r=+g[i+8>>2];n=+g[i+12>>2]}x=o<0.0;L=x?0.0:o;J=x?o+r:r;x=q<0.0;K=x?0.0:q;o=x?q+n:n;r=!(L>=s)?L:+(j+-1|0);q=!(K>=v)?K:+(k+-1|0);n=J+r>s?s-r:J;o=o+q>v?v-q:o;if(!(!(n<=0.0)&!(o<=0.0))){oO(382892,2,382959,t);j=0;break}x=YS(e)|0;c[y>>2]=x;a[m>>0]=1;if(!x){oO(382892,1,382994,u);j=0;break}j=~~n;p=~~o;k=j&65535;m=p&65535;if(!(a[f+16>>0]|0)){b[f+12>>1]=k;b[f+14>>1]=m}x=f+32|0;b[x>>1]=k;w=f+34|0;b[w>>1]=m;if(!(c[z>>2]&1)){if(!(TS(j)|0))j=US(j)|0;if(!(TS(p)|0))p=US(p)|0}t=f+36|0;b[t>>1]=j;u=f+38|0;b[u>>1]=p;a[f+40>>0]=0;m=A+16|0;i=c[m>>2]|0;k=8;while(1)if(!((i|0)%(k|0)|0))break;else k=k>>1;N=A+4|0;M=(c[A+20>>2]|0)+~~(q*+(i|0)+r*+(d[(c[N>>2]|0)+9>>0]|0))|0;HO(D,+(j|0),+(p|0));p=c[C>>2]|0;C=d[(c[N>>2]|0)+9>>0]|0;i=(c[m>>2]|0)/(C|0)|0;c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];VS(M,B,p,k,i,C);if((A|0)!=(h|0))YV(A);if((c[z>>2]&2|0)!=0?(G=c[f+8>>2]|0,(G|0)!=0):0){j=(c[G+12>>2]|0)+4|0;xg(1,j|0);j=c[j>>2]|0;if(!j){oO(382892,1,383033,F);j=0;break}JS(e,j);vg(36160,36064,3553,c[y>>2]|0,0);if((ag(36160)|0)!=36053){oO(382892,1,383074,E);j=0;break}if(!(a[G+20>>0]|0)){j=b[x>>1]|0;b[G+16>>1]=j;k=b[w>>1]|0;b[G+18>>1]=k}else{j=b[G+16>>1]|0;k=b[G+18>>1]|0}b[G+22>>1]=b[t>>1]|0;b[G+24>>1]=b[u>>1]|0;N=G+52|0;HO(H,+(j&65535),+(k&65535));c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];j=1}else j=1}else{oO(382892,5,382003,I);j=0}while(0);l=I;return j|0}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;do if(!b){oO(382837,5,393393,h);d=0}else{f=c[b+8>>2]|0;if(f|0?(g=c[b+12>>2]|0,g|0):0){d=c[b+4>>2]|0;if((c[d+24>>2]|0)==0?!(_S(b)|0):0){d=$S(c[d>>2]|0)|0;d=d?4:3}else d=4;e=a+72|0;d=Uh[c[(c[e>>2]|0)+52>>2]&63](a,f&65535,g&65535,d)|0;if(!d){d=0;break}zi[c[(c[e>>2]|0)+72>>2]&31](a,d,0,b,0);break}oO(382837,2,382862,d);d=0}while(0);l=h;return d|0}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0;do if(b){d=c[b+8>>2]|0;if(!d){e=a+72|0;d=Sh[c[(c[e>>2]|0)+92>>2]&255](a,b)|0;a=Sh[c[(c[e>>2]|0)+84>>2]&255](a,d)|0;YV(d);break}else{a=RS(a,d)|0;break}}else a=0;while(0);return a|0}function vQ(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;j=p+16|0;i=p+8|0;do if(!f){oO(382543,5,380971,p);a=0}else{k=f+22|0;g=b[k>>1]|0;o=f+24|0;h=b[o>>1]|0;if(g<<16>>16==0|h<<16>>16==0){c[i>>2]=g&65535;c[i+4>>2]=h&65535;oO(382543,2,382569,i);a=0;break}m=QS(a,f)|0;if(!m){oO(382543,1,382476,j);a=0;break}j=MS(c[(c[f+12>>2]|0)+8>>2]|0)|0;a=H_(e[k>>1]|0,e[o>>1]|0,d[j+8>>0]|0,c[j+12>>2]|0,c[j+16>>2]|0,c[j+20>>2]|0,c[j+24>>2]|0)|0;g=e[k>>1]|0;if(!a){a=e[o>>1]|0;c[n>>2]=g;c[n+4>>2]=a;oO(382543,2,382508,n);C2(m);a=0;break}h=O(d[j+9>>0]|0,g)|0;if(b[o>>1]|0){i=a+20|0;f=a+16|0;g=0;do{s6((c[i>>2]|0)+(O(c[f>>2]|0,g)|0)|0,m+(O(g,h)|0)|0,h|0)|0;g=g+1|0}while((g|0)<(e[o>>1]|0))}C2(m);NS(j)}while(0);l=p;return a|0}function wQ(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;o=q+24|0;k=q+16|0;i=q+8|0;do if(!g){oO(382418,5,382003,q);h=0}else{p=b[g+12>>1]|0;j=p&65535;if(p<<16>>16?(h=b[g+14>>1]|0,h<<16>>16):0){if(!(a[g+16>>0]|0))p=h&65535;else{p=e[g+38>>1]|0;j=e[g+36>>1]|0}n=LS(f,g)|0;if(!n){oO(382418,1,382476,k);h=0;break}m=MS(c[(c[g+100>>2]|0)+12>>2]|0)|0;h=H_(j,p,d[m+8>>0]|0,c[m+12>>2]|0,c[m+16>>2]|0,c[m+20>>2]|0,c[m+24>>2]|0)|0;if(!h){c[o>>2]=j;c[o+4>>2]=p;oO(382418,2,382508,o);C2(n);h=0;break}j=O(d[m+9>>0]|0,e[g+36>>1]|0)|0;if(p|0){f=h+20|0;k=h+16|0;i=0;do{o=c[k>>2]|0;s6((c[f>>2]|0)+(O(o,i)|0)|0,n+(O(j,i)|0)|0,o|0)|0;i=i+1|0}while((i|0)<(p|0))}C2(n);NS(m);break}h=e[g+34>>1]|0;c[i>>2]=e[g+32>>1];c[i+4>>2]=h;oO(382418,2,382443,i);h=0}while(0);l=q;return h|0}function xQ(b,d){b=b|0;d=d|0;var e=0,f=0;do if(d|0){e=d+104|0;f=c[e>>2]|0;if((f|0)>1){c[e>>2]=f+-1;break}e=d+8|0;f=c[e>>2]|0;if(f|0){c[e>>2]=0;e=f+108|0;c[e>>2]=(c[e>>2]|0)+1;li[c[(c[b+72>>2]|0)+108>>2]&511](b,f)}KS(b,d);e=c[d+100>>2]|0;f=c[e>>2]|0;if((f|0)>1)c[e>>2]=f+-1;else{if(a[e+4>>0]|0){b=c[d+4>>2]|0;wO(b,c[(c[b+104>>2]|0)+8>>2]|0);kg(1,e+8|0)}C2(e)}C2(d)}while(0);return}function yQ(d,f){d=d|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;i=q;m=q+56|0;n=q+40|0;o=q+8|0;do if(f){p=f+8|0;h=c[p>>2]|0;if(!h)if(c[d+52>>2]&2){xg(1,m|0);JS(d,c[m>>2]|0);k=f+100|0;vg(36160,36064,3553,c[(c[k>>2]|0)+8>>2]|0,0);h=ag(36160)|0;if((h|0)==36053){h=B2(116)|0;i=h;j=i+116|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));j=B2(12)|0;c[j>>2]=1;c[h+12>>2]=j;c[j+4>>2]=c[m>>2];c[j+8>>2]=c[(c[k>>2]|0)+12>>2];c[h>>2]=d;c[h+4>>2]=c[d+56>>2];c[h+104>>2]=0;c[h+8>>2]=f;j=b[f+12>>1]|0;d=h+16|0;b[d>>1]=j;k=b[f+14>>1]|0;m=h+18|0;b[m>>1]=k;b[h+22>>1]=b[f+36>>1]|0;b[h+24>>1]=b[f+38>>1]|0;a[h+20>>0]=a[f+16>>0]|0;f=h+52|0;HO(n,+(j&65535),+(k&65535));c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];n=h+68|0;JO(o);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[n+16>>2]=c[o+16>>2];c[n+20>>2]=c[o+20>>2];c[n+24>>2]=c[o+24>>2];a[h+96>>0]=1;a[h+97>>0]=0;a[h+98>>0]=1;a[h+26>>0]=0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;g[h+36>>2]=+(e[d>>1]|0);g[h+40>>2]=+(e[m>>1]|0);a[h+44>>0]=0;c[p>>2]=h;break}else{p=c[(c[k>>2]|0)+12>>2]|0;c[i>>2]=h;c[i+4>>2]=p;oO(382291,2,382305,i);h=0;break}}else h=0}else h=0;while(0);l=q;return h|0}function zQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(b|0){d=b+108|0;e=c[d>>2]|0;if((e|0)>1){c[d>>2]=e+-1;break}e=a+56|0;if((c[e>>2]|0)!=(b|0)){d=c[b+4>>2]|0;if(d|0)wO(d,c[(c[d+104>>2]|0)+8>>2]|0)}else fi[c[(c[a+72>>2]|0)+164>>2]&511](a);HS(a,c[b+12>>2]|0);d=b+104|0;if(c[d>>2]|0){rO(b);IS(c[d>>2]|0)}if((c[e>>2]|0)==(b|0))c[e>>2]=0;d=c[b+8>>2]|0;if(d|0?(f=d+8|0,(c[f>>2]|0)==(b|0)):0)c[f>>2]=0;C2(b)}while(0);return}function AQ(f,h,i,j,k,m){f=f|0;h=h|0;i=i|0;j=j|0;k=+k;m=+m;var n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,B=0,C=0,D=0.0,E=0.0,F=0;F=l;l=l+48|0;q=F+32|0;p=F+24|0;o=F+16|0;n=F+8|0;do if(!h)oO(382282,5,382003,F);else{if(!j){oO(382282,5,380971,n);break}if((c[h>>2]|0)==(f|0)?(c[j>>2]|0)==(f|0):0){OR(f,j);z=f+56|0;if(!(c[z>>2]|0)){oO(382282,3,380998,p);break}QR(f,j);DS(f,j,h);BS(f,h);if(!(PR(f,j)|0)){oO(382282,1,381011,q);break}n=b[h+36>>1]|0;o=b[h+38>>1]|0;p=c[h+88>>2]|0;switch(p|0){case 3:case 1:{y=+A(+k);m=+A(+m);break}default:y=k}v=+(n&65535);s=+(o&65535);if(!i){r=+(e[h+12>>1]|0);k=+(e[h+14>>1]|0);w=r;x=k;t=0.0;u=0.0}else{D=+g[i>>2];E=+g[i+4>>2];r=+g[i+8>>2];k=+g[i+12>>2];w=r;x=k;t=D/v;u=E/s;r=D+r;k=E+k}s=k/s;k=r/v;if(!(a[h+16>>0]|0))E=k;else{E=+(e[h+32>>1]|0)/+(e[h+12>>1]|0);D=+(e[h+34>>1]|0)/+(e[h+14>>1]|0);t=t*E;u=u*D;s=s*D;E=k*E}r=+g[h+44>>2];v=y-w*r;D=+g[h+48>>2];k=m-x*D;r=y+w*(1.0-r);m=m+x*(1.0-D);if((p&-2|0)==2){D=w*.5;D=D-+A(+D);y=x*.5;y=y-+A(+y);m=m+y;r=r+D;k=k+y;v=v+D}o=(a[f+60>>0]|0)==0;D=o?k:m;y=o?m:k;o=c[(c[(c[z>>2]|0)+104>>2]|0)+164>>2]|0;C=o+104|0;n=(e[C>>1]|0)+4|0;if(n>>>0>=(e[o+106>>1]|0)>>>0?!(SR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);B=o+112|0;n=(c[B>>2]|0)+6|0;if(n>>>0>=(c[o+116>>2]|0)>>>0?!(TR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);f=c[o+100>>2]|0;n=c[o+108>>2]|0;o=b[C>>1]|0;p=o&65535;q=p<<3;i=q|2;z=q|4;m=+(d[h+53>>0]|0);k=+(d[h+52>>0]|0);w=+(d[h+55>>0]|0);x=+(d[h+54>>0]|0);if(a[j+44>>0]|0){w=w*(+(d[j+48>>0]|0)/255.0);x=x*(+(d[j+47>>0]|0)/255.0);m=m*(+(d[j+46>>0]|0)/255.0);k=k*(+(d[j+45>>0]|0)/255.0)}w=w/255.0;x=x/255.0;m=m/255.0;k=k/255.0;g[f+(q<<2)>>2]=v;g[f+((q|1)<<2)>>2]=D;g[f+(i<<2)>>2]=t;g[f+((q|3)<<2)>>2]=u;g[f+(z<<2)>>2]=k;g[f+((q|5)<<2)>>2]=m;g[f+((q|6)<<2)>>2]=x;g[f+((q|7)<<2)>>2]=w;g[f+(q+8<<2)>>2]=r;g[f+(q+9<<2)>>2]=D;g[f+(i+8<<2)>>2]=E;g[f+(i+9<<2)>>2]=u;g[f+(z+8<<2)>>2]=k;g[f+(z+9<<2)>>2]=m;g[f+(z+10<<2)>>2]=x;g[f+(z+11<<2)>>2]=w;g[f+(q+16<<2)>>2]=r;g[f+(q+17<<2)>>2]=y;g[f+(i+16<<2)>>2]=E;g[f+(i+17<<2)>>2]=s;g[f+(z+16<<2)>>2]=k;g[f+(z+17<<2)>>2]=m;g[f+(z+18<<2)>>2]=x;g[f+(z+19<<2)>>2]=w;g[f+(q+24<<2)>>2]=v;g[f+(q+25<<2)>>2]=y;g[f+(i+24<<2)>>2]=t;g[f+(i+25<<2)>>2]=s;g[f+(z+24<<2)>>2]=k;g[f+(z+25<<2)>>2]=m;g[f+(z+26<<2)>>2]=x;g[f+(z+27<<2)>>2]=w;j=c[B>>2]|0;b[n+(j<<1)>>1]=o;b[n+(j+1<<1)>>1]=p+1;h=p+2&65535;b[n+(j+2<<1)>>1]=h;b[n+(j+3<<1)>>1]=o;b[n+(j+4<<1)>>1]=h;c[B>>2]=j+6;b[n+(j+5<<1)>>1]=p+3;b[C>>1]=(e[C>>1]|0)+4;break}oO(382282,3,380978,o)}while(0);l=F;return}function BQ(a,b,d,f,h,i,j){a=a|0;b=b|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;var k=0,m=0.0,n=0.0,o=0;o=l;l=l+16|0;k=o+8|0;do if(!b)oO(382267,5,382003,o);else{if(!f){oO(382267,5,380971,k);break}if(!d){m=+(e[b+12>>1]|0);n=+(e[b+14>>1]|0)}else{m=+g[d+8>>2];n=+g[d+12>>2]}yi[c[(c[a+72>>2]|0)+128>>2]&1](a,b,d,f,h,i,m*+g[b+44>>2],n*+g[b+48>>2],j,1.0,1.0)}while(0);l=o;return}function CQ(a,b,d,f,h,i,j,k){a=a|0;b=b|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=+k;var m=0,n=0.0,o=0.0,p=0;p=l;l=l+16|0;m=p+8|0;do if(!b)oO(382253,5,382003,p);else{if(!f){oO(382253,5,380971,m);break}if(!d){n=+(e[b+12>>1]|0);o=+(e[b+14>>1]|0)}else{n=+g[d+8>>2];o=+g[d+12>>2]}yi[c[(c[a+72>>2]|0)+128>>2]&1](a,b,d,f,h,i,n*+g[b+44>>2],o*+g[b+48>>2],0.0,j,k)}while(0);l=p;return}function DQ(a,b,d,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;f=f|0;h=+h;i=+i;j=+j;k=+k;m=+m;var n=0,o=0.0,p=0.0,q=0;q=l;l=l+16|0;n=q+8|0;do if(!b)oO(382235,5,382003,q);else{if(!f){oO(382235,5,380971,n);break}if(!d){o=+(e[b+12>>1]|0);p=+(e[b+14>>1]|0)}else{o=+g[d+8>>2];p=+g[d+12>>2]}yi[c[(c[a+72>>2]|0)+128>>2]&1](a,b,d,f,h,i,o*+g[b+44>>2],p*+g[b+48>>2],j,k,m)}while(0);l=q;return}function EQ(f,h,i,j,k,m,n,o,p,q,r){f=f|0;h=h|0;i=i|0;j=j|0;k=+k;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;var s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0;O=l;l=l+32|0;u=O+24|0;t=O+16|0;s=O+8|0;do if(!h)oO(382216,5,382003,O);else{if(!j){oO(382216,5,380971,s);break}if((c[h>>2]|0)==(f|0)?(c[j>>2]|0)==(f|0):0){OR(f,j);QR(f,j);DS(f,j,h);BS(f,h);if(!(PR(f,j)|0)){oO(382216,1,381011,u);break}s=b[h+36>>1]|0;t=b[h+38>>1]|0;u=c[h+88>>2]|0;switch(u|0){case 3:case 1:{k=+A(+k);K=+A(+m);break}default:K=m}x=+(s&65535);y=+(t&65535);if(!i){m=+(e[h+12>>1]|0);v=+(e[h+14>>1]|0);w=0.0;z=0.0;B=v;C=m}else{N=+g[i>>2];M=+g[i+4>>2];m=+g[i+8>>2];v=+g[i+12>>2];w=N/x;z=M/y;B=v;C=m;v=M+v;m=N+m}x=m/x;m=v/y;if(!(a[h+16>>0]|0)){N=w;M=x;L=m}else{M=+(e[h+32>>1]|0)/+(e[h+12>>1]|0);L=+(e[h+34>>1]|0)/+(e[h+14>>1]|0);N=w*M;z=z*L;M=x*M;L=m*L}v=C-n;m=B-o;if((u&-2|0)==2){J=C*.5;J=J-+A(+J);w=B*.5;w=w-+A(+w);x=v+J;m=m+w;v=J}else{x=v;v=-0.0;w=-0.0}w=w-o;J=v-n;I=(a[f+60>>0]|0)==0;B=I?m:w;w=I?w:m;I=q!=1.0|r!=1.0;B=I?B*r:B;v=I?x*q:x;w=I?w*r:w;m=I?J*q:J;if(p!=0.0){x=p*3.141592653589793/180.0;J=+E(+x);x=+F(+x);Q=m*J;P=w*x;p=m*x;w=w*J;r=v*J;q=B*x;x=v*x;J=B*J;o=J+p;C=Q-q;n=w+x;y=r-P;m=Q-P;v=r-q;w=w+p;x=J+x}else{o=B;C=m;n=w;y=v;x=B}J=k+m;p=k+v;q=k+y;r=k+C;C=K+w;B=K+x;y=K+n;x=K+o;t=c[(c[(c[f+56>>2]|0)+104>>2]|0)+164>>2]|0;I=t+104|0;s=(e[I>>1]|0)+4|0;if(s>>>0>=(e[t+106>>1]|0)>>>0?!(SR(t,s)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);H=t+112|0;s=(c[H>>2]|0)+6|0;if(s>>>0>=(c[t+116>>2]|0)>>>0?!(TR(t,s)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);G=c[t+100>>2]|0;s=c[t+108>>2]|0;t=b[I>>1]|0;u=t&65535;i=u<<3;f=i|2;D=i|4;v=+(d[h+55>>0]|0);w=+(d[h+54>>0]|0);m=+(d[h+53>>0]|0);k=+(d[h+52>>0]|0);if(a[j+44>>0]|0){v=v*(+(d[j+48>>0]|0)/255.0);w=w*(+(d[j+47>>0]|0)/255.0);m=m*(+(d[j+46>>0]|0)/255.0);k=k*(+(d[j+45>>0]|0)/255.0)}Q=v/255.0;P=w/255.0;K=m/255.0;o=k/255.0;g[G+(i<<2)>>2]=J;g[G+((i|1)<<2)>>2]=C;g[G+(f<<2)>>2]=N;g[G+((i|3)<<2)>>2]=z;g[G+(D<<2)>>2]=o;g[G+((i|5)<<2)>>2]=K;g[G+((i|6)<<2)>>2]=P;g[G+((i|7)<<2)>>2]=Q;g[G+(i+8<<2)>>2]=q;g[G+(i+9<<2)>>2]=y;g[G+(f+8<<2)>>2]=M;g[G+(f+9<<2)>>2]=z;g[G+(D+8<<2)>>2]=o;g[G+(D+9<<2)>>2]=K;g[G+(D+10<<2)>>2]=P;g[G+(D+11<<2)>>2]=Q;g[G+(i+16<<2)>>2]=p;g[G+(i+17<<2)>>2]=B;g[G+(f+16<<2)>>2]=M;g[G+(f+17<<2)>>2]=L;g[G+(D+16<<2)>>2]=o;g[G+(D+17<<2)>>2]=K;g[G+(D+18<<2)>>2]=P;g[G+(D+19<<2)>>2]=Q;g[G+(i+24<<2)>>2]=r;g[G+(i+25<<2)>>2]=x;g[G+(f+24<<2)>>2]=N;g[G+(f+25<<2)>>2]=L;g[G+(D+24<<2)>>2]=o;g[G+(D+25<<2)>>2]=K;g[G+(D+26<<2)>>2]=P;g[G+(D+27<<2)>>2]=Q;j=c[H>>2]|0;b[s+(j<<1)>>1]=t;b[s+(j+1<<1)>>1]=u+1;h=u+2&65535;b[s+(j+2<<1)>>1]=h;b[s+(j+3<<1)>>1]=t;b[s+(j+4<<1)>>1]=h;c[H>>2]=j+6;b[s+(j+5<<1)>>1]=u+3;b[I>>1]=(e[I>>1]|0)+4;break}oO(382216,3,380978,t)}while(0);l=O;return}function FQ(f,h,i,j,k,m,n,o,p){f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+48|0;t=M+16|0;s=M+8|0;r=M;K=M+40|0;J=M+24|0;q=(h|0)!=0;C=(p&3|0)!=0;F=p&4;x=(F|0)==0;I=(p&120|0)!=0;L=(p&96|0)!=0;y=(p&80|0)==0;v=k&65535;do if(k<<16>>16){if(!i){oO(382196,5,380971,r);break}if(!(q?(c[h>>2]|0)!=(f|0):0))u=6;if((u|0)==6?(c[i>>2]|0)==(f|0):0){OR(f,i);if(q)BS(f,h);if(!(PR(f,i)|0)){oO(382196,1,381011,t);break}QR(f,i);if(q)DS(f,i,h);else RR(f,j);jS(i);kS(i);if(q)ES(f);mS(f,i);D=c[(c[f+56>>2]|0)+104>>2]|0;G=c[D+164>>2]|0;fi[c[(c[f+72>>2]|0)+164>>2]&511](f);H=G+112|0;q=(c[H>>2]|0)+n|0;u=G+116|0;if(q>>>0>=(c[u>>2]|0)>>>0)SR(G,q)|0;E=G+104|0;q=b[E>>1]|0;r=(q&65535)+v|0;t=G+106|0;s=b[t>>1]|0;if(r>>>0<(s&65535)>>>0)r=s;else{SR(G,r)|0;q=b[E>>1]|0;r=b[t>>1]|0}q=(q&65535)+v|0;if(q>>>0>=(r&65535)>>>0?!(SR(G,q)|0):0)r=(e[t>>1]|0)-(e[E>>1]|0)&65535;else r=k;q=(c[H>>2]|0)+n|0;if(q>>>0>=(c[u>>2]|0)>>>0?!(TR(G,q)|0):0)n=(c[u>>2]|0)-(c[H>>2]|0)|0;nS(G);B=(o|0)==0;z=r&65535;A=B?z:n;w=C?p>>>1&1|2:0;x=x?w:w+2|0;v=F>>>1;p=I?(y?3:4):0;q=w<<2;n=x<<2;x=(x+(I?(L?0:p):0)<<2)+(L?p:0)|0;y=D+48|0;u=C&(c[y>>2]|0)>-1;k=D+52|0;s=(F|0)!=0&(c[k>>2]|0)>-1;t=D+56|0;r=I&(c[t>>2]|0)>-1;sS(i,D);do if(m|0){I=G+132|0;Tf(34962,c[G+120+((d[I>>0]|0)<<2)>>2]|0);a[I>>0]=a[I>>0]^1;Tf(34963,c[G+128>>2]|0);tS(O(z,x)|0,m,A<<1,o);if(u){tg(c[y>>2]|0);mh(c[y>>2]|0,w|0,5126,0,x|0,0)}if(s){tg(c[k>>2]|0);mh(c[k>>2]|0,v|0,5126,0,x|0,q|0)}if(!r){FS(K,i,h);g[J>>2]=+(d[K>>0]|0)/255.0;g[J+4>>2]=+(d[K+1>>0]|0)/255.0;g[J+8>>2]=+(d[K+2>>0]|0)/255.0;g[J+12>>2]=+(d[K+3>>0]|0)/255.0;pR(f,c[t>>2]|0,4,J);break}tg(c[t>>2]|0);q=c[t>>2]|0;if(L){mh(q|0,p|0,5121,1,x|0,n|0);break}else{mh(q|0,p|0,5126,0,x|0,n|0);break}}while(0);uS(G,A);if(B)qg(j|0,0,A|0);else rg(j|0,A|0,5123,0);if(u)pg(c[y>>2]|0);if(s)pg(c[k>>2]|0);if(r)pg(c[t>>2]|0);vS(G);b[E>>1]=0;c[H>>2]=0;rS(a[i+26>>0]|0);break}oO(382196,3,380978,s)}while(0);l=M;return}function GQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;if(d|0){f=c[d+8>>2]|0;if(f|0?zS(c[(c[b+56>>2]|0)+104>>2]|0,f)|0:0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);BS(b,d);Ag(3553);a[d+40>>0]=1;Ig(3553,10241,e|0);if((c[e>>2]|0)==9729)Ug(3553,10241,9985)}l=g;return}function HQ(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;if(!e){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0}else{if(zS(c[(c[d+56>>2]|0)+104>>2]|0,e)|0)fi[c[(c[d+72>>2]|0)+164>>2]&511](d);a[e+26>>0]=1;d=e+28|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];g[d>>2]=+(f<<16>>16);g[e+32>>2]=+(h<<16>>16);g[e+36>>2]=+(i&65535);g[e+40>>2]=+(j&65535)}return}function IQ(b,d){b=b|0;d=d|0;if(d|0){if(zS(c[(c[b+56>>2]|0)+104>>2]|0,d)|0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);a[d+26>>0]=0}return}function JQ(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=n+4|0;c[k>>2]=0;if((((((f|0)!=0?(c[f>>2]|0)==(d|0):0)?(i=g<<16>>16,g<<16>>16>=0):0)?(j=h<<16>>16,h<<16>>16>=0):0)?(i|0)<(e[f+16>>1]|0|0):0)?(j|0)<(e[f+18>>1]|0|0):0){if(zS(c[(c[d+56>>2]|0)+104>>2]|0,f)|0)fi[c[(c[d+72>>2]|0)+164>>2]&511](d);if(PR(d,f)|0){d=c[(c[f+12>>2]|0)+8>>2]|0;Pg(i|0,j|0,1,1,d|0,5121,m|0);CS(k,d,m);d=c[k>>2]|0}else d=0}else d=0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;l=n;return}function KQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;f=i+8|0;a:do if(!d)oO(382141,5,382003,i);else{if((c[d>>2]|0)!=(b|0)){oO(382141,3,380978,f);break}switch(e|0){case 0:{g=9728;f=9728;break}case 1:{f=9985;h=8;break}case 2:{f=9987;h=8;break}default:{c[g>>2]=e;oO(382141,3,382160,g);break a}}if((h|0)==8){g=9729;f=(a[d+40>>0]|0)==0?9729:f}AS(b,d);BS(b,d);c[d+84>>2]=e;Ug(3553,10241,f|0);Ug(3553,10240,g|0)}while(0);l=i;return}function LQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+40|0;i=k+32|0;h=k+24|0;g=k+16|0;f=k+8|0;a:do if(!b)oO(381987,5,382003,k);else{if((c[b>>2]|0)!=(a|0)){oO(381987,3,380978,f);break}switch(d|0){case 0:{g=33071;break}case 1:{g=10497;break}case 2:{if(!(c[a+52>>2]&2048)){oO(381987,1,382009,g);break a}else g=33648;break}default:{c[h>>2]=d;oO(381987,3,382059,h);break a}}switch(e|0){case 0:{f=33071;break}case 1:{f=10497;break}case 2:{if(!(c[a+52>>2]&2048)){oO(381987,1,382009,i);break a}else f=33648;break}default:{c[j>>2]=e;oO(381987,3,382100,j);break a}}AS(a,b);BS(a,b);c[b+92>>2]=d;c[b+96>>2]=e;Ug(3553,10242,g|0);Ug(3553,10243,f|0)}while(0);l=k;return}function MQ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if(d|0?(c[d>>2]|0)==(b|0):0){OR(b,d);if(zS(c[(c[b+56>>2]|0)+104>>2]|0,d)|0)fi[c[(c[b+72>>2]|0)+164>>2]&511](b);if(PR(b,d)|0){mS(b,d);cg(+(+(e&255)/255.0),+(+(f&255)/255.0),+(+(g&255)/255.0),+(+(h&255)/255.0));bg(16640);rS(a[d+26>>0]|0)}}return}function NQ(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=d+56|0;g=c[f>>2]|0;if((g|0?(k=c[g+104>>2]|0,l=c[k+164>>2]|0,m=l+104|0,b[m>>1]|0):0)?(j=c[l+96>>2]|0,j|0):0){jS(j);kS(j);lS(c[(c[f>>2]|0)+104>>2]|0);mS(d,j);nS(l);d=c[l+100>>2]|0;f=c[l+108>>2]|0;g=b[m>>1]|0;if(a[l+4>>0]|0){if(g<<16>>16){i=f;f=g&65535;while(1){g=oS(l,f)|0;f=(f|0)>(g|0)?f:g;g=(f*3|0)>>>1;pS(j,k,f&65535,d,g,i);h=(e[m>>1]|0)-f|0;n=h&65535;b[m>>1]=n;if(!(n<<16>>16))break;else{d=d+(f<<3<<2)|0;i=i+(g<<1)|0;f=h&65535}}}}else qS(j,k,g,d,c[l+112>>2]|0,f);b[m>>1]=0;c[l+112>>2]=0;rS(a[j+26>>0]|0)}return}function OQ(a,b){a=a|0;b=b|0;var d=0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);if(b|0?c[b+104>>2]|0:0){OR(a,b);b=c[(c[(c[a+56>>2]|0)+104>>2]|0)+8>>2]|0;a=c[104297]|0;a:do if((a|0)!=0?(d=c[a+272>>2]|0,(d|0)!=0):0)while(1){if((c[d+4>>2]|0)==(b|0))break a;d=c[d+152>>2]|0;if(!d){d=0;break}}else d=0;while(0);SV(d)}return}function PQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;a=B2((dS(d)|0)+1|0)|0;f=eS(d,a)|0;if(e)Rh[c[d+16>>2]&511](d)|0;if(!f){oO(381700,2,381718,g);v4(434221,256,381747,g+8|0);C2(a);a=0}else{e=fS(b,a)|0;C2(a);a=e}l=g;return a|0}function QQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h;f=r4(d)|0;if(!f)e=0;else{do if(d){e=B2(36)|0;if(!e){vV(392416,g);e=0;break}else{c[e>>2]=415;c[e+4>>2]=12;c[e+8>>2]=13;c[e+12>>2]=14;c[e+16>>2]=416;c[e+24>>2]=d;c[e+28>>2]=d;c[e+32>>2]=d+f;c[e+20>>2]=5;break}}else{c[e>>2]=406166;vV(406140,e);e=0}while(0);e=Uh[c[(c[a+72>>2]|0)+180>>2]&63](a,b,e,1)|0}l=h;return e|0}function RQ(a){a=a|0;if(aS(c[a+52>>2]|0,768)|0)a=eg()|0;else a=0;return a|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=f+4|0;if(aS(c[a+52>>2]|0,768)|0){Sf(b|0,0,381667);Ng(b|0);Eg(b|0,35714,d|0);if(!(c[d>>2]|0)){oO(381678,1,387479,e);Dg(b|0,256,0,434221);ig(b|0);a=0}else a=1}else a=0;l=f;return a|0}function TQ(a,b){a=a|0;b=b|0;if(aS(c[a+52>>2]|0,768)|0)jg(b|0);return}function UQ(a,b){a=a|0;b=b|0;if(aS(c[a+52>>2]|0,768)|0)ig(b|0);return}function VQ(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0)Rf(b|0,d|0);return}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0)ng(b|0,d|0);return}function XQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[a+56>>2]|0;do if(aS(c[a+52>>2]|0,768)|0){e=e+104|0;if(!b){f=c[e>>2]|0;g=c[f+36>>2]|0;if((g|0)==(c[f+40>>2]|0))break;b=c[f+44>>2]|0;if((g|0)==(b|0))break}fi[c[(c[a+72>>2]|0)+164>>2]&511](a);hh(b|0);f=c[e>>2]|0;if(d|0){h=f+48|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];h=13;break}if((b|0)==(c[f+40>>2]|0)){h=f+48|0;d=f+64|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];h=13;break}if((b|0)==(c[f+44>>2]|0)){h=f+48|0;d=f+80|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];h=13;break}else{h=f+48|0;c[h>>2]=-1;c[h+4>>2]=-1;c[h+8>>2]=-1;c[h+12>>2]=-1;h=13;break}}else{e=e+104|0;h=13}while(0);if((h|0)==13)c[(c[e>>2]|0)+36>>2]=b;return}function YQ(a){a=a|0;si[c[(c[a+72>>2]|0)+204>>2]&127](a,0,0);return}function ZQ(a){a=a|0;return 434221}function _Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(aS(c[a+52>>2]|0,768)|0?(e=cS(c[(c[(c[a+56>>2]|0)+104>>2]|0)+40>>2]|0,b)|0,(e|0)!=0):0)a=Bg(e|0,d|0)|0;else a=-1;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(aS(c[a+52>>2]|0,768)|0?(e=cS(c[(c[(c[a+56>>2]|0)+104>>2]|0)+40>>2]|0,b)|0,(e|0)!=0):0)a=Jg(e|0,d|0)|0;else a=-1;return a|0}function aR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=cS(c[(c[(c[b+56>>2]|0)+104>>2]|0)+40>>2]|0,d)|0;if((i|0)!=0?aS(c[b+52>>2]|0,768)|0:0){if(!e)d=-1;else d=Th[c[(c[b+72>>2]|0)+216>>2]&63](b,i,e)|0;if(!f)f=-1;else f=Th[c[(c[b+72>>2]|0)+216>>2]&63](b,i,f)|0;if(!g)e=-1;else e=Th[c[(c[b+72>>2]|0)+216>>2]&63](b,i,g)|0;if(!h){g=d;d=-1}else{g=d;d=Th[c[(c[b+72>>2]|0)+220>>2]&63](b,i,h)|0}}else{g=-1;f=-1;e=-1;d=-1}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=e;c[a+12>>2]=d;return}function bR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),!((e|0)<0?1:(c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0)==0)):0){if(!b)a=0;else a=c[(c[b+100>>2]|0)+8>>2]|0;Yg(d|0,e|0);Qf(e+33984|0);Wf(3553,a|0);if(e|0)Qf(33984)}return}function cR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(aS(c[a+52>>2]|0,768)|0?(f=cS(c[(c[(c[a+56>>2]|0)+104>>2]|0)+40>>2]|0,b)|0,f|0):0)Lg(f|0,d|0,e|0);return}function dR(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)Yg(b|0,d|0);return}function eR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{Zg(b|0,e|0,f|0);break a}case 2:{$g(b|0,e|0,f|0);break a}case 3:{bh(b|0,e|0,f|0);break a}case 4:{dh(b|0,e|0,f|0);break a}default:break a}while(0);return}function fR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(aS(c[a+52>>2]|0,768)|0?(f=cS(c[(c[(c[a+56>>2]|0)+104>>2]|0)+40>>2]|0,b)|0,f|0):0)Lg(f|0,d|0,e|0);return}function gR(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)Yg(b|0,d|0);return}function hR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{Zg(b|0,e|0,f|0);break a}case 2:{$g(b|0,e|0,f|0);break a}case 3:{bh(b|0,e|0,f|0);break a}case 4:{dh(b|0,e|0,f|0);break a}default:break a}while(0);return}function iR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(aS(c[a+52>>2]|0,768)|0?(f=cS(c[(c[(c[a+56>>2]|0)+104>>2]|0)+40>>2]|0,b)|0,f|0):0)Kg(f|0,d|0,e|0);return}function jR(a,b,d){a=a|0;b=b|0;d=+d;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)Wg(b|0,+d);return}function kR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{Xg(b|0,e|0,f|0);break a}case 2:{_g(b|0,e|0,f|0);break a}case 3:{ah(b|0,e|0,f|0);break a}case 4:{ch(b|0,e|0,f|0);break a}default:break a}while(0);return}function lR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=g&1;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0){if((e+-2|0)>>>0>2|(f+-2|0)>>>0>2){c[i>>2]=e;c[i+4>>2]=f;oO(381548,2,381571,i);break}if((e|0)!=(f|0)){c[j>>2]=e;c[j+4>>2]=f;oO(381548,2,381604,j);break}switch(e|0){case 2:{eh(b|0,d|0,g|0,h|0);break a}case 3:{fh(b|0,d|0,g|0,h|0);break a}case 4:{gh(b|0,d|0,g|0,h|0);break a}default:break a}}while(0);l=k;return}function mR(a,b,d){a=a|0;b=b|0;d=+d;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)ih(b|0,+d);return}function nR(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)ih(b|0,+(+(d|0)));return}function oR(a,b,d){a=a|0;b=b|0;d=d|0;if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)ih(b|0,+(+(d>>>0)));return}function pR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{ih(b|0,+(+g[e>>2]));break a}case 2:{jh(b|0,+(+g[e>>2]),+(+g[e+4>>2]));break a}case 3:{kh(b|0,+(+g[e>>2]),+(+g[e+4>>2]),+(+g[e+8>>2]));break a}case 4:{lh(b|0,+(+g[e>>2]),+(+g[e+4>>2]),+(+g[e+8>>2]),+(+g[e+12>>2]));break a}default:break a}while(0);return}function qR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{ih(b|0,+(+(c[e>>2]|0)));break a}case 2:{jh(b|0,+(+(c[e>>2]|0)),+(+(c[e+4>>2]|0)));break a}case 3:{kh(b|0,+(+(c[e>>2]|0)),+(+(c[e+4>>2]|0)),+(+(c[e+8>>2]|0)));break a}case 4:{lh(b|0,+(+(c[e>>2]|0)),+(+(c[e+4>>2]|0)),+(+(c[e+8>>2]|0)),+(+(c[e+12>>2]|0)));break a}default:break a}while(0);return}function rR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(aS(c[a+52>>2]|0,768)|0?(fi[c[(c[a+72>>2]|0)+164>>2]&511](a),c[(c[(c[a+56>>2]|0)+104>>2]|0)+36>>2]|0):0)switch(d|0){case 1:{ih(b|0,+(+((c[e>>2]|0)>>>0)));break a}case 2:{jh(b|0,+(+((c[e>>2]|0)>>>0)),+(+((c[e+4>>2]|0)>>>0)));break a}case 3:{kh(b|0,+(+((c[e>>2]|0)>>>0)),+(+((c[e+4>>2]|0)>>>0)),+(+((c[e+8>>2]|0)>>>0)));break a}case 4:{lh(b|0,+(+((c[e>>2]|0)>>>0)),+(+((c[e+4>>2]|0)>>>0)),+(+((c[e+8>>2]|0)>>>0)),+(+((c[e+12>>2]|0)>>>0)));break a}default:break a}while(0);return}function sR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(aS(c[b+52>>2]|0,768)|0?(h=c[e>>2]|0,h>>>0<=15):0){NQ(b);g=c[(c[(c[b+56>>2]|0)+104>>2]|0)+164>>2]|0;if(!(a[e+8>>0]|0)){b=g+136+(h*60|0)+20|0;f=g+136+(h*60|0)+24|0;if((c[b>>2]|0)>0){C2(c[f>>2]|0);c[f>>2]=0;c[b>>2]=0}a[g+136+(h*60|0)>>0]=0;b=g+136+(h*60|0)+28|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];c[b+20>>2]=c[e+20>>2];c[b+24>>2]=c[e+24>>2];c[b+28>>2]=c[e+28>>2];b=c[e+4>>2]|0;c[f>>2]=b;c[g+136+(h*60|0)+4>>2]=d;c[g+136+(h*60|0)+12>>2]=c[e+24>>2];c[g+136+(h*60|0)+16>>2]=c[e+28>>2]}else{c[g+136+(h*60|0)+16>>2]=0;f=c[e+12>>2]|0;f=O(bS(c[e+16>>2]|0)|0,f)|0;c[g+136+(h*60|0)+12>>2]=f;b=d<<2;c[g+136+(h*60|0)+4>>2]=b;b=O(f,b)|0;f=g+136+(h*60|0)+20|0;d=g+136+(h*60|0)+24|0;if((c[f>>2]|0)<(b|0)){C2(c[d>>2]|0);i=B2(b)|0;c[d>>2]=i;c[f>>2]=b;b=i}else b=c[d>>2]|0;a[g+136+(h*60|0)>>0]=0;i=g+136+(h*60|0)+28|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[i+20>>2]=c[e+20>>2];c[i+24>>2]=c[e+24>>2];c[i+28>>2]=c[e+28>>2]}c[g+136+(h*60|0)+8>>2]=b}return}function tR(a,b){a=a|0;b=+b;var d=0.0,e=0,f=0;f=a+56|0;e=c[f>>2]|0;if(!e)d=1.0;else{e=c[e+104>>2]|0;d=+g[e+124>>2];if(d!=b){fi[c[(c[a+72>>2]|0)+164>>2]&511](a);e=c[(c[f>>2]|0)+104>>2]|0}g[e+124>>2]=b;Mg(+b)}return +d}function uR(a){a=a|0;return +(+g[(c[(c[a+56>>2]|0)+104>>2]|0)+124>>2])}function vR(f,h,i,j,k){f=f|0;h=h|0;i=+i;j=+j;k=k|0;var m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0;v=l;l=l+32|0;o=v+24|0;n=v+16|0;m=v+8|0;do if(!h)oO(381538,5,380971,v);else{if((c[h>>2]|0)!=(f|0)){oO(381538,3,380978,m);break}OR(f,h);m=f+56|0;if(!(c[m>>2]|0)){oO(381538,3,380998,n);break}if(!(PR(f,h)|0)){oO(381538,1,381011,o);break}QR(f,h);RR(f,0);n=c[(c[(c[m>>2]|0)+104>>2]|0)+164>>2]|0;u=n+104|0;m=(e[u>>1]|0)+1|0;if(m>>>0>=(e[n+106>>1]|0)>>>0?!(SR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);t=n+112|0;m=(c[t>>2]|0)+1|0;if(m>>>0>=(c[n+116>>2]|0)>>>0?!(TR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);f=c[n+100>>2]|0;m=c[n+108>>2]|0;n=b[u>>1]|0;o=(n&65535)<<3;r=+(d[k+3>>0]|0);s=+(d[k+2>>0]|0);q=+(d[k+1>>0]|0);p=+(d[k>>0]|0);if(a[h+44>>0]|0){r=r*(+(d[h+48>>0]|0)/255.0);s=s*(+(d[h+47>>0]|0)/255.0);q=q*(+(d[h+46>>0]|0)/255.0);p=p*(+(d[h+45>>0]|0)/255.0)}g[f+(o<<2)>>2]=i;g[f+((o|1)<<2)>>2]=j;g[f+((o|4)<<2)>>2]=p/255.0;g[f+((o|5)<<2)>>2]=q/255.0;g[f+((o|6)<<2)>>2]=s/255.0;g[f+((o|7)<<2)>>2]=r/255.0;b[u>>1]=n+1<<16>>16;h=c[t>>2]|0;c[t>>2]=h+1;b[m+(h<<1)>>1]=n}while(0);l=v;return}function wR(f,h,i,j,k,m,n){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=n|0;var o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0;B=l;l=l+32|0;q=B+24|0;p=B+16|0;o=B+8|0;u=+uR(f)*.5;A=+K(+(m-j),+(k-i));z=u*+E(+A);A=u*+F(+A);do if(!h)oO(381529,5,380971,B);else{if((c[h>>2]|0)!=(f|0)){oO(381529,3,380978,o);break}OR(f,h);o=f+56|0;if(!(c[o>>2]|0)){oO(381529,3,380998,p);break}if(!(PR(f,h)|0)){oO(381529,1,381011,q);break}QR(f,h);RR(f,4);p=c[(c[(c[o>>2]|0)+104>>2]|0)+164>>2]|0;y=p+104|0;o=(e[y>>1]|0)+4|0;if(o>>>0>=(e[p+106>>1]|0)>>>0?!(SR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=p+112|0;o=(c[x>>2]|0)+6|0;if(o>>>0>=(c[p+116>>2]|0)>>>0?!(TR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);w=c[p+100>>2]|0;o=c[p+108>>2]|0;p=b[y>>1]|0;q=p&65535;f=q<<3;v=f|4;t=+(d[n+3>>0]|0);s=+(d[n+1>>0]|0);r=+(d[n>>0]|0);u=+(d[n+2>>0]|0);if(a[h+44>>0]|0){t=t*(+(d[h+48>>0]|0)/255.0);u=u*(+(d[h+47>>0]|0)/255.0);s=s*(+(d[h+46>>0]|0)/255.0);r=r*(+(d[h+45>>0]|0)/255.0)}t=t/255.0;u=u/255.0;s=s/255.0;r=r/255.0;g[w+(f<<2)>>2]=A+i;g[w+((f|1)<<2)>>2]=j-z;g[w+(v<<2)>>2]=r;g[w+((f|5)<<2)>>2]=s;g[w+((f|6)<<2)>>2]=u;g[w+((f|7)<<2)>>2]=t;b[y>>1]=p+1<<16>>16;h=c[x>>2]|0;b[o+(h<<1)>>1]=p;g[w+(f+8<<2)>>2]=i-A;g[w+(f+9<<2)>>2]=z+j;g[w+(v+8<<2)>>2]=r;g[w+(v+9<<2)>>2]=s;g[w+(v+10<<2)>>2]=u;g[w+(v+11<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;b[o+(h+1<<1)>>1]=n;g[w+(f+16<<2)>>2]=A+k;g[w+(f+17<<2)>>2]=m-z;g[w+(v+16<<2)>>2]=r;g[w+(v+17<<2)>>2]=s;g[w+(v+18<<2)>>2]=u;g[w+(v+19<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;b[o+(h+2<<1)>>1]=n;b[o+(h+3<<1)>>1]=q+1;b[o+(h+4<<1)>>1]=q+2;g[w+(f+24<<2)>>2]=k-A;g[w+(f+25<<2)>>2]=z+m;g[w+(v+24<<2)>>2]=r;g[w+(v+25<<2)>>2]=s;g[w+(v+26<<2)>>2]=u;g[w+(v+27<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;c[x>>2]=h+6;b[o+(h+5<<1)>>1]=n}while(0);l=B;return}function xR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0,Y=0;X=l;l=l+32|0;q=X+28|0;w=X+24|0;v=X+16|0;u=X+8|0;r=X;W=+uR(f)*.5;V=k-W;W=W+k;V=V<0.0?0.0:V;U=m>n;p=U?m:n;m=U?n:m;do if(!(m==p)){if(p-m>=360.0){a[q>>0]=a[o>>0]|0;a[q+1>>0]=a[o+1>>0]|0;a[q+2>>0]=a[o+2>>0]|0;a[q+3>>0]=a[o+3>>0]|0;zR(f,h,i,j,k,q);break}if(p<0.0&m<0.0)do{m=m+360.0;p=p+360.0}while(p<0.0&m<0.0);if(p>360.0&m>360.0)do{m=m+-360.0;p=p+-360.0}while(p>360.0&m>360.0);P=p-m;G=P/360.0*(1.25/+C(+W));Q=~~(+B(+P)*3.141592653589793/180.0/G);if(Q|0){if(!h){oO(381521,5,380971,r);break}if((c[h>>2]|0)!=(f|0)){oO(381521,3,380978,u);break}OR(f,h);q=f+56|0;if(!(c[q>>2]|0)){oO(381521,3,380998,v);break}if(!(PR(f,h)|0)){oO(381521,1,381011,w);break}QR(f,h);RR(f,4);r=c[(c[(c[q>>2]|0)+104>>2]|0)+164>>2]|0;U=r+104|0;q=(e[U>>1]|0)+(Q<<1)|0;if((q|0)>=(e[r+106>>1]|0)?!(SR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);T=r+112|0;M=Q*6|0;q=(c[T>>2]|0)+M|0;if(q>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);S=c[r+100>>2]|0;R=c[r+108>>2]|0;q=b[U>>1]|0;H=(q&65535)<<3;A=H|4;t=+(d[o+1>>0]|0);n=+(d[o+3>>0]|0);s=+(d[o>>0]|0);k=+(d[o+2>>0]|0);if(a[h+44>>0]|0){n=n*(+(d[h+48>>0]|0)/255.0);k=k*(+(d[h+47>>0]|0)/255.0);t=t*(+(d[h+46>>0]|0)/255.0);s=s*(+(d[h+45>>0]|0)/255.0)}P=n/255.0;O=k/255.0;N=t/255.0;t=s/255.0;s=+E(+G);k=+F(+G);n=m*.017453292519943295;m=+E(+n);n=+F(+n);g[S+(H<<2)>>2]=V*m+i;g[S+((H|1)<<2)>>2]=V*n+j;g[S+(A<<2)>>2]=t;g[S+((H|5)<<2)>>2]=N;g[S+((H|6)<<2)>>2]=O;g[S+((H|7)<<2)>>2]=P;b[U>>1]=q+1<<16>>16;x=c[T>>2]|0;b[R+(x<<1)>>1]=q;g[S+(H+8<<2)>>2]=W*m+i;g[S+(H+9<<2)>>2]=W*n+j;g[S+(A+8<<2)>>2]=t;g[S+(A+9<<2)>>2]=N;g[S+(A+10<<2)>>2]=O;g[S+(A+11<<2)>>2]=P;D=b[U>>1]|0;b[U>>1]=D+1<<16>>16;q=x+2|0;c[T>>2]=q;b[R+(x+1<<1)>>1]=D;x=A+16|0;D=H+16|0;r=A+17|0;u=H+17|0;v=A+18|0;w=A+19|0;f=A+24|0;o=A+27|0;h=H+24|0;y=H+25|0;z=A+25|0;A=A+26|0;if((Q|0)>1){L=(Q<<4)+H|0;K=L|1;J=L+8|0;I=1;H=q;while(1){G=m;m=s*m-k*n;n=s*n+k*G;g[S+(D<<2)>>2]=V*m+i;g[S+(u<<2)>>2]=V*n+j;g[S+(x<<2)>>2]=t;g[S+(r<<2)>>2]=N;g[S+(v<<2)>>2]=O;g[S+(w<<2)>>2]=P;Y=b[U>>1]|0;b[U>>1]=Y+1<<16>>16;b[R+(H<<1)>>1]=Y;b[R+(H+1<<1)>>1]=(e[U>>1]|0)+65534;g[S+(h<<2)>>2]=W*m+i;g[S+(y<<2)>>2]=W*n+j;g[S+(f<<2)>>2]=t;g[S+(z<<2)>>2]=N;g[S+(A<<2)>>2]=O;g[S+(o<<2)>>2]=P;Y=b[U>>1]|0;b[U>>1]=Y+1<<16>>16;b[R+(H+2<<1)>>1]=Y;b[R+(H+3<<1)>>1]=(e[U>>1]|0)+65534;b[R+(H+4<<1)>>1]=(e[U>>1]|0)+65534;b[R+(H+5<<1)>>1]=(e[U>>1]|0)+65535;I=I+1|0;r=x+17|0;u=D+17|0;v=x+18|0;w=x+19|0;f=x+24|0;o=x+27|0;h=D+24|0;y=D+25|0;z=x+25|0;A=x+26|0;if((I|0)==(Q|0))break;else{x=x+16|0;D=D+16|0;H=H+6|0}}q=q+M+-6|0;c[T>>2]=q;x=L|4;D=L;A=L+14|0;z=L+13|0;y=L+9|0;h=J;o=L+15|0;f=L+12|0;w=L|7;v=L|6;u=K;r=L|5}G=p*.017453292519943295;s=+E(+G);G=+F(+G);g[S+(D<<2)>>2]=V*s+i;g[S+(u<<2)>>2]=V*G+j;g[S+(x<<2)>>2]=t;g[S+(r<<2)>>2]=N;g[S+(v<<2)>>2]=O;g[S+(w<<2)>>2]=P;Y=b[U>>1]|0;b[U>>1]=Y+1<<16>>16;b[R+(q<<1)>>1]=Y;b[R+(q+1<<1)>>1]=(e[U>>1]|0)+65534;g[S+(h<<2)>>2]=W*s+i;g[S+(y<<2)>>2]=W*G+j;g[S+(f<<2)>>2]=t;g[S+(z<<2)>>2]=N;g[S+(A<<2)>>2]=O;g[S+(o<<2)>>2]=P;Y=b[U>>1]|0;b[U>>1]=Y+1<<16>>16;b[R+(q+2<<1)>>1]=Y;Y=(e[U>>1]|0)+65534&65535;c[T>>2]=q+4;b[R+(q+3<<1)>>1]=Y}}while(0);l=X;return}function yR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0,D=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+32|0;q=T+28|0;x=T+24|0;w=T+16|0;v=T+8|0;r=T;S=m>n;p=S?m:n;m=S?n:m;do if(!(m==p)){if(p-m>=360.0){a[q>>0]=a[o>>0]|0;a[q+1>>0]=a[o+1>>0]|0;a[q+2>>0]=a[o+2>>0]|0;a[q+3>>0]=a[o+3>>0]|0;AR(f,h,i,j,k,q);break}if(p<0.0&m<0.0)do{m=m+360.0;p=p+360.0}while(p<0.0&m<0.0);if(p>360.0&m>360.0)do{m=m+-360.0;p=p+-360.0}while(p>360.0&m>360.0);L=p-m;z=L/360.0*(1.25/+C(+k));P=~~(+B(+L)*3.141592653589793/180.0/z);if(P|0){if(!h){oO(381507,5,380971,r);break}if((c[h>>2]|0)!=(f|0)){oO(381507,3,380978,v);break}OR(f,h);q=f+56|0;if(!(c[q>>2]|0)){oO(381507,3,380998,w);break}if(!(PR(f,h)|0)){oO(381507,1,381011,x);break}QR(f,h);RR(f,4);r=c[(c[(c[q>>2]|0)+104>>2]|0)+164>>2]|0;S=r+104|0;q=P+3+(e[S>>1]|0)|0;if((q|0)>=(e[r+106>>1]|0)?!(SR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);R=r+112|0;M=P*3|0;q=M+3+(c[R>>2]|0)|0;if(q>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);Q=c[r+100>>2]|0;N=c[r+108>>2]|0;O=b[S>>1]|0;K=O&65535;y=K<<3;x=y|4;t=+(d[o>>0]|0);s=+(d[o+3>>0]|0);u=+(d[o+1>>0]|0);n=+(d[o+2>>0]|0);if(a[h+44>>0]|0){s=s*(+(d[h+48>>0]|0)/255.0);n=n*(+(d[h+47>>0]|0)/255.0);u=u*(+(d[h+46>>0]|0)/255.0);t=t*(+(d[h+45>>0]|0)/255.0)}L=s/255.0;J=n/255.0;I=u/255.0;u=t/255.0;t=+E(+z);s=+F(+z);n=m*.017453292519943295;z=+E(+n);n=+F(+n);g[Q+(y<<2)>>2]=i;g[Q+((y|1)<<2)>>2]=j;g[Q+(x<<2)>>2]=u;g[Q+((y|5)<<2)>>2]=I;g[Q+((y|6)<<2)>>2]=J;g[Q+((y|7)<<2)>>2]=L;b[S>>1]=O+1<<16>>16;A=c[R>>2]|0;b[N+(A<<1)>>1]=O;g[Q+(y+8<<2)>>2]=z*k+i;g[Q+(y+9<<2)>>2]=n*k+j;g[Q+(x+8<<2)>>2]=u;g[Q+(x+9<<2)>>2]=I;g[Q+(x+10<<2)>>2]=J;g[Q+(x+11<<2)>>2]=L;o=b[S>>1]|0;b[S>>1]=o+1<<16>>16;b[N+(A+1<<1)>>1]=o;m=t*z-s*n;n=s*z+t*n;g[Q+(y+16<<2)>>2]=m*k+i;g[Q+(y+17<<2)>>2]=n*k+j;g[Q+(x+16<<2)>>2]=u;g[Q+(x+17<<2)>>2]=I;g[Q+(x+18<<2)>>2]=J;g[Q+(x+19<<2)>>2]=L;o=b[S>>1]|0;b[S>>1]=o+1<<16>>16;q=A+3|0;c[R>>2]=q;b[N+(A+2<<1)>>1]=o;o=y+24|0;h=x+24|0;r=y+25|0;v=x+27|0;w=x+25|0;x=x+26|0;f=K+2&65535;if((P|0)>=2){G=(P<<3)+y|0;H=G+17|0;D=P+65534&65535;y=2;while(1){z=m;m=t*m-s*n;n=t*n+s*z;b[N+(q<<1)>>1]=O;b[N+(q+1<<1)>>1]=f;g[Q+(o<<2)>>2]=m*k+i;g[Q+(r<<2)>>2]=n*k+j;g[Q+(h<<2)>>2]=u;g[Q+(w<<2)>>2]=I;g[Q+(x<<2)>>2]=J;g[Q+(v<<2)>>2]=L;f=b[S>>1]|0;b[S>>1]=f+1<<16>>16;b[N+(q+2<<1)>>1]=f;f=y+1|0;r=o+9|0;v=h+11|0;w=h+9|0;x=h+10|0;if((y|0)==(P|0))break;else{h=h+8|0;o=o+8|0;y=f;q=q+3|0;f=f+K&65535}}q=A+M|0;c[R>>2]=q;h=G+20|0;o=G+16|0;f=(O+D<<16>>16)+3<<16>>16;x=G+22|0;w=G+21|0;v=G+23|0;r=H}z=p*.017453292519943295;t=+E(+z);z=+F(+z);b[N+(q<<1)>>1]=O;b[N+(q+1<<1)>>1]=f;g[Q+(o<<2)>>2]=t*k+i;g[Q+(r<<2)>>2]=z*k+j;g[Q+(h<<2)>>2]=u;g[Q+(w<<2)>>2]=I;g[Q+(x<<2)>>2]=J;g[Q+(v<<2)>>2]=L;Q=b[S>>1]|0;b[S>>1]=Q+1<<16>>16;c[R>>2]=q+3;b[N+(q+2<<1)>>1]=Q}}while(0);l=T;return}function zR(f,h,i,j,k,m){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=m|0;var n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,D=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0,N=0;M=l;l=l+32|0;p=M+24|0;o=M+16|0;n=M+8|0;L=+uR(f)*.5;B=k-L;L=L+k;K=1.25/+C(+L);I=~~(6.283185307179586/K+1.0);J=+E(+K);K=+F(+K);do if(!h)oO(381496,5,380971,M);else{if((c[h>>2]|0)!=(f|0)){oO(381496,3,380978,n);break}OR(f,h);n=f+56|0;if(!(c[n>>2]|0)){oO(381496,3,380998,o);break}if(!(PR(f,h)|0)){oO(381496,1,381011,p);break}QR(f,h);RR(f,4);o=c[(c[(c[n>>2]|0)+104>>2]|0)+164>>2]|0;H=o+104|0;n=(e[H>>1]|0)+(I<<1)|0;if((n|0)>=(e[o+106>>1]|0)?!(SR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);G=o+112|0;D=I*6|0;n=(c[G>>2]|0)+D|0;if(n>>>0>=(c[o+116>>2]|0)>>>0?!(TR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=c[o+100>>2]|0;y=c[o+108>>2]|0;z=b[H>>1]|0;A=z&65535;o=A<<3;t=o|4;r=+(d[m+2>>0]|0);k=+(d[m+3>>0]|0);s=+(d[m+1>>0]|0);q=+(d[m>>0]|0);if(a[h+44>>0]|0){k=k*(+(d[h+48>>0]|0)/255.0);r=r*(+(d[h+47>>0]|0)/255.0);s=s*(+(d[h+46>>0]|0)/255.0);q=q*(+(d[h+45>>0]|0)/255.0)}w=k/255.0;v=r/255.0;u=s/255.0;s=q/255.0;r=B<0.0?0.0:B;g[x+(o<<2)>>2]=r+i;g[x+((o|1)<<2)>>2]=r*0.0+j;g[x+(t<<2)>>2]=s;g[x+((o|5)<<2)>>2]=u;g[x+((o|6)<<2)>>2]=v;g[x+((o|7)<<2)>>2]=w;b[H>>1]=z+1<<16>>16;h=c[G>>2]|0;b[y+(h<<1)>>1]=z;g[x+(o+8<<2)>>2]=L+i;g[x+(o+9<<2)>>2]=L*0.0+j;g[x+(t+8<<2)>>2]=s;g[x+(t+9<<2)>>2]=u;g[x+(t+10<<2)>>2]=v;g[x+(t+11<<2)>>2]=w;m=b[H>>1]|0;b[H>>1]=m+1<<16>>16;n=h+2|0;c[G>>2]=n;b[y+(h+1<<1)>>1]=m;if((I|0)>1){k=0.0;p=1;q=1.0;f=n;while(1){h=t;t=t+16|0;m=o;o=o+16|0;B=q;q=J*q-K*k;k=J*k+K*B;g[x+(o<<2)>>2]=r*q+i;g[x+(m+17<<2)>>2]=r*k+j;g[x+(t<<2)>>2]=s;g[x+(h+17<<2)>>2]=u;g[x+(h+18<<2)>>2]=v;g[x+(h+19<<2)>>2]=w;N=b[H>>1]|0;b[H>>1]=N+1<<16>>16;b[y+(f<<1)>>1]=N;b[y+(f+1<<1)>>1]=(e[H>>1]|0)+65534;g[x+(m+24<<2)>>2]=L*q+i;g[x+(m+25<<2)>>2]=L*k+j;g[x+(h+24<<2)>>2]=s;g[x+(h+25<<2)>>2]=u;g[x+(h+26<<2)>>2]=v;g[x+(h+27<<2)>>2]=w;h=b[H>>1]|0;b[H>>1]=h+1<<16>>16;b[y+(f+2<<1)>>1]=h;b[y+(f+3<<1)>>1]=(e[H>>1]|0)+65534;b[y+(f+4<<1)>>1]=(e[H>>1]|0)+65534;b[y+(f+5<<1)>>1]=(e[H>>1]|0)+65535;p=p+1|0;if((p|0)==(I|0))break;else f=f+6|0}n=n+D+-6|0;c[G>>2]=n}b[y+(n<<1)>>1]=z;b[y+(n+1<<1)>>1]=(e[H>>1]|0)+65535;b[y+(n+2<<1)>>1]=A+1;c[G>>2]=n+4;b[y+(n+3<<1)>>1]=z}while(0);l=M;return}function AR(f,h,i,j,k,m){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=m|0;var n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,D=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0;K=l;l=l+32|0;p=K+24|0;o=K+16|0;n=K+8|0;J=1.25/+C(+k);H=~~(6.283185307179586/J+1.0);I=+E(+J);J=+F(+J);do if(!h)oO(381479,5,380971,K);else{if((c[h>>2]|0)!=(f|0)){oO(381479,3,380978,n);break}OR(f,h);n=f+56|0;if(!(c[n>>2]|0)){oO(381479,3,380998,o);break}if(!(PR(f,h)|0)){oO(381479,1,381011,p);break}QR(f,h);RR(f,4);o=c[(c[(c[n>>2]|0)+104>>2]|0)+164>>2]|0;D=o+104|0;n=H+1+(e[D>>1]|0)|0;if((n|0)>=(e[o+106>>1]|0)?!(SR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);G=o+112|0;B=H*3|0;n=(c[G>>2]|0)+B|0;if(n>>>0>=(c[o+116>>2]|0)>>>0?!(TR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=c[o+100>>2]|0;y=c[o+108>>2]|0;z=b[D>>1]|0;A=z&65535;f=A<<3;p=f|4;t=+(d[m+1>>0]|0);r=+(d[m>>0]|0);s=+(d[m+2>>0]|0);q=+(d[m+3>>0]|0);if(a[h+44>>0]|0){q=q*(+(d[h+48>>0]|0)/255.0);s=s*(+(d[h+47>>0]|0)/255.0);t=t*(+(d[h+46>>0]|0)/255.0);r=r*(+(d[h+45>>0]|0)/255.0)}w=q/255.0;v=s/255.0;t=t/255.0;s=r/255.0;g[x+(f<<2)>>2]=i;g[x+((f|1)<<2)>>2]=j;g[x+(p<<2)>>2]=s;g[x+((f|5)<<2)>>2]=t;g[x+((f|6)<<2)>>2]=v;g[x+((f|7)<<2)>>2]=w;b[D>>1]=z+1<<16>>16;o=c[G>>2]|0;b[y+(o<<1)>>1]=z;g[x+(f+8<<2)>>2]=i+k;g[x+(f+9<<2)>>2]=k*0.0+j;g[x+(p+8<<2)>>2]=s;g[x+(p+9<<2)>>2]=t;g[x+(p+10<<2)>>2]=v;g[x+(p+11<<2)>>2]=w;u=b[D>>1]|0;b[D>>1]=u+1<<16>>16;b[y+(o+1<<1)>>1]=u;r=I-J*0.0;q=J+I*0.0;g[x+(f+16<<2)>>2]=r*k+i;g[x+(f+17<<2)>>2]=q*k+j;g[x+(p+16<<2)>>2]=s;g[x+(p+17<<2)>>2]=t;g[x+(p+18<<2)>>2]=v;g[x+(p+19<<2)>>2]=w;u=b[D>>1]|0;b[D>>1]=u+1<<16>>16;n=o+3|0;c[G>>2]=n;b[y+(o+2<<1)>>1]=u;o=A+2&65535;if((H|0)>2){u=H+65533&65535;h=p+24|0;m=f+24|0;f=2;p=n;while(1){L=r;r=I*r-J*q;q=I*q+J*L;b[y+(p<<1)>>1]=z;b[y+(p+1<<1)>>1]=o;g[x+(m<<2)>>2]=r*k+i;g[x+(m+1<<2)>>2]=q*k+j;g[x+(h<<2)>>2]=s;g[x+(h+1<<2)>>2]=t;g[x+(h+2<<2)>>2]=v;g[x+(h+3<<2)>>2]=w;o=b[D>>1]|0;b[D>>1]=o+1<<16>>16;b[y+(p+2<<1)>>1]=o;o=f+1|0;if((o|0)==(H|0))break;else{h=h+8|0;m=m+8|0;f=o;p=p+3|0;o=o+A&65535}}n=n+B+-6|0;c[G>>2]=n;o=(z+u<<16>>16)+3<<16>>16}b[y+(n<<1)>>1]=z;b[y+(n+1<<1)>>1]=o;c[G>>2]=n+3;b[y+(n+2<<1)>>1]=A+1}while(0);l=K;return}function BR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0,W=0;V=l;l=l+32|0;r=V+24|0;q=V+16|0;p=V+8|0;I=+uR(f)*.5;J=n*3.141592653589793/180.0;O=+E(+J);J=+F(+J);v=k-I;H=I+k;u=m-I;I=I+m;U=1.25/+C(+(H>I?H:I));S=~~(6.283185307179586/U+1.0);T=+E(+U);U=+F(+U);do if(!h)oO(381467,5,380971,V);else{if((c[h>>2]|0)!=(f|0)){oO(381467,3,380978,p);break}OR(f,h);p=f+56|0;if(!(c[p>>2]|0)){oO(381467,3,380998,q);break}if(!(PR(f,h)|0)){oO(381467,1,381011,r);break}QR(f,h);RR(f,4);q=c[(c[(c[p>>2]|0)+104>>2]|0)+164>>2]|0;R=q+104|0;p=(e[R>>1]|0)+(S<<1)|0;if((p|0)>=(e[q+106>>1]|0)?!(SR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);Q=q+112|0;P=S*6|0;p=(c[Q>>2]|0)+P|0;if(p>>>0>=(c[q+116>>2]|0)>>>0?!(TR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);K=c[q+100>>2]|0;L=c[q+108>>2]|0;M=b[R>>1]|0;N=M&65535;q=N<<3;t=q|4;m=+(d[o+2>>0]|0);s=+(d[o+1>>0]|0);n=+(d[o+3>>0]|0);k=+(d[o>>0]|0);if(a[h+44>>0]|0){n=n*(+(d[h+48>>0]|0)/255.0);m=m*(+(d[h+47>>0]|0)/255.0);s=s*(+(d[h+46>>0]|0)/255.0);k=k*(+(d[h+45>>0]|0)/255.0)}G=n/255.0;D=m/255.0;B=s/255.0;A=k/255.0;w=v<0.0?0.0:v;x=u<0.0?0.0:u;u=O*w;v=J*x;w=J*w;x=O*x;y=O*H;z=I*J;s=H*J;m=O*I;g[K+(q<<2)>>2]=u-v*0.0+i;g[K+((q|1)<<2)>>2]=w+x*0.0+j;g[K+(t<<2)>>2]=A;g[K+((q|5)<<2)>>2]=B;g[K+((q|6)<<2)>>2]=D;g[K+((q|7)<<2)>>2]=G;b[R>>1]=M+1<<16>>16;h=c[Q>>2]|0;b[L+(h<<1)>>1]=M;g[K+(q+8<<2)>>2]=y-z*0.0+i;g[K+(q+9<<2)>>2]=s+m*0.0+j;g[K+(t+8<<2)>>2]=A;g[K+(t+9<<2)>>2]=B;g[K+(t+10<<2)>>2]=D;g[K+(t+11<<2)>>2]=G;o=b[R>>1]|0;b[R>>1]=o+1<<16>>16;p=h+2|0;c[Q>>2]=p;b[L+(h+1<<1)>>1]=o;if((S|0)>1){n=0.0;r=1;k=1.0;f=p;while(1){h=t;t=t+16|0;o=q;q=q+16|0;O=k;k=T*k-U*n;n=T*n+U*O;g[K+(q<<2)>>2]=u*k-v*n+i;g[K+(o+17<<2)>>2]=w*k+x*n+j;g[K+(t<<2)>>2]=A;g[K+(h+17<<2)>>2]=B;g[K+(h+18<<2)>>2]=D;g[K+(h+19<<2)>>2]=G;W=b[R>>1]|0;b[R>>1]=W+1<<16>>16;b[L+(f<<1)>>1]=W;b[L+(f+1<<1)>>1]=(e[R>>1]|0)+65534;g[K+(o+24<<2)>>2]=y*k-z*n+i;g[K+(o+25<<2)>>2]=s*k+m*n+j;g[K+(h+24<<2)>>2]=A;g[K+(h+25<<2)>>2]=B;g[K+(h+26<<2)>>2]=D;g[K+(h+27<<2)>>2]=G;h=b[R>>1]|0;b[R>>1]=h+1<<16>>16;b[L+(f+2<<1)>>1]=h;b[L+(f+3<<1)>>1]=(e[R>>1]|0)+65534;b[L+(f+4<<1)>>1]=(e[R>>1]|0)+65534;b[L+(f+5<<1)>>1]=(e[R>>1]|0)+65535;r=r+1|0;if((r|0)==(S|0))break;else f=f+6|0}p=p+P+-6|0;c[Q>>2]=p}b[L+(p<<1)>>1]=M;b[L+(p+1<<1)>>1]=(e[R>>1]|0)+65535;b[L+(p+2<<1)>>1]=N+1;c[Q>>2]=p+4;b[L+(p+3<<1)>>1]=M}while(0);l=V;return}function CR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;R=l;l=l+32|0;r=R+24|0;q=R+16|0;p=R+8|0;D=n*3.141592653589793/180.0;G=+E(+D);D=+F(+D);Q=1.25/+C(+(k>m?k:m));O=~~(6.283185307179586/Q+1.0);P=+E(+Q);Q=+F(+Q);do if(!h)oO(381449,5,380971,R);else{if((c[h>>2]|0)!=(f|0)){oO(381449,3,380978,p);break}OR(f,h);p=f+56|0;if(!(c[p>>2]|0)){oO(381449,3,380998,q);break}if(!(PR(f,h)|0)){oO(381449,1,381011,r);break}QR(f,h);RR(f,4);q=c[(c[(c[p>>2]|0)+104>>2]|0)+164>>2]|0;M=q+104|0;p=O+1+(e[M>>1]|0)|0;if((p|0)>=(e[q+106>>1]|0)?!(SR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);N=q+112|0;L=O*3|0;p=(c[N>>2]|0)+L|0;if(p>>>0>=(c[q+116>>2]|0)>>>0?!(TR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);H=c[q+100>>2]|0;I=c[q+108>>2]|0;J=b[M>>1]|0;K=J&65535;f=K<<3;r=f|4;n=+(d[o+3>>0]|0);u=+(d[o+1>>0]|0);t=+(d[o+2>>0]|0);s=+(d[o>>0]|0);if(a[h+44>>0]|0){n=n*(+(d[h+48>>0]|0)/255.0);t=t*(+(d[h+47>>0]|0)/255.0);u=u*(+(d[h+46>>0]|0)/255.0);s=s*(+(d[h+45>>0]|0)/255.0)}B=n/255.0;A=t/255.0;z=u/255.0;w=s/255.0;g[H+(f<<2)>>2]=i;g[H+((f|1)<<2)>>2]=j;g[H+(r<<2)>>2]=w;g[H+((f|5)<<2)>>2]=z;g[H+((f|6)<<2)>>2]=A;g[H+((f|7)<<2)>>2]=B;b[M>>1]=J+1<<16>>16;q=c[N>>2]|0;b[I+(q<<1)>>1]=J;x=G*k;y=D*m;u=D*k;t=G*m;g[H+(f+8<<2)>>2]=x-y*0.0+i;g[H+(f+9<<2)>>2]=u+t*0.0+j;g[H+(r+8<<2)>>2]=w;g[H+(r+9<<2)>>2]=z;g[H+(r+10<<2)>>2]=A;g[H+(r+11<<2)>>2]=B;v=b[M>>1]|0;b[M>>1]=v+1<<16>>16;b[I+(q+1<<1)>>1]=v;s=P-Q*0.0;n=Q+P*0.0;g[H+(f+16<<2)>>2]=x*s-y*n+i;g[H+(f+17<<2)>>2]=t*n+u*s+j;g[H+(r+16<<2)>>2]=w;g[H+(r+17<<2)>>2]=z;g[H+(r+18<<2)>>2]=A;g[H+(r+19<<2)>>2]=B;v=b[M>>1]|0;b[M>>1]=v+1<<16>>16;p=q+3|0;c[N>>2]=p;b[I+(q+2<<1)>>1]=v;q=K+2&65535;if((O|0)>2){v=O+65533&65535;h=r+24|0;o=f+24|0;f=2;r=p;while(1){m=s;s=P*s-Q*n;n=P*n+Q*m;b[I+(r<<1)>>1]=J;b[I+(r+1<<1)>>1]=q;g[H+(o<<2)>>2]=x*s-y*n+i;g[H+(o+1<<2)>>2]=u*s+t*n+j;g[H+(h<<2)>>2]=w;g[H+(h+1<<2)>>2]=z;g[H+(h+2<<2)>>2]=A;g[H+(h+3<<2)>>2]=B;q=b[M>>1]|0;b[M>>1]=q+1<<16>>16;b[I+(r+2<<1)>>1]=q;q=f+1|0;if((q|0)==(O|0))break;else{h=h+8|0;o=o+8|0;f=q;r=r+3|0;q=q+K&65535}}p=p+L+-6|0;c[N>>2]=p;q=(J+v<<16>>16)+3<<16>>16}b[I+(p<<1)>>1]=J;b[I+(p+1<<1)>>1]=q;c[N>>2]=p+3;b[I+(p+2<<1)>>1]=K+1}while(0);l=R;return}function DR(b,c,d,e,f,g,h,i,j){b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;n=o;k=f<0.0?0.0:f;g=g<0.0?0.0:g;p=k>g;m=p?k:g;k=p?g:k;p=h>i;g=p?h:i;f=p?i:h;do if(!(f==g)){if(k==m){a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;xR(b,c,d,e,k,f,g,n);break}a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;xR(b,c,d,e,k,f,g,n);if(!(g-f>=360.0)){i=g*.01745329238474369;q=+E(+i);i=+F(+i);h=m;a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;wR(b,c,k*q+d,k*i+e,h*q+d,h*i+e,n);a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;xR(b,c,d,e,m,f,g,n);i=f*.01745329238474369;m=+E(+i);i=+F(+i);a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;wR(b,c,k*m+d,k*i+e,h*m+d,h*i+e,n);break}else{a[n>>0]=a[j>>0]|0;a[n+1>>0]=a[j+1>>0]|0;a[n+2>>0]=a[j+2>>0]|0;a[n+3>>0]=a[j+3>>0]|0;xR(b,c,d,e,m,f,g,n);break}}while(0);l=o;return}function ER(f,h,i,j,k,m,n,o,p){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,D=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0,R=0;Q=l;l=l+32|0;q=Q+28|0;u=Q+24|0;t=Q+16|0;s=Q+8|0;r=Q;z=k<0.0?0.0:k;D=m<0.0?0.0:m;M=z>D;G=M?z:D;z=M?D:z;do if(!(z==G)){M=n>o;k=M?n:o;y=M?o:n;if(!(y==k)?(P=!(k-y>=360.0)?k:y+360.0,D=P-y,N=D/360.0*(1.25/+C(+G))*57.295780181884766,O=~~(+B(+D)/N),O|0):0){if(!h){oO(381432,5,380971,r);break}if((c[h>>2]|0)!=(f|0)){oO(381432,3,380978,s);break}OR(f,h);q=f+56|0;if(!(c[q>>2]|0)){oO(381432,3,380998,t);break}if(!(PR(f,h)|0)){oO(381432,1,381011,u);break}QR(f,h);RR(f,4);r=c[(c[(c[q>>2]|0)+104>>2]|0)+164>>2]|0;M=r+104|0;q=O+3+(e[M>>1]|0)|0;if((q|0)>=(e[r+106>>1]|0)?!(SR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);L=r+112|0;H=O*3|0;q=H+3+(c[L>>2]|0)|0;if(q>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);K=c[r+100>>2]|0;I=c[r+108>>2]|0;q=b[M>>1]|0;J=q&65535;s=J<<3;r=s|4;k=+(d[p+3>>0]|0);n=+(d[p+2>>0]|0);m=+(d[p>>0]|0);o=+(d[p+1>>0]|0);if(a[h+44>>0]|0){k=k*(+(d[h+48>>0]|0)/255.0);n=n*(+(d[h+47>>0]|0)/255.0);o=o*(+(d[h+46>>0]|0)/255.0);m=m*(+(d[h+45>>0]|0)/255.0)}D=k/255.0;A=n/255.0;x=o/255.0;o=m/255.0;n=z;k=y*.01745329238474369;z=+E(+k);k=+F(+k);g[K+(s<<2)>>2]=n*z+i;g[K+((s|1)<<2)>>2]=n*k+j;g[K+(r<<2)>>2]=o;g[K+((s|5)<<2)>>2]=x;g[K+((s|6)<<2)>>2]=A;g[K+((s|7)<<2)>>2]=D;b[M>>1]=q+1<<16>>16;v=c[L>>2]|0;b[I+(v<<1)>>1]=q;m=G;g[K+(s+8<<2)>>2]=m*z+i;g[K+(s+9<<2)>>2]=m*k+j;g[K+(r+8<<2)>>2]=o;g[K+(r+9<<2)>>2]=x;g[K+(r+10<<2)>>2]=A;g[K+(r+11<<2)>>2]=D;t=b[M>>1]|0;b[M>>1]=t+1<<16>>16;b[I+(v+1<<1)>>1]=t;k=y+N;z=k*.01745329238474369;G=n*+F(+z);g[K+(s+16<<2)>>2]=n*+E(+z)+i;g[K+(s+17<<2)>>2]=G+j;g[K+(r+16<<2)>>2]=o;g[K+(r+17<<2)>>2]=x;g[K+(r+18<<2)>>2]=A;g[K+(r+19<<2)>>2]=D;t=b[M>>1]|0;b[M>>1]=t+1<<16>>16;q=v+3|0;c[L>>2]=q;b[I+(v+2<<1)>>1]=t;t=s+24|0;u=r+24|0;w=J+65535|0;if((O|0)<2){s=0;r=2}else{p=(O<<3)+s|0;h=p+16|0;r=O+1|0;s=0;f=2;while(1){k=N+k;b[I+(q<<1)>>1]=w+f;b[I+(q+1<<1)>>1]=f+J;y=k*.01745329238474369;G=+F(+y);y=+E(+y);z=s?n:m;g[K+(t<<2)>>2]=z*y+i;g[K+(t+1<<2)>>2]=z*G+j;g[K+(u<<2)>>2]=o;g[K+(u+1<<2)>>2]=x;g[K+(u+2<<2)>>2]=A;g[K+(u+3<<2)>>2]=D;R=b[M>>1]|0;b[M>>1]=R+1<<16>>16;b[I+(q+2<<1)>>1]=R;f=f+1|0;if((f|0)==(r|0))break;else{u=u+8|0;t=t+8|0;s=s^1;q=q+3|0}}q=v+H|0;c[L>>2]=q;u=p+20|0;t=h;s=(O&1|0)==0}P=P*.01745329238474369;G=+E(+P);P=+F(+P);N=s?n:m;b[I+(q<<1)>>1]=w+r;R=r+J&65535;b[I+(q+1<<1)>>1]=R;g[K+(t<<2)>>2]=N*G+i;g[K+(t+1<<2)>>2]=N*P+j;g[K+(u<<2)>>2]=o;g[K+(u+1<<2)>>2]=x;g[K+(u+2<<2)>>2]=A;g[K+(u+3<<2)>>2]=D;O=b[M>>1]|0;b[M>>1]=O+1<<16>>16;b[I+(q+2<<1)>>1]=O;N=s?m:n;b[I+(q+3<<1)>>1]=R;b[I+(q+4<<1)>>1]=J+1+r;g[K+(t+8<<2)>>2]=N*G+i;g[K+(t+9<<2)>>2]=N*P+j;g[K+(u+8<<2)>>2]=o;g[K+(u+9<<2)>>2]=x;g[K+(u+10<<2)>>2]=A;g[K+(u+11<<2)>>2]=D;R=b[M>>1]|0;b[M>>1]=R+1<<16>>16;c[L>>2]=q+6;b[I+(q+5<<1)>>1]=R}}else{a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;xR(f,h,i,j,z,n,o,q)}while(0);l=Q;return}function FR(f,h,i,j,k,m,n,o,p){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;p=p|0;var q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;s=B+24|0;r=B+16|0;q=B+8|0;do if(!h)oO(381424,5,380971,B);else{if((c[h>>2]|0)!=(f|0)){oO(381424,3,380978,q);break}OR(f,h);q=f+56|0;if(!(c[q>>2]|0)){oO(381424,3,380998,r);break}if(!(PR(f,h)|0)){oO(381424,1,381011,s);break}QR(f,h);RR(f,1);r=c[(c[(c[q>>2]|0)+104>>2]|0)+164>>2]|0;A=r+104|0;q=(e[A>>1]|0)+3|0;if(q>>>0>=(e[r+106>>1]|0)>>>0?!(SR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);z=r+112|0;q=(c[z>>2]|0)+6|0;if(q>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);y=c[r+100>>2]|0;q=c[r+108>>2]|0;r=b[A>>1]|0;s=r&65535;f=s<<3;x=f|4;v=+(d[p+3>>0]|0);u=+(d[p+1>>0]|0);t=+(d[p>>0]|0);w=+(d[p+2>>0]|0);if(a[h+44>>0]|0){v=v*(+(d[h+48>>0]|0)/255.0);w=w*(+(d[h+47>>0]|0)/255.0);u=u*(+(d[h+46>>0]|0)/255.0);t=t*(+(d[h+45>>0]|0)/255.0)}v=v/255.0;w=w/255.0;u=u/255.0;t=t/255.0;g[y+(f<<2)>>2]=i;g[y+((f|1)<<2)>>2]=j;g[y+(x<<2)>>2]=t;g[y+((f|5)<<2)>>2]=u;g[y+((f|6)<<2)>>2]=w;g[y+((f|7)<<2)>>2]=v;b[A>>1]=r+1<<16>>16;h=c[z>>2]|0;b[q+(h<<1)>>1]=r;g[y+(f+8<<2)>>2]=k;g[y+(f+9<<2)>>2]=m;g[y+(x+8<<2)>>2]=t;g[y+(x+9<<2)>>2]=u;g[y+(x+10<<2)>>2]=w;g[y+(x+11<<2)>>2]=v;p=b[A>>1]|0;b[A>>1]=p+1<<16>>16;b[q+(h+1<<1)>>1]=p;b[q+(h+2<<1)>>1]=s+1;g[y+(f+16<<2)>>2]=n;g[y+(f+17<<2)>>2]=o;g[y+(x+16<<2)>>2]=t;g[y+(x+17<<2)>>2]=u;g[y+(x+18<<2)>>2]=w;g[y+(x+19<<2)>>2]=v;p=b[A>>1]|0;b[A>>1]=p+1<<16>>16;b[q+(h+3<<1)>>1]=p;b[q+(h+4<<1)>>1]=s+2;c[z>>2]=h+6;b[q+(h+5<<1)>>1]=r}while(0);l=B;return}function GR(f,h,i,j,k,m,n,o,p){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;p=p|0;var q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;s=A+24|0;r=A+16|0;q=A+8|0;do if(!h)oO(381410,5,380971,A);else{if((c[h>>2]|0)!=(f|0)){oO(381410,3,380978,q);break}OR(f,h);q=f+56|0;if(!(c[q>>2]|0)){oO(381410,3,380998,r);break}if(!(PR(f,h)|0)){oO(381410,1,381011,s);break}QR(f,h);RR(f,4);r=c[(c[(c[q>>2]|0)+104>>2]|0)+164>>2]|0;z=r+104|0;q=(e[z>>1]|0)+3|0;if(q>>>0>=(e[r+106>>1]|0)>>>0?!(SR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);y=r+112|0;q=(c[y>>2]|0)+3|0;if(q>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,q)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=c[r+100>>2]|0;q=c[r+108>>2]|0;r=b[z>>1]|0;s=(r&65535)<<3;f=s|4;v=+(d[p+3>>0]|0);w=+(d[p+2>>0]|0);u=+(d[p+1>>0]|0);t=+(d[p>>0]|0);if(a[h+44>>0]|0){v=v*(+(d[h+48>>0]|0)/255.0);w=w*(+(d[h+47>>0]|0)/255.0);u=u*(+(d[h+46>>0]|0)/255.0);t=t*(+(d[h+45>>0]|0)/255.0)}v=v/255.0;w=w/255.0;u=u/255.0;t=t/255.0;g[x+(s<<2)>>2]=i;g[x+((s|1)<<2)>>2]=j;g[x+(f<<2)>>2]=t;g[x+((s|5)<<2)>>2]=u;g[x+((s|6)<<2)>>2]=w;g[x+((s|7)<<2)>>2]=v;b[z>>1]=r+1<<16>>16;h=c[y>>2]|0;b[q+(h<<1)>>1]=r;g[x+(s+8<<2)>>2]=k;g[x+(s+9<<2)>>2]=m;g[x+(f+8<<2)>>2]=t;g[x+(f+9<<2)>>2]=u;g[x+(f+10<<2)>>2]=w;g[x+(f+11<<2)>>2]=v;p=b[z>>1]|0;b[z>>1]=p+1<<16>>16;b[q+(h+1<<1)>>1]=p;g[x+(s+16<<2)>>2]=n;g[x+(s+17<<2)>>2]=o;g[x+(f+16<<2)>>2]=t;g[x+(f+17<<2)>>2]=u;g[x+(f+18<<2)>>2]=w;g[x+(f+19<<2)>>2]=v;p=b[z>>1]|0;b[z>>1]=p+1<<16>>16;c[y>>2]=h+3;b[q+(h+2<<1)>>1]=p}while(0);l=A;return}function HR(f,h,i,j,k,m,n){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0;A=l;l=l+32|0;q=A+24|0;p=A+16|0;o=A+8|0;u=m<j;z=u?j:m;x=u?m:j;u=k<i;y=u?i:k;v=u?k:i;w=+uR(f)*.5;do if(!h)oO(381396,5,380971,A);else{if((c[h>>2]|0)!=(f|0)){oO(381396,3,380978,o);break}OR(f,h);o=f+56|0;if(!(c[o>>2]|0)){oO(381396,3,380998,p);break}if(!(PR(f,h)|0)){oO(381396,1,381011,q);break}QR(f,h);RR(f,4);p=c[(c[(c[o>>2]|0)+104>>2]|0)+164>>2]|0;u=p+104|0;o=(e[u>>1]|0)+12|0;if(o>>>0>=(e[p+106>>1]|0)>>>0?!(SR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);t=p+112|0;o=(c[t>>2]|0)+24|0;if(o>>>0>=(c[p+116>>2]|0)>>>0?!(TR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);s=c[p+100>>2]|0;o=c[p+108>>2]|0;p=b[u>>1]|0;q=p&65535;f=q<<3;r=f|4;k=+(d[n+2>>0]|0);j=+(d[n>>0]|0);i=+(d[n+3>>0]|0);m=+(d[n+1>>0]|0);if(a[h+44>>0]|0){i=i*(+(d[h+48>>0]|0)/255.0);k=k*(+(d[h+47>>0]|0)/255.0);m=m*(+(d[h+46>>0]|0)/255.0);j=j*(+(d[h+45>>0]|0)/255.0)}i=i/255.0;k=k/255.0;m=m/255.0;j=j/255.0;B=v+w>y-w?(y-v)*.5:w;F=x+w>z-w?(z-x)*.5:w;D=v-w;g[s+(f<<2)>>2]=D;G=x-w;g[s+((f|1)<<2)>>2]=G;g[s+(r<<2)>>2]=j;g[s+((f|5)<<2)>>2]=m;g[s+((f|6)<<2)>>2]=k;g[s+((f|7)<<2)>>2]=i;b[u>>1]=p+1<<16>>16;h=c[t>>2]|0;b[o+(h<<1)>>1]=p;g[s+(f+8<<2)>>2]=D;x=x+F;g[s+(f+9<<2)>>2]=x;g[s+(r+8<<2)>>2]=j;g[s+(r+9<<2)>>2]=m;g[s+(r+10<<2)>>2]=k;g[s+(r+11<<2)>>2]=i;n=b[u>>1]|0;b[u>>1]=n+1<<16>>16;b[o+(h+1<<1)>>1]=n;E=y+w;g[s+(f+16<<2)>>2]=E;g[s+(f+17<<2)>>2]=G;g[s+(r+16<<2)>>2]=j;g[s+(r+17<<2)>>2]=m;g[s+(r+18<<2)>>2]=k;g[s+(r+19<<2)>>2]=i;n=b[u>>1]|0;b[u>>1]=n+1<<16>>16;b[o+(h+2<<1)>>1]=n;b[o+(h+3<<1)>>1]=q+2;n=q+1&65535;b[o+(h+4<<1)>>1]=n;g[s+(f+24<<2)>>2]=E;g[s+(f+25<<2)>>2]=x;g[s+(r+24<<2)>>2]=j;g[s+(r+25<<2)>>2]=m;g[s+(r+26<<2)>>2]=k;g[s+(r+27<<2)>>2]=i;p=b[u>>1]|0;b[u>>1]=p+1<<16>>16;b[o+(h+5<<1)>>1]=p;p=q+3&65535;b[o+(h+6<<1)>>1]=p;y=y-B;g[s+(f+32<<2)>>2]=y;g[s+(f+33<<2)>>2]=x;g[s+(r+32<<2)>>2]=j;g[s+(r+33<<2)>>2]=m;g[s+(r+34<<2)>>2]=k;g[s+(r+35<<2)>>2]=i;C=b[u>>1]|0;b[u>>1]=C+1<<16>>16;b[o+(h+7<<1)>>1]=C;g[s+(f+40<<2)>>2]=y;y=z-F;g[s+(f+41<<2)>>2]=y;g[s+(r+40<<2)>>2]=j;g[s+(r+41<<2)>>2]=m;g[s+(r+42<<2)>>2]=k;g[s+(r+43<<2)>>2]=i;C=b[u>>1]|0;b[u>>1]=C+1<<16>>16;b[o+(h+8<<1)>>1]=C;b[o+(h+9<<1)>>1]=p;b[o+(h+10<<1)>>1]=q+5;g[s+(f+48<<2)>>2]=E;g[s+(f+49<<2)>>2]=y;g[s+(r+48<<2)>>2]=j;g[s+(r+49<<2)>>2]=m;g[s+(r+50<<2)>>2]=k;g[s+(r+51<<2)>>2]=i;p=b[u>>1]|0;b[u>>1]=p+1<<16>>16;b[o+(h+11<<1)>>1]=p;b[o+(h+12<<1)>>1]=q+6;g[s+(f+56<<2)>>2]=D;g[s+(f+57<<2)>>2]=y;g[s+(r+56<<2)>>2]=j;g[s+(r+57<<2)>>2]=m;g[s+(r+58<<2)>>2]=k;g[s+(r+59<<2)>>2]=i;p=b[u>>1]|0;b[u>>1]=p+1<<16>>16;b[o+(h+13<<1)>>1]=p;g[s+(f+64<<2)>>2]=E;z=z+w;g[s+(f+65<<2)>>2]=z;g[s+(r+64<<2)>>2]=j;g[s+(r+65<<2)>>2]=m;g[s+(r+66<<2)>>2]=k;g[s+(r+67<<2)>>2]=i;p=b[u>>1]|0;b[u>>1]=p+1<<16>>16;b[o+(h+14<<1)>>1]=p;p=q+7&65535;b[o+(h+15<<1)>>1]=p;g[s+(f+72<<2)>>2]=D;g[s+(f+73<<2)>>2]=z;g[s+(r+72<<2)>>2]=j;g[s+(r+73<<2)>>2]=m;g[s+(r+74<<2)>>2]=k;g[s+(r+75<<2)>>2]=i;C=b[u>>1]|0;b[u>>1]=C+1<<16>>16;b[o+(h+16<<1)>>1]=C;b[o+(h+17<<1)>>1]=q+8;b[o+(h+18<<1)>>1]=p;z=v+B;g[s+(f+80<<2)>>2]=z;g[s+(f+81<<2)>>2]=y;g[s+(r+80<<2)>>2]=j;g[s+(r+81<<2)>>2]=m;g[s+(r+82<<2)>>2]=k;g[s+(r+83<<2)>>2]=i;p=b[u>>1]|0;b[u>>1]=p+1<<16>>16;b[o+(h+19<<1)>>1]=p;b[o+(h+20<<1)>>1]=n;b[o+(h+21<<1)>>1]=n;b[o+(h+22<<1)>>1]=q+10;g[s+(f+88<<2)>>2]=z;g[s+(f+89<<2)>>2]=x;g[s+(r+88<<2)>>2]=j;g[s+(r+89<<2)>>2]=m;g[s+(r+90<<2)>>2]=k;g[s+(r+91<<2)>>2]=i;n=b[u>>1]|0;b[u>>1]=n+1<<16>>16;c[t>>2]=h+24;b[o+(h+23<<1)>>1]=n}while(0);l=A;return}function IR(f,h,i,j,k,m,n){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=n|0;var o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+32|0;q=z+24|0;p=z+16|0;o=z+8|0;do if(!h)oO(381376,5,380971,z);else{if((c[h>>2]|0)!=(f|0)){oO(381376,3,380978,o);break}OR(f,h);o=f+56|0;if(!(c[o>>2]|0)){oO(381376,3,380998,p);break}if(!(PR(f,h)|0)){oO(381376,1,381011,q);break}QR(f,h);RR(f,4);p=c[(c[(c[o>>2]|0)+104>>2]|0)+164>>2]|0;y=p+104|0;o=(e[y>>1]|0)+4|0;if(o>>>0>=(e[p+106>>1]|0)>>>0?!(SR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=p+112|0;o=(c[x>>2]|0)+6|0;if(o>>>0>=(c[p+116>>2]|0)>>>0?!(TR(p,o)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);w=c[p+100>>2]|0;o=c[p+108>>2]|0;p=b[y>>1]|0;q=p&65535;f=q<<3;v=f|4;t=+(d[n+3>>0]|0);s=+(d[n+1>>0]|0);r=+(d[n>>0]|0);u=+(d[n+2>>0]|0);if(a[h+44>>0]|0){t=t*(+(d[h+48>>0]|0)/255.0);u=u*(+(d[h+47>>0]|0)/255.0);s=s*(+(d[h+46>>0]|0)/255.0);r=r*(+(d[h+45>>0]|0)/255.0)}t=t/255.0;u=u/255.0;s=s/255.0;r=r/255.0;g[w+(f<<2)>>2]=i;g[w+((f|1)<<2)>>2]=j;g[w+(v<<2)>>2]=r;g[w+((f|5)<<2)>>2]=s;g[w+((f|6)<<2)>>2]=u;g[w+((f|7)<<2)>>2]=t;b[y>>1]=p+1<<16>>16;h=c[x>>2]|0;b[o+(h<<1)>>1]=p;g[w+(f+8<<2)>>2]=i;g[w+(f+9<<2)>>2]=m;g[w+(v+8<<2)>>2]=r;g[w+(v+9<<2)>>2]=s;g[w+(v+10<<2)>>2]=u;g[w+(v+11<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;b[o+(h+1<<1)>>1]=n;g[w+(f+16<<2)>>2]=k;g[w+(f+17<<2)>>2]=j;g[w+(v+16<<2)>>2]=r;g[w+(v+17<<2)>>2]=s;g[w+(v+18<<2)>>2]=u;g[w+(v+19<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;b[o+(h+2<<1)>>1]=n;b[o+(h+3<<1)>>1]=q+1;b[o+(h+4<<1)>>1]=q+2;g[w+(f+24<<2)>>2]=k;g[w+(f+25<<2)>>2]=m;g[w+(v+24<<2)>>2]=r;g[w+(v+25<<2)>>2]=s;g[w+(v+26<<2)>>2]=u;g[w+(v+27<<2)>>2]=t;n=b[y>>1]|0;b[y>>1]=n+1<<16>>16;c[x>>2]=h+6;b[o+(h+5<<1)>>1]=n}while(0);l=z;return}function JR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,_=0.0,$=0.0,aa=0,ba=0.0;aa=l;l=l+32|0;s=aa+24|0;r=aa+16|0;p=aa+8|0;q=m<j;I=q?j:m;W=q?m:j;q=k<i;X=q?i:k;P=q?k:i;$=(X-P)*.5;$=$<n?$:n;Y=(I-W)*.5;$=$>Y?Y:$;P=P+$;W=W+$;X=X-$;I=I-$;Y=+uR(f)*.5;n=$-Y;Y=$+Y;q=~~(6.283185307179586/(1.25/+C(+Y))+1.0);q=(q|0)>4?q:4;q=(q&3)+q|0;Z=q+-1|0;y=q>>>2;A=q>>>1;J=(q*3|0)>>>2;$=6.283185307179586/+(Z|0);_=+E(+$);$=+F(+$);do if(!h)oO(381357,5,380971,aa);else{if((c[h>>2]|0)!=(f|0)){oO(381357,3,380978,p);break}OR(f,h);p=f+56|0;if(!(c[p>>2]|0)){oO(381357,3,380998,r);break}if(!(PR(f,h)|0)){oO(381357,1,381011,s);break}QR(f,h);RR(f,4);r=c[(c[(c[p>>2]|0)+104>>2]|0)+164>>2]|0;V=r+104|0;q=q+4|0;p=(e[V>>1]|0)+(q<<1)|0;if(p>>>0>=(e[r+106>>1]|0)>>>0?!(SR(r,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);U=r+112|0;p=(c[U>>2]|0)+(q*6|0)|0;if(p>>>0>=(c[r+116>>2]|0)>>>0?!(TR(r,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);T=c[r+100>>2]|0;Q=c[r+108>>2]|0;R=b[V>>1]|0;S=R&65535;r=S<<3;s=r|4;i=+(d[o+3>>0]|0);k=+(d[o+2>>0]|0);j=+(d[o>>0]|0);m=+(d[o+1>>0]|0);if(a[h+44>>0]|0){i=i*(+(d[h+48>>0]|0)/255.0);k=k*(+(d[h+47>>0]|0)/255.0);m=m*(+(d[h+46>>0]|0)/255.0);j=j*(+(d[h+45>>0]|0)/255.0)}O=i/255.0;N=k/255.0;M=m/255.0;L=j/255.0;m=n<0.0?0.0:n;n=X+m;g[T+(r<<2)>>2]=n;g[T+((r|1)<<2)>>2]=I;g[T+(s<<2)>>2]=L;g[T+((r|5)<<2)>>2]=M;g[T+((r|6)<<2)>>2]=N;g[T+((r|7)<<2)>>2]=O;b[V>>1]=R+1<<16>>16;q=c[U>>2]|0;b[Q+(q<<1)>>1]=R;K=X+Y;g[T+(r+8<<2)>>2]=K;g[T+(r+9<<2)>>2]=I;g[T+(s+8<<2)>>2]=L;g[T+(s+9<<2)>>2]=M;g[T+(s+10<<2)>>2]=N;g[T+(s+11<<2)>>2]=O;o=b[V>>1]|0;b[V>>1]=o+1<<16>>16;p=q+2|0;c[U>>2]=p;b[Q+(q+1<<1)>>1]=o;o=y+-1|0;z=(y<<4)+r|0;x=z|4;h=z+12|0;t=z|7;u=z+20|0;v=z+9|0;w=z|6;k=_-$*0.0;i=_*0.0+$;if(o){f=q+(y*6|0)|0;q=r;r=0;while(1){H=s;s=s+16|0;G=q;q=q+16|0;r=r+1|0;g[T+(q<<2)>>2]=X+m*k;g[T+(G+17<<2)>>2]=I+m*i;g[T+(s<<2)>>2]=L;g[T+(H+17<<2)>>2]=M;g[T+(H+18<<2)>>2]=N;g[T+(H+19<<2)>>2]=O;D=b[V>>1]|0;b[V>>1]=D+1<<16>>16;b[Q+(p<<1)>>1]=D;b[Q+(p+1<<1)>>1]=(e[V>>1]|0)+65534;g[T+(G+24<<2)>>2]=X+Y*k;g[T+(G+25<<2)>>2]=I+Y*i;g[T+(H+24<<2)>>2]=L;g[T+(H+25<<2)>>2]=M;g[T+(H+26<<2)>>2]=N;g[T+(H+27<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(p+2<<1)>>1]=H;b[Q+(p+3<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(p+4<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(p+5<<1)>>1]=(e[V>>1]|0)+65535;j=k;k=_*k-$*i;i=_*i+$*j;if((r|0)==(o|0))break;else p=p+6|0}p=f+-4|0;c[U>>2]=p}g[T+(z<<2)>>2]=X;ba=I+m;g[T+((z|1)<<2)>>2]=ba;g[T+(x<<2)>>2]=L;g[T+((z|5)<<2)>>2]=M;g[T+(w<<2)>>2]=N;g[T+(t<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(p<<1)>>1]=H;b[Q+(p+1<<1)>>1]=(e[V>>1]|0)+65534;g[T+(z+8<<2)>>2]=X;j=I+Y;g[T+(v<<2)>>2]=j;g[T+(h<<2)>>2]=L;g[T+(z+13<<2)>>2]=M;g[T+(z+14<<2)>>2]=N;g[T+(z+15<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(p+2<<1)>>1]=H;b[Q+(p+3<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(p+4<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(p+5<<1)>>1]=(e[V>>1]|0)+65535;g[T+(z+16<<2)>>2]=P;g[T+(z+17<<2)>>2]=ba;g[T+(u<<2)>>2]=L;g[T+(x+17<<2)>>2]=M;g[T+(x+18<<2)>>2]=N;g[T+(x+19<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(p+6<<1)>>1]=H;b[Q+(p+7<<1)>>1]=(e[V>>1]|0)+65534;g[T+(z+24<<2)>>2]=P;g[T+(z+25<<2)>>2]=j;g[T+(x+24<<2)>>2]=L;g[T+(x+25<<2)>>2]=M;g[T+(x+26<<2)>>2]=N;g[T+(x+27<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;B=p+9|0;c[U>>2]=B;b[Q+(p+8<<1)>>1]=H;H=A+-1|0;D=x+32|0;G=z+32|0;A=B;while(1){b[Q+(A<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+1<<1)>>1]=(e[V>>1]|0)+65534;B=A+3|0;b[Q+(A+2<<1)>>1]=(e[V>>1]|0)+65535;j=_*k-$*i;i=_*i+$*k;z=y+1|0;p=G|1;q=D|1;r=D|2;s=D|3;f=G+8|0;o=D+8|0;h=D+9|0;t=D+11|0;u=D+10|0;v=G+9|0;w=D+16|0;x=G+16|0;if((y|0)>=(H|0))break;g[T+(G<<2)>>2]=P+m*j;g[T+(p<<2)>>2]=I+m*i;g[T+(D<<2)>>2]=L;g[T+(q<<2)>>2]=M;g[T+(r<<2)>>2]=N;g[T+(s<<2)>>2]=O;y=b[V>>1]|0;b[V>>1]=y+1<<16>>16;b[Q+(B<<1)>>1]=y;b[Q+(A+4<<1)>>1]=(e[V>>1]|0)+65534;g[T+(f<<2)>>2]=P+Y*j;g[T+(v<<2)>>2]=I+Y*i;g[T+(o<<2)>>2]=L;g[T+(h<<2)>>2]=M;g[T+(u<<2)>>2]=N;g[T+(t<<2)>>2]=O;y=b[V>>1]|0;b[V>>1]=y+1<<16>>16;b[Q+(A+5<<1)>>1]=y;D=w;G=x;k=j;y=z;A=A+6|0}k=P-m;g[T+(G<<2)>>2]=k;g[T+(p<<2)>>2]=I;g[T+(D<<2)>>2]=L;g[T+(q<<2)>>2]=M;g[T+(r<<2)>>2]=N;g[T+(s<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(B<<1)>>1]=H;b[Q+(A+4<<1)>>1]=(e[V>>1]|0)+65534;ba=P-Y;g[T+(f<<2)>>2]=ba;g[T+(v<<2)>>2]=I;g[T+(o<<2)>>2]=L;g[T+(h<<2)>>2]=M;g[T+(u<<2)>>2]=N;g[T+(t<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(A+5<<1)>>1]=H;b[Q+(A+6<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+7<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+8<<1)>>1]=(e[V>>1]|0)+65535;g[T+(x<<2)>>2]=k;g[T+(G+17<<2)>>2]=W;g[T+(w<<2)>>2]=L;g[T+(D+17<<2)>>2]=M;g[T+(D+18<<2)>>2]=N;g[T+(D+19<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;b[Q+(A+9<<1)>>1]=H;b[Q+(A+10<<1)>>1]=(e[V>>1]|0)+65534;g[T+(G+24<<2)>>2]=ba;g[T+(G+25<<2)>>2]=W;g[T+(D+24<<2)>>2]=L;g[T+(D+25<<2)>>2]=M;g[T+(D+26<<2)>>2]=N;g[T+(D+27<<2)>>2]=O;H=b[V>>1]|0;b[V>>1]=H+1<<16>>16;B=A+12|0;c[U>>2]=B;b[Q+(A+11<<1)>>1]=H;H=J+-1|0;D=D+32|0;G=G+32|0;A=B;while(1){b[Q+(A<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+1<<1)>>1]=(e[V>>1]|0)+65534;B=A+3|0;b[Q+(A+2<<1)>>1]=(e[V>>1]|0)+65535;k=_*j-$*i;i=_*i+$*j;p=z+1|0;q=D+1|0;r=D+8|0;s=D+10|0;f=D+3|0;o=G|1;h=D+16|0;t=G+8|0;u=D+2|0;v=D+9|0;w=G+16|0;x=D+11|0;y=G+9|0;if((z|0)>=(H|0))break;g[T+(G<<2)>>2]=P+m*k;g[T+(o<<2)>>2]=W+m*i;g[T+(D<<2)>>2]=L;g[T+(q<<2)>>2]=M;g[T+(u<<2)>>2]=N;g[T+(f<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;b[Q+(B<<1)>>1]=z;b[Q+(A+4<<1)>>1]=(e[V>>1]|0)+65534;g[T+(t<<2)>>2]=P+Y*k;g[T+(y<<2)>>2]=W+Y*i;g[T+(r<<2)>>2]=L;g[T+(v<<2)>>2]=M;g[T+(s<<2)>>2]=N;g[T+(x<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;b[Q+(A+5<<1)>>1]=z;D=h;G=w;j=k;z=p;A=A+6|0}g[T+(G<<2)>>2]=P;ba=W-m;g[T+(o<<2)>>2]=ba;g[T+(D<<2)>>2]=L;g[T+(q<<2)>>2]=M;g[T+(u<<2)>>2]=N;g[T+(f<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;b[Q+(B<<1)>>1]=z;b[Q+(A+4<<1)>>1]=(e[V>>1]|0)+65534;g[T+(t<<2)>>2]=P;j=W-Y;g[T+(y<<2)>>2]=j;g[T+(r<<2)>>2]=L;g[T+(v<<2)>>2]=M;g[T+(s<<2)>>2]=N;g[T+(x<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;b[Q+(A+5<<1)>>1]=z;b[Q+(A+6<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+7<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(A+8<<1)>>1]=(e[V>>1]|0)+65535;g[T+(w<<2)>>2]=X;g[T+(G+17<<2)>>2]=ba;g[T+(h<<2)>>2]=L;g[T+(D+17<<2)>>2]=M;g[T+(D+18<<2)>>2]=N;g[T+(D+19<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;b[Q+(A+9<<1)>>1]=z;b[Q+(A+10<<1)>>1]=(e[V>>1]|0)+65534;g[T+(G+24<<2)>>2]=X;g[T+(G+25<<2)>>2]=j;g[T+(D+24<<2)>>2]=L;g[T+(D+25<<2)>>2]=M;g[T+(D+26<<2)>>2]=N;g[T+(D+27<<2)>>2]=O;z=b[V>>1]|0;b[V>>1]=z+1<<16>>16;q=A+12|0;c[U>>2]=q;b[Q+(A+11<<1)>>1]=z;A=D+32|0;z=G+32|0;j=k;while(1){b[Q+(q<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(q+1<<1)>>1]=(e[V>>1]|0)+65534;y=q+3|0;b[Q+(q+2<<1)>>1]=(e[V>>1]|0)+65535;r=A+3|0;s=A+8|0;f=A+2|0;o=z+8|0;h=A+1|0;t=z+1|0;u=A+9|0;v=z+9|0;w=A+11|0;x=A+10|0;if((p|0)>=(Z|0))break;P=_*j-$*i;ba=_*i+$*j;g[T+(z<<2)>>2]=X+m*P;g[T+(t<<2)>>2]=W+m*ba;g[T+(A<<2)>>2]=L;g[T+(h<<2)>>2]=M;g[T+(f<<2)>>2]=N;g[T+(r<<2)>>2]=O;J=b[V>>1]|0;b[V>>1]=J+1<<16>>16;b[Q+(y<<1)>>1]=J;b[Q+(q+4<<1)>>1]=(e[V>>1]|0)+65534;g[T+(o<<2)>>2]=X+Y*P;g[T+(v<<2)>>2]=W+Y*ba;g[T+(s<<2)>>2]=L;g[T+(u<<2)>>2]=M;g[T+(x<<2)>>2]=N;g[T+(w<<2)>>2]=O;J=b[V>>1]|0;b[V>>1]=J+1<<16>>16;b[Q+(q+5<<1)>>1]=J;A=A+16|0;z=z+16|0;j=P;i=ba;p=p+1|0;q=q+6|0}g[T+(z<<2)>>2]=n;g[T+(t<<2)>>2]=W;g[T+(A<<2)>>2]=L;g[T+(h<<2)>>2]=M;g[T+(f<<2)>>2]=N;g[T+(r<<2)>>2]=O;Z=b[V>>1]|0;b[V>>1]=Z+1<<16>>16;b[Q+(y<<1)>>1]=Z;b[Q+(q+4<<1)>>1]=(e[V>>1]|0)+65534;g[T+(o<<2)>>2]=K;g[T+(v<<2)>>2]=W;g[T+(s<<2)>>2]=L;g[T+(u<<2)>>2]=M;g[T+(x<<2)>>2]=N;g[T+(w<<2)>>2]=O;Z=b[V>>1]|0;b[V>>1]=Z+1<<16>>16;b[Q+(q+5<<1)>>1]=Z;b[Q+(q+6<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(q+7<<1)>>1]=(e[V>>1]|0)+65534;b[Q+(q+8<<1)>>1]=(e[V>>1]|0)+65535;b[Q+(q+9<<1)>>1]=R;b[Q+(q+10<<1)>>1]=(e[V>>1]|0)+65535;b[Q+(q+11<<1)>>1]=S+1;c[U>>2]=q+13;b[Q+(q+12<<1)>>1]=R}while(0);l=aa;return}function KR(f,h,i,j,k,m,n,o){f=f|0;h=h|0;i=+i;j=+j;k=+k;m=+m;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+32|0;r=P+24|0;q=P+16|0;p=P+8|0;O=m<j;x=O?j:m;w=O?m:j;O=k<i;v=O?i:k;A=O?k:i;y=(v-A)*.5;y=y<n?y:n;H=(x-w)*.5;y=y>H?H:y;do if(!h)oO(381332,5,380971,P);else{if((c[h>>2]|0)!=(f|0)){oO(381332,3,380978,p);break}OR(f,h);p=f+56|0;if(!(c[p>>2]|0)){oO(381332,3,380998,q);break}if(!(PR(f,h)|0)){oO(381332,1,381011,r);break}QR(f,h);RR(f,4);q=c[(c[(c[p>>2]|0)+104>>2]|0)+164>>2]|0;O=q+104|0;p=(e[O>>1]|0)+29|0;if(p>>>0>=(e[q+106>>1]|0)>>>0?!(SR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);N=q+112|0;p=(c[N>>2]|0)+84|0;if(p>>>0>=(c[q+116>>2]|0)>>>0?!(TR(q,p)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);M=c[q+100>>2]|0;J=c[q+108>>2]|0;K=b[O>>1]|0;L=K&65535;I=L<<3;p=I|4;j=+(d[o+3>>0]|0);i=+(d[o+2>>0]|0);m=+(d[o>>0]|0);k=+(d[o+1>>0]|0);if(a[h+44>>0]|0){j=j*(+(d[h+48>>0]|0)/255.0);i=i*(+(d[h+47>>0]|0)/255.0);k=k*(+(d[h+46>>0]|0)/255.0);m=m*(+(d[h+45>>0]|0)/255.0)}H=j/255.0;G=i/255.0;D=k/255.0;B=m/255.0;g[M+(I<<2)>>2]=(v+A)*.5;g[M+((I|1)<<2)>>2]=(x+w)*.5;g[M+(p<<2)>>2]=B;g[M+((I|5)<<2)>>2]=D;g[M+((I|6)<<2)>>2]=G;g[M+((I|7)<<2)>>2]=H;b[O>>1]=K+1<<16>>16;C=c[N>>2]|0;b[J+(C<<1)>>1]=K;k=v-y;z=y;g[M+(I+8<<2)>>2]=k+z*1.1924880454806035e-08;v=w+y;g[M+(I+9<<2)>>2]=v-z*.9999999999999999;g[M+(p+8<<2)>>2]=B;g[M+(p+9<<2)>>2]=D;g[M+(p+10<<2)>>2]=G;g[M+(p+11<<2)>>2]=H;s=b[O>>1]|0;b[O>>1]=s+1<<16>>16;b[J+(C+1<<1)>>1]=s;g[M+(I+16<<2)>>2]=k+z*.25881900608439823;g[M+(I+17<<2)>>2]=v-z*.9659258367439418;g[M+(p+16<<2)>>2]=B;g[M+(p+17<<2)>>2]=D;g[M+(p+18<<2)>>2]=G;g[M+(p+19<<2)>>2]=H;s=b[O>>1]|0;b[O>>1]=s+1<<16>>16;f=C+3|0;c[N>>2]=f;b[J+(C+2<<1)>>1]=s;s=C+20|0;t=I+71|0;p=p+24|0;q=I+24|0;r=2;j=5.235987663269043;while(1){b[J+(f<<1)>>1]=K;b[J+(f+1<<1)>>1]=r+L;m=j;g[M+(q<<2)>>2]=k+z*+E(+m);o=b[O>>1]|0;h=o+1<<16>>16;m=z*+F(+m);if((r|0)==7)break;g[M+(q+1<<2)>>2]=v+m;g[M+(p<<2)>>2]=B;g[M+(p+1<<2)>>2]=D;g[M+(p+2<<2)>>2]=G;g[M+(p+3<<2)>>2]=H;b[O>>1]=h;b[J+(f+2<<1)>>1]=o;p=p+8|0;q=q+8|0;r=r+1|0;j=j+.2617993950843811;f=f+3|0}p=C+21|0;n=x-y;g[M+(I+65<<2)>>2]=n+m;g[M+(I+68<<2)>>2]=B;g[M+(I+69<<2)>>2]=D;g[M+(I+70<<2)>>2]=G;g[M+(t<<2)>>2]=H;b[O>>1]=h;c[N>>2]=p;b[J+(s<<1)>>1]=o;t=C+41|0;o=I+132|0;q=I+76|0;r=I+72|0;f=8;while(1){b[J+(p<<1)>>1]=K;b[J+(p+1<<1)>>1]=f+L;i=j;h=b[O>>1]|0;s=h+1<<16>>16;m=z*+E(+i);i=n+z*+F(+i);if((f|0)==14)break;g[M+(r<<2)>>2]=k+m;g[M+(r+1<<2)>>2]=i;g[M+(q<<2)>>2]=B;g[M+(q+1<<2)>>2]=D;g[M+(q+2<<2)>>2]=G;g[M+(q+3<<2)>>2]=H;b[O>>1]=s;b[J+(p+2<<1)>>1]=h;q=q+8|0;r=r+8|0;f=f+1|0;j=j+.2617993950843811;p=p+3|0}p=C+42|0;k=A+y;g[M+(I+120<<2)>>2]=k+m;g[M+(I+121<<2)>>2]=i;g[M+(I+124<<2)>>2]=B;g[M+(I+125<<2)>>2]=D;g[M+(I+126<<2)>>2]=G;g[M+(I+127<<2)>>2]=H;b[O>>1]=s;c[N>>2]=p;b[J+(t<<1)>>1]=h;u=C+62|0;f=I+184|0;h=I+128|0;s=1;t=15;while(1){b[J+(p<<1)>>1]=K;b[J+(p+1<<1)>>1]=t+L;m=j;g[M+(h<<2)>>2]=k+z*+E(+m);q=b[O>>1]|0;m=z*+F(+m);r=q+1<<16>>16;if((s|0)==7)break;g[M+(h+1<<2)>>2]=n+m;g[M+(o<<2)>>2]=B;g[M+(o+1<<2)>>2]=D;g[M+(o+2<<2)>>2]=G;g[M+(o+3<<2)>>2]=H;b[O>>1]=r;b[J+(p+2<<1)>>1]=q;o=o+8|0;h=h+8|0;s=s+1|0;t=t+1|0;j=j+.2617993950843811;p=p+3|0}g[M+(I+177<<2)>>2]=v+m;g[M+(I+180<<2)>>2]=B;g[M+(I+181<<2)>>2]=D;g[M+(I+182<<2)>>2]=G;g[M+(I+183<<2)>>2]=H;b[O>>1]=r;b[J+(u<<1)>>1]=q;b[J+(C+63<<1)>>1]=K;q=C+65|0;c[N>>2]=q;b[J+(C+64<<1)>>1]=L+22;o=1;h=22;p=I+188|0;r=C+66|0;while(1){h=h+1|0;A=j;g[M+(f<<2)>>2]=k+z*+E(+A);g[M+(f+1<<2)>>2]=v+z*+F(+A);g[M+(p<<2)>>2]=B;g[M+(p+1<<2)>>2]=D;g[M+(p+2<<2)>>2]=G;g[M+(p+3<<2)>>2]=H;I=b[O>>1]|0;b[O>>1]=I+1<<16>>16;b[J+(q<<1)>>1]=I;o=o+1|0;b[J+(r<<1)>>1]=K;b[J+(r+1<<1)>>1]=h+L;if((o|0)==7)break;else{f=f+8|0;j=j+.2617993950843811;p=p+8|0;q=r+2|0;r=r+3|0}}c[N>>2]=C+84;b[J+(C+83<<1)>>1]=L+1}while(0);l=P;return}function LR(f,h,i,j,k){f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+32|0;p=D+24|0;o=D+16|0;n=D+8|0;m=D;do if(i>>>0>=3){A=i<<1;if(!h){oO(381320,5,380971,m);break}if((c[h>>2]|0)!=(f|0)){oO(381320,3,380978,n);break}OR(f,h);m=f+56|0;if(!(c[m>>2]|0)){oO(381320,3,380998,o);break}if(!(PR(f,h)|0)){oO(381320,1,381011,p);break}QR(f,h);RR(f,1);n=c[(c[(c[m>>2]|0)+104>>2]|0)+164>>2]|0;C=n+104|0;m=(e[C>>1]|0)+i|0;if(m>>>0>=(e[n+106>>1]|0)>>>0?!(SR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);B=n+112|0;m=(c[B>>2]|0)+A|0;if(m>>>0>=(c[n+116>>2]|0)>>>0?!(TR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);x=c[n+100>>2]|0;y=c[n+108>>2]|0;z=b[C>>1]|0;w=z&65535;n=w<<3;f=n|4;s=+(d[k>>0]|0);q=+(d[k+3>>0]|0);t=+(d[k+1>>0]|0);r=+(d[k+2>>0]|0);if(a[h+44>>0]|0){q=q*(+(d[h+48>>0]|0)/255.0);r=r*(+(d[h+47>>0]|0)/255.0);t=t*(+(d[h+46>>0]|0)/255.0);s=s*(+(d[h+45>>0]|0)/255.0)}v=q/255.0;u=r/255.0;r=t/255.0;q=s/255.0;c[x+(n<<2)>>2]=c[j>>2];c[x+((n|1)<<2)>>2]=c[j+4>>2];g[x+(f<<2)>>2]=q;g[x+((n|5)<<2)>>2]=r;g[x+((n|6)<<2)>>2]=u;g[x+((n|7)<<2)>>2]=v;b[C>>1]=z+1<<16>>16;h=c[B>>2]|0;m=h+1|0;c[B>>2]=m;b[y+(h<<1)>>1]=z;if((A|0)>2){k=(A+-3|0)>>>1;h=k<<1;o=2;p=0;i=m;while(1){A=f;f=f+8|0;E=n;n=n+8|0;c[x+(n<<2)>>2]=c[j+(o<<2)>>2];c[x+(E+9<<2)>>2]=c[j+((o|1)<<2)>>2];g[x+(f<<2)>>2]=q;g[x+(A+9<<2)>>2]=r;g[x+(A+10<<2)>>2]=u;g[x+(A+11<<2)>>2]=v;A=b[C>>1]|0;b[C>>1]=A+1<<16>>16;b[y+(i<<1)>>1]=A;A=p;p=p+1|0;b[y+(i+1<<1)>>1]=p+w;if((A|0)==(k|0))break;else{o=o+2|0;i=i+2|0}}m=m+h+2|0;c[B>>2]=m}c[B>>2]=m+1;b[y+(m<<1)>>1]=z}while(0);l=D;return}function MR(f,h,i,j,k,m){f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,G=0,H=0.0,I=0,J=0.0,L=0.0,M=0.0,N=0.0;I=l;l=l+32|0;q=I+24|0;p=I+16|0;o=I+8|0;n=I;do if(i>>>0>=2){H=+uR(f)*.5;t=i<<2;r=t+-4|0;G=(m<<31>>31)+i|0;x=m?r:t|2;if(!h){oO(381320,5,380971,n);break}if((c[h>>2]|0)!=(f|0)){oO(381320,3,380978,o);break}OR(f,h);n=f+56|0;if(!(c[n>>2]|0)){oO(381320,3,380998,p);break}if(!(PR(f,h)|0)){oO(381320,1,381011,q);break}QR(f,h);RR(f,5);o=c[(c[(c[n>>2]|0)+104>>2]|0)+164>>2]|0;D=o+104|0;n=(e[D>>1]|0)+(m?r:t)|0;if((n|0)>=(e[o+106>>1]|0)?!(SR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);C=o+112|0;n=(c[C>>2]|0)+x|0;if(n>>>0>=(c[o+116>>2]|0)>>>0?!(TR(o,n)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);B=c[o+100>>2]|0;x=c[o+108>>2]|0;f=b[D>>1]|0;A=f&65535;o=A<<3;v=+(d[k+2>>0]|0);w=+(d[k+1>>0]|0);s=+(d[k+3>>0]|0);u=+(d[k>>0]|0);if(a[h+44>>0]|0){s=s*(+(d[h+48>>0]|0)/255.0);v=v*(+(d[h+47>>0]|0)/255.0);w=w*(+(d[h+46>>0]|0)/255.0);u=u*(+(d[h+45>>0]|0)/255.0)}z=s/255.0;y=v/255.0;v=w/255.0;s=u/255.0;n=0;t=o|4;p=f;q=c[C>>2]|0;while(1){r=n<<1;N=+g[j+(r<<2)>>2];M=+g[j+((r|1)<<2)>>2];n=n+1|0;r=(n|0)==(i|0);h=n<<1;L=+g[(r?j:j+(h<<2)|0)>>2];u=+g[j+((r?1:h|1)<<2)>>2];J=+K(+(u-M),+(L-N));w=H*+E(+J);J=H*+F(+J);g[B+(o<<2)>>2]=N+J;g[B+((o|1)<<2)>>2]=M-w;g[B+(t<<2)>>2]=s;g[B+(t+1<<2)>>2]=v;g[B+(t+2<<2)>>2]=y;g[B+(t+3<<2)>>2]=z;b[D>>1]=p+1<<16>>16;b[x+(q<<1)>>1]=p;g[B+(o+8<<2)>>2]=N-J;g[B+(o+9<<2)>>2]=M+w;g[B+(t+8<<2)>>2]=s;g[B+(t+9<<2)>>2]=v;g[B+(t+10<<2)>>2]=y;g[B+(t+11<<2)>>2]=z;h=b[D>>1]|0;b[D>>1]=h+1<<16>>16;b[x+(q+1<<1)>>1]=h;g[B+(o+16<<2)>>2]=L+J;g[B+(o+17<<2)>>2]=u-w;g[B+(t+16<<2)>>2]=s;g[B+(t+17<<2)>>2]=v;g[B+(t+18<<2)>>2]=y;g[B+(t+19<<2)>>2]=z;h=b[D>>1]|0;b[D>>1]=h+1<<16>>16;b[x+(q+2<<1)>>1]=h;g[B+(o+24<<2)>>2]=L-J;g[B+(o+25<<2)>>2]=u+w;g[B+(t+24<<2)>>2]=s;g[B+(t+25<<2)>>2]=v;g[B+(t+26<<2)>>2]=y;g[B+(t+27<<2)>>2]=z;h=b[D>>1]|0;b[D>>1]=h+1<<16>>16;r=q+4|0;b[x+(q+3<<1)>>1]=h;if((n|0)>=(G|0))break;t=t+32|0;o=o+32|0;p=b[D>>1]|0;q=r}c[C>>2]=r;if(!m){b[x+(r<<1)>>1]=f;c[C>>2]=q+6;b[x+(q+5<<1)>>1]=A+1}}while(0);l=I;return}function NR(f,h,i,j,k){f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+32|0;p=E+24|0;o=E+16|0;n=E+8|0;m=E;do if(i>>>0>=3){B=i<<1;if(!h){oO(380953,5,380971,m);break}if((c[h>>2]|0)!=(f|0)){oO(380953,3,380978,n);break}OR(f,h);m=f+56|0;if(!(c[m>>2]|0)){oO(380953,3,380998,o);break}if(!(PR(f,h)|0)){oO(380953,1,381011,p);break}QR(f,h);RR(f,4);n=c[(c[(c[m>>2]|0)+104>>2]|0)+164>>2]|0;D=n+104|0;m=(e[D>>1]|0)+i|0;if(m>>>0>=(e[n+106>>1]|0)>>>0?!(SR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);C=n+112|0;m=(i*3|0)+-6+(c[C>>2]|0)|0;if(m>>>0>=(c[n+116>>2]|0)>>>0?!(TR(n,m)|0):0)fi[c[(c[f+72>>2]|0)+164>>2]&511](f);A=c[n+100>>2]|0;x=c[n+108>>2]|0;y=b[D>>1]|0;z=y&65535;m=z<<3;n=m|4;s=+(d[k+2>>0]|0);t=+(d[k+1>>0]|0);q=+(d[k+3>>0]|0);r=+(d[k>>0]|0);if(a[h+44>>0]|0){q=q*(+(d[h+48>>0]|0)/255.0);s=s*(+(d[h+47>>0]|0)/255.0);t=t*(+(d[h+46>>0]|0)/255.0);r=r*(+(d[h+45>>0]|0)/255.0)}w=q/255.0;v=s/255.0;s=t/255.0;q=r/255.0;c[A+(m<<2)>>2]=c[j>>2];c[A+((m|1)<<2)>>2]=c[j+4>>2];g[A+(n<<2)>>2]=q;g[A+((m|5)<<2)>>2]=s;g[A+((m|6)<<2)>>2]=v;g[A+((m|7)<<2)>>2]=w;b[D>>1]=y+1<<16>>16;h=c[C>>2]|0;b[x+(h<<1)>>1]=y;c[A+(m+8<<2)>>2]=c[j+8>>2];c[A+(m+9<<2)>>2]=c[j+12>>2];g[A+(n+8<<2)>>2]=q;g[A+(n+9<<2)>>2]=s;g[A+(n+10<<2)>>2]=v;g[A+(n+11<<2)>>2]=w;k=b[D>>1]|0;b[D>>1]=k+1<<16>>16;b[x+(h+1<<1)>>1]=k;c[A+(m+16<<2)>>2]=c[j+16>>2];c[A+(m+17<<2)>>2]=c[j+20>>2];g[A+(n+16<<2)>>2]=q;g[A+(n+17<<2)>>2]=s;g[A+(n+18<<2)>>2]=v;g[A+(n+19<<2)>>2]=w;k=b[D>>1]|0;b[D>>1]=k+1<<16>>16;u=h+3|0;c[C>>2]=u;b[x+(h+2<<1)>>1]=k;if(i>>>0>3&(B|0)>6){h=(B+-7|0)>>>1;k=h*3|0;h=h+2|0;f=2;p=m+24|0;m=n+24|0;n=6;o=u;while(1){b[x+(o<<1)>>1]=y;b[x+(o+1<<1)>>1]=f+z;c[A+(p<<2)>>2]=c[j+(n<<2)>>2];c[A+(p+1<<2)>>2]=c[j+((n|1)<<2)>>2];g[A+(m<<2)>>2]=q;g[A+(m+1<<2)>>2]=s;g[A+(m+2<<2)>>2]=v;g[A+(m+3<<2)>>2]=w;B=b[D>>1]|0;b[D>>1]=B+1<<16>>16;b[x+(o+2<<1)>>1]=B;if((f|0)==(h|0))break;else{f=f+1|0;p=p+8|0;m=m+8|0;n=n+2|0;o=o+3|0}}c[C>>2]=u+k+3}}while(0);l=E;return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0?(e=b+104|0,c[e>>2]|0):0)?(g=a+56|0,(c[g>>2]|0)!=(b|0)):0){fi[c[(c[a+72>>2]|0)+164>>2]&511](a);f=c[e>>2]|0;e=c[f+8>>2]|0;a=c[104297]|0;a:do if((a|0)!=0?(d=c[a+272>>2]|0,(d|0)!=0):0)while(1){if((c[d+4>>2]|0)==(e|0))break a;d=c[d+152>>2]|0;if(!d){d=0;break}}else d=0;while(0);tV(d,c[f>>2]|0)|0;c[g>>2]=b}return}function PR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+52|0;if(!(c[e>>2]&2))if(!b)d=0;else{c[(c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]=b;d=1}else{f=a+56|0;if((c[(c[(c[(c[f>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]|0)==(b|0))d=1;else{if(!b)d=0;else d=c[(c[b+12>>2]|0)+4>>2]|0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);$R(c[e>>2]|0,d);c[(c[(c[(c[f>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]=b;d=1}}return d|0}function QR(b,d){b=b|0;d=d|0;var e=0;e=l;l=l+32|0;ti[c[(c[b+72>>2]|0)+48>>2]&63](e,b,d,d+68|0);b=b+56|0;YR(c[(c[b>>2]|0)+104>>2]|0,(a[d+97>>0]|0)!=0);ZR(c[(c[b>>2]|0)+104>>2]|0,(a[d+98>>0]|0)!=0);_R(c[(c[b>>2]|0)+104>>2]|0,c[d+100>>2]|0);l=e;return}function RR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h;f=c[(c[b+56>>2]|0)+104>>2]|0;UR(b);g=f+164|0;if((c[(c[g>>2]|0)+8>>2]|0)!=(d|0)){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);c[(c[g>>2]|0)+8>>2]=d}VR(b,(a[f+96>>0]|0)!=0);g=f+100|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];WR(b,e);if((c[f+36>>2]|0)==(c[f+40>>2]|0))si[c[(c[b+72>>2]|0)+204>>2]&127](b,c[f+44>>2]|0,0);l=h;return}function SR(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=a+106|0;g=b[h>>1]|0;f=g&65535;if(f>>>0<d>>>0)if(g<<16>>16==-5536)f=0;else{do f=f<<1;while(f>>>0<=d>>>0);f=f>>>0<6e4?f:6e4;g=B2(f<<5)|0;d=a+100|0;i=c[d>>2]|0;s6(g|0,i|0,(e[a+104>>1]|0)<<5|0)|0;C2(i);c[d>>2]=g;b[h>>1]=f;Tf(34962,c[a+120>>2]|0);$f(34962,(e[h>>1]|0)<<5|0,0,35040);Tf(34962,c[a+124>>2]|0);$f(34962,(e[h>>1]|0)<<5|0,0,35040);f=1}else f=1;return f|0}function TR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+116|0;d=c[e>>2]|0;if(d>>>0<b>>>0)if((d|0)==-294967296)d=0;else{do d=d<<1;while(d>>>0<=b>>>0);d=d>>>0<4e9?d:-294967296;f=B2(d<<1)|0;b=a+108|0;g=c[b>>2]|0;s6(f|0,g|0,c[a+112>>2]<<1|0)|0;C2(g);c[b>>2]=f;c[e>>2]=d;Tf(34963,c[a+128>>2]|0);$f(34963,c[e>>2]<<1|0,0,35048);d=1}else d=1;return d|0}function UR(b){b=b|0;var d=0;d=b+56|0;if(a[(c[(c[d>>2]|0)+104>>2]|0)+128>>0]|0){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);a[(c[(c[d>>2]|0)+104>>2]|0)+128>>0]=0}return}function VR(b,e){b=b|0;e=e|0;var f=0,g=0;f=e&1;g=(c[(c[(c[b+56>>2]|0)+104>>2]|0)+164>>2]|0)+12|0;if((d[g>>0]|0|0)!=(e&1|0)){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);if(e)sg(3042);else og(3042);a[g>>0]=f}return}function WR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+32|0;d=e;f=c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0;if(!((((((c[f+16>>2]|0)==(c[b>>2]|0)?(c[f+20>>2]|0)==(c[b+4>>2]|0):0)?(c[f+24>>2]|0)==(c[b+8>>2]|0):0)?(c[f+28>>2]|0)==(c[b+12>>2]|0):0)?(c[f+32>>2]|0)==(c[b+16>>2]|0):0)?(c[f+36>>2]|0)==(c[b+20>>2]|0):0)){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];XR(a,d)}l=e;return}function XR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;j=k+8|0;g=k;e=c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);e=e+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];e=c[b>>2]|0;f=c[b+8>>2]|0;if((e|0)==(f|0)?(d=c[b+4>>2]|0,(d|0)==(c[b+12>>2]|0)):0){Zf(e|0,d|0);a=a+52|0}else h=4;do if((h|0)==4){a=a+52|0;if(!(c[a>>2]&8)){oO(381039,1,381058,g);break}else{_f(e|0,c[b+4>>2]|0,f|0,c[b+12>>2]|0);break}}while(0);e=c[a>>2]|0;do if(e&4){d=c[b+16>>2]|0;a=c[b+20>>2]|0;if((d|0)==(a|0)){Xf(d|0);break}if(!(e&16)){oO(381039,1,381145,j);break}else{Yf(d|0,a|0);break}}else oO(381039,1,381237,i);while(0);l=k;return}function YR(b,e){b=b|0;e=e|0;b=(c[b+164>>2]|0)+85|0;do if((d[b>>0]|0|0)!=(e&1|0)){a[b>>0]=e&1;if(e){sg(2929);break}else{og(2929);break}}while(0);return}function ZR(b,e){b=b|0;e=e|0;var f=0;f=e&1;b=(c[b+164>>2]|0)+86|0;if((d[b>>0]|0|0)!=(e&1|0)){a[b>>0]=f;mg(f|0)}return}function _R(a,b){a=a|0;b=b|0;a=(c[a+164>>2]|0)+88|0;if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;lg(b|0)}return}function $R(a,b){a=a|0;b=b|0;if(a&2|0)Uf(36160,b|0);return}function aS(a,b){a=a|0;b=b|0;return (a&b|0)==(b|0)|0}function bS(a){a=a|0;switch(a|0){case 5130:{a=8;break}case 5126:{a=4;break}case 5124:{a=4;break}case 5125:{a=4;break}case 5122:{a=2;break}case 5123:{a=2;break}case 5120:{a=1;break}case 5121:{a=1;break}default:a=0}return a|0}function cS(a,b){a=a|0;b=b|0;return ((a|0)==0?0:(b|0)==0?a:b)|0}function dS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+512|0;i=k;if(!b)d=0;else{j=b+8|0;f=32;d=0;a:while(1){while(1){e=Uh[c[j>>2]&63](b,i,1,1)|0;if((e|0)<=0)break a;g=a[i>>0]|0;if(g<<24>>24==35)e=1;else{h=13;break}do{g=i+e|0;f=Uh[c[j>>2]&63](b,g,1,1)|0;if(!f)break;e=f+e|0}while((a[g>>0]|0)!=10);a[i+e>>0]=0;f=_5(i,381971)|0;if(!f){h=12;break}if(e3(f,381975)|0){h=12;break}e=_5(0,381983)|0;if(!e)f=32;else{h=11;break}}if((h|0)==11){f=32;d=d+1+(iS(e)|0)|0;continue}else if((h|0)==12){f=32;d=e+d|0;continue}else if((h|0)==13){d=e+d|0;if(f<<24>>24!=47){f=g;continue}switch(g<<24>>24){case 47:{hS(b,0);f=32;d=d+1|0;continue a}case 42:{hS(b,1);f=32;d=d+2|0;continue a}default:{f=32;continue a}}}}Uh[c[b+4>>2]&63](b,0,0,0)|0}l=k;return d|0}function eS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1024|0;i=m+512|0;j=m;if(!b){a[d>>0]=0;e=0}else{k=b+8|0;f=Uh[c[k>>2]&63](b,i,1,1)|0;if((f|0)>0){g=32;e=0;do{h=a[i>>0]|0;a:do if(h<<24>>24!=35){s6(d+e|0,i|0,f|0)|0;e=f+e|0;if(g<<24>>24==47)switch(h<<24>>24){case 47:{hS(b,0);a[d+e>>0]=10;g=32;e=e+1|0;break a}case 42:{hS(b,1);g=d+e|0;a[g>>0]=42;a[g+1>>0]=47;g=32;e=e+2|0;break a}default:{g=32;break a}}else g=h}else{f=1;do{h=i+f|0;g=Uh[c[k>>2]&63](b,h,1,1)|0;if(!g)break;f=g+f|0}while((a[h>>0]|0)!=10);s6(j|0,i|0,f+1|0)|0;a[j+f>>0]=0;g=_5(j,381971)|0;if((g|0)!=0?(e3(g,381975)|0)==0:0){f=_5(0,381983)|0;if(f){e=(gS(f,d+e|0)|0)+e|0;a[d+e>>0]=10;e=e+1|0}}else{s6(d+e|0,i|0,f|0)|0;e=f+e|0}g=32}while(0);f=Uh[c[k>>2]&63](b,i,1,1)|0}while((f|0)>0)}else e=0;a[d+e>>0]=0;Uh[c[b+4>>2]&63](b,0,0,0)|0}l=m;return e|0}function fS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+48|0;h=j+32|0;g=j+24|0;f=j+16|0;d=j+40|0;e=j+36|0;c[d>>2]=b;switch(a|0){case 0:{a=35633;i=4;break}case 1:{a=35632;i=4;break}case 2:{oO(381700,1,381778,j);v4(434221,256,381825,j+8|0);a=0;break}default:i=5}if((i|0)==4){a=fg(a|0)|0;if(a){Sg(a|0,1,d|0,0);dg(a|0);Gg(a|0,35713,e|0);if(!(c[e>>2]|0)){oO(381700,2,381939,h);Fg(a|0,256,0,434221);jg(a|0);a=0}}else i=5}if((i|0)==5){oO(381700,1,381867,f);v4(434221,256,381902,g);a=0}l=j;return a|0}function gS(a,b){a=a|0;b=b|0;var d=0;if(!a)a=0;else{d=F0(a,381985)|0;a=eS(d,b)|0;Rh[c[d+16>>2]&511](d)|0}return a|0}function hS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b+8|0;a:do if(Uh[c[g>>2]&63](b,f,1,1)|0){d=d<<24>>24==0;do{e=a[f>>0]|0;if(d){if(e<<24>>24==10)break a}else if(e<<24>>24==42?(e=(Uh[c[g>>2]&63](b,f,1,1)|0)==0,e|(a[f>>0]|0)==47):0)break a}while((Uh[c[g>>2]&63](b,f,1,1)|0)!=0)}while(0);l=h;return}function iS(a){a=a|0;var b=0;if(!a)a=0;else{b=F0(a,381985)|0;a=dS(b)|0;Rh[c[b+16>>2]&511](b)|0}return a|0}function jS(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;f=c[(c[(zO()|0)+104>>2]|0)+164>>2]|0;d=a+52|0;if(!(((+g[f+40>>2]==+g[d>>2]?+g[f+44>>2]==+g[a+56>>2]:0)?+g[f+48>>2]==+g[a+60>>2]:0)?+g[f+52>>2]==+g[a+64>>2]:0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];yS(a,b)}l=e;return}function kS(a){a=a|0;xS(a);return}function lS(b){b=b|0;var d=0;d=a[b+128>>0]|0;b=(c[b+164>>2]|0)+4|0;if(d<<24>>24!=(a[b>>0]|0))a[b>>0]=d;return}function mS(b,d){b=b|0;d=d|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0;do if(a[d+26>>0]|0){k=c[b+56>>2]|0;sg(3089);f=+g[d+32>>2];h=+g[d+40>>2];i=+g[d+28>>2];j=+g[d+36>>2];if(!(c[d+104>>2]|0)){Rg(~~i|0,~~f|0,~~j|0,~~h|0);break}else{n=+(e[k+18>>1]|0);d=c[k+104>>2]|0;m=+(c[d+20>>2]|0)/+(e[k+16>>1]|0);l=+(c[d+24>>2]|0)/n;Rg(~~(i*m)|0,~~(+(~~((a[b+60>>0]|0)==0?n-(f+h):f)|0)*l)|0,~~(m*j)|0,~~(h*l)|0);break}}while(0);return}function nS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=0;do{d=c[b+136+(g*60|0)+32>>2]|0;if(((d|0?(c[b+136+(g*60|0)+28>>2]|0)>-1:0)?(k=b+136+(g*60|0)+4|0,(c[k>>2]|0)>0):0)?a[b+136+(g*60|0)+36>>0]|0:0){h=c[b+136+(g*60|0)+40>>2]|0;h=O(bS(c[b+136+(g*60|0)+44>>2]|0)|0,h)|0;i=b+136+(g*60|0)+12|0;j=b+136+(g*60|0)+52|0;e=d+(c[b+136+(g*60|0)+56>>2]|0)|0;d=c[b+136+(g*60|0)+24>>2]|0;f=0;while(1){s6(d|0,e|0,h|0)|0;d=d+(c[i>>2]|0)|0;s6(d|0,e|0,h|0)|0;d=d+(c[i>>2]|0)|0;s6(d|0,e|0,h|0)|0;d=d+(c[i>>2]|0)|0;s6(d|0,e|0,h|0)|0;f=f+4|0;if((f|0)>=(c[k>>2]|0))break;else{e=e+(c[j>>2]|0)|0;d=d+(c[i>>2]|0)|0}}}g=g+1|0}while((g|0)!=16);return}function oS(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;do{if((c[a+136+(d*60|0)+32>>2]|0)!=0?(c[a+136+(d*60|0)+28>>2]|0)>-1:0){e=c[a+136+(d*60|0)+4>>2]|0;b=(e|0)<(b|0)?e:b}d=d+1|0}while((d|0)!=16);return b|0}function pS(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;k=c[e+164>>2]|0;sS(b,e);j=k+132|0;Tf(34962,c[k+120+((d[j>>0]|0)<<2)>>2]|0);a[j>>0]=a[j>>0]^1;Tf(34963,c[k+128>>2]|0);j=f&65535;tS(j<<5,g,h<<1,i);g=e+48|0;b=c[g>>2]|0;if((b|0)>-1){tg(b|0);mh(c[g>>2]|0,2,5126,0,32,0)}i=e+52|0;b=c[i>>2]|0;if((b|0)>-1){tg(b|0);mh(c[i>>2]|0,2,5126,0,32,8)}f=e+56|0;b=c[f>>2]|0;if((b|0)>-1){tg(b|0);mh(c[f>>2]|0,4,5126,0,32,16)}uS(k,j);rg(c[k+8>>2]|0,h|0,5123,0);b=c[g>>2]|0;if((b|0)>-1)pg(b|0);b=c[i>>2]|0;if((b|0)>-1)pg(b|0);b=c[f>>2]|0;if((b|0)>-1)pg(b|0);vS(k);return}function qS(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;k=c[e+164>>2]|0;sS(b,e);j=k+132|0;Tf(34962,c[k+120+((d[j>>0]|0)<<2)>>2]|0);a[j>>0]=a[j>>0]^1;Tf(34963,c[k+128>>2]|0);j=f&65535;tS(j<<5,g,h<<1,i);g=e+48|0;b=c[g>>2]|0;if((b|0)>-1){tg(b|0);mh(c[g>>2]|0,2,5126,0,32,0)}f=e+56|0;b=c[f>>2]|0;if((b|0)>-1){tg(b|0);mh(c[f>>2]|0,4,5126,0,32,16)}uS(k,j);rg(c[k+8>>2]|0,h|0,5123,0);b=c[g>>2]|0;if((b|0)>-1)pg(b|0);b=c[f>>2]|0;if((b|0)>-1)pg(b|0);vS(k);return}function rS(a){a=a|0;if(a<<24>>24)og(3089);return}function sS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+256|0;e=i+192|0;f=i+128|0;g=i+64|0;h=i;d=d+60|0;if((c[d>>2]|0)>-1){xT(e,FT()|0);xT(f,ET()|0);if(a[b+96>>0]|0){wS(h);zT(h,e);xT(e,h)}AT(g,e,f);gh(c[d>>2]|0,1,0,g|0)}l=i;return}function tS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$f(34962,a|0,b|0,35040);if(d|0)$f(34963,c|0,d|0,35048);return}function uS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=0;do{if((c[b+136+(f*60|0)+32>>2]|0?(h=b+136+(f*60|0)+28|0,(c[h>>2]|0)>-1):0)?(i=b+136+(f*60|0)+4|0,j=c[i>>2]|0,(j|0)>0):0){k=(j|0)<(d|0)?j:d;Tf(34962,c[b+1096+(f<<2)>>2]|0);l=b+136+(f*60|0)+12|0;e=O(c[l>>2]|0,k)|0;g=b+136+(f*60|0)+8|0;$f(34962,e|0,c[g>>2]|0,35040);tg(c[h>>2]|0);mh(c[h>>2]|0,c[b+136+(f*60|0)+40>>2]|0,c[b+136+(f*60|0)+44>>2]|0,a[b+136+(f*60|0)+48>>0]|0,c[l>>2]|0,c[b+136+(f*60|0)+16>>2]|0);a[b+136+(f*60|0)>>0]=1;k=(c[i>>2]|0)-k|0;c[i>>2]=k;if((k|0)<1)e=c[b+136+(f*60|0)+24>>2]|0;else e=(c[g>>2]|0)+e|0;c[g>>2]=e}f=f+1|0}while((f|0)!=16);return}function vS(b){b=b|0;var d=0,e=0;d=0;do{e=b+136+(d*60|0)|0;if(a[e>>0]|0){pg(c[b+136+(d*60|0)+28>>2]|0);a[e>>0]=0}d=d+1|0}while((d|0)!=16);return}function wS(b){b=b|0;var d=0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0;q=c[(c[(zO()|0)+104>>2]|0)+164>>2]|0;p=c[q+96>>2]|0;q=a[q+84>>0]|0;wT(b);q=((q^1)&255|0)==((iO()|0)&1|0);d=p+68|0;f=+g[d>>2];h=p+16|0;i=f+ +(e[h>>1]|0);j=p+72|0;k=+g[j>>2];l=+g[p+88>>2];m=+g[p+92>>2];n=p+18|0;o=k+ +(e[n>>1]|0);if(q)yT(b,f,i,k,o,l,m);else yT(b,f,i,o,k,l,m);m=+(e[h>>1]|0)*.5;o=+(e[n>>1]|0)*.5;BT(b,m,o);DT(b,+g[p+80>>2]);BT(b,-m,-o);BT(b,m+ +g[d>>2],o+ +g[j>>2]);l=+g[p+84>>2];CT(b,l,l);BT(b,-+g[d>>2]-m,-+g[j>>2]-o);return}function xS(b){b=b|0;var d=0,e=0,f=0;d=c[(c[(zO()|0)+104>>2]|0)+164>>2]|0;e=d+56|0;f=b+68|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];c[e+24>>2]=c[f+24>>2];a[d+84>>0]=(c[b+8>>2]|0)!=0&1;return}function yS(a,b){a=a|0;b=b|0;var d=0.0,f=0;f=(c[(c[(zO()|0)+104>>2]|0)+164>>2]|0)+40|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+g[b+4>>2];do if(!(iO()|0)){f=c[a+8>>2]|0;if(f|0){d=+(e[f+38>>1]|0)-+g[b+12>>2]-d;break}a=c[a+104>>2]|0;if(a)d=+(c[a+24>>2]|0)-+g[b+12>>2]-d}while(0);nh(~~+g[b>>2]|0,~~d|0,~~+g[b+8>>2]|0,~~+g[b+12>>2]|0);return}function zS(a,b){a=a|0;b=b|0;a=c[(c[a+164>>2]|0)+96>>2]|0;return (a|0)==(b|0)|(a|0)==0|0}function AS(a,b){a=a|0;b=b|0;if((c[(c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]|0)==(b|0))fi[c[(c[a+72>>2]|0)+164>>2]&511](a);return}function BS(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+56|0;if((c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]|0)!=(b|0)){e=c[(c[b+100>>2]|0)+8>>2]|0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);Wf(3553,e|0);c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]=b}return}function CS(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;switch(c|0){case 6409:{c=a[d>>0]|0;a[b>>0]=c;a[b+1>>0]=c;a[b+2>>0]=c;c=-1;e=6;break}case 6410:{c=a[d>>0]|0;a[b>>0]=c;a[b+1>>0]=c;a[b+2>>0]=c;c=a[d+3>>0]|0;e=6;break}case 6408:{a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;c=a[d+3>>0]|0;e=6;break}case 6407:{a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;c=-1;e=6;break}default:{}}if((e|0)==6)a[b+3>>0]=c;return}function DS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i;g=c[(c[b+56>>2]|0)+104>>2]|0;GS(b);h=g+164|0;if((c[(c[h>>2]|0)+8>>2]|0)!=4){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);c[(c[h>>2]|0)+8>>2]=4}FS(i+24|0,d,e);VR(b,(a[e+56>>0]|0)!=0);h=e+60|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[f+16>>2]=c[h+16>>2];c[f+20>>2]=c[h+20>>2];WR(b,f);if((c[g+36>>2]|0)==(c[g+44>>2]|0))si[c[(c[b+72>>2]|0)+204>>2]&127](b,c[g+40>>2]|0,0);l=i;return}function ES(b){b=b|0;var d=0;d=(c[(c[b+56>>2]|0)+104>>2]|0)+164|0;if((a[(c[d>>2]|0)+4>>0]|0)!=1){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);a[(c[d>>2]|0)+4>>0]=1}return}function FS(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;h=(e|0)!=0;do if(!(a[c+44>>0]|0))if(h){e=e+52|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;a[b>>0]=e;a[b+1>>0]=e>>8;a[b+2>>0]=e>>16;a[b+3>>0]=e>>24;break}else{a[b>>0]=-1;a[b+1>>0]=-1>>8;a[b+2>>0]=-1>>16;a[b+3>>0]=-1>>24;break}else{i=a[c+45>>0]|0;g=a[c+46>>0]|0;f=a[c+47>>0]|0;c=a[c+48>>0]|0;if(h){i=~~(+(i&255)/255.0*+(d[e+52>>0]|0)/255.0*255.0)&255;g=~~(+(g&255)/255.0*+(d[e+53>>0]|0)/255.0*255.0)&255;f=~~(+(f&255)/255.0*+(d[e+54>>0]|0)/255.0*255.0)&255;c=~~(+(c&255)/255.0*+(d[e+55>>0]|0)/255.0*255.0)&255}a[b>>0]=i;a[b+1>>0]=g;a[b+2>>0]=f;a[b+3>>0]=c}while(0);return}function GS(b){b=b|0;var d=0;d=b+56|0;if(!(a[(c[(c[d>>2]|0)+104>>2]|0)+128>>0]|0)){fi[c[(c[b+72>>2]|0)+164>>2]&511](b);a[(c[(c[d>>2]|0)+104>>2]|0)+128>>0]=1}return}function HS(a,b){a=a|0;b=b|0;var d=0;do if(b|0){d=c[b>>2]|0;if((d|0)>1){c[b>>2]=d+-1;break}if(c[a+52>>2]&2|0)hg(1,b+4|0);C2(b)}while(0);return}function IS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;do if(b|0){d=b+160|0;e=c[d>>2]|0;if((e|0)>1){c[d>>2]=e+-1;break}h=c[b+164>>2]|0;C2(c[h+100>>2]|0);C2(c[h+108>>2]|0);if(!(a[b+4>>0]|0)){gg(2,h+120|0);gg(1,h+128|0);gg(16,h+1096|0)}d=c[b>>2]|0;if(d|0)UZ(d);f=b+136|0;g=b+144|0;d=c[g>>2]|0;if(c[f>>2]|0){e=0;do{C2(c[d+(e<<2)>>2]|0);e=e+1|0;d=c[g>>2]|0}while(e>>>0<(c[f>>2]|0)>>>0)}C2(d);f=b+148|0;g=b+156|0;d=c[g>>2]|0;if(c[f>>2]|0){e=0;do{C2(c[d+(e<<2)>>2]|0);e=e+1|0;d=c[g>>2]|0}while(e>>>0<(c[f>>2]|0)>>>0)}C2(d);C2(h);C2(b)}while(0);return}function JS(a,b){a=a|0;b=b|0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);$R(c[a+52>>2]|0,b);c[(c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]=0;return}function KS(a,b){a=a|0;b=b|0;var d=0;d=a+56|0;if((c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]|0)==(b|0)){fi[c[(c[a+72>>2]|0)+164>>2]&511](a);c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]=0}return}function LS(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;if(d|0?zS(c[(c[a+56>>2]|0)+104>>2]|0,d)|0:0)fi[c[(c[a+72>>2]|0)+164>>2]&511](a);d=O(e[b+38>>1]|0,e[b+36>>1]|0)|0;d=B2(O(d,c[b+28>>2]|0)|0)|0;if(!(OS(a,b,c[(c[b+100>>2]|0)+12>>2]|0,d)|0)){C2(d);d=0}return d|0}function MS(b){b=b|0;var d=0,e=0,f=0,g=0;switch(b|0){case 6407:{d=0;g=3;e=3;break}case 6408:{d=-16777216;g=4;e=3;break}default:b=0}if((e|0)==3){b=B2(44)|0;e=b;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[b+8>>0]=g<<3;a[b+9>>0]=g;c[b+12>>2]=255;a[b+32>>0]=0;a[b+28>>0]=0;c[b+16>>2]=65280;f=b+29|0;a[f>>0]=8;a[b+33>>0]=8;a[f>>0]=0;c[b+20>>2]=16711680;f=b+30|0;a[f>>0]=8;a[b+34>>0]=16;a[f>>0]=0;c[b+24>>2]=d;f=b+35|0;a[f>>0]=0;g=b+31|0;a[g>>0]=8;if(d){e=0;do{e=e+1<<24>>24;d=d>>>1}while(!(d&1|0));a[f>>0]=e;e=8;do{e=e+-1<<24>>24;d=d>>>1}while((d&1|0)!=0);a[g>>0]=e}}return b|0}function NS(a){a=a|0;C2(a);return}function OS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if(b){f=b+8|0;g=c[f>>2]|0;if(!g){h=a+72|0;Sh[c[(c[h>>2]|0)+104>>2]&255](a,b)|0;g=PS(a,c[f>>2]|0,d,e)|0;li[c[(c[h>>2]|0)+108>>2]&511](a,c[f>>2]|0);a=g;break}else{a=PS(a,g,d,e)|0;break}}else a=0;while(0);return a|0}function PS(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;if(b){if(zS(c[(c[a+56>>2]|0)+104>>2]|0,b)|0)fi[c[(c[a+72>>2]|0)+164>>2]&511](a);if(PR(a,b)|0){Pg(0,0,e[b+22>>1]|0|0,e[b+24>>1]|0|0,d|0,5121,f|0);a=1}else a=0}else a=0;return a|0}function QS(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(zS(c[(c[a+56>>2]|0)+104>>2]|0,d)|0)fi[c[(c[a+72>>2]|0)+164>>2]&511](a);f=c[d+8>>2]|0;if(!f)i=4;else i=c[f+28>>2]|0;j=d+22|0;k=d+24|0;f=B2(O(O(e[j>>1]|0,i)|0,e[k>>1]|0)|0)|0;if(PS(a,d,c[(c[d+12>>2]|0)+8>>2]|0,f)|0){g=O(e[j>>1]|0,i)|0;h=B2(g)|0;a=b[k>>1]|0;if((a&65535)>1){d=0;do{l=e[j>>1]|0;m=f+(O(O(d,i)|0,l)|0)|0;l=f+(O(O((a&65535)+~d|0,i)|0,l)|0)|0;s6(h|0,m|0,g|0)|0;s6(m|0,l|0,g|0)|0;s6(l|0,h|0,g|0)|0;d=d+1|0;a=b[k>>1]|0}while((d|0)<((a&65535)>>>1&65535|0))}C2(h)}else{C2(f);f=0}return f|0}function RS(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;t=u+56|0;h=u+32|0;n=u+24|0;k=u+16|0;o=u+8|0;m=u;s=u+36|0;p=u+40|0;a:do if(!g)h=0;else{i=g+20|0;j=c[i>>2]|0;switch(j|0){case 11:case 10:case 9:case 4:case 3:{r=f+72|0;h=Uh[c[(c[r>>2]|0)+52>>2]&63](f,b[g+36>>1]|0,b[g+38>>1]|0,j)|0;if(!h){oO(382603,1,382617,m);h=0;break a}q=QO(h)|0;if(!q){PO(h);oO(382603,1,382645,o);h=0;break a}m=g+52|0;c[s>>2]=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=(a[g+56>>0]|0)!=0;n=c[g+84>>2]|0;o=(a[g+16>>0]|0)!=0;WO(g);XO(g,0);ZO(g,0);p=g+12|0;if(o){j=b[p>>1]|0;k=g+14|0;i=b[k>>1]|0;EO(g)}else{i=0;j=0;k=g+14|0}ui[c[(c[r>>2]|0)+112>>2]&1](f,g,0,q,+((e[p>>1]|0)>>>1&65535),+((e[k>>1]|0)>>>1&65535));a[t>>0]=a[s>>0]|0;a[t+1>>0]=a[s+1>>0]|0;a[t+2>>0]=a[s+2>>0]|0;a[t+3>>0]=a[s+3>>0]|0;UO(g,t);XO(g,m);ZO(g,n);if(o)CO(g,j,i);break a}case 6:case 5:case 2:case 1:{m=LS(f,g)|0;if(!m){oO(382603,1,382668,k);h=0;break a}h=SS(f,b[g+36>>1]|0,b[g+38>>1]|0,c[i>>2]|0)|0;if(!h){C2(m);oO(382603,1,382617,n);h=0;break a}ES(f);BS(f,h);k=c[(c[h+100>>2]|0)+12>>2]|0;i=e[h+12>>1]|0;j=e[h+14>>1]|0;if(!(c[f+52>>2]&1)){if(!(TS(i)|0))i=US(i)|0;if(!(TS(j)|0))j=US(j)|0}HO(p,+(i|0),+(j|0));f=c[h+28>>2]|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];VS(m,t,k,1,i,f);b[h+36>>1]=i;b[h+38>>1]=j;C2(m);break a}default:{oO(382603,1,382700,h);h=0;break a}}}while(0);l=u;return h|0}function SS(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p+8|0;h=p;m=p+16|0;switch(g|0){case 1:{i=1;j=6409;k=1;o=9;break}case 2:{i=1;j=6410;k=g;o=9;break}case 3:{i=1;j=6407;k=g;o=9;break}case 4:{i=1;j=6408;k=g;o=9;break}case 5:{i=1;j=6406;k=1;o=9;break}case 8:{i=3;j=6409;k=1;o=9;break}case 7:{i=3;j=6409;k=1;o=9;break}default:{c[h>>2]=g;oO(382739,2,382768,h);h=0}}do if((o|0)==9){h=YS(d)|0;if(!h){oO(382739,1,382800,n);h=0;break}else{o=B2(112)|0;c[o+104>>2]=1;n=B2(16)|0;c[n>>2]=1;c[o+8>>2]=0;c[o>>2]=d;c[o+4>>2]=c[d+56>>2];c[o+20>>2]=g;c[o+24>>2]=i;c[o+28>>2]=k;a[o+40>>0]=0;c[o+44>>2]=c[d+64>>2];c[o+48>>2]=c[d+68>>2];g=o+52|0;a[g>>0]=-1;a[g+1>>0]=-1>>8;a[g+2>>0]=-1>>16;a[g+3>>0]=-1>>24;a[o+56>>0]=1;g=o+60|0;YO(m);c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[g+16>>2]=c[m+16>>2];c[g+20>>2]=c[m+20>>2];c[o+84>>2]=1;c[o+88>>2]=3;c[o+92>>2]=0;c[o+96>>2]=0;c[o+100>>2]=n;a[o+108>>0]=0;c[n+8>>2]=h;a[n+4>>0]=1;c[n+12>>2]=j;a[o+16>>0]=0;b[o+12>>1]=e;b[o+14>>1]=f;b[o+32>>1]=e;b[o+34>>1]=f;b[o+36>>1]=e;b[o+38>>1]=f;h=o;break}}while(0);l=p;return h|0}function TS(a){a=a|0;return (a|0)!=0&(a+-1&a|0)==0|0}function US(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<a>>>0)b=b<<1;else break;return b|0}function VS(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0;i=l;l=l+16|0;k=i;Tg(3553,0,d|0,~~+g[b+8>>2]|0,~~+g[b+12>>2]|0,0,d|0,5121,0);j=O(h,f)|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];WS(a,k,d,e,f,j,h);l=i;return}function WS(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0;k=l;l=l+16|0;j=k;if(+(f|0)==+g[b+8>>2]){c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];XS(a,j,d,e)}else{f=c[104291]|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];Ai[f&15](a,j,d,e,h,i)}l=k;return}function XS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Og(3317,d|0);Vg(3553,0,~~+g[b>>2]|0,~~+g[b+4>>2]|0,~~+g[b+8>>2]|0,~~+g[b+12>>2]|0,c|0,5121,a|0);Og(3317,4);return}function YS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e;zg(1,b|0);d=c[b>>2]|0;if(!d)a=0;else{ZS(a,d);Ug(3553,10241,9729);Ug(3553,10240,9729);Ug(3553,10242,33071);Ug(3553,10243,33071);a=c[b>>2]|0}l=e;return a|0}function ZS(a,b){a=a|0;b=b|0;fi[c[(c[a+72>>2]|0)+164>>2]&511](a);Wf(3553,b|0);c[(c[(c[(c[a+56>>2]|0)+104>>2]|0)+164>>2]|0)+92>>2]=0;return}function _S(a){a=a|0;if(!a)return 0;else return (c[(c[a+52>>2]|0)+68>>2]&256|0)!=0|0;return 0}function $S(a){a=a|0;var b=0,c=0,d=0;do if((a|0)==0|(a&-268435456|0)==268435456){b=a>>>24&15;if(((b+-4|0)>>>0<3?(c=(a>>>20&15)+-3|0,c>>>0<6):0)?51>>>(c&255)&1:0){a=1;break}if((b+-7|0)>>>0<5?(d=(a>>>20&15)+-2|0,d>>>0<5):0)return (27>>>(d&31)&1)!=0|0;else a=0}else a=0;while(0);return a|0}function aT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=cT(a,c[b+4>>2]|0,d)|0;if((e|0)>=0){if(e){e=MS(a)|0;b=K_(b,e,0)|0;NS(e);if((d|0)!=0&(b|0)!=0)c[d>>2]=a}}else b=0;return b|0}function bT(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+56|0;e=c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]|0;if((e|0)==(b|0)|(e|0)==0){fi[c[(c[a+72>>2]|0)+164>>2]&511](a);c[(c[(c[(c[d>>2]|0)+104>>2]|0)+164>>2]|0)+96>>2]=0}return}function cT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;switch(b|0){case 6407:{if((((a[d+9>>0]|0)==3?(c[d+12>>2]|0)==255:0)?(c[d+16>>2]|0)==65280:0)?(c[d+20>>2]|0)==16711680:0)if(!e)d=0;else{c[e>>2]=6407;d=0}else d=1;break}case 6408:{if((((a[d+9>>0]|0)==4?(c[d+12>>2]|0)==255:0)?(c[d+16>>2]|0)==65280:0)?(c[d+20>>2]|0)==16711680:0)if(!e)d=0;else{c[e>>2]=6408;d=0}else d=1;break}default:{c[f>>2]=b;oO(383113,2,383132,f);d=-1}}l=g;return d|0}function dT(a,b){a=a|0;b=b|0;if(((+g[a>>2]==+g[b>>2]?+g[a+4>>2]==+g[b+4>>2]:0)?+g[a+8>>2]==+g[b+8>>2]:0)?+g[a+12>>2]==+g[b+12>>2]:0)a=+g[a+16>>2]==+g[b+16>>2];else a=0;return a|0}function eT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a|0?(e=c[a+104>>2]|0,e|0):0)iT(gT(c[e+8>>2]|0)|0,b,d);return}function fT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a|0?(e=c[a+104>>2]|0,e|0):0)hT(gT(c[e+8>>2]|0)|0,b,d);return}function gT(a){a=a|0;var b=0,d=0;d=c[104297]|0;a:do if((d|0)!=0?(b=c[d+272>>2]|0,(b|0)!=0):0)while(1){if((c[b+4>>2]|0)==(a|0))break a;b=c[b+152>>2]|0;if(!b){b=0;break}}else b=0;while(0);return b|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;PZ(a,b,c);return}function iT(a,b,c){a=a|0;b=b|0;c=c|0;KZ(a,b,c);return}function jT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[104297]|0;a:do if((f|0)!=0?(e=c[f+272>>2]|0,(e|0)!=0):0)while(1){if((c[e+4>>2]|0)==(a|0))break a;e=c[e+152>>2]|0;if(!e){e=0;break}}else e=0;while(0);z2(e,b,d);return}function kT(a){a=a|0;var b=0,d=0;a=a+104|0;b=c[a>>2]|0;if(b|0?(d=gT(c[b+8>>2]|0)|0,iT(d,b+12|0,b+16|0),!(lT(d)|0)):0){d=c[a>>2]|0;c[d+28>>2]=c[d+12>>2];c[d+32>>2]=c[d+16>>2]}return}function lT(a){a=a|0;return ((pV(a)|0)&1|0)!=0|0}function mT(a){a=a|0;return E0(a)|0}function nT(a){a=a|0;if(sT(a+8|0,a+12|0)|0)a=tT(a+48|0)|0;else a=0;return a|0}function oT(a){a=a|0;var b=0,d=0;b=a+52|0;c[b>>2]=0;if(((!(rT(385334)|0)?!(rT(385354)|0):0)?!(rT(385374)|0):0)?!(rT(385407)|0):0)a=c[b>>2]&-2;else a=c[b>>2]|1;c[b>>2]=a|6175;if(rT(385439)|0)c[b>>2]=c[b>>2]|32;if(rT(385450)|0)c[b>>2]=c[b>>2]|64;d=rT(385462)|0;a=c[b>>2]|0;if(d){a=a|128;c[b>>2]=a}c[b>>2]=a&-225;if(rT(385474)|0)c[b>>2]=c[b>>2]|512;if(rT(385497)|0)c[b>>2]=c[b>>2]|256;d=rT(385518)|0;a=c[b>>2]|0;if(d){a=a|1024;c[b>>2]=a}c[b>>2]=a|768;return}function pT(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;j=+g[b+12>>2];o=~~j>>>0;h=~~(+(h|0)*+g[b+8>>2])>>>0;if((o|0)!=0&(h|0)!=0){m=(h>>>0)%(e>>>0)|0;m=((m|0)==0?0:e-m|0)+h|0;k=B2(~~(j*+(m>>>0))>>>0)|0;h=a;a=0;i=k;while(1){s6(i|0,h|0,m|0)|0;a=a+1|0;if((a|0)==(o|0))break;else{h=h+f|0;i=i+m|0}}c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];XS(k,n,d,e);C2(k)}l=p;return}function qT(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0;k=~~+g[b+12>>2]>>>0;Og(3317,d|0);if(k|0?(h=+g[b+8>>2],h>0.0):0){j=~~+g[b>>2];i=~~h;h=+g[b+4>>2];d=0;f=a;while(1){Vg(3553,0,j|0,~~(+(d>>>0)+h)|0,i|0,1,c|0,5121,f|0);d=d+1|0;if((d|0)==(k|0))break;else f=f+e|0}}Og(3317,4);return}function rT(a){a=a|0;var b=0,c=0,d=0,e=0;b=Hg(7939)|0;a:do if((b|0)!=0?(d=r4(a)|0,c=r4(b)|0,e=b+c|0,(c|0)>0):0)while(1){c=X5(b,385542)|0;if((d|0)==(c|0)?(g3(a,b,d)|0)==0:0){b=1;break a}b=b+(c+1)|0;if(b>>>0>=e>>>0){b=0;break}}else b=0;while(0);return b|0}function sT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;f=i+8|0;e=i;d=Hg(7938)|0;if(d){c[e>>2]=a;c[e+4>>2]=b;if((a5(d,385630,e)|0)<1?(c[f>>2]=a,c[f+4>>2]=b,(a5(d,385646,f)|0)<1):0)h=4;else a=1}else h=4;if((h|0)==4){c[a>>2]=2;c[b>>2]=0;c[g>>2]=d;oO(385667,1,385682,g);a=0}l=i;return a|0}function tT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+8|0;d=h;f=h+16|0;g=h+12|0;b=Hg(35724)|0;if((b|0)!=0?(c[d>>2]=f,c[d+4>>2]=g,(a5(b,385544,d)|0)>=1):0){d=1;b=((c[f>>2]|0)*100|0)+(c[g>>2]|0)|0}else{c[e>>2]=b;oO(385568,1,385585,e);d=0;b=100}c[a>>2]=b;l=h;return d|0}function uT(a){a=a|0;if(a|0){C2(c[a+72>>2]|0);C2(a)}return}function vT(a){a=a|0;var b=0;if(a|0){c[a>>2]=1;c[a+4>>2]=1;a=a+8|0;c[a>>2]=B2(4)|0;b=B2(64)|0;c[c[a>>2]>>2]=b;wT(c[c[a>>2]>>2]|0)}return}function wT(a){a=a|0;var b=0,d=0;b=a+4|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[a+60>>2]=1.0;g[a+40>>2]=1.0;g[a+20>>2]=1.0;g[a>>2]=1.0;return}function xT(a,b){a=a|0;b=b|0;var d=0;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function yT(a,b,d,e,f,h,i){a=a|0;b=+b;d=+d;e=+e;f=+f;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0.0,p=0;k=l;l=l+64|0;j=k;if(a|0){o=d-b;g[j>>2]=2.0/o;p=j+4|0;n=f-e;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;g[j+20>>2]=2.0/n;p=j+24|0;m=i-h;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;g[j+40>>2]=-2.0/m;g[j+44>>2]=0.0;g[j+48>>2]=-(b+d)/o;g[j+52>>2]=-(e+f)/n;g[j+56>>2]=-(h+i)/m;g[j+60>>2]=1.0;zT(a,j)}l=k;return}function zT(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+64|0;d=c;AT(d,a,b);xT(a,d);l=c;return}function AT(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c+4|0;v=b+16|0;i=c+8|0;u=b+32|0;k=c+12|0;t=b+48|0;g[a>>2]=+g[c>>2]*+g[b>>2]+ +g[f>>2]*+g[v>>2]+ +g[i>>2]*+g[u>>2]+ +g[k>>2]*+g[t>>2];s=b+4|0;r=b+20|0;q=b+36|0;p=b+52|0;g[a+4>>2]=+g[c>>2]*+g[s>>2]+ +g[f>>2]*+g[r>>2]+ +g[i>>2]*+g[q>>2]+ +g[k>>2]*+g[p>>2];o=b+8|0;n=b+24|0;m=b+40|0;l=b+56|0;g[a+8>>2]=+g[c>>2]*+g[o>>2]+ +g[f>>2]*+g[n>>2]+ +g[i>>2]*+g[m>>2]+ +g[k>>2]*+g[l>>2];j=b+12|0;h=b+28|0;e=b+44|0;d=b+60|0;g[a+12>>2]=+g[c>>2]*+g[j>>2]+ +g[f>>2]*+g[h>>2]+ +g[i>>2]*+g[e>>2]+ +g[k>>2]*+g[d>>2];k=c+16|0;i=c+20|0;f=c+24|0;w=c+28|0;g[a+16>>2]=+g[k>>2]*+g[b>>2]+ +g[i>>2]*+g[v>>2]+ +g[f>>2]*+g[u>>2]+ +g[w>>2]*+g[t>>2];g[a+20>>2]=+g[k>>2]*+g[s>>2]+ +g[i>>2]*+g[r>>2]+ +g[f>>2]*+g[q>>2]+ +g[w>>2]*+g[p>>2];g[a+24>>2]=+g[k>>2]*+g[o>>2]+ +g[i>>2]*+g[n>>2]+ +g[f>>2]*+g[m>>2]+ +g[w>>2]*+g[l>>2];g[a+28>>2]=+g[k>>2]*+g[j>>2]+ +g[i>>2]*+g[h>>2]+ +g[f>>2]*+g[e>>2]+ +g[w>>2]*+g[d>>2];w=c+32|0;f=c+36|0;i=c+40|0;k=c+44|0;g[a+32>>2]=+g[w>>2]*+g[b>>2]+ +g[f>>2]*+g[v>>2]+ +g[i>>2]*+g[u>>2]+ +g[k>>2]*+g[t>>2];g[a+36>>2]=+g[w>>2]*+g[s>>2]+ +g[f>>2]*+g[r>>2]+ +g[i>>2]*+g[q>>2]+ +g[k>>2]*+g[p>>2];g[a+40>>2]=+g[w>>2]*+g[o>>2]+ +g[f>>2]*+g[n>>2]+ +g[i>>2]*+g[m>>2]+ +g[k>>2]*+g[l>>2];g[a+44>>2]=+g[w>>2]*+g[j>>2]+ +g[f>>2]*+g[h>>2]+ +g[i>>2]*+g[e>>2]+ +g[k>>2]*+g[d>>2];k=c+48|0;i=c+52|0;f=c+56|0;c=c+60|0;g[a+48>>2]=+g[k>>2]*+g[b>>2]+ +g[i>>2]*+g[v>>2]+ +g[f>>2]*+g[u>>2]+ +g[c>>2]*+g[t>>2];g[a+52>>2]=+g[k>>2]*+g[s>>2]+ +g[i>>2]*+g[r>>2]+ +g[f>>2]*+g[q>>2]+ +g[c>>2]*+g[p>>2];g[a+56>>2]=+g[k>>2]*+g[o>>2]+ +g[i>>2]*+g[n>>2]+ +g[f>>2]*+g[m>>2]+ +g[c>>2]*+g[l>>2];g[a+60>>2]=+g[k>>2]*+g[j>>2]+ +g[i>>2]*+g[h>>2]+ +g[f>>2]*+g[e>>2]+ +g[c>>2]*+g[d>>2];return}function BT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0;f=l;l=l+64|0;e=f;if(a|0){g[e>>2]=1.0;h=e+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[e+20>>2]=1.0;h=e+24|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[e+40>>2]=1.0;g[e+44>>2]=0.0;g[e+48>>2]=b;g[e+52>>2]=d;g[e+56>>2]=0.0;g[e+60>>2]=1.0;zT(a,e)}l=f;return}function CT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,h=0;f=l;l=l+64|0;e=f;if(a|0){g[e>>2]=b;h=e+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[e+20>>2]=d;h=e+24|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[e+40>>2]=1.0;h=e+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[e+60>>2]=1.0;zT(a,e)}l=f;return}function DT(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;e=l;l=l+64|0;d=e;if(a|0){m=b*.017453292519943295;h=+E(+m);m=+F(+m);b=1.0-h;j=b*0.0;k=m*0.0;g[d>>2]=h+j;g[d+4>>2]=m+j;i=j-k;g[d+8>>2]=i;g[d+12>>2]=0.0;g[d+16>>2]=j-m;g[d+20>>2]=h+j*0.0;j=k+j;g[d+24>>2]=j;g[d+28>>2]=0.0;g[d+32>>2]=j;g[d+36>>2]=i;g[d+40>>2]=h+b;f=d+44|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[d+60>>2]=1.0;zT(a,d)}l=e;return}function ET(){var a=0,b=0,d=0;a=zO()|0;if(((a|0)!=0?(b=c[a+104>>2]|0,(b|0)!=0):0)?(d=c[b+152>>2]|0,(d|0)!=0):0)a=c[(c[b+156>>2]|0)+(d+-1<<2)>>2]|0;else a=0;return a|0}function FT(){var a=0,b=0,d=0;a=zO()|0;if(((a|0)!=0?(b=c[a+104>>2]|0,(b|0)!=0):0)?(d=c[b+140>>2]|0,(d|0)!=0):0)a=c[(c[b+144>>2]|0)+(d+-1<<2)>>2]|0;else a=0;return a|0}function GT(b,c){b=b|0;c=c|0;var e=0;c=b+24|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(c|0){e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;while(1){a[e>>0]=a[e>>0]^-128;c=c+-1|0;if(!c)break;else e=e+1|0}}e=b+80|0;c=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)+1|0;a[e>>0]=c;a[e+1>>0]=c>>8;a[e+2>>0]=c>>16;a[e+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32760);return}function HT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=(d[f>>0]|0)<<8;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function IT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=((a[f>>0]^-128)&255)<<8;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function JT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=o6((d[f>>0]|0)<<8&65535|0)|0;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function KT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=o6(((a[f>>0]^-128)&255)<<8&65535|0)|0;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function LT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=b+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;if(!e)e=0;else{g=f+(e<<2)+-4|0;f=f+e|0;while(1){f=f+-1|0;c[g>>2]=((a[f>>0]^-128)&255)<<24;e=e+-1|0;if(!e)break;else g=g+-4|0}e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)<<2}a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32736);return}function MT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=b+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;if(!e)e=0;else{g=f+(e<<2)+-4|0;f=f+e|0;while(1){f=f+-1|0;c[g>>2]=p6(((a[f>>0]^-128)&255)<<24|0)|0;e=e+-1|0;if(!e)break;else g=g+-4|0}e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)<<2}a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28640);return}function NT(b,c){b=b|0;c=c|0;var e=0,f=0,h=0,i=0;e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;h=b+24|0;c=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=c<<2;if(c|0){f=e+i+-4|0;e=e+c|0;while(1){e=e+-1|0;g[f>>2]=+(d[e>>0]|0)*.007874015718698502+-1.0;c=c+-1|0;if(!c)break;else f=f+-4|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32480);return}function OT(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;k=e<<2;if(e|0){h=f+k+-4|0;f=f+e|0;while(1){f=f+-1|0;c[h>>2]=p6((g[j>>2]=+(d[f>>0]|0)*.007874015718698502+-1.0,c[j>>2]|0)|0)|0;e=e+-1|0;if(!e)break;else h=h+-4|0}}a[i>>0]=k;a[i+1>>0]=k>>8;a[i+2>>0]=k>>16;a[i+3>>0]=k>>24;k=b+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28384);return}function PT(b,c){b=b|0;c=c|0;var e=0;c=b+24|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(c|0){e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;while(1){a[e>>0]=a[e>>0]^-128;c=c+-1|0;if(!c)break;else e=e+1|0}}e=b+80|0;c=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)+1|0;a[e>>0]=c;a[e+1>>0]=c>>8;a[e+2>>0]=c>>16;a[e+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,8);return}function QT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=a[f>>0]<<8^32768;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function RT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=a[f>>0]<<8;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function ST(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=o6((a[f>>0]<<8^32768)&65535|0)|0;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function TT(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=c+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e<<1;if(e|0){g=f+i+-2|0;f=f+e|0;while(1){f=f+-1|0;b[g>>1]=o6(a[f>>0]<<8&65535|0)|0;e=e+-1|0;if(!e)break;else g=g+-2|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function UT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=b+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;if(!e)e=0;else{g=f+(e<<2)+-4|0;f=f+e|0;while(1){f=f+-1|0;c[g>>2]=(d[f>>0]|0)<<24;e=e+-1|0;if(!e)break;else g=g+-4|0}e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)<<2}a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32736);return}function VT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=b+24|0;e=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;if(!e)e=0;else{g=f+(e<<2)+-4|0;f=f+e|0;while(1){f=f+-1|0;c[g>>2]=p6((d[f>>0]|0)<<24|0)|0;e=e+-1|0;if(!e)break;else g=g+-4|0}e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)<<2}a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28640);return}function WT(b,c){b=b|0;c=c|0;var e=0,f=0,h=0,i=0;e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;h=b+24|0;c=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=c<<2;if(c|0){f=e+i+-4|0;e=e+c|0;while(1){e=e+-1|0;g[f>>2]=+(a[e>>0]|0)*.007874015718698502;c=c+-1|0;if(!c)break;else f=f+-4|0}}a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32480);return}function XT(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;k=e<<2;if(e|0){h=f+k+-4|0;f=f+e|0;while(1){f=f+-1|0;c[h>>2]=p6((g[j>>2]=+(a[f>>0]|0)*.007874015718698502,c[j>>2]|0)|0)|0;e=e+-1|0;if(!e)break;else h=h+-4|0}}a[i>>0]=k;a[i+1>>0]=k>>8;a[i+2>>0]=k>>16;a[i+3>>0]=k>>24;k=b+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28384);return}function YT(b,c){b=b|0;c=c|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>1;if(h){g=f;c=h;while(1){a[g>>0]=(e[f>>1]|0)>>>8;c=c+-1|0;if(!c)break;else{g=g+1|0;f=f+2|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/2|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,8);return}function ZT(b,c){b=b|0;c=c|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>1;if(h){g=f;c=h;while(1){a[g>>0]=(e[f>>1]|0)>>>8&255^-128;c=c+-1|0;if(!c)break;else{g=g+1|0;f=f+2|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/2|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32760);return}function _T(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=b[f>>1]^-32768;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function $T(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function aU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]^-32768|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function bU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=((b[g>>1]^-32768)&65535)<<16;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32736);return}function cU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=p6(((b[g>>1]^-32768)&65535)<<16|0)|0;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28640);return}function dU(b,c){b=b|0;c=c|0;var f=0,h=0,i=0,j=0,k=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;j=b+24|0;h=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;k=h<<1;c=h>>>1;if(c|0){i=f+k+-4|0;f=f+h+-2|0;while(1){g[i>>2]=+(e[f>>1]|0)*3.0518509447574615e-05+-1.0;c=c+-1|0;if(!c)break;else{i=i+-4|0;f=f+-2|0}}}a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=b+80|0;c=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=c;a[k+1>>0]=c>>8;a[k+2>>0]=c>>16;a[k+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32480);return}function eU(b,f){b=b|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=b+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;l=b+24|0;i=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;m=i<<1;f=i>>>1;if(f|0){k=h+m+-4|0;h=h+i+-2|0;while(1){c[k>>2]=p6((g[j>>2]=+(e[h>>1]|0)*3.0518509447574615e-05+-1.0,c[j>>2]|0)|0)|0;f=f+-1|0;if(!f)break;else{k=k+-4|0;h=h+-2|0}}}a[l>>0]=m;a[l+1>>0]=m>>8;a[l+2>>0]=m>>16;a[l+3>>0]=m>>24;m=b+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,-28384);return}function fU(b,c){b=b|0;c=c|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>1;if(h){g=f;c=h;while(1){a[g>>0]=(e[f>>1]|0)>>>8^128;c=c+-1|0;if(!c)break;else{g=g+1|0;f=f+2|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/2|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,8);return}function gU(b,c){b=b|0;c=c|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>1;if(h){g=f;c=h;while(1){a[g>>0]=(e[f>>1]|0)>>>8;c=c+-1|0;if(!c)break;else{g=g+1|0;f=f+2|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/2|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32760);return}function hU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=b[f>>1]^-32768;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function iU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]^-32768|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function jU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function kU(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;g=b+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=b+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=(e[g>>1]|0)<<16;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=b+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,-32736);return}function lU(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;g=b+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=b+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=p6((e[g>>1]|0)<<16|0)|0;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=b+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,-28640);return}function mU(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;j=c+24|0;h=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;k=h<<1;e=h>>>1;if(e|0){i=f+k+-4|0;f=f+h+-2|0;while(1){g[i>>2]=+(b[f>>1]|0)*3.0518509447574615e-05;e=e+-1|0;if(!e)break;else{i=i+-4|0;f=f+-2|0}}}a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=c+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32480);return}function nU(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;l=e+24|0;i=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;m=i<<1;f=i>>>1;if(f|0){k=h+m+-4|0;h=h+i+-2|0;while(1){c[k>>2]=p6((g[j>>2]=+(b[h>>1]|0)*3.0518509447574615e-05,c[j>>2]|0)|0)|0;f=f+-1|0;if(!f)break;else{k=k+-4|0;h=h+-2|0}}}a[l>>0]=m;a[l+1>>0]=m>>8;a[l+2>>0]=m>>16;a[l+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28384);return}function oU(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>1;if(h){g=f;e=h;while(1){a[g>>0]=b[f>>1];e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+2|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/2|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,8);return}function pU(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>1;if(h){g=f;e=h;while(1){a[g>>0]=b[f>>1]&255^-128;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+2|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/2|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32760);return}function qU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function rU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]^128|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function sU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=b[f>>1]^128;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function tU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=((o6(b[g>>1]^128|0)|0)&65535)<<16;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32736);return}function uU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=p6(((o6(b[g>>1]^128|0)|0)&65535)<<16|0)|0;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28640);return}function vU(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;j=c+24|0;h=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;k=h<<1;e=h>>>1;if(e|0){i=f+k+-4|0;f=f+h+-2|0;while(1){g[i>>2]=+((o6(b[f>>1]|0)|0)&65535)*3.0518509447574615e-05+-1.0;e=e+-1|0;if(!e)break;else{i=i+-4|0;f=f+-2|0}}}a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=c+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32480);return}function wU(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0,n=0.0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;l=e+24|0;i=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;m=i<<1;f=i>>>1;if(f|0){k=h+m+-4|0;h=h+i+-2|0;while(1){n=+((o6(b[h>>1]|0)|0)&65535)*3.0518509447574615e-05+-1.0;c[k>>2]=p6((g[j>>2]=n,c[j>>2]|0)|0)|0;f=f+-1|0;if(!f)break;else{k=k+-4|0;h=h+-2|0}}}a[l>>0]=m;a[l+1>>0]=m>>8;a[l+2>>0]=m>>16;a[l+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28384);return}function xU(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>1;if(h){g=f;e=h;while(1){a[g>>0]=(b[f>>1]<<8&65535)>>>8^128;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+2|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/2|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,8);return}function yU(c,e){c=c|0;e=e|0;var f=0,g=0,h=0,i=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>1;if(h){g=f;e=h;while(1){a[g>>0]=b[f>>1];e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+2|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/2|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=c+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32760);return}function zU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]^128|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function AU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=o6(b[f>>1]|0)|0;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function BU(c,e){c=c|0;e=e|0;var f=0;e=c+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>1;if(e|0){f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){b[f>>1]=b[f>>1]^128;e=e+-1|0;if(!e)break;else f=f+2|0}}f=c+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function CU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=((o6(b[g>>1]|0)|0)&65535)<<16;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32736);return}function DU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;j=e+24|0;f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=f>>>1;if(h){i=g+(f<<1)+-4|0;g=g+f+-2|0;f=h;while(1){c[i>>2]=p6(((o6(b[g>>1]|0)|0)&65535)<<16|0)|0;f=f+-1|0;if(!f)break;else{i=i+-4|0;g=g+-2|0}}f=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24}f=f<<1;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28640);return}function EU(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;j=c+24|0;h=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;k=h<<1;e=h>>>1;if(e|0){i=f+k+-4|0;f=f+h+-2|0;while(1){g[i>>2]=+((o6(b[f>>1]|0)|0)<<16>>16)*3.0518509447574615e-05;e=e+-1|0;if(!e)break;else{i=i+-4|0;f=f+-2|0}}}a[j>>0]=k;a[j+1>>0]=k>>8;a[j+2>>0]=k>>16;a[j+3>>0]=k>>24;k=c+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32480);return}function FU(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0,n=0.0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;l=e+24|0;i=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;m=i<<1;f=i>>>1;if(f|0){k=h+m+-4|0;h=h+i+-2|0;while(1){n=+((o6(b[h>>1]|0)|0)<<16>>16)*3.0518509447574615e-05;c[k>>2]=p6((g[j>>2]=n,c[j>>2]|0)|0)|0;f=f+-1|0;if(!f)break;else{k=k+-4|0;h=h+-2|0}}}a[l>>0]=m;a[l+1>>0]=m>>8;a[l+2>>0]=m>>16;a[l+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28384);return}function GU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>2;if(h){g=f;e=h;while(1){a[g>>0]=(c[f>>2]|0)>>>24^128;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+4|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/4|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=b+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,8);return}function HU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>2;if(h){g=f;e=h;while(1){a[g>>0]=(c[f>>2]|0)>>>24;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+4|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/4|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=b+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32760);return}function IU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=(c[g>>2]|0)>>>16^32768;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,16);return}function JU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=(c[g>>2]|0)>>>16;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32752);return}function KU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=o6(((c[g>>2]|0)>>>16^32768)&65535|0)|0;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,4112);return}function LU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=o6((c[g>>2]|0)>>>16&65535|0)|0;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28656);return}function MU(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6(c[f>>2]|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28640);return}function NU(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){g[f>>2]=+(c[f>>2]|0)*4.656612873077393e-10;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32480);return}function OU(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6((g[j>>2]=+(c[f>>2]|0)*4.656612873077393e-10,c[j>>2]|0)|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28384);return}function PU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>2;if(h){g=f;e=h;while(1){a[g>>0]=c[f>>2]^128;e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+4|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/4|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=b+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,8);return}function QU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=b+24|0;e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=e>>>2;if(h){g=f;e=h;while(1){a[g>>0]=c[f>>2];e=e+-1|0;if(!e)break;else{g=g+1|0;f=f+4|0}}e=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}e=(e|0)/4|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;i=b+80|0;e=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=e;a[i+1>>0]=e>>8;a[i+2>>0]=e>>16;a[i+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32760);return}function RU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=(p6(c[g>>2]|0)|0)>>>16^32768;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,16);return}function SU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=(p6(c[g>>2]|0)|0)>>>16;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32752);return}function TU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=o6(((p6(c[g>>2]|0)|0)>>>16^32768)&65535|0)|0;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,4112);return}function UU(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=e+16|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=e+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=j>>>2;if(f|0){h=g;while(1){b[h>>1]=o6((p6(c[g>>2]|0)|0)>>>16&65535|0)|0;f=f+-1|0;if(!f)break;else{h=h+2|0;g=g+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=e+80|0;f=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=f;a[j+1>>0]=f>>8;a[j+2>>0]=f>>16;a[j+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28656);return}function VU(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6(c[f>>2]|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32736);return}function WU(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){g[f>>2]=+(p6(c[f>>2]|0)|0)*4.656612873077393e-10;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32480);return}function XU(b,e){b=b|0;e=e|0;var f=0,h=0.0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){h=+(p6(c[f>>2]|0)|0)*4.656612873077393e-10;c[f>>2]=p6((g[j>>2]=h,c[j>>2]|0)|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28384);return}function YU(b,c){b=b|0;c=c|0;var e=0,f=0,h=0,i=0;e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>2;if(h){f=e;c=h;while(1){a[f>>0]=~~((+g[e>>2]+1.0)*127.0);c=c+-1|0;if(!c)break;else{f=f+1|0;e=e+4|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/4|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,8);return}function ZU(b,c){b=b|0;c=c|0;var e=0,f=0,h=0,i=0;e=b+16|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;i=b+24|0;c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=c>>>2;if(h){f=e;c=h;while(1){a[f>>0]=~~(+g[e>>2]*127.0);c=c+-1|0;if(!c)break;else{f=f+1|0;e=e+4|0}}c=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24}c=(c|0)/4|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;i=b+80|0;c=(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)+1|0;a[i>>0]=c;a[i+1>>0]=c>>8;a[i+2>>0]=c>>16;a[i+3>>0]=c>>24;c=b+40+(c<<2)|0;c=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;if(!c)return;li[c&511](b,-32760);return}function _U(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;e=j>>>2;if(e|0){h=f;while(1){b[h>>1]=~~((+g[f>>2]+1.0)*32767.0);e=e+-1|0;if(!e)break;else{h=h+2|0;f=f+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=c+80|0;e=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=e;a[j+1>>0]=e>>8;a[j+2>>0]=e>>16;a[j+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,16);return}function $U(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;e=j>>>2;if(e|0){h=f;while(1){b[h>>1]=~~(+g[f>>2]*32767.0);e=e+-1|0;if(!e)break;else{h=h+2|0;f=f+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=c+80|0;e=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=e;a[j+1>>0]=e>>8;a[j+2>>0]=e>>16;a[j+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-32752);return}function aV(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;e=j>>>2;if(e|0){h=f;while(1){b[h>>1]=o6(~~((+g[f>>2]+1.0)*32767.0)&65535|0)|0;e=e+-1|0;if(!e)break;else{h=h+2|0;f=f+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=c+80|0;e=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=e;a[j+1>>0]=e>>8;a[j+2>>0]=e>>16;a[j+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,4112);return}function bV(c,e){c=c|0;e=e|0;var f=0,h=0,i=0,j=0;f=c+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=c+24|0;j=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;e=j>>>2;if(e|0){h=f;while(1){b[h>>1]=o6(~~(+g[f>>2]*32767.0)|0)|0;e=e+-1|0;if(!e)break;else{h=h+2|0;f=f+4|0}}}j=(j|0)/2|0;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;j=c+80|0;e=(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)+1|0;a[j>>0]=e;a[j+1>>0]=e>>8;a[j+2>>0]=e>>16;a[j+3>>0]=e>>24;e=c+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](c,-28656);return}function cV(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=~~(+g[f>>2]*2147483647.0);e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32736);return}function dV(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6(~~(+g[f>>2]*2147483647.0)|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28640);return}function eV(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6(c[f>>2]|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28384);return}function fV(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;k=b+24|0;e=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;i=e>>>2;if(i){h=f;e=i;while(1){i=p6(c[f>>2]|0)|0;a[h>>0]=~~(((c[j>>2]=i,+g[j>>2])+1.0)*127.0);e=e+-1|0;if(!e)break;else{h=h+1|0;f=f+4|0}}e=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24}e=(e|0)/4|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;k=b+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,8);return}function gV(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0;f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;k=b+24|0;e=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;i=e>>>2;if(i){h=f;e=i;while(1){i=p6(c[f>>2]|0)|0;a[h>>0]=~~((c[j>>2]=i,+g[j>>2])*127.0);e=e+-1|0;if(!e)break;else{h=h+1|0;f=f+4|0}}e=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24}e=(e|0)/4|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;k=b+80|0;e=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=e;a[k+1>>0]=e>>8;a[k+2>>0]=e>>16;a[k+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32760);return}function hV(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;k=e+24|0;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=l>>>2;if(f|0){i=h;while(1){m=p6(c[h>>2]|0)|0;b[i>>1]=~~(((c[j>>2]=m,+g[j>>2])+1.0)*32767.0);f=f+-1|0;if(!f)break;else{i=i+2|0;h=h+4|0}}}m=(l|0)/2|0;a[k>>0]=m;a[k+1>>0]=m>>8;a[k+2>>0]=m>>16;a[k+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,16);return}function iV(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;k=e+24|0;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=l>>>2;if(f|0){i=h;while(1){m=p6(c[h>>2]|0)|0;b[i>>1]=~~((c[j>>2]=m,+g[j>>2])*32767.0);f=f+-1|0;if(!f)break;else{i=i+2|0;h=h+4|0}}}m=(l|0)/2|0;a[k>>0]=m;a[k+1>>0]=m>>8;a[k+2>>0]=m>>16;a[k+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-32752);return}function jV(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;k=e+24|0;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=l>>>2;if(f|0){i=h;while(1){m=p6(c[h>>2]|0)|0;b[i>>1]=o6(~~(((c[j>>2]=m,+g[j>>2])+1.0)*32767.0)&65535|0)|0;f=f+-1|0;if(!f)break;else{i=i+2|0;h=h+4|0}}}m=(l|0)/2|0;a[k>>0]=m;a[k+1>>0]=m>>8;a[k+2>>0]=m>>16;a[k+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,4112);return}function kV(e,f){e=e|0;f=f|0;var h=0,i=0,k=0,l=0,m=0;h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;k=e+24|0;l=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=l>>>2;if(f|0){i=h;while(1){m=p6(c[h>>2]|0)|0;b[i>>1]=o6(~~((c[j>>2]=m,+g[j>>2])*32767.0)|0)|0;f=f+-1|0;if(!f)break;else{i=i+2|0;h=h+4|0}}}m=(l|0)/2|0;a[k>>0]=m;a[k+1>>0]=m>>8;a[k+2>>0]=m>>16;a[k+3>>0]=m>>24;m=e+80|0;f=(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)+1|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;f=e+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](e,-28656);return}function lV(b,e){b=b|0;e=e|0;var f=0,h=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){h=p6(c[f>>2]|0)|0;c[f>>2]=~~((c[j>>2]=h,+g[j>>2])*2147483647.0);e=e+-1|0;if(!e)break;else f=f+4|0}}h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32736);return}function mV(b,e){b=b|0;e=e|0;var f=0,h=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){h=p6(c[f>>2]|0)|0;c[f>>2]=p6(~~((c[j>>2]=h,+g[j>>2])*2147483647.0)|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}h=b+80|0;e=(d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24)+1|0;a[h>>0]=e;a[h+1>>0]=e>>8;a[h+2>>0]=e>>16;a[h+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-28640);return}function nV(b,e){b=b|0;e=e|0;var f=0;e=b+24|0;e=(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24)>>>2;if(e|0){f=b+16|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;while(1){c[f>>2]=p6(c[f>>2]|0)|0;e=e+-1|0;if(!e)break;else f=f+4|0}}f=b+80|0;e=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)+1|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;e=b+40+(e<<2)|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(!e)return;li[e&511](b,-32480);return}
  33. function eA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=b+12|0;w=c[v>>2]|0;j=w+61|0;switch(a[j>>0]|0){case 7:{e=w+16|0;c[e>>2]=c[w+32>>2]<<2;d=w+76|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[w+136>>2]|0;if(a[d+5>>0]&3)$z(w,d);if(c[w+48>>2]&64|0?(f=c[w+40>>2]|0,a[f+5>>0]&3):0)$z(w,f);fA(w);d=c[w+96>>2]|0;if(d|0)do{if(a[d+5>>0]&3)$z(w,d);d=c[d>>2]|0}while((d|0)!=0);a[j>>0]=0;w=c[e>>2]|0;return w|0}case 0:{d=w+16|0;c[d>>2]=0;gA(w);if(!(c[w+76>>2]|0))a[j>>0]=1;w=c[d>>2]|0;return w|0}case 1:{d=w+76|0;if(!(c[d>>2]|0))r=w;else{do gA(w);while((c[d>>2]|0)!=0);r=c[v>>2]|0}h=c[r+80>>2]|0;a[r+61>>0]=8;s=r+16|0;c[s>>2]=0;if(a[b+5>>0]&3)$z(r,b);if(c[r+48>>2]&64|0?(e=c[r+40>>2]|0,a[e+5>>0]&3):0)$z(r,e);fA(r);e=r+104|0;d=c[e>>2]|0;a:do if(d|0)do{while(1){f=d+32|0;if((a[d+5>>0]&7)==0?c[f>>2]|0:0)break;o=d+40|0;c[e>>2]=c[o>>2];c[o>>2]=d;d=c[f>>2]|0;if(d|0)do{f=d+8|0;g=f+4|0;if(c[g>>2]|0){d=c[d>>2]|0;if(c[d+8>>2]&64|0?(i=c[d>>2]|0,a[i+5>>0]&3):0)$z(r,i);c[g>>2]=0}d=c[f>>2]|0}while((d|0)!=0);d=c[e>>2]|0;if(!d)break a}e=d+40|0;d=c[e>>2]|0}while((d|0)!=0);while(0);j=r+76|0;if(c[j>>2]|0)do gA(r);while((c[j>>2]|0)!=0);f=c[s>>2]|0;c[j>>2]=h;if(h|0)do gA(r);while((c[j>>2]|0)!=0);c[s>>2]=0;i=r+88|0;while(1){d=c[i>>2]|0;c[i>>2]=0;e=0;b:while(1){do{if(!d)break b;o=d;d=c[d+28>>2]|0}while(!(hA(r,o)|0));if(!(c[j>>2]|0)){e=1;continue}while(1){gA(r);if(!(c[j>>2]|0)){e=1;continue b}}}if(!e)break}k=r+84|0;iA(r,c[k>>2]|0,0);l=r+92|0;iA(r,c[l>>2]|0,0);m=c[k>>2]|0;n=c[l>>2]|0;d=c[s>>2]|0;h=r+96|0;g=h;while(1){e=c[g>>2]|0;if(!e)break;else g=e}o=d+f|0;f=r+72|0;d=c[f>>2]|0;c:do if(d|0){e=g;while(1){g=d;while(1){if(!(a[g+5>>0]&3))break;c[f>>2]=c[g>>2];c[g>>2]=c[e>>2];c[e>>2]=g;d=c[f>>2]|0;if(!d)break c;else{e=g;g=d}}d=c[g>>2]|0;if(!d)break;else f=g}}while(0);c[r+120>>2]=1;d=c[h>>2]|0;if(d|0)do{if(a[d+5>>0]&3)$z(r,d);d=c[d>>2]|0}while((d|0)!=0);if(c[j>>2]|0)do gA(r);while((c[j>>2]|0)!=0);c[s>>2]=0;while(1){d=c[i>>2]|0;c[i>>2]=0;e=0;d:while(1){do{if(!d)break d;h=d;d=c[d+28>>2]|0}while(!(hA(r,h)|0));if(!(c[j>>2]|0)){e=1;continue}while(1){gA(r);if(!(c[j>>2]|0)){e=1;continue d}}}if(!e)break}d=c[i>>2]|0;if(d|0)do{j=a[d+7>>0]|0;e=c[d+16>>2]|0;i=e+(1<<(j&255)<<5)|0;if(j<<24>>24!=31)do{f=e+8|0;do if(c[f>>2]|0?(p=e+24|0,q=c[p>>2]|0,q&64|0):0){g=c[e+16>>2]|0;h=(a[g+5>>0]&3)==0;if((q&15|0)==4){if(h)break;$z(r,g);break}else{if(h)break;c[f>>2]=0;c[p>>2]=10;break}}while(0);e=e+32|0}while(e>>>0<i>>>0);d=c[d+28>>2]|0}while((d|0)!=0);d=c[l>>2]|0;if(d|0)do{q=a[d+7>>0]|0;e=c[d+16>>2]|0;i=e+(1<<(q&255)<<5)|0;if(q<<24>>24!=31)do{f=e+8|0;do if(c[f>>2]|0?(t=e+24|0,u=c[t>>2]|0,u&64|0):0){g=c[e+16>>2]|0;h=(a[g+5>>0]&3)==0;if((u&15|0)==4){if(h)break;$z(r,g);break}else{if(h)break;c[f>>2]=0;c[t>>2]=10;break}}while(0);e=e+32|0}while(e>>>0<i>>>0);d=c[d+28>>2]|0}while((d|0)!=0);iA(r,c[k>>2]|0,m);iA(r,c[l>>2]|0,n);d=r+144|0;f=0;do{e=r+280+(f<<2)|0;if(a[(c[e>>2]|0)+5>>0]&3)c[e>>2]=c[d>>2];f=f+1|0}while((f|0)!=127);h=r+60|0;a[h>>0]=a[h>>0]^3;h=c[s>>2]|0;d=c[v>>2]|0;a[d+61>>0]=2;e=d+64|0;g=0;do{g=g+1|0;f=bA(b,e,1)|0}while((f|0)==(e|0));c[d+68>>2]=f;c[w+20>>2]=(c[w+12>>2]|0)+(c[w+8>>2]|0);w=o+h+(g*5|0)|0;return w|0}case 2:{d=w+72|0;e=w+68|0;f=c[e>>2]|0;if(f|0?(u=w+12|0,v=c[u>>2]|0,b=bA(b,f,80)|0,c[e>>2]=b,w=w+20|0,c[w>>2]=(c[u>>2]|0)-v+(c[w>>2]|0),b|0):0){w=400;return w|0}a[j>>0]=3;c[e>>2]=d;w=0;return w|0}case 3:{d=w+96|0;e=w+68|0;f=c[e>>2]|0;if(f|0?(u=w+12|0,v=c[u>>2]|0,b=bA(b,f,80)|0,c[e>>2]=b,w=w+20|0,c[w>>2]=(c[u>>2]|0)-v+(c[w>>2]|0),b|0):0){w=400;return w|0}a[j>>0]=4;c[e>>2]=d;w=0;return w|0}case 4:{d=w+68|0;e=c[d>>2]|0;if(e|0?(u=w+12|0,v=c[u>>2]|0,b=bA(b,e,80)|0,c[d>>2]=b,w=w+20|0,c[w>>2]=(c[u>>2]|0)-v+(c[w>>2]|0),b|0):0){w=400;return w|0}a[j>>0]=5;c[d>>2]=0;w=0;return w|0}case 5:{v=(c[w+136>>2]|0)+5|0;a[v>>0]=a[w+60>>0]&3|a[v>>0]&-8;if((a[w+62>>0]|0)!=1){e=w+12|0;g=c[e>>2]|0;v=w+108|0;t=c[v>>2]|0;f=w+116|0;d=c[f>>2]|0;u=Uh[c[w>>2]&63](c[w+4>>2]|0,t,d,0)|0;d=(t|0?0-d|0:0)+(c[e>>2]|0)|0;c[e>>2]=d;c[v>>2]=u;c[f>>2]=0;f=c[w+32>>2]|0;if((c[w+28>>2]|0)<((f|0)/4|0|0)){PA(b,(f|0)/2|0);d=c[e>>2]|0}w=w+20|0;c[w>>2]=d-g+(c[w>>2]|0)}a[j>>0]=6;w=0;return w|0}case 6:{f=w+96|0;if(c[f>>2]|0?(a[w+62>>0]|0)!=1:0){g=w+120|0;d=0;while(1){e=c[g>>2]|0;if(d>>>0>=e>>>0){h=117;break}cA(b,1);d=d+1|0;if(!(c[f>>2]|0)){e=0;break}}if((h|0)==117)e=e<<1;c[g>>2]=e;w=d*5|0;return w|0}a[j>>0]=7;w=0;return w|0}default:{w=0;return w|0}}return 0}function fA(b){b=b|0;var d=0;d=c[b+244>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+248>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+252>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+256>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+260>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+264>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+268>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+272>>2]|0;if(d|0?a[d+5>>0]&3:0)$z(b,d);d=c[b+276>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;$z(b,d);return}function gA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+76|0;t=c[f>>2]|0;k=t+5|0;e=d[k>>0]|0;a[k>>0]=e|4;switch(a[t+4>>0]|0){case 5:{n=t+28|0;c[f>>2]=c[n>>2];j=c[t+24>>2]|0;do if(j){h=j+6|0;i=a[h>>0]|0;if(!(i&8)){f=c[b+160>>2]|0;e=(c[j+16>>2]|0)+(((1<<d[j+7>>0])+-1&c[f+8>>2])<<5)|0;while(1){if((c[e+24>>2]|0)==68?(c[e+16>>2]|0)==(f|0):0){q=7;break}g=c[e+28>>2]|0;if(!g){e=412368;break}e=e+(g<<5)|0}if(!(c[e+8>>2]|0)){a[h>>0]=i|8;e=0}}else e=0;if(a[j+5>>0]&3)$z(b,j);if(((e|0)!=0?(c[e+8>>2]&15|0)==4:0)?(m=(c[e>>2]|0)+16|0,l=s4(m,107)|0,l=(l|0)!=0,m=(s4(m,118)|0)!=0,l|m):0){a[k>>0]=a[k>>0]&-5;if(l)if(m){s=b+92|0;c[n>>2]=c[s>>2];c[s>>2]=t;break}else{hA(b,t)|0;break}s=a[t+7>>0]|0;f=c[t+16>>2]|0;j=f+(1<<(s&255)<<5)|0;e=(c[t+8>>2]|0)!=0&1;if(s<<24>>24!=31)do{g=f+8|0;h=f+24|0;i=(c[h>>2]&64|0)==0;if(!(c[g>>2]|0)){if(!i?(a[(c[f+16>>2]|0)+5>>0]&3)!=0:0)c[h>>2]=10}else{if(!i?(p=c[f+16>>2]|0,a[p+5>>0]&3):0)$z(b,p);if(!e){h=c[g>>2]|0;do if(h&64){e=c[f>>2]|0;g=a[e+5>>0]&3;if((h&15|0)!=4){e=g&255;break}if(g<<24>>24){$z(b,e);e=0}else e=0}else e=0;while(0);e=(e|0)!=0&1}}f=f+32|0}while(f>>>0<j>>>0);if(!(a[b+61>>0]|0)){s=b+80|0;c[n>>2]=c[s>>2];c[s>>2]=t;break}if(e|0){s=b+84|0;c[n>>2]=c[s>>2];c[s>>2]=t}}else q=41}else q=41;while(0);if((q|0)==41){i=t+16|0;e=c[i>>2]|0;k=e+(1<<d[t+7>>0]<<5)|0;j=t+8|0;f=c[j>>2]|0;if(f){h=t+12|0;g=0;do{e=c[h>>2]|0;if((c[e+(g<<4)+8>>2]&64|0)!=0?(o=c[e+(g<<4)>>2]|0,(a[o+5>>0]&3)!=0):0){$z(b,o);f=c[j>>2]|0}g=g+1|0}while(g>>>0<f>>>0);e=c[i>>2]|0}if(e>>>0<k>>>0)do{g=e+8|0;f=c[g>>2]|0;h=e+24|0;i=(c[h>>2]&64|0)==0;if(!f){if(!i?a[(c[e+16>>2]|0)+5>>0]&3:0)c[h>>2]=10}else{if(!i?(r=c[e+16>>2]|0,(a[r+5>>0]&3)!=0):0){$z(b,r);f=c[g>>2]|0}if(f&64|0?(s=c[e>>2]|0,a[s+5>>0]&3):0)$z(b,s)}e=e+32|0}while(e>>>0<k>>>0)}e=(c[t+8>>2]<<4)+32+(32<<d[t+7>>0])|0;break}case 6:{c[f>>2]=c[t+8>>2];e=c[t+12>>2]|0;if(e|0?a[e+5>>0]&3:0)$z(b,e);i=t+6|0;e=a[i>>0]|0;if(!(e<<24>>24))e=e&255;else{j=b+61|0;h=0;while(1){f=c[t+16+(h<<2)>>2]|0;do if(f){g=c[f>>2]|0;f=f+8|0;if((g|0)!=(f|0)?(a[j>>0]|0)!=8:0){c[f+4>>2]=1;f=e;break}if((c[g+8>>2]&64|0)!=0?(n=c[g>>2]|0,(a[n+5>>0]&3)!=0):0){$z(b,n);f=a[i>>0]|0}else f=e}else f=e;while(0);h=h+1|0;e=f&255;if((h|0)>=(e|0))break;else e=f}}e=(e<<2)+16|0;break}case 38:{c[f>>2]=c[t+8>>2];h=t+6|0;e=a[h>>0]|0;if(!(e<<24>>24))e=e&255;else{g=0;while(1){if((c[t+16+(g<<4)+8>>2]&64|0)!=0?(i=c[t+16+(g<<4)>>2]|0,(a[i+5>>0]&3)!=0):0){$z(b,i);f=a[h>>0]|0}else f=e;g=g+1|0;e=f&255;if((g|0)>=(e|0))break;else e=f}}e=(e<<4)+16|0;break}case 8:{s=t+36|0;c[f>>2]=c[s>>2];i=b+80|0;c[s>>2]=c[i>>2];c[i>>2]=t;a[k>>0]=e&251;i=t+28|0;f=c[i>>2]|0;if(!f)e=1;else{g=t+8|0;e=c[g>>2]|0;if(f>>>0<e>>>0)do{if((c[f+8>>2]&64|0)!=0?(h=c[f>>2]|0,(a[h+5>>0]&3)!=0):0){$z(b,h);e=c[g>>2]|0}f=f+16|0}while(f>>>0<e>>>0);do if((a[b+61>>0]|0)==8){e=t+92|0;g=(c[i>>2]|0)+(c[e>>2]<<4)|0;if(f>>>0<g>>>0)do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<g>>>0);f=t+40|0;if((c[f>>2]|0)==(t|0)?(c[t+32>>2]|0)!=0:0){s=b+104|0;c[f>>2]=c[s>>2];c[s>>2]=t}}else{if((a[b+62>>0]|0)==1){e=t+92|0;break}h=c[t+16>>2]|0;if(h){f=h;do{s=c[f+4>>2]|0;e=e>>>0<s>>>0?s:e;f=c[f+8>>2]|0}while((f|0)!=0)}l=e-(c[i>>2]|0)|0;k=(l>>4)+1|0;k=((k|0)/8|0)+10+k|0;k=(k|0)<1e6?k:1e6;e=t+92|0;g=h+12|0;f=c[g>>2]|0;a:do if((c[e>>2]|0)>1e6){c[g>>2]=0;if(f|0){g=t+12|0;do{r=f;f=c[f+12>>2]|0;s=c[g>>2]|0;Uh[c[s>>2]&63](c[s+4>>2]|0,r,36,0)|0;s=s+12|0;c[s>>2]=(r|0?-36:0)+(c[s>>2]|0)}while((f|0)!=0)}}else if(f|0){j=t+12|0;do{i=h;h=c[f+12>>2]|0;if(!h)break a;s=c[j>>2]|0;Uh[c[s>>2]&63](c[s+4>>2]|0,f,36,0)|0;s=s+12|0;c[s>>2]=(f|0?-36:0)+(c[s>>2]|0);c[g>>2]=h;c[h+8>>2]=i;g=h+12|0;f=c[g>>2]|0}while((f|0)!=0)}while(0);if((l|0)<=15999984?(k|0)<(c[e>>2]|0):0)Lz(t,k)}while(0);e=(c[e>>2]<<4)+112|0}break}case 9:{c[f>>2]=c[t+76>>2];e=t+68|0;s=c[e>>2]|0;if(s|0?a[s+5>>0]&3:0)c[e>>2]=0;e=c[t+72>>2]|0;if(e|0?a[e+5>>0]&3:0)$z(b,e);l=t+16|0;e=c[l>>2]|0;if((e|0)>0){h=t+44|0;g=0;do{f=c[h>>2]|0;if((c[f+(g<<4)+8>>2]&64|0)!=0?(j=c[f+(g<<4)>>2]|0,(a[j+5>>0]&3)!=0):0){$z(b,j);e=c[l>>2]|0}g=g+1|0}while((g|0)<(e|0))}k=t+12|0;e=c[k>>2]|0;if((e|0)>0){h=t+64|0;g=0;do{f=c[(c[h>>2]|0)+(g<<3)>>2]|0;if((f|0)!=0?(a[f+5>>0]&3)!=0:0){$z(b,f);e=c[k>>2]|0}g=g+1|0}while((g|0)<(e|0))}j=t+28|0;e=c[j>>2]|0;if((e|0)>0){h=t+52|0;g=0;do{f=c[(c[h>>2]|0)+(g<<2)>>2]|0;if((f|0)!=0?(a[f+5>>0]&3)!=0:0){$z(b,f);e=c[j>>2]|0}g=g+1|0}while((g|0)<(e|0))}i=t+32|0;f=c[i>>2]|0;if((f|0)>0){h=t+60|0;g=0;do{e=c[(c[h>>2]|0)+(g*12|0)>>2]|0;if((e|0)!=0?(a[e+5>>0]&3)!=0:0){$z(b,e);f=c[i>>2]|0}g=g+1|0}while((g|0)<(f|0));e=c[j>>2]|0}e=(f*12|0)+80+(c[l>>2]<<4)+(c[k>>2]<<3)+((c[t+20>>2]|0)+e+(c[t+24>>2]|0)<<2)|0;break}default:return}b=b+16|0;c[b>>2]=(c[b>>2]|0)+e;return}function hA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=e+16|0;f=c[l>>2]|0;p=f+(1<<d[e+7>>0]<<5)|0;m=e+8|0;g=c[m>>2]|0;if(!g){i=f;g=0}else{j=e+12|0;h=g;i=0;g=0;while(1){f=c[j>>2]|0;if((c[f+(i<<4)+8>>2]&64|0)!=0?(k=c[f+(i<<4)>>2]|0,(a[k+5>>0]&3)!=0):0){$z(b,k);f=c[m>>2]|0;g=1}else f=h;i=i+1|0;if(i>>>0>=f>>>0)break;else h=f}i=c[l>>2]|0}if(i>>>0<p>>>0){h=0;f=0;n=i;do{k=n+8|0;l=c[k>>2]|0;i=n+24|0;m=c[i>>2]|0;j=(m&64|0)==0;a:do if(!l){if(!j?(a[(c[n+16>>2]|0)+5>>0]&3)!=0:0)c[i>>2]=10}else{do if(j){o=l;q=17}else{i=c[n+16>>2]|0;j=(a[i+5>>0]&3)==0;if((m&15|0)==4){if(j){o=l;q=17;break}$z(b,i);o=c[k>>2]|0;q=17;break}i=(l&64|0)==0;if(j)if(i)break a;else break;if(i){h=1;break a}h=1;f=(a[(c[n>>2]|0)+5>>0]&3)==0?f:1;break a}while(0);if((q|0)==17?(q=0,(o&64|0)==0):0)break;i=c[n>>2]|0;if(a[i+5>>0]&3){$z(b,i);g=1}}while(0);n=n+32|0}while(n>>>0<p>>>0)}else{h=0;f=0}do if(a[b+61>>0]|0){if(f|0){f=b+88|0;break}if(!h)return g|0;else{f=b+92|0;break}}else f=b+80|0;while(0);c[e+28>>2]=c[f>>2];c[f>>2]=e;return g|0}function iA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((e|0)==(f|0))return;do{n=e+16|0;g=c[n>>2]|0;p=g+(1<<(d[e+7>>0]|0)<<5)|0;o=e+8|0;h=c[o>>2]|0;if(h){m=e+12|0;g=h;l=0;do{h=c[m>>2]|0;j=h+(l<<4)+8|0;k=c[j>>2]|0;do if(k&64){h=c[h+(l<<4)>>2]|0;i=(a[h+5>>0]&3)==0;if((k&15|0)==4){if(i)break;$z(b,h);g=c[o>>2]|0;break}else{if(i)break;c[j>>2]=0;break}}while(0);l=l+1|0}while(l>>>0<g>>>0);g=c[n>>2]|0}if(g>>>0<p>>>0)do{h=g+8|0;i=c[h>>2]|0;do if(i&64|0){j=c[g>>2]|0;k=(a[j+5>>0]&3)==0;if((i&15|0)==4){if(k)break;$z(b,j);break}if((!k?(c[h>>2]=0,q=g+24|0,c[q>>2]&64|0):0)?a[(c[g+16>>2]|0)+5>>0]&3:0)c[q>>2]=10}while(0);g=g+32|0}while(g>>>0<p>>>0);e=c[e+28>>2]|0}while((e|0)!=(f|0));return}function jA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b+12|0;k=c[j>>2]|0;h=k+12|0;d=c[h>>2]|0;i=k+128|0;e=c[i>>2]|0;f=((d|0)/200|0)+1|0;if(!(a[k+63>>0]|0)){b=k+8|0;c[b>>2]=d+16e3+(c[b>>2]|0);c[h>>2]=-16e3;return}d=O(f,e)|0;g=k+61|0;e=(f|0)<(2147483647/(e|0)|0|0)?d:2147483647;do{e=e-(eA(b)|0)|0;d=(a[g>>0]|0)==7;if((e|0)<=-1600){l=6;break}}while(!d);if((l|0)==6?!d:0){g=((e|0)/(c[i>>2]|0)|0)*200|0;d=k+8|0;c[d>>2]=(c[h>>2]|0)-g+(c[d>>2]|0);c[h>>2]=g;g=c[j>>2]|0;d=g+96|0;g=g+120|0;a:do if(!(c[d>>2]|0))d=0;else{f=0;while(1){e=c[g>>2]|0;if(f>>>0>=e>>>0)break;cA(b,1);if(!(c[d>>2]|0)){d=0;break a}else f=f+1|0}d=e<<1}while(0);c[g>>2]=d;return}i=((c[k+20>>2]|0)>>>0)/100|0;g=c[k+124>>2]|0;l=k+8|0;k=c[l>>2]|0;j=c[h>>2]|0;b=O(g,0-i|0)|0;b=j+k+((g|0)<(2147483647/(i>>>0)|0|0)?b:-2147483647)|0;c[l>>2]=j-b+k;c[h>>2]=b;return}function kA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+12|0;j=c[h>>2]|0;if(e|0)a[j+62>>0]=1;e=j+61|0;g=a[e>>0]|0;if((g&255)<2){a[e>>0]=2;e=j+64|0;do f=bA(b,e,1)|0;while((f|0)==(e|0));c[j+68>>2]=f;g=c[h>>2]|0;e=g;g=a[g+61>>0]|0}else e=j;f=e+61|0;if(g<<24>>24==7)g=7;else{do eA(b)|0;while((a[f>>0]|0)!=7);g=c[h>>2]|0;e=g;g=a[g+61>>0]|0}f=e+61|0;if(!(1<<(g&255)&-129)){do eA(b)|0;while(!(1<<d[f>>0]&-129|0));g=c[h>>2]|0;e=g;g=a[g+61>>0]|0}f=e+61|0;if(g<<24>>24!=6){do eA(b)|0;while((a[f>>0]|0)!=6);e=c[h>>2]|0;if((a[e+61>>0]|0)!=7)i=16}else i=16;if((i|0)==16){e=e+61|0;do eA(b)|0;while((a[e>>0]|0)!=7)}a[j+62>>0]=0;f=((c[j+20>>2]|0)>>>0)/100|0;e=c[j+124>>2]|0;i=j+8|0;h=c[i>>2]|0;b=j+12|0;g=c[b>>2]|0;j=O(e,0-f|0)|0;j=g+h+((e|0)<(2147483647/(f>>>0)|0|0)?j:-2147483647)|0;c[i>>2]=g-j+h;c[b>>2]=j;return}function lA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;i=m;h=c[d>>2]|0;if((h|0)>=((f|0)/2|0|0))if((h|0)<(f|0))k=f;else{c[i>>2]=g;c[i+4>>2]=f;Fz(a,354124,i)}else{k=h<<1;k=(k|0)>4?k:4}if((k+1|0)>>>0>(4294967295/(e>>>0)|0)>>>0)mA(a);j=O(h,e)|0;i=O(k,e)|0;g=c[a+12>>2]|0;e=(b|0)!=0;h=g+4|0;f=Uh[c[g>>2]&63](c[h>>2]|0,b,j,i)|0;if(!((i|0)!=0&(f|0)==0)){a=f;b=g+12|0;g=c[b>>2]|0;j=0-j|0;j=e?j:0;j=j+i|0;j=j+g|0;c[b>>2]=j;c[d>>2]=k;l=m;return a|0}if(!(c[g+140>>2]|0))Jz(a,4);kA(a,1);h=Uh[c[g>>2]&63](c[h>>2]|0,b,j,i)|0;if(!h)Jz(a,4);else{a=h;b=g+12|0;g=c[b>>2]|0;j=0-j|0;j=e?j:0;j=j+i|0;j=j+g|0;c[b>>2]=j;c[d>>2]=k;l=m;return a|0}return 0}function mA(a){a=a|0;var b=0;b=l;l=l+16|0;Fz(a,354150,b)}function nA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+16|0;p=r;i=b;while(1){f=a[i>>0]|0;g=i+1|0;if(!(a[360868+((f&255)+1)>>0]&8))break;else i=g}switch(f<<24>>24){case 45:{o=1;f=g;break}case 43:{o=0;f=g;break}default:{o=0;f=i}}g=a[f>>0]|0;a:do if(g<<24>>24==48){switch(a[f+1>>0]|0){case 88:case 120:break;default:{n=8;break a}}f=f+2|0;g=a[f>>0]|0;i=a[360868+((g&255)+1)>>0]|0;if(!(i&16)){j=0;k=0;m=1}else{j=0;i=0;while(1){j=n6(j|0,i|0,4)|0;g=g<<24>>24;k=g+-48|0;k=k>>>0>9?(g|32)+-87|0:k;j=b6(k|0,((k|0)<0)<<31>>31|0,j|0,z|0)|0;k=z;f=f+1|0;g=a[f>>0]|0;i=a[360868+((g&255)+1)>>0]|0;if(!(i&16)){m=0;break}else i=k}}}else n=8;while(0);if((n|0)==8){i=g&255;if((i+-48|0)>>>0>9){i=a[360868+(i+1)>>0]|0;j=0;k=0;m=1}else{j=0;k=0;do{n=h6(j|0,k|0,10,0)|0;i=z;m=g<<24>>24;m=b6(m|0,((m|0)<0)<<31>>31|0,-48,-1)|0;j=b6(m|0,z|0,n|0,i|0)|0;k=z;f=f+1|0;g=a[f>>0]|0;i=g&255}while((i+-48|0)>>>0<=9);i=a[360868+(i+1)>>0]|0;m=0}}if(!(i&8))i=f;else{do{f=f+1|0;g=a[f>>0]|0}while((a[360868+((g&255)+1)>>0]&8)!=0);i=f}do if(g<<24>>24!=0|(m|0)!=0|(i|0)==0){if((Z5(b,354445)|0)==0?(q=+U5(b,p),e=c[p>>2]|0,(e|0)!=(b|0)):0){f=a[e>>0]|0;if(a[360868+((f&255)+1)>>0]&8){do{e=e+1|0;f=a[e>>0]|0}while((a[360868+((f&255)+1)>>0]&8)!=0);c[p>>2]=e}if(!(f<<24>>24))if(!e){b=0;l=r;return b|0}else{h[d>>3]=q;f=3;break}}b=0;l=r;return b|0}else{e=(o|0)!=0;p=c6(0,0,j|0,k|0)|0;f=d;c[f>>2]=e?p:j;c[f+4>>2]=e?z:k;f=19;e=i}while(0);c[d+8>>2]=f;b=1-b+e|0;l=r;return b|0}function oA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+80|0;f=j+8|0;e=j;i=j+16|0;g=d+8|0;if((c[g>>2]|0)!=19){h[f>>3]=+h[d>>3];e=h3(i,379748,f)|0;if(!(a[i+(B5(i,354453)|0)>>0]|0)){a[i+e>>0]=46;a[i+(e+1)>>0]=48;e=e+2|0}}else{m=d;k=c[m+4>>2]|0;f=e;c[f>>2]=c[m>>2];c[f+4>>2]=k;e=h3(i,354448,e)|0}m=QA(b,i,e)|0;c[d>>2]=m;c[g>>2]=(a[m+4>>0]|64)&255;l=j;return}function pA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+80|0;E=F+32|0;y=F+24|0;t=F+16|0;u=F+8|0;x=F;q=F+72|0;r=F+48|0;s=F+40|0;j=s4(d,37)|0;n=b+24|0;C=b+8|0;f=c[C>>2]|0;i=f;g=(c[n>>2]|0)-i|0;a:do if(j){o=s+7|0;p=b+92|0;m=b+28|0;k=0;b:while(1){if((g|0)<48){f=c[p>>2]|0;if((f|0)>1e6){f=5;break}i=(i-(c[m>>2]|0)>>4)+7|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(i|0)?i:f;if((f|0)>1e6){f=7;break}Lz(b,f);f=c[C>>2]|0}c[C>>2]=f+16;d=QA(b,d,j-d|0)|0;c[f>>2]=d;c[f+8>>2]=(a[d+4>>0]|64)&255;d=a[j+1>>0]|0;c:do switch(d|0){case 115:{g=(c[e>>2]|0)+(4-1)&~(4-1);d=c[g>>2]|0;c[e>>2]=g+4;d=(d|0)==0?410376:d;g=r4(d)|0;i=c[C>>2]|0;c[C>>2]=i+16;g=QA(b,d,g)|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;break}case 99:{i=(c[e>>2]|0)+(4-1)&~(4-1);f=c[i>>2]|0;c[e>>2]=i+4;a[q>>0]=f;f=f&255;if((f+-32|0)>>>0>94){c[u>>2]=f;qA(b,354465,u)|0;break c}else{i=c[C>>2]|0;c[C>>2]=i+16;g=QA(b,q,1)|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;break c}}case 100:{i=c[C>>2]|0;c[C>>2]=i+16;g=(c[e>>2]|0)+(4-1)&~(4-1);d=c[g>>2]|0;c[e>>2]=g+4;g=i;c[g>>2]=d;c[g+4>>2]=((d|0)<0)<<31>>31;c[i+8>>2]=19;oA(b,(c[C>>2]|0)+-16|0);break}case 73:{i=c[C>>2]|0;c[C>>2]=i+16;g=(c[e>>2]|0)+(8-1)&~(8-1);d=g;f=c[d>>2]|0;d=c[d+4>>2]|0;c[e>>2]=g+8;g=i;c[g>>2]=f;c[g+4>>2]=d;c[i+8>>2]=19;oA(b,(c[C>>2]|0)+-16|0);break}case 102:{i=c[C>>2]|0;c[C>>2]=i+16;g=(c[e>>2]|0)+(8-1)&~(8-1);G=+h[g>>3];c[e>>2]=g+8;h[i>>3]=G;c[i+8>>2]=3;oA(b,(c[C>>2]|0)+-16|0);break}case 112:{i=(c[e>>2]|0)+(4-1)&~(4-1);g=c[i>>2]|0;c[e>>2]=i+4;c[t>>2]=g;g=h3(r,354471,t)|0;i=c[C>>2]|0;c[C>>2]=i+16;g=QA(b,r,g)|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;break}case 85:{i=(c[e>>2]|0)+(4-1)&~(4-1);f=c[i>>2]|0;c[e>>2]=i+4;if(f>>>0<128){a[o>>0]=f;f=1}else{g=63;i=1;while(1){d=i+1|0;a[s+(8-i)>>0]=f&63|128;f=f>>>6;g=g>>>1;if(f>>>0<=g>>>0)break;else i=d}a[s+(7-i)>>0]=g<<1^254|f;f=d}i=c[C>>2]|0;c[C>>2]=i+16;g=QA(b,s+(8-f)|0,f)|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;break}case 37:{i=c[C>>2]|0;c[C>>2]=i+16;g=QA(b,367411,1)|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;break}default:{f=24;break b}}while(0);k=k+2|0;d=j+2|0;j=s4(d,37)|0;f=c[C>>2]|0;i=f;g=(c[n>>2]|0)-i|0;if(!j){A=d;v=g;z=i;w=f;D=k;break a}}if((f|0)==5)Jz(b,6);else if((f|0)==7){Lz(b,1000200);Fz(b,357349,x)}else if((f|0)==24){c[y>>2]=d;Fz(b,354474,y)}}else{A=d;v=g;z=i;w=f;D=0}while(0);do if((v|0)<32){f=c[b+92>>2]|0;if((f|0)>1e6)Jz(b,6);z=(z-(c[b+28>>2]|0)>>4)+6|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(z|0)?z:f;if((f|0)>1e6){Lz(b,1000200);Fz(b,357349,E)}else{Lz(b,f);B=c[C>>2]|0;break}}else B=w;while(0);E=r4(A)|0;c[C>>2]=B+16;E=QA(b,A,E)|0;c[B>>2]=E;c[B+8>>2]=(a[E+4>>0]|64)&255;if((D|0)<=0){E=c[C>>2]|0;E=E+-16|0;E=c[E>>2]|0;E=E+16|0;l=F;return E|0}gB(b,D|1);E=c[C>>2]|0;E=E+-16|0;E=c[E>>2]|0;E=E+16|0;l=F;return E|0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=pA(a,b,f)|0;l=e;return d|0}function rA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+32|0;o=r+8|0;n=r;p=c[b>>2]|0;h=p+12|0;g=c[h>>2]|0;q=b+43|0;k=d[q>>0]|0;if((k+1|0)>>>0>255){m=b+8|0;i=c[(c[m>>2]|0)+52>>2]|0;j=c[p+36>>2]|0;if(!j){t=354756;c[o>>2]=355184;s=o+4|0;c[s>>2]=255;s=o+8|0;c[s>>2]=t;s=qA(i,354770,o)|0;t=c[m>>2]|0;uF(t,s)}c[n>>2]=j;s=qA(i,354736,n)|0;c[o>>2]=355184;t=o+4|0;c[t>>2]=255;t=o+8|0;c[t>>2]=s;t=qA(i,354770,o)|0;s=c[m>>2]|0;uF(s,t)}if((k|0)<(g|0)){h=g;i=c[p+64>>2]|0}else{t=p+64|0;i=lA(c[(c[b+8>>2]|0)+52>>2]|0,c[t>>2]|0,h,8,255,355184)|0;c[t>>2]=i;h=c[h>>2]|0}if((g|0)<(h|0))do{c[i+(g<<3)>>2]=0;g=g+1|0}while((g|0)!=(h|0));j=a[q>>0]|0;h=j&255;a[i+(h<<3)+4>>0]=(c[f>>2]|0)==8&1;a[i+(h<<3)+5>>0]=c[f+8>>2];c[i+(h<<3)>>2]=e;h=p+5|0;i=a[h>>0]|0;if(!(i&4)){t=j;s=t+1<<24>>24;a[q>>0]=s;t=t&255;l=r;return t|0}if(!(a[e+5>>0]&3)){t=j;s=t+1<<24>>24;a[q>>0]=s;t=t&255;l=r;return t|0}g=c[(c[(c[b+8>>2]|0)+52>>2]|0)+12>>2]|0;if((d[g+61>>0]|0)<2){$z(g,e);t=a[q>>0]|0;s=t+1<<24>>24;a[q>>0]=s;t=t&255;l=r;return t|0}else{a[h>>0]=a[g+60>>0]&3|i&-8;t=j;s=t+1<<24>>24;a[q>>0]=s;t=t&255;l=r;return t|0}return 0}function sA(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;U=l;l=l+224|0;u=U+208|0;p=U+192|0;L=U+176|0;k=U+160|0;x=U+144|0;m=U+128|0;j=U+112|0;i=U+104|0;N=U+72|0;G=U+48|0;q=U+24|0;n=U;Q=e+4|0;P=c[Q>>2]|0;S=e+48|0;O=c[S>>2]|0;T=e+52|0;h=(c[T>>2]|0)+106|0;R=(b[h>>1]|0)+1<<16>>16;b[h>>1]=R;if((R&65535)>200){g=O+8|0;h=c[(c[g>>2]|0)+52>>2]|0;f=c[(c[O>>2]|0)+36>>2]|0;if(!f){V=354756;c[j>>2]=354802;R=j+4|0;c[R>>2]=200;R=j+8|0;c[R>>2]=V;R=qA(h,354770,j)|0;V=c[g>>2]|0;uF(V,R)}c[i>>2]=f;R=qA(h,354736,i)|0;c[j>>2]=354802;V=j+4|0;c[V>>2]=200;V=j+8|0;c[V>>2]=R;V=qA(h,354770,j)|0;R=c[g>>2]|0;uF(R,V)}R=e+16|0;do switch(c[R>>2]|0){case 59:{c[e+8>>2]=P;f=e+32|0;if((c[f>>2]|0)==289){c[R>>2]=xF(e,e+24|0)|0;V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}else{V=e+16|0;c[V>>2]=c[f>>2];c[V+4>>2]=c[f+4>>2];c[V+8>>2]=c[f+8>>2];c[V+12>>2]=c[f+12>>2];c[f>>2]=289;V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}}case 267:{c[G>>2]=-1;yA(e,G);a:while(1){f=c[R>>2]|0;switch(f|0){case 260:{M=12;break a}case 261:break;default:{g=f;break a}}yA(e,G)}if((M|0)==12){c[e+8>>2]=c[Q>>2];f=e+32|0;if((c[f>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[f>>2];c[V+4>>2]=c[f+4>>2];c[V+8>>2]=c[f+8>>2];c[V+12>>2]=c[f+12>>2];c[f>>2]=289}g=c[S>>2]|0;a[N+14>>0]=0;a[N+12>>0]=a[g+42>>0]|0;V=c[(c[g+8>>2]|0)+68>>2]|0;c[N+4>>2]=c[V+28>>2];c[N+8>>2]=c[V+16>>2];a[N+13>>0]=0;V=g+12|0;c[N>>2]=c[V>>2];c[V>>2]=N;b:do{f=c[R>>2]|0;switch(f|0){case 277:case 289:case 262:case 261:case 260:break b;default:{}}sA(e)}while((f|0)!=274);vA(g);g=c[R>>2]|0}f=c[Q>>2]|0;if((g|0)!=262)if((f|0)==(P|0))tA(e,262);else{V=c[T>>2]|0;N=tF(e,262)|0;Q=tF(e,267)|0;c[m>>2]=N;c[m+4>>2]=Q;c[m+8>>2]=P;uF(e,qA(V,354811,m)|0)}c[e+8>>2]=f;f=e+32|0;if((c[f>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[f>>2];c[V+4>>2]=c[f+4>>2];c[V+8>>2]=c[f+8>>2];c[V+12>>2]=c[f+12>>2];c[f>>2]=289}k=c[G>>2]|0;c[O+20>>2]=c[O+16>>2];f=O+24|0;do if((k|0)!=-1){g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=k;break}j=c[(c[O>>2]|0)+48>>2]|0;while(1){h=j+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;f=(f|0)==-1?-1:g+1+f|0;if((f|0)==-1)break;else g=f}f=k+~g|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[O+8>>2]|0,360754);else{c[h>>2]=(f<<14)+2147467264|i&16383;break}}while(0);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 278:{r=e+8|0;c[r>>2]=P;s=e+32|0;if((c[s>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[s>>2];c[V+4>>2]=c[s+4>>2];c[V+8>>2]=c[s+8>>2];c[V+12>>2]=c[s+12>>2];c[s>>2]=289}p=O+16|0;o=c[p>>2]|0;q=O+20|0;c[q>>2]=o;zA(e,N,0)|0;if((c[N>>2]|0)==1)c[N>>2]=3;oF(c[S>>2]|0,N);t=c[N+20>>2]|0;a[G+14>>0]=1;a[G+12>>0]=a[O+42>>0]|0;u=O+8|0;V=c[(c[u>>2]|0)+68>>2]|0;c[G+4>>2]=c[V+28>>2];c[G+8>>2]=c[V+16>>2];a[G+13>>0]=0;V=O+12|0;c[G>>2]=c[V>>2];c[V>>2]=G;if((c[R>>2]|0)!=259)tA(e,259);c[r>>2]=c[Q>>2];if((c[s>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[s>>2];c[V+4>>2]=c[s+4>>2];c[V+8>>2]=c[s+8>>2];c[V+12>>2]=c[s+12>>2];c[s>>2]=289}g=c[S>>2]|0;a[N+14>>0]=0;a[N+12>>0]=a[g+42>>0]|0;V=c[(c[g+8>>2]|0)+68>>2]|0;c[N+4>>2]=c[V+28>>2];c[N+8>>2]=c[V+16>>2];a[N+13>>0]=0;V=g+12|0;c[N>>2]=c[V>>2];c[V>>2]=N;c:do{f=c[R>>2]|0;switch(f|0){case 277:case 289:case 262:case 261:case 260:break c;default:{}}sA(e)}while((f|0)!=274);vA(g);n=O+24|0;g=c[n>>2]|0;c[n>>2]=-1;j=eF(O,2147450910)|0;do if((g|0)!=-1)if((j|0)!=-1){h=c[(c[O>>2]|0)+48>>2]|0;i=j;while(1){k=h+(i<<2)|0;m=c[k>>2]|0;f=(m>>>14)+-131071|0;f=(f|0)==-1?-1:i+1+f|0;if((f|0)==-1)break;else i=f}f=g+~i|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[u>>2]|0,360754);else{c[k>>2]=(f<<14)+2147467264|m&16383;w=j;break}}else w=g;else w=j;while(0);fF(O,w,o);f=c[Q>>2]|0;if((c[R>>2]|0)!=262)if((f|0)==(P|0))tA(e,262);else{V=c[T>>2]|0;N=tF(e,262)|0;Q=tF(e,278)|0;c[x>>2]=N;c[x+4>>2]=Q;c[x+8>>2]=P;uF(e,qA(V,354811,x)|0)}c[r>>2]=f;if((c[s>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[s>>2];c[V+4>>2]=c[s+4>>2];c[V+8>>2]=c[s+8>>2];c[V+12>>2]=c[s+12>>2];c[s>>2]=289}vA(O);c[q>>2]=c[p>>2];do if((t|0)!=-1){f=c[n>>2]|0;if((f|0)==-1){c[n>>2]=t;break}j=c[(c[O>>2]|0)+48>>2]|0;while(1){h=j+(f<<2)|0;i=c[h>>2]|0;g=(i>>>14)+-131071|0;g=(g|0)==-1?-1:f+1+g|0;if((g|0)==-1)break;else f=g}f=t+~f|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[u>>2]|0,360754);else{c[h>>2]=(f<<14)+2147467264|i&16383;break}}while(0);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 259:{h=e+8|0;c[h>>2]=P;i=e+32|0;if((c[i>>2]|0)==289){c[R>>2]=xF(e,e+24|0)|0;g=c[S>>2]|0}else{g=e+16|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[i>>2]=289;g=O}a[N+14>>0]=0;a[N+12>>0]=a[g+42>>0]|0;V=c[(c[g+8>>2]|0)+68>>2]|0;c[N+4>>2]=c[V+28>>2];c[N+8>>2]=c[V+16>>2];a[N+13>>0]=0;V=g+12|0;c[N>>2]=c[V>>2];c[V>>2]=N;d:do{f=c[R>>2]|0;switch(f|0){case 277:case 289:case 262:case 261:case 260:break d;default:{}}sA(e)}while((f|0)!=274);vA(g);f=c[Q>>2]|0;if((c[R>>2]|0)!=262)if((f|0)==(P|0))tA(e,262);else{V=c[T>>2]|0;O=tF(e,262)|0;Q=tF(e,259)|0;c[k>>2]=O;c[k+4>>2]=Q;c[k+8>>2]=P;uF(e,qA(V,354811,k)|0)}c[h>>2]=f;if((c[i>>2]|0)==289){c[R>>2]=xF(e,e+24|0)|0;V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}else{V=e+16|0;c[V>>2]=c[i>>2];c[V+4>>2]=c[i+4>>2];c[V+8>>2]=c[i+8>>2];c[V+12>>2]=c[i+12>>2];c[i>>2]=289;V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}}case 264:{a[q+14>>0]=1;a[q+12>>0]=a[O+42>>0]|0;v=c[(c[O+8>>2]|0)+68>>2]|0;c[q+4>>2]=c[v+28>>2];c[q+8>>2]=c[v+16>>2];a[q+13>>0]=0;v=O+12|0;c[q>>2]=c[v>>2];c[v>>2]=q;v=e+8|0;c[v>>2]=P;w=e+32|0;if((c[w>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];c[w>>2]=289;f=c[R>>2]|0}if((f|0)!=292)tA(e,292);u=e+24|0;g=c[u>>2]|0;c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289){f=xF(e,u)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];c[w>>2]=289;f=c[R>>2]|0}switch(f|0){case 61:{h=c[S>>2]|0;i=h+44|0;j=d[i>>0]|0;AA(e,wF(e,354848,11)|0);AA(e,wF(e,354860,11)|0);AA(e,wF(e,354872,10)|0);AA(e,g);if((c[R>>2]|0)!=61)tA(e,61);c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{V=e+16|0;c[V>>2]=c[w>>2];c[V+4>>2]=c[w+4>>2];c[V+8>>2]=c[w+8>>2];c[V+12>>2]=c[w+12>>2];c[w>>2]=289}zA(e,N,0)|0;iF(c[S>>2]|0,N);if((c[R>>2]|0)!=44)tA(e,44);c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{V=e+16|0;c[V>>2]=c[w>>2];c[V+4>>2]=c[w+4>>2];c[V+8>>2]=c[w+8>>2];c[V+12>>2]=c[w+12>>2];c[w>>2]=289}zA(e,N,0)|0;iF(c[S>>2]|0,N);if((c[R>>2]|0)==44){c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{V=e+16|0;c[V>>2]=c[w>>2];c[V+4>>2]=c[w+4>>2];c[V+8>>2]=c[w+8>>2];c[V+12>>2]=c[w+12>>2];c[w>>2]=289}zA(e,N,0)|0;iF(c[S>>2]|0,N)}else{g=d[i>>0]|0;c[N>>2]=1;c[N+8>>2]=2;f=G;c[f>>2]=1;c[f+4>>2]=0;c[G+8>>2]=19;f=gF(h,N,G)|0;g=g<<6;if((f|0)<262144)eF(h,g|f<<14|1)|0;else{eF(h,g|2)|0;eF(h,f<<6|46)|0}f=(d[i>>0]|0)+1|0;g=(c[h>>2]|0)+8|0;do if(f>>>0>(d[g>>0]|0)>>>0)if(f>>>0>254)uF(c[h+8>>2]|0,360789);else{s=f&255;a[g>>0]=s;break}else s=f&255;while(0);a[i>>0]=s}BA(e,j,P,1,1);break}case 268:case 44:{q=c[S>>2]|0;p=q+44|0;r=d[p>>0]|0;AA(e,wF(e,354883,15)|0);AA(e,wF(e,354899,11)|0);AA(e,wF(e,354911,13)|0);AA(e,g);f=c[R>>2]|0;do if((f|0)==44){g=e+16|0;h=4;while(1){c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289){f=xF(e,u)|0;c[R>>2]=f}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];c[w>>2]=289;f=c[R>>2]|0}if((f|0)!=292){M=124;break}f=c[u>>2]|0;c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];c[w>>2]=289}AA(e,f);f=c[R>>2]|0;if((f|0)==44)h=h+1|0;else{M=129;break}}if((M|0)==124)tA(e,292);else if((M|0)==129){t=f;K=h+-2|0;break}}else{t=f;K=1}while(0);if((t|0)!=268)tA(e,268);f=c[Q>>2]|0;c[v>>2]=f;if((c[w>>2]|0)==289){c[R>>2]=xF(e,u)|0;o=c[Q>>2]|0}else{o=e+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[w>>2]=289;o=f}zA(e,N,0)|0;if((c[R>>2]|0)==44){g=e+16|0;f=1;do{c[v>>2]=c[Q>>2];if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];c[w>>2]=289}iF(c[S>>2]|0,N);zA(e,N,0)|0;f=f+1|0}while((c[R>>2]|0)==44)}else f=1;n=c[S>>2]|0;m=3-f|0;f=c[N>>2]|0;switch(f|0){case 14:case 13:{i=m+1|0;i=(i|0)>0?i:0;switch(f|0){case 13:{V=(c[(c[n>>2]|0)+48>>2]|0)+(c[N+8>>2]<<2)|0;c[V>>2]=c[V>>2]&-8372225|(i<<14)+16384&8372224;break}case 14:{V=N+8|0;h=c[n>>2]|0;f=c[h+48>>2]|0;g=f+(c[V>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|(i<<23)+8388608;V=f+(c[V>>2]<<2)|0;f=n+44|0;g=d[f>>0]|0;c[V>>2]=g<<6|c[V>>2]&-16321;g=g+1|0;h=h+8|0;do if(g>>>0>(d[h>>0]|0)>>>0)if(g>>>0>254)uF(c[n+8>>2]|0,360789);else{A=g&255;a[h>>0]=A;break}else A=g&255;while(0);a[f>>0]=A;break}default:{}}if((i|0)>1){h=n+44|0;f=(d[h>>0]|0)+(i+-1)|0;g=(c[n>>2]|0)+8|0;do if((f|0)>(d[g>>0]|0))if((f|0)>254)uF(c[n+8>>2]|0,360789);else{F=f&255;a[g>>0]=F;break}else F=f&255;while(0);a[h>>0]=F}break}case 0:{M=158;break}default:{iF(n,N);M=158}}e:do if((M|0)==158?(m|0)>0:0){f=n+44|0;j=d[f>>0]|0;k=j+m|0;i=c[n>>2]|0;g=i+8|0;do if((k|0)>(d[g>>0]|0))if((k|0)>254)uF(c[n+8>>2]|0,360789);else{H=k&255;a[g>>0]=H;break}else H=k&255;while(0);a[f>>0]=H;h=k+-1|0;f=c[n+16>>2]|0;do if((f|0)>(c[n+20>>2]|0)?(I=(c[i+48>>2]|0)+(f+-1<<2)|0,J=c[I>>2]|0,(J&63|0)==4):0){f=J>>>6&255;g=f+(J>>>23)|0;if(f>>>0>j>>>0|(g+1|0)>>>0<j>>>0?f>>>0<j>>>0|(f|0)>(k|0):0)break;V=f>>>0<j>>>0?f:j;c[I>>2]=((g|0)>(h|0)?g:h)-V<<23|V<<6|J&8372287;break e}while(0);eF(n,j<<6|(m<<23)+-8388608|4)|0}while(0);f=(d[p>>0]|0)+3|0;g=(c[q>>2]|0)+8|0;do if(f>>>0>(d[g>>0]|0)>>>0)if(f>>>0>254)uF(c[q+8>>2]|0,360789);else{a[g>>0]=f;break}while(0);BA(e,r,o,K,0);break}default:uF(e,354925)}f=c[Q>>2]|0;if((c[R>>2]|0)!=262)if((f|0)==(P|0))tA(e,262);else{V=c[T>>2]|0;N=tF(e,262)|0;Q=tF(e,264)|0;c[L>>2]=N;c[L+4>>2]=Q;c[L+8>>2]=P;uF(e,qA(V,354811,L)|0)}c[v>>2]=f;if((c[w>>2]|0)==289)c[R>>2]=xF(e,u)|0;else{V=e+16|0;c[V>>2]=c[w>>2];c[V+4>>2]=c[w+4>>2];c[V+8>>2]=c[w+8>>2];c[V+12>>2]=c[w+12>>2];c[w>>2]=289}vA(O);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 273:{m=c[O+16>>2]|0;c[O+20>>2]=m;a[G+14>>0]=1;V=a[O+42>>0]|0;a[G+12>>0]=V;j=c[(c[O+8>>2]|0)+68>>2]|0;i=c[j+28>>2]|0;c[G+4>>2]=i;j=c[j+16>>2]|0;c[G+8>>2]=j;a[G+13>>0]=0;h=O+12|0;c[G>>2]=c[h>>2];a[q+14>>0]=0;k=q+12|0;a[k>>0]=V;c[q+4>>2]=i;c[q+8>>2]=j;j=q+13|0;a[j>>0]=0;c[q>>2]=G;c[h>>2]=q;h=e+8|0;c[h>>2]=P;i=e+32|0;if((c[i>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{M=e+16|0;c[M>>2]=c[i>>2];c[M+4>>2]=c[i+4>>2];c[M+8>>2]=c[i+8>>2];c[M+12>>2]=c[i+12>>2];c[i>>2]=289;M=187}f:while(1){if((M|0)==187){M=0;f=c[R>>2]|0}switch(f|0){case 277:case 289:case 262:case 261:case 260:{g=f;break f}default:{}}sA(e);if((f|0)==274){M=190;break}else M=187}if((M|0)==190)g=c[R>>2]|0;f=c[Q>>2]|0;if((g|0)!=277)if((f|0)==(P|0))tA(e,277);else{V=c[T>>2]|0;M=tF(e,277)|0;Q=tF(e,273)|0;c[p>>2]=M;c[p+4>>2]=Q;c[p+8>>2]=P;uF(e,qA(V,354811,p)|0)}c[h>>2]=f;if((c[i>>2]|0)==289)c[R>>2]=xF(e,e+24|0)|0;else{V=e+16|0;c[V>>2]=c[i>>2];c[V+4>>2]=c[i+4>>2];c[V+8>>2]=c[i+8>>2];c[V+12>>2]=c[i+12>>2];c[i>>2]=289}zA(e,N,0)|0;if((c[N>>2]|0)==1)c[N>>2]=3;oF(c[S>>2]|0,N);i=c[N+20>>2]|0;if(!((a[j>>0]|0)==0|(i|0)==-1)){h=c[(c[O>>2]|0)+48>>2]|0;g=(d[k>>0]<<6)+64&16320;f=i;do{e=h+(f<<2)|0;R=c[e>>2]|0;V=(R>>>14)+-131071|0;c[e>>2]=R&-16321|g;f=(V|0)==-1?-1:f+1+V|0}while((f|0)!=-1)}vA(O);fF(O,i,m);vA(O);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 265:{g=e+8|0;c[g>>2]=P;h=e+32|0;if((c[h>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[h>>2]=289;f=c[R>>2]|0}if((f|0)!=292)tA(e,292);f=e+24|0;i=c[f>>2]|0;c[g>>2]=c[Q>>2];if((c[h>>2]|0)==289)c[R>>2]=xF(e,f)|0;else{V=e+16|0;c[V>>2]=c[h>>2];c[V+4>>2]=c[h+4>>2];c[V+8>>2]=c[h+8>>2];c[V+12>>2]=c[h+12>>2];c[h>>2]=289}f=c[S>>2]|0;if(!(CA(f,i,q,1)|0)){CA(f,c[e+76>>2]|0,q,1)|0;V=c[S>>2]|0;c[N>>2]=i;c[N+8>>2]=(a[i+4>>0]|64)&255;V=gF(V,N,N)|0;c[G+16>>2]=-1;c[G+20>>2]=-1;c[G>>2]=4;c[G+8>>2]=V;V=q+8|0;a[V+2>>0]=c[V>>2];b[V>>1]=mF(f,G)|0;a[V+3>>0]=(c[q>>2]|0)==9?9:8;c[q>>2]=10}g:while(1){switch(c[R>>2]|0){case 58:{M=217;break g}case 46:break;default:{f=0;break g}}DA(e,q)}if((M|0)==217){DA(e,q);f=1}EA(e,n,f,P);nF(c[S>>2]|0,q,n);V=c[S>>2]|0;c[(c[(c[V>>2]|0)+56>>2]|0)+((c[V+16>>2]|0)+-1<<2)>>2]=P;V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 269:{k=e+8|0;c[k>>2]=P;j=e+32|0;if((c[j>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];c[j>>2]=289;f=c[R>>2]|0}if((f|0)==265){c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];c[j>>2]=289;f=c[R>>2]|0}h=c[S>>2]|0;if((f|0)!=292)tA(e,292);f=e+24|0;g=c[f>>2]|0;c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289)c[R>>2]=xF(e,f)|0;else{V=e+16|0;c[V>>2]=c[j>>2];c[V+4>>2]=c[j+4>>2];c[V+8>>2]=c[j+8>>2];c[V+12>>2]=c[j+12>>2];c[j>>2]=289}AA(e,g);R=c[S>>2]|0;P=R+42|0;V=(d[P>>0]|0)+1|0;a[P>>0]=V;c[(c[(c[R>>2]|0)+60>>2]|0)+((b[(c[c[(c[R+8>>2]|0)+68>>2]>>2]|0)+((c[R+36>>2]|0)+(V&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[R+16>>2];EA(e,N,0,c[Q>>2]|0);c[(c[(c[h>>2]|0)+60>>2]|0)+((b[(c[c[(c[h+8>>2]|0)+68>>2]>>2]|0)+((c[h+36>>2]|0)+(c[N+8>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[h+16>>2];V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}if((f|0)!=292)tA(e,292);h=e+24|0;i=e+16|0;f=0;h:while(1){g=c[h>>2]|0;c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289)c[R>>2]=xF(e,h)|0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=289}AA(e,g);f=f+1|0;switch(c[R>>2]|0){case 61:{M=243;break h}case 44:break;default:{M=251;break h}}c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289){g=xF(e,h)|0;c[R>>2]=g}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=289;g=c[R>>2]|0}if((g|0)!=292){M=234;break}}i:do if((M|0)==234)tA(e,292);else if((M|0)==243){c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289)c[R>>2]=xF(e,h)|0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=289}zA(e,N,0)|0;if((c[R>>2]|0)==44){g=1;do{c[k>>2]=c[Q>>2];if((c[j>>2]|0)==289)c[R>>2]=xF(e,h)|0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=289}iF(c[S>>2]|0,N);zA(e,N,0)|0;g=g+1|0}while((c[R>>2]|0)==44)}else g=1;h=c[N>>2]|0;k=c[S>>2]|0;g=f-g|0;switch(h|0){case 0:{B=g;E=k;M=269;break i}case 14:case 13:break;default:{iF(k,N);B=g;E=k;M=269;break i}}j=g+1|0;j=(j|0)>0?j:0;switch(h|0){case 13:{V=(c[(c[k>>2]|0)+48>>2]|0)+(c[N+8>>2]<<2)|0;c[V>>2]=c[V>>2]&-8372225|(j<<14)+16384&8372224;break}case 14:{V=N+8|0;i=c[k>>2]|0;g=c[i+48>>2]|0;h=g+(c[V>>2]<<2)|0;c[h>>2]=c[h>>2]&8388607|(j<<23)+8388608;V=g+(c[V>>2]<<2)|0;g=k+44|0;h=d[g>>0]|0;c[V>>2]=h<<6|c[V>>2]&-16321;h=h+1|0;i=i+8|0;do if(h>>>0>(d[i>>0]|0)>>>0)if(h>>>0>254)uF(c[k+8>>2]|0,360789);else{v=h&255;a[i>>0]=v;break}else v=h&255;while(0);a[g>>0]=v;break}default:{}}if((j|0)>1){i=k+44|0;g=(d[i>>0]|0)+(j+-1)|0;h=(c[k>>2]|0)+8|0;do if((g|0)>(d[h>>0]|0))if((g|0)>254)uF(c[k+8>>2]|0,360789);else{y=g&255;a[h>>0]=y;break}else y=g&255;while(0);a[i>>0]=y}}else if((M|0)==251){c[N>>2]=0;B=f;E=c[S>>2]|0;M=269}while(0);j:do if((M|0)==269?(B|0)>0:0){g=E+44|0;k=d[g>>0]|0;m=k+B|0;j=c[E>>2]|0;h=j+8|0;do if((m|0)>(d[h>>0]|0))if((m|0)>254)uF(c[E+8>>2]|0,360789);else{z=m&255;a[h>>0]=z;break}else z=m&255;while(0);a[g>>0]=z;i=m+-1|0;g=c[E+16>>2]|0;do if((g|0)>(c[E+20>>2]|0)?(C=(c[j+48>>2]|0)+(g+-1<<2)|0,D=c[C>>2]|0,(D&63|0)==4):0){g=D>>>6&255;h=g+(D>>>23)|0;if(g>>>0>k>>>0|(h+1|0)>>>0<k>>>0?g>>>0<k>>>0|(g|0)>(m|0):0)break;V=g>>>0<k>>>0?g:k;c[C>>2]=((h|0)>(i|0)?h:i)-V<<23|V<<6|D&8372287;break j}while(0);eF(E,k<<6|(B<<23)+-8388608|4)|0}while(0);V=c[S>>2]|0;i=V+42|0;j=(d[i>>0]|0)+f|0;a[i>>0]=j;i=c[V+16>>2]|0;g=c[(c[V>>2]|0)+60>>2]|0;h=c[c[(c[V+8>>2]|0)+68>>2]>>2]|0;j=(c[V+36>>2]|0)+(j&255)|0;do{c[g+((b[h+(j-f<<1)>>1]|0)*12|0)+4>>2]=i;f=f+-1|0}while((f|0)!=0);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 288:{k=e+8|0;c[k>>2]=P;m=e+32|0;if((c[m>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f}else{f=e+16|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[m>>2]=289;f=c[R>>2]|0}if((f|0)!=292)tA(e,292);g=e+24|0;o=c[g>>2]|0;c[k>>2]=c[Q>>2];if((c[m>>2]|0)==289)c[R>>2]=xF(e,g)|0;else{V=e+16|0;c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[m>>2]=289}h=c[S>>2]|0;s=e+68|0;n=c[s>>2]|0;q=n+24|0;r=h+12|0;f=c[(c[r>>2]|0)+4>>2]|0;p=n+28|0;i=c[p>>2]|0;k:do if((f|0)<(i|0)){j=c[q>>2]|0;while(1){if((c[j+(f<<4)>>2]|0)==(o|0))break;f=f+1|0;if((f|0)>=(i|0))break k}O=h+8|0;V=c[(c[O>>2]|0)+52>>2]|0;N=c[j+(f<<4)+8>>2]|0;c[u>>2]=o+16;c[u+4>>2]=N;V=qA(V,354946,u)|0;xA(c[O>>2]|0,V)}while(0);if((c[R>>2]|0)!=288)tA(e,288);c[k>>2]=c[Q>>2];if((c[m>>2]|0)==289)c[R>>2]=xF(e,g)|0;else{V=e+16|0;c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[m>>2]=289}g=c[h+16>>2]|0;h=c[p>>2]|0;f=n+32|0;if((h|0)<(c[f>>2]|0))f=c[q>>2]|0;else{f=lA(c[T>>2]|0,c[q>>2]|0,f,16,32767,354577)|0;c[q>>2]=f}c[f+(h<<4)>>2]=o;c[f+(h<<4)+8>>2]=P;a[f+(h<<4)+12>>0]=a[(c[S>>2]|0)+42>>0]|0;c[f+(h<<4)+4>>2]=g;c[p>>2]=h+1;l:while(1){switch(c[R>>2]|0){case 289:case 262:case 261:case 260:{M=309;break l}case 288:case 59:break;default:{M=308;break l}}sA(e)}if((M|0)==308)f=c[q>>2]|0;else if((M|0)==309){f=c[q>>2]|0;a[f+(h<<4)+12>>0]=a[(c[r>>2]|0)+12>>0]|0}k=f+(h<<4)|0;f=c[s>>2]|0;h=c[(c[(c[S>>2]|0)+12>>2]|0)+8>>2]|0;j=f+16|0;g=c[j>>2]|0;if((h|0)>=(g|0)){V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}i=f+12|0;f=g;m:while(1){while(1){if((c[(c[i>>2]|0)+(h<<4)>>2]|0)!=(c[k>>2]|0))break;wA(e,h,k);f=c[j>>2]|0;if((h|0)>=(f|0)){M=360;break m}}h=h+1|0;if((h|0)>=(f|0)){M=360;break}}if((M|0)==360){V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}break}case 274:{n=e+8|0;c[n>>2]=P;m=e+32|0;if((c[m>>2]|0)==289){f=xF(e,e+24|0)|0;c[R>>2]=f;k=c[S>>2]|0}else{k=e+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[m>>2]=289;k=O;f=c[R>>2]|0}n:do switch(f|0){case 59:case 277:case 289:case 262:case 261:case 260:{g=0;f=0;break}default:{zA(e,N,0)|0;if((c[R>>2]|0)==44){g=e+24|0;h=e+16|0;f=1;do{c[n>>2]=c[Q>>2];if((c[m>>2]|0)==289)c[R>>2]=xF(e,g)|0;else{c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];c[m>>2]=289}iF(c[S>>2]|0,N);zA(e,N,0)|0;f=f+1|0}while((c[R>>2]|0)==44)}else f=1;g=c[N>>2]|0;if((g+-13|0)>>>0>=2)if((f|0)==1){g=lF(k,N)|0;f=1;break n}else{iF(k,N);g=d[k+42>>0]|0;break n}switch(g|0){case 13:{M=(c[(c[k>>2]|0)+48>>2]|0)+(c[N+8>>2]<<2)|0;c[M>>2]=c[M>>2]&-8372225;M=335;break}case 14:{V=N+8|0;j=c[k>>2]|0;h=c[j+48>>2]|0;i=h+(c[V>>2]<<2)|0;c[i>>2]=c[i>>2]&8388607;V=h+(c[V>>2]<<2)|0;h=k+44|0;i=d[h>>0]|0;c[V>>2]=i<<6|c[V>>2]&-16321;i=i+1|0;j=j+8|0;do if(i>>>0>(d[j>>0]|0)>>>0)if(i>>>0>254)uF(c[k+8>>2]|0,360789);else{r=i&255;a[j>>0]=r;break}else r=i&255;while(0);a[h>>0]=r;break}default:M=335}if((M|0)==335?(f|0)==1&(g|0)==13:0){V=(c[(c[k>>2]|0)+48>>2]|0)+(c[N+8>>2]<<2)|0;c[V>>2]=c[V>>2]&-64|37}g=d[k+42>>0]|0;f=-1}}while(0);eF(k,g<<6|(f<<23)+8388608|38)|0;do if((c[R>>2]|0)==59){c[n>>2]=c[Q>>2];if((c[m>>2]|0)==289){c[R>>2]=xF(e,e+24|0)|0;break}else{V=e+16|0;c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];c[m>>2]=289;break}}while(0);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}case 266:case 258:{j=O+24|0;g=c[j>>2]|0;c[j>>2]=-1;j=eF(O,2147450910)|0;do if((g|0)!=-1)if((j|0)!=-1){h=c[(c[O>>2]|0)+48>>2]|0;i=j;while(1){k=h+(i<<2)|0;m=c[k>>2]|0;f=(m>>>14)+-131071|0;f=(f|0)==-1?-1:i+1+f|0;if((f|0)==-1)break;else i=f}f=g+~i|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[O+8>>2]|0,360754);else{c[k>>2]=(f<<14)+2147467264|m&16383;o=j;break}}else o=g;else o=j;while(0);FA(e,o);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}default:{f=N+8|0;GA(e,f);o:do switch(c[R>>2]|0){case 44:case 61:{c[N>>2]=0;HA(e,N,1);break}default:if((c[f>>2]|0)==13){V=(c[(c[O>>2]|0)+48>>2]|0)+(c[N+16>>2]<<2)|0;c[V>>2]=c[V>>2]&-8372225|16384;break o}else uF(e,354984)}while(0);V=c[S>>2]|0;S=V+42|0;S=a[S>>0]|0;V=V+44|0;a[V>>0]=S;V=c[T>>2]|0;V=V+106|0;T=b[V>>1]|0;T=T+-1<<16>>16;b[V>>1]=T;l=U;return}}while(0)}function tA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=c[a+52>>2]|0;c[d>>2]=tF(a,b)|0;uF(a,qA(e,354724,d)|0)}function uA(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=c[e+52>>2]|0;v=e+48|0;w=c[v>>2]|0;t=c[w>>2]|0;eF(w,8388646)|0;vA(w);o=w+16|0;e=c[o>>2]|0;if((e+1|0)>>>0>1073741823)mA(x);l=t+48|0;g=c[l>>2]|0;m=t+20|0;k=c[m>>2]<<2;h=e<<2;u=x+12|0;i=c[u>>2]|0;j=(g|0)!=0;e=i+4|0;f=Uh[c[i>>2]&63](c[e>>2]|0,g,k,h)|0;if((h|0)!=0&(f|0)==0){if(!(c[i+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[i>>2]&63](c[e>>2]|0,g,k,h)|0;if(!e)Jz(x,4);else n=e}else n=f;e=i+12|0;c[e>>2]=(j?0-k|0:0)+h+(c[e>>2]|0);c[l>>2]=n;e=c[o>>2]|0;c[m>>2]=e;if((e+1|0)>>>0>1073741823)mA(x);k=t+56|0;g=c[k>>2]|0;l=t+24|0;m=c[l>>2]<<2;h=e<<2;i=c[u>>2]|0;j=(g|0)!=0;e=i+4|0;f=Uh[c[i>>2]&63](c[e>>2]|0,g,m,h)|0;if((h|0)!=0&(f|0)==0){if(!(c[i+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[i>>2]&63](c[e>>2]|0,g,m,h)|0;if(!e)Jz(x,4);else p=e}else p=f;e=i+12|0;c[e>>2]=(j?0-m|0:0)+h+(c[e>>2]|0);c[k>>2]=p;c[l>>2]=c[o>>2];k=w+28|0;e=c[k>>2]|0;if((e+1|0)>>>0>268435455)mA(x);l=t+44|0;g=c[l>>2]|0;m=t+16|0;n=c[m>>2]<<4;h=e<<4;i=c[u>>2]|0;j=(g|0)!=0;e=i+4|0;f=Uh[c[i>>2]&63](c[e>>2]|0,g,n,h)|0;if((h|0)!=0&(f|0)==0){if(!(c[i+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[i>>2]&63](c[e>>2]|0,g,n,h)|0;if(!e)Jz(x,4);else q=e}else q=f;e=i+12|0;c[e>>2]=(j?0-n|0:0)+h+(c[e>>2]|0);c[l>>2]=q;c[m>>2]=c[k>>2];m=w+32|0;e=c[m>>2]|0;if((e+1|0)>>>0>1073741823)mA(x);n=t+52|0;j=c[n>>2]|0;k=t+28|0;l=c[k>>2]<<2;g=e<<2;h=c[u>>2]|0;i=(j|0)!=0;e=h+4|0;f=Uh[c[h>>2]&63](c[e>>2]|0,j,l,g)|0;if((g|0)!=0&(f|0)==0){if(!(c[h+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[h>>2]&63](c[e>>2]|0,j,l,g)|0;if(!e)Jz(x,4);else r=e}else r=f;h=h+12|0;c[h>>2]=(i?0-l|0:0)+g+(c[h>>2]|0);c[n>>2]=r;c[k>>2]=c[m>>2];h=t+60|0;e=c[h>>2]|0;i=t+32|0;j=(c[i>>2]|0)*12|0;k=w+40|0;r=b[k>>1]|0;l=(r<<16>>16)*12|0;m=c[u>>2]|0;n=(e|0)!=0;f=m+4|0;g=Uh[c[m>>2]&63](c[f>>2]|0,e,j,l)|0;if(r<<16>>16!=0&(g|0)==0){if(!(c[m+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[m>>2]&63](c[f>>2]|0,e,j,l)|0;if(!e)Jz(x,4);else s=e}else s=g;g=m+12|0;c[g>>2]=(n?0-j|0:0)+l+(c[g>>2]|0);c[h>>2]=s;c[i>>2]=b[k>>1];n=t+64|0;g=c[n>>2]|0;h=t+12|0;i=c[h>>2]<<3;j=w+43|0;t=a[j>>0]|0;k=(t&255)<<3;l=c[u>>2]|0;m=(g|0)!=0;e=l+4|0;f=Uh[c[l>>2]&63](c[e>>2]|0,g,i,k)|0;if(t<<24>>24!=0&(f|0)==0){if(!(c[l+140>>2]|0))Jz(x,4);kA(x,1);e=Uh[c[l>>2]&63](c[e>>2]|0,g,i,k)|0;if(!e)Jz(x,4);else y=e}else y=f;t=l+12|0;c[t>>2]=(m?0-i|0:0)+k+(c[t>>2]|0);c[n>>2]=y;c[h>>2]=d[j>>0];c[v>>2]=c[w+4>>2];if((c[(c[u>>2]|0)+12>>2]|0)<=0)return;jA(x);return}function vA(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;u=z;r=e+12|0;v=c[r>>2]|0;x=e+8|0;s=c[x>>2]|0;do if(c[v>>2]|0?a[v+13>>0]|0:0){o=e+24|0;g=c[o>>2]|0;c[o>>2]=-1;j=eF(e,2147450910)|0;do if((g|0)!=-1)if((j|0)!=-1){h=c[(c[e>>2]|0)+48>>2]|0;i=j;while(1){k=h+(i<<2)|0;m=c[k>>2]|0;f=(m>>>14)+-131071|0;f=(f|0)==-1?-1:i+1+f|0;if((f|0)==-1)break;else i=f}f=g+~i|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[x>>2]|0,360754);else{c[k>>2]=(f<<14)+2147467264|m&16383;n=10;break}}else p=g;else n=10;while(0);if((n|0)==10)if((j|0)==-1){c[e+20>>2]=c[e+16>>2];break}else p=j;j=c[(c[e>>2]|0)+48>>2]|0;g=(d[v+12>>0]<<6)+64&16320;f=p;do{q=j+(f<<2)|0;n=c[q>>2]|0;t=(n>>>14)+-131071|0;c[q>>2]=n&-16321|g;f=(t|0)==-1?-1:f+1+t|0}while((f|0)!=-1);c[e+20>>2]=c[e+16>>2];if((p|0)!=-1){f=c[o>>2]|0;if((f|0)==-1){c[o>>2]=p;break}while(1){h=j+(f<<2)|0;i=c[h>>2]|0;g=(i>>>14)+-131071|0;g=(g|0)==-1?-1:f+1+g|0;if((g|0)==-1)break;else f=g}f=p+~f|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[x>>2]|0,360754);else{c[h>>2]=(f<<14)+2147467264|i&16383;break}}}while(0);a:do if(a[v+14>>0]|0){n=s+52|0;f=c[n>>2]|0;g=(c[f+12>>2]|0)+280+(((367685>>>0)%127|0)<<2)|0;h=c[g>>2]|0;if(e3(367685,h+16|0)|0){h=QA(f,367685,5)|0;c[g>>2]=h}m=s+68|0;j=c[m>>2]|0;g=j+24|0;k=s+48|0;f=c[k>>2]|0;o=c[f+16>>2]|0;p=j+28|0;q=c[p>>2]|0;i=j+32|0;if((q|0)<(c[i>>2]|0))g=c[g>>2]|0;else{f=lA(c[n>>2]|0,c[g>>2]|0,i,16,32767,354577)|0;c[g>>2]=f;g=f;f=c[k>>2]|0;j=c[m>>2]|0}c[g+(q<<4)>>2]=h;c[g+(q<<4)+8>>2]=0;a[g+(q<<4)+12>>0]=a[f+42>>0]|0;c[g+(q<<4)+4>>2]=o;c[p>>2]=q+1;k=(c[j+24>>2]|0)+(q<<4)|0;g=c[(c[f+12>>2]|0)+8>>2]|0;i=j+16|0;f=c[i>>2]|0;if((g|0)<(f|0)){h=j+12|0;do{while(1){if((c[(c[h>>2]|0)+(g<<4)>>2]|0)!=(c[k>>2]|0))break;wA(s,g,k);f=c[i>>2]|0;if((g|0)>=(f|0))break a}g=g+1|0}while((g|0)<(f|0))}}while(0);o=c[v>>2]|0;c[r>>2]=o;t=v+12|0;j=a[t>>0]|0;n=e+42|0;f=a[n>>0]|0;g=f&255;p=c[(c[x>>2]|0)+68>>2]|0;r=p+4|0;c[r>>2]=(j&255)-g+(c[r>>2]|0);if((j&255)<(f&255)){h=c[e+16>>2]|0;m=c[e+36>>2]|0;i=c[(c[e>>2]|0)+60>>2]|0;k=c[p>>2]|0;f=g;while(1){r=(f&255)+-1<<24>>24;c[i+((b[k+((r&255)+m<<1)>>1]|0)*12|0)+8>>2]=h;if((r&255)>(j&255))f=f+-1|0;else break}a[n>>0]=j;f=j}a[e+44>>0]=f;f=c[s+68>>2]|0;c[f+28>>2]=c[v+4>>2];h=c[v+8>>2]|0;if(!o){if((h|0)>=(c[f+16>>2]|0)){l=z;return}f=c[f+12>>2]|0;g=c[f+(h<<4)>>2]|0;if((a[g+4>>0]|0)!=4){r=354624;q=s+52|0;q=c[q>>2]|0;o=g+16|0;n=f+(h<<4)+8|0;n=c[n>>2]|0;c[u>>2]=o;o=u+4|0;c[o>>2]=n;r=qA(q,r,u)|0;xA(s,r)}r=a[g+6>>0]|0?354590:354624;q=s+52|0;q=c[q>>2]|0;o=g+16|0;n=f+(h<<4)+8|0;n=c[n>>2]|0;c[u>>2]=o;o=u+4|0;c[o>>2]=n;u=qA(q,r,u)|0;xA(s,u)}s=p+16|0;if((h|0)>=(c[s>>2]|0)){l=z;return}r=p+12|0;q=v+13|0;p=h;while(1){f=c[r>>2]|0;i=f+(p<<4)+12|0;g=j&255;if((d[i>>0]|0)>(j&255)){if(a[q>>0]|0?(w=c[f+(p<<4)+4>>2]|0,(w|0)!=-1):0){h=c[(c[e>>2]|0)+48>>2]|0;g=(g<<6)+64&16320;f=w;do{u=h+(f<<2)|0;o=c[u>>2]|0;v=(o>>>14)+-131071|0;c[u>>2]=o&-16321|g;f=(v|0)==-1?-1:f+1+v|0}while((f|0)!=-1)}a[i>>0]=j}o=c[x>>2]|0;k=c[o+48>>2]|0;f=c[o+68>>2]|0;m=c[f+12>>2]|0;g=c[(c[k+12>>2]|0)+4>>2]|0;j=c[f+28>>2]|0;b:do if((g|0)<(j|0)){h=c[f+24>>2]|0;i=c[m+(p<<4)>>2]|0;f=g;while(1){n=h+(f<<4)|0;if((c[n>>2]|0)==(i|0))break;f=f+1|0;if((f|0)>=(j|0)){f=1;break b}}f=a[h+(f<<4)+12>>0]|0;if((d[m+(p<<4)+12>>0]|0)>(f&255)?(y=c[m+(p<<4)+4>>2]|0,(y|0)!=-1):0){h=c[(c[k>>2]|0)+48>>2]|0;g=((f&255)<<6)+64&16320;f=y;do{u=h+(f<<2)|0;m=c[u>>2]|0;v=(m>>>14)+-131071|0;c[u>>2]=m&-16321|g;f=(v|0)==-1?-1:f+1+v|0}while((f|0)!=-1)}wA(o,p,n);f=0}else f=1;while(0);f=f+p|0;if((f|0)>=(c[s>>2]|0))break;j=a[t>>0]|0;p=f}l=z;return}function wA(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+16|0;m=o;h=c[e+48>>2]|0;i=c[e+68>>2]|0;n=i+12|0;j=c[n>>2]|0;k=a[j+(f<<4)+12>>0]|0;if((k&255)<(d[g+12>>0]|0)){p=c[e+52>>2]|0;q=c[j+(f<<4)+8>>2]|0;k=(c[(c[(c[h>>2]|0)+60>>2]|0)+((b[(c[c[(c[h+8>>2]|0)+68>>2]>>2]|0)+((c[h+36>>2]|0)+(k&255)<<1)>>1]|0)*12|0)>>2]|0)+16|0;c[m>>2]=(c[j+(f<<4)>>2]|0)+16;c[m+4>>2]=q;c[m+8>>2]=k;xA(e,qA(p,354668,m)|0)}fF(h,c[j+(f<<4)+4>>2]|0,c[g+4>>2]|0);i=i+16|0;h=(c[i>>2]|0)+-1|0;if((h|0)<=(f|0)){q=h;c[i>>2]=q;l=o;return}do{q=c[n>>2]|0;h=q+(f<<4)|0;f=f+1|0;q=q+(f<<4)|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];h=(c[i>>2]|0)+-1|0}while((f|0)<(h|0));c[i>>2]=h;l=o;return}function xA(a,b){a=a|0;b=b|0;c[a+16>>2]=0;uF(a,b)}function yA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;i=s+24|0;j=s;h=b+48|0;r=c[h>>2]|0;e=b+4|0;f=b+8|0;c[f>>2]=c[e>>2];g=b+32|0;if((c[g>>2]|0)==289){n=b+16|0;c[n>>2]=xF(b,b+24|0)|0}else{n=b+16|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[g>>2]=289;n=b+16|0}zA(b,j,0)|0;if((c[n>>2]|0)!=275)tA(b,275);c[f>>2]=c[e>>2];if((c[g>>2]|0)==289){e=xF(b,b+24|0)|0;c[n>>2]=e}else{e=b+16|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[g>>2]=289;e=c[n>>2]|0}a:do switch(e|0){case 258:case 266:{pF(c[h>>2]|0,j);a[i+14>>0]=0;a[i+12>>0]=a[r+42>>0]|0;m=r+8|0;k=c[(c[m>>2]|0)+68>>2]|0;c[i+4>>2]=c[k+28>>2];c[i+8>>2]=c[k+16>>2];a[i+13>>0]=0;k=r+12|0;c[i>>2]=c[k>>2];c[k>>2]=i;FA(b,c[j+16>>2]|0);b:while(1){switch(c[n>>2]|0){case 289:case 262:case 261:case 260:{o=13;break b}case 288:case 59:break;default:break b}sA(b)}if((o|0)==13){vA(r);l=s;return}i=r+24|0;f=c[i>>2]|0;c[i>>2]=-1;i=eF(r,2147450910)|0;if((f|0)!=-1)if((i|0)!=-1){g=c[(c[r>>2]|0)+48>>2]|0;h=i;while(1){j=g+(h<<2)|0;k=c[j>>2]|0;e=(k>>>14)+-131071|0;e=(e|0)==-1?-1:h+1+e|0;if((e|0)==-1)break;else h=e}e=f+~h|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[m>>2]|0,360754);else{c[j>>2]=(e<<14)+2147467264|k&16383;q=i;break a}}else q=f;else q=i;break}default:{oF(c[h>>2]|0,j);a[i+14>>0]=0;a[i+12>>0]=a[r+42>>0]|0;q=c[(c[r+8>>2]|0)+68>>2]|0;c[i+4>>2]=c[q+28>>2];c[i+8>>2]=c[q+16>>2];a[i+13>>0]=0;q=r+12|0;c[i>>2]=c[q>>2];c[q>>2]=i;q=c[j+20>>2]|0}}while(0);c:do{e=c[n>>2]|0;switch(e|0){case 277:case 289:case 262:case 261:case 260:break c;default:{}}sA(b)}while((e|0)!=274);vA(r);m=r+24|0;do if((c[n>>2]&-2|0)==260){f=c[m>>2]|0;c[m>>2]=-1;i=eF(r,2147450910)|0;do if((f|0)!=-1)if((i|0)!=-1){g=c[(c[r>>2]|0)+48>>2]|0;h=i;while(1){j=g+(h<<2)|0;k=c[j>>2]|0;e=(k>>>14)+-131071|0;e=(e|0)==-1?-1:h+1+e|0;if((e|0)==-1)break;else h=e}e=f+~h|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[r+8>>2]|0,360754);else{c[j>>2]=(e<<14)+2147467264|k&16383;o=33;break}}else p=f;else o=33;while(0);if((o|0)==33)if((i|0)==-1)break;else p=i;e=c[d>>2]|0;if((e|0)==-1){c[d>>2]=p;break}i=c[(c[r>>2]|0)+48>>2]|0;while(1){g=i+(e<<2)|0;h=c[g>>2]|0;f=(h>>>14)+-131071|0;f=(f|0)==-1?-1:e+1+f|0;if((f|0)==-1)break;else e=f}e=p+~e|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[r+8>>2]|0,360754);else{c[g>>2]=h&16383|(e<<14)+2147467264;break}}while(0);c[r+20>>2]=c[r+16>>2];if((q|0)==-1){l=s;return}e=c[m>>2]|0;if((e|0)==-1){c[m>>2]=q;l=s;return}i=c[(c[r>>2]|0)+48>>2]|0;while(1){g=i+(e<<2)|0;h=c[g>>2]|0;f=(h>>>14)+-131071|0;f=(f|0)==-1?-1:e+1+f|0;if((f|0)==-1)break;else e=f}e=q+~e|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[r+8>>2]|0,360754);c[g>>2]=(e<<14)+2147467264|h&16383;l=s;return}function zA(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+80|0;p=L+56|0;o=L+48|0;s=L+24|0;J=L;I=e+48|0;r=c[I>>2]|0;K=e+52|0;B=(c[K>>2]|0)+106|0;D=(b[B>>1]|0)+1<<16>>16;b[B>>1]=D;if((D&65535)>200){m=r+8|0;n=c[(c[m>>2]|0)+52>>2]|0;k=c[(c[r>>2]|0)+36>>2]|0;if(!k){B=354756;c[p>>2]=354802;D=p+4|0;c[D>>2]=200;D=p+8|0;c[D>>2]=B;D=qA(n,354770,p)|0;B=c[m>>2]|0;uF(B,D)}c[o>>2]=k;B=qA(n,354736,o)|0;c[p>>2]=354802;D=p+4|0;c[D>>2]=200;D=p+8|0;c[D>>2]=B;D=qA(n,354770,p)|0;B=c[m>>2]|0;uF(B,D)}D=e+16|0;a:do switch(c[D>>2]|0){case 271:{m=2;C=9;break}case 45:{m=0;C=9;break}case 126:{m=1;C=9;break}case 35:{m=3;C=9;break}case 290:{c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=5;c[f+8>>2]=0;h[f+8>>3]=+h[e+24>>3];C=65;break}case 291:{c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=6;C=f+8|0;c[C>>2]=0;A=e+24|0;B=c[A+4>>2]|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;C=65;break}case 293:{C=c[e+24>>2]|0;c[s>>2]=C;c[s+8>>2]=(a[C+4>>0]|64)&255;C=gF(r,s,s)|0;c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=4;c[f+8>>2]=C;C=65;break}case 270:{c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=1;c[f+8>>2]=0;C=65;break}case 276:{c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=2;c[f+8>>2]=0;C=65;break}case 263:{c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=3;c[f+8>>2]=0;C=65;break}case 281:{if(!(a[(c[r>>2]|0)+7>>0]|0))uF(e,355099);else{C=eF(r,8388653)|0;c[f+16>>2]=-1;c[f+20>>2]=-1;c[f>>2]=14;c[f+8>>2]=C;C=65;break a}break}case 123:{JA(e,f);C=68;break}case 265:{j=e+4|0;i=c[j>>2]|0;c[e+8>>2]=i;k=e+32|0;if((c[k>>2]|0)==289){c[D>>2]=xF(e,e+24|0)|0;i=c[j>>2]|0}else{C=e+16|0;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[k>>2]=289}EA(e,f,0,i);C=68;break}default:{GA(e,f);C=68}}while(0);do if((C|0)==9){n=c[e+4>>2]|0;c[e+8>>2]=n;k=e+32|0;if((c[k>>2]|0)==289)c[D>>2]=xF(e,e+24|0)|0;else{B=e+16|0;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];c[B+8>>2]=c[k+8>>2];c[B+12>>2]=c[k+12>>2];c[k>>2]=289}zA(e,f,12)|0;p=c[I>>2]|0;c[s+20>>2]=-1;c[s+16>>2]=-1;c[s>>2]=6;B=s+8|0;c[B>>2]=0;c[B+4>>2]=0;if((m|0)==2){hF(p,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 6:case 5:case 4:{c[f>>2]=3;break}case 11:{m=c[(c[p>>2]|0)+48>>2]|0;k=c[f+8>>2]|0;n=m+(k<<2)|0;if(!((k|0)>0?(j=m+(k+-1<<2)|0,i=c[j>>2]|0,((i&63)+-31|0)>>>0<5):0)){j=n;i=c[n>>2]|0}c[j>>2]=((i&16320|0)==0&1)<<6|i&-16321;break}case 7:{C=28;break}case 12:{i=p+44|0;j=(d[i>>0]|0)+1|0;k=(c[p>>2]|0)+8|0;do if(j>>>0>(d[k>>0]|0)>>>0)if(j>>>0>254)uF(c[p+8>>2]|0,360789);else{t=j&255;a[k>>0]=t;break}else t=j&255;while(0);a[i>>0]=t;kF(p,f,(t&255)+-1|0);if((c[f>>2]|0)==7)C=28;else{j=f+8|0;i=j;j=c[j>>2]|0;C=31}break}default:{}}if((C|0)==28){i=f+8|0;j=c[i>>2]|0;if((j&256|0)==0?(d[p+42>>0]|0)<=(j|0):0){C=p+44|0;a[C>>0]=(a[C>>0]|0)+-1<<24>>24;C=31}else C=31}if((C|0)==31){c[i>>2]=eF(p,j<<23|27)|0;c[f>>2]=12}C=f+20|0;i=c[C>>2]|0;o=f+16|0;j=c[o>>2]|0;c[C>>2]=j;c[o>>2]=i;if((j|0)!=-1){n=c[(c[p>>2]|0)+48>>2]|0;do{k=n+(j<<2)|0;if((j|0)>0?(u=n+(j+-1<<2)|0,v=c[u>>2]|0,((v&63)+-31|0)>>>0<5):0){i=u;m=v}else{i=k;m=c[k>>2]|0}if((m&63|0)==35)c[i>>2]=m&8372224|m>>>23<<6|34;C=((c[k>>2]|0)>>>14)+-131071|0;j=(C|0)==-1?-1:j+1+C|0}while((j|0)!=-1);i=c[o>>2]|0}if((i|0)!=-1){n=c[(c[p>>2]|0)+48>>2]|0;do{k=n+(i<<2)|0;if((i|0)>0?(w=n+(i+-1<<2)|0,x=c[w>>2]|0,((x&63)+-31|0)>>>0<5):0){j=w;m=x}else{j=k;m=c[k>>2]|0}if((m&63|0)==35)c[j>>2]=m&8372224|m>>>23<<6|34;C=((c[k>>2]|0)>>>14)+-131071|0;i=(C|0)==-1?-1:i+1+C|0}while((i|0)!=-1)}}else qF(p,m+25|0,f,s,n);C=68}else if((C|0)==65){c[e+8>>2]=c[e+4>>2];i=e+32|0;if((c[i>>2]|0)==289){q=xF(e,e+24|0)|0;c[D>>2]=q;break}else{C=e+16|0;c[C>>2]=c[i>>2];c[C+4>>2]=c[i+4>>2];c[C+8>>2]=c[i+8>>2];c[C+12>>2]=c[i+12>>2];c[i>>2]=289;C=68;break}}while(0);if((C|0)==68)q=c[D>>2]|0;do switch(q|0){case 43:{i=0;break}case 45:{i=1;break}case 42:{i=2;break}case 37:{i=3;break}case 94:{i=4;break}case 47:{i=5;break}case 279:{i=6;break}case 38:{i=7;break}case 124:{i=8;break}case 126:{i=9;break}case 286:{i=10;break}case 287:{i=11;break}case 280:{i=12;break}case 285:{i=16;break}case 282:{i=13;break}case 60:{i=14;break}case 284:{i=15;break}case 62:{i=17;break}case 283:{i=18;break}case 257:{i=19;break}case 272:{i=20;break}default:{J=21;K=c[K>>2]|0;K=K+106|0;f=b[K>>1]|0;f=f+-1<<16>>16;b[K>>1]=f;l=L;return J|0}}while(0);r=e+4|0;s=e+8|0;t=e+32|0;u=e+24|0;v=J+20|0;w=f+20|0;x=J+16|0;y=f+16|0;z=J+8|0;A=f+8|0;B=e+16|0;b:while(1){if((d[355142+(i<<1)>>0]|0)<=(g|0)){C=155;break}o=c[r>>2]|0;c[s>>2]=o;if((c[t>>2]|0)==289)c[D>>2]=xF(e,u)|0;else{c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];c[t>>2]=289}m=c[I>>2]|0;c:do switch(i|0){case 19:{oF(m,f);i=zA(e,J,2)|0;j=c[I>>2]|0;C=114;break}case 20:{pF(m,f);i=zA(e,J,1)|0;j=c[I>>2]|0;C=123;break}case 12:{hF(m,f);if(((c[f>>2]|0)==7?(E=c[A>>2]|0,(E&256|0)==0):0)?(d[m+42>>0]|0)<=(E|0):0){C=m+44|0;a[C>>0]=(a[C>>0]|0)+-1<<24>>24}k=m+44|0;i=(d[k>>0]|0)+1|0;j=(c[m>>2]|0)+8|0;if(i>>>0>(d[j>>0]|0)>>>0){if(i>>>0>254){C=105;break b}i=i&255;a[j>>0]=i}else i=i&255;a[k>>0]=i;jF(m,f,(i&255)+-1|0);i=zA(e,J,8)|0;n=c[I>>2]|0;C=132;break}case 11:case 10:case 9:case 8:case 7:case 4:case 3:case 6:case 5:case 2:case 1:case 0:{if(((c[y>>2]|0)==-1?(c[w>>2]|0)==-1:0)?((c[f>>2]|0)+-5|0)>>>0<2:0){C=113;break c}mF(m,f)|0;C=113;break}default:{mF(m,f)|0;C=113}}while(0);d:do if((C|0)==113){C=0;k=zA(e,J,d[355142+(i<<1)+1>>0]|0)|0;j=c[I>>2]|0;switch(i|0){case 19:{i=k;C=114;break d}case 20:{i=k;C=123;break d}case 12:{n=j;i=k;C=132;break d}case 11:case 10:case 9:case 8:case 7:case 4:case 3:case 6:case 5:case 2:case 1:case 0:{qF(j,i+13|0,f,J,o);i=k;break d}case 15:case 14:case 13:{rF(j,i+18|0,1,f,J);i=k;break d}case 18:case 17:case 16:{rF(j,i+15|0,0,f,J);i=k;break d}default:{i=k;break d}}}while(0);do if((C|0)==114){hF(j,J);n=c[w>>2]|0;do if((n|0)!=-1){k=c[v>>2]|0;if((k|0)==-1){c[v>>2]=n;break}q=c[(c[j>>2]|0)+48>>2]|0;while(1){o=q+(k<<2)|0;p=c[o>>2]|0;m=(p>>>14)+-131071|0;m=(m|0)==-1?-1:k+1+m|0;if((m|0)==-1)break;else k=m}k=n+~k|0;if((((k|0)>-1?k:0-k|0)|0)>131071){C=120;break b}c[o>>2]=(k<<14)+2147467264|p&16383}while(0);c[f>>2]=c[J>>2];c[f+4>>2]=c[J+4>>2];c[f+8>>2]=c[J+8>>2];c[f+12>>2]=c[J+12>>2];c[f+16>>2]=c[J+16>>2];c[f+20>>2]=c[J+20>>2]}else if((C|0)==123){hF(j,J);n=c[y>>2]|0;do if((n|0)!=-1){k=c[x>>2]|0;if((k|0)==-1){c[x>>2]=n;break}q=c[(c[j>>2]|0)+48>>2]|0;while(1){o=q+(k<<2)|0;p=c[o>>2]|0;m=(p>>>14)+-131071|0;m=(m|0)==-1?-1:k+1+m|0;if((m|0)==-1)break;else k=m}k=n+~k|0;if((((k|0)>-1?k:0-k|0)|0)>131071){C=129;break b}c[o>>2]=(k<<14)+2147467264|p&16383}while(0);c[f>>2]=c[J>>2];c[f+4>>2]=c[J+4>>2];c[f+8>>2]=c[J+8>>2];c[f+12>>2]=c[J+12>>2];c[f+16>>2]=c[J+16>>2];c[f+20>>2]=c[J+20>>2]}else if((C|0)==132){if((c[x>>2]|0)==(c[v>>2]|0))hF(n,J);else lF(n,J)|0;if((c[J>>2]|0)==12?(F=(c[(c[n>>2]|0)+48>>2]|0)+(c[z>>2]<<2)|0,G=c[F>>2]|0,(G&63|0)==29):0){j=c[A>>2]|0;if((c[f>>2]|0)==7&(j&256|0)==0?(d[n+42>>0]|0)<=(j|0):0){C=n+44|0;a[C>>0]=(a[C>>0]|0)+-1<<24>>24}c[F>>2]=j<<23|G&8388607;c[f>>2]=12;c[A>>2]=c[z>>2];break}hF(n,J);if(((c[J>>2]|0)==7?(H=c[z>>2]|0,(H&256|0)==0):0)?(d[n+42>>0]|0)<=(H|0):0){C=n+44|0;a[C>>0]=(a[C>>0]|0)+-1<<24>>24}m=n+44|0;j=(d[m>>0]|0)+1|0;k=(c[n>>2]|0)+8|0;if(j>>>0>(d[k>>0]|0)>>>0){if(j>>>0>254){C=148;break b}j=j&255;a[k>>0]=j}else j=j&255;a[m>>0]=j;jF(n,J,(j&255)+-1|0);qF(n,29,f,J,o)}while(0);if((i|0)==21){i=21;C=155;break}}if((C|0)==105)uF(c[m+8>>2]|0,360789);else if((C|0)==120)uF(c[j+8>>2]|0,360754);else if((C|0)==129)uF(c[j+8>>2]|0,360754);else if((C|0)==148)uF(c[n+8>>2]|0,360789);else if((C|0)==155){K=c[K>>2]|0;K=K+106|0;J=b[K>>1]|0;J=J+-1<<16>>16;b[K>>1]=J;l=L;return i|0}return 0}function AA(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+8|0;p=s;o=c[e+48>>2]|0;r=c[e+68>>2]|0;m=c[o>>2]|0;g=m+32|0;i=c[g>>2]|0;n=o+40|0;if((b[n>>1]|0)<(i|0)){h=i;j=c[m+60>>2]|0}else{h=m+60|0;j=lA(c[e+52>>2]|0,c[h>>2]|0,g,12,32767,355083)|0;c[h>>2]=j;h=c[g>>2]|0}if((i|0)<(h|0)){g=i;do{c[j+(g*12|0)>>2]=0;g=g+1|0}while((g|0)!=(h|0))}k=b[n>>1]|0;c[j+((k<<16>>16)*12|0)>>2]=f;g=m+5|0;h=a[g>>0]|0;do if((h&4)!=0?(a[f+5>>0]&3)!=0:0){i=c[(c[e+52>>2]|0)+12>>2]|0;if((d[i+61>>0]|0)<2){$z(i,f);m=b[n>>1]|0;break}else{a[g>>0]=a[i+60>>0]&3|h&-8;m=k;break}}else m=k;while(0);b[n>>1]=m+1<<16>>16;j=r+4|0;k=c[j>>2]|0;if((k+1-(c[o+36>>2]|0)|0)>200){h=o+8|0;i=c[(c[h>>2]|0)+52>>2]|0;g=c[(c[o>>2]|0)+36>>2]|0;if(!g){n=354756;c[q>>2]=355083;o=q+4|0;c[o>>2]=200;o=q+8|0;c[o>>2]=n;o=qA(i,354770,q)|0;n=c[h>>2]|0;uF(n,o)}c[p>>2]=g;o=qA(i,354736,p)|0;c[q>>2]=355083;p=q+4|0;c[p>>2]=200;p=q+8|0;c[p>>2]=o;q=qA(i,354770,q)|0;p=c[h>>2]|0;uF(p,q)}g=r+8|0;if((k+2|0)>(c[g>>2]|0)){q=lA(c[e+52>>2]|0,c[r>>2]|0,g,2,2147483647,355083)|0;c[r>>2]=q;e=c[j>>2]|0;r=q;q=e+1|0;c[j>>2]=q;e=r+(e<<1)|0;b[e>>1]=m;l=s;return}else{e=k;r=c[r>>2]|0;q=e+1|0;c[j>>2]=q;e=r+(e<<1)|0;b[e>>1]=m;l=s;return}}function BA(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;u=B+16|0;s=B;r=e+48|0;y=c[r>>2]|0;q=y+42|0;v=(d[q>>0]|0)+3|0;a[q>>0]=v;A=y+16|0;o=c[A>>2]|0;x=y+8|0;p=c[(c[y>>2]|0)+60>>2]|0;w=c[c[(c[x>>2]|0)+68>>2]>>2]|0;v=(c[y+36>>2]|0)+(v&255)|0;c[p+((b[w+(v+-3<<1)>>1]|0)*12|0)+4>>2]=o;c[p+((b[w+(v+-2<<1)>>1]|0)*12|0)+4>>2]=o;c[p+((b[w+(v+-1<<1)>>1]|0)*12|0)+4>>2]=o;v=e+16|0;if((c[v>>2]|0)!=259)tA(e,259);c[e+8>>2]=c[e+4>>2];j=e+32|0;if((c[j>>2]|0)==289)c[v>>2]=xF(e,e+24|0)|0;else{w=e+16|0;c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];c[j>>2]=289}w=(i|0)!=0;do if(!w){n=y+24|0;i=c[n>>2]|0;c[n>>2]=-1;n=eF(y,2147450910)|0;if((i|0)!=-1)if((n|0)!=-1){k=c[(c[y>>2]|0)+48>>2]|0;m=n;while(1){o=k+(m<<2)|0;p=c[o>>2]|0;j=(p>>>14)+-131071|0;j=(j|0)==-1?-1:m+1+j|0;if((j|0)==-1)break;else m=j}j=i+~m|0;if((((j|0)>-1?j:0-j|0)|0)>131071)uF(c[x>>2]|0,360754);else{c[o>>2]=(j<<14)+2147467264|p&16383;z=n;break}}else z=i;else z=n}else z=eF(y,f<<6|2147450920)|0;while(0);a[s+14>>0]=0;a[s+12>>0]=a[q>>0]|0;q=c[x>>2]|0;p=c[q+68>>2]|0;c[s+4>>2]=c[p+28>>2];c[s+8>>2]=c[p+16>>2];a[s+13>>0]=0;p=y+12|0;c[s>>2]=c[p>>2];c[p>>2]=s;p=c[r>>2]|0;s=p+42|0;j=(d[s>>0]|0)+h|0;o=j&255;a[s>>0]=o;if(h|0){n=c[p+16>>2]|0;k=c[(c[p>>2]|0)+60>>2]|0;m=c[c[(c[p+8>>2]|0)+68>>2]>>2]|0;i=(c[p+36>>2]|0)+(j&255)|0;j=h;do{c[k+((b[m+(i-j<<1)>>1]|0)*12|0)+4>>2]=n;j=j+-1|0}while((j|0)!=0)}i=y+44|0;k=(d[i>>0]|0)+h|0;j=(c[y>>2]|0)+8|0;do if((k|0)>(d[j>>0]|0))if((k|0)>254)uF(q,360789);else{t=k&255;a[j>>0]=t;break}else t=k&255;while(0);a[i>>0]=t;a[u+14>>0]=0;a[u+12>>0]=o;t=c[(c[p+8>>2]|0)+68>>2]|0;c[u+4>>2]=c[t+28>>2];c[u+8>>2]=c[t+16>>2];a[u+13>>0]=0;t=p+12|0;c[u>>2]=c[t>>2];c[t>>2]=u;a:do{j=c[v>>2]|0;switch(j|0){case 277:case 289:case 262:case 261:case 260:break a;default:{}}sA(e)}while((j|0)!=274);vA(p);vA(y);c[y+20>>2]=c[A>>2];j=y+24|0;do if((z|0)!=-1){i=c[j>>2]|0;if((i|0)==-1){c[j>>2]=z;break}n=c[(c[y>>2]|0)+48>>2]|0;while(1){k=n+(i<<2)|0;m=c[k>>2]|0;j=(m>>>14)+-131071|0;j=(j|0)==-1?-1:i+1+j|0;if((j|0)==-1)break;else i=j}j=z+~i|0;if((((j|0)>-1?j:0-j|0)|0)>131071)uF(c[x>>2]|0,360754);else{c[k>>2]=(j<<14)+2147467264|m&16383;break}}while(0);j=f<<6;if(w){f=j|2147450919;f=eF(y,f)|0;h=z+1|0;fF(y,f,h);h=c[A>>2]|0;h=h+-1|0;A=c[y>>2]|0;A=A+56|0;A=c[A>>2]|0;h=A+(h<<2)|0;c[h>>2]=g;l=B;return}else{eF(y,j|h<<14|41)|0;c[(c[(c[y>>2]|0)+56>>2]|0)+((c[A>>2]|0)+-1<<2)>>2]=g;f=j+128|2147450922;f=eF(y,f)|0;h=z+1|0;fF(y,f,h);h=c[A>>2]|0;h=h+-1|0;A=c[y>>2]|0;A=A+56|0;A=c[A>>2]|0;h=A+(h<<2)|0;c[h>>2]=g;l=B;return}}function CA(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!e){o=0;return o|0}k=e+8|0;l=e+36|0;i=c[e>>2]|0;j=i+60|0;n=d[e+42>>0]|0;while(1){m=n+-1|0;if((n|0)<=0)break;if((c[(c[j>>2]|0)+((b[(c[c[(c[k>>2]|0)+68>>2]>>2]|0)+((c[l>>2]|0)+m<<1)>>1]|0)*12|0)>>2]|0)==(f|0)){o=5;break}else n=m}if((o|0)==5){c[g+16>>2]=-1;c[g+20>>2]=-1;c[g>>2]=8;c[g+8>>2]=m;if(h|0){o=8;return o|0}h=e+12|0;do h=c[h>>2]|0;while((d[h+12>>0]|0)>=(n|0));a[h+13>>0]=1;o=8;return o|0}j=c[i+64>>2]|0;h=a[e+43>>0]|0;a:do if(h<<24>>24){i=h&255;h=0;while(1){if((c[j+(h<<3)>>2]|0)==(f|0))break;h=h+1|0;if((h|0)>=(i|0)){o=14;break a}}if((h|0)<0)o=14}else o=14;while(0);do if((o|0)==14)if(!(CA(c[e+4>>2]|0,f,g,0)|0)){o=0;return o|0}else{h=rA(e,f,g)|0;break}while(0);c[g+16>>2]=-1;c[g+20>>2]=-1;c[g>>2]=9;c[g+8>>2]=h;o=9;return o|0}function DA(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+24|0;o=q;i=d+48|0;j=c[i>>2]|0;if(!((c[e>>2]|0)==9?(c[e+16>>2]|0)==(c[e+20>>2]|0):0))lF(j,e)|0;n=d+4|0;k=d+8|0;c[k>>2]=c[n>>2];m=d+32|0;if((c[m>>2]|0)==289){f=xF(d,d+24|0)|0;h=d+16|0;c[h>>2]=f}else{f=d+16|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[m>>2]=289;f=d+16|0;h=f;f=c[f>>2]|0}if((f|0)!=292)tA(d,292);f=d+24|0;g=c[f>>2]|0;c[k>>2]=c[n>>2];if((c[m>>2]|0)==289)c[h>>2]=xF(d,f)|0;else{d=d+16|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[m>>2]=289}d=c[i>>2]|0;c[p>>2]=g;c[p+8>>2]=(a[g+4>>0]|64)&255;p=gF(d,p,p)|0;c[o+16>>2]=-1;c[o+20>>2]=-1;c[o>>2]=4;c[o+8>>2]=p;p=e+8|0;a[p+2>>0]=c[p>>2];b[p>>1]=mF(j,o)|0;a[p+3>>0]=(c[e>>2]|0)==9?9:8;c[e>>2]=10;l=q;return}function EA(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;A=B;z=B+32|0;s=B+16|0;x=e+48|0;q=c[x>>2]|0;y=e+52|0;r=c[y>>2]|0;p=c[q>>2]|0;q=q+32|0;j=p+28|0;k=c[j>>2]|0;o=p+52|0;if(((c[q>>2]|0)>=(k|0)?(m=lA(r,c[o>>2]|0,j,4,262143,355043)|0,c[o>>2]=m,n=c[j>>2]|0,(k|0)<(n|0)):0)?(i=k+1|0,c[m+(k<<2)>>2]=0,(i|0)<(n|0)):0)do{c[(c[o>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(n|0));m=Zz(r)|0;j=c[q>>2]|0;c[q>>2]=j+1;c[(c[o>>2]|0)+(j<<2)>>2]=m;j=p+5|0;k=a[j>>0]|0;do if(k&4?a[m+5>>0]&3:0){i=c[r+12>>2]|0;if((d[i+61>>0]|0)<2){$z(i,m);break}else{a[j>>0]=a[i+60>>0]&3|k&-8;break}}while(0);c[z>>2]=m;c[m+36>>2]=h;c[z+4>>2]=c[x>>2];c[z+8>>2]=e;c[x>>2]=z;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=-1;c[z+28>>2]=0;c[z+32>>2]=0;u=z+40|0;c[u>>2]=0;a[u+4>>0]=0;u=c[e+68>>2]|0;c[z+36>>2]=c[u+4>>2];c[m+72>>2]=c[e+72>>2];a[m+8>>0]=2;a[s+14>>0]=0;a[s+12>>0]=0;c[s+4>>2]=c[u+28>>2];c[s+8>>2]=c[u+16>>2];a[s+13>>0]=0;c[s>>2]=0;c[z+12>>2]=s;s=e+16|0;if((c[s>>2]|0)!=40)tA(e,40);r=e+4|0;t=e+8|0;c[t>>2]=c[r>>2];u=e+32|0;if((c[u>>2]|0)==289)c[s>>2]=xF(e,e+24|0)|0;else{q=e+16|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];c[u>>2]=289}if(!g){p=c[x>>2]|0;q=p;p=c[p>>2]|0}else{AA(e,wF(e,355053,4)|0);q=c[x>>2]|0;p=q+42|0;g=(d[p>>0]|0)+1|0;a[p>>0]=g;p=c[q>>2]|0;c[(c[p+60>>2]|0)+((b[(c[c[(c[q+8>>2]|0)+68>>2]>>2]|0)+((c[q+36>>2]|0)+(g&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[q+16>>2]}n=p+7|0;a[n>>0]=0;i=c[s>>2]|0;a:do if((i|0)==41)i=0;else{k=e+24|0;m=e+16|0;j=0;b:while(1){switch(i|0){case 281:break b;case 292:break;default:{w=28;break b}}i=c[k>>2]|0;c[t>>2]=c[r>>2];if((c[u>>2]|0)==289)c[s>>2]=xF(e,k)|0;else{c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[u>>2]=289}AA(e,i);j=j+1|0;if(a[n>>0]|0){i=j;break a}if((c[s>>2]|0)!=44){i=j;break a}c[t>>2]=c[r>>2];if((c[u>>2]|0)==289){i=xF(e,k)|0;c[s>>2]=i;continue}else{c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[u>>2]=289;i=c[s>>2]|0;continue}}if((w|0)==28)uF(e,355058);c[t>>2]=c[r>>2];if((c[u>>2]|0)==289)c[s>>2]=xF(e,k)|0;else{c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[u>>2]=289}a[n>>0]=1;i=j}while(0);k=c[x>>2]|0;g=k+42|0;j=(d[g>>0]|0)+i|0;a[g>>0]=j;if(i|0){o=c[k+16>>2]|0;m=c[(c[k>>2]|0)+60>>2]|0;n=c[c[(c[k+8>>2]|0)+68>>2]>>2]|0;j=(c[k+36>>2]|0)+(j&255)|0;do{c[m+((b[n+(j-i<<1)>>1]|0)*12|0)+4>>2]=o;i=i+-1|0}while((i|0)!=0)}j=a[q+42>>0]|0;a[p+6>>0]=j;i=q+44|0;j=(d[i>>0]|0)+(j&255)|0;k=(c[q>>2]|0)+8|0;do if(j>>>0>(d[k>>0]|0)>>>0)if(j>>>0>254)uF(c[q+8>>2]|0,360789);else{v=j&255;a[k>>0]=v;break}else v=j&255;while(0);a[i>>0]=v;if((c[s>>2]|0)!=41)tA(e,41);c[t>>2]=c[r>>2];if((c[u>>2]|0)==289){i=xF(e,e+24|0)|0;c[s>>2]=i}else{w=e+16|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[u>>2]=289;w=47}c:while(1){if((w|0)==47){w=0;i=c[s>>2]|0}switch(i|0){case 277:case 289:case 262:case 261:case 260:{j=i;break c}default:{}}sA(e);if((i|0)==274){w=50;break}else w=47}if((w|0)==50)j=c[s>>2]|0;i=c[r>>2]|0;c[(c[z>>2]|0)+40>>2]=i;if((j|0)!=262)if((i|0)==(h|0))tA(e,262);else{z=c[y>>2]|0;w=tF(e,262)|0;y=tF(e,265)|0;c[A>>2]=w;c[A+4>>2]=y;c[A+8>>2]=h;uF(e,qA(z,354811,A)|0)}c[t>>2]=i;if((c[u>>2]|0)==289){c[s>>2]=xF(e,e+24|0)|0;A=c[x>>2]|0;A=A+4|0;A=c[A>>2]|0;y=A+32|0;y=c[y>>2]|0;y=y<<14;y=y+-16384|0;y=y|44;y=eF(A,y)|0;z=f+16|0;c[z>>2]=-1;z=f+20|0;c[z>>2]=-1;c[f>>2]=12;z=f+8|0;c[z>>2]=y;iF(A,f);uA(e);l=B;return}else{A=e+16|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];c[u>>2]=289;A=c[x>>2]|0;A=A+4|0;A=c[A>>2]|0;y=A+32|0;y=c[y>>2]|0;y=y<<14;y=y+-16384|0;y=y|44;y=eF(A,y)|0;z=f+16|0;c[z>>2]=-1;z=f+20|0;c[z>>2]=-1;c[f>>2]=12;z=f+8|0;c[z>>2]=y;iF(A,f);uA(e);l=B;return}}function FA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=b+4|0;m=c[h>>2]|0;j=b+16|0;g=(c[j>>2]|0)==266;k=b+8|0;c[k>>2]=m;l=b+32|0;if((c[l>>2]|0)==289)c[j>>2]=xF(b,b+24|0)|0;else{n=b+16|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];c[l>>2]=289}do if(g){if((c[j>>2]|0)!=292)tA(b,292);g=b+24|0;i=c[g>>2]|0;c[k>>2]=c[h>>2];if((c[l>>2]|0)==289){c[j>>2]=xF(b,g)|0;break}else{n=b+16|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];c[l>>2]=289;break}}else{g=c[b+52>>2]|0;h=(c[g+12>>2]|0)+280+(((367685>>>0)%127|0)<<2)|0;i=c[h>>2]|0;if(!(e3(367685,i+16|0)|0))break;else{i=QA(g,367685,5)|0;c[h>>2]=i;break}}while(0);j=b+68|0;k=c[j>>2]|0;g=k+12|0;l=k+16|0;n=c[l>>2]|0;h=k+20|0;if((n|0)<(c[h>>2]|0))g=c[g>>2]|0;else{k=lA(c[b+52>>2]|0,c[g>>2]|0,h,16,32767,354577)|0;c[g>>2]=k;g=k;k=c[j>>2]|0}c[g+(n<<4)>>2]=i;c[g+(n<<4)+8>>2]=m;m=c[b+48>>2]|0;a[g+(n<<4)+12>>0]=a[m+42>>0]|0;c[g+(n<<4)+4>>2]=e;c[l>>2]=n+1;l=c[k+12>>2]|0;g=c[(c[m+12>>2]|0)+4>>2]|0;j=c[k+28>>2]|0;if((g|0)>=(j|0))return;h=c[k+24>>2]|0;i=c[l+(n<<4)>>2]|0;while(1){k=h+(g<<4)|0;if((c[k>>2]|0)==(i|0))break;g=g+1|0;if((g|0)>=(j|0)){o=25;break}}if((o|0)==25)return;g=a[h+(g<<4)+12>>0]|0;if((d[l+(n<<4)+12>>0]|0)>(g&255)?(f=c[l+(n<<4)+4>>2]|0,(f|0)!=-1):0){h=c[(c[m>>2]|0)+48>>2]|0;g=((g&255)<<6)+64&16320;do{e=h+(f<<2)|0;m=c[e>>2]|0;o=(m>>>14)+-131071|0;c[e>>2]=m&-16321|g;f=(o|0)==-1?-1:f+1+o|0}while((f|0)!=-1)}wA(b,n,k);return}function GA(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+112|0;j=N+88|0;L=N+72|0;m=N+24|0;J=N+48|0;K=N;E=e+48|0;M=c[E>>2]|0;G=e+4|0;H=c[G>>2]|0;I=e+16|0;switch(c[I>>2]|0){case 40:{i=e+8|0;c[i>>2]=H;h=e+32|0;if((c[h>>2]|0)==289)c[I>>2]=xF(e,e+24|0)|0;else{D=e+16|0;c[D>>2]=c[h>>2];c[D+4>>2]=c[h+4>>2];c[D+8>>2]=c[h+8>>2];c[D+12>>2]=c[h+12>>2];c[h>>2]=289}zA(e,f,0)|0;g=c[G>>2]|0;if((c[I>>2]|0)!=41)if((g|0)==(H|0))tA(e,41);else{D=c[e+52>>2]|0;B=tF(e,41)|0;C=tF(e,40)|0;c[j>>2]=B;c[j+4>>2]=C;c[j+8>>2]=H;uF(e,qA(D,354811,j)|0)}c[i>>2]=g;if((c[h>>2]|0)==289){g=e+24|0;c[I>>2]=xF(e,g)|0}else{g=e+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=289;g=e+24|0}hF(c[E>>2]|0,f);D=h;B=h;C=g;A=g;break}case 292:{j=e+24|0;g=c[j>>2]|0;k=e+8|0;c[k>>2]=H;i=e+32|0;if((c[i>>2]|0)==289){c[I>>2]=xF(e,j)|0;h=c[E>>2]|0}else{h=e+16|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[i>>2]=289;h=M}if(!(CA(h,g,f,1)|0)){CA(h,c[e+76>>2]|0,f,1)|0;D=c[E>>2]|0;c[L>>2]=g;c[L+8>>2]=(a[g+4>>0]|64)&255;D=gF(D,L,L)|0;c[m+16>>2]=-1;c[m+20>>2]=-1;c[m>>2]=4;c[m+8>>2]=D;D=f+8|0;a[D+2>>0]=c[D>>2];b[D>>1]=mF(h,m)|0;a[D+3>>0]=(c[f>>2]|0)==9?9:8;c[f>>2]=10}D=i;B=i;C=j;A=j;i=k;break}default:uF(e,354997)}m=K+16|0;n=K+20|0;o=K+8|0;p=f+16|0;q=f+20|0;r=J+16|0;s=J+20|0;t=f+8|0;u=t+2|0;v=t+3|0;w=e+16|0;x=L+8|0;y=M+42|0;z=M+44|0;a:while(1)switch(c[I>>2]|0){case 46:{DA(e,f);continue a}case 91:{if(!((c[f>>2]|0)==9?(c[p>>2]|0)==(c[q>>2]|0):0))lF(M,f)|0;c[i>>2]=c[G>>2];if((c[B>>2]|0)==289)c[I>>2]=xF(e,C)|0;else{c[w>>2]=c[D>>2];c[w+4>>2]=c[D+4>>2];c[w+8>>2]=c[D+8>>2];c[w+12>>2]=c[D+12>>2];c[B>>2]=289}zA(e,J,0)|0;g=c[E>>2]|0;if((c[r>>2]|0)==(c[s>>2]|0))hF(g,J);else lF(g,J)|0;if((c[I>>2]|0)!=93){g=33;break a}c[i>>2]=c[G>>2];if((c[B>>2]|0)==289)c[I>>2]=xF(e,C)|0;else{c[w>>2]=c[D>>2];c[w+4>>2]=c[D+4>>2];c[w+8>>2]=c[D+8>>2];c[w+12>>2]=c[D+12>>2];c[B>>2]=289}a[u>>0]=c[t>>2];b[t>>1]=mF(M,J)|0;a[v>>0]=(c[f>>2]|0)==9?9:8;c[f>>2]=10;continue a}case 58:{c[i>>2]=c[G>>2];if((c[B>>2]|0)==289){g=xF(e,C)|0;c[I>>2]=g}else{c[w>>2]=c[D>>2];c[w+4>>2]=c[D+4>>2];c[w+8>>2]=c[D+8>>2];c[w+12>>2]=c[D+12>>2];c[B>>2]=289;g=c[I>>2]|0}if((g|0)!=292){g=42;break a}g=c[A>>2]|0;c[i>>2]=c[G>>2];if((c[B>>2]|0)==289)c[I>>2]=xF(e,C)|0;else{c[w>>2]=c[D>>2];c[w+4>>2]=c[D+4>>2];c[w+8>>2]=c[D+8>>2];c[w+12>>2]=c[D+12>>2];c[B>>2]=289}j=c[E>>2]|0;c[L>>2]=g;c[x>>2]=(a[g+4>>0]|64)&255;j=gF(j,L,L)|0;c[m>>2]=-1;c[n>>2]=-1;c[K>>2]=4;c[o>>2]=j;lF(M,f)|0;j=c[t>>2]|0;if((c[f>>2]|0)==7&(j&256|0)==0?(d[y>>0]|0|0)<=(j|0):0)a[z>>0]=(a[z>>0]|0)+-1<<24>>24;k=d[z>>0]|0;c[t>>2]=k;c[f>>2]=7;g=k+2|0;h=(c[M>>2]|0)+8|0;if(g>>>0>(d[h>>0]|0)>>>0){if(g>>>0>254){g=52;break a}g=g&255;a[h>>0]=g}else g=g&255;a[z>>0]=g;eF(M,j<<23|k<<6|(mF(M,K)|0)<<14|12)|0;if(((c[K>>2]|0)==7?(F=c[o>>2]|0,(F&256|0)==0):0)?(d[y>>0]|0|0)<=(F|0):0)a[z>>0]=(a[z>>0]|0)+-1<<24>>24;IA(e,f,H);continue a}case 123:case 293:case 40:{iF(M,f);IA(e,f,H);continue a}default:{g=60;break a}}if((g|0)==33)tA(e,93);else if((g|0)==42)tA(e,292);else if((g|0)==52)uF(c[M+8>>2]|0,360789);else if((g|0)==60){l=N;return}}function HA(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+80|0;C=I+64|0;B=I+56|0;H=I+32|0;y=I;G=g+8|0;if(((c[G>>2]|0)+-8|0)>>>0>=3)uF(f,354984);o=f+16|0;a:do switch(c[o>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];i=f+32|0;if((c[i>>2]|0)==289)c[o>>2]=xF(f,f+24|0)|0;else{F=f+16|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=289}c[y>>2]=g;j=y+8|0;GA(f,j);j=c[j>>2]|0;v=f+48|0;if((j|0)!=10){u=c[v>>2]|0;t=u+44|0;n=a[t>>0]|0;o=n&255;m=n&255;p=c[y+16>>2]|0;q=(j|0)==8;if(q){k=g;i=0;do{if((c[k+8>>2]|0)==10){j=k+16|0;g=j+3|0;if((a[g>>0]|0)==8?(w=j+2|0,(d[w>>0]|0)==(p|0)):0){a[g>>0]=8;a[w>>0]=n;i=1}if((b[j>>1]|0)==(p|0)){b[j>>1]=m;i=1}}k=c[k>>2]|0}while((k|0)!=0)}else{i=0;do{if(((c[g+8>>2]|0)==10?(k=g+16|0,r=k+3|0,(d[r>>0]|0)==(j|0)):0)?(s=k+2|0,(d[s>>0]|0)==(p|0)):0){a[r>>0]=8;a[s>>0]=n;i=1}g=c[g>>2]|0}while((g|0)!=0)}if(i|0){eF(u,o<<6|(q?0:5)|p<<23)|0;i=(d[t>>0]|0)+1|0;g=(c[u>>2]|0)+8|0;do if(i>>>0>(d[g>>0]|0)>>>0)if(i>>>0>254)uF(c[u+8>>2]|0,360789);else{x=i&255;a[g>>0]=x;break}else x=i&255;while(0);a[t>>0]=x}}i=c[v>>2]|0;if(((e[(c[f+52>>2]|0)+106>>1]|0)+h|0)<=200){HA(f,y,h+1|0);D=H;A=v;break a}g=i+8|0;j=c[(c[g>>2]|0)+52>>2]|0;i=c[(c[i>>2]|0)+36>>2]|0;if(!i){f=354756;c[C>>2]=354802;h=C+4|0;c[h>>2]=200;h=C+8|0;c[h>>2]=f;h=qA(j,354770,C)|0;f=c[g>>2]|0;uF(f,h)}c[B>>2]=i;f=qA(j,354736,B)|0;c[C>>2]=354802;h=C+4|0;c[h>>2]=200;h=C+8|0;c[h>>2]=f;h=qA(j,354770,C)|0;f=c[g>>2]|0;uF(f,h);break}case 61:{k=f+4|0;m=f+8|0;c[m>>2]=c[k>>2];n=f+32|0;if((c[n>>2]|0)==289)c[o>>2]=xF(f,f+24|0)|0;else{D=f+16|0;c[D>>2]=c[n>>2];c[D+4>>2]=c[n+4>>2];c[D+8>>2]=c[n+8>>2];c[D+12>>2]=c[n+12>>2];c[n>>2]=289}zA(f,H,0)|0;r=f+48|0;if((c[o>>2]|0)==44){g=f+24|0;j=f+16|0;i=1;do{c[m>>2]=c[k>>2];if((c[n>>2]|0)==289)c[o>>2]=xF(f,g)|0;else{c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[n>>2]=289}iF(c[r>>2]|0,H);zA(f,H,0)|0;i=i+1|0}while((c[o>>2]|0)==44);q=i}else q=1;o=c[r>>2]|0;if((q|0)==(h|0)){switch(c[H>>2]|0){case 13:{c[H>>2]=7;h=H+8|0;c[h>>2]=(c[(c[(c[o>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>6&255;break}case 14:{h=(c[(c[o>>2]|0)+48>>2]|0)+(c[H+8>>2]<<2)|0;c[h>>2]=c[h>>2]&8388607|16777216;c[H>>2]=12;break}default:{}}nF(o,G,H);l=I;return}p=h-q|0;i=c[H>>2]|0;switch(i|0){case 14:case 13:{k=p+1|0;k=(k|0)>0?k:0;switch(i|0){case 13:{f=(c[(c[o>>2]|0)+48>>2]|0)+(c[H+8>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(k<<14)+16384&8372224;break}case 14:{f=H+8|0;j=c[o>>2]|0;i=c[j+48>>2]|0;g=i+(c[f>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|(k<<23)+8388608;f=i+(c[f>>2]<<2)|0;i=o+44|0;g=d[i>>0]|0;c[f>>2]=g<<6|c[f>>2]&-16321;g=g+1|0;j=j+8|0;do if(g>>>0>(d[j>>0]|0)>>>0)if(g>>>0>254)uF(c[o+8>>2]|0,360789);else{t=g&255;a[j>>0]=t;break}else t=g&255;while(0);a[i>>0]=t;break}default:{}}if((k|0)>1){j=o+44|0;i=(d[j>>0]|0)+(k+-1)|0;g=(c[o>>2]|0)+8|0;do if((i|0)>(d[g>>0]|0))if((i|0)>254)uF(c[o+8>>2]|0,360789);else{u=i&255;a[g>>0]=u;break}else u=i&255;while(0);a[j>>0]=u}break}case 0:{v=61;break}default:{iF(o,H);v=61}}b:do if((v|0)==61?(p|0)>0:0){i=o+44|0;m=d[i>>0]|0;n=m+p|0;k=c[o>>2]|0;g=k+8|0;do if((n|0)>(d[g>>0]|0))if((n|0)>254)uF(c[o+8>>2]|0,360789);else{z=n&255;a[g>>0]=z;break}else z=n&255;while(0);a[i>>0]=z;j=n+-1|0;i=c[o+16>>2]|0;do if((i|0)>(c[o+20>>2]|0)?(E=(c[k+48>>2]|0)+(i+-1<<2)|0,F=c[E>>2]|0,(F&63|0)==4):0){i=F>>>6&255;g=i+(F>>>23)|0;if(i>>>0>m>>>0|(g+1|0)>>>0<m>>>0?i>>>0<m>>>0|(i|0)>(n|0):0)break;f=i>>>0<m>>>0?i:m;c[E>>2]=((g|0)>(j|0)?g:j)-f<<23|f<<6|F&8372287;break b}while(0);eF(o,m<<6|(p<<23)+-8388608|4)|0}while(0);if((q|0)>(h|0)){D=(c[r>>2]|0)+44|0;a[D>>0]=p+(d[D>>0]|0);D=H;A=r}else{D=H;A=r}break}default:tA(f,61)}while(0);h=c[A>>2]|0;f=(d[h+44>>0]|0)+-1|0;c[H+16>>2]=-1;c[H+20>>2]=-1;c[D>>2]=7;c[H+8>>2]=f;nF(h,G,H);l=I;return}function IA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;o=s+40|0;g=s+24|0;r=s;i=b+48|0;q=c[i>>2]|0;p=b+16|0;a:do switch(c[p>>2]|0){case 40:{j=b+4|0;k=b+8|0;c[k>>2]=c[j>>2];m=b+32|0;if((c[m>>2]|0)==289){g=xF(b,b+24|0)|0;c[p>>2]=g}else{g=b+16|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[m>>2]=289;g=c[p>>2]|0}if((g|0)!=41){zA(b,r,0)|0;if((c[p>>2]|0)==44){g=b+24|0;h=b+16|0;do{c[k>>2]=c[j>>2];if((c[m>>2]|0)==289)c[p>>2]=xF(b,g)|0;else{c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];c[m>>2]=289}iF(c[i>>2]|0,r);zA(b,r,0)|0}while((c[p>>2]|0)==44)}switch(c[r>>2]|0){case 13:{n=(c[(c[q>>2]|0)+48>>2]|0)+(c[r+8>>2]<<2)|0;c[n>>2]=c[n>>2]&-8372225;break}case 14:{t=r+8|0;i=c[q>>2]|0;g=c[i+48>>2]|0;h=g+(c[t>>2]<<2)|0;c[h>>2]=c[h>>2]&8388607;t=g+(c[t>>2]<<2)|0;g=q+44|0;h=d[g>>0]|0;c[t>>2]=h<<6|c[t>>2]&-16321;h=h+1|0;i=i+8|0;do if(h>>>0>(d[i>>0]|0)>>>0)if(h>>>0>254)uF(c[q+8>>2]|0,360789);else{n=h&255;a[i>>0]=n;break}else n=h&255;while(0);a[g>>0]=n;break}default:{}}if((c[p>>2]|0)!=41)if((c[j>>2]|0)==(f|0))tA(b,41);else{t=c[b+52>>2]|0;i=tF(b,41)|0;n=tF(b,40)|0;c[o>>2]=i;c[o+4>>2]=n;c[o+8>>2]=f;uF(b,qA(t,354811,o)|0)}}else c[r>>2]=0;c[k>>2]=c[j>>2];if((c[m>>2]|0)==289){c[p>>2]=xF(b,b+24|0)|0;break a}else{t=b+16|0;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];c[m>>2]=289;break a}}case 123:{JA(b,r);break}case 293:{h=b+24|0;t=c[h>>2]|0;c[g>>2]=t;c[g+8>>2]=(a[t+4>>0]|64)&255;g=gF(q,g,g)|0;c[r+16>>2]=-1;c[r+20>>2]=-1;c[r>>2]=4;c[r+8>>2]=g;c[b+8>>2]=c[b+4>>2];g=b+32|0;if((c[g>>2]|0)==289){c[p>>2]=xF(b,h)|0;break a}else{t=b+16|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];c[g>>2]=289;break a}}default:uF(b,355015)}while(0);g=e+8|0;h=c[g>>2]|0;switch(c[r>>2]|0){case 0:break;case 14:case 13:{t=0;r=h<<6;t=r|t;t=t|32804;t=eF(q,t)|0;r=e+16|0;c[r>>2]=-1;r=e+20|0;c[r>>2]=-1;c[e>>2]=13;c[g>>2]=t;t=q+16|0;t=c[t>>2]|0;t=t+-1|0;e=c[q>>2]|0;e=e+56|0;e=c[e>>2]|0;t=e+(t<<2)|0;c[t>>2]=f;f=h+1|0;f=f&255;t=q+44|0;a[t>>0]=f;l=s;return}default:iF(q,r)}t=(d[q+44>>0]|0)-h<<23;r=h<<6;t=r|t;t=t|32804;t=eF(q,t)|0;r=e+16|0;c[r>>2]=-1;r=e+20|0;c[r>>2]=-1;c[e>>2]=13;c[g>>2]=t;t=q+16|0;t=c[t>>2]|0;t=t+-1|0;e=c[q>>2]|0;e=e+56|0;e=c[e>>2]|0;t=e+(t<<2)|0;c[t>>2]=f;f=h+1|0;f=f&255;t=q+44|0;a[t>>0]=f;l=s;return}function JA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;p=A+40|0;s=A;j=b+48|0;v=c[j>>2]|0;n=b+4|0;o=c[n>>2]|0;w=eF(v,11)|0;r=s+36|0;c[r>>2]=0;z=s+28|0;c[z>>2]=0;y=s+32|0;c[y>>2]=0;x=s+24|0;c[x>>2]=e;c[e+16>>2]=-1;c[e+20>>2]=-1;c[e>>2]=12;c[e+8>>2]=w;c[s+16>>2]=-1;c[s+20>>2]=-1;c[s>>2]=0;q=s+8|0;c[q>>2]=0;iF(c[j>>2]|0,e);j=b+16|0;if((c[j>>2]|0)!=123)tA(b,123);k=b+8|0;c[k>>2]=c[n>>2];m=b+32|0;if((c[m>>2]|0)==289){e=xF(b,b+24|0)|0;c[j>>2]=e}else{e=b+16|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[m>>2]=289;e=c[j>>2]|0}a:do if((e|0)!=125){f=b+24|0;g=b+16|0;h=b+40|0;i=b+32|0;e=0;b:while(1){if(e|0?(iF(v,s),c[s>>2]=0,(c[r>>2]|0)==50):0){sF(v,c[(c[x>>2]|0)+8>>2]|0,c[y>>2]|0,50);c[r>>2]=0}c:do switch(c[j>>2]|0){case 292:{e=xF(b,h)|0;c[i>>2]=e;if((e|0)==61){KA(b,s);break c}else{zA(b,s,0)|0;c[y>>2]=(c[y>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;break c}}case 91:{KA(b,s);break}default:{zA(b,s,0)|0;c[y>>2]=(c[y>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}}while(0);d:do switch(c[j>>2]|0){case 125:break a;case 44:{c[k>>2]=c[n>>2];if((c[m>>2]|0)==289){e=xF(b,f)|0;c[j>>2]=e;break d}else{c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[m>>2]=289;t=21;break d}}case 59:{c[k>>2]=c[n>>2];if((c[m>>2]|0)==289){c[j>>2]=xF(b,f)|0;t=21;break d}else{c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];c[m>>2]=289;t=21;break d}}default:break b}while(0);if((t|0)==21){t=0;e=c[j>>2]|0}if((e|0)==125)break a;e=c[s>>2]|0}if((c[n>>2]|0)==(o|0))tA(b,125);else{t=c[b+52>>2]|0;h=tF(b,125)|0;i=tF(b,123)|0;c[p>>2]=h;c[p+4>>2]=i;c[p+8>>2]=o;uF(b,qA(t,354811,p)|0)}}while(0);c[k>>2]=c[n>>2];if((c[m>>2]|0)==289)c[j>>2]=xF(b,b+24|0)|0;else{t=b+16|0;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];c[m>>2]=289}e=c[r>>2]|0;do if(e|0){switch(c[s>>2]|0){case 0:{t=44;break}case 13:{t=(c[(c[v>>2]|0)+48>>2]|0)+(c[q>>2]<<2)|0;c[t>>2]=c[t>>2]&-8372225;t=42;break}case 14:{f=c[v>>2]|0;t=c[f+48>>2]|0;g=t+(c[q>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607;t=t+(c[q>>2]<<2)|0;g=v+44|0;e=d[g>>0]|0;c[t>>2]=e<<6|c[t>>2]&-16321;e=e+1|0;f=f+8|0;do if(e>>>0>(d[f>>0]|0)>>>0)if(e>>>0>254)uF(c[v+8>>2]|0,360789);else{u=e&255;a[f>>0]=u;break}else u=e&255;while(0);a[g>>0]=u;t=42;break}default:{iF(v,s);e=c[r>>2]|0;t=44}}if((t|0)==42){sF(v,c[(c[x>>2]|0)+8>>2]|0,c[y>>2]|0,-1);c[y>>2]=(c[y>>2]|0)+-1;break}else if((t|0)==44){sF(v,c[(c[x>>2]|0)+8>>2]|0,c[y>>2]|0,e);break}}while(0);h=(c[(c[v>>2]|0)+48>>2]|0)+(w<<2)|0;g=c[h>>2]&8388607;e=c[y>>2]|0;if(e>>>0>=8){if(e>>>0>127){f=0;do{y=e+15|0;e=y>>>4;f=f+4|0}while(y>>>0>2047)}else f=0;if(e>>>0>15)do{y=e+1|0;e=y>>>1;f=f+1|0}while(y>>>0>31);e=(f<<3)+8|e+-8}g=e<<23|g;c[h>>2]=g;g=g&-8372225;e=c[z>>2]|0;if(e>>>0<8){z=e;z=z<<14;z=z&8372224;z=z|g;c[h>>2]=z;l=A;return}if(e>>>0>127){f=0;do{z=e+15|0;e=z>>>4;f=f+4|0}while(z>>>0>2047)}else f=0;if(e>>>0>15)do{z=e+1|0;e=z>>>1;f=f+1|0}while(z>>>0>31);z=(f<<3)+8|e+-8;z=z<<14;z=z&8372224;z=z|g;c[h>>2]=z;l=A;return}function KA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;h=q+48|0;o=q+24|0;p=q;i=b+48|0;j=c[i>>2]|0;k=j+44|0;m=a[k>>0]|0;n=b+16|0;do if((c[n>>2]|0)!=292){f=b+4|0;g=b+8|0;c[g>>2]=c[f>>2];h=b+32|0;if((c[h>>2]|0)==289)c[n>>2]=xF(b,b+24|0)|0;else{e=b+16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];c[h>>2]=289}zA(b,o,0)|0;e=c[i>>2]|0;if((c[o+16>>2]|0)==(c[o+20>>2]|0))hF(e,o);else lF(e,o)|0;if((c[n>>2]|0)!=93)tA(b,93);c[g>>2]=c[f>>2];if((c[h>>2]|0)==289){c[n>>2]=xF(b,b+24|0)|0;break}else{i=b+16|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[h>>2]=289;break}}else{f=b+24|0;g=c[f>>2]|0;c[b+8>>2]=c[b+4>>2];e=b+32|0;if((c[e>>2]|0)==289){c[n>>2]=xF(b,f)|0;e=c[i>>2]|0}else{i=b+16|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[e>>2]=289;e=j}c[h>>2]=g;c[h+8>>2]=(a[g+4>>0]|64)&255;i=gF(e,h,h)|0;c[o+16>>2]=-1;c[o+20>>2]=-1;c[o>>2]=4;c[o+8>>2]=i}while(0);i=d+28|0;c[i>>2]=(c[i>>2]|0)+1;if((c[n>>2]|0)!=61)tA(b,61);c[b+8>>2]=c[b+4>>2];e=b+32|0;if((c[e>>2]|0)==289){c[n>>2]=xF(b,b+24|0)|0;n=mF(j,o)|0;zA(b,p,0)|0;o=d+24|0;o=c[o>>2]|0;o=o+8|0;o=c[o>>2]|0;p=mF(j,p)|0;o=o<<6;b=n<<23;b=o|b;p=p<<14;p=b|p;p=p|10;eF(j,p)|0;a[k>>0]=m;l=q;return}else{n=b+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[e>>2]=289;n=mF(j,o)|0;zA(b,p,0)|0;o=d+24|0;o=c[o>>2]|0;o=o+8|0;o=c[o>>2]|0;p=mF(j,p)|0;o=o<<6;b=n<<23;b=o|b;p=p<<14;p=b|p;p=p|10;eF(j,p)|0;a[k>>0]=m;l=q;return}}function LA(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=e+12|0;j=c[i>>2]|0;if((c[j+12>>2]|0)>0){jA(e);h=c[i>>2]|0}else h=j;f=h+4|0;g=Uh[c[h>>2]&63](c[f>>2]|0,0,8,116)|0;if(!g){if(!(c[h+140>>2]|0))Jz(e,4);kA(e,1);f=Uh[c[h>>2]&63](c[f>>2]|0,0,8,116)|0;if(!f)Jz(e,4);else o=f}else o=g;k=h+12|0;c[k>>2]=(c[k>>2]|0)+116;k=o+4|0;a[o+9>>0]=a[j+60>>0]&3;a[o+8>>0]=8;l=j+64|0;c[k>>2]=c[l>>2];c[l>>2]=k;l=e+8|0;m=c[l>>2]|0;c[m>>2]=k;c[m+8>>2]=72;c[l>>2]=(c[l>>2]|0)+16;c[o+16>>2]=j;l=o+32|0;c[l>>2]=0;m=o+20|0;c[m>>2]=0;n=o+96|0;c[n>>2]=0;c[o+44>>2]=k;c[o+48>>2]=0;b[o+110>>1]=0;f=o+88|0;c[f>>2]=0;h=o+112|0;a[h>>0]=0;g=o+100|0;c[g>>2]=0;a[o+113>>0]=1;c[o+36>>2]=0;b[o+108>>1]=1;a[o+10>>0]=0;c[o+92>>2]=0;a[h>>0]=a[e+108>>0]|0;h=c[e+96>>2]|0;c[g>>2]=h;c[f>>2]=c[e+84>>2];c[o+104>>2]=h;h=(c[j+136>>2]|0)+-4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;a[o>>0]=h;a[o+1>>0]=h>>8;a[o+2>>0]=h>>16;a[o+3>>0]=h>>24;h=c[i>>2]|0;f=h+4|0;g=Uh[c[h>>2]&63](c[f>>2]|0,0,0,640)|0;if(!g){if(!(c[h+140>>2]|0))Jz(e,4);kA(e,1);f=Uh[c[h>>2]&63](c[f>>2]|0,0,0,640)|0;if(!f)Jz(e,4);else p=f}else p=g;e=h+12|0;c[e>>2]=(c[e>>2]|0)+640;c[l>>2]=p;c[n>>2]=40;n=p+8|0;c[n>>2]=0;c[p+24>>2]=0;c[p+40>>2]=0;c[p+56>>2]=0;c[p+72>>2]=0;c[p+88>>2]=0;c[p+104>>2]=0;c[p+120>>2]=0;c[p+136>>2]=0;c[p+152>>2]=0;c[p+168>>2]=0;c[p+184>>2]=0;c[p+200>>2]=0;c[p+216>>2]=0;c[p+232>>2]=0;c[p+248>>2]=0;c[p+264>>2]=0;c[p+280>>2]=0;c[p+296>>2]=0;c[p+312>>2]=0;c[p+328>>2]=0;c[p+344>>2]=0;c[p+360>>2]=0;c[p+376>>2]=0;c[p+392>>2]=0;c[p+408>>2]=0;c[p+424>>2]=0;c[p+440>>2]=0;c[p+456>>2]=0;c[p+472>>2]=0;c[p+488>>2]=0;c[p+504>>2]=0;c[p+520>>2]=0;c[p+536>>2]=0;c[p+552>>2]=0;c[p+568>>2]=0;c[p+584>>2]=0;c[p+600>>2]=0;c[p+616>>2]=0;c[p+632>>2]=0;c[o+28>>2]=p+560;e=o+52|0;c[o+60>>2]=0;c[o+64>>2]=0;a[o+86>>0]=0;c[e>>2]=p;c[o+12>>2]=p+16;c[n>>2]=0;c[o+56>>2]=p+336;c[m>>2]=e;return k|0}function MA(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+8|0;h=k;i=Uh[e&63](f,0,8,912)|0;if(!i){j=0;l=k;return j|0}j=i+4|0;m=i+120|0;c[j>>2]=0;a[i+8>>0]=8;a[i+180>>0]=1;a[i+9>>0]=1;c[i+16>>2]=m;c[i+32>>2]=0;c[i+20>>2]=0;c[i+96>>2]=0;c[i+44>>2]=j;c[i+48>>2]=0;b[i+110>>1]=0;c[i+88>>2]=0;a[i+112>>0]=0;c[i+100>>2]=0;a[i+113>>0]=1;c[i+104>>2]=0;c[i+36>>2]=0;b[i+108>>1]=1;a[i+10>>0]=0;c[i+92>>2]=0;c[m>>2]=e;c[i+124>>2]=f;c[i+256>>2]=j;e=Dh(0)|0;c[h>>2]=e;c[g>>2]=j;c[g+4>>2]=h;c[g+8>>2]=412368;c[g+12>>2]=27;e=e^16;e=(e<<5)+(e>>>2)+(d[g+15>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+14>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+13>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+12>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+11>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+10>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+9>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+8>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+7>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+6>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+5>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+4>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+3>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+2>>0]|0)^e;e=(e<<5)+(e>>>2)+(d[g+1>>0]|0)^e;c[i+176>>2]=(e<<5)+(e>>>2)+(d[g>>0]|0)^e;a[i+183>>0]=0;g=i+140|0;c[i+168>>2]=0;c[i+228>>2]=0;c[i+236>>2]=0;c[i+252>>2]=0;c[i+260>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;a[i+181>>0]=7;a[i+182>>0]=0;g=i+128|0;e=i+184|0;h=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[g>>2]=912;c[i+132>>2]=0;c[i+240>>2]=0;c[i+244>>2]=200;c[i+248>>2]=200;e=i+364|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));if(!(Kz(j,200,0)|0)){m=j;l=k;return m|0}OA(j);m=0;l=k;return m|0}function NA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n;k=b+12|0;m=c[k>>2]|0;e=m+4|0;f=Uh[c[m>>2]&63](c[e>>2]|0,0,0,640)|0;if(!f){if(!(c[m+140>>2]|0))Jz(b,4);kA(b,1);e=Uh[c[m>>2]&63](c[e>>2]|0,0,0,640)|0;if(!e)Jz(b,4);else g=e}else g=f;h=m+12|0;c[h>>2]=(c[h>>2]|0)+640;c[b+28>>2]=g;c[b+92>>2]=40;h=g+8|0;c[h>>2]=0;c[g+24>>2]=0;c[g+40>>2]=0;c[g+56>>2]=0;c[g+72>>2]=0;c[g+88>>2]=0;c[g+104>>2]=0;c[g+120>>2]=0;c[g+136>>2]=0;c[g+152>>2]=0;c[g+168>>2]=0;c[g+184>>2]=0;c[g+200>>2]=0;c[g+216>>2]=0;c[g+232>>2]=0;c[g+248>>2]=0;c[g+264>>2]=0;c[g+280>>2]=0;c[g+296>>2]=0;c[g+312>>2]=0;c[g+328>>2]=0;c[g+344>>2]=0;c[g+360>>2]=0;c[g+376>>2]=0;c[g+392>>2]=0;c[g+408>>2]=0;c[g+424>>2]=0;c[g+440>>2]=0;c[g+456>>2]=0;c[g+472>>2]=0;c[g+488>>2]=0;c[g+504>>2]=0;c[g+520>>2]=0;c[g+536>>2]=0;c[g+552>>2]=0;c[g+568>>2]=0;c[g+584>>2]=0;c[g+600>>2]=0;c[g+616>>2]=0;c[g+632>>2]=0;c[b+24>>2]=g+560;i=b+48|0;c[b+56>>2]=0;c[b+60>>2]=0;a[b+82>>0]=0;c[i>>2]=g;c[b+8>>2]=g+16;c[h>>2]=0;c[b+52>>2]=g+336;c[b+16>>2]=i;i=WA(b)|0;c[m+40>>2]=i;c[m+48>>2]=69;TA(b,i,2,0);g=b;h=i+8|0;a:do if(!(c[h>>2]|0)){e=(c[i+16>>2]|0)+(((a[i+7>>0]|0)!=0&1)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(f=e+16|0,(c[f>>2]|0)==1&(c[f+4>>2]|0)==0):0)break;f=c[e+28>>2]|0;if(!f){f=14;break a}e=e+(f<<5)|0}f=13}else{e=c[i+12>>2]|0;f=13}while(0);if((f|0)==13)if((e|0)==412368)f=14;if((f|0)==14){e=j;c[e>>2]=1;c[e+4>>2]=0;c[j+8>>2]=19;e=UA(b,i,j)|0}c[e>>2]=g;c[e+8>>2]=72;g=WA(b)|0;b:do if((c[h>>2]|0)>>>0>1){e=(c[i+12>>2]|0)+16|0;f=23}else{e=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+3&2)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(h=e+16|0,(c[h>>2]|0)==2&(c[h+4>>2]|0)==0):0)break;f=c[e+28>>2]|0;if(!f){f=24;break b}e=e+(f<<5)|0}f=23}while(0);if((f|0)==23)if((e|0)==412368)f=24;if((f|0)==24){e=j;c[e>>2]=2;c[e+4>>2]=0;c[j+8>>2]=19;e=UA(b,i,j)|0}c[e>>2]=g;c[e+8>>2]=69;f=c[k>>2]|0;PA(b,128);h=QA(b,360704,17)|0;g=f+144|0;c[g>>2]=h;e=c[k>>2]|0;j=h+5|0;a[j>>0]=a[j>>0]&-4;c[e+64>>2]=c[h>>2];e=e+100|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=0;while(1){c[f+280+(e<<2)>>2]=h;e=e+1|0;if((e|0)==127)break;h=c[g>>2]|0}e=c[k>>2]|0;i=0;do{g=c[7144+(i<<2)>>2]|0;h=e+280+(((g>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(g,f+16|0)|0){f=QA(b,g,r4(g)|0)|0;c[h>>2]=f;e=c[k>>2]|0}c[e+148+(i<<2)>>2]=f;e=c[k>>2]|0;h=c[e+148+(i<<2)>>2]|0;j=h+5|0;a[j>>0]=a[j>>0]&-4;c[e+64>>2]=c[h>>2];j=e+100|0;c[h>>2]=c[j>>2];c[j>>2]=h;i=i+1|0}while((i|0)!=24);j=QA(b,361125,4)|0;e=c[k>>2]|0;i=j+5|0;a[i>>0]=a[i>>0]&-4;c[e+64>>2]=c[j>>2];i=e+100|0;c[j>>2]=c[i>>2];c[i>>2]=j;i=0;do{g=c[8524+(i<<2)>>2]|0;h=e+280+(((g>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(g,f+16|0)|0){f=QA(b,g,r4(g)|0)|0;c[h>>2]=f;e=c[k>>2]|0}j=f+5|0;a[j>>0]=a[j>>0]&-4;c[e+64>>2]=c[f>>2];j=e+100|0;c[f>>2]=c[j>>2];c[j>>2]=f;i=i+1|0;a[f+6>>0]=i}while((i|0)!=22);a[m+63>>0]=1;c[m+140>>2]=384;l=n;return}function OA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+12|0;n=c[m>>2]|0;l=b+28|0;j=c[l>>2]|0;k=b+32|0;e=c[k>>2]|0;if(!e)h=n;else{do{g=c[e>>2]|0;if(g>>>0<j>>>0)break;f=e+8|0;c[k>>2]=c[f>>2];if(c[e+4>>2]|0){c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[e>>2]=f;if((c[e+16>>2]&64|0?(h=c[m>>2]|0,i=c[f>>2]|0,(d[h+61>>0]|0)<2):0)?a[i+5>>0]&3:0)$z(h,i)}else{g=c[m>>2]|0;Uh[c[g>>2]&63](c[g+4>>2]|0,e,24,0)|0;g=g+12|0;c[g>>2]=(e|0?-24:0)+(c[g>>2]|0)}e=c[k>>2]|0}while((e|0)!=0);h=c[m>>2]|0}f=h+96|0;while(1){e=c[f>>2]|0;if(!e)break;else f=e}g=h+72|0;e=c[g>>2]|0;if(!e)e=h;else{while(1){c[g>>2]=c[e>>2];c[e>>2]=c[f>>2];c[f>>2]=e;f=c[g>>2]|0;if(!f)break;else{k=e;e=f;f=k}}e=c[m>>2]|0}e=e+96|0;if(c[e>>2]|0)do cA(b,0);while((c[e>>2]|0)!=0);a[h+60>>0]=3;a[h+62>>0]=0;bA(b,g,-1)|0;bA(b,h+64|0,-1)|0;bA(b,h+100|0,-1)|0;k=c[m>>2]|0;e=c[k+24>>2]|0;g=c[k+32>>2]<<2;Uh[c[k>>2]&63](c[k+4>>2]|0,e,g,0)|0;k=k+12|0;c[k>>2]=(e|0?0-g|0:0)+(c[k>>2]|0);k=n+108|0;g=c[k>>2]|0;e=n+116|0;h=c[e>>2]|0;i=c[m>>2]|0;j=Uh[c[i>>2]&63](c[i+4>>2]|0,g,h,0)|0;i=i+12|0;c[i>>2]=(g|0?0-h|0:0)+(c[i>>2]|0);c[k>>2]=j;c[e>>2]=0;e=c[l>>2]|0;if(!e){m=c[n>>2]|0;n=n+4|0;n=c[n>>2]|0;b=b+-4|0;Uh[m&63](n,b,912,0)|0;return}c[b+16>>2]=b+48;k=b+60|0;f=c[k>>2]|0;c[k>>2]=0;if(f){e=f;do{j=e;e=c[e+12>>2]|0;k=c[m>>2]|0;Uh[c[k>>2]&63](c[k+4>>2]|0,j,36,0)|0;k=k+12|0;c[k>>2]=(j|0?-36:0)+(c[k>>2]|0)}while((e|0)!=0);e=c[l>>2]|0}l=c[b+92>>2]<<4;m=c[m>>2]|0;Uh[c[m>>2]&63](c[m+4>>2]|0,e,l,0)|0;m=m+12|0;c[m>>2]=(e|0?0-l|0:0)+(c[m>>2]|0);m=c[n>>2]|0;n=n+4|0;n=c[n>>2]|0;b=b+-4|0;Uh[m&63](n,b,912,0)|0;return}function PA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=a+12|0;k=c[m>>2]|0;n=k+24|0;o=k+32|0;e=c[o>>2]|0;if((e|0)<(b|0)){if((b+1|0)>>>0>1073741823)mA(a);g=c[n>>2]|0;h=e<<2;i=b<<2;j=(g|0)!=0;e=k+4|0;f=Uh[c[k>>2]&63](c[e>>2]|0,g,h,i)|0;if((i|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0))Jz(a,4);kA(a,1);e=Uh[c[k>>2]&63](c[e>>2]|0,g,h,i)|0;if(!e)Jz(a,4);else l=e}else l=f;e=k+12|0;c[e>>2]=(j?0-h|0:0)+i+(c[e>>2]|0);c[n>>2]=l;e=c[o>>2]|0;if((e|0)<(b|0)?(c[l+(e<<2)>>2]=0,d=e+1|0,(d|0)!=(b|0)):0)do{c[(c[n>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}if((e|0)>0){f=b+-1|0;g=0;do{l=(c[n>>2]|0)+(g<<2)|0;d=c[l>>2]|0;c[l>>2]=0;if(d|0)do{j=d+12|0;k=d;d=c[j>>2]|0;l=c[k+8>>2]&f;c[j>>2]=c[(c[n>>2]|0)+(l<<2)>>2];c[(c[n>>2]|0)+(l<<2)>>2]=k}while((d|0)!=0);g=g+1|0}while((g|0)!=(e|0))}if((e|0)<=(b|0)){c[o>>2]=b;return}if((b+1|0)>>>0>1073741823)mA(a);h=c[n>>2]|0;i=e<<2;j=b<<2;f=c[m>>2]|0;g=(h|0)!=0;d=f+4|0;e=Uh[c[f>>2]&63](c[d>>2]|0,h,i,j)|0;if((j|0)!=0&(e|0)==0){if(!(c[f+140>>2]|0))Jz(a,4);kA(a,1);d=Uh[c[f>>2]&63](c[d>>2]|0,h,i,j)|0;if(!d)Jz(a,4);else p=d}else p=e;a=f+12|0;c[a>>2]=(g?0-i|0:0)+j+(c[a>>2]|0);c[n>>2]=p;c[o>>2]=b;return}function QA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(f>>>0>=41){if((f+1|0)>>>0>4294967279)mA(b);i=c[b+12>>2]|0;j=c[i+56>>2]|0;k=f+17|0;h=i+4|0;g=Uh[c[i>>2]&63](c[h>>2]|0,0,4,k)|0;if((k|0)!=0&(g|0)==0){if(!(c[i+140>>2]|0))Jz(b,4);kA(b,1);g=Uh[c[i>>2]&63](c[h>>2]|0,0,4,k)|0;if(!g)Jz(b,4);else l=g}else l=g;b=i+12|0;c[b>>2]=k+(c[b>>2]|0);a[l+5>>0]=a[i+60>>0]&3;a[l+4>>0]=20;b=i+64|0;c[l>>2]=c[b>>2];c[b>>2]=l;c[l+8>>2]=j;a[l+6>>0]=0;b=l+16|0;s6(b|0,e|0,f|0)|0;a[b+f>>0]=0;c[l+12>>2]=f;e=l;return e|0}p=b+12|0;l=c[p>>2]|0;g=c[l+56>>2]^f;i=(f>>>5)+1|0;if(i>>>0<=f>>>0){h=f;do{g=(g<<5)+(g>>>2)+(d[e+(h+-1)>>0]|0)^g;h=h-i|0}while(h>>>0>=i>>>0)}m=l+32|0;j=c[m>>2]|0;n=l+24|0;k=(c[n>>2]|0)+((j+-1&g)<<2)|0;h=c[k>>2]|0;a:do if(h|0){i=h;while(1){if((d[i+7>>0]|0|0)==(f|0)?(f3(e,i+16|0,f)|0)==0:0)break;h=c[i+12>>2]|0;if(!h)break a;else i=h}g=i+5|0;h=a[g>>0]^3;if(((a[l+60>>0]^3)&h)<<24>>24){e=i;return e|0}a[g>>0]=h;e=i;return e|0}while(0);o=l+28|0;if((j|0)<1073741824?(c[o>>2]|0)>=(j|0):0){PA(b,j<<1);l=c[p>>2]|0;k=(c[n>>2]|0)+(((c[m>>2]|0)+-1&g)<<2)|0}j=f+17|0;h=l+4|0;i=Uh[c[l>>2]&63](c[h>>2]|0,0,4,j)|0;if((j|0)!=0&(i|0)==0){if(!(c[l+140>>2]|0))Jz(b,4);kA(b,1);h=Uh[c[l>>2]&63](c[h>>2]|0,0,4,j)|0;if(!h)Jz(b,4);else q=h}else q=i;b=l+12|0;c[b>>2]=j+(c[b>>2]|0);a[q+5>>0]=a[l+60>>0]&3;a[q+4>>0]=4;b=l+64|0;c[q>>2]=c[b>>2];c[b>>2]=q;c[q+8>>2]=g;a[q+6>>0]=0;b=q+16|0;s6(b|0,e|0,f|0)|0;a[b+f>>0]=0;a[q+7>>0]=f;c[q+12>>2]=c[k>>2];c[k>>2]=q;c[o>>2]=(c[o>>2]|0)+1;e=q;return e|0}function RA(a,b){a=a|0;b=b|0;var d=0,e=0;d=(c[a+12>>2]|0)+280+(((b>>>0)%127|0)<<2)|0;e=c[d>>2]|0;if(!(e3(b,e+16|0)|0)){b=e;return b|0}else{b=QA(a,b,r4(b)|0)|0;c[d>>2]=b;return b|0}return 0}function SA(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n;switch(c[e+8>>2]&63){case 19:{e=(1<<d[b+7>>0])+-1&c[e>>2];break}case 3:{f=+A3(+h[e>>3],g)*2147483648.0;if(f>=-9223372036854775808.0&f<9223372036854775808.0){e=(c[g>>2]|0)+(~~f>>>0)|0;e=e>>31^e}else e=0;e=(e|0)%((1<<d[b+7>>0])+-1|1|0)|0;break}case 4:{e=(1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2];break}case 20:{e=c[e>>2]|0;m=e+6|0;if(!(a[m>>0]|0)){j=e+16|0;g=c[e+12>>2]|0;k=e+8|0;e=c[k>>2]^g;i=(g>>>5)+1|0;if(i>>>0<=g>>>0)do{e=(e<<5)+(e>>>2)+(d[j+(g+-1)>>0]|0)^e;g=g-i|0}while(g>>>0>=i>>>0);c[k>>2]=e;a[m>>0]=1}else e=c[e+8>>2]|0;e=(1<<d[b+7>>0])+-1&e;break}case 1:{e=(1<<d[b+7>>0])+-1&c[e>>2];break}case 2:{e=((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0;break}case 22:{e=((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0;break}default:e=((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0}l=n;return (c[b+16>>2]|0)+(e<<5)|0}function TA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+32|0;s=C+16|0;w=C;t=e+8|0;x=c[t>>2]|0;u=e+7|0;A=a[u>>0]|0;y=A&255;v=e+16|0;B=c[v>>2]|0;if(x>>>0<f>>>0){if((f+1|0)>>>0>268435455)mA(b);m=e+12|0;h=c[m>>2]|0;n=x<<4;o=f<<4;p=c[b+12>>2]|0;q=(h|0)!=0;j=p+4|0;k=Uh[c[p>>2]&63](c[j>>2]|0,h,n,o)|0;if((o|0)!=0&(k|0)==0){if(!(c[p+140>>2]|0))Jz(b,4);kA(b,1);h=Uh[c[p>>2]&63](c[j>>2]|0,h,n,o)|0;if(!h)Jz(b,4);else r=h}else r=k;h=p+12|0;c[h>>2]=(q?0-n|0:0)+o+(c[h>>2]|0);c[m>>2]=r;h=c[t>>2]|0;if(h>>>0<f>>>0)do{c[r+(h<<4)+8>>2]=0;h=h+1|0}while((h|0)!=(f|0));c[t>>2]=f}if(!g){c[v>>2]=412384;j=0;i=412384;h=0}else{h=g+-1|0;if(h>>>0>255){k=h;j=0;while(1){j=j+8|0;h=k>>>8;if(k>>>0>65535)k=h;else break}}else j=0;o=(d[354189+h>>0]|0)+j|0;if((o|0)>30)Fz(b,355215,s);j=1<<o;if((j+1|0)>>>0>134217727)mA(b);m=j<<5;n=c[b+12>>2]|0;h=n+4|0;k=Uh[c[n>>2]&63](c[h>>2]|0,0,0,m)|0;if((m|0)!=0&(k|0)==0){if(!(c[n+140>>2]|0))Jz(b,4);kA(b,1);h=Uh[c[n>>2]&63](c[h>>2]|0,0,0,m)|0;if(!h)Jz(b,4);else i=h}else i=k;h=n+12|0;c[h>>2]=m+(c[h>>2]|0);c[v>>2]=i;h=0;do{c[i+(h<<5)+28>>2]=0;c[i+(h<<5)+24>>2]=0;c[i+(h<<5)+8>>2]=0;h=h+1|0}while((h|0)<(j|0));h=o&255}a[u>>0]=h;c[e+20>>2]=i+(j<<5);if(x>>>0>f>>>0){c[t>>2]=f;p=e+12|0;m=w+8|0;i=f;while(1){h=c[p>>2]|0;if(!(c[h+(i<<4)+8>>2]|0))h=i+1|0;else{k=h+(i<<4)|0;h=i+1|0;a:do if(i>>>0<(c[t>>2]|0)>>>0){i=k;j=37}else{i=(c[v>>2]|0)+(((1<<(d[u>>0]|0))+-1&h)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(s=i+16|0,(c[s+4>>2]|0)==0?(c[s>>2]|0)==(h|0):0):0)break;j=c[i+28>>2]|0;if(!j){j=38;break a}i=i+(j<<5)|0}j=37}while(0);if((j|0)==37){j=0;if((i|0)==412368)j=38}if((j|0)==38){i=w;c[i>>2]=h;c[i+4>>2]=0;c[m>>2]=19;i=UA(b,e,w)|0};c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2]}if((h|0)==(x|0))break;else i=h}if((f+1|0)>>>0>268435455)mA(b);n=c[p>>2]|0;o=x<<4;j=f<<4;k=c[b+12>>2]|0;m=(n|0)!=0;h=k+4|0;i=Uh[c[k>>2]&63](c[h>>2]|0,n,o,j)|0;if((j|0)!=0&(i|0)==0){if(!(c[k+140>>2]|0))Jz(b,4);kA(b,1);h=Uh[c[k>>2]&63](c[h>>2]|0,n,o,j)|0;if(!h)Jz(b,4);else z=h}else z=i;f=k+12|0;c[f>>2]=(m?0-o|0:0)+j+(c[f>>2]|0);c[p>>2]=z}n=1<<y;if(A<<24>>24!=31){k=n;do{m=k;k=k+-1|0;if(c[B+(k<<5)+8>>2]|0){j=B+(k<<5)|0;i=B+(k<<5)+16|0;h=VA(e,i)|0;if((h|0)==412368)h=UA(b,e,i)|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2]}}while((m|0)>1)}if((B|0)==412384){l=C;return}A=n<<5;e=c[b+12>>2]|0;Uh[c[e>>2]&63](c[e+4>>2]|0,B,A,0)|0;e=e+12|0;c[e>>2]=(B|0?0-A|0:0)+(c[e>>2]|0);l=C;return}function UA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+160|0;i=x+152|0;v=x+16|0;g=x;switch(c[f+8>>2]|0){case 0:{Fz(b,355230,x+144|0);break}case 3:{j=3;break}default:w=f}do if((j|0)==3){y=+h[f>>3];k=+A(+y);if(!(y!=k)?k>=-9223372036854775808.0&k<9223372036854775808.0:0){s=+B(k)>=1.0?(k>0.0?~~+P(+A(k/4294967296.0),4294967295.0)>>>0:~~+N((k-+(~~k>>>0))/4294967296.0)>>>0):0;w=g;c[w>>2]=~~k>>>0;c[w+4>>2]=s;c[g+8>>2]=19;w=g;break}y=+h[f>>3];if(y==y&0.0==0.0)w=f;else Fz(b,355249,i)}while(0);g=SA(e,w)|0;m=g+8|0;do if((g|0)==412384|(c[m>>2]|0)!=0){f=e+20|0;s=c[e+16>>2]|0;n=c[f>>2]|0;while(1){if(n>>>0<=s>>>0)break;o=n+-32|0;c[f>>2]=o;if(!(c[n+-8>>2]|0)){j=40;break}else n=o}if((j|0)==40){f=SA(e,g+16|0)|0;if((f|0)==(g|0)){i=g+28|0;f=c[i>>2]|0;if(!f)f=o;else{v=o;c[n+-4>>2]=g+(f<<5)-v>>5;f=v}c[i>>2]=f-g>>5;g=o;break}else{while(1){j=f+28|0;i=f+(c[j>>2]<<5)|0;if((i|0)==(g|0))break;else f=i}i=o;c[j>>2]=i-f>>5;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];f=g+28|0;if(c[f>>2]|0){v=n+-4|0;c[v>>2]=(c[v>>2]|0)+(g-i>>5);c[f>>2]=0}c[m>>2]=0;break}}g=v;f=g+128|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));n=e+12|0;o=c[e+8>>2]|0;g=0;f=1;p=0;q=1;while(1){if(q>>>0>o>>>0)if(f>>>0>o>>>0){q=g;break}else m=o;else m=q;if(f>>>0>m>>>0){i=f;f=0}else{j=c[n>>2]|0;i=f;f=0;do{f=((c[j+(i+-1<<4)+8>>2]|0)!=0&1)+f|0;i=i+1|0}while(i>>>0<=m>>>0)}r=v+(p<<2)|0;c[r>>2]=(c[r>>2]|0)+f;g=f+g|0;p=p+1|0;if((p|0)>=32){q=g;break}else{f=i;q=q<<1}}m=0;g=1<<(d[e+7>>0]|0);r=0;a:while(1){do{p=g;g=g+-1|0;if(!p)break a}while(!(c[s+(g<<5)+8>>2]|0));if((c[s+(g<<5)+24>>2]|0)==19?(p=s+(g<<5)+16|0,t=c[p>>2]|0,p=c[p+4>>2]|0,!(p>>>0>0|(p|0)==0&t>>>0>2147483648|((p|0)<0|(p|0)==0&t>>>0<1)|(t|0)==0)):0){f=t+-1|0;if(f>>>0>255){j=f;i=0;while(1){i=i+8|0;f=j>>>8;if(j>>>0>65535)j=f;else break}}else i=0;f=v+((d[354189+f>>0]|0)+i<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=1}else f=0;m=f+m|0;r=r+1|0}j=m+q|0;if((c[w+8>>2]|0)==19?(t=w,u=c[t>>2]|0,t=c[t+4>>2]|0,!(t>>>0>0|(t|0)==0&u>>>0>2147483648|((t|0)<0|(t|0)==0&u>>>0<1)|(u|0)==0)):0){g=u+-1|0;if(g>>>0>255){i=g;f=0;while(1){f=f+8|0;g=i>>>8;if(i>>>0>65535)i=g;else break}}else f=0;g=v+((d[354189+g>>0]|0)+f<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=1}else g=0;m=j+g|0;if(!m){f=0;g=0}else{n=0;j=0;o=0;f=0;g=0;p=1;while(1){i=c[v+(o<<2)>>2]|0;if(!i)i=j;else{t=i+j|0;u=t>>>0>n>>>0;i=t;f=u?t:f;g=u?p:g}n=p&2147483647;if(m>>>0<=n>>>0)break;else{j=i;o=o+1|0;p=p<<1}}}TA(b,e,g,q+1+r-f|0);g=VA(e,w)|0;if((g|0)!=412368){e=g;l=x;return e|0}e=UA(b,e,w)|0;l=x;return e|0}while(0);t=w;u=c[t+4>>2]|0;v=g+16|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;v=c[w+8>>2]|0;c[g+24>>2]=v;if((v&64|0?(p=e+5|0,q=a[p>>0]|0,q&4):0)?a[(c[w>>2]|0)+5>>0]&3:0){b=c[b+12>>2]|0;a[p>>0]=q&-5;b=b+80|0;c[e+28>>2]=c[b>>2];c[b>>2]=e}e=g;l=x;return e|0}function VA(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;k=q;f=c[e+8>>2]|0;a:do switch(f&63){case 4:{i=c[e>>2]|0;g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[i+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(i|0):0)break;f=c[g+28>>2]|0;if(!f){p=412368;o=41;break}g=g+(f<<5)|0}if((o|0)==41){l=q;return p|0}p=g;l=q;return p|0}case 19:{k=e;i=c[k>>2]|0;k=c[k+4>>2]|0;f=b6(i|0,k|0,-1,-1)|0;e=z;if(e>>>0<0|((e|0)==0?f>>>0<(c[b+8>>2]|0)>>>0:0)){p=(c[b+12>>2]|0)+(f<<4)|0;l=q;return p|0}g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&i)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(b=g+16|0,(c[b>>2]|0)==(i|0)?(c[b+4>>2]|0)==(k|0):0):0)break;f=c[g+28>>2]|0;if(!f){p=412368;o=41;break}g=g+(f<<5)|0}if((o|0)==41){l=q;return p|0}p=g;l=q;return p|0}case 3:{i=e;b:while(1){switch(f|0){case 3:{o=18;break b}case 19:{o=21;break b}default:{}}if((f&15|0)!=4){o=28;break}g=nA((c[i>>2]|0)+16|0,k)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){o=28;break}i=k;f=c[k+8>>2]|0}if((o|0)==18){r=+h[i>>3];j=+A(+r);if(!(r!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){m=+B(j)>=1.0?(j>0.0?~~+P(+A(j/4294967296.0),4294967295.0)>>>0:~~+N((j-+(~~j>>>0))/4294967296.0)>>>0):0;n=~~j>>>0}else o=28}else if((o|0)==21){n=i;m=c[n+4>>2]|0;n=c[n>>2]|0}if((o|0)==28)break a;f=b6(n|0,m|0,-1,-1)|0;e=z;if(e>>>0<0|((e|0)==0?f>>>0<(c[b+8>>2]|0)>>>0:0)){p=(c[b+12>>2]|0)+(f<<4)|0;l=q;return p|0}g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&n)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(b=g+16|0,(c[b>>2]|0)==(n|0)?(c[b+4>>2]|0)==(m|0):0):0)break;f=c[g+28>>2]|0;if(!f){p=412368;o=41;break}g=g+(f<<5)|0}if((o|0)==41){l=q;return p|0}p=g;l=q;return p|0}case 0:{p=412368;l=q;return p|0}default:{}}while(0);f=SA(b,e)|0;c:do if(!(fB(0,f+16|0,e)|0)){while(1){g=c[f+28>>2]|0;if(!g){p=412368;break}i=f+(g<<5)|0;if(!(fB(0,f+(g<<5)+16|0,e)|0))f=i;else{f=i;break c}}l=q;return p|0}while(0);p=f;l=q;return p|0}function WA(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+12>>2]|0;d=f+4|0;e=Uh[c[f>>2]&63](c[d>>2]|0,0,5,32)|0;if(!e){if(!(c[f+140>>2]|0))Jz(b,4);kA(b,1);d=Uh[c[f>>2]&63](c[d>>2]|0,0,5,32)|0;if(!d)Jz(b,4);else g=d}else g=e;b=f+12|0;c[b>>2]=(c[b>>2]|0)+32;a[g+5>>0]=a[f+60>>0]&3;a[g+4>>0]=5;b=f+64|0;c[g>>2]=c[b>>2];c[b>>2]=g;c[g+24>>2]=0;a[g+6>>0]=-1;c[g+12>>2]=0;c[g+8>>2]=0;c[g+16>>2]=412384;a[g+7>>0]=0;c[g+20>>2]=412384;return g|0}function XA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a+8>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<4)+8>>2]|0)==0):0){if(b>>>0>1)a=0;else{k=0;return k|0}do{k=(a+b|0)>>>1;j=(c[e+(k+-1<<4)+8>>2]|0)==0;b=j?k:b;a=j?a:k}while((b-a|0)>>>0>1);return a|0}j=c[a+16>>2]|0;if((j|0)==412384){k=b;return k|0}k=a+12|0;i=a+7|0;g=b+1|0;a=b;while(1){e=b6(g|0,0,-1,-1)|0;f=z;a:do if(f>>>0<0|(f|0)==0&e>>>0<b>>>0)e=(c[k>>2]|0)+(e<<4)|0;else{e=j+(((1<<(d[i>>0]|0))+-1&g)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(f=e+16|0,(c[f+4>>2]|0)==0?(c[f>>2]|0)==(g|0):0):0)break;f=c[e+28>>2]|0;if(!f){e=412368;break a}e=e+(f<<5)|0}}while(0);if(!(c[e+8>>2]|0))break;if(g>>>0>1073741823){f=1;h=18;break}a=g;g=g<<1}if((h|0)==18){while(1){a=b6(f|0,0,-1,-1)|0;h=z;b:do if(h>>>0<0|(h|0)==0&a>>>0<b>>>0)a=(c[k>>2]|0)+(a<<4)|0;else{a=j+(((1<<(d[i>>0]|0))+-1&f)<<5)|0;while(1){if((c[a+24>>2]|0)==19?(h=a+16|0,(c[h+4>>2]|0)==0?(c[h>>2]|0)==(f|0):0):0)break;e=c[a+28>>2]|0;if(!e){a=412368;break b}a=a+(e<<5)|0}}while(0);if(!(c[a+8>>2]|0))break;else{f=f+1|0;h=18}}k=f+-1|0;return k|0}if((g-a|0)>>>0<=1){k=a;return k|0}do{h=(g+a|0)>>>1;e=b6(h|0,0,-1,-1)|0;f=z;c:do if(f>>>0<0|(f|0)==0&e>>>0<b>>>0)e=(c[k>>2]|0)+(e<<4)|0;else{e=j+(((1<<(d[i>>0]|0))+2147483647&h)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(f=e+16|0,(c[f+4>>2]|0)==0?(c[f>>2]|0)==(h|0):0):0)break;f=c[e+28>>2]|0;if(!f){e=412368;break c}e=e+(f<<5)|0}}while(0);f=(c[e+8>>2]|0)==0;g=f?h:g;a=f?a:h}while((g-a|0)>>>0>1);return a|0}function YA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=c[e+8>>2]|0;switch(i&15){case 5:{i=(c[e>>2]|0)+24|0;break}case 7:{i=(c[e>>2]|0)+8|0;break}default:i=(c[b+12>>2]|0)+244+((i&15)<<2)|0}i=c[i>>2]|0;a:do if(!i)i=412368;else{k=c[(c[b+12>>2]|0)+148+(h<<2)>>2]|0;i=(c[i+16>>2]|0)+(((1<<(d[i+7>>0]|0))+-1&c[k+8>>2])<<5)|0;while(1){if((c[i+24>>2]|0)==68?(c[i+16>>2]|0)==(k|0):0)break;j=c[i+28>>2]|0;if(!j){i=412368;break a}i=i+(j<<5)|0}}while(0);b:do if(!(c[i+8>>2]|0)){i=c[f+8>>2]|0;switch(i&15){case 5:{i=(c[f>>2]|0)+24|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[b+12>>2]|0)+244+((i&15)<<2)|0}i=c[i>>2]|0;if(!i)i=412368;else{k=c[(c[b+12>>2]|0)+148+(h<<2)>>2]|0;i=(c[i+16>>2]|0)+(((1<<(d[i+7>>0]|0))+-1&c[k+8>>2])<<5)|0;while(1){if((c[i+24>>2]|0)==68?(c[i+16>>2]|0)==(k|0):0)break;j=c[i+28>>2]|0;if(!j){i=412368;break b}i=i+(j<<5)|0}}}while(0);if(!(c[i+8>>2]|0)){g=0;return g|0}j=b+28|0;k=c[j>>2]|0;h=b+8|0;l=c[h>>2]|0;c[h>>2]=l+16;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];i=c[h>>2]|0;c[h>>2]=i+16;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];e=c[h>>2]|0;c[h>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];Pz(b,(c[h>>2]|0)+-48|0,1,a[(c[b+16>>2]|0)+34>>0]&2);g=(c[j>>2]|0)+(g-k)|0;f=(c[h>>2]|0)+-16|0;c[h>>2]=f;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];g=1;return g|0}function ZA(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,m=0,n=0,o=0,p=0.0;k=l;l=l+32|0;o=k+16|0;m=k;if(YA(b,e,f,g,i)|0){l=k;return}switch(i|0){case 22:{Dz(b,((c[e+8>>2]&15)+-3|0)>>>0<2?f:e,353757);break}case 19:case 17:case 16:case 15:case 14:case 13:{k=e+8|0;i=c[k>>2]|0;if((i|0)!=3)do if((i|0)!=19){if((i&15|0)==4){g=nA((c[e>>2]|0)+16|0,m)|0;i=c[e>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((g|0)==(i+1|0))break}Hz(b,e,f,355394)}while(0);i=c[f+8>>2]|0;if((i|0)!=3)do if((i|0)!=19){if((i&15|0)==4){g=nA((c[f>>2]|0)+16|0,m)|0;i=c[f>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((g|0)==(i+1|0))break}Hz(b,e,f,355394)}while(0);i=c[k>>2]|0;if((i|0)==19){k=f;k=Ez(b,k)|0;c[o>>2]=k;Fz(b,353769,o)}g=e;a:while(1){switch(i|0){case 3:{n=25;break a}case 19:{e=f;break a}default:{}}if((i&15|0)!=4)break;k=nA((c[g>>2]|0)+16|0,m)|0;i=c[g>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((k|0)!=(i+1|0))break;g=m;i=c[m+8>>2]|0}if((n|0)==25){p=+h[g>>3];j=+A(+p);if(!(p!=j))e=j>=-9223372036854775808.0&j<9223372036854775808.0?f:e}n=e;n=Ez(b,n)|0;c[o>>2]=n;Fz(b,353769,o);break}default:Hz(b,e,f,355423)}}function _A(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=c[a>>2]|0;c[d>>2]=c[a+12>>2];c[d+4>>2]=b;qA(e,355650,d)|0;Jz(c[a>>2]|0,3)}function $A(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+16|0;C=F+8|0;D=F;B=aB(b)|0;y=e+72|0;c[y>>2]=(B|0)==0?f:B;B=b+4|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=7;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==7?j|0:0)_A(b,355459);c[e+36>>2]=c[D>>2];m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=15;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==15?j|0:0)_A(b,355459);c[e+40>>2]=c[D>>2];m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=23;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==23?j|0:0)_A(b,355459);a[e+6>>0]=a[D>>0]|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=31;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==31?j|0:0)_A(b,355459);a[e+7>>0]=a[D>>0]|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=39;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==39?j|0:0)_A(b,355459);a[e+8>>0]=a[D>>0]|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=47;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==47?j|0:0)_A(b,355459);i=c[D>>2]|0;j=c[b>>2]|0;if((i+1|0)>>>0>1073741823)mA(j);m=i<<2;k=c[j+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,m)|0;if((m|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(j,4);kA(j,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,m)|0;if(!f)Jz(j,4);else r=f}else r=g;k=k+12|0;c[k>>2]=m+(c[k>>2]|0);c[e+48>>2]=r;c[e+20>>2]=i;k=c[B>>2]|0;a:do if(m|0){n=k+16|0;o=k+8|0;p=k+12|0;q=k+4|0;j=r;f=c[k>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0)break;c[k>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=m>>>0>f>>>0;g=v?f:m;s6(j|0,i|0,g|0)|0;f=(c[k>>2]|0)-g|0;c[k>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break a;else{m=m-g|0;j=j+g|0}}if(m|0)_A(b,355459)}while(0);m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=70;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;v=j>>>0>f>>>0;g=v?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!v)break;else{j=j-g|0;k=k+g|0}}if((E|0)==70?j|0:0)_A(b,355459);v=c[D>>2]|0;i=c[b>>2]|0;if((v+1|0)>>>0>268435455)mA(i);j=v<<4;k=c[i+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if(!f)Jz(i,4);else s=f}else s=g;u=k+12|0;c[u>>2]=j+(c[u>>2]|0);u=e+44|0;c[u>>2]=s;c[e+16>>2]=v;b:do if((v|0)>0){f=0;do{c[s+(f<<4)+8>>2]=0;f=f+1|0}while((f|0)!=(v|0));m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=86;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;t=j>>>0>f>>>0;g=t?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!t)break;else{j=j-g|0;k=k+g|0}}if((E|0)==86?j|0:0)_A(b,355459);r=s;t=0;c:while(1){switch(a[D>>0]|0){case 0:{f=0;E=118;break}case 1:{m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=96;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==96?(0,j|0):0){E=97;break c}c[r>>2]=d[D>>0];f=1;E=118;break}case 3:{m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=8;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=105;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==105?(0,j|0):0){E=106;break c}h[r>>3]=+h[D>>3];f=3;E=118;break}case 19:{m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=8;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=114;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==114?(0,j|0):0){E=115;break c}G=D;E=c[G+4>>2]|0;f=r;c[f>>2]=c[G>>2];c[f+4>>2]=E;f=19;E=118;break}case 20:case 4:{f=aB(b)|0;c[r>>2]=f;f=(a[f+4>>0]|64)&255;E=118;break}default:{}}if((E|0)==118){E=0;c[s+(t<<4)+8>>2]=f}t=t+1|0;if((t|0)>=(v|0))break b;s=c[u>>2]|0;r=s+(t<<4)|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0)break;c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(G){j=j-g|0;k=k+g|0}else continue c}if(j|0){E=88;break}}if((E|0)==88)_A(b,355459);else if((E|0)==97)_A(b,355459);else if((E|0)==106)_A(b,355459);else if((E|0)==115)_A(b,355459)}while(0);m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=133;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==133?j|0:0)_A(b,355459);s=c[D>>2]|0;i=c[b>>2]|0;if((s+1|0)>>>0>536870911)mA(i);j=s<<3;k=c[i+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if(!f)Jz(i,4);else w=f}else w=g;u=k+12|0;c[u>>2]=j+(c[u>>2]|0);u=e+64|0;c[u>>2]=w;c[e+12>>2]=s;d:do if((s|0)>0){f=0;do{c[w+(f<<3)>>2]=0;f=f+1|0}while((f|0)!=(s|0));r=0;while(1){m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=150;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==150?(E=0,j|0):0){E=151;break}a[(c[u>>2]|0)+(r<<3)+4>>0]=a[D>>0]|0;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=158;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==158?(E=0,j|0):0){E=159;break}a[(c[u>>2]|0)+(r<<3)+5>>0]=a[D>>0]|0;r=r+1|0;if((r|0)>=(s|0))break d}if((E|0)==151)_A(b,355459);else if((E|0)==159)_A(b,355459)}while(0);m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=167;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==167?j|0:0)_A(b,355459);m=c[D>>2]|0;i=c[b>>2]|0;if((m+1|0)>>>0>1073741823)mA(i);j=m<<2;k=c[i+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if(!f)Jz(i,4);else x=f}else x=g;g=k+12|0;c[g>>2]=j+(c[g>>2]|0);g=e+52|0;c[g>>2]=x;c[e+28>>2]=m;if((m|0)>0){c[x>>2]=0;if((m|0)!=1){f=1;do{c[(c[g>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(m|0))}f=0;do{G=Zz(c[b>>2]|0)|0;c[(c[g>>2]|0)+(f<<2)>>2]=G;$A(b,c[(c[g>>2]|0)+(f<<2)>>2]|0,c[y>>2]|0);f=f+1|0}while((f|0)!=(m|0))}m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=186;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==186?j|0:0)_A(b,355459);i=c[D>>2]|0;j=c[b>>2]|0;if((i+1|0)>>>0>1073741823)mA(j);m=i<<2;k=c[j+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,m)|0;if((m|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(j,4);kA(j,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,m)|0;if(!f)Jz(j,4);else z=f}else z=g;k=k+12|0;c[k>>2]=m+(c[k>>2]|0);c[e+56>>2]=z;c[e+24>>2]=i;k=c[B>>2]|0;e:do if(m|0){n=k+16|0;o=k+8|0;p=k+12|0;q=k+4|0;j=z;f=c[k>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0)break;c[k>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=m>>>0>f>>>0;g=G?f:m;s6(j|0,i|0,g|0)|0;f=(c[k>>2]|0)-g|0;c[k>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break e;else{m=m-g|0;j=j+g|0}}if(m|0)_A(b,355459)}while(0);m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=209;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==209?j|0:0)_A(b,355459);t=c[D>>2]|0;i=c[b>>2]|0;if((t+1|0)>>>0>357913941)mA(i);j=t*12|0;k=c[i+12>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,0,j)|0;if(!f)Jz(i,4);else A=f}else A=g;s=k+12|0;c[s>>2]=j+(c[s>>2]|0);s=e+60|0;c[s>>2]=A;c[e+32>>2]=t;f:do if((t|0)>0){f=0;do{c[A+(f*12|0)>>2]=0;f=f+1|0}while((f|0)!=(t|0));r=0;while(1){m=aB(b)|0;c[(c[s>>2]|0)+(r*12|0)>>2]=m;m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=226;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==226?(E=0,j|0):0){E=227;break}c[(c[s>>2]|0)+(r*12|0)+4>>2]=c[D>>2];m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=234;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==234?(E=0,j|0):0){E=235;break}c[(c[s>>2]|0)+(r*12|0)+8>>2]=c[D>>2];r=r+1|0;if((r|0)>=(t|0))break f}if((E|0)==227)_A(b,355459);else if((E|0)==235)_A(b,355459)}while(0);m=c[B>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=4;k=D;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,C)|0;f=c[C>>2]|0;if((g|0)==0|(f|0)==0){E=243;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;G=j>>>0>f>>>0;g=G?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!G)break;else{j=j-g|0;k=k+g|0}}if((E|0)==243?j|0:0)_A(b,355459);f=c[D>>2]|0;if((f|0)>0)g=0;else{l=F;return}do{G=aB(b)|0;c[(c[u>>2]|0)+(g<<3)>>2]=G;g=g+1|0}while((g|0)!=(f|0));l=F;return}function aB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+16|0;u=v+4|0;p=v+8|0;t=v;r=b+4|0;j=c[r>>2]|0;k=j+16|0;m=j+8|0;n=j+12|0;o=j+4|0;h=1;i=p;e=c[j>>2]|0;while(1){if(!e){f=Th[c[m>>2]&63](c[k>>2]|0,c[n>>2]|0,u)|0;e=c[u>>2]|0;if((f|0)==0|(e|0)==0){q=7;break}c[j>>2]=e;c[o>>2]=f;g=f}else g=c[o>>2]|0;w=h>>>0>e>>>0;f=w?e:h;s6(i|0,g|0,f|0)|0;e=(c[j>>2]|0)-f|0;c[j>>2]=e;c[o>>2]=(c[o>>2]|0)+f;if(!w)break;else{h=h-f|0;i=i+f|0}}if((q|0)==7?h|0:0)_A(b,355459);w=a[p>>0]|0;e=w&255;c[t>>2]=e;if(w<<24>>24==-1){j=c[r>>2]|0;k=j+16|0;m=j+8|0;n=j+12|0;o=j+4|0;h=4;i=t;e=c[j>>2]|0;while(1){if(!e){f=Th[c[m>>2]&63](c[k>>2]|0,c[n>>2]|0,u)|0;e=c[u>>2]|0;if((f|0)==0|(e|0)==0){q=16;break}c[j>>2]=e;c[o>>2]=f;g=f}else g=c[o>>2]|0;w=h>>>0>e>>>0;f=w?e:h;s6(i|0,g|0,f|0)|0;e=(c[j>>2]|0)-f|0;c[j>>2]=e;c[o>>2]=(c[o>>2]|0)+f;if(!w)break;else{h=h-f|0;i=i+f|0}}if((q|0)==16?h|0:0)_A(b,355459);e=c[t>>2]|0}if(!e){w=0;l=v;return w|0}o=c[b>>2]|0;p=c[b+8>>2]|0;h=e+-1|0;c[t>>2]=h;m=p+8|0;n=c[m>>2]|0;if(n>>>0>=h>>>0){d=c[p>>2]|0;if(!h)s=d;else q=27}else{i=h>>>0>32?h:32;e=c[p>>2]|0;j=c[o+12>>2]|0;k=(e|0)!=0;f=j+4|0;g=Uh[c[j>>2]&63](c[f>>2]|0,e,n,i)|0;if((i|0)!=0&(g|0)==0){if(!(c[j+140>>2]|0))Jz(o,4);kA(o,1);e=Uh[c[j>>2]&63](c[f>>2]|0,e,n,i)|0;if(!e)Jz(o,4);else d=e}else d=g;q=j+12|0;c[q>>2]=(k?0-n|0:0)+i+(c[q>>2]|0);c[p>>2]=d;c[m>>2]=i;q=27}a:do if((q|0)==27){j=c[r>>2]|0;k=j+16|0;m=j+8|0;n=j+12|0;o=j+4|0;i=d;f=c[j>>2]|0;while(1){if(!f){e=Th[c[m>>2]&63](c[k>>2]|0,c[n>>2]|0,u)|0;f=c[u>>2]|0;if((e|0)==0|(f|0)==0)break;c[j>>2]=f;c[o>>2]=e}else e=c[o>>2]|0;w=h>>>0>f>>>0;g=w?f:h;s6(i|0,e|0,g|0)|0;f=(c[j>>2]|0)-g|0;c[j>>2]=f;c[o>>2]=(c[o>>2]|0)+g;if(!w){s=d;break a}else{h=h-g|0;i=i+g|0}}if(!h)s=d;else _A(b,355459)}while(0);w=QA(c[b>>2]|0,s,c[t>>2]|0)|0;l=v;return w|0}function bB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;o=b+12|0;n=e;e=c[e+8>>2]|0;m=0;while(1){if((e|0)==69){e=c[n>>2]|0;p=VA(e,f)|0;if(c[p+8>>2]|0)break;e=c[e+24>>2]|0;if(!e)break;j=e+6|0;k=a[j>>0]|0;if(k&1)break;i=c[(c[o>>2]|0)+148>>2]|0;h=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[h+24>>2]|0)==68?(c[h+16>>2]|0)==(i|0):0){r=10;break}e=c[h+28>>2]|0;if(!e){h=412368;break}h=h+(e<<5)|0}if((r|0)==10)r=0;e=c[h+8>>2]|0;if(!e){r=14;break}if(!h)break}else{e=c[n+8>>2]|0;switch(e&15){case 5:{e=(c[n>>2]|0)+24|0;break}case 7:{e=(c[n>>2]|0)+8|0;break}default:e=(c[o>>2]|0)+244+((e&15)<<2)|0}e=c[e>>2]|0;a:do if(!e)h=412368;else{i=c[(c[o>>2]|0)+148>>2]|0;h=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[h+24>>2]|0)==68?(c[h+16>>2]|0)==(i|0):0)break;e=c[h+28>>2]|0;if(!e){h=412368;break a}h=h+(e<<5)|0}}while(0);e=c[h+8>>2]|0;if(!e){r=29;break}}m=m+1|0;if((e&15|0)==6){r=31;break}if((m|0)>=2e3){r=32;break}else n=h}if((r|0)==14)a[j>>0]=k|1;else if((r|0)==29)Dz(b,n,355675);else if((r|0)==31){q=b+28|0;r=c[q>>2]|0;p=b+8|0;o=c[p>>2]|0;c[p>>2]=o+16;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];o=c[p>>2]|0;c[p>>2]=o+16;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];o=c[p>>2]|0;c[p>>2]=o+16;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];Pz(b,(c[p>>2]|0)+-48|0,1,a[(c[b+16>>2]|0)+34>>0]&2);r=(c[q>>2]|0)+(g-r)|0;q=(c[p>>2]|0)+-16|0;c[p>>2]=q;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];l=s;return}else if((r|0)==32)Fz(b,355681,q);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];l=s;return}function cB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;q=u;s=b+12|0;o=e;e=c[e+8>>2]|0;n=0;while(1){if((e|0)==69){t=c[o>>2]|0;m=VA(t,f)|0;if(c[m+8>>2]|0){p=m;break}e=c[t+24>>2]|0;if(!e){r=16;break}j=e+6|0;k=a[j>>0]|0;if(k&2){r=16;break}i=c[(c[s>>2]|0)+152>>2]|0;h=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[h+24>>2]|0)==68?(c[h+16>>2]|0)==(i|0):0){r=10;break}e=c[h+28>>2]|0;if(!e){h=412368;break}h=h+(e<<5)|0}if((r|0)==10)r=0;e=c[h+8>>2]|0;if(!e){r=14;break}if(!h){r=16;break}}else{e=c[o+8>>2]|0;switch(e&15){case 5:{e=(c[o>>2]|0)+24|0;break}case 7:{e=(c[o>>2]|0)+8|0;break}default:e=(c[s>>2]|0)+244+((e&15)<<2)|0}e=c[e>>2]|0;a:do if(!e)h=412368;else{i=c[(c[s>>2]|0)+152>>2]|0;h=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[h+24>>2]|0)==68?(c[h+16>>2]|0)==(i|0):0)break;e=c[h+28>>2]|0;if(!e){h=412368;break a}h=h+(e<<5)|0}}while(0);e=c[h+8>>2]|0;if(!e){r=34;break}}n=n+1|0;if((e&15|0)==6){r=36;break}if((n|0)>=2e3){r=37;break}else o=h}if((r|0)==14){a[j>>0]=k|2;r=16}else if((r|0)==34)Dz(b,o,355675);else if((r|0)==36){t=b+8|0;s=c[t>>2]|0;c[t>>2]=s+16;c[s>>2]=c[h>>2];c[s+4>>2]=c[h+4>>2];c[s+8>>2]=c[h+8>>2];c[s+12>>2]=c[h+12>>2];s=c[t>>2]|0;c[t>>2]=s+16;c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];s=c[t>>2]|0;c[t>>2]=s+16;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];s=c[t>>2]|0;c[t>>2]=s+16;c[s>>2]=c[g>>2];c[s+4>>2]=c[g+4>>2];c[s+8>>2]=c[g+8>>2];c[s+12>>2]=c[g+12>>2];Pz(b,(c[t>>2]|0)+-64|0,0,a[(c[b+16>>2]|0)+34>>0]&2);l=u;return}else if((r|0)==37)Fz(b,355720,q);if((r|0)==16)if((m|0)==412368)p=UA(b,t,f)|0;else p=m;c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];a[t+6>>0]=0;if(!(c[g+8>>2]&64)){l=u;return}e=t+5|0;h=a[e>>0]|0;if(!(h&4)){l=u;return}if(!(a[(c[g>>2]|0)+5>>0]&3)){l=u;return}g=c[s>>2]|0;a[e>>0]=h&-5;g=g+80|0;c[t+28>>2]=c[g>>2];c[g>>2]=t;l=u;return}function dB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0;j=e+8|0;g=c[j>>2]|0;switch(g&15){case 3:{k=c[f+8>>2]|0;if((k&15|0)==3)if((g|0)==19){g=e;j=c[g>>2]|0;g=c[g+4>>2]|0;if((k|0)==19){k=c[f+4>>2]|0;f=((g|0)<(k|0)|((g|0)==(k|0)?j>>>0<(c[f>>2]|0)>>>0:0))&1;return f|0}i=+h[f>>3];f=b6(j|0,g|0,0,2097152)|0;k=z;if(k>>>0<4194304|(k|0)==4194304&f>>>0<1){f=+(j>>>0)+4294967296.0*+(g|0)<i&1;return f|0}if(i>=9223372036854775808.0){f=1;return f|0}if(!(i>-9223372036854775808.0)){f=0;return f|0}f=+B(i)>=1.0?(i>0.0?~~+P(+A(i/4294967296.0),4294967295.0)>>>0:~~+N((i-+(~~i>>>0))/4294967296.0)>>>0):0;f=((f|0)>(g|0)|(f|0)==(g|0)&~~i>>>0>>>0>j>>>0)&1;return f|0}else{i=+h[e>>3];if((k|0)==3){f=i<+h[f>>3]&1;return f|0}if(!(i==i&0.0==0.0)){f=0;return f|0}j=f;g=c[j>>2]|0;j=c[j+4>>2]|0;f=b6(g|0,j|0,0,2097152)|0;k=z;if(!(k>>>0<4194304|(k|0)==4194304&f>>>0<1))if(!(i>=9223372036854775808.0))if(!(i>=-9223372036854775808.0))g=0;else{f=+B(i)>=1.0?(i>0.0?~~+P(+A(i/4294967296.0),4294967295.0)>>>0:~~+N((i-+(~~i>>>0))/4294967296.0)>>>0):0;g=(f|0)>(j|0)|(f|0)==(j|0)&~~i>>>0>>>0>=g>>>0}else g=1;else g=+(g>>>0)+4294967296.0*+(j|0)<=i;f=(g^1)&1;return f|0}break}case 4:{if((c[f+8>>2]&15|0)==4){g=c[e>>2]|0;j=c[f>>2]|0;e=g+16|0;if((a[g+4>>0]|0)==4)b=d[g+7>>0]|0;else b=c[g+12>>2]|0;k=j+16|0;if((a[j+4>>0]|0)==4)j=d[j+7>>0]|0;else j=c[j+12>>2]|0;g=R3(e,k)|0;a:do if(!g){f=j;while(1){g=r4(e)|0;if((g|0)==(f|0)){g=0;break a}if((g|0)==(b|0)){g=-1;break a}j=g+1|0;e=e+j|0;k=k+j|0;g=R3(e,k)|0;if(g|0)break;else{b=b-j|0;f=f-j|0}}}while(0);f=g>>>31;return f|0}break}default:{}}g=b+8|0;if(!(YA(b,e,f,c[g>>2]|0,20)|0))Iz(b,c[j>>2]|0,c[f+8>>2]|0);g=c[g>>2]|0;switch(c[g+8>>2]|0){case 1:{f=(c[g>>2]|0)!=0&1;return f|0}case 0:{f=0;return f|0}default:{f=1;return f|0}}return 0}function eB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0;j=e+8|0;g=c[j>>2]|0;switch(g&15){case 3:{k=c[f+8>>2]|0;if((k&15|0)==3)if((g|0)==19){g=e;j=c[g>>2]|0;g=c[g+4>>2]|0;if((k|0)==19){e=c[f+4>>2]|0;f=(g|0)<(e|0)|((g|0)==(e|0)?j>>>0<=(c[f>>2]|0)>>>0:0);f=f&1;return f|0}i=+h[f>>3];f=b6(j|0,g|0,0,2097152)|0;e=z;if(e>>>0<4194304|(e|0)==4194304&f>>>0<1){f=+(j>>>0)+4294967296.0*+(g|0)<=i;f=f&1;return f|0}if(i>=9223372036854775808.0){f=1;f=f&1;return f|0}if(!(i>=-9223372036854775808.0)){f=0;f=f&1;return f|0}f=+B(i)>=1.0?(i>0.0?~~+P(+A(i/4294967296.0),4294967295.0)>>>0:~~+N((i-+(~~i>>>0))/4294967296.0)>>>0):0;f=(f|0)>(g|0)|(f|0)==(g|0)&~~i>>>0>>>0>=j>>>0;f=f&1;return f|0}else{i=+h[e>>3];if((k|0)==3){f=i<=+h[f>>3];f=f&1;return f|0}if(!(i==i&0.0==0.0)){f=0;f=f&1;return f|0}j=f;g=c[j>>2]|0;j=c[j+4>>2]|0;f=b6(g|0,j|0,0,2097152)|0;e=z;if(!(e>>>0<4194304|(e|0)==4194304&f>>>0<1))if(!(i>=9223372036854775808.0))if(i>-9223372036854775808.0){f=+B(i)>=1.0?(i>0.0?~~+P(+A(i/4294967296.0),4294967295.0)>>>0:~~+N((i-+(~~i>>>0))/4294967296.0)>>>0):0;g=(f|0)>(j|0)|(f|0)==(j|0)&~~i>>>0>>>0>g>>>0}else g=0;else g=1;else g=+(g>>>0)+4294967296.0*+(j|0)<i;f=g^1;f=f&1;return f|0}break}case 4:{if((c[f+8>>2]&15|0)==4){g=c[e>>2]|0;j=c[f>>2]|0;b=g+16|0;if((a[g+4>>0]|0)==4)k=d[g+7>>0]|0;else k=c[g+12>>2]|0;e=j+16|0;if((a[j+4>>0]|0)==4)j=d[j+7>>0]|0;else j=c[j+12>>2]|0;g=R3(b,e)|0;a:do if(!g){f=j;while(1){g=r4(b)|0;j=(g|0)==(k|0);if((g|0)==(f|0))break;if(j){g=-1;break a}j=g+1|0;b=b+j|0;e=e+j|0;g=R3(b,e)|0;if(g|0)break a;else{k=k-j|0;f=f-j|0}}g=(j^1)&1}while(0);f=(g|0)<1;f=f&1;return f|0}break}default:{}}g=b+8|0;if(YA(b,e,f,c[g>>2]|0,21)|0){g=c[g>>2]|0;switch(c[g+8>>2]|0){case 1:{f=(c[g>>2]|0)!=0;f=f&1;return f|0}case 0:{f=0;f=f&1;return f|0}default:{f=1;f=f&1;return f|0}}}k=b+16|0;l=(c[k>>2]|0)+34|0;a[l>>0]=a[l>>0]|-128;if(!(YA(b,f,e,c[g>>2]|0,20)|0)){l=(c[k>>2]|0)+34|0;a[l>>0]=a[l>>0]^-128;Iz(b,c[j>>2]|0,c[f+8>>2]|0)}g=c[g>>2]|0;switch(c[g+8>>2]|0){case 0:{g=1;break}case 1:{g=(c[g>>2]|0)==0;break}default:g=0}l=(c[k>>2]|0)+34|0;a[l>>0]=a[l>>0]^-128;l=g;l=l&1;return l|0}function fB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+16|0;r=t;g=c[e+8>>2]|0;m=f+8|0;i=c[m>>2]|0;if((g^i)&63|0){b=g&15;if(!((b|0)==3&(b|0)==(i&15|0))){s=0;s=s&1;l=t;return s|0}do if((g|0)==19){b=e;g=i;n=c[b>>2]|0;i=c[b+4>>2]|0}else{k=r+8|0;a:while(1){switch(g|0){case 3:{s=7;break a}case 19:{s=10;break a}default:{}}if((g&15|0)!=4)break;i=nA((c[e>>2]|0)+16|0,r)|0;g=c[e>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((i|0)!=(g+1|0))break;e=r;g=c[k>>2]|0}if((s|0)==7){u=+h[e>>3];j=+A(+u);if(!(u!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){e=~~j>>>0;i=+B(j)>=1.0?(j>0.0?~~+P(+A(j/4294967296.0),4294967295.0)>>>0:~~+N((j-+(~~j>>>0))/4294967296.0)>>>0):0;s=18}}else if((s|0)==10){i=e;e=c[i>>2]|0;i=c[i+4>>2]|0;s=18}if((s|0)==18){g=c[m>>2]|0;n=e;break}s=0;s=s&1;l=t;return s|0}while(0);do if((g|0)==19){g=f;e=c[g>>2]|0;g=c[g+4>>2]|0}else{m=r+8|0;e=f;b:while(1){switch(g|0){case 3:{s=23;break b}case 19:{s=26;break b}default:{}}if((g&15|0)!=4)break;k=nA((c[e>>2]|0)+16|0,r)|0;g=c[e>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((k|0)!=(g+1|0))break;e=r;g=c[m>>2]|0}if((s|0)==23){u=+h[e>>3];j=+A(+u);if(!(u!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){e=~~j>>>0;g=+B(j)>=1.0?(j>0.0?~~+P(+A(j/4294967296.0),4294967295.0)>>>0:~~+N((j-+(~~j>>>0))/4294967296.0)>>>0):0;s=34}}else if((s|0)==26){g=e;e=c[g>>2]|0;g=c[g+4>>2]|0;s=34}if((s|0)==34)break;s=0;s=s&1;l=t;return s|0}while(0);s=(n|0)==(e|0)&(i|0)==(g|0);s=s&1;l=t;return s|0}c:do switch(g&63){case 19:{b=e;s=f;s=(c[b>>2]|0)==(c[s>>2]|0)?(c[b+4>>2]|0)==(c[s+4>>2]|0):0;s=s&1;l=t;return s|0}case 3:{s=+h[e>>3]==+h[f>>3];s=s&1;l=t;return s|0}case 1:{s=(c[e>>2]|0)==(c[f>>2]|0);s=s&1;l=t;return s|0}case 2:{s=(c[e>>2]|0)==(c[f>>2]|0);s=s&1;l=t;return s|0}case 22:{s=(c[e>>2]|0)==(c[f>>2]|0);s=s&1;l=t;return s|0}case 4:{s=(c[e>>2]|0)==(c[f>>2]|0);s=s&1;l=t;return s|0}case 20:{i=c[e>>2]|0;g=c[f>>2]|0;e=c[i+12>>2]|0;if((i|0)==(g|0)){s=1;s=s&1;l=t;return s|0}if((e|0)!=(c[g+12>>2]|0)){s=0;s=s&1;l=t;return s|0}s=(f3(i+16|0,g+16|0,e)|0)==0;s=s&1;l=t;return s|0}case 7:{g=c[e>>2]|0;m=c[f>>2]|0;if((g|0)==(m|0)){s=1;s=s&1;l=t;return s|0}if(!b){s=0;s=s&1;l=t;return s|0}g=c[g+8>>2]|0;do if(g|0?(n=g+6|0,o=a[n>>0]|0,(o&32)==0):0){k=c[(c[b+12>>2]|0)+168>>2]|0;g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&c[k+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(k|0):0){s=53;break}i=c[g+28>>2]|0;if(!i){g=412368;break}g=g+(i<<5)|0}if(c[g+8>>2]|0)if(!g)break;else break c;else{a[n>>0]=o|32;break}}while(0);g=c[m+8>>2]|0;if(!g){s=0;s=s&1;l=t;return s|0}m=g+6|0;n=a[m>>0]|0;if(n&32){s=0;s=s&1;l=t;return s|0}k=c[(c[b+12>>2]|0)+168>>2]|0;g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&c[k+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(k|0):0){s=64;break}i=c[g+28>>2]|0;if(!i){g=412368;break}g=g+(i<<5)|0}if(!(c[g+8>>2]|0)){a[m>>0]=n|32;s=0;s=s&1;l=t;return s|0}else s=93;break}case 5:{g=c[e>>2]|0;m=c[f>>2]|0;if((g|0)==(m|0)){s=1;s=s&1;l=t;return s|0}if(!b){s=0;s=s&1;l=t;return s|0}g=c[g+24>>2]|0;do if(g|0?(p=g+6|0,q=a[p>>0]|0,(q&32)==0):0){k=c[(c[b+12>>2]|0)+168>>2]|0;g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&c[k+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(k|0):0){s=76;break}i=c[g+28>>2]|0;if(!i){g=412368;break}g=g+(i<<5)|0}if(c[g+8>>2]|0)if(!g)break;else break c;else{a[p>>0]=q|32;break}}while(0);g=c[m+24>>2]|0;if(!g){s=0;s=s&1;l=t;return s|0}m=g+6|0;n=a[m>>0]|0;if(n&32){s=0;s=s&1;l=t;return s|0}k=c[(c[b+12>>2]|0)+168>>2]|0;g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&c[k+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(k|0):0){s=87;break}i=c[g+28>>2]|0;if(!i){g=412368;break}g=g+(i<<5)|0}if(!(c[g+8>>2]|0)){a[m>>0]=n|32;s=0;s=s&1;l=t;return s|0}else s=93;break}case 0:{s=1;s=s&1;l=t;return s|0}default:{s=(c[e>>2]|0)==(c[f>>2]|0);s=s&1;l=t;return s|0}}while(0);if((s|0)==93)if(!g){s=0;s=s&1;l=t;return s|0}s=b+8|0;q=c[s>>2]|0;p=b+28|0;r=c[p>>2]|0;c[s>>2]=q+16;o=q;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];g=c[s>>2]|0;c[s>>2]=g+16;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];g=c[s>>2]|0;c[s>>2]=g+16;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];Pz(b,(c[s>>2]|0)+-48|0,1,a[(c[b+16>>2]|0)+34>>0]&2);g=(c[p>>2]|0)+(q-r)|0;f=(c[s>>2]|0)+-16|0;c[s>>2]=f;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];g=c[s>>2]|0;switch(c[g+8>>2]|0){case 1:{s=(c[g>>2]|0)!=0;s=s&1;l=t;return s|0}case 0:{s=0;s=s&1;l=t;return s|0}default:{s=1;s=s&1;l=t;return s|0}}return 0}function gB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v;r=b+8|0;s=b+12|0;q=c[r>>2]|0;a:while(1){h=q+-32|0;i=q+-24|0;j=q+-16|0;b:do if(((c[i>>2]&15)+-3|0)>>>0<2){g=q+-8|0;f=c[g>>2]|0;switch(f&15){case 4:break;case 3:{oA(b,j);f=c[g>>2]|0;break}default:{u=5;break b}}if((f|0)==68?(a[(c[j>>2]|0)+7>>0]|0)==0:0){if((c[i>>2]&15|0)!=3){f=2;break}oA(b,h);f=2;break}if((c[i>>2]|0)==68?(a[(c[h>>2]|0)+7>>0]|0)==0:0){c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];f=2;break}f=c[j>>2]|0;if((a[f+4>>0]|0)==4)g=d[f+7>>0]|0;else g=c[f+12>>2]|0;c:do if((e|0)>1){f=1;h=g;while(1){p=~f;g=q+(p<<4)|0;switch(c[q+(p<<4)+8>>2]&15){case 4:break;case 3:{oA(b,g);break}default:{g=h;break c}}g=c[g>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if(g>>>0>=~h>>>0){u=24;break a}g=g+h|0;f=f+1|0;if((f|0)<(e|0))h=g;else break c}}else f=1;while(0);m=c[s>>2]|0;n=m+108|0;o=m+116|0;p=c[o>>2]|0;if(p>>>0<g>>>0){j=g>>>0>32?g:32;g=c[n>>2]|0;k=(g|0)!=0;i=m+4|0;h=Uh[c[m>>2]&63](c[i>>2]|0,g,p,j)|0;if((j|0)!=0&(h|0)==0){if(!(c[m+140>>2]|0)){u=31;break a}kA(b,1);h=Uh[c[m>>2]&63](c[i>>2]|0,g,p,j)|0;if(!h){u=31;break a}}m=m+12|0;c[m>>2]=(k?0-p|0:0)+j+(c[m>>2]|0);c[n>>2]=h;c[o>>2]=j}else h=c[n>>2]|0;j=f;k=0;while(1){g=c[q+(0-j<<4)>>2]|0;if((a[g+4>>0]|0)==4)i=d[g+7>>0]|0;else i=c[g+12>>2]|0;s6(h+k|0,g+16|0,i|0)|0;k=i+k|0;if((j|0)<=1)break;else j=j+-1|0}p=0-f|0;o=QA(b,h,k)|0;c[q+(p<<4)>>2]=o;c[q+(p<<4)+8>>2]=(a[o+4>>0]|64)&255}else u=5;while(0);if((u|0)==5){u=0;if(!(YA(b,h,j,h,22)|0)){u=6;break}else f=2}e=e+1-f|0;q=(c[r>>2]|0)+(1-f<<4)|0;c[r>>2]=q;if((e|0)<=1){u=40;break}}if((u|0)==6)Dz(b,((c[i>>2]&15)+-3|0)>>>0<2?j:h,353757);else if((u|0)==24)Fz(b,355759,t);else if((u|0)==31)Jz(b,4);else if((u|0)==40){l=v;return}}function hB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[f+8>>2]|0;a:do switch(g&63){case 5:{j=c[f>>2]|0;g=c[j+24>>2]|0;do if(g|0?(k=g+6|0,l=a[k>>0]|0,(l&16)==0):0){i=c[(c[b+12>>2]|0)+164>>2]|0;g=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(i|0):0){m=7;break}h=c[g+28>>2]|0;if(!h){g=412368;break}g=g+(h<<5)|0}if(c[g+8>>2]|0)if(!g)break;else{j=g;break a}else{a[k>>0]=l|16;break}}while(0);b=XA(j)|0;f=e;c[f>>2]=b;c[f+4>>2]=((b|0)<0)<<31>>31;c[e+8>>2]=19;return}case 4:{b=e;c[b>>2]=d[(c[f>>2]|0)+7>>0];c[b+4>>2]=0;c[e+8>>2]=19;return}case 20:{b=e;c[b>>2]=c[(c[f>>2]|0)+12>>2];c[b+4>>2]=0;c[e+8>>2]=19;return}default:{switch(g&15){case 5:{g=(c[f>>2]|0)+24|0;break}case 7:{g=(c[f>>2]|0)+8|0;break}default:g=(c[b+12>>2]|0)+244+((g&15)<<2)|0}g=c[g>>2]|0;b:do if(!g)g=412368;else{i=c[(c[b+12>>2]|0)+164>>2]|0;g=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+-1&c[i+8>>2])<<5)|0;while(1){if((c[g+24>>2]|0)==68?(c[g+16>>2]|0)==(i|0):0)break;h=c[g+28>>2]|0;if(!h){g=412368;break b}g=g+(h<<5)|0}}while(0);if(!(c[g+8>>2]|0))Dz(b,f,355782);else j=g}}while(0);k=b+28|0;l=c[k>>2]|0;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+16;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];j=c[m>>2]|0;c[m>>2]=j+16;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];j=c[m>>2]|0;c[m>>2]=j+16;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];Pz(b,(c[m>>2]|0)+-48|0,1,a[(c[b+16>>2]|0)+34>>0]&2);f=(c[k>>2]|0)+(e-l)|0;e=(c[m>>2]|0)+-16|0;c[m>>2]=e;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return}function iB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+16>>2]|0;h=i+16|0;e=c[h>>2]|0;j=i+20|0;k=c[j>>2]|0;l=c[k+-4>>2]|0;switch(l&63){case 12:case 7:case 6:case 28:case 26:case 25:case 17:case 16:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 15:case 14:case 13:{l=e+((l>>>6&255)<<4)|0;j=b+8|0;k=(c[j>>2]|0)+-16|0;c[j>>2]=k;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];return}case 31:case 32:case 33:{f=b+8|0;g=c[f>>2]|0;switch(c[g+-8>>2]|0){case 0:{e=1;break}case 1:{e=(c[g+-16>>2]|0)==0;break}default:e=0}e=e&1;c[f>>2]=g+-16;f=i+34|0;g=d[f>>0]|0;if(!(g&128))e=e^1;else a[f>>0]=g^128;if((e|0)==(l>>>6&255|0))return;c[j>>2]=k+4;return}case 29:{f=b+8|0;k=c[f>>2]|0;j=k+-16|0;g=k+-32|0;e=g-(e+(l>>>23<<4))|0;k=k+-48|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];if((e|0)>16){c[f>>2]=g;gB(b,e>>4)}l=(c[h>>2]|0)+((l>>>6&255)<<4)|0;k=(c[f>>2]|0)+-16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];c[f>>2]=c[i+4>>2];return}case 41:{c[b+8>>2]=c[i+4>>2];return}case 36:{if(!(l&8372224))return;c[b+8>>2]=c[i+4>>2];return}default:return}}function jB(e){e=e|0;var f=0,g=0,i=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0.0;pb=l;l=l+80|0;kb=pb+64|0;ob=pb+56|0;nb=pb+48|0;mb=pb+40|0;lb=pb+32|0;jb=pb+24|0;ib=pb+16|0;hb=pb;X=e+16|0;qa=e+108|0;Wa=e+12|0;rb=e+8|0;ab=hb+8|0;cb=hb+8|0;db=hb+8|0;eb=hb+8|0;gb=hb+8|0;Y=hb+8|0;Z=hb+8|0;_=hb+8|0;$=hb+8|0;aa=hb+8|0;ba=hb+8|0;ca=hb+8|0;da=hb+8|0;ea=hb+8|0;ja=hb+8|0;ra=hb+8|0;ya=hb+8|0;Ha=hb+8|0;Ma=hb+8|0;Qa=e+24|0;qb=e+100|0;W=hb+8|0;V=hb+8|0;U=hb+8|0;T=hb+8|0;S=hb+8|0;R=hb+8|0;Q=hb+8|0;O=hb+8|0;M=hb+8|0;L=hb+8|0;Ra=e+32|0;Sa=e+106|0;Ua=hb+8|0;Va=e+40|0;Xa=e+92|0;Ya=e+28|0;Za=e+20|0;_a=e+6|0;$a=e+96|0;o=c[X>>2]|0;a:while(1){F=c[c[o>>2]>>2]|0;K=F+12|0;G=c[(c[K>>2]|0)+44>>2]|0;H=o+16|0;I=o+20|0;J=o+4|0;f=c[H>>2]|0;b:while(1){i=c[I>>2]|0;c[I>>2]=i+4;i=c[i>>2]|0;g=a[qa>>0]|0;if((g&12)!=0?(bb=(c[qb>>2]|0)+-1|0,c[qb>>2]=bb,!((bb|0)!=0&(g&4)==0)):0){v=c[X>>2]|0;f=g&255;if((f&8|0)!=0&(bb|0)==0){c[qb>>2]=c[$a>>2];t=1}else t=0;u=v+34|0;g=d[u>>0]|0;if(!(g&64)){if(t)Mz(e,3,-1);do if(!(f&4)){g=v+20|0;f=g}else{p=c[(c[c[v>>2]>>2]|0)+12>>2]|0;s=v+20|0;f=c[s>>2]|0;g=c[p+48>>2]|0;k=(f-g>>2)+-1|0;p=c[p+56>>2]|0;q=(p|0)==0;if(q)r=-1;else r=c[p+(k<<2)>>2]|0;if(k|0?(fb=c[Za>>2]|0,f>>>0>fb>>>0):0){if(q)f=-1;else f=c[p+((fb-g>>2)+-1<<2)>>2]|0;if((r|0)==(f|0)){f=s;g=s;break}}Mz(e,2,r);f=s;g=s}while(0);f=c[f>>2]|0;c[Za>>2]=f;if((a[_a>>0]|0)==1){E=22;break a}}else a[u>>0]=g&191;C=c[H>>2]|0}else C=f;y=i>>>6&255;x=C+(y<<4)|0;do switch(i&63){case 38:{E=602;break b}case 0:{f=C+(i>>>23<<4)|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];f=C;continue b}case 1:{f=G+(i>>>14<<4)|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];f=C;continue b}case 2:{f=c[I>>2]|0;c[I>>2]=f+4;f=G+((c[f>>2]|0)>>>6<<4)|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];f=C;continue b}case 3:{c[x>>2]=i>>>23;c[C+(y<<4)+8>>2]=1;if(!(i&8372224)){f=C;continue b}c[I>>2]=(c[I>>2]|0)+4;f=C;continue b}case 4:{g=i>>>23;f=x;while(1){c[f+8>>2]=0;if(!g){f=C;continue b}else{g=g+-1|0;f=f+16|0}}}case 5:{f=c[c[F+16+(i>>>23<<2)>>2]>>2]|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];f=C;continue b}case 6:{f=i>>>14;bB(e,c[c[F+16+(i>>>23<<2)>>2]>>2]|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0,x);f=c[H>>2]|0;continue b}case 7:{f=i>>>14;bB(e,C+(i>>>23<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0,x);f=c[H>>2]|0;continue b}case 8:{x=i>>>23;f=i>>>14;cB(e,c[c[F+16+(y<<2)>>2]>>2]|0,(x&256|0)==0?C+(x<<4)|0:G+((x&255)<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0);f=c[H>>2]|0;continue b}case 9:{y=c[F+16+(i>>>23<<2)>>2]|0;f=c[y>>2]|0;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];f=c[y>>2]|0;if(!((f|0)==(y+8|0)?(c[f+8>>2]&64|0)!=0:0)){f=C;continue b}g=c[Wa>>2]|0;f=c[f>>2]|0;if((d[g+61>>0]|0)>=2){f=C;continue b}if(!(a[f+5>>0]&3)){f=C;continue b}$z(g,f);f=C;continue b}case 10:{y=i>>>23;f=i>>>14;cB(e,x,(y&256|0)==0?C+(y<<4)|0:G+((y&255)<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0);f=c[H>>2]|0;continue b}case 11:{k=i>>>23;r=i>>>14;f=r&511;q=c[Wa>>2]|0;g=q+4|0;p=Uh[c[q>>2]&63](c[g>>2]|0,0,5,32)|0;if(!p){if(!(c[q+140>>2]|0)){E=46;break a}kA(e,1);g=Uh[c[q>>2]&63](c[g>>2]|0,0,5,32)|0;if(!g){E=46;break a}else p=g}w=q+12|0;c[w>>2]=(c[w>>2]|0)+32;a[p+5>>0]=a[q+60>>0]&3;a[p+4>>0]=5;w=q+64|0;c[p>>2]=c[w>>2];c[w>>2]=p;c[p+24>>2]=0;a[p+6>>0]=-1;c[p+12>>2]=0;c[p+8>>2]=0;c[p+16>>2]=412384;a[p+7>>0]=0;c[p+20>>2]=412384;c[x>>2]=p;c[C+(y<<4)+8>>2]=69;if(f|k|0){g=i>>>26&31;if(g)k=(k&7|8)<<g+-1;g=i>>>17&31;if(g)f=(r&7|8)<<g+-1;TA(e,p,k,f)}if((c[(c[Wa>>2]|0)+12>>2]|0)>0){c[rb>>2]=C+(y+1<<4);jA(e);c[rb>>2]=c[J>>2]}f=c[H>>2]|0;continue b}case 12:{w=C+(i>>>23<<4)|0;f=C+(y+1<<4)|0;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];f=i>>>14;bB(e,w,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0,x);f=c[H>>2]|0;continue b}case 13:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;c:do switch(f|0){case 19:if((c[i+8>>2]|0)==19){w=k;f=i;w=b6(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;f=x;c[f>>2]=w;c[f+4>>2]=z;c[C+(y<<4)+8>>2]=19;f=C;continue b}else{E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0);E=69;break c}case 3:{n=+h[k>>3];E=70;break}default:if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[cb>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];E=69;break c}}}while(0);if((E|0)==69){n=m;E=70}d:do if((E|0)==70){E=0;f=c[i+8>>2]|0;if((f|0)==3)m=+h[i>>3];else do if((f|0)==19){w=i;m=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[ab>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break d}while(0);h[x>>3]=n+m;c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,6)|0)){E=84;break a}f=c[H>>2]|0;continue b}case 14:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;e:do switch(f|0){case 19:if((c[i+8>>2]|0)==19){f=k;w=i;w=c6(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;f=x;c[f>>2]=w;c[f+4>>2]=z;c[C+(y<<4)+8>>2]=19;f=C;continue b}else{E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0);E=98;break e}case 3:{n=+h[k>>3];E=99;break}default:if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[eb>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];E=98;break e}}}while(0);if((E|0)==98){n=m;E=99}f:do if((E|0)==99){E=0;f=c[i+8>>2]|0;if((f|0)==3)m=+h[i>>3];else do if((f|0)==19){w=i;m=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[db>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break f}while(0);h[x>>3]=n-m;c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,7)|0)){E=113;break a}f=c[H>>2]|0;continue b}case 15:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;g:do switch(f|0){case 19:if((c[i+8>>2]|0)==19){w=k;f=i;w=h6(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;f=x;c[f>>2]=w;c[f+4>>2]=z;c[C+(y<<4)+8>>2]=19;f=C;continue b}else{E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0);E=127;break g}case 3:{n=+h[k>>3];E=128;break}default:if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[Y>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];E=127;break g}}}while(0);if((E|0)==127){n=m;E=128}h:do if((E|0)==128){E=0;f=c[i+8>>2]|0;if((f|0)==3)m=+h[i>>3];else do if((f|0)==19){w=i;m=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[gb>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break h}while(0);h[x>>3]=n*m;c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,8)|0)){E=142;break a}f=c[H>>2]|0;continue b}case 18:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;i:do if((f|0)==3){m=+h[k>>3];E=156}else{do if((f|0)==19){E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[_>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];break}}break i}while(0);E=156}while(0);j:do if((E|0)==156){E=0;f=c[i+8>>2]|0;if((f|0)==3)n=+h[i>>3];else do if((f|0)==19){w=i;n=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[Z>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;n=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break j}while(0);h[x>>3]=m/n;c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,11)|0)){E=170;break a}f=c[H>>2]|0;continue b}case 20:{r=i>>>23;r=(r&256|0)==0?C+(r<<4)|0:G+((r&255)<<4)|0;q=i>>>14;q=(q&256|0)==0?C+((q&511)<<4)|0:G+((q&255)<<4)|0;f=c[r+8>>2]|0;do if((f|0)!=19){i=r;k:while(1){switch(f|0){case 3:{E=176;break k}case 19:{E=179;break k}default:{}}if((f&15|0)!=4){E=186;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=186;break}i=hb;f=c[V>>2]|0}if((E|0)==176){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=187}else E=186}else if((E|0)==179){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=187}if((E|0)==186){E=0;break}else if((E|0)==187){p=f;E=188;break}}else{g=r;p=c[g>>2]|0;g=c[g+4>>2]|0;E=188}while(0);l:do if((E|0)==188){E=0;f=c[q+8>>2]|0;do if((f|0)!=19){k=q;m:while(1){switch(f|0){case 3:{E=192;break m}case 19:{E=195;break m}default:{}}if((f&15|0)!=4){E=202;break}i=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)!=(f+1|0)){E=202;break}k=hb;f=c[W>>2]|0}if((E|0)==192){n=+h[k>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){i=~~m>>>0;f=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=203}else E=202}else if((E|0)==195){f=k;i=c[f>>2]|0;f=c[f+4>>2]|0;E=203}if((E|0)==202){E=0;break l}else if((E|0)==203){E=0;break}}else{f=q;i=c[f>>2]|0;f=c[f+4>>2]|0}while(0);c[x>>2]=i&p;c[x+4>>2]=f&g;c[C+(y<<4)+8>>2]=19;f=C;continue b}while(0);ZA(e,r,q,x,13);f=c[H>>2]|0;continue b}case 21:{r=i>>>23;r=(r&256|0)==0?C+(r<<4)|0:G+((r&255)<<4)|0;q=i>>>14;q=(q&256|0)==0?C+((q&511)<<4)|0:G+((q&255)<<4)|0;f=c[r+8>>2]|0;do if((f|0)!=19){i=r;n:while(1){switch(f|0){case 3:{E=210;break n}case 19:{E=213;break n}default:{}}if((f&15|0)!=4){E=220;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=220;break}i=hb;f=c[T>>2]|0}if((E|0)==210){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=221}else E=220}else if((E|0)==213){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=221}if((E|0)==220){E=0;break}else if((E|0)==221){p=f;E=222;break}}else{g=r;p=c[g>>2]|0;g=c[g+4>>2]|0;E=222}while(0);o:do if((E|0)==222){E=0;f=c[q+8>>2]|0;do if((f|0)!=19){k=q;p:while(1){switch(f|0){case 3:{E=226;break p}case 19:{E=229;break p}default:{}}if((f&15|0)!=4){E=236;break}i=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)!=(f+1|0)){E=236;break}k=hb;f=c[U>>2]|0}if((E|0)==226){n=+h[k>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){i=~~m>>>0;f=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=237}else E=236}else if((E|0)==229){f=k;i=c[f>>2]|0;f=c[f+4>>2]|0;E=237}if((E|0)==236){E=0;break o}else if((E|0)==237){E=0;break}}else{f=q;i=c[f>>2]|0;f=c[f+4>>2]|0}while(0);c[x>>2]=i|p;c[x+4>>2]=f|g;c[C+(y<<4)+8>>2]=19;f=C;continue b}while(0);ZA(e,r,q,x,14);f=c[H>>2]|0;continue b}case 22:{r=i>>>23;r=(r&256|0)==0?C+(r<<4)|0:G+((r&255)<<4)|0;q=i>>>14;q=(q&256|0)==0?C+((q&511)<<4)|0:G+((q&255)<<4)|0;f=c[r+8>>2]|0;do if((f|0)!=19){i=r;q:while(1){switch(f|0){case 3:{E=244;break q}case 19:{E=247;break q}default:{}}if((f&15|0)!=4){E=254;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=254;break}i=hb;f=c[R>>2]|0}if((E|0)==244){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=255}else E=254}else if((E|0)==247){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=255}if((E|0)==254){E=0;break}else if((E|0)==255){p=f;k=g;E=256;break}}else{k=r;p=c[k>>2]|0;k=c[k+4>>2]|0;E=256}while(0);r:do if((E|0)==256){E=0;f=c[q+8>>2]|0;do if((f|0)!=19){i=q;s:while(1){switch(f|0){case 3:{E=260;break s}case 19:{E=263;break s}default:{}}if((f&15|0)!=4){E=270;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=270;break}i=hb;f=c[S>>2]|0}if((E|0)==260){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){g=~~m>>>0;f=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=271}else E=270}else if((E|0)==263){f=i;g=c[f>>2]|0;f=c[f+4>>2]|0;E=271}if((E|0)==270){E=0;break r}else if((E|0)==271){E=0;break}}else{f=q;g=c[f>>2]|0;f=c[f+4>>2]|0}while(0);c[x>>2]=g^p;c[x+4>>2]=f^k;c[C+(y<<4)+8>>2]=19;f=C;continue b}while(0);ZA(e,r,q,x,15);f=c[H>>2]|0;continue b}case 23:{r=i>>>23;r=(r&256|0)==0?C+(r<<4)|0:G+((r&255)<<4)|0;q=i>>>14;q=(q&256|0)==0?C+((q&511)<<4)|0:G+((q&255)<<4)|0;f=c[r+8>>2]|0;do if((f|0)!=19){i=r;t:while(1){switch(f|0){case 3:{E=278;break t}case 19:{E=281;break t}default:{}}if((f&15|0)!=4){E=288;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=288;break}i=hb;f=c[O>>2]|0}if((E|0)==278){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=289}else E=288}else if((E|0)==281){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=289}if((E|0)==288){E=0;break}else if((E|0)==289){p=f;k=g;E=290;break}}else{k=r;p=c[k>>2]|0;k=c[k+4>>2]|0;E=290}while(0);u:do if((E|0)==290){E=0;f=c[q+8>>2]|0;do if((f|0)!=19){i=q;v:while(1){switch(f|0){case 3:{E=294;break v}case 19:{E=297;break v}default:{}}if((f&15|0)!=4){E=304;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=304;break}i=hb;f=c[Q>>2]|0}if((E|0)==294){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=305}else E=304}else if((E|0)==297){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=305}if((E|0)==304){E=0;break u}else if((E|0)==305){E=0;break}}else{f=q;g=c[f+4>>2]|0;f=c[f>>2]|0}while(0);if((g|0)<0){w=(g|0)<-1|(g|0)==-1&f>>>0<4294967233;f=c6(0,0,f|0,g|0)|0;f=m6(p|0,k|0,f|0)|0;f=w?0:f;g=w?0:z}else{g=(g|0)>0|(g|0)==0&f>>>0>63;f=n6(p|0,k|0,f|0)|0;f=g?0:f;g=g?0:z}c[x>>2]=f;c[x+4>>2]=g;c[C+(y<<4)+8>>2]=19;f=C;continue b}while(0);ZA(e,r,q,x,16);f=c[H>>2]|0;continue b}case 24:{r=i>>>23;r=(r&256|0)==0?C+(r<<4)|0:G+((r&255)<<4)|0;q=i>>>14;q=(q&256|0)==0?C+((q&511)<<4)|0:G+((q&255)<<4)|0;f=c[r+8>>2]|0;do if((f|0)!=19){i=r;w:while(1){switch(f|0){case 3:{E=315;break w}case 19:{E=318;break w}default:{}}if((f&15|0)!=4){E=325;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=325;break}i=hb;f=c[L>>2]|0}if((E|0)==315){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=326}else E=325}else if((E|0)==318){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=326}if((E|0)==325){E=0;break}else if((E|0)==326){p=f;k=g;E=327;break}}else{k=r;p=c[k>>2]|0;k=c[k+4>>2]|0;E=327}while(0);x:do if((E|0)==327){E=0;f=c[q+8>>2]|0;do if((f|0)!=19){i=q;y:while(1){switch(f|0){case 3:{E=331;break y}case 19:{E=334;break y}default:{}}if((f&15|0)!=4){E=341;break}g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=341;break}i=hb;f=c[M>>2]|0}if((E|0)==331){n=+h[i>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){f=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=342}else E=341}else if((E|0)==334){g=i;f=c[g>>2]|0;g=c[g+4>>2]|0;E=342}if((E|0)==341){E=0;break x}else if((E|0)==342){E=0;break}}else{f=q;g=c[f+4>>2]|0;f=c[f>>2]|0}while(0);if((g|0)>0|(g|0)==0&f>>>0>0){g=(g|0)>0|(g|0)==0&f>>>0>63;f=m6(p|0,k|0,f|0)|0;f=g?0:f;g=g?0:z}else{w=c6(0,0,f|0,g|0)|0;g=(g|0)<-1|(g|0)==-1&f>>>0<4294967233;f=n6(p|0,k|0,w|0)|0;f=g?0:f;g=g?0:z}c[x>>2]=f;c[x+4>>2]=g;c[C+(y<<4)+8>>2]=19;f=C;continue b}while(0);ZA(e,r,q,x,17);f=c[H>>2]|0;continue b}case 16:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;p=i>>>14;p=(p&256|0)==0?C+((p&511)<<4)|0:G+((p&255)<<4)|0;f=c[k+8>>2]|0;z:do switch(f|0){case 19:{if((c[p+8>>2]|0)!=19){E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0);E=364;break z}i=c[k>>2]|0;k=c[k+4>>2]|0;g=p;f=c[g>>2]|0;g=c[g+4>>2]|0;w=b6(f|0,g|0,1,0)|0;v=z;if(v>>>0<0|(v|0)==0&w>>>0<2)if((f|0)==0&(g|0)==0){E=352;break a}else{f=0;g=0}else{v=i6(i|0,k|0,f|0,g|0)|0;w=z;u=(g^k|0)<0&((v|0)!=0|(w|0)!=0);f=b6((u?f:0)|0,(u?g:0)|0,v|0,w|0)|0;g=z}c[x>>2]=f;c[x+4>>2]=g;c[C+(y<<4)+8>>2]=19;f=C;continue b}case 3:{n=+h[k>>3];E=365;break}default:if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[aa>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];E=364;break z}}}while(0);if((E|0)==364){n=m;E=365}A:do if((E|0)==365){E=0;f=c[p+8>>2]|0;if((f|0)==3)m=+h[p>>3];else do if((f|0)==19){w=p;m=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[p>>2]|0)+16|0,hb)|0;f=c[p>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[$>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break A}while(0);n=+o4(n,m);h[x>>3]=m*n<0.0?m+n:n;c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,p,x,9)|0)){E=379;break a}f=c[H>>2]|0;continue b}case 19:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;B:do switch(f|0){case 19:{if((c[i+8>>2]|0)!=19){E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0);E=399;break B}q=k;p=c[q>>2]|0;q=c[q+4>>2]|0;k=i;i=c[k>>2]|0;k=c[k+4>>2]|0;w=b6(i|0,k|0,1,0)|0;v=z;if(!(v>>>0<0|(v|0)==0&w>>>0<2)){g=f6(p|0,q|0,i|0,k|0)|0;f=z;if((k^q|0)<0){w=i6(p|0,q|0,i|0,k|0)|0;w=((w|0)!=0|(z|0)!=0)<<31>>31;g=b6(w|0,((w|0)<0)<<31>>31|0,g|0,f|0)|0;f=z}}else{if((i|0)==0&(k|0)==0){E=385;break a}g=c6(0,0,p|0,q|0)|0;f=z}c[x>>2]=g;c[x+4>>2]=f;c[C+(y<<4)+8>>2]=19;f=C;continue b}case 3:{n=+h[k>>3];E=400;break}default:if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[ca>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];E=399;break B}}}while(0);if((E|0)==399){n=m;E=400}C:do if((E|0)==400){E=0;f=c[i+8>>2]|0;if((f|0)==3)m=+h[i>>3];else do if((f|0)==19){w=i;m=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[ba>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break C}while(0);h[x>>3]=+A(+(n/m));c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,12)|0)){E=414;break a}f=c[H>>2]|0;continue b}case 17:{k=i>>>23;k=(k&256|0)==0?C+(k<<4)|0:G+((k&255)<<4)|0;i=i>>>14;i=(i&256|0)==0?C+((i&511)<<4)|0:G+((i&255)<<4)|0;f=c[k+8>>2]|0;D:do if((f|0)==3){m=+h[k>>3];E=428}else{do if((f|0)==19){E=k;m=+((c[E>>2]|0)>>>0)+4294967296.0*+(c[E+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[k>>2]|0)+16|0,hb)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){v=(c[ea>>2]|0)==19;E=hb;w=c[E>>2]|0;E=c[E+4>>2]|0;c[j>>2]=w;c[j+4>>2]=E;m=v?+(w>>>0)+4294967296.0*+(E|0):+h[j>>3];break}}break D}while(0);E=428}while(0);E:do if((E|0)==428){E=0;f=c[i+8>>2]|0;if((f|0)==3)n=+h[i>>3];else do if((f|0)==19){w=i;n=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[da>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;n=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}break E}while(0);h[x>>3]=+D(+m,+n);c[C+(y<<4)+8>>2]=3;f=C;continue b}while(0);if(!(YA(e,k,i,x,10)|0)){E=442;break a}f=c[H>>2]|0;continue b}case 25:{f=i>>>23;i=C+(f<<4)|0;f=c[C+(f<<4)+8>>2]|0;F:do switch(f|0){case 19:{w=i;f=x;c[f>>2]=c6(0,0,c[w>>2]|0,c[w+4>>2]|0)|0;c[f+4>>2]=z;c[C+(y<<4)+8>>2]=19;f=C;continue b}case 3:{m=+h[i>>3];break}default:{if((f&15|0)==4){g=nA((c[i>>2]|0)+16|0,hb)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){u=(c[ja>>2]|0)==19;w=hb;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;m=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break F}}if(!(YA(e,i,i,x,18)|0)){E=455;break a}f=c[H>>2]|0;continue b}}while(0);h[x>>3]=-m;c[C+(y<<4)+8>>2]=3;f=C;continue b}case 26:{w=i>>>23;k=C+(w<<4)|0;do if((c[C+(w<<4)+8>>2]|0)!=19){g=k;G:while(1){f=c[g+8>>2]|0;switch(f|0){case 3:{E=461;break G}case 19:{E=464;break G}default:{}}if((f&15|0)!=4){E=472;break}i=nA((c[g>>2]|0)+16|0,hb)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0))g=hb;else{E=472;break}}if((E|0)==461){n=+h[g>>3];m=+A(+n);if(!(n!=m)?m>=-9223372036854775808.0&m<9223372036854775808.0:0){g=~~m>>>0;f=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=470}else E=472}else if((E|0)==464){f=g;g=c[f>>2]|0;f=c[f+4>>2]|0;E=470}if((E|0)==470){E=0;break}else if((E|0)==472){E=0;ZA(e,k,k,x,19);f=c[H>>2]|0;continue b}}else{f=k;g=c[f>>2]|0;f=c[f+4>>2]|0}while(0);c[x>>2]=~g;c[x+4>>2]=~f;c[C+(y<<4)+8>>2]=19;f=C;continue b}case 27:{f=i>>>23;switch(c[C+(f<<4)+8>>2]|0){case 0:{f=1;break}case 1:{f=(c[C+(f<<4)>>2]|0)==0;break}default:f=0}c[x>>2]=f&1;c[C+(y<<4)+8>>2]=1;f=C;continue b}case 28:{hB(e,x,C+(i>>>23<<4)|0);f=c[H>>2]|0;continue b}case 29:{k=i>>>23;f=i>>>14&511;c[rb>>2]=C+(f+1<<4);gB(e,1-k+f|0);f=c[H>>2]|0;C=f+(y<<4)|0;g=f+(k<<4)|0;c[C>>2]=c[g>>2];c[C+4>>2]=c[g+4>>2];c[C+8>>2]=c[g+8>>2];c[C+12>>2]=c[g+12>>2];if((c[(c[Wa>>2]|0)+12>>2]|0)>0){c[rb>>2]=y>>>0>=k>>>0?f+(y+1<<4)|0:g;jA(e);f=c[J>>2]|0;c[rb>>2]=f}else f=c[J>>2]|0;C=c[H>>2]|0;c[rb>>2]=f;f=C;continue b}case 30:{H:do if(y|0?(fa=(c[H>>2]|0)+(y+-1<<4)|0,ga=c[Ra>>2]|0,ga|0):0){g=ga;do{f=c[g>>2]|0;if(f>>>0<fa>>>0)break H;k=g+8|0;c[Ra>>2]=c[k>>2];if(c[g+4>>2]|0){c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[g>>2]=k;if((c[g+16>>2]&64|0?(ha=c[Wa>>2]|0,ia=c[k>>2]|0,(d[ha+61>>0]|0)<2):0)?a[ia+5>>0]&3:0)$z(ha,ia)}else{y=c[Wa>>2]|0;Uh[c[y>>2]&63](c[y+4>>2]|0,g,24,0)|0;y=y+12|0;c[y>>2]=(g|0?-24:0)+(c[y>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0)}while(0);c[I>>2]=(c[I>>2]|0)+((i>>>14)+-131071<<2);f=C;continue b}case 31:{x=i>>>23;f=i>>>14;C=(fB(e,(x&256|0)==0?C+(x<<4)|0:G+((x&255)<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0)|0)==(y|0);f=c[I>>2]|0;if(C){k=c[f>>2]|0;g=k>>>6&255;if((g|0)!=0?(ka=(c[H>>2]|0)+(g+-1<<4)|0,la=c[Ra>>2]|0,(la|0)!=0):0){g=la;do{f=c[g>>2]|0;if(f>>>0<ka>>>0)break;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(ma=c[Wa>>2]|0,na=c[i>>2]|0,(d[ma+61>>0]|0)<2):0)?a[na+5>>0]&3:0)$z(ma,na)}else{C=c[Wa>>2]|0;Uh[c[C>>2]&63](c[C+4>>2]|0,g,24,0)|0;C=C+12|0;c[C>>2]=(g|0?-24:0)+(c[C>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0);f=c[I>>2]|0}f=f+((k>>>14)+-131070<<2)|0}else f=f+4|0;c[I>>2]=f;f=c[H>>2]|0;continue b}case 32:{x=i>>>23;f=i>>>14;C=(dB(e,(x&256|0)==0?C+(x<<4)|0:G+((x&255)<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0)|0)==(y|0);f=c[I>>2]|0;if(C){k=c[f>>2]|0;g=k>>>6&255;if((g|0)!=0?(oa=(c[H>>2]|0)+(g+-1<<4)|0,pa=c[Ra>>2]|0,(pa|0)!=0):0){g=pa;do{f=c[g>>2]|0;if(f>>>0<oa>>>0)break;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(sa=c[Wa>>2]|0,ta=c[i>>2]|0,(d[sa+61>>0]|0)<2):0)?a[ta+5>>0]&3:0)$z(sa,ta)}else{C=c[Wa>>2]|0;Uh[c[C>>2]&63](c[C+4>>2]|0,g,24,0)|0;C=C+12|0;c[C>>2]=(g|0?-24:0)+(c[C>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0);f=c[I>>2]|0}f=f+((k>>>14)+-131070<<2)|0}else f=f+4|0;c[I>>2]=f;f=c[H>>2]|0;continue b}case 33:{x=i>>>23;f=i>>>14;C=(eB(e,(x&256|0)==0?C+(x<<4)|0:G+((x&255)<<4)|0,(f&256|0)==0?C+((f&511)<<4)|0:G+((f&255)<<4)|0)|0)==(y|0);f=c[I>>2]|0;if(C){k=c[f>>2]|0;g=k>>>6&255;if((g|0)!=0?(ua=(c[H>>2]|0)+(g+-1<<4)|0,va=c[Ra>>2]|0,(va|0)!=0):0){g=va;do{f=c[g>>2]|0;if(f>>>0<ua>>>0)break;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(wa=c[Wa>>2]|0,xa=c[i>>2]|0,(d[wa+61>>0]|0)<2):0)?a[xa+5>>0]&3:0)$z(wa,xa)}else{C=c[Wa>>2]|0;Uh[c[C>>2]&63](c[C+4>>2]|0,g,24,0)|0;C=C+12|0;c[C>>2]=(g|0?-24:0)+(c[C>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0);f=c[I>>2]|0}f=f+((k>>>14)+-131070<<2)|0}else f=f+4|0;c[I>>2]=f;f=c[H>>2]|0;continue b}case 34:{f=c[C+(y<<4)+8>>2]|0;g=(f|0)==0;if(!(i&8372224)){if(!g)if(!((f|0)==1?!(c[x>>2]|0):0))E=545}else if(!g){if((f|0)==1?(c[x>>2]|0)==0:0)E=545}else E=545;if((E|0)==545){E=0;c[I>>2]=(c[I>>2]|0)+4;f=C;continue b}f=c[I>>2]|0;k=c[f>>2]|0;g=k>>>6&255;if((g|0)!=0?(za=(c[H>>2]|0)+(g+-1<<4)|0,Aa=c[Ra>>2]|0,(Aa|0)!=0):0){g=Aa;do{f=c[g>>2]|0;if(f>>>0<za>>>0)break;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(Ba=c[Wa>>2]|0,Ca=c[i>>2]|0,(d[Ba+61>>0]|0)<2):0)?a[Ca+5>>0]&3:0)$z(Ba,Ca)}else{y=c[Wa>>2]|0;Uh[c[y>>2]&63](c[y+4>>2]|0,g,24,0)|0;y=y+12|0;c[y>>2]=(g|0?-24:0)+(c[y>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0);f=c[I>>2]|0}c[I>>2]=f+((k>>>14)+-131070<<2);f=C;continue b}case 35:{g=i>>>23;f=C+(g<<4)|0;g=c[C+(g<<4)+8>>2]|0;k=(g|0)==0;if(!(i&8372224)){if(!k)if(!((g|0)==1?!(c[f>>2]|0):0))E=565}else if(!k){if((g|0)==1?(c[f>>2]|0)==0:0)E=565}else E=565;if((E|0)==565){E=0;c[I>>2]=(c[I>>2]|0)+4;f=C;continue b};c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];f=c[I>>2]|0;k=c[f>>2]|0;g=k>>>6&255;if((g|0)!=0?(Da=(c[H>>2]|0)+(g+-1<<4)|0,Ea=c[Ra>>2]|0,(Ea|0)!=0):0){g=Ea;do{f=c[g>>2]|0;if(f>>>0<Da>>>0)break;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(Fa=c[Wa>>2]|0,Ga=c[i>>2]|0,(d[Fa+61>>0]|0)<2):0)?a[Ga+5>>0]&3:0)$z(Fa,Ga)}else{y=c[Wa>>2]|0;Uh[c[y>>2]&63](c[y+4>>2]|0,g,24,0)|0;y=y+12|0;c[y>>2]=(g|0?-24:0)+(c[y>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0);f=c[I>>2]|0}c[I>>2]=f+((k>>>14)+-131070<<2);f=C;continue b}case 36:{g=i>>>23;f=i>>>14&511;if(g|0)c[rb>>2]=C+(y+g<<4);if(!(Nz(e,x,f+-1|0)|0)){E=584;break b}if(f|0)c[rb>>2]=c[J>>2];f=c[H>>2]|0;continue b}case 37:{f=i>>>23;if(f|0)c[rb>>2]=C+(y+f<<4);if(!(Nz(e,x,-1)|0)){E=589;break b}f=c[H>>2]|0;continue b}case 39:{f=C+(y+2<<4)|0;if((c[C+(y<<4)+8>>2]|0)==19){v=f;w=c[v>>2]|0;v=c[v+4>>2]|0;f=x;f=b6(c[f>>2]|0,c[f+4>>2]|0,w|0,v|0)|0;g=z;p=C+(y+1<<4)|0;k=c[p>>2]|0;p=c[p+4>>2]|0;if((v|0)>0|(v|0)==0&w>>>0>0){if((g|0)>(p|0)|(g|0)==(p|0)&f>>>0>k>>>0){f=C;continue b}}else if((p|0)>(g|0)|(p|0)==(g|0)&k>>>0>f>>>0){f=C;continue b}c[I>>2]=(c[I>>2]|0)+((i>>>14)+-131071<<2);c[x>>2]=f;c[x+4>>2]=g;y=y+3|0;x=C+(y<<4)|0;c[x>>2]=f;c[x+4>>2]=g;c[C+(y<<4)+8>>2]=19;f=C;continue b}else{sb=+h[f>>3];m=sb+ +h[x>>3];n=+h[C+(y+1<<4)>>3];if(sb>0.0){if(!(m<=n)){f=C;continue b}}else if(!(n<=m)){f=C;continue b}c[I>>2]=(c[I>>2]|0)+((i>>>14)+-131071<<2);h[x>>3]=m;f=y+3|0;h[C+(f<<4)>>3]=m;c[C+(f<<4)+8>>2]=3;f=C;continue b}}case 40:{s=y+1|0;u=C+(s<<4)|0;t=y+2|0;v=C+(t<<4)|0;w=C+(y<<4)+8|0;I:do if((c[w>>2]|0)==19?(c[C+(t<<4)+8>>2]|0)==19:0){q=v;p=c[q>>2]|0;q=c[q+4>>2]|0;r=(q|0)<0;g=u;J:while(1){f=c[g+8>>2]|0;switch(f|0){case 3:{E=632;break J}case 19:{E=634;break J}default:{}}if((f&15|0)!=4){E=641;break}k=nA((c[g>>2]|0)+16|0,hb)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0))g=hb;else{E=641;break}}if((E|0)==632){sb=+h[g>>3];m=+A(+sb);m=r&sb!=m?m+1.0:m;if(m>=-9223372036854775808.0&m<9223372036854775808.0){k=~~m>>>0;g=+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0;E=640}else E=641}else if((E|0)==634){k=c[g>>2]|0;g=c[g+4>>2]|0;E=640}do if((E|0)==640){f=C+(s<<4)+8|0;E=656}else if((E|0)==641){E=0;f=C+(s<<4)+8|0;g=c[f>>2]|0;if((g|0)==3)m=+h[u>>3];else do if((g|0)==19){y=u;m=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{if((g&15|0)==4){k=nA((c[u>>2]|0)+16|0,hb)|0;g=c[u>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((k|0)==(g+1|0)){s=(c[ra>>2]|0)==19;y=hb;t=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=t;c[j+4>>2]=y;m=s?+(t>>>0)+4294967296.0*+(y|0):+h[j>>3];break}}E=658;break I}while(0);if(m>0.0)if(r){q=-1;g=2147483647;k=0;p=0;break}else{k=-1;g=2147483647;E=656;break}else if((q|0)>-1|(q|0)==-1&p>>>0>4294967295){q=0;g=-2147483648;k=0;p=0;break}else{k=0;g=-2147483648;E=656;break}}while(0);if((E|0)==656){E=0;p=x;q=k;k=c[p>>2]|0;p=c[p+4>>2]|0}y=u;c[y>>2]=q;c[y+4>>2]=g;c[f>>2]=19;y=v;y=c6(k|0,p|0,c[y>>2]|0,c[y+4>>2]|0)|0;f=x;c[f>>2]=y;c[f+4>>2]=z;f=19}else E=658;while(0);if((E|0)==658){E=0;k=C+(s<<4)+8|0;f=c[k>>2]|0;if((f|0)==3){f=u;m=+h[u>>3]}else{if((f|0)==19){y=u;m=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{if((f&15|0)!=4){E=669;break a}g=nA((c[u>>2]|0)+16|0,hb)|0;f=c[u>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=669;break a}r=(c[Ma>>2]|0)==19;y=hb;s=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=s;c[j+4>>2]=y;m=r?+(s>>>0)+4294967296.0*+(y|0):+h[j>>3]}f=u}h[f>>3]=m;c[k>>2]=3;k=C+(t<<4)+8|0;f=c[k>>2]|0;if((f|0)==3){f=v;n=+h[v>>3]}else{if((f|0)==19){y=v;m=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{if((f&15|0)!=4){E=681;break a}g=nA((c[v>>2]|0)+16|0,hb)|0;f=c[v>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=681;break a}t=(c[Ha>>2]|0)==19;y=hb;u=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=u;c[j+4>>2]=y;m=t?+(u>>>0)+4294967296.0*+(y|0):+h[j>>3]}f=v;n=m}h[f>>3]=n;c[k>>2]=3;f=c[w>>2]|0;if((f|0)==3){f=x;m=+h[x>>3]}else{if((f|0)==19){y=x;m=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{if((f&15|0)!=4){E=693;break a}g=nA((c[x>>2]|0)+16|0,hb)|0;f=c[x>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){E=693;break a}u=(c[ya>>2]|0)==19;y=hb;v=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=v;c[j+4>>2]=y;m=u?+(v>>>0)+4294967296.0*+(y|0):+h[j>>3]}f=x}h[f>>3]=m-n;f=3}c[w>>2]=f;c[I>>2]=(c[I>>2]|0)+((i>>>14)+-131071<<2);f=C;continue b}case 41:{k=C+(y+3<<4)|0;f=C+(y+5<<4)|0;g=C+(y+2<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=C+(y+4<<4)|0;g=C+(y+1<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[k+12>>2]=c[x+12>>2];c[rb>>2]=C+(y+6<<4);f=i>>>14&511;g=(b[Sa>>1]|0)+1<<16>>16;b[Sa>>1]=g;if((g&65535)>199){if(g<<16>>16==200){E=698;break a}if((g&65535)>224){E=700;break a}}if(!(Nz(e,k,f)|0))jB(e);b[Sa>>1]=(b[Sa>>1]|0)+-1<<16>>16;C=c[H>>2]|0;c[rb>>2]=c[J>>2];g=c[I>>2]|0;c[I>>2]=g+4;g=c[g>>2]|0;f=C;i=g;g=C+((g>>>6&255)<<4)|0;break}case 42:{f=C;g=x;break}case 43:{f=i>>>23;g=i>>>14&511;if(!f)f=((c[rb>>2]|0)-x>>4)+-1|0;if(!g){g=c[I>>2]|0;c[I>>2]=g+4;g=(c[g>>2]|0)>>>6}x=c[x>>2]|0;i=f+-50+(g*50|0)|0;w=x+8|0;if(i>>>0>(c[w>>2]|0)>>>0){if((c[x+16>>2]|0)==412384)g=0;else g=1<<d[x+7>>0];TA(e,x,i,g)}if((f|0)>0){r=x+5|0;s=x+12|0;t=x+28|0;u=x+7|0;v=x+16|0;while(1){p=f+y|0;q=C+(p<<4)|0;g=b6(i|0,0,-1,-1)|0;E=z;K:do if(E>>>0<0|((E|0)==0?g>>>0<(c[w>>2]|0)>>>0:0)){g=(c[s>>2]|0)+(g<<4)|0;E=724}else{g=(c[v>>2]|0)+(((1<<d[u>>0])+-1&i)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(E=g+16|0,(c[E+4>>2]|0)==0?(c[E>>2]|0)==(i|0):0):0)break;k=c[g+28>>2]|0;if(!k){E=725;break K}g=g+(k<<5)|0}E=724}while(0);if((E|0)==724){E=0;if((g|0)==412368)E=725}if((E|0)==725){E=0;g=hb;c[g>>2]=i;c[g+4>>2]=0;c[Ua>>2]=19;g=UA(e,x,hb)|0};i=i+-1|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if((c[C+(p<<4)+8>>2]&64|0?(Ta=a[r>>0]|0,Ta&4):0)?a[(c[q>>2]|0)+5>>0]&3:0){q=c[Wa>>2]|0;a[r>>0]=Ta&-5;q=q+80|0;c[t>>2]=c[q>>2];c[q>>2]=x}if((f|0)<=1)break;else f=f+-1|0}}c[rb>>2]=c[J>>2];f=C;continue b}case 44:{u=c[(c[(c[K>>2]|0)+52>>2]|0)+(i>>>14<<2)>>2]|0;v=u+68|0;g=c[v>>2]|0;s=c[u+12>>2]|0;t=c[u+64>>2]|0;L:do if(!g)E=739;else{if((s|0)>0){i=0;do{f=d[t+(i<<3)+5>>0]|0;if(!(a[t+(i<<3)+4>>0]|0))f=c[c[F+16+(f<<2)>>2]>>2]|0;else f=C+(f<<4)|0;if((c[c[g+16+(i<<2)>>2]>>2]|0)!=(f|0)){E=739;break L}i=i+1|0}while((i|0)<(s|0))}c[x>>2]=g;c[C+(y<<4)+8>>2]=70}while(0);if((E|0)==739){E=0;i=(s<<2)+16|0;k=c[Wa>>2]|0;f=k+4|0;g=Uh[c[k>>2]&63](c[f>>2]|0,0,6,i)|0;if((i|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0)){E=742;break a}kA(e,1);f=Uh[c[k>>2]&63](c[f>>2]|0,0,6,i)|0;if(!f){E=742;break a}else g=f}w=k+12|0;c[w>>2]=i+(c[w>>2]|0);a[g+5>>0]=a[k+60>>0]&3;a[g+4>>0]=6;i=k+64|0;c[g>>2]=c[i>>2];c[i>>2]=g;i=g+12|0;c[i>>2]=0;a[g+6>>0]=s;if(s){k=g+16|0;f=s;do{f=f+-1|0;c[k+(f<<2)>>2]=0}while((f|0)!=0);c[i>>2]=u;c[x>>2]=g;c[C+(y<<4)+8>>2]=70;if((s|0)>0){r=0;do{f=d[t+(r<<3)+5>>0]|0;if(!(a[t+(r<<3)+4>>0]|0)){f=c[F+16+(f<<2)>>2]|0;c[g+16+(r<<2)>>2]=f}else{q=C+(f<<4)|0;f=c[Ra>>2]|0;M:do if(!f){i=Ra;E=753}else{i=Ra;while(1){k=c[f>>2]|0;if(k>>>0<q>>>0){E=753;break M}if((k|0)==(q|0))break M;i=f+8|0;f=c[i>>2]|0;if(!f){E=753;break}}}while(0);if((E|0)==753){E=0;p=c[Wa>>2]|0;k=p+4|0;f=Uh[c[p>>2]&63](c[k>>2]|0,0,0,24)|0;if(!f){if(!(c[p+140>>2]|0)){E=756;break a}kA(e,1);f=Uh[c[p>>2]&63](c[k>>2]|0,0,0,24)|0;if(!f){E=756;break a}}x=p+12|0;c[x>>2]=(c[x>>2]|0)+24;c[f+4>>2]=0;c[f+8>>2]=c[i>>2];c[f+12>>2]=1;c[i>>2]=f;c[f>>2]=q;if((c[Va>>2]|0)==(e|0)){x=(c[Wa>>2]|0)+104|0;c[Va>>2]=c[x>>2];c[x>>2]=e}}c[g+16+(r<<2)>>2]=f}x=f+4|0;c[x>>2]=(c[x>>2]|0)+1;r=r+1|0}while((r|0)!=(s|0))}}else{c[i>>2]=u;c[x>>2]=g;c[C+(y<<4)+8>>2]=70}if(!(a[u+5>>0]&4))c[v>>2]=g}if((c[(c[Wa>>2]|0)+12>>2]|0)>0){c[rb>>2]=C+(y+1<<4);jA(e);c[rb>>2]=c[J>>2]}f=c[H>>2]|0;continue b}case 45:{x=i>>>23;g=x+-1|0;i=(C-(c[o>>2]|0)>>4)-(d[(c[K>>2]|0)+6>>0]|0)|0;q=i+-1|0;if(!x){f=c[rb>>2]|0;if(((c[Qa>>2]|0)-f>>4|0)<(i|0)){g=c[Xa>>2]|0;if((g|0)>1e6){E=771;break a}C=i+4+(f-(c[Ya>>2]|0)>>4)|0;f=g<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(C|0)?C:f;if((f|0)>1e6){E=773;break a}Lz(e,f)}f=c[H>>2]|0;c[rb>>2]=f+(q+y<<4);g=q}else f=C;if((g|0)<=0)continue b;p=1-i|0;i=0;while(1){k=i+y|0;if((i|0)<(q|0)){C=f+(k<<4)|0;x=f+(p+i<<4)|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2]}else c[f+(k<<4)+8>>2]=0;i=i+1|0;if((i|0)==(g|0))continue b}}default:{f=C;continue b}}while(0);if(!(c[g+24>>2]|0))continue;C=g+16|0;c[g>>2]=c[C>>2];c[g+4>>2]=c[C+4>>2];c[g+8>>2]=c[C+8>>2];c[g+12>>2]=c[C+12>>2];c[I>>2]=(c[I>>2]|0)+((i>>>14)+-131071<<2)}if((E|0)==584){E=0;o=c[X>>2]|0;K=o+34|0;a[K>>0]=a[K>>0]|8;continue}else if((E|0)==589){E=0;k=c[X>>2]|0;o=c[k+8>>2]|0;p=c[k>>2]|0;q=c[o>>2]|0;r=k+16|0;s=(c[r>>2]|0)+(d[(c[(c[p>>2]|0)+12>>2]|0)+6>>0]<<4)|0;N:do if((c[(c[K>>2]|0)+28>>2]|0)>0?(Ia=c[o+16>>2]|0,Ja=c[Ra>>2]|0,Ja|0):0){g=Ja;do{f=c[g>>2]|0;if(f>>>0<Ia>>>0)break N;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(Ka=c[Wa>>2]|0,La=c[i>>2]|0,(d[Ka+61>>0]|0)<2):0)?a[La+5>>0]&3:0)$z(Ka,La)}else{K=c[Wa>>2]|0;Uh[c[K>>2]&63](c[K+4>>2]|0,g,24,0)|0;K=K+12|0;c[K>>2]=(g|0?-24:0)+(c[K>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0)}while(0);if(p>>>0<s>>>0){f=p;g=0;do{K=q+(g<<4)|0;c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];g=g+1|0;f=p+(g<<4)|0}while(f>>>0<s>>>0)}K=p;c[o+16>>2]=q+((c[r>>2]|0)-K>>4<<4);K=q+((c[rb>>2]|0)-K>>4<<4)|0;c[rb>>2]=K;c[o+4>>2]=K;c[o+20>>2]=c[k+20>>2];K=o+34|0;a[K>>0]=a[K>>0]|32;c[X>>2]=o;continue}else if((E|0)==602){E=0;k=i>>>23;O:do if((c[(c[K>>2]|0)+28>>2]|0)>0?(Na=c[Ra>>2]|0,Na|0):0){g=Na;do{f=c[g>>2]|0;if(f>>>0<C>>>0)break O;i=g+8|0;c[Ra>>2]=c[i>>2];if(c[g+4>>2]|0){c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[g>>2]=i;if((c[g+16>>2]&64|0?(Oa=c[Wa>>2]|0,Pa=c[i>>2]|0,(d[Oa+61>>0]|0)<2):0)?a[Pa+5>>0]&3:0)$z(Oa,Pa)}else{K=c[Wa>>2]|0;Uh[c[K>>2]&63](c[K+4>>2]|0,g,24,0)|0;K=K+12|0;c[K>>2]=(g|0?-24:0)+(c[K>>2]|0)}g=c[Ra>>2]|0}while((g|0)!=0)}while(0);if(!k)f=(c[rb>>2]|0)-x>>4;else f=k+-1|0;g=Oz(e,x,f)|0;if(!(a[o+34>>0]&8)){E=616;break}f=c[X>>2]|0;if(!g){o=f;continue}c[rb>>2]=c[f+4>>2];o=f;continue}}switch(E|0){case 22:{if(!t){pb=f+-4|0;c[g>>2]=pb;pb=a[u>>0]|0;pb=pb|64;a[u>>0]=pb;pb=c[rb>>2]|0;pb=pb+-16|0;c[v>>2]=pb;Jz(e,1)}c[qb>>2]=1;qb=f+-4|0;c[g>>2]=qb;qb=a[u>>0]|0;qb=qb|64;a[u>>0]=qb;rb=c[rb>>2]|0;rb=rb+-16|0;c[v>>2]=rb;Jz(e,1);break}case 46:{Jz(e,4);break}case 84:{Hz(e,k,i,355423);break}case 113:{Hz(e,k,i,355423);break}case 142:{Hz(e,k,i,355423);break}case 170:{Hz(e,k,i,355423);break}case 352:{Fz(e,355822,ib);break}case 379:{Hz(e,k,p,355423);break}case 385:{Fz(e,355796,jb);break}case 414:{Hz(e,k,i,355423);break}case 442:{Hz(e,k,i,355423);break}case 455:{Hz(e,i,i,355423);break}case 616:{l=pb;return}case 669:{Fz(e,355848,lb);break}case 681:{Fz(e,355877,mb);break}case 693:{Fz(e,355905,nb);break}case 698:{Fz(e,353895,ob);break}case 700:{Jz(e,6);break}case 742:{Jz(e,4);break}case 756:{Jz(e,4);break}case 771:{Jz(e,6);break}case 773:{Lz(e,1000200);Fz(e,357349,kb);break}}}function kB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+176|0;C=I+56|0;B=I+48|0;E=I+40|0;D=I+32|0;A=I+24|0;o=I+16|0;z=I;y=I+64|0;H=b+8|0;F=b+16|0;G=(c[H>>2]|0)-((c[c[F>>2]>>2]|0)+16)>>4;x=d+16|0;w=d+48|0;g=1;k=1;while(1){if((g|0)<0)break;h=c[x>>2]|0;if((g|0)!=0&(h|0)!=(w|0)){j=g;while(1){i=j+-1|0;h=c[h+8>>2]|0;if((j|0)>1&(h|0)!=(w|0))j=i;else break}}else i=g;if((i|0)!=0|(h|0)==(w|0))break;k=g;g=g<<1}if((k|0)<(g|0)){n=k;do{h=g+n|0;m=(h|0)/2|0;if((h|0)<-1)h=1;else{j=c[x>>2]|0;if((h+1|0)>>>0>2&(j|0)!=(w|0)){k=m;h=j;while(1){i=k+-1|0;h=c[h+8>>2]|0;if((k|0)>1&(h|0)!=(w|0))k=i;else break}}else{i=m;h=j}h=(i|0)!=0|(h|0)==(w|0)}g=h?m:g;n=h?n:m+1|0}while((n|0)<(g|0));m=g}else m=g;t=(m+-1|0)>22?12:0;if(e|0){c[o>>2]=e;mz(b,357628,o)|0}u=b+12|0;g=c[u>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[u>>2]|0}h=g+280+(((355942>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(355942,g+16|0)|0){g=QA(b,355942,16)|0;c[h>>2]=g}h=c[H>>2]|0;c[h>>2]=g;c[h+8>>2]=(a[g+4>>0]|64)&255;h=(c[H>>2]|0)+16|0;c[H>>2]=h;g=h;if((f|0)>=0){i=c[x>>2]|0;if((f|0)!=0&(i|0)!=(w|0)){k=f;while(1){j=k+-1|0;i=c[i+8>>2]|0;if((k|0)>1&(i|0)!=(w|0))k=j;else break}}else j=f;if(!((j|0)!=0|(i|0)==(w|0))){s=y+96|0;c[s>>2]=i;k=m+-11|0;m=y+36|0;n=y+20|0;e=y+8|0;o=y+12|0;p=y+24|0;q=y+4|0;r=y+35|0;g=f;while(1){g=g+1|0;do if((g|0)==(t|0)){g=c[u>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[u>>2]|0}h=g+280+(((355959>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(355959,g+16|0)|0){g=QA(b,355959,5)|0;c[h>>2]=g}f=c[H>>2]|0;c[f>>2]=g;c[f+8>>2]=(a[g+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;g=k}else{Bz(d,355965,y)|0;c[A>>2]=m;mz(b,355970,A)|0;h=c[n>>2]|0;if((h|0)>0){c[D>>2]=h;mz(b,355976,D)|0}h=c[u>>2]|0;if((c[h+12>>2]|0)>0){jA(b);h=c[u>>2]|0}i=h+280+(((355980>>>0)%127|0)<<2)|0;h=c[i>>2]|0;if(e3(355980,h+16|0)|0){h=QA(b,355980,4)|0;c[i>>2]=h}f=c[H>>2]|0;c[f>>2]=h;c[f+8>>2]=(a[h+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;a:do if(!(lB(b,y)|0)){h=c[e>>2]|0;if(a[h>>0]|0){f=c[q>>2]|0;c[B>>2]=h;c[B+4>>2]=f;mz(b,355999,B)|0;break}switch(a[c[o>>2]>>0]|0){case 109:{h=c[u>>2]|0;if((c[h+12>>2]|0)>0){jA(b);h=c[u>>2]|0}i=h+280+(((356007>>>0)%127|0)<<2)|0;h=c[i>>2]|0;if(e3(356007,h+16|0)|0){h=QA(b,356007,10)|0;c[i>>2]=h}f=c[H>>2]|0;c[f>>2]=h;c[f+8>>2]=(a[h+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;break a}case 67:{h=c[u>>2]|0;if((c[h+12>>2]|0)>0){jA(b);h=c[u>>2]|0}i=h+280+(((359767>>>0)%127|0)<<2)|0;h=c[i>>2]|0;if(e3(359767,h+16|0)|0){h=QA(b,359767,1)|0;c[i>>2]=h}f=c[H>>2]|0;c[f>>2]=h;c[f+8>>2]=(a[h+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;break a}default:{f=c[p>>2]|0;c[C>>2]=m;c[C+4>>2]=f;mz(b,356018,C)|0;break a}}}else{h=c[H>>2]|0;switch(c[h+-8>>2]&15){case 4:{h=h+-16|0;v=44;break}case 3:{if((c[(c[u>>2]|0)+12>>2]|0)>0){jA(b);h=c[H>>2]|0}h=h+-16|0;oA(b,h);v=44;break}default:h=0}if((v|0)==44){v=0;h=(c[h>>2]|0)+16|0}c[E>>2]=h;mz(b,355985,E)|0;i=c[H>>2]|0;h=i+-16|0;i=i+-32|0;do{c[z>>2]=c[i>>2];c[z+4>>2]=c[i+4>>2];c[z+8>>2]=c[i+8>>2];c[z+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[h+12>>2]=c[z+12>>2];i=i+16|0;h=h+-16|0}while(i>>>0<h>>>0);c[H>>2]=(c[H>>2]|0)+-16}while(0);if(!(a[r>>0]|0)){i=c[H>>2]|0;h=i}else{h=c[u>>2]|0;if((c[h+12>>2]|0)>0){jA(b);h=c[u>>2]|0}i=h+280+(((356035>>>0)%127|0)<<2)|0;h=c[i>>2]|0;if(e3(356035,h+16|0)|0){h=QA(b,356035,20)|0;c[i>>2]=h}i=c[H>>2]|0;c[i>>2]=h;c[i+8>>2]=(a[h+4>>0]|64)&255;i=(c[H>>2]|0)+16|0;c[H>>2]=i;h=i}h=(h-((c[c[F>>2]>>2]|0)+16)>>4)-G|0;if((h|0)<=1){if(h|0)break;f=QA(b,436559,0)|0;c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;break}if((c[(c[u>>2]|0)+12>>2]|0)>0)jA(b);gB(b,h)}while(0);if((g|0)<0)break;h=c[x>>2]|0;if((g|0)!=0&(h|0)!=(w|0)){j=g;while(1){i=j+-1|0;h=c[h+8>>2]|0;if((j|0)>1&(h|0)!=(w|0))j=i;else break}}else i=g;if((i|0)!=0|(h|0)==(w|0))break;c[s>>2]=h}h=c[H>>2]|0;g=h}}g=(g-((c[c[F>>2]>>2]|0)+16)>>4)-G|0;if((g|0)>1){if((c[(c[u>>2]|0)+12>>2]|0)>0)jA(b);gB(b,g);l=I;return}else{if(g|0){l=I;return}b=QA(b,436559,0)|0;c[h>>2]=b;c[h+8>>2]=(a[b+4>>0]|64)&255;c[H>>2]=(c[H>>2]|0)+16;l=I;return}}function lB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=b+8|0;h=b+16|0;i=(c[o>>2]|0)-((c[c[h>>2]>>2]|0)+16)|0;k=i>>4;Bz(b,356056,d)|0;j=b+12|0;f=c[j>>2]|0;g=c[o>>2]|0;e=f+280+(((359488>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359488,d+16|0)|0){d=QA(b,359488,7)|0;c[e>>2]=d}c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;g=c[o>>2]|0;c[o>>2]=g+16;bB(b,f+40|0,g,g);f=k+1|0;if(!(mB(b,f,2)|0)){if((i|0)<=-16){n=0;b=(c[o>>2]|0)+(f<<4)|0;c[o>>2]=b;l=p;return n|0}d=c[c[h>>2]>>2]|0;g=c[o>>2]|0;f=d+(f<<4)|0;if(g>>>0>=f>>>0){n=0;b=f;c[o>>2]=b;l=p;return n|0}d=(d+(k<<4)+8+4+(3-g)|0)>>>4;e=g;do{c[e+8>>2]=0;e=e+16|0}while(e>>>0<f>>>0);c[o>>2]=g+(d+1<<4);n=0;b=f;c[o>>2]=b;l=p;return n|0}d=c[o>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;m=9;break}case 3:{if((c[(c[j>>2]|0)+12>>2]|0)>0){jA(b);d=c[o>>2]|0}d=d+-16|0;oA(b,d);m=9;break}default:d=0}if((m|0)==9)d=(c[d>>2]|0)+16|0;if(!(g3(d,356058,3)|0)){lz(b,d+3|0);e=c[o>>2]|0;d=e+-16|0;e=e+-32|0;do{c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];e=e+16|0;d=d+-16|0}while(e>>>0<d>>>0);c[o>>2]=(c[o>>2]|0)+-16}iz(b,f);n=1;b=(c[o>>2]|0)+-32|0;c[o>>2]=b;l=p;return n|0}function mB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;if(!f){u=0;l=v;return u|0}s=b+8|0;g=c[s>>2]|0;if((g+-16|0)==412368){u=0;l=v;return u|0}if((c[g+-8>>2]&15|0)!=5){u=0;l=v;return u|0}c[g+8>>2]=0;c[s>>2]=g+16;if(!(xz(b,-2)|0)){u=0;l=v;return u|0}h=f+-1|0;i=b+16|0;j=(e|0)>0;k=(e|0)<-1000999;m=(e|0)==-1001e3;t=b+12|0;n=-1001e3-e|0;o=n+-1|0;while(1){g=c[s>>2]|0;if((g+-32|0)!=412368?(c[g+-24>>2]&15|0)==4:0){f=c[i>>2]|0;do if(!j){if(!k){p=g+(e<<4)|0;r=16;break}if(m){p=(c[t>>2]|0)+40|0;r=16;break}f=c[f>>2]|0;if((c[f+8>>2]|0)!=22){p=c[f>>2]|0;p=(n|0)>(d[p+6>>0]|0|0)?412368:p+16+(o<<4)|0;r=16}}else{p=(c[f>>2]|0)+(e<<4)|0;p=p>>>0<g>>>0?p:412368;r=16}while(0);if(((r|0)==16?(r=0,q=g+-16|0,(p|0)!=412368&(q|0)!=412368):0)?fB(0,p,q)|0:0){r=18;break}f=(mB(b,e,h)|0)==0;g=c[s>>2]|0;if(!f){r=20;break}}c[s>>2]=g+-16;if(!(xz(b,-2)|0)){g=0;r=33;break}}if((r|0)==18){c[s>>2]=(c[s>>2]|0)+-16;u=1;l=v;return u|0}else if((r|0)==20){f=g+-16|0;g=g+-32|0;do{c[u>>2]=c[g>>2];c[u+4>>2]=c[g+4>>2];c[u+8>>2]=c[g+8>>2];c[u+12>>2]=c[g+12>>2];c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];g=g+16|0;f=f+-16|0}while(g>>>0<f>>>0);c[s>>2]=(c[s>>2]|0)+-16;g=c[t>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[t>>2]|0}f=g+280+(((410430>>>0)%127|0)<<2)|0;g=c[f>>2]|0;if(e3(410430,g+16|0)|0){g=QA(b,410430,1)|0;c[f>>2]=g}f=c[s>>2]|0;c[f>>2]=g;c[f+8>>2]=(a[g+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;g=f;f=f+-16|0;do{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0);if((c[(c[t>>2]|0)+12>>2]|0)>0)jA(b);gB(b,3);u=1;l=v;return u|0}else if((r|0)==33){l=v;return g|0}return 0}function nB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+128|0;i=j+16|0;g=j+8|0;f=j;h=j+28|0;e=c[a+16>>2]|0;if((e|0)==(a+48|0)){c[f>>2]=b;c[f+4>>2]=d;oB(a,356062,f);l=j;return 0}c[h+96>>2]=e;Bz(a,359136,h)|0;if(!(e3(c[h+8>>2]|0,356084)|0)){b=b+-1|0;if(!b){c[g>>2]=c[h+4>>2];c[g+4>>2]=d;oB(a,356091,g);l=j;return 0}else g=b}else g=b;f=h+4|0;b=c[f>>2]|0;if(!b){a:do if(!(lB(a,h)|0))b=359767;else{e=a+8|0;b=c[e>>2]|0;switch(c[b+-8>>2]&15){case 4:{b=b+-16|0;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);b=c[e>>2]|0}b=b+-16|0;oA(a,b);break}default:{b=0;break a}}b=(c[b>>2]|0)+16|0}while(0);c[f>>2]=b}c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;oB(a,356121,i);l=j;return 0}function oB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+128|0;j=k;h=k+24|0;k=k+8|0;c[k>>2]=e;f=c[b+16>>2]|0;e=b+48|0;if(((f|0)!=(e|0)?(i=c[f+8>>2]|0,(i|0)!=(e|0)):0)?(c[h+96>>2]=i,Bz(b,356151,h)|0,g=c[h+20>>2]|0,(g|0)>0):0){c[j>>2]=h+36;c[j+4>>2]=g;mz(b,356154,j)|0;e=b+12|0}else{e=b+12|0;f=c[e>>2]|0;if((c[f+12>>2]|0)>0){jA(b);f=c[e>>2]|0}g=f+280+(((436559>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(436559,f+16|0)|0){f=QA(b,436559,0)|0;c[g>>2]=f}j=b+8|0;i=c[j>>2]|0;c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;c[j>>2]=(c[j>>2]|0)+16}if((c[(c[e>>2]|0)+12>>2]|0)<=0){pA(b,d,k)|0;yz(b,2);Gz(b)}jA(b);pA(b,d,k)|0;yz(b,2);Gz(b)}function pB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+16>>2]|0;h=(e|0)>0;do if(!h){if((e|0)>=-1000999){f=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){f=(c[b+12>>2]|0)+40|0;break}f=-1001e3-e|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)f=412368;else{l=c[g>>2]|0;f=(f|0)>(d[l+6>>0]|0|0)?412368:l+16+(f+-1<<4)|0}}else{f=(c[j>>2]|0)+(e<<4)|0;f=f>>>0<(c[b+8>>2]|0)>>>0?f:412368}while(0);switch(c[f+8>>2]&15){case 7:{l=(c[f>>2]|0)+24|0;i=12;break}case 2:{f=c[f>>2]|0;if(f|0){l=f;i=12}break}default:{}}do if((i|0)==12){do if(!h){if((e|0)>=-1000999){f=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){f=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;f=c[j>>2]|0;if((c[f+8>>2]|0)==22)f=412368;else{f=c[f>>2]|0;f=(g|0)>(d[f+6>>0]|0|0)?412368:f+16+(g+-1<<4)|0}}else{f=(c[j>>2]|0)+(e<<4)|0;f=f>>>0<(c[b+8>>2]|0)>>>0?f:412368}while(0);g=c[f+8>>2]|0;switch(g&15){case 5:{f=(c[f>>2]|0)+24|0;break}case 7:{f=(c[f>>2]|0)+8|0;break}default:f=(c[b+12>>2]|0)+244+((g&15)<<2)|0}f=c[f>>2]|0;if(f|0){k=b+8|0;h=c[k>>2]|0;c[h>>2]=f;c[h+8>>2]=69;h=c[k>>2]|0;i=h+16|0;c[k>>2]=i;j=c[b+12>>2]|0;g=j+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(b,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[h+24>>2]=(a[f+4>>0]|64)&255;g=c[k>>2]|0;c[k>>2]=g+16;bB(b,j+40|0,g,g);g=c[k>>2]|0;f=g+-16|0;g=g+-32|0;if(!((f|0)!=412368&(g|0)!=412368)){c[k>>2]=g;break}j=(fB(0,f,g)|0)==0;c[k>>2]=(c[k>>2]|0)+-32;if(!j){e=l;return e|0}}}while(0);qB(b,e,359865);e=0;return e|0}function qB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;m=r;n=b+16|0;g=c[n>>2]|0;o=(e|0)>0;do if(!o){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}h=-1001e3-e|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[g>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);h=c[g+8>>2]|0;switch(h&15){case 5:{g=(c[g>>2]|0)+24|0;break}case 7:{g=(c[g>>2]|0)+8|0;break}default:g=(c[b+12>>2]|0)+244+((h&15)<<2)|0}g=c[g>>2]|0;do if(g|0){k=b+8|0;j=c[k>>2]|0;c[j>>2]=g;c[j+8>>2]=69;c[k>>2]=(c[k>>2]|0)+16;j=b+12|0;g=c[j>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[j>>2]|0}h=g+280+(((356162>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(356162,g+16|0)|0){g=QA(b,356162,6)|0;c[h>>2]=g}i=c[k>>2]|0;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;g=c[k>>2]|0;c[k>>2]=g+16;i=VA(c[g+-16>>2]|0,g)|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];g=c[k>>2]|0;i=c[g+-8>>2]&15;if(!i){c[k>>2]=g+-32;break}h=g+-16|0;g=g+-32|0;do{c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);h=c[k>>2]|0;g=h+-16|0;c[k>>2]=g;if((i|0)==4){switch(c[h+-24>>2]&15){case 4:{g=h+-32|0;break}case 3:{p=25;break}default:{p=0;c[q>>2]=f;f=q+4|0;c[f>>2]=p;q=mz(b,356184,q)|0;nB(b,e,q)|0;l=r;return}}if((p|0)==25){if((c[(c[j>>2]|0)+12>>2]|0)>0){jA(b);g=c[k>>2]|0}g=g+-16|0;oA(b,g)}p=(c[g>>2]|0)+16|0;c[q>>2]=f;f=q+4|0;c[f>>2]=p;q=mz(b,356184,q)|0;nB(b,e,q)|0;l=r;return}}while(0);j=c[n>>2]|0;do if(o){i=c[j>>2]|0;g=i+(e<<4)|0;h=c[b+8>>2]|0;if(g>>>0<h>>>0)p=37;else{g=i;p=41}}else{if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;p=37;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;p=37;break}i=-1001e3-e|0;g=c[j>>2]|0;if((c[g+8>>2]|0)!=22){h=c[g>>2]|0;if((i|0)>(d[h+6>>0]|0|0)){h=i;p=47}else{g=h+16+(i+-1<<4)|0;p=37}}else g=0}while(0);do if((p|0)==37){if((g|0)!=412368?(c[g+8>>2]&15|0)==2:0){p=356169;c[q>>2]=f;f=q+4|0;c[f>>2]=p;q=mz(b,356184,q)|0;nB(b,e,q)|0;l=r;return}if(o){g=c[j>>2]|0;h=c[b+8>>2]|0;p=41;break}if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;p=48;break}if((e|0)!=-1001e3){g=c[j>>2]|0;if((c[g+8>>2]|0)==22){g=0;break}else{h=-1001e3-e|0;p=47;break}}else{g=(c[b+12>>2]|0)+40|0;p=48;break}}while(0);if((p|0)==41){g=g+(e<<4)|0;if(g>>>0<h>>>0)p=48;else g=0}else if((p|0)==47){g=c[g>>2]|0;if((h|0)>(d[g+6>>0]|0|0))g=0;else{g=g+16+(h+-1<<4)|0;p=48}}if((p|0)==48)if((g|0)==412368)g=0;else g=(c[g+8>>2]&15)+1|0;p=c[7100+(g<<2)>>2]|0;c[q>>2]=f;f=q+4|0;c[f>>2]=p;q=mz(b,356184,q)|0;nB(b,e,q)|0;l=r;return}function rB(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;g=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+40|0;break}i=-1001e3-e|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)i=412368;else{k=c[g>>2]|0;i=(i|0)>(d[k+6>>0]|0)?412368:k+16+(i+-1<<4)|0}}else{i=(c[g>>2]|0)+(e<<4)|0;i=i>>>0<(c[b+8>>2]|0)>>>0?i:412368}while(0);g=c[i+8>>2]|0;if((g|0)==3){f=+h[i>>3];l=n;return +f}do if((g|0)==19){m=i;f=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((g&15|0)==4){k=nA((c[i>>2]|0)+16|0,m)|0;g=c[i>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((k|0)==(g+1|0)){b=(c[m+8>>2]|0)==19;e=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=e;c[j+4>>2]=m;f=b?+(e>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}qB(b,e,355285);f=0.0;l=n;return +f}while(0);l=n;return +f}function sB(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;n=o;i=b+16|0;f=c[i>>2]|0;k=(e|0)>0;do if(!k){if((e|0)>=-1000999){f=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){f=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;f=c[f>>2]|0;if((c[f+8>>2]|0)==22)f=412368;else{f=c[f>>2]|0;f=(g|0)>(d[f+6>>0]|0)?412368:f+16+(g+-1<<4)|0}}else{f=(c[f>>2]|0)+(e<<4)|0;f=f>>>0<(c[b+8>>2]|0)>>>0?f:412368}while(0);g=c[f+8>>2]|0;if((g|0)==19){e=f;b=c[e+4>>2]|0;e=c[e>>2]|0;z=b;l=o;return e|0}a:while(1){switch(g|0){case 3:{m=13;break a}case 19:{m=16;break a}default:{}}if((g&15|0)!=4)break;g=nA((c[f>>2]|0)+16|0,n)|0;f=c[f>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0))break;f=n;g=c[n+8>>2]|0}if((m|0)==13){p=+h[f>>3];j=+A(+p);if(!(p!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){g=~~j>>>0;f=+B(j)>=1.0?(j>0.0?~~+P(+A(j/4294967296.0),4294967295.0)>>>0:~~+N((j-+(~~j>>>0))/4294967296.0)>>>0):0;m=23}}else if((m|0)==16){g=c[f>>2]|0;f=c[f+4>>2]|0;m=23}if((m|0)==23){b=f;e=g;z=b;l=o;return e|0}f=c[i>>2]|0;do if(!k){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;f=c[f>>2]|0;if((c[f+8>>2]|0)==22)g=412368;else{m=c[f>>2]|0;g=(g|0)>(d[m+6>>0]|0)?412368:m+16+(g+-1<<4)|0}}else{g=(c[f>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);f=c[g+8>>2]|0;if((f|0)!=3)do if((f|0)!=19){if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,n)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0))break}qB(b,e,355285);b=0;e=0;z=b;l=o;return e|0}while(0);nB(b,e,356244)|0;b=0;e=0;z=b;l=o;return e|0}function tB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;n=b+16|0;m=c[n>>2]|0;o=(e|0)>0;do if(o){i=(c[m>>2]|0)+(e<<4)|0;if(i>>>0>=(c[b+8>>2]|0)>>>0){b=g;e=f;z=b;l=r;return e|0}}else{if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+40|0;break}j=-1001e3-e|0;i=c[m>>2]|0;if((c[i+8>>2]|0)==22){b=g;e=f;z=b;l=r;return e|0}i=c[i>>2]|0;if((j|0)>(d[i+6>>0]|0)){b=g;e=f;z=b;l=r;return e|0}else i=i+16+(j+-1<<4)|0}while(0);if((i|0)==412368){b=g;e=f;z=b;l=r;return e|0}if(!(c[i+8>>2]&15)){b=g;e=f;z=b;l=r;return e|0}do if(!o){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+40|0;break}j=-1001e3-e|0;i=c[m>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(j|0)>(d[i+6>>0]|0)?412368:i+16+(j+-1<<4)|0}}else{i=(c[m>>2]|0)+(e<<4)|0;i=i>>>0<(c[b+8>>2]|0)>>>0?i:412368}while(0);j=c[i+8>>2]|0;if((j|0)==19){e=i;b=c[e+4>>2]|0;e=c[e>>2]|0;z=b;l=r;return e|0}a:while(1){switch(j|0){case 3:{p=23;break a}case 19:{p=26;break a}default:{}}if((j&15|0)!=4)break;j=nA((c[i>>2]|0)+16|0,q)|0;i=c[i>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((j|0)!=(i+1|0))break;i=q;j=c[q+8>>2]|0}if((p|0)==23){s=+h[i>>3];k=+A(+s);if(!(s!=k)?k>=-9223372036854775808.0&k<9223372036854775808.0:0){j=~~k>>>0;i=+B(k)>=1.0?(k>0.0?~~+P(+A(k/4294967296.0),4294967295.0)>>>0:~~+N((k-+(~~k>>>0))/4294967296.0)>>>0):0;p=33}}else if((p|0)==26){j=c[i>>2]|0;i=c[i+4>>2]|0;p=33}if((p|0)==33){b=i;e=j;z=b;l=r;return e|0}i=c[n>>2]|0;do if(!o){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+40|0;break}j=-1001e3-e|0;i=c[i>>2]|0;if((c[i+8>>2]|0)==22)j=412368;else{p=c[i>>2]|0;j=(j|0)>(d[p+6>>0]|0)?412368:p+16+(j+-1<<4)|0}}else{j=(c[i>>2]|0)+(e<<4)|0;j=j>>>0<(c[b+8>>2]|0)>>>0?j:412368}while(0);i=c[j+8>>2]|0;if((i|0)!=3)do if((i|0)!=19){if((i&15|0)==4){f=nA((c[j>>2]|0)+16|0,q)|0;i=c[j>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((f|0)==(i+1|0))break}qB(b,e,355285);b=0;e=0;z=b;l=r;return e|0}while(0);nB(b,e,356244)|0;b=0;e=0;z=b;l=r;return e|0}function uB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;f=c[a+12>>2]|0;i=a+4|0;d=c[i>>2]|0;j=a+8|0;e=c[j>>2]|0;if((d-e|0)>>>0>=b>>>0){a=c[a>>2]|0;k=e;k=a+k|0;l=m;return k|0}h=d<<1;h=(h-e|0)>>>0<b>>>0?e+b|0:h;if(h>>>0<e>>>0|(h-e|0)>>>0<b>>>0)oB(f,356281,m+16|0);g=zz(f,h)|0;s6(g|0,c[a>>2]|0,c[j>>2]|0)|0;if((c[a>>2]|0)!=(a+16|0)){b=f+8|0;e=c[b>>2]|0;d=e+-16|0;e=e+-32|0;do{c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];e=e+16|0;d=d+-16|0}while(e>>>0<d>>>0);c[b>>2]=(c[b>>2]|0)+-16}c[a>>2]=g;c[i>>2]=h;a=g;k=c[j>>2]|0;k=a+k|0;l=m;return k|0}function vB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;f=c[b+12>>2]|0;j=f+8|0;e=c[j>>2]|0;switch(c[e+-8>>2]&15){case 4:{e=e+-16|0;g=5;break}case 3:{if((c[(c[f+12>>2]|0)+12>>2]|0)>0){jA(f);e=c[j>>2]|0}e=e+-16|0;oA(f,e);g=5;break}default:{i=0;f=0}}if((g|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;i=e+16|0}h=b+16|0;if((c[b>>2]|0)!=(h|0)){g=c[j>>2]|0;e=g+-16|0;g=g+-32|0;do{c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];g=g+16|0;e=e+-16|0}while(g>>>0<e>>>0)}s6(uB(b,f)|0,i|0,f|0)|0;g=b+8|0;c[g>>2]=(c[g>>2]|0)+f;b=(c[b>>2]|0)!=(h|0);g=b?-2:-1;h=c[j>>2]|0;f=h+-16|0;e=h+(g<<4)|0;g=g+1|0;if((g|0)<-1){i=f;g=h+(g<<4)|0;do{c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];g=g+16|0;i=i+-16|0}while(g>>>0<i>>>0)}if(!b){k=c[j>>2]|0;k=k+-16|0;c[j>>2]=k;l=m;return}do{c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);k=c[j>>2]|0;k=k+-16|0;c[j>>2]=k;l=m;return}function wB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1120|0;r=w+56|0;o=w+40|0;k=w+24|0;g=w+16|0;p=w;n=w+72|0;j=w+1104|0;v=b+8|0;q=b+16|0;s=(c[v>>2]|0)-((c[c[q>>2]>>2]|0)+16)|0;t=s>>4;u=t+1|0;if(e){c[g>>2]=e;mz(b,356305,g)|0;i=Q4(e,381985)|0;c[n+4>>2]=i;if(!i){g=t3(c[105438]|0)|0;h=(kz(b,u,0)|0)+1|0;c[k>>2]=356326;c[k+4>>2]=h;c[k+8>>2]=g;mz(b,356309,k)|0;g=c[v>>2]|0;h=g+-16|0;j=c[q>>2]|0;do if((s|0)<=-16){if((u|0)>=-1000999){g=g+(u<<4)|0;break}if((u|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001001-t|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{b=(c[j>>2]|0)+(u<<4)|0;g=b>>>0<g>>>0?b:412368}while(0);i=g+16|0;if(i>>>0<h>>>0){j=h;do{c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];i=i+16|0;j=j+-16|0}while(i>>>0<j>>>0)}if(g>>>0<h>>>0)do{c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);b=7;u=c[v>>2]|0;u=u+-16|0;c[v>>2]=u;l=w;return b|0}}else{h=b+12|0;g=c[h>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[h>>2]|0}h=g+280+(((356298>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(356298,g+16|0)|0){g=QA(b,356298,6)|0;c[h>>2]=g}k=c[v>>2]|0;c[k>>2]=g;c[k+8>>2]=(a[g+4>>0]|64)&255;c[v>>2]=(c[v>>2]|0)+16;c[n+4>>2]=35048}if(xB(n,j)|0){k=c[n>>2]|0;c[n>>2]=k+1;a[n+8+k>>0]=10}g=c[j>>2]|0;i=(e|0)!=0;do if(i&(g|0)==27){h=n+4|0;k=N5(e,c[h>>2]|0)|0;c[h>>2]=k;if(k|0){xB(n,j)|0;g=c[j>>2]|0;break}g=t3(c[105438]|0)|0;h=(kz(b,u,0)|0)+1|0;c[o>>2]=356331;c[o+4>>2]=h;c[o+8>>2]=g;mz(b,356309,o)|0;g=c[v>>2]|0;h=g+-16|0;j=c[q>>2]|0;do if((s|0)<=-16){if((u|0)>=-1000999){g=g+(u<<4)|0;break}if((u|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001001-t|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{b=(c[j>>2]|0)+(u<<4)|0;g=b>>>0<g>>>0?b:412368}while(0);i=g+16|0;if(i>>>0<h>>>0){j=h;do{c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];i=i+16|0;j=j+-16|0}while(i>>>0<j>>>0)}if(g>>>0<h>>>0)do{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);b=7;u=c[v>>2]|0;u=u+-16|0;c[v>>2]=u;l=w;return b|0}while(0);if((g|0)!=-1){o=c[n>>2]|0;c[n>>2]=o+1;a[n+8+o>>0]=g}g=c[v>>2]|0;switch(c[g+-8>>2]&15){case 4:{g=g+-16|0;m=46;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);g=c[v>>2]|0}g=g+-16|0;oA(b,g);m=46;break}default:g=0}if((m|0)==46)g=(c[g>>2]|0)+16|0;e=wz(b,15,n,g,f)|0;g=c[n+4>>2]|0;h=$4(g)|0;if(i)W4(g)|0;if(!h){g=c[v>>2]|0;h=g+-16|0;j=c[q>>2]|0;do if((s|0)<=-16){if((u|0)>=-1000999){g=g+(u<<4)|0;break}if((u|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001001-t|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{b=(c[j>>2]|0)+(u<<4)|0;g=b>>>0<g>>>0?b:412368}while(0);i=g+16|0;if(i>>>0<h>>>0){j=h;do{c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];i=i+16|0;j=j+-16|0}while(i>>>0<j>>>0)}if(g>>>0<h>>>0)do{c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);b=e;u=c[v>>2]|0;u=u+-16|0;c[v>>2]=u;l=w;return b|0}if((s|0)>-32){h=c[c[q>>2]>>2]|0;j=c[v>>2]|0;g=h+(t+2<<4)|0;if(j>>>0<g>>>0){h=(h+(u<<4)+8+4+(3-j)|0)>>>4;i=j;do{c[i+8>>2]=0;i=i+16|0}while(i>>>0<g>>>0);c[v>>2]=j+(h+1<<4)}}else g=(c[v>>2]|0)+(t+2<<4)|0;c[v>>2]=g;g=t3(c[105438]|0)|0;h=(kz(b,u,0)|0)+1|0;c[r>>2]=356338;c[r+4>>2]=h;c[r+8>>2]=g;mz(b,356309,r)|0;g=c[v>>2]|0;h=g+-16|0;j=c[q>>2]|0;do if((s|0)<=-16){if((u|0)>=-1000999){g=g+(u<<4)|0;break}if((u|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001001-t|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{b=(c[j>>2]|0)+(u<<4)|0;g=b>>>0<g>>>0?b:412368}while(0);i=g+16|0;if(i>>>0<h>>>0){j=h;do{c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];i=i+16|0;j=j+-16|0}while(i>>>0<j>>>0)}if(g>>>0<h>>>0)do{c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[r+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[h+12>>2]=c[r+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);b=7;u=c[v>>2]|0;u=u+-16|0;c[v>>2]=u;l=w;return b|0}function xB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[b>>2]=0;f=b+4|0;e=C5(c[f>>2]|0)|0;a:do switch(e|0){case -1:{b=0;e=-1;break}case 239:{e=c[b>>2]|0;c[b>>2]=e+1;a[b+8+e>>0]=-17;e=C5(c[f>>2]|0)|0;switch(e|0){case -1:{b=0;e=-1;break a}case 187:break;default:{g=5;break a}}e=c[b>>2]|0;c[b>>2]=e+1;a[b+8+e>>0]=-69;e=C5(c[f>>2]|0)|0;switch(e|0){case -1:{b=0;e=-1;break a}case 191:break;default:{g=5;break a}}a[(c[b>>2]|0)+(b+8)>>0]=-65;c[b>>2]=0;e=C5(c[f>>2]|0)|0;g=5;break}default:g=5}while(0);if((g|0)==5){c[d>>2]=e;if((e|0)!=35){g=0;return g|0}b:while(1)switch(C5(c[f>>2]|0)|0){case 10:case -1:break b;default:{}}b=1;e=C5(c[f>>2]|0)|0}c[d>>2]=e;g=b;return g|0}function yB(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b>>2]|0;if((a|0)>0){c[d>>2]=a;c[b>>2]=0;b=b+8|0;return b|0}a=b+4|0;if(_4(c[a>>2]|0)|0){b=0;return b|0}b=b+8|0;c[d>>2]=M5(b,1,1024,c[a>>2]|0)|0;return b|0}function zB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=b+4|0;e=c[a>>2]|0;if(!e){b=0;return b|0}c[d>>2]=e;c[a>>2]=0;b=c[b>>2]|0;return b|0}function AB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){b=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}g=-1001e3-b|0;b=c[f>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(g|0)>(d[b+6>>0]|0|0)?412368:b+16+(g+-1<<4)|0}}else{b=(c[f>>2]|0)+(b<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);f=c[b+8>>2]|0;switch(f&15){case 5:{b=(c[b>>2]|0)+24|0;break}case 7:{b=(c[b>>2]|0)+8|0;break}default:b=(c[a+12>>2]|0)+244+((f&15)<<2)|0}b=c[b>>2]|0;if(!b){i=0;l=j;return i|0}h=a+8|0;f=c[h>>2]|0;c[f>>2]=b;c[f+8>>2]=69;c[h>>2]=(c[h>>2]|0)+16;lz(a,e);f=c[h>>2]|0;b=f+-16|0;f=VA(c[f+-32>>2]|0,b)|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=c[h>>2]|0;f=c[b+-8>>2]&15;if(!f){f=0;b=b+-32|0}else{g=b+-16|0;b=b+-32|0;do{c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];b=b+16|0;g=g+-16|0}while(b>>>0<g>>>0);b=(c[h>>2]|0)+-16|0}c[h>>2]=b;i=f;l=j;return i|0}function BB(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+16|0;j=o;if((e+1000999|0)>>>0>1000999){g=a+16|0;k=g;g=c[g>>2]|0}else{k=a+16|0;g=c[k>>2]|0;e=((c[a+8>>2]|0)-(c[g>>2]|0)>>4)+e|0}m=(e|0)>0;do if(!m){if((e|0)>=-1000999){g=(c[a+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[a+12>>2]|0)+40|0;break}h=-1001e3-e|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[g>>2]|0)+(e<<4)|0;g=g>>>0<(c[a+8>>2]|0)>>>0?g:412368}while(0);h=c[g+8>>2]|0;switch(h&15){case 5:{g=(c[g>>2]|0)+24|0;break}case 7:{g=(c[g>>2]|0)+8|0;break}default:g=(c[a+12>>2]|0)+244+((h&15)<<2)|0}g=c[g>>2]|0;if(!g){a=0;l=o;return a|0}i=a+8|0;h=c[i>>2]|0;c[h>>2]=g;c[h+8>>2]=69;c[i>>2]=(c[i>>2]|0)+16;lz(a,f);f=c[i>>2]|0;g=f+-16|0;f=VA(c[f+-32>>2]|0,g)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];g=c[i>>2]|0;if(!(c[g+-8>>2]&15)){c[i>>2]=g+-32;a=0;l=o;return a|0}h=g+-16|0;g=g+-32|0;do{c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);f=(c[i>>2]|0)+-16|0;c[i>>2]=f;h=c[k>>2]|0;do if(!m){if((e|0)>=-1000999){e=f+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[a+12>>2]|0)+40|0;break}g=-1001e3-e|0;e=c[h>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(g|0)>(d[e+6>>0]|0|0)?412368:e+16+(g+-1<<4)|0}}else{e=(c[h>>2]|0)+(e<<4)|0;e=e>>>0<f>>>0?e:412368}while(0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];g=c[i>>2]|0;c[i>>2]=g+16;g=g+-16|0;h=a+106|0;e=(b[h>>1]|0)+1<<16>>16;b[h>>1]=e;if((e&65535)>199){if(e<<16>>16==200)Fz(a,353895,n);if((e&65535)>224)Jz(a,6)}e=a+104|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16;if(!(Nz(a,g,1)|0))jB(a);b[e>>1]=(b[e>>1]|0)+-1<<16>>16;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;a=1;l=o;return a|0}function CB(b){b=b|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;k=n+16|0;j=n;g=(c[c[b+16>>2]>>2]|0)+16|0;m=b+8|0;e=c[m>>2]|0;hB(b,e,g>>>0<e>>>0?g:412368);g=c[m>>2]|0;c[m>>2]=g+16;e=c[g+8>>2]|0;if((e|0)==19){k=g;b=c[k+4>>2]|0;k=c[k>>2]|0;j=c[m>>2]|0;j=j+-16|0;c[m>>2]=j;z=b;l=n;return k|0}a:while(1){switch(e|0){case 3:{i=5;break a}case 19:{i=8;break a}default:{}}if((e&15|0)!=4){i=16;break}i=nA((c[g>>2]|0)+16|0,j)|0;e=c[g>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)!=(e+1|0)){i=16;break}g=j;e=c[j+8>>2]|0}if((i|0)==5){o=+h[g>>3];f=+A(+o);if(!(o!=f)?f>=-9223372036854775808.0&f<9223372036854775808.0:0){g=~~f>>>0;e=+B(f)>=1.0?(f>0.0?~~+P(+A(f/4294967296.0),4294967295.0)>>>0:~~+N((f-+(~~f>>>0))/4294967296.0)>>>0):0;i=15}else i=16}else if((i|0)==8){e=g;g=c[e>>2]|0;e=c[e+4>>2]|0;i=15}if((i|0)==15){b=e;k=g;j=c[m>>2]|0;j=j+-16|0;c[m>>2]=j;z=b;l=n;return k|0}else if((i|0)==16){oB(b,356343,k);b=0;k=0;j=c[m>>2]|0;j=j+-16|0;c[m>>2]=j;z=b;l=n;return k|0}return 0}function DB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+48|0;t=u+32|0;n=u+24|0;p=u+16|0;s=u;a:do if(!(BB(b,e,356375)|0)){r=c[b+16>>2]|0;o=(e|0)>0;do if(o){m=c[r>>2]|0;g=m+(e<<4)|0;i=c[b+8>>2]|0;if(g>>>0<i>>>0)q=10;else q=96}else{if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;q=10;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;q=10;break}m=-1001e3-e|0;g=c[r>>2]|0;if((c[g+8>>2]|0)!=22){i=c[g>>2]|0;if((m|0)>(d[i+6>>0]|0))q=102;else{g=i+16+(m+-1<<4)|0;q=10}}else{g=412368;i=358737}}while(0);do if((q|0)==10){b:do if((g|0)!=412368)switch(c[g+8>>2]&15){case 3:{do if(!o){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;i=c[r>>2]|0;if((c[i+8>>2]|0)==22)g=412368;else{t=c[i>>2]|0;g=(g|0)>(d[t+6>>0]|0)?412368:t+16+(g+-1<<4)|0}}else{g=(c[r>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);if((c[g+8>>2]|0)!=19){do if(!o){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+40|0;break}i=-1001e3-e|0;g=c[r>>2]|0;if((c[g+8>>2]|0)==22)i=412368;else{t=c[g>>2]|0;i=(i|0)>(d[t+6>>0]|0)?412368:t+16+(i+-1<<4)|0}}else{i=(c[r>>2]|0)+(e<<4)|0;i=i>>>0<(c[b+8>>2]|0)>>>0?i:412368}while(0);g=c[i+8>>2]|0;c:do if((g|0)==3)k=+h[i>>3];else do if((g|0)==19){t=i;k=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((g&15|0)==4){m=nA((c[i>>2]|0)+16|0,s)|0;g=c[i>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((m|0)==(g+1|0)){e=(c[s+8>>2]|0)==19;t=s;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;k=e?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}k=0.0;break c}while(0);while(0);h[n>>3]=k;mz(b,356389,n)|0;break a}do if(!o){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001e3-e|0;g=c[r>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0)?412368:g+16+(i+-1<<4)|0}}else{g=(c[r>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);i=c[g+8>>2]|0;do if((i|0)!=19){d:while(1){switch(i|0){case 3:{q=33;break d}case 19:{q=36;break d}default:{}}if((i&15|0)!=4){q=44;break}i=nA((c[g>>2]|0)+16|0,s)|0;g=c[g>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((i|0)!=(g+1|0)){q=44;break}g=s;i=c[s+8>>2]|0}if((q|0)==33){v=+h[g>>3];k=+A(+v);if(!(v!=k)?k>=-9223372036854775808.0&k<9223372036854775808.0:0){i=~~k>>>0;g=+B(k)>=1.0?(k>0.0?~~+P(+A(k/4294967296.0),4294967295.0)>>>0:~~+N((k-+(~~k>>>0))/4294967296.0)>>>0):0;q=43}else q=44}else if((q|0)==36){i=c[g>>2]|0;g=c[g+4>>2]|0;q=43}if((q|0)==43)break;else if((q|0)==44){i=0;g=0;break}}else{i=c[g>>2]|0;g=c[g+4>>2]|0}while(0);t=p;c[t>>2]=i;c[t+4>>2]=g;mz(b,356386,p)|0;break a}case 4:{m=b+8|0;n=c[m>>2]|0;do if(!o){if((e|0)>=-1000999){g=n+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001e3-e|0;g=c[r>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0)?412368:g+16+(i+-1<<4)|0}}else{g=(c[r>>2]|0)+(e<<4)|0;g=g>>>0<n>>>0?g:412368}while(0);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[m>>2]=(c[m>>2]|0)+16;break a}case 1:{do if(!o){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}i=-1001e3-e|0;g=c[r>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0)?412368:g+16+(i+-1<<4)|0}}else{g=(c[r>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);switch(c[g+8>>2]|0){case 0:{g=404649;break}case 1:{g=c[g>>2]|0?405079:404649;break}default:g=405079}lz(b,g);break a}case 0:{i=b+12|0;g=c[i>>2]|0;if((c[g+12>>2]|0)>0){jA(b);g=c[i>>2]|0}i=g+280+(((361168>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(361168,g+16|0)|0){g=QA(b,361168,3)|0;c[i>>2]=g}t=b+8|0;s=c[t>>2]|0;c[s>>2]=g;c[s+8>>2]=(a[g+4>>0]|64)&255;c[t>>2]=(c[t>>2]|0)+16;break a}default:break b}while(0);if(o){m=c[r>>2]|0;i=c[b+8>>2]|0;q=96;break}if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;q=103;break}if((e|0)!=-1001e3){g=c[r>>2]|0;if((c[g+8>>2]|0)==22){g=412368;i=358737;break}else{m=-1001e3-e|0;q=102;break}}else{g=(c[b+12>>2]|0)+40|0;q=103;break}}while(0);if((q|0)==96){g=m+(e<<4)|0;if(g>>>0<i>>>0)q=103;else{g=i;i=358737;q=107}}else if((q|0)==102){i=c[g>>2]|0;if((m|0)>(d[i+6>>0]|0)){i=358737;q=113}else{g=i+16+(m+-1<<4)|0;q=103}}do if((q|0)==103){if((g|0)==412368)g=0;else g=(c[g+8>>2]&15)+1|0;i=c[7100+(g<<2)>>2]|0;if(o){m=c[r>>2]|0;g=c[b+8>>2]|0;q=107;break}if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)!=-1001e3){g=c[r>>2]|0;if((c[g+8>>2]|0)==22){g=412368;break}else{m=-1001e3-e|0;q=113;break}}else{g=(c[b+12>>2]|0)+40|0;break}}while(0);if((q|0)==107){s=m+(e<<4)|0;g=s>>>0<g>>>0?s:412368}else if((q|0)==113){g=c[g>>2]|0;g=(m|0)>(d[g+6>>0]|0)?412368:g+16+(m+-1<<4)|0}switch(c[g+8>>2]&63){case 5:{g=c[g>>2]|0;break}case 6:{g=c[g>>2]|0;break}case 38:{g=c[g>>2]|0;break}case 22:{g=c[g>>2]|0;break}case 8:{g=c[g>>2]|0;break}case 7:{g=(c[g>>2]|0)+24|0;break}case 2:{g=c[g>>2]|0;break}default:g=0}c[t>>2]=i;c[t+4>>2]=g;mz(b,356392,t)|0}while(0);i=b+8|0;g=c[i>>2]|0;switch(c[g+-8>>2]&15){case 4:{g=g+-16|0;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);g=c[i>>2]|0}g=g+-16|0;oA(b,g);break}default:{if(!f){f=0;l=u;return f|0}c[f>>2]=0;f=0;l=u;return f|0}}if(!f)g=c[g>>2]|0;else{g=c[g>>2]|0;if((a[g+4>>0]|0)==4)i=d[g+7>>0]|0;else i=c[g+12>>2]|0;c[f>>2]=i}f=g+16|0;l=u;return f|0}function EB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+16|0;p=t;f=t+4|0;g=e+20|0;c[f>>2]=g;r=a+16|0;m=c[r>>2]|0;s=a+8|0;n=c[s>>2]|0;o=n;do if(((c[a+24>>2]|0)-o>>4|0)>(g|0)){j=n;k=g;q=5}else{if(((o-(c[a+28>>2]|0)>>4)+5|0)<=(999980-e|0)?(Kz(a,201,f)|0)==0:0){j=c[s>>2]|0;k=c[f>>2]|0;q=5;break}c[p>>2]=356399;oB(a,356224,p)}while(0);if((q|0)==5?(h=m+4|0,i=j+(k<<4)|0,(c[h>>2]|0)>>>0<i>>>0):0)c[h>>2]=i;a:do if(c[b>>2]|0){p=-2-e|0;q=0-e|0;if((e|0)<=0){i=(e|0)==0;j=a+12|0;while(1){f=c[b+4>>2]|0;if(i){o=c[s>>2]|0;c[o>>2]=f;g=22;f=o}else{if((c[(c[j>>2]|0)+12>>2]|0)>0)jA(a);h=Xz(a,e)|0;c[h+12>>2]=f;f=(c[s>>2]|0)+(q<<4)|0;c[s>>2]=f;g=e;do{g=g+-1|0;o=h+16+(g<<4)|0;n=f+(g<<4)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];f=c[s>>2]|0}while((g|0)!=0);c[f>>2]=h;g=102}c[f+8>>2]=g;c[s>>2]=(c[s>>2]|0)+16;qz(a,p,c[b>>2]|0);b=b+8|0;if(!(c[b>>2]|0))break a}}j=(e|0)>1000999;k=(q|0)==-1001e3;m=a+12|0;n=e+-1001e3|0;o=e+-1001001|0;do{i=c[s>>2]|0;h=i;g=0;while(1){f=c[r>>2]|0;do if(j){if(k){f=(c[m>>2]|0)+40|0;break}f=c[f>>2]|0;if((c[f+8>>2]|0)==22)f=412368;else{f=c[f>>2]|0;f=(n|0)>(d[f+6>>0]|0|0)?412368:f+16+(o<<4)|0}}else f=h+(q<<4)|0;while(0);c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];f=(c[s>>2]|0)+16|0;c[s>>2]=f;g=g+1|0;if((g|0)==(e|0))break;else{h=f;i=f}}f=c[b+4>>2]|0;if((c[(c[m>>2]|0)+12>>2]|0)>0)jA(a);h=Xz(a,e)|0;c[h+12>>2]=f;g=(c[s>>2]|0)+(q<<4)|0;c[s>>2]=g;f=e;do{f=f+-1|0;i=h+16+(f<<4)|0;u=g+(f<<4)|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];g=c[s>>2]|0}while((f|0)!=0);c[g>>2]=h;c[g+8>>2]=102;c[s>>2]=(c[s>>2]|0)+16;qz(a,p,c[b>>2]|0);b=b+8|0}while((c[b>>2]|0)!=0)}while(0);if((e|0)>=0){u=(c[s>>2]|0)+(0-e<<4)|0;c[s>>2]=u;l=t;return}f=c[c[r>>2]>>2]|0;h=c[s>>2]|0;b=f+(0-e<<4)|0;if(h>>>0>=b>>>0){u=b;c[s>>2]=u;l=t;return}f=(f+(~e<<4)+8+4+(3-h)|0)>>>4;g=h;do{c[g+8>>2]=0;g=g+16|0}while(g>>>0<b>>>0);c[s>>2]=h+(f+1<<4);u=b;c[s>>2]=u;l=t;return}function FB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b+12|0;g=c[j>>2]|0;l=b+8|0;h=c[l>>2]|0;k=(d>>>0)%127|0;f=g+280+(k<<2)|0;e=c[f>>2]|0;if(e3(d,e+16|0)|0){e=QA(b,d,r4(d)|0)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;e=c[l>>2]|0;c[l>>2]=e+16;bB(b,g+40|0,e,e);e=c[l>>2]|0;if((c[e+-8>>2]&15|0)==5)return;c[l>>2]=e+-16;if((c[(c[j>>2]|0)+12>>2]|0)>0)jA(b);h=WA(b)|0;i=c[l>>2]|0;c[i>>2]=h;c[i+8>>2]=69;i=c[l>>2]|0;h=i+16|0;c[l>>2]=h;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];h=c[l>>2]|0;i=h+16|0;c[l>>2]=i;g=c[j>>2]|0;f=g+280+(k<<2)|0;e=c[f>>2]|0;if(e3(d,e+16|0)|0){e=QA(b,d,r4(d)|0)|0;c[f>>2]=e}c[i>>2]=e;c[h+24>>2]=(a[e+4>>0]|64)&255;d=c[l>>2]|0;c[l>>2]=d+16;cB(b,g+40|0,d,d+-16|0);c[l>>2]=(c[l>>2]|0)+-32;return}function GB(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;n=r+16|0;q=r;o=d+12|0;i=c[o>>2]|0;p=d+8|0;j=c[p>>2]|0;h=i+280+(((359488>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(359488,g+16|0)|0){g=QA(d,359488,7)|0;c[h>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;g=c[p>>2]|0;c[p>>2]=g+16;bB(d,i+40|0,g,g);g=c[p>>2]|0;if((c[g+-8>>2]&15|0)!=5){c[p>>2]=g+-16;if((c[(c[o>>2]|0)+12>>2]|0)>0)jA(d);i=WA(d)|0;j=c[p>>2]|0;c[j>>2]=i;c[j+8>>2]=69;j=c[p>>2]|0;i=j+16|0;c[p>>2]=i;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=c[p>>2]|0;j=i+16|0;c[p>>2]=j;k=c[o>>2]|0;h=k+280+(((359488>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(359488,g+16|0)|0){g=QA(d,359488,7)|0;c[h>>2]=g}c[j>>2]=g;c[i+24>>2]=(a[g+4>>0]|64)&255;g=c[p>>2]|0;c[p>>2]=g+16;cB(d,k+40|0,g,g+-16|0);g=(c[p>>2]|0)+-32|0;c[p>>2]=g}k=(e>>>0)%127|0;i=(c[o>>2]|0)+280+(k<<2)|0;h=c[i>>2]|0;if(e3(e,h+16|0)|0){h=QA(d,e,r4(e)|0)|0;c[i>>2]=h}c[g>>2]=h;c[g+8>>2]=(a[h+4>>0]|64)&255;h=c[p>>2]|0;c[p>>2]=h+16;bB(d,g+-16|0,h,h);g=c[p>>2]|0;h=g+-16|0;i=g+-8|0;switch(c[i>>2]|0){case 0:{m=16;break}case 1:{if(!(c[h>>2]|0))m=16;break}default:{}}if((m|0)==16){c[p>>2]=h;c[h>>2]=f;c[i>>2]=22;c[p>>2]=(c[p>>2]|0)+16;lz(d,e);h=(c[p>>2]|0)+-32|0;i=d+106|0;g=(b[i>>1]|0)+1<<16>>16;b[i>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Fz(d,353895,n);if((g&65535)>224)Jz(d,6)}g=d+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(d,h,1)|0))jB(d);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+-1<<16>>16;i=c[p>>2]|0;j=i+-16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=c[p>>2]|0;j=i+16|0;c[p>>2]=j;h=(c[o>>2]|0)+280+(k<<2)|0;g=c[h>>2]|0;if(e3(e,g+16|0)|0){g=QA(d,e,r4(e)|0)|0;c[h>>2]=g}c[j>>2]=g;c[i+24>>2]=(a[g+4>>0]|64)&255;g=c[p>>2]|0;c[p>>2]=g+16;cB(d,i+-32|0,g,g+-16|0);g=(c[p>>2]|0)+-32|0;c[p>>2]=g}h=g+-16|0;g=g+-32|0;do{c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);o=c[p>>2]|0;q=o+-16|0;c[p>>2]=q;o=o+-32|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[p>>2]=(c[p>>2]|0)+16;pz(d,e);l=r;return}function HB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+8256|0;r=z+32|0;q=z+24|0;p=z+16|0;x=z;w=z+40|0;o=r4(e)|0;t=w+12|0;c[t>>2]=b;v=w+16|0;c[w>>2]=v;u=w+8|0;c[u>>2]=0;s=w+4|0;c[s>>2]=8192;j=m5(d,e)|0;if(!j){m=d;g=8192;d=0;h=b}else{i=d;g=8192;d=0;h=b;do{n=j-i|0;if((g-d|0)>>>0<n>>>0){m=g<<1;m=(m-d|0)>>>0<n>>>0?d+n|0:m;if(m>>>0<d>>>0|(m-d|0)>>>0<n>>>0)oB(h,356281,p);g=zz(h,m)|0;s6(g|0,c[w>>2]|0,c[u>>2]|0)|0;if((c[w>>2]|0)!=(v|0)){k=h+8|0;h=c[k>>2]|0;d=h+-16|0;h=h+-32|0;do{c[x>>2]=c[h>>2];c[x+4>>2]=c[h+4>>2];c[x+8>>2]=c[h+8>>2];c[x+12>>2]=c[h+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];h=h+16|0;d=d+-16|0}while(h>>>0<d>>>0);c[k>>2]=(c[k>>2]|0)+-16}c[w>>2]=g;c[s>>2]=m;d=c[u>>2]|0}else g=c[w>>2]|0;s6(g+d|0,i|0,n|0)|0;d=(c[u>>2]|0)+n|0;c[u>>2]=d;m=r4(f)|0;h=c[t>>2]|0;g=c[s>>2]|0;if((g-d|0)>>>0<m>>>0){k=g<<1;k=(k-d|0)>>>0<m>>>0?d+m|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<m>>>0)oB(h,356281,q);g=zz(h,k)|0;s6(g|0,c[w>>2]|0,c[u>>2]|0)|0;if((c[w>>2]|0)!=(v|0)){i=h+8|0;h=c[i>>2]|0;d=h+-16|0;h=h+-32|0;do{c[x>>2]=c[h>>2];c[x+4>>2]=c[h+4>>2];c[x+8>>2]=c[h+8>>2];c[x+12>>2]=c[h+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];h=h+16|0;d=d+-16|0}while(h>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[w>>2]=g;c[s>>2]=k;d=c[u>>2]|0}else g=c[w>>2]|0;s6(g+d|0,f|0,m|0)|0;d=(c[u>>2]|0)+m|0;c[u>>2]=d;i=j+o|0;j=m5(i,e)|0;h=c[t>>2]|0;g=c[s>>2]|0}while((j|0)!=0);m=i}k=r4(m)|0;if((g-d|0)>>>0<k>>>0){j=g<<1;j=(j-d|0)>>>0<k>>>0?d+k|0:j;if(j>>>0<d>>>0|(j-d|0)>>>0<k>>>0)oB(h,356281,r);g=zz(h,j)|0;s6(g|0,c[w>>2]|0,c[u>>2]|0)|0;if((c[w>>2]|0)!=(v|0)){i=h+8|0;h=c[i>>2]|0;d=h+-16|0;h=h+-32|0;do{c[x>>2]=c[h>>2];c[x+4>>2]=c[h+4>>2];c[x+8>>2]=c[h+8>>2];c[x+12>>2]=c[h+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];h=h+16|0;d=d+-16|0}while(h>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[w>>2]=g;c[s>>2]=j;d=c[u>>2]|0}else g=c[w>>2]|0;s6(g+d|0,m|0,k|0)|0;h=(c[u>>2]|0)+k|0;c[u>>2]=h;d=c[t>>2]|0;g=c[w>>2]|0;if((c[(c[d+12>>2]|0)+12>>2]|0)>0)jA(d);u=QA(d,g,h)|0;h=d+8|0;d=c[h>>2]|0;c[d>>2]=u;c[d+8>>2]=(a[u+4>>0]|64)&255;d=c[h>>2]|0;c[h>>2]=d+16;if((c[w>>2]|0)!=(v|0)){g=d;d=d+-16|0;do{c[x>>2]=c[d>>2];c[x+4>>2]=c[d+4>>2];c[x+8>>2]=c[d+8>>2];c[x+12>>2]=c[d+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[g>>2]=c[x>>2];c[g+4>>2]=c[x+4>>2];c[g+8>>2]=c[x+8>>2];c[g+12>>2]=c[x+12>>2];d=d+16|0;g=g+-16|0}while(d>>>0<g>>>0);c[h>>2]=(c[h>>2]|0)+-16}g=b+8|0;d=c[g>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;break}case 3:{y=38;break}default:{y=0;l=z;return y|0}}if((y|0)==38){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);d=c[g>>2]|0}d=d+-16|0;oA(b,d)}y=(c[d>>2]|0)+16|0;l=z;return y|0}function IB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d){C2(b);a=0;return a|0}else{a=D2(b,d)|0;return a|0}return 0}function JB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g;d=a+8|0;b=c[d>>2]|0;switch(c[b+-8>>2]&15){case 4:{b=b+-16|0;e=5;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);b=c[d>>2]|0}b=b+-16|0;oA(a,b);e=5;break}default:b=0}if((e|0)==5)b=(c[b>>2]|0)+16|0;c[f>>2]=b;j5(0,356417,f);X4(34924)|0;l=g;return 0}function KB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+12|0;k=b+8|0;g=c[k>>2]|0;e=c[(c[j>>2]|0)+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)e=(c[e+12>>2]|0)+16|0;else{e=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(h=e+16|0,(c[h>>2]|0)==2&(c[h+4>>2]|0)==0):0)break;f=c[e+28>>2]|0;if(!f){e=412368;break a}e=e+(f<<5)|0}}while(0);c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[k>>2]=(c[k>>2]|0)+16;EB(b,7240,0);g=c[k>>2]|0;h=g+-16|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];g=c[k>>2]|0;h=g+16|0;c[k>>2]=h;f=(c[j>>2]|0)+280+(((356493>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(356493,e+16|0)|0){e=QA(b,356493,2)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;e=c[k>>2]|0;c[k>>2]=e+16;cB(b,g+-16|0,e,e+-16|0);c[k>>2]=(c[k>>2]|0)+-32;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((356496>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(356496,e+16|0)|0){e=QA(b,356496,7)|0;c[f>>2]=e}g=c[k>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[k>>2]|0;h=g+16|0;c[k>>2]=h;f=(c[j>>2]|0)+280+(((356504>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(356504,e+16|0)|0){e=QA(b,356504,8)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;e=c[k>>2]|0;c[k>>2]=e+16;cB(b,g+-16|0,e,e+-16|0);c[k>>2]=(c[k>>2]|0)+-32;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((361168>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(361168,e+16|0)|0){e=QA(b,361168,3)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355268>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355268,e+16|0)|0){e=QA(b,355268,7)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355276>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355276,e+16|0)|0){e=QA(b,355276,8)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355285>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355285,e+16|0)|0){e=QA(b,355285,6)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((361511>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(361511,e+16|0)|0){e=QA(b,361511,6)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355292>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355292,e+16|0)|0){e=QA(b,355292,5)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((361148>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(361148,e+16|0)|0){e=QA(b,361148,8)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355276>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355276,e+16|0)|0){e=QA(b,355276,8)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((355298>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(355298,e+16|0)|0){e=QA(b,355298,6)|0;c[f>>2]=e}h=c[k>>2]|0;c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+16;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+4|0;g=Uh[c[e>>2]&63](c[f>>2]|0,0,6,160)|0;do if(!g){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[e>>2]&63](c[f>>2]|0,0,6,160)|0;if(f|0){i=f;break}Jz(b,4)}else i=g;while(0);g=e+12|0;c[g>>2]=(c[g>>2]|0)+160;a[i+5>>0]=a[e+60>>0]&3;a[i+4>>0]=38;g=e+64|0;c[i>>2]=c[g>>2];c[g>>2]=i;a[i+6>>0]=9;c[i+12>>2]=402;g=c[k>>2]|0;c[k>>2]=g+-144;h=i+144|0;g=g+-16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+128|0;g=(c[k>>2]|0)+112|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+112|0;g=(c[k>>2]|0)+96|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+96|0;g=(c[k>>2]|0)+80|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+80|0;g=(c[k>>2]|0)+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+64|0;g=(c[k>>2]|0)+48|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+48|0;g=(c[k>>2]|0)+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=i+32|0;g=(c[k>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=c[k>>2]|0;g=i+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];g=c[k>>2]|0;c[g>>2]=i;c[g+8>>2]=102;g=c[k>>2]|0;h=g+16|0;c[k>>2]=h;i=g+-16|0;e=(c[j>>2]|0)+280+(((370147>>>0)%127|0)<<2)|0;f=c[e>>2]|0;if(!(e3(370147,f+16|0)|0)){j=f;c[h>>2]=j;j=j+4|0;j=a[j>>0]|0;j=j|64;j=j&255;h=g+24|0;c[h>>2]=j;h=c[k>>2]|0;j=h+16|0;c[k>>2]=j;j=h+-16|0;cB(b,i,h,j);b=c[k>>2]|0;b=b+-32|0;c[k>>2]=b;return 1}else{j=QA(b,370147,4)|0;c[e>>2]=j;c[h>>2]=j;j=j+4|0;j=a[j>>0]|0;j=j|64;j=j&255;h=g+24|0;c[h>>2]=j;h=c[k>>2]|0;j=h+16|0;c[k>>2]=j;j=h+-16|0;cB(b,i,h,j);b=c[k>>2]|0;b=b+-32|0;c[k>>2]=b;return 1}return 0}function LB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+16|0;h=a+8|0;b=c[h>>2]|0;if(g>>>0>=b>>>0|(g|0)==412368){nB(a,1,357826)|0;g=c[h>>2]|0;f=c[c[e>>2]>>2]|0}else g=b;e=f+16|0;if(e>>>0>=g>>>0|(e|0)==412368)b=-1;else b=c[f+24>>2]&15;b=-1001001-b|0;do if((b|0)<=0){if((b|0)>=-1000999){b=g+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}b=-1001e3-b|0;if((c[f+8>>2]|0)==22)b=412368;else{a=c[f>>2]|0;b=(b|0)>(d[a+6>>0]|0|0)?412368:a+16+(b+-1<<4)|0}}else{b=f+(b<<4)|0;b=b>>>0<g>>>0?b:412368}while(0);c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[h>>2]=(c[h>>2]|0)+16;return 1}function MB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o;m=b+16|0;d=c[c[m>>2]>>2]|0;g=d+16|0;n=b+8|0;f=c[n>>2]|0;h=g>>>0<f>>>0;e=h?g:412368;i=f;switch(c[e+8>>2]|0){case 0:break;case 1:{if(c[e>>2]|0)j=3;break}default:j=3}if((j|0)==3){b=i-g>>4;l=o;return b|0}if((g|0)==412368|h^1){nB(b,1,357826)|0;f=c[n>>2]|0;d=c[c[m>>2]>>2]|0}e=f+-16|0;d=d+16|0;d=d>>>0<f>>>0?d:412368;f=d+16|0;if(f>>>0<e>>>0){g=e;do{c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0)}if(d>>>0<e>>>0)do{c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];d=d+16|0;e=e+-16|0}while(d>>>0<e>>>0);c[n>>2]=(c[n>>2]|0)+-16;e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((356949>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(356949,d+16|0)|0){d=QA(b,356949,17)|0;c[e>>2]=d}g=c[n>>2]|0;c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;g=(c[n>>2]|0)+16|0;c[n>>2]=g;d=c[c[m>>2]>>2]|0;f=d+32|0;if(g>>>0<f>>>0){d=(d+24+4+(3-g)|0)>>>4;e=g;do{c[e+8>>2]=0;e=e+16|0}while(e>>>0<f>>>0);c[n>>2]=g+(d+1<<4)}c[n>>2]=f;PB(b)|0;b=0;l=o;return b|0}function NB(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;g=b+16|0;f=c[c[g>>2]>>2]|0;i=f+16|0;n=b+8|0;e=c[n>>2]|0;a:do if(!(i>>>0>=e>>>0|(i|0)==412368)?(j=c[f+24>>2]|0,(j&15|0)!=0):0){switch(j&15){case 4:{e=i;break}case 3:{k=4;break}default:{qB(b,1,361511);e=0;break a}}if((k|0)==4){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[g>>2]>>2]|0;e=c[n>>2]|0}k=f+16|0;e=k>>>0<e>>>0?k:412368;oA(b,e)}e=(c[e>>2]|0)+16|0}else e=356893;while(0);if(e3(356901,e)|0)if(e3(356906,e)|0)if(e3(356893,e)|0)if(e3(371186,e)|0)if(e3(356914,e)|0)if(e3(356919,e)|0)if(e3(356928,e)|0)if(!(e3(356939,e)|0))e=7;else{c[m>>2]=e;e=nB(b,1,mz(b,356204,m)|0)|0}else e=6;else e=5;else e=4;else e=3;else e=2;else e=1;else e=0;m=c[7440+(e<<2)>>2]|0;e=tB(b,2,0,0)|0;f=c[b+12>>2]|0;b:do switch(m|0){case 0:{a[f+63>>0]=0;e=0;k=27;break}case 1:{e=f+12|0;k=f+8|0;c[k>>2]=(c[e>>2]|0)+(c[k>>2]|0);c[e>>2]=0;a[f+63>>0]=1;e=0;k=27;break}case 2:{kA(b,0);e=0;k=27;break}case 3:{k=c[f+8>>2]|0;m=c[f+12>>2]|0;b=c[n>>2]|0;h[b>>3]=+((m+k|0)>>>10|0)+ +(m+k&1023|0)*.0009765625;k=3;m=b+8|0;c[m>>2]=k;b=b+16|0;c[n>>2]=b;l=o;return 1}case 4:{e=(c[f+12>>2]|0)+(c[f+8>>2]|0)&1023;k=27;break}case 5:{g=f+63|0;i=a[g>>0]|0;a[g>>0]=1;do if(e){e=e<<10;k=f+12|0;m=(c[k>>2]|0)+e|0;j=f+8|0;c[j>>2]=(c[j>>2]|0)-e;c[k>>2]=m;if((m|0)>0){jA(b);break}else{a[g>>0]=i;e=0;k=26;break b}}else{m=f+12|0;k=f+8|0;c[k>>2]=(c[m>>2]|0)+1600+(c[k>>2]|0);c[m>>2]=-1600;jA(b)}while(0);a[g>>0]=i;e=(a[f+61>>0]|0)==7&1;k=26;break}case 6:{b=f+124|0;k=c[b>>2]|0;c[b>>2]=e;e=k;k=27;break}case 7:{b=f+128|0;k=c[b>>2]|0;c[b>>2]=(e|0)>40?e:40;e=k;k=27;break}case 9:{e=d[f+63>>0]|0;k=26;break}default:{e=-1;k=27}}while(0);if((k|0)==26){b=c[n>>2]|0;c[b>>2]=(e|0)!=0&1;k=1;m=b+8|0;c[m>>2]=k;b=b+16|0;c[n>>2]=b;l=o;return 1}else if((k|0)==27){b=c[n>>2]|0;k=b;c[k>>2]=e;c[k+4>>2]=((e|0)<0)<<31>>31;k=19;m=b+8|0;c[m>>2]=k;b=b+16|0;c[n>>2]=b;l=o;return 1}return 0}function OB(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n+8|0;i=n;k=a+16|0;e=c[c[k>>2]>>2]|0;f=e+16|0;m=a+8|0;d=c[m>>2]|0;a:do if(!(f>>>0>=d>>>0|(f|0)==412368)?(g=c[e+24>>2]|0,(g&15|0)!=0):0){switch(g&15){case 4:{d=f;break}case 3:{h=4;break}default:{qB(a,1,361511);f=0;break a}}if((h|0)==4){if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);e=c[c[k>>2]>>2]|0;d=c[m>>2]|0}h=e+16|0;d=h>>>0<d>>>0?h:412368;oA(a,d)}f=(c[d>>2]|0)+16|0}else f=0;while(0);d=c[c[k>>2]>>2]|0;g=c[m>>2]|0;h=d+32|0;if(g>>>0<h>>>0){d=(d+24+4+(3-g)|0)>>>4;e=g;do{c[e+8>>2]=0;e=e+16|0}while(e>>>0<h>>>0);c[m>>2]=g+(d+1<<4)}c[m>>2]=h;if(wB(a,f,0)|0)Gz(a);h=(c[m>>2]|0)+-16|0;f=a+104|0;g=b[f>>1]|0;if(!(g<<16>>16)){d=c[k>>2]|0;c[d+16>>2]=16;c[d+24>>2]=0;d=a+106|0;e=(b[d>>1]|0)+1<<16>>16;b[d>>1]=e;if((e&65535)>199){if(e<<16>>16==200)Fz(a,353895,i);if((e&65535)>224)Jz(a,6)}if(!(Nz(a,h,-1)|0))jB(a)}else{d=a+106|0;e=(b[d>>1]|0)+1<<16>>16;b[d>>1]=e;if((e&65535)>199){if(e<<16>>16==200)Fz(a,353895,j);if((e&65535)>224)Jz(a,6)}b[f>>1]=g+1<<16>>16;if(!(Nz(a,h,-1)|0))jB(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[d>>1]=(b[d>>1]|0)+-1<<16>>16;f=c[k>>2]|0;g=f+4|0;d=c[m>>2]|0;e=d;if((c[g>>2]|0)>>>0>=d>>>0){m=c[f>>2]|0;m=m+16|0;m=e-m|0;m=m>>4;m=m+-1|0;l=n;return m|0}c[g>>2]=d;m=c[f>>2]|0;m=m+16|0;m=e-m|0;m=m>>4;m=m+-1|0;l=n;return m|0}function PB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+112|0;m=k;k=k+8|0;e=tB(b,2,1,0)|0;o=b+16|0;g=c[c[o>>2]>>2]|0;p=b+8|0;h=c[p>>2]|0;i=g+32|0;if(h>>>0<i>>>0){d=(g+24+4+(3-h)|0)>>>4;f=h;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<i>>>0);c[p>>2]=h+(d+1<<4)}c[p>>2]=i;if(!((e|0)>0?((c[g+24>>2]&15)+-3|0)>>>0<2:0))Gz(b);d=c[o>>2]|0;f=b+48|0;if((e|0)!=0&(d|0)!=(f|0)){do{i=e;e=e+-1|0;d=c[d+8>>2]|0}while((i|0)>1&(d|0)!=(f|0));if(!((e|0)!=0|(d|0)==(f|0))?(c[k+96>>2]=d,Bz(b,356151,k)|0,j=c[k+20>>2]|0,(j|0)>0):0){c[m>>2]=k+36;c[m+4>>2]=j;mz(b,356154,m)|0;f=c[p>>2]|0;d=b+12|0;e=f}else n=11}else n=11;if((n|0)==11){f=b+12|0;d=c[f>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[f>>2]|0}e=d+280+(((436559>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(436559,d+16|0)|0){d=QA(b,436559,0)|0;c[e>>2]=d}n=c[p>>2]|0;c[n>>2]=d;c[n+8>>2]=(a[d+4>>0]|64)&255;n=(c[p>>2]|0)+16|0;c[p>>2]=n;d=f;e=n;f=n}o=(c[c[o>>2]>>2]|0)+16|0;o=o>>>0<e>>>0?o:412368;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[p>>2]=(c[p>>2]|0)+16;if((c[(c[d>>2]|0)+12>>2]|0)>0)jA(b);gB(b,2);Gz(b);return 0}function QB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+16|0;b=c[c[e>>2]>>2]|0;f=b+16|0;g=a+8|0;d=c[g>>2]|0;if(f>>>0>=d>>>0|(f|0)==412368){nB(a,1,357826)|0;f=c[g>>2]|0;b=c[c[e>>2]>>2]|0}else f=d;b=b+16|0;b=b>>>0<f>>>0?b:412368;d=c[b+8>>2]|0;switch(d&15){case 5:{b=(c[b>>2]|0)+24|0;break}case 7:{b=(c[b>>2]|0)+8|0;break}default:b=(c[a+12>>2]|0)+244+((d&15)<<2)|0}b=c[b>>2]|0;if(!b){c[f+8>>2]=0;c[g>>2]=f+16;return 1}else{c[f>>2]=b;c[f+8>>2]=69;c[g>>2]=(c[g>>2]|0)+16;AB(a,1,356667)|0;return 1}return 0}function RB(a){a=a|0;var b=0;b=(AB(a,1,359878)|0)!=0;gC(a,356884,1,b?404:403);return 3}function SB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;i=a+16|0;d=c[c[i>>2]>>2]|0;b=d+16|0;j=a+8|0;f=c[j>>2]|0;a:do if(!(b>>>0>=f>>>0|(b|0)==412368)?(e=c[d+24>>2]|0,(e&15|0)!=0):0){switch(e&15){case 4:break;case 3:{h=4;break}default:{qB(a,1,361511);f=0;break a}}if((h|0)==4){if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[i>>2]>>2]|0;b=c[j>>2]|0}else b=f;f=d+16|0;b=f>>>0<b>>>0?f:412368;oA(a,b)}f=(c[b>>2]|0)+16|0}else f=0;while(0);d=c[c[i>>2]>>2]|0;e=d+32|0;b=c[j>>2]|0;b:do if(!(e>>>0>=b>>>0|(e|0)==412368)?(g=c[d+40>>2]|0,(g&15|0)!=0):0){switch(g&15){case 4:{b=e;break}case 3:{h=12;break}default:{qB(a,2,361511);b=0;break b}}if((h|0)==12){if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[i>>2]>>2]|0;b=c[j>>2]|0}h=d+32|0;b=h>>>0<b>>>0?h:412368;oA(a,b)}b=(c[b>>2]|0)+16|0}else b=0;while(0);e=(c[c[i>>2]>>2]|0)+48|0;e=(e|0)!=412368?e>>>0<(c[j>>2]|0)>>>0:0;d=e?3:0;if(wB(a,f,b)|0){d=c[j>>2]|0;c[d+8>>2]=0;c[j>>2]=d+16;b=d;d=d+-16|0;do{c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];d=d+16|0;b=b+-16|0}while(d>>>0<b>>>0);k=2;l=m;return k|0}if(!e){k=1;l=m;return k|0}k=c[j>>2]|0;i=(c[c[i>>2]>>2]|0)+(d<<4)|0;i=i>>>0<k>>>0?i:412368;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];c[j>>2]=(c[j>>2]|0)+16;if(Az(a,-2,1)|0){k=1;l=m;return k|0}c[j>>2]=(c[j>>2]|0)+-16;k=1;l=m;return k|0}function TB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;r=b+16|0;f=c[c[r>>2]>>2]|0;g=f+16|0;s=b+8|0;e=c[s>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;q=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[r>>2]>>2]|0;e=c[s>>2]|0}q=f+16|0;e=q>>>0<e>>>0?q:412368;oA(b,e);q=5;break}default:{j=0;g=0}}if((q|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)g=d[e+7>>0]|0;else g=c[e+12>>2]|0;j=e+16|0;f=c[c[r>>2]>>2]|0;e=c[s>>2]|0}h=f+48|0;a:do if(!(h>>>0>=e>>>0|(h|0)==412368)?(i=c[f+56>>2]|0,(i&15|0)!=0):0){switch(i&15){case 4:{e=h;break}case 3:{q=12;break}default:{qB(b,3,361511);k=0;break a}}if((q|0)==12){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[r>>2]>>2]|0;e=c[s>>2]|0}n=f+48|0;e=n>>>0<e>>>0?n:412368;oA(b,e)}k=(c[e>>2]|0)+16|0}else k=356810;while(0);f=c[c[r>>2]>>2]|0;n=f+64|0;e=c[s>>2]|0;if(n>>>0>=e>>>0|(n|0)==412368)h=-1;else h=c[f+72>>2]&15;m=(h|0)!=-1;n=m?4:0;h=f+32|0;i=h>>>0>=e>>>0|(h|0)==412368;if(!j){b:do if(!i?(p=c[f+40>>2]|0,(p&15|0)!=0):0){switch(p&15){case 4:{e=h;break}case 3:{q=32;break}default:{qB(b,2,361511);i=0;break b}}if((q|0)==32){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[r>>2]>>2]|0;e=c[s>>2]|0}q=f+32|0;e=q>>>0<e>>>0?q:412368;oA(b,e)}i=(c[e>>2]|0)+16|0}else i=356813;while(0);e=c[c[r>>2]>>2]|0;q=e+16|0;f=c[s>>2]|0;if(!(!(q>>>0>=f>>>0|(q|0)==412368)?(c[e+24>>2]&15|0)==6:0)){qB(b,1,361148);e=c[c[r>>2]>>2]|0;f=c[s>>2]|0}h=e+96|0;if(f>>>0<h>>>0){e=(e+88+4+(3-f)|0)>>>4;g=f;do{c[g+8>>2]=0;g=g+16|0}while(g>>>0<h>>>0);c[s>>2]=f+(e+1<<4)}c[s>>2]=h;e=wz(b,17,0,i,k)|0}else{c:do if(!i?(o=c[f+40>>2]|0,(o&15|0)!=0):0){switch(o&15){case 4:{e=h;break}case 3:{q=23;break}default:{qB(b,2,361511);e=0;break c}}if((q|0)==23){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[r>>2]>>2]|0;e=c[s>>2]|0}q=f+32|0;e=q>>>0<e>>>0?q:412368;oA(b,e)}e=(c[e>>2]|0)+16|0}else e=j;while(0);c[t>>2]=j;c[t+4>>2]=g;e=wz(b,6,t,e,k)|0}if(e|0){f=c[s>>2]|0;c[f+8>>2]=0;c[s>>2]=f+16;e=f;f=f+-16|0;do{c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);t=2;l=u;return t|0}if(!m){t=1;l=u;return t|0}t=c[s>>2]|0;r=(c[c[r>>2]>>2]|0)+(n<<4)|0;r=r>>>0<t>>>0?r:412368;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[s>>2]=(c[s>>2]|0)+16;if(Az(b,-2,1)|0){t=1;l=u;return t|0}c[s>>2]=(c[s>>2]|0)+-16;t=1;l=u;return t|0}function UB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+16|0;d=c[c[b>>2]>>2]|0;f=d+16|0;g=a+8|0;e=c[g>>2]|0;if(!(!(f>>>0>=e>>>0|(f|0)==412368)?(c[d+24>>2]&15|0)==5:0)){qB(a,1,355292);d=c[c[b>>2]>>2]|0;e=c[g>>2]|0}f=d+48|0;if(e>>>0<f>>>0){b=(d+40+4+(3-e)|0)>>>4;d=e;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<f>>>0);c[g>>2]=e+(b+1<<4)}c[g>>2]=f;if(xz(a,1)|0){a=2;return a|0}a=c[g>>2]|0;c[a+8>>2]=0;c[g>>2]=a+16;a=1;return a|0}function VB(a){a=a|0;gC(a,356802,0,254);return 3}function WB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;b=c[c[g>>2]>>2]|0;f=b+16|0;h=a+8|0;d=c[h>>2]|0;if(f>>>0>=d>>>0|(f|0)==412368){nB(a,1,357826)|0;b=c[c[g>>2]>>2]|0;d=c[h>>2]|0}c[d>>2]=1;c[d+8>>2]=1;c[h>>2]=d+16;b=b>>>0<d>>>0?b+16|0:412368;e=d+-16|0;if(b>>>0<e>>>0){f=b;do{c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0)}if(b>>>0<d>>>0)do{c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];b=b+16|0;d=d+-16|0}while(b>>>0<d>>>0);if((uz(a,((c[h>>2]|0)-((c[c[g>>2]>>2]|0)+16)>>4)+-2|0,-1,0,0,18)|0)>>>0>1){a=c[h>>2]|0;c[a>>2]=0;c[a+8>>2]=1;i=a+16|0;c[h>>2]=i;a=a+-16|0;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=(c[h>>2]|0)+16;i=2;l=j;return i|0}else{i=(c[h>>2]|0)-((c[c[g>>2]>>2]|0)+16)>>4;l=j;return i|0}return 0}function XB(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;s=t+8|0;r=t;n=e+8|0;j=c[n>>2]|0;o=e+16|0;m=j-((c[c[o>>2]>>2]|0)+16)|0;p=m>>4;q=e+12|0;i=c[q>>2]|0;f=c[i+40>>2]|0;k=j;a:do if((c[f+8>>2]|0)>>>0>1)h=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(h=g+16|0,(c[h>>2]|0)==2&(c[h+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){h=412368;break a}g=g+(f<<5)|0}h=g}while(0);g=i+280+(((356626>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(356626,f+16|0)|0){f=QA(e,356626,8)|0;c[g>>2]=f}c[j>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[n>>2]|0;c[n>>2]=k+16;bB(e,h,k,k);b:do if((m|0)>=16){h=e+106|0;i=e+104|0;f=c[n>>2]|0;j=1;c:while(1){g=f+-16|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=(c[n>>2]|0)+16|0;c[n>>2]=f;g=(c[c[o>>2]>>2]|0)+(j<<4)|0;g=g>>>0<f>>>0?g:412368;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=c[n>>2]|0;c[n>>2]=f+16;f=f+-16|0;g=(b[h>>1]|0)+1<<16>>16;b[h>>1]=g;if((g&65535)>199){if(g<<16>>16==200){f=16;break}if((g&65535)>224){f=18;break}}b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(Nz(e,f,1)|0))jB(e);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;f=c[n>>2]|0;switch(c[f+-8>>2]&15){case 4:{f=f+-16|0;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(e);f=c[n>>2]|0}f=f+-16|0;oA(e,f);break}default:{f=29;break c}}g=c[f>>2]|0;if((a[g+4>>0]|0)==4)f=d[g+7>>0]|0;else f=c[g+12>>2]|0;if((j|0)>1)L5(9,35172);L4(g+16|0,1,f,35172)|0;f=(c[n>>2]|0)+-16|0;c[n>>2]=f;if((j|0)>=(p|0))break b;else j=j+1|0}if((f|0)==16)Fz(e,353895,r);else if((f|0)==18)Jz(e,6);else if((f|0)==29){oB(e,356759,s);l=t;return 0}}while(0);L5(10,35172);X4(35172)|0;l=t;return 0}function YB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+16|0;b=c[c[d>>2]>>2]|0;g=b+16|0;f=a+8|0;e=c[f>>2]|0;if(g>>>0>=e>>>0|(g|0)==412368){nB(a,1,357826)|0;e=c[f>>2]|0;b=c[c[d>>2]>>2]|0}g=b+32|0;if(g>>>0>=e>>>0|(g|0)==412368){nB(a,2,357826)|0;b=c[c[d>>2]>>2]|0;e=c[f>>2]|0}d=b+16|0;d=d>>>0<e>>>0?d:412368;b=b+32|0;b=b>>>0<e>>>0?b:412368;if(!((d|0)!=412368&(b|0)!=412368)){a=0;g=e;a=a&1;c[g>>2]=a;a=g+8|0;c[a>>2]=1;g=g+16|0;c[f>>2]=g;return 1}a=(fB(0,d,b)|0)!=0;g=c[f>>2]|0;a=a&1;c[g>>2]=a;a=g+8|0;c[a>>2]=1;g=g+16|0;c[f>>2]=g;return 1}function ZB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;e=a+16|0;b=c[c[e>>2]>>2]|0;h=b+16|0;g=a+8|0;f=c[g>>2]|0;if(!(h>>>0>=f>>>0|(h|0)==412368)?(c[b+24>>2]&14|0)==4:0)e=f;else{nB(a,1,356734)|0;b=c[c[e>>2]>>2]|0;e=c[g>>2]|0}b=b+16|0;b=b>>>0<e>>>0?b:412368;switch(c[b+8>>2]&63){case 4:{b=d[(c[b>>2]|0)+7>>0]|0;break}case 20:{b=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{b=c[(c[b>>2]|0)+12>>2]|0;break}case 5:{b=XA(c[b>>2]|0)|0;break}default:b=0}h=e;c[h>>2]=b;c[h+4>>2]=0;c[e+8>>2]=19;c[g>>2]=e+16;return 1}function _B(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+16|0;b=c[c[e>>2]>>2]|0;f=b+16|0;g=a+8|0;d=c[g>>2]|0;if(!(!(f>>>0>=d>>>0|(f|0)==412368)?(c[b+24>>2]&15|0)==5:0)){qB(a,1,355292);b=c[c[e>>2]>>2]|0;d=c[g>>2]|0}f=b+32|0;if(f>>>0>=d>>>0|(f|0)==412368){nB(a,2,357826)|0;b=c[c[e>>2]>>2]|0;d=c[g>>2]|0}e=b+48|0;if(d>>>0<e>>>0){a=(b+40+4+(3-d)|0)>>>4;f=d;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<e>>>0);c[g>>2]=d+(a+1<<4)}c[g>>2]=e;g=b+32|0;f=VA(c[b+16>>2]|0,g)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];return 1}function $B(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+16|0;d=c[c[f>>2]>>2]|0;h=d+16|0;i=b+8|0;e=c[i>>2]|0;if(!(!(h>>>0>=e>>>0|(h|0)==412368)?(c[d+24>>2]&15|0)==5:0)){qB(b,1,355292);d=c[c[f>>2]>>2]|0;e=c[i>>2]|0}h=d+32|0;if(h>>>0>=e>>>0|(h|0)==412368){nB(b,2,357826)|0;d=c[c[f>>2]>>2]|0;e=c[i>>2]|0}h=d+48|0;if(h>>>0>=e>>>0|(h|0)==412368){nB(b,3,357826)|0;d=c[c[f>>2]>>2]|0;e=c[i>>2]|0}f=d+64|0;if(e>>>0<f>>>0){g=(d+56+4+(3-e)|0)>>>4;h=e;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<f>>>0);c[i>>2]=e+(g+1<<4)}c[i>>2]=f;g=c[d+16>>2]|0;e=d+32|0;d=VA(g,e)|0;if((d|0)==412368)d=UA(b,g,e)|0;h=(c[i>>2]|0)+-16|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a[g+6>>0]=0;d=c[i>>2]|0;if(!(c[d+-8>>2]&64)){b=d+-32|0;c[i>>2]=b;return 1}e=g+5|0;f=a[e>>0]|0;if(!(f&4)){b=d+-32|0;c[i>>2]=b;return 1}if(!(a[(c[d+-16>>2]|0)+5>>0]&3)){b=d+-32|0;c[i>>2]=b;return 1}b=c[b+12>>2]|0;a[e>>0]=f&-5;b=b+80|0;c[g+28>>2]=c[b>>2];c[b>>2]=g;b=d+-32|0;c[i>>2]=b;return 1}function aC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+8|0;d=c[j>>2]|0;g=b+16|0;e=c[c[g>>2]>>2]|0;h=e+16|0;k=d-h>>4;if(!(h>>>0>=d>>>0|(h|0)==412368)?(f=c[e+24>>2]|0,(f&15|0)==4):0){switch(f&15){case 4:{d=h;i=7;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[g>>2]>>2]|0;d=c[j>>2]|0}i=e+16|0;d=i>>>0<d>>>0?i:412368;oA(b,d);i=7;break}default:d=0}if((i|0)==7)d=(c[d>>2]|0)+16|0;if((a[d>>0]|0)==35){i=k+-1|0;b=c[j>>2]|0;k=b;c[k>>2]=i;c[k+4>>2]=((i|0)<0)<<31>>31;c[b+8>>2]=19;c[j>>2]=b+16;b=1;return b|0}}d=sB(b,1)|0;j=z;g=(j|0)<0;i=((k|0)<0)<<31>>31;f=b6(d|0,j|0,k|0,i|0)|0;h=(j|0)>(i|0)|(j|0)==(i|0)&d>>>0>k>>>0;d=g?f:h?k:d;j=g?z:h?i:j;if(!((j|0)>0|(j|0)==0&d>>>0>0))nB(b,1,356715)|0;b=k-d|0;return b|0}function bC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i;b=a+16|0;e=c[c[b>>2]>>2]|0;d=e+32|0;h=a+8|0;f=c[h>>2]|0;if(d>>>0>=f>>>0|(d|0)==412368)d=-1;else d=c[e+40>>2]&15;j=e+16|0;if(!(!(j>>>0>=f>>>0|(j|0)==412368)?(c[e+24>>2]&15|0)==5:0))qB(a,1,355292);switch(d|0){case 0:case 5:break;default:nB(a,2,357308)|0}if(AB(a,1,356667)|0){oB(a,356679,g);l=i;return 1}b=c[c[b>>2]>>2]|0;e=c[h>>2]|0;f=b+48|0;if(e>>>0<f>>>0){b=(b+40+4+(3-e)|0)>>>4;d=e;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<f>>>0);c[h>>2]=e+(b+1<<4)}c[h>>2]=f;tz(a,1);l=i;return 1}function cC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+16|0;f=c[c[j>>2]>>2]|0;m=f+32|0;o=b+8|0;e=c[o>>2]|0;if(!(m>>>0>=e>>>0|(m|0)==412368)?(c[f+40>>2]&15|0)!=0:0){m=sB(b,2)|0;h=z;f=c[c[j>>2]>>2]|0;l=f+16|0;e=c[o>>2]|0;if(!(!(l>>>0>=e>>>0|(l|0)==412368)?(c[f+24>>2]&15|0)==4:0)){qB(b,1,361511);f=c[c[j>>2]>>2]|0;e=c[o>>2]|0}g=f+16|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;n=28;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[j>>2]>>2]|0;e=c[o>>2]|0}n=f+16|0;e=n>>>0<e>>>0?n:412368;oA(b,e);n=28;break}default:{qB(b,1,361511);l=0;k=0}}if((n|0)==28){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;l=e+16|0;k=f}j=b6(m|0,h|0,-2,-1)|0;i=z;if(!(i>>>0<0|(i|0)==0&j>>>0<35))nB(b,2,356642)|0;e=B5(l,356660)|0;f=l+e|0;switch(a[f>>0]|0){case 45:{f=l+(e+1)|0;b=1;break}case 43:{f=l+(e+1)|0;b=0;break}default:b=0}e=a[f>>0]|0;a:do if(!(K3(e&255)|0)){g=0;f=0;e=0}else{i=((m|0)<0)<<31>>31;h=0;j=0;while(1){g=e&255;if((g+-48|0)>>>0<10)e=(e<<24>>24)+-48|0;else e=(Y2(g)|0)+-55|0;if((e|0)>=(m|0)){g=0;f=0;e=0;break a}g=h6(h|0,j|0,m|0,i|0)|0;h=b6(e|0,((e|0)<0)<<31>>31|0,g|0,z|0)|0;j=z;g=f+1|0;e=a[g>>0]|0;if(!(K3(e&255)|0))break;else f=g}g=f+((B5(g,356660)|0)+1)|0;e=(b|0)!=0;f=c6(0,0,h|0,j|0)|0;f=e?f:h;e=e?z:j}while(0);if((g|0)==(l+k|0)){m=c[o>>2]|0;l=m;c[l>>2]=f;c[l+4>>2]=e;c[m+8>>2]=19;e=m+16|0}else n=48}else n=3;b:do if((n|0)==3){m=f+16|0;if(m>>>0>=e>>>0|(m|0)==412368){nB(b,1,357826)|0;f=c[c[j>>2]>>2]|0;i=c[o>>2]|0}else i=e;e=f+16|0;g=e>>>0<i>>>0;if(!((e|0)==412368|g^1)?(h=f+24|0,(c[h>>2]&15|0)==3):0){e=f+32|0;if(i>>>0>=e>>>0)break;f=(h+4+(3-i)|0)>>>4;g=i;do{c[g+8>>2]=0;g=g+16|0}while(g>>>0<e>>>0);c[o>>2]=i+(f+1<<4);break}e=g?e:412368;switch(c[e+8>>2]&15){case 4:break;case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[j>>2]>>2]|0;e=c[o>>2]|0}else e=i;n=f+16|0;e=n>>>0<e>>>0?n:412368;oA(b,e);break}default:{n=48;break b}}e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;e=nA(e+16|0,c[o>>2]|0)|0;if(e|0)c[o>>2]=(c[o>>2]|0)+16;if((e|0)==(f+1|0))return 1;else n=48}while(0);if((n|0)==48){e=c[o>>2]|0;c[e+8>>2]=0;e=e+16|0}c[o>>2]=e;return 1}function dC(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+16|0;if(!((b|0)==412368?1:b>>>0>=(c[a+8>>2]|0)>>>0)){DB(a,1,0)|0;return 1}nB(a,1,357826)|0;DB(a,1,0)|0;return 1}function eC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;g=a+8|0;b=c[g>>2]|0;h=a+16|0;d=c[c[h>>2]>>2]|0;i=b-(d+16)>>4;f=d+32|0;if(!(!(f>>>0>=b>>>0|(f|0)==412368)?(c[d+40>>2]&15|0)==6:0)){qB(a,2,361148);b=c[g>>2]|0;d=c[c[h>>2]>>2]|0}c[b>>2]=1;c[b+8>>2]=1;e=b+16|0;c[g>>2]=e;d=d>>>0<b>>>0?d+16|0:412368;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=c[g>>2]|0;e=d+16|0;c[g>>2]=e;b=(c[c[h>>2]>>2]|0)+48|0;b=b>>>0<e>>>0?b:412368;e=d+-32|0;if(b>>>0<e>>>0){f=b;do{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0)}e=d;f=d+-16|0;do{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);if(b>>>0<d>>>0)do{c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];b=b+16|0;d=d+-16|0}while(b>>>0<d>>>0);if((uz(a,i+-2|0,-1,2,2,18)|0)>>>0>1){a=c[g>>2]|0;c[a>>2]=0;c[a+8>>2]=1;j=a+16|0;c[g>>2]=j;a=a+-16|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[g>>2]=(c[g>>2]|0)+16;j=2;l=k;return j|0}else{j=((c[g>>2]|0)-((c[c[h>>2]>>2]|0)+16)>>4)+-2|0;l=k;return j|0}return 0}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+8|0;if(b>>>0>1){d=c[e>>2]|0;c[d>>2]=0;c[d+8>>2]=1;b=d+16|0;c[e>>2]=b;d=d+-16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[e>>2]=(c[e>>2]|0)+16;b=2;return b|0}else{b=((c[e>>2]|0)-((c[c[a+16>>2]>>2]|0)+16)>>4)-d|0;return b|0}return 0}function gC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;if(!(AB(a,1,d)|0)){g=a+16|0;i=c[c[g>>2]>>2]|0;k=i+16|0;h=a+8|0;d=c[h>>2]|0;if(!(!(k>>>0>=d>>>0|(k|0)==412368)?(c[i+24>>2]&15|0)==5:0)){qB(a,1,355292);d=c[h>>2]|0}c[d>>2]=f;c[d+8>>2]=22;k=c[h>>2]|0;d=k+16|0;c[h>>2]=d;g=c[c[g>>2]>>2]|0;g=g>>>0<k>>>0?g+16|0:412368;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];d=c[h>>2]|0;g=d+16|0;c[h>>2]=g;if(!e){c[d+24>>2]=0;c[h>>2]=d+32;l=j;return}else{k=g;c[k>>2]=0;c[k+4>>2]=0;c[d+24>>2]=19;c[h>>2]=d+32;l=j;return}}h=a+8|0;g=c[h>>2]|0;d=(c[c[a+16>>2]>>2]|0)+16|0;d=d>>>0<g>>>0?d:412368;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];g=c[h>>2]|0;c[h>>2]=g+16;g=g+-16|0;h=a+106|0;d=(b[h>>1]|0)+1<<16>>16;b[h>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(a,353895,i);if((d&65535)>224)Jz(a,6)}d=a+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(a,g,3)|0))jB(a);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;l=j;return}function hC(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;o=r+16|0;n=r+8|0;i=r;j=r+20|0;c[j>>2]=22;p=e+16|0;k=c[p>>2]|0;q=e+8|0;f=c[q>>2]|0;h=f;do if(((c[e+24>>2]|0)-h|0)>352){i=f;f=22;m=5}else{if(((h-(c[e+28>>2]|0)>>4)+5|0)<=999978?(Kz(e,201,j)|0)==0:0){i=c[q>>2]|0;f=c[j>>2]|0;m=5;break}c[i>>2]=356821;oB(e,356224,i);f=c[q>>2]|0;h=f}while(0);if((m|0)==5){h=k+4|0;f=i+(f<<4)|0;if((c[h>>2]|0)>>>0<f>>>0)c[h>>2]=f;h=i;f=i}i=(c[c[p>>2]>>2]|0)+16|0;h=i>>>0<h>>>0?i:412368;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=c[q>>2]|0;c[q>>2]=h+16;i=e+106|0;f=(b[i>>1]|0)+1<<16>>16;b[i>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(e,353895,n);if((f&65535)>224)Jz(e,6)}f=e+104|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Nz(e,h,1)|0))jB(e);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+-1<<16>>16;f=c[q>>2]|0;i=f+-16|0;h=c[f+-8>>2]|0;if((i|0)!=412368&(h&15|0)==0){c[q>>2]=i;c[g>>2]=0;g=0;l=r;return g|0}if(((h&15)+-3|0)>>>0>=2){oB(e,356847,o);f=c[q>>2]|0}h=f+-16|0;i=(c[c[p>>2]>>2]|0)+80|0;i=i>>>0<f>>>0?i:412368;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];i=(c[q>>2]|0)+-16|0;c[q>>2]=i;h=c[c[p>>2]>>2]|0;f=h+80|0;f=f>>>0<i>>>0?f:412368;switch(c[f+8>>2]&15){case 4:break;case 3:{if((c[(c[e+12>>2]|0)+12>>2]|0)>0){jA(e);h=c[c[p>>2]>>2]|0;f=c[q>>2]|0}else f=i;q=h+80|0;f=q>>>0<f>>>0?q:412368;oA(e,f);break}default:{if(!g){g=0;l=r;return g|0}c[g>>2]=0;g=0;l=r;return g|0}}if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;if((a[f+4>>0]|0)==4)h=d[f+7>>0]|0;else h=c[f+12>>2]|0;c[g>>2]=h}g=f+16|0;l=r;return g|0}function iC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=sB(a,2)|0;i=b6(i|0,z|0,1,0)|0;h=z;b=a+8|0;f=c[b>>2]|0;d=f;c[d>>2]=i;c[d+4>>2]=h;c[f+8>>2]=19;d=f+16|0;e=c[c[a+16>>2]>>2]|0;g=d;c[g>>2]=i;c[g+4>>2]=h;c[f+24>>2]=19;c[b>>2]=f+32;bB(a,e>>>0<f>>>0?e+16|0:412368,d,d);return ((c[(c[b>>2]|0)+-8>>2]&15|0)==0?1:2)|0}function jC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=sB(a,2)|0;h=z;i=b6(g|0,h|0,1,0)|0;j=z;f=a+16|0;b=c[c[f>>2]>>2]|0;l=b+16|0;k=a+8|0;e=c[k>>2]|0;if(!(!(l>>>0>=e>>>0|(l|0)==412368)?(c[b+24>>2]&15|0)==5:0)){qB(a,1,355292);e=c[k>>2]|0;b=c[c[f>>2]>>2]|0}a=e;c[a>>2]=i;c[a+4>>2]=j;c[e+8>>2]=19;a=e+16|0;c[k>>2]=a;b=c[(b>>>0<e>>>0?b+16|0:412368)>>2]|0;a:do if(h>>>0<0|((h|0)==0?g>>>0<(c[b+8>>2]|0)>>>0:0))b=(c[b+12>>2]|0)+(g<<4)|0;else{b=(c[b+16>>2]|0)+(((1<<(d[b+7>>0]|0))+-1&i)<<5)|0;while(1){if((c[b+24>>2]|0)==19?(l=b+16|0,(c[l>>2]|0)==(i|0)?(c[l+4>>2]|0)==(j|0):0):0)break;e=c[b+28>>2]|0;if(!e){b=412368;break a}b=b+(e<<5)|0}}while(0);c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=c[k>>2]|0;c[k>>2]=l+16;return ((c[l+8>>2]&15|0)==0?1:2)|0}function kC(a,b,d){a=a|0;b=b|0;d=d|0;return ((c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+16)>>4)+-1|0}function lC(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if(a|0?(c[(c[a+12>>2]|0)+140>>2]|0)!=384:0)oB(a,356467,b);if((c[(c[a+12>>2]|0)+12>>2]|0)>0)jA(a);b=WA(a)|0;e=a+8|0;f=c[e>>2]|0;c[f>>2]=b;c[f+8>>2]=69;c[e>>2]=(c[e>>2]|0)+16;TA(a,b,0,7);EB(a,7472,0);l=d;return 1}function mC(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+16|0;d=c[c[b>>2]>>2]|0;f=d+16|0;e=a+8|0;if(!(!((f|0)==412368?1:f>>>0>=(c[e>>2]|0)>>>0)?(c[d+24>>2]&15|0)==6:0))qB(a,1,361148);d=LA(a)|0;f=c[e>>2]|0;b=(c[c[b>>2]>>2]|0)+16|0;b=b>>>0<f>>>0?b:412368;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];b=c[e>>2]|0;c[e>>2]=b+16;if((d|0)==(a|0))return 1;c[e>>2]=b;f=d+8|0;a=c[f>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[f>>2]=(c[f>>2]|0)+16;return 1}function nC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+16|0;f=c[c[i>>2]>>2]|0;e=f+16|0;h=a+8|0;g=c[h>>2]|0;e=e>>>0<g>>>0?e:412368;if((c[e+8>>2]|0)==72?(b=c[e>>2]|0,(b|0)!=0):0)e=g;else{nB(a,1,357104)|0;f=c[c[i>>2]>>2]|0;e=c[h>>2]|0;b=0}f=uC(a,b,(e-(f+16)>>4)+-1|0)|0;g=c[h>>2]|0;if((f|0)<0){c[g>>2]=0;c[g+8>>2]=1;c[h>>2]=g+16;e=g;b=g+-16|0;do{c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];b=b+16|0;e=e+-16|0}while(b>>>0<e>>>0);j=2;l=k;return j|0}c[g>>2]=1;c[g+8>>2]=1;e=g+16|0;c[h>>2]=e;h=f+1|0;b=c[i>>2]|0;do if((f|0)>1000998){if((f|0)==1000999){b=(c[a+12>>2]|0)+40|0;break}b=c[b>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(f+-1000999|0)>(d[b+6>>0]|0|0)?412368:b+16+(f+-1001e3<<4)|0}}else b=e+(~f<<4)|0;while(0);e=g+-16|0;if(b>>>0<e>>>0){f=b;do{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0)}if(b>>>0<g>>>0){e=g;do{c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];b=b+16|0;e=e+-16|0}while(b>>>0<e>>>0)}j=h;l=k;return j|0}function oC(a){a=a|0;var b=0,d=0;b=a+8|0;d=c[b>>2]|0;c[d>>2]=a;c[d+8>>2]=72;d=c[b>>2]|0;c[d+16>>2]=(c[(c[a+12>>2]|0)+136>>2]|0)==(a|0)&1;c[d+24>>2]=1;c[b>>2]=d+32;return 2}function pC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=(c[c[b+16>>2]>>2]|0)+16|0;i=b+8|0;d=d>>>0<(c[i>>2]|0)>>>0?d:412368;if(!((c[d+8>>2]|0)==72?(e=c[d>>2]|0,(e|0)!=0):0)){nB(b,1,357104)|0;e=0}a:do if((e|0)==(b|0)){e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((356981>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(356981,d+16|0)|0))break;else{d=QA(b,356981,7)|0;c[e>>2]=d;break}}else switch(a[e+6>>0]|0){case 1:{e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((357120>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(357120,d+16|0)|0))break a;else{d=QA(b,357120,9)|0;c[e>>2]=d;break a}}case 0:{h=c[e+16>>2]|0;if((h|0)!=(e+48|0)){e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((357130>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(357130,d+16|0)|0))break a;else{d=QA(b,357130,6)|0;c[e>>2]=d;break a}}f=b+12|0;d=c[f>>2]|0;g=(c[d+12>>2]|0)>0;if((c[e+8>>2]|0)==((c[h>>2]|0)+16|0)){if(g){jA(b);d=c[f>>2]|0}e=d+280+(((357137>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(357137,d+16|0)|0))break a;else{d=QA(b,357137,4)|0;c[e>>2]=d;break a}}else{if(g){jA(b);d=c[f>>2]|0}e=d+280+(((357120>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(357120,d+16|0)|0))break a;else{d=QA(b,357120,9)|0;c[e>>2]=d;break a}}}default:{e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((357137>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(!(e3(357137,d+16|0)|0))break a;else{d=QA(b,357137,4)|0;c[e>>2]=d;break a}}}while(0);b=c[i>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+16;return 1}function qC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+16|0;f=c[c[d>>2]>>2]|0;e=f+16|0;g=b+8|0;if(!(!((e|0)==412368?1:e>>>0>=(c[g>>2]|0)>>>0)?(c[f+24>>2]&15|0)==6:0))qB(b,1,361148);e=LA(b)|0;f=c[g>>2]|0;d=(c[c[d>>2]>>2]|0)+16|0;d=d>>>0<f>>>0?d:412368;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=c[g>>2]|0;c[g>>2]=d+16;if((e|0)!=(b|0)){c[g>>2]=d;f=e+8|0;e=c[f>>2]|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[f>>2]=(c[f>>2]|0)+16}d=b+12|0;e=c[d>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[d>>2]|0}d=e+4|0;f=Uh[c[e>>2]&63](c[d>>2]|0,0,6,32)|0;if(!f){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);d=Uh[c[e>>2]&63](c[d>>2]|0,0,6,32)|0;if(!d)Jz(b,4);else h=d}else h=f;f=e+12|0;c[f>>2]=(c[f>>2]|0)+32;a[h+5>>0]=a[e+60>>0]&3;a[h+4>>0]=38;f=e+64|0;c[h>>2]=c[f>>2];c[f>>2]=h;a[h+6>>0]=1;c[h+12>>2]=405;f=(c[g>>2]|0)+-16|0;c[g>>2]=f;b=h+16|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=c[g>>2]|0;c[b>>2]=h;c[b+8>>2]=102;c[g>>2]=(c[g>>2]|0)+16;return 1}function rC(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;e=c[d+8>>2]|0;f=c[d+16>>2]|0;g=c[f>>2]|0;h=e-(g+16)>>4;if(!(b[d+104>>1]|0)){a[d+6>>0]=1;c[f+28>>2]=g-(c[d+28>>2]|0);if(!(a[f+34>>0]&2)){c[f+16>>2]=0;c[f>>2]=e+(~h<<4);Jz(d,1)}else{l=k;return 0}}else if((c[(c[d+12>>2]|0)+136>>2]|0)==(d|0))Fz(d,353992,j);else Fz(d,353950,i);return 0}function sC(a){a=a|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[e>>2]=(b[a+104>>1]|0)==0&1;c[e+8>>2]=1;c[d>>2]=e+16;return 1}function tC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+112|0;j=g+104|0;m=g;f=b+16|0;e=c[c[f>>2]>>2]|0;if((c[e+8>>2]|0)==22)d=412368;else{d=c[e>>2]|0;d=(a[d+6>>0]|0)==0?412368:d+16|0}if((c[d+8>>2]|0)==72)d=c[d>>2]|0;else d=0;k=b+8|0;d=uC(b,d,(c[k>>2]|0)-(e+16)>>4)|0;if((d|0)>=0){l=g;return d|0}if(((c[(c[k>>2]|0)+-8>>2]&15)+-3|0)>>>0>=2)Gz(b);e=c[f>>2]|0;d=b+48|0;if(((e|0)!=(d|0)?(i=c[e+8>>2]|0,(i|0)!=(d|0)):0)?(c[m+96>>2]=i,Bz(b,356151,m)|0,h=c[m+20>>2]|0,(h|0)>0):0){c[j>>2]=m+36;c[j+4>>2]=h;mz(b,356154,j)|0;d=c[k>>2]|0}else{e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((436559>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(436559,d+16|0)|0){d=QA(b,436559,0)|0;c[e>>2]=d}j=c[k>>2]|0;c[j>>2]=d;c[j+8>>2]=(a[d+4>>0]|64)&255;d=(c[k>>2]|0)+16|0;c[k>>2]=d}e=d+-16|0;d=d+-32|0;do{c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];d=d+16|0;e=e+-16|0}while(d>>>0<e>>>0);if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);gB(b,2);Gz(b);return 0}function uC(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+16|0;G=J+4|0;E=J;c[G>>2]=h;H=g+16|0;m=c[H>>2]|0;I=g+8|0;j=c[I>>2]|0;k=j;do if(((c[g+24>>2]|0)-k>>4|0)>(h|0)){n=h;o=k}else{if(((k-(c[g+28>>2]|0)>>4)+5|0)<=(1e6-h|0)?(Kz(g,201,G)|0)==0:0){o=c[I>>2]|0;j=o;n=c[G>>2]|0;break}j=f+12|0;i=c[j>>2]|0;if((c[i+12>>2]|0)>0){jA(f);i=c[j>>2]|0}j=i+280+(((357019>>>0)%127|0)<<2)|0;i=c[j>>2]|0;if(e3(357019,i+16|0)|0){i=QA(f,357019,28)|0;c[j>>2]=i}f=f+8|0;I=c[f>>2]|0;c[I>>2]=i;c[I+8>>2]=(a[i+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+16;f=-1;l=J;return f|0}while(0);k=m+4|0;j=j+(n<<4)|0;if((c[k>>2]|0)>>>0<j>>>0)c[k>>2]=j;A=g+6|0;if((a[A>>0]|0)==0?(o|0)==((c[c[H>>2]>>2]|0)+16|0):0){j=f+12|0;i=c[j>>2]|0;if((c[i+12>>2]|0)>0){jA(f);i=c[j>>2]|0}j=i+280+(((357048>>>0)%127|0)<<2)|0;i=c[j>>2]|0;if(e3(357048,i+16|0)|0){i=QA(f,357048,28)|0;c[j>>2]=i}f=f+8|0;I=c[f>>2]|0;c[I>>2]=i;c[I+8>>2]=(a[i+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+16;f=-1;l=J;return f|0}F=(f|0)==(g|0);if((!F?(q=f+8|0,p=(c[q>>2]|0)+(0-h<<4)|0,c[q>>2]=p,(h|0)>0):0)?(i=c[I>>2]|0,c[i>>2]=c[p>>2],c[i+4>>2]=c[p+4>>2],c[i+8>>2]=c[p+8>>2],c[i+12>>2]=c[p+12>>2],i=(c[I>>2]|0)+16|0,c[I>>2]=i,(h|0)!=1):0){j=1;do{z=(c[q>>2]|0)+(j<<4)|0;c[i>>2]=c[z>>2];c[i+4>>2]=c[z+4>>2];c[i+8>>2]=c[z+8>>2];c[i+12>>2]=c[z+12>>2];i=(c[I>>2]|0)+16|0;c[I>>2]=i;j=j+1|0}while((j|0)!=(h|0))}c[G>>2]=h;x=g+104|0;y=b[x>>1]|0;if(!f)i=1;else i=(e[f+106>>1]|0)+1&65535;z=g+106|0;b[z>>1]=i;b[x>>1]=0;i=Kz(g,202,G)|0;c[E>>2]=i;a:do if((i|0)!=-1){if((i|0)>1){r=g+28|0;s=g+109|0;t=g+92|0;u=g+88|0;w=g+12|0;v=g+32|0;b:while(1){j=c[H>>2]|0;if(!j)break;while(1){o=j+34|0;if(a[o>>0]&16)break;j=c[j+8>>2]|0;if(!j){D=59;break b}}p=c[r>>2]|0;q=c[j+28>>2]|0;h=p+q|0;k=c[v>>2]|0;c:do if(k|0)do{m=c[k>>2]|0;if(m>>>0<h>>>0)break c;n=k+8|0;c[v>>2]=c[n>>2];if(c[k+4>>2]|0){c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[k>>2]=n;if((c[k+16>>2]&64|0?(B=c[w>>2]|0,C=c[n>>2]|0,(d[B+61>>0]|0)<2):0)?a[C+5>>0]&3:0)$z(B,C)}else{n=c[w>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,k,24,0)|0;n=n+12|0;c[n>>2]=(k|0?-24:0)+(c[n>>2]|0)}k=c[v>>2]|0}while((k|0)!=0);while(0);switch(i|0){case 4:{n=c[(c[w>>2]|0)+144>>2]|0;c[h>>2]=n;c[p+(q+8)>>2]=(a[n+4>>0]|64)&255;break}case 6:{n=QA(g,353871,23)|0;c[h>>2]=n;c[p+(q+8)>>2]=(a[n+4>>0]|64)&255;break}default:{n=(c[I>>2]|0)+-16|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2]}}k=p+(q+16)|0;c[I>>2]=k;c[H>>2]=j;a[s>>0]=a[o>>0]&1;b[x>>1]=0;i=j;do{h=c[i+4>>2]|0;k=k>>>0<h>>>0?h:k;i=c[i+8>>2]|0}while((i|0)!=0);p=k-(c[r>>2]|0)|0;o=(p>>4)+1|0;o=((o|0)/8|0)+10+o|0;o=(o|0)<1e6?o:1e6;k=j+12|0;i=c[k>>2]|0;d:do if((c[t>>2]|0)>1e6){c[k>>2]=0;if(i|0)do{q=i;i=c[i+12>>2]|0;h=c[w>>2]|0;Uh[c[h>>2]&63](c[h+4>>2]|0,q,36,0)|0;h=h+12|0;c[h>>2]=(q|0?-36:0)+(c[h>>2]|0)}while((i|0)!=0)}else if(i|0){m=j;do{n=m;m=c[i+12>>2]|0;if(!m)break d;h=c[w>>2]|0;Uh[c[h>>2]&63](c[h+4>>2]|0,i,36,0)|0;h=h+12|0;c[h>>2]=(i|0?-36:0)+(c[h>>2]|0);c[k>>2]=m;c[m+8>>2]=n;k=m+12|0;i=c[k>>2]|0}while((i|0)!=0)}while(0);if((p|0)<=15999984?(o|0)<(c[t>>2]|0):0)Lz(g,o);c[u>>2]=c[j+20>>2];i=Kz(g,203,E)|0;c[E>>2]=i;if((i|0)<=1)break a}if((D|0)==59?(i|0)<=1:0)break;a[A>>0]=i;j=c[I>>2]|0;switch(i|0){case 4:{i=c[(c[w>>2]|0)+144>>2]|0;c[j>>2]=i;c[j+8>>2]=(a[i+4>>0]|64)&255;i=4;break}case 6:{i=QA(g,353871,23)|0;c[j>>2]=i;c[j+8>>2]=(a[i+4>>0]|64)&255;i=c[E>>2]|0;break}default:{E=j+-16|0;c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2]}}E=j+16|0;c[I>>2]=E;c[(c[H>>2]|0)+4>>2]=E}}else{c[E>>2]=2;i=2}while(0);b[x>>1]=y;b[z>>1]=(b[z>>1]|0)+-1<<16>>16;if(i>>>0>=2){if(F){f=-1;l=J;return f|0}H=(c[I>>2]|0)+-16|0;c[I>>2]=H;f=f+8|0;I=c[f>>2]|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[f>>2]=(c[f>>2]|0)+16;f=-1;l=J;return f|0}o=(c[I>>2]|0)-((c[c[H>>2]>>2]|0)+16)|0;i=o>>4;j=i+1|0;c[G>>2]=j;n=c[f+16>>2]|0;p=f+8|0;m=c[p>>2]|0;k=m;do if(((c[f+24>>2]|0)-k>>4|0)<=(j|0)){if(((k-(c[f+28>>2]|0)>>4)+5|0)<=(999999-i|0)?(Kz(f,201,G)|0)==0:0){m=c[p>>2]|0;j=c[G>>2]|0;break}k=~i;if((o|0)<0){j=c[c[H>>2]>>2]|0;m=c[I>>2]|0;i=j+(0-i<<4)|0;if(m>>>0<i>>>0){j=(j+(k<<4)+8+4+(3-m)|0)>>>4;k=m;do{c[k+8>>2]=0;k=k+16|0}while(k>>>0<i>>>0);c[I>>2]=m+(j+1<<4)}}else i=(c[I>>2]|0)+(0-i<<4)|0;c[I>>2]=i;j=f+12|0;i=c[j>>2]|0;if((c[i+12>>2]|0)>0){jA(f);i=c[j>>2]|0}j=i+280+(((357077>>>0)%127|0)<<2)|0;i=c[j>>2]|0;if(e3(357077,i+16|0)|0){i=QA(f,357077,26)|0;c[j>>2]=i}f=c[p>>2]|0;c[f>>2]=i;c[f+8>>2]=(a[i+4>>0]|64)&255;c[p>>2]=(c[p>>2]|0)+16;f=-1;l=J;return f|0}while(0);k=n+4|0;j=m+(j<<4)|0;if((c[k>>2]|0)>>>0<j>>>0)c[k>>2]=j;if(F){f=i;l=J;return f|0}j=(c[I>>2]|0)+(0-i<<4)|0;c[I>>2]=j;if((o|0)<=0){f=i;l=J;return f|0}f=c[p>>2]|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];j=(c[p>>2]|0)+16|0;c[p>>2]=j;if((i|0)==1){f=1;l=J;return f|0}else k=1;do{f=(c[I>>2]|0)+(k<<4)|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];j=(c[p>>2]|0)+16|0;c[p>>2]=j;k=k+1|0}while((k|0)!=(i|0));l=J;return i|0}function vC(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if(a|0?(c[(c[a+12>>2]|0)+140>>2]|0)!=384:0)oB(a,356467,b);if((c[(c[a+12>>2]|0)+12>>2]|0)>0)jA(a);b=WA(a)|0;e=a+8|0;f=c[e>>2]|0;c[f>>2]=b;c[f+8>>2]=69;c[e>>2]=(c[e>>2]|0)+16;TA(a,b,0,16);EB(a,7536,0);l=d;return 1}function wC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+272|0;r=s;q=s+8|0;p=s+16|0;L4(357593,11,1,34924)|0;X4(34924)|0;if(!(Z4(p,250)|0)){l=s;return 0}i=q+4|0;j=a+8|0;k=q+4|0;m=a+28|0;n=a+16|0;o=a+12|0;while(1){if(!(e3(p,357605)|0)){h=17;break}g=r4(p)|0;c[q>>2]=p;c[i>>2]=g;if(!((wz(a,6,q,357611,0)|0)==0?(g=(c[j>>2]|0)+-16|0,c[q>>2]=g,c[k>>2]=0,!(Tz(a,151,q,g-(c[m>>2]|0)|0,0)|0)):0)){b=c[j>>2]|0;switch(c[b+-8>>2]&15){case 4:{b=b+-16|0;h=10;break}case 3:{if((c[(c[o>>2]|0)+12>>2]|0)>0){jA(a);b=c[j>>2]|0}b=b+-16|0;oA(a,b);h=10;break}default:b=0}if((h|0)==10){h=0;b=(c[b>>2]|0)+16|0}c[r>>2]=b;j5(0,357628,r);X4(34924)|0}b=c[c[n>>2]>>2]|0;d=c[j>>2]|0;e=b+16|0;if(d>>>0<e>>>0){f=(b+8+4+(3-d)|0)>>>4;g=d;while(1){c[g+8>>2]=0;if(g>>>0<b>>>0)g=g+16|0;else break}c[j>>2]=d+(f+1<<4)}c[j>>2]=e;L4(357593,11,1,34924)|0;X4(34924)|0;if(!(Z4(p,250)|0)){h=17;break}}if((h|0)==17){l=s;return 0}return 0}function xC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=c[c[a+16>>2]>>2]|0;e=f+16|0;a=a+8|0;b=c[a>>2]|0;if(!(e>>>0>=b>>>0|(e|0)==412368)?(c[f+24>>2]&15|0)==7:0){f=c[e>>2]|0;h=f+16|0;g=c[h+4>>2]|0;e=b;c[e>>2]=c[h>>2];c[e+4>>2]=g;c[b+8>>2]=d[f+6>>0];f=c[a>>2]|0;f=f+16|0;c[a>>2]=f;return 1}c[b+8>>2]=0;h=b;h=h+16|0;c[a>>2]=h;return 1}function yC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;j=r+16|0;m=r;q=r+20|0;f=c[c[b+16>>2]>>2]|0;g=f+16|0;p=b+8|0;h=c[p>>2]|0;if(!(g>>>0>=h>>>0|(g|0)==412368)?(e=c[f+24>>2]|0,(e&15|0)==8):0)if((e|0)==72)o=c[g>>2]|0;else o=0;else o=b;n=d[o+108>>0]|0;e=c[o+84>>2]|0;do if(!e){c[h+8>>2]=0;e=h+16|0}else{if((e|0)!=204){f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}f=e+280+(((357579>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357579,e+16|0)|0){e=QA(b,357579,13)|0;c[f>>2]=e}m=c[p>>2]|0;c[m>>2]=e;c[m+8>>2]=(a[e+4>>0]|64)&255;e=(c[p>>2]|0)+16|0;break}k=(c[b+12>>2]|0)+40|0;c[m>>2]=415620;c[m+8>>2]=2;k=VA(c[k>>2]|0,m)|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[p>>2]=(c[p>>2]|0)+16;k=(o|0)==(b|0);a:do if(k)e=o+8|0;else{c[m>>2]=1;i=c[o+16>>2]|0;e=o+8|0;f=c[e>>2]|0;g=f;do if(((c[o+24>>2]|0)-g|0)>16)h=1;else{if(((g-(c[o+28>>2]|0)>>4)+5|0)<=999999?(Kz(o,201,m)|0)==0:0){f=c[e>>2]|0;h=c[m>>2]|0;break}oB(b,357349,j);break a}while(0);g=i+4|0;f=f+(h<<4)|0;if((c[g>>2]|0)>>>0<f>>>0)c[g>>2]=f}while(0);f=c[e>>2]|0;c[f>>2]=o;c[f+8>>2]=72;f=c[e>>2]|0;c[e>>2]=f+16;if(k)e=c[p>>2]|0;else{c[e>>2]=f;e=c[p>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=(c[p>>2]|0)+16|0;c[p>>2]=e}f=e+-16|0;e=VA(c[e+-32>>2]|0,f)|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];f=c[p>>2]|0;e=f+-16|0;f=f+-32|0;do{c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);e=(c[p>>2]|0)+-16|0}while(0);c[p>>2]=e;if(!(n&1))e=0;else{a[q>>0]=99;e=1}if(n&2){a[q+e>>0]=114;e=e+1|0}if(n&4){a[q+e>>0]=108;e=e+1|0}a[q+e>>0]=0;f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}e=e+280+(((q>>>0)%127|0)<<2)|0;f=c[e>>2]|0;if(!(e3(q,f+16|0)|0)){m=f;q=c[p>>2]|0;c[q>>2]=m;m=m+4|0;m=a[m>>0]|0;m=m|64;m=m&255;q=q+8|0;c[q>>2]=m;q=c[p>>2]|0;m=o+96|0;m=c[m>>2]|0;o=(m|0)<0;o=o<<31>>31;b=q+16|0;n=b;c[n>>2]=m;b=b+4|0;c[b>>2]=o;b=q+24|0;c[b>>2]=19;q=q+32|0;c[p>>2]=q;l=r;return 3}else{m=QA(b,q,r4(q)|0)|0;c[e>>2]=m;q=c[p>>2]|0;c[q>>2]=m;m=m+4|0;m=a[m>>0]|0;m=m|64;m=m&255;q=q+8|0;c[q>>2]=m;q=c[p>>2]|0;m=o+96|0;m=c[m>>2]|0;o=(m|0)<0;o=o<<31>>31;b=q+16|0;n=b;c[n>>2]=m;b=b+4|0;c[b>>2]=o;b=q+24|0;c[b>>2]=19;q=q+32|0;c[p>>2]=q;l=r;return 3}return 0}function zC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+128|0;n=t+24|0;k=t+16|0;r=t;q=t+28|0;o=b+16|0;f=c[c[o>>2]>>2]|0;g=f+16|0;s=b+8|0;e=c[s>>2]|0;a:do if(!(g>>>0>=e>>>0|(g|0)==412368)?(h=c[f+24>>2]|0,(h&15|0)==8):0){if((h|0)==72)m=c[g>>2]|0;else m=0;g=f+48|0;b:do if(!(g>>>0>=e>>>0|(g|0)==412368)?(j=c[f+56>>2]|0,(j&15|0)!=0):0){switch(j&15){case 4:{e=g;break}case 3:{p=16;break}default:{qB(b,3,361511);i=0;break b}}if((p|0)==16){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[o>>2]>>2]|0;e=c[s>>2]|0}j=f+48|0;e=j>>>0<e>>>0?j:412368;oA(b,e)}i=(c[e>>2]|0)+16|0}else i=357432;while(0);if((m|0)==(b|0)){m=b;j=3;k=1;e=2}else{c[r>>2]=3;h=c[m+16>>2]|0;f=m+8|0;e=c[f>>2]|0;g=e;do if(((c[m+24>>2]|0)-g|0)>48)g=3;else{if(((g-(c[m+28>>2]|0)>>4)+5|0)<=999997?(Kz(m,201,r)|0)==0:0){e=c[f>>2]|0;g=c[r>>2]|0;break}oB(b,357349,k);j=3;k=0;e=2;break a}while(0);f=h+4|0;e=e+(g<<4)|0;if((c[f>>2]|0)>>>0<e>>>0)c[f>>2]=e;j=3;k=0;e=2}}else p=3;while(0);c:do if((p|0)==3){g=f+32|0;if(!(g>>>0>=e>>>0|(g|0)==412368)?(i=c[f+40>>2]|0,(i&15|0)!=0):0){switch(i&15){case 4:break;case 3:{p=6;break}default:{qB(b,2,361511);m=b;j=2;k=1;e=1;i=0;break c}}if((p|0)==6){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[o>>2]>>2]|0;e=c[s>>2]|0}g=f+32|0;g=g>>>0<e>>>0?g:412368;oA(b,g)}m=b;j=2;k=1;e=1;i=(c[g>>2]|0)+16|0}else{m=b;j=2;k=1;e=1;i=357432}}while(0);h=c[c[o>>2]>>2]|0;g=h+(e<<4)|0;if(!((g|0)==412368?1:g>>>0>=(c[s>>2]|0)>>>0)?(c[h+(e<<4)+8>>2]&15|0)==6:0){c[n>>2]=i;f=mz(b,357439,n)|0;n=c[s>>2]|0;e=(c[c[o>>2]>>2]|0)+(e<<4)|0;e=e>>>0<n>>>0?e:412368;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];e=c[s>>2]|0;c[s>>2]=e+16;if((m|0)==(b|0))i=f;else{c[s>>2]=e;i=m+8|0;o=c[i>>2]|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];c[i>>2]=(c[i>>2]|0)+16;i=f}}else p=34;do if((p|0)==34){e=sB(b,e)|0;if((e|0)>=0){f=c[m+16>>2]|0;h=m+48|0;if((e|0)!=0&(f|0)!=(h|0)){g=e;while(1){e=g+-1|0;f=c[f+8>>2]|0;if((g|0)>1&(f|0)!=(h|0))g=e;else break}}if(!((e|0)!=0|(f|0)==(h|0))){c[q+96>>2]=f;break}}b=c[s>>2]|0;c[b+8>>2]=0;c[s>>2]=b+16;b=1;l=t;return b|0}while(0);if(!(Bz(m,i,q)|0)){b=nB(b,j,357443)|0;l=t;return b|0}j=b+12|0;if((c[(c[j>>2]|0)+12>>2]|0)>0)jA(b);p=WA(b)|0;g=c[s>>2]|0;c[g>>2]=p;c[g+8>>2]=69;g=(c[s>>2]|0)+16|0;c[s>>2]=g;if(s4(i,83)|0){lz(b,c[q+16>>2]|0);g=c[s>>2]|0;f=(c[j>>2]|0)+280+(((357458>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357458,e+16|0)|0){e=QA(b,357458,6)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;e=c[s>>2]|0;c[s>>2]=e+16;cB(b,g+-32|0,e,e+-16|0);c[s>>2]=(c[s>>2]|0)+-32;g=q+36|0;e=c[j>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[j>>2]|0}f=e+280+(((g>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(g,e+16|0)|0){e=QA(b,g,r4(g)|0)|0;c[f>>2]=e}g=c[s>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[s>>2]|0;h=g+16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357465>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357465,e+16|0)|0){e=QA(b,357465,9)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-16|0,f,f+-16|0);g=c[s>>2]|0;f=c[q+24>>2]|0;h=g+-32|0;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;c[g+-24>>2]=19;h=g+-16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357475>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357475,e+16|0)|0){e=QA(b,357475,11)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-48|0,f,f+-16|0);g=c[s>>2]|0;f=c[q+28>>2]|0;h=g+-32|0;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;c[g+-24>>2]=19;h=g+-16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357487>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357487,e+16|0)|0){e=QA(b,357487,15)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-48|0,f,f+-16|0);c[s>>2]=(c[s>>2]|0)+-32;lz(b,c[q+12>>2]|0);g=c[s>>2]|0;f=(c[j>>2]|0)+280+(((357503>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357503,e+16|0)|0){e=QA(b,357503,4)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;p=c[s>>2]|0;c[s>>2]=p+16;cB(b,g+-32|0,p,p+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(s4(i,108)|0){f=c[q+20>>2]|0;h=g;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;c[g+8>>2]=19;h=g+16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357508>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357508,e+16|0)|0){e=QA(b,357508,11)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;p=c[s>>2]|0;c[s>>2]=p+16;cB(b,g+-16|0,p,p+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(s4(i,117)|0){h=g;c[h>>2]=d[q+32>>0];c[h+4>>2]=0;c[g+8>>2]=19;h=g+16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357520>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357520,e+16|0)|0){e=QA(b,357520,4)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;h=c[s>>2]|0;c[s>>2]=h+16;cB(b,g+-16|0,h,h+-16|0);g=c[s>>2]|0;h=g+-32|0;c[h>>2]=d[q+33>>0];c[h+4>>2]=0;c[g+-24>>2]=19;h=g+-16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357525>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357525,e+16|0)|0){e=QA(b,357525,7)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;h=c[s>>2]|0;c[s>>2]=h+16;cB(b,g+-48|0,h,h+-16|0);g=c[s>>2]|0;c[g+-32>>2]=(a[q+34>>0]|0)!=0&1;c[g+-24>>2]=1;h=g+-16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357533>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357533,e+16|0)|0){e=QA(b,357533,8)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;p=c[s>>2]|0;c[s>>2]=p+16;cB(b,g+-48|0,p,p+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(s4(i,110)|0){lz(b,c[q+4>>2]|0);g=c[s>>2]|0;f=(c[j>>2]|0)+280+(((402803>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(402803,e+16|0)|0){e=QA(b,402803,4)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-32|0,f,f+-16|0);c[s>>2]=(c[s>>2]|0)+-32;lz(b,c[q+8>>2]|0);g=c[s>>2]|0;f=(c[j>>2]|0)+280+(((357542>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357542,e+16|0)|0){e=QA(b,357542,8)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;p=c[s>>2]|0;c[s>>2]=p+16;cB(b,g+-32|0,p,p+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(s4(i,116)|0){c[g>>2]=(a[q+35>>0]|0)!=0&1;c[g+8>>2]=1;h=g+16|0;c[s>>2]=h;f=(c[j>>2]|0)+280+(((357551>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357551,e+16|0)|0){e=QA(b,357551,10)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;q=c[s>>2]|0;c[s>>2]=q+16;cB(b,g+-16|0,q,q+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(s4(i,76)|0){if(!k){if((m|0)!=(b|0)){g=m+8|0;q=(c[g>>2]|0)+-16|0;c[g>>2]=q;g=c[s>>2]|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];g=(c[s>>2]|0)+16|0;c[s>>2]=g}}else{f=g+-16|0;e=g+-32|0;do{c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);g=c[s>>2]|0}f=(c[j>>2]|0)+280+(((357562>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357562,e+16|0)|0){e=QA(b,357562,11)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;q=c[s>>2]|0;c[s>>2]=q+16;cB(b,g+-32|0,q,q+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g}if(!(s4(i,102)|0)){b=1;l=t;return b|0}if(!k){if((m|0)!=(b|0)){g=m+8|0;r=(c[g>>2]|0)+-16|0;c[g>>2]=r;g=c[s>>2]|0;c[g>>2]=c[r>>2];c[g+4>>2]=c[r+4>>2];c[g+8>>2]=c[r+8>>2];c[g+12>>2]=c[r+12>>2];g=(c[s>>2]|0)+16|0;c[s>>2]=g}}else{f=g+-16|0;e=g+-32|0;do{c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);g=c[s>>2]|0}f=(c[j>>2]|0)+280+(((357574>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(357574,e+16|0)|0){e=QA(b,357574,4)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;r=c[s>>2]|0;c[s>>2]=r+16;cB(b,g+-32|0,r,r+-16|0);c[s>>2]=(c[s>>2]|0)+-32;b=1;l=t;return b|0}function AC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;n=v+16|0;u=v;m=b+16|0;f=c[c[m>>2]>>2]|0;g=f+16|0;t=b+8|0;if(!((g|0)==412368?1:g>>>0>=(c[t>>2]|0)>>>0)?(e=c[f+24>>2]|0,(e&15|0)==8):0)if((e|0)==72){s=c[g>>2]|0;f=1}else{s=0;f=1}else{s=b;f=0}e=sB(b,f|2)|0;j=f+1|0;r=c[c[m>>2]>>2]|0;f=r+(j<<4)|0;g=c[t>>2]|0;if(!(f>>>0>=g>>>0|(f|0)==412368)?(c[r+(j<<4)+8>>2]&15|0)==6:0){f=f>>>0<g>>>0?f:412368;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=c[t>>2]|0;c[t>>2]=f+16;h=(a[b+6>>0]|0)==1;if(h){r=c[m>>2]|0;s=c[r>>2]|0;t=c[b+28>>2]|0;u=r+28|0;c[r>>2]=t+(c[u>>2]|0);c[u>>2]=s-t}a:do if((c[f+8>>2]|0)==70?(i=c[(c[f>>2]|0)+12>>2]|0,k=c[i+32>>2]|0,(k|0)>0):0){g=c[i+60>>2]|0;f=0;while(1){if((c[g+(f*12|0)+4>>2]|0)>0){e=0;break a}if((c[g+(f*12|0)+8>>2]|0)>0){e=e+-1|0;if(!e)break}f=f+1|0;if((f|0)>=(k|0)){e=0;break a}}e=(c[g+(f*12|0)>>2]|0)+16|0}else e=0;while(0);if(h){r=c[m>>2]|0;s=c[r>>2]|0;t=c[b+28>>2]|0;u=r+28|0;c[r>>2]=t+(c[u>>2]|0);c[u>>2]=s-t}lz(b,e);b=1;l=v;return b|0}f=sB(b,j)|0;if((f|0)>=0){r=s+16|0;k=c[r>>2]|0;i=s+48|0;if((f|0)!=0&(k|0)!=(i|0)){h=f;g=k;while(1){f=h+-1|0;g=c[g+8>>2]|0;if((h|0)>1&(g|0)!=(i|0))h=f;else{o=g;break}}}else o=k;if(!((f|0)!=0|(o|0)==(i|0))){p=(s|0)==(b|0);b:do if(!p){c[u>>2]=1;h=s+8|0;f=c[h>>2]|0;g=f;do if(((c[s+24>>2]|0)-g|0)>16)h=1;else{if(((g-(c[s+28>>2]|0)>>4)+5|0)<=999999?(Kz(s,201,u)|0)==0:0){f=c[h>>2]|0;h=c[u>>2]|0;break}oB(b,357349,n);break b}while(0);g=k+4|0;f=f+(h<<4)|0;if((c[g>>2]|0)>>>0<f>>>0)c[g>>2]=f}while(0);n=s+6|0;m=a[n>>0]|0;if(m<<24>>24==1){h=c[r>>2]|0;i=c[h>>2]|0;j=c[s+28>>2]|0;k=h+28|0;c[h>>2]=j+(c[k>>2]|0);c[k>>2]=i-j}c:do if(a[o+34>>0]&2){if((e|0)<0){g=c[o>>2]|0;h=d[(c[(c[g>>2]|0)+12>>2]|0)+6>>0]|0;if((((c[o+16>>2]|0)-g>>4)-h|0)<=(0-e|0)){e=m;g=0;break}f=353628;e=g+(h-e<<4)|0;q=53;break}g=c[o+16>>2]|0;f=c[(c[c[o>>2]>>2]|0)+12>>2]|0;i=(c[o+20>>2]|0)-(c[f+48>>2]|0)>>2;j=c[f+32>>2]|0;if((j|0)>0){k=c[f+60>>2]|0;f=e;h=0;while(1){if((c[k+(h*12|0)+4>>2]|0)>=(i|0)){q=48;break c}if((c[k+(h*12|0)+8>>2]|0)>=(i|0)){f=f+-1|0;if(!f)break}h=h+1|0;if((h|0)>=(j|0)){q=48;break c}}f=(c[k+(h*12|0)>>2]|0)+16|0;q=52}else q=48}else{g=(c[o>>2]|0)+16|0;q=48}while(0);if((q|0)==48){if((c[r>>2]|0)==(o|0))f=s+8|0;else f=c[o+12>>2]|0;if((e|0)>0?((c[f>>2]|0)-g>>4|0)>=(e|0):0){f=353615;q=52}else{e=m;g=0}}if((q|0)==52){e=g+(e+-1<<4)|0;q=53}if((q|0)==53){g=s+8|0;q=c[g>>2]|0;c[q>>2]=c[e>>2];c[q+4>>2]=c[e+4>>2];c[q+8>>2]=c[e+8>>2];c[q+12>>2]=c[e+12>>2];c[g>>2]=(c[g>>2]|0)+16;e=a[n>>0]|0;g=f}if(e<<24>>24==1){n=c[r>>2]|0;o=c[n>>2]|0;q=c[s+28>>2]|0;r=n+28|0;c[n>>2]=q+(c[r>>2]|0);c[r>>2]=o-q}if(!g){b=c[t>>2]|0;c[b+8>>2]=0;c[t>>2]=b+16;b=1;l=v;return b|0}if(!p){s=s+8|0;r=(c[s>>2]|0)+-16|0;c[s>>2]=r;s=c[t>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];c[t>>2]=(c[t>>2]|0)+16}f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}f=e+280+(((g>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(g,e+16|0)|0){e=QA(b,g,r4(g)|0)|0;c[f>>2]=e}f=c[t>>2]|0;c[f>>2]=e;c[f+8>>2]=(a[e+4>>0]|64)&255;f=c[t>>2]|0;c[t>>2]=f+16;e=f;f=f+-16|0;do{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);b=2;l=v;return b|0}}b=nB(b,j,357330)|0;l=v;return b|0}function BC(a){a=a|0;var b=0,d=0;b=a+8|0;d=c[b>>2]|0;a=(c[a+12>>2]|0)+40|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=(c[b>>2]|0)+16;return 1}function CC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+16|0;b=c[c[e>>2]>>2]|0;f=b+16|0;g=a+8|0;d=c[g>>2]|0;if(f>>>0>=d>>>0|(f|0)==412368){nB(a,1,357826)|0;f=c[g>>2]|0;b=c[c[e>>2]>>2]|0}else f=d;b=b+16|0;b=b>>>0<f>>>0?b:412368;d=c[b+8>>2]|0;switch(d&15){case 5:{b=(c[b>>2]|0)+24|0;break}case 7:{b=(c[b>>2]|0)+8|0;break}default:b=(c[a+12>>2]|0)+244+((d&15)<<2)|0}b=c[b>>2]|0;if(!b){c[f+8>>2]=0;f=f+16|0;c[g>>2]=f;return 1}else{c[f>>2]=b;c[f+8>>2]=69;f=c[g>>2]|0;f=f+16|0;c[g>>2]=f;return 1}return 0}function DC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;h=sB(b,2)|0;g=b+16|0;e=c[c[g>>2]>>2]|0;m=e+16|0;i=b+8|0;f=c[i>>2]|0;if(!(!(m>>>0>=f>>>0|(m|0)==412368)?(c[e+24>>2]&15|0)==6:0)){qB(b,1,361148);f=c[i>>2]|0;e=c[c[g>>2]>>2]|0}e=e+16|0;e=e>>>0<f>>>0?e:412368;a:do switch(c[e+8>>2]&63){case 38:{e=c[e>>2]|0;if((h|0)<=0){m=0;l=k;return m|0}if((d[e+6>>0]|0|0)<(h|0)){m=0;l=k;return m|0}else{g=436559;e=e+16+(h+-1<<4)|0;break a}}case 6:{e=c[e>>2]|0;g=c[e+12>>2]|0;if((h|0)<=0){m=0;l=k;return m|0}if((c[g+12>>2]|0)<(h|0)){m=0;l=k;return m|0}m=h+-1|0;h=c[c[e+16+(m<<2)>>2]>>2]|0;e=c[(c[g+64>>2]|0)+(m<<3)>>2]|0;if(!e){g=353604;e=h}else{g=e+16|0;e=h}break}default:{m=0;l=k;return m|0}}while(0);m=e;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[i>>2]=(c[i>>2]|0)+16;if(!g){m=0;l=k;return m|0}f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}f=e+280+(((g>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(g,e+16|0)|0){e=QA(b,g,r4(g)|0)|0;c[f>>2]=e}f=c[i>>2]|0;c[f>>2]=e;c[f+8>>2]=(a[e+4>>0]|64)&255;f=c[i>>2]|0;c[i>>2]=f+16;e=f;f=f+-16|0;do{c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);m=2;l=k;return m|0}function EC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=sB(b,2)|0;k=b+16|0;e=c[c[k>>2]>>2]|0;j=e+16|0;l=b+8|0;f=c[l>>2]|0;if(!(!(j>>>0>=f>>>0|(j|0)==412368)?(c[e+24>>2]&15|0)==6:0)){qB(b,1,361148);f=c[l>>2]|0;e=c[c[k>>2]>>2]|0}e=e+16|0;e=e>>>0<f>>>0?e:412368;switch(c[e+8>>2]&63){case 38:{e=c[e>>2]|0;if((m|0)>0?(d[e+6>>0]|0|0)>=(m|0):0){g=436559;e=e+16+(m+-1<<4)|0;h=12}else h=13;break}case 6:{e=c[e>>2]|0;g=c[e+12>>2]|0;if((m|0)>0?(c[g+12>>2]|0)>=(m|0):0){j=m+-1|0;h=c[c[e+16+(j<<2)>>2]>>2]|0;e=c[(c[g+64>>2]|0)+(j<<3)>>2]|0;if(!e){g=353604;e=h;h=12}else{g=e+16|0;e=h;h=12}}else h=13;break}default:h=13}if((h|0)==12?(j=e,c[f>>2]=c[j>>2],c[f+4>>2]=c[j+4>>2],c[f+8>>2]=c[j+8>>2],c[f+12>>2]=c[j+12>>2],c[l>>2]=(c[l>>2]|0)+16,(g|0)==0):0)h=13;if((h|0)==13)nB(b,2,357388)|0;j=sB(b,4)|0;f=c[c[k>>2]>>2]|0;i=f+48|0;e=c[l>>2]|0;if(!(i>>>0>=e>>>0|(i|0)==412368)?(c[f+56>>2]&15|0)==6:0){i=e;e=f}else{qB(b,3,361148);i=c[l>>2]|0;e=c[c[k>>2]>>2]|0}e=e+48|0;e=e>>>0<i>>>0?e:412368;switch(c[e+8>>2]&63){case 38:{e=c[e>>2]|0;if((j|0)>0?(d[e+6>>0]|0|0)>=(j|0):0){f=436559;e=e+16+(j+-1<<4)|0;h=25}else h=26;break}case 6:{e=c[e>>2]|0;f=c[e+12>>2]|0;if((j|0)>0?(c[f+12>>2]|0)>=(j|0):0){h=j+-1|0;g=c[c[e+16+(h<<2)>>2]>>2]|0;e=c[(c[f+64>>2]|0)+(h<<3)>>2]|0;if(!e){f=353604;e=g;h=25}else{f=e+16|0;e=g;h=25}}else h=26;break}default:h=26}if((h|0)==25){c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];e=(c[l>>2]|0)+16|0;c[l>>2]=e;if(!f)h=26}if((h|0)==26){nB(b,4,357388)|0;e=c[l>>2]|0}f=c[c[k>>2]>>2]|0;i=f+16|0;i=c[(i>>>0<e>>>0?i:412368)+8>>2]|0;if(!((i|0)==22^(i|0)!=102)){nB(b,1,357410)|0;f=c[c[k>>2]>>2]|0;e=c[l>>2]|0}i=f+48|0;i=c[(i>>>0<e>>>0?i:412368)+8>>2]|0;if(!((i|0)==22^(i|0)!=102)){nB(b,3,357410)|0;f=c[c[k>>2]>>2]|0;e=c[l>>2]|0}g=f+16|0;g=(c[(g>>>0<e>>>0?g:412368)>>2]|0)+16+(m+-1<<2)|0;f=f+48|0;e=(c[(f>>>0<e>>>0?f:412368)>>2]|0)+16+(j+-1<<2)|0;f=c[g>>2]|0;l=f+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if((m|0)==0?(c[f>>2]|0)==(f+8|0):0){m=c[b+12>>2]|0;Uh[c[m>>2]&63](c[m+4>>2]|0,f,24,0)|0;m=m+12|0;c[m>>2]=(f|0?-24:0)+(c[m>>2]|0)}f=c[e>>2]|0;c[g>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[f>>2]|0;e=f+8|0;if((g|0)!=(e|0))c[e+4>>2]=1;if(!((g|0)==(f+8|0)?(c[g+8>>2]&64|0)!=0:0))return 0;f=c[b+12>>2]|0;e=c[g>>2]|0;if((d[f+61>>0]|0)>=2)return 0;if(!(a[e+5>>0]&3))return 0;$z(f,e);return 0}function FC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=sB(a,2)|0;i=a+16|0;b=c[c[i>>2]>>2]|0;h=b+16|0;k=a+8|0;e=c[k>>2]|0;if(!(!(h>>>0>=e>>>0|(h|0)==412368)?(c[b+24>>2]&15|0)==6:0)){qB(a,1,361148);e=c[k>>2]|0;b=c[c[i>>2]>>2]|0}b=b+16|0;b=b>>>0<e>>>0?b:412368;switch(c[b+8>>2]&63){case 38:{b=c[b>>2]|0;if((j|0)>0?(d[b+6>>0]|0|0)>=(j|0):0){h=436559;b=b+16+(j+-1<<4)|0;f=12}else f=13;break}case 6:{b=c[b>>2]|0;f=c[b+12>>2]|0;if((j|0)>0?(c[f+12>>2]|0)>=(j|0):0){h=j+-1|0;g=c[c[b+16+(h<<2)>>2]>>2]|0;b=c[(c[f+64>>2]|0)+(h<<3)>>2]|0;if(!b){h=353604;b=g;f=12}else{h=b+16|0;b=g;f=12}}else f=13;break}default:f=13}if((f|0)==12){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=(c[k>>2]|0)+16|0;c[k>>2]=b;if(!h)f=13;else g=b}if((f|0)==13){nB(a,2,357388)|0;g=c[k>>2]|0}e=(c[c[i>>2]>>2]|0)+16|0;f=e>>>0<g>>>0;b=f?e:412368;switch(c[b+8>>2]&63){case 6:{j=c[(c[(f?e:412368)>>2]|0)+16+(j+-1<<2)>>2]|0;c[g>>2]=j;j=g+8|0;c[j>>2]=2;j=c[k>>2]|0;j=j+16|0;c[k>>2]=j;return 1}case 38:{j=(c[b>>2]|0)+16+(j+-1<<4)|0;c[g>>2]=j;j=g+8|0;c[j>>2]=2;j=c[k>>2]|0;j=j+16|0;c[k>>2]=j;return 1}default:{j=0;c[g>>2]=j;j=g+8|0;c[j>>2]=2;j=c[k>>2]|0;j=j+16|0;c[k>>2]=j;return 1}}return 0}function GC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=b+16|0;e=c[c[g>>2]>>2]|0;i=e+16|0;j=b+8|0;f=c[j>>2]|0;if(!(!(i>>>0>=f>>>0|(i|0)==412368)?(c[e+24>>2]&15|0)==7:0)){qB(b,1,355276);e=c[c[g>>2]>>2]|0;f=c[j>>2]|0}i=e+32|0;if(i>>>0>=f>>>0|(i|0)==412368){nB(b,2,357826)|0;e=c[c[g>>2]>>2]|0;f=c[j>>2]|0}g=e+48|0;if(f>>>0<g>>>0){h=(e+40+4+(3-f)|0)>>>4;i=f;do{c[i+8>>2]=0;i=i+16|0}while(i>>>0<g>>>0);c[j>>2]=f+(h+1<<4)}c[j>>2]=g;f=e+16|0;i=c[f>>2]|0;k=e+32|0;g=c[k+4>>2]|0;h=i+16|0;c[h>>2]=c[k>>2];c[h+4>>2]=g;a[i+6>>0]=c[e+40>>2];i=c[j>>2]|0;if(!(c[i+-8>>2]&64)){k=i;k=k+-16|0;c[j>>2]=k;return 1}f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4)){k=i;k=k+-16|0;c[j>>2]=k;return 1}h=c[i+-16>>2]|0;if(!(a[h+5>>0]&3)){k=i;k=k+-16|0;c[j>>2]=k;return 1}e=c[b+12>>2]|0;if((d[e+61>>0]|0)<2){$z(e,h);k=c[j>>2]|0;k=k+-16|0;c[j>>2]=k;return 1}else{a[f>>0]=a[e+60>>0]&3|g&-8;k=i;k=k+-16|0;c[j>>2]=k;return 1}return 0}function HC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;m=y+16|0;n=y;t=b+16|0;g=c[c[t>>2]>>2]|0;d=g+16|0;w=b+8|0;h=c[w>>2]|0;if(!(d>>>0>=h>>>0|(d|0)==412368)?(e=c[g+24>>2]|0,(e&15|0)==8):0)if((e|0)==72){x=c[d>>2]|0;f=1}else{x=0;f=1}else{x=b;f=0}q=f+1|0;s=g+(q<<4)|0;if(!(s>>>0>=h>>>0|(s|0)==412368)?(c[g+(q<<4)+8>>2]&15|0)!=0:0){d=f|2;e=kz(b,d,0)|0;if(!e)qB(b,d,361511);s=c[c[t>>2]>>2]|0;r=s+(q<<4)|0;if(!(!((r|0)==412368?1:r>>>0>=(c[w>>2]|0)>>>0)?(c[s+(q<<4)+8>>2]&15|0)==6:0))qB(b,q,361148);o=tB(b,f+3|0,0,0)|0;s=(s4(e,99)|0)!=0&1;k=(s4(e,114)|0)==0;s=k?s:s|2;k=(s4(e,108)|0)==0;s=k?s:s|4;k=w;f=c[w>>2]|0;r=o;p=204;s=(o|0)>0?s|8:s}else{f=g+((f|2)<<4)|0;if(h>>>0<f>>>0){d=(g+(q<<4)+8+4+(3-h)|0)>>>4;e=h;do{c[e+8>>2]=0;e=e+16|0}while(e>>>0<f>>>0);c[w>>2]=h+(d+1<<4)}c[w>>2]=f;k=w;r=0;p=0;s=0}o=b+12|0;h=(c[o>>2]|0)+40|0;c[n>>2]=415620;c[n+8>>2]=2;h=VA(c[h>>2]|0,n)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=c[w>>2]|0;c[w>>2]=h+16;if(!(c[h+8>>2]&15)){if((c[(c[o>>2]|0)+12>>2]|0)>0)jA(b);e=WA(b)|0;d=c[w>>2]|0;c[d>>2]=e;c[d+8>>2]=69;c[w>>2]=(c[w>>2]|0)+16;TA(b,e,0,2);e=c[k>>2]|0;d=e+-16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[w>>2]=(c[w>>2]|0)+16;e=c[(c[o>>2]|0)+40>>2]|0;c[n>>2]=415620;c[n+8>>2]=2;d=VA(e,n)|0;if((d|0)==412368)d=UA(b,e,n)|0;h=(c[w>>2]|0)+-16|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];d=c[w>>2]|0;if((c[d+-8>>2]&64|0?(i=e+5|0,j=a[i>>0]|0,j&4):0)?a[(c[d+-16>>2]|0)+5>>0]&3:0){h=c[o>>2]|0;a[i>>0]=j&-5;j=h+80|0;c[e+28>>2]=c[j>>2];c[j>>2]=e}c[w>>2]=d+-16;d=c[o>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[o>>2]|0}e=d+280+(((357364>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357364,d+16|0)|0){d=QA(b,357364,1)|0;c[e>>2]=d}f=c[w>>2]|0;c[f>>2]=d;c[f+8>>2]=(a[d+4>>0]|64)&255;f=c[w>>2]|0;g=f+16|0;c[w>>2]=g;e=(c[o>>2]|0)+280+(((357366>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357366,d+16|0)|0){d=QA(b,357366,6)|0;c[e>>2]=d}c[g>>2]=d;c[f+24>>2]=(a[d+4>>0]|64)&255;i=c[w>>2]|0;c[w>>2]=i+16;cB(b,f+-16|0,i,i+-16|0);i=c[w>>2]|0;j=i+-32|0;c[w>>2]=j;i=i+-48|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[w>>2]=(c[w>>2]|0)+16;tz(b,-2)}i=(x|0)==(b|0);a:do if(i)d=x+8|0;else{c[n>>2]=1;h=c[x+16>>2]|0;d=x+8|0;e=c[d>>2]|0;f=e;do if(((c[x+24>>2]|0)-f|0)>16){g=e;e=1}else{if(((f-(c[x+28>>2]|0)>>4)+5|0)<=999999?(Kz(x,201,n)|0)==0:0){g=c[d>>2]|0;e=c[n>>2]|0;break}oB(b,357349,m);break a}while(0);f=h+4|0;e=g+(e<<4)|0;if((c[f>>2]|0)>>>0<e>>>0)c[f>>2]=e}while(0);e=c[d>>2]|0;c[e>>2]=x;c[e+8>>2]=72;e=c[d>>2]|0;c[d>>2]=e+16;if(i){e=c[k>>2]|0;d=e}else{c[d>>2]=e;d=c[k>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=(c[w>>2]|0)+16|0;c[w>>2]=e;d=e}f=(c[c[t>>2]>>2]|0)+(q<<4)|0;f=f>>>0<d>>>0?f:412368;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=c[w>>2]|0;c[w>>2]=e+16;f=c[e+-32>>2]|0;e=e+-16|0;d=VA(f,e)|0;if((d|0)==412368)d=UA(b,f,e)|0;b=(c[w>>2]|0)+-16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];a[f+6>>0]=0;d=c[w>>2]|0;if((c[d+-8>>2]&64|0?(u=f+5|0,v=a[u>>0]|0,v&4):0)?a[(c[d+-16>>2]|0)+5>>0]&3:0){b=c[o>>2]|0;a[u>>0]=v&-5;v=b+80|0;c[f+28>>2]=c[v>>2];c[v>>2]=f}c[w>>2]=d+-32;f=(p|0)==0|(s|0)==0;d=f?0:p;e=c[x+16>>2]|0;if(!(a[e+34>>0]&2)){w=x+84|0;c[w>>2]=d;w=x+96|0;c[w>>2]=r;w=x+100|0;c[w>>2]=r;w=s&255;w=f?0:w;x=x+108|0;a[x>>0]=w;l=y;return 0}c[x+20>>2]=c[e+20>>2];w=x+84|0;c[w>>2]=d;w=x+96|0;c[w>>2]=r;w=x+100|0;c[w>>2]=r;w=s&255;w=f?0:w;x=x+108|0;a[x>>0]=w;l=y;return 0}function IC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;m=u;n=u+4|0;k=b+16|0;f=c[c[k>>2]>>2]|0;g=f+16|0;o=b+8|0;if(!((g|0)==412368?1:g>>>0>=(c[o>>2]|0)>>>0)?(e=c[f+24>>2]|0,(e&15|0)==8):0)if((e|0)==72){s=c[g>>2]|0;j=1}else{s=0;j=1}else{s=b;j=0}h=j+1|0;e=sB(b,h)|0;r=sB(b,j|2)|0;if((e|0)>=0){t=s+16|0;f=c[t>>2]|0;i=s+48|0;if((e|0)!=0&(f|0)!=(i|0)){g=e;while(1){e=g+-1|0;f=c[f+8>>2]|0;if((g|0)>1&(f|0)!=(i|0))g=e;else{p=f;break}}}else p=f;if(!((e|0)!=0|(p|0)==(i|0))){i=j+3|0;e=c[c[k>>2]>>2]|0;h=e+(i<<4)|0;f=c[o>>2]|0;if(h>>>0>=f>>>0|(h|0)==412368){nB(b,i,357826)|0;e=c[c[k>>2]>>2]|0;h=c[o>>2]|0}else h=f;g=e+((j|4)<<4)|0;if(h>>>0<g>>>0){e=(e+(i<<4)+8+4+(3-h)|0)>>>4;f=h;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<g>>>0);c[o>>2]=h+(e+1<<4)}c[o>>2]=g;if((s|0)!=(b|0)){c[n>>2]=1;h=c[t>>2]|0;e=s+8|0;g=c[e>>2]|0;f=g;do if(((c[s+24>>2]|0)-f|0)>16){e=1;q=21}else{if(((f-(c[s+28>>2]|0)>>4)+5|0)<=999999?(Kz(s,201,n)|0)==0:0){g=c[e>>2]|0;e=c[n>>2]|0;q=21;break}oB(b,357349,m)}while(0);do if((q|0)==21){f=h+4|0;e=g+(e<<4)|0;if((c[f>>2]|0)>>>0<e>>>0){c[f>>2]=e;break}else break}while(0);m=(c[o>>2]|0)+-16|0;c[o>>2]=m;o=s+8|0;n=c[o>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[o>>2]=(c[o>>2]|0)+16}m=s+6|0;e=a[m>>0]|0;if(e<<24>>24==1){j=c[t>>2]|0;k=c[j>>2]|0;n=c[s+28>>2]|0;o=j+28|0;c[j>>2]=n+(c[o>>2]|0);c[o>>2]=k-n}a:do if(a[p+34>>0]&2){if((r|0)<0){g=c[p>>2]|0;h=d[(c[(c[g>>2]|0)+12>>2]|0)+6>>0]|0;if((((c[p+16>>2]|0)-g>>4)-h|0)<=(0-r|0)){f=0;break}f=353628;e=g+(h-r<<4)|0;q=45;break}g=c[p+16>>2]|0;f=c[(c[c[p>>2]>>2]|0)+12>>2]|0;i=(c[p+20>>2]|0)-(c[f+48>>2]|0)>>2;j=c[f+32>>2]|0;if((j|0)>0){k=c[f+60>>2]|0;f=r;h=0;while(1){if((c[k+(h*12|0)+4>>2]|0)>=(i|0)){q=40;break a}if((c[k+(h*12|0)+8>>2]|0)>=(i|0)){f=f+-1|0;if(!f)break}h=h+1|0;if((h|0)>=(j|0)){q=40;break a}}f=(c[k+(h*12|0)>>2]|0)+16|0;q=44}else q=40}else{g=(c[p>>2]|0)+16|0;q=40}while(0);if((q|0)==40){if((c[t>>2]|0)==(p|0))f=s+8|0;else f=c[p+12>>2]|0;if((r|0)>0?((c[f>>2]|0)-g>>4|0)>=(r|0):0){f=353615;q=44}else f=0}if((q|0)==44){e=g+(r+-1<<4)|0;q=45}if((q|0)==45){r=s+8|0;q=(c[r>>2]|0)+-16|0;c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];c[r>>2]=(c[r>>2]|0)+-16;e=a[m>>0]|0}if(e<<24>>24==1){p=c[t>>2]|0;q=c[p>>2]|0;r=c[s+28>>2]|0;t=p+28|0;c[p>>2]=r+(c[t>>2]|0);c[t>>2]=q-r}if(!f){t=s+8|0;c[t>>2]=(c[t>>2]|0)+-16}lz(b,f);b=1;l=u;return b|0}}b=nB(b,h,357330)|0;l=u;return b|0}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+16|0;d=c[c[b>>2]>>2]|0;f=d+32|0;h=a+8|0;e=c[h>>2]|0;if(f>>>0>=e>>>0|(f|0)==412368)g=3;else switch(c[d+40>>2]&15){case 0:case 5:{f=e;break}default:g=3}if((g|0)==3){nB(a,2,357308)|0;d=c[c[b>>2]>>2]|0;f=c[h>>2]|0}e=d+48|0;if(f>>>0>=e>>>0){c[h>>2]=e;tz(a,1);return 1}b=(d+40+4+(3-f)|0)>>>4;d=f;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<e>>>0);c[h>>2]=f+(b+1<<4);c[h>>2]=e;tz(a,1);return 1}function KC(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+16|0;f=(c[c[d>>2]>>2]|0)+48|0;g=b+8|0;if((f|0)==412368?1:f>>>0>=(c[g>>2]|0)>>>0)nB(b,3,357826)|0;e=sB(b,2)|0;f=c[c[d>>2]>>2]|0;d=f+16|0;if(!(!((d|0)==412368?1:d>>>0>=(c[g>>2]|0)>>>0)?(c[f+24>>2]&15|0)==6:0))qB(b,1,361148);f=Az(b,1,e)|0;if(!f){g=0;return g|0}e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((f>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(f,d+16|0)|0){d=QA(b,f,r4(f)|0)|0;c[e>>2]=d}b=c[g>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;c[g>>2]=(c[g>>2]|0)+16;g=1;return g|0}function LC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;b=c[c[g>>2]>>2]|0;d=b+16|0;k=a+8|0;if(!((d|0)==412368?1:d>>>0>=(c[k>>2]|0)>>>0)?(e=c[b+24>>2]|0,(e&15|0)==8):0)if((e|0)==72){b=c[d>>2]|0;e=1}else{b=0;e=1}else{b=a;e=0}d=e+1|0;f=kz(a,d,0)|0;if(((f|0)==0?(h=c[c[g>>2]>>2]|0,i=h+(d<<4)|0,j=c[k>>2]|0,!(i>>>0>=j>>>0|(i|0)==412368)):0)?c[h+(d<<4)+8>>2]&15|0:0){a=i>>>0<j>>>0?i:412368;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=(c[k>>2]|0)+16;return 1}k=tB(a,e|2,(b|0)==(a|0)&1,0)|0;kB(a,b,f,k);return 1}function MC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;i=h;j=(c[a+12>>2]|0)+40|0;c[i>>2]=415620;c[i+8>>2]=2;f=a+8|0;e=c[f>>2]|0;i=VA(c[j>>2]|0,i)|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];e=c[f>>2]|0;i=e+16|0;c[f>>2]=i;c[i>>2]=a;c[e+24>>2]=72;e=c[f>>2]|0;c[f>>2]=e+16;i=VA(c[e+-16>>2]|0,e)|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];if((c[(c[f>>2]|0)+-8>>2]&15|0)!=6){l=h;return}lz(a,c[7672+(c[d>>2]<<2)>>2]|0);d=c[d+20>>2]|0;if((d|0)>-1){e=c[f>>2]|0;j=e;c[j>>2]=d;c[j+4>>2]=((d|0)<0)<<31>>31;d=19}else{d=0;e=c[f>>2]|0}c[e+8>>2]=d;c[f>>2]=e+16;e=e+-32|0;f=a+106|0;d=(b[f>>1]|0)+1<<16>>16;b[f>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(a,353895,g);if((d&65535)>224)Jz(a,6)}d=a+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(a,e,0)|0))jB(a);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;l=h;return}function NC(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;d=m;if(b|0?(c[(c[b+12>>2]|0)+140>>2]|0)!=384:0)oB(b,356467,d);j=b+12|0;if((c[(c[j>>2]|0)+12>>2]|0)>0)jA(b);f=WA(b)|0;k=b+8|0;g=c[k>>2]|0;c[g>>2]=f;c[g+8>>2]=69;c[k>>2]=(c[k>>2]|0)+16;TA(b,f,0,35);EB(b,7692,0);f=c[k>>2]|0;h[f>>3]=3.141592653589793;c[f+8>>2]=3;g=f+16|0;c[k>>2]=g;e=(c[j>>2]|0)+280+(((370723>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(370723,d+16|0)|0){d=QA(b,370723,2)|0;c[e>>2]=d}c[g>>2]=d;c[f+24>>2]=(a[d+4>>0]|64)&255;g=c[k>>2]|0;c[k>>2]=g+16;cB(b,f+-16|0,g,g+-16|0);f=c[k>>2]|0;h[f+-32>>3]=t;c[f+-24>>2]=3;g=f+-16|0;c[k>>2]=g;e=(c[j>>2]|0)+280+(((357632>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357632,d+16|0)|0){d=QA(b,357632,4)|0;c[e>>2]=d}c[g>>2]=d;c[f+-8>>2]=(a[d+4>>0]|64)&255;g=c[k>>2]|0;c[k>>2]=g+16;cB(b,f+-48|0,g,g+-16|0);f=c[k>>2]|0;g=f+-32|0;c[g>>2]=-1;c[g+4>>2]=2147483647;c[f+-24>>2]=19;g=f+-16|0;c[k>>2]=g;e=(c[j>>2]|0)+280+(((357637>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357637,d+16|0)|0){d=QA(b,357637,10)|0;c[e>>2]=d}c[g>>2]=d;c[f+-8>>2]=(a[d+4>>0]|64)&255;g=c[k>>2]|0;c[k>>2]=g+16;cB(b,f+-48|0,g,g+-16|0);f=c[k>>2]|0;g=f+-32|0;c[g>>2]=0;c[g+4>>2]=-2147483648;c[f+-24>>2]=19;g=f+-16|0;c[k>>2]=g;i=f+-48|0;d=(c[j>>2]|0)+280+(((357648>>>0)%127|0)<<2)|0;e=c[d>>2]|0;if(!(e3(357648,e+16|0)|0)){j=e;c[g>>2]=j;j=j+4|0;j=a[j>>0]|0;j=j|64;j=j&255;g=f+-8|0;c[g>>2]=j;g=c[k>>2]|0;j=g+16|0;c[k>>2]=j;j=g+-16|0;cB(b,i,g,j);b=c[k>>2]|0;b=b+-32|0;c[k>>2]=b;l=m;return 1}else{j=QA(b,357648,10)|0;c[d>>2]=j;c[g>>2]=j;j=j+4|0;j=a[j>>0]|0;j=j|64;j=j&255;g=f+-8|0;c[g>>2]=j;g=c[k>>2]|0;j=g+16|0;c[k>>2]=j;j=g+-16|0;cB(b,i,g,j);b=c[k>>2]|0;b=b+-32|0;c[k>>2]=b;l=m;return 1}return 0}function OC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;b=(c[c[a+16>>2]>>2]|0)+16|0;d=a+8|0;e=c[d>>2]|0;b=b>>>0<e>>>0?b:412368;if((c[b+8>>2]|0)==19){a=b;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(a|0)<0;i=c6(0,0,g|0,a|0)|0;b=e;c[b>>2]=f?i:g;c[b+4>>2]=f?z:a;b=19;a=e;e=a+8|0;c[e>>2]=b;a=a+16|0;c[d>>2]=a;return 1}else{j=+B(+(+rB(a,1)));i=c[d>>2]|0;h[i>>3]=j;f=3;g=i+8|0;c[g>>2]=f;i=i+16|0;c[d>>2]=i;return 1}return 0}function PC(a){a=a|0;var b=0,d=0.0;d=+H(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function QC(a){a=a|0;var b=0,d=0.0;d=+I(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function RC(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0.0,o=0,p=0;p=l;l=l+16|0;m=p;n=+rB(b,1);i=c[c[b+16>>2]>>2]|0;k=i+32|0;o=b+8|0;a:do if(!((k|0)==412368?1:k>>>0>=(c[o>>2]|0)>>>0)?(f=c[i+40>>2]|0,g=f&15,(g|0)!=0):0){if((f|0)==3){e=+h[k>>3];break}do if((f|0)==19){m=k;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((g|0)==4){g=nA((c[k>>2]|0)+16|0,m)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0)){k=(c[m+8>>2]|0)==19;b=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=b;c[j+4>>2]=m;e=k?+(b>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}qB(b,2,355285);e=0.0;break a}while(0)}else e=1.0;while(0);n=+K(+n,+e);m=c[o>>2]|0;h[m>>3]=n;c[m+8>>2]=3;c[o>>2]=m+16;l=p;return 1}function SC(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;d=c[c[a+16>>2]>>2]|0;e=d+16|0;g=a+8|0;f=c[g>>2]|0;if((c[(e>>>0<f>>>0?e:412368)+8>>2]|0)!=19){b=+N(+(+rB(a,1)));if(b>=-9223372036854775808.0&b<9223372036854775808.0){d=+B(b)>=1.0?(b>0.0?~~+P(+A(b/4294967296.0),4294967295.0)>>>0:~~+N((b-+(~~b>>>0))/4294967296.0)>>>0):0;f=c[g>>2]|0;e=f;c[e>>2]=~~b>>>0;c[e+4>>2]=d;c[f+8>>2]=19;f=f+16|0;c[g>>2]=f;return 1}else{f=c[g>>2]|0;h[f>>3]=b;c[f+8>>2]=3;f=f+16|0;c[g>>2]=f;return 1}}e=d+32|0;if(f>>>0>=e>>>0){f=e;c[g>>2]=f;return 1}a=(d+24+4+(3-f)|0)>>>4;d=f;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<e>>>0);c[g>>2]=f+(a+1<<4);f=e;c[g>>2]=f;return 1}function TC(a){a=a|0;var b=0,d=0.0;d=+E(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function UC(a){a=a|0;var b=0,d=0.0;d=+rB(a,1)*57.29577951308232;a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function VC(a){a=a|0;var b=0,d=0.0;d=+L(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function WC(b){b=b|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;j=o;k=b+16|0;f=(c[c[k>>2]>>2]|0)+16|0;n=b+8|0;i=c[n>>2]|0;f=f>>>0<i>>>0?f:412368;e=c[f+8>>2]|0;do if((e|0)==19){e=f;f=c[e>>2]|0;e=c[e+4>>2]|0}else{a:while(1){switch(e|0){case 3:{m=5;break a}case 19:{m=8;break a}default:{}}if((e&15|0)!=4)break;i=nA((c[f>>2]|0)+16|0,j)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)!=(e+1|0))break;f=j;e=c[j+8>>2]|0}if((m|0)==5){p=+h[f>>3];g=+A(+p);if(!(p!=g)?g>=-9223372036854775808.0&g<9223372036854775808.0:0){f=~~g>>>0;e=+B(g)>=1.0?(g>0.0?~~+P(+A(g/4294967296.0),4294967295.0)>>>0:~~+N((g-+(~~g>>>0))/4294967296.0)>>>0):0;m=15}}else if((m|0)==8){e=f;f=c[e>>2]|0;e=c[e+4>>2]|0;m=15}if((m|0)==15){i=c[n>>2]|0;break}m=(c[c[k>>2]>>2]|0)+16|0;e=c[n>>2]|0;if(!(m>>>0>=e>>>0|(m|0)==412368)){k=0;m=e;b=m+8|0;c[b>>2]=k;m=m+16|0;c[n>>2]=m;l=o;return 1}nB(b,1,357826)|0;k=0;m=c[n>>2]|0;b=m+8|0;c[b>>2]=k;m=m+16|0;c[n>>2]=m;l=o;return 1}while(0);k=i;c[k>>2]=f;c[k+4>>2]=e;k=19;m=i;b=m+8|0;c[b>>2]=k;m=m+16|0;c[n>>2]=m;l=o;return 1}function XC(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;d=c[c[a+16>>2]>>2]|0;e=d+16|0;g=a+8|0;f=c[g>>2]|0;if((c[(e>>>0<f>>>0?e:412368)+8>>2]|0)!=19){b=+A(+(+rB(a,1)));if(b>=-9223372036854775808.0&b<9223372036854775808.0){d=+B(b)>=1.0?(b>0.0?~~+P(+A(b/4294967296.0),4294967295.0)>>>0:~~+N((b-+(~~b>>>0))/4294967296.0)>>>0):0;f=c[g>>2]|0;e=f;c[e>>2]=~~b>>>0;c[e+4>>2]=d;c[f+8>>2]=19;f=f+16|0;c[g>>2]=f;return 1}else{f=c[g>>2]|0;h[f>>3]=b;c[f+8>>2]=3;f=f+16|0;c[g>>2]=f;return 1}}e=d+32|0;if(f>>>0>=e>>>0){f=e;c[g>>2]=f;return 1}a=(d+24+4+(3-f)|0)>>>4;d=f;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<e>>>0);c[g>>2]=f+(a+1<<4);f=e;c[g>>2]=f;return 1}function YC(b){b=b|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+16|0;k=p;i=c[c[b+16>>2]>>2]|0;j=i+16|0;o=b+8|0;e=c[o>>2]|0;if((c[(j>>>0<e>>>0?j:412368)+8>>2]|0)==19?(g=i+32|0,g=g>>>0<e>>>0?g:412368,(c[g+8>>2]|0)==19):0){n=g;m=c[n>>2]|0;n=c[n+4>>2]|0;i=b6(m|0,n|0,1,0)|0;g=z;if(g>>>0<0|(g|0)==0&i>>>0<2){if((m|0)==0&(n|0)==0){nB(b,2,357841)|0;e=c[o>>2]|0}k=e;c[k>>2]=0;c[k+4>>2]=0;k=19;n=e;m=n+8|0;c[m>>2]=k;n=n+16|0;c[o>>2]=n;l=p;return 1}e=j>>>0<e>>>0?j:412368;g=c[e+8>>2]|0;do if((g|0)!=19){a:while(1){switch(g|0){case 3:{i=11;break a}case 19:{i=14;break a}default:{}}if((g&15|0)!=4){i=22;break}g=nA((c[e>>2]|0)+16|0,k)|0;e=c[e>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)!=(e+1|0)){i=22;break}e=k;g=c[k+8>>2]|0}if((i|0)==11){q=+h[e>>3];f=+A(+q);if(!(q!=f)?f>=-9223372036854775808.0&f<9223372036854775808.0:0){g=~~f>>>0;e=+B(f)>=1.0?(f>0.0?~~+P(+A(f/4294967296.0),4294967295.0)>>>0:~~+N((f-+(~~f>>>0))/4294967296.0)>>>0):0;i=21}else i=22}else if((i|0)==14){g=c[e>>2]|0;e=c[e+4>>2]|0;i=21}if((i|0)==21)break;else if((i|0)==22){g=0;e=0;break}}else{g=c[e>>2]|0;e=c[e+4>>2]|0}while(0);m=i6(g|0,e|0,m|0,n|0)|0;n=c[o>>2]|0;k=n;c[k>>2]=m;c[k+4>>2]=z;k=19;m=n+8|0;c[m>>2]=k;n=n+16|0;c[o>>2]=n;l=p;return 1}q=+rB(b,1);q=+o4(q,+rB(b,2));n=c[o>>2]|0;h[n>>3]=q;k=3;m=n+8|0;c[m>>2]=k;n=n+16|0;c[o>>2]=n;l=p;return 1}function ZC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=sB(a,1)|0;g=z;d=sB(a,2)|0;f=z;a=a+8|0;b=c[a>>2]|0;c[b>>2]=(g>>>0<f>>>0|(g|0)==(f|0)&e>>>0<d>>>0)&1;c[b+8>>2]=1;c[a>>2]=b+16;return 1}function _C(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0;d=+rB(a,1);g=c[c[a+16>>2]>>2]|0;i=g+32|0;e=a+8|0;do if(!((i|0)==412368?1:i>>>0>=(c[e>>2]|0)>>>0)?(c[g+40>>2]&15|0)!=0:0){b=+rB(a,2);if(b==2.0){b=+H4(d);break}if(b==10.0){b=+G4(d);break}else{b=+M(+d)/+M(+b);break}}else f=3;while(0);if((f|0)==3)b=+M(+d);i=c[e>>2]|0;h[i>>3]=b;c[i+8>>2]=3;c[e>>2]=i+16;return 1}function $C(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;e=c[h>>2]|0;g=a+16|0;b=c[g>>2]|0;j=e-((c[b>>2]|0)+16)|0;f=j>>4;do if((j|0)>0)if((f|0)!=1){b=2;e=1;while(1){j=(jz(a,e,b,1)|0)==0;e=j?e:b;if((b|0)==(f|0))break;else b=b+1|0}b=c[h>>2]|0;g=c[g>>2]|0;if((e|0)<=0){if((e|0)>=-1000999){e=b+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[a+12>>2]|0)+40|0;break}f=-1001e3-e|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(f|0)>(d[e+6>>0]|0|0)?412368:e+16+(f+-1<<4)|0}}else{f=b;i=7}}else i=5;else{nB(a,1,357826)|0;b=c[g>>2]|0;e=c[h>>2]|0;i=5}while(0);if((i|0)==5){g=b;f=e;b=e;e=1;i=7}if((i|0)==7){e=(c[g>>2]|0)+(e<<4)|0;e=e>>>0<f>>>0?e:412368};c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[h>>2]=(c[h>>2]|0)+16;return 1}function aD(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;e=c[h>>2]|0;g=a+16|0;b=c[g>>2]|0;j=e-((c[b>>2]|0)+16)|0;f=j>>4;do if((j|0)>0)if((f|0)!=1){b=2;e=1;while(1){j=(jz(a,b,e,1)|0)==0;e=j?e:b;if((b|0)==(f|0))break;else b=b+1|0}b=c[h>>2]|0;g=c[g>>2]|0;if((e|0)<=0){if((e|0)>=-1000999){e=b+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[a+12>>2]|0)+40|0;break}f=-1001e3-e|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(f|0)>(d[e+6>>0]|0|0)?412368:e+16+(f+-1<<4)|0}}else{f=b;i=7}}else i=5;else{nB(a,1,357826)|0;b=c[g>>2]|0;e=c[h>>2]|0;i=5}while(0);if((i|0)==5){g=b;f=e;b=e;e=1;i=7}if((i|0)==7){e=(c[g>>2]|0)+(e<<4)|0;e=e>>>0<f>>>0?e:412368};c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[h>>2]=(c[h>>2]|0)+16;return 1}function bD(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,g=0,i=0,j=0;g=c[c[a+16>>2]>>2]|0;f=g+16|0;j=a+8|0;i=c[j>>2]|0;if((c[(f>>>0<i>>>0?f:412368)+8>>2]|0)==19){a=g+32|0;if(i>>>0<a>>>0){b=(g+24+4+(3-i)|0)>>>4;f=i;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<a>>>0);c[j>>2]=i+(b+1<<4)}h[a>>3]=0.0;c[g+40>>2]=3;i=g+48|0;c[j>>2]=i;return 2}d=+rB(a,1);if(d<0.0)e=+N(+d);else e=+A(+d);if(e>=-9223372036854775808.0&e<9223372036854775808.0){i=+B(e)>=1.0?(e>0.0?~~+P(+A(e/4294967296.0),4294967295.0)>>>0:~~+N((e-+(~~e>>>0))/4294967296.0)>>>0):0;b=c[j>>2]|0;a=b;c[a>>2]=~~e>>>0;c[a+4>>2]=i;a=19}else{b=c[j>>2]|0;h[b>>3]=e;a=3}c[b+8>>2]=a;i=b+16|0;c[j>>2]=i;h[i>>3]=d==e?0.0:d-e;c[b+24>>2]=3;i=b+32|0;c[j>>2]=i;return 2}function cD(a){a=a|0;var b=0,d=0.0;d=+rB(a,1)*.017453292519943295;a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function dD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0;j=l;l=l+16|0;g=+(G5()|0)*4.656612873077393e-10;i=a+8|0;d=c[i>>2]|0;b=d;switch(d-((c[c[a+16>>2]>>2]|0)+16)>>4|0){case 0:{h[d>>3]=g;c[b+8>>2]=3;c[i>>2]=b+16;l=j;return 1}case 1:{b=1;e=0;f=1;break}case 2:{f=sB(a,1)|0;b=2;e=z;break}default:{oB(a,357763,j);l=j;return 1}}b=sB(a,b)|0;d=z;if((d|0)<(e|0)|(d|0)==(e|0)&b>>>0<f>>>0)nB(a,1,357789)|0;k=b6(f|0,e|0,-1,2147483647)|0;m=z;if((e|0)<0&((d|0)>(m|0)|(d|0)==(m|0)&b>>>0>k>>>0))nB(a,1,357807)|0;a=c6(b|0,d|0,f|0,e|0)|0;g=g*(+(a>>>0)+4294967296.0*+(z|0)+1.0);a=b6(~~g>>>0|0,(+B(g)>=1.0?(g>0.0?~~+P(+A(g/4294967296.0),4294967295.0)>>>0:~~+N((g-+(~~g>>>0))/4294967296.0)>>>0):0)|0,f|0,e|0)|0;m=c[i>>2]|0;k=m;c[k>>2]=a;c[k+4>>2]=z;c[m+8>>2]=19;c[i>>2]=m+16;l=j;return 1}function eD(a){a=a|0;a=~~+rB(a,1)>>>0;F5(a);G5()|0;return 0}function fD(a){a=a|0;var b=0,d=0.0;d=+F(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function gD(a){a=a|0;var b=0,d=0.0;d=+C(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function hD(a){a=a|0;var b=0,d=0.0;d=+G(+(+rB(a,1)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function iD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[c[b+16>>2]>>2]|0;f=e+16|0;i=b+8|0;d=c[i>>2]|0;g=f>>>0<d>>>0;if(!((f|0)==412368|g^1)?(h=c[e+24>>2]|0,(h&15|0)==3):0){e=b+12|0;d=c[e>>2]|0;f=(c[d+12>>2]|0)>0;if((h|0)==19){if(f){jA(b);d=c[e>>2]|0}e=d+280+(((357749>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357749,d+16|0)|0){d=QA(b,357749,7)|0;c[e>>2]=d}b=c[i>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;b=c[i>>2]|0;b=b+16|0;c[i>>2]=b;return 1}else{if(f){jA(b);d=c[e>>2]|0}e=d+280+(((357757>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(357757,d+16|0)|0){d=QA(b,357757,5)|0;c[e>>2]=d}b=c[i>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;b=c[i>>2]|0;b=b+16|0;c[i>>2]=b;return 1}}if((f|0)==412368|g^1){nB(b,1,357826)|0;d=c[i>>2]|0}c[d+8>>2]=0;b=d;b=b+16|0;c[i>>2]=b;return 1}function jD(a){a=a|0;var b=0,d=0.0;d=+$2(+rB(a,1));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function kD(a){a=a|0;var b=0,d=0.0;d=+a3(+rB(a,1));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function lD(a){a=a|0;var b=0,d=0.0;d=+I4(+rB(a,1));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function mD(a){a=a|0;var b=0,d=0.0;d=+rB(a,1);d=+D(+d,+(+rB(a,2)));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function nD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=l;l=l+16|0;f=b;g=+A3(+rB(a,1),f);a=a+8|0;d=c[a>>2]|0;h[d>>3]=g;c[d+8>>2]=3;f=c[f>>2]|0;e=d+16|0;c[e>>2]=f;c[e+4>>2]=((f|0)<0)<<31>>31;c[d+24>>2]=19;c[a>>2]=d+32;l=b;return 2}function oD(a){a=a|0;var b=0,d=0.0;d=+rB(a,1);b=sB(a,2)|0;d=+F4(d,b);a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function pD(a){a=a|0;var b=0,d=0.0;d=+G4(+rB(a,1));a=a+8|0;b=c[a>>2]|0;h[b>>3]=d;c[b+8>>2]=3;c[a>>2]=b+16;return 1}function qD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;d=k;if(b|0?(c[(c[b+12>>2]|0)+140>>2]|0)!=384:0)oB(b,356467,d);i=b+12|0;if((c[(c[i>>2]|0)+12>>2]|0)>0)jA(b);h=WA(b)|0;j=b+8|0;g=c[j>>2]|0;c[g>>2]=h;c[g+8>>2]=69;c[j>>2]=(c[j>>2]|0)+16;TA(b,h,0,17);EB(b,7980,0);if((c[(c[i>>2]|0)+12>>2]|0)>0)jA(b);d=WA(b)|0;h=c[j>>2]|0;c[h>>2]=d;c[h+8>>2]=69;c[j>>2]=(c[j>>2]|0)+16;TA(b,d,0,1);d=c[i>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[i>>2]|0}e=d+280+(((436559>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(436559,d+16|0)|0){d=QA(b,436559,0)|0;c[e>>2]=d}f=c[j>>2]|0;c[f>>2]=d;c[f+8>>2]=(a[d+4>>0]|64)&255;f=c[j>>2]|0;g=f+16|0;c[j>>2]=g;f=f+-16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[j>>2]=(c[j>>2]|0)+16;tz(b,-2);g=c[j>>2]|0;f=g+-16|0;c[j>>2]=f;g=g+-48|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=c[j>>2]|0;g=f+16|0;c[j>>2]=g;h=f+-16|0;d=(c[i>>2]|0)+280+(((359878>>>0)%127|0)<<2)|0;e=c[d>>2]|0;if(!(e3(359878,e+16|0)|0)){i=e;c[g>>2]=i;i=i+4|0;i=a[i>>0]|0;i=i|64;i=i&255;g=f+24|0;c[g>>2]=i;g=c[j>>2]|0;i=g+16|0;c[j>>2]=i;i=g+-16|0;cB(b,h,g,i);b=c[j>>2]|0;b=b+-48|0;c[j>>2]=b;l=k;return 1}else{i=QA(b,359878,7)|0;c[d>>2]=i;c[g>>2]=i;i=i+4|0;i=a[i>>0]|0;i=i|64;i=i&255;g=f+24|0;c[g>>2]=i;g=c[j>>2]|0;i=g+16|0;c[j>>2]=i;i=g+-16|0;cB(b,h,g,i);b=c[j>>2]|0;b=b+-48|0;c[j>>2]=b;l=k;return 1}return 0}function rD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;w=y+8|0;n=y;r=y+12|0;p=b+16|0;f=c[c[p>>2]>>2]|0;g=f+16|0;x=b+8|0;e=c[x>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;q=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[p>>2]>>2]|0;e=c[x>>2]|0}q=f+16|0;e=q>>>0<e>>>0?q:412368;oA(b,e);q=5;break}default:{qB(b,1,361511);o=0;f=0}}if((q|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;o=e+16|0}e=tB(b,2,1,0)|0;g=z;if(!((g|0)>-1|(g|0)==-1&e>>>0>4294967295))if(f>>>0<(0-e|0)>>>0){e=0;g=0}else{e=b6(e|0,g|0,1,0)|0;e=b6(e|0,z|0,f|0,0)|0;g=z}i=tB(b,3,e,g)|0;h=z;if(!((h|0)>-1|(h|0)==-1&i>>>0>4294967295))if(f>>>0<(0-i|0)>>>0){h=0;i=0}else{i=b6(i|0,h|0,1,0)|0;i=b6(i|0,z|0,f|0,0)|0;h=z}k=(g|0)>0|(g|0)==0&e>>>0>1;m=k?e:1;k=k?g:0;e=(h|0)>0|(h|0)==0&i>>>0>f>>>0;f=e?f:i;e=e?0:h;if((e|0)<(k|0)|(e|0)==(k|0)&f>>>0<m>>>0){x=0;l=y;return x|0}j=c6(f|0,e|0,m|0,k|0)|0;i=z;if((i|0)>0|(i|0)==0&j>>>0>2147483646){oB(b,358925,n);x=0;l=y;return x|0}e=j+1|0;i=j+21|0;c[r>>2]=i;f=c[p>>2]|0;g=c[x>>2]|0;h=g;do if(((c[b+24>>2]|0)-h>>4|0)>(i|0)){u=g;v=i;q=23}else{if(((h-(c[b+28>>2]|0)>>4)+5|0)<=(999979-j|0)?(Kz(b,201,r)|0)==0:0){u=c[x>>2]|0;v=c[r>>2]|0;q=23;break}c[w>>2]=358925;oB(b,356224,w)}while(0);if((q|0)==23?(s=f+4|0,t=u+(v<<4)|0,(c[s>>2]|0)>>>0<t>>>0):0)c[s>>2]=t;if((j|0)<=-1){x=e;l=y;return x|0}f=b6(m|0,k|0,-1,0)|0;g=z;h=c[x>>2]|0;i=0;while(1){b=b6(f|0,g|0,i|0,0)|0;w=h;c[w>>2]=d[o+b>>0];c[w+4>>2]=0;c[h+8>>2]=19;h=h+16|0;c[x>>2]=h;if((i|0)>=(j|0))break;else i=i+1|0}l=y;return e|0}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+8224|0;q=r;p=r+16|0;h=b+8|0;j=(c[h>>2]|0)-((c[c[b+16>>2]>>2]|0)+16)|0;k=j>>4;n=p+12|0;c[n>>2]=b;o=p+16|0;c[p>>2]=o;m=p+8|0;c[m>>2]=0;i=p+4|0;c[i>>2]=8192;if(k>>>0>8192){d=k>>>0>16384?k:16384;f=zz(b,d)|0;s6(f|0,c[p>>2]|0,c[m>>2]|0)|0;if((c[p>>2]|0)!=(o|0)){g=c[h>>2]|0;e=g+-16|0;g=g+-32|0;do{c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];g=g+16|0;e=e+-16|0}while(g>>>0<e>>>0);c[h>>2]=(c[h>>2]|0)+-16}c[p>>2]=f;c[i>>2]=d;d=c[m>>2]|0}else{f=o;d=0}g=f+d|0;if((j|0)>=16){e=1;while(1){d=sB(b,e)|0;if(!((d&255|0)==(d|0)&0==(z|0)))nB(b,e,358906)|0;a[g+(e+-1)>>0]=d;if((e|0)==(k|0))break;else e=e+1|0}d=c[m>>2]|0;f=c[p>>2]|0}e=d+k|0;c[m>>2]=e;d=c[n>>2]|0;if((c[(c[d+12>>2]|0)+12>>2]|0)>0)jA(d);n=QA(d,f,e)|0;f=d+8|0;d=c[f>>2]|0;c[d>>2]=n;c[d+8>>2]=(a[n+4>>0]|64)&255;d=c[f>>2]|0;c[f>>2]=d+16;if((c[p>>2]|0)==(o|0)){l=r;return 1}e=d;d=d+-16|0;do{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];d=d+16|0;e=e+-16|0}while(d>>>0<e>>>0);c[f>>2]=(c[f>>2]|0)+-16;l=r;return 1}function tD(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+8256|0;s=w+16|0;v=w;r=w+8232|0;u=w+24|0;e=b+16|0;f=c[c[e>>2]>>2]|0;d=f+32|0;j=b+8|0;g=c[j>>2]|0;d=d>>>0<g>>>0?d:412368;switch(c[d+8>>2]|0){case 0:{d=0;break}case 1:{d=(c[d>>2]|0)!=0;break}default:d=1}k=d&1;q=f+16|0;if(!(q>>>0>=g>>>0|(q|0)==412368)?(c[f+24>>2]&15|0)==6:0)e=g;else{qB(b,1,361148);f=c[c[e>>2]>>2]|0;e=c[j>>2]|0}d=f+32|0;if(e>>>0<d>>>0){g=(f+24+4+(3-e)|0)>>>4;i=e;do{c[i+8>>2]=0;i=i+16|0}while(i>>>0<d>>>0);c[j>>2]=e+(g+1<<4)}c[j>>2]=d;o=u+12|0;c[o>>2]=b;q=u+16|0;c[u>>2]=q;p=u+8|0;c[p>>2]=0;c[u+4>>2]=8192;if((c[f+24>>2]|0)==70){j=c[(c[f+16>>2]|0)+12>>2]|0;c[r>>2]=b;m=r+4|0;c[m>>2]=5;n=r+8|0;c[n>>2]=u;c[r+12>>2]=k;i=r+16|0;c[q>>2]=1635077147;c[p>>2]=4;c[i>>2]=0;a[u+20>>0]=83;c[p>>2]=5;a[v>>0]=0;e=c[m>>2]|0;f=c[r>>2]|0;g=c[n>>2]|0;d=Uh[e&63](f,v,1,g)|0;c[i>>2]=d;if(!d){d=Uh[e&63](f,355519,6,g)|0;c[i>>2]=d;a[v>>0]=4;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;c[i>>2]=d;a[v>>0]=4;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;c[i>>2]=d;a[v>>0]=4;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;c[i>>2]=d;a[v>>0]=8;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;c[i>>2]=d;a[v>>0]=8;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;c[i>>2]=d;k=v;c[k>>2]=22136;c[k+4>>2]=0;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,8,c[n>>2]|0)|0;c[i>>2]=d;h[v>>3]=370.5;if(!d){d=Uh[c[m>>2]&63](c[r>>2]|0,v,8,c[n>>2]|0)|0;c[i>>2]=d}}else t=25}else t=23}else t=21}else t=19}else t=17}else t=15}else{a[v>>0]=4;t=15}if((t|0)==15){a[v>>0]=4;t=17}if((t|0)==17){a[v>>0]=4;t=19}if((t|0)==19){a[v>>0]=8;t=21}if((t|0)==21){a[v>>0]=8;t=23}if((t|0)==23){k=v;c[k>>2]=22136;c[k+4>>2]=0;t=25}if((t|0)==25)h[v>>3]=370.5;a[v>>0]=c[j+12>>2];if(!d)c[i>>2]=Uh[c[m>>2]&63](c[r>>2]|0,v,1,c[n>>2]|0)|0;Vz(j,0,r);if(!(c[i>>2]|0)){e=c[o>>2]|0;f=c[u>>2]|0;d=c[p>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);t=QA(e,f,d)|0;f=e+8|0;d=c[f>>2]|0;c[d>>2]=t;c[d+8>>2]=(a[t+4>>0]|64)&255;d=c[f>>2]|0;c[f>>2]=d+16;if((c[u>>2]|0)==(q|0)){l=w;return 1}e=d;d=d+-16|0;do{c[v>>2]=c[d>>2];c[v+4>>2]=c[d+4>>2];c[v+8>>2]=c[d+8>>2];c[v+12>>2]=c[d+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];d=d+16|0;e=e+-16|0}while(d>>>0<e>>>0);c[f>>2]=(c[f>>2]|0)+-16;l=w;return 1}}oB(b,358876,s);l=w;return 1}function uD(a){a=a|0;return LD(a,1)|0}function vD(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+8432|0;Z=da+160|0;Y=da+152|0;X=da+144|0;W=da+136|0;V=da+128|0;T=da+120|0;S=da+112|0;R=da+104|0;Q=da+96|0;P=da+88|0;O=da+80|0;N=da+72|0;M=da+64|0;aa=da+56|0;$=da+48|0;_=da+40|0;U=da+32|0;L=da+24|0;K=da+16|0;ca=da;J=da+8376|0;G=da+8384|0;ba=da+168|0;H=da+8400|0;I=da+8380|0;w=b+8|0;e=c[w>>2]|0;i=b+16|0;f=c[c[i>>2]>>2]|0;g=f+16|0;F=e-g>>4;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;v=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[i>>2]>>2]|0;e=c[w>>2]|0}v=f+16|0;e=v>>>0<e>>>0?v:412368;oA(b,e);v=5;break}default:{qB(b,1,361511);e=0;f=0}}if((v|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;e=e+16|0}q=e+f|0;t=ba+12|0;c[t>>2]=b;u=ba+16|0;c[ba>>2]=u;r=ba+8|0;c[r>>2]=0;s=ba+4|0;c[s>>2]=8192;a:do if((f|0)>0){o=H+1|0;p=1;n=e;b:while(1){k=n;while(1){f=a[k>>0]|0;if(f<<24>>24==37){n=k+1|0;if((a[n>>0]|0)!=37)break;e=c[r>>2]|0;f=c[s>>2]|0;if(e>>>0>=f>>>0?(E=c[t>>2]|0,(f|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(E,356281,L);g=zz(E,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=E+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;g=a[n>>0]|0;e=c[r>>2]|0;f=2}else{g=37;f=2}}else{e=c[r>>2]|0;g=c[s>>2]|0;if(e>>>0>=g>>>0?(D=c[t>>2]|0,(g|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(D,356281,K);g=zz(D,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=D+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;g=a[k>>0]|0;e=c[r>>2]|0;f=1}else{g=f;f=1}}k=k+f|0;c[r>>2]=e+1;a[(c[ba>>2]|0)+e>>0]=g;if(k>>>0>=q>>>0){v=132;break b}}g=c[t>>2]|0;f=c[s>>2]|0;e=c[r>>2]|0;if((f-e|0)>>>0<428){j=f<<1;j=(j-e|0)>>>0<428?e+428|0:j;if(j>>>0<e>>>0|(j-e|0)>>>0<428)oB(g,356281,U);f=zz(g,j)|0;s6(f|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=g+8|0;g=c[i>>2]|0;e=g+-16|0;g=g+-32|0;do{c[ca>>2]=c[g>>2];c[ca+4>>2]=c[g+4>>2];c[ca+8>>2]=c[g+8>>2];c[ca+12>>2]=c[g+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];g=g+16|0;e=e+-16|0}while(g>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=f;c[s>>2]=j;e=c[r>>2]|0}else f=c[ba>>2]|0;m=f+e|0;k=p;p=p+1|0;if((k|0)>=(F|0))nB(b,p,358737)|0;e=a[n>>0]|0;c:do if(!(e<<24>>24)){e=0;f=n}else{f=n;while(1){if(!(u3(358746,e<<24>>24,6)|0))break c;f=f+1|0;e=a[f>>0]|0;if(!(e<<24>>24)){e=0;break}}}while(0);k=n;if((f-k|0)>>>0>5){oB(b,358752,_);e=a[f>>0]|0}j=((e&255)+-48|0)>>>0<10?f+1|0:f;j=((d[j>>0]|0)+-48|0)>>>0<10?j+1|0:j;e=a[j>>0]|0;if(e<<24>>24==46){g=j+1|0;i=((d[g>>0]|0)+-48|0)>>>0<10;f=i?j+2|0:g;e=a[f>>0]|0;if(((e&255)+-48|0)>>>0<10){f=(i?g:j)+2|0;e=a[f>>0]|0}}else f=j;if(((e&255)+-48|0)>>>0<10)oB(b,358784,$);a[H>>0]=37;e=f-k|0;s6(o|0,n|0,e+1|0)|0;a[H+(e+2)>>0]=0;n=f+1|0;e=a[f>>0]|0;d:do switch(e|0){case 99:{c[aa>>2]=sB(b,p)|0;e=h3(m,H,aa)|0;break}case 88:case 120:case 117:case 111:case 105:case 100:{j=sB(b,p)|0;k=z;e=r4(H)|0;g=H+(e+-1)|0;i=a[g>>0]|0;a[g>>0]=a[358829]|0;a[g+1>>0]=a[358830]|0;a[g+2>>0]=a[358831]|0;a[H+(e+1)>>0]=i;a[H+(e+2)>>0]=0;e=M;c[e>>2]=j;c[e+4>>2]=k;e=h3(m,H,M)|0;break}case 65:case 97:{a[H+(r4(H)|0)>>0]=0;h[N>>3]=+rB(b,p);e=h3(m,H,N)|0;break}case 71:case 103:case 102:case 69:case 101:{a[H+(r4(H)|0)>>0]=0;h[O>>3]=+rB(b,p);e=h3(m,H,O)|0;break}case 113:{k=kz(b,p,J)|0;if(!k)qB(b,p,361511);e=c[r>>2]|0;f=c[s>>2]|0;if(e>>>0>=f>>>0?(x=c[t>>2]|0,(f|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(x,356281,P);g=zz(x,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=x+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;e=c[r>>2]|0}c[r>>2]=e+1;a[(c[ba>>2]|0)+e>>0]=34;m=c[J>>2]|0;c[J>>2]=m+-1;e:do if(m|0)while(1){e=a[k>>0]|0;switch(e<<24>>24){case 10:case 92:case 34:{e=c[r>>2]|0;f=c[s>>2]|0;if(e>>>0>=f>>>0?(y=c[t>>2]|0,(f|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(y,356281,Q);g=zz(y,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=y+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;e=c[r>>2]|0}c[r>>2]=e+1;a[(c[ba>>2]|0)+e>>0]=92;e=c[r>>2]|0;f=c[s>>2]|0;if(e>>>0>=f>>>0?(A=c[t>>2]|0,(f|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(A,356281,R);g=zz(A,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=A+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;e=c[r>>2]|0}m=a[k>>0]|0;c[r>>2]=e+1;a[(c[ba>>2]|0)+e>>0]=m;break}case 0:{e=0;v=93;break}default:if(!(M3(e&255)|0)){g=c[r>>2]|0;f=c[s>>2]|0;if(g>>>0>=f>>>0?(B=c[t>>2]|0,(f|0)==(g|0)):0){j=g<<1;j=(j|0)==(g|0)?g+1|0:j;if(j>>>0<g>>>0)oB(B,356281,W);g=zz(B,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=B+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;f=c[r>>2]|0;e=a[k>>0]|0}else f=g;c[r>>2]=f+1;a[(c[ba>>2]|0)+f>>0]=e}else v=93}if((v|0)==93){v=0;e=e&255;if(((d[k+1>>0]|0)+-48|0)>>>0<10){c[T>>2]=e;h3(G,358836,T)|0}else{c[S>>2]=e;h3(G,358832,S)|0}m=r4(G)|0;g=c[t>>2]|0;f=c[s>>2]|0;e=c[r>>2]|0;if((f-e|0)>>>0<m>>>0){j=f<<1;j=(j-e|0)>>>0<m>>>0?e+m|0:j;if(j>>>0<e>>>0|(j-e|0)>>>0<m>>>0)oB(g,356281,V);f=zz(g,j)|0;s6(f|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=g+8|0;g=c[i>>2]|0;e=g+-16|0;g=g+-32|0;do{c[ca>>2]=c[g>>2];c[ca+4>>2]=c[g+4>>2];c[ca+8>>2]=c[g+8>>2];c[ca+12>>2]=c[g+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];g=g+16|0;e=e+-16|0}while(g>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=f;c[s>>2]=j;e=c[r>>2]|0}else f=c[ba>>2]|0;s6(f+e|0,G|0,m|0)|0;c[r>>2]=(c[r>>2]|0)+m}m=c[J>>2]|0;c[J>>2]=m+-1;if(!m)break e;else k=k+1|0}while(0);e=c[r>>2]|0;f=c[s>>2]|0;if(e>>>0>=f>>>0?(C=c[t>>2]|0,(f|0)==(e|0)):0){j=e<<1;j=(j|0)==(e|0)?e+1|0:j;if(j>>>0<e>>>0)oB(C,356281,X);g=zz(C,j)|0;s6(g|0,c[ba>>2]|0,c[r>>2]|0)|0;if((c[ba>>2]|0)!=(u|0)){i=C+8|0;f=c[i>>2]|0;e=f+-16|0;f=f+-32|0;do{c[ca>>2]=c[f>>2];c[ca+4>>2]=c[f+4>>2];c[ca+8>>2]=c[f+8>>2];c[ca+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[ca>>2];c[e+4>>2]=c[ca+4>>2];c[e+8>>2]=c[ca+8>>2];c[e+12>>2]=c[ca+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ba>>2]=g;c[s>>2]=j;e=c[r>>2]|0}c[r>>2]=e+1;a[(c[ba>>2]|0)+e>>0]=34;e=0;break}case 115:{e=DB(b,p,I)|0;k=(s4(H,46)|0)==0;if(k&(c[I>>2]|0)>>>0>99){vB(ba);e=0;break d}else{c[Y>>2]=e;e=h3(m,H,Y)|0;c[w>>2]=(c[w>>2]|0)+-16;break d}}default:break b}while(0);g=(c[r>>2]|0)+e|0;c[r>>2]=g;if(n>>>0>=q>>>0)break a}if((v|0)==132){g=c[r>>2]|0;break}c[Z>>2]=e;oB(b,358842,Z);l=da;return 1}else g=0;while(0);e=c[t>>2]|0;f=c[ba>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);aa=QA(e,f,g)|0;g=e+8|0;e=c[g>>2]|0;c[e>>2]=aa;c[e+8>>2]=(a[aa+4>>0]|64)&255;e=c[g>>2]|0;c[g>>2]=e+16;if((c[ba>>2]|0)==(u|0)){l=da;return 1}f=e;e=e+-16|0;do{c[ca>>2]=c[e>>2];c[ca+4>>2]=c[e+4>>2];c[ca+8>>2]=c[e+8>>2];c[ca+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[ca>>2];c[f+4>>2]=c[ca+4>>2];c[f+8>>2]=c[ca+8>>2];c[f+12>>2]=c[ca+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);c[g>>2]=(c[g>>2]|0)+-16;l=da;return 1}function wD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=b+16|0;e=c[c[f>>2]>>2]|0;h=e+16|0;i=b+8|0;d=c[i>>2]|0;switch(c[(h>>>0<d>>>0?h:412368)+8>>2]&15){case 4:break;case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[f>>2]>>2]|0;d=c[i>>2]|0}h=e+16|0;oA(b,h>>>0<d>>>0?h:412368);break}default:qB(b,1,361511)}d=c[c[f>>2]>>2]|0;h=d+32|0;e=c[i>>2]|0;switch(c[(h>>>0<e>>>0?h:412368)+8>>2]&15){case 4:break;case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);d=c[c[f>>2]>>2]|0;e=c[i>>2]|0}h=d+32|0;oA(b,h>>>0<e>>>0?h:412368);break}default:qB(b,2,361511)}d=c[c[f>>2]>>2]|0;e=c[i>>2]|0;f=d+48|0;if(e>>>0<f>>>0){g=(d+40+4+(3-e)|0)>>>4;h=e;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<f>>>0);c[i>>2]=e+(g+1<<4)}e=f;c[e>>2]=0;c[e+4>>2]=0;c[d+56>>2]=19;c[i>>2]=d+64;d=b+12|0;e=c[d>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[d>>2]|0}d=e+4|0;f=Uh[c[e>>2]&63](c[d>>2]|0,0,6,64)|0;if(!f){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);d=Uh[c[e>>2]&63](c[d>>2]|0,0,6,64)|0;if(!d)Jz(b,4);else j=d}else j=f;b=e+12|0;c[b>>2]=(c[b>>2]|0)+64;a[j+5>>0]=a[e+60>>0]&3;a[j+4>>0]=38;b=e+64|0;c[j>>2]=c[b>>2];c[b>>2]=j;a[j+6>>0]=3;c[j+12>>2]=406;b=c[i>>2]|0;c[i>>2]=b+-48;h=j+48|0;b=b+-16|0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];h=j+32|0;b=(c[i>>2]|0)+16|0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];h=c[i>>2]|0;b=j+16|0;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];b=c[i>>2]|0;c[b>>2]=j;c[b+8>>2]=102;c[i>>2]=(c[i>>2]|0)+16;return 1}function xD(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+8592|0;ba=fa+88|0;Y=fa+80|0;X=fa+72|0;W=fa+64|0;V=fa+56|0;$=fa+48|0;_=fa+40|0;Z=fa+32|0;U=fa+24|0;T=fa+16|0;ea=fa;S=fa+8304|0;ca=fa+96|0;j=e+16|0;g=c[c[j>>2]>>2]|0;h=g+16|0;da=e+8|0;f=c[da>>2]|0;h=h>>>0<f>>>0?h:412368;switch(c[h+8>>2]&15){case 4:{f=h;H=5;break}case 3:{if((c[(c[e+12>>2]|0)+12>>2]|0)>0){jA(e);g=c[c[j>>2]>>2]|0;f=c[da>>2]|0}H=g+16|0;f=H>>>0<f>>>0?H:412368;oA(e,f);H=5;break}default:{qB(e,1,361511);k=0;g=0}}if((H|0)==5){f=c[f>>2]|0;if((a[f+4>>0]|0)==4)g=d[f+7>>0]|0;else g=c[f+12>>2]|0;k=f+16|0}h=c[c[j>>2]>>2]|0;i=h+32|0;f=c[da>>2]|0;i=i>>>0<f>>>0?i:412368;switch(c[i+8>>2]&15){case 4:{f=i;H=14;break}case 3:{if((c[(c[e+12>>2]|0)+12>>2]|0)>0){jA(e);h=c[c[j>>2]>>2]|0;f=c[da>>2]|0}H=h+32|0;f=H>>>0<f>>>0?H:412368;oA(e,f);H=14;break}default:{qB(e,2,361511);i=0;h=0}}if((H|0)==14){f=c[f>>2]|0;if((a[f+4>>0]|0)==4)h=d[f+7>>0]|0;else h=c[f+12>>2]|0;i=f+16|0}f=c[c[j>>2]>>2]|0;aa=f+48|0;if((aa|0)==412368?1:aa>>>0>=(c[da>>2]|0)>>>0)F=-1;else F=c[f+56>>2]&15;C=tB(e,4,g+1|0,0)|0;D=z;E=(a[i>>0]|0)==94;if((F+-3|0)>>>0>=4)nB(e,3,358631)|0;J=ca+12|0;c[J>>2]=e;aa=ca+16|0;c[ca>>2]=aa;K=ca+8|0;c[K>>2]=0;I=ca+4|0;c[I>>2]=8192;B=E?i+1|0:i;A=S+16|0;c[A>>2]=e;c[S>>2]=200;y=S+4|0;c[y>>2]=k;G=S+8|0;c[G>>2]=k+g;c[S+12>>2]=B+(h+(E<<31>>31));v=S+20|0;w=S+28|0;x=S+24|0;m=0;n=0;a:while(1){if(!((m|0)<(D|0)|(m|0)==(D|0)&n>>>0<C>>>0)){H=127;break}c[v>>2]=0;u=MD(S,k,B)|0;if(u){n=b6(n|0,m|0,1,0)|0;m=z;t=c[A>>2]|0;b:do switch(F|0){case 6:{f=t+8|0;p=c[f>>2]|0;g=(c[c[t+16>>2]>>2]|0)+48|0;g=g>>>0<p>>>0?g:412368;c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];c[f>>2]=(c[f>>2]|0)+16;p=c[v>>2]|0;p=(k|0)!=0&(p|0)==0?1:p;g=c[A>>2]|0;h=p+20|0;c[ea>>2]=h;i=c[g+16>>2]|0;j=g+8|0;e=c[j>>2]|0;o=e;do if(((c[g+24>>2]|0)-o>>4|0)>(h|0)){N=e;O=h;H=31}else{if(((o-(c[g+28>>2]|0)>>4)+5|0)<=(999980-p|0)?(Kz(g,201,ea)|0)==0:0){N=c[j>>2]|0;O=c[ea>>2]|0;H=31;break}c[T>>2]=361741;oB(g,356224,T)}while(0);if((H|0)==31?(0,L=i+4|0,M=N+(O<<4)|0,(c[L>>2]|0)>>>0<M>>>0):0)c[L>>2]=M;if((p|0)>0){g=0;do{ND(S,g,k,u);g=g+1|0}while((g|0)!=(p|0))}h=(c[f>>2]|0)+(~p<<4)|0;i=t+106|0;g=(b[i>>1]|0)+1<<16>>16;b[i>>1]=g;if((g&65535)>199){if(g<<16>>16==200){H=39;break a}if((g&65535)>224){H=41;break a}}g=t+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(t,h,1)|0))jB(t);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+-1<<16>>16;H=105;break}case 5:{do if((c[v>>2]|0)>0){g=c[w>>2]|0;if((g|0)!=-1){f=c[x>>2]|0;if((g|0)==-2){s=f+1-(c[y>>2]|0)|0;f=t+8|0;g=c[f>>2]|0;H=g;c[H>>2]=s;c[H+4>>2]=((s|0)<0)<<31>>31;c[g+8>>2]=19;g=g+16|0;c[f>>2]=g;break}else h=t}else{oB(t,358419,Z);h=c[A>>2]|0;f=c[x>>2]|0}if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);H=QA(h,f,g)|0;g=h+8|0;f=c[g>>2]|0;c[f>>2]=H;c[f+8>>2]=(a[H+4>>0]|64)&255;c[g>>2]=(c[g>>2]|0)+16;g=t+8|0;f=g;g=c[g>>2]|0}else{if((c[(c[t+12>>2]|0)+12>>2]|0)>0)jA(t);H=QA(t,k,u-k|0)|0;f=t+8|0;g=c[f>>2]|0;c[g>>2]=H;c[g+8>>2]=(a[H+4>>0]|64)&255;g=(c[f>>2]|0)+16|0;c[f>>2]=g}while(0);s=(c[c[t+16>>2]>>2]|0)+48|0;H=g+-16|0;bB(t,s>>>0<g>>>0?s:412368,H,H);H=105;break}default:{h=t+16|0;g=c[c[h>>2]>>2]|0;f=g+48|0;s=t+8|0;i=c[s>>2]|0;f=f>>>0<i>>>0?f:412368;switch(c[f+8>>2]&15){case 4:break;case 3:{if((c[(c[t+12>>2]|0)+12>>2]|0)>0){jA(t);g=c[c[h>>2]>>2]|0;f=c[s>>2]|0}else f=i;r=g+48|0;f=r>>>0<f>>>0?r:412368;oA(t,f);break}default:break b}f=c[f>>2]|0;if((a[f+4>>0]|0)==4)r=d[f+7>>0]|0;else r=c[f+12>>2]|0;p=f+16|0;if(r|0){q=u-k|0;f=0;do{o=p+f|0;g=a[o>>0]|0;do if(g<<24>>24==37){f=f+1|0;o=p+f|0;g=a[o>>0]|0;h=g<<24>>24;if(((g&255)+-48|0)>>>0>=10){if(g<<24>>24!=37){c[$>>2]=37;oB(t,358662,$)}g=c[K>>2]|0;h=c[I>>2]|0;if(g>>>0>=h>>>0?(Q=c[J>>2]|0,(h|0)==(g|0)):0){e=g<<1;e=(e|0)==(g|0)?g+1|0:e;if(e>>>0<g>>>0)oB(Q,356281,V);i=zz(Q,e)|0;s6(i|0,c[ca>>2]|0,c[K>>2]|0)|0;if((c[ca>>2]|0)!=(aa|0)){j=Q+8|0;h=c[j>>2]|0;g=h+-16|0;h=h+-32|0;do{c[ea>>2]=c[h>>2];c[ea+4>>2]=c[h+4>>2];c[ea+8>>2]=c[h+8>>2];c[ea+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[ea>>2];c[g+4>>2]=c[ea+4>>2];c[g+8>>2]=c[ea+8>>2];c[g+12>>2]=c[ea+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16}c[ca>>2]=i;c[I>>2]=e;g=c[K>>2]|0}o=a[o>>0]|0;c[K>>2]=g+1;a[(c[ca>>2]|0)+g>>0]=o;break}if(g<<24>>24!=48){ND(S,h+-49|0,k,u);DB(t,-1,0)|0;h=c[s>>2]|0;g=h+-16|0;h=h+-32|0;do{c[ea>>2]=c[h>>2];c[ea+4>>2]=c[h+4>>2];c[ea+8>>2]=c[h+8>>2];c[ea+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[ea>>2];c[g+4>>2]=c[ea+4>>2];c[g+8>>2]=c[ea+8>>2];c[g+12>>2]=c[ea+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0);c[s>>2]=(c[s>>2]|0)+-16;vB(ca);break}i=c[J>>2]|0;h=c[I>>2]|0;g=c[K>>2]|0;if((h-g|0)>>>0<q>>>0){e=h<<1;e=(e-g|0)>>>0<q>>>0?g+q|0:e;if(e>>>0<g>>>0|(e-g|0)>>>0<q>>>0)oB(i,356281,W);h=zz(i,e)|0;s6(h|0,c[ca>>2]|0,c[K>>2]|0)|0;if((c[ca>>2]|0)!=(aa|0)){j=i+8|0;i=c[j>>2]|0;g=i+-16|0;i=i+-32|0;do{c[ea>>2]=c[i>>2];c[ea+4>>2]=c[i+4>>2];c[ea+8>>2]=c[i+8>>2];c[ea+12>>2]=c[i+12>>2];c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[g>>2]=c[ea>>2];c[g+4>>2]=c[ea+4>>2];c[g+8>>2]=c[ea+8>>2];c[g+12>>2]=c[ea+12>>2];i=i+16|0;g=g+-16|0}while(i>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16}c[ca>>2]=h;c[I>>2]=e;g=c[K>>2]|0}else h=c[ca>>2]|0;s6(h+g|0,k|0,q|0)|0;c[K>>2]=(c[K>>2]|0)+q}else{i=c[K>>2]|0;h=c[I>>2]|0;if(i>>>0>=h>>>0?(P=c[J>>2]|0,(h|0)==(i|0)):0){e=i<<1;e=(e|0)==(i|0)?i+1|0:e;if(e>>>0<i>>>0)oB(P,356281,_);i=zz(P,e)|0;s6(i|0,c[ca>>2]|0,c[K>>2]|0)|0;if((c[ca>>2]|0)!=(aa|0)){j=P+8|0;h=c[j>>2]|0;g=h+-16|0;h=h+-32|0;do{c[ea>>2]=c[h>>2];c[ea+4>>2]=c[h+4>>2];c[ea+8>>2]=c[h+8>>2];c[ea+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[ea>>2];c[g+4>>2]=c[ea+4>>2];c[g+8>>2]=c[ea+8>>2];c[g+12>>2]=c[ea+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16}c[ca>>2]=i;c[I>>2]=e;h=c[K>>2]|0;g=a[o>>0]|0}else h=i;c[K>>2]=h+1;a[(c[ca>>2]|0)+h>>0]=g}while(0);f=f+1|0}while(f>>>0<r>>>0)}}}while(0);if((H|0)==105){H=0;g=c[f>>2]|0;h=g+-16|0;g=c[g+-8>>2]|0;switch(g|0){case 0:{H=108;break}case 1:{if(!(c[h>>2]|0))H=108;else{f=g&15;H=112}break}default:{f=g&15;if((f+-3|0)>>>0>=2)H=112}}if((H|0)==108){H=0;c[f>>2]=h;if((c[(c[t+12>>2]|0)+12>>2]|0)>0)jA(t);s=QA(t,k,u-k|0)|0;t=c[f>>2]|0;c[t>>2]=s;c[t+8>>2]=(a[s+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+16}else if((H|0)==112){H=0;c[X>>2]=c[7100+(((h|0)==412368?0:f+1|0)<<2)>>2];oB(t,358704,X)}vB(ca)}if(u>>>0>k>>>0)k=u;else H=115}else H=115;if((H|0)==115){H=0;if(k>>>0>=(c[G>>2]|0)>>>0){H=127;break}f=c[K>>2]|0;g=c[I>>2]|0;if(f>>>0>=g>>>0?(R=c[J>>2]|0,(g|0)==(f|0)):0){j=f<<1;j=(j|0)==(f|0)?f+1|0:j;if(j>>>0<f>>>0)oB(R,356281,Y);h=zz(R,j)|0;s6(h|0,c[ca>>2]|0,c[K>>2]|0)|0;if((c[ca>>2]|0)!=(aa|0)){i=R+8|0;g=c[i>>2]|0;f=g+-16|0;g=g+-32|0;do{c[ea>>2]=c[g>>2];c[ea+4>>2]=c[g+4>>2];c[ea+8>>2]=c[g+8>>2];c[ea+12>>2]=c[g+12>>2];c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[f>>2]=c[ea>>2];c[f+4>>2]=c[ea+4>>2];c[f+8>>2]=c[ea+8>>2];c[f+12>>2]=c[ea+12>>2];g=g+16|0;f=f+-16|0}while(g>>>0<f>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ca>>2]=h;c[I>>2]=j;f=c[K>>2]|0}u=a[k>>0]|0;c[K>>2]=f+1;a[(c[ca>>2]|0)+f>>0]=u;k=k+1|0}if(E){H=127;break}}if((H|0)==39)Fz(t,353895,U);else if((H|0)==41)Jz(t,6);else if((H|0)==127){e=(c[G>>2]|0)-k|0;h=c[J>>2]|0;g=c[I>>2]|0;f=c[K>>2]|0;if((g-f|0)>>>0<e>>>0){j=g<<1;j=(j-f|0)>>>0<e>>>0?f+e|0:j;if(j>>>0<f>>>0|(j-f|0)>>>0<e>>>0)oB(h,356281,ba);g=zz(h,j)|0;s6(g|0,c[ca>>2]|0,c[K>>2]|0)|0;if((c[ca>>2]|0)!=(aa|0)){i=h+8|0;h=c[i>>2]|0;f=h+-16|0;h=h+-32|0;do{c[ea>>2]=c[h>>2];c[ea+4>>2]=c[h+4>>2];c[ea+8>>2]=c[h+8>>2];c[ea+12>>2]=c[h+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[f>>2]=c[ea>>2];c[f+4>>2]=c[ea+4>>2];c[f+8>>2]=c[ea+8>>2];c[f+12>>2]=c[ea+12>>2];h=h+16|0;f=f+-16|0}while(h>>>0<f>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[ca>>2]=g;c[I>>2]=j;f=c[K>>2]|0}else g=c[ca>>2]|0;s6(g+f|0,k|0,e|0)|0;h=(c[K>>2]|0)+e|0;c[K>>2]=h;f=c[J>>2]|0;g=c[ca>>2]|0;if((c[(c[f+12>>2]|0)+12>>2]|0)>0)jA(f);ba=QA(f,g,h)|0;h=f+8|0;f=c[h>>2]|0;c[f>>2]=ba;c[f+8>>2]=(a[ba+4>>0]|64)&255;f=c[h>>2]|0;c[h>>2]=f+16;if((c[ca>>2]|0)==(aa|0)){ea=c[da>>2]|0;ca=ea;ba=ca;c[ba>>2]=n;ca=ca+4|0;c[ca>>2]=m;ca=ea+8|0;c[ca>>2]=19;ea=ea+16|0;c[da>>2]=ea;l=fa;return 2}g=f;f=f+-16|0;do{c[ea>>2]=c[f>>2];c[ea+4>>2]=c[f+4>>2];c[ea+8>>2]=c[f+8>>2];c[ea+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[ea>>2];c[g+4>>2]=c[ea+4>>2];c[g+8>>2]=c[ea+8>>2];c[g+12>>2]=c[ea+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0);c[h>>2]=(c[h>>2]|0)+-16;ea=c[da>>2]|0;ca=ea;ba=ca;c[ba>>2]=n;ca=ca+4|0;c[ca>>2]=m;ca=ea+8|0;c[ca>>2]=19;ea=ea+16|0;c[da>>2]=ea;l=fa;return 2}return 0}function yD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+16|0;f=c[c[g>>2]>>2]|0;e=f+16|0;j=b+8|0;h=c[j>>2]|0;e=e>>>0<h>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[g>>2]>>2]|0;e=c[j>>2]|0}else e=h;i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);e=0}}do if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4){e=d[e+7>>0]|0;break}else{e=c[e+12>>2]|0;break}}while(0);i=c[j>>2]|0;b=i;c[b>>2]=e;c[b+4>>2]=0;c[i+8>>2]=19;c[j>>2]=i+16;return 1}function zD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+8224|0;r=s;q=s+16|0;h=b+16|0;f=c[c[h>>2]>>2]|0;g=f+16|0;o=b+8|0;e=c[o>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[h>>2]>>2]|0;e=c[o>>2]|0}i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);k=0;f=0}}if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;k=e+16|0}m=q+12|0;c[m>>2]=b;p=q+16|0;c[q>>2]=p;n=q+8|0;c[n>>2]=0;j=q+4|0;c[j>>2]=8192;if(f>>>0>8192){i=f>>>0>16384?f:16384;g=zz(b,i)|0;s6(g|0,c[q>>2]|0,c[n>>2]|0)|0;if((c[q>>2]|0)!=(p|0)){h=c[o>>2]|0;e=h+-16|0;h=h+-32|0;do{c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];h=h+16|0;e=e+-16|0}while(h>>>0<e>>>0);c[o>>2]=(c[o>>2]|0)+-16}c[q>>2]=g;c[j>>2]=i;e=c[n>>2]|0}else{g=p;e=0}h=g+e|0;if(!f)f=0;else{e=0;do{a[h+e>>0]=N2(d[k+e>>0]|0)|0;e=e+1|0}while((e|0)!=(f|0));e=c[n>>2]|0;g=c[q>>2]|0}f=e+f|0;c[n>>2]=f;e=c[m>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);o=QA(e,g,f)|0;g=e+8|0;e=c[g>>2]|0;c[e>>2]=o;c[e+8>>2]=(a[o+4>>0]|64)&255;e=c[g>>2]|0;c[g>>2]=e+16;if((c[q>>2]|0)==(p|0)){l=s;return 1}f=e;e=e+-16|0;do{c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);c[g>>2]=(c[g>>2]|0)+-16;l=s;return 1}function AD(a){a=a|0;return LD(a,0)|0}function BD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+8240|0;n=y+16|0;x=y;w=y+24|0;k=b+16|0;f=c[c[k>>2]>>2]|0;g=f+16|0;v=b+8|0;e=c[v>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;j=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[k>>2]>>2]|0;e=c[v>>2]|0}j=f+16|0;e=j>>>0<e>>>0?j:412368;oA(b,e);j=5;break}default:{qB(b,1,361511);u=0;f=0}}if((j|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;u=e+16|0}t=sB(b,2)|0;i=z;g=c[c[k>>2]>>2]|0;h=g+48|0;e=c[v>>2]|0;a:do if(!(h>>>0>=e>>>0|(h|0)==412368)?(m=c[g+56>>2]|0,(m&15|0)!=0):0){switch(m&15){case 4:{e=h;break}case 3:{j=13;break}default:{qB(b,3,361511);r=0;g=0;break a}}if((j|0)==13){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);g=c[c[k>>2]>>2]|0;e=c[v>>2]|0}s=g+48|0;e=s>>>0<e>>>0?s:412368;oA(b,e)}e=c[e>>2]|0;if((a[e+4>>0]|0)==4)g=d[e+7>>0]|0;else g=c[e+12>>2]|0;r=e+16|0}else{r=436559;g=0}while(0);if((i|0)<0|(i|0)==0&t>>>0<1){f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}f=e+280+(((436559>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(436559,e+16|0)|0){e=QA(b,436559,0)|0;c[f>>2]=e}x=c[v>>2]|0;c[x>>2]=e;c[x+8>>2]=(a[e+4>>0]|64)&255;c[v>>2]=(c[v>>2]|0)+16;l=y;return 1}o=g+f|0;if(o>>>0>=f>>>0?(s=f6(2147483647,0,t|0,i|0)|0,q=z,!(0>(q|0)|0==(q|0)&o>>>0>s>>>0)):0){n=O(f,t)|0;p=b6(t|0,i|0,-1,0)|0;n=(O(g,p)|0)+n|0;p=w+12|0;c[p>>2]=b;s=w+16|0;c[w>>2]=s;q=w+8|0;c[q>>2]=0;m=w+4|0;c[m>>2]=8192;if(n>>>0>8192){k=n>>>0>16384?n:16384;e=zz(b,k)|0;s6(e|0,c[w>>2]|0,c[q>>2]|0)|0;if((c[w>>2]|0)!=(s|0)){j=c[v>>2]|0;h=j+-16|0;j=j+-32|0;do{c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[h>>2]=c[x>>2];c[h+4>>2]=c[x+4>>2];c[h+8>>2]=c[x+8>>2];c[h+12>>2]=c[x+12>>2];j=j+16|0;h=h+-16|0}while(j>>>0<h>>>0);c[v>>2]=(c[v>>2]|0)+-16}c[w>>2]=e;c[m>>2]=k;h=c[q>>2]|0}else{e=s;h=0}h=e+h|0;s6(h|0,u|0,f|0)|0;if((i|0)>0|(i|0)==0&t>>>0>1){k=(g|0)==0;j=t;while(1){j=b6(j|0,i|0,-1,-1)|0;i=z;e=h+f|0;if(!k){s6(e|0,r|0,g|0)|0;e=h+o|0}s6(e|0,u|0,f|0)|0;if(!((i|0)>0|(i|0)==0&j>>>0>1))break;else h=e}}g=(c[q>>2]|0)+n|0;c[q>>2]=g;e=c[p>>2]|0;f=c[w>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);v=QA(e,f,g)|0;g=e+8|0;e=c[g>>2]|0;c[e>>2]=v;c[e+8>>2]=(a[v+4>>0]|64)&255;e=c[g>>2]|0;c[g>>2]=e+16;if((c[w>>2]|0)!=(s|0)){f=e;e=e+-16|0;do{c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);c[g>>2]=(c[g>>2]|0)+-16}l=y;return 1}oB(b,358354,n);l=y;return 1}function CD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+8224|0;r=s;q=s+16|0;h=b+16|0;f=c[c[h>>2]>>2]|0;g=f+16|0;o=b+8|0;e=c[o>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[h>>2]>>2]|0;e=c[o>>2]|0}i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);k=0;f=0}}if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;k=e+16|0}m=q+12|0;c[m>>2]=b;p=q+16|0;c[q>>2]=p;n=q+8|0;c[n>>2]=0;j=q+4|0;c[j>>2]=8192;if(f>>>0>8192){i=f>>>0>16384?f:16384;g=zz(b,i)|0;s6(g|0,c[q>>2]|0,c[n>>2]|0)|0;if((c[q>>2]|0)!=(p|0)){h=c[o>>2]|0;e=h+-16|0;h=h+-32|0;do{c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];h=h+16|0;e=e+-16|0}while(h>>>0<e>>>0);c[o>>2]=(c[o>>2]|0)+-16}c[q>>2]=g;c[j>>2]=i;e=c[n>>2]|0}else{g=p;e=0}h=g+e|0;if(!f)f=0;else{e=0;do{a[h+e>>0]=a[k+(f+~e)>>0]|0;e=e+1|0}while((e|0)!=(f|0));e=c[n>>2]|0;g=c[q>>2]|0}f=e+f|0;c[n>>2]=f;e=c[m>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);o=QA(e,g,f)|0;g=e+8|0;e=c[g>>2]|0;c[e>>2]=o;c[e+8>>2]=(a[o+4>>0]|64)&255;e=c[g>>2]|0;c[g>>2]=e+16;if((c[q>>2]|0)==(p|0)){l=s;return 1}f=e;e=e+-16|0;do{c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);c[g>>2]=(c[g>>2]|0)+-16;l=s;return 1}function DD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=b+16|0;f=c[c[h>>2]>>2]|0;g=f+16|0;l=b+8|0;e=c[l>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[h>>2]>>2]|0;e=c[l>>2]|0}i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);k=0;f=0}}if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;k=e+16|0}g=sB(b,2)|0;e=z;if(!((e|0)>-1|(e|0)==-1&g>>>0>4294967295))if(f>>>0<(0-g|0)>>>0){e=0;g=0}else{g=b6(g|0,e|0,1,0)|0;g=b6(g|0,z|0,f|0,0)|0;e=z}i=tB(b,3,-1,-1)|0;h=z;if(!((h|0)>-1|(h|0)==-1&i>>>0>4294967295))if(f>>>0<(0-i|0)>>>0){h=0;i=0}else{i=b6(i|0,h|0,1,0)|0;i=b6(i|0,z|0,f|0,0)|0;h=z}m=(e|0)>0|(e|0)==0&g>>>0>1;j=m?g:1;g=m?e:0;e=(h|0)>0|(h|0)==0&i>>>0>f>>>0;f=e?f:i;e=e?0:h;if(!((e|0)<(g|0)|(e|0)==(g|0)&f>>>0<j>>>0)){e=c6(f|0,e|0,j|0,g|0)|0;if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);b=QA(b,k+(j+-1)|0,e+1|0)|0;m=c[l>>2]|0;c[m>>2]=b;b=b+4|0;b=a[b>>0]|0;b=b|64;b=b&255;m=m+8|0;c[m>>2]=b;m=c[l>>2]|0;m=m+16|0;c[l>>2]=m;return 1}f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}e=e+280+(((436559>>>0)%127|0)<<2)|0;f=c[e>>2]|0;if(!(e3(436559,f+16|0)|0)){b=f;m=c[l>>2]|0;c[m>>2]=b;b=b+4|0;b=a[b>>0]|0;b=b|64;b=b&255;m=m+8|0;c[m>>2]=b;m=c[l>>2]|0;m=m+16|0;c[l>>2]=m;return 1}else{b=QA(b,436559,0)|0;c[e>>2]=b;m=c[l>>2]|0;c[m>>2]=b;b=b+4|0;b=a[b>>0]|0;b=b|64;b=b&255;m=m+8|0;c[m>>2]=b;m=c[l>>2]|0;m=m+16|0;c[l>>2]=m;return 1}return 0}function ED(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+8224|0;r=s;q=s+16|0;h=b+16|0;f=c[c[h>>2]>>2]|0;g=f+16|0;o=b+8|0;e=c[o>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[h>>2]>>2]|0;e=c[o>>2]|0}i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);k=0;f=0}}if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;k=e+16|0}m=q+12|0;c[m>>2]=b;p=q+16|0;c[q>>2]=p;n=q+8|0;c[n>>2]=0;j=q+4|0;c[j>>2]=8192;if(f>>>0>8192){i=f>>>0>16384?f:16384;g=zz(b,i)|0;s6(g|0,c[q>>2]|0,c[n>>2]|0)|0;if((c[q>>2]|0)!=(p|0)){h=c[o>>2]|0;e=h+-16|0;h=h+-32|0;do{c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];h=h+16|0;e=e+-16|0}while(h>>>0<e>>>0);c[o>>2]=(c[o>>2]|0)+-16}c[q>>2]=g;c[j>>2]=i;e=c[n>>2]|0}else{g=p;e=0}h=g+e|0;if(!f)f=0;else{e=0;do{a[h+e>>0]=Y2(d[k+e>>0]|0)|0;e=e+1|0}while((e|0)!=(f|0));e=c[n>>2]|0;g=c[q>>2]|0}f=e+f|0;c[n>>2]=f;e=c[m>>2]|0;if((c[(c[e+12>>2]|0)+12>>2]|0)>0)jA(e);o=QA(e,g,f)|0;g=e+8|0;e=c[g>>2]|0;c[e>>2]=o;c[e+8>>2]=(a[o+4>>0]|64)&255;e=c[g>>2]|0;c[g>>2]=e+16;if((c[q>>2]|0)==(p|0)){l=s;return 1}f=e;e=e+-16|0;do{c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);c[g>>2]=(c[g>>2]|0)+-16;l=s;return 1}
  34. function rv(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0;u=l;l=l+80|0;i=u+64|0;k=u;r=a+68|0;e=c[r>>2]|0;t=a+64|0;m=e-(c[t>>2]|0)>>4;o=a+72|0;b=c[o>>2]|0;if(!b)g=0;else g=(c[b+52>>2]|0)>>>2&1;q=a+56|0;if(e>>>0>=(c[q>>2]|0)>>>0)mr(a,4604);f=Or(a,40)|0;p=a+44|0;b=c[p>>2]|0;c[f>>2]=805322881;b=b+24|0;e=c[b>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[b>>2]=f;b=c[r>>2]|0;c[b>>2]=9;c[b+8>>2]=f;b=f+4|0;c[b>>2]=(c[b>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+16;b=c[a+164>>2]|0;c[f+20>>2]=b;if(b|0){f=b+4|0;c[f>>2]=(c[f>>2]|0)+1}f=(g|0)!=0;if(!((m|0)!=0&f)){if(!(Pf(i|0,0)|0))d=+(c[i>>2]|0)*1.0e3+ +(c[i+4>>2]|0)/1.0e3;else d=0.0;d=+A(+d);h[j>>3]=d;b=c[j>>2]|0;e=c[j+4>>2]|0;p=e&2146435072;if(p>>>0<2146435072|(p|0)==2146435072&0<0?d>=-864.0e13&d<=864.0e13:0){d=+A(+(+B(+d)));d=(e|0)>-1|(e|0)==-1&b>>>0>4294967295?d:-d}else d=s;b=c[r>>2]|0;if(b>>>0>=(c[q>>2]|0)>>>0)mr(a,4215);q=b+16|0;c[r>>2]=q;c[b>>2]=0;h[b+8>>3]=d;t=c[t>>2]|0;b=q-t>>4;b=b>>>0>1?t+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[a+304>>2]|0)+404>>2]|0,1);if(f){l=u;return 1}Xr(a,-1)|0;l=u;return 1}if((m|0)==1){Ir(a,0,0);b=c[r>>2]|0;e=c[t>>2]|0;e=(b|0)!=(e|0)?e:0;e=(e|0)==0?368:e;if(((c[e>>2]|0)==8?(n=c[e+8>>2]|0,(n|0)!=0):0)?(c[n>>2]&512|0)==0:0){az(a,n+28|0);f=c[t>>2]|0;b=(c[r>>2]|0)-f>>4;if(!b)Cr(a,376,-1);b=f+(b+-1<<4)|0;o=c[f>>2]|0;e=c[f+8>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[b>>2]=2;b=(c[r>>2]|0)+-16|0;c[r>>2]=b;if((o&8|0)!=0?(n=e+4|0,o=(c[n>>2]|0)+-1|0,c[n>>2]=o,(o|0)==0):0){qr(c[p>>2]|0,e);b=c[r>>2]|0}}e=c[t>>2]|0;if((b|0)==(e|0))Cr(a,300,0);d=+Ar(a,e);m=c[t>>2]|0;o=c[m>>2]|0;n=m+8|0;b=c[n>>2]|0;c[m>>2]=0;h[n>>3]=d;if(o&8|0?(n=b+4|0,o=(c[n>>2]|0)+-1|0,c[n>>2]=o,(o|0)==0):0)qr(c[p>>2]|0,b);h[j>>3]=d;b=c[j>>2]|0;e=c[j+4>>2]|0;p=e&2146435072;if(p>>>0<2146435072|(p|0)==2146435072&0<0?d>=-864.0e13&d<=864.0e13:0){d=+A(+(+B(+d)));d=(e|0)>-1|(e|0)==-1&b>>>0>4294967295?d:-d}else d=s;b=c[r>>2]|0;if(b>>>0>=(c[q>>2]|0)>>>0)mr(a,4215);q=b+16|0;c[r>>2]=q;c[b>>2]=0;h[b+8>>3]=d;t=c[t>>2]|0;b=q-t>>4;b=b>>>0>1?t+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[a+304>>2]|0)+404>>2]|0,1);l=u;return 1}$y(a,k,m);d=+Zy(k,16);b=c[r>>2]|0;e=c[q>>2]|0;if(b>>>0>=e>>>0)mr(a,4215);f=b+16|0;c[r>>2]=f;c[b>>2]=0;h[b+8>>3]=d;if(f>>>0>=e>>>0)mr(a,1111);if((f-(c[t>>2]|0)|0)<16)Cr(a,1114,-1);c[r>>2]=b+32;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(c[f>>2]&8|0){n=(c[b+24>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}b=c[r>>2]|0;f=b-(c[t>>2]|0)|0;n=f>>4;g=n+-3|0;if(n>>>0<=2)Cr(a,300,-3);e=c[(c[a+304>>2]|0)+404>>2]|0;if(b>>>0>=(c[q>>2]|0)>>>0)mr(a,4153);c[r>>2]=b+16;c[b>>2]=8;c[b+8>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[t>>2]|0;k=(c[r>>2]|0)-i>>4;f=((f|0)<48?k:0)+g|0;if(f>>>0>=k>>>0)Cr(a,376,g);if((k|0)==1)Cr(a,376,-2);e=k+-2|0;b=c[o>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,i+(f<<4)|0,i+(k+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],b)|0;Nt(a);b=c[r>>2]|0;if((b|0)==(c[t>>2]|0))br(a,342583,50337407,342599);t=b+-16|0;c[r>>2]=t;a=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[t>>2]=2;if(!(a&8)){l=u;return 1}t=b+4|0;a=(c[t>>2]|0)+-1|0;c[t>>2]=a;if(a|0){l=u;return 1}qr(c[p>>2]|0,b);l=u;return 1}function sv(a){a=a|0;var b=0,d=0.0,e=0,f=0;f=l;l=l+16|0;b=f;if(!(Pf(b|0,0)|0))d=+(c[b>>2]|0)*1.0e3+ +(c[b+4>>2]|0)/1.0e3;else d=0.0;b=a+68|0;e=c[b>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){d=+A(+d);c[b>>2]=e+16;c[e>>2]=0;h[e+8>>3]=d;l=f;return 1}else mr(a,4215);return 0}function tv(a){a=a|0;az(a,Xr(a,0)|0);return 1}function uv(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+64|0;d=k;j=a+68|0;f=c[j>>2]|0;e=f-(c[a+64>>2]|0)|0;if((e|0)<32)if(f>>>0<(c[a+56>>2]|0)>>>0){g=s;i=f}else mr(a,4286);else{$y(a,d,e>>>4);b=+Zy(d,0);d=c[j>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){g=b;i=d}else mr(a,4215)}c[j>>2]=i+16;c[i>>2]=0;h[i+8>>3]=g;l=k;return 1}function vv(a){a=a|0;var d=0,f=0,g=0,i=0.0,k=0,m=0;m=l;l=l+32|0;g=m;d=c[a+72>>2]|0;do if(d){f=c[d+16>>2]|0;if(!f){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)d=b[f+46>>1]|0;else d=0}else d=0;while(0);k=e[37490+(d<<1)>>1]|0;i=+Wy(a,k,0);h[j>>3]=i;f=c[j+4>>2]&2147483647;if(f>>>0>2146435072|(f|0)==2146435072&(c[j>>2]|0)>>>0>0){d=a+68|0;f=c[d>>2]|0;if(f>>>0<(c[a+56>>2]|0)>>>0){i=s;k=d;a=f;g=a+16|0;c[k>>2]=g;c[a>>2]=0;a=a+8|0;h[a>>3]=i;l=m;return 1}else mr(a,4286)}Yy(i,g,0,k);d=c[g+(k>>>12<<2)>>2]|0;f=a+68|0;g=c[f>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);i=+((k&32|0?d+-1900|0:d)|0);k=f;a=g;g=a+16|0;c[k>>2]=g;c[a>>2]=0;a=a+8|0;h[a>>3]=i;l=m;return 1}function wv(a){a=a|0;var b=0.0,d=0,e=0,f=0;b=+Wy(a,0,0);h[j>>3]=b;f=c[j+4>>2]&2147483647;if(f>>>0>2146435072|(f|0)==2146435072&(c[j>>2]|0)>>>0>0){d=a+68|0;e=c[d>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){b=s;f=d;a=e;e=a+16|0;c[f>>2]=e;c[a>>2]=0;a=a+8|0;h[a>>3]=b;return 1}else mr(a,4286)}d=Xy(b)|0;e=a+68|0;f=c[e>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);b=+((d|0)/-60|0|0);a=f;f=a+16|0;c[e>>2]=f;c[a>>2]=0;a=a+8|0;h[a>>3]=b;return 1}function xv(a){a=a|0;var d=0,f=0,g=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;g=x+64|0;t=x;w=a+72|0;d=c[w>>2]|0;do if(d){f=c[d+16>>2]|0;if(!f){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)d=b[f+46>>1]|0;else d=0}else d=0;while(0);n=e[37490+(d<<1)>>1]|0;o=n>>>12;v=a+68|0;u=a+64|0;d=(c[v>>2]|0)-(c[u>>2]|0)|0;p=d>>4;i=+Wy(a,n,0);h[j>>3]=i;q=c[j+4>>2]&2146435072;q=q>>>0<2146435072|(q|0)==2146435072&0<0;if(q)Yy(i,g,t,n);m=(n>>>7&4|3)-o|0;a:do if((o|0)!=0&(d|0)>0){k=a+44|0;if(!(n&1024)){d=0;while(1){g=d+m|0;f=c[u>>2]|0;if(d>>>0>=(c[v>>2]|0)-f>>4>>>0)break;i=+Ar(a,f+(d<<4)|0);z=c[u>>2]|0;A=z+(d<<4)|0;y=c[A>>2]|0;z=z+(d<<4)+8|0;f=c[z>>2]|0;c[A>>2]=0;h[z>>3]=i;if(y&8|0?(z=f+4|0,A=(c[z>>2]|0)+-1|0,c[z>>2]=A,(A|0)==0):0)qr(c[k>>2]|0,f);h[t+(g<<3)>>3]=(g|0)==2?i+-1.0:i;d=d+1|0;if(!(d>>>0<o>>>0&(d|0)<(p|0)))break a}Cr(a,300,d)}else r=0;while(1){f=r+m|0;if(!f)_y(a,r);d=c[u>>2]|0;if(r>>>0>=(c[v>>2]|0)-d>>4>>>0){d=r;break}i=+Ar(a,d+(r<<4)|0);z=c[u>>2]|0;y=z+(r<<4)|0;A=c[y>>2]|0;z=z+(r<<4)+8|0;d=c[z>>2]|0;c[y>>2]=0;h[z>>3]=i;if(A&8|0?(z=d+4|0,A=(c[z>>2]|0)+-1|0,c[z>>2]=A,(A|0)==0):0)qr(c[k>>2]|0,d);h[t+(f<<3)>>3]=(f|0)==2?i+-1.0:i;r=r+1|0;if(!(r>>>0<o>>>0&(r|0)<(p|0)))break a}Cr(a,300,d)}while(0);if(!q){d=c[v>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4286);c[v>>2]=d+16;c[d>>2]=0;h[d+8>>3]=s;l=x;return 1}i=+Zy(t,n);d=c[v>>2]|0;k=a+56|0;f=c[k>>2]|0;if(d>>>0>=f>>>0)mr(a,4215);g=d+16|0;c[v>>2]=g;c[d>>2]=0;h[d+8>>3]=i;if(g>>>0>=f>>>0)mr(a,1111);if((g-(c[u>>2]|0)|0)<16)Cr(a,1114,-1);c[v>>2]=d+32;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];if(c[g>>2]&8|0){A=(c[d+24>>2]|0)+4|0;c[A>>2]=(c[A>>2]|0)+1}d=c[v>>2]|0;g=d-(c[u>>2]|0)|0;A=g>>4;n=A+-3|0;if(A>>>0<=2)Cr(a,300,-3);f=c[(c[a+304>>2]|0)+404>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[v>>2]=d+16;c[d>>2]=8;c[d+8>>2]=f;m=f+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[u>>2]|0;k=(c[v>>2]|0)-m>>4;g=((g|0)<48?k:0)+n|0;if(g>>>0>=k>>>0)Cr(a,376,n);if((k|0)==1)Cr(a,376,-2);f=k+-2|0;d=c[w>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,m+(g<<4)|0,m+(k+-1<<4)|0,c[m+(f<<4)>>2]|0,c[m+(f<<4)+4>>2]|0,+h[m+(f<<4)+8>>3],d)|0;Nt(a);l=x;return 1}function yv(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0,k=0,l=0;+Wy(a,0,0);l=a+68|0;k=a+64|0;b=c[k>>2]|0;if((c[l>>2]|0)==(b|0))Cr(a,300,0);e=+Ar(a,b);f=c[k>>2]|0;i=c[f>>2]|0;g=f+8|0;b=c[g>>2]|0;c[f>>2]=0;h[g>>3]=e;if(i&8|0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,b);h[j>>3]=e;b=c[j>>2]|0;d=c[j+4>>2]|0;i=d&2146435072;if(i>>>0<2146435072|(i|0)==2146435072&0<0?e>=-864.0e13&e<=864.0e13:0){e=+A(+(+B(+e)));e=(d|0)>-1|(d|0)==-1&b>>>0>4294967295?e:-e}else e=s;b=c[l>>2]|0;i=a+56|0;d=c[i>>2]|0;if(b>>>0>=d>>>0)mr(a,4215);f=b+16|0;c[l>>2]=f;c[b>>2]=0;h[b+8>>3]=e;if(f>>>0>=d>>>0)mr(a,1111);if((f-(c[k>>2]|0)|0)<16)Cr(a,1114,-1);c[l>>2]=b+32;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(c[f>>2]&8|0){g=(c[b+24>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[l>>2]|0;f=b-(c[k>>2]|0)|0;d=f>>4;g=d+-3|0;if(d>>>0<=2)Cr(a,300,-3);d=c[(c[a+304>>2]|0)+404>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[l>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;i=d+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[k>>2]|0;d=(c[l>>2]|0)-i>>4;b=((f|0)<48?d:0)+g|0;if(b>>>0>=d>>>0)Cr(a,376,g);f=i+(b<<4)|0;g=i+(d+-1<<4)|0;if((d|0)==1)Cr(a,376,-2);b=d+-2|0;d=c[a+72>>2]|0;if(!d){l=1;d=i+(b<<4)|0;d=c[d>>2]|0;k=i+(b<<4)+4|0;k=c[k>>2]|0;i=i+(b<<4)+8|0;e=+h[i>>3];es(a,f,g,d,k,e,l)|0;Nt(a);return 1}l=c[d+52>>2]&1;d=i+(b<<4)|0;d=c[d>>2]|0;k=i+(b<<4)+4|0;k=c[k>>2]|0;i=i+(b<<4)+8|0;e=+h[i>>3];es(a,f,g,d,k,e,l)|0;Nt(a);return 1}function zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+68|0;d=c[j>>2]|0;i=a+56|0;if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,4361);c[j>>2]=d+16;if(c[a+72>>2]|0?(b=c[a+64>>2]|0,h=b+-16|0,c[d>>2]=c[h>>2],c[d+4>>2]=c[h+4>>2],c[d+8>>2]=c[h+8>>2],c[d+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[b+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}Mr(a,-1);b=c[j>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0)mr(a,1111);h=a+64|0;if((b-(c[h>>2]|0)|0)<16)Cr(a,1114,-1);g=b+-16|0;c[j>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[b>>2]&8|0){g=(c[b+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}Ir(a,-1,2);e=c[j>>2]|0;d=c[h>>2]|0;b=d;g=e-b>>4;g=g|0?d+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(0==0?(c[g+8+4>>2]&2146435072|0)==2146435072:0):0){if(e>>>0>=(c[i>>2]|0)>>>0)mr(a,4175);c[j>>2]=e+16;c[e>>2]=3;return 1}if((e|0)==(d|0))br(a,342583,50337407,342599);f=e+-16|0;c[j>>2]=f;g=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[f>>2]=2;e=f;if((g&8|0)!=0?(f=d+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0){qr(c[a+44>>2]|0,d);e=c[j>>2]|0;b=c[h>>2]|0}f=e-b|0;d=f>>4;g=d+-1|0;if(!d)Cr(a,300,-1);b=c[(c[a+304>>2]|0)+168>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[j>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0;e=(c[j>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[h>>2]|0;e=(c[j>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);k=d+(b<<4)|0;f=d+(e+-1<<4)|0;g=c[k>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(k|0,k+16|0,f-k|0)|0;c[f>>2]=2;d=(c[j>>2]|0)+-16|0;c[j>>2]=d;if((g&8|0)!=0?(g=b+4|0,k=(c[g>>2]|0)+-1|0,c[g>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);d=c[j>>2]|0}if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,1093);b=c[h>>2]|0;e=d-b>>4;if(e>>>0<=1)Cr(a,376,-2);k=b+(e+-2<<4)|0;c[j>>2]=d+16;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];if(c[d>>2]&8|0){k=(c[d+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}b=(c[j>>2]|0)-(c[h>>2]|0)|0;if((b|0)<32)nr(a,342568,55);Lr(a,(b>>>4)+-2|0,0)|0;return 1}function Av(d){d=d|0;var f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+288|0;r=w+72|0;q=w+56|0;s=w+16|0;n=w+8|0;m=w;v=w+216|0;t=w+128|0;p=w+96|0;i=w+92|0;u=w+176|0;f=c[d+72>>2]|0;do if(f){g=c[f+16>>2]|0;if(!g){f=(c[f+4>>2]|0)>>>8<<24>>24;break}if(c[g>>2]&4096)f=b[g+46>>1]|0;else f=0}else f=0;while(0);o=e[37490+(f<<1)>>1]|0;k=+Wy(d,o,i);h[j>>3]=k;g=c[j+4>>2]&2147483647;if(g>>>0>2146435072|(g|0)==2146435072&(c[j>>2]|0)>>>0>0){f=c[(c[d+304>>2]|0)+264>>2]|0;g=d+68|0;i=c[g>>2]|0;if(i>>>0>=(c[d+56>>2]|0)>>>0)mr(d,4153);c[g>>2]=i+16;c[i>>2]=8;c[i+8>>2]=f;d=f+4|0;c[d>>2]=(c[d>>2]|0)+1;l=w;return 1}Yy(k,p,0,4);do if(!(o&256))f=c[p>>2]|0;else{f=c[p>>2]|0;if((f+-1970|0)>>>0>67)break;g=t+28|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[t>>2]=c[p+20>>2];c[t+4>>2]=c[p+16>>2];c[t+8>>2]=c[p+12>>2];c[t+12>>2]=c[p+8>>2];c[t+16>>2]=(c[p+4>>2]|0)+-1;c[t+20>>2]=f+-1900;c[t+24>>2]=c[p+28>>2];c[t+32>>2]=0;f=v;g=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));f=(o&64|0)!=0;Bh(v|0,63,((o&128|0)==0|f^1?(f?353418:353421):353424)|0,t|0)|0;f=r4(v)|0;g=d+68|0;if((c[g>>2]|0)>>>0>=(c[d+56>>2]|0)>>>0)mr(d,4300);if((f|0)<0)br(d,342583,50335961,342945);d=fs(d,v,f)|0;v=c[g>>2]|0;c[g>>2]=v+16;c[v>>2]=8;c[v+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;l=w;return 1}while(0);g=c[i>>2]|0;i=(o&2048|0)!=0;c[m>>2]=f;v4(v,8,f>>>0<1e4?353440:(f|0)>-1?353427:353434,m);a[v+7>>0]=0;if(!(o&16)){a[t>>0]=90;f=1}else{f=(g|0)>-1;m=f?g:0-g|0;c[n>>2]=((m|0)/3600|0)&63;c[n+4>>2]=((m|0)/60|0|0)%60|0;v4(t,8,f?353446:353457,n);f=7}a[t+f>>0]=0;f=(o&64|0)!=0;do if((o&128|0)==0|f^1)if(f){s=c[p+4>>2]|0;t=c[p+8>>2]|0;c[q>>2]=v;c[q+4>>2]=s;c[q+8>>2]=t;h3(u,353504,q)|0;break}else{q=c[p+16>>2]|0;s=c[p+20>>2]|0;v=c[p+24>>2]|0;c[r>>2]=c[p+12>>2];c[r+4>>2]=q;c[r+8>>2]=s;c[r+12>>2]=v;c[r+16>>2]=t;h3(u,353517,r)|0;break}else{g=c[p+4>>2]|0;m=c[p+8>>2]|0;n=c[p+12>>2]|0;o=c[p+16>>2]|0;q=c[p+20>>2]|0;r=c[p+24>>2]|0;c[s>>2]=v;c[s+4>>2]=g;c[s+8>>2]=m;c[s+12>>2]=i?84:32;c[s+16>>2]=n;c[s+20>>2]=o;c[s+24>>2]=q;c[s+28>>2]=r;c[s+32>>2]=t;h3(u,353468,s)|0}while(0);f=r4(u)|0;g=d+68|0;if((c[g>>2]|0)>>>0>=(c[d+56>>2]|0)>>>0)mr(d,4300);if((f|0)<0)br(d,342583,50335961,342945);d=fs(d,u,f)|0;v=c[g>>2]|0;c[g>>2]=v+16;c[v>>2]=8;c[v+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;l=w;return 1}function Bv(a){a=a|0;var b=0.0,d=0,e=0;b=+Wy(a,0,0);d=a+68|0;e=c[d>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){c[d>>2]=e+16;c[e>>2]=0;h[e+8>>3]=b;return 1}else mr(a,4215);return 0}function Cv(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;nu(a,0);p=a+68|0;f=c[p>>2]|0;o=a+64|0;b=c[o>>2]|0;b=(f|0)!=(b|0)?b:0;b=(b|0)==0?368:b;do if((c[b>>2]|0)==0?(d=+h[b+8>>3],K4(d)|0):0){if(!(d<-2147483648.0)){if(d>2147483647.0)break;b=~~d;if((b|0)>-1)break}else b=-2147483648;q=a+72|0;e=c[q>>2]|0;if(!((b|0)==-1|(e|0)==0))do{b=b+1|0;e=c[e+20>>2]|0}while(!((b|0)==-1|(e|0)==0));if(e|0){n=a+56|0;if(f>>>0>=(c[n>>2]|0)>>>0)mr(a,4604);b=Or(a,40)|0;f=c[a+44>>2]|0;c[b>>2]=134234241;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=b;c[b+12>>2]=0;c[b+8>>2]=g;c[f>>2]=b;f=c[p>>2]|0;c[f>>2]=9;c[f+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[p>>2]|0;g=f+16|0;c[p>>2]=g;b=c[e+16>>2]|0;if((b|0)!=0?(c[b>>2]&2048|0)!=0:0){l=(c[e+36>>2]|0)-(c[b+48>>2]|0)>>2;l=(l|0)==0?0:l+-1|0}else l=0;if(g>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[p>>2]=f+32;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];if(c[e>>2]&8|0){m=(c[e+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}b=c[p>>2]|0;e=c[n>>2]|0;if(b>>>0>=e>>>0)mr(a,4274);f=b+16|0;c[p>>2]=f;c[b>>2]=0;h[b+8>>3]=+(l>>>0);i=f-(c[o>>2]|0)|0;m=i>>4;k=m+-3|0;if(m>>>0<=2)Cr(a,300,-3);m=a+304|0;g=c[(c[m>>2]|0)+340>>2]|0;if(f>>>0>=e>>>0)mr(a,4153);c[p>>2]=b+32;c[f>>2]=8;c[b+24>>2]=g;j=g+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[o>>2]|0;g=(c[p>>2]|0)-j>>4;f=((i|0)<48?g:0)+k|0;if(f>>>0>=g>>>0)Cr(a,376,k);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;b=c[q>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,j+(f<<4)|0,j+(g+-1<<4)|0,c[j+(e<<4)>>2]|0,c[j+(e<<4)+4>>2]|0,+h[j+(e<<4)+8>>3],b)|0;Nt(a);b=Vy(a,-1,l)|0;e=c[p>>2]|0;f=c[n>>2]|0;if(e>>>0>=f>>>0)mr(a,4274);g=e+16|0;c[p>>2]=g;c[e>>2]=0;h[e+8>>3]=+(b>>>0);i=g-(c[o>>2]|0)|0;l=i>>4;k=l+-3|0;if(l>>>0<=2)Cr(a,300,-3);b=c[(c[m>>2]|0)+344>>2]|0;if(g>>>0>=f>>>0)mr(a,4153);c[p>>2]=e+32;c[g>>2]=8;c[e+24>>2]=b;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[o>>2]|0;j=(c[p>>2]|0)-g>>4;f=((i|0)<48?j:0)+k|0;if(f>>>0>=j>>>0)Cr(a,376,k);if((j|0)==1)Cr(a,376,-2);e=j+-2|0;b=c[q>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,g+(f<<4)|0,g+(j+-1<<4)|0,c[g+(e<<4)>>2]|0,c[g+(e<<4)+4>>2]|0,+h[g+(e<<4)+8>>3],b)|0;Nt(a);e=c[p>>2]|0;f=e-(c[o>>2]|0)|0;l=f>>4;j=l+-2|0;if(l>>>0<=1)Cr(a,300,-2);b=c[(c[m>>2]|0)+512>>2]|0;if(e>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[p>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;i=b+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[o>>2]|0;g=(c[p>>2]|0)-i>>4;f=((f|0)<32?g:0)+j|0;if(f>>>0>=g>>>0)Cr(a,376,j);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;b=c[q>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,i+(f<<4)|0,i+(g+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],b)|0;Nt(a);return 1}}while(0);if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4162);c[p>>2]=f+16;return 1}function Dv(a){a=a|0;var b=0;b=c[a+64>>2]|0;b=(c[a+68>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)return 1;b=c[b+8>>2]|0;if(!b)return 1;gt(a,b);return 1}function Ev(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;i=t+4|0;j=t;s=b+68|0;g=c[s>>2]|0;r=b+64|0;e=c[r>>2]|0;h=e;e=(g|0)!=(h|0)?e:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(b,2101,0,361511);f=c[e+8>>2]|0;if(!f)ar(b,2101,0,361511);if(g-h>>4>>>0<2)Cr(b,394,1);e=c[b+304>>2]|0;if((f|0)==(c[e+428>>2]|0)){Zs(b,2);Jt(b,1);l=t;return 1}if((f|0)!=(c[e+432>>2]|0)){if((f|0)==(c[e+436>>2]|0)){Vt(b,1,2,4);l=t;return 1}if((f|0)!=(c[e+440>>2]|0))nr(b,353334,143);Vt(b,1,2,8);l=t;return 1}Zs(b,2);if((c[s>>2]|0)-(c[r>>2]|0)>>4>>>0<=1)Cr(b,300,1);f=It(b,1,j)|0;e=c[j>>2]|0;if(e>>>0>4294967292)br(b,344205,100663753,344498);e=((e+3|0)>>>2)*3|0;if((c[s>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(e>>>0>2147483646)br(b,342583,50336889,342539);q=b+44|0;e=ts(c[q>>2]|0,e,1,i)|0;if(!e)er(b,342583,5246);p=c[s>>2]|0;c[p>>2]=10;c[p+8>>2]=e;p=e+4|0;c[p>>2]=(c[p>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+16;p=c[i>>2]|0;n=f+(c[j>>2]|0)|0;o=n+-4|0;e=p;a:while(1){b:do if(f>>>0>o>>>0)h=e;else while(1){g=((a[344242+(d[f+1>>0]|0)>>0]|a[344242+(d[f>>0]|0)>>0]<<6)<<6|a[344242+(d[f+2>>0]|0)>>0])<<6|a[344242+(d[f+3>>0]|0)>>0];if((g|0)<0){h=e;break b}f=f+4|0;a[e>>0]=g>>>16;a[e+1>>0]=g>>>8;h=e+3|0;a[e+2>>0]=g;if(f>>>0>o>>>0)break;else e=h}while(0);m=0;j=0;i=0;while(1){while(1){if(f>>>0>=n>>>0){k=36;break a}e=f;f=f+1|0;e=a[e>>0]|0;g=a[344242+(e&255)>>0]|0;if(g<<24>>24>=0){k=28;break}if(g<<24>>24!=-2){k=26;break}}if((k|0)==26){if(e<<24>>24!=61){k=49;break a}j=j+1|0;i=i<<6}else if((k|0)==28){if(j|0){k=49;break a}j=0;i=(g<<24>>24)+(i<<6)|0}if((m|0)==3)break;m=m+1|0}e=h+1|0;a[h>>0]=i>>>16;g=h+2|0;a[e>>0]=i>>>8;a[g>>0]=i;switch(j|0){case 0:{e=h+3|0;continue a}case 1:{e=g;continue a}case 2:continue a;default:{k=49;break a}}}if((k|0)==36){if(m|0)br(b,344205,100663753,344498);o=c[r>>2]|0;e=(c[s>>2]|0)-o>>4;e=e|0?o+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=10)ar(b,2147,-1,342479);e=c[e+8>>2]|0;if(!e)ar(b,2147,-1,342479);if((c[e>>2]&384|0)!=128)br(b,342486,100663312,342503);cr(b,e,h-p|0);e=c[r>>2]|0;f=(c[s>>2]|0)-e>>4;if(!f)Cr(b,376,-1);g=e+(f+-1<<4)|0;if((f|0)==1)Cr(b,376,1);r=e+16|0;b=c[r>>2]|0;e=c[e+24>>2]|0;c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[r+12>>2]=c[g+12>>2];c[g>>2]=2;c[s>>2]=(c[s>>2]|0)+-16;if(b&8|0?(b=e+4|0,s=(c[b>>2]|0)+-1|0,c[b>>2]=s,(s|0)==0):0)qr(c[q>>2]|0,e);l=t;return 1}else if((k|0)==49)br(b,344205,100663753,344498);return 0}function Fv(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q+4|0;m=q;p=e+68|0;h=c[p>>2]|0;o=e+64|0;f=c[o>>2]|0;i=f;f=(h|0)!=(i|0)?f:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=8)ar(e,2101,0,361511);g=c[f+8>>2]|0;if(!g)ar(e,2101,0,361511);if(h-i>>4>>>0<2)Cr(e,394,1);f=c[e+304>>2]|0;if((g|0)==(c[f+428>>2]|0)){Zs(e,2);if((c[p>>2]|0)-(c[o>>2]|0)>>4>>>0<=1)Cr(e,300,1);k=It(e,1,m)|0;f=c[m>>2]<<1;if((c[p>>2]|0)>>>0>=(c[e+56>>2]|0)>>>0)mr(e,5237);if(f>>>0>2147483646)br(e,342583,50336889,342539);n=e+44|0;f=ts(c[n>>2]|0,f,4,j)|0;if(!f)er(e,342583,5246);g=c[p>>2]|0;c[g>>2]=10;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16;g=c[j>>2]|0;j=c[m>>2]|0;f=j&-4;if(!f)f=0;else{h=0;i=g;while(1){b[i>>1]=b[36384+((d[k+h>>0]|0)<<1)>>1]|0;b[i+2>>1]=b[36384+((d[k+(h|1)>>0]|0)<<1)>>1]|0;b[i+4>>1]=b[36384+((d[k+(h|2)>>0]|0)<<1)>>1]|0;b[i+6>>1]=b[36384+((d[k+(h|3)>>0]|0)<<1)>>1]|0;h=h+4|0;if(h>>>0>=f>>>0)break;else i=i+8|0}g=g+(f<<1)|0}if(f>>>0<j>>>0)while(1){b[g>>1]=b[36384+((d[k+f>>0]|0)<<1)>>1]|0;f=f+1|0;if((f|0)==(j|0))break;else g=g+2|0}us(e);f=c[o>>2]|0;g=(c[p>>2]|0)-f>>4;if(!g)Cr(e,376,-1);h=f+(g+-1<<4)|0;if((g|0)==1)Cr(e,376,1);o=f+16|0;e=c[o>>2]|0;f=c[f+24>>2]|0;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[h>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(e&8|0?(e=f+4|0,p=(c[e>>2]|0)+-1|0,c[e>>2]=p,(p|0)==0):0)qr(c[n>>2]|0,f);l=q;return 1}if((g|0)!=(c[f+432>>2]|0)){if((g|0)==(c[f+436>>2]|0)){Kt(e,1,2,3,7);l=q;return 1}if((g|0)!=(c[f+440>>2]|0))nr(e,353334,104);Kt(e,1,2,3,9);l=q;return 1}Zs(e,2);if((c[p>>2]|0)-(c[o>>2]|0)>>4>>>0<=1)Cr(e,300,1);g=It(e,1,m)|0;f=c[m>>2]|0;if(f>>>0>3221225469)br(e,344205,100663709,344221);f=(((f+2|0)>>>0)/3|0)<<2;if((c[p>>2]|0)>>>0>=(c[e+56>>2]|0)>>>0)mr(e,5237);if(f>>>0>2147483646)br(e,342583,50336889,342539);k=e+44|0;f=ts(c[k>>2]|0,f,4,j)|0;if(!f)er(e,342583,5246);i=c[p>>2]|0;c[i>>2]=10;c[i+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16;f=c[j>>2]|0;m=c[m>>2]|0;j=(m>>>0)%3|0;m=m-j|0;i=g+m|0;if(m)while(1){r=d[g>>0]|0;h=r<<8|(d[g+1>>0]|0);m=d[g+2>>0]|0;g=g+3|0;a[f>>0]=a[344141+(r>>>2)>>0]|0;a[f+1>>0]=a[344141+(h>>>4&63)>>0]|0;a[f+2>>0]=a[344141+((h<<8|m)>>>6&63)>>0]|0;h=f+4|0;a[f+3>>0]=a[344141+(m&63)>>0]|0;if((g|0)==(i|0)){g=i;f=h;break}else f=h}switch(j&3){case 1:{n=d[g>>0]|0;a[f>>0]=a[344141+(n>>>2)>>0]|0;a[f+1>>0]=a[344141+(n<<4&48)>>0]|0;a[f+2>>0]=61;n=43;break}case 2:{r=d[g>>0]|0;n=d[g+1>>0]|0;a[f>>0]=a[344141+(r>>>2)>>0]|0;a[f+1>>0]=a[344141+((r<<8|n)>>>4&63)>>0]|0;a[f+2>>0]=a[344141+(n<<2&60)>>0]|0;n=43;break}default:{}}if((n|0)==43)a[f+3>>0]=61;us(e);f=c[o>>2]|0;g=(c[p>>2]|0)-f>>4;if(!g)Cr(e,376,-1);h=f+(g+-1<<4)|0;if((g|0)==1)Cr(e,376,1);e=f+16|0;r=c[e>>2]|0;f=c[f+24>>2]|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];c[h>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(r&8|0?(p=f+4|0,r=(c[p>>2]|0)+-1|0,c[p>>2]=r,(r|0)==0):0)qr(c[k>>2]|0,f);l=q;return 1}function Gv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=a+68|0;d=c[l>>2]|0;k=a+64|0;b=c[k>>2]|0;e=b;b=(d|0)!=(e|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);if(!(c[b+8>>2]|0))ar(a,2130,0,342926);if((d-e|0)<=16){f=d;if((d|0)==(e|0))Cr(a,300,0);b=c[(c[a+304>>2]|0)+400>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[l>>2]=f+16;c[f>>2]=8;c[f+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;d=(c[l>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[k>>2]|0;e=(c[l>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;j=d+(e+-1<<4)|0;k=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[l>>2]=(c[l>>2]|0)+-16;if(!(k&8)){a=1;return a|0}k=b+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0){a=1;return a|0}qr(c[a+44>>2]|0,b);a=1;return a|0}Zs(a,2);d=c[l>>2]|0;e=c[k>>2]|0;f=d-e>>4;g=(f|0)!=0;b=g?e:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);j=c[b+8>>2]|0;if(!j)ar(a,2130,0,342926);b=g?e+(f+-1<<4)|0:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{i=(c[c[b+8>>2]>>2]|0)>>>9&1;break}case 6:{i=1;break}default:i=0}if(!g)Cr(a,300,0);b=c[(c[a+304>>2]|0)+400>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[l>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[k>>2]|0;e=(c[l>>2]|0)-d>>4;if(!e)Cr(a,376,0);if((e|0)==1)Cr(a,376,-2);f=e+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,d,d+(e+-1<<4)|0,c[d+(f<<4)>>2]|0,c[d+(f<<4)+4>>2]|0,+h[d+(f<<4)+8>>3],b)|0;d=c[l>>2]|0;if((d+-32|0)>>>0<(c[k>>2]|0)>>>0)br(a,342583,50337495,342599);b=d+-16|0;c[l>>2]=b;k=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((k&8|0)!=0?(g=d+4|0,k=(c[g>>2]|0)+-1|0,c[g>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,d);b=c[l>>2]|0}k=b+-16|0;c[l>>2]=k;l=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[k>>2]=2;if(l&8|0?(k=b+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);a=c[j>>2]|0;c[j>>2]=i|0?a|2097152:a&-2097153;a=0;return a|0}function Hv(a){a=a|0;var b=0,d=0.0,e=0;e=a+68|0;b=c[a+64>>2]|0;b=(c[e>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],!(d<0.0|(K4(d)|0)==0)):0)if(d>4294967295.0)b=-1;else b=~~d>>>0;else b=0;dr(c[a+44>>2]|0,b);b=c[e>>2]|0;if(b>>>0<(c[a+56>>2]|0)>>>0){c[e>>2]=b+16;c[b>>2]=4;c[b+8>>2]=1;return 1}else mr(a,4195);return 0}function Iv(a){a=a|0;var b=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+64|0;f=n;b=f;e=b+56|0;do{c[b>>2]=-1;b=b+4|0}while((b|0)<(e|0));m=a+68|0;g=c[m>>2]|0;e=c[a+64>>2]|0;b=g-e>>4;b=b|0?e+(b+-1<<4)|0:0;b=(b|0)==0?368:b;e=c[b>>2]|0;if(!(e&8)){j=0;i=0}else{i=c[b+8>>2]|0;j=i}c[f>>2]=c[6920+(e<<2)>>2];c[f+4>>2]=c[b>>2];k=a+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(a,4604);b=Or(a,40)|0;e=c[a+44>>2]|0;c[b>>2]=134234241;e=e+24|0;g=c[e>>2]|0;if(g|0)c[g+12>>2]=b;c[b+12>>2]=0;c[b+8>>2]=g;c[e>>2]=b;e=c[m>>2]|0;c[e>>2]=9;c[e+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[m>>2]|0;e=b+16|0;c[m>>2]=e;a:do if(!j){b=353243;g=353248}else{if(e>>>0>=(c[k>>2]|0)>>>0)mr(a,4341);c[m>>2]=b+32;c[e>>2]=5;c[b+24>>2]=i;ky(a,353238);c[f+8>>2]=c[j+4>>2];b=f+52|0;c[b>>2]=0;e=c[j>>2]|0;switch(e&3){case 0:{c[f+12>>2]=(c[j+20>>2]|0)+29;b=353243;g=353248;break a}case 1:{do if(!(e&4194304)){if(e&2048|0){c[f+12>>2]=64;break}if(e&4096|0){c[f+12>>2]=48;break}if((e&-134217728|0)==-1879048192){c[f+12>>2]=308;c[f+48>>2]=d[j+49>>0];break}else{c[f+12>>2]=e&8192|0?60:40;break}}else c[f+12>>2]=48;while(0);c[f+16>>2]=(c[j>>2]|0)>>>27;e=c[j+24>>2]|0;g=c[j+32>>2]|0;i=c[j+36>>2]|0;c[f+20>>2]=(e*21|0)+(0-e&7)+(g<<4)+(i<<2);c[f+24>>2]=e;c[f+28>>2]=c[j+28>>2];c[f+32>>2]=g;c[f+36>>2]=i;if(!(c[j>>2]&2048)){b=353243;g=353248;break a}b=c[j+40>>2]|0;if(!b)b=0;else b=c[b+16>>2]|0;c[f+40>>2]=b;b=353243;g=353248;break a}case 2:{if(!(e&128)){b=(c[j+16>>2]|0)+24|0;e=3}else{c[b>>2]=(e>>>8&1)+1;c[f+12>>2]=24;b=c[j+16>>2]|0;e=11}c[f+(e<<2)>>2]=b;b=353243;g=353248;break a}default:{b=353243;g=353248;break a}}}while(0);while(1){e=c[f>>2]|0;f=f+4|0;if((e|0)>-1){zs(a,b);b=c[m>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){b=31;break}c[m>>2]=b+16;c[b>>2]=0;h[b+8>>3]=+(e|0);Et(a,-3)}b=r4(g)|0;if(!b){b=34;break}else{j=g;g=g+(b+1)|0;b=j}}if((b|0)==31)mr(a,4244);else if((b|0)==34){l=n;return 1}return 0}function Jv(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+72|0;d=c[k>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){f=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)f=b[e+46>>1]|0;else f=0}else f=0;while(0);j=a+68|0;h=a+56|0;if((c[j>>2]|0)>>>0>=(c[h>>2]|0)>>>0)mr(a,4604);g=Or(a,40)|0;d=c[a+44>>2]|0;c[g>>2]=939540609;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=e;c[d>>2]=g;d=c[j>>2]|0;c[d>>2]=9;c[d+8>>2]=g;d=g+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[j>>2]|0)+16|0;c[j>>2]=d;if((f|0)>-1?(i=c[a+100+(f<<2)>>2]|0,c[g+20>>2]=i,i|0):0){i=i+4|0;c[i>>2]=(c[i>>2]|0)+1}f=a+64|0;i=c[f>>2]|0;i=(d|0)!=(i|0)?i:0;do if((c[((i|0)==0?368:i)>>2]|0)!=2){Xr(a,0)|0;e=c[j>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0)mr(a,1093);d=c[f>>2]|0;if((e|0)==(d|0))Cr(a,376,0);c[j>>2]=e+16;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[e>>2]&8|0){i=(c[e+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}i=c[f>>2]|0;d=(c[j>>2]|0)-i>>4;d=d>>>0>1?i+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,-2,342926);else{yr(a,d,c[(c[a+304>>2]|0)+208>>2]|0,5);break}}while(0);k=c[k>>2]|0;if(k|0?c[k+52>>2]&4|0:0)return 1;k=c[f>>2]|0;d=(c[j>>2]|0)-k>>4;d=d|0?k+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)return 1;g=c[d+8>>2]|0;if(!g)return 1;f=c[a+180>>2]|0;if(!f)return 1;else{d=1e4;e=g}while(1){if((e|0)==(f|0)){d=32;break}if(!d){d=35;break}e=c[e+20>>2]|0;if(!e){d=35;break}else d=d+-1|0}if((d|0)==32){if(c[g>>2]&128|0)$r(a,a,0,0,g,1);as(a,104);return 1}else if((d|0)==35)return 1;return 0}function Kv(a){a=a|0;return Uy(a,0)|0}function Lv(a){a=a|0;Ty(a,89);return 0}function Mv(a){a=a|0;return Uy(a,1)|0}function Nv(a){a=a|0;Ty(a,86);return 0}function Ov(a){a=a|0;return Uy(a,-1)|0}function Pv(a){a=a|0;Ty(a,84);return 0}function Qv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=a+68|0;d=c[m>>2]|0;k=a+56|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4361);c[m>>2]=d+16;j=a+64|0;if(c[a+72>>2]|0?(b=c[j>>2]|0,g=b+-16|0,c[d>>2]=c[g>>2],c[d+4>>2]=c[g+4>>2],c[d+8>>2]=c[g+8>>2],c[d+12>>2]=c[g+12>>2],c[g>>2]&8|0):0){g=(c[b+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}d=c[m>>2]|0;g=c[j>>2]|0;e=g;b=d-e>>4;b=b|0?g+(b+-1<<4)|0:0;b=(b|0)==0?368:b;a:do switch(c[b>>2]|0){case 9:{if(!(c[b+8>>2]|0))ar(a,2416,-1,342926);else{i=j;h=d;f=e;break a}break}case 6:case 10:{Mr(a,-1);i=j;h=c[m>>2]|0;f=c[j>>2]|0;break}default:ar(a,2416,-1,342926)}while(0);f=h-f|0;e=f>>4;g=e+-1|0;b=h;if(!e)Cr(a,300,-1);h=a+304|0;d=c[(c[h>>2]|0)+352>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;e=(c[m>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[j>>2]|0;e=(c[m>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);f=d+(b<<4)|0;e=d+(e+-1<<4)|0;g=c[f>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(f|0,f+16|0,e-f|0)|0;c[e>>2]=2;e=(c[m>>2]|0)+-16|0;c[m>>2]=e;d=e;if((g&8|0)!=0?(f=b+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0){qr(c[a+44>>2]|0,b);e=c[m>>2]|0;d=e}b=c[j>>2]|0;g=d-b>>4;g=g|0?b+(g+-1<<4)|0:0;do if((c[((g|0)==0?368:g)>>2]|0)==2){if((e|0)==(b|0))br(a,342583,50337407,342599);b=e+-16|0;c[m>>2]=b;g=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[b>>2]=2;if((g&8|0)!=0?(f=d+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0){qr(c[a+44>>2]|0,d);b=c[m>>2]|0}if(b>>>0<(c[k>>2]|0)>>>0){g=fs(a,367610,5)|0;f=c[m>>2]|0;c[m>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;break}else mr(a,4300)}else Xr(a,-1)|0;while(0);b=c[m>>2]|0;f=b-(c[i>>2]|0)|0;i=f>>4;g=i+-2|0;if(i>>>0<=1)Cr(a,300,-2);d=c[(c[h>>2]|0)+208>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;e=(c[m>>2]|0)-d>>4;b=((f|0)<32?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[j>>2]|0;e=(c[m>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);g=d+(b<<4)|0;e=d+(e+-1<<4)|0;i=c[g>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(g|0,g+16|0,e-g|0)|0;c[e>>2]=2;e=(c[m>>2]|0)+-16|0;c[m>>2]=e;d=e;if((i&8|0)!=0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0){qr(c[a+44>>2]|0,b);e=c[m>>2]|0;d=e}b=c[j>>2]|0;i=d-b>>4;i=i|0?b+(i+-1<<4)|0:0;do if((c[((i|0)==0?368:i)>>2]|0)==2){if((e|0)==(b|0))br(a,342583,50337407,342599);d=e+-16|0;c[m>>2]=d;i=c[e+-16>>2]|0;b=c[e+-8>>2]|0;c[d>>2]=2;if((i&8|0)!=0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0){qr(c[a+44>>2]|0,b);d=c[m>>2]|0}b=c[(c[h>>2]|0)+60>>2]|0;if(d>>>0<(c[k>>2]|0)>>>0){c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;i=b+4|0;c[i>>2]=(c[i>>2]|0)+1;break}else mr(a,4153)}else Xr(a,-1)|0;while(0);if(!(Ur(a,-2)|0)){l=o;return 1}i=(Ur(a,-1)|0)==0;b=c[m>>2]|0;if(i){if((b|0)==(c[j>>2]|0))br(a,342583,50337407,342599);k=b+-16|0;c[m>>2]=k;n=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[k>>2]=2;if(!(n&8)){l=o;return 1}m=b+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0){l=o;return 1}qr(c[a+44>>2]|0,b);l=o;return 1}else{if(b>>>0>=(c[k>>2]|0)>>>0)mr(a,4300);d=fs(a,353069,2)|0;b=c[m>>2]|0;c[m>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;b=(c[m>>2]|0)-d>>4;if(b>>>0<=1)Cr(a,376,-2);e=d+(b+-2<<4)|0;b=d+(b+-1<<4)|0;d=b-e|0;if(d|0){c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d|0)|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2]}ds(a,3,0);l=o;return 1}return 0}function Rv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1168|0;i=m;k=a+68|0;j=a+64|0;f=(c[k>>2]|0)-(c[j>>2]|0)|0;h=f>>4;if((f|0)>0){b=0;do{Xr(a,b)|0;b=b+1|0}while((b|0)<(h|0))}a:do switch(h|0){case 0:{b=a+304|0;d=c[(c[b>>2]|0)+60>>2]|0;e=c[k>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[k>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;b=c[(c[b>>2]|0)+60>>2]|0;d=c[k>>2]|0;if(d>>>0<(c[f>>2]|0)>>>0){c[k>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=f;break a}else mr(a,4153);break}case 1:{b=c[(c[a+304>>2]|0)+60>>2]|0;d=c[k>>2]|0;e=a+56|0;if(d>>>0<(c[e>>2]|0)>>>0){c[k>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=e;break a}else mr(a,4153);break}default:{b=c[k>>2]|0;e=c[j>>2]|0;d=b-e>>4;if(!d)Cr(a,376,0);d=d+-1|0;if(d){b=e+(d<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d<<4|0)|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];b=c[k>>2]|0}g=a+56|0;if(b>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);e=fs(a,353042,1)|0;b=c[k>>2]|0;c[k>>2]=b+16;c[b>>2]=8;c[b+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[j>>2]|0;b=(c[k>>2]|0)-e>>4;if(b>>>0<=1)Cr(a,376,1);f=e+16|0;b=e+(b+-1<<4)|0;d=b-f|0;if(d|0){c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];t6(e+32|0,f|0,d|0)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2]}ds(a,h+-1|0,1)}}while(0);if((c[k>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);b=fs(a,353044,9)|0;h=c[k>>2]|0;c[k>>2]=h+16;c[h>>2]=8;c[h+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;if(b>>>0>=(c[g>>2]|0)>>>0)mr(a,1093);d=c[j>>2]|0;if(b-d>>4>>>0<=1)Cr(a,376,1);h=d+16|0;c[k>>2]=b+16;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];if(c[b>>2]&8|0){h=(c[b+8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}if((c[k>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);b=fs(a,353054,2)|0;h=c[k>>2]|0;c[k>>2]=h+16;c[h>>2]=8;c[h+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;if(b>>>0>=(c[g>>2]|0)>>>0)mr(a,1093);d=c[j>>2]|0;if((b|0)==(d|0))Cr(a,376,0);c[k>>2]=b+16;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(c[b>>2]&8|0){h=(c[b+8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}if((c[k>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);h=fs(a,353057,1)|0;b=c[k>>2]|0;c[k>>2]=b+16;c[b>>2]=8;c[b+8>>2]=h;h=h+4|0;c[h>>2]=(c[h>>2]|0)+1;ds(a,5,0);h=a+304|0;b=c[(c[h>>2]|0)+408>>2]|0;d=c[k>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,4153);c[k>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[k>>2]|0;e=c[j>>2]|0;b=f-e>>4;b=b>>>0>1?e+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8)ar(a,2101,-2,361511);b=c[b+8>>2]|0;if(!b)ar(a,2101,-2,361511);d=c[b+20>>2]|0;u6(i|0,0,1160)|0;c[i>>2]=4096;u6(i+16|0,0,832)|0;c[i+792>>2]=b+28;c[i+796>>2]=d;c[i+848>>2]=4096;b=a+88|0;d=c[b>>2]|0;c[b>>2]=i+8;if(f>>>0<(e+16|0)>>>0)nr(a,342568,315);if((c[g>>2]|0)>>>0<f>>>0)nr(a,342568,315);i=pr(a,25,i,1,1)|0;c[b>>2]=d;if(i|0)Qr(a);if((c[k>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);b=fs(a,353059,9)|0;i=c[k>>2]|0;c[k>>2]=i+16;c[i>>2]=8;c[i+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;j=c[j>>2]|0;b=(c[k>>2]|0)-j>>4;b=b>>>0>1?j+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[h>>2]|0)+352>>2]|0,4);j=c[a+104>>2]|0;Os(a,c[(c[k>>2]|0)+-8>>2]|0,j,j,1);l=m;return 1}return 0}function Sv(a){a=a|0;return 0}function Tv(a){a=a|0;return -6}function Uv(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+68|0;k=c[t>>2]|0;u=a+64|0;e=c[u>>2]|0;r=k-e|0;j=r>>4;b=j+-1|0;do if((r|0)<16){b=a+56|0;d=c[b>>2]|0;if(k>>>0<d>>>0){g=k+16|0;c[t>>2]=g;p=j;s=b;i=d;break}else mr(a,4162)}else if((b|0)>536870912)br(a,352824,50331875,342599);else{i=a+56|0;p=b;s=i;g=k;i=c[i>>2]|0;break}while(0);if(g>>>0>=i>>>0)mr(a,4361);c[t>>2]=g+16;if(c[a+72>>2]|0?(r=e+-16|0,c[g>>2]=c[r>>2],c[g+4>>2]=c[r+4>>2],c[g+8>>2]=c[r+8>>2],c[g+12>>2]=c[r+12>>2],c[r>>2]&8|0):0){r=(c[e+-8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}d=c[t>>2]|0;r=c[u>>2]|0;b=d-r>>4;b=b|0?r+(b+-1<<4)|0:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{q=14;break}case 6:break;default:ar(a,2285,-1,361148)}if((q|0)==14?(c[c[b+8>>2]>>2]&512|0)==0:0)ar(a,2285,-1,361148);if(d>>>0>=(c[s>>2]|0)>>>0)mr(a,4820);r=a+44|0;b=c[r>>2]|0;n=Ru(b,80)|0;if(!n)er(a,342583,4828);d=n;e=d+80|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[n>>2]=402655105;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=n;c[n+12>>2]=0;c[n+8>>2]=d;c[b>>2]=n;e=n+40|0;c[e>>2]=2;g=n+56|0;c[g>>2]=2;b=c[t>>2]|0;c[t>>2]=b+16;c[b>>2]=9;c[b+8>>2]=n;c[n+4>>2]=1;b=c[u>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];b=c[t>>2]|0;m=b+-32|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];if((c[m>>2]|0)==9){d=c[b+-24>>2]|0;b=c[d+20>>2]|0;c[n+20>>2]=b;if(b|0){m=b+4|0;c[m>>2]=(c[m>>2]|0)+1}b=c[d>>2]|0;if(b&65536){c[n>>2]=402720641;b=c[d>>2]|0}if(!(b&1024)){m=0;l=0}else{m=d+40|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];m=d+56|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];m=c[d+76>>2]|0;l=c[d+72>>2]|0}}else{c[n>>2]=402720641;b=c[a+120>>2]|0;c[n+20>>2]=b;if(!b){m=0;l=0}else{m=b+4|0;c[m>>2]=(c[m>>2]|0)+1;m=0;l=0}}if(c[e>>2]&8|0){k=(c[n+48>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}if(c[g>>2]&8|0){k=(c[n+64>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}j=m+p|0;if((j|0)>536870912)br(a,352824,50331964,342599);d=j<<4;e=c[r>>2]|0;i=e+44|0;k=c[i>>2]|0;c[i>>2]=k+-1;if((k|0)<1)dr(e,2);g=e+4|0;i=e+16|0;b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;k=(d|0)==0;do if(!(k|(b|0)!=0)){dr(e,0);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,0);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(b|0){o=b;break}dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(b|0){o=b;break}dr(e,1);b=Sh[c[g>>2]&255](c[i>>2]|0,d)|0;if(!b){b=0;q=42}else o=b}else o=b}else o=b}else o=b}else o=b}else o=b}else o=b}else o=b}else q=42;while(0);if((q|0)==42)if(k|(b|0)!=0)o=b;else er(a,343443,144);c[n+72>>2]=o;c[n+76>>2]=j;s6(o|0,l|0,m<<4|0)|0;if(m|0){b=o;d=m;while(1){d=d+-1|0;if(c[b>>2]&8|0){n=(c[b+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}if(!d)break;else b=b+16|0}}b=o+(m<<4)|0;s6(b|0,(c[u>>2]|0)+16|0,p<<4|0)|0;if(p|0){d=p;while(1){d=d+-1|0;if(c[b>>2]&8|0){o=(c[b+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}if(!d)break;else b=b+16|0}}b=c[t>>2]|0;g=b-(c[u>>2]|0)|0;o=g>>4;i=o+-2|0;if(o>>>0<=1)Cr(a,300,-2);j=a+304|0;d=c[(c[j>>2]|0)+328>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=((g|0)<32?e:0)+i|0;if(b>>>0>=e>>>0)Cr(a,376,i);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);n=d+(b<<4)|0;e=d+(e+-1<<4)|0;o=c[n>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(n|0,n+16|0,e-n|0)|0;c[e>>2]=2;e=(c[t>>2]|0)+-16|0;c[t>>2]=e;d=e;do if(o&8){n=b+4|0;o=(c[n>>2]|0)+-1|0;c[n>>2]=o;if(o|0)break;qr(c[r>>2]|0,b);e=c[t>>2]|0;d=e}while(0);b=c[u>>2]|0;d=d-b>>4;d=d|0?b+(d+-1<<4)|0:0;d=(d|0)==0?368:d;do if(!(c[d>>2]|0)){f=+h[d+8>>3];if(!(K4(f)|0)){d=0;break}if(f<-2147483648.0){d=-2147483648;break}if(f>2147483647.0){d=2147483647;break}d=~~f}else d=0;while(0);p=d-p|0;f=+(((p|0)>0?p:0)>>>0);if((e|0)==(b|0))br(a,342583,50337407,342599);g=e+-16|0;c[t>>2]=g;p=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[g>>2]=2;do if(!(p&8))d=g;else{o=d+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0){d=g;break}qr(c[r>>2]|0,d);d=c[t>>2]|0;b=c[u>>2]|0}while(0);p=d+16|0;c[t>>2]=p;c[d>>2]=0;h[d+8>>3]=f;p=p-b>>4;b=p>>>0>1?b+(p+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[j>>2]|0)+328>>2]|0,4);b=c[t>>2]|0;e=b-(c[u>>2]|0)>>4;if(!e)Cr(a,300,-1);d=c[(c[j>>2]|0)+276>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;g=d+4|0;c[g>>2]=(c[g>>2]|0)+1;g=a+232|0;b=c[g>>2]|0;d=c[t>>2]|0;if(d>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[t>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,1111);if((b-(c[u>>2]|0)|0)<16)Cr(a,1114,-1);p=b+-16|0;c[t>>2]=b+16;c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];c[b+12>>2]=c[p+12>>2];if(c[b>>2]&8|0){p=(c[b+8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}Yr(a,e+-1|0,896);b=c[t>>2]|0;e=b-(c[u>>2]|0)>>4;if(!e)Cr(a,300,-1);d=c[(c[j>>2]|0)+268>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[g>>2]|0;d=c[t>>2]|0;if(d>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[t>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,1111);if((b-(c[u>>2]|0)|0)<16)Cr(a,1114,-1);p=b+-16|0;c[t>>2]=b+16;c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];c[b+12>>2]=c[p+12>>2];if(c[b>>2]&8|0){p=(c[b+8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}Yr(a,e+-1|0,896);if((c[t>>2]|0)>>>0>=(c[s>>2]|0)>>>0)mr(a,4300);b=fs(a,353035,6)|0;g=c[t>>2]|0;c[t>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[t>>2]|0;g=b-(c[u>>2]|0)|0;p=g>>4;i=p+-3|0;if(p>>>0<=2)Cr(a,300,-3);d=c[(c[j>>2]|0)+352>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=((g|0)<48?e:0)+i|0;if(b>>>0>=e>>>0)Cr(a,376,i);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);o=d+(b<<4)|0;e=d+(e+-1<<4)|0;p=c[o>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(o|0,o+16|0,e-o|0)|0;c[e>>2]=2;e=(c[t>>2]|0)+-16|0;c[t>>2]=e;d=e;do if(p&8){o=b+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;qr(c[r>>2]|0,b);e=c[t>>2]|0;d=e}while(0);g=c[u>>2]|0;b=d-g>>4;b=b|0?g+(b+-1<<4)|0:0;b=(b|0)==0?368:b;do if((c[b>>2]|0)==8){b=c[b+8>>2]|0;if(!b){q=124;break}if(c[b>>2]&512|0)q=124}else q=124;while(0);do if((q|0)==124){if((e|0)==(g|0))br(a,342583,50337407,342599);d=e+-16|0;c[t>>2]=d;q=c[e+-16>>2]|0;b=c[e+-8>>2]|0;c[d>>2]=2;do if(q&8){p=b+4|0;q=(c[p>>2]|0)+-1|0;c[p>>2]=q;if(q|0)break;qr(c[r>>2]|0,b);d=c[t>>2]|0}while(0);b=c[(c[j>>2]|0)+60>>2]|0;if(d>>>0<(c[s>>2]|0)>>>0){c[t>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;q=b+4|0;c[q>>2]=(c[q>>2]|0)+1;break}else mr(a,4153)}while(0);ds(a,2,0);q=c[u>>2]|0;b=(c[t>>2]|0)-q>>4;b=b>>>0>1?q+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[j>>2]|0)+352>>2]|0,4);b=c[t>>2]|0;g=b-(c[u>>2]|0)|0;q=g>>4;i=q+-2|0;if(q>>>0<=1)Cr(a,300,-2);d=c[(c[j>>2]|0)+356>>2]|0;if(b>>>0>=(c[s>>2]|0)>>>0)mr(a,4153);c[t>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=((g|0)<32?e:0)+i|0;if(b>>>0>=e>>>0)Cr(a,376,i);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[u>>2]|0;e=(c[t>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);p=d+(b<<4)|0;q=d+(e+-1<<4)|0;s=c[p>>2]|0;d=c[d+(b<<4)+8>>2]|0;t6(p|0,p+16|0,q-p|0)|0;c[q>>2]=2;b=(c[t>>2]|0)+-16|0;c[t>>2]=b;do if(s&8){q=d+4|0;s=(c[q>>2]|0)+-1|0;c[q>>2]=s;if(s|0)break;qr(c[r>>2]|0,d);b=c[t>>2]|0}while(0);u=c[u>>2]|0;b=b-u>>4;b=b>>>0>1?u+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[j>>2]|0)+356>>2]|0,4);return 1}return 0}function Vv(a){a=a|0;return -6}function Wv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+96|0;t=w+88|0;p=w+24|0;n=w+16|0;m=w+8|0;k=w;v=b+68|0;e=c[v>>2]|0;u=b+56|0;if(e>>>0>=(c[u>>2]|0)>>>0)mr(b,4361);c[v>>2]=e+16;if(c[b+72>>2]|0?(d=c[b+64>>2]|0,o=d+-16|0,c[e>>2]=c[o>>2],c[e+4>>2]=c[o+4>>2],c[e+8>>2]=c[o+8>>2],c[e+12>>2]=c[o+12>>2],c[o>>2]&8|0):0){o=(c[d+-8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}e=c[v>>2]|0;switch(c[e+-16>>2]|0){case 9:{j=c[e+-8>>2]|0;i=b+64|0;g=e-(c[i>>2]|0)|0;t=g>>4;h=t+-1|0;if(!t)Cr(b,300,-1);d=c[(c[b+304>>2]|0)+352>>2]|0;if(e>>>0>=(c[u>>2]|0)>>>0)mr(b,4153);c[v>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;f=(c[v>>2]|0)-e>>4;d=((g|0)<16?f:0)+h|0;if(d>>>0>=f>>>0)Cr(b,376,h);Kr(b,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[i>>2]|0;f=(c[v>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(b,376,-2);s=e+(d<<4)|0;t=e+(f+-1<<4)|0;u=c[s>>2]|0;e=c[e+(d<<4)+8>>2]|0;t6(s|0,s+16|0,t-s|0)|0;c[t>>2]=2;d=(c[v>>2]|0)+-16|0;c[v>>2]=d;if((u&8|0)!=0?(t=e+4|0,u=(c[t>>2]|0)+-1|0,c[t>>2]=u,(u|0)==0):0){qr(c[b+44>>2]|0,e);d=c[v>>2]|0}u=c[i>>2]|0;v=d-u>>4;v=v|0?u+(v+-1<<4)|0:0;if((c[((v|0)==0?368:v)>>2]|0)==2)e=436559;else e=Xr(b,-1)|0;d=c[j>>2]|0;if(d&2048|0){c[k>>2]=e;cs(b,352936,k);l=w;return 1}if(d&4096|0){c[m>>2]=e;cs(b,352972,m);l=w;return 1}if(!(d&1024))nr(b,352824,162);c[n>>2]=e;cs(b,353004,n);l=w;return 1}case 6:{o=c[e+-12>>2]|0;if(e>>>0>=(c[u>>2]|0)>>>0)mr(b,4300);k=c[e+-8>>2]|0;d=fs(b,343698,9)|0;e=c[v>>2]|0;c[v>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;cs(b,343708,p);d=a[342756+(k>>>28)>>0]|0;a[p>>0]=d;e=a[342756+(k>>>24&15)>>0]|0;a[p+1>>0]=e;f=a[342756+(k>>>20&15)>>0]|0;a[p+2>>0]=f;g=a[342756+(k>>>16&15)>>0]|0;a[p+3>>0]=g;h=a[342756+(k>>>12&15)>>0]|0;a[p+4>>0]=h;i=a[342756+(k>>>8&15)>>0]|0;a[p+5>>0]=i;j=a[342756+(k>>>4&15)>>0]|0;a[p+6>>0]=j;k=a[342756+(k&15)>>0]|0;a[p+7>>0]=k;m=c[v>>2]|0;if(m>>>0>=(c[u>>2]|0)>>>0)mr(b,4300);n=c[b+44>>2]|0;e=((((((((((((((((c[n+148>>2]^8)*33|0)+(k&255)|0)*33|0)+(j&255)|0)*33|0)+(i&255)|0)*33|0)+(h&255)|0)*33|0)+(g&255)|0)*33|0)+(f&255)|0)*33|0)+(e&255)|0)*33|0)+(d&255)|0;d=c[(c[n+176>>2]|0)+((e&c[n+180>>2])<<2)>>2]|0;a:do if(!d)q=35;else while(1){if(((c[d+12>>2]|0)==(e|0)?(c[d+20>>2]|0)==8:0)?(f3(p,d+28|0,8)|0)==0:0){r=d;s=m;break a}d=c[d+8>>2]|0;if(!d){q=35;break}}while(0);do if((q|0)==35){d=Gr(n,p,8,e)|0;if(!d)er(b,342961,803);else{r=d;s=c[v>>2]|0;break}}while(0);c[v>>2]=s+16;c[s>>2]=8;c[s+8>>2]=r;s=r+4|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=o;cs(b,343715,t);ds(b,3,0);if((c[v>>2]|0)>>>0>=(c[u>>2]|0)>>>0)mr(b,4300);u=fs(b,343721,23)|0;t=c[v>>2]|0;c[v>>2]=t+16;c[t>>2]=8;c[t+8>>2]=u;v=u+4|0;c[v>>2]=(c[v>>2]|0)+1;ds(b,3,0);l=w;return 1}default:nr(b,352824,162)}return 0}function Xv(a){a=a|0;Py(a,22,352920);return 1}function Yv(a){a=a|0;Py(a,22,434202);return 1}function Zv(a){a=a|0;Py(a,23,352904);return 1}function _v(a){a=a|0;Py(a,23,352888);return 1}function $v(a){a=a|0;Py(a,24,0);return 1}function aw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+1168|0;j=p;m=a+68|0;g=c[m>>2]|0;n=a+64|0;b=c[n>>2]|0;b=(g|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8){l=p;return 1}f=c[b+8>>2]|0;if(!f){l=p;return 1}if(c[f>>2]&512|0){l=p;return 1}h=c[a+72>>2]|0;if((h|0)!=0?(d=c[h+20>>2]|0,(d|0)!=0):0)if(!(c[d+52>>2]&1))b=8;else b=c[h+52>>2]<<1&32|8;else{d=0;b=8}e=c[(c[a+304>>2]|0)+412>>2]|0;k=a+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=g+16;c[g>>2]=8;c[g+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[f+20>>2]|0;u6(j|0,0,1160)|0;c[j>>2]=b;u6(j+16|0,0,832)|0;c[j+792>>2]=f+28;c[j+796>>2]=e;c[j+848>>2]=b;b=a+88|0;e=c[b>>2]|0;c[b>>2]=j+8;f=c[m>>2]|0;if(f>>>0<((c[n>>2]|0)+16|0)>>>0)nr(a,342568,315);if((c[k>>2]|0)>>>0<f>>>0)nr(a,342568,315);i=pr(a,25,j,1,1)|0;c[b>>2]=e;if(i|0)Qr(a);i=c[(c[m>>2]|0)+-8>>2]|0;h=h+52|0;do if(!(c[h>>2]&16)){b=c[a+104>>2]|0;Os(a,i,b,b,0);b=c[a+100>>2]|0;d=c[m>>2]|0;if(d>>>0<(c[k>>2]|0)>>>0){c[m>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;o=38;break}else mr(a,4153)}else{b=d+28|0;e=c[b>>2]|0;if(!e){Bs(a,d);e=c[b>>2]|0}if(!(c[i>>2]&65536))Os(a,i,c[d+24>>2]|0,e,0);else{g=Or(a,52)|0;b=c[a+44>>2]|0;c[g>>2]=-2147483519;b=b+24|0;f=c[b>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[b>>2]=g;b=c[m>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=b+16;c[b>>2]=9;c[b+8>>2]=g;f=g+4|0;c[f>>2]=(c[f>>2]|0)+1;c[g+20>>2]=e;if(e|0){f=e+4|0;c[f>>2]=(c[f>>2]|0)+1}e=c[n>>2]|0;b=(c[m>>2]|0)-e>>4;if(!b)Cr(a,376,0);b=b+-1|0;if(b|0){f=e+(b<<4)|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];t6(e+16|0,e|0,b<<4|0)|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2]}Os(a,i,g,g,0)}b=(c[a+52>>2]|0)+(c[d+40>>2]|0)+-16|0;d=c[m>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){b=c[b+8>>2]|0;o=38}}while(0);if((o|0)==38){o=b+4|0;c[o>>2]=(c[o>>2]|0)+1}Lr(a,((c[m>>2]|0)-(c[n>>2]|0)>>4)+-2|0,c[h>>2]&16)|0;l=p;return 1}function bw(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0;f=a+68|0;d=a+64|0;b=c[d>>2]|0;if((c[f>>2]|0)==(b|0))Cr(a,300,0);e=+Ar(a,b);i=c[d>>2]|0;d=c[i>>2]|0;g=i+8|0;b=c[g>>2]|0;c[i>>2]=0;h[g>>3]=e;if(d&8|0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,b);b=c[f>>2]|0;if(b>>>0<(c[a+56>>2]|0)>>>0){h[j>>3]=e;i=c[j+4>>2]&2146435072;c[f>>2]=b+16;c[b>>2]=4;c[b+8>>2]=(i>>>0<2146435072|(i|0)==2146435072&0<0)&1;return 1}else mr(a,4185);return 0}function cw(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0;f=a+68|0;d=a+64|0;b=c[d>>2]|0;if((c[f>>2]|0)==(b|0))Cr(a,300,0);e=+Ar(a,b);i=c[d>>2]|0;d=c[i>>2]|0;g=i+8|0;b=c[g>>2]|0;c[i>>2]=0;h[g>>3]=e;if(d&8|0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,b);b=c[f>>2]|0;if(b>>>0<(c[a+56>>2]|0)>>>0){h[j>>3]=e;i=c[j+4>>2]&2147483647;i=(i>>>0>2146435072|(i|0)==2146435072&(c[j>>2]|0)>>>0>0)&1;c[f>>2]=b+16;c[b>>2]=4;c[b+8>>2]=i;return 1}else mr(a,4185);return 0}function dw(a){a=a|0;Xr(a,0)|0;Hr(a,10,1535);return 1}function ew(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Xr(a,0)|0;b=ss(a,1)|0;do if(!b){g=3101;b=10}else{if((b+-2|0)>>>0<=34){g=(b|0)==16?3101:1053;break}b=a+68|0;d=c[b>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4286);c[b>>2]=d+16;c[d>>2]=0;h[d+8>>3]=s;return 1}while(0);e=a+68|0;f=c[e>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);d=c[a+64>>2]|0;if((f|0)==(d|0))Cr(a,376,0);c[e>>2]=f+16;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){f=(c[f+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Hr(a,b,g);return 1}function fw(a){a=a|0;Py(a,25,0);return 1}function gw(a){a=a|0;Vt(a,0,1,0);return 1}function hw(a){a=a|0;Kt(a,0,1,2,0);return 1}function iw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=rt(a,0)|0;b=d>>>0>65535;d=b?d>>>16:d;b=b?0:16;e=(d&65280|0)==0;d=e?d:d>>>8;b=e?b|8:b;e=(d&240|0)==0;d=e?d:d>>>4;b=e?b|4:b;e=(d&12|0)==0;d=e?d:d>>>2;f=a+68|0;g=c[f>>2]|0;if(g>>>0<(c[a+56>>2]|0)>>>0){a=d>>>1&1;c[f>>2]=g+16;c[g>>2]=0;h[g+8>>3]=+(((a^1)+(e?b|2:b)+((1<<a&d|0)==0&1)|0)>>>0);return 1}else mr(a,4274);return 0}function jw(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,u=0,v=0;u=a+68|0;g=c[u>>2]|0;p=a+64|0;i=c[p>>2]|0;m=g-i|0;q=m>>4;e=g;do if((m|0)>0){m=a+44|0;if((g|0)==(i|0)){i=0;Cr(a,300,i)}else{d=0;r=0.0;o=0;l=i}while(1){b=+Ar(a,l+(d<<4)|0);i=c[p>>2]|0;g=i+(d<<4)|0;l=c[g>>2]|0;i=i+(d<<4)+8|0;e=c[i>>2]|0;c[g>>2]=0;h[i>>3]=b;if(l&8|0?(i=e+4|0,l=(c[i>>2]|0)+-1|0,c[i>>2]=l,(l|0)==0):0)qr(c[m>>2]|0,e);k=+B(+b);l=(K4(k)|0)==0;o=l?1:o;r=r>k|l?r:k;d=d+1|0;if((d|0)>=(q|0))break;l=c[p>>2]|0;if(d>>>0>=(c[u>>2]|0)-l>>4>>>0){n=3;break}}if((n|0)==3)Cr(a,300,d);if(r==t){d=c[u>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){r=t;v=d;a=v+16|0;c[u>>2]=a;c[v>>2]=0;v=v+8|0;h[v>>3]=r;return 1}else mr(a,4215)}if(o|0){d=c[u>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){r=s;v=d;a=v+16|0;c[u>>2]=a;c[v>>2]=0;v=v+8|0;h[v>>3]=r;return 1}else mr(a,4215)}if(r==0.0){v=c[u>>2]|0;break}d=c[u>>2]|0;i=c[p>>2]|0;l=d-i>>4;f=0.0;k=0.0;g=0;while(1){e=g>>>0<l>>>0?i+(g<<4)|0:0;e=(e|0)==0?368:e;if(!(c[e>>2]|0))b=+h[e+8>>3];else b=s;b=+B(+b)/r;b=b*b-f;j=k+b;g=g+1|0;if((g|0)>=(q|0))break;else{f=j-k-b;k=j}}b=r*+C(+j);if(d>>>0<(c[a+56>>2]|0)>>>0){r=b;v=d;a=v+16|0;c[u>>2]=a;c[v>>2]=0;v=v+8|0;h[v>>3]=r;return 1}else mr(a,4215)}else v=e;while(0);if(v>>>0<(c[a+56>>2]|0)>>>0){r=0.0;a=v+16|0;c[u>>2]=a;c[v>>2]=0;v=v+8|0;h[v>>3]=r;return 1}else mr(a,4215);return 0}function kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=rt(a,0)|0;d=rt(a,1)|0;e=a+68|0;f=c[e>>2]|0;if(f>>>0<(c[a+56>>2]|0)>>>0){g=+(O(d,b)|0);c[e>>2]=f+16;c[f>>2]=0;h[f+8>>3]=g;return 1}else mr(a,4244);return 0}function lw(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0;p=a+68|0;f=c[p>>2]|0;m=a+64|0;g=c[m>>2]|0;l=f-g|0;n=l>>4;d=f;do if((l|0)>0){l=a+44|0;if((f|0)==(g|0)){g=0;Cr(a,300,g)}else{k=-t;b=0;i=g}while(1){e=+Ar(a,i+(b<<4)|0);g=c[m>>2]|0;f=g+(b<<4)|0;i=c[f>>2]|0;g=g+(b<<4)+8|0;d=c[g>>2]|0;c[f>>2]=0;h[g>>3]=e;if(i&8|0?(g=d+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[l>>2]|0,d);do if((K4(e)|0)!=0?(K4(k)|0)!=0:0){if(!(k==0.0&e==0.0)){e=k>e?k:e;break}h[j>>3]=k;i=c[j+4>>2]|0;if((i|0)>-1|(i|0)==-1&(c[j>>2]|0)>>>0>4294967295)e=0.0;else{h[j>>3]=e;i=c[j+4>>2]|0;e=(i|0)>-1|(i|0)==-1&(c[j>>2]|0)>>>0>4294967295?0.0:-0.0}}else e=s;while(0);b=b+1|0;if((b|0)>=(n|0)){d=15;break}i=c[m>>2]|0;if(b>>>0>=(c[p>>2]|0)-i>>4>>>0){d=3;break}else k=e}if((d|0)==3)Cr(a,300,b);else if((d|0)==15){o=e;q=c[p>>2]|0;break}}else{o=-t;q=d}while(0);if(q>>>0<(c[a+56>>2]|0)>>>0){c[p>>2]=q+16;c[q>>2]=0;h[q+8>>3]=o;return 1}else mr(a,4215);return 0}function mw(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0;p=a+68|0;f=c[p>>2]|0;m=a+64|0;g=c[m>>2]|0;l=f-g|0;n=l>>4;d=f;do if((l|0)>0){l=a+44|0;if((f|0)==(g|0)){g=0;Cr(a,300,g)}else{k=t;b=0;i=g}while(1){e=+Ar(a,i+(b<<4)|0);g=c[m>>2]|0;f=g+(b<<4)|0;i=c[f>>2]|0;g=g+(b<<4)+8|0;d=c[g>>2]|0;c[f>>2]=0;h[g>>3]=e;if(i&8|0?(g=d+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[l>>2]|0,d);do if((K4(e)|0)!=0?(K4(k)|0)!=0:0)if(k==0.0&e==0.0){h[j>>3]=k;i=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=e;g=c[j+4>>2]|g;e=g>>>0>0|((g|0)==0?(c[j>>2]|i)>>>0>4294967295:0)?-0.0:0.0;break}else{e=k<e?k:e;break}else e=s;while(0);b=b+1|0;if((b|0)>=(n|0)){d=14;break}i=c[m>>2]|0;if(b>>>0>=(c[p>>2]|0)-i>>4>>>0){d=3;break}else k=e}if((d|0)==3)Cr(a,300,b);else if((d|0)==14){o=e;q=c[p>>2]|0;break}}else{o=t;q=d}while(0);if(q>>>0<(c[a+56>>2]|0)>>>0){c[p>>2]=q+16;c[q>>2]=0;h[q+8>>3]=o;return 1}else mr(a,4215);return 0}function nw(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){g=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)g=b[e+46>>1]|0;else g=0}else g=0;while(0);i=a+68|0;e=a+64|0;d=c[e>>2]|0;if((c[i>>2]|0)==(d|0))Cr(a,300,0);f=+Ar(a,d);k=c[e>>2]|0;e=c[k>>2]|0;j=k+8|0;d=c[j>>2]|0;c[k>>2]=0;h[j>>3]=f;if(e&8|0?(j=d+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0)qr(c[a+44>>2]|0,d);f=+Mh[c[6988+(g<<2)>>2]&31](f);d=c[i>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[i>>2]=d+16;c[d>>2]=0;h[d+8>>3]=f;return 1}else mr(a,4215);return 0}function ow(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;f=c[a+44>>2]|0;k=f+152|0;i=k;e=c[i>>2]|0;i=c[i+4>>2]|0;f=f+160|0;d=f;b=c[d>>2]|0;d=c[d+4>>2]|0;m=b^e;l=d^i;o=n6(e|0,i|0,55)|0;g=z;p=m6(e|0,i|0,9)|0;g=(z|g)^l;n=n6(m|0,l|0,14)|0;c[k>>2]=(p|o)^m^n;c[k+4>>2]=g^z;k=n6(m|0,l|0,36)|0;g=z;l=m6(m|0,l|0,28)|0;c[f>>2]=l|k;c[f+4>>2]=z|g;f=a+68|0;g=c[f>>2]|0;if(g>>>0<(c[a+56>>2]|0)>>>0){o=b6(b|0,d|0,e|0,i|0)|0;o=m6(o|0,z|0,12)|0;p=z|1072693248;c[j>>2]=o;c[j+4>>2]=p;q=+h[j>>3]+-1.0;c[f>>2]=g+16;c[g>>2]=0;h[g+8>>3]=q;return 1}else mr(a,4215);return 0}function pw(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0;f=a+68|0;d=a+64|0;b=c[d>>2]|0;if((c[f>>2]|0)==(b|0))Cr(a,300,0);e=+Ar(a,b);i=c[d>>2]|0;d=c[i>>2]|0;g=i+8|0;b=c[g>>2]|0;c[i>>2]=0;h[g>>3]=e;if(d&8|0?(g=b+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,b);h[j>>3]=e;i=c[j+4>>2]|0;if(e==0.0|0==0&(i&2146435072|0)==2146435072&((c[j>>2]|0)!=0|(i&1048575|0)!=0))return 1;b=c[f>>2]|0;if(b>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);c[f>>2]=b+16;c[b>>2]=0;h[b+8>>3]=e>0.0?1.0:-1.0;return 1}function qw(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){j=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)j=b[e+46>>1]|0;else j=0}else j=0;while(0);k=a+68|0;g=a+64|0;d=c[g>>2]|0;if((c[k>>2]|0)==(d|0))Cr(a,300,0);i=+Ar(a,d);d=c[g>>2]|0;l=c[d>>2]|0;m=d+8|0;e=c[m>>2]|0;c[d>>2]=0;h[m>>3]=i;if((l&8|0)!=0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0){qr(c[a+44>>2]|0,e);d=c[g>>2]|0}if((c[k>>2]|0)-d>>4>>>0<=1)Cr(a,300,1);f=+Ar(a,d+16|0);l=c[g>>2]|0;g=l+16|0;m=c[g>>2]|0;l=l+24|0;d=c[l>>2]|0;c[g>>2]=0;h[l>>3]=f;if(m&8|0?(l=d+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,d);f=+Nh[c[6980+(j<<2)>>2]&3](i,f);d=c[k>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[k>>2]=d+16;c[d>>2]=0;h[d+8>>3]=f;return 1}else mr(a,4215);return 0}function rw(a){a=a|0;var d=0,e=0,f=0,g=0.0;d=c[a+64>>2]|0;switch(c[d+-16>>2]|0){case 9:{d=c[d+-8>>2]|0;if(!(c[d>>2]&4096))nr(a,352824,412);f=b[d+44>>1]|0;d=a+68|0;e=c[d>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);g=f<<16>>16==-1?0.0:+(f<<16>>16);f=d;a=e;e=a+16|0;c[f>>2]=e;c[a>>2]=0;a=a+8|0;h[a>>3]=g;return 1}case 6:{e=a+68|0;f=c[e>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);g=+(((c[d+-12>>2]|0)>>>4&15)>>>0);a=f;f=a+16|0;c[e>>2]=f;c[a>>2]=0;a=a+8|0;h[a>>3]=g;return 1}default:nr(a,352824,412)}return 0}function sw(a){a=a|0;var b=0,d=0,e=0;b=c[a+64>>2]|0;switch(c[b+-16>>2]|0){case 9:{if(!(c[c[b+-8>>2]>>2]&4096))nr(a,352824,441);b=c[(c[a+304>>2]|0)+60>>2]|0;d=a+68|0;e=c[d>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[d>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return 1}case 6:{ut(a,c[b+-8>>2]|0,c[b+-12>>2]|0);return 1}default:nr(a,352824,441)}return 0}function tw(a){a=a|0;var b=0,d=0,e=0,f=0.0;Xr(a,0)|0;d=a+68|0;e=c[d>>2]|0;b=c[a+64>>2]|0;b=(e|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8)ar(a,2101,0,361511);b=c[b+8>>2]|0;if(!b)ar(a,2101,0,361511);if(e>>>0<(c[a+56>>2]|0)>>>0){f=+((c[b+20>>2]|0)>>>0);c[d>>2]=e+16;c[e>>2]=0;h[e+8>>3]=f;return 1}else mr(a,4274);return 0}function uw(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;r=x;v=b+68|0;w=b+64|0;d=c[w>>2]|0;d=(c[v>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(b,2130,0,342926);d=c[d+8>>2]|0;if(!d)ar(b,2130,0,342926);if((c[d>>2]&-134217728|0)!=268435456)nr(b,352373,2137);s=Ur(b,0)|0;q=(s|0)==0;a:do if(!q){i=b+44|0;f=0;g=0;b:while(1){et(b,0,g)|0;e=c[w>>2]|0;if((c[v>>2]|0)-e>>4>>>0<=2){d=9;break}switch(c[e+32>>2]|0){case 9:{d=c[e+40>>2]|0;if(!(c[d>>2]&8192)){d=13;break b}break}case 10:{Mr(b,2);e=c[w>>2]|0;d=c[e+40>>2]|0;break}default:{d=13;break b}}p=c[d+52>>2]|0;f=p+f|0;if(f>>>0<p>>>0){d=15;break}d=c[v>>2]|0;if((d|0)==(e|0)){d=17;break}o=d+-16|0;c[v>>2]=o;p=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[o>>2]=2;if(p&8|0?(o=d+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)qr(c[i>>2]|0,d);g=g+1|0;if(g>>>0>=s>>>0){j=f;break a}}if((d|0)==9)Cr(b,376,2);else if((d|0)==13)br(b,352373,100663514,352389);else if((d|0)==15)br(b,352373,50333801,343797);else if((d|0)==17)br(b,342583,50337407,342599)}else j=0;while(0);d=c[v>>2]|0;p=c[w>>2]|0;p=d-p>>4>>>0>1?p+16|0:0;if(s|0?(c[((p|0)==0?368:p)>>2]|0)!=2:0){nu(b,1);e=c[v>>2]|0;d=c[w>>2]|0;d=e-d>>4>>>0>1?d+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(n=+h[d+8>>3],(K4(n)|0)!=0):0){if(n<-2147483648.0)br(b,352373,50333821,343797);d=~~n;if(!(n>2147483647.0))if((d|0)<0)br(b,352373,50333821,343797);else{m=d;k=e}else{m=2147483647;k=e}}else{m=0;k=e}}else{m=j;k=d}f=b+56|0;if(k>>>0>=(c[f>>2]|0)>>>0)mr(b,4988);o=Or(b,60)|0;p=b+44|0;d=c[p>>2]|0;c[o>>2]=-1342168959;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=o;c[o+12>>2]=0;c[o+8>>2]=e;c[d>>2]=o;d=c[b+300>>2]|0;c[o+20>>2]=d;if(d|0){k=d+4|0;c[k>>2]=(c[k>>2]|0)+1}k=c[v>>2]|0;c[k>>2]=9;c[k+8>>2]=o;k=o+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[v>>2]|0)+16|0;c[v>>2]=k;if(k>>>0>=(c[f>>2]|0)>>>0)mr(b,5237);if(m>>>0>2147483646)br(b,342583,50336889,342539);d=ts(c[p>>2]|0,m,0,r)|0;if(!d)er(b,342583,5246);k=c[v>>2]|0;c[k>>2]=10;c[k+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[v>>2]|0)+16|0;c[v>>2]=d;do if(!q){j=c[r>>2]|0;k=0;c:while(1){et(b,0,k)|0;e=c[w>>2]|0;if((c[v>>2]|0)-e>>4>>>0<=4){d=43;break}switch(c[e+64>>2]|0){case 9:{d=c[e+72>>2]|0;if(!(c[d>>2]&8192)){d=47;break c}break}case 10:{Mr(b,4);e=c[w>>2]|0;d=c[e+72>>2]|0;break}default:{d=47;break c}}f=c[d+52>>2]|0;i=f>>>0>m>>>0?m:f;g=c[d+40>>2]|0;if((g|0)!=0?(t=c[d+48>>2]|0,(t+f|0)>>>0<=(c[g+16>>2]|0)>>>0):0){if(!(c[g>>2]&128))d=g+24|0;else d=c[g+20>>2]|0;s6(j|0,d+t|0,i|0)|0;e=c[w>>2]|0}j=j+i|0;m=m-i|0;d=c[v>>2]|0;if((d|0)==(e|0)){d=55;break}q=d+-16|0;c[v>>2]=q;r=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[q>>2]=2;if(r&8|0?(q=d+4|0,r=(c[q>>2]|0)+-1|0,c[q>>2]=r,(r|0)==0):0)qr(c[p>>2]|0,d);k=k+1|0;if(k>>>0>=s>>>0){d=60;break}}if((d|0)==43)Cr(b,376,4);else if((d|0)==47)br(b,352373,100663514,352389);else if((d|0)==55)br(b,342583,50337407,342599);else if((d|0)==60){u=c[v>>2]|0;break}}else u=d;while(0);d=u+-8|0;t=c[d>>2]|0;c[o+40>>2]=t;s=t+4|0;c[s>>2]=(c[s>>2]|0)+1;c[o+52>>2]=c[t+16>>2];a[o+58>>0]=1;if((u|0)==(c[w>>2]|0))br(b,342583,50337407,342599);b=u+-16|0;c[v>>2]=b;w=c[u+-16>>2]|0;d=c[d>>2]|0;c[b>>2]=2;if(!(w&8)){l=x;return 1}v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0){l=x;return 1}qr(c[p>>2]|0,d);l=x;return 1}function vw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;st(a,c[(fy(a)|0)+16>>2]|0);b=c[a+300>>2]|0;j=a+68|0;d=c[j>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[j>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;i=a+64|0;b=c[i>>2]|0;g=d-b>>4;f=g>>>0>1?b+(g+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(a,2130,-2,342926);h=c[f+8>>2]|0;if(!h)ar(a,2130,-2,342926);f=g|0?b+(g+-1<<4)|0:0;f=(f|0)==0?368:f;switch(c[f>>2]|0){case 9:{f=c[f+8>>2]|0;h=h+20|0;e=c[h>>2]|0;c[h>>2]=f;if(f){h=f+4|0;c[h>>2]=(c[h>>2]|0)+1}break}case 2:{h=h+20|0;e=c[h>>2]|0;c[h>>2]=0;break}default:br(a,342583,100667121,343529)}if((e|0)!=0?(g=e+4|0,h=(c[g>>2]|0)+-1|0,c[g>>2]=h,(h|0)==0):0){Ms(c[a+44>>2]|0,e);d=c[j>>2]|0;b=c[i>>2]|0}if((d|0)==(b|0))br(a,342583,50337407,342599);i=d+-16|0;c[j>>2]=i;j=c[d+-16>>2]|0;b=c[d+-8>>2]|0;c[i>>2]=2;if(!(j&8))return 1;i=b+4|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(j|0)return 1;qr(c[a+44>>2]|0,b);return 1}function ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=gy(a,3)|0;t=a+68|0;j=a+64|0;b=c[j>>2]|0;if((c[t>>2]|0)==(b|0))Cr(a,376,0);switch(c[b>>2]|0){case 9:{b=c[b+8>>2]|0;if(!(c[b>>2]&8192))br(a,352373,100663514,352389);else p=b;break}case 10:{Mr(a,0);p=c[(c[j>>2]|0)+8>>2]|0;break}default:br(a,352373,100663514,352389)}k=c[q+52>>2]|0;l=c[p+52>>2]|0;nu(a,1);b=c[j>>2]|0;b=(c[t>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)o=2147483647;else o=~~g;else o=-2147483648;else o=0;nu(a,2);b=c[t>>2]|0;e=c[j>>2]|0;f=b-e>>4;d=f>>>0>2?e+32|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(i=+h[d+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)n=2147483647;else n=~~i;else n=-2147483648;else n=0;f=f>>>0>3?e+48|0:0;if((c[((f|0)==0?368:f)>>2]|0)!=2){nu(a,3);b=c[t>>2]|0;d=c[j>>2]|0;d=b-d>>4>>>0>3?d+48|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(m=+h[d+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0)d=2147483647;else d=~~m;else d=-2147483648;else d=0}else d=k;if((n|o|d|0)<0)br(a,352373,50333191,343797);if(l>>>0>o>>>0&(n>>>0<k>>>0&n>>>0<d>>>0)){d=(d>>>0<k>>>0?d:k)-n|0;d=(d+o|0)>>>0>l>>>0?l-o|0:d;f=c[p+48>>2]|0;e=c[p+40>>2]|0;if((d+o+f|0)>>>0<=(c[e+16>>2]|0)>>>0?(s=c[q+48>>2]|0,r=c[q+40>>2]|0,(d+n+s|0)>>>0<=(c[r+16>>2]|0)>>>0):0){if(!(c[e>>2]&128))e=e+24|0;else e=c[e+20>>2]|0;if(!(c[r>>2]&128))b=r+24|0;else b=c[r+20>>2]|0;t6(e+f+o|0,b+s+n|0,d|0)|0;b=c[t>>2]|0}}else d=0;if(b>>>0<(c[a+56>>2]|0)>>>0){c[t>>2]=b+16;c[b>>2]=0;h[b+8>>3]=+(d>>>0);return 1}else mr(a,4274);return 0}function xw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;g=o;e=o+4|0;j=gy(b,3)|0;i=j+40|0;if(!(c[i>>2]|0))nr(b,352373,1342);m=b+68|0;n=b+64|0;d=c[n>>2]|0;d=(c[m>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if(((c[d>>2]|0)==8?(f=c[d+8>>2]|0,(f|0)!=0):0)?(c[f>>2]&512|0)==0:0){e=f+28|0;k=c[f+20>>2]|0}else{a[e>>0]=rt(b,0)|0;k=1}d=c[j+52>>2]|0;h=Ot(b,1,0,d,g)|0;f=c[n>>2]|0;f=(c[m>>2]|0)-f>>4>>>0>2?f+32|0:0;if((c[((f|0)==0?368:f)>>2]|0)==2)f=d;else f=Ot(b,2,h,d,g)|0;d=c[i>>2]|0;if(!(c[d>>2]&128))d=d+24|0;else d=c[d+20>>2]|0;i=d+(c[j+48>>2]|0)+h|0;g=f-h|0;switch(k|0){case 1:{u6(i|0,a[e>>0]|0,g|0)|0;break}case 0:break;default:if(g|0){d=0;f=0;while(1){h=f+1|0;a[i+d>>0]=a[e+f>>0]|0;d=d+1|0;if((d|0)==(g|0))break;else f=h>>>0<k>>>0?h:0}}}e=c[m>>2]|0;if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4361);c[m>>2]=e+16;if(!(c[b+72>>2]|0)){l=o;return 1}d=c[n>>2]|0;n=d+-16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];if(!(c[n>>2]&8)){l=o;return 1}n=(c[d+-8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1;l=o;return 1}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+68|0;h=c[g>>2]|0;d=c[a+64>>2]|0;d=(h|0)!=(d|0)?d:0;d=(d|0)==0?368:d;a:do if((((c[d>>2]|0)==9?(e=c[d+8>>2]|0,(e|0)!=0):0)?(b=c[e+20>>2]|0,(b|0)!=0):0)?(i=c[a+300>>2]|0,(i|0)!=0):0){d=1e4;while(1){if((b|0)==(i|0)){f=1;break a}if(!d)break;b=c[b+20>>2]|0;if(!b){f=0;break a}else d=d+-1|0}br(a,352752,50331677,343030)}else f=0;while(0);if(h>>>0<(c[a+56>>2]|0)>>>0){c[g>>2]=h+16;c[h>>2]=4;c[h+8>>2]=f;return 1}else mr(a,4185);return 0}function zw(a){a=a|0;var b=0,d=0,e=0;b=Xr(a,0)|0;d=a+68|0;e=c[d>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){b=(e3(b,352819)|0)==0&1;c[d>>2]=e+16;c[e>>2]=4;c[e+8>>2]=b;return 1}else mr(a,4185);return 0}function Aw(a){a=a|0;var b=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;b=gy(a,3)|0;l=b+40|0;e=c[l>>2]|0;if(e|0?(o=b+48|0,q=b+52|0,((c[q>>2]|0)+(c[o>>2]|0)|0)>>>0<=(c[e+16>>2]|0)>>>0):0){s=a+68|0;r=a+56|0;if((c[s>>2]|0)>>>0>=(c[r>>2]|0)>>>0)mr(a,4604);f=Or(a,40)|0;k=a+44|0;b=c[k>>2]|0;c[f>>2]=134234241;b=b+24|0;e=c[b>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[b>>2]=f;e=c[s>>2]|0;c[e>>2]=9;c[e+8>>2]=f;e=f+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[s>>2]|0;g=e+16|0;c[s>>2]=g;b=c[a+112>>2]|0;c[f+20>>2]=b;if(b|0){p=b+4|0;c[p>>2]=(c[p>>2]|0)+1}p=a+64|0;n=a+304|0;b=c[(c[n>>2]|0)+120>>2]|0;if(g>>>0>=(c[r>>2]|0)>>>0)mr(a,4153);c[s>>2]=e+32;c[g>>2]=8;c[e+24>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[s>>2]|0;f=b-(c[p>>2]|0)|0;m=f>>4;g=m+-2|0;if(m>>>0<=1)Cr(a,300,-2);e=c[(c[n>>2]|0)+320>>2]|0;if(b>>>0>=(c[r>>2]|0)>>>0)mr(a,4153);c[s>>2]=b+16;c[b>>2]=8;c[b+8>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[p>>2]|0;j=(c[s>>2]|0)-i>>4;f=((f|0)<32?j:0)+g|0;if(f>>>0>=j>>>0)Cr(a,376,g);if((j|0)==1)Cr(a,376,-2);e=j+-2|0;m=a+72|0;b=c[m>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,i+(f<<4)|0,i+(j+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],b)|0;Nt(a);f=c[q>>2]|0;g=Or(a,48)|0;b=c[k>>2]|0;c[g>>2]=272679041;b=b+24|0;e=c[b>>2]|0;if(e|0)c[e+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=e;c[b>>2]=g;b=c[a+132>>2]|0;c[g+20>>2]=b;if(b|0){k=b+4|0;c[k>>2]=(c[k>>2]|0)+1}b=c[s>>2]|0;c[b>>2]=9;c[b+8>>2]=g;b=g+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[s>>2]|0;c[s>>2]=b+16;b=c[b+8>>2]|0;Br(a,b,0,f,0,0);c[b+40>>2]=f;g=c[b+24>>2]|0;g=(c[b+16>>2]|0)+(g*21|0)+(0-g&7)|0;b=c[l>>2]|0;if(!(c[b>>2]&128))b=b+24|0;else b=c[b+20>>2]|0;f=b+(c[o>>2]|0)|0;e=c[q>>2]|0;if(e|0){b=0;do{t=+(d[f+b>>0]|0);c[g+(b<<4)>>2]=0;h[g+(b<<4)+8>>3]=t;b=b+1|0}while((b|0)!=(e|0))}e=c[s>>2]|0;f=e-(c[p>>2]|0)|0;q=f>>4;j=q+-2|0;if(q>>>0<=1)Cr(a,300,-2);b=c[(c[n>>2]|0)+324>>2]|0;if(e>>>0>=(c[r>>2]|0)>>>0)mr(a,4153);c[s>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;i=b+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[p>>2]|0;g=(c[s>>2]|0)-i>>4;f=((f|0)<32?g:0)+j|0;if(f>>>0>=g>>>0)Cr(a,376,j);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;b=c[m>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,i+(f<<4)|0,i+(g+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],b)|0;Nt(a);return 1}b=a+68|0;e=c[b>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4175);c[b>>2]=e+16;c[e>>2]=3;return 1}function Bw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;f=gy(b,2)|0;if(!f){d=b+68|0;if((c[d>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);b=fs(b,352803,15)|0;n=c[d>>2]|0;c[d>>2]=n+16;c[n>>2]=8;c[n+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;l=o;return 1}d=c[f+52>>2]|0;i=Ot(b,1,0,d,m)|0;n=b+68|0;e=c[n>>2]|0;j=b+64|0;k=c[j>>2]|0;k=e-k>>4>>>0>2?k+32|0:0;if((c[((k|0)==0?368:k)>>2]|0)!=2){d=Ot(b,2,i,d,m)|0;e=c[n>>2]|0}h=d-i|0;if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(h>>>0>2147483646)br(b,342583,50336889,342539);k=b+44|0;e=ts(c[k>>2]|0,h,4,m)|0;if(!e)er(b,342583,5246);g=c[n>>2]|0;c[g>>2]=10;c[g+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;g=c[m>>2]|0;e=c[f+40>>2]|0;if(!e)nr(b,352373,1204);f=c[f+48>>2]|0;if((f+d|0)>>>0>(c[e+16>>2]|0)>>>0)nr(b,352373,1204);if(!(c[e>>2]&128))d=e+24|0;else d=c[e+20>>2]|0;s6(g|0,d+f+i|0,h|0)|0;e=c[j>>2]|0;d=(c[n>>2]|0)-e>>4;if(!d)Cr(b,376,-1);i=e+(d+-1<<4)|0;j=c[e>>2]|0;d=c[e+8>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[i>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(j&8|0?(j=d+4|0,n=(c[j>>2]|0)+-1|0,c[j>>2]=n,(n|0)==0):0)qr(c[k>>2]|0,d);Zs(b,1);a[m+8>>0]=0;a[m+9>>0]=1;c[m>>2]=0;a[m+4>>0]=-65;a[m+5>>0]=-128;a[m+6>>0]=0;a[m+7>>0]=0;jy(b,m);l=o;return 1}function Cw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=gy(a,3)|0;r=a+68|0;i=a+64|0;b=c[i>>2]|0;b=(c[r>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8)ar(a,2113,0,361511);b=c[b+8>>2]|0;if(!b)ar(a,2113,0,361511);if(c[b>>2]&512|0)ar(a,2113,0,361511);l=c[b+20>>2]|0;p=b+28|0;nu(a,1);b=c[r>>2]|0;e=c[i>>2]|0;f=b-e>>4;d=f>>>0>1?e+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(g=+h[d+8>>3],(K4(g)|0)!=0):0){if(g<-2147483648.0)br(a,352373,50331941,343797);d=~~g;if(!(g>2147483647.0))if((d|0)<0)br(a,352373,50331941,343797);else q=d;else q=2147483647}else q=0;m=o+52|0;d=c[m>>2]|0;if(d>>>0<q>>>0)br(a,352373,50331941,343797);f=f>>>0>2?e+32|0:0;if((c[((f|0)==0?368:f)>>2]|0)!=2){nu(a,2);b=c[r>>2]|0;d=c[i>>2]|0;d=b-d>>4>>>0>2?d+32|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(k=+h[d+8>>3],(K4(k)|0)!=0):0){if(k<-2147483648.0)br(a,352373,50331941,343797);d=~~k;if(!(k>2147483647.0))if((d|0)<0)br(a,352373,50331941,343797);else j=d;else j=2147483647;d=(c[m>>2]|0)-q|0;d=j>>>0>d>>>0?d:j;n=20}else f=0}else{d=d-q|0;n=20}if((n|0)==20)f=d>>>0>l>>>0?l:d;e=c[o+48>>2]|0;d=c[o+40>>2]|0;if(((c[m>>2]|0)+e|0)>>>0<=(c[d+16>>2]|0)>>>0){if(!(c[d>>2]&128))b=d+24|0;else b=c[d+20>>2]|0;s6(b+e+q|0,p|0,f|0)|0;b=c[r>>2]|0}if(b>>>0<(c[a+56>>2]|0)>>>0){c[r>>2]=b+16;c[b>>2]=0;h[b+8>>3]=+(f>>>0);return 1}else mr(a,4274);return 0}function Dw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;g=a+68|0;d=c[g>>2]|0;i=a+64|0;e=c[i>>2]|0;f=d;do if((d|0)==(e|0))if(f>>>0<(c[a+56>>2]|0)>>>0){b=f+16|0;c[g>>2]=b;c[f>>2]=0;h[f+8>>3]=0.0;break}else mr(a,4244);else b=d;while(0);if((b|0)==(e|0))Cr(a,300,0);j=+Ar(a,e);d=c[i>>2]|0;f=c[d>>2]|0;e=d+8|0;b=c[e>>2]|0;c[d>>2]=0;h[e>>3]=j;if(f&8|0?(e=b+4|0,f=(c[e>>2]|0)+-1|0,c[e>>2]=f,(f|0)==0):0)qr(c[a+44>>2]|0,b);Zs(a,1);b=c[a+72>>2]|0;if(!b){a=1;return a|0}if(!(c[b+52>>2]&4)){a=1;return a|0}b=c[g>>2]|0;e=a+56|0;if(b>>>0>=(c[e>>2]|0)>>>0)mr(a,4361);c[g>>2]=b+16;d=c[i>>2]|0;f=d+-16|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];if(c[f>>2]&8|0){f=(c[d+-8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}d=c[g>>2]|0;f=c[d+-8>>2]|0;c[f>>2]=c[f>>2]&134217727|1342177280;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,1093);b=c[i>>2]|0;if((d|0)==(b|0))Cr(a,376,0);c[g>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[d>>2]&8|0){f=(c[d+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}i=c[i>>2]|0;b=(c[g>>2]|0)-i>>4;b=b>>>0>1?i+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[a+304>>2]|0)+404>>2]|0,0);a=0;return a|0}function Ew(a){a=a|0;var b=0,d=0.0;d=+uy(a);b=c[a+64>>2]|0;b=(c[a+68>>2]|0)!=(b|0)?b:0;b=c[((b|0)==0?368:b)>>2]|0;nu(a,0);if((K4(d)|0|1|0)==1){Xr(a,-1)|0;return 1}else{kt(a,10,(Ot(a,0,0,20,0)|0)+1|0,(b|0)!=2|2);return 1}return 0}function Fw(a){a=a|0;var b=0,c=0.0;b=Ot(a,0,0,20,0)|0;c=+uy(a);if((K4(c)|0|1|0)!=1?!(c>=1.0e21|c<=-1.0e21):0){kt(a,10,b,9);return 1}Xr(a,-1)|0;return 1}function Gw(a){a=a|0;var b=0;+uy(a);b=c[a+64>>2]|0;b=(c[a+68>>2]|0)!=(b|0)?b:0;if((c[((b|0)==0?368:b)>>2]|0)==2){b=10;kt(a,b,0,0);return 1}b=Ot(a,0,2,36,0)|0;kt(a,b,0,0);return 1}function Hw(a){a=a|0;var b=0.0,d=0;b=+uy(a);d=c[a+64>>2]|0;d=(c[a+68>>2]|0)!=(d|0)?d:0;if((c[((d|0)==0?368:d)>>2]|0)!=2?(nu(a,0),(K4(b)|0|1|0)!=1):0){kt(a,10,Ot(a,0,1,21,0)|0,5);return 1}Xr(a,-1)|0;return 1}function Iw(a){a=a|0;var b=0;+uy(a);b=c[a+64>>2]|0;b=(c[a+68>>2]|0)!=(b|0)?b:0;if((c[((b|0)==0?368:b)>>2]|0)==2){b=10;kt(a,b,0,0);return 1}b=Ot(a,0,2,36,0)|0;kt(a,b,0,0);return 1}function Jw(a){a=a|0;+uy(a);return 1}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+68|0;e=c[f>>2]|0;d=c[a+64>>2]|0;d=(e|0)!=(d|0)?d:0;d=c[((d|0)==0?368:d)>>2]|0;b=c[a+72>>2]|0;if(!b)b=1;else b=(c[b+52>>2]&4|0)==0;if((d&-2|0)!=2&b){Mr(a,0);return 1}if(!(140>>>d&1)){Mr(a,0);return 1}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4604);e=Or(a,40)|0;b=c[a+44>>2]|0;c[e>>2]=134234241;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[f>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16;b=c[a+112>>2]|0;c[e+20>>2]=b;if(!b)return 1;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;return 1}function Lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+68|0;e=a+64|0;b=(c[d>>2]|0)-(c[e>>2]|0)|0;f=b>>4;if((b|0)<16)nr(a,342583,419);Mr(a,0);if((b|0)==16){Zs(a,1);return 1}else b=1;do{g=c[e>>2]|0;g=b>>>0<(c[d>>2]|0)-g>>4>>>0?g+(b<<4)|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2?(Mr(a,b),Lt(a,b,16),Mt(a,-1,1)|0):0)do Et(a,0);while((Mt(a,-1,1)|0)!=0);b=b+1|0}while((b|0)<(f|0));Zs(a,1);return 1}function Mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+68|0;b=c[i>>2]|0;h=a+64|0;d=c[h>>2]|0;e=(b|0)!=(d|0)?d:0;if((c[((e|0)==0?368:e)>>2]|0)==10){Mr(a,0);b=c[i>>2]|0;d=c[h>>2]|0}e=b;b=(b|0)!=(d|0)?d:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{f=4;break}case 3:{g=0;break}default:ar(a,2416,0,342926)}if((f|0)==4){b=c[b+8>>2]|0;if(!b)ar(a,2416,0,342926);else g=b}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4604);e=Or(a,40)|0;f=a+44|0;b=c[f>>2]|0;c[e>>2]=134234241;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[i>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[i>>2]|0)+16|0;c[i>>2]=b;c[e+20>>2]=g;if(g|0){g=g+4|0;c[g>>2]=(c[g>>2]|0)+1}d=c[h>>2]|0;b=b-d>>4;h=b>>>0>1?d+16|0:0;if((c[((h|0)==0?368:h)>>2]|0)==2)return 1;if(!b)Cr(a,376,-1);g=d+(b+-1<<4)|0;h=c[d>>2]|0;b=c[d+8>>2]|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[g>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(h&8|0?(h=b+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0)qr(c[f>>2]|0,b);Nw(a)|0;return 1}function Nw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;j=a+68|0;i=a+64|0;b=c[i>>2]|0;b=(c[j>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{b=c[b+8>>2]|0;if(!b)ar(a,2416,0,342926);else d=b;break}case 6:case 10:{Mr(a,0);d=c[(c[i>>2]|0)+8>>2]|0;break}default:ar(a,2416,0,342926)}Mr(a,1);Zs(a,2);Lt(a,1,20);Zs(a,3);if(Mt(a,2,1)|0)do{ty(a,4,e,f,g,h);Zs(a,3)}while((Mt(a,2,1)|0)!=0);Zs(a,2);Lt(a,1,20);Zs(a,3);if(Mt(a,2,1)|0)do{ty(a,4,e,f,g,h);Ys(a,c[e>>2]|0,d,c[(c[i>>2]|0)+56>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,1)|0;Zs(a,3)}while((Mt(a,2,1)|0)!=0);d=c[j>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);b=c[i>>2]|0;if((d|0)==(b|0))Cr(a,376,0);c[j>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(!(c[d>>2]&8)){l=k;return 1}j=(c[d+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;l=k;return 1}function Ow(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;i=q+12|0;j=q+8|0;k=q+4|0;m=q;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){n=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)n=b[e+46>>1]|0;else n=0}else n=0;while(0);o=a+68|0;h=a+64|0;d=c[h>>2]|0;d=(c[o>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{d=c[d+8>>2]|0;if(!d)ar(a,2416,0,342926);else p=d;break}case 6:case 10:{Mr(a,0);p=c[(c[h>>2]|0)+8>>2]|0;break}default:ar(a,2416,0,342926)}Ir(a,1,1);d=c[o>>2]|0;e=c[h>>2]|0;f=d-e>>4>>>0>1?e+16|0:0;f=(f|0)==0?368:f;if(!((c[f>>2]|0)==8?(g=c[f+8>>2]|0,(g|0)!=0):0)){Xr(a,1)|0;f=c[o>>2]|0;e=c[h>>2]|0;d=f-e>>4>>>0>1?e+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8){g=c[d+8>>2]|0;d=f}else{g=0;d=f}}d=d-e>>4>>>0>2?e+32|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,2,342926);if(!(c[d+8>>2]|0))ar(a,2130,2,342926);ty(a,2,m,k,i,j);d=Ys(a,c[m>>2]|0,p,g,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0,n^1)|0;e=c[o>>2]|0;f=e>>>0<(c[a+56>>2]|0)>>>0;if(!n){if(!f)mr(a,4153);c[o>>2]=e+16;c[e>>2]=9;c[e+8>>2]=p;a=p+4|0;c[a>>2]=(c[a>>2]|0)+1;l=q;return 1}else{if(!f)mr(a,4185);c[o>>2]=e+16;c[e>>2]=4;c[e+8>>2]=(d|0)!=0&1;l=q;return 1}return 0}function Pw(a){a=a|0;var d=0,e=0;d=c[a+72>>2]|0;do if(d|0){e=c[d+16>>2]|0;if(!e)d=(c[d+4>>2]|0)>>>8<<24>>24;else{if(!(c[e>>2]&4096))break;d=b[e+46>>1]|0}if(d|0){sy(a,-2);return 1}}while(0);Mr(a,0);sy(a,-2);return 1}function Qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+68|0;b=c[f>>2]|0;e=c[a+64>>2]|0;g=b-e>>4;d=g|0?e:0;e=g>>>0>1?e+16|0:0;if((d|0)==0|(e|0)==0)d=0;else{d=Fs(0,d,e,1)|0;b=c[f>>2]|0}if(b>>>0<(c[a+56>>2]|0)>>>0){c[f>>2]=b+16;c[b>>2]=4;c[b+8>>2]=(d|0)!=0&1;return 1}else mr(a,4185);return 0}function Rw(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+72>>2]|0;a:do if(d){g=c[d+16>>2]|0;if(!g)d=(c[d+4>>2]|0)>>>8<<24>>24;else{if(!(c[g>>2]&4096)){j=7;break}d=b[g+46>>1]|0}if(d){g=a+68|0;d=c[g>>2]|0;f=c[a+64>>2]|0;f=(d|0)!=(f|0)?f:0;f=(f|0)==0?368:f;switch(c[f>>2]|0){case 6:case 10:{e=g;i=d;h=0;break a}case 9:break;default:ar(a,2416,0,342926)}f=c[f+8>>2]|0;if(!f)ar(a,2416,0,342926);else{e=g;j=12}}else j=7}else j=7;while(0);if((j|0)==7){e=a+68|0;g=c[e>>2]|0;d=c[a+64>>2]|0;d=(g|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==9?(f=c[d+8>>2]|0,(f|0)!=0):0){d=g;j=12}else{i=g;h=0}}if((j|0)==12){i=d;h=(c[f>>2]&128|0)!=0}if(i>>>0<(c[a+56>>2]|0)>>>0){c[e>>2]=i+16;c[i>>2]=4;c[i+8>>2]=h&1;return 1}else mr(a,4185);return 0}function Sw(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[e+72>>2]|0;do if(f){g=c[f+16>>2]|0;if(!g){j=(c[f+4>>2]|0)>>>8<<24>>24;break}if(c[g>>2]&4096)j=b[g+46>>1]|0;else j=0}else j=0;while(0);l=e+68|0;m=c[l>>2]|0;f=c[e+64>>2]|0;f=(m|0)!=(f|0)?f:0;f=(f|0)==0?368:f;g=c[f>>2]|0;switch(g|0){case 6:case 10:{if(m>>>0>=(c[e+56>>2]|0)>>>0)mr(e,4185);k=(j|0)!=1|(g|0)==6;k=k&1;e=m+16|0;c[l>>2]=e;c[m>>2]=4;e=m+8|0;c[e>>2]=k;return 1}case 9:{h=10;break}default:f=1}a:do if((h|0)==10){k=c[f+8>>2]|0;if(k)if(!(c[k>>2]&128)){g=c[k+28>>2]|0;if(g|0){f=c[k+16>>2]|0;i=c[k+24>>2]|0;h=f+(i<<4)|0;i=f+(i*20|0)|0;if(!j){f=0;do{if(c[h+(f<<2)>>2]|0?a[i+f>>0]&4:0){f=0;break a}f=f+1|0}while(f>>>0<g>>>0)}else{f=0;do{if(c[h+(f<<2)>>2]|0?(j=d[i+f>>0]|0,!((j&4|0)==0&(j&9|0)!=1)):0){f=0;break a}f=f+1|0}while(f>>>0<g>>>0)}}h=c[k+32>>2]|0;if(!h)f=1;else{g=c[k+24>>2]|0;g=(c[k+16>>2]|0)+(g*21|0)+(0-g&7)|0;f=0;while(1){if((c[g+(f<<4)>>2]|0)!=7){f=0;break a}f=f+1|0;if(f>>>0>=h>>>0){f=1;break}}}}else f=0;else f=1}while(0);if(m>>>0<(c[e+56>>2]|0)>>>0){k=f;k=k&1;e=m+16|0;c[l>>2]=e;c[m>>2]=4;e=m+8|0;c[e>>2]=k;return 1}else mr(e,4185);return 0}function Tw(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;o=a+72|0;d=c[o>>2]|0;a:do if(d){e=c[d+16>>2]|0;if(!e)d=(c[d+4>>2]|0)>>>8<<24>>24;else{if(!(c[e>>2]&4096)){g=11;break}d=b[e+46>>1]|0}if((d|0)==3){d=a+64|0;e=c[d>>2]|0;e=(c[a+68>>2]|0)!=(e|0)?e:0;e=(e|0)==0?368:e;switch(c[e>>2]|0){case 9:{d=c[e+8>>2]|0;if(d|0){f=d;break a}ar(a,2416,0,342926);break}case 6:case 10:{Mr(a,0);g=12;break a}default:ar(a,2416,0,342926)}}else g=11}else g=11;while(0);if((g|0)==11){Mr(a,0);d=a+64|0;g=12}if((g|0)==12)f=c[(c[d>>2]|0)+8>>2]|0;do if(c[f>>2]&33554432|0){e=c[f+44>>2]|0;j=c[f+40>>2]|0;m=a+68|0;d=c[m>>2]|0;k=a+56|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=9;c[d+8>>2]=e;d=e+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[m>>2]|0;i=a+64|0;g=d-(c[i>>2]|0)|0;f=g>>4;h=f+-1|0;if(!f)Cr(a,300,-1);e=c[(c[a+304>>2]|0)+300>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;f=(c[m>>2]|0)-e>>4;d=((g|0)<16?f:0)+h|0;if(d>>>0>=f>>>0)Cr(a,376,h);g=Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[i>>2]|0;f=(c[m>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);q=e+(d<<4)|0;f=e+(f+-1<<4)|0;h=c[q>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(q|0,q+16|0,f-q|0)|0;c[f>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(h&8|0?(h=d+4|0,q=(c[h>>2]|0)+-1|0,c[h>>2]=q,(q|0)==0):0)qr(c[a+44>>2]|0,d);if(!g){Nt(a);d=c[m>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=9;c[d+8>>2]=j;e=j+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;d=(c[m>>2]|0)-e>>4;if(!d)Cr(a,376,-1);n=e+(d+-1<<4)|0;q=c[e>>2]|0;d=c[e+8>>2]|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];c[n>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(!(q&8))break;n=d+4|0;q=(c[n>>2]|0)+-1|0;c[n>>2]=q;if(q|0)break;qr(c[a+44>>2]|0,d);break}d=c[m>>2]|0;e=c[i>>2]|0;f=d-e>>4;if(f>>>0<=1)Cr(a,376,-2);g=e+(f+-2<<4)|0;e=e+(f+-1<<4)|0;f=e-g|0;if(f){c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];t6(g+16|0,g|0,f|0)|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];d=c[m>>2]|0}f=j;if(d>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=9;c[d+8>>2]=j;d=f+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[m>>2]|0)-(c[i>>2]|0)|0;if((d|0)<48)nr(a,342568,55);Lr(a,(d>>>4)+-3|0,0)|0;q=c[i>>2]|0;d=(c[m>>2]|0)-q>>4;d=d|0?q+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-1,342926);if(!(c[d+8>>2]|0))ar(a,2130,-1,342926);d=c[o>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)d=b[e+46>>1]|0;else d=0}else d=0;while(0);dt(a,f,c[6964+(d<<2)>>2]|0);l=p;return 1}while(0);d=c[o>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)d=b[e+46>>1]|0;else d=0}else d=0;while(0);ct(a,c[6964+(d<<2)>>2]|0);i=a+68|0;h=c[(c[i>>2]|0)+-8>>2]|0;d=(c[h+28>>2]|0)+-2|0;g=Or(a,48)|0;j=a+44|0;e=c[j>>2]|0;c[g>>2]=272679041;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[a+132>>2]|0;c[g+20>>2]=e;if(e|0){q=e+4|0;c[q>>2]=(c[q>>2]|0)+1}e=c[i>>2]|0;c[e>>2]=9;c[e+8>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;c[i>>2]=e+16;e=c[e+8>>2]|0;Br(a,e,0,d,0,0);c[e+40>>2]=d;f=c[e+24>>2]|0;if(d|0){g=(c[h+16>>2]|0)+(c[h+24>>2]<<4)+8|0;e=(c[e+16>>2]|0)+(f*21|0)+(0-f&7)|0;while(1){d=d+-1|0;q=c[g>>2]|0;c[e>>2]=8;c[e+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;if(!d)break;else{g=g+4|0;e=e+16|0}}}e=c[a+64>>2]|0;f=(c[i>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);o=e+(d<<4)|0;a=e+(f+-1<<4)|0;q=c[o>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(o|0,o+16|0,a-o|0)|0;c[a>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(!(q&8)){l=p;return 1}a=d+4|0;q=(c[a>>2]|0)+-1|0;c[a>>2]=q;if(q|0){l=p;return 1}qr(c[j>>2]|0,d);l=p;return 1}function Uw(a){a=a|0;var d=0,e=0,f=0,g=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){f=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)f=b[e+46>>1]|0;else f=0}else f=0;while(0);g=a+68|0;d=c[a+64>>2]|0;d=(c[g>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;e=c[d>>2]|0;do if(!(c[6160+(e<<2)>>2]&((f|0)==0?958:640))){if((e|0)!=9)ar(a,2130,0,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,0,342926);else{c[d>>2]=c[d>>2]&-129;gt(a,d);break}}while(0);if((f|0)!=1)return 1;d=c[g>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4195);c[g>>2]=d+16;c[d>>2]=4;c[d+8>>2]=1;return 1}function Vw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d+72>>2]|0;do if(e){f=c[e+16>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)f=b[f+46>>1]|0;else f=0}else f=0;while(0);e=c[d+64>>2]|0;if((c[d+68>>2]|0)==(e|0))Cr(d,376,0);switch(c[e>>2]|0){case 10:{if(!f)return 1;else nr(d,343621,615);break}case 9:{i=c[e+8>>2]|0;e=(f|0)==0;if(!e?c[i>>2]&8192|0:0)nr(d,343621,615);ks(d,i);f=i+28|0;if(c[f>>2]|0){g=i+16|0;h=i+24|0;if(e){e=0;do{j=(c[g>>2]|0)+((c[h>>2]|0)*20|0)+e|0;a[j>>0]=a[j>>0]&-5;e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}else{e=0;do{j=(c[g>>2]|0)+((c[h>>2]|0)*20|0)+e|0;k=a[j>>0]|0;a[j>>0]=((k&8)>>>3|250)&(k&255);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}}c[i>>2]=c[i>>2]&-129;gt(d,i);return 1}default:return 1}return 0}function Ww(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+72>>2]|0;h=(d|0)==0;do if(!h){e=c[d+16>>2]|0;if(!e)d=(c[d+4>>2]|0)>>>8<<24>>24;else{if(!(c[e>>2]&4096)){f=7;break}d=b[e+46>>1]|0}if(d){if((d|0)<2)f=16}else f=7}else f=7;while(0);if((f|0)==7){d=a+68|0;g=c[d>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[d>>2]=g+16;if(h)br(a,342583,100667685,343776);d=c[a+64>>2]|0;e=d+-16|0;f=c[e>>2]|0;if((f&-2|0)==2)br(a,342583,100667685,343776);c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];if(f&8|0){h=(c[d+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}Mr(a,-1);f=16}if((f|0)==16)Mr(a,0);d=c[a+64>>2]|0;switch(c[d>>2]|0){case 10:{i=a+268|0;break}case 6:{i=a+120|0;break}case 9:{i=(c[d+8>>2]|0)+20|0;break}default:nr(a,352736,365)}d=c[i>>2]|0;e=a+68|0;f=c[e>>2]|0;g=f>>>0<(c[a+56>>2]|0)>>>0;if(!d){if(!g)mr(a,4175);c[e>>2]=f+16;c[f>>2]=3;return 1}else{if(!g)mr(a,4153);c[e>>2]=f+16;c[f>>2]=9;c[f+8>>2]=d;a=d+4|0;c[a>>2]=(c[a>>2]|0)+1;return 1}return 0}function Xw(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;h=a+68|0;e=c[h>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[h>>2]=e+16;i=a+72|0;f=a+64|0;if(c[i>>2]|0?(d=c[f>>2]|0,m=d+-16|0,c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],c[m>>2]&8|0):0){m=(c[d+-8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}e=c[f>>2]|0;d=(c[h>>2]|0)-e>>4;if(!d)Cr(a,376,0);d=d+-1|0;if(d|0){m=e+(d<<4)|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];t6(e+16|0,e|0,d<<4|0)|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}Mr(a,0);d=c[f>>2]|0;d=(c[h>>2]|0)-d>>4>>>0>2?d+32|0:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{j=11;break}case 6:break;default:ar(a,2285,2,361148)}if((j|0)==11?(c[c[d+8>>2]>>2]&512|0)==0:0)ar(a,2285,2,361148);d=c[i>>2]|0;if(!d){m=0;m=(m|0)!=0;m=m?310:182;Yr(a,0,m);l=k;return 0}e=c[d+16>>2]|0;if(!e){m=(c[d+4>>2]|0)>>>8<<24>>24;m=(m|0)!=0;m=m?310:182;Yr(a,0,m);l=k;return 0}if(!(c[e>>2]&4096)){m=0;m=(m|0)!=0;m=m?310:182;Yr(a,0,m);l=k;return 0}m=b[e+46>>1]|0;m=(m|0)!=0;m=m?310:182;Yr(a,0,m);l=k;return 0}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k;j=a+68|0;d=c[j>>2]|0;g=a+64|0;f=c[g>>2]|0;b=(d|0)!=(f|0)?f:0;b=(b|0)==0?368:b;if(!(((c[b>>2]|0)==8?(e=c[b+8>>2]|0,(e|0)!=0):0)?(c[e>>2]&512|0)!=0:0)){Xr(a,0)|0;d=c[j>>2]|0;f=c[g>>2]|0;b=(d|0)!=(f|0)?f:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)e=c[b+8>>2]|0;else e=0}h=a+56|0;if(d>>>0>=(c[h>>2]|0)>>>0)mr(a,4361);c[j>>2]=d+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);b=f+-16|0;g=c[b>>2]|0;if((g&-2|0)==2)br(a,342583,100667685,343776);c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(g&8|0){g=(c[f+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}Mr(a,-1);b=zr(a,c[(c[j>>2]|0)+-8>>2]|0,e,c[e+16>>2]|0,i,0)|0;d=c[j>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[j>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;l=k;return 1}else mr(a,4185);return 0}function Zw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+68|0;e=c[j>>2]|0;f=c[a+64>>2]|0;b=(e|0)!=(f|0)?f:0;b=(b|0)==0?368:b;k=e;if((c[b>>2]|0)==9?(g=c[b+8>>2]|0,g|0):0){h=a+56|0;if(k>>>0>=(c[h>>2]|0)>>>0)mr(a,4361);c[j>>2]=k+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);b=f+-16|0;d=c[b>>2]|0;if((d&-2|0)==2)br(a,342583,100667685,343776);c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if(d&8|0){f=(c[f+-8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Mr(a,-1);e=c[j>>2]|0;f=c[e+-8>>2]|0;b=c[g+20>>2]|0;a:do if((f|0)==0|(b|0)==0)i=0;else{d=1e4;while(1){if((b|0)==(f|0)){i=1;break a}if(!d)break;b=c[b+20>>2]|0;if(!b){i=0;break a}else d=d+-1|0}br(a,352752,50331677,343030)}while(0);if(e>>>0<(c[h>>2]|0)>>>0){a=i;k=e;i=k+16|0;c[j>>2]=i;c[k>>2]=4;k=k+8|0;c[k>>2]=a;return 1}else mr(a,4185)}if(k>>>0<(c[a+56>>2]|0)>>>0){a=0;i=k+16|0;c[j>>2]=i;c[k>>2]=4;k=k+8|0;c[k>>2]=a;return 1}else mr(a,4204);return 0}function _w(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+68|0;e=c[o>>2]|0;l=a+56|0;if(e>>>0>=(c[l>>2]|0)>>>0)mr(a,4361);c[o>>2]=e+16;k=a+72|0;m=a+64|0;if(c[k>>2]|0?(d=c[m>>2]|0,n=d+-16|0,c[e>>2]=c[n>>2],c[e+4>>2]=c[n+4>>2],c[e+8>>2]=c[n+8>>2],c[e+12>>2]=c[n+12>>2],c[n>>2]&8|0):0){n=(c[d+-8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}Mr(a,-1);e=c[o>>2]|0;d=c[m>>2]|0;n=e-d>>4;n=n|0?d+(n+-1<<4)|0:0;if((c[((n|0)==0?368:n)>>2]|0)==2)return 1;n=a+44|0;j=1e4;while(1){f=e;if(f>>>0>=(c[l>>2]|0)>>>0){d=9;break}if((f|0)==(d|0)){d=11;break}c[o>>2]=f+16;i=e;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}sy(a,1);g=c[o>>2]|0;d=c[m>>2]|0;h=g-d|0;f=h>>4;i=f+-1|0;e=f|0?d+(i<<4)|0:0;if((c[((e|0)==0?368:e)>>2]|0)!=2){d=15;break}if((g|0)==(d|0)){d=32;break}h=g+-16|0;c[o>>2]=h;i=c[g+-16>>2]|0;d=c[g+-8>>2]|0;c[h>>2]=2;if(i&8|0?(h=d+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0)qr(c[n>>2]|0,d);if(!j){d=37;break}j=j+-1|0;g=c[o>>2]|0;f=c[m>>2]|0;d=g-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9){d=40;break}d=c[d+8>>2]|0;if(!d){d=40;break}d=c[d+20>>2]|0;e=g>>>0<(c[l>>2]|0)>>>0;if(!d){if(!e){d=46;break}d=g+16|0;c[o>>2]=d}else{if(!e){d=43;break}c[o>>2]=g+16;c[g>>2]=9;c[g+8>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[m>>2]|0;d=c[o>>2]|0}e=d-f>>4;d=e+-2|0;if(e>>>0<=1){d=49;break}h=f+(d<<4)|0;e=f+(e+-1<<4)|0;i=c[h>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(h|0,h+16|0,e-h|0)|0;c[e>>2]=2;e=(c[o>>2]|0)+-16|0;c[o>>2]=e;if((i&8|0)!=0?(h=d+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0){qr(c[n>>2]|0,d);e=c[o>>2]|0}d=c[m>>2]|0;i=e-d>>4;i=i|0?d+(i+-1<<4)|0:0;if((c[((i|0)==0?368:i)>>2]|0)==2){d=54;break}}switch(d|0){case 9:{mr(a,1093);break}case 11:{Cr(a,376,0);break}case 15:{d=c[k>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)d=b[e+46>>1]|0;else d=0}else d=0;while(0);if(!f)Cr(a,300,-1);d=c[(c[a+304>>2]|0)+((d|0?83:73)<<2)>>2]|0;if(g>>>0>=(c[l>>2]|0)>>>0)mr(a,4153);c[o>>2]=g+16;c[g>>2]=8;c[g+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;f=(c[o>>2]|0)-e>>4;d=((h|0)<16?f:0)+i|0;if(d>>>0>=f>>>0)Cr(a,376,i);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;f=c[m>>2]|0;e=(c[o>>2]|0)-f>>4;d=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);l=f+(d<<4)|0;m=f+(e+-1<<4)|0;a=c[l>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(l|0,l+16|0,m-l|0)|0;c[m>>2]=2;c[o>>2]=(c[o>>2]|0)+-16;if(!(a&8))return 1;a=d+4|0;o=(c[a>>2]|0)+-1|0;c[a>>2]=o;if(o|0)return 1;qr(c[n>>2]|0,d);return 1}case 32:{br(a,342583,50337407,342599);break}case 37:{br(a,352736,50332445,343030);break}case 40:{ar(a,2130,-1,342926);break}case 43:{mr(a,4153);break}case 46:{mr(a,4162);break}case 49:{Cr(a,376,-2);break}case 54:return 1}return 0}function $w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k;j=a+68|0;d=c[j>>2]|0;g=a+64|0;f=c[g>>2]|0;b=(d|0)!=(f|0)?f:0;b=(b|0)==0?368:b;if(!(((c[b>>2]|0)==8?(e=c[b+8>>2]|0,(e|0)!=0):0)?(c[e>>2]&512|0)!=0:0)){Xr(a,0)|0;d=c[j>>2]|0;f=c[g>>2]|0;b=(d|0)!=(f|0)?f:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)e=c[b+8>>2]|0;else e=0}h=a+56|0;if(d>>>0>=(c[h>>2]|0)>>>0)mr(a,4361);c[j>>2]=d+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);b=f+-16|0;g=c[b>>2]|0;if((g&-2|0)==2)br(a,342583,100667685,343776);c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(g&8|0){g=(c[f+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}Mr(a,-1);if(!(zr(a,c[(c[j>>2]|0)+-8>>2]|0,e,c[e+16>>2]|0,i,0)|0))d=0;else d=(c[i>>2]&2|0)!=0;b=c[j>>2]|0;if(b>>>0<(c[h>>2]|0)>>>0){c[j>>2]=b+16;c[b>>2]=4;c[b+8>>2]=d&1;l=k;return 1}else mr(a,4185);return 0}function ax(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+68|0;f=c[h>>2]|0;g=a+56|0;if(f>>>0>=(c[g>>2]|0)>>>0)mr(a,4361);c[h>>2]=f+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);i=a+64|0;b=c[i>>2]|0;d=b+-16|0;e=c[d>>2]|0;if((e&-2|0)==2)br(a,342583,100667685,343776);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(e&8|0){f=(c[b+-8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Mr(a,-1);f=c[h>>2]|0;b=f;if((f|0)==(c[i>>2]|0))Cr(a,300,0);d=c[(c[a+304>>2]|0)+312>>2]|0;if(b>>>0>=(c[g>>2]|0)>>>0)mr(a,4153);c[h>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[i>>2]|0;d=(c[h>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[i>>2]|0;e=(c[h>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);j=d+(b<<4)|0;e=d+(e+-1<<4)|0;f=c[j>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(j|0,j+16|0,e-j|0)|0;c[e>>2]=2;d=(c[h>>2]|0)+-16|0;c[h>>2]=d;if((f&8|0)!=0?(f=b+4|0,j=(c[f>>2]|0)+-1|0,c[f>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,b);d=c[h>>2]|0}if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,1093);b=c[i>>2]|0;if((d|0)==(b|0))Cr(a,376,0);c[h>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[d>>2]&8|0){j=(c[d+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}b=(c[h>>2]|0)-(c[i>>2]|0)|0;if((b|0)<32)nr(a,342568,55);else{Lr(a,(b>>>4)+-2|0,0)|0;return 1}return 0}function bx(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[a+64>>2]|0;switch(c[b+-16>>2]|0){case 2:case 7:{b=0;break}case 3:{b=1;break}case 4:{b=8;break}case 5:{b=31;break}case 6:{b=5;break}case 8:{b=(c[c[b+-8>>2]>>2]&512|0)==0?7:2;break}case 9:{b=d[343254+((c[c[b+-8>>2]>>2]|0)>>>27)>>0]|0;break}case 10:{b=19;break}default:b=9}c[e>>2]=(c[(c[a+304>>2]|0)+(b<<2)>>2]|0)+28;cs(a,343286,e);l=f;return 1}function cx(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+68|0;f=c[b>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[b>>2]=f+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);b=c[a+64>>2]|0;d=b+-16|0;e=c[d>>2]|0;if((e&-2|0)==2)br(a,342583,100667685,343776);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(!(e&8)){Mr(a,-1);return 1}f=(c[b+-8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;Mr(a,-1);return 1}function dx(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;j=x;e=c[a+72>>2]|0;h=(e|0)==0;a:do if(h)q=7;else{f=c[e+16>>2]|0;if(!f)k=(c[e+4>>2]|0)>>>8<<24>>24;else{if(!(c[f>>2]&4096)){q=7;break}k=b[f+46>>1]|0}b:do switch(k|0){case 0:{q=7;break a}case 1:{e=a+68|0;f=c[e>>2]|0;g=c[a+64>>2]|0;j=(f|0)!=(g|0)?g:0;if(!(140>>>(c[((j|0)==0?368:j)>>2]|0)&1)){m=e;n=f;o=g;p=f}else br(a,342583,100667121,343529);break}default:{f=a+68|0;g=c[f>>2]|0;h=c[a+64>>2]|0;e=(g|0)!=(h|0)?h:0;e=(e|0)==0?368:e;j=g;switch(c[e>>2]|0){case 6:case 10:{m=f;n=j;o=h;p=g;break b}case 9:break;default:ar(a,2416,0,342926)}if(!(c[e+8>>2]|0))ar(a,2416,0,342926);else{m=f;n=j;o=h;p=g}}}while(0);j=p-o>>4>>>0>1?o+16|0:0;switch(c[((j|0)==0?368:j)>>2]|0){case 3:case 9:{t=k;u=1;i=m;s=n;d=o;r=p;break a}default:{}}br(a,342583,100667121,343529)}while(0);c:do if((q|0)==7){i=a+68|0;g=c[i>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[i>>2]=g+16;if(h)br(a,342583,100667685,343776);h=a+64|0;d=c[h>>2]|0;e=d+-16|0;f=c[e>>2]|0;if((f&-2|0)==2)br(a,342583,100667685,343776);c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];if(f&8|0){u=(c[d+-8>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)+1}e=c[i>>2]|0;f=c[h>>2]|0;d=e-f>>4;if(!d)Cr(a,376,0);d=d+-1|0;if(!d)d=f;else{e=f+(d<<4)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];t6(f+16|0,f|0,d<<4|0)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];e=c[i>>2]|0;d=c[h>>2]|0}u=e-d>>4>>>0>1?d+16|0:0;switch(c[((u|0)==0?368:u)>>2]|0){case 3:case 9:{t=0;u=0;s=e;r=e;break c}default:d=0}l=x;return d|0}while(0);f=d;e=r-f>>4>>>0>1?d+16|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==9)g=c[e+8>>2]|0;else g=0;d=(r|0)!=(f|0)?d:0;d=(d|0)==0?368:d;e=c[d>>2]|0;d:do switch(e|0){case 6:case 10:{if((g|0)==(c[a+100+(((e|0)==6?5:42)<<2)>>2]|0))q=41;else q=45;break}case 9:{e=c[d+8>>2]|0;if((e|0)!=0?(v=e+20|0,w=c[v>>2]|0,(g|0)!=(w|0)):0)if(c[e>>2]&128){if(!g)c[v>>2]=0;else{d=g;do{if((d|0)==(e|0)){q=45;break d}d=c[d+20>>2]|0}while((d|0)!=0);c[v>>2]=g;v=g+4|0;c[v>>2]=(c[v>>2]|0)+1}if((w|0)!=0?(s=w+4|0,v=(c[s>>2]|0)+-1|0,c[s>>2]=v,(v|0)==0):0){Ms(c[a+44>>2]|0,w);q=41}else q=41}else q=45;else q=41;break}default:q=41}while(0);if((q|0)==41){Zs(a,1);if((t|0)!=2){a=u;l=x;return a|0}d=c[i>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4195);c[i>>2]=d+16;c[d>>2]=4;c[d+8>>2]=1;a=u;l=x;return a|0}else if((q|0)==45){if((t|0)!=2)nr(a,352736,469);if(s>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4204);c[i>>2]=s+16;c[s>>2]=4;c[s+8>>2]=0;a=1;l=x;return a|0}return 0}function ex(a){a=a|0;var b=0,d=0.0,e=0,f=0;f=l;l=l+16|0;b=f;if(!(Pf(b|0,0)|0))d=+(c[b>>2]|0)*1.0e3+ +(c[b+4>>2]|0)/1.0e3;else d=0.0;b=a+68|0;e=c[b>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){c[b>>2]=e+16;c[e>>2]=0;h[e+8>>3]=d;l=f;return 1}else mr(a,4215);return 0}function fx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+68|0;g=c[h>>2]|0;i=a+64|0;b=g;do if((g|0)==(c[i>>2]|0))if(b>>>0<(c[a+56>>2]|0)>>>0){c[h>>2]=b+16;c[b>>2]=5;c[b+8>>2]=0;break}else mr(a,4341);else ry(a,0)|0;while(0);Zs(a,1);b=c[a+72>>2]|0;if(!b)return 1;if(!(c[b+52>>2]&4))return 1;f=a+56|0;if((c[h>>2]|0)>>>0>=(c[f>>2]|0)>>>0)mr(a,4604);g=Or(a,40)|0;b=c[a+44>>2]|0;c[g>>2]=-2013249407;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=d;c[b>>2]=g;d=c[h>>2]|0;c[d>>2]=9;c[d+8>>2]=g;d=g+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0;e=d+16|0;c[h>>2]=e;b=c[a+244>>2]|0;c[g+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,1093);b=c[i>>2]|0;if((e|0)==(b|0))Cr(a,376,0);c[h>>2]=d+32;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if(c[e>>2]&8|0){g=(c[d+24>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}i=c[i>>2]|0;b=(c[h>>2]|0)-i>>4;b=b>>>0>1?i+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[a+304>>2]|0)+404>>2]|0,0);return 1}function gx(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c[a+72>>2]|0;g=(d|0)==0;do if(!g){e=c[d+16>>2]|0;if(!e){l=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)l=b[e+46>>1]|0;else l=0}else l=0;while(0);m=a+68|0;d=c[m>>2]|0;i=a+56|0;if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,4361);c[m>>2]=d+16;k=a+64|0;if(!g?(f=c[k>>2]|0,h=f+-16|0,c[d>>2]=c[h>>2],c[d+4>>2]=c[h+4>>2],c[d+8>>2]=c[h+8>>2],c[d+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[f+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}d=c[m>>2]|0;f=c[k>>2]|0;h=d-f|0;e=h>>4;if(!e)Cr(a,376,-1);g=e+-1|0;switch(c[f+(g<<4)>>2]|0){case 5:break;case 9:{j=14;break}default:nr(a,352719,74)}if((j|0)==14){if((c[c[f+(g<<4)+8>>2]>>2]&-134217728|0)!=-2013265920)nr(a,352719,74);e=c[(c[a+304>>2]|0)+404>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;f=(c[m>>2]|0)-e>>4;d=((h|0)<16?f:0)+g|0;if(d>>>0>=f>>>0)Cr(a,376,g);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[k>>2]|0;f=(c[m>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);i=e+(d<<4)|0;j=e+(f+-1<<4)|0;k=c[i>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(k&8|0?(k=d+4|0,m=(c[k>>2]|0)+-1|0,c[k>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,d)}if(!l)return 1;Xr(a,-1)|0;return 1}function hx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[a+72>>2]|0;if(!b)br(a,342568,100663686,352400);if(!(c[b+52>>2]&4))br(a,342568,100663686,352400);g=a+68|0;d=c[g>>2]|0;e=a+64|0;j=c[e>>2]|0;b=d-j>>4;b=b>>>0>1?j+(b+-2<<4)|0:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{b=c[b+8>>2]|0;if(!b)ar(a,2416,-2,342926);else{h=b;f=d}break}case 6:case 10:{Mr(a,-2);f=c[g>>2]|0;h=c[f+-24>>2]|0;break}default:ar(a,2416,-2,342926)}if(c[h>>2]&33554432|0)nr(a,342583,5368);j=c[e>>2]|0;b=f-j>>4;b=b|0?j+(b+-1<<4)|0:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 9:{b=c[b+8>>2]|0;if(!b)ar(a,2416,-1,342926);else i=b;break}case 6:case 10:{Mr(a,-1);i=c[(c[g>>2]|0)+-8>>2]|0;break}default:ar(a,2416,-1,342926)}if(c[i>>2]&33554432|0)nr(a,342583,5368);d=c[h>>2]|0;e=Or(a,48)|0;b=c[a+44>>2]|0;c[e>>2]=d&768|((d&512|0)==0?167772288:503316608)|1;b=b+24|0;d=c[b>>2]|0;if(!d){j=e+12|0;c[j>>2]=0;j=e+8|0;c[j>>2]=d;c[b>>2]=e;j=e+40|0;c[j>>2]=h;j=e+44|0;c[j>>2]=i;j=c[g>>2]|0;i=j+-32|0;c[i>>2]=9;i=j+-24|0;c[i>>2]=e;i=e+4|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;j=j+-16|0;c[j>>2]=2;c[g>>2]=j;return 1}c[d+12>>2]=e;j=e+12|0;c[j>>2]=0;j=e+8|0;c[j>>2]=d;c[b>>2]=e;j=e+40|0;c[j>>2]=h;j=e+44|0;c[j>>2]=i;j=c[g>>2]|0;i=j+-32|0;c[i>>2]=9;i=j+-24|0;c[i>>2]=e;i=e+4|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;j=j+-16|0;c[j>>2]=2;c[g>>2]=j;return 1}function ix(a){a=a|0;return -6}function jx(a){a=a|0;return -6}function kx(a){a=a|0;var b=0,d=0,e=0;e=a+68|0;d=a+64|0;b=c[d>>2]|0;b=(c[e>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);if(!(c[b+8>>2]|0))ar(a,2130,0,342926);Xr(a,1)|0;b=c[d>>2]|0;b=Ls(a,b,b+16|0,0)|0;d=c[e>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[e>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;return 1}else mr(a,4185);return 0}function lx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=a+68|0;b=c[i>>2]|0;e=a+64|0;d=c[e>>2]|0;f=b-d|0;if((f|0)<32)nr(a,342583,419);b=(b|0)!=(d|0)?d:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);if(!(c[b+8>>2]|0))ar(a,2130,0,342926);Xr(a,1)|0;a:do if((f|0)>32){g=c[e>>2]|0;b=(c[i>>2]|0)-g>>4;d=b|0?g:0;b=b>>>0>2?g+32|0:0;b:do if(!((d|0)==0|(b|0)==0)){e=c[d>>2]|0;f=c[b>>2]|0;if(!(f|e))if(+h[d+8>>3]==+h[b+8>>3]){j=g;break a}else break;if((e|0)==(f|0))switch(e|0){case 3:case 2:{j=g;break a}case 4:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){j=g;break a}else break b;case 5:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){j=g;break a}else break b;case 9:case 8:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){j=g;break a}else break b;case 10:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){j=g;break a}else break b;case 6:{if((c[d+8>>2]|0)!=(c[b+8>>2]|0))break b;if((c[d+4>>2]|0)==(c[b+4>>2]|0)){j=g;break a}else break b}default:{}}}while(0);br(a,352702,16777258,342877)}else j=c[e>>2]|0;while(0);Kr(a,j,j+16|0)|0;return 1}function mx(a){a=a|0;var b=0,d=0,e=0;e=a+68|0;d=a+64|0;b=c[d>>2]|0;b=(c[e>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);if(!(c[b+8>>2]|0))ar(a,2130,0,342926);Xr(a,1)|0;b=c[d>>2]|0;b=os(a,b,b+16|0)|0;d=c[e>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[e>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;return 1}else mr(a,4185);return 0}function nx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;j=a+68|0;b=c[j>>2]|0;e=a+64|0;d=c[e>>2]|0;f=b-d|0;if((f|0)<48)nr(a,342583,419);b=(b|0)!=(d|0)?d:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,0,342926);if(!(c[b+8>>2]|0))ar(a,2130,0,342926);Xr(a,1)|0;a:do if((f|0)>48){e=c[e>>2]|0;b=(c[j>>2]|0)-e>>4;d=b|0?e:0;b=b>>>0>3?e+48|0:0;b:do if(!((d|0)==0|(b|0)==0)){f=c[d>>2]|0;g=c[b>>2]|0;if(!(g|f))if(+h[d+8>>3]==+h[b+8>>3]){i=e;break a}else break;if((f|0)==(g|0))switch(f|0){case 3:case 2:{i=e;break a}case 4:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){i=e;break a}else break b;case 5:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){i=e;break a}else break b;case 9:case 8:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){i=e;break a}else break b;case 10:if((c[d+8>>2]|0)==(c[b+8>>2]|0)){i=e;break a}else break b;case 6:{if((c[d+8>>2]|0)!=(c[b+8>>2]|0))break b;if((c[d+4>>2]|0)==(c[b+4>>2]|0)){i=e;break a}else break b}default:{}}}while(0);br(a,352702,16777301,342877)}else i=c[e>>2]|0;while(0);b=es(a,i,i+16|0,c[i+32>>2]|0,c[i+36>>2]|0,+h[i+40>>3],0)|0;d=c[j>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[j>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;return 1}else mr(a,4185);return 0}function ox(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+68|0;f=c[m>>2]|0;k=a+64|0;g=c[k>>2]|0;h=g;b=(f|0)!=(h|0)?g:0;b=(b|0)==0?368:b;i=c[b>>2]|0;j=f;if((i|0)==9)e=c[b+8>>2]|0;else e=0;b=c[a+72>>2]|0;if(!b)b=0;else b=(c[b+52>>2]|0)>>>2&1;d=(e|0)!=0;if((d&(b|0)==0?(c[e>>2]&-134217728|0)==1476395008:0)?(b=f-h>>4>>>0>1?g+16|0:0,(c[((b|0)==0?368:b)>>2]|0)==2):0){if(j>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if((j|0)==(g|0))Cr(a,376,0);c[m>>2]=j+16;m=f;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];if(!(c[j>>2]&8))return 1;m=(c[j+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;return 1}do if(d?(c[e>>2]&-134217728|0)==1476395008:0){if((f|0)==(h|0))Cr(a,300,0);g=a+304|0;b=c[(c[g>>2]|0)+176>>2]|0;h=a+56|0;if(j>>>0>=(c[h>>2]|0)>>>0)mr(a,4153);c[m>>2]=j+16;c[j>>2]=8;c[j+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;d=(c[m>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[k>>2]|0;e=(c[m>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;e=d+(e+-1<<4)|0;j=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,e-i|0)|0;c[e>>2]=2;d=(c[m>>2]|0)+-16|0;c[m>>2]=d;e=d;if((j&8|0)!=0?(i=b+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,b);e=c[m>>2]|0;d=e}b=c[k>>2]|0;f=b;b=b+16|0;j=e-f>>4>>>0>1?b:0;if((c[((j|0)==0?368:j)>>2]|0)!=2){if(d>>>0>=(c[h>>2]|0)>>>0)mr(a,1093);if(d-f>>4>>>0<=1)Cr(a,376,1);c[m>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(!(c[d>>2]&8))break;m=(c[d+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;break}d=e;if((e|0)==(f|0))Cr(a,300,0);b=c[(c[g>>2]|0)+192>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;d=(c[m>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[k>>2]|0;e=(c[m>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;j=d+(e+-1<<4)|0;k=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(k&8|0?(k=b+4|0,m=(c[k>>2]|0)+-1|0,c[k>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,b)}else l=45;while(0);do if((l|0)==45){do if((i|0)==2){b=c[(c[a+304>>2]|0)+60>>2]|0;if(j>>>0<(c[a+56>>2]|0)>>>0){c[m>>2]=j+16;c[j>>2]=8;c[j+8>>2]=b;l=b+4|0;c[l>>2]=(c[l>>2]|0)+1;break}else mr(a,4153)}else{if(j>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if((j|0)==(g|0))Cr(a,376,0);c[m>>2]=j+16;l=f;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];if(c[j>>2]&8|0){l=(c[j+8>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}Xr(a,-1)|0}while(0);g=c[m>>2]|0;d=c[k>>2]|0;b=g-d>>4>>>0>1;d=d+16|0;l=b?d:0;e=g;if((c[((l|0)==0?368:l)>>2]|0)==2){f=c[(c[a+304>>2]|0)+60>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){c[m>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;m=f+4|0;c[m>>2]=(c[m>>2]|0)+1;break}else mr(a,4153)}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if(!b)Cr(a,376,1);c[m>>2]=e+16;m=g;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];if(c[e>>2]&8|0){m=(c[e+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}Xr(a,-1)|0}while(0);Xr(a,-2)|0;Xr(a,-1)|0;Du(a);Ns(a);return 1}function px(a){a=a|0;qy(a);my(a,0);return 1}function qx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+16|0;j=n;k=b+68|0;e=c[k>>2]|0;m=b+56|0;if(e>>>0>=(c[m>>2]|0)>>>0)mr(b,4361);c[k>>2]=e+16;i=b+64|0;if(c[b+72>>2]|0?(d=c[i>>2]|0,h=d+-16|0,c[e>>2]=c[h>>2],c[e+4>>2]=c[h+4>>2],c[e+8>>2]=c[h+8>>2],c[e+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[d+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}e=c[k>>2]|0;h=c[i>>2]|0;f=h;d=e-f>>4;d=d|0?h+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(b,2130,-1,342926);if(!(c[d+8>>2]|0))ar(b,2130,-1,342926);g=e;if((e|0)==(f|0))Cr(b,300,0);h=b+304|0;d=c[(c[h>>2]|0)+108>>2]|0;if(g>>>0>=(c[m>>2]|0)>>>0)mr(b,4153);c[k>>2]=g+16;c[g>>2]=8;c[g+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i>>2]|0;e=(c[k>>2]|0)-d>>4;if(!e)Cr(b,376,0);Kr(b,d,d+(e+-1<<4)|0)|0;e=c[i>>2]|0;f=(c[k>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(b,376,-2);o=e+(d<<4)|0;f=e+(f+-1<<4)|0;g=c[o>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(o|0,o+16|0,f-o|0)|0;c[f>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;if(g&8|0?(g=d+4|0,o=(c[g>>2]|0)+-1|0,c[g>>2]=o,(o|0)==0):0)qr(c[b+44>>2]|0,d);e=is(b,-1)|0;d=c[k>>2]|0;if((d|0)==(c[i>>2]|0))br(b,342583,50337407,342599);g=d+-16|0;c[k>>2]=g;o=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[g>>2]=2;if(o&8|0?(g=d+4|0,o=(c[g>>2]|0)+-1|0,c[g>>2]=o,(o|0)==0):0)qr(c[b+44>>2]|0,d);if(!e)d=j;else{a[j>>0]=103;d=j+1|0}o=c[k>>2]|0;e=o;if((o|0)==(c[i>>2]|0))Cr(b,300,0);f=c[(c[h>>2]|0)+180>>2]|0;if(e>>>0>=(c[m>>2]|0)>>>0)mr(b,4153);c[k>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;e=f+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;f=(c[k>>2]|0)-e>>4;if(!f)Cr(b,376,0);Kr(b,e,e+(f+-1<<4)|0)|0;f=c[i>>2]|0;g=(c[k>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(b,376,-2);p=f+(e<<4)|0;g=f+(g+-1<<4)|0;o=c[p>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(p|0,p+16|0,g-p|0)|0;c[g>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;if(o&8|0?(o=e+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)qr(c[b+44>>2]|0,e);f=is(b,-1)|0;e=c[k>>2]|0;if((e|0)==(c[i>>2]|0))br(b,342583,50337407,342599);o=e+-16|0;c[k>>2]=o;p=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[o>>2]=2;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;qr(c[b+44>>2]|0,e)}while(0);if(f){a[d>>0]=105;d=d+1|0}p=c[k>>2]|0;f=p;if((p|0)==(c[i>>2]|0))Cr(b,300,0);e=c[(c[h>>2]|0)+184>>2]|0;if(f>>>0>=(c[m>>2]|0)>>>0)mr(b,4153);c[k>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;f=(c[k>>2]|0)-e>>4;if(!f)Cr(b,376,0);Kr(b,e,e+(f+-1<<4)|0)|0;f=c[i>>2]|0;g=(c[k>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(b,376,-2);h=f+(e<<4)|0;o=f+(g+-1<<4)|0;p=c[h>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(h|0,h+16|0,o-h|0)|0;c[o>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;qr(c[b+44>>2]|0,e)}while(0);f=is(b,-1)|0;e=c[k>>2]|0;if((e|0)==(c[i>>2]|0))br(b,342583,50337407,342599);o=e+-16|0;c[k>>2]=o;p=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[o>>2]=2;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;qr(c[b+44>>2]|0,e)}while(0);if(f){a[d>>0]=109;d=d+1|0}a[d>>0]=0;d=r4(j)|0;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)mr(b,4300);if((d|0)<0)br(b,342583,50335961,342945);else{p=fs(b,j,d)|0;o=c[k>>2]|0;c[k>>2]=o+16;c[o>>2]=8;c[o+8>>2]=p;p=p+4|0;c[p>>2]=(c[p>>2]|0)+1;l=n;return 1}return 0}function rx(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+68|0;f=c[n>>2]|0;o=a+56|0;if(f>>>0>=(c[o>>2]|0)>>>0)mr(a,4361);c[n>>2]=f+16;h=a+72|0;m=a+64|0;if(c[h>>2]|0?(e=c[m>>2]|0,l=e+-16|0,c[f>>2]=c[l>>2],c[f+4>>2]=c[l+4>>2],c[f+8>>2]=c[l+8>>2],c[f+12>>2]=c[l+12>>2],c[l>>2]&8|0):0){l=(c[e+-8>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}i=c[n>>2]|0;k=c[m>>2]|0;j=k;e=i-j>>4;e=e|0?k+(e+-1<<4)|0:0;e=(e|0)==0?368:e;k=i;if((c[e>>2]|0)!=9)ar(a,2130,-1,342926);g=c[e+8>>2]|0;if(!g)ar(a,2130,-1,342926);e=c[h>>2]|0;do if(e){f=c[e+16>>2]|0;if(!f){l=(c[e+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)l=b[f+46>>1]|0;else l=0}else l=0;while(0);if((c[g>>2]&-134217728|0)!=1476395008){if((g|0)!=(c[a+172>>2]|0))nr(a,352686,189);if((l|0)!=16){o=0;return o|0}if(k>>>0>=(c[o>>2]|0)>>>0)mr(a,4300);o=fs(a,346994,4)|0;a=c[n>>2]|0;c[n>>2]=a+16;c[a>>2]=8;c[a+8>>2]=o;o=o+4|0;c[o>>2]=(c[o>>2]|0)+1;o=1;return o|0}if((i|0)==(j|0))Cr(a,300,0);h=a+304|0;e=c[(c[h>>2]|0)+384>>2]|0;if(k>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[n>>2]=k+16;c[k>>2]=8;c[k+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;f=(c[n>>2]|0)-e>>4;if(!f)Cr(a,376,0);Kr(a,e,e+(f+-1<<4)|0)|0;f=c[m>>2]|0;g=(c[n>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(a,376,-2);i=f+(e<<4)|0;j=f+(g+-1<<4)|0;k=c[i>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;f=(c[n>>2]|0)+-16|0;c[n>>2]=f;if((k&8|0)!=0?(j=e+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,e);f=c[n>>2]|0}g=f;if((f|0)==(c[m>>2]|0))Cr(a,300,0);e=c[(c[h>>2]|0)+372>>2]|0;if(g>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[n>>2]=g+16;c[g>>2]=8;c[g+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;f=(c[n>>2]|0)-e>>4;if(!f)Cr(a,376,0);Kr(a,e,e+(f+-1<<4)|0)|0;f=c[m>>2]|0;g=(c[n>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(a,376,-2);j=f+(e<<4)|0;g=f+(g+-1<<4)|0;k=c[j>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(j|0,j+16|0,g-j|0)|0;c[g>>2]=2;g=(c[n>>2]|0)+-16|0;c[n>>2]=g;f=g;if((k&8|0)!=0?(j=e+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,e);g=c[n>>2]|0;f=g}h=c[m>>2]|0;e=f-h>>4;e=e|0?h+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(a,2101,-1,361511);e=c[e+8>>2]|0;if(!e)ar(a,2101,-1,361511);f=d[e+28>>0]|0;if((g|0)==(h|0))br(a,342583,50337407,342599);k=g+-16|0;c[n>>2]=k;m=c[g+-16>>2]|0;e=c[g+-8>>2]|0;c[k>>2]=2;do if(m&8|0){k=e+4|0;m=(c[k>>2]|0)+-1|0;c[k>>2]=m;if(m|0)break;qr(c[a+44>>2]|0,e)}while(0);switch(l|0){case 0:{e=c[n>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0)mr(a,4185);c[n>>2]=e+16;c[e>>2]=4;c[e+8>>2]=f&1;o=1;return o|0}case 1:{e=c[n>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0)mr(a,4185);c[n>>2]=e+16;c[e>>2]=4;c[e+8>>2]=f>>>1&1;o=1;return o|0}case 2:{e=c[n>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0)mr(a,4185);c[n>>2]=e+16;c[e>>2]=4;c[e+8>>2]=f>>>2&1;o=1;return o|0}default:{o=1;return o|0}}return 0}function sx(a){a=a|0;var b=0,d=0,e=0,f=0;qy(a);my(a,0);d=a+68|0;e=c[d>>2]|0;f=c[a+64>>2]|0;b=e-f>>4;b=b|0?f+(b+-1<<4)|0:0;if(e>>>0<(c[a+56>>2]|0)>>>0){f=(c[((b|0)==0?368:b)>>2]|0)!=3&1;c[d>>2]=e+16;c[e>>2]=4;c[e+8>>2]=f;return 1}else mr(a,4185);return 0}function tx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+68|0;d=c[i>>2]|0;g=a+56|0;if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,4361);c[i>>2]=d+16;if(c[a+72>>2]|0?(b=c[a+64>>2]|0,h=b+-16|0,c[d>>2]=c[h>>2],c[d+4>>2]=c[h+4>>2],c[d+8>>2]=c[h+8>>2],c[d+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[b+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}if((c[i>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4300);f=fs(a,367409,1)|0;h=c[i>>2]|0;c[i>>2]=h+16;c[h>>2]=8;c[h+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[i>>2]|0;h=a+64|0;b=f;if((f|0)==(c[h>>2]|0))Cr(a,300,0);f=a+304|0;d=c[(c[f>>2]|0)+176>>2]|0;if(b>>>0>=(c[g>>2]|0)>>>0)mr(a,4153);c[i>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[h>>2]|0;d=(c[i>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[h>>2]|0;e=(c[i>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);k=d+(b<<4)|0;j=d+(e+-1<<4)|0;e=c[k>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(k|0,k+16|0,j-k|0)|0;c[j>>2]=2;d=(c[i>>2]|0)+-16|0;c[i>>2]=d;if((e&8|0)!=0?(j=b+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);d=c[i>>2]|0}if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,1093);b=c[h>>2]|0;e=d-b>>4;if(e>>>0<=1)Cr(a,376,-2);k=b+(e+-2<<4)|0;c[i>>2]=d+16;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];if(c[d>>2]&8|0){k=(c[d+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}k=c[i>>2]|0;d=k;if((k|0)==(c[h>>2]|0))Cr(a,300,0);b=c[(c[f>>2]|0)+192>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,4153);c[i>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[h>>2]|0;d=(c[i>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[h>>2]|0;e=(c[i>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);h=d+(b<<4)|0;j=d+(e+-1<<4)|0;k=c[h>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(h|0,h+16|0,j-h|0)|0;c[j>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(!(k&8)){ds(a,4,0);return 1}j=b+4|0;k=(c[j>>2]|0)+-1|0;c[j>>2]=k;if(k|0){ds(a,4,0);return 1}qr(c[a+44>>2]|0,b);ds(a,4,0);return 1}function ux(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+68|0;h=c[i>>2]|0;j=b+64|0;d=c[j>>2]|0;e=h;do if((h|0)==(d|0)){d=c[(c[b+304>>2]|0)+60>>2]|0;if(e>>>0<(c[b+56>>2]|0)>>>0){c[i>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;h=d+4|0;c[h>>2]=(c[h>>2]|0)+1;break}else mr(b,4153)}else{d=(d|0)==0?368:d;if(!(((c[d>>2]|0)==8?(f=c[d+8>>2]|0,(f|0)!=0):0)?(c[f>>2]&512|0)!=0:0)){Xr(b,0)|0;e=c[i>>2]|0;d=c[j>>2]|0;d=(e|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)f=c[d+8>>2]|0;else f=0}if(c[f>>2]&512|0){h=c[b+72>>2]|0;if(h|0?c[h+52>>2]&4|0:0)break;g=b+56|0;if(e>>>0>=(c[g>>2]|0)>>>0)mr(b,4300);d=fs(b,352676,7)|0;h=c[i>>2]|0;c[i>>2]=h+16;c[h>>2]=8;c[h+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=f+28|0;h=c[f+20>>2]|0;e=d+h|0;f=d+1|0;a:do if((h|0)>1){d=f;do{if((a[d>>0]|0)==-1)break a;d=d+1|0}while(d>>>0<e>>>0)}else d=f;while(0);d=d-f|0;if((c[i>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(b,4300);if((d|0)<0)br(b,342583,50335961,342945);h=fs(b,f,d)|0;f=c[i>>2]|0;c[i>>2]=f+16;c[f>>2]=8;c[f+8>>2]=h;h=h+4|0;c[h>>2]=(c[h>>2]|0)+1;if((c[i>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(b,4300);e=fs(b,352684,1)|0;d=c[i>>2]|0;c[i>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;ds(b,3,0);e=c[j>>2]|0;d=(c[i>>2]|0)-e>>4;if(!d)Cr(b,376,-1);g=e+(d+-1<<4)|0;h=c[e>>2]|0;d=c[e+8>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[g>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(h&8|0?(g=d+4|0,h=(c[g>>2]|0)+-1|0,c[g>>2]=h,(h|0)==0):0)qr(c[b+44>>2]|0,d)}}while(0);Xr(b,0)|0;Zs(b,1);d=c[b+72>>2]|0;if(!d)return 1;if(!(c[d+52>>2]&4))return 1;g=b+56|0;if((c[i>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(b,4604);h=Or(b,40)|0;d=c[b+44>>2]|0;c[h>>2]=1619017857;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=h;c[h+12>>2]=0;c[h+8>>2]=e;c[d>>2]=h;e=c[i>>2]|0;c[e>>2]=9;c[e+8>>2]=h;e=h+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;f=e+16|0;c[i>>2]=f;d=c[b+140>>2]|0;c[h+20>>2]=d;if(d|0){h=d+4|0;c[h>>2]=(c[h>>2]|0)+1}if(f>>>0>=(c[g>>2]|0)>>>0)mr(b,1093);d=c[j>>2]|0;if((f|0)==(d|0))Cr(b,376,0);c[i>>2]=e+32;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){h=(c[e+24>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}j=c[j>>2]|0;d=(c[i>>2]|0)-j>>4;d=d>>>0>1?j+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(b,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(b,2130,-2,342926);yr(b,d,c[(c[b+304>>2]|0)+404>>2]|0,0);return 1}function vx(a){a=a|0;py(a,0);return 1}function wx(a){a=a|0;py(a,1);return 1}function xx(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;g=v+16|0;s=v;e=c[d+72>>2]|0;do if(e){f=c[e+16>>2]|0;if(!f){q=(c[e+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)q=b[f+46>>1]|0;else q=0}else q=0;while(0);ly(d)|0;u=d+68|0;f=c[u>>2]|0;r=d+64|0;t=c[r>>2]|0;e=f-t>>4;e=e|0?t+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(d,2101,-1,361511);h=c[e+8>>2]|0;if(!h)ar(d,2101,-1,361511);j=h+20|0;i=c[j>>2]|0;if(f>>>0>=(c[d+56>>2]|0)>>>0)mr(d,5237);if(i>>>0>2147483646)br(d,342583,50336889,342539);t=d+44|0;e=ts(c[t>>2]|0,i,1,g)|0;if(!e)er(d,342583,5246);m=c[u>>2]|0;c[m>>2]=10;c[m+8>>2]=e;m=e+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[u>>2]|0;c[u>>2]=m+16;m=c[m+8>>2]|0;n=s+12|0;c[n>>2]=m;m=c[m+20>>2]|0;c[s>>2]=m;o=s+4|0;c[o>>2]=m;p=s+8|0;c[p>>2]=m+i;m=h+28|0;k=m+(c[j>>2]|0)|0;i=-1;j=-1;e=m;a:while(1){if(e>>>0<k>>>0){if(e>>>0<m>>>0){e=35;break}h=e+1|0;e=a[e>>0]|0;f=e&255;do if(e<<24>>24<=-1){if((e&255)<192){e=35;break a}if((e&255)<224){e=1;f=f&31;break}if((e&255)<240){e=2;f=f&15;break}if((e&255)<248){e=3;f=f&7;break}if((e&255)<252){e=4;f=f&3;break}if((e&255)>=254)if(e<<24>>24==-1){e=35;break a}else{e=6;f=0;break}else{e=5;f=f&1;break}}else{e=0;f=f&127}while(0);if((h+e|0)>>>0>k>>>0){e=35;break}if(!e)e=h;else{g=e;while(1){e=h+1|0;f=a[h>>0]&63|f<<6;if((g|0)>1){h=e;g=g+-1|0}else break}}if((j|0)>-1)h=f;else{i=j;j=f;continue}}else if((j|0)<0){e=43;break}else h=-1;f=c[s>>2]|0;if(((c[p>>2]|0)-f|0)>>>0<56){f=f-(c[o>>2]|0)|0;g=f+120+(f>>>2)|0;if(g>>>0<f>>>0){e=40;break}cr(d,c[n>>2]|0,g);w=c[(c[n>>2]|0)+20>>2]|0;c[s>>2]=w+f;c[o>>2]=w;c[p>>2]=w+g}Hu(s,j,i,h,q)|0;w=j;j=h;i=w}if((e|0)==35)Dr(d,343968,282);else if((e|0)==40)br(d,344105,50331712,342539);else if((e|0)==43){f=(c[s>>2]|0)-(c[o>>2]|0)|0;cr(d,c[n>>2]|0,f);g=c[(c[n>>2]|0)+20>>2]|0;f=g+f|0;c[s>>2]=f;c[o>>2]=g;c[p>>2]=f;us(d);f=c[r>>2]|0;g=(c[u>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(d,376,-2);s=f+(e<<4)|0;d=f+(g+-1<<4)|0;w=c[s>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(s|0,s+16|0,d-s|0)|0;c[d>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(!(w&8)){l=v;return 1}d=e+4|0;w=(c[d>>2]|0)+-1|0;c[d>>2]=w;if(w|0){l=v;return 1}qr(c[t>>2]|0,e);l=v;return 1}return 0}function yx(a){a=a|0;var b=0,d=0.0;ly(a)|0;nu(a,0);b=c[a+64>>2]|0;b=(c[a+68>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)b=2147483647;else b=~~d;else b=-2147483648;else b=0;yt(a,b,b+1|0);return 1}function zx(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=l;l=l+16|0;g=r;j=ly(d)|0;i=Ot(d,0,0,(gs(j)|0)+-1|0,g)|0;f=c[d+72>>2]|0;do if(f){e=c[f+16>>2]|0;if(!e){m=(c[f+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)m=b[e+46>>1]|0;else m=0}else m=0;while(0);do if(!(c[g>>2]|0)){i=vt(d,j,i)|0;k=j+28|0;j=c[j+20>>2]|0;n=k+j|0;e=k+i|0;a:do if(e>>>0>=k>>>0&(i|0)<(j|0)){i=e+1|0;e=a[e>>0]|0;f=e&255;do if(e<<24>>24<=-1){if((e&255)<192){g=65533;break a}if((e&255)<224){e=1;g=f&31;break}if((e&255)<240){e=2;g=f&15;break}if((e&255)<248){e=3;g=f&7;break}if((e&255)<252){e=4;g=f&3;break}if((e&255)>=254)if(e<<24>>24==-1){g=65533;break a}else{e=6;g=0;break}else{e=5;g=f&1;break}}else{e=0;g=f&127}while(0);if((i+e|0)>>>0<=n>>>0){if(!e)e=i;else{f=e;while(1){e=i+1|0;g=a[i>>0]&63|g<<6;if((f|0)>1){i=e;f=f+-1|0}else break}}if((m|0)!=0&(g&-1024|0)==55296?e>>>0>=k>>>0&e>>>0<n>>>0:0){j=e+1|0;e=a[e>>0]|0;i=e&255;do if(e<<24>>24<=-1){if((e&255)<192)break a;if((e&255)<224){f=1;e=i&31;break}if((e&255)<240){f=2;e=i&15;break}if((e&255)<248){f=3;e=i&7;break}if((e&255)<252){f=4;e=i&3;break}if((e&255)>=254)if(e<<24>>24==-1)break a;else{f=6;e=0;break}else{f=5;e=i&1;break}}else{f=0;e=i&127}while(0);if((j+f|0)>>>0<=n>>>0){if(f){i=j;while(1){e=a[i>>0]&63|e<<6;if((f|0)>1){i=i+1|0;f=f+-1|0}else break}}g=(e&-1024|0)==56320?(g<<10)+-56613888+e|0:g}}}else g=65533}else g=65533;while(0);e=d+68|0;f=c[e>>2]|0;if(f>>>0<(c[d+56>>2]|0)>>>0){o=+(g>>>0);p=e;q=f;break}else mr(d,4274)}else{if(m|0){d=0;l=r;return d|0}e=d+68|0;f=c[e>>2]|0;if(f>>>0<(c[d+56>>2]|0)>>>0){o=s;p=e;q=f}else mr(d,4286)}while(0);c[p>>2]=q+16;c[q>>2]=0;h[q+8>>3]=o;d=1;l=r;return d|0}function Ax(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;d=j;ly(a)|0;e=a+68|0;f=c[e>>2]|0;g=a+64|0;h=c[g>>2]|0;i=h;b=f-i>>4;if(!b)Cr(a,376,0);b=b+-1|0;if(!b){h=f;i=h-i|0;i=i>>4;ds(a,i,0);l=j;return 1}i=h+(b<<4)|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];t6(h+16|0,h|0,b<<4|0)|0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];h=c[e>>2]|0;i=c[g>>2]|0;i=h-i|0;i=i>>4;ds(a,i,0);l=j;return 1}function Bx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;e=o;g=ly(b)|0;n=b+68|0;d=b+64|0;m=c[d>>2]|0;m=(c[n>>2]|0)!=(m|0)?m:0;m=(m|0)==0?368:m;if((c[m>>2]|0)==9?(c[c[m+8>>2]>>2]&-134217728|0)==1476395008:0)nr(b,352588,30);Xr(b,0)|0;d=c[d>>2]|0;d=(c[n>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)f=c[d+8>>2]|0;else f=0;d=Ot(b,1,0,gs(g)|0,e)|0;m=f+28|0;j=c[f+20>>2]|0;a:do if((j|0)>=1){f=vt(b,g,d)|0;k=g+28|0;i=c[g+20>>2]|0;g=k+i|0;e=k+f|0;h=a[m>>0]|0;if((f|0)>(i|0)|e>>>0<k>>>0)d=-1;else{i=g;while(1){f=a[e>>0]|0;if((f<<24>>24==h<<24>>24?(i-e|0)>>>0>=j>>>0:0)?(f3(e,m,j)|0)==0:0)break a;e=e+1|0;if(e>>>0>g>>>0|e>>>0<k>>>0){d=-1;break}else d=((f&-64)<<24>>24!=-128&1)+d|0}}}while(0);e=c[n>>2]|0;if(e>>>0<(c[b+56>>2]|0)>>>0){c[n>>2]=e+16;c[e>>2]=4;c[e+8>>2]=d>>>31^1;l=o;return 1}else mr(b,4185);return 0}function Cx(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;n=s;e=c[d+72>>2]|0;do if(e){f=c[e+16>>2]|0;if(!f){q=(c[e+4>>2]|0)>>>8<<24>>24;break}if(c[f>>2]&4096)q=b[f+46>>1]|0;else q=0}else q=0;while(0);p=ly(d)|0;e=gs(p)|0;Xr(d,0)|0;r=d+68|0;g=c[r>>2]|0;k=d+64|0;i=c[k>>2]|0;j=i;f=(g|0)!=(j|0)?i:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)m=c[f+8>>2]|0;else m=0;if(g-j>>4>>>0<=1)Cr(d,300,1);t=+Ar(d,i+16|0);f=c[k>>2]|0;i=f+16|0;o=c[i>>2]|0;j=f+24|0;g=c[j>>2]|0;c[i>>2]=0;h[j>>3]=t;if((o&8|0)!=0?(j=g+4|0,o=(c[j>>2]|0)+-1|0,c[j>>2]=o,(o|0)==0):0){qr(c[d+44>>2]|0,g);f=c[k>>2]|0}f=(c[r>>2]|0)-f>>4>>>0>1?f+16|0:0;f=(f|0)==0?368:f;if(!((c[f>>2]|0)==0?(o=f+8|0,k=c[o+4>>2]&2147483647,(q|0)!=0&(k>>>0>2146435072|(k|0)==2146435072&(c[o>>2]|0)>>>0>0)):0))e=Ot(d,1,0,e,n)|0;o=m+28|0;m=c[m+20>>2]|0;a:do if((m|0)>=1){k=vt(d,p,e)|0;n=p+28|0;p=c[p+20>>2]|0;i=n+p|0;f=n+k|0;j=a[o>>0]|0;if(!((k|0)>(p|0)|f>>>0<n>>>0)){k=i;if(!q)while(1){g=a[f>>0]|0;if((g<<24>>24==j<<24>>24?(k-f|0)>>>0>=m>>>0:0)?(f3(f,o,m)|0)==0:0)break a;f=f+1|0;if(f>>>0>i>>>0|f>>>0<n>>>0){e=-1;break}else e=((g&-64)<<24>>24!=-128&1)+e|0}else while(1){g=a[f>>0]|0;if((g<<24>>24==j<<24>>24?(k-f|0)>>>0>=m>>>0:0)?(f3(f,o,m)|0)==0:0)break a;f=f+-1|0;if(f>>>0>i>>>0|f>>>0<n>>>0){e=-1;break}else e=(((g&-64)<<24>>24!=-128)<<31>>31)+e|0}}else e=-1}while(0);f=c[r>>2]|0;if(f>>>0<(c[d+56>>2]|0)>>>0){c[r>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+(e|0);l=s;return 1}else mr(d,4244);return 0}function Dx(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0;e=ly(a)|0;Xr(a,0)|0;j=a+68|0;i=c[j>>2]|0;d=c[a+64>>2]|0;d=(i|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)d=c[d+8>>2]|0;else d=0;f=c[e+20>>2]|0;g=c[d+20>>2]|0;d=f3(e+28|0,d+28|0,f>>>0<=g>>>0?f:g)|0;if((d|0)<0)b=-1.0;else b=f>>>0>g>>>0|(d|0)!=0?1.0:+(((f|0)!=(g|0))<<31>>31);if(i>>>0<(c[a+56>>2]|0)>>>0){c[j>>2]=i+16;c[i>>2]=0;h[i+8>>3]=b;return 1}else mr(a,4244);return 0}function Ex(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;ly(a)|0;oy(a,0);p=a+68|0;q=c[p>>2]|0;n=a+64|0;d=q;if((q|0)==(c[n>>2]|0))Cr(a,300,0);o=a+304|0;b=c[(c[o>>2]|0)+108>>2]|0;q=a+56|0;if(d>>>0>=(c[q>>2]|0)>>>0)mr(a,4153);c[p>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[n>>2]|0;d=(c[p>>2]|0)-b>>4;if(!d)Cr(a,376,0);Kr(a,b,b+(d+-1<<4)|0)|0;d=c[n>>2]|0;e=(c[p>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);g=d+(b<<4)|0;j=d+(e+-1<<4)|0;l=c[g>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(g|0,g+16|0,j-g|0)|0;c[j>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(l&8|0?(j=b+4|0,l=(c[j>>2]|0)+-1|0,c[j>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);d=is(a,-1)|0;b=c[p>>2]|0;if((b|0)==(c[n>>2]|0))br(a,342583,50337407,342599);j=b+-16|0;c[p>>2]=j;l=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[j>>2]=2;if(l&8|0?(j=b+4|0,l=(c[j>>2]|0)+-1|0,c[j>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);if(!d){my(a,0);return 1}b=c[p>>2]|0;d=c[q>>2]|0;if(b>>>0>=d>>>0)mr(a,4244);e=b+16|0;c[p>>2]=e;c[b>>2]=0;h[b+8>>3]=0.0;if((e|0)==(c[n>>2]|0))Cr(a,300,0);g=c[(c[o>>2]|0)+188>>2]|0;if(e>>>0>=d>>>0)mr(a,4153);c[p>>2]=b+32;c[e>>2]=8;c[b+24>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0;g=(c[p>>2]|0)-e>>4;if(!g)Cr(a,376,0);if((g|0)==1)Cr(a,376,-2);d=g+-2|0;l=a+72|0;b=c[l>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,e,e+(g+-1<<4)|0,c[e+(d<<4)>>2]|0,c[e+(d<<4)+4>>2]|0,+h[e+(d<<4)+8>>3],b)|0;Nt(a);e=Or(a,48)|0;j=a+44|0;b=c[j>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+132>>2]|0;c[e+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[p>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[p>>2]|0)+16|0;c[p>>2]=b;if(b>>>0<(c[q>>2]|0)>>>0){m=0;k=0;i=b}else mr(a,1093);while(1){b=c[n>>2]|0;if((i|0)==(b|0)){b=38;break}c[p>>2]=i+16;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];if(c[i>>2]&8|0){i=(c[i+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}b=c[p>>2]|0;if(b>>>0>=(c[q>>2]|0)>>>0){b=42;break}d=c[n>>2]|0;if(b-d>>4>>>0<=1){b=44;break}i=d+16|0;c[p>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[b>>2]&8|0){i=(c[b+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}my(a,0);b=c[p>>2]|0;e=c[n>>2]|0;d=e;i=b-d>>4;i=i|0?e+(i+-1<<4)|0:0;g=b;if((c[((i|0)==0?368:i)>>2]|0)!=9){b=48;break}if((b|0)==(d|0)){b=55;break}b=c[(c[o>>2]|0)+188>>2]|0;if(g>>>0>=(c[q>>2]|0)>>>0){b=57;break}c[p>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[n>>2]|0;d=(c[p>>2]|0)-b>>4;if(!d){b=59;break}Kr(a,b,b+(d+-1<<4)|0)|0;d=c[n>>2]|0;e=(c[p>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1){b=61;break}g=d+(b<<4)|0;e=d+(e+-1<<4)|0;i=c[g>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(g|0,g+16|0,e-g|0)|0;c[e>>2]=2;e=(c[p>>2]|0)+-16|0;c[p>>2]=e;d=e;do if(i&8){g=b+4|0;i=(c[g>>2]|0)+-1|0;c[g>>2]=i;if(i|0)break;qr(c[j>>2]|0,b);e=c[p>>2]|0;d=e}while(0);g=c[n>>2]|0;b=d-g>>4;b=b|0?g+(b+-1<<4)|0:0;b=(b|0)==0?368:b;do if(!(c[b>>2]|0)){f=+h[b+8>>3];if(!(K4(f)|0)){d=0;break}if(f<-2147483648.0){d=-2147483648;break}if(f>2147483647.0){d=2147483647;break}d=~~f}else d=0;while(0);if((e|0)==(g|0)){b=71;break}g=e+-16|0;c[p>>2]=g;i=c[e+-16>>2]|0;b=c[e+-8>>2]|0;c[g>>2]=2;do if(i&8|0){g=b+4|0;i=(c[g>>2]|0)+-1|0;c[g>>2]=i;if(i|0)break;qr(c[j>>2]|0,b)}while(0);if((d|0)==(k|0)){i=k+1|0;b=c[p>>2]|0;d=c[q>>2]|0;if(b>>>0>=d>>>0){b=77;break}e=b+16|0;c[p>>2]=e;c[b>>2]=0;h[b+8>>3]=+(i|0);if((e|0)==(c[n>>2]|0)){b=79;break}g=c[(c[o>>2]|0)+188>>2]|0;if(e>>>0>=d>>>0){b=81;break}c[p>>2]=b+32;c[e>>2]=8;c[b+24>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0;g=(c[p>>2]|0)-e>>4;if(!g){b=83;break}if((g|0)==1){b=85;break}d=g+-2|0;b=c[l>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,e,e+(g+-1<<4)|0,c[e+(d<<4)>>2]|0,c[e+(d<<4)+4>>2]|0,+h[e+(d<<4)+8>>3],b)|0;Nt(a);g=i}else g=d;et(a,-1,0)|0;Ft(a,2,m);e=m+1|0;b=c[p>>2]|0;if((b|0)==(c[n>>2]|0)){b=90;break}d=b+-16|0;c[p>>2]=d;m=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[d>>2]=2;do if(m&8){k=b+4|0;m=(c[k>>2]|0)+-1|0;c[k>>2]=m;if(m|0)break;qr(c[j>>2]|0,b);d=c[p>>2]|0}while(0);if(d>>>0<(c[q>>2]|0)>>>0){m=e;k=g;i=d}else{b=36;break}}switch(b|0){case 36:{mr(a,1093);break}case 38:{Cr(a,376,0);break}case 42:{mr(a,1093);break}case 44:{Cr(a,376,1);break}case 48:{if((g|0)==(e|0))br(a,342583,50337407,342599);n=g+-16|0;c[p>>2]=n;o=c[g+-16>>2]|0;b=c[g+-8>>2]|0;c[n>>2]=2;do if(o&8|0){n=b+4|0;o=(c[n>>2]|0)+-1|0;c[n>>2]=o;if(o|0)break;qr(c[j>>2]|0,b)}while(0);if(m|0)return 1;b=c[p>>2]|0;if(b>>>0>=(c[q>>2]|0)>>>0)mr(a,4175);c[p>>2]=b+16;c[b>>2]=3;return 1}case 55:{Cr(a,300,0);break}case 57:{mr(a,4153);break}case 59:{Cr(a,376,0);break}case 61:{Cr(a,376,-2);break}case 71:{br(a,342583,50337407,342599);break}case 77:{mr(a,4244);break}case 79:{Cr(a,300,0);break}case 81:{mr(a,4153);break}case 83:{Cr(a,376,0);break}case 85:{Cr(a,376,-2);break}case 90:{br(a,342583,50337407,342599);break}}return 0}function Fx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+16|0;k=q;o=ly(a)|0;f=c[o+20>>2]|0;n=a+68|0;e=a+64|0;d=c[e>>2]|0;if((c[n>>2]|0)==(d|0))Cr(a,300,0);i=+Ar(a,d);t=c[e>>2]|0;r=c[t>>2]|0;s=t+8|0;d=c[s>>2]|0;c[t>>2]=0;h[s>>3]=i;if(r&8|0?(s=d+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)qr(c[a+44>>2]|0,d);h[j>>3]=i;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==2146435072:0)br(a,352588,50333053,343797);t=c[n>>2]|0;d=c[e>>2]|0;d=(t|0)!=(d|0)?d:0;d=(d|0)==0?368:d;e=t;a:do if((c[d>>2]|0)==0?(m=+h[d+8>>3],(K4(m)|0)!=0):0){if(m<-2147483648.0)br(a,352588,50333053,343797);d=~~m;do if(!(m>2147483647.0))if((d|0)>=0){b=O(d,f)|0;if(!d){p=b;break a}else{g=d;break}}else br(a,352588,50333053,343797);else{g=2147483647;b=O(f,2147483647)|0}while(0);if(((b>>>0)/(g>>>0)|0|0)==(f|0))p=b;else br(a,352588,50333053,343797)}else p=0;while(0);if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,5237);if(p>>>0>2147483646)br(a,342583,50336889,342539);b=ts(c[a+44>>2]|0,p,4,k)|0;if(!b)er(a,342583,5246);e=c[n>>2]|0;c[e>>2]=10;c[e+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;e=c[k>>2]|0;b=o+28|0;k=e+p|0;if(p>>>0<=f>>>0){s=b;r=e;t=p;s6(r|0,s|0,t|0)|0;us(a);l=q;return 1}g=e;d=e;while(1){s6(d|0,b|0,f|0)|0;d=d+f|0;b=d;f=b-g|0;b=k-b|0;if(b>>>0<=f>>>0)break;else b=e}s6(d|0,e|0,b|0)|0;us(a);l=q;return 1}function Gx(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+16|0;K=ly(b)|0;R=K+20|0;e=c[R>>2]|0;L=b+68|0;N=b+56|0;if((c[L>>2]|0)>>>0>=(c[N>>2]|0)>>>0)mr(b,5237);if(e>>>0>2147483646)br(b,342583,50336889,342539);Q=b+44|0;d=ts(c[Q>>2]|0,e,1,X)|0;if(!d)er(b,342583,5246);g=c[L>>2]|0;c[g>>2]=10;c[g+8>>2]=d;g=d+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[L>>2]|0;i=g+16|0;c[L>>2]=i;V=c[g+8>>2]|0;W=V+20|0;n=c[W>>2]|0;m=n;n=n+e|0;J=b+64|0;e=c[J>>2]|0;d=(i|0)!=(e|0)?e:0;d=(d|0)==0?368:d;if(((c[d>>2]|0)==9?(f=c[d+8>>2]|0,(f|0)!=0):0)?(c[f>>2]&-134217728|0)==1476395008:0){if((i|0)==(e|0))Cr(b,300,0);k=b+304|0;d=c[(c[k>>2]|0)+108>>2]|0;if(i>>>0>=(c[N>>2]|0)>>>0)mr(b,4153);c[L>>2]=g+32;c[i>>2]=8;c[g+24>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[J>>2]|0;e=(c[L>>2]|0)-d>>4;if(!e)Cr(b,376,0);Kr(b,d,d+(e+-1<<4)|0)|0;e=c[J>>2]|0;f=(c[L>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(b,376,-2);G=e+(d<<4)|0;H=e+(f+-1<<4)|0;I=c[G>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(G|0,G+16|0,H-G|0)|0;c[H>>2]=2;c[L>>2]=(c[L>>2]|0)+-16;if(I&8|0?(H=d+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[Q>>2]|0,d);i=is(b,-1)|0;d=c[L>>2]|0;if((d|0)==(c[J>>2]|0))br(b,342583,50337407,342599);H=d+-16|0;c[L>>2]=H;I=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[H>>2]=2;if(I&8|0?(H=d+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[Q>>2]|0,d);if(!i){e=1;f=0}else{e=c[L>>2]|0;f=c[N>>2]|0;if(e>>>0>=f>>>0)mr(b,4244);g=e+16|0;c[L>>2]=g;c[e>>2]=0;h[e+8>>3]=0.0;if((g|0)==(c[J>>2]|0))Cr(b,300,0);d=c[(c[k>>2]|0)+188>>2]|0;if(g>>>0>=f>>>0)mr(b,4153);c[L>>2]=e+32;c[g>>2]=8;c[e+24>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[J>>2]|0;g=(c[L>>2]|0)-f>>4;if(!g)Cr(b,376,0);if((g|0)==1)Cr(b,376,-2);e=g+-2|0;d=c[b+72>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(b,f,f+(g+-1<<4)|0,c[f+(e<<4)>>2]|0,c[f+(e<<4)+4>>2]|0,+h[f+(e<<4)+8>>3],d)|0;Nt(b);e=1;f=i}}else{Xr(b,0)|0;e=0;f=0}d=c[J>>2]|0;d=(c[L>>2]|0)-d>>4>>>0>1?d+16|0:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{if(!(c[c[d+8>>2]>>2]&512))O=43;else{F=0;G=0;H=0}break}case 6:{F=0;G=0;H=0;break}default:O=43}if((O|0)==43){Xr(b,1)|0;H=c[J>>2]|0;H=(c[L>>2]|0)-H>>4>>>0>1?H+16|0:0;H=c[((H|0)==0?368:H)+8>>2]|0;I=H+28|0;F=1;G=I;H=I+(c[H+20>>2]|0)|0}C=(e|0)!=0;D=b+304|0;E=b+72|0;I=K+28|0;x=(f|0)==0;y=b+52|0;z=b+60|0;A=G>>>0<H>>>0;B=H;p=0;q=m;g=m;o=n;a:while(1){if(C){d=c[L>>2]|0;if(d>>>0>=(c[N>>2]|0)>>>0){O=47;break}e=c[J>>2]|0;if((d|0)==(e|0)){O=49;break}c[L>>2]=d+16;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];if(c[d>>2]&8|0){w=(c[d+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}d=c[L>>2]|0;if(d>>>0>=(c[N>>2]|0)>>>0){O=53;break}e=c[J>>2]|0;if(d-e>>4>>>0<=2){O=55;break}w=e+32|0;c[L>>2]=d+16;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];if(c[d>>2]&8|0){w=(c[d+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}my(b,0);f=c[L>>2]|0;d=c[J>>2]|0;i=f-d|0;e=i>>4;k=e+-1|0;w=e|0?d+(k<<4)|0:0;if((c[((w|0)==0?368:w)>>2]|0)!=9){O=59;break}if(!e){O=65;break}d=c[(c[D>>2]|0)+196>>2]|0;if(f>>>0>=(c[N>>2]|0)>>>0){O=67;break}c[L>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[J>>2]|0;f=(c[L>>2]|0)-e>>4;d=((i|0)<16?f:0)+k|0;if(d>>>0>=f>>>0){O=69;break}Kr(b,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[J>>2]|0;f=(c[L>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1){O=71;break}u=e+(d<<4)|0;v=e+(f+-1<<4)|0;w=c[u>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(u|0,u+16|0,v-u|0)|0;c[v>>2]=2;e=(c[L>>2]|0)+-16|0;c[L>>2]=e;do if(w&8){v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0)break;qr(c[Q>>2]|0,d);e=c[L>>2]|0}while(0);f=c[J>>2]|0;d=e-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;do if(!(c[d>>2]|0)){j=+h[d+8>>3];if(j<0.0|(K4(j)|0)==0){n=0;break}if(j>4294967295.0){n=-1;break}n=~~j>>>0}else n=0;while(0);d=c[L>>2]|0;if((d|0)==(f|0)){O=80;break}v=d+-16|0;c[L>>2]=v;w=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[v>>2]=2;do if(w&8|0){v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0)break;qr(c[Q>>2]|0,d)}while(0);et(b,-1,0)|0;d=c[L>>2]|0;e=d+-8|0;m=c[e>>2]|0;if((d|0)==(c[J>>2]|0)){O=85;break}v=d+-16|0;c[L>>2]=v;w=c[d+-16>>2]|0;d=c[e>>2]|0;c[v>>2]=2;do if(w&8|0){v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0)break;qr(c[Q>>2]|0,d)}while(0);if(!(c[m+20>>2]|0)){w=c[L>>2]|0;d=w;if((w|0)==(c[J>>2]|0)){O=91;break}e=c[(c[D>>2]|0)+188>>2]|0;if(d>>>0>=(c[N>>2]|0)>>>0){O=93;break}c[L>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;d=e+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[J>>2]|0;e=(c[L>>2]|0)-d>>4;if(!e){O=95;break}Kr(b,d,d+(e+-1<<4)|0)|0;e=c[J>>2]|0;f=(c[L>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1){O=97;break}u=e+(d<<4)|0;v=e+(f+-1<<4)|0;w=c[u>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(u|0,u+16|0,v-u|0)|0;c[v>>2]=2;e=(c[L>>2]|0)+-16|0;c[L>>2]=e;do if(w&8){v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0)break;qr(c[Q>>2]|0,d);e=c[L>>2]|0}while(0);f=c[J>>2]|0;d=e-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;do if(!(c[d>>2]|0)){j=+h[d+8>>3];if(j<0.0|(K4(j)|0)==0){k=0;break}if(j>4294967295.0){k=-1;break}k=~~j>>>0}else k=0;while(0);d=c[L>>2]|0;if((d|0)==(f|0)){O=106;break}v=d+-16|0;c[L>>2]=v;w=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[v>>2]=2;do if(w&8|0){v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0)break;qr(c[Q>>2]|0,d)}while(0);e=c[L>>2]|0;f=c[N>>2]|0;if(e>>>0>=f>>>0){O=111;break}i=e+16|0;c[L>>2]=i;c[e>>2]=0;h[e+8>>3]=+((k+1|0)>>>0);if((i|0)==(c[J>>2]|0)){O=113;break}d=c[(c[D>>2]|0)+188>>2]|0;if(i>>>0>=f>>>0){O=115;break}c[L>>2]=e+32;c[i>>2]=8;c[e+24>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[J>>2]|0;i=(c[L>>2]|0)-f>>4;if(!i){O=117;break}if((i|0)==1){O=119;break}e=i+-2|0;d=c[E>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(b,f,f+(i+-1<<4)|0,c[f+(e<<4)>>2]|0,c[f+(e<<4)+4>>2]|0,+h[f+(e<<4)+8>>3],d)|0;Nt(b)}u=m;v=Ur(b,-1)|0}else{m=c[J>>2]|0;f=c[m+8>>2]|0;e=f+28|0;f=c[f+20>>2]|0;i=I+(c[R>>2]|0)+(0-f)|0;if(I>>>0>i>>>0){P=p;S=q;T=g;U=o;break}else{n=0;d=I}while(1){if(!(f3(d,e,f)|0))break;k=d+1|0;if(k>>>0>i>>>0){P=p;S=q;T=g;U=o;break a}else{n=((a[d>>0]&-64)<<24>>24!=-128&1)+n|0;d=k}}d=c[L>>2]|0;if(d>>>0>=(c[N>>2]|0)>>>0){O=127;break}if((d|0)==(m|0)){O=129;break}c[L>>2]=d+16;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];if(c[d>>2]&8|0){w=(c[d+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}u=c[(c[L>>2]|0)+-8>>2]|0;v=0}t=vt(b,K,n)|0;i=t-p|0;f=I+p|0;if((o-q|0)>>>0<i>>>0){d=q-g|0;e=d+64+(d>>>2)+i|0;if(e>>>0<d>>>0){O=136;break}cr(b,V,e);o=c[W>>2]|0;d=o+d|0;m=o;o=o+e|0}else{d=q;m=g}e=d;s6(e|0,f|0,i|0)|0;e=e+i|0;q=u+20|0;w=(c[q>>2]|0)+t|0;do if(F)if(A){r=u+28|0;s=t+64|0;p=G;g=m;f=o;while(1){o=p+1|0;m=a[p>>0]|0;k=m&255;b:do if(m<<24>>24==36?(M=B-o|0,(M|0)!=0):0){d=a[o>>0]|0;i=d&255;switch(d<<24>>24){case 36:{i=292;O=213;break b}case 38:{i=c[q>>2]|0;if((f-e|0)>>>0<i>>>0){d=e-g|0;f=d+64+(d>>>2)+i|0;if(f>>>0<d>>>0){O=184;break a}cr(b,V,f);o=c[W>>2]|0;e=o+d|0;g=o;f=o+f|0}s6(e|0,r|0,i|0)|0;d=p+2|0;e=e+i|0;break b}case 96:{if((f-e|0)>>>0<t>>>0){d=e-g|0;f=s+d+(d>>>2)|0;if(f>>>0<d>>>0){O=189;break a}cr(b,V,f);o=c[W>>2]|0;e=o+d|0;g=o;f=o+f|0}s6(e|0,I|0,t|0)|0;d=p+2|0;e=e+t|0;break b}case 39:{i=vt(b,K,(gs(u)|0)+n|0)|0;k=(c[R>>2]|0)-i|0;i=I+i|0;if((f-e|0)>>>0<k>>>0){d=e-g|0;f=d+64+(d>>>2)+k|0;if(f>>>0<d>>>0){O=194;break a}cr(b,V,f);o=c[W>>2]|0;e=o+d|0;g=o;f=o+f|0}s6(e|0,i|0,k|0)|0;d=p+2|0;e=e+k|0;break b}default:{if(!(C&(d+-48&255)<10)){i=k;O=213;break b}d=i+-48|0;if(M>>>0>1){i=a[p+2>>0]|0;p=(d*10|0)+-48+(i&255)|0;i=(i+-48&255)<10&(p|0)<(v|0);m=i?2:1;d=i?p:d}else m=1;if(!((d|0)>0&(d|0)<(v|0))){i=k;O=213;break b}et(b,4,d)|0;i=c[L>>2]|0;d=c[J>>2]|0;p=i-d>>4;p=p|0?d+(p+-1<<4)|0:0;if((c[((p|0)==0?368:p)>>2]|0)==8){i=c[i+-8>>2]|0;k=c[i+20>>2]|0;if((f-e|0)>>>0<k>>>0){d=e-g|0;f=d+64+(d>>>2)+k|0;if(f>>>0<d>>>0){O=204;break a}cr(b,V,f);p=c[W>>2]|0;e=p+d|0;g=p;f=p+f|0}s6(e|0,i+28|0,k|0)|0;e=e+k|0;i=c[L>>2]|0;d=c[J>>2]|0}if((i|0)==(d|0)){O=208;break a}k=i+-16|0;c[L>>2]=k;p=c[i+-16>>2]|0;d=c[i+-8>>2]|0;c[k>>2]=2;do if(p&8|0){k=d+4|0;p=(c[k>>2]|0)+-1|0;c[k>>2]=p;if(p|0)break;qr(c[Q>>2]|0,d)}while(0);d=o+m|0;break b}}}else{i=k;O=213}while(0);if((O|0)==213){O=0;if((f|0)==(e|0)){d=e-g|0;f=d+65+(d>>>2)|0;if(f>>>0<d>>>0){O=215;break a}cr(b,V,f);p=c[W>>2]|0;e=p+d|0;g=p;f=p+f|0}a[e>>0]=i;d=o+(i>>>8)|0;e=e+1|0}if(d>>>0<H>>>0)p=d;else break}}else{g=m;f=o}else{d=c[L>>2]|0;if(d>>>0>=(c[N>>2]|0)>>>0){O=142;break a}f=c[J>>2]|0;if(d-f>>4>>>0<=1){O=144;break a}u=f+16|0;c[L>>2]=d+16;c[d>>2]=c[u>>2];c[d+4>>2]=c[u+4>>2];c[d+8>>2]=c[u+8>>2];c[d+12>>2]=c[u+12>>2];if(c[d>>2]&8|0){u=(c[d+8>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)+1}d=c[L>>2]|0;f=c[J>>2]|0;k=d-f>>4;g=d;i=f;if(C){u=v+2|0;f=c[y>>2]|0;d=((u>>>0>1e6?(u>>31&267435456)+1e6|0:u)<<4)+512+(d-f)|0;f=f+d|0;do if((c[N>>2]|0)>>>0<f>>>0)if((c[z>>2]|0)>>>0<f>>>0){Er(b,d,1)|0;break}else{c[N>>2]=f;break}while(0);if((v|0)>0){d=0;do{et(b,4,d)|0;d=d+1|0}while((d|0)!=(v|0))}}else{if(g>>>0>=(c[N>>2]|0)>>>0){O=155;break a}if((g|0)==(i|0)){O=157;break a}c[L>>2]=g+16;v=d;u=f;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];if(c[g>>2]&8|0){v=(c[g+8>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1}}f=c[L>>2]|0;d=c[N>>2]|0;if(f>>>0>=d>>>0){O=161;break a}g=f+16|0;c[L>>2]=g;c[f>>2]=0;h[f+8>>3]=+(n>>>0);if(g>>>0>=d>>>0){O=163;break a}d=c[J>>2]|0;if(g-d>>4>>>0<=2){O=165;break a}v=d+32|0;c[L>>2]=f+32;c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];if(c[g>>2]&8|0){v=(c[f+24>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1}Bt(b,((c[L>>2]|0)-(c[J>>2]|0)>>4)-k|0);Xr(b,-1)|0;v=c[J>>2]|0;d=(c[L>>2]|0)-v>>4;d=d|0?v+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)i=c[d+8>>2]|0;else i=0;k=c[i+20>>2]|0;if((o-e|0)>>>0<k>>>0){d=e-m|0;f=d+64+(d>>>2)+k|0;if(f>>>0<d>>>0){O=172;break a}cr(b,V,f);v=c[W>>2]|0;e=v+d|0;g=v;f=v+f|0}else{g=m;f=o}s6(e|0,i+28|0,k|0)|0;e=e+k|0;d=c[L>>2]|0;if((d|0)==(c[J>>2]|0)){O=175;break a}u=d+-16|0;c[L>>2]=u;v=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[u>>2]=2;if(!(v&8))break;u=d+4|0;v=(c[u>>2]|0)+-1|0;c[u>>2]=v;if(v|0)break;qr(c[Q>>2]|0,d)}while(0);d=c[L>>2]|0;if((d|0)==(c[J>>2]|0)){O=220;break}u=d+-16|0;c[L>>2]=u;v=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[u>>2]=2;if(v&8|0?(u=d+4|0,v=(c[u>>2]|0)+-1|0,c[u>>2]=v,(v|0)==0):0)qr(c[Q>>2]|0,d);if(x){P=w;S=e;T=g;U=f;break}else{p=w;q=e;o=f}}switch(O|0){case 47:{mr(b,1093);break}case 49:{Cr(b,376,0);break}case 53:{mr(b,1093);break}case 55:{Cr(b,376,2);break}case 59:{if((f|0)==(d|0))br(b,342583,50337407,342599);T=f+-16|0;c[L>>2]=T;U=c[f+-16>>2]|0;d=c[f+-8>>2]|0;c[T>>2]=2;if((U&8|0)!=0?(T=d+4|0,U=(c[T>>2]|0)+-1|0,c[T>>2]=U,(U|0)==0):0){qr(c[Q>>2]|0,d);P=p;S=q;T=g;U=o}else{P=p;S=q;T=g;U=o}break}case 65:{Cr(b,300,-1);break}case 67:{mr(b,4153);break}case 69:{Cr(b,376,k);break}case 71:{Cr(b,376,-2);break}case 80:{br(b,342583,50337407,342599);break}case 85:{br(b,342583,50337407,342599);break}case 91:{Cr(b,300,0);break}case 93:{mr(b,4153);break}case 95:{Cr(b,376,0);break}case 97:{Cr(b,376,-2);break}case 106:{br(b,342583,50337407,342599);break}case 111:{mr(b,4274);break}case 113:{Cr(b,300,0);break}case 115:{mr(b,4153);break}case 117:{Cr(b,376,0);break}case 119:{Cr(b,376,-2);break}case 127:{mr(b,1093);break}case 129:{Cr(b,376,0);break}case 136:{br(b,344105,50331712,342539);break}case 142:{mr(b,1093);break}case 144:{Cr(b,376,1);break}case 155:{mr(b,1093);break}case 157:{Cr(b,376,0);break}case 161:{mr(b,4274);break}case 163:{mr(b,1093);break}case 165:{Cr(b,376,2);break}case 172:{br(b,344105,50331712,342539);break}case 175:{br(b,342583,50337407,342599);break}case 184:{br(b,344105,50331712,342539);break}case 189:{br(b,344105,50331712,342539);break}case 194:{br(b,344105,50331712,342539);break}case 204:{br(b,344105,50331712,342539);break}case 208:{br(b,342583,50337407,342599);break}case 215:{br(b,344105,50331712,342539);break}case 220:{br(b,342583,50337407,342599);break}}g=(c[R>>2]|0)-P|0;f=I+P|0;if((U-S|0)>>>0>=g>>>0){U=S;W=T;s6(U|0,f|0,g|0)|0;U=U+g|0;W=U-W|0;cr(b,V,W);us(b);l=X;return 1}d=S-T|0;e=d+64+(d>>>2)+g|0;if(e>>>0<d>>>0)br(b,344105,50331712,342539);cr(b,V,e);W=c[W>>2]|0;U=W+d|0;s6(U|0,f|0,g|0)|0;U=U+g|0;W=U-W|0;cr(b,V,W);us(b);l=X;return 1}function Hx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;ly(a)|0;oy(a,1);j=a+68|0;b=c[j>>2]|0;e=a+56|0;if(b>>>0>=(c[e>>2]|0)>>>0)mr(a,1093);i=a+64|0;d=c[i>>2]|0;if((b|0)==(d|0))Cr(a,376,0);c[j>>2]=b+16;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(c[b>>2]&8|0){g=(c[b+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[j>>2]|0;if(b>>>0>=(c[e>>2]|0)>>>0)mr(a,1093);d=c[i>>2]|0;if(b-d>>4>>>0<=1)Cr(a,376,1);g=d+16|0;c[j>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[b>>2]&8|0){g=(c[b+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}my(a,0);d=c[j>>2]|0;k=c[i>>2]|0;f=d-k|0;b=f>>4;g=b+-1|0;k=b|0?k+(g<<4)|0:0;if((c[((k|0)==0?368:k)>>2]|0)!=9){if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4244);c[j>>2]=d+16;c[d>>2]=0;h[d+8>>3]=-1.0;return 1}if(!b)Cr(a,300,-1);b=c[(c[a+304>>2]|0)+196>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4153);c[j>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i>>2]|0;e=(c[j>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[i>>2]|0;e=(c[j>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);g=d+(b<<4)|0;i=d+(e+-1<<4)|0;k=c[g>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(g|0,g+16|0,i-g|0)|0;c[i>>2]=2;c[j>>2]=(c[j>>2]|0)+-16;if(!(k&8))return 1;j=b+4|0;k=(c[j>>2]|0)+-1|0;c[j>>2]=k;if(k|0)return 1;qr(c[a+44>>2]|0,b);return 1}function Ix(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g;e=gs(ly(a)|0)|0;f=0-e|0;b=Ot(a,0,f,e,d)|0;b=((b|0)<0?e:0)+b|0;h=c[a+64>>2]|0;h=(c[a+68>>2]|0)-h>>4>>>0>1?h+16|0:0;if((c[((h|0)==0?368:h)>>2]|0)==2){h=e;f=(h|0)<(b|0);h=f?b:h;yt(a,b,h);l=g;return 1}h=Ot(a,1,f,e,d)|0;h=((h|0)<0?e:0)+h|0;f=(h|0)<(b|0);h=f?b:h;yt(a,b,h);l=g;return 1}function Jx(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=ly(b)|0;f=Or(b,48)|0;A=b+44|0;d=c[A>>2]|0;c[f>>2]=272679041;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[d>>2]=f;d=c[b+132>>2]|0;c[f+20>>2]=d;if(d|0){z=d+4|0;c[z>>2]=(c[z>>2]|0)+1}z=b+68|0;w=c[z>>2]|0;c[w>>2]=9;c[w+8>>2]=f;w=f+4|0;c[w>>2]=(c[w>>2]|0)+1;w=b+64|0;g=(c[z>>2]|0)+16|0;c[z>>2]=g;f=g;e=c[w>>2]|0;v=f-e>>4>>>0>1?e+16|0:0;do if((c[((v|0)==0?368:v)>>2]|0)!=2){d=rt(b,1)|0;if(!d)return 1;else{g=c[z>>2]|0;e=c[w>>2]|0;f=g;break}}else d=-1;while(0);i=e;f=(f|0)!=(i|0)?e:0;f=(f|0)==0?368:f;switch(c[f>>2]|0){case 2:{if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,1093);if(g-i>>4>>>0<=2)Cr(b,376,2);A=e+32|0;c[z>>2]=g+16;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];if(c[g>>2]&8|0){A=(c[g+8>>2]|0)+4|0;c[A>>2]=(c[A>>2]|0)+1}Ft(b,3,0);return 1}case 9:{v=16;break}default:v=31}if((v|0)==16){u=c[f+8>>2]|0;if((u|0)!=0?(c[u>>2]&-134217728|0)==1476395008:0){e=c[b+168>>2]|0;i=b+56|0;if(g>>>0>=(c[i>>2]|0)>>>0)mr(b,4153);c[z>>2]=g+16;c[g>>2]=9;c[g+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[z>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(b,1093);f=c[w>>2]|0;if((e|0)==(f|0))Cr(b,376,0);c[z>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[e>>2]&8|0){u=(c[e+8>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)+1}Ht(b);f=c[w>>2]|0;e=(c[z>>2]|0)-f>>4;if(!e)Cr(b,376,-1);t=f+(e+-1<<4)|0;u=c[f>>2]|0;e=c[f+8>>2]|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[t>>2]=2;c[z>>2]=(c[z>>2]|0)+-16;if((u&8|0)!=0?(t=e+4|0,u=(c[t>>2]|0)+-1|0,c[t>>2]=u,(u|0)==0):0){qr(c[A>>2]|0,e);q=1}else q=1}else v=31}if((v|0)==31){Xr(b,0)|0;q=0;i=b+56|0}n=b+304|0;o=b+72|0;t=x+28|0;r=x+20|0;p=t;u=0;m=0;s=0;a:while(1){do if(!q){k=t+(c[r>>2]|0)|0;f=t+s|0;e=c[(c[w>>2]|0)+8>>2]|0;g=e+28|0;l=c[e+20>>2]|0;gs(e)|0;k=k+(0-l)|0;b:do if(!l){e=f;do{e=e+1|0;if(e>>>0>=k>>>0){y=1;break a}}while((a[e>>0]&-64)<<24>>24==-128)}else{if(f>>>0>k>>>0){y=m;break a}else e=f;while(1){if(!(f3(e,g,l)|0))break b;e=e+1|0;if(e>>>0>k>>>0){y=m;break a}}}while(0);g=e-p|0;e=g+l|0;if((s|0)==(e|0)){l=u;m=1;s=s+1|0;u=l;continue a}else{k=e;e=g}}else{e=c[z>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0){v=35;break a}f=c[w>>2]|0;if((e|0)==(f|0)){v=37;break a}c[z>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[e>>2]&8|0){l=(c[e+8>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}e=c[z>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0){v=41;break a}f=c[w>>2]|0;if(e-f>>4>>>0<=2){v=43;break a}l=f+32|0;c[z>>2]=e+16;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];if(c[e>>2]&8|0){l=(c[e+8>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}my(b,1);g=c[z>>2]|0;e=c[w>>2]|0;k=g-e|0;f=k>>4;l=f+-1|0;B=f|0?e+(l<<4)|0:0;if((c[((B|0)==0?368:B)>>2]|0)!=9){v=47;break a}if(!f){v=53;break a}e=c[(c[n>>2]|0)+196>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){v=55;break a}c[z>>2]=g+16;c[g>>2]=8;c[g+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[w>>2]|0;g=(c[z>>2]|0)-f>>4;e=((k|0)<16?g:0)+l|0;if(e>>>0>=g>>>0){v=57;break a}Kr(b,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[w>>2]|0;g=(c[z>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1){v=59;break a}l=f+(e<<4)|0;m=f+(g+-1<<4)|0;B=c[l>>2]|0;f=c[f+(e<<4)+8>>2]|0;t6(l|0,l+16|0,m-l|0)|0;c[m>>2]=2;e=(c[z>>2]|0)+-16|0;c[z>>2]=e;if((B&8|0)!=0?(m=f+4|0,B=(c[m>>2]|0)+-1|0,c[m>>2]=B,(B|0)==0):0){qr(c[A>>2]|0,f);e=c[z>>2]|0}B=c[w>>2]|0;e=e-B>>4;e=e|0?B+(e+-1<<4)|0:0;e=(e|0)==0?368:e;do if(!(c[e>>2]|0)){j=+h[e+8>>3];if(j<0.0|(K4(j)|0)==0){f=0;break}if(j>4294967295.0){f=-1;break}f=~~j>>>0}else f=0;while(0);m=vt(b,x,f)|0;e=c[z>>2]|0;if((e|0)==(c[w>>2]|0)){v=68;break a}l=e+-16|0;c[z>>2]=l;B=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[l>>2]=2;do if(B&8|0){l=e+4|0;B=(c[l>>2]|0)+-1|0;c[l>>2]=B;if(B|0)break;qr(c[A>>2]|0,e)}while(0);if((f|0)==(gs(x)|0)){v=73;break a}B=c[z>>2]|0;e=B;if((B|0)==(c[w>>2]|0)){v=79;break a}f=c[(c[n>>2]|0)+188>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0){v=81;break a}c[z>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;e=f+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[w>>2]|0;f=(c[z>>2]|0)-e>>4;if(!f){v=83;break a}Kr(b,e,e+(f+-1<<4)|0)|0;f=c[w>>2]|0;g=(c[z>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1){v=85;break a}k=f+(e<<4)|0;l=f+(g+-1<<4)|0;B=c[k>>2]|0;f=c[f+(e<<4)+8>>2]|0;t6(k|0,k+16|0,l-k|0)|0;c[l>>2]=2;e=(c[z>>2]|0)+-16|0;c[z>>2]=e;do if(B&8){l=f+4|0;B=(c[l>>2]|0)+-1|0;c[l>>2]=B;if(B|0)break;qr(c[A>>2]|0,f);e=c[z>>2]|0}while(0);B=c[w>>2]|0;e=e-B>>4;e=e|0?B+(e+-1<<4)|0:0;e=(e|0)==0?368:e;do if(!(c[e>>2]|0)){j=+h[e+8>>3];if(j<0.0|(K4(j)|0)==0){l=0;break}if(j>4294967295.0){l=-1;break}l=~~j>>>0}else l=0;while(0);f=vt(b,x,l)|0;e=c[z>>2]|0;if((e|0)==(c[w>>2]|0)){v=94;break a}k=e+-16|0;c[z>>2]=k;B=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[k>>2]=2;do if(B&8|0){k=e+4|0;B=(c[k>>2]|0)+-1|0;c[k>>2]=B;if(B|0)break;qr(c[A>>2]|0,e)}while(0);if((s|0)!=(f|0)){k=f;e=m;f=t+s|0;break}f=c[z>>2]|0;g=c[i>>2]|0;if(f>>>0>=g>>>0){v=101;break a}k=f+16|0;c[z>>2]=k;c[f>>2]=0;h[f+8>>3]=+((l+1|0)>>>0);if((k|0)==(c[w>>2]|0)){v=103;break a}e=c[(c[n>>2]|0)+188>>2]|0;if(k>>>0>=g>>>0){v=105;break a}c[z>>2]=f+32;c[k>>2]=8;c[f+24>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[w>>2]|0;k=(c[z>>2]|0)-g>>4;if(!k){v=107;break a}if((k|0)==1){v=109;break a}f=k+-2|0;e=c[o>>2]|0;if(!e)e=1;else e=c[e+52>>2]&1;es(b,g,g+(k+-1<<4)|0,c[g+(f<<4)>>2]|0,c[g+(f<<4)+4>>2]|0,+h[g+(f<<4)+8>>3],e)|0;Nt(b);e=c[z>>2]|0;if((e|0)==(c[w>>2]|0)){v=113;break a}m=e+-16|0;c[z>>2]=m;B=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[m>>2]=2;if(!(B&8)){l=s;B=u;m=1;s=l;u=B;continue a}m=e+4|0;B=(c[m>>2]|0)+-1|0;c[m>>2]=B;if(B|0){l=s;B=u;m=1;s=l;u=B;continue a}qr(c[A>>2]|0,e);l=s;B=u;m=1;s=l;u=B;continue a}while(0);if((c[z>>2]|0)>>>0>=(c[i>>2]|0)>>>0){v=125;break}e=(f|0)==0?0:e-s|0;if((e|0)<0){v=127;break}f=fs(b,f,e)|0;B=c[z>>2]|0;c[z>>2]=B+16;c[B>>2]=8;c[B+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;Ft(b,3,u);f=u+1|0;if(f>>>0>=d>>>0){v=144;break}if(!q){u=f;m=1;s=k;continue}g=Ur(b,4)|0;if(g>>>0>1){e=1;do{et(b,4,e)|0;Ft(b,3,f);f=f+1|0;e=e+1|0;if(f>>>0>=d>>>0){v=144;break a}}while(e>>>0<g>>>0)}e=c[z>>2]|0;if((e|0)==(c[w>>2]|0)){v=134;break}u=e+-16|0;c[z>>2]=u;B=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[u>>2]=2;if(!(B&8)){u=f;m=1;s=k;continue}u=e+4|0;B=(c[u>>2]|0)+-1|0;c[u>>2]=B;if(B|0){u=f;m=1;s=k;continue}qr(c[A>>2]|0,e);u=f;m=1;s=k}switch(v|0){case 35:{mr(b,1093);break}case 37:{Cr(b,376,0);break}case 41:{mr(b,1093);break}case 43:{Cr(b,376,2);break}case 47:{if((g|0)==(e|0))br(b,342583,50337407,342599);y=g+-16|0;c[z>>2]=y;B=c[g+-16>>2]|0;d=c[g+-8>>2]|0;c[y>>2]=2;if((B&8|0)!=0?(y=d+4|0,B=(c[y>>2]|0)+-1|0,c[y>>2]=B,(B|0)==0):0){qr(c[A>>2]|0,d);y=m}else y=m;break}case 53:{Cr(b,300,-1);break}case 55:{mr(b,4153);break}case 57:{Cr(b,376,l);break}case 59:{Cr(b,376,-2);break}case 68:{br(b,342583,50337407,342599);break}case 73:{d=c[z>>2]|0;if((d|0)==(c[w>>2]|0))br(b,342583,50337407,342599);y=d+-16|0;c[z>>2]=y;B=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[y>>2]=2;if((B&8|0)!=0?(y=d+4|0,B=(c[y>>2]|0)+-1|0,c[y>>2]=B,(B|0)==0):0){qr(c[A>>2]|0,d);y=1}else y=1;break}case 79:{Cr(b,300,0);break}case 81:{mr(b,4153);break}case 83:{Cr(b,376,0);break}case 85:{Cr(b,376,-2);break}case 94:{br(b,342583,50337407,342599);break}case 101:{mr(b,4274);break}case 103:{Cr(b,300,0);break}case 105:{mr(b,4153);break}case 107:{Cr(b,376,0);break}case 109:{Cr(b,376,-2);break}case 113:{br(b,342583,50337407,342599);break}case 125:{mr(b,4300);break}case 127:{br(b,342583,50335961,342945);break}case 134:{br(b,342583,50337407,342599);break}case 144:{if(!q)return 1;d=c[z>>2]|0;if((d|0)==(c[w>>2]|0))br(b,342583,50337407,342599);b=d+-16|0;c[z>>2]=b;B=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if(!(B&8))return 1;b=d+4|0;B=(c[b>>2]|0)+-1|0;c[b>>2]=B;if(B|0)return 1;qr(c[A>>2]|0,d);return 1}}d=c[r>>2]|0;if((y|0)!=0&(d|0)==0)return 1;e=t+s|0;if((c[z>>2]|0)>>>0>=(c[i>>2]|0)>>>0)mr(b,4300);d=(e|0)==0?0:d-s|0;if((d|0)<0)br(b,342583,50335961,342945);B=fs(b,e,d)|0;A=c[z>>2]|0;c[z>>2]=A+16;c[A>>2]=8;c[A+8>>2]=B;B=B+4|0;c[B>>2]=(c[B>>2]|0)+1;Ft(b,3,u);return 1}function Kx(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;i=o;m=ly(a)|0;n=a+68|0;d=a+64|0;k=c[d>>2]|0;k=(c[n>>2]|0)!=(k|0)?k:0;k=(k|0)==0?368:k;if((c[k>>2]|0)==9?(c[c[k+8>>2]>>2]&-134217728|0)==1476395008:0)nr(a,352588,30);Xr(a,0)|0;j=c[n>>2]|0;f=c[d>>2]|0;g=f;d=(j|0)!=(g|0)?f:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)k=c[d+8>>2]|0;else k=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){d=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)d=b[e+46>>1]|0;else d=0}else d=0;while(0);e=m+28|0;h=c[k+20>>2]|0;j=j-g>>4>>>0>1?f+16|0:0;if((c[((j|0)==0?368:j)>>2]|0)==2)if(!d){d=e;f=16}else{d=e+((c[m+20>>2]|0)-h)|0;f=15}else{f=Ot(a,1,0,gs(m)|0,i)|0;d=((d|0)==0?e:e+(0-h)|0)+(vt(a,m,f)|0)|0;f=15}if((f|0)==15)if(d>>>0<e>>>0)e=0;else f=16;if((f|0)==16)if((h-e+d|0)>>>0>(c[m+20>>2]|0)>>>0)e=0;else e=(f3(d,k+28|0,h)|0)==0&1;d=c[n>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[n>>2]=d+16;c[d>>2]=4;c[d+8>>2]=e;l=o;return 1}else mr(a,4185);return 0}function Lx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h;g=a+68|0;d=c[g>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[g>>2]=d+16;e=a+64|0;if(c[a+72>>2]|0?(b=c[e>>2]|0,i=b+-16|0,c[d>>2]=c[i>>2],c[d+4>>2]=c[i+4>>2],c[d+8>>2]=c[i+8>>2],c[d+12>>2]=c[i+12>>2],c[i>>2]&8|0):0){i=(c[b+-8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}Xr(a,-1)|0;i=c[e>>2]|0;b=(c[g>>2]|0)-i>>4;b=b|0?i+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)b=c[b+8>>2]|0;else b=0;d=gs(b)|0;b=Ot(a,0,0-d|0,d,f)|0;b=((b|0)<0?d:0)+b|0;i=c[e>>2]|0;i=(c[g>>2]|0)-i>>4>>>0>1?i+16|0:0;if((c[((i|0)==0?368:i)>>2]|0)==2){i=d;yt(a,b,i);l=h;return 1}i=(Ot(a,1,0,d-b|0,f)|0)+b|0;yt(a,b,i);l=h;return 1}function Mx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;b=gs(ly(a)|0)|0;e=Ot(a,0,0,b,d)|0;g=c[a+64>>2]|0;g=(c[a+68>>2]|0)-g>>4>>>0>1?g+16|0:0;if((c[((g|0)==0?368:g)>>2]|0)!=2)b=Ot(a,1,0,b,d)|0;g=(e|0)>(b|0);yt(a,g?b:e,g?e:b);l=f;return 1}function Nx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+68|0;e=c[l>>2]|0;j=a+56|0;if(e>>>0>=(c[j>>2]|0)>>>0)mr(a,4361);c[l>>2]=e+16;k=a+64|0;if(c[a+72>>2]|0?(b=c[k>>2]|0,i=b+-16|0,c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],c[i>>2]&8|0):0){i=(c[b+-8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}b=c[l>>2]|0;f=c[k>>2]|0;i=b-f|0;e=i>>4;if(!e)Cr(a,376,-1);h=e+-1|0;switch(c[f+(h<<4)>>2]|0){case 8:{d=b;break}case 9:{g=9;break}default:nr(a,352588,258)}if((g|0)==9){if((c[c[f+(h<<4)+8>>2]>>2]&-134217728|0)!=1610612736)nr(a,352588,258);d=c[(c[a+304>>2]|0)+404>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[l>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[k>>2]|0;e=(c[l>>2]|0)-d>>4;b=((i|0)<16?e:0)+h|0;if(b>>>0>=e>>>0)Cr(a,376,h);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[k>>2]|0;e=(c[l>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);h=d+(b<<4)|0;i=d+(e+-1<<4)|0;j=c[h>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(h|0,h+16|0,i-h|0)|0;c[i>>2]=2;d=(c[l>>2]|0)+-16|0;c[l>>2]=d;if((j&8|0)!=0?(i=b+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,b);d=c[l>>2]|0}}l=c[k>>2]|0;b=d-l>>4;b=b|0?l+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8)ar(a,2113,-1,361511);b=c[b+8>>2]|0;if(!b)ar(a,2113,-1,361511);if(!(c[b>>2]&512))return 1;else ar(a,2113,-1,361511);return 0}function Ox(a){a=a|0;ly(a)|0;xt(a,0);return 1}function Px(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;i=b+72|0;d=c[i>>2]|0;if(!d)br(b,342568,100663686,352400);if(!(c[d+52>>2]&4))br(b,342568,100663686,352400);k=b+68|0;e=c[k>>2]|0;h=b+64|0;d=c[h>>2]|0;g=(e|0)!=(d|0)?d:0;if((c[((g|0)==0?368:g)>>2]|0)!=2){Xr(b,0)|0;d=c[h>>2]|0;e=c[k>>2]|0}g=e-d>>4>>>0>1?d+16|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){if(!(iy(b,1,352572)|0))d=0;else d=is(b,-1)|0;if(!(iy(b,1,352578)|0)){g=0;f=d}else{g=(is(b,-1)|0)&255;f=d}}else{g=0;f=0}d=c[k>>2]|0;e=b+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(b,4361);c[k>>2]=d+16;if(c[i>>2]|0?(j=c[h>>2]|0,i=j+-16|0,c[d>>2]=c[i>>2],c[d+4>>2]=c[i+4>>2],c[d+8>>2]=c[i+8>>2],c[d+12>>2]=c[i+12>>2],c[i>>2]&8|0):0){j=(c[j+-8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)>>>0>=(c[e>>2]|0)>>>0)mr(b,5237);d=ts(c[b+44>>2]|0,12,0,m)|0;if(!d)er(b,342583,5246);else{j=c[k>>2]|0;c[j>>2]=10;c[j+8>>2]=d;j=d+4|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+16;m=c[m>>2]|0;a[m+8>>0]=f;a[m+9>>0]=g;c[m>>2]=0;a[m+4>>0]=-65;a[m+5>>0]=-128;a[m+6>>0]=0;a[m+7>>0]=0;ky(b,352536);l=n;return 0}return 0}function Qx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+68|0;f=c[d>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[d>>2]=f+16;b=a+64|0;if(c[a+72>>2]|0?(e=c[b>>2]|0,g=e+-16|0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],c[g>>2]&8|0):0){g=(c[e+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}iy(a,-1,352536)|0;g=c[b>>2]|0;b=(c[d>>2]|0)-g>>4;b=b|0?g+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=10)ar(a,1919,-1,342479);b=c[b+8>>2]|0;if(!(c[b>>2]&128)){g=b+24|0;jy(a,g);return 1}else{g=c[b+20>>2]|0;jy(a,g);return 1}return 0}function Rx(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=d+68|0;g=c[j>>2]|0;k=d+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(d,4361);c[j>>2]=g+16;i=d+72|0;e=d+64|0;if(c[i>>2]|0?(f=c[e>>2]|0,h=f+-16|0,c[g>>2]=c[h>>2],c[g+4>>2]=c[h+4>>2],c[g+8>>2]=c[h+8>>2],c[g+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[f+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}iy(d,-1,352536)|0;h=c[j>>2]|0;g=c[e>>2]|0;e=h-g>>4;e=e|0?g+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=10)ar(d,1919,-1,342479);e=c[e+8>>2]|0;if(!(c[e>>2]&128))g=e+24|0;else g=c[e+20>>2]|0;e=c[i>>2]|0;a:do if(e|0){f=c[e+16>>2]|0;if(!f)e=(c[e+4>>2]|0)>>>8<<24>>24;else{if(!(c[f>>2]&4096))break;e=b[f+46>>1]|0}switch(e|0){case 0:break a;case 1:{if(h>>>0>=(c[k>>2]|0)>>>0)mr(d,4185);k=(a[g+8>>0]|0)!=0&1;c[j>>2]=h+16;c[h>>2]=4;c[h+8>>2]=k;return 1}default:{if(h>>>0>=(c[k>>2]|0)>>>0)mr(d,4185);k=(a[g+9>>0]|0)!=0&1;c[j>>2]=h+16;c[h>>2]=4;c[h+8>>2]=k;return 1}}}while(0);if(h>>>0>=(c[k>>2]|0)>>>0)mr(d,4300);k=fs(d,352512,5)|0;d=c[j>>2]|0;c[j>>2]=d+16;c[d>>2]=8;c[d+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;return 1}function Sx(a){a=a|0;var b=0;b=c[a+72>>2]|0;if(b|0?c[b+52>>2]&4|0:0)return 0;br(a,342568,100663686,352400);return 0}function Tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;f=t+4|0;q=t;r=b+68|0;d=c[r>>2]|0;s=b+64|0;o=c[s>>2]|0;o=(d|0)!=(o|0)?o:0;do if((c[((o|0)==0?368:o)>>2]|0)!=2){Xr(b,0)|0;d=c[s>>2]|0;d=(c[r>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)d=c[d+8>>2]|0;else d=0;d=gs(d)|0;if(d>>>0>715827881)br(b,352518,100663669,343189);else{g=d;e=c[r>>2]|0;break}}else{g=0;e=d}while(0);if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);d=ts(c[b+44>>2]|0,g*3|0,1,f)|0;if(!d)er(b,342583,5246);o=c[r>>2]|0;c[o>>2]=10;c[o+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[r>>2]|0)+16|0;c[r>>2]=d;o=c[f>>2]|0;if(!g){s=0;st(b,s);l=t;return 1}c[q>>2]=o;n=c[s>>2]|0;d=(d|0)!=(n|0)?n:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8)ar(b,2101,0,361511);d=c[d+8>>2]|0;if(!d)ar(b,2101,0,361511);n=d+28|0;m=n+(c[d+20>>2]|0)|0;do if(n>>>0<m>>>0){e=n;i=0;a:while(1){if(e>>>0<n>>>0){j=35;break}g=e+1|0;d=a[e>>0]|0;e=d&255;do if(d<<24>>24<=-1){if((d&255)<192){j=35;break a}if((d&255)<224){f=1;d=e&31;break}if((d&255)<240){f=2;d=e&15;break}if((d&255)<248){f=3;d=e&7;break}if((d&255)<252){f=4;d=e&3;break}if((d&255)>=254)if(d<<24>>24==-1){j=35;break a}else{f=6;d=0;break}else{f=5;d=e&1;break}}else{f=0;d=e&127}while(0);if((g+f|0)>>>0>m>>>0){j=35;break}if(f){e=g;while(1){k=e;e=e+1|0;d=a[k>>0]&63|d<<6;if((f|0)<=1)break;else f=f+-1|0}if((d|0)>=128)if((d|0)>1114111){d=e;j=48}else j=40;else j=37}else{e=g;j=37}if((j|0)==37){j=0;if(!i){k=c[q>>2]|0;c[q>>2]=k+1;a[k>>0]=d;d=0}else j=40}b:do if((j|0)==40){j=0;do if((d&-2048|0)==55296){f=(i|0)==0;if((d|0)<56320){if(f)break b;h=65533;f=3;g=c[q>>2]|0;j=54;break b}else{if(f){d=e;j=48;break b}d=d+-56613888+(i<<10)|0;break}}else if(i){k=c[q>>2]|0;a[k>>0]=-17;a[k+1>>0]=-65;a[k+2>>0]=-67;c[q>>2]=k+3}while(0);g=c[q>>2]|0;if(d>>>0>=128)if(d>>>0>=2048)if(d>>>0>=65536)if(d>>>0>=2097152)if(d>>>0<67108864){h=d;f=5;d=0;j=54}else{h=d;f=d>>>31|6;i=0;k=g;j=55}else{h=d;f=4;d=0;j=54}else{h=d;f=3;d=0;j=54}else{h=d;f=2;d=0;j=54}else{i=0;h=0;f=1;j=57}}while(0);if((j|0)==48){e=d;h=65533;f=3;d=i;g=c[q>>2]|0;j=54}if((j|0)==54){i=d;k=g;j=55}if((j|0)==55){j=a[343316+(f+-1)>>0]|0;d=h;g=f;do{g=g+-1|0;a[k+g>>0]=d&63|128;d=d>>>6}while((g|0)>1);h=j;g=k;j=57}if((j|0)==57){a[g>>0]=d+(h&255);c[q>>2]=(c[q>>2]|0)+f;d=i}if(e>>>0<m>>>0)i=d;else{j=59;break}}if((j|0)==35)Dr(b,343968,282);else if((j|0)==59){if(!d){j=60;break}p=c[q>>2]|0;a[p>>0]=-17;a[p+1>>0]=-65;a[p+2>>0]=-67;p=p+3|0;c[q>>2]=p;break}}else j=60;while(0);if((j|0)==60)p=c[q>>2]|0;e=p-o|0;s=c[s>>2]|0;d=(c[r>>2]|0)-s>>4;d=d|0?s+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=10)ar(b,2147,-1,342479);d=c[d+8>>2]|0;if(!d)ar(b,2147,-1,342479);if((c[d>>2]&384|0)!=128)br(b,342486,100663312,342503);cr(b,d,e);s=e;st(b,s);l=t;return 1}function Ux(a){a=a|0;var b=0,d=0;b=a+68|0;if((c[b>>2]|0)>>>0<(c[a+56>>2]|0)>>>0){a=fs(a,352512,5)|0;d=c[b>>2]|0;c[b>>2]=d+16;c[d>>2]=8;c[d+8>>2]=a;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return 1}else mr(a,4300);return 0}function Vx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+68|0;f=c[k>>2]|0;e=b+64|0;g=c[e>>2]|0;d=(f|0)!=(g|0)?g:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{d=c[d+8>>2]|0;if(!d)ar(b,2416,0,342926);else{l=d;h=f;i=g}break}case 6:{Mr(b,0);i=c[e>>2]|0;l=c[i+8>>2]|0;h=c[k>>2]|0;break}default:ar(b,2416,0,342926)}e=h;d=(h|0)!=(i|0)?i:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{j=6;break}case 6:break;default:ar(b,2285,0,361148)}if((j|0)==6?(c[c[d+8>>2]>>2]&512|0)==0:0)ar(b,2285,0,361148);if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4729);d=b+44|0;e=c[d>>2]|0;i=Ru(e,308)|0;if(!i)er(b,352492,216);f=i+4|0;u6(f|0,0,304)|0;c[i>>2]=-1879048063;g=e+24|0;h=c[g>>2]|0;if(h|0)c[h+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=h;c[g>>2]=i;c[i+44>>2]=e;a[i+49>>0]=1;c[i+304>>2]=c[b+304>>2];e=c[k>>2]|0;c[e>>2]=9;c[e+8>>2]=i;c[f>>2]=1;c[k>>2]=(c[k>>2]|0)+16;d=c[d>>2]|0;e=Ru(d,1536)|0;f=i+52|0;c[f>>2]=e;if(!e){li[c[d+12>>2]&511](c[d+16>>2]|0,0);c[f>>2]=0;er(b,342583,4756)}u6(e|0,0,1536)|0;e=c[f>>2]|0;c[i+56>>2]=e+1024;c[i+60>>2]=e+1536;d=e;c[i+64>>2]=d;c[i+68>>2]=d;d=0;do{c[e+(d<<4)>>2]=2;d=d+1|0}while((d|0)!=96);d=0;do{e=c[b+100+(d<<2)>>2]|0;c[i+100+(d<<2)>>2]=e;if(e|0){j=e+4|0;c[j>>2]=(c[j>>2]|0)+1}d=d+1|0}while((d|0)!=51);d=c[i+240>>2]|0;c[i+20>>2]=d;if(d|0){b=d+4|0;c[b>>2]=(c[b>>2]|0)+1}d=c[(c[k>>2]|0)+-8>>2]|0;a[d+49>>0]=1;e=d+68|0;f=c[e>>2]|0;if(f>>>0<(c[d+56>>2]|0)>>>0){c[e>>2]=f+16;c[f>>2]=9;c[f+8>>2]=l;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;return 1}else mr(d,4153);return 0}function Wx(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+44>>2]|0)+132>>2]|0;e=a+68|0;f=c[e>>2]|0;b=f>>>0<(c[a+56>>2]|0)>>>0;if(!d){if(!b)mr(a,4162);c[e>>2]=f+16;return 1}else{if(!b)mr(a,4153);c[e>>2]=f+16;c[f>>2]=9;c[f+8>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;return 1}return 0}function Xx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b+68|0;j=b+64|0;d=c[j>>2]|0;d=(c[i>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(b,2171,0,355298);d=c[d+8>>2]|0;if(!d)ar(b,2171,0,355298);if((c[d>>2]&-134217728|0)!=-1879048192)ar(b,2171,0,355298);k=is(b,2)|0;Zs(b,2);if((c[b+76>>2]|0)>>>0<2)hy(b,187);if(!(c[c[(c[(c[b+72>>2]|0)+20>>2]|0)+16>>2]>>2]&2048))hy(b,187);switch(a[d+49>>0]|0){case 4:break;case 1:{e=8;break}default:hy(b,187)}if((e|0)==8){if(c[d+76>>2]|0)hy(b,187);f=c[d+68>>2]|0;if((f-(c[d+52>>2]|0)|0)!=16)hy(b,187);d=f+-16|0;e=c[i>>2]|0;g=b+56|0;if(e>>>0>=(c[g>>2]|0)>>>0)mr(b,4153);c[i>>2]=e+16;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){f=(c[f+-8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}e=c[i>>2]|0;d=e;if((c[e+-16>>2]|0)==9?(h=c[e+-8>>2]|0,(c[h>>2]&1024|0)!=0):0){d=h+40|0;if(e>>>0>=(c[g>>2]|0)>>>0)mr(b,4153);c[i>>2]=e+16;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){h=(c[h+48>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}e=c[j>>2]|0;f=(c[i>>2]|0)-e>>4;if(!f)Cr(b,376,-1);g=e+(f+-1<<4)|0;d=f+-2|0;if((f|0)==1)Cr(b,376,-2);f=e+(d<<4)|0;h=c[f>>2]|0;e=c[e+(d<<4)+8>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=2;d=(c[i>>2]|0)+-16|0;c[i>>2]=d;f=d;if((h&8|0)!=0?(g=e+4|0,h=(c[g>>2]|0)+-1|0,c[g>>2]=h,(h|0)==0):0){qr(c[b+44>>2]|0,e);d=c[i>>2]|0;e=d}else{e=d;d=f}}f=c[j>>2]|0;d=d-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(b,2130,-1,342926);d=c[d+8>>2]|0;if(!d)ar(b,2130,-1,342926);if((c[d>>2]&2560|0)!=2560)hy(b,187);if((e|0)==(f|0))br(b,342583,50337407,342599);h=e+-16|0;c[i>>2]=h;i=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[h>>2]=2;if(i&8|0?(h=d+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0)qr(c[b+44>>2]|0,d)}if(k|0)as(b,105);h=b+44|0;d=c[h>>2]|0;c[d+84>>2]=3;e=d+112|0;f=c[j>>2]|0;if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}if(c[e>>2]&8){d=c[d+120>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];g=d+4|0;i=(c[g>>2]|0)+-1|0;c[g>>2]=i;if(!i)qr(c[h>>2]|0,d)}else{c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2]}e=c[h>>2]|0;g=e+96|0;d=c[j>>2]|0;f=d+16|0;if(c[f>>2]&8|0){j=(c[d+24>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}if(!(c[g>>2]&8)){c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];j=c[h>>2]|0;j=j+88|0;c[j>>2]=k;xs(b)}d=c[e+104>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];i=d+4|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(j|0){j=c[h>>2]|0;j=j+88|0;c[j>>2]=k;xs(b)}qr(c[h>>2]|0,d);j=c[h>>2]|0;j=j+88|0;c[j>>2]=k;xs(b);return 0}function Yx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=is(a,1)|0;Zs(a,1);if(!(c[a+84>>2]|0))hy(a,303);if((c[a+76>>2]|0)>>>0<2)hy(a,303);if(!(c[c[(c[(c[a+72>>2]|0)+20>>2]|0)+16>>2]>>2]&2048))hy(a,303);if((c[a+80>>2]|0)!=1)hy(a,303);if(d|0)as(a,105);e=a+44|0;b=c[e>>2]|0;c[b+84>>2]=2;f=b+96|0;g=c[a+64>>2]|0;if(c[g>>2]&8|0){h=(c[g+8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}if(!(c[f>>2]&8)){c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];h=c[e>>2]|0;h=h+88|0;c[h>>2]=d;xs(a)}b=c[b+104>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=b+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0){h=c[e>>2]|0;h=h+88|0;c[h>>2]=d;xs(a)}qr(c[e>>2]|0,b);h=c[e>>2]|0;h=h+88|0;c[h>>2]=d;xs(a);return 0}function Zx(a){a=a|0;nr(a,352445,8);return 0}function _x(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[a+64>>2]|0;a:do switch(c[b+-16>>2]|0){case 9:{b=c[b+-8>>2]|0;if(!(c[b>>2]&8192))br(a,352373,100663473,352389);else{k=b;break a}break}case 10:{k=c[b+-8>>2]|0;break}default:br(a,352373,100663473,352389)}while(0);b=c[k>>2]|0;if((b&3|0)==2){e=a+68|0;if((c[e>>2]|0)>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4988);f=Or(a,60)|0;b=c[a+44>>2]|0;c[f>>2]=-1744822143;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=d;c[b>>2]=f;b=c[a+256>>2]|0;c[f+20>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}a=c[e>>2]|0;c[a>>2]=9;c[a+8>>2]=f;a=f+4|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+16;c[f+40>>2]=k;a=k+4|0;c[a>>2]=(c[a>>2]|0)+1;c[f+52>>2]=c[k+16>>2];a=1;return a|0}j=k+44|0;e=c[j>>2]|0;if(!e){if((b&-134217728|0)==-1744830464){a=0;return a|0}i=c[k+40>>2]|0;if(!i){a=0;return a|0}f=a+68|0;g=a+56|0;if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(a,4988);b=Or(a,60)|0;d=c[a+44>>2]|0;c[b>>2]=-1744822143;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[b+12>>2]=0;c[b+8>>2]=e;c[d>>2]=b;d=c[a+256>>2]|0;c[b+20>>2]=d;if(d|0){h=d+4|0;c[h>>2]=(c[h>>2]|0)+1}e=c[f>>2]|0;c[e>>2]=9;c[e+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;d=(c[f>>2]|0)+16|0;c[f>>2]=d;c[b+40>>2]=i;h=i+4|0;c[h>>2]=(c[h>>2]|0)+1;h=b+52|0;c[h>>2]=c[i+16>>2];i=c[j>>2]|0;if(!i){c[b+48>>2]=0;c[h>>2]=(c[k+52>>2]|0)+(c[k+48>>2]|0);c[j>>2]=b;c[e>>2]=(c[e>>2]|0)+1}else b=i}else{d=a+68|0;g=a+56|0;f=d;d=c[d>>2]|0;b=e}if(d>>>0>=(c[g>>2]|0)>>>0)mr(a,4153);c[f>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=1;return a|0}function $x(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;b=c[a+64>>2]|0;a:do switch(c[b+-16>>2]|0){case 9:{b=c[b+-8>>2]|0;if(!(c[b>>2]&8192))br(a,352373,100663473,352389);else{e=b;break a}break}case 10:{e=c[b+-8>>2]|0;break}default:br(a,352373,100663473,352389)}while(0);if((c[e>>2]&3|0)==2){b=a+68|0;d=c[b>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){f=b;g=d;i=e+16|0}else mr(a,4274)}else{b=a+68|0;d=c[b>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){f=b;g=d;i=e+52|0}else mr(a,4274)}j=+((c[i>>2]|0)>>>0);c[f>>2]=g+16;c[g>>2]=0;h[g+8>>3]=j;return 1}function ay(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=c[a+64>>2]|0;a:do switch(c[b+-16>>2]|0){case 9:{b=c[b+-8>>2]|0;if(!(c[b>>2]&8192))br(a,352373,100663473,352389);else{f=b;break a}break}case 10:{f=c[b+-8>>2]|0;break}default:br(a,352373,100663473,352389)}while(0);b=a+68|0;d=c[b>>2]|0;e=d>>>0<(c[a+56>>2]|0)>>>0;if((c[f>>2]&3|0)==2)if(e){g=0.0;a=d+16|0;c[b>>2]=a;c[d>>2]=0;a=d+8|0;h[a>>3]=g;return 1}else mr(a,4274);if(!e)mr(a,4274);g=+((c[f+48>>2]|0)>>>0);a=d+16|0;c[b>>2]=a;c[d>>2]=0;a=d+8|0;h[a>>3]=g;return 1}function by(f){f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+16|0;m=G;g=c[f+72>>2]|0;if(!g)br(f,342568,100663686,352400);if(!(c[g+52>>2]&4))br(f,342568,100663686,352400);i=c[g+16>>2]|0;if(i)if(!(c[i>>2]&4096))g=0;else g=b[i+46>>1]|0;else g=(c[g+4>>2]|0)>>>8<<24>>24;C=g&3;D=g>>>2&15;z=1<<C;n=z+-1|0;B=d[352427+D>>0]|0;y=d[352436+D>>0]|0;F=f+68|0;i=c[F>>2]|0;E=f+64|0;g=c[E>>2]|0;r=(i|0)!=(g|0)?g:0;if((c[((r|0)==0?368:r)>>2]|0)==10){Mr(f,0);g=c[E>>2]|0;i=c[F>>2]|0}g=(i|0)!=(g|0)?g:0;do if((c[g>>2]|0)!=9){nu(f,0);g=c[E>>2]|0;g=(c[F>>2]|0)!=(g|0)?g:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(q=+h[g+8>>3],(K4(q)|0)!=0):0)if(!(q<-2147483648.0))if(q>2147483647.0){A=0;x=2147483647;w=3;break}else{k=0;i=~~q;g=3;j=46;break}else br(f,352373,50332671,343797);else{A=0;x=0;w=3}}else{r=c[g+8>>2]|0;g=c[r>>2]|0;if((g&-134217728|0)!=-1744830464){if(!(g&8192)){k=0;i=Ur(f,0)|0;g=2;j=46;break}g=c[r+40>>2]|0;i=c[r+52>>2]|0;j=i>>>(d[r+56>>0]|0);if(!g)nr(f,352373,828);if(((c[r+48>>2]|0)+i|0)>>>0>(c[g+16>>2]|0)>>>0){k=r;i=j;g=2;j=46;break}k=r;i=j;g=(1<<d[r+57>>0]&e[37472+(D<<1)>>1]|0)==0&1;j=46;break}nu(f,1);k=c[F>>2]|0;i=c[E>>2]|0;j=k-i>>4;g=j>>>0>1?i+16|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(s=+h[g+8>>3],(K4(s)|0)!=0):0){if(s<-2147483648.0)br(f,352373,50332671,343797);g=~~s;if(!(s>2147483647.0))if((g|0)<0)br(f,352373,50332671,343797);else u=g;else u=2147483647}else u=0;m=r+52|0;g=c[m>>2]|0;if(!(g>>>0>=u>>>0&(u&n|0)==0))br(f,352373,50332671,343797);A=j>>>0>2?i+32|0:0;if((c[((A|0)==0?368:A)>>2]|0)==2){g=g-u|0;if(!(g&n)){v=g;p=k}else br(f,352373,50332671,343797)}else{nu(f,2);i=c[F>>2]|0;g=c[E>>2]|0;g=i-g>>4>>>0>2?g+32|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(t=+h[g+8>>3],(K4(t)|0)!=0):0){if(t<-2147483648.0)br(f,352373,50332671,343797);g=~~t;if(!(t>2147483647.0))if((g|0)<0)br(f,352373,50332671,343797);else o=g;else o=2147483647}else o=0;g=o<<C;if((g>>>C|0)!=(o|0))br(f,352373,50332671,343797);if(g>>>0>((c[m>>2]|0)-u|0)>>>0)br(f,352373,50332671,343797);else{v=g;p=i}}if(p>>>0>=(c[f+56>>2]|0)>>>0)mr(f,4988);j=Or(f,60)|0;g=c[f+44>>2]|0;c[j>>2]=y<<27|8321;g=g+24|0;i=c[g>>2]|0;if(i|0)c[i+12>>2]=j;c[j+12>>2]=0;c[j+8>>2]=i;c[g>>2]=j;g=c[f+100+(B<<2)>>2]|0;c[j+20>>2]=g;if(g|0){E=g+4|0;c[E>>2]=(c[E>>2]|0)+1}g=c[F>>2]|0;c[g>>2]=9;c[g+8>>2]=j;g=j+4|0;c[g>>2]=(c[g>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+16;g=c[r+40>>2]|0;if(!g)nr(f,352373,801);c[j+40>>2]=g;f=g+4|0;c[f>>2]=(c[f>>2]|0)+1;c[j+48>>2]=(c[r+48>>2]|0)+u;c[j+52>>2]=v;a[j+56>>0]=C;a[j+57>>0]=D;a[j+58>>0]=1;c[j+44>>2]=r;f=r+4|0;c[f>>2]=(c[f>>2]|0)+1;l=G;return 1}while(0);if((j|0)==46)if((i|0)<0)br(f,352373,50332671,343797);else{A=k;x=i;w=g}k=x<<C;if((k>>>C|0)!=(x|0))br(f,352373,50332671,343797);i=f+56|0;if((c[F>>2]|0)>>>0>=(c[i>>2]|0)>>>0)mr(f,5237);if(k>>>0>2147483646)br(f,342583,50336889,342539);r=f+44|0;g=ts(c[r>>2]|0,k,0,m)|0;if(!g)er(f,342583,5246);j=c[F>>2]|0;c[j>>2]=10;c[j+8>>2]=g;j=g+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[F>>2]|0;v=j+16|0;c[F>>2]=v;j=c[j+8>>2]|0;if(v>>>0>=(c[i>>2]|0)>>>0)mr(f,4988);p=Or(f,60)|0;g=c[r>>2]|0;c[p>>2]=y<<27|8321;g=g+24|0;i=c[g>>2]|0;if(i|0)c[i+12>>2]=p;c[p+12>>2]=0;c[p+8>>2]=i;c[g>>2]=p;g=c[f+100+(B<<2)>>2]|0;c[p+20>>2]=g;if(g|0){B=g+4|0;c[B>>2]=(c[B>>2]|0)+1}o=c[F>>2]|0;c[o>>2]=9;c[o+8>>2]=p;o=p+4|0;c[o>>2]=(c[o>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+16;c[p+40>>2]=j;o=j+4|0;c[o>>2]=(c[o>>2]|0)+1;c[p+52>>2]=k;a[p+56>>0]=C;o=p+57|0;a[o>>0]=D;a[p+58>>0]=1;switch(w&3){case 0:{if(!(c[j>>2]&128))i=j+24|0;else i=c[j+20>>2]|0;g=c[A+40>>2]|0;if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;s6(i+(c[p+48>>2]|0)|0,g+(c[A+48>>2]|0)|0,k|0)|0;l=G;return 1}case 1:{n=1<<d[A+56>>0];g=c[A+40>>2]|0;if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;i=g+(c[A+48>>2]|0)|0;if(!(c[j>>2]&128))g=j+24|0;else g=c[j+20>>2]|0;D=c[A+52>>2]|0;m=i+D|0;if(!D){l=G;return 1}k=A+57|0;j=g+(c[p+48>>2]|0)|0;while(1){wt(f,a[k>>0]|0,i,n);hs(f,a[o>>0]|0,j,z);g=c[F>>2]|0;if((g|0)==(c[E>>2]|0)){j=78;break}C=g+-16|0;c[F>>2]=C;D=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[C>>2]=2;do if(D&8|0){C=g+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[r>>2]|0,g)}while(0);i=i+n|0;if((i|0)==(m|0)){j=85;break}else j=j+z|0}if((j|0)==78)br(f,342583,50337407,342599);else if((j|0)==85){l=G;return 1}break}case 2:{if(!x){l=G;return 1}else g=0;do{et(f,0,g)|0;Ft(f,-2,g);g=g+1|0}while((g|0)!=(x|0));l=G;return 1}default:{l=G;return 1}}return 0}function cy(b){b=b|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+16|0;B=G;A=gy(b,3)|0;r=A+40|0;if(!(c[r>>2]|0)){l=G;return 0}E=b+68|0;f=c[E>>2]|0;F=b+64|0;i=c[F>>2]|0;z=(f|0)!=(i|0)?i:0;if((c[((z|0)==0?368:z)>>2]|0)==10){Mr(b,0);i=c[F>>2]|0;f=c[E>>2]|0}f=(f|0)!=(i|0)?i:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(b,2130,0,342926);x=c[f+8>>2]|0;if(!x)ar(b,2130,0,342926);nu(b,1);z=c[E>>2]|0;f=c[F>>2]|0;f=z-f>>4>>>0>1?f+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(o=+h[f+8>>3],(K4(o)|0)!=0):0){if(o<-2147483648.0)nr(b,352373,1611);f=~~o;if(!(o>2147483647.0))if((f|0)<0)nr(b,352373,1611);else k=f;else k=2147483647}else k=0;y=A+56|0;v=a[y>>0]|0;i=v&255;p=k<<i;if((p>>>i|0)!=(k|0))br(b,352373,50333486,343797);f=A+52|0;q=c[f>>2]|0;if(q>>>0<p>>>0)br(b,352373,50333486,343797);if(!(c[x>>2]&8192)){g=Ur(b,0)|0;if(g<<(d[y>>0]|0)>>>0>((c[f>>2]|0)-p|0)>>>0)br(b,352373,50333486,343797);f=c[E>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4361);c[E>>2]=f+16;if(c[b+72>>2]|0?(j=c[F>>2]|0,F=j+-16|0,c[f>>2]=c[F>>2],c[f+4>>2]=c[F+4>>2],c[f+8>>2]=c[F+8>>2],c[f+12>>2]=c[F+12>>2],c[F>>2]&8|0):0){F=(c[j+-8>>2]|0)+4|0;c[F>>2]=(c[F>>2]|0)+1}if(!g){l=G;return 0}else f=0;do{et(b,0,f)|0;Ft(b,2,f+k|0);f=f+1|0}while((f|0)!=(g|0));l=G;return 0}n=c[x+40>>2]|0;if(!n){l=G;return 0}w=c[x+52>>2]|0;u=x+56|0;s=a[u>>0]|0;m=w>>>(s&255);t=m<<i;if(t>>>0>(q-p|0)>>>0|(t>>>i|0)!=(m|0))br(b,352373,50333486,343797);m=c[A+48>>2]|0;i=c[r>>2]|0;j=c[i+16>>2]|0;if((t+p+m|0)>>>0>j>>>0){l=G;return 0}if(!(c[n>>2]&128))f=n+24|0;else f=c[n+20>>2]|0;k=c[x+48>>2]|0;r=f+k|0;if(!(c[i>>2]&128))f=i+24|0;else f=c[i+20>>2]|0;i=f+m+p|0;if((q+m|0)>>>0>j>>>0){l=G;return 0}if((w+k|0)>>>0>(c[n+16>>2]|0)>>>0){l=G;return 0}q=A+57|0;p=x+57|0;if(1<<(d[p>>0]|0)&(e[37472+((d[q>>0]|0)<<1)>>1]|0)|0){t6(i|0,r|0,t|0)|0;l=G;return 0}do if((r+w|0)>>>0>i>>>0&r>>>0<(i+t|0)>>>0){if(z>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(w>>>0>2147483646)br(b,342583,50336889,342539);f=ts(c[b+44>>2]|0,w,4,B)|0;if(!f)er(b,342583,5246);else{g=c[E>>2]|0;c[g>>2]=10;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+16;g=c[B>>2]|0;s6(g|0,r|0,w|0)|0;C=a[u>>0]|0;D=a[y>>0]|0;break}}else{g=r;C=s;D=v}while(0);n=1<<(C&255);k=1<<(D&255);m=g+w|0;if(!w){l=G;return 0}j=b+44|0;while(1){wt(b,a[p>>0]|0,g,n);hs(b,a[q>>0]|0,i,k);f=c[E>>2]|0;if((f|0)==(c[F>>2]|0)){f=40;break}C=f+-16|0;c[E>>2]=C;D=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[C>>2]=2;do if(D&8|0){C=f+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[j>>2]|0,f)}while(0);g=g+n|0;if((g|0)==(m|0)){f=54;break}else i=i+k|0}if((f|0)==40)br(b,342583,50337407,342599);else if((f|0)==54){l=G;return 0}return 0}function dy(a){a=a|0;fy(a)|0;return 1}function ey(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+68|0;g=c[h>>2]|0;b=a+64|0;d=c[b>>2]|0;e=(g|0)!=(d|0);j=e?d:0;if((c[((j|0)==0?368:j)>>2]|0)==10)return 1;if(!e)Cr(a,376,0);switch(c[d>>2]|0){case 9:{b=c[d+8>>2]|0;if(!(c[b>>2]&8192))br(a,352373,100663514,352389);else{f=b;i=g}break}case 10:{Mr(a,0);f=c[(c[b>>2]|0)+8>>2]|0;i=c[h>>2]|0;break}default:br(a,352373,100663514,352389)}b=c[f+40>>2]|0;d=i>>>0<(c[a+56>>2]|0)>>>0;if(!b){if(!d)mr(a,4162);c[h>>2]=i+16;return 1}else{if(!d)mr(a,4153);c[h>>2]=i+16;c[i>>2]=10;c[i+8>>2]=b;j=b+4|0;c[j>>2]=(c[j>>2]|0)+1;return 1}return 0}function fy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;f=p;o=b+68|0;i=c[o>>2]|0;n=b+64|0;g=c[n>>2]|0;h=g;d=(i|0)!=(h|0)?g:0;d=(d|0)==0?368:d;e=c[d>>2]|0;k=i;a:do switch(c[6920+(e<<2)>>2]|0){case 4:{d=Ot(b,0,0,2147483647,m)|0;if((c[o>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(d>>>0>2147483646)br(b,342583,50336889,342539);d=ts(c[b+44>>2]|0,d,0,m)|0;if(!d)er(b,342583,5246);else{b=c[o>>2]|0;c[b>>2]=10;c[b+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16;break a}break}case 7:{j=31;break}case 6:{f=c[g+8>>2]|0;if((c[f>>2]&-134217728|0)==-1744830464){d=f+40|0;e=c[d>>2]|0;if(!e)nr(b,352373,556);if(c[f+48>>2]|0)nr(b,352373,562);if((c[f+52>>2]|0)!=(c[e+16>>2]|0))nr(b,352373,562);if(k>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[o>>2]=k+16;c[k>>2]=10;c[k+8>>2]=e;o=e+4|0;c[o>>2]=(c[o>>2]|0)+1;o=d;o=c[o>>2]|0;l=p;return o|0}else j=31;break}case 5:{if((e|0)!=8)ar(b,2113,0,361511);d=c[d+8>>2]|0;if(!d)ar(b,2113,0,361511);if(c[d>>2]&512|0)ar(b,2113,0,361511);if(k>>>0>=(c[b+56>>2]|0)>>>0)mr(b,1093);if((k|0)==(g|0))Cr(b,376,0);c[o>>2]=k+16;n=i;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(c[k>>2]&8|0){n=(c[k+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}iu(b,f,2);break}default:nr(b,352373,577)}while(0);b:do if((j|0)==31){if((i|0)==(h|0))Cr(b,300,0);d=c[(c[b+304>>2]|0)+328>>2]|0;g=b+56|0;if(k>>>0>=(c[g>>2]|0)>>>0)mr(b,4153);c[o>>2]=k+16;c[k>>2]=8;c[k+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[n>>2]|0;e=(c[o>>2]|0)-d>>4;if(!e)Cr(b,376,0);Kr(b,d,d+(e+-1<<4)|0)|0;f=c[n>>2]|0;e=(c[o>>2]|0)-f>>4;d=e+-2|0;if(e>>>0<=1)Cr(b,376,-2);i=f+(d<<4)|0;j=f+(e+-1<<4)|0;k=c[i>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[o>>2]=(c[o>>2]|0)+-16;if(k&8|0?(j=d+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0)qr(c[b+44>>2]|0,d);h=Ot(b,-1,0,2147483647,m)|0;e=c[o>>2]|0;if((e|0)==(c[n>>2]|0))br(b,342583,50337407,342599);d=e+-16|0;c[o>>2]=d;k=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[d>>2]=2;if((k&8|0)!=0?(j=e+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[b+44>>2]|0,e);d=c[o>>2]|0}if(d>>>0>=(c[g>>2]|0)>>>0)mr(b,5237);if(h>>>0>2147483646)br(b,342583,50336889,342539);g=b+44|0;d=ts(c[g>>2]|0,h,4,m)|0;if(!d)er(b,342583,5246);f=c[o>>2]|0;c[f>>2]=10;c[f+8>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16;f=c[m>>2]|0;if((h|0)>0){e=0;while(1){et(b,0,e)|0;a[f+e>>0]=rt(b,-1)|0;d=c[o>>2]|0;if((d|0)==(c[n>>2]|0))break;k=d+-16|0;c[o>>2]=k;m=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[k>>2]=2;if(m&8|0?(k=d+4|0,m=(c[k>>2]|0)+-1|0,c[k>>2]=m,(m|0)==0):0)qr(c[g>>2]|0,d);e=e+1|0;if((e|0)>=(h|0))break b}br(b,342583,50337407,342599)}}while(0);o=(c[o>>2]|0)+-8|0;o=c[o>>2]|0;l=p;return o|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+64|0;e=c[g>>2]|0;switch(c[e+-16>>2]|0){case 9:{d=c[e+-8>>2]|0;if(c[d>>2]&8192|0){a=d;return a|0}break}case 10:{if(!(b&2)){a=c[e+-8>>2]|0;return a|0}f=a+68|0;d=c[f>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[f>>2]=d+16;if(c[a+72>>2]|0){b=e+-16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];e=(c[e+-8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}Mr(a,-1);b=c[(c[f>>2]|0)+-8>>2]|0;h=c[g>>2]|0;i=h+-16|0;e=c[i>>2]|0;h=h+-8|0;d=c[h>>2]|0;c[i>>2]=9;c[h>>2]=b;h=b+4|0;c[h>>2]=(c[h>>2]|0)+1;if(e&8|0?(h=d+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,d);d=c[f>>2]|0;if((d|0)==(c[g>>2]|0))br(a,342583,50337407,342599);h=d+-16|0;c[f>>2]=h;i=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[h>>2]=2;if(i&8|0?(h=d+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,d);i=b;return i|0}default:{}}if(!(b&1)){i=0;return i|0}else br(a,352373,100663473,352389);return 0}function hy(a,b){a=a|0;b=b|0;br(a,352462,b|100663296,352478)}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+68|0;g=a+64|0;e=(c[h>>2]|0)-(c[g>>2]|0)>>4;f=((b|0)<0?e:0)+b|0;if(f>>>0>=e>>>0)Cr(a,300,b);zs(a,d);d=c[g>>2]|0;e=(c[h>>2]|0)-d>>4;b=((f|0)<0?e:0)+f|0;if(b>>>0>=e>>>0)Cr(a,376,f);f=Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[g>>2]|0;e=(c[h>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;e=d+(e+-1<<4)|0;g=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,e-i|0)|0;c[e>>2]=2;c[h>>2]=(c[h>>2]|0)+-16;if(!(g&8))return f|0;h=b+4|0;i=(c[h>>2]|0)+-1|0;c[h>>2]=i;if(i|0)return f|0;qr(c[a+44>>2]|0,b);return f|0}function jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;o=A;z=b+68|0;h=c[z>>2]|0;p=b+64|0;w=c[p>>2]|0;w=(h|0)!=(w|0)?w:0;if((c[((w|0)==0?368:w)>>2]|0)==2){if(h>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);k=b+44|0;h=ts(c[k>>2]|0,0,4,o)|0;if(!h)er(b,342583,5246);j=c[z>>2]|0;c[j>>2]=10;c[j+8>>2]=h;h=h+4|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[z>>2]|0)+16|0;c[z>>2]=h;j=c[p>>2]|0;h=h-j>>4;if(!h)Cr(b,376,-1);h=j+(h+-1<<4)|0;w=c[j>>2]|0;i=c[j+8>>2]|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[h>>2]=2;h=(c[z>>2]|0)+-16|0;c[z>>2]=h;if((w&8|0)!=0?(v=i+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){qr(c[k>>2]|0,i);h=c[z>>2]|0}}m=c[p>>2]|0;n=m;i=(h|0)!=(n|0)?m:0;i=(i|0)==0?368:i;switch(c[i>>2]|0){case 10:{s=c[(c[i+8>>2]|0)+16>>2]|0;break}case 9:{i=c[i+8>>2]|0;if(!(c[i>>2]&8192))ar(b,2022,0,342479);j=c[i+40>>2]|0;if(!j)ar(b,2022,0,342479);k=c[i+52>>2]|0;if((k+(c[i+48>>2]|0)|0)>>>0>(c[j+16>>2]|0)>>>0)ar(b,2022,0,342479);else s=k;break}default:ar(b,2022,0,342479)}h=h-n>>4>>>0>1?m+16|0:0;h=c[((h|0)==0?368:h)>>2]|0;if(1907>>>h&1){if(435>>>h&1|0)br(b,342583,100667121,343529);if(iy(b,1,352545)|0)u=is(b,-1)|0;else u=0}else u=0;if(s>>>0>715827878)br(b,352518,100663552,343189);w=b+56|0;if((c[z>>2]|0)>>>0>=(c[w>>2]|0)>>>0)mr(b,5237);h=ts(c[b+44>>2]|0,(s*3|0)+3|0,4,o)|0;if(!h)er(b,342583,5246);t=c[z>>2]|0;c[t>>2]=10;c[t+8>>2]=h;t=h+4|0;c[t>>2]=(c[t>>2]|0)+1;t=(c[z>>2]|0)+16|0;c[z>>2]=t;v=c[o>>2]|0;h=c[p>>2]|0;h=(t|0)!=(h|0)?h:0;h=(h|0)==0?368:h;a:do switch(c[h>>2]|0){case 10:{h=c[h+8>>2]|0;g=c[h+16>>2]|0;if(!(c[h>>2]&128)){h=h+24|0;break a}else{h=c[h+20>>2]|0;break a}}case 9:{h=c[h+8>>2]|0;if(((c[h>>2]&8192|0)!=0?(q=c[h+40>>2]|0,(q|0)!=0):0)?(r=c[h+48>>2]|0,g=c[h+52>>2]|0,(g+r|0)>>>0<=(c[q+16>>2]|0)>>>0):0){if(!(c[q>>2]&128))h=q+24|0;else h=c[q+20>>2]|0;h=h+r|0}else{g=0;h=0}break}default:{g=0;h=0}}while(0);if((s|0)!=(g|0))br(b,352518,100663629,352552);t=h+s|0;b:do if((s|0)>0){n=e+6|0;o=e+5|0;p=e+4|0;q=e+7|0;r=e+9|0;s=e+8|0;g=h;i=v;c:while(1){h=g;k=a[n>>0]|0;while(1){m=h+1|0;j=a[h>>0]|0;g=j&255;d:do if(!(k<<24>>24))if(j<<24>>24<=-1){if((j+62&255)<30){a[n>>0]=1;c[e>>2]=g&31;h=m;g=1;break}if((j&-16)<<24>>24==-32){switch(j<<24>>24){case -32:{a[o>>0]=-96;break}case -19:{a[p>>0]=-97;break}default:{}}a[n>>0]=2;c[e>>2]=g&15;h=m;g=2;break}if((j+16&255)<5){switch(j<<24>>24){case -16:{a[o>>0]=-112;break}case -12:{a[p>>0]=-113;break}default:{}}a[n>>0]=3;c[e>>2]=g&7;h=m;g=3}else{h=m;x=64}}else{h=m;x=65}else{if((d[o>>0]|0)<=(j&255)?(d[p>>0]|0)>=(j&255):0){a[o>>0]=-128;a[p>>0]=-65;g=c[e>>2]<<6|g&63;c[e>>2]=g;j=k+-1<<24>>24;a[n>>0]=j;if(j<<24>>24){h=m;g=j;break}c[e>>2]=0;a[n>>0]=0;if((g|0)>=0){h=m;x=65;break}switch(g|0){case -1:{h=m;g=0;break d}case -3:break;default:{h=m;x=64;break d}}}else{c[e>>2]=0;a[n>>0]=0;a[o>>0]=-128;a[p>>0]=-65}x=64}while(0);if((x|0)==64)if(!(a[s>>0]|0)){g=65533;x=65}else break c;if((x|0)==65){x=0;if(a[q>>0]|0){x=69;break}a[q>>0]=1;if((g|0)!=65279){x=69;break}if(!(a[r>>0]|0))g=0;else{g=65279;x=74;break}}if(h>>>0<t>>>0)k=g;else{f=i;break b}}do if((x|0)==69){x=0;if(g>>>0<128){a[i>>0]=g;g=1;break}if(g>>>0<2048){a[i>>0]=g>>>6&31|192;a[i+1>>0]=g&63|128;g=2;break}if(g>>>0<65536)x=74;else{g=g+-65536|0;a[i>>0]=-19;a[i+1>>0]=g>>>16&15|160;a[i+2>>0]=g>>>10&63|128;a[i+3>>0]=-19;a[i+4>>0]=g>>>6&15|176;a[i+5>>0]=g&63|128;g=6}}while(0);if((x|0)==74){x=0;a[i>>0]=g>>>12&15|224;a[i+1>>0]=g>>>6&63|128;a[i+2>>0]=g&63|128;g=3}i=i+g|0;if(h>>>0<t>>>0)g=h;else{f=i;break b}}br(b,352518,100663629,352552)}else f=v;while(0);if(!u){g=e+6|0;do if(a[g>>0]|0)if(!(a[e+8>>0]|0)){a[f>>0]=-17;a[f+1>>0]=-65;a[f+2>>0]=-67;y=f+3|0;break}else br(b,352518,100663629,352552);else y=f;while(0);c[e>>2]=0;a[e+4>>0]=-65;a[e+5>>0]=-128;a[g>>0]=0;a[e+7>>0]=0;f=y}if((c[z>>2]|0)>>>0>=(c[w>>2]|0)>>>0)mr(b,4300);f=(v|0)==0?0:f-v|0;if((f|0)<0)br(b,342583,50335961,342945);else{b=fs(b,v,f)|0;e=c[z>>2]|0;c[z>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;z=b+4|0;c[z>>2]=(c[z>>2]|0)+1;l=A;return}}function ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+68|0;f=a+64|0;d=(c[g>>2]|0)-(c[f>>2]|0)>>4;d=d>>>0>1?d+-2|0:-2147483648;zs(a,b);f=c[f>>2]|0;g=(c[g>>2]|0)-f>>4;e=((d|0)<0?g:0)+d|0;if(e>>>0>=g>>>0)Cr(a,376,d);if((g|0)==1)Cr(a,376,-2);d=g+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f+(e<<4)|0,f+(g+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;Nt(a);return}function ly(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+68|0;h=c[b>>2]|0;if(h>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[b>>2]=h+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);d=a+64|0;e=c[d>>2]|0;f=e+-16|0;g=c[f>>2]|0;if((g&-2|0)==2)br(a,342583,100667685,343776);c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];if(g&8|0){h=(c[e+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}Xr(a,-1)|0;h=c[d>>2]|0;a=(c[b>>2]|0)-h>>4;a=a|0?h+(a+-1<<4)|0:0;a=(a|0)==0?368:a;if((c[a>>2]|0)!=8){h=0;return h|0}h=c[a+8>>2]|0;return h|0}function my(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+64|0;F=H;z=H+16|0;G=b+68|0;E=b+64|0;D=c[E>>2]|0;e=(c[G>>2]|0)-D>>4;e=e>>>0>1?D+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9){D=b+304|0;D=c[D>>2]|0;D=D+44|0;D=c[D>>2]|0;D=D+28|0;ar(b,2476,-2,D)}e=c[e+8>>2]|0;if(!e){D=b+304|0;D=c[D>>2]|0;D=D+44|0;D=c[D>>2]|0;D=D+28|0;ar(b,2476,-2,D)}if((c[e>>2]&-134217728|0)!=1476395008){D=b+304|0;D=c[D>>2]|0;D=D+44|0;D=c[D>>2]|0;D=D+28|0;ar(b,2476,-2,D)}Xr(b,-1)|0;f=c[G>>2]|0;e=c[E>>2]|0;k=f-e|0;g=k>>4;e=g|0?e+(g+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8)x=c[e+8>>2]|0;else x=0;i=g+-2|0;if(g>>>0<=1)Cr(b,300,-2);D=b+304|0;e=c[(c[D>>2]|0)+372>>2]|0;A=b+56|0;if(f>>>0>=(c[A>>2]|0)>>>0)mr(b,4153);c[G>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[E>>2]|0;g=(c[G>>2]|0)-f>>4;e=((k|0)<32?g:0)+i|0;if(e>>>0>=g>>>0)Cr(b,376,i);Kr(b,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[E>>2]|0;g=(c[G>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(b,376,-2);w=f+(e<<4)|0;g=f+(g+-1<<4)|0;y=c[w>>2]|0;f=c[f+(e<<4)+8>>2]|0;t6(w|0,w+16|0,g-w|0)|0;c[g>>2]=2;g=(c[G>>2]|0)+-16|0;c[G>>2]=g;e=g;if((y&8|0)!=0?(w=f+4|0,y=(c[w>>2]|0)+-1|0,c[w>>2]=y,(y|0)==0):0){qr(c[b+44>>2]|0,f);e=c[G>>2]|0;g=e}y=c[E>>2]|0;e=e-y>>4;e=e|0?y+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(b,2101,-1,361511);i=c[e+8>>2]|0;if(!i)ar(b,2101,-1,361511);p=z+4|0;e=p;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[z>>2]=b;m=x+28|0;u=z+8|0;c[u>>2]=m;v=z+12|0;c[v>>2]=m+(c[x+20>>2]|0);m=i+28|0;w=z+16|0;c[w>>2]=m;o=m+(c[i+20>>2]|0)|0;c[z+20>>2]=o;y=z+24|0;c[y>>2]=0;c[z+36>>2]=1e4;c[z+44>>2]=1e9;if(m>>>0>=o>>>0)Dr(b,343968,282);i=m+1|0;e=a[m>>0]|0;f=e&255;do if(e<<24>>24>-1){q=0;r=f&127}else{if((e&255)<192)Dr(b,343968,282);if((e&255)<224){q=1;r=f&31;break}if((e&255)<240){q=2;r=f&15;break}if((e&255)<248){q=3;r=f&7;break}if((e&255)<252){q=4;r=f&3;break}if((e&255)<254){q=5;r=f&1;break}if(e<<24>>24!=-1){q=6;r=0;break}Dr(b,343968,282)}while(0);if((i+q|0)>>>0>o>>>0)Dr(b,343968,282);if(!q)k=r;else{k=q;e=r;while(1){f=i+1|0;e=a[i>>0]&63|e<<6;if((k|0)>1){i=f;k=k+-1|0}else{i=f;k=e;break}}}c[p>>2]=k;if(!(i>>>0>=m>>>0&i>>>0<o>>>0))Dr(b,343968,282);f=i+1|0;e=a[i>>0]|0;i=e&255;do if(e<<24>>24>-1){j=0;t=i&127}else{if((e&255)<192)Dr(b,343968,282);if((e&255)<224){j=1;t=i&31;break}if((e&255)<240){j=2;t=i&15;break}if((e&255)<248){j=3;t=i&7;break}if((e&255)<252){j=4;t=i&3;break}if((e&255)<254){j=5;t=i&1;break}if(e<<24>>24!=-1){j=6;t=0;break}Dr(b,343968,282)}while(0);if((f+j|0)>>>0>o>>>0)Dr(b,343968,282);if(!j)e=t;else{e=t;while(1){i=f+1|0;e=a[f>>0]&63|e<<6;if((j|0)>1){f=i;j=j+-1|0}else{f=i;break}}}p=z+28|0;c[p>>2]=e;c[w>>2]=f;m=k&1|d;e=e<<2;if(g>>>0>=(c[A>>2]|0)>>>0)mr(b,5237);if(e>>>0>2147483646)br(b,342583,50336889,342539);q=b+44|0;e=ts(c[q>>2]|0,e,0,F)|0;if(!e)er(b,342583,5246);g=c[G>>2]|0;c[g>>2]=10;c[g+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[G>>2]|0;j=g+16|0;c[G>>2]=j;e=c[E>>2]|0;k=j-e|0;f=k>>4;e=f|0?e+(f+-1<<4)|0:0;e=(e|0)==0?368:e;do if((c[e>>2]|0)==10){e=c[e+8>>2]|0;if(!(c[e>>2]&128)){e=e+24|0;break}else{e=c[e+20>>2]|0;break}}else e=0;while(0);c[y>>2]=e;i=f+-4|0;if(f>>>0<=3)Cr(b,300,-4);e=c[(c[D>>2]|0)+188>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0)mr(b,4153);c[G>>2]=g+32;c[j>>2]=8;c[g+24>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[E>>2]|0;g=(c[G>>2]|0)-f>>4;e=((k|0)<64?g:0)+i|0;if(e>>>0>=g>>>0)Cr(b,376,i);Kr(b,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[E>>2]|0;g=(c[G>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(b,376,-2);r=f+(e<<4)|0;t=f+(g+-1<<4)|0;d=c[r>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(r|0,r+16|0,t-r|0)|0;c[t>>2]=2;c[G>>2]=(c[G>>2]|0)+-16;do if(d&8|0){t=e+4|0;d=(c[t>>2]|0)+-1|0;c[t>>2]=d;if(d|0)break;qr(c[q>>2]|0,e)}while(0);nu(b,-1);f=c[G>>2]|0;d=c[E>>2]|0;e=f-d>>4;e=e|0?d+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if(!(c[e>>2]|0))n=+h[e+8>>3];else n=s;j=f+-16|0;c[G>>2]=j;c[j>>2]=2;j=(m|0)!=0;do if(j){if(n<0.0){o=138;break}if(n>+((gs(x)|0)>>>0)){o=138;break}e=~~n>>>0;o=86}else{e=0;o=86}while(0);a:do if((o|0)==86){f=c[u>>2]|0;f=f+(vt(b,x,e)|0)|0;b:do if(!(ny(z,c[w>>2]|0,f)|0)){while(1){e=e+1|0;if(e>>>0>(gs(x)|0)>>>0){o=138;break a}g=c[v>>2]|0;if(!(f>>>0<g>>>0?f>>>0>=(c[u>>2]|0)>>>0:0))break;do{f=f+1|0;if(f>>>0>=g>>>0)break}while((a[f>>0]&-64)<<24>>24==-128);if(ny(z,c[w>>2]|0,f)|0){B=e;break b}}Dr(b,352604,101)}else B=e;while(0);g=Or(b,48)|0;e=c[q>>2]|0;c[g>>2]=272679041;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[b+132>>2]|0;c[g+20>>2]=e;if(e|0){z=e+4|0;c[z>>2]=(c[z>>2]|0)+1}e=c[G>>2]|0;c[e>>2]=9;c[e+8>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[G>>2]|0;f=e+16|0;c[G>>2]=f;if(f>>>0>=(c[A>>2]|0)>>>0)mr(b,4274);x=e+32|0;c[G>>2]=x;c[f>>2]=0;h[e+24>>3]=+(B>>>0);z=c[E>>2]|0;e=x-z>>4;e=e>>>0>1?z+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9)ar(b,2130,-2,342926);e=c[e+8>>2]|0;if(!e)ar(b,2130,-2,342926);yr(b,e,c[(c[D>>2]|0)+196>>2]|0,7);e=c[G>>2]|0;if(e>>>0>=(c[A>>2]|0)>>>0)mr(b,1093);f=c[E>>2]|0;g=e-f>>4;if(g>>>0<=3)Cr(b,376,-4);z=f+(g+-4<<4)|0;c[G>>2]=e+16;c[e>>2]=c[z>>2];c[e+4>>2]=c[z+4>>2];c[e+8>>2]=c[z+8>>2];c[e+12>>2]=c[z+12>>2];if(c[e>>2]&8|0){z=(c[e+8>>2]|0)+4|0;c[z>>2]=(c[z>>2]|0)+1}z=c[E>>2]|0;e=(c[G>>2]|0)-z>>4;e=e>>>0>1?z+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9)ar(b,2130,-2,342926);e=c[e+8>>2]|0;if(!e)ar(b,2130,-2,342926);yr(b,e,c[(c[D>>2]|0)+412>>2]|0,7);c:do if(c[p>>2]|0){e=0;i=0;d:while(1){f=c[y>>2]|0;g=c[f+(i<<2)>>2]|0;do if(!g)o=120;else{f=c[f+((i|1)<<2)>>2]|0;if((f|0)==0|f>>>0<g>>>0){o=120;break}f=f-g|0;if((c[G>>2]|0)>>>0>=(c[A>>2]|0)>>>0){o=115;break d}if((f|0)<0){o=117;break d}z=fs(b,g,f)|0;x=c[G>>2]|0;c[G>>2]=x+16;c[x>>2]=8;c[x+8>>2]=z;z=z+4|0;c[z>>2]=(c[z>>2]|0)+1;if(i|0)break;e=(Ur(b,-1)|0)+B|0}while(0);if((o|0)==120){o=0;f=c[G>>2]|0;if(f>>>0>=(c[A>>2]|0)>>>0){o=121;break}c[G>>2]=f+16}Ft(b,-2,i>>>1);i=i+2|0;if(i>>>0>=(c[p>>2]|0)>>>0){C=e;break c}}if((o|0)==115)mr(b,4300);else if((o|0)==117)br(b,342583,50335961,342945);else if((o|0)==121)mr(b,4162)}else C=0;while(0);if(!j)break;i=c[G>>2]|0;f=c[A>>2]|0;if(i>>>0>=f>>>0)mr(b,4274);g=i+16|0;c[G>>2]=g;c[i>>2]=0;h[i+8>>3]=+(C>>>0);k=g-(c[E>>2]|0)|0;C=k>>4;m=C+-6|0;if(C>>>0<=5)Cr(b,300,-6);e=c[(c[D>>2]|0)+188>>2]|0;if(g>>>0>=f>>>0)mr(b,4153);c[G>>2]=i+32;c[g>>2]=8;c[i+24>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[E>>2]|0;j=(c[G>>2]|0)-i>>4;g=((k|0)<96?j:0)+m|0;if(g>>>0>=j>>>0)Cr(b,376,m);if((j|0)==1)Cr(b,376,-2);f=j+-2|0;e=c[b+72>>2]|0;if(!e)e=1;else e=c[e+52>>2]&1;es(b,i+(g<<4)|0,i+(j+-1<<4)|0,c[i+(f<<4)>>2]|0,c[i+(f<<4)+4>>2]|0,+h[i+(f<<4)+8>>3],e)|0;Nt(b)}while(0);if((o|0)==138){i=c[G>>2]|0;f=c[A>>2]|0;if(i>>>0>=f>>>0)mr(b,4175);e=i+16|0;c[G>>2]=e;c[i>>2]=3;if(e>>>0>=f>>>0)mr(b,4244);g=i+32|0;c[G>>2]=g;c[e>>2]=0;h[i+24>>3]=0.0;k=g-(c[E>>2]|0)|0;C=k>>4;m=C+-6|0;if(C>>>0<=5)Cr(b,300,-6);e=c[(c[D>>2]|0)+188>>2]|0;if(g>>>0>=f>>>0)mr(b,4153);c[G>>2]=i+48;c[g>>2]=8;c[i+40>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[E>>2]|0;j=(c[G>>2]|0)-i>>4;g=((k|0)<96?j:0)+m|0;if(g>>>0>=j>>>0)Cr(b,376,m);if((j|0)==1)Cr(b,376,-2);f=j+-2|0;e=c[b+72>>2]|0;if(!e)e=1;else e=c[e+52>>2]&1;es(b,i+(g<<4)|0,i+(j+-1<<4)|0,c[i+(f<<4)>>2]|0,c[i+(f<<4)+4>>2]|0,+h[i+(f<<4)+8>>3],e)|0;Nt(b)}i=c[G>>2]|0;e=c[E>>2]|0;f=i-e>>4;if(f>>>0<=4)Cr(b,376,-5);g=e+(f+-5<<4)|0;e=e+(f+-1<<4)|0;f=e-g|0;if(!f)f=i;else{c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];t6(g+16|0,g|0,f|0)|0;c[g>>2]=c[F>>2];c[g+4>>2]=c[F+4>>2];c[g+8>>2]=c[F+8>>2];c[g+12>>2]=c[F+12>>2];f=c[G>>2]|0}b=f+-16|0;F=c[b>>2]|0;e=c[f+-8>>2]|0;c[b>>2]=2;do if(F&8|0){b=e+4|0;F=(c[b>>2]|0)+-1|0;c[b>>2]=F;if(F|0)break;vr(c[q>>2]|0,e)}while(0);b=f+-32|0;F=c[b>>2]|0;e=c[f+-24>>2]|0;c[b>>2]=2;do if(F&8|0){b=e+4|0;F=(c[b>>2]|0)+-1|0;c[b>>2]=F;if(F|0)break;vr(c[q>>2]|0,e)}while(0);b=f+-48|0;F=c[b>>2]|0;e=c[f+-40>>2]|0;c[b>>2]=2;do if(F&8|0){b=e+4|0;F=(c[b>>2]|0)+-1|0;c[b>>2]=F;if(F|0)break;vr(c[q>>2]|0,e)}while(0);b=f+-64|0;F=c[b>>2]|0;e=c[f+-56>>2]|0;c[b>>2]=2;do if(F&8|0){b=e+4|0;F=(c[b>>2]|0)+-1|0;c[b>>2]=F;if(F|0)break;vr(c[q>>2]|0,e)}while(0);c[G>>2]=f+-64;e=c[q>>2]|0;if(!(c[e+32>>2]|0)){l=H;return}lr(e);l=H;return}function ny(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+16|0;T=_;Z=b+32|0;j=c[Z>>2]|0;if(j>>>0>=(c[b+36>>2]|0)>>>0)br(c[b>>2]|0,352604,50331798,352626);c[Z>>2]=j+1;x=b+40|0;j=c[x>>2]|0;y=b+44|0;if(j>>>0>=(c[y>>2]|0)>>>0){Y=b;Y=c[Y>>2]|0;br(Y,352604,50331806,352658)}K=b+16|0;L=b+20|0;V=b+12|0;W=b+8|0;z=b+4|0;U=b+28|0;Y=b+24|0;o=d;v=e;d=j;a:while(1){c[x>>2]=d+1;t=o+1|0;w=a[o>>0]|0;b:do switch(w<<24>>24){case 1:{b=v;d=680;break a}case 9:{d=331;break a}case 10:{d=394;break a}case 11:{d=491;break a}case 12:{d=514;break a}case 14:case 13:{d=571;break a}case 2:{s=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=27;break a}e=o+2|0;j=a[t>>0]|0;d=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=27;break a}if((j&255)<224){o=1;j=d&31;break}if((j&255)<240){o=2;j=d&15;break}if((j&255)<248){o=3;j=d&7;break}if((j&255)<252){o=4;j=d&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=27;break a}else{o=6;j=0;break}else{o=5;j=d&1;break}}else{o=0;j=d&127}while(0);if((e+o|0)>>>0>p>>>0){d=27;break a}if(!o)r=j;else while(1){d=e+1|0;j=a[e>>0]&63|j<<6;if((o|0)>1){e=d;o=o+-1|0}else{e=d;r=j;break}}d=v;q=c[V>>2]|0;if(d>>>0<q>>>0){if(d>>>0<(c[W>>2]|0)>>>0){d=47;break a}j=d+1|0;d=a[d>>0]|0;o=d&255;do if(d<<24>>24<=-1){if((d&255)<192){d=47;break a}if((d&255)<224){p=1;d=o&31;break}if((d&255)<240){p=2;d=o&15;break}if((d&255)<248){p=3;d=o&7;break}if((d&255)<252){p=4;d=o&3;break}if((d&255)>=254)if(d<<24>>24==-1){d=47;break a}else{p=6;d=0;break}else{p=5;d=o&1;break}}else{p=0;d=o&127}while(0);if((j+p|0)>>>0>q>>>0){d=47;break a}if(p)while(1){o=j+1|0;d=a[j>>0]&63|d<<6;if((p|0)>1){j=o;p=p+-1|0}else{j=o;break}}if(c[z>>2]&2){w=Hu(0,d,-1,-1,1)|0;d=(w|0)<0|(d|0)>127&(w|0)<128?d:w}}else{j=v;d=-1}if((r|0)!=(d|0)){d=681;break a}break}case 3:{j=v;p=c[V>>2]|0;if(j>>>0>=p>>>0){d=681;break a}q=c[b>>2]|0;if(j>>>0<(c[W>>2]|0)>>>0){d=70;break a}d=j+1|0;j=a[j>>0]|0;e=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=70;break a}if((j&255)<224){o=1;j=e&31;break}if((j&255)<240){o=2;j=e&15;break}if((j&255)<248){o=3;j=e&7;break}if((j&255)<252){o=4;j=e&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=70;break a}else{o=6;j=0;break}else{o=5;j=e&1;break}}else{o=0;j=e&127}while(0);if((d+o|0)>>>0>p>>>0){d=70;break a}if(o)while(1){e=d+1|0;j=a[d>>0]&63|j<<6;if((o|0)>1){d=e;o=o+-1|0}else{d=e;break}}if(c[z>>2]&2){w=Hu(0,j,-1,-1,1)|0;j=(w|0)<0|(j|0)>127&(w|0)<128?j:w}if((j|0)<0){d=681;break a}if((j|0)<8232)switch(j|0){case 10:case 13:{d=681;break a}default:{e=t;j=d;break b}}else switch(j|0){case 8232:case 8233:{d=681;break a}default:{e=t;j=d;break b}}}case 5:case 4:{s=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=93;break a}e=o+2|0;j=a[t>>0]|0;d=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=93;break a}if((j&255)<224){o=1;j=d&31;break}if((j&255)<240){o=2;j=d&15;break}if((j&255)<248){o=3;j=d&7;break}if((j&255)<252){o=4;j=d&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=93;break a}else{o=6;j=0;break}else{o=5;j=d&1;break}}else{o=0;j=d&127}while(0);if((e+o|0)>>>0>p>>>0){d=93;break a}if(!o)r=j;else while(1){d=e+1|0;j=a[e>>0]&63|j<<6;if((o|0)>1){e=d;o=o+-1|0}else{e=d;r=j;break}}d=v;q=c[V>>2]|0;if(d>>>0>=q>>>0){d=681;break a}if(d>>>0<(c[W>>2]|0)>>>0){d=113;break a}j=d+1|0;d=a[d>>0]|0;o=d&255;do if(d<<24>>24<=-1){if((d&255)<192){d=113;break a}if((d&255)<224){p=1;d=o&31;break}if((d&255)<240){p=2;d=o&15;break}if((d&255)<248){p=3;d=o&7;break}if((d&255)<252){p=4;d=o&3;break}if((d&255)>=254)if(d<<24>>24==-1){d=113;break a}else{p=6;d=0;break}else{p=5;d=o&1;break}}else{p=0;d=o&127}while(0);if((j+p|0)>>>0>q>>>0){d=113;break a}if(p)while(1){o=j+1|0;d=a[j>>0]&63|d<<6;if((p|0)>1){j=o;p=p+-1|0}else{j=o;break}}if(!(c[z>>2]&2))v=d;else{v=Hu(0,d,-1,-1,1)|0;v=(v|0)<0|(d|0)>127&(v|0)<128?d:v}if((v|0)<0){d=681;break a}if(!r)d=0;else{t=c[K>>2]|0;u=c[L>>2]|0;s=r;d=0;do{if(!(e>>>0>=t>>>0&e>>>0<u>>>0)){d=137;break a}q=e+1|0;e=a[e>>0]|0;o=e&255;do if(e<<24>>24<=-1){if((e&255)<192){d=137;break a}if((e&255)<224){p=1;e=o&31;break}if((e&255)<240){p=2;e=o&15;break}if((e&255)<248){p=3;e=o&7;break}if((e&255)<252){p=4;e=o&3;break}if((e&255)>=254)if(e<<24>>24==-1){d=137;break a}else{p=6;e=0;break}else{p=5;e=o&1;break}}else{p=0;e=o&127}while(0);if((q+p|0)>>>0>u>>>0){d=137;break a}if(!p){o=q;r=e}else while(1){o=q+1|0;e=a[q>>0]&63|e<<6;if((p|0)>1){q=o;p=p+-1|0}else{r=e;break}}if(!(o>>>0>=t>>>0&o>>>0<u>>>0)){d=156;break a}e=o+1|0;o=a[o>>0]|0;p=o&255;do if(o<<24>>24<=-1){if((o&255)<192){d=156;break a}if((o&255)<224){q=1;o=p&31;break}if((o&255)<240){q=2;o=p&15;break}if((o&255)<248){q=3;o=p&7;break}if((o&255)<252){q=4;o=p&3;break}if((o&255)>=254)if(o<<24>>24==-1){d=156;break a}else{q=6;o=0;break}else{q=5;o=p&1;break}}else{q=0;o=p&127}while(0);if((e+q|0)>>>0>u>>>0){d=156;break a}if(q)while(1){p=e+1|0;o=a[e>>0]&63|o<<6;if((q|0)>1){e=p;q=q+-1|0}else{e=p;break}}d=(v|0)<(r|0)|(v|0)>(o|0)?d:1;s=s+-1|0}while((s|0)!=0)}d=(d|0)!=0;if(w<<24>>24==4)if(d)break b;else{d=681;break a}else if(d){d=681;break a}else break b}case 16:{j=v;d=c[W>>2]|0;if(j>>>0>d>>>0){r=c[z>>2]|0;if(!(r&4)){d=681;break a}q=c[b>>2]|0;p=c[V>>2]|0;if(d>>>0>j>>>0|p>>>0<j>>>0){d=166;break a}else e=j;while(1){j=e+-1|0;if(j>>>0<d>>>0){d=166;break a}o=a[j>>0]|0;if((o&-64)<<24>>24==-128)e=j;else break}if(j>>>0>=p>>>0){d=681;break a}j=o&255;do if(o<<24>>24<=-1){if((o&255)<192){d=185;break a}if((o&255)<224){d=1;j=j&31;break}if((o&255)<240){d=2;j=j&15;break}if((o&255)<248){d=3;j=j&7;break}if((o&255)<252){d=4;j=j&3;break}if((o&255)>=254)if(o<<24>>24==-1){d=185;break a}else{d=6;j=0;break}else{d=5;j=j&1;break}}else{d=0;j=j&127}while(0);if((e+d|0)>>>0>p>>>0){d=185;break a}if(d)while(1){j=a[e>>0]&63|j<<6;if((d|0)>1){e=e+1|0;d=d+-1|0}else break}if(r&2){w=Hu(0,j,-1,-1,1)|0;j=(w|0)<0|(j|0)>127&(w|0)<128?j:w}if((j|0)<8232)switch(j|0){case 10:case 13:{e=t;j=v;break b}default:{d=681;break a}}else switch(j|0){case 8232:case 8233:{e=t;j=v;break b}default:{d=681;break a}}}else{e=t;j=v}break}case 17:{j=v;p=c[V>>2]|0;if(j>>>0<p>>>0){q=c[b>>2]|0;if(j>>>0<(c[W>>2]|0)>>>0){d=208;break a}e=j+1|0;j=a[j>>0]|0;o=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=208;break a}if((j&255)<224){d=1;j=o&31;break}if((j&255)<240){d=2;j=o&15;break}if((j&255)<248){d=3;j=o&7;break}if((j&255)<252){d=4;j=o&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=208;break a}else{d=6;j=0;break}else{d=5;j=o&1;break}}else{d=0;j=o&127}while(0);if((e+d|0)>>>0>p>>>0){d=208;break a}if(d)while(1){j=a[e>>0]&63|j<<6;if((d|0)>1){e=e+1|0;d=d+-1|0}else break}if(c[z>>2]&2){w=Hu(0,j,-1,-1,1)|0;j=(w|0)<0|(j|0)>127&(w|0)<128?j:w}if((j|0)>=0){if(!(c[z>>2]&4)){d=681;break a}if((j|0)<8232)switch(j|0){case 10:case 13:{e=t;j=v;break b}default:{d=681;break a}}else switch(j|0){case 8232:case 8233:{e=t;j=v;break b}default:{d=681;break a}}}else{e=t;j=v}}else{e=t;j=v}break}case 19:case 18:{s=v;j=c[W>>2]|0;if(s>>>0>j>>>0){q=c[b>>2]|0;p=c[V>>2]|0;if(j>>>0>s>>>0|p>>>0<s>>>0){d=218;break a}else e=s;while(1){d=e+-1|0;if(d>>>0<j>>>0){d=218;break a}o=a[d>>0]|0;if((o&-64)<<24>>24==-128)e=d;else break}if(d>>>0<p>>>0){j=o&255;do if(o<<24>>24<=-1){if((o&255)<192){d=237;break a}if((o&255)<224){d=1;j=j&31;break}if((o&255)<240){d=2;j=j&15;break}if((o&255)<248){d=3;j=j&7;break}if((o&255)<252){d=4;j=j&3;break}if((o&255)>=254)if(o<<24>>24==-1){d=237;break a}else{d=6;j=0;break}else{d=5;j=j&1;break}}else{d=0;j=j&127}while(0);if((e+d|0)>>>0>p>>>0){d=237;break a}if(d)while(1){j=a[e>>0]&63|j<<6;if((d|0)>1){e=e+1|0;d=d+-1|0}else break}if(c[z>>2]&2){u=Hu(0,j,-1,-1,1)|0;j=(u|0)<0|(j|0)>127&(u|0)<128?j:u}}else j=-1;r=((j+-48|0)>>>0<10|(j+-97|0)>>>0<26|((j|0)==95|(j+-65|0)>>>0<26))&1}else r=0;p=c[V>>2]|0;if(s>>>0<p>>>0){q=c[b>>2]|0;if(s>>>0<(c[W>>2]|0)>>>0){d=260;break a}e=s+1|0;j=a[s>>0]|0;o=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=260;break a}if((j&255)<224){d=1;j=o&31;break}if((j&255)<240){d=2;j=o&15;break}if((j&255)<248){d=3;j=o&7;break}if((j&255)<252){d=4;j=o&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=260;break a}else{d=6;j=0;break}else{d=5;j=o&1;break}}else{d=0;j=o&127}while(0);if((e+d|0)>>>0>p>>>0){d=260;break a}if(d)while(1){j=a[e>>0]&63|j<<6;if((d|0)>1){e=e+1|0;d=d+-1|0}else break}if(c[z>>2]&2){u=Hu(0,j,-1,-1,1)|0;j=(u|0)<0|(j|0)>127&(u|0)<128?j:u}j=((j+-48|0)>>>0<10|(j+-97|0)>>>0<26|((j|0)==95|(j+-65|0)>>>0<26))&1}else j=0;j=(r|0)==(j|0);if(w<<24>>24==18)if(j){d=681;break a}else{e=t;j=v;break b}else if(j){e=t;j=v;break b}else{d=681;break a}}case 6:{q=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=285;break a}d=o+2|0;j=a[t>>0]|0;e=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=285;break a}if((j&255)<224){o=1;j=e&31;break}if((j&255)<240){o=2;j=e&15;break}if((j&255)<248){o=3;j=e&7;break}if((j&255)<252){o=4;j=e&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=285;break a}else{o=6;j=0;break}else{o=5;j=e&1;break}}else{o=0;j=e&127}while(0);if((d+o|0)>>>0>p>>>0){d=285;break a}if(o)while(1){e=d+1|0;j=a[d>>0]&63|j<<6;if((o|0)>1){d=e;o=o+-1|0}else{d=e;break}}e=j>>>1;e=d+((j&1|0)==0?e:0-e|0)|0;j=v;break}case 7:{q=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=306;break a}o=o+2|0;j=a[t>>0]|0;d=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=306;break a}if((j&255)<224){e=1;j=d&31;break}if((j&255)<240){e=2;j=d&15;break}if((j&255)<248){e=3;j=d&7;break}if((j&255)<252){e=4;j=d&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=306;break a}else{e=6;j=0;break}else{e=5;j=d&1;break}}else{e=0;j=d&127}while(0);if((o+e|0)>>>0>p>>>0){d=306;break a}if(e)while(1){d=o+1|0;j=a[o>>0]&63|j<<6;if((e|0)>1){o=d;e=e+-1|0}else{o=d;break}}d=j>>>1;e=ny(b,o,v)|0;if(e|0){d=309;break a}e=o+((j&1|0)==0?d:0-d|0)|0;j=v;break}case 8:{q=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=328;break a}e=o+2|0;j=a[t>>0]|0;d=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=328;break a}if((j&255)<224){o=1;j=d&31;break}if((j&255)<240){o=2;j=d&15;break}if((j&255)<248){o=3;j=d&7;break}if((j&255)<252){o=4;j=d&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=328;break a}else{o=6;j=0;break}else{o=5;j=d&1;break}}else{o=0;j=d&127}while(0);if((e+o|0)>>>0>p>>>0){d=328;break a}if(o)while(1){d=e+1|0;j=a[e>>0]&63|j<<6;if((o|0)>1){e=d;o=o+-1|0}else{e=d;break}}w=j>>>1;j=ny(b,e+((j&1|0)==0?w:0-w|0)|0,v)|0;if(!j)j=v;else{d=330;break a}break}case 15:{q=c[b>>2]|0;p=c[L>>2]|0;if(!(t>>>0<p>>>0?t>>>0>=(c[K>>2]|0)>>>0:0)){d=629;break a}e=o+2|0;j=a[t>>0]|0;d=j&255;do if(j<<24>>24<=-1){if((j&255)<192){d=629;break a}if((j&255)<224){o=1;j=d&31;break}if((j&255)<240){o=2;j=d&15;break}if((j&255)<248){o=3;j=d&7;break}if((j&255)<252){o=4;j=d&3;break}if((j&255)>=254)if(j<<24>>24==-1){d=629;break a}else{o=6;j=0;break}else{o=5;j=d&1;break}}else{o=0;j=d&127}while(0);if((e+o|0)>>>0>p>>>0){d=629;break a}if(o)while(1){d=e+1|0;j=a[e>>0]&63|j<<6;if((o|0)>1){e=d;o=o+-1|0}else{e=d;break}}j=j<<1;if(j>>>0<2){b=q;d=682;break a}u=j|1;if(u>>>0>=(c[U>>2]|0)>>>0){b=q;d=682;break a}w=c[Y>>2]|0;j=c[w+(j<<2)>>2]|0;if((j|0)!=0?j>>>0<(c[w+(u<<2)>>2]|0)>>>0:0){o=j;j=v;while(1){s=c[V>>2]|0;if(o>>>0<s>>>0){r=c[b>>2]|0;if(o>>>0<(c[W>>2]|0)>>>0){d=653;break a}d=o+1|0;o=a[o>>0]|0;p=o&255;do if(o<<24>>24<=-1){if((o&255)<192){d=653;break a}if((o&255)<224){q=1;o=p&31;break}if((o&255)<240){q=2;o=p&15;break}if((o&255)<248){q=3;o=p&7;break}if((o&255)<252){q=4;o=p&3;break}if((o&255)>=254)if(o<<24>>24==-1){d=653;break a}else{q=6;o=0;break}else{q=5;o=p&1;break}}else{q=0;o=p&127}while(0);if((d+q|0)>>>0>s>>>0){d=653;break a}if(q)while(1){p=d+1|0;o=a[d>>0]&63|o<<6;if((q|0)>1){d=p;q=q+-1|0}else{d=p;break}}if(!(c[z>>2]&2))t=d;else{w=Hu(0,o,-1,-1,1)|0;t=d;s=c[V>>2]|0;o=(w|0)<0|(o|0)>127&(w|0)<128?o:w}}else{t=o;o=-1}d=j;do if(d>>>0<s>>>0){r=c[b>>2]|0;if(d>>>0<(c[W>>2]|0)>>>0){d=675;break a}j=d+1|0;d=a[d>>0]|0;p=d&255;do if(d<<24>>24<=-1){if((d&255)<192){d=675;break a}if((d&255)<224){q=1;d=p&31;break}if((d&255)<240){q=2;d=p&15;break}if((d&255)<248){q=3;d=p&7;break}if((d&255)<252){q=4;d=p&3;break}if((d&255)>=254)if(d<<24>>24==-1){d=675;break a}else{q=6;d=0;break}else{q=5;d=p&1;break}}else{q=0;d=p&127}while(0);if((j+q|0)>>>0>s>>>0){d=675;break a}if(q)while(1){p=j+1|0;d=a[j>>0]&63|d<<6;if((q|0)>1){j=p;q=q+-1|0}else{j=p;break}}if(!(c[z>>2]&2))break;w=Hu(0,d,-1,-1,1)|0;d=(w|0)<0|(d|0)>127&(w|0)<128?d:w}else d=-1;while(0);if((o|0)!=(d|0)){d=681;break a}if(t>>>0<(c[(c[Y>>2]|0)+(u<<2)>>2]|0)>>>0)o=t;else break}}else j=v;break}default:{d=8;break a}}while(0);d=c[x>>2]|0;if(d>>>0>=(c[y>>2]|0)>>>0){d=6;break}else{o=e;v=j}}c:switch(d|0){case 6:{_=c[b>>2]|0;br(_,352604,50331806,352658);break}case 8:{_=c[b>>2]|0;Dr(_,352604,667);break}case 27:{Dr(s,343968,282);break}case 47:{Dr(s,343968,282);break}case 70:{Dr(q,343968,282);break}case 93:{Dr(s,343968,282);break}case 113:{Dr(s,343968,282);break}case 137:{Dr(c[b>>2]|0,343968,282);break}case 156:{Dr(c[b>>2]|0,343968,282);break}case 166:{Dr(q,352604,70);break}case 185:{Dr(q,343968,282);break}case 208:{Dr(q,343968,282);break}case 218:{Dr(q,352604,70);break}case 237:{Dr(q,343968,282);break}case 260:{Dr(q,343968,282);break}case 285:{Dr(q,343968,282);break}case 306:{Dr(q,343968,282);break}case 309:{b=e;d=680;break}case 328:{Dr(q,343968,282);break}case 330:{b=j;d=680;break}case 331:{e=c[b>>2]|0;d=c[K>>2]|0;n=c[L>>2]|0;if(!(t>>>0>=d>>>0&t>>>0<n>>>0))Dr(e,343968,282);i=o+2|0;g=a[t>>0]|0;j=g&255;do if(g<<24>>24<=-1){if((g&255)<192)Dr(e,343968,282);if((g&255)<224){m=1;C=j&31;break}if((g&255)<240){m=2;C=j&15;break}if((g&255)<248){m=3;C=j&7;break}if((g&255)<252){m=4;C=j&3;break}if((g&255)<254){m=5;C=j&1;break}if(g<<24>>24==-1)Dr(e,343968,282);else{m=6;C=0}}else{m=0;C=j&127}while(0);if((i+m|0)>>>0>n>>>0)Dr(e,343968,282);if(!m)m=C;else{g=C;while(1){j=i+1|0;g=a[i>>0]&63|g<<6;if((m|0)>1){i=j;m=m+-1|0}else{i=j;m=g;break}}}if(!(i>>>0>=d>>>0&i>>>0<n>>>0))Dr(e,343968,282);j=i+1|0;g=a[i>>0]|0;i=g&255;do if(g<<24>>24<=-1){if((g&255)<192)Dr(e,343968,282);if((g&255)<224){k=1;H=i&31;break}if((g&255)<240){k=2;H=i&15;break}if((g&255)<248){k=3;H=i&7;break}if((g&255)<252){k=4;H=i&3;break}if((g&255)<254){k=5;H=i&1;break}if(g<<24>>24==-1)Dr(e,343968,282);else{k=6;H=0}}else{k=0;H=i&127}while(0);if((j+k|0)>>>0>n>>>0)Dr(e,343968,282);if(!k)k=H;else{g=H;while(1){i=j+1|0;g=a[j>>0]&63|g<<6;if((k|0)>1){j=i;k=k+-1|0}else{j=i;k=g;break}}}if(!(j>>>0>=d>>>0&j>>>0<n>>>0))Dr(e,343968,282);i=j+1|0;g=a[j>>0]|0;j=g&255;do if(g<<24>>24>-1){h=0;f=j&127}else{if((g&255)<192)Dr(e,343968,282);if((g&255)<224){h=1;f=j&31;break}if((g&255)<240){h=2;f=j&15;break}if((g&255)<248){h=3;f=j&7;break}if((g&255)<252){h=4;f=j&3;break}if((g&255)<254){h=5;f=j&1;break}if(g<<24>>24!=-1){h=6;f=0;break}Dr(e,343968,282)}while(0);if((i+h|0)>>>0>n>>>0)Dr(e,343968,282);if(h)while(1){g=i+1|0;f=a[i>>0]&63|f<<6;if((h|0)>1){i=g;h=h+-1|0}else{i=g;break}}h=f>>>1;h=i+((f&1|0)==0?h:0-h|0)|0;g=0;f=v;while(1){if(g>>>0>=m>>>0?(R=ny(b,h,f)|0,R|0):0)break;f=ny(b,i,f)|0;if(!f){d=681;break c}g=g+1|0;if(g>>>0>k>>>0){d=681;break c}}b=R;d=680;break}case 394:{n=c[b>>2]|0;j=c[K>>2]|0;d=c[L>>2]|0;if(!(t>>>0>=j>>>0&t>>>0<d>>>0))Dr(n,343968,282);g=o+2|0;f=a[t>>0]|0;h=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(n,343968,282);if((f&255)<224){A=1;D=h&31;break}if((f&255)<240){A=2;D=h&15;break}if((f&255)<248){A=3;D=h&7;break}if((f&255)<252){A=4;D=h&3;break}if((f&255)<254){A=5;D=h&1;break}if(f<<24>>24==-1)Dr(n,343968,282);else{A=6;D=0}}else{A=0;D=h&127}while(0);if((g+A|0)>>>0>d>>>0)Dr(n,343968,282);if(!A)e=D;else{i=A;f=D;while(1){h=g+1|0;f=a[g>>0]&63|f<<6;if((i|0)>1){g=h;i=i+-1|0}else{g=h;e=f;break}}}if(!(g>>>0>=j>>>0&g>>>0<d>>>0))Dr(n,343968,282);h=g+1|0;f=a[g>>0]|0;g=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(n,343968,282);if((f&255)<224){E=1;I=g&31;break}if((f&255)<240){E=2;I=g&15;break}if((f&255)<248){E=3;I=g&7;break}if((f&255)<252){E=4;I=g&3;break}if((f&255)<254){E=5;I=g&1;break}if(f<<24>>24==-1)Dr(n,343968,282);else{E=6;I=0}}else{E=0;I=g&127}while(0);if((h+E|0)>>>0>d>>>0)Dr(n,343968,282);if(!E)k=I;else{i=E;f=I;while(1){g=h+1|0;f=a[h>>0]&63|f<<6;if((i|0)>1){h=g;i=i+-1|0}else{h=g;k=f;break}}}if(!(h>>>0>=j>>>0&h>>>0<d>>>0))Dr(n,343968,282);g=h+1|0;f=a[h>>0]|0;h=f&255;do if(f<<24>>24>-1){N=0;O=h&127}else{if((f&255)<192)Dr(n,343968,282);if((f&255)<224){N=1;O=h&31;break}if((f&255)<240){N=2;O=h&15;break}if((f&255)<248){N=3;O=h&7;break}if((f&255)<252){N=4;O=h&3;break}if((f&255)<254){N=5;O=h&1;break}if(f<<24>>24!=-1){N=6;O=0;break}Dr(n,343968,282)}while(0);if((g+N|0)>>>0>d>>>0)Dr(n,343968,282);if(!N)m=O;else{i=N;f=O;while(1){h=g+1|0;f=a[g>>0]&63|f<<6;if((i|0)>1){g=h;i=i+-1|0}else{g=h;m=f;break}}}if(!(g>>>0>=j>>>0&g>>>0<d>>>0))Dr(n,343968,282);i=g+1|0;f=a[g>>0]|0;g=f&255;do if(f<<24>>24>-1){Q=0;S=g&127}else{if((f&255)<192)Dr(n,343968,282);if((f&255)<224){Q=1;S=g&31;break}if((f&255)<240){Q=2;S=g&15;break}if((f&255)<248){Q=3;S=g&7;break}if((f&255)<252){Q=4;S=g&3;break}if((f&255)<254){Q=5;S=g&1;break}if(f<<24>>24!=-1){Q=6;S=0;break}Dr(n,343968,282)}while(0);if((i+Q|0)>>>0>d>>>0)Dr(n,343968,282);if(!Q)f=S;else{h=Q;f=S;while(1){g=i+1|0;f=a[i>>0]&63|f<<6;if((h|0)>1){i=g;h=h+-1|0}else{i=g;break}}}j=f>>>1;j=(f&1|0)==0?j:0-j|0;d:do if(!k){f=0;g=v}else{f=0;g=v;do{h=ny(b,i,g)|0;if(!h)break d;g=h;f=f+1|0}while(f>>>0<k>>>0)}while(0);if(f>>>0<e>>>0){d=681;break}k=i+j|0;e:do if(m){f:while(1){h=ny(b,k,g)|0;if(h|0){X=h;break e}if((f|0)==(e|0)){d=681;break c}i=c[b>>2]|0;j=c[W>>2]|0;if(g>>>0<j>>>0?1:g>>>0>(c[V>>2]|0)>>>0){b=i;d=489;break}else h=m;do{do{g=g+-1|0;if(g>>>0<j>>>0){b=i;d=489;break f}}while((a[g>>0]&-64)<<24>>24==-128);h=h+-1|0}while((h|0)!=0);f=f+-1|0;if(f>>>0<e>>>0){d=681;break c}}if((d|0)==489)Dr(b,352604,70)}else{while(1){h=ny(b,k,g)|0;if(h|0){X=h;break e}if((f|0)==(e|0)){d=681;break c}if(g>>>0<(c[W>>2]|0)>>>0?1:g>>>0>(c[V>>2]|0)>>>0)break;f=f+-1|0;if(f>>>0<e>>>0){d=681;break c}}Y=c[b>>2]|0;Dr(Y,352604,70)}while(0);b=X;d=680;break}case 491:{m=c[b>>2]|0;k=c[L>>2]|0;if(!(t>>>0<k>>>0?t>>>0>=(c[K>>2]|0)>>>0:0))Dr(m,343968,282);h=o+2|0;f=a[t>>0]|0;j=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(m,343968,282);if((f&255)<224){i=1;g=j&31;break}if((f&255)<240){i=2;g=j&15;break}if((f&255)<248){i=3;g=j&7;break}if((f&255)<252){i=4;g=j&3;break}if((f&255)<254){i=5;g=j&1;break}if(f<<24>>24==-1)Dr(m,343968,282);else{i=6;g=0}}else{i=0;g=j&127}while(0);if((h+i|0)>>>0>k>>>0)Dr(m,343968,282);if(i)while(1){f=h+1|0;g=a[h>>0]&63|g<<6;if((i|0)>1){h=f;i=i+-1|0}else{h=f;break}}if(g>>>0>=(c[U>>2]|0)>>>0){X=m;Dr(X,352604,667)}X=(c[Y>>2]|0)+(g<<2)|0;f=c[X>>2]|0;c[X>>2]=v;b=ny(b,h,v)|0;if(!b){c[(c[Y>>2]|0)+(g<<2)>>2]=f;d=681;break}else{d=680;break}}case 514:{d=c[b>>2]|0;j=c[K>>2]|0;k=c[L>>2]|0;if(!(t>>>0>=j>>>0&t>>>0<k>>>0))Dr(d,343968,282);h=o+2|0;f=a[t>>0]|0;g=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(d,343968,282);if((f&255)<224){B=1;n=g&31;break}if((f&255)<240){B=2;n=g&15;break}if((f&255)<248){B=3;n=g&7;break}if((f&255)<252){B=4;n=g&3;break}if((f&255)<254){B=5;n=g&1;break}if(f<<24>>24==-1)Dr(d,343968,282);else{B=6;n=0}}else{B=0;n=g&127}while(0);if((h+B|0)>>>0>k>>>0)Dr(d,343968,282);if(B){i=B;f=n;while(1){g=h+1|0;f=a[h>>0]&63|f<<6;if((i|0)>1){h=g;i=i+-1|0}else{h=g;n=f;break}}}if(!(h>>>0>=j>>>0&h>>>0<k>>>0))Dr(d,343968,282);g=h+1|0;f=a[h>>0]|0;h=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(d,343968,282);if((f&255)<224){F=1;J=h&31;break}if((f&255)<240){F=2;J=h&15;break}if((f&255)<248){F=3;J=h&7;break}if((f&255)<252){F=4;J=h&3;break}if((f&255)<254){F=5;J=h&1;break}if(f<<24>>24==-1)Dr(d,343968,282);else{F=6;J=0}}else{F=0;J=h&127}while(0);if((g+F|0)>>>0>k>>>0)Dr(d,343968,282);if(!F)f=J;else{i=g;h=F;f=J;while(1){g=i+1|0;f=a[i>>0]&63|f<<6;if((h|0)>1){i=g;h=h+-1|0}else break}}if((f|0)==0?1:(f+n|0)>>>0>(c[U>>2]|0)>>>0){X=d;Dr(X,352604,667)}k=c[d+68>>2]|0;i=c[d+52>>2]|0;h=k-i+528|0;i=i+h|0;j=d+56|0;m=c[j>>2]|0;do if(m>>>0<i>>>0)if((c[d+60>>2]|0)>>>0<i>>>0){Er(d,h,1)|0;i=c[b>>2]|0;d=i;k=c[i+68>>2]|0;i=c[i+56>>2]|0;break}else{c[j>>2]=i;break}else i=m;while(0);j=f<<2;h=d+68|0;if(k>>>0>=i>>>0)mr(d,5237);if(j>>>0>2147483646)br(d,342583,50336889,342539);f=ts(c[d+44>>2]|0,j,4,T)|0;if(!f)er(d,342583,5246);X=c[h>>2]|0;c[X>>2]=10;c[X+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16;f=c[T>>2]|0;s6(f|0,(c[Y>>2]|0)+(n<<2)|0,j|0)|0;u6((c[Y>>2]|0)+(n<<2)|0,0,j|0)|0;g=ny(b,g,v)|0;if(!g){s6((c[Y>>2]|0)+(n<<2)|0,f|0,j|0)|0;f=c[b>>2]|0;Y=f+68|0;b=c[Y>>2]|0;X=b+-16|0;c[Y>>2]=X;Y=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[X>>2]=2;if(!(Y&8)){d=681;break}X=b+4|0;Y=(c[X>>2]|0)+-1|0;c[X>>2]=Y;if(Y|0){d=681;break}qr(c[f+44>>2]|0,b);d=681;break}f=c[b>>2]|0;Y=f+68|0;b=c[Y>>2]|0;X=b+-16|0;c[Y>>2]=X;Y=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[X>>2]=2;if(Y&8|0?(X=b+4|0,Y=(c[X>>2]|0)+-1|0,c[X>>2]=Y,(Y|0)==0):0)qr(c[f+44>>2]|0,b);b=g;d=680;break}case 571:{f=c[b>>2]|0;j=c[f+68>>2]|0;g=c[f+52>>2]|0;h=j-g+528|0;g=g+h|0;i=f+56|0;k=c[i>>2]|0;do if(k>>>0<g>>>0)if((c[f+60>>2]|0)>>>0<g>>>0){Er(f,h,1)|0;g=c[b>>2]|0;i=g;j=c[g+68>>2]|0;g=c[g+56>>2]|0;break}else{c[i>>2]=g;i=f;break}else{i=f;g=k}while(0);f=c[U>>2]<<2;h=i+68|0;if(j>>>0>=g>>>0)mr(i,5237);if(f>>>0>2147483646)br(i,342583,50336889,342539);f=ts(c[i+44>>2]|0,f,4,T)|0;if(!f)er(i,342583,5246);k=c[h>>2]|0;c[k>>2]=10;c[k+8>>2]=f;k=f+4|0;c[k>>2]=(c[k>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16;k=c[T>>2]|0;s6(k|0,c[Y>>2]|0,c[U>>2]<<2|0)|0;j=c[b>>2]|0;h=c[L>>2]|0;if(!(t>>>0<h>>>0?t>>>0>=(c[K>>2]|0)>>>0:0))Dr(j,343968,282);i=o+2|0;f=a[t>>0]|0;g=f&255;do if(f<<24>>24<=-1){if((f&255)<192)Dr(j,343968,282);if((f&255)<224){G=1;M=g&31;break}if((f&255)<240){G=2;M=g&15;break}if((f&255)<248){G=3;M=g&7;break}if((f&255)<252){G=4;M=g&3;break}if((f&255)<254){G=5;M=g&1;break}if(f<<24>>24==-1)Dr(j,343968,282);else{G=6;M=0}}else{G=0;M=g&127}while(0);if((i+G|0)>>>0>h>>>0)Dr(j,343968,282);if(!G)f=M;else{h=G;f=M;while(1){g=i+1|0;f=a[i>>0]&63|f<<6;if((h|0)>1){i=g;h=h+-1|0}else{i=g;break}}}h=f>>>1;h=(f&1|0)==0?h:0-h|0;f=v;g=(ny(b,i,f)|0)!=0;if(w<<24>>24==13){if(g)d=603}else if(!g)d=603;if((d|0)==603?(P=ny(b,i+h|0,f)|0,P|0):0){f=c[b>>2]|0;Y=f+68|0;b=c[Y>>2]|0;X=b+-16|0;c[Y>>2]=X;Y=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[X>>2]=2;if(Y&8|0?(X=b+4|0,Y=(c[X>>2]|0)+-1|0,c[X>>2]=Y,(Y|0)==0):0)qr(c[f+44>>2]|0,b);b=P;d=680;break}s6(c[Y>>2]|0,k|0,c[U>>2]<<2|0)|0;f=c[b>>2]|0;Y=f+68|0;b=c[Y>>2]|0;X=b+-16|0;c[Y>>2]=X;Y=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[X>>2]=2;if((Y&8|0)!=0?(X=b+4|0,Y=(c[X>>2]|0)+-1|0,c[X>>2]=Y,(Y|0)==0):0){qr(c[f+44>>2]|0,b);d=681}else d=681;break}case 629:{Dr(q,343968,282);break}case 653:{Dr(r,343968,282);break}case 675:{Dr(r,343968,282);break}case 682:{Dr(b,352604,667);break}}if((d|0)==680){c[Z>>2]=(c[Z>>2]|0)+-1;Z=b;l=_;return Z|0}else if((d|0)==681){c[Z>>2]=(c[Z>>2]|0)+-1;Z=0;l=_;return Z|0}return 0}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+68|0;if(!b){d=c[g>>2]|0;b=c[a+64>>2]|0;b=(d|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if(((c[b>>2]|0)==9?(e=c[b+8>>2]|0,(e|0)!=0):0)?(c[e>>2]&-134217728|0)==1476395008:0)return}else d=c[g>>2]|0;b=c[a+168>>2]|0;e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4153);c[g>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[g>>2]|0;if(f>>>0>=(c[e>>2]|0)>>>0)mr(a,1093);b=a+64|0;d=c[b>>2]|0;if((f|0)==(d|0))Cr(a,376,0);c[g>>2]=f+16;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){f=(c[f+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Ht(a);d=c[b>>2]|0;b=(c[g>>2]|0)-d>>4;if(!b)Cr(a,376,-1);e=d+(b+-1<<4)|0;f=c[d>>2]|0;b=c[d+8>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[e>>2]=2;c[g>>2]=(c[g>>2]|0)+-16;if(!(f&8))return;f=b+4|0;g=(c[f>>2]|0)+-1|0;c[f>>2]=g;if(g|0)return;qr(c[a+44>>2]|0,b);return}function py(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=b+68|0;u=c[r>>2]|0;s=b+64|0;f=u-(c[s>>2]|0)|0;t=f>>4;if(u>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(t>>>0>2147483646)br(b,342583,50336889,342539);q=b+44|0;e=ts(c[q>>2]|0,t,1,w)|0;if(!e)er(b,342583,5246);u=c[r>>2]|0;c[u>>2]=10;c[u+8>>2]=e;u=e+4|0;c[u>>2]=(c[u>>2]|0)+1;u=c[r>>2]|0;c[r>>2]=u+16;u=c[u+8>>2]|0;p=u+20|0;g=c[p>>2]|0;e=g;if((f|0)<=0){t=e;v=e;v=t-v|0;cr(b,u,v);us(b);l=w;return}o=(d|0)==0;f=0;d=e;m=g+t|0;while(1){if(o){j=rt(b,f)|0;if((m-d|0)>>>0<7){e=d-e|0;g=e+71+(e>>>2)|0;if(g>>>0<e>>>0){v=31;break}cr(b,u,g);n=c[p>>2]|0;d=n+e|0;e=n;n=n+g|0}else n=m;if(j>>>0<128){k=0;g=1}else{if(j>>>0>=2048)if(j>>>0>=65536)if(j>>>0>=2097152)if(j>>>0<67108864){g=5;v=38}else g=j>>>31|6;else{g=4;v=38}else{g=3;v=38}else{g=2;v=38}if((v|0)==38)v=0;k=a[343316+(g+-1)>>0]|0;m=g;do{m=m+-1|0;a[d+m>>0]=j&63|128;j=j>>>6}while((m|0)>1)}a[d>>0]=j+(k&255);d=d+g|0;g=n}else{g=c[s>>2]|0;if(f>>>0>=(c[r>>2]|0)-g>>4>>>0){v=11;break}i=+Ar(b,g+(f<<4)|0);k=c[s>>2]|0;j=k+(f<<4)|0;n=c[j>>2]|0;k=k+(f<<4)+8|0;g=c[k>>2]|0;c[j>>2]=0;h[k>>3]=i;if(n&8|0?(k=g+4|0,n=(c[k>>2]|0)+-1|0,c[k>>2]=n,(n|0)==0):0)qr(c[q>>2]|0,g);k=~~i;if(k>>>0>1114111|+(k|0)!=i){v=16;break}if((m-d|0)>>>0<6){e=d-e|0;g=e+70+(e>>>2)|0;if(g>>>0<e>>>0){v=19;break}cr(b,u,g);j=c[p>>2]|0;d=j+e|0;e=j;j=j+g|0}else j=m;do if(k>>>0>=128){if(k>>>0<2048){a[d>>0]=k>>>6&31|192;a[d+1>>0]=k&63|128;g=2;break}if(k>>>0<65536){a[d>>0]=k>>>12&15|224;a[d+1>>0]=k>>>6&63|128;a[d+2>>0]=k&63|128;g=3;break}else{g=k+-65536|0;a[d>>0]=-19;a[d+1>>0]=g>>>16&15|160;a[d+2>>0]=g>>>10&63|128;a[d+3>>0]=-19;a[d+4>>0]=g>>>6&15|176;a[d+5>>0]=g&63|128;g=6;break}}else{a[d>>0]=k;g=1}while(0);d=d+g|0;g=j}f=f+1|0;if((f|0)<(t|0))m=g;else{v=43;break}}if((v|0)==11)Cr(b,300,f);else if((v|0)==16)br(b,352588,50331837,343797);else if((v|0)==19)br(b,344105,50331712,342539);else if((v|0)==31)br(b,344105,50331712,342539);else if((v|0)==43){v=d-e|0;cr(b,u,v);us(b);l=w;return}}function qy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;f=a+68|0;e=c[f>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4361);c[f>>2]=e+16;b=a+64|0;if(c[a+72>>2]|0?(d=c[b>>2]|0,g=d+-16|0,c[e>>2]=c[g>>2],c[e+4>>2]=c[g+4>>2],c[e+8>>2]=c[g+8>>2],c[e+12>>2]=c[g+12>>2],c[g>>2]&8|0):0){g=(c[d+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}g=c[b>>2]|0;e=(c[f>>2]|0)-g>>4;d=e+-1|0;f=g+(d<<4)|0;b=e|0?f:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){j=a+304|0;j=c[j>>2]|0;j=j+44|0;j=c[j>>2]|0;j=j+28|0;ar(a,2476,-1,j)}b=c[b+8>>2]|0;if(!b){j=a+304|0;j=c[j>>2]|0;j=j+44|0;j=c[j>>2]|0;j=j+28|0;ar(a,2476,-1,j)}if((c[b>>2]&-134217728|0)!=1476395008){j=a+304|0;j=c[j>>2]|0;j=j+44|0;j=c[j>>2]|0;j=j+28|0;ar(a,2476,-1,j)}if(!e)Cr(a,376,0);if(!d){l=i;return}c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];t6(g+16|0,g|0,d<<4|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];l=i;return}function ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+68|0;e=c[i>>2]|0;f=a+64|0;d=c[f>>2]|0;g=e-d>>4;h=((b|0)<0?g:0)+b|0;if(h>>>0>=g>>>0)Cr(a,300,b);switch(c[d+(h<<4)>>2]|0){case 5:case 8:case 9:case 10:{g=c[d+(h<<4)+8>>2]|0;break}default:g=0}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4341);c[i>>2]=e+16;c[e>>2]=5;c[e+8>>2]=g;d=c[f>>2]|0;e=(c[i>>2]|0)-d>>4;if(!e)Cr(a,376,-1);f=d+(e+-1<<4)|0;b=((h|0)<0?e:0)+h|0;if(b>>>0>=e>>>0)Cr(a,376,h);e=d+(b<<4)|0;h=c[e>>2]|0;b=c[d+(b<<4)+8>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(!(h&8))return g|0;h=b+4|0;i=(c[h>>2]|0)+-1|0;c[h>>2]=i;if(i|0)return g|0;qr(c[a+44>>2]|0,b);return g|0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;o=s;r=a+68|0;q=a+64|0;p=c[q>>2]|0;n=(c[r>>2]|0)-p>>4;f=(b|0)<0;e=(f?n:0)+b|0;e=e>>>0<n>>>0?p+(e<<4)|0:0;e=(e|0)==0?368:e;switch(c[e>>2]|0){case 9:{e=c[e+8>>2]|0;if(!e)ar(a,2416,b,342926);else g=e;break}case 6:case 10:{Mr(a,b);g=c[(c[(f?r:q)>>2]|0)+(b<<4)+8>>2]|0;break}default:ar(a,2416,b,342926)}Ir(a,-1,1);p=c[q>>2]|0;e=(c[r>>2]|0)-p>>4;e=e|0?p+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if(!((c[e>>2]|0)==8?(d=c[e+8>>2]|0,(d|0)!=0):0)){Xr(a,-1)|0;p=c[q>>2]|0;d=(c[r>>2]|0)-p>>4;d=d|0?p+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)d=c[d+8>>2]|0;else d=0}p=(zr(a,g,d,c[d+16>>2]|0,o,1)|0)==0;d=c[r>>2]|0;n=a+56|0;e=d>>>0<(c[n>>2]|0)>>>0;if(p){if(!e)mr(a,4162);f=d+16|0;c[r>>2]=f;e=c[q>>2]|0;f=f-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);o=e+(d<<4)|0;p=e+(f+-1<<4)|0;q=c[o>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(o|0,o+16|0,p-o|0)|0;c[p>>2]=2;c[r>>2]=(c[r>>2]|0)+-16;if(!(q&8)){l=s;return}q=d+4|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(r|0){l=s;return}qr(c[a+44>>2]|0,d);l=s;return}if(!e)mr(a,4604);f=Or(a,40)|0;p=a+44|0;d=c[p>>2]|0;c[f>>2]=134234241;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[d>>2]=f;b=c[r>>2]|0;c[b>>2]=9;c[b+8>>2]=f;b=f+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[r>>2]|0;g=b+16|0;c[r>>2]=g;d=c[a+112>>2]|0;c[f+20>>2]=d;if(d|0){k=d+4|0;c[k>>2]=(c[k>>2]|0)+1}if(!(c[o>>2]&8)){if(g>>>0>=(c[n>>2]|0)>>>0)mr(a,1093);d=c[q>>2]|0;e=g-d>>4;if(e>>>0<=1)Cr(a,376,-2);m=d+(e+-2<<4)|0;c[r>>2]=b+32;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];if(c[g>>2]&8|0){m=(c[b+24>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}d=c[r>>2]|0;f=d-(c[q>>2]|0)|0;m=f>>4;b=m+-2|0;if(m>>>0<=1)Cr(a,300,-2);k=a+304|0;e=c[(c[k>>2]|0)+136>>2]|0;if(d>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[r>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[q>>2]|0;i=(c[r>>2]|0)-g>>4;f=((f|0)<32?i:0)+b|0;if(f>>>0>=i>>>0)Cr(a,376,b);if((i|0)==1)Cr(a,376,-2);e=i+-2|0;m=a+72|0;d=c[m>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,g+(f<<4)|0,g+(i+-1<<4)|0,c[g+(e<<4)>>2]|0,c[g+(e<<4)+4>>2]|0,+h[g+(e<<4)+8>>3],d)|0;Nt(a);e=c[r>>2]|0;f=c[n>>2]|0;if(e>>>0>=f>>>0)mr(a,4185);i=c[o>>2]&1;b=e+16|0;c[r>>2]=b;c[e>>2]=4;c[e+8>>2]=i;i=b-(c[q>>2]|0)|0;g=i>>4;j=g+-2|0;if(g>>>0<=1)Cr(a,300,-2);d=c[(c[k>>2]|0)+140>>2]|0;if(b>>>0>=f>>>0)mr(a,4153);c[r>>2]=e+32;c[b>>2]=8;c[e+24>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[q>>2]|0;g=(c[r>>2]|0)-b>>4;f=((i|0)<32?g:0)+j|0;if(f>>>0>=g>>>0)Cr(a,376,j);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;d=c[m>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,b+(f<<4)|0,b+(g+-1<<4)|0,c[b+(e<<4)>>2]|0,c[b+(e<<4)+4>>2]|0,+h[b+(e<<4)+8>>3],d)|0;Nt(a)}else{d=c[o+4>>2]|0;e=g>>>0<(c[n>>2]|0)>>>0;do if(!d)if(e){i=b+32|0;c[r>>2]=i;break}else mr(a,4162);else if(e){c[r>>2]=b+32;c[g>>2]=9;c[b+24>>2]=d;i=d+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[r>>2]|0;break}else mr(a,4153);while(0);f=i-(c[q>>2]|0)|0;k=f>>4;b=k+-2|0;d=i;if(k>>>0<=1)Cr(a,300,-2);j=a+304|0;e=c[(c[j>>2]|0)+292>>2]|0;if(d>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[r>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[q>>2]|0;i=(c[r>>2]|0)-g>>4;f=((f|0)<32?i:0)+b|0;if(f>>>0>=i>>>0)Cr(a,376,b);if((i|0)==1)Cr(a,376,-2);e=i+-2|0;k=a+72|0;d=c[k>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,g+(f<<4)|0,g+(i+-1<<4)|0,c[g+(e<<4)>>2]|0,c[g+(e<<4)+4>>2]|0,+h[g+(e<<4)+8>>3],d)|0;Nt(a);d=c[o+8>>2]|0;e=c[r>>2]|0;f=e>>>0<(c[n>>2]|0)>>>0;do if(!d)if(f){m=e+16|0;c[r>>2]=m;break}else mr(a,4162);else if(f){c[r>>2]=e+16;c[e>>2]=9;c[e+8>>2]=d;m=d+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[r>>2]|0;break}else mr(a,4153);while(0);f=m-(c[q>>2]|0)|0;g=f>>4;i=g+-2|0;e=m;if(g>>>0<=1)Cr(a,300,-2);d=c[(c[j>>2]|0)+332>>2]|0;if(e>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[r>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[q>>2]|0;g=(c[r>>2]|0)-b>>4;f=((f|0)<32?g:0)+i|0;if(f>>>0>=g>>>0)Cr(a,376,i);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;d=c[k>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,b+(f<<4)|0,b+(g+-1<<4)|0,c[b+(e<<4)>>2]|0,c[b+(e<<4)+4>>2]|0,+h[b+(e<<4)+8>>3],d)|0;Nt(a)}d=c[r>>2]|0;e=c[n>>2]|0;if(d>>>0>=e>>>0)mr(a,4185);g=(c[o>>2]|0)>>>1&1;f=d+16|0;c[r>>2]=f;c[d>>2]=4;c[d+8>>2]=g;g=f-(c[q>>2]|0)|0;m=g>>4;i=m+-2|0;if(m>>>0<=1)Cr(a,300,-2);m=a+304|0;b=c[(c[m>>2]|0)+148>>2]|0;if(f>>>0>=e>>>0)mr(a,4153);c[r>>2]=d+32;c[f>>2]=8;c[d+24>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[q>>2]|0;j=(c[r>>2]|0)-b>>4;f=((g|0)<32?j:0)+i|0;if(f>>>0>=j>>>0)Cr(a,376,i);if((j|0)==1)Cr(a,376,-2);e=j+-2|0;k=a+72|0;d=c[k>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,b+(f<<4)|0,b+(j+-1<<4)|0,c[b+(e<<4)>>2]|0,c[b+(e<<4)+4>>2]|0,+h[b+(e<<4)+8>>3],d)|0;Nt(a);b=c[r>>2]|0;f=c[n>>2]|0;if(b>>>0>=f>>>0)mr(a,4185);i=(c[o>>2]|0)>>>2&1;e=b+16|0;c[r>>2]=e;c[b>>2]=4;c[b+8>>2]=i;i=e-(c[q>>2]|0)|0;o=i>>4;j=o+-2|0;if(o>>>0<=1)Cr(a,300,-2);d=c[(c[m>>2]|0)+144>>2]|0;if(e>>>0>=f>>>0)mr(a,4153);c[r>>2]=b+32;c[e>>2]=8;c[b+24>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[q>>2]|0;g=(c[r>>2]|0)-b>>4;f=((i|0)<32?g:0)+j|0;if(f>>>0>=g>>>0)Cr(a,376,j);if((g|0)==1)Cr(a,376,-2);e=g+-2|0;d=c[k>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,b+(f<<4)|0,b+(g+-1<<4)|0,c[b+(e<<4)>>2]|0,c[b+(e<<4)+4>>2]|0,+h[b+(e<<4)+8>>3],d)|0;Nt(a);e=c[q>>2]|0;f=(c[r>>2]|0)-e>>4;if(!f)Cr(a,376,-1);b=e+(f+-1<<4)|0;d=f+-3|0;if(f>>>0<=2)Cr(a,376,-3);q=e+(d<<4)|0;a=c[q>>2]|0;e=c[e+(d<<4)+8>>2]|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];c[b>>2]=2;d=(c[r>>2]|0)+-16|0;c[r>>2]=d;do if(a&8){q=e+4|0;a=(c[q>>2]|0)+-1|0;c[q>>2]=a;if(a|0)break;qr(c[p>>2]|0,e);d=c[r>>2]|0}while(0);a=d+-16|0;c[r>>2]=a;r=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[a>>2]=2;if(!(r&8)){l=s;return}a=d+4|0;r=(c[a>>2]|0)+-1|0;c[a>>2]=r;if(r|0){l=s;return}qr(c[p>>2]|0,d);l=s;return}function ty(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=a+68|0;i=c[A>>2]|0;z=a+64|0;j=c[z>>2]|0;h=i-j>>4;y=((b|0)<0?h:0)+b|0;if(y>>>0>=h>>>0)Cr(a,300,b);x=(y|0)<0;k=(x?h:0)+y|0;h=k>>>0<h>>>0;b=h?j+(k<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,y,342926);if(!(c[b+8>>2]|0))ar(a,2130,y,342926);if(!h)Cr(a,300,y);v=a+304|0;b=c[(c[v>>2]|0)+136>>2]|0;w=a+56|0;if(i>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=i+16;c[i>>2]=8;c[i+8>>2]=b;h=b+4|0;c[h>>2]=(c[h>>2]|0)+1;h=c[z>>2]|0;i=(c[A>>2]|0)-h>>4;b=((k|0)<0?i:0)+k|0;if(b>>>0>=i>>>0)Cr(a,376,k);j=Kr(a,h+(b<<4)|0,h+(i+-1<<4)|0)|0;h=c[z>>2]|0;i=(c[A>>2]|0)-h>>4;b=i+-2|0;if(i>>>0<=1)Cr(a,376,-2);k=h+(b<<4)|0;l=h+(i+-1<<4)|0;u=c[k>>2]|0;b=c[h+(b<<4)+8>>2]|0;t6(k|0,k+16|0,l-k|0)|0;c[l>>2]=2;h=(c[A>>2]|0)+-16|0;c[A>>2]=h;if((u&8|0)!=0?(l=b+4|0,u=(c[l>>2]|0)+-1|0,c[l>>2]=u,(u|0)==0):0){qr(c[a+44>>2]|0,b);h=c[A>>2]|0}i=h-(c[z>>2]|0)|0;if(!j){u=-1;l=0;b=0;i=i>>4}else{k=i>>4;u=(i|0)<16?-2147483648:k+-1|0;l=1;b=64;i=k}k=(x?i:0)+y|0;if(k>>>0>=i>>>0)Cr(a,300,y);i=c[(c[v>>2]|0)+140>>2]|0;if(h>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=h+16;c[h>>2]=8;c[h+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=((k|0)<0?j:0)+k|0;if(h>>>0>=j>>>0)Cr(a,376,k);k=Kr(a,i+(h<<4)|0,i+(j+-1<<4)|0)|0;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=j+-2|0;if(j>>>0<=1)Cr(a,376,-2);C=i+(h<<4)|0;B=i+(j+-1<<4)|0;j=c[C>>2]|0;h=c[i+(h<<4)+8>>2]|0;t6(C|0,C+16|0,B-C|0)|0;c[B>>2]=2;c[A>>2]=(c[A>>2]|0)+-16;if(j&8|0?(B=h+4|0,C=(c[B>>2]|0)+-1|0,c[B>>2]=C,(C|0)==0):0)qr(c[a+44>>2]|0,h);do if(k)if(!(is(a,-1)|0)){l=1;b=b|8;break}else{l=1;b=b|9;break}while(0);h=c[A>>2]|0;C=h-(c[z>>2]|0)>>4;k=(x?C:0)+y|0;if(k>>>0>=C>>>0)Cr(a,300,y);i=c[(c[v>>2]|0)+292>>2]|0;if(h>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=h+16;c[h>>2]=8;c[h+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=((k|0)<0?j:0)+k|0;if(h>>>0>=j>>>0)Cr(a,376,k);k=Kr(a,i+(h<<4)|0,i+(j+-1<<4)|0)|0;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=j+-2|0;if(j>>>0<=1)Cr(a,376,-2);D=i+(h<<4)|0;B=i+(j+-1<<4)|0;C=c[D>>2]|0;i=c[i+(h<<4)+8>>2]|0;t6(D|0,D+16|0,B-D|0)|0;c[B>>2]=2;h=(c[A>>2]|0)+-16|0;c[A>>2]=h;do if(C&8){C=i+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[a+44>>2]|0,i);h=c[A>>2]|0}while(0);if(!k){m=0;o=0}else{i=c[z>>2]|0;j=h-i>>4;if(!j)Cr(a,376,-1);i=i+(j+-1<<4)|0;do if((c[i>>2]|0)==2){o=0;q=h}else{i=(i|0)==0?368:i;switch(c[i>>2]|0){case 9:{m=i+8|0;p=h;break}case 6:{Mr(a,-1);p=c[A>>2]|0;m=p+-8|0;break}default:br(a,342676,100668335,343638)}h=c[m>>2]|0;if(!h)br(a,342676,100668335,343638);if(c[h>>2]&512|0){o=h;q=p;break}br(a,342676,100668335,343638)}while(0);m=1;b=b|128;h=q}D=h-(c[z>>2]|0)>>4;k=(x?D:0)+y|0;if(k>>>0>=D>>>0)Cr(a,300,y);i=c[(c[v>>2]|0)+332>>2]|0;if(h>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=h+16;c[h>>2]=8;c[h+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=((k|0)<0?j:0)+k|0;if(h>>>0>=j>>>0)Cr(a,376,k);k=Kr(a,i+(h<<4)|0,i+(j+-1<<4)|0)|0;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=j+-2|0;if(j>>>0<=1)Cr(a,376,-2);B=i+(h<<4)|0;C=i+(j+-1<<4)|0;D=c[B>>2]|0;i=c[i+(h<<4)+8>>2]|0;t6(B|0,B+16|0,C-B|0)|0;c[C>>2]=2;h=(c[A>>2]|0)+-16|0;c[A>>2]=h;do if(D&8){C=i+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[a+44>>2]|0,i);h=c[A>>2]|0}while(0);if(!k)n=0;else{i=c[z>>2]|0;j=h-i>>4;if(!j)Cr(a,376,-1);i=i+(j+-1<<4)|0;do if((c[i>>2]|0)==2){n=0;t=h}else{i=(i|0)==0?368:i;switch(c[i>>2]|0){case 9:{r=i+8|0;s=h;break}case 6:{Mr(a,-1);s=c[A>>2]|0;r=s+-8|0;break}default:br(a,342676,100668335,343638)}h=c[r>>2]|0;if(!h)br(a,342676,100668335,343638);if(c[h>>2]&512|0){n=h;t=s;break}br(a,342676,100668335,343638)}while(0);m=1;b=b|256;h=t}D=h-(c[z>>2]|0)>>4;k=(x?D:0)+y|0;if(k>>>0>=D>>>0)Cr(a,300,y);i=c[(c[v>>2]|0)+148>>2]|0;if(h>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=h+16;c[h>>2]=8;c[h+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=((k|0)<0?j:0)+k|0;if(h>>>0>=j>>>0)Cr(a,376,k);k=Kr(a,i+(h<<4)|0,i+(j+-1<<4)|0)|0;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=j+-2|0;if(j>>>0<=1)Cr(a,376,-2);B=i+(h<<4)|0;C=i+(j+-1<<4)|0;D=c[B>>2]|0;h=c[i+(h<<4)+8>>2]|0;t6(B|0,B+16|0,C-B|0)|0;c[C>>2]=2;c[A>>2]=(c[A>>2]|0)+-16;do if(D&8|0){C=h+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[a+44>>2]|0,h)}while(0);do if(k)if(!(is(a,-1)|0)){b=b|16;break}else{b=b|18;break}while(0);i=c[A>>2]|0;D=i-(c[z>>2]|0)>>4;k=(x?D:0)+y|0;if(k>>>0>=D>>>0)Cr(a,300,y);h=c[(c[v>>2]|0)+144>>2]|0;if(i>>>0>=(c[w>>2]|0)>>>0)mr(a,4153);c[A>>2]=i+16;c[i>>2]=8;c[i+8>>2]=h;i=h+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=((k|0)<0?j:0)+k|0;if(h>>>0>=j>>>0)Cr(a,376,k);k=Kr(a,i+(h<<4)|0,i+(j+-1<<4)|0)|0;i=c[z>>2]|0;j=(c[A>>2]|0)-i>>4;h=j+-2|0;if(j>>>0<=1)Cr(a,376,-2);B=i+(h<<4)|0;C=i+(j+-1<<4)|0;D=c[B>>2]|0;h=c[i+(h<<4)+8>>2]|0;t6(B|0,B+16|0,C-B|0)|0;c[C>>2]=2;c[A>>2]=(c[A>>2]|0)+-16;do if(D&8|0){C=h+4|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(D|0)break;qr(c[a+44>>2]|0,h)}while(0);do if(k)if(!(is(a,-1)|0)){b=b|32;break}else{b=b|36;break}while(0);if((l|0)!=0&(m|0)!=0)br(a,342676,100668335,343638);else{c[d>>2]=b;c[e>>2]=u;c[f>>2]=o;c[g>>2]=n;return}}function uy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=a+68|0;e=c[m>>2]|0;j=a+56|0;if(e>>>0>=(c[j>>2]|0)>>>0)mr(a,4361);c[m>>2]=e+16;l=a+64|0;if(c[a+72>>2]|0?(b=c[l>>2]|0,k=b+-16|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[k>>2]&8|0):0){k=(c[b+-8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}e=c[m>>2]|0;b=c[l>>2]|0;i=e-b|0;f=i>>4;k=f+-1|0;b=f|0?b+(k<<4)|0:0;b=(b|0)==0?368:b;switch(c[b>>2]|0){case 0:{d=e;break}case 9:{g=7;break}default:br(a,352771,100663321,352787)}if((g|0)==7){b=c[b+8>>2]|0;if(!b)br(a,352771,100663321,352787);if((c[b>>2]&-134217728|0)!=1342177280)br(a,352771,100663321,352787);d=e;if(!f)Cr(a,300,-1);b=c[(c[a+304>>2]|0)+404>>2]|0;if(d>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;e=(c[m>>2]|0)-d>>4;b=((i|0)<16?e:0)+k|0;if(b>>>0>=e>>>0)Cr(a,376,k);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[l>>2]|0;e=(c[m>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;j=d+(e+-1<<4)|0;k=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;d=(c[m>>2]|0)+-16|0;c[m>>2]=d;if((k&8|0)!=0?(j=b+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);d=c[m>>2]|0}e=c[l>>2]|0;d=d-e>>4;b=d+-2|0;if(d>>>0<=1)Cr(a,376,-2);j=e+(b<<4)|0;d=e+(d+-1<<4)|0;k=c[j>>2]|0;b=c[e+(b<<4)+8>>2]|0;t6(j|0,j+16|0,d-j|0)|0;c[d>>2]=2;d=(c[m>>2]|0)+-16|0;c[m>>2]=d;if((k&8|0)!=0?(j=b+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);d=c[m>>2]|0}}m=c[l>>2]|0;b=d-m>>4;b=b|0?m+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if(c[b>>2]|0){n=s;return +n}n=+h[b+8>>3];return +n}function vy(a,b){a=+a;b=+b;return +(+K(+a,+b))}function wy(a,b){a=+a;b=+b;var c=0;c=K4(b)|0;if(!c){b=s;return +b}if((c|0)==1&+B(+a)==1.0){b=s;return +b}b=+D(+a,+b);return +b}function xy(a){a=+a;return +(+B(+a))}function yy(a){a=+a;return +(+H(+a))}function zy(a){a=+a;return +(+I(+a))}function Ay(a){a=+a;return +(+J(+a))}function By(a){a=+a;return +(+N(+a))}function Cy(a){a=+a;return +(+E(+a))}function Dy(a){a=+a;return +(+L(+a))}function Ey(a){a=+a;return +(+A(+a))}function Fy(a){a=+a;return +(+M(+a))}function Gy(a){a=+a;if((K4(a)|0)>>>0<3)return +a;if(a>=-.5&a<.5){a=a<0.0?-0.0:0.0;return +a}else{a=+A(+(a+.5));return +a}return 0.0}function Hy(a){a=+a;return +(+F(+a))}function Iy(a){a=+a;return +(+C(+a))}function Jy(a){a=+a;return +(+G(+a))}function Ky(a){a=+a;return +(+z4(a))}function Ly(a){a=+a;return +(+H4(a))}function My(a){a=+a;return +(+G4(a))}function Ny(a){a=+a;return +(+J4(a))}function Oy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if((f|0)==37){f=b+24|0;i=c[f>>2]|0;e=(c[b+32>>2]|0)-i|0;if(e>>>0>4){e=a[i>>0]|0;if(e<<24>>24==117){e=a[344519+(d[i+1>>0]|0)>>0]|0;if((((e<<24>>24>-1?(h=a[344519+(d[i+2>>0]|0)>>0]|0,h<<24>>24>-1):0)?(j=a[344519+(d[i+3>>0]|0)>>0]|0,j<<24>>24>-1):0)?(k=a[344519+(d[i+4>>0]|0)>>0]|0,k<<24>>24>-1):0)?(g=(k<<24>>24)+((j<<24>>24)+((h<<24>>24)+(e<<24>>24<<4)<<4)<<4)|0,(g|0)>-1):0){c[f>>2]=i+5;break}else e=117}}else{if(e>>>0<=1){g=37;break}e=a[i>>0]|0}e=a[344519+(e&255)>>0]|0;if((e<<24>>24>-1?(l=a[344519+(d[i+1>>0]|0)>>0]|0,l<<24>>24>-1):0)?(m=(l<<24>>24)+(e<<24>>24<<4)|0,(m|0)>-1):0){c[f>>2]=i+2;g=m}else g=37}else g=f;while(0);k=b+8|0;j=b+16|0;f=c[k>>2]|0;e=f;do if(((c[j>>2]|0)-f|0)>>>0<7){h=c[b>>2]|0;i=b+12|0;e=f-(c[i>>2]|0)|0;f=e+71+(e>>>2)|0;if(f>>>0<e>>>0)br(h,344105,50331712,342539);else{b=b+20|0;cr(h,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;o=b+e|0;c[k>>2]=o;c[i>>2]=b;c[j>>2]=b+f;break}}else o=e;while(0);if(g>>>0<128){m=g;b=0;n=1;b=b&255;b=m+b|0;b=b&255;a[o>>0]=b;o=c[k>>2]|0;o=o+n|0;c[k>>2]=o;return}if(g>>>0>=2048)if(g>>>0>=65536)if(g>>>0>=2097152)if(g>>>0<67108864){e=5;n=21}else e=g>>>31|6;else{e=4;n=21}else{e=3;n=21}else{e=2;n=21}f=a[343316+(e+-1)>>0]|0;h=e;do{h=h+-1|0;a[o+h>>0]=g&63|128;g=g>>>6}while((h|0)>1);n=f&255;n=g+n|0;n=n&255;a[o>>0]=n;o=c[k>>2]|0;o=o+e|0;c[k>>2]=o;return}function Py(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;t=u;c[t>>2]=b;Xr(b,0)|0;h=b+68|0;g=c[h>>2]|0;f=c[b+64>>2]|0;f=(g|0)!=(f|0)?f:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)i=c[f+8>>2]|0;else i=0;c[t+4>>2]=i;s=t+8|0;k=i+20|0;j=c[k>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(j>>>0>2147483646)br(b,342583,50336889,342539);f=ts(c[b+44>>2]|0,j,1,u+36|0)|0;if(!f)er(b,342583,5246);m=c[h>>2]|0;c[m>>2]=10;c[m+8>>2]=f;m=f+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[h>>2]|0;c[h>>2]=m+16;m=c[m+8>>2]|0;p=t+20|0;c[p>>2]=m;f=c[m+20>>2]|0;c[s>>2]=f;q=t+12|0;c[q>>2]=f;r=t+16|0;c[r>>2]=f+j;g=i+28|0;o=t+28|0;c[o>>2]=g;h=g+(c[k>>2]|0)|0;k=t+32|0;c[k>>2]=h;n=t+24|0;c[n>>2]=g;if(g>>>0<h>>>0)f=g;else{d=f;t=f;e=m;t=d-t|0;cr(b,e,t);e=c[p>>2]|0;e=e+20|0;e=c[e>>2]|0;t=e+t|0;c[s>>2]=t;c[q>>2]=e;c[r>>2]=t;us(b);l=u;return}a:while(1){g=f+1|0;f=a[f>>0]|0;i=f&255;do if(f<<24>>24<=-1){if((f&255)<192){f=27;break a}if((f&255)<224){j=1;f=i&31;break}if((f&255)<240){j=2;f=i&15;break}if((f&255)<248){j=3;f=i&7;break}if((f&255)<252){j=4;f=i&3;break}if((f&255)>=254)if(f<<24>>24==-1){f=27;break a}else{j=6;f=0;break}else{j=5;f=i&1;break}}else{j=0;f=i&127}while(0);if((g+j|0)>>>0>h>>>0){f=27;break}if(j)while(1){h=g+1|0;f=a[g>>0]&63|f<<6;if((j|0)>1){g=h;j=j+-1|0}else{g=h;break}}c[n>>2]=g;si[d&127](t,e,f);f=c[n>>2]|0;h=c[k>>2]|0;if(f>>>0>=h>>>0){f=30;break}if(f>>>0<(c[o>>2]|0)>>>0){f=27;break}}if((f|0)==27)Dr(b,343968,282);else if((f|0)==30){d=c[s>>2]|0;t=c[q>>2]|0;e=c[p>>2]|0;t=d-t|0;cr(b,e,t);e=c[p>>2]|0;e=e+20|0;e=c[e>>2]|0;t=e+t|0;c[s>>2]=t;c[q>>2]=e;c[r>>2]=t;us(b);l=u;return}}function Qy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+8|0;k=b+16|0;g=c[j>>2]|0;e=g;do if(((c[k>>2]|0)-g|0)>>>0<6){h=c[b>>2]|0;i=b+12|0;e=g-(c[i>>2]|0)|0;g=e+70+(e>>>2)|0;if(g>>>0<e>>>0)br(h,344105,50331712,342539);else{l=b+20|0;cr(h,c[l>>2]|0,g);h=c[(c[l>>2]|0)+20>>2]|0;l=h+e|0;c[j>>2]=l;c[i>>2]=h;c[k>>2]=h+g;break}}else l=e;while(0);if((f|0)<0){k=c[b>>2]|0;br(k,352858,100663676,352874)}if((f|0)<128){if((d[352842+(f>>>3)>>0]|0)&1<<(f&7)|0){c[j>>2]=l+1;a[l>>0]=f;return}}else if((f|0)>=256){if((f|0)>=65536){b=c[b>>2]|0;br(b,352858,100663676,352874)}a[l>>0]=37;a[l+1>>0]=117;a[l+2>>0]=a[410414+(f>>>12)>>0]|0;a[l+3>>0]=a[410414+(f>>>8&15)>>0]|0;a[l+4>>0]=a[410414+(f>>>4&15)>>0]|0;a[l+5>>0]=a[410414+(f&15)>>0]|0;c[j>>2]=l+6;return}a[l>>0]=37;a[l+1>>0]=a[410414+(f>>>4)>>0]|0;a[l+2>>0]=a[410414+(f&15)>>0]|0;c[j>>2]=l+3;return}function Ry(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;r=t;s=b+8|0;o=b+16|0;j=c[s>>2]|0;i=j;do if(((c[o>>2]|0)-j|0)>>>0<21){m=c[b>>2]|0;n=b+12|0;i=j-(c[n>>2]|0)|0;j=i+85+(i>>>2)|0;if(j>>>0<i>>>0)br(m,344105,50331712,342539);else{q=b+20|0;cr(m,c[q>>2]|0,j);m=c[(c[q>>2]|0)+20>>2]|0;q=m+i|0;c[s>>2]=q;c[n>>2]=m;c[o>>2]=m+j;break}}else q=i;while(0);if((f|0)<0){o=c[b>>2]|0;br(o,352858,117440714,352874)}if((f|0)<128?(d[e+(f>>>3)>>0]|0)&1<<(f&7)|0:0){c[s>>2]=q+1;a[q>>0]=f;l=t;return}a:do switch(f&-1024|0){case 55296:{e=b+24|0;n=c[b+32>>2]|0;j=c[e>>2]|0;if(!(j>>>0<n>>>0?j>>>0>=(c[b+28>>2]|0)>>>0:0)){o=c[b>>2]|0;br(o,352858,117440714,352874)}i=j+1|0;j=a[j>>0]|0;m=j&255;do if(j<<24>>24<=-1){if((j&255)<192){o=c[b>>2]|0;br(o,352858,117440714,352874)}if((j&255)<224){k=1;g=m&31;break}if((j&255)<240){k=2;g=m&15;break}if((j&255)<248){k=3;g=m&7;break}if((j&255)<252){k=4;g=m&3;break}if((j&255)<254){k=5;g=m&1;break}if(j<<24>>24==-1){o=c[b>>2]|0;br(o,352858,117440714,352874)}else{k=6;g=0}}else{k=0;g=m&127}while(0);if((i+k|0)>>>0>n>>>0){o=c[b>>2]|0;br(o,352858,117440714,352874)}if(k)while(1){j=i+1|0;g=a[i>>0]&63|g<<6;if((k|0)>1){i=j;k=k+-1|0}else{i=j;break}}c[e>>2]=i;if((g&-1024|0)==56320){h=(f<<10)+-56613888+g|0;break a}else{f=c[b>>2]|0;br(f,352858,117440714,352874)}break}case 56320:{f=c[b>>2]|0;br(f,352858,117440714,352874);break}default:if((f|0)>1114111){f=c[b>>2]|0;br(f,352858,117440714,352874)}else h=f}while(0);if(h>>>0<128){i=0;j=1}else{if(h>>>0>=2048)if(h>>>0>=65536)if(h>>>0>=2097152)if(h>>>0<67108864){g=5;p=36}else g=h>>>31|6;else{g=4;p=36}else{g=3;p=36}else{g=2;p=36}i=a[343316+(g+-1)>>0]|0;j=g;do{j=j+-1|0;a[r+j>>0]=h&63|128;h=h>>>6}while((j|0)>1);j=g}p=h+(i&255)|0;a[r>>0]=p;a[q>>0]=37;a[q+1>>0]=a[410414+(p>>>4&15)>>0]|0;g=q+3|0;a[q+2>>0]=a[410414+(p&15)>>0]|0;c[s>>2]=g;if((j|0)>1)h=1;else{l=t;return}do{q=d[r+h>>0]|0;a[g>>0]=37;a[g+1>>0]=a[410414+(q>>>4)>>0]|0;a[g+2>>0]=a[410414+(q&15)>>0]|0;g=g+3|0;c[s>>2]=g;h=h+1|0}while((h|0)!=(j|0));l=t;return}function Sy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+8|0;l=b+16|0;i=c[r>>2]|0;g=i;do if(((c[l>>2]|0)-i|0)>>>0<7){j=c[b>>2]|0;k=b+12|0;g=i-(c[k>>2]|0)|0;i=g+71+(g>>>2)|0;if(i>>>0<g>>>0)br(j,344105,50331712,342539);else{n=b+20|0;cr(j,c[n>>2]|0,i);n=c[(c[n>>2]|0)+20>>2]|0;h=n+g|0;c[r>>2]=h;c[k>>2]=n;c[l>>2]=n+i;break}}else h=g;while(0);if((f|0)!=37){if(f>>>0<128){i=0;g=1}else{if(f>>>0>=2048)if(f>>>0>=65536)if(f>>>0>=2097152)if(f>>>0<67108864){g=5;o=45}else g=f>>>31|6;else{g=4;o=45}else{g=3;o=45}else{g=2;o=45}i=a[343316+(g+-1)>>0]|0;j=g;do{j=j+-1|0;a[h+j>>0]=f&63|128;f=f>>>6}while((j|0)>1)}a[h>>0]=f+(i&255);b=g;q=c[r>>2]|0;b=q+b|0;c[r>>2]=b;return}n=b+24|0;k=c[n>>2]|0;i=(c[b+32>>2]|0)-k|0;if(i>>>0<2){o=c[b>>2]|0;br(o,352858,117440852,352874)}g=a[344519+(d[k>>0]|0)>>0]|0;if(g<<24>>24<=-1){o=c[b>>2]|0;br(o,352858,117440852,352874)}j=k+1|0;f=a[344519+(d[j>>0]|0)>>0]|0;if(f<<24>>24<=-1){o=c[b>>2]|0;br(o,352858,117440852,352874)}g=(f<<24>>24)+(g<<24>>24<<4)|0;if((g|0)<0){o=c[b>>2]|0;br(o,352858,117440852,352874)}if((g|0)<128)if(!((d[e+(g>>>3)>>0]|0)&1<<(g&7))){c[r>>2]=h+1;a[h>>0]=g;b=2;r=n;q=c[r>>2]|0;b=q+b|0;c[r>>2]=b;return}else{a[h>>0]=37;a[h+1>>0]=a[k>>0]|0;a[h+2>>0]=a[j>>0]|0;c[r>>2]=h+3;b=2;r=n;q=c[r>>2]|0;b=q+b|0;c[r>>2]=b;return}if((g|0)<192){o=c[b>>2]|0;br(o,352858,117440852,352874)}if((g|0)>=224)if((g|0)>=240)if((g|0)<248){p=4;q=65536;m=7}else{o=c[b>>2]|0;br(o,352858,117440852,352874)}else{p=3;q=2048;m=15}else{p=2;q=128;m=31}if(i>>>0<((p*3|0)+-1|0)>>>0){o=c[b>>2]|0;br(o,352858,117440852,352874)}e=1;l=m&g;while(1){j=k+3|0;g=a[344519+(d[j>>0]|0)>>0]|0;if(g<<24>>24<=-1){o=49;break}f=a[344519+(d[k+4>>0]|0)>>0]|0;if(f<<24>>24<=-1){o=49;break}g=(f<<24>>24)+(g<<24>>24<<4)|0;if((g&-2147483456|0)!=128){o=49;break}i=l<<6;f=g&63|i;e=e+1|0;if(e>>>0>=p>>>0){o=22;break}else{l=f;k=j}}if((o|0)==22){c[n>>2]=k+5;if((f|0)<(q|0)|(f|0)>1114111|(i&-2048|0)==55296){b=c[b>>2]|0;br(b,352858,117440852,352874)}if((f|0)<=65535)if(f>>>0<128){i=1;g=0}else{if(f>>>0>=2048)if(f>>>0<65536)j=3;else j=l>>>25&1|6;else j=2;g=a[343316+(j+-1)>>0]|0;i=j;do{i=i+-1|0;a[h+i>>0]=f&63|128;f=f>>>6}while((i|0)>1);i=j}else{k=f+-65536|0;f=(k>>10)+55296|0;if(f>>>0<128){i=0;g=1}else{if(f>>>0>=2048)if(f>>>0>=65536)if(f>>>0>=2097152)if(f>>>0<67108864){g=5;o=29}else g=f>>>31|6;else{g=4;o=29}else{g=3;o=29}else{g=2;o=29}i=a[343316+(g+-1)>>0]|0;j=g;do{j=j+-1|0;a[h+j>>0]=f&63|128;f=f>>>6}while((j|0)>1)}a[h>>0]=f+(i&255);h=(c[r>>2]|0)+g|0;c[r>>2]=h;a[h+2>>0]=k&63|128;a[h+1>>0]=k>>>6&15|176;f=13;i=3;g=-32}a[h>>0]=f+(g&255);b=i;q=c[r>>2]|0;b=q+b|0;c[r>>2]=b;return}else if((o|0)==49){r=c[b>>2]|0;br(r,352858,117440852,352874)}}function Ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+68|0;e=c[g>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4361);c[g>>2]=e+16;if(c[a+72>>2]|0?(d=c[a+64>>2]|0,h=d+-16|0,c[e>>2]=c[h>>2],c[e+4>>2]=c[h+4>>2],c[e+8>>2]=c[h+8>>2],c[e+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[d+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}b=c[(c[a+304>>2]|0)+(b<<2)>>2]|0;d=c[g>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[g>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[g>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0)mr(a,1093);b=c[a+64>>2]|0;if((d|0)==(b|0))Cr(a,376,0);c[g>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(!(c[d>>2]&8)){Yr(a,-3,125);return}h=(c[d+8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1;Yr(a,-3,125);return}function Uy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+96|0;z=F+88|0;y=F+56|0;B=F+24|0;x=F;D=a+68|0;e=c[D>>2]|0;E=a+56|0;if(e>>>0>=(c[E>>2]|0)>>>0)mr(a,4361);c[D>>2]=e+16;k=a+72|0;C=a+64|0;if(c[k>>2]|0?(d=c[C>>2]|0,w=d+-16|0,c[e>>2]=c[w>>2],c[e+4>>2]=c[w+4>>2],c[e+8>>2]=c[w+8>>2],c[e+12>>2]=c[w+12>>2],c[w>>2]&8|0):0){w=(c[d+-8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}d=c[D>>2]|0;g=d-(c[C>>2]|0)|0;w=g>>4;i=w+-1|0;if(!w)Cr(a,300,-1);w=a+304|0;e=c[(c[w>>2]|0)+348>>2]|0;if(d>>>0>=(c[E>>2]|0)>>>0)mr(a,4153);c[D>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=((g|0)<16?f:0)+i|0;if(d>>>0>=f>>>0)Cr(a,376,i);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);u=e+(d<<4)|0;f=e+(f+-1<<4)|0;v=c[u>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(u|0,u+16|0,f-u|0)|0;c[f>>2]=2;f=(c[D>>2]|0)+-16|0;c[D>>2]=f;e=f;if((v&8|0)!=0?(u=d+4|0,v=(c[u>>2]|0)+-1|0,c[u>>2]=v,(v|0)==0):0){qr(c[a+44>>2]|0,d);f=c[D>>2]|0;e=f}v=e-(c[C>>2]|0)|0;v=(v|0)<16?-2147483648:(v>>4)+-1|0;d=c[(c[w>>2]|0)+256>>2]|0;if(f>>>0>=(c[E>>2]|0)>>>0)mr(a,4153);c[D>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[D>>2]|0;if(d>>>0>=(c[E>>2]|0)>>>0)mr(a,4361);c[D>>2]=d+16;if(c[k>>2]|0?(m=c[C>>2]|0,u=m+-16|0,c[d>>2]=c[u>>2],c[d+4>>2]=c[u+4>>2],c[d+8>>2]=c[u+8>>2],c[d+12>>2]=c[u+12>>2],c[u>>2]&8|0):0){u=(c[m+-8>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)+1}e=c[D>>2]|0;t=c[C>>2]|0;s=e-t>>4;u=((v|0)<0?s:0)+v|0;u=u>>>0<s>>>0?t+(u<<4)|0:0;a:do if((c[((u|0)==0?368:u)>>2]|0)==9){s=a+52|0;t=a+60|0;u=a+44|0;r=0;d=0;b:while(1){f=c[s>>2]|0;e=e-f+592|0;f=f+e|0;do if((c[E>>2]|0)>>>0<f>>>0)if((c[t>>2]|0)>>>0<f>>>0){Er(a,e,1)|0;break}else{c[E>>2]=f;break}while(0);et(a,v,r)|0;et(a,v,r|1)|0;e=c[C>>2]|0;q=(c[D>>2]|0)-e>>4;f=q+-1|0;if(!q){e=31;break}j=+Ar(a,e+(f<<4)|0);g=c[C>>2]|0;p=g+(f<<4)|0;q=c[p>>2]|0;f=g+(f<<4)+8|0;e=c[f>>2]|0;c[p>>2]=0;h[f>>3]=j;f=g;if((q&8|0)!=0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0){qr(c[u>>2]|0,e);f=c[C>>2]|0;g=f}n=~~+o4(j,4294967296.0);p=~~+A(+(j*2.3283064365386963e-10))>>>0;k=c[D>>2]|0;e=k-g>>4;e=e>>>0>1?g+(e+-2<<4)|0:0;e=(e|0)==0?368:e;i=c[e>>2]|0;m=k;c:do switch(c[6920+(i<<2)>>2]|0){case 6:case 9:{q=d+1|0;g=k-f|0;o=g>>4;i=o+-2|0;if(o>>>0<=1){e=37;break b}d=c[(c[w>>2]|0)+352>>2]|0;if(m>>>0>=(c[E>>2]|0)>>>0){e=39;break b}c[D>>2]=m+16;c[m>>2]=8;c[m+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=((g|0)<32?f:0)+i|0;if(d>>>0>=f>>>0){e=41;break b}Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1){e=43;break b}k=e+(d<<4)|0;m=e+(f+-1<<4)|0;o=c[k>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(k|0,k+16|0,m-k|0)|0;c[m>>2]=2;e=(c[D>>2]|0)+-16|0;c[D>>2]=e;do if(o&8){m=d+4|0;o=(c[m>>2]|0)+-1|0;c[m>>2]=o;if(o|0)break;qr(c[u>>2]|0,d);e=c[D>>2]|0}while(0);g=e-(c[C>>2]|0)|0;o=g>>4;i=o+-3|0;if(o>>>0<=2){e=48;break b}d=c[(c[w>>2]|0)+356>>2]|0;if(e>>>0>=(c[E>>2]|0)>>>0){e=50;break b}c[D>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=((g|0)<48?f:0)+i|0;if(d>>>0>=f>>>0){e=52;break b}Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1){e=54;break b}k=e+(d<<4)|0;m=e+(f+-1<<4)|0;o=c[k>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(k|0,k+16|0,m-k|0)|0;c[m>>2]=2;c[D>>2]=(c[D>>2]|0)+-16;do if(o&8|0){m=d+4|0;o=(c[m>>2]|0)+-1|0;c[m>>2]=o;if(o|0)break;qr(c[u>>2]|0,d)}while(0);o=Vy(a,-4,n)|0;d=c[D>>2]|0;i=c[C>>2]|0;k=d-i>>4;f=k|0?i+(k+-1<<4)|0:0;f=(f|0)==0?368:f;g=(c[f>>2]|0)==8;do if(g){e=c[f+8>>2]|0;if(!e)break;if(c[e>>2]&512|0)break;switch(b|0){case 1:{e=62;break b}case 0:{d=1;e=131;break b}default:{}}}while(0);d=k>>>0>1?i+(k+-2<<4)|0:0;d=(d|0)==0?368:d;do if((c[d>>2]|0)==8){d=c[d+8>>2]|0;if(!d){n=353072;break}if(c[d>>2]&512|0){n=353072;break}if((d|0)==(c[(c[w>>2]|0)+60>>2]|0)){n=353072;break}n=d+28|0}else n=353072;while(0);do if(g){d=c[f+8>>2]|0;if(!d)break;d=c[d>>2]&512|0?0:d}else d=0;while(0);m=(d|0)==0?0:d+28|0;m=m|0?m:436559;d=k>>>0>3?i+(k+-4<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==9)e=c[d+8>>2]|0;else e=0;f=p&2|0?353079:436559;g=p&16|0?353089:436559;i=p&4|0?353101:436559;k=p&8|0?353112:436559;d=p&1|0?353127:436559;do if(e)if(!(c[e>>2]&4096)){c[y>>2]=n;c[y+4>>2]=m;c[y+8>>2]=o;c[y+12>>2]=d;c[y+16>>2]=f;c[y+20>>2]=i;c[y+24>>2]=g;c[y+28>>2]=k;cs(a,353185,y);break}else{c[B>>2]=n;c[B+4>>2]=m;c[B+8>>2]=d;c[B+12>>2]=f;c[B+16>>2]=i;c[B+20>>2]=g;c[B+24>>2]=k;cs(a,353157,B);break}else{c[x>>2]=n;c[x+4>>2]=d;c[x+8>>2]=f;c[x+12>>2]=i;c[x+16>>2]=g;c[x+20>>2]=k;cs(a,353135,x)}while(0);e=c[C>>2]|0;f=(c[D>>2]|0)-e>>4;if(!f){e=81;break b}g=e+(f+-1<<4)|0;d=f+-5|0;if(f>>>0<=4){e=83;break b}o=e+(d<<4)|0;p=c[o>>2]|0;e=c[e+(d<<4)+8>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[g>>2]=2;d=(c[D>>2]|0)+-16|0;c[D>>2]=d;do if(p&8){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;qr(c[u>>2]|0,e);d=c[D>>2]|0}while(0);if(d-(c[C>>2]|0)>>4>>>0<3){e=88;break b}o=d+-16|0;p=c[o>>2]|0;e=c[d+-8>>2]|0;c[o>>2]=2;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;vr(c[u>>2]|0,e)}while(0);o=d+-32|0;p=c[o>>2]|0;e=c[d+-24>>2]|0;c[o>>2]=2;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;vr(c[u>>2]|0,e)}while(0);o=d+-48|0;p=c[o>>2]|0;e=c[d+-40>>2]|0;c[o>>2]=2;do if(p&8|0){o=e+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(p|0)break;vr(c[u>>2]|0,e)}while(0);c[D>>2]=d+-48;d=c[u>>2]|0;if(!(c[d+32>>2]|0)){d=q;break c}lr(d);d=q;break}case 5:{if(!(p&1))switch(b|0){case 0:{e=102;break b}case 1:{e=107;break b}default:{}}if((i|0)==8)e=c[e+8>>2]|0;else e=0;f=(e|0)==0?0:e+28|0;c[z>>2]=f|0?f:371670;c[z+4>>2]=n;cs(a,353210,z);f=c[C>>2]|0;g=(c[D>>2]|0)-f>>4;if(!g){e=113;break b}i=f+(g+-1<<4)|0;e=g+-3|0;if(g>>>0<=2){e=115;break b}p=f+(e<<4)|0;q=c[p>>2]|0;f=c[f+(e<<4)+8>>2]|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[i>>2]=2;e=(c[D>>2]|0)+-16|0;c[D>>2]=e;do if(q&8){p=f+4|0;q=(c[p>>2]|0)+-1|0;c[p>>2]=q;if(q|0)break;qr(c[u>>2]|0,f);e=c[D>>2]|0}while(0);if((e|0)==(c[C>>2]|0)){e=120;break b}p=e+-16|0;c[D>>2]=p;q=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[p>>2]=2;if(!(q&8))break c;p=e+4|0;q=(c[p>>2]|0)+-1|0;c[p>>2]=q;if(q|0)break c;qr(c[u>>2]|0,e);break}default:{e=125;break b}}while(0);r=r+2|0;e=c[D>>2]|0}switch(e|0){case 31:{Cr(a,300,-1);break}case 37:{Cr(a,300,-2);break}case 39:{mr(a,4153);break}case 41:{Cr(a,376,i);break}case 43:{Cr(a,376,-2);break}case 48:{Cr(a,300,-3);break}case 50:{mr(a,4153);break}case 52:{Cr(a,376,i);break}case 54:{Cr(a,376,-2);break}case 62:{if(d>>>0>=(c[E>>2]|0)>>>0)mr(a,4274);c[D>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(o>>>0);E=1;l=F;return E|0}case 81:{Cr(a,376,-1);break}case 83:{Cr(a,376,-5);break}case 88:{br(a,342583,50337319,342599);break}case 102:{if((m|0)==(g|0))br(a,342583,50337407,342599);a=m+-16|0;c[D>>2]=a;E=c[m+-16>>2]|0;d=c[m+-8>>2]|0;c[a>>2]=2;if(!(E&8)){E=1;l=F;return E|0}D=d+4|0;E=(c[D>>2]|0)+-1|0;c[D>>2]=E;if(E|0){E=1;l=F;return E|0}qr(c[u>>2]|0,d);E=1;l=F;return E|0}case 107:{if(m>>>0>=(c[E>>2]|0)>>>0)mr(a,4244);c[D>>2]=m+16;c[m>>2]=0;h[m+8>>3]=+(n|0);E=1;l=F;return E|0}case 113:{Cr(a,376,-1);break}case 115:{Cr(a,376,-3);break}case 120:{br(a,342583,50337407,342599);break}case 125:{Nt(a);if((d|0)<=9)break a;d=c[(c[w>>2]|0)+260>>2]|0;e=c[D>>2]|0;if(e>>>0<(c[E>>2]|0)>>>0){c[D>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;E=d+4|0;c[E>>2]=(c[E>>2]|0)+1;break a}else mr(a,4153);break}case 131:{l=F;return d|0}}}while(0);if((b|0)!=-1){E=0;l=F;return E|0}ds(a,-2-v+((c[D>>2]|0)-(c[C>>2]|0)>>4)|0,1);E=1;l=F;return E|0}function Vy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=a+68|0;f=c[s>>2]|0;i=a+64|0;r=f-(c[i>>2]|0)>>4;h=((b|0)<0?r:0)+b|0;if(h>>>0>=r>>>0)Cr(a,300,b);b=c[(c[a+304>>2]|0)+388>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[s>>2]=f+16;c[f>>2]=8;c[f+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[i>>2]|0;g=(c[s>>2]|0)-f>>4;b=((h|0)<0?g:0)+h|0;if(b>>>0>=g>>>0)Cr(a,376,h);Kr(a,f+(b<<4)|0,f+(g+-1<<4)|0)|0;f=c[i>>2]|0;g=(c[s>>2]|0)-f>>4;b=g+-2|0;if(g>>>0<=1)Cr(a,376,-2);q=f+(b<<4)|0;g=f+(g+-1<<4)|0;r=c[q>>2]|0;b=c[f+(b<<4)+8>>2]|0;t6(q|0,q+16|0,g-q|0)|0;c[g>>2]=2;f=(c[s>>2]|0)+-16|0;c[s>>2]=f;g=f;if((r&8|0)!=0?(q=b+4|0,r=(c[q>>2]|0)+-1|0,c[q>>2]=r,(r|0)==0):0){qr(c[a+44>>2]|0,b);b=c[s>>2]|0;r=b}else{r=f;b=g}q=c[i>>2]|0;b=b-q>>4;b=b|0?q+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if(((((c[b>>2]|0)==10?(j=c[b+8>>2]|0,(j|0)!=0):0)?(k=e>>>6,p=e-(k<<6)|0,n=c[j+16>>2]|0,n>>>0>=5):0)?(m=j+24|0,(c[m>>2]|0)>>>0>e>>>0):0)?(l=k<<1|1,o=c[m+(l+1<<2)>>2]|0,n>>>0>=o>>>0):0){f=c[m+(l<<2)>>2]|0;m=m+o|0;l=n-o|0;if(p){g=0;b=0;h=0;do{if((h|0)<1){j=g;k=h;i=g;while(1){b=b<<8;e=i+1|0;if(i>>>0<l>>>0){g=e;b=d[m+i>>0]|0|b;i=e}else g=j;k=k+8|0;if((k|0)>=1)break;else j=g}h=h+8+(0-h&-8)|0}e=h+-1|0;do if(!(1<<e&b))h=e;else{if((h|0)<2){k=g;i=g;j=e;while(1){b=b<<8;e=i+1|0;if(i>>>0<l>>>0){g=e;b=d[m+i>>0]|0|b;i=e}else g=k;j=j+8|0;if((j|0)>=1)break;else k=g}k=h+7+(1-h&-8)|0}else k=e;h=k+-1|0;if(!(1<<h&b)){if((k|0)<3){j=g;i=g;while(1){b=b<<8;e=i+1|0;if(i>>>0<l>>>0){g=e;b=d[m+i>>0]|0|b;i=e}else g=j;h=h+8|0;if((h|0)>=2)break;else j=g}h=k+7+(2-k&-8)|0}h=h+-2|0;f=f+1+(b>>>h&3)|0;break}if((k|0)<2){e=g;do{b=b<<8;i=g+1|0;if(g>>>0<l>>>0){e=i;b=d[m+g>>0]|0|b;g=i}h=h+8|0}while((h|0)<1);h=k+7+(1-k&-8)|0}else e=g;j=h+-1|0;if(!(1<<j&b)){if((h|0)<9){g=e;i=e;while(1){b=b<<8;e=i+1|0;if(i>>>0<l>>>0){g=e;b=d[m+i>>0]|0|b;i=e}if((j|0)<0)j=j+8|0;else break}h=h+7+(8-h&-8)|0}else{h=j;g=e}h=h+-8|0;f=f+-128+(b>>>h&255)|0;break}if((h|0)<17){g=e;f=e;e=j;do{b=b<<8;i=f+1|0;if(f>>>0<l>>>0){g=i;b=d[m+f>>0]|0|b;f=i}e=e+8|0}while((e|0)<16);j=h+7+(16-h&-8)|0}else g=e;f=j+-16|0;k=b>>>f<<16;if((f|0)<16){e=g;h=g;while(1){b=b<<8;i=h+1|0;if(h>>>0<l>>>0){g=i;b=d[m+h>>0]|0|b;h=i}else g=e;f=f+8|0;if((f|0)>=16)break;else e=g}f=j+-8+(31-j&-8)|0}h=f+-16|0;f=b>>>h&65535|k}while(0);p=p+-1|0}while((p|0)!=0)}}else f=0;if((r|0)==(q|0))br(a,342583,50337407,342599);q=r+-16|0;c[s>>2]=q;s=c[r+-16>>2]|0;b=c[r+-8>>2]|0;c[q>>2]=2;if(!(s&8))return f|0;r=b+4|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;if(s|0)return f|0;qr(c[a+44>>2]|0,b);return f|0}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,k=0.0,l=0,m=0,n=0,o=0,p=0;p=a+68|0;g=c[p>>2]|0;m=a+56|0;if(g>>>0>=(c[m>>2]|0)>>>0)mr(a,4361);c[p>>2]=g+16;o=a+64|0;if(c[a+72>>2]|0?(f=c[o>>2]|0,n=f+-16|0,c[g>>2]=c[n>>2],c[g+4>>2]=c[n+4>>2],c[g+8>>2]=c[n+8>>2],c[g+12>>2]=c[n+12>>2],c[n>>2]&8|0):0){n=(c[f+-8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}g=c[p>>2]|0;f=c[o>>2]|0;l=g-f|0;i=l>>4;n=i+-1|0;f=i|0?f+(n<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)br(a,353351,100664195,353365);f=c[f+8>>2]|0;if(!f)br(a,353351,100664195,353365);if((c[f>>2]&-134217728|0)!=805306368)br(a,353351,100664195,353365);if(!i)Cr(a,300,-1);f=c[(c[a+304>>2]|0)+404>>2]|0;if(g>>>0>=(c[m>>2]|0)>>>0)mr(a,4153);c[p>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[o>>2]|0;i=(c[p>>2]|0)-g>>4;f=((l|0)<16?i:0)+n|0;if(f>>>0>=i>>>0)Cr(a,376,n);Kr(a,g+(f<<4)|0,g+(i+-1<<4)|0)|0;g=c[o>>2]|0;i=(c[p>>2]|0)-g>>4;f=i+-2|0;if(i>>>0<=1)Cr(a,376,-2);l=g+(f<<4)|0;m=g+(i+-1<<4)|0;n=c[l>>2]|0;f=c[g+(f<<4)+8>>2]|0;t6(l|0,l+16|0,m-l|0)|0;c[m>>2]=2;g=(c[p>>2]|0)+-16|0;c[p>>2]=g;if((n&8|0)!=0?(m=f+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){qr(c[a+44>>2]|0,f);g=c[p>>2]|0}f=c[o>>2]|0;n=g-f>>4;g=n+-1|0;if(!n)Cr(a,300,-1);k=+Ar(a,f+(g<<4)|0);f=c[o>>2]|0;l=f+(g<<4)|0;n=c[l>>2]|0;m=f+(g<<4)+8|0;g=c[m>>2]|0;c[l>>2]=0;h[m>>3]=k;if((n&8|0)!=0?(m=g+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){qr(c[a+44>>2]|0,g);f=c[o>>2]|0}g=c[p>>2]|0;if((g|0)==(f|0))br(a,342583,50337407,342599);o=g+-16|0;c[p>>2]=o;p=c[g+-16>>2]|0;f=c[g+-8>>2]|0;c[o>>2]=2;if(p&8|0?(o=f+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)qr(c[a+44>>2]|0,f);h[j>>3]=k;p=c[j+4>>2]&2147483647;if(p>>>0>2146435072|(p|0)==2146435072&(c[j>>2]|0)>>>0>0)if(!(b&2))e=(b&1|0)==0?k:0.0;else br(a,353351,50332559,353379);else e=k;if(!(b&16))f=0;else{b=Xy(e)|0;f=b;e=e+ +(b*1e3|0)}if(!d)return +e;c[d>>2]=f;return +e}function Xy(a){a=+a;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+192|0;e=g+184|0;b=g;f=g+64|0;h[j>>3]=a;d=c[j+4>>2]&2146435072;if(!(d>>>0<2146435072|(d|0)==2146435072&0<0)){f=0;l=g;return f|0}if(!(a>=-86400000864.0e5&a<=86400000864.0e5)){f=0;l=g;return f|0}Yy(a,g+152|0,b,8);c[e>>2]=~~(+Zy(b,0)/1.0e3);b=f;d=b+88|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));rh(e|0,f|0)|0;d=f+44|0;vh(e|0,d|0)|0;c[f+32>>2]=0;c[f+76>>2]=0;b=xh(f|0)|0;d=xh(d|0)|0;if((b|0)==-1|(d|0)==-1){f=0;l=g;return f|0}f=~~+vb(d|0,b|0);l=g;return f|0}function Yy(a,b,e,f){a=+a;b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;a=+A(+a);t=+o4(a,864.0e5);r=~~(t<0.0?t+864.0e5:t);g=~~+A(+(a/864.0e5));o=(r|0)%1e3|0;c[b+24>>2]=o;p=((r|0)/1e3|0|0)%60|0;c[b+20>>2]=p;q=((r|0)/6e4|0|0)%60|0;c[b+16>>2]=q;r=(r|0)/36e5|0;c[b+12>>2]=r;n=g+140000004|0;s=(n|0)%7|0;c[b+28>>2]=s;if((g|0)>-1)i=(g>>>0)/365|0;else i=(g|0)/366|0;g=-719050-g|0;l=i+1970|0;while(1){i=l+-1969|0;j=l+-1901|0;m=l+-2e3|0;k=l+-1601|0;m=g+(l*365|0)+((((i|0)>-1?i:l+-1972|0)|0)/4|0)+((((j|0)>-1?j:m)|0)/-100|0)+((((k|0)>-1?k:m)|0)/400|0)|0;if((m|0)<1)break;l=l+-1+((m+-1|0)/-366|0)|0}g=0-m|0;if(!(l&3))if(!((l|0)%100|0))k=((l|0)%400|0|0)==0&1;else k=1;else k=0;if((m|0)<=-31){g=-31-m|0;i=k|28;if((g|0)>=(i|0)){j=g-i|0;if((j|0)>=31){g=j+-31|0;if((g|0)>=30){g=j+-61|0;if((g|0)>=31){g=j+-92|0;if((g|0)>=30){g=j+-122|0;if((g|0)>=31){g=j+-153|0;if((g|0)>=31){g=j+-184|0;if((g|0)>=30){g=j+-214|0;if((g|0)>=31){g=j+-245|0;if((g|0)<30)i=10;else{g=j+-275|0;u=(g|0)<31;i=u?11:12;g=u?g:j+-306|0}}else i=9}else i=8}else i=7}else i=6}else i=5}else i=4}else i=3}else{i=2;g=j}}else i=1}else i=0;if((f&8|0)!=0&(l+-1971|0)>>>0>66){l=(n+m|0)%7|0;l=(d[353404+((k|0)==0?l:l+7|0)>>0]|0)+1970|0}c[b>>2]=l;k=b+4|0;c[k>>2]=i;j=b+8|0;c[j>>2]=g;if(f&4){i=i+1|0;c[k>>2]=i;g=g+1|0;c[j>>2]=g}if(!e)return;h[e>>3]=+(l|0);h[e+8>>3]=+(i|0);h[e+16>>3]=+(g|0);h[e+24>>3]=+(r|0);h[e+32>>3]=+(q|0);h[e+40>>3]=+(p|0);h[e+48>>3]=+(o|0);h[e+56>>3]=+(s|0);return}function Zy(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,t=0,u=0;e=+h[a>>3];h[j>>3]=e;f=c[j+4>>2]|0;n=f&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){e=+A(+(+B(+e)));e=(f|0)>-1|(f|0)==-1&(c[j>>2]|0)>>>0>4294967295?e:-e;h[a>>3]=e}f=a+8|0;i=+h[f>>3];h[j>>3]=i;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){i=+A(+(+B(+i)));i=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?i:-i;h[f>>3]=i}f=a+16|0;k=+h[f>>3];h[j>>3]=k;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){k=+A(+(+B(+k)));k=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?k:-k;h[f>>3]=k}f=a+24|0;l=+h[f>>3];h[j>>3]=l;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){l=+A(+(+B(+l)));l=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?l:-l;h[f>>3]=l}f=a+32|0;m=+h[f>>3];h[j>>3]=m;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){p=+A(+(+B(+m)));p=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?p:-p;h[f>>3]=p}else p=m;f=a+40|0;m=+h[f>>3];h[j>>3]=m;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){o=+A(+(+B(+m)));o=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?o:-o;h[f>>3]=o}else o=m;f=a+48|0;m=+h[f>>3];h[j>>3]=m;g=c[j+4>>2]|0;n=g&2146435072;if(n>>>0<2146435072|(n|0)==2146435072&0<0){m=+A(+(+B(+m)));m=(g|0)>-1|(g|0)==-1&(c[j>>2]|0)>>>0>4294967295?m:-m;h[f>>3]=m}l=m+(l*36.0e5+0.0+p*6.0e4+o*1.0e3);h[j>>3]=e;n=c[j+4>>2]&2146435072;if((n>>>0<2146435072|(n|0)==2146435072&0<0?(h[j>>3]=i,n=c[j+4>>2]&2146435072,n>>>0<2146435072|(n|0)==2146435072&0<0):0)?(q=e+ +A(+(i/12.0)),r=+o4(i,12.0),r=r<0.0?r+12.0:r,q>=-271821.0&q<=275760.0):0){g=~~q;u=g+-1969|0;a=g+-1901|0;f=g+-2e3|0;n=g+-1601|0;f=(g*365|0)+-719050+((((u|0)>-1?u:g+-1972|0)|0)/4|0)+((((a|0)>-1?a:f)|0)/-100|0)+((((n|0)>-1?n:f)|0)/400|0)|0;if(!(g&3))if(!((g|0)%100|0))g=((g|0)%400|0|0)==0&1;else g=1;else g=0;n=~~r;if((n|0)>0){a=(g|0)!=0;g=0;do{f=(a&(g|0)==1&1)+f+(d[353392+g>>0]|0)|0;g=g+1|0}while((g|0)!=(n|0))}e=(k+ +(f|0))*864.0e5}else e=s;e=l+e;if(b&16){g=Xy(e)|0;if((g|0)<999999999)switch(g|0){case 0:{f=0;break}default:t=15}else switch(g|0){case 999999999:{f=0;g=999999999;t=16;break}default:t=15}if((t|0)==15){a=Xy(e-+(g*1e3|0))|0;if((a|0)!=(g|0))if(a){f=Xy(e-+(a*1e3|0))|0;if((f|0)!=(a|0))if((f|0)!=(g|0)){g=Xy(e-+(f*1e3|0))|0;if((g|0)!=(f|0))if((g|0)==(a|0)){g=a;t=16}else f=g}else{f=a;t=16}else f=a}else{f=g;g=0;t=16}else f=g}if((t|0)==16)f=(f|0)>(g|0)?f:g;e=e-+(f*1e3|0)}h[j>>3]=e;f=c[j+4>>2]|0;u=f&2146435072;if(!(u>>>0<2146435072|(u|0)==2146435072&0<0)){r=s;return +r}if(!(e>=-864.0e13&e<=864.0e13)){r=s;return +r}r=+A(+(+B(+e)));r=(f|0)>-1|(f|0)==-1&(c[j>>2]|0)>>>0>4294967295?r:-r;return +r}function _y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;m=a+68|0;n=a+64|0;d=c[n>>2]|0;j=(c[m>>2]|0)-d>>4;l=(b|0)<0;e=(l?j:0)+b|0;if(e>>>0>=j>>>0)Cr(a,300,b);o=+Ar(a,d+(e<<4)|0);f=c[n>>2]|0;g=f+(e<<4)|0;j=c[g>>2]|0;i=f+(e<<4)+8|0;d=c[i>>2]|0;c[g>>2]=0;h[i>>3]=o;if((j&8|0)!=0?(i=d+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,d);f=c[n>>2]|0}g=c[m>>2]|0;i=g-f>>4;e=(l?i:0)+b|0;i=e>>>0<i>>>0;e=f+(e<<4)|0;d=i?e:0;d=(d|0)==0?368:d;f=g;if((c[d>>2]|0)==0?(j=d+8|0,d=c[j+4>>2]&2147483647,d>>>0>2146435072|(d|0)==2146435072&(c[j>>2]|0)>>>0>0):0)return;j=a+56|0;if(f>>>0>=(c[j>>2]|0)>>>0)mr(a,1093);if(!i)Cr(a,376,b);c[m>>2]=f+16;i=g;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}nu(a,-1);d=c[m>>2]|0;g=c[n>>2]|0;f=g;e=d-f>>4;e=e|0?g+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(k=+h[e+8>>3],k>=0.0&k<=99.0):0){if(d>>>0>=(c[j>>2]|0)>>>0)mr(a,4215);e=d+16|0;c[m>>2]=e;c[d>>2]=0;h[d+8>>3]=k+1900.0;e=e-f>>4;if(!e)Cr(a,376,-1);f=g+(e+-1<<4)|0;d=(l?e:0)+b|0;if(d>>>0>=e>>>0)Cr(a,376,b);l=g+(d<<4)|0;b=c[l>>2]|0;e=c[g+(d<<4)+8>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];c[l+8>>2]=c[f+8>>2];c[l+12>>2]=c[f+12>>2];c[f>>2]=2;d=(c[m>>2]|0)+-16|0;c[m>>2]=d;if((b&8|0)!=0?(l=e+4|0,b=(c[l>>2]|0)+-1|0,c[l>>2]=b,(b|0)==0):0){qr(c[a+44>>2]|0,e);d=c[m>>2]|0}}if((d|0)==(c[n>>2]|0))br(a,342583,50337407,342599);b=d+-16|0;c[m>>2]=b;n=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if(!(n&8))return;m=d+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0)return;qr(c[a+44>>2]|0,d);return}function $y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0;_y(a,0);if((d|0)>0){i=a+68|0;j=a+64|0;e=c[j>>2]|0;if((c[i>>2]|0)==(e|0))Cr(a,300,0);f=+Ar(a,e);m=c[j>>2]|0;k=c[m>>2]|0;l=m+8|0;e=c[l>>2]|0;c[m>>2]=0;h[l>>3]=f;if(k&8|0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,e);h[b>>3]=f;if((d|0)!=1){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=1)Cr(a,300,1);f=+Ar(a,e+16|0);l=c[j>>2]|0;k=l+16|0;m=c[k>>2]|0;l=l+24|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;if(m&8|0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,e);h[b+8>>3]=f;if((d|0)>2){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=2)Cr(a,300,2);f=+Ar(a,e+32|0);l=c[j>>2]|0;k=l+32|0;m=c[k>>2]|0;l=l+40|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;if(m&8|0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,e);h[b+16>>3]=f+-1.0;if((d|0)!=3){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=3)Cr(a,300,3);f=+Ar(a,e+48|0);l=c[j>>2]|0;k=l+48|0;m=c[k>>2]|0;l=l+56|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;if(m&8|0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,e);h[b+24>>3]=f;if((d|0)>4){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=4)Cr(a,300,4);f=+Ar(a,e+64|0);l=c[j>>2]|0;k=l+64|0;m=c[k>>2]|0;l=l+72|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;if(m&8|0?(l=e+4|0,m=(c[l>>2]|0)+-1|0,c[l>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,e);h[b+32>>3]=f;if((d|0)!=5){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=5)Cr(a,300,5);f=+Ar(a,e+80|0);l=c[j>>2]|0;k=l+80|0;m=c[k>>2]|0;l=l+88|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;do if(m&8|0){l=e+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0)break;qr(c[a+44>>2]|0,e)}while(0);h[b+40>>3]=f;if((d|0)>6){e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=6)Cr(a,300,6);f=+Ar(a,e+96|0);l=c[j>>2]|0;k=l+96|0;m=c[k>>2]|0;l=l+104|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;do if(m&8|0){l=e+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0)break;qr(c[a+44>>2]|0,e)}while(0);h[b+48>>3]=f;if((d|0)==7){f=0.0;m=b+56|0;h[m>>3]=f;return}e=c[j>>2]|0;if((c[i>>2]|0)-e>>4>>>0<=7)Cr(a,300,7);f=+Ar(a,e+112|0);l=c[j>>2]|0;k=l+112|0;m=c[k>>2]|0;l=l+120|0;e=c[l>>2]|0;c[k>>2]=0;h[l>>3]=f;if(!(m&8)){m=b+56|0;h[m>>3]=f;return}l=e+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0){m=b+56|0;h[m>>3]=f;return}qr(c[a+44>>2]|0,e);m=b+56|0;h[m>>3]=f;return}}else g=37}else g=30}else g=23}else g=16}else g=9}else{h[b>>3]=0.0;g=9}if((g|0)==9){h[b+8>>3]=0.0;g=16}if((g|0)==16){h[b+16>>3]=0.0;g=23}if((g|0)==23){h[b+24>>3]=0.0;g=30}if((g|0)==30){h[b+32>>3]=0.0;g=37}if((g|0)==37)h[b+40>>3]=0.0;h[b+48>>3]=0.0;f=0.0;m=b+56|0;h[m>>3]=f;return}function az(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+112|0;r=z+64|0;x=z+68|0;y=z;e=x;f=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));v=x+4|0;c[v>>2]=1;w=x+8|0;c[w>>2]=1;switch(a[d>>0]|0){case 43:{q=0;e=d+1|0;break}case 45:{q=1;e=d+1|0;break}default:{q=0;e=d}}f=0;o=0;a:while(1){k=a[e>>0]|0;if((k+-48&255)>=10)break;i=0;j=0;k=k&255;e=e+1|0;while(1){if(j>>>0>8)break a;m=(f|0)==6;n=j>>>0>2;p=m&n;j=((m&n^1)&1)+j|0;i=p?i:k+-48+(i*10|0)|0;f=p?6:f;p=e;e=e+1|0;p=a[p>>0]|0;if((p+-48&255)>=10)break;else k=p&255}if(!j)break;if((f|0)==6&j>>>0<3)do{i=i*10|0;j=j+1|0}while((j|0)!=3);c[x+(f<<2)>>2]=i;switch(p<<24>>24){case 43:{i=9;break}case 45:{i=10;break}case 84:{i=11;break}case 32:{i=12;break}case 58:{i=13;break}case 46:{i=14;break}case 90:{i=15;break}case 0:{i=16;break}default:break a}n=(1<<i)+(1<<f)|0;k=f;m=0;i=o;b:while(1){j=c[7056+(m<<2)>>2]|0;if((j&n|0)==(n|0)){f=j>>>21;i=(f&1|0)==0?i:1;if(!(f&2))if(!(f&4)){f=20;j=j>>>17&15;o=i}else{f=(a[e>>0]|0)==0?29:10;j=k;o=i}else{f=29;j=k;o=i}}else{f=22;j=k;o=i}switch(f&31){case 20:{t=26;break b}case 22:break;default:break b}m=m+1|0;if(m>>>0>=11){t=28;break}else{k=j;i=o}}if((t|0)==26){t=0;f=p<<24>>24==0?10:0}else if((t|0)==28){t=0;if((m|0)==11)break;else f=p<<24>>24==0?10:0}switch(f|0){case 0:{f=j;break}case 29:{t=30;break a}default:break a}}if((t|0)==30){if(q|0)c[x>>2]=0-(c[x>>2]|0);k=c[x+28>>2]|0;e=x+12|0;f=c[e>>2]|0;i=c[x+32>>2]|0;m=x+16|0;j=c[m>>2]|0;if(!o){f=f-k|0;c[e>>2]=f;e=j-i|0}else{f=f+k|0;c[e>>2]=f;e=j+i|0}c[m>>2]=e;u=(c[v>>2]|0)+-1|0;c[v>>2]=u;v=(c[w>>2]|0)+-1|0;c[w>>2]=v;h[y>>3]=+(c[x>>2]|0);h[y+8>>3]=+(u|0);h[y+16>>3]=+(v|0);h[y+24>>3]=+(f|0);h[y+32>>3]=+(e|0);h[y+40>>3]=+(c[x+20>>2]|0);h[y+48>>3]=+(c[x+24>>2]|0);h[y+56>>3]=+(k|0);g=+Zy(y,0);e=b+68|0;f=c[e>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4215);c[e>>2]=f+16;c[f>>2]=0;h[f+8>>3]=g;l=z;return}e=y;f=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[r>>2]=d;v4(y,64,392253,r);a[y+63>>0]=0;e=x;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(Ch(y|0,353424,x|0)|0?(c[x+32>>2]=-1,u=xh(x|0)|0,(u|0)>-1):0){e=b+68|0;f=c[e>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4215);c[e>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+(u|0)*1.0e3;l=z;return}e=b+68|0;f=c[e>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4286);c[e>>2]=f+16;c[f>>2]=0;h[f+8>>3]=s;l=z;return}function bz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+68|0;f=c[j>>2]|0;h=a+56|0;if(f>>>0>=(c[h>>2]|0)>>>0)mr(a,4361);c[j>>2]=f+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);i=a+64|0;b=c[i>>2]|0;d=b+-16|0;e=c[d>>2]|0;if((e&-2|0)==2)br(a,342583,100667685,343776);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(e&8|0){g=(c[b+-8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}Mr(a,-1);b=c[j>>2]|0;f=b-(c[i>>2]|0)|0;e=f>>4;g=e+-1|0;if(!e)Cr(a,300,-1);d=c[(c[a+304>>2]|0)+328>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0)mr(a,4153);c[j>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i>>2]|0;e=(c[j>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[i>>2]|0;e=(c[j>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);g=d+(b<<4)|0;h=d+(e+-1<<4)|0;i=c[g>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(g|0,g+16|0,h-g|0)|0;c[h>>2]=2;c[j>>2]=(c[j>>2]|0)+-16;if(!(i&8)){j=rt(a,-1)|0;return j|0}i=b+4|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(j|0){j=rt(a,-1)|0;return j|0}qr(c[a+44>>2]|0,b);j=rt(a,-1)|0;return j|0}function cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d-b|0;if((e|0)<1)return;g=a+44|0;do{k=c[g>>2]|0;m=k+152|0;r=m;p=c[r>>2]|0;r=c[r+4>>2]|0;k=k+160|0;n=k;o=c[n>>2]|0;n=c[n+4>>2]|0;f=b6(o|0,n|0,p|0,r|0)|0;i=z;o=o^p;n=n^r;q=n6(p|0,r|0,55)|0;l=z;r=m6(p|0,r|0,9)|0;l=(z|l)^n;p=n6(o|0,n|0,14)|0;c[m>>2]=(r|q)^o^p;c[m+4>>2]=l^z;m=n6(o|0,n|0,36)|0;l=z;n=m6(o|0,n|0,28)|0;c[k>>2]=n|m;c[k+4>>2]=z|l;i=m6(f|0,i|0,12)|0;f=z|1072693248;c[j>>2]=i;c[j+4>>2]=f;dz(a,~~(+(e+1|0)*(+h[j>>3]+-1.0))+b|0,b);f=d;e=b;while(1){do{e=e+1|0;if((e|0)>=(d|0))break}while((ez(a,e,b)|0)<=-1);a:do if((f|0)>(b|0))do{if((ez(a,b,f)|0)>-1)break a;f=f+-1|0}while((f|0)>(b|0));while(0);if((e|0)>=(f|0))break;dz(a,e,f);f=f+-1|0}dz(a,b,f);cz(a,b,f+-1|0);b=f+1|0;e=d-b|0}while((e|0)>=1);return}function dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;if((b|0)==(d|0))return;f=et(a,1,b)|0;do if(!(et(a,1,d)|0)){g=a+68|0;i=c[g>>2]|0;e=i;if(i-(c[a+64>>2]|0)>>4>>>0<=1)Cr(a,300,1);if(e>>>0<(c[a+56>>2]|0)>>>0){c[g>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(b>>>0);Tt(a,1);c[g>>2]=(c[g>>2]|0)+-16;break}else mr(a,4274)}else Ft(a,1,b);while(0);if(f|0){Ft(a,1,d);return}b=a+68|0;i=c[b>>2]|0;e=i;if(i-(c[a+64>>2]|0)>>4>>>0<=1)Cr(a,300,1);if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[b>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(d>>>0);Tt(a,1);c[b>>2]=(c[b>>2]|0)+-16;return}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;j=n;if((b|0)==(d|0)){a=0;l=n;return a|0}m=et(a,1,b)|0;b=(et(a,1,d)|0)!=0;do if(m)if(b){m=a+68|0;b=c[m>>2]|0;k=a+64|0;d=c[k>>2]|0;g=b-d>>4;o=g>>>0>1?d+(g+-2<<4)|0:0;e=(g|0)!=0;g=e?d+(g+-1<<4)|0:0;g=(c[((g|0)==0?368:g)>>2]|0)==2;i=b;if((c[((o|0)==0?368:o)>>2]|0)==2){g=(g^1)&1;break}if(!g){o=e?d:0;if((c[((o|0)==0?368:o)>>2]|0)==2){Xr(a,-2)|0;o=c[k>>2]|0;b=(c[m>>2]|0)-o>>4;b=b>>>0>1?o+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)g=c[b+8>>2]|0;else g=0;Xr(a,-1)|0;o=c[k>>2]|0;b=(c[m>>2]|0)-o>>4;b=b|0?o+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)b=c[b+8>>2]|0;else b=0;d=c[g+20>>2]|0;e=c[b+20>>2]|0;b=f3(g+28|0,b+28|0,d>>>0<=e>>>0?d:e)|0;if((b|0)<0){g=-1;break}g=(b|0)==0?(d>>>0<e>>>0?-1:d>>>0>e>>>0&1):1;break}if(i>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if((i|0)==(d|0))Cr(a,376,0);c[m>>2]=i+16;o=b;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];if(c[i>>2]&8|0){o=(c[i+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}b=c[k>>2]|0;d=(c[m>>2]|0)-b>>4;if(d>>>0<=2)Cr(a,376,-3);e=b+(d+-3<<4)|0;b=b+(d+-1<<4)|0;d=b-e|0;if(d|0){c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d|0)|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2]}Bt(a,2);b=c[k>>2]|0;o=(c[m>>2]|0)-b>>4;d=o+-1|0;if(!o)Cr(a,300,-1);f=+Ar(a,b+(d<<4)|0);k=c[k>>2]|0;j=k+(d<<4)|0;o=c[j>>2]|0;k=k+(d<<4)+8|0;b=c[k>>2]|0;c[j>>2]=0;h[k>>3]=f;if(o&8|0?(k=b+4|0,o=(c[k>>2]|0)+-1|0,c[k>>2]=o,(o|0)==0):0)qr(c[a+44>>2]|0,b);o=(c[m>>2]|0)+-16|0;c[m>>2]=o;c[o>>2]=2;o=f<0.0?-1:f>0.0&1;l=n;return o|0}else g=-1}else g=-1;else g=b&1;while(0);e=a+68|0;d=c[e>>2]|0;b=d+-16|0;c[e>>2]=b;o=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((o&8|0)!=0?(m=d+4|0,o=(c[m>>2]|0)+-1|0,c[m>>2]=o,(o|0)==0):0){qr(c[a+44>>2]|0,d);b=c[e>>2]|0}m=b+-16|0;c[e>>2]=m;o=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[m>>2]=2;if(!(o&8)){o=g;l=n;return o|0}m=b+4|0;o=(c[m>>2]|0)+-1|0;c[m>>2]=o;if(o|0){o=g;l=n;return o|0}qr(c[a+44>>2]|0,b);o=g;l=n;return o|0}function fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+100>>2]|0;g=a+68|0;e=c[g>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[g>>2]=e+16;c[e>>2]=9;c[e+8>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;f=iy(a,-1,b)|0;d=c[a+64>>2]|0;e=(c[g>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;h=d+(e+-1<<4)|0;e=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,h-i|0)|0;c[h>>2]=2;c[g>>2]=(c[g>>2]|0)+-16;if(!(e&8))return f|0;h=b+4|0;i=(c[h>>2]|0)+-1|0;c[h>>2]=i;if(i|0)return f|0;qr(c[a+44>>2]|0,b);return f|0}function gz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[a+100>>2]|0;k=a+68|0;d=c[k>>2]|0;j=a+56|0;if(d>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[k>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;h=a+64|0;f=b-(c[h>>2]|0)|0;i=f>>4;g=i+-1|0;if(!i)Cr(a,300,-1);i=a+304|0;d=c[(c[i>>2]|0)+404>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[k>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0;e=(c[k>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);f=Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[h>>2]|0;e=(c[k>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);l=d+(b<<4)|0;e=d+(e+-1<<4)|0;g=c[l>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(l|0,l+16|0,e-l|0)|0;c[e>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;if(g&8|0?(g=b+4|0,l=(c[g>>2]|0)+-1|0,c[g>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);do if(!f){d=c[k>>2]|0;b=d+-16|0;c[k>>2]=b;l=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((l&8|0)!=0?(g=d+4|0,l=(c[g>>2]|0)+-1|0,c[g>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,d);b=c[k>>2]|0}if(b>>>0>=(c[j>>2]|0)>>>0)mr(a,4604);b=Or(a,40)|0;d=c[a+44>>2]|0;c[b>>2]=134234241;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[b+12>>2]=0;c[b+8>>2]=e;c[d>>2]=b;d=c[k>>2]|0;c[d>>2]=9;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[k>>2]|0;d=b+16|0;c[k>>2]=d;if(d>>>0>=(c[j>>2]|0)>>>0)mr(a,1111);if((d-(c[h>>2]|0)|0)<16)Cr(a,1114,-1);c[k>>2]=b+32;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[d>>2]&8|0){l=(c[b+24>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}l=c[h>>2]|0;b=(c[k>>2]|0)-l>>4;b=b>>>0>2?l+(b+-3<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-3,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-3,342926);else{yr(a,b,c[(c[i>>2]|0)+404>>2]|0,4);break}}while(0);d=c[h>>2]|0;e=(c[k>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);i=d+(b<<4)|0;j=d+(e+-1<<4)|0;l=c[i>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;if(!(l&8))return;k=b+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0)return;qr(c[a+44>>2]|0,b);return}function hz(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=c[a+92>>2]|0;if((d|0)>1e6)Jz(a,6);b=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>4)|0;d=d<<1;d=(d|0)<1e6?d:1e6;d=(d|0)<(b|0)?b:d;if((d|0)>1e6){Lz(a,1000200);Fz(a,357349,e)}else{Lz(a,d);l=e;return}}function iz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+16|0;f=c[h>>2]|0;i=c[b+8>>2]|0;j=i+-16|0;do if((e|0)<=0){if((e|0)>=-1000999){e=i+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(g|0)>(d[e+6>>0]|0|0)?412368:e+16+(g+-1<<4)|0};c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];if(!(c[i+-8>>2]&64))return;g=(c[c[c[h>>2]>>2]>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4))return;f=c[j>>2]|0;if(!(a[f+5>>0]&3))return;e=c[b+12>>2]|0;if((d[e+61>>0]|0)<2){$z(e,f);return}else{a[g>>0]=a[e+60>>0]&3|h&-8;return}}else{e=(c[f>>2]|0)+(e<<4)|0;e=e>>>0<i>>>0?e:412368}while(0);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];return}function jz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){h=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){h=(c[a+12>>2]|0)+40|0;break}b=-1001e3-b|0;g=c[i>>2]|0;if((c[g+8>>2]|0)==22)h=412368;else{h=c[g>>2]|0;h=(b|0)>(d[h+6>>0]|0|0)?412368:h+16+(b+-1<<4)|0}}else{h=(c[i>>2]|0)+(b<<4)|0;h=h>>>0<(c[a+8>>2]|0)>>>0?h:412368}while(0);do if((e|0)<=0){if((e|0)>=-1000999){b=(c[a+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}g=-1001e3-e|0;b=c[i>>2]|0;if((c[b+8>>2]|0)==22){f=0;return f|0}else{b=c[b>>2]|0;b=(g|0)>(d[b+6>>0]|0|0)?412368:b+16+(g+-1<<4)|0;break}}else{b=(c[i>>2]|0)+(e<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);if(!((h|0)!=412368&(b|0)!=412368)){f=0;return f|0}switch(f|0){case 0:{f=fB(a,h,b)|0;return f|0}case 1:{f=dB(a,h,b)|0;return f|0}case 2:{f=eB(a,h,b)|0;return f|0}default:{f=0;return f|0}}return 0}function kz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;i=b+16|0;j=c[i>>2]|0;l=(e|0)>0;do if(!l){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;h=c[j>>2]|0;if((c[h+8>>2]|0)==22)g=412368;else{h=c[h>>2]|0;g=(g|0)>(d[h+6>>0]|0)?412368:h+16+(g+-1<<4)|0}}else{g=(c[j>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);switch(c[g+8>>2]&15){case 4:break;case 3:{k=12;break}default:{if(!f){f=0;return f|0}c[f>>2]=0;f=0;return f|0}}if((k|0)==12){h=b+12|0;if((c[(c[h>>2]|0)+12>>2]|0)>0){jA(b);g=c[i>>2]|0}else g=j;do if(!l){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){g=(c[h>>2]|0)+40|0;break}h=-1001e3-e|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[g>>2]|0)+(e<<4)|0;g=g>>>0<(c[b+8>>2]|0)>>>0?g:412368}while(0);oA(b,g)}if(!f)g=c[g>>2]|0;else{g=c[g>>2]|0;if((a[g+4>>0]|0)==4)h=d[g+7>>0]|0;else h=c[g+12>>2]|0;c[f>>2]=h}f=g+16|0;return f|0}function lz(b,d){b=b|0;d=d|0;var e=0,f=0;if(!d){b=b+8|0;d=c[b>>2]|0;c[d+8>>2]=0;d=d+16|0;c[b>>2]=d;return}f=b+12|0;e=c[f>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[f>>2]|0}f=e+280+(((d>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(d,e+16|0)|0){e=QA(b,d,r4(d)|0)|0;c[f>>2]=e}d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+8>>2]=(a[e+4>>0]|64)&255;b=d;d=c[d>>2]|0;d=d+16|0;c[b>>2]=d;return}function mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((c[(c[a+12>>2]|0)+12>>2]|0)>0)jA(a);c[e>>2]=d;d=pA(a,b,e)|0;l=f;return d|0}function nz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){b=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}g=-1001e3-b|0;b=c[h>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(g|0)>(d[b+6>>0]|0|0)?412368:b+16+(g+-1<<4)|0}}else{b=(c[h>>2]|0)+(b<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);h=a+8|0;g=c[h>>2]|0;i=g;c[i>>2]=e;c[i+4>>2]=f;c[g+8>>2]=19;c[h>>2]=g+16;bB(a,b,g,g);return c[(c[h>>2]|0)+-8>>2]&15|0}function oz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){b=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}g=-1001e3-b|0;b=c[h>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(g|0)>(d[b+6>>0]|0|0)?412368:b+16+(g+-1<<4)|0}}else{b=(c[h>>2]|0)+(b<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);h=a+8|0;a=c[h>>2]|0;b=c[b>>2]|0;g=b6(e|0,f|0,-1,-1)|0;i=z;a:do if(i>>>0<0|((i|0)==0?g>>>0<(c[b+8>>2]|0)>>>0:0))b=(c[b+12>>2]|0)+(g<<4)|0;else{b=(c[b+16>>2]|0)+(((1<<(d[b+7>>0]|0))+-1&e)<<5)|0;while(1){if((c[b+24>>2]|0)==19?(i=b+16|0,(c[i>>2]|0)==(e|0)?(c[i+4>>2]|0)==(f|0):0):0)break;g=c[b+28>>2]|0;if(!g){b=412368;break a}b=b+(g<<5)|0}}while(0);c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];i=c[h>>2]|0;c[h>>2]=i+16;return c[i+8>>2]&15|0}function pz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+12>>2]|0;f=c[h+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(j=g+16|0,(c[j>>2]|0)==2&(c[j+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);i=b+8|0;j=c[i>>2]|0;h=h+280+(((e>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(e,f+16|0)|0){f=QA(b,e,r4(e)|0)|0;c[h>>2]=f}c[j>>2]=f;c[j+8>>2]=(a[f+4>>0]|64)&255;e=c[i>>2]|0;c[i>>2]=e+16;cB(b,g,e,e+-16|0);c[i>>2]=(c[i>>2]|0)+-32;return}function qz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){h=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){h=(c[b+12>>2]|0)+40|0;break}h=-1001e3-e|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)h=412368;else{j=c[e>>2]|0;h=(h|0)>(d[j+6>>0]|0|0)?412368:j+16+(h+-1<<4)|0}}else{h=(c[g>>2]|0)+(e<<4)|0;h=h>>>0<(c[b+8>>2]|0)>>>0?h:412368}while(0);i=b+8|0;j=c[i>>2]|0;g=(c[b+12>>2]|0)+280+(((f>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(f,e+16|0)|0){e=QA(b,f,r4(f)|0)|0;c[g>>2]=e}c[j>>2]=e;c[j+8>>2]=(a[e+4>>0]|64)&255;f=c[i>>2]|0;c[i>>2]=f+16;cB(b,h,f,f+-16|0);c[i>>2]=(c[i>>2]|0)+-32;return}function rz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){b=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}g=-1001e3-b|0;b=c[h>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(g|0)>(d[b+6>>0]|0|0)?412368:b+16+(g+-1<<4)|0}}else{b=(c[h>>2]|0)+(b<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);h=a+8|0;g=c[h>>2]|0;i=g;c[i>>2]=e;c[i+4>>2]=f;c[g+8>>2]=19;c[h>>2]=g+16;cB(a,b,g,g+-16|0);c[h>>2]=(c[h>>2]|0)+-32;return}function sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){e=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[b+12>>2]|0)+40|0;break}h=-1001e3-e|0;e=c[i>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(h|0)>(d[e+6>>0]|0|0)?412368:e+16+(h+-1<<4)|0}}else{e=(c[i>>2]|0)+(e<<4)|0;e=e>>>0<(c[b+8>>2]|0)>>>0?e:412368}while(0);j=c[e>>2]|0;k=b+8|0;i=(c[k>>2]|0)+-16|0;e=b6(f|0,g|0,-1,-1)|0;h=z;a:do if(h>>>0<0|((h|0)==0?e>>>0<(c[j+8>>2]|0)>>>0:0)){e=(c[j+12>>2]|0)+(e<<4)|0;h=17}else{e=(c[j+16>>2]|0)+(((1<<(d[j+7>>0]|0))+-1&f)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(h=e+16|0,(c[h>>2]|0)==(f|0)?(c[h+4>>2]|0)==(g|0):0):0)break;h=c[e+28>>2]|0;if(!h){h=18;break a}e=e+(h<<5)|0}h=17}while(0);if((h|0)==17)if((e|0)==412368)h=18;if((h|0)==18){e=m;c[e>>2]=f;c[e+4>>2]=g;c[m+8>>2]=19;e=UA(b,j,m)|0};c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];e=c[k>>2]|0;if(!(c[e+-8>>2]&64)){b=e+-16|0;c[k>>2]=b;l=n;return}h=j+5|0;i=a[h>>0]|0;if(!(i&4)){b=e+-16|0;c[k>>2]=b;l=n;return}if(!(a[(c[e+-16>>2]|0)+5>>0]&3)){b=e+-16|0;c[k>>2]=b;l=n;return}b=c[b+12>>2]|0;a[h>>0]=i&-5;b=b+80|0;c[j+28>>2]=c[b>>2];c[b>>2]=j;b=e+-16|0;c[k>>2]=b;l=n;return}function tz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+40|0;break}g=-1001e3-e|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==22)j=412368;else{j=c[e>>2]|0;j=(g|0)>(d[j+6>>0]|0|0)?412368:j+16+(g+-1<<4)|0}}else{j=(c[f>>2]|0)+(e<<4)|0;j=j>>>0<(c[b+8>>2]|0)>>>0?j:412368}while(0);l=b+8|0;e=c[l>>2]|0;if(!(c[e+-8>>2]|0)){i=0;k=0}else{k=c[e+-16>>2]|0;i=k}e=c[j+8>>2]|0;switch(e&15){case 5:{c[(c[j>>2]|0)+24>>2]=i;if(!k){b=c[l>>2]|0;b=b+-16|0;c[l>>2]=b;return}e=c[j>>2]|0;f=e+5|0;g=a[f>>0]|0;do if((g&4)!=0?(a[k+5>>0]&3)!=0:0){h=c[b+12>>2]|0;if((d[h+61>>0]|0)<2){$z(h,k);e=c[j>>2]|0;break}else{a[f>>0]=a[h+60>>0]&3|g&-8;break}}while(0);aA(b,e,k);b=c[l>>2]|0;b=b+-16|0;c[l>>2]=b;return}case 7:{c[(c[j>>2]|0)+8>>2]=k;if(!k){b=c[l>>2]|0;b=b+-16|0;c[l>>2]=b;return}e=c[j>>2]|0;f=e+5|0;g=a[f>>0]|0;do if((g&4)!=0?(a[k+5>>0]&3)!=0:0){h=c[b+12>>2]|0;if((d[h+61>>0]|0)<2){$z(h,i);e=c[j>>2]|0;break}else{a[f>>0]=a[h+60>>0]&3|g&-8;break}}while(0);aA(b,e,k);b=c[l>>2]|0;b=b+-16|0;c[l>>2]=b;return}default:{c[(c[b+12>>2]|0)+244+((e&15)<<2)>>2]=k;b=c[l>>2]|0;b=b+-16|0;c[l>>2]=b;return}}}function uz(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;q=r;n=r+8|0;if(!h)h=0;else{m=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){h=(c[e+8>>2]|0)+(h<<4)|0;break}if((h|0)==-1001e3){h=(c[e+12>>2]|0)+40|0;break}k=-1001e3-h|0;h=c[m>>2]|0;if((c[h+8>>2]|0)==22)h=412368;else{h=c[h>>2]|0;h=(k|0)>(d[h+6>>0]|0)?412368:h+16+(k+-1<<4)|0}}else{h=(c[m>>2]|0)+(h<<4)|0;h=h>>>0<(c[e+8>>2]|0)>>>0?h:412368}while(0);h=h-(c[e+28>>2]|0)|0}p=e+8|0;o=(c[p>>2]|0)+(~f<<4)|0;c[n>>2]=o;if((j|0)!=0?(b[e+104>>1]|0)==0:0){k=c[e+16>>2]|0;c[k+16>>2]=j;c[k+24>>2]=i;c[k+28>>2]=o-(c[e+28>>2]|0);f=e+88|0;n=k+20|0;c[n>>2]=c[f>>2];c[f>>2]=h;h=k+34|0;a[h>>0]=a[e+109>>0]|a[h>>0]&-18|16;k=e+106|0;m=(b[k>>1]|0)+1<<16>>16;b[k>>1]=m;if((m&65535)>199){if(m<<16>>16==200)Fz(e,353895,q);if((m&65535)>224)Jz(e,6)}if(!(Nz(e,o,g)|0))jB(e);b[k>>1]=(b[k>>1]|0)+-1<<16>>16;a[h>>0]=a[h>>0]&-17;c[f>>2]=c[n>>2];m=0}else{c[n+4>>2]=g;m=Tz(e,151,n,o-(c[e+28>>2]|0)|0,h)|0}if((g|0)!=-1){l=r;return m|0}k=(c[e+16>>2]|0)+4|0;h=c[p>>2]|0;if((c[k>>2]|0)>>>0>=h>>>0){l=r;return m|0}c[k>>2]=h;l=r;return m|0}function vz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=c[d>>2]|0;e=c[d+4>>2]|0;f=a+106|0;d=(b[f>>1]|0)+1<<16>>16;b[f>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(a,353895,g);if((d&65535)>224)Jz(a,6)}d=a+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(a,h,e)|0))jB(a);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;l=i;return}function wz(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=l;l=l+80|0;j=k+20|0;q=k;c[q+16>>2]=e;c[q+8>>2]=f;c[q+12>>2]=g;c[q>>2]=0;c[q+4>>2]=0;g=e+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=q;c[j+56>>2]=(h|0)==0?359767:h;c[j+52>>2]=i;q=j+16|0;c[q>>2]=0;p=j+24|0;c[p>>2]=0;o=j+28|0;c[o>>2]=0;n=j+36|0;c[n>>2]=0;m=j+40|0;c[m>>2]=0;i=j+48|0;c[i>>2]=0;s=j+4|0;c[s>>2]=0;r=j+12|0;c[r>>2]=0;h=e+8|0;j=Tz(e,198,j,(c[h>>2]|0)-(c[e+28>>2]|0)|0,c[e+88>>2]|0)|0;v=c[s>>2]|0;u=c[r>>2]|0;f=e+12|0;t=c[f>>2]|0;e=Uh[c[t>>2]&63](c[t+4>>2]|0,v,u,0)|0;t=t+12|0;c[t>>2]=(v|0?0-u|0:0)+(c[t>>2]|0);c[s>>2]=e;c[r>>2]=0;q=c[q>>2]|0;p=c[p>>2]<<1;e=c[f>>2]|0;Uh[c[e>>2]&63](c[e+4>>2]|0,q,p,0)|0;e=e+12|0;c[e>>2]=(q|0?0-p|0:0)+(c[e>>2]|0);o=c[o>>2]|0;n=c[n>>2]<<4;e=c[f>>2]|0;Uh[c[e>>2]&63](c[e+4>>2]|0,o,n,0)|0;e=e+12|0;c[e>>2]=(o|0?0-n|0:0)+(c[e>>2]|0);m=c[m>>2]|0;i=c[i>>2]<<4;e=c[f>>2]|0;Uh[c[e>>2]&63](c[e+4>>2]|0,m,i,0)|0;e=e+12|0;c[e>>2]=(m|0?0-i|0:0)+(c[e>>2]|0);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;if(j|0){l=k;return j|0}i=c[(c[h>>2]|0)+-16>>2]|0;if(!(a[i+6>>0]|0)){l=k;return j|0}h=c[(c[f>>2]|0)+40>>2]|0;a:do if((c[h+8>>2]|0)>>>0>1)h=(c[h+12>>2]|0)+16|0;else{h=(c[h+16>>2]|0)+(((1<<d[h+7>>0])+3&2)<<5)|0;while(1){if((c[h+24>>2]|0)==19?(v=h+16|0,(c[v>>2]|0)==2&(c[v+4>>2]|0)==0):0)break;g=c[h+28>>2]|0;if(!g){h=412368;break a}h=h+(g<<5)|0}}while(0);v=i+16|0;u=c[c[v>>2]>>2]|0;c[u>>2]=c[h>>2];c[u+4>>2]=c[h+4>>2];c[u+8>>2]=c[h+8>>2];c[u+12>>2]=c[h+12>>2];v=c[v>>2]|0;h=c[v>>2]|0;if(!((h|0)==(v+8|0)?(c[h+8>>2]&64|0)!=0:0)){l=k;return j|0}g=c[f>>2]|0;h=c[h>>2]|0;if((d[g+61>>0]|0)>=2){l=k;return j|0}if(!(a[h+5>>0]&3)){l=k;return j|0}$z(g,h);l=k;return j|0}function xz(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;h=q;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){b=(c[a+8>>2]|0)+(b<<4)|0;break}if((b|0)==-1001e3){b=(c[a+12>>2]|0)+40|0;break}f=-1001e3-b|0;b=c[e>>2]|0;if((c[b+8>>2]|0)==22)b=412368;else{b=c[b>>2]|0;b=(f|0)>(d[b+6>>0]|0|0)?412368:b+16+(f+-1<<4)|0}}else{b=(c[e>>2]|0)+(b<<4)|0;b=b>>>0<(c[a+8>>2]|0)>>>0?b:412368}while(0);k=c[b>>2]|0;o=a+8|0;m=c[o>>2]|0;n=m+-16|0;i=m+-8|0;switch(c[i>>2]|0){case 0:{g=c[k+8>>2]|0;b=0;break}case 19:{f=n;b=c[f>>2]|0;f=c[f+4>>2]|0;if(!(!(f>>>0>0|(f|0)==0&b>>>0>2147483648|((f|0)<0|(f|0)==0&b>>>0<1)|(b|0)==0)?(g=c[k+8>>2]|0,b>>>0<=g>>>0):0))p=13;break}default:p=13}if((p|0)==13){e=SA(k,n)|0;b=e+16|0;a:do if(!(fB(0,b,n)|0)){while(1){if(((c[e+24>>2]|0)==10?c[i>>2]&64|0:0)?(c[b>>2]|0)==(c[n>>2]|0):0){j=e;break a}b=c[e+28>>2]|0;if(!b)break;f=e+(b<<5)|0;b=e+(b<<5)+16|0;if(fB(0,b,n)|0){j=f;break a}else e=f}Fz(a,355193,h)}else j=e;while(0);b=c[k+8>>2]|0;g=b;b=b+1+(j-(c[k+16>>2]|0)>>5)|0}a=k+12|0;while(1){if(b>>>0>=g>>>0)break;e=c[a>>2]|0;f=b+1|0;if(!(c[e+(b<<4)+8>>2]|0))b=f;else{p=25;break}}if((p|0)==25){p=n;c[p>>2]=f;c[p+4>>2]=0;c[i>>2]=19;p=e+(b<<4)|0;c[m>>2]=c[p>>2];c[m+4>>2]=c[p+4>>2];c[m+8>>2]=c[p+8>>2];c[m+12>>2]=c[p+12>>2];p=1;k=(p|0)==0;n=c[o>>2]|0;m=n+-16|0;n=n+16|0;n=k?m:n;c[o>>2]=n;l=q;return p|0}b=b-g|0;a=1<<(d[k+7>>0]|0);if((b|0)>=(a|0)){p=0;k=(p|0)==0;n=c[o>>2]|0;m=n+-16|0;n=n+16|0;n=k?m:n;c[o>>2]=n;l=q;return p|0}e=k+16|0;f=c[e>>2]|0;while(1){if(c[f+(b<<5)+8>>2]|0)break;b=b+1|0;if((b|0)>=(a|0)){b=0;p=31;break}}if((p|0)==31){m=(b|0)==0;p=c[o>>2]|0;n=p+-16|0;p=p+16|0;p=m?n:p;c[o>>2]=p;l=q;return b|0}p=f+(b<<5)+16|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];p=(c[e>>2]|0)+(b<<5)|0;c[m>>2]=c[p>>2];c[m+4>>2]=c[p+4>>2];c[m+8>>2]=c[p+8>>2];c[m+12>>2]=c[p+12>>2];p=1;k=(p|0)==0;n=c[o>>2]|0;m=n+-16|0;n=n+16|0;n=k?m:n;c[o>>2]=n;l=q;return p|0}function yz(b,d){b=b|0;d=d|0;var e=0;if((d|0)>1){if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);gB(b,d);return}else{if(d|0)return;d=b+8|0;e=c[d>>2]|0;b=QA(b,436559,0)|0;c[e>>2]=b;c[e+8>>2]=(a[b+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+16;return}}function zz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+12|0;if((c[(c[e>>2]|0)+12>>2]|0)>0)jA(b);if(d>>>0>4294967271)mA(b);h=d+24|0;g=c[e>>2]|0;f=g+4|0;e=Uh[c[g>>2]&63](c[f>>2]|0,0,7,h)|0;if((h|0)!=0&(e|0)==0){if(!(c[g+140>>2]|0))Jz(b,4);kA(b,1);e=Uh[c[g>>2]&63](c[f>>2]|0,0,7,h)|0;if(!e)Jz(b,4);else i=e}else i=e;f=g+12|0;c[f>>2]=h+(c[f>>2]|0);a[i+5>>0]=a[g+60>>0]&3;a[i+4>>0]=7;g=g+64|0;c[i>>2]=c[g>>2];c[g>>2]=i;c[i+12>>2]=d;c[i+8>>2]=0;g=412368;h=c[g+4>>2]|0;d=i+16|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;a[i+6>>0]=0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=i;c[b+8>>2]=71;c[d>>2]=(c[d>>2]|0)+16;return i+24|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){e=(c[b+8>>2]|0)+(e<<4)|0;break}if((e|0)==-1001e3){e=(c[b+12>>2]|0)+40|0;break}h=-1001e3-e|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(h|0)>(d[e+6>>0]|0|0)?412368:e+16+(h+-1<<4)|0}}else{e=(c[g>>2]|0)+(e<<4)|0;e=e>>>0<(c[b+8>>2]|0)>>>0?e:412368}while(0);a:do switch(c[e+8>>2]&63){case 38:{e=c[e>>2]|0;if((f|0)<=0){b=0;return b|0}if((d[e+6>>0]|0|0)<(f|0)){b=0;return b|0}else{i=436559;h=e+16+(f+-1<<4)|0;f=0;break a}}case 6:{e=c[e>>2]|0;g=c[e+12>>2]|0;if((f|0)<=0){b=0;return b|0}if((c[g+12>>2]|0)<(f|0)){b=0;return b|0}i=f+-1|0;f=c[e+16+(i<<2)>>2]|0;h=c[f>>2]|0;e=c[(c[g+64>>2]|0)+(i<<3)>>2]|0;if(!e){i=353604;e=0}else{i=e+16|0;e=0}break}default:{b=0;return b|0}}while(0);g=b+8|0;j=(c[g>>2]|0)+-16|0;c[g>>2]=j;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];if(!e){e=f;if(!f){j=i;return j|0}j=c[e>>2]|0;if(!((j|0)==(e+8|0)?(c[j+8>>2]&64|0)!=0:0)){j=i;return j|0}g=c[b+12>>2]|0;e=c[c[f>>2]>>2]|0;if((d[g+61>>0]|0)>=2){j=i;return j|0}if(!(a[e+5>>0]&3)){j=i;return j|0}$z(g,e);j=i;return j|0}g=c[g>>2]|0;if(!(c[g+8>>2]&64)){j=i;return j|0}h=e+5|0;f=a[h>>0]|0;if(!(f&4)){j=i;return j|0}g=c[g>>2]|0;if(!(a[g+5>>0]&3)){j=i;return j|0}e=c[b+12>>2]|0;if((d[e+61>>0]|0)<2){$z(e,g);j=i;return j|0}else{a[h>>0]=a[e+60>>0]&3|f&-8;j=i;return j|0}return 0}function Bz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+16|0;X=Y;V=b+6|0;if((a[V>>0]|0)==1){N=c[b+16>>2]|0;O=c[N>>2]|0;R=c[b+28>>2]|0;U=N+28|0;c[N>>2]=R+(c[U>>2]|0);c[U>>2]=O-R}if((a[e>>0]|0)==62){O=b+8|0;U=(c[O>>2]|0)+-16|0;c[O>>2]=U;e=e+1|0;O=0}else{U=c[f+96>>2]|0;O=U;U=c[U>>2]|0}if((c[U+8>>2]&31|0)==6)R=c[U>>2]|0;else R=0;g=a[e>>0]|0;a:do if(!(g<<24>>24))t=1;else{o=(R|0)==0;p=f+16|0;q=f+24|0;r=f+28|0;s=f+12|0;u=f+36|0;v=R+4|0;w=R+12|0;x=(O|0)==0;y=f+20|0;A=O+34|0;B=O+20|0;C=f+32|0;D=f+34|0;E=f+33|0;F=R+6|0;G=f+35|0;H=f+8|0;I=f+4|0;J=O+8|0;K=b+12|0;L=f+45|0;M=f+95|0;N=f+39|0;n=e;t=1;while(1){b:do switch(g<<24>>24|0){case 83:{if(!o?(a[v>>0]|0)!=38:0){m=c[w>>2]|0;k=c[m+72>>2]|0;k=(k|0)==0?353643:k+16|0;c[p>>2]=k;g=c[m+36>>2]|0;c[q>>2]=g;c[r>>2]=c[m+40>>2];g=(g|0)==0?362538:353646}else{c[p>>2]=353638;c[q>>2]=-1;c[r>>2]=-1;k=353638;g=359906}c[s>>2]=g;m=r4(k)|0;switch(a[k>>0]|0){case 61:{g=k+1|0;if(m>>>0>60){j=u;h=j+59|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(h|0));a[M>>0]=0;break b}else{s6(u|0,g|0,m|0)|0;break b}}case 64:if(m>>>0>60){a[u>>0]=a[371374]|0;a[u+1>>0]=a[371375]|0;a[u+2>>0]=a[371376]|0;j=N;g=k+(m+-56)|0;h=j+57|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(h|0));break b}else{s6(u|0,k+1|0,m|0)|0;break b}default:{i=s4(k,10)|0;j=u;g=354517;h=j+9|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(h|0));g=(i|0)==0;if(m>>>0<45&g){s6(L|0,k|0,m|0)|0;g=m+9|0}else{g=g?m:i-k|0;g=g>>>0<45?g:45;s6(L|0,k|0,g|0)|0;m=g+9+(f+36)|0;a[m>>0]=a[371374]|0;a[m+1>>0]=a[371375]|0;a[m+2>>0]=a[371376]|0;g=g+12|0}m=f+36+g|0;a[m>>0]=a[354527]|0;a[m+1>>0]=a[354528]|0;a[m+2>>0]=a[354529]|0;break b}}}case 108:{if((!x?(a[A>>0]&2)!=0:0)?(S=c[(c[c[O>>2]>>2]|0)+12>>2]|0,T=c[S+56>>2]|0,(T|0)!=0):0)g=c[T+(((c[B>>2]|0)-(c[S+48>>2]|0)>>2)+-1<<2)>>2]|0;else g=-1;c[y>>2]=g;break}case 117:{if(!o){a[C>>0]=a[F>>0]|0;if((a[v>>0]|0)!=38){m=c[w>>2]|0;a[D>>0]=a[m+7>>0]|0;a[E>>0]=a[m+6>>0]|0;break b}}else a[C>>0]=0;a[D>>0]=1;a[E>>0]=0;break}case 116:{if(x)g=0;else g=a[A>>0]&32;a[G>>0]=g;break}case 110:{c:do if((!x?(a[A>>0]&32)==0:0)?(P=c[J>>2]|0,Q=a[P+34>>0]|0,(Q&2)!=0):0){g=c[(c[c[P>>2]>>2]|0)+12>>2]|0;i=c[g+48>>2]|0;h=((c[P+20>>2]|0)-i>>2)+-1|0;i=c[i+(h<<2)>>2]|0;d:do if(!(Q&4)){do switch(i&63){case 41:{g=353650;h=353650;break d}case 37:case 36:{m=Cz(g,h,i>>>6&255,I)|0;c[H>>2]=m;if(!m)break c;else break b}case 33:{g=21;break}case 32:{g=20;break}case 31:{g=5;break}case 10:case 8:{g=1;break}case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 15:case 14:case 13:{g=(i&63)+-7|0;break}case 25:{g=18;break}case 26:{g=19;break}case 28:{g=4;break}case 29:{g=22;break}default:g=0}while(0);g=(c[(c[K>>2]|0)+148+(g<<2)>>2]|0)+16|0;h=353663}else{g=359767;h=353674}while(0);c[I>>2]=g;c[H>>2]=h;break b}else W=54;while(0);if((W|0)==54){W=0;c[H>>2]=0}c[H>>2]=436559;c[I>>2]=0;break}case 102:case 76:break;default:t=0}while(0);n=n+1|0;g=a[n>>0]|0;if(!(g<<24>>24))break a}}while(0);if(s4(e,102)|0){W=b+8|0;f=c[W>>2]|0;c[f>>2]=c[U>>2];c[f+4>>2]=c[U+4>>2];c[f+8>>2]=c[U+8>>2];c[f+12>>2]=c[U+12>>2];c[W>>2]=(c[W>>2]|0)+16}if((a[V>>0]|0)==1){f=c[b+16>>2]|0;U=c[f>>2]|0;V=c[b+28>>2]|0;W=f+28|0;c[f>>2]=V+(c[W>>2]|0);c[W>>2]=U-V}if(!(s4(e,76)|0)){l=Y;return t|0}if(R|0?(a[R+4>>0]|0)!=38:0){j=R+12|0;k=c[(c[j>>2]|0)+56>>2]|0;m=WA(b)|0;W=b+8|0;V=c[W>>2]|0;c[V>>2]=m;c[V+8>>2]=69;c[W>>2]=(c[W>>2]|0)+16;if((c[(c[j>>2]|0)+24>>2]|0)<=0){l=Y;return t|0}n=m+8|0;o=m+12|0;p=X+8|0;q=m+7|0;r=m+16|0;s=0;do{h=c[k+(s<<2)>>2]|0;i=((h|0)<0)<<31>>31;e=b6(h|0,i|0,-1,-1)|0;W=z;e:do if(W>>>0<0|((W|0)==0?e>>>0<(c[n>>2]|0)>>>0:0)){e=(c[o>>2]|0)+(e<<4)|0;W=78}else{e=(c[r>>2]|0)+(((1<<d[q>>0])+-1&h)<<5)|0;while(1){if((c[e+24>>2]|0)==19?(W=e+16|0,(c[W>>2]|0)==(h|0)?(c[W+4>>2]|0)==(i|0):0):0)break;g=c[e+28>>2]|0;if(!g){W=79;break e}e=e+(g<<5)|0}W=78}while(0);if((W|0)==78){W=0;if((e|0)==412368)W=79}if((W|0)==79){e=X;c[e>>2]=h;c[e+4>>2]=i;c[p>>2]=19;e=UA(b,m,X)|0}c[e>>2]=1;c[e+8>>2]=1;s=s+1|0}while((s|0)<(c[(c[j>>2]|0)+24>>2]|0));l=Y;return t|0}X=b+8|0;b=c[X>>2]|0;c[b+8>>2]=0;c[X>>2]=b+16;l=Y;return t|0}function Cz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b+48|0;p=c[b+32>>2]|0;n=(p|0)>0;o=b+60|0;a:while(1){b:do if(n){i=c[o>>2]|0;g=e+1|0;h=0;do{if((c[i+(h*12|0)+4>>2]|0)>(d|0))break b;if((c[i+(h*12|0)+8>>2]|0)>(d|0)){g=g+-1|0;if(!g){k=9;break a}}h=h+1|0}while((h|0)<(p|0))}while(0);c[f>>2]=0;if((d|0)<=0){d=0;k=54;break}l=c[m>>2]|0;j=0;k=0;i=-1;while(1){g=c[l+(k<<2)>>2]|0;h=g>>>6&255;switch(g&63){case 4:{if((h|0)<=(e|0)?(h+(g>>>23)|0)>=(e|0):0){g=j;i=(k|0)<(j|0)?-1:k}else g=j;break}case 41:{if((h+2|0)>(e|0))g=j;else{g=j;i=(k|0)<(j|0)?-1:k}break}case 37:case 36:{if((h|0)>(e|0))g=j;else{g=j;i=(k|0)<(j|0)?-1:k}break}case 30:{g=k+-131070+(g>>>14)|0;g=(g|0)>(j|0)&((g|0)<=(d|0)&(k|0)<(g|0))?g:j;break}default:if((h|0)==(e|0)?(a[354530+(g&63)>>0]&64)!=0:0){g=j;i=(k|0)<(j|0)?-1:k}else g=j}k=k+1|0;if((k|0)==(d|0))break;else j=g}if((i|0)==-1){d=0;k=54;break}g=c[l+(i<<2)>>2]|0;switch(g&63){case 7:case 6:{k=26;break a}case 5:{k=43;break a}case 12:{k=48;break a}case 1:{k=44;break a}case 2:{k=45;break a}case 0:break;default:{d=0;k=54;break a}}e=g>>>23;if(e>>>0>=(g>>>6&255)>>>0){d=0;k=54;break}else d=i}if((k|0)==9){c[f>>2]=(c[i+(h*12|0)>>2]|0)+16;f=361162;return f|0}else if((k|0)==26){h=g>>>14;j=h&511;d=g>>>23;c:do if((g&63|0)==7)if(n){g=c[o>>2]|0;d=d+1|0;e=0;while(1){if((c[g+(e*12|0)+4>>2]|0)>(i|0)){g=0;break c}if((c[g+(e*12|0)+8>>2]|0)>(i|0)){d=d+-1|0;if(!d)break}e=e+1|0;if((e|0)>=(p|0)){g=0;break c}}g=(c[g+(e*12|0)>>2]|0)+16|0}else g=0;else{g=c[(c[b+64>>2]|0)+(d<<3)>>2]|0;g=(g|0)==0?359767:g+16|0}while(0);if(!(h&256)){b=Cz(b,i,j,f)|0;if(!((b|0)!=0?(a[b>>0]|0)==99:0)){d=359767;k=40}}else{e=h&255;d=c[b+44>>2]|0;if((c[d+(e<<4)+8>>2]&15|0)==4){d=(c[d+(e<<4)>>2]|0)+16|0;k=40}else{d=359767;k=40}}if((k|0)==40)c[f>>2]=d;if(!g){f=353686;return f|0}f=(e3(g,361125)|0)==0;f=f?353679:353686;return f|0}else if((k|0)==43){b=c[(c[b+64>>2]|0)+(g>>>23<<3)>>2]|0;c[f>>2]=(b|0)==0?359767:b+16|0;f=353701;return f|0}else if((k|0)==44)e=g>>>14;else if((k|0)==45)e=(c[l+(i+1<<2)>>2]|0)>>>6;else if((k|0)==48){d=g>>>14;if(!(d&256)){b=Cz(b,i,d&511,f)|0;if(b|0?(a[b>>0]|0)==99:0){f=356084;return f|0}}else{e=d&255;d=c[b+44>>2]|0;if((c[d+(e<<4)+8>>2]&15|0)==4){c[f>>2]=(c[d+(e<<4)>>2]|0)+16;f=356084;return f|0}}c[f>>2]=359767;f=356084;return f|0}else if((k|0)==54)return d|0;d=c[b+44>>2]|0;if((c[d+(e<<4)+8>>2]&15|0)!=4){f=0;return f|0}c[f>>2]=(c[d+(e<<4)>>2]|0)+16;f=353692;return f|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=c[7100+((c[b+8>>2]&15)+1<<2)>>2]|0;b=Ez(a,b)|0;c[e>>2]=d;c[e+4>>2]=f;c[e+8>>2]=b;Fz(a,353709,e)}function Ez(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=m+8|0;c[j>>2]=0;g=c[b+16>>2]|0;if(!(a[g+34>>0]&2)){k=436559;l=m;return k|0}h=c[c[g>>2]>>2]|0;e=a[h+6>>0]|0;a:do if(!(e<<24>>24))i=7;else{f=e&255;e=0;while(1){if((c[c[h+16+(e<<2)>>2]>>2]|0)==(d|0))break;e=e+1|0;if((e|0)>=(f|0)){i=7;break a}}f=c[(c[(c[h+12>>2]|0)+64>>2]|0)+(e<<3)>>2]|0;f=(f|0)==0?359767:f+16|0;c[j>>2]=f;e=353701}while(0);do if((i|0)==7){f=c[g+16>>2]|0;e=d-f|0;if((e|0)<=-16){k=436559;l=m;return k|0}if((e|0)>=((c[g+4>>2]|0)-f|0)){k=436559;l=m;return k|0}i=c[h+12>>2]|0;e=Cz(i,((c[g+20>>2]|0)-(c[i+48>>2]|0)>>2)+-1|0,e>>4,j)|0;if(!e){k=436559;l=m;return k|0}else{f=c[j>>2]|0;break}}while(0);c[k>>2]=e;c[k+4>>2]=f;k=qA(b,353746,k)|0;l=m;return k|0}function Fz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+96|0;n=k;m=k+32|0;k=k+16|0;g=c[b+16>>2]|0;c[k>>2]=e;k=pA(b,d,k)|0;if(!(a[g+34>>0]&2))Gz(b);d=c[(c[c[g>>2]>>2]|0)+12>>2]|0;f=c[d+72>>2]|0;e=c[d+56>>2]|0;if(!e)j=-1;else j=c[e+(((c[g+20>>2]|0)-(c[d+48>>2]|0)>>2)+-1<<2)>>2]|0;a:do if(!f){a[m>>0]=63;a[m+1>>0]=0}else{g=f+16|0;i=r4(g)|0;switch(a[g>>0]|0){case 61:{d=g+1|0;if(i>>>0>60){f=m;e=f+59|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));a[m+59>>0]=0;break a}else{s6(m|0,d|0,i|0)|0;break a}}case 64:if(i>>>0>60){a[m>>0]=a[371374]|0;a[m+1>>0]=a[371375]|0;a[m+2>>0]=a[371376]|0;f=m+3|0;d=g+(i+-56)|0;e=f+57|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));break a}else{s6(m|0,g+1|0,i|0)|0;break a}default:{h=s4(g,10)|0;f=m;d=354517;e=f+9|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));d=m+9|0;e=(h|0)==0;if(i>>>0<45&e){s6(d|0,g|0,i|0)|0;d=i+9|0}else{i=e?i:h-g|0;i=i>>>0<45?i:45;s6(d|0,g|0,i|0)|0;d=m+(i+9)|0;a[d>>0]=a[371374]|0;a[d+1>>0]=a[371375]|0;a[d+2>>0]=a[371376]|0;d=i+12|0}i=m+d|0;a[i>>0]=a[354527]|0;a[i+1>>0]=a[354528]|0;a[i+2>>0]=a[354529]|0;break a}}}while(0);c[n>>2]=m;c[n+4>>2]=j;c[n+8>>2]=k;qA(b,353736,n)|0;Gz(b)}function Gz(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=c[a+88>>2]|0;if(!d)Jz(a,2);d=(c[a+28>>2]|0)+d|0;f=a+8|0;e=c[f>>2]|0;h=e+-16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=(c[f>>2]|0)+-16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];e=c[f>>2]|0;c[f>>2]=e+16;e=e+-16|0;f=a+106|0;d=(b[f>>1]|0)+1<<16>>16;b[f>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(a,353895,g);if((d&65535)>224)Jz(a,6)}d=a+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(a,e,1)|0))jB(a);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;Jz(a,2)}function Hz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=l;l=l+16|0;h=c[e+8>>2]|0;if((h|0)==3){j=f;Dz(b,j,g)}if((h|0)!=19){if((h&15|0)==4){i=nA((c[e>>2]|0)+16|0,i)|0;h=c[e>>2]|0;if((a[h+4>>0]|0)==4)h=d[h+7>>0]|0;else h=c[h+12>>2]|0;e=(i|0)==(h+1|0)?f:e}}else e=f;j=e;Dz(b,j,g)}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;e=c[7100+((b&15)+1<<2)>>2]|0;b=c[7100+((d&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[f>>2]=e;Fz(a,353808,f)}else{c[g>>2]=e;c[g+4>>2]=b;Fz(a,353841,g)}}function Jz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+44>>2]|0;if(e|0){c[e+160>>2]=d;wh(e+4|0,1)}i=c[b+12>>2]|0;a[b+6>>0]=d;f=i+136|0;e=c[f>>2]|0;if(c[e+44>>2]|0){g=e+8|0;h=c[g>>2]|0;c[g>>2]=h+16;g=(c[b+8>>2]|0)+-16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];Jz(c[f>>2]|0,d)}h=i+132|0;if(!(c[h>>2]|0))sb();g=b+8|0;e=c[g>>2]|0;switch(d|0){case 4:{d=c[i+144>>2]|0;c[e>>2]=d;c[e+8>>2]=(a[d+4>>0]|64)&255;break}case 6:{d=QA(b,353871,23)|0;c[e>>2]=d;c[e+8>>2]=(a[d+4>>0]|64)&255;break}default:{d=e+-16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2]}}f=e+16|0;c[g>>2]=f;e=(c[b+16>>2]|0)+4|0;if((c[e>>2]|0)>>>0<f>>>0)c[e>>2]=f;Rh[c[h>>2]&511](b)|0;sb()}function Kz(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0;s=l;l=l+176|0;n=4;q=B2(40)|0;c[q>>2]=0;m=s;h=a+106|0;i=b[h>>1]|0;j=m+160|0;c[j>>2]=0;k=a+44|0;c[m>>2]=c[k>>2];c[k>>2]=m;n=q6(m+4|0,1,q|0,n|0)|0;q=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=r6(c[f>>2]|0,n|0,q|0)|0;if(!g)wh(f|0,p|0);z=p}else g=-1;if((g|0)==1)f=z;else f=0;while(1){if(f|0){r=6;break}o=0;wa(d|0,a|0,e|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=r6(c[f>>2]|0,n|0,q|0)|0;if(!g)wh(f|0,p|0);z=p}else g=-1;if((g|0)==1)f=z;else break}if((r|0)==6){r=c[m>>2]|0;c[k>>2]=r;b[h>>1]=i;r=c[j>>2]|0;C2(n|0);l=s;return r|0}r=c[m>>2]|0;c[k>>2]=r;b[h>>1]=i;r=c[j>>2]|0;C2(n|0);l=s;return r|0}function Lz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=b+28|0;f=c[i>>2]|0;n=b+92|0;e=c[n>>2]|0;if((d+1|0)>>>0>268435455)mA(b);k=e<<4;l=d<<4;m=c[b+12>>2]|0;j=(f|0)!=0;g=m+4|0;h=Uh[c[m>>2]&63](c[g>>2]|0,f,k,l)|0;if((l|0)!=0&(h|0)==0){if(!(c[m+140>>2]|0))Jz(b,4);kA(b,1);g=Uh[c[m>>2]&63](c[g>>2]|0,f,k,l)|0;if(!g)Jz(b,4);else o=g}else o=h;m=m+12|0;c[m>>2]=(j?0-k|0:0)+l+(c[m>>2]|0);c[i>>2]=o;if((e|0)<(d|0))do{c[o+(e<<4)+8>>2]=0;e=e+1|0}while((e|0)!=(d|0));c[n>>2]=d;c[b+24>>2]=o+(d+-5<<4);e=b+8|0;c[e>>2]=o+((c[e>>2]|0)-f>>4<<4);e=c[b+32>>2]|0;if(e|0)do{c[e>>2]=o+((c[e>>2]|0)-f>>4<<4);e=c[e+8>>2]|0}while((e|0)!=0);e=c[b+16>>2]|0;if(!e)return;do{b=e+4|0;c[b>>2]=o+((c[b>>2]|0)-f>>4<<4);c[e>>2]=o+((c[e>>2]|0)-f>>4<<4);if(a[e+34>>0]&2){b=e+16|0;c[b>>2]=o+((c[b>>2]|0)-f>>4<<4)}e=c[e+8>>2]|0}while((e|0)!=0);return}function Mz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+112|0;r=s;q=s+4|0;g=c[b+84>>2]|0;if(!g){l=s;return}m=b+109|0;if(!(a[m>>0]|0)){l=s;return}o=c[b+16>>2]|0;p=b+8|0;f=c[p>>2]|0;h=b+28|0;k=c[h>>2]|0;t=f;i=t-k|0;j=o+4|0;k=(c[j>>2]|0)-k|0;c[q>>2]=d;c[q+20>>2]=e;c[q+96>>2]=o;do if(((c[b+24>>2]|0)-t|0)<336){f=c[b+92>>2]|0;if((f|0)>1e6)Jz(b,6);t=(i>>4)+25|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(t|0)?t:f;if((f|0)>1e6){Lz(b,1000200);Fz(b,357349,r)}else{Lz(b,f);n=c[p>>2]|0;break}}else n=f;while(0);c[j>>2]=n+320;a[m>>0]=0;t=o+34|0;a[t>>0]=a[t>>0]|4;li[g&511](b,q);a[m>>0]=1;r=c[h>>2]|0;c[j>>2]=r+k;c[p>>2]=r+i;a[t>>0]=a[t>>0]&-5;l=s;return}function Nz(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;p=B+24|0;w=B+16|0;t=B+8|0;q=B;y=e+28|0;u=e+24|0;A=e+8|0;v=e+92|0;z=e+12|0;a:while(1){i=c[y>>2]|0;m=f;k=i;x=m-k|0;switch(c[f+8>>2]&63){case 22:{h=3;break a}case 38:{h=4;break a}case 6:{h=22;break a}default:{}}h=c[A>>2]|0;if(((c[u>>2]|0)-h|0)<32){f=c[v>>2]|0;if((f|0)>1e6){h=59;break}s=(h-k>>4)+6|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(s|0)?s:f;if((f|0)>1e6){h=61;break}Lz(e,f);f=c[y>>2]|0}else f=i;f=f+x|0;h=c[f+8>>2]|0;switch(h&15){case 5:{h=(c[f>>2]|0)+24|0;break}case 7:{h=(c[f>>2]|0)+8|0;break}default:h=(c[z>>2]|0)+244+((h&15)<<2)|0}h=c[h>>2]|0;b:do if(!h)i=412368;else{k=c[(c[z>>2]|0)+240>>2]|0;i=(c[h+16>>2]|0)+(((1<<d[h+7>>0])+-1&c[k+8>>2])<<5)|0;while(1){if((c[i+24>>2]|0)==68?(c[i+16>>2]|0)==(k|0):0)break;h=c[i+28>>2]|0;if(!h){i=412368;break b}i=i+(h<<5)|0}}while(0);if((c[i+8>>2]&15|0)!=6){h=75;break}h=c[A>>2]|0;if(h>>>0>f>>>0){do{x=h;h=h+-16|0;c[x>>2]=c[h>>2];c[x+4>>2]=c[h+4>>2];c[x+8>>2]=c[h+8>>2];c[x+12>>2]=c[h+12>>2]}while(h>>>0>f>>>0);h=c[A>>2]|0}c[A>>2]=h+16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2]}if((h|0)==3)o=f;else if((h|0)==4)o=(c[f>>2]|0)+12|0;else if((h|0)==22){s=c[(c[f>>2]|0)+12>>2]|0;f=c[A>>2]|0;q=f-m>>4;o=q+-1|0;if((c[(c[z>>2]|0)+12>>2]|0)>0){jA(e);f=c[A>>2]|0}r=s+8|0;h=d[r>>0]|0;do if(((c[u>>2]|0)-f>>4|0)<=(h|0)){i=c[v>>2]|0;if((i|0)>1e6)Jz(e,6);p=h+5+(f-(c[y>>2]|0)>>4)|0;f=i<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(p|0)?p:f;if((f|0)>1e6){Lz(e,1000200);Fz(e,357349,t)}else{Lz(e,f);break}}while(0);m=a[s+6>>0]|0;p=m&255;if((q|0)>(p|0))k=o;else{h=c[A>>2]|0;i=p+1|0;k=h;f=o;while(1){c[k+8>>2]=0;f=f+1|0;if((f|0)>=(p|0))break;else k=k+16|0}c[A>>2]=h+(i-q<<4);k=p}if(!(a[s+7>>0]|0)){n=c[y>>2]|0;f=n;n=n+(x+16)|0}else{f=c[A>>2]|0;h=f;i=d[r>>0]|0;do if(((c[u>>2]|0)-h>>4|0)<=(i|0)){f=c[v>>2]|0;if((f|0)>1e6)Jz(e,6);v=i+5+(h-(c[y>>2]|0)>>4)|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(v|0)?v:f;if((f|0)>1e6){Lz(e,1000200);Fz(e,357349,w)}else{Lz(e,f);n=c[A>>2]|0;break}}else n=f;while(0);if(m<<24>>24?(c[A>>2]=n+16,w=0-k|0,v=n+(w<<4)|0,c[n>>2]=c[v>>2],c[n+4>>2]=c[v+4>>2],c[n+8>>2]=c[v+8>>2],c[n+12>>2]=c[v+12>>2],c[n+(w<<4)+8>>2]=0,m<<24>>24!=1):0){f=1;do{v=c[A>>2]|0;c[A>>2]=v+16;w=f-k|0;u=n+(w<<4)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[n+(w<<4)+8>>2]=0;f=f+1|0}while((f|0)!=(p|0))}f=c[y>>2]|0}k=f+x|0;m=e+16|0;f=c[(c[m>>2]|0)+12>>2]|0;if(!f){i=c[z>>2]|0;f=i+4|0;h=Uh[c[i>>2]&63](c[f>>2]|0,0,0,36)|0;if(!h){if(!(c[i+140>>2]|0))Jz(e,4);kA(e,1);f=Uh[c[i>>2]&63](c[f>>2]|0,0,0,36)|0;if(!f)Jz(e,4);else j=f}else j=h;z=i+12|0;c[z>>2]=(c[z>>2]|0)+36;z=c[m>>2]|0;c[z+12>>2]=j;c[j+8>>2]=z;c[j+12>>2]=0}else j=f;c[m>>2]=j;b[j+32>>1]=g;c[j>>2]=k;c[j+16>>2]=n;g=n+(d[r>>0]<<4)|0;c[j+4>>2]=g;f=c[s+48>>2]|0;i=j+20|0;c[i>>2]=f;h=j+34|0;a[h>>0]=2;c[A>>2]=g;if(!(a[e+108>>0]&1)){e=0;l=B;return e|0}c[i>>2]=f+4;A=c[j+8>>2]|0;if((a[A+34>>0]&2)!=0?(c[(c[A+20>>2]|0)+-4>>2]&63|0)==37:0){a[h>>0]=34;f=4}else f=0;Mz(e,f,-1);c[i>>2]=(c[i>>2]|0)+-4;e=0;l=B;return e|0}else if((h|0)==59)Jz(e,6);else if((h|0)==61){Lz(e,1000200);Fz(e,357349,p)}else if((h|0)==75)Dz(e,f,371781);k=c[o>>2]|0;if((c[(c[z>>2]|0)+12>>2]|0)>0)jA(e);h=c[A>>2]|0;do if(((c[u>>2]|0)-h|0)<336){f=c[v>>2]|0;if((f|0)>1e6)Jz(e,6);w=(h-(c[y>>2]|0)>>4)+25|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(w|0)?w:f;if((f|0)>1e6){Lz(e,1000200);Fz(e,357349,q)}else{Lz(e,f);break}}while(0);j=e+16|0;f=c[(c[j>>2]|0)+12>>2]|0;if(!f){i=c[z>>2]|0;f=i+4|0;h=Uh[c[i>>2]&63](c[f>>2]|0,0,0,36)|0;if(!h){if(!(c[i+140>>2]|0))Jz(e,4);kA(e,1);f=Uh[c[i>>2]&63](c[f>>2]|0,0,0,36)|0;if(!f)Jz(e,4);else r=f}else r=h;f=i+12|0;c[f>>2]=(c[f>>2]|0)+36;f=c[j>>2]|0;c[f+12>>2]=r;c[r+8>>2]=f;c[r+12>>2]=0;f=r}c[j>>2]=f;b[f+32>>1]=g;c[f>>2]=(c[y>>2]|0)+x;c[f+4>>2]=(c[A>>2]|0)+320;a[f+34>>0]=0;if(a[e+108>>0]&1)Mz(e,0,-1);g=Rh[k&511](e)|0;Oz(e,(c[A>>2]|0)+(0-g<<4)|0,g)|0;e=1;l=B;return e|0}function Oz(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=a+16|0;i=c[j>>2]|0;g=d[a+108>>0]|0;if(!(g&6))h=c[i+8>>2]|0;else{if(g&2){k=a+28|0;e=e-(c[k>>2]|0)|0;Mz(a,1,-1);e=(c[k>>2]|0)+e|0}h=c[i+8>>2]|0;c[a+20>>2]=c[h+20>>2]}g=c[i>>2]|0;i=b[i+32>>1]|0;k=i<<16>>16;c[j>>2]=h;if(i<<16>>16!=0&(f|0)>0){h=0-k|0;j=-2-f-((f|0)<1?~f:-2)|0;j=j>>>0<h>>>0?h:j;h=k;i=g;while(1){c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];h=h+-1|0;if(!((h|0)!=0&(f|0)>1))break;else{f=f+-1|0;e=e+16|0;i=i+16|0}}i=j+k|0;g=g+(0-j<<4)|0}else i=k;if((i|0)>0){e=i;h=g}else{j=g;a=a+8|0;c[a>>2]=j;a=k+1|0;return a|0}while(1){c[h+8>>2]=0;if((e|0)>1){e=e+-1|0;h=h+16|0}else break}j=g+(i<<4)|0;a=a+8|0;c[a>>2]=j;a=k+1|0;return a|0}function Pz(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=a+106|0;f=(b[h>>1]|0)+1<<16>>16;b[h>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(a,353895,g);if((f&65535)>224)Jz(a,6)}f=(e|0)!=0;if(!f){g=a+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16}if(!(Nz(a,c,d)|0))jB(a);if(f){d=b[h>>1]|0;d=d+-1<<16>>16;b[h>>1]=d;l=i;return}d=a+104|0;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;d=b[h>>1]|0;d=d+-1<<16>>16;b[h>>1]=d;l=i;return}function Qz(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[f>>2]|0;k=d+8|0;i=c[k>>2]|0;g=i+(0-f<<4)|0;l=d+16|0;j=c[l>>2]|0;if((e[d+106>>1]|0)>199)Sz(d,353895,g);h=d+6|0;switch(a[h>>0]|0){case 0:{if((j|0)!=(d+48|0))Sz(d,353912,g);if(Nz(d,i+(~f<<4)|0,-1)|0)return;jB(d);return}case 1:{a[h>>0]=0;c[j>>2]=(c[d+28>>2]|0)+(c[j+28>>2]|0);if(!(a[j+34>>0]&2)){h=c[j+16>>2]|0;if(h){f=Th[h&63](d,1,c[j+24>>2]|0)|0;g=(c[k>>2]|0)+(0-f<<4)|0}Oz(d,g,f)|0}else jB(d);f=c[l>>2]|0;i=d+48|0;if((f|0)==(i|0))return;j=d+88|0;do{h=f+34|0;g=a[h>>0]|0;if(!(g&2)){g=g&255;if(g&16|0){a[h>>0]=g&239;c[j>>2]=c[f+20>>2]}if((b[f+32>>1]|0)==-1?(m=f+4|0,n=c[k>>2]|0,(c[m>>2]|0)>>>0<n>>>0):0)c[m>>2]=n;h=Th[c[f+16>>2]&63](d,1,c[f+24>>2]|0)|0;Oz(d,(c[k>>2]|0)+(0-h<<4)|0,h)|0}else{iB(d);jB(d)}f=c[l>>2]|0}while((f|0)!=(i|0));return}default:Sz(d,357048,g)}}function Rz(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)i=e+16|0;else{j=c[f>>2]|0;i=e+16|0;k=c[i>>2]|0;f=k+34|0;g=d[f>>0]|0;if(g&16|0){a[f>>0]=g&239;c[e+88>>2]=c[k+20>>2]}if((b[k+32>>1]|0)==-1){g=k+4|0;f=e+8|0;h=c[f>>2]|0;if((c[g>>2]|0)>>>0<h>>>0)c[g>>2]=h}else f=e+8|0;l=Th[c[k+16>>2]&63](e,j,c[k+24>>2]|0)|0;Oz(e,(c[f>>2]|0)+(0-l<<4)|0,l)|0}f=c[i>>2]|0;j=e+48|0;if((f|0)==(j|0))return;k=e+8|0;l=e+88|0;do{h=f+34|0;g=a[h>>0]|0;if(!(g&2)){g=g&255;if(g&16|0){a[h>>0]=g&239;c[l>>2]=c[f+20>>2]}if((b[f+32>>1]|0)==-1?(m=f+4|0,n=c[k>>2]|0,(c[m>>2]|0)>>>0<n>>>0):0)c[m>>2]=n;h=Th[c[f+16>>2]&63](e,1,c[f+24>>2]|0)|0;Oz(e,(c[k>>2]|0)+(0-h<<4)|0,h)|0}else{iB(e);jB(e)}f=c[i>>2]|0}while((f|0)!=(j|0));return}function Sz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;c[f>>2]=e;d=RA(b,d)|0;c[e>>2]=d;c[e+8>>2]=(a[d+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+16;Jz(b,-1)}function Tz(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=e+16|0;u=c[p>>2]|0;q=e+109|0;r=a[q>>0]|0;s=e+104|0;t=b[s>>1]|0;x=e+88|0;y=c[x>>2]|0;c[x>>2]=i;w=Kz(e,f,g)|0;if(!w){c[x>>2]=y;return w|0}v=e+28|0;j=c[v>>2]|0;k=j+h|0;l=e+32|0;i=c[l>>2]|0;a:do if(i|0){m=e+12|0;do{f=c[i>>2]|0;if(f>>>0<k>>>0)break a;g=i+8|0;c[l>>2]=c[g>>2];if(c[i+4>>2]|0){c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[i>>2]=g;if((c[i+16>>2]&64|0?(n=c[m>>2]|0,o=c[g>>2]|0,(d[n+61>>0]|0)<2):0)?a[o+5>>0]&3:0)$z(n,o)}else{g=c[m>>2]|0;Uh[c[g>>2]&63](c[g+4>>2]|0,i,24,0)|0;g=g+12|0;c[g>>2]=(i|0?-24:0)+(c[g>>2]|0)}i=c[l>>2]|0}while((i|0)!=0)}while(0);switch(w|0){case 4:{o=c[(c[e+12>>2]|0)+144>>2]|0;c[k>>2]=o;c[j+(h+8)>>2]=(a[o+4>>0]|64)&255;break}case 6:{o=QA(e,353871,23)|0;c[k>>2]=o;c[j+(h+8)>>2]=(a[o+4>>0]|64)&255;break}default:{o=(c[e+8>>2]|0)+-16|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2]}}i=j+(h+16)|0;c[e+8>>2]=i;c[p>>2]=u;a[q>>0]=r;b[s>>1]=t;g=u;if(u){f=g;do{u=c[f+4>>2]|0;i=i>>>0<u>>>0?u:i;f=c[f+8>>2]|0}while((f|0)!=0)}m=i-(c[v>>2]|0)|0;l=(m>>4)+1|0;l=((l|0)/8|0)+10+l|0;l=(l|0)<1e6?l:1e6;n=e+92|0;f=g+12|0;i=c[f>>2]|0;b:do if((c[n>>2]|0)>1e6){c[f>>2]=0;if(i|0){f=e+12|0;do{u=i;i=c[i+12>>2]|0;v=c[f>>2]|0;Uh[c[v>>2]&63](c[v+4>>2]|0,u,36,0)|0;v=v+12|0;c[v>>2]=(u|0?-36:0)+(c[v>>2]|0)}while((i|0)!=0)}}else if(i|0){k=e+12|0;do{j=g;g=c[i+12>>2]|0;if(!g)break b;v=c[k>>2]|0;Uh[c[v>>2]&63](c[v+4>>2]|0,i,36,0)|0;v=v+12|0;c[v>>2]=(i|0?-36:0)+(c[v>>2]|0);c[f>>2]=g;c[g+8>>2]=j;f=g+12|0;i=c[f>>2]|0}while((i|0)!=0)}while(0);if((m|0)>15999984){c[x>>2]=y;return w|0}if((l|0)>=(c[n>>2]|0)){c[x>>2]=y;return w|0}Lz(e,l);c[x>>2]=y;return w|0}function Uz(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+256|0;r=H+184|0;q=H+176|0;k=H+168|0;C=H+160|0;x=H+152|0;w=H+144|0;v=H+136|0;u=H+128|0;t=H+120|0;j=H+112|0;D=H+240|0;E=H+88|0;G=H;y=H+192|0;f=c[e>>2]|0;s=c[f>>2]|0;c[f>>2]=s+-1;if(!s){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,D)|0;i=c[D>>2]|0;if((g|0)==0|(i|0)==0)f=-1;else{c[f>>2]=i+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}s=f}else{p=f+4|0;s=c[p>>2]|0;c[p>>2]=s+1;s=d[s>>0]|0}f=c[e+52>>2]|0;g=(f|0)==0;if((s|0)!=27){if(!g?(s4(f,116)|0)==0:0){c[k>>2]=396309;c[k+4>>2]=f;qA(b,354034,k)|0;Jz(b,3)}p=c[e>>2]|0;n=e+4|0;o=e+16|0;m=c[e+56>>2]|0;k=b+12|0;i=c[k>>2]|0;f=i+4|0;g=Uh[c[i>>2]&63](c[f>>2]|0,0,6,20)|0;if(!g){if(!(c[i+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[i>>2]&63](c[f>>2]|0,0,6,20)|0;if(!f)Jz(b,4);else A=f}else A=g;j=i+12|0;c[j>>2]=(c[j>>2]|0)+20;a[A+5>>0]=a[i+60>>0]&3;a[A+4>>0]=6;j=i+64|0;c[A>>2]=c[j>>2];c[j>>2]=A;j=A+12|0;c[j>>2]=0;a[A+6>>0]=1;c[A+16>>2]=0;x=b+8|0;f=c[x>>2]|0;c[f>>2]=A;c[f+8>>2]=70;f=(c[x>>2]|0)+16|0;c[x>>2]=f;i=b+24|0;do if(((c[i>>2]|0)-f|0)<16){g=c[b+92>>2]|0;if((g|0)>1e6)Jz(b,6);C=(f-(c[b+28>>2]|0)>>4)+5|0;f=g<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(C|0)?C:f;if((f|0)>1e6){Lz(b,1000200);Fz(b,357349,q)}else{Lz(b,f);break}}while(0);C=WA(b)|0;c[G+64>>2]=C;g=c[x>>2]|0;c[g>>2]=C;c[g+8>>2]=69;g=(c[x>>2]|0)+16|0;c[x>>2]=g;do if(((c[i>>2]|0)-g|0)<16){f=c[b+92>>2]|0;if((f|0)>1e6)Jz(b,6);C=(g-(c[b+28>>2]|0)>>4)+5|0;f=f<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(C|0)?C:f;if((f|0)>1e6){Lz(b,1000200);Fz(b,357349,r)}else{Lz(b,f);break}}while(0);w=Zz(b)|0;c[j>>2]=w;c[y>>2]=w;f=(c[k>>2]|0)+280+(((m>>>0)%127|0)<<2)|0;g=c[f>>2]|0;if(e3(m,g+16|0)|0){g=QA(b,m,r4(m)|0)|0;c[f>>2]=g}u=w+72|0;c[u>>2]=g;v=G+60|0;c[v>>2]=n;t=G+68|0;c[t>>2]=o;c[e+44>>2]=0;c[e+32>>2]=0;c[e+20>>2]=0;e=G+16|0;c[e>>2]=0;a[G+80>>0]=46;k=G+52|0;c[k>>2]=b;c[G>>2]=s;c[G+32>>2]=289;c[G+56>>2]=p;p=G+48|0;c[p>>2]=0;q=G+4|0;c[q>>2]=1;r=G+8|0;c[r>>2]=1;s=G+72|0;c[s>>2]=g;j=G+76|0;c[j>>2]=QA(b,361125,4)|0;k=c[k>>2]|0;m=c[v>>2]|0;f=c[m>>2]|0;m=c[m+8>>2]|0;n=c[k+12>>2]|0;o=(f|0)!=0;g=n+4|0;i=Uh[c[n>>2]&63](c[g>>2]|0,f,m,32)|0;if(!i){if(!(c[n+140>>2]|0))Jz(k,4);kA(k,1);f=Uh[c[n>>2]&63](c[g>>2]|0,f,m,32)|0;if(!f)Jz(k,4);else z=f}else z=i;f=n+12|0;c[f>>2]=(o?32-m|0:32)+(c[f>>2]|0);f=c[v>>2]|0;c[f>>2]=z;c[f+8>>2]=32;c[y+4>>2]=c[p>>2];c[y+8>>2]=G;c[p>>2]=y;c[y+16>>2]=0;c[y+20>>2]=0;c[y+24>>2]=-1;c[y+28>>2]=0;c[y+32>>2]=0;f=y+40|0;c[f>>2]=0;a[f+4>>0]=0;f=c[t>>2]|0;c[y+36>>2]=c[f+4>>2];c[u>>2]=c[s>>2];a[w+8>>0]=2;a[D+14>>0]=0;a[D+12>>0]=0;c[D+4>>2]=c[f+28>>2];c[D+8>>2]=c[f+16>>2];a[D+13>>0]=0;c[D>>2]=0;c[y+12>>2]=D;a[w+7>>0]=1;c[E+16>>2]=-1;c[E+20>>2]=-1;c[E>>2]=8;c[E+8>>2]=0;rA(y,c[j>>2]|0,E)|0;c[r>>2]=c[q>>2];f=G+32|0;if((c[f>>2]|0)==289){f=xF(G,G+24|0)|0;c[e>>2]=f}else{F=G+16|0;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[f>>2]=289;F=174}a:while(1){if((F|0)==174){F=0;f=c[e>>2]|0}switch(f|0){case 277:case 289:case 262:case 261:case 260:break a;default:{}}sA(G);if((f|0)==274){F=177;break}else F=174}if((F|0)==177)f=c[e>>2]|0;if((f|0)!=289)tA(G,289);uA(G);c[x>>2]=(c[x>>2]|0)+-16;G=A;Yz(b,G);l=H;return}if(!g?(s4(f,98)|0)==0:0){c[j>>2]=354076;c[j+4>>2]=f;qA(b,354034,j)|0;Jz(b,3)}q=c[e>>2]|0;g=e+4|0;f=c[e+56>>2]|0;switch(a[f>>0]|0){case 61:case 64:{f=f+1|0;break}case 27:{f=355445;break}default:{}}c[G+12>>2]=f;c[G>>2]=b;r=G+4|0;c[r>>2]=q;c[G+8>>2]=g;m=q+16|0;n=q+8|0;o=q+12|0;p=q+4|0;j=3;k=E;f=c[q>>2]|0;while(1){if(!f){g=Th[c[n>>2]&63](c[m>>2]|0,c[o>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=19;break}c[q>>2]=f;c[p>>2]=g;i=g}else i=c[p>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[q>>2]|0)-g|0;c[q>>2]=f;c[p>>2]=(c[p>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==19?j|0:0)_A(G,355459);if(f3(355470,E,3)|0)_A(G,355474);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=29;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==29?j|0:0)_A(G,355459);if((a[E>>0]|0)!=83)_A(G,355480);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=39;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==39?j|0:0)_A(G,355459);if(a[E>>0]|0)_A(G,355500);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=6;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=49;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==49?j|0:0)_A(G,355459);if(f3(355519,E,6)|0)_A(G,355526);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=59;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==59?j|0:0)_A(G,355459);if((a[E>>0]|0)!=4){A=c[G>>2]|0;c[t>>2]=355556;_A(G,qA(A,355536,t)|0)}m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=69;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==69?j|0:0)_A(G,355459);if((a[E>>0]|0)!=4){A=c[G>>2]|0;c[u>>2]=355560;_A(G,qA(A,355536,u)|0)}m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=79;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==79?j|0:0)_A(G,355459);if((a[E>>0]|0)!=4){A=c[G>>2]|0;c[v>>2]=355567;_A(G,qA(A,355536,v)|0)}m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=89;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==89?j|0:0)_A(G,355459);if((a[E>>0]|0)!=8){A=c[G>>2]|0;c[w>>2]=355579;_A(G,qA(A,355536,w)|0)}m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=99;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==99?j|0:0)_A(G,355459);if((a[E>>0]|0)!=8){A=c[G>>2]|0;c[x>>2]=355591;_A(G,qA(A,355536,x)|0)}m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=8;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=109;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==109?j|0:0)_A(G,355459);A=E;if(!((c[A>>2]|0)==22136&(c[A+4>>2]|0)==0))_A(G,355602);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=8;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=119;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==119?j|0:0)_A(G,355459);if(+h[E>>3]!=370.5)_A(G,355625);m=c[r>>2]|0;n=m+16|0;o=m+8|0;p=m+12|0;q=m+4|0;j=1;k=E;f=c[m>>2]|0;while(1){if(!f){g=Th[c[o>>2]&63](c[n>>2]|0,c[p>>2]|0,D)|0;f=c[D>>2]|0;if((g|0)==0|(f|0)==0){F=129;break}c[m>>2]=f;c[q>>2]=g;i=g}else i=c[q>>2]|0;A=j>>>0>f>>>0;g=A?f:j;s6(k|0,i|0,g|0)|0;f=(c[m>>2]|0)-g|0;c[m>>2]=f;c[q>>2]=(c[q>>2]|0)+g;if(!A)break;else{j=j-g|0;k=k+g|0}}if((F|0)==129?j|0:0)_A(G,355459);m=a[E>>0]|0;f=m&255;j=(f<<2)+16|0;k=c[b+12>>2]|0;g=k+4|0;i=Uh[c[k>>2]&63](c[g>>2]|0,0,6,j)|0;if(!i){if(!(c[k+140>>2]|0))Jz(b,4);kA(b,1);g=Uh[c[k>>2]&63](c[g>>2]|0,0,6,j)|0;if(!g)Jz(b,4);else B=g}else B=i;i=k+12|0;c[i>>2]=j+(c[i>>2]|0);a[B+5>>0]=a[k+60>>0]&3;a[B+4>>0]=6;i=k+64|0;c[B>>2]=c[i>>2];c[i>>2]=B;i=B+12|0;c[i>>2]=0;a[B+6>>0]=m;if(m<<24>>24){g=B+16|0;do{f=f+-1|0;c[g+(f<<2)>>2]=0}while((f|0)!=0)}F=b+8|0;f=c[F>>2]|0;c[f>>2]=B;c[f+8>>2]=70;f=(c[F>>2]|0)+16|0;c[F>>2]=f;do if(((c[b+24>>2]|0)-f|0)<16){g=c[b+92>>2]|0;if((g|0)>1e6)Jz(b,6);F=(f-(c[b+28>>2]|0)>>4)+5|0;f=g<<1;f=(f|0)<1e6?f:1e6;f=(f|0)<(F|0)?F:f;if((f|0)>1e6){Lz(b,1000200);Fz(b,357349,C)}else{Lz(b,f);break}}while(0);F=Zz(b)|0;c[i>>2]=F;$A(G,F,0);G=B;Yz(b,G);l=H;return}function Vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;q=e+12|0;if((c[q>>2]|0)==0?(f=c[b+72>>2]|0,(f|0)!=(d|0)):0){Wz(f,e);f=e+16|0;d=f;f=c[f>>2]|0}else{a[r>>0]=0;d=e+16|0;f=c[d>>2]|0;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,1,c[e+8>>2]|0)|0;c[d>>2]=f}}c[r>>2]=c[b+36>>2];if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;c[d>>2]=f}c[r>>2]=c[b+40>>2];if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;c[d>>2]=f}a[r>>0]=a[b+6>>0]|0;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,1,c[e+8>>2]|0)|0;c[d>>2]=f}a[r>>0]=a[b+7>>0]|0;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,1,c[e+8>>2]|0)|0;c[d>>2]=f}a[r>>0]=a[b+8>>0]|0;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,1,c[e+8>>2]|0)|0;c[d>>2]=f}g=b+20|0;c[r>>2]=c[g>>2];if(!f){i=e+4|0;j=e+8|0;f=Uh[c[i>>2]&63](c[e>>2]|0,r,4,c[j>>2]|0)|0;c[d>>2]=f;if(!f){f=Uh[c[i>>2]&63](c[e>>2]|0,c[b+48>>2]|0,c[g>>2]<<2,c[j>>2]|0)|0;c[d>>2]=f;g=c[b+16>>2]|0;c[r>>2]=g;if(!f){f=Uh[c[i>>2]&63](c[e>>2]|0,r,4,c[j>>2]|0)|0;c[d>>2]=f}}else k=20}else k=20;if((k|0)==20){g=c[b+16>>2]|0;c[r>>2]=g}a:do if((g|0)>0){n=b+44|0;o=e+4|0;p=e+8|0;m=0;while(1){i=c[n>>2]|0;k=i+(m<<4)|0;i=i+(m<<4)+8|0;j=c[i>>2]|0;a[r>>0]=j&63;if(!f){f=Uh[c[o>>2]&63](c[e>>2]|0,r,1,c[p>>2]|0)|0;c[d>>2]=f;j=c[i>>2]|0}switch(j&63){case 4:case 20:{Wz(c[k>>2]|0,e);f=c[d>>2]|0;break}case 1:{a[r>>0]=c[k>>2];if(!f){f=Uh[c[o>>2]&63](c[e>>2]|0,r,1,c[p>>2]|0)|0;c[d>>2]=f}break}case 3:{h[r>>3]=+h[k>>3];if(!f){f=Uh[c[o>>2]&63](c[e>>2]|0,r,8,c[p>>2]|0)|0;c[d>>2]=f}break}case 19:{i=k;j=c[i+4>>2]|0;k=r;c[k>>2]=c[i>>2];c[k+4>>2]=j;if(!f){f=Uh[c[o>>2]&63](c[e>>2]|0,r,8,c[p>>2]|0)|0;c[d>>2]=f}break}default:{}}m=m+1|0;if((m|0)==(g|0))break a}}while(0);o=b+12|0;n=c[o>>2]|0;c[r>>2]=n;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;c[d>>2]=f}if((n|0)>0){j=b+64|0;k=e+4|0;m=e+8|0;i=0;do{g=c[j>>2]|0;a[r>>0]=a[g+(i<<3)+4>>0]|0;if(!f){f=Uh[c[k>>2]&63](c[e>>2]|0,r,1,c[m>>2]|0)|0;c[d>>2]=f;g=c[j>>2]|0}a[r>>0]=a[g+(i<<3)+5>>0]|0;if(!f){f=Uh[c[k>>2]&63](c[e>>2]|0,r,1,c[m>>2]|0)|0;c[d>>2]=f}i=i+1|0}while((i|0)!=(n|0))}j=c[b+28>>2]|0;c[r>>2]=j;if(!f)c[d>>2]=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;if((j|0)>0){f=b+52|0;g=b+72|0;i=0;do{Vz(c[(c[f>>2]|0)+(i<<2)>>2]|0,c[g>>2]|0,e);i=i+1|0}while((i|0)!=(j|0))}if(!(c[q>>2]|0))j=c[b+24>>2]|0;else j=0;c[r>>2]=j;f=c[d>>2]|0;if(!f){g=e+4|0;i=e+8|0;f=Uh[c[g>>2]&63](c[e>>2]|0,r,4,c[i>>2]|0)|0;c[d>>2]=f;if(!f){f=Uh[c[g>>2]&63](c[e>>2]|0,c[b+56>>2]|0,j<<2,c[i>>2]|0)|0;c[d>>2]=f}}if(!(c[q>>2]|0))n=c[b+32>>2]|0;else n=0;c[r>>2]=n;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;c[d>>2]=f}if((n|0)>0){i=b+60|0;j=e+4|0;k=e+8|0;m=0;do{Wz(c[(c[i>>2]|0)+(m*12|0)>>2]|0,e);g=c[i>>2]|0;c[r>>2]=c[g+(m*12|0)+4>>2];f=c[d>>2]|0;if(!f){f=Uh[c[j>>2]&63](c[e>>2]|0,r,4,c[k>>2]|0)|0;c[d>>2]=f;g=c[i>>2]|0}c[r>>2]=c[g+(m*12|0)+8>>2];if(!f){f=Uh[c[j>>2]&63](c[e>>2]|0,r,4,c[k>>2]|0)|0;c[d>>2]=f}m=m+1|0}while((m|0)!=(n|0))}if(!(c[q>>2]|0))g=c[o>>2]|0;else g=0;c[r>>2]=g;if(!f)c[d>>2]=Uh[c[e+4>>2]&63](c[e>>2]|0,r,4,c[e+8>>2]|0)|0;if((g|0)<=0){l=s;return}f=b+64|0;d=0;do{Wz(c[(c[f>>2]|0)+(d<<3)>>2]|0,e);d=d+1|0}while((d|0)!=(g|0));l=s;return}function Wz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+4|0;j=k;if(!b){a[i>>0]=0;f=e+16|0;if(!(c[f>>2]|0))c[f>>2]=Uh[c[e+4>>2]&63](c[e>>2]|0,i,1,c[e+8>>2]|0)|0;l=k;return}if((a[b+4>>0]|0)==4)f=d[b+7>>0]|0;else f=c[b+12>>2]|0;f=f+1|0;c[j>>2]=f;h=b+16|0;do if(f>>>0>=255){a[i>>0]=-1;b=e+16|0;if(c[b>>2]|0){l=k;return}f=e+4|0;g=e+8|0;i=Uh[c[f>>2]&63](c[e>>2]|0,i,1,c[g>>2]|0)|0;c[b>>2]=i;if(!i){f=Uh[c[f>>2]&63](c[e>>2]|0,j,4,c[g>>2]|0)|0;c[b>>2]=f;break}else{l=k;return}}else{a[i>>0]=f;b=e+16|0;f=c[b>>2]|0;if(!f){f=Uh[c[e+4>>2]&63](c[e>>2]|0,i,1,c[e+8>>2]|0)|0;c[b>>2]=f}}while(0);if(f|0){l=k;return}c[b>>2]=Uh[c[e+4>>2]&63](c[e>>2]|0,h,(c[j>>2]|0)+-1|0,c[e+8>>2]|0)|0;l=k;return}function Xz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(d<<4)+16|0;h=c[b+12>>2]|0;e=h+4|0;f=Uh[c[h>>2]&63](c[e>>2]|0,0,6,g)|0;if((g|0)!=0&(f|0)==0){if(!(c[h+140>>2]|0))Jz(b,4);kA(b,1);e=Uh[c[h>>2]&63](c[e>>2]|0,0,6,g)|0;if(!e)Jz(b,4);else i=e}else i=f;b=h+12|0;c[b>>2]=g+(c[b>>2]|0);a[i+5>>0]=a[h+60>>0]&3;a[i+4>>0]=38;b=h+64|0;c[i>>2]=c[b>>2];c[b>>2]=i;a[i+6>>0]=d;return i|0}function Yz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=e+6|0;if(!(a[h>>0]|0))return;i=b+12|0;k=0;while(1){j=c[i>>2]|0;g=j+4|0;f=Uh[c[j>>2]&63](c[g>>2]|0,0,0,24)|0;if(!f){if(!(c[j+140>>2]|0)){f=6;break}kA(b,1);f=Uh[c[j>>2]&63](c[g>>2]|0,0,0,24)|0;if(!f){f=6;break}}j=j+12|0;c[j>>2]=(c[j>>2]|0)+24;c[f+4>>2]=1;c[f>>2]=f+8;c[f+16>>2]=0;c[e+16+(k<<2)>>2]=f;k=k+1|0;if((k|0)>=(d[h>>0]|0)){f=8;break}}if((f|0)==6)Jz(b,4);else if((f|0)==8)return}function Zz(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+12>>2]|0;d=f+4|0;e=Uh[c[f>>2]&63](c[d>>2]|0,0,9,80)|0;if(!e){if(!(c[f+140>>2]|0))Jz(b,4);kA(b,1);d=Uh[c[f>>2]&63](c[d>>2]|0,0,9,80)|0;if(!d)Jz(b,4);else g=d}else g=e;d=f+12|0;c[d>>2]=(c[d>>2]|0)+80;a[g+5>>0]=a[f+60>>0]&3;a[g+4>>0]=9;d=f+64|0;c[g>>2]=c[d>>2];c[d>>2]=g;a[g+6>>0]=0;a[g+7>>0]=0;a[g+8>>0]=0;d=g+12|0;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));return g|0}function _z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b+48>>2]|0;e=c[b+20>>2]<<2;a=a+12|0;f=c[a>>2]|0;Uh[c[f>>2]&63](c[f+4>>2]|0,d,e,0)|0;f=f+12|0;c[f>>2]=(d|0?0-e|0:0)+(c[f>>2]|0);f=c[b+52>>2]|0;e=c[b+28>>2]<<2;d=c[a>>2]|0;Uh[c[d>>2]&63](c[d+4>>2]|0,f,e,0)|0;d=d+12|0;c[d>>2]=(f|0?0-e|0:0)+(c[d>>2]|0);d=c[b+44>>2]|0;e=c[b+16>>2]<<4;f=c[a>>2]|0;Uh[c[f>>2]&63](c[f+4>>2]|0,d,e,0)|0;f=f+12|0;c[f>>2]=(d|0?0-e|0:0)+(c[f>>2]|0);f=c[b+56>>2]|0;e=c[b+24>>2]<<2;d=c[a>>2]|0;Uh[c[d>>2]&63](c[d+4>>2]|0,f,e,0)|0;d=d+12|0;c[d>>2]=(f|0?0-e|0:0)+(c[d>>2]|0);d=c[b+60>>2]|0;e=(c[b+32>>2]|0)*12|0;f=c[a>>2]|0;Uh[c[f>>2]&63](c[f+4>>2]|0,d,e,0)|0;f=f+12|0;c[f>>2]=(d|0?0-e|0:0)+(c[f>>2]|0);f=c[b+64>>2]|0;e=c[b+12>>2]<<3;d=c[a>>2]|0;Uh[c[d>>2]&63](c[d+4>>2]|0,f,e,0)|0;d=d+12|0;c[d>>2]=(f|0?0-e|0:0)+(c[d>>2]|0);a=c[a>>2]|0;Uh[c[a>>2]&63](c[a+4>>2]|0,b,80,0)|0;a=a+12|0;c[a>>2]=(b|0?-80:0)+(c[a>>2]|0);return}function $z(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+16|0;h=e;f=a[e+5>>0]|0;a:while(1){g=h+5|0;e=f&-4;a[g>>0]=e;switch(a[h+4>>0]|0){case 4:{f=3;break a}case 20:{f=4;break a}case 6:{f=10;break a}case 38:{f=11;break a}case 5:{f=12;break a}case 8:{f=13;break a}case 9:{f=14;break a}case 7:break;default:{f=15;break a}}f=c[h+8>>2]|0;if((f|0)!=0?(a[f+5>>0]&3)!=0:0){$z(b,f);e=a[g>>0]|0}a[g>>0]=e|4;c[i>>2]=(c[h+12>>2]|0)+24+(c[i>>2]|0);e=c[h+16>>2]|0;if(!(a[h+6>>0]&64)){f=15;break}f=a[e+5>>0]|0;if(!(f&3)){f=15;break}else h=e}if((f|0)==3){a[g>>0]=e|4;c[i>>2]=(d[h+7>>0]|0)+17+(c[i>>2]|0);return}else if((f|0)==4){a[g>>0]=e|4;c[i>>2]=(c[h+12>>2]|0)+17+(c[i>>2]|0);return}else if((f|0)==10){b=b+76|0;c[h+8>>2]=c[b>>2];c[b>>2]=h;return}else if((f|0)==11){b=b+76|0;c[h+8>>2]=c[b>>2];c[b>>2]=h;return}else if((f|0)==12){b=b+76|0;c[h+28>>2]=c[b>>2];c[b>>2]=h;return}else if((f|0)==13){b=b+76|0;c[h+36>>2]=c[b>>2];c[b>>2]=h;return}else if((f|0)==14){b=b+76|0;c[h+76>>2]=c[b>>2];c[b>>2]=h;return}else if((f|0)==15)return}function aA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+12>>2]|0;p=e+5|0;i=a[p>>0]|0;if((f|0)==0|(i&8)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;h=c[o+156>>2]|0;f=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&c[h+8>>2])<<5)|0;while(1){if((c[f+24>>2]|0)==68?(c[f+16>>2]|0)==(h|0):0){l=6;break}g=c[f+28>>2]|0;if(!g){f=412368;break}f=f+(g<<5)|0}if(!(c[f+8>>2]|0)){a[j>>0]=k|4;return}if(!f)return;if(((a[o+61>>0]|0)+-2&255)<4?(a[p>>0]=a[o+60>>0]&3|i&-8,m=o+68|0,n=c[m>>2]|0,(n|0)==(e|0)):0){do f=bA(b,n,1)|0;while((f|0)==(n|0));c[m>>2]=f}g=o+64|0;while(1){f=c[g>>2]|0;if((f|0)==(e|0))break;else g=f}c[g>>2]=c[e>>2];o=o+72|0;c[e>>2]=c[o>>2];c[o>>2]=e;a[p>>0]=a[p>>0]|8;return}function bA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+12|0;t=d[(c[p>>2]|0)+60>>0]|0;s=t^3;t=t&3;h=c[e>>2]|0;g=(h|0)==0;if(!((f|0)!=0&(g^1))){b=e;t=g;b=t?0:b;return b|0}o=f+-1|0;while(1){g=h+5|0;f=d[g>>0]|0;a:do if(!((f^3)&s)){c[e>>2]=c[h>>2];switch(a[h+4>>0]|0){case 9:{_z(b,h);break a}case 6:{j=h+6|0;g=a[j>>0]|0;if(!(g<<24>>24))g=g&255;else{i=0;while(1){f=c[h+16+(i<<2)>>2]|0;if(((f|0)!=0?(m=f+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0)?(c[f>>2]|0)==(f+8|0):0){n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,f,24,0)|0;f=n+12|0;c[f>>2]=(c[f>>2]|0)+-24;f=a[j>>0]|0}else f=g;i=i+1|0;g=f&255;if((i|0)>=(g|0))break;else g=f}}m=g<<2;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,m+16|0,0)|0;n=n+12|0;c[n>>2]=(h|0?-16-m|0:0)+(c[n>>2]|0);break a}case 38:{m=d[h+6>>0]<<4;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,m+16|0,0)|0;n=n+12|0;c[n>>2]=(h|0?-16-m|0:0)+(c[n>>2]|0);break a}case 5:{g=c[h+16>>2]|0;if((g|0)!=412384){m=32<<d[h+7>>0];n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,g,m,0)|0;n=n+12|0;c[n>>2]=(g|0?0-m|0:0)+(c[n>>2]|0)}l=c[h+12>>2]|0;m=c[h+8>>2]<<4;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,l,m,0)|0;n=n+12|0;c[n>>2]=(l|0?0-m|0:0)+(c[n>>2]|0);n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,32,0)|0;n=n+12|0;c[n>>2]=(h|0?-32:0)+(c[n>>2]|0);break a}case 8:{n=h+-4|0;m=h+28|0;g=c[m>>2]|0;k=h+32|0;f=c[k>>2]|0;if(f){l=h+12|0;do{i=c[f>>2]|0;if(i>>>0<g>>>0)break;j=f+8|0;c[k>>2]=c[j>>2];if(c[f+4>>2]|0){c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[f>>2]=j;if((c[f+16>>2]&64|0?(q=c[l>>2]|0,r=c[j>>2]|0,(d[q+61>>0]|0)<2):0)?a[r+5>>0]&3:0)$z(q,r)}else{j=c[l>>2]|0;Uh[c[j>>2]&63](c[j+4>>2]|0,f,24,0)|0;j=j+12|0;c[j>>2]=(f|0?-24:0)+(c[j>>2]|0)}f=c[k>>2]|0}while((f|0)!=0);g=c[m>>2]|0}if(g|0){c[h+16>>2]=h+48;l=h+60|0;i=c[l>>2]|0;c[l>>2]=0;if(!i)f=h+12|0;else{f=h+12|0;g=i;do{k=g;g=c[g+12>>2]|0;l=c[f>>2]|0;Uh[c[l>>2]&63](c[l+4>>2]|0,k,36,0)|0;l=l+12|0;c[l>>2]=(k|0?-36:0)+(c[l>>2]|0)}while((g|0)!=0);g=c[m>>2]|0}l=c[h+92>>2]<<4;m=c[f>>2]|0;Uh[c[m>>2]&63](c[m+4>>2]|0,g,l,0)|0;m=m+12|0;c[m>>2]=(g|0?0-l|0:0)+(c[m>>2]|0)}m=c[p>>2]|0;Uh[c[m>>2]&63](c[m+4>>2]|0,n,116,0)|0;n=m+12|0;c[n>>2]=(c[n>>2]|0)+-116;break a}case 7:{m=c[h+12>>2]|0;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,m+24|0,0)|0;n=n+12|0;c[n>>2]=(h|0?-24-m|0:0)+(c[n>>2]|0);break a}case 4:{i=c[p>>2]|0;g=(c[i+24>>2]|0)+(((c[i+32>>2]|0)+-1&c[h+8>>2])<<2)|0;f=c[g>>2]|0;if((f|0)!=(h|0))do{g=f+12|0;f=c[g>>2]|0}while((f|0)!=(h|0));c[g>>2]=c[h+12>>2];m=i+28|0;c[m>>2]=(c[m>>2]|0)+-1;m=d[h+7>>0]|0;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,m+17|0,0)|0;n=n+12|0;c[n>>2]=(h|0?-17-m|0:0)+(c[n>>2]|0);break a}case 20:{m=c[h+12>>2]|0;n=c[p>>2]|0;Uh[c[n>>2]&63](c[n+4>>2]|0,h,m+17|0,0)|0;n=n+12|0;c[n>>2]=(h|0?-17-m|0:0)+(c[n>>2]|0);break a}default:break a}}else{a[g>>0]=f&248|t;e=h}while(0);h=c[e>>2]|0;g=(h|0)==0;f=g^1;if(!((o|0)!=0&f))break;else o=(f<<31>>31)+o|0}b=g?0:e;return b|0}function cA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;m=l;l=l+16|0;n=m;k=c[b+12>>2]|0;f=k+96|0;h=c[f>>2]|0;c[f>>2]=c[h>>2];f=k+64|0;c[h>>2]=c[f>>2];c[f>>2]=h;f=h+5|0;g=d[f>>0]|0;a[f>>0]=g&247;if(((a[k+61>>0]|0)+-2&255)<4)a[f>>0]=a[k+60>>0]&3|g&240;i=h;g=a[h+4>>0]|0;j=(g|64)&255;switch(g&15){case 5:{f=h+24|0;break}case 7:{f=h+8|0;break}default:f=k+244+((j&15)<<2)|0}f=c[f>>2]|0;a:do if(!f)f=412368;else{h=c[k+156>>2]|0;f=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&c[h+8>>2])<<5)|0;while(1){if((c[f+24>>2]|0)==68?(c[f+16>>2]|0)==(h|0):0)break;g=c[f+28>>2]|0;if(!g){f=412368;break a}f=f+(g<<5)|0}}while(0);if((c[f+8>>2]&15|0)!=6){l=m;return}o=b+109|0;p=a[o>>0]|0;k=k+63|0;h=a[k>>0]|0;a[o>>0]=0;a[k>>0]=0;g=b+8|0;q=c[g>>2]|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];f=c[g>>2]|0;c[f+16>>2]=i;c[f+24>>2]=j;f=c[g>>2]|0;c[g>>2]=f+32;f=Tz(b,199,0,f-(c[b+28>>2]|0)|0,0)|0;a[o>>0]=p;a[k>>0]=h;if(!((e|0)!=0&(f|0)!=0)){l=m;return}if((f|0)!=2){q=f;Jz(b,q)}f=c[g>>2]|0;if((c[f+-8>>2]&15|0)==4)f=(c[f+-16>>2]|0)+16|0;else f=354083;c[n>>2]=f;qA(b,354094,n)|0;q=5;Jz(b,q)}function dA(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=(c[a+8>>2]|0)+-32|0;g=a+106|0;d=(b[g>>1]|0)+1<<16>>16;b[g>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(a,353895,e);if((d&65535)>224)Jz(a,6)}d=a+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(a,f,0)|0))jB(a);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;l=h;return}
  35. function hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[b>>2]|0;Ai[c[g+1262692>>2]&15](g,0,7,240,7,8);g=c[b>>2]|0;Xh[c[g+1262668>>2]&3](g,d,0,8,15,0)|0;g=c[b>>2]|0;h=c[g+1262668>>2]|0;e=b+65660|0;f=(r4(d)|0)*6|0;Xh[h&3](g,e,f,8,15,0)|0;d=r4(d)|0;d=((r4(e)|0)+d|0)*6|0;if((c[b+24>>2]|0)==0?(((c[b+65644>>2]|0)>>>0)%60|0)>>>0>=30:0)return;g=c[b>>2]|0;h=b+65716|0;Ai[c[g+1262692>>2]&15](g,d+-1|0,7,a[h>>0]|0?5:7,7,a[(c[80]|0)+34>>0]|0);g=c[b>>2]|0;Xh[c[g+1262660>>2]&3](g,32,d,8,a[(c[80]|0)+32>>0]|0,(a[h>>0]|0)!=0)|0;return}function im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=b+4|0;if((r4(c[h>>2]|0)|0)>>>0>65535)return;f=b+8|0;g=c[f>>2]|0;t6(g+1|0,g|0,(r4(g)|0)+1|0)|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g>>0]=d;if(Ml(c[b+65648>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;g=c[b+8>>2]|0;d=c[h>>2]|0;f=g;if(d>>>0<f>>>0){e=d;do{i=e;e=e+1|0;d=(a[i>>0]|0)==10?e:d}while((e|0)!=(f|0))}c[b+16>>2]=g-d;f=b+64|0;u6(f|0,a[(c[80]|0)+30>>0]|0,65536)|0;d=c[b>>2]|0;d=Rh[c[d+1262832>>2]&511](d)|0;e=c[d+24>>2]|0;if(!e)return;ti[e&63](d,c[h>>2]|0,f,(c[80]|0)+24|0);return}function jm(a,b){a=a|0;b=b|0;if(!(c[a+40>>2]|0)){b=1;return b|0}if(!(c[b+40>>2]|0)){b=-1;return b|0}b=e3(a,b)|0;return b|0}function km(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s;do if(c[(c[b>>2]|0)+65416>>2]|0){r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,60,20,3)|0){q=b+28|0;c[q>>2]=c[q>>2]&1^1;q=c[2]|0;r=(c[80]|0)+49536|0;r=d[r>>0]|d[r+1>>0]<<8;Ci[c[q+1262752>>2]&7](q,2,(r&65535)>>>8&15,r&7,-1,0,15,0);break}r=c[2]|0;if(!(Uh[c[r+1262808>>2]&63](r,61,20,3)|0)?(r=c[2]|0,!(Uh[c[r+1262808>>2]&63](r,49,20,3)|0)):0){r=c[2]|0;if(!(Uh[c[r+1262808>>2]&63](r,50,20,3)|0)?(r=c[2]|0,!(Uh[c[r+1262808>>2]&63](r,48,20,3)|0)):0)break;e=c[b+12>>2]|0;f=c[b+16>>2]|0;if(!(c[b+28>>2]|0)){li[e&511](1,f);Vi();break}else{li[e&511](0,f);Vi();break}}q=b+28|0;c[q>>2]=c[q>>2]&1^1;q=c[2]|0;r=(c[80]|0)+49536|0;r=d[r>>0]|d[r+1>>0]<<8;Ci[c[q+1262752>>2]&7](q,2,(r&65535)>>>8&15,r&7,-1,0,15,0)}while(0);e=b+4|0;if(!(a[e>>0]|0)){q=c[2]|0;r=(c[80]|0)+49404|0;r=d[r>>0]|d[r+1>>0]<<8;Ci[c[q+1262752>>2]&7](q,0,(r&65535)>>>8&15,r&7,-1,0,15,0);a[e>>0]=1}s6(c[b>>2]|0,c[b+8>>2]|0,16320)|0;p=c[b>>2]|0;f=b+32|0;q=60-(c[f>>2]|0)|0;g=b+36|0;r=37-(c[g>>2]|0)|0;h=r+-6|0;i=c[2]|0;j=d[i+65412>>0]|0;k=d[i+65413>>0]|0;if((((((j|0)>=(q|0)?(n=q+120|0,!((j|0)>=(n|0)|(k|0)<(h|0)|(k|0)>(r|0))):0)?(e=i+16379|0,a[e>>0]=a[e>>0]&-128|1,a[84]|0):0)?(e=c[22]|0,(e|0)>=(q|0)&(e|0)<(n|0)):0)?(n=c[23]|0,!((n|0)<(h|0)|(n|0)>(r|0))):0)?(m=b+48|0,(a[m>>0]|0)==0):0){c[b+40>>2]=(c[f>>2]|0)+j;c[b+44>>2]=(c[g>>2]|0)+k;a[m>>0]=1}e=b+48|0;if(a[e>>0]|0?(n=i+16379|0,a[n>>0]=a[n>>0]&-128|1,c[f>>2]=(c[b+40>>2]|0)-j,c[g>>2]=(c[b+44>>2]|0)-k,!((a[84]|0)!=0&(c[22]|0)>>>0<240&(c[23]|0)>>>0<136)):0)a[e>>0]=0;m=p+1262692|0;Ai[c[m>>2]&15](p,q,r,120,61,8);Ai[c[p+1262696>>2]&15](p,q,r,120,61,15);n=p+1262688|0;f=r+61|0;Ai[c[n>>2]&15](p,q,f,q+119|0,f,0);f=r+-5|0;Ai[c[m>>2]&15](p,q,f,120,5,15);Ai[c[n>>2]&15](p,q+1|0,h,q+118|0,h,15);h=p+1262664|0;n=Xh[c[h>>2]&3](p,93206,0,-6,0,0)|0;Xh[c[h>>2]&3](p,93206,((120-n|0)/2|0)+q|0,f,7,0)|0;a[o>>0]=14;Fi[c[p+1262704>>2]&1](p,c[(c[80]|0)+56>>2]|0,2,q+6|0,r+-4|0,2,2,o,1,1,0,0);f=b+24|0;if((c[f>>2]|0)<=0){p=q+34|0;r=r+45|0;nm(b,93215,p,r,1,6,202,0);q=q+66|0;nm(b,93219,q,r,5,11,203,1);l=s;return}g=b+20|0;e=0;do{n=((120-(Xh[c[h>>2]&3](p,c[(c[g>>2]|0)+(e<<2)>>2]|0,0,-6,0,0)|0)|0)/2|0)+q|0;m=e;e=e+1|0;o=(e*7|0)+r|0;Xh[c[h>>2]&3](p,c[(c[g>>2]|0)+(m<<2)>>2]|0,n,o+1|0,0,0)|0;Xh[c[h>>2]&3](p,c[(c[g>>2]|0)+(m<<2)>>2]|0,n,o,15,0)|0}while((e|0)<(c[f>>2]|0));p=q+34|0;r=r+45|0;nm(b,93215,p,r,1,6,202,0);q=q+66|0;nm(b,93219,q,r,5,11,203,1);l=s;return}function lm(a){a=a|0;li[c[a+12>>2]&511](0,c[a+16>>2]|0);Vi();return}function mm(a){a=a|0;li[c[a+12>>2]&511](1,c[a+16>>2]|0);Vi();return}function nm(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=c[b>>2]|0;n=c[2]|0;l=d[n+65412>>0]|0;m=d[n+65413>>0]|0;do if(((l|0)>=(f|0)?(o=f+20|0,!((l|0)>=(o|0)|(m|0)<(g|0))):0)?(p=g+9|0,(m|0)<(p|0)):0){n=n+16379|0;a[n>>0]=a[n>>0]&-128|1;if(((a[84]|0)!=0?(n=c[22]|0,(n|0)>=(f|0)&(n|0)<(o|0)):0)?(n=c[23]|0,(n|0)>=(g|0)&(n|0)<(p|0)):0){c[b+28>>2]=k;l=1}else l=0;if(((((a[85]|0)!=0?(n=c[22]|0,(n|0)>=(f|0)&(n|0)<(o|0)):0)?(n=c[23]|0,(n|0)>=(g|0)&(n|0)<(p|0)):0)?(n=c[24]|0,(n|0)>=(f|0)&(n|0)<(o|0)):0)?(o=c[25]|0,(o|0)>=(g|0)&(o|0)<(p|0)):0){a[85]=0;fi[j&511](b);h=q+1262692|0;n=c[h>>2]|0;m=g+1|0;if(l)h=n;else{r=17;break}}else r=15;if((r|0)==15){h=q+1262692|0;n=c[h>>2]|0;m=g+1|0;if(l)h=n;else{r=17;break}}Ai[h&15](q,f,m,20,9,15)}else r=14;while(0);if((r|0)==14){j=q+1262692|0;i=h;l=0;n=c[j>>2]|0;m=g+1|0;h=j;r=17}if((r|0)==17){Ai[n&15](q,f,m,20,9,0);Ai[c[h>>2]&15](q,f,g,20,9,15)}j=q+1262664|0;r=Xh[c[j>>2]&3](q,e,0,-6,0,0)|0;Xh[c[j>>2]&3](q,e,((21-r|0)/2|0)+f|0,(l?3:2)+g|0,i,0)|0;if((c[b+28>>2]|0)!=(k|0))return;r=f+-5|0;Ri(r,g+3|0,93222,0);Ri(r,g+2|0,93222,15);return}function om(a){a=a|0;li[c[a+12>>2]&511](0,c[a+16>>2]|0);Vi();return}function pm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+4128|0;u=A+32|0;v=A;w=b+16|0;c[w>>2]=(c[w>>2]|0)+1;i=c[b>>2]|0;h=i+65416|0;if(c[h>>2]|0?(j=b+28|0,(c[j>>2]|0)>=0):0){s=c[2]|0;do if(!(Uh[c[s+1262808>>2]&63](s,66,20,3)|0)){e=c[2]|0;f=e+65416|0;g=e+1262808|0;if(((!(Uh[c[g>>2]&63](e,a[f>>0]|0,20,3)|0)?!(Uh[c[g>>2]&63](e,a[f+1>>0]|0,20,3)|0):0)?!(Uh[c[g>>2]&63](e,a[f+2>>0]|0,20,3)|0):0)?!(Uh[c[g>>2]&63](e,a[f+3>>0]|0,20,3)|0):0)break;f=i+1262808|0;e=a[h>>0]|0;if(!(Uh[c[f>>2]&63](i,e,-1,-1)|0)){e=a[h+1>>0]|0;if(!(Uh[c[f>>2]&63](i,e,-1,-1)|0)){e=a[h+2>>0]|0;if(!(Uh[c[f>>2]&63](i,e,-1,-1)|0)){e=a[h+3>>0]|0;if(!(Uh[c[f>>2]&63](i,e,-1,-1)|0))break}}}a[144+(c[j>>2]|0)>>0]=e;r=c[b+4>>2]|0;s=r+4096|0;x4(u,s)|0;u6(s|0,0,4096)|0;uk(r,93230,144,32,1)|0;x4(s,u)|0}while(0);c[j>>2]=-1}if((c[18]|0)!=10){l=A;return}e=b+8|0;if(!(a[e>>0]|0)){r=c[2]|0;s=(c[80]|0)+49404|0;s=d[s>>0]|d[s+1>>0]<<8;Ci[c[r+1262752>>2]&7](r,0,(s&65535)>>>8&15,s&7,-1,0,15,0);a[e>>0]=1}s6(c[b>>2]|0,c[b+12>>2]|0,16320)|0;i=b+52|0;switch(c[i>>2]|0){case 0:{y=c[b>>2]|0;if(Uh[c[y+1262800>>2]&63](y,0,30,5)|0){e=b+20|0;f=c[e>>2]|0;do{f=(f|0)<1?5:(f+-1|0)%6|0;c[e>>2]=f}while(!(a[c[1856+(f<<2)>>2]>>0]|0));x=c[2]|0;y=(c[80]|0)+49536|0;y=d[y>>0]|d[y+1>>0]<<8;Ci[c[x+1262752>>2]&7](x,2,(y&65535)>>>8&15,y&7,-1,0,15,0)}y=c[b>>2]|0;s=b+20|0;if(Uh[c[y+1262800>>2]&63](y,1,30,5)|0){e=c[s>>2]|0;do{e=(e+1|0)%6|0;c[s>>2]=e}while(!(a[c[1856+(e<<2)>>2]>>0]|0));x=c[2]|0;y=(c[80]|0)+49536|0;y=d[y>>0]|d[y+1>>0]<<8;Ci[c[x+1262752>>2]&7](x,2,(y&65535)>>>8&15,y&7,-1,0,15,0)}y=c[b>>2]|0;if(Uh[c[y+1262800>>2]&63](y,4,-1,-1)|0)fi[c[1880+(c[s>>2]<<2)>>2]&511](b);m=c[b>>2]|0;qm(b);n=82-(c[b+32>>2]|0)|0;o=50-(c[b+36>>2]|0)|0;p=m+1262664|0;q=n+-7|0;r=n+86|0;e=0;while(1){j=c[1856+(e<<2)>>2]|0;if(a[j>>0]|0){k=o+(e*7|0)|0;f=c[2]|0;y=d[f+65412>>0]|0;g=d[f+65413>>0]|0;if(!((y|0)>=(r|0)|(y|0)<(n|0)|(g|0)<(k|0))?(t=k+7|0,(g|0)<(t|0)):0){y=f+16379|0;a[y>>0]=a[y>>0]&-128|1;if(((a[84]|0)!=0?(y=c[22]|0,(y|0)>=(n|0)&(y|0)<(r|0)):0)?(y=c[23]|0,(y|0)>=(k|0)&(y|0)<(t|0)):0){c[s>>2]=e;f=1}else f=0;if((((a[85]|0?(y=c[22]|0,(y|0)>=(n|0)&(y|0)<(r|0)):0)?(y=c[23]|0,(y|0)>=(k|0)&(y|0)<(t|0)):0)?(y=c[24]|0,(y|0)>=(n|0)&(y|0)<(r|0)):0)?(y=c[25]|0,(y|0)>=(k|0)&(y|0)<(t|0)):0)break;g=c[p>>2]|0;i=k+1|0;if(f)Xh[g&3](m,j,n,i,10,0)|0;else{h=10;f=i;z=44}}else{h=15;g=c[p>>2]|0;f=k+1|0;z=44}if((z|0)==44){z=0;Xh[g&3](m,j,n,f,0,0)|0;Xh[c[p>>2]&3](m,j,n,k,h,0)|0}if((e|0)==(c[s>>2]|0)){Ri(q,k+1|0,93248,0);Ri(q,k,93248,15)}}e=e+1|0;if(e>>>0>=6){z=85;break}}if((z|0)==85){l=A;return}a[85]=0;fi[c[1880+(e<<2)>>2]&511](b);l=A;return}case 1:{t=b+28|0;if((c[t>>2]|0)<0?(s=c[b>>2]|0,Uh[c[s+1262800>>2]&63](s,4,-1,-1)|0):0){c[i>>2]=0;r=c[2]|0;s=(c[80]|0)+49536|0;s=d[s>>0]|d[s+1>>0]<<8;Ci[c[r+1262752>>2]&7](r,2,(s&65535)>>>8&15,s&7,-1,0,15,0)}qm(b);j=c[b>>2]|0;n=60-(c[b+32>>2]|0)|0;o=34-(c[b+36>>2]|0)|0;k=n+25|0;m=o+56|0;g=c[2]|0;e=d[g+65412>>0]|0;f=d[g+65413>>0]|0;if(((e|0)>=(k|0)?(p=n+49|0,!((e|0)>=(p|0)|(f|0)<(m|0))):0)?(q=o+62|0,(f|0)<(q|0)):0){s=g+16379|0;a[s>>0]=a[s>>0]&-128|1;if((a[84]|0)!=0?(s=c[22]|0,(s|0)>=(k|0)&(s|0)<(p|0)):0){h=c[23]|0;h=(h|0)<(q|0)&(h|0)>=(m|0)}else h=0;if((((a[85]|0?(s=c[22]|0,(s|0)>=(k|0)&(s|0)<(p|0)):0)?(s=c[23]|0,(s|0)>=(m|0)&(s|0)<(q|0)):0)?(s=c[24]|0,(s|0)>=(k|0)&(s|0)<(p|0)):0)?(s=c[25]|0,(s|0)>=(m|0)&(s|0)<(q|0)):0){a[85]=0;c[t>>2]=-1;c[i>>2]=0;b=(c[80]|0)+49536|0;b=d[b>>0]|d[b+1>>0]<<8;Ci[c[g+1262752>>2]&7](g,2,(b&65535)>>>8&15,b&7,-1,0,15,0);l=A;return}f=j+1262664|0;g=c[f>>2]|0;e=o+57|0;if(h)Xh[g&3](j,93256,k,e,10,0)|0;else{h=10;z=67}}else{f=j+1262664|0;h=15;e=o+57|0;g=c[f>>2]|0;z=67}if((z|0)==67){Xh[g&3](j,93256,k,e,0,0)|0;Xh[c[f>>2]&3](j,93256,k,m,h,0)|0}q=n+18|0;Ri(q,e,93261,0);Ri(q,m,93261,15);q=o+4|0;s=c[b>>2]|0;r=s+1262692|0;Ai[c[r>>2]&15](s,k,q,90,41,15);j=s+1262680|0;ti[c[j>>2]&63](s,k,q,8);i=n+114|0;ti[c[j>>2]&63](s,i,q,8);q=o+44|0;ti[c[j>>2]&63](s,k,q,0);ti[c[j>>2]&63](s,i,q,0);Ai[c[r>>2]&15](s,n+26|0,o+45|0,88,1,0);s=b+24|0;r=o+47|0;ti[((c[s>>2]|0)==0?6:5)&63](b,n+98|0,r,0);ti[((c[s>>2]|0)==1?6:5)&63](b,n+82|0,r,1);ti[((c[s>>2]|0)==2?6:5)&63](b,n+66|0,r,2);ti[((c[s>>2]|0)==3?6:5)&63](b,n+50|0,r,3);r=n+28|0;q=o+7|0;i=c[b>>2]|0;a[u>>0]=0;j=i+1262704|0;k=v+5|0;m=i+1262664|0;h=0;do{n=r+(((h|0)/4|0)*43|0)|0;o=q+(((h|0)%4|0)*9|0)|0;p=(c[s>>2]<<3)+h|0;e=c[2]|0;f=d[e+65412>>0]|0;g=d[e+65413>>0]|0;if(((f|0)>=(n|0)?(x=n+41|0,!((f|0)>=(x|0)|(g|0)<(o|0))):0)?(y=o+8|0,(g|0)<(y|0)):0){b=e+16379|0;a[b>>0]=a[b>>0]&-128|1;if(((((a[85]|0)!=0?(b=c[22]|0,(b|0)>=(n|0)&(b|0)<(x|0)):0)?(b=c[23]|0,(b|0)>=(o|0)&(b|0)<(y|0)):0)?(b=c[24]|0,(b|0)>=(n|0)&(b|0)<(x|0)):0)?(b=c[25]|0,(b|0)>=(o|0)&(b|0)<(y|0)):0){a[85]=0;c[t>>2]=(c[t>>2]|0)!=(p|0)?p:-1;e=7}else e=7}else e=0;if(!((c[t>>2]|0)==(p|0)?((c[w>>2]|0)%60|0|0)<30:0)){Fi[c[j>>2]&1](i,c[(c[80]|0)+56>>2]|0,h+8|0,n,o,1,1,u,1,1,0,0);x4(v,c[1904+(d[144+p>>0]<<2)>>2]|0)|0;if((r4(v)|0)>>>0>5)a[k>>0]=0;Xh[c[m>>2]&3](i,v,n+10|0,o+2|0,e,0)|0}h=h+1|0}while((h|0)!=8);l=A;return}default:{l=A;return}}}function qm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;p=r;m=b+32|0;o=b+36|0;g=60-(c[m>>2]|0)|0;q=c[b>>2]|0;i=28-(c[o>>2]|0)|0;j=c[2]|0;k=d[j+65412>>0]|0;n=d[j+65413>>0]|0;if(((((((k|0)>=(g|0)?(e=g+120|0,!((k|0)>=(e|0)|(n|0)<(i|0))):0)?(f=i+7|0,(n|0)<(f|0)):0)?(s=j+16379|0,a[s>>0]=a[s>>0]&-128|1,a[84]|0):0)?(s=c[22]|0,(s|0)>=(g|0)&(s|0)<(e|0)):0)?(s=c[23]|0,(s|0)>=(i|0)&(s|0)<(f|0)):0)?(h=b+48|0,(a[h>>0]|0)==0):0){c[b+40>>2]=(c[m>>2]|0)+k;c[b+44>>2]=(c[o>>2]|0)+n;a[h>>0]=1}g=b+48|0;if(a[g>>0]|0){f=j+16379|0;a[f>>0]=a[f>>0]&-128|1;f=(c[b+40>>2]|0)-k|0;c[m>>2]=f;e=(c[b+44>>2]|0)-n|0;c[o>>2]=e;if(!((a[84]|0)!=0&(c[22]|0)>>>0<240&(c[23]|0)>>>0<136))a[g>>0]=0}else{f=c[m>>2]|0;e=c[o>>2]|0}o=60-f|0;s=34-e|0;m=q+1262692|0;Ai[c[m>>2]&15](q,o,s,120,68,8);Ai[c[q+1262696>>2]&15](q,o,s,120,68,15);b=q+1262688|0;n=s+68|0;Ai[c[b>>2]&15](q,o,n,o+119|0,n,0);n=s+-5|0;Ai[c[m>>2]&15](q,o,n,120,5,15);m=s+-6|0;Ai[c[b>>2]&15](q,o+1|0,m,o+118|0,m,15);m=q+1262664|0;b=Xh[c[m>>2]&3](q,93524,0,-6,0,0)|0;Xh[c[m>>2]&3](q,93524,((120-b|0)/2|0)+o|0,n,7,0)|0;a[p>>0]=14;Fi[c[q+1262704>>2]&1](q,c[(c[80]|0)+56>>2]|0,0,o+6|0,s+-4|0,2,2,p,1,1,0,0);l=r;return}function rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+16|0;i=g;h=g+4|0;b=c[b>>2]|0;j=b+1262692|0;Ai[c[j>>2]&15](b,d,e+-2|0,15,9,15);m=b+1262680|0;k=e+6|0;ti[c[m>>2]&63](b,d,k,0);ti[c[m>>2]&63](b,d+14|0,k,0);Ai[c[j>>2]&15](b,d+1|0,e+7|0,13,1,0);a[h>>0]=a[93517]|0;a[h+1>>0]=a[93518]|0;a[h+2>>0]=a[93519]|0;c[i>>2]=f+1;h3(h,93520,i)|0;Xh[c[b+1262668>>2]&3](b,h,d+2|0,e,7,0)|0;l=g;return}function sm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;q=r;o=r+4|0;p=c[b>>2]|0;m=b+24|0;if((((c[m>>2]|0)!=(g|0)?(n=c[2]|0,h=d[n+65412>>0]|0,i=d[n+65413>>0]|0,(h|0)>=(e|0)):0)?(j=e+15|0,!((h|0)>=(j|0)|(i|0)<(f|0))):0)?(k=f+7|0,(i|0)<(k|0)):0){n=n+16379|0;a[n>>0]=a[n>>0]&-128|1;if(((a[84]|0)!=0?(n=c[22]|0,(n|0)>=(e|0)&(n|0)<(j|0)):0)?(n=c[23]|0,(n|0)>=(f|0)&(n|0)<(k|0)):0){c[m>>2]=g;c[b+28>>2]=-1;l=r;return}else b=10}else b=7;Ai[c[p+1262692>>2]&15](p,e,f+-1|0,15,8,3);m=p+1262680|0;n=f+6|0;ti[c[m>>2]&63](p,e,n,8);ti[c[m>>2]&63](p,e+14|0,n,8);a[o>>0]=a[93517]|0;a[o+1>>0]=a[93518]|0;a[o+2>>0]=a[93519]|0;c[q>>2]=g+1;h3(o,93520,q)|0;Xh[c[p+1262668>>2]&3](p,o,e+2|0,f,b,0)|0;l=r;return}function tm(a){a=a|0;a=c[2]|0;fi[c[a+1262792>>2]&511](a);c[18]=2;return}function um(a){a=a|0;a=c[a>>2]|0;fi[c[a+1262784>>2]&511](a);a=c[18]|0;switch(a|0){case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}case 2:return;default:c[19]=a}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;return}function vm(a){a=a|0;var b=0,e=0;e=c[2]|0;b=(c[80]|0)+49536|0;b=d[b>>0]|d[b+1>>0]<<8;Ci[c[e+1262752>>2]&7](e,2,(b&65535)>>>8&15,b&7,-1,0,15,0);c[a+52>>2]=1;c[a+24>>2]=0;return}function wm(b){b=b|0;var d=0;b=c[18]|0;a:do if((c[19]|0)==11){b:do switch(b|0){case 11:break a;case 2:{b=c[2]|0;fi[c[b+1262788>>2]&511](b);b=c[2]|0;fi[c[b+1262784>>2]&511](b);break}default:{d=c[2]|0;fi[c[d+1262784>>2]&511](d);switch(b|0){case 9:case 10:case 1:case 0:break b;default:{}}c[19]=b}}while(0);d=c[83]|0;fi[c[d+44>>2]&511](d);c[18]=11}else{c:do switch(b|0){case 1:break a;case 2:{d=c[2]|0;fi[c[d+1262788>>2]&511](d);d=c[2]|0;fi[c[d+1262784>>2]&511](d);break}default:{d=c[2]|0;fi[c[d+1262784>>2]&511](d);switch(b|0){case 9:case 10:case 0:break c;case 11:{c[19]=3;break c}default:{c[19]=b;break c}}}}while(0);c[18]=1}while(0);a[(c[77]|0)+13125>>0]=0;return}function xm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+12304|0;D=E+4104|0;q=E+4096|0;s=E;B=E+4112|0;C=E+8208|0;r=E+4108|0;g=b+16|0;if(!(a[g>>0]|0)){zm(b);c[b+12>>2]=2236;c[560]=0;if((c[562]|0)>0){f=c[559]|0;e=0;do{A=c[f+(e<<2)>>2]|0;c[c[A+12>>2]>>2]=c[A>>2];e=e+1|0}while((e|0)<(c[562]|0))}c[560]=0;c[564]=0;a[g>>0]=1}j=b+20|0;c[j>>2]=(c[j>>2]|0)+1;n=c[b>>2]|0;li[c[n+1262676>>2]&511](n,0);i=c[b>>2]|0;j=(c[j>>2]|0)%16|0;k=i+1262704|0;f=0;g=0;while(1){m=(f<<4)-j|0;e=0;h=g;while(1){if(h&1|0)Fi[c[k>>2]&1](i,c[(c[80]|0)+56>>2]|0,34,(e<<4)-j|0,m,2,2,0,0,1,0,0);e=e+1|0;if((e|0)==17)break;else h=h+1|0}f=f+1|0;if((f|0)==10)break;else g=g+17|0}A=b+36|0;if((c[A>>2]|0)<=0){C=n+1262664|0;D=Xh[c[C>>2]&3](n,93674,0,-6,15,0)|0;Xh[c[C>>2]&3](n,93674,(240-D|0)/2|0,65,15,0)|0;l=E;return}o=b+12|0;f=c[o>>2]|0;e=c[f+4>>2]|0;do if((e|0)>(c[f+8>>2]|0)){e=c[f+20>>2]|0;if(e){fi[e&511](b);f=c[o>>2]|0}i=c[f+16>>2]|0;if(!i){e=c[f+4>>2]|0;break}c[o>>2]=i;f=i+4|0;c[f>>2]=0;g=i+12|0;if((c[g>>2]|0)>0){h=c[i>>2]|0;e=0;do{x=c[h+(e<<2)>>2]|0;c[c[x+12>>2]>>2]=c[x>>2];e=e+1|0}while((e|0)<(c[g>>2]|0))}c[f>>2]=0;c[i+20>>2]=0;e=0;f=i}while(0);m=f+12|0;n=f+4|0;if((c[m>>2]|0)>0){k=c[f>>2]|0;j=0;do{i=c[k+(j<<2)>>2]|0;g=c[i+8>>2]|0;h=c[i+4>>2]|0;if((e|0)<(g|0)){x=c[i>>2]|0;e=((O(h-x|0,e)|0)/(g|0)|0)+x|0}else e=h;c[c[i+12>>2]>>2]=e;j=j+1|0;e=c[n>>2]|0}while((j|0)<(c[m>>2]|0))}c[n>>2]=e+1;g=b+24|0;x=b+28|0;e=c[x>>2]|0;do if(e|0){e=e+(e>>31|1)|0;c[x>>2]=e;if((e|0)<-9){c[x>>2]=0;v=c[g>>2]|0;c[g>>2]=v+-1;if((v|0)>=1)break;c[g>>2]=(c[A>>2]|0)+-1;break}else{if((e|0)<=9)break;c[x>>2]=0;v=(c[g>>2]|0)+1|0;c[g>>2]=(v|0)<(c[A>>2]|0)?v:0;break}}while(0);if((f|0)==413316){g=c[b>>2]|0;h=g+1262800|0;if(Uh[c[h>>2]&63](g,0,20,10)|0){c[x>>2]=-1;u=c[2]|0;v=(c[80]|0)+49536|0;v=d[v>>0]|d[v+1>>0]<<8;Ci[c[u+1262752>>2]&7](u,2,(v&65535)>>>8&15,v&7,-1,0,15,0)}if(Uh[c[h>>2]&63](g,1,20,10)|0){c[x>>2]=1;u=c[2]|0;v=(c[80]|0)+49536|0;v=d[v>>0]|d[v+1>>0]<<8;Ci[c[u+1262752>>2]&7](u,2,(v&65535)>>>8&15,v&7,-1,0,15,0)}do if(Uh[c[h>>2]&63](g,4,-1,-1)|0){e=c[b+32>>2]|0;f=c[b+24>>2]|0;if(a[e+(f*24|0)+20>>0]|0){Am(b,c[e+(f*24|0)+4>>2]|0);break}c[o>>2]=2340;c[586]=0;if((c[588]|0)>0){f=c[585]|0;e=0;do{v=c[f+(e<<2)>>2]|0;c[c[v+12>>2]>>2]=c[v>>2];e=e+1|0}while((e|0)<(c[588]|0))}c[586]=0;c[590]=204}while(0);if(Uh[c[h>>2]&63](g,5,-1,-1)|0)Am(b,371371)}i=c[b>>2]|0;t=b+32|0;j=c[t>>2]|0;u=b+24|0;k=c[u>>2]|0;v=b+4|0;f=c[v>>2]|0;e=f+4096|0;if((e3(e,87467)|0)!=0?(f3(e,87485,18)|0)!=0:0){c[B>>2]=0;e=j+(k*24|0)+4|0;g=sk(f,c[e>>2]|0,B)|0;if(g|0){h=B2(1178692)|0;if(h|0){e=c[e>>2]|0;o=(e3(e+(r4(e)|0)+-4|0,93609)|0)==0;f=c[B>>2]|0;if(o){o=c[b+8>>2]|0;Wh[c[o+13136>>2]&31](o,e,g,f,h)|0}else ti[c[i+1262812>>2]&63](h,g,f,1);if(c[h+1048128>>2]|0)Cm(c[u>>2]|0,c[t>>2]|0,h+1048132|0);C2(h)}C2(g)}}else w=59;if(((w|0)==59?(p=c[j+(k*24|0)+8>>2]|0,p|0):0)?(c[j+(k*24|0)+16>>2]|0)==0:0){c[r>>2]=0;u6(B|0,0,4096)|0;c[s>>2]=p;h3(B,93614,s)|0;e=c[v>>2]|0;o=e+4096|0;x4(s,o)|0;u6(o|0,0,4096)|0;e=sk(e,B,r)|0;x4(o,s)|0;do if(!e){u6(C|0,0,4096)|0;c[q>>2]=p;h3(C,93634,q)|0;e=Sh[c[(c[40>>2]|0)+24>>2]&255](C,r)|0;if(!e)break;else{q=c[v>>2]|0;r=c[r>>2]|0;w=q+4096|0;x4(s,w)|0;u6(w|0,0,4096)|0;uk(q,B,e,r,0)|0;x4(w,s)|0;w=66;break}}else w=66;while(0);if((w|0)==66){Cm(c[u>>2]|0,c[t>>2]|0,e);C2(e)}}f=c[(c[t>>2]|0)+((c[u>>2]|0)*24|0)+16>>2]|0;if(f|0){g=c[b>>2]|0;e=0;do{i=e*120|0;h=g+i|0;i=f+i|0;j=h+120|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));e=e+1|0}while((e|0)!=136);if(c[(c[t>>2]|0)+((c[u>>2]|0)*24|0)+16>>2]|0){m=c[103337]|0;s=c[b>>2]|0;e=c[103338]|0;if(e|0?(w=10-e|0,z=((w|0)/2|0)+62|0,w=(w|0)<-125,y=w?0:z,z=e+2+(w?z:0)+y|0,z=(z|0)<136?z:136,(y|0)<(z|0)):0){i=y;do{j=i*240|0;h=0;do{y=h+j|0;k=s+(y>>>1)|0;y=y&1;f=d[k>>0]|0;e=f&15;g=y|0?f>>>4:f;if(!y){e=f&240;a[k>>0]=e;f=g&3}else{a[k>>0]=e;f=g<<4&48}a[k>>0]=f|e;h=h+1|0}while((h|0)!=240);i=i+1|0}while((i|0)<(z|0))}if((c[A>>2]|0)>0){r=s+1262664|0;q=(m|0)<-3?0:m+3|0;m=m+4|0;n=0;do{o=63-(c[x>>2]|0)+((n-(c[u>>2]|0)|0)*10|0)|0;p=Xh[c[r>>2]&3](s,c[(c[t>>2]|0)+(n*24|0)>>2]|0,0,-6,0,0)|0;e=(o|0)<-1?0:o+1|0;p=m+p|0;o=o+9|0;p=(p|0)<240?p:240;o=(o|0)<136?o:136;if((e|0)<(o|0)&(q|0)<(p|0))do{j=e*240|0;i=q;do{z=i+j|0;k=s+(z>>>1)|0;z=z&1;g=d[k>>0]|0;f=g&15;h=z|0?g>>>4:g;if(!z){f=g&240;a[k>>0]=f;g=h&3}else{a[k>>0]=f;g=h<<4&48}a[k>>0]=g|f;i=i+1|0}while((i|0)<(p|0));e=e+1|0}while((e|0)<(o|0));n=n+1|0}while((n|0)<(c[A>>2]|0))}}}e=c[103337]|0;g=c[b>>2]|0;z=c[103338]|0;Ai[c[g+1262692>>2]&15](g,0,((10-z|0)/2|0)+63|0,240,z,6);if((c[A>>2]|0)>0){h=g+1262664|0;f=e+4|0;e=0;do{y=c[(c[t>>2]|0)+(e*24|0)>>2]|0;z=63-(c[x>>2]|0)+((e-(c[u>>2]|0)|0)*10|0)|0;Xh[c[h>>2]&3](g,y,f,z+3|0,0,0)|0;Xh[c[h>>2]&3](g,y,f,z+2|0,15,0)|0;e=e+1|0}while((e|0)<(c[A>>2]|0))}f=c[103335]|0;e=c[b>>2]|0;h=e+1262692|0;Ai[c[h>>2]&15](e,0,f+-10|0,240,10,8);Ai[c[h>>2]&15](e,0,f,240,1,0);h=B;i=93653;j=h+12|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));A=f+-8|0;z=e+1262664|0;y=f+-7|0;Xh[c[z>>2]&3](e,B,4,y,0,0)|0;Xh[c[z>>2]&3](e,B,4,A,15,0)|0;a[B>>0]=0;w=e+1262704|0;x=f+-9|0;Fi[c[w>>2]&1](e,c[(c[80]|0)+56>>2]|0,12,150,x,1,1,B,1,1,0,0);Xh[c[z>>2]&3](e,92948,160,y,0,0)|0;Xh[c[z>>2]&3](e,92948,160,A,15,0)|0;Fi[c[w>>2]&1](e,c[(c[80]|0)+56>>2]|0,13,204,x,1,1,B,1,1,0,0);Xh[c[z>>2]&3](e,93665,214,y,0,0)|0;Xh[c[z>>2]&3](e,93665,214,A,15,0)|0;A=136-(c[103336]|0)|0;b=c[b>>2]|0;z=b+1262692|0;Ai[c[z>>2]&15](b,0,A,240,10,8);Ai[c[z>>2]&15](b,0,A+10|0,240,1,0);x4(C,(c[v>>2]|0)+4096|0)|0;c[D>>2]=C;h3(B,93670,D)|0;D=b+1262664|0;Xh[c[D>>2]&3](b,B,4,A+3|0,0,0)|0;Xh[c[D>>2]&3](b,B,4,A+2|0,15,0)|0;l=E;return}function ym(a){a=a|0;var b=0,d=0;c[a+12>>2]=2236;c[560]=0;if((c[562]|0)<=0){c[560]=0;c[564]=0;return}b=c[559]|0;a=0;do{d=c[b+(a<<2)>>2]|0;c[c[d+12>>2]>>2]=c[d>>2];a=a+1|0}while((a|0)<(c[562]|0));c[560]=0;c[564]=0;return}function zm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+8208|0;j=n;h=n+4112|0;k=n+4|0;i=n+16|0;m=b+32|0;d=c[m>>2]|0;if(d|0){g=b+36|0;if((c[g>>2]|0)>0){f=0;while(1){C2(c[d+(f*24|0)+4>>2]|0);d=c[m>>2]|0;e=c[d+(f*24|0)+8>>2]|0;if(e){C2(e);d=c[m>>2]|0}e=c[d+(f*24|0)+16>>2]|0;if(e){C2(e);d=c[m>>2]|0}d=c[d+(f*24|0)>>2]|0;if(d|0)C2(d);d=f+1|0;if((d|0)>=(c[g>>2]|0))break;f=d;d=c[m>>2]|0}d=c[m>>2]|0}C2(d);c[m>>2]=0;c[g>>2]=0}c[b+24>>2]=0;c[b+28>>2]=0;d=B2(6144)|0;c[k>>2]=d;f=k+4|0;c[f>>2]=0;c[k+8>>2]=b;e=b+4|0;x4(i,(c[e>>2]|0)+4096|0)|0;if(a[i>>0]|0){c[f>>2]=1;c[d+4>>2]=P4(371371)|0;c[j>>2]=371371;h3(h,93708,j)|0;c[d>>2]=P4(h)|0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+20>>0]=1;c[d+16>>2]=0;a[d+21>>0]=0}d=c[e>>2]|0;x4(425913,d)|0;d=d+4096|0;if(!(r4(d)|0)){nk(3,k,1);nk(3,k,0);k=c[k>>2]|0;c[m>>2]=k;k=c[f>>2]|0;m=b+36|0;c[m>>2]=k;l=n;return}Y5(425913,d)|0;j=425913+(r4(425913)|0)|0;a[j>>0]=47;a[j+1>>0]=0;nk(3,k,1);nk(3,k,0);k=c[k>>2]|0;c[m>>2]=k;k=c[f>>2]|0;m=b+36|0;c[m>>2]=k;l=n;return}function Am(b,e){b=b|0;e=e|0;var f=0,g=0;g=l;l=l+4096|0;f=g;if(!(e3(e,371371)|0)){x4(f,(c[b+4>>2]|0)+4096|0)|0;if(a[f>>0]|0){e=c[2]|0;f=(c[80]|0)+49536|0;f=d[f>>0]|d[f+1>>0]<<8;Ci[c[e+1262752>>2]&7](e,2,(f&65535)>>>8&15,f&7,-1,0,15,0);c[b+12>>2]=2444;c[612]=0;if((c[614]|0)>0){e=c[611]|0;b=0;do{f=c[e+(b<<2)>>2]|0;c[c[f+12>>2]>>2]=c[f>>2];b=b+1|0}while((b|0)<(c[614]|0))}c[612]=0;c[616]=205}l=g;return}else{if(!(pk(c[b+4>>2]|0,e)|0)){l=g;return}e=c[2]|0;f=(c[80]|0)+49536|0;f=d[f>>0]|d[f+1>>0]<<8;Ci[c[e+1262752>>2]&7](e,2,(f&65535)>>>8&15,f&7,-1,0,15,0);c[b+12>>2]=2468;c[618]=0;if((c[620]|0)>0){e=c[617]|0;b=0;do{f=c[e+(b<<2)>>2]|0;c[c[f+12>>2]>>2]=c[f>>2];b=b+1|0}while((b|0)<(c[620]|0))}c[618]=0;c[622]=206;l=g;return}}function Bm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h;e=c[b+32>>2]|0;f=c[b+24>>2]|0;if(a[e+(f*24|0)+21>>0]|0){g=B2(1178692)|0;if(g|0){c[d>>2]=0;e=e+(f*24|0)+4|0;f=sk(c[b+4>>2]|0,c[e>>2]|0,d)|0;i=c[b+8>>2]|0;Wh[c[i+13136>>2]&31](i,c[e>>2]|0,f,c[d>>2]|0,g)|0;s6((c[b>>2]|0)+81920|0,g|0,1178692)|0;Xi();C2(g)}}else{i=c[b+8>>2]|0;si[c[i+13132>>2]&127](i,c[e+(f*24|0)+4>>2]|0,c[e+(f*24|0)+8>>2]|0)}b=c[2]|0;fi[c[b+1262784>>2]&511](b);b=c[18]|0;switch(b|0){case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}case 2:{c[19]=11;l=h;return}default:c[19]=b}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;c[19]=11;l=h;return}function Cm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=e+(b*24|0)+16|0;c[o>>2]=B2(16320)|0;p=jk(f)|0;if(!p)return;if((c[p+8>>2]|0)==240?(c[p+12>>2]|0)==136:0){n=p+4|0;m=0;do{l=c[n>>2]|0;i=d[(c[p>>2]|0)+m>>0]|0;f=c[(c[80]|0)+56>>2]|0;g=d[l+(i*3|0)>>0]|0;h=d[l+(i*3|0)+1>>0]|0;i=d[l+(i*3|0)+2>>0]|0;l=0;b=0;e=-1;while(1){k=g-(d[f+130968+(b*3|0)>>0]|0)|0;q=h-(d[f+130968+(b*3|0)+1>>0]|0)|0;j=i-(d[f+130968+(b*3|0)+2>>0]|0)|0;j=(O(q,q)|0)+(O(k,k)|0)+(O(j,j)|0)|0;k=j>>>0<e>>>0;l=k?b:l;b=b+1|0;if((b|0)==16)break;else e=k?j:e}f=(c[o>>2]|0)+(m>>>1)|0;b=d[f>>0]|0;if(!(m&1)){e=b&240;a[f>>0]=e;b=l&15}else{e=b&15;a[f>>0]=e;b=l<<4&4080}a[f>>0]=b|e;m=m+1|0}while((m|0)!=32640)}b=c[p>>2]|0;if(b|0)C2(b);b=c[p+4>>2]|0;if(b|0)C2(b);C2(p);return}function Dm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+12304|0;m=o;i=o+8200|0;j=o+4104|0;k=o+8|0;f=b+4|0;x4(i,(c[f>>2]|0)+4096|0)|0;d=c[f>>2]|0;e=d+4096|0;if(!(e3(e,87467)|0))u6(e|0,0,4096)|0;else{h=r4(e)|0;d=d+4096+h|0;a:do if((h|0)>0)do{if((a[d>>0]|0)==47)break a;d=d+-1|0}while(d>>>0>e>>>0);while(0);a[d>>0]=0}zm(b);x4(j,(c[f>>2]|0)+4096|0)|0;g=b+36|0;d=c[g>>2]|0;if((d|0)<=0){l=o;return}h=b+32|0;e=0;while(1){f=c[h>>2]|0;if(a[f+(e*24|0)+20>>0]|0){p=(r4(j)|0)==0;d=c[f+(e*24|0)+4>>2]|0;if(p)x4(k,d)|0;else{c[m>>2]=j;c[m+4>>2]=d;h3(k,93702,m)|0}if(!(e3(k,i)|0))break;d=c[g>>2]|0}e=e+1|0;if((e|0)>=(d|0)){n=17;break}}if((n|0)==17){l=o;return}c[b+24>>2]=e;l=o;return}function Em(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+4>>2]|0;g=c[(c[b+32>>2]|0)+((c[b+24>>2]|0)*24|0)+4>>2]|0;if(!(pk(f,g)|0)){zm(b);return}d=f+4096|0;e=r4(d)|0;if(e|0){f=f+4096+e|0;a[f>>0]=47;a[f+1>>0]=0}Y5(d,g)|0;zm(b);return}function Fm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+4112|0;i=p;h=p+8|0;o=g&1;if(!g?e3(b+(r4(b)|0)+-4|0,44999)|0:0){o=f+4|0;o=c[o>>2]|0;o=(o|0)<256;l=p;return o|0}n=c[f>>2]|0;k=f+4|0;m=c[k>>2]|0;c[k>>2]=m+1;j=n+(m*24|0)|0;c[n+(m*24|0)+4>>2]=P4(b)|0;if(!g){f=P4(b)|0;c[j>>2]=f;if(!(e3(b+(r4(b)|0)+-4|0,44999)|0)){a[f+((r4(f)|0)+-4)>>0]=0;g=0;f=c[j>>2]|0}else g=1;h=m5(f,93713)|0;if(!h)h=f;else{do{x4(h,h+4|0)|0;a[h>>0]=38;h=m5(f,93713)|0}while((h|0)!=0);h=c[j>>2]|0}f=m5(h,93719)|0;if(f)do{x4(f,f+4|0)|0;a[f>>0]=39;f=m5(h,93719)|0}while((f|0)!=0)}else{c[i>>2]=b;h3(h,93708,i)|0;c[j>>2]=P4(h)|0;g=0}if(!d)f=0;else f=P4(d)|0;c[n+(m*24|0)+8>>2]=f;c[n+(m*24|0)+12>>2]=e;a[n+(m*24|0)+20>>0]=o;c[n+(m*24|0)+16>>2]=0;a[n+(m*24|0)+21>>0]=g&1;o=k;o=c[o>>2]|0;o=(o|0)<256;l=p;return o|0}function Gm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=430009;e=93725;f=d+24|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));Ub(3,430009,12,b|0,c|0)|0;return 0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;if((a|0)==2){c[103339]=2;c[103340]=b;c[103341]=d;Vb(c[b+4>>2]|0,93989,207,208);return}else{Km(a,b,d);return}}function Im(a){a=a|0;a=c[103340]|0;c[a+4>>2]=93989;Km(c[103339]|0,a,c[103341]|0);return}function Jm(a){a=a|0;return}function Km(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+12784|0;i=ha+224|0;ga=ha+216|0;fa=ha+208|0;ea=ha+200|0;da=ha+192|0;ca=ha+184|0;ba=ha+176|0;aa=ha+168|0;_=ha+160|0;Z=ha+152|0;H=ha+144|0;G=ha+136|0;F=ha+128|0;E=ha+120|0;D=ha+112|0;C=ha+104|0;B=ha+96|0;A=ha+88|0;z=ha+80|0;x=ha+72|0;v=ha+64|0;s=ha+56|0;r=ha+48|0;t=ha+40|0;q=ha+32|0;p=ha+24|0;o=ha+16|0;n=ha+8|0;$=ha+488|0;Y=ha+232|0;V=ha+8680|0;W=ha+4584|0;q$(93998,94027);q$(94029,394e3);Z0(560)|0;a:do if(!(a[436531]|0)){vV(405691,ha);i=0}else{if(c[105279]|0)if(c[105280]|0)if(c[105281]|0)if(c[105282]|0)if(c[105283]|0)if(c[105284]|0)if(c[105285]|0)if(c[105286]|0)if(c[105287]|0)if(c[105288]|0)if(c[105289]|0)if(c[105290]|0)if(c[105291]|0)if(c[105292]|0)if(!(c[105293]|0))u=15;else{vV(405726,i);i=0;break}else u=14;else u=13;else u=12;else u=11;else u=10;else u=9;else u=8;else u=7;else u=6;else u=5;else u=4;else u=3;else u=2;else u=1;c[103396]=c[651];c[103397]=c[652];c[103398]=c[653];c[103399]=c[654];c[103400]=c[655];c[103401]=c[656];i=Of(405754)|0;if((i|0)!=0?(m=W5(i)|0,(m&65535|0)!=0):0){k=m;i=m&65535}else{k=2048;i=2048}b[206796]=i;a[413591]=0;c[103399]=k<<1&131070;m=Of(405772)|0;i=(m|0)!=0;b:do if(!(c[105259]|0))if(i){i=c[105267]|0;if(!i)k=0;else while(1){k=c[i>>2]|0;if(k|0?(e3(i+8|0,m)|0)==0:0)break b;i=c[i+4>>2]|0;if(!i){k=0;break}}}else{m=0;k=0}else{if(i?e3(m,404421)|0:0){vV(406229,n);i=0;break a}U=c[105278]|0;if(!((U|0)!=0?!(c[U+144>>2]|0):0))X=15;do if((X|0)==15){U=c[105279]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105280]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105281]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105282]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105283]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105284]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105285]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105286]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105287]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105288]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105289]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105290]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105291]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;U=c[105292]|0;if(U|0?(c[U+144>>2]|0)==0:0)break;i=c[105293]|0;if(!i){m=0;k=0;break b}if(c[i+144>>2]|0){m=0;k=0;break b}}while(0);vV(405794,o);i=0;break a}while(0);if((c[105261]|0)==0?(k|0)==0&(m|0)!=0:0){vV(405820,p);i=0;break}p=B2(188)|0;if(!p){vV(392416,q);i=0;break}if(c[p+-4>>2]&3|0)u6(p|0,0,188)|0;c[p>>2]=u+1;i=p+4|0;c[i>>2]=c[103396];c[i+4>>2]=c[103397];c[i+8>>2]=c[103398];c[i+12>>2]=c[103399];c[i+16>>2]=c[103400];c[i+20>>2]=c[103401];c[p+144>>2]=0;c[p+184>>2]=k;c[p+132>>2]=0;c[p+140>>2]=1;c[p+136>>2]=1;if(!(c[105257]|0)){i=B2(12)|0;if(!i){vV(392416,r);c[p+152>>2]=0}else{vV(404476,t);C2(i);c[p+152>>2]=0}A1(p);vV(405836,s);i=0;break}if((Uh[c[420968>>2]&63](p,k,m,0)|0)<0){A1(p);i=0;break}i=c[i>>2]|0;if((c[103396]|0)!=(i|0))c[103396]=i;i=b[206794]|0;k=b[p+8>>1]|0;if(i<<16>>16!=k<<16>>16){b[206794]=k;i=k}k=a[413590]|0;m=a[p+10>>0]|0;if(k<<24>>24!=m<<24>>24){a[413590]=m;k=m}m=b[p+12>>1]|0;if(m<<16>>16!=(b[206796]|0)){b[206796]=m;a[413591]=i<<16>>16==8?-128:0;c[103399]=O(O(k&255,(i&65535)>>>3&31)|0,m&65535)|0}o=p+20|0;if(!(c[o>>2]|0)){k=c[(c[p+28>>2]|0?p+48|0:p+16|0)>>2]<<1;k=(k&8190|0?8192:0)+((k|0)/8192|0)|0;if((k|0)>0){m=p+172|0;i=0;do{n=B2(8204)|0;if(n|0){c[n+8192>>2]=0;c[n+8196>>2]=0;c[n+8200>>2]=c[m>>2];c[m>>2]=n}i=i+1|0}while((i|0)!=(k|0))}c[o>>2]=13;c[p+24>>2]=p}c[421112+(u<<2)>>2]=p;if(c[105256]|0){i=c[p>>2]|0;break}if(!(c[p+28>>2]|0))i=0;else i=c[p+52>>2]|0;U=c[p+16>>2]|0;U=B2(U>>>0>i>>>0?U:i)|0;c[p+148>>2]=U;if(!U){A1(p);vV(392416,v);i=0;break}c[x>>2]=c[p>>2];SZ($,64,405863,x)|0;m=B2(808)|0;do if(m){u6(m|0,0,808)|0;c[m+8>>2]=-1;c[m+12>>2]=0;U=P4($)|0;i=m+792|0;c[i>>2]=U;if(!U){vV(392416,A);C2(m);break}k=B2(16)|0;if(!k){vV(392416,B);i=c[i>>2]|0;if(i|0)C2(i);C2(m);break}else{c[k>>2]=389;c[k+4>>2]=p;c[k+8>>2]=m;vV(404476,C);c[k+12>>2]=0;i=c[i>>2]|0;if(i|0)C2(i);C2(m);C2(k);break}}else vV(392416,z);while(0);c[p+156>>2]=0;A1(p);vV(405877,D);i=0}while(0);c[103402]=i;i=c[103396]|0;q=b[206794]|0;p=a[413590]|0;U=q&65535;c:do if(!((U&255)>>>0>16&(U&32768|0)==0)){o=p&255;if(!(p<<24>>24)){vV(405933,F);break}if(!i){vV(405972,G);break}z=413628;r=z+64|0;do{c[z>>2]=0;z=z+4|0}while((z|0)<(r|0));b[206808]=-32752;b[206809]=q;c[103403]=0;c[103423]=0;c[103413]=0;c[103410]=1;h[j>>3]=1.0;c[103411]=c[j>>2];c[103412]=c[j+4>>2];y=+(i|0);h[j>>3]=y/y;c[103405]=c[j>>2];c[103406]=c[j+4>>2];do if(q<<16>>16!=-32752){m=q&255;k=0;i=58;while(1){if((b[19072+(k<<3)>>1]|0)==-32752?(b[19072+(k<<3)+2>>1]|0)==q<<16>>16:0)break;k=k+1|0;i=c[19072+(k<<3)+4>>2]|0;if(!i){X=112;break}}if((X|0)==112){vV(406007,H);break c}c[103423]=1;c[103413]=i;if((m&65535)>16){k=(m&65535)>>>4;c[103410]=k&65535;w=+(k&65535);h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2];i=1;k=k<<1&65535;break}if(m<<16>>16==16){i=1;k=2;w=1.0}else{w=1.0/+((16/(m&65535)|0)&65535);h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2];i=1;k=2}}else{i=0;k=2;w=1.0}while(0);if(p<<24>>24!=1){c[103423]=i+1;c[413652+(i<<2)>>2]=175;c[103410]=k;w=w*2.0;h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2];switch(p<<24>>24){case 6:{m=c[103423]|0;c[103423]=m+1;c[413652+(m<<2)>>2]=176;m=k*3|0;c[103410]=m;i=6;n=0;y=3.0;X=117;break}case 4:{m=c[103423]|0;c[103423]=m+1;c[413652+(m<<2)>>2]=177;m=k<<1;c[103410]=m;i=4;n=1;y=2.0;X=117;break}default:{i=2;m=k;n=0}}while(1){if((X|0)==117){w=y*w;h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2]}k=(i&255)<<1;if(k>>>0>o>>>0)break;i=c[103423]|0;c[103423]=i+1;c[413652+(i<<2)>>2]=175;m=m<<1;c[103410]=m;i=k&255;y=2.0;X=117}k=i<<24>>24==6;if(!((p&255)<3&k))if(n&k){i=4;k=181;X=123}else X=124;else{i=c[103423]|0;c[103423]=i+1;c[413652+(i<<2)>>2]=178;w=w/3.0;h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2];i=2;X=125}while(1)if((X|0)==123){U=c[103423]|0;c[103423]=U+1;c[413652+(U<<2)>>2]=k;w=w*.5;h[j>>3]=w;c[103411]=c[j>>2];c[103412]=c[j+4>>2];X=124;continue}else if((X|0)==124){X=0;if(!(i&1)){X=125;continue}else break}else if((X|0)==125){X=0;i=(i&255)>>>1;if((i&255)<(p&255))break;else{k=182;X=123;continue}}}i=c[103423]|0;if(i|0){c[103403]=1;b[206808]=-32752;b[206809]=q;c[103408]=0;c[103407]=0;c[413652+(i<<2)>>2]=0}}else vV(405906,E);while(0);if(c[103403]|0){U=(c[103396]<<1>>>0)/60|0;c[103408]=U;c[103407]=B2(O(U,c[103410]|0)|0)|0}if((c[103304]|0)==0?(I=Ah(13,1)|0,I|0):0)Ah(13,I|0)|0;c[103304]=(c[103304]|0)+1;U=B2(4104)|0;u6(U|0,0,4104)|0;c[103394]=U;U=c[103396]|0;S5();c[86]=e;c[87]=f;c[88]=U;c[10]=2628;if((e|0)>1?(J=f+4|0,(O4(c[J>>2]|0,$)|0)==0):0){wk(c[J>>2]|0,$);U=B2(8192)|0;u6(U|0,0,8192)|0;x4(U,$)|0;c[84]=U}else{U=B2(8192)|0;u6(U|0,0,8192)|0;x4(U,g)|0;c[84]=U}k=c[88]|0;i=B2(80)|0;if(!i)i=0;else{z=i;r=z+80|0;do{c[z>>2]=0;z=z+4|0}while((z|0)<(r|0));U=en(k)|0;c[i+24>>2]=U;s6(U+1260612|0,94789,1024)|0}c[11]=i;c[2]=c[i+24>>2];i=B2(65736)|0;if(i|0?c[i+-4>>2]&3|0:0)u6(i|0,0,65736)|0;c[71]=i;i=B2(80)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+80|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[72]=i;i=B2(132)|0;if(i|0?c[i+-4>>2]&3|0:0)u6(i|0,0,132)|0;c[73]=i;i=B2(44)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+44|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[74]=i;i=B2(100)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+100|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[75]=i;i=B2(24)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+24|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[76]=i;i=B2(13160)|0;if(i|0?c[i+-4>>2]&3|0:0)u6(i|0,0,13160)|0;c[77]=i;i=B2(1152)|0;if(i|0?c[i+-4>>2]&3|0:0)u6(i|0,0,1152)|0;c[78]=i;i=B2(16)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+16|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[79]=i;i=B2(1178764)|0;if(i|0?c[i+-4>>2]&3|0:0)u6(i|0,0,1178764)|0;c[80]=i;i=B2(60)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+60|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[81]=i;i=B2(60)|0;if(i|0?c[i+-4>>2]&3|0:0){z=i;r=z+60|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}c[82]=i;i=B2(48)|0;do if(i|0){if(!(c[i+-4>>2]&3))break;z=i;r=z+48|0;do{a[z>>0]=0;z=z+1|0}while((z|0)<(r|0))}while(0);c[83]=i;yk(c[84]|0,40593);o=c[80]|0;p=c[2]|0;m=c[84]|0;c[o>>2]=p;c[o+1178756>>2]=209;c[o+1178760>>2]=210;q=o+4|0;c[q>>2]=m;z=o+8|0;r=z+56|0;do{c[z>>2]=0;z=z+4|0}while((z|0)<(r|0));n=o+64|0;c[o+56>>2]=n;c[$>>2]=0;i=_i($,88704,4088)|0;k=c[$>>2]|0;if(k|0){ti[c[(c[o>>2]|0)+1262812>>2]&63](n,k,i,1);Rl(o);Zi();C2(k)}c[$>>2]=0;U=m+4096|0;x4(W,U)|0;u6(U|0,0,4096)|0;i=sk(m,92792,$)|0;x4(U,W)|0;do if(!i){i=B2(1178692)|0;if(!i)break;T=Sh[c[(c[o>>2]|0)+1262816>>2]&255](n,i)|0;S=c[q>>2]|0;U=S+4096|0;x4(W,U)|0;u6(U|0,0,4096)|0;uk(S,92792,i,T,0)|0;x4(U,W)|0;C2(i)}else{ti[c[(c[o>>2]|0)+1262812>>2]&63](n,i,c[$>>2]|0,1);Rl(o);Zi();C2(i)}while(0);fi[c[p+1262784>>2]&511](p);i=c[84]|0;c[$>>2]=0;i=sk(i,93230,$)|0;if(i|0){if((c[$>>2]|0)==32){z=144;k=i;r=z+32|0;do{a[z>>0]=a[k>>0]|0;z=z+1|0;k=k+1|0}while((z|0)<(r|0))}C2(i)}Q=c[76]|0;c[Q>>2]=c[2];a[Q+4>>0]=0;c[Q+8>>2]=1;c[Q+12>>2]=0;a[Q+16>>0]=0;c[Q+20>>2]=211;Q=c[77]|0;U=c[2]|0;o=c[84]|0;M=c[80]|0;S=c[86]|0;T=c[87]|0;n=Q+4140|0;i=c[n>>2]|0;if(!i){i=B2(48640)|0;c[n>>2]=i}p=Q+4144|0;k=c[p>>2]|0;if(!k){k=B2(48640)|0;c[p>>2]=k}R=Q+4136|0;m=c[R>>2]|0;if(!m){m=B2(1178692)|0;c[R>>2]=m}c[Q>>2]=M;P=Q+4|0;g=Q+25|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;a[P+20>>0]=0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;g=Q+4124|0;a[g>>0]=0;P=Q+4125|0;a[P>>0]=0;a[P+1>>0]=0;a[P+2>>0]=0;c[Q+4128>>2]=179;P=Q+4132|0;a[P>>0]=0;q=Q+4133|0;a[q>>0]=0;a[q+1>>0]=0;a[q+2>>0]=0;c[R>>2]=m;c[n>>2]=i;c[p>>2]=k;q=Q+4912|0;u6(Q+4148|0,0,764)|0;c[q>>2]=U;c[Q+4916>>2]=o;n=Q+4920|0;N=Q+13124|0;I=Q+13126|0;J=Q+13127|0;K=Q+13128|0;L=Q+13129|0;u6(n|0,0,8210)|0;b[Q+13130>>1]=0;c[Q+13132>>2]=14;f=Q+13136|0;c[f>>2]=0;c[f+4>>2]=0;c[Q+13144>>2]=180;c[Q+13148>>2]=15;c[Q+13152>>2]=212;c[Q+13156>>2]=390;u6(i|0,0,48640)|0;u6(c[p>>2]|0,0,48640)|0;f=Q+28|0;u6(f|0,0,4096)|0;if(S|0)x4(Q+9016|0,c[T>>2]|0)|0;kj(Q,44936,15);kj(Q,44959,3);kj(Q,44968,3);if((S|0)>1){z=(c[R>>2]|0)+130968|0;k=(c[(c[80]|0)+56>>2]|0)+130968|0;r=z+48|0;do{c[z>>2]=c[k>>2];z=z+4|0;k=k+4|0}while((z|0)<(r|0));i=1;while(1){k=c[T+(i<<2)>>2]|0;if(!(e3(k,410430)|0)){X=206;break}c[Y>>2]=0;m=vk(k,Y)|0;if(m){if(!(e3(k+(r4(k)|0)+-4|0,44999)|0)){X=202;break}C2(m)}i=i+1|0;if((i|0)>=(S|0)){i=1;break}}if((X|0)==202){ti[c[(c[q>>2]|0)+1262812>>2]&63](c[R>>2]|0,m,c[Y>>2]|0,1);X=t5(k)|0;x4(W,X)|0;C2(X);wk(k,$);x4(V,W+(r4($)|0)|0)|0;if((n|0)!=(V|0))x4(n,V)|0;a[P>>0]=1;C2(m);X=206}if((X|0)==206)i=1<<i|1;e=S+-1|0;if((e|0)>1){k=1;do{H=3<<k;d:do if(!(H&~i))k=k+1|0;else{q=c[T+(k<<2)>>2]|0;k=k+1|0;r=c[T+(k<<2)>>2]|0;n=(e3(q,45004)|0)==0;if(!n?(e3(q,45016)|0)!=0:0)X=221;else X=215;do if((X|0)==215){X=0;o=(c[R>>2]|0)+65432|0;c[$>>2]=0;p=vk(r,$)|0;if(!p){X=221;break}u6(o|0,0,65536)|0;m=c[$>>2]|0;if((m|0)>65536){c[Z>>2]=65536;h3(Y,45022,Z)|0;kj(Q,Y,6)}s6(o|0,p|0,((m|0)<65535?m:65535)|0)|0;C2(p);a[P>>0]=1;a[J>>0]=1;if(!n)break;a[g>>0]=1;x4(f,r)|0}while(0);e:do if((X|0)==221){do if(!(e3(q,45056)|0)){c[$>>2]=0;G=vk(r,$)|0;if(!G)break;F=jk(G)|0;if(F|0){C=F+8|0;m=c[C>>2]|0;B=(m|0)<128?m:128;X=c[F+12>>2]|0;D=(X|0)<256?X:256;do if((X|0)>0){E=F+4|0;if((m|0)>0)v=0;else{m=F;break}do{z=((v|0)/8|0)<<4;A=((v|0)%8|0)<<3;x=0;do{r=a[(c[F>>2]|0)+((O(c[C>>2]|0,v)|0)+x)>>0]|0;u=c[E>>2]|0;r=r&255;o=c[R>>2]|0;p=d[u+(r*3|0)>>0]|0;q=d[u+(r*3|0)+1>>0]|0;r=d[u+(r*3|0)+2>>0]|0;u=0;m=0;n=-1;while(1){t=p-(d[o+130968+(m*3|0)>>0]|0)|0;X=q-(d[o+130968+(m*3|0)+1>>0]|0)|0;s=r-(d[o+130968+(m*3|0)+2>>0]|0)|0;s=(O(X,X)|0)+(O(t,t)|0)+(O(s,s)|0)|0;t=s>>>0<n>>>0;u=t?m:u;m=m+1|0;if((m|0)==16)break;else n=t?s:n}X=A+((x|0)%8|0)|0;o=(X>>>1)+(o+(z+((x|0)/8|0)<<5))|0;m=d[o>>0]|0;if(!(X&1)){n=m&240;a[o>>0]=n;m=u&15}else{n=m&15;a[o>>0]=n;m=u<<4&4080}a[o>>0]=m|n;x=x+1|0}while((x|0)<(B|0));v=v+1|0}while((v|0)<(D|0));m=F}else m=F;while(0);m=c[m>>2]|0;if(m|0)C2(m);m=c[F+4>>2]|0;if(m|0)C2(m);C2(F)}C2(G);a[P>>0]=1;a[J>>0]=1;break e}while(0);do if(!(e3(q,45065)|0)){c[$>>2]=0;m=vk(r,$)|0;if(!m)break;n=c[$>>2]|0;if(n>>>0<32641){W=c[2]|0;X=a[180]|0;u6(W+81920+(X*131016|0)+16384+n|0,0,32640-n|0)|0;s6(W+81920+(X*131016|0)+16384|0,m|0,n|0)|0;a[P>>0]=1;a[J>>0]=1;C2(m);break e}else{C2(m);break}}while(0);if(e3(q,45070)|0)break d;m=W5(r)|0;if((m|0)<=0)break d;c[(c[Q>>2]|0)+60>>2]=m}while(0);i=H|i}while(0)}while((k|0)!=(e|0))}o=M+49|0;n=1;while(1){k=1<<n;f:do if(!(k&i)){m=c[T+(n<<2)>>2]|0;do if(!(e3(m,45079)|0))a[o>>0]=1;else{if(!(e3(m,45088)|0)){a[I>>0]=1;break}if(!(e3(m,45094)|0)){a[K>>0]=1;break}if(!(e3(m,45106)|0)){a[J>>0]=1;break}if(!(e3(m,45112)|0)){lj(Q,0)|0;break}if(e3(m,45118)|0){k=i;break f}a[L>>0]=1}while(0);k=k|i}else k=i;while(0);n=n+1|0;if((n|0)==(S|0))break;else i=k}i=1;do{if(!(1<<i&k)){c[_>>2]=c[T+(i<<2)>>2];h3($,45131,_)|0;li[c[(c[40>>2]|0)+40>>2]&511](45168,$)}i=i+1|0}while((i|0)!=(S|0))}do if(!(a[P>>0]|0)){_=Qb(4)|0;i=_;if(!_)break;a[P>>0]=1;_=Qb(5)|0;c[$>>2]=0;_=_i($,i,_)|0;$=c[$>>2]|0;ti[c[U+1262812>>2]&63](c[R>>2]|0,$,_,1);C2($);Rb(6,i|0)|0}while(0);a[N>>0]=a[P>>0]^1;$=c[83]|0;_=c[77]|0;i=c[_+4916>>2]|0;c[$>>2]=c[2];c[$+4>>2]=i;c[$+8>>2]=_;c[$+12>>2]=413292;a[$+16>>0]=0;_=$+20|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[_+12>>2]=0;c[_+16>>2]=0;c[$+40>>2]=190;c[$+44>>2]=191;yk(i,93595);_j(c[78]|0,c[77]|0,c[2]|0);i=c[2]|0;b[89]=0;b[90]=0;a[182]=0;Sl(c[71]|0,i,i+147352|0);Fk(c[72]|0,c[2]|0,i+81920|0);$k(c[73]|0,c[2]|0,i+98304|0);nl(c[74]|0,c[2]|0,i+130944|0);xl(c[75]|0,c[2]|0,i+135424|0);Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);i=c[77]|0;g:do if(a[i+13127>>0]|0){k=c[18]|0;h:do switch(k|0){case 1:break g;case 2:{$=c[2]|0;fi[c[$+1262788>>2]&511]($);$=c[2]|0;fi[c[$+1262784>>2]&511]($);break}default:{$=c[2]|0;fi[c[$+1262784>>2]&511]($);switch(k|0){case 9:case 10:case 0:break h;case 11:{c[19]=3;break h}default:{c[19]=k;break h}}}}while(0);c[18]=1;i=c[77]|0}while(0);if(a[i+13128>>0]|0){$h[c[(c[40>>2]|0)+36>>2]&31]();i=c[77]|0}if(a[i+13129>>0]|0)a[(c[80]|0)+51>>0]=1;c[4]=6;c[6]=7;c[7]=8;c[5]=1;c[8]=7;c[9]=8;c[103342]=8;s=c[(Pi()|0)+52>>2]<<8;t=(c[(Pi()|0)+52>>2]|0)*144|0;c[103343]=y2(94059,s,t,38)|0;r=c[c[103342]>>2]|0;li[c[r+1262676>>2]&511](r,0);r=B2(16384)|0;Ak((c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0)+130968|0);k=0;n=0;while(1){p=((n|0)/32|0)<<4;q=(((n|0)/4|0|0)%8|0)<<3;m=0;o=k;while(1){$=(((m|0)/4|0|0)%8|0)+q|0;i=d[($>>>1)+((c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0)+(((m|0)/32|0)+p<<5))>>0]|0;i=$&1|0?i>>>4:i&15;if((i|0)==14)i=0;else i=c[413220+(i<<2)>>2]|0;c[r+(o<<2)>>2]=i;m=m+1|0;if((m|0)==64)break;else o=o+1|0}n=n+1|0;if((n|0)==64)break;else k=k+64|0}i=P_(0,0,376840196)|0;if(!i)i=0;else{c[i>>2]=c[i>>2]|1;c[i+20>>2]=r;c[i+8>>2]=64;c[i+12>>2]=64;c[i+16>>2]=256;c[i+36>>2]=0;c[i+40>>2]=0;c[i+44>>2]=64;c[i+48>>2]=64}q=c[103343]|0;k=c[104297]|0;i:do if(!k)vV(386054,aa);else{do if(q|0){if((c[q>>2]|0)!=(k+280|0))break;if(!i)break i;n=q+12|0;YV(c[n>>2]|0);o=N_(372645892)|0;if(!o){c[n>>2]=0;break i}p=K_(i,o,0)|0;aa=o+36|0;ba=c[aa>>2]|0;c[aa>>2]=ba+-1;if((ba|0)<=1){k=c[104299]|0;j:do if((k|0)==(o|0))c[104299]=c[o+40>>2];else{if(!k)break;do{m=k+40|0;k=c[m>>2]|0;if(!k)break j}while((k|0)!=(o|0));c[m>>2]=c[o+40>>2]}while(0);k=c[o+4>>2]|0;do if(k|0){aa=k+12|0;ba=c[aa>>2]|0;c[aa>>2]=ba+-1;if((ba|0)>1)break;C2(c[k+4>>2]|0);C2(k)}while(0);C2(o)}c[n>>2]=p;if(!p)break i;k=c[104297]|0;m=c[k+44>>2]|0;if(!m)break i;si[m&127](k,q,p);break i}while(0);vV(405282,ba)}while(0);YV(i);C2(r);i=c[103343]|0;k=c[104297]|0;k:do if(!k){vV(386054,ca);i=0}else{do if(i|0){if((c[i>>2]|0)!=(k+280|0))break;i=c[i+4>>2]|0;break k}while(0);vV(405282,da);i=0}while(0);kO(i);c[103344]=sO(s&65535,t&65535)|0;m=c[103343]|0;i=c[104297]|0;l:do if(!i){vV(386054,ea);k=0;i=0}else{do if(m|0){if((c[m>>2]|0)!=(i+280|0))break;k=c[m+28>>2]|0;i=c[m+24>>2]|0;break l}while(0);vV(405282,fa);k=0;i=0}while(0);BO(i&65535,k&65535);Lm();i=c[103342]|0;x=c[i>>2]|0;if(!(c[103369]|0)){i=KO(256,144)|0;c[103369]=i;_O(i);ZO(c[103369]|0,0);i=c[103342]|0}v=x+16320|0;z=v;k=(c[(Qh[c[i+24>>2]&15]()|0)+48>>2]|0)+130968|0;r=z+48|0;do{c[z>>2]=c[k>>2];z=z+4|0;k=k+4|0}while((z|0)<(r|0));li[c[x+1262676>>2]&511](x,0);s=x+1262708|0;n=c[s>>2]|0;m=(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0)+16384|0;k=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Ei[n&15](x,m,k,8,0,22,17,0,0,-1,1);k=c[c[103342]>>2]|0;m=k+1262664|0;n=k+1262668|0;i=0;do{o=c[2692+(i*20|0)+4>>2]|0;p=c[2692+(i*20|0)+8>>2]|0;q=(a[2692+(i*20|0)+12>>0]|0)!=0;Xh[c[m>>2]&3](k,c[2692+(i*20|0)>>2]|0,o,p,3,q)|0;r=c[2692+(i*20|0)+16>>2]|0;if(r|0)Xh[c[n>>2]&3](k,r,o+6|0,p+2|0,10,q)|0;i=i+1|0}while((i|0)!=65);t=x+1262828|0;ti[c[t>>2]&63](x,0,0,0);u=x+1263936|0;LO(c[103369]|0,u,1024);if(!(c[103370]|0)){fa=KO(256,144)|0;c[103370]=fa;_O(fa);ZO(c[103370]|0,0)}z=v;k=(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0)+130968|0;r=z+48|0;do{c[z>>2]=c[k>>2];z=z+4|0;k=k+4|0}while((z|0)<(r|0));n=c[s>>2]|0;m=(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0)+16384|0;k=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Ei[n&15](x,m,k,38,0,22,17,0,0,-1,1);k=c[c[103342]>>2]|0;m=k+1262664|0;n=k+1262668|0;i=0;do{o=c[2692+(i*20|0)+4>>2]|0;p=c[2692+(i*20|0)+8>>2]|0;q=(a[2692+(i*20|0)+12>>0]|0)!=0;Xh[c[m>>2]&3](k,c[2692+(i*20|0)>>2]|0,o,p+2|0,3,q)|0;r=c[2692+(i*20|0)+16>>2]|0;if(r|0)Xh[c[n>>2]&3](k,r,o+6|0,p+4|0,10,q)|0;i=i+1|0}while((i|0)!=65);ti[c[t>>2]&63](x,0,0,0);LO(c[103370]|0,u,1024);i=KO(256,144)|0;c[103345]=i;_O(i);ZO(c[103345]|0,0);Af(9,0,1);$h[c[(c[103342]|0)+16>>2]&31]();C2(c[103394]|0);i=c[103304]|0;do if(i|0){fa=i+-1|0;c[103304]=fa;if(fa|0)break;i=Ah(13,0)|0;if((i|0)==1)break;Ah(13,i|0)|0}while(0);i=c[103407]|0;if(i|0)C2(i);i=c[103346]|0;if(i|0)gP(i);PO(c[103345]|0);i=c[103355]|0;if(i|0)PO(i);i=c[103369]|0;if(i|0)PO(i);i=c[103370]|0;if(i|0)PO(i);i=c[103392]|0;if(i|0)PO(i);d2(c[103343]|0);i=(c[103402]|0)+-1|0;do if(i>>>0<=15){i=c[421112+(i<<2)>>2]|0;if(!i)break;A1(i);GO();l=ha;return}while(0);vV(405570,ga);ga=0;A1(ga);GO();l=ha;return}function Lm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+8|0;j=n;h=c[103342]|0;g=c[h>>2]|0;f=c[g+1262708>>2]|0;h=(c[(Qh[c[h+24>>2]&15]()|0)+48>>2]|0)+16384|0;i=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Ei[f&15](g,h,i,0,0,30,17,0,0,-1,1);if(!(c[103355]|0)){i=KO(256,256)|0;c[103355]=i;_O(i);ZO(c[103355]|0,0);i=c[103355]|0;VO(i,a[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+29>>0]|0)}h=B2(262144)|0;if(!h){l=n;return}e=c[103342]|0;f=c[e>>2]|0;i=f+16320|0;Ak((c[(Qh[c[e+24>>2]&15]()|0)+48>>2]|0)+130968|0);e=0;g=h;while(1){d=a[f>>0]|0;b=d&15;d=(d&255)>>>4;if(!(b<<24>>24))b=0;else b=c[413220+((b&255)<<2)>>2]|0;c[g>>2]=b;if(!(d<<24>>24))b=0;else b=c[413220+((d&255)<<2)>>2]|0;c[g+4>>2]=b;f=f+1|0;b=e+2|0;d=(b|0)==240;if((f|0)==(i|0))break;else{e=d?0:b;g=d?g+72|0:g+8|0}}LO(c[103355]|0,h,1024);C2(h);d=c[103343]|0;b=c[104297]|0;do if(!b){vV(386054,j);b=0;d=0;m=16}else{if(d|0?(c[d>>2]|0)==(b+280|0):0){b=c[d+24>>2]|0;d=c[d+28>>2]|0;if((b|0)<(d|0)){m=16;break}e=(b|0)/15|0;f=2;break}vV(405282,k);b=0;d=0;m=16}while(0);if((m|0)==16){e=(b|0)/6|0;f=3;d=d<<1}i=O(e,-3)|0;m=(d+i|0)/(f|0)|0;c[103358]=e;c[103359]=0;c[103360]=m;j=e<<1;k=b-j|0;c[103361]=k;c[103362]=m+j;j=m+e|0;c[103363]=b-e;c[103364]=j;c[103365]=i+b;c[103366]=j;c[103367]=k;c[103368]=m;l=n;return}function Mm(){var d=0,e=0.0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+1168|0;J=K+112|0;I=K+104|0;F=K+96|0;C=K+88|0;E=K+80|0;B=K+72|0;D=K+64|0;A=K+56|0;o=K+48|0;n=K+40|0;u=K+32|0;t=K+24|0;r=K+16|0;i=K+8|0;g=K;v=K+136|0;s=K+120|0;a[413580]=0;e=+h[45];if(e<0.0){e=+bc();h[45]=e}h[45]=e+16.666666666666668;d=c[c[103342]>>2]|0;Nm();do if(!(a[(c[103342]|0)+4>>0]|0)){bP(c[103344]|0);$h[c[(c[103342]|0)+8>>2]&31]();LO(c[103345]|0,d+1263936|0,1024);if(!(a[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+43>>0]|0)){iP();g=c[103344]|0;i=c[103345]|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;Om(v);d=c[103343]|0;f=c[104297]|0;do if(!f){vV(386054,n);d=0}else{if(d|0?(c[d>>2]|0)==(f+280|0):0){d=c[d+24>>2]|0;break}vV(405282,o);d=0}while(0);c[s>>2]=c[998];c[s+4>>2]=c[999];c[s+8>>2]=c[1e3];c[s+12>>2]=c[1001];j=+(d|0);t=c[v+4>>2]|0;k=+(t|0);e=j*.00390625;m=k*.25;RO(i,s,g,0.0,0.0,e,m);c[s>>2]=c[1002];c[s+4>>2]=c[1003];c[s+8>>2]=c[1004];c[s+12>>2]=c[1005];u=c[v+12>>2]|0;RO(i,s,g,0.0,+(u+t|0),e,m);c[s>>2]=c[1006];c[s+4>>2]=c[1007];c[s+8>>2]=c[1008];c[s+12>>2]=c[1009];m=+(u|0)/136.0;RO(i,s,g,0.0,k,j*.125,m);c[s>>2]=c[1010];c[s+4>>2]=c[1011];c[s+8>>2]=c[1012];c[s+12>>2]=c[1013];RO(i,s,g,+(c[v>>2]|0),k,+(c[v+8>>2]|0)/240.0,m)}else{if(!(c[103346]|0)){d=jO()|0;switch(c[d+40>>2]|0){case 2:{d=(c[d+48>>2]|0)>119?94087:94101;break}case 3:{d=94115;break}default:d=436559}f=B2((r4(d)|0)+336|0)|0;do if((f|0)!=0?(x4(f,d)|0,s6(f+(r4(f)|0)|0,94177,335)|0,p=dP(0,f)|0,C2(f),(p|0)!=0):0){g=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+44>>2]|0;d=jO()|0;switch(c[d+40>>2]|0){case 2:{d=(c[d+48>>2]|0)>119?94087:94101;break}case 3:{d=94115;break}default:d=436559}f=r4(d)|0;f=B2(f+2+(r4(g)|0)|0)|0;if(f|0?(x4(f,d)|0,Y5(f,g)|0,q=dP(1,f)|0,C2(f),q|0):0){d=c[103346]|0;if(d|0)gP(d);d=eP(p,q)|0;c[103346]=d;if(!d){c[r>>2]=jP()|0;h3(v,94582,r)|0;Sb(7,367610,v|0)|0;break}else{lP(s,d,381667,384535,384548,384558);c[103347]=c[s>>2];c[103348]=c[s+4>>2];c[103349]=c[s+8>>2];c[103350]=c[s+12>>2];hP(c[103346]|0);break}}c[i>>2]=jP()|0;h3(v,94546,i)|0;Sb(7,367610,v|0)|0}else G=12;while(0);if((G|0)==12){c[g>>2]=jP()|0;h3(v,94512,g)|0;Sb(7,367610,v|0)|0}};c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;Om(v);hP(c[103346]|0);g=kP(c[103346]|0,94617)|0;j=+(c[v>>2]|0);nP(g,j);g=kP(c[103346]|0,94623)|0;k=+(c[v+4>>2]|0);nP(g,k);g=kP(c[103346]|0,94629)|0;m=+(c[v+8>>2]|0);nP(g,m);g=kP(c[103346]|0,94635)|0;e=+(c[v+12>>2]|0);nP(g,e);g=c[103343]|0;d=c[104297]|0;do if(!d){vV(386054,t);f=0;d=0}else{if(g|0?(c[g>>2]|0)==(d+280|0):0){f=c[g+28>>2]|0;d=c[g+24>>2]|0;break}vV(405282,u);f=0;d=0}while(0);nP(kP(c[103346]|0,94641)|0,+(d|0));nP(kP(c[103346]|0,94647)|0,+(f|0));RO(c[103345]|0,0,c[103344]|0,j,k,m*.00390625,e/144.0);iP()}g=c[103342]|0;d=c[g>>2]|0;f=a[d+16379>>0]|0;a:do if(f<<24>>24<0)switch(f&127){case 1:{F=(c[(Qh[c[g+24>>2]&15]()|0)+4>>2]|0)>-1;d=c[104328]|0;if(F){c[104328]=0;if(d|0?(x=c[104304]|0,x|0):0)Rh[x&511](0)|0;G=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Pm(G+(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+4>>2]<<5)|0);break a}c[104328]=1;do if((d|0)!=1){d=(c[104313]|0)==0?c[104326]|0:c[104327]|0;f=c[104304]|0;g=(f|0)==0;if((d|0)!=0&(c[104321]|0)==0){if(g)break;Rh[f&511](d)|0;break}else{if(g)break;Rh[f&511](0)|0;break}}while(0);d=c[104303]|0;if(d){g=Rh[d&511](11)|0;if(!g)G=61;else{c[g>>2]=c[104325];c[104325]=g;if((c[104326]|0)!=(g|0)){d=g;while(1){f=(d|0)!=0;if((d|0)==(g|0)|f^1)break;d=c[d>>2]|0}if(!f){vV(406049,D);break a}}c[104327]=g}}else{vV(406094,A);G=61}do if((G|0)==61)if(!(c[104313]|0)){g=c[104326]|0;break}else{g=c[104327]|0;break}while(0);d=c[104304]|0;f=(d|0)==0;if((g|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(f)break a;Rh[d&511](g)|0;break a}else{if(f)break a;Rh[d&511](0)|0;break a}}case 2:{F=(c[(Qh[c[g+24>>2]&15]()|0)+8>>2]|0)>-1;d=c[104328]|0;if(F){c[104328]=0;if(d|0?(y=c[104304]|0,y|0):0)Rh[y&511](0)|0;G=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Pm(G+(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+8>>2]<<5)|0);break a}c[104328]=1;do if((d|0)!=1){d=(c[104313]|0)==0?c[104326]|0:c[104327]|0;f=c[104304]|0;g=(f|0)==0;if((d|0)!=0&(c[104321]|0)==0){if(g)break;Rh[f&511](d)|0;break}else{if(g)break;Rh[f&511](0)|0;break}}while(0);d=c[104303]|0;if(d){g=Rh[d&511](1)|0;if(!g)G=89;else{c[g>>2]=c[104325];c[104325]=g;if((c[104326]|0)!=(g|0)){d=g;while(1){f=(d|0)!=0;if((d|0)==(g|0)|f^1)break;d=c[d>>2]|0}if(!f){vV(406049,E);break a}}c[104327]=g}}else{vV(406094,B);G=89}do if((G|0)==89)if(!(c[104313]|0)){g=c[104326]|0;break}else{g=c[104327]|0;break}while(0);d=c[104304]|0;f=(d|0)==0;if((g|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(f)break a;Rh[d&511](g)|0;break a}else{if(f)break a;Rh[d&511](0)|0;break a}}default:{E=(c[(Qh[c[g+24>>2]&15]()|0)>>2]|0)>-1;d=c[104328]|0;if(E){c[104328]=0;if(d|0?(z=c[104304]|0,z|0):0)Rh[z&511](0)|0;G=c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+48>>2]|0;Pm(G+(c[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)>>2]<<5)|0);break a}c[104328]=1;do if((d|0)!=1){d=(c[104313]|0)==0?c[104326]|0:c[104327]|0;f=c[104304]|0;g=(f|0)==0;if((d|0)!=0&(c[104321]|0)==0){if(g)break;Rh[f&511](d)|0;break}else{if(g)break;Rh[f&511](0)|0;break}}while(0);d=c[104303]|0;if(d){g=Rh[d&511](0)|0;if(!g)G=117;else{c[g>>2]=c[104325];c[104325]=g;if((c[104326]|0)!=(g|0)){d=g;while(1){f=(d|0)!=0;if((d|0)==(g|0)|f^1)break;d=c[d>>2]|0}if(!f){vV(406049,F);break a}}c[104327]=g}}else{vV(406094,C);G=117}do if((G|0)==117)if(!(c[104313]|0)){g=c[104326]|0;break}else{g=c[104327]|0;break}while(0);d=c[104304]|0;f=(d|0)==0;if((g|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(f)break a;Rh[d&511](g)|0;break a}else{if(f)break a;Rh[d&511](0)|0;break a}}}else{G=c[104328]|0;c[104328]=0;if((G|0)!=0?(w=c[104304]|0,(w|0)!=0):0){Rh[w&511](0)|0;d=c[c[103342]>>2]|0;f=a[d+16379>>0]|0}Pm(d+24576+((f&127)<<5)|0)}while(0);cP(c[103344]|0);g=c[c[103342]>>2]|0;d=(c[103402]|0)+-1|0;if(d>>>0<=15?(H=c[421112+(d<<2)>>2]|0,(H|0)!=0):0){fi[c[421008>>2]&511](H);c[H+140>>2]=0;fi[c[421012>>2]&511](H)}else vV(405570,I);f=c[g+1263932>>2]|0;d=c[g+1263928>>2]|0;if(!(c[103403]|0)){h2(c[103402]|0,d,f);break}s6(c[103407]|0,d|0,f|0)|0;if(c[103407]|0){c[103409]=c[103408];d=c[103413]|0;if(d|0){c[103423]=0;li[d&511](413612,b[206808]|0)}}else vV(401908,J);h2(c[103402]|0,c[103407]|0,c[103409]|0)}else Wb();while(0);e=+h[45];e=e-+bc();if(e<0.0){h[45]=+h[45]-e;a[413580]=1;l=K;return}else{Bf(0,~~e|0)|0;l=K;return}}function Nm(){var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+192|0;V=X+168|0;U=X+160|0;T=X+152|0;S=X+144|0;R=X+136|0;Q=X+128|0;J=X+120|0;I=X+112|0;H=X+104|0;N=X+96|0;M=X+88|0;L=X+80|0;K=X+72|0;G=X+64|0;F=X+56|0;P=X+176|0;u=X;C=c[c[103342]>>2]|0;B=C+65414|0;b[B>>1]=0;C=C+65420|0;a[C>>0]=0;a:do if(s2(u)|0){D=u+16|0;E=u+20|0;v=u+8|0;w=u+12|0;x=D+4|0;y=u+12|0;t=0;f=0;while(1){b:do switch(c[u>>2]|0){case 1027:{b[B>>1]=(c[E>>2]&65535)<<9&32256|((c[D>>2]&65535)<<3&504|b[B>>1]&-32761);g=t;break}case 1541:{r=c[v>>2]|0;if(r>>>0<4){s=413404+(r<<2)|0;g=c[s>>2]|0;if(g|0)g2(g);g=c[105273]|0;c:do if((g|0)>(r|0)){g=c[105296]|0;d:do if(g|0){j=c[105272]|0;k=(r|0)>0;while(1){if(k){i=r;h=j;while(1){h=c[h+1320>>2]|0;if((i|0)>1)i=i+-1|0;else break}}else h=j;if((c[h+12>>2]|0)==(c[g>>2]|0))break;g=c[g+60>>2]|0;if(!g)break d}r=g+48|0;c[r>>2]=(c[r>>2]|0)+1;break c}while(0);g=B2(64)|0;if(!g){vV(392416,G);g=0;break}h=g;i=h+64|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));k=c[105272]|0;j=(r|0)>0;if(j){i=r;h=k;while(1){h=c[h+1320>>2]|0;if((i|0)>1)i=i+-1|0;else break}}else h=k;do if(!h)vV(406229,K);else{i=h+16|0;if(c[i>>2]|0){vV(406244,L);break}c[g>>2]=c[h+12>>2];c[g+44>>2]=h;c[i>>2]=g;o=g+20|0;c[o>>2]=0;p=g+28|0;c[p>>2]=0;q=g+36|0;c[q>>2]=c[h+20>>2];m=c[h+24>>2]|0;n=g+8|0;c[n>>2]=m;if(j){i=r;h=k;while(1){h=c[h+1320>>2]|0;if((i|0)>1)i=i+-1|0;else break}}else h=k;h=c[h+4>>2]|0;if(!h){i=0;h=m}else{i=P4(h)|0;h=c[n>>2]|0}c[g+4>>2]=i;if((h|0)>0){c[g+12>>2]=B2(h<<1)|0;c[g+16>>2]=B2(c[n>>2]<<1)|0}h=c[o>>2]|0;if((h|0)>0)c[g+24>>2]=B2(h)|0;h=c[p>>2]|0;if((h|0)>0)c[g+32>>2]=B2(h<<3)|0;h=c[q>>2]|0;if((h|0)>0)c[g+40>>2]=B2(h)|0;h=c[n>>2]|0;if(!((h|0)>0?!(c[g+12>>2]|0):0))W=41;do if((W|0)==41){W=0;if((c[o>>2]|0)>0?(c[g+24>>2]|0)==0:0)break;if((c[p>>2]|0)>0?(c[g+32>>2]|0)==0:0)break;if((c[q>>2]|0)>0?(c[g+40>>2]|0)==0:0)break;i=c[g+12>>2]|0;if(i|0){u6(i|0,0,h<<1|0)|0;u6(c[g+16>>2]|0,0,c[n>>2]<<1|0)|0}h=c[g+24>>2]|0;if(h|0)u6(h|0,0,c[o>>2]|0)|0;h=c[g+32>>2]|0;if(h|0)u6(h|0,0,c[p>>2]<<3|0)|0;h=c[g+40>>2]|0;if(h|0)u6(h|0,0,c[q>>2]|0)|0;c[g+56>>2]=-1;r=g+48|0;c[r>>2]=(c[r>>2]|0)+1;c[g+60>>2]=c[105296];c[105296]=g;q2(g);break c}while(0);vV(392416,M);g2(g);g=0;break c}while(0);C2(g);g=0}else{c[F>>2]=g;vV(403631,F);g=0}while(0);c[s>>2]=g;g=t}else g=t;break}case 1542:{g=c[v>>2]|0;if(g>>>0<4?(z=413404+(g<<2)|0,A=c[z>>2]|0,(A|0)!=0):0){g2(A);c[z>>2]=0;g=t}else g=t;break}case 512:{switch(a[w>>0]|0){case 5:break;case 12:{$h[c[(c[103342]|0)+20>>2]&31]();g=t;break b}default:{g=t;break b}}i=c[103343]|0;g=c[104297]|0;do if(!g){vV(386054,N);h=0;g=0}else{if(i|0?(c[i>>2]|0)==(g+280|0):0){h=c[i+28>>2]|0;g=c[i+24>>2]|0;break}vV(405282,H);h=0;g=0}while(0);BO(g&65535,h&65535);h=c[103343]|0;g=c[104297]|0;do if(!g){vV(386054,I);g=t}else{if(h|0?(c[h>>2]|0)==(g+280|0):0){g=c[h+24>>2]|0;f=c[h+28>>2]|0;break}vV(405282,J);g=t}while(0);if((g|0)<(f|0)){h=(g|0)/6|0;i=3;j=f<<1}else{h=(g|0)/15|0;i=2;j=f}q=O(h,-3)|0;t=(j+q|0)/(i|0)|0;c[103358]=h;c[103359]=0;c[103360]=t;r=h<<1;s=g-r|0;c[103361]=s;c[103362]=t+r;r=t+h|0;c[103363]=g-h;c[103364]=r;c[103365]=q+g;c[103366]=r;c[103367]=s;c[103368]=t;break}case 768:{g=c[x>>2]|0;h=0;while(1){i=h+1|0;if((c[4056+(h<<2)>>2]|0)==(g|0)){W=82;break}if(i>>>0<79)h=i;else break}if((W|0)==82){W=0;a[413484+h>>0]=1}if((g|0)==1073742094){a[413550]=1;g=t}else g=t;break}case 769:{g=c[x>>2]|0;h=0;while(1){i=h+1|0;if((c[4056+(h<<2)>>2]|0)==(g|0)){W=88;break}if(i>>>0<79)h=i;else break}if((W|0)==88){W=0;a[413484+h>>0]=0}if((g|0)==1073742094){a[413550]=0;g=t}else g=t;break}case 771:{if((r4(y)|0)==1){a[C>>0]=a[y>>0]|0;g=t}else g=t;break}case 256:{$h[c[(c[103342]|0)+12>>2]&31]();g=t;break}default:g=t}while(0);if(!(s2(u)|0))break a;else t=g}}while(0);f=c[104314]|0;i=c[104315]|0;j=c[104320]|0;k=c[c[103342]>>2]|0;m=k+65413|0;a[m>>0]=0;n=k+65412|0;a[n>>0]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;Om(P);N=(a[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+43>>0]|0)!=0;g=c[P+8>>2]|0;h=(g|0)!=0;if(N&(c[103346]|0)!=0){if(h)f=((f-(c[P>>2]|0)<<8|0)/(g|0)|0)+-8|0;else f=-1;g=c[P+12>>2]|0;if(!g)g=-1;else g=(((i-(c[P+4>>2]|0)|0)*144|0)/(g|0)|0)+-4|0}else{if(h)f=((f-(c[P>>2]|0)|0)*240|0)/(g|0)|0;else f=-1;g=c[P+12>>2]|0;if(!g)g=-1;else g=((i-(c[P+4>>2]|0)|0)*136|0)/(g|0)|0}a[n>>0]=f>>>0<255?f:255;a[m>>0]=g>>>0<255?g:255;f=k+65414|0;b[f>>1]=b[f>>1]&-8|j&7;f=c[c[103342]>>2]|0;P=e[209190]|0;a[413548]=(P&3|0)!=0&1;a[413547]=(P&3264|0)!=0&1;a[413549]=P>>>8&1;a[413546]=P>>>13&1;if(P&512|0)a[413547]=0;h=f+65416|0;c[h>>2]=0;g=0;f=0;do{if(a[413484+g>>0]|0){a[h+f>>0]=g;f=f+1|0}g=g+1|0}while(g>>>0<79&(f|0)<4);c[103357]=0;p=0;f=0;do{o=c[413404+(p<<2)>>2]|0;e:do if((o|0)!=0?(c[o+44>>2]|0)!=0:0){switch(f|0){case 0:{g=413428;break}case 1:{g=413429;W=115;break}case 2:{g=413430;W=115;break}case 3:{g=413431;W=115;break}default:break e}if((W|0)==115){W=0;if(!g)break}k=o+8|0;m=c[k>>2]|0;if((m|0)>0){n=o+12|0;j=0;h=0;do{i=c[k>>2]|0;f:do if((i|0)>(j|0)){i=b[(c[n>>2]|0)+(j<<1)>>1]|0;if(i<<16>>16)switch(j|0){case 0:if(i<<16>>16>16384){h=h|2;break f}else{h=i<<16>>16<-16384?h|8:h;break f}case 1:if(i<<16>>16>16384){h=h|4;break f}else{h=i<<16>>16<-16384|h;break f}default:break f}}else{c[Q>>2]=i;vV(406297,Q)}while(0);j=j+1|0}while((j|0)!=(m|0))}else h=0;k=h>>>1;h=(k&2|h&1|k&4|h<<2&8|d[g>>0])&255;a[g>>0]=h;k=o+20|0;i=c[k>>2]|0;if((i|0)>0){m=o+24|0;j=0;do{if((i|0)>(j|0))i=a[(c[m>>2]|0)+j>>0]|0;else{c[R>>2]=i;vV(406323,R);i=0;h=a[g>>0]|0}i=i&255;P=i>>>1;h=(h&255|i&1|P&2|P&4|i<<2&8)&255;a[g>>0]=h;j=j+1|0;i=c[k>>2]|0}while((j|0)<(i|0))}k=o+36|0;m=c[k>>2]|0;if((m|0)>1){j=((a[c[o+40>>2]>>0]|0)!=0&1)<<4&255|h&-17;a[g>>0]=j;h=c[k>>2]|0;if((h|0)>1){i=a[(c[o+40>>2]|0)+1>>0]|0;h=j}else{c[S>>2]=h;vV(406268,S);i=0;h=a[g>>0]|0}j=(i<<24>>24!=0&1)<<5&255|h&-33;a[g>>0]=j;if((m|0)>3){h=c[k>>2]|0;if((h|0)>2){i=a[(c[o+40>>2]|0)+2>>0]|0;h=j}else{c[T>>2]=h;vV(406268,T);i=0;h=a[g>>0]|0}j=(i<<24>>24!=0&1)<<6&255|h&-65;a[g>>0]=j;h=c[k>>2]|0;if((h|0)>3){i=a[(c[o+40>>2]|0)+3>>0]|0;h=j}else{c[U>>2]=h;vV(406268,U);i=0;h=a[g>>0]|0}a[g>>0]=(i<<24>>24!=0&1)<<7&255|h&127;if((m|0)>5){h=o+40|0;g=5;do{i=c[k>>2]|0;if((i|0)>(g|0)){if(a[(c[h>>2]|0)+g>>0]|0)a[(c[c[103342]>>2]|0)+65416>>0]=66}else{c[V>>2]=i;vV(406268,V)}g=g+1|0}while((g|0)!=(m|0))}}}f=f+1|0}while(0);p=p+1|0}while((p|0)!=4);c[(c[c[103342]>>2]|0)+65408>>2]=c[103357]|c[103356];l=X;return}function Om(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+8|0;d=c[103343]|0;h=b+8|0;i=b+12|0;e=c[104297]|0;do if(!e)vV(386054,j);else{if(d|0?(c[d>>2]|0)==(e+280|0):0){c[h>>2]=c[d+24>>2];c[i>>2]=c[d+28>>2];break}vV(405282,f)}while(0);f=(a[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+43>>0]|0)!=0;g=c[h>>2]|0;d=c[i>>2]|0;if(f&(c[103346]|0)!=0){e=g*144|0;d=d<<8;if((e|0)<(d|0)){c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=(e|0)/256|0;l=j;return}else{i=(d|0)/144|0;c[b>>2]=(g-i|0)/2|0;c[b+4>>2]=0;c[h>>2]=i;l=j;return}}if((g*136|0)>=(d*240|0)){k=(d|0)%136|0;f=d-k|0;e=(f*240|0)/136|0;c[b>>2]=(g-e|0)/2|0;c[b+4>>2]=(k|0)/2|0;c[h>>2]=e;c[i>>2]=f;l=j;return}k=(g|0)%240|0;e=g-k|0;f=(e*136|0)/240|0;c[b>>2]=(k|0)/2|0;if((g|0)>(d|0))d=(d-f|0)/2|0;else d=(e|0)/60|0;c[b+4>>2]=d;c[h>>2]=e;c[i>>2]=f;l=j;return}function Pm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0.0;k=l;l=l+32|0;j=k+8|0;i=k;h=k+16|0;if(!(c[103392]|0)){g=KO(8,8)|0;c[103392]=g;_O(g);ZO(c[103392]|0,0)}if((c[103393]|0)!=(b|0)){c[103393]=b;Ak((c[c[103342]>>2]|0)+16320|0);f=0;g=413696;while(1){e=a[b+f>>0]|0;d=e&15;e=(e&255)>>>4;if(!(d<<24>>24))d=0;else d=c[413220+((d&255)<<2)>>2]|0;c[g>>2]=d;if(!(e<<24>>24))d=0;else d=c[413220+((e&255)<<2)>>2]|0;c[g+4>>2]=d;f=f+1|0;if((f|0)==32)break;else g=g+8|0}LO(c[103392]|0,413696,32)};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;Om(h);b=(c[h+8>>2]|0)/240|0;e=c[104314]|0;d=c[104315]|0;if(a[(Qh[c[(c[103342]|0)+24>>2]&15]()|0)+12>>0]|0){d=d-((d-(c[h+4>>2]|0)|0)%(b|0)|0)|0;e=e-((e-(c[h>>2]|0)|0)%(b|0)|0)|0}f=c[103343]|0;g=c[104297]|0;if(!g){vV(386054,i);l=k;return}if(f|0?(c[f>>2]|0)==(g+280|0):0){if(!(c[f+48>>2]&1024)){l=k;return}m=+(b|0);RO(c[103392]|0,0,c[103344]|0,+(e|0),+(d|0),m,m);l=k;return}vV(405282,j);l=k;return}function Qm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[104297]|0;if(!d){vV(406432,e);l=e;return}a=(a|0)==0?436559:a;b=c[d+240>>2]|0;if(!b){d=d+288|0;C2(c[d>>2]|0);c[d>>2]=P4(a)|0;l=e;return}else{Sh[b&255](d,a)|0;l=e;return}}function Rm(){var b=0,d=0,e=0;e=l;l=l+16|0;b=c[104297]|0;do if(!b){vV(406548,e);b=0}else{d=c[b+248>>2]|0;if(d|0){b=(Rh[d&511](b)|0)!=0;break}d=c[b+288>>2]|0;if(d|0?a[d>>0]|0:0){b=1;break}b=0}while(0);l=e;return b|0}function Sm(){var a=0,b=0,d=0;d=l;l=l+16|0;a=c[104297]|0;if(!a){vV(406490,d);b=P4(436559)|0;l=d;return b|0}b=c[a+244>>2]|0;if(!b){b=c[a+288>>2]|0;b=P4(b|0?b:436559)|0;l=d;return b|0}else{b=Rh[b&511](a)|0;l=d;return b|0}return 0}function Tm(a){a=a|0;C2(a);return}function Um(){var a=0,b=0,d=0,e=0;d=l;l=l+16|0;a=d;do if(!(c[104588]|0)){c[104588]=1;if(!(ub(4,418356)|0)){c[104591]=1;break}else{Pf(418368,0)|0;b=5;break}}else b=5;while(0);if((b|0)==5?(c[104591]|0)==0:0){Pf(a|0,0)|0;e=c[a>>2]|0;e=h6(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;b=c[a+4>>2]|0;b=b6(e|0,z|0,b|0,((b|0)<0)<<31>>31|0)|0;a=z;z=a;l=d;return b|0}ub(4,a|0)|0;b=c[a>>2]|0;b=h6(b|0,((b|0)<0)<<31>>31|0,1e9,0)|0;e=c[a+4>>2]|0;e=b6(b|0,z|0,e|0,((e|0)<0)<<31>>31|0)|0;b=z;z=b;l=d;return e|0}function Vm(){var a=0;do if(!(c[104588]|0)){c[104588]=1;if(!(ub(4,418356)|0)){c[104591]=1;break}else{Pf(418368,0)|0;break}}while(0);a=(c[104591]|0)==0;z=a?0:0;return (a?1e6:1e9)|0}function Wm(a,b){a=a|0;b=b|0;a=B2(0)|0;c[b>>2]=0;return a|0}function Xm(){xO((yO()|0)^1);return}function Ym(a,b){a=a|0;b=b|0;Sb(7,a|0,b|0)|0;return}function Zm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;e=c[103343]|0;b=c[104297]|0;if(!b){vV(386054,f);l=f;return}if(e|0?(c[e>>2]|0)==(b+280|0):0){b=e+8|0;d=c[b>>2]|0;if((d|0)==(a|0)){l=f;return}C2(d);c[b>>2]=P4(a|0?a:436559)|0;b=c[104297]|0;d=c[b+40>>2]|0;if(!d){l=f;return}li[d&511](b,e);l=f;return}vV(405282,d);l=f;return}function _m(a){a=a|0;return}function $m(){F5(Dh(0)|0);G5()|0;return}function an(){if(!(c[103344]|0))return;Lm();return}function bn(b,c,d,e,f,g,h,i,j){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;g=l;l=l+16|0;j=g;a[j>>0]=h;cn(b,b+24576+((c&255)<<5)|0,d,e,j,1,i,0,0);j=O(i,f)|0;l=g;return j|0}function cn(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=0;do{y=d[(m>>>1)+(b+16368)>>0]|0;a[434105+m>>0]=m&1|0?y>>>4:y&15;m=m+1|0}while((m|0)!=16);if((i|0)>0){m=0;do{a[434105+(d[h+m>>0]|0)>>0]=-1;m=m+1|0}while((m|0)!=(i|0))}h=l&1;m=k&3;switch(l&3){case 1:{m=m^1;break}case 2:{m=m^3;break}case 3:{m=m^2;break}default:{}}m=(h|2|0)==3?m|4:m;if((j|0)!=1){x=(m&1|0)!=0;y=(m&2|0)!=0;r=(m&4|0)==0;s=b+1412060|0;t=b+1412068|0;u=b+1412056|0;v=b+1412064|0;w=b+1412372|0;q=(j|0)<1;p=0;do{o=y?7-p|0:p;n=g;g=g+j|0;l=0;m=f;do{k=x?7-l|0:l;k=((r?o:k)<<3)+(r?k:o)|0;h=d[e+(k>>>1)>>0]|0;h=k&1|0?h>>>4:h&15;if(!((a[434105+h>>0]|0)==-1|q)){i=(h>>>1)+(b+16368)|0;k=m+j|0;if(!(h&1)){h=n;do{if((c[s>>2]|0)<=(h|0)?(c[t>>2]|0)>(h|0):0){A=c[u>>2]|0;z=c[v>>2]|0;zi[c[w>>2]&31](b,(A|0)<(m|0)?m:A,(k|0)<(z|0)?k:z,h,a[i>>0]&15)}h=h+1|0}while((h|0)<(g|0));m=k}else{h=n;do{if((c[s>>2]|0)<=(h|0)?(c[t>>2]|0)>(h|0):0){z=c[u>>2]|0;A=c[v>>2]|0;zi[c[w>>2]&31](b,(z|0)<(m|0)?m:z,(k|0)<(A|0)?k:A,h,(d[i>>0]|0)>>>4)}h=h+1|0}while((h|0)<(g|0));m=k}}else m=m+j|0;l=l+1|0}while((l|0)!=8);p=p+1|0}while((p|0)!=8);return}p=(c[b+1412056>>2]|0)-f|0;p=(p|0)>0?p:0;l=(c[b+1412060>>2]|0)-g|0;l=(l|0)>0?l:0;q=(c[b+1412064>>2]|0)-f|0;q=(q|0)<8?q:8;r=(c[b+1412068>>2]|0)-g|0;r=(r|0)<8?r:8;i=l+g|0;o=p+f|0;switch(m|0){case 4:{if((l|0)>=(r|0))return;g=b+1412364|0;if((p|0)>=(q|0))return;while(1){m=p;h=o;while(1){A=(m<<3)+l|0;k=d[e+(A>>>1)>>0]|0;k=a[434105+(A&1|0?k>>>4:k&15)>>0]|0;if(k<<24>>24!=-1)ti[c[g>>2]&63](b,h,i,k);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 6:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){k=7-l|0;m=p;h=o;while(1){A=(m<<3)+k|0;g=d[e+(A>>>1)>>0]|0;g=a[434105+(A&1|0?g>>>4:g&15)>>0]|0;if(g<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,g);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 5:{if((l|0)>=(r|0))return;g=b+1412364|0;if((p|0)>=(q|0))return;while(1){m=p;h=o;while(1){A=(7-m<<3)+l|0;k=d[e+(A>>>1)>>0]|0;k=a[434105+(A&1|0?k>>>4:k&15)>>0]|0;if(k<<24>>24!=-1)ti[c[g>>2]&63](b,h,i,k);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 7:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){k=7-l|0;m=p;h=o;while(1){A=(7-m<<3)+k|0;g=d[e+(A>>>1)>>0]|0;g=a[434105+(A&1|0?g>>>4:g&15)>>0]|0;if(g<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,g);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 0:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){k=l<<3;m=p;h=o;while(1){A=m+k|0;g=d[e+(A>>>1)>>0]|0;g=a[434105+(A&1|0?g>>>4:g&15)>>0]|0;if(g<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,g);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 2:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){k=7-l<<3;m=p;h=o;while(1){A=m+k|0;g=d[e+(A>>>1)>>0]|0;g=a[434105+(A&1|0?g>>>4:g&15)>>0]|0;if(g<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,g);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 1:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){g=l<<3;m=p;h=o;while(1){A=7-m+g|0;k=d[e+(A>>>1)>>0]|0;k=a[434105+(A&1|0?k>>>4:k&15)>>0]|0;if(k<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,k);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}case 3:{if((l|0)>=(r|0))return;n=b+1412364|0;if((p|0)>=(q|0))return;while(1){k=7-l<<3;m=p;h=o;while(1){A=7-m+k|0;g=d[e+(A>>>1)>>0]|0;g=a[434105+(A&1|0?g>>>4:g&15)>>0]|0;if(g<<24>>24!=-1)ti[c[n>>2]&63](b,h,i,g);m=m+1|0;if((m|0)>=(q|0))break;else h=h+1|0}l=l+1|0;if((l|0)>=(r|0))break;else i=i+1|0}return}default:Sa(95813,95857,325,95867)}}function dn(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=e&255;i=0;while(1){z=d[(i>>>1)+(b+24576+(A<<5))>>0]|0;if(((i&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+8|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+16|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+24|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+32|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+40|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+48|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}y=i+56|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24){l=7;e=8;m=4;break}i=i+1|0;if((i|0)>=8){e=8;break}}a:do if((m|0)==4)while(1){z=d[(l>>>1)+(b+24576+(A<<5))>>0]|0;if(((l&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+8|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+16|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+24|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+32|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+40|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+48|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;y=l+56|0;z=d[(y>>>1)+(b+24576+(A<<5))>>0]|0;if(((y&1|0?z>>>4:z&15)&255)<<24>>24!=j<<24>>24)break a;e=e+-1|0;if((l|0)>(i|0)){l=l+-1|0;m=4}else break}while(0);t=(e|0)>(i|0);u=(k|0)>0;v=b+1412060|0;w=b+1412068|0;x=b+1412056|0;y=b+1412064|0;z=b+1412372|0;l=g;s=0;do{if(t){q=s<<3;r=l+k|0;if(u){m=f;p=i;do{o=p+q|0;g=d[(o>>>1)+(b+24576+(A<<5))>>0]|0;g=o&1|0?g>>>4:g&15;if((g&255)<<24>>24!=j<<24>>24){n=(g>>>1)+(b+16368)|0;o=m+k|0;if(!(g&1)){g=l;do{if((c[v>>2]|0)<=(g|0)?(c[w>>2]|0)>(g|0):0){C=c[x>>2]|0;B=c[y>>2]|0;zi[c[z>>2]&31](b,(C|0)<(m|0)?m:C,(o|0)<(B|0)?o:B,g,a[n>>0]&15)}g=g+1|0}while((g|0)<(r|0));m=o}else{g=l;do{if((c[v>>2]|0)<=(g|0)?(c[w>>2]|0)>(g|0):0){B=c[x>>2]|0;C=c[y>>2]|0;zi[c[z>>2]&31](b,(B|0)<(m|0)?m:B,(o|0)<(C|0)?o:C,g,(d[n>>0]|0)>>>4)}g=g+1|0}while((g|0)<(r|0));m=o}}else m=m+k|0;p=p+1|0}while((p|0)!=(e|0));l=r}else l=r}else l=l+k|0;s=s+1|0}while((s|0)!=8);C=e-i|0;return O(C|0?C+1|0:h,k)|0}function en(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0,h=0,i=0,j=0,k=0.0;g=B2(1495104)|0;u6(g|0,0,1495104)|0;c[g+1411588>>2]=g+65508;c[g+1411592>>2]=g+69988;c[g+1262660>>2]=1;c[g+1262664>>2]=2;c[g+1262668>>2]=3;c[g+1262672>>2]=1;c[g+1262676>>2]=183;c[g+1262680>>2]=7;c[g+1262684>>2]=10;c[g+1262688>>2]=2;c[g+1262692>>2]=3;c[g+1262696>>2]=4;c[g+1262700>>2]=1;c[g+1262704>>2]=1;c[g+1262708>>2]=1;c[g+1262712>>2]=1;c[g+1262716>>2]=3;c[g+1262720>>2]=2;c[g+1262724>>2]=4;c[g+1262728>>2]=5;c[g+1262732>>2]=1;c[g+1262736>>2]=1;c[g+1262740>>2]=6;c[g+1262744>>2]=5;c[g+1262748>>2]=184;c[g+1262752>>2]=2;c[g+1262756>>2]=16;c[g+1262760>>2]=7;c[g+1262764>>2]=8;c[g+1262768>>2]=1;c[g+1262772>>2]=185;c[g+1262776>>2]=17;c[g+1262780>>2]=186;h=g+1262784|0;c[h>>2]=213;c[g+1262788>>2]=214;c[g+1262792>>2]=215;c[g+1262796>>2]=8;c[g+1262800>>2]=3;c[g+1262804>>2]=15;c[g+1262808>>2]=4;c[g+1262812>>2]=9;c[g+1262816>>2]=16;c[g+1262820>>2]=18;c[g+1262824>>2]=216;c[g+1262828>>2]=10;c[g+1262832>>2]=391;c[g+1411584>>2]=a;b=((a|0)/60|0)<<1;c[g+1263932>>2]=b;c[g+1263928>>2]=B2(b)|0;b=(a|0)/10|0;if((a|0)<=-10)Sa(96067,96077,115,96107);d=b<<2;i=B2(d+104|0)|0;if(i|0){j=i;c[j>>2]=0;c[j+4>>2]=1;c[i+20>>2]=b;b=i+8|0;c[b>>2]=-2147483648;c[b+4>>2]=0;c[i+16>>2]=0;c[i+24>>2]=0;u6(i+32|0,0,d+72|0)|0}c[g+1411580>>2]=i;e=+(a|0)*4503599627370496.0/18.0e5;a=~~e>>>0;b=+B(e)>=1.0?(e>0.0?~~+P(+A(e/4294967296.0),4294967295.0)>>>0:~~+N((e-+(~~e>>>0))/4294967296.0)>>>0):0;j=i;c[j>>2]=a;c[j+4>>2]=b;f=+(a>>>0)+4294967296.0*+(b>>>0);k=e-f;if(!(k>=0.0&k<1.0))Sa(96116,96077,144,96166);if(!(f<e)){j=c[h>>2]|0;fi[j&511](g);return g|0}d=b6(a|0,b|0,1,0)|0;j=i;c[j>>2]=d;c[j+4>>2]=z;j=c[h>>2]|0;fi[j&511](g);return g|0}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ko(a,b,c,d,f?4:6,6,e,1,f)|0}function gn(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=g?4:6;j=d;a:while(1){i=d;b:while(1){h=c+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 0:break a;case 10:break b;default:{}}i=(lo(b,c,i,e,k,6,f,1,g)|0)+i|0;c=h}j=(i|0)>(j|0)?i:j;c=h;e=e+6|0}return ((i|0)>(j|0)?i:j)-d|0}function hn(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=g?4:6;j=d;a:while(1){i=d;b:while(1){h=c+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 0:break a;case 10:break b;default:{}}i=(ko(b,c,i,e,k,6,f,1,g)|0)+i|0;c=h}j=(i|0)>(j|0)?i:j;c=h;e=e+6|0}return ((i|0)>(j|0)?i:j)-d|0}function jn(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i?4:6;n=g?2:1;m=h*6|0;l=d;a:while(1){k=d;b:while(1){j=c+1|0;g=a[c>>0]|0;switch(g<<24>>24){case 0:break a;case 10:break b;default:{}}k=(_h[n&7](b,g,k,e,o,6,f,h,i)|0)+k|0;c=j}l=(k|0)>(l|0)?k:l;c=j;e=e+m|0}return ((k|0)>(l|0)?k:l)-d|0}function kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b+1412056|0;if(!(f3(m,2220,16)|0)){u6(b|0,e&15|e<<4&255|0,16320)|0;return}n=c[m>>2]|0;o=b+1412060|0;f=c[o>>2]|0;i=b+1412064|0;j=c[i>>2]|0;k=b+1412068|0;l=c[k>>2]|0;if((l|0)<=(f|0))return;e=e&15;g=(e>>>1)+(b+16368)|0;h=b+1412372|0;if(!(e&1)){e=f;while(1){if((f|0)<=(e|0)?(c[k>>2]|0)>(e|0):0){p=c[m>>2]|0;f=c[i>>2]|0;zi[c[h>>2]&31](b,(p|0)<(n|0)?n:p,(j|0)<(f|0)?j:f,e,a[g>>0]&15)}e=e+1|0;if((e|0)==(l|0))break;f=c[o>>2]|0}return}else{e=f;while(1){if((f|0)<=(e|0)?(c[k>>2]|0)>(e|0):0){f=c[m>>2]|0;p=c[i>>2]|0;zi[c[h>>2]&31](b,(f|0)<(n|0)?n:f,(j|0)<(p|0)?j:p,e,(d[g>>0]|0)>>>4)}e=e+1|0;if((e|0)==(l|0))break;f=c[o>>2]|0}return}}function ln(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;if((c[a+1412056>>2]|0)>(b|0))return;if((c[a+1412060>>2]|0)>(e|0))return;if((c[a+1412064>>2]|0)<=(b|0))return;if((c[a+1412068>>2]|0)<=(e|0))return;g=f&15;f=d[(g>>>1)+(a+16368)>>0]|0;ti[c[a+1412364>>2]&63](a,b,e,(g&1|0?f>>>4:f&15)&255);return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)>135|((b|0)>239|(d|b|0)<0)){d=0;return d|0}d=Th[c[a+1412368>>2]&63](a,b,d)|0;return d|0}function nn(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=g-e|0;u=(u|0)>-1?u:0-u|0;v=(g|0)>(e|0)?1:-1;l=h-f|0;l=(l|0)>-1?l:0-l|0;m=(h|0)>(f|0)?1:-1;n=b+1412056|0;if((((c[n>>2]|0)<=(e|0)?(c[b+1412060>>2]|0)<=(f|0):0)?(c[b+1412064>>2]|0)>(e|0):0)?(c[b+1412068>>2]|0)>(f|0):0){s=i&15;t=d[(s>>>1)+(b+16368)>>0]|0;ti[c[b+1412364>>2]&63](b,e,f,(s&1|0?t>>>4:t&15)&255)}if((g|0)==(e|0)&(h|0)==(f|0))return;o=0-l|0;j=(((u|0)>(l|0)?u:o)|0)/2|0;p=0-u|0;q=b+1412060|0;r=b+1412064|0;s=b+1412068|0;t=b+1412364|0;i=i&15;k=(i>>>1)+(b+16368)|0;if(!(i&1)){i=f;do{w=(j|0)>(p|0);e=(w?v:0)+e|0;f=(j|0)<(l|0);i=(f?m:0)+i|0;j=(w?o:0)+j+(f?u:0)|0;if((((c[n>>2]|0)<=(e|0)?(c[q>>2]|0)<=(i|0):0)?(c[r>>2]|0)>(e|0):0)?(c[s>>2]|0)>(i|0):0)ti[c[t>>2]&63](b,e,i,a[k>>0]&15)}while(!((i|0)==(h|0)&(e|0)==(g|0)));return}else{i=f;do{f=(j|0)>(p|0);e=(f?v:0)+e|0;w=(j|0)<(l|0);i=(w?m:0)+i|0;j=(f?o:0)+j+(w?u:0)|0;if((((c[n>>2]|0)<=(e|0)?(c[q>>2]|0)<=(i|0):0)?(c[r>>2]|0)>(e|0):0)?(c[s>>2]|0)>(i|0):0)ti[c[t>>2]&63](b,e,i,(d[k>>0]|0)>>>4)}while(!((i|0)==(h|0)&(e|0)==(g|0)));return}}function on(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h+f|0;if((h|0)<=0)return;m=b+1412060|0;n=b+1412068|0;h=i&15;k=(h>>>1)+(b+16368)|0;l=b+1412056|0;i=g+e|0;g=b+1412064|0;j=b+1412372|0;if(!(h&1)){h=f;do{if((c[m>>2]|0)<=(h|0)?(c[n>>2]|0)>(h|0):0){p=c[l>>2]|0;f=c[g>>2]|0;zi[c[j>>2]&31](b,(p|0)<(e|0)?e:p,(i|0)<(f|0)?i:f,h,a[k>>0]&15)}h=h+1|0}while((h|0)<(o|0));return}else{h=f;do{if((c[m>>2]|0)<=(h|0)?(c[n>>2]|0)>(h|0):0){f=c[l>>2]|0;p=c[g>>2]|0;zi[c[j>>2]&31](b,(f|0)<(e|0)?e:f,(i|0)<(p|0)?i:p,h,(d[k>>0]|0)>>>4)}h=h+1|0}while((h|0)<(o|0));return}}function pn(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=a+1412060|0;j=c[i>>2]|0;if((j|0)<=(e|0)?(c[a+1412068>>2]|0)>(e|0):0){k=h&15;j=d[(k>>>1)+(a+16368)>>0]|0;n=c[a+1412056>>2]|0;m=f+b|0;l=c[a+1412064>>2]|0;zi[c[a+1412372>>2]&31](a,(n|0)<(b|0)?b:n,(m|0)<(l|0)?m:l,e,(k&1|0?j>>>4:j&15)&255);j=c[i>>2]|0}i=g+e|0;if((j|0)>=(i|0)){jo(a,b,e,g,h);n=b+-1|0;n=n+f|0;jo(a,n,e,g,h);return}if((c[a+1412068>>2]|0)<(i|0)){jo(a,b,e,g,h);n=b+-1|0;n=n+f|0;jo(a,n,e,g,h);return}m=h&15;n=d[(m>>>1)+(a+16368)>>0]|0;j=c[a+1412056>>2]|0;k=f+b|0;l=c[a+1412064>>2]|0;zi[c[a+1412372>>2]&31](a,(j|0)<(b|0)?b:j,(k|0)<(l|0)?k:l,i+-1|0,(m&1|0?n>>>4:n&15)&255);jo(a,b,e,g,h);n=b+-1|0;n=n+f|0;jo(a,n,e,g,h);return}function qn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c|0)>=512)return;cn(a,b+(c<<5)|0,d,e,f,g,1,0,0);return}function rn(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=j<<3;if((f|0)<=0)return;u=(g|0)>0;v=(k|2|0)==3;w=f+-1|0;x=(k|1|0)==3;y=g+-1|0;z=(l|2|0)==2;C=(l|0)==3;s=0;do{a:do if(u){q=v?w-s|0:s;B=O(s,t)|0;A=B+d|0;B=B+e|0;r=w-q|0;switch(l|0){case 2:{n=r+c|0;m=0;do{o=n+(y-(x?y-m|0:m)<<4)|0;p=O(m,t)|0;q=(o|0)<512;if(z){if(q)cn(a,b+(o<<5)|0,A,p+e|0,h,i,j,k,2)}else if(q)cn(a,b+(o<<5)|0,p+d|0,B,h,i,j,k,2);m=m+1|0}while((m|0)!=(g|0));break}case 1:{p=0;while(1){m=x?y-p|0:p;switch(k|0){case 0:case 3:{m=y-m|0;n=q;break}default:n=r}m=n+c+(m<<4)|0;n=O(p,t)|0;o=(m|0)<512;if(z){if(o)cn(a,b+(m<<5)|0,A,n+e|0,h,i,j,k,1)}else if(o)cn(a,b+(m<<5)|0,n+d|0,B,h,i,j,k,1);p=p+1|0;if((p|0)==(g|0))break a}}default:{p=0;do{m=x?y-p|0:p;b:do if(C){switch(k|0){case 0:case 3:{n=r;break b}default:{}}m=y-m|0;n=q}else n=q;while(0);m=n+c+(m<<4)|0;n=O(p,t)|0;o=(m|0)<512;if(z){if(o)cn(a,b+(m<<5)|0,A,n+e|0,h,i,j,k,l)}else if(o)cn(a,b+(m<<5)|0,n+d|0,B,h,i,j,k,l);p=p+1|0}while((p|0)!=(g|0))}}}while(0);s=s+1|0}while((s|0)!=(f|0));return}function sn(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;io(a,b,c,d,e,f,g,h,i,j,k,0,0);return}function tn(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;io(a,b,c,d,e,f,g,h,i,j,k,l,m);return}function un(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(d>>>0>239|e>>>0>135)return;a[c+(e*240|0)+d>>0]=f;return}function vn(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if(d>>>0>239|e>>>0>135){e=0;return e|0}e=a[c+(e*240|0)+d>>0]|0;return e|0}function wn(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;u6(413952,-1,272)|0;i=0;do{b[414224+(i<<1)>>1]=240;i=i+1|0}while((i|0)!=136);m=0-g|0;n=0;l=2-(g<<1)|0;while(1){k=e-m|0;i=n+f|0;if(i>>>0<136){j=414224+(i<<1)|0;if((b[j>>1]|0)>(k|0))b[j>>1]=k;i=413952+(i<<1)|0;if((b[i>>1]|0)<(k|0))b[i>>1]=k}k=e-n|0;i=f-m|0;if(i>>>0<136){j=414224+(i<<1)|0;if((b[j>>1]|0)>(k|0))b[j>>1]=k;i=413952+(i<<1)|0;if((b[i>>1]|0)<(k|0))b[i>>1]=k}k=m+e|0;i=f-n|0;if(i>>>0<136){j=414224+(i<<1)|0;if((b[j>>1]|0)>(k|0))b[j>>1]=k;i=413952+(i<<1)|0;if((b[i>>1]|0)<(k|0))b[i>>1]=k}k=n+e|0;i=m+f|0;if(i>>>0<136){j=414224+(i<<1)|0;if((b[j>>1]|0)>(k|0))b[j>>1]=k;i=413952+(i<<1)|0;if((b[i>>1]|0)<(k|0))b[i>>1]=k}i=(l|0)>(n|0);j=n+1|0;k=(i?0:j<<1|1)+l|0;n=i?n:j;j=(l|0)>(m|0)|(k|0)>(n|0);i=m+1|0;m=j?i:m;if((m|0)>=0)break;else l=(j?i<<1|1:0)+k|0}n=c[a+1412060>>2]|0;i=f-g|0;i=(n|0)>(i|0)?n:i;n=c[a+1412068>>2]|0;j=g+f|0;n=(n|0)>(j|0)?j+1|0:n;h=h&15;j=d[(h>>>1)+(a+16368)>>0]|0;j=(h&1|0?j>>>4:j&15)&255;if((i|0)>=(n|0))return;k=a+1412056|0;l=a+1412064|0;m=a+1412372|0;do{e=b[414224+(i<<1)>>1]|0;f=c[k>>2]|0;g=(b[413952+(i<<1)>>1]|0)+1|0;h=c[l>>2]|0;zi[c[m>>2]&31](a,(e|0)>(f|0)?e:f,(g|0)<(h|0)?g:h,i,j);i=i+1|0}while((i|0)<(n|0));return}function xn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=a+1412056|0;r=a+1412060|0;n=a+1412064|0;o=a+1412068|0;p=a+1412364|0;m=g&15;l=(m>>>1)+(a+16368)|0;m=(m&1|0)!=0;i=2-(f<<1)|0;k=0;j=0-f|0;while(1){g=b-j|0;f=k+e|0;h=c[q>>2]|0;if((((h|0)<=(g|0)?(c[r>>2]|0)<=(f|0):0)?(c[n>>2]|0)>(g|0):0)?(c[o>>2]|0)>(f|0):0){h=d[l>>0]|0;ti[c[p>>2]&63](a,g,f,(m?h>>>4:h&15)&255);h=c[q>>2]|0}g=b-k|0;f=e-j|0;if((((h|0)<=(g|0)?(c[r>>2]|0)<=(f|0):0)?(c[n>>2]|0)>(g|0):0)?(c[o>>2]|0)>(f|0):0){h=d[l>>0]|0;ti[c[p>>2]&63](a,g,f,(m?h>>>4:h&15)&255);h=c[q>>2]|0}g=j+b|0;f=e-k|0;if((((h|0)<=(g|0)?(c[r>>2]|0)<=(f|0):0)?(c[n>>2]|0)>(g|0):0)?(c[o>>2]|0)>(f|0):0){h=d[l>>0]|0;ti[c[p>>2]&63](a,g,f,(m?h>>>4:h&15)&255);h=c[q>>2]|0}g=k+b|0;f=j+e|0;if((((h|0)<=(g|0)?(c[r>>2]|0)<=(f|0):0)?(c[n>>2]|0)>(g|0):0)?(c[o>>2]|0)>(f|0):0){h=d[l>>0]|0;ti[c[p>>2]&63](a,g,f,(m?h>>>4:h&15)&255)}f=(i|0)>(k|0);h=k+1|0;k=f?k:h;h=(f?0:h<<1|1)+i|0;f=(i|0)>(j|0)|(h|0)>(k|0);g=j+1|0;j=f?g:j;if((j|0)>=0)break;else i=(f?g<<1|1:0)+h|0}return}function yn(a,e,f,g,h,i,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u6(413952,-1,272)|0;l=0;do{b[414224+(l<<1)>>1]=240;l=l+1|0}while((l|0)!=136);r=g-e|0;r=(r|0)>-1?r:0-r|0;s=(g|0)>(e|0)?1:-1;t=h-f|0;t=(t|0)>-1?t:0-t|0;u=(h|0)>(f|0)?1:-1;if(f>>>0<136){l=414224+(f<<1)|0;if((b[l>>1]|0)>(e|0))b[l>>1]=e;l=413952+(f<<1)|0;if((b[l>>1]|0)<(e|0))b[l>>1]=e}if(!((g|0)==(e|0)&(h|0)==(f|0))){p=0-t|0;q=0-r|0;m=(((r|0)>(t|0)?r:p)|0)/2|0;n=f;o=e;do{l=(m|0)>(q|0);o=(l?s:0)+o|0;v=(m|0)<(t|0);n=(v?u:0)+n|0;m=(l?p:0)+m+(v?r:0)|0;if(n>>>0<136){l=414224+(n<<1)|0;if((b[l>>1]|0)>(o|0))b[l>>1]=o;l=413952+(n<<1)|0;if((b[l>>1]|0)<(o|0))b[l>>1]=o}}while(!((n|0)==(h|0)&(o|0)==(g|0)))}r=i-g|0;r=(r|0)>-1?r:0-r|0;s=(i|0)>(g|0)?1:-1;t=j-h|0;t=(t|0)>-1?t:0-t|0;v=(j|0)>(h|0);u=v?1:-1;if(h>>>0<136){l=414224+(h<<1)|0;if((b[l>>1]|0)>(g|0))b[l>>1]=g;l=413952+(h<<1)|0;if((b[l>>1]|0)<(g|0))b[l>>1]=g}if(!((i|0)==(g|0)&(j|0)==(h|0))){p=0-t|0;q=0-r|0;n=(((r|0)>(t|0)?r:p)|0)/2|0;o=h;m=g;do{l=(n|0)>(q|0);m=(l?s:0)+m|0;g=(n|0)<(t|0);o=(g?u:0)+o|0;n=(l?p:0)+n+(g?r:0)|0;if(o>>>0<136){l=414224+(o<<1)|0;if((b[l>>1]|0)>(m|0))b[l>>1]=m;l=413952+(o<<1)|0;if((b[l>>1]|0)<(m|0))b[l>>1]=m}}while(!((o|0)==(j|0)&(m|0)==(i|0)))}t=e-i|0;t=(t|0)>-1?t:0-t|0;q=(e|0)>(i|0)?1:-1;r=f-j|0;r=(r|0)>-1?r:0-r|0;s=(f|0)>(j|0)?1:-1;if(j>>>0<136){l=414224+(j<<1)|0;if((b[l>>1]|0)>(i|0))b[l>>1]=i;l=413952+(j<<1)|0;if((b[l>>1]|0)<(i|0))b[l>>1]=i}if(!((e|0)==(i|0)&(f|0)==(j|0))){o=0-r|0;p=0-t|0;m=(((t|0)>(r|0)?t:o)|0)/2|0;n=j;do{u=(m|0)>(p|0);i=(u?q:0)+i|0;g=(m|0)<(r|0);n=(g?s:0)+n|0;m=(u?o:0)+m+(g?t:0)|0;if(n>>>0<136){l=414224+(n<<1)|0;if((b[l>>1]|0)>(i|0))b[l>>1]=i;l=413952+(n<<1)|0;if((b[l>>1]|0)<(i|0))b[l>>1]=i}}while(!((n|0)==(f|0)&(i|0)==(e|0)))}i=k&15;p=d[(i>>>1)+(a+16368)>>0]|0;p=(i&1|0?p>>>4:p&15)&255;i=c[a+1412060>>2]|0;l=v?h:j;l=(l|0)>(f|0)?f:l;l=(i|0)>(l|0)?i:l;i=c[a+1412068>>2]|0;j=(j|0)<(h|0)?h:j;j=(j|0)<(f|0)?f:j;i=(i|0)>(j|0)?j+1|0:i;if((l|0)>=(i|0))return;m=a+1412056|0;n=a+1412064|0;o=a+1412372|0;do{k=b[414224+(l<<1)>>1]|0;f=c[m>>2]|0;h=(b[413952+(l<<1)>>1]|0)+1|0;j=c[n>>2]|0;zi[c[o>>2]&31](a,(k|0)>(f|0)?k:f,(h|0)<(j|0)?h:j,l,p);l=l+1|0}while((l|0)<(i|0));return}function zn(a,e,f,h,i,j,k,m,n,o,p,q,r,s,t){a=a|0;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=s|0;t=t|0;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;I=l;l=l+48|0;v=I+32|0;w=I+16|0;x=I;g[v>>2]=e;g[v+4>>2]=f;g[v+8>>2]=m;g[v+12>>2]=n;g[w>>2]=h;g[w+4>>2]=i;g[w+8>>2]=o;g[w+12>>2]=p;g[x>>2]=j;g[x+4>>2]=k;g[x+8>>2]=q;g[x+12>>2]=r;y=i-k;k=f-k;i=(e-j)*y-(h-j)*k;if(i==0.0){l=I;return}i=1.0/i;f=i*(y*(n-r)-k*(p-r));i=i*(y*(m-q)-k*(o-q))*65536.0;u6(413952,-1,272)|0;u=0;do{b[414224+(u<<1)>>1]=240;u=u+1|0}while((u|0)!=136);H=~~i;G=~~(f*65536.0);ho(v,w);ho(w,x);ho(x,v);B=a+1412056|0;C=a+1412060|0;D=a+1412068|0;E=a+1412064|0;F=a+1412364|0;A=0;do{x=b[413952+(A<<1)>>1]|0;u=x<<16>>16;z=b[414224+(A<<1)>>1]|0;w=z<<16>>16;do if((A|0)>=(c[C>>2]|0)?(x<<16>>16>z<<16>>16?(A|0)<=(c[D>>2]|0):0):0){v=c[414496+(A<<2)>>2]|0;x=c[415040+(A<<2)>>2]|0;z=c[E>>2]|0;z=(u|0)>(z|0)?z:u;u=c[B>>2]|0;if((u|0)>(w|0)){w=u-w|0;v=(O(w,H)|0)+v|0;x=(O(w,G)|0)+x|0}else u=w;w=(u|0)<(z|0);if(s){if(!w)break;while(1){L=(v>>16|0)%1920|0;J=((L|0)>0?L:0)+1919-L|0;K=(x>>16|0)%1088|0;w=((K|0)>0?K:0)+1087-K|0;J=L+(J-((J>>>0)%1920|0))|0;w=K+(w-((w>>>0)%1088|0))|0;w=d[((d[((w>>>3)*240|0)+(J>>3)+(a+32768)>>0]|0)<<5)+(a+16384)+((w<<3&56|J&6)>>>1)>>0]|0;w=J&1|0?w>>>4:w&15;if(((((w&255)<<24>>24!=t<<24>>24?(c[B>>2]|0)<=(u|0):0)?(c[C>>2]|0)<=(A|0):0)?(c[E>>2]|0)>(u|0):0)?(c[D>>2]|0)>(A|0):0){L=d[(w>>>1)+(a+16368)>>0]|0;ti[c[F>>2]&63](a,u,A,(w&1|0?L>>>4:L&15)&255)}u=u+1|0;if((u|0)>=(z|0))break;else{x=x+G|0;v=v+H|0}}}else{if(!w)break;while(1){L=v>>>16;w=d[((v>>>19&15|x>>>15&496)<<5)+(a+16384)+((L&6|x>>>13&56)>>>1)>>0]|0;w=L&1|0?w>>>4:w&15;if(((((w&255)<<24>>24!=t<<24>>24?(c[B>>2]|0)<=(u|0):0)?(c[C>>2]|0)<=(A|0):0)?(c[E>>2]|0)>(u|0):0)?(c[D>>2]|0)>(A|0):0){L=d[(w>>>1)+(a+16368)>>0]|0;ti[c[F>>2]&63](a,u,A,(w&1|0?L>>>4:L&15)&255)}u=u+1|0;if((u|0)>=(z|0))break;else{x=x+G|0;v=v+H|0}}}}while(0);A=A+1|0}while((A|0)!=136);l=I;return}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+1412056|0;c[i>>2]=b;j=a+1412060|0;c[j>>2]=d;g=e+b|0;h=a+1412064|0;c[h>>2]=g;f=f+d|0;e=a+1412068|0;c[e>>2]=f;if((b|0)<0)c[i>>2]=0;if((d|0)<0)c[j>>2]=0;if((g|0)>240)c[h>>2]=240;if((f|0)<=136)return;c[e>>2]=136;return}function Bn(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=e+1412120|0;l=k+(j*20|0)+14|0;m=a[l>>0]|15;a[l>>0]=m;if((f|0)>-1){e=(c[e+1411588>>2]|0)+256+(f*66|0)+60|0;a[l>>0]=(d[e>>0]|d[e+1>>0]<<8)&112|m&-113}m=~~+v6(+(+th(+((+(g+-8+(h*12|0)|0)+-49.0)/12.0))*440.0));c[k+(j*20|0)+16>>2]=i;b[k+(j*20|0)+12>>1]=m;c[k+(j*20|0)+8>>2]=f;c[k+(j*20|0)+4>>2]=-1;c[k+(j*20|0)>>2]=-1;return}function Cn(d,e){d=d|0;e=e|0;var f=0;d=d+1412120|0;f=d+(e*20|0)+14|0;a[f>>0]=a[f>>0]|15;c[d+(e*20|0)+16>>2]=-1;b[d+(e*20|0)+12>>1]=16;c[d+(e*20|0)+8>>2]=-1;c[d+(e*20|0)+4>>2]=-1;c[d+(e*20|0)>>2]=-1;return}function Dn(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;n=e+1412120|0;m=n+(j*20|0)+14|0;k=a[m>>0]&-16|k&15;a[m>>0]=k;if((f|0)>-1){if((l<<29>>29|0)!=(l|0)){l=(c[e+1411588>>2]|0)+256+(f*66|0)+60|0;l=(((d[l>>0]|d[l+1>>0]<<8)<<9&65535)<<16>>16>>13&65535)<<24>>24}a[m>>0]=(l&255)<<4&112|k&-113}h=~~+v6(+(+th(+((+(g+-8+(h*12|0)|0)+-49.0)/12.0))*440.0));c[n+(j*20|0)+16>>2]=i;b[n+(j*20|0)+12>>1]=h;c[n+(j*20|0)+8>>2]=f;c[n+(j*20|0)+4>>2]=-1;c[n+(j*20|0)>>2]=-1;return}function En(b,c,e){b=b|0;c=c|0;e=e|0;e=c+1412120+(e*20|0)+4|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;a[b>>0]=e;a[b+1>>0]=e>>8;a[b+2>>0]=e>>16;a[b+3>>0]=e>>24;return}function Fn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;go(a,b,d,e,f);if((b|0)<=-1)return;c[a+1412200>>2]=2;return}function Gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;go(a,b,d,e,f);if((b|0)<=-1)return;c[a+1412200>>2]=1;return}function Hn(a){a=a|0;var b=0.0,d=0,e=0;a=a+1411596|0;e=Qh[c[(c[a>>2]|0)+16>>2]&15]()|0;a=c[a>>2]|0;d=a+24|0;d=c6(e|0,z|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=h6(d|0,z|0,1e3,0)|0;b=+(d>>>0)+4294967296.0*+(z>>>0);a=Qh[c[a+20>>2]&15]()|0;return +(b/(+(a>>>0)+4294967296.0*+(z>>>0)))}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=b+1411596|0;c[g>>2]=e;u=b+1412380|0;do if((a[u>>0]|0)==0?(v=B2(524288)|0,v|0):0){u6(v|0,0,524288)|0;f=b+1064464|0;if(r4(f)|0)Y5(v,f)|0;f=b+933448|0;if(r4(f)|0)Y5(v,f)|0;f=b+802432|0;if(r4(f)|0)Y5(v,f)|0;f=b+671416|0;if(r4(f)|0)Y5(v,f)|0;f=b+540400|0;if(r4(f)|0)Y5(v,f)|0;f=b+409384|0;if(r4(f)|0)Y5(v,f)|0;f=b+278368|0;if(r4(f)|0)Y5(v,f)|0;f=b+147352|0;if(r4(f)|0)Y5(v,f)|0;f=c[e+36>>2]|0;if(f|0)li[f&511](c[e+40>>2]|0,v);if(!(a[v>>0]|0)){u=c[g>>2]|0;li[c[u+4>>2]&511](c[u+40>>2]|0,96049);C2(v);return}s=Yn(v)|0;r=b+1412376|0;f=c[r>>2]|0;g=f&63^63;if(g&1|0)s6(b+16384|0,b+81920|0,8192)|0;if(g&2|0)s6(b+24576|0,b+90112|0,8192)|0;if(g&4|0)s6(b+32768|0,b+98304|0,32640)|0;if(g&8|0)s6(b+65508|0,b+130944|0,4480)|0;if(g&16|0)s6(b+69988|0,b+135424|0,11928)|0;if(g&32|0){h=b+16320|0;i=b+212888|0;j=h+48|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0))}c[r>>2]=g|f;do if(c[b+1130048>>2]|0){q=jk(b+1130052|0)|0;if(!q)break;do if((c[q+8>>2]|0)==240){if((c[q+12>>2]|0)!=136)break;o=c[q+4>>2]|0;p=c[q>>2]|0;n=0;do{j=d[p+n>>0]|0;h=d[o+(j*3|0)>>0]|0;i=d[o+(j*3|0)+1>>0]|0;j=d[o+(j*3|0)+2>>0]|0;m=0;f=0;g=-1;while(1){l=h-(d[b+212888+(f*3|0)>>0]|0)|0;w=i-(d[b+212888+(f*3|0)+1>>0]|0)|0;k=j-(d[b+212888+(f*3|0)+2>>0]|0)|0;k=(O(w,w)|0)+(O(l,l)|0)+(O(k,k)|0)|0;l=k>>>0<g>>>0;m=l?f:m;f=f+1|0;if((f|0)==16)break;else g=l?k:g}h=b+(n>>>1)|0;f=d[h>>0]|0;if(!(n&1)){g=f&240;a[h>>0]=g;f=m&15}else{g=f&15;a[h>>0]=g;f=m<<4&4080}a[h>>0]=f|g;n=n+1|0}while((n|0)!=32640)}while(0);f=c[q>>2]|0;if(f|0)C2(f);f=c[q+4>>2]|0;if(f|0)C2(f);C2(q)}while(0);c[r>>2]=0;h=b+1263924|0;a[h>>0]=0;g=s+48|0;f=Zn(v,96026,c[g>>2]|0)|0;do if(!f)t=39;else{w=(e3(f,331837)|0)==0;C2(f);if(!w){t=39;break}f=a[h>>0]|2}while(0);a:do if((t|0)==39){f=Zn(v,96026,c[g>>2]|0)|0;do if(f|0){w=(e3(f,96032)|0)==0;C2(f);if(!w)break;f=a[h>>0]|1;break a}while(0);f=Zn(v,96026,c[g>>2]|0)|0;if(!f){f=-1;break}w=(e3(f,96040)|0)==0;C2(f);if(!w){f=-1;break}f=a[h>>0]|4}while(0);a[h>>0]=f;t=Qh[c[e+16>>2]&15]()|0;w=e+24|0;c[w>>2]=t;c[w+4>>2]=z;w=Sh[c[s>>2]&255](b,v)|0;C2(v);if(w){c[b+1412288>>2]=c[s+8>>2];c[b+1412292>>2]=c[s+12>>2];c[b+1412296>>2]=c[s+16>>2];a[u>>0]=1;break}else return}while(0);fi[c[b+1412288>>2]&511](b);return}function Jn(b,d,e){b=b|0;d=d|0;e=e|0;if(!(a[b+1412380>>0]|0))return;si[c[b+1412292>>2]&127](b,d,e);return}function Kn(b,d){b=b|0;d=d|0;if(!(a[b+1412380>>0]|0))return;li[c[b+1412296>>2]&511](b,d);return}function Ln(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=d+16320|0;e=d+212888|0;j=i+48|0;do{c[i>>2]=c[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(j|0));i=d+16368|0;h=i;a[h>>0]=16;a[h+1>>0]=50;a[h+2>>0]=84;a[h+3>>0]=118;i=i+4|0;a[i>>0]=-19088744;a[i+1>>0]=-19088744>>8;a[i+2>>0]=-19088744>>16;a[i+3>>0]=-19088744>>24;c[d+16376>>2]=0;c[d+1412056>>2]=0;c[d+1412060>>2]=0;c[d+1412064>>2]=240;c[d+1412068>>2]=136;i=d+1412120|0;h=d+1412208|0;e=d+1412072|0;c[i>>2]=c[1093];c[i+4>>2]=c[1094];c[i+8>>2]=c[1095];c[i+12>>2]=c[1096];c[i+16>>2]=c[1097];c[h>>2]=c[1093];c[h+4>>2]=c[1094];c[h+8>>2]=c[1095];c[h+12>>2]=c[1096];i=d+65436|0;j=i+18|0;do{b[i>>1]=0;i=i+2|0}while((i|0)<(j|0));c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=d+1412140|0;c[e>>2]=c[1093];c[e+4>>2]=c[1094];c[e+8>>2]=c[1095];c[e+12>>2]=c[1096];c[e+16>>2]=c[1097];e=d+1412228|0;c[e>>2]=c[1093];c[e+4>>2]=c[1094];c[e+8>>2]=c[1095];c[e+12>>2]=c[1096];i=d+65454|0;j=i+18|0;do{b[i>>1]=0;i=i+2|0}while((i|0)<(j|0));f=d+1412084|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=d+1412160|0;c[f>>2]=c[1093];c[f+4>>2]=c[1094];c[f+8>>2]=c[1095];c[f+12>>2]=c[1096];c[f+16>>2]=c[1097];f=d+1412248|0;c[f>>2]=c[1093];c[f+4>>2]=c[1094];c[f+8>>2]=c[1095];c[f+12>>2]=c[1096];i=d+65472|0;j=i+18|0;do{b[i>>1]=0;i=i+2|0}while((i|0)<(j|0));g=d+1412096|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=d+1412180|0;c[g>>2]=c[1093];c[g+4>>2]=c[1094];c[g+8>>2]=c[1095];c[g+12>>2]=c[1096];c[g+16>>2]=c[1097];g=d+1412268|0;c[g>>2]=c[1093];c[g+4>>2]=c[1094];c[g+8>>2]=c[1095];c[g+12>>2]=c[1096];i=d+65490|0;j=i+18|0;do{b[i>>1]=0;i=i+2|0}while((i|0)<(j|0));i=d+1412108|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;a[d+81916>>0]=-1;c[d+1412200>>2]=0;a[d+1412222>>0]=15;c[d+1412224>>2]=-1;b[d+1412220>>1]=16;c[d+1412216>>2]=-1;c[d+1412212>>2]=-1;c[h>>2]=-1;a[d+1412242>>0]=15;c[d+1412244>>2]=-1;b[d+1412240>>1]=16;c[d+1412236>>2]=-1;c[d+1412232>>2]=-1;c[e>>2]=-1;a[d+1412262>>0]=15;c[d+1412264>>2]=-1;b[d+1412260>>1]=16;c[d+1412256>>2]=-1;c[d+1412252>>2]=-1;c[f>>2]=-1;a[d+1412282>>0]=15;c[d+1412284>>2]=-1;b[d+1412280>>1]=16;c[d+1412276>>2]=-1;c[d+1412272>>2]=-1;c[g>>2]=-1;u6(c[d+1263928>>2]|0,0,c[d+1263932>>2]|0)|0;a[d+1412380>>0]=0;c[d+1412292>>2]=0;c[d+1412296>>2]=0;c[d+1412364>>2]=11;c[d+1412368>>2]=11;c[d+1412372>>2]=9;f=d+1263860|0;i=f;j=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=d+147352|0;e=Zn(e,96019,c[(Yn(e)|0)+48>>2]|0)|0;if(!e)return;z5(f,e,63)|0;C2(e);return}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0;s6(a+1412384|0,a+1411600|0,784)|0;s6(a+1413168|0,a|0,81920)|0;b=c[a+1411596>>2]|0;f=b+24|0;e=c[f+4>>2]|0;d=a+1495088|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;b=Qh[c[b+16>>2]&15]()|0;a=a+1495096|0;c[a>>2]=b;c[a+4>>2]=z;return}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+1411596|0;d=c[b>>2]|0;if(!d)return;s6(a+1411600|0,a+1412384|0,784)|0;s6(a|0,a+1413168|0,81920)|0;e=a+1495088|0;f=c[e>>2]|0;e=c[e+4>>2]|0;d=Qh[c[d+16>>2]&15]()|0;d=b6(d|0,z|0,f|0,e|0)|0;a=a+1495096|0;a=c6(d|0,z|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=(c[b>>2]|0)+24|0;c[d>>2]=a;c[d+4>>2]=z;return}function On(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+1412376|0;j=c[i>>2]|0;h=(j&63^63)&((d|0)==0?63:d);if(e>>>0>=8)Sa(95980,95857,1488,96010);d=(h&1|0)==0;if(f){if(!d)s6(b+81920+(e*131016|0)|0,b+16384|0,8192)|0;if(h&2|0)s6(b+81920+(e*131016|0)+8192|0,b+24576|0,8192)|0;if(h&4|0)s6(b+81920+(e*131016|0)+16384|0,b+32768|0,32640)|0;if(h&8|0)s6(b+81920+(e*131016|0)+49024|0,b+65508|0,4480)|0;if(h&16|0)s6(b+81920+(e*131016|0)+53504|0,b+69988|0,11928)|0;if(h&32|0){g=b+81920+(e*131016|0)+130968|0;d=b+16320|0;f=g+48|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(f|0))}j=c[i>>2]|0;j=j|h;c[i>>2]=j;return}else{if(!d)s6(b+16384|0,b+81920+(e*131016|0)|0,8192)|0;if(h&2|0)s6(b+24576|0,b+81920+(e*131016|0)+8192|0,8192)|0;if(h&4|0)s6(b+32768|0,b+81920+(e*131016|0)+16384|0,32640)|0;if(h&8|0)s6(b+65508|0,b+81920+(e*131016|0)+49024|0,4480)|0;if(h&16|0)s6(b+69988|0,b+81920+(e*131016|0)+53504|0,11928)|0;if(!(h&32)){j=j|h;c[i>>2]=j;return}g=b+16320|0;d=b+81920+(e*131016|0)+130968|0;f=g+48|0;do{a[g>>0]=a[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(f|0));j=j|h;c[i>>2]=j;return}}function Pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((b|0)<0){b=c[a+65408>>2]&~c[a+1411600>>2];return b|0}f=a+1411600|0;if((e|d|0)<0){b=1<<b&~c[f>>2]&c[a+65408>>2];return b|0}g=c[a+1411604+(b<<2)>>2]|0;if(g>>>0>=d>>>0)if((e|0)!=0?((g>>>0)%(e>>>0)|0|0)!=0:0)f=c[f>>2]|0;else f=0;else f=c[f>>2]|0;b=1<<b&~f&c[a+65408>>2];return b|0}function Qn(b,d){b=b|0;d=d|0;b=b+65416|0;if(!(d<<24>>24)){d=c[b>>2]|0;d=(d|0)!=0;return d|0}if(((a[b>>0]|0)!=d<<24>>24?(a[b+1>>0]|0)!=d<<24>>24:0)?(a[b+2>>0]|0)!=d<<24>>24:0)b=(a[b+3>>0]|0)==d<<24>>24;else b=1;d=b&1;d=(d|0)!=0;return d|0}function Rn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d&255;if(d<<24>>24){g=b+1411732|0;if((f|e|0)>-1?(h=c[b+1411740+(i<<2)>>2]|0,h>>>0>=e>>>0):0)if((f|0)!=0?((h>>>0)%(f>>>0)|0|0)!=0:0)if(((a[g>>0]|0)!=d<<24>>24?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)h=(a[b+1411735>>0]|0)==d<<24>>24;else h=1;else h=0;else if(((a[g>>0]|0)!=d<<24>>24?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)h=(a[b+1411735>>0]|0)==d<<24>>24;else h=1;g=b+65416|0;if((a[g>>0]|0)==d<<24>>24){d=1;b=h^1;b=d&b;return b|0}if((a[g+1>>0]|0)==d<<24>>24){d=1;b=h^1;b=d&b;return b|0}if((a[g+2>>0]|0)==d<<24>>24){d=1;b=h^1;b=d&b;return b|0}d=(a[g+3>>0]|0)==d<<24>>24;b=h^1;b=d&b;return b|0}g=b+65416|0;h=b+1411732|0;d=a[g>>0]|0;if((((d<<24>>24?(a[h>>0]|0)!=d<<24>>24:0)?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)?(a[b+1411735>>0]|0)!=d<<24>>24:0){b=1;return b|0}d=a[g+1>>0]|0;if((((d<<24>>24?(a[h>>0]|0)!=d<<24>>24:0)?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)?(a[b+1411735>>0]|0)!=d<<24>>24:0){b=1;return b|0}d=a[g+2>>0]|0;if((((d<<24>>24?(a[h>>0]|0)!=d<<24>>24:0)?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)?(a[b+1411735>>0]|0)!=d<<24>>24:0){b=1;return b|0}d=a[g+3>>0]|0;if((((d<<24>>24?(a[h>>0]|0)!=d<<24>>24:0)?(a[b+1411733>>0]|0)!=d<<24>>24:0)?(a[b+1411734>>0]|0)!=d<<24>>24:0)?(a[b+1411735>>0]|0)!=d<<24>>24:0){b=1;return b|0}b=0;return b|0}function Sn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=e+f|0;u6(b|0,0,1178692)|0;if(g){g=b+130968|0;h=95932;i=g+48|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0))}if((f|0)<=0)return;f=b+1048132|0;j=b+1048128|0;g=e;do{h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=g+4|0;do switch(h&31){case 1:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)|0,i|0,(g>>>0<8192?g:8192)|0)|0;break}case 2:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+8192|0,i|0,(g>>>0<8192?g:8192)|0)|0;break}case 4:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+16384|0,i|0,(g>>>0<32640?g:32640)|0)|0;break}case 5:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+65432|0,i|0,g|0)|0;break}case 9:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+49280|0,i|0,(g>>>0<4224?g:4224)|0)|0;break}case 10:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+49024|0,i|0,(g>>>0<256?g:256)|0)|0;break}case 14:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+65024|0,i|0,(g>>>0<408?g:408)|0)|0;break}case 13:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+53504|0,i|0,(g>>>0<11520?g:11520)|0)|0;break}case 12:{g=h>>>8&65535;s6(b+((h>>>5&7)*131016|0)+130968|0,i|0,(g>>>0<48?g:48)|0)|0;break}case 3:{g=h>>>8&65535;s6(f|0,i|0,g|0)|0;c[j>>2]=g;break}default:g=h>>>8&65535}while(0);g=i+g|0}while(g>>>0<k>>>0);return}function Tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=0;g=d;do{h=b+(i*131016|0)|0;f=b+(i*131016|0)+8191|0;e=8192;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|1;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+8192|0;f=b+(i*131016|0)+16383|0;e=8192;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|2;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+16384|0;f=b+(i*131016|0)+49023|0;e=32640;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|4;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+65432|0;f=b+(i*131016|0)+130967|0;e=65536;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|5;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+49280|0;f=b+(i*131016|0)+53503|0;e=4224;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|9;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+49024|0;f=b+(i*131016|0)+49279|0;e=256;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|10;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+53504|0;f=b+(i*131016|0)+65023|0;e=11520;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|13;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+65024|0;f=b+(i*131016|0)+65431|0;e=408;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|14;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}h=b+(i*131016|0)+130968|0;f=h+47|0;e=48;do{if(a[f>>0]|0)break;e=e+-1|0;f=f+-1|0}while(f>>>0>=h>>>0);f=g+4|0;if(e){j=i<<5|e<<8&16776960|12;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,h|0,e|0)|0;g=f+e|0}i=i+1|0}while((i|0)!=8);e=c[b+1048128>>2]|0;f=g+4|0;if(!e){b=g;j=d;j=b-j|0;return j|0}j=e<<8&16776960|3;a[g>>0]=j;a[g+1>>0]=j>>8;a[g+2>>0]=j>>16;a[g+3>>0]=j>>24;s6(f|0,b+1048132|0,e|0)|0;b=f+e|0;j=d;j=b-j|0;return j|0}function Un(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;$=f+1411588|0;c[$>>2]=g;P=f+1411592|0;c[P>>2]=h;ba=f+65436|0;g=ba;i=g+72|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(i|0));L=f+1412200|0;i=c[L>>2]|0;a:do if(i|0){M=f+81916|0;N=a[M>>0]|0;aa=f+1412204|0;g=O((c[aa>>2]|0)*6|0,(a[h+11520+(N*51|0)+48>>0]|0)+150|0)|0;g=((g|0)/((a[h+11520+(N*51|0)+50>>0]|0)+6|0)|0|0)/900|0;b:do if((g|0)>=(64-(d[h+11520+(N*51|0)+49>>0]|0)|0)){c[aa>>2]=0;j=f+1412208|0;k=f+1412222|0;l=a[k>>0]|15;a[k>>0]=l;m=f+1412224|0;c[m>>2]=-1;n=f+1412220|0;b[n>>1]=16;o=f+1412216|0;c[o>>2]=-1;p=f+1412212|0;c[p>>2]=-1;c[j>>2]=-1;q=f+1412242|0;r=a[q>>0]|15;a[q>>0]=r;s=f+1412244|0;c[s>>2]=-1;t=f+1412240|0;b[t>>1]=16;u=f+1412236|0;c[u>>2]=-1;v=f+1412232|0;c[v>>2]=-1;w=f+1412228|0;c[w>>2]=-1;x=f+1412262|0;y=a[x>>0]|15;a[x>>0]=y;z=f+1412264|0;c[z>>2]=-1;A=f+1412260|0;b[A>>1]=16;B=f+1412256|0;c[B>>2]=-1;C=f+1412252|0;c[C>>2]=-1;D=f+1412248|0;c[D>>2]=-1;E=f+1412282|0;F=a[E>>0]|15;a[E>>0]=F;G=f+1412284|0;c[G>>2]=-1;H=f+1412280|0;b[H>>1]=16;I=f+1412276|0;c[I>>2]=-1;J=f+1412272|0;c[J>>2]=-1;K=f+1412268|0;c[K>>2]=-1;switch(i|0){case 2:break;case 1:{if(a[f+81919>>0]&1){g=0;break b}a[M>>0]=-1;c[L>>2]=0;a[k>>0]=l;c[m>>2]=-1;b[n>>1]=16;c[o>>2]=-1;c[p>>2]=-1;c[j>>2]=-1;a[q>>0]=r;c[s>>2]=-1;b[t>>1]=16;c[u>>2]=-1;c[v>>2]=-1;c[w>>2]=-1;a[x>>0]=y;c[z>>2]=-1;b[A>>1]=16;c[B>>2]=-1;c[C>>2]=-1;c[D>>2]=-1;a[E>>0]=F;c[G>>2]=-1;b[H>>1]=16;c[I>>2]=-1;c[J>>2]=-1;c[K>>2]=-1;break a}default:{g=0;break b}}g=f+81917|0;i=(a[g>>0]|0)+1<<24>>24;a[g>>0]=i;if(i<<24>>24>15)if(!(a[f+81919>>0]&1)){a[M>>0]=-1;c[L>>2]=0;a[k>>0]=l;c[m>>2]=-1;b[n>>1]=16;c[o>>2]=-1;c[p>>2]=-1;c[j>>2]=-1;a[q>>0]=r;c[s>>2]=-1;b[t>>1]=16;c[u>>2]=-1;c[v>>2]=-1;c[w>>2]=-1;a[x>>0]=y;c[z>>2]=-1;b[A>>1]=16;c[B>>2]=-1;c[C>>2]=-1;c[D>>2]=-1;a[E>>0]=F;c[G>>2]=-1;b[H>>1]=16;c[I>>2]=-1;c[J>>2]=-1;c[K>>2]=-1;break a}else{a[g>>0]=0;g=0;break}ca=(i<<24>>24)*3|0;da=a[h+11520+(N*51|0)+ca>>0]|0;i=d[ca+1+(h+11520+(N*51|0))>>0]<<8;ca=d[ca+2+(h+11520+(N*51|0))>>0]|0;if((ca>>>2|0)==(0-((da&63)+((i|da&255)>>>6&63)+((ca<<16|i)>>>12&63))|0))if(!(a[f+81919>>0]&1)){a[M>>0]=-1;c[L>>2]=0;a[k>>0]=l;c[m>>2]=-1;b[n>>1]=16;c[o>>2]=-1;c[p>>2]=-1;c[j>>2]=-1;a[q>>0]=r;c[s>>2]=-1;b[t>>1]=16;c[u>>2]=-1;c[v>>2]=-1;c[w>>2]=-1;a[x>>0]=y;c[z>>2]=-1;b[A>>1]=16;c[B>>2]=-1;c[C>>2]=-1;c[D>>2]=-1;a[E>>0]=F;c[G>>2]=-1;b[H>>1]=16;c[I>>2]=-1;c[J>>2]=-1;c[K>>2]=-1;break a}else{a[g>>0]=0;g=0;break}else g=0}while(0);k=f+81918|0;if((g|0)==(a[k>>0]|0))i=f+1412208|0;else{a[k>>0]=g;l=f+81917|0;i=f+1412208|0;j=0;do{m=(a[l>>0]|0)*3|0;m=(d[m+2+(h+11520+(N*51|0))>>0]<<16|(d[m+1+(h+11520+(N*51|0))>>0]<<8|d[h+11520+(N*51|0)+m>>0]))>>>(j*6|0)&63;if((m|0?(Q=c[P>>2]|0,R=m+-1|0,S=Q+(R*192|0)+((a[k>>0]|0)*3|0)|0,S=((d[S>>0]|d[S+1>>0]<<8)&65535|d[S+2>>0]<<16)&15,T=S&16777215,S&16777215|0):0)?(U=i+(j*20|0)+14|0,V=a[U>>0]|0,a[U>>0]=V|15,W=i+(j*20|0)+16|0,c[W>>2]=-1,X=i+(j*20|0)+12|0,b[X>>1]=16,Y=i+(j*20|0)+8|0,c[Y>>2]=-1,Z=i+(j*20|0)+4|0,c[Z>>2]=-1,_=i+(j*20|0)|0,c[_>>2]=-1,(S&16777215)>>>0>3):0){ca=Q+(R*192|0)+((a[k>>0]|0)*3|0)|0;ca=(d[ca>>0]|d[ca+1>>0]<<8)&65535|d[ca+2>>0]<<16;da=Q+(R*192|0)+(g*3|0)|0;da=(d[da>>0]|d[da+1>>0]<<8)&65535|d[da+2>>0]<<16;da=((da&16777215)>>>10&32|(da&16777215)>>>16&31)&16777215;M=((ca&16777215)>>>4&15|V&-16)^15;a[U>>0]=M;L=(c[$>>2]|0)+256+(da*66|0)+60|0;a[U>>0]=(d[L>>0]|d[L+1>>0]<<8)&112|M&-113;ca=~~+v6(+(+th(+(+(T+-61+(((ca&16777215)>>>21)*12&16777215)|0)/12.0))*440.0));c[W>>2]=-1;b[X>>1]=ca;c[Y>>2]=da;c[Z>>2]=-1;c[_>>2]=-1}j=j+1|0}while((j|0)!=4)}g=c[i+8>>2]|0;if((g|0)>-1)bo(f,g,e[i+12>>1]|0,i,ba);g=c[i+28>>2]|0;if((g|0)>-1)bo(f,g,e[i+32>>1]|0,i+20|0,f+65454|0);g=c[i+48>>2]|0;if((g|0)>-1)bo(f,g,e[i+52>>1]|0,i+40|0,f+65472|0);g=c[i+68>>2]|0;if((g|0)>-1)bo(f,g,e[i+72>>1]|0,i+60|0,f+65490|0);c[aa>>2]=(c[aa>>2]|0)+1}while(0);g=c[f+1412128>>2]|0;if((g|0)>-1)bo(f,g,e[f+1412132>>1]|0,f+1412120|0,ba);g=c[f+1412148>>2]|0;if((g|0)>-1)bo(f,g,e[f+1412152>>1]|0,f+1412140|0,f+65454|0);g=c[f+1412168>>2]|0;if((g|0)>-1)bo(f,g,e[f+1412172>>1]|0,f+1412160|0,f+65472|0);g=c[f+1412188>>2]|0;if((g|0)>-1)bo(f,g,e[f+1412192>>1]|0,f+1412180|0,f+65490|0);i=f+1411600|0;k=f+1411604|0;l=f+65408|0;g=0;do{da=1<<g;ca=c[i>>2]&da;j=k+(g<<2)|0;if((ca|0)!=0?(ca|0)==(c[l>>2]&da|0):0)m=(c[j>>2]|0)+1|0;else m=0;c[j>>2]=m;g=g+1|0}while((g|0)!=32);l=f+1411732|0;m=f+65416|0;n=f+1411740|0;o=m+1|0;p=m+2|0;q=m+3|0;r=f+1411733|0;s=f+1411734|0;t=f+1411735|0;k=0;do{g=k&255;if(((a[l>>0]|0)!=g<<24>>24?(a[r>>0]|0)!=g<<24>>24:0)?(a[s>>0]|0)!=g<<24>>24:0)j=(a[t>>0]|0)==g<<24>>24;else j=1;if(((a[m>>0]|0)!=g<<24>>24?(a[o>>0]|0)!=g<<24>>24:0)?(a[p>>0]|0)!=g<<24>>24:0)g=(a[q>>0]|0)==g<<24>>24;else g=1;i=n+(k<<2)|0;if(j&g)g=(c[i>>2]|0)+1|0;else g=0;c[i>>2]=g;k=k+1|0}while((k|0)!=79);c[f+1412364>>2]=11;c[f+1412368>>2]=11;c[f+1412376>>2]=0;c[f+1412372>>2]=9;return}function Vn(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c[a+1411600>>2]=c[a+65408>>2];c[a+1411732>>2]=c[a+65416>>2];o=a+1412072|0;p=a+1411580|0;n=0;do{l=a+65436+(n*18|0)|0;g=o+(n*12|0)|0;k=(f3(434121,a+65436+(n*18|0)+2|0,16)|0)==0;m=c[p>>2]|0;a:do if(k){k=o+(n*12|0)+4|0;f=c[k>>2]|0;if(!f){c[k>>2]=1;h=1}else h=f;f=b[l>>1]&4095;if(!(f<<16>>16))i=4096;else{i=~~+v6(+(112500.0/+(f&65535)+-1.0));i=(i|0)<10?10:(i|0)<4096?i:4096}f=c[g>>2]|0;if((f|0)<3e4){j=o+(n*12|0)+8|0;while(1){q=h>>1;c[k>>2]=0-(h&1)&24576^q;q=((O(q&1|0?16380:0,(e[l>>1]|0)>>>12&65535)|0)>>>0)/15|0;h=q-(c[j>>2]|0)|0;c[j>>2]=q;no(m,f,h);f=(c[g>>2]|0)+i|0;c[g>>2]=f;if((f|0)>=3e4)break a;h=c[k>>2]|0}}}else{f=b[l>>1]<<1&8190;if(!(f<<16>>16))h=4096;else{h=~~+v6(+(112500.0/+(f&65535)+-1.0));h=(h|0)<10?10:(h|0)<4096?h:4096}f=c[g>>2]|0;if((f|0)<3e4){i=o+(n*12|0)+4|0;j=o+(n*12|0)+8|0;do{q=((c[i>>2]|0)+1|0)%32|0;c[i>>2]=q;k=d[(q>>>1)+(a+65436+(n*18|0)+2)>>0]|0;k=((O((q&1|0?k>>>4:k&15)*1092|0,(e[l>>1]|0)>>>12&65535)|0)>>>0)/15|0;q=k-(c[j>>2]|0)|0;c[j>>2]=k;no(m,f,q);f=(c[g>>2]|0)+h|0;c[g>>2]=f}while((f|0)<3e4)}}while(0);c[g>>2]=f+-3e4;n=n+1|0}while((n|0)!=4);g=c[p>>2]|0;p=g;p=h6(c[p>>2]|0,c[p+4>>2]|0,3e4,0)|0;q=g+8|0;m=q;m=b6(p|0,z|0,c[m>>2]|0,c[m+4>>2]|0)|0;p=z;o=m6(m|0,p|0,52)|0;n=g+16|0;o=b6(c[n>>2]|0,0,o|0,z|0)|0;c[n>>2]=o;c[q>>2]=m;c[q+4>>2]=p&1048575;if((o|0)>(c[g+20>>2]|0))Sa(96181,96077,190,96201);i=c[a+1263928>>2]|0;q=c[a+1411584>>2]|0;f=(q|0)/60|0;if((q|0)<=-60)Sa(96216,96077,210,96227);k=(o|0)<(f|0)?o:f;if(!k){q=a+1412364|0;c[q>>2]=12;q=a+1412368|0;c[q>>2]=12;q=a+1412372|0;c[q>>2]=10;return}l=g+32|0;m=l+(k<<2)|0;j=g+24|0;h=c[j>>2]|0;f=i;g=l;while(1){q=h>>15;p=(c[g>>2]|0)+h|0;g=g+4|0;q=(q<<16>>16|0)==(q|0)?q:h>>31^32767;b[f>>1]=q;h=p-(q<<6)|0;if((g|0)==(m|0))break;else f=f+2|0}c[j>>2]=h;q=o+(18-k)|0;c[n>>2]=o-k;t6(l|0,m|0,q<<2|0)|0;u6(l+(q<<2)|0,0,k<<2|0)|0;q=a+1412364|0;c[q>>2]=12;q=a+1412368|0;c[q>>2]=12;q=a+1412372|0;c[q>>2]=10;return}function Wn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=b+16320|0;Ak(p);h=b+1412300|0;i=413220;j=h+64|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));k=(e|0)!=0;if(k){si[e&127](b,0,g);Ak(p)}q=b+16376|0;j=c[413220+((a[q>>0]&15)<<2)>>2]|0;h=256;i=b+1263936|0;while(1){c[i>>2]=j;c[i+4>>2]=j;c[i+8>>2]=j;c[i+12>>2]=j;h=h+-1|0;if(!h)break;else i=i+16|0}h=b+1268032|0;n=b+16378|0;o=b+16377|0;if(k){k=0;while(1){l=c[413220+((a[q>>0]&15)<<2)>>2]|0;c[h>>2]=l;c[h+4>>2]=l;c[h+8>>2]=l;c[h+12>>2]=l;c[h+16>>2]=l;c[h+20>>2]=l;c[h+24>>2]=l;c[h+28>>2]=l;l=h+32|0;m=((k+136+(a[n>>0]|0)|0)%136|0)*240>>1;i=0;j=(240-(a[o>>0]|0)|0)%240|0;while(1){r=d[b+(i+m)>>0]|0;c[l+(((j>>>0)%240|0)<<2)>>2]=c[413220+((r&15)<<2)>>2];c[l+((((j+1|0)>>>0)%240|0)<<2)>>2]=c[413220+(r>>>4<<2)>>2];i=i+1|0;if((i|0)==120)break;else j=j+2|0}r=c[413220+((a[q>>0]&15)<<2)>>2]|0;c[h+992>>2]=r;c[h+996>>2]=r;c[h+1e3>>2]=r;c[h+1004>>2]=r;c[h+1008>>2]=r;c[h+1012>>2]=r;c[h+1016>>2]=r;c[h+1020>>2]=r;r=k;k=k+1|0;if((r|0)<135){si[e&127](b,k,g);Ak(p)}if((k|0)==136)break;else h=h+1024|0}}else{k=0;while(1){l=c[413220+((a[q>>0]&15)<<2)>>2]|0;c[h>>2]=l;c[h+4>>2]=l;c[h+8>>2]=l;c[h+12>>2]=l;c[h+16>>2]=l;c[h+20>>2]=l;c[h+24>>2]=l;c[h+28>>2]=l;l=h+32|0;m=((k+136+(a[n>>0]|0)|0)%136|0)*240>>1;i=0;j=(240-(a[o>>0]|0)|0)%240|0;while(1){r=d[b+(i+m)>>0]|0;c[l+(((j>>>0)%240|0)<<2)>>2]=c[413220+((r&15)<<2)>>2];c[l+((((j+1|0)>>>0)%240|0)<<2)>>2]=c[413220+(r>>>4<<2)>>2];i=i+1|0;if((i|0)==120)break;else j=j+2|0}r=c[413220+((a[q>>0]&15)<<2)>>2]|0;c[h+992>>2]=r;c[h+996>>2]=r;c[h+1e3>>2]=r;c[h+1004>>2]=r;c[h+1008>>2]=r;c[h+1012>>2]=r;c[h+1016>>2]=r;c[h+1020>>2]=r;k=k+1|0;if((k|0)==136)break;else h=h+1024|0}}j=c[413220+((a[q>>0]&15)<<2)>>2]|0;h=256;i=b+1407296|0;while(1){c[i>>2]=j;c[i+4>>2]=j;c[i+8>>2]=j;c[i+12>>2]=j;h=h+-1|0;if(!h)break;else i=i+16|0}if(!f)return;li[f&511](b,g);return}function Xn(a){a=a|0;return Yn(a+147352|0)|0}function Yn(a){a=a|0;var b=0,c=0;b=Zn(a,95876,330138)|0;if(b|0?(c=(e3(b,95883)|0)==0,C2(b),c):0){c=5492;return c|0}b=Zn(a,95876,330138)|0;if(b|0?(c=(e3(b,95888)|0)==0,C2(b),c):0){c=5492;return c|0}b=Zn(a,95876,331477)|0;if(b|0?(c=(e3(b,95899)|0)==0,C2(b),c):0){c=5680;return c|0}b=Zn(a,95876,361197)|0;if(b|0?(c=(e3(b,95906)|0)==0,C2(b),c):0){c=4392;return c|0}b=Zn(a,95876,361197)|0;if(b|0?(c=(e3(b,95909)|0)==0,C2(b),c):0){c=4392;return c|0}b=Zn(a,95876,361197)|0;if(b|0?(c=(e3(b,95920)|0)==0,C2(b),c):0){c=5848;return c|0}c=5032;return c|0}function Zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=r4(95925)|0;g=B2((r4(d)|0)+g|0)|0;if(!g){g=0;l=h;return g|0}c[f>>2]=e;c[f+4>>2]=d;h3(g,95925,f)|0;b=m5(b,g)|0;if(!b){C2(g);g=0;l=h;return g|0}d=b+(r4(g)|0)|0;C2(g);if(!d){g=0;l=h;return g|0}b=s4(d,10)|0;if(!b){g=0;l=h;return g|0}while(1)if(d>>>0<b>>>0&(a[d>>0]|0)<33)d=d+1|0;else break;while(1){e=b+-1|0;if(b>>>0>d>>>0&(a[e>>0]|0)<33)b=e;else break}b=b-d|0;e=B2(b+1|0)|0;if(!e){g=0;l=h;return g|0}u6(e+b|0,0,(b|0)!=-1|0)|0;s6(e|0,d|0,b|0)|0;g=e;l=h;return g|0}function _n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+1263936+(b<<2)+(d<<8<<2)+4128>>2]=c[a+1412300+((e&255)<<2)>>2];return}function $n(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+1263936+(b<<2)+(d<<8<<2)+4128>>2]|0;if((c[a+1412300>>2]|0)==(b|0)){a=0;return a|0}if((c[a+1412304>>2]|0)==(b|0)){a=1;return a|0}if((c[a+1412308>>2]|0)==(b|0)){a=2;return a|0}if((c[a+1412312>>2]|0)==(b|0)){a=3;return a|0}if((c[a+1412316>>2]|0)==(b|0)){a=4;return a|0}if((c[a+1412320>>2]|0)==(b|0)){a=5;return a|0}if((c[a+1412324>>2]|0)==(b|0)){a=6;return a|0}if((c[a+1412328>>2]|0)==(b|0)){a=7;return a|0}if((c[a+1412332>>2]|0)==(b|0)){a=8;return a|0}if((c[a+1412336>>2]|0)==(b|0)){a=9;return a|0}if((c[a+1412340>>2]|0)==(b|0)){a=10;return a|0}if((c[a+1412344>>2]|0)==(b|0)){a=11;return a|0}if((c[a+1412348>>2]|0)==(b|0)){a=12;return a|0}if((c[a+1412352>>2]|0)==(b|0)){a=13;return a|0}if((c[a+1412356>>2]|0)==(b|0)){a=14;return a|0}else return ((c[a+1412360>>2]|0)==(b|0)?15:0)|0;return 0}function ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+1412300+((f&255)<<2)>>2]|0;if((b|0)>=(d|0))return;f=e<<8;do{c[a+1263936+(b<<2)+(f<<2)+4128>>2]=g;b=b+1|0}while((b|0)!=(d|0));return}function bo(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=h+16|0;j=c[k>>2]|0;if((j|0)>0){j=j+-1|0;c[k>>2]=j}if((f|0)<0|(j|0)==0){c[h+4>>2]=-1;c[h>>2]=-1;return}s=e+1411588|0;r=c[s>>2]|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;p=a[h+14>>0]|0;k=(p<<1&255)<<24>>24>>5;do if(k<<24>>24){e=k<<24>>24;if(k<<24>>24>0){o=O(e+1|0,j)|0;break}else{o=(j|0)/(1-e|0)|0;break}}else o=j;while(0);n=r+256+(f*66|0)+62|0;q=h+4|0;j=(o|0)<29?o:29;k=a[n>>0]|0;e=(k&255)>15;if((o|0)>0){if(e){l=k&15;h=(l+((k&255)>>>4)&255)+-1|0;l=l&255;k=0;e=0;do{k=(k|0)<(h|0)?k+1|0:l;e=e+1|0}while((e|0)!=(o|0))}else k=j;a[q>>0]=k;k=a[n+1>>0]|0;if((k&255)>15){l=k&15;h=(l+((k&255)>>>4)&255)+-1|0;l=l&255;k=0;e=0;do{k=(k|0)<(h|0)?k+1|0:l;e=e+1|0}while((e|0)!=(o|0))}else k=j;m=k&255;a[q+1>>0]=m;k=a[n+2>>0]|0;if((k&255)>15){l=k&15;h=(l+((k&255)>>>4)&255)+-1|0;l=l&255;k=0;e=0;do{k=(k|0)<(h|0)?k+1|0:l;e=e+1|0}while((e|0)!=(o|0))}else k=j;k=k&255;a[q+2>>0]=k;e=a[n+3>>0]|0;if((e&255)>15){l=e&15;h=(l+((e&255)>>>4)&255)+-1|0;l=l&255;j=0;e=0;do{j=(j|0)<(h|0)?j+1|0:l;e=e+1|0}while((e|0)!=(o|0))}h=j&255;j=m}else{h=j&255;a[q>>0]=e?0:h;j=(d[n+1>>0]|0)>15?0:h;a[q+1>>0]=j;k=(d[n+2>>0]|0)>15?0:h;a[q+2>>0]=k;h=(d[n+3>>0]|0)>15?0:h}a[q+3>>0]=h;e=r+256+(f*66|0)+(j<<24>>24<<1)|0;e=O(((d[e>>0]|d[e+1>>0]<<8)&15^15)&65535,p&15)|0;if(e>>>0<=14)return;j=r+256+(f*66|0)+(k<<24>>24<<1)|0;k=r+256+(f*66|0)+60|0;k=d[k>>0]|d[k+1>>0]<<8;j=O(((k&128)>>>6^2)+-1|0,((d[j>>0]|d[j+1>>0]<<8)&65535)>>>8&15)|0;if(!((j&255)<<24>>24))j=g;else j=~~+v6(+(+th(+((+(j<<24>>24|0)+(+H4(+(g|0)/440.0)*12.0+49.0)+-49.0)/12.0))*440.0));g=r+256+(f*66|0)+(h<<24>>24<<1)|0;b[i>>1]=(O(((d[g>>0]|d[g+1>>0]<<8)<<16>>16>>12&65535)<<24>>24,k&8?16:1)|0)+j&4095|(((e>>>0)/15|0)&65535)<<12&65535;j=r+256+(f*66|0)+(a[q>>0]<<1)|0;e=i+2|0;j=(c[s>>2]|0)+((((d[j>>0]|d[j+1>>0]<<8)&65535)>>>4&15)<<4)|0;k=e+16|0;do{a[e>>0]=a[j>>0]|0;e=e+1|0;j=j+1|0}while((e|0)<(k|0));return}function co(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0;g=(e*240|0)+c|0;e=b+(g>>>1)|0;c=d[e>>0]|0;b=f&255;if(!(g&1)){g=c&240;a[e>>0]=g;f=b&15;g=f|g;g=g&255;a[e>>0]=g;return}else{g=c&15;a[e>>0]=g;f=b<<4;g=f|g;g=g&255;a[e>>0]=g;return}}function eo(a,b,c){a=a|0;b=b|0;c=c|0;b=(c*240|0)+b|0;c=d[a+(b>>>1)>>0]|0;return (b&1|0?c>>>4:c&15)&255|0}function fo(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=g&255;l=k<<4|k;j=l&255;if((c|0)>=(e|0))return;i=f*240|0;if(!(c&1))g=c;else{f=i+c|0;h=b+(f>>>1)|0;g=d[h>>0]|0;if(!(f&1)){f=g&240;a[h>>0]=f;g=k&15}else{f=g&15;a[h>>0]=f;g=l<<4&4080}a[h>>0]=g|f;g=c+1|0}f=e-g>>1;if((f|0)>0)u6(b+(g+i>>1)|0,j|0,f|0)|0;if(!(e&1))return;e=e+-1+i|0;h=b+(e>>>1)|0;g=d[h>>0]|0;if(!(e&1)){f=g&240;a[h>>0]=f;g=k&15}else{f=g&15;a[h>>0]=f;g=l<<4&4080}a[h>>0]=g|f;return}function go(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a[d+81916>>0]=e;if((e|0)<0){c[d+1412200>>2]=0;g=d+1412222|0;a[g>>0]=a[g>>0]|15;c[d+1412224>>2]=-1;b[d+1412220>>1]=16;c[d+1412216>>2]=-1;c[d+1412212>>2]=-1;c[d+1412208>>2]=-1;g=d+1412242|0;a[g>>0]=a[g>>0]|15;c[d+1412244>>2]=-1;b[d+1412240>>1]=16;c[d+1412236>>2]=-1;c[d+1412232>>2]=-1;c[d+1412228>>2]=-1;g=d+1412262|0;a[g>>0]=a[g>>0]|15;c[d+1412264>>2]=-1;b[d+1412260>>1]=16;c[d+1412256>>2]=-1;c[d+1412252>>2]=-1;c[d+1412248>>2]=-1;g=d+1412282|0;a[g>>0]=a[g>>0]|15;c[d+1412284>>2]=-1;b[d+1412280>>1]=16;c[d+1412276>>2]=-1;c[d+1412272>>2]=-1;c[d+1412268>>2]=-1;return}a[d+81918>>0]=g;a[d+81917>>0]=(f|0)>0?f:0;f=d+81919|0;a[f>>0]=a[f>>0]&-2|h&1;c[d+1412200>>2]=2;f=c[d+1411592>>2]|0;if((g|0)>-1){g=O(g*900|0,(a[f+11520+(e*51|0)+50>>0]|0)+6|0)|0;f=((g|0)/((a[f+11520+(e*51|0)+48>>0]|0)+150|0)|0|0)/6|0}else f=0;c[d+1412204>>2]=f;return}function ho(a,d){a=a|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;p=+g[d+4>>2]<+g[a+4>>2];j=p?a:d;d=p?d:a;o=+g[j+4>>2];m=+g[d+4>>2];h=o-m;n=+g[d>>2];i=+g[j>>2]-n;l=+g[d+8>>2];f=+g[j+8>>2]-l;k=+g[d+12>>2];e=+g[j+12>>2]-k;if(~~h){e=e/h;f=f/h;i=i/h}h=0.0-m;if(m<0.0){k=k+h*e;l=l+h*f;m=0.0;h=n+h*i}else h=n;p=~~o;n=+(((p|0)<136?p:136)|0);if(!(m<n))return;while(1){j=~~h;a=~~m;if(a>>>0<136){d=414224+(a<<1)|0;if((b[d>>1]|0)>(j|0)){b[d>>1]=j;c[414496+(a<<2)>>2]=~~(l*65536.0);c[415040+(a<<2)>>2]=~~(k*65536.0)}a=413952+(a<<1)|0;if((b[a>>1]|0)<(j|0))b[a>>1]=j}m=m+1.0;if(!(m<n))break;else{k=e+k;l=f+l;h=i+h}}return}function io(b,e,f,g,h,i,j,k,m,n,o,p,q){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;K=l;l=l+16|0;I=K+12|0;J=K;a[I>>0]=n;G=o<<3;H=j+h|0;if((j|0)<=0){l=K;return}F=i+g|0;y=(i|0)>0;z=J+4|0;A=J+8|0;B=(p|0)==0;C=239-g|0;D=~g;E=g+240|0;v=h;w=135-h|0;x=~h;u=h+136|0;while(1){t=((v|0)>0?v:0)+w|0;t=t-((t>>>0)%136|0)|0;j=x-t|0;j=((j|0)>-136?j:-136)+u+t|0;j=v+t+(((j>>>0)%136|0)-j)|0;if(y){t=j*240|0;if(B){n=k;j=g;i=C;h=D;r=E;while(1){L=((j|0)>0?j:0)+i|0;L=L-((L>>>0)%240|0)|0;s=h-L|0;s=((s|0)>-240?s:-240)+r+L|0;s=a[e+(t+(j+L+(((s>>>0)%240|0)-s)))>>0]|0;a[J>>0]=s;c[z>>2]=0;c[A>>2]=0;cn(b,f+((s&255)<<5)|0,n,m,I,1,o,0,0);j=j+1|0;if((j|0)>=(F|0))break;else{n=n+G|0;i=i+-1|0;h=h+-1|0;r=r+1|0}}}else{n=k;i=g;h=C;r=D;s=E;while(1){M=((i|0)>0?i:0)+h|0;M=M-((M>>>0)%240|0)|0;L=r-M|0;L=((L|0)>-240?L:-240)+s+M|0;L=i+M+(((L>>>0)%240|0)-L)|0;a[J>>0]=a[e+(t+L)>>0]|0;c[z>>2]=0;c[A>>2]=0;ti[p&63](q,L,j,J);cn(b,f+((d[J>>0]|0)<<5)|0,n,m,I,1,o,c[z>>2]|0,c[A>>2]|0);i=i+1|0;if((i|0)>=(F|0))break;else{n=n+G|0;h=h+-1|0;r=r+-1|0;s=s+1|0}}}}v=v+1|0;if((v|0)>=(H|0))break;else{m=m+G|0;w=w+-1|0;x=x+-1|0;u=u+1|0}}l=K;return}function jo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(e>>>0>239)return;o=(f|0)>0?f:0;i=g+f|0;i=(i|0)<136?i:136;if((o|0)>=(i|0))return;j=b+1412056|0;k=b+1412060|0;l=b+1412064|0;m=b+1412068|0;n=b+1412364|0;h=h&15;g=(h>>>1)+(b+16368)|0;if(!(h&1)){f=o;do{if((((c[j>>2]|0)<=(e|0)?(c[k>>2]|0)<=(f|0):0)?(c[l>>2]|0)>(e|0):0)?(c[m>>2]|0)>(f|0):0)ti[c[n>>2]&63](b,e,f,a[g>>0]&15);f=f+1|0}while((f|0)<(i|0));return}else{f=o;do{if((((c[j>>2]|0)<=(e|0)?(c[k>>2]|0)<=(f|0):0)?(c[l>>2]|0)>(e|0):0)?(c[m>>2]|0)>(f|0):0)ti[c[n>>2]&63](b,e,f,(d[g>>0]|0)>>>4);f=f+1|0}while((f|0)<(i|0));return}}function ko(a,b,c,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=((j?128:0)+(b&255)<<3)+(a+1260612)|0;l=j?4:6;f=8-l|0;b=(i*7|0)+c-f|0;g=f;j=b;while(1){if((d[k>>0]|0)&1<<g|0)on(a,j,e,i,i,h);g=g+1|0;if((g|0)>=8)break;else j=j-i|0}c=k+1|0;e=e+i|0;g=f;j=b;while(1){if((d[c>>0]|0)&1<<g|0)on(a,j,e,i,i,h);g=g+1|0;if((g|0)>=8)break;else j=j-i|0}c=k+2|0;e=e+i|0;g=f;j=b;while(1){if((d[c>>0]|0)&1<<g|0)on(a,j,e,i,i,h);g=g+1|0;if((g|0)>=8)break;else j=j-i|0}c=k+3|0;e=e+i|0;g=f;j=b;while(1){if((d[c>>0]|0)&1<<g|0)on(a,j,e,i,i,h);g=g+1|0;if((g|0)>=8)break;else j=j-i|0}c=k+4|0;e=e+i|0;g=f;j=b;while(1){if((d[c>>0]|0)&1<<g|0)on(a,j,e,i,i,h);g=g+1|0;if((g|0)>=8)break;else j=j-i|0}j=k+5|0;g=e+i|0;while(1){if((d[j>>0]|0)&1<<f|0)on(a,b,g,i,i,h);f=f+1|0;if((f|0)>=8)break;else b=b-i|0}return O(l,i)|0}function lo(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=((l?128:0)+(e&255)<<3)+(b+1260612)|0;A=l?4:6;m=z+1|0;n=z+2|0;o=z+3|0;p=z+4|0;q=z+5|0;r=d[z>>0]|0;e=0;do{h=128>>>e;if(r&h|0)break;if((d[m>>0]|0)&h|0)break;if((d[n>>0]|0)&h|0)break;if((d[o>>0]|0)&h|0)break;if((d[p>>0]|0)&h|0)break;if((d[q>>0]|0)&h|0)break;e=e+1|0}while((e|0)<(A|0));a:do if((A|0)>(e|0)){i=A;while(1){h=i+-1|0;l=128>>>h;if(r&l|0){h=i;break a}if((d[m>>0]|0)&l|0){h=i;break a}if((d[n>>0]|0)&l|0){h=i;break a}if((d[o>>0]|0)&l|0){h=i;break a}if((d[p>>0]|0)&l|0){h=i;break a}if((d[q>>0]|0)&l|0){h=i;break a}if((h|0)>(e|0))i=h;else break}}else h=A;while(0);x=b+1412060|0;y=b+1412068|0;s=j&15;j=(s>>>1)+(b+16368)|0;s=(s&1|0)==0;t=b+1412056|0;u=b+1412064|0;v=b+1412372|0;w=(h|0)<=(e|0)|(k|0)<1;r=0;q=g;p=z;while(1){o=q;q=q+k|0;if(!w){l=f;n=e;do{m=l;l=l+k|0;if((d[p>>0]|0)&128>>>n|0)if(s){i=o;do{if((c[x>>2]|0)<=(i|0)?(c[y>>2]|0)>(i|0):0){z=c[t>>2]|0;g=c[u>>2]|0;zi[c[v>>2]&31](b,(z|0)<(m|0)?m:z,(l|0)<(g|0)?l:g,i,a[j>>0]&15)}i=i+1|0}while((i|0)<(q|0))}else{i=o;do{if((c[x>>2]|0)<=(i|0)?(c[y>>2]|0)>(i|0):0){z=c[t>>2]|0;g=c[u>>2]|0;zi[c[v>>2]&31](b,(z|0)<(m|0)?m:z,(l|0)<(g|0)?l:g,i,(d[j>>0]|0)>>>4)}i=i+1|0}while((i|0)<(q|0))}n=n+1|0}while((n|0)!=(h|0))}r=r+1|0;if((r|0)==6)break;else p=p+1|0}f=h-e|0;return O(f|0?f+1|0:A+-2|0,k)|0}function mo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;D=b+32|0;E=b+40|0;F=b+48|0;G=f+7|0;H=d;I=f+5|0;q=f+1|0;r=b+56|0;s=b+64|0;t=b+60|0;u=f+3|0;x=b+52|0;z=f+2|0;B=f+4|0;C=b+44|0;o=b+36|0;g=d;b=0;d=0;h=0;i=0;m=0;n=0;a:while(1){l=a[g>>0]|0;if(b|0){L=c[o>>2]|0;J=m5(g,L)|0;K=(J|0)==0;L=(K?b:J)+(r4(K?b:L)|0)|0;K=b;u6(e+(K-H)|0,a[B>>0]|0,L-K|0)|0;K=n;J=m;j=i;k=h;l=d;g=L;b=0;n=K;m=J;i=j;h=k;d=l;continue}if(d|0){b=c[C>>2]|0;J=m5(g,b)|0;l=(J|0)==0;b=(l?d:J)+(r4(l?d:b)|0)|0;l=d;u6(e+(l-H)|0,a[f>>0]|0,b-l|0)|0;l=n;J=m;K=i;L=h;g=b;b=0;d=0;n=l;m=J;i=K;h=L;continue}if(h|0){b=a[h>>0]|0;d=h;while(1){d=s4(d+1|0,b)|0;if(!d){p=12;break}if((a[d+-1>>0]|0)!=92){p=11;break}if((a[d+-2>>0]|0)==92){p=11;break}}if((p|0)==11){p=0;b=d+1|0}else if((p|0)==12){p=0;b=h+(r4(h)|0)|0}J=h;u6(e+(J-H)|0,a[f>>0]|0,b-J|0)|0;J=n;K=m;L=i;g=b;b=0;d=0;h=0;n=J;m=K;i=L;continue}if(i|0){d=g;b=l;b:while(1){switch(b<<24>>24){case 0:case 10:break b;default:{}}b=d+1|0;d=b;b=a[b>>0]|0}K=i;u6(e+(K-H)|0,a[B>>0]|0,d-K|0)|0;K=n;L=m;g=d;b=0;d=0;h=0;i=0;n=K;m=L;continue}if(m|0){k=g;b=l;c:while(1){switch(b<<24>>24){case 0:case 10:break c;default:{}}if(!(b<<24>>24==95|(K3(b<<24>>24)|0)!=0))break;b=k+1|0;k=b;b=a[b>>0]|0}i=m;j=k-i|0;d=c[r>>2]|0;d:do if((d|0)>0){g=c[x>>2]|0;b=0;while(1){h=c[g+(b<<2)>>2]|0;if((j|0)==(r4(h)|0)?(f3(m,h,j)|0)==0:0)break;b=b+1|0;if((b|0)>=(d|0))break d}u6(e+(i-H)|0,a[z>>0]|0,j|0)|0;L=n;g=k;b=0;d=0;h=0;i=0;m=0;n=L;continue a}while(0);g=c[s>>2]|0;if((g|0)<=0){L=n;g=k;b=0;d=0;h=0;i=0;m=0;n=L;continue}h=c[t>>2]|0;b=0;while(1){d=c[h+(b<<2)>>2]|0;if((j|0)==(r4(d)|0)?(f3(m,d,j)|0)==0:0)break;b=b+1|0;if((b|0)>=(g|0)){L=n;g=k;b=0;d=0;h=0;i=0;m=0;n=L;continue a}}u6(e+(i-H)|0,a[u>>0]|0,j|0)|0;L=n;g=k;b=0;d=0;h=0;i=0;m=0;n=L;continue}if(n|0){h=n+1|0;i=n+2|0;j=n;b=l;e:while(1){switch(b<<24>>24){case 0:case 10:break e;default:{}}d=b<<24>>24;f:do if((d+-48|0)>>>0>=10){g:do if((a[n>>0]|0)==48){switch(a[h>>0]|0){case 88:case 120:break;default:break g}if(Q3(a[i>>0]|0)|0){if((g-j|0)>=2?(Q3(d)|0)==0:0)break e;b=g+1|0;break f}}while(0);switch(b<<24>>24){case 69:case 101:case 46:break;default:break e}b=g+1|0;if(((a[b>>0]|0)+-48|0)>>>0>=10)break e}else b=g+1|0;while(0);g=b;b=a[b>>0]|0}u6(e+(j-H)|0,a[q>>0]|0,g-j|0)|0;b=0;d=0;h=0;i=0;m=0;n=0;continue}b=c[D>>2]|0;if(b|0?(v=r4(b)|0,(f3(g,b,v)|0)==0):0){b=g;g=g+v|0;d=0;h=0;i=0;m=0;n=0;continue}b=c[E>>2]|0;if(b|0?(w=r4(b)|0,(f3(g,b,w)|0)==0):0){d=g;g=g+w|0;b=0;h=0;i=0;m=0;n=0;continue}b=l<<24>>24;switch(l<<24>>24){case 39:case 34:{h=g;g=g+1|0;b=0;d=0;i=0;m=0;n=0;continue a}default:{}}d=c[F>>2]|0;if(d|0?(y=r4(d)|0,(f3(g,d,y)|0)==0):0){i=g;g=g+y|0;b=0;d=0;h=0;m=0;n=0;continue}if(l<<24>>24==95|(L3(b)|0)!=0){m=g;g=g+1|0;b=0;d=0;h=0;i=0;n=0;continue}if((b+-48|0)>>>0<10){n=g;g=g+1|0;b=0;d=0;h=0;i=0;m=0;continue}if(l<<24>>24==46?(A=g+1|0,((a[A>>0]|0)+-48|0)>>>0<10):0){n=g;g=A;b=0;d=0;h=0;i=0;m=0;continue}if(!(P3(b)|0)){if(M3(b)|0){b=G;p=68}}else{b=I;p=68}if((p|0)==68){p=0;a[e+(g-H)>>0]=a[b>>0]|0}if(!(l<<24>>24))break;else{g=g+1|0;b=0;d=0;h=0;i=0;m=0;n=0}}return}function no(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a;i=h6(c[i>>2]|0,c[i+4>>2]|0,d|0,0)|0;g=a+8|0;g=b6(i|0,z|0,c[g>>2]|0,c[g+4>>2]|0)|0;i=z;j=a+32|0;h=j+(c[a+16>>2]<<2)|0;f=m6(g|0,i|0,52)|0;f=h+(f<<2)|0;g=m6(g|0,i|0,47)|0;g=g&31;h=32-g|0;i=(O(i&32767,e)|0)>>15;d=e-i|0;if(f>>>0>(j+((c[a+20>>2]|0)+2<<2)|0)>>>0)Sa(96245,96077,309,96294);else{a=O(b[35708+(g<<4)>>1]|0,d)|0;e=O(b[35708+(g<<4)+16>>1]|0,i)|0;c[f>>2]=(c[f>>2]|0)+a+e;e=O(b[35708+(g<<4)+2>>1]|0,d)|0;a=O(b[35708+(g<<4)+18>>1]|0,i)|0;j=f+4|0;c[j>>2]=(c[j>>2]|0)+e+a;j=O(b[35708+(g<<4)+4>>1]|0,d)|0;a=O(b[35708+(g<<4)+20>>1]|0,i)|0;e=f+8|0;c[e>>2]=(c[e>>2]|0)+j+a;e=O(b[35708+(g<<4)+6>>1]|0,d)|0;a=O(b[35708+(g<<4)+22>>1]|0,i)|0;j=f+12|0;c[j>>2]=(c[j>>2]|0)+e+a;j=O(b[35708+(g<<4)+8>>1]|0,d)|0;a=O(b[35708+(g<<4)+24>>1]|0,i)|0;e=f+16|0;c[e>>2]=(c[e>>2]|0)+j+a;e=O(b[35708+(g<<4)+10>>1]|0,d)|0;a=O(b[35708+(g<<4)+26>>1]|0,i)|0;j=f+20|0;c[j>>2]=(c[j>>2]|0)+e+a;j=O(b[35708+(g<<4)+12>>1]|0,d)|0;a=O(b[35708+(g<<4)+28>>1]|0,i)|0;e=f+24|0;c[e>>2]=(c[e>>2]|0)+j+a;e=O(b[35708+(g<<4)+14>>1]|0,d)|0;a=O(b[35708+(g<<4)+30>>1]|0,i)|0;j=f+28|0;c[j>>2]=(c[j>>2]|0)+e+a;j=O(b[35708+(h<<4)+14>>1]|0,d)|0;a=O(b[35708+(h<<4)+-2>>1]|0,i)|0;g=f+32|0;c[g>>2]=(c[g>>2]|0)+j+a;g=O(b[35708+(h<<4)+12>>1]|0,d)|0;a=O(b[35708+(h<<4)+-4>>1]|0,i)|0;j=f+36|0;c[j>>2]=(c[j>>2]|0)+g+a;j=O(b[35708+(h<<4)+10>>1]|0,d)|0;a=O(b[35708+(h<<4)+-6>>1]|0,i)|0;g=f+40|0;c[g>>2]=(c[g>>2]|0)+j+a;g=O(b[35708+(h<<4)+8>>1]|0,d)|0;a=O(b[35708+(h<<4)+-8>>1]|0,i)|0;j=f+44|0;c[j>>2]=(c[j>>2]|0)+g+a;j=O(b[35708+(h<<4)+6>>1]|0,d)|0;a=O(b[35708+(h<<4)+-10>>1]|0,i)|0;g=f+48|0;c[g>>2]=(c[g>>2]|0)+j+a;g=O(b[35708+(h<<4)+4>>1]|0,d)|0;a=O(b[35708+(h<<4)+-12>>1]|0,i)|0;j=f+52|0;c[j>>2]=(c[j>>2]|0)+g+a;j=O(b[35708+(h<<4)+2>>1]|0,d)|0;a=O(b[35708+(h<<4)+-14>>1]|0,i)|0;g=f+56|0;c[g>>2]=(c[g>>2]|0)+j+a;g=O(b[35708+(h<<4)>>1]|0,d)|0;a=O(b[35708+(h<<4)+-16>>1]|0,i)|0;j=f+60|0;c[j>>2]=(c[j>>2]|0)+g+a;return}}function oo(a,b){a=a|0;b=b|0;b=l;l=l+16|0;Q5(96309,b);l=b;return}function po(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,D=0,E=0.0;D=l;l=l+48|0;C=D;o=D+20|0;y=b+1411572|0;f=c[y>>2]|0;if(f|0){Tu(c[f+44>>2]|0);c[y>>2]=0}x=B2(896)|0;u=x;a:do if(!x)h=0;else{u6(x|0,0,896)|0;s=x+4|0;c[s>>2]=17;c[x+8>>2]=13;r=x+12|0;c[r>>2]=187;t=x+16|0;c[t>>2]=b;c[x+20>>2]=188;v=x+60|0;c[v>>2]=1;w=x+64|0;c[w>>2]=1;c[x+140>>2]=0;c[x+144>>2]=1e3;k=x+148|0;c[k>>2]=u^5381;c[x+96>>2]=2;c[x+112>>2]=2;f=B2(4096)|0;m=x+176|0;c[m>>2]=f;b:do if(f|0){c[x+184>>2]=1024;n=x+180|0;c[n>>2]=1023;u6(f|0,0,4096)|0;j=C+4|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[C>>2]=347468;c[C+8>>2]=892;j=0;do{i=Qu(C,o)|0;f=c[k>>2]^i;h=(i>>>5)+1|0;if(h>>>0>i>>>0)g=f;else{g=i;do{f=(d[o+(g+-1)>>0]|0)+(f*33|0)|0;g=g-h|0}while(g>>>0>=h>>>0);g=f}f=c[(c[m>>2]|0)+((c[n>>2]&g)<<2)>>2]|0;c:do if(!f)q=13;else while(1){if(((c[f+12>>2]|0)==(g|0)?(c[f+20>>2]|0)==(i|0):0)?(f3(o,f+28|0,i)|0)==0:0)break c;f=c[f+8>>2]|0;if(!f){q=13;break}}while(0);if((q|0)==13){q=0;f=Gr(x,o,i,g)|0;if(!f){q=19;break}}switch(j|0){case 33:case 67:{c[f>>2]=c[f>>2]|8192;break}default:if(j>>>0>116?(p=c[f>>2]|0,c[f>>2]=p|2048,j>>>0>152):0)c[f>>2]=p|6144}i=f+4|0;c[i>>2]=(c[i>>2]|0)+1;c[x+244+(j<<2)>>2]=f;j=j+1|0}while(j>>>0<162);if((q|0)==19)break;h=Ru(x,308)|0;if(h|0){g=h+4|0;u6(g|0,0,304)|0;c[h>>2]=-1879048063;j=x+24|0;f=c[j>>2]|0;if(f|0)c[f+12>>2]=h;c[h+12>>2]=0;c[h+8>>2]=f;c[j>>2]=h;c[h+44>>2]=x;a[h+49>>0]=1;c[h+304>>2]=x+244;k=x+128|0;c[k>>2]=h;c[g>>2]=1;f=Ru(x,1536)|0;g=h+52|0;c[g>>2]=f;if(!f){li[c[r>>2]&511](c[t>>2]|0,0);c[g>>2]=0;break}u6(f|0,0,1536)|0;g=c[g>>2]|0;c[h+56>>2]=g+1024;c[h+60>>2]=g+1536;f=g;c[h+64>>2]=f;c[h+68>>2]=f;f=0;do{c[g+(f<<4)>>2]=2;f=f+1|0}while((f|0)!=96);Su(h);f=c[h+240>>2]|0;c[h+20>>2]=f;if(f|0){r=f+4|0;c[r>>2]=(c[r>>2]|0)+1}q=x+44|0;r=c[q>>2]|0;c[q>>2]=r+-1;if((r|0)<1)dr(x,2);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;do if(!f){dr(x,0);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,0);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(!f){dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(f|0)break;dr(x,1);f=Sh[c[s>>2]&255](c[t>>2]|0,40)|0;if(f|0)break;c[x+136>>2]=0;break b}}}}}}}}}while(0);i=f+4|0;g=i;h=g+36|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));c[f>>2]=134234241;g=c[j>>2]|0;if(g|0)c[g+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=g;c[j>>2]=f;c[x+136>>2]=f;c[i>>2]=1;if(!(Pf(C|0,0)|0)){E=+(c[C>>2]|0)*1.0e3+ +(c[C+4>>2]|0)/1.0e3;f=~~E>>>0;g=+B(E)>=1.0?(E>0.0?~~+P(+A(E/4294967296.0),4294967295.0)>>>0:~~+N((E-+(~~E>>>0))/4294967296.0)>>>0):0}else{f=0;g=0}h=x+152|0;c[h>>2]=f;c[h+4>>2]=g;g=c[(c[k>>2]|0)+44>>2]|0;h=g+152|0;j=h;f=0;i=c[j>>2]|0;j=c[j+4>>2]|0;do{i=b6(i|0,j|0,2135587861,-1640531527)|0;j=z;s=m6(i|0,j|0,30)|0;s=h6(s^i|0,z^j|0,484763065,-1084733587)|0;r=z;q=m6(s|0,r|0,27)|0;r=h6(q^s|0,z^r|0,321982955,-1798288965)|0;s=z;q=m6(r|0,s|0,31)|0;t=g+152+((f&1)<<3)|0;c[t>>2]=q^r;c[t+4>>2]=z^s;f=f+1|0}while((f|0)!=64);s=x+160|0;n=s;q=c[n+4>>2]|0;c[s>>2]=c[n>>2]^u;c[s+4>>2]=q;s=g+160|0;q=h;n=c[q>>2]|0;q=c[q+4>>2]|0;u=s;x=c[u>>2]^n;u=c[u+4>>2]^q;r=n6(n|0,q|0,55)|0;o=z;q=m6(n|0,q|0,9)|0;r=(q|r)^x;o=(z|o)^u;q=n6(x|0,u|0,14)|0;q=r^q;n=o^z;p=n6(x|0,u|0,36)|0;t=z;u=m6(x|0,u|0,28)|0;p=(u|p)^q;t=(z|t)^n;o=n6(r|0,o|0,55)|0;r=z;n=m6(q|0,n|0,9)|0;o=(n|o)^p;r=(z|r)^t;n=n6(p|0,t|0,14)|0;n=o^n;q=r^z;u=n6(p|0,t|0,36)|0;x=z;t=m6(p|0,t|0,28)|0;u=n^(t|u);x=q^(z|x);r=n6(o|0,r|0,55)|0;o=z;q=m6(n|0,q|0,9)|0;r=(q|r)^u;o=(z|o)^x;q=n6(u|0,x|0,14)|0;q=r^q;n=o^z;t=n6(u|0,x|0,36)|0;p=z;x=m6(u|0,x|0,28)|0;t=q^(x|t);p=n^(z|p);o=n6(r|0,o|0,55)|0;r=z;n=m6(q|0,n|0,9)|0;o=(n|o)^t;r=(z|r)^p;n=n6(t|0,p|0,14)|0;n=o^n;q=r^z;x=n6(t|0,p|0,36)|0;u=z;p=m6(t|0,p|0,28)|0;x=n^(p|x);u=q^(z|u);r=n6(o|0,r|0,55)|0;o=z;q=m6(n|0,q|0,9)|0;r=(q|r)^x;o=(z|o)^u;q=n6(x|0,u|0,14)|0;q=r^q;n=o^z;p=n6(x|0,u|0,36)|0;t=z;u=m6(x|0,u|0,28)|0;p=q^(u|p);t=n^(z|t);o=n6(r|0,o|0,55)|0;r=z;n=m6(q|0,n|0,9)|0;o=(n|o)^p;r=(z|r)^t;n=n6(p|0,t|0,14)|0;n=o^n;q=r^z;u=n6(p|0,t|0,36)|0;x=z;t=m6(p|0,t|0,28)|0;u=n^(t|u);x=q^(z|x);r=n6(o|0,r|0,55)|0;o=z;q=m6(n|0,q|0,9)|0;r=(q|r)^u;o=(z|o)^x;q=n6(u|0,x|0,14)|0;q=r^q;n=o^z;t=n6(u|0,x|0,36)|0;p=z;x=m6(u|0,x|0,28)|0;t=q^(x|t);p=n^(z|p);o=n6(r|0,o|0,55)|0;r=z;n=m6(q|0,n|0,9)|0;o=(n|o)^t;r=(z|r)^p;n=n6(t|0,p|0,14)|0;n=o^n;q=r^z;x=n6(t|0,p|0,36)|0;u=z;p=m6(t|0,p|0,28)|0;x=n^(p|x);u=q^(z|u);r=n6(o|0,r|0,55)|0;o=z;q=m6(n|0,q|0,9)|0;r=(q|r)^x;o=(z|o)^u;q=n6(x|0,u|0,14)|0;q=r^q;n=o^z;p=n6(x|0,u|0,36)|0;t=z;u=m6(x|0,u|0,28)|0;p=q^(u|p);t=n^(z|t);o=n6(r|0,o|0,55)|0;r=z;n=m6(q|0,n|0,9)|0;r=(z|r)^t;q=n6(p|0,t|0,14)|0;r=r^z;u=n6(p|0,t|0,36)|0;x=z;t=m6(p|0,t|0,28)|0;c[h>>2]=(n|o)^p^q;c[h+4>>2]=r;h=s;c[h>>2]=t|u;c[h+4>>2]=z|x;c[v>>2]=0;c[w>>2]=0;h=c[k>>2]|0;break a}}while(0);if(c[x+128>>2]|0){c[v>>2]=0;c[w>>2]=0}Tu(x);h=0}while(0);c[y>>2]=h;gz(h);g=h+68|0;f=c[g>>2]|0;if(f>>>0>=(c[h+56>>2]|0)>>>0)mr(h,4341);c[g>>2]=f+16;c[f>>2]=5;c[f+8>>2]=b;ky(h,96409);f=c[g>>2]|0;if((f|0)==(c[h+64>>2]|0))br(h,342583,50337407,342599);w=f+-16|0;c[g>>2]=w;x=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[w>>2]=2;if(x&8|0?(w=f+4|0,x=(c[w>>2]|0)+-1|0,c[w>>2]=x,(x|0)==0):0)qr(c[h+44>>2]|0,f);m=0;while(1){if(m>>>0>=3){tt(c[y>>2]|0,c[4728+(m<<3)>>2]|0,c[4728+(m<<3)+4>>2]|0,403133312,6);n=c[y>>2]|0;j=c[4576+(m<<2)>>2]|0;f=c[n+100>>2]|0;k=n+68|0;g=c[k>>2]|0;if(g>>>0>=(c[n+56>>2]|0)>>>0){q=64;break}c[k>>2]=g+16;c[g>>2]=9;c[g+8>>2]=f;i=f+4|0;c[i>>2]=(c[i>>2]|0)+1;i=n+64|0;f=c[i>>2]|0;g=(c[k>>2]|0)-f>>4;if(g>>>0<=1){q=66;break}h=f+(g+-2<<4)|0;f=f+(g+-1<<4)|0;g=f-h|0;if(g|0){c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];t6(h+16|0,h|0,g|0)|0;c[h>>2]=c[C>>2];c[h+4>>2]=c[C+4>>2];c[h+8>>2]=c[C+8>>2];c[h+12>>2]=c[C+12>>2]}ky(n,j);f=c[k>>2]|0;if((f|0)==(c[i>>2]|0)){q=70;break}w=f+-16|0;c[k>>2]=w;x=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[w>>2]=2;if(x&8|0?(w=f+4|0,x=(c[w>>2]|0)+-1|0,c[w>>2]=x,(x|0)==0):0)qr(c[n+44>>2]|0,f)}m=m+1|0;if((m|0)==38){q=75;break}}if((q|0)==64)mr(n,4153);else if((q|0)==66)Cr(n,376,-2);else if((q|0)==70)br(n,342583,50337407,342599);else if((q|0)==75){k=c[y>>2]|0;g=(e|0)==0;if(g)f=0;else f=r4(e)|0;c[C+4>>2]=e;c[C>>2]=f;c[C+8>>2]=3712;i=k+68|0;f=c[i>>2]|0;j=k+64|0;if(f>>>0<(c[j>>2]|0)>>>0)nr(k,342568,315);h=k+56|0;if((c[h>>2]|0)>>>0<(f+16|0)>>>0)nr(k,342568,315);if(!(pr(k,18,C,0,1)|0)){if(g)f=0;else f=r4(e)|0;c[C+4>>2]=e;c[C>>2]=f;c[C+8>>2]=3720;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0)nr(k,342568,315);if((c[h>>2]|0)>>>0<(f+16|0)>>>0)nr(k,342568,315);if(!(pr(k,18,C,0,1)|0)){f=c[k+100>>2]|0;g=c[i>>2]|0;if(g>>>0>=(c[h>>2]|0)>>>0)mr(k,4153);c[i>>2]=g+16;c[g>>2]=9;c[g+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[C>>2]=0;c[C+4>>2]=0;f=c[i>>2]|0;if(f>>>0<((c[j>>2]|0)+32|0)>>>0)nr(k,342568,315);if(((c[h>>2]|0)+32|0)>>>0<(f+16|0)>>>0)nr(k,342568,315);if(!(pr(k,19,C,2,1)|0)){C=1;l=D;return C|0}}}C=c[b+1411596>>2]|0;b=c[C+4>>2]|0;C=c[C+40>>2]|0;f=Ku(k)|0;li[b&511](C,f);f=c[i>>2]|0;if((f|0)==(c[j>>2]|0))br(k,342583,50337407,342599);b=f+-16|0;c[i>>2]=b;C=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[b>>2]=2;if(!(C&8)){C=0;l=D;return C|0}b=f+4|0;C=(c[b>>2]|0)+-1|0;c[b>>2]=C;if(C|0){C=0;l=D;return C|0}qr(c[k+44>>2]|0,f);C=0;l=D;return C|0}return 0}function qo(a){a=a|0;var b=0;a=a+1411572|0;b=c[a>>2]|0;if(!b)return;Tu(c[b+44>>2]|0);c[a>>2]=0;return}function ro(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;g=412360;c[g>>2]=0;c[g+4>>2]=0;g=c[a+1411572>>2]|0;if(!g){l=h;return}if(fz(g,331718)|0){c[e>>2]=0;c[e+4>>2]=0;b=g+68|0;f=c[b>>2]|0;d=g+64|0;if(f>>>0<((c[d>>2]|0)+16|0)>>>0)nr(g,342568,315);if((c[g+56>>2]|0)>>>0<f>>>0)nr(g,342568,315);if(pr(g,20,e,1,1)|0){e=c[a+1411596>>2]|0;a=c[e+4>>2]|0;e=c[e+40>>2]|0;f=Ku(g)|0;li[a&511](e,f)}}else{d=c[a+1411596>>2]|0;li[c[d+4>>2]&511](c[d+40>>2]|0,330189);d=g+64|0;b=g+68|0}a=c[b>>2]|0;if((a|0)==(c[d>>2]|0))br(g,342583,50337407,342599);e=a+-16|0;c[b>>2]=e;f=c[a+-16>>2]|0;b=c[a+-8>>2]|0;c[e>>2]=2;if(!(f&8)){l=h;return}e=b+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(f|0){l=h;return}qr(c[g+44>>2]|0,b);l=h;return}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;k=m;i=a+1411572|0;j=c[i>>2]|0;g=j+68|0;if(fz(j,331722)|0){f=c[g>>2]|0;e=c[j+56>>2]|0;if(f>>>0>=e>>>0)mr(j,4244);n=f+16|0;c[g>>2]=n;c[f>>2]=0;h[f+8>>3]=+(b|0);c[k>>2]=1;c[k+4>>2]=0;d=j+64|0;if(e>>>0<f>>>0?1:n>>>0<((c[d>>2]|0)+32|0)>>>0)nr(j,342568,315);if(pr(j,20,k,2,1)|0){f=c[a+1411596>>2]|0;e=c[f+4>>2]|0;f=c[f+40>>2]|0;n=Ku(j)|0;li[e&511](f,n)}}else d=j+64|0;e=c[g>>2]|0;if((e|0)==(c[d>>2]|0))br(j,342583,50337407,342599);f=e+-16|0;c[g>>2]=f;n=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[f>>2]=2;if(n&8|0?(g=d+4|0,n=(c[g>>2]|0)+-1|0,c[g>>2]=n,(n|0)==0):0)qr(c[j+44>>2]|0,d);i=c[i>>2]|0;g=i+68|0;if(fz(i,330180)|0){e=c[g>>2]|0;f=c[i+56>>2]|0;if(e>>>0>=f>>>0)mr(i,4244);n=e+16|0;c[g>>2]=n;c[e>>2]=0;h[e+8>>3]=+(b|0);c[k>>2]=1;c[k+4>>2]=0;d=i+64|0;if(f>>>0<e>>>0?1:n>>>0<((c[d>>2]|0)+32|0)>>>0)nr(i,342568,315);if(pr(i,20,k,2,1)|0){a=c[a+1411596>>2]|0;k=c[a+4>>2]|0;a=c[a+40>>2]|0;n=Ku(i)|0;li[k&511](a,n)}}else d=i+64|0;e=c[g>>2]|0;if((e|0)==(c[d>>2]|0))br(i,342583,50337407,342599);a=e+-16|0;c[g>>2]=a;n=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[a>>2]=2;if(!(n&8)){l=m;return}a=d+4|0;n=(c[a>>2]|0)+-1|0;c[a>>2]=n;if(n|0){l=m;return}qr(c[i+44>>2]|0,d);l=m;return}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h;g=c[a+1411572>>2]|0;if(fz(g,331726)|0){c[d>>2]=0;c[d+4>>2]=0;b=g+68|0;f=c[b>>2]|0;e=g+64|0;if(f>>>0<((c[e>>2]|0)+16|0)>>>0)nr(g,342568,315);if((c[g+56>>2]|0)>>>0<f>>>0)nr(g,342568,315);if(pr(g,20,d,1,1)|0){f=c[a+1411596>>2]|0;d=c[f+4>>2]|0;f=c[f+40>>2]|0;a=Ku(g)|0;li[d&511](f,a)}}else{e=g+64|0;b=g+68|0}d=c[b>>2]|0;if((d|0)==(c[e>>2]|0))br(g,342583,50337407,342599);f=d+-16|0;c[b>>2]=f;a=c[d+-16>>2]|0;b=c[d+-8>>2]|0;c[f>>2]=2;if(!(a&8)){l=h;return}f=b+4|0;a=(c[f>>2]|0)+-1|0;c[f>>2]=a;if(a|0){l=h;return}qr(c[g+44>>2]|0,b);l=h;return}function uo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[d>>2]=0;e=c[103896]|0;if(e|0){C2(e);c[103896]=0}g=m5(b,343698)|0;if(!g){n=0;return n|0}f=0;h=0;e=0;do{m=g+9|0;j=9;while(1){i=g+j|0;l=a[i>>0]|0;if(!(l<<24>>24)){g=i;break}i=l<<24>>24==95|(K3(l<<24>>24)|0)!=0;k=(i&1)+j|0;if(i)j=k;else{n=8;break}}if((n|0)==8){n=0;i=l<<24>>24==40?j:9;g=g+k|0;if((i|0)>9){if(!f)f=B2(8)|0;else f=D2(h,(c[d>>2]<<3)+8|0)|0;c[103896]=f;e=c[d>>2]|0;c[f+(e<<3)>>2]=m-b;c[f+(e<<3)+4>>2]=i+-9;c[d>>2]=(c[d>>2]|0)+1;e=f;h=f}}g=m5(g,343698)|0}while((g|0)!=0);return e|0}function vo(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;gz(a);iy(a,-1,96409)|0;q=ry(a,-1)|0;Nt(a);r=a+68|0;d=c[r>>2]|0;m=a+64|0;b=c[m>>2]|0;p=(d|0)!=(b|0)?b:0;if((c[((p|0)==0?368:p)>>2]&-2|0)==2)p=436559;else{p=Xr(a,0)|0;b=c[m>>2]|0;d=c[r>>2]|0}n=d-b>>4>>>0>1?b+16|0:0;if((c[((n|0)==0?368:n)>>2]&-2|0)!=2){nu(a,1);d=c[r>>2]|0;b=c[m>>2]|0;e=d-b>>4>>>0>1?b+16|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(f=+h[e+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)n=2147483647;else n=~~f;else n=-2147483648;else n=0}else n=0;l=d-b>>4>>>0>2?b+32|0:0;if((c[((l|0)==0?368:l)>>2]&-2|0)!=2){nu(a,2);d=c[r>>2]|0;b=c[m>>2]|0;e=d-b>>4>>>0>2?b+32|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(i=+h[e+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)l=2147483647;else l=~~i;else l=-2147483648;else l=0}else l=0;j=d-b>>4>>>0>3?b+48|0:0;if((c[((j|0)==0?368:j)>>2]&-2|0)!=2){nu(a,3);d=c[r>>2]|0;b=c[m>>2]|0;e=d-b>>4>>>0>3?b+48|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(k=+h[e+8>>3],!((K4(k)|0)==0|k<-2147483648.0)):0)if(k>2147483647.0)j=-1;else j=~~k&255;else j=0}else j=15;g=d-b>>4>>>0>4?b+64|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)==2)g=0;else{g=(is(a,4)|0)!=0;d=c[r>>2]|0;b=c[m>>2]|0}e=d-b>>4>>>0>5?b+80|0:0;if((c[((e|0)==0?368:e)>>2]&-2|0)!=2){nu(a,5);d=c[r>>2]|0;b=c[m>>2]|0;e=d-b>>4>>>0>5?b+80|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(o=+h[e+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)e=2147483647;else e=~~o;else e=-2147483648;else e=0}else e=1;m=d-b>>4>>>0>6?b+96|0:0;if((c[((m|0)==0?368:m)>>2]&-2|0)==2)b=0;else b=(is(a,6)|0)!=0;b=Zh[c[q+1262672>>2]&7](q,p|0?p:361168,n,l,j,g,e,b)|0;d=c[r>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[r>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(b>>>0);return 1}else mr(a,4274);return 0}function wo(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;gz(a);iy(a,-1,96409)|0;g=ry(a,-1)|0;Nt(a);i=c[g+1262676>>2]|0;e=a+68|0;f=a+64|0;j=c[f>>2]|0;j=(c[e>>2]|0)!=(j|0)?j:0;if(((c[((j|0)==0?368:j)>>2]&-2|0)!=2?(nu(a,0),b=c[f>>2]|0,b=(c[e>>2]|0)!=(b|0)?b:0,b=(b|0)==0?368:b,(c[b>>2]|0)==0):0)?(d=+h[b+8>>3],!((K4(d)|0)==0|d<-2147483648.0)):0)if(d>2147483647.0)b=-1;else b=~~d&255;else b=0;li[i&511](g,b);return 0}function xo(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0.0,l=0;nu(a,0);l=a+68|0;j=a+64|0;b=c[j>>2]|0;b=(c[l>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(e=+h[b+8>>3],(K4(e)|0)!=0):0)if(!(e<-2147483648.0))if(e>2147483647.0)i=2147483647;else i=~~e;else i=-2147483648;else i=0;nu(a,1);b=c[j>>2]|0;b=(c[l>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)d=2147483647;else d=~~f;else d=-2147483648;else d=0;gz(a);iy(a,-1,96409)|0;g=ry(a,-1)|0;Nt(a);b=c[j>>2]|0;b=(c[l>>2]|0)-b>>4>>>0>2?b+32|0:0;if((c[((b|0)==0?368:b)>>2]&-2|0)==2){b=Th[c[g+1262684>>2]&63](g,i,d)|0;d=c[l>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[l>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(b&255);l=1;return l|0}nu(a,2);b=c[j>>2]|0;b=(c[l>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],!((K4(k)|0)==0|k<-2147483648.0)):0)if(k>2147483647.0)b=-1;else b=~~k&255;else b=0;ti[c[g+1262680>>2]&63](g,i,d,b);l=0;return l|0}function yo(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;nu(a,0);m=a+68|0;n=a+64|0;b=c[n>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)l=2147483647;else l=~~d;else l=-2147483648;else l=0;nu(a,1);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)j=2147483647;else j=~~f;else j=-2147483648;else j=0;nu(a,2);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)g=2147483647;else g=~~i;else g=-2147483648;else g=0;nu(a,3);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)e=2147483647;else e=~~k;else e=-2147483648;else e=0;nu(a,4);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],!((K4(o)|0)==0|o<-2147483648.0)):0)if(o>2147483647.0)b=-1;else b=~~o&255;else b=0;gz(a);iy(a,-1,96409)|0;n=ry(a,-1)|0;Nt(a);Ai[c[n+1262688>>2]&15](n,l,j,g,e,b);return 0}function zo(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;nu(a,0);m=a+68|0;n=a+64|0;b=c[n>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)l=2147483647;else l=~~d;else l=-2147483648;else l=0;nu(a,1);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)j=2147483647;else j=~~f;else j=-2147483648;else j=0;nu(a,2);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)g=2147483647;else g=~~i;else g=-2147483648;else g=0;nu(a,3);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)e=2147483647;else e=~~k;else e=-2147483648;else e=0;nu(a,4);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],!((K4(o)|0)==0|o<-2147483648.0)):0)if(o>2147483647.0)b=-1;else b=~~o&255;else b=0;gz(a);iy(a,-1,96409)|0;n=ry(a,-1)|0;Nt(a);Ai[c[n+1262692>>2]&15](n,l,j,g,e,b);return 0}function Ao(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;nu(a,0);m=a+68|0;n=a+64|0;b=c[n>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)l=2147483647;else l=~~d;else l=-2147483648;else l=0;nu(a,1);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)j=2147483647;else j=~~f;else j=-2147483648;else j=0;nu(a,2);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)g=2147483647;else g=~~i;else g=-2147483648;else g=0;nu(a,3);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)e=2147483647;else e=~~k;else e=-2147483648;else e=0;nu(a,4);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],!((K4(o)|0)==0|o<-2147483648.0)):0)if(o>2147483647.0)b=-1;else b=~~o&255;else b=0;gz(a);iy(a,-1,96409)|0;n=ry(a,-1)|0;Nt(a);Ai[c[n+1262696>>2]&15](n,l,j,g,e,b);return 0}function Bo(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0.0,x=0,y=0;x=b+68|0;f=c[x>>2]|0;y=b+64|0;d=c[y>>2]|0;v=(f|0)!=(d|0)?d:0;if((c[((v|0)==0?368:v)>>2]&-2|0)!=2){nu(b,0);f=c[x>>2]|0;d=c[y>>2]|0;g=(f|0)!=(d|0)?d:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(e=+h[g+8>>3],(K4(e)|0)!=0):0)if(!(e<-2147483648.0))if(e>2147483647.0)v=2147483647;else v=~~e;else v=-2147483648;else v=0}else v=0;u=f-d>>4>>>0>1?d+16|0:0;if((c[((u|0)==0?368:u)>>2]&-2|0)!=2){nu(b,1);f=c[x>>2]|0;d=c[y>>2]|0;g=f-d>>4>>>0>1?d+16|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(l=+h[g+8>>3],(K4(l)|0)!=0):0)if(!(l<-2147483648.0))if(l>2147483647.0)u=2147483647;else u=~~l;else u=-2147483648;else u=0}else u=0;s=f-d>>4>>>0>2?d+32|0:0;if((c[((s|0)==0?368:s)>>2]&-2|0)!=2){nu(b,2);f=c[x>>2]|0;d=c[y>>2]|0;g=f-d>>4>>>0>2?d+32|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(m=+h[g+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0)s=2147483647;else s=~~m;else s=-2147483648;else s=0}else s=0;d=f-d>>4>>>0>3?d+48|0:0;d=(d|0)==0?368:d;f=c[d>>2]|0;a:do if((f&-2|0)==2)j=0;else{if(((f|0)==9?(i=c[d+8>>2]|0,i|0):0)?(c[i>>2]&-134217728|0)==268435456:0){k=b+44|0;j=0;while(1){et(b,3,j)|0;i=c[x>>2]|0;g=c[y>>2]|0;f=i-g>>4;f=f|0?g+(f+-1<<4)|0:0;if((c[((f|0)==0?368:f)>>2]&-2|0)==2)break;nu(b,-1);f=c[y>>2]|0;d=(c[x>>2]|0)-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(p=+h[d+8>>3],(K4(p)|0)!=0):0)if(!(p<-2147483648.0))if(p>2147483647.0)d=2147483647;else d=~~p;else d=-2147483648;else d=0;a[434137+j>>0]=d;f=j+1|0;d=c[x>>2]|0;if((d|0)==(c[y>>2]|0)){n=36;break}i=d+-16|0;c[x>>2]=i;j=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[i>>2]=2;if(j&8|0?(i=d+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0)qr(c[k>>2]|0,d);if((f|0)<16)j=f;else{j=f;break a}}if((n|0)==36)br(b,342583,50337407,342599);if((i|0)==(g|0))br(b,342583,50337407,342599);g=i+-16|0;c[x>>2]=g;n=c[i+-16>>2]|0;d=c[i+-8>>2]|0;c[g>>2]=2;if(!(n&8))break;i=d+4|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(n|0)break;qr(c[k>>2]|0,d);break}nu(b,3);d=c[y>>2]|0;d=(c[x>>2]|0)-d>>4>>>0>3?d+48|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(o=+h[d+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)d=2147483647;else d=~~o;else d=-2147483648;else d=0;a[434137]=d;j=1}while(0);f=c[x>>2]|0;d=c[y>>2]|0;n=f-d>>4>>>0>4?d+64|0:0;if((c[((n|0)==0?368:n)>>2]&-2|0)!=2){nu(b,4);g=c[x>>2]|0;d=c[y>>2]|0;f=g-d>>4>>>0>4?d+64|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(q=+h[f+8>>3],(K4(q)|0)!=0):0)if(!(q<-2147483648.0))if(q>2147483647.0){f=g;n=2147483647}else{f=g;n=~~q}else{f=g;n=-2147483648}else{f=g;n=0}}else n=1;k=f-d>>4>>>0>5?d+80|0:0;if((c[((k|0)==0?368:k)>>2]&-2|0)!=2){nu(b,5);g=c[x>>2]|0;d=c[y>>2]|0;f=g-d>>4>>>0>5?d+80|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(r=+h[f+8>>3],(K4(r)|0)!=0):0)if(!(r<-2147483648.0))if(r>2147483647.0){f=g;k=2147483647}else{f=g;k=~~r}else{f=g;k=-2147483648}else{f=g;k=0}}else k=0;i=f-d>>4>>>0>6?d+96|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)!=2){nu(b,6);g=c[x>>2]|0;d=c[y>>2]|0;f=g-d>>4>>>0>6?d+96|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(t=+h[f+8>>3],(K4(t)|0)!=0):0)if(!(t<-2147483648.0))if(t>2147483647.0){f=g;i=2147483647}else{f=g;i=~~t}else{f=g;i=-2147483648}else{f=g;i=0}}else i=0;g=f-d>>4>>>0>7?d+112|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){nu(b,7);g=c[x>>2]|0;d=c[y>>2]|0;f=g-d>>4>>>0>7?d+112|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(w=+h[f+8>>3],(K4(w)|0)!=0):0)if(!(w<-2147483648.0))if(w>2147483647.0){f=g;g=2147483647}else{f=g;g=~~w}else{f=g;g=-2147483648}else{f=g;g=0}}else g=1;f=f-d>>4>>>0>8?d+128|0:0;if((c[((f|0)==0?368:f)>>2]&-2|0)==2){y=1;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}nu(b,8);d=c[y>>2]|0;d=(c[x>>2]|0)-d>>4>>>0>8?d+128|0:0;d=(d|0)==0?368:d;if(c[d>>2]|0){y=0;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}e=+h[d+8>>3];if(!(K4(e)|0)){y=0;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}if(e<-2147483648.0){y=-2147483648;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}if(e>2147483647.0){y=2147483647;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}y=~~e;gz(b);iy(b,-1,96409)|0;x=ry(b,-1)|0;Nt(b);f=x+1262704|0;f=c[f>>2]|0;b=x+16384|0;Fi[f&1](x,b,v,u,s,g,y,434137,j,n,k,i);return 0}function Co(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0;gz(a);iy(a,-1,96409)|0;f=ry(a,-1)|0;Nt(a);g=a+68|0;b=c[g>>2]|0;d=a+64|0;i=c[d>>2]|0;i=(b|0)!=(i|0)?i:0;if((c[((i|0)==0?368:i)>>2]&-2|0)==2){if(b>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);e=+((c[f+65408>>2]|0)>>>0);c[g>>2]=b+16;c[b>>2]=0;h[b+8>>3]=e;return 1}nu(a,0);i=c[g>>2]|0;b=c[d>>2]|0;b=(i|0)!=(b|0)?b:0;b=(b|0)==0?368:b;d=i;if((c[b>>2]|0)==0?(e=+h[b+8>>3],!((K4(e)|0)==0|e<-2147483648.0)):0)if(e>2147483647.0)b=31;else b=~~e&31;else b=0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4185);i=(1<<b&c[f+65408>>2]|0)!=0&1;c[g>>2]=d+16;c[d>>2]=4;c[d+8>>2]=i;return 1}function Do(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0;gz(a);iy(a,-1,96409)|0;l=ry(a,-1)|0;Nt(a);m=a+68|0;b=c[m>>2]|0;j=a+64|0;e=c[j>>2]|0;d=e;n=(b|0)!=(d|0)?e:0;if((c[((n|0)==0?368:n)>>2]&-2|0)==2){b=Uh[c[l+1262800>>2]&63](l,-1,-1,-1)|0;d=c[m>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[m>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(b>>>0);return 1}b=b-d>>4;n=b>>>0>1?e+16|0:0;if((c[((n|0)==0?368:n)>>2]&-2|0)==2?(n=b>>>0>2?e+32|0:0,(c[((n|0)==0?368:n)>>2]&-2|0)==2):0){nu(a,0);b=c[j>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],!((K4(f)|0)==0|f<-2147483648.0)):0)if(f>2147483647.0)b=31;else b=~~f&31;else b=0;b=Uh[c[l+1262800>>2]&63](l,b,-1,-1)|0;d=c[m>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4185);c[m>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;return 1}nu(a,0);b=c[j>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],!((K4(g)|0)==0|g<-2147483648.0)):0)if(g>2147483647.0)e=31;else e=~~g&31;else e=0;nu(a,1);b=c[j>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)d=2147483647;else d=~~i;else d=-2147483648;else d=0;nu(a,2);b=c[j>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)b=2147483647;else b=~~k;else b=-2147483648;else b=0;b=Uh[c[l+1262800>>2]&63](l,e,d,b)|0;d=c[m>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4185);c[m>>2]=d+16;c[d>>2]=4;c[d+8>>2]=(b|0)!=0&1;return 1}function Eo(a){a=a|0;var b=0,e=0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;x=y+16|0;g=y+8|0;j=y;u=y+24|0;v=y+20|0;gz(a);iy(a,-1,96409)|0;w=ry(a,-1)|0;Nt(a);r=a+68|0;e=c[r>>2]|0;s=a+64|0;f=c[s>>2]|0;q=(e|0)!=(f|0)?f:0;if((c[((q|0)==0?368:q)>>2]&-2|0)!=2){nu(a,0);e=c[r>>2]|0;f=c[s>>2]|0;b=(e|0)!=(f|0)?f:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)q=2147483647;else q=~~i;else q=-2147483648;else q=0}else q=-1;c[u>>2]=-1;c[v>>2]=-1;if((q|0)>=64)zt(a,1,96416,341,338474,g);do if((q|0)>-1){b=w+65764+(q*66|0)+60|0;b=d[b>>0]|d[b+1>>0]<<8;c[u>>2]=(b&65535)>>>8&15;c[v>>2]=b&7;b=((b<<9&65535)<<16>>16>>13&65535)<<24>>24;g=e-f>>4>>>0>1?f+16|0:0;g=c[((g|0)==0?368:g)>>2]|0;if((g&-2|0)!=2){if((g|0)==8)if(zk(Xr(a,1)|0,u,v)|0){f=c[s>>2]|0;e=c[r>>2]|0;break}else zt(a,1,96416,327,338423,j);nu(a,1);e=c[r>>2]|0;f=c[s>>2]|0;g=e-f>>4>>>0>1?f+16|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(k=+h[g+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)g=2147483647;else g=~~k;else g=-2147483648;else g=0;c[u>>2]=(g|0)%12|0;c[v>>2]=(g|0)/12|0}}else b=8;while(0);m=e-f>>4>>>0>2?f+32|0:0;if((c[((m|0)==0?368:m)>>2]&-2|0)!=2){nu(a,2);e=c[r>>2]|0;f=c[s>>2]|0;g=e-f>>4>>>0>2?f+32|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(n=+h[g+8>>3],(K4(n)|0)!=0):0)if(!(n<-2147483648.0))if(n>2147483647.0)m=2147483647;else m=~~n;else m=-2147483648;else m=0}else m=-1;j=e-f>>4>>>0>3?f+48|0:0;if((c[((j|0)==0?368:j)>>2]&-2|0)!=2){nu(a,3);e=c[r>>2]|0;f=c[s>>2]|0;g=e-f>>4>>>0>3?f+48|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(o=+h[g+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)j=2147483647;else j=~~o;else j=-2147483648;else j=0}else j=0;g=e-f>>4>>>0>4?f+64|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){nu(a,4);e=c[r>>2]|0;f=c[s>>2]|0;g=e-f>>4>>>0>4?f+64|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(p=+h[g+8>>3],!((K4(p)|0)==0|p<-2147483648.0)):0)if(p>2147483647.0)g=15;else g=~~p&15;else g=0}else g=15;f=e-f>>4>>>0>5?f+80|0:0;if((c[((f|0)==0?368:f)>>2]&-2|0)!=2){nu(a,5);b=c[s>>2]|0;b=(c[r>>2]|0)-b>>4>>>0>5?b+80|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(t=+h[b+8>>3],(K4(t)|0)!=0):0)if(!(t<-2147483648.0))if(t>2147483647.0)b=2147483647;else b=~~t;else b=-2147483648;else b=0}if(j>>>0<4){li[c[w+1262748>>2]&511](w,j);Ci[c[w+1262752>>2]&7](w,q,c[u>>2]|0,c[v>>2]|0,m,j,g,b);l=y;return 0}else zt(a,1,96416,356,338457,x);return 0}function Fo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;z=A;w=a+68|0;b=c[w>>2]|0;x=a+64|0;d=c[x>>2]|0;y=(b|0)!=(d|0)?d:0;if((c[((y|0)==0?368:y)>>2]&-2|0)!=2){nu(a,0);e=c[w>>2]|0;d=c[x>>2]|0;b=(e|0)!=(d|0)?d:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0){y=2147483647;b=e}else{y=~~g;b=e}else{y=-2147483648;b=e}else{y=0;b=e}}else y=0;t=b-d>>4>>>0>1?d+16|0:0;if((c[((t|0)==0?368:t)>>2]&-2|0)!=2){nu(a,1);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>1?d+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(j=+h[b+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0){t=2147483647;b=e}else{t=~~j;b=e}else{t=-2147483648;b=e}else{t=0;b=e}}else t=0;r=b-d>>4>>>0>2?d+32|0:0;if((c[((r|0)==0?368:r)>>2]&-2|0)!=2){nu(a,2);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>2?d+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(m=+h[b+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0){r=2147483647;b=e}else{r=~~m;b=e}else{r=-2147483648;b=e}else{r=0;b=e}}else r=30;p=b-d>>4>>>0>3?d+48|0:0;if((c[((p|0)==0?368:p)>>2]&-2|0)!=2){nu(a,3);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>3?d+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0){b=e;p=2147483647}else{b=e;p=~~o}else{b=e;p=-2147483648}else{b=e;p=0}}else p=17;n=b-d>>4>>>0>4?d+64|0:0;if((c[((n|0)==0?368:n)>>2]&-2|0)!=2){nu(a,4);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>4?d+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(q=+h[b+8>>3],(K4(q)|0)!=0):0)if(!(q<-2147483648.0))if(q>2147483647.0){b=e;n=2147483647}else{b=e;n=~~q}else{b=e;n=-2147483648}else{b=e;n=0}}else n=0;k=b-d>>4>>>0>5?d+80|0:0;if((c[((k|0)==0?368:k)>>2]&-2|0)!=2){nu(a,5);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>5?d+80|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(s=+h[b+8>>3],(K4(s)|0)!=0):0)if(!(s<-2147483648.0))if(s>2147483647.0){b=e;k=2147483647}else{b=e;k=~~s}else{b=e;k=-2147483648}else{b=e;k=0}}else k=0;i=b-d>>4>>>0>6?d+96|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)!=2){nu(a,6);e=c[w>>2]|0;d=c[x>>2]|0;b=e-d>>4>>>0>6?d+96|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(u=+h[b+8>>3],!((K4(u)|0)==0|u<-2147483648.0)):0)if(u>2147483647.0){b=e;i=-1}else{b=e;i=~~u&255}else{b=e;i=0}}else i=-1;f=b-d>>4>>>0>7?d+112|0:0;if((c[((f|0)==0?368:f)>>2]&-2|0)!=2){nu(a,7);b=c[x>>2]|0;b=(c[w>>2]|0)-b>>4>>>0>7?b+112|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(v=+h[b+8>>3],(K4(v)|0)!=0):0)if(!(v<-2147483648.0))if(v>2147483647.0)f=2147483647;else f=~~v;else f=-2147483648;else f=0}else f=1;gz(a);iy(a,-1,96409)|0;e=ry(a,-1)|0;Nt(a);b=c[x>>2]|0;b=(c[w>>2]|0)-b>>4>>>0>8?b+128|0:0;b=(b|0)==0?368:b;d=c[b>>2]|0;if((d&-2|0)==2){Ei[c[e+1262708>>2]&15](e,e+32768|0,e+16384|0,y,t,r,p,n,k,i,f);l=A;return 0}if(!(d&8))b=0;else b=c[b+8>>2]|0;c[z>>2]=a;c[z+4>>2]=b;w=c[e+1262712>>2]|0;gz(a);iy(a,-1,96409)|0;x=ry(a,-1)|0;Nt(a);Gi[w&1](x,e+32768|0,e+16384|0,y,t,r,p,n,k,i,f,13,z);l=A;return 0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0;k=a+68|0;d=c[k>>2]|0;i=a+64|0;b=c[i>>2]|0;e=(d|0)!=(b|0)?b:0;if((c[((e|0)==0?368:e)>>2]&-2|0)!=2){nu(a,0);e=c[k>>2]|0;b=c[i>>2]|0;d=(e|0)!=(b|0)?b:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(f=+h[d+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0){d=e;e=2147483647}else{d=e;e=~~f}else{d=e;e=-2147483648}else{d=e;e=0}}else e=0;d=d-b>>4>>>0>1?b+16|0:0;if(((c[((d|0)==0?368:d)>>2]&-2|0)!=2?(nu(a,1),g=c[i>>2]|0,g=(c[k>>2]|0)-g>>4>>>0>1?g+16|0:0,g=(g|0)==0?368:g,(c[g>>2]|0)==0):0)?(j=+h[g+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0)b=2147483647;else b=~~j;else b=-2147483648;else b=0;gz(a);iy(a,-1,96409)|0;d=ry(a,-1)|0;Nt(a);b=Uh[c[d+1262720>>2]&63](d,d+32768|0,e,b)|0;d=c[k>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){c[k>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(b&255);return 1}else mr(a,4274);return 0}function Ho(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0.0;k=a+68|0;d=c[k>>2]|0;l=a+64|0;b=c[l>>2]|0;g=(d|0)!=(b|0)?b:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){nu(a,0);e=c[k>>2]|0;b=c[l>>2]|0;d=(e|0)!=(b|0)?b:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(f=+h[d+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0){d=e;g=2147483647}else{d=e;g=~~f}else{d=e;g=-2147483648}else{d=e;g=0}}else g=0;e=d-b>>4>>>0>1?b+16|0:0;if((c[((e|0)==0?368:e)>>2]&-2|0)!=2){nu(a,1);e=c[k>>2]|0;b=c[l>>2]|0;d=e-b>>4>>>0>1?b+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(i=+h[d+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0){d=e;e=2147483647}else{d=e;e=~~i}else{d=e;e=-2147483648}else{d=e;e=0}}else e=0;d=d-b>>4>>>0>2?b+32|0:0;if(((c[((d|0)==0?368:d)>>2]&-2|0)!=2?(nu(a,2),j=c[l>>2]|0,j=(c[k>>2]|0)-j>>4>>>0>2?j+32|0:0,j=(j|0)==0?368:j,(c[j>>2]|0)==0):0)?(m=+h[j+8>>3],!((K4(m)|0)==0|m<-2147483648.0)):0)if(m>2147483647.0)b=-1;else b=~~m&255;else b=0;gz(a);iy(a,-1,96409)|0;l=ry(a,-1)|0;Nt(a);zi[c[l+1262716>>2]&31](l,l+32768|0,g,e,b);return 1}function Io(a){a=a|0;var b=0,e=0.0,f=0,g=0,i=0;nu(a,0);i=a+68|0;b=c[a+64>>2]|0;b=(c[i>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;do if((c[b>>2]|0)==0?(e=+h[b+8>>3],(K4(e)|0)!=0):0)if(e<-2147483648.0|e>2147483647.0){i=0;return i|0}else{b=~~e;break}else b=0;while(0);if(!((b|0)>-1&b>>>0<81920)){i=0;return i|0}gz(a);iy(a,-1,96409)|0;f=ry(a,-1)|0;Nt(a);g=c[i>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);e=+(d[f+b>>0]|0);c[i>>2]=g+16;c[g>>2]=0;h[g+8>>3]=e;i=1;return i|0}function Jo(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;nu(b,0);g=b+68|0;i=b+64|0;d=c[i>>2]|0;d=(c[g>>2]|0)!=(d|0)?d:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(e=+h[d+8>>3],(K4(e)|0)!=0):0)if(!(e<-2147483648.0))if(e>2147483647.0)f=2147483647;else f=~~e;else f=-2147483648;else f=0;nu(b,1);d=c[i>>2]|0;d=(c[g>>2]|0)-d>>4>>>0>1?d+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(j=+h[d+8>>3],!((K4(j)|0)==0|j<-2147483648.0)):0)if(j>2147483647.0)d=-1;else d=~~j&255;else d=0;if(!((f|0)>-1&f>>>0<81920))return 0;gz(b);iy(b,-1,96409)|0;i=ry(b,-1)|0;Nt(b);a[i+f>>0]=d;return 0}function Ko(a){a=a|0;var b=0,e=0.0,f=0,g=0,i=0;nu(a,0);i=a+68|0;b=c[a+64>>2]|0;b=(c[i>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;do if((c[b>>2]|0)==0?(e=+h[b+8>>3],(K4(e)|0)!=0):0)if(e<-2147483648.0|e>2147483647.0){i=0;return i|0}else{b=~~e;break}else b=0;while(0);if(!((b|0)>-1&b>>>0<163840)){i=0;return i|0}gz(a);iy(a,-1,96409)|0;f=ry(a,-1)|0;Nt(a);f=d[f+(b>>>1)>>0]|0;g=c[i>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[i>>2]=g+16;c[g>>2]=0;h[g+8>>3]=+((b&1|0?f>>>4:f&15)>>>0);i=1;return i|0}function Lo(b){b=b|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0;nu(b,0);f=b+68|0;i=b+64|0;e=c[i>>2]|0;e=(c[f>>2]|0)!=(e|0)?e:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(g=+h[e+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)k=2147483647;else k=~~g;else k=-2147483648;else k=0;nu(b,1);e=c[i>>2]|0;e=(c[f>>2]|0)-e>>4>>>0>1?e+16|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(j=+h[e+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0)f=2147483647;else f=~~j;else f=-2147483648;else f=0;if(!((k|0)>-1&k>>>0<163840))return 0;gz(b);iy(b,-1,96409)|0;i=ry(b,-1)|0;Nt(b);i=i+(k>>>1)|0;e=d[i>>0]|0;if(!(k&1)){b=e&240;a[i>>0]=b;e=f&15;f=b}else{b=e&15;a[i>>0]=b;e=f<<4&4080;f=b}a[i>>0]=e|f;return 0}function Mo(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0.0;nu(a,0);i=a+68|0;j=a+64|0;b=c[j>>2]|0;b=(c[i>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)g=2147483647;else g=~~d;else g=-2147483648;else g=0;nu(a,1);b=c[j>>2]|0;b=(c[i>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)e=2147483647;else e=~~f;else e=-2147483648;else e=0;nu(a,2);b=c[j>>2]|0;b=(c[i>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)b=2147483647;else b=~~k;else b=-2147483648;else b=0;j=81920-b|0;if((e|0)>(j|0)|((g|0)>(j|0)|(b>>>0>81920|(e|g|b|0)<0)))return 0;gz(a);iy(a,-1,96409)|0;j=ry(a,-1)|0;Nt(a);s6(j+g|0,j+e|0,b|0)|0;return 0}function No(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0.0;nu(a,0);i=a+68|0;j=a+64|0;b=c[j>>2]|0;b=(c[i>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)g=2147483647;else g=~~d;else g=-2147483648;else g=0;nu(a,1);b=c[j>>2]|0;b=(c[i>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],!((K4(f)|0)==0|f<-2147483648.0)):0)if(f>2147483647.0)e=-1;else e=~~f&255;else e=0;nu(a,2);b=c[j>>2]|0;b=(c[i>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)b=2147483647;else b=~~k;else b=-2147483648;else b=0;if((g|0)>(81920-b|0)|(b>>>0>81920|(b|g|0)<0))return 0;gz(a);iy(a,-1,96409)|0;j=ry(a,-1)|0;Nt(a);u6(j+g|0,e|0,b|0)|0;return 0}function Oo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0;gz(a);iy(a,-1,96409)|0;j=ry(a,-1)|0;Nt(a);e=a+68|0;d=c[e>>2]|0;f=a+64|0;b=c[f>>2]|0;g=(d|0)!=(b|0)?b:0;if((c[((g|0)==0?368:g)>>2]&-2|0)==2)g=436559;else{g=Xr(a,0)|0;b=c[f>>2]|0;d=c[e>>2]|0}d=d-b>>4>>>0>1?b+16|0:0;if((c[((d|0)==0?368:d)>>2]&-2|0)!=2){nu(a,1);b=c[f>>2]|0;b=(c[e>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],!((K4(i)|0)==0|i<-2147483648.0)):0)if(i>2147483647.0)b=-1;else b=~~i&255;else b=0}else b=15;j=c[j+1411596>>2]|0;si[c[j>>2]&127](c[j+40>>2]|0,g|0?g:361168,b);return 0}function Po(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0;q=l;l=l+16|0;i=q;gz(b);iy(b,-1,96409)|0;o=ry(b,-1)|0;Nt(b);nu(b,0);p=b+68|0;d=c[p>>2]|0;m=b+64|0;j=c[m>>2]|0;k=j;e=(d|0)!=(k|0)?j:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(f=+h[e+8>>3],(K4(f)|0)!=0):0){if(f<-2147483648.0|f>2147483647.0)zt(b,1,96416,580,338493,i);e=~~f;if(e>>>0<256)g=e;else zt(b,1,96416,580,338493,i)}else g=0;g=o+1262836+(g<<2)|0;i=c[g>>2]|0;k=d-k>>4>>>0>1?j+16|0:0;if((c[((k|0)==0?368:k)>>2]&-2|0)!=2){nu(b,1);d=c[p>>2]|0;e=c[m>>2]|0;e=d-e>>4>>>0>1?e+16|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(n=+h[e+8>>3],!(n<0.0|(K4(n)|0)==0)):0)if(n>4294967295.0)e=-1;else e=~~n>>>0;else e=0;c[g>>2]=e;a[(c[o+1411596>>2]|0)+32>>0]=1}if(d>>>0<(c[b+56>>2]|0)>>>0){c[p>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(i|0);l=q;return 1}else mr(b,4244);return 0}function Qo(a){a=a|0;var b=0.0,d=0,e=0;gz(a);iy(a,-1,96409)|0;d=ry(a,-1)|0;Nt(a);b=+Oh[c[d+1262768>>2]&3](d);d=a+68|0;e=c[d>>2]|0;if(e>>>0<(c[a+56>>2]|0)>>>0){c[d>>2]=e+16;c[e>>2]=0;h[e+8>>3]=b;return 1}else mr(a,4215);return 0}function Ro(a){a=a|0;var b=0;gz(a);iy(a,-1,96409)|0;b=ry(a,-1)|0;Nt(a);a=c[b+1411596>>2]|0;fi[c[a+8>>2]&511](c[a+40>>2]|0);return 0}function So(b){b=b|0;var d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;gz(b);iy(b,-1,96409)|0;z=ry(b,-1)|0;Nt(b);x=Xr(b,0)|0;nu(b,1);A=b+68|0;l=b+64|0;d=c[l>>2]|0;d=(c[A>>2]|0)-d>>4>>>0>1?d+16|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(e=+h[d+8>>3],(K4(e)|0)!=0):0)if(!(e<-2147483648.0))if(e>2147483647.0)y=2147483647;else y=~~e;else y=-2147483648;else y=0;nu(b,2);d=c[l>>2]|0;d=(c[A>>2]|0)-d>>4>>>0>2?d+32|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(g=+h[d+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)v=2147483647;else v=~~g;else v=-2147483648;else v=0;nu(b,3);j=c[A>>2]|0;f=c[l>>2]|0;i=j-f>>4;d=i>>>0>3?f+48|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(k=+h[d+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)d=2147483647;else d=~~k;else d=-2147483648;else d=0;w=d&255;u=i>>>0>4?f+64|0:0;if((c[((u|0)==0?368:u)>>2]&-2|0)!=2){nu(b,4);i=c[A>>2]|0;f=c[l>>2]|0;d=i-f>>4>>>0>4?f+64|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(p=+h[d+8>>3],(K4(p)|0)!=0):0)if(!(p<-2147483648.0))if(p>2147483647.0){u=2147483647;d=i}else{u=~~p;d=i}else{u=-2147483648;d=i}else{u=0;d=i}}else{u=8;d=j}s=d-f>>4>>>0>5?f+80|0:0;if((c[((s|0)==0?368:s)>>2]&-2|0)!=2){nu(b,5);i=c[A>>2]|0;f=c[l>>2]|0;d=i-f>>4>>>0>5?f+80|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(r=+h[d+8>>3],(K4(r)|0)!=0):0)if(!(r<-2147483648.0))if(r>2147483647.0){d=i;s=2147483647}else{d=i;s=~~r}else{d=i;s=-2147483648}else{d=i;s=0}}else s=8;q=d-f>>4>>>0>6?f+96|0:0;if((c[((q|0)==0?368:q)>>2]&-2|0)==2)q=3;else{q=(is(b,6)|0)!=0;f=c[l>>2]|0;d=c[A>>2]|0;q=q?4:3}o=d-f>>4>>>0>7?f+112|0:0;if((c[((o|0)==0?368:o)>>2]&-2|0)!=2){nu(b,7);i=c[A>>2]|0;f=c[l>>2]|0;d=i-f>>4>>>0>7?f+112|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==0?(t=+h[d+8>>3],(K4(t)|0)!=0):0)if(!(t<-2147483648.0))if(t>2147483647.0){d=i;o=2147483647}else{d=i;o=~~t}else{d=i;o=-2147483648}else{d=i;o=0}}else o=1;n=d-f>>4>>>0>8?f+128|0:0;if((c[((n|0)==0?368:n)>>2]&-2|0)==2)f=0;else f=is(b,8)|0;if(!o){d=c[A>>2]|0;if(d>>>0<(c[b+56>>2]|0)>>>0){t=0.0;b=d;z=b+16|0;c[A>>2]=z;c[b>>2]=0;A=b+8|0;h[A>>3]=t;return 1}else mr(b,4244)}l=(f|0)!=0;m=O(o,s)|0;n=y;d=x;i=v;a:while(1){j=y;b:while(1){f=d+1|0;d=a[d>>0]|0;switch(d<<24>>24){case 0:break a;case 10:break b;default:{}}j=(_h[q&7](z,d,j,i,u,s,w,o,l)|0)+j|0;d=f}n=(j|0)>(n|0)?j:n;d=f;i=i+m|0}d=c[A>>2]|0;if(d>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4244);t=+(((j|0)>(n|0)?j:n)-y|0);b=d;z=b+16|0;c[A>>2]=z;c[b>>2]=0;A=b+8|0;h[A>>3]=t;return 1}function To(a){a=a|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;gz(a);iy(a,-1,96409)|0;j=ry(a,-1)|0;Nt(a);i=Or(a,48)|0;f=c[a+44>>2]|0;c[i>>2]=272679041;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=g;c[f>>2]=i;f=c[a+132>>2]|0;c[i+20>>2]=f;if(f|0){l=f+4|0;c[l>>2]=(c[l>>2]|0)+1}l=a+68|0;f=c[l>>2]|0;c[f>>2]=9;c[f+8>>2]=i;f=i+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[l>>2]|0;i=f-(c[a+64>>2]|0)>>4;g=f+16|0;c[l>>2]=g;k=a+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(a,4244);m=+(d[j+65412>>0]|0);c[l>>2]=f+32;c[g>>2]=0;h[f+24>>3]=m;Ft(a,i,0);f=c[l>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4244);m=+(d[j+65413>>0]|0);c[l>>2]=f+16;c[f>>2]=0;h[f+8>>3]=m;Ft(a,i,1);g=j+65414|0;f=c[l>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4185);j=b[g>>1]&1;c[l>>2]=f+16;c[f>>2]=4;c[f+8>>2]=j;Ft(a,i,2);f=c[l>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4185);j=(e[g>>1]|0)>>>1&1;c[l>>2]=f+16;c[f>>2]=4;c[f+8>>2]=j;Ft(a,i,3);f=c[l>>2]|0;if(f>>>0<(c[k>>2]|0)>>>0){k=(e[g>>1]|0)>>>2&1;c[l>>2]=f+16;c[f>>2]=4;c[f+8>>2]=k;Ft(a,i,4);return 1}else mr(a,4185);return 0}function Uo(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0;nu(a,2);k=a+68|0;l=a+64|0;b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0){if(d<-2147483648.0)return 0;if(!(d>2147483647.0)){b=~~d;if((b|0)<0)return 0;else i=b}else i=2147483647}else i=0;nu(a,0);b=c[l>>2]|0;b=(c[k>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)f=2147483647;else f=~~g;else f=-2147483648;else f=0;nu(a,1);b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(j=+h[b+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0)e=2147483647;else e=~~j;else e=-2147483648;else e=0;nu(a,3);b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(m=+h[b+8>>3],!((K4(m)|0)==0|m<-2147483648.0)):0)if(m>2147483647.0)b=-1;else b=~~m&255;else b=0;gz(a);iy(a,-1,96409)|0;l=ry(a,-1)|0;Nt(a);zi[c[l+1262724>>2]&31](l,f,e,i,b);return 0}function Vo(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0;nu(a,2);k=a+68|0;l=a+64|0;b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0){if(d<-2147483648.0)return 0;if(!(d>2147483647.0)){b=~~d;if((b|0)<0)return 0;else i=b}else i=2147483647}else i=0;nu(a,0);b=c[l>>2]|0;b=(c[k>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)f=2147483647;else f=~~g;else f=-2147483648;else f=0;nu(a,1);b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(j=+h[b+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0)e=2147483647;else e=~~j;else e=-2147483648;else e=0;nu(a,3);b=c[l>>2]|0;b=(c[k>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(m=+h[b+8>>3],!((K4(m)|0)==0|m<-2147483648.0)):0)if(m>2147483647.0)b=-1;else b=~~m&255;else b=0;gz(a);iy(a,-1,96409)|0;l=ry(a,-1)|0;Nt(a);zi[c[l+1262728>>2]&31](l,f,e,i,b);return 0}function Wo(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0;nu(a,0);q=a+68|0;r=a+64|0;b=c[r>>2]|0;b=(c[q>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)p=2147483647;else p=~~d;else p=-2147483648;else p=0;nu(a,1);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)n=2147483647;else n=~~f;else n=-2147483648;else n=0;nu(a,2);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)l=2147483647;else l=~~i;else l=-2147483648;else l=0;nu(a,3);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0)j=2147483647;else j=~~k;else j=-2147483648;else j=0;nu(a,4);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(m=+h[b+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0)g=2147483647;else g=~~m;else g=-2147483648;else g=0;nu(a,5);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>5?b+80|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)e=2147483647;else e=~~o;else e=-2147483648;else e=0;nu(a,6);b=c[r>>2]|0;b=(c[q>>2]|0)-b>>4>>>0>6?b+96|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(s=+h[b+8>>3],!((K4(s)|0)==0|s<-2147483648.0)):0)if(s>2147483647.0)b=-1;else b=~~s&255;else b=0;gz(a);iy(a,-1,96409)|0;r=ry(a,-1)|0;Nt(a);Ci[c[r+1262732>>2]&7](r,p,n,l,j,g,e,b);return 0}function Xo(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=a+68|0;v=a+64|0;b=c[v>>2]|0;if((c[u>>2]|0)==(b|0))Cr(a,300,0);e=+Ar(a,b);d=c[v>>2]|0;r=c[d>>2]|0;p=d+8|0;b=c[p>>2]|0;c[d>>2]=0;h[p>>3]=e;if((r&8|0)!=0?(p=b+4|0,r=(c[p>>2]|0)+-1|0,c[p>>2]=r,(r|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=1)Cr(a,300,1);f=+Ar(a,d+16|0);d=c[v>>2]|0;w=d+16|0;r=c[w>>2]|0;p=d+24|0;b=c[p>>2]|0;c[w>>2]=0;h[p>>3]=f;if((r&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=2)Cr(a,300,2);g=+Ar(a,d+32|0);d=c[v>>2]|0;p=d+32|0;w=c[p>>2]|0;r=d+40|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=g;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=3)Cr(a,300,3);i=+Ar(a,d+48|0);d=c[v>>2]|0;p=d+48|0;w=c[p>>2]|0;r=d+56|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=i;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=4)Cr(a,300,4);j=+Ar(a,d+64|0);d=c[v>>2]|0;p=d+64|0;w=c[p>>2]|0;r=d+72|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=j;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=5)Cr(a,300,5);k=+Ar(a,d+80|0);d=c[v>>2]|0;p=d+80|0;w=c[p>>2]|0;r=d+88|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=k;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);b=c[v>>2]|0}else b=d;if((c[u>>2]|0)-b>>4>>>0<=6)Cr(a,300,6);l=+Ar(a,b+96|0);d=c[v>>2]|0;p=d+96|0;w=c[p>>2]|0;r=d+104|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=l;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=7)Cr(a,300,7);m=+Ar(a,d+112|0);d=c[v>>2]|0;p=d+112|0;w=c[p>>2]|0;r=d+120|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=m;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=8)Cr(a,300,8);n=+Ar(a,d+128|0);d=c[v>>2]|0;p=d+128|0;w=c[p>>2]|0;r=d+136|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=n;if((w&8|0)!=0?(r=b+4|0,w=(c[r>>2]|0)+-1|0,c[r>>2]=w,(w|0)==0):0){qr(c[a+44>>2]|0,b);d=c[v>>2]|0}if((c[u>>2]|0)-d>>4>>>0<=9)Cr(a,300,9);o=+Ar(a,d+144|0);d=c[v>>2]|0;p=d+144|0;w=c[p>>2]|0;r=d+152|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=o;do if(w&8){r=b+4|0;w=(c[r>>2]|0)+-1|0;c[r>>2]=w;if(w|0)break;qr(c[a+44>>2]|0,b);d=c[v>>2]|0}while(0);t=o;if((c[u>>2]|0)-d>>4>>>0<=10)Cr(a,300,10);o=+Ar(a,d+160|0);d=c[v>>2]|0;p=d+160|0;w=c[p>>2]|0;r=d+168|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=o;do if(w&8){r=b+4|0;w=(c[r>>2]|0)+-1|0;c[r>>2]=w;if(w|0)break;qr(c[a+44>>2]|0,b);d=c[v>>2]|0}while(0);s=o;if((c[u>>2]|0)-d>>4>>>0<=11)Cr(a,300,11);o=+Ar(a,d+176|0);r=c[v>>2]|0;p=r+176|0;w=c[p>>2]|0;r=r+184|0;b=c[r>>2]|0;c[p>>2]=0;h[r>>3]=o;do if(w&8|0){r=b+4|0;w=(c[r>>2]|0)+-1|0;c[r>>2]=w;if(w|0)break;qr(c[a+44>>2]|0,b)}while(0);q=o;gz(a);iy(a,-1,96409)|0;r=ry(a,-1)|0;Nt(a);d=c[u>>2]|0;b=c[v>>2]|0;w=d-b>>4>>>0>12?b+192|0:0;if((c[((w|0)==0?368:w)>>2]&-2|0)==2)p=0;else{p=(is(a,12)|0)!=0;b=c[v>>2]|0;d=c[u>>2]|0}w=d-b>>4>>>0>13?b+208|0:0;if((c[((w|0)==0?368:w)>>2]&-2|0)==2){w=-1;v=r+1262736|0;v=c[v>>2]|0;ki[v&1](r,e,f,g,i,j,k,l,m,n,t,s,q,p,w);return 0}nu(a,13);b=c[v>>2]|0;b=(c[u>>2]|0)-b>>4>>>0>13?b+208|0:0;b=(b|0)==0?368:b;if(c[b>>2]|0){w=0;v=r+1262736|0;v=c[v>>2]|0;ki[v&1](r,e,f,g,i,j,k,l,m,n,t,s,q,p,w);return 0}o=+h[b+8>>3];if((K4(o)|0)==0|o<-2147483648.0){w=0;v=r+1262736|0;v=c[v>>2]|0;ki[v&1](r,e,f,g,i,j,k,l,m,n,t,s,q,p,w);return 0}if(o>2147483647.0){w=-1;v=r+1262736|0;v=c[v>>2]|0;ki[v&1](r,e,f,g,i,j,k,l,m,n,t,s,q,p,w);return 0}w=~~o&255;v=r+1262736|0;v=c[v>>2]|0;ki[v&1](r,e,f,g,i,j,k,l,m,n,t,s,q,p,w);return 0}function Yo(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;nu(a,0);m=a+68|0;n=a+64|0;b=c[n>>2]|0;b=(c[m>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)l=2147483647;else l=~~d;else l=-2147483648;else l=0;nu(a,1);b=c[m>>2]|0;e=c[n>>2]|0;g=b-e>>4;f=g>>>0>1?e+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(i=+h[f+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)j=2147483647;else j=~~i;else j=-2147483648;else j=0;g=g>>>0>2?e+32|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){nu(a,2);f=c[m>>2]|0;e=c[n>>2]|0;b=f-e>>4>>>0>2?e+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0){b=f;f=2147483647}else{b=f;f=~~k}else{b=f;f=-2147483648}else{b=f;f=0}}else f=240;g=b-e>>4>>>0>3?e+48|0:0;if((c[((g|0)==0?368:g)>>2]&-2|0)!=2){nu(a,3);b=c[n>>2]|0;b=(c[m>>2]|0)-b>>4>>>0>3?b+48|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(o=+h[b+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)b=2147483647;else b=~~o;else b=-2147483648;else b=0}else b=136;gz(a);iy(a,-1,96409)|0;n=ry(a,-1)|0;Nt(a);zi[c[n+1262740>>2]&31](n,l,j,f,b);return 0}function Zo(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;gz(a);iy(a,-1,96409)|0;o=ry(a,-1)|0;Nt(a);j=a+68|0;k=a+64|0;m=c[k>>2]|0;m=(c[j>>2]|0)!=(m|0)?m:0;if((c[((m|0)==0?368:m)>>2]&-2|0)!=2){nu(a,0);b=c[k>>2]|0;b=(c[j>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(d=+h[b+8>>3],(K4(d)|0)!=0):0)if(!(d<-2147483648.0))if(d>2147483647.0)m=2147483647;else m=~~d;else m=-2147483648;else m=0}else m=-1;l=o+1262760|0;zi[c[l>>2]&31](o,-1,0,0,0);if((m|0)<=-1)return 0;b=c[j>>2]|0;e=c[k>>2]|0;i=b-e>>4>>>0>1?e+16|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)!=2){nu(a,1);b=c[j>>2]|0;e=c[k>>2]|0;f=b-e>>4>>>0>1?e+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(g=+h[f+8>>3],(K4(g)|0)!=0):0)if(!(g<-2147483648.0))if(g>2147483647.0)i=2147483647;else i=~~g;else i=-2147483648;else i=0}else i=-1;f=b-e>>4>>>0>2?e+32|0:0;if((c[((f|0)==0?368:f)>>2]&-2|0)!=2){nu(a,2);f=c[j>>2]|0;e=c[k>>2]|0;b=f-e>>4>>>0>2?e+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(n=+h[b+8>>3],(K4(n)|0)!=0):0)if(!(n<-2147483648.0))if(n>2147483647.0){b=f;f=2147483647}else{b=f;f=~~n}else{b=f;f=-2147483648}else{b=f;f=0}}else f=-1;k=b-e>>4>>>0>3?e+48|0:0;if((c[((k|0)==0?368:k)>>2]&-2|0)==2)b=1;else b=(is(a,3)|0)!=0;zi[c[l>>2]&31](o,m,i,f,b);return 0}function _o(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;gz(a);iy(a,-1,96409)|0;m=ry(a,-1)|0;Nt(a);g=a+68|0;b=c[g>>2]|0;i=a+64|0;d=c[i>>2]|0;j=(b|0)!=(d|0)?d:0;if((c[((j|0)==0?368:j)>>2]&-2|0)!=2){nu(a,0);b=c[g>>2]|0;d=c[i>>2]|0;e=(b|0)!=(d|0)?d:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==0?(f=+h[e+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0))if(f>2147483647.0)j=2147483647;else j=~~f;else j=-2147483648;else j=0}else j=0;e=b-d>>4>>>0>1?d+16|0:0;if((c[((e|0)==0?368:e)>>2]&-2|0)!=2){nu(a,1);e=c[g>>2]|0;d=c[i>>2]|0;b=e-d>>4>>>0>1?d+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(k=+h[b+8>>3],(K4(k)|0)!=0):0)if(!(k<-2147483648.0))if(k>2147483647.0){b=e;e=2147483647}else{b=e;e=~~k}else{b=e;e=-2147483648}else{b=e;e=0}}else e=0;i=b-d>>4>>>0>2?d+32|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)==2)b=0;else b=is(a,2)|0;if(e>>>0<8){ti[c[m+1262796>>2]&63](m,j,e,(b|0)!=0);l=o;return 0}else zt(a,1,96416,766,338396,n);return 0}function $o(b){b=b|0;var c=0;gz(b);iy(b,-1,96409)|0;c=ry(b,-1)|0;Nt(b);a[c+1412380>>0]=0;return 0}function ap(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;gz(a);iy(a,-1,96409)|0;i=ry(a,-1)|0;Nt(a);k=a+68|0;e=a+64|0;d=c[e>>2]|0;d=(c[k>>2]|0)!=(d|0)?d:0;if((c[((d|0)==0?368:d)>>2]&-2|0)==2){b=Sh[c[i+1262804>>2]&255](i,0)|0;d=c[k>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){j=d;a=b;a=a&1;i=j+16|0;c[k>>2]=i;c[j>>2]=4;k=j+8|0;c[k>>2]=a;l=m;return 1}else mr(a,4185)}nu(a,0);b=c[e>>2]|0;b=(c[k>>2]|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0)if(!(f<-2147483648.0)){if(f>2147483647.0)zt(a,1,96416,257,338526,j);b=~~f;if((b&254)>>>0<66)g=b;else zt(a,1,96416,257,338526,j)}else g=-2147483648;else g=0;b=Sh[c[i+1262804>>2]&255](i,g&255)|0;d=c[k>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){j=d;a=b;a=a&1;i=j+16|0;c[k>>2]=i;c[j>>2]=4;k=j+8|0;c[k>>2]=a;l=m;return 1}else mr(a,4185);return 0}function bp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;i=q;gz(a);iy(a,-1,96409)|0;n=ry(a,-1)|0;Nt(a);p=a+68|0;k=a+64|0;f=c[k>>2]|0;f=(c[p>>2]|0)!=(f|0)?f:0;if((c[((f|0)==0?368:f)>>2]&-2|0)==2){b=Uh[c[n+1262808>>2]&63](n,0,-1,-1)|0;d=c[p>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){o=d;a=b;a=a&1;n=o+16|0;c[p>>2]=n;c[o>>2]=4;p=o+8|0;c[p>>2]=a;l=q;return 1}else mr(a,4185)}nu(a,0);d=c[p>>2]|0;f=c[k>>2]|0;e=f;b=(d|0)!=(e|0)?f:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(g=+h[b+8>>3],!((K4(g)|0)==0|g<-2147483648.0)):0){if(g>2147483647.0)zt(a,1,96416,278,338526,i);b=~~g;if((b&254)>>>0>65)zt(a,1,96416,278,338526,i);else o=b&255}else o=0;b=d-e>>4;i=b>>>0>1?f+16|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)==2?(i=b>>>0>2?f+32|0:0,(c[((i|0)==0?368:i)>>2]&-2|0)==2):0){b=Uh[c[n+1262808>>2]&63](n,o,-1,-1)|0;d=c[p>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){o=d;a=b;a=a&1;n=o+16|0;c[p>>2]=n;c[o>>2]=4;p=o+8|0;c[p>>2]=a;l=q;return 1}else mr(a,4185)}nu(a,1);b=c[k>>2]|0;b=(c[p>>2]|0)-b>>4>>>0>1?b+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(j=+h[b+8>>3],(K4(j)|0)!=0):0)if(!(j<-2147483648.0))if(j>2147483647.0)d=2147483647;else d=~~j;else d=-2147483648;else d=0;nu(a,2);b=c[k>>2]|0;b=(c[p>>2]|0)-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(m=+h[b+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0)b=2147483647;else b=~~m;else b=-2147483648;else b=0;b=Uh[c[n+1262808>>2]&63](n,o,d,b)|0;d=c[p>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){o=d;a=b;a=a&1;n=o+16|0;c[p>>2]=n;c[o>>2]=4;p=o+8|0;c[p>>2]=a;l=q;return 1}else mr(a,4185);return 0}function cp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0.0;B=l;l=l+16|0;t=B;A=c[b>>2]|0;q=c[b+4>>2]|0;z=A+68|0;r=c[z>>2]|0;s=A+56|0;j=c[s>>2]|0;if(r>>>0>=j>>>0)mr(A,5493);b=r+16|0;c[z>>2]=b;if(!q)k=b;else{b=c[q>>2]|0;if(!(b&16)){i=q+4|0;j=i;i=c[i>>2]|0}else{b=b&-49;c[q>>2]=b;j=q+4|0;i=(c[j>>2]|0)+-1|0;c[j>>2]=i;n=c[A+44>>2]|0;o=q+8|0;k=c[o>>2]|0;p=q+12|0;m=c[p>>2]|0;if(k|0)c[k+12>>2]=m;if(!m)c[n+32>>2]=k;else c[m+8>>2]=k;k=n+24|0;m=c[k>>2]|0;if(m|0)c[m+12>>2]=q;c[p>>2]=0;c[o>>2]=m;c[k>>2]=q}k=b&255;c[r>>2]=(k&3)==0?8:(k&3)==1?9:10;c[r+8>>2]=q;c[j>>2]=i+1;k=c[z>>2]|0;j=c[s>>2]|0}if(k>>>0>=j>>>0)mr(A,4244);C=+(d[g>>0]|0);b=k+16|0;c[z>>2]=b;c[k>>2]=0;h[k+8>>3]=C;if(b>>>0>=j>>>0)mr(A,4244);i=k+32|0;c[z>>2]=i;c[b>>2]=0;h[k+24>>3]=+(e|0);if(i>>>0>=j>>>0)mr(A,4244);e=k+48|0;c[z>>2]=e;c[i>>2]=0;h[k+40>>3]=+(f|0);c[t>>2]=3;c[t+4>>2]=0;m=A+64|0;if(j>>>0<k>>>0?1:e>>>0<((c[m>>2]|0)+64|0)>>>0)nr(A,342568,315);pr(A,20,t,4,1)|0;t=c[m>>2]|0;b=(c[z>>2]|0)-t>>4;b=b|0?t+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if(((c[b>>2]|0)==9?(u=c[b+8>>2]|0,(u|0)!=0):0)?(c[u>>2]&-134217728|0)==268435456:0){et(A,-1,0)|0;nu(A,-1);j=c[z>>2]|0;i=c[m>>2]|0;b=j-i>>4;b=b|0?i+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(w=+h[b+8>>3],!((K4(w)|0)==0|w<-2147483648.0)):0)if(w>2147483647.0)b=-1;else b=~~w&255;else b=0;a[g>>0]=b;if((j|0)==(i|0))br(A,342583,50337407,342599);t=j+-16|0;c[z>>2]=t;u=c[j+-16>>2]|0;b=c[j+-8>>2]|0;c[t>>2]=2;if(u&8|0?(t=b+4|0,u=(c[t>>2]|0)+-1|0,c[t>>2]=u,(u|0)==0):0)qr(c[A+44>>2]|0,b);et(A,-1,1)|0;nu(A,-1);i=c[z>>2]|0;j=c[m>>2]|0;b=i-j>>4;b=b|0?j+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(x=+h[b+8>>3],(K4(x)|0)!=0):0)if(!(x<-2147483648.0))if(x>2147483647.0)b=2147483647;else b=~~x;else b=-2147483648;else b=0;c[g+4>>2]=b;if((i|0)==(j|0))br(A,342583,50337407,342599);t=i+-16|0;c[z>>2]=t;u=c[i+-16>>2]|0;b=c[i+-8>>2]|0;c[t>>2]=2;if(u&8|0?(t=b+4|0,u=(c[t>>2]|0)+-1|0,c[t>>2]=u,(u|0)==0):0)qr(c[A+44>>2]|0,b);et(A,-1,2)|0;nu(A,-1);k=c[z>>2]|0;b=c[m>>2]|0;i=k-b>>4;i=i|0?b+(i+-1<<4)|0:0;i=(i|0)==0?368:i;do if((c[i>>2]|0)==0?(y=+h[i+8>>3],(K4(y)|0)!=0):0)if(y<-2147483648.0)i=-2147483648;else{if(y>2147483647.0){i=2147483647;break}i=~~y}else i=0;while(0);c[g+8>>2]=i;if((k|0)==(b|0))br(A,342583,50337407,342599);j=k+-16|0;c[z>>2]=j;g=c[k+-16>>2]|0;i=c[k+-8>>2]|0;c[j>>2]=2;if((g&8|0)!=0?(u=i+4|0,g=(c[u>>2]|0)+-1|0,c[u>>2]=g,(g|0)==0):0){qr(c[A+44>>2]|0,i);j=c[z>>2]|0;b=c[m>>2]|0}}else{nu(A,-1);j=c[z>>2]|0;b=c[m>>2]|0;i=j-b>>4;i=i|0?b+(i+-1<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)==0?(v=+h[i+8>>3],!((K4(v)|0)==0|v<-2147483648.0)):0)if(v>2147483647.0)i=-1;else i=~~v&255;else i=0;a[g>>0]=i}if((j|0)==(b|0))br(A,342583,50337407,342599);g=j+-16|0;c[z>>2]=g;z=c[j+-16>>2]|0;b=c[j+-8>>2]|0;c[g>>2]=2;if(!(z&8)){l=B;return}g=b+4|0;z=(c[g>>2]|0)+-1|0;c[g>>2]=z;if(z|0){l=B;return}qr(c[A+44>>2]|0,b);l=B;return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o;e=a+1411568|0;d=c[e>>2]|0;if(d|0){OA(c[(c[d+12>>2]|0)+136>>2]|0);c[e>>2]=0}d=MA(1,0)|0;if(d|0)c[(c[d+12>>2]|0)+132>>2]=387;c[e>>2]=d;mp(d);np(a);m=c[e>>2]|0;i=m+16|0;d=c[c[i>>2]>>2]|0;k=m+8|0;e=c[k>>2]|0;f=d+16|0;if(e>>>0<f>>>0){g=(d+8+4+(3-e)|0)>>>4;h=e;while(1){c[h+8>>2]=0;if(h>>>0<d>>>0)h=h+16|0;else break}c[k>>2]=e+(g+1<<4)}c[k>>2]=f;h=r4(b)|0;c[j>>2]=b;c[j+4>>2]=h;if(!(wz(m,6,j,b,0)|0)){f=(c[k>>2]|0)+-16|0;c[j>>2]=f;c[j+4>>2]=-1;f=Tz(m,151,j,f-(c[m+28>>2]|0)|0,0)|0;e=(c[i>>2]|0)+4|0;d=c[k>>2]|0;if((c[e>>2]|0)>>>0<d>>>0)c[e>>2]=d;if(!f){n=1;l=o;return n|0}}else d=c[k>>2]|0;f=c[a+1411596>>2]|0;e=c[f+4>>2]|0;f=c[f+40>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;n=18;break}case 3:{if((c[(c[m+12>>2]|0)+12>>2]|0)>0){jA(m);d=c[k>>2]|0}d=d+-16|0;oA(m,d);n=18;break}default:d=0}if((n|0)==18)d=(c[d>>2]|0)+16|0;li[e&511](f,d);n=0;l=o;return n|0}function ep(a){a=a|0;var b=0;a=a+1411568|0;b=c[a>>2]|0;if(!b)return;OA(c[(c[b+12>>2]|0)+136>>2]|0);c[a>>2]=0;return}function fp(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;o=t;r=c[b+1411568>>2]|0;if(!r){l=t;return}q=r+12|0;g=c[q>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);p=r+8|0;h=c[p>>2]|0;g=g+280+(((331718>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(331718,e+16|0)|0){e=QA(r,331718,3)|0;c[g>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;g=c[p>>2]|0;c[p>>2]=g+16;bB(r,f,g,g);g=c[p>>2]|0;e=g+-16|0;f=g;if((e|0)!=412368?(c[g+-8>>2]&15|0)==6:0){k=r+16|0;m=f-((c[c[k>>2]>>2]|0)+16)|0;n=m>>4;c[g>>2]=392;c[g+8>>2]=22;f=c[p>>2]|0;e=f+16|0;c[p>>2]=e;g=c[k>>2]|0;j=(m|0)>0;do if(!j){if((m|0)>=-16015984){e=e+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}h=-1001e3-n|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(h|0)>(d[e+6>>0]|0|0)?412368:e+16+(h+-1<<4)|0}}else{i=(c[g>>2]|0)+(n<<4)|0;e=i>>>0<e>>>0?i:412368}while(0);g=f+-16|0;if(e>>>0<g>>>0){h=e;do{c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0)}if(e>>>0<f>>>0)do{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);if(!n){f=c[r+28>>2]|0;e=0}else{e=c[k>>2]|0;do if(!j){if((m|0)>=-16015984){e=(c[p>>2]|0)+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}f=-1001e3-n|0;e=c[e>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(f|0)>(d[e+6>>0]|0|0)?412368:e+16+(f+-1<<4)|0}}else{e=(c[e>>2]|0)+(n<<4)|0;e=e>>>0<(c[p>>2]|0)>>>0?e:412368}while(0);i=c[r+28>>2]|0;f=i;e=e-i|0}i=(c[p>>2]|0)+-16|0;c[o>>2]=i;c[o+4>>2]=0;i=Tz(r,151,o,i-f|0,e)|0;e=c[p>>2]|0;f=e+-16|0;h=c[k>>2]|0;do if(!j){if((m|0)>=-16015984){e=e+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}g=-1001e3-n|0;e=c[h>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(g|0)>(d[e+6>>0]|0|0)?412368:e+16+(g+-1<<4)|0}}else{n=(c[h>>2]|0)+(n<<4)|0;e=n>>>0<e>>>0?n:412368}while(0);g=e+16|0;if(g>>>0<f>>>0){h=f;do{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0)}if(e>>>0<f>>>0)do{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);f=c[p>>2]|0;e=f+-16|0;c[p>>2]=e;if(!i){l=t;return}h=c[b+1411596>>2]|0;g=c[h+4>>2]|0;h=c[h+40>>2]|0;switch(c[f+-24>>2]&15){case 4:{e=f+-32|0;s=55;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(r);e=c[p>>2]|0}e=e+-16|0;oA(r,e);s=55;break}default:e=0}if((s|0)==55)e=(c[e>>2]|0)+16|0;li[g&511](h,e);l=t;return}c[p>>2]=e;s=c[b+1411596>>2]|0;li[c[s+4>>2]&511](c[s+40>>2]|0,330189);l=t;return}function gp(a,b,c){a=a|0;b=b|0;c=c|0;lp(a,b,331722);lp(a,b,330180);return}function hp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+16|0;o=t;r=c[b+1411568>>2]|0;if(!r){l=t;return}q=r+12|0;g=c[q>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);p=r+8|0;h=c[p>>2]|0;g=g+280+(((331726>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(331726,e+16|0)|0){e=QA(r,331726,3)|0;c[g>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;g=c[p>>2]|0;c[p>>2]=g+16;bB(r,f,g,g);g=c[p>>2]|0;e=g+-16|0;f=g;if((e|0)!=412368?(c[g+-8>>2]&15|0)==6:0){k=r+16|0;m=f-((c[c[k>>2]>>2]|0)+16)|0;n=m>>4;c[g>>2]=392;c[g+8>>2]=22;f=c[p>>2]|0;e=f+16|0;c[p>>2]=e;g=c[k>>2]|0;j=(m|0)>0;do if(!j){if((m|0)>=-16015984){e=e+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}h=-1001e3-n|0;e=c[g>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(h|0)>(d[e+6>>0]|0|0)?412368:e+16+(h+-1<<4)|0}}else{i=(c[g>>2]|0)+(n<<4)|0;e=i>>>0<e>>>0?i:412368}while(0);g=f+-16|0;if(e>>>0<g>>>0){h=e;do{c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0)}if(e>>>0<f>>>0)do{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);if(!n){f=c[r+28>>2]|0;e=0}else{e=c[k>>2]|0;do if(!j){if((m|0)>=-16015984){e=(c[p>>2]|0)+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}f=-1001e3-n|0;e=c[e>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(f|0)>(d[e+6>>0]|0|0)?412368:e+16+(f+-1<<4)|0}}else{e=(c[e>>2]|0)+(n<<4)|0;e=e>>>0<(c[p>>2]|0)>>>0?e:412368}while(0);i=c[r+28>>2]|0;f=i;e=e-i|0}i=(c[p>>2]|0)+-16|0;c[o>>2]=i;c[o+4>>2]=0;i=Tz(r,151,o,i-f|0,e)|0;e=c[p>>2]|0;f=e+-16|0;h=c[k>>2]|0;do if(!j){if((m|0)>=-16015984){e=e+(n<<4)|0;break}if((n|0)==-1001e3){e=(c[q>>2]|0)+40|0;break}g=-1001e3-n|0;e=c[h>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(g|0)>(d[e+6>>0]|0|0)?412368:e+16+(g+-1<<4)|0}}else{n=(c[h>>2]|0)+(n<<4)|0;e=n>>>0<e>>>0?n:412368}while(0);g=e+16|0;if(g>>>0<f>>>0){h=f;do{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0)}if(e>>>0<f>>>0)do{c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];e=e+16|0;f=f+-16|0}while(e>>>0<f>>>0);f=c[p>>2]|0;e=f+-16|0;c[p>>2]=e;if(!i){l=t;return}h=c[b+1411596>>2]|0;g=c[h+4>>2]|0;h=c[h+40>>2]|0;switch(c[f+-24>>2]&15){case 4:{e=f+-32|0;s=55;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(r);e=c[p>>2]|0}e=e+-16|0;oA(r,e);s=55;break}default:e=0}if((s|0)==55)e=(c[e>>2]|0)+16|0;li[g&511](h,e);l=t;return}c[p>>2]=e;l=t;return}function ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[d>>2]=0;e=c[103897]|0;if(e|0){C2(e);c[103897]=0}f=m5(b,330141)|0;if(!f){n=0;return n|0}g=0;h=0;e=0;do{m=f+9|0;i=a[m>>0]|0;if(i<<24>>24){l=9;k=9;a:while(1){j=(K3(i<<24>>24)|0)!=0;o=i<<24>>24==58|(i<<24>>24==95|j);l=o?l:i<<24>>24==40?k:l;k=(o&1)+k|0;if(!j)switch(i<<24>>24){case 58:case 95:break;default:{n=9;break a}}j=f+k|0;i=a[j>>0]|0;if(!(i<<24>>24)){f=j;break}}if((n|0)==9){n=0;f=f+k|0}if((l|0)>9){if(!g)g=B2(8)|0;else g=D2(h,(c[d>>2]<<3)+8|0)|0;c[103897]=g;e=c[d>>2]|0;c[g+(e<<3)>>2]=m-b;c[g+(e<<3)+4>>2]=l+-9;c[d>>2]=(c[d>>2]|0)+1;e=g;h=g}}else f=m;f=m5(f,330141)|0}while((f|0)!=0);return e|0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;i=o;m=c[a+1411568>>2]|0;if(!m){l=o;return}j=m+16|0;g=c[c[j>>2]>>2]|0;k=m+8|0;h=c[k>>2]|0;d=g+16|0;if(h>>>0<d>>>0){e=(g+8+4+(3-h)|0)>>>4;f=h;while(1){c[f+8>>2]=0;if(f>>>0<g>>>0)f=f+16|0;else break}c[k>>2]=h+(e+1<<4)}c[k>>2]=d;h=r4(b)|0;c[i>>2]=b;c[i+4>>2]=h;if(!(wz(m,6,i,b,0)|0)){e=(c[k>>2]|0)+-16|0;c[i>>2]=e;c[i+4>>2]=-1;e=Tz(m,151,i,e-(c[m+28>>2]|0)|0,0)|0;d=(c[j>>2]|0)+4|0;b=c[k>>2]|0;if((c[d>>2]|0)>>>0<b>>>0)c[d>>2]=b;if(!e){l=o;return}}else b=c[k>>2]|0;e=c[a+1411596>>2]|0;d=c[e+4>>2]|0;e=c[e+40>>2]|0;switch(c[b+-8>>2]&15){case 4:{b=b+-16|0;n=15;break}case 3:{if((c[(c[m+12>>2]|0)+12>>2]|0)>0){jA(m);b=c[k>>2]|0}b=b+-16|0;oA(m,b);n=15;break}default:b=0}if((n|0)==15)b=(c[b>>2]|0)+16|0;li[d&511](e,b);l=o;return}function kp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;f=a+16|0;d=c[c[f>>2]>>2]|0;e=d+16|0;g=a+8|0;b=c[g>>2]|0;e=e>>>0<b>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{b=e;i=5;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[f>>2]>>2]|0;b=c[g>>2]|0}i=d+16|0;b=i>>>0<b>>>0?i:412368;oA(a,b);i=5;break}default:{e=(BB(a,1,356375)|0)==0;d=c[g>>2]|0;if(!(e|(d+-16|0)==412368)?(c[d+-8>>2]&15|0)==4:0){l=j;return 1}b=c[c[f>>2]>>2]|0;g=b+16|0;if(g>>>0>=d>>>0|(g|0)==412368)b=0;else b=(c[b+24>>2]&15)+1|0;c[h>>2]=c[7100+(b<<2)>>2];b=mz(a,330151,h)|0}}if((i|0)==5)b=(c[b>>2]|0)+16|0;kB(a,a,b,1);l=j;return 1}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u;s=c[b+1411568>>2]|0;if(!s){l=u;return}r=s+12|0;i=c[r>>2]|0;g=c[i+40>>2]|0;a:do if((c[g+8>>2]|0)>>>0>1)h=(c[g+12>>2]|0)+16|0;else{h=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+3&2)<<5)|0;while(1){if((c[h+24>>2]|0)==19?(q=h+16|0,(c[q>>2]|0)==2&(c[q+4>>2]|0)==0):0)break;g=c[h+28>>2]|0;if(!g){h=412368;break a}h=h+(g<<5)|0}}while(0);q=s+8|0;j=c[q>>2]|0;i=i+280+(((f>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(f,g+16|0)|0){g=QA(s,f,r4(f)|0)|0;c[i>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;g=c[q>>2]|0;c[q>>2]=g+16;bB(s,h,g,g);h=c[q>>2]|0;g=h+-16|0;if((g|0)!=412368?(c[h+-8>>2]&15|0)==6:0){g=h;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;c[h+8>>2]=19;g=h+16|0;c[q>>2]=g;e=s+16|0;m=g-((c[c[e>>2]>>2]|0)+16)|0;n=m>>4;o=n+-1|0;c[g>>2]=392;c[h+24>>2]=22;h=c[q>>2]|0;g=h+16|0;c[q>>2]=g;i=c[e>>2]|0;k=(m|0)>16;do if(!k){if((m|0)>=-16015968){g=g+(o<<4)|0;break}if((o|0)==-1001e3){g=(c[r>>2]|0)+40|0;break}j=-1000999-n|0;g=c[i>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(j|0)>(d[g+6>>0]|0|0)?412368:g+16+(j+-1<<4)|0}}else{f=(c[i>>2]|0)+(o<<4)|0;g=f>>>0<g>>>0?f:412368}while(0);i=h+-16|0;if(g>>>0<i>>>0){j=g;do{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=j+16|0;i=i+-16|0}while(j>>>0<i>>>0)}if(g>>>0<h>>>0)do{c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);if(!o){h=c[s+28>>2]|0;g=0}else{g=c[e>>2]|0;do if(!k){if((m|0)>=-16015968){g=(c[q>>2]|0)+(o<<4)|0;break}if((o|0)==-1001e3){g=(c[r>>2]|0)+40|0;break}h=-1000999-n|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[g>>2]|0)+(o<<4)|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368}while(0);f=c[s+28>>2]|0;h=f;g=g-f|0}f=(c[q>>2]|0)+-32|0;c[p>>2]=f;c[p+4>>2]=0;f=Tz(s,151,p,f-h|0,g)|0;g=c[q>>2]|0;h=g+-16|0;j=c[e>>2]|0;do if(!k){if((m|0)>=-16015968){g=g+(o<<4)|0;break}if((o|0)==-1001e3){g=(c[r>>2]|0)+40|0;break}i=-1000999-n|0;g=c[j>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{o=(c[j>>2]|0)+(o<<4)|0;g=o>>>0<g>>>0?o:412368}while(0);i=g+16|0;if(i>>>0<h>>>0){j=h;do{c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];i=i+16|0;j=j+-16|0}while(i>>>0<j>>>0)}if(g>>>0<h>>>0)do{c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);h=c[q>>2]|0;g=h+-16|0;c[q>>2]=g;if(!f){l=u;return}j=c[b+1411596>>2]|0;i=c[j+4>>2]|0;j=c[j+40>>2]|0;switch(c[h+-24>>2]&15){case 4:{g=h+-32|0;t=55;break}case 3:{if((c[(c[r>>2]|0)+12>>2]|0)>0){jA(s);g=c[q>>2]|0}g=g+-16|0;oA(s,g);t=55;break}default:g=0}if((t|0)==55)g=(c[g>>2]|0)+16|0;li[i&511](j,g);l=u;return}c[q>>2]=g;l=u;return}function mp(a){a=a|0;var b=0;GB(a,356493,393);b=a+8|0;c[b>>2]=(c[b>>2]|0)+-16;GB(a,331187,394);c[b>>2]=(c[b>>2]|0)+-16;GB(a,331195,395);c[b>>2]=(c[b>>2]|0)+-16;GB(a,355292,396);c[b>>2]=(c[b>>2]|0)+-16;GB(a,361511,397);c[b>>2]=(c[b>>2]|0)+-16;GB(a,331205,398);c[b>>2]=(c[b>>2]|0)+-16;GB(a,357142,399);c[b>>2]=(c[b>>2]|0)+-16;return}function np(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+1411568|0;e=(c[d>>2]|0)+8|0;f=c[e>>2]|0;c[f>>2]=b;c[f+8>>2]=2;c[e>>2]=(c[e>>2]|0)+16;pz(c[d>>2]|0,330224);b=0;do{if((b+-3|0)>>>0<35){f=c[5188+(b<<2)>>2]|0;e=(c[d>>2]|0)+8|0;g=c[e>>2]|0;c[g>>2]=c[5340+(b<<2)>>2];c[g+8>>2]=22;c[e>>2]=(c[e>>2]|0)+16;pz(c[d>>2]|0,f)}b=b+1|0}while((b|0)!=38);b=(c[d>>2]|0)+8|0;g=c[b>>2]|0;c[g>>2]=400;c[g+8>>2]=22;c[b>>2]=(c[b>>2]|0)+16;pz(c[d>>2]|0,356535);b=(c[d>>2]|0)+8|0;g=c[b>>2]|0;c[g>>2]=401;c[g+8>>2]=22;c[b>>2]=(c[b>>2]|0)+16;pz(c[d>>2]|0,356549);b=c[d>>2]|0;d=c[b+16>>2]|0;if(!(a[d+34>>0]&2)){g=b+84|0;c[g>>2]=189;g=b+96|0;c[g>>2]=1e8;g=b+100|0;c[g>>2]=1e8;g=b+108|0;a[g>>0]=8;return}c[b+20>>2]=c[d+20>>2];g=b+84|0;c[g>>2]=189;g=b+96|0;c[g>>2]=1e8;g=b+100|0;c[g>>2]=1e8;g=b+108|0;a[g>>0]=8;return}function op(a){a=a|0;var b=0;b=l;l=l+16|0;oB(a,331161,b);l=b;return 0}function pp(a){a=a|0;var b=0;b=l;l=l+16|0;oB(a,331133,b);l=b;return 0}function qp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;g=c[b+12>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(i=f+16|0,(c[i>>2]|0)==2&(c[i+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);i=b+8|0;h=c[i>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[i>>2]|0;c[i>>2]=h+16;bB(b,f,h,h);h=c[i>>2]|0;f=h+-16|0;switch(c[h+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[i>>2]=f;e=c[e+1411596>>2]|0;f=c[e+12>>2]|0;if(!f){l=k;return}if(!(Rh[f&511](c[e+40>>2]|0)|0)){l=k;return}oB(b,331100,j);l=k;return}function rp(e){e=e|0;var f=0,g=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;p=y+16|0;s=y;x=e+8|0;o=c[x>>2]|0;u=e+16|0;v=o-((c[c[u>>2]>>2]|0)+16)|0;r=v>>4;n=o;if((v|0)<=0){x=0;l=y;return x|0}q=e+12|0;m=c[q>>2]|0;f=c[m+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)k=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(t=g+16|0,(c[t>>2]|0)==2&(c[t+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){k=412368;break a}g=g+(f<<5)|0}k=g}while(0);g=m+280+(((330224>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(330224,f+16|0)|0){f=QA(e,330224,6)|0;c[g>>2]=f}c[o>>2]=f;c[n+8>>2]=(a[f+4>>0]|64)&255;n=c[x>>2]|0;c[x>>2]=n+16;bB(e,k,n,n);n=c[x>>2]|0;o=n+-16|0;switch(c[n+-8>>2]&15){case 7:{t=(c[o>>2]|0)+24|0;break}case 2:{t=c[o>>2]|0;break}default:t=0}c[x>>2]=o;m=c[q>>2]|0;f=c[m+40>>2]|0;b:do if((c[f+8>>2]|0)>>>0>1)k=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){k=412368;break b}g=g+(f<<5)|0}k=g}while(0);g=m+280+(((356626>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(356626,f+16|0)|0){f=QA(e,356626,8)|0;c[g>>2]=f}c[o>>2]=f;c[n+-8>>2]=(a[f+4>>0]|64)&255;f=c[x>>2]|0;c[x>>2]=f+16;bB(e,k,f,f);f=c[x>>2]|0;g=f+-16|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=c[x>>2]|0;g=f+16|0;c[x>>2]=g;k=c[c[u>>2]>>2]|0;k=k>>>0<f>>>0?k+16|0:412368;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];g=c[x>>2]|0;c[x>>2]=g+16;g=g+-16|0;k=e+106|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(e,353895,p);if((f&65535)>224)Jz(e,6)}f=e+104|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Nz(e,g,1)|0))jB(e);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;f=c[x>>2]|0;switch(c[f+-8>>2]&15){case 4:{g=f;f=f+-16|0;w=38;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(e);f=c[x>>2]|0}f=f+-16|0;oA(e,f);g=c[x>>2]|0;w=38;break}default:q=0}if((w|0)==38){q=(c[f>>2]|0)+16|0;f=g}f=f+-32|0;c[x>>2]=f;if((v|0)>32){g=(c[c[u>>2]>>2]|0)+32|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){e=g;i=+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){o=(c[s+8>>2]|0)==19;e=s;p=c[e>>2]|0;e=c[e+4>>2]|0;c[j>>2]=p;c[j+4>>2]=e;i=o?+(p>>>0)+4294967296.0*+(e|0):+h[j>>3];break}}i=0.0;break c}while(0);while(0);o=~~i;g=(c[c[u>>2]>>2]|0)+48|0;g=g>>>0<(c[x>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){e=g;i=+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){n=(c[s+8>>2]|0)==19;e=s;p=c[e>>2]|0;e=c[e+4>>2]|0;c[j>>2]=p;c[j+4>>2]=e;i=n?+(p>>>0)+4294967296.0*+(e|0):+h[j>>3];break}}i=0.0;break d}while(0);while(0);f=~~i;if((r|0)!=3){k=(c[c[u>>2]>>2]|0)+64|0;k=k>>>0<(c[x>>2]|0)>>>0?k:412368;g=c[k+8>>2]|0;e:do if((g|0)==3)i=+h[k>>3];else do if((g|0)==19){e=k;i=+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0)}else{if((g&15|0)==4){m=nA((c[k>>2]|0)+16|0,s)|0;g=c[k>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((m|0)==(g+1|0)){n=(c[s+8>>2]|0)==19;e=s;p=c[e>>2]|0;e=c[e+4>>2]|0;c[j>>2]=p;c[j+4>>2]=e;i=n?+(p>>>0)+4294967296.0*+(e|0):+h[j>>3];break}}i=0.0;break e}while(0);while(0);k=(~~i|0)%16|0;if((v|0)>64){n=c[c[u>>2]>>2]|0;g=n+80|0;p=c[x>>2]|0;g=g>>>0<p>>>0?g:412368;switch(c[g+8>>2]|0){case 0:{m=0;break}case 1:{m=(c[g>>2]|0)!=0;break}default:m=1}if((r|0)!=5){n=n+96|0;n=n>>>0<p>>>0?n:412368;g=c[n+8>>2]|0;f:do if((g|0)==3)i=+h[n>>3];else g:do if((g|0)==19){s=n;i=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{do if((g&15|0)==4){p=nA((c[n>>2]|0)+16|0,s)|0;g=c[n>>2]|0;if((a[g+4>>0]|0)==4)g=d[g+7>>0]|0;else g=c[g+12>>2]|0;if((p|0)!=(g+1|0))break;e=(c[s+8>>2]|0)==19;r=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=r;c[j+4>>2]=s;i=e?+(r>>>0)+4294967296.0*+(s|0):+h[j>>3];break g}while(0);i=0.0;break f}while(0);while(0);n=~~i;h:do if((v|0)>96){g=(c[c[u>>2]>>2]|0)+112|0;g=g>>>0<(c[x>>2]|0)>>>0?g:412368;switch(c[g+8>>2]|0){case 0:{g=0;break h}case 1:{g=(c[g>>2]|0)!=0;break h}default:{g=1;break h}}}else g=0;while(0);if(!n){f=0;g=0}else w=99}else{g=0;n=1;w=99}}else{g=0;n=1;m=0;w=99}}else{g=0;n=1;m=0;k=15;w=99}}else{o=0;g=0;n=1;m=0;k=15;f=0;w=99}if((w|0)==99){g=Zh[c[t+1262672>>2]&7](t,q|0?q:361168,o,f,k&255,m,n,g)|0;f=g;g=((g|0)<0)<<31>>31}w=c[x>>2]|0;v=w;c[v>>2]=f;c[v+4>>2]=g;c[w+8>>2]=19;c[x>>2]=w+16;x=1;l=y;return x|0}function sp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;o=b+8|0;n=c[o>>2]|0;p=b+16|0;q=n-((c[c[p>>2]>>2]|0)+16)|0;k=c[b+12>>2]|0;f=c[k+40>>2]|0;m=n;a:do if((c[f+8>>2]|0)>>>0>1)i=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(i=g+16|0,(c[i>>2]|0)==2&(c[i+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){i=412368;break a}g=g+(f<<5)|0}i=g}while(0);g=k+280+(((330224>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[g>>2]=f}c[n>>2]=f;c[m+8>>2]=(a[f+4>>0]|64)&255;n=c[o>>2]|0;c[o>>2]=n+16;bB(b,i,n,n);n=c[o>>2]|0;f=n+-16|0;switch(c[n+-8>>2]&15){case 7:{b=(c[f>>2]|0)+24|0;break}case 2:{b=c[f>>2]|0;break}default:b=0}c[o>>2]=f;k=c[b+1262676>>2]|0;if((q|0)!=16){r=0;li[k&511](b,r);l=s;return 0}g=(c[c[p>>2]>>2]|0)+16|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){r=g;e=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,r)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){p=(c[r+8>>2]|0)==19;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;e=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);r=~~e&255;li[k&511](b,r);l=s;return 0}function tp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;r=s;o=b+8|0;f=c[o>>2]|0;p=b+16|0;g=(c[c[p>>2]>>2]|0)+16|0;q=f-g|0;if((q|0)<=16){oB(b,331062,s+16|0);r=0;l=s;return r|0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,r)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){k=(c[r+8>>2]|0)==19;n=r;m=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=m;c[j+4>>2]=n;e=k?+(m>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);n=~~e;g=(c[c[p>>2]>>2]|0)+32|0;g=g>>>0<(c[o>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,r)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[r+8>>2]|0)==19;m=r;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;c:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break c}g=g+(f<<5)|0}}while(0);k=c[o>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;f=c[o>>2]|0;c[o>>2]=f+16;bB(b,g,f,f);b=c[o>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{k=(c[f>>2]|0)+24|0;break}case 2:{k=c[f>>2]|0;break}default:k=0}c[o>>2]=f;if((q|0)==32){p=(Th[c[k+1262684>>2]&63](k,n,m)|0)&255;r=c[o>>2]|0;q=r;c[q>>2]=p;c[q+4>>2]=0;c[r+8>>2]=19;c[o>>2]=r+16;r=1;l=s;return r|0}g=(c[c[p>>2]>>2]|0)+48|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){r=g;e=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,r)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){p=(c[r+8>>2]|0)==19;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;e=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);ti[c[k+1262680>>2]&63](k,n,m,~~e&255);r=0;l=s;return r|0}function up(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s;r=b+8|0;f=c[r>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=80){oB(b,331017,s+16|0);l=s;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){q=g;e=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){o=(c[m+8>>2]|0)==19;q=m;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;e=o?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);q=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);p=~~e;g=(c[c[k>>2]>>2]|0)+48|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+80|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break e}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;f:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break f}g=g+(f<<5)|0}}while(0);k=c[r>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[r>>2]|0;c[r>>2]=k+16;bB(b,g,k,k);b=c[r>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[r>>2]=g;Ai[c[f+1262688>>2]&15](f,q,p,o,n,m&255);l=s;return 0}function vp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s;r=b+8|0;f=c[r>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=80){oB(b,330976,s+16|0);l=s;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){q=g;e=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){o=(c[m+8>>2]|0)==19;q=m;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;e=o?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);q=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);p=~~e;g=(c[c[k>>2]>>2]|0)+48|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+80|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break e}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;f:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break f}g=g+(f<<5)|0}}while(0);k=c[r>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[r>>2]|0;c[r>>2]=k+16;bB(b,g,k,k);b=c[r>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[r>>2]=g;Ai[c[f+1262692>>2]&15](f,q,p,o,n,m&255);l=s;return 0}function wp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s;r=b+8|0;f=c[r>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=80){oB(b,330934,s+16|0);l=s;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){q=g;e=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){o=(c[m+8>>2]|0)==19;q=m;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;e=o?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);q=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);p=~~e;g=(c[c[k>>2]>>2]|0)+48|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+80|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break e}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;f:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break f}g=g+(f<<5)|0}}while(0);k=c[r>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[r>>2]|0;c[r>>2]=k+16;bB(b,g,k,k);b=c[r>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[r>>2]=g;Ai[c[f+1262696>>2]&15](f,q,p,o,n,m&255);l=s;return 0}function xp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;A=l;l=l+16|0;x=A;y=b+8|0;f=c[y>>2]|0;w=b+16|0;g=(c[c[w>>2]>>2]|0)+16|0;v=f-g|0;s=v>>4;if((v|0)>0){g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){u=g;e=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){q=(c[x+8>>2]|0)==19;u=x;t=c[u>>2]|0;u=c[u+4>>2]|0;c[j>>2]=t;c[j+4>>2]=u;e=q?+(t>>>0)+4294967296.0*+(u|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);u=~~e;if((v|0)>32){g=(c[c[w>>2]>>2]|0)+32|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){p=(c[x+8>>2]|0)==19;t=x;q=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=q;c[j+4>>2]=t;e=p?+(q>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);n=~~e;g=(c[c[w>>2]>>2]|0)+48|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){p=(c[x+8>>2]|0)==19;t=x;q=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=q;c[j+4>>2]=t;e=p?+(q>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);o=~~e;if((s|0)!=3){i=c[c[w>>2]>>2]|0;f=i+64|0;k=c[y>>2]|0;g=f>>>0<k>>>0;d:do if(!((f|0)==412368|g^1)?(c[i+72>>2]&15|0)==5:0){q=x+8|0;p=1;g=0;while(1){m=((p|0)<0)<<31>>31;f=i+64|0;f=c[(f>>>0<k>>>0?f:412368)>>2]|0;i=b6(p|0,m|0,-1,-1)|0;t=z;e:do if(t>>>0<0|((t|0)==0?i>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(i<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&p)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(t=f+16|0,(c[t>>2]|0)==(p|0)?(c[t+4>>2]|0)==(m|0):0):0)break;i=c[f+28>>2]|0;if(!i){f=412368;break e}f=f+(i<<5)|0}}while(0);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];k=c[y>>2]|0;f=k+16|0;c[y>>2]=f;i=c[k+8>>2]|0;if((i|0)!=3)if((i|0)!=19){if((i&15|0)!=4)break;m=nA((c[k>>2]|0)+16|0,x)|0;f=c[k>>2]|0;if((a[f+4>>0]|0)==4)i=d[f+7>>0]|0;else i=c[f+12>>2]|0;f=c[y>>2]|0;if((m|0)!=(i+1|0))break}i=f+-16|0;f=c[f+-8>>2]|0;f:do if((f|0)==3)e=+h[i>>3];else g:do if((f|0)==19){t=i;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{do if((f&15|0)==4){k=nA((c[i>>2]|0)+16|0,x)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)!=(f+1|0))break;k=(c[q>>2]|0)==19;t=x;m=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=m;c[j+4>>2]=t;e=k?+(m>>>0)+4294967296.0*+(t|0):+h[j>>3];break g}while(0);e=0.0;break f}while(0);while(0);a[434153+(p+-1)>>0]=~~e;g=g+1|0;k=(c[y>>2]|0)+-16|0;c[y>>2]=k;f=p+1|0;if((f|0)>=17){m=g;break d}p=f;i=c[c[w>>2]>>2]|0}c[y>>2]=f+-16;m=g}else r=74;while(0);if((r|0)==74){g=g?f:412368;f=c[g+8>>2]|0;h:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){q=(c[x+8>>2]|0)==19;t=x;r=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=r;c[j+4>>2]=t;e=q?+(r>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}e=0.0;break h}while(0);while(0);a[434153]=~~e;m=1}if((v|0)>64){g=(c[c[w>>2]>>2]|0)+80|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;i:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){q=(c[x+8>>2]|0)==19;t=x;r=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=r;c[j+4>>2]=t;e=q?+(r>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}e=0.0;break i}while(0);while(0);r=~~e;if((s|0)!=5){g=(c[c[w>>2]>>2]|0)+96|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;j:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){q=(c[x+8>>2]|0)==19;t=x;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;e=q?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}e=0.0;break j}while(0);while(0);s=~~e;if((v|0)>96){g=(c[c[w>>2]>>2]|0)+112|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;k:do if((f|0)==3)e=+h[g>>3];else l:do if((f|0)==19){t=g;e=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{do if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)!=(f+1|0))break;p=(c[x+8>>2]|0)==19;t=x;q=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=q;c[j+4>>2]=t;e=p?+(q>>>0)+4294967296.0*+(t|0):+h[j>>3];break l}while(0);e=0.0;break k}while(0);while(0);t=~~e;if((v|0)>128){g=(c[c[w>>2]>>2]|0)+128|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;m:do if((f|0)==3)e=+h[g>>3];else n:do if((f|0)==19){v=g;e=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{do if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)!=(f+1|0))break;p=(c[x+8>>2]|0)==19;v=x;q=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=q;c[j+4>>2]=v;e=p?+(q>>>0)+4294967296.0*+(v|0):+h[j>>3];break n}while(0);e=0.0;break m}while(0);while(0);p=~~e;g=(c[c[w>>2]>>2]|0)+144|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;o:do if((f|0)==3)e=+h[g>>3];else p:do if((f|0)==19){x=g;e=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0)}else{do if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)!=(f+1|0))break;v=(c[x+8>>2]|0)==19;w=c[x>>2]|0;x=c[x+4>>2]|0;c[j>>2]=w;c[j+4>>2]=x;e=v?+(w>>>0)+4294967296.0*+(x|0):+h[j>>3];break p}while(0);e=0.0;break o}while(0);while(0);q=~~e}else{q=1;p=1}}else{t=0;q=1;p=1}}else{t=0;s=0;q=1;p=1}}else{t=0;s=0;r=1;q=1;p=1}}else{t=0;s=0;r=1;q=1;p=1;m=0}}else{t=0;s=0;r=1;q=1;p=1;o=0;n=0;m=0}}else{u=0;t=0;s=0;r=1;q=1;p=1;o=0;n=0;m=0}i=c[b+12>>2]|0;f=c[i+40>>2]|0;q:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(x=g+16|0,(c[x>>2]|0)==2&(c[x+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break q}g=g+(f<<5)|0}}while(0);k=c[y>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;f=c[y>>2]|0;c[y>>2]=f+16;bB(b,g,f,f);b=c[y>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{b=(c[f>>2]|0)+24|0;c[y>>2]=f;x=b+1262704|0;x=c[x>>2]|0;y=b+16384|0;Fi[x&1](b,y,u,n,o,p,q,434153,m,r,s,t);l=A;return 0}case 2:{b=c[f>>2]|0;c[y>>2]=f;x=b+1262704|0;x=c[x>>2]|0;y=b+16384|0;Fi[x&1](b,y,u,n,o,p,q,434153,m,r,s,t);l=A;return 0}default:{b=0;c[y>>2]=f;x=b+1262704|0;x=c[x>>2]|0;y=b+16384|0;Fi[x&1](b,y,u,n,o,p,q,434153,m,r,s,t);l=A;return 0}}return 0}function yp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;o=p;i=c[b+12>>2]|0;f=c[i+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(n=g+16|0,(c[n>>2]|0)==2&(c[n+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);n=b+8|0;k=c[n>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;f=c[n>>2]|0;c[n>>2]=f+16;bB(b,g,f,f);f=c[n>>2]|0;g=f+-16|0;switch(c[f+-8>>2]&15){case 7:{k=(c[g>>2]|0)+24|0;break}case 2:{k=c[g>>2]|0;break}default:k=0}c[n>>2]=g;i=(c[c[b+16>>2]>>2]|0)+16|0;switch(g-i>>4|0){case 0:{o=g;c[o>>2]=c[k+65408>>2];c[o+4>>2]=0;c[f+-8>>2]=19;c[n>>2]=f;o=1;l=p;return o|0}case 1:{g=i>>>0<g>>>0?i:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,o)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){b=(c[o+8>>2]|0)==19;m=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=m;c[j+4>>2]=o;e=b?+(m>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);o=c[n>>2]|0;c[o>>2]=(1<<(~~e&31)&c[k+65408>>2]|0)!=0&1;c[o+8>>2]=1;c[n>>2]=o+16;o=1;l=p;return o|0}default:{oB(b,330906,m);o=0;l=p;return o|0}}return 0}function zp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+16|0;p=r;i=c[b+12>>2]|0;f=c[i+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(q=g+16|0,(c[q>>2]|0)==2&(c[q+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);q=b+8|0;k=c[q>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;o=c[q>>2]|0;c[q>>2]=o+16;bB(b,g,o,o);o=c[q>>2]|0;f=o+-16|0;switch(c[o+-8>>2]&15){case 7:{o=(c[f>>2]|0)+24|0;break}case 2:{o=c[f>>2]|0;break}default:o=0}c[q>>2]=f;n=b+16|0;g=(c[c[n>>2]>>2]|0)+16|0;switch(f-g>>4|0){case 0:{n=Uh[c[o+1262800>>2]&63](o,-1,-1,-1)|0;p=c[q>>2]|0;o=p;c[o>>2]=n;c[o+4>>2]=0;c[p+8>>2]=19;c[q>>2]=p+16;q=1;l=r;return q|0}case 1:{g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,p)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){m=(c[p+8>>2]|0)==19;n=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=n;c[j+4>>2]=p;e=m?+(n>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);o=Uh[c[o+1262800>>2]&63](o,~~e&31,-1,-1)|0;p=c[q>>2]|0;c[p>>2]=(o|0)!=0&1;c[p+8>>2]=1;c[q>>2]=p+16;q=1;l=r;return q|0}case 3:{g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,p)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){k=(c[p+8>>2]|0)==19;m=p;b=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=b;c[j+4>>2]=m;e=k?+(b>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);b=~~e&31;g=(c[c[n>>2]>>2]|0)+32|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,p)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[p+8>>2]|0)==19;m=p;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);k=~~e;g=(c[c[n>>2]>>2]|0)+48|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,p)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){m=(c[p+8>>2]|0)==19;n=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=n;c[j+4>>2]=p;e=m?+(n>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break e}while(0);while(0);o=Uh[c[o+1262800>>2]&63](o,b,k,~~e)|0;p=c[q>>2]|0;c[p>>2]=(o|0)!=0&1;c[p+8>>2]=1;c[q>>2]=p+16;q=1;l=r;return q|0}default:{oB(b,330861,m);q=0;l=r;return q|0}}return 0}function Ap(b){b=b|0;var e=0,f=0,g=0.0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;o=C+32|0;z=C+24|0;r=C+16|0;y=C;A=C+48|0;B=C+44|0;v=b+8|0;n=c[v>>2]|0;w=b+16|0;s=n-((c[c[w>>2]>>2]|0)+16)|0;u=s>>4;m=n;if((s|0)<=0){oB(b,330841,C+40|0);l=C;return 0}p=b+12|0;k=c[p>>2]|0;e=c[k+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)i=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(x=f+16|0,(c[x>>2]|0)==2&(c[x+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){i=412368;break a}f=f+(e<<5)|0}i=f}while(0);f=k+280+(((330224>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[f>>2]=e}c[n>>2]=e;c[m+8>>2]=(a[e+4>>0]|64)&255;x=c[v>>2]|0;c[v>>2]=x+16;bB(b,i,x,x);x=c[v>>2]|0;e=x+-16|0;switch(c[x+-8>>2]&15){case 7:{x=(c[e>>2]|0)+24|0;break}case 2:{x=c[e>>2]|0;break}default:x=0}c[v>>2]=e;c[A>>2]=-1;c[B>>2]=-1;f=(c[c[w>>2]>>2]|0)+16|0;f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){t=f;g=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,y)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){m=(c[y+8>>2]|0)==19;t=y;n=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=n;c[j+4>>2]=t;g=m?+(n>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}g=0.0;break b}while(0);while(0);t=~~g;if((t|0)>=64){oB(b,338474,o);l=C;return 0}if((t|0)>-1){e=x+65764+(t*66|0)+60|0;e=d[e>>0]|d[e+1>>0]<<8;c[A>>2]=(e&65535)>>>8&15;c[B>>2]=e&7;e=((e<<9&65535)<<16>>16>>13&65535)<<24>>24}else e=8;if((s|0)>16){i=c[c[w>>2]>>2]|0;k=i+32|0;f=c[v>>2]|0;k=k>>>0<f>>>0?k:412368;m=c[k+8>>2]|0;if((m|0)!=19){if(((m&15)+-3|0)>>>0<2){switch(m&15){case 4:{f=k;q=39;break}case 3:{if((c[(c[p>>2]|0)+12>>2]|0)>0){jA(b);i=c[c[w>>2]>>2]|0;f=c[v>>2]|0}q=i+32|0;f=q>>>0<f>>>0?q:412368;oA(b,f);q=39;break}default:f=0}if((q|0)==39)f=(c[f>>2]|0)+16|0;if(!(zk(f,A,B)|0)){oB(b,338423,r);l=C;return 0}}}else{r=c[k>>2]|0;c[A>>2]=(r|0)%12|0;c[B>>2]=(r|0)/12|0}if((s|0)>32){i=(c[c[w>>2]>>2]|0)+48|0;i=i>>>0<(c[v>>2]|0)>>>0?i:412368;f=c[i+8>>2]|0;c:do if((f|0)==3)g=+h[i>>3];else do if((f|0)==19){r=i;g=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[i>>2]|0)+16|0,y)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){p=(c[y+8>>2]|0)==19;r=y;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;g=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}g=0.0;break c}while(0);while(0);k=~~g;if((u|0)!=3){i=(c[c[w>>2]>>2]|0)+64|0;i=i>>>0<(c[v>>2]|0)>>>0?i:412368;f=c[i+8>>2]|0;d:do if((f|0)==3)g=+h[i>>3];else do if((f|0)==19){r=i;g=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[i>>2]|0)+16|0,y)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){p=(c[y+8>>2]|0)==19;r=y;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;g=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}g=0.0;break d}while(0);while(0);i=~~g;if((s|0)>64){m=(c[c[w>>2]>>2]|0)+80|0;m=m>>>0<(c[v>>2]|0)>>>0?m:412368;f=c[m+8>>2]|0;e:do if((f|0)==3)g=+h[m>>3];else f:do if((f|0)==19){s=m;g=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{do if((f&15|0)==4){n=nA((c[m>>2]|0)+16|0,y)|0;f=c[m>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((n|0)!=(f+1|0))break;q=(c[y+8>>2]|0)==19;s=y;r=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=r;c[j+4>>2]=s;g=q?+(r>>>0)+4294967296.0*+(s|0):+h[j>>3];break f}while(0);g=0.0;break e}while(0);while(0);f=~~g;if((u|0)!=5){m=(c[c[w>>2]>>2]|0)+96|0;m=m>>>0<(c[v>>2]|0)>>>0?m:412368;e=c[m+8>>2]|0;g:do if((e|0)==3)g=+h[m>>3];else h:do if((e|0)==19){y=m;g=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{do if((e&15|0)==4){n=nA((c[m>>2]|0)+16|0,y)|0;e=c[m>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((n|0)!=(e+1|0))break;v=(c[y+8>>2]|0)==19;w=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=w;c[j+4>>2]=y;g=v?+(w>>>0)+4294967296.0*+(y|0):+h[j>>3];break h}while(0);g=0.0;break g}while(0);while(0);e=~~g}}else f=15;if(i>>>0>=4){oB(b,338457,z);l=C;return 0}}else{i=0;f=15}}else{k=-1;i=0;f=15}}else{k=-1;i=0;f=15}li[c[x+1262748>>2]&511](x,i);Ci[c[x+1262752>>2]&7](x,t,c[A>>2]|0,c[B>>2]|0,k,i,f&15,e);l=C;return 0}function Bp(b){b=b|0;var e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0.0;D=l;l=l+16|0;B=D;C=b+8|0;e=c[C>>2]|0;m=b+16|0;f=(c[c[m>>2]>>2]|0)+16|0;i=e-f|0;o=i>>4;if((i|0)>16){f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;a:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){y=f;k=+((c[y>>2]|0)>>>0)+4294967296.0*+(c[y+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){w=(c[B+8>>2]|0)==19;y=B;x=c[y>>2]|0;y=c[y+4>>2]|0;c[j>>2]=x;c[j+4>>2]=y;k=w?+(x>>>0)+4294967296.0*+(y|0):+h[j>>3];break}}k=0.0;break a}while(0);while(0);y=~~k;f=(c[c[m>>2]>>2]|0)+32|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){x=f;k=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){v=(c[B+8>>2]|0)==19;x=B;w=c[x>>2]|0;x=c[x+4>>2]|0;c[j>>2]=w;c[j+4>>2]=x;k=v?+(w>>>0)+4294967296.0*+(x|0):+h[j>>3];break}}k=0.0;break b}while(0);while(0);x=~~k;if((i|0)>48){f=(c[c[m>>2]>>2]|0)+48|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;c:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){w=f;k=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){u=(c[B+8>>2]|0)==19;w=B;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;k=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}k=0.0;break c}while(0);while(0);w=~~k;f=(c[c[m>>2]>>2]|0)+64|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;d:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){v=f;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){t=(c[B+8>>2]|0)==19;v=B;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;k=t?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}k=0.0;break d}while(0);while(0);r=~~k;if((i|0)>80){f=(c[c[m>>2]>>2]|0)+80|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;e:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){v=f;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){t=(c[B+8>>2]|0)==19;v=B;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;k=t?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}k=0.0;break e}while(0);while(0);s=~~k;f=(c[c[m>>2]>>2]|0)+96|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;f:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){v=f;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){t=(c[B+8>>2]|0)==19;v=B;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;k=t?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}k=0.0;break f}while(0);while(0);t=~~k;if((o|0)!=6){f=(c[c[m>>2]>>2]|0)+112|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;g:do if((e|0)==3)k=+h[f>>3];else do if((e|0)==19){v=f;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){g=(c[B+8>>2]|0)==19;v=B;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;k=g?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}k=0.0;break g}while(0);while(0);u=~~k&255;if((i|0)>112){f=(c[c[m>>2]>>2]|0)+128|0;f=f>>>0<(c[C>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;h:do if((e|0)==3)k=+h[f>>3];else i:do if((e|0)==19){v=f;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{do if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,B)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)!=(e+1|0))break;g=(c[B+8>>2]|0)==19;v=B;i=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=i;c[j+4>>2]=v;k=g?+(i>>>0)+4294967296.0*+(v|0):+h[j>>3];break i}while(0);k=0.0;break h}while(0);while(0);v=~~k;if(((o|0)!=8?(n=c[c[m>>2]>>2]|0,o=n+144|0,p=c[C>>2]|0,!(o>>>0>=p>>>0|(o|0)==412368)):0)?(c[n+152>>2]&15|0)==6:0){e=p+-16|0;if((e|0)!=412368?(c[p+-8>>2]&15|0)==0:0){c[C>>2]=e;e=-1;n=b+12|0}else{n=b+12|0;e=c[(c[(c[n>>2]|0)+40>>2]|0)+16>>2]|0;while(1){if((c[e+24>>2]|0)==19?(o=e+16|0,(c[o>>2]|0)==0&(c[o+4>>2]|0)==0):0){q=111;break}f=c[e+28>>2]|0;if(!f){e=412368;break}e=e+(f<<5)|0}c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];c[p+8>>2]=c[e+8>>2];c[p+12>>2]=c[e+12>>2];e=c[C>>2]|0;c[C>>2]=e+16;f=c[e+8>>2]|0;do if((f|0)!=19){j:while(1){switch(f|0){case 3:{q=118;break j}case 19:{q=121;break j}default:{}}if((f&15|0)!=4){q=129;break}f=nA((c[e>>2]|0)+16|0,B)|0;e=c[e>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((f|0)!=(e+1|0)){q=129;break}e=B;f=c[B+8>>2]|0}do if((q|0)==118){E=+h[e>>3];k=+A(+E);if(E!=k){q=129;break}if(!(k>=-9223372036854775808.0&k<9223372036854775808.0)){q=129;break}e=~~k>>>0;q=128}else if((q|0)==121){e=c[e>>2]|0;q=128}while(0);if((q|0)==128){q=130;break}else if((q|0)==129){c[C>>2]=(c[C>>2]|0)+-16;q=140;break}}else{e=c[e>>2]|0;q=130}while(0);do if((q|0)==130){m=(c[C>>2]|0)+-16|0;c[C>>2]=m;if(!e){q=140;break}i=((e|0)<0)<<31>>31;f=c[(c[n>>2]|0)+40>>2]|0;g=b6(e|0,i|0,-1,-1)|0;p=z;k:do if(p>>>0<0|((p|0)==0?g>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(g<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&e)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==(e|0)?(c[p+4>>2]|0)==(i|0):0):0)break;g=c[f+28>>2]|0;if(!g){f=412368;break k}f=f+(g<<5)|0}}while(0);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[C>>2]=(c[C>>2]|0)+16;sz(b,-1001e3,0,0)}while(0);if((q|0)==140){p=c[n>>2]|0;e=p+40|0;switch(c[p+48>>2]&63){case 4:{e=d[(c[e>>2]|0)+7>>0]|0;break}case 20:{e=c[(c[e>>2]|0)+12>>2]|0;break}case 7:{e=c[(c[e>>2]|0)+12>>2]|0;break}case 5:{e=XA(c[e>>2]|0)|0;break}default:e=0}e=e+1|0}sz(b,-1001e3,e,((e|0)<0)<<31>>31)}c[B>>2]=b;m=B+4|0;c[m>>2]=e;g=c[n>>2]|0;e=c[g+40>>2]|0;l:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break l}f=f+(e<<5)|0}}while(0);i=c[C>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[i>>2]=e;c[i+8>>2]=(a[e+4>>0]|64)&255;p=c[C>>2]|0;c[C>>2]=p+16;bB(b,f,p,p);p=c[C>>2]|0;f=p+-16|0;switch(c[p+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[C>>2]=f;Gi[c[e+1262712>>2]&1](e,e+32768|0,e+16384|0,y,x,w,r,s,t,u,v,14,B);g=c[m>>2]|0;if((g|0)>-1){i=c[C>>2]|0;e=c[(c[(c[n>>2]|0)+40>>2]|0)+16>>2]|0;while(1){if((c[e+24>>2]|0)==19?(B=e+16|0,(c[B>>2]|0)==0&(c[B+4>>2]|0)==0):0){q=165;break}f=c[e+28>>2]|0;if(!f){e=412368;break}e=e+(f<<5)|0}c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[C>>2]=(c[C>>2]|0)+16;x=((g|0)<0)<<31>>31;sz(b,-1001e3,g,x);B=c[C>>2]|0;y=B;c[y>>2]=g;c[y+4>>2]=x;c[B+8>>2]=19;c[C>>2]=B+16;sz(b,-1001e3,0,0)}l=D;return 0}}else v=1}else{v=1;u=-1}}else{v=1;u=-1;t=0;s=0}}else{w=30;v=1;u=-1;t=0;s=0;r=17}}else{y=0;x=0;w=30;v=1;u=-1;t=0;s=0;r=17}o=b+12|0;g=c[o>>2]|0;e=c[g+40>>2]|0;m:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(B=f+16|0,(c[B>>2]|0)==2&(c[B+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break m}f=f+(e<<5)|0}}while(0);i=c[C>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[i>>2]=e;c[i+8>>2]=(a[e+4>>0]|64)&255;m=c[C>>2]|0;c[C>>2]=m+16;bB(b,f,m,m);m=c[C>>2]|0;n=m+-16|0;switch(c[m+-8>>2]&15){case 7:{p=(c[n>>2]|0)+24|0;break}case 2:{p=c[n>>2]|0;break}default:p=0}c[C>>2]=n;q=c[p+1262708>>2]|0;i=c[o>>2]|0;e=c[i+40>>2]|0;n:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(B=f+16|0,(c[B>>2]|0)==2&(c[B+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break n}f=f+(e<<5)|0}g=f}while(0);f=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[f>>2]=e}c[n>>2]=e;c[m+-8>>2]=(a[e+4>>0]|64)&255;f=c[C>>2]|0;c[C>>2]=f+16;bB(b,g,f,f);b=c[C>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[C>>2]=f;Ei[q&15](e,p+32768|0,p+16384|0,y,x,w,r,s,t,u,v);l=D;return 0}function Cp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p;o=b+8|0;f=c[o>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=32){oB(b,330814,p+16|0);o=0;l=p;return o|0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[o>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;c:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break c}g=g+(f<<5)|0}}while(0);k=c[o>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[o>>2]|0;c[o>>2]=k+16;bB(b,g,k,k);b=c[o>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[o>>2]=g;m=(Uh[c[f+1262720>>2]&63](f,f+32768|0,n,m)|0)&255;b=c[o>>2]|0;n=b;c[n>>2]=m;c[n+4>>2]=0;c[b+8>>2]=19;c[o>>2]=b+16;o=1;l=p;return o|0}function Dp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q;p=b+8|0;f=c[p>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=48){oB(b,330814,q+16|0);l=q;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[p>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+48|0;g=g>>>0<(c[p>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);m=~~e&255;i=c[b+12>>2]|0;f=c[i+40>>2]|0;d:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break d}g=g+(f<<5)|0}}while(0);k=c[p>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[p>>2]|0;c[p>>2]=k+16;bB(b,g,k,k);b=c[p>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[p>>2]=g;zi[c[f+1262716>>2]&31](f,f+32768|0,o,n,m);l=q;return 0}function Ep(b){b=b|0;var e=0,f=0.0,g=0,i=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;i=c[b+12>>2]|0;e=c[i+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{g=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(m=g+16|0,(c[m>>2]|0)==2&(c[m+4>>2]|0)==0):0)break;e=c[g+28>>2]|0;if(!e){g=412368;break a}g=g+(e<<5)|0}}while(0);m=b+8|0;k=c[m>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;k=c[m>>2]|0;c[m>>2]=k+16;bB(b,g,k,k);k=c[m>>2]|0;e=k+-16|0;switch(c[k+-8>>2]&15){case 7:{k=(c[e>>2]|0)+24|0;break}case 2:{k=c[e>>2]|0;break}default:k=0}c[m>>2]=e;g=(c[c[b+16>>2]>>2]|0)+16|0;g=g>>>0<e>>>0?g:412368;e=c[g+8>>2]|0;b:do if((e|0)==3)f=+h[g>>3];else do if((e|0)==19){n=g;f=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[g>>2]|0)+16|0,n)|0;e=c[g>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[n+8>>2]|0)==19;b=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=b;c[j+4>>2]=n;f=i?+(b>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}f=0.0;break b}while(0);while(0);e=~~f;if(!((e|0)>-1&e>>>0<81920)){n=0;l=o;return n|0}n=c[m>>2]|0;b=n;c[b>>2]=d[k+e>>0];c[b+4>>2]=0;c[n+8>>2]=19;c[m>>2]=n+16;n=1;l=o;return n|0}function Fp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;i=c[b+12>>2]|0;f=c[i+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(n=g+16|0,(c[n>>2]|0)==2&(c[n+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);m=b+8|0;k=c[m>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;n=c[m>>2]|0;c[m>>2]=n+16;bB(b,g,n,n);n=c[m>>2]|0;f=n+-16|0;switch(c[n+-8>>2]&15){case 7:{n=(c[f>>2]|0)+24|0;break}case 2:{n=c[f>>2]|0;break}default:n=0}c[m>>2]=f;b=b+16|0;g=(c[c[b>>2]>>2]|0)+16|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){k=g;e=+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,o)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[o+8>>2]|0)==19;k=o;i=c[k>>2]|0;k=c[k+4>>2]|0;c[j>>2]=i;c[j+4>>2]=k;e=g?+(i>>>0)+4294967296.0*+(k|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);k=~~e;g=(c[c[b>>2]>>2]|0)+32|0;g=g>>>0<(c[m>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,o)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){b=(c[o+8>>2]|0)==19;m=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=m;c[j+4>>2]=o;e=b?+(m>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);if(!((k|0)>-1&k>>>0<81920)){l=p;return 0}a[n+k>>0]=~~e;l=p;return 0}function Gp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o;n=b+8|0;f=c[n>>2]|0;g=(c[c[b+16>>2]>>2]|0)+16|0;if((f-g|0)!=16){oB(b,330781,o+16|0);n=0;l=o;return n|0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,k)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[k+8>>2]|0)==19;m=k;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);m=~~e;if(!((m|0)>-1&m>>>0<163840)){n=0;l=o;return n|0}i=c[b+12>>2]|0;f=c[i+40>>2]|0;b:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break b}g=g+(f<<5)|0}}while(0);k=c[n>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(b,g,i,i);g=c[n>>2]|0;i=g+-16|0;switch(c[g+-8>>2]&15){case 7:{f=(c[i>>2]|0)+24|0;break}case 2:{f=c[i>>2]|0;break}default:f=0}c[n>>2]=i;k=d[f+(m>>>1)>>0]|0;b=i;c[b>>2]=m&1|0?k>>>4:k&15;c[b+4>>2]=0;c[g+-8>>2]=19;c[n>>2]=g;n=1;l=o;return n|0}function Hp(b){b=b|0;var e=0,f=0,g=0.0,i=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p;o=b+8|0;e=c[o>>2]|0;k=b+16|0;f=(c[c[k>>2]>>2]|0)+16|0;if((e-f|0)!=32){oB(b,330742,p+16|0);l=p;return 0}f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;a:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){n=f;g=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,m)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){f=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;g=f?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}g=0.0;break a}while(0);while(0);n=~~g;f=(c[c[k>>2]>>2]|0)+32|0;f=f>>>0<(c[o>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){m=f;g=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,m)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;g=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}g=0.0;break b}while(0);while(0);if(!((n|0)>-1&n>>>0<163840)){l=p;return 0}m=~~g;i=c[b+12>>2]|0;e=c[i+40>>2]|0;c:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(k=f+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break c}f=f+(e<<5)|0}}while(0);k=c[o>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;k=c[o>>2]|0;c[o>>2]=k+16;bB(b,f,k,k);b=c[o>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[o>>2]=f;i=e+(n>>>1)|0;e=d[i>>0]|0;if(!(n&1)){f=e&240;a[i>>0]=f;e=m&15}else{f=e&15;a[i>>0]=f;e=m<<4&4080}a[i>>0]=e|f;l=p;return 0}function Ip(b){b=b|0;var e=0,f=0,g=0.0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;o=r+16|0;m=r;q=b+8|0;e=c[q>>2]|0;k=b+16|0;f=(c[c[k>>2]>>2]|0)+16|0;if((e-f|0)==48){f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;a:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){p=f;g=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,m)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[m+8>>2]|0)==19;p=m;n=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=n;c[j+4>>2]=p;g=i?+(n>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}g=0.0;break a}while(0);while(0);p=~~g;f=(c[c[k>>2]>>2]|0)+32|0;f=f>>>0<(c[q>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){n=f;g=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,m)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){f=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;g=f?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}g=0.0;break b}while(0);while(0);n=~~g;f=(c[c[k>>2]>>2]|0)+48|0;f=f>>>0<(c[q>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;c:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){m=f;g=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,m)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;g=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}g=0.0;break c}while(0);while(0);m=~~g;k=81920-m|0;if(!((n|0)>(k|0)|((p|0)>(k|0)|(m>>>0>81920|(n|p|m|0)<0)))){i=c[b+12>>2]|0;e=c[i+40>>2]|0;d:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(o=f+16|0,(c[o>>2]|0)==2&(c[o+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break d}f=f+(e<<5)|0}}while(0);k=c[q>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;o=c[q>>2]|0;c[q>>2]=o+16;bB(b,f,o,o);b=c[q>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[q>>2]=f;s6(e+p|0,e+n|0,m|0)|0;l=r;return 0}}oB(b,330703,o);l=r;return 0}function Jp(b){b=b|0;var e=0,f=0,g=0.0,i=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+16|0;n=s;r=b+8|0;e=c[r>>2]|0;k=b+16|0;f=(c[c[k>>2]>>2]|0)+16|0;if((e-f|0)==48){f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;a:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){q=f;g=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,n)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[n+8>>2]|0)==19;q=n;o=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=o;c[j+4>>2]=q;g=i?+(o>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}g=0.0;break a}while(0);while(0);q=~~g;f=(c[c[k>>2]>>2]|0)+32|0;f=f>>>0<(c[r>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)m=+h[f>>3];else{do if((e|0)==19){o=f;g=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,n)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){f=(c[n+8>>2]|0)==19;o=n;i=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=i;c[j+4>>2]=o;g=f?+(i>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}m=0.0;break b}while(0);m=g}while(0);f=(c[c[k>>2]>>2]|0)+48|0;f=f>>>0<(c[r>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;c:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){o=f;g=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,n)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){k=(c[n+8>>2]|0)==19;o=n;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;g=k?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}g=0.0;break c}while(0);while(0);o=~~g;if(!((q|0)>(81920-o|0)|(o>>>0>81920|(o|q|0)<0))){n=~~m&255;i=c[b+12>>2]|0;e=c[i+40>>2]|0;d:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break d}f=f+(e<<5)|0}}while(0);k=c[r>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;p=c[r>>2]|0;c[r>>2]=p+16;bB(b,f,p,p);b=c[r>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[r>>2]=f;u6(e+q|0,n|0,o|0)|0;l=s;return 0}}oB(b,330664,p);l=s;return 0}function Kp(e){e=e|0;var f=0,g=0.0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+32|0;p=x+16|0;w=x;t=e+8|0;o=c[t>>2]|0;u=e+16|0;v=o-((c[c[u>>2]>>2]|0)+16)|0;q=e+12|0;m=c[q>>2]|0;f=c[m+40>>2]|0;n=o;a:do if((c[f+8>>2]|0)>>>0>1)k=(c[f+12>>2]|0)+16|0;else{i=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(r=i+16|0,(c[r>>2]|0)==2&(c[r+4>>2]|0)==0):0)break;f=c[i+28>>2]|0;if(!f){k=412368;break a}i=i+(f<<5)|0}k=i}while(0);i=m+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(e,330224,6)|0;c[i>>2]=f}c[o>>2]=f;c[n+8>>2]=(a[f+4>>0]|64)&255;n=c[t>>2]|0;c[t>>2]=n+16;bB(e,k,n,n);n=c[t>>2]|0;o=n+-16|0;switch(c[n+-8>>2]&15){case 7:{r=(c[o>>2]|0)+24|0;break}case 2:{r=c[o>>2]|0;break}default:r=0}c[t>>2]=o;if((v|0)<=0){l=x;return 0}m=c[q>>2]|0;f=c[m+40>>2]|0;b:do if((c[f+8>>2]|0)>>>0>1)k=(c[f+12>>2]|0)+16|0;else{i=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(k=i+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[i+28>>2]|0;if(!f){k=412368;break b}i=i+(f<<5)|0}k=i}while(0);i=m+280+(((356626>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(356626,f+16|0)|0){f=QA(e,356626,8)|0;c[i>>2]=f}c[o>>2]=f;c[n+-8>>2]=(a[f+4>>0]|64)&255;f=c[t>>2]|0;c[t>>2]=f+16;bB(e,k,f,f);f=c[t>>2]|0;i=f+-16|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];f=c[t>>2]|0;i=f+16|0;c[t>>2]=i;k=c[c[u>>2]>>2]|0;k=k>>>0<f>>>0?k+16|0:412368;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=c[t>>2]|0;c[t>>2]=i+16;i=i+-16|0;k=e+106|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(e,353895,p);if((f&65535)>224)Jz(e,6)}f=e+104|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Nz(e,i,1)|0))jB(e);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;f=c[t>>2]|0;switch(c[f+-8>>2]&15){case 4:{i=f;f=f+-16|0;s=38;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(e);f=c[t>>2]|0}f=f+-16|0;oA(e,f);i=c[t>>2]|0;s=38;break}default:m=0}if((s|0)==38){m=(c[f>>2]|0)+16|0;f=i}f=f+-32|0;c[t>>2]=f;if((v|0)==16)f=15;else{i=(c[c[u>>2]>>2]|0)+32|0;i=i>>>0<f>>>0?i:412368;f=c[i+8>>2]|0;c:do if((f|0)==3)g=+h[i>>3];else do if((f|0)==19){w=i;g=+((c[w>>2]|0)>>>0)+4294967296.0*+(c[w+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[i>>2]|0)+16|0,w)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){u=(c[w+8>>2]|0)==19;v=c[w>>2]|0;w=c[w+4>>2]|0;c[j>>2]=v;c[j+4>>2]=w;g=u?+(v>>>0)+4294967296.0*+(w|0):+h[j>>3];break}}g=0.0;break c}while(0);while(0);f=~~g&255}w=c[r+1411596>>2]|0;si[c[w>>2]&127](c[w+40>>2]|0,m|0?m:361168,f);l=x;return 0}function Lp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+32|0;o=u+24|0;p=u+16|0;s=u;t=b+8|0;n=c[t>>2]|0;q=b+16|0;r=n-((c[c[q>>2]>>2]|0)+16)|0;k=c[b+12>>2]|0;f=c[k+40>>2]|0;m=n;a:do if((c[f+8>>2]|0)>>>0>1)i=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(i=g+16|0,(c[i>>2]|0)==2&(c[i+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){i=412368;break a}g=g+(f<<5)|0}i=g}while(0);g=k+280+(((330224>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[g>>2]=f}c[n>>2]=f;c[m+8>>2]=(a[f+4>>0]|64)&255;n=c[t>>2]|0;c[t>>2]=n+16;bB(b,i,n,n);n=c[t>>2]|0;f=n+-16|0;switch(c[n+-8>>2]&15){case 7:{m=(c[f>>2]|0)+24|0;break}case 2:{m=c[f>>2]|0;break}default:m=0}c[t>>2]=f;if((r|0)<=0){oB(b,330622,o);t=0;l=u;return t|0}g=(c[c[q>>2]>>2]|0)+16|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){k=(c[s+8>>2]|0)==19;o=s;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=k?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);f=~~e;if(f>>>0>=256){oB(b,338493,p);t=0;l=u;return t|0}i=m+1262836+(f<<2)|0;k=c[i>>2]|0;if((r|0)>16){f=(c[c[q>>2]>>2]|0)+32|0;f=f>>>0<(c[t>>2]|0)>>>0?f:412368;g=c[f+8>>2]|0;do if((g|0)!=19){c:while(1){switch(g|0){case 3:{g=34;break c}case 19:{g=37;break c}default:{}}if((g&15|0)!=4){g=45;break}g=nA((c[f>>2]|0)+16|0,s)|0;f=c[f>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){g=45;break}f=s;g=c[s+8>>2]|0}if((g|0)==34){v=+h[f>>3];e=+A(+v);if(!(v!=e)?e>=-9223372036854775808.0&e<9223372036854775808.0:0){f=~~e>>>0;g=44}else g=45}else if((g|0)==37){f=c[f>>2]|0;g=44}if((g|0)==44)break;else if((g|0)==45){f=0;break}}else f=c[f>>2]|0;while(0);c[i>>2]=f;a[(c[m+1411596>>2]|0)+32>>0]=1}s=c[t>>2]|0;r=s;c[r>>2]=k;c[r+4>>2]=0;c[s+8>>2]=19;c[t>>2]=s+16;t=1;l=u;return t|0}function Mp(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0.0;g=c[b+12>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(j=f+16|0,(c[j>>2]|0)==2&(c[j+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);j=b+8|0;i=c[j>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[i>>2]=e;c[i+8>>2]=(a[e+4>>0]|64)&255;i=c[j>>2]|0;c[j>>2]=i+16;bB(b,f,i,i);b=c[j>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[j>>2]=f;k=+Oh[c[e+1262768>>2]&3](e);b=c[j>>2]|0;h[b>>3]=k;c[b+8>>2]=3;c[j>>2]=b+16;return 1}function Np(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;g=c[b+12>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(i=f+16|0,(c[i>>2]|0)==2&(c[i+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);i=b+8|0;h=c[i>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[i>>2]|0;c[i>>2]=h+16;bB(b,f,h,h);b=c[i>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[i>>2]=f;b=c[e+1411596>>2]|0;fi[c[b+8>>2]&511](c[b+40>>2]|0);return 0}function Op(e){e=e|0;var f=0,g=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+32|0;p=B+16|0;x=B;q=e+12|0;k=c[q>>2]|0;f=c[k+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(A=g+16|0,(c[A>>2]|0)==2&(c[A+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);A=e+8|0;m=c[A>>2]|0;k=k+280+(((330224>>>0)%127|0)<<2)|0;f=c[k>>2]|0;if(e3(330224,f+16|0)|0){f=QA(e,330224,6)|0;c[k>>2]=f}c[m>>2]=f;c[m+8>>2]=(a[f+4>>0]|64)&255;n=c[A>>2]|0;c[A>>2]=n+16;bB(e,g,n,n);n=c[A>>2]|0;o=n+-16|0;switch(c[n+-8>>2]&15){case 7:{y=(c[o>>2]|0)+24|0;break}case 2:{y=c[o>>2]|0;break}default:y=0}c[A>>2]=o;v=e+16|0;u=o-((c[c[v>>2]>>2]|0)+16)|0;w=u>>4;if((u|0)<=0){A=0;l=B;return A|0}m=c[q>>2]|0;f=c[m+40>>2]|0;b:do if((c[f+8>>2]|0)>>>0>1)k=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(t=g+16|0,(c[t>>2]|0)==2&(c[t+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){k=412368;break b}g=g+(f<<5)|0}k=g}while(0);g=m+280+(((356626>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(356626,f+16|0)|0){f=QA(e,356626,8)|0;c[g>>2]=f}c[o>>2]=f;c[n+-8>>2]=(a[f+4>>0]|64)&255;f=c[A>>2]|0;c[A>>2]=f+16;bB(e,k,f,f);f=c[A>>2]|0;g=f+-16|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=c[A>>2]|0;g=f+16|0;c[A>>2]=g;k=c[c[v>>2]>>2]|0;k=k>>>0<f>>>0?k+16|0:412368;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];g=c[A>>2]|0;c[A>>2]=g+16;g=g+-16|0;k=e+106|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(e,353895,p);if((f&65535)>224)Jz(e,6)}f=e+104|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Nz(e,g,1)|0))jB(e);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;f=c[A>>2]|0;switch(c[f+-8>>2]&15){case 4:{g=f;f=f+-16|0;z=38;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0){jA(e);f=c[A>>2]|0}f=f+-16|0;oA(e,f);g=c[A>>2]|0;z=38;break}default:m=0}if((z|0)==38){m=(c[f>>2]|0)+16|0;f=g}f=f+-32|0;c[A>>2]=f;if((u|0)>32){g=(c[c[v>>2]>>2]|0)+32|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){t=g;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){r=(c[x+8>>2]|0)==19;t=x;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;i=r?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;break c}while(0);while(0);e=~~i;g=(c[c[v>>2]>>2]|0)+48|0;g=g>>>0<(c[A>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){t=g;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){r=(c[x+8>>2]|0)==19;t=x;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;i=r?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;break d}while(0);while(0);n=~~i;if((w|0)!=3){g=(c[c[v>>2]>>2]|0)+64|0;g=g>>>0<(c[A>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){t=g;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){r=(c[x+8>>2]|0)==19;t=x;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;i=r?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;break e}while(0);while(0);t=~~i&255;if((u|0)>80){g=(c[c[v>>2]>>2]|0)+80|0;g=g>>>0<(c[A>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;f:do if((f|0)==3)i=+h[g>>3];else g:do if((f|0)==19){s=g;i=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{do if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)!=(f+1|0))break;q=(c[x+8>>2]|0)==19;s=x;r=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=r;c[j+4>>2]=s;i=q?+(r>>>0)+4294967296.0*+(s|0):+h[j>>3];break g}while(0);i=0.0;break f}while(0);while(0);r=~~i;g=(c[c[v>>2]>>2]|0)+96|0;g=g>>>0<(c[A>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;h:do if((f|0)==3)i=+h[g>>3];else i:do if((f|0)==19){s=g;i=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{do if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)!=(f+1|0))break;p=(c[x+8>>2]|0)==19;s=x;q=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=q;c[j+4>>2]=s;i=p?+(q>>>0)+4294967296.0*+(s|0):+h[j>>3];break i}while(0);i=0.0;break h}while(0);while(0);s=~~i;if((w|0)!=6){g=c[c[v>>2]>>2]|0;f=g+112|0;k=c[A>>2]|0;f=f>>>0<k>>>0?f:412368;switch(c[f+8>>2]|0){case 0:{q=3;break}case 1:{q=c[f>>2]|0?4:3;break}default:q=4}if((u|0)>112){g=g+128|0;g=g>>>0<k>>>0?g:412368;f=c[g+8>>2]|0;j:do if((f|0)==3)i=+h[g>>3];else k:do if((f|0)==19){x=g;i=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0)}else{do if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,x)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)!=(f+1|0))break;p=(c[x+8>>2]|0)==19;u=c[x>>2]|0;x=c[x+4>>2]|0;c[j>>2]=u;c[j+4>>2]=x;i=p?+(u>>>0)+4294967296.0*+(x|0):+h[j>>3];break k}while(0);i=0.0;break j}while(0);while(0);g=~~i;l:do if((w|0)==8)f=0;else{f=(c[c[v>>2]>>2]|0)+144|0;f=f>>>0<(c[A>>2]|0)>>>0?f:412368;switch(c[f+8>>2]|0){case 0:{f=0;break l}case 1:{f=(c[f>>2]|0)!=0;break l}default:{f=1;break l}}}while(0);if(!g){f=0;g=0}else{u=g;z=124}}else{f=0;u=1;z=124}}else{f=0;u=1;q=3;z=124}}else{f=0;u=1;s=8;r=8;q=3;z=124}}else{f=0;u=1;t=0;s=8;r=8;q=3;z=124}}else{f=0;u=1;t=0;s=8;r=8;n=0;e=0;q=3;z=124}if((z|0)==124){p=O(u,s)|0;o=e;g=m;m:while(1){m=e;n:while(1){k=g+1|0;g=a[g>>0]|0;switch(g<<24>>24){case 0:break m;case 10:break n;default:{}}m=(_h[q&7](y,g,m,n,r,s,t,u,f)|0)+m|0;g=k}o=(m|0)>(o|0)?m:o;g=k;n=n+p|0}g=((m|0)>(o|0)?m:o)-e|0;f=g;g=((g|0)<0)<<31>>31}z=c[A>>2]|0;y=z;c[y>>2]=f;c[y+4>>2]=g;c[z+8>>2]=19;c[A>>2]=z+16;A=1;l=B;return A|0}function Pp(f){f=f|0;var g=0,h=0,i=0,j=0,k=0;i=c[f+12>>2]|0;g=c[i+40>>2]|0;a:do if((c[g+8>>2]|0)>>>0>1)h=(c[g+12>>2]|0)+16|0;else{h=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+3&2)<<5)|0;while(1){if((c[h+24>>2]|0)==19?(k=h+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;g=c[h+28>>2]|0;if(!g){h=412368;break a}h=h+(g<<5)|0}}while(0);k=f+8|0;j=c[k>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(330224,g+16|0)|0){g=QA(f,330224,6)|0;c[i>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;i=c[k>>2]|0;c[k>>2]=i+16;bB(f,h,i,i);h=c[k>>2]|0;i=h+-16|0;j=h+-8|0;switch(c[j>>2]&15){case 7:{g=(c[i>>2]|0)+24|0;break}case 2:{g=c[i>>2]|0;break}default:g=0}f=i;c[f>>2]=d[g+65412>>0];c[f+4>>2]=0;c[j>>2]=19;f=h;c[f>>2]=d[g+65413>>0];c[f+4>>2]=0;c[h+8>>2]=19;f=h+16|0;c[k>>2]=f;j=g+65414|0;c[f>>2]=b[j>>1]&1;c[h+24>>2]=1;f=h+32|0;c[k>>2]=f;c[f>>2]=(e[j>>1]|0)>>>1&1;c[h+40>>2]=1;f=h+48|0;c[k>>2]=f;c[f>>2]=(e[j>>1]|0)>>>2&1;c[h+56>>2]=1;c[k>>2]=h+64;return 5}function Qp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r;q=b+8|0;f=c[q>>2]|0;k=b+16|0;g=c[c[k>>2]>>2]|0;if((f-(g+16)|0)!=64){oB(b,330578,r+16|0);l=r;return 0}g=g+48|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);p=~~e;if((p|0)<0){l=r;return 0}g=(c[c[k>>2]>>2]|0)+16|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;e:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break e}g=g+(f<<5)|0}}while(0);k=c[q>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[q>>2]|0;c[q>>2]=k+16;bB(b,g,k,k);b=c[q>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[q>>2]=g;zi[c[f+1262724>>2]&31](f,o,n,p,m&255);l=r;return 0}function Rp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r;q=b+8|0;f=c[q>>2]|0;k=b+16|0;g=c[c[k>>2]>>2]|0;if((f-(g+16)|0)!=64){oB(b,330533,r+16|0);l=r;return 0}g=g+48|0;g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);p=~~e;if((p|0)<0){l=r;return 0}g=(c[c[k>>2]>>2]|0)+16|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[q>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;e:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break e}g=g+(f<<5)|0}}while(0);k=c[q>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[q>>2]|0;c[q>>2]=k+16;bB(b,g,k,k);b=c[q>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[q>>2]=g;zi[c[f+1262728>>2]&31](f,o,n,p,m&255);l=r;return 0}function Sp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;m=u;t=b+8|0;f=c[t>>2]|0;k=b+16|0;g=(c[c[k>>2]>>2]|0)+16|0;if((f-g|0)!=112){oB(b,330483,u+16|0);l=u;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){s=g;e=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){q=(c[m+8>>2]|0)==19;s=m;r=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=r;c[j+4>>2]=s;e=q?+(r>>>0)+4294967296.0*+(s|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);s=~~e;g=(c[c[k>>2]>>2]|0)+32|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){r=g;e=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){p=(c[m+8>>2]|0)==19;r=m;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;e=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);r=~~e;g=(c[c[k>>2]>>2]|0)+48|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){q=g;e=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){o=(c[m+8>>2]|0)==19;q=m;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;e=o?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);q=~~e;g=(c[c[k>>2]>>2]|0)+64|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){n=(c[m+8>>2]|0)==19;p=m;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=n?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);p=~~e;g=(c[c[k>>2]>>2]|0)+80|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){o=g;e=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;o=m;n=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=n;c[j+4>>2]=o;e=i?+(n>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}e=0.0;break e}while(0);while(0);o=~~e;g=(c[c[k>>2]>>2]|0)+96|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;f:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){n=g;e=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[m+8>>2]|0)==19;n=m;i=c[n>>2]|0;n=c[n+4>>2]|0;c[j>>2]=i;c[j+4>>2]=n;e=g?+(i>>>0)+4294967296.0*+(n|0):+h[j>>3];break}}e=0.0;break f}while(0);while(0);n=~~e;g=(c[c[k>>2]>>2]|0)+112|0;g=g>>>0<(c[t>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;g:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,m)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){i=(c[m+8>>2]|0)==19;k=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=k;c[j+4>>2]=m;e=i?+(k>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break g}while(0);while(0);m=~~e;i=c[b+12>>2]|0;f=c[i+40>>2]|0;h:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(k=g+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break h}g=g+(f<<5)|0}}while(0);k=c[t>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[t>>2]|0;c[t>>2]=k+16;bB(b,g,k,k);b=c[t>>2]|0;g=b+-16|0;switch(c[b+-8>>2]&15){case 7:{f=(c[g>>2]|0)+24|0;break}case 2:{f=c[g>>2]|0;break}default:f=0}c[t>>2]=g;Ci[c[f+1262732>>2]&7](f,s,r,q,p,o,n,m&255);l=u;return 0}function Tp(b){b=b|0;var e=0.0,f=0,g=0,i=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+32|0;B=C;y=b+8|0;f=c[y>>2]|0;z=b+16|0;g=(c[c[z>>2]>>2]|0)+16|0;v=f-g|0;A=v>>4;if((v|0)<=176){oB(b,330389,C+16|0);l=C;return 0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;a:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){v=g;e=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;e=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}e=0.0;break a}while(0);while(0);g=(c[c[z>>2]>>2]|0)+32|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){v=g;i=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;i=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}i=0.0;break b}while(0);while(0);g=(c[c[z>>2]>>2]|0)+48|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)k=+h[g>>3];else do if((f|0)==19){v=g;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;k=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}k=0.0;break c}while(0);while(0);g=(c[c[z>>2]>>2]|0)+64|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)n=+h[g>>3];else do if((f|0)==19){v=g;n=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;n=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}n=0.0;break d}while(0);while(0);g=(c[c[z>>2]>>2]|0)+80|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)o=+h[g>>3];else do if((f|0)==19){v=g;o=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;o=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}o=0.0;break e}while(0);while(0);g=(c[c[z>>2]>>2]|0)+96|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;f:do if((f|0)==3)p=+h[g>>3];else do if((f|0)==19){v=g;p=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;p=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}p=0.0;break f}while(0);while(0);g=(c[c[z>>2]>>2]|0)+112|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;g:do if((f|0)==3)q=+h[g>>3];else do if((f|0)==19){v=g;q=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;q=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}q=0.0;break g}while(0);while(0);g=(c[c[z>>2]>>2]|0)+128|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;h:do if((f|0)==3)r=+h[g>>3];else do if((f|0)==19){v=g;r=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;r=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}r=0.0;break h}while(0);while(0);g=(c[c[z>>2]>>2]|0)+144|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;i:do if((f|0)==3)s=+h[g>>3];else do if((f|0)==19){v=g;s=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;s=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}s=0.0;break i}while(0);while(0);g=(c[c[z>>2]>>2]|0)+160|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;j:do if((f|0)==3)t=+h[g>>3];else do if((f|0)==19){v=g;t=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;t=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}t=0.0;break j}while(0);while(0);g=(c[c[z>>2]>>2]|0)+176|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;k:do if((f|0)==3)u=+h[g>>3];else do if((f|0)==19){v=g;u=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;u=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}u=0.0;break k}while(0);while(0);x=u;g=(c[c[z>>2]>>2]|0)+192|0;g=g>>>0<(c[y>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;l:do if((f|0)==3)u=+h[g>>3];else do if((f|0)==19){v=g;u=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((f&15|0)==4){m=nA((c[g>>2]|0)+16|0,B)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((m|0)==(f+1|0)){g=(c[B+8>>2]|0)==19;v=B;m=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=m;c[j+4>>2]=v;u=g?+(m>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}u=0.0;break l}while(0);while(0);w=u;m=c[b+12>>2]|0;f=c[m+40>>2]|0;m:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(v=g+16|0,(c[v>>2]|0)==2&(c[v+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break m}g=g+(f<<5)|0}}while(0);v=c[y>>2]|0;m=m+280+(((330224>>>0)%127|0)<<2)|0;f=c[m>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[m>>2]=f}c[v>>2]=f;c[v+8>>2]=(a[f+4>>0]|64)&255;v=c[y>>2]|0;c[y>>2]=v+16;bB(b,g,v,v);b=c[y>>2]|0;v=b+-16|0;switch(c[b+-8>>2]&15){case 7:{b=(c[v>>2]|0)+24|0;break}case 2:{b=c[v>>2]|0;break}default:b=0}c[y>>2]=v;if((A|0)!=12){m=c[c[z>>2]>>2]|0;f=m+208|0;f=f>>>0<v>>>0?f:412368;switch(c[f+8>>2]|0){case 0:{g=0;break}case 1:{g=(c[f>>2]|0)!=0;break}default:g=1}if((A|0)==13)f=-1;else{m=m+224|0;m=m>>>0<v>>>0?m:412368;f=c[m+8>>2]|0;n:do if((f|0)==3)u=+h[m>>3];else o:do if((f|0)==19){B=m;u=+((c[B>>2]|0)>>>0)+4294967296.0*+(c[B+4>>2]|0)}else{do if((f&15|0)==4){v=nA((c[m>>2]|0)+16|0,B)|0;f=c[m>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((v|0)!=(f+1|0))break;z=(c[B+8>>2]|0)==19;A=c[B>>2]|0;B=c[B+4>>2]|0;c[j>>2]=A;c[j+4>>2]=B;u=z?+(A>>>0)+4294967296.0*+(B|0):+h[j>>3];break o}while(0);u=0.0;break n}while(0);while(0);f=~~u&255}}else{g=0;f=-1}ki[c[b+1262736>>2]&1](b,e,i,k,n,o,p,q,r,s,t,x,w,g,f);l=C;return 0}function Up(b){b=b|0;var e=0,f=0,g=0.0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;f=v+16|0;o=v;u=b+8|0;n=c[u>>2]|0;k=b+16|0;e=(c[c[k>>2]>>2]|0)+16|0;m=n;switch(n-e>>4|0){case 0:{k=c[b+12>>2]|0;e=c[k+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)i=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(t=f+16|0,(c[t>>2]|0)==2&(c[t+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){i=412368;break a}f=f+(e<<5)|0}i=f}while(0);f=k+280+(((330224>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[f>>2]=e}c[n>>2]=e;c[m+8>>2]=(a[e+4>>0]|64)&255;f=c[u>>2]|0;c[u>>2]=f+16;bB(b,i,f,f);b=c[u>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[u>>2]=f;zi[c[e+1262740>>2]&31](e,0,0,240,136);l=v;return 0}case 4:{f=e>>>0<m>>>0?e:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){t=f;g=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){r=(c[o+8>>2]|0)==19;t=o;s=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=s;c[j+4>>2]=t;g=r?+(s>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}g=0.0;break b}while(0);while(0);t=~~g;f=(c[c[k>>2]>>2]|0)+32|0;f=f>>>0<(c[u>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;c:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){s=f;g=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){q=(c[o+8>>2]|0)==19;s=o;r=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=r;c[j+4>>2]=s;g=q?+(r>>>0)+4294967296.0*+(s|0):+h[j>>3];break}}g=0.0;break c}while(0);while(0);s=~~g;f=(c[c[k>>2]>>2]|0)+48|0;f=f>>>0<(c[u>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;d:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){r=f;g=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){p=(c[o+8>>2]|0)==19;r=o;q=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=q;c[j+4>>2]=r;g=p?+(q>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}g=0.0;break d}while(0);while(0);r=~~g;f=(c[c[k>>2]>>2]|0)+64|0;f=f>>>0<(c[u>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;e:do if((e|0)==3)g=+h[f>>3];else do if((e|0)==19){q=f;g=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){n=(c[o+8>>2]|0)==19;q=o;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;g=n?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}g=0.0;break e}while(0);while(0);q=~~g;o=b+12|0;i=c[o>>2]|0;e=c[i+40>>2]|0;f:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break f}f=f+(e<<5)|0}}while(0);k=c[u>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;m=c[u>>2]|0;c[u>>2]=m+16;bB(b,f,m,m);m=c[u>>2]|0;n=m+-16|0;switch(c[m+-8>>2]&15){case 7:{e=(c[n>>2]|0)+24|0;break}case 2:{e=c[n>>2]|0;break}default:e=0}c[u>>2]=n;p=c[e+1262740>>2]|0;k=c[o>>2]|0;e=c[k+40>>2]|0;g:do if((c[e+8>>2]|0)>>>0>1)i=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(o=f+16|0,(c[o>>2]|0)==2&(c[o+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){i=412368;break g}f=f+(e<<5)|0}i=f}while(0);f=k+280+(((330224>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[f>>2]=e}c[n>>2]=e;c[m+-8>>2]=(a[e+4>>0]|64)&255;f=c[u>>2]|0;c[u>>2]=f+16;bB(b,i,f,f);b=c[u>>2]|0;f=b+-16|0;switch(c[b+-8>>2]&15){case 7:{e=(c[f>>2]|0)+24|0;break}case 2:{e=c[f>>2]|0;break}default:e=0}c[u>>2]=f;zi[p&31](e,t,s,r,q);l=v;return 0}default:{oB(b,330340,f);l=v;return 0}}return 0}function Vp(b){b=b|0;var e=0,f=0,g=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;o=v+16|0;r=v;s=b+8|0;n=c[s>>2]|0;t=b+16|0;p=n-((c[c[t>>2]>>2]|0)+16)|0;u=p>>4;k=c[b+12>>2]|0;e=c[k+40>>2]|0;m=n;a:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(q=f+16|0,(c[q>>2]|0)==2&(c[q+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break a}f=f+(e<<5)|0}g=f}while(0);f=k+280+(((330224>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[f>>2]=e}c[n>>2]=e;c[m+8>>2]=(a[e+4>>0]|64)&255;q=c[s>>2]|0;c[s>>2]=q+16;bB(b,g,q,q);q=c[s>>2]|0;e=q+-16|0;switch(c[q+-8>>2]&15){case 7:{q=(c[e>>2]|0)+24|0;break}case 2:{q=c[e>>2]|0;break}default:q=0}c[s>>2]=e;if(!u){zi[c[q+1262760>>2]&31](q,-1,0,0,0);l=v;return 0}if((p|0)<=0){oB(b,330306,o);l=v;return 0}n=q+1262760|0;zi[c[n>>2]&31](q,-1,0,0,0);f=(c[c[t>>2]>>2]|0)+16|0;f=f>>>0<(c[s>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)i=+h[f>>3];else do if((e|0)==19){o=f;i=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,r)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){m=(c[r+8>>2]|0)==19;o=r;b=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=b;c[j+4>>2]=o;i=m?+(b>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}i=0.0;break b}while(0);while(0);m=~~i;c:do if((u|0)!=1){f=(c[c[t>>2]>>2]|0)+32|0;f=f>>>0<(c[s>>2]|0)>>>0?f:412368;e=c[f+8>>2]|0;d:do if((e|0)==3)i=+h[f>>3];else do if((e|0)==19){o=f;i=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,r)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){k=(c[r+8>>2]|0)==19;o=r;b=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=b;c[j+4>>2]=o;i=k?+(b>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}i=0.0;break d}while(0);while(0);e=~~i;if((p|0)>32){g=(c[c[t>>2]>>2]|0)+48|0;g=g>>>0<(c[s>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;e:do if((f|0)==3)i=+h[g>>3];else do if((f|0)==19){r=g;i=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)}else{if((f&15|0)==4){k=nA((c[g>>2]|0)+16|0,r)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((k|0)==(f+1|0)){o=(c[r+8>>2]|0)==19;p=c[r>>2]|0;r=c[r+4>>2]|0;c[j>>2]=p;c[j+4>>2]=r;i=o?+(p>>>0)+4294967296.0*+(r|0):+h[j>>3];break}}i=0.0;break e}while(0);while(0);k=~~i;if((u|0)==3){g=1;f=k}else{f=(c[c[t>>2]>>2]|0)+64|0;f=f>>>0<(c[s>>2]|0)>>>0?f:412368;switch(c[f+8>>2]|0){case 0:{g=0;f=k;break c}case 1:{g=(c[f>>2]|0)!=0;f=k;break c}default:{g=1;f=k;break c}}}}else{g=1;f=-1}}else{g=1;f=-1;e=-1}while(0);zi[c[n>>2]&31](q,m,e,f,g);l=v;return 0}function Wp(b){b=b|0;var e=0,f=0,g=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;o=r;g=c[b+12>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(p=f+16|0,(c[p>>2]|0)==2&(c[p+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);n=b+8|0;k=c[n>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;p=c[n>>2]|0;c[n>>2]=p+16;bB(b,f,p,p);p=c[n>>2]|0;e=p+-16|0;switch(c[p+-8>>2]&15){case 7:{p=(c[e>>2]|0)+24|0;break}case 2:{p=c[e>>2]|0;break}default:p=0}c[n>>2]=e;m=b+16|0;f=(c[c[m>>2]>>2]|0)+16|0;if((e-f|0)>0){f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;b:do if((e|0)==3)i=+h[f>>3];else do if((e|0)==19){k=f;i=+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0)}else{if((e&15|0)==4){g=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((g|0)==(e+1|0)){f=(c[o+8>>2]|0)==19;k=o;g=c[k>>2]|0;k=c[k+4>>2]|0;c[j>>2]=g;c[j+4>>2]=k;i=f?+(g>>>0)+4294967296.0*+(k|0):+h[j>>3];break}}i=0.0;break b}while(0);while(0);g=~~i;e=c[n>>2]|0;f=c[c[m>>2]>>2]|0;if((e-(f+16)|0)>16){f=f+32|0;f=f>>>0<e>>>0?f:412368;e=c[f+8>>2]|0;c:do if((e|0)==3)i=+h[f>>3];else do if((e|0)==19){o=f;i=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){k=nA((c[f>>2]|0)+16|0,o)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((k|0)==(e+1|0)){f=(c[o+8>>2]|0)==19;k=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=k;c[j+4>>2]=o;i=f?+(k>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}i=0.0;break c}while(0);while(0);e=~~i;k=c[n>>2]|0;f=c[c[m>>2]>>2]|0;d:do if((k-(f+16)|0)>32){f=f+48|0;f=f>>>0<k>>>0?f:412368;switch(c[f+8>>2]|0){case 0:{f=0;break d}case 1:{f=(c[f>>2]|0)!=0;break d}default:{f=1;break d}}}else f=0;while(0);if(e>>>0>=8){oB(b,338396,q);l=r;return 0}}else{f=0;e=0}}else{g=0;f=0;e=0}ti[c[p+1262796>>2]&63](p,g,e,f);l=r;return 0}function Xp(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;g=c[b+12>>2]|0;e=c[g+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)f=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(i=f+16|0,(c[i>>2]|0)==2&(c[i+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){f=412368;break a}f=f+(e<<5)|0}}while(0);i=b+8|0;h=c[i>>2]|0;g=g+280+(((330224>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[g>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;e=c[i>>2]|0;c[i>>2]=e+16;bB(b,f,e,e);b=c[i>>2]|0;e=b+-16|0;switch(c[b+-8>>2]&15){case 7:{b=(c[e>>2]|0)+24|0;c[i>>2]=e;b=b+1412380|0;a[b>>0]=0;return 0}case 2:{b=c[e>>2]|0;c[i>>2]=e;b=b+1412380|0;a[b>>0]=0;return 0}default:{b=0;c[i>>2]=e;b=b+1412380|0;a[b>>0]=0;return 0}}return 0}function Yp(b){b=b|0;var e=0,f=0.0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+24|0;p=q+16|0;o=q;i=c[b+12>>2]|0;e=c[i+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{g=(c[e+16>>2]|0)+(((1<<d[e+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(n=g+16|0,(c[n>>2]|0)==2&(c[n+4>>2]|0)==0):0)break;e=c[g+28>>2]|0;if(!e){g=412368;break a}g=g+(e<<5)|0}}while(0);n=b+8|0;k=c[n>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;e=c[i>>2]|0;if(e3(330224,e+16|0)|0){e=QA(b,330224,6)|0;c[i>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;k=c[n>>2]|0;c[n>>2]=k+16;bB(b,g,k,k);k=c[n>>2]|0;e=k+-16|0;switch(c[k+-8>>2]&15){case 7:{k=(c[e>>2]|0)+24|0;break}case 2:{k=c[e>>2]|0;break}default:k=0}c[n>>2]=e;g=(c[c[b+16>>2]>>2]|0)+16|0;switch(e-g>>4|0){case 0:{b=Sh[c[k+1262804>>2]&255](k,0)|0;p=c[n>>2]|0;c[p>>2]=b&1;c[p+8>>2]=1;c[n>>2]=p+16;p=1;l=q;return p|0}case 1:{g=g>>>0<e>>>0?g:412368;e=c[g+8>>2]|0;b:do if((e|0)==3)f=+h[g>>3];else do if((e|0)==19){o=g;f=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0)}else{if((e&15|0)==4){i=nA((c[g>>2]|0)+16|0,o)|0;e=c[g>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)==(e+1|0)){i=(c[o+8>>2]|0)==19;m=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=m;c[j+4>>2]=o;f=i?+(m>>>0)+4294967296.0*+(o|0):+h[j>>3];break}}f=0.0;break b}while(0);while(0);e=~~f;if((e&254)>>>0<66){b=Sh[c[k+1262804>>2]&255](k,e&255)|0;p=c[n>>2]|0;c[p>>2]=b&1;c[p+8>>2]=1;c[n>>2]=p+16;p=1;l=q;return p|0}else{oB(b,338526,p);p=0;l=q;return p|0}}default:{oB(b,330278,m);p=0;l=q;return p|0}}return 0}function Zp(b){b=b|0;var e=0.0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;p=t+24|0;o=t+16|0;s=t;i=c[b+12>>2]|0;f=c[i+40>>2]|0;a:do if((c[f+8>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(r=g+16|0,(c[r>>2]|0)==2&(c[r+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){g=412368;break a}g=g+(f<<5)|0}}while(0);r=b+8|0;k=c[r>>2]|0;i=i+280+(((330224>>>0)%127|0)<<2)|0;f=c[i>>2]|0;if(e3(330224,f+16|0)|0){f=QA(b,330224,6)|0;c[i>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;q=c[r>>2]|0;c[r>>2]=q+16;bB(b,g,q,q);q=c[r>>2]|0;f=q+-16|0;switch(c[q+-8>>2]&15){case 7:{q=(c[f>>2]|0)+24|0;break}case 2:{q=c[f>>2]|0;break}default:q=0}c[r>>2]=f;n=b+16|0;g=(c[c[n>>2]>>2]|0)+16|0;k=f-g>>4;if(!k){q=Uh[c[q+1262808>>2]&63](q,0,-1,-1)|0;s=c[r>>2]|0;c[s>>2]=q&1;c[s+8>>2]=1;c[r>>2]=s+16;s=1;l=t;return s|0}g=g>>>0<f>>>0?g:412368;f=c[g+8>>2]|0;b:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){m=g;e=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){g=(c[s+8>>2]|0)==19;m=s;i=c[m>>2]|0;m=c[m+4>>2]|0;c[j>>2]=i;c[j+4>>2]=m;e=g?+(i>>>0)+4294967296.0*+(m|0):+h[j>>3];break}}e=0.0;break b}while(0);while(0);i=~~e;m=i&255;if((i&254)>>>0>65){oB(b,338526,o);s=1;l=t;return s|0}switch(k|0){case 1:{q=Uh[c[q+1262808>>2]&63](q,m,-1,-1)|0;s=c[r>>2]|0;c[s>>2]=q&1;c[s+8>>2]=1;c[r>>2]=s+16;s=1;l=t;return s|0}case 3:{g=(c[c[n>>2]>>2]|0)+32|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;c:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){p=g;e=+((c[p>>2]|0)>>>0)+4294967296.0*+(c[p+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){b=(c[s+8>>2]|0)==19;p=s;o=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=o;c[j+4>>2]=p;e=b?+(o>>>0)+4294967296.0*+(p|0):+h[j>>3];break}}e=0.0;break c}while(0);while(0);k=~~e;g=(c[c[n>>2]>>2]|0)+48|0;g=g>>>0<(c[r>>2]|0)>>>0?g:412368;f=c[g+8>>2]|0;d:do if((f|0)==3)e=+h[g>>3];else do if((f|0)==19){s=g;e=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0)}else{if((f&15|0)==4){i=nA((c[g>>2]|0)+16|0,s)|0;f=c[g>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((i|0)==(f+1|0)){o=(c[s+8>>2]|0)==19;p=c[s>>2]|0;s=c[s+4>>2]|0;c[j>>2]=p;c[j+4>>2]=s;e=o?+(p>>>0)+4294967296.0*+(s|0):+h[j>>3];break}}e=0.0;break d}while(0);while(0);q=Uh[c[q+1262808>>2]&63](q,m,k,~~e)|0;s=c[r>>2]|0;c[s>>2]=q&1;c[s+8>>2]=1;c[r>>2]=s+16;s=1;l=t;return s|0}default:{oB(b,330231,p);s=0;l=t;return s|0}}return 0}function _p(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;p=c[b>>2]|0;m=c[b+4>>2]|0;n=((m|0)<0)<<31>>31;q=p+8|0;o=c[q>>2]|0;b=c[(c[p+12>>2]|0)+40>>2]|0;k=b6(m|0,n|0,-1,-1)|0;t=z;a:do if(t>>>0<0|((t|0)==0?k>>>0<(c[b+8>>2]|0)>>>0:0))b=(c[b+12>>2]|0)+(k<<4)|0;else{b=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&m)<<5)|0;while(1){if((c[b+24>>2]|0)==19?(t=b+16|0,(c[t>>2]|0)==(m|0)?(c[t+4>>2]|0)==(n|0):0):0)break;k=c[b+28>>2]|0;if(!k){b=412368;break a}b=b+(k<<5)|0}}while(0);c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=c[q>>2]|0;k=b+16|0;c[k>>2]=d[g>>0];c[k+4>>2]=0;c[b+24>>2]=19;k=b+32|0;c[k>>2]=e;c[k+4>>2]=((e|0)<0)<<31>>31;c[b+40>>2]=19;k=b+48|0;c[k>>2]=f;c[k+4>>2]=((f|0)<0)<<31>>31;c[b+56>>2]=19;c[q>>2]=b+64;c[r>>2]=b;c[r+4>>2]=3;Tz(p,151,r,b-(c[p+28>>2]|0)|0,0)|0;b=c[q>>2]|0;k=b+-48|0;b=c[b+-40>>2]|0;b:do if((b|0)==3)i=+h[k>>3];else do if((b|0)==19){t=k;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((b&15|0)==4){m=nA((c[k>>2]|0)+16|0,r)|0;b=c[k>>2]|0;if((a[b+4>>0]|0)==4)b=d[b+7>>0]|0;else b=c[b+12>>2]|0;if((m|0)==(b+1|0)){f=(c[r+8>>2]|0)==19;t=r;p=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=p;c[j+4>>2]=t;i=f?+(p>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;break b}while(0);while(0);a[g>>0]=~~i;b=c[q>>2]|0;k=b+-32|0;b=c[b+-24>>2]|0;c:do if((b|0)==3)i=+h[k>>3];else do if((b|0)==19){t=k;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((b&15|0)==4){m=nA((c[k>>2]|0)+16|0,r)|0;b=c[k>>2]|0;if((a[b+4>>0]|0)==4)b=d[b+7>>0]|0;else b=c[b+12>>2]|0;if((m|0)==(b+1|0)){f=(c[r+8>>2]|0)==19;t=r;p=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=p;c[j+4>>2]=t;i=f?+(p>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;break c}while(0);while(0);c[g+4>>2]=~~i;b=c[q>>2]|0;k=b+-16|0;b=c[b+-8>>2]|0;if((b|0)==3){i=+h[k>>3];r=~~i;t=g+8|0;c[t>>2]=r;l=s;return}do if((b|0)==19){t=k;i=+((c[t>>2]|0)>>>0)+4294967296.0*+(c[t+4>>2]|0)}else{if((b&15|0)==4){m=nA((c[k>>2]|0)+16|0,r)|0;b=c[k>>2]|0;if((a[b+4>>0]|0)==4)b=d[b+7>>0]|0;else b=c[b+12>>2]|0;if((m|0)==(b+1|0)){q=(c[r+8>>2]|0)==19;t=r;r=c[t>>2]|0;t=c[t+4>>2]|0;c[j>>2]=r;c[j+4>>2]=t;i=q?+(r>>>0)+4294967296.0*+(t|0):+h[j>>3];break}}i=0.0;r=~~i;t=g+8|0;c[t>>2]=r;l=s;return}while(0);r=~~i;t=g+8|0;c[t>>2]=r;l=s;return}function $p(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+32|0;v=y+8|0;n=y;w=y+16|0;u=e+1411568|0;g=c[u>>2]|0;if(g|0){OA(c[(c[g+12>>2]|0)+136>>2]|0);c[u>>2]=0}s=MA(1,0)|0;r=s+12|0;if(s|0)c[(c[r>>2]|0)+132>>2]=387;c[u>>2]=s;mp(s);j=c[r>>2]|0;t=s+8|0;k=c[t>>2]|0;i=j+280+(((359865>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(359865,g+16|0)|0){g=QA(s,359865,12)|0;c[i>>2]=g}c[k>>2]=g;c[k+8>>2]=(a[g+4>>0]|64)&255;g=c[t>>2]|0;c[t>>2]=g+16;bB(s,j+40|0,g,g);g=c[t>>2]|0;if(!(c[g+-8>>2]&15)){c[t>>2]=g+-16;if((c[(c[r>>2]|0)+12>>2]|0)>0)jA(s);q=WA(s)|0;g=c[t>>2]|0;c[g>>2]=q;c[g+8>>2]=69;c[t>>2]=(c[t>>2]|0)+16;g=c[r>>2]|0;if((c[g+12>>2]|0)>0){jA(s);g=c[r>>2]|0}i=g+280+(((359865>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(359865,g+16|0)|0){g=QA(s,359865,12)|0;c[i>>2]=g}j=c[t>>2]|0;c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;j=c[t>>2]|0;k=j+16|0;c[t>>2]=k;i=(c[r>>2]|0)+280+(((356162>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(356162,g+16|0)|0){g=QA(s,356162,6)|0;c[i>>2]=g}c[k>>2]=g;c[j+24>>2]=(a[g+4>>0]|64)&255;k=c[t>>2]|0;c[t>>2]=k+16;cB(s,j+-16|0,k,k+-16|0);k=c[t>>2]|0;j=k+-32|0;c[t>>2]=j;k=k+-48|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=c[t>>2]|0;k=j+16|0;c[t>>2]=k;m=c[r>>2]|0;i=m+280+(((359865>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(359865,g+16|0)|0){g=QA(s,359865,12)|0;c[i>>2]=g}c[k>>2]=g;c[j+24>>2]=(a[g+4>>0]|64)&255;g=c[t>>2]|0;c[t>>2]=g+16;cB(s,m+40|0,g,g+-16|0);g=(c[t>>2]|0)+-32|0;c[t>>2]=g}h[g>>3]=400.0;c[g+8>>2]=3;k=g+16|0;c[t>>2]=k;m=c[r>>2]|0;j=m+280+(((361654>>>0)%127|0)<<2)|0;i=c[j>>2]|0;if(e3(361654,i+16|0)|0){i=QA(s,361654,13)|0;c[j>>2]=i}c[k>>2]=i;c[g+24>>2]=(a[i+4>>0]|64)&255;g=c[t>>2]|0;c[t>>2]=g+16;cB(s,m+40|0,g,g+-16|0);c[t>>2]=(c[t>>2]|0)+-32;EB(s,8268,0);g=c[r>>2]|0;if((c[g+140>>2]|0)!=384){oB(s,356467,n);g=c[r>>2]|0}if((c[g+12>>2]|0)>0)jA(s);j=WA(s)|0;k=c[t>>2]|0;c[k>>2]=j;c[k+8>>2]=69;c[t>>2]=(c[t>>2]|0)+16;TA(s,j,0,22);EB(s,8340,0);j=c[t>>2]|0;k=j+-16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=c[t>>2]|0;k=j+16|0;c[t>>2]=k;i=(c[r>>2]|0)+280+(((359878>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(359878,g+16|0)|0){g=QA(s,359878,7)|0;c[i>>2]=g}c[k>>2]=g;c[j+24>>2]=(a[g+4>>0]|64)&255;m=c[t>>2]|0;c[t>>2]=m+16;cB(s,j+-32|0,m,m+-16|0);m=c[t>>2]|0;n=m+-32|0;c[t>>2]=n;o=s+16|0;p=n-((c[c[o>>2]>>2]|0)+16)|0;q=p>>4;k=c[r>>2]|0;g=c[k+40>>2]|0;a:do if((c[g+8>>2]|0)>>>0>1)j=(c[g+12>>2]|0)+16|0;else{i=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+3&2)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(j=i+16|0,(c[j>>2]|0)==2&(c[j+4>>2]|0)==0):0)break;g=c[i+28>>2]|0;if(!g){j=412368;break a}i=i+(g<<5)|0}j=i}while(0);i=k+280+(((331187>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(331187,g+16|0)|0){g=QA(s,331187,7)|0;c[i>>2]=g}c[n>>2]=g;c[m+-24>>2]=(a[g+4>>0]|64)&255;i=c[t>>2]|0;c[t>>2]=i+16;bB(s,j,i,i);j=c[t>>2]|0;i=(c[r>>2]|0)+280+(((359496>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(359496,g+16|0)|0){g=QA(s,359496,6)|0;c[i>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;i=c[t>>2]|0;c[t>>2]=i+16;bB(s,j+-16|0,i,i);j=c[t>>2]|0;i=(c[r>>2]|0)+280+(((331272>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(331272,g+16|0)|0){g=QA(s,331272,4)|0;c[i>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;g=c[t>>2]|0;c[t>>2]=g+16;bB(s,j+-16|0,g,g);g=c[t>>2]|0;j=g+-16|0;if((j|0)!=412368?(c[g+-8>>2]&15|0)==0:0){c[t>>2]=j;g=c[o>>2]|0;do if((p|0)<=0){if((p|0)>=-16015984){g=j+(q<<4)|0;break}if((q|0)==-1001e3){g=(c[r>>2]|0)+40|0;break}i=-1001e3-q|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0|0)?412368:g+16+(i+-1<<4)|0}}else{g=(c[g>>2]|0)+(q<<4)|0;g=g>>>0<j>>>0?g:412368}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];j=c[t>>2]|0;k=j+16|0;c[t>>2]=k;i=(c[r>>2]|0)+280+(((331272>>>0)%127|0)<<2)|0;g=c[i>>2]|0;if(e3(331272,g+16|0)|0){g=QA(s,331272,4)|0;c[i>>2]=g}c[k>>2]=g;c[j+24>>2]=(a[g+4>>0]|64)&255;k=c[t>>2]|0;c[t>>2]=k+16;cB(s,j+-16|0,k,k+-16|0);k=(c[t>>2]|0)+-32|0;c[t>>2]=k}else k=g;if((p|0)>-16){i=c[c[o>>2]>>2]|0;g=i+(q+1<<4)|0;if(k>>>0<g>>>0){i=(i+(q<<4)+8+4+(3-k)|0)>>>4;j=k;do{c[j+8>>2]=0;j=j+16|0}while(j>>>0<g>>>0);c[t>>2]=k+(i+1<<4)}}else g=k+(q+1<<4)|0;c[t>>2]=g;np(e);o=c[u>>2]|0;g=c[c[o+16>>2]>>2]|0;n=o+8|0;i=c[n>>2]|0;j=g+16|0;if(i>>>0<j>>>0){k=(g+8+4+(3-i)|0)>>>4;m=i;while(1){c[m+8>>2]=0;if(m>>>0<g>>>0)m=m+16|0;else break}c[n>>2]=i+(k+1<<4)}c[n>>2]=j;c[w>>2]=96428;c[w+4>>2]=172730;if(wz(o,6,w,331277,0)|0){e=c[e+1411596>>2]|0;li[c[e+4>>2]&511](c[e+40>>2]|0,331292);e=0;l=y;return e|0}i=(c[n>>2]|0)+-16|0;j=o+106|0;g=(b[j>>1]|0)+1<<16>>16;b[j>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Fz(o,353895,v);if((g&65535)>224)Jz(o,6)}g=o+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(o,i,0)|0))jB(o);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[w>>2]=331322;c[w+4>>2]=100;if(wz(o,6,w,331423,0)|0){e=c[e+1411596>>2]|0;li[c[e+4>>2]&511](c[e+40>>2]|0,331442);e=0;l=y;return e|0}lz(o,f);f=(c[n>>2]|0)+-32|0;c[w>>2]=f;c[w+4>>2]=1;if(!(Tz(o,151,w,f-(c[o+28>>2]|0)|0,0)|0)){e=1;l=y;return e|0}g=c[n>>2]|0;switch(c[g+-8>>2]&15){case 4:{g=g+-16|0;break}case 3:{x=87;break}default:{e=1;l=y;return e|0}}if((x|0)==87){if((c[(c[o+12>>2]|0)+12>>2]|0)>0){jA(o);g=c[n>>2]|0}g=g+-16|0;oA(o,g)}e=c[e+1411596>>2]|0;li[c[e+4>>2]&511](c[e+40>>2]|0,(c[g>>2]|0)+16|0);e=0;l=y;return e|0}function aq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[d>>2]=0;e=c[103898]|0;if(e|0){C2(e);c[103898]=0}f=m5(b,331268)|0;if(!f){d=0;return d|0}l=b;g=0;j=0;e=0;while(1){k=f+3|0;a:do if(f>>>0>=b>>>0)do{i=a[f>>0]|0;if(i<<24>>24==95|(K3(i<<24>>24)|0)!=0)break a;f=f+-1|0}while(f>>>0>=b>>>0);while(0);i=f+-1|0;b:do if(i>>>0<b>>>0)h=f;else{h=f;do{m=a[i>>0]|0;if(!(m<<24>>24==95|(K3(m<<24>>24)|0)!=0))break b;h=h+-1|0;i=i+-1|0}while(i>>>0>=b>>>0)}while(0);if(f>>>0>h>>>0){if(!g)g=B2(8)|0;else g=D2(j,(c[d>>2]<<3)+8|0)|0;c[103898]=g;e=c[d>>2]|0;c[g+(e<<3)>>2]=h-l;c[g+(e<<3)+4>>2]=f+1-h;c[d>>2]=(c[d>>2]|0)+1;e=g;h=g}else h=j;f=m5(k,331268)|0;if(!f)break;else j=h}return e|0}function bq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;o=q+8|0;j=q;m=q+16|0;f=a+1411568|0;e=c[f>>2]|0;if(e|0){OA(c[(c[e+12>>2]|0)+136>>2]|0);c[f>>2]=0}e=MA(1,0)|0;if(e|0)c[(c[e+12>>2]|0)+132>>2]=387;c[f>>2]=e;mp(e);np(a);n=c[f>>2]|0;e=c[c[n+16>>2]>>2]|0;k=n+8|0;f=c[k>>2]|0;g=e+16|0;if(f>>>0<g>>>0){h=(e+8+4+(3-f)|0)>>>4;i=f;while(1){c[i+8>>2]=0;if(i>>>0<e>>>0)i=i+16|0;else break}c[k>>2]=f+(h+1<<4)}c[k>>2]=g;c[m>>2]=269158;c[m+4>>2]=60969;if(wz(n,6,m,331701,0)|0){a=c[a+1411596>>2]|0;li[c[a+4>>2]&511](c[a+40>>2]|0,331665);a=0;l=q;return a|0}f=(c[k>>2]|0)+-16|0;h=n+106|0;e=(b[h>>1]|0)+1<<16>>16;b[h>>1]=e;if((e&65535)>199){if(e<<16>>16==200)Fz(n,353895,j);if((e&65535)>224)Jz(n,6)}g=n+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(n,f,0)|0))jB(n);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;c[m>>2]=331533;c[m+4>>2]=116;if(wz(n,6,m,331650,0)|0){a=c[a+1411596>>2]|0;li[c[a+4>>2]&511](c[a+40>>2]|0,331665);a=0;l=q;return a|0}lz(n,d);e=(c[k>>2]|0)+-32|0;f=(b[h>>1]|0)+1<<16>>16;b[h>>1]=f;if((f&65535)>199){if(f<<16>>16==200)Fz(n,353895,o);if((f&65535)>224)Jz(n,6)}b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(n,e,1)|0))jB(n);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;e=c[k>>2]|0;switch(c[e+-8>>2]&15){case 4:{e=e+-16|0;break}case 3:{p=28;break}default:{a=1;l=q;return a|0}}if((p|0)==28){if((c[(c[n+12>>2]|0)+12>>2]|0)>0){jA(n);e=c[k>>2]|0}e=e+-16|0;oA(n,e)}a=c[a+1411596>>2]|0;li[c[a+4>>2]&511](c[a+40>>2]|0,(c[e>>2]|0)+16|0);a=0;l=q;return a|0}function cq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[d>>2]=0;e=c[103899]|0;if(e|0){C2(e);c[103899]=0}g=m5(b,331696)|0;if(!g){l=0;return l|0}f=0;h=0;e=0;do{j=g+4|0;i=4;a:while(1){k=g+i|0;switch(a[k>>0]|0){case 0:break a;case 91:case 10:case 9:case 32:{l=8;break a}default:{}}i=i+1|0}if((l|0)==8){l=0;if((i|0)>4){if(!f)f=B2(8)|0;else f=D2(h,(c[d>>2]<<3)+8|0)|0;c[103899]=f;e=c[d>>2]|0;c[f+(e<<3)>>2]=j-b;c[f+(e<<3)+4>>2]=i+-4;c[d>>2]=(c[d>>2]|0)+1;e=f;h=f}}g=m5(k,331696)|0}while((g|0)!=0);return e|0}function dq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;k=p;j=p+8|0;n=c[a+1411568>>2]|0;g=c[c[n+16>>2]>>2]|0;m=n+8|0;h=c[m>>2]|0;i=g+16|0;if(h>>>0<i>>>0){e=(g+8+4+(3-h)|0)>>>4;f=h;while(1){c[f+8>>2]=0;if(f>>>0<g>>>0)f=f+16|0;else break}c[m>>2]=h+(e+1<<4)}c[m>>2]=i;c[j>>2]=331533;c[j+4>>2]=116;if(wz(n,6,j,331650,0)|0){j=c[a+1411596>>2]|0;li[c[j+4>>2]&511](c[j+40>>2]|0,331665)}lz(n,d);e=(c[m>>2]|0)+-32|0;f=n+106|0;d=(b[f>>1]|0)+1<<16>>16;b[f>>1]=d;if((d&65535)>199){if(d<<16>>16==200)Fz(n,353895,k);if((d&65535)>224)Jz(n,6)}d=n+104|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;if(!(Nz(n,e,1)|0))jB(n);b[d>>1]=(b[d>>1]|0)+-1<<16>>16;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;d=c[m>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;break}case 3:{o=15;break}default:{l=p;return}}if((o|0)==15){if((c[(c[n+12>>2]|0)+12>>2]|0)>0){jA(n);d=c[m>>2]|0}d=d+-16|0;oA(n,d)}a=c[a+1411596>>2]|0;li[c[a+4>>2]&511](c[a+40>>2]|0,(c[d>>2]|0)+16|0);l=p;return}function eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+48|0;e=g;fq(b);GF(e);c[e+8>>2]=4;c[e+20>>2]=11;c[e+16>>2]=190;e=IF(e)|0;f=b+1411576|0;c[f>>2]=e;RG(e,b);if(oG(c[f>>2]|0,331892)|0){h=c[b+1411596>>2]|0;li[c[h+4>>2]&511](c[h+40>>2]|0,336480)}if(oG(c[f>>2]|0,d)|0){h=0;l=g;return h|0}a[434169]=1;vG(e,1);OG(e);c[103900]=DG(e)|0;c[103904]=NF(e,371145)|0;c[103903]=NF(e,336509)|0;c[103902]=NF(e,336515)|0;c[103901]=NF(e,336522)|0;if(!(c[103900]|0)){h=c[b+1411596>>2]|0;li[c[h+4>>2]&511](c[h+40>>2]|0,336551);h=0;l=g;return h|0}vG(e,1);KG(e,c[103900]|0);SF(e,c[103904]|0);nG(c[f>>2]|0,c[103900]|0);c[103900]=0;if(!(uG(e)|0)){h=c[b+1411596>>2]|0;li[c[h+4>>2]&511](c[h+40>>2]|0,336528);h=0;l=g;return h|0}else{c[103900]=DG(e)|0;h=1;l=g;return h|0}return 0}function fq(b){b=b|0;var d=0,e=0;b=b+1411576|0;d=c[b>>2]|0;if(!d){a[434169]=0;return}if(a[434169]|0?(nG(d,c[103904]|0),nG(c[b>>2]|0,c[103903]|0),nG(c[b>>2]|0,c[103902]|0),nG(c[b>>2]|0,c[103901]|0),e=c[103900]|0,e|0):0)nG(c[b>>2]|0,e);JF(c[b>>2]|0);c[b>>2]=0;a[434169]=0;return}function gq(a){a=a|0;a=c[a+1411576>>2]|0;if(!((a|0)!=0&(c[103900]|0)!=0))return;vG(a,1);KG(a,c[103900]|0);SF(a,c[103903]|0);return}function hq(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+1411576>>2]|0;if(!((a|0)!=0&(c[103900]|0)!=0))return;vG(a,2);KG(a,c[103900]|0);GG(c[a+104>>2]|0,1,+(b|0));SF(a,c[103902]|0);return}function iq(a,b){a=a|0;b=b|0;a=c[a+1411576>>2]|0;if(!((a|0)!=0&(c[103900]|0)!=0))return;vG(a,1);KG(a,c[103900]|0);SF(a,c[103901]|0);return}function jq(a,b){a=a|0;b=b|0;c[b>>2]=0;return 0}function kq(a,b){a=a|0;b=b|0;oG(c[a+1411576>>2]|0,b)|0;return}function lq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=l;l=l+256|0;b=g;if(e3(c,362538)|0){f=0;l=g;return f|0}a[b>>0]=0;if(e){e=b+(r4(b)|0)|0;c=e;a[c>>0]=115;a[c+1>>0]=116;a[c+2>>0]=97;a[c+3>>0]=116;e=e+4|0;a[e>>0]=105;a[e+1>>0]=99;a[e+2>>0]=32;a[e+3>>0]=0}Y5(b,d)|0;e=b+(r4(b)|0)|0;a[e>>0]=46;a[e+1>>0]=0;Y5(b,f)|0;do if(e3(b,336603)|0)if((e3(b,336621)|0)!=0?(e3(b,336640)|0)!=0:0)if(e3(b,336663)|0)if((e3(b,336681)|0)!=0?(e3(b,336700)|0)!=0:0)if(e3(b,336723)|0)if((((((e3(b,336742)|0)!=0?(e3(b,336761)|0)!=0:0)?(e3(b,336784)|0)!=0:0)?(e3(b,336809)|0)!=0:0)?(e3(b,336838)|0)!=0:0)?(e3(b,336869)|0)!=0:0)if((((e3(b,336902)|0)!=0?(e3(b,336920)|0)!=0:0)?(e3(b,336942)|0)!=0:0)?(e3(b,336966)|0)!=0:0){if(!(e3(b,336992)|0)){b=224;break}if(!(e3(b,337020)|0)){b=224;break}if(!(e3(b,337050)|0)){b=224;break}if(!(e3(b,337084)|0)){b=225;break}if(!(e3(b,337104)|0)){b=225;break}if(!(e3(b,337128)|0)){b=225;break}if(!(e3(b,337156)|0)){b=225;break}if(!(e3(b,337186)|0)){b=225;break}if(!(e3(b,337218)|0)){b=226;break}if(!(e3(b,337239)|0)){b=226;break}if(!(e3(b,337262)|0)){b=227;break}if(!(e3(b,337283)|0)){b=228;break}if(!(e3(b,337326)|0)){b=228;break}if(!(e3(b,337371)|0)){b=228;break}if(!(e3(b,337418)|0)){b=229;break}if(!(e3(b,337438)|0)){b=229;break}if(!(e3(b,337460)|0)){b=230;break}if(!(e3(b,337487)|0)){b=231;break}if(!(e3(b,337512)|0)){b=232;break}if(!(e3(b,337538)|0)){b=233;break}if(!(e3(b,337565)|0)){b=234;break}if(!(e3(b,337593)|0)){b=235;break}if(!(e3(b,337623)|0)){b=236;break}if(!(e3(b,337640)|0)){b=236;break}if(!(e3(b,337658)|0)){b=237;break}if(!(e3(b,337676)|0)){b=237;break}if(!(e3(b,337701)|0)){b=238;break}if(!(e3(b,337720)|0)){b=239;break}if(!(e3(b,337741)|0)){b=240;break}if(!(e3(b,337761)|0)){b=241;break}if(!(e3(b,337783)|0)){b=242;break}if(!(e3(b,337808)|0)){b=243;break}if(!(e3(b,337833)|0)){b=244;break}if(!(e3(b,337854)|0)){b=245;break}if(!(e3(b,337872)|0)){b=245;break}if(!(e3(b,337892)|0)){b=245;break}if(!(e3(b,337914)|0)){b=245;break}if(!(e3(b,337938)|0)){b=245;break}if(!(e3(b,337964)|0)){b=245;break}if(!(e3(b,337992)|0)){b=246;break}if(!(e3(b,338011)|0)){b=246;break}if(!(e3(b,338031)|0)){b=246;break}if(!(e3(b,338053)|0)){b=246;break}if(!(e3(b,338077)|0)){b=247;break}if(!(e3(b,338095)|0)){b=248;break}if(!(e3(b,338113)|0)){b=248;break}if(!(e3(b,338132)|0)){b=248;break}if(!(e3(b,338153)|0)){b=248;break}if(!(e3(b,338176)|0)){b=249;break}if(!(e3(b,338195)|0)){b=250;break}if(!(e3(b,338213)|0)){b=251;break}if(!(e3(b,338236)|0)){b=252;break}if(!(e3(b,338260)|0)){b=253;break}if(!(e3(b,338284)|0)){b=254;break}if(!(e3(b,338318)|0)){b=255;break}if(!(e3(b,338342)|0)){b=256;break}b=(e3(b,338374)|0)==0;b=b?217:0}else b=224;else b=223;else b=222;else b=221;else b=220;else b=219;else b=218;while(0);f=b;l=g;return f|0}function mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+1056|0;i=j+16|0;h=j;g=j+24|0;b=c[a+144>>2]|0;if(!d){c[i>>2]=e;c[i+4>>2]=f;v4(g,1024,336594,i)}else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;v4(g,1024,336579,h)}f=c[b+1411596>>2]|0;li[c[f+4>>2]&511](c[f+40>>2]|0,g);l=j;return}function nq(a,b){a=a|0;b=b|0;a=c[(c[a+144>>2]|0)+1411596>>2]|0;si[c[a>>2]&127](c[a+40>>2]|0,b|0?b:371670,8);return}function oq(a){a=a|0;var b=0,e=0;b=~~+zG(a,1);e=c[a+104>>2]|0;if(b>>>0>32639){GG(e,0,0.0);return}else{a=c[a+144>>2]|0;QG(a)|0;GG(e,0,+(d[a+32768+b>>0]|0));return}}function pq(a){a=a|0;var b=0,d=0;b=c[a+144>>2]|0;switch(uG(a)|0){case 1:{EG(c[a+104>>2]|0,0,(c[b+65408>>2]|0)!=0);return}case 2:{d=~~+zG(a,1)&15;EG(c[a+104>>2]|0,0,(1<<d&c[b+65408>>2]|0)!=0);return}default:return}}function qq(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+144>>2]|0;QG(b)|0;switch(uG(a)|0){case 1:{b=(Uh[c[b+1262800>>2]&63](b,-1,-1,-1)|0)!=0;EG(c[a+104>>2]|0,0,b);return}case 2:{d=~~+zG(a,1)&15;b=(Uh[c[b+1262800>>2]&63](b,d,-1,-1)|0)!=0;EG(c[a+104>>2]|0,0,b);return}case 4:{f=~~+zG(a,1)&15;e=~~+zG(a,2);d=~~+zG(a,3);d=(Uh[c[b+1262800>>2]&63](b,f,e,d)|0)!=0;EG(c[a+104>>2]|0,0,d);return}default:return}}function rq(a){a=a|0;var b=0,d=0;b=c[a+144>>2]|0;QG(b)|0;switch(uG(a)|0){case 1:{d=Sh[c[b+1262804>>2]&255](b,0)|0;EG(c[a+104>>2]|0,0,d);return}case 2:{d=~~+zG(a,1);if((d&255)>>>0<79){d=Sh[c[b+1262804>>2]&255](b,d&255)|0;EG(c[a+104>>2]|0,0,d);return}else{vG(a,1);JG(a,338526);d=c[a+104>>2]|0;PG(c[a+44>>2]|0,c[d>>2]|0,c[d+4>>2]|0);return}}default:return}}function sq(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+144>>2]|0;QG(b)|0;d=uG(a)|0;if((d|0)==1){e=Uh[c[b+1262808>>2]&63](b,0,-1,-1)|0;EG(c[a+104>>2]|0,0,e);return}f=~~+zG(a,1);e=f&255;if((f&255)>>>0>78){vG(a,1);JG(a,338526);f=c[a+104>>2]|0;PG(c[a+44>>2]|0,c[f>>2]|0,c[f+4>>2]|0);return}switch(d|0){case 2:{f=Uh[c[b+1262808>>2]&63](b,e,-1,-1)|0;EG(c[a+104>>2]|0,0,f);return}case 4:{d=~~+zG(a,2);f=~~+zG(a,3);f=Uh[c[b+1262808>>2]&63](b,e,d,f)|0;EG(c[a+104>>2]|0,0,f);return}default:return}}function tq(a){a=a|0;var e=0,f=0;e=c[a+144>>2]|0;vG(a,4);IG(a);f=a+104|0;GG(c[f>>2]|0,1,+(d[e+65412>>0]|0));NG(a,0);GG(c[f>>2]|0,1,+(d[e+65413>>0]|0));NG(a,1);e=e+65414|0;EG(c[f>>2]|0,1,(b[e>>1]&1)!=0);NG(a,2);EG(c[f>>2]|0,1,(b[e>>1]&2)!=0);NG(a,3);EG(c[f>>2]|0,1,(b[e>>1]&4)!=0);NG(a,4);return}function uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=c[b+144>>2]|0;QG(q)|0;e=uG(b)|0;if((e|0)<=1)return;r=b+104|0;j=c[r>>2]|0;if((wG(j,1)|0)==5)m=CG(b,1)|0;else m=0;if((e|0)>3){i=~~+zG(b,2);h=~~+zG(b,3);if((e|0)!=4){k=~~+zG(b,4)&255;if((e|0)>6){g=~~+zG(b,5);f=~~+zG(b,6);if((e|0)==7){e=k;p=13}else{l=yG(b,7)|0;if((e|0)>8){d=~~+zG(b,8);if((e|0)==9)b=0;else b=yG(b,9)|0;if(!d){GG(j,0,0.0);return}}else{b=0;d=1}o=k;n=l?4:3;e=m|0?m:371670}}else{e=k;f=8;g=8;p=13}}else{e=0;f=8;g=8;p=13}}else{e=0;f=8;g=8;h=0;i=0;p=13}if((p|0)==13){b=0;d=1;o=e;n=3;e=m|0?m:371670}m=O(d,f)|0;l=i;a:while(1){k=i;b:while(1){j=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:break a;case 10:break b;default:{}}k=(_h[n&7](q,e,k,h,g,f,o,d,b)|0)+k|0;e=j}l=(k|0)>(l|0)?k:l;e=j;h=h+m|0}GG(c[r>>2]|0,0,+(((k|0)>(l|0)?k:l)-i|0));return}function vq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=uG(b)|0;if((h|0)>1){i=~~+zG(b,1);if((h|0)>3){j=~~+zG(b,2);m=~~+zG(b,3);if((h|0)!=4){e=b+104|0;a:do if((wG(c[e>>2]|0,4)|0)==3){vG(b,h+1|0);f=LG(b)|0;d=0;do{MG(b,d,h);if((d|0)>=(f|0))break a;if((wG(c[e>>2]|0,h)|0)!=1)break a;a[434186+d>>0]=~~+zG(b,h);d=d+1|0}while((d|0)<16)}else{a[434186]=~~+zG(b,4);d=1}while(0);if((h|0)>5){f=~~+zG(b,5);if((h|0)!=6){g=~~+zG(b,6);if((h|0)>7){e=~~+zG(b,7);if((h|0)>9){h=~~+zG(b,8);l=i;k=j;j=e;i=g;g=~~+zG(b,9);e=m}else{l=i;k=j;j=e;i=g;g=1;h=1;e=m}}else{l=i;k=j;j=0;i=g;g=1;h=1;e=m}}else{l=i;k=j;j=0;i=0;g=1;h=1;e=m}}else{l=i;k=j;j=0;i=0;f=1;g=1;h=1;e=m}}else{l=i;k=j;j=0;i=0;f=1;g=1;h=1;e=m;d=0}}else{l=i;k=0;j=0;i=0;f=1;g=1;h=1;e=0;d=0}}else{l=0;k=0;j=0;i=0;f=1;g=1;h=1;e=0;d=0}b=c[b+144>>2]|0;QG(b)|0;Fi[c[b+1262704>>2]&1](b,b+16384|0,l,k,e,h,g,434186,d,f,i,j);return}function wq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=uG(a)|0;if((d|0)>2){e=~~+zG(a,1);f=~~+zG(a,2);if((d|0)>4){b=~~+zG(a,3);k=~~+zG(a,4);if((d|0)>6){g=~~+zG(a,5);h=~~+zG(a,6);if((d|0)!=7){i=~~+zG(a,7)&255;if((d|0)>8){j=~~+zG(a,8);d=k}else{j=1;d=k}}else{j=1;i=-1;d=k}}else{j=1;i=-1;h=0;g=0;d=k}}else{j=1;i=-1;h=0;g=0;d=17;b=30}}else{e=0;f=0;j=1;i=-1;h=0;g=0;d=17;b=30}a=c[a+144>>2]|0;QG(a)|0;Ei[c[a+1262708>>2]&15](a,a+32768|0,a+16384|0,e,f,b,d,g,h,i,j);return}function xq(a){a=a|0;var b=0,d=0,e=0;e=~~+zG(a,1);d=~~+zG(a,2);b=~~+zG(a,3)&255;a=c[a+144>>2]|0;QG(a)|0;zi[c[a+1262716>>2]&31](a,a+32768|0,e,d,b);return}function yq(a){a=a|0;var b=0.0,d=0,e=0,f=0;e=~~+zG(a,1);d=~~+zG(a,2);f=c[a+144>>2]|0;QG(f)|0;b=+((Uh[c[f+1262720>>2]&63](f,f+32768|0,e,d)|0)&255);GG(c[a+104>>2]|0,0,b);return}function zq(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;b=uG(a)|0;p=+(~~+zG(a,1)|0);q=+(~~+zG(a,2)|0);f=+(~~+zG(a,3)|0);g=+(~~+zG(a,4)|0);h=+(~~+zG(a,5)|0);i=+(~~+zG(a,6)|0);j=+(~~+zG(a,7)|0);k=+(~~+zG(a,8)|0);l=+(~~+zG(a,9)|0);m=+(~~+zG(a,10)|0);n=+(~~+zG(a,11)|0);o=+(~~+zG(a,12)|0);e=c[a+144>>2]|0;QG(e)|0;if((b|0)>13){d=yG(a,13)|0;if((b|0)==14)b=-1;else b=~~+zG(a,14)&255}else{d=0;b=-1}ki[c[e+1262736>>2]&1](e,p,q,f,g,h,i,j,k,l,m,n,o,d,b);return}function Aq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;f=uG(a)|0;d=~~+zG(a,1);e=~~+zG(a,2);b=c[a+144>>2]|0;QG(b)|0;if((f|0)>3){f=~~+zG(a,3);ti[c[b+1262680>>2]&63](b,d,e,f&255);return}else{g=+((Th[c[b+1262684>>2]&63](b,d,e)|0)&255);GG(c[a+104>>2]|0,0,g);return}}function Bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=~~+zG(a,1);f=~~+zG(a,2);e=~~+zG(a,3);d=~~+zG(a,4);b=~~+zG(a,5);a=c[a+144>>2]|0;QG(a)|0;Ai[c[a+1262688>>2]&15](a,g,f,e,d,b&255);return}function Cq(a){a=a|0;var b=0,d=0,e=0,f=0;b=~~+zG(a,3);if((b|0)<0)return;f=~~+zG(a,1);e=~~+zG(a,2);d=~~+zG(a,4);a=c[a+144>>2]|0;QG(a)|0;zi[c[a+1262724>>2]&31](a,f,e,b,d&255);return}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0;b=~~+zG(a,3);if((b|0)<0)return;f=~~+zG(a,1);e=~~+zG(a,2);d=~~+zG(a,4);a=c[a+144>>2]|0;QG(a)|0;zi[c[a+1262728>>2]&31](a,f,e,b,d&255);return}function Eq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=~~+zG(a,1);f=~~+zG(a,2);e=~~+zG(a,3);d=~~+zG(a,4);b=~~+zG(a,5);a=c[a+144>>2]|0;QG(a)|0;Ai[c[a+1262692>>2]&15](a,g,f,e,d,b&255);return}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=~~+zG(a,1);f=~~+zG(a,2);e=~~+zG(a,3);d=~~+zG(a,4);b=~~+zG(a,5);a=c[a+144>>2]|0;QG(a)|0;Ai[c[a+1262696>>2]&15](a,g,f,e,d,b&255);return}function Gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=~~+zG(a,1);h=~~+zG(a,2);g=~~+zG(a,3);f=~~+zG(a,4);e=~~+zG(a,5);d=~~+zG(a,6);b=~~+zG(a,7);a=c[a+144>>2]|0;QG(a)|0;Ci[c[a+1262732>>2]&7](a,i,h,g,f,e,d,b&255);return}function Hq(a){a=a|0;var b=0,d=0,e=0;e=uG(a)|0;b=c[a+144>>2]|0;QG(b)|0;d=c[b+1262676>>2]|0;if((e|0)==1){e=0;li[d&511](b,e);return}e=~~+zG(a,1)&255;li[d&511](b,e);return}function Iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uG(a)|0;b=c[a+144>>2]|0;QG(b)|0;if((d|0)==1){zi[c[b+1262740>>2]&31](b,0,0,240,136);return}else{g=~~+zG(a,1);f=~~+zG(a,2);e=~~+zG(a,3);d=~~+zG(a,4);zi[c[b+1262740>>2]&31](b,g,f,e,d);return}}function Jq(a){a=a|0;var b=0,e=0;b=~~+zG(a,1);if(!((b|0)>-1&b>>>0<81920))return;e=c[a+144>>2]|0;QG(e)|0;GG(c[a+104>>2]|0,0,+(d[e+b>>0]|0));return}function Kq(b){b=b|0;var d=0,e=0.0;d=~~+zG(b,1);if(!((d|0)>-1&d>>>0<81920))return;e=+zG(b,2);b=c[b+144>>2]|0;QG(b)|0;a[b+d>>0]=~~e;return}function Lq(a){a=a|0;var b=0,e=0;b=~~+zG(a,1);if(!((b|0)>-1&b>>>0<163840))return;e=d[(c[a+144>>2]|0)+(b>>>1)>>0]|0;GG(c[a+104>>2]|0,0,+((b&1|0?e>>>4:e&15)&255));return}function Mq(b){b=b|0;var e=0,f=0,g=0;e=~~+zG(b,1);if(!((e|0)>-1&e>>>0<163840))return;f=~~+zG(b,2);g=(c[b+144>>2]|0)+(e>>>1)|0;b=d[g>>0]|0;if(!(e&1)){e=b&240;a[g>>0]=e;b=f&15}else{e=b&15;a[g>>0]=e;b=f<<4&4080}a[g>>0]=b|e;return}function Nq(a){a=a|0;var b=0,d=0,e=0,f=0;b=~~+zG(a,1);d=~~+zG(a,2);e=~~+zG(a,3);f=81920-e|0;if((d|0)>(f|0)|((b|0)>(f|0)|(e>>>0>81920|(d|b|e|0)<0)))return;f=c[a+144>>2]|0;QG(f)|0;s6(f+b|0,f+d|0,e|0)|0;return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=~~+zG(a,1);d=~~+zG(a,3);if((b|0)>(81920-d|0)|(d>>>0>81920|(d|b|0)<0))return;e=~~+zG(a,2)&255;a=c[a+144>>2]|0;QG(a)|0;u6(a+b|0,e|0,d|0)|0;return}function Pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[b+144>>2]|0;d=~~+zG(b,1);if(d>>>0>=256){vG(b,1);JG(b,338493);f=c[b+104>>2]|0;PG(c[b+44>>2]|0,c[f>>2]|0,c[f+4>>2]|0);return}QG(f)|0;g=uG(b)|0;d=f+1262836+(d<<2)|0;e=c[d>>2]|0;if((g|0)>2){c[d>>2]=~~+zG(b,2);a[(c[f+1411596>>2]|0)+32>>0]=1}GG(c[b+104>>2]|0,0,+(e>>>0));return}function Qq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;m=o;g=uG(a)|0;j=c[a+144>>2]|0;QG(j)|0;n=~~+zG(a,1);if((n|0)>=64){vG(a,1);JG(a,338474);n=c[a+104>>2]|0;PG(c[a+44>>2]|0,c[n>>2]|0,c[n+4>>2]|0);l=o;return}c[k>>2]=-1;c[m>>2]=-1;if((n|0)>-1){b=j+65764+(n*66|0)+60|0;b=d[b>>0]|d[b+1>>0]<<8;c[k>>2]=(b&65535)>>>8&15;c[m>>2]=b&7;b=((b<<9&65535)<<16>>16>>13&65535)<<24>>24}else b=8;if((g|0)>2){h=a+104|0;switch(wG(c[h>>2]|0,2)|0){case 1:{i=~~+zG(a,2);c[k>>2]=(i|0)%12|0;c[m>>2]=(i|0)/12|0;break}case 5:{if(!(zk(CG(a,2)|0,k,m)|0)){vG(a,1);JG(a,338423);n=c[h>>2]|0;PG(c[a+44>>2]|0,c[n>>2]|0,c[n+4>>2]|0);l=o;return}break}default:{}}if((g|0)>3){i=~~+zG(a,3);if((g|0)!=4){f=~~+zG(a,4);if((g|0)>5){e=~~+zG(a,5);if((g|0)!=6)b=~~+zG(a,6)}else e=15;if(f>>>0<4)g=i;else{vG(a,1);JG(a,338457);n=c[h>>2]|0;PG(c[a+44>>2]|0,c[n>>2]|0,c[n+4>>2]|0);l=o;return}}else{g=i;f=0;e=15}}else{g=-1;f=0;e=15}}else{g=-1;f=0;e=15}li[c[j+1262748>>2]&511](j,f);Ci[c[j+1262752>>2]&7](j,n,c[k>>2]|0,c[m>>2]|0,g,f,e&15,b);l=o;return}function Rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=uG(a)|0;g=c[a+144>>2]|0;QG(g)|0;if((e|0)>1){b=~~+zG(a,1);if((e|0)!=2){d=~~+zG(a,2);if((e|0)>3){f=~~+zG(a,3);if((e|0)==4){e=1;a=f}else{e=yG(a,4)|0;a=f}}else{e=1;a=-1}}else{e=1;a=-1;d=-1}}else{e=1;a=-1;d=-1;b=-1}zi[c[g+1262760>>2]&31](g,b,d,a,e);return}function Sq(a){a=a|0;var b=0.0,d=0;d=c[a+144>>2]|0;QG(d)|0;b=+Oh[c[d+1262768>>2]&3](d);GG(c[a+104>>2]|0,0,b);return}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a+144>>2]|0;QG(f)|0;d=uG(a)|0;if((d|0)>1){b=~~+zG(a,1);if((d|0)!=2){e=~~+zG(a,2);if((d|0)>3)d=yG(a,3)|0;else d=0;if(e>>>0>=8){vG(a,1);JG(a,338396);f=c[a+104>>2]|0;PG(c[a+44>>2]|0,c[f>>2]|0,c[f+4>>2]|0);return}}else{d=0;e=0}}else{d=0;e=0;b=0}ti[c[f+1262796>>2]&63](f,b,e,d);return}function Uq(b){b=b|0;a[(c[b+144>>2]|0)+1412380>>0]=0;return}function Vq(a){a=a|0;a=c[(c[a+144>>2]|0)+1411596>>2]|0;fi[c[a+8>>2]&511](c[a+40>>2]|0);return}function Wq(a){a=a|0;GG(c[a+104>>2]|0,0,240.0);return}function Xq(a){a=a|0;GG(c[a+104>>2]|0,0,136.0);return}function Yq(a){a=a|0;GG(c[a+104>>2]|0,0,8.0);return}function Zq(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,h=0.0,i=0.0,j=0;b=c[a+144>>2]|0;d=~~+zG(a,6);if(!d){GG(c[a+104>>2]|0,0,0.0);return}else{QG(b)|0;g=yG(a,5)|0;e=+zG(a,4);h=+zG(a,3);i=+zG(a,2);j=CG(a,1)|0;f=yG(a,7)|0;e=+(Zh[c[b+1262672>>2]&7](b,j,~~i,~~h,((~~e|0)%16|0)&255,g,d,f)|0);GG(c[a+104>>2]|0,0,e);return}}function _q(a){a=a|0;var b=0,d=0;d=c[a+144>>2]|0;b=CG(a,1)|0;a=~~+zG(a,2)&255;d=c[d+1411596>>2]|0;si[c[d>>2]&127](c[d+40>>2]|0,b,a);return}function $q(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=uG(b)|0;h=~~+zG(b,1);i=~~+zG(b,2);j=~~+zG(b,3);e=b+104|0;a:do if((wG(c[e>>2]|0,4)|0)==3){vG(b,f+1|0);g=LG(b)|0;d=0;do{MG(b,d,f);if((d|0)>=(g|0))break a;if((wG(c[e>>2]|0,f)|0)!=1)break a;a[434170+d>>0]=~~+zG(b,f);d=d+1|0}while((d|0)<16)}else{a[434170]=~~+zG(b,4);d=1}while(0);e=~~+zG(b,5);f=~~+zG(b,6);g=~~+zG(b,7);b=c[b+144>>2]|0;QG(b)|0;Fi[c[b+1262704>>2]&1](b,b+16384|0,h,i,j,1,1,434170,d,e,f,g);return}function ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=c[a+64>>2]|0;i=(c[a+68>>2]|0)-h>>4;g=((d|0)<0?i:0)+d|0;g=ys(a,g>>>0<i>>>0?h+(g<<4)|0:0,0)|0;c[f>>2]=e;c[f+4>>2]=g;c[f+8>>2]=d;sr(a,342583,b|100663296,344065,f)}function br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;At(a,c>>>24,d,b,c&16777215)}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(d>>>0>2147483646)br(a,342521,50331674,342539);h=c[a+44>>2]|0;i=h+44|0;l=c[i>>2]|0;c[i>>2]=l+-1;if((l|0)<1)dr(h,2);f=h+8|0;g=h+16|0;l=b+20|0;e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;i=(d|0)==0;if(!(i|(e|0)!=0)){dr(h,0);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,0);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){dr(h,1);e=Th[c[f>>2]&63](c[g>>2]|0,c[l>>2]|0,d)|0;if(!e){e=0;j=8}else k=e}else k=e}else k=e}else k=e}else k=e}else k=e}else k=e}else k=e}else k=e}else k=e}else j=8;if((j|0)==8)if(i|(e|0)!=0)k=e;else er(a,342521,63);e=b+16|0;f=c[e>>2]|0;if(f>>>0>=d>>>0){c[e>>2]=d;c[l>>2]=k;return}u6(k+f|0,0,d-f|0)|0;c[e>>2]=d;c[l>>2]=k;return}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=a+60|0;if(c[z>>2]|0)return;w=c[a+52>>2]|b;y=a+32|0;w=(c[y>>2]|0)==0?w:w|4;c[z>>2]=1;x=a+56|0;c[x>>2]=1;f=a+36|0;b=c[f>>2]|0;if(b|0){d=a+12|0;e=a+16|0;do{u=b;b=c[b+20>>2]|0;li[c[d>>2]&511](c[e>>2]|0,u)}while((b|0)!=0)}c[f>>2]=0;f=a+40|0;b=c[f>>2]|0;if(b|0){d=a+12|0;e=a+16|0;do{u=b;b=c[b>>2]|0;li[c[d>>2]&511](c[e>>2]|0,u)}while((b|0)!=0)}c[f>>2]=0;u=a+128|0;d=c[u>>2]|0;do if(d|0?(g=c[d>>2]|0,(g&4|0)==0):0){c[d>>2]=g|4;e=a+48|0;b=c[e>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[d>>2]=g|12;break}b=b+1|0;c[e>>2]=b;if((g&3)==1){fr(a,d);b=c[e>>2]|0}c[e>>2]=b+-1}while(0);d=c[a+136>>2]|0;do if(d|0?(h=c[d>>2]|0,(h&4|0)==0):0){c[d>>2]=h|4;e=a+48|0;b=c[e>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[d>>2]=h|12;break}b=b+1|0;c[e>>2]=b;if((h&3)==1){fr(a,d);b=c[e>>2]|0}c[e>>2]=b+-1}while(0);j=a+48|0;e=0;do{d=c[a+244+(e<<2)>>2]|0;do if(d|0?(i=c[d>>2]|0,(i&4|0)==0):0){c[d>>2]=i|4;b=c[j>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[d>>2]=i|12;break}b=b+1|0;c[j>>2]=b;if((i&3)==1){fr(a,d);b=c[j>>2]|0}c[j>>2]=b+-1}while(0);e=e+1|0}while((e|0)!=162);do if((c[a+96>>2]&8|0?(k=c[a+104>>2]|0,k|0):0)?(l=c[k>>2]|0,(l&4|0)==0):0){c[k>>2]=l|4;b=c[j>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[k>>2]=l|12;break}b=b+1|0;c[j>>2]=b;if((l&3)==1){fr(a,k);b=c[j>>2]|0}c[j>>2]=b+-1}while(0);do if((c[a+112>>2]&8|0?(m=c[a+120>>2]|0,m|0):0)?(n=c[m>>2]|0,(n&4|0)==0):0){c[m>>2]=n|4;b=c[j>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[m>>2]=n|12;break}b=b+1|0;c[j>>2]=b;if((n&3)==1){fr(a,m);b=c[j>>2]|0}c[j>>2]=b+-1}while(0);gr(a);t=a+24|0;e=c[t>>2]|0;if(e|0){h=e;b=0;do{g=c[h>>2]|0;a:do if((g&37|0)==1){d=1e4;f=h;while(1){if(c[f>>2]&2097152|0)break;if(!d)break a;f=c[f+20>>2]|0;if(!f)break a;else d=d+-1|0}c[h>>2]=g|16;b=b+1|0}while(0);h=c[h+8>>2]|0}while((h|0)!=0);if(b|0)do{d=c[e>>2]|0;do if((d&20|0)==16){c[e>>2]=d|4;b=c[j>>2]|0;if(b>>>0>255){c[a>>2]=c[a>>2]|1;c[e>>2]=d|12;break}b=b+1|0;c[j>>2]=b;if((d&3)==1){fr(a,e);b=c[j>>2]|0}c[j>>2]=b+-1}while(0);e=c[e+8>>2]|0}while((e|0)!=0)}b=c[y>>2]|0;if(b|0)do{e=c[b>>2]|0;do if(!(e&4)){c[b>>2]=e|4;d=c[j>>2]|0;if(d>>>0>255){c[a>>2]=c[a>>2]|1;c[b>>2]=e|12;break}d=d+1|0;c[j>>2]=d;if((e&3)==1){fr(a,b);d=c[j>>2]|0}c[j>>2]=d+-1}while(0);b=c[b+8>>2]|0}while((b|0)!=0);gr(a);b=c[t>>2]|0;if(b){do{if((c[b>>2]&5|0)==1)hr(c[u>>2]|0,b);b=c[b+8>>2]|0}while((b|0)!=0);e=c[t>>2]|0;c[t>>2]=0;if(e){j=a+12|0;k=a+16|0;l=(w&4|0)==0;m=(w&1|0)==0;d=0;b=0;b:while(1){while(1){g=e+8|0;i=c[g>>2]|0;f=c[e>>2]|0;if(f&4|0)break;switch(f&3){case 0:{li[c[j>>2]&511](c[k>>2]|0,e);break}case 1:{li[c[j>>2]&511](c[k>>2]|0,c[e+16>>2]|0);f=c[e>>2]|0;do if(!(f&6144)){if((f&-134217728|0)!=-1879048192){if(!(f&1024))break;li[c[j>>2]&511](c[k>>2]|0,c[e+72>>2]|0);break}li[c[j>>2]&511](c[k>>2]|0,c[e+52>>2]|0);f=c[e+72>>2]|0;if(f|0)do{g=c[f+32>>2]|0;if(g|0)do{s=g;g=c[g>>2]|0;li[c[j>>2]&511](c[k>>2]|0,s)}while((g|0)!=0);s=f;f=c[f+20>>2]|0;li[c[j>>2]&511](c[k>>2]|0,s)}while((f|0)!=0)}while(0);li[c[j>>2]&511](c[k>>2]|0,e);break}default:{if((f&384|0)==128)li[c[j>>2]&511](c[k>>2]|0,c[e+20>>2]|0);li[c[j>>2]&511](c[k>>2]|0,e)}}if(!i)break b;else e=i}if(!(f&16)){do if(f&32)if(l){f=f&-33;c[e>>2]=f;break}else{b=b+1|0;break}else b=b+1|0;while(0);if(!d)c[t>>2]=e;else c[d+8>>2]=e;c[e+12>>2]=d;d=e}else{h=e+4|0;c[h>>2]=(c[h>>2]|0)+1;h=c[y>>2]|0;c[e+12>>2]=0;if(h|0)c[h+12>>2]=e;c[g>>2]=h;c[y>>2]=e}do if((f&-134217727|0)==-1879048191){g=c[e+52>>2]|0;h=(c[e+60>>2]|0)-g|0;g=(c[e+56>>2]|0)-g|0;if(m)if((h-g|0)>>>0<h>>>2>>>0)break;else g=(h>>>8<<4)+g|0;if(g>>>0<h>>>0){ir(e,g>>>4)|0;f=c[e>>2]|0}}while(0);c[e>>2]=f&-5;if(!i)break;else e=i}if(d)c[d+8>>2]=0}else b=0}else{c[t>>2]=0;b=0}s=a+176|0;d=c[s>>2]|0;c:do if((d|0)!=0?(v=a+184|0,(c[v>>2]|0)!=0):0){m=a+196|0;n=a+208|0;o=a+220|0;p=a+232|0;q=a+188|0;r=a+180|0;k=a+12|0;l=a+16|0;e=0;j=0;while(1){d=c[d+(j<<2)>>2]|0;d:do if(d){f=0;while(1){e:do if(!f)while(1){g=d;d=c[d+8>>2]|0;f=c[g>>2]|0;if(f&4|0){i=g;break e}if((c[m>>2]|0)==(g|0))c[m>>2]=0;if((c[n>>2]|0)==(g|0))c[n>>2]=0;if((c[o>>2]|0)==(g|0))c[o>>2]=0;if((c[p>>2]|0)==(g|0))c[p>>2]=0;c[q>>2]=(c[q>>2]|0)+-1;c[(c[s>>2]|0)+((c[r>>2]&c[g+12>>2])<<2)>>2]=d;li[c[k>>2]&511](c[l>>2]|0,g);if(!d)break d}else{g=f+8|0;while(1){h=d;d=c[d+8>>2]|0;f=c[h>>2]|0;if(f&4|0){i=h;g=h;break e}if((c[m>>2]|0)==(h|0))c[m>>2]=0;if((c[n>>2]|0)==(h|0))c[n>>2]=0;if((c[o>>2]|0)==(h|0))c[o>>2]=0;if((c[p>>2]|0)==(h|0))c[p>>2]=0;c[q>>2]=(c[q>>2]|0)+-1;c[g>>2]=d;li[c[k>>2]&511](c[l>>2]|0,h);if(!d)break d}}while(0);c[g>>2]=f&-5;e=e+1|0;if(!d)break;else f=i}}while(0);d=j+1|0;if(d>>>0>=(c[v>>2]|0)>>>0)break c;j=d;d=c[s>>2]|0}}else e=0;while(0);d=c[y>>2]|0;if(d|0)do{c[d>>2]=c[d>>2]&-5;d=c[d+8>>2]|0}while((d|0)!=0);if((w&9|0)==1){jr(c[u>>2]|0,c[t>>2]|0);jr(c[u>>2]|0,c[y>>2]|0)}if(w&1|0?c[s>>2]|0:0)kr(a);c[z>>2]=0;c[x>>2]=0;c[a+44>>2]=(((e+b|0)>>>8)*12800|0)+1024;lr(a);return}function er(a,b,c){a=a|0;b=b|0;c=c|0;br(a,b,c|16777216,342555)}
  36. function At(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0.0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;p=m+8|0;g=a+40|0;i=c[g>>2]|0;if(i|0){c[(c[a+72>>2]|0)+36>>2]=c[i>>2];c[g>>2]=0}o=a+44|0;i=c[o>>2]|0;n=i+72|0;if(c[n>>2]|0){c[n>>2]=0;g=c[a+248>>2]|0;if(!g){k=+(b|0);h[m>>3]=k;g=0}else{c[m>>2]=g;k=+h[m>>3];g=9}c[i+84>>2]=1;c[i+96>>2]=g;h[i+104>>3]=k;if(g&8|0){h[j>>3]=k;m=(c[j>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}xs(a)}c[n>>2]=1;g=a+68|0;m=c[a+52>>2]|0;i=(c[g>>2]|0)-m+528|0;m=m+i|0;n=a+56|0;do if((c[n>>2]|0)>>>0<m>>>0)if((c[a+60>>2]|0)>>>0<m>>>0){Er(a,i,1)|0;break}else{c[n>>2]=m;break}while(0);c[p>>2]=d;ht(a,b|16777216,e,f,392253,p);as(a,105);g=c[g>>2]|0;p=g+-16|0;f=c[o>>2]|0;c[f+84>>2]=1;f=f+96|0;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];if(c[p>>2]&8|0){p=(c[g+-8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}c[(c[o>>2]|0)+72>>2]=0;xs(a)}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;e=a+68|0;d=c[e>>2]|0;f=c[a+64>>2]|0;g=(d-f>>4)-b|0;i=g+-1|0;h=f;if((i|b|0)<0)nr(a,342568,55);if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4162);d=d+16|0;c[e>>2]=d;d=d-f>>4;b=((g|0)<0?d:0)+g|0;if(b>>>0>=d>>>0)Cr(a,376,g);e=h+(b<<4)|0;b=h+(d+-1<<4)|0;d=b-e|0;if(!d){Lr(a,i,0)|0;l=k;return};c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d|0)|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Lr(a,i,0)|0;l=k;return}function Ct(a,b){a=a|0;b=b|0;gt(a,c[(c[a+68>>2]|0)+-8>>2]|0);return 0}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0;if(c[a+56>>2]|0)return;d=c[b+8>>2]|0;e=c[b+12>>2]|0;if(!e)c[a+24>>2]=d;else c[e+8>>2]=d;if(d|0)c[d+12>>2]=e;if((c[b>>2]&384|0)==128){e=a+12|0;d=a+16|0;li[c[e>>2]&511](c[d>>2]|0,c[b+20>>2]|0)}else{e=a+12|0;d=a+16|0}li[c[e>>2]&511](c[d>>2]|0,b);return}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=a+68|0;i=a+64|0;f=c[i>>2]|0;g=(c[j>>2]|0)-f>>4;e=((b|0)<0?g:0)+b|0;if(e>>>0>=g>>>0)Cr(a,376,b);if(g>>>0<=1)Cr(a,376,-2);d=g+-1|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f+(e<<4)|0,f+(g+-2<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;d=c[j>>2]|0;if((d+-32|0)>>>0<(c[i>>2]|0)>>>0)br(a,342583,50337495,342599);b=d+-16|0;c[j>>2]=b;i=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((i&8|0)!=0?(g=d+4|0,i=(c[g>>2]|0)+-1|0,c[g>>2]=i,(i|0)==0):0){qr(c[a+44>>2]|0,d);b=c[j>>2]|0}i=b+-16|0;c[j>>2]=i;j=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[i>>2]=2;if(!(j&8))return;i=b+4|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(j|0)return;qr(c[a+44>>2]|0,b);return}function Ft(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;k=a+68|0;e=c[k>>2]|0;j=a+64|0;f=c[j>>2]|0;l=e-f>>4;g=((b|0)<0?l:0)+b|0;i=f;if(g>>>0>=l>>>0)Cr(a,300,b);if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);l=e+16|0;c[k>>2]=l;c[e>>2]=0;h[e+8>>3]=+(d>>>0);f=l-f>>4;d=((g|0)<0?f:0)+g|0;if(d>>>0>=f>>>0)Cr(a,376,g);if((f|0)==1)Cr(a,376,-2);e=f+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,i+(d<<4)|0,i+(f+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],b)|0;e=c[k>>2]|0;if((e+-32|0)>>>0<(c[j>>2]|0)>>>0)br(a,342583,50337495,342599);b=e+-16|0;c[k>>2]=b;l=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if((l&8|0)!=0?(j=e+4|0,l=(c[j>>2]|0)+-1|0,c[j>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,e);b=c[k>>2]|0}j=b+-16|0;c[k>>2]=j;l=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[j>>2]=2;if(!(l&8))return;k=b+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0)return;qr(c[a+44>>2]|0,b);return}function Gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;e=a+68|0;d=c[e>>2]|0;f=c[a+64>>2]|0;i=(d-f>>4)+~c[b>>2]|0;g=i+1|0;h=f;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4162);d=d+16|0;c[e>>2]=d;e=d-f>>4;d=((i|0)<-1?e:0)+g|0;if(d>>>0>=e>>>0)Cr(a,376,g);f=h+(d<<4)|0;d=h+(e+-1<<4)|0;e=d-f|0;if(!e){j=b+4|0;j=c[j>>2]|0;Lr(a,i,j)|0;l=k;return 1};c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];t6(f+16|0,f|0,e|0)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];j=b+4|0;j=c[j>>2]|0;Lr(a,i,j)|0;l=k;return 1}function Ht(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;f=a+68|0;b=c[f>>2]|0;g=a+64|0;h=b-(c[g>>2]|0)|0;k=h>>4;i=k+-1|0;k=k+-2|0;if((h|0)<32)nr(a,342568,55);if(b>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4604);e=Or(a,40)|0;b=c[a+44>>2]|0;c[e>>2]=134234241;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;d=c[f>>2]|0;c[d>>2]=9;c[d+8>>2]=e;d=e+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[f>>2]|0)+16|0;c[f>>2]=d;b=c[a+112>>2]|0;c[e+20>>2]=b;if(b|0){f=b+4|0;c[f>>2]=(c[f>>2]|0)+1}f=c[g>>2]|0;d=d-f>>4;b=((h|0)<16?d:0)+i|0;if(b>>>0>=d>>>0)Cr(a,376,i);e=f+(b<<4)|0;b=f+(d+-1<<4)|0;d=b-e|0;if(!d){Lr(a,k,2)|0;l=m;return};c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d|0)|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Lr(a,k,2)|0;l=m;return}function It(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=(d|0)!=0;if(o)c[d>>2]=0;j=a+68|0;k=a+64|0;p=c[k>>2]|0;q=(c[j>>2]|0)-p>>4;g=(b|0)<0;f=(g?q:0)+b|0;f=f>>>0<q>>>0?p+(f<<4)|0:0;f=(f|0)==0?368:f;switch(c[f>>2]|0){case 10:{e=c[f+8>>2]|0;if(o)c[d>>2]=c[e+16>>2];if(!(c[e>>2]&128)){q=e+24|0;return q|0}else{q=c[e+20>>2]|0;return q|0}}case 9:{l=9;break}default:{}}if((((l|0)==9?(h=c[f+8>>2]|0,c[h>>2]&8192|0):0)?(i=c[h+40>>2]|0,i|0):0)?(m=h+48|0,e=c[m>>2]|0,n=c[h+52>>2]|0,(n+e|0)>>>0<=(c[i+16>>2]|0)>>>0):0){if(!(c[i>>2]&128))f=i+24|0;else f=c[i+20>>2]|0;if(o){c[d>>2]=n;e=c[m>>2]|0}q=f+e|0;return q|0}Xr(a,b)|0;q=c[k>>2]|0;p=(c[j>>2]|0)-q>>4;e=(g?p:0)+b|0;e=e>>>0<p>>>0?q+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(a,2101,b,361511);e=c[e+8>>2]|0;if(!e)ar(a,2101,b,361511);if(d|0)c[d>>2]=c[e+20>>2];q=e+28|0;return q|0}function Jt(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=l;l=l+16|0;i=t+4|0;o=t;s=e+68|0;p=e+64|0;q=(c[s>>2]|0)-(c[p>>2]|0)>>4;r=((f|0)<0?q:0)+f|0;if(r>>>0>=q>>>0)Cr(e,300,f);n=It(e,r,o)|0;f=c[o>>2]|0;if(f&1|0)br(e,344205,100663892,344775);f=f>>>1;if((c[s>>2]|0)>>>0>=(c[e+56>>2]|0)>>>0)mr(e,5237);if((f|0)==2147483647)br(e,342583,50336889,342539);q=e+44|0;f=ts(c[q>>2]|0,f,4,i)|0;if(!f)er(e,342583,5246);k=c[s>>2]|0;c[k>>2]=10;c[k+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+16;f=c[i>>2]|0;i=c[o>>2]|0;k=i&-8;do if(k){j=0;while(1){v=a[344519+(d[n+(j|1)>>0]|0)>>0]|b[36896+(d[n+j>>0]<<1)>>1];a[f>>0]=v;w=a[344519+(d[n+(j|3)>>0]|0)>>0]|b[36896+(d[n+(j|2)>>0]<<1)>>1];a[f+1>>0]=w;u=a[344519+(d[n+(j|5)>>0]|0)>>0]|b[36896+(d[n+(j|4)>>0]<<1)>>1];a[f+2>>0]=u;i=a[344519+(d[n+(j|7)>>0]|0)>>0]|b[36896+(d[n+(j|6)>>0]<<1)>>1];a[f+3>>0]=i;if((w|v|u|i|0)<0){i=25;break}f=f+4|0;j=j+8|0;if(j>>>0>=k>>>0){i=11;break}}if((i|0)==11){g=j;h=f;m=c[o>>2]|0;break}else if((i|0)==25)br(e,344205,100663892,344775)}else{g=0;h=f;m=i}while(0);a:do if(g>>>0<m>>>0){while(1){f=a[344519+(d[n+(g|1)>>0]|0)>>0]|a[344519+(d[n+g>>0]|0)>>0]<<4;if((f|0)<0)break;a[h>>0]=f;g=g+2|0;if(g>>>0>=(c[o>>2]|0)>>>0)break a;else h=h+1|0}br(e,344205,100663892,344775)}while(0);f=c[p>>2]|0;h=(c[s>>2]|0)-f>>4;if(!h)Cr(e,376,-1);i=f+(h+-1<<4)|0;g=((r|0)<0?h:0)+r|0;if(g>>>0>=h>>>0)Cr(e,376,r);v=f+(g<<4)|0;w=c[v>>2]|0;g=c[f+(g<<4)+8>>2]|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];c[i>>2]=2;c[s>>2]=(c[s>>2]|0)+-16;if(!(w&8)){l=t;return}v=g+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(w|0){l=t;return}qr(c[q>>2]|0,g);l=t;return}function Kt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;C=l;l=l+352|0;p=C+348|0;u=C;B=a+68|0;k=c[B>>2]|0;x=a+64|0;z=k-(c[x>>2]|0)|0;A=z>>4;v=u+4|0;u6(v|0,0,344)|0;c[u>>2]=a;n=u+28|0;c[n>>2]=-1;c[u+36>>2]=f;c[u+40>>2]=f&1;g=f&2;c[u+44>>2]=g;w=f&4;c[u+48>>2]=w;i=f&8;c[u+52>>2]=i;j=f&12;c[u+56>>2]=j;f=u+72|0;c[f>>2]=150;if(!w){if(i|0){c[f>>2]=111;c[u+76>>2]=112;c[u+80>>2]=114;c[u+84>>2]=113;f=115;q=5}}else{c[f>>2]=58;c[u+76>>2]=59;c[u+80>>2]=61;c[u+84>>2]=60;f=(g>>>1)+115|0;q=5}if((q|0)==5)c[u+88>>2]=f;if(!j)c[u+68>>2]=770;t=a+56|0;if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,5237);w=a+44|0;f=ts(c[w>>2]|0,128,1,p)|0;if(!f)er(a,342583,5246);j=c[B>>2]|0;c[j>>2]=10;c[j+8>>2]=f;j=f+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[B>>2]|0;k=j+16|0;c[B>>2]=k;j=c[j+8>>2]|0;c[u+16>>2]=j;j=c[j+20>>2]|0;c[v>>2]=j;s=u+8|0;c[s>>2]=j;c[u+12>>2]=j+128;if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,4604);f=Or(a,40)|0;g=c[w>>2]|0;c[f>>2]=134234241;g=g+24|0;i=c[g>>2]|0;if(i|0)c[i+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=i;c[g>>2]=f;i=c[B>>2]|0;c[i>>2]=9;c[i+8>>2]=f;i=f+4|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[B>>2]|0)+16|0;c[B>>2]=i;j=c[x>>2]|0;k=i-j>>4;c[u+32>>2]=k+-1;g=j;f=((d|0)<0?k:0)+d|0;f=f>>>0<k>>>0?g+(f<<4)|0:0;f=(f|0)==0?368:f;do if((c[f>>2]|0)==9?(m=c[f+8>>2]|0,(m|0)!=0):0){f=c[m>>2]|0;if(f&512|0){c[u+20>>2]=m;break}if((f&-134217728|0)==268435456){i=Or(a,48)|0;f=c[w>>2]|0;c[i>>2]=272679041;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=g;c[f>>2]=i;f=c[a+132>>2]|0;c[i+20>>2]=f;if(f|0){m=f+4|0;c[m>>2]=(c[m>>2]|0)+1}k=c[B>>2]|0;c[k>>2]=9;c[k+8>>2]=i;k=i+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[B>>2]|0;m=k-(c[x>>2]|0)>>4;c[B>>2]=k+16;c[n>>2]=m;Lt(a,d,96);a:do if(Mt(a,-1,1)|0){g=0;while(1){b:while(1){d=c[x>>2]|0;f=(c[B>>2]|0)-d>>4;f=f|0?d+(f+-1<<4)|0:0;switch(c[f>>2]|0){case 0:break b;case 8:{if(!(c[c[f+8>>2]>>2]&512))break b;break}case 9:{switch((c[c[f+8>>2]>>2]|0)>>>27&31){case 10:case 12:break b;default:{}}break}default:{}}Nt(a);if(!(Mt(a,-1,1)|0))break a}Xr(a,-1)|0;Ft(a,-4,g);g=g+1|0;f=c[B>>2]|0;if((f|0)==(c[x>>2]|0))break;n=f+-16|0;c[B>>2]=n;d=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[n>>2]=2;if(d&8|0?(n=f+4|0,d=(c[n>>2]|0)+-1|0,c[n>>2]=d,(d|0)==0):0)qr(c[w>>2]|0,f);if(!(Mt(a,-1,1)|0))break a}br(a,342583,50337407,342599)}while(0);f=c[B>>2]|0;g=c[x>>2]|0;j=g;if((f|0)==(g|0))br(a,342583,50337407,342599);i=f+-16|0;c[B>>2]=i;d=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[i>>2]=2;if((d&8|0)!=0?(n=f+4|0,d=(c[n>>2]|0)+-1|0,c[n>>2]=d,(d|0)==0):0){qr(c[w>>2]|0,f);j=c[x>>2]|0;g=j;i=c[B>>2]|0}}}while(0);d=i-g>>4;m=(e|0)<0;f=(m?d:0)+e|0;f=f>>>0<d>>>0?g+(f<<4)|0:0;f=(f|0)==0?368:f;c:do if((c[f>>2]|0)==9?(o=c[f+8>>2]|0,o|0):0){switch((c[o>>2]|0)>>>27&31){case 10:break;case 12:{Xr(a,e)|0;break c}default:break c}o=i-j>>4;f=(m?o:0)+e|0;if(f>>>0>=o>>>0)Cr(a,300,e);D=+Ar(a,j+(f<<4)|0);d=c[x>>2]|0;n=d+(f<<4)|0;o=c[n>>2]|0;d=d+(f<<4)+8|0;f=c[d>>2]|0;c[n>>2]=0;h[d>>3]=D;if(o&8|0?(d=f+4|0,o=(c[d>>2]|0)+-1|0,c[d>>2]=o,(o|0)==0):0)qr(c[w>>2]|0,f)}while(0);k=c[B>>2]|0;f=c[x>>2]|0;g=k-f>>4;i=(m?g:0)+e|0;g=i>>>0<g>>>0;i=f+(i<<4)|0;f=g?i:0;f=(f|0)==0?368:f;j=k;d:do switch(c[f>>2]|0){case 0:{f=Ot(a,e,0,10,p)|0;if((c[B>>2]|0)>>>0>=(c[t>>2]|0)>>>0)mr(a,4300);if((f|0)<0)br(a,342583,50335961,342945);else{q=fs(a,344793,f)|0;r=c[B>>2]|0;c[B>>2]=r+16;c[r>>2]=8;c[r+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;q=66;break d}break}case 8:{r=c[f+8>>2]|0;if((r|0)!=0?(c[r>>2]&512|0)==0:0){if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,1093);if(!g)Cr(a,376,e);c[B>>2]=j+16;r=k;c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];if(c[j>>2]&8|0){r=(c[j+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}yt(a,0,10);q=66}else r=j;break}default:r=j}while(0);if((q|0)==66){r=c[B>>2]|0;c[u+24>>2]=c[r+-8>>2]}f=u+24|0;q=c[f>>2]|0;if(q|0?(c[q+20>>2]|0)==0:0)c[f>>2]=0;if(r>>>0>=(c[t>>2]|0)>>>0)mr(a,4604);i=Or(a,40)|0;f=c[w>>2]|0;c[i>>2]=134234241;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=g;c[f>>2]=i;o=c[B>>2]|0;c[o>>2]=9;c[o+8>>2]=i;o=i+4|0;c[o>>2]=(c[o>>2]|0)+1;o=(c[B>>2]|0)+16|0;c[B>>2]=o;f=c[a+112>>2]|0;c[i+20>>2]=f;if(f|0){r=f+4|0;c[r>>2]=(c[r>>2]|0)+1}d=c[x>>2]|0;g=c[B>>2]|0;if(g>>>0>=(c[t>>2]|0)>>>0)mr(a,1093);r=g-d>>4;f=((b|0)<0?r:0)+b|0;if(f>>>0>=r>>>0)Cr(a,376,b);b=d+(f<<4)|0;c[B>>2]=g+16;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[g>>2]&8|0){b=(c[g+8>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1}f=c[B>>2]|0;i=f-(c[x>>2]|0)|0;b=i>>4;j=b+-2|0;if(b>>>0<=1)Cr(a,300,-2);n=a+304|0;g=c[(c[n>>2]|0)+60>>2]|0;if(f>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[B>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;k=g+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[x>>2]|0;m=(c[B>>2]|0)-k>>4;i=((i|0)<32?m:0)+j|0;if(i>>>0>=m>>>0)Cr(a,376,j);if((m|0)==1)Cr(a,376,-2);g=m+-2|0;f=c[a+72>>2]|0;if(!f)f=1;else f=c[f+52>>2]&1;es(a,k+(i<<4)|0,k+(m+-1<<4)|0,c[k+(g<<4)>>2]|0,c[k+(g<<4)+4>>2]|0,+h[k+(g<<4)+8>>3],f)|0;Nt(a);f=c[(c[n>>2]|0)+60>>2]|0;g=c[B>>2]|0;if(g>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[B>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;b=f+4|0;c[b>>2]=(c[b>>2]|0)+1;c[u+64>>2]=1e3;do if(!(Pt(u,(o-d>>4)+-1|0)|0)){f=c[B>>2]|0;if(f>>>0<(c[t>>2]|0)>>>0){y=f+16|0;c[B>>2]=y;break}else mr(a,4162)}else{g=c[s>>2]|0;if((c[B>>2]|0)>>>0>=(c[t>>2]|0)>>>0)mr(a,4300);f=(g|0)==0?0:(c[v>>2]|0)-g|0;if((f|0)<0)br(a,342583,50335961,342945);else{y=fs(a,g,f)|0;v=c[B>>2]|0;c[B>>2]=v+16;c[v>>2]=8;c[v+8>>2]=y;y=y+4|0;c[y>>2]=(c[y>>2]|0)+1;y=c[B>>2]|0;break}}while(0);i=c[x>>2]|0;g=y-i>>4;if(!g)Cr(a,376,-1);j=i+(g+-1<<4)|0;f=((z|0)<0?g:0)+A|0;if(f>>>0>=g>>>0)Cr(a,376,A);y=i+(f<<4)|0;z=c[y>>2]|0;f=c[i+(f<<4)+8>>2]|0;c[y>>2]=c[j>>2];c[y+4>>2]=c[j+4>>2];c[y+8>>2]=c[j+8>>2];c[y+12>>2]=c[j+12>>2];c[j>>2]=2;c[B>>2]=(c[B>>2]|0)+-16;if(!(z&8)){B=A+1|0;Zs(a,B);l=C;return}z=f+4|0;B=(c[z>>2]|0)+-1|0;c[z>>2]=B;if(B|0){B=A+1|0;Zs(a,B);l=C;return}qr(c[w>>2]|0,f);B=A+1|0;Zs(a,B);l=C;return}function Lt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+68|0;h=c[g>>2]|0;if(h>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);i=a+64|0;f=c[i>>2]|0;j=h-f>>4;e=((b|0)<0?j:0)+b|0;if(e>>>0>=j>>>0)Cr(a,376,b);j=f+(e<<4)|0;c[g>>2]=h+16;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];if(c[h>>2]&8|0){j=(c[h+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}j=c[i>>2]|0;e=(c[g>>2]|0)-j>>4;e=e|0?j+(e+-1<<4)|0:0;e=(e|0)==0?368:e;switch(c[e>>2]|0){case 9:{if(!(c[e+8>>2]|0))ar(a,2416,-1,342926);else{ct(a,d);return}break}case 6:case 10:{Mr(a,-1);ct(a,d);return}default:ar(a,2416,-1,342926)}}function Mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+68|0;j=c[i>>2]|0;e=c[a+64>>2]|0;f=j-e>>4;g=((b|0)<0?f:0)+b|0;f=g>>>0<f>>>0;g=e+(g<<4)|0;e=f?g:0;e=(e|0)==0?368:e;h=j;if((c[e>>2]|0)!=9)ar(a,2130,b,342926);if(!(c[e+8>>2]|0))ar(a,2130,b,342926);if(h>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if(!f)Cr(a,376,b);c[i>>2]=h+16;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];if(!(c[h>>2]&8)){j=bt(a,d)|0;return j|0}j=(c[h+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;j=bt(a,d)|0;return j|0}function Nt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+68|0;d=c[e>>2]|0;if((d+-32|0)>>>0<(c[a+64>>2]|0)>>>0)br(a,342583,50337495,342599);b=d+-16|0;c[e>>2]=b;f=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((f&8|0)!=0?(g=d+4|0,f=(c[g>>2]|0)+-1|0,c[g>>2]=f,(f|0)==0):0){qr(c[a+44>>2]|0,d);b=c[e>>2]|0}f=b+-16|0;c[e>>2]=f;g=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[f>>2]=2;if(!(g&8))return;f=b+4|0;g=(c[f>>2]|0)+-1|0;c[f>>2]=g;if(g|0)return;qr(c[a+44>>2]|0,b);return}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0;o=a+68|0;p=a+64|0;i=c[p>>2]|0;q=(c[o>>2]|0)-i>>4;n=(b|0)<0;g=(n?q:0)+b|0;if(g>>>0>=q>>>0)Cr(a,376,b);k=+Ar(a,i+(g<<4)|0);h[j>>3]=k;g=c[j>>2]|0;i=c[j+4>>2]|0;if(0==0&(i&2146435072|0)==2146435072)m=(g|0)!=0|(i&1048575|0)!=0?0.0:k;else{m=+A(+(+B(+k)));m=(i|0)>-1|(i|0)==-1&g>>>0>4294967295?m:-m}k=+(d|0);l=+(e|0);if(!(m<k))if(m>l){k=l;d=e;i=1}else{k=m;d=~~m;i=0}else i=1;q=c[p>>2]|0;p=(c[o>>2]|0)-q>>4;o=(n?p:0)+b|0;o=o>>>0<p>>>0?q+(o<<4)|0:0;q=c[o>>2]|0;p=o+8|0;g=c[p>>2]|0;c[o>>2]=0;h[p>>3]=k;if(q&8|0?(p=g+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[a+44>>2]|0,g);if(f|0){c[f>>2]=i;return d|0}if(!i)return d|0;else br(a,342583,50334830,345287);return 0}function Pt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=l;l=l+80|0;I=L+8|0;v=L;J=L+16|0;K=c[b>>2]|0;t=K+64|0;u=K+68|0;Kr(K,(c[t>>2]|0)+(d<<4)|0,(c[u>>2]|0)+-16|0)|0;e=c[u>>2]|0;m=c[t>>2]|0;i=e-m|0;f=i>>4;k=f+-1|0;m=f|0?m+(k<<4)|0:0;do if(!(447>>>(c[((m|0)==0?368:m)>>2]|0)&1)){if(!f)Cr(K,300,-1);f=c[(c[K+304>>2]|0)+316>>2]|0;m=K+56|0;if(e>>>0>=(c[m>>2]|0)>>>0)mr(K,4153);c[u>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=((i|0)<16?g:0)+k|0;if(e>>>0>=g>>>0)Cr(K,376,k);Kr(K,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(K,376,-2);i=f+(e<<4)|0;g=f+(g+-1<<4)|0;k=c[i>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(i|0,i+16|0,g-i|0)|0;c[g>>2]=2;g=(c[u>>2]|0)+-16|0;c[u>>2]=g;f=g;if((k&8|0)!=0?(i=e+4|0,k=(c[i>>2]|0)+-1|0,c[i>>2]=k,(k|0)==0):0){qr(c[K+44>>2]|0,e);g=c[u>>2]|0;f=g}k=c[t>>2]|0;i=k;e=f-i>>4;e=e|0?k+(e+-1<<4)|0:0;e=(e|0)==0?368:e;switch(c[e>>2]|0){case 9:{if(!(c[c[e+8>>2]>>2]&512))o=34;break}case 6:break;default:o=34}if((o|0)==34){if((g|0)==(k|0))br(K,342583,50337407,342599);m=g+-16|0;c[u>>2]=m;o=c[g+-16>>2]|0;e=c[g+-8>>2]|0;c[m>>2]=2;if(!(o&8))break;m=e+4|0;o=(c[m>>2]|0)+-1|0;c[m>>2]=o;if(o|0)break;qr(c[K+44>>2]|0,e);break}if(g>>>0>=(c[m>>2]|0)>>>0)mr(K,1093);e=g-i>>4;if(e>>>0<=1)Cr(K,376,-2);o=k+(e+-2<<4)|0;c[u>>2]=g+16;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];if(c[g>>2]&8|0){o=(c[g+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}g=c[u>>2]|0;if(g>>>0>=(c[m>>2]|0)>>>0)mr(K,1093);e=c[t>>2]|0;f=g-e>>4;if(f>>>0<=3)Cr(K,376,-4);o=e+(f+-4<<4)|0;c[u>>2]=g+16;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];if(c[g>>2]&8|0){o=(c[g+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}e=(c[u>>2]|0)-(c[t>>2]|0)|0;if((e|0)<48)nr(K,342568,55);Lr(K,(e>>>4)+-3|0,0)|0;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(K,376,-2);k=f+(e<<4)|0;m=f+(g+-1<<4)|0;o=c[k>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(k|0,k+16|0,m-k|0)|0;c[m>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(o&8|0?(m=e+4|0,o=(c[m>>2]|0)+-1|0,c[m>>2]=o,(o|0)==0):0)qr(c[K+44>>2]|0,e)}while(0);e=c[b+20>>2]|0;if(e|0){f=c[u>>2]|0;i=K+56|0;if(f>>>0>=(c[i>>2]|0)>>>0)mr(K,4153);c[u>>2]=f+16;c[f>>2]=9;c[f+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[u>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0)mr(K,1093);g=c[t>>2]|0;o=f-g>>4;e=((d|0)<0?o:0)+d|0;if(e>>>0>=o>>>0)Cr(K,376,d);o=g+(e<<4)|0;c[u>>2]=f+16;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];if(c[f>>2]&8|0){o=(c[f+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}e=c[u>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(K,1093);f=c[t>>2]|0;g=e-f>>4;if(g>>>0<=3)Cr(K,376,-4);o=f+(g+-4<<4)|0;c[u>>2]=e+16;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];if(c[e>>2]&8|0){o=(c[e+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}g=c[u>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0)mr(K,1093);e=c[t>>2]|0;f=g-e>>4;if(f>>>0<=3)Cr(K,376,-4);o=e+(f+-4<<4)|0;c[u>>2]=g+16;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];if(c[g>>2]&8|0){o=(c[g+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}e=(c[u>>2]|0)-(c[t>>2]|0)|0;if((e|0)<64)nr(K,342568,55);Lr(K,(e>>>4)+-4|0,0)|0;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(K,376,-2);m=f+(e<<4)|0;d=f+(g+-1<<4)|0;o=c[m>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(m|0,m+16|0,d-m|0)|0;c[d>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(o&8|0?(d=e+4|0,o=(c[d>>2]|0)+-1|0,c[d>>2]=o,(o|0)==0):0)qr(c[K+44>>2]|0,e)}m=c[u>>2]|0;g=m;a:do if((c[m+-16>>2]|0)==9){f=c[m+-8>>2]|0;e=c[f>>2]|0;if(e&8192|0?c[b+36>>2]&12|0:0){e=c[f+40>>2]|0;if(e|0?(n=c[f+48>>2]|0,r=c[f+52>>2]|0,(r+n|0)>>>0<=(c[e+16>>2]|0)>>>0):0){if(!(c[e>>2]&128))e=e+24|0;else e=c[e+20>>2]|0;d=e+n|0;g=r<<1;m=b+12|0;n=b+4|0;e=c[n>>2]|0;f=e;do if(((c[m>>2]|0)-f|0)>>>0<(g+11|0)>>>0){i=c[b>>2]|0;k=b+8|0;f=f-(c[k>>2]|0)|0;e=g+75+f+(f>>>2)|0;if(e>>>0<f>>>0)br(i,344105,50331712,342539);else{J=b+16|0;cr(i,c[J>>2]|0,e);J=c[(c[J>>2]|0)+20>>2]|0;s=J+f|0;c[n>>2]=s;c[k>>2]=J;c[m>>2]=J+e;break}}else s=e;while(0);if(!(c[b+48>>2]|0)){f=s;e=344803;g=f+9|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(g|0));e=Qt(d,r,s+9|0)|0;a[e>>0]=34;a[e+1>>0]=125;e=e+2|0}else{a[s>>0]=124;e=Qt(d,r,s+1|0)|0;a[e>>0]=124;e=e+1|0}c[n>>2]=e;o=242;break}i=c[b>>2]|0;k=c[(c[i+304>>2]|0)+600>>2]|0;m=c[k+20>>2]|0;d=b+4|0;n=b+12|0;f=c[d>>2]|0;e=f;do if(((c[n>>2]|0)-f|0)>>>0<m>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{b=b+16|0;cr(i,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;q=b+e|0;c[d>>2]=q;c[g>>2]=b;c[n>>2]=b+f;break}}else q=e;while(0);s6(q|0,k+28|0,m|0)|0;c[d>>2]=(c[d>>2]|0)+m;o=242;break}switch(e>>>27&31){case 10:{f=c[t>>2]|0;s=g-f>>4;e=s+-1|0;if(!s)Cr(K,300,-1);M=+Ar(K,f+(e<<4)|0);r=c[t>>2]|0;q=r+(e<<4)|0;s=c[q>>2]|0;r=r+(e<<4)+8|0;e=c[r>>2]|0;c[q>>2]=0;h[r>>3]=M;if(!(s&8)){o=118;break a}r=e+4|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;if(s|0){o=118;break a}qr(c[K+44>>2]|0,e);o=118;break a}case 12:{Xr(K,-1)|0;o=118;break a}case 5:case 17:{i=g-(c[t>>2]|0)|0;s=i>>4;k=s+-1|0;if(!s)Cr(K,300,-1);e=c[(c[K+304>>2]|0)+404>>2]|0;if(m>>>0>=(c[K+56>>2]|0)>>>0)mr(K,4153);c[u>>2]=m+16;c[m>>2]=8;c[m+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=((i|0)<16?g:0)+k|0;if(e>>>0>=g>>>0)Cr(K,376,k);Kr(K,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[t>>2]|0;g=(c[u>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(K,376,-2);q=f+(e<<4)|0;r=f+(g+-1<<4)|0;s=c[q>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(q|0,q+16|0,r-q|0)|0;c[r>>2]=2;f=(c[u>>2]|0)+-16|0;c[u>>2]=f;if((s&8|0)!=0?(r=e+4|0,s=(c[r>>2]|0)+-1|0,c[r>>2]=s,(s|0)==0):0){qr(c[K+44>>2]|0,e);f=c[u>>2]|0}g=c[t>>2]|0;f=f-g>>4;e=f+-2|0;if(f>>>0<=1)Cr(K,376,-2);q=g+(e<<4)|0;r=g+(f+-1<<4)|0;s=c[q>>2]|0;e=c[g+(e<<4)+8>>2]|0;t6(q|0,q+16|0,r-q|0)|0;c[r>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(!(s&8)){o=118;break a}r=e+4|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;if(s|0){o=118;break a}qr(c[K+44>>2]|0,e);o=118;break a}default:{if(!(e&512)){o=118;break a}if(!(c[b+36>>2]&12)){o=243;break a}i=c[b>>2]|0;k=c[(c[i+304>>2]|0)+(c[b+88>>2]<<2)>>2]|0;m=c[k+20>>2]|0;d=b+4|0;n=b+12|0;f=c[d>>2]|0;e=f;do if(((c[n>>2]|0)-f|0)>>>0<m>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{b=b+16|0;cr(i,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;p=b+e|0;c[d>>2]=p;c[g>>2]=b;c[n>>2]=b+f;break}}else p=e;while(0);s6(p|0,k+28|0,m|0)|0;c[d>>2]=(c[d>>2]|0)+m;o=242;break a}}}else o=118;while(0);b:do if((o|0)==118){f=c[b+68>>2]|0;e=c[u>>2]|0;t=c[t>>2]|0;u=e-t>>4;u=u|0?t+(u+-1<<4)|0:0;if(!(c[6160+(c[((u|0)==0?368:u)>>2]<<2)>>2]&f)){if(f&1024|0)br(K,342583,100667121,343529);switch(c[e+-16>>2]|0){case 2:{i=c[b>>2]|0;k=c[(c[i+304>>2]|0)+(c[b+72>>2]<<2)>>2]|0;m=c[k+20>>2]|0;d=b+4|0;n=b+12|0;f=c[d>>2]|0;e=f;do if(((c[n>>2]|0)-f|0)>>>0<m>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{b=b+16|0;cr(i,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;w=b+e|0;c[d>>2]=w;c[g>>2]=b;c[n>>2]=b+f;break}}else w=e;while(0);s6(w|0,k+28|0,m|0)|0;c[d>>2]=(c[d>>2]|0)+m;o=242;break b}case 3:{i=c[b>>2]|0;k=c[(c[i+304>>2]|0)+600>>2]|0;m=c[k+20>>2]|0;d=b+4|0;n=b+12|0;f=c[d>>2]|0;e=f;do if(((c[n>>2]|0)-f|0)>>>0<m>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{b=b+16|0;cr(i,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;x=b+e|0;c[d>>2]=x;c[g>>2]=b;c[n>>2]=b+f;break}}else x=e;while(0);s6(x|0,k+28|0,m|0)|0;c[d>>2]=(c[d>>2]|0)+m;o=242;break b}case 4:{n=c[b>>2]|0;i=c[(c[n+304>>2]|0)+((c[e+-8>>2]|0?151:152)<<2)>>2]|0;k=c[i+20>>2]|0;m=b+4|0;d=b+12|0;f=c[m>>2]|0;e=f;do if(((c[d>>2]|0)-f|0)>>>0<k>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=k+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(n,344105,50331712,342539);else{b=b+16|0;cr(n,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;y=b+e|0;c[m>>2]=y;c[g>>2]=b;c[d>>2]=b+f;break}}else y=e;while(0);s6(y|0,i+28|0,k|0)|0;c[m>>2]=(c[m>>2]|0)+k;o=242;break b}case 5:{e=c[e+-8>>2]|0;f=J;g=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));k=(e|0)!=0;k=(c[b+48>>2]|0)==0?(k?344818:344832):k?344813:410376;c[v>>2]=e;v4(J,63,k,v);k=r4(J)|0;m=b+4|0;d=b+12|0;f=c[m>>2]|0;e=f;do if(((c[d>>2]|0)-f|0)>>>0<k>>>0){g=c[b>>2]|0;i=b+8|0;e=f-(c[i>>2]|0)|0;f=k+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(g,344105,50331712,342539);else{b=b+16|0;cr(g,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;B=b+e|0;c[m>>2]=B;c[i>>2]=b;c[d>>2]=b+f;break}}else B=e;while(0);s6(B|0,J|0,k|0)|0;c[m>>2]=(c[m>>2]|0)+k;o=242;break b}case 8:{e=c[e+-8>>2]|0;if(c[e>>2]&512|0){o=243;break b}Rt(b,e);o=242;break b}case 9:{if((c[c[e+-8>>2]>>2]&-134217728|0)!=268435456){Ut(b);o=242;break b}t=c[b>>2]|0;St(b,J);r=(c[J>>2]|0)+-1|0;w=b+4|0;x=b+12|0;f=c[x>>2]|0;E=c[w>>2]|0;e=E;do if((f|0)==(E|0)){g=c[b>>2]|0;i=b+8|0;e=f-(c[i>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0)br(g,344105,50331712,342539);else{E=b+16|0;cr(g,c[E>>2]|0,f);E=c[(c[E>>2]|0)+20>>2]|0;z=E+e|0;c[w>>2]=z;c[i>>2]=E;c[x>>2]=E+f;break}}else z=e;while(0);c[w>>2]=z+1;a[z>>0]=91;n=Ur(t,r)|0;do if(n|0){s=b+24|0;o=t+68|0;p=t+56|0;u=b+8|0;v=b+16|0;q=b+60|0;d=0;while(1){if(c[s>>2]|0){i=c[q>>2]|0;f=c[x>>2]|0;E=c[w>>2]|0;e=E;if((f|0)==(E|0)){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0){o=154;break}cr(g,c[v>>2]|0,f);E=c[(c[v>>2]|0)+20>>2]|0;e=E+e|0;c[w>>2]=e;c[u>>2]=E;c[x>>2]=E+f}c[w>>2]=e+1;a[e>>0]=10;if(i|0){g=c[s>>2]|0;k=g+28|0;g=c[g+20>>2]|0;m=O(g,i)|0;e=c[w>>2]|0;f=e;if(((c[x>>2]|0)-f|0)>>>0<m>>>0){i=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0){o=159;break}cr(i,c[v>>2]|0,f);E=c[(c[v>>2]|0)+20>>2]|0;i=E+e|0;c[w>>2]=i;c[u>>2]=E;c[x>>2]=E+f}else i=e;s6(i|0,k|0,g|0)|0;f=i+g|0;e=m-g|0;if(e>>>0>=g>>>0)do{s6(f|0,i|0,g|0)|0;f=f+g|0;e=e-g|0;g=g<<1}while(e>>>0>=g>>>0);s6(f|0,i|0,e|0)|0;c[w>>2]=f+e}}e=c[o>>2]|0;if(e>>>0>=(c[p>>2]|0)>>>0){o=165;break}c[o>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(d>>>0);Xr(t,-1)|0;if(!(Pt(b,r)|0)){g=c[b>>2]|0;i=c[(c[g+304>>2]|0)+600>>2]|0;k=c[i+20>>2]|0;f=c[w>>2]|0;e=f;if(((c[x>>2]|0)-f|0)>>>0<k>>>0){e=f-(c[u>>2]|0)|0;f=k+64+e+(e>>>2)|0;if(f>>>0<e>>>0){o=170;break}cr(g,c[v>>2]|0,f);E=c[(c[v>>2]|0)+20>>2]|0;e=E+e|0;c[w>>2]=e;c[u>>2]=E;c[x>>2]=E+f}s6(e|0,i+28|0,k|0)|0;f=(c[w>>2]|0)+k|0;c[w>>2]=f}else f=c[w>>2]|0;e=f;if((c[x>>2]|0)==(f|0)){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0){o=175;break}cr(g,c[v>>2]|0,f);E=c[(c[v>>2]|0)+20>>2]|0;e=E+e|0;c[w>>2]=e;c[u>>2]=E;c[x>>2]=E+f}c[w>>2]=e+1;a[e>>0]=44;d=d+1|0;if(d>>>0>=n>>>0){o=178;break}}if((o|0)==154)br(g,344105,50331712,342539);else if((o|0)==159)br(i,344105,50331712,342539);else if((o|0)==165)mr(t,4274);else if((o|0)==170)br(g,344105,50331712,342539);else if((o|0)==175)br(g,344105,50331712,342539);else if((o|0)==178){f=b+4|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=e;if(!(c[s>>2]|0))break;i=(c[q>>2]|0)+-1|0;do if((c[x>>2]|0)==(f|0)){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0)br(g,344105,50331712,342539);else{cr(g,c[v>>2]|0,f);E=c[(c[v>>2]|0)+20>>2]|0;F=E+e|0;c[w>>2]=F;c[u>>2]=E;c[x>>2]=E+f;break}}else F=e;while(0);c[w>>2]=F+1;a[F>>0]=10;if(!i)break;g=c[s>>2]|0;k=g+28|0;g=c[g+20>>2]|0;m=O(g,i)|0;e=c[w>>2]|0;f=e;do if(((c[x>>2]|0)-f|0)>>>0<m>>>0){i=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{cr(i,c[v>>2]|0,f);F=c[(c[v>>2]|0)+20>>2]|0;G=F+e|0;c[w>>2]=G;c[u>>2]=F;c[x>>2]=F+f;break}}else G=e;while(0);s6(G|0,k|0,g|0)|0;f=G+g|0;e=m-g|0;if(e>>>0>=g>>>0)do{s6(f|0,G|0,g|0)|0;f=f+g|0;e=e-g|0;g=g<<1}while(e>>>0>=g>>>0);s6(f|0,G|0,e|0)|0;c[w>>2]=f+e;break}}while(0);f=c[x>>2]|0;G=c[w>>2]|0;e=G;do if((f|0)==(G|0)){g=c[b>>2]|0;i=b+8|0;e=f-(c[i>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0)br(g,344105,50331712,342539);else{G=b+16|0;cr(g,c[G>>2]|0,f);G=c[(c[G>>2]|0)+20>>2]|0;H=G+e|0;c[w>>2]=H;c[i>>2]=G;c[x>>2]=G+f;break}}else H=e;while(0);c[w>>2]=H+1;a[H>>0]=93;f=c[b>>2]|0;e=b+60|0;H=(c[e>>2]|0)+-1|0;c[e>>2]=H;e=c[J>>2]|0;if(H>>>0>=64){c[I>>2]=c[(c[((e|0)<1?f+68|0:f+64|0)>>2]|0)+(e+-1<<4)+8>>2];cs(f,354471,I);Tt(f,c[b+32>>2]|0)}Zs(f,e);o=242;break b}case 10:{if(!(c[b+56>>2]|0)){Mr(K,-1);Ut(b);o=242;break b}e=c[e+-8>>2]|0;if(!(c[e>>2]&128))o=e+24|0;else o=c[e+20>>2]|0;d=c[e+16>>2]|0;g=d<<1;m=b+12|0;n=b+4|0;e=c[n>>2]|0;f=e;do if(((c[m>>2]|0)-f|0)>>>0<(g+11|0)>>>0){i=c[b>>2]|0;k=b+8|0;f=f-(c[k>>2]|0)|0;e=g+75+f+(f>>>2)|0;if(e>>>0<f>>>0)br(i,344105,50331712,342539);else{J=b+16|0;cr(i,c[J>>2]|0,e);J=c[(c[J>>2]|0)+20>>2]|0;C=J+f|0;c[n>>2]=C;c[k>>2]=J;c[m>>2]=J+e;break}}else C=e;while(0);if(!(c[b+48>>2]|0)){f=C;e=344803;g=f+9|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(g|0));e=Qt(o,d,C+9|0)|0;a[e>>0]=34;a[e+1>>0]=125;e=e+2|0}else{a[C>>0]=124;e=Qt(o,d,C+1|0)|0;a[e>>0]=124;e=e+1|0}c[n>>2]=e;o=242;break b}case 6:{i=c[b>>2]|0;k=c[(c[i+304>>2]|0)+(c[b+88>>2]<<2)>>2]|0;m=c[k+20>>2]|0;d=b+4|0;n=b+12|0;f=c[d>>2]|0;e=f;do if(((c[n>>2]|0)-f|0)>>>0<m>>>0){g=b+8|0;e=f-(c[g>>2]|0)|0;f=m+64+e+(e>>>2)|0;if(f>>>0<e>>>0)br(i,344105,50331712,342539);else{b=b+16|0;cr(i,c[b>>2]|0,f);b=c[(c[b>>2]|0)+20>>2]|0;A=b+e|0;c[d>>2]=A;c[g>>2]=b;c[n>>2]=b+f;break}}else A=e;while(0);s6(A|0,k+28|0,m|0)|0;c[d>>2]=(c[d>>2]|0)+m;o=242;break b}default:{n=c[b>>2]|0;i=n+68|0;k=c[i>>2]|0;M=+h[k+-8>>3];e=K4(M)|0;h[j>>3]=M;f=m6(c[j>>2]|0,c[j+4>>2]|0,63)|0;g=(e|0)==0;if((e|1|0)==1){if(!(c[b+36>>2]&12))e=150;else{do if(!g)if(!f){e=b+84|0;break}else{e=b+80|0;break}else e=b+76|0;while(0);e=c[e>>2]|0}m=c[(c[n+304>>2]|0)+(e<<2)>>2]|0;f=c[m+20>>2]|0;e=b+4|0;d=b+12|0;i=c[e>>2]|0;g=i;do if(((c[d>>2]|0)-i|0)>>>0<f>>>0){k=b+8|0;g=i-(c[k>>2]|0)|0;i=f+64+g+(g>>>2)|0;if(i>>>0<g>>>0)br(n,344105,50331712,342539);else{b=b+16|0;cr(n,c[b>>2]|0,i);b=c[(c[b>>2]|0)+20>>2]|0;E=b+g|0;c[e>>2]=E;c[k>>2]=b;c[d>>2]=b+i;break}}else E=g;while(0);s6(E|0,m+28|0,f|0)|0}else{do if((e|0)==2&(f|0)!=0?(c[b+56>>2]|0)!=0:0){e=c[(c[n+304>>2]|0)+248>>2]|0;if(k>>>0<(c[n+56>>2]|0)>>>0){c[i>>2]=k+16;c[k>>2]=8;c[k+8>>2]=e;J=e+4|0;c[J>>2]=(c[J>>2]|0)+1;break}else mr(n,4153)}else o=223;while(0);if((o|0)==223)kt(n,10,0,0);d=c[(c[i>>2]|0)+-8>>2]|0;f=c[d+20>>2]|0;e=b+4|0;n=b+12|0;i=c[e>>2]|0;g=i;do if(((c[n>>2]|0)-i|0)>>>0<f>>>0){k=c[b>>2]|0;m=b+8|0;g=i-(c[m>>2]|0)|0;i=f+64+g+(g>>>2)|0;if(i>>>0<g>>>0)br(k,344105,50331712,342539);else{b=b+16|0;cr(k,c[b>>2]|0,i);b=c[(c[b>>2]|0)+20>>2]|0;D=b+g|0;c[e>>2]=D;c[m>>2]=b;c[n>>2]=b+i;break}}else D=g;while(0);s6(D|0,d+28|0,f|0)|0}c[e>>2]=(c[e>>2]|0)+f;o=242;break b}}}else o=243}while(0);if((o|0)==242){Nt(K);K=1;l=L;return K|0}else if((o|0)==243){Nt(K);K=0;l=L;return K|0}return 0}function Qt(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f&1|0)!=0;l=f+1|0;h=k?l:f;m=e&-4;if(!m)g=0;else{i=(m+-1|0)>>>2;j=h+((i<<3)+8)|0;g=0;while(1){b[h>>1]=b[36384+((d[c+g>>0]|0)<<1)>>1]|0;b[h+2>>1]=b[36384+((d[c+(g|1)>>0]|0)<<1)>>1]|0;b[h+4>>1]=b[36384+((d[c+(g|2)>>0]|0)<<1)>>1]|0;b[h+6>>1]=b[36384+((d[c+(g|3)>>0]|0)<<1)>>1]|0;g=g+4|0;if(g>>>0>=m>>>0)break;else h=h+8|0}g=(i<<2)+4|0;h=j}if(k){t6(f|0,l|0,m<<1|0)|0;h=h+-1|0}if(g>>>0>=e>>>0){e=h;return e|0}j=e-g|0;i=h;while(1){m=d[c+g>>0]|0;a[i>>0]=a[342756+(m>>>4)>>0]|0;a[i+1>>0]=a[342756+(m&15)>>0]|0;g=g+1|0;if((g|0)==(e|0))break;else i=i+2|0}e=h+(j<<1)|0;return e|0}function Rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=c[b>>2]|0;s=d+28|0;q=s+(c[d+20>>2]|0)|0;v=b+4|0;w=b+12|0;e=c[w>>2]|0;p=c[v>>2]|0;d=p;do if((e|0)==(p|0)){f=b+8|0;d=e-(c[f>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(r,344105,50331712,342539);else{p=b+16|0;cr(r,c[p>>2]|0,e);p=c[(c[p>>2]|0)+20>>2]|0;g=p+d|0;c[v>>2]=g;c[f>>2]=p;c[w>>2]=p+e;break}}else g=d;while(0);c[v>>2]=g+1;a[g>>0]=34;a:do if(s>>>0<q>>>0){l=q;m=b+8|0;n=b+16|0;o=b+48|0;p=b+40|0;f=c[v>>2]|0;e=s;d=f;while(1){h=l-e|0;h=h>>>0<64?h:64;g=h*6|0;if(((c[w>>2]|0)-d|0)>>>0<g>>>0){f=f-(c[m>>2]|0)|0;d=g+64+f+(f>>>2)|0;if(d>>>0<f>>>0)break;cr(r,c[n>>2]|0,d);j=c[(c[n>>2]|0)+20>>2]|0;k=j+f|0;c[v>>2]=k;c[m>>2]=j;c[w>>2]=j+d;d=k}k=e+h|0;b:do if((h|0)>0)do{f=e;while(1){e=f+1|0;g=a[f>>0]|0;j=g&255;h=a[345031+j>>0]|0;i=h&255;if(h<<24>>24>-1){a[d>>0]=h;d=d+1|0}else{if((h&255)<=159)break;a[d>>0]=92;a[d+1>>0]=i+128;d=d+2|0}if(e>>>0<k>>>0)f=e;else break b}do if(h<<24>>24==-128){h=(c[o>>2]|0)==0?285813:154744;a[d>>0]=92;f=d+2|0;a[d+1>>0]=h;h=h>>>16;if(!h)d=f;else{g=h;while(1){g=g+-1|0;a[f>>0]=a[342756+(j>>>(g<<2)&15)>>0]|0;if(!g)break;else f=f+1|0}d=d+(h+2)|0}}else{c:do if(f>>>0>=s>>>0&f>>>0<q>>>0){do if(g<<24>>24<=-1){if((g&255)<192){g=j;break c}if((g&255)<224){g=1;f=j&31;break}if((g&255)<240){g=2;f=j&15;break}if((g&255)<248){g=3;f=j&7;break}if((g&255)<252){g=4;f=j&3;break}if((g&255)>=254)if(g<<24>>24==-1){g=j;break c}else{g=6;f=0;break}else{g=5;f=j&1;break}}else{g=0;f=j&127}while(0);if((e+g|0)>>>0<=q>>>0)if(!g)g=f;else{h=e;while(1){e=h+1|0;f=a[h>>0]&63|f<<6;if((g|0)>1){h=e;g=g+-1|0}else{g=f;break}}}else g=j}else g=j;while(0);if((g|1|0)==8233|(c[p>>2]|0)!=0){if(g>>>0>=256)if(g>>>0<65536)f=285813;else f=(c[o>>2]|0)==0?546091:547925;else f=(c[o>>2]|0)==0?285813:154744;a[d>>0]=f>>>8;h=d+2|0;a[d+1>>0]=f;i=f>>>16;if(!i){d=h;break}else{f=h;h=i}while(1){h=h+-1|0;a[f>>0]=a[342756+(g>>>(h<<2)&15)>>0]|0;if(!h)break;else f=f+1|0}d=d+(i+2)|0;break}if(g>>>0<128){h=0;f=1}else{if(g>>>0>=2048)if(g>>>0>=65536)if(g>>>0>=2097152)if(g>>>0<67108864){f=5;t=54}else f=g>>>31|6;else{f=4;t=54}else{f=3;t=54}else{f=2;t=54}if((t|0)==54)t=0;h=a[343316+(f+-1)>>0]|0;i=f;do{i=i+-1|0;a[d+i>>0]=g&63|128;g=g>>>6}while((i|0)>1)}a[d>>0]=g+(h&255);d=d+f|0}while(0)}while(e>>>0<k>>>0);while(0);c[v>>2]=d;f=d;if(e>>>0>=q>>>0){u=f;break a}}br(r,344105,50331712,342539)}else u=c[v>>2]|0;while(0);if((c[w>>2]|0)!=(u|0)){b=u;w=b+1|0;c[v>>2]=w;a[b>>0]=34;return}f=c[b>>2]|0;g=b+8|0;d=u-(c[g>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);u=b+16|0;cr(f,c[u>>2]|0,e);u=c[(c[u>>2]|0)+20>>2]|0;b=u+d|0;c[v>>2]=b;c[g>>2]=u;c[w>>2]=u+e;w=b+1|0;c[v>>2]=w;a[b>>0]=34;return}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;i=o;n=c[a>>2]|0;m=n+68|0;h=c[m>>2]|0;j=n+64|0;c[b>>2]=h-(c[j>>2]|0)>>4;e=c[n+52>>2]|0;d=h-e+1024|0;e=e+d|0;k=n+56|0;b=h;do if((c[k>>2]|0)>>>0<e>>>0)if((c[n+60>>2]|0)>>>0<e>>>0){Er(n,d,1)|0;b=c[m>>2]|0;break}else{c[k>>2]=e;break}while(0);e=c[b+-8>>2]|0;h=a+60|0;f=c[h>>2]|0;g=f>>>0<64;b=g?f:64;a:do if(b|0){d=0;while(1){if((c[a+92+(d<<2)>>2]|0)==(e|0))break;d=d+1|0;if(d>>>0>=b>>>0)break a}br(n,344976,100665051,344990)}while(0);do if(!g){c[i>>2]=e;cs(n,354471,i);b=c[m>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0)mr(n,1111);if((b-(c[j>>2]|0)|0)<16)Cr(n,1114,-1);j=b+-16|0;c[m>>2]=b+16;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];if(c[b>>2]&8|0){j=(c[b+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}b=a+32|0;if(Wr(n,c[b>>2]|0)|0)br(n,344976,100665060,344990);d=c[m>>2]|0;if(d>>>0<(c[k>>2]|0)>>>0){c[m>>2]=d+16;c[d>>2]=4;c[d+8>>2]=1;Et(n,c[b>>2]|0);break}else mr(n,4195)}else c[a+92+(f<<2)>>2]=e;while(0);b=c[h>>2]|0;if(b>>>0<(c[a+64>>2]|0)>>>0){c[h>>2]=b+1;l=o;return}else br(n,344976,50333423,345003)}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+68|0;h=a+64|0;e=c[h>>2]|0;f=(c[g>>2]|0)-e>>4;d=((b|0)<0?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;Ls(a,e+(d<<4)|0,e+(f+-1<<4)|0,b)|0;b=c[g>>2]|0;if((b|0)==(c[h>>2]|0))br(a,342583,50337407,342599);f=b+-16|0;c[g>>2]=f;h=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[f>>2]=2;if(!(h&8))return;g=b+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return;qr(c[a+44>>2]|0,b);return}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0;Q=l;l=l+16|0;P=Q;N=Q+4|0;x=c[b>>2]|0;St(b,N);f=c[N>>2]|0;G=f+-1|0;d=c[b+28>>2]|0;if((d|0)<=-1){j=x+68|0;g=c[j>>2]|0;if(g>>>0>=(c[x+56>>2]|0)>>>0)mr(x,1093);k=x+64|0;e=c[k>>2]|0;J=g-e>>4;d=((f|0)<1?J:0)+G|0;if(d>>>0>=J>>>0)Cr(x,376,G);J=e+(d<<4)|0;c[j>>2]=g+16;c[g>>2]=c[J>>2];c[g+4>>2]=c[J+4>>2];c[g+8>>2]=c[J+8>>2];c[g+12>>2]=c[J+12>>2];if(c[g>>2]&8|0){J=(c[g+8>>2]|0)+4|0;c[J>>2]=(c[J>>2]|0)+1}ct(x,16);h=c[(c[j>>2]|0)+-8>>2]|0;d=(c[h+28>>2]|0)+-2|0;g=Or(x,48)|0;i=x+44|0;e=c[i>>2]|0;c[g>>2]=272679041;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[x+132>>2]|0;c[g+20>>2]=e;if(e|0){J=e+4|0;c[J>>2]=(c[J>>2]|0)+1}e=c[j>>2]|0;c[e>>2]=9;c[e+8>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[j>>2]|0;c[j>>2]=e+16;e=c[e+8>>2]|0;Br(x,e,0,d,0,0);c[e+40>>2]=d;f=c[e+24>>2]|0;if(d|0){g=(c[h+16>>2]|0)+(c[h+24>>2]<<4)+8|0;e=(c[e+16>>2]|0)+(f*21|0)+(0-f&7)|0;while(1){d=d+-1|0;J=c[g>>2]|0;c[e>>2]=8;c[e+8>>2]=J;J=J+4|0;c[J>>2]=(c[J>>2]|0)+1;if(!d)break;else{g=g+4|0;e=e+16|0}}}e=c[k>>2]|0;f=(c[j>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(x,376,-2);v=e+(d<<4)|0;I=e+(f+-1<<4)|0;J=c[v>>2]|0;e=c[e+(d<<4)+8>>2]|0;t6(v|0,v+16|0,I-v|0)|0;c[I>>2]=2;d=(c[j>>2]|0)+-16|0;c[j>>2]=d;if((J&8|0)!=0?(I=e+4|0,J=(c[I>>2]|0)+-1|0,c[I>>2]=J,(J|0)==0):0){qr(c[i>>2]|0,e);d=c[j>>2]|0}d=d-(c[k>>2]|0)>>4;if(!d)Cr(x,300,-1);else w=d+-1|0}else w=d;I=b+4|0;J=b+12|0;e=c[J>>2]|0;v=c[I>>2]|0;d=v;do if((e|0)==(v|0)){f=c[b>>2]|0;g=b+8|0;d=e-(c[g>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{v=b+16|0;cr(f,c[v>>2]|0,e);v=c[(c[v>>2]|0)+20>>2]|0;m=v+d|0;c[I>>2]=m;c[g>>2]=v;c[J>>2]=v+e;break}}else m=d;while(0);c[I>>2]=m+1;a[m>>0]=123;p=Ur(x,w)|0;do if(p|0){q=x+68|0;u=b+8|0;t=b+24|0;r=b+44|0;v=b+16|0;s=b+60|0;o=0;d=0;a:while(1){et(x,w,o)|0;m=c[(c[q>>2]|0)+-8>>2]|0;g=c[I>>2]|0;n=g-(c[u>>2]|0)|0;if(!(c[t>>2]|0)){b:do if((((c[r>>2]|0)!=0?(C=c[m+20>>2]|0,D=m+28|0,E=D+C|0,(D|0)!=(E|0)):0)?(F=a[D>>0]|0,F<<24>>24>-1):0)?(a[344848+(F<<24>>24)>>0]|0)>0:0){e=D;while(1){e=e+1|0;if(e>>>0>=E>>>0)break;f=a[e>>0]|0;if(f<<24>>24<=-1){H=71;break b}if(!(a[344848+(f<<24>>24)>>0]|0)){H=71;break b}}e=g;if(((c[J>>2]|0)-g|0)>>>0<C>>>0){e=c[b>>2]|0;f=C+64+n+(n>>>2)|0;if(f>>>0<n>>>0){H=68;break a}cr(e,c[v>>2]|0,f);m=c[(c[v>>2]|0)+20>>2]|0;e=m+n|0;c[I>>2]=e;c[u>>2]=m;c[J>>2]=m+f}s6(e|0,D|0,C|0)|0;f=(c[I>>2]|0)+C|0;c[I>>2]=f}else H=71;while(0);if((H|0)==71){H=0;Rt(b,m);f=c[I>>2]|0}e=f;if((c[J>>2]|0)==(f|0)){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=e+65+(e>>>2)|0;if(f>>>0<e>>>0){H=74;break}cr(g,c[v>>2]|0,f);m=c[(c[v>>2]|0)+20>>2]|0;e=m+e|0;c[I>>2]=e;c[u>>2]=m;c[J>>2]=m+f}c[I>>2]=e+1;a[e>>0]=58}else{h=c[s>>2]|0;e=g;if((c[J>>2]|0)==(g|0)){e=c[b>>2]|0;f=n+65+(n>>>2)|0;if(f>>>0<n>>>0){H=31;break}cr(e,c[v>>2]|0,f);k=c[(c[v>>2]|0)+20>>2]|0;e=k+n|0;c[I>>2]=e;c[u>>2]=k;c[J>>2]=k+f}c[I>>2]=e+1;a[e>>0]=10;if(h|0){j=c[t>>2]|0;i=j+28|0;j=c[j+20>>2]|0;h=O(j,h)|0;e=c[I>>2]|0;f=e;if(((c[J>>2]|0)-f|0)>>>0<h>>>0){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=h+64+e+(e>>>2)|0;if(f>>>0<e>>>0){H=36;break}cr(g,c[v>>2]|0,f);g=c[(c[v>>2]|0)+20>>2]|0;k=g+e|0;c[I>>2]=k;c[u>>2]=g;c[J>>2]=g+f}else k=e;s6(k|0,i|0,j|0)|0;f=k+j|0;e=h-j|0;if(e>>>0>=j>>>0){g=j;do{s6(f|0,k|0,g|0)|0;f=f+g|0;e=e-g|0;g=g<<1}while(e>>>0>=g>>>0)}s6(f|0,k|0,e|0)|0;c[I>>2]=f+e}c:do if((((c[r>>2]|0)!=0?(y=c[m+20>>2]|0,z=m+28|0,A=z+y|0,(z|0)!=(A|0)):0)?(B=a[z>>0]|0,B<<24>>24>-1):0)?(a[344848+(B<<24>>24)>>0]|0)>0:0){e=z;while(1){e=e+1|0;if(e>>>0>=A>>>0)break;f=a[e>>0]|0;if(f<<24>>24<=-1){H=53;break c}if(!(a[344848+(f<<24>>24)>>0]|0)){H=53;break c}}f=c[I>>2]|0;e=f;if(((c[J>>2]|0)-f|0)>>>0<y>>>0){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=y+64+e+(e>>>2)|0;if(f>>>0<e>>>0){H=50;break a}cr(g,c[v>>2]|0,f);m=c[(c[v>>2]|0)+20>>2]|0;e=m+e|0;c[I>>2]=e;c[u>>2]=m;c[J>>2]=m+f}s6(e|0,z|0,y|0)|0;f=(c[I>>2]|0)+y|0;c[I>>2]=f}else H=53;while(0);if((H|0)==53){H=0;Rt(b,m);f=c[I>>2]|0}e=f;if(((c[J>>2]|0)-f|0)>>>0<2){g=c[b>>2]|0;e=f-(c[u>>2]|0)|0;f=e+66+(e>>>2)|0;if(f>>>0<e>>>0){H=56;break}cr(g,c[v>>2]|0,f);m=c[(c[v>>2]|0)+20>>2]|0;e=m+e|0;c[I>>2]=e;c[u>>2]=m;c[J>>2]=m+f}a[e>>0]=58;a[e+1>>0]=32;c[I>>2]=e+2}if(!(Pt(b,G)|0))c[I>>2]=(c[u>>2]|0)+n;else{e=c[J>>2]|0;n=c[I>>2]|0;d=n;if((e|0)==(n|0)){f=c[b>>2]|0;d=e-(c[u>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0){H=81;break}cr(f,c[v>>2]|0,e);n=c[(c[v>>2]|0)+20>>2]|0;d=n+d|0;c[I>>2]=d;c[u>>2]=n;c[J>>2]=n+e}c[I>>2]=d+1;a[d>>0]=44;d=1}o=o+1|0;if(o>>>0>=p>>>0){H=85;break}}if((H|0)==31)br(e,344105,50331712,342539);else if((H|0)==36)br(g,344105,50331712,342539);else if((H|0)==50)br(g,344105,50331712,342539);else if((H|0)==56)br(g,344105,50331712,342539);else if((H|0)==68)br(e,344105,50331712,342539);else if((H|0)==74)br(g,344105,50331712,342539);else if((H|0)==81)br(f,344105,50331712,342539);else if((H|0)==85){if(!d)break;e=b+4|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;e=d;if(!(c[t>>2]|0))break;g=(c[s>>2]|0)+-1|0;do if((c[J>>2]|0)==(e|0)){f=c[b>>2]|0;d=e-(c[u>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[v>>2]|0,e);H=c[(c[v>>2]|0)+20>>2]|0;K=H+d|0;c[I>>2]=K;c[u>>2]=H;c[J>>2]=H+e;break}}else K=d;while(0);c[I>>2]=K+1;a[K>>0]=10;if(!g)break;f=c[t>>2]|0;h=f+28|0;f=c[f+20>>2]|0;i=O(f,g)|0;d=c[I>>2]|0;e=d;do if(((c[J>>2]|0)-e|0)>>>0<i>>>0){g=c[b>>2]|0;d=e-(c[u>>2]|0)|0;e=i+64+d+(d>>>2)|0;if(e>>>0<d>>>0)br(g,344105,50331712,342539);else{cr(g,c[v>>2]|0,e);K=c[(c[v>>2]|0)+20>>2]|0;L=K+d|0;c[I>>2]=L;c[u>>2]=K;c[J>>2]=K+e;break}}else L=d;while(0);s6(L|0,h|0,f|0)|0;e=L+f|0;d=i-f|0;if(d>>>0>=f>>>0)do{s6(e|0,L|0,f|0)|0;e=e+f|0;d=d-f|0;f=f<<1}while(d>>>0>=f>>>0);s6(e|0,L|0,d|0)|0;c[I>>2]=e+d;break}}while(0);e=c[J>>2]|0;L=c[I>>2]|0;d=L;do if((e|0)==(L|0)){f=c[b>>2]|0;g=b+8|0;d=e-(c[g>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{L=b+16|0;cr(f,c[L>>2]|0,e);L=c[(c[L>>2]|0)+20>>2]|0;M=L+d|0;c[I>>2]=M;c[g>>2]=L;c[J>>2]=L+e;break}}else M=d;while(0);c[I>>2]=M+1;a[M>>0]=125;e=c[b>>2]|0;d=b+60|0;M=(c[d>>2]|0)+-1|0;c[d>>2]=M;d=c[N>>2]|0;if(M>>>0<64){Zs(e,d);l=Q;return}c[P>>2]=c[(c[((d|0)<1?e+68|0:e+64|0)>>2]|0)+(d+-1<<4)+8>>2];cs(e,354471,P);Tt(e,c[b+32>>2]|0);Zs(e,d);l=Q;return}function Vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;o=q;i=o+4|0;f=i;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=a;c[o+40>>2]=1e3;c[o+20>>2]=e;c[o+24>>2]=e&4;c[o+28>>2]=e&8;c[o+32>>2]=e&12;Xr(a,b)|0;p=a+68|0;n=a+64|0;m=c[n>>2]|0;k=(c[p>>2]|0)-m>>4;e=((b|0)<0?k:0)+b|0;e=e>>>0<k>>>0?m+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8)e=c[e+8>>2]|0;else e=0;k=e+28|0;c[o+8>>2]=k;c[i>>2]=k;m=o+12|0;c[m>>2]=k+(c[e+20>>2]|0);Wt(o);if((c[i>>2]|0)!=(c[m>>2]|0))Xt(o);f=c[p>>2]|0;m=c[n>>2]|0;k=f-m>>4;e=((d|0)<0?k:0)+d|0;e=e>>>0<k>>>0?m+(e<<4)|0:0;e=(e|0)==0?368:e;switch(c[e>>2]|0){case 9:{j=6;break}case 6:break;default:{l=q;return}}if((j|0)==6?(c[c[e+8>>2]>>2]&512|0)==0:0){l=q;return}c[o+16>>2]=d;k=a+56|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4604);g=Or(a,40)|0;m=a+44|0;e=c[m>>2]|0;c[g>>2]=134234241;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;b=c[p>>2]|0;c[b>>2]=9;c[b+8>>2]=g;b=g+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[p>>2]|0;i=b+16|0;c[p>>2]=i;e=c[a+112>>2]|0;c[g+20>>2]=e;if(e|0){j=e+4|0;c[j>>2]=(c[j>>2]|0)+1}if(i>>>0>=(c[k>>2]|0)>>>0)mr(a,1093);e=c[n>>2]|0;f=i-e>>4;if(f>>>0<=1)Cr(a,376,-2);j=e+(f+-2<<4)|0;c[p>>2]=b+32;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(c[i>>2]&8|0){j=(c[b+24>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}e=c[p>>2]|0;g=e-(c[n>>2]|0)|0;j=g>>4;b=j+-2|0;if(j>>>0<=1)Cr(a,300,-2);j=a+304|0;f=c[(c[j>>2]|0)+60>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[p>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;i=f+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[n>>2]|0;d=(c[p>>2]|0)-i>>4;g=((g|0)<32?d:0)+b|0;if(g>>>0>=d>>>0)Cr(a,376,b);if((d|0)==1)Cr(a,376,-2);f=d+-2|0;e=c[a+72>>2]|0;if(!e)e=1;else e=c[e+52>>2]&1;es(a,i+(g<<4)|0,i+(d+-1<<4)|0,c[i+(f<<4)>>2]|0,c[i+(f<<4)+4>>2]|0,+h[i+(f<<4)+8>>3],e)|0;Nt(a);e=c[(c[j>>2]|0)+60>>2]|0;f=c[p>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4153);c[p>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;Yt(o);f=c[n>>2]|0;g=(c[p>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(a,376,-2);n=f+(e<<4)|0;o=f+(g+-1<<4)|0;a=c[n>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(n|0,n+16|0,o-n|0)|0;c[o>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(!(a&8)){l=q;return}p=e+4|0;a=(c[p>>2]|0)+-1|0;c[p>>2]=a;if(a|0){l=q;return}qr(c[m>>2]|0,e);l=q;return}function Wt(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;k=x;m=x+4|0;v=c[b>>2]|0;w=b+4|0;j=c[w>>2]|0;while(1){f=j+1|0;if(!(a[345337+(d[j>>0]|0)>>0]|0))break;else j=f}c[w>>2]=f;n=a[j>>0]|0;a:do if(n<<24>>24==34)Zt(b);else{e=n<<24>>24==45;if(e|(n+-48&255)<10){if(e&(c[b+24>>2]|0)!=0?(a[f>>0]|0)==73:0){e=(c[(c[v+304>>2]|0)+244>>2]|0)+28|0;i=f;while(1){e=e+1|0;g=a[e>>0]|0;if(!(g<<24>>24))break;q=i;i=i+1|0;c[w>>2]=i;if(g<<24>>24!=(a[q>>0]|0)){u=11;break}}if((u|0)==11)Xt(b);e=v+68|0;g=c[e>>2]|0;if(g>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=g+16;c[g>>2]=0;h[g+8>>3]=-t;break}else mr(v,4215)}c[w>>2]=j;e=j;while(1)if(!(a[345593+(d[e>>0]|0)>>0]|0))break;else e=e+1|0;c[w>>2]=e;g=v+68|0;if((c[g>>2]|0)>>>0>=(c[v+56>>2]|0)>>>0)mr(v,4300);e=e-j|0;if((e|0)<0)br(v,342583,50335961,342945);q=fs(v,j,e)|0;e=c[g>>2]|0;c[g>>2]=e+16;c[e>>2]=8;c[e+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;Hr(v,10,82);q=c[v+64>>2]|0;e=(c[g>>2]|0)-q>>4;e=e|0?q+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if(c[e>>2]|0)break;q=e+8|0;p=c[q+4>>2]&2147483647;if(!(p>>>0>2146435072|(p|0)==2146435072&(c[q>>2]|0)>>>0>0))break;Xt(b)}switch(n<<24>>24){case 116:{g=(c[(c[v+304>>2]|0)+604>>2]|0)+28|0;while(1){g=g+1|0;e=a[g>>0]|0;if(!(e<<24>>24))break;r=f;f=f+1|0;c[w>>2]=f;if(e<<24>>24!=(a[r>>0]|0)){u=28;break}}if((u|0)==28)Xt(b);e=v+68|0;f=c[e>>2]|0;if(f>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=f+16;c[f>>2]=4;c[f+8>>2]=1;break a}else mr(v,4195);break}case 102:{g=(c[(c[v+304>>2]|0)+608>>2]|0)+28|0;while(1){g=g+1|0;e=a[g>>0]|0;if(!(e<<24>>24))break;r=f;f=f+1|0;c[w>>2]=f;if(e<<24>>24!=(a[r>>0]|0)){u=35;break}}if((u|0)==35)Xt(b);e=v+68|0;f=c[e>>2]|0;if(f>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=f+16;c[f>>2]=4;c[f+8>>2]=0;break a}else mr(v,4204);break}case 110:{g=(c[(c[v+304>>2]|0)+600>>2]|0)+28|0;while(1){g=g+1|0;e=a[g>>0]|0;if(!(e<<24>>24))break;r=f;f=f+1|0;c[w>>2]=f;if(e<<24>>24!=(a[r>>0]|0)){u=42;break}}if((u|0)==42)Xt(b);e=v+68|0;f=c[e>>2]|0;if(f>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=f+16;c[f>>2]=3;break a}else mr(v,4175);break}default:{q=b+24|0;j=(c[q>>2]|0)!=0;if(n<<24>>24==117&j){e=(c[(c[v+304>>2]|0)+232>>2]|0)+28|0;i=f;while(1){e=e+1|0;g=a[e>>0]|0;if(!(g<<24>>24))break;p=i;i=i+1|0;c[w>>2]=i;if(g<<24>>24!=(a[p>>0]|0)){u=50;break}}if((u|0)==50)Xt(b);e=v+68|0;g=c[e>>2]|0;if(g>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=g+16;break a}else mr(v,4162)}if(n<<24>>24==78&j){e=(c[(c[v+304>>2]|0)+236>>2]|0)+28|0;i=f;while(1){e=e+1|0;g=a[e>>0]|0;if(!(g<<24>>24))break;p=i;i=i+1|0;c[w>>2]=i;if(g<<24>>24!=(a[p>>0]|0)){u=58;break}}if((u|0)==58)Xt(b);e=v+68|0;g=c[e>>2]|0;if(g>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=g+16;c[g>>2]=0;h[g+8>>3]=s;break a}else mr(v,4286)}if(n<<24>>24==73&j){e=(c[(c[v+304>>2]|0)+240>>2]|0)+28|0;i=f;while(1){e=e+1|0;g=a[e>>0]|0;if(!(g<<24>>24))break;p=i;i=i+1|0;c[w>>2]=i;if(g<<24>>24!=(a[p>>0]|0)){u=66;break}}if((u|0)==66)Xt(b);e=v+68|0;g=c[e>>2]|0;if(g>>>0<(c[v+56>>2]|0)>>>0){c[e>>2]=g+16;c[g>>2]=0;h[g+8>>3]=t;break a}else mr(v,4215)}if(n<<24>>24==40&j){i=f;b:while(1){switch(a[i>>0]|0){case 41:break b;case 0:{u=76;break b}default:{}}i=i+1|0}if((u|0)==76)Xt(b);c[m>>2]=0;c[k>>2]=m;a5(f,354471,k)|0;e=v+68|0;g=c[e>>2]|0;if(g>>>0<(c[v+56>>2]|0)>>>0){v=c[m>>2]|0;c[e>>2]=g+16;c[g>>2]=5;c[g+8>>2]=v;c[w>>2]=i+1;break a}else mr(v,4341)}if(n<<24>>24==124&j){i=f;c:while(1){switch(a[i>>0]|0){case 124:break c;case 0:{u=87;break c}default:{}}i=i+1|0}if((u|0)==87)Xt(b);e=i-f|0;f=v+68|0;if((c[f>>2]|0)>>>0>=(c[v+56>>2]|0)>>>0)mr(v,5237);if(e>>>0>2147483646)br(v,342583,50336889,342539);g=ts(c[v+44>>2]|0,e,4,m)|0;if(!g)er(v,342583,5246);else{b=c[f>>2]|0;c[b>>2]=10;c[b+8>>2]=g;b=g+4|0;c[b>>2]=(c[b>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16;s6(c[m>>2]|0,c[w>>2]|0,e|0)|0;Jt(v,-1);c[w>>2]=i+1;break a}}switch(n<<24>>24){case 123:{p=v+68|0;f=c[v+52>>2]|0;e=(c[p>>2]|0)-f+1024|0;f=f+e|0;g=v+56|0;do if((c[g>>2]|0)>>>0<f>>>0)if((c[v+60>>2]|0)>>>0<f>>>0){Er(v,e,1)|0;break}else{c[g>>2]=f;break}while(0);o=b+36|0;e=c[o>>2]|0;if((e|0)>=(c[b+40>>2]|0))br(v,344976,50332370,345849);c[o>>2]=e+1;if((c[p>>2]|0)>>>0>=(c[g>>2]|0)>>>0)mr(v,4604);g=Or(v,40)|0;n=v+44|0;e=c[n>>2]|0;c[g>>2]=134234241;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[p>>2]|0;c[e>>2]=9;c[e+8>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16;e=c[v+112>>2]|0;c[g+20>>2]=e;if(e|0){m=e+4|0;c[m>>2]=(c[m>>2]|0)+1}m=v+64|0;k=0;while(1){g=c[w>>2]|0;while(1){f=g+1|0;if(!(a[345337+(d[g>>0]|0)>>0]|0))break;else g=f}c[w>>2]=f;e=a[g>>0]|0;if(!((k|0)>0&e<<24>>24==44)){if(e<<24>>24==125){u=143;break}if(!k)f=g;else{u=142;break}}else{while(1){e=f+1|0;if(!(a[345337+(d[f>>0]|0)>>0]|0))break;else f=e}c[w>>2]=e;e=a[f>>0]|0}g=e&255;if(e<<24>>24==34){Zt(b);e=c[w>>2]|0}else{if(!(c[q>>2]|0)){u=142;break}if(e<<24>>24>-1){if((a[344848+g>>0]|0)<=0){u=142;break}}else if(!(_t(338549,1036,g)|0)){u=142;break}j=c[b>>2]|0;c[w>>2]=f;e=f;d:while(1){i=a[e>>0]|0;g=i&255;do if(i<<24>>24>-1){if(!(a[344848+g>>0]|0))break d}else{if(_t(338549,1036,g)|0)break;if(!(_t(339627,530,g)|0))break d}while(0);e=e+1|0}g=j+68|0;if((c[g>>2]|0)>>>0>=(c[j+56>>2]|0)>>>0){u=123;break}i=e-f|0;if((i|0)<0){u=125;break}j=fs(j,f,i)|0;i=c[g>>2]|0;c[g>>2]=i+16;c[i>>2]=8;c[i+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;c[w>>2]=e}while(1){f=e+1|0;if(!(a[345337+(d[e>>0]|0)>>0]|0))break;else e=f}c[w>>2]=f;if((a[e>>0]|0)!=58){u=142;break}Wt(b);j=c[m>>2]|0;e=(c[p>>2]|0)-j>>4;e=e>>>0>2?j+(e+-3<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9){u=131;break}f=c[e+8>>2]|0;if(!f){u=131;break}Ir(v,-2,1);j=c[m>>2]|0;e=(c[p>>2]|0)-j>>4;e=e>>>0>1?j+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8?(r=c[e+8>>2]|0,(r|0)!=0):0)e=r;else u=134;do if((u|0)==134){u=0;Xr(v,-2)|0;j=c[m>>2]|0;e=(c[p>>2]|0)-j>>4;e=e>>>0>1?j+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8){e=0;break}e=c[e+8>>2]|0}while(0);yr(v,f,e,7);e=c[p>>2]|0;if((e|0)==(c[m>>2]|0)){u=137;break}i=e+-16|0;c[p>>2]=i;j=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[i>>2]=2;do if(j&8|0){i=e+4|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(j|0)break;qr(c[n>>2]|0,e)}while(0);k=k+1|0}if((u|0)==123)mr(j,4300);else if((u|0)==125)br(j,342583,50335961,342945);else if((u|0)==131)ar(v,2130,-3,342926);else if((u|0)==137)br(v,342583,50337407,342599);else if((u|0)==142)Xt(b);else if((u|0)==143){c[o>>2]=(c[o>>2]|0)+-1;break a}break}case 91:{k=v+68|0;f=c[v+52>>2]|0;e=(c[k>>2]|0)-f+1024|0;f=f+e|0;g=v+56|0;do if((c[g>>2]|0)>>>0<f>>>0)if((c[v+60>>2]|0)>>>0<f>>>0){Er(v,e,1)|0;break}else{c[g>>2]=f;break}while(0);j=b+36|0;e=c[j>>2]|0;if((e|0)>=(c[b+40>>2]|0))br(v,344976,50332370,345849);c[j>>2]=e+1;g=Or(v,48)|0;e=c[v+44>>2]|0;c[g>>2]=272679041;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[v+132>>2]|0;c[g+20>>2]=e;if(e|0){u=e+4|0;c[u>>2]=(c[u>>2]|0)+1}i=c[k>>2]|0;c[i>>2]=9;c[i+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;g=v+64|0;c[k>>2]=(c[k>>2]|0)+16;i=0;while(1){f=c[w>>2]|0;while(1){e=f+1|0;if(!(a[345337+(d[f>>0]|0)>>0]|0))break;else f=e}c[w>>2]=e;e=a[f>>0]|0;if(!((i|0)!=0&e<<24>>24==44)){if(e<<24>>24==93){u=166;break}if(i|0){u=165;break}c[w>>2]=f}Wt(b);u=c[g>>2]|0;e=(c[k>>2]|0)-u>>4;e=e>>>0>1?u+(e+-2<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9){u=163;break}e=c[e+8>>2]|0;if(!e){u=163;break}Vr(v,e,i);i=i+1|0}if((u|0)==163)ar(v,2130,-2,342926);else if((u|0)==165)Xt(b);else if((u|0)==166){$t(v,-1,i);c[j>>2]=(c[j>>2]|0)+-1;break a}break}default:Xt(b)}}}}while(0);e=c[w>>2]|0;while(1)if(!(a[345337+(d[e>>0]|0)>>0]|0))break;else e=e+1|0;c[w>>2]=e;l=x;return}function Xt(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[a>>2]|0;c[b>>2]=(c[a+4>>2]|0)-(c[a+8>>2]|0);sr(d,344976,83886296,345308,b)}function Yt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+16|0;n=r;q=c[a>>2]|0;o=q+68|0;b=c[o>>2]|0;m=q+56|0;if(b>>>0>=(c[m>>2]|0)>>>0)mr(q,1111);p=q+64|0;if((b-(c[p>>2]|0)|0)<16)Cr(q,1114,-1);j=b+-16|0;c[o>>2]=b+16;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];if(c[b>>2]&8|0){j=(c[b+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}b=c[p>>2]|0;d=(c[o>>2]|0)-b>>4;if(d>>>0<=2)Cr(q,376,-3);Kr(q,b+(d+-3<<4)|0,b+(d+-1<<4)|0)|0;d=c[p>>2]|0;e=(c[o>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(q,376,-2);s=d+(b<<4)|0;g=d+(e+-1<<4)|0;j=c[s>>2]|0;d=c[d+(b<<4)+8>>2]|0;t6(s|0,s+16|0,g-s|0)|0;c[g>>2]=2;b=(c[o>>2]|0)+-16|0;c[o>>2]=b;if((j&8|0)!=0?(j=d+4|0,s=(c[j>>2]|0)+-1|0,c[j>>2]=s,(s|0)==0):0){qr(c[q+44>>2]|0,d);b=c[o>>2]|0}s=c[p>>2]|0;b=b-s>>4;b=b|0?s+(b+-1<<4)|0:0;b=(b|0)==0?368:b;a:do if((c[b>>2]|0)==9?(f=c[b+8>>2]|0,f|0):0){if((c[f>>2]&-134217728|0)==268435456){j=Ur(q,-1)|0;if(!j)break;g=q+44|0;f=0;while(1){b=c[o>>2]|0;if(b>>>0>=(c[m>>2]|0)>>>0){b=20;break}if((b-(c[p>>2]|0)|0)<16){b=22;break}s=b+-16|0;c[o>>2]=b+16;c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[b+8>>2]=c[s+8>>2];c[b+12>>2]=c[s+12>>2];if(c[b>>2]&8|0){s=(c[b+8>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1}b=c[o>>2]|0;if(b>>>0>=(c[m>>2]|0)>>>0){b=26;break}i=+(f>>>0);c[o>>2]=b+16;c[b>>2]=0;h[b+8>>3]=i;Xr(q,-1)|0;Yt(a);d=c[o>>2]|0;e=c[p>>2]|0;b=e;s=d-b>>4;s=s|0?e+(s+-1<<4)|0:0;if((c[((s|0)==0?368:s)>>2]|0)==2){if((d|0)==(e|0)){b=29;break}e=d+-16|0;c[o>>2]=e;s=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[e>>2]=2;do if(s&8){t=d+4|0;s=(c[t>>2]|0)+-1|0;c[t>>2]=s;if(s|0)break;qr(c[g>>2]|0,d);e=c[o>>2]|0;b=c[p>>2]|0}while(0);d=e-b>>4;b=e;if(!d){b=34;break}if(b>>>0>=(c[m>>2]|0)>>>0){b=36;break}c[o>>2]=b+16;c[b>>2]=0;h[b+8>>3]=i;Tt(q,d+-1|0)}else Ft(q,-2,f);f=f+1|0;if(f>>>0>=j>>>0)break a}if((b|0)==20)mr(q,1111);else if((b|0)==22)Cr(q,1114,-1);else if((b|0)==26)mr(q,4274);else if((b|0)==29)br(q,342583,50337407,342599);else if((b|0)==34)Cr(q,300,-1);else if((b|0)==36)mr(q,4274)}Lt(q,-1,16);t=(Mt(q,-1,0)|0)==0;b=c[o>>2]|0;b:do if(!t){f=q+44|0;while(1){if(b>>>0>=(c[m>>2]|0)>>>0){b=43;break}d=c[p>>2]|0;e=b-d>>4;if(e>>>0<=2){b=45;break}t=d+(e+-3<<4)|0;c[o>>2]=b+16;c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];if(c[b>>2]&8|0){t=(c[b+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}b=c[o>>2]|0;if(b>>>0>=(c[m>>2]|0)>>>0){b=49;break}d=c[p>>2]|0;e=b-d>>4;if(e>>>0<=1){b=51;break}t=d+(e+-2<<4)|0;c[o>>2]=b+16;c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];if(c[b>>2]&8|0){t=(c[b+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}Yt(a);d=c[o>>2]|0;b=c[p>>2]|0;t=d-b>>4;t=t|0?b+(t+-1<<4)|0:0;if((c[((t|0)==0?368:t)>>2]|0)==2){if((d|0)==(b|0)){b=56;break}s=d+-16|0;c[o>>2]=s;t=c[d+-16>>2]|0;b=c[d+-8>>2]|0;c[s>>2]=2;do if(t&8|0){s=b+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)break;qr(c[f>>2]|0,b)}while(0);Tt(q,-3)}else Et(q,-4);t=(Mt(q,-1,0)|0)==0;b=c[o>>2]|0;if(t){k=b;break b}}if((b|0)==43)mr(q,1093);else if((b|0)==45)Cr(q,376,-3);else if((b|0)==49)mr(q,1093);else if((b|0)==51)Cr(q,376,-2);else if((b|0)==56)br(q,342583,50337407,342599)}else k=b;while(0);if((k|0)==(c[p>>2]|0))br(q,342583,50337407,342599);s=k+-16|0;c[o>>2]=s;t=c[k+-16>>2]|0;b=c[k+-8>>2]|0;c[s>>2]=2;if(t&8|0?(s=b+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)qr(c[q+44>>2]|0,b)}while(0);e=c[a+16>>2]|0;f=c[o>>2]|0;if(f>>>0>=(c[m>>2]|0)>>>0)mr(q,1093);d=c[p>>2]|0;t=f-d>>4;b=((e|0)<0?t:0)+e|0;if(b>>>0>=t>>>0)Cr(q,376,e);t=d+(b<<4)|0;c[o>>2]=f+16;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if(c[f>>2]&8|0){t=(c[f+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}d=c[o>>2]|0;e=c[p>>2]|0;b=e;f=d-b>>4;if(f>>>0<=3)Cr(q,376,-4);g=e+(f+-4<<4)|0;e=e+(f+-1<<4)|0;f=e-g|0;if(f){c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];t6(g+16|0,g|0,f|0)|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];d=c[o>>2]|0;b=c[p>>2]|0}b=d-b|0;if((b|0)<64)nr(q,342568,55);else{Lr(q,(b>>>4)+-4|0,0)|0;l=r;return}}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;v=c[b>>2]|0;f=v+68|0;if((c[f>>2]|0)>>>0>=(c[v+56>>2]|0)>>>0)mr(v,5237);e=ts(c[v+44>>2]|0,128,1,w)|0;if(!e)er(v,342583,5246);r=c[f>>2]|0;c[r>>2]=10;c[r+8>>2]=e;r=e+4|0;c[r>>2]=(c[r>>2]|0)+1;r=c[f>>2]|0;c[f>>2]=r+16;r=c[r+8>>2]|0;s=r+20|0;e=c[s>>2]|0;f=e;t=b+4|0;u=b+24|0;h=f;e=e+128|0;a:while(1){if((e-h|0)>>>0>70)q=f;else{g=c[b>>2]|0;f=h-f|0;e=f+135+(f>>>2)|0;if(e>>>0<f>>>0){k=8;break}cr(g,r,e);h=c[s>>2]|0;q=h;e=h+e|0;h=h+f|0}o=c[t>>2]|0;i=64;p=h;while(1){j=o+1|0;f=a[o>>0]|0;if(!(a[345877+(f&255)>>0]|0))break;i=i+-1|0;g=p+1|0;a[p>>0]=f;h=g;if(!i){k=11;break}else{o=j;p=g}}if((k|0)==11){k=0;c[t>>2]=j;f=q;continue}c[t>>2]=j;switch(f<<24>>24){case 34:{k=52;break a}case 92:break;default:{k=51;break a}}g=o+2|0;c[t>>2]=g;f=a[j>>0]|0;switch(f<<24>>24){case 47:case 34:case 92:{g=f&255;k=31;break}case 116:{g=9;h=0;f=1;break}case 110:{g=10;h=0;f=1;break}case 114:{g=13;h=0;f=1;break}case 102:{g=12;h=0;f=1;break}case 98:{g=8;h=0;f=1;break}case 117:{f=o+3|0;c[t>>2]=f;i=a[344519+(d[g>>0]|0)>>0]|0;if(i<<24>>24<=-1){k=22;break a}g=o+4|0;c[t>>2]=g;h=a[344519+(d[f>>0]|0)>>0]|0;if(h<<24>>24<=-1){k=22;break a}f=o+5|0;c[t>>2]=f;g=a[344519+(d[g>>0]|0)>>0]|0;if(g<<24>>24<=-1){k=22;break a}c[t>>2]=o+6;f=a[344519+(d[f>>0]|0)>>0]|0;if(f<<24>>24<=-1){k=22;break a}g=(f<<24>>24)+((g<<24>>24)+((h<<24>>24)+(i<<24>>24<<4)<<4)<<4)|0;k=31;break}case 85:{if(!(c[u>>2]|0)){k=51;break a}f=o+3|0;c[t>>2]=f;n=a[344519+(d[g>>0]|0)>>0]|0;if(n<<24>>24<=-1){k=26;break a}g=o+4|0;c[t>>2]=g;m=a[344519+(d[f>>0]|0)>>0]|0;if(m<<24>>24<=-1){k=26;break a}f=o+5|0;c[t>>2]=f;k=a[344519+(d[g>>0]|0)>>0]|0;if(k<<24>>24<=-1){k=26;break a}g=o+6|0;c[t>>2]=g;j=a[344519+(d[f>>0]|0)>>0]|0;if(j<<24>>24<=-1){k=26;break a}f=o+7|0;c[t>>2]=f;i=a[344519+(d[g>>0]|0)>>0]|0;if(i<<24>>24<=-1){k=26;break a}g=o+8|0;c[t>>2]=g;h=a[344519+(d[f>>0]|0)>>0]|0;if(h<<24>>24<=-1){k=26;break a}f=o+9|0;c[t>>2]=f;g=a[344519+(d[g>>0]|0)>>0]|0;if(g<<24>>24<=-1){k=26;break a}c[t>>2]=o+10;f=a[344519+(d[f>>0]|0)>>0]|0;if(f<<24>>24<=-1){k=26;break a}g=(f<<24>>24)+((g<<24>>24)+((h<<24>>24)+((i<<24>>24)+((j<<24>>24)+((k<<24>>24)+((m<<24>>24)+(n<<24>>24<<4)<<4)<<4)<<4)<<4)<<4)<<4)|0;k=31;break}case 120:{if(!(c[u>>2]|0)){k=51;break a}f=o+3|0;c[t>>2]=f;g=a[344519+(d[g>>0]|0)>>0]|0;if(g<<24>>24<=-1){k=30;break a}c[t>>2]=o+4;f=a[344519+(d[f>>0]|0)>>0]|0;if(f<<24>>24<=-1){k=30;break a}g=(f<<24>>24)+(g<<24>>24<<4)|0;k=31;break}default:{k=51;break a}}if((k|0)==31){k=0;if(g>>>0<128){h=0;f=1}else{if(g>>>0>=2048)if(g>>>0>=65536)if(g>>>0>=2097152)if(g>>>0<67108864){f=5;k=36}else f=g>>>31|6;else{f=4;k=36}else{f=3;k=36}else{f=2;k=36}if((k|0)==36)k=0;h=a[343316+(f+-1)>>0]|0;i=f;do{i=i+-1|0;a[p+i>>0]=g&63|128;g=g>>>6}while((i|0)>1)}}a[p>>0]=g+(h&255);h=p+f|0;f=q}if((k|0)==8)br(g,344105,50331712,342539);else if((k|0)==22)Xt(b);else if((k|0)==26)Xt(b);else if((k|0)==30)Xt(b);else if((k|0)==51)Xt(b);else if((k|0)==52){cr(c[b>>2]|0,r,h-q|0);us(v);l=w;return}}function _t(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=0;g=0;e=0;i=0;a:while(1){if((i|0)<4){j=g;k=i;f=g;while(1){e=e<<8;h=f+1|0;if(f>>>0<b>>>0){g=h;e=d[a+f>>0]|0|e;f=h}else g=j;k=k+8|0;if((k|0)>=4)break;else j=g}i=i+8+(3-i&-8)|0}j=i+-4|0;l=e>>>j;f=l&15;b:do switch(l&15){case 0:{e=0;f=55;break a}case 15:{if((j|0)<8){h=g;f=g;while(1){e=e<<8;g=f+1|0;if(f>>>0<b>>>0){h=g;e=d[a+f>>0]|0|e;f=g}if((j|0)<0)j=j+8|0;else break}j=i+4+(11-i&-8)|0}else h=g;i=j+-8|0;f=e>>>i&255;if(f>>>0<254){f=f+15|0;g=h;j=i;break b}if((f|0)==254){if((i|0)<12){g=h;f=h;do{e=e<<8;h=f+1|0;if(f>>>0<b>>>0){g=h;e=d[a+f>>0]|0|e;f=h}i=i+8|0}while((i|0)<12);f=(19-j&-8)+j|0}else{f=i;g=h}j=f+-12|0;f=(e>>>j&4095)+269|0;break b}else{if((i|0)<24){g=h;f=h;do{e=e<<8;h=f+1|0;if(f>>>0<b>>>0){g=h;e=d[a+f>>0]|0|e;f=h}i=i+8|0}while((i|0)<24);f=(31-j&-8)+j|0}else{f=i;g=h}j=f+-24|0;f=(e>>>j&16777215)+4365|0;break b}}default:{}}while(0);if((j|0)<4){l=g;h=g;k=j;while(1){e=e<<8;i=h+1|0;if(h>>>0<b>>>0){g=i;e=d[a+h>>0]|0|e;h=i}else g=l;k=k+8|0;if((k|0)>=4)break;else l=g}l=j+8+(3-j&-8)|0}else l=j;i=l+-4|0;h=e>>>i&15;do if((h|0)==15){if((i|0)<8){k=g;h=g;while(1){e=e<<8;j=h+1|0;if(h>>>0<b>>>0){g=j;e=d[a+h>>0]|0|e;h=j}else g=k;if((i|0)<0){k=g;i=i+8|0}else break}i=l+4+(11-l&-8)|0}k=i+-8|0;h=e>>>k&255;if(h>>>0<254){h=h+15|0;i=k;break}if((h|0)==254){if((k|0)<12){l=g;h=g;while(1){e=e<<8;j=h+1|0;if(h>>>0<b>>>0){g=j;e=d[a+h>>0]|0|e;h=j}else g=l;k=k+8|0;if((k|0)>=12)break;else l=g}h=(19-i&-8)+i|0}else h=k;i=h+-12|0;h=(e>>>i&4095)+269|0;break}else{if((k|0)<24){l=g;h=g;while(1){e=e<<8;j=h+1|0;if(h>>>0<b>>>0){g=j;e=d[a+h>>0]|0|e;h=j}else g=l;k=k+8|0;if((k|0)>=24)break;else l=g}h=(31-i&-8)+i|0}else h=k;i=h+-24|0;h=(e>>>i&16777215)+4365|0;break}}while(0);l=f+m|0;m=h+l|0;if(!((l|0)>(c|0)|(m|0)<(c|0))){e=1;f=55;break}}if((f|0)==55)return e|0;return 0}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;k=a+68|0;f=c[k>>2]|0;j=a+64|0;e=c[j>>2]|0;g=f-e>>4;b=((b|0)<0?g:0)+b|0;b=b>>>0<g>>>0?b:-2147483648;g=c[a+56>>2]|0;if(f>>>0>=g>>>0)mr(a,4274);i=f+16|0;c[k>>2]=i;c[f>>2]=0;h[f+8>>3]=+(d>>>0);e=i-e>>4;d=((b|0)<0?e:0)+b|0;if(d>>>0>=e>>>0)Cr(a,300,b);b=c[(c[a+304>>2]|0)+328>>2]|0;if(i>>>0>=g>>>0)mr(a,4153);c[k>>2]=f+32;c[i>>2]=8;c[f+24>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[j>>2]|0;g=(c[k>>2]|0)-f>>4;e=((d|0)<0?g:0)+d|0;if(e>>>0>=g>>>0)Cr(a,376,d);if((g|0)==1)Cr(a,376,-2);d=g+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f+(e<<4)|0,f+(g+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;d=c[k>>2]|0;if((d+-32|0)>>>0<(c[j>>2]|0)>>>0)br(a,342583,50337495,342599);b=d+-16|0;c[k>>2]=b;j=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((j&8|0)!=0?(i=d+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,d);b=c[k>>2]|0}j=b+-16|0;c[k>>2]=j;k=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[j>>2]=2;if(!(k&8))return;j=b+4|0;k=(c[j>>2]|0)+-1|0;c[j>>2]=k;if(k|0)return;qr(c[a+44>>2]|0,b);return}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+1168|0;n=s;j=c[b+8>>2]|0;do if(j&2048|0){d=c[(c[a+304>>2]|0)+((j&8|0?33:103)<<2)>>2]|0;e=a+68|0;f=c[e>>2]|0;if(f>>>0<(c[a+56>>2]|0)>>>0){c[e>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;i=d+4|0;c[i>>2]=(c[i>>2]|0)+1;break}else mr(a,4153)}while(0);i=b+4|0;d=c[i>>2]|0;do if(!d){e=a+68|0;f=c[e>>2]|0;g=a+64|0;h=c[g>>2]|0;d=f-h>>4;d=d>>>0>1?h+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8)br(a,346133,100663387,346151);d=c[d+8>>2]|0;if((j&512|0)!=0|(d|0)==0)br(a,346133,100663387,346151);else{k=d+28|0;c[i>>2]=k;m=c[d+20>>2]|0;c[b>>2]=m;r=e;q=g;o=h;p=f;break}}else{p=a+68|0;o=a+64|0;r=p;q=o;k=d;m=c[b>>2]|0;o=c[o>>2]|0;p=c[p>>2]|0}while(0);f=(j&16|0)==0?j:j|4104;u6(n|0,0,1160)|0;c[n>>2]=f;u6(n+16|0,0,832)|0;c[n+792>>2]=k;c[n+796>>2]=m;c[n+848>>2]=f;d=a+88|0;e=c[d>>2]|0;c[d>>2]=n+8;if(p>>>0<(o+16|0)>>>0)nr(a,342568,315);if((c[a+56>>2]|0)>>>0<p>>>0)nr(a,342568,315);p=pr(a,25,n,1,1)|0;c[d>>2]=e;if(p|0)Qr(a);if(!(f&512)){e=c[q>>2]|0;f=(c[r>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);n=e+(d<<4)|0;o=e+(f+-1<<4)|0;p=c[n>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(n|0,n+16|0,o-n|0)|0;c[o>>2]=2;c[r>>2]=(c[r>>2]|0)+-16;if(p&8|0?(o=d+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)qr(c[a+44>>2]|0,d)}f=c[a+104>>2]|0;Os(a,c[(c[r>>2]|0)+-8>>2]|0,f,f,1);f=c[q>>2]|0;e=(c[r>>2]|0)-f>>4;d=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);o=f+(d<<4)|0;p=f+(e+-1<<4)|0;q=c[o>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(o|0,o+16|0,p-o|0)|0;c[p>>2]=2;c[r>>2]=(c[r>>2]|0)+-16;if(!(q&8)){l=s;return 1}q=d+4|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(r|0){l=s;return 1}qr(c[a+44>>2]|0,d);l=s;return 1}function bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;i=w;q=b+68|0;f=c[q>>2]|0;r=b+64|0;e=c[r>>2]|0;o=f-e|0;p=o>>4;v=d+8|0;k=d+1152|0;s=c[d>>2]|0;t=s&8;u=(t|0)!=0;m=(s&4096|0)==0;e=p|0?e+(p+-1<<4)|0:0;e=(e|0)==0?368:e;h=f;if((c[e>>2]|0)==8)j=c[e+8>>2]|0;else j=0;e=c[b+52>>2]|0;f=f-e+640|0;e=e+f|0;n=b+56|0;g=c[n>>2]|0;do if(g>>>0<e>>>0)if((c[b+60>>2]|0)>>>0<e>>>0){Er(b,f,1)|0;f=c[q>>2]|0;e=c[n>>2]|0;break}else{c[n>>2]=e;f=h;break}else{f=h;e=g}while(0);if(f>>>0>=e>>>0)mr(b,5237);e=ts(c[b+44>>2]|0,0,1,i)|0;if(!e)er(b,342583,5246);i=c[q>>2]|0;c[i>>2]=10;c[i+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[q>>2]|0;i=e+16|0;c[q>>2]=i;f=c[n>>2]|0;if(i>>>0>=f>>>0)mr(b,4162);i=e+32|0;c[q>>2]=i;if(i>>>0>=f>>>0)mr(b,4162);i=e+48|0;c[q>>2]=i;if(i>>>0>=f>>>0)mr(b,4162);i=e+64|0;c[q>>2]=i;if(i>>>0>=f>>>0)mr(b,4162);c[q>>2]=e+80;c[v>>2]=b;c[d+12>>2]=j;h=p+1|0;c[d+952>>2]=h;i=p+2|0;c[d+956>>2]=i;c[d+960>>2]=p+3;c[d+964>>2]=p+4;c[d+972>>2]=2500;j=d+16|0;c[d+788>>2]=b;c[d+808>>2]=h;c[d+812>>2]=i;c[d+816>>2]=p;c[d+820>>2]=c[(c[((o|0)<0?q:r)>>2]|0)+(p<<4)+8>>2];c[d+844>>2]=1e8;c[k>>2]=0;c[d+1156>>2]=1;c[d+800>>2]=0;c[d+804>>2]=1;c[j>>2]=d+20;cu(j,0);c[d+932>>2]=0;du(v);if(!m){a[d+1134>>0]=s>>>5&1;a[d+1128>>0]=1;a[d+1131>>0]=1;a[d+1132>>0]=1;fu(v,-1);fu(v,13);gu(v,0);hu(v);l=w;return 1}e=c[(c[b+304>>2]|0)+((u?33:27)<<2)>>2]|0;f=c[q>>2]|0;if(f>>>0>=(c[n>>2]|0)>>>0)mr(b,4153);c[q>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;r=c[r>>2]|0;e=(c[q>>2]|0)-r>>4;e=e|0?r+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8)e=c[e+8>>2]|0;else e=0;c[d+996>>2]=e;a[d+1134>>0]=s>>>5&1;a[d+1129>>0]=t>>>3;a[d+1130>>0]=(u^1)&1;eu(v,1,1,-1);hu(v);l=w;return 1}function cu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=b+788|0;g=c[o>>2]|0;h=c[b+776>>2]|0;p=b+784|0;f=c[p>>2]|0;m=h+(c[b+780>>2]|0)|0;e=b+4+e|0;k=b+772|0;n=h;if((e|0)==(k|0)){b=g;n=f;c[p>>2]=n;c[o>>2]=b;return}l=m;h=h+f|0;a:while(1){c[e+4>>2]=f;c[e+8>>2]=g;b:do if(h>>>0<m>>>0){f=h+1|0;h=a[h>>0]|0;j=h&255;if(h<<24>>24>-1){if((h&255)>=14){h=f;f=j;break}switch(h<<24>>24){case 10:break;case 13:{if(f>>>0<m>>>0?(a[f>>0]|0)==10:0){h=f;f=j;break b}break}default:{h=f;f=j;break b}}h=f;g=g+1|0;f=j;break}if((h&255)<192){e=21;break a}if((h&255)>=224)if((h&255)>=240)if((h&255)<248){i=3;h=7}else{e=21;break a}else{i=2;h=15}else{i=1;h=31}if(i>>>0>(l-f|0)>>>0){e=21;break a}j=h&j;while(1){if(!i)break;h=f+1|0;f=d[f>>0]|0;if((f&192|0)==128){j=f&63|j<<6;i=i+-1|0;f=h}else{f=h;e=21;break a}}if(j>>>0>1114111){e=21;break a}h=f;g=((j|1|0)==8233&1)+g|0;f=j}else f=-1;while(0);c[e>>2]=f;e=e+12|0;f=h-n|0;if((e|0)==(k|0)){e=22;break}}if((e|0)==21){c[p>>2]=f-n;c[o>>2]=g;br(c[b+772>>2]|0,346367,83886395,347447)}else if((e|0)==22){c[p>>2]=f;c[o>>2]=g;return}}function du(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;h=q;g=a+972|0;m=c[a>>2]|0;n=m+68|0;o=m+64|0;j=(c[n>>2]|0)-(c[o>>2]|0)|0;p=j>>4;u6(g|0,0,168)|0;e=c[n>>2]|0;b=c[m+52>>2]|0;d=e-b+768|0;b=b+d|0;k=m+56|0;f=c[k>>2]|0;do if(f>>>0<b>>>0)if((c[m+60>>2]|0)>>>0<b>>>0){Er(m,d,1)|0;e=c[n>>2]|0;b=c[k>>2]|0;break}else{c[k>>2]=b;break}else b=f;while(0);if(e>>>0>=b>>>0)mr(m,5237);i=m+44|0;b=ts(c[i>>2]|0,2048,1,h)|0;if(!b)er(m,342583,5246);e=c[n>>2]|0;c[e>>2]=10;c[e+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[n>>2]|0;c[n>>2]=e+16;e=c[e+8>>2]|0;c[a+984>>2]=e;e=c[e+20>>2]|0;c[g>>2]=e;c[a+976>>2]=e;c[a+980>>2]=e+2048;e=Or(m,48)|0;b=c[i>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;f=m+132|0;b=c[f>>2]|0;c[e+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[n>>2]|0;c[b>>2]=9;c[b+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;e=p+1|0;c[a+1020>>2]=e;c[a+992>>2]=c[(c[o>>2]|0)+(e<<4)+8>>2];e=Or(m,48)|0;b=c[i>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[f>>2]|0;c[e+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[n>>2]|0;c[b>>2]=9;c[b+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;e=p+2|0;c[a+1024>>2]=e;c[a+996>>2]=c[(c[o>>2]|0)+(e<<4)+8>>2];e=Or(m,48)|0;b=c[i>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[f>>2]|0;c[e+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[n>>2]|0;c[b>>2]=9;c[b+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;e=p+3|0;c[a+1028>>2]=e;c[a+1e3>>2]=c[(c[o>>2]|0)+(e<<4)+8>>2];e=Or(m,48)|0;b=c[i>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[f>>2]|0;c[e+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}g=c[n>>2]|0;c[g>>2]=9;c[g+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;g=(c[n>>2]|0)+16|0;c[n>>2]=g;e=p+4|0;c[a+1032>>2]=e;c[a+1004>>2]=c[(c[o>>2]|0)+(e<<4)+8>>2];if(g>>>0>=(c[k>>2]|0)>>>0)mr(m,5237);b=ts(c[i>>2]|0,0,1,h)|0;if(!b)er(m,342583,5246);e=c[n>>2]|0;c[e>>2]=10;c[e+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;e=p+5|0;c[a+1036>>2]=e;c[a+1008>>2]=c[(c[((j|0)<-80?n:o)>>2]|0)+(e<<4)+8>>2];e=Or(m,48)|0;b=c[i>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[f>>2]|0;c[e+20>>2]=b;if(b|0){j=b+4|0;c[j>>2]=(c[j>>2]|0)+1}j=c[n>>2]|0;c[j>>2]=9;c[j+8>>2]=e;j=e+4|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[n>>2]|0)+16|0;c[n>>2]=j;h=p+6|0;c[a+1040>>2]=h;c[a+1012>>2]=c[(c[o>>2]|0)+(h<<4)+8>>2];if(j>>>0>=(c[k>>2]|0)>>>0)mr(m,4604);e=Or(m,40)|0;b=c[i>>2]|0;c[e>>2]=134234241;b=b+24|0;d=c[b>>2]|0;if(!d){m=e+12|0;c[m>>2]=0;m=e+8|0;c[m>>2]=d;c[b>>2]=e;m=c[n>>2]|0;c[m>>2]=9;m=m+8|0;c[m>>2]=e;m=e+4|0;k=c[m>>2]|0;k=k+1|0;c[m>>2]=k;m=c[n>>2]|0;m=m+16|0;c[n>>2]=m;p=p+7|0;n=a+1044|0;c[n>>2]=p;o=c[o>>2]|0;o=o+(p<<4)+8|0;o=c[o>>2]|0;p=a+1016|0;c[p>>2]=o;l=q;return}c[d+12>>2]=e;m=e+12|0;c[m>>2]=0;m=e+8|0;c[m>>2]=d;c[b>>2]=e;m=c[n>>2]|0;c[m>>2]=9;m=m+8|0;c[m>>2]=e;m=e+4|0;k=c[m>>2]|0;k=k+1|0;c[m>>2]=k;m=c[n>>2]|0;m=m+16|0;c[n>>2]=m;p=p+7|0;n=a+1044|0;c[n>>2]=p;o=c[o>>2]|0;o=o+(p<<4)+8|0;o=c[o>>2]|0;p=a+1016|0;c[p>>2]=o;l=q;return}function eu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;xa=l;l=l+16|0;na=xa;c[na>>2]=-1;pa=c[d>>2]|0;wa=d+960|0;i=c[wa>>2]|0;if((i|0)>=(c[d+964>>2]|0))br(pa,346165,50332059,346504);c[wa>>2]=i+1;j=c[pa+52>>2]|0;i=(c[pa+68>>2]|0)-j+768|0;j=j+i|0;k=pa+56|0;do if((c[k>>2]|0)>>>0<j>>>0)if((c[pa+60>>2]|0)>>>0<j>>>0){Er(pa,i,1)|0;break}else{c[k>>2]=j;break}while(0);ma=d+8|0;la=c[ma>>2]|0;ka=c[la+4>>2]|0;la=c[la+8>>2]|0;ja=(f|0)!=0;if(ja){qa=d+1052|0;i=c[qa>>2]|0;j=i+1|0;c[qa>>2]=j;if((i|0)>65534)br(c[d>>2]|0,346165,50333579,346529);k=d+1056|0;if((i|0)>=(c[k>>2]|0))c[k>>2]=j;c[na>>2]=i}else i=-1;da=d+1128|0;a[da>>0]=1;ea=d+1129|0;a[ea>>0]=1;qa=d+1130|0;fa=d+1131|0;ga=d+1132|0;ha=d+1133|0;ia=d+1116|0;b[qa>>1]=0;b[qa+2>>1]=0>>>16;c[ia>>2]=i;if((g|0)>-1){fu(d,g);A=d+896|0}else{A=d+896|0;c[A>>2]=0;fu(d,-1)}mu(d,1,e);B=d+1135|0;C=d+792|0;D=d+796|0;E=d+12|0;oa=d+924|0;F=d+972|0;qa=d+976|0;H=d+1020|0;I=d+1108|0;J=d+1032|0;K=d+1008|0;L=d+1044|0;M=d+1016|0;N=ja?na:0;O=d+1121|0;P=d+1040|0;Q=d+1052|0;R=d+1056|0;S=(N|0)==0;T=d+1028|0;U=d+1048|0;V=d+1092|0;W=d+1096|0;X=d+1120|0;Y=d+1125|0;Z=d+988|0;_=d+1126|0;$=d+1134|0;aa=d+1060|0;ba=d+1064|0;ca=d+1068|0;y=1;G=a[B>>0]|0;a:while(1){z=y;y=y+1|0;c[C>>2]=ka;c[D>>2]=la;c[ma>>2]=E;cu(ma,0);c[A>>2]=0;c[oa>>2]=0;fu(d,-1);q=c[d>>2]|0;c[F>>2]=c[qa>>2];$t(q,c[H>>2]|0,0);c[I>>2]=0;$t(q,c[J>>2]|0,0);j=c[K>>2]|0;p=q+44|0;i=c[p>>2]|0;w=i+44|0;x=c[w>>2]|0;c[w>>2]=x+-1;if((x|0)<1)dr(i,2);n=j+20|0;x=Th[c[i+8>>2]&63](c[i+16>>2]|0,c[n>>2]|0,0)|0;c[j+16>>2]=0;c[n>>2]=x;n=q+68|0;if((c[n>>2]|0)>>>0>=(c[q+56>>2]|0)>>>0){i=20;break}k=Or(q,40)|0;i=c[p>>2]|0;c[k>>2]=134234241;i=i+24|0;j=c[i>>2]|0;if(j|0)c[j+12>>2]=k;c[k+12>>2]=0;c[k+8>>2]=j;c[i>>2]=k;f=c[n>>2]|0;c[f>>2]=9;c[f+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[n>>2]|0)+16|0;c[n>>2]=k;f=q+64|0;g=c[L>>2]|0;j=c[f>>2]|0;k=k-j>>4;if(!k){i=24;break}m=j+(k+-1<<4)|0;i=((g|0)<0?k:0)+g|0;if(i>>>0>=k>>>0){i=26;break}w=j+(i<<4)|0;x=c[w>>2]|0;i=c[j+(i<<4)+8>>2]|0;c[w>>2]=c[m>>2];c[w+4>>2]=c[m+4>>2];c[w+8>>2]=c[m+8>>2];c[w+12>>2]=c[m+12>>2];c[m>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(x&8|0?(w=i+4|0,x=(c[w>>2]|0)+-1|0,c[w>>2]=x,(x|0)==0):0)qr(c[p>>2]|0,i);c[M>>2]=c[(c[f>>2]|0)+(c[L>>2]<<4)+8>>2];a[da>>0]=1;a[ea>>0]=0;x=c[d>>2]|0;v=a[O>>0]|0;i=Ur(x,c[P>>2]|0)|0;if(i|0){g=x+68|0;m=x+56|0;n=x+64|0;f=0;do{et(x,c[P>>2]|0,f)|0;j=c[g>>2]|0;if(a[_>>0]|0){k=c[j+-8>>2]|0;if(c[k>>2]&8192|0){i=171;break a}if(j>>>0>=(c[m>>2]|0)>>>0){i=35;break a}if((j-(c[n>>2]|0)|0)<16){i=37;break a}w=j+-16|0;c[g>>2]=j+16;c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[j+12>>2]=c[w+12>>2];if(c[j>>2]&8|0){w=(c[j+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}if(Wr(x,c[L>>2]|0)|0){i=171;break a}if(c[k>>2]&4096|0){i=171;break a}j=c[g>>2]|0}if(j>>>0>=(c[m>>2]|0)>>>0){i=44;break a}c[g>>2]=j+16;c[j>>2]=0;h[j+8>>3]=+(f>>>0);Et(x,c[L>>2]|0);f=f+1|0}while(f>>>0<i>>>0)}c[Q>>2]=i;j=c[R>>2]|0;if((j|0)<(i|0)){c[R>>2]=i;j=i}if(!S){k=i+1|0;c[Q>>2]=k;if((i|0)>65534){i=50;break}if((i|0)>=(j|0)){c[R>>2]=k;j=k}c[N>>2]=i;i=k}if(a[B>>0]|0){k=i+3|0;c[Q>>2]=k;if((k|0)>65535){i=56;break}if((k|0)>(j|0))c[R>>2]=k;c[aa>>2]=i;c[ba>>2]=i+1;c[ca>>2]=i+2;i=k}if((i|0)>256){i=170;break}w=Ur(x,c[T>>2]|0)|0;s=(w|0)==0;t=x+68|0;u=x+64|0;if(s)r=u;else{q=x+56|0;m=v<<24>>24==0?19:23;p=x+44|0;n=0;while(1){et(x,c[T>>2]|0,n|1)|0;nu(x,-1);f=c[t>>2]|0;k=c[u>>2]|0;i=f-k>>4;i=i|0?k+(i+-1<<4)|0:0;i=(i|0)==0?368:i;do if(!(c[i>>2]|0)){o=+h[i+8>>3];if(!(K4(o)|0)){i=0;break}if(o<-2147483648.0){i=-2147483648;break}if(o>2147483647.0){i=2147483647;break}i=~~o}else i=0;while(0);g=i>>8;j=i&255;if((f|0)==(k|0)){i=70;break a}k=f+-16|0;c[t>>2]=k;r=c[f+-16>>2]|0;i=c[f+-8>>2]|0;c[k>>2]=2;do if(r&8|0){f=i+4|0;r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(r|0)break;qr(c[p>>2]|0,i)}while(0);if((j|0)==1){et(x,c[T>>2]|0,n)|0;do if(!(a[X>>0]|0)){k=c[Q>>2]|0;i=k+1|0;c[Q>>2]=i;if((k|0)>65534){i=110;break a}if((k|0)>=(c[R>>2]|0))c[R>>2]=i;i=c[t>>2]|0;if(i>>>0>=(c[q>>2]|0)>>>0){i=114;break a}if((i-(c[u>>2]|0)|0)<16){i=116;break a}r=i+-16|0;c[t>>2]=i+16;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];if(c[i>>2]&8|0){r=(c[i+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}i=pu(d)|0;j=c[t>>2]|0;if(j>>>0>=(c[q>>2]|0)>>>0){i=120;break a}c[t>>2]=j+16;c[j>>2]=3;ou(d,152,k,g);qu(d,16784,m,i,k);c[Q>>2]=k}else{i=c[t>>2]|0;if(i>>>0>=(c[q>>2]|0)>>>0){i=77;break a}if((i-(c[u>>2]|0)|0)<16){i=79;break a}r=i+-16|0;c[t>>2]=i+16;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];if(c[i>>2]&8|0){r=(c[i+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}if(!(Wr(x,c[L>>2]|0)|0)){j=c[Q>>2]|0;i=j+1|0;c[Q>>2]=i;if((j|0)>65534){i=103;break a}if((j|0)>=(c[R>>2]|0))c[R>>2]=i;ou(d,152,j,g);i=c[t>>2]|0;if(i>>>0>=(c[q>>2]|0)>>>0){i=107;break a}c[t>>2]=i+16;c[i>>2]=0;h[i+8>>3]=+(j|0);break}i=c[t>>2]|0;if(i>>>0>=(c[q>>2]|0)>>>0){i=84;break a}if((i-(c[u>>2]|0)|0)<16){i=86;break a}r=i+-16|0;c[t>>2]=i+16;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];if(c[i>>2]&8|0){r=(c[i+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}f=c[L>>2]|0;j=c[u>>2]|0;k=(c[t>>2]|0)-j>>4;i=((f|0)<0?k:0)+f|0;if(i>>>0>=k>>>0){i=90;break a}Kr(x,j+(i<<4)|0,j+(k+-1<<4)|0)|0;j=c[u>>2]|0;k=(c[t>>2]|0)-j>>4;i=k+-2|0;if(k>>>0<=1){i=92;break a}ya=j+(i<<4)|0;f=j+(k+-1<<4)|0;r=c[ya>>2]|0;i=c[j+(i<<4)+8>>2]|0;t6(ya|0,ya+16|0,f-ya|0)|0;c[f>>2]=2;c[t>>2]=(c[t>>2]|0)+-16;do if(r&8|0){r=i+4|0;ya=(c[r>>2]|0)+-1|0;c[r>>2]=ya;if(ya|0)break;qr(c[p>>2]|0,i)}while(0);nu(x,-1);ya=c[u>>2]|0;i=(c[t>>2]|0)-ya>>4;i=i|0?ya+(i+-1<<4)|0:0;i=(i|0)==0?368:i;do if(!(c[i>>2]|0)){o=+h[i+8>>3];if(!(K4(o)|0)){i=0;break}if(o<-2147483648.0){i=-2147483648;break}if(o>2147483647.0){i=2147483647;break}i=~~o}else i=0;while(0);ou(d,152,i,g)}while(0);Et(x,c[L>>2]|0)}n=n+2|0;if(n>>>0>=w>>>0){r=u;break}}}j=c[L>>2]|0;f=c[t>>2]|0;ya=f-(c[r>>2]|0)>>4;k=((j|0)<0?ya:0)+j|0;if(k>>>0>=ya>>>0){i=125;break}p=x+304|0;i=c[(c[p>>2]|0)+268>>2]|0;q=x+56|0;if(f>>>0>=(c[q>>2]|0)>>>0){i=127;break}c[t>>2]=f+16;c[f>>2]=8;c[f+8>>2]=i;ya=i+4|0;c[ya>>2]=(c[ya>>2]|0)+1;if(Wr(x,k)|0)a[$>>0]=1;if(!s){n=x+44|0;g=v<<24>>24==0?3:7;m=0;do{et(x,c[T>>2]|0,m|1)|0;nu(x,-1);f=c[t>>2]|0;k=c[u>>2]|0;i=f-k>>4;i=i|0?k+(i+-1<<4)|0:0;i=(i|0)==0?368:i;do if(!(c[i>>2]|0)){o=+h[i+8>>3];if(!(K4(o)|0)){i=0;break}if(o<-2147483648.0){i=-2147483648;break}if(o>2147483647.0){i=2147483647;break}i=~~o}else i=0;while(0);j=i&255;if((f|0)==(k|0)){i=138;break a}v=f+-16|0;c[t>>2]=v;ya=c[f+-16>>2]|0;i=c[f+-8>>2]|0;c[v>>2]=2;do if(ya&8|0){v=i+4|0;ya=(c[v>>2]|0)+-1|0;c[v>>2]=ya;if(ya|0)break;qr(c[n>>2]|0,i)}while(0);b:do if(!j){et(x,c[T>>2]|0,m)|0;if(Wr(x,c[L>>2]|0)|0)break;et(x,c[T>>2]|0,m)|0;k=c[t>>2]|0;i=k+-8|0;do if((c[i>>2]|0)==(c[(c[p>>2]|0)+268>>2]|0)){if(a[$>>0]|0)break;if((k|0)==(c[u>>2]|0)){i=147;break a}v=k+-16|0;c[t>>2]=v;ya=c[k+-16>>2]|0;i=c[i>>2]|0;c[v>>2]=2;if(!(ya&8))break b;v=i+4|0;ya=(c[v>>2]|0)+-1|0;c[v>>2]=ya;if(ya|0)break b;qr(c[n>>2]|0,i);break b}while(0);if(!(a[X>>0]|0)){if(k>>>0>=(c[q>>2]|0)>>>0){i=160;break a}if((k-(c[r>>2]|0)|0)<16){i=162;break a}ya=k+-16|0;c[t>>2]=k+16;c[k>>2]=c[ya>>2];c[k+4>>2]=c[ya+4>>2];c[k+8>>2]=c[ya+8>>2];c[k+12>>2]=c[ya+12>>2];if(c[k>>2]&8|0){ya=(c[k+8>>2]|0)+4|0;c[ya>>2]=(c[ya>>2]|0)+1}i=pu(d)|0;j=c[t>>2]|0;if(j>>>0>=(c[q>>2]|0)>>>0){i=166;break a}c[t>>2]=j+16;c[j>>2]=3;qu(d,16784,g,i,0)}else{i=c[Q>>2]|0;j=i+1|0;c[Q>>2]=j;if((i|0)>65534){i=153;break a}if((i|0)>=(c[R>>2]|0))c[R>>2]=j;if(k>>>0>=(c[q>>2]|0)>>>0){i=157;break a}c[t>>2]=k+16;c[k>>2]=0;h[k+8>>3]=+(i|0)}Et(x,c[L>>2]|0)}while(0);m=m+2|0}while(m>>>0<w>>>0)}c[ia>>2]=c[na>>2];c[U>>2]=c[Q>>2];c[V>>2]=0;c[W>>2]=0;a[fa>>0]=0;a[ga>>0]=0;a[ha>>0]=0;do if(a[X>>0]|0){if(a[Y>>0]|0)break;i=c[Z>>2]|0;if(!i)break;i=c[i>>2]|0;if(!(a[_>>0]|0))if((i&6144|0)==2048){i=201;break a}else break;else if(!(i&12288))break;else{i=201;break a}}while(0);if(ja)ou(d,7,0,0);mu(d,1,e);ya=G;G=a[B>>0]|0;if(ya<<24>>24==G<<24>>24){i=183;break}if((z|0)>1){i=182;break}}switch(i|0){case 20:{mr(q,4604);break}case 24:{Cr(q,376,-1);break}case 26:{Cr(q,376,g);break}case 35:{mr(x,1111);break}case 37:{Cr(x,1114,-1);break}case 44:{mr(x,4274);break}case 50:{br(c[d>>2]|0,346165,50333579,346529);break}case 56:{br(c[d>>2]|0,346165,50333579,346529);break}case 70:{br(x,342583,50337407,342599);break}case 77:{mr(x,1111);break}case 79:{Cr(x,1114,-1);break}case 84:{mr(x,1111);break}case 86:{Cr(x,1114,-1);break}case 90:{Cr(x,376,f);break}case 92:{Cr(x,376,-2);break}case 103:{br(c[d>>2]|0,346165,50333579,346529);break}case 107:{mr(x,4244);break}case 110:{br(c[d>>2]|0,346165,50333579,346529);break}case 114:{mr(x,1111);break}case 116:{Cr(x,1114,-1);break}case 120:{mr(x,4175);break}case 125:{Cr(x,300,j);break}case 127:{mr(x,4153);break}case 138:{br(x,342583,50337407,342599);break}case 147:{br(x,342583,50337407,342599);break}case 153:{br(c[d>>2]|0,346165,50333579,346529);break}case 157:{mr(x,4244);break}case 160:{mr(x,1111);break}case 162:{Cr(x,1114,-1);break}case 166:{mr(x,4175);break}case 170:{br(x,346165,50338805,346540);break}case 171:{br(x,346165,83893242,346555);break}case 182:{Dr(pa,346165,7411);break}case 183:{i=c[na>>2]|0;do if((i|0)<=-1){f=d+980|0;g=d+972|0;i=c[g>>2]|0;j=i;do if(((c[f>>2]|0)-j|0)>>>0<=7){k=c[d>>2]|0;i=j-(c[qa>>2]|0)|0;j=i+72+(i>>>2)|0;if(j>>>0<i>>>0)br(k,344105,50331712,342539);else{ya=d+984|0;cr(k,c[ya>>2]|0,j);ya=c[(c[ya>>2]|0)+20>>2]|0;ra=ya+i|0;c[g>>2]=ra;c[qa>>2]=ya;c[f>>2]=ya+j;break}}else ra=i;while(0);k=ra+8|0;c[g>>2]=k;j=c[d+876>>2]|0;if(!j)j=c[oa>>2]|0;c[ra>>2]=158;c[ra+4>>2]=j;i=c[qa>>2]|0;if((j|0)>2147418112|(k-i|0)>>>0>2147418112)br(c[d>>2]|0,346165,50332820,346577);else{ta=i;sa=k;break}}else{ou(d,157,0,i);ta=c[qa>>2]|0;sa=c[d+972>>2]|0}while(0);m=(sa-ta|0)>>>3;if(!m){ya=c[wa>>2]|0;ya=ya+-1|0;c[wa>>2]=ya;l=xa;return}else f=0;do{g=0;i=0;do{j=ta+(g<<3)|0;k=c[j>>2]|0;if((k&255|0)==2?(ua=k>>>8,va=c[ta+(g+-8388607+ua<<3)>>2]|0,(va&255|0)==2):0){c[j>>2]=(ua<<8)+256+va&-256^-2147483646;i=i+1|0}g=g+1|0}while((g|0)!=(m|0));f=f+1|0}while(f>>>0<3&(i|0)!=0);ya=c[wa>>2]|0;ya=ya+-1|0;c[wa>>2]=ya;l=xa;return}case 201:{br(pa,346165,83893534,346592);break}}}function fu(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;k=c[b>>2]|0;H=b+896|0;i=c[H>>2]|0;f=b+1136|0;if(!(a[f>>0]|0))p=((d[346253+i>>0]|0)>>>5&1^1)&255;else{a[f>>0]=0;p=0}if(!((e|0)<0|(i|0)==(e|0)))br(k,346165,83886550,346355);f=b+848|0;e=H;i=f+48|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));ju(k,c[b+944>>2]|0,c[b+952>>2]|0);ju(k,c[b+948>>2]|0,c[b+956>>2]|0);E=b+8|0;y=a[b+1126>>0]|0;F=b+832|0;G=(c[F>>2]|0)+1|0;c[F>>2]=G;if((G|0)>=(c[b+836>>2]|0))br(c[b+780>>2]|0,346367,50333434,346414);c[H>>2]=0;G=b+900|0;c[G>>2]=-1;A=b+928|0;c[A>>2]=0;m=b+924|0;n=b+920|0;F=b+12|0;D=F;o=b+840|0;f=0;a:while(1){l=c[E>>2]|0;c[m>>2]=c[l+8>>2];k=(f|0)==0;b:while(1){e=c[l+4>>2]|0;c[n>>2]=e;x=c[l>>2]|0;c:do switch(x|0){case 123:{g=3121;C=344;break a}case 125:{C=345;break a}case 40:{C=346;break a}case 41:{C=347;break a}case 91:{C=348;break a}case 93:{C=349;break a}case 59:{C=350;break a}case 44:{C=351;break a}case 62:{C=97;break a}case 61:{C=101;break a}case 33:{C=104;break a}case 43:{C=107;break a}case 42:{C=116;break a}case 37:{C=119;break a}case 38:{C=120;break a}case 124:{C=121;break a}case 94:{C=122;break a}case 126:{C=352;break a}case 63:{B=f;g=3156;break a}case 58:{C=123;break a}case 39:case 34:{C=124;break a}case 10:{C=12;break b}case 13:{C=208;break b}case 8233:case 8232:break b;case 9:case 32:{e=l+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i)}break}case 35:{if(!((e|0)==0?(c[l+12>>2]|0)==33:0)){C=361;break a}if(!(c[o>>2]&64)){C=361;break a}else{e=l;i=35}do{if((i|0)<8232)switch(i|0){case 10:case 13:break c;default:{}}else switch(i|0){case 8232:case 8233:break c;default:{}}e=e+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);e=c[E>>2]|0}i=c[e>>2]|0}while((i|0)>=0);break}case 47:{e=c[l+12>>2]|0;switch(e|0){case 42:{C=25;break b}case 47:{e=l;i=47;break}default:{C=34;break a}}do{if((i|0)<8232)switch(i|0){case 10:case 13:break c;default:{}}else switch(i|0){case 8232:case 8233:break c;default:{}}e=e+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);e=c[E>>2]|0}i=c[e>>2]|0}while((i|0)>=0);break}case 46:{if(((c[l+12>>2]|0)+-48|0)>>>0<10)C=215;else{g=3127;C=344;break a}break}case 60:{e=c[l+12>>2]|0;switch(e|0){case 60:{C=95;break a}case 33:break;default:{g=e;e=3130;C=96;break a}}if((c[l+24>>2]|0)!=45){g=33;e=3130;C=96;break a}if((c[l+36>>2]|0)==45){e=l;i=60}else{g=33;e=3130;C=96;break a}do{if((i|0)<8232)switch(i|0){case 10:case 13:break c;default:{}}else switch(i|0){case 8232:case 8233:break c;default:{}}e=e+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);e=c[E>>2]|0}i=c[e>>2]|0}while((i|0)>=0);break}case 45:{e=c[l+12>>2]|0;if(k){f=0;g=e;C=115;break a}if((e|0)!=45){g=e;C=115;break a}if((c[l+24>>2]|0)==62){e=l;i=45}else{g=45;C=115;break a}do{if((i|0)<8232)switch(i|0){case 10:case 13:break c;default:{}}else switch(i|0){case 8232:case 8233:break c;default:{}}e=e+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);e=c[E>>2]|0}i=c[e>>2]|0}while((i|0)>=0);break}default:if((x|0)<128)if((x|0)>-1){C=215;break c}else{e=0;C=217;break c}else{e=(_t(338549,1036,x)|0)!=0;C=217;break c}}while(0);if((C|0)==215){e=(a[344848+x>>0]|0)>0;C=217}if((C|0)==217){C=0;if((x|0)==92|e){C=218;break a}if((x|0)==46|(x+-48|0)>>>0<10){C=271;break a}d:do switch(x>>8|0){case 0:{switch((x&255)<<24>>24){case -96:case 32:case 12:case 11:case 9:break;default:{C=343;break a}}break}case 32:{if((x&255)>>>0>=11)switch((x&255)<<24>>24){case 47:case 95:break;default:{C=343;break a}}break}default:{if((x|0)<12288)switch(x|0){case 5760:case 6158:break d;default:{C=343;break a}}if((x|0)<65279)switch(x|0){case 12288:break d;default:{C=343;break a}}else switch(x|0){case 65279:break d;default:{C=343;break a}}}}while(0);e=l+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0<72){t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i)}}l=c[E>>2]|0}if((C|0)==12){C=0;f=l+12|0;c[E>>2]=f;e=D-f+768|0;if(e>>>0>=72){f=1;continue}t6(F|0,f|0,e|0)|0;c[E>>2]=F;cu(E,e);f=1;continue}else if((C|0)==25){C=0;i=l+24|0;c[E>>2]=i;e=D-i+768|0;if(e>>>0<72){t6(F|0,i|0,e|0)|0;c[E>>2]=F;cu(E,e);e=c[E>>2]|0;k=e}else{k=i;e=i}e=c[e>>2]|0;if((e|0)<0){C=365;break}else l=0;while(1){i=k+12|0;c[E>>2]=i;k=D-i+768|0;if(k>>>0<72){t6(F|0,i|0,k|0)|0;c[E>>2]=F;cu(E,k)}if((e|0)==47&(l|0)!=0)continue a;if((e|0)<8232)switch(e|0){case 10:case 13:{f=1;break}default:C=32}else switch(e|0){case 8232:case 8233:{f=1;break}default:C=32}if((C|0)==32)C=0;k=c[E>>2]|0;i=c[k>>2]|0;if((i|0)<0){C=365;break a}else{l=(e|0)==42&1;e=i}}}else if((C|0)==208?(C=0,(c[l+12>>2]|0)==10):0){f=l+24|0;c[E>>2]=f;e=D-f+768|0;if(e>>>0>=72){f=1;continue}t6(F|0,f|0,e|0)|0;c[E>>2]=F;cu(E,e);f=1;continue}f=l+12|0;c[E>>2]=f;e=D-f+768|0;if(e>>>0>=72){f=1;continue}t6(F|0,f|0,e|0)|0;c[E>>2]=F;cu(E,e);f=1}e:switch(C|0){case 34:{if(!p){B=f;g=(e|0)==61?6234:3141;break}t=b+812|0;e=c[t>>2]|0;i=c[e+16>>2]|0;s=b+780|0;if(i>>>0>=256){cr(c[s>>2]|0,e,256);i=c[t>>2]|0;e=i;i=c[i+16>>2]|0}u=b+828|0;c[u>>2]=e;n=c[e+20>>2]|0;o=b+816|0;c[o>>2]=n;p=b+820|0;c[p>>2]=n;q=b+824|0;c[q>>2]=n+i;n=b+816|0;k=0;f:while(1){i=(c[E>>2]|0)+12|0;c[E>>2]=i;e=D-i+768|0;if(e>>>0<72){t6(F|0,i|0,e|0)|0;c[E>>2]=F;cu(E,e);i=c[E>>2]|0;e=i}else e=i;m=c[e>>2]|0;if((m|0)<0){C=364;break}if((m|0)<8232)switch(m|0){case 10:case 13:{C=364;break f}default:{}}else switch(m|0){case 8232:case 8233:{C=364;break f}default:{}}g:do switch(k|0){case 0:switch(m|0){case 47:{C=44;break f}case 92:{k=1;break g}case 91:{k=2;break g}default:{k=0;break g}}case 1:{k=0;break}case 2:{k=(m|0)==93?0:(m|0)==92?3:2;break}default:k=2}while(0);i=c[n>>2]|0;e=i;if(((c[q>>2]|0)-i|0)>>>0<6){l=c[s>>2]|0;e=i-(c[p>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=55;break}cr(l,c[u>>2]|0,i);C=c[(c[u>>2]|0)+20>>2]|0;e=C+e|0;c[n>>2]=e;c[p>>2]=C;c[q>>2]=C+i}do if(m>>>0>=128){if(m>>>0<2048){a[e>>0]=m>>>6&31|192;a[e+1>>0]=m&63|128;e=2;break}if(m>>>0<65536){a[e>>0]=m>>>12&15|224;a[e+1>>0]=m>>>6&63|128;a[e+2>>0]=m&63|128;e=3;break}else{C=m+-65536|0;a[e>>0]=-19;a[e+1>>0]=C>>>16&15|160;a[e+2>>0]=C>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=C>>>6&15|176;a[e+5>>0]=C&63|128;e=6;break}}else{a[e>>0]=m;e=1}while(0);c[n>>2]=(c[n>>2]|0)+e}if((C|0)==44){g=i+12|0;c[E>>2]=g;e=D-g+768|0;if(e>>>0<72){t6(F|0,g|0,e|0)|0;c[E>>2]=F;cu(E,e)}c[b+912>>2]=ku(E,c[b+800>>2]|0)|0;g=c[t>>2]|0;e=c[g+16>>2]|0;if(e>>>0>=256){cr(c[s>>2]|0,g,256);e=c[t>>2]|0;g=e;e=c[e+16>>2]|0}c[u>>2]=g;B=c[g+20>>2]|0;c[o>>2]=B;c[p>>2]=B;c[q>>2]=B+e;while(1){k=c[c[E>>2]>>2]|0;if((k|0)<128){if((k|0)<=-1)break;if(!(a[344848+k>>0]|0))break}else if((_t(338549,1036,k)|0)==0?(_t(339627,530,k)|0)==0:0)break;e=c[n>>2]|0;g=e;if(((c[q>>2]|0)-e|0)>>>0<6){i=c[s>>2]|0;g=e-(c[p>>2]|0)|0;e=g+70+(g>>>2)|0;if(e>>>0<g>>>0){C=72;break}cr(i,c[u>>2]|0,e);B=c[(c[u>>2]|0)+20>>2]|0;g=B+g|0;c[n>>2]=g;c[p>>2]=B;c[q>>2]=B+e}do if(k>>>0>=128){if(k>>>0<2048){a[g>>0]=k>>>6&31|192;a[g+1>>0]=k&63|128;g=2;break}if(k>>>0<65536){a[g>>0]=k>>>12&15|224;a[g+1>>0]=k>>>6&63|128;a[g+2>>0]=k&63|128;g=3;break}else{B=k+-65536|0;a[g>>0]=-19;a[g+1>>0]=B>>>16&15|160;a[g+2>>0]=B>>>10&63|128;a[g+3>>0]=-19;a[g+4>>0]=B>>>6&15|176;a[g+5>>0]=B&63|128;g=6;break}}else{a[g>>0]=k;g=1}while(0);c[n>>2]=(c[n>>2]|0)+g;g=(c[E>>2]|0)+12|0;c[E>>2]=g;e=D-g+768|0;if(e>>>0>=72)continue;t6(F|0,g|0,e|0)|0;c[E>>2]=F;cu(E,e)}if((C|0)==72)br(i,344105,50331712,342539);c[b+916>>2]=ku(E,c[b+804>>2]|0)|0;e=c[t>>2]|0;g=c[e+16>>2]|0;if(g>>>0>=256){cr(c[s>>2]|0,e,256);g=c[t>>2]|0;e=g;g=c[g+16>>2]|0}c[u>>2]=e;B=c[e+20>>2]|0;c[o>>2]=B;c[p>>2]=B;c[q>>2]=B+g;B=f;g=101;break}else if((C|0)==55)br(l,344105,50331712,342539);else if((C|0)==364)br(c[s>>2]|0,346367,83887882,346463);break}case 95:{if((c[l+24>>2]|0)==61){B=f;g=9309}else{g=60;e=6218;C=96}break}case 97:{g=c[l+12>>2]|0;e=(g|0)==62;h:do if(e){switch(c[l+24>>2]|0){case 61:{B=f;g=9310;break e}case 62:break;default:break h}B=f;g=(c[l+36>>2]|0)==61?12383:9292;break e}while(0);B=f;g=(g|0)==61?6205:e?6219:3131;break}case 101:{g=(c[l+12>>2]|0)==61;if(g?(c[l+24>>2]|0)==61:0){B=f;g=9280;break}B=f;g=g?6206:3158;break}case 104:{g=(c[l+12>>2]|0)==61;if(g?(c[l+24>>2]|0)==61:0){B=f;g=9281;break}B=f;g=g?6207:3152;break}case 107:{g=c[l+12>>2]|0;B=f;g=(g|0)==43?6216:(g|0)==61?6231:3138;break}case 115:{B=f;g=(g|0)==45?6217:(g|0)==61?6232:3139;break}case 116:{g=c[l+12>>2]|0;e=(g|0)==42;if(e?(c[l+24>>2]|0)==61:0){B=f;g=9308;break}B=f;g=e?6215:(g|0)==61?6233:3140;break}case 119:{B=f;g=(c[l+12>>2]|0)==61?6235:3142;break}case 120:{g=c[l+12>>2]|0;B=f;g=(g|0)==38?6226:(g|0)==61?6240:3149;break}case 121:{g=c[l+12>>2]|0;B=f;g=(g|0)==124?6227:(g|0)==61?6241:3150;break}case 122:{B=f;g=(c[l+12>>2]|0)==61?6242:3151;break}case 123:{B=f;g=3157;break}case 124:{u=b+812|0;e=c[u>>2]|0;i=c[e+16>>2]|0;p=b+780|0;if(i>>>0>=256){cr(c[p>>2]|0,e,256);i=c[u>>2]|0;e=i;i=c[i+16>>2]|0}v=b+828|0;c[v>>2]=e;n=c[e+20>>2]|0;q=b+816|0;c[q>>2]=n;s=b+820|0;c[s>>2]=n;t=b+824|0;c[t>>2]=n+i;n=y<<24>>24!=0;o=b+816|0;e=1;i:while(1){i=(c[E>>2]|0)+(e*12|0)|0;c[E>>2]=i;e=D-i+768|0;if(e>>>0<72){t6(F|0,i|0,e|0)|0;c[E>>2]=F;cu(E,e);e=c[E>>2]|0;k=e}else{k=i;e=i}l=c[k>>2]|0;if((l|0)==(x|0)){C=130;break}if((l|0)!=92){if((l+-32|0)>>>0<96){i=c[t>>2]|0;y=c[o>>2]|0;e=y;if((i|0)==(y|0)){k=c[p>>2]|0;e=i-(c[s>>2]|0)|0;i=e+65+(e>>>2)|0;if(i>>>0<e>>>0){C=186;break}cr(k,c[v>>2]|0,i);y=c[(c[v>>2]|0)+20>>2]|0;e=y+e|0;c[o>>2]=e;c[s>>2]=y;c[t>>2]=y+i}c[o>>2]=e+1;a[e>>0]=l;e=1;continue}if((l|0)<0){C=204;break}if((l|0)<8232)switch(l|0){case 10:case 13:{C=204;break i}default:{}}else switch(l|0){case 8232:case 8233:{C=204;break i}default:{}}i=c[o>>2]|0;e=i;if(((c[t>>2]|0)-i|0)>>>0<6){k=c[p>>2]|0;e=i-(c[s>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=193;break}cr(k,c[v>>2]|0,i);y=c[(c[v>>2]|0)+20>>2]|0;e=y+e|0;c[o>>2]=e;c[s>>2]=y;c[t>>2]=y+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{y=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=y>>>16&15|160;a[e+2>>0]=y>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=y>>>6&15|176;a[e+5>>0]=y&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[o>>2]=(c[o>>2]|0)+e;e=1;continue}l=c[k+12>>2]|0;j:do switch(l|0){case 92:case 34:case 39:{i=l;e=2;C=174;break}case 98:{i=8;e=2;C=174;break}case 102:{i=12;e=2;C=174;break}case 110:{i=10;e=2;C=174;break}case 114:{i=13;e=2;C=174;break}case 116:{i=9;e=2;C=174;break}case 118:{i=11;e=2;C=174;break}case 117:case 120:{l=lu(E,1)|0;i=c[o>>2]|0;e=i;if(((c[t>>2]|0)-i|0)>>>0<6){k=c[p>>2]|0;e=i-(c[s>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=142;break i}cr(k,c[v>>2]|0,i);y=c[(c[v>>2]|0)+20>>2]|0;e=y+e|0;c[o>>2]=e;c[s>>2]=y;c[t>>2]=y+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{y=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=y>>>16&15|160;a[e+2>>0]=y>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=y>>>6&15|176;a[e+5>>0]=y&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[o>>2]=(c[o>>2]|0)+e;e=0;break}case 13:{e=(c[k+24>>2]|0)==10?3:2;break}case 8233:case 8232:case 10:{e=2;break}default:{i=l+-48|0;if(i>>>0<10){if((l&-8|0)!=48){i=l;e=2;C=174;break j}e=c[k+24>>2]|0;if((e&-8|0)==48?(w=(i<<3)+-48+e|0,(w|0)<=255):0){e=c[k+36>>2]|0;if((e&-8|0)==48?(z=(w<<3)+-48+e|0,(z|0)<=255):0){e=4;i=z}else{e=3;i=w;C=156}}else{e=2;C=156}if((i|0)<0|n&((i|0)!=0|(e|0)!=2)){C=203;break i}else{C=174;break j}}if((l|0)<0){C=204;break i}i=c[o>>2]|0;e=i;if(((c[t>>2]|0)-i|0)>>>0<6){k=c[p>>2]|0;e=i-(c[s>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=164;break i}cr(k,c[v>>2]|0,i);y=c[(c[v>>2]|0)+20>>2]|0;e=y+e|0;c[o>>2]=e;c[s>>2]=y;c[t>>2]=y+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{y=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=y>>>16&15|160;a[e+2>>0]=y>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=y>>>6&15|176;a[e+5>>0]=y&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[o>>2]=(c[o>>2]|0)+e;e=2}}while(0);if((C|0)==174){C=0;l=c[o>>2]|0;k=l;if(((c[t>>2]|0)-l|0)>>>0<6){m=c[p>>2]|0;k=l-(c[s>>2]|0)|0;l=k+70+(k>>>2)|0;if(l>>>0<k>>>0){C=176;break}cr(m,c[v>>2]|0,l);y=c[(c[v>>2]|0)+20>>2]|0;k=y+k|0;c[o>>2]=k;c[s>>2]=y;c[t>>2]=y+l}if(i>>>0<128){a[k>>0]=i;i=1}else{a[k>>0]=i>>>6&31|192;a[k+1>>0]=i&63|128;i=2}c[o>>2]=(c[o>>2]|0)+i}c[A>>2]=(c[A>>2]|0)+1}if((C|0)==130){g=e+12|0;c[E>>2]=g;e=D-g+768|0;if(e>>>0<72){t6(F|0,g|0,e|0)|0;c[E>>2]=F;cu(E,e)}e=b+800|0;ku(E,c[e>>2]|0)|0;i=c[p>>2]|0;e=c[e>>2]|0;c[b+912>>2]=c[(c[((e|0)<0?i+68|0:i+64|0)>>2]|0)+(e<<4)+8>>2];e=c[u>>2]|0;g=c[e+16>>2]|0;if(g>>>0>=256){cr(i,e,256);g=c[u>>2]|0;e=g;g=c[g+16>>2]|0}c[v>>2]=e;B=c[e+20>>2]|0;c[q>>2]=B;c[s>>2]=B;c[t>>2]=B+g;B=f;g=100;break}else if((C|0)==142)br(k,344105,50331712,342539);else if((C|0)==164)br(k,344105,50331712,342539);else if((C|0)==176)br(m,344105,50331712,342539);else if((C|0)==186)br(k,344105,50331712,342539);else if((C|0)==193)br(k,344105,50331712,342539);else if((C|0)==203)br(c[p>>2]|0,346367,83887018,346379);else if((C|0)==204)br(c[p>>2]|0,346367,83887022,346394);break}case 218:{s=b+812|0;e=c[s>>2]|0;i=c[e+16>>2]|0;u=b+780|0;if(i>>>0>=256){cr(c[u>>2]|0,e,256);i=c[s>>2]|0;e=i;i=c[i+16>>2]|0}t=b+828|0;c[t>>2]=e;n=c[e+20>>2]|0;o=b+816|0;c[o>>2]=n;p=b+820|0;c[p>>2]=n;q=b+824|0;c[q>>2]=n+i;n=b+816|0;m=1;k:while(1){e=c[E>>2]|0;l=c[e>>2]|0;if((l|0)!=92){if((l|0)<128){if((l|0)<=-1){C=263;break}if(!(a[344848+l>>0]|0)){C=263;break}}else if((_t(338549,1036,l)|0)==0?(_t(339627,530,l)|0)==0:0){C=263;break}i=c[n>>2]|0;e=i;if(((c[q>>2]|0)-i|0)>>>0<6){k=c[u>>2]|0;e=i-(c[p>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=252;break}cr(k,c[t>>2]|0,i);C=c[(c[t>>2]|0)+20>>2]|0;e=C+e|0;c[n>>2]=e;c[p>>2]=C;c[q>>2]=C+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{C=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=C>>>16&15|160;a[e+2>>0]=C>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=C>>>6&15|176;a[e+5>>0]=C&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[n>>2]=(c[n>>2]|0)+e;e=(c[E>>2]|0)+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0>=72){m=0;continue}t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);m=0;continue}if((c[e+12>>2]|0)!=117){C=363;break}l=lu(E,1)|0;i=c[n>>2]|0;e=i;if(((c[q>>2]|0)-i|0)>>>0<6){k=c[u>>2]|0;e=i-(c[p>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=225;break}cr(k,c[t>>2]|0,i);C=c[(c[t>>2]|0)+20>>2]|0;e=C+e|0;c[n>>2]=e;c[p>>2]=C;c[q>>2]=C+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{C=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=C>>>16&15|160;a[e+2>>0]=C>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=C>>>6&15|176;a[e+5>>0]=C&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[n>>2]=(c[n>>2]|0)+e;e=(l|0)<128;do if(!m)if(e){if((l|0)<=-1){C=363;break k}if(!(a[344848+l>>0]|0)){C=363;break k}else break}else{if(_t(338549,1036,l)|0)break;if(!(_t(339627,530,l)|0)){C=363;break k}else break}else{if(!e)if(!(_t(338549,1036,l)|0)){C=363;break k}else break;if((l|0)<=-1){C=363;break k}if((a[344848+l>>0]|0)<=0){C=363;break k}}while(0);c[A>>2]=(c[A>>2]|0)+1;m=0}if((C|0)==225)br(k,344105,50331712,342539);else if((C|0)==252)br(k,344105,50331712,342539);else if((C|0)==263){k=ku(E,c[b+800>>2]|0)|0;c[b+912>>2]=k;c[G>>2]=1;e=c[s>>2]|0;g=c[e+16>>2]|0;if(g>>>0>=256){cr(c[u>>2]|0,e,256);g=c[s>>2]|0;e=g;g=c[g+16>>2]|0}c[t>>2]=e;i=c[e+20>>2]|0;c[o>>2]=i;c[p>>2]=i;c[q>>2]=i+g;i=y<<24>>24?162:153;if(c[A>>2]|0){B=f;g=1;break}e=c[(c[u>>2]|0)+304>>2]|0;g=117;while(1){if((c[e+(g<<2)>>2]|0)==(k|0))break;g=g+1|0;if(g>>>0>=i>>>0){B=f;g=1;break e}}B=f;g=g+-115|0;break}else if((C|0)==363)br(c[u>>2]|0,346367,83887878,346379);break}case 271:{w=b+812|0;g=c[w>>2]|0;e=c[g+16>>2]|0;if(e>>>0<256)k=g;else{cr(c[b+780>>2]|0,g,256);e=c[w>>2]|0;l=c[E>>2]|0;k=e;e=c[e+16>>2]|0}s=b+828|0;c[s>>2]=k;g=c[k+20>>2]|0;t=b+816|0;c[t>>2]=g;u=b+820|0;c[u>>2]=g;v=b+824|0;c[v>>2]=g+e;i=c[l+12>>2]|0;l:do if((x|0)==48)switch(i|32|0){case 120:{i=0;e=24;k=16;g=l;break l}case 111:{i=0;e=24;k=8;g=l;break l}case 98:{i=0;e=24;k=2;g=l;break l}default:{if((i+-48|0)>>>0>=10){i=0;e=0;k=10;g=l;break l}if(y<<24>>24){B=b+780|0;B=c[B>>2]|0;br(B,346367,83887874,346440)}if(e>>>0<6){cr(c[b+780>>2]|0,k,70);g=c[(c[s>>2]|0)+20>>2]|0;c[t>>2]=g;c[u>>2]=g;c[v>>2]=g+70}a[g>>0]=48;c[t>>2]=(c[t>>2]|0)+1;i=1;e=12;k=8;g=c[E>>2]|0;break l}}else{i=0;e=0;k=10;g=l}while(0);g=g+e|0;c[E>>2]=g;e=D-g+768|0;if(e>>>0<72){t6(F|0,g|0,e|0)|0;c[E>>2]=F;cu(E,e)}o=(i|0)!=0;p=b+816|0;g=b+780|0;e=0;q=k;m:while(1){l=c[c[E>>2]>>2]|0;do if((l+-48|0)>>>0>=10){if((q|0)==16){if(l>>>0<256)if((a[344519+l>>0]|0)<0)C=291;else{m=e;n=16;break}}else C=291;if((C|0)==291?(C=0,(l|0)==46):0)if((q|0)!=10|(e|0)>0)break m;else{m=1;n=10;break}if((l|32|0)==101)if((q|0)!=10|(e|0)>1)break m;else{m=2;n=10;break}else if((e|0)!=2|(l|0)==45^(l|0)!=43)break m;else{m=3;n=q;break}}else{m=(e|0)==2?3:e;n=o&(e|0)==0&(l|1|0)==57?10:q}while(0);i=c[p>>2]|0;e=i;if(((c[v>>2]|0)-i|0)>>>0<6){k=c[g>>2]|0;e=i-(c[u>>2]|0)|0;i=e+70+(e>>>2)|0;if(i>>>0<e>>>0){C=298;break}cr(k,c[s>>2]|0,i);B=c[(c[s>>2]|0)+20>>2]|0;e=B+e|0;c[p>>2]=e;c[u>>2]=B;c[v>>2]=B+i}do if(l>>>0>=128){if(l>>>0<2048){a[e>>0]=l>>>6&31|192;a[e+1>>0]=l&63|128;e=2;break}if(l>>>0<65536){a[e>>0]=l>>>12&15|224;a[e+1>>0]=l>>>6&63|128;a[e+2>>0]=l&63|128;e=3;break}else{B=l+-65536|0;a[e>>0]=-19;a[e+1>>0]=B>>>16&15|160;a[e+2>>0]=B>>>10&63|128;a[e+3>>0]=-19;a[e+4>>0]=B>>>6&15|176;a[e+5>>0]=B&63|128;e=6;break}}else{a[e>>0]=l;e=1}while(0);c[p>>2]=(c[p>>2]|0)+e;e=(c[E>>2]|0)+12|0;c[E>>2]=e;i=D-e+768|0;if(i>>>0>=72){e=m;q=n;continue}t6(F|0,e|0,i|0)|0;c[E>>2]=F;cu(E,i);e=m;q=n}if((C|0)==298)br(k,344105,50331712,342539);p=b+800|0;ku(E,c[p>>2]|0)|0;i=c[g>>2]|0;k=c[p>>2]|0;l=i+68|0;m=c[l>>2]|0;if(m>>>0>=(c[i+56>>2]|0)>>>0)mr(i,1093);n=c[i+64>>2]|0;B=m-n>>4;e=((k|0)<0?B:0)+k|0;if(e>>>0>=B>>>0)Cr(i,376,k);B=n+(e<<4)|0;c[l>>2]=m+16;c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[m+12>>2]=c[B+12>>2];if(c[m>>2]&8|0){B=(c[m+8>>2]|0)+4|0;c[B>>2]=(c[B>>2]|0)+1}Hr(c[g>>2]|0,q,(q|0)==10?1474:1024);l=c[g>>2]|0;i=l+64|0;e=c[i>>2]|0;B=(c[l+68>>2]|0)-e>>4;k=B+-1|0;if(!B)Cr(l,300,-1);r=+Ar(l,e+(k<<4)|0);A=c[i>>2]|0;z=A+(k<<4)|0;B=c[z>>2]|0;A=A+(k<<4)+8|0;e=c[A>>2]|0;c[z>>2]=0;h[A>>3]=r;if(B&8|0?(A=e+4|0,B=(c[A>>2]|0)+-1|0,c[A>>2]=B,(B|0)==0):0)qr(c[l+44>>2]|0,e);h[j>>3]=r;B=c[j+4>>2]&2147483647;if(B>>>0>2146435072|(B|0)==2146435072&(c[j>>2]|0)>>>0>0){B=g;B=c[B>>2]|0;br(B,346367,83887874,346440)}o=c[g>>2]|0;i=c[p>>2]|0;m=o+68|0;k=c[o+64>>2]|0;l=(c[m>>2]|0)-k>>4;if(!l)Cr(o,376,-1);n=k+(l+-1<<4)|0;e=((i|0)<0?l:0)+i|0;if(e>>>0>=l>>>0)Cr(o,376,i);A=k+(e<<4)|0;B=c[A>>2]|0;e=c[k+(e<<4)+8>>2]|0;c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];c[n>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(B&8|0?(A=e+4|0,B=(c[A>>2]|0)+-1|0,c[A>>2]=B,(B|0)==0):0)qr(c[o+44>>2]|0,e);i=c[w>>2]|0;e=c[i+16>>2]|0;if(e>>>0>=256){cr(c[g>>2]|0,i,256);e=c[w>>2]|0;i=e;e=c[e+16>>2]|0}c[s>>2]=i;B=c[i+20>>2]|0;c[t>>2]=B;c[u>>2]=B;c[v>>2]=B+e;e=c[c[E>>2]>>2]|0;if((e+-48|0)>>>0<10){B=g;B=c[B>>2]|0;br(B,346367,83887874,346440)}do if((e|0)<128){if((e|0)<=-1)break;if((a[344848+e>>0]|0)<=0)break;B=c[g>>2]|0;br(B,346367,83887874,346440)}else{if(!(_t(338549,1036,e)|0))break;B=c[g>>2]|0;br(B,346367,83887874,346440)}while(0);h[b+904>>3]=r;B=f;g=99;break}case 343:{if((x|0)<0){B=f;g=0}else{A=b+780|0;A=c[A>>2]|0;br(A,346367,83887870,346426)}break}case 344:{B=f;break}case 345:{B=f;g=3122;break}case 346:{B=f;g=3125;break}case 347:{B=f;g=3126;break}case 348:{B=f;g=3123;break}case 349:{B=f;g=3124;break}case 350:{B=f;g=3128;break}case 351:{B=f;g=3129;break}case 352:{B=f;g=3153;break}case 361:{A=b+780|0;A=c[A>>2]|0;br(A,346367,83887870,346426);break}case 365:{br(c[b+780>>2]|0,346367,83887886,346483);break}}if((C|0)==96){B=f;g=(g|0)==61?6204:e}e=(c[E>>2]|0)+(g>>>8)|0;c[E>>2]=e;f=D-e+768|0;if(f>>>0<72){t6(F|0,e|0,f|0)|0;c[E>>2]=F;cu(E,f)}f=g&255;c[H>>2]=f;if((c[G>>2]|0)==-1)c[G>>2]=f;c[b+932>>2]=B;if(B|0){G=1;H=b+936|0;c[H>>2]=G;return}switch((g&255)<<24>>24){case 0:case 50:{G=1;H=b+936|0;c[H>>2]=G;return}default:{}}G=0;H=b+936|0;c[H>>2]=G;return}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;g=c[a>>2]|0;i=(b&16|0)==0;e=i?a+896|0:a+848|0;d=(c[e+4>>2]|0)==1;a:do if(!(b&2)){if(!d){if(!(b&1))break;br(g,346165,83893664,346210)}b=c[e+16>>2]|0;d=g+68|0;e=c[d>>2]|0;if(e>>>0<(c[g+56>>2]|0)>>>0){c[d>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=d;j=17;break}else mr(g,4153)}else{b:do if(!d){switch(c[e>>2]|0){case 100:break b;case 99:break;default:br(g,346165,83893647,346183)}b=g+68|0;d=c[b>>2]|0;if(d>>>0<(c[g+56>>2]|0)>>>0){l=+h[e+8>>3];c[b>>2]=d+16;c[d>>2]=0;h[d+8>>3]=l;Xr(g,-1)|0;f=b;j=17;break a}else mr(g,4215)}while(0);b=c[e+16>>2]|0;d=g+68|0;e=c[d>>2]|0;if(e>>>0<(c[g+56>>2]|0)>>>0){c[d>>2]=e+16;c[e>>2]=8;c[e+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=d;j=17;break}else mr(g,4153)}while(0);if((j|0)==17?(c[a+988>>2]=c[(c[f>>2]|0)+-8>>2],i):0)fu(a,-1);fu(a,53);k=c[a>>2]|0;e=a+896|0;b=c[e>>2]|0;if((b|0)==54){fu(a,-1);eu(a,0,0,49);hu(a);return}f=a+912|0;g=k+68|0;i=k+56|0;j=a+1040|0;d=0;while(1){if(d){fu(a,57);b=c[e>>2]|0}if((b|0)!=1){j=24;break}b=c[f>>2]|0;d=c[g>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){j=26;break}c[g>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=Ur(k,c[j>>2]|0)|0;Ft(k,c[j>>2]|0,b);fu(a,-1);b=c[e>>2]|0;if((b|0)==54){j=28;break}else d=1}if((j|0)==24)br(k,346165,83893582,346233);else if((j|0)==26)mr(k,4153);else if((j|0)==28){fu(a,-1);eu(a,0,0,49);hu(a);return}}function hu(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;u=C;h=d+972|0;B=c[d>>2]|0;A=B+68|0;z=B+56|0;if((c[A>>2]|0)>>>0>=(c[z>>2]|0)>>>0)mr(B,4784);r=Or(B,64)|0;v=B+44|0;f=c[v>>2]|0;c[r>>2]=402655873;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=r;c[r+12>>2]=0;c[r+8>>2]=g;c[f>>2]=r;if(!r)er(B,342583,4797);f=c[A>>2]|0;c[f>>2]=9;c[f+8>>2]=r;f=r+4|0;c[f>>2]=(c[f>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+16;f=c[B+120>>2]|0;g=r+20|0;c[g>>2]=f;if(f){x=f+4|0;y=c[x>>2]|0;c[g>>2]=0;c[x>>2]=y;if(!y)Ms(c[v>>2]|0,f)}else c[g>>2]=0;if(!(a[d+1120>>0]|0)){if(a[d+1121>>0]|0?a[d+1126>>0]|0:0)c[r>>2]=c[r>>2]|262144}else{g=c[r>>2]|0;f=g|262144;c[r>>2]=f;do if(!(a[d+1134>>0]|0)){if((a[d+1131>>0]|0)==0?(a[d+1130>>0]|0)==0:0)break;f=g|1310720;c[r>>2]=f}while(0);if(a[d+1123>>0]|0?c[d+988>>2]|0:0)c[r>>2]=f|524288}if(a[d+1126>>0]|0)c[r>>2]=c[r>>2]|65536;if(a[d+1127>>0]|0)c[r>>2]=c[r>>2]|131072;if(a[d+1124>>0]|0)c[r>>2]=c[r>>2]|256;k=d+992|0;m=qt(B,c[k>>2]|0)|0;o=d+996|0;n=qt(B,c[o>>2]|0)|0;p=(n>>>0)/3|0;q=d+976|0;y=((c[h>>2]|0)-(c[q>>2]|0)|0)>>>3;f=(p<<2)+(m<<4)+(y<<2)|0;if((c[A>>2]|0)>>>0>=(c[z>>2]|0)>>>0)mr(B,5237);if(f>>>0>2147483646)br(B,342583,50336889,342539);f=ts(c[v>>2]|0,f,4,u)|0;if(!f)er(B,342583,5246);x=c[A>>2]|0;c[x>>2]=10;c[x+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[A>>2]|0;c[A>>2]=f+16;f=c[f+8>>2]|0;c[r+40>>2]=f;x=f+4|0;c[x>>2]=(c[x>>2]|0)+1;f=f+24|0;if(m){j=m<<2;h=f;i=0;while(1){g=c[k>>2]|0;if((c[g>>2]&32768|0)!=0?(c[g+32>>2]|0)>>>0>i>>>0:0){x=c[g+24>>2]|0;g=(c[g+16>>2]|0)+(x*21|0)+(0-x&7)+(i<<4)|0}else g=0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){x=(c[g+8>>2]|0)+4|0;c[x>>2]=(c[x>>2]|0)+1}i=i+1|0;if((i|0)==(m|0))break;else h=h+16|0}f=f+(j<<2)|0}c[r+44>>2]=f;i=n>>>0>2;if(i){h=0;while(1){g=c[o>>2]|0;x=c[g+24>>2]|0;x=c[(c[g+16>>2]|0)+(x*21|0)+(0-x&7)+(h*3<<4)+8>>2]|0;g=f+4|0;c[f>>2]=x;x=x+4|0;c[x>>2]=(c[x>>2]|0)+1;h=h+1|0;if(h>>>0>=p>>>0)break;else f=g}}else g=f;c[r+48>>2]=g;w=c[q>>2]|0;s=(y|0)==0;if(!s){f=0;do{c[g+(f<<2)>>2]=c[w+(f<<3)>>2];f=f+1|0}while((f|0)!=(y|0))}f=c[A>>2]|0;x=B+64|0;if((f|0)==(c[x>>2]|0))br(B,342583,50337407,342599);p=f+-16|0;c[A>>2]=p;q=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[p>>2]=2;if(q&8|0?(p=f+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[v>>2]|0,f);b[r+60>>1]=c[d+1056>>2];r=r+62|0;b[r>>1]=qt(B,c[d+1012>>2]|0)|0;if(!(((a[d+1133>>0]|0)==0?(a[d+1131>>0]|0)==0:0)?!(i|(a[d+1130>>0]|0)!=0):0))t=55;do if((t|0)==55){g=c[d+1044>>2]|0;h=c[A>>2]|0;if(h>>>0>=(c[z>>2]|0)>>>0)mr(B,1093);i=c[x>>2]|0;q=h-i>>4;f=((g|0)<0?q:0)+g|0;if(f>>>0>=q>>>0)Cr(B,376,g);q=i+(f<<4)|0;c[A>>2]=h+16;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];if(c[h>>2]&8|0){q=(c[h+8>>2]|0)+4|0;c[q>>2]=(c[q>>2]|0)+1}q=c[d>>2]|0;p=q+68|0;f=c[p>>2]|0;g=c[f+-8>>2]|0;o=c[g+28>>2]|0;if(!o)g=0;else{n=g+16|0;m=g+24|0;k=q+44|0;j=0;g=0;do{f=c[n>>2]|0;h=f+(c[m>>2]<<4)+(j<<2)|0;i=c[h>>2]|0;do if(i){if(!(c[f+(j<<4)>>2]|0)){g=g+1|0;break}c[h>>2]=0;f=i+4|0;h=(c[f>>2]|0)+-1|0;c[f>>2]=h;if(h|0)break;rs(c[k>>2]|0,i)}while(0);j=j+1|0}while((j|0)!=(o|0));f=c[p>>2]|0}p=c[q+64>>2]|0;f=f-p>>4;f=f|0?p+(f+-1<<4)|0:0;f=(f|0)==0?368:f;do if((c[f>>2]|0)==9){f=c[f+8>>2]|0;if(!f)break;gt(q,f)}while(0);if((g|0)>0){q=c[x>>2]|0;f=(c[A>>2]|0)-q>>4;f=f>>>0>1?q+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(B,2130,-2,342926);f=c[f+8>>2]|0;if(!f)ar(B,2130,-2,342926);else{yr(B,f,c[(c[B+304>>2]|0)+380>>2]|0,0);break}}else{f=c[A>>2]|0;if((f|0)==(c[x>>2]|0))br(B,342583,50337407,342599);p=f+-16|0;c[A>>2]=p;q=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[p>>2]=2;if(!(q&8))break;p=f+4|0;q=(c[p>>2]|0)+-1|0;c[p>>2]=q;if(q|0)break;qr(c[v>>2]|0,f);break}}while(0);g=d+1040|0;f=Ur(B,c[g>>2]|0)|0;do if((f|0)==(e[r>>1]|0)){f=(f|0)!=0;if(!(a[d+1131>>0]|0))if(f&(a[d+1130>>0]|0)!=0){t=88;break}else break;else if(f){t=88;break}else break}else t=88;while(0);do if((t|0)==88){g=c[g>>2]|0;h=c[A>>2]|0;if(h>>>0>=(c[z>>2]|0)>>>0)mr(B,1093);i=c[x>>2]|0;t=h-i>>4;f=((g|0)<0?t:0)+g|0;if(f>>>0>=t>>>0)Cr(B,376,g);t=i+(f<<4)|0;c[A>>2]=h+16;c[h>>2]=c[t>>2];c[h+4>>2]=c[t+4>>2];c[h+8>>2]=c[t+8>>2];c[h+12>>2]=c[t+12>>2];if(c[h>>2]&8|0){t=(c[h+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}t=c[x>>2]|0;f=(c[A>>2]|0)-t>>4;f=f>>>0>1?t+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(B,2130,-2,342926);f=c[f+8>>2]|0;if(!f)ar(B,2130,-2,342926);else{yr(B,f,c[(c[B+304>>2]|0)+376>>2]|0,0);break}}while(0);f=c[d+988>>2]|0;do if(f|0){g=c[A>>2]|0;if(g>>>0>=(c[z>>2]|0)>>>0)mr(B,4153);c[A>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;t=f+4|0;c[t>>2]=(c[t>>2]|0)+1;t=c[x>>2]|0;f=(c[A>>2]|0)-t>>4;f=f>>>0>1?t+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(B,2130,-2,342926);f=c[f+8>>2]|0;if(!f)ar(B,2130,-2,342926);else{yr(B,f,c[(c[B+304>>2]|0)+352>>2]|0,0);break}}while(0);f=(y+63|0)>>>6<<3|4;if((c[A>>2]|0)>>>0>=(c[z>>2]|0)>>>0)mr(B,5237);g=ts(c[v>>2]|0,f,1,u)|0;if(!g)er(B,342583,5246);r=c[A>>2]|0;c[r>>2]=10;c[r+8>>2]=g;r=g+4|0;c[r>>2]=(c[r>>2]|0)+1;r=c[A>>2]|0;c[A>>2]=r+16;r=c[r+8>>2]|0;q=r+20|0;c[c[q>>2]>>2]=y;if(!s){h=0;do{cr(B,r,f+276|0);p=c[q>>2]|0;v=h>>>5|1;g=c[w+(h<<3)+4>>2]|0;c[p+(v<<2)>>2]=g;c[p+(v+1<<2)>>2]=f;p=p+f|0;h=h+1|0;if(h>>>0<y>>>0&(h&63|0)!=0){o=g;g=0;j=0;i=0;do{k=o;o=c[w+(h<<3)+4>>2]|0;k=o-k|0;do if(!k){j=j<<1;m=i+1|0;if((i|0)<=6){i=m;break}n=6-i|0;n=(n|0)>-8?n:-8;k=m;do if(g>>>0<276){k=k+-8|0;a[p+g>>0]=j>>>k;g=g+1|0}else k=k+-8|0;while((k|0)>7);i=i+-7-(n+m&-8)|0}else{if((k+-1|0)>>>0<4){j=k+7|j<<4;i=i+4|0;if((i|0)>7)k=i;else break;do if(g>>>0<276){k=k+-8|0;a[p+g>>0]=j>>>k;g=g+1|0}else k=k+-8|0;while((k|0)>7);i=i&7;break}if((k+128|0)>>>0<256){j=k+1664|j<<11;k=i+11|0;if((k|0)<=7){i=k;break}do if(g>>>0<276){k=k+-8|0;a[p+g>>0]=j>>>k;g=g+1|0}else k=k+-8|0;while((k|0)>7);i=i+3&7;break}m=o>>>16;k=j<<19|m|458752;j=i+19|0;if((j|0)>7){do if(g>>>0<276){j=j+-8|0;a[p+g>>0]=k>>>j;g=g+1|0}else j=j+-8|0;while((j|0)>7);k=i+3&7}else k=j;j=m<<16|o&65535;i=k+16|0;if((i|0)<=7)break;do if(g>>>0<276){i=i+-8|0;a[p+g>>0]=j>>>i;g=g+1|0}else i=i+-8|0;while((i|0)>7);i=k&7}while(0);h=h+1|0}while(h>>>0<y>>>0&(h&63|0)!=0)}else{g=0;j=0;i=0}i=8-i|0;if((i|0)>0&g>>>0<276){a[p+g>>0]=j<<i;g=g+1|0}f=g+f|0}while(h>>>0<y>>>0)}cr(B,r,f);iu(B,0,0);y=c[x>>2]|0;f=(c[A>>2]|0)-y>>4;f=f>>>0>1?y+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(B,2130,-2,342926);f=c[f+8>>2]|0;if(!f)ar(B,2130,-2,342926);h=B+304|0;yr(B,f,c[(c[h>>2]|0)+388>>2]|0,0);f=c[d+4>>2]|0;do if(f|0){g=c[A>>2]|0;if(g>>>0>=(c[z>>2]|0)>>>0)mr(B,4153);c[A>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;z=f+4|0;c[z>>2]=(c[z>>2]|0)+1;z=c[x>>2]|0;f=(c[A>>2]|0)-z>>4;f=f>>>0>1?z+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(B,2130,-2,342926);f=c[f+8>>2]|0;if(!f)ar(B,2130,-2,342926);else{yr(B,f,c[(c[h>>2]|0)+356>>2]|0,0);break}}while(0);z=c[x>>2]|0;f=(c[A>>2]|0)-z>>4;f=f|0?z+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9){l=C;return}f=c[f+8>>2]|0;if(!f){l=C;return}gt(B,f);l=C;return}function iu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;n=s;r=a+68|0;e=c[r>>2]|0;o=a+64|0;g=c[o>>2]|0;f=e-g|0;i=f>>4;q=i+-1|0;if(!i)Cr(a,300,-1);p=(f|0)<16;f=(p?i:0)+q|0;f=f>>>0<i>>>0?g+(f<<4)|0:0;f=(f|0)==0?368:f;do if((c[f>>2]|0)==10?(j=c[f+8>>2]|0,(j|0)!=0):0){g=c[j>>2]|0;if(!(g&128))i=j+24|0;else i=c[j+20>>2]|0;h=c[j+16>>2]|0;f=(d|0)==2;if((g>>>7&1|0)==(d|0))if(f|(g&256|0)==0)break;else{k=h;m=15;break}else if(f)break;else{k=h;m=15;break}}else m=11;while(0);do if((m|0)==11){Xr(a,q)|0;f=c[r>>2]|0;k=c[o>>2]|0;j=f-k>>4;e=(p?j:0)+q|0;e=e>>>0<j>>>0?k+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(a,2101,q,361511);e=c[e+8>>2]|0;if(!e)ar(a,2101,q,361511);else{i=e+28|0;k=c[e+20>>2]|0;e=f;m=15;break}}while(0);if((m|0)==15){if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,5237);if(k>>>0>2147483646)br(a,342583,50336889,342539);j=a+44|0;e=ts(c[j>>2]|0,k,(d|0)==1&1,n)|0;if(!e)er(a,342583,5246);d=c[r>>2]|0;c[d>>2]=10;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=(c[r>>2]|0)+16|0;c[r>>2]=e;if(k){s6(c[n>>2]|0,i|0,k|0)|0;e=c[r>>2]|0}g=c[o>>2]|0;f=e-g>>4;if(!f)Cr(a,376,-1);h=g+(f+-1<<4)|0;e=(p?f:0)+q|0;if(e>>>0>=f>>>0)Cr(a,376,q);q=g+(e<<4)|0;a=c[q>>2]|0;e=c[g+(e<<4)+8>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=c[h+4>>2];c[q+8>>2]=c[h+8>>2];c[q+12>>2]=c[h+12>>2];c[h>>2]=2;c[r>>2]=(c[r>>2]|0)+-16;if((a&8|0)!=0?(a=e+4|0,r=(c[a>>2]|0)+-1|0,c[a>>2]=r,(r|0)==0):0){qr(c[j>>2]|0,e);h=k}else h=k}if(!b){l=s;return}c[b>>2]=h;l=s;return}function ju(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=c[a+64>>2]|0;e=(c[a+68>>2]|0)-h>>4;f=((b|0)<0?e:0)+b|0;if(f>>>0>=e>>>0)Cr(a,376,b);g=h+(f<<4)|0;b=((d|0)<0?e:0)+d|0;if(b>>>0>=e>>>0)Cr(a,376,d);d=h+(b<<4)|0;if(c[g>>2]&8|0){f=(c[h+(f<<4)+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}if(!(c[d>>2]&8)){c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];return}b=c[h+(b<<4)+8>>2]|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];g=b+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return;qr(c[a+44>>2]|0,b);return}function ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+772|0;d=c[j>>2]|0;e=c[a+812>>2]|0;f=d+68|0;if((c[f>>2]|0)>>>0>=(c[d+56>>2]|0)>>>0)mr(d,4300);a=(e|0)==0?0:(c[a+808>>2]|0)-e|0;if((a|0)<0)br(d,342583,50335961,342945);g=fs(d,e,a)|0;d=c[f>>2]|0;c[f>>2]=d+16;c[d>>2]=8;c[d+8>>2]=g;f=g+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[j>>2]|0;g=f+68|0;d=c[f+64>>2]|0;e=(c[g>>2]|0)-d>>4;if(!e)Cr(f,376,-1);h=d+(e+-1<<4)|0;i=(b|0)<0;a=(i?e:0)+b|0;if(a>>>0>=e>>>0)Cr(f,376,b);k=d+(a<<4)|0;e=c[k>>2]|0;a=c[d+(a<<4)+8>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];c[h>>2]=2;c[g>>2]=(c[g>>2]|0)+-16;if(e&8|0?(h=a+4|0,k=(c[h>>2]|0)+-1|0,c[h>>2]=k,(k|0)==0):0)qr(c[f+44>>2]|0,a);k=c[j>>2]|0;return c[(c[(i?k+68|0:k+64|0)>>2]|0)+(b<<4)+8>>2]|0}function lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b>>2]|0;if((c[e+12>>2]|0)==117){d=d|0?(c[e+24>>2]|0)==123:0;f=d?0:4;d=d?36:24}else{f=2;d=24}d=e+d|0;c[b>>2]=d;i=b+4|0;j=i;e=j-d+768|0;if(e>>>0<72){t6(i|0,d|0,e|0)|0;c[b>>2]=i;cu(b,e);d=0;g=f}else{d=0;g=f}while(1){e=c[b>>2]|0;h=c[e>>2]|0;e=e+12|0;c[b>>2]=e;f=j-e+768|0;if(f>>>0<72){t6(i|0,e|0,f|0)|0;c[b>>2]=i;cu(b,f)}if(h>>>0<256){f=a[344519+h>>0]|0;f=(f<<24>>24>-1?f:-1)<<24>>24}else f=-1;if((g|0)>0){e=g+-1|0;if((f|0)<0){e=15;break}d=f+(d<<4)|0;if(!e){e=16;break}else{g=e;continue}}else{if((f|0)<=-1){e=14;break}d=f+(d<<4)|0;if((d|0)>1114111){e=15;break}else{g=-1;continue}}}if((e|0)==14)if((g|0)==0|(h|0)!=125){b=b+772|0;b=c[b>>2]|0;br(b,346367,83886822,346379)}else{b=d;return b|0}else if((e|0)==15){b=b+772|0;b=c[b>>2]|0;br(b,346367,83886822,346379)}else if((e|0)==16)return d|0;return 0}function mu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;m=o;n=c[a>>2]|0;k=n+68|0;g=c[k>>2]|0;e=c[n+52>>2]|0;f=g-e+768|0;e=e+f|0;i=n+56|0;j=c[i>>2]|0;h=g;do if(j>>>0<e>>>0)if((c[n+60>>2]|0)>>>0<e>>>0){Er(n,f,1)|0;f=c[k>>2]|0;g=f;e=c[i>>2]|0;break}else{c[i>>2]=e;f=h;break}else{f=h;e=j}while(0);j=m+4|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[m>>2]=1;c[m+8>>2]=1;j=g-(c[n+64>>2]|0)>>4;c[m+16>>2]=j;c[m+28>>2]=j+1;if(f>>>0>=e>>>0)mr(n,4162);j=f+16|0;c[k>>2]=j;if(j>>>0>=e>>>0)mr(n,4162);c[k>>2]=f+32;e=a+896|0;f=c[e>>2]|0;if(!d){if((f|0)==50){fu(a,-1);Nt(n);l=o;return}do ru(a,m,b);while((c[e>>2]|0)!=50);fu(a,-1);Nt(n);l=o;return}else{if(!f){fu(a,-1);Nt(n);l=o;return}do ru(a,m,b);while((c[e>>2]|0)!=0);fu(a,-1);Nt(n);l=o;return}}function nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,k=0,l=0;i=a+68|0;g=a+64|0;e=c[g>>2]|0;l=(c[i>>2]|0)-e>>4;k=(b|0)<0;d=(k?l:0)+b|0;if(d>>>0>=l>>>0)Cr(a,376,b);f=+Ar(a,e+(d<<4)|0);h[j>>3]=f;d=c[j>>2]|0;e=c[j+4>>2]|0;if(0==0&(e&2146435072|0)==2146435072)f=(d|0)!=0|(e&1048575|0)!=0?0.0:f;else{f=+A(+(+B(+f)));f=(e|0)>-1|(e|0)==-1&d>>>0>4294967295?f:-f}e=c[g>>2]|0;l=(c[i>>2]|0)-e>>4;d=(k?l:0)+b|0;if(d>>>0>=l>>>0)Cr(a,376,b);k=e+(d<<4)|0;l=c[k>>2]|0;b=e+(d<<4)+8|0;d=c[b>>2]|0;c[k>>2]=0;h[b>>3]=f;if(!(l&8))return;b=d+4|0;l=(c[b>>2]|0)+-1|0;c[b>>2]=l;if(l|0)return;qr(c[a+44>>2]|0,d);return}function ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if((f&2147418112)>>>0>=65536){r=c[b>>2]|0;br(r,346165,50333202,346540)}if((e|0)<256){n=e<<8|d&255|f<<16;l=b+980|0;m=b+972|0;h=c[m>>2]|0;i=h;do if(((c[l>>2]|0)-i|0)>>>0<=7){j=c[b>>2]|0;k=b+976|0;h=i-(c[k>>2]|0)|0;i=h+72+(h>>>2)|0;if(i>>>0<h>>>0)br(j,344105,50331712,342539);else{r=b+984|0;cr(j,c[r>>2]|0,i);r=c[(c[r>>2]|0)+20>>2]|0;o=r+h|0;c[m>>2]=o;c[k>>2]=r;c[l>>2]=r+i;break}}else o=h;while(0);i=o+8|0;c[m>>2]=i;h=c[b+876>>2]|0;if(!h)h=c[b+924>>2]|0;c[o>>2]=n;c[o+4>>2]=h;if((h|0)>2147418112?1:(i-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}if(d&256|0){r=c[b>>2]|0;br(r,346165,50333202,346540)}if((d&240|0)==176){a[b+1135>>0]=1;i=c[b+1060>>2]|0;h=e+32768|0;if(h>>>0<65536)ou(b,4,i,h);else{ou(b,4,i,(e>>>16)+32768|0);ou(b,5,i,e&65535)}n=d&247|f<<16|i<<8|8;l=b+980|0;m=b+972|0;h=c[m>>2]|0;i=h;do if(((c[l>>2]|0)-i|0)>>>0<=7){j=c[b>>2]|0;k=b+976|0;h=i-(c[k>>2]|0)|0;i=h+72+(h>>>2)|0;if(i>>>0<h>>>0)br(j,344105,50331712,342539);else{r=b+984|0;cr(j,c[r>>2]|0,i);r=c[(c[r>>2]|0)+20>>2]|0;p=r+h|0;c[m>>2]=p;c[k>>2]=r;c[l>>2]=r+i;break}}else p=h;while(0);i=p+8|0;c[m>>2]=i;h=c[b+876>>2]|0;if(!h)h=c[b+924>>2]|0;c[p>>2]=n;c[p+4>>2]=h;if((h|0)>2147418112?1:(i-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}if((e|0)>=65536){r=c[b>>2]|0;br(r,346165,50333202,346540)}a[b+1135>>0]=1;q=c[b+1060>>2]<<8;r=f<<16|d&255|q;if(!(d&2048)){f=b+980|0;h=c[f>>2]|0;d=b+972|0;i=c[d>>2]|0;j=i;do if((h-j|0)>>>0<=7){k=c[b>>2]|0;l=b+976|0;h=j-(c[l>>2]|0)|0;i=h+72+(h>>>2)|0;if(i>>>0<h>>>0)br(k,344105,50331712,342539);else{v=b+984|0;cr(k,c[v>>2]|0,i);v=c[(c[v>>2]|0)+20>>2]|0;s=v+h|0;c[d>>2]=s;c[l>>2]=v;v=v+i|0;c[f>>2]=v;break}}else{s=i;v=h}while(0);k=s+8|0;c[d>>2]=k;p=b+876|0;l=c[p>>2]|0;m=k;if(!l)i=c[b+924>>2]|0;else i=l;c[s>>2]=r;c[s+4>>2]=i;n=b+976|0;h=c[n>>2]|0;o=m-h|0;if((i|0)>2147418112|o>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);j=e<<16|q|1;do if((v-m|0)>>>0<=7){h=c[b>>2]|0;i=o+72+(o>>>2)|0;if(i>>>0<o>>>0)br(h,344105,50331712,342539);else{A=b+984|0;cr(h,c[A>>2]|0,i);A=c[(c[A>>2]|0)+20>>2]|0;z=A+o|0;c[d>>2]=z;c[n>>2]=A;c[f>>2]=A+i;g=c[p>>2]|0;break}}else{z=k;g=l;A=h}while(0);h=z+8|0;c[d>>2]=h;if(!g)g=c[b+924>>2]|0;c[z>>2]=j;c[z+4>>2]=g;if((g|0)>2147418112|(h-A|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}else{l=q|e<<16;o=b+980|0;g=c[o>>2]|0;p=b+972|0;h=c[p>>2]|0;i=h;do if((g-i|0)>>>0<=7){j=c[b>>2]|0;k=b+976|0;g=i-(c[k>>2]|0)|0;h=g+72+(g>>>2)|0;if(h>>>0<g>>>0)br(j,344105,50331712,342539);else{u=b+984|0;cr(j,c[u>>2]|0,h);u=c[(c[u>>2]|0)+20>>2]|0;t=u+g|0;c[p>>2]=t;c[k>>2]=u;u=u+h|0;c[o>>2]=u;break}}else{t=h;u=g}while(0);i=t+8|0;c[p>>2]=i;n=b+876|0;j=c[n>>2]|0;k=i;if(!j)h=c[b+924>>2]|0;else h=j;c[t>>2]=l;c[t+4>>2]=h;l=b+976|0;g=c[l>>2]|0;m=k-g|0;if((h|0)>2147418112|m>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);do if((u-k|0)>>>0<=7){g=c[b>>2]|0;h=m+72+(m>>>2)|0;if(h>>>0<m>>>0)br(g,344105,50331712,342539);else{y=b+984|0;cr(g,c[y>>2]|0,h);y=c[(c[y>>2]|0)+20>>2]|0;x=y+m|0;c[p>>2]=x;c[l>>2]=y;c[o>>2]=y+h;w=c[n>>2]|0;break}}else{x=i;w=j;y=g}while(0);h=x+8|0;c[p>>2]=h;if(!w)g=c[b+924>>2]|0;else g=w;c[x>>2]=r;c[x+4>>2]=g;if((g|0)>2147418112|(h-y|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a>>2]|0;d=a+1020|0;f=Ur(l,c[d>>2]|0)|0;j=l+68|0;g=(c[j>>2]|0)+-16|0;h=(f|0)<256?f:256;do if((f|0)>0){b=a+992|0;k=0;while(1){m=c[b>>2]|0;e=c[m+24>>2]|0;if(Fs(0,g,(c[m+16>>2]|0)+(e*21|0)+(0-e&7)+(k<<4)|0,1)|0)break;e=k+1|0;if((e|0)<(h|0))k=e;else{i=10;break}}if((i|0)==10){if((f|0)<=65535)break;br(c[a>>2]|0,346165,50333638,346614)}a=c[j>>2]|0;if((a|0)==(c[l+64>>2]|0))br(l,342583,50337407,342599);i=a+-16|0;c[j>>2]=i;m=c[a+-16>>2]|0;a=c[a+-8>>2]|0;c[i>>2]=2;if(!(m&8)){m=k;m=m|-2147483648;return m|0}j=a+4|0;m=(c[j>>2]|0)+-1|0;c[j>>2]=m;if(m|0){m=k;m=m|-2147483648;return m|0}qr(c[l+44>>2]|0,a);m=k;m=m|-2147483648;return m|0}while(0);Ft(l,c[d>>2]|0,f);m=f;m=m|-2147483648;return m|0}function qu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;I=d&255;do if((e|0)>=256){if(!((d&256|0)==0&(e|0)<65536)){q=c[b>>2]|0;br(q,346165,50333104,346540)}a[b+1135>>0]=1;q=c[b+1060>>2]|0;if(!(d&2048)){if(!((I|0)==172&(e|0)>65534)){x=q;C=e;break}p=c[b>>2]|0;br(p,346165,50333104,346540)}p=q<<8|e<<16;n=b+980|0;o=b+972|0;e=c[o>>2]|0;k=e;do if(((c[n>>2]|0)-k|0)>>>0<=7){l=c[b>>2]|0;m=b+976|0;e=k-(c[m>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(l,344105,50331712,342539);else{r=b+984|0;cr(l,c[r>>2]|0,k);l=c[(c[r>>2]|0)+20>>2]|0;r=l+e|0;c[o>>2]=r;c[m>>2]=l;c[n>>2]=l+k;break}}else r=e;while(0);k=r+8|0;c[o>>2]=k;e=c[b+876>>2]|0;if(!e)e=c[b+924>>2]|0;c[r>>2]=p;c[r+4>>2]=e;if((e|0)>2147418112?1:(k-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{x=q;C=-1}}else{x=e;C=-1}while(0);do if((f|0)<0){e=f&2147483647;if(e>>>0<256){w=d>>>14&1;M=e;A=d;N=-1;break}if(e>>>0>=65536){s=c[b>>2]|0;br(s,346165,50333104,346540)}a[b+1135>>0]=1;q=c[b+1064>>2]|0;p=f<<16|q<<8|3;n=b+980|0;o=b+972|0;e=c[o>>2]|0;k=e;do if(((c[n>>2]|0)-k|0)>>>0<=7){l=c[b>>2]|0;m=b+976|0;e=k-(c[m>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(l,344105,50331712,342539);else{s=b+984|0;cr(l,c[s>>2]|0,k);s=c[(c[s>>2]|0)+20>>2]|0;t=s+e|0;c[o>>2]=t;c[m>>2]=s;c[n>>2]=s+k;break}}else t=e;while(0);k=t+8|0;c[o>>2]=k;e=c[b+876>>2]|0;if(!e)e=c[b+924>>2]|0;c[t>>2]=p;c[t+4>>2]=e;if((e|0)>2147418112?1:(k-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{w=0;M=q;A=d;N=-1}}else if((f|0)>=256){if(!((d&512|0)==0&(f|0)<65536)){t=c[b>>2]|0;br(t,346165,50333104,346540)}a[b+1135>>0]=1;q=c[b+1064>>2]|0;if(!(d&4096)){if((I|4|0)==198){e=f+32768|0;if(e>>>0<65536)ou(b,4,q,e);else{ou(b,4,q,(f>>>16)+32768|0);ou(b,5,q,f&65535)}w=0;M=q;A=d+1|0;N=-1;break}p=q<<8|f<<16;n=b+980|0;o=b+972|0;e=c[o>>2]|0;k=e;do if(((c[n>>2]|0)-k|0)>>>0<=7){l=c[b>>2]|0;m=b+976|0;e=k-(c[m>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(l,344105,50331712,342539);else{t=b+984|0;cr(l,c[t>>2]|0,k);t=c[(c[t>>2]|0)+20>>2]|0;s=t+e|0;c[o>>2]=s;c[m>>2]=t;c[n>>2]=t+k;break}}else s=e;while(0);k=s+8|0;c[o>>2]=k;e=c[b+876>>2]|0;if(!e)e=c[b+924>>2]|0;c[s>>2]=p;c[s+4>>2]=e;if((e|0)>2147418112?1:(k-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{w=0;M=q;A=d;N=-1}}else{w=0;M=q;A=d;N=f}}else{w=0;M=f;A=d;N=-1}while(0);do if((g|0)<0){e=g&2147483647;if(e>>>0<256){Q=e;R=-1;y=A>>>13&2|w;break}if(e>>>0>=65536){u=c[b>>2]|0;br(u,346165,50333104,346540)}a[b+1135>>0]=1;q=c[b+1068>>2]|0;p=g<<16|q<<8|3;n=b+980|0;o=b+972|0;e=c[o>>2]|0;k=e;do if(((c[n>>2]|0)-k|0)>>>0<=7){l=c[b>>2]|0;m=b+976|0;e=k-(c[m>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(l,344105,50331712,342539);else{u=b+984|0;cr(l,c[u>>2]|0,k);u=c[(c[u>>2]|0)+20>>2]|0;v=u+e|0;c[o>>2]=v;c[m>>2]=u;c[n>>2]=u+k;break}}else v=e;while(0);k=v+8|0;c[o>>2]=k;e=c[b+876>>2]|0;if(!e)e=c[b+924>>2]|0;c[v>>2]=p;c[v+4>>2]=e;if((e|0)>2147418112?1:(k-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{Q=q;R=-1;y=w}}else if((g|0)>=256){if(!((g|0)<65536&(A&1024|0)==0)){v=c[b>>2]|0;br(v,346165,50333104,346540)}a[b+1135>>0]=1;q=c[b+1068>>2]|0;if(!(A&8192)){p=q<<8|g<<16;n=b+980|0;o=b+972|0;e=c[o>>2]|0;k=e;do if(((c[n>>2]|0)-k|0)>>>0<=7){l=c[b>>2]|0;m=b+976|0;e=k-(c[m>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(l,344105,50331712,342539);else{v=b+984|0;cr(l,c[v>>2]|0,k);v=c[(c[v>>2]|0)+20>>2]|0;u=v+e|0;c[o>>2]=u;c[m>>2]=v;c[n>>2]=v+k;break}}else u=e;while(0);k=u+8|0;c[o>>2]=k;e=c[b+876>>2]|0;if(!e)e=c[b+924>>2]|0;c[u>>2]=p;c[u+4>>2]=e;if((e|0)>2147418112?1:(k-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{Q=q;R=-1;y=w}}else{Q=q;R=g;y=w}}else{Q=g;R=-1;y=w}while(0);p=x<<8;o=M<<16|p|A&255|Q<<24|y;f=b+980|0;e=c[f>>2]|0;s=b+972|0;k=c[s>>2]|0;l=k;do if((e-l|0)>>>0<=7){m=c[b>>2]|0;n=b+976|0;e=l-(c[n>>2]|0)|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(m,344105,50331712,342539);else{B=b+984|0;cr(m,c[B>>2]|0,k);B=c[(c[B>>2]|0)+20>>2]|0;z=B+e|0;c[s>>2]=z;c[n>>2]=B;B=B+k|0;c[f>>2]=B;break}}else{z=k;B=e}while(0);l=z+8|0;c[s>>2]=l;r=b+876|0;m=c[r>>2]|0;n=l;if(!m)k=c[b+924>>2]|0;else k=m;c[z>>2]=o;c[z+4>>2]=k;q=b+976|0;e=c[q>>2]|0;o=n-e|0;if((k|0)>2147418112|o>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);if(A&32768){c[b+968>>2]=o>>>3;do if((B-n|0)>>>0<=7){e=c[b>>2]|0;k=o+72+(o>>>2)|0;if(k>>>0<o>>>0)br(e,344105,50331712,342539);else{F=b+984|0;cr(e,c[F>>2]|0,k);F=c[(c[F>>2]|0)+20>>2]|0;D=F+o|0;c[s>>2]=D;c[q>>2]=F;G=F+k|0;c[f>>2]=G;E=c[r>>2]|0;break}}else{D=l;E=m;F=e;G=B}while(0);k=D+8|0;c[s>>2]=k;l=k;if(!E)e=c[b+924>>2]|0;else e=E;c[D>>2]=2;c[D+4>>2]=e;if((e|0)>2147418112|(l-F|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{U=k;V=G;X=l;Y=F;W=E}}else{U=l;V=B;X=n;Y=e;W=m}if((C|0)>-1){o=C<<16;n=o|p|1;do if((V-U|0)>>>0<=7){e=c[b>>2]|0;k=X-Y|0;l=k+72+(k>>>2)|0;if(l>>>0<k>>>0)br(e,344105,50331712,342539);else{K=b+984|0;cr(e,c[K>>2]|0,l);K=c[(c[K>>2]|0)+20>>2]|0;H=K+k|0;c[s>>2]=H;c[q>>2]=K;L=K+l|0;c[f>>2]=L;J=c[r>>2]|0;break}}else{H=U;J=W;K=Y;L=V}while(0);k=H+8|0;c[s>>2]=k;m=k;if(!J)e=c[b+924>>2]|0;else e=J;c[H>>2]=n;c[H+4>>2]=e;n=m-K|0;if((e|0)>2147418112|n>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);if((I|0)!=172)return;l=o+65536|p+256|1;do if((L-m|0)>>>0<=7){e=c[b>>2]|0;k=n+72+(n>>>2)|0;if(k>>>0<n>>>0)br(e,344105,50331712,342539);else{P=b+984|0;cr(e,c[P>>2]|0,k);P=c[(c[P>>2]|0)+20>>2]|0;O=P+n|0;c[s>>2]=O;c[q>>2]=P;c[f>>2]=P+k;j=c[r>>2]|0;break}}else{O=k;j=J;P=K}while(0);e=O+8|0;c[s>>2]=e;if(!j)j=c[b+924>>2]|0;c[O>>2]=l;c[O+4>>2]=j;if((j|0)>2147418112|(e-P|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}if((N|0)>-1){l=M<<8|N<<16|1;do if((V-U|0)>>>0<=7){j=c[b>>2]|0;e=X-Y|0;k=e+72+(e>>>2)|0;if(k>>>0<e>>>0)br(j,344105,50331712,342539);else{T=b+984|0;cr(j,c[T>>2]|0,k);T=c[(c[T>>2]|0)+20>>2]|0;S=T+e|0;c[s>>2]=S;c[q>>2]=T;c[f>>2]=T+k;i=c[r>>2]|0;break}}else{S=U;i=W;T=Y}while(0);j=S+8|0;c[s>>2]=j;if(!i)i=c[b+924>>2]|0;c[S>>2]=l;c[S+4>>2]=i;if((i|0)>2147418112|(j-T|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}if((R|0)<=-1)return;k=Q<<8|R<<16|1;do if((V-U|0)>>>0<=7){e=c[b>>2]|0;i=X-Y|0;j=i+72+(i>>>2)|0;if(j>>>0<i>>>0)br(e,344105,50331712,342539);else{_=b+984|0;cr(e,c[_>>2]|0,j);_=c[(c[_>>2]|0)+20>>2]|0;Z=_+i|0;c[s>>2]=Z;c[q>>2]=_;c[f>>2]=_+j;h=c[r>>2]|0;break}}else{Z=U;h=W;_=Y}while(0);i=Z+8|0;c[s>>2]=i;if(!h)h=c[b+924>>2]|0;c[Z>>2]=k;c[Z+4>>2]=h;if((h|0)>2147418112|(i-_|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else return}function ru(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0;Sa=l;l=l+16|0;x=Sa+4|0;z=Sa;pa=c[b>>2]|0;Ra=b+960|0;g=c[Ra>>2]|0;if((g|0)>=(c[b+964>>2]|0))br(pa,346165,50332059,346504);c[Ra>>2]=g+1;Na=b+1052|0;Oa=c[Na>>2]|0;Ka=b+972|0;La=b+976|0;Ja=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;Pa=b+1032|0;Qa=Ur(pa,c[Pa>>2]|0)|0;ma=b+1092|0;c[ma>>2]=(c[ma>>2]|0)+1;ma=b+1128|0;m=a[ma>>0]|0;a[ma>>0]=0;Ia=b+896|0;Ca=b+1072|0;Da=b+1076|0;Ea=b+1080|0;Fa=b+1084|0;Ga=b+1088|0;j=b+848|0;n=b+864|0;k=pa+304|0;g=-1;a:while(1){i=c[Ia>>2]|0;switch(i|0){case 9:case 12:case 19:case 27:{Ma=su(b,g)|0;tu(b,c[(c[k>>2]|0)+60>>2]|0,Ja,Ma);i=c[Ia>>2]|0;break}default:Ma=g}switch(i|0){case 13:{Ha=7;break a}case 49:{Ha=14;break a}case 25:{Ha=16;break a}case 24:{Ha=19;break a}case 56:{f=2;Ha=470;break a}case 14:{Ha=22;break a}case 9:{Ha=46;break a}case 27:{Ha=54;break a}case 12:{Ha=70;break a}case 2:case 5:{Ha=175;break a}case 18:{Ha=205;break a}case 28:{Ha=235;break a}case 19:{Ha=271;break a}case 21:{Ha=325;break a}case 22:{Ha=331;break a}case 6:{Ha=452;break a}default:{}}g=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);switch(c[Ca>>2]|0){case 0:{Ha=454;break a}case 1:break;default:{f=3;Ha=467;break a}}if(c[Da>>2]|0){f=3;Ha=467;break}g=c[j>>2]|0;if((g|0)!=1){Ha=459;break}if((c[Ia>>2]|0)!=85){f=3;Ha=467;break}e=c[n>>2]|0;fu(b,-1);g=su(b,Ma)|0;tu(b,e,Ja,g);e=0}b:switch(Ha|0){case 7:{if((e|0)==0?a[b+1126>>0]|0:0)br(pa,346165,83892481,346626);fu(b,-1);f=uu(b,9)|0;if(a[b+1129>>0]|0){g=b+1028|0;e=Ur(pa,c[g>>2]|0)|0;Ft(pa,c[g>>2]|0,e);i=pa+68|0;j=c[i>>2]|0;if(j>>>0<(c[pa+56>>2]|0)>>>0){c[i>>2]=j+16;c[j>>2]=0;h[j+8>>3]=+(f<<8|1|0);Ft(pa,c[g>>2]|0,e+1|0);Ha=476;break}else mr(pa,4244)}else Ha=476;break}case 14:{fu(b,-1);mu(b,0,0);if((Ma|0)>-1){f=c[La>>2]|0;g=f;f=(c[Ka>>2]|0)-f|0;Ha=477;break}else{c[Na>>2]=Oa;Oa=c[b>>2]|0;Pa=c[Pa>>2]|0;$t(Oa,Pa,Qa);Pa=b+1008|0;Pa=c[Pa>>2]|0;b=Qa*20|0;cr(Oa,Pa,b);b=c[Ra>>2]|0;b=b+-1|0;c[Ra>>2]=b;l=Sa;return}}case 16:{fu(b,-1);vu(b,d,1024,x,z);if((c[Ia>>2]|0)==57)do{fu(b,-1);vu(b,d,1024,x,z)}while((c[Ia>>2]|0)==57);f=2;Ha=470;break}case 19:{fu(b,-1);vu(b,d,0,x,z);if((c[Ia>>2]|0)==57)do{fu(b,-1);vu(b,d,0,x,z)}while((c[Ia>>2]|0)==57);f=2;Ha=470;break}case 22:{i=c[Na>>2]|0;fu(b,-1);fu(b,53);f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);f=yu(b,d+8|0,-1,1)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f;ou(b,f>>>31|48,0,f);f=c[Ka>>2]|0;g=c[La>>2]|0;e=f-g|0;m=e>>>3;k=b+980|0;do if(((c[k>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=e+72+(e>>>2)|0;if(g>>>0<e>>>0)br(f,344105,50331712,342539);else{w=b+984|0;cr(f,c[w>>2]|0,g);w=c[(c[w>>2]|0)+20>>2]|0;v=w+e|0;c[Ka>>2]=v;c[La>>2]=w;c[k>>2]=w+g;break}}else{v=f;w=g}while(0);g=v+8|0;c[Ka>>2]=g;j=b+876|0;f=c[j>>2]|0;if(!f)f=c[b+924>>2]|0;c[v>>2]=2;c[v+4>>2]=f;if((f|0)>2147418112|(g-w|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);c[Na>>2]=i;fu(b,54);ru(b,d,0);do if((c[Ia>>2]|0)==10){fu(b,-1);f=c[Ka>>2]|0;g=c[La>>2]|0;e=f-g|0;i=e>>>3;do if(((c[k>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=e+72+(e>>>2)|0;if(g>>>0<e>>>0)br(f,344105,50331712,342539);else{L=b+984|0;cr(f,c[L>>2]|0,g);L=c[(c[L>>2]|0)+20>>2]|0;I=L+e|0;c[Ka>>2]=I;c[La>>2]=L;c[k>>2]=L+g;break}}else{I=f;L=g}while(0);e=I+8|0;c[Ka>>2]=e;f=c[j>>2]|0;if(!f)g=c[b+924>>2]|0;else g=f;c[I>>2]=2;c[I+4>>2]=g;f=e-L|0;if((g|0)>2147418112|f>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{c[L+(m<<3)>>2]=((f>>>3)-m<<8)+2147483392|2;ru(b,d,0);N=c[Ka>>2]|0;M=c[La>>2]|0;J=i;K=N-M|0;break}}else{N=c[Ka>>2]|0;M=c[La>>2]|0;J=m;K=N-M|0}while(0);c[M+(J<<3)>>2]=((K>>>3)-J<<8)+2147483392|2;if((Ma|0)>-1){g=M;f=N-M|0;Ha=477;break}else{c[Na>>2]=Oa;Oa=c[b>>2]|0;Pa=c[Pa>>2]|0;$t(Oa,Pa,Qa);Pa=b+1008|0;Pa=c[Pa>>2]|0;b=Qa*20|0;cr(Oa,Pa,b);b=c[Ra>>2]|0;b=b+-1|0;c[Ra>>2]=b;l=Sa;return}}case 46:{g=c[b+1008>>2]|0;f=c[g+16>>2]|0;g=c[g+20>>2]|0;c:do if((f|0)>0){f=g+f|0;do{if((c[f+-16>>2]|0)!=(Ma|0))break c;f=f+-20|0;c[f>>2]=3}while(f>>>0>g>>>0)}while(0);fu(b,-1);f=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;ru(b,d,0);g=Ja+2|0;Ha=c[La>>2]|0;c[Ha+(g<<3)>>2]=((((c[Ka>>2]|0)-Ha|0)>>>3)-g<<8)+2147483392|2;fu(b,27);fu(b,53);g=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(g,346165,83891003,346657);xu(b,d,-1);Ha=yu(b,d+8|0,-1,1)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=Ha;ou(b,Ha>>>31|50,0,Ha);zu(b,f);fu(b,54);f=Ja+1|0;Ha=c[La>>2]|0;c[Ha+(f<<3)>>2]=((((c[Ka>>2]|0)-Ha|0)>>>3)-f<<8)+2147483392|2;f=6;Ha=470;break}case 54:{g=c[b+1008>>2]|0;f=c[g+16>>2]|0;g=c[g+20>>2]|0;d:do if((f|0)>0){f=g+f|0;do{if((c[f+-16>>2]|0)!=(Ma|0))break d;f=f+-20|0;c[f>>2]=3}while(f>>>0>g>>>0)}while(0);k=c[Na>>2]|0;fu(b,-1);fu(b,53);Ia=c[La>>2]|0;m=((c[Ka>>2]|0)-Ia|0)>>>3;f=Ja+2|0;c[Ia+(f<<3)>>2]=(m-f<<8)+2147483392|2;f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);f=yu(b,d+8|0,-1,1)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f;ou(b,f>>>31|48,0,f);f=c[Ka>>2]|0;g=c[La>>2]|0;e=f-g|0;j=e>>>3;i=b+980|0;do if(((c[i>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=e+72+(e>>>2)|0;if(g>>>0<e>>>0)br(f,344105,50331712,342539);else{B=b+984|0;cr(f,c[B>>2]|0,g);B=c[(c[B>>2]|0)+20>>2]|0;A=B+e|0;c[Ka>>2]=A;c[La>>2]=B;c[i>>2]=B+g;break}}else{A=f;B=g}while(0);g=A+8|0;c[Ka>>2]=g;f=c[b+876>>2]|0;if(!f)f=c[b+924>>2]|0;c[A>>2]=2;c[A+4>>2]=f;if((f|0)>2147418112|(g-B|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{c[Na>>2]=k;fu(b,54);ru(b,d,0);zu(b,m);La=c[La>>2]|0;Ka=((c[Ka>>2]|0)-La|0)>>>3;c[La+(j<<3)>>2]=(Ka-j<<8)+2147483392|2;Ha=Ja+1|0;c[La+(Ha<<3)>>2]=(Ka-Ha<<8)+2147483392|2;Ha=476;break}break}case 70:{g=c[b+1008>>2]|0;f=c[g+16>>2]|0;g=c[g+20>>2]|0;e:do if((f|0)>0){f=g+f|0;do{if((c[f+-16>>2]|0)!=(Ma|0))break e;f=f+-20|0;c[f>>2]=3}while(f>>>0>g>>>0)}while(0);k=c[b>>2]|0;u=c[Na>>2]|0;t=u+2|0;c[Na>>2]=t;if((t|0)>65535)br(k,346165,50333579,346529);f=b+1056|0;if((t|0)>(c[f>>2]|0))c[f>>2]=t;fu(b,-1);fu(b,53);f:do if((c[Ia>>2]|0)==24){fu(b,-1);vu(b,d,256,x,z);c[Na>>2]=t;switch(c[Ia>>2]|0){case 15:{g=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;f=c[x>>2]|0;if((f|0)>-1)ou(b,0,f,u);else ou(b,2203,u,c[z>>2]|0);s=g;Ha=145;break f}case 57:{do{fu(b,-1);vu(b,d,256,x,z)}while((c[Ia>>2]|0)==57);break}default:{}}}else{m=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=0;wu(b,d,772);if((c[Ia>>2]|0)!=15){Ia=c[Na>>2]|0;xu(b,d,-1);c[Na>>2]=Ia;break}if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(k,346165,83891566,346686);switch(c[d>>2]|0){case 4:{g=c[d+16>>2]|0;e=k+68|0;i=c[e>>2]|0;if(i>>>0>=(c[k+56>>2]|0)>>>0)mr(k,1093);j=c[k+64>>2]|0;Ia=i-j>>4;f=((g|0)<0?Ia:0)+g|0;if(f>>>0>=Ia>>>0)Cr(k,376,g);Ia=j+(f<<4)|0;c[e>>2]=i+16;c[i>>2]=c[Ia>>2];c[i+4>>2]=c[Ia+4>>2];c[i+8>>2]=c[Ia+8>>2];c[i+12>>2]=c[Ia+12>>2];if(c[i>>2]&8|0){Ia=(c[i+8>>2]|0)+4|0;c[Ia>>2]=(c[Ia>>2]|0)+1}if(!(Au(b,x,z)|0))ou(b,2203,u,c[z>>2]|0);else ou(b,0,c[x>>2]|0,u);s=m;Ha=145;break f}case 3:{qu(b,18544,yu(b,d+8|0,-1,0)|0,yu(b,d+20|0,-1,1)|0,u);s=m;Ha=145;break f}default:{i=c[Na>>2]|0;xu(b,d,-1);c[Na>>2]=i;i=b+980|0;f=c[Ka>>2]|0;g=f;do if(((c[i>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{Ia=b+984|0;cr(e,c[Ia>>2]|0,g);Ia=c[(c[Ia>>2]|0)+20>>2]|0;C=Ia+f|0;c[Ka>>2]=C;c[La>>2]=Ia;c[i>>2]=Ia+g;break}}else C=f;while(0);g=C+8|0;c[Ka>>2]=g;f=c[b+876>>2]|0;if(!f)f=c[b+924>>2]|0;c[C>>2]=170;c[C+4>>2]=f;if(!((f|0)>2147418112?1:(g-(c[La>>2]|0)|0)>>>0>2147418112)){s=m;Ha=145;break f}br(c[b>>2]|0,346165,50332820,346577)}}}while(0);if((Ha|0)==145){c[Na>>2]=t;e=s<<3;i=c[b>>2]|0;r=b+980|0;f=c[Ka>>2]|0;do if(((c[r>>2]|0)-f|0)>>>0<8){f=f-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(i,344105,50331712,342539);else{_=b+984|0;cr(i,c[_>>2]|0,g);_=c[(c[_>>2]|0)+20>>2]|0;$=_+f|0;c[Ka>>2]=$;c[La>>2]=_;c[r>>2]=_+g;aa=Ka;break}}else{aa=Ka;_=c[La>>2]|0;$=f}while(0);Ia=_+e|0;t6(Ia+8|0,Ia|0,$-e-_|0)|0;n=b+924|0;f=c[n>>2]|0;c[Ia>>2]=2;c[Ia+4>>2]=f;Ia=(c[aa>>2]|0)+8|0;c[aa>>2]=Ia;f=c[La>>2]|0;if((Ia-f|0)>>>0>2147418112)br(c[b>>2]|0,346165,50333333,346577);p=s+1|0;g=c[Ka>>2]|0;e=g-f|0;q=e>>>3;do if(((c[r>>2]|0)-g|0)>>>0<=7){f=c[b>>2]|0;g=e+72+(e>>>2)|0;if(g>>>0<e>>>0)br(f,344105,50331712,342539);else{ja=b+984|0;cr(f,c[ja>>2]|0,g);ja=c[(c[ja>>2]|0)+20>>2]|0;ia=ja+e|0;c[Ka>>2]=ia;c[La>>2]=ja;c[r>>2]=ja+g;break}}else{ia=g;ja=f}while(0);g=ia+8|0;c[Ka>>2]=g;i=b+876|0;f=c[i>>2]|0;if(!f)f=c[n>>2]|0;c[ia>>2]=2;c[ia+4>>2]=f;if((f|0)>2147418112|(g-ja|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);fu(b,-1);m=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);f=yu(b,d+8|0,-1,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f;j=u+1|0;qu(b,4297,0,j,f);f=c[Ka>>2]|0;g=c[La>>2]|0;e=f-g|0;k=e>>>3;do if(((c[r>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=e+72+(e>>>2)|0;if(g>>>0<e>>>0)br(f,344105,50331712,342539);else{oa=b+984|0;cr(f,c[oa>>2]|0,g);oa=c[(c[oa>>2]|0)+20>>2]|0;na=oa+e|0;c[Ka>>2]=na;c[La>>2]=oa;c[r>>2]=oa+g;break}}else{na=f;oa=g}while(0);g=na+8|0;c[Ka>>2]=g;f=c[i>>2]|0;if(!f)f=c[n>>2]|0;c[na>>2]=2;c[na+4>>2]=f;if((f|0)>2147418112|(g-oa|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);c[Na>>2]=t;fu(b,54);Ia=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;ru(b,d,0);i=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;qu(b,37066,0,u,j);e=c[b+968>>2]|0;zu(b,p);g=c[La>>2]|0;f=((c[Ka>>2]|0)-g|0)>>>3;c[g+(s<<3)>>2]=(m-s<<8)+2147483392|2;c[g+(q<<3)>>2]=(Ia-q<<8)+2147483392|2;c[g+(k<<3)>>2]=(i-k<<8)+2147483392|2;if((e|0)>=0)c[g+(e<<3)>>2]=(f-e<<8)+2147483392|2;Ha=Ja+1|0;c[g+(Ha<<3)>>2]=(f-Ha<<8)+2147483392|2;Ha=Ja+2|0;c[g+(Ha<<3)>>2]=(i-Ha<<8)+2147483392|2;Ha=476;break}c[Na>>2]=u;fu(b,56);q=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,516);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0){f=c[Ka>>2]|0;g=c[La>>2]|0;i=f-g|0;e=b+980|0;do if(((c[e>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0)br(f,344105,50331712,342539);else{V=b+984|0;cr(f,c[V>>2]|0,g);V=c[(c[V>>2]|0)+20>>2]|0;U=V+i|0;c[Ka>>2]=U;c[La>>2]=V;c[e>>2]=V+g;break}}else{U=f;V=g}while(0);g=U+8|0;c[Ka>>2]=g;f=c[b+876>>2]|0;if(!f)f=c[b+924>>2]|0;c[U>>2]=2;c[U+4>>2]=f;if((f|0)>2147418112|(g-V|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{ka=i;la=-1}}else{xu(b,d,-1);f=yu(b,d+8|0,-1,1)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f;ou(b,f>>>31|50,0,f);f=c[Ka>>2]|0;g=c[La>>2]|0;p=f-g|0;n=b+980|0;e=c[n>>2]|0;do if((e-f|0)>>>0<=7){f=c[b>>2]|0;g=p+72+(p>>>2)|0;if(g>>>0<p>>>0)br(f,344105,50331712,342539);else{ba=b+984|0;cr(f,c[ba>>2]|0,g);ba=c[(c[ba>>2]|0)+20>>2]|0;Z=ba+p|0;c[Ka>>2]=Z;c[La>>2]=ba;ca=ba+g|0;c[n>>2]=ca;break}}else{Z=f;ba=g;ca=e}while(0);g=Z+8|0;c[Ka>>2]=g;k=b+876|0;e=c[k>>2]|0;i=g;if(!e)f=c[b+924>>2]|0;else f=e;c[Z>>2]=2;c[Z+4>>2]=f;j=i-ba|0;if((f|0)>2147418112|j>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);m=j>>>3;do if((ca-i|0)>>>0<=7){f=c[b>>2]|0;g=j+72+(j>>>2)|0;if(g>>>0<j>>>0)br(f,344105,50331712,342539);else{ga=b+984|0;cr(f,c[ga>>2]|0,g);ga=c[(c[ga>>2]|0)+20>>2]|0;fa=ga+j|0;c[Ka>>2]=fa;c[La>>2]=ga;c[n>>2]=ga+g;ea=c[k>>2]|0;break}}else{fa=g;ea=e;ga=ba}while(0);g=fa+8|0;c[Ka>>2]=g;if(!ea)f=c[b+924>>2]|0;else f=ea;c[fa>>2]=2;c[fa+4>>2]=f;if((f|0)>2147418112|(g-ga|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{ka=p;la=m}}j=ka>>>3;c[Na>>2]=u;fu(b,56);k=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,516);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)i=1;else{i=c[Na>>2]|0;xu(b,d,-1);c[Na>>2]=i;zu(b,q);i=0}c[Na>>2]=u;fu(b,54);e=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;ru(b,d,0);if(i)zu(b,q);else zu(b,k);g=c[La>>2]|0;f=((c[Ka>>2]|0)-g|0)>>>3;c[g+(j<<3)>>2]=(e-j<<8)+2147483392|2;if((la|0)>=0)c[g+(la<<3)>>2]=(f-la<<8)+2147483392|2;Ha=Ja+1|0;c[g+(Ha<<3)>>2]=(f-Ha<<8)+2147483392|2;Ha=Ja+2|0;c[g+(Ha<<3)>>2]=((i?q:k)-Ha<<8)+2147483392|2;Ha=476;break}case 175:{g=c[b>>2]|0;n=(i|0)==2;fu(b,-1);f=c[Ia>>2]|0;if(((f|0)!=56?(c[b+932>>2]|0)==0:0)?(c[b+936>>2]|0)==0:0){if((f|0)!=1)br(g,346165,83891899,346722);j=c[b+912>>2]|0;k=c[b>>2]|0;i=c[b+1008>>2]|0;La=c[i+16>>2]|0;i=c[i+20>>2]|0;m=i+La|0;if((La|0)<=0)br(k,346165,83888848,346708);e=k+304|0;g:do if(!n){f=m;while(1){g=f;f=f+-20|0;if((c[g+-12>>2]|0)==(j|0)){if(c[f>>2]&2|0){s=g;u=f;break g}if((c[(c[e>>2]|0)+60>>2]|0)!=(j|0)){Ha=198;break}}if(f>>>0<=i>>>0){Ha=199;break}}if((Ha|0)==198)br(k,346165,83888839,346708);else if((Ha|0)==199)br(k,346165,83888848,346708)}else{f=m;do{g=f;f=f+-20|0;if((c[g+-12>>2]|0)==(j|0)){s=g;u=f;break g}}while(f>>>0>i>>>0);br(k,346165,83888848,346708)}while(0);f=c[s+-16>>2]|0;i=c[s+-8>>2]|0;e=c[s+-4>>2]|0;fu(b,-1);g=(u|0)==(m+-20|0)&1}else{j=c[(c[g+304>>2]|0)+60>>2]|0;k=c[b>>2]|0;i=c[b+1008>>2]|0;La=c[i+16>>2]|0;i=c[i+20>>2]|0;m=i+La|0;if((La|0)<=0)br(k,346165,83888848,346708);e=k+304|0;h:do if(!n){f=m;while(1){g=f;f=f+-20|0;if((c[g+-12>>2]|0)==(j|0)){if(c[f>>2]&2|0){y=g;t=f;break h}if((c[(c[e>>2]|0)+60>>2]|0)!=(j|0)){Ha=186;break}}if(f>>>0<=i>>>0){Ha=187;break}}if((Ha|0)==186)br(k,346165,83888839,346708);else if((Ha|0)==187)br(k,346165,83888848,346708)}else{f=m;do{g=f;f=f+-20|0;if((c[g+-12>>2]|0)==(j|0)){y=g;t=f;break h}}while(f>>>0>i>>>0);br(k,346165,83888848,346708)}while(0);g=(t|0)==(m+-20|0)&1;e=c[y+-4>>2]|0;i=c[y+-8>>2]|0;f=c[y+-16>>2]|0}if(g|0?(i|0)==(c[b+1100>>2]|0):0){zu(b,e+(n?1:2)|0);f=18;Ha=470;break}else{ou(b,n?163:164,0,f);f=18;Ha=470;break}}case 205:{f=c[b>>2]|0;fu(b,-1);if(!(a[b+1120>>0]|0))br(f,346165,83891940,346751);if(((c[Ia>>2]|0)!=56?(c[b+932>>2]|0)==0:0)?(c[b+936>>2]|0)==0:0){i=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);e=yu(b,d+8|0,-1,1)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=e;g=c[La>>2]|0;f=((c[Ka>>2]|0)-g|0)>>>3;if(((c[b+1100>>2]|0)==0&f>>>0>i>>>0?(p=g+(f+-1<<3)|0,q=c[p>>2]|0,(q&240|0)==176):0)?(e|0)>=(c[b+1048>>2]|0):0)c[p>>2]=q|1;if((e|0)>-1){ou(b,157,0,e);f=18;Ha=470;break}e=e&2147483647;et(c[b>>2]|0,c[b+1020>>2]|0,e)|0;i=c[b>>2]|0;f=i+68|0;g=c[f>>2]|0;La=c[i+64>>2]|0;j=g-La>>4;j=j|0?La+(j+-1<<4)|0:0;j=(c[((j|0)==0?368:j)>>2]|0)==0;if((g|0)==(La|0))br(i,342583,50337407,342599);Ka=g+-16|0;c[f>>2]=Ka;La=c[g+-16>>2]|0;f=c[g+-8>>2]|0;c[Ka>>2]=2;if(La&8|0?(Ka=f+4|0,La=(c[Ka>>2]|0)+-1|0,c[Ka>>2]=La,(La|0)==0):0)qr(c[i+44>>2]|0,f);if(j){ou(b,160,0,e);f=18;Ha=470;break}else{ou(b,159,0,e);f=18;Ha=470;break}}i=b+980|0;f=c[Ka>>2]|0;g=f;do if(((c[i>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{Ja=b+984|0;cr(e,c[Ja>>2]|0,g);Ja=c[(c[Ja>>2]|0)+20>>2]|0;r=Ja+f|0;c[Ka>>2]=r;c[La>>2]=Ja;c[i>>2]=Ja+g;break}}else r=f;while(0);g=r+8|0;c[Ka>>2]=g;f=c[b+876>>2]|0;if(!f)f=c[b+924>>2]|0;c[r>>2]=158;c[r+4>>2]=f;if((f|0)>2147418112?1:(g-(c[La>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{f=18;Ha=470}break}case 235:{r=b+1104|0;c[r>>2]=(c[r>>2]|0)+1;if(a[b+1126>>0]|0)br(c[b>>2]|0,346165,83892291,346766);s=b+1100|0;c[s>>2]=(c[s>>2]|0)+1;fu(b,-1);i=c[Na>>2]|0;g=i+2|0;c[Na>>2]=g;if((g|0)>65535)br(c[b>>2]|0,346165,50333579,346529);e=b+1056|0;if((g|0)>(c[e>>2]|0))c[e>>2]=g;fu(b,53);g=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(g,346165,83891003,346657);xu(b,d,i);q=yu(b,d+8|0,i,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=q;fu(b,54);q=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;ou(b,421,8,i);p=b+980|0;g=c[p>>2]|0;e=c[Ka>>2]|0;i=e;do if((g-i|0)>>>0<=7){j=c[b>>2]|0;g=i-(c[La>>2]|0)|0;e=g+72+(g>>>2)|0;if(e>>>0<g>>>0)br(j,344105,50331712,342539);else{H=b+984|0;cr(j,c[H>>2]|0,e);H=c[(c[H>>2]|0)+20>>2]|0;E=H+g|0;c[Ka>>2]=E;c[La>>2]=H;H=H+e|0;c[p>>2]=H;break}}else{E=e;H=g}while(0);i=E+8|0;c[Ka>>2]=i;n=b+876|0;j=c[n>>2]|0;k=i;if(!j)e=c[b+924>>2]|0;else e=j;c[E>>2]=206;c[E+4>>2]=e;g=c[La>>2]|0;m=k-g|0;if((e|0)>2147418112|m>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);do if((H-k|0)>>>0<=7){g=c[b>>2]|0;e=m+72+(m>>>2)|0;if(e>>>0<m>>>0)br(g,344105,50331712,342539);else{P=b+984|0;cr(g,c[P>>2]|0,e);P=c[(c[P>>2]|0)+20>>2]|0;O=P+m|0;c[Ka>>2]=O;c[La>>2]=P;c[p>>2]=P+e;f=c[n>>2]|0;break}}else{O=i;f=j;P=g}while(0);g=O+8|0;c[Ka>>2]=g;if(!f)f=c[b+924>>2]|0;c[O>>2]=206;c[O+4>>2]=f;if((f|0)>2147418112|(g-P|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);ru(b,d,0);f=c[Ka>>2]|0;g=f;do if(((c[p>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{d=b+984|0;cr(e,c[d>>2]|0,g);d=c[(c[d>>2]|0)+20>>2]|0;da=d+f|0;c[Ka>>2]=da;c[La>>2]=d;c[p>>2]=d+g;break}}else da=f;while(0);g=da+8|0;c[Ka>>2]=g;f=c[n>>2]|0;if(!f)e=c[b+924>>2]|0;else e=f;c[da>>2]=166;c[da+4>>2]=e;La=c[La>>2]|0;f=g-La|0;g=La;if((e|0)>2147418112|f>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);f=f>>>3;La=q+2|0;c[g+(La<<3)>>2]=(f-La<<8)+2147483392|2;c[s>>2]=(c[s>>2]|0)+-1;if((Ma|0)>-1){La=Ja+1|0;c[g+(La<<3)>>2]=(f-La<<8)+2147483392|2}c[r>>2]=(c[r>>2]|0)+-1;Ha=476;break}case 271:{g=c[b+1008>>2]|0;f=c[g+16>>2]|0;g=c[g+20>>2]|0;i:do if((f|0)>0){f=g+f|0;do{if((c[f+-16>>2]|0)!=(Ma|0))break i;f=f+-20|0;c[f>>2]=1}while(f>>>0>g>>>0)}while(0);z=c[b>>2]|0;fu(b,-1);fu(b,53);f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);p=d+8|0;q=yu(b,p,-1,1)|0;c[d>>2]=1;r=d+8|0;c[r>>2]=2;s=d+12|0;c[s>>2]=q;fu(b,54);fu(b,49);t=c[Na>>2]|0;u=b+1056|0;v=b+980|0;w=b+876|0;x=b+924|0;y=b+984|0;g=-1;n=-1;i=-1;j:while(1){c[Na>>2]=t;switch(c[Ia>>2]|0){case 50:{Ha=315;break j}case 3:{if((g|0)>=0){Ha=c[La>>2]|0;c[Ha+(g<<3)>>2]=((((c[Ka>>2]|0)-Ha|0)>>>3)-g<<8)+2147483392|2}fu(b,-1);f=c[b>>2]|0;c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0){Ha=284;break j}xu(b,d,-1);f=yu(b,p,-1,1)|0;c[d>>2]=1;c[r>>2]=2;c[s>>2]=f;fu(b,85);g=c[Na>>2]|0;e=g+1|0;c[Na>>2]=e;if((g|0)>65534){Ha=286;break j}if((g|0)>=(c[u>>2]|0))c[u>>2]=e;qu(b,16408,g,q,f);ou(b,g>>>31|48,0,g);k=i;Ha=293;break}case 7:{if((i|0)>-1){Ha=323;break j}fu(b,-1);fu(b,85);if((g|0)<0){k=-2;Ha=293}else{e=c[Ka>>2]|0;f=c[La>>2]|0;Ha=302}break}default:{Ha=323;break j}}if((Ha|0)==293){Ha=0;e=c[Ka>>2]|0;f=c[La>>2]|0;i=e-f|0;g=i>>>3;if(((c[v>>2]|0)-e|0)>>>0<=7){f=c[b>>2]|0;e=i+72+(i>>>2)|0;if(e>>>0<i>>>0){Ha=295;break}cr(f,c[y>>2]|0,e);f=c[(c[y>>2]|0)+20>>2]|0;Ba=f+i|0;c[Ka>>2]=Ba;c[La>>2]=f;c[v>>2]=f+e;e=Ba}j=e+8|0;c[Ka>>2]=j;i=c[w>>2]|0;if(!i)i=c[x>>2]|0;c[e>>2]=2;c[e+4>>2]=i;if((i|0)>2147418112|(j-f|0)>>>0>2147418112){Ha=300;break}if((k|0)==-2){e=j;Ha=302}else{m=g;e=j}}if((Ha|0)==302){m=g;k=(e-f|0)>>>3}if((n|0)>=0)c[f+(n<<3)>>2]=(((e-f|0)>>>3)-n<<8)+2147483392|2;k:while(1){switch(c[Ia>>2]|0){case 3:case 7:case 50:break k;default:{}}ru(b,d,0)}f=c[Ka>>2]|0;g=c[La>>2]|0;e=f-g|0;j=e>>>3;if(((c[v>>2]|0)-f|0)>>>0>7)i=g;else{g=c[b>>2]|0;f=e+72+(e>>>2)|0;if(f>>>0<e>>>0){Ha=309;break}cr(g,c[y>>2]|0,f);i=c[(c[y>>2]|0)+20>>2]|0;Ha=i+e|0;c[Ka>>2]=Ha;c[La>>2]=i;c[v>>2]=i+f;f=Ha}e=f+8|0;c[Ka>>2]=e;g=c[w>>2]|0;if(!g)g=c[x>>2]|0;c[f>>2]=2;c[f+4>>2]=g;if((g|0)>2147418112|(e-i|0)>>>0>2147418112){Ha=314;break}else{g=m;n=j;i=k}}if((Ha|0)==284)br(f,346165,83891003,346657);else if((Ha|0)==286)br(c[b>>2]|0,346165,50333579,346529);else if((Ha|0)==295)br(f,344105,50331712,342539);else if((Ha|0)==300)br(c[b>>2]|0,346165,50332820,346577);else if((Ha|0)==309)br(g,344105,50331712,342539);else if((Ha|0)==314)br(c[b>>2]|0,346165,50332820,346577);else if((Ha|0)==315){fu(b,-1);f=(g|0)<0;if((i|0)>-1){if(!f)c[(c[La>>2]|0)+(g<<3)>>2]=(i-g<<8)+2147483392|2}else if(!f){d=c[La>>2]|0;c[d+(g<<3)>>2]=((((c[Ka>>2]|0)-d|0)>>>3)-g<<8)+2147483392|2}f=c[La>>2]|0;g=((c[Ka>>2]|0)-f|0)>>>3;if((n|0)>=0)c[f+(n<<3)>>2]=(g-n<<8)+2147483392|2;Ha=Ja+1|0;c[f+(Ha<<3)>>2]=(g-Ha<<8)+2147483392|2;Ha=476;break}else if((Ha|0)==323)br(z,346165,83891765,346786);break}case 325:{fu(b,-1);f=c[b>>2]|0;if(c[b+932>>2]|0)br(f,346165,83892041,346811);c[Ca>>2]=0;c[Da>>2]=0;c[Ea>>2]=0;c[Fa>>2]=1;c[Ga>>2]=1;wu(b,d,4);if((c[Ca>>2]|0)==0?(c[Da>>2]|0)==0:0)br(f,346165,83891003,346657);xu(b,d,-1);f=yu(b,d+8|0,-1,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f;ou(b,169,0,f);f=18;Ha=470;break}case 331:{v=c[b>>2]|0;y=b+1100|0;c[y>>2]=(c[y>>2]|0)+1;fu(b,-1);x=c[Na>>2]|0;f=x+2|0;c[Na>>2]=f;if((f|0)>65535)br(c[b>>2]|0,346165,50333579,346529);g=b+1056|0;if((f|0)>(c[g>>2]|0))c[g>>2]=f;u=((c[Ka>>2]|0)-(c[La>>2]|0)|0)>>>3;ou(b,3,x,0);f=c[Ka>>2]|0;g=c[La>>2]|0;i=f-g|0;w=i>>>3;t=b+980|0;e=c[t>>2]|0;do if((e-f|0)>>>0<=7){f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0)br(f,344105,50331712,342539);else{F=b+984|0;cr(f,c[F>>2]|0,g);F=c[(c[F>>2]|0)+20>>2]|0;D=F+i|0;c[Ka>>2]=D;c[La>>2]=F;G=F+g|0;c[t>>2]=G;break}}else{D=f;F=g;G=e}while(0);g=D+8|0;c[Ka>>2]=g;s=b+876|0;e=c[s>>2]|0;i=g;if(!e)f=c[b+924>>2]|0;else f=e;c[D>>2]=206;c[D+4>>2]=f;j=i-F|0;if((f|0)>2147418112|j>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);do if((G-i|0)>>>0<=7){f=c[b>>2]|0;g=j+72+(j>>>2)|0;if(g>>>0<j>>>0)br(f,344105,50331712,342539);else{S=b+984|0;cr(f,c[S>>2]|0,g);S=c[(c[S>>2]|0)+20>>2]|0;Q=S+j|0;c[Ka>>2]=Q;c[La>>2]=S;T=S+g|0;c[t>>2]=T;R=c[s>>2]|0;break}}else{Q=g;R=e;S=F;T=G}while(0);g=Q+8|0;c[Ka>>2]=g;e=g;if(!R)f=c[b+924>>2]|0;else f=R;c[Q>>2]=206;c[Q+4>>2]=f;i=e-S|0;if((f|0)>2147418112|i>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);do if((T-e|0)>>>0<=7){f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0)br(f,344105,50331712,342539);else{Y=b+984|0;cr(f,c[Y>>2]|0,g);Y=c[(c[Y>>2]|0)+20>>2]|0;X=Y+i|0;c[Ka>>2]=X;c[La>>2]=Y;c[t>>2]=Y+g;W=c[s>>2]|0;break}}else{X=g;W=R;Y=S}while(0);g=X+8|0;c[Ka>>2]=g;if(!W)f=c[b+924>>2]|0;else f=W;c[X>>2]=206;c[X+4>>2]=f;if((f|0)>2147418112|(g-Y|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);fu(b,49);mu(b,0,0);f=c[Ka>>2]|0;g=f;do if(((c[t>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{Ja=b+984|0;cr(e,c[Ja>>2]|0,g);Ja=c[(c[Ja>>2]|0)+20>>2]|0;ha=Ja+f|0;c[Ka>>2]=ha;c[La>>2]=Ja;c[t>>2]=Ja+g;break}}else ha=f;while(0);i=ha+8|0;c[Ka>>2]=i;f=c[s>>2]|0;if(!f)f=c[b+924>>2]|0;c[ha>>2]=166;c[ha+4>>2]=f;g=c[La>>2]|0;e=i-g|0;if((f|0)>2147418112|e>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);f=c[Ia>>2]|0;do if((f|0)==4){r=e>>>3;fu(b,-1);fu(b,53);if((c[Ia>>2]|0)!=1)br(v,346165,83892281,346825);g=c[b+912>>2]|0;n=v+68|0;f=c[n>>2]|0;p=v+56|0;if(f>>>0>=(c[p>>2]|0)>>>0)mr(v,4153);c[n>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;Ja=g+4|0;c[Ja>>2]=(c[Ja>>2]|0)+1;do if(a[b+1126>>0]|0){f=c[v+304>>2]|0;if((g|0)==(c[f+132>>2]|0))br(v,346165,83892281,346825);if((g|0)!=(c[f+268>>2]|0))break;br(v,346165,83892281,346825)}while(0);f=c[n>>2]|0;if(f>>>0>=(c[p>>2]|0)>>>0)mr(v,1111);k=v+64|0;if((f-(c[k>>2]|0)|0)<16)Cr(v,1114,-1);Ja=f+-16|0;c[n>>2]=f+16;c[f>>2]=c[Ja>>2];c[f+4>>2]=c[Ja+4>>2];c[f+8>>2]=c[Ja+8>>2];c[f+12>>2]=c[Ja+12>>2];if(c[f>>2]&8|0){Ja=(c[f+8>>2]|0)+4|0;c[Ja>>2]=(c[Ja>>2]|0)+1}q=pu(b)|0;fu(b,-1);fu(b,54);fu(b,49);f=c[n>>2]|0;if(f>>>0>=(c[p>>2]|0)>>>0)mr(v,1111);if((f-(c[k>>2]|0)|0)<16)Cr(v,1114,-1);Ja=f+-16|0;c[n>>2]=f+16;c[f>>2]=c[Ja>>2];c[f+4>>2]=c[Ja+4>>2];c[f+8>>2]=c[Ja+8>>2];c[f+12>>2]=c[Ja+12>>2];if(c[f>>2]&8|0){Ja=(c[f+8>>2]|0)+4|0;c[Ja>>2]=(c[Ja>>2]|0)+1}m=b+1044|0;g=c[m>>2]|0;e=c[k>>2]|0;i=(c[n>>2]|0)-e>>4;f=((g|0)<0?i:0)+g|0;if(f>>>0>=i>>>0)Cr(v,376,g);Kr(v,e+(f<<4)|0,e+(i+-1<<4)|0)|0;g=c[k>>2]|0;e=(c[n>>2]|0)-g>>4;f=e+-2|0;if(e>>>0<=1)Cr(v,376,-2);d=g+(f<<4)|0;e=g+(e+-1<<4)|0;Ja=c[d>>2]|0;f=c[g+(f<<4)+8>>2]|0;t6(d|0,d+16|0,e-d|0)|0;c[e>>2]=2;e=(c[n>>2]|0)+-16|0;c[n>>2]=e;g=e;do if(Ja&8){d=f+4|0;Ja=(c[d>>2]|0)+-1|0;c[d>>2]=Ja;if(Ja|0)break;qr(c[v+44>>2]|0,f);e=c[n>>2]|0;g=e}while(0);i=c[k>>2]|0;f=g-i>>4;f=f|0?i+(f+-1<<4)|0:0;f=(f|0)==0?368:f;l:do switch(c[f>>2]|0){case 2:{j=-2;break}case 3:{j=-1;break}case 0:{o=+h[f+8>>3];if(!(K4(o)|0)){j=0;break l}if(o<-2147483648.0){j=-2147483648;break l}if(o>2147483647.0){j=2147483647;break l}j=~~o;break}default:j=0}while(0);if((e|0)==(i|0))br(v,342583,50337407,342599);f=e+-16|0;c[n>>2]=f;Ja=c[e+-16>>2]|0;g=c[e+-8>>2]|0;c[f>>2]=2;do if(Ja&8){d=g+4|0;Ja=(c[d>>2]|0)+-1|0;c[d>>2]=Ja;if(Ja|0)break;qr(c[v+44>>2]|0,g);f=c[n>>2]|0}while(0);if(f>>>0>=(c[p>>2]|0)>>>0)mr(v,1111);if((f-(c[k>>2]|0)|0)<16)Cr(v,1114,-1);Ja=f+-16|0;c[n>>2]=f+16;c[f>>2]=c[Ja>>2];c[f+4>>2]=c[Ja+4>>2];c[f+8>>2]=c[Ja+8>>2];c[f+12>>2]=c[Ja+12>>2];if(c[f>>2]&8|0){Ja=(c[f+8>>2]|0)+4|0;c[Ja>>2]=(c[Ja>>2]|0)+1}f=c[n>>2]|0;if(f>>>0>=(c[p>>2]|0)>>>0)mr(v,4175);c[n>>2]=f+16;c[f>>2]=3;Et(v,c[m>>2]|0);ou(b,2203,x,q);mu(b,0,0);m:do switch(j|0){case -2:{Tt(v,c[m>>2]|0);break}case -1:{f=c[n>>2]|0;if(f>>>0<(c[p>>2]|0)>>>0){c[n>>2]=f+16;c[f>>2]=3;Ha=421;break m}else mr(v,4175);break}default:{f=c[n>>2]|0;if(f>>>0<(c[p>>2]|0)>>>0){c[n>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+(j|0);Ha=421;break m}else mr(v,4244)}}while(0);if((Ha|0)==421)Et(v,c[m>>2]|0);f=c[Ka>>2]|0;g=f;do if(((c[t>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{Ja=b+984|0;cr(e,c[Ja>>2]|0,g);Ja=c[(c[Ja>>2]|0)+20>>2]|0;qa=Ja+f|0;c[Ka>>2]=qa;c[La>>2]=Ja;c[t>>2]=Ja+g;break}}else qa=f;while(0);e=qa+8|0;c[Ka>>2]=e;f=c[s>>2]|0;if(!f)f=c[b+924>>2]|0;c[qa>>2]=167;c[qa+4>>2]=f;g=c[La>>2]|0;if((f|0)>2147418112|(e-g|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577);else{za=r;wa=q;ra=5;ta=g;sa=c[Ia>>2]|0;ua=e;break}}else{za=-1;wa=0;ra=0;ta=g;sa=f;ua=i}while(0);do if((sa|0)==11){k=ra|2;j=(ua-ta|0)>>>3;fu(b,-1);fu(b,49);mu(b,0,0);if((x|0)>=16777216)br(c[b>>2]|0,346165,50333236,346540);i=x<<8|168;f=c[Ka>>2]|0;g=f;do if(((c[t>>2]|0)-g|0)>>>0<=7){e=c[b>>2]|0;f=g-(c[La>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(e,344105,50331712,342539);else{Ja=b+984|0;cr(e,c[Ja>>2]|0,g);Ja=c[(c[Ja>>2]|0)+20>>2]|0;va=Ja+f|0;c[Ka>>2]=va;c[La>>2]=Ja;c[t>>2]=Ja+g;break}}else va=f;while(0);e=va+8|0;c[Ka>>2]=e;f=c[s>>2]|0;if(!f)g=c[b+924>>2]|0;else g=f;c[va>>2]=i;c[va+4>>2]=g;f=c[La>>2]|0;if(!((g|0)>2147418112|(e-f|0)>>>0>2147418112)){ya=j;xa=k;Aa=f;Ba=e;break}br(c[b>>2]|0,346165,50332820,346577)}else{ya=-1;xa=ra;Aa=ta;Ba=ua}while(0);g=Aa;e=(xa&1|0)!=0;i=(xa&2|0)==0;if(i&(e^1))br(v,346165,83892281,346825);f=g+(u<<3)|0;do if((wa|0)<0)if((x|0)>65535|(wa&2147418112)>>>0>65535)br(c[b>>2]|0,346165,50333388,346540);else{c[f>>2]=c[f>>2]|wa<<16;break}else c[f>>2]=205;while(0);c[g+(w<<3)>>2]=x<<16|xa<<8|165;f=w+1|0;if(e)c[g+(f<<3)>>2]=(za-f<<8)+2147483392|2;Ha=w+2|0;c[g+(Ha<<3)>>2]=((i?(Ba-Aa|0)>>>3:ya)-Ha<<8)+2147483392|2;c[y>>2]=(c[y>>2]|0)+-1;Ha=476;break}case 452:{fu(b,-1);f=2;Ha=470;break}case 454:{if(!(c[Da>>2]|0))br(g,346165,83891003,346657);else{f=3;Ha=467}break}case 459:{if(m<<24>>24!=0&(g|0)==100){f=c[n>>2]|0;if((c[b+880>>2]|0)>0){f=11;Ha=467}else switch(c[f+20>>2]|0){case 10:{if(g3(f+28|0,346837,10)|0){f=11;Ha=467;break b}a[b+1126>>0]=1;f=11;Ha=467;break b}case 14:{if(g3(f+28|0,346848,14)|0){f=11;Ha=467;break b}a[b+1127>>0]=1;f=11;Ha=467;break b}default:{f=11;Ha=467;break b}}}else{f=3;Ha=467}break}}do if((Ha|0)==467){g=c[b+1116>>2]|0;if((g|0)>-1){xu(b,d,g);Ha=yu(b,d+8|0,g,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=Ha;Ha=470;break}else{Ha=c[Na>>2]|0;xu(b,d,-1);c[Na>>2]=Ha;Ha=470;break}}else if((Ha|0)==477){La=Ja+1|0;c[g+(La<<3)>>2]=((f>>>3)-La<<8)+2147483392|2}while(0);if((Ha|0)==470){if((c[Ia>>2]|0)!=56){if(!(c[b+936>>2]|f&4))br(pa,346165,83892818,346863)}else fu(b,-1);if(!(f&8))Ha=476;else{a[ma>>0]=1;Ha=476}}if((Ha|0)==476?(Ma|0)<=-1:0){c[Na>>2]=Oa;Oa=c[b>>2]|0;Pa=c[Pa>>2]|0;$t(Oa,Pa,Qa);Pa=b+1008|0;Pa=c[Pa>>2]|0;b=Qa*20|0;cr(Oa,Pa,b);b=c[Ra>>2]|0;b=b+-1|0;c[Ra>>2]=b;l=Sa;return}ou(b,162,0,Ma);c[Na>>2]=Oa;Oa=c[b>>2]|0;Pa=c[Pa>>2]|0;$t(Oa,Pa,Qa);Pa=b+1008|0;Pa=c[Pa>>2]|0;b=Qa*20|0;cr(Oa,Pa,b);b=c[Ra>>2]|0;b=b+-1|0;c[Ra>>2]=b;l=Sa;return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((b|0)>-1){q=b;return q|0}m=a+1096|0;o=c[m>>2]|0;c[m>>2]=o+1;ou(a,161,0,o);m=a+980|0;b=c[m>>2]|0;n=a+972|0;e=c[n>>2]|0;f=e;do if((b-f|0)>>>0<=7){g=c[a>>2]|0;h=a+976|0;b=f-(c[h>>2]|0)|0;e=b+72+(b>>>2)|0;if(e>>>0<b>>>0)br(g,344105,50331712,342539);else{l=a+984|0;cr(g,c[l>>2]|0,e);l=c[(c[l>>2]|0)+20>>2]|0;i=l+b|0;c[n>>2]=i;c[h>>2]=l;l=l+e|0;c[m>>2]=l;break}}else{i=e;l=b}while(0);f=i+8|0;c[n>>2]=f;k=a+876|0;g=c[k>>2]|0;h=f;if(!g)e=c[a+924>>2]|0;else e=g;c[i>>2]=206;c[i+4>>2]=e;i=a+976|0;b=c[i>>2]|0;j=h-b|0;if((e|0)>2147418112|j>>>0>2147418112)br(c[a>>2]|0,346165,50332820,346577);do if((l-h|0)>>>0<=7){b=c[a>>2]|0;e=j+72+(j>>>2)|0;if(e>>>0<j>>>0)br(b,344105,50331712,342539);else{q=a+984|0;cr(b,c[q>>2]|0,e);q=c[(c[q>>2]|0)+20>>2]|0;p=q+j|0;c[n>>2]=p;c[i>>2]=q;c[m>>2]=q+e;d=c[k>>2]|0;break}}else{p=f;d=g;q=b}while(0);b=p+8|0;c[n>>2]=b;if(!d)d=c[a+924>>2]|0;c[p>>2]=206;c[p+4>>2]=d;if((d|0)>2147418112|(b-q|0)>>>0>2147418112)br(c[a>>2]|0,346165,50332820,346577);else{q=o;return q|0}return 0}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[a>>2]|0;l=a+1008|0;i=c[l>>2]|0;h=c[i+20>>2]|0;i=c[i+16>>2]|0;j=(i|0)/20|0;a:do if((i|0)>0){g=k+304|0;f=h+i|0;while(1){if((c[f+-12>>2]|0)==(b|0)?(c[(c[g>>2]|0)+60>>2]|0)!=(b|0):0)break;f=f+-20|0;if(f>>>0<=h>>>0)break a}br(k,346165,83888710,347431)}while(0);f=k+68|0;g=c[f>>2]|0;if(g>>>0<(c[k+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;h=b+4|0;c[h>>2]=(c[h>>2]|0)+1;Ft(k,c[a+1032>>2]|0,j);cr(k,c[l>>2]|0,i+20|0);l=c[l>>2]|0;l=(c[l+20>>2]|0)+(c[l+16>>2]|0)+-20|0;c[l>>2]=1;c[l+4>>2]=e;c[l+8>>2]=b;c[l+12>>2]=c[a+1100>>2];c[l+16>>2]=d;return}else mr(k,4153)}function uu(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+160|0;B=G+80|0;D=G;E=G+132|0;C=G+146|0;F=c[d>>2]|0;if(a[d+1129>>0]|0){x=d+972|0;y=F+68|0;j=F+64|0;k=(c[y>>2]|0)-(c[j>>2]|0)|0;z=k>>4;f=B;g=x;i=f+52|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));o=d+1024|0;p=c[o>>2]|0;r=d+1028|0;f=D;g=r;i=f+80|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));s=d+1108|0;t=c[s>>2]|0;u=d+1112|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];b[E+12>>1]=b[u+12>>1]|0;v=d+1126|0;w=a[v>>0]|0;m=d+1127|0;f=C;g=m;i=f+13|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));u6(x|0,0,168)|0;du(d);a[v>>0]=w;a[d+1120>>0]=1;a[d+1125>>0]=e>>>1&1;a[d+1123>>0]=(e&7|0)==0&1;a[d+1124>>0]=(e&6|0)==0&1;gu(d,e);A=t+1|0;if((t|0)>65535)br(c[d>>2]|0,346165,50339375,347416);g=t*3|0;Ft(F,p,g);f=c[y>>2]|0;i=F+56|0;if(f>>>0>=(c[i>>2]|0)>>>0)mr(F,4274);q=+((c[d+872>>2]|0)>>>0);c[y>>2]=f+16;c[f>>2]=0;h[f+8>>3]=q;Ft(F,p,g+1|0);f=c[y>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0)mr(F,4244);q=+(c[d+876>>2]|0);c[y>>2]=f+16;c[f>>2]=0;h[f+8>>3]=q;Ft(F,p,g+2|0);if(!(e&8))Zs(F,z);else{f=c[d+988>>2]|0;g=c[y>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0)mr(F,4153);c[y>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[j>>2]|0;i=(c[y>>2]|0)-g>>4;if(!i)Cr(F,376,-1);e=g+(i+-1<<4)|0;f=((k|0)<0?i:0)+z|0;if(f>>>0>=i>>>0)Cr(F,376,z);k=g+(f<<4)|0;d=c[k>>2]|0;f=c[g+(f<<4)+8>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=2;c[y>>2]=(c[y>>2]|0)+-16;if(d&8|0?(y=f+4|0,d=(c[y>>2]|0)+-1|0,c[y>>2]=d,(d|0)==0):0)qr(c[F+44>>2]|0,f);Zs(F,z+1|0)}f=x;g=B;i=f+52|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));a[o>>0]=p;a[o+1>>0]=p>>8;a[o+2>>0]=p>>16;a[o+3>>0]=p>>24;f=r;g=D;i=f+80|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));a[s>>0]=A;a[s+1>>0]=A>>8;a[s+2>>0]=A>>16;a[s+3>>0]=A>>24;f=u;g=E;i=f+14|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));a[v>>0]=w;f=m;g=C;i=f+13|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(i|0));F=t;l=G;return F|0}k=d+1108|0;p=c[k>>2]|0;c[k>>2]=p+1;k=d+1024|0;e=p*3|0;et(F,c[k>>2]|0,e+1|0)|0;nu(F,-1);o=F+68|0;i=c[o>>2]|0;j=F+64|0;g=c[j>>2]|0;f=i-g>>4;f=f|0?g+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(n=+h[f+8>>3],!(n<0.0|(K4(n)|0)==0)):0)if(n>4294967295.0)m=-1;else m=~~n>>>0;else m=0;if((i|0)==(g|0))br(F,342583,50337407,342599);D=i+-16|0;c[o>>2]=D;E=c[i+-16>>2]|0;f=c[i+-8>>2]|0;c[D>>2]=2;if(E&8|0?(D=f+4|0,E=(c[D>>2]|0)+-1|0,c[D>>2]=E,(E|0)==0):0)qr(c[F+44>>2]|0,f);et(F,c[k>>2]|0,e+2|0)|0;nu(F,-1);e=c[o>>2]|0;i=c[j>>2]|0;f=e-i>>4;f=f|0?i+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(q=+h[f+8>>3],(K4(q)|0)!=0):0)if(!(q<-2147483648.0))if(q>2147483647.0)g=2147483647;else g=~~q;else g=-2147483648;else g=0;if((e|0)==(i|0))br(F,342583,50337407,342599);D=e+-16|0;c[o>>2]=D;E=c[e+-16>>2]|0;f=c[e+-8>>2]|0;c[D>>2]=2;if(E&8|0?(D=f+4|0,E=(c[D>>2]|0)+-1|0,c[D>>2]=E,(E|0)==0):0)qr(c[F+44>>2]|0,f);F=d+8|0;c[d+792>>2]=m;c[d+796>>2]=g;c[F>>2]=d+12;cu(F,0);c[d+896>>2]=0;c[d+924>>2]=0;fu(d,-1);fu(d,50);F=p;l=G;return F|0}function vu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v+4|0;t=v;u=c[b>>2]|0;q=b+896|0;if((c[q>>2]|0)!=1)br(u,346165,83891195,347387);o=c[b+912>>2]|0;if(a[b+1126>>0]|0?c[o>>2]&8192|0:0)br(u,346165,83891195,347387);do if(a[b+1129>>0]|0){j=b+1028|0;k=Ur(u,c[j>>2]|0)|0;m=u+68|0;i=c[m>>2]|0;n=u+56|0;if(i>>>0>=(c[n>>2]|0)>>>0)mr(u,4153);c[m>>2]=i+16;c[i>>2]=8;c[i+8>>2]=o;i=o+4|0;c[i>>2]=(c[i>>2]|0)+1;Ft(u,c[j>>2]|0,k);i=c[m>>2]|0;if(i>>>0<(c[n>>2]|0)>>>0){c[m>>2]=i+16;c[i>>2]=0;h[i+8>>3]=0.0;Ft(u,c[j>>2]|0,k+1|0);p=n;r=m;break}else mr(u,4244)}else{p=u+56|0;r=u+68|0}while(0);i=c[r>>2]|0;if(i>>>0>=(c[p>>2]|0)>>>0)mr(u,4153);c[r>>2]=i+16;c[i>>2]=8;c[i+8>>2]=o;i=o+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[r>>2]|0;if(i>>>0>=(c[p>>2]|0)>>>0)mr(u,1111);j=u+64|0;if((i-(c[j>>2]|0)|0)<16)Cr(u,1114,-1);p=i+-16|0;c[r>>2]=i+16;c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];if(c[i>>2]&8|0){p=(c[i+8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}Au(b,s,t)|0;fu(b,-1);do if((c[q>>2]|0)==86){fu(b,-1);i=c[b>>2]|0;p=b+1072|0;c[p>>2]=0;q=b+1076|0;c[q>>2]=0;c[b+1080>>2]=0;c[b+1084>>2]=1;c[b+1088>>2]=e>>>8&1^1;wu(b,d,e|6);if(((e&512|0)==0?(c[p>>2]|0)==0:0)?(c[q>>2]|0)==0:0)br(i,346165,83891003,346657);i=c[s>>2]|0;if((i|0)>-1){xu(b,d,i);b=yu(b,d+8|0,i,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=b;break}else{xu(b,d,-1);e=yu(b,d+8|0,-1,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=e;ou(b,2203,e,c[t>>2]|0);break}}else if(e&1024|0)br(u,346165,83891195,347387);while(0);i=c[r>>2]|0;if((i|0)==(c[j>>2]|0))br(u,342583,50337407,342599);d=i+-16|0;c[r>>2]=d;r=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[d>>2]=2;if(!(r&8)){u=c[t>>2]|0;c[g>>2]=u;u=c[s>>2]|0;c[f>>2]=u;l=v;return}d=i+4|0;r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){u=c[t>>2]|0;c[g>>2]=u;u=c[s>>2]|0;c[f>>2]=u;l=v;return}qr(c[u+44>>2]|0,i);u=c[t>>2]|0;c[g>>2]=u;u=c[s>>2]|0;c[f>>2]=u;l=v;return}function wu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+48|0;da=ja+36|0;ea=ja+32|0;fa=ja;ga=c[b>>2]|0;ha=b+960|0;f=c[ha>>2]|0;if((f|0)>=(c[b+964>>2]|0))br(ga,346165,50332059,346504);c[ha>>2]=f+1;o=ga+68|0;f=c[o>>2]|0;k=c[ga+52>>2]|0;g=f-k+768|0;k=k+g|0;m=ga+56|0;n=c[m>>2]|0;i=f;do if(n>>>0<k>>>0)if((c[ga+60>>2]|0)>>>0<k>>>0){Er(ga,g,1)|0;i=c[o>>2]|0;f=i;k=c[m>>2]|0;break}else{c[m>>2]=k;break}else k=n;while(0);ca=e&255;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;c[fa+12>>2]=0;c[fa+16>>2]=0;c[fa+20>>2]=0;c[fa+24>>2]=0;ba=f-(c[ga+64>>2]|0)>>4;$=fa+16|0;c[$>>2]=ba;aa=fa+28|0;c[aa>>2]=ba+1;if(i>>>0>=k>>>0)mr(ga,4162);ba=i+16|0;c[o>>2]=ba;if(ba>>>0>=k>>>0)mr(ga,4162);f=i+32|0;c[o>>2]=f;ba=b+896|0;switch(c[ba>>2]|0){case 54:case 56:{if(!(e&512))br(ga,346165,83890965,346657);if(f>>>0>=k>>>0)mr(ga,4162);c[o>>2]=i+48;Bu(c[b>>2]|0,d);Nt(ga);ia=c[ha>>2]|0;ia=ia+-1|0;c[ha>>2]=ia;l=ja;return}default:{}}fu(b,-1);G=c[b>>2]|0;Y=b+1052|0;H=c[Y>>2]|0;Z=b+1072|0;c[Z>>2]=(c[Z>>2]|0)+1;_=b+848|0;X=c[_>>2]|0;c[d>>2]=0;a:do switch(X|0){case 20:{g=H+1|0;c[Y>>2]=g;if((H|0)>65534)br(G,346165,50333579,346529);f=b+1056|0;if((H|0)>=(c[f>>2]|0))c[f>>2]=g;ou(b,6,0,H);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break}case 1:{Cu(b,d,c[b+864>>2]|0);break}case 35:{f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=3;ia=259;break a}else mr(G,4175);break}case 36:{f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=4;c[g+8>>2]=1;ia=259;break a}else mr(G,4195);break}case 37:{f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=4;c[g+8>>2]=0;ia=259;break a}else mr(G,4204);break}case 99:{f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){j=+h[b+856>>3];c[f>>2]=g+16;c[g>>2]=0;h[g+8>>3]=j;ia=259;break a}else mr(G,4215);break}case 100:{f=c[b+864>>2]|0;g=G+68|0;i=c[g>>2]|0;if(i>>>0<(c[G+56>>2]|0)>>>0){c[g>>2]=i+16;c[i>>2]=8;c[i+8>>2]=f;ia=f+4|0;c[ia>>2]=(c[ia>>2]|0)+1;ia=259;break a}else mr(G,4153);break}case 101:{f=H+1|0;c[Y>>2]=f;if((H|0)>65534)br(G,346165,50333579,346529);g=b+1056|0;if((H|0)>=(c[g>>2]|0))c[g>>2]=f;f=c[b+864>>2]|0;i=G+68|0;g=c[i>>2]|0;k=G+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(G,4153);c[i>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[b+868>>2]|0;g=c[i>>2]|0;if(g>>>0<(c[k>>2]|0)>>>0){c[i>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;X=f+4|0;c[X>>2]=(c[X>>2]|0)+1;Du(G);X=pu(b)|0;qu(b,16532,H,X,pu(b)|0);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break a}else mr(G,4153);break}case 51:{f=H+1|0;c[Y>>2]=f;if((H|0)>65534)br(G,346165,50333579,346529);s=b+1056|0;if((H|0)>=(c[s>>2]|0))c[s>>2]=f;p=b+976|0;q=((c[b+972>>2]|0)-(c[p>>2]|0)|0)>>>3;ou(b,193,0,H);t=c[Y>>2]|0;r=d+8|0;u=d+8|0;v=d+12|0;g=0;i=0;k=0;f=0;b:while(1){o=g;c:while(1){c[Y>>2]=t;m=c[ba>>2]|0;if((m|0)==52){ia=78;break b}else{n=0;g=o;o=i}while(1){i=(m|0)==57;if(!f){if(i){ia=60;break}do if(!n){i=c[Y>>2]|0;f=i+1|0;c[Y>>2]=f;if((i|0)>65534){ia=63;break b}if((i|0)>=(c[s>>2]|0))c[s>>2]=f;f=g+32768|0;if(f>>>0<65536){ou(b,4,i,f);o=g;break}else{ou(b,4,i,(g>>16)+32768|0);ou(b,5,i,g&65535);o=g;break}}while(0);f=c[Y>>2]|0;i=f+1|0;c[Y>>2]=i;if((f|0)>65534){ia=70;break b}if((f|0)>=(c[s>>2]|0))c[s>>2]=i;c[Y>>2]=f;wu(b,d,6);xu(b,d,f);f=yu(b,r,f,0)|0;c[d>>2]=1;c[u>>2]=2;c[v>>2]=f;c[Y>>2]=i;f=n+1|0;g=g+1|0;if(f>>>0>19){ia=74;break c}else{n=f;i=o;f=1}}else{if(!i){ia=87;break b}fu(b,-1);i=o;f=0}m=c[ba>>2]|0;if((m|0)==52)break;else o=i}if((ia|0)==60){ia=0;fu(b,-1);i=o;g=g+1|0;f=0}if(!n)o=g;else{ia=76;break}}if((ia|0)==74){ia=0;e=1;m=o;k=o+f|0;f=n+2|0}else if((ia|0)==76){ia=0;e=f;m=i;k=n+i|0;f=n+1|0}qu(b,3270,H,t,f);i=m;f=e}if((ia|0)==63)br(c[b>>2]|0,346165,50333579,346529);else if((ia|0)==70)br(c[b>>2]|0,346165,50333579,346529);else if((ia|0)==78){X=(c[p>>2]|0)+(q<<3)|0;c[X>>2]=c[X>>2]|(o>>>0<255?o:255)<<8;fu(b,-1);if(o>>>0>k>>>0){g=c[Y>>2]|0;f=g+1|0;c[Y>>2]=f;if((g|0)>65534)br(c[b>>2]|0,346165,50333579,346529);if((g|0)>=(c[s>>2]|0))c[s>>2]=f;f=o+32768|0;if(f>>>0<65536)ou(b,4,g,f);else{ou(b,4,g,(o>>16)+32768|0);ou(b,5,g,o&65535)}ou(b,2248,H,g)}c[Y>>2]=t;c[d>>2]=1;c[u>>2]=2;c[v>>2]=H;break a}else if((ia|0)==87)br(G,346165,83889037,346972);break}case 49:{y=H+1|0;c[Y>>2]=y;if((H|0)>65534)br(G,346165,50333579,346529);p=b+1056|0;if((H|0)>=(c[p>>2]|0))c[p>>2]=y;z=b+976|0;A=((c[b+972>>2]|0)-(c[z>>2]|0)|0)>>>3;ou(b,192,0,H);q=b+896|0;i=c[q>>2]|0;do if((i|0)!=50){r=b+848|0;s=b+864|0;t=G+304|0;u=H+3|0;v=(u|0)>65535;w=H+2|0;x=d+8|0;B=d+8|0;C=d+12|0;k=0;g=0;f=0;d:while(1){if(k){if((i|0)!=57){ia=131;break}fu(b,-1);if((c[q>>2]|0)==50){ia=129;break}}fu(b,-1);if(g>>>0>9){qu(b,3266,H,y,g<<1);c[Y>>2]=y;e=0;f=f+g|0}else e=g;m=e<<1;n=m+y|0;g=n+2|0;c[Y>>2]=g;if((g|0)>65535){ia=102;break}if((g|0)>(c[p>>2]|0))c[p>>2]=g;i=c[r>>2]|0;if((i|0)==1){X=c[s>>2]|0;k=c[t>>2]|0;g=1;o=(X|0)==(c[k+292>>2]|0);k=(X|0)==(c[k+332>>2]|0)}else{g=0;o=0;k=0}if(o|k?(c[q>>2]|0)!=85:0){if(e){qu(b,3266,H,y,m);f=f+e|0}c[Y>>2]=u;if(v){ia=112;break}if((u|0)>(c[p>>2]|0))c[p>>2]=u;if(Eu(b,d,q,y)|0){ia=131;break}ou(b,152,w,uu(b,2)|0);ou(b,o?2245:2244,H,y);g=0}else ia=117;e:do if((ia|0)==117){ia=0;f:do if(g){switch(c[q>>2]|0){case 50:case 57:break;default:break f}Eu(b,d,r,n)|0;Cu(b,d,c[s>>2]|0);g=n+1|0;xu(b,d,g);g=yu(b,x,g,0)|0;c[d>>2]=1;c[B>>2]=2;c[C>>2]=g;g=e+1|0;break e}while(0);g:do switch(i|0){case 99:case 100:case 1:{if((c[q>>2]|0)!=53)if((i|0)==51){ia=126;break g}else{ia=127;break g}if(Eu(b,d,r,n)|0){ia=131;break d}ou(b,152,n+1|0,uu(b,20)|0);g=e+1|0;break e}case 51:{ia=126;break}default:ia=127}while(0);if((ia|0)==126){ia=0;c[Y>>2]=n;wu(b,d,4);xu(b,d,n);X=yu(b,x,n,0)|0;c[d>>2]=1;c[B>>2]=2;c[C>>2]=X;fu(b,52)}else if((ia|0)==127?(ia=0,Eu(b,d,r,n)|0):0){ia=131;break d}fu(b,85);g=n+1|0;c[Y>>2]=g;wu(b,d,6);xu(b,d,g);g=yu(b,x,g,0)|0;c[d>>2]=1;c[B>>2]=2;c[C>>2]=g;g=e+1|0}while(0);i=c[q>>2]|0;if((i|0)==50){ia=129;break}else k=1}if((ia|0)==102)br(c[b>>2]|0,346165,50333579,346529);else if((ia|0)==112)br(c[b>>2]|0,346165,50333579,346529);else if((ia|0)==129){if(!g){E=C;F=B;D=f;break}qu(b,3266,H,y,g<<1);E=C;F=B;D=f+g|0;break}else if((ia|0)==131)br(G,346165,83889320,346949)}else{E=d+12|0;F=d+8|0;D=0}while(0);c[Y>>2]=y;X=(c[z>>2]|0)+(A<<3)|0;c[X>>2]=c[X>>2]|(D>>>0<255?D:255)<<8;fu(b,-1);c[d>>2]=1;c[F>>2]=2;c[E>>2]=H;break}case 53:{X=b+1080|0;c[X>>2]=(c[X>>2]|0)+1;W=b+1088|0;V=c[W>>2]|0;c[W>>2]=1;wu(b,d,4);fu(b,54);c[W>>2]=V;c[X>>2]=(c[X>>2]|0)+-1;break}case 17:{g=H+2|0;c[Y>>2]=g;if((g|0)>65535)br(G,346165,50333579,346529);o=b+1056|0;if((g|0)>(c[o>>2]|0))c[o>>2]=g;if((c[ba>>2]|0)==55){fu(b,-1);if((c[b+900>>2]|0)!=1)br(G,346165,83889899,346911);f=c[b+912>>2]|0;if((c[f+20>>2]|0)!=6)br(G,346165,83889899,346911);if(f3(380971,f+28|0,6)|0)br(G,346165,83889899,346911);if(!(a[b+1122>>0]|0)){fu(b,-1);ou(b,203,0,H);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break a}else br(G,346165,83889899,346911)}wu(b,d,36);xu(b,d,H);k=d+8|0;X=yu(b,k,H,0)|0;c[d>>2]=1;m=d+8|0;c[m>>2]=2;n=d+12|0;c[n>>2]=X;ou(b,192,0,H+1|0);c[Y>>2]=g;if((c[ba>>2]|0)==53){fu(b,-1);h:do if((c[ba>>2]|0)==54)r=0;else{f=0;while(1){if((f|0)>0)fu(b,57);g=c[Y>>2]|0;i=g+1|0;c[Y>>2]=i;if((g|0)>65534)break;if((g|0)>=(c[o>>2]|0))c[o>>2]=i;c[Y>>2]=g;wu(b,d,6);xu(b,d,g);X=yu(b,k,g,0)|0;c[d>>2]=1;c[m>>2]=2;c[n>>2]=X;c[Y>>2]=i;f=f+1|0;if((c[ba>>2]|0)==54){r=f;break h}}br(c[b>>2]|0,346165,50333579,346529)}while(0);fu(b,54);f=r}else f=0;ou(b,178,f,H);c[d>>2]=1;c[m>>2]=2;c[n>>2]=H;break}case 13:{g=H+1|0;c[Y>>2]=g;if((H|0)>65534)br(G,346165,50333579,346529);f=b+1056|0;if((H|0)>=(c[f>>2]|0))c[f>>2]=g;ou(b,152,H,uu(b,0)|0);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break}case 8:{wu(b,d,30);switch(c[d>>2]|0){case 4:{if(a[b+1126>>0]|0)br(G,346165,83889631,346886);f=H+1|0;c[Y>>2]=f;if((H|0)>65534)br(c[b>>2]|0,346165,50333579,346529);g=b+1056|0;if((H|0)>=(c[g>>2]|0))c[g>>2]=f;g=d+16|0;i=c[g>>2]|0;e=G+68|0;k=c[e>>2]|0;n=G+56|0;if(k>>>0>=(c[n>>2]|0)>>>0)mr(G,1093);o=G+64|0;m=c[o>>2]|0;X=k-m>>4;f=((i|0)<0?X:0)+i|0;if(f>>>0>=X>>>0)Cr(G,376,i);X=m+(f<<4)|0;c[e>>2]=k+16;c[k>>2]=c[X>>2];c[k+4>>2]=c[X+4>>2];c[k+8>>2]=c[X+8>>2];c[k+12>>2]=c[X+12>>2];if(c[k>>2]&8|0){X=(c[k+8>>2]|0)+4|0;c[X>>2]=(c[X>>2]|0)+1}if(!(Au(b,da,ea)|0)){i=c[g>>2]|0;k=c[e>>2]|0;if(k>>>0>=(c[n>>2]|0)>>>0)mr(G,1093);g=c[o>>2]|0;X=k-g>>4;f=((i|0)<0?X:0)+i|0;if(f>>>0>=X>>>0)Cr(G,376,i);X=g+(f<<4)|0;c[e>>2]=k+16;c[k>>2]=c[X>>2];c[k+4>>2]=c[X+4>>2];c[k+8>>2]=c[X+8>>2];c[k+12>>2]=c[X+12>>2];if(c[k>>2]&8|0){X=(c[k+8>>2]|0)+4|0;c[X>>2]=(c[X>>2]|0)+1}X=pu(b)|0;c[ea>>2]=X;ou(b,156,H,X)}else ou(b,10,0,H);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break a}case 3:{f=H+1|0;c[Y>>2]=f;if((H|0)>65534)br(c[b>>2]|0,346165,50333579,346529);g=b+1056|0;if((H|0)>=(c[g>>2]|0))c[g>>2]=f;qu(b,16500,H,yu(b,d+8|0,-1,0)|0,yu(b,d+20|0,-1,1)|0);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H;break a}default:{f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=4;c[g+8>>2]=1;ia=259;break a}else mr(G,4195)}}break}case 26:{wu(b,d,30);f=c[Y>>2]|0;xu(b,d,-1);c[Y>>2]=f;f=G+68|0;g=c[f>>2]|0;if(g>>>0<(c[G+56>>2]|0)>>>0){c[f>>2]=g+16;ia=259;break a}else mr(G,4162);break}case 23:{wu(b,d,30);if((c[d>>2]|0)==4){g=c[d+16>>2]|0;i=G+68|0;k=c[i>>2]|0;if(k>>>0>=(c[G+56>>2]|0)>>>0)mr(G,1093);m=c[G+64>>2]|0;X=k-m>>4;f=((g|0)<0?X:0)+g|0;if(f>>>0>=X>>>0)Cr(G,376,g);X=m+(f<<4)|0;c[i>>2]=k+16;c[k>>2]=c[X>>2];c[k+4>>2]=c[X+4>>2];c[k+8>>2]=c[X+8>>2];c[k+12>>2]=c[X+12>>2];if(c[k>>2]&8|0){X=(c[k+8>>2]|0)+4|0;c[X>>2]=(c[X>>2]|0)+1}if(Au(b,da,ea)|0){k=153;ia=226;break a}f=c[Y>>2]|0;g=f+1|0;c[Y>>2]=g;if((f|0)>65534)br(c[b>>2]|0,346165,50333579,346529);i=b+1056|0;if((f|0)>=(c[i>>2]|0))c[i>>2]=g;ou(b,154,f,c[ea>>2]|0);c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=f}else{k=153;ia=226}break}case 72:{f=32888;ia=232;break}case 73:{f=33913;ia=232;break}case 66:{wu(b,d,30);if(!(((c[d>>2]|0)==1?(c[d+8>>2]|0)==1:0)?(X=c[d+16>>2]|0,W=c[G+64>>2]|0,V=(c[G+68>>2]|0)-W>>4,X=((X|0)<0?V:0)+X|0,X=X>>>0<V>>>0?W+(X<<4)|0:0,!(c[((X|0)==0?368:X)>>2]|0)):0)){k=15;ia=226}break}case 67:{wu(b,d,30);if(((c[d>>2]|0)==1?(c[d+8>>2]|0)==1:0)?(p=c[d+16>>2]|0,q=c[G+64>>2]|0,W=(c[G+68>>2]|0)-q>>4,X=((p|0)<0?W:0)+p|0,X=X>>>0<W>>>0?q+(X<<4)|0:0,(c[((X|0)==0?368:X)>>2]|0)==0):0){X=q+(p<<4)+8|0;j=-+h[X>>3];c[q+(p<<4)>>2]=0;h[X>>3]=j}else{k=14;ia=226}break}case 81:{wu(b,d,30);k=12;ia=226;break}case 80:{wu(b,d,30);if((c[d>>2]|0)==1?(c[d+8>>2]|0)==1:0){f=c[G+64>>2]|0;g=c[d+16>>2]|0;i=f+(g<<4)|0;switch(c[i>>2]|0){case 0:break;case 4:{X=f+(g<<4)+8|0;W=c[X>>2]|0;c[i>>2]=4;c[X>>2]=W^1;break a}default:{k=13;ia=226;break a}}g=f+(g<<4)+8|0;j=+h[g>>3];if(!(j==0.0))if(j==1.0)f=0;else{k=13;ia=226;break a}else f=1;c[i>>2]=4;c[g>>2]=f}else{k=13;ia=226}break}default:br(G,346165,83889795,346355)}while(0);if((ia|0)==226){xu(b,d,-1);m=yu(b,d+8|0,-1,0)|0;c[d>>2]=1;n=d+8|0;c[n>>2]=2;o=d+12|0;c[o>>2]=m;if((m|0)<(c[b+1048>>2]|0)){f=c[Y>>2]|0;g=f+1|0;c[Y>>2]=g;if((f|0)>65534)br(c[b>>2]|0,346165,50333579,346529);i=b+1056|0;if((f|0)>=(c[i>>2]|0))c[i>>2]=g}else f=m;ou(b,k,f,m);c[d>>2]=1;c[n>>2]=2;c[o>>2]=f}else if((ia|0)==232){n=f&121;f=f>>>8;o=H+1|0;c[Y>>2]=o;if((H|0)>65534)br(G,346165,50333579,346529);g=b+1056|0;if((H|0)>=(c[g>>2]|0))c[g>>2]=o;wu(b,d,30);switch(c[d>>2]|0){case 4:{i=c[d+16>>2]|0;k=G+68|0;f=G+64|0;if(a[b+1126>>0]|0?c[c[(c[((i|0)<0?k:f)>>2]|0)+(i<<4)+8>>2]>>2]&8192|0:0)br(G,346165,83889903,346930);m=c[k>>2]|0;if(m>>>0>=(c[G+56>>2]|0)>>>0)mr(G,1093);g=c[f>>2]|0;X=m-g>>4;f=((i|0)<0?X:0)+i|0;if(f>>>0>=X>>>0)Cr(G,376,i);X=g+(f<<4)|0;c[k>>2]=m+16;c[m>>2]=c[X>>2];c[m+4>>2]=c[X+4>>2];c[m+8>>2]=c[X+8>>2];c[m+12>>2]=c[X+12>>2];if(c[m>>2]&8|0){X=(c[m+8>>2]|0)+4|0;c[X>>2]=(c[X>>2]|0)+1}if(!(Au(b,da,ea)|0))ou(b,n|4,H,c[ea>>2]|0);else ou(b,n,H,c[da>>2]|0);break}case 3:{qu(b,f|16384,H,yu(b,d+8|0,-1,0)|0,yu(b,d+20|0,-1,1)|0);break}default:{xu(b,d,H);m=yu(b,d+8|0,H,0)|0;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=m;ou(b,15,0,H);m=b+980|0;n=b+972|0;f=c[n>>2]|0;g=f;do if(((c[m>>2]|0)-g|0)>>>0<=7){i=c[b>>2]|0;k=b+976|0;f=g-(c[k>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0)br(i,344105,50331712,342539);else{X=b+984|0;cr(i,c[X>>2]|0,g);X=c[(c[X>>2]|0)+20>>2]|0;s=X+f|0;c[n>>2]=s;c[k>>2]=X;c[m>>2]=X+g;break}}else s=f;while(0);g=s+8|0;c[n>>2]=g;f=c[b+876>>2]|0;if(!f)f=c[b+924>>2]|0;c[s>>2]=170;c[s+4>>2]=f;if((f|0)>2147418112?1:(g-(c[b+976>>2]|0)|0)>>>0>2147418112)br(c[b>>2]|0,346165,50332820,346577)}}c[Y>>2]=o;c[d>>2]=1;c[d+8>>2]=2;c[d+12>>2]=H}else if((ia|0)==259)Bu(c[b>>2]|0,d);w=b+1088|0;x=b+1076|0;y=b+900|0;t=d+8|0;u=d+12|0;v=d+16|0;z=fa+8|0;A=fa+12|0;B=b+912|0;C=fa+20|0;D=b+1136|0;E=fa+4|0;F=d+4|0;G=d+20|0;H=fa+24|0;I=d+24|0;J=d+28|0;K=d+8|0;L=fa+8|0;M=b+1056|0;N=b+1130|0;O=d+20|0;P=b+972|0;Q=b+980|0;R=b+876|0;S=b+924|0;T=b+976|0;U=b+984|0;s=b+1126|0;V=b+1048|0;W=b+972|0;X=b+932|0;i:while(1){f=c[ba>>2]|0;if((f|0)==15)if(!(c[w>>2]|0))f=0;else ia=266;else if((f|1|0)==73?(c[X>>2]|0)!=0:0)f=0;else ia=266;if((ia|0)==266){ia=0;f=a[346253+f>>0]<<1&62}if(ca>>>0>=f>>>0){ia=467;break}fu(b,-1);r=c[b>>2]|0;f=c[x>>2]|0;c[x>>2]=f+1;do switch(c[_>>2]|0){case 55:{xu(b,d,-1);if((c[y>>2]|0)!=1){ia=270;break i}c[fa>>2]=3;n=c[b>>2]|0;g=c[u>>2]|0;f=c[v>>2]|0;c[z>>2]=c[t>>2];c[A>>2]=g;ju(n,f,c[$>>2]|0);f=c[B>>2]|0;n=r+68|0;g=c[n>>2]|0;if(g>>>0>=(c[r+56>>2]|0)>>>0){ia=272;break i}c[n>>2]=g+16;c[g>>2]=8;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[aa>>2]|0;i=c[r+64>>2]|0;k=(c[n>>2]|0)-i>>4;if(!k){ia=274;break i}m=i+(k+-1<<4)|0;f=((g|0)<0?k:0)+g|0;if(f>>>0>=k>>>0){ia=276;break i}p=i+(f<<4)|0;q=c[p>>2]|0;f=c[i+(f<<4)+8>>2]|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];c[m>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(q&8|0?(p=f+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[r+44>>2]|0,f);c[C>>2]=1;a[D>>0]=1;fu(b,-1);break}case 51:{xu(b,d,-1);p=yu(b,K,-1,3)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=p;wu(b,fa,4);xu(b,fa,-1);fu(b,52);c[fa>>2]=3;p=c[b>>2]|0;r=c[A>>2]|0;q=c[$>>2]|0;c[C>>2]=c[L>>2];c[H>>2]=r;ju(p,q,c[aa>>2]|0);q=c[b>>2]|0;p=c[u>>2]|0;r=c[v>>2]|0;c[L>>2]=c[K>>2];c[A>>2]=p;ju(q,r,c[$>>2]|0);break}case 53:{p=c[Y>>2]|0;i=p+2|0;c[Y>>2]=i;if((i|0)>65535){ia=283;break i}if((i|0)>(c[M>>2]|0))c[M>>2]=i;switch(c[d>>2]|0){case 4:{n=c[v>>2]|0;g=(n|0)<0;o=r+68|0;f=r+64|0;if((c[(c[(g?o:f)>>2]|0)+(n<<4)+8>>2]|0)==(c[(c[r+304>>2]|0)+132>>2]|0)){a[N>>0]=1;k=180}else k=176;e=c[o>>2]|0;if(e>>>0>=(c[r+56>>2]|0)>>>0){ia=290;break i}m=c[f>>2]|0;q=e-m>>4;f=(g?q:0)+n|0;if(f>>>0>=q>>>0){ia=292;break i}r=m+(f<<4)|0;c[o>>2]=e+16;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];if(c[e>>2]&8|0){r=(c[e+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}if(!(Au(b,da,ea)|0))qu(b,16556,p,c[ea>>2]|0,0);else ou(b,2219,c[da>>2]|0,p);break}case 3:{k=p+1|0;yu(b,K,k,0)|0;qu(b,16592,p,k,yu(b,O,-1,1)|0);k=176;break}default:{xu(b,d,p);k=yu(b,K,p,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=k;ou(b,7,0,p+1|0);k=176}}c[Y>>2]=i;if((c[ba>>2]|0)==54)f=0;else{f=0;do{if((f|0)>0){fu(b,57);g=c[Y>>2]|0}else g=i;i=g+1|0;c[Y>>2]=i;if((g|0)>65534){ia=305;break i}if((g|0)>=(c[M>>2]|0))c[M>>2]=i;c[Y>>2]=g;wu(b,fa,6);xu(b,fa,g);r=yu(b,L,g,0)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;c[Y>>2]=i;f=f+1|0}while((c[ba>>2]|0)!=54)}fu(b,54);ou(b,k,f,p);c[Y>>2]=p+1;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=p;break}case 72:{f=8944128;ia=437;break}case 73:{f=9206528;ia=437;break}case 71:{f=18463;ia=368;break}case 68:{f=15390;ia=368;break}case 69:{f=16414;ia=368;break}case 70:{f=17438;ia=368;break}case 66:{f=13340;ia=368;break}case 67:{f=14364;ia=368;break}case 74:{f=22554;ia=368;break}case 75:{f=24602;ia=368;break}case 76:{f=23578;ia=368;break}case 58:{f=10264;ia=368;break}case 59:{f=8216;ia=368;break}case 60:{f=11288;ia=368;break}case 61:{f=9240;ia=368;break}case 16:{f=25624;ia=368;break}case 15:{f=26648;ia=368;break}case 62:{f=4118;ia=368;break}case 63:{f=5142;ia=368;break}case 64:{f=6166;ia=368;break}case 65:{f=7190;ia=368;break}case 77:{f=19476;ia=368;break}case 79:{f=21522;ia=368;break}case 78:{f=20496;ia=368;break}case 82:{f=269;ia=369;break}case 83:{f=11;ia=369;break}case 84:{o=c[Y>>2]|0;e=o+1|0;c[Y>>2]=e;if((o|0)>65534){ia=334;break i}if((o|0)>=(c[M>>2]|0))c[M>>2]=e;xu(b,d,o);f=yu(b,K,o,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=f;ou(b,o>>>31|48,0,o);f=c[P>>2]|0;g=c[T>>2]|0;i=f-g|0;n=i>>>3;if(((c[Q>>2]|0)-f|0)>>>0>7)k=g;else{f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0){ia=339;break i}cr(f,c[U>>2]|0,g);k=c[(c[U>>2]|0)+20>>2]|0;f=k+i|0;c[P>>2]=f;c[T>>2]=k;c[Q>>2]=k+g}i=f+8|0;c[P>>2]=i;g=c[R>>2]|0;if(!g)g=c[S>>2]|0;c[f>>2]=2;c[f+4>>2]=g;if((g|0)>2147418112|(i-k|0)>>>0>2147418112){ia=344;break i}wu(b,fa,6);xu(b,fa,o);f=yu(b,L,o,0)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=f;fu(b,85);f=c[P>>2]|0;g=c[T>>2]|0;i=f-g|0;m=i>>>3;if(((c[Q>>2]|0)-f|0)>>>0<=7){f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0){ia=347;break i}cr(f,c[U>>2]|0,g);r=c[(c[U>>2]|0)+20>>2]|0;f=r+i|0;c[P>>2]=f;c[T>>2]=r;c[Q>>2]=r+g;g=r}k=f+8|0;c[P>>2]=k;i=c[R>>2]|0;if(!i)i=c[S>>2]|0;c[f>>2]=2;c[f+4>>2]=i;f=k-g|0;if((i|0)>2147418112|f>>>0>2147418112){ia=352;break i}c[g+(n<<3)>>2]=((f>>>3)-n<<8)+2147483392|2;wu(b,fa,6);xu(b,fa,o);yu(b,L,o,0)|0;r=c[T>>2]|0;c[r+(m<<3)>>2]=((((c[P>>2]|0)-r|0)>>>3)-m<<8)+2147483392|2;c[Y>>2]=e;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=o;break}case 86:{q=256;ia=382;break}case 87:{q=52;ia=382;break}case 88:{q=56;ia=382;break}case 89:{q=60;ia=382;break}case 90:{q=64;ia=382;break}case 91:{q=68;ia=382;break}case 92:{q=72;ia=382;break}case 93:{q=88;ia=382;break}case 94:{q=96;ia=382;break}case 95:{q=92;ia=382;break}case 96:{q=76;ia=382;break}case 97:{q=80;ia=382;break}case 98:{q=84;ia=382;break}case 57:{r=c[Y>>2]|0;xu(b,d,-1);c[Y>>2]=r;wu(b,fa,5);xu(b,fa,-1);break}default:{ia=367;break i}}while(0);j:do if((ia|0)==368){ia=0;xu(b,d,-1);wu(b,fa,f&31);xu(b,fa,-1);c[fa>>2]=2;c[E>>2]=f>>>8;c[C>>2]=c[z>>2];c[H>>2]=c[A>>2];ju(r,c[$>>2]|0,c[aa>>2]|0);c[z>>2]=c[t>>2];c[A>>2]=c[u>>2];ju(r,c[v>>2]|0,c[$>>2]|0)}else if((ia|0)==369){ia=0;n=f&15;o=c[Y>>2]|0;g=o+1|0;c[Y>>2]=g;if((o|0)>65534){ia=370;break i}if((o|0)>=(c[M>>2]|0))c[M>>2]=g;xu(b,d,o);g=yu(b,K,o,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=g;ou(b,f>>>7^50,0,o);f=c[P>>2]|0;g=c[T>>2]|0;i=f-g|0;m=i>>>3;if(((c[Q>>2]|0)-f|0)>>>0>7)k=g;else{f=c[b>>2]|0;g=i+72+(i>>>2)|0;if(g>>>0<i>>>0){ia=375;break i}cr(f,c[U>>2]|0,g);k=c[(c[U>>2]|0)+20>>2]|0;f=k+i|0;c[P>>2]=f;c[T>>2]=k;c[Q>>2]=k+g}i=f+8|0;c[P>>2]=i;g=c[R>>2]|0;if(!g)g=c[S>>2]|0;c[f>>2]=2;c[f+4>>2]=g;if((g|0)>2147418112|(i-k|0)>>>0>2147418112){ia=380;break i}wu(b,fa,n);xu(b,fa,o);yu(b,L,o,0)|0;r=c[T>>2]|0;c[r+(m<<3)>>2]=((((c[P>>2]|0)-r|0)>>>3)-m<<8)+2147483392|2;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=o}else if((ia|0)==382){ia=0;p=(c[Z>>2]|0)==1&(f|0)==0;switch(c[d>>2]|0){case 4:{i=c[v>>2]|0;k=r+68|0;f=r+64|0;if(a[s>>0]|0?c[c[(c[((i|0)<0?k:f)>>2]|0)+(i<<4)+8>>2]>>2]&8192|0:0){ia=465;break i}m=c[k>>2]|0;if(m>>>0>=(c[r+56>>2]|0)>>>0){ia=386;break i}g=c[f>>2]|0;e=m-g>>4;f=((i|0)<0?e:0)+i|0;if(f>>>0>=e>>>0){ia=388;break i}r=g+(f<<4)|0;c[k>>2]=m+16;c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];if(c[m>>2]&8|0){r=(c[m+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}Au(b,da,ea)|0;do if((q|0)==256){wu(b,fa,7);if(!p){if((c[fa>>2]|0)==1){if((c[z>>2]|0)!=2)break;if((c[A>>2]|0)>>>0>=(c[V>>2]|0)>>>0)break}xu(b,fa,-1);r=yu(b,L,-1,3)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r}}else{k=c[Y>>2]|0;f=k+1|0;c[Y>>2]=f;if((k|0)>65534){ia=398;break i}g=c[M>>2]|0;if((k|0)>=(g|0)){c[M>>2]=f;g=f}e=c[da>>2]|0;if((e|0)<=-1){ou(b,11,k,c[ea>>2]|0);wu(b,fa,7);xu(b,fa,-1);r=yu(b,L,-1,1)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;qu(b,q|16384,k,k,r);c[A>>2]=k;break}do if(p){f=k;k=e}else{i=k+2|0;c[Y>>2]=i;if((k|0)>65533){ia=404;break i}if((f|0)<(g|0))break;c[M>>2]=i}while(0);g=c[P>>2]|0;i=c[T>>2]|0;ou(b,0,f,e);m=((c[P>>2]|0)-(c[T>>2]|0)|0)>>>3;wu(b,fa,7);xu(b,fa,-1);o=yu(b,L,-1,1)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=o;n=c[P>>2]|0;if(((n-(c[T>>2]|0)|0)>>>3|0)==(m|0)){c[W>>2]=n+(g-i-(m<<3)&-8);f=e}qu(b,q|16384,k,f,o);c[A>>2]=k;if((k|0)<(c[V>>2]|0))break;c[Y>>2]=k+1}while(0);f=c[da>>2]|0;do if((f|0)>-1){if((c[fa>>2]|0)==1){c[d>>2]=1;c[F>>2]=c[E>>2];c[t>>2]=c[z>>2];c[u>>2]=c[A>>2];c[G>>2]=c[C>>2];c[I>>2]=c[H>>2];ju(c[b>>2]|0,c[$>>2]|0,c[v>>2]|0);ju(c[b>>2]|0,c[aa>>2]|0,c[J>>2]|0);xu(b,d,f);r=yu(b,K,f,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=r;break}if(p){xu(b,fa,f);r=yu(b,L,f,0)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;break}else{xu(b,fa,-1);r=yu(b,L,-1,3)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;c[d>>2]=1;c[F>>2]=c[E>>2];c[t>>2]=2;c[u>>2]=r;c[G>>2]=c[C>>2];c[I>>2]=c[H>>2];ju(c[b>>2]|0,c[$>>2]|0,c[v>>2]|0);ju(c[b>>2]|0,c[aa>>2]|0,c[J>>2]|0);xu(b,d,f);r=yu(b,K,f,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=r;break}}else{xu(b,fa,-1);r=yu(b,L,-1,0)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;ou(b,2203,r,c[ea>>2]|0)}while(0);break j}case 3:{i=yu(b,K,-1,2)|0;k=yu(b,O,-1,3)|0;if((q|0)==256){wu(b,fa,7);xu(b,fa,-1);f=yu(b,L,-1,1)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=f}else{f=c[Y>>2]|0;g=f+1|0;c[Y>>2]=g;if((f|0)>65534){ia=423;break i}if((f|0)>=(c[M>>2]|0))c[M>>2]=g;qu(b,16492,f,i,k);wu(b,fa,7);xu(b,fa,-1);r=yu(b,L,-1,1)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=r;qu(b,q|16384,f,f,r)}qu(b,18544,i,k,f);c[fa>>2]=1;c[z>>2]=2;c[A>>2]=f;break j}default:{k=c[Y>>2]|0;xu(b,d,-1);c[Y>>2]=k;wu(b,fa,7);xu(b,fa,-1);k=yu(b,L,-1,1)|0;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=k;f=c[P>>2]|0;g=f;if(((c[Q>>2]|0)-g|0)>>>0<=7){i=c[b>>2]|0;f=g-(c[T>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0){ia=430;break i}cr(i,c[U>>2]|0,g);r=c[(c[U>>2]|0)+20>>2]|0;f=r+f|0;c[P>>2]=f;c[T>>2]=r;c[Q>>2]=r+g}i=f+8|0;c[P>>2]=i;g=c[R>>2]|0;if(!g)g=c[S>>2]|0;c[f>>2]=170;c[f+4>>2]=g;if((g|0)>2147418112?1:(i-(c[T>>2]|0)|0)>>>0>2147418112){ia=435;break i}c[fa>>2]=1;c[z>>2]=2;c[A>>2]=k;break j}}}else if((ia|0)==437){ia=0;n=f>>>8&123;f=f>>>16;o=c[Y>>2]|0;e=o+1|0;c[Y>>2]=e;if((o|0)>65534){ia=438;break i}if((o|0)>=(c[M>>2]|0))c[M>>2]=e;switch(c[d>>2]|0){case 4:{i=c[v>>2]|0;k=r+68|0;f=r+64|0;if(a[s>>0]|0?c[c[(c[((i|0)<0?k:f)>>2]|0)+(i<<4)+8>>2]>>2]&8192|0:0){ia=464;break i}m=c[k>>2]|0;if(m>>>0>=(c[r+56>>2]|0)>>>0){ia=445;break i}g=c[f>>2]|0;q=m-g>>4;f=((i|0)<0?q:0)+i|0;if(f>>>0>=q>>>0){ia=447;break i}r=g+(f<<4)|0;c[k>>2]=m+16;c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];if(c[m>>2]&8|0){r=(c[m+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}if(!(Au(b,da,ea)|0))ou(b,n|4,o,c[ea>>2]|0);else ou(b,n,o,c[da>>2]|0);break}case 3:{qu(b,f|16384,o,yu(b,K,-1,0)|0,yu(b,O,-1,1)|0);break}default:{xu(b,d,o);f=yu(b,K,o,0)|0;c[d>>2]=1;c[t>>2]=2;c[u>>2]=f;ou(b,15,0,o);f=c[P>>2]|0;g=f;if(((c[Q>>2]|0)-g|0)>>>0<=7){i=c[b>>2]|0;f=g-(c[T>>2]|0)|0;g=f+72+(f>>>2)|0;if(g>>>0<f>>>0){ia=457;break i}cr(i,c[U>>2]|0,g);r=c[(c[U>>2]|0)+20>>2]|0;f=r+f|0;c[P>>2]=f;c[T>>2]=r;c[Q>>2]=r+g}i=f+8|0;c[P>>2]=i;g=c[R>>2]|0;if(!g)g=c[S>>2]|0;c[f>>2]=170;c[f+4>>2]=g;if((g|0)>2147418112?1:(i-(c[T>>2]|0)|0)>>>0>2147418112){ia=462;break i}}}c[Y>>2]=e;c[fa>>2]=1;c[z>>2]=2;c[A>>2]=o}while(0);c[d>>2]=c[fa>>2];c[F>>2]=c[E>>2];c[t>>2]=c[z>>2];c[u>>2]=c[A>>2];c[G>>2]=c[C>>2];c[I>>2]=c[H>>2];ju(c[b>>2]|0,c[$>>2]|0,c[v>>2]|0);ju(c[b>>2]|0,c[aa>>2]|0,c[J>>2]|0)}switch(ia|0){case 270:{br(r,346165,83889957,346233);break}case 272:{mr(r,4153);break}case 274:{Cr(r,376,-1);break}case 276:{Cr(r,376,g);break}case 283:{br(r,346165,50333579,346529);break}case 290:{mr(r,1093);break}case 292:{Cr(r,376,n);break}case 305:{br(c[b>>2]|0,346165,50333579,346529);break}case 334:{br(r,346165,50333579,346529);break}case 339:{br(f,344105,50331712,342539);break}case 344:{br(c[b>>2]|0,346165,50332820,346577);break}case 347:{br(f,344105,50331712,342539);break}case 352:{br(c[b>>2]|0,346165,50332820,346577);break}case 367:{br(r,346165,83890386,346355);break}case 370:{br(r,346165,50333579,346529);break}case 375:{br(f,344105,50331712,342539);break}case 380:{br(c[b>>2]|0,346165,50332820,346577);break}case 386:{mr(r,1093);break}case 388:{Cr(r,376,i);break}case 398:{br(c[b>>2]|0,346165,50333579,346529);break}case 404:{br(c[b>>2]|0,346165,50333579,346529);break}case 423:{br(c[b>>2]|0,346165,50333579,346529);break}case 430:{br(i,344105,50331712,342539);break}case 435:{br(c[b>>2]|0,346165,50332820,346577);break}case 438:{br(r,346165,50333579,346529);break}case 445:{mr(r,1093);break}case 447:{Cr(r,376,i);break}case 457:{br(i,344105,50331712,342539);break}case 462:{br(c[b>>2]|0,346165,50332820,346577);break}case 464:{br(r,346165,83890876,346930);break}case 465:{br(r,346165,83890880,343377);break}case 467:{Nt(ga);ia=c[ha>>2]|0;ia=ia+-1|0;c[ha>>2]=ia;l=ja;return}}}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0;u=l;l=l+16|0;n=u+4|0;o=u;t=c[a>>2]|0;switch(c[b>>2]|0){case 2:{j=b+8|0;a:do if((c[j>>2]|0)==1?(c[b+20>>2]|0)==1:0){r=t+64|0;p=c[r>>2]|0;q=b+16|0;m=c[q>>2]|0;n=b+28|0;i=c[n>>2]|0;f=p+(i<<4)|0;o=p+(m<<4)|0;g=c[o>>2]|0;if(!g){if(c[f>>2]|0)break;f=p+(m<<4)+8|0;k=+h[f>>3];e=+h[p+(i<<4)+8>>3];t=(c[b+4>>2]|0)+-52|0;switch(t>>>2|t<<30|0){case 0:{e=k+e;break}case 1:{e=k-e;break}case 2:{e=k*e;break}case 3:{e=k/e;break}case 5:{a=K4(e)|0;if((a|0)!=0?!((a|0)==1&+B(+k)==1.0):0)e=+D(+k,+e);else e=s;break}default:break a}c[b>>2]=1;c[o>>2]=0;h[f>>3]=e;l=u;return}if(((g|0)==8?(c[b+4>>2]|0)==52:0)?(c[f>>2]|0)==8:0){o=t+68|0;f=c[o>>2]|0;j=t+56|0;if(f>>>0>=(c[j>>2]|0)>>>0)mr(t,1093);a=f-p>>4;d=((m|0)<0?a:0)+m|0;if(d>>>0>=a>>>0)Cr(t,376,m);a=p+(d<<4)|0;c[o>>2]=f+16;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(c[f>>2]&8|0){a=(c[f+8>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1}g=c[n>>2]|0;i=c[o>>2]|0;if(i>>>0>=(c[j>>2]|0)>>>0)mr(t,1093);f=c[r>>2]|0;a=i-f>>4;d=((g|0)<0?a:0)+g|0;if(d>>>0>=a>>>0)Cr(t,376,g);a=f+(d<<4)|0;c[o>>2]=i+16;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];if(c[i>>2]&8|0){a=(c[i+8>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1}ds(t,2,0);j=c[q>>2]|0;g=c[r>>2]|0;f=(c[o>>2]|0)-g>>4;if(!f)Cr(t,376,-1);i=g+(f+-1<<4)|0;d=((j|0)<0?f:0)+j|0;if(d>>>0>=f>>>0)Cr(t,376,j);r=g+(d<<4)|0;a=c[r>>2]|0;d=c[g+(d<<4)+8>>2]|0;c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];c[i>>2]=2;c[o>>2]=(c[o>>2]|0)+-16;if(a&8|0?(r=d+4|0,a=(c[r>>2]|0)+-1|0,c[r>>2]=a,(a|0)==0):0)qr(c[t+44>>2]|0,d);c[b>>2]=1;l=u;return}}while(0);i=yu(a,j,-1,5)|0;j=yu(a,b+20|0,-1,5)|0;if((d|0)<=-1){d=c[a+1048>>2]|0;if((i|0)<(d|0))if((j|0)<(d|0)){t=a+1052|0;d=c[t>>2]|0;f=d+1|0;c[t>>2]=f;if((d|0)>65534)br(c[a>>2]|0,346165,50333579,346529);g=a+1056|0;if((d|0)>=(c[g>>2]|0))c[g>>2]=f}else d=j;else d=i}qu(a,c[b+4>>2]|16384,d,i,j);c[b>>2]=1;c[b+8>>2]=2;c[b+12>>2]=d;l=u;return}case 3:{i=yu(a,b+8|0,-1,5)|0;j=yu(a,b+20|0,-1,5)|0;if((d|0)<=-1){d=c[a+1048>>2]|0;if((i|0)<(d|0))if((j|0)<(d|0)){t=a+1052|0;d=c[t>>2]|0;f=d+1|0;c[t>>2]=f;if((d|0)>65534)br(c[a>>2]|0,346165,50333579,346529);g=a+1056|0;if((d|0)>=(c[g>>2]|0))c[g>>2]=f}else d=j;else d=i}qu(a,16492,d,i,j);c[b>>2]=1;c[b+8>>2]=2;c[b+12>>2]=d;l=u;return}case 4:{g=c[b+16>>2]|0;i=t+68|0;j=c[i>>2]|0;if(j>>>0>=(c[t+56>>2]|0)>>>0)mr(t,1093);m=c[t+64>>2]|0;r=j-m>>4;f=((g|0)<0?r:0)+g|0;if(f>>>0>=r>>>0)Cr(t,376,g);t=m+(f<<4)|0;c[i>>2]=j+16;c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[j+12>>2]=c[t+12>>2];if(c[j>>2]&8|0){t=(c[j+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}if(!(Au(a,n,o)|0)){if((d|0)<=-1){t=a+1052|0;d=c[t>>2]|0;f=d+1|0;c[t>>2]=f;if((d|0)>65534)br(c[a>>2]|0,346165,50333579,346529);g=a+1056|0;if((d|0)>=(c[g>>2]|0))c[g>>2]=f}ou(a,11,d,c[o>>2]|0)}else d=c[n>>2]|0;c[b>>2]=1;c[b+8>>2]=2;c[b+12>>2]=d;l=u;return}case 1:{l=u;return}default:Dr(t,346165,2398)}}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,k=0,l=0,m=0,n=0;m=c[a>>2]|0;switch(c[b>>2]|0){case 1:{l=c[m+64>>2]|0;k=c[b+8>>2]|0;switch(c[l+(k<<4)>>2]|0){case 2:{if((d|0)<=-1){l=a+1052|0;d=c[l>>2]|0;f=d+1|0;c[l>>2]=f;if((d|0)>65534)br(m,346165,50333579,346529);b=a+1056|0;if((d|0)>=(c[b>>2]|0))c[b>>2]=f}ou(a,7,0,d);a=d;return a|0}case 3:{if((d|0)<=-1){l=a+1052|0;d=c[l>>2]|0;f=d+1|0;c[l>>2]=f;if((d|0)>65534)br(m,346165,50333579,346529);b=a+1056|0;if((d|0)>=(c[b>>2]|0))c[b>>2]=f}ou(a,8,0,d);a=d;return a|0}case 4:{if((d|0)<=-1){e=a+1052|0;d=c[e>>2]|0;f=d+1|0;c[e>>2]=f;if((d|0)>65534)br(m,346165,50333579,346529);b=a+1056|0;if((d|0)>=(c[b>>2]|0))c[b>>2]=f}ou(a,c[l+(k<<4)+8>>2]|0?9:10,0,d);a=d;return a|0}case 8:{f=m+68|0;g=c[f>>2]|0;if(g>>>0>=(c[m+56>>2]|0)>>>0)mr(m,1093);n=g-l>>4;b=((k|0)<0?n:0)+k|0;if(b>>>0>=n>>>0)Cr(m,376,k);n=l+(b<<4)|0;c[f>>2]=g+16;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];if(c[g>>2]&8|0){n=(c[g+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}g=pu(a)|0;if(e&1|0){n=g;return n|0}if((d|0)<=-1){n=a+1052|0;d=c[n>>2]|0;b=d+1|0;c[n>>2]=b;if((d|0)>65534)br(c[a>>2]|0,346165,50333579,346529);f=a+1056|0;if((d|0)>=(c[f>>2]|0))c[f>>2]=b}ou(a,3,d,g);n=d;return n|0}default:{e=(e&1|0)!=0;if((!e?(i=+h[l+(k<<4)+8>>3],g=~~i,+(g|0)==i):0)?(h[j>>3]=i,n=c[j+4>>2]|0,(g|0)!=0|((n|0)>-1|(n|0)==-1&(c[j>>2]|0)>>>0>4294967295)):0){if((d|0)<=-1){n=a+1052|0;d=c[n>>2]|0;f=d+1|0;c[n>>2]=f;if((d|0)>65534)br(m,346165,50333579,346529);b=a+1056|0;if((d|0)>=(c[b>>2]|0))c[b>>2]=f}b=g+32768|0;if(b>>>0<65536){ou(a,4,d,b);n=d;return n|0}else{ou(a,4,d,(g>>16)+32768|0);ou(a,5,d,g&65535);n=d;return n|0}}f=m+68|0;g=c[f>>2]|0;if(g>>>0>=(c[m+56>>2]|0)>>>0)mr(m,1093);n=g-l>>4;b=((k|0)<0?n:0)+k|0;if(b>>>0>=n>>>0)Cr(m,376,k);n=l+(b<<4)|0;c[f>>2]=g+16;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];if(c[g>>2]&8|0){n=(c[g+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}g=pu(a)|0;if(e){n=g;return n|0}if((d|0)<=-1){n=a+1052|0;d=c[n>>2]|0;b=d+1|0;c[n>>2]=b;if((d|0)>65534)br(c[a>>2]|0,346165,50333579,346529);f=a+1056|0;if((d|0)>=(c[f>>2]|0))c[f>>2]=b}ou(a,3,d,g);n=d;return n|0}}}case 2:{g=c[b+4>>2]|0;b=(g|0)<0;if((d|0)>-1){if(b){ou(a,3,d,g);n=d;return n|0}if((g|0)==(d|0)){n=d;return n|0}ou(a,0,d,g);n=d;return n|0}if(b){if(e&1|0){n=g;return n|0}n=a+1052|0;b=c[n>>2]|0;f=b+1|0;c[n>>2]=f;if((b|0)>65534)br(m,346165,50333579,346529);d=a+1056|0;if((b|0)>=(c[d>>2]|0))c[d>>2]=f;ou(a,3,b,g);n=b;return n|0}if(!(e&2)){n=g;return n|0}if((g|0)>=(c[a+1048>>2]|0)){n=g;return n|0}n=a+1052|0;b=c[n>>2]|0;f=b+1|0;c[n>>2]=f;if((b|0)>65534)br(m,346165,50333579,346529);d=a+1056|0;if((b|0)>=(c[d>>2]|0))c[d>>2]=f;ou(a,0,b,g);n=b;return n|0}default:Dr(m,346165,2200)}return 0}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+972|0;d=c[j>>2]|0;g=a+976|0;f=c[g>>2]|0;h=d-f|0;b=b-(h>>>3)+8388607|0;if((b|0)>=16777216)br(c[a>>2]|0,346165,50333236,346540);i=b<<8|2;e=a+980|0;do if(((c[e>>2]|0)-d|0)>>>0<=7){b=c[a>>2]|0;d=h+72+(h>>>2)|0;if(d>>>0<h>>>0)br(b,344105,50331712,342539);else{l=a+984|0;cr(b,c[l>>2]|0,d);l=c[(c[l>>2]|0)+20>>2]|0;k=l+h|0;c[j>>2]=k;c[g>>2]=l;c[e>>2]=l+d;break}}else{k=d;l=f}while(0);d=k+8|0;c[j>>2]=d;b=c[a+876>>2]|0;if(!b)b=c[a+924>>2]|0;c[k>>2]=i;c[k+4>>2]=b;if((b|0)>2147418112|(d-l|0)>>>0>2147418112)br(c[a>>2]|0,346165,50332820,346577);else return}function Au(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b>>2]|0;p=s+68|0;f=c[p>>2]|0;if(f>>>0>=(c[s+56>>2]|0)>>>0)mr(s,1111);q=s+64|0;if((f-(c[q>>2]|0)|0)<16)Cr(s,1114,-1);o=f+-16|0;c[p>>2]=f+16;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];if(c[f>>2]&8|0){o=(c[f+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}o=c[b>>2]|0;m=o+68|0;f=c[m>>2]|0;if((c[f+-8>>2]|0)==(c[(c[o+304>>2]|0)+268>>2]|0))a[b+1131>>0]=1;l=b+1104|0;do if((c[l>>2]|0)<=0){i=c[b+1044>>2]|0;k=o+64|0;j=c[k>>2]|0;g=f-j>>4;f=((i|0)<0?g:0)+i|0;if(f>>>0>=g>>>0)Cr(o,376,i);Kr(o,j+(f<<4)|0,j+(g+-1<<4)|0)|0;g=c[k>>2]|0;i=(c[m>>2]|0)-g>>4;f=i+-2|0;if(i>>>0<=1)Cr(o,376,-2);t=g+(f<<4)|0;i=g+(i+-1<<4)|0;j=c[t>>2]|0;f=c[g+(f<<4)+8>>2]|0;t6(t|0,t+16|0,i-t|0)|0;c[i>>2]=2;g=(c[m>>2]|0)+-16|0;c[m>>2]=g;i=g;if((j&8|0)!=0?(j=f+4|0,t=(c[j>>2]|0)+-1|0,c[j>>2]=t,(t|0)==0):0){qr(c[o+44>>2]|0,f);i=c[m>>2]|0;g=i}f=c[k>>2]|0;t=i-f>>4;t=t|0?f+(t+-1<<4)|0:0;if(c[((t|0)==0?368:t)>>2]|0){if((g|0)==(f|0))br(o,342583,50337407,342599);s=g+-16|0;c[m>>2]=s;t=c[g+-16>>2]|0;f=c[g+-8>>2]|0;c[s>>2]=2;if(t&8|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)qr(c[o+44>>2]|0,f);if((c[b+1100>>2]|0)>0){r=36;break}if((c[l>>2]|0)>0){r=36;break}a[b+1132>>0]=1;break}nu(o,-1);j=c[m>>2]|0;i=c[k>>2]|0;f=j-i>>4;f=f|0?i+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(n=+h[f+8>>3],(K4(n)|0)!=0):0)if(!(n<-2147483648.0))if(n>2147483647.0)g=2147483647;else g=~~n;else g=-2147483648;else g=0;if((j|0)==(i|0))br(o,342583,50337407,342599);l=j+-16|0;c[m>>2]=l;t=c[j+-16>>2]|0;f=c[j+-8>>2]|0;c[l>>2]=2;if(t&8|0?(m=f+4|0,t=(c[m>>2]|0)+-1|0,c[m>>2]=t,(t|0)==0):0)qr(c[o+44>>2]|0,f);if((g|0)>-1){c[d>>2]=g;c[e>>2]=0;f=c[p>>2]|0;if((f|0)==(c[q>>2]|0))br(s,342583,50337407,342599);r=f+-16|0;c[p>>2]=r;t=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[r>>2]=2;if(!(t&8)){t=1;return t|0}r=f+4|0;t=(c[r>>2]|0)+-1|0;c[r>>2]=t;if(t|0){t=1;return t|0}qr(c[s+44>>2]|0,f);t=1;return t|0}}else r=36;while(0);if((r|0)==36){a[b+1132>>0]=1;a[b+1133>>0]=1}t=pu(b)|0;c[d>>2]=-1;c[e>>2]=t;t=0;return t|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=1;c[b+8>>2]=1;e=c[b+16>>2]|0;h=a+68|0;f=c[a+64>>2]|0;d=(c[h>>2]|0)-f>>4;if(!d)Cr(a,376,-1);g=f+(d+-1<<4)|0;b=((e|0)<0?d:0)+e|0;if(b>>>0>=d>>>0)Cr(a,376,e);d=f+(b<<4)|0;e=c[d>>2]|0;b=c[f+(b<<4)+8>>2]|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[g>>2]=2;c[h>>2]=(c[h>>2]|0)+-16;if(!(e&8))return;g=b+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return;qr(c[a+44>>2]|0,b);return}function Cu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=e+68|0;g=c[f>>2]|0;if(g>>>0>=(c[e+56>>2]|0)>>>0)mr(e,4153);c[f>>2]=g+16;c[g>>2]=8;c[g+8>>2]=d;h=d+4|0;c[h>>2]=(c[h>>2]|0)+1;h=c[a>>2]|0;c[b>>2]=4;c[b+8>>2]=1;d=c[b+16>>2]|0;g=h+68|0;e=c[h+64>>2]|0;f=(c[g>>2]|0)-e>>4;if(!f)Cr(h,376,-1);b=e+(f+-1<<4)|0;a=((d|0)<0?f:0)+d|0;if(a>>>0>=f>>>0)Cr(h,376,d);d=e+(a<<4)|0;f=c[d>>2]|0;a=c[e+(a<<4)+8>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[b>>2]=2;c[g>>2]=(c[g>>2]|0)+-16;if(!(f&8))return;g=a+4|0;b=(c[g>>2]|0)+-1|0;c[g>>2]=b;if(b|0)return;qr(c[h+44>>2]|0,a);return}function Du(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+912|0;t=D+904|0;A=D+4|0;w=D;C=b+68|0;g=c[C>>2]|0;B=b+64|0;f=c[B>>2]|0;e=g-f>>4;d=e>>>0>1?f+(e+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8)ar(b,2113,-2,361511);r=c[d+8>>2]|0;if(!r)ar(b,2113,-2,361511);if(c[r>>2]&512|0)ar(b,2113,-2,361511);d=e|0?f+(e+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8)ar(b,2113,-1,361511);q=c[d+8>>2]|0;if(!q)ar(b,2113,-1,361511);if(c[q>>2]&512|0)ar(b,2113,-1,361511);p=c[g+-24>>2]|0;o=p+28|0;p=c[p+20>>2]|0;do if(!p)if(g>>>0<(c[b+56>>2]|0)>>>0){p=fs(b,346994,4)|0;o=c[C>>2]|0;c[C>>2]=o+16;c[o>>2]=8;c[o+8>>2]=p;p=p+4|0;c[p>>2]=(c[p>>2]|0)+1;break}else mr(b,4300);else{if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);if(p>>>0>2147483646)br(b,342583,50336889,342539);d=ts(c[b+44>>2]|0,p,1,t)|0;if(!d)er(b,342583,5246);n=c[C>>2]|0;c[n>>2]=10;c[n+8>>2]=d;n=d+4|0;c[n>>2]=(c[n>>2]|0)+1;n=c[C>>2]|0;c[C>>2]=n+16;n=c[n+8>>2]|0;m=n+20|0;f=c[m>>2]|0;g=f;j=0;k=0;e=f;f=f+p|0;while(1){h=j;j=a[o+k>>0]|0;d=g;if((f-d|0)>>>0>1){i=e;d=g}else{e=d-e|0;d=e+66+(e>>>2)|0;if(d>>>0<e>>>0){d=22;break}cr(b,n,d);g=c[m>>2]|0;i=g;f=g+d|0;d=g+e|0}if(!(h<<24>>24==92|j<<24>>24!=47)){a[d>>0]=92;d=d+1|0}g=d+1|0;a[d>>0]=j;k=k+1|0;if(k>>>0>=p>>>0){d=27;break}else e=i}if((d|0)==22)br(b,344105,50331712,342539);else if((d|0)==27){cr(b,n,g-i|0);us(b);break}}while(0);h=A+8|0;n=A+4|0;u6(n|0,0,896)|0;c[A>>2]=b;c[A+780>>2]=b;c[A+784>>2]=r+28;c[A+788>>2]=c[r+20>>2];c[A+836>>2]=1e8;c[A+892>>2]=1e4;d=q+28|0;g=d+(c[q+20>>2]|0)|0;a:do if(d>>>0<g>>>0){e=0;b:while(1){switch(a[d>>0]|0){case 103:{if(!(e&1))f=1;else{d=34;break b}break}case 105:{if(!(e&2))f=2;else{d=34;break b}break}case 109:{if(!(e&4))f=4;else{d=34;break b}break}default:{d=34;break b}}d=d+1|0;e=f|e;if(d>>>0>=g>>>0){s=e;break a}}if((d|0)==34)br(b,346999,83887118,347021)}else s=0;while(0);c[n>>2]=s;k=A+864|0;if((c[C>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,5237);m=b+44|0;d=ts(c[m>>2]|0,64,1,t)|0;if(!d)er(b,342583,5246);e=c[C>>2]|0;c[e>>2]=10;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[C>>2]|0;c[C>>2]=e+16;e=c[e+8>>2]|0;g=A+876|0;c[g>>2]=e;e=c[e+20>>2]|0;c[k>>2]=e;i=A+868|0;c[i>>2]=e;j=A+872|0;c[j>>2]=e+64;c[A+792>>2]=0;c[A+796>>2]=1;c[h>>2]=A+12;cu(h,0);e=c[j>>2]|0;t=c[k>>2]|0;d=t;do if((e|0)==(t|0)){f=c[A>>2]|0;d=e-(c[i>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[g>>2]|0,e);t=c[(c[g>>2]|0)+20>>2]|0;u=t+d|0;c[k>>2]=u;c[i>>2]=t;c[j>>2]=t+e;break}}else u=d;while(0);c[k>>2]=u+1;a[u>>0]=11;e=c[j>>2]|0;u=c[k>>2]|0;d=u;do if((e|0)==(u|0)){f=c[A>>2]|0;d=e-(c[i>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[g>>2]|0,e);u=c[(c[g>>2]|0)+20>>2]|0;v=u+d|0;c[k>>2]=v;c[i>>2]=u;c[j>>2]=u+e;break}}else v=d;while(0);c[k>>2]=v+1;a[v>>0]=0;Fu(A,1,w);e=c[j>>2]|0;w=c[k>>2]|0;d=w;do if((e|0)==(w|0)){f=c[A>>2]|0;d=e-(c[i>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[g>>2]|0,e);w=c[(c[g>>2]|0)+20>>2]|0;x=w+d|0;c[k>>2]=x;c[i>>2]=w;c[j>>2]=w+e;break}}else x=d;while(0);c[k>>2]=x+1;a[x>>0]=11;e=c[j>>2]|0;x=c[k>>2]|0;d=x;do if((e|0)==(x|0)){f=c[A>>2]|0;d=e-(c[i>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[g>>2]|0,e);x=c[(c[g>>2]|0)+20>>2]|0;y=x+d|0;c[k>>2]=y;c[i>>2]=x;c[j>>2]=x+e;break}}else y=d;while(0);c[k>>2]=y+1;a[y>>0]=1;e=c[j>>2]|0;y=c[k>>2]|0;d=y;do if((e|0)==(y|0)){f=c[A>>2]|0;d=e-(c[i>>2]|0)|0;e=d+65+(d>>>2)|0;if(e>>>0<d>>>0)br(f,344105,50331712,342539);else{cr(f,c[g>>2]|0,e);y=c[(c[g>>2]|0)+20>>2]|0;z=y+d|0;c[k>>2]=z;c[i>>2]=y;c[j>>2]=y+e;break}}else z=d;while(0);c[k>>2]=z+1;a[z>>0]=1;d=c[A+880>>2]|0;if((c[A+884>>2]|0)>>>0>d>>>0)br(b,346999,83887282,347042);Gu(A,0,(d<<1)+2|0)|0;Gu(A,0,c[n>>2]|0)|0;e=(c[k>>2]|0)-(c[i>>2]|0)|0;cr(b,c[g>>2]|0,e);f=c[(c[g>>2]|0)+20>>2]|0;e=f+e|0;c[k>>2]=e;c[i>>2]=f;c[j>>2]=e;us(b);e=c[B>>2]|0;f=(c[C>>2]|0)-e>>4;d=f+-4|0;if(f>>>0<=3)Cr(b,376,-4);y=e+(d<<4)|0;z=e+(f+-1<<4)|0;A=c[y>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(y|0,y+16|0,z-y|0)|0;c[z>>2]=2;e=(c[C>>2]|0)+-16|0;c[C>>2]=e;if((A&8|0)!=0?(z=d+4|0,A=(c[z>>2]|0)+-1|0,c[z>>2]=A,(A|0)==0):0){qr(c[m>>2]|0,d);e=c[C>>2]|0}f=c[B>>2]|0;e=e-f>>4;d=e+-3|0;if(e>>>0<=2)Cr(b,376,-3);A=f+(d<<4)|0;B=f+(e+-1<<4)|0;b=c[A>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(A|0,A+16|0,B-A|0)|0;c[B>>2]=2;c[C>>2]=(c[C>>2]|0)+-16;if(!(b&8)){l=D;return}b=d+4|0;C=(c[b>>2]|0)+-1|0;c[b>>2]=C;if(C|0){l=D;return}qr(c[m>>2]|0,d);l=D;return}function Eu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0;a:do switch(c[d+4>>2]|0){case 100:case 1:{j=c[a>>2]|0;g=c[d+16>>2]|0;i=j+68|0;f=c[i>>2]|0;if(f>>>0<(c[j+56>>2]|0)>>>0){c[i>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;k=g+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[a>>2]|0;break a}else mr(j,4153);break}default:{if((c[d>>2]|0)!=99){e=1;return e|0}f=c[a>>2]|0;g=f+68|0;i=c[g>>2]|0;if(i>>>0<(c[f+56>>2]|0)>>>0){l=+h[d+8>>3];c[g>>2]=i+16;c[i>>2]=0;h[i+8>>3]=l;k=f;break a}else mr(f,4215)}}while(0);Bu(k,b);j=e+1|0;k=a+1052|0;c[k>>2]=j;xu(a,b,e);e=yu(a,b+8|0,e,0)|0;c[b>>2]=1;c[b+8>>2]=2;c[b+12>>2]=e;c[k>>2]=j;e=0;return e|0}function Fu(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+16|0;R=_;S=d+880|0;h=c[S>>2]|0;T=d+864|0;U=d+868|0;O=(c[T>>2]|0)-(c[U>>2]|0)|0;Z=d+888|0;g=c[Z>>2]|0;if(g>>>0>=(c[d+892>>2]|0)>>>0)br(c[d>>2]|0,346999,50332174,347067);c[Z>>2]=g+1;w=d+8|0;x=d+844|0;y=d+832|0;Y=(c[y>>2]|0)+1|0;c[y>>2]=Y;z=d+836|0;if((Y|0)>=(c[z>>2]|0)){Y=d+780|0;Y=c[Y>>2]|0;br(Y,346367,50333807,346414)}A=d+852|0;B=d+12|0;C=B;D=d+872|0;E=d+876|0;F=O+1|0;G=d+856|0;H=d+860|0;I=d+848|0;J=d+4|0;K=d+884|0;L=d+896|0;M=d+792|0;N=d+796|0;t=1;s=0;V=1;X=-1;v=1;W=-1;Y=0;g=-1;a:while(1){c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;i=c[w>>2]|0;j=c[i>>2]|0;k=c[i+12>>2]|0;b:do switch(j|0){case 124:{m=3073;break}case 94:{m=3075;break}case 36:{m=3076;break}case 63:{c[G>>2]=0;c[H>>2]=1;m=(k|0)==63;c[I>>2]=(m^1)&1;m=m?6146:3074;break}case 42:{c[G>>2]=0;c[H>>2]=-1;m=(k|0)==63;c[I>>2]=(m^1)&1;m=m?6146:3074;break}case 43:{c[G>>2]=1;c[H>>2]=-1;m=(k|0)==63;c[I>>2]=(m^1)&1;m=m?6146:3074;break}case 123:{q=c[i+4>>2]|0;r=c[i+8>>2]|0;p=-1;while(1){n=0;o=0;while(1){j=i+12|0;c[w>>2]=j;i=C-j+768|0;if(i>>>0<72){t6(B|0,j|0,i|0)|0;c[w>>2]=B;cu(w,i);m=c[w>>2]|0;i=m}else{i=j;m=j}j=c[i>>2]|0;if((j+-48|0)>>>0>=10)break;u=a[344519+j>>0]|0;n=((u<<24>>24>-1?u:-1)<<24>>24)+(n*10|0)|0;o=o+1|0}k=(o|0)>9;if((j|0)!=44){u=23;break}if((p|0)!=-1|k){u=30;break}if((c[i+12>>2]|0)==125){u=20;break}else p=n}if((u|0)==20){u=0;if(o){c[G>>2]=n;c[H>>2]=-1;i=m+24|0;c[w>>2]=i;j=C-i+768|0;if(j>>>0<72){t6(B|0,i|0,j|0)|0;c[w>>2]=B;cu(w,j)}}else u=30}else if((u|0)==23){u=0;if(!((o|0)==0|(k|(j|0)!=125))){c[G>>2]=(p|0)==-1?n:p;c[H>>2]=n;i=m+12|0;c[w>>2]=i;j=C-i+768|0;if(j>>>0<72){t6(B|0,i|0,j|0)|0;c[w>>2]=B;cu(w,j)}}else u=30}if((u|0)==30){u=0;c[M>>2]=q;c[N>>2]=r;c[w>>2]=B;cu(w,0);c[A>>2]=123;m=3082;break b}i=c[w>>2]|0;if((c[i>>2]|0)!=63){c[I>>2]=1;m=2;break b}c[I>>2]=0;i=i+12|0;c[w>>2]=i;j=C-i+768|0;if(j>>>0<72){t6(B|0,i|0,j|0)|0;c[w>>2]=B;cu(w,j);m=2}else m=2;break}case 46:{m=3081;break}case 92:do switch(k|0){case 98:{m=6149;break b}case 66:{m=6150;break b}case 102:{c[A>>2]=12;m=6154;break b}case 110:{c[A>>2]=10;m=6154;break b}case 116:{c[A>>2]=9;m=6154;break b}case 114:{c[A>>2]=13;m=6154;break b}case 118:{c[A>>2]=11;m=6154;break b}case 99:{i=c[i+24>>2]|0;if(((i&-33)+-65|0)>>>0>=26){u=70;break a}c[A>>2]=(i|0)%32|0;m=9226;break b}case 117:case 120:{c[A>>2]=lu(w,0)|0;m=10;break b}case 100:{m=6155;break b}case 68:{m=6156;break b}case 115:{m=6157;break b}case 83:{m=6158;break b}case 119:{m=6159;break b}case 87:{m=6160;break b}default:{if((k+-48|0)>>>0>=10){if((k|0)<=-1){u=70;break a}c[A>>2]=k;m=6154;break b}if((k|0)==48){if(((c[i+24>>2]|0)+-48|0)>>>0<10){u=70;break a}c[A>>2]=0;m=6154;break b}else{m=0;n=0}while(1){j=i+12|0;c[w>>2]=j;i=C-j+768|0;if(i>>>0<72){t6(B|0,j|0,i|0)|0;c[w>>2]=B;cu(w,i);i=c[w>>2]|0;k=i}else{k=j;i=j}j=c[k>>2]|0;if((j+-48|0)>>>0>=10)break;j=a[344519+j>>0]|0;if((m|0)>7){u=70;break a}else{m=m+1|0;n=((j<<24>>24>-1?j:-1)<<24>>24)+(n*10|0)|0}}c[A>>2]=n;m=17;break b}}while(0);case 40:{if((k|0)==63)switch(c[i+24>>2]|0){case 61:{m=9223;break b}case 33:{m=9224;break b}case 58:{m=9235;break b}default:{u=71;break a}}else m=3090;break}case 41:{m=3094;break}case 91:{m=(k|0)==94?6165:3092;break}case -1:{m=0;break}default:{c[A>>2]=j;m=3082}}while(0);i=(c[w>>2]|0)+(m>>>8)|0;c[w>>2]=i;j=C-i+768|0;if(j>>>0<72){t6(B|0,i|0,j|0)|0;c[w>>2]=B;cu(w,j)}i=m&31;c[x>>2]=i;k=h;h=c[S>>2]|0;c:do switch(m&31){case 22:{u=404;break a}case 0:{u=406;break a}case 1:{if((W|0)>-1){i=(c[T>>2]|0)-(c[U>>2]|0)+v|0;if((i|0)<0){if((i|0)<=-63)if((i|0)<=-1022)if((i|0)<=-32765)if((i|0)>-1048572)g=-4;else g=(i|0)>-33554427?-5:(i|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(i+g)<<1|1}else g=i<<1;i=V+W+(Gu(d,W,g)|0)|0;if((i|0)<0){if((i|0)<=-63)if((i|0)<=-1022)if((i|0)<=-32765)if((i|0)>-1048572)g=-4;else g=(i|0)>-33554427?-5:(i|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(i+g)<<1|1}else g=i<<1;Gu(d,X,g)|0}j=c[d>>2]|0;i=c[D>>2]|0;g=c[T>>2]|0;if((i|0)==(g|0)){g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=94;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i;i=t}else i=c[U>>2]|0;t=i+O|0;t6(t+1|0,t|0,g-O-i|0)|0;a[t>>0]=7;g=(c[T>>2]|0)+1|0;c[T>>2]=g;i=c[D>>2]|0;if((i|0)==(g|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=98;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=6;g=-1;i=-1;k=F;m=(c[T>>2]|0)-(c[U>>2]|0)|0;j=-1;break}case 2:{if((g|0)<0){u=102;break a}j=c[G>>2]|0;i=c[H>>2]|0;if(j>>>0>i>>>0){u=104;break a}if((s|0)>-1){p=(s|0)==0;q=p?(i|0)!=0&1:i;p=p?(j|0)!=0&1:j;j=c[D>>2]|0;r=c[T>>2]|0;i=r;if((j|0)==(r|0)){k=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=108;break a}cr(k,c[E>>2]|0,j);r=c[(c[E>>2]|0)+20>>2]|0;i=r+i|0;c[T>>2]=i;c[U>>2]=r;c[D>>2]=r+j}c[T>>2]=i+1;a[i>>0]=1;i=c[T>>2]|0;j=c[U>>2]|0;m=i-j|0;o=m-g|0;n=c[d>>2]|0;k=(c[D>>2]|0)==(i|0);if(!(c[I>>2]|0)){if(k){i=m+65+(m>>>2)|0;if(i>>>0<m>>>0){u=126;break a}cr(n,c[E>>2]|0,i);j=c[(c[E>>2]|0)+20>>2]|0;s=j+m|0;c[T>>2]=s;c[U>>2]=j;c[D>>2]=j+i;i=s}s=j+g|0;t6(s+1|0,s|0,i+t-j|0)|0;a[s>>0]=9;c[T>>2]=(c[T>>2]|0)+1;i=g+1|0;i=(Gu(d,i,p)|0)+i|0;i=i+(Gu(d,i,q)|0)|0;if((o|0)<0){if((o|0)<=-63)if((o|0)<=-1022)if((o|0)<=-32765)if((o|0)>-1048572)g=-4;else g=(o|0)>-33554427?-5:(o|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(o+g)<<1|1}else g=o<<1;Gu(d,i,g)|0;g=-1;i=-1;k=X;m=W;j=-1;break c}else{if(k){i=m+65+(m>>>2)|0;if(i>>>0<m>>>0){u=113;break a}cr(n,c[E>>2]|0,i);j=c[(c[E>>2]|0)+20>>2]|0;r=j+m|0;c[T>>2]=r;c[U>>2]=j;c[D>>2]=j+i;i=r}r=j+g|0;t6(r+1|0,r|0,i+t-j|0)|0;a[r>>0]=10;c[T>>2]=(c[T>>2]|0)+1;i=g+1|0;i=(Gu(d,i,p)|0)+i|0;i=i+(Gu(d,i,q)|0)|0;i=i+(Gu(d,i,s)|0)|0;if((o|0)<0){if((o|0)<=-63)if((o|0)<=-1022)if((o|0)<=-32765)if((o|0)>-1048572)g=-4;else g=(o|0)>-33554427?-5:(o|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(o+g)<<1|1}else g=o<<1;Gu(d,i,g)|0;g=-1;i=-1;k=X;m=W;j=-1;break c}}if((c[((i|0)==-1?G:H)>>2]|0)>>>0>1e3){u=138;break a}if((h|0)==(k|0))m=c[T>>2]|0;else{Gu(d,g,h-k<<1)|0;Gu(d,g,(k<<1)+2|0)|0;k=c[d>>2]|0;j=c[D>>2]|0;i=c[T>>2]|0;if((j|0)==(i|0)){i=j-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=144;break a}cr(k,c[E>>2]|0,j);s=c[(c[E>>2]|0)+20>>2]|0;i=s+i|0;c[T>>2]=i;c[U>>2]=s;c[D>>2]=s+j;j=s}else j=c[U>>2]|0;m=j+g|0;t6(m+1|0,m|0,i+t-j|0)|0;a[m>>0]=12;m=(c[T>>2]|0)+1|0;c[T>>2]=m;i=c[H>>2]|0;j=c[G>>2]|0}p=m-(c[U>>2]|0)|0;t=p-g|0;if(j){o=t+64|0;do{n=c[d>>2]|0;if(((c[D>>2]|0)-m|0)>>>0<t>>>0){k=m-(c[U>>2]|0)|0;m=o+k+(k>>>2)|0;if(m>>>0<k>>>0){u=152;break a}cr(n,c[E>>2]|0,m);r=c[(c[E>>2]|0)+20>>2]|0;s=r+k|0;c[T>>2]=s;c[U>>2]=r;c[D>>2]=r+m;k=r;m=s}else k=c[U>>2]|0;s6(m|0,k+g|0,t|0)|0;m=(c[T>>2]|0)+t|0;c[T>>2]=m;j=j+-1|0;i=(i|0)==-1?-1:i+-1|0}while((j|0)!=0)}d:do if((i|0)!=-1){r=m-(c[U>>2]|0)|0;if(i|0){s=t+64|0;o=r>>>0>g>>>0?g:p;q=r+1|0;p=~r;while(1){n=c[d>>2]|0;if(((c[D>>2]|0)-m|0)>>>0<t>>>0){j=m-(c[U>>2]|0)|0;k=s+j+(j>>>2)|0;if(k>>>0<j>>>0){u=198;break a}cr(n,c[E>>2]|0,k);n=c[(c[E>>2]|0)+20>>2]|0;m=n+j|0;c[T>>2]=m;c[U>>2]=n;c[D>>2]=n+k;j=n}else j=c[U>>2]|0;n=j+r|0;t6(n+t|0,n|0,m-r-j|0)|0;s6(n|0,j+o|0,t|0)|0;j=(c[T>>2]|0)+t|0;c[T>>2]=j;n=c[d>>2]|0;k=c[D>>2]|0;m=(k|0)==(j|0);if(!(c[I>>2]|0)){if(m){j=k-(c[U>>2]|0)|0;k=j+65+(j>>>2)|0;if(k>>>0<j>>>0){u=210;break a}cr(n,c[E>>2]|0,k);n=c[(c[E>>2]|0)+20>>2]|0;j=n+j|0;c[T>>2]=j;c[U>>2]=n;c[D>>2]=n+k;k=n}else k=c[U>>2]|0;n=k+r|0;t6(n+1|0,n|0,j-r-k|0)|0;a[n>>0]=8}else{if(m){j=k-(c[U>>2]|0)|0;k=j+65+(j>>>2)|0;if(k>>>0<j>>>0){u=204;break a}cr(n,c[E>>2]|0,k);n=c[(c[E>>2]|0)+20>>2]|0;j=n+j|0;c[T>>2]=j;c[U>>2]=n;c[D>>2]=n+k;k=n}else k=c[U>>2]|0;n=k+r|0;t6(n+1|0,n|0,j-r-k|0)|0;a[n>>0]=7}k=(c[T>>2]|0)+1|0;c[T>>2]=k;k=k-(c[U>>2]|0)+p|0;if((k|0)<0){do if((k|0)>-63)j=-1;else{if((k|0)>-1022){j=-2;break}if((k|0)>-32765){j=-3;break}if((k|0)>-1048572){j=-4;break}j=(k|0)>-33554427?-5:(k|0)>-1073741818?-6:-7}while(0);j=0-(k+j)<<1|1}else j=k<<1;Gu(d,q,j)|0;i=i+-1|0;if(!i)break d;m=c[T>>2]|0}}}else{if(!(c[G>>2]|0)){i=m;if((c[D>>2]|0)==(m|0)){k=c[d>>2]|0;i=m-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=159;break a}cr(k,c[E>>2]|0,j);s=c[(c[E>>2]|0)+20>>2]|0;i=s+i|0;c[T>>2]=i;c[U>>2]=s;c[D>>2]=s+j}c[T>>2]=i+1;a[i>>0]=6;j=(c[T>>2]|0)-(c[U>>2]|0)|0;if((t|0)<0){do if((t|0)>-63)i=-1;else{if((t|0)>-1022){i=-2;break}if((t|0)>-32765){i=-3;break}i=(t|0)>-1048572?-4:(t|0)>-33554427?-5:(t|0)>-1073741818?-6:-7}while(0);i=0-(t+i)<<1|1}else i=t<<1;Gu(d,j,i)|0;k=c[d>>2]|0;i=c[T>>2]|0;if(((c[D>>2]|0)-i|0)>>>0<t>>>0){i=i-(c[U>>2]|0)|0;j=t+64+i+(i>>>2)|0;if(j>>>0<i>>>0){u=171;break a}cr(k,c[E>>2]|0,j);s=c[(c[E>>2]|0)+20>>2]|0;i=s+i|0;c[T>>2]=i;c[U>>2]=s;c[D>>2]=s+j;j=s}else j=c[U>>2]|0;s6(i|0,j+g|0,t|0)|0;m=(c[T>>2]|0)+t|0;c[T>>2]=m}j=(c[D>>2]|0)==(m|0);i=m;if(!(c[I>>2]|0)){if(j){k=c[d>>2]|0;i=m-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=182;break a}cr(k,c[E>>2]|0,j);s=c[(c[E>>2]|0)+20>>2]|0;i=s+i|0;c[T>>2]=i;c[U>>2]=s;c[D>>2]=s+j}c[T>>2]=i+1;a[i>>0]=7}else{if(j){k=c[d>>2]|0;i=m-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=177;break a}cr(k,c[E>>2]|0,j);s=c[(c[E>>2]|0)+20>>2]|0;i=s+i|0;c[T>>2]=i;c[U>>2]=s;c[D>>2]=s+j}c[T>>2]=i+1;a[i>>0]=8}j=~t;k=(c[T>>2]|0)-(c[U>>2]|0)|0;if((t|0)>-1){do if((t|0)>=62)if((t|0)<1021)i=-2;else{if((t|0)<32764){i=-3;break}i=(t|0)<1048571?-4:(t|0)<33554426?-5:(t|0)<1073741817?-6:-7}else i=-1;while(0);i=0-(i+j)<<1|1}else i=j<<1;Gu(d,k,i)|0}while(0);i=(c[U>>2]|0)+g|0;g=i+t|0;t6(i|0,g|0,(c[T>>2]|0)-g|0)|0;c[T>>2]=(c[T>>2]|0)+(0-t);g=-1;i=-1;k=X;m=W;j=-1;break}case 3:{i=c[D>>2]|0;t=c[T>>2]|0;g=t;if((i|0)==(t|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=226;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=16;g=-1;i=-1;k=X;m=W;j=Y;break}case 4:{i=c[D>>2]|0;t=c[T>>2]|0;g=t;if((i|0)==(t|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=231;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=17;g=-1;i=-1;k=X;m=W;j=Y;break}case 5:{i=c[D>>2]|0;t=c[T>>2]|0;g=t;if((i|0)==(t|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=236;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=18;g=-1;i=-1;k=X;m=W;j=Y;break}case 6:{i=c[D>>2]|0;t=c[T>>2]|0;g=t;if((i|0)==(t|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=241;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=19;g=-1;i=-1;k=X;m=W;j=Y;break}case 8:case 7:{k=(i|0)==7?13:14;m=(c[T>>2]|0)-(c[U>>2]|0)|0;Fu(d,0,R);i=c[D>>2]|0;t=c[T>>2]|0;g=t;if((i|0)==(t|0)){j=c[d>>2]|0;g=i-(c[U>>2]|0)|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=246;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;g=t+g|0;c[T>>2]=g;c[U>>2]=t;c[D>>2]=t+i}c[T>>2]=g+1;a[g>>0]=1;Gu(d,m,k)|0;j=m+1|0;i=(c[T>>2]|0)-(c[U>>2]|0)+~m|0;if((i|0)<0){if((i|0)<=-63)if((i|0)<=-1022)if((i|0)<=-32765)if((i|0)>-1048572)g=-4;else g=(i|0)>-33554427?-5:(i|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(i+g)<<1|1}else g=i<<1;Gu(d,j,g)|0;g=-1;i=-1;k=X;m=W;j=-1;break}case 9:{u=c[T>>2]|0;j=u-(c[U>>2]|0)|0;g=u;if((c[D>>2]|0)==(u|0)){i=c[d>>2]|0;g=j+65+(j>>>2)|0;if(g>>>0<j>>>0){u=259;break a}cr(i,c[E>>2]|0,g);t=c[(c[E>>2]|0)+20>>2]|0;u=t+j|0;c[T>>2]=u;c[U>>2]=t;c[D>>2]=t+g;g=u}c[T>>2]=g+1;a[g>>0]=3;n=1;g=j;u=409;break}case 10:{t=c[T>>2]|0;g=t-(c[U>>2]|0)|0;i=t;if((c[D>>2]|0)==(t|0)){i=c[d>>2]|0;j=g+65+(g>>>2)|0;if(j>>>0<g>>>0){u=264;break a}cr(i,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;i=t+g|0;c[T>>2]=i;c[U>>2]=t;c[D>>2]=t+j}c[T>>2]=i+1;a[i>>0]=2;i=c[A>>2]|0;if(c[J>>2]&2){t=Hu(0,i,-1,-1,1)|0;i=(t|0)<0|(i|0)>127&(t|0)<128?i:t}k=c[T>>2]|0;j=k;if(((c[D>>2]|0)-k|0)>>>0<7){m=c[d>>2]|0;j=k-(c[U>>2]|0)|0;k=j+71+(j>>>2)|0;if(k>>>0<j>>>0){u=270;break a}cr(m,c[E>>2]|0,k);t=c[(c[E>>2]|0)+20>>2]|0;n=t+j|0;c[T>>2]=n;c[U>>2]=t;c[D>>2]=t+k}else n=j;if(i>>>0<128){k=0;j=1}else{if(i>>>0>=2048)if(i>>>0>=65536)if(i>>>0>=2097152)if(i>>>0<67108864){j=5;u=277}else j=i>>>31|6;else{j=4;u=277}else{j=3;u=277}else{j=2;u=277}k=a[343316+(j+-1)>>0]|0;m=j;do{m=m+-1|0;a[n+m>>0]=i&63|128;i=i>>>6}while((m|0)>1)}a[n>>0]=i+(k&255);c[T>>2]=(c[T>>2]|0)+j;n=1;u=409;break}case 16:case 15:case 14:case 13:case 12:case 11:{u=c[T>>2]|0;g=u-(c[U>>2]|0)|0;k=5-(m&1)|0;n=(i+-11|0)>>>1;m=c[6204+(n<<2)>>2]|0;n=a[347257+n>>0]|0;o=n&255;i=u;if((c[D>>2]|0)==(u|0)){j=c[d>>2]|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=283;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;u=t+g|0;c[T>>2]=u;c[U>>2]=t;c[D>>2]=t+i;i=u}c[T>>2]=i+1;a[i>>0]=k;j=c[D>>2]|0;u=c[T>>2]|0;i=u;if((j|0)==(u|0)){k=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=287;break a}cr(k,c[E>>2]|0,j);u=c[(c[E>>2]|0)+20>>2]|0;i=u+i|0;c[T>>2]=i;c[U>>2]=u;c[D>>2]=u+j}c[T>>2]=i+1;a[i>>0]=n;p=m;o=o<<1;j=c[T>>2]|0;while(1){o=o+-1|0;n=b[p>>1]|0;p=p+2|0;k=n&65535;i=j;if(((c[D>>2]|0)-j|0)>>>0<7){m=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+71+(i>>>2)|0;if(j>>>0<i>>>0){u=292;break a}cr(m,c[E>>2]|0,j);u=c[(c[E>>2]|0)+20>>2]|0;i=u+i|0;c[T>>2]=i;c[U>>2]=u;c[D>>2]=u+j}if((n&65535)<128){m=0;j=1}else{j=(n&65535)<2048?2:3;m=a[343316+(j+-1)>>0]|0;n=j;do{n=n+-1|0;a[i+n>>0]=k&63|128;k=k>>>6}while((n|0)>1)}a[i>>0]=k+(m&255);j=(c[T>>2]|0)+j|0;c[T>>2]=j;if(!o){n=1;u=409;break}}break}case 17:{m=c[A>>2]|0;if(m>>>0>(c[K>>2]|0)>>>0)c[K>>2]=m;t=c[T>>2]|0;g=t-(c[U>>2]|0)|0;i=t;if((c[D>>2]|0)==(t|0)){i=c[d>>2]|0;j=g+65+(g>>>2)|0;if(j>>>0<g>>>0){u=302;break a}cr(i,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;i=t+g|0;c[T>>2]=i;c[U>>2]=t;c[D>>2]=t+j}c[T>>2]=i+1;a[i>>0]=15;j=c[T>>2]|0;i=j;if(((c[D>>2]|0)-j|0)>>>0<7){k=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+71+(i>>>2)|0;if(j>>>0<i>>>0){u=306;break a}cr(k,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;n=t+i|0;c[T>>2]=n;c[U>>2]=t;c[D>>2]=t+j}else n=i;if(m>>>0<128){j=m;k=0;i=1}else{if(m>>>0>=2048)if(m>>>0>=65536)if(m>>>0>=2097152)if(m>>>0<67108864){i=5;u=313}else i=m>>>31|6;else{i=4;u=313}else{i=3;u=313}else{i=2;u=313}k=a[343316+(i+-1)>>0]|0;j=m;m=i;do{m=m+-1|0;a[n+m>>0]=j&63|128;j=j>>>6}while((m|0)>1)}a[n>>0]=j+(k&255);c[T>>2]=(c[T>>2]|0)+i;n=-1;u=409;break}case 18:{t=c[T>>2]|0;g=t-(c[U>>2]|0)|0;p=h+1|0;c[S>>2]=p;i=t;if((c[D>>2]|0)==(t|0)){i=c[d>>2]|0;j=g+65+(g>>>2)|0;if(j>>>0<g>>>0){u=319;break a}cr(i,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;i=t+g|0;c[T>>2]=i;c[U>>2]=t;c[D>>2]=t+j}c[T>>2]=i+1;a[i>>0]=11;o=p<<1;j=c[T>>2]|0;i=j;if(((c[D>>2]|0)-j|0)>>>0<7){k=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+71+(i>>>2)|0;if(j>>>0<i>>>0){u=323;break a}cr(k,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;n=t+i|0;c[T>>2]=n;c[U>>2]=t;c[D>>2]=t+j}else n=i;if(o>>>0<128){j=o;k=0;i=1}else{if(o>>>0>=2048)if(o>>>0>=65536)if(o>>>0>=2097152)if(o>>>0<67108864){i=5;u=330}else i=p>>>30|6;else{i=4;u=330}else{i=3;u=330}else{i=2;u=330}if((u|0)==330)u=0;k=a[343316+(i+-1)>>0]|0;j=o;m=i;do{m=m+-1|0;a[n+m>>0]=j&63|128;j=j>>>6}while((m|0)>1)}a[n>>0]=j+(k&255);c[T>>2]=(c[T>>2]|0)+i;Fu(d,0,R);j=c[D>>2]|0;t=c[T>>2]|0;i=t;if((j|0)==(t|0)){k=c[d>>2]|0;i=j-(c[U>>2]|0)|0;j=i+65+(i>>>2)|0;if(j>>>0<i>>>0){u=335;break a}cr(k,c[E>>2]|0,j);t=c[(c[E>>2]|0)+20>>2]|0;i=t+i|0;c[T>>2]=i;c[U>>2]=t;c[D>>2]=t+j}c[T>>2]=i+1;a[i>>0]=11;j=o|1;k=c[T>>2]|0;i=k;if(((c[D>>2]|0)-k|0)>>>0<7){m=c[d>>2]|0;i=k-(c[U>>2]|0)|0;k=i+71+(i>>>2)|0;if(k>>>0<i>>>0){u=339;break a}cr(m,c[E>>2]|0,k);t=c[(c[E>>2]|0)+20>>2]|0;n=t+i|0;c[T>>2]=n;c[U>>2]=t;c[D>>2]=t+k}else n=i;if(j>>>0<128){k=0;i=1}else{if(j>>>0>=2048)if(j>>>0>=65536)if(j>>>0>=2097152)if(j>>>0<67108864){i=5;u=346}else i=p>>>30|6;else{i=4;u=346}else{i=3;u=346}else{i=2;u=346}k=a[343316+(i+-1)>>0]|0;m=i;do{m=m+-1|0;a[n+m>>0]=j&63|128;j=j>>>6}while((m|0)>1)}a[n>>0]=j+(k&255);c[T>>2]=(c[T>>2]|0)+i;n=-1;u=409;break}case 19:{g=(c[T>>2]|0)-(c[U>>2]|0)|0;Fu(d,0,R);n=c[R>>2]|0;u=409;break}case 21:case 20:{u=c[T>>2]|0;g=u-(c[U>>2]|0)|0;k=(i|0)==20;i=u;if((c[D>>2]|0)==(u|0)){j=c[d>>2]|0;i=g+65+(g>>>2)|0;if(i>>>0<g>>>0){u=353;break a}cr(j,c[E>>2]|0,i);t=c[(c[E>>2]|0)+20>>2]|0;u=t+g|0;c[T>>2]=u;c[U>>2]=t;c[D>>2]=t+i;i=u}c[T>>2]=i+1;a[i>>0]=k?4:5;p=(c[T>>2]|0)-(c[U>>2]|0)|0;c[L>>2]=0;n=-1;o=0;i=0;e:while(1){j=(c[w>>2]|0)+(i*12|0)|0;c[w>>2]=j;i=C-j+768|0;if(i>>>0<72){t6(B|0,j|0,i|0)|0;c[w>>2]=B;cu(w,i);i=c[w>>2]|0;m=i}else{m=j;i=j}j=c[m>>2]|0;if((j|0)<0){u=402;break a}f:do switch(j|0){case 93:break e;case 45:{if(!((o|0)!=0|(n|0)<0)?(c[m+12>>2]|0)!=93:0){u=n;o=1;i=1;n=u;continue e}else{j=45;i=1;u=389}break}case 92:{j=c[m+12>>2]|0;g:do switch(j|0){case 98:{j=8;i=2;u=389;break f}case 102:{j=12;i=2;u=389;break f}case 110:{j=10;i=2;u=389;break f}case 116:{j=9;i=2;u=389;break f}case 114:{j=13;i=2;u=389;break f}case 118:{j=11;i=2;u=389;break f}case 99:{i=c[m+24>>2]|0;if(((i&-33)+-65|0)>>>0>=26){u=400;break a}j=(i|0)%32|0;i=3;u=391;break}case 117:case 120:{j=lu(w,0)|0;i=0;u=391;break}case 100:{Ju(d,48,57);u=390;break}case 68:{Ju(d,0,47);Ju(d,58,65535);u=390;break}case 115:{Ju(d,9,13);Ju(d,32,32);Ju(d,160,160);Ju(d,5760,5760);Ju(d,6158,6158);Ju(d,8192,8202);Ju(d,8232,8233);Ju(d,8239,8239);Ju(d,8287,8287);Ju(d,12288,12288);Ju(d,65279,65279);u=390;break}case 83:{Ju(d,0,8);Ju(d,14,31);Ju(d,33,159);Ju(d,161,5759);Ju(d,5761,6157);Ju(d,6159,8191);Ju(d,8203,8231);Ju(d,8234,8238);Ju(d,8240,8286);Ju(d,8288,12287);Ju(d,12289,65278);Ju(d,65280,65535);u=390;break}case 119:{Ju(d,48,57);Ju(d,65,90);Ju(d,95,95);Ju(d,97,122);u=390;break}case 87:{Ju(d,0,47);Ju(d,58,64);Ju(d,91,94);Ju(d,96,96);Ju(d,123,65535);u=390;break}default:{k=j+-48|0;if(k>>>0>=10)if((j|0)>-1){i=2;u=389;break f}else{u=400;break a}if((j&-8|0)!=48){i=2;u=389;break f}i=c[m+24>>2]|0;if((i&-8|0)==48?(P=(k<<3)+-48+i|0,(P|0)<=255):0){i=c[m+36>>2]|0;if((i&-8|0)==48?(Q=(P<<3)+-48+i|0,(Q|0)<=255):0){j=Q;i=4;u=391;break g}else{i=3;j=P}}else{i=2;j=k}u=391}}while(0);do if((u|0)==390)if((n|0)>-1)i=2;else{t=o;u=n;i=2;o=t;n=u;continue e}else if((u|0)==391){u=0;k=(n|0)>-1;if((j|0)<0)if(k)break;else{t=o;u=n;o=t;n=u;continue e}else if(k)break f;else{u=o;n=j;o=u;continue e}}while(0);if(o|0){u=401;break a}Iu(d,n,n);n=-1;o=0;continue e}default:{i=1;u=389}}while(0);if((u|0)==389)if((n|0)<=-1){u=o;n=j;o=u;continue}if(!o){Iu(d,n,n);n=j;o=0;continue}if((n|0)>(j|0)){u=401;break a}Iu(d,n,j);n=-1;o=0}if((n|0)>-1){Iu(d,n,n);i=c[w>>2]|0}i=i+12|0;c[w>>2]=i;j=C-i+768|0;if(j>>>0<72){t6(B|0,i|0,j|0)|0;c[w>>2]=B;cu(w,j)}Gu(d,p,c[L>>2]|0)|0;n=1;u=409;break}default:{u=408;break a}}while(0);if((u|0)==409){u=0;if((g|0)>-1){i=n;k=X;m=W;j=(n|0)<0?-1:((Y|0)>-1?n:0)+Y|0}else{i=n;k=X;m=W;j=Y}}t=(c[y>>2]|0)+1|0;c[y>>2]=t;if((t|0)>=(c[z>>2]|0)){u=69;break}else{t=0-g|0;s=i;V=0-k|0;X=k;v=0-m|0;W=m;Y=j}}switch(u|0){case 69:{S=d+780|0;S=c[S>>2]|0;br(S,346367,50333807,346414);break}case 70:{br(c[d+780>>2]|0,346367,83888243,347099);break}case 71:{br(c[d+780>>2]|0,346367,83888247,347121);break}case 94:{br(j,344105,50331712,342539);break}case 98:{br(j,344105,50331712,342539);break}case 102:{br(c[d>>2]|0,346999,83886679,347142);break}case 104:{br(c[d>>2]|0,346999,83886682,347176);break}case 108:{br(k,344105,50331712,342539);break}case 113:{br(n,344105,50331712,342539);break}case 126:{br(n,344105,50331712,342539);break}case 138:{br(c[d>>2]|0,346999,50332318,347216);break}case 144:{br(k,344105,50331712,342539);break}case 152:{br(n,344105,50331712,342539);break}case 159:{br(k,344105,50331712,342539);break}case 171:{br(k,344105,50331712,342539);break}case 177:{br(k,344105,50331712,342539);break}case 182:{br(k,344105,50331712,342539);break}case 198:{br(n,344105,50331712,342539);break}case 204:{br(n,344105,50331712,342539);break}case 210:{br(n,344105,50331712,342539);break}case 226:{br(j,344105,50331712,342539);break}case 231:{br(j,344105,50331712,342539);break}case 236:{br(j,344105,50331712,342539);break}case 241:{br(j,344105,50331712,342539);break}case 246:{br(j,344105,50331712,342539);break}case 259:{br(i,344105,50331712,342539);break}case 264:{br(i,344105,50331712,342539);break}case 270:{br(m,344105,50331712,342539);break}case 283:{br(j,344105,50331712,342539);break}case 287:{br(k,344105,50331712,342539);break}case 292:{br(m,344105,50331712,342539);break}case 302:{br(i,344105,50331712,342539);break}case 306:{br(k,344105,50331712,342539);break}case 319:{br(i,344105,50331712,342539);break}case 323:{br(k,344105,50331712,342539);break}case 335:{br(k,344105,50331712,342539);break}case 339:{br(m,344105,50331712,342539);break}case 353:{br(j,344105,50331712,342539);break}case 400:{br(c[d+780>>2]|0,346367,83888505,347099);break}case 401:{br(c[d+780>>2]|0,346367,83888509,347260);break}case 402:{br(c[d+780>>2]|0,346367,83888513,347274);break}case 404:{if(e|0)br(c[d>>2]|0,346999,83887013,347303);break}case 406:{if(!e)br(c[d>>2]|0,346999,83887019,347334);break}case 408:{br(c[d>>2]|0,346999,83887024,347360);break}}if((W|0)<=-1){c[f>>2]=Y;f=c[Z>>2]|0;f=f+-1|0;c[Z>>2]=f;l=_;return}h=(c[T>>2]|0)-(c[U>>2]|0)+v|0;if((h|0)<0){if((h|0)<=-63)if((h|0)<=-1022)if((h|0)<=-32765)if((h|0)>-1048572)g=-4;else g=(h|0)>-33554427?-5:(h|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(h+g)<<1|1}else g=h<<1;h=V+W+(Gu(d,W,g)|0)|0;if((h|0)<0){if((h|0)<=-63)if((h|0)<=-1022)if((h|0)<=-32765)if((h|0)>-1048572)g=-4;else g=(h|0)>-33554427?-5:(h|0)>-1073741818?-6:-7;else g=-3;else g=-2;else g=-1;g=0-(h+g)<<1|1}else g=h<<1;Gu(d,X,g)|0;c[f>>2]=Y;f=c[Z>>2]|0;f=f+-1|0;c[Z>>2]=f;l=_;return}function Gu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;if(e>>>0<128){g=0;f=1}else{if(e>>>0>=2048)if(e>>>0>=65536)if(e>>>0>=2097152)if(e>>>0<67108864){f=5;g=6}else f=e>>>31|6;else{f=4;g=6}else{f=3;g=6}else{f=2;g=6}g=a[343316+(f+-1)>>0]|0;h=f;do{h=h+-1|0;a[n+h>>0]=e&63|128;e=e>>>6}while((h|0)>1)}a[n>>0]=e+(g&255);h=c[b>>2]|0;i=b+864|0;j=b+872|0;e=c[i>>2]|0;k=b+868|0;do if(((c[j>>2]|0)-e|0)>>>0<f>>>0){e=e-(c[k>>2]|0)|0;g=f+64+e+(e>>>2)|0;if(g>>>0<e>>>0)br(h,344105,50331712,342539);else{o=b+876|0;cr(h,c[o>>2]|0,g);o=c[(c[o>>2]|0)+20>>2]|0;p=o+e|0;c[i>>2]=p;c[k>>2]=o;c[j>>2]=o+g;m=i;break}}else{m=i;o=c[k>>2]|0;p=e}while(0);b=o+d|0;t6(b+f|0,b|0,p-d-o|0)|0;s6(b|0,n|0,f|0)|0;c[m>>2]=(c[m>>2]|0)+f;l=q;return f|0}function Hu(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=(h|0)!=0;if((e|0)<128){h=(((h?-97:-65)+e|0)>>>0<26?(h?-32:32):0)+e|0;if(!b){b=h;return b|0}u=c[b>>2]|0;c[b>>2]=u+1;a[u>>0]=h;b=h;return b|0}do if((e|0)==931&(h^1)){if((f|0)<128){if(((f&-33)+-65|0)>>>0>=26)break}else{if(!(_t(338549,1036,f)|0))break;if(_t(339585,42,f)|0)break}if((g|0)<128){if(((g&-33)+-65|0)>>>0<26)break}else if(_t(338549,1036,g)|0?(_t(339585,42,g)|0)==0:0)break;if(!b){b=962;return b|0}u=c[b>>2]|0;a[u+1>>0]=-126;a[u>>0]=-49;c[b>>2]=(c[b>>2]|0)+2;b=962;return b|0}while(0);u=h?340157:341543;t=h?1386:680;f=0;g=0;h=0;j=0;a:while(1){r=f+1|0;if((j|0)<6){i=g;f=g;k=j;do{h=h<<8;g=f+1|0;if(f>>>0<t>>>0){i=g;h=d[u+f>>0]|0|h;f=g}k=k+8|0}while((k|0)<6);k=j+8+(5-j&-8)|0}else{k=j;i=g}j=k+-6|0;f=h>>>j;switch(f&63){case 0:{f=r;g=i;continue a}case 63:{p=42;break a}default:{}}g=f&63;f=h;while(1){q=g+-1|0;if((j|0)<16){l=i;h=i;k=j;while(1){f=f<<8;g=h+1|0;if(h>>>0<t>>>0){i=g;f=d[u+h>>0]|0|f;h=g}else i=l;k=k+8|0;if((k|0)>=16)break;else l=i}j=j+8+(15-j&-8)|0;k=f;h=f}else k=f;g=j+-16|0;p=k>>>g&65535;if((g|0)<16){l=i;f=k;h=i;while(1){f=f<<8;k=h+1|0;if(h>>>0<t>>>0){i=k;f=d[u+h>>0]|0|f;h=k}else i=l;g=g+8|0;if((g|0)>=16)break;else l=i}g=j+-8+(31-j&-8)|0;k=f;h=f}o=g+-16|0;if((o|0)<7){l=i;n=o;f=k;h=i;while(1){f=f<<8;j=h+1|0;if(h>>>0<t>>>0){i=j;m=d[u+h>>0]|0|f;h=j}else{i=l;m=f}n=n+8|0;if((n|0)>=7)break;else{l=i;f=m}}g=g+-8+(22-g&-8)|0;f=m;h=m}else{g=o;f=k}j=g+-7|0;if(((p|0)<=(e|0)?(s=e-p|0,(s|0)<(O(f>>>j&127,r)|0)):0)?((s|0)%(r|0)|0|0)==0:0){p=41;break a}if(!q){f=r;g=i;continue a}else g=q}}b:do if((p|0)==41)j=(k>>>o&65535)+s|0;else if((p|0)==42){if((j|0)<7){g=i;f=i;do{h=h<<8;i=f+1|0;if(f>>>0<t>>>0){g=i;h=d[u+f>>0]|0|h;f=i}j=j+8|0}while((j|0)<7);f=k+2+(12-k&-8)|0}else{f=j;g=i}j=f+-7|0;n=h>>>j&127;i=h;f=h;while(1){if(!n)break;n=n+-1|0;if((j|0)<16){l=g;f=g;k=j;while(1){h=i<<8;i=f+1|0;if(f>>>0<t>>>0){g=i;h=d[u+f>>0]|0|h;f=i}else g=l;k=k+8|0;if((k|0)>=16)break;else{l=g;i=h}}j=j+8+(15-j&-8)|0;i=h;f=h}h=j+-16|0;m=i>>>h&65535;if((h|0)<16){l=g;f=g;k=h;while(1){h=i<<8;i=f+1|0;if(f>>>0<t>>>0){g=i;h=d[u+f>>0]|0|h;f=i}else g=l;k=k+8|0;if((k|0)>=16)break;else{l=g;i=h}}j=j+-8+(31-j&-8)|0;i=h;f=h}else j=h;j=j+-16|0;if((m|0)==(e|0)){p=96;break}}if((p|0)==96){j=i>>>j&65535;break}if((j|0)<7){l=g;h=i;f=g;k=j;while(1){h=h<<8;i=f+1|0;if(f>>>0<t>>>0){g=i;h=d[u+f>>0]|0|h;f=i}else g=l;k=k+8|0;if((k|0)>=7)break;else l=g}j=j+8+(6-j&-8)|0;f=h;i=h}j=j+-7|0;h=i>>>j&127;if(!h)j=e;else{while(1){h=h+-1|0;if((j|0)<16){m=g;k=g;l=j;while(1){f=i<<8;i=k+1|0;if(k>>>0<t>>>0){g=i;f=d[u+k>>0]|0|f;k=i}else g=m;l=l+8|0;if((l|0)>=16)break;else{m=g;i=f}}j=j+8+(15-j&-8)|0;i=f}l=j+-16|0;o=i>>>l&65535;if((l|0)<2){m=g;k=g;while(1){f=i<<8;i=k+1|0;if(k>>>0<t>>>0){g=i;f=d[u+k>>0]|0|f;k=i}else g=m;l=l+8|0;if((l|0)>=2)break;else{m=g;i=f}}l=j+-8+(17-j&-8)|0;i=f}n=l+-2|0;j=i>>>n&3;if((o|0)==(e|0))break;if(!j)j=n;else while(1){j=j+-1|0;if((n|0)<16){m=g;k=g;l=n;while(1){f=i<<8;i=k+1|0;if(k>>>0<t>>>0){g=i;f=d[u+k>>0]|0|f;k=i}else g=m;l=l+8|0;if((l|0)>=16)break;else{m=g;i=f}}k=n+8+(15-n&-8)|0;i=f}else k=n;k=k+-16|0;if(!j){j=k;break}else n=k}if(!h){j=e;break b}}if((b|0)==0|(j|0)==0){b=-1;return b|0}h=n;while(1){j=j+-1|0;if((h|0)<16){k=g;l=h;do{f=f<<8;i=g+1|0;if(g>>>0<t>>>0){k=i;f=d[u+g>>0]|0|f;g=i}l=l+8|0}while((l|0)<16);h=h+8+(15-h&-8)|0;n=k}else n=g;h=h+-16|0;g=f>>>h&65535;m=c[b>>2]|0;if(g>>>0<128){k=0;i=1}else{i=g>>>0<2048?2:3;k=a[343316+(i+-1)>>0]|0;l=i;do{l=l+-1|0;a[m+l>>0]=g&63|128;g=g>>>6}while((l|0)>1)}a[m>>0]=g+(k&255);c[b>>2]=(c[b>>2]|0)+i;if(!j){h=-1;break}else g=n}return h|0}}while(0);if(!b){b=j;return b|0}k=c[b>>2]|0;if(j>>>0<128){f=j;g=0;h=1}else{if(j>>>0>=2048)if(j>>>0>=65536)if(j>>>0>=2097152)if(j>>>0<67108864){h=5;p=103}else h=j>>>31|6;else{h=4;p=103}else{h=3;p=103}else{h=2;p=103}g=a[343316+(h+-1)>>0]|0;f=j;i=h;do{i=i+-1|0;a[k+i>>0]=f&63|128;f=f>>>6}while((i|0)>1)}a[k>>0]=f+(g&255);c[b>>2]=(c[b>>2]|0)+h;b=j;return b|0}function Iu(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(c[a+4>>2]&2)){Ju(a,b,e);return}i=Hu(0,b,-1,-1,1)|0;j=e>>5;i=(i|0)<0|(b|0)>127&(i|0)<128?b:i;a:while(1){f=i;do{h=b+1|0;if((b|0)>=(e|0))break a;g=h>>5;b:do if(g>>>0>j>>>0|g>>>0>2047)b=e;else{b=g;while(1){if(!((d[342223+(b>>>3)>>0]|0)&1<<(b&7)))break;b=b+1|0;if(b>>>0>j>>>0|b>>>0>2047){b=e;break b}}b=b>>>0>g>>>0?b<<5:h}while(0);g=b-h+f|0;f=Hu(0,b,-1,-1,1)|0;f=(f|0)<0|(b|0)>127&(f|0)<128?b:f}while((f|0)==(g+1|0));Ju(a,i,g);i=f}Ju(a,i,f);return}function Ju(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=b+864|0;k=b+872|0;g=c[m>>2]|0;f=g;do if(((c[k>>2]|0)-g|0)>>>0<7){h=c[b>>2]|0;i=b+868|0;f=g-(c[i>>2]|0)|0;g=f+71+(f>>>2)|0;if(g>>>0<f>>>0)br(h,344105,50331712,342539);else{j=b+876|0;cr(h,c[j>>2]|0,g);h=c[(c[j>>2]|0)+20>>2]|0;j=h+f|0;c[m>>2]=j;c[i>>2]=h;c[k>>2]=h+g;break}}else j=f;while(0);if(d>>>0<128){g=0;f=1}else{if(d>>>0>=2048)if(d>>>0>=65536)if(d>>>0>=2097152)if(d>>>0<67108864){f=5;l=10}else f=d>>>31|6;else{f=4;l=10}else{f=3;l=10}else{f=2;l=10}g=a[343316+(f+-1)>>0]|0;h=f;do{h=h+-1|0;a[j+h>>0]=d&63|128;d=d>>>6}while((h|0)>1)}a[j>>0]=d+(g&255);f=(c[m>>2]|0)+f|0;c[m>>2]=f;d=f;do if(((c[k>>2]|0)-d|0)>>>0<7){g=c[b>>2]|0;h=b+868|0;f=d-(c[h>>2]|0)|0;d=f+71+(f>>>2)|0;if(d>>>0<f>>>0)br(g,344105,50331712,342539);else{j=b+876|0;cr(g,c[j>>2]|0,d);j=c[(c[j>>2]|0)+20>>2]|0;n=j+f|0;c[m>>2]=n;c[h>>2]=j;c[k>>2]=j+d;break}}else n=f;while(0);if(e>>>0<128){j=e;k=0;l=1;k=k&255;k=j+k|0;k=k&255;a[n>>0]=k;n=c[m>>2]|0;n=n+l|0;c[m>>2]=n;n=b+896|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return}if(e>>>0>=2048)if(e>>>0>=65536)if(e>>>0>=2097152)if(e>>>0<67108864){f=5;l=22}else f=e>>>31|6;else{f=4;l=22}else{f=3;l=22}else{f=2;l=22}d=a[343316+(f+-1)>>0]|0;g=f;do{g=g+-1|0;a[n+g>>0]=e&63|128;e=e>>>6}while((g|0)>1);l=d&255;l=e+l|0;l=l&255;a[n>>0]=l;n=c[m>>2]|0;n=n+f|0;c[m>>2]=n;n=b+896|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=a+68|0;d=c[k>>2]|0;n=a+64|0;e=c[n>>2]|0;b=d-e|0;f=b>>4;m=f+-1|0;g=d;if(!f)Cr(a,300,-1);h=a+56|0;if(g>>>0>=(c[h>>2]|0)>>>0)mr(a,1093);l=(b|0)<16;b=(l?f:0)+m|0;if(b>>>0>=f>>>0)Cr(a,376,m);e=e+(b<<4)|0;c[k>>2]=g+16;f=d;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];if(c[g>>2]&8|0){g=(c[g+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}b=c[k>>2]|0;if(b>>>0<((c[n>>2]|0)+16|0)>>>0)nr(a,342568,315);if((c[h>>2]|0)>>>0<b>>>0)nr(a,342568,315);pr(a,26,0,1,1)|0;b=c[k>>2]|0;d=c[n>>2]|0;g=b-d>>4;g=g|0?d+(g+-1<<4)|0:0;e=b;do if((c[((g|0)==0?368:g)>>2]|0)!=8){if(e>>>0<(d+16|0)>>>0)nr(a,342568,315);if((c[h>>2]|0)>>>0<e>>>0)nr(a,342568,315);pr(a,26,0,1,1)|0;b=c[k>>2]|0;d=c[n>>2]|0;g=b-d>>4;g=g|0?d+(g+-1<<4)|0:0;e=b;if((c[((g|0)==0?368:g)>>2]|0)!=8){d=e+-16|0;c[k>>2]=d;g=c[e+-16>>2]|0;b=c[e+-8>>2]|0;c[d>>2]=2;if((g&8|0)!=0?(f=b+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0){qr(c[a+44>>2]|0,b);d=c[k>>2]|0}b=c[(c[a+304>>2]|0)+48>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[k>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;j=b+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[n>>2]|0;i=c[k>>2]|0;break}else mr(a,4153)}else{j=d;i=b}}else{j=d;i=b}while(0);d=i-j>>4;if(!d)Cr(a,376,-1);e=j+(d+-1<<4)|0;b=(l?d:0)+m|0;if(b>>>0>=d>>>0)Cr(a,376,m);h=j+(b<<4)|0;i=c[h>>2]|0;d=c[j+(b<<4)+8>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[e>>2]=2;b=(c[k>>2]|0)+-16|0;c[k>>2]=b;if((i&8|0)!=0?(i=d+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,d);b=c[k>>2]|0}n=c[n>>2]|0;k=b-n>>4;b=(l?k:0)+m|0;b=b>>>0<k>>>0?n+(b<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=8){n=0;return n|0}b=c[b+8>>2]|0;if(!b){n=0;return n|0}n=b+28|0;return n|0}function Lu(a,b){a=a|0;b=b|0;Xr(a,-1)|0;return 1}function Mu(a,b){a=a|0;b=b|0;return B2(b)|0}function Nu(a,b){a=a|0;b=b|0;sb()}function Ou(a,b){a=a|0;b=b|0;C2(b);return}function Pu(a,b,c){a=a|0;b=b|0;c=c|0;return D2(b,c)|0}function Qu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+16|0;j=c[r>>2]|0;s=b+12|0;if((j|0)<5){k=b+4|0;h=c[b+8>>2]|0;g=c[k>>2]|0;i=j;f=c[s>>2]|0;do{f=f<<8;c[s>>2]=f;if(g>>>0<h>>>0){p=c[b>>2]|0;q=g+1|0;c[k>>2]=q;f=d[p+g>>0]|0|f;c[s>>2]=f;g=q}i=i+8|0;c[r>>2]=i}while((i|0)<5);j=j+8+(4-j&-8)|0}else f=c[s>>2]|0;g=j+-5|0;h=f>>>g&31;c[r>>2]=g;if((h|0)==31){if((g|0)<8){k=b+4|0;i=c[b+8>>2]|0;h=c[k>>2]|0;do{f=f<<8;c[s>>2]=f;if(h>>>0<i>>>0){p=c[b>>2]|0;q=h+1|0;c[k>>2]=q;f=d[p+h>>0]|0|f;c[s>>2]=f;h=q}q=g;g=g+8|0;c[r>>2]=g}while((q|0)<0);g=j+3+(12-j&-8)|0}g=g+-8|0;c[r>>2]=g;h=f>>>g&255}if(!h)return h|0;p=b+4|0;q=b+8|0;f=0;n=32;while(1){i=c[s>>2]|0;if((g|0)<5){l=c[q>>2]|0;j=c[p>>2]|0;k=g;do{i=i<<8;c[s>>2]=i;if(j>>>0<l>>>0){m=c[b>>2]|0;o=j+1|0;c[p>>2]=o;i=d[m+j>>0]|0|i;c[s>>2]=i;j=o}k=k+8|0;c[r>>2]=k}while((k|0)<5);g=g+8+(4-g&-8)|0;o=i}else o=i;l=g+-5|0;j=o>>>l;i=j&31;c[r>>2]=l;a:do if(i>>>0<26){i=n+65+i|0;g=n}else switch(j&31){case 26:{if((l|0)<3){k=c[q>>2]|0;j=o;i=c[p>>2]|0;do{j=j<<8;c[s>>2]=j;if(i>>>0<k>>>0){m=c[b>>2]|0;o=i+1|0;c[p>>2]=o;j=d[m+i>>0]|0|j;c[s>>2]=j;i=o}l=l+8|0;c[r>>2]=l}while((l|0)<3);i=g+3+(7-g&-8)|0;g=j}else{i=l;g=o}i=i+-3|0;c[r>>2]=i;i=d[353588+(g>>>i&7)>>0]|0;g=n;break a}case 27:{if((l|0)<3){m=c[q>>2]|0;j=o;k=c[p>>2]|0;do{i=j<<8;c[s>>2]=i;if(k>>>0<m>>>0){j=c[b>>2]|0;o=k+1|0;c[p>>2]=o;j=d[j+k>>0]|0|i;c[s>>2]=j;k=o}else j=i;l=l+8|0;c[r>>2]=l}while((l|0)<3);i=g+3+(7-g&-8)|0;g=j}else{i=l;g=o}i=i+-3|0;c[r>>2]=i;i=d[353588+(g>>>i&7|8)>>0]|0;g=n;break a}case 28:{if((l|0)<5){m=c[q>>2]|0;j=o;k=c[p>>2]|0;do{i=j<<8;c[s>>2]=i;if(k>>>0<m>>>0){j=c[b>>2]|0;o=k+1|0;c[p>>2]=o;j=d[j+k>>0]|0|i;c[s>>2]=j;k=o}else j=i;l=l+8|0;c[r>>2]=l}while((l|0)<5);i=g+3+(9-g&-8)|0;g=j}else{i=l;g=o}i=i+-5|0;c[r>>2]=i;i=(n^32)+65+(g>>>i&31)|0;g=n;break a}case 29:{n=n^32;if((l|0)<5){m=c[q>>2]|0;j=o;k=c[p>>2]|0;do{i=j<<8;c[s>>2]=i;if(k>>>0<m>>>0){j=c[b>>2]|0;o=k+1|0;c[p>>2]=o;j=d[j+k>>0]|0|i;c[s>>2]=j;k=o}else j=i;l=l+8|0;c[r>>2]=l}while((l|0)<5);i=g+3+(9-g&-8)|0;g=j}else{i=l;g=o}i=i+-5|0;c[r>>2]=i;i=n+65+(g>>>i&31)|0;g=n;break a}case 31:{if((l|0)<8){m=c[q>>2]|0;j=o;k=c[p>>2]|0;do{i=j<<8;c[s>>2]=i;if(k>>>0<m>>>0){j=c[b>>2]|0;o=k+1|0;c[p>>2]=o;j=d[j+k>>0]|0|i;c[s>>2]=j;k=o}else j=i;o=l;l=l+8|0;c[r>>2]=l}while((o|0)<0);i=g+3+(12-g&-8)|0;g=j}else{i=l;g=o}i=i+-8|0;c[r>>2]=i;i=g>>>i&255;g=n;break a}default:{g=n;break a}}while(0);a[e+f>>0]=i;f=f+1|0;if((f|0)==(h|0))break;n=g;g=c[r>>2]|0}return h|0}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+44|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)<1)dr(a,2);e=a+4|0;f=a+16|0;d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if((b|0)==0|(d|0)!=0){f=d;return f|0}dr(a,0);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,0);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(d|0){f=d;return f|0}dr(a,1);d=Sh[c[e>>2]&255](c[f>>2]|0,b)|0;if(!d){dr(a,1);return Sh[c[e>>2]&255](c[f>>2]|0,b)|0}else{f=d;return f|0}return 0}function Su(e){e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;H=l;l=l+288|0;x=H;y=H+256|0;A=y+4|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[y>>2]=348360;B=y+8|0;c[B>>2]=3972;F=e+68|0;g=c[e+52>>2]|0;f=(c[F>>2]|0)-g+1728|0;g=g+f|0;D=e+56|0;do if((c[D>>2]|0)>>>0<g>>>0)if((c[e+60>>2]|0)>>>0<g>>>0){Er(e,f,1)|0;break}else{c[D>>2]=g;break}while(0);v=y+16|0;w=y+12|0;C=e+44|0;G=e+64|0;E=e+304|0;r=e+132|0;f=0;m=0;a:while(1){g=c[w>>2]|0;if((m|0)<2){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){t=c[y>>2]|0;u=i+1|0;c[A>>2]=u;g=d[t+i>>0]|0|g;c[w>>2]=g;i=u}j=j+8|0;c[v>>2]=j}while((j|0)<2);m=m+8+(1-m&-8)|0}i=m+-2|0;c[v>>2]=i;b:do switch(g>>>i&3){case 0:{q=0;break}case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}i=i+-2|0;c[v>>2]=i;q=(g>>>i&3)+1|0;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}i=i+-5|0;c[v>>2]=i;q=(g>>>i&31)+5|0;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=m+6+(8-m&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){q=j+36|0;break b}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}i=i+-20|0;c[v>>2]=i;q=g>>>i&1048575}}while(0);if((i|0)<1){m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}k=k+8|0;c[v>>2]=k}while((k|0)<1);i=i+8+(0-i&-8)|0}k=i+-1|0;c[v>>2]=k;if(!(1<<k&g))p=-1;else{if((i|0)<4){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}k=k+8|0;c[v>>2]=k}while((k|0)<3);i=i+7+(3-i&-8)|0}else i=k;k=i+-3|0;c[v>>2]=k;p=g>>>k&7}switch(q|0){case 3:{if((k|0)<2){m=c[B>>2]|0;i=c[A>>2]|0;j=k;do{g=g<<8;c[w>>2]=g;if(i>>>0<m>>>0){t=c[y>>2]|0;u=i+1|0;c[A>>2]=u;g=d[t+i>>0]|0|g;c[w>>2]=g;i=u}j=j+8|0;c[v>>2]=j}while((j|0)<2);k=k+8+(1-k&-8)|0}i=k+-2|0;c[v>>2]=i;c:do switch(g>>>i&3){case 0:{j=0;break}case 1:{if((i|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=k+6+(3-k&-8)|0}i=i+-2|0;c[v>>2]=i;j=(g>>>i&3)+1|0;break}case 2:{if((i|0)<5){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=k+6+(6-k&-8)|0}i=i+-5|0;c[v>>2]=i;j=(g>>>i&31)+5|0;break}default:{if((i|0)<7){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=k+6+(8-k&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){j=j+36|0;break c}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}i=i+-20|0;c[v>>2]=i;j=g>>>i&1048575}}while(0);n=c[6216+(j<<2)>>2]|0;if((i|0)<1){m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}k=k+8|0;c[v>>2]=k}while((k|0)<1);i=i+8+(0-i&-8)|0}j=i+-1|0;c[v>>2]=j;if(!(1<<j&g))g=p;else{if((i|0)<4){m=c[B>>2]|0;k=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(k>>>0<m>>>0){t=c[y>>2]|0;u=k+1|0;c[A>>2]=u;g=d[t+k>>0]|0|g;c[w>>2]=g;k=u}j=j+8|0;c[v>>2]=j}while((j|0)<3);i=i+7+(3-i&-8)|0}else i=j;u=i+-3|0;c[v>>2]=u;g=g>>>u&7}tt(e,n,(g|0)==7?-1:g,403133312,5);n=c[F>>2]|0;o=c[n+-8>>2]|0;m=c[v>>2]|0;g=c[w>>2]|0;if((m|0)<2){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){t=c[y>>2]|0;u=i+1|0;c[A>>2]=u;g=d[t+i>>0]|0|g;c[w>>2]=g;i=u}j=j+8|0;c[v>>2]=j}while((j|0)<2);m=m+8+(1-m&-8)|0}i=m+-2|0;c[v>>2]=i;d:do switch(g>>>i&3){case 0:{t=144;break}case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}t=i+-2|0;c[v>>2]=t;g=(g>>>t&3)+1|0;t=149;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}t=i+-5|0;c[v>>2]=t;g=(g>>>t&31)+5|0;t=149;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=m+6+(8-m&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;t=149;break d}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}u=i+-20|0;g=g>>>u&1048575;c[v>>2]=u;if(!g)t=144;else t=149}}while(0);if((t|0)==144){g=Qu(y,x)|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=145;break a}if((g|0)<0){t=147;break a}u=fs(e,x,g)|0;t=c[F>>2]|0;c[F>>2]=t+16;c[t>>2]=8;c[t+8>>2]=u;u=u+4|0;c[u>>2]=(c[u>>2]|0)+1}else if((t|0)==149){g=c[(c[E>>2]|0)+(g+-1<<2)>>2]|0;if(n>>>0>=(c[D>>2]|0)>>>0){t=150;break a}c[F>>2]=n+16;c[n>>2]=8;c[n+8>>2]=g;u=g+4|0;c[u>>2]=(c[u>>2]|0)+1}u=c[G>>2]|0;g=(c[F>>2]|0)-u>>4;g=g>>>0>1?u+(g+-2<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){t=154;break a}g=c[g+8>>2]|0;if(!g){t=154;break a}yr(e,g,c[(c[E>>2]|0)+352>>2]|0,4);m=c[v>>2]|0;g=c[w>>2]|0;if((m|0)<1){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){t=c[y>>2]|0;u=i+1|0;c[A>>2]=u;g=d[t+i>>0]|0|g;c[w>>2]=g;i=u}j=j+8|0;c[v>>2]=j}while((j|0)<1);m=m+8+(0-m&-8)|0}i=m+-1|0;c[v>>2]=i;if(!(1<<i&g))c[o>>2]=c[o>>2]&-257;if((m|0)<3){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<2);m=m+7+(2-m&-8)|0}else m=i;i=m+-2|0;c[v>>2]=i;e:do switch(g>>>i&3){case 0:{g=0;break}case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}u=i+-2|0;c[v>>2]=u;g=(g>>>u&3)+1|0;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}u=i+-5|0;c[v>>2]=u;g=(g>>>u&31)+5|0;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=m+6+(8-m&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;break e}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){t=c[y>>2]|0;u=j+1|0;c[A>>2]=u;g=d[t+j>>0]|0|g;c[w>>2]=g;j=u}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}u=i+-20|0;c[v>>2]=u;g=g>>>u&1048575}}while(0);b[o+46>>1]=g;break}case 2:{j=Or(e,48)|0;g=c[C>>2]|0;c[j>>2]=272679041;g=g+24|0;i=c[g>>2]|0;if(i|0)c[i+12>>2]=j;c[j+12>>2]=0;c[j+8>>2]=i;c[g>>2]=j;g=c[r>>2]|0;c[j+20>>2]=g;if(g|0){u=g+4|0;c[u>>2]=(c[u>>2]|0)+1}u=c[F>>2]|0;c[u>>2]=9;c[u+8>>2]=j;u=j+4|0;c[u>>2]=(c[u>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+16;break}case 15:{j=Or(e,48)|0;g=c[C>>2]|0;c[j>>2]=2013266049;g=g+24|0;i=c[g>>2]|0;if(i|0)c[i+12>>2]=j;c[j+12>>2]=0;c[j+8>>2]=i;c[g>>2]=j;g=c[F>>2]|0;if(g>>>0>=(c[D>>2]|0)>>>0){t=208;break a}c[F>>2]=g+16;c[g>>2]=9;c[g+8>>2]=j;u=j+4|0;c[u>>2]=(c[u>>2]|0)+1;u=c[(c[G>>2]|0)+8>>2]|0;c[j+40>>2]=u;u=u+4|0;c[u>>2]=(c[u>>2]|0)+1;break}default:{if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=211;break a}g=Or(e,40)|0;i=c[C>>2]|0;c[g>>2]=16513;i=i+24|0;j=c[i>>2]|0;if(j|0)c[j+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=j;c[i>>2]=g;u=c[F>>2]|0;c[u>>2]=9;c[u+8>>2]=g;u=g+4|0;c[u>>2]=(c[u>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+16}}i=c[(c[F>>2]|0)+-8>>2]|0;c[i>>2]=c[i>>2]&134217727|q<<27;g=i+4|0;if(f>>>0<51){c[e+100+(f<<2)>>2]=i;c[g>>2]=(c[g>>2]|0)+1}if((p|0)>-1){g=c[F>>2]|0;if(g>>>0>=(c[D>>2]|0)>>>0){t=219;break}t=g+16|0;c[F>>2]=t;c[g>>2]=0;h[g+8>>3]=+(p|0);u=c[G>>2]|0;g=t-u>>4;g=g>>>0>1?u+(g+-2<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){t=222;break}g=c[g+8>>2]|0;if(!g){t=222;break}yr(e,g,c[(c[E>>2]|0)+328>>2]|0,4)}if((q|0)==12)c[i>>2]=c[i>>2]|8388608;f=f+1|0;if(f>>>0>=76){t=6;break}m=c[v>>2]|0}if((t|0)==6){u=e+120|0;f=0;f:while(1){n=c[(c[G>>2]|0)+(f<<4)+8>>2]|0;m=c[v>>2]|0;g=c[w>>2]|0;if((m|0)<2){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){s=c[y>>2]|0;t=i+1|0;c[A>>2]=t;g=d[s+i>>0]|0|g;c[w>>2]=g;i=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);m=m+8+(1-m&-8)|0}i=m+-2|0;c[v>>2]=i;g:do switch(g>>>i&3){case 0:{t=269;break}case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}t=i+-2|0;c[v>>2]=t;g=(g>>>t&3)+1|0;t=264;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}t=i+-5|0;c[v>>2]=t;g=(g>>>t&31)+5|0;t=264;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=m+6+(8-m&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;t=264;break g}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}t=i+-20|0;g=g>>>t&1048575;c[v>>2]=t;if(!g)t=269;else t=264}}while(0);if((t|0)==264){t=0;i=c[(c[((g|0)<1?F:G)>>2]|0)+(g+-1<<4)+8>>2]|0;s=n+20|0;g=c[s>>2]|0;c[s>>2]=i;if(i|0){s=i+4|0;c[s>>2]=(c[s>>2]|0)+1}if(g|0?(r=g+4|0,s=(c[r>>2]|0)+-1|0,c[r>>2]=s,(s|0)==0):0)Ms(c[C>>2]|0,g)}else if((t|0)==269?(t=0,c[n>>2]&4096|0):0){i=c[u>>2]|0;s=n+20|0;g=c[s>>2]|0;c[s>>2]=i;if(i|0){s=i+4|0;c[s>>2]=(c[s>>2]|0)+1}if(g|0?(r=g+4|0,s=(c[r>>2]|0)+-1|0,c[r>>2]=s,(s|0)==0):0)Ms(c[C>>2]|0,g)}m=c[v>>2]|0;g=c[w>>2]|0;if((m|0)<2){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){r=c[y>>2]|0;s=i+1|0;c[A>>2]=s;g=d[r+i>>0]|0|g;c[w>>2]=g;i=s}j=j+8|0;c[v>>2]=j}while((j|0)<2);m=m+8+(1-m&-8)|0}i=m+-2|0;c[v>>2]=i;h:do switch(g>>>i&3){case 0:break;case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}t=i+-2|0;c[v>>2]=t;g=(g>>>t&3)+1|0;t=311;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}t=i+-5|0;c[v>>2]=t;g=(g>>>t&31)+5|0;t=311;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}i=i+8|0;c[v>>2]=i}while((i|0)<7);i=m+6+(8-m&-8)|0}k=i+-7|0;j=g>>>k&127;c[v>>2]=k;if(j|0){g=j+36|0;t=311;break h}if((k|0)<20){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}k=k+8|0;c[v>>2]=k}while((k|0)<20);i=i+1+(26-i&-8)|0}else i=k;i=i+-20|0;g=g>>>i&1048575;c[v>>2]=i;if(g)t=311}}while(0);if((t|0)==311){t=0;i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=312;break}j=c[G>>2]|0;g=g+-1|0;if(g>>>0>=i-j>>4>>>0){t=314;break}s=j+(g<<4)|0;c[F>>2]=i+16;c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];if(c[i>>2]&8|0){s=(c[i+8>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1}g=c[G>>2]|0;g=f>>>0<(c[F>>2]|0)-g>>4>>>0?g+(f<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){t=319;break}g=c[g+8>>2]|0;if(!g){t=319;break}yr(e,g,c[(c[E>>2]|0)+200>>2]|0,0);i=c[v>>2]|0}g=c[w>>2]|0;if((i|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+8+(1-i&-8)|0}k=i+-2|0;c[v>>2]=k;i:do switch(g>>>k&3){case 0:{i=k;break}case 1:{if((k|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+6+(3-i&-8)|0}else i=k;t=i+-2|0;c[v>>2]=t;g=(g>>>t&3)+1|0;t=357;break}case 2:{if((k|0)<5){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<5);i=i+6+(6-i&-8)|0}else i=k;t=i+-5|0;c[v>>2]=t;g=(g>>>t&31)+5|0;t=357;break}default:{if((k|0)<7){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}k=k+8|0;c[v>>2]=k}while((k|0)<7);k=i+6+(8-i&-8)|0}i=k+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;t=357;break i}if((i|0)<20){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=k+1+(26-k&-8)|0}i=i+-20|0;g=g>>>i&1048575;c[v>>2]=i;if(g)t=357}}while(0);if((t|0)==357){t=0;i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=358;break}j=c[G>>2]|0;g=g+-1|0;if(g>>>0>=i-j>>4>>>0){t=360;break}s=j+(g<<4)|0;c[F>>2]=i+16;c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];if(c[i>>2]&8|0){s=(c[i+8>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1}g=c[G>>2]|0;g=f>>>0<(c[F>>2]|0)-g>>4>>>0?g+(f<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){t=365;break}g=c[g+8>>2]|0;if(!g){t=365;break}yr(e,g,c[(c[E>>2]|0)+204>>2]|0,5);i=c[v>>2]|0}g=c[w>>2]|0;if((i|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){r=c[y>>2]|0;s=j+1|0;c[A>>2]=s;g=d[r+j>>0]|0|g;c[w>>2]=g;j=s}k=k+8|0;c[v>>2]=k}while((k|0)<2);m=i+8+(1-i&-8)|0}else m=i;i=m+-2|0;c[v>>2]=i;j:do switch(g>>>i&3){case 0:{if((i|0)<2)t=713;break}case 1:{if((i|0)<2){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<2);i=m+6+(3-m&-8)|0}i=i+-2|0;c[v>>2]=i;g=(g>>>i&3)+1|0;t=403;break}case 2:{if((i|0)<5){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<5);i=m+6+(6-m&-8)|0}i=i+-5|0;c[v>>2]=i;g=(g>>>i&31)+5|0;t=403;break}default:{if((i|0)<7){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<7);m=m+6+(8-m&-8)|0}else m=i;i=m+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;t=403;break j}if((i|0)<20){k=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<k>>>0){s=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[s+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=m+1+(26-m&-8)|0}i=i+-20|0;g=g>>>i&1048575;c[v>>2]=i;j=(i|0)<2;if(!g)t=712;else{s=g;t=405}}}while(0);if((t|0)==403){s=g;j=(i|0)<2;t=405}k:do if((t|0)==405){r=0;while(1){g=c[w>>2]|0;if(j){m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){q=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[q+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+8+(1-i&-8)|0}k=i+-2|0;c[v>>2]=k;l:do switch(g>>>k&3){case 0:{t=442;break}case 1:{if((k|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){q=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[q+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+6+(3-i&-8)|0}else i=k;t=i+-2|0;c[v>>2]=t;g=(g>>>t&3)+1|0;t=447;break}case 2:{if((k|0)<5){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){q=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[q+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<5);i=i+6+(6-i&-8)|0}else i=k;t=i+-5|0;c[v>>2]=t;g=(g>>>t&31)+5|0;t=447;break}default:{if((k|0)<7){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){q=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[q+j>>0]|0|g;c[w>>2]=g;j=t}k=k+8|0;c[v>>2]=k}while((k|0)<7);k=i+6+(8-i&-8)|0}i=k+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){g=j+36|0;t=447;break l}if((i|0)<20){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){q=c[y>>2]|0;t=j+1|0;c[A>>2]=t;g=d[q+j>>0]|0|g;c[w>>2]=g;j=t}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=k+1+(26-k&-8)|0}t=i+-20|0;g=g>>>t&1048575;c[v>>2]=t;if(!g)t=442;else t=447}}while(0);if((t|0)==442){g=Qu(y,x)|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=443;break f}if((g|0)<0){t=445;break f}t=fs(e,x,g)|0;q=c[F>>2]|0;c[F>>2]=q+16;c[q>>2]=8;c[q+8>>2]=t;t=t+4|0;c[t>>2]=(c[t>>2]|0)+1}else if((t|0)==447){g=c[(c[E>>2]|0)+(g+-1<<2)>>2]|0;i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=448;break f}c[F>>2]=i+16;c[i>>2]=8;c[i+8>>2]=g;t=g+4|0;c[t>>2]=(c[t>>2]|0)+1}m=c[v>>2]|0;g=c[w>>2]|0;if((m|0)<1){k=c[B>>2]|0;i=c[A>>2]|0;j=m;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){q=c[y>>2]|0;t=i+1|0;c[A>>2]=t;g=d[q+i>>0]|0|g;c[w>>2]=g;i=t}j=j+8|0;c[v>>2]=j}while((j|0)<1);m=m+8+(0-m&-8)|0}j=m+-1|0;c[v>>2]=j;if(!(1<<j&g)){q=5;i=g}else{if((m|0)<4){k=c[B>>2]|0;i=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(i>>>0<k>>>0){q=c[y>>2]|0;t=i+1|0;c[A>>2]=t;g=d[q+i>>0]|0|g;c[w>>2]=g;i=t}j=j+8|0;c[v>>2]=j}while((j|0)<3);i=m+7+(3-m&-8)|0}else i=j;j=i+-3|0;c[v>>2]=j;q=g>>>j&7;i=g}g=q|632;if((j|0)<3){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<3);n=j+8+(2-j&-8)|0}else n=j;j=n+-3|0;c[v>>2]=j;switch(i>>>j&7){case 0:{o=0;do{if((j|0)<8){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}t=m;m=m+8|0;c[v>>2]=m}while((t|0)<0);j=j+8+(7-j&-8)|0}j=j+-8|0;c[v>>2]=j;a[x+o>>0]=i>>>j;o=o+1|0}while((o|0)!=8);i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=480;break f}I=+h[x>>3];c[F>>2]=i+16;c[i>>2]=0;h[i+8>>3]=I;break}case 1:{i=Qu(y,x)|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=483;break f}if((i|0)<0){t=485;break f}t=fs(e,x,i)|0;q=c[F>>2]|0;c[F>>2]=q+16;c[q>>2]=8;c[q+8>>2]=t;t=t+4|0;c[t>>2]=(c[t>>2]|0)+1;break}case 2:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);n=n+5+(4-n&-8)|0}else n=j;j=n+-2|0;c[v>>2]=j;m:do switch(i>>>j&3){case 0:{i=0;break}case 1:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);j=n+6+(3-n&-8)|0}t=j+-2|0;c[v>>2]=t;i=(i>>>t&3)+1|0;break}case 2:{if((j|0)<5){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<5);j=n+6+(6-n&-8)|0}t=j+-5|0;c[v>>2]=t;i=(i>>>t&31)+5|0;break}default:{if((j|0)<7){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<7);n=n+6+(8-n&-8)|0}else n=j;j=n+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){i=k+36|0;break m}if((j|0)<20){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=n+1+(26-n&-8)|0}t=j+-20|0;c[v>>2]=t;i=i>>>t&1048575}}while(0);i=c[(c[E>>2]|0)+(i<<2)>>2]|0;j=c[F>>2]|0;if(j>>>0>=(c[D>>2]|0)>>>0){t=524;break f}c[F>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;t=i+4|0;c[t>>2]=(c[t>>2]|0)+1;break}case 3:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);n=n+5+(4-n&-8)|0}else n=j;j=n+-2|0;c[v>>2]=j;n:do switch(i>>>j&3){case 0:{k=0;break}case 1:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);j=n+6+(3-n&-8)|0}k=j+-2|0;c[v>>2]=k;k=(i>>>k&3)+1|0;break}case 2:{if((j|0)<5){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<5);j=n+6+(6-n&-8)|0}k=j+-5|0;c[v>>2]=k;k=(i>>>k&31)+5|0;break}default:{if((j|0)<7){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<7);n=n+6+(8-n&-8)|0}else n=j;j=n+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){k=k+36|0;break n}if((j|0)<20){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){q=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[q+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=n+1+(26-n&-8)|0}k=j+-20|0;c[v>>2]=k;k=i>>>k&1048575}}while(0);i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=563;break f}j=c[G>>2]|0;if(k>>>0>=i-j>>4>>>0){t=565;break f}t=j+(k<<4)|0;c[F>>2]=i+16;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];if(c[i>>2]&8){t=(c[i+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}break}case 4:{i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=569;break f}c[F>>2]=i+16;break}case 5:{i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=572;break f}c[F>>2]=i+16;c[i>>2]=4;c[i+8>>2]=1;break}case 6:{i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=575;break f}c[F>>2]=i+16;c[i>>2]=4;c[i+8>>2]=0;break}case 7:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<2);j=n+5+(4-n&-8)|0}m=j+-2|0;c[v>>2]=m;o:do switch(i>>>m&3){case 0:{p=0;j=m;break}case 1:{if((m|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+6+(3-j&-8)|0}else j=m;j=j+-2|0;c[v>>2]=j;p=(i>>>j&3)+1|0;break}case 2:{if((m|0)<5){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<5);j=j+6+(6-j&-8)|0}else j=m;j=j+-5|0;c[v>>2]=j;p=(i>>>j&31)+5|0;break}default:{if((m|0)<7){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<7);m=j+6+(8-j&-8)|0}j=m+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){p=k+36|0;break o}if((j|0)<20){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){p=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[p+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=m+1+(26-m&-8)|0}j=j+-20|0;c[v>>2]=j;p=i>>>j&1048575}}while(0);if((j|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){o=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[o+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+8+(1-j&-8)|0}m=j+-2|0;c[v>>2]=m;p:do switch(i>>>m&3){case 0:{o=0;j=m;break}case 1:{if((m|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){o=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[o+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+6+(3-j&-8)|0}else j=m;j=j+-2|0;c[v>>2]=j;o=(i>>>j&3)+1|0;break}case 2:{if((m|0)<5){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){o=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[o+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<5);j=j+6+(6-j&-8)|0}else j=m;j=j+-5|0;c[v>>2]=j;o=(i>>>j&31)+5|0;break}default:{if((m|0)<7){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){o=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[o+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<7);m=j+6+(8-j&-8)|0}j=m+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){o=k+36|0;break p}if((j|0)<20){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){o=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[o+k>>0]|0|i;c[w>>2]=i;k=t}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=m+1+(26-m&-8)|0}j=j+-20|0;c[v>>2]=j;o=i>>>j&1048575}}while(0);if((j|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){J=c[y>>2]|0;t=k+1|0;c[A>>2]=t;i=d[J+k>>0]|0|i;c[w>>2]=i;k=t}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+8+(1-j&-8)|0}m=j+-2|0;c[v>>2]=m;q:do switch(i>>>m&3){case 0:{n=0;break}case 1:{if((m|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+6+(3-j&-8)|0}else j=m;n=j+-2|0;c[v>>2]=n;n=(i>>>n&3)+1|0;break}case 2:{if((m|0)<5){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<5);j=j+6+(6-j&-8)|0}else j=m;n=j+-5|0;c[v>>2]=n;n=(i>>>n&31)+5|0;break}default:{if((m|0)<7){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<7);m=j+6+(8-j&-8)|0}j=m+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){n=k+36|0;break q}if((j|0)<20){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=m+1+(26-m&-8)|0}n=j+-20|0;c[v>>2]=n;n=i>>>n&1048575}}while(0);if(p){g=c[6216+(p<<2)>>2]|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=687;break f}k=Or(e,48)|0;i=c[C>>2]|0;c[k>>2]=403133057;i=i+24|0;j=c[i>>2]|0;if(j|0)c[j+12>>2]=k;c[k+12>>2]=0;c[k+8>>2]=j;c[i>>2]=k;c[k+40>>2]=g;b[k+44>>1]=0;g=c[F>>2]|0;c[g>>2]=9;c[g+8>>2]=k;g=k+4|0;c[g>>2]=(c[g>>2]|0)+1;g=(c[F>>2]|0)+16|0;c[F>>2]=g;i=c[u>>2]|0;c[k+20>>2]=i;if(i|0){J=i+4|0;c[J>>2]=(c[J>>2]|0)+1}J=c[G>>2]|0;g=g-J>>4;g=g|0?J+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){t=695;break f}g=c[g+8>>2]|0;if(!g){t=695;break f}if(!(c[g>>2]&4096)){t=695;break f}b[g+46>>1]=n;g=q|760}if(o){i=c[6216+(o<<2)>>2]|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=699;break f}m=Or(e,48)|0;j=c[C>>2]|0;c[m>>2]=403133057;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=m;c[m+12>>2]=0;c[m+8>>2]=k;c[j>>2]=m;c[m+40>>2]=i;b[m+44>>1]=1;i=c[F>>2]|0;c[i>>2]=9;c[i+8>>2]=m;i=m+4|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[F>>2]|0)+16|0;c[F>>2]=i;j=c[u>>2]|0;c[m+20>>2]=j;if(j|0){J=j+4|0;c[J>>2]=(c[J>>2]|0)+1}J=c[G>>2]|0;i=i-J>>4;i=i|0?J+(i+-1<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){t=707;break f}i=c[i+8>>2]|0;if(!i){t=707;break f}if(!(c[i>>2]&4096)){t=707;break f}b[i+46>>1]=n;g=g|256}g=g&-121|48;break}default:{t=710;break f}}Yr(e,f,g);r=r+1|0;i=c[v>>2]|0;j=(i|0)<2;if(r>>>0>=s>>>0){t=712;break k}}}while(0);if((t|0)==712){t=0;g=c[w>>2]|0;if(j)t=713}if((t|0)==713){t=0;m=c[B>>2]|0;j=c[A>>2]|0;k=i;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){s=c[y>>2]|0;J=j+1|0;c[A>>2]=J;g=d[s+j>>0]|0|g;c[w>>2]=g;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+8+(1-i&-8)|0}k=i+-2|0;c[v>>2]=k;r:do switch(g>>>k&3){case 0:break;case 1:{if((k|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;J=j+1|0;c[A>>2]=J;g=d[t+j>>0]|0|g;c[w>>2]=g;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<2);i=i+6+(3-i&-8)|0}else i=k;i=i+-2|0;c[v>>2]=i;s=(g>>>i&3)+1|0;t=748;break}case 2:{if((k|0)<5){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){t=c[y>>2]|0;J=j+1|0;c[A>>2]=J;g=d[t+j>>0]|0|g;c[w>>2]=g;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<5);i=i+6+(6-i&-8)|0}else i=k;i=i+-5|0;c[v>>2]=i;s=(g>>>i&31)+5|0;t=748;break}default:{if((k|0)<7){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){s=c[y>>2]|0;J=j+1|0;c[A>>2]=J;g=d[s+j>>0]|0|g;c[w>>2]=g;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<7);k=i+6+(8-i&-8)|0}i=k+-7|0;j=g>>>i&127;c[v>>2]=i;if(j|0){s=j+36|0;t=748;break r}if((i|0)<20){m=c[B>>2]|0;j=c[A>>2]|0;do{g=g<<8;c[w>>2]=g;if(j>>>0<m>>>0){s=c[y>>2]|0;J=j+1|0;c[A>>2]=J;g=d[s+j>>0]|0|g;c[w>>2]=g;j=J}i=i+8|0;c[v>>2]=i}while((i|0)<20);i=k+1+(26-k&-8)|0}i=i+-20|0;g=g>>>i&1048575;c[v>>2]=i;if(g|0){s=g;t=748}}}while(0);s:do if((t|0)==748){g=0;n=i;while(1){i=c[w>>2]|0;if((n|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;k=n;do{i=i<<8;c[w>>2]=i;if(j>>>0<m>>>0){t=c[y>>2]|0;J=j+1|0;c[A>>2]=J;i=d[t+j>>0]|0|i;c[w>>2]=i;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<2);n=n+8+(1-n&-8)|0}j=n+-2|0;c[v>>2]=j;t:do switch(i>>>j&3){case 0:{t=785;break}case 1:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<2);j=n+6+(3-n&-8)|0}t=j+-2|0;c[v>>2]=t;i=(i>>>t&3)+1|0;t=790;break}case 2:{if((j|0)<5){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<5);j=n+6+(6-n&-8)|0}t=j+-5|0;c[v>>2]=t;i=(i>>>t&31)+5|0;t=790;break}default:{if((j|0)<7){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<7);n=n+6+(8-n&-8)|0}else n=j;j=n+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){i=k+36|0;t=790;break t}if((j|0)<20){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){t=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[t+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=n+1+(26-n&-8)|0}J=j+-20|0;i=i>>>J&1048575;c[v>>2]=J;if(!i)t=785;else t=790}}while(0);if((t|0)==785){t=0;i=Qu(y,x)|0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){t=786;break f}if((i|0)<0){t=788;break f}J=fs(e,x,i)|0;r=c[F>>2]|0;c[F>>2]=r+16;c[r>>2]=8;c[r+8>>2]=J;J=J+4|0;c[J>>2]=(c[J>>2]|0)+1}else if((t|0)==790){t=0;i=c[(c[E>>2]|0)+(i+-1<<2)>>2]|0;j=c[F>>2]|0;if(j>>>0>=(c[D>>2]|0)>>>0){t=791;break f}c[F>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;J=i+4|0;c[J>>2]=(c[J>>2]|0)+1}n=c[v>>2]|0;i=c[w>>2]|0;if((n|0)<2){m=c[B>>2]|0;j=c[A>>2]|0;k=n;do{i=i<<8;c[w>>2]=i;if(j>>>0<m>>>0){r=c[y>>2]|0;J=j+1|0;c[A>>2]=J;i=d[r+j>>0]|0|i;c[w>>2]=i;j=J}k=k+8|0;c[v>>2]=k}while((k|0)<2);n=n+8+(1-n&-8)|0}j=n+-2|0;c[v>>2]=j;u:do switch(i>>>j&3){case 0:{r=0;break}case 1:{if((j|0)<2){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){r=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[r+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<2);j=n+6+(3-n&-8)|0}j=j+-2|0;c[v>>2]=j;r=(i>>>j&3)+1|0;break}case 2:{if((j|0)<5){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){r=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[r+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<5);j=n+6+(6-n&-8)|0}j=j+-5|0;c[v>>2]=j;r=(i>>>j&31)+5|0;break}default:{if((j|0)<7){m=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<m>>>0){r=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[r+k>>0]|0|i;c[w>>2]=i;k=J}j=j+8|0;c[v>>2]=j}while((j|0)<7);j=n+6+(8-n&-8)|0}m=j+-7|0;k=i>>>m&127;c[v>>2]=m;if(k|0){r=k+36|0;j=m;break u}if((m|0)<20){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){r=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[r+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<20);j=j+1+(26-j&-8)|0}else j=m;j=j+-20|0;c[v>>2]=j;r=i>>>j&1048575}}while(0);if((j|0)<3){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){q=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[q+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<3);j=j+8+(2-j&-8)|0}k=j+-3|0;q=i>>>k&7;c[v>>2]=k;if((k|0)<1){n=c[B>>2]|0;m=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(m>>>0<n>>>0){p=c[y>>2]|0;J=m+1|0;c[A>>2]=J;i=d[p+m>>0]|0|i;c[w>>2]=i;m=J}k=k+8|0;c[v>>2]=k}while((k|0)<1);k=j+5+(3-j&-8)|0}j=k+-1|0;c[v>>2]=j;if(!(1<<j&i))k=q;else{if((k|0)<4){n=c[B>>2]|0;m=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(m>>>0<n>>>0){p=c[y>>2]|0;J=m+1|0;c[A>>2]=J;i=d[p+m>>0]|0|i;c[w>>2]=i;m=J}j=j+8|0;c[v>>2]=j}while((j|0)<3);j=k+7+(3-k&-8)|0}j=j+-3|0;c[v>>2]=j;k=i>>>j&7}o=(k|0)==7?-1:k;p=c[6216+(r<<2)>>2]|0;if((j|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;m=j;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){K=c[y>>2]|0;J=k+1|0;c[A>>2]=J;i=d[K+k>>0]|0|i;c[w>>2]=i;k=J}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+8+(1-j&-8)|0}m=j+-2|0;c[v>>2]=m;v:do switch(i>>>m&3){case 0:{i=0;break}case 1:{if((m|0)<2){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){J=c[y>>2]|0;K=k+1|0;c[A>>2]=K;i=d[J+k>>0]|0|i;c[w>>2]=i;k=K}m=m+8|0;c[v>>2]=m}while((m|0)<2);j=j+6+(3-j&-8)|0}else j=m;K=j+-2|0;c[v>>2]=K;i=(i>>>K&3)+1|0;break}case 2:{if((m|0)<5){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){J=c[y>>2]|0;K=k+1|0;c[A>>2]=K;i=d[J+k>>0]|0|i;c[w>>2]=i;k=K}m=m+8|0;c[v>>2]=m}while((m|0)<5);j=j+6+(6-j&-8)|0}else j=m;K=j+-5|0;c[v>>2]=K;i=(i>>>K&31)+5|0;break}default:{if((m|0)<7){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){J=c[y>>2]|0;K=k+1|0;c[A>>2]=K;i=d[J+k>>0]|0|i;c[w>>2]=i;k=K}m=m+8|0;c[v>>2]=m}while((m|0)<7);m=j+6+(8-j&-8)|0}j=m+-7|0;k=i>>>j&127;c[v>>2]=j;if(k|0){i=k+36|0;break v}if((j|0)<20){n=c[B>>2]|0;k=c[A>>2]|0;do{i=i<<8;c[w>>2]=i;if(k>>>0<n>>>0){J=c[y>>2]|0;K=k+1|0;c[A>>2]=K;i=d[J+k>>0]|0|i;c[w>>2]=i;k=K}j=j+8|0;c[v>>2]=j}while((j|0)<20);j=m+1+(26-m&-8)|0}K=j+-20|0;c[v>>2]=K;i=i>>>K&1048575}}while(0);n=i&65535;tt(e,p,o,403133056,5);k=c[F>>2]|0;m=c[k+-8>>2]|0;switch(r|0){case 54:case 56:case 63:case 125:case 126:{j=c[m>>2]|67108864;c[m>>2]=j;i=m;break}default:{i=m;j=c[m>>2]|0}}c[i>>2]=j|65536;b[m+46>>1]=n;if(k>>>0>=(c[D>>2]|0)>>>0){t=889;break f}i=k+16|0;c[F>>2]=i;c[k>>2]=0;h[k+8>>3]=+(q>>>0);K=c[G>>2]|0;i=i-K>>4;i=i>>>0>1?K+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){t=892;break f}i=c[i+8>>2]|0;if(!i){t=892;break f}yr(e,i,c[(c[E>>2]|0)+328>>2]|0,4);i=c[F>>2]|0;if(i>>>0>=(c[D>>2]|0)>>>0){t=894;break f}j=c[G>>2]|0;k=i-j>>4;if(k>>>0<=1){t=896;break f}K=j+(k+-2<<4)|0;c[F>>2]=i+16;c[i>>2]=c[K>>2];c[i+4>>2]=c[K+4>>2];c[i+8>>2]=c[K+8>>2];c[i+12>>2]=c[K+12>>2];if(c[i>>2]&8|0){K=(c[i+8>>2]|0)+4|0;c[K>>2]=(c[K>>2]|0)+1}K=c[G>>2]|0;i=(c[F>>2]|0)-K>>4;i=i>>>0>1?K+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){t=901;break f}i=c[i+8>>2]|0;if(!i){t=901;break f}yr(e,i,c[(c[E>>2]|0)+352>>2]|0,4);i=c[G>>2]|0;i=f>>>0<(c[F>>2]|0)-i>>4>>>0?i+(f<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){t=904;break f}j=c[i+8>>2]|0;if(!j){t=904;break f}Ir(e,-2,1);K=c[G>>2]|0;i=(c[F>>2]|0)-K>>4;i=i>>>0>1?K+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)==8?(z=c[i+8>>2]|0,(z|0)!=0):0)i=z;else t=907;do if((t|0)==907){Xr(e,-2)|0;K=c[G>>2]|0;i=(c[F>>2]|0)-K>>4;i=i>>>0>1?K+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=8){i=0;break}i=c[i+8>>2]|0}while(0);yr(e,j,i,5);i=c[F>>2]|0;if((i|0)==(c[G>>2]|0)){t=910;break f}J=i+-16|0;c[F>>2]=J;K=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[J>>2]=2;do if(K&8|0){J=i+4|0;K=(c[J>>2]|0)+-1|0;c[J>>2]=K;if(K|0)break;qr(c[C>>2]|0,i)}while(0);g=g+1|0;if(g>>>0>=s>>>0)break s;n=c[v>>2]|0}}while(0);f=f+1|0;if(f>>>0>=76){t=917;break}}switch(t|0){case 312:{mr(e,1093);break}case 314:{Cr(e,376,g);break}case 319:{ar(e,2130,f,342926);break}case 358:{mr(e,1093);break}case 360:{Cr(e,376,g);break}case 365:{ar(e,2130,f,342926);break}case 443:{mr(e,4300);break}case 445:{br(e,342583,50335961,342945);break}case 448:{mr(e,4153);break}case 480:{mr(e,4215);break}case 483:{mr(e,4300);break}case 485:{br(e,342583,50335961,342945);break}case 524:{mr(e,4153);break}case 563:{mr(e,1093);break}case 565:{Cr(e,376,k);break}case 569:{mr(e,4162);break}case 572:{mr(e,4195);break}case 575:{mr(e,4204);break}case 687:{mr(e,4851);break}case 695:{ar(e,2219,-1,344126);break}case 699:{mr(e,4851);break}case 707:{ar(e,2219,-1,344126);break}case 710:break;case 786:{mr(e,4300);break}case 788:{br(e,342583,50335961,342945);break}case 791:{mr(e,4153);break}case 889:{mr(e,4274);break}case 892:{ar(e,2130,-2,342926);break}case 894:{mr(e,1093);break}case 896:{Cr(e,376,-2);break}case 901:{ar(e,2130,-2,342926);break}case 904:{ar(e,2130,f,342926);break}case 910:{br(e,342583,50337407,342599);break}case 917:{K=c[F>>2]|0;f=K;if(K-(c[G>>2]|0)>>4>>>0<=16)Cr(e,300,16);g=c[(c[E>>2]|0)+164>>2]|0;if(f>>>0>=(c[D>>2]|0)>>>0)mr(e,4153);c[F>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;f=g+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[G>>2]|0;g=(c[F>>2]|0)-f>>4;if(g>>>0<=16)Cr(e,376,16);Kr(e,f+256|0,f+(g+-1<<4)|0)|0;g=c[G>>2]|0;i=(c[F>>2]|0)-g>>4;f=i+-2|0;if(i>>>0<=1)Cr(e,376,-2);B=g+(f<<4)|0;J=g+(i+-1<<4)|0;K=c[B>>2]|0;g=c[g+(f<<4)+8>>2]|0;t6(B|0,B+16|0,J-B|0)|0;c[J>>2]=2;f=(c[F>>2]|0)+-16|0;c[F>>2]=f;if((K&8|0)!=0?(J=g+4|0,K=(c[J>>2]|0)+-1|0,c[J>>2]=K,(K|0)==0):0){qr(c[C>>2]|0,g);f=c[F>>2]|0}K=c[G>>2]|0;f=f-K>>4>>>0>16?K+256|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(e,2130,16,342926);f=c[f+8>>2]|0;if(!f)ar(e,2130,16,342926);yr(e,f,c[(c[E>>2]|0)+172>>2]|0,5);K=c[(c[G>>2]|0)+600>>2]|0;c[K>>2]=c[K>>2]&-129;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0)mr(e,4300);f=fs(e,352332,40)|0;K=c[F>>2]|0;c[F>>2]=K+16;c[K>>2]=8;c[K+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[G>>2]|0;f=(c[F>>2]|0)-f>>4>>>0>34?f+544|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(e,2130,34,342926);f=c[f+8>>2]|0;if(!f)ar(e,2130,34,342926);yr(e,f,c[(c[E>>2]|0)+424>>2]|0,5);f=0;do{gt(e,c[(c[G>>2]|0)+(f<<4)+8>>2]|0);f=f+1|0}while((f|0)!=76);Zs(e,0);l=H;return}}}else if((t|0)==145)mr(e,4300);else if((t|0)==147)br(e,342583,50335961,342945);else if((t|0)==150)mr(e,4153);else if((t|0)==154)ar(e,2130,-2,342926);else if((t|0)==208)mr(e,4153);else if((t|0)==211)mr(e,4604);else if((t|0)==219)mr(e,4244);else if((t|0)==222)ar(e,2130,-2,342926)}function Tu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;dr(a,0);dr(a,0);c[a+68>>2]=1;dr(a,0);c[a>>2]=c[a>>2]|4;n=a+128|0;do if(c[n>>2]|0){o=a+64|0;c[o>>2]=1;p=a+56|0;c[p>>2]=1;c[a+60>>2]=1;m=a+24|0;k=0;l=0;a:while(1){e=c[m>>2]|0;if(!e){d=0;b=0}else{d=0;b=0;do{b=b+1|0;h=c[e>>2]|0;b:do if(h&1){f=1e4;g=e;while(1){if(c[g>>2]&2097152|0)break;if(!f)break b;g=c[g+20>>2]|0;if(!g)break b;else f=f+-1|0}if(!(h&32)){j=c[n>>2]|0;c[e>>2]=h|32;if(!(h&33554432)){i=j+68|0;f=c[i>>2]|0;g=j+56|0;if(f>>>0>=(c[g>>2]|0)>>>0){b=12;break a}c[i>>2]=f+16;c[f>>2]=9;c[f+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[i>>2]|0;h=j+64|0;if(f>>>0<(c[h>>2]|0)>>>0){b=15;break a}if((c[g>>2]|0)>>>0<(f+16|0)>>>0){b=15;break a}pr(j,22,0,0,1)|0;g=c[i>>2]|0;if((g+-32|0)>>>0<(c[h>>2]|0)>>>0){b=17;break a}f=g+-16|0;c[i>>2]=f;h=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[f>>2]=2;if((h&8|0)!=0?(q=g+4|0,h=(c[q>>2]|0)+-1|0,c[q>>2]=h,(h|0)==0):0){qr(c[j+44>>2]|0,g);f=c[i>>2]|0}h=f+-16|0;c[i>>2]=h;q=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[h>>2]=2;if(q&8|0?(i=f+4|0,q=(c[i>>2]|0)+-1|0,c[i>>2]=q,(q|0)==0):0)qr(c[j+44>>2]|0,f)}d=d+1|0}}while(0);e=c[e+8>>2]|0}while((e|0)!=0)}k=(l|0)==0?b<<1:(k*3|0)>>>2;if(!((d|0)!=0&d>>>0<k>>>0)){b=27;break}else l=l+1|0}if((b|0)==12)mr(j,4153);else if((b|0)==15)nr(j,342568,315);else if((b|0)==17)br(j,342583,50337495,342599);else if((b|0)==27){c[p>>2]=0;c[o>>2]=0;break}}while(0);f=a+36|0;b=c[f>>2]|0;if(b|0){d=a+12|0;e=a+16|0;do{q=b;b=c[b+20>>2]|0;li[c[d>>2]&511](c[e>>2]|0,q)}while((b|0)!=0)}c[f>>2]=0;f=a+40|0;b=c[f>>2]|0;if(b|0){d=a+12|0;e=a+16|0;do{q=b;b=c[b>>2]|0;li[c[d>>2]&511](c[e>>2]|0,q)}while((b|0)!=0)}c[f>>2]=0;b=c[a+24>>2]|0;c:do if(b|0){g=a+12|0;h=a+16|0;while(1){f=b;b=c[b+8>>2]|0;d=c[f>>2]|0;switch(d&3){case 0:{li[c[g>>2]&511](c[h>>2]|0,f);break}case 1:{li[c[g>>2]&511](c[h>>2]|0,c[f+16>>2]|0);d=c[f>>2]|0;do if(!(d&6144)){if((d&-134217728|0)!=-1879048192){if(!(d&1024))break;li[c[g>>2]&511](c[h>>2]|0,c[f+72>>2]|0);break}li[c[g>>2]&511](c[h>>2]|0,c[f+52>>2]|0);d=c[f+72>>2]|0;if(d|0)do{e=c[d+32>>2]|0;if(e|0)do{q=e;e=c[e>>2]|0;li[c[g>>2]&511](c[h>>2]|0,q)}while((e|0)!=0);q=d;d=c[d+20>>2]|0;li[c[g>>2]&511](c[h>>2]|0,q)}while((d|0)!=0)}while(0);li[c[g>>2]&511](c[h>>2]|0,f);break}default:{if((d&384|0)==128)li[c[g>>2]&511](c[h>>2]|0,c[f+20>>2]|0);li[c[g>>2]&511](c[h>>2]|0,f)}}if(!b)break c}}while(0);b=c[a+32>>2]|0;d:do if(b|0){g=a+12|0;h=a+16|0;while(1){f=b;b=c[b+8>>2]|0;d=c[f>>2]|0;switch(d&3){case 0:{li[c[g>>2]&511](c[h>>2]|0,f);break}case 1:{li[c[g>>2]&511](c[h>>2]|0,c[f+16>>2]|0);d=c[f>>2]|0;do if(!(d&6144)){if((d&-134217728|0)!=-1879048192){if(!(d&1024))break;li[c[g>>2]&511](c[h>>2]|0,c[f+72>>2]|0);break}li[c[g>>2]&511](c[h>>2]|0,c[f+52>>2]|0);d=c[f+72>>2]|0;if(d|0)do{e=c[d+32>>2]|0;if(e|0)do{q=e;e=c[e>>2]|0;li[c[g>>2]&511](c[h>>2]|0,q)}while((e|0)!=0);q=d;d=c[d+20>>2]|0;li[c[g>>2]&511](c[h>>2]|0,q)}while((d|0)!=0)}while(0);li[c[g>>2]&511](c[h>>2]|0,f);break}default:{if((d&384|0)==128)li[c[g>>2]&511](c[h>>2]|0,c[f+20>>2]|0);li[c[g>>2]&511](c[h>>2]|0,f)}}if(!b)break d}}while(0);g=c[a+176>>2]|0;e=c[a+184>>2]|0;if(!e){q=a+16|0;p=a+12|0;n=c[p>>2]|0;o=c[q>>2]|0;li[n&511](o,g);p=c[p>>2]|0;q=c[q>>2]|0;li[p&511](q,a);return}b=a+12|0;d=a+16|0;f=g+(e<<2)|0;do{f=f+-4|0;e=c[f>>2]|0;if(e|0)do{q=e;e=c[e+8>>2]|0;li[c[b>>2]&511](c[d>>2]|0,q)}while((e|0)!=0)}while((g|0)!=(f|0));q=c[b>>2]|0;p=c[d>>2]|0;li[q&511](p,g);p=c[b>>2]|0;q=c[d>>2]|0;li[p&511](q,a);return}function Uu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;i=a+68|0;d=c[i>>2]|0;e=c[a+64>>2]|0;f=d-e|0;g=f>>4;if((g|0)==1?(b=(d|0)!=(e|0)?e:0,b=(b|0)==0?368:b,(c[b>>2]|0)==0):0){j=+h[b+8>>3];e=rt(a,0)|0;if(+(e>>>0)!=j)br(a,353573,50331806,343761);f=Or(a,48)|0;b=c[a+44>>2]|0;c[f>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=d;c[b>>2]=f;b=c[a+132>>2]|0;c[f+20>>2]=b;if(b|0){g=b+4|0;c[g>>2]=(c[g>>2]|0)+1}g=c[i>>2]|0;c[g>>2]=9;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[i>>2]|0;c[i>>2]=g+16;i=c[g+8>>2]|0;Br(a,i,0,e>>>0<64?e:64,0,0);c[i+40>>2]=e;return 1}e=Or(a,48)|0;b=c[a+44>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+132>>2]|0;c[e+20>>2]=b;if(b|0){d=b+4|0;c[d>>2]=(c[d>>2]|0)+1}b=c[i>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[i>>2]|0;c[i>>2]=b+16;b=c[b+8>>2]|0;Br(a,b,0,g,0,0);c[b+40>>2]=g;e=c[b+24>>2]|0;d=(c[i>>2]|0)+(0-g<<4)+-16|0;s6((c[b+16>>2]|0)+(e*21|0)+(0-e&7)|0,d|0,f|0)|0;e=(c[i>>2]|0)+-16|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=d+16|0;e=c[i>>2]|0;if((d|0)!=(e|0)){b=d;do{c[b>>2]=2;b=b+16|0}while((b|0)!=(e|0))}c[i>>2]=d;return 1}function Vu(a){a=a|0;var b=0,d=0,e=0;d=a+68|0;e=c[d>>2]|0;b=c[a+64>>2]|0;b=(e|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==9){b=c[b+8>>2]|0;if(b)b=(c[b>>2]&-134217728|0)!=268435456?0:b}else b=0;if(e>>>0<(c[a+56>>2]|0)>>>0){c[d>>2]=e+16;c[e>>2]=4;c[e+8>>2]=(b|0)!=0&1;return 1}else mr(a,4185);return 0}function Wu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;g=u;q=a+68|0;f=c[q>>2]|0;r=a+56|0;if(f>>>0>=(c[r>>2]|0)>>>0)mr(a,4361);c[q>>2]=f+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);p=a+64|0;b=c[p>>2]|0;d=b+-16|0;e=c[d>>2]|0;if((e&-2|0)==2)br(a,342583,100667685,343776);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(e&8|0){k=(c[b+-8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}Mr(a,-1);d=c[q>>2]|0;f=c[p>>2]|0;b=f;e=d-b>>4;if(!e)Cr(a,376,0);e=e+-1|0;if(e){d=f+(e<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];t6(f+16|0,f|0,e<<4|0)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];d=c[q>>2]|0;b=c[p>>2]|0}g=d-b|0;j=g>>4;e=Or(a,48)|0;k=a+44|0;b=c[k>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+132>>2]|0;c[e+20>>2]=b;if(b|0){i=b+4|0;c[i>>2]=(c[i>>2]|0)+1}f=c[q>>2]|0;c[f>>2]=9;c[f+8>>2]=e;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;f=(c[q>>2]|0)+16|0;c[q>>2]=f;b=f>>>0<(c[r>>2]|0)>>>0;a:do if((g|0)>0){e=0;d=0;g=0;b:while(1){if(!b){t=18;break}b=c[p>>2]|0;if(g>>>0>=f-b>>4>>>0){t=20;break}i=b+(g<<4)|0;c[q>>2]=f+16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}f=c[p>>2]|0;i=(c[q>>2]|0)-f>>4;b=i|0?f+(i+-1<<4)|0:0;b=(b|0)==0?368:b;do if(((c[b>>2]|0)==9?(s=c[b+8>>2]|0,(s|0)!=0):0)?(c[s>>2]&-134217728|0)==268435456:0){i=Ur(a,-1)|0;if(i){d=0;while(1){f=e+1|0;if(!(et(a,-1,d)|0))c[q>>2]=(c[q>>2]|0)+-16;else{v=c[p>>2]|0;b=(c[q>>2]|0)-v>>4;b=b>>>0>2?v+(b+-3<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){t=34;break b}b=c[b+8>>2]|0;if(!b){t=34;break b}Vr(a,b,e)}d=d+1|0;if(d>>>0>=i>>>0){e=f;d=f;break}else e=f}}b=c[q>>2]|0;i=b+-16|0;c[q>>2]=i;v=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[i>>2]=2;if(v&8){i=b+4|0;v=(c[i>>2]|0)+-1|0;c[i>>2]=v;if(v|0)break;qr(c[k>>2]|0,b)}}else t=26;while(0);if((t|0)==26){t=0;d=e+1|0;b=i>>>0>1?f+(i+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){t=28;break}b=c[b+8>>2]|0;if(!b){t=28;break}Vr(a,b,e);e=d}g=g+1|0;f=c[q>>2]|0;b=f>>>0<(c[r>>2]|0)>>>0;if((g|0)>=(j|0)){m=d;n=b;o=f;break a}}if((t|0)==18)mr(a,1093);else if((t|0)==20)Cr(a,376,g);else if((t|0)==28)ar(a,2130,-2,342926);else if((t|0)==34)ar(a,2130,-3,342926)}else{m=0;n=b;o=f}while(0);if(!n)mr(a,4274);b=o+16|0;c[q>>2]=b;c[o>>2]=0;h[o+8>>3]=+(m>>>0);v=c[p>>2]|0;b=b-v>>4;b=b>>>0>1?v+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[a+304>>2]|0)+328>>2]|0,1);l=u;return 1}return 0}function Xu(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;f=r;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){m=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)m=b[e+46>>1]|0;else m=0}else m=0;while(0);p=a+68|0;n=a+64|0;d=(c[p>>2]|0)-(c[n>>2]|0)|0;Zs(a,2);o=bz(a)|0;if((o|0)<0)br(a,353573,50331727,343761);a:do if(o|0){e=(m|0)>0;if((d|0)>16){d=Ot(a,1,e?0-o|0:~o,o+((e^1)<<31>>31)|0,f)|0;d=((d|0)<0?o:0)+d|0}else d=e?0:o+-1|0;if((d|0)>-1&(d|0)<(o|0)){k=a+44|0;b:while(1){c:do if(et(a,2,d)|0){e=c[p>>2]|0;f=c[n>>2]|0;j=e-f>>4;g=j|0?f:0;f=j>>>0>4?f+64|0:0;if(!((g|0)==0|(f|0)==0)){i=c[g>>2]|0;j=c[f>>2]|0;if(!(j|i))if(+h[g+8>>3]==+h[f+8>>3])break b;else break;if((i|0)==(j|0))switch(i|0){case 3:case 2:break b;case 4:if((c[g+8>>2]|0)==(c[f+8>>2]|0))break b;else break c;case 5:if((c[g+8>>2]|0)==(c[f+8>>2]|0))break b;else break c;case 9:case 8:if((c[g+8>>2]|0)==(c[f+8>>2]|0))break b;else break c;case 10:if((c[g+8>>2]|0)==(c[f+8>>2]|0))break b;else break c;case 6:{if((c[g+8>>2]|0)!=(c[f+8>>2]|0))break c;if((c[g+4>>2]|0)==(c[f+4>>2]|0))break b;else break c}default:{q=26;break b}}}}else e=c[p>>2]|0;while(0);i=e+-16|0;c[p>>2]=i;j=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[i>>2]=2;if(j&8|0?(i=e+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0)qr(c[k>>2]|0,e);d=d+m|0;if(!((d|0)>-1&(d|0)<(o|0)))break a}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);s=+(d|0);a=e;q=a+16|0;c[p>>2]=q;c[a>>2]=0;a=a+8|0;h[a>>3]=s;l=r;return 1}}while(0);d=c[p>>2]|0;if(d>>>0<(c[a+56>>2]|0)>>>0){s=-1.0;a=d;q=a+16|0;c[p>>2]=q;c[a>>2]=0;a=a+8|0;h[a>>3]=s;l=r;return 1}else mr(a,4244);return 0}function Yu(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){n=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)n=b[e+46>>1]|0;else n=0}else n=0;while(0);o=bz(a)|0;r=a+68|0;e=c[r>>2]|0;p=a+64|0;d=c[p>>2]|0;d=(e|0)!=(d|0)?d:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{f=7;break}case 6:break;default:ar(a,2285,0,361148)}if((f|0)==7?(c[c[d+8>>2]>>2]&512|0)==0:0)ar(a,2285,0,361148);m=(n|0)==3;if((n+-3|0)>>>0>=2)if(e>>>0<(c[a+56>>2]|0)>>>0)g=e;else mr(a,4162);else{f=Or(a,48)|0;d=c[a+44>>2]|0;c[f>>2]=272679041;d=d+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[d>>2]=f;d=c[a+132>>2]|0;c[f+20>>2]=d;if(d|0){l=d+4|0;c[l>>2]=(c[l>>2]|0)+1}g=c[r>>2]|0;c[g>>2]=9;c[g+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[r>>2]|0}c[r>>2]=g+16;a:do if(!o)q=0;else{l=a+56|0;k=a+44|0;i=0;j=0;d=0;b:while(1){do if(!(et(a,2,j)|0)){c[r>>2]=(c[r>>2]|0)+-16;e=i;d=m?j+1|0:d}else{e=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)>>>0){f=22;break b}f=c[p>>2]|0;if((e|0)==(f|0)){f=24;break b}c[r>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[e>>2]&8|0){g=(c[e+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}e=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)>>>0){f=28;break b}f=c[p>>2]|0;if(e-f>>4>>>0<=1){f=30;break b}g=f+16|0;c[r>>2]=e+16;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];if(c[e>>2]&8|0){g=(c[e+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}g=c[r>>2]|0;if(g>>>0>=(c[l>>2]|0)>>>0){f=34;break b}e=c[p>>2]|0;f=g-e>>4;if(f>>>0<=2){f=36;break b}f=e+(f+-3<<4)|0;c[r>>2]=g+16;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if(c[g>>2]&8|0){g=(c[g+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=c[r>>2]|0;e=c[l>>2]|0;if(f>>>0>=e>>>0){f=40;break b}g=f+16|0;c[r>>2]=g;c[f>>2]=0;h[f+8>>3]=+(j>>>0);if(g>>>0>=e>>>0){f=42;break b}e=c[p>>2]|0;if(g-e>>4>>>0<=2){f=44;break b}e=e+32|0;c[r>>2]=f+32;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];if(c[g>>2]&8|0){g=(c[f+24>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}e=(c[r>>2]|0)-(c[p>>2]|0)|0;if((e|0)<80){f=48;break b}Lr(a,(e>>>4)+-5|0,0)|0;c:do switch(n|0){case 0:{if(!(is(a,-1)|0)){f=98;break b}else g=i;break}case 1:{if(!(is(a,-1)|0))g=i;else{f=98;break b}break}case 2:{g=i;break}case 3:{d=c[r>>2]|0;if(d>>>0>=(c[l>>2]|0)>>>0){f=53;break b}if((d-(c[p>>2]|0)|0)<16){f=55;break b}g=d+-16|0;c[r>>2]=d+16;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];if(c[d>>2]&8|0){g=(c[d+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}d=c[p>>2]|0;d=(c[r>>2]|0)-d>>4>>>0>4?d+64|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9){f=60;break b}d=c[d+8>>2]|0;if(!d){f=60;break b}Vr(a,d,j);g=i;d=j+1|0;break}case 4:{if(!(is(a,-1)|0)){g=i;break c}d=c[r>>2]|0;if(d>>>0>=(c[l>>2]|0)>>>0){f=64;break b}e=c[p>>2]|0;f=d-e>>4;if(f>>>0<=1){f=66;break b}g=e+(f+-2<<4)|0;c[r>>2]=d+16;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];if(c[d>>2]&8|0){g=(c[d+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}d=c[p>>2]|0;d=(c[r>>2]|0)-d>>4>>>0>4?d+64|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9){f=71;break b}d=c[d+8>>2]|0;if(!d){f=71;break b}Vr(a,d,i);d=i+1|0;g=d;break}default:{f=73;break b}}while(0);f=c[r>>2]|0;e=f+-16|0;c[r>>2]=e;i=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[e>>2]=2;do if(i&8){s=f+4|0;i=(c[s>>2]|0)+-1|0;c[s>>2]=i;if(i|0)break;qr(c[k>>2]|0,f);e=c[r>>2]|0}while(0);i=e+-16|0;c[r>>2]=i;s=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[i>>2]=2;if(!(s&8)){e=g;break}i=e+4|0;s=(c[i>>2]|0)+-1|0;c[i>>2]=s;if(s|0){e=g;break}qr(c[k>>2]|0,e);e=g}while(0);j=j+1|0;if(j>>>0>=o>>>0){q=d;break a}else i=e}switch(f|0){case 22:{mr(a,1093);break}case 24:{Cr(a,376,0);break}case 28:{mr(a,1093);break}case 30:{Cr(a,376,1);break}case 34:{mr(a,1093);break}case 36:{Cr(a,376,-3);break}case 40:{mr(a,4274);break}case 42:{mr(a,1093);break}case 44:{Cr(a,376,2);break}case 48:{nr(a,342568,55);break}case 53:{mr(a,1111);break}case 55:{Cr(a,1114,-1);break}case 60:{ar(a,2130,4,342926);break}case 64:{mr(a,1093);break}case 66:{Cr(a,376,-2);break}case 71:{ar(a,2130,4,342926);break}case 73:break;case 98:return 1}}while(0);switch(n|0){case 0:{d=c[r>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4195);c[r>>2]=d+16;c[d>>2]=4;c[d+8>>2]=1;return 1}case 1:{d=c[r>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4204);c[r>>2]=d+16;c[d>>2]=4;c[d+8>>2]=0;return 1}case 2:{d=c[r>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4162);c[r>>2]=d+16;return 1}case 4:case 3:{d=c[r>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);o=d+16|0;c[r>>2]=o;c[d>>2]=0;h[d+8>>3]=+(q>>>0);s=c[p>>2]|0;d=o-s>>4;d=d>>>0>1?s+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,-2,342926);yr(a,d,c[(c[a+304>>2]|0)+328>>2]|0,1);return 1}default:{}}return 0}function Zu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+16|0;s=t;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){h=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)h=b[e+46>>1]|0;else h=0}else h=0;while(0);Zs(a,1);p=a+68|0;d=c[p>>2]|0;q=a+64|0;o=c[q>>2]|0;o=(d|0)!=(o|0)?o:0;do if((c[((o|0)==0?368:o)>>2]|0)==2){e=d+-16|0;c[p>>2]=e;f=c[(c[a+304>>2]|0)+252>>2]|0;g=a+56|0;if(e>>>0<(c[g>>2]|0)>>>0){c[p>>2]=d;c[e>>2]=8;c[d+-8>>2]=f;r=f+4|0;c[r>>2]=(c[r>>2]|0)+1;r=g;break}else mr(a,4153)}else{Xr(a,0)|0;r=a+56|0}while(0);o=bz(a)|0;f=c[p>>2]|0;d=c[a+52>>2]|0;e=((o>>>0<4096?o:4096)<<4)+576+(f-d)|0;d=d+e|0;g=c[r>>2]|0;do if(g>>>0<d>>>0)if((c[a+60>>2]|0)>>>0<d>>>0){Er(a,e,1)|0;f=c[p>>2]|0;d=c[r>>2]|0;break}else{c[r>>2]=d;break}else d=g;while(0);if(f>>>0>=d>>>0)mr(a,1093);d=c[q>>2]|0;if((f|0)==(d|0))Cr(a,376,0);c[p>>2]=f+16;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){n=(c[f+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}n=a+304|0;m=(h|0)==0;k=a+44|0;d=0;j=0;while(1){g=j>>>0>=o>>>0;if(g|d>>>0>4095){ds(a,d,1);d=c[p>>2]|0;if(d>>>0>=(c[r>>2]|0)>>>0){d=24;break}e=c[q>>2]|0;if((d|0)==(e|0)){d=26;break}c[p>>2]=d+16;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];if(c[d>>2]&8|0){i=(c[d+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}d=c[q>>2]|0;e=(c[p>>2]|0)-d>>4;if(e>>>0<=1){d=30;break}f=d+(e+-2<<4)|0;e=d+(e+-1<<4)|0;d=e-f|0;if(d|0){c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];c[s+8>>2]=c[e+8>>2];c[s+12>>2]=c[e+12>>2];t6(f+16|0,f|0,d|0)|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2]}d=1}if(g){d=60;break}et(a,1,j)|0;e=c[p>>2]|0;h=c[q>>2]|0;i=e-h>>4;i=i|0?h+(i+-1<<4)|0:0;if((c[((i|0)==0?368:i)>>2]&-2|0)==2){f=e+-16|0;c[p>>2]=f;c[f>>2]=2;g=c[(c[n>>2]|0)+60>>2]|0;if(f>>>0>=(c[r>>2]|0)>>>0){d=37;break}c[p>>2]=e;c[f>>2]=8;c[e+-8>>2]=g;i=g+4|0;c[i>>2]=(c[i>>2]|0)+1}else{if(!m){Mr(a,-1);e=c[p>>2]|0;h=e-(c[q>>2]|0)|0;g=h>>4;i=g+-1|0;if(!g){d=41;break}f=c[(c[n>>2]|0)+156>>2]|0;if(e>>>0>=(c[r>>2]|0)>>>0){d=43;break}c[p>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[q>>2]|0;g=(c[p>>2]|0)-f>>4;e=((h|0)<16?g:0)+i|0;if(e>>>0>=g>>>0){d=45;break}Kr(a,f+(e<<4)|0,f+(g+-1<<4)|0)|0;f=c[q>>2]|0;g=(c[p>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1){d=47;break}u=f+(e<<4)|0;h=f+(g+-1<<4)|0;i=c[u>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(u|0,u+16|0,h-u|0)|0;c[h>>2]=2;f=(c[p>>2]|0)+-16|0;c[p>>2]=f;if((i&8|0)!=0?(i=e+4|0,u=(c[i>>2]|0)+-1|0,c[i>>2]=u,(u|0)==0):0){qr(c[k>>2]|0,e);f=c[p>>2]|0}g=c[q>>2]|0;e=g;h=f-e>>4;if(h>>>0<=1){d=52;break}i=g+(h+-2<<4)|0;g=g+(h+-1<<4)|0;h=g-i|0;if(h){c[s>>2]=c[g>>2];c[s+4>>2]=c[g+4>>2];c[s+8>>2]=c[g+8>>2];c[s+12>>2]=c[g+12>>2];t6(i+16|0,i|0,h|0)|0;c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];f=c[p>>2]|0;e=c[q>>2]|0}e=f-e|0;if((e|0)<32){d=56;break}Lr(a,(e>>>4)+-2|0,0)|0}Xr(a,-1)|0}d=d+1|0;j=j+1|0}switch(d|0){case 24:{mr(a,1093);break}case 26:{Cr(a,376,0);break}case 30:{Cr(a,376,-2);break}case 37:{mr(a,4153);break}case 41:{Cr(a,300,-1);break}case 43:{mr(a,4153);break}case 45:{Cr(a,376,i);break}case 47:{Cr(a,376,-2);break}case 52:{Cr(a,376,-2);break}case 56:{nr(a,342568,55);break}case 60:{l=t;return 1}}return 0}function _u(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0;j=a+64|0;b=c[j>>2]|0;if(((c[b+-16>>2]|0)==9?(e=c[b+-8>>2]|0,(c[e>>2]&4227136|0)==4227072):0)?(f=e+40|0,d=c[f>>2]|0,!((e|0)==0?1:d>>>0>(c[e+32>>2]|0)>>>0)):0){b=c[e+24>>2]|0;if(!d){a=0;return a|0}b=(c[e+16>>2]|0)+(b*21|0)+(0-b&7)|0;d=d+-1|0;c[f>>2]=d;d=b+(d<<4)|0;b=a+68|0;if((c[d>>2]|0)!=7){a=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[d>>2]=7}c[b>>2]=(c[b>>2]|0)+16;a=1;return a|0}b=bz(a)|0;if(!b){g=a+68|0;b=c[g>>2]|0;d=c[a+56>>2]|0;if(b>>>0>=d>>>0)mr(a,4244);e=b+16|0;c[g>>2]=e;c[b>>2]=0;h[b+8>>3]=0.0;if((e|0)==(c[j>>2]|0))Cr(a,300,0);f=c[(c[a+304>>2]|0)+328>>2]|0;if(e>>>0>=d>>>0)mr(a,4153);c[g>>2]=b+32;c[e>>2]=8;c[b+24>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[j>>2]|0;e=(c[g>>2]|0)-f>>4;if(!e)Cr(a,376,0);if((e|0)==1)Cr(a,376,-2);d=e+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f,f+(e+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;Nt(a);a=0;return a|0}b=b+-1|0;et(a,0,b)|0;g=a+68|0;f=c[g>>2]|0;d=f;if((f|0)==(c[j>>2]|0))Cr(a,300,0);e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4274);i=+(b>>>0);c[g>>2]=d+16;c[d>>2]=0;h[d+8>>3]=i;Tt(a,0);f=c[g>>2]|0;d=c[e>>2]|0;if(f>>>0>=d>>>0)mr(a,4274);e=f+16|0;c[g>>2]=e;c[f>>2]=0;h[f+8>>3]=i;if((e|0)==(c[j>>2]|0))Cr(a,300,0);b=c[(c[a+304>>2]|0)+328>>2]|0;if(e>>>0>=d>>>0)mr(a,4153);c[g>>2]=f+32;c[e>>2]=8;c[f+24>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[j>>2]|0;e=(c[g>>2]|0)-f>>4;if(!e)Cr(a,376,0);if((e|0)==1)Cr(a,376,-2);d=e+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f,f+(e+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;Nt(a);a=1;return a|0}function $u(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+64|0;d=c[q>>2]|0;b=d;if(((c[d+-16>>2]|0)==9?(e=c[d+-8>>2]|0,(c[e>>2]&4227136|0)==4227072):0)?(k=e+40|0,i=c[k>>2]|0,f=c[e+32>>2]|0,!((e|0)==0|i>>>0>f>>>0)):0){g=c[e+24>>2]|0;g=(c[e+16>>2]|0)+(g*21|0)+(0-g&7)|0;l=a+68|0;e=(c[l>>2]|0)-b|0;j=e>>4;m=j+i|0;if(m>>>0<i>>>0)br(a,353573,50332142,343761);if(m>>>0<=f>>>0){if((e|0)>0){e=0;b=g+(i<<4)|0;while(1){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[d>>2]=2;e=e+1|0;if((e|0)>=(j|0))break;else{d=d+16|0;b=b+16|0}}b=c[q>>2]|0}c[l>>2]=b;c[k>>2]=m;if(b>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[l>>2]=b+16;c[b>>2]=0;h[b+8>>3]=+(m>>>0);return 1}}m=a+68|0;b=(c[m>>2]|0)-b|0;i=b>>4;j=bz(a)|0;k=i+j|0;if(k>>>0<j>>>0)br(a,353573,50332216,343761);f=c[m>>2]|0;l=a+56|0;d=c[l>>2]|0;e=f>>>0<d>>>0;a:do if((b|0)>0){g=0;b=e;d=f;while(1){if(!b){b=18;break}b=c[q>>2]|0;if(g>>>0>=d-b>>4>>>0){b=20;break}f=b+(g<<4)|0;c[m>>2]=d+16;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];if(c[d>>2]&8|0){f=(c[d+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Ft(a,-3,g+j|0);b=g+1|0;d=c[m>>2]|0;e=c[l>>2]|0;f=d>>>0<e>>>0;if((b|0)<(i|0)){g=b;b=f}else{n=f;o=d;p=e;break a}}if((b|0)==18)mr(a,1093);else if((b|0)==20)Cr(a,376,g)}else{n=e;o=f;p=d}while(0);if(!n)mr(a,4274);b=o+16|0;c[m>>2]=b;c[o>>2]=0;h[o+8>>3]=+(k>>>0);if(b>>>0>=p>>>0)mr(a,1111);if((b-(c[q>>2]|0)|0)<16)Cr(a,1114,-1);c[m>>2]=o+32;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];if(c[b>>2]&8|0){p=(c[o+24>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}b=c[m>>2]|0;e=b-(c[q>>2]|0)|0;p=e>>4;i=p+-4|0;if(p>>>0<=3)Cr(a,300,-4);d=c[(c[a+304>>2]|0)+328>>2]|0;if(b>>>0>=(c[l>>2]|0)>>>0)mr(a,4153);c[m>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;g=d+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[q>>2]|0;f=(c[m>>2]|0)-g>>4;e=((e|0)<64?f:0)+i|0;if(e>>>0>=f>>>0)Cr(a,376,i);if((f|0)==1)Cr(a,376,-2);d=f+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,g+(e<<4)|0,g+(f+-1<<4)|0,c[g+(d<<4)>>2]|0,c[g+(d<<4)+4>>2]|0,+h[g+(d<<4)+8>>3],b)|0;Nt(a);return 1}function av(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e){m=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)m=b[e+46>>1]|0;else m=0}else m=0;while(0);n=a+68|0;o=a+64|0;e=(c[n>>2]|0)-(c[o>>2]|0)|0;Zs(a,2);p=bz(a)|0;f=c[n>>2]|0;g=c[o>>2]|0;i=g;d=(f|0)!=(i|0)?g:0;d=(d|0)==0?368:d;j=f;switch(c[d>>2]|0){case 9:{k=7;break}case 6:break;default:ar(a,2285,0,361148)}if((k|0)==7?(c[c[d+8>>2]>>2]&512|0)==0:0)ar(a,2285,0,361148);if((e|0)>16){if(j>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if(f-i>>4>>>0<=1)Cr(a,376,1);i=g+16|0;c[n>>2]=j+16;k=f;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];if(!(c[j>>2]&8))d=1;else{d=(c[j+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1;d=1}}else d=0;e=(m|0)>-1?0:p+-1|0;a:do if(e>>>0<p>>>0){k=a+56|0;j=a+44|0;b:while(1){i=c[n>>2]|0;f=i;if(i-(c[o>>2]|0)>>4>>>0<=2){k=19;break}if(f>>>0>=(c[k>>2]|0)>>>0){k=21;break}l=+(e>>>0);c[n>>2]=f+16;c[f>>2]=0;h[f+8>>3]=l;do if(Wr(a,2)|0){if(!d){et(a,2,e)|0;d=1;break}f=c[n>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0){k=26;break b}g=c[o>>2]|0;if((f|0)==(g|0)){k=28;break b}c[n>>2]=f+16;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}f=c[n>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0){k=32;break b}g=c[o>>2]|0;if(f-g>>4>>>0<=4){k=34;break b}i=g+64|0;c[n>>2]=f+16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];if(c[f>>2]&8|0){i=(c[f+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}et(a,2,e)|0;g=c[n>>2]|0;f=c[k>>2]|0;if(g>>>0>=f>>>0){k=38;break b}i=g+16|0;c[n>>2]=i;c[g>>2]=0;h[g+8>>3]=l;if(i>>>0>=f>>>0){k=40;break b}f=c[o>>2]|0;if(i-f>>4>>>0<=2){k=42;break b}f=f+32|0;c[n>>2]=g+32;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];if(c[i>>2]&8|0){i=(c[g+24>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}Bt(a,4);f=c[o>>2]|0;g=(c[n>>2]|0)-f>>4;if(!g){k=46;break b}i=f+(g+-1<<4)|0;if(g>>>0<=4){k=48;break b}r=f+64|0;g=c[r>>2]|0;f=c[f+72>>2]|0;c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];c[i>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(!(g&8))break;i=f+4|0;r=(c[i>>2]|0)+-1|0;c[i>>2]=r;if(r|0)break;qr(c[j>>2]|0,f)}while(0);e=e+m|0;if(e>>>0>=p>>>0){q=d;break a}}switch(k|0){case 19:{Cr(a,300,2);break}case 21:{mr(a,4274);break}case 26:{mr(a,1093);break}case 28:{Cr(a,376,0);break}case 32:{mr(a,1093);break}case 34:{Cr(a,376,4);break}case 38:{mr(a,4274);break}case 40:{mr(a,1093);break}case 42:{Cr(a,376,2);break}case 46:{Cr(a,376,-1);break}case 48:{Cr(a,376,4);break}}}else q=d;while(0);if(!q)nr(a,353573,1604);else return 1;return 0}function bv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;g=bz(a)|0;i=g>>>1;m=a+68|0;a:do if(i|0){j=a+64|0;k=a+56|0;f=0;while(1){l=g-f+-1|0;e=et(a,-2,f)|0;if(!(et(a,-3,l)|0)){d=c[m>>2]|0;b=d-(c[j>>2]|0)>>4;if(b>>>0<=3){b=6;break}if(d>>>0>=(c[k>>2]|0)>>>0){b=8;break}c[m>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(f>>>0);Tt(a,b+-4|0);c[m>>2]=(c[m>>2]|0)+-16}else Ft(a,-4,f);if(!e){d=c[m>>2]|0;b=d-(c[j>>2]|0)>>4;if(b>>>0<=2){b=13;break}if(d>>>0>=(c[k>>2]|0)>>>0){b=15;break}c[m>>2]=d+16;c[d>>2]=0;h[d+8>>3]=+(l>>>0);Tt(a,b+-3|0);c[m>>2]=(c[m>>2]|0)+-16}else Ft(a,-3,l);f=f+1|0;if(f>>>0>=i>>>0)break a}if((b|0)==6)Cr(a,300,-4);else if((b|0)==8)mr(a,4274);else if((b|0)==13)Cr(a,300,-3);else if((b|0)==15)mr(a,4274)}while(0);b=c[m>>2]|0;l=b+-16|0;c[m>>2]=l;m=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[l>>2]=2;if(!(m&8))return 1;l=b+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0)return 1;qr(c[a+44>>2]|0,b);return 1}function cv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;g=bz(a)|0;if(!g){i=a+68|0;e=c[i>>2]|0;f=c[a+56>>2]|0;if(e>>>0>=f>>>0)mr(a,4244);g=e+16|0;c[i>>2]=g;c[e>>2]=0;h[e+8>>3]=0.0;b=a+64|0;if((g|0)==(c[b>>2]|0))Cr(a,300,0);d=c[(c[a+304>>2]|0)+328>>2]|0;if(g>>>0>=f>>>0)mr(a,4153);c[i>>2]=e+32;c[g>>2]=8;c[e+24>>2]=d;f=d+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[b>>2]|0;e=(c[i>>2]|0)-f>>4;if(!e)Cr(a,376,0);if((e|0)==1)Cr(a,376,-2);d=e+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f,f+(e+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;Nt(a);a=0;return a|0}et(a,0,0)|0;k=a+68|0;i=a+64|0;a:do if((g|0)!=1){d=a+56|0;b=1;while(1){e=b+-1|0;if(!(et(a,0,b)|0)){l=c[k>>2]|0;f=l;if((l|0)==(c[i>>2]|0)){b=20;break}if(f>>>0>=(c[d>>2]|0)>>>0){b=22;break}c[k>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+(e>>>0);Tt(a,0);c[k>>2]=(c[k>>2]|0)+-16}else Ft(a,0,e);b=b+1|0;if(b>>>0>=g>>>0)break a}if((b|0)==20)Cr(a,300,0);else if((b|0)==22)mr(a,4274)}while(0);l=c[k>>2]|0;b=l;if((l|0)==(c[i>>2]|0))Cr(a,300,0);d=a+56|0;if(b>>>0>=(c[d>>2]|0)>>>0)mr(a,4274);j=+((g+-1|0)>>>0);c[k>>2]=b+16;c[b>>2]=0;h[b+8>>3]=j;Tt(a,0);f=c[k>>2]|0;d=c[d>>2]|0;if(f>>>0>=d>>>0)mr(a,4274);e=f+16|0;c[k>>2]=e;c[f>>2]=0;h[f+8>>3]=j;if((e|0)==(c[i>>2]|0))Cr(a,300,0);b=c[(c[a+304>>2]|0)+328>>2]|0;if(e>>>0>=d>>>0)mr(a,4153);c[k>>2]=f+32;c[e>>2]=8;c[f+24>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[i>>2]|0;e=(c[k>>2]|0)-f>>4;if(!e)Cr(a,376,0);if((e|0)==1)Cr(a,376,-2);d=e+-2|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,f,f+(e+-1<<4)|0,c[f+(d<<4)>>2]|0,c[f+(d<<4)+4>>2]|0,+h[f+(d<<4)+8>>3],b)|0;Nt(a);l=1;return l|0}function dv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;f=m;g=bz(a)|0;if((g|0)<0)br(a,353573,50331727,343761);e=Or(a,48)|0;b=c[a+44>>2]|0;c[e>>2]=272679041;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+132>>2]|0;c[e+20>>2]=b;if(b|0){j=b+4|0;c[j>>2]=(c[j>>2]|0)+1}j=a+68|0;i=c[j>>2]|0;c[i>>2]=9;c[i+8>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=a+64|0;c[j>>2]=(c[j>>2]|0)+16;b=0-g|0;e=Ot(a,0,b,g,f)|0;e=((e|0)<0?g:0)+e|0;d=c[i>>2]|0;d=(c[j>>2]|0)-d>>4>>>0>1?d+16|0:0;if((c[((d|0)==0?368:d)>>2]|0)!=2){f=Ot(a,1,b,g,f)|0;g=((f|0)<0?g:0)+f|0}a:do if((e|0)<(g|0)){d=0;b=0;while(1){if(!(et(a,2,e)|0)){c[j>>2]=(c[j>>2]|0)+-16;d=d+1|0}else{b=c[i>>2]|0;b=(c[j>>2]|0)-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){b=13;break}b=c[b+8>>2]|0;if(!b){b=13;break}Vr(a,b,d);d=d+1|0;b=d}e=e+1|0;if((e|0)>=(g|0)){k=b;break a}}if((b|0)==13)ar(a,2130,4,342926)}else k=0;while(0);b=c[j>>2]|0;if(b>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);g=b+16|0;c[j>>2]=g;c[b>>2]=0;h[b+8>>3]=+(k>>>0);b=c[i>>2]|0;b=g-b>>4>>>0>4?b+64|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,4,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,4,342926);else{yr(a,b,c[(c[a+304>>2]|0)+328>>2]|0,1);l=m;return 1}return 0}function ev(a){a=a|0;var b=0;b=bz(a)|0;if((b|0)<0)br(a,353573,50331727,343761);if(b|0)cz(a,0,b+-1|0);a=a+68|0;b=(c[a>>2]|0)+-16|0;c[a>>2]=b;c[b>>2]=2;return 1}function fv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;e=r;q=a+68|0;p=a+64|0;b=(c[q>>2]|0)-(c[p>>2]|0)|0;if((b|0)<32){Zs(a,2);n=0;b=0}else{n=(b>>>4)+-2|0;b=1}o=bz(a)|0;if((o|0)<0)br(a,353573,50331727,343761);j=Ot(a,0,0-o|0,o,e)|0;j=((j|0)<0?o:0)+j|0;d=o-j|0;if(b)d=Ot(a,1,0,d,e)|0;m=c6(o|0,((o|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;m=b6(n|0,((n|0)<0)<<31>>31|0,m|0,z|0)|0;k=z;if((k|0)>0|(k|0)==0&m>>>0>4294967295)br(a,353573,50332612,343761);f=Or(a,48)|0;b=c[a+44>>2]|0;c[f>>2]=272679041;b=b+24|0;e=c[b>>2]|0;if(e|0)c[e+12>>2]=f;c[f+12>>2]=0;c[f+8>>2]=e;c[b>>2]=f;b=c[a+132>>2]|0;c[f+20>>2]=b;if(b|0){m=b+4|0;c[m>>2]=(c[m>>2]|0)+1}b=c[q>>2]|0;c[b>>2]=9;c[b+8>>2]=f;b=f+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[q>>2]|0)+16|0;c[q>>2]=b;do if((d|0)>0){e=0;while(1){if(!(et(a,-3,e+j|0)|0))c[q>>2]=(c[q>>2]|0)+-16;else{m=c[p>>2]|0;b=(c[q>>2]|0)-m>>4;b=b>>>0>1?m+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){b=18;break}b=c[b+8>>2]|0;if(!b){b=18;break}Vr(a,b,e)}e=e+1|0;if((e|0)>=(d|0)){b=22;break}}if((b|0)==18)ar(a,2130,-2,342926);else if((b|0)==22){g=c[q>>2]|0;break}}else g=b;while(0);k=a+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(a,4274);b=g+16|0;c[q>>2]=b;c[g>>2]=0;h[g+8>>3]=+(d>>>0);m=c[p>>2]|0;b=b-m>>4;b=b>>>0>1?m+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);m=a+304|0;yr(a,b,c[(c[m>>2]|0)+328>>2]|0,1);a:do if((n|0)<(d|0)){i=o-d|0;b:do if((j|0)<(i|0)){b=j;while(1){if(!(et(a,-3,b+d|0)|0)){e=c[q>>2]|0;f=e+-16|0;c[q>>2]=f;g=f-(c[p>>2]|0)>>4;if(g>>>0<=2){b=33;break}if(f>>>0>=(c[k>>2]|0)>>>0){b=35;break}c[q>>2]=e;c[f>>2]=0;h[e+-8>>3]=+((b+n|0)>>>0);Tt(a,g+-3|0)}else Ft(a,-4,b+n|0);b=b+1|0;if((b|0)>=(i|0))break b}if((b|0)==33)Cr(a,300,-3);else if((b|0)==35)mr(a,4274)}while(0);e=i+n|0;if((o|0)>(e|0)){b=o;while(1){b=b+-1|0;g=c[q>>2]|0;f=g-(c[p>>2]|0)>>4;if(f>>>0<=2){b=40;break}if(g>>>0>=(c[k>>2]|0)>>>0){b=42;break}c[q>>2]=g+16;c[g>>2]=0;h[g+8>>3]=+(b>>>0);Tt(a,f+-3|0);if((b|0)<=(e|0))break a}if((b|0)==40)Cr(a,300,-3);else if((b|0)==42)mr(a,4274)}}else if((n|0)>(d|0)?(i=o-d|0,(i|0)>(j|0)):0){b=i;while(1){b=b+-1|0;if(!(et(a,-3,b+d|0)|0)){e=c[q>>2]|0;f=e+-16|0;c[q>>2]=f;g=f-(c[p>>2]|0)>>4;if(g>>>0<=2){b=51;break}if(f>>>0>=(c[k>>2]|0)>>>0){b=53;break}c[q>>2]=e;c[f>>2]=0;h[e+-8>>3]=+((b+n|0)>>>0);Tt(a,g+-3|0)}else Ft(a,-4,b+n|0);if((b|0)<=(j|0))break a}if((b|0)==51)Cr(a,300,-3);else if((b|0)==53)mr(a,4274)}while(0);c:do if((n|0)>0){b=0;while(1){g=b+2|0;e=c[q>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){b=56;break}f=c[p>>2]|0;if(g>>>0>=e-f>>4>>>0){b=58;break}i=f+(g<<4)|0;c[q>>2]=e+16;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];if(c[e>>2]&8|0){i=(c[e+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}Ft(a,-4,b+j|0);b=b+1|0;if((b|0)>=(n|0))break c}if((b|0)==56)mr(a,1093);else if((b|0)==58)Cr(a,376,g)}while(0);j=c[q>>2]|0;g=c[k>>2]|0;if(j>>>0>=g>>>0)mr(a,4274);i=j+16|0;c[q>>2]=i;c[j>>2]=0;h[j+8>>3]=+((o+n-d|0)>>>0);e=i-(c[p>>2]|0)|0;o=e>>4;f=o+-4|0;if(o>>>0<=3)Cr(a,300,-4);b=c[(c[m>>2]|0)+328>>2]|0;if(i>>>0>=g>>>0)mr(a,4153);c[q>>2]=j+32;c[i>>2]=8;c[j+24>>2]=b;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[p>>2]|0;d=(c[q>>2]|0)-g>>4;b=((e|0)<64?d:0)+f|0;if(b>>>0>=d>>>0)Cr(a,376,f);e=g+(b<<4)|0;f=g+(d+-1<<4)|0;if((d|0)==1)Cr(a,376,-2);b=d+-2|0;d=c[a+72>>2]|0;if(!d){q=1;o=g+(b<<4)|0;o=c[o>>2]|0;p=g+(b<<4)+4|0;p=c[p>>2]|0;n=g+(b<<4)+8|0;s=+h[n>>3];es(a,e,f,o,p,s,q)|0;Nt(a);l=r;return 1}q=c[d+52>>2]&1;o=g+(b<<4)|0;o=c[o>>2]|0;p=g+(b<<4)+4|0;p=c[p>>2]|0;n=g+(b<<4)+8|0;s=+h[n>>3];es(a,e,f,o,p,s,q)|0;Nt(a);l=r;return 1}function gv(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;o=q+16|0;m=q;n=a+68|0;g=c[n>>2]|0;i=a+56|0;if(g>>>0>=(c[i>>2]|0)>>>0)mr(a,4361);c[n>>2]=g+16;if(!(c[a+72>>2]|0))br(a,342583,100667685,343776);p=a+64|0;b=c[p>>2]|0;e=b+-16|0;f=c[e>>2]|0;if((f&-2|0)==2)br(a,342583,100667685,343776);c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];if(f&8|0){j=(c[b+-8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}Mr(a,-1);b=c[n>>2]|0;g=b-(c[p>>2]|0)|0;j=g>>4;h=j+-1|0;if(!j)Cr(a,300,-1);j=a+304|0;e=c[(c[j>>2]|0)+152>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[n>>2]=b+16;c[b>>2]=8;c[b+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[p>>2]|0;f=(c[n>>2]|0)-e>>4;b=((g|0)<16?f:0)+h|0;if(b>>>0>=f>>>0)Cr(a,376,h);Kr(a,e+(b<<4)|0,e+(f+-1<<4)|0)|0;e=c[p>>2]|0;f=(c[n>>2]|0)-e>>4;b=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);g=e+(b<<4)|0;h=e+(f+-1<<4)|0;i=c[g>>2]|0;b=c[e+(b<<4)+8>>2]|0;t6(g|0,g+16|0,h-g|0)|0;c[h>>2]=2;e=(c[n>>2]|0)+-16|0;c[n>>2]=e;if((i&8|0)!=0?(h=b+4|0,i=(c[h>>2]|0)+-1|0,c[h>>2]=i,(i|0)==0):0){qr(c[a+44>>2]|0,b);e=c[n>>2]|0}g=c[p>>2]|0;b=g;h=e-b>>4;i=g+(h+-1<<4)|0;f=h|0?i:0;f=(f|0)==0?368:f;switch(c[f>>2]|0){case 9:{if(c[c[f+8>>2]>>2]&512|0)k=31;break}case 6:{k=31;break}default:{}}if((k|0)==31){if(h>>>0<=1)Cr(a,376,-2);f=g+(h+-2<<4)|0;g=i-f|0;if(g){c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2];t6(f+16|0,f|0,g|0)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];e=c[n>>2]|0;b=c[p>>2]|0}b=e-b|0;if((b|0)<32)nr(a,342568,55);Lr(a,(b>>>4)+-2|0,0)|0;l=q;return 1}Zs(a,0);b=c[p>>2]|0;switch(c[b+-16>>2]|0){case 2:case 7:{b=0;break}case 3:{b=1;break}case 4:{b=8;break}case 5:{b=31;break}case 6:{b=5;break}case 8:{b=(c[c[b+-8>>2]>>2]&512|0)==0?7:2;break}case 9:{b=d[343254+((c[c[b+-8>>2]>>2]|0)>>>27)>>0]|0;break}case 10:{b=19;break}default:b=9}c[o>>2]=(c[(c[j>>2]|0)+(b<<2)>>2]|0)+28;cs(a,343286,o);l=q;return 1}function hv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=a+68|0;o=a+64|0;j=(c[p>>2]|0)-(c[o>>2]|0)>>4;b=bz(a)|0;m=j+b|0;if(m>>>0<b>>>0)br(a,353573,50332902,343761);n=a+56|0;a:do if(b|0){while(1){b=b+-1|0;if(!(et(a,-2,b)|0)){d=c[p>>2]|0;e=d+-16|0;c[p>>2]=e;f=e-(c[o>>2]|0)>>4;if(f>>>0<=1){b=9;break}if(e>>>0>=(c[n>>2]|0)>>>0){b=11;break}c[p>>2]=d;c[e>>2]=0;h[d+-8>>3]=+((b+j|0)>>>0);Tt(a,f+-2|0)}else Ft(a,-3,b+j|0);if(!b)break a}if((b|0)==9)Cr(a,300,-2);else if((b|0)==11)mr(a,4274)}while(0);e=c[p>>2]|0;b=c[n>>2]|0;d=e>>>0<b>>>0;b:do if(j){g=0;while(1){if(!d){b=14;break}d=c[o>>2]|0;f=e-d>>4;b=((g|0)<0?f:0)+g|0;if(b>>>0>=f>>>0){b=16;break}f=d+(b<<4)|0;c[p>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[e>>2]&8|0){f=(c[e+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Ft(a,-3,g);b=g+1|0;f=c[p>>2]|0;e=c[n>>2]|0;d=f>>>0<e>>>0;if(b>>>0<j>>>0){g=b;e=f}else{i=d;k=f;l=e;break b}}if((b|0)==14)mr(a,1093);else if((b|0)==16)Cr(a,376,g)}else{i=d;k=e;l=b}while(0);if(!i)mr(a,4274);b=k+16|0;c[p>>2]=b;c[k>>2]=0;h[k+8>>3]=+(m>>>0);if(b>>>0>=l>>>0)mr(a,1111);if((b-(c[o>>2]|0)|0)<16)Cr(a,1114,-1);c[p>>2]=k+32;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];if(c[b>>2]&8|0){m=(c[k+24>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}b=c[p>>2]|0;e=b-(c[o>>2]|0)|0;m=e>>4;f=m+-4|0;if(m>>>0<=3)Cr(a,300,-4);d=c[(c[a+304>>2]|0)+328>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0)mr(a,4153);c[p>>2]=b+16;c[b>>2]=8;c[b+8>>2]=d;g=d+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[o>>2]|0;d=(c[p>>2]|0)-g>>4;b=((e|0)<64?d:0)+f|0;if(b>>>0>=d>>>0)Cr(a,376,f);e=g+(b<<4)|0;f=g+(d+-1<<4)|0;if((d|0)==1)Cr(a,376,-2);b=d+-2|0;d=c[a+72>>2]|0;if(!d){p=1;n=g+(b<<4)|0;n=c[n>>2]|0;o=g+(b<<4)+4|0;o=c[o>>2]|0;m=g+(b<<4)+8|0;q=+h[m>>3];es(a,e,f,n,o,q,p)|0;Nt(a);return 1}p=c[d+52>>2]&1;n=g+(b<<4)|0;n=c[n>>2]|0;o=g+(b<<4)+4|0;o=c[o>>2]|0;m=g+(b<<4)+8|0;q=+h[m>>3];es(a,e,f,n,o,q,p)|0;Nt(a);return 1}function iv(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;b=c[a+72>>2]|0;if(!b)br(a,342568,100663686,352400);if(!(c[b+52>>2]&4))br(a,342568,100663686,352400);nu(a,0);j=a+68|0;d=c[j>>2]|0;b=c[a+64>>2]|0;b=(d|0)!=(b|0)?b:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(f=+h[b+8>>3],(K4(f)|0)!=0):0){if(f<-2147483648.0)br(a,352373,50332312,343761);b=~~f;if(!(f>2147483647.0))if((b|0)<0)br(a,352373,50332312,343761);else g=b;else g=2147483647}else g=0;e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,5237);if(g>>>0>2147483646)br(a,342583,50336889,342539);d=a+44|0;b=ts(c[d>>2]|0,g,0,i)|0;if(!b)er(a,342583,5246);g=c[j>>2]|0;c[g>>2]=10;c[g+8>>2]=b;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[j>>2]|0;i=g+16|0;c[j>>2]=i;g=c[g+8>>2]|0;if(i>>>0>=(c[e>>2]|0)>>>0)mr(a,4988);e=Or(a,60)|0;b=c[d>>2]|0;c[e>>2]=-1744822143;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+256>>2]|0;c[e+20>>2]=b;if(!b){a=c[j>>2]|0;c[a>>2]=9;a=a+8|0;c[a>>2]=e;a=e+4|0;i=c[a>>2]|0;i=i+1|0;c[a>>2]=i;a=c[j>>2]|0;a=a+16|0;c[j>>2]=a;a=e+40|0;c[a>>2]=g;a=g+4|0;j=c[a>>2]|0;j=j+1|0;c[a>>2]=j;a=g+16|0;a=c[a>>2]|0;j=e+52|0;c[j>>2]=a;l=k;return 1}a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=c[j>>2]|0;c[a>>2]=9;a=a+8|0;c[a>>2]=e;a=e+4|0;i=c[a>>2]|0;i=i+1|0;c[a>>2]=i;a=c[j>>2]|0;a=a+16|0;c[j>>2]=a;a=e+40|0;c[a>>2]=g;a=g+4|0;j=c[a>>2]|0;j=j+1|0;c[a>>2]=j;a=g+16|0;a=c[a>>2]|0;j=e+52|0;c[j>>2]=a;l=k;return 1}function jv(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+68|0;g=c[f>>2]|0;d=c[b+64>>2]|0;d=(g|0)!=(d|0)?d:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 10:{d=1;break}case 9:{d=c[d+8>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e&8192|0)!=0):0)d=((e&-134217728|0)==-1610612736|(a[d+58>>0]|0)!=0)&1;else d=0;break}default:d=0}if(g>>>0<(c[b+56>>2]|0)>>>0){c[f>>2]=g+16;c[g>>2]=4;c[g+8>>2]=d;return 1}else mr(b,4185);return 0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;is(a,0)|0;b=c[a+72>>2]|0;if(!b)return 1;if(!(c[b+52>>2]&4))return 1;g=a+68|0;d=c[g>>2]|0;e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4361);c[g>>2]=d+16;f=a+64|0;b=c[f>>2]|0;h=b+-16|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];if(c[h>>2]&8|0){h=(c[b+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}d=c[g>>2]|0;h=c[d+-8>>2]|0;c[h>>2]=c[h>>2]&134217727|671088640;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,1093);b=c[f>>2]|0;if((d|0)==(b|0))Cr(a,376,0);c[g>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[d>>2]&8|0){h=(c[d+8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}h=c[f>>2]|0;b=(c[g>>2]|0)-h>>4;b=b>>>0>1?h+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[a+304>>2]|0)+404>>2]|0,0);return 1}function lv(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c[a+72>>2]|0;g=(d|0)==0;do if(!g){e=c[d+16>>2]|0;if(!e){l=(c[d+4>>2]|0)>>>8<<24>>24;break}if(c[e>>2]&4096)l=b[e+46>>1]|0;else l=0}else l=0;while(0);m=a+68|0;d=c[m>>2]|0;i=a+56|0;if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,4361);c[m>>2]=d+16;k=a+64|0;if(!g?(f=c[k>>2]|0,h=f+-16|0,c[d>>2]=c[h>>2],c[d+4>>2]=c[h+4>>2],c[d+8>>2]=c[h+8>>2],c[d+12>>2]=c[h+12>>2],c[h>>2]&8|0):0){h=(c[f+-8>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1}e=c[m>>2]|0;d=c[k>>2]|0;g=e-d|0;f=g>>4;h=f+-1|0;d=f|0?d+(h<<4)|0:0;switch(c[d>>2]|0){case 4:break;case 9:{j=12;break}default:nr(a,353556,39)}if((j|0)==12){if((c[c[d+8>>2]>>2]&-134217728|0)!=671088640)nr(a,353556,39);if(!f)Cr(a,300,-1);d=c[(c[a+304>>2]|0)+404>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[m>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;f=(c[m>>2]|0)-e>>4;d=((g|0)<16?f:0)+h|0;if(d>>>0>=f>>>0)Cr(a,376,h);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[k>>2]|0;f=(c[m>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);i=e+(d<<4)|0;j=e+(f+-1<<4)|0;k=c[i>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(k&8|0?(k=d+4|0,m=(c[k>>2]|0)+-1|0,c[k>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,d)}if(!l)return 1;Xr(a,-1)|0;return 1}function mv(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c[a+72>>2]|0;do if(d){e=c[d+16>>2]|0;if(!e)d=(c[d+4>>2]|0)>>>8<<24>>24;else{if(!(c[e>>2]&4096)){d=0;m=14;break}d=b[e+46>>1]|0}if(!(d&2))m=14;else{j=a+68|0;i=a+64|0;e=c[i>>2]|0;if((c[j>>2]|0)==(e|0))Cr(a,376,0);switch(c[e>>2]|0){case 9:{f=c[e+8>>2]|0;if(!(c[f>>2]&8192))br(a,352373,100663514,352389);else{g=f;l=e}break}case 10:{Mr(a,0);l=c[i>>2]|0;g=c[l+8>>2]|0;break}default:br(a,352373,100663514,352389)}n=d;k=g;g=j;f=i;i=j;e=1;d=l}}else{d=0;m=14}while(0);if((m|0)==14){k=gy(a,3)|0;m=a+64|0;i=a+68|0;n=d;g=i;f=m;e=0;d=c[m>>2]|0}if(e>>>0>=(c[g>>2]|0)-d>>4>>>0)Cr(a,376,e);switch(c[d+(e<<4)>>2]|0){case 9:{d=c[d+(e<<4)+8>>2]|0;if(!(c[d>>2]&8192))br(a,352373,100663514,352389);else o=d;break}case 10:{Mr(a,e);o=c[(c[f>>2]|0)+(e<<4)+8>>2]|0;break}default:br(a,352373,100663514,352389)}f=c[k+48>>2]|0;g=c[k+52>>2]|0;d=c[k+40>>2]|0;if((g+f|0)>>>0<=(c[d+16>>2]|0)>>>0?(q=c[o+48>>2]|0,r=c[o+52>>2]|0,p=c[o+40>>2]|0,(r+q|0)>>>0<=(c[p+16>>2]|0)>>>0):0){if(!(c[d>>2]&128))e=d+24|0;else e=c[d+20>>2]|0;if(!(c[p>>2]&128))d=p+24|0;else d=c[p+20>>2]|0;d=f3(e+f|0,d+q|0,g>>>0<=r>>>0?g:r)|0;if((d|0)>=0)if(!d)d=g>>>0<r>>>0?-1:g>>>0>r>>>0&1;else d=1;else d=-1}else d=-1;e=c[i>>2]|0;f=e>>>0<(c[a+56>>2]|0)>>>0;if(!(n&1)){if(!f)mr(a,4185);c[i>>2]=e+16;c[e>>2]=4;c[e+8>>2]=(d|0)==0&1;return 1}else{if(!f)mr(a,4244);c[i>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(d|0);return 1}return 0}function nv(e){e=e|0;var f=0.0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;i=c[e+72>>2]|0;do if(i){k=c[i+16>>2]|0;if(!k){m=(c[i+4>>2]|0)>>>8<<24>>24;break}if(c[k>>2]&4096)m=b[k+46>>1]|0;else m=0}else m=0;while(0);v=m&8;y=m&16;k=gy(e,3)|0;l=c[k+52>>2]|0;if(!(m&32)){u=v;A=is(e,(m&7|0)==5?2:1)|0}else{u=(is(e,1)|0)==0&1;A=0}nu(e,0);B=e+68|0;o=c[B>>2]|0;p=c[e+64>>2]|0;q=p;i=(o|0)!=(q|0)?p:0;i=(i|0)==0?368:i;C=o;if((c[i>>2]|0)==0?(f=+h[i+8>>3],(K4(f)|0)!=0):0){if(!(f<-2147483648.0)){i=~~f;if(!(f>2147483647.0)){if((i|0)>=0){x=i;r=14}}else{x=2147483647;r=14}}}else{x=0;r=14}a:do if((r|0)==14?(n=c[k+40>>2]|0,t=c[k+48>>2]|0,r=c[n+16>>2]|0,w=r-t|0,w=r>>>0<t>>>0?0:w>>>0>=l>>>0?l:w,n|0):0){if(!(c[n>>2]&128))i=n+24|0;else i=c[n+20>>2]|0;k=i+t|0;switch(m&7){case 0:{if((x+1|0)>>>0>w>>>0)break a;i=a[k+x>>0]|0;k=C>>>0<(c[e+56>>2]|0)>>>0;if(!y){if(!k)mr(e,4274);f=+(i&255);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else{if(!k)mr(e,4244);f=+(i<<24>>24);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}}case 1:{if((x+2|0)>>>0>w>>>0)break a;k=k+x|0;k=d[k>>0]|d[k+1>>0]<<8;i=o6(k|0)|0;i=(u|0)==0?k:i;k=C>>>0<(c[e+56>>2]|0)>>>0;if(!y){if(!k)mr(e,4274);f=+(i&65535);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else{if(!k)mr(e,4244);f=+(i<<16>>16);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}}case 2:{if((x+4|0)>>>0>w>>>0)break a;k=k+x|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;i=p6(k|0)|0;i=(u|0)==0?k:i;k=C>>>0<(c[e+56>>2]|0)>>>0;if(!y){if(!k)mr(e,4274);f=+(i>>>0);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else{if(!k)mr(e,4244);f=+(i|0);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}}case 3:{if((x+4|0)>>>0>w>>>0)break a;k=k+x|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;i=p6(k|0)|0;if(C>>>0<(c[e+56>>2]|0)>>>0){f=(c[j>>2]=(u|0)==0?k:i,+g[j>>2]);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else mr(e,4215);break}case 4:{if((x+8|0)>>>0>w>>>0)break a;i=k+x|0;a[j>>0]=a[i>>0];a[j+1>>0]=a[i+1>>0];a[j+2>>0]=a[i+2>>0];a[j+3>>0]=a[i+3>>0];a[j+4>>0]=a[i+4>>0];a[j+5>>0]=a[i+5>>0];a[j+6>>0]=a[i+6>>0];a[j+7>>0]=a[i+7>>0];f=+h[j>>3];h[j>>3]=f;i=c[j+4>>2]|0;if(u){y=p6(c[j>>2]|0)|0;x=p6(i|0)|0;c[j>>2]=x;c[j+4>>2]=y;f=+h[j>>3]}if(C>>>0<(c[e+56>>2]|0)>>>0){e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else mr(e,4215);break}case 5:{i=o-q>>4>>>0>1?p+16|0:0;i=(i|0)==0?368:i;if(c[i>>2]|0)break a;f=+h[i+8>>3];if(f<-2147483648.0|(K4(f)|0)==0)break a;p=~~f;if(f>2147483647.0)break a;i=p+-1|0;if(i>>>0>5|(p+x|0)>>>0>w>>>0)break a;m=k+x|0;n=(v|0)==0;l=(v>>>2)+-1|0;k=n?-1:p;i=n?i:0;n=0;o=0;do{x=n6(n|0,o|0,8)|0;o=z;n=d[m+i>>0]|x;i=l+i|0}while((i|0)!=(k|0));k=(y|0)==0;i=64-(p<<3)|0;y=n6(n|0,o|0,i|0)|0;i=l6(y|0,z|0,i|0)|0;if(C>>>0<(c[e+56>>2]|0)>>>0){f=+((k?n:i)>>>0)+4294967296.0*+((k?o:z)|0);e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else mr(e,4215);break}default:break a}}while(0);if(!A)br(e,352373,50334151,343797);if(C>>>0<(c[e+56>>2]|0)>>>0){f=s;e=C+16|0;c[B>>2]=e;c[C>>2]=0;e=C+8|0;h[e>>3]=f;return 1}else mr(e,4286);return 0}function ov(e){e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;z=A;f=c[e+72>>2]|0;do if(f){g=c[f+16>>2]|0;if(!g){u=(c[f+4>>2]|0)>>>8<<24>>24;break}if(c[g>>2]&4096)u=b[g+46>>1]|0;else u=0}else u=0;while(0);y=e+64|0;f=c[y>>2]|0;w=(u&2|0)!=0;if(!((c[f+-16>>2]|0)!=10|w^1)){p=c[f+-8>>2]|0;n=c[p+16>>2]|0;nu(e,0);q=e+68|0;f=c[q>>2]|0;i=c[y>>2]|0;j=i;g=(f|0)!=(j|0)?i:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==0?(m=+h[g+8>>3],(K4(m)|0)!=0):0)if(!(m<-2147483648.0))if(m>2147483647.0)g=2147483647;else g=~~m;else g=-2147483648;else g=0;k=((g|0)<0?n:0)+g|0;x=f-j>>4>>>0>1?i+16|0:0;if((c[((x|0)==0?368:x)>>2]|0)==2)g=n;else{nu(e,1);i=c[q>>2]|0;f=c[y>>2]|0;f=i-f>>4>>>0>1?f+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(r=+h[f+8>>3],(K4(r)|0)!=0):0)if(!(r<-2147483648.0))if(r>2147483647.0)f=2147483647;else f=~~r;else f=-2147483648;else f=0;g=((f|0)<0?n:0)+f|0;f=i}i=(k|0)<0?0:(k|0)>(n|0)?n:k;g=((g|0)<(i|0)?i:(g|0)>(n|0)?n:g)-i|0;if(f>>>0>=(c[e+56>>2]|0)>>>0)mr(e,5237);if(g>>>0>2147483646)br(e,342583,50336889,342539);f=ts(c[e+44>>2]|0,g,4,z)|0;if(!f)er(e,342583,5246);e=c[q>>2]|0;c[e>>2]=10;c[e+8>>2]=f;e=f+4|0;c[e>>2]=(c[e>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16;if(!(c[p>>2]&128))f=p+24|0;else f=c[p+20>>2]|0;s6(c[z>>2]|0,f+i|0,g|0)|0;l=A;return 1}v=gy(e,3)|0;t=v+56|0;n=d[t>>0]|0;p=c[v+52>>2]>>n;nu(e,0);x=e+68|0;g=c[x>>2]|0;i=c[y>>2]|0;j=i;f=(g|0)!=(j|0)?i:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(o=+h[f+8>>3],(K4(o)|0)!=0):0)if(!(o<-2147483648.0))if(o>2147483647.0)f=2147483647;else f=~~o;else f=-2147483648;else f=0;k=((f|0)<0?p:0)+f|0;q=g-j>>4>>>0>1?i+16|0:0;if((c[((q|0)==0?368:q)>>2]|0)==2)f=p;else{nu(e,1);g=c[x>>2]|0;f=c[y>>2]|0;f=g-f>>4>>>0>1?f+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(s=+h[f+8>>3],(K4(s)|0)!=0):0)if(!(s<-2147483648.0))if(s>2147483647.0)f=2147483647;else f=~~s;else f=-2147483648;else f=0;f=((f|0)<0?p:0)+f|0}k=(k|0)<0?0:(k|0)>(p|0)?p:k;q=k<<n;k=(((f|0)<(k|0)?k:(f|0)>(p|0)?p:f)<<n)-q|0;f=(c[v>>2]|0)>>>27;i=u&4|0?50:d[353545+(f+-19)>>0]|0;j=e+56|0;if(g>>>0>=(c[j>>2]|0)>>>0)mr(e,4988);n=Or(e,60)|0;p=e+44|0;g=c[p>>2]|0;c[n>>2]=f<<27|8321;f=g+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=n;c[n+12>>2]=0;c[n+8>>2]=g;c[f>>2]=n;f=c[e+100+(i<<2)>>2]|0;c[n+20>>2]=f;if(f|0){i=f+4|0;c[i>>2]=(c[i>>2]|0)+1}i=c[x>>2]|0;c[i>>2]=9;c[i+8>>2]=n;i=n+4|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[x>>2]|0)+16|0;c[x>>2]=i;a[n+56>>0]=a[t>>0]|0;a[n+57>>0]=a[v+57>>0]|0;a[n+58>>0]=u&1;g=v+40|0;f=c[g>>2]|0;if(!f)nr(e,352373,1994);if(!w){c[n+40>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[n+52>>2]=k;c[n+48>>2]=(c[v+48>>2]|0)+q;f=c[v+44>>2]|0;c[n+44>>2]=f;if(!f){l=A;return 1}e=f+4|0;c[e>>2]=(c[e>>2]|0)+1;l=A;return 1}if(i>>>0>=(c[j>>2]|0)>>>0)mr(e,5237);if(k>>>0>2147483646)br(e,342583,50336889,342539);f=ts(c[p>>2]|0,k,0,z)|0;if(!f)er(e,342583,5246);i=c[x>>2]|0;c[i>>2]=10;c[i+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+16;f=c[g>>2]|0;i=c[v+48>>2]|0;g=c[f+16>>2]|0;j=g-i|0;if(!(c[f>>2]&128))f=f+24|0;else f=c[f+20>>2]|0;s6(c[z>>2]|0,f+i+q|0,(g>>>0<i>>>0?0:j>>>0>=k>>>0?k:j)|0)|0;f=c[x>>2]|0;g=f+-8|0;z=c[g>>2]|0;c[n+40>>2]=z;z=z+4|0;c[z>>2]=(c[z>>2]|0)+1;c[n+52>>2]=k;if((f|0)==(c[y>>2]|0))br(e,342583,50337407,342599);z=f+-16|0;c[x>>2]=z;e=c[f+-16>>2]|0;f=c[g>>2]|0;c[z>>2]=2;if(!(e&8)){l=A;return 1}z=f+4|0;e=(c[z>>2]|0)+-1|0;c[z>>2]=e;if(e|0){l=A;return 1}qr(c[p>>2]|0,f);l=A;return 1}function pv(e){e=e|0;var f=0,i=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+32|0;o=H+8|0;C=H;f=c[e+72>>2]|0;do if(f){k=c[f+16>>2]|0;if(!k){u=(c[f+4>>2]|0)>>>8<<24>>24;break}if(c[k>>2]&4096)u=b[k+46>>1]|0;else u=0}else u=0;while(0);p=u&7;v=u&8;q=gy(e,3)|0;s=c[q+52>>2]|0;F=(u&32|0)!=0;a:do if(F){f=is(e,2)|0;k=e+68|0;m=e+64|0;n=c[m>>2]|0;switch((c[k>>2]|0)-n>>4|0){case 0:{Cr(e,376,0);break}case 1:{Cr(e,376,1);break}default:{y=n+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];y=(f|0)==0&1;w=0;x=k;D=m;G=k;break a}}}else{G=e+68|0;y=v;w=is(e,(p|0)==5?3:2)|0;x=G;D=e+64|0}while(0);nu(e,1);m=c[x>>2]|0;n=c[D>>2]|0;o=n;k=m-o>>4;f=k>>>0>1?n+16|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(i=+h[f+8>>3],(K4(i)|0)!=0):0)if(!(i<-2147483648.0))if(i>2147483647.0)E=2147483647;else E=~~i;else E=-2147483648;else E=0;if((p|0)==5){f=k>>>0>2?n+32|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==0?(r=+h[f+8>>3],(K4(r)|0)!=0):0)if(!(r<-2147483648.0)){k=~~r;if(!(r>2147483647.0)){if(!((E|0)<0|(k+-1|0)>>>0>5))t=24}else k=2147483647}else k=-2147483648;else k=0}else{k=d[353539+p>>0]|0;if((E|0)>=0)t=24}b:do if((t|0)==24){if((m|0)==(o|0))Cr(e,300,0);r=+Ar(e,n);o=c[D>>2]|0;t=c[o>>2]|0;p=o+8|0;f=c[p>>2]|0;c[o>>2]=0;h[p>>3]=r;if(t&8|0?(p=f+4|0,t=(c[p>>2]|0)+-1|0,c[p>>2]=t,(t|0)==0):0)qr(c[e+44>>2]|0,f);f=c[q+40>>2]|0;n=c[q+48>>2]|0;t=c[f+16>>2]|0;m=t-n|0;m=t>>>0<n>>>0?0:m>>>0>=s>>>0?s:m;if(f){if(!(c[f>>2]&128))f=f+24|0;else f=c[f+20>>2]|0;n=f+n|0;switch(u&7){case 0:{if((E+1|0)>>>0>m>>>0)break b;a[n+E>>0]=rt(e,0)|0;break}case 1:{if((E+2|0)>>>0>m>>>0)break b;x=(rt(e,0)|0)&65535;D=o6(x|0)|0;y=(y|0)==0?x:D;b[C>>1]=y;D=n+E|0;a[D>>0]=y;a[D+1>>0]=y>>8;break}case 2:{if((E+4|0)>>>0>m>>>0)break b;x=rt(e,0)|0;D=p6(x|0)|0;y=(y|0)==0?x:D;c[C>>2]=y;D=n+E|0;a[D>>0]=y;a[D+1>>0]=y>>8;a[D+2>>0]=y>>16;a[D+3>>0]=y>>24;break}case 3:{if((E+4|0)>>>0>m>>>0)break b;f=c[D>>2]|0;if((c[x>>2]|0)==(f|0))Cr(e,300,0);i=+Ar(e,f);w=c[D>>2]|0;D=c[w>>2]|0;x=w+8|0;f=c[x>>2]|0;c[w>>2]=0;h[x>>3]=i;if(D&8|0?(x=f+4|0,D=(c[x>>2]|0)+-1|0,c[x>>2]=D,(D|0)==0):0)qr(c[e+44>>2]|0,f);r=i;g[C>>2]=r;f=(g[j>>2]=r,c[j>>2]|0);if(y){f=p6(f|0)|0;c[C>>2]=f}D=n+E|0;a[D>>0]=f;a[D+1>>0]=f>>8;a[D+2>>0]=f>>16;a[D+3>>0]=f>>24;break}case 4:{if((E+8|0)>>>0>m>>>0)break b;f=c[D>>2]|0;if((c[x>>2]|0)==(f|0))Cr(e,300,0);i=+Ar(e,f);w=c[D>>2]|0;D=c[w>>2]|0;x=w+8|0;f=c[x>>2]|0;c[w>>2]=0;h[x>>3]=i;if(D&8|0?(x=f+4|0,D=(c[x>>2]|0)+-1|0,c[x>>2]=D,(D|0)==0):0)qr(c[e+44>>2]|0,f);h[C>>3]=i;h[j>>3]=i;f=c[j+4>>2]|0;if(y){D=p6(c[j>>2]|0)|0;c[C>>2]=p6(f|0)|0;c[C+4>>2]=D;i=+h[C>>3]}D=n+E|0;h[j>>3]=i;a[D>>0]=a[j>>0];a[D+1>>0]=a[j+1>>0];a[D+2>>0]=a[j+2>>0];a[D+3>>0]=a[j+3>>0];a[D+4>>0]=a[j+4>>0];a[D+5>>0]=a[j+5>>0];a[D+6>>0]=a[j+6>>0];a[D+7>>0]=a[j+7>>0];break}case 5:{if((k+E|0)>>>0>m>>>0)break b;p=(v|0)==0;m=p?-1:k;q=(v>>>2^2)+-1|0;p=p?k+-1|0:0;f=c[D>>2]|0;if((c[x>>2]|0)==(f|0))Cr(e,300,0);i=+Ar(e,f);y=c[D>>2]|0;D=c[y>>2]|0;C=y+8|0;f=c[C>>2]|0;c[y>>2]=0;h[C>>3]=i;if(D&8|0?(C=f+4|0,D=(c[C>>2]|0)+-1|0,c[C>>2]=D,(D|0)==0):0)qr(c[e+44>>2]|0,f);o=n+E|0;n=~~i>>>0;f=+B(i)>=1.0?(i>0.0?~~+P(+A(i/4294967296.0),4294967295.0)>>>0:~~+N((i-+(~~i>>>0))/4294967296.0)>>>0):0;while(1){m=q+m|0;a[o+m>>0]=n;n=l6(n|0,f|0,8)|0;if((m|0)==(p|0))break;else f=z}break}default:break b}if(F){e=0;l=H;return e|0}f=c[G>>2]|0;if(f>>>0>=(c[e+56>>2]|0)>>>0)mr(e,4274);c[G>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+((k+E|0)>>>0);e=1;l=H;return e|0}}while(0);if(!w)br(e,352373,50334425,343797);if(F){e=0;l=H;return e|0}f=c[G>>2]|0;if(f>>>0>=(c[e+56>>2]|0)>>>0)mr(e,4274);c[G>>2]=f+16;c[f>>2]=0;h[f+8>>3]=+((k+E|0)>>>0);e=1;l=H;return e|0}function qv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0;b=c[a+72>>2]|0;if(!b)br(a,342568,100663686,352400);if(!(c[b+52>>2]&4))br(a,342568,100663686,352400);n=a+68|0;j=a+64|0;b=c[j>>2]|0;if((c[n>>2]|0)==(b|0))Cr(a,376,0);switch(c[b>>2]|0){case 9:{b=c[b+8>>2]|0;d=c[b>>2]|0;if(!(d&8192))br(a,352373,100663514,352389);else{q=b;e=d}break}case 10:{Mr(a,0);e=c[(c[j>>2]|0)+8>>2]|0;q=e;e=c[e>>2]|0;break}default:br(a,352373,100663514,352389)}if((e&-134217728|0)!=-1744830464)nr(a,352373,1068);nu(a,1);f=c[n>>2]|0;d=c[j>>2]|0;e=f-d>>4;b=e>>>0>1?d+16|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(i=+h[b+8>>3],(K4(i)|0)!=0):0){if(i<-2147483648.0)br(a,352373,50331941,343797);b=~~i;if(!(i>2147483647.0))if((b|0)<0)br(a,352373,50331941,343797);else o=b;else o=2147483647}else o=0;g=q+52|0;b=c[g>>2]|0;if(b>>>0<o>>>0)br(a,352373,50331941,343797);e=e>>>0>2?d+32|0:0;if((c[((e|0)==0?368:e)>>2]|0)!=2){nu(a,2);d=c[n>>2]|0;b=c[j>>2]|0;b=d-b>>4>>>0>2?b+32|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==0?(l=+h[b+8>>3],(K4(l)|0)!=0):0){if(l<-2147483648.0)br(a,352373,50331941,343797);b=~~l;if(!(l>2147483647.0))if((b|0)<0)br(a,352373,50331941,343797);else k=b;else k=2147483647;if(k>>>0>((c[g>>2]|0)-o|0)>>>0)br(a,352373,50331941,343797);else{p=k;m=d}}else{p=0;m=d}}else{p=b-o|0;m=f}if(m>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4988);e=Or(a,60)|0;b=c[a+44>>2]|0;c[e>>2]=-1610604415;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[a+260>>2]|0;c[e+20>>2]=b;if(b|0){m=b+4|0;c[m>>2]=(c[m>>2]|0)+1}b=c[n>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+16;b=c[q+40>>2]|0;if(!b)nr(a,352373,1083);else{c[e+40>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;c[e+48>>2]=(c[q+48>>2]|0)+o;c[e+52>>2]=p;c[e+44>>2]=q;a=q+4|0;c[a>>2]=(c[a>>2]|0)+1;return 1}return 0}
  37. function FD(b){b=b|0;var d=0,e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+8384|0;R=Y+128|0;Q=Y+120|0;P=Y+112|0;O=Y+104|0;V=Y+96|0;U=Y+88|0;T=Y+80|0;S=Y+72|0;N=Y+64|0;M=Y+56|0;X=Y+40|0;W=Y+136|0;F=Y+8368|0;E=Y+8364|0;K=Y+8360|0;J=Y+8356|0;L=Y;G=Y+8352|0;H=Y+8348|0;I=Y+8344|0;i=b+16|0;e=c[c[i>>2]>>2]|0;f=e+16|0;k=b+8|0;d=c[k>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;u=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[i>>2]>>2]|0;d=c[k>>2]|0}u=e+16|0;d=u>>>0<d>>>0?u:412368;oA(b,d);u=5;break}default:{qB(b,1,361511);d=0}}if((u|0)==5)d=(c[d>>2]|0)+16|0;c[E>>2]=d;c[F>>2]=b;x=F+4|0;c[x>>2]=1;c[F+8>>2]=1;v=c[k>>2]|0;c[v+8>>2]=0;c[k>>2]=v+16;v=W+12|0;c[v>>2]=b;A=W+16|0;c[W>>2]=A;y=W+8|0;c[y>>2]=0;w=W+4|0;c[w>>2]=8192;if(!(a[d>>0]|0)){e=A;d=0}else{q=1;e=0;while(1){p=ID(F,e,E,K,J)|0;o=c[J>>2]|0;r=c[K>>2]|0;t=o+e+r|0;d=o+-1|0;c[J>>2]=d;if((o|0)>0){n=0-o|0;while(1){e=c[y>>2]|0;f=c[w>>2]|0;if(e>>>0>=f>>>0?(B=c[v>>2]|0,(f|0)==(e|0)):0){m=e<<1;m=(m|0)==(e|0)?e+1|0:m;if(m>>>0<e>>>0)oB(B,356281,M);i=zz(B,m)|0;s6(i|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){k=B+8|0;f=c[k>>2]|0;e=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[X>>2];c[e+4>>2]=c[X+4>>2];c[e+8>>2]=c[X+8>>2];c[e+12>>2]=c[X+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0);c[k>>2]=(c[k>>2]|0)+-16}c[W>>2]=i;c[w>>2]=m;e=c[y>>2]|0}c[y>>2]=e+1;a[(c[W>>2]|0)+e>>0]=0;if((d|0)>0)d=d+-1|0;else break}c[J>>2]=(n|0)>-1?o+-2|0:-1}s=q+1|0;switch(p|0){case 0:{o=sB(b,s)|0;p=z;if((r|0)<8?(q=n6(1,0,(r<<3)+-1|0)|0,n=z,m=c6(0,0,q|0,n|0)|0,k=z,!(((p|0)>(k|0)|(p|0)==(k|0)&o>>>0>=m>>>0)&((p|0)<(n|0)|(p|0)==(n|0)&o>>>0<q>>>0))):0)nB(b,s,358243)|0;n=c[x>>2]|0;f=c[v>>2]|0;e=c[w>>2]|0;d=c[y>>2]|0;if((e-d|0)>>>0<r>>>0){k=e<<1;k=(k-d|0)>>>0<r>>>0?d+r|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<r>>>0)oB(f,356281,N);e=zz(f,k)|0;s6(e|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=f+8|0;f=c[i>>2]|0;d=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];f=f+16|0;d=d+-16|0}while(f>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=e;c[w>>2]=k;d=c[y>>2]|0}else e=c[W>>2]|0;m=e+d|0;i=(n|0)!=0;k=r+-1|0;a[m+(i?0:k)>>0]=o;do if((r|0)>1){if(i){d=o;e=p;f=1;while(1){d=m6(d|0,e|0,8)|0;a[m+f>>0]=d;f=f+1|0;if((f|0)==(r|0))break;else e=z}}else{d=o;e=p;f=1;while(1){d=m6(d|0,e|0,8)|0;a[m+(k-f)>>0]=d;f=f+1|0;if((f|0)==(r|0))break;else e=z}}if((p|0)<0&(r|0)>8)if(i){u6(m+8|0,-1,r+-8|0)|0;break}else{d=8;do{a[m+(k-d)>>0]=-1;d=d+1|0}while((d|0)!=(r|0))}}while(0);c[y>>2]=(c[y>>2]|0)+r;d=s;e=t;break}case 1:{f=sB(b,s)|0;d=z;if((r|0)<8?(q=n6(1,0,r<<3|0)|0,p=z,!(d>>>0<p>>>0|(d|0)==(p|0)&f>>>0<q>>>0)):0)nB(b,s,358260)|0;o=c[x>>2]|0;k=c[v>>2]|0;i=c[w>>2]|0;e=c[y>>2]|0;if((i-e|0)>>>0<r>>>0){n=i<<1;n=(n-e|0)>>>0<r>>>0?e+r|0:n;if(n>>>0<e>>>0|(n-e|0)>>>0<r>>>0)oB(k,356281,S);i=zz(k,n)|0;s6(i|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){m=k+8|0;k=c[m>>2]|0;e=k+-16|0;k=k+-32|0;do{c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=c[X>>2];c[e+4>>2]=c[X+4>>2];c[e+8>>2]=c[X+8>>2];c[e+12>>2]=c[X+12>>2];k=k+16|0;e=e+-16|0}while(k>>>0<e>>>0);c[m>>2]=(c[m>>2]|0)+-16}c[W>>2]=i;c[w>>2]=n;e=c[y>>2]|0}else i=c[W>>2]|0;k=i+e|0;e=(o|0)!=0;i=r+-1|0;a[k+(e?0:i)>>0]=f;if((r|0)>1)if(e){e=1;while(1){f=m6(f|0,d|0,8)|0;a[k+e>>0]=f;e=e+1|0;if((e|0)==(r|0))break;else d=z}}else{e=1;while(1){f=m6(f|0,d|0,8)|0;a[k+(i-e)>>0]=f;e=e+1|0;if((e|0)==(r|0))break;else d=z}}c[y>>2]=(c[y>>2]|0)+r;d=s;e=t;break}case 2:{f=c[v>>2]|0;e=c[w>>2]|0;d=c[y>>2]|0;if((e-d|0)>>>0<r>>>0){k=e<<1;k=(k-d|0)>>>0<r>>>0?d+r|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<r>>>0)oB(f,356281,T);e=zz(f,k)|0;s6(e|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=f+8|0;f=c[i>>2]|0;d=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];f=f+16|0;d=d+-16|0}while(f>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=e;c[w>>2]=k;d=c[y>>2]|0}else e=c[W>>2]|0;d=e+d|0;j=+rB(b,s);if((r|0)==4)g[L>>2]=j;else h[L>>3]=j;e=(r|0)==0;if((c[x>>2]|0)==1){if(!e){e=r;f=L;while(1){e=e+-1|0;a[d>>0]=a[f>>0]|0;if(!e)break;else{f=f+1|0;d=d+1|0}}}}else if(!e){f=d+(r+-1)|0;d=r;e=L;while(1){d=d+-1|0;a[f>>0]=a[e>>0]|0;if(!d)break;else{f=f+-1|0;e=e+1|0}}}c[y>>2]=(c[y>>2]|0)+(c[K>>2]|0);d=s;e=t;break}case 3:{m=kz(b,s,G)|0;if(!m)qB(b,s,361511);if((c[G>>2]|0)!=(r|0))nB(b,s,358278)|0;f=c[v>>2]|0;e=c[w>>2]|0;d=c[y>>2]|0;if((e-d|0)>>>0<r>>>0){k=e<<1;k=(k-d|0)>>>0<r>>>0?d+r|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<r>>>0)oB(f,356281,U);e=zz(f,k)|0;s6(e|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=f+8|0;f=c[i>>2]|0;d=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];f=f+16|0;d=d+-16|0}while(f>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=e;c[w>>2]=k;d=c[y>>2]|0}else e=c[W>>2]|0;s6(e+d|0,m|0,r|0)|0;c[y>>2]=(c[y>>2]|0)+r;d=s;e=t;break}case 4:{o=kz(b,s,H)|0;if(!o)qB(b,s,361511);if((r|0)<=3?(c[H>>2]|0)>>>0>=1<<(r<<3)>>>0:0)nB(b,s,358291)|0;n=c[H>>2]|0;m=c[x>>2]|0;f=c[v>>2]|0;e=c[w>>2]|0;d=c[y>>2]|0;if((e-d|0)>>>0<r>>>0){k=e<<1;k=(k-d|0)>>>0<r>>>0?d+r|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<r>>>0)oB(f,356281,V);e=zz(f,k)|0;s6(e|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=f+8|0;f=c[i>>2]|0;d=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];f=f+16|0;d=d+-16|0}while(f>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=e;c[w>>2]=k;d=c[y>>2]|0}else e=c[W>>2]|0;k=e+d|0;d=(m|0)!=0;i=r+-1|0;a[k+(d?0:i)>>0]=n;if((r|0)>1)if(d){d=n;e=0;f=1;while(1){d=m6(d|0,e|0,8)|0;a[k+f>>0]=d;f=f+1|0;if((f|0)==(r|0))break;else e=z}}else{d=n;e=0;f=1;while(1){d=m6(d|0,e|0,8)|0;a[k+(i-f)>>0]=d;f=f+1|0;if((f|0)==(r|0))break;else e=z}}d=(c[y>>2]|0)+r|0;c[y>>2]=d;m=c[H>>2]|0;f=c[v>>2]|0;e=c[w>>2]|0;if((e-d|0)>>>0<m>>>0){k=e<<1;k=(k-d|0)>>>0<m>>>0?d+m|0:k;if(k>>>0<d>>>0|(k-d|0)>>>0<m>>>0)oB(f,356281,O);e=zz(f,k)|0;s6(e|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=f+8|0;f=c[i>>2]|0;d=f+-16|0;f=f+-32|0;do{c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[X+8>>2]=c[f+8>>2];c[X+12>>2]=c[f+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];f=f+16|0;d=d+-16|0}while(f>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=e;c[w>>2]=k;d=c[y>>2]|0}else e=c[W>>2]|0;s6(e+d|0,o|0,m|0)|0;c[y>>2]=(c[y>>2]|0)+m;d=s;e=(c[H>>2]|0)+t|0;break}case 5:{n=kz(b,s,I)|0;if(!n)qB(b,s,361511);d=r4(n)|0;if((d|0)!=(c[I>>2]|0)){nB(b,s,358332)|0;d=c[I>>2]|0}i=c[v>>2]|0;f=c[w>>2]|0;e=c[y>>2]|0;if((f-e|0)>>>0<d>>>0){m=f<<1;m=(m-e|0)>>>0<d>>>0?e+d|0:m;if(m>>>0<e>>>0|(m-e|0)>>>0<d>>>0)oB(i,356281,P);f=zz(i,m)|0;s6(f|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){k=i+8|0;i=c[k>>2]|0;e=i+-16|0;i=i+-32|0;do{c[X>>2]=c[i>>2];c[X+4>>2]=c[i+4>>2];c[X+8>>2]=c[i+8>>2];c[X+12>>2]=c[i+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[e>>2]=c[X>>2];c[e+4>>2]=c[X+4>>2];c[e+8>>2]=c[X+8>>2];c[e+12>>2]=c[X+12>>2];i=i+16|0;e=e+-16|0}while(i>>>0<e>>>0);c[k>>2]=(c[k>>2]|0)+-16}c[W>>2]=f;c[w>>2]=m;e=c[y>>2]|0}else f=c[W>>2]|0;s6(f+e|0,n|0,d|0)|0;d=(c[y>>2]|0)+d|0;c[y>>2]=d;e=c[w>>2]|0;if(d>>>0>=e>>>0?(C=c[v>>2]|0,(e|0)==(d|0)):0){k=d<<1;k=(k|0)==(d|0)?d+1|0:k;if(k>>>0<d>>>0)oB(C,356281,Q);f=zz(C,k)|0;s6(f|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=C+8|0;e=c[i>>2]|0;d=e+-16|0;e=e+-32|0;do{c[X>>2]=c[e>>2];c[X+4>>2]=c[e+4>>2];c[X+8>>2]=c[e+8>>2];c[X+12>>2]=c[e+12>>2];c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];e=e+16|0;d=d+-16|0}while(e>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=f;c[w>>2]=k;d=c[y>>2]|0}c[y>>2]=d+1;a[(c[W>>2]|0)+d>>0]=0;d=s;e=t+1+(c[I>>2]|0)|0;break}case 6:{d=c[y>>2]|0;e=c[w>>2]|0;if(d>>>0>=e>>>0?(D=c[v>>2]|0,(e|0)==(d|0)):0){k=d<<1;k=(k|0)==(d|0)?d+1|0:k;if(k>>>0<d>>>0)oB(D,356281,R);f=zz(D,k)|0;s6(f|0,c[W>>2]|0,c[y>>2]|0)|0;if((c[W>>2]|0)!=(A|0)){i=D+8|0;e=c[i>>2]|0;d=e+-16|0;e=e+-32|0;do{c[X>>2]=c[e>>2];c[X+4>>2]=c[e+4>>2];c[X+8>>2]=c[e+8>>2];c[X+12>>2]=c[e+12>>2];c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[d>>2]=c[X>>2];c[d+4>>2]=c[X+4>>2];c[d+8>>2]=c[X+8>>2];c[d+12>>2]=c[X+12>>2];e=e+16|0;d=d+-16|0}while(e>>>0<d>>>0);c[i>>2]=(c[i>>2]|0)+-16}c[W>>2]=f;c[w>>2]=k;d=c[y>>2]|0}c[y>>2]=d+1;a[(c[W>>2]|0)+d>>0]=0;u=156;break}case 8:case 7:{u=156;break}default:{d=s;e=t}}if((u|0)==156){u=0;d=q;e=t}if(!(a[c[E>>2]>>0]|0))break;else q=d}b=c[v>>2]|0;e=c[W>>2]|0;d=c[y>>2]|0}if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);V=QA(b,e,d)|0;e=b+8|0;d=c[e>>2]|0;c[d>>2]=V;c[d+8>>2]=(a[V+4>>0]|64)&255;d=c[e>>2]|0;c[e>>2]=d+16;if((c[W>>2]|0)==(A|0)){l=Y;return 1}b=d;d=d+-16|0;do{c[X>>2]=c[d>>2];c[X+4>>2]=c[d+4>>2];c[X+8>>2]=c[d+8>>2];c[X+12>>2]=c[d+12>>2];c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[b>>2]=c[X>>2];c[b+4>>2]=c[X+4>>2];c[b+8>>2]=c[X+8>>2];c[b+12>>2]=c[X+12>>2];d=d+16|0;b=b+-16|0}while(d>>>0<b>>>0);c[e>>2]=(c[e>>2]|0)+-16;l=Y;return 1}function GD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+12|0;j=o+8|0;n=o+4|0;m=o;g=b+16|0;e=c[c[g>>2]>>2]|0;f=e+16|0;i=b+8|0;d=c[i>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;h=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[g>>2]>>2]|0;d=c[i>>2]|0}h=e+16|0;d=h>>>0<d>>>0?h:412368;oA(b,d);h=5;break}default:{qB(b,1,361511);d=0}}if((h|0)==5)d=(c[d>>2]|0)+16|0;c[j>>2]=d;c[k>>2]=b;c[k+4>>2]=1;c[k+8>>2]=1;if(!(a[d>>0]|0)){b=0;k=0;n=c[i>>2]|0;m=n;j=m;c[j>>2]=b;m=m+4|0;c[m>>2]=k;m=n+8|0;c[m>>2]=19;n=n+16|0;c[i>>2]=n;l=o;return 1}else f=0;do{d=ID(k,f,j,n,m)|0;e=(c[n>>2]|0)+(c[m>>2]|0)|0;c[n>>2]=e;if(f>>>0>(2147483647-e|0)>>>0)nB(b,1,358196)|0;f=e+f|0;if((d&-2|0)==4)nB(b,1,358220)|0}while((a[c[j>>2]>>0]|0)!=0);b=f;k=0;n=c[i>>2]|0;m=n;j=m;c[j>>2]=b;m=m+4|0;c[m>>2]=k;m=n+8|0;c[m>>2]=19;n=n+16|0;c[i>>2]=n;l=o;return 1}function HD(b){b=b|0;var e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;H=J+40|0;w=J;E=J+56|0;D=J+52|0;G=J+48|0;F=J+44|0;x=b+16|0;f=c[c[x>>2]>>2]|0;i=f+16|0;I=b+8|0;e=c[I>>2]|0;i=i>>>0<e>>>0?i:412368;switch(c[i+8>>2]&15){case 4:{e=i;v=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[x>>2]>>2]|0;e=c[I>>2]|0}v=f+16|0;e=v>>>0<e>>>0?v:412368;oA(b,e);v=5;break}default:{qB(b,1,361511);k=0}}if((v|0)==5)k=(c[e>>2]|0)+16|0;c[D>>2]=k;f=c[c[x>>2]>>2]|0;i=f+32|0;e=c[I>>2]|0;i=i>>>0<e>>>0?i:412368;switch(c[i+8>>2]&15){case 4:{e=i;v=11;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[x>>2]>>2]|0;e=c[I>>2]|0}v=f+32|0;e=v>>>0<e>>>0?v:412368;oA(b,e);v=11;break}default:{qB(b,2,361511);u=0;t=0}}if((v|0)==11){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;u=e+16|0;t=f}e=tB(b,3,1,0)|0;f=z;if(!((f|0)>-1|(f|0)==-1&e>>>0>4294967295))if(t>>>0<(0-e|0)>>>0)e=0;else{e=b6(e|0,f|0,1,0)|0;e=b6(e|0,z|0,t|0,0)|0}e=e+-1|0;if(e>>>0>t>>>0)nB(b,3,357902)|0;c[E>>2]=b;s=E+4|0;c[s>>2]=1;c[E+8>>2]=1;if(!(a[k>>0]|0)){H=0;D=e;D=D+1|0;G=c[I>>2]|0;F=G;E=F;c[E>>2]=D;F=F+4|0;c[F>>2]=0;F=G+8|0;c[F>>2]=19;G=G+16|0;c[I>>2]=G;I=H+1|0;l=J;return I|0}p=b+24|0;q=b+12|0;r=b+28|0;n=0;while(1){m=ID(E,e,D,G,F)|0;i=c[F>>2]|0;k=c[G>>2]|0;o=i+e|0;if((k+i|0)>>>0>~e>>>0|(o+k|0)>>>0>t>>>0)nB(b,2,357933)|0;c[w>>2]=22;e=c[x>>2]|0;f=c[I>>2]|0;i=f;do if(((c[p>>2]|0)-i|0)>352){B=f;C=22;v=29}else{if(((i-(c[r>>2]|0)>>4)+5|0)<=999978?(Kz(b,201,w)|0)==0:0){B=c[I>>2]|0;C=c[w>>2]|0;v=29;break}c[H>>2]=357955;oB(b,356224,H)}while(0);if((v|0)==29?(v=0,y=e+4|0,A=B+(C<<4)|0,(c[y>>2]|0)>>>0<A>>>0):0)c[y>>2]=A;f=n+1|0;switch(m|0){case 1:case 0:{m=JD(b,u+o|0,c[s>>2]|0,k,(m|0)==0&1)|0;e=c[I>>2]|0;n=e;c[n>>2]=m;c[n+4>>2]=z;c[e+8>>2]=19;c[I>>2]=e+16;e=o;break}case 2:{e=u+o|0;i=(k|0)==0;if((c[s>>2]|0)==1){if(!i){i=w;while(1){k=k+-1|0;a[i>>0]=a[e>>0]|0;if(!k)break;else{e=e+1|0;i=i+1|0}}}}else if(!i){i=w+(k+-1)|0;while(1){k=k+-1|0;a[i>>0]=a[e>>0]|0;if(!k)break;else{i=i+-1|0;e=e+1|0}}}e=c[G>>2]|0;if((e|0)==4)j=+g[w>>2];else j=+h[w>>3];k=c[I>>2]|0;h[k>>3]=j;c[k+8>>2]=3;c[I>>2]=k+16;k=e;e=o;break}case 3:{if((c[(c[q>>2]|0)+12>>2]|0)>0)jA(b);n=QA(b,u+o|0,k)|0;e=c[I>>2]|0;c[e>>2]=n;c[e+8>>2]=(a[n+4>>0]|64)&255;c[I>>2]=(c[I>>2]|0)+16;e=o;break}case 4:{i=JD(b,u+o|0,c[s>>2]|0,k,0)|0;e=i+o|0;if((e+k|0)>>>0>t>>>0)nB(b,2,357933)|0;if((c[(c[q>>2]|0)+12>>2]|0)>0)jA(b);n=QA(b,u+(k+o)|0,i)|0;o=c[I>>2]|0;c[o>>2]=n;c[o+8>>2]=(a[n+4>>0]|64)&255;c[I>>2]=(c[I>>2]|0)+16;break}case 5:{e=u+o|0;i=r4(e)|0;if((c[(c[q>>2]|0)+12>>2]|0)>0)jA(b);n=QA(b,e,i)|0;e=c[I>>2]|0;c[e>>2]=n;c[e+8>>2]=(a[n+4>>0]|64)&255;c[I>>2]=(c[I>>2]|0)+16;e=o+1+i|0;break}case 8:case 6:case 7:{f=n;e=o;break}default:e=o}e=k+e|0;if(!(a[c[D>>2]>>0]|0))break;else n=f}E=e+1|0;H=c[I>>2]|0;G=H;F=G;c[F>>2]=E;G=G+4|0;c[G>>2]=0;G=H+8|0;c[G>>2]=19;H=H+16|0;c[I>>2]=H;I=f+1|0;l=J;return I|0}function ID(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;j=KD(b,e,f)|0;h=c[f>>2]|0;c[i>>2]=h;do if((j|0)==7){if(a[c[e>>2]>>0]|0){e=(KD(b,e,i)|0)==3;h=c[i>>2]|0;if(!(e|(h|0)==0))break}nB(c[b>>2]|0,1,358018)|0}while(0);if((j|0)==3|(h|0)<2){d=0;c[g>>2]=d;l=k;return j|0}f=c[b+8>>2]|0;if((h|0)>(f|0)){c[i>>2]=f;h=f}f=h+-1|0;if(f&h|0)nB(c[b>>2]|0,1,358053)|0;d=h-(f&d)&f;c[g>>2]=d;l=k;return j|0}function JD(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;k=(f|0)>8;i=k?8:f;j=i+-1|0;if((f|0)>0){m=(e|0)==0;n=f+-1|0;if(m){e=0;h=0;while(1){e=n6(e|0,h|0,8)|0;h=z;e=d[b+(n-j)>>0]|0|e;if((j|0)>0)j=j+-1|0;else break}}else{e=0;h=0;while(1){e=n6(e|0,h|0,8)|0;h=z;e=d[b+j>>0]|0|e;if((j|0)>0)j=j+-1|0;else break}}if((f|0)>=8){if(!k){b=h;f=e;z=b;l=q;return f|0}j=(g|0)==0|((h|0)>-1|(h|0)==-1&e>>>0>4294967295)?0:255;if(m){do{if((d[b+(n-i)>>0]|0|0)!=(j|0)){c[o>>2]=f;oB(a,357972,o)}i=i+1|0}while((i|0)<(f|0));z=h;l=q;return e|0}else{do{if((d[b+i>>0]|0|0)!=(j|0)){c[p>>2]=f;oB(a,357972,p)}i=i+1|0}while((i|0)<(f|0));z=h;l=q;return e|0}}}else{e=0;h=0}if(!g){b=h;f=e;z=b;l=q;return f|0}b=n6(1,0,(f<<3)+-1|0)|0;f=z;f=c6(e^b|0,h^f|0,b|0,f|0)|0;b=z;z=b;l=q;return f|0}function KD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;h=o+40|0;k=o+32|0;j=o+24|0;n=o+16|0;m=o+8|0;i=o;f=c[d>>2]|0;g=f+1|0;c[d>>2]=g;f=a[f>>0]|0;c[e>>2]=0;do switch(f|0){case 98:{c[e>>2]=1;e=0;l=o;return e|0}case 66:{c[e>>2]=1;e=1;l=o;return e|0}case 104:{c[e>>2]=2;e=0;l=o;return e|0}case 72:{c[e>>2]=2;e=1;l=o;return e|0}case 108:{c[e>>2]=4;e=0;l=o;return e|0}case 76:{c[e>>2]=4;e=1;l=o;return e|0}case 106:{c[e>>2]=8;e=0;l=o;return e|0}case 74:{c[e>>2]=8;e=1;l=o;return e|0}case 84:{c[e>>2]=4;e=1;l=o;return e|0}case 102:{c[e>>2]=4;e=2;l=o;return e|0}case 100:{c[e>>2]=8;e=2;l=o;return e|0}case 110:{c[e>>2]=8;e=2;l=o;return e|0}case 105:{if(((a[g>>0]|0)+-48|0)>>>0<10){f=0;do{n=g;g=g+1|0;c[d>>2]=g;f=(f*10|0)+-48+(a[n>>0]|0)|0}while((f|0)<214748364&((a[g>>0]|0)+-48|0)>>>0<10);if((f+-1|0)>>>0>15){b=c[b>>2]|0;c[i>>2]=f;c[i+4>>2]=16;oB(b,358094,i)}}else f=4;c[e>>2]=f;e=0;l=o;return e|0}case 73:{if(((a[g>>0]|0)+-48|0)>>>0<10){f=0;do{n=g;g=g+1|0;c[d>>2]=g;f=(f*10|0)+-48+(a[n>>0]|0)|0}while((f|0)<214748364&((a[g>>0]|0)+-48|0)>>>0<10);if((f+-1|0)>>>0>15){b=c[b>>2]|0;c[m>>2]=f;c[m+4>>2]=16;oB(b,358094,m)}}else f=4;c[e>>2]=f;e=1;l=o;return e|0}case 115:{if(((a[g>>0]|0)+-48|0)>>>0<10){f=0;do{m=g;g=g+1|0;c[d>>2]=g;f=(f*10|0)+-48+(a[m>>0]|0)|0}while((f|0)<214748364&((a[g>>0]|0)+-48|0)>>>0<10);if((f+-1|0)>>>0>15){b=c[b>>2]|0;c[n>>2]=f;c[n+4>>2]=16;oB(b,358094,n)}}else f=4;c[e>>2]=f;e=4;l=o;return e|0}case 99:{if(((a[g>>0]|0)+-48|0)>>>0<10){f=0;do{n=g;g=g+1|0;c[d>>2]=g;f=(f*10|0)+-48+(a[n>>0]|0)|0}while((f|0)<214748364&((a[g>>0]|0)+-48|0)>>>0<10);c[e>>2]=f;if((f|0)!=-1){e=3;l=o;return e|0}}else c[e>>2]=-1;oB(c[b>>2]|0,358134,j);e=3;l=o;return e|0}case 120:{c[e>>2]=1;e=6;l=o;return e|0}case 88:{e=7;l=o;return e|0}case 32:break;case 60:{c[b+4>>2]=1;break}case 62:{c[b+4>>2]=0;break}case 61:{c[b+4>>2]=1;break}case 33:{if(((a[g>>0]|0)+-48|0)>>>0<10){f=0;do{e=g;g=g+1|0;c[d>>2]=g;f=(f*10|0)+-48+(a[e>>0]|0)|0}while((f|0)<214748364&((a[g>>0]|0)+-48|0)>>>0<10);if((f+-1|0)>>>0>15){e=c[b>>2]|0;c[k>>2]=f;c[k+4>>2]=16;oB(e,358094,k)}}else f=8;c[b+8>>2]=f;break}case 122:{e=5;l=o;return e|0}default:{e=c[b>>2]|0;c[h>>2]=f;oB(e,358169,h)}}while(0);e=8;l=o;return e|0}function LD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+304|0;B=G+8|0;A=G;D=G+296|0;E=G+16|0;m=b+16|0;g=c[c[m>>2]>>2]|0;h=g+16|0;C=b+8|0;f=c[C>>2]|0;h=h>>>0<f>>>0?h:412368;switch(c[h+8>>2]&15){case 4:{f=h;F=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);g=c[c[m>>2]>>2]|0;f=c[C>>2]|0}F=g+16|0;f=F>>>0<f>>>0?F:412368;oA(b,f);F=5;break}default:{qB(b,1,361511);q=0;n=0}}if((F|0)==5){f=c[f>>2]|0;if((a[f+4>>0]|0)==4)g=d[f+7>>0]|0;else g=c[f+12>>2]|0;q=f+16|0;n=g}g=c[c[m>>2]>>2]|0;h=g+32|0;f=c[C>>2]|0;h=h>>>0<f>>>0?h:412368;switch(c[h+8>>2]&15){case 4:{f=h;F=14;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);g=c[c[m>>2]>>2]|0;f=c[C>>2]|0}F=g+32|0;f=F>>>0<f>>>0?F:412368;oA(b,f);F=14;break}default:{qB(b,2,361511);j=0;p=0}}if((F|0)==14){f=c[f>>2]|0;if((a[f+4>>0]|0)==4)g=d[f+7>>0]|0;else g=c[f+12>>2]|0;j=f+16|0;p=g}g=tB(b,3,1,0)|0;f=z;if(!((f|0)>-1|(f|0)==-1&g>>>0>4294967295))if(n>>>0<(0-g|0)>>>0)i=1;else{g=b6(g|0,f|0,1,0)|0;g=b6(g|0,z|0,n|0,0)|0;f=z;F=22}else F=22;if((F|0)==22)if(!((f|0)<0|(f|0)==0&g>>>0<1)){o=b6(n|0,0,1,0)|0;k=z;if((f|0)>(k|0)|(f|0)==(k|0)&g>>>0>o>>>0){F=c[C>>2]|0;c[F+8>>2]=0;c[C>>2]=F+16;F=1;l=G;return F|0}else i=g}else i=1;k=(e|0)!=0;a:do if(k){g=(c[c[m>>2]>>2]|0)+64|0;f=c[C>>2]|0;g=g>>>0<f>>>0?g:412368;switch(c[g+8>>2]|0){case 0:{h=0;F=28;break}case 1:{if(!(c[g>>2]|0)){h=0;F=28}break}default:{}}if((F|0)==28)while(1){F=0;g=j+h|0;if(Z5(g,358381)|0){F=39;break a}h=h+1+(r4(g)|0)|0;if(h>>>0>p>>>0)break;else F=28}g=q+(i+-1)|0;h=n-i+1|0;b:do if(!p){if(!g)break a}else{if(p>>>0>h>>>0)break a;m=p+-1|0;if((h|0)==(m|0))break a;n=a[j>>0]|0;k=j+1|0;e=h-m|0;while(1){h=u3(g,n,e)|0;if(!h)break a;i=g;g=h+1|0;if(!(f3(g,k,m)|0)){g=h;break b}j=g;h=i+e|0;if((h|0)==(j|0))break a;else e=h-j|0}}while(0);E=g-q|0;D=E+1|0;F=f;c[F>>2]=D;c[F+4>>2]=((D|0)<0)<<31>>31;c[f+8>>2]=19;F=f+16|0;c[F>>2]=E+p;c[F+4>>2]=0;c[f+24>>2]=19;c[C>>2]=f+32;F=2;l=G;return F|0}else F=39;while(0);do if((F|0)==39){f=q+(i+-1)|0;m=(a[j>>0]|0)==94;e=m?j+1|0:j;o=E+16|0;c[o>>2]=b;c[E>>2]=200;c[E+4>>2]=q;i=E+8|0;c[i>>2]=q+n;c[E+12>>2]=e+(p+(m<<31>>31));j=E+20|0;c[j>>2]=0;g=MD(E,f,e)|0;h=(g|0)==0;c:do if(m)if(h)F=67;else{n=g;m=f}else if(h)while(1){if(f>>>0>=(c[i>>2]|0)>>>0){F=67;break c}f=f+1|0;c[j>>2]=0;g=MD(E,f,e)|0;if(g){n=g;m=f;break}}else{n=g;m=f}while(0);if((F|0)==67){f=c[C>>2]|0;break}if(!k){f=c[j>>2]|0;f=(m|0)!=0&(f|0)==0?1:f;g=c[o>>2]|0;h=f+20|0;c[D>>2]=h;i=c[g+16>>2]|0;j=g+8|0;e=c[j>>2]|0;k=e;do if(((c[g+24>>2]|0)-k>>4|0)>(h|0)){x=e;y=h;F=58}else{if(((k-(c[g+28>>2]|0)>>4)+5|0)<=(999980-f|0)?(Kz(g,201,D)|0)==0:0){x=c[j>>2]|0;y=c[D>>2]|0;F=58;break}c[B>>2]=361741;oB(g,356224,B)}while(0);if((F|0)==58?(v=i+4|0,w=x+(y<<4)|0,(c[v>>2]|0)>>>0<w>>>0):0)c[v>>2]=w;if((f|0)>0){g=0;do{ND(E,g,m,n);g=g+1|0}while((g|0)!=(f|0))}}else{g=q;h=1-g+m|0;k=c[C>>2]|0;f=k;c[f>>2]=h;c[f+4>>2]=((h|0)<0)<<31>>31;c[k+8>>2]=19;g=n-g|0;f=k+16|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;c[k+24>>2]=19;c[C>>2]=k+32;k=c[j>>2]|0;f=c[o>>2]|0;g=k+20|0;c[D>>2]=g;h=c[f+16>>2]|0;i=f+8|0;j=c[i>>2]|0;e=j;do if(((c[f+24>>2]|0)-e>>4|0)>(g|0)){t=j;u=g;F=47}else{if(((e-(c[f+28>>2]|0)>>4)+5|0)<=(999980-k|0)?(Kz(f,201,D)|0)==0:0){t=c[i>>2]|0;u=c[D>>2]|0;F=47;break}c[A>>2]=361741;oB(f,356224,A)}while(0);if((F|0)==47?(r=h+4|0,s=t+(u<<4)|0,(c[r>>2]|0)>>>0<s>>>0):0)c[r>>2]=s;if((k|0)>0){f=0;do{ND(E,f,0,0);f=f+1|0}while((f|0)!=(k|0))}f=k+2|0}F=f;l=G;return F|0}while(0);c[f+8>>2]=0;c[C>>2]=f+16;F=1;l=G;return F|0}function MD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+96|0;L=X+80|0;K=X+72|0;J=X+64|0;I=X+56|0;H=X+48|0;N=X+40|0;M=X+32|0;R=X+24|0;P=X+16|0;O=X+8|0;W=c[b>>2]|0;c[b>>2]=W+-1;if(!W)oB(c[b+16>>2]|0,358438,X);F=b+12|0;g=c[F>>2]|0;a:do if((g|0)!=(f|0)){W=b+8|0;T=b+16|0;G=b+4|0;S=b+20|0;A=b+24+(0<<3)+4|0;b:while(1){y=e+1|0;x=e+-1|0;z=f;c:while(1){f=a[z>>0]|0;d:do switch(f<<24>>24|0){case 40:{Q=7;break b}case 41:{Q=16;break b}case 36:{f=z+1|0;if((f|0)==(g|0)){Q=23;break b}else{v=f;w=f;Q=89}break}case 37:{f=z+1|0;i=a[f>>0]|0;switch(i<<24>>24|0){case 98:{Q=25;break c}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{Q=70;break c}case 102:break;default:{if((f|0)==(g|0))oB(c[T>>2]|0,358564,K);v=z+2|0;w=f;Q=89;break d}}h=z+2|0;if((a[h>>0]|0)==91)f=91;else{oB(c[T>>2]|0,358529,N);f=a[h>>0]|0}i=z+3|0;switch(f<<24>>24|0){case 37:{if((i|0)==(c[F>>2]|0))oB(c[T>>2]|0,358564,H);v=z+4|0;break}case 91:{f=(a[i>>0]|0)==94?z+4|0:i;do{if((f|0)==(c[F>>2]|0))oB(c[T>>2]|0,358599,I);g=f+1|0;if((a[f>>0]|0)==37)f=g>>>0<(c[F>>2]|0)>>>0?f+2|0:g;else f=g}while((a[f>>0]|0)!=93);v=f+1|0;break}default:v=i}if((e|0)==(c[G>>2]|0))g=0;else g=a[x>>0]|0;q=g&255;u=v+-1|0;t=(a[i>>0]|0)==94;r=t?i:h;t=t&1;f=t^1;n=r+1|0;s=n>>>0<u>>>0;e:do if(s){o=g&255;g=r;p=n;while(1){h=a[p>>0]|0;i=g+2|0;j=a[i>>0]|0;do if(h<<24>>24==37)if(!(OD(q,j&255)|0))g=i;else{g=f;break e}else{if(j<<24>>24==45?(B=g+3|0,B>>>0<u>>>0):0){if((h&255)>>>0>q>>>0){g=B;break}if((d[B>>0]|0)>>>0<q>>>0){g=B;break}else{g=f;break e}}if(h<<24>>24==o<<24>>24){g=f;break e}else g=p}while(0);p=g+1|0;if(p>>>0>=u>>>0){g=t;break}}}else g=t;while(0);if(g|0){e=0;break a}o=a[e>>0]|0;p=o&255;f:do if(s){g=r;while(1){h=a[n>>0]|0;i=g+2|0;j=a[i>>0]|0;do if(h<<24>>24==37)if(!(OD(p,j&255)|0))g=i;else break f;else{if(j<<24>>24==45?(C=g+3|0,C>>>0<u>>>0):0){if((h&255)>(o&255)){g=C;break}if((d[C>>0]|0)<(o&255)){g=C;break}else break f}if(h<<24>>24==o<<24>>24)break f;else g=n}while(0);n=g+1|0;if(n>>>0>=u>>>0){f=t;break}}}else f=t;while(0);if(!f){e=0;break a}else f=v;break}default:{h=z+1|0;if(f<<24>>24==91){f=(a[h>>0]|0)==94?z+2|0:h;while(1){if((f|0)==(g|0))oB(c[T>>2]|0,358599,L);g=f+1|0;if((a[f>>0]|0)==37)f=g>>>0<(c[F>>2]|0)>>>0?f+2|0:g;else f=g;if((a[f>>0]|0)==93)break;g=c[F>>2]|0}v=f+1|0;w=h;Q=89}else{v=h;w=h;Q=89}}}while(0);g:do if((Q|0)==89){Q=0;u=c[W>>2]|0;do if(u>>>0>e>>>0){q=a[e>>0]|0;r=q&255;s=a[z>>0]|0;t=s<<24>>24;h:do switch(t|0){case 46:{f=a[v>>0]|0;break}case 37:{g=OD(r,d[w>>0]|0)|0;Q=104;break}case 91:{o=v+-1|0;p=(a[w>>0]|0)==94;f=p?w:z;p=p&1;g=p^1;h=f+1|0;if(h>>>0<o>>>0)while(1){i=a[h>>0]|0;j=f+2|0;n=a[j>>0]|0;do if(i<<24>>24==37)if(!(OD(r,n&255)|0))f=j;else{Q=104;break h}else{if(n<<24>>24==45?(E=f+3|0,E>>>0<o>>>0):0){if((i&255)>(q&255)){f=E;break}if((d[E>>0]|0)<(q&255)){f=E;break}else{Q=104;break h}}if(i<<24>>24==q<<24>>24){Q=104;break h}else f=h}while(0);h=f+1|0;if(h>>>0>=o>>>0){g=p;Q=104;break}}else{g=p;Q=104}break}default:{g=s<<24>>24==q<<24>>24&1;Q=104}}while(0);if((Q|0)==104){Q=0;f=a[v>>0]|0;if(!g)break}switch(f<<24>>24|0){case 43:{e=y;break b}case 42:{Q=112;break b}case 45:{Q=109;break b}case 63:break;default:{e=y;f=v;break c}}f=v+1|0;g=MD(b,y,f)|0;if(!g)break g;else{e=g;break a}}else f=a[v>>0]|0;while(0);switch(f<<24>>24){case 45:case 63:case 42:break;default:{e=0;break a}}f=v+1|0}while(0);g=c[F>>2]|0;if((f|0)==(g|0))break a;else z=f}if((Q|0)==25){Q=0;f=z+2|0;if((g+-1|0)>>>0<=f>>>0)oB(c[T>>2]|0,358482,M);n=a[e>>0]|0;if(n<<24>>24!=(a[f>>0]|0)){e=0;break a}i=a[z+3>>0]|0;j=c[W>>2]|0;if(y>>>0<j>>>0){h=y;f=1}else{e=0;break a}while(1){g=a[h>>0]|0;if(g<<24>>24==i<<24>>24){f=f+-1|0;if(!f)break}else f=(g<<24>>24==n<<24>>24&1)+f|0;e=h+1|0;if(e>>>0<j>>>0){y=h;h=e;e=y}else{e=0;break a}}e=e+2|0;f=z+4|0}else if((Q|0)==70){Q=0;f=i&255;h=f+-49|0;if(((i&255)>=49?(h|0)<(c[S>>2]|0):0)?(D=c[b+24+(h<<3)+4>>2]|0,(D|0)!=-1):0)f=D;else{y=c[T>>2]|0;c[J>>2]=f+-48;oB(y,358392,J);f=c[A>>2]|0}if(((c[W>>2]|0)-e|0)>>>0<f>>>0){e=0;break a}g=e+f|0;if((g|0)==0|(f3(c[b+24+(h<<3)>>2]|0,e,f)|0)!=0){e=0;break a}e=g;f=z+2|0}g=c[F>>2]|0;if((f|0)==(g|0))break a}if((Q|0)==7){g=z+1|0;if((a[g>>0]|0)==41){f=c[S>>2]|0;if((f|0)>31)oB(c[T>>2]|0,361741,O);c[b+24+(f<<3)>>2]=e;c[b+24+(f<<3)+4>>2]=-2;c[S>>2]=f+1;e=MD(b,e,z+2|0)|0;if(e|0)break;c[S>>2]=(c[S>>2]|0)+-1;e=0;break}else{f=c[S>>2]|0;if((f|0)>31)oB(c[T>>2]|0,361741,P);c[b+24+(f<<3)>>2]=e;c[b+24+(f<<3)+4>>2]=-1;c[S>>2]=f+1;e=MD(b,e,g)|0;if(e|0)break;c[S>>2]=(c[S>>2]|0)+-1;e=0;break}}else if((Q|0)==16){h=z+1|0;g=c[S>>2]|0;do{W=g;g=g+-1|0;if((W|0)<=0){Q=19;break}f=b+24+(g<<3)+4|0}while((c[f>>2]|0)!=-1);if((Q|0)==19){oB(c[T>>2]|0,358458,R);f=b+24+(g<<3)+4|0}c[f>>2]=e-(c[b+24+(g<<3)>>2]|0);e=MD(b,e,h)|0;if(e|0)break;c[f>>2]=-1;e=0;break}else if((Q|0)==23){e=(e|0)==(c[W>>2]|0)?e:0;break}else if((Q|0)==109){q=v+1|0;f=MD(b,e,q)|0;if(f|0){e=f;break}p=v+-1|0;while(1){if((c[W>>2]|0)>>>0<=e>>>0){e=0;break a}n=a[e>>0]|0;o=n&255;f=a[z>>0]|0;i:do switch(f<<24>>24|0){case 46:break;case 37:{k=OD(o,d[w>>0]|0)|0;Q=146;break}case 91:{m=(a[w>>0]|0)==94;f=m?w:z;m=m&1;k=m^1;g=f+1|0;if(g>>>0<p>>>0)while(1){h=a[g>>0]|0;i=f+2|0;j=a[i>>0]|0;do if(h<<24>>24==37)if(!(OD(o,j&255)|0))f=i;else{Q=146;break i}else{if(j<<24>>24==45?(V=f+3|0,V>>>0<p>>>0):0){if((h&255)>(n&255)){f=V;break}if((d[V>>0]|0)<(n&255)){f=V;break}else{Q=146;break i}}if(h<<24>>24==n<<24>>24){Q=146;break i}else f=g}while(0);g=f+1|0;if(g>>>0>=p>>>0){k=m;Q=146;break}}else{k=m;Q=146}break}default:{k=f<<24>>24==n<<24>>24&1;Q=146}}while(0);if((Q|0)==146?(Q=0,(k|0)==0):0){e=0;break a}e=e+1|0;f=MD(b,e,q)|0;if(f|0){e=f;break a}}}if(u>>>0>e>>>0){q=v+-1|0;g=e;f=0;do{o=a[g>>0]|0;p=o&255;j:do switch(t|0){case 46:break;case 37:{m=OD(p,d[w>>0]|0)|0;Q=129;break}case 91:{n=(a[w>>0]|0)==94;g=n?w:z;n=n&1;m=n^1;h=g+1|0;if(h>>>0<q>>>0)while(1){i=a[h>>0]|0;j=g+2|0;k=a[j>>0]|0;do if(i<<24>>24==37)if(!(OD(p,k&255)|0))g=j;else{Q=129;break j}else{if(k<<24>>24==45?(U=g+3|0,U>>>0<q>>>0):0){if((i&255)>(o&255)){g=U;break}if((d[U>>0]|0)<(o&255)){g=U;break}else{Q=129;break j}}if(i<<24>>24==o<<24>>24){Q=129;break j}else g=h}while(0);h=g+1|0;if(h>>>0>=q>>>0){m=n;Q=129;break}}else{m=n;Q=129}break}default:{m=s<<24>>24==o<<24>>24&1;Q=129}}while(0);if((Q|0)==129?(Q=0,(m|0)==0):0)break;f=f+1|0;g=e+f|0}while(u>>>0>g>>>0);if((f|0)<=-1){e=0;break}}else f=0;h=v+1|0;while(1){g=MD(b,e+f|0,h)|0;if(g|0){e=g;break a}if((f|0)>0)f=f+-1|0;else{e=0;break}}}while(0);c[b>>2]=(c[b>>2]|0)+1;l=X;return e|0}function ND(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i;if((c[b+20>>2]|0)<=(d|0)){g=c[b+16>>2]|0;if(d|0){c[h>>2]=d+1;oB(g,358392,h);l=i;return}if((c[(c[g+12>>2]|0)+12>>2]|0)>0)jA(g);h=QA(g,e,f-e|0)|0;b=g+8|0;d=c[b>>2]|0;c[d>>2]=h;c[d+8>>2]=(a[h+4>>0]|64)&255;c[b>>2]=(c[b>>2]|0)+16;l=i;return}e=c[b+24+(d<<3)+4>>2]|0;if((e|0)!=-1){f=c[b+16>>2]|0;g=c[b+24+(d<<3)>>2]|0;if((e|0)==-2){e=g+1-(c[b+4>>2]|0)|0;b=f+8|0;d=c[b>>2]|0;h=d;c[h>>2]=e;c[h+4>>2]=((e|0)<0)<<31>>31;c[d+8>>2]=19;c[b>>2]=d+16;l=i;return}}else{f=b+16|0;oB(c[f>>2]|0,358419,g);f=c[f>>2]|0;g=c[b+24+(d<<3)>>2]|0}if((c[(c[f+12>>2]|0)+12>>2]|0)>0)jA(f);h=QA(f,g,e)|0;b=f+8|0;d=c[b>>2]|0;c[d>>2]=h;c[d+8>>2]=(a[h+4>>0]|64)&255;c[b>>2]=(c[b>>2]|0)+16;l=i;return}function OD(a,b){a=a|0;b=b|0;do switch(N2(b)|0){case 97:{a=L3(a)|0;break}case 99:{a=M3(a)|0;break}case 100:{a=(a+-48|0)>>>0<10&1;break}case 103:{a=N3(a)|0;break}case 108:{a=Z2(a)|0;break}case 112:{a=P3(a)|0;break}case 115:{a=T2(a)|0;break}case 117:{a=O2(a)|0;break}case 119:{a=K3(a)|0;break}case 120:{a=Q3(a)|0;break}case 122:{a=(a|0)==0&1;break}default:{b=(b|0)==(a|0)&1;return b|0}}while(0);b=(Z2(b)|0)==0;b=b?(a|0)==0&1:a;return b|0}function PD(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+304|0;E=G+16|0;x=G;F=G+24|0;t=b+16|0;g=c[c[t>>2]>>2]|0;f=c[g+8>>2]|0;if((f|0)==22)e=412368;else{e=c[g>>2]|0;e=(a[e+6>>0]|0)==0?412368:e+16|0}switch(c[e+8>>2]&15){case 4:{s=9;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[t>>2]>>2]|0;f=c[e+8>>2]|0}else e=g;if((f|0)==22)e=412368;else{e=c[e>>2]|0;e=(a[e+6>>0]|0)==0?412368:e+16|0}oA(b,e);s=9;break}default:{r=0;i=g;g=0}}if((s|0)==9){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)g=d[e+7>>0]|0;else g=c[e+12>>2]|0;i=c[c[t>>2]>>2]|0;r=e+16|0;f=c[i+8>>2]|0}if((f|0)==22)e=412368;else{e=c[i>>2]|0;e=(d[e+6>>0]|0)<2?412368:e+32|0}switch(c[e+8>>2]&15){case 4:{s=21;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[t>>2]>>2]|0;f=c[e+8>>2]|0}else e=i;if((f|0)==22)e=412368;else{e=c[e>>2]|0;e=(d[e+6>>0]|0)<2?412368:e+32|0}oA(b,e);s=21;break}default:{m=0;e=i;i=0}}if((s|0)==21){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)i=d[e+7>>0]|0;else i=c[e+12>>2]|0;q=c[c[t>>2]>>2]|0;m=e+16|0;f=c[q+8>>2]|0;e=q}q=F+16|0;c[q>>2]=b;c[F>>2]=200;c[F+4>>2]=r;k=F+8|0;c[k>>2]=r+g;c[F+12>>2]=m+i;if((f|0)==22)f=412368;else{f=c[e>>2]|0;f=(d[f+6>>0]|0)<3?412368:f+48|0}e=c[f+8>>2]|0;do if((e|0)!=19){a:while(1){switch(e|0){case 3:{s=31;break a}case 19:{s=34;break a}default:{}}if((e&15|0)!=4){s=42;break}i=nA((c[f>>2]|0)+16|0,x)|0;e=c[f>>2]|0;if((a[e+4>>0]|0)==4)e=d[e+7>>0]|0;else e=c[e+12>>2]|0;if((i|0)!=(e+1|0)){s=42;break}f=x;e=c[x+8>>2]|0}if((s|0)==31){H=+h[f>>3];n=+A(+H);if(!(H!=n)?n>=-9223372036854775808.0&n<9223372036854775808.0:0){e=~~n>>>0;s=41}else s=42}else if((s|0)==34){e=f;e=c[e>>2]|0;s=41}if((s|0)==41)break;else if((s|0)==42){e=0;break}}else e=c[f>>2]|0;while(0);if((e|0)>(g|0)){F=0;l=G;return F|0}j=F+20|0;p=r+e|0;while(1){c[j>>2]=0;o=MD(F,p,m)|0;if(o|0)break;e=p+1|0;if(e>>>0>(c[k>>2]|0)>>>0){e=0;s=65;break}else p=e}if((s|0)==65){l=G;return e|0}e=o-r|0;e=b6(e|0,((e|0)<0)<<31>>31|0,(o|0)==(p|0)|0,0)|0;i=b+8|0;f=c[i>>2]|0;g=f;c[g>>2]=e;c[g+4>>2]=z;g=f+8|0;c[g>>2]=19;c[i>>2]=f+16;e=c[c[t>>2]>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(d[e+6>>0]|0)<3?412368:e+48|0};c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];do if((c[g>>2]&64|0?(u=(c[c[c[t>>2]>>2]>>2]|0)+5|0,v=a[u>>0]|0,v&4):0)?(w=c[f>>2]|0,a[w+5>>0]&3):0){e=c[b+12>>2]|0;if((d[e+61>>0]|0)<2){$z(e,w);break}else{a[u>>0]=a[e+60>>0]&3|v&-8;break}}while(0);c[i>>2]=(c[i>>2]|0)+-16;e=c[j>>2]|0;e=(p|0)!=0&(e|0)==0?1:e;f=c[q>>2]|0;g=e+20|0;c[x>>2]=g;i=c[f+16>>2]|0;j=f+8|0;k=c[j>>2]|0;m=k;do if(((c[f+24>>2]|0)-m>>4|0)>(g|0)){C=k;D=g;s=58}else{if(((m-(c[f+28>>2]|0)>>4)+5|0)<=(999980-e|0)?(Kz(f,201,x)|0)==0:0){C=c[j>>2]|0;D=c[x>>2]|0;s=58;break}c[E>>2]=361741;oB(f,356224,E)}while(0);if((s|0)==58?(y=i+4|0,B=C+(D<<4)|0,(c[y>>2]|0)>>>0<B>>>0):0)c[y>>2]=B;if((e|0)>0)f=0;else{F=e;l=G;return F|0}do{ND(F,f,p,o);f=f+1|0}while((f|0)!=(e|0));l=G;return e|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;s6(uB(e,d)|0,b|0,d|0)|0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+d;return 0}function RD(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d;if(a|0?(c[(c[a+12>>2]|0)+140>>2]|0)!=384:0)oB(a,356467,b);if((c[(c[a+12>>2]|0)+12>>2]|0)>0)jA(a);b=WA(a)|0;e=a+8|0;f=c[e>>2]|0;c[f>>2]=b;c[f+8>>2]=69;c[e>>2]=(c[e>>2]|0)+16;TA(a,b,0,7);EB(a,8124,0);l=d;return 1}function SD(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+8272|0;y=C+40|0;w=C+32|0;v=C+16|0;B=C;j=C+8264|0;A=C+56|0;i=b+16|0;f=c[c[i>>2]>>2]|0;e=f+32|0;x=b+8|0;h=c[x>>2]|0;a:do if(!(e>>>0>=h>>>0|(e|0)==412368)?(g=c[f+40>>2]|0,(g&15|0)!=0):0){switch(g&15){case 4:break;case 3:{k=4;break}default:{qB(b,2,361511);p=0;f=0;break a}}if((k|0)==4){if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[i>>2]>>2]|0;e=c[x>>2]|0}else e=h;u=f+32|0;e=u>>>0<e>>>0?u:412368;oA(b,e)}e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;p=e+16|0}else{p=436559;f=0}while(0);ZD(b,j);g=tB(b,3,1,0)|0;h=z;u=c[c[i>>2]>>2]|0;t=u+64|0;if(!((t|0)==412368?1:t>>>0>=(c[x>>2]|0)>>>0)?(c[u+72>>2]&15|0)!=0:0){s=sB(b,4)|0;r=z}else{s=CB(b)|0;r=z}q=A+12|0;c[q>>2]=b;u=A+16|0;c[A>>2]=u;t=A+8|0;c[t>>2]=0;o=A+4|0;c[o>>2]=8192;if(!((h|0)<(r|0)|(h|0)==(r|0)&g>>>0<s>>>0))if((g|0)==(s|0)&(h|0)==(r|0)){e=c[j>>2]|0;k=32}else{f=u;e=0}else{e=c[j>>2]|0;n=g;m=h;do{Uh[e&63](b,1,n,m)|0;g=c[x>>2]|0;h=c[g+-8>>2]&15;if((h+-3|0)>>>0>=2){c[v>>2]=c[7100+(((g+-16|0)==412368?0:h+1|0)<<2)>>2];k=v+8|0;c[k>>2]=n;c[k+4>>2]=m;oB(b,359176,v)}vB(A);i=c[q>>2]|0;h=c[o>>2]|0;g=c[t>>2]|0;if((h-g|0)>>>0<f>>>0){k=h<<1;k=(k-g|0)>>>0<f>>>0?g+f|0:k;if(k>>>0<g>>>0|(k-g|0)>>>0<f>>>0)oB(i,356281,w);h=zz(i,k)|0;s6(h|0,c[A>>2]|0,c[t>>2]|0)|0;if((c[A>>2]|0)!=(u|0)){j=i+8|0;i=c[j>>2]|0;g=i+-16|0;i=i+-32|0;do{c[B>>2]=c[i>>2];c[B+4>>2]=c[i+4>>2];c[B+8>>2]=c[i+8>>2];c[B+12>>2]=c[i+12>>2];c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[g>>2]=c[B>>2];c[g+4>>2]=c[B+4>>2];c[g+8>>2]=c[B+8>>2];c[g+12>>2]=c[B+12>>2];i=i+16|0;g=g+-16|0}while(i>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16}c[A>>2]=h;c[o>>2]=k;g=c[t>>2]|0}else h=c[A>>2]|0;s6(h+g|0,p|0,f|0)|0;c[t>>2]=(c[t>>2]|0)+f;n=b6(n|0,m|0,1,0)|0;m=z}while((m|0)<(r|0)|(m|0)==(r|0)&n>>>0<s>>>0);k=32}if((k|0)==32){Uh[e&63](b,1,s,r)|0;e=c[x>>2]|0;f=c[e+-8>>2]&15;if((f+-3|0)>>>0>=2){c[y>>2]=c[7100+(((e+-16|0)==412368?0:f+1|0)<<2)>>2];x=y+8|0;c[x>>2]=s;c[x+4>>2]=r;oB(b,359176,y)}vB(A);b=c[q>>2]|0;f=c[A>>2]|0;e=c[t>>2]|0}if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);y=QA(b,f,e)|0;f=b+8|0;e=c[f>>2]|0;c[e>>2]=y;c[e+8>>2]=(a[y+4>>0]|64)&255;e=c[f>>2]|0;c[f>>2]=e+16;if((c[A>>2]|0)==(u|0)){l=C;return 1}b=e;e=e+-16|0;do{c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[b>>2]=c[B>>2];c[b+4>>2]=c[B+4>>2];c[b+8>>2]=c[B+8>>2];c[b+12>>2]=c[B+12>>2];e=e+16|0;b=b+-16|0}while(e>>>0<b>>>0);c[f>>2]=(c[f>>2]|0)+-16;l=C;return 1}function TD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k+8|0;ZD(a,j);f=CB(a)|0;g=z;i=b6(f|0,g|0,1,0)|0;e=z;switch((c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+16)>>4|0){case 2:{d=i;b=e;break}case 3:{h=2;break}default:{oB(a,359138,k);l=k;return 0}}if((h|0)==2){d=sB(a,2)|0;b=z;if((b|0)<0|(b|0)==0&d>>>0<1|((b|0)>(e|0)|(b|0)==(e|0)&d>>>0>i>>>0))nB(a,2,359086)|0;if(!((g|0)<(b|0)|(g|0)==(b|0)&f>>>0<d>>>0)){g=c[j>>2]|0;h=c[j+4>>2]|0;f=i;do{m=f;f=b6(f|0,e|0,-1,-1)|0;i=e;e=z;Uh[g&63](a,1,f,e)|0;ti[h&63](a,1,m,i)}while((e|0)>(b|0)|(e|0)==(b|0)&f>>>0>d>>>0)}}ti[c[j+4>>2]&63](a,1,d,b);l=k;return 0}function UD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;i=a+8|0;b=a+16|0;g=(c[i>>2]|0)-((c[c[b>>2]>>2]|0)+16)|0;j=g>>4;if((c[(c[a+12>>2]|0)+12>>2]|0)>0)jA(a);e=WA(a)|0;d=c[i>>2]|0;c[d>>2]=e;c[d+8>>2]=69;c[i>>2]=(c[i>>2]|0)+16;TA(a,e,j,1);e=c[i>>2]|0;d=e+-16|0;b=(c[c[b>>2]>>2]|0)+16|0;b=b>>>0<e>>>0?b:412368;e=e+-32|0;if(b>>>0<e>>>0){f=b;do{c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];f=f+16|0;e=e+-16|0}while(f>>>0<e>>>0)}if(b>>>0<d>>>0)do{c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];b=b+16|0;d=d+-16|0}while(b>>>0<d>>>0);if((g|0)>0)b=j;else{g=(j|0)<0;g=g<<31>>31;h=c[i>>2]|0;f=h;e=f;c[e>>2]=j;j=f+4|0;c[j>>2]=g;j=h+8|0;c[j>>2]=19;j=h+16|0;c[i>>2]=j;qz(a,1,359136);l=k;return 1}while(1){sz(a,1,b,((b|0)<0)<<31>>31);if((b|0)>1)b=b+-1|0;else break}g=(j|0)<0;g=g<<31>>31;h=c[i>>2]|0;f=h;e=f;c[e>>2]=j;j=f+4|0;c[j>>2]=g;j=h+8|0;c[j>>2]=19;j=h+16|0;c[i>>2]=j;qz(a,1,359136);l=k;return 1}function VD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p;k=p+16|0;m=p+8|0;ZD(a,m);e=tB(a,2,1,0)|0;d=z;g=a+16|0;o=c[c[g>>2]>>2]|0;n=o+48|0;i=a+8|0;if(!((n|0)==412368?1:n>>>0>=(c[i>>2]|0)>>>0)?(c[o+56>>2]&15|0)!=0:0){o=sB(a,3)|0;n=z}else{o=CB(a)|0;n=z}if((n|0)<(d|0)|(n|0)==(d|0)&o>>>0<e>>>0){a=0;l=p;return a|0}b=c6(o|0,n|0,e|0,d|0)|0;f=z;a:do if(!(f>>>0>0|(f|0)==0&b>>>0>2147483646)){b=b6(b|0,f|0,1,0)|0;c[k>>2]=b;g=c[g>>2]|0;h=c[i>>2]|0;f=h;do if(((c[a+24>>2]|0)-f>>4|0)>(b|0))f=b;else{if(((f-(c[a+28>>2]|0)>>4)+5|0)<=(1e6-b|0)?(Kz(a,201,k)|0)==0:0){h=c[i>>2]|0;f=c[k>>2]|0;break}break a}while(0);g=g+4|0;f=h+(f<<4)|0;if((c[g>>2]|0)>>>0<f>>>0)c[g>>2]=f;f=c[m>>2]|0;while(1){Uh[f&63](a,1,e,d)|0;m=e;e=b6(e|0,d|0,1,0)|0;if(!((d|0)<(n|0)|(d|0)==(n|0)&m>>>0<o>>>0))break;else d=z}l=p;return b|0}while(0);oB(a,359109,j);a=0;l=p;return a|0}function WD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;f=i;ZD(a,f);d=CB(a)|0;b=z;g=tB(a,2,d,b)|0;e=z;if(!((g|0)==(d|0)&(e|0)==(b|0))?(h=b6(d|0,b|0,1,0)|0,j=z,(e|0)<0|(e|0)==0&g>>>0<1|((e|0)>(j|0)|(e|0)==(j|0)&g>>>0>h>>>0)):0)nB(a,1,359086)|0;h=c[f>>2]|0;Uh[h&63](a,1,g,e)|0;f=c[f+4>>2]|0;if(!((e|0)<(b|0)|(e|0)==(b|0)&g>>>0<d>>>0)){h=g;j=e;g=a+8|0;e=c[g>>2]|0;d=e+8|0;c[d>>2]=0;e=e+16|0;c[g>>2]=e;ti[f&63](a,1,h,j);l=i;return 1}do{k=g;g=b6(g|0,e|0,1,0)|0;j=e;e=z;Uh[h&63](a,1,g,e)|0;ti[f&63](a,1,k,j)}while((e|0)<(b|0)|(e|0)==(b|0)&g>>>0<d>>>0);k=a+8|0;j=c[k>>2]|0;h=j+8|0;c[h>>2]=0;j=j+16|0;c[k>>2]=j;ti[f&63](a,1,d,b);l=i;return 1}function XD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=sB(a,2)|0;k=z;d=sB(a,3)|0;e=z;m=sB(a,4)|0;n=z;o=a+16|0;b=c[c[o>>2]>>2]|0;i=b+80|0;l=a+8|0;if((i|0)==412368?1:i>>>0>=(c[l>>2]|0)>>>0)g=1;else g=c[b+88>>2]&15|0?5:1;do if(!((e|0)<(k|0)|(e|0)==(k|0)&d>>>0<j>>>0)){do if(!(AB(a,1,359878)|0)){i=c[c[o>>2]>>2]|0;h=i+16|0;if(!((h|0)==412368?1:h>>>0>=(c[l>>2]|0)>>>0)?(c[i+24>>2]&15|0)==5:0){h=7;break}qB(a,1,355292);h=7}else h=6;while(0);do if(!(AB(a,g,359025)|0)){i=c[c[o>>2]>>2]|0;f=i+(g<<4)|0;if(!((f|0)==412368?1:f>>>0>=(c[l>>2]|0)>>>0)?(c[i+(g<<4)+8>>2]&15|0)==5:0){i=19;break}qB(a,g,355292);i=19}else i=18;while(0);f=b6(j|0,k|0,-1,2147483647)|0;b=z;if(!((k|0)>0|(k|0)==0&j>>>0>0|((e|0)<(b|0)|(e|0)==(b|0)&d>>>0<f>>>0)))nB(a,3,359036)|0;f=c6(d|0,e|0,j|0,k|0)|0;b=z;e=c6(-1,2147483647,f|0,b|0)|0;d=z;if((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>e>>>0)nB(a,4,359062)|0;d=(b|0)>-1|(b|0)==-1&f>>>0>4294967295;if((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>j>>>0){if(d)d=f;else break;while(1){f=b6(d|0,b|0,j|0,k|0)|0;Uh[h&63](a,1,f,z)|0;f=b6(d|0,b|0,m|0,n|0)|0;ti[i&63](a,g,f,z);f=d;d=b6(d|0,b|0,-1,-1)|0;if(!((b|0)>0|(b|0)==0&f>>>0>0))break;else b=z}}else{if(d){d=0;e=0}else break;while(1){p=b6(d|0,e|0,j|0,k|0)|0;Uh[h&63](a,1,p,z)|0;p=b6(d|0,e|0,m|0,n|0)|0;ti[i&63](a,g,p,z);p=d;d=b6(d|0,e|0,1,0)|0;if(!((e|0)<(b|0)|(e|0)==(b|0)&p>>>0<f>>>0))break;else e=z}}}while(0);p=c[l>>2]|0;a=(c[c[o>>2]>>2]|0)+(g<<4)|0;a=a>>>0<p>>>0?a:412368;c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];c[l>>2]=(c[l>>2]|0)+16;return 1}function YD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n;f=n+16|0;m=n+8|0;ZD(a,m);j=CB(a)|0;c[f>>2]=70;i=a+16|0;g=c[i>>2]|0;k=a+8|0;b=c[k>>2]|0;d=b;do if(((c[a+24>>2]|0)-d|0)>1120){e=b;b=70;h=5}else{if(((d-(c[a+28>>2]|0)>>4)+5|0)<=999930?(Kz(a,201,f)|0)==0:0){e=c[k>>2]|0;b=c[f>>2]|0;h=5;break}c[e>>2]=436559;oB(a,356224,e);d=c[k>>2]|0}while(0);if((h|0)==5){d=g+4|0;b=e+(b<<4)|0;if((c[d>>2]|0)>>>0<b>>>0)c[d>>2]=b;d=e}b=c[c[i>>2]>>2]|0;h=b+32|0;a:do if(h>>>0>=d>>>0|(h|0)==412368)f=d;else{switch(c[b+40>>2]&15){case 6:case 0:{f=d;break a}default:{}}qB(a,2,361148);b=c[c[i>>2]>>2]|0;f=c[k>>2]|0}while(0);e=b+48|0;if(f>>>0>=e>>>0){c[k>>2]=e;_D(a,m,1,j);l=n;return 0}b=(b+40+4+(3-f)|0)>>>4;d=f;do{c[d+8>>2]=0;d=d+16|0}while(d>>>0<e>>>0);c[k>>2]=f+(b+1<<4);c[k>>2]=e;_D(a,m,1,j);l=n;return 0}function ZD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[d>>2]=0;j=d+4|0;c[j>>2]=0;i=b+16|0;e=(c[c[i>>2]>>2]|0)+16|0;h=b+8|0;f=c[h>>2]|0;e=e>>>0<f>>>0?e:412368;g=c[e+8>>2]|0;switch(g&15){case 5:{e=(c[e>>2]|0)+24|0;break}case 7:{e=(c[e>>2]|0)+8|0;break}default:e=(c[b+12>>2]|0)+244+((g&15)<<2)|0}e=c[e>>2]|0;if(e){c[f>>2]=e;c[f+8>>2]=69;c[h>>2]=(c[h>>2]|0)+16;g=b+12|0;e=c[g>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[g>>2]|0}f=e+280+(((359878>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359878,e+16|0)|0){e=QA(b,359878,7)|0;c[f>>2]=e}f=c[h>>2]|0;c[f>>2]=e;c[f+8>>2]=(a[e+4>>0]|64)&255;f=c[h>>2]|0;c[h>>2]=f+16;e=VA(c[f+-16>>2]|0,f)|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];if(c[(c[h>>2]|0)+-8>>2]&15|0)c[d>>2]=6;e=c[g>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[g>>2]|0}f=e+280+(((359025>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359025,e+16|0)|0){e=QA(b,359025,10)|0;c[f>>2]=e}g=c[h>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;e=c[h>>2]|0;c[h>>2]=e+16;g=VA(c[e+-32>>2]|0,e)|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];e=c[h>>2]|0;if(c[e+-8>>2]&15|0)c[j>>2]=18;f=e+-48|0;c[h>>2]=f;e=c[d>>2]|0;if((e|0)!=0?(c[j>>2]|0)!=0:0)return}else e=0;i=c[c[i>>2]>>2]|0;h=i+16|0;if(!(!(h>>>0>=f>>>0|(h|0)==412368)?(c[i+24>>2]&15|0)==5:0)){qB(b,1,355292);e=c[d>>2]|0}if(!e)c[d>>2]=7;if(c[j>>2]|0)return;c[j>>2]=19;return}function _D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v+8|0;t=v;if((e|0)<=(d|0)){l=v;return}r=b+4|0;s=a+8|0;while(1){g=((d|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,d,g)|0;h=((e|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,e,h)|0;if(!($D(a,-1,-2)|0))c[s>>2]=(c[s>>2]|0)+-32;else{ti[c[r>>2]&63](a,1,d,g);ti[c[r>>2]&63](a,1,e,h)}f=e-d|0;if((f|0)==1){d=25;break}i=(e+d|0)/2|0;j=((i|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,i,j)|0;Uh[c[b>>2]&63](a,1,d,g)|0;do if(!($D(a,-2,-1)|0)){c[s>>2]=(c[s>>2]|0)+-16;Uh[c[b>>2]&63](a,1,e,h)|0;if(!($D(a,-1,-2)|0)){c[s>>2]=(c[s>>2]|0)+-32;break}else{ti[c[r>>2]&63](a,1,i,j);ti[c[r>>2]&63](a,1,e,h);break}}else{ti[c[r>>2]&63](a,1,i,j);ti[c[r>>2]&63](a,1,d,g)}while(0);if((f|0)==2){d=25;break}Uh[c[b>>2]&63](a,1,i,j)|0;p=c[s>>2]|0;q=p+-16|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[s>>2]=(c[s>>2]|0)+16;p=e+-1|0;q=((p|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,p,q)|0;ti[c[r>>2]&63](a,1,i,j);ti[c[r>>2]&63](a,1,p,q);h=d;j=p;while(1){f=h+1|0;g=((f|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,f,g)|0;if(!($D(a,-1,-2)|0)){o=f;n=f;f=h}else while(1){if((e|0)<=(f|0))oB(a,358990,t);c[s>>2]=(c[s>>2]|0)+-16;g=f+1|0;h=((g|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,g,h)|0;if(!($D(a,-1,-2)|0)){o=g;n=g;g=h;break}else f=g}h=j+-1|0;i=((h|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,h,i)|0;if(!($D(a,-3,-1)|0)){m=h;k=h;h=j}else while(1){if((h|0)<=(d|0))oB(a,358990,u);c[s>>2]=(c[s>>2]|0)+-16;i=h+-1|0;j=((i|0)<0)<<31>>31;Uh[c[b>>2]&63](a,1,i,j)|0;if(!($D(a,-3,-1)|0)){m=i;k=i;i=j;break}else h=i}if((h|0)<=(o|0))break;ti[c[r>>2]&63](a,1,n,g);ti[c[r>>2]&63](a,1,k,i);h=o;j=m}c[s>>2]=(c[s>>2]|0)+-48;Uh[c[b>>2]&63](a,1,p,q)|0;Uh[c[b>>2]&63](a,1,n,g)|0;ti[c[r>>2]&63](a,1,p,q);ti[c[r>>2]&63](a,1,n,g);p=(o-d|0)<(e-o|0);o=f+2|0;n=d;d=p?o:d;q=e;e=p?e:f;_D(a,b,p?n:o,p?f:q);if((e|0)<=(d|0)){d=25;break}}if((d|0)==25){l=v;return}}function $D(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=a+16|0;j=c[c[k>>2]>>2]|0;g=j+32|0;n=a+8|0;h=c[n>>2]|0;if(!(g>>>0>=h>>>0|(g|0)==412368)?(c[j+40>>2]&15|0)==0:0){n=jz(a,e,f,1)|0;l=o;return n|0}j=g>>>0<h>>>0?g:412368;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=(c[n>>2]|0)+16|0;c[n>>2]=j;g=e+-1|0;i=c[k>>2]|0;do if((e|0)<=1){if((e|0)>=-1000998){g=j+(g<<4)|0;break}if((g|0)==-1001e3){g=(c[a+12>>2]|0)+40|0;break}h=-1000999-e|0;g=c[i>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[i>>2]|0)+(g<<4)|0;g=g>>>0<j>>>0?g:412368}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];e=(c[n>>2]|0)+16|0;c[n>>2]=e;g=f+-2|0;i=c[k>>2]|0;do if((f|0)<=2){if((g|0)>=-1000999){g=e+(g<<4)|0;break}if((g|0)==-1001e3){g=(c[a+12>>2]|0)+40|0;break}h=-1000998-f|0;g=c[i>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[i>>2]|0)+(g<<4)|0;g=g>>>0<e>>>0?g:412368}while(0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];h=c[n>>2]|0;c[n>>2]=h+16;h=h+-32|0;i=a+106|0;g=(b[i>>1]|0)+1<<16>>16;b[i>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Fz(a,353895,m);if((g&65535)>224)Jz(a,6)}g=a+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(a,h,1)|0))jB(a);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+-1<<16>>16;a=c[n>>2]|0;g=a+-16|0;switch(c[a+-8>>2]|0){case 0:{h=0;break}case 1:{h=(c[g>>2]|0)!=0;break}default:h=1}c[n>>2]=g;n=h&1;l=o;return n|0}function aE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;m=u+16|0;i=u;r=b+12|0;if((c[(c[r>>2]|0)+12>>2]|0)>0)jA(b);g=WA(b)|0;s=b+8|0;h=c[s>>2]|0;c[h>>2]=g;c[h+8>>2]=69;c[s>>2]=(c[s>>2]|0)+16;if((c[(c[r>>2]|0)+12>>2]|0)>0)jA(b);g=WA(b)|0;h=c[s>>2]|0;c[h>>2]=g;c[h+8>>2]=69;c[s>>2]=(c[s>>2]|0)+16;TA(b,g,0,1);g=c[s>>2]|0;c[g>>2]=407;c[g+8>>2]=22;g=c[s>>2]|0;h=g+16|0;c[s>>2]=h;f=(c[r>>2]|0)+280+(((360600>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360600,e+16|0)|0){e=QA(b,360600,4)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-16|0,f,f+-16|0);c[s>>2]=(c[s>>2]|0)+-32;tz(b,-2);f=c[(c[r>>2]|0)+40>>2]|0;c[i>>2]=415624;c[i+8>>2]=2;e=VA(f,i)|0;if((e|0)==412368)e=UA(b,f,i)|0;i=(c[s>>2]|0)+-16|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];e=c[s>>2]|0;if((c[e+-8>>2]&64|0?(j=f+5|0,k=a[j>>0]|0,k&4):0)?a[(c[e+-16>>2]|0)+5>>0]&3:0){i=c[r>>2]|0;a[j>>0]=k&-5;k=i+80|0;c[f+28>>2]=c[k>>2];c[k>>2]=f}c[s>>2]=e+-16;e=c[r>>2]|0;if((c[e+140>>2]|0)!=384){oB(b,356467,m);e=c[r>>2]|0}if((c[e+12>>2]|0)>0)jA(b);m=WA(b)|0;k=c[s>>2]|0;c[k>>2]=m;c[k+8>>2]=69;c[s>>2]=(c[s>>2]|0)+16;TA(b,m,0,7);EB(b,8188,0);if((c[(c[r>>2]|0)+12>>2]|0)>0)jA(b);e=WA(b)|0;m=c[s>>2]|0;c[m>>2]=e;c[m+8>>2]=69;c[s>>2]=(c[s>>2]|0)+16;TA(b,e,4,0);e=c[s>>2]|0;m=e+-32|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[s>>2]=(c[s>>2]|0)+16;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+4|0;g=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!g){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!f)Jz(b,4);else n=f}else n=g;m=e+12|0;c[m>>2]=(c[m>>2]|0)+32;a[n+5>>0]=a[e+60>>0]&3;a[n+4>>0]=38;m=e+64|0;c[n>>2]=c[m>>2];c[m>>2]=n;a[n+6>>0]=1;c[n+12>>2]=408;m=(c[s>>2]|0)+-16|0;c[s>>2]=m;e=n+16|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];e=c[s>>2]|0;c[e>>2]=n;c[e+8>>2]=102;c[s>>2]=(c[s>>2]|0)+16;sz(b,-2,1,0);e=c[s>>2]|0;n=e+-32|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];c[s>>2]=(c[s>>2]|0)+16;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+4|0;g=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!g){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!f)Jz(b,4);else o=f}else o=g;n=e+12|0;c[n>>2]=(c[n>>2]|0)+32;a[o+5>>0]=a[e+60>>0]&3;a[o+4>>0]=38;n=e+64|0;c[o>>2]=c[n>>2];c[n>>2]=o;a[o+6>>0]=1;c[o+12>>2]=409;n=(c[s>>2]|0)+-16|0;c[s>>2]=n;e=o+16|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];e=c[s>>2]|0;c[e>>2]=o;c[e+8>>2]=102;c[s>>2]=(c[s>>2]|0)+16;sz(b,-2,2,0);e=c[s>>2]|0;o=e+-32|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[s>>2]=(c[s>>2]|0)+16;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+4|0;g=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!g){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!f)Jz(b,4);else p=f}else p=g;o=e+12|0;c[o>>2]=(c[o>>2]|0)+32;a[p+5>>0]=a[e+60>>0]&3;a[p+4>>0]=38;o=e+64|0;c[p>>2]=c[o>>2];c[o>>2]=p;a[p+6>>0]=1;c[p+12>>2]=410;o=(c[s>>2]|0)+-16|0;c[s>>2]=o;e=p+16|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];e=c[s>>2]|0;c[e>>2]=p;c[e+8>>2]=102;c[s>>2]=(c[s>>2]|0)+16;sz(b,-2,3,0);e=c[s>>2]|0;p=e+-32|0;c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];c[e+8>>2]=c[p+8>>2];c[e+12>>2]=c[p+12>>2];c[s>>2]=(c[s>>2]|0)+16;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+4|0;g=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!g){if(!(c[e+140>>2]|0))Jz(b,4);kA(b,1);f=Uh[c[e>>2]&63](c[f>>2]|0,0,6,32)|0;if(!f)Jz(b,4);else q=f}else q=g;f=e+12|0;c[f>>2]=(c[f>>2]|0)+32;a[q+5>>0]=a[e+60>>0]&3;a[q+4>>0]=38;f=e+64|0;c[q>>2]=c[f>>2];c[f>>2]=q;a[q+6>>0]=1;c[q+12>>2]=411;f=(c[s>>2]|0)+-16|0;c[s>>2]=f;g=q+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];g=c[s>>2]|0;c[g>>2]=q;c[g+8>>2]=102;c[s>>2]=(c[s>>2]|0)+16;sz(b,-2,4,0);g=c[s>>2]|0;f=(c[r>>2]|0)+280+(((359229>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359229,e+16|0)|0){e=QA(b,359229,9)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;e=c[s>>2]|0;c[s>>2]=e+16;cB(b,g+-32|0,e,e+-16|0);c[s>>2]=(c[s>>2]|0)+-32;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+280+(((359239>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359239,e+16|0)|0){e=QA(b,359239,150)|0;c[f>>2]=e}g=c[s>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[s>>2]|0;h=g+16|0;c[s>>2]=h;f=(c[r>>2]|0)+280+(((359390>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359390,e+16|0)|0){e=QA(b,359390,4)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;e=c[s>>2]|0;c[s>>2]=e+16;cB(b,g+-16|0,e,e+-16|0);c[s>>2]=(c[s>>2]|0)+-32;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+280+(((359395>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359395,e+16|0)|0){e=QA(b,359395,68)|0;c[f>>2]=e}g=c[s>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[s>>2]|0;h=g+16|0;c[s>>2]=h;f=(c[r>>2]|0)+280+(((359464>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359464,e+16|0)|0){e=QA(b,359464,5)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;e=c[s>>2]|0;c[s>>2]=e+16;cB(b,g+-16|0,e,e+-16|0);c[s>>2]=(c[s>>2]|0)+-32;e=c[r>>2]|0;if((c[e+12>>2]|0)>0){jA(b);e=c[r>>2]|0}f=e+280+(((359470>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359470,e+16|0)|0){e=QA(b,359470,10)|0;c[f>>2]=e}g=c[s>>2]|0;c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[s>>2]|0;h=g+16|0;c[s>>2]=h;f=(c[r>>2]|0)+280+(((359481>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359481,e+16|0)|0){e=QA(b,359481,6)|0;c[f>>2]=e}c[h>>2]=e;c[g+24>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-16|0,f,f+-16|0);c[s>>2]=(c[s>>2]|0)+-32;FB(b,359488);g=c[s>>2]|0;f=(c[r>>2]|0)+280+(((359496>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359496,e+16|0)|0){e=QA(b,359496,6)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;f=c[s>>2]|0;c[s>>2]=f+16;cB(b,g+-32|0,f,f+-16|0);c[s>>2]=(c[s>>2]|0)+-32;FB(b,359503);g=c[s>>2]|0;f=(c[r>>2]|0)+280+(((359512>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359512,e+16|0)|0){e=QA(b,359512,7)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;e=c[s>>2]|0;c[s>>2]=e+16;cB(b,g+-32|0,e,e+-16|0);g=(c[s>>2]|0)+-32|0;c[s>>2]=g;e=c[(c[r>>2]|0)+40>>2]|0;if((c[e+8>>2]|0)>>>0>1){r=(c[e+12>>2]|0)+16|0;c[g>>2]=c[r>>2];c[g+4>>2]=c[r+4>>2];c[g+8>>2]=c[r+8>>2];c[g+12>>2]=c[r+12>>2];r=c[s>>2]|0;t=r+16|0;c[s>>2]=t;r=r+-16|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];t=c[s>>2]|0;t=t+16|0;c[s>>2]=t;EB(b,8252,1);t=c[s>>2]|0;t=t+-16|0;c[s>>2]=t;l=u;return 1}f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(r=f+16|0,(c[r>>2]|0)==2&(c[r+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){e=412368;t=85;break}f=f+(e<<5)|0}if((t|0)==85){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];r=c[s>>2]|0;t=r+16|0;c[s>>2]=t;r=r+-16|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];t=c[s>>2]|0;t=t+16|0;c[s>>2]=t;EB(b,8252,1);t=c[s>>2]|0;t=t+-16|0;c[s>>2]=t;l=u;return 1}r=f;c[g>>2]=c[r>>2];c[g+4>>2]=c[r+4>>2];c[g+8>>2]=c[r+8>>2];c[g+12>>2]=c[r+12>>2];r=c[s>>2]|0;t=r+16|0;c[s>>2]=t;r=r+-16|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];t=c[s>>2]|0;t=t+16|0;c[s>>2]=t;EB(b,8252,1);t=c[s>>2]|0;t=t+-16|0;c[s>>2]=t;l=u;return 1}function bE(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=CB(a)|0;e=z;if(!((e|0)>0|(e|0)==0&b>>>0>0))return 0;k=a+16|0;j=a+8|0;do{a=(c[c[k>>2]>>2]|0)+16|0;g=c[j>>2]|0;a=c[(a>>>0<g>>>0?a:412368)>>2]|0;h=b;b=b6(b|0,e|0,-1,-1)|0;i=e;e=z;a:do if(e>>>0<0|((e|0)==0?b>>>0<(c[a+8>>2]|0)>>>0:0))a=(c[a+12>>2]|0)+(b<<4)|0;else{a=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&h)<<5)|0;while(1){if((c[a+24>>2]|0)==19?(f=a+16|0,(c[f>>2]|0)==(h|0)?(c[f+4>>2]|0)==(i|0):0):0)break;f=c[a+28>>2]|0;if(!f){a=412368;break a}a=a+(f<<5)|0}}while(0);c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2]}while((i|0)>0|(i|0)==0&h>>>0>1);return 0}function cE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;g=b+16|0;e=c[c[g>>2]>>2]|0;f=e+16|0;j=b+8|0;d=c[j>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;h=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[g>>2]>>2]|0;d=c[j>>2]|0}h=e+16|0;d=h>>>0<d>>>0?h:412368;oA(b,d);h=5;break}default:{qB(b,1,361511);i=0}}if((h|0)==5)i=(c[d>>2]|0)+16|0;h=b+12|0;f=c[h>>2]|0;g=c[j>>2]|0;e=f+280+(((359503>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359503,d+16|0)|0){d=QA(b,359503,8)|0;c[e>>2]=d}c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;e=c[j>>2]|0;c[j>>2]=e+16;bB(b,f+40|0,e,e);f=c[j>>2]|0;e=(c[h>>2]|0)+280+(((i>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(i,d+16|0)|0){d=QA(b,i,r4(i)|0)|0;c[e>>2]=d}c[f>>2]=d;c[f+8>>2]=(a[d+4>>0]|64)&255;h=c[j>>2]|0;c[j>>2]=h+16;bB(b,f+-16|0,h,h);if(c[(c[j>>2]|0)+-8>>2]&15|0){l=m;return 1}c[k>>2]=i;mz(b,359784,k)|0;l=m;return 1}function dE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+8|0;i=p;j=b+16|0;e=c[c[j>>2]>>2]|0;f=e+16|0;o=b+8|0;d=c[o>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;m=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[j>>2]>>2]|0;d=c[o>>2]|0}m=e+16|0;d=m>>>0<d>>>0?m:412368;oA(b,d);m=5;break}default:{qB(b,1,361511);h=0}}if((m|0)==5)h=(c[d>>2]|0)+16|0;d=c[c[j>>2]>>2]|0;if((c[d+8>>2]|0)==22)f=412368;else{f=c[d>>2]|0;f=(a[f+6>>0]|0)==0?412368:f+16|0}g=c[o>>2]|0;k=b+12|0;e=(c[k>>2]|0)+280+(((359390>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359390,d+16|0)|0){d=QA(b,359390,4)|0;c[e>>2]=d}c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;d=c[o>>2]|0;c[o>>2]=d+16;bB(b,f,d,d);d=c[o>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;m=16;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);d=c[o>>2]|0}d=d+-16|0;oA(b,d);m=16;break}default:{c[i>>2]=359390;oB(b,359589,i);d=0}}if((m|0)==16)d=(c[d>>2]|0)+16|0;g=hE(b,h,d,410430,367409)|0;if(!g){b=1;l=p;return b|0}if(!(wB(b,g,0)|0)){d=c[k>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[k>>2]|0}e=d+280+(((g>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(g,d+16|0)|0){d=QA(b,g,r4(g)|0)|0;c[e>>2]=d}b=c[o>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+16;b=2;l=p;return b|0}e=c[c[j>>2]>>2]|0;f=e+16|0;d=c[o>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{e=f;m=30;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[j>>2]>>2]|0;d=c[o>>2]|0}e=e+16|0;e=e>>>0<d>>>0?e:412368;oA(b,e);d=c[o>>2]|0;m=30;break}default:e=0}if((m|0)==30)e=(c[e>>2]|0)+16|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;m=35;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);d=c[o>>2]|0}d=d+-16|0;oA(b,d);m=35;break}default:d=0}if((m|0)==35)d=(c[d>>2]|0)+16|0;c[n>>2]=e;c[n+4>>2]=g;c[n+8>>2]=d;oB(b,359619,n);b=0;l=p;return b|0}function eE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+8|0;i=p;j=b+16|0;e=c[c[j>>2]>>2]|0;f=e+16|0;o=b+8|0;d=c[o>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;m=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[j>>2]>>2]|0;d=c[o>>2]|0}m=e+16|0;d=m>>>0<d>>>0?m:412368;oA(b,d);m=5;break}default:{qB(b,1,361511);h=0}}if((m|0)==5)h=(c[d>>2]|0)+16|0;d=c[c[j>>2]>>2]|0;if((c[d+8>>2]|0)==22)f=412368;else{f=c[d>>2]|0;f=(a[f+6>>0]|0)==0?412368:f+16|0}g=c[o>>2]|0;k=b+12|0;e=(c[k>>2]|0)+280+(((359464>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359464,d+16|0)|0){d=QA(b,359464,5)|0;c[e>>2]=d}c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;d=c[o>>2]|0;c[o>>2]=d+16;bB(b,f,d,d);d=c[o>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;m=16;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);d=c[o>>2]|0}d=d+-16|0;oA(b,d);m=16;break}default:{c[i>>2]=359464;oB(b,359589,i);d=0}}if((m|0)==16)d=(c[d>>2]|0)+16|0;g=hE(b,h,d,410430,367409)|0;if(!g){b=1;l=p;return b|0}if(!(iE(b,g,h)|0)){d=c[k>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[k>>2]|0}e=d+280+(((g>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(g,d+16|0)|0){d=QA(b,g,r4(g)|0)|0;c[e>>2]=d}b=c[o>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+16;b=2;l=p;return b|0}e=c[c[j>>2]>>2]|0;f=e+16|0;d=c[o>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{e=f;m=30;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[j>>2]>>2]|0;d=c[o>>2]|0}e=e+16|0;e=e>>>0<d>>>0?e:412368;oA(b,e);d=c[o>>2]|0;m=30;break}default:e=0}if((m|0)==30)e=(c[e>>2]|0)+16|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;m=35;break}case 3:{if((c[(c[k>>2]|0)+12>>2]|0)>0){jA(b);d=c[o>>2]|0}d=d+-16|0;oA(b,d);m=35;break}default:d=0}if((m|0)==35)d=(c[d>>2]|0)+16|0;c[n>>2]=e;c[n+4>>2]=g;c[n+8>>2]=d;oB(b,359619,n);b=0;l=p;return b|0}function fE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;k=r+24|0;p=r+8|0;j=r;m=b+16|0;e=c[c[m>>2]>>2]|0;f=e+16|0;q=b+8|0;d=c[q>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{d=f;o=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);e=c[c[m>>2]>>2]|0;d=c[q>>2]|0}o=e+16|0;d=o>>>0<d>>>0?o:412368;oA(b,d);o=5;break}default:{qB(b,1,361511);i=0}}if((o|0)==5)i=(c[d>>2]|0)+16|0;d=s4(i,46)|0;if(!d){b=0;l=r;return b|0}n=b+12|0;if((c[(c[n>>2]|0)+12>>2]|0)>0)jA(b);d=QA(b,i,d-i|0)|0;e=c[q>>2]|0;c[e>>2]=d;c[e+8>>2]=(a[d+4>>0]|64)&255;e=c[q>>2]|0;d=e+16|0;c[q>>2]=d;switch(c[e+8>>2]&15){case 4:{d=e;o=14;break}case 3:{if((c[(c[n>>2]|0)+12>>2]|0)>0){jA(b);d=c[q>>2]|0}d=d+-16|0;oA(b,d);o=14;break}default:h=0}if((o|0)==14)h=(c[d>>2]|0)+16|0;d=c[c[m>>2]>>2]|0;if((c[d+8>>2]|0)==22)f=412368;else{f=c[d>>2]|0;f=(a[f+6>>0]|0)==0?412368:f+16|0}g=c[q>>2]|0;e=(c[n>>2]|0)+280+(((359464>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359464,d+16|0)|0){d=QA(b,359464,5)|0;c[e>>2]=d}c[g>>2]=d;c[g+8>>2]=(a[d+4>>0]|64)&255;d=c[q>>2]|0;c[q>>2]=d+16;bB(b,f,d,d);d=c[q>>2]|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;o=24;break}case 3:{if((c[(c[n>>2]|0)+12>>2]|0)>0){jA(b);d=c[q>>2]|0}d=d+-16|0;oA(b,d);o=24;break}default:{c[j>>2]=359464;oB(b,359589,j);d=0}}if((o|0)==24)d=(c[d>>2]|0)+16|0;g=hE(b,h,d,410430,367409)|0;if(!g){b=1;l=r;return b|0}switch(iE(b,g,i)|0){case 0:{d=c[n>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[n>>2]|0}e=d+280+(((g>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(g,d+16|0)|0){d=QA(b,g,r4(g)|0)|0;c[e>>2]=d}b=c[q>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+16;b=2;l=r;return b|0}case 2:{c[k>>2]=i;c[k+4>>2]=g;mz(b,359665,k)|0;b=1;l=r;return b|0}default:{e=c[c[m>>2]>>2]|0;f=e+16|0;d=c[q>>2]|0;f=f>>>0<d>>>0?f:412368;switch(c[f+8>>2]&15){case 4:{e=f;o=32;break}case 3:{if((c[(c[n>>2]|0)+12>>2]|0)>0){jA(b);d=c[q>>2]|0;e=c[c[m>>2]>>2]|0}e=e+16|0;e=e>>>0<d>>>0?e:412368;oA(b,e);d=c[q>>2]|0;o=32;break}default:e=0}if((o|0)==32)e=(c[e>>2]|0)+16|0;switch(c[d+-8>>2]&15){case 4:{d=d+-16|0;o=37;break}case 3:{if((c[(c[n>>2]|0)+12>>2]|0)>0){jA(b);d=c[q>>2]|0}d=d+-16|0;oA(b,d);o=37;break}default:d=0}if((o|0)==37)d=(c[d>>2]|0)+16|0;c[p>>2]=e;c[p+4>>2]=g;c[p+8>>2]=d;oB(b,359619,p);b=0;l=r;return b|0}}return 0}function gE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;C=l;l=l+8256|0;x=C+40|0;v=C+32|0;u=C+24|0;k=C+16|0;w=C;t=C+48|0;A=e+16|0;g=c[c[A>>2]>>2]|0;h=g+16|0;B=e+8|0;f=c[B>>2]|0;h=h>>>0<f>>>0?h:412368;switch(c[h+8>>2]&15){case 4:{f=h;r=5;break}case 3:{if((c[(c[e+12>>2]|0)+12>>2]|0)>0){jA(e);g=c[c[A>>2]>>2]|0;f=c[B>>2]|0}r=g+16|0;f=r>>>0<f>>>0?r:412368;oA(e,f);r=5;break}default:{qB(e,1,361511);y=0}}if((r|0)==5)y=(c[f>>2]|0)+16|0;i=c[c[A>>2]>>2]|0;f=c[B>>2]|0;j=i+32|0;if(f>>>0<j>>>0){g=(i+24+4+(3-f)|0)>>>4;h=f;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<j>>>0);c[B>>2]=f+(g+1<<4)}c[B>>2]=j;s=e+12|0;h=c[s>>2]|0;g=h+280+(((359488>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359488,f+16|0)|0){f=QA(e,359488,7)|0;c[g>>2]=f}c[j>>2]=f;c[i+40>>2]=(a[f+4>>0]|64)&255;i=c[B>>2]|0;c[B>>2]=i+16;bB(e,h+40|0,i,i);h=(c[c[A>>2]>>2]|0)+32|0;i=c[B>>2]|0;q=(y>>>0)%127|0;g=(c[s>>2]|0)+280+(q<<2)|0;f=c[g>>2]|0;if(e3(y,f+16|0)|0){f=QA(e,y,r4(y)|0)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;j=c[B>>2]|0;c[B>>2]=j+16;bB(e,h>>>0<i>>>0?h:412368,j,j);i=c[B>>2]|0;j=i+-16|0;switch(c[i+-8>>2]|0){case 0:break;case 1:{r=18;break}default:{l=C;return 1}}if((r|0)==18?c[j>>2]|0:0){l=C;return 1}c[B>>2]=j;n=t+12|0;c[n>>2]=e;o=t+16|0;c[t>>2]=o;p=t+8|0;c[p>>2]=0;c[t+4>>2]=8192;f=c[c[A>>2]>>2]|0;if((c[f+8>>2]|0)==22)h=412368;else{h=c[f>>2]|0;h=(a[h+6>>0]|0)==0?412368:h+16|0}g=(c[s>>2]|0)+280+(((359229>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359229,f+16|0)|0){f=QA(e,359229,9)|0;c[g>>2]=f}c[j>>2]=f;c[i+-8>>2]=(a[f+4>>0]|64)&255;m=c[B>>2]|0;c[B>>2]=m+16;bB(e,h,m,m);if((c[(c[B>>2]|0)+-8>>2]&15|0)!=5)oB(e,359528,k);k=e+106|0;m=e+104|0;j=1;while(1){h=((j|0)<0)<<31>>31;f=(c[c[A>>2]>>2]|0)+48|0;i=c[B>>2]|0;f=c[(f>>>0<i>>>0?f:412368)>>2]|0;g=b6(j|0,h|0,-1,-1)|0;D=z;a:do if(D>>>0<0|((D|0)==0?g>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(g<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&j)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(D=f+16|0,(c[D>>2]|0)==(j|0)?(c[D+4>>2]|0)==(h|0):0):0)break;g=c[f+28>>2]|0;if(!g){f=412368;break a}f=f+(g<<5)|0}}while(0);c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];f=c[B>>2]|0;c[B>>2]=f+16;if(!(c[f+8>>2]&15)){c[B>>2]=f;f=c[n>>2]|0;g=c[t>>2]|0;h=c[p>>2]|0;if((c[(c[f+12>>2]|0)+12>>2]|0)>0)jA(f);D=QA(f,g,h)|0;h=f+8|0;f=c[h>>2]|0;c[f>>2]=D;c[f+8>>2]=(a[D+4>>0]|64)&255;f=c[h>>2]|0;c[h>>2]=f+16;if((c[t>>2]|0)!=(o|0)){g=f;f=f+-16|0;do{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0);c[h>>2]=(c[h>>2]|0)+-16}f=c[B>>2]|0;switch(c[f+-8>>2]&15){case 4:{f=f+-16|0;r=46;break}case 3:{if((c[(c[s>>2]|0)+12>>2]|0)>0){jA(e);f=c[B>>2]|0}f=f+-16|0;oA(e,f);r=46;break}default:f=0}if((r|0)==46){r=0;f=(c[f>>2]|0)+16|0}c[u>>2]=y;c[u+4>>2]=f;oB(e,359564,u)}lz(e,y);f=(c[B>>2]|0)+-32|0;g=(b[k>>1]|0)+1<<16>>16;b[k>>1]=g;if((g&65535)>199){if(g<<16>>16==200){r=50;break}if((g&65535)>224){r=52;break}}b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(!(Nz(e,f,2)|0))jB(e);b[m>>1]=(b[m>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;g=c[B>>2]|0;h=g+-32|0;f=c[g+-24>>2]|0;if((h|0)!=412368&(f&15|0)==6){r=60;break}if(((f&15)+-3|0)>>>0<2){c[B>>2]=g+-16;vB(t)}else c[B>>2]=h;j=j+1|0}if((r|0)==50)Fz(e,353895,v);else if((r|0)==52)Jz(e,6);else if((r|0)==60){lz(e,y);g=c[B>>2]|0;f=g+-16|0;g=g+-32|0;do{c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];g=g+16|0;f=f+-16|0}while(g>>>0<f>>>0);f=(c[B>>2]|0)+-48|0;g=(b[k>>1]|0)+1<<16>>16;b[k>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Fz(e,353895,x);if((g&65535)>224)Jz(e,6)}b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(!(Nz(e,f,1)|0))jB(e);b[m>>1]=(b[m>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;f=c[B>>2]|0;if((f+-16|0)!=412368?(c[f+-8>>2]&15|0)==0:0)i=f;else{qz(e,2,y);i=c[B>>2]|0}h=(c[c[A>>2]>>2]|0)+32|0;g=(c[s>>2]|0)+280+(q<<2)|0;f=c[g>>2]|0;if(e3(y,f+16|0)|0){f=QA(e,y,r4(y)|0)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;f=c[B>>2]|0;c[B>>2]=f+16;bB(e,h>>>0<i>>>0?h:412368,f,f);f=c[B>>2]|0;if(c[f+-8>>2]&15|0){l=C;return 1}c[f>>2]=1;c[f+8>>2]=1;D=f+16|0;c[B>>2]=D;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];c[B>>2]=(c[B>>2]|0)+16;qz(e,2,y);l=C;return 1}return 0}function hE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+8240|0;n=s+16|0;r=s;q=s+24|0;m=q+12|0;c[m>>2]=b;p=q+16|0;c[q>>2]=p;o=q+8|0;c[o>>2]=0;c[q+4>>2]=8192;if(a[f>>0]|0)d=HB(b,d,f,g)|0;i=b+12|0;j=b+8|0;f=e;a:while(1){switch(a[f>>0]|0){case 0:break a;case 59:{f=f+1|0;continue a}default:{}}g=s4(f,59)|0;if(!g)h=f+(r4(f)|0)|0;else h=g;if((c[(c[i>>2]|0)+12>>2]|0)>0)jA(b);g=QA(b,f,h-f|0)|0;f=c[j>>2]|0;c[f>>2]=g;c[f+8>>2]=(a[g+4>>0]|64)&255;f=c[j>>2]|0;g=f+16|0;c[j>>2]=g;if(!h)break;switch(c[f+8>>2]&15){case 4:{g=f;k=15;break}case 3:{if((c[(c[i>>2]|0)+12>>2]|0)>0){jA(b);g=c[j>>2]|0}g=g+-16|0;oA(b,g);k=15;break}default:g=0}if((k|0)==15){k=0;g=(c[g>>2]|0)+16|0}e=HB(b,g,359767,d)|0;f=c[j>>2]|0;g=f+-16|0;f=f+-32|0;do{c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[r>>2];c[g+4>>2]=c[r+4>>2];c[g+8>>2]=c[r+8>>2];c[g+12>>2]=c[r+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16;g=Q4(e,381985)|0;if(g|0){k=19;break}c[n>>2]=e;mz(b,359769,n)|0;f=c[j>>2]|0;g=f+-16|0;f=f+-32|0;do{c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];c[r+8>>2]=c[f+8>>2];c[r+12>>2]=c[f+12>>2];c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[g>>2]=c[r>>2];c[g+4>>2]=c[r+4>>2];c[g+8>>2]=c[r+8>>2];c[g+12>>2]=c[r+12>>2];f=f+16|0;g=g+-16|0}while(f>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16;vB(q);f=h}if((k|0)==19){W4(g)|0;r=e;l=s;return r|0}d=c[m>>2]|0;f=c[q>>2]|0;g=c[o>>2]|0;if((c[(c[d+12>>2]|0)+12>>2]|0)>0)jA(d);o=QA(d,f,g)|0;f=d+8|0;g=c[f>>2]|0;c[g>>2]=o;c[g+8>>2]=(a[o+4>>0]|64)&255;g=c[f>>2]|0;c[f>>2]=g+16;if((c[q>>2]|0)==(p|0)){r=0;l=s;return r|0}d=g;g=g+-16|0;do{c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[r+12>>2]=c[g+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];g=g+16|0;d=d+-16|0}while(g>>>0<d>>>0);c[f>>2]=(c[f>>2]|0)+-16;r=0;l=s;return r|0}function iE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;h=i+8|0;g=i;e=HB(b,e,410430,359695)|0;f=s4(e,45)|0;do if(f){if((c[(c[b+12>>2]|0)+12>>2]|0)>0)jA(b);e=QA(b,e,f-e|0)|0;j=b+8|0;k=c[j>>2]|0;c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;c[j>>2]=(c[j>>2]|0)+16;c[g>>2]=e+16;e=jE(b,d,mz(b,359697,g)|0)|0;if((e|0)==2){e=f+1|0;break}else{k=e;l=i;return k|0}}while(0);c[h>>2]=e;k=jE(b,d,mz(b,359697,h)|0)|0;l=i;return k|0}function jE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;k=b+12|0;g=(c[k>>2]|0)+40|0;c[i>>2]=415624;c[i+8>>2]=2;m=b+8|0;h=c[m>>2]|0;i=VA(c[g>>2]|0,i)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];h=c[m>>2]|0;i=h+16|0;c[m>>2]=i;g=(c[k>>2]|0)+280+(((d>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(d,f+16|0)|0){f=QA(b,d,r4(d)|0)|0;c[g>>2]=f}c[i>>2]=f;c[h+24>>2]=(a[f+4>>0]|64)&255;g=c[m>>2]|0;c[m>>2]=g+16;bB(b,h,g,g);g=c[m>>2]|0;switch(c[g+-8>>2]&15){case 7:{f=g+-32|0;c[m>>2]=f;break}case 2:{i=c[g+-16>>2]|0;f=g+-32|0;c[m>>2]=f;if(!i)j=8;break}default:{c[m>>2]=g+-32;j=8}}if((j|0)==8){f=c[k>>2]|0;if((c[f+12>>2]|0)>0){jA(b);f=c[k>>2]|0}g=f+280+(((359708>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359708,f+16|0)|0){f=QA(b,359708,58)|0;c[g>>2]=f}b=c[m>>2]|0;c[b>>2]=f;c[b+8>>2]=(a[f+4>>0]|64)&255;b=1;k=(c[m>>2]|0)+16|0;c[m>>2]=k;l=n;return b|0}if((a[e>>0]|0)==42){c[f>>2]=1;c[g+-24>>2]=1;b=0;k=g+-16|0;c[m>>2]=k;l=n;return b|0}f=c[k>>2]|0;if((c[f+12>>2]|0)>0){jA(b);f=c[k>>2]|0}g=f+280+(((359708>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359708,f+16|0)|0){f=QA(b,359708,58)|0;c[g>>2]=f}b=c[m>>2]|0;c[b>>2]=f;c[b+8>>2]=(a[f+4>>0]|64)&255;b=2;k=(c[m>>2]|0)+16|0;c[m>>2]=k;l=n;return b|0}function kE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;g=a+16|0;d=c[c[g>>2]>>2]|0;e=d+16|0;i=a+8|0;b=c[i>>2]|0;e=e>>>0<b>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{b=e;h=5;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[g>>2]>>2]|0;b=c[i>>2]|0}h=d+16|0;b=h>>>0<b>>>0?h:412368;oA(a,b);h=5;break}default:{qB(a,1,361511);f=0}}if((h|0)==5)f=(c[b>>2]|0)+16|0;d=c[c[g>>2]>>2]|0;e=d+32|0;b=c[i>>2]|0;e=e>>>0<b>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{b=e;h=11;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[g>>2]>>2]|0;b=c[i>>2]|0}h=d+32|0;b=h>>>0<b>>>0?h:412368;oA(a,b);h=11;break}default:{qB(a,2,361511);b=0}}if((h|0)==11)b=(c[b>>2]|0)+16|0;e=jE(a,f,b)|0;if(!e){j=1;l=k;return j|0}d=c[i>>2]|0;c[d+8>>2]=0;c[i>>2]=d+16;b=d;d=d+-16|0;do{c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];d=d+16|0;b=b+-16|0}while(d>>>0<b>>>0);lz(a,(e|0)==1?359836:359843);j=3;l=k;return j|0}function lE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;j=a+16|0;d=c[c[j>>2]>>2]|0;e=d+16|0;m=a+8|0;b=c[m>>2]|0;e=e>>>0<b>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{b=e;h=5;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[j>>2]>>2]|0;b=c[m>>2]|0}h=d+16|0;b=h>>>0<b>>>0?h:412368;oA(a,b);h=5;break}default:{qB(a,1,361511);i=0}}if((h|0)==5)i=(c[b>>2]|0)+16|0;d=c[c[j>>2]>>2]|0;e=d+32|0;b=c[m>>2]|0;e=e>>>0<b>>>0?e:412368;switch(c[e+8>>2]&15){case 4:{b=e;h=11;break}case 3:{if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[j>>2]>>2]|0;b=c[m>>2]|0}h=d+32|0;b=h>>>0<b>>>0?h:412368;oA(a,b);h=11;break}default:{qB(a,2,361511);g=0}}if((h|0)==11)g=(c[b>>2]|0)+16|0;d=c[c[j>>2]>>2]|0;b=d+48|0;e=c[m>>2]|0;a:do if(!(b>>>0>=e>>>0|(b|0)==412368)?(f=c[d+56>>2]|0,(f&15|0)!=0):0){switch(f&15){case 4:break;case 3:{h=16;break}default:{qB(a,3,361511);f=0;break a}}if((h|0)==16){if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[j>>2]>>2]|0;b=c[m>>2]|0}else b=e;f=d+48|0;b=f>>>0<b>>>0?f:412368;oA(a,b)}f=(c[b>>2]|0)+16|0}else f=410430;while(0);d=c[c[j>>2]>>2]|0;e=d+64|0;b=c[m>>2]|0;b:do if(!(e>>>0>=b>>>0|(e|0)==412368)?(k=c[d+72>>2]|0,(k&15|0)!=0):0){switch(k&15){case 4:{b=e;break}case 3:{h=24;break}default:{qB(a,4,361511);b=0;break b}}if((h|0)==24){if((c[(c[a+12>>2]|0)+12>>2]|0)>0){jA(a);d=c[c[j>>2]>>2]|0;b=c[m>>2]|0}k=d+64|0;b=k>>>0<b>>>0?k:412368;oA(a,b)}b=(c[b>>2]|0)+16|0}else b=367409;while(0);if(hE(a,i,g,f,b)|0){n=1;l=o;return n|0}d=c[m>>2]|0;c[d+8>>2]=0;c[m>>2]=d+16;b=d;d=d+-16|0;do{c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];c[b+12>>2]=c[n+12>>2];d=d+16|0;b=b+-16|0}while(d>>>0<b>>>0);n=2;l=o;return n|0}function mE(a){a=a|0;var b=0,d=0;b=pB(a,1)|0;d=c[a+12>>2]|0;a=b+4|0;c[b>>2]=Uh[c[d>>2]&63](c[d+4>>2]|0,c[b>>2]|0,c[a>>2]<<2,0)|0;c[a>>2]=0;return 0}function nE(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m+8|0;i=m;e=JE(a,1,0)|0;f=c[c[a+16>>2]>>2]|0;b=f+32|0;g=a+8|0;h=c[g>>2]|0;b=b>>>0<h>>>0?b:412368;switch(c[b+8>>2]|0){case 1:{k=2;break}case 0:{oB(a,360542,i);oB(a,360542,j);l=m;return 0}default:{}}if((k|0)==2?(c[b>>2]|0)==0:0){oB(a,360542,i);oB(a,360542,j);l=m;return 0}k=f+16|0;k=c[(k>>>0<h>>>0?k:412368)>>2]|0;n=k+16|0;b=c[n+4>>2]|0;f=h;c[f>>2]=c[n>>2];c[f+4>>2]=b;c[h+8>>2]=d[k+6>>0];c[g>>2]=(c[g>>2]|0)+16;LE(a,0,0,e);c[g>>2]=(c[g>>2]|0)+-16;oB(a,360542,i);oB(a,360542,j);l=m;return 0}function oE(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+16|0;e=f+8|0;b=pB(a,1)|0;oB(a,360542,f);if(c[b>>2]|0){oB(a,360542,e);l=f;return 0}i=(c[c[a+16>>2]>>2]|0)+16|0;g=a+8|0;h=c[g>>2]|0;i=c[(i>>>0<h>>>0?i:412368)>>2]|0;m=i+16|0;k=c[m+4>>2]|0;j=h;c[j>>2]=c[m>>2];c[j+4>>2]=k;c[h+8>>2]=d[i+6>>0];c[g>>2]=(c[g>>2]|0)+16;LE(a,0,0,b+8|0);c[g>>2]=(c[g>>2]|0)+-16;_E(a,b)|0;oB(a,360542,e);l=f;return 0}function pE(f){f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0.0;na=l;l=l+5168|0;ja=na+64|0;ia=na+56|0;ha=na+48|0;ga=na+40|0;fa=na+32|0;ea=na+24|0;ma=na;n=na+360|0;da=na+352|0;ca=na+328|0;m=na+72|0;JE(f,1,0)|0;g=pB(f,1)|0;i=c[g>>2]|0;if(!i){Y=f+16|0;X=(c[c[Y>>2]>>2]|0)+16|0;la=f+8|0;i=c[la>>2]|0;X=c[(X>>>0<i>>>0?X:412368)>>2]|0;T=X+16|0;U=c[T+4>>2]|0;V=i;c[V>>2]=c[T>>2];c[V+4>>2]=U;c[i+8>>2]=d[X+6>>0];c[la>>2]=(c[la>>2]|0)+16;LE(f,0,0,g+8|0);c[la>>2]=(c[la>>2]|0)+-16;i=_E(f,g)|0}else{Y=f+16|0;la=f+8|0}j=c[c[Y>>2]>>2]|0;k=j+32|0;g=c[la>>2]|0;k=k>>>0<g>>>0?k:412368;switch(c[k+8>>2]&15){case 4:{g=k;W=8;break}case 3:{if((c[(c[f+12>>2]|0)+12>>2]|0)>0){jA(f);j=c[c[Y>>2]>>2]|0;g=c[la>>2]|0}W=j+32|0;g=W>>>0<g>>>0?W:412368;oA(f,g);W=8;break}default:{qB(f,2,361511);X=0;j=0}}if((W|0)==8){g=c[g>>2]|0;if((a[g+4>>0]|0)==4)j=d[g+7>>0]|0;else j=c[g+12>>2]|0;X=g+16|0}g=tB(f,3,1,0)|0;k=z;if((k|0)>0|(k|0)==0&g>>>0>0)g=g>>>0>j>>>0?j:g+-1|0;else{g=c6(0,0,g|0,k|0)|0;g=j>>>0<g>>>0?0:j-g|0}R=c[la>>2]|0;T=R-((c[c[Y>>2]>>2]|0)+16)|0;V=T>>4;c[R+8>>2]=0;k=R+16|0;c[la>>2]=k;c[k>>2]=m;c[R+24>>2]=2;R=c[la>>2]|0;k=R+16|0;c[la>>2]=k;U=c[c[Y>>2]>>2]|0;U=c[(U>>>0<R>>>0?U+16|0:412368)>>2]|0;F=U+16|0;E=c[F+4>>2]|0;c[k>>2]=c[F>>2];c[k+4>>2]=E;c[R+24>>2]=d[U+6>>0];R=c[la>>2]|0;U=R+16|0;c[la>>2]=U;k=X+g|0;E=X+j|0;c[da>>2]=n+4800;c[n+4>>2]=8672;c[n>>2]=k;c[n+8>>2]=0;c[U>>2]=n;c[R+24>>2]=2;c[la>>2]=(c[la>>2]|0)+16;R=V+2|0;U=X;F=ca+16|0;G=ca+8|0;H=ca+4|0;I=ca+12|0;J=((j|0)<0)<<31>>31;K=ca+20|0;L=f+24|0;M=f+106|0;O=f+104|0;S=f+12|0;Q=f+28|0;D=32;t=0;u=0;g=n+12|0;a:while(1){b:do switch(a[i>>0]|0){case 9:{W=20;break a}case 20:{n=(d[i+1>>0]|0)>>>4;a[m+(t<<3)+7>>0]=n+1;n=k+(0-n)|0;W=201;break}case 8:{v=u;w=t;x=D;y=m;C=k;i=c[g+-8>>2]|0;g=g+-12|0;u=v;t=w;D=x;m=y;k=C;continue a}case 0:{if(k>>>0<E>>>0){v=g;w=u;x=t;y=D;C=m;k=k+1|0;i=i+4|0;g=v;u=w;t=x;D=y;m=C;continue a}else i=t;break}case 3:if(k>>>0<E>>>0){s=g;v=u;w=t;x=D;y=m;C=k;i=i+8|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}else{s=g;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}case 1:{if(k>>>0<E>>>0?(a[k>>0]|0)==(a[i+1>>0]|0):0){v=g;w=u;x=t;y=D;C=m;k=k+1|0;i=i+4|0;g=v;u=w;t=x;D=y;m=C;continue a}else i=t;break}case 4:if(k>>>0<E>>>0?(a[k>>0]|0)==(a[i+1>>0]|0):0){s=g;v=u;w=t;x=D;y=m;C=k;i=i+8|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}else{s=g;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}case 2:{C=d[k>>0]|0;if(k>>>0<E>>>0?(1<<(C&7)&d[i+4+(C>>>3)>>0]|0)!=0:0){v=g;w=u;x=t;y=D;C=m;k=k+1|0;i=i+36|0;g=v;u=w;t=x;D=y;m=C;continue a}else i=t;break}case 5:{C=d[k>>0]|0;if(k>>>0<E>>>0?(1<<(C&7)&d[i+8+(C>>>3)>>0]|0)!=0:0){s=g;v=u;w=t;x=D;y=m;C=k;i=i+40|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}else{s=g;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}}case 7:{n=d[i+1>>0]|0;if((n|0)>(k-U|0))i=t;else{v=g;w=u;x=t;y=D;C=m;k=k+(0-n)|0;i=i+4|0;g=v;u=w;t=x;D=y;m=C;continue a}break}case 6:{c:do if(k>>>0<E>>>0){n=i+4|0;do{C=d[k>>0]|0;if(!(1<<(C&7)&d[n+(C>>>3)>>0]))break c;k=k+1|0}while(k>>>0<E>>>0)}while(0);v=g;w=u;x=t;y=D;C=m;i=i+36|0;g=v;u=w;t=x;D=y;m=C;continue a}case 11:{s=g;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}case 10:{if((g|0)==(c[da>>2]|0))g=BF(f,da,V)|0;c[g+4>>2]=i+(c[i+4>>2]<<2);c[g>>2]=k;c[g+8>>2]=t;v=u;w=t;x=D;y=m;C=k;i=i+8|0;g=g+12|0;u=v;t=w;D=x;m=y;k=C;continue a}case 12:{if((g|0)==(c[da>>2]|0))g=BF(f,da,V)|0;c[g>>2]=0;c[g+4>>2]=i+8;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=g+12|0;u=v;t=w;D=x;m=y;k=C;continue a}case 14:{v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=g+-12|0;u=v;t=w;D=x;m=y;k=C;continue a}case 15:{c[g+-12>>2]=k;c[g+-4>>2]=t;s=g;v=u;w=t;x=D;y=m;C=k;i=i+(c[i+4>>2]<<2)|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}case 16:{w=g+-12|0;x=u;y=D;C=m;k=c[w>>2]|0;t=c[g+-4>>2]|0;i=i+(c[i+4>>2]<<2)|0;g=w;u=x;D=y;m=C;continue a}case 17:{i=t;g=g+-12|0;break}case 18:{i=t;break}case 23:{q=c[la>>2]|0;r=c[Y>>2]|0;w=q-((c[r>>2]|0)+16)>>4;c[F>>2]=X;c[G>>2]=f;c[H>>2]=m;c[I>>2]=V;C=m+(t<<3)|0;n=C;o=0;while(1){x=n;while(1){n=x;x=x+-8|0;if(!(a[n+-2>>0]|0)){W=71;break}if(!(a[n+-1>>0]|0)){W=73;break}}if((W|0)==71){n=x;o=o+1|0;continue}else if((W|0)==73){W=0;if(!o)break;else{n=x;o=o+-1|0;continue}}}y=w+1|0;o=q;d:do if(x>>>0<C>>>0){n=x;while(1){if((a[n+6>>0]|0)==13)break;n=n+8|0;if(n>>>0>=C>>>0){v=0;break d}}v=e[n+4>>1]|0}else v=0;while(0);a[m+(t<<3)+6>>0]=0;c[C>>2]=k;c[ca>>2]=x;c[K>>2]=0;c[ma>>2]=24;do if(((c[L>>2]|0)-q|0)>384){$=o;aa=24;W=82}else{if(((q-(c[Q>>2]|0)>>4)+5|0)<=999976?(Kz(f,201,ma)|0)==0:0){$=c[la>>2]|0;aa=c[ma>>2]|0;W=82;break}c[ea>>2]=361715;oB(f,356224,ea)}while(0);if((W|0)==82?(W=0,Z=r+4|0,_=$+(aa<<4)|0,(c[Z>>2]|0)>>>0<_>>>0):0)c[Z>>2]=_;oz(c[G>>2]|0,(c[I>>2]|0)+3|0,e[(c[ca>>2]|0)+4>>1]|0,0)|0;r=c[la>>2]|0;q=(c[c[Y>>2]>>2]|0)+32|0;q=q>>>0<r>>>0?q:412368;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];r=c[la>>2]|0;q=k+1-(c[F>>2]|0)|0;n=r+16|0;c[n>>2]=q;c[n+4>>2]=((q|0)<0)<<31>>31;c[r+24>>2]=19;c[la>>2]=r+32;r=c[ca>>2]|0;n=r+8|0;c[ca>>2]=n;q=a[r+7>>0]|0;if(!(q<<24>>24)){if(a[r+14>>0]|0){n=0;do{n=(CF(ca)|0)+n|0;o=c[ca>>2]|0}while((a[o+6>>0]|0)!=0);if(!n){n=o;W=93}}else W=93;if((W|0)==93){W=0;q=c[G>>2]|0;o=c[r>>2]|0;n=(c[n>>2]|0)-o|0;if((c[(c[q+12>>2]|0)+12>>2]|0)>0)jA(q);s=QA(q,o,n)|0;o=q+8|0;n=c[o>>2]|0;c[n>>2]=s;c[n+8>>2]=(a[s+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+16;o=c[ca>>2]|0;n=1}c[ca>>2]=o+8}else{o=c[G>>2]|0;n=c[r>>2]|0;if((c[(c[o+12>>2]|0)+12>>2]|0)>0)jA(o);r=QA(o,n,(q&255)+-1|0)|0;n=o+8|0;s=c[n>>2]|0;c[s>>2]=r;c[s+8>>2]=(a[r+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+16;n=1}n=(c[la>>2]|0)+(-3-n<<4)|0;o=(b[M>>1]|0)+1<<16>>16;b[M>>1]=o;if((o&65535)>199){if(o<<16>>16==200){W=99;break a}if((o&65535)>224){W=101;break a}}b[O>>1]=(b[O>>1]|0)+1<<16>>16;if(!(Nz(f,n,-1)|0))jB(f);b[O>>1]=(b[O>>1]|0)+-1<<16>>16;b[M>>1]=(b[M>>1]|0)+-1<<16>>16;o=c[Y>>2]|0;q=o+4|0;n=c[la>>2]|0;if((c[q>>2]|0)>>>0<n>>>0)c[q>>2]=n;if(!v){q=o;r=n;n=0}else{if((v|0)<=(w|0)){s=v;while(1){o=n+-16|0;q=(c[c[Y>>2]>>2]|0)+(v<<4)|0;n=q>>>0<n>>>0?q:412368;q=n+16|0;if(q>>>0<o>>>0){r=o;do{c[ma>>2]=c[q>>2];c[ma+4>>2]=c[q+4>>2];c[ma+8>>2]=c[q+8>>2];c[ma+12>>2]=c[q+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[r>>2]=c[ma>>2];c[r+4>>2]=c[ma+4>>2];c[r+8>>2]=c[ma+8>>2];c[r+12>>2]=c[ma+12>>2];q=q+16|0;r=r+-16|0}while(q>>>0<r>>>0)}if(n>>>0<o>>>0)do{c[ma>>2]=c[n>>2];c[ma+4>>2]=c[n+4>>2];c[ma+8>>2]=c[n+8>>2];c[ma+12>>2]=c[n+12>>2];c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[o>>2]=c[ma>>2];c[o+4>>2]=c[ma+4>>2];c[o+8>>2]=c[ma+8>>2];c[o+12>>2]=c[ma+12>>2];n=n+16|0;o=o+-16|0}while(n>>>0<o>>>0);n=(c[la>>2]|0)+-16|0;c[la>>2]=n;if((s|0)>=(w|0))break;else s=s+1|0}o=c[Y>>2]|0}q=o;r=n;n=y-v|0}w=t-(C-x>>3)|0;u=u-n|0;v=y-n|0;s=k-U|0;t=(v|0)>0;do if(!t){if((v|0)>=-1000999){k=r+(v<<4)|0;break}if((v|0)==-1001e3){k=(c[S>>2]|0)+40|0;break}k=-1001e3-v|0;n=c[q>>2]|0;if((c[n+8>>2]|0)==22)k=412368;else{C=c[n>>2]|0;k=(k|0)>(d[C+6>>0]|0)?412368:C+16+(k+-1<<4)|0}}else{k=(c[q>>2]|0)+(v<<4)|0;k=k>>>0<r>>>0?k:412368}while(0);switch(c[k+8>>2]|0){case 0:{W=125;break}case 1:{if(!(c[k>>2]|0))W=125;break}default:{}}if((W|0)==125){W=0;if(!t){c[la>>2]=r+(v<<4);i=w;break b}i=c[q>>2]|0;n=i+(v<<4)|0;if(r>>>0<n>>>0){i=(i+(v+-1<<4)+8+4+(3-r)|0)>>>4;k=r;do{c[k+8>>2]=0;k=k+16|0}while(k>>>0<n>>>0);c[la>>2]=r+(i+1<<4)}c[la>>2]=n;i=w;break b}do if(t){k=c[q>>2]|0;n=k+(v<<4)|0;if(n>>>0<r>>>0){k=n;W=140}else W=144}else{if((v|0)>=-1000999){k=r+(v<<4)|0;W=140;break}if((v|0)==-1001e3){k=(c[S>>2]|0)+40|0;W=140;break}n=-1001e3-v|0;k=c[q>>2]|0;if((c[k+8>>2]|0)!=22){o=c[k>>2]|0;if((n|0)>(d[o+6>>0]|0))W=150;else{k=o+16+(n+-1<<4)|0;W=140}}else{n=412368;W=151}}while(0);do if((W|0)==140){W=0;if((k|0)!=412368?(c[k+8>>2]&15|0)==1:0){k=s;break}if(t){k=c[q>>2]|0;W=144;break}if((v|0)>=-1000999){n=r+(v<<4)|0;W=151;break}if((v|0)!=-1001e3){k=c[q>>2]|0;if((c[k+8>>2]|0)==22){n=412368;W=151;break}else{n=-1001e3-v|0;W=150;break}}else{n=(c[S>>2]|0)+40|0;W=151;break}}while(0);if((W|0)==144){n=k+(v<<4)|0;n=n>>>0<r>>>0?n:412368;W=151}else if((W|0)==150){C=c[k>>2]|0;n=(n|0)>(d[C+6>>0]|0)?412368:C+16+(n+-1<<4)|0;W=151}do if((W|0)==151){W=0;k=c[n+8>>2]|0;do if((k|0)!=19){e:while(1){switch(k|0){case 3:{W=155;break e}case 19:{W=158;break e}default:{}}if((k&15|0)!=4){W=166;break}o=nA((c[n>>2]|0)+16|0,ma)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((o|0)!=(k+1|0)){W=166;break}n=ma;k=c[ma+8>>2]|0}if((W|0)==155){oa=+h[n>>3];p=+A(+oa);if(!(oa!=p)?p>=-9223372036854775808.0&p<9223372036854775808.0:0){k=~~p>>>0;n=+B(p)>=1.0?(p>0.0?~~+P(+A(p/4294967296.0),4294967295.0)>>>0:~~+N((p-+(~~p>>>0))/4294967296.0)>>>0):0;W=165}else W=166}else if((W|0)==158){k=c[n>>2]|0;n=c[n+4>>2]|0;W=165}if((W|0)==165){W=0;o=k;break}else if((W|0)==166){W=0;o=0;n=0;break}}else{o=c[n>>2]|0;n=c[n+4>>2]|0}while(0);k=b6(o|0,n|0,-1,-1)|0;C=z;y=((s|0)<0)<<31>>31;if((n|0)>(y|0)|(n|0)==(y|0)&o>>>0>s>>>0?!((C|0)>(J|0)|(C|0)==(J|0)&k>>>0>j>>>0):0)break;oB(f,361567,ga)}while(0);n=c[la>>2]|0;o=n+-16|0;r=c[Y>>2]|0;do if(!t){if((v|0)>=-1000999){n=n+(v<<4)|0;break}if((v|0)==-1001e3){n=(c[S>>2]|0)+40|0;break}q=-1001e3-v|0;n=c[r>>2]|0;if((c[n+8>>2]|0)==22)n=412368;else{n=c[n>>2]|0;n=(q|0)>(d[n+6>>0]|0)?412368:n+16+(q+-1<<4)|0}}else{C=(c[r>>2]|0)+(v<<4)|0;n=C>>>0<n>>>0?C:412368}while(0);q=n+16|0;if(q>>>0<o>>>0){r=o;do{c[ma>>2]=c[q>>2];c[ma+4>>2]=c[q+4>>2];c[ma+8>>2]=c[q+8>>2];c[ma+12>>2]=c[q+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[r>>2]=c[ma>>2];c[r+4>>2]=c[ma+4>>2];c[r+8>>2]=c[ma+8>>2];c[r+12>>2]=c[ma+12>>2];q=q+16|0;r=r+-16|0}while(q>>>0<r>>>0)}if(n>>>0<o>>>0)do{c[ma>>2]=c[n>>2];c[ma+4>>2]=c[n+4>>2];c[ma+8>>2]=c[n+8>>2];c[ma+12>>2]=c[n+12>>2];c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[o>>2]=c[ma>>2];c[o+4>>2]=c[ma+4>>2];c[o+8>>2]=c[ma+8>>2];c[o+12>>2]=c[ma+12>>2];n=n+16|0;o=o+-16|0}while(n>>>0<o>>>0);n=(c[la>>2]|0)+-16|0;c[la>>2]=n;if((k|0)==-1)i=w;else{k=X+k|0;n=n-((c[c[Y>>2]>>2]|0)+16)|0;q=(n>>4)-v|0;u=u+1+q|0;if((q|0)>-1){if((n|0)>524240)oB(f,361615,ha);n=w+3+q|0;if((n|0)<(D|0))o=D;else{if((n|0)>134217726)oB(f,361741,ia);o=zz(f,n<<4)|0;s6(o|0,m|0,w<<3|0)|0;iz(f,R);c[la>>2]=(c[la>>2]|0)+-16;m=o;o=n<<1}a[m+(w<<3)+6>>0]=14;a[m+(w<<3)+7>>0]=0;b[m+(w<<3)+4>>1]=0;t=v+65535|0;s=q+2|0;r=w+1|0;q=1;while(1){a[m+(r<<3)+6>>0]=13;D=q+w|0;a[m+(D<<3)+7>>0]=1;b[m+(D<<3)+4>>1]=t+q;c[m+(D<<3)>>2]=k;q=q+1|0;if((q|0)==(s|0))break;else r=q+w|0}D=s+w|0;a[m+(D<<3)+6>>0]=0;a[m+(D<<3)+7>>0]=1;c[m+(D<<3)>>2]=k}else{o=D;n=w}C=g;D=o;t=n;i=i+4|0;g=C;continue a}break}case 22:{n=t+-1|0;o=m+(n<<3)+7|0;if((a[o>>0]|0)==0?(ba=k-(c[m+(n<<3)>>2]|0)|0,(ba|0)<255):0){a[o>>0]=ba+1;s=g;v=u;w=t;x=D;y=m;C=k;i=i+4|0;g=s;u=v;t=w;D=x;m=y;k=C;continue a}a[m+(t<<3)+7>>0]=1;n=k;W=201;break}case 21:{a[m+(t<<3)+7>>0]=0;n=k;W=201;break}default:{ka=0;break a}}while(0);if((W|0)==201){W=0;c[m+(t<<3)>>2]=n;b[m+(t<<3)+4>>1]=b[i+2>>1]|0;a[m+(t<<3)+6>>0]=a[i+1>>0]&15;o=t+1|0;if((o|0)<(D|0))n=D;else{if((t|0)>134217725)oB(f,361741,ja);n=zz(f,o<<4)|0;s6(n|0,m|0,o<<3|0)|0;iz(f,R);c[la>>2]=(c[la>>2]|0)+-16;m=n;n=o<<1}x=g;y=u;C=k;D=n;t=o;i=i+4|0;g=x;u=y;k=C;continue}v=g;while(1){g=v+-12|0;k=c[g>>2]|0;if(!k)v=g;else break}t=c[v+-4>>2]|0;if((u|0)>0){n=m+(i<<3)|0;f:do if((t|0)<(i|0)){i=m+(t<<3)|0;while(1){if((a[i+6>>0]|0)==13)break;i=i+8|0;if(i>>>0>=n>>>0){i=0;break f}}C=b[i+4>>1]|0;o=C&65535;if(C<<16>>16){i=c[la>>2]|0;n=c[c[Y>>2]>>2]|0;q=i-(n+16)>>4;r=i;s=n+(o<<4)|0;if(r>>>0<s>>>0){i=(n+(o+-1<<4)+8+4+(3-i)|0)>>>4;n=r;do{c[n+8>>2]=0;n=n+16|0}while(n>>>0<s>>>0);c[la>>2]=r+(i+1<<4)}c[la>>2]=s;i=1-o+q|0}else i=0}else i=0;while(0);i=u-i|0}else i=u;y=D;C=m;u=i;i=c[v+-8>>2]|0;D=y;m=C}if((W|0)==20){a[m+(t<<3)+6>>0]=0;c[m+(t<<3)>>2]=0;ka=k}else if((W|0)==99)Fz(f,353895,fa);else if((W|0)==101)Jz(f,6);if(!ka){ma=c[la>>2]|0;c[ma+8>>2]=0;c[la>>2]=ma+16;ma=1;l=na;return ma|0}g=c[Y>>2]|0;do if((T|0)<=-32){if((R|0)>=-1000999){g=(c[la>>2]|0)+(R<<4)|0;break}if((R|0)==-1001e3){g=(c[S>>2]|0)+40|0;break}i=-1001002-V|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i|0)>(d[g+6>>0]|0)?412368:g+16+(i+-1<<4)|0}}else{g=(c[g>>2]|0)+(R<<4)|0;g=g>>>0<(c[la>>2]|0)>>>0?g:412368}while(0);switch(c[g+8>>2]&15){case 7:{g=(c[g>>2]|0)+24|0;break}case 2:{g=c[g>>2]|0;break}default:g=0}if(a[g+6>>0]|0){c[ma>>2]=g;c[ma+4>>2]=g;c[ma+8>>2]=f;c[ma+16>>2]=X;c[ma+20>>2]=0;c[ma+12>>2]=V;g=0;do g=(CF(ma)|0)+g|0;while((a[(c[ma>>2]|0)+6>>0]|0)!=0);if(!g)W=223}else W=223;if((W|0)==223){ka=1-U+ka|0;g=c[la>>2]|0;ma=g;c[ma>>2]=ka;c[ma+4>>2]=((ka|0)<0)<<31>>31;c[g+8>>2]=19;c[la>>2]=g+16;g=1}ma=g;l=na;return ma|0}function qE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;n=s;e=JE(b,1,0)|0;r=ZE(e)|0;if((r|0)<=-1)nB(b,1,360454)|0;if(XE(e)|0)nB(b,1,360488)|0;if((r|0)>=256)nB(b,1,360510)|0;k=JE(b,1,n)|0;p=zz(b,(c[n>>2]<<3)+16|0)|0;o=b+12|0;g=c[o>>2]|0;q=b+8|0;h=c[q>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[q>>2]|0;c[q>>2]=h+16;bB(b,g+40|0,h,h);h=c[q>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[q>>2]|0;c[q>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;u=h;t=c[u+4>>2]|0;g=e+16|0;c[g>>2]=c[u>>2];c[g+4>>2]=t;a[e+6>>0]=c[h+8>>2];e=c[q>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(i=(c[f>>2]|0)+5|0,j=a[i>>0]|0,(j&4)!=0):0)?(m=c[e+-16>>2]|0,(a[m+5>>0]&3)!=0):0){f=c[o>>2]|0;if((d[f+61>>0]|0)<2){$z(f,m);e=c[q>>2]|0;break}else{a[i>>0]=a[f+60>>0]&3|j&-8;break}}while(0);c[q>>2]=e+-16;tz(b,-2);c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=14;s6(p+16|0,k|0,c[n>>2]<<3|0)|0;e=(c[c[b+16>>2]>>2]|0)+16|0;u=c[q>>2]|0;e=c[(e>>>0<u>>>0?e:412368)>>2]|0;n=e+16|0;b=c[n+4>>2]|0;i=u;c[i>>2]=c[n>>2];c[i+4>>2]=b;c[u+8>>2]=d[e+6>>0];u=c[q>>2]|0;c[q>>2]=u+16;e=u+-16|0;i=c[e>>2]|0;b=u;n=c[b+4>>2]|0;t=i+16|0;c[t>>2]=c[b>>2];c[t+4>>2]=n;a[i+6>>0]=c[u+8>>2];i=c[q>>2]|0;if(!(c[i+-8>>2]&64)){u=i;u=u+-16|0;c[q>>2]=u;u=p+12|0;c[u>>2]=r;l=s;return 1}f=(c[e>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4)){u=i;u=u+-16|0;c[q>>2]=u;u=p+12|0;c[u>>2]=r;l=s;return 1}h=c[i+-16>>2]|0;if(!(a[h+5>>0]&3)){u=i;u=u+-16|0;c[q>>2]=u;u=p+12|0;c[u>>2]=r;l=s;return 1}e=c[o>>2]|0;if((d[e+61>>0]|0)<2){$z(e,h);u=c[q>>2]|0;u=u+-16|0;c[q>>2]=u;u=p+12|0;c[u>>2]=r;l=s;return 1}else{a[f>>0]=a[e+60>>0]&3|g&-8;u=i;u=u+-16|0;c[q>>2]=u;u=p+12|0;c[u>>2]=r;l=s;return 1}return 0}function rE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=zz(e,16)|0;m=e+12|0;h=c[m>>2]|0;o=e+8|0;i=c[o>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[o>>2]|0;c[o>>2]=i+16;bB(e,h+40|0,i,i);i=c[o>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[o>>2]|0;c[o>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;q=i;p=c[q+4>>2]|0;h=f+16|0;c[h>>2]=c[q>>2];c[h+4>>2]=p;a[f+6>>0]=c[i+8>>2];f=c[o>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(l=c[f+-16>>2]|0,(a[l+5>>0]&3)!=0):0){g=c[m>>2]|0;if((d[g+61>>0]|0)<2){$z(g,l);f=c[o>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[o>>2]=f+-16;tz(e,-2);c[n>>2]=0;c[n+4>>2]=0;a[n+8>>0]=11;q=c[c[e+16>>2]>>2]|0;p=q+16|0;if(!(!((p|0)==412368?1:p>>>0>=(c[o>>2]|0)>>>0)?(c[q+24>>2]&15|0)!=0:0))nB(e,1,360431)|0;if((c[(c[m>>2]|0)+12>>2]|0)>0)jA(e);q=WA(e)|0;f=c[o>>2]|0;c[f>>2]=q;c[f+8>>2]=69;c[o>>2]=(c[o>>2]|0)+16;TA(e,q,1,0);q=c[o>>2]|0;f=q+-32|0;j=c[f>>2]|0;k=q+-16|0;l=c[k+4>>2]|0;p=j+16|0;c[p>>2]=c[k>>2];c[p+4>>2]=l;a[j+6>>0]=c[q+-8>>2];j=c[o>>2]|0;if(!(c[j+-8>>2]&64)){p=j;p=p+-16|0;c[o>>2]=p;p=OE(e,1)|0;p=p&65535;q=n+10|0;b[q>>1]=p;return 1}g=(c[f>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4)){p=j;p=p+-16|0;c[o>>2]=p;p=OE(e,1)|0;p=p&65535;q=n+10|0;b[q>>1]=p;return 1}i=c[j+-16>>2]|0;if(!(a[i+5>>0]&3)){p=j;p=p+-16|0;c[o>>2]=p;p=OE(e,1)|0;p=p&65535;q=n+10|0;b[q>>1]=p;return 1}f=c[m>>2]|0;if((d[f+61>>0]|0)<2){$z(f,i);p=c[o>>2]|0;p=p+-16|0;c[o>>2]=p;p=OE(e,1)|0;p=p&65535;q=n+10|0;b[q>>1]=p;return 1}else{a[g>>0]=a[f+60>>0]&3|h&-8;p=j;p=p+-16|0;c[o>>2]=p;p=OE(e,1)|0;p=p&65535;q=n+10|0;b[q>>1]=p;return 1}return 0}function sE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;o=s;n=JE(e,1,o)|0;q=zz(e,(c[o>>2]<<3)+16|0)|0;p=e+12|0;h=c[p>>2]|0;r=e+8|0;i=c[r>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[r>>2]|0;c[r>>2]=i+16;bB(e,h+40|0,i,i);i=c[r>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[r>>2]|0;c[r>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;u=i;t=c[u+4>>2]|0;h=f+16|0;c[h>>2]=c[u>>2];c[h+4>>2]=t;a[f+6>>0]=c[i+8>>2];f=c[r>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[p>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[r>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[r>>2]=f+-16;tz(e,-2);c[q>>2]=0;c[q+4>>2]=0;a[q+8>>0]=15;s6(q+16|0,n|0,c[o>>2]<<3|0)|0;f=(c[c[e+16>>2]>>2]|0)+16|0;u=c[r>>2]|0;f=c[(f>>>0<u>>>0?f:412368)>>2]|0;o=f+16|0;e=c[o+4>>2]|0;j=u;c[j>>2]=c[o>>2];c[j+4>>2]=e;c[u+8>>2]=d[f+6>>0];u=c[r>>2]|0;c[r>>2]=u+16;f=u+-16|0;j=c[f>>2]|0;e=u;o=c[e+4>>2]|0;t=j+16|0;c[t>>2]=c[e>>2];c[t+4>>2]=o;a[j+6>>0]=c[u+8>>2];j=c[r>>2]|0;if(!(c[j+-8>>2]&64)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=5;u=q+10|0;b[u>>1]=0;l=s;return 1}g=(c[f>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=5;u=q+10|0;b[u>>1]=0;l=s;return 1}i=c[j+-16>>2]|0;if(!(a[i+5>>0]&3)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=5;u=q+10|0;b[u>>1]=0;l=s;return 1}f=c[p>>2]|0;if((d[f+61>>0]|0)<2){$z(f,i);u=c[r>>2]|0;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=5;u=q+10|0;b[u>>1]=0;l=s;return 1}else{a[g>>0]=a[f+60>>0]&3|h&-8;u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=5;u=q+10|0;b[u>>1]=0;l=s;return 1}return 0}function tE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=e+8|0;A=(c[B>>2]|0)-((c[c[e+16>>2]>>2]|0)+16)|0;g=A>>4;switch(g|0){case 0:{k=zz(e,16)|0;j=e+12|0;h=c[j>>2]|0;i=c[B>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;A=c[B>>2]|0;c[B>>2]=A+16;bB(e,h+40|0,A,A);A=c[B>>2]|0;g=A+-16|0;c[A>>2]=c[g>>2];c[A+4>>2]=c[g+4>>2];c[A+8>>2]=c[g+8>>2];c[A+12>>2]=c[g+12>>2];A=c[B>>2]|0;c[B>>2]=A+16;g=A+-32|0;f=c[g>>2]|0;x=A;y=c[x+4>>2]|0;z=f+16|0;c[z>>2]=c[x>>2];c[z+4>>2]=y;a[f+6>>0]=c[A+8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(r=(c[g>>2]|0)+5|0,s=a[r>>0]|0,(s&4)!=0):0)?(t=c[f+-16>>2]|0,(a[t+5>>0]&3)!=0):0){g=c[j>>2]|0;if((d[g+61>>0]|0)<2){$z(g,t);f=c[B>>2]|0;break}else{a[r>>0]=a[g+60>>0]&3|s&-8;break}}while(0);c[B>>2]=f+-16;tz(e,-2);c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=3;return 1}case 1:{k=zz(e,24)|0;j=e+12|0;h=c[j>>2]|0;i=c[B>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;A=c[B>>2]|0;c[B>>2]=A+16;bB(e,h+40|0,A,A);A=c[B>>2]|0;g=A+-16|0;c[A>>2]=c[g>>2];c[A+4>>2]=c[g+4>>2];c[A+8>>2]=c[g+8>>2];c[A+12>>2]=c[g+12>>2];A=c[B>>2]|0;c[B>>2]=A+16;g=A+-32|0;f=c[g>>2]|0;x=A;y=c[x+4>>2]|0;z=f+16|0;c[z>>2]=c[x>>2];c[z+4>>2]=y;a[f+6>>0]=c[A+8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(l=(c[g>>2]|0)+5|0,m=a[l>>0]|0,(m&4)!=0):0)?(n=c[f+-16>>2]|0,(a[n+5>>0]&3)!=0):0){g=c[j>>2]|0;if((d[g+61>>0]|0)<2){$z(g,n);f=c[B>>2]|0;break}else{a[l>>0]=a[g+60>>0]&3|m&-8;break}}while(0);c[B>>2]=f+-16;tz(e,-2);c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=15;a[k+9>>0]=2;a[k+16>>0]=3;if((c[(c[j>>2]|0)+12>>2]|0)>0)jA(e);A=WA(e)|0;g=c[B>>2]|0;c[g>>2]=A;c[g+8>>2]=69;c[B>>2]=(c[B>>2]|0)+16;TA(e,A,1,0);A=c[B>>2]|0;g=A+-32|0;f=c[g>>2]|0;x=A+-16|0;y=c[x+4>>2]|0;z=f+16|0;c[z>>2]=c[x>>2];c[z+4>>2]=y;a[f+6>>0]=c[A+-8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(u=(c[g>>2]|0)+5|0,v=a[u>>0]|0,(v&4)!=0):0)?(w=c[f+-16>>2]|0,(a[w+5>>0]&3)!=0):0){g=c[j>>2]|0;if((d[g+61>>0]|0)<2){$z(g,w);f=c[B>>2]|0;break}else{a[u>>0]=a[g+60>>0]&3|v&-8;break}}while(0);c[B>>2]=f+-16;b[k+10>>1]=OE(e,1)|0;return 1}default:{l=zz(e,(g*24|0)+8|0)|0;k=e+12|0;i=c[k>>2]|0;j=c[B>>2]|0;h=i+280+(((359865>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[h>>2]=f}c[j>>2]=f;c[j+8>>2]=(a[f+4>>0]|64)&255;w=c[B>>2]|0;c[B>>2]=w+16;bB(e,i+40|0,w,w);w=c[B>>2]|0;h=w+-16|0;c[w>>2]=c[h>>2];c[w+4>>2]=c[h+4>>2];c[w+8>>2]=c[h+8>>2];c[w+12>>2]=c[h+12>>2];w=c[B>>2]|0;c[B>>2]=w+16;h=w+-32|0;f=c[h>>2]|0;t=w;u=c[t+4>>2]|0;v=f+16|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[f+6>>0]=c[w+8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(o=(c[h>>2]|0)+5|0,p=a[o>>0]|0,(p&4)!=0):0)?(q=c[f+-16>>2]|0,(a[q+5>>0]&3)!=0):0){h=c[k>>2]|0;if((d[h+61>>0]|0)<2){$z(h,q);f=c[B>>2]|0;break}else{a[o>>0]=a[h+60>>0]&3|p&-8;break}}while(0);c[B>>2]=f+-16;tz(e,-2);c[l>>2]=0;c[l+4>>2]=0;j=l+8|0;if((c[(c[k>>2]|0)+12>>2]|0)>0)jA(e);f=WA(e)|0;h=c[B>>2]|0;c[h>>2]=f;c[h+8>>2]=69;h=(c[B>>2]|0)+16|0;c[B>>2]=h;if((A|0)>0){TA(e,f,g,0);h=c[B>>2]|0}i=h+-32|0;f=c[i>>2]|0;u=h+-16|0;v=c[u+4>>2]|0;w=f+16|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;a[f+6>>0]=c[h+-8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(x=(c[i>>2]|0)+5|0,y=a[x>>0]|0,(y&4)!=0):0)?(z=c[f+-16>>2]|0,(a[z+5>>0]&3)!=0):0){h=c[k>>2]|0;if((d[h+61>>0]|0)<2){$z(h,z);f=c[B>>2]|0;break}else{a[x>>0]=a[h+60>>0]&3|y&-8;break}}while(0);c[B>>2]=f+-16;a[j>>0]=15;a[l+9>>0]=14;b[l+10>>1]=0;f=l+16|0;if((A|0)<32){h=f;g=1}else{h=f;i=1;while(1){a[h>>0]=6;B=f+4|0;c[B>>2]=3;a[f+8>>0]=15;a[f+9>>0]=2;a[f+16>>0]=3;b[f+10>>1]=OE(e,i)|0;f=f+(c[B>>2]<<3)|0;i=i+1|0;if((i|0)==(g|0)){h=f;break}else h=f}}a[h>>0]=15;a[f+1>>0]=2;a[f+8>>0]=3;b[f+2>>1]=OE(e,g)|0;return 1}}return 0}function uE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;D=l;l=l+16|0;A=D;o=D+4|0;w=e+16|0;B=c[c[w>>2]>>2]|0;s=B+32|0;C=e+8|0;if(!(!((s|0)==412368?1:s>>>0>=(c[C>>2]|0)>>>0)?(c[B+40>>2]&15|0)==6:0))qB(e,2,361148);n=JE(e,1,o)|0;B=zz(e,(c[o>>2]<<3)+16|0)|0;s=e+12|0;h=c[s>>2]|0;i=c[C>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;bB(e,h+40|0,i,i);i=c[C>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[C>>2]|0;c[C>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;F=i;E=c[F+4>>2]|0;h=f+16|0;c[h>>2]=c[F>>2];c[h+4>>2]=E;a[f+6>>0]=c[i+8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[C>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[C>>2]=f+-16;tz(e,-2);c[B>>2]=0;c[B+4>>2]=0;a[B+8>>0]=16;s6(B+16|0,n|0,c[o>>2]<<3|0)|0;g=(c[c[w>>2]>>2]|0)+16|0;F=c[C>>2]|0;g=c[(g>>>0<F>>>0?g:412368)>>2]|0;o=g+16|0;n=c[o+4>>2]|0;f=F;c[f>>2]=c[o>>2];c[f+4>>2]=n;c[F+8>>2]=d[g+6>>0];F=c[C>>2]|0;c[C>>2]=F+16;g=F+-16|0;f=c[g>>2]|0;n=F;o=c[n+4>>2]|0;E=f+16|0;c[E>>2]=c[n>>2];c[E+4>>2]=o;a[f+6>>0]=c[F+8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(p=(c[g>>2]|0)+5|0,q=a[p>>0]|0,(q&4)!=0):0)?(r=c[f+-16>>2]|0,(a[r+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,r);f=c[C>>2]|0;break}else{a[p>>0]=a[g+60>>0]&3|q&-8;break}}while(0);c[C>>2]=f+-16;if((c[(c[s>>2]|0)+12>>2]|0)>0)jA(e);F=WA(e)|0;g=c[C>>2]|0;c[g>>2]=F;c[g+8>>2]=69;c[C>>2]=(c[C>>2]|0)+16;TA(e,F,1,0);F=c[C>>2]|0;g=F+-32|0;f=c[g>>2]|0;q=F+-16|0;r=c[q+4>>2]|0;E=f+16|0;c[E>>2]=c[q>>2];c[E+4>>2]=r;a[f+6>>0]=c[F+-8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(t=(c[g>>2]|0)+5|0,u=a[t>>0]|0,(u&4)!=0):0)?(v=c[f+-16>>2]|0,(a[v+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,v);f=c[C>>2]|0;break}else{a[t>>0]=a[g+60>>0]&3|u&-8;break}}while(0);E=f+-16|0;c[C>>2]=E;g=c[f+-32>>2]|0;v=g+16|0;F=c[v+4>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=F;c[f+-8>>2]=d[g+6>>0];g=c[C>>2]|0;E=g+16|0;c[C>>2]=E;F=c[c[w>>2]>>2]|0;F=c[(F>>>0<g>>>0?F+16|0:412368)>>2]|0;v=F+16|0;w=c[v+4>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=w;c[g+24>>2]=d[F+6>>0];g=c[C>>2]|0;c[C>>2]=g+16;a:do if((g|0)!=412368?(x=c[g+8>>2]|0,(x&15|0)==5):0)switch(x&63){case 4:{m=d[(c[g>>2]|0)+7>>0]|0;break a}case 20:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 7:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 5:{m=XA(c[g>>2]|0)|0;break a}default:{m=0;break a}}else m=0;while(0);f=g+-16|0;b:do if((f|0)!=412368?(y=c[g+-8>>2]|0,(y&15|0)==5):0)switch(y&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break b}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 5:{f=XA(c[f>>2]|0)|0;break b}default:{f=0;break b}}else f=0;while(0);if((f+m|0)>65535)oB(e,360220,A);if(!m){E=0;F=c[C>>2]|0;F=F+-32|0;c[C>>2]=F;KE(0,E);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}if((m|0)<1){E=f;F=c[C>>2]|0;F=F+-32|0;c[C>>2]=F;KE(0,E);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}else k=1;while(1){i=((k|0)<0)<<31>>31;j=c[C>>2]|0;g=c[j+-16>>2]|0;h=b6(k|0,i|0,-1,-1)|0;F=z;c:do if(F>>>0<0|((F|0)==0?h>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(h<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+-1&k)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(F=g+16|0,(c[F>>2]|0)==(k|0)?(c[F+4>>2]|0)==(i|0):0):0)break;h=c[g+28>>2]|0;if(!h){g=412368;break c}g=g+(h<<5)|0}}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[C>>2]=(c[C>>2]|0)+16;F=k+f|0;sz(e,-3,F,((F|0)<0)<<31>>31);if((k|0)==(m|0))break;else k=k+1|0}E=c[C>>2]|0;E=E+-32|0;c[C>>2]=E;KE(0,f);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}function vE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=(c[c[e+16>>2]>>2]|0)+16|0;n=e+8|0;if((o|0)==412368?1:o>>>0>=(c[n>>2]|0)>>>0)nB(e,1,357826)|0;o=zz(e,24)|0;m=e+12|0;h=c[m>>2]|0;i=c[n>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(e,h+40|0,i,i);i=c[n>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[n>>2]|0;c[n>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;q=i;p=c[q+4>>2]|0;h=f+16|0;c[h>>2]=c[q>>2];c[h+4>>2]=p;a[f+6>>0]=c[i+8>>2];f=c[n>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(l=c[f+-16>>2]|0,(a[l+5>>0]&3)!=0):0){g=c[m>>2]|0;if((d[g+61>>0]|0)<2){$z(g,l);f=c[n>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[n>>2]=f+-16;tz(e,-2);c[o>>2]=0;c[o+4>>2]=0;a[o+8>>0]=15;a[o+9>>0]=3;a[o+16>>0]=3;if((c[(c[m>>2]|0)+12>>2]|0)>0)jA(e);q=WA(e)|0;f=c[n>>2]|0;c[f>>2]=q;c[f+8>>2]=69;c[n>>2]=(c[n>>2]|0)+16;TA(e,q,1,0);q=c[n>>2]|0;f=q+-32|0;j=c[f>>2]|0;k=q+-16|0;l=c[k+4>>2]|0;p=j+16|0;c[p>>2]=c[k>>2];c[p+4>>2]=l;a[j+6>>0]=c[q+-8>>2];j=c[n>>2]|0;if(!(c[j+-8>>2]&64)){p=j;p=p+-16|0;c[n>>2]=p;p=OE(e,1)|0;p=p&65535;q=o+10|0;b[q>>1]=p;return 1}g=(c[f>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4)){p=j;p=p+-16|0;c[n>>2]=p;p=OE(e,1)|0;p=p&65535;q=o+10|0;b[q>>1]=p;return 1}i=c[j+-16>>2]|0;if(!(a[i+5>>0]&3)){p=j;p=p+-16|0;c[n>>2]=p;p=OE(e,1)|0;p=p&65535;q=o+10|0;b[q>>1]=p;return 1}f=c[m>>2]|0;if((d[f+61>>0]|0)<2){$z(f,i);p=c[n>>2]|0;p=p+-16|0;c[n>>2]=p;p=OE(e,1)|0;p=p&65535;q=o+10|0;b[q>>1]=p;return 1}else{a[g>>0]=a[f+60>>0]&3|h&-8;p=j;p=p+-16|0;c[n>>2]=p;p=OE(e,1)|0;p=p&65535;q=o+10|0;b[q>>1]=p;return 1}return 0}function wE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=sB(e,1)|0;o=zz(e,24)|0;j=e+12|0;h=c[j>>2]|0;p=e+8|0;i=c[p>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[p>>2]|0;c[p>>2]=i+16;bB(e,h+40|0,i,i);i=c[p>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[p>>2]|0;c[p>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;r=i;q=c[r+4>>2]|0;h=f+16|0;c[h>>2]=c[r>>2];c[h+4>>2]=q;a[f+6>>0]=c[i+8>>2];f=c[p>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(k=(c[g>>2]|0)+5|0,l=a[k>>0]|0,(l&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[j>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[p>>2]|0;break}else{a[k>>0]=a[g+60>>0]&3|l&-8;break}}while(0);c[p>>2]=f+-16;tz(e,-2);c[o>>2]=0;c[o+4>>2]=0;a[o+8>>0]=15;a[o+9>>0]=4;a[o+16>>0]=3;b[o+10>>1]=n;if((n+-1|0)>>>0<32767)return 1;nB(e,1,360408)|0;return 1}function xE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=zz(b,24)|0;i=b+12|0;g=c[i>>2]|0;n=b+8|0;h=c[n>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[n>>2]|0;c[n>>2]=h+16;bB(b,g+40|0,h,h);h=c[n>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[n>>2]|0;c[n>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;p=h;o=c[p+4>>2]|0;g=e+16|0;c[g>>2]=c[p>>2];c[g+4>>2]=o;a[e+6>>0]=c[h+8>>2];e=c[n>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(j=(c[f>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(l=c[e+-16>>2]|0,(a[l+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,l);e=c[n>>2]|0;break}else{a[j>>0]=a[f+60>>0]&3|k&-8;break}}while(0);c[n>>2]=e+-16;tz(b,-2);c[m>>2]=0;c[m+4>>2]=0;a[m+8>>0]=15;a[m+9>>0]=1;a[m+16>>0]=3;return 1}function yE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;o=s;n=JE(e,1,o)|0;q=zz(e,(c[o>>2]<<3)+16|0)|0;p=e+12|0;h=c[p>>2]|0;r=e+8|0;i=c[r>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[r>>2]|0;c[r>>2]=i+16;bB(e,h+40|0,i,i);i=c[r>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[r>>2]|0;c[r>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;u=i;t=c[u+4>>2]|0;h=f+16|0;c[h>>2]=c[u>>2];c[h+4>>2]=t;a[f+6>>0]=c[i+8>>2];f=c[r>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[p>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[r>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[r>>2]=f+-16;tz(e,-2);c[q>>2]=0;c[q+4>>2]=0;a[q+8>>0]=15;s6(q+16|0,n|0,c[o>>2]<<3|0)|0;f=(c[c[e+16>>2]>>2]|0)+16|0;u=c[r>>2]|0;f=c[(f>>>0<u>>>0?f:412368)>>2]|0;o=f+16|0;e=c[o+4>>2]|0;j=u;c[j>>2]=c[o>>2];c[j+4>>2]=e;c[u+8>>2]=d[f+6>>0];u=c[r>>2]|0;c[r>>2]=u+16;f=u+-16|0;j=c[f>>2]|0;e=u;o=c[e+4>>2]|0;t=j+16|0;c[t>>2]=c[e>>2];c[t+4>>2]=o;a[j+6>>0]=c[u+8>>2];j=c[r>>2]|0;if(!(c[j+-8>>2]&64)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=11;u=q+10|0;b[u>>1]=0;l=s;return 1}g=(c[f>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=11;u=q+10|0;b[u>>1]=0;l=s;return 1}i=c[j+-16>>2]|0;if(!(a[i+5>>0]&3)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=11;u=q+10|0;b[u>>1]=0;l=s;return 1}f=c[p>>2]|0;if((d[f+61>>0]|0)<2){$z(f,i);u=c[r>>2]|0;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=11;u=q+10|0;b[u>>1]=0;l=s;return 1}else{a[g>>0]=a[f+60>>0]&3|h&-8;u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=11;u=q+10|0;b[u>>1]=0;l=s;return 1}return 0}function zE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;o=s;n=JE(e,1,o)|0;q=zz(e,(c[o>>2]<<3)+16|0)|0;p=e+12|0;h=c[p>>2]|0;r=e+8|0;i=c[r>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[r>>2]|0;c[r>>2]=i+16;bB(e,h+40|0,i,i);i=c[r>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[r>>2]|0;c[r>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;u=i;t=c[u+4>>2]|0;h=f+16|0;c[h>>2]=c[u>>2];c[h+4>>2]=t;a[f+6>>0]=c[i+8>>2];f=c[r>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[p>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[r>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[r>>2]=f+-16;tz(e,-2);c[q>>2]=0;c[q+4>>2]=0;a[q+8>>0]=15;s6(q+16|0,n|0,c[o>>2]<<3|0)|0;f=(c[c[e+16>>2]>>2]|0)+16|0;u=c[r>>2]|0;f=c[(f>>>0<u>>>0?f:412368)>>2]|0;o=f+16|0;e=c[o+4>>2]|0;j=u;c[j>>2]=c[o>>2];c[j+4>>2]=e;c[u+8>>2]=d[f+6>>0];u=c[r>>2]|0;c[r>>2]=u+16;f=u+-16|0;j=c[f>>2]|0;e=u;o=c[e+4>>2]|0;t=j+16|0;c[t>>2]=c[e>>2];c[t+4>>2]=o;a[j+6>>0]=c[u+8>>2];j=c[r>>2]|0;if(!(c[j+-8>>2]&64)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=6;u=q+10|0;b[u>>1]=0;l=s;return 1}g=(c[f>>2]|0)+5|0;h=a[g>>0]|0;if(!(h&4)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=6;u=q+10|0;b[u>>1]=0;l=s;return 1}i=c[j+-16>>2]|0;if(!(a[i+5>>0]&3)){u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=6;u=q+10|0;b[u>>1]=0;l=s;return 1}f=c[p>>2]|0;if((d[f+61>>0]|0)<2){$z(f,i);u=c[r>>2]|0;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=6;u=q+10|0;b[u>>1]=0;l=s;return 1}else{a[g>>0]=a[f+60>>0]&3|h&-8;u=j;u=u+-16|0;c[r>>2]=u;u=q+9|0;a[u>>0]=6;u=q+10|0;b[u>>1]=0;l=s;return 1}return 0}function AE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;D=l;l=l+16|0;A=D;o=D+4|0;w=e+16|0;B=c[c[w>>2]>>2]|0;s=B+32|0;C=e+8|0;if(!(!((s|0)==412368?1:s>>>0>=(c[C>>2]|0)>>>0)?(c[B+40>>2]&15|0)==6:0))qB(e,2,361148);n=JE(e,1,o)|0;B=zz(e,(c[o>>2]<<3)+16|0)|0;s=e+12|0;h=c[s>>2]|0;i=c[C>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;bB(e,h+40|0,i,i);i=c[C>>2]|0;g=i+-16|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];i=c[C>>2]|0;c[C>>2]=i+16;g=i+-32|0;f=c[g>>2]|0;F=i;E=c[F+4>>2]|0;h=f+16|0;c[h>>2]=c[F>>2];c[h+4>>2]=E;a[f+6>>0]=c[i+8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(j=(c[g>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[f+-16>>2]|0,(a[m+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,m);f=c[C>>2]|0;break}else{a[j>>0]=a[g+60>>0]&3|k&-8;break}}while(0);c[C>>2]=f+-16;tz(e,-2);c[B>>2]=0;c[B+4>>2]=0;a[B+8>>0]=15;s6(B+16|0,n|0,c[o>>2]<<3|0)|0;g=(c[c[w>>2]>>2]|0)+16|0;F=c[C>>2]|0;g=c[(g>>>0<F>>>0?g:412368)>>2]|0;o=g+16|0;n=c[o+4>>2]|0;f=F;c[f>>2]=c[o>>2];c[f+4>>2]=n;c[F+8>>2]=d[g+6>>0];F=c[C>>2]|0;c[C>>2]=F+16;g=F+-16|0;f=c[g>>2]|0;n=F;o=c[n+4>>2]|0;E=f+16|0;c[E>>2]=c[n>>2];c[E+4>>2]=o;a[f+6>>0]=c[F+8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(p=(c[g>>2]|0)+5|0,q=a[p>>0]|0,(q&4)!=0):0)?(r=c[f+-16>>2]|0,(a[r+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,r);f=c[C>>2]|0;break}else{a[p>>0]=a[g+60>>0]&3|q&-8;break}}while(0);c[C>>2]=f+-16;a[B+9>>0]=12;if((c[(c[s>>2]|0)+12>>2]|0)>0)jA(e);F=WA(e)|0;g=c[C>>2]|0;c[g>>2]=F;c[g+8>>2]=69;c[C>>2]=(c[C>>2]|0)+16;TA(e,F,1,0);F=c[C>>2]|0;g=F+-32|0;f=c[g>>2]|0;q=F+-16|0;r=c[q+4>>2]|0;E=f+16|0;c[E>>2]=c[q>>2];c[E+4>>2]=r;a[f+6>>0]=c[F+-8>>2];f=c[C>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(t=(c[g>>2]|0)+5|0,u=a[t>>0]|0,(u&4)!=0):0)?(v=c[f+-16>>2]|0,(a[v+5>>0]&3)!=0):0){g=c[s>>2]|0;if((d[g+61>>0]|0)<2){$z(g,v);f=c[C>>2]|0;break}else{a[t>>0]=a[g+60>>0]&3|u&-8;break}}while(0);E=f+-16|0;c[C>>2]=E;g=c[f+-32>>2]|0;v=g+16|0;F=c[v+4>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=F;c[f+-8>>2]=d[g+6>>0];g=c[C>>2]|0;E=g+16|0;c[C>>2]=E;F=c[c[w>>2]>>2]|0;F=c[(F>>>0<g>>>0?F+16|0:412368)>>2]|0;v=F+16|0;w=c[v+4>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=w;c[g+24>>2]=d[F+6>>0];g=c[C>>2]|0;c[C>>2]=g+16;a:do if((g|0)!=412368?(x=c[g+8>>2]|0,(x&15|0)==5):0)switch(x&63){case 4:{m=d[(c[g>>2]|0)+7>>0]|0;break a}case 20:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 7:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 5:{m=XA(c[g>>2]|0)|0;break a}default:{m=0;break a}}else m=0;while(0);f=g+-16|0;b:do if((f|0)!=412368?(y=c[g+-8>>2]|0,(y&15|0)==5):0)switch(y&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break b}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 5:{f=XA(c[f>>2]|0)|0;break b}default:{f=0;break b}}else f=0;while(0);if((f+m|0)>65535)oB(e,360220,A);if(!m){E=0;F=c[C>>2]|0;F=F+-32|0;c[C>>2]=F;KE(0,E);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}if((m|0)<1){E=f;F=c[C>>2]|0;F=F+-32|0;c[C>>2]=F;KE(0,E);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}else k=1;while(1){i=((k|0)<0)<<31>>31;j=c[C>>2]|0;g=c[j+-16>>2]|0;h=b6(k|0,i|0,-1,-1)|0;F=z;c:do if(F>>>0<0|((F|0)==0?h>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(h<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+-1&k)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(F=g+16|0,(c[F>>2]|0)==(k|0)?(c[F+4>>2]|0)==(i|0):0):0)break;h=c[g+28>>2]|0;if(!h){g=412368;break c}g=g+(h<<5)|0}}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[C>>2]=(c[C>>2]|0)+16;F=k+f|0;sz(e,-3,F,((F|0)<0)<<31>>31);if((k|0)==(m|0))break;else k=k+1|0}E=c[C>>2]|0;E=E+-32|0;c[C>>2]=E;KE(0,f);E=OE(e,2)|0;E=E&65535;F=B+10|0;b[F>>1]=E;l=D;return 1}function BE(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;E=H;D=H+4|0;F=e+16|0;j=c[c[F>>2]>>2]|0;i=j+32|0;G=e+8|0;if(!((i|0)==412368?1:i>>>0>=(c[G>>2]|0)>>>0)?c[j+40>>2]&15|0:0){j=JE(e,1,D)|0;p=zz(e,(c[D>>2]<<3)+16|0)|0;o=e+12|0;h=c[o>>2]|0;i=c[G>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;t=c[G>>2]|0;c[G>>2]=t+16;bB(e,h+40|0,t,t);t=c[G>>2]|0;g=t+-16|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];t=c[G>>2]|0;c[G>>2]=t+16;g=t+-32|0;f=c[g>>2]|0;q=t;r=c[q+4>>2]|0;s=f+16|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;a[f+6>>0]=c[t+8>>2];f=c[G>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(k=(c[g>>2]|0)+5|0,m=a[k>>0]|0,(m&4)!=0):0)?(n=c[f+-16>>2]|0,(a[n+5>>0]&3)!=0):0){g=c[o>>2]|0;if((d[g+61>>0]|0)<2){$z(g,n);f=c[G>>2]|0;break}else{a[k>>0]=a[g+60>>0]&3|m&-8;break}}while(0);c[G>>2]=f+-16;tz(e,-2);c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=15;s6(p+16|0,j|0,c[D>>2]<<3|0)|0;g=(c[c[F>>2]>>2]|0)+16|0;D=c[G>>2]|0;g=c[(g>>>0<D>>>0?g:412368)>>2]|0;s=g+16|0;r=c[s+4>>2]|0;f=D;c[f>>2]=c[s>>2];c[f+4>>2]=r;c[D+8>>2]=d[g+6>>0];D=c[G>>2]|0;c[G>>2]=D+16;g=D+-16|0;f=c[g>>2]|0;r=D;s=c[r+4>>2]|0;t=f+16|0;c[t>>2]=c[r>>2];c[t+4>>2]=s;a[f+6>>0]=c[D+8>>2];f=c[G>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(u=(c[g>>2]|0)+5|0,v=a[u>>0]|0,(v&4)!=0):0)?(w=c[f+-16>>2]|0,(a[w+5>>0]&3)!=0):0){g=c[o>>2]|0;if((d[g+61>>0]|0)<2){$z(g,w);f=c[G>>2]|0;break}else{a[u>>0]=a[g+60>>0]&3|v&-8;break}}while(0);c[G>>2]=f+-16;a[p+9>>0]=14;if((c[(c[o>>2]|0)+12>>2]|0)>0)jA(e);D=WA(e)|0;g=c[G>>2]|0;c[g>>2]=D;c[g+8>>2]=69;c[G>>2]=(c[G>>2]|0)+16;TA(e,D,1,0);D=c[G>>2]|0;g=D+-32|0;f=c[g>>2]|0;u=D+-16|0;v=c[u+4>>2]|0;w=f+16|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;a[f+6>>0]=c[D+-8>>2];f=c[G>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(x=(c[g>>2]|0)+5|0,y=a[x>>0]|0,(y&4)!=0):0)?(A=c[f+-16>>2]|0,(a[A+5>>0]&3)!=0):0){g=c[o>>2]|0;if((d[g+61>>0]|0)<2){$z(g,A);f=c[G>>2]|0;break}else{a[x>>0]=a[g+60>>0]&3|y&-8;break}}while(0);D=f+-16|0;c[G>>2]=D;g=c[f+-32>>2]|0;A=g+16|0;y=c[A+4>>2]|0;c[D>>2]=c[A>>2];c[D+4>>2]=y;c[f+-8>>2]=d[g+6>>0];g=c[G>>2]|0;D=g+16|0;c[G>>2]=D;F=c[c[F>>2]>>2]|0;F=c[(F>>>0<g>>>0?F+16|0:412368)>>2]|0;y=F+16|0;A=c[y+4>>2]|0;c[D>>2]=c[y>>2];c[D+4>>2]=A;c[g+24>>2]=d[F+6>>0];g=c[G>>2]|0;c[G>>2]=g+16;a:do if((g|0)!=412368?(B=c[g+8>>2]|0,(B&15|0)==5):0)switch(B&63){case 4:{m=d[(c[g>>2]|0)+7>>0]|0;break a}case 20:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 7:{m=c[(c[g>>2]|0)+12>>2]|0;break a}case 5:{m=XA(c[g>>2]|0)|0;break a}default:{m=0;break a}}else m=0;while(0);f=g+-16|0;b:do if((f|0)!=412368?(C=c[g+-8>>2]|0,(C&15|0)==5):0)switch(C&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break b}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break b}case 5:{f=XA(c[f>>2]|0)|0;break b}default:{f=0;break b}}else f=0;while(0);if((f+m|0)>65535)oB(e,360220,E);if(m){if((m|0)>=1){k=1;while(1){i=((k|0)<0)<<31>>31;j=c[G>>2]|0;g=c[j+-16>>2]|0;h=b6(k|0,i|0,-1,-1)|0;F=z;c:do if(F>>>0<0|((F|0)==0?h>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(h<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<(d[g+7>>0]|0))+-1&k)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(F=g+16|0,(c[F>>2]|0)==(k|0)?(c[F+4>>2]|0)==(i|0):0):0)break;h=c[g+28>>2]|0;if(!h){g=412368;break c}g=g+(h<<5)|0}}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[G>>2]=(c[G>>2]|0)+16;F=k+f|0;sz(e,-3,F,((F|0)<0)<<31>>31);if((k|0)==(m|0))break;else k=k+1|0}}}else f=0;c[G>>2]=(c[G>>2]|0)+-32;KE(0,f);G=p;e=(OE(e,2)|0)&65535;G=G+10|0;b[G>>1]=e;l=H;return 1}j=JE(e,1,D)|0;m=zz(e,(c[D>>2]<<3)+16|0)|0;k=e+12|0;h=c[k>>2]|0;i=c[G>>2]|0;g=h+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[i>>2]=f;c[i+8>>2]=(a[f+4>>0]|64)&255;E=c[G>>2]|0;c[G>>2]=E+16;bB(e,h+40|0,E,E);E=c[G>>2]|0;g=E+-16|0;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];c[E+8>>2]=c[g+8>>2];c[E+12>>2]=c[g+12>>2];E=c[G>>2]|0;c[G>>2]=E+16;g=E+-32|0;f=c[g>>2]|0;A=E;B=c[A+4>>2]|0;C=f+16|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;a[f+6>>0]=c[E+8>>2];f=c[G>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(o=(c[g>>2]|0)+5|0,p=a[o>>0]|0,(p&4)!=0):0)?(q=c[f+-16>>2]|0,(a[q+5>>0]&3)!=0):0){g=c[k>>2]|0;if((d[g+61>>0]|0)<2){$z(g,q);f=c[G>>2]|0;break}else{a[o>>0]=a[g+60>>0]&3|p&-8;break}}while(0);c[G>>2]=f+-16;tz(e,-2);c[m>>2]=0;c[m+4>>2]=0;a[m+8>>0]=15;s6(m+16|0,j|0,c[D>>2]<<3|0)|0;g=(c[c[F>>2]>>2]|0)+16|0;e=c[G>>2]|0;g=c[(g>>>0<e>>>0?g:412368)>>2]|0;E=g+16|0;D=c[E+4>>2]|0;f=e;c[f>>2]=c[E>>2];c[f+4>>2]=D;c[e+8>>2]=d[g+6>>0];e=c[G>>2]|0;c[G>>2]=e+16;g=e+-16|0;f=c[g>>2]|0;D=e;E=c[D+4>>2]|0;F=f+16|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;a[f+6>>0]=c[e+8>>2];f=c[G>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(r=(c[g>>2]|0)+5|0,s=a[r>>0]|0,(s&4)!=0):0)?(t=c[f+-16>>2]|0,(a[t+5>>0]&3)!=0):0){g=c[k>>2]|0;if((d[g+61>>0]|0)<2){$z(g,t);f=c[G>>2]|0;break}else{a[r>>0]=a[g+60>>0]&3|s&-8;break}}while(0);c[G>>2]=f+-16;a[m+9>>0]=14;G=m;e=0;G=G+10|0;b[G>>1]=e;l=H;return 1}function CE(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+16|0;f=a+8|0;if((e|0)==412368?1:e>>>0>=(c[f>>2]|0)>>>0)nB(a,1,357826)|0;JE(a,1,0)|0;b=c[c[b>>2]>>2]|0;d=c[f>>2]|0;e=b+32|0;if(d>>>0>=e>>>0){c[f>>2]=e;return 1}b=(b+24+4+(3-d)|0)>>>4;a=d;do{c[a+8>>2]=0;a=a+16|0}while(a>>>0<e>>>0);c[f>>2]=d+(b+1<<4);c[f>>2]=e;return 1}function DE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=b+16|0;f=c[c[h>>2]>>2]|0;g=f+16|0;p=b+8|0;e=c[p>>2]|0;g=g>>>0<e>>>0?g:412368;switch(c[g+8>>2]&15){case 4:{e=g;i=5;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[c[h>>2]>>2]|0;e=c[p>>2]|0}i=f+16|0;e=i>>>0<e>>>0?i:412368;oA(b,e);i=5;break}default:{qB(b,1,361511);e=0;f=0}}if((i|0)==5){e=c[e>>2]|0;if((a[e+4>>0]|0)==4)f=d[e+7>>0]|0;else f=c[e+12>>2]|0;e=e+16|0}l=zz(b,48)|0;k=b+12|0;i=c[k>>2]|0;j=c[p>>2]|0;h=i+280+(((359865>>>0)%127|0)<<2)|0;g=c[h>>2]|0;if(e3(359865,g+16|0)|0){g=QA(b,359865,12)|0;c[h>>2]=g}c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;j=c[p>>2]|0;c[p>>2]=j+16;bB(b,i+40|0,j,j);j=c[p>>2]|0;h=j+-16|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];j=c[p>>2]|0;c[p>>2]=j+16;h=j+-32|0;g=c[h>>2]|0;r=j;q=c[r+4>>2]|0;i=g+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=q;a[g+6>>0]=c[j+8>>2];g=c[p>>2]|0;do if(((c[g+-8>>2]&64|0)!=0?(m=(c[h>>2]|0)+5|0,n=a[m>>0]|0,(n&4)!=0):0)?(o=c[g+-16>>2]|0,(a[o+5>>0]&3)!=0):0){h=c[k>>2]|0;if((d[h+61>>0]|0)<2){$z(h,o);g=c[p>>2]|0;break}else{a[m>>0]=a[h+60>>0]&3|n&-8;break}}while(0);c[p>>2]=g+-16;tz(b,-2);c[l>>2]=0;c[l+4>>2]=0;a[l+8>>0]=1;g=l+16|0;h=g+32|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));if(!f)return 1;while(1){f=f+-1|0;q=d[e>>0]|0;r=l+((q>>>3)+16)|0;a[r>>0]=1<<(q&7)|d[r>>0];if(!f)break;else e=e+1|0}return 1}function EE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+16|0;r=s;n=b+8|0;o=(c[n>>2]|0)-((c[c[b+16>>2]>>2]|0)+16)|0;p=o>>4;q=zz(b,48)|0;i=b+12|0;g=c[i>>2]|0;h=c[n>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[n>>2]|0;c[n>>2]=h+16;bB(b,g+40|0,h,h);h=c[n>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[n>>2]|0;c[n>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;u=h;t=c[u+4>>2]|0;g=e+16|0;c[g>>2]=c[u>>2];c[g+4>>2]=t;a[e+6>>0]=c[h+8>>2];e=c[n>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(j=(c[f>>2]|0)+5|0,k=a[j>>0]|0,(k&4)!=0):0)?(m=c[e+-16>>2]|0,(a[m+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,m);e=c[n>>2]|0;break}else{a[j>>0]=a[f+60>>0]&3|k&-8;break}}while(0);c[n>>2]=e+-16;tz(b,-2);c[q>>2]=0;c[q+4>>2]=0;a[q+8>>0]=1;e=q+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));if((o|0)<16){l=s;return 1}else h=1;while(1){e=kz(b,h,r)|0;if(!e)qB(b,h,361511);if((c[r>>2]|0)!=2)nB(b,h,360065)|0;f=a[e>>0]|0;g=e+1|0;if((f&255)<=(d[g>>0]|0)){e=f&255;while(1){u=q+((e>>3)+16)|0;a[u>>0]=d[u>>0]|0|1<<(e&7);if((e|0)<(d[g>>0]|0|0))e=e+1|0;else break}}if((h|0)==(p|0))break;else h=h+1|0}l=s;return 1}function FE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=b+16|0;g=c[c[e>>2]>>2]|0;i=g+16|0;C=b+8|0;h=c[C>>2]|0;a:do if(i>>>0>=h>>>0|(i|0)==412368)j=3;else{switch(c[g+24>>2]&15){case 0:{j=3;break a}case 5:{e=g;break}default:{qB(b,1,355292);e=c[c[e>>2]>>2]|0;h=c[C>>2]|0}}g=e+32|0;if(h>>>0<g>>>0){e=(e+24+4+(3-h)|0)>>>4;f=h;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<g>>>0);c[C>>2]=h+(e+1<<4)}c[C>>2]=g;B=b+12|0}while(0);if((j|0)==3){if(h>>>0<i>>>0){e=(g+8+4+(3-h)|0)>>>4;f=h;while(1){c[f+8>>2]=0;if(f>>>0<g>>>0)f=f+16|0;else break}c[C>>2]=h+(e+1<<4)}c[C>>2]=i;e=b+12|0;if((c[(c[e>>2]|0)+12>>2]|0)>0)jA(b);B=WA(b)|0;j=c[C>>2]|0;c[j>>2]=B;c[j+8>>2]=69;c[C>>2]=(c[C>>2]|0)+16;TA(b,B,0,12);B=e}i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;bB(b,g+40|0,j,j);j=c[C>>2]|0;f=j+-16|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];j=c[C>>2]|0;c[C>>2]=j+16;f=j+-32|0;e=c[f>>2]|0;D=j;g=c[D+4>>2]|0;h=e+16|0;c[h>>2]=c[D>>2];c[h+4>>2]=g;a[e+6>>0]=c[j+8>>2];e=c[C>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(k=(c[f>>2]|0)+5|0,l=a[k>>0]|0,(l&4)!=0):0)?(m=c[e+-16>>2]|0,(a[m+5>>0]&3)!=0):0){f=c[B>>2]|0;if((d[f+61>>0]|0)<2){$z(f,m);e=c[C>>2]|0;break}else{a[k>>0]=a[f+60>>0]&3|l&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(K3(e)|0){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((359998>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359998,e+16|0)|0){e=QA(b,359998,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;cB(b,g+-32|0,i,i+-16|0);c[C>>2]=(c[C>>2]|0)+-32;i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;k=D;l=c[k+4>>2]|0;m=e+16|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(n=(c[f>>2]|0)+5|0,o=a[n>>0]|0,(o&4)!=0):0)?(p=c[e+-16>>2]|0,(a[p+5>>0]&3)!=0):0){f=c[B>>2]|0;if((d[f+61>>0]|0)<2){$z(f,p);e=c[C>>2]|0;break}else{a[n>>0]=a[f+60>>0]&3|o&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(L3(e)|0){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360004>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360004,e+16|0)|0){e=QA(b,360004,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;cB(b,g+-32|0,i,i+-16|0);c[C>>2]=(c[C>>2]|0)+-32;i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;n=D;o=c[n+4>>2]|0;p=e+16|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(q=(c[f>>2]|0)+5|0,r=a[q>>0]|0,(r&4)!=0):0)?(s=c[e+-16>>2]|0,(a[s+5>>0]&3)!=0):0){f=c[B>>2]|0;if((d[f+61>>0]|0)<2){$z(f,s);e=c[C>>2]|0;break}else{a[q>>0]=a[f+60>>0]&3|r&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(M3(e)|0){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360010>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360010,e+16|0)|0){e=QA(b,360010,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;cB(b,g+-32|0,i,i+-16|0);c[C>>2]=(c[C>>2]|0)+-32;i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;q=D;r=c[q+4>>2]|0;s=e+16|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(t=(c[f>>2]|0)+5|0,u=a[t>>0]|0,(u&4)!=0):0)?(v=c[e+-16>>2]|0,(a[v+5>>0]&3)!=0):0){f=c[B>>2]|0;if((d[f+61>>0]|0)<2){$z(f,v);e=c[C>>2]|0;break}else{a[t>>0]=a[f+60>>0]&3|u&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if((e+-48|0)>>>0<10){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360016>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360016,e+16|0)|0){e=QA(b,360016,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;cB(b,g+-32|0,i,i+-16|0);c[C>>2]=(c[C>>2]|0)+-32;i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;t=D;u=c[t+4>>2]|0;v=e+16|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(w=(c[f>>2]|0)+5|0,x=a[w>>0]|0,(x&4)!=0):0)?(y=c[e+-16>>2]|0,(a[y+5>>0]&3)!=0):0){f=c[B>>2]|0;if((d[f+61>>0]|0)<2){$z(f,y);e=c[C>>2]|0;break}else{a[w>>0]=a[f+60>>0]&3|x&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(N3(e)|0){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360022>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360022,e+16|0)|0){e=QA(b,360022,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;i=c[C>>2]|0;c[C>>2]=i+16;cB(b,g+-32|0,i,i+-16|0);c[C>>2]=(c[C>>2]|0)+-32;i=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;w=D;x=c[w+4>>2]|0;y=e+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if((c[e+-8>>2]&64|0)!=0?(z=(c[f>>2]|0)+5|0,A=a[z>>0]|0,(A&4)!=0):0){f=c[e+-16>>2]|0;if(!(a[f+5>>0]&3))break;g=c[B>>2]|0;if((d[g+61>>0]|0)<2){$z(g,f);e=c[C>>2]|0;break}else{a[z>>0]=a[g+60>>0]&3|A&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[i>>2]=0;c[i+4>>2]=0;a[i+8>>0]=1;e=i+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(Z2(e)|0){D=i+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360028>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360028,e+16|0)|0){e=QA(b,360028,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;cB(b,g+-32|0,j,j+-16|0);c[C>>2]=(c[C>>2]|0)+-32;j=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;y=D;z=c[y+4>>2]|0;A=e+16|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(c[e+-8>>2]&64){f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4))break;h=c[e+-16>>2]|0;if(!(a[h+5>>0]&3))break;i=c[B>>2]|0;if((d[i+61>>0]|0)<2){$z(i,h);e=c[C>>2]|0;break}else{a[f>>0]=a[i+60>>0]&3|g&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=1;e=j+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(O3(e)|0){D=j+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360034>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360034,e+16|0)|0){e=QA(b,360034,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;cB(b,g+-32|0,j,j+-16|0);c[C>>2]=(c[C>>2]|0)+-32;j=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;y=D;z=c[y+4>>2]|0;A=e+16|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(c[e+-8>>2]&64){f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4))break;h=c[e+-16>>2]|0;if(!(a[h+5>>0]&3))break;i=c[B>>2]|0;if((d[i+61>>0]|0)<2){$z(i,h);e=c[C>>2]|0;break}else{a[f>>0]=a[i+60>>0]&3|g&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=1;e=j+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(P3(e)|0){D=j+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360040>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360040,e+16|0)|0){e=QA(b,360040,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;cB(b,g+-32|0,j,j+-16|0);c[C>>2]=(c[C>>2]|0)+-32;j=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;y=D;z=c[y+4>>2]|0;A=e+16|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(c[e+-8>>2]&64){f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4))break;h=c[e+-16>>2]|0;if(!(a[h+5>>0]&3))break;i=c[B>>2]|0;if((d[i+61>>0]|0)<2){$z(i,h);e=c[C>>2]|0;break}else{a[f>>0]=a[i+60>>0]&3|g&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=1;e=j+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(T2(e)|0){D=j+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360046>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360046,e+16|0)|0){e=QA(b,360046,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;cB(b,g+-32|0,j,j+-16|0);c[C>>2]=(c[C>>2]|0)+-32;j=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;y=D;z=c[y+4>>2]|0;A=e+16|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(c[e+-8>>2]&64){f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4))break;h=c[e+-16>>2]|0;if(!(a[h+5>>0]&3))break;i=c[B>>2]|0;if((d[i+61>>0]|0)<2){$z(i,h);e=c[C>>2]|0;break}else{a[f>>0]=a[i+60>>0]&3|g&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=1;e=j+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(O2(e)|0){D=j+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;f=(c[B>>2]|0)+280+(((360052>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(360052,e+16|0)|0){e=QA(b,360052,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;j=c[C>>2]|0;c[C>>2]=j+16;cB(b,g+-32|0,j,j+-16|0);c[C>>2]=(c[C>>2]|0)+-32;j=zz(b,48)|0;g=c[B>>2]|0;h=c[C>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;D=c[C>>2]|0;c[C>>2]=D+16;bB(b,g+40|0,D,D);D=c[C>>2]|0;f=D+-16|0;c[D>>2]=c[f>>2];c[D+4>>2]=c[f+4>>2];c[D+8>>2]=c[f+8>>2];c[D+12>>2]=c[f+12>>2];D=c[C>>2]|0;c[C>>2]=D+16;f=D+-32|0;e=c[f>>2]|0;y=D;z=c[y+4>>2]|0;A=e+16|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;a[e+6>>0]=c[D+8>>2];e=c[C>>2]|0;do if(c[e+-8>>2]&64){f=(c[f>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4))break;h=c[e+-16>>2]|0;if(!(a[h+5>>0]&3))break;i=c[B>>2]|0;if((d[i+61>>0]|0)<2){$z(i,h);e=c[C>>2]|0;break}else{a[f>>0]=a[i+60>>0]&3|g&-8;break}}while(0);c[C>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=1;e=j+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{if(Q3(e)|0){D=j+((e>>3)+16)|0;a[D>>0]=d[D>>0]|0|1<<(e&7)}e=e+1|0}while((e|0)!=256);g=c[C>>2]|0;h=g+-32|0;e=(c[B>>2]|0)+280+(((360058>>>0)%127|0)<<2)|0;f=c[e>>2]|0;if(!(e3(360058,f+16|0)|0)){D=f;c[g>>2]=D;D=D+4|0;D=a[D>>0]|0;D=D|64;D=D&255;B=g+8|0;c[B>>2]=D;B=c[C>>2]|0;D=B+16|0;c[C>>2]=D;D=B+-16|0;cB(b,h,B,D);D=c[C>>2]|0;D=D+-32|0;c[C>>2]=D;return 1}else{D=QA(b,360058,6)|0;c[e>>2]=D;c[g>>2]=D;D=D+4|0;D=a[D>>0]|0;D=D|64;D=D&255;B=g+8|0;c[B>>2]=D;B=c[C>>2]|0;D=B+16|0;c[C>>2]=D;D=B+-16|0;cB(b,h,B,D);D=c[C>>2]|0;D=D+-32|0;c[C>>2]=D;return 1}return 0}function GE(b){b=b|0;var d=0,e=0;e=b+12|0;d=c[e>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[e>>2]|0}e=d+280+(((359992>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359992,d+16|0)|0){d=QA(b,359992,5)|0;c[e>>2]=d}b=b+8|0;e=c[b>>2]|0;c[e>>2]=d;c[e+8>>2]=(a[d+4>>0]|64)&255;c[b>>2]=(c[b>>2]|0)+16;return 1}function HE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=sB(b,1)|0;i=b6(i|0,z|0,-1,-1)|0;h=z;if(!(h>>>0<0|(h|0)==0&i>>>0<21474836))nB(b,1,359979)|0;g=c[c[b+16>>2]>>2]|0;h=b+8|0;d=c[h>>2]|0;i=g+32|0;if(d>>>0<i>>>0){e=(g+24+4+(3-d)|0)>>>4;f=d;do{c[f+8>>2]=0;f=f+16|0}while(f>>>0<i>>>0);c[h>>2]=d+(e+1<<4)}c[h>>2]=i;f=c[b+12>>2]|0;e=f+280+(((361654>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(361654,d+16|0)|0){d=QA(b,361654,13)|0;c[e>>2]=d}c[i>>2]=d;c[g+40>>2]=(a[d+4>>0]|64)&255;i=c[h>>2]|0;c[h>>2]=i+16;cB(b,f+40|0,i,i+-16|0);c[h>>2]=(c[h>>2]|0)+-32;return 0}function IE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=(c[c[b+16>>2]>>2]|0)+16|0;j=b+8|0;d=c[j>>2]|0;e=e>>>0<d>>>0?e:412368;f=c[e+8>>2]|0;switch(f&15){case 2:{if(c[e>>2]|0){e=(c[b+12>>2]|0)+244+((f&15)<<2)|0;g=5}break}case 7:{e=(c[e>>2]|0)+8|0;g=5;break}default:{}}if((g|0)==5){e=c[e>>2]|0;if(e){c[d>>2]=e;c[d+8>>2]=69;f=c[j>>2]|0;g=f+16|0;c[j>>2]=g;i=b+12|0;h=c[i>>2]|0;e=h+280+(((359865>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359865,d+16|0)|0){d=QA(b,359865,12)|0;c[e>>2]=d}c[g>>2]=d;c[f+24>>2]=(a[d+4>>0]|64)&255;d=c[j>>2]|0;c[j>>2]=d+16;bB(b,h+40|0,d,d);d=c[j>>2]|0;e=d+-16|0;f=d+-32|0;if((e|0)!=412368&(f|0)!=412368){h=(fB(0,e,f)|0)==0;d=c[j>>2]|0;if(!h){c[j>>2]=d+-32;d=c[i>>2]|0;if((c[d+12>>2]|0)>0){jA(b);d=c[i>>2]|0}e=d+280+(((359971>>>0)%127|0)<<2)|0;d=c[e>>2]|0;if(e3(359971,d+16|0)|0){d=QA(b,359971,7)|0;c[e>>2]=d}b=c[j>>2]|0;c[b>>2]=d;c[b+8>>2]=(a[d+4>>0]|64)&255;b=c[j>>2]|0;b=b+16|0;c[j>>2]=b;return 1}}}}c[d+8>>2]=0;b=d;b=b+16|0;c[j>>2]=b;return 1}function JE(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=l;l=l+1088|0;ga=ka+1072|0;fa=ka+1064|0;ea=ka+1056|0;ca=ka+1048|0;U=ka+1040|0;X=ka+1032|0;W=ka+1024|0;V=ka+1016|0;T=ka+1008|0;r=ka+1e3|0;ha=ka;G=ka+1076|0;ia=e+16|0;p=c[ia>>2]|0;ja=(f|0)>0;do if(ja){i=(c[p>>2]|0)+(f<<4)|0;if(i>>>0<(c[e+8>>2]|0)>>>0){n=i;da=9}}else{if((f|0)>=-1000999){n=(c[e+8>>2]|0)+(f<<4)|0;da=9;break}if((f|0)==-1001e3){n=(c[e+12>>2]|0)+40|0;da=9;break}i=-1001e3-f|0;k=c[p>>2]|0;if((c[k+8>>2]|0)!=22?(m=c[k>>2]|0,(i|0)<=(d[m+6>>0]|0)):0){n=m+16+(i+-1<<4)|0;da=9}}while(0);a:do if((da|0)==9?(n|0)!=412368:0){b:do switch(c[n+8>>2]&15){case 4:{s=kz(e,f,G)|0;i=c[G>>2]|0;if(!i){r=zz(e,16)|0;p=e+12|0;n=c[p>>2]|0;m=e+8|0;o=c[m>>2]|0;k=n+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[o+8>>2]=(a[i+4>>0]|64)&255;ha=c[m>>2]|0;c[m>>2]=ha+16;bB(e,n+40|0,ha,ha);ha=c[m>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[m>>2]|0;c[m>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(y=(c[k>>2]|0)+5|0,B=a[y>>0]|0,(B&4)!=0):0)?(C=c[i+-16>>2]|0,(a[C+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,C);i=c[m>>2]|0;break}else{a[y>>0]=a[k+60>>0]&3|B&-8;break}}while(0);c[m>>2]=i+-16;tz(e,-2);c[r>>2]=0;c[r+4>>2]=0;n=r+8|0;a[n>>0]=3;break b}p=zz(e,i<<4)|0;o=e+12|0;m=c[o>>2]|0;r=e+8|0;n=c[r>>2]|0;k=m+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[n>>2]=i;c[n+8>>2]=(a[i+4>>0]|64)&255;ha=c[r>>2]|0;c[r>>2]=ha+16;bB(e,m+40|0,ha,ha);ha=c[r>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[r>>2]|0;c[r>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[r>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(v=(c[k>>2]|0)+5|0,w=a[v>>0]|0,(w&4)!=0):0)?(x=c[i+-16>>2]|0,(a[x+5>>0]&3)!=0):0){k=c[o>>2]|0;if((d[k+61>>0]|0)<2){$z(k,x);i=c[r>>2]|0;break}else{a[v>>0]=a[k+60>>0]&3|w&-8;break}}while(0);c[r>>2]=i+-16;tz(e,-2);c[p>>2]=0;c[p+4>>2]=0;o=p+8|0;i=c[G>>2]|0;do if((i|0)>1){m=i+-1|0;i=p+((i<<4)+-8)|0;if(!s){k=o;n=0;while(1){a[k>>0]=6;c[k+4>>2]=2;a[k+8>>0]=0;c[k+12>>2]=0;n=n+1|0;if((n|0)==(m|0))break;else k=k+16|0}k=m;da=37;break}else{k=o;n=0;while(1){a[k>>0]=6;c[k+4>>2]=2;a[k+8>>0]=0;c[k+12>>2]=d[s+n>>0];n=n+1|0;if((n|0)==(m|0))break;else k=k+16|0}a[i>>0]=0;da=38;break}}else{i=o;k=0;da=37}while(0);if((da|0)==37){a[i>>0]=0;if(!s){k=i;i=0}else{m=k;da=38}}if((da|0)==38){k=i;i=d[s+m>>0]|0}c[k+4>>2]=i;m=r;n=o;break}case 3:{do if(!ja){if((f|0)>=-1000999){i=(c[e+8>>2]|0)+(f<<4)|0;break}if((f|0)==-1001e3){i=(c[e+12>>2]|0)+40|0;break}k=-1001e3-f|0;i=c[p>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(k|0)>(d[i+6>>0]|0)?412368:i+16+(k+-1<<4)|0}}else{i=(c[p>>2]|0)+(f<<4)|0;i=i>>>0<(c[e+8>>2]|0)>>>0?i:412368}while(0);k=c[i+8>>2]|0;do if((k|0)!=19){c:while(1){switch(k|0){case 3:{da=52;break c}case 19:{da=55;break c}default:{}}if((k&15|0)!=4){da=63;break}k=nA((c[i>>2]|0)+16|0,ha)|0;i=c[i>>2]|0;if((a[i+4>>0]|0)==4)i=d[i+7>>0]|0;else i=c[i+12>>2]|0;if((k|0)!=(i+1|0)){da=63;break}i=ha;k=c[ha+8>>2]|0}if((da|0)==52){la=+h[i>>3];q=+A(+la);if(!(la!=q)?q>=-9223372036854775808.0&q<9223372036854775808.0:0){o=~~q>>>0;da=62}else da=63}else if((da|0)==55){o=i;o=c[o>>2]|0;da=62}if((da|0)==62){da=64;break}else if((da|0)==63)break}else{o=c[i>>2]|0;da=64}while(0);if((da|0)==64?o|0:0){if((o|0)>0){r=zz(e,o<<4)|0;p=e+12|0;m=c[p>>2]|0;s=e+8|0;n=c[s>>2]|0;k=m+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[n>>2]=i;c[n+8>>2]=(a[i+4>>0]|64)&255;ha=c[s>>2]|0;c[s>>2]=ha+16;bB(e,m+40|0,ha,ha);ha=c[s>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[s>>2]|0;c[s>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[s>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(N=(c[k>>2]|0)+5|0,O=a[N>>0]|0,(O&4)!=0):0)?(P=c[i+-16>>2]|0,(a[P+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,P);i=c[s>>2]|0;break}else{a[N>>0]=a[k+60>>0]&3|O&-8;break}}while(0);c[s>>2]=i+-16;tz(e,-2);c[r>>2]=0;c[r+4>>2]=0;p=r+8|0;i=p}else{o=0-o|0;s=zz(e,o<<4|8)|0;p=e+12|0;m=c[p>>2]|0;r=e+8|0;n=c[r>>2]|0;k=m+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[n>>2]=i;c[n+8>>2]=(a[i+4>>0]|64)&255;ha=c[r>>2]|0;c[r>>2]=ha+16;bB(e,m+40|0,ha,ha);ha=c[r>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[r>>2]|0;c[r>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[r>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(Q=(c[k>>2]|0)+5|0,R=a[Q>>0]|0,(R&4)!=0):0)?(S=c[i+-16>>2]|0,(a[S+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,S);i=c[r>>2]|0;break}else{a[Q>>0]=a[k+60>>0]&3|R&-8;break}}while(0);c[r>>2]=i+-16;tz(e,-2);c[s>>2]=0;c[s+4>>2]=0;p=s+8|0;a[p>>0]=8;i=s+16|0}if((o|0)>1){m=o+-1|0;k=i;n=0;while(1){a[k>>0]=6;c[k+4>>2]=2;a[k+8>>0]=2;c[k+12>>2]=0;n=n+1|0;if((n|0)==(m|0))break;else k=k+16|0}i=i+((o<<1)+-2<<3)|0}a[i>>0]=2;c[i+4>>2]=0;m=e+8|0;n=p;break b}r=zz(e,16)|0;p=e+12|0;n=c[p>>2]|0;m=e+8|0;o=c[m>>2]|0;k=n+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[o+8>>2]=(a[i+4>>0]|64)&255;ha=c[m>>2]|0;c[m>>2]=ha+16;bB(e,n+40|0,ha,ha);ha=c[m>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[m>>2]|0;c[m>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(K=(c[k>>2]|0)+5|0,L=a[K>>0]|0,(L&4)!=0):0)?(M=c[i+-16>>2]|0,(a[M+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,M);i=c[m>>2]|0;break}else{a[K>>0]=a[k+60>>0]&3|L&-8;break}}while(0);c[m>>2]=i+-16;tz(e,-2);c[r>>2]=0;c[r+4>>2]=0;n=r+8|0;a[n>>0]=3;break}case 1:{do if(!ja){if((f|0)>=-1000999){i=(c[e+8>>2]|0)+(f<<4)|0;break}if((f|0)==-1001e3){i=(c[e+12>>2]|0)+40|0;break}k=-1001e3-f|0;i=c[p>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(k|0)>(d[i+6>>0]|0)?412368:i+16+(k+-1<<4)|0}}else{i=(c[p>>2]|0)+(f<<4)|0;i=i>>>0<(c[e+8>>2]|0)>>>0?i:412368}while(0);switch(c[i+8>>2]|0){case 0:{s=0;break}case 1:{s=(c[i>>2]|0)!=0;break}default:s=1}r=zz(e,16)|0;p=e+12|0;n=c[p>>2]|0;m=e+8|0;o=c[m>>2]|0;k=n+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[o+8>>2]=(a[i+4>>0]|64)&255;ha=c[m>>2]|0;c[m>>2]=ha+16;bB(e,n+40|0,ha,ha);ha=c[m>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[m>>2]|0;c[m>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(D=(c[k>>2]|0)+5|0,E=a[D>>0]|0,(E&4)!=0):0)?(F=c[i+-16>>2]|0,(a[F+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,F);i=c[m>>2]|0;break}else{a[D>>0]=a[k+60>>0]&3|E&-8;break}}while(0);c[m>>2]=i+-16;tz(e,-2);c[r>>2]=0;c[r+4>>2]=0;i=r+8|0;if(s){a[i>>0]=3;n=i;break b}else{a[i>>0]=4;n=i;break b}}case 5:{m=e+8|0;K=(c[m>>2]|0)-((c[p>>2]|0)+16)|0;L=K>>4;M=L+2|0;J=L+1|0;N=e+12|0;if((c[(c[N>>2]|0)+12>>2]|0)>0)jA(e);da=WA(e)|0;i=c[m>>2]|0;c[i>>2]=da;c[i+8>>2]=69;c[m>>2]=(c[m>>2]|0)+16;oz(e,f,1,0)|0;i=c[m>>2]|0;if(((c[i+-8>>2]&15)+-3|0)>>>0<2){o=i+-16|0;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];o=c[m>>2]|0;i=o+16|0;c[m>>2]=i;k=c[ia>>2]|0;do if(!ja){if((f|0)>=-1000999){i=i+(f<<4)|0;break}if((f|0)==-1001e3){i=(c[N>>2]|0)+40|0;break}n=-1001e3-f|0;i=c[k>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(n|0)>(d[i+6>>0]|0)?412368:i+16+(n+-1<<4)|0}}else{da=(c[k>>2]|0)+(f<<4)|0;i=da>>>0<i>>>0?da:412368}while(0);bB(e,i,o,o)}else{k=i;c[k>>2]=1;c[k+4>>2]=0;c[i+8>>2]=19;c[m>>2]=i+16;k=i;i=i+-16|0;do{c[ha>>2]=c[i>>2];c[ha+4>>2]=c[i+4>>2];c[ha+8>>2]=c[i+8>>2];c[ha+12>>2]=c[i+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];c[k>>2]=c[ha>>2];c[k+4>>2]=c[ha+4>>2];c[k+8>>2]=c[ha+8>>2];c[k+12>>2]=c[ha+12>>2];i=i+16|0;k=k+-16|0}while(i>>>0<k>>>0)}i=c[m>>2]|0;k=i+-16|0;n=c[i+-8>>2]|0;switch(n&15){case 2:{if(!(c[k>>2]|0))da=150;else{k=(c[N>>2]|0)+244+((n&15)<<2)|0;da=143}break}case 7:{k=(c[k>>2]|0)+8|0;da=143;break}default:da=150}if((da|0)==143){k=c[k>>2]|0;if(k){c[i>>2]=k;c[i+8>>2]=69;n=c[m>>2]|0;o=n+16|0;c[m>>2]=o;p=c[N>>2]|0;k=p+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[n+24>>2]=(a[i+4>>0]|64)&255;i=c[m>>2]|0;c[m>>2]=i+16;bB(e,p+40|0,i,i);i=c[m>>2]|0;k=i+-16|0;n=i+-32|0;if((k|0)!=412368&(n|0)!=412368){S=(fB(0,k,n)|0)==0;i=c[m>>2]|0;if(S)da=150;else c[m>>2]=i+-32}else da=150}else da=150}do if((da|0)==150){if((i+-16|0)!=412368?(c[i+-8>>2]&15|0)==0:0){oB(e,360096,r);break}switch(c[i+-24>>2]&15){case 4:{i=i+-32|0;da=157;break}case 3:{if((c[(c[N>>2]|0)+12>>2]|0)>0){jA(e);i=c[m>>2]|0}i=i+-32|0;oA(e,i);da=157;break}default:i=0}if((da|0)==157)i=(c[i>>2]|0)+16|0;c[T>>2]=i;oB(e,360124,T)}while(0);o=c[m>>2]|0;i=o+-32|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];o=c[m>>2]|0;i=o+16|0;c[i>>2]=1;c[i+4>>2]=0;c[o+24>>2]=19;i=o+32|0;c[m>>2]=i;k=c[ia>>2]|0;H=(K|0)>-16;do if(!H){if((J|0)>=-1000999){i=i+(J<<4)|0;break}if((J|0)==-1001e3){i=(c[N>>2]|0)+40|0;break}n=-1001001-L|0;i=c[k>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(n|0)>(d[i+6>>0]|0)?412368:i+16+(n+-1<<4)|0}}else{T=(c[k>>2]|0)+(J<<4)|0;i=T>>>0<i>>>0?T:412368}while(0);cB(e,i,o,o+16|0);o=c[m>>2]|0;i=o+-32|0;c[m>>2]=i;I=L+3|0;k=c[ia>>2]|0;do if((K|0)<=-48){if((I|0)>=-1000999){i=i+(I<<4)|0;break}if((I|0)==-1001e3){i=(c[N>>2]|0)+40|0;break}n=-1001003-L|0;i=c[k>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(n|0)>(d[i+6>>0]|0)?412368:i+16+(n+-1<<4)|0}}else{T=(c[k>>2]|0)+(I<<4)|0;i=T>>>0<i>>>0?T:412368}while(0);switch(c[i+8>>2]&63){case 4:{i=d[(c[i>>2]|0)+7>>0]|0;break}case 20:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 7:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 5:{i=XA(c[i>>2]|0)|0;break}default:i=0}i=((i+-16|0)>>>3)+3|0;c[o+-24>>2]=0;c[m>>2]=o+-16;d:do if(!(xz(e,f)|0))C=1;else{t=(K|0)>-32;u=(M|0)<-1000999;v=(M|0)==-1001e3;w=-1001002-L|0;x=w+-1|0;y=ha+8|0;B=e+24|0;C=(J|0)<-1000999;D=(J|0)==-1001e3;E=-1001001-L|0;F=E+-1|0;G=e+28|0;s=1;while(1){e:while(1){k=c[m>>2]|0;n=k+-32|0;k=c[k+-24>>2]|0;f:do if((k|0)==3){q=+h[n>>3];da=195}else{do if((k|0)==19){da=n;q=+((c[da>>2]|0)>>>0)+4294967296.0*+(c[da+4>>2]|0)}else{if((k&15|0)==4){o=nA((c[n>>2]|0)+16|0,ha)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((o|0)==(k+1|0)){S=(c[y>>2]|0)==19;da=ha;T=c[da>>2]|0;da=c[da+4>>2]|0;c[j>>2]=T;c[j+4>>2]=da;q=S?+(T>>>0)+4294967296.0*+(da|0):+h[j>>3];break}}da=196;break f}while(0);da=195}while(0);if((da|0)==195?(da=0,!(q==1.0)):0)da=196;if((da|0)==196){da=0;n=c[ia>>2]|0;k=c[m>>2]|0;o=k+-32|0;do if(t){n=(c[n>>2]|0)+(M<<4)|0;n=n>>>0<k>>>0?n:412368}else{if(!u){n=k+(M<<4)|0;break}if(v){n=(c[N>>2]|0)+40|0;break}n=c[n>>2]|0;if((c[n+8>>2]|0)==22)break e;n=c[n>>2]|0;n=(w|0)>(d[n+6>>0]|0)?412368:n+16+(x<<4)|0}while(0);if(!((o|0)!=412368&(n|0)!=412368))break;if(!(fB(e,o,n)|0)){da=206;break}}c[m>>2]=(c[m>>2]|0)+-16;if(!(xz(e,f)|0)){C=s;break d}}if((da|0)==206)k=c[m>>2]|0;n=k+-16|0;o=c[k+-8>>2]|0;switch(o&15){case 2:{if(!(c[n>>2]|0))da=219;else{n=(c[N>>2]|0)+244+((o&15)<<2)|0;da=212}break}case 7:{n=(c[n>>2]|0)+8|0;da=212;break}default:da=219}if((da|0)==212){da=0;n=c[n>>2]|0;if(n){c[k>>2]=n;c[k+8>>2]=69;o=c[m>>2]|0;p=o+16|0;c[m>>2]=p;r=c[N>>2]|0;n=r+280+(((359865>>>0)%127|0)<<2)|0;k=c[n>>2]|0;if(e3(359865,k+16|0)|0){k=QA(e,359865,12)|0;c[n>>2]=k}c[p>>2]=k;c[o+24>>2]=(a[k+4>>0]|64)&255;k=c[m>>2]|0;c[m>>2]=k+16;bB(e,r+40|0,k,k);k=c[m>>2]|0;n=k+-16|0;o=k+-32|0;if((n|0)!=412368&(o|0)!=412368){T=(fB(0,n,o)|0)==0;k=c[m>>2]|0;if(T)da=219;else{k=k+-32|0;c[m>>2]=k}}else da=219}else da=219}if((da|0)==219){da=0;n=c[k+-24>>2]|0;switch(n&15){case 4:{k=k+-32|0;da=223;break}case 3:{if((c[(c[N>>2]|0)+12>>2]|0)>0){jA(e);k=c[m>>2]|0}k=k+-32|0;oA(e,k);da=223;break}default:{c[W>>2]=c[7100+(((k+-32|0)==412368?0:(n&15)+1|0)<<2)>>2];k=mz(e,360159,W)|0}}if((da|0)==223){da=0;c[V>>2]=(c[k>>2]|0)+16;k=mz(e,392253,V)|0}c[X>>2]=k;oB(e,360166,X);k=c[m>>2]|0}c[ha>>2]=40;o=c[ia>>2]|0;n=k;do if(((c[B>>2]|0)-n|0)>640){n=40;da=230}else{if(((n-(c[G>>2]|0)>>4)+5|0)<=999960?(Kz(e,201,ha)|0)==0:0){k=c[m>>2]|0;n=c[ha>>2]|0;da=230;break}c[U>>2]=360193;oB(e,356224,U);k=c[m>>2]|0}while(0);if((da|0)==230){da=0;o=o+4|0;n=k+(n<<4)|0;if((c[o>>2]|0)>>>0<n>>>0)c[o>>2]=n}o=k+-32|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];o=c[m>>2]|0;k=o+16|0;c[k>>2]=i;c[k+4>>2]=((i|0)<0)<<31>>31;c[o+24>>2]=19;k=o+32|0;c[m>>2]=k;n=c[ia>>2]|0;do if(!H){if(!C){k=k+(J<<4)|0;break}if(D){k=(c[N>>2]|0)+40|0;break}k=c[n>>2]|0;if((c[k+8>>2]|0)==22)k=412368;else{k=c[k>>2]|0;k=(E|0)>(d[k+6>>0]|0)?412368:k+16+(F<<4)|0}}else{T=(c[n>>2]|0)+(J<<4)|0;k=T>>>0<k>>>0?T:412368}while(0);cB(e,k,o,o+16|0);n=c[m>>2]|0;o=n+-32|0;c[m>>2]=o;k=n+-48|0;switch(c[n+-40>>2]&63){case 4:{k=d[(c[k>>2]|0)+7>>0]|0;break}case 20:{k=c[(c[k>>2]|0)+12>>2]|0;break}case 7:{k=c[(c[k>>2]|0)+12>>2]|0;break}case 5:{k=XA(c[k>>2]|0)|0;break}default:k=0}i=i+2+((k+-16|0)>>>3)|0;k=n+-64|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[m>>2]=(c[m>>2]|0)+16;k=s+1|0;if(!(xz(e,f)|0)){C=k;break d}else s=k}}while(0);y=zz(e,(i<<3)+16|0)|0;n=c[N>>2]|0;o=c[m>>2]|0;k=n+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[o+8>>2]=(a[i+4>>0]|64)&255;X=c[m>>2]|0;c[m>>2]=X+16;bB(e,n+40|0,X,X);X=c[m>>2]|0;k=X+-16|0;c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];X=c[m>>2]|0;c[m>>2]=X+16;k=X+-32|0;i=c[k>>2]|0;U=X;V=c[U+4>>2]|0;W=i+16|0;c[W>>2]=c[U>>2];c[W+4>>2]=V;a[i+6>>0]=c[X+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(Y=(c[k>>2]|0)+5|0,Z=a[Y>>0]|0,(Z&4)!=0):0)?(_=c[i+-16>>2]|0,(a[_+5>>0]&3)!=0):0){k=c[N>>2]|0;if((d[k+61>>0]|0)<2){$z(k,_);i=c[m>>2]|0;break}else{a[Y>>0]=a[k+60>>0]&3|Z&-8;break}}while(0);c[m>>2]=i+-16;tz(e,-2);c[y>>2]=0;c[y+4>>2]=0;B=y+8|0;if((C|0)>=251)nB(e,f,360193)|0;a[B>>0]=13;c[y+12>>2]=C;if((c[(c[N>>2]|0)+12>>2]|0)>0)jA(e);k=WA(e)|0;_=c[m>>2]|0;c[_>>2]=k;c[_+8>>2]=69;_=c[m>>2]|0;c[m>>2]=_+16;k=_+-16|0;i=c[k>>2]|0;X=_;Y=c[X+4>>2]|0;Z=i+16|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;a[i+6>>0]=c[_+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?($=(c[k>>2]|0)+5|0,aa=a[$>>0]|0,(aa&4)!=0):0)?(ba=c[i+-16>>2]|0,(a[ba+5>>0]&3)!=0):0){k=c[N>>2]|0;if((d[k+61>>0]|0)<2){$z(k,ba);i=c[m>>2]|0;break}else{a[$>>0]=a[k+60>>0]&3|aa&-8;break}}while(0);i=i+-16|0;c[m>>2]=i;x=y+16|0;if((C|0)>0){w=0;i=x;do{r=I+(w<<1)|0;o=pB(e,r)|0;k=c[ia>>2]|0;s=(r|0)>0;do if(s){k=(c[k>>2]|0)+(r<<4)|0;k=k>>>0<(c[m>>2]|0)>>>0?k:412368}else{if((r|0)>=-1000999){k=(c[m>>2]|0)+(r<<4)|0;break}if((r|0)==-1001e3){k=(c[N>>2]|0)+40|0;break}n=-1001e3-r|0;k=c[k>>2]|0;if((c[k+8>>2]|0)==22){k=412368;break}k=c[k>>2]|0;k=(n|0)>(d[k+6>>0]|0)?412368:k+16+(n+-1<<4)|0}while(0);switch(c[k+8>>2]&63){case 4:{k=d[(c[k>>2]|0)+7>>0]|0;break}case 20:{k=c[(c[k>>2]|0)+12>>2]|0;break}case 7:{k=c[(c[k>>2]|0)+12>>2]|0;break}case 5:{k=XA(c[k>>2]|0)|0;break}default:k=0}p=(k+-16|0)>>>3;a[i>>0]=12;b[i+2>>1]=0;a[i+1>>0]=w;u=i+4|0;c[u>>2]=p+2;v=i+8|0;s6(v|0,o+8|0,(p<<3)+8|0)|0;o=c[m>>2]|0;p=c[o+-16>>2]|0;aa=p+16|0;ba=c[aa+4>>2]|0;k=o;c[k>>2]=c[aa>>2];c[k+4>>2]=ba;c[o+8>>2]=d[p+6>>0];o=c[m>>2]|0;p=o+16|0;c[m>>2]=p;k=c[ia>>2]|0;do if(s){k=(c[k>>2]|0)+(r<<4)|0;k=k>>>0<p>>>0?k:412368}else{if((r|0)>=-1000999){k=p+(r<<4)|0;break}if((r|0)==-1001e3){k=(c[N>>2]|0)+40|0;break}n=-1001e3-r|0;k=c[k>>2]|0;if((c[k+8>>2]|0)==22){k=412368;break}k=c[k>>2]|0;k=(n|0)>(d[k+6>>0]|0)?412368:k+16+(n+-1<<4)|0}while(0);n=c[k>>2]|0;$=n+16|0;aa=c[$+4>>2]|0;ba=p;c[ba>>2]=c[$>>2];c[ba+4>>2]=aa;c[o+24>>2]=d[n+6>>0];n=c[m>>2]|0;c[m>>2]=n+16;g:do if((n|0)==412368)t=0;else{k=c[n+8>>2]|0;if((k&15|0)!=5){t=0;break}switch(k&63){case 4:{t=d[(c[n>>2]|0)+7>>0]|0;break g}case 20:{t=c[(c[n>>2]|0)+12>>2]|0;break g}case 7:{t=c[(c[n>>2]|0)+12>>2]|0;break g}case 5:{t=XA(c[n>>2]|0)|0;break g}default:{t=0;break g}}}while(0);o=n+-16|0;h:do if((o|0)==412368)k=0;else{k=c[n+-8>>2]|0;if((k&15|0)!=5){k=0;break}switch(k&63){case 4:{k=d[(c[o>>2]|0)+7>>0]|0;break h}case 20:{k=c[(c[o>>2]|0)+12>>2]|0;break h}case 7:{k=c[(c[o>>2]|0)+12>>2]|0;break h}case 5:{k=XA(c[o>>2]|0)|0;break h}default:{k=0;break h}}}while(0);if((k+t|0)>65535)oB(e,360220,ca);do if(!t)k=0;else{if((t|0)<1)break;else s=1;while(1){p=((s|0)<0)<<31>>31;r=c[m>>2]|0;n=c[r+-16>>2]|0;o=b6(s|0,p|0,-1,-1)|0;ba=z;i:do if(ba>>>0<0|((ba|0)==0?o>>>0<(c[n+8>>2]|0)>>>0:0))n=(c[n+12>>2]|0)+(o<<4)|0;else{n=(c[n+16>>2]|0)+(((1<<d[n+7>>0])+-1&s)<<5)|0;while(1){if((c[n+24>>2]|0)==19?(ba=n+16|0,(c[ba>>2]|0)==(s|0)?(c[ba+4>>2]|0)==(p|0):0):0)break;o=c[n+28>>2]|0;if(!o){n=412368;break i}n=n+(o<<5)|0}}while(0);c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[m>>2]=(c[m>>2]|0)+16;ba=s+k|0;sz(e,-3,ba,((ba|0)<0)<<31>>31);if((s|0)==(t|0))break;else s=s+1|0}}while(0);c[m>>2]=(c[m>>2]|0)+-32;KE(v,k);i=i+(c[u>>2]<<3)|0;w=w+1|0}while((w|0)!=(C|0));k=c[m>>2]|0}else{k=i;i=x}a[i>>0]=3;o=c[k+-16>>2]|0;aa=o+16|0;ba=c[aa+4>>2]|0;ca=k;c[ca>>2]=c[aa>>2];c[ca+4>>2]=ba;c[k+8>>2]=d[o+6>>0];c[m>>2]=(c[m>>2]|0)+16;LE(e,J,B,x);o=y+18|0;if(!(b[o>>1]|0)){p=c[m>>2]|0;i=p+-16|0;switch(c[p+-8>>2]&63){case 4:{i=d[(c[i>>2]|0)+7>>0]|0;break}case 20:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 7:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 5:{i=XA(c[i>>2]|0)|0;break}default:i=0}n=i+1|0;i=c[ia>>2]|0;do if((K|0)>-32){i=(c[i>>2]|0)+(M<<4)|0;i=i>>>0<p>>>0?i:412368}else{if((M|0)>=-1000999){i=p+(M<<4)|0;break}if((M|0)==-1001e3){i=(c[N>>2]|0)+40|0;break}k=-1001002-L|0;i=c[i>>2]|0;if((c[i+8>>2]|0)==22){i=412368;break}i=c[i>>2]|0;i=(k|0)>(d[i+6>>0]|0)?412368:i+16+(k+-1<<4)|0}while(0);c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[m>>2]=(c[m>>2]|0)+16;sz(e,-2,n,((n|0)<0)<<31>>31);b[o>>1]=n}if((a[x>>0]|0)==12){i=x;do{if(b[i+2>>1]|0)ME(e,i+8|0,ha,0,0)|0;i=i+(c[i+4>>2]<<3)|0}while((a[i>>0]|0)==12);if((a[x>>0]|0)==12){p=x;do{i=b[p+2>>1]|0;do if(i<<16>>16){if(!(NE(p+8|0)|0))break;n=i&65535;o=c[m>>2]|0;i=c[o+-16>>2]|0;k=b6(n|0,0,-1,-1)|0;ca=z;j:do if(ca>>>0<0|((ca|0)==0?k>>>0<(c[i+8>>2]|0)>>>0:0))i=(c[i+12>>2]|0)+(k<<4)|0;else{i=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+65535&n)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(ca=i+16|0,(c[ca+4>>2]|0)==0?(c[ca>>2]|0)==(n|0):0):0)break;k=c[i+28>>2]|0;if(!k){i=412368;break j}i=i+(k<<5)|0}}while(0);c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];k=c[m>>2]|0;i=k+16|0;c[m>>2]=i;switch(c[k+8>>2]&15){case 4:{i=k;da=353;break}case 3:{if((c[(c[N>>2]|0)+12>>2]|0)>0){jA(e);i=c[m>>2]|0}i=i+-16|0;oA(e,i);da=353;break}default:{if((k|0)==412368)i=-1;else i=c[k+8>>2]&15;c[fa>>2]=c[7100+(i+1<<2)>>2];i=mz(e,360159,fa)|0}}if((da|0)==353){da=0;c[ea>>2]=(c[i>>2]|0)+16;i=mz(e,392253,ea)|0}c[ga>>2]=i;oB(e,360251,ga)}while(0);p=p+(c[p+4>>2]<<3)|0}while((a[p>>0]|0)==12)}}p=c[m>>2]|0;i=p+-16|0;c[m>>2]=i;r=C<<1;n=-2-r|0;k=p+-32|0;o=c[ia>>2]|0;do if((n|0)>0){ga=(c[o>>2]|0)+(n<<4)|0;i=ga>>>0<i>>>0?ga:412368}else{if((n|0)>=-1000999){i=i+(n<<4)|0;break}if((n|0)==-1001e3){i=(c[N>>2]|0)+40|0;break}n=-1001e3-n|0;i=c[o>>2]|0;if((c[i+8>>2]|0)==22){i=412368;break}i=c[i>>2]|0;i=(n|0)>(d[i+6>>0]|0)?412368:i+16+(n+-1<<4)|0}while(0);n=p+-48|0;if(i>>>0<n>>>0){o=i;do{c[ha>>2]=c[o>>2];c[ha+4>>2]=c[o+4>>2];c[ha+8>>2]=c[o+8>>2];c[ha+12>>2]=c[o+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[n>>2]=c[ha>>2];c[n+4>>2]=c[ha+4>>2];c[n+8>>2]=c[ha+8>>2];c[n+12>>2]=c[ha+12>>2];o=o+16|0;n=n+-16|0}while(o>>>0<n>>>0)}if(i>>>0<k>>>0)do{c[ha>>2]=c[i>>2];c[ha+4>>2]=c[i+4>>2];c[ha+8>>2]=c[i+8>>2];c[ha+12>>2]=c[i+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];c[k>>2]=c[ha>>2];c[k+4>>2]=c[ha+4>>2];c[k+8>>2]=c[ha+8>>2];c[k+12>>2]=c[ha+12>>2];i=i+16|0;k=k+-16|0}while(i>>>0<k>>>0);k=r^-2;if((C|0)>=0){c[m>>2]=(c[m>>2]|0)+((k|1)<<4);n=B;break b}i=c[c[ia>>2]>>2]|0;n=c[m>>2]|0;o=i+((k|1)<<4)|0;if(n>>>0<o>>>0){i=(i+(k<<4)+8+4+(3-n)|0)>>>4;k=n;do{c[k+8>>2]=0;k=k+16|0}while(k>>>0<o>>>0);c[m>>2]=n+(i+1<<4)}c[m>>2]=o;n=B;break}case 6:{r=zz(e,24)|0;p=e+12|0;n=c[p>>2]|0;m=e+8|0;o=c[m>>2]|0;k=n+280+(((359865>>>0)%127|0)<<2)|0;i=c[k>>2]|0;if(e3(359865,i+16|0)|0){i=QA(e,359865,12)|0;c[k>>2]=i}c[o>>2]=i;c[o+8>>2]=(a[i+4>>0]|64)&255;ha=c[m>>2]|0;c[m>>2]=ha+16;bB(e,n+40|0,ha,ha);ha=c[m>>2]|0;k=ha+-16|0;c[ha>>2]=c[k>>2];c[ha+4>>2]=c[k+4>>2];c[ha+8>>2]=c[k+8>>2];c[ha+12>>2]=c[k+12>>2];ha=c[m>>2]|0;c[m>>2]=ha+16;k=ha+-32|0;i=c[k>>2]|0;ea=ha;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(s=(c[k>>2]|0)+5|0,t=a[s>>0]|0,(t&4)!=0):0)?(u=c[i+-16>>2]|0,(a[u+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,u);i=c[m>>2]|0;break}else{a[s>>0]=a[k+60>>0]&3|t&-8;break}}while(0);c[m>>2]=i+-16;tz(e,-2);c[r>>2]=0;c[r+4>>2]=0;n=r+8|0;a[n>>0]=16;if((c[(c[p>>2]|0)+12>>2]|0)>0)jA(e);ha=WA(e)|0;k=c[m>>2]|0;c[k>>2]=ha;c[k+8>>2]=69;c[m>>2]=(c[m>>2]|0)+16;TA(e,ha,1,0);ha=c[m>>2]|0;k=ha+-32|0;i=c[k>>2]|0;ea=ha+-16|0;fa=c[ea+4>>2]|0;ga=i+16|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=fa;a[i+6>>0]=c[ha+-8>>2];i=c[m>>2]|0;do if(((c[i+-8>>2]&64|0)!=0?(H=(c[k>>2]|0)+5|0,I=a[H>>0]|0,(I&4)!=0):0)?(J=c[i+-16>>2]|0,(a[J+5>>0]&3)!=0):0){k=c[p>>2]|0;if((d[k+61>>0]|0)<2){$z(k,J);i=c[m>>2]|0;break}else{a[H>>0]=a[k+60>>0]&3|I&-8;break}}while(0);c[m>>2]=i+-16;b[r+10>>1]=OE(e,f)|0;a[r+16>>0]=3;break}default:break a}while(0);iz(e,f);k=(c[m>>2]|0)+-16|0;c[m>>2]=k;if(!g){g=n;l=ka;return g|0}i=c[ia>>2]|0;do if(!ja){if((f|0)>=-1000999){i=k+(f<<4)|0;break}if((f|0)==-1001e3){i=(c[e+12>>2]|0)+40|0;break}k=-1001e3-f|0;i=c[i>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(k|0)>(d[i+6>>0]|0)?412368:i+16+(k+-1<<4)|0}}else{i=(c[i>>2]|0)+(f<<4)|0;i=i>>>0<k>>>0?i:412368}while(0);switch(c[i+8>>2]&63){case 4:{i=d[(c[i>>2]|0)+7>>0]|0;break}case 20:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 7:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 5:{i=XA(c[i>>2]|0)|0;break}default:i=0}c[g>>2]=((i+-16|0)>>>3)+1;g=n;l=ka;return g|0}while(0);m=pB(e,f)|0;if(g|0){i=c[ia>>2]|0;do if(!ja){if((f|0)>=-1000999){i=(c[e+8>>2]|0)+(f<<4)|0;break}if((f|0)==-1001e3){i=(c[e+12>>2]|0)+40|0;break}k=-1001e3-f|0;i=c[i>>2]|0;if((c[i+8>>2]|0)==22)i=412368;else{i=c[i>>2]|0;i=(k|0)>(d[i+6>>0]|0)?412368:i+16+(k+-1<<4)|0}}else{i=(c[i>>2]|0)+(f<<4)|0;i=i>>>0<(c[e+8>>2]|0)>>>0?i:412368}while(0);switch(c[i+8>>2]&63){case 4:{i=d[(c[i>>2]|0)+7>>0]|0;break}case 20:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 7:{i=c[(c[i>>2]|0)+12>>2]|0;break}case 5:{i=XA(c[i>>2]|0)|0;break}default:i=0}c[g>>2]=((i+-16|0)>>>3)+1}g=m+8|0;l=ka;return g|0}function KE(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!e)return;a:while(1){g=a[d>>0]|0;h=g&255;b:do switch(g<<24>>24){case 12:case 16:case 10:case 11:{f=d+2|0;g=b[f>>1]|0;if(g<<16>>16)b[f>>1]=(g&65535)+e;break}case 15:{g=d+2|0;i=b[g>>1]|0;f=i&65535;if(i<<16>>16){switch(a[d+1>>0]|0){case 10:case 4:break b;default:{}}b[g>>1]=f+e}break}default:{}}while(0);switch(a[359848+h>>0]|0){case 1:{f=1;break}case 2:{KE(d+8|0,e);f=c[d+4>>2]|0;break}default:break a}d=d+(f<<3)|0}return}function LE(f,g,i,k){f=f|0;g=g|0;i=i|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+64|0;K=N+56|0;J=N+48|0;M=N+40|0;L=N+32|0;I=N+24|0;H=N+16|0;G=N;u=(i|0)==0;v=i;x=f+8|0;y=f+12|0;A=f+16|0;B=(g|0)>0;C=G+8|0;D=(g|0)<-1000999;E=(g|0)==-1001e3;F=-1001e3-g|0;w=F+-1|0;t=k;a:while(1){k=a[t>>0]|0;b:do switch(k<<24>>24){case 13:{s=64;break a}case 11:{r=t+2|0;o=e[r>>1]|0;p=c[x>>2]|0;k=c[p+-16>>2]|0;n=b6(o|0,0,-1,-1)|0;q=z;c:do if(q>>>0<0|((q|0)==0?n>>>0<(c[k+8>>2]|0)>>>0:0))k=(c[k+12>>2]|0)+(n<<4)|0;else{k=(c[k+16>>2]|0)+(((1<<d[k+7>>0])+65535&o)<<5)|0;while(1){if((c[k+24>>2]|0)==19?(q=k+16|0,(c[q+4>>2]|0)==0?(c[q>>2]|0)==(o|0):0):0)break;n=c[k+28>>2]|0;if(!n){k=412368;break c}k=k+(n<<5)|0}}while(0);c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];o=c[x>>2]|0;k=o+16|0;c[x>>2]=k;if(u){n=c[o+8>>2]|0;switch(n&15){case 4:{k=o;s=55;break}case 3:{if((c[(c[y>>2]|0)+12>>2]|0)>0){jA(f);k=c[x>>2]|0}k=k+-16|0;oA(f,k);s=55;break}default:{c[J>>2]=c[7100+(((o|0)==412368?0:(n&15)+1|0)<<2)>>2];k=mz(f,360159,J)|0}}if((s|0)==55){s=0;c[M>>2]=(c[k>>2]|0)+16;k=mz(f,392253,M)|0}c[K>>2]=k;oB(f,360375,K);k=a[t>>0]|0;break b}n=c[A>>2]|0;do if(!B){if(!D){k=k+(g<<4)|0;break}if(E){k=(c[y>>2]|0)+40|0;break}k=c[n>>2]|0;if((c[k+8>>2]|0)==22)k=412368;else{k=c[k>>2]|0;k=(F|0)>(d[k+6>>0]|0)?412368:k+16+(w<<4)|0}}else{q=(c[n>>2]|0)+(g<<4)|0;k=q>>>0<k>>>0?q:412368}while(0);bB(f,k,o,o);k=c[x>>2]|0;n=k+-16|0;k=c[k+-8>>2]|0;d:do if((k|0)==3)m=+h[n>>3];else do if((k|0)==19){q=n;m=+((c[q>>2]|0)>>>0)+4294967296.0*+(c[q+4>>2]|0)}else{if((k&15|0)==4){o=nA((c[n>>2]|0)+16|0,G)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((o|0)==(k+1|0)){o=(c[C>>2]|0)==19;q=G;p=c[q>>2]|0;q=c[q+4>>2]|0;c[j>>2]=p;c[j+4>>2]=q;m=o?+(p>>>0)+4294967296.0*+(q|0):+h[j>>3];break}}m=0.0;break d}while(0);while(0);q=~~m;k=c[x>>2]|0;p=k+-16|0;c[x>>2]=p;if(!q){o=e[r>>1]|0;k=c[k+-32>>2]|0;n=b6(o|0,0,-1,-1)|0;O=z;e:do if(O>>>0<0|((O|0)==0?n>>>0<(c[k+8>>2]|0)>>>0:0))k=(c[k+12>>2]|0)+(n<<4)|0;else{k=(c[k+16>>2]|0)+(((1<<d[k+7>>0])+65535&o)<<5)|0;while(1){if((c[k+24>>2]|0)==19?(O=k+16|0,(c[O+4>>2]|0)==0?(c[O>>2]|0)==(o|0):0):0)break;n=c[k+28>>2]|0;if(!n){k=412368;break e}k=k+(n<<5)|0}}while(0);c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];n=c[x>>2]|0;k=n+16|0;c[x>>2]=k;switch(c[n+8>>2]&15){case 4:{k=n;s=45;break}case 3:{if((c[(c[y>>2]|0)+12>>2]|0)>0){jA(f);k=c[x>>2]|0}k=k+-16|0;oA(f,k);s=45;break}default:{if((n|0)==412368)k=-1;else k=c[n+8>>2]&15;c[I>>2]=c[7100+(k+1<<2)>>2];k=mz(f,360159,I)|0}}if((s|0)==45){s=0;c[H>>2]=(c[k>>2]|0)+16;k=mz(f,392253,H)|0}c[L>>2]=k;oB(f,360338,L)}a[t>>0]=10;k=q-(t-v>>3)|0;c[t+4>>2]=k;b[t+(k<<3)+2>>1]=b[r>>1]|0;k=10;break}case 7:case 6:{o=t+8|0;if((a[o>>0]|0)==k<<24>>24){p=t+4|0;q=t+12|0;r=t+16|0;do{n=c[q>>2]|0;O=(c[p>>2]|0)-n|0;t6(o|0,r|0,(n<<3)+-8|0)|0;c[p>>2]=n;a[t+(n<<3)>>0]=k;c[t+(n<<3)+4>>2]=O;k=a[o>>0]|0;n=a[t>>0]|0}while(k<<24>>24==n<<24>>24);k=n}break}default:{}}while(0);switch(a[359848+(k&255)>>0]|0){case 1:{k=1;break}case 2:{LE(f,g,i,t+8|0);k=c[t+4>>2]|0;break}default:{s=64;break a}}t=t+(k<<3)|0}if((s|0)==64){l=N;return}}function ME(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+24|0;p=r+16|0;n=r+8|0;o=r;j=h;a:while(1){b:while(1){c:while(1){switch(a[f>>0]|0){case 4:case 2:case 1:case 0:{q=37;break a}case 14:case 3:{q=38;break a}case 13:{q=36;break a}case 12:break b;case 5:case 9:case 8:{i=1;h=1;break c}case 7:{q=9;break c}case 16:case 15:{h=1;break}case 10:{h=c[f+4>>2]|0;break}case 6:{if(!(ME(b,f+8|0,g,j,0)|0)){q=37;break a}h=c[f+4>>2]|0;break}default:{f=0;q=39;break a}}f=f+(h<<3)|0}if((q|0)==9){q=0;i=ME(b,f+8|0,g,j,i)|0;h=c[f+4>>2]|0}f=f+(h<<3)|0}if((j|0)>249){i=j;q=13;break}c[g+(j<<2)>>2]=e[f+2>>1];j=j+1|0;f=f+8|0}if((q|0)==13){d:while(1){q=0;h=i;i=i+-1|0;f=h+-2|0;if((f|0)<=-1){q=34;break}k=c[g+(i<<2)>>2]|0;while(1){if((k|0)==(c[g+(f<<2)>>2]|0))break d;if((f|0)>0)f=f+-1|0;else break}if((h|0)<=1){q=34;break}else q=13}if((q|0)==34){oB(b,360307,m);q=0;l=r;return q|0}h=((k|0)<0)<<31>>31;g=b+8|0;j=c[g>>2]|0;f=c[j+-16>>2]|0;i=b6(k|0,h|0,-1,-1)|0;m=z;e:do if(m>>>0<0|((m|0)==0?i>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(i<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&k)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(m=f+16|0,(c[m>>2]|0)==(k|0)?(c[m+4>>2]|0)==(h|0):0):0)break;i=c[f+28>>2]|0;if(!i){f=412368;break e}f=f+(i<<5)|0}}while(0);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];i=c[g>>2]|0;f=i+16|0;c[g>>2]=f;switch(c[i+8>>2]&15){case 4:{f=i;q=29;break}case 3:{if((c[(c[b+12>>2]|0)+12>>2]|0)>0){jA(b);f=c[g>>2]|0}f=f+-16|0;oA(b,f);q=29;break}default:{if((i|0)==412368)f=0;else f=(c[i+8>>2]&15)+1|0;c[n>>2]=c[7100+(f<<2)>>2];f=mz(b,360159,n)|0}}if((q|0)==29){c[o>>2]=(c[f>>2]|0)+16;f=mz(b,392253,o)|0}c[p>>2]=f;oB(b,360275,p);q=0;l=r;return q|0}else if((q|0)==36){q=YE(f,0)|0;l=r;return q|0}else if((q|0)==37){q=i;l=r;return q|0}else if((q|0)==38){q=1;l=r;return q|0}else if((q|0)==39){l=r;return f|0}return 0}function NE(b){b=b|0;var d=0;a:while(1){d=a[b>>0]|0;switch(d<<24>>24){case 13:{b=0;d=8;break a}case 5:{if(YE(b+8|0,0)|0){b=1;d=8;break a}break}default:{}}switch(a[359848+(d&255)>>0]|0){case 1:{d=1;break}case 2:{if(NE(b+8|0)|0){b=1;d=8;break a}d=c[b+4>>2]|0;break}default:{b=0;d=8;break a}}b=b+(d<<3)|0}if((d|0)==8)return b|0;return 0}function OE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;i=o;k=a+16|0;e=c[k>>2]|0;n=(b|0)>0;do if(n){e=(c[e>>2]|0)+(b<<4)|0;if(e>>>0<(c[a+8>>2]|0)>>>0){h=e;m=9}}else{if((b|0)>=-1000999){h=(c[a+8>>2]|0)+(b<<4)|0;m=9;break}if((b|0)==-1001e3){h=(c[a+12>>2]|0)+40|0;m=9;break}f=-1001e3-b|0;e=c[e>>2]|0;if((c[e+8>>2]|0)!=22?(g=c[e>>2]|0,(f|0)<=(d[g+6>>0]|0|0)):0){h=g+16+(f+-1<<4)|0;m=9}}while(0);if(((m|0)==9?(h|0)!=412368:0)?(c[h+8>>2]&15|0)==0:0){a=0;l=o;return a|0}j=a+8|0;e=c[j>>2]|0;g=c[e+-16>>2]|0;p=g+16|0;f=c[p+4>>2]|0;h=e;c[h>>2]=c[p>>2];c[h+4>>2]=f;c[e+8>>2]=d[g+6>>0];e=c[j>>2]|0;g=e+16|0;c[j>>2]=g;switch(c[e+8>>2]&63){case 4:{h=d[(c[e>>2]|0)+7>>0]|0;f=g;break}case 20:{e=c[(c[e>>2]|0)+12>>2]|0;m=16;break}case 7:{e=c[(c[e>>2]|0)+12>>2]|0;m=16;break}case 5:{e=XA(c[e>>2]|0)|0;m=16;break}default:{h=0;f=g}}if((m|0)==16)if((e|0)>65534){oB(a,360220,i);g=c[j>>2]|0;h=e;f=g}else{h=e;f=g}e=c[k>>2]|0;do if(!n){if((b|0)>=-1000999){e=f+(b<<4)|0;break}if((b|0)==-1001e3){e=(c[a+12>>2]|0)+40|0;break}f=-1001e3-b|0;e=c[e>>2]|0;if((c[e+8>>2]|0)==22)e=412368;else{e=c[e>>2]|0;e=(f|0)>(d[e+6>>0]|0|0)?412368:e+16+(f+-1<<4)|0}}else{e=(c[e>>2]|0)+(b<<4)|0;e=e>>>0<f>>>0?e:412368}while(0);c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[j>>2]=(c[j>>2]|0)+16;p=h+1|0;sz(a,-2,p,((p|0)<0)<<31>>31);c[j>>2]=(c[j>>2]|0)+-16;l=o;return p|0}function PE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+16|0;r=t+4|0;s=t;e=JE(b,1,0)|0;n=JE(b,2,0)|0;e=a[e>>0]|0;if(e<<24>>24!=4?(a[n>>0]|0)!=3:0){if(e<<24>>24==3){s=b+8|0;r=c[s>>2]|0;b=(c[c[b+16>>2]>>2]|0)+32|0;b=b>>>0<r>>>0?b:412368;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];c[s>>2]=(c[s>>2]|0)+16;l=t;return 1}j=JE(b,1,r)|0;k=JE(b,2,s)|0;m=zz(b,((c[r>>2]|0)+1+(c[s>>2]|0)<<3)+8|0)|0;i=b+12|0;g=c[i>>2]|0;n=b+8|0;h=c[n>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[n>>2]|0;c[n>>2]=h+16;bB(b,g+40|0,h,h);h=c[n>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[n>>2]|0;c[n>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;v=h;u=c[v+4>>2]|0;g=e+16|0;c[g>>2]=c[v>>2];c[g+4>>2]=u;a[e+6>>0]=c[h+8>>2];e=c[n>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(o=(c[f>>2]|0)+5|0,p=a[o>>0]|0,(p&4)!=0):0)?(q=c[e+-16>>2]|0,(a[q+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,q);e=c[n>>2]|0;break}else{a[o>>0]=a[f+60>>0]&3|p&-8;break}}while(0);c[n>>2]=e+-16;tz(b,-2);c[m>>2]=0;c[m+4>>2]=0;u=m+8|0;a[u>>0]=6;q=c[r>>2]|0;r=q+1|0;v=m+12|0;c[v>>2]=r;s6(m+16|0,j|0,q<<3|0)|0;s6(u+(r<<3)|0,k|0,c[s>>2]<<3|0)|0;WE(b,u+(c[v>>2]<<3)|0);l=t;return 1}v=b+8|0;u=c[v>>2]|0;s=(c[c[b+16>>2]>>2]|0)+16|0;s=s>>>0<u>>>0?s:412368;c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2];c[v>>2]=(c[v>>2]|0)+16;l=t;return 1}function QE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;u=w+4|0;v=w;s=w+40|0;t=w+8|0;f=JE(b,1,0)|0;g=JE(b,2,0)|0;h=a[f>>0]|0;switch(h<<24>>24){case 1:{e=f+8|0;a[s>>0]=a[e>>0]|0;a[s+1>>0]=a[e+1>>0]|0;a[s+2>>0]=a[e+2>>0]|0;a[s+3>>0]=a[e+3>>0]|0;a[s+4>>0]=a[e+4>>0]|0;a[s+5>>0]=a[e+5>>0]|0;a[s+6>>0]=a[e+6>>0]|0;a[s+7>>0]=a[e+7>>0]|0;a[s+8>>0]=a[e+8>>0]|0;a[s+9>>0]=a[e+9>>0]|0;a[s+10>>0]=a[e+10>>0]|0;a[s+11>>0]=a[e+11>>0]|0;a[s+12>>0]=a[e+12>>0]|0;a[s+13>>0]=a[e+13>>0]|0;a[s+14>>0]=a[e+14>>0]|0;a[s+15>>0]=a[e+15>>0]|0;a[s+16>>0]=a[e+16>>0]|0;a[s+17>>0]=a[e+17>>0]|0;a[s+18>>0]=a[e+18>>0]|0;a[s+19>>0]=a[e+19>>0]|0;a[s+20>>0]=a[e+20>>0]|0;a[s+21>>0]=a[e+21>>0]|0;a[s+22>>0]=a[e+22>>0]|0;a[s+23>>0]=a[e+23>>0]|0;a[s+24>>0]=a[e+24>>0]|0;a[s+25>>0]=a[e+25>>0]|0;a[s+26>>0]=a[e+26>>0]|0;a[s+27>>0]=a[e+27>>0]|0;a[s+28>>0]=a[e+28>>0]|0;a[s+29>>0]=a[e+29>>0]|0;a[s+30>>0]=a[e+30>>0]|0;a[s+31>>0]=a[e+31>>0]|0;e=5;break}case 0:{e=s;i=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(i|0));k=c[f+4>>2]|0;e=s+(k>>3)|0;a[e>>0]=d[e>>0]|1<<(k&7);e=5;break}case 2:{e=s;i=e+32|0;do{a[e>>0]=255;e=e+1|0}while((e|0)<(i|0));e=5;break}default:{}}a:do if((e|0)==5){switch(a[g>>0]|0){case 1:{v=g+8|0;a[t>>0]=a[v>>0]|0;a[t+1>>0]=a[v+1>>0]|0;a[t+2>>0]=a[v+2>>0]|0;a[t+3>>0]=a[v+3>>0]|0;a[t+4>>0]=a[v+4>>0]|0;a[t+5>>0]=a[v+5>>0]|0;a[t+6>>0]=a[v+6>>0]|0;a[t+7>>0]=a[v+7>>0]|0;a[t+8>>0]=a[v+8>>0]|0;a[t+9>>0]=a[v+9>>0]|0;a[t+10>>0]=a[v+10>>0]|0;a[t+11>>0]=a[v+11>>0]|0;a[t+12>>0]=a[v+12>>0]|0;a[t+13>>0]=a[v+13>>0]|0;a[t+14>>0]=a[v+14>>0]|0;a[t+15>>0]=a[v+15>>0]|0;a[t+16>>0]=a[v+16>>0]|0;a[t+17>>0]=a[v+17>>0]|0;a[t+18>>0]=a[v+18>>0]|0;a[t+19>>0]=a[v+19>>0]|0;a[t+20>>0]=a[v+20>>0]|0;a[t+21>>0]=a[v+21>>0]|0;a[t+22>>0]=a[v+22>>0]|0;a[t+23>>0]=a[v+23>>0]|0;a[t+24>>0]=a[v+24>>0]|0;a[t+25>>0]=a[v+25>>0]|0;a[t+26>>0]=a[v+26>>0]|0;a[t+27>>0]=a[v+27>>0]|0;a[t+28>>0]=a[v+28>>0]|0;a[t+29>>0]=a[v+29>>0]|0;a[t+30>>0]=a[v+30>>0]|0;a[t+31>>0]=a[v+31>>0]|0;break}case 0:{e=t;i=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(i|0));u=c[g+4>>2]|0;v=t+(u>>3)|0;a[v>>0]=d[v>>0]|1<<(u&7);break}case 2:{e=t;i=e+32|0;do{a[e>>0]=255;e=e+1|0}while((e|0)<(i|0));break}default:break a}k=zz(b,48)|0;i=b+12|0;g=c[i>>2]|0;j=b+8|0;h=c[j>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;v=c[j>>2]|0;c[j>>2]=v+16;bB(b,g+40|0,v,v);v=c[j>>2]|0;f=v+-16|0;c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];v=c[j>>2]|0;c[j>>2]=v+16;f=v+-32|0;e=c[f>>2]|0;q=v;r=c[q+4>>2]|0;u=e+16|0;c[u>>2]=c[q>>2];c[u+4>>2]=r;a[e+6>>0]=c[v+8>>2];e=c[j>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(m=(c[f>>2]|0)+5|0,n=a[m>>0]|0,(n&4)!=0):0)?(o=c[e+-16>>2]|0,(a[o+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,o);e=c[j>>2]|0;break}else{a[m>>0]=a[f+60>>0]&3|n&-8;break}}while(0);c[j>>2]=e+-16;tz(b,-2);c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=1;e=k+16|0;i=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(i|0));e=0;do{a[k+(e+16)>>0]=a[t+e>>0]|a[s+e>>0];e=e+1|0}while((e|0)!=32);l=w;return 1}while(0);if((YE(f,1)|0)==0?(a[g>>0]|0)!=4:0){if(h<<24>>24==4){v=b+8|0;u=c[v>>2]|0;b=(c[c[b+16>>2]>>2]|0)+32|0;b=b>>>0<u>>>0?b:412368;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];c[v>>2]=(c[v>>2]|0)+16;l=w;return 1}j=JE(b,1,u)|0;k=JE(b,2,v)|0;m=zz(b,((c[u>>2]|0)+1+(c[v>>2]|0)<<3)+8|0)|0;i=b+12|0;g=c[i>>2]|0;n=b+8|0;h=c[n>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;t=c[n>>2]|0;c[n>>2]=t+16;bB(b,g+40|0,t,t);t=c[n>>2]|0;f=t+-16|0;c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];t=c[n>>2]|0;c[n>>2]=t+16;f=t+-32|0;e=c[f>>2]|0;h=t;o=c[h+4>>2]|0;s=e+16|0;c[s>>2]=c[h>>2];c[s+4>>2]=o;a[e+6>>0]=c[t+8>>2];e=c[n>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(p=(c[f>>2]|0)+5|0,q=a[p>>0]|0,(q&4)!=0):0)?(r=c[e+-16>>2]|0,(a[r+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,r);e=c[n>>2]|0;break}else{a[p>>0]=a[f+60>>0]&3|q&-8;break}}while(0);c[n>>2]=e+-16;tz(b,-2);c[m>>2]=0;c[m+4>>2]=0;t=m+8|0;a[t>>0]=7;r=c[u>>2]|0;s=r+1|0;u=m+12|0;c[u>>2]=s;s6(m+16|0,j|0,r<<3|0)|0;s6(t+(s<<3)|0,k|0,c[v>>2]<<3|0)|0;WE(b,t+(c[u>>2]<<3)|0);l=w;return 1}v=b+8|0;u=c[v>>2]|0;b=(c[c[b+16>>2]>>2]|0)+16|0;b=b>>>0<u>>>0?b:412368;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];c[v>>2]=(c[v>>2]|0)+16;l=w;return 1}function RE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;t=w;u=w+4|0;g=sB(b,2)|0;v=JE(b,1,u)|0;if((g|0)>-1){m=zz(b,(O((g<<3)+8|0,(c[u>>2]|0)+1|0)|0)+8|0)|0;k=b+12|0;h=c[k>>2]|0;i=b+8|0;j=c[i>>2]|0;f=h+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[j>>2]=e;c[j+8>>2]=(a[e+4>>0]|64)&255;s=c[i>>2]|0;c[i>>2]=s+16;bB(b,h+40|0,s,s);s=c[i>>2]|0;f=s+-16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];s=c[i>>2]|0;c[i>>2]=s+16;f=s+-32|0;e=c[f>>2]|0;j=s;q=c[j+4>>2]|0;r=e+16|0;c[r>>2]=c[j>>2];c[r+4>>2]=q;a[e+6>>0]=c[s+8>>2];e=c[i>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(n=(c[f>>2]|0)+5|0,o=a[n>>0]|0,(o&4)!=0):0)?(p=c[e+-16>>2]|0,(a[p+5>>0]&3)!=0):0){f=c[k>>2]|0;if((d[f+61>>0]|0)<2){$z(f,p);e=c[i>>2]|0;break}else{a[n>>0]=a[f+60>>0]&3|o&-8;break}}while(0);c[i>>2]=e+-16;tz(b,-2);c[m>>2]=0;c[m+4>>2]=0;e=m+8|0;if(YE(v,0)|0)oB(b,360670,t);j=c[u>>2]|0;if(g){h=j<<3;h=m+((O(g+-1|0,h+8|0)|0)+h+16)|0;while(1){g=g+-1|0;a[e>>0]=6;f=j+1|0;c[e+4>>2]=f;s6(e+8|0,v|0,j<<3|0)|0;if(!g)break;else e=e+(f<<3)|0}e=h}a[e>>0]=5;s6(e+8|0,v|0,j<<3|0)|0}else{f=0-g|0;n=zz(b,O(f<<3,(c[u>>2]|0)+3|0)|0)|0;m=b+12|0;j=c[m>>2]|0;i=b+8|0;k=c[i>>2]|0;h=j+280+(((359865>>>0)%127|0)<<2)|0;e=c[h>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[h>>2]=e}c[k>>2]=e;c[k+8>>2]=(a[e+4>>0]|64)&255;t=c[i>>2]|0;c[i>>2]=t+16;bB(b,j+40|0,t,t);t=c[i>>2]|0;h=t+-16|0;c[t>>2]=c[h>>2];c[t+4>>2]=c[h+4>>2];c[t+8>>2]=c[h+8>>2];c[t+12>>2]=c[h+12>>2];t=c[i>>2]|0;c[i>>2]=t+16;h=t+-32|0;e=c[h>>2]|0;k=t;o=c[k+4>>2]|0;p=e+16|0;c[p>>2]=c[k>>2];c[p+4>>2]=o;a[e+6>>0]=c[t+8>>2];e=c[i>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(q=(c[h>>2]|0)+5|0,r=a[q>>0]|0,(r&4)!=0):0)?(s=c[e+-16>>2]|0,(a[s+5>>0]&3)!=0):0){h=c[m>>2]|0;if((d[h+61>>0]|0)<2){$z(h,s);e=c[i>>2]|0;break}else{a[q>>0]=a[h+60>>0]&3|r&-8;break}}while(0);c[i>>2]=e+-16;tz(b,-2);c[n>>2]=0;c[n+4>>2]=0;e=n+8|0;a[e>>0]=7;h=c[u>>2]|0;if((g|0)!=-1)do{u=(O(h+3|0,f)|0)+-2|0;c[e+4>>2]=u;a[e+(u<<3)>>0]=3;a[e+8>>0]=6;c[e+12>>2]=h+1;s6(e+16|0,v|0,h<<3|0)|0;e=e+(h+2<<3)|0;f=f+-1|0;a[e>>0]=7}while((f|0)>1);u=h+1|0;c[e+4>>2]=u;a[e+(u<<3)>>0]=3;s6(e+8|0,v|0,h<<3|0)|0}e=(c[c[b+16>>2]>>2]|0)+16|0;v=c[i>>2]|0;e=c[(e>>>0<v>>>0?e:412368)>>2]|0;t=e+16|0;s=c[t+4>>2]|0;j=v;c[j>>2]=c[t>>2];c[j+4>>2]=s;c[v+8>>2]=d[e+6>>0];v=c[i>>2]|0;c[i>>2]=v+16;e=v+-16|0;j=c[e>>2]|0;s=v;t=c[s+4>>2]|0;u=j+16|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[j+6>>0]=c[v+8>>2];j=c[i>>2]|0;if(!(c[j+-8>>2]&64)){b=j;b=b+-16|0;c[i>>2]=b;l=w;return 1}f=(c[e>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4)){b=j;b=b+-16|0;c[i>>2]=b;l=w;return 1}h=c[j+-16>>2]|0;if(!(a[h+5>>0]&3)){b=j;b=b+-16|0;c[i>>2]=b;l=w;return 1}e=c[b+12>>2]|0;if((d[e+61>>0]|0)<2){$z(e,h);b=c[i>>2]|0;b=b+-16|0;c[i>>2]=b;l=w;return 1}else{a[f>>0]=a[e+60>>0]&3|g&-8;b=j;b=b+-16|0;c[i>>2]=b;l=w;return 1}return 0}function SE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+16|0;o=r;m=JE(b,1,o)|0;n=zz(b,(c[o>>2]<<3)+16|0)|0;p=b+12|0;g=c[p>>2]|0;q=b+8|0;h=c[q>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[q>>2]|0;c[q>>2]=h+16;bB(b,g+40|0,h,h);h=c[q>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[q>>2]|0;c[q>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;t=h;s=c[t+4>>2]|0;g=e+16|0;c[g>>2]=c[t>>2];c[g+4>>2]=s;a[e+6>>0]=c[h+8>>2];e=c[q>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(i=(c[f>>2]|0)+5|0,j=a[i>>0]|0,(j&4)!=0):0)?(k=c[e+-16>>2]|0,(a[k+5>>0]&3)!=0):0){f=c[p>>2]|0;if((d[f+61>>0]|0)<2){$z(f,k);e=c[q>>2]|0;break}else{a[i>>0]=a[f+60>>0]&3|j&-8;break}}while(0);c[q>>2]=e+-16;tz(b,-2);c[n>>2]=0;c[n+4>>2]=0;a[n+8>>0]=9;s6(n+16|0,m|0,c[o>>2]<<3|0)|0;e=(c[c[b+16>>2]>>2]|0)+16|0;t=c[q>>2]|0;e=c[(e>>>0<t>>>0?e:412368)>>2]|0;o=e+16|0;b=c[o+4>>2]|0;i=t;c[i>>2]=c[o>>2];c[i+4>>2]=b;c[t+8>>2]=d[e+6>>0];t=c[q>>2]|0;c[q>>2]=t+16;e=t+-16|0;i=c[e>>2]|0;b=t;o=c[b+4>>2]|0;s=i+16|0;c[s>>2]=c[b>>2];c[s+4>>2]=o;a[i+6>>0]=c[t+8>>2];i=c[q>>2]|0;if(!(c[i+-8>>2]&64)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}f=(c[e>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}h=c[i+-16>>2]|0;if(!(a[h+5>>0]&3)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}e=c[p>>2]|0;if((d[e+61>>0]|0)<2){$z(e,h);t=c[q>>2]|0;t=t+-16|0;c[q>>2]=t;l=r;return 1}else{a[f>>0]=a[e+60>>0]&3|g&-8;t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}return 0}function TE(e){e=e|0;var f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0.0;ia=l;l=l+48|0;ba=ia+32|0;aa=ia+24|0;$=ia+16|0;fa=ia;ga=e+16|0;f=c[c[ga>>2]>>2]|0;i=f+32|0;ha=e+8|0;a:do if(!((i|0)==412368?1:i>>>0>=(c[ha>>2]|0)>>>0)){f=c[f+40>>2]|0;switch(f&15){case 6:{m=JE(e,1,fa)|0;p=zz(e,(c[fa>>2]<<3)+16|0)|0;n=e+12|0;i=c[n>>2]|0;k=c[ha>>2]|0;g=i+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;ea=c[ha>>2]|0;c[ha>>2]=ea+16;bB(e,i+40|0,ea,ea);ea=c[ha>>2]|0;g=ea+-16|0;c[ea>>2]=c[g>>2];c[ea+4>>2]=c[g+4>>2];c[ea+8>>2]=c[g+8>>2];c[ea+12>>2]=c[g+12>>2];ea=c[ha>>2]|0;c[ha>>2]=ea+16;g=ea+-32|0;f=c[g>>2]|0;ba=ea;ca=c[ba+4>>2]|0;da=f+16|0;c[da>>2]=c[ba>>2];c[da+4>>2]=ca;a[f+6>>0]=c[ea+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(s=(c[g>>2]|0)+5|0,t=a[s>>0]|0,(t&4)!=0):0)?(u=c[f+-16>>2]|0,(a[u+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,u);f=c[ha>>2]|0;break}else{a[s>>0]=a[g+60>>0]&3|t&-8;break}}while(0);c[ha>>2]=f+-16;tz(e,-2);c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=15;s6(p+16|0,m|0,c[fa>>2]<<3|0)|0;g=(c[c[ga>>2]>>2]|0)+16|0;fa=c[ha>>2]|0;g=c[(g>>>0<fa>>>0?g:412368)>>2]|0;da=g+16|0;ca=c[da+4>>2]|0;f=fa;c[f>>2]=c[da>>2];c[f+4>>2]=ca;c[fa+8>>2]=d[g+6>>0];fa=c[ha>>2]|0;c[ha>>2]=fa+16;g=fa+-16|0;f=c[g>>2]|0;ca=fa;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(y=(c[g>>2]|0)+5|0,B=a[y>>0]|0,(B&4)!=0):0)?(C=c[f+-16>>2]|0,(a[C+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,C);f=c[ha>>2]|0;break}else{a[y>>0]=a[g+60>>0]&3|B&-8;break}}while(0);c[ha>>2]=f+-16;a[p+9>>0]=7;if((c[(c[n>>2]|0)+12>>2]|0)>0)jA(e);fa=WA(e)|0;g=c[ha>>2]|0;c[g>>2]=fa;c[g+8>>2]=69;c[ha>>2]=(c[ha>>2]|0)+16;TA(e,fa,1,0);fa=c[ha>>2]|0;g=fa+-32|0;f=c[g>>2]|0;ca=fa+-16|0;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+-8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(J=(c[g>>2]|0)+5|0,K=a[J>>0]|0,(K&4)!=0):0)?(L=c[f+-16>>2]|0,(a[L+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,L);f=c[ha>>2]|0;break}else{a[J>>0]=a[g+60>>0]&3|K&-8;break}}while(0);fa=f+-16|0;c[ha>>2]=fa;g=c[f+-32>>2]|0;ea=g+16|0;da=c[ea+4>>2]|0;c[fa>>2]=c[ea>>2];c[fa+4>>2]=da;c[f+-8>>2]=d[g+6>>0];g=c[ha>>2]|0;fa=g+16|0;c[ha>>2]=fa;ga=c[c[ga>>2]>>2]|0;ga=c[(ga>>>0<g>>>0?ga+16|0:412368)>>2]|0;da=ga+16|0;ea=c[da+4>>2]|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea;c[g+24>>2]=d[ga+6>>0];g=c[ha>>2]|0;c[ha>>2]=g+16;b:do if((g|0)!=412368?(V=c[g+8>>2]|0,(V&15|0)==5):0)switch(V&63){case 4:{o=d[(c[g>>2]|0)+7>>0]|0;break b}case 20:{o=c[(c[g>>2]|0)+12>>2]|0;break b}case 7:{o=c[(c[g>>2]|0)+12>>2]|0;break b}case 5:{o=XA(c[g>>2]|0)|0;break b}default:{o=0;break b}}else o=0;while(0);f=g+-16|0;c:do if((f|0)!=412368?(Y=c[g+-8>>2]|0,(Y&15|0)==5):0)switch(Y&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break c}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break c}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break c}case 5:{f=XA(c[f>>2]|0)|0;break c}default:{f=0;break c}}else f=0;while(0);if((f+o|0)>65535)oB(e,360220,$);if(o){if((o|0)>=1){n=1;while(1){k=((n|0)<0)<<31>>31;m=c[ha>>2]|0;g=c[m+-16>>2]|0;i=b6(n|0,k|0,-1,-1)|0;ga=z;d:do if(ga>>>0<0|((ga|0)==0?i>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(i<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&n)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(ga=g+16|0,(c[ga>>2]|0)==(n|0)?(c[ga+4>>2]|0)==(k|0):0):0)break;i=c[g+28>>2]|0;if(!i){g=412368;break d}g=g+(i<<5)|0}}while(0);c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[ha>>2]=(c[ha>>2]|0)+16;ga=n+f|0;sz(e,-3,ga,((ga|0)<0)<<31>>31);if((n|0)==(o|0))break;else n=n+1|0}}}else f=0;c[ha>>2]=(c[ha>>2]|0)+-32;KE(0,f);b[p+10>>1]=OE(e,2)|0;e=1;l=ia;return e|0}case 5:{m=JE(e,1,fa)|0;p=zz(e,(c[fa>>2]<<3)+16|0)|0;n=e+12|0;i=c[n>>2]|0;k=c[ha>>2]|0;g=i+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;ea=c[ha>>2]|0;c[ha>>2]=ea+16;bB(e,i+40|0,ea,ea);ea=c[ha>>2]|0;g=ea+-16|0;c[ea>>2]=c[g>>2];c[ea+4>>2]=c[g+4>>2];c[ea+8>>2]=c[g+8>>2];c[ea+12>>2]=c[g+12>>2];ea=c[ha>>2]|0;c[ha>>2]=ea+16;g=ea+-32|0;f=c[g>>2]|0;ba=ea;ca=c[ba+4>>2]|0;da=f+16|0;c[da>>2]=c[ba>>2];c[da+4>>2]=ca;a[f+6>>0]=c[ea+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(o=(c[g>>2]|0)+5|0,q=a[o>>0]|0,(q&4)!=0):0)?(r=c[f+-16>>2]|0,(a[r+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,r);f=c[ha>>2]|0;break}else{a[o>>0]=a[g+60>>0]&3|q&-8;break}}while(0);c[ha>>2]=f+-16;tz(e,-2);c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=15;s6(p+16|0,m|0,c[fa>>2]<<3|0)|0;g=(c[c[ga>>2]>>2]|0)+16|0;fa=c[ha>>2]|0;g=c[(g>>>0<fa>>>0?g:412368)>>2]|0;da=g+16|0;ca=c[da+4>>2]|0;f=fa;c[f>>2]=c[da>>2];c[f+4>>2]=ca;c[fa+8>>2]=d[g+6>>0];fa=c[ha>>2]|0;c[ha>>2]=fa+16;g=fa+-16|0;f=c[g>>2]|0;ca=fa;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(D=(c[g>>2]|0)+5|0,E=a[D>>0]|0,(E&4)!=0):0)?(F=c[f+-16>>2]|0,(a[F+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,F);f=c[ha>>2]|0;break}else{a[D>>0]=a[g+60>>0]&3|E&-8;break}}while(0);c[ha>>2]=f+-16;a[p+9>>0]=8;if((c[(c[n>>2]|0)+12>>2]|0)>0)jA(e);fa=WA(e)|0;g=c[ha>>2]|0;c[g>>2]=fa;c[g+8>>2]=69;c[ha>>2]=(c[ha>>2]|0)+16;TA(e,fa,1,0);fa=c[ha>>2]|0;g=fa+-32|0;f=c[g>>2]|0;ca=fa+-16|0;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+-8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(M=(c[g>>2]|0)+5|0,N=a[M>>0]|0,(N&4)!=0):0)?(O=c[f+-16>>2]|0,(a[O+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,O);f=c[ha>>2]|0;break}else{a[M>>0]=a[g+60>>0]&3|N&-8;break}}while(0);fa=f+-16|0;c[ha>>2]=fa;g=c[f+-32>>2]|0;ea=g+16|0;da=c[ea+4>>2]|0;c[fa>>2]=c[ea>>2];c[fa+4>>2]=da;c[f+-8>>2]=d[g+6>>0];g=c[ha>>2]|0;fa=g+16|0;c[ha>>2]=fa;ga=c[c[ga>>2]>>2]|0;ga=c[(ga>>>0<g>>>0?ga+16|0:412368)>>2]|0;da=ga+16|0;ea=c[da+4>>2]|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea;c[g+24>>2]=d[ga+6>>0];g=c[ha>>2]|0;c[ha>>2]=g+16;e:do if((g|0)!=412368?(W=c[g+8>>2]|0,(W&15|0)==5):0)switch(W&63){case 4:{o=d[(c[g>>2]|0)+7>>0]|0;break e}case 20:{o=c[(c[g>>2]|0)+12>>2]|0;break e}case 7:{o=c[(c[g>>2]|0)+12>>2]|0;break e}case 5:{o=XA(c[g>>2]|0)|0;break e}default:{o=0;break e}}else o=0;while(0);f=g+-16|0;f:do if((f|0)!=412368?(Z=c[g+-8>>2]|0,(Z&15|0)==5):0)switch(Z&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break f}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break f}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break f}case 5:{f=XA(c[f>>2]|0)|0;break f}default:{f=0;break f}}else f=0;while(0);if((f+o|0)>65535)oB(e,360220,aa);if(o){if((o|0)>=1){n=1;while(1){k=((n|0)<0)<<31>>31;m=c[ha>>2]|0;g=c[m+-16>>2]|0;i=b6(n|0,k|0,-1,-1)|0;ga=z;g:do if(ga>>>0<0|((ga|0)==0?i>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(i<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&n)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(ga=g+16|0,(c[ga>>2]|0)==(n|0)?(c[ga+4>>2]|0)==(k|0):0):0)break;i=c[g+28>>2]|0;if(!i){g=412368;break g}g=g+(i<<5)|0}}while(0);c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[ha>>2]=(c[ha>>2]|0)+16;ga=n+f|0;sz(e,-3,ga,((ga|0)<0)<<31>>31);if((n|0)==(o|0))break;else n=n+1|0}}}else f=0;c[ha>>2]=(c[ha>>2]|0)+-32;KE(0,f);b[p+10>>1]=OE(e,2)|0;e=1;l=ia;return e|0}case 4:{m=JE(e,1,fa)|0;p=zz(e,(c[fa>>2]<<3)+16|0)|0;n=e+12|0;i=c[n>>2]|0;k=c[ha>>2]|0;g=i+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;ea=c[ha>>2]|0;c[ha>>2]=ea+16;bB(e,i+40|0,ea,ea);ea=c[ha>>2]|0;g=ea+-16|0;c[ea>>2]=c[g>>2];c[ea+4>>2]=c[g+4>>2];c[ea+8>>2]=c[g+8>>2];c[ea+12>>2]=c[g+12>>2];ea=c[ha>>2]|0;c[ha>>2]=ea+16;g=ea+-32|0;f=c[g>>2]|0;aa=ea;ca=c[aa+4>>2]|0;da=f+16|0;c[da>>2]=c[aa>>2];c[da+4>>2]=ca;a[f+6>>0]=c[ea+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(v=(c[g>>2]|0)+5|0,w=a[v>>0]|0,(w&4)!=0):0)?(x=c[f+-16>>2]|0,(a[x+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,x);f=c[ha>>2]|0;break}else{a[v>>0]=a[g+60>>0]&3|w&-8;break}}while(0);c[ha>>2]=f+-16;tz(e,-2);c[p>>2]=0;c[p+4>>2]=0;a[p+8>>0]=15;s6(p+16|0,m|0,c[fa>>2]<<3|0)|0;g=(c[c[ga>>2]>>2]|0)+16|0;fa=c[ha>>2]|0;g=c[(g>>>0<fa>>>0?g:412368)>>2]|0;da=g+16|0;ca=c[da+4>>2]|0;f=fa;c[f>>2]=c[da>>2];c[f+4>>2]=ca;c[fa+8>>2]=d[g+6>>0];fa=c[ha>>2]|0;c[ha>>2]=fa+16;g=fa+-16|0;f=c[g>>2]|0;ca=fa;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(G=(c[g>>2]|0)+5|0,H=a[G>>0]|0,(H&4)!=0):0)?(I=c[f+-16>>2]|0,(a[I+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,I);f=c[ha>>2]|0;break}else{a[G>>0]=a[g+60>>0]&3|H&-8;break}}while(0);c[ha>>2]=f+-16;a[p+9>>0]=9;if((c[(c[n>>2]|0)+12>>2]|0)>0)jA(e);fa=WA(e)|0;g=c[ha>>2]|0;c[g>>2]=fa;c[g+8>>2]=69;c[ha>>2]=(c[ha>>2]|0)+16;TA(e,fa,1,0);fa=c[ha>>2]|0;g=fa+-32|0;f=c[g>>2]|0;ca=fa+-16|0;da=c[ca+4>>2]|0;ea=f+16|0;c[ea>>2]=c[ca>>2];c[ea+4>>2]=da;a[f+6>>0]=c[fa+-8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(P=(c[g>>2]|0)+5|0,Q=a[P>>0]|0,(Q&4)!=0):0)?(R=c[f+-16>>2]|0,(a[R+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,R);f=c[ha>>2]|0;break}else{a[P>>0]=a[g+60>>0]&3|Q&-8;break}}while(0);fa=f+-16|0;c[ha>>2]=fa;g=c[f+-32>>2]|0;ea=g+16|0;da=c[ea+4>>2]|0;c[fa>>2]=c[ea>>2];c[fa+4>>2]=da;c[f+-8>>2]=d[g+6>>0];g=c[ha>>2]|0;fa=g+16|0;c[ha>>2]=fa;ga=c[c[ga>>2]>>2]|0;ga=c[(ga>>>0<g>>>0?ga+16|0:412368)>>2]|0;da=ga+16|0;ea=c[da+4>>2]|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea;c[g+24>>2]=d[ga+6>>0];g=c[ha>>2]|0;c[ha>>2]=g+16;h:do if((g|0)!=412368?(X=c[g+8>>2]|0,(X&15|0)==5):0)switch(X&63){case 4:{o=d[(c[g>>2]|0)+7>>0]|0;break h}case 20:{o=c[(c[g>>2]|0)+12>>2]|0;break h}case 7:{o=c[(c[g>>2]|0)+12>>2]|0;break h}case 5:{o=XA(c[g>>2]|0)|0;break h}default:{o=0;break h}}else o=0;while(0);f=g+-16|0;i:do if((f|0)!=412368?(_=c[g+-8>>2]|0,(_&15|0)==5):0)switch(_&63){case 4:{f=d[(c[f>>2]|0)+7>>0]|0;break i}case 20:{f=c[(c[f>>2]|0)+12>>2]|0;break i}case 7:{f=c[(c[f>>2]|0)+12>>2]|0;break i}case 5:{f=XA(c[f>>2]|0)|0;break i}default:{f=0;break i}}else f=0;while(0);if((f+o|0)>65535)oB(e,360220,ba);if(o){if((o|0)>=1){n=1;while(1){k=((n|0)<0)<<31>>31;m=c[ha>>2]|0;g=c[m+-16>>2]|0;i=b6(n|0,k|0,-1,-1)|0;ga=z;j:do if(ga>>>0<0|((ga|0)==0?i>>>0<(c[g+8>>2]|0)>>>0:0))g=(c[g+12>>2]|0)+(i<<4)|0;else{g=(c[g+16>>2]|0)+(((1<<d[g+7>>0])+-1&n)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(ga=g+16|0,(c[ga>>2]|0)==(n|0)?(c[ga+4>>2]|0)==(k|0):0):0)break;i=c[g+28>>2]|0;if(!i){g=412368;break j}g=g+(i<<5)|0}}while(0);c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[ha>>2]=(c[ha>>2]|0)+16;ga=n+f|0;sz(e,-3,ga,((ga|0)<0)<<31>>31);if((n|0)==(o|0))break;else n=n+1|0}}}else f=0;c[ha>>2]=(c[ha>>2]|0)+-32;KE(0,f);b[p+10>>1]=OE(e,2)|0;e=1;l=ia;return e|0}case 3:{do if((f|0)!=19){k:while(1){switch(f|0){case 3:{g=160;break k}case 19:{g=163;break k}default:{}}if((f&15|0)!=4){g=171;break}g=nA((c[i>>2]|0)+16|0,fa)|0;f=c[i>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)!=(f+1|0)){g=171;break}i=fa;f=c[fa+8>>2]|0}if((g|0)==160){ja=+h[i>>3];j=+A(+ja);if(!(ja!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){f=~~j>>>0;g=170}else g=171}else if((g|0)==163){f=i;f=c[f>>2]|0;g=170}if((g|0)==170){q=f&65535;p=f;break}else if((g|0)==171){q=0;p=0;break}}else{p=c[i>>2]|0;q=p&65535}while(0);m=JE(e,1,fa)|0;o=zz(e,(c[fa>>2]<<3)+16|0)|0;n=e+12|0;i=c[n>>2]|0;k=c[ha>>2]|0;g=i+280+(((359865>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(359865,f+16|0)|0){f=QA(e,359865,12)|0;c[g>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;ba=c[ha>>2]|0;c[ha>>2]=ba+16;bB(e,i+40|0,ba,ba);ba=c[ha>>2]|0;g=ba+-16|0;c[ba>>2]=c[g>>2];c[ba+4>>2]=c[g+4>>2];c[ba+8>>2]=c[g+8>>2];c[ba+12>>2]=c[g+12>>2];ba=c[ha>>2]|0;c[ha>>2]=ba+16;g=ba+-32|0;f=c[g>>2]|0;_=ba;$=c[_+4>>2]|0;aa=f+16|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$;a[f+6>>0]=c[ba+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(S=(c[g>>2]|0)+5|0,T=a[S>>0]|0,(T&4)!=0):0)?(U=c[f+-16>>2]|0,(a[U+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,U);f=c[ha>>2]|0;break}else{a[S>>0]=a[g+60>>0]&3|T&-8;break}}while(0);c[ha>>2]=f+-16;tz(e,-2);c[o>>2]=0;c[o+4>>2]=0;a[o+8>>0]=15;s6(o+16|0,m|0,c[fa>>2]<<3|0)|0;g=(c[c[ga>>2]>>2]|0)+16|0;ga=c[ha>>2]|0;g=c[(g>>>0<ga>>>0?g:412368)>>2]|0;ba=g+16|0;aa=c[ba+4>>2]|0;f=ga;c[f>>2]=c[ba>>2];c[f+4>>2]=aa;c[ga+8>>2]=d[g+6>>0];ga=c[ha>>2]|0;c[ha>>2]=ga+16;g=ga+-16|0;f=c[g>>2]|0;aa=ga;ba=c[aa+4>>2]|0;fa=f+16|0;c[fa>>2]=c[aa>>2];c[fa+4>>2]=ba;a[f+6>>0]=c[ga+8>>2];f=c[ha>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(ca=(c[g>>2]|0)+5|0,da=a[ca>>0]|0,(da&4)!=0):0)?(ea=c[f+-16>>2]|0,(a[ea+5>>0]&3)!=0):0){g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,ea);f=c[ha>>2]|0;break}else{a[ca>>0]=a[g+60>>0]&3|da&-8;break}}while(0);c[ha>>2]=f+-16;if(p>>>0>=32768)nB(e,1,360629)|0;a[o+9>>0]=10;b[o+10>>1]=q;e=1;l=ia;return e|0}default:break a}}while(0);e=nB(e,2,360644)|0;l=ia;return e|0}function UE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+16|0;o=r;m=JE(b,1,o)|0;n=zz(b,(c[o>>2]<<3)+16|0)|0;p=b+12|0;g=c[p>>2]|0;q=b+8|0;h=c[q>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;h=c[q>>2]|0;c[q>>2]=h+16;bB(b,g+40|0,h,h);h=c[q>>2]|0;f=h+-16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];h=c[q>>2]|0;c[q>>2]=h+16;f=h+-32|0;e=c[f>>2]|0;t=h;s=c[t+4>>2]|0;g=e+16|0;c[g>>2]=c[t>>2];c[g+4>>2]=s;a[e+6>>0]=c[h+8>>2];e=c[q>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(i=(c[f>>2]|0)+5|0,j=a[i>>0]|0,(j&4)!=0):0)?(k=c[e+-16>>2]|0,(a[k+5>>0]&3)!=0):0){f=c[p>>2]|0;if((d[f+61>>0]|0)<2){$z(f,k);e=c[q>>2]|0;break}else{a[i>>0]=a[f+60>>0]&3|j&-8;break}}while(0);c[q>>2]=e+-16;tz(b,-2);c[n>>2]=0;c[n+4>>2]=0;a[n+8>>0]=8;s6(n+16|0,m|0,c[o>>2]<<3|0)|0;e=(c[c[b+16>>2]>>2]|0)+16|0;t=c[q>>2]|0;e=c[(e>>>0<t>>>0?e:412368)>>2]|0;o=e+16|0;b=c[o+4>>2]|0;i=t;c[i>>2]=c[o>>2];c[i+4>>2]=b;c[t+8>>2]=d[e+6>>0];t=c[q>>2]|0;c[q>>2]=t+16;e=t+-16|0;i=c[e>>2]|0;b=t;o=c[b+4>>2]|0;s=i+16|0;c[s>>2]=c[b>>2];c[s+4>>2]=o;a[i+6>>0]=c[t+8>>2];i=c[q>>2]|0;if(!(c[i+-8>>2]&64)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}f=(c[e>>2]|0)+5|0;g=a[f>>0]|0;if(!(g&4)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}h=c[i+-16>>2]|0;if(!(a[h+5>>0]&3)){t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}e=c[p>>2]|0;if((d[e+61>>0]|0)<2){$z(e,h);t=c[q>>2]|0;t=t+-16|0;c[q>>2]=t;l=r;return 1}else{a[f>>0]=a[e+60>>0]&3|g&-8;t=i;t=t+-16|0;c[q>>2]=t;l=r;return 1}return 0}function VE(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;w=y+40|0;x=y+8|0;u=y+4|0;v=y;s=JE(b,1,u)|0;t=JE(b,2,v)|0;switch(a[s>>0]|0){case 1:{e=s+8|0;a[w>>0]=a[e>>0]|0;a[w+1>>0]=a[e+1>>0]|0;a[w+2>>0]=a[e+2>>0]|0;a[w+3>>0]=a[e+3>>0]|0;a[w+4>>0]=a[e+4>>0]|0;a[w+5>>0]=a[e+5>>0]|0;a[w+6>>0]=a[e+6>>0]|0;a[w+7>>0]=a[e+7>>0]|0;a[w+8>>0]=a[e+8>>0]|0;a[w+9>>0]=a[e+9>>0]|0;a[w+10>>0]=a[e+10>>0]|0;a[w+11>>0]=a[e+11>>0]|0;a[w+12>>0]=a[e+12>>0]|0;a[w+13>>0]=a[e+13>>0]|0;a[w+14>>0]=a[e+14>>0]|0;a[w+15>>0]=a[e+15>>0]|0;a[w+16>>0]=a[e+16>>0]|0;a[w+17>>0]=a[e+17>>0]|0;a[w+18>>0]=a[e+18>>0]|0;a[w+19>>0]=a[e+19>>0]|0;a[w+20>>0]=a[e+20>>0]|0;a[w+21>>0]=a[e+21>>0]|0;a[w+22>>0]=a[e+22>>0]|0;a[w+23>>0]=a[e+23>>0]|0;a[w+24>>0]=a[e+24>>0]|0;a[w+25>>0]=a[e+25>>0]|0;a[w+26>>0]=a[e+26>>0]|0;a[w+27>>0]=a[e+27>>0]|0;a[w+28>>0]=a[e+28>>0]|0;a[w+29>>0]=a[e+29>>0]|0;a[w+30>>0]=a[e+30>>0]|0;a[w+31>>0]=a[e+31>>0]|0;e=5;break}case 0:{e=w;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));k=c[s+4>>2]|0;e=w+(k>>3)|0;a[e>>0]=d[e>>0]|1<<(k&7);e=5;break}case 2:{e=w;f=e+32|0;do{a[e>>0]=255;e=e+1|0}while((e|0)<(f|0));e=5;break}default:{}}a:do if((e|0)==5){switch(a[t>>0]|0){case 1:{v=t+8|0;a[x>>0]=a[v>>0]|0;a[x+1>>0]=a[v+1>>0]|0;a[x+2>>0]=a[v+2>>0]|0;a[x+3>>0]=a[v+3>>0]|0;a[x+4>>0]=a[v+4>>0]|0;a[x+5>>0]=a[v+5>>0]|0;a[x+6>>0]=a[v+6>>0]|0;a[x+7>>0]=a[v+7>>0]|0;a[x+8>>0]=a[v+8>>0]|0;a[x+9>>0]=a[v+9>>0]|0;a[x+10>>0]=a[v+10>>0]|0;a[x+11>>0]=a[v+11>>0]|0;a[x+12>>0]=a[v+12>>0]|0;a[x+13>>0]=a[v+13>>0]|0;a[x+14>>0]=a[v+14>>0]|0;a[x+15>>0]=a[v+15>>0]|0;a[x+16>>0]=a[v+16>>0]|0;a[x+17>>0]=a[v+17>>0]|0;a[x+18>>0]=a[v+18>>0]|0;a[x+19>>0]=a[v+19>>0]|0;a[x+20>>0]=a[v+20>>0]|0;a[x+21>>0]=a[v+21>>0]|0;a[x+22>>0]=a[v+22>>0]|0;a[x+23>>0]=a[v+23>>0]|0;a[x+24>>0]=a[v+24>>0]|0;a[x+25>>0]=a[v+25>>0]|0;a[x+26>>0]=a[v+26>>0]|0;a[x+27>>0]=a[v+27>>0]|0;a[x+28>>0]=a[v+28>>0]|0;a[x+29>>0]=a[v+29>>0]|0;a[x+30>>0]=a[v+30>>0]|0;a[x+31>>0]=a[v+31>>0]|0;break}case 0:{e=x;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));u=c[t+4>>2]|0;v=x+(u>>3)|0;a[v>>0]=d[v>>0]|1<<(u&7);break}case 2:{e=x;f=e+32|0;do{a[e>>0]=255;e=e+1|0}while((e|0)<(f|0));break}default:break a}k=zz(b,48)|0;i=b+12|0;g=c[i>>2]|0;j=b+8|0;h=c[j>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;v=c[j>>2]|0;c[j>>2]=v+16;bB(b,g+40|0,v,v);v=c[j>>2]|0;f=v+-16|0;c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];v=c[j>>2]|0;c[j>>2]=v+16;f=v+-32|0;e=c[f>>2]|0;s=v;t=c[s+4>>2]|0;u=e+16|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[e+6>>0]=c[v+8>>2];e=c[j>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(m=(c[f>>2]|0)+5|0,n=a[m>>0]|0,(n&4)!=0):0)?(o=c[e+-16>>2]|0,(a[o+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,o);e=c[j>>2]|0;break}else{a[m>>0]=a[f+60>>0]&3|n&-8;break}}while(0);c[j>>2]=e+-16;tz(b,-2);c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=1;e=k+16|0;f=e+32|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=0;do{a[k+(e+16)>>0]=a[w+e>>0]&~a[x+e>>0];e=e+1|0}while((e|0)!=32);l=y;return 1}while(0);j=zz(b,((c[u>>2]|0)+2+(c[v>>2]|0)<<3)+8|0)|0;i=b+12|0;g=c[i>>2]|0;k=b+8|0;h=c[k>>2]|0;f=g+280+(((359865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(359865,e+16|0)|0){e=QA(b,359865,12)|0;c[f>>2]=e}c[h>>2]=e;c[h+8>>2]=(a[e+4>>0]|64)&255;x=c[k>>2]|0;c[k>>2]=x+16;bB(b,g+40|0,x,x);x=c[k>>2]|0;f=x+-16|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];x=c[k>>2]|0;c[k>>2]=x+16;f=x+-32|0;e=c[f>>2]|0;n=x;o=c[n+4>>2]|0;w=e+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=o;a[e+6>>0]=c[x+8>>2];e=c[k>>2]|0;do if(((c[e+-8>>2]&64|0)!=0?(p=(c[f>>2]|0)+5|0,q=a[p>>0]|0,(q&4)!=0):0)?(r=c[e+-16>>2]|0,(a[r+5>>0]&3)!=0):0){f=c[i>>2]|0;if((d[f+61>>0]|0)<2){$z(f,r);e=c[k>>2]|0;break}else{a[p>>0]=a[f+60>>0]&3|q&-8;break}}while(0);c[k>>2]=e+-16;tz(b,-2);c[j>>2]=0;c[j+4>>2]=0;r=j+8|0;a[r>>0]=6;v=c[v>>2]|0;w=v+2|0;c[j+12>>2]=w;x=j+16|0;a[x>>0]=8;s6(j+24|0,t|0,v<<3|0)|0;s6(r+(w<<3)|0,s|0,c[u>>2]<<3|0)|0;WE(b,x);l=y;return 1}function WE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;C=l;l=l+16|0;w=C+8|0;t=C;f=b+16|0;x=(c[c[f>>2]>>2]|0)+16|0;B=b+8|0;j=c[B>>2]|0;x=c[(x>>>0<j>>>0?x:412368)>>2]|0;E=x+16|0;h=c[E+4>>2]|0;D=j;c[D>>2]=c[E>>2];c[D+4>>2]=h;c[j+8>>2]=d[x+6>>0];j=c[B>>2]|0;x=j+16|0;c[B>>2]=x;f=(c[c[f>>2]>>2]|0)+32|0;f=c[(f>>>0<x>>>0?f:412368)>>2]|0;D=f+16|0;h=c[D+4>>2]|0;c[x>>2]=c[D>>2];c[x+4>>2]=h;c[j+24>>2]=d[f+6>>0];j=c[B>>2]|0;f=j+16|0;c[B>>2]=f;a:do if((j+-16|0)!=412368?(g=c[j+-8>>2]|0,(g&15|0)==5):0){h=j+-16|0;switch(g&63){case 4:{x=d[(c[h>>2]|0)+7>>0]|0;break a}case 20:{x=c[(c[h>>2]|0)+12>>2]|0;break a}case 7:{x=c[(c[h>>2]|0)+12>>2]|0;break a}case 5:{x=XA(c[h>>2]|0)|0;break a}default:{x=0;break a}}}else x=0;while(0);b:do if((j|0)!=412368?(i=c[j+8>>2]|0,(i&15|0)==5):0)switch(i&63){case 4:{g=d[(c[j>>2]|0)+7>>0]|0;break b}case 20:{g=c[(c[j>>2]|0)+12>>2]|0;break b}case 7:{g=c[(c[j>>2]|0)+12>>2]|0;break b}case 5:{g=XA(c[j>>2]|0)|0;break b}default:{g=0;break b}}else g=0;while(0);h=(x|0)==0;if(!(g|x)){c[B>>2]=j+-16;l=C;return}do if(g){f=j+-16|0;if((f|0)!=412368&(j|0)!=412368?fB(b,f,j)|0:0){f=c[B>>2]|0;break}if(h){E=c[B>>2]|0;g=E+-48|0;f=c[g>>2]|0;A=E+-16|0;e=c[A+4>>2]|0;D=f+16|0;c[D>>2]=c[A>>2];c[D+4>>2]=e;a[f+6>>0]=c[E+-8>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(k=(c[g>>2]|0)+5|0,m=a[k>>0]|0,(m&4)!=0):0)?(n=c[f+-16>>2]|0,(a[n+5>>0]&3)!=0):0){g=c[b+12>>2]|0;if((d[g+61>>0]|0)<2){$z(g,n);f=c[B>>2]|0;break}else{a[k>>0]=a[g+60>>0]&3|m&-8;break}}while(0);c[B>>2]=f+-32;l=C;return}f=g+x|0;n=b+12|0;if((c[(c[n>>2]|0)+12>>2]|0)>0)jA(b);g=WA(b)|0;h=c[B>>2]|0;c[h>>2]=g;c[h+8>>2]=69;h=(c[B>>2]|0)+16|0;c[B>>2]=h;if((f|0)>0){TA(b,g,f,0);h=c[B>>2]|0}f=h+-48|0;c:do if((f|0)!=412368?(r=c[h+-40>>2]|0,(r&15|0)==5):0)switch(r&63){case 4:{m=d[(c[f>>2]|0)+7>>0]|0;break c}case 20:{m=c[(c[f>>2]|0)+12>>2]|0;break c}case 7:{m=c[(c[f>>2]|0)+12>>2]|0;break c}case 5:{m=XA(c[f>>2]|0)|0;break c}default:{m=0;break c}}else m=0;while(0);f=h+-16|0;d:do if((f|0)!=412368?(s=c[h+-8>>2]|0,(s&15|0)==5):0)switch(s&63){case 4:{k=d[(c[f>>2]|0)+7>>0]|0;break d}case 20:{k=c[(c[f>>2]|0)+12>>2]|0;break d}case 7:{k=c[(c[f>>2]|0)+12>>2]|0;break d}case 5:{k=XA(c[f>>2]|0)|0;break d}default:{k=0;break d}}else k=0;while(0);if((k+m|0)>65535)oB(b,360220,t);if((m|0)>=1){j=1;while(1){h=((j|0)<0)<<31>>31;i=c[B>>2]|0;f=c[i+-48>>2]|0;g=b6(j|0,h|0,-1,-1)|0;E=z;e:do if(E>>>0<0|((E|0)==0?g>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(g<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&j)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(E=f+16|0,(c[E>>2]|0)==(j|0)?(c[E+4>>2]|0)==(h|0):0):0)break;g=c[f+28>>2]|0;if(!g){f=412368;break e}f=f+(g<<5)|0}}while(0);c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[B>>2]=(c[B>>2]|0)+16;E=j+k|0;sz(b,-2,E,((E|0)<0)<<31>>31);if((j|0)==(m|0))break;else j=j+1|0}}g=c[B>>2]|0;f=g+-32|0;f:do if((f|0)!=412368?(u=c[g+-24>>2]|0,(u&15|0)==5):0)switch(u&63){case 4:{m=d[(c[f>>2]|0)+7>>0]|0;break f}case 20:{m=c[(c[f>>2]|0)+12>>2]|0;break f}case 7:{m=c[(c[f>>2]|0)+12>>2]|0;break f}case 5:{m=XA(c[f>>2]|0)|0;break f}default:{m=0;break f}}else m=0;while(0);f=g+-16|0;g:do if((f|0)!=412368?(v=c[g+-8>>2]|0,(v&15|0)==5):0)switch(v&63){case 4:{k=d[(c[f>>2]|0)+7>>0]|0;break g}case 20:{k=c[(c[f>>2]|0)+12>>2]|0;break g}case 7:{k=c[(c[f>>2]|0)+12>>2]|0;break g}case 5:{k=XA(c[f>>2]|0)|0;break g}default:{k=0;break g}}else k=0;while(0);if((k+m|0)>65535)oB(b,360220,w);if((m|0)>=1){j=1;while(1){h=((j|0)<0)<<31>>31;i=c[B>>2]|0;f=c[i+-32>>2]|0;g=b6(j|0,h|0,-1,-1)|0;E=z;h:do if(E>>>0<0|((E|0)==0?g>>>0<(c[f+8>>2]|0)>>>0:0))f=(c[f+12>>2]|0)+(g<<4)|0;else{f=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+-1&j)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(E=f+16|0,(c[E>>2]|0)==(j|0)?(c[E+4>>2]|0)==(h|0):0):0)break;g=c[f+28>>2]|0;if(!g){f=412368;break h}f=f+(g<<5)|0}}while(0);c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[B>>2]=(c[B>>2]|0)+16;E=j+k|0;sz(b,-2,E,((E|0)<0)<<31>>31);if((j|0)==(m|0))break;else j=j+1|0}}E=c[B>>2]|0;g=E+-64|0;f=c[g>>2]|0;w=E+-16|0;b=c[w+4>>2]|0;D=f+16|0;c[D>>2]=c[w>>2];c[D+4>>2]=b;a[f+6>>0]=c[E+-8>>2];f=c[B>>2]|0;do if((c[f+-8>>2]&64|0)!=0?(y=(c[g>>2]|0)+5|0,A=a[y>>0]|0,(A&4)!=0):0){h=c[f+-16>>2]|0;if(!(a[h+5>>0]&3))break;g=c[n>>2]|0;if((d[g+61>>0]|0)<2){$z(g,h);f=c[B>>2]|0;break}else{a[y>>0]=a[g+60>>0]&3|A&-8;break}}while(0);c[B>>2]=f+-48;KE(e,x);l=C;return}while(0);c[B>>2]=f+-16;g=f+-48|0;E=c[g>>2]|0;A=f+-32|0;e=c[A+4>>2]|0;D=E+16|0;c[D>>2]=c[A>>2];c[D+4>>2]=e;a[E+6>>0]=c[f+-24>>2];f=c[B>>2]|0;do if(((c[f+-8>>2]&64|0)!=0?(o=(c[g>>2]|0)+5|0,p=a[o>>0]|0,(p&4)!=0):0)?(q=c[f+-16>>2]|0,(a[q+5>>0]&3)!=0):0){g=c[b+12>>2]|0;if((d[g+61>>0]|0)<2){$z(g,q);f=c[B>>2]|0;break}else{a[o>>0]=a[g+60>>0]&3|p&-8;break}}while(0);c[B>>2]=f+-16;l=C;return}function XE(d){d=d|0;var e=0,f=0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 10:{e=3;break a}case 16:case 15:{d=1;e=9;break a}case 12:{e=1;break}default:{switch(a[359848+(e&255)>>0]|0){case 1:{e=1;break b}case 2:break;default:{d=0;e=9;break a}}if(XE(d+8|0)|0){d=1;e=9;break a}e=c[d+4>>2]|0}}while(0);d=d+(e<<3)|0}if((e|0)==3){e=d+2|0;f=b[e>>1]|0;if(!(f<<16>>16)){f=0;return f|0}else{b[e>>1]=0;d=XE(d+(c[d+4>>2]<<3)|0)|0;b[e>>1]=f;return d|0}}else if((e|0)==9)return d|0;return 0}function YE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a:do switch(d|0){case 1:{b:while(1){switch(a[b>>0]|0){case 14:case 8:break a;case 3:case 5:{i=1;h=24;break b}case 10:{e=c[b+4>>2]|0;break}case 9:case 15:case 13:case 12:{e=1;break}case 7:{if(!(YE(b+(c[b+4>>2]<<3)|0,1)|0))e=1;else{g=1;break b}break}case 6:{if(!(YE(b+8|0,1)|0)){g=0;break b}e=c[b+4>>2]|0;break}default:{g=0;break b}}b=b+(e<<3)|0}if((h|0)==24)return i|0;d=g;return d|0}case 0:{c:while(1){switch(a[b>>0]|0){case 14:case 8:break a;case 9:case 3:case 5:{h=23;break c}case 10:{e=c[b+4>>2]|0;break}case 16:case 15:case 13:case 12:{e=1;break}case 7:{if(!(YE(b+(c[b+4>>2]<<3)|0,0)|0))e=1;else{i=1;h=24;break c}break}case 6:{if(!(YE(b+8|0,0)|0)){i=0;h=24;break c}e=c[b+4>>2]|0;break}default:{i=0;h=24;break c}}b=b+(e<<3)|0}if((h|0)==23){d=1;return d|0}else if((h|0)==24)return i|0;break}default:{d:while(1){switch(a[b>>0]|0){case 14:case 8:break a;case 3:case 5:{i=1;h=24;break d}case 10:{e=c[b+4>>2]|0;break}case 16:case 9:case 15:case 13:case 12:{e=1;break}case 7:{if(!(YE(b+(c[b+4>>2]<<3)|0,d)|0))e=1;else{f=1;break d}break}case 6:{if(!(YE(b+8|0,d)|0)){f=0;break d}e=c[b+4>>2]|0;break}default:{f=0;break d}}b=b+(e<<3)|0}if((h|0)==24)return i|0;d=f;return d|0}}while(0);d=(d|0)!=1&1;return d|0}function ZE(d){d=d|0;var e=0,f=0,g=0;g=0;a:while(1){b:while(1){switch(a[d>>0]|0){case 2:case 1:case 0:{e=4;break a}case 14:case 9:case 8:case 3:case 4:{e=12;break a}case 11:case 16:case 5:{e=13;break a}case 10:{e=6;break a}case 7:{e=11;break a}case 6:break b;case 13:case 12:case 15:break;default:{d=0;e=14;break a}}d=d+8|0}e=ZE(d+8|0)|0;if((e|0)<0){d=-1;e=14;break}d=d+(c[d+4>>2]<<3)|0;g=e+g|0}if((e|0)==4){g=g+1|0;return g|0}else if((e|0)==6){e=d+2|0;f=b[e>>1]|0;if(!(f<<16>>16)){e=-1;f=(e|0)<0;g=e+g|0;g=f?-1:g;return g|0}b[e>>1]=0;d=ZE(d+(c[d+4>>2]<<3)|0)|0;b[e>>1]=f;e=d;f=(e|0)<0;g=e+g|0;g=f?-1:g;return g|0}else if((e|0)==11){f=ZE(d+8|0)|0;e=(f|0)<0|(f|0)!=(ZE(d+(c[d+4>>2]<<3)|0)|0);return (e?-1:f+g|0)|0}else if((e|0)==12)return g|0;else if((e|0)==13){g=-1;return g|0}else if((e|0)==14)return d|0;return 0}function _E(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;n=q+16|0;j=q+8|0;p=q+20|0;c[p>>2]=d;o=p+4|0;c[o>>2]=0;f=p+8|0;c[f>>2]=b;k=b+12|0;e=c[k>>2]|0;m=d+4|0;e=Uh[c[e>>2]&63](c[e+4>>2]|0,c[d>>2]|0,c[m>>2]<<2,8)|0;if(!e)oB(b,360704,q);c[d>>2]=e;c[m>>2]=2;$E(p,d+8|0,0,-1,360722);e=c[p>>2]|0;h=e+4|0;i=c[h>>2]|0;g=c[o>>2]|0;if((g|0)>=(i|0)){f=c[f>>2]|0;g=c[f+12>>2]|0;g=Uh[c[g>>2]&63](c[g+4>>2]|0,c[e>>2]|0,i<<2,i<<3)|0;if((i|0)>0&(g|0)==0)oB(f,360704,j);c[e>>2]=g;c[h>>2]=i<<1;g=c[o>>2]|0;e=c[p>>2]|0}f=g+1|0;c[o>>2]=f;e=(c[e>>2]|0)+(g<<2)|0;a[e>>0]=9;a[e+1>>0]=0;e=c[k>>2]|0;e=Uh[c[e>>2]&63](c[e+4>>2]|0,c[d>>2]|0,c[m>>2]<<2,f<<2)|0;if((g|0)>-1&(e|0)==0)oB(b,360704,n);c[d>>2]=e;c[m>>2]=f;m=c[c[p>>2]>>2]|0;if((c[o>>2]|0)>0)k=0;else{d=e;l=q;return d|0}do{h=m+(k<<2)|0;i=(k|0)>-1;j=k+1|0;e=a[h>>0]|0;a:while(1){switch(e<<24>>24){case 3:case 5:case 4:case 16:case 15:case 14:case 12:case 10:{f=13;break a}case 11:{e=k;break}default:{f=25;break a}}b:while(1){e=(c[m+(e+1<<2)>>2]|0)+e|0;g=m+(e<<2)|0;switch(a[g>>0]|0){case 9:case 17:case 18:case 8:{f=18;break a}case 11:break;case 16:case 15:case 14:break b;default:{f=23;break a}}}e=(c[m+(e+1<<2)>>2]|0)+e|0;if((a[m+(e<<2)>>0]|0)==11){do e=(c[m+(e+1<<2)>>2]|0)+e|0;while((a[m+(e<<2)>>0]|0)==11);f=e}else f=e;e=c[g>>2]|0;c[h>>2]=e;e=e&255;if(!i)continue;c[(c[c[p>>2]>>2]|0)+(j<<2)>>2]=f-k}if((f|0)==13){f=(c[m+(j<<2)>>2]|0)+k|0;if((a[m+(f<<2)>>0]|0)==11)do f=(c[m+(f+1<<2)>>2]|0)+f|0;while((a[m+(f<<2)>>0]|0)==11);if(i){c[(c[c[p>>2]>>2]|0)+(j<<2)>>2]=f-k;f=25}else f=25}else if((f|0)==18){e=c[g>>2]|0;c[h>>2]=e;a[m+(j<<2)>>0]=0;e=e&255;f=25}else if((f|0)==23)if(i){c[(c[c[p>>2]>>2]|0)+(j<<2)>>2]=e-k;f=27}else f=27;c:do if((f|0)==25){f=0;switch(e<<24>>24){case 6:case 2:{e=9;break c}case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 3:case 4:{f=27;break c}case 5:{e=10;break c}default:{e=1;break c}}}while(0);if((f|0)==27)e=2;k=e+k|0}while((k|0)<(c[o>>2]|0));d=c[d>>2]|0;l=q;return d|0}function $E(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=l;l=l+1216|0;M=U+176|0;J=U+168|0;w=U+160|0;N=U+152|0;D=U+144|0;C=U+136|0;E=U+128|0;z=U+120|0;A=U+112|0;y=U+104|0;v=U+96|0;O=U+88|0;B=U+80|0;q=U+72|0;F=U+64|0;Q=U+56|0;L=U+48|0;K=U+40|0;H=U+32|0;G=U+24|0;r=U+16|0;u=U+8|0;t=U;T=U+184|0;o=U+1184|0;R=f;S=h;a:while(1){switch(a[R>>0]|0){case 0:{P=3;break a}case 2:{P=16;break a}case 1:{P=21;break a}case 4:{P=71;break a}case 7:{P=76;break a}case 5:{P=98;break a}case 14:{P=133;break a}case 8:{P=140;break a}case 9:{P=155;break a}case 15:{P=172;break a}case 16:{P=188;break a}case 13:{P=197;break a}case 10:{P=220;break a}case 6:break;default:{P=228;break a}}k=R+8|0;m=R+4|0;n=R+(c[m>>2]<<3)|0;f=k;b:while(1){switch(a[f>>0]|0){case 7:case 5:{P=225;break b}case 6:{h=c[f+4>>2]|0;break}case 15:{h=1;break}default:{P=226;break b}}f=f+(h<<3)|0}if((P|0)==225){aF(n,i,T)|0;$E(e,k,0,S,T)}else if((P|0)==226)$E(e,k,0,S,360722);P=(ZE(k)|0)==0;R=R+(c[m>>2]<<3)|0;S=P?S:-1}switch(P|0){case 3:{o=c[R+4>>2]|0;j=c[e>>2]|0;if(((S|0)>-1?(s=c[j>>2]|0,p=s+(S<<2)|0,(a[p>>0]|0)==4):0)?(d[p+1>>0]|0)==(o|0):0){k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)<(m|0))j=s;else{h=c[e+8>>2]|0;f=c[h+12>>2]|0;f=Uh[c[f>>2]&63](c[f+4>>2]|0,s,m<<2,m<<3)|0;if((m|0)>0&(f|0)==0)oB(h,360704,t);c[j>>2]=f;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[c[e>>2]>>2]|0}c[n>>2]=f+1;e=j+(f<<2)|0;a[e>>0]=0;a[e+1>>0]=0;l=U;return}k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,u);c[j>>2]=h;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[e>>2]|0}c[n>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=1;a[e+1>>0]=o;l=U;return}case 16:{j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,r);c[j>>2]=h;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[e>>2]|0}c[n>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=0;a[e+1>>0]=0;l=U;return}case 21:{r=R+8|0;k=-1;h=0;m=0;c:while(1){T=a[r+m>>0]|0;f=T&255;switch(T<<24>>24){case 0:{if((h|0)>1)break c;else f=k;break}case -1:{if((h|0)<(m<<3|0))break c;f=k;h=h+8|0;break}default:{if((h|0)>0|(f+255&f|0)!=0)break c;f=m;h=h+1|0}}m=m+1|0;if((m|0)>=32){P=29;break}else k=f}if((P|0)==29){switch(h|0){case 0:{n=18;break}case 1:{T=d[r+f>>0]|0;n=f<<3;o=(T&240|0)==0;n=o?n:n|4;T=o?T:T>>>4;o=(T&12|0)==0;n=(o?T:T>>>2)>>>1&1|(o?n:n|2);o=c[e>>2]|0;if(((S|0)>-1?(j=c[o>>2]|0,x=j+(S<<2)|0,(a[x>>0]|0)==4):0)?(d[x+1>>0]|0)==(n|0):0){h=o+4|0;k=c[h>>2]|0;m=e+4|0;f=c[m>>2]|0;if((f|0)>=(k|0)){f=c[e+8>>2]|0;T=c[f+12>>2]|0;j=Uh[c[T>>2]&63](c[T+4>>2]|0,j,k<<2,k<<3)|0;if((k|0)>0&(j|0)==0)oB(f,360704,G);c[o>>2]=j;c[h>>2]=k<<1;f=c[m>>2]|0;j=c[c[e>>2]>>2]|0}c[m>>2]=f+1;e=j+(f<<2)|0;a[e>>0]=0;a[e+1>>0]=0;l=U;return}h=o+4|0;k=c[h>>2]|0;m=e+4|0;f=c[m>>2]|0;if((f|0)<(k|0))j=o;else{j=c[e+8>>2]|0;f=c[j+12>>2]|0;f=Uh[c[f>>2]&63](c[f+4>>2]|0,c[o>>2]|0,k<<2,k<<3)|0;if((k|0)>0&(f|0)==0)oB(j,360704,H);c[o>>2]=f;c[h>>2]=k<<1;f=c[m>>2]|0;j=c[e>>2]|0}c[m>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=1;a[e+1>>0]=n;l=U;return}default:n=0}j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;o=e+4|0;f=c[o>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,F);c[j>>2]=h;c[k>>2]=m<<1;f=c[o>>2]|0;j=c[e>>2]|0}c[o>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=n;a[e+1>>0]=0;l=U;return}n=c[e>>2]|0;d:do if((S|0)>-1?(I=c[n>>2]|0,(a[I+(S<<2)>>0]|0)==5):0){j=I+(S+2<<2)|0;f=0;do{if((a[r+f>>0]|0)!=(a[j+f>>0]|0))break d;f=f+1|0}while((f|0)<32);h=n+4|0;k=c[h>>2]|0;m=e+4|0;f=c[m>>2]|0;if((f|0)<(k|0))j=I;else{f=c[e+8>>2]|0;j=c[f+12>>2]|0;j=Uh[c[j>>2]&63](c[j+4>>2]|0,I,k<<2,k<<3)|0;if((k|0)>0&(j|0)==0)oB(f,360704,K);c[n>>2]=j;c[h>>2]=k<<1;f=c[m>>2]|0;j=c[c[e>>2]>>2]|0}c[m>>2]=f+1;e=j+(f<<2)|0;a[e>>0]=0;a[e+1>>0]=0;l=U;return}while(0);h=n+4|0;k=c[h>>2]|0;q=e+4|0;f=c[q>>2]|0;p=e+8|0;if((f|0)<(k|0))j=n;else{j=c[p>>2]|0;f=c[j+12>>2]|0;f=Uh[c[f>>2]&63](c[f+4>>2]|0,c[n>>2]|0,k<<2,k<<3)|0;if((k|0)>0&(f|0)==0)oB(j,360704,L);c[n>>2]=f;c[h>>2]=k<<1;f=c[q>>2]|0;j=c[e>>2]|0}o=f+1|0;c[q>>2]=o;f=(c[j>>2]|0)+(f<<2)|0;a[f>>0]=2;a[f+1>>0]=0;f=o;h=0;while(1){m=j+4|0;n=c[m>>2]|0;if((f|0)<(n|0))j=f;else{f=c[p>>2]|0;k=c[f+12>>2]|0;k=Uh[c[k>>2]&63](c[k+4>>2]|0,c[j>>2]|0,n<<2,n<<3)|0;if((n|0)>0&(k|0)==0)oB(f,360704,Q);c[j>>2]=k;c[m>>2]=n<<1;j=c[q>>2]|0}f=j+1|0;c[q>>2]=f;h=h+1|0;if((h|0)==8){j=0;break}j=c[e>>2]|0}do{a[(c[c[e>>2]>>2]|0)+(o<<2)+j>>0]=a[r+j>>0]|0;j=j+1|0}while((j|0)!=32);l=U;return}case 71:{j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,q);c[j>>2]=h;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[e>>2]|0}c[n>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=18;a[e+1>>0]=0;l=U;return}case 76:{m=R+8|0;n=R+(c[R+4>>2]<<3)|0;h=(a[n>>0]|0)==3;k=h&1;j=aF(m,360722,T)|0;e:do if(!(bF(m)|0)){f:do if(!j){aF(n,i,o)|0;f=0;while(1){if((a[o+f>>0]&a[T+f>>0])<<24>>24)break f;f=f+1|0;if((f|0)>=32){P=81;break e}}}while(0);if((g|0)!=0&h){j=dF(e,15)|0;if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=(c[e+4>>2]|0)-j;$E(e,m,1,-1,360722);break}f=cF(e,T,j)|0;h=dF(e,10)|0;$E(e,m,k,f,360722);j=dF(e,14)|0;if((h|0)>-1)c[(c[c[e>>2]>>2]|0)+(h+1<<2)>>2]=(c[e+4>>2]|0)-h;if((f|0)>-1)c[(c[c[e>>2]>>2]|0)+(f+1<<2)>>2]=(c[e+4>>2]|0)-f;$E(e,n,g,-1,i);if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=(c[e+4>>2]|0)-j}else P=81;while(0);if((P|0)==81){f=cF(e,T,0)|0;$E(e,m,0,f,i);if(h)j=-1;else j=dF(e,11)|0;if((f|0)>-1)c[(c[c[e>>2]>>2]|0)+(f+1<<2)>>2]=(c[e+4>>2]|0)-f;$E(e,n,g,-1,i);if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=(c[e+4>>2]|0)-j}l=U;return}case 98:{n=R+8|0;g:do switch(a[n>>0]|0){case 1:{P=R+16|0;a[T>>0]=a[P>>0]|0;a[T+1>>0]=a[P+1>>0]|0;a[T+2>>0]=a[P+2>>0]|0;a[T+3>>0]=a[P+3>>0]|0;a[T+4>>0]=a[P+4>>0]|0;a[T+5>>0]=a[P+5>>0]|0;a[T+6>>0]=a[P+6>>0]|0;a[T+7>>0]=a[P+7>>0]|0;a[T+8>>0]=a[P+8>>0]|0;a[T+9>>0]=a[P+9>>0]|0;a[T+10>>0]=a[P+10>>0]|0;a[T+11>>0]=a[P+11>>0]|0;a[T+12>>0]=a[P+12>>0]|0;a[T+13>>0]=a[P+13>>0]|0;a[T+14>>0]=a[P+14>>0]|0;a[T+15>>0]=a[P+15>>0]|0;a[T+16>>0]=a[P+16>>0]|0;a[T+17>>0]=a[P+17>>0]|0;a[T+18>>0]=a[P+18>>0]|0;a[T+19>>0]=a[P+19>>0]|0;a[T+20>>0]=a[P+20>>0]|0;a[T+21>>0]=a[P+21>>0]|0;a[T+22>>0]=a[P+22>>0]|0;a[T+23>>0]=a[P+23>>0]|0;a[T+24>>0]=a[P+24>>0]|0;a[T+25>>0]=a[P+25>>0]|0;a[T+26>>0]=a[P+26>>0]|0;a[T+27>>0]=a[P+27>>0]|0;a[T+28>>0]=a[P+28>>0]|0;a[T+29>>0]=a[P+29>>0]|0;a[T+30>>0]=a[P+30>>0]|0;a[T+31>>0]=a[P+31>>0]|0;P=102;break}case 0:{j=T;f=j+32|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(f|0));S=c[R+12>>2]|0;P=T+(S>>3)|0;a[P>>0]=d[P>>0]|1<<(S&7);P=102;break}case 2:{j=T;f=j+32|0;do{a[j>>0]=255;j=j+1|0}while((j|0)<(f|0));P=102;break}default:{j=aF(n,360722,T)|0;h:do if(!(bF(n)|0)){i:do if(!j){f=0;while(1){if((a[i+f>>0]&a[T+f>>0])<<24>>24)break i;f=f+1|0;if((f|0)>=32)break h}}while(0);m=cF(e,T,j)|0;if(g){j=dF(e,15)|0;if((j|0)>-1){c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=(c[e+4>>2]|0)-j;k=-1}else k=-1}else k=dF(e,10)|0;f=e+4|0;h=c[f>>2]|0;$E(e,n,0,-1,360722);j=dF(e,15)|0;if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=h-j;if((k|0)>-1)c[(c[c[e>>2]>>2]|0)+(k+1<<2)>>2]=(c[f>>2]|0)-k;if((m|0)<=-1)break g;c[(c[c[e>>2]>>2]|0)+(m+1<<2)>>2]=(c[f>>2]|0)-m;break g}while(0);f=cF(e,T,0)|0;$E(e,n,0,f,360722);j=dF(e,11)|0;if((f|0)>-1)c[(c[c[e>>2]>>2]|0)+(f+1<<2)>>2]=(c[e+4>>2]|0)-f;if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=f-j}}while(0);if((P|0)==102){j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;q=e+4|0;f=c[q>>2]|0;p=e+8|0;if((f|0)>=(m|0)){f=c[p>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,B);c[j>>2]=h;c[k>>2]=m<<1;f=c[q>>2]|0;j=c[e>>2]|0}o=f+1|0;c[q>>2]=o;f=(c[j>>2]|0)+(f<<2)|0;a[f>>0]=6;a[f+1>>0]=0;f=o;h=0;while(1){m=j+4|0;n=c[m>>2]|0;if((f|0)<(n|0))j=f;else{f=c[p>>2]|0;k=c[f+12>>2]|0;k=Uh[c[k>>2]&63](c[k+4>>2]|0,c[j>>2]|0,n<<2,n<<3)|0;if((n|0)>0&(k|0)==0)oB(f,360704,O);c[j>>2]=k;c[m>>2]=n<<1;j=c[q>>2]|0}f=j+1|0;c[q>>2]=f;h=h+1|0;if((h|0)==8){j=0;break}j=c[e>>2]|0}do{a[(c[c[e>>2]>>2]|0)+(o<<2)+j>>0]=a[T+j>>0]|0;j=j+1|0}while((j|0)!=32)}l=U;return}case 133:{n=c[R+4>>2]|0;if((n|0)>0){j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;o=e+4|0;f=c[o>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,v);c[j>>2]=h;c[k>>2]=m<<1;f=c[o>>2]|0;j=c[e>>2]|0}c[o>>2]=f+1;T=(c[j>>2]|0)+(f<<2)|0;a[T>>0]=7;a[T+1>>0]=n}$E(e,R+8|0,0,-1,360722);l=U;return}case 140:{j=R+8|0;p=cF(e,T,aF(j,360722,T)|0)|0;if(!(bF(j)|0)){o=dF(e,10)|0;$E(e,j,0,-1,360722);j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)<(m|0))h=f;else{f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,A);c[j>>2]=h;c[k>>2]=m<<1;h=c[n>>2]|0;j=c[e>>2]|0}f=h+1|0;c[n>>2]=f;j=c[j>>2]|0;T=j+(h<<2)|0;a[T>>0]=17;a[T+1>>0]=0;if((o|0)>-1)c[j+(o+1<<2)>>2]=f-o}else{j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,y);c[j>>2]=h;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[e>>2]|0}c[n>>2]=f+1;j=c[j>>2]|0;T=j+(f<<2)|0;a[T>>0]=18;a[T+1>>0]=0}if((p|0)>-1)c[j+(p+1<<2)>>2]=(c[e+4>>2]|0)-p;l=U;return}case 155:{f=R+8|0;o=ZE(f)|0;if(o>>>0<256?(XE(f)|0)==0:0){$E(e,f,0,S,360722);if((o|0)<=0){l=U;return}j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;n=e+4|0;f=c[n>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,z);c[j>>2]=h;c[k>>2]=m<<1;f=c[n>>2]|0;j=c[e>>2]|0}c[n>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=7;a[e+1>>0]=o;l=U;return}j=dF(e,10)|0;$E(e,f,0,S,360722);p=dF(e,16)|0;if((j|0)>-1){o=e+4|0;T=c[e>>2]|0;c[(c[T>>2]|0)+(j+1<<2)>>2]=(c[o>>2]|0)-j;n=e;j=T}else{n=e;o=e+4|0;j=c[e>>2]|0}k=j+4|0;m=c[k>>2]|0;h=c[o>>2]|0;if((h|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,E);c[j>>2]=h;c[k>>2]=m<<1;h=c[o>>2]|0;j=c[n>>2]|0}f=h+1|0;c[o>>2]=f;j=c[j>>2]|0;e=j+(h<<2)|0;a[e>>0]=18;a[e+1>>0]=0;if((p|0)<=-1){l=U;return}c[j+(p+1<<2)>>2]=f-p;l=U;return}case 172:{p=R+8|0;j=ZE(p)|0;if(j>>>0<16?(XE(p)|0)==0:0){$E(e,p,0,S,i);p=b[R+2>>1]|0;n=d[R+1>>0]|j<<4;j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;o=e+4|0;f=c[o>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,C);c[j>>2]=h;c[k>>2]=m<<1;f=c[o>>2]|0;j=c[e>>2]|0}c[o>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=20;a[e+1>>0]=n;b[e+2>>1]=p;l=U;return}o=a[R+1>>0]|0;n=b[R+2>>1]|0;j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;q=e+4|0;f=c[q>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,D);c[j>>2]=h;c[k>>2]=m<<1;f=c[q>>2]|0;j=c[e>>2]|0}c[q>>2]=f+1;j=(c[j>>2]|0)+(f<<2)|0;a[j>>0]=21;a[j+1>>0]=o;b[j+2>>1]=n;$E(e,p,0,S,i);j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;f=c[q>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,N);c[j>>2]=h;c[k>>2]=m<<1;f=c[q>>2]|0;j=c[e>>2]|0}c[q>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=22;a[e+1>>0]=0;b[e+2>>1]=0;l=U;return}case 188:{n=b[R+2>>1]|0;j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;o=e+4|0;f=c[o>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,w);c[j>>2]=h;c[k>>2]=m<<1;f=c[o>>2]|0;j=c[e>>2]|0}c[o>>2]=f+1;j=(c[j>>2]|0)+(f<<2)|0;a[j>>0]=21;a[j+1>>0]=14;b[j+2>>1]=n;$E(e,R+8|0,0,S,360722);j=c[e>>2]|0;k=j+4|0;m=c[k>>2]|0;f=c[o>>2]|0;if((f|0)>=(m|0)){f=c[e+8>>2]|0;h=c[f+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[j>>2]|0,m<<2,m<<3)|0;if((m|0)>0&(h|0)==0)oB(f,360704,J);c[j>>2]=h;c[k>>2]=m<<1;f=c[o>>2]|0;j=c[e>>2]|0}c[o>>2]=f+1;e=(c[j>>2]|0)+(f<<2)|0;a[e>>0]=23;a[e+1>>0]=0;b[e+2>>1]=0;l=U;return}case 197:{j=dF(e,12)|0;q=dF(e,11)|0;r=e+4|0;s=c[r>>2]|0;if((j|0)>-1)c[(c[c[e>>2]>>2]|0)+(j+1<<2)>>2]=s-j;j=R+8|0;if((a[j>>0]|0)==12){p=e+8|0;h=c[r>>2]|0;o=0;do{c[T+(o<<2)>>2]=h;o=o+1|0;$E(e,j+8|0,0,-1,360722);f=c[e>>2]|0;m=f+4|0;n=c[m>>2]|0;h=c[r>>2]|0;if((h|0)<(n|0))k=h;else{h=c[p>>2]|0;k=c[h+12>>2]|0;k=Uh[c[k>>2]&63](c[k+4>>2]|0,c[f>>2]|0,n<<2,n<<3)|0;if((n|0)>0&(k|0)==0)oB(h,360704,M);c[f>>2]=k;c[m>>2]=n<<1;k=c[r>>2]|0;f=c[e>>2]|0}h=k+1|0;c[r>>2]=h;S=(c[f>>2]|0)+(k<<2)|0;a[S>>0]=8;a[S+1>>0]=0;j=j+(c[j+4>>2]<<3)|0}while((a[j>>0]|0)==12)}o=c[c[e>>2]>>2]|0;if((q|0)>-1)c[o+(q+1<<2)>>2]=(c[r>>2]|0)-q;n=c[r>>2]|0;j:do if((s|0)<(n|0)){m=s;while(1){k=o+(m<<2)|0;j=a[k>>0]|0;if(j<<24>>24==13){h=c[T+(b[k+2>>1]<<2)>>2]|0;f=m+2|0;j=a[o+(f<<2)>>0]|0;if(j<<24>>24==11)do{f=(c[o+(f+1<<2)>>2]|0)+f|0;j=a[o+(f<<2)>>0]|0}while(j<<24>>24==11);j=j<<24>>24==8?11:12;a[k>>0]=j;if((m|0)>-1)c[o+(m+1<<2)>>2]=h-m}switch(j<<24>>24){case 6:case 2:{j=9;break}case 5:{j=10;break}case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 3:case 4:{j=2;break}default:j=1}m=j+m|0;if((m|0)>=(n|0))break j}}while(0);l=U;return}case 220:{T=dF(e,13)|0;b[(c[c[e>>2]>>2]|0)+(T<<2)+2>>1]=d[R+(c[R+4>>2]<<3)+1>>0]|0;l=U;return}case 228:{l=U;return}}}function aF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+32|0;g=m;j=e;a:while(1){h=b;b:while(1){switch(a[h>>0]|0){case 14:break a;case 8:{i=22;break a}case 9:{i=20;break a}case 3:{i=8;break a}case 4:{i=4;break a}case 7:{i=9;break a}case 5:{i=15;break a}case 16:{i=18;break a}case 1:{i=7;break a}case 0:{i=6;break a}case 2:{i=5;break a}case 6:break b;case 12:case 13:case 15:{b=1;break}case 10:{b=c[h+4>>2]|0;break}default:{b=0;i=28;break a}}h=h+(b<<3)|0}b=h+8|0;if(YE(b,0)|0){i=13;break}else j=360722}c:switch(i|0){case 4:{b=f;e=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));f=0;l=m;return f|0}case 5:{b=f;e=b+32|0;do{a[b>>0]=255;b=b+1|0}while((b|0)<(e|0));f=0;l=m;return f|0}case 6:{b=f;e=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));k=c[h+4>>2]|0;f=f+(k>>3)|0;a[f>>0]=d[f>>0]|1<<(k&7);f=0;l=m;return f|0}case 7:{k=h+8|0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;a[f+3>>0]=a[k+3>>0]|0;a[f+4>>0]=a[k+4>>0]|0;a[f+5>>0]=a[k+5>>0]|0;a[f+6>>0]=a[k+6>>0]|0;a[f+7>>0]=a[k+7>>0]|0;a[f+8>>0]=a[k+8>>0]|0;a[f+9>>0]=a[k+9>>0]|0;a[f+10>>0]=a[k+10>>0]|0;a[f+11>>0]=a[k+11>>0]|0;a[f+12>>0]=a[k+12>>0]|0;a[f+13>>0]=a[k+13>>0]|0;a[f+14>>0]=a[k+14>>0]|0;a[f+15>>0]=a[k+15>>0]|0;a[f+16>>0]=a[k+16>>0]|0;a[f+17>>0]=a[k+17>>0]|0;a[f+18>>0]=a[k+18>>0]|0;a[f+19>>0]=a[k+19>>0]|0;a[f+20>>0]=a[k+20>>0]|0;a[f+21>>0]=a[k+21>>0]|0;a[f+22>>0]=a[k+22>>0]|0;a[f+23>>0]=a[k+23>>0]|0;a[f+24>>0]=a[k+24>>0]|0;a[f+25>>0]=a[k+25>>0]|0;a[f+26>>0]=a[k+26>>0]|0;a[f+27>>0]=a[k+27>>0]|0;a[f+28>>0]=a[k+28>>0]|0;a[f+29>>0]=a[k+29>>0]|0;a[f+30>>0]=a[k+30>>0]|0;a[f+31>>0]=a[k+31>>0]|0;f=0;l=m;return f|0}case 8:{a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;a[f+4>>0]=a[j+4>>0]|0;a[f+5>>0]=a[j+5>>0]|0;a[f+6>>0]=a[j+6>>0]|0;a[f+7>>0]=a[j+7>>0]|0;a[f+8>>0]=a[j+8>>0]|0;a[f+9>>0]=a[j+9>>0]|0;a[f+10>>0]=a[j+10>>0]|0;a[f+11>>0]=a[j+11>>0]|0;a[f+12>>0]=a[j+12>>0]|0;a[f+13>>0]=a[j+13>>0]|0;a[f+14>>0]=a[j+14>>0]|0;a[f+15>>0]=a[j+15>>0]|0;a[f+16>>0]=a[j+16>>0]|0;a[f+17>>0]=a[j+17>>0]|0;a[f+18>>0]=a[j+18>>0]|0;a[f+19>>0]=a[j+19>>0]|0;a[f+20>>0]=a[j+20>>0]|0;a[f+21>>0]=a[j+21>>0]|0;a[f+22>>0]=a[j+22>>0]|0;a[f+23>>0]=a[j+23>>0]|0;a[f+24>>0]=a[j+24>>0]|0;a[f+25>>0]=a[j+25>>0]|0;a[f+26>>0]=a[j+26>>0]|0;a[f+27>>0]=a[j+27>>0]|0;a[f+28>>0]=a[j+28>>0]|0;a[f+29>>0]=a[j+29>>0]|0;a[f+30>>0]=a[j+30>>0]|0;a[f+31>>0]=a[j+31>>0]|0;f=1;l=m;return f|0}case 9:{g=aF(h+8|0,j,f)|0;b=aF(h+(c[h+4>>2]<<3)|0,j,k)|0;e=0;do{j=f+e|0;a[j>>0]=a[j>>0]|a[k+e>>0];e=e+1|0}while((e|0)!=32);f=b|g;l=m;return f|0}case 13:{e=aF(h+(c[h+4>>2]<<3)|0,j,g)|0;b=aF(b,g,f)|0;if(!b){f=0;l=m;return f|0}f=((b|e)&2|0)==0?e:2;l=m;return f|0}case 15:{aF(h+8|0,j,f)|0;b=0;do{k=f+b|0;a[k>>0]=a[k>>0]|a[j+b>>0];b=b+1|0}while((b|0)!=32);b=1;l=m;return b|0}case 18:{f=(aF(h+8|0,360722,f)|0)==0;f=f?0:2;l=m;return f|0}case 20:{b=aF(h+8|0,j,f)|0;e=0;do{k=f+e|0;a[k>>0]=a[k>>0]&a[j+e>>0];e=e+1|0}while((e|0)!=32);l=m;return b|0}case 22:{switch(a[h+8>>0]|0){case 1:{k=h+16|0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;a[f+3>>0]=a[k+3>>0]|0;a[f+4>>0]=a[k+4>>0]|0;a[f+5>>0]=a[k+5>>0]|0;a[f+6>>0]=a[k+6>>0]|0;a[f+7>>0]=a[k+7>>0]|0;a[f+8>>0]=a[k+8>>0]|0;a[f+9>>0]=a[k+9>>0]|0;a[f+10>>0]=a[k+10>>0]|0;a[f+11>>0]=a[k+11>>0]|0;a[f+12>>0]=a[k+12>>0]|0;a[f+13>>0]=a[k+13>>0]|0;a[f+14>>0]=a[k+14>>0]|0;a[f+15>>0]=a[k+15>>0]|0;a[f+16>>0]=a[k+16>>0]|0;a[f+17>>0]=a[k+17>>0]|0;a[f+18>>0]=a[k+18>>0]|0;a[f+19>>0]=a[k+19>>0]|0;a[f+20>>0]=a[k+20>>0]|0;a[f+21>>0]=a[k+21>>0]|0;a[f+22>>0]=a[k+22>>0]|0;a[f+23>>0]=a[k+23>>0]|0;a[f+24>>0]=a[k+24>>0]|0;a[f+25>>0]=a[k+25>>0]|0;a[f+26>>0]=a[k+26>>0]|0;a[f+27>>0]=a[k+27>>0]|0;a[f+28>>0]=a[k+28>>0]|0;a[f+29>>0]=a[k+29>>0]|0;a[f+30>>0]=a[k+30>>0]|0;a[f+31>>0]=a[k+31>>0]|0;break}case 0:{b=f;e=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));j=c[h+12>>2]|0;k=f+(j>>3)|0;a[k>>0]=d[k>>0]|1<<(j&7);break}case 2:{b=f;e=b+32|0;do{a[b>>0]=255;b=b+1|0}while((b|0)<(e|0));break}default:break c}a[f>>0]=~a[f>>0];k=f+1|0;a[k>>0]=~a[k>>0];k=f+2|0;a[k>>0]=~a[k>>0];k=f+3|0;a[k>>0]=~a[k>>0];k=f+4|0;a[k>>0]=~a[k>>0];k=f+5|0;a[k>>0]=~a[k>>0];k=f+6|0;a[k>>0]=~a[k>>0];k=f+7|0;a[k>>0]=~a[k>>0];k=f+8|0;a[k>>0]=~a[k>>0];k=f+9|0;a[k>>0]=~a[k>>0];k=f+10|0;a[k>>0]=~a[k>>0];k=f+11|0;a[k>>0]=~a[k>>0];k=f+12|0;a[k>>0]=~a[k>>0];k=f+13|0;a[k>>0]=~a[k>>0];k=f+14|0;a[k>>0]=~a[k>>0];k=f+15|0;a[k>>0]=~a[k>>0];k=f+16|0;a[k>>0]=~a[k>>0];k=f+17|0;a[k>>0]=~a[k>>0];k=f+18|0;a[k>>0]=~a[k>>0];k=f+19|0;a[k>>0]=~a[k>>0];k=f+20|0;a[k>>0]=~a[k>>0];k=f+21|0;a[k>>0]=~a[k>>0];k=f+22|0;a[k>>0]=~a[k>>0];k=f+23|0;a[k>>0]=~a[k>>0];k=f+24|0;a[k>>0]=~a[k>>0];k=f+25|0;a[k>>0]=~a[k>>0];k=f+26|0;a[k>>0]=~a[k>>0];k=f+27|0;a[k>>0]=~a[k>>0];k=f+28|0;a[k>>0]=~a[k>>0];k=f+29|0;a[k>>0]=~a[k>>0];k=f+30|0;a[k>>0]=~a[k>>0];f=f+31|0;a[f>>0]=~a[f>>0];f=1;l=m;return f|0}case 28:{l=m;return b|0}}k=aF(h+8|0,j,f)|0;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;a[f+4>>0]=a[j+4>>0]|0;a[f+5>>0]=a[j+5>>0]|0;a[f+6>>0]=a[j+6>>0]|0;a[f+7>>0]=a[j+7>>0]|0;a[f+8>>0]=a[j+8>>0]|0;a[f+9>>0]=a[j+9>>0]|0;a[f+10>>0]=a[j+10>>0]|0;a[f+11>>0]=a[j+11>>0]|0;a[f+12>>0]=a[j+12>>0]|0;a[f+13>>0]=a[j+13>>0]|0;a[f+14>>0]=a[j+14>>0]|0;a[f+15>>0]=a[j+15>>0]|0;a[f+16>>0]=a[j+16>>0]|0;a[f+17>>0]=a[j+17>>0]|0;a[f+18>>0]=a[j+18>>0]|0;a[f+19>>0]=a[j+19>>0]|0;a[f+20>>0]=a[j+20>>0]|0;a[f+21>>0]=a[j+21>>0]|0;a[f+22>>0]=a[j+22>>0]|0;a[f+23>>0]=a[j+23>>0]|0;a[f+24>>0]=a[j+24>>0]|0;a[f+25>>0]=a[j+25>>0]|0;a[f+26>>0]=a[j+26>>0]|0;a[f+27>>0]=a[j+27>>0]|0;a[f+28>>0]=a[j+28>>0]|0;a[f+29>>0]=a[j+29>>0]|0;a[f+30>>0]=a[j+30>>0]|0;a[f+31>>0]=a[j+31>>0]|0;f=k|1;l=m;return f|0}function bF(b){b=b|0;var d=0,e=0;a:while(1){switch(a[b>>0]|0){case 4:case 2:case 1:case 0:{b=1;break a}case 7:{if(!(bF(b+8|0)|0)){b=0;break a}d=c[b+4>>2]|0;break}case 6:{if(!(YE(b+(c[b+4>>2]<<3)|0,1)|0)){b=0;break a}else d=1;break}case 10:{d=c[b+4>>2]|0;break}case 13:case 15:case 12:case 9:{d=1;break}default:{b=0;e=9;break a}}b=b+(d<<3)|0}if((e|0)==9)return b|0;e=b;return e|0}function cF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;q=r;if(!f){h=-1;g=0;i=0}else{e=-1;l=r;return e|0}a:while(1){p=a[e+i>>0]|0;f=p&255;switch(p<<24>>24){case 0:{if((g|0)>1)break a;else f=h;break}case -1:{if((g|0)<(i<<3|0))break a;f=h;g=g+8|0;break}default:{if((g|0)>0|(f+255&f|0)!=0)break a;f=i;g=g+1|0}}i=i+1|0;if((i|0)>=32){j=9;break}else h=f}if((j|0)==9)switch(g|0){case 0:{e=dF(b,11)|0;l=r;return e|0}case 1:{o=d[e+f>>0]|0;q=f<<3;p=(o&240|0)==0;q=p?q:q|4;o=p?o:o>>>4;p=(o&12|0)==0;e=dF(b,4)|0;a[(c[c[b>>2]>>2]|0)+(e<<2)+1>>0]=(p?o:o>>>2)>>>1&1|(p?q:q|2);l=r;return e|0}default:{e=dF(b,3)|0;l=r;return e|0}}f=dF(b,5)|0;m=b+4|0;p=c[m>>2]|0;n=b+8|0;g=p;o=0;do{i=c[b>>2]|0;j=i+4|0;k=c[j>>2]|0;if((g|0)>=(k|0)){g=c[n>>2]|0;h=c[g+12>>2]|0;h=Uh[c[h>>2]&63](c[h+4>>2]|0,c[i>>2]|0,k<<2,k<<3)|0;if((k|0)>0&(h|0)==0)oB(g,360704,q);c[i>>2]=h;c[j>>2]=k<<1;g=c[m>>2]|0}g=g+1|0;c[m>>2]=g;o=o+1|0}while((o|0)!=8);g=0;do{a[(c[c[b>>2]>>2]|0)+(p<<2)+g>>0]=a[e+g>>0]|0;g=g+1|0}while((g|0)!=32);l=r;return f|0}function dF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;i=n;j=c[b>>2]|0;g=j+4|0;h=c[g>>2]|0;k=b+4|0;e=c[k>>2]|0;if((e|0)<(h|0))i=e;else{f=c[b+8>>2]|0;e=c[f+12>>2]|0;e=Uh[c[e>>2]&63](c[e+4>>2]|0,c[j>>2]|0,h<<2,h<<3)|0;if((h|0)>0&(e|0)==0)oB(f,360704,i);c[j>>2]=e;c[g>>2]=h<<1;h=c[b>>2]|0;i=c[k>>2]|0;j=h;h=c[h+4>>2]|0}e=i+1|0;c[k>>2]=e;g=c[j>>2]|0;f=g+(i<<2)|0;a[f>>0]=d;a[f+1>>0]=0;if((e|0)<(h|0)){m=e;b=g;d=m+1|0;c[k>>2]=d;m=b+(m<<2)|0;a[m>>0]=0;m=m+1|0;a[m>>0]=0;l=n;return i|0}f=c[b+8>>2]|0;e=c[f+12>>2]|0;e=Uh[c[e>>2]&63](c[e+4>>2]|0,g,h<<2,h<<3)|0;if((h|0)>0&(e|0)==0)oB(f,360704,m);c[j>>2]=e;c[j+4>>2]=h<<1;m=c[k>>2]|0;b=c[c[b>>2]>>2]|0;d=m+1|0;c[k>>2]=d;m=b+(m<<2)|0;a[m>>0]=0;m=m+1|0;a[m>>0]=0;l=n;return i|0}function eF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[a>>2]|0;n=a+24|0;d=c[n>>2]|0;q=a+16|0;l=c[q>>2]|0;do if((d|0)!=-1){m=c[p+48>>2]|0;while(1){i=m+(d<<2)|0;h=c[i>>2]|0;g=(h>>>14)+-131071|0;f=d;d=(g|0)==-1?-1:d+1+g|0;if((f|0)>0?(j=m+(f+-1<<2)|0,k=c[j>>2]|0,((k&63)+-31|0)>>>0<5):0){e=j;g=k}else{e=i;g=h}if((g&63|0)==35){c[e>>2]=g&8372224|g>>>23<<6|34;e=l+~f|0;if((((e|0)>-1?e:0-e|0)|0)>131071){d=8;break}f=c[i>>2]&16383;e=(e<<14)+2147467264|0}else{e=l+~f|0;if((((e|0)>-1?e:0-e|0)|0)>131071){d=11;break}f=(e<<14)+2147467264|0;e=h&16383}c[i>>2]=f|e;if((d|0)==-1){d=14;break}}if((d|0)==8)uF(c[a+8>>2]|0,360754);else if((d|0)==11)uF(c[a+8>>2]|0,360754);else if((d|0)==14){o=c[q>>2]|0;break}}else o=l;while(0);c[n>>2]=-1;d=p+20|0;if((o|0)<(c[d>>2]|0)){f=a+8|0;e=c[p+48>>2]|0;d=o}else{f=a+8|0;o=p+48|0;e=lA(c[(c[f>>2]|0)+52>>2]|0,c[o>>2]|0,d,4,2147483647,360781)|0;c[o>>2]=e;d=c[q>>2]|0}c[e+(d<<2)>>2]=b;d=c[q>>2]|0;e=p+24|0;if((d|0)<(c[e>>2]|0)){o=p+56|0;p=d;b=c[f>>2]|0;b=b+8|0;b=c[b>>2]|0;o=c[o>>2]|0;p=o+(p<<2)|0;c[p>>2]=b;p=c[q>>2]|0;b=p+1|0;c[q>>2]=b;return p|0}else{o=p+56|0;c[o>>2]=lA(c[(c[f>>2]|0)+52>>2]|0,c[o>>2]|0,e,4,2147483647,360781)|0;p=c[q>>2]|0;b=c[f>>2]|0;b=b+8|0;b=c[b>>2]|0;o=c[o>>2]|0;p=o+(p<<2)|0;c[p>>2]=b;p=c[q>>2]|0;b=p+1|0;c[q>>2]=b;return p|0}return 0}function fF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((c[a+16>>2]|0)==(d|0)){c[a+20>>2]=d;e=a+24|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}i=c[(c[a>>2]|0)+48>>2]|0;while(1){g=i+(f<<2)|0;h=c[g>>2]|0;e=(h>>>14)+-131071|0;e=(e|0)==-1?-1:f+1+e|0;if((e|0)==-1)break;else f=e}e=~f+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[a+8>>2]|0,360754);c[g>>2]=(e<<14)+2147467264|h&16383;return}if((b|0)==-1)return;l=c[(c[a>>2]|0)+48>>2]|0;while(1){i=l+(b<<2)|0;f=c[i>>2]|0;h=(f>>>14)+-131071|0;g=b;b=(h|0)==-1?-1:b+1+h|0;if((g|0)>0?(j=l+(g+-1<<2)|0,k=c[j>>2]|0,((k&63)+-31|0)>>>0<5):0){e=j;h=k}else{e=i;h=f}if((h&63|0)!=35){e=~g+d|0;if((((e|0)>-1?e:0-e|0)|0)>131071){e=20;break}}else{c[e>>2]=h&8372224|h>>>23<<6|34;e=~g+d|0;if((((e|0)>-1?e:0-e|0)|0)>131071){e=17;break}f=c[i>>2]|0}c[i>>2]=f&16383|(e<<14)+2147467264;if((b|0)==-1){e=22;break}}if((e|0)==17)uF(c[a+8>>2]|0,360754);else if((e|0)==20)uF(c[a+8>>2]|0,360754);else if((e|0)==22)return}function gF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+8>>2]|0;m=c[g+52>>2]|0;l=c[b>>2]|0;g=c[g+64>>2]|0;h=VA(g,e)|0;if((h|0)==412368)h=UA(m,g,e)|0;j=h+8|0;if((c[j>>2]|0)==19){e=c[h>>2]|0;g=b+28|0;if(((e|0)<(c[g>>2]|0)?(i=c[l+44>>2]|0,((c[f+8>>2]^c[i+(e<<4)+8>>2])&63|0)==0):0)?(fB(0,i+(e<<4)|0,f)|0)!=0:0){m=e;return m|0}}else g=b+28|0;e=l+16|0;i=c[e>>2]|0;k=c[g>>2]|0;c[h>>2]=k;c[h+4>>2]=((k|0)<0)<<31>>31;c[j>>2]=19;h=l+44|0;if((k|0)<(i|0)){b=i;e=c[h>>2]|0}else{j=lA(m,c[h>>2]|0,e,16,67108863,360837)|0;c[h>>2]=j;b=c[e>>2]|0;e=j}if((i|0)<(b|0)){h=i;do{c[e+(h<<4)+8>>2]=0;h=h+1|0}while((h|0)!=(b|0))}j=e+(k<<4)|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[g>>2]=(c[g>>2]|0)+1;if(!(c[f+8>>2]&64)){m=k;return m|0}e=l+5|0;b=a[e>>0]|0;if(!(b&4)){m=k;return m|0}h=c[f>>2]|0;if(!(a[h+5>>0]&3)){m=k;return m|0}g=c[m+12>>2]|0;if((d[g+61>>0]|0)<2){$z(g,h);m=k;return m|0}else{a[e>>0]=a[g+60>>0]&3|b&-8;m=k;return m|0}return 0}function hF(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 8:{c[f>>2]=7;return}case 9:{j=f+8|0;c[j>>2]=eF(e,c[j>>2]<<23|5)|0;c[f>>2]=12;return}case 10:{h=f+8|0;i=b[h>>1]|0;if((i&256|0)==0?(d[e+42>>0]|0)<=(i|0):0){j=e+44|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}g=a[h+2>>0]|0;if((a[h+3>>0]|0)==8)if((d[e+42>>0]|0)>(g&255))j=7;else{j=e+44|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;j=7}else j=6;c[h>>2]=eF(e,(g&255)<<23|j|i<<14)|0;c[f>>2]=12;return}case 13:{c[f>>2]=7;j=f+8|0;c[j>>2]=(c[(c[(c[e>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)>>>6&255;return}case 14:{j=(c[(c[e>>2]|0)+48>>2]|0)+(c[f+8>>2]<<2)|0;c[j>>2]=c[j>>2]&8388607|16777216;c[f>>2]=12;return}default:return}}function iF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;hF(b,e);if(((c[e>>2]|0)==7?(f=c[e+8>>2]|0,(f&256|0)==0):0)?(d[b+42>>0]|0|0)<=(f|0):0){h=b+44|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}f=b+44|0;g=(d[f>>0]|0)+1|0;h=(c[b>>2]|0)+8|0;if(g>>>0<=(d[h>>0]|0)>>>0){h=g&255;a[f>>0]=h;h=h&255;h=h+-1|0;jF(b,e,h);return}if(g>>>0>254)uF(c[b+8>>2]|0,360789);g=g&255;a[h>>0]=g;h=g;a[f>>0]=h;h=h&255;h=h+-1|0;jF(b,e,h);return}function jF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;kF(a,b,d);o=(c[b>>2]|0)==11;x=b+16|0;do if(o?(h=c[b+8>>2]|0,(h|0)!=-1):0){e=c[x>>2]|0;if((e|0)==-1){c[x>>2]=h;f=h;break}k=c[(c[a>>2]|0)+48>>2]|0;while(1){i=k+(e<<2)|0;j=c[i>>2]|0;g=(j>>>14)+-131071|0;g=(g|0)==-1?-1:e+1+g|0;if((g|0)==-1)break;else e=g}e=h+~e|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[a+8>>2]|0,360754);else{c[i>>2]=(e<<14)+2147467264|j&16383;n=10;break}}else n=10;while(0);if((n|0)==10)f=c[x>>2]|0;v=b+20|0;e=c[v>>2]|0;if((f|0)==(e|0)){c[x>>2]=-1;c[v>>2]=-1;A=b+8|0;c[A>>2]=d;c[b>>2]=7;return}a:do if((f|0)==-1)n=19;else{i=c[(c[a>>2]|0)+48>>2]|0;while(1){g=i+(f<<2)|0;if((f|0)>0?(l=c[i+(f+-1<<2)>>2]|0,((l&63)+-31|0)>>>0<5):0)h=l;else h=c[g>>2]|0;if((h&63|0)!=35){n=26;break a}n=((c[g>>2]|0)>>>14)+-131071|0;f=(n|0)==-1?-1:f+1+n|0;if((f|0)==-1){n=19;break}}}while(0);b:do if((n|0)==19)if((e|0)==-1){s=-1;A=-1}else{h=c[(c[a>>2]|0)+48>>2]|0;while(1){f=h+(e<<2)|0;if((e|0)>0?(m=c[h+(e+-1<<2)>>2]|0,((m&63)+-31|0)>>>0<5):0)g=m;else g=c[f>>2]|0;if((g&63|0)!=35){n=26;break b}l=((c[f>>2]|0)>>>14)+-131071|0;e=(l|0)==-1?-1:e+1+l|0;if((e|0)==-1){s=-1;A=-1;break}}}while(0);do if((n|0)==26){l=a+24|0;do if(!o){f=c[l>>2]|0;c[l>>2]=-1;i=eF(a,2147450910)|0;if((f|0)!=-1)if((i|0)!=-1){g=c[(c[a>>2]|0)+48>>2]|0;h=i;while(1){j=g+(h<<2)|0;k=c[j>>2]|0;e=(k>>>14)+-131071|0;e=(e|0)==-1?-1:h+1+e|0;if((e|0)==-1)break;else h=e}e=f+~h|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[a+8>>2]|0,360754);else{c[j>>2]=(e<<14)+2147467264|k&16383;p=i;break}}else p=f;else p=i}else p=-1;while(0);n=a+16|0;o=a+20|0;c[o>>2]=c[n>>2];k=d<<6;j=eF(a,k|16387)|0;c[o>>2]=c[n>>2];k=eF(a,k|8388611)|0;c[o>>2]=c[n>>2];if((p|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=p;s=j;A=k;break}i=c[(c[a>>2]|0)+48>>2]|0;while(1){g=i+(e<<2)|0;h=c[g>>2]|0;f=(h>>>14)+-131071|0;f=(f|0)==-1?-1:e+1+f|0;if((f|0)==-1)break;else e=f}e=p+~e|0;if((((e|0)>-1?e:0-e|0)|0)>131071)uF(c[a+8>>2]|0,360754);else{c[g>>2]=(e<<14)+2147467264|h&16383;s=j;A=k;break}}else{s=j;A=k}}while(0);o=c[a+16>>2]|0;c[a+20>>2]=o;e=c[v>>2]|0;c:do if((e|0)!=-1){l=(d|0)==255;m=d<<6&16320;n=c[(c[a>>2]|0)+48>>2]|0;while(1){k=n+(e<<2)|0;g=c[k>>2]|0;p=(g>>>14)+-131071|0;j=e;e=(p|0)==-1?-1:e+1+p|0;if((j|0)>0?(q=n+(j+-1<<2)|0,r=c[q>>2]|0,((r&63)+-31|0)>>>0<5):0){i=q;h=r}else{i=k;h=g}if((h&63|0)!=35){f=s+~j|0;if((((f|0)>-1?f:0-f|0)|0)>131071){n=55;break}}else{f=h>>>23;if(l|(f|0)==(d|0))f=h&8372224|f<<6|34;else f=h&-16321|m;c[i>>2]=f;f=o+~j|0;if((((f|0)>-1?f:0-f|0)|0)>131071){n=52;break}g=c[k>>2]|0}c[k>>2]=g&16383|(f<<14)+2147467264;if((e|0)==-1)break c}if((n|0)==52)uF(c[a+8>>2]|0,360754);else if((n|0)==55)uF(c[a+8>>2]|0,360754)}while(0);e=c[x>>2]|0;if((e|0)==-1){c[x>>2]=-1;c[v>>2]=-1;A=b+8|0;c[A>>2]=d;c[b>>2]=7;return}k=d<<6;l=k&16320;m=c[(c[a>>2]|0)+48>>2]|0;if((d|0)==255){while(1){j=m+(e<<2)|0;g=c[j>>2]|0;s=(g>>>14)+-131071|0;h=e;e=(s|0)==-1?-1:e+1+s|0;if((h|0)>0?(t=m+(h+-1<<2)|0,u=c[t>>2]|0,((u&63)+-31|0)>>>0<5):0){f=t;i=u}else{f=j;i=g}if((i&63|0)!=35){f=A+~h|0;if((((f|0)>-1?f:0-f|0)|0)>131071){n=78;break}}else{c[f>>2]=i&8372224|i>>>23<<6|34;f=o+~h|0;if((((f|0)>-1?f:0-f|0)|0)>131071){n=75;break}g=c[j>>2]|0}c[j>>2]=g&16383|(f<<14)+2147467264;if((e|0)==-1){n=80;break}}if((n|0)==75){u=a+8|0;u=c[u>>2]|0;uF(u,360754)}else if((n|0)==78){u=a+8|0;u=c[u>>2]|0;uF(u,360754)}else if((n|0)==80){c[x>>2]=-1;c[v>>2]=-1;A=b+8|0;c[A>>2]=d;c[b>>2]=7;return}}else w=e;while(1){i=m+(w<<2)|0;f=c[i>>2]|0;u=(f>>>14)+-131071|0;h=w;w=(u|0)==-1?-1:w+1+u|0;if((h|0)>0?(y=m+(h+-1<<2)|0,z=c[y>>2]|0,((z&63)+-31|0)>>>0<5):0){g=y;e=z}else{g=i;e=f}if((e&63|0)!=35){e=A+~h|0;if((((e|0)>-1?e:0-e|0)|0)>131071){n=78;break}}else{if((e>>>23|0)==(d|0))e=e&8372224|k|34;else e=e&-16321|l;c[g>>2]=e;e=o+~h|0;if((((e|0)>-1?e:0-e|0)|0)>131071){n=75;break}f=c[i>>2]|0}c[i>>2]=f&16383|(e<<14)+2147467264;if((w|0)==-1){n=80;break}}if((n|0)==75){d=a+8|0;d=c[d>>2]|0;uF(d,360754)}else if((n|0)==78){d=a+8|0;d=c[d>>2]|0;uF(d,360754)}else if((n|0)==80){c[x>>2]=-1;c[v>>2]=-1;A=b+8|0;c[A>>2]=d;c[b>>2]=7;return}}function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k;hF(a,b);e=c[b>>2]|0;a:do switch(e|0){case 1:{g=d+1|0;e=c[a+16>>2]|0;do if((e|0)>(c[a+20>>2]|0)?(i=(c[(c[a>>2]|0)+48>>2]|0)+(e+-1<<2)|0,j=c[i>>2]|0,(j&63|0)==4):0){e=j>>>6&255;f=e+(j>>>23)|0;if((e|0)>(d|0)|(f+1|0)<(d|0)?(e|0)<(d|0)|(e|0)>(g|0):0)break;a=(e|0)<(d|0)?e:d;c[i>>2]=a<<6&16320|j&8372287|((f|0)>(d|0)?f:d)-a<<23;break a}while(0);eF(a,d<<6|4)|0;break}case 2:case 3:{eF(a,d<<6|((e|0)==2&1)<<23|3)|0;break}case 4:{e=c[b+8>>2]|0;f=d<<6;if((e|0)<262144){eF(a,f|e<<14|1)|0;break a}else{eF(a,f|2)|0;eF(a,e<<6|46)|0;break a}}case 5:{h[f>>3]=+h[b+8>>3];c[f+8>>2]=3;e=gF(a,f,f)|0;f=d<<6;if((e|0)<262144){eF(a,f|e<<14|1)|0;break a}else{eF(a,f|2)|0;eF(a,e<<6|46)|0;break a}}case 6:{j=b+8|0;i=c[j>>2]|0;j=c[j+4>>2]|0;c[f>>2]=i;c[f+8>>2]=2;e=g;c[e>>2]=i;c[e+4>>2]=j;c[g+8>>2]=19;e=gF(a,f,g)|0;f=d<<6;if((e|0)<262144){eF(a,f|e<<14|1)|0;break a}else{eF(a,f|2)|0;eF(a,e<<6|46)|0;break a}}case 12:{a=(c[(c[a>>2]|0)+48>>2]|0)+(c[b+8>>2]<<2)|0;c[a>>2]=c[a>>2]&-16321|d<<6&16320;break}case 7:{e=c[b+8>>2]|0;if((e|0)!=(d|0))eF(a,e<<23|d<<6)|0;break}default:{l=k;return}}while(0);c[b+8>>2]=d;c[b>>2]=7;l=k;return}function lF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;hF(b,e);if((c[e>>2]|0)==7){f=e+8|0;h=c[f>>2]|0;if((c[e+16>>2]|0)==(c[e+20>>2]|0)){b=h;return b|0}if((h|0)>=(d[b+42>>0]|0|0))jF(b,e,h);else i=5}else i=5;if((i|0)==5){hF(b,e);if(((c[e>>2]|0)==7?(g=c[e+8>>2]|0,(g&256|0)==0):0)?(d[b+42>>0]|0|0)<=(g|0):0){i=b+44|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}f=b+44|0;g=(d[f>>0]|0)+1|0;h=(c[b>>2]|0)+8|0;do if(g>>>0>(d[h>>0]|0)>>>0)if(g>>>0>254)uF(c[b+8>>2]|0,360789);else{j=g&255;a[h>>0]=j;break}else j=g&255;while(0);a[f>>0]=j;jF(b,e,(j&255)+-1|0);f=e+8|0}b=c[f>>2]|0;return b|0}function mF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+16|0;f=j;if((c[b+16>>2]|0)==(c[b+20>>2]|0))hF(a,b);else lF(a,b)|0;e=c[b>>2]|0;switch(e|0){case 1:case 3:case 2:{if((c[a+28>>2]|0)<256){if((e|0)==1){c[f+8>>2]=0;c[g>>2]=c[(c[a+8>>2]|0)+64>>2];c[g+8>>2]=69;d=gF(a,g,f)|0}else{c[g>>2]=(e|0)==2&1;c[g+8>>2]=1;d=gF(a,g,g)|0}c[b+8>>2]=d;c[b>>2]=4;b=d|256;l=j;return b|0}break}case 6:{i=b+8|0;e=i;k=c[e>>2]|0;e=c[e+4>>2]|0;c[g>>2]=k;c[g+8>>2]=2;d=f;c[d>>2]=k;c[d+4>>2]=e;c[f+8>>2]=19;d=gF(a,g,f)|0;c[i>>2]=d;c[b>>2]=4;i=13;break}case 5:{i=b+8|0;h[g>>3]=+h[i>>3];c[g+8>>2]=3;d=gF(a,g,g)|0;c[i>>2]=d;c[b>>2]=4;i=13;break}case 4:{d=c[b+8>>2]|0;i=13;break}default:{}}if((i|0)==13?(d|0)<256:0){k=d|256;l=j;return k|0}k=lF(a,b)|0;l=j;return k|0}function nF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 8:{if(((c[g>>2]|0)==7?(h=c[g+8>>2]|0,(h&256|0)==0):0)?(d[b+42>>0]|0)<=(h|0):0){h=b+44|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}jF(b,g,c[f+8>>2]|0);return}case 9:{eF(b,(lF(b,g)|0)<<6|c[f+8>>2]<<23|9)|0;break}case 10:{f=f+8|0;h=(a[f+3>>0]|0)==8?10:8;eF(b,(mF(b,g)|0)<<14|h|d[f+2>>0]<<6|e[f>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=7)return;h=c[g+8>>2]|0;if(h&256|0)return;if((d[b+42>>0]|0)>(h|0))return;b=b+44|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24;return}function oF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;hF(b,e);h=c[e>>2]|0;a:do switch(h|0){case 11:{i=c[(c[b>>2]|0)+48>>2]|0;k=e+8|0;h=c[k>>2]|0;j=i+(h<<2)|0;if(!((h|0)>0?(g=i+(h+-1<<2)|0,f=c[g>>2]|0,((f&63)+-31|0)>>>0<5):0)){g=j;f=c[j>>2]|0}c[g>>2]=((f&16320|0)==0&1)<<6|f&-16321;n=c[k>>2]|0;o=33;break}case 2:case 6:case 5:case 4:break;default:{i=e+8|0;switch(h|0){case 12:{f=c[b>>2]|0;g=c[(c[f+48>>2]|0)+(c[i>>2]<<2)>>2]|0;if((g&63|0)==27){i=b+16|0;c[i>>2]=(c[i>>2]|0)+-1;eF(b,g>>>23<<6|16418)|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=-1;i=eF(b,2147450910)|0;if((k|0)==-1){n=i;o=33;break a}if((i|0)==-1){o=34;break a}g=c[(c[b>>2]|0)+48>>2]|0;h=i;while(1){j=g+(h<<2)|0;l=c[j>>2]|0;f=(l>>>14)+-131071|0;f=(f|0)==-1?-1:h+1+f|0;if((f|0)==-1)break;else h=f}f=k+~h|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[j>>2]=(f<<14)+2147467264|l&16383;n=i;o=33;break a}}else o=16;break}case 7:{o=23;break}default:{f=c[b>>2]|0;o=16}}if((o|0)==16){g=b+44|0;h=(d[g>>0]|0)+1|0;f=f+8|0;do if(h>>>0>(d[f>>0]|0)>>>0)if(h>>>0>254)uF(c[b+8>>2]|0,360789);else{j=h&255;a[f>>0]=j;break}else j=h&255;while(0);a[g>>0]=j;kF(b,e,(j&255)+-1|0);if((c[e>>2]|0)==7)o=23;else m=c[i>>2]|0}if((o|0)==23){f=c[i>>2]|0;if((f&256|0)==0?(d[b+42>>0]|0|0)<=(f|0):0){m=b+44|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=f}else m=f}eF(b,m<<23|16355)|0;j=b+24|0;g=c[j>>2]|0;c[j>>2]=-1;j=eF(b,2147450910)|0;if((g|0)!=-1)if((j|0)!=-1){h=c[(c[b>>2]|0)+48>>2]|0;i=j;while(1){k=h+(i<<2)|0;l=c[k>>2]|0;f=(l>>>14)+-131071|0;f=(f|0)==-1?-1:i+1+f|0;if((f|0)==-1)break;else i=f}f=g+~i|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[k>>2]=(f<<14)+2147467264|l&16383;n=j;o=33;break a}}else{k=g;o=34}else{n=j;o=33}}}while(0);if((o|0)==33?(n|0)!=-1:0){k=n;o=34}do if((o|0)==34){f=e+20|0;g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=k;break}j=c[(c[b>>2]|0)+48>>2]|0;while(1){h=j+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;f=(f|0)==-1?-1:g+1+f|0;if((f|0)==-1)break;else g=f}f=k+~g|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[h>>2]=(f<<14)+2147467264|i&16383;break}}while(0);l=e+16|0;k=c[l>>2]|0;c[b+20>>2]=c[b+16>>2];f=b+24|0;if((k|0)==-1){c[l>>2]=-1;return}g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=k;c[l>>2]=-1;return}j=c[(c[b>>2]|0)+48>>2]|0;while(1){h=j+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;f=(f|0)==-1?-1:g+1+f|0;if((f|0)==-1)break;else g=f}f=k+~g|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);c[h>>2]=(f<<14)+2147467264|i&16383;c[l>>2]=-1;return}function pF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;hF(b,e);g=c[e>>2]|0;a:do switch(g|0){case 11:{n=c[e+8>>2]|0;o=30;break}case 3:case 1:break;default:{j=e+8|0;switch(g|0){case 12:{g=c[b>>2]|0;h=c[(c[g+48>>2]|0)+(c[j>>2]<<2)>>2]|0;if((h&63|0)==27){j=b+16|0;c[j>>2]=(c[j>>2]|0)+-1;eF(b,h>>>23<<6|34)|0;j=b+24|0;k=c[j>>2]|0;c[j>>2]=-1;j=eF(b,2147450910)|0;if((k|0)==-1){n=j;o=30;break a}if((j|0)==-1){o=31;break a}h=c[(c[b>>2]|0)+48>>2]|0;i=j;while(1){l=h+(i<<2)|0;m=c[l>>2]|0;g=(m>>>14)+-131071|0;g=(g|0)==-1?-1:i+1+g|0;if((g|0)==-1)break;else i=g}g=k+~i|0;if((((g|0)>-1?g:0-g|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[l>>2]=(g<<14)+2147467264|m&16383;n=j;o=30;break a}}else{f=g;o=13}break}case 7:{o=20;break}default:{f=c[b>>2]|0;o=13}}if((o|0)==13){g=b+44|0;h=(d[g>>0]|0)+1|0;f=f+8|0;do if(h>>>0>(d[f>>0]|0)>>>0)if(h>>>0>254)uF(c[b+8>>2]|0,360789);else{i=h&255;a[f>>0]=i;break}else i=h&255;while(0);a[g>>0]=i;kF(b,e,(i&255)+-1|0);if((c[e>>2]|0)==7)o=20;else f=c[j>>2]|0}if((o|0)==20){f=c[j>>2]|0;if((f&256|0)==0?(d[b+42>>0]|0|0)<=(f|0):0){m=b+44|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}}eF(b,f<<23|32739)|0;j=b+24|0;g=c[j>>2]|0;c[j>>2]=-1;j=eF(b,2147450910)|0;if((g|0)!=-1)if((j|0)!=-1){h=c[(c[b>>2]|0)+48>>2]|0;i=j;while(1){k=h+(i<<2)|0;l=c[k>>2]|0;f=(l>>>14)+-131071|0;f=(f|0)==-1?-1:i+1+f|0;if((f|0)==-1)break;else i=f}f=g+~i|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[k>>2]=(f<<14)+2147467264|l&16383;n=j;o=30;break a}}else{k=g;o=31}else{n=j;o=30}}}while(0);if((o|0)==30?(n|0)!=-1:0){k=n;o=31}do if((o|0)==31){f=e+16|0;g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=k;break}j=c[(c[b>>2]|0)+48>>2]|0;while(1){h=j+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;f=(f|0)==-1?-1:g+1+f|0;if((f|0)==-1)break;else g=f}f=k+~g|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);else{c[h>>2]=(f<<14)+2147467264|i&16383;break}}while(0);l=e+20|0;k=c[l>>2]|0;c[b+20>>2]=c[b+16>>2];f=b+24|0;if((k|0)==-1){c[l>>2]=-1;return}g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=k;c[l>>2]=-1;return}j=c[(c[b>>2]|0)+48>>2]|0;while(1){h=j+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;f=(f|0)==-1?-1:g+1+f|0;if((f|0)==-1)break;else g=f}f=k+~g|0;if((((f|0)>-1?f:0-f|0)|0)>131071)uF(c[b+8>>2]|0,360754);c[h>>2]=(f<<14)+2147467264|i&16383;c[l>>2]=-1;return}function qF(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+80|0;u=J+72|0;t=J+64|0;x=J+48|0;y=J+32|0;C=J+16|0;I=J;a:do if(e>>>0<27)b:do if((c[f+16>>2]|0)==-1?(c[f+20>>2]|0)==-1:0){switch(c[f>>2]|0){case 6:{s=f+8|0;w=c[s+4>>2]|0;k=y;c[k>>2]=c[s>>2];c[k+4>>2]=w;k=19;break}case 5:{h[y>>3]=+h[f+8>>3];k=3;break}default:break b}c[y+8>>2]=k;if((c[g+16>>2]|0)==-1?(c[g+20>>2]|0)==-1:0){switch(c[g>>2]|0){case 6:{p=g+8|0;n=c[p>>2]|0;p=c[p+4>>2]|0;m=C;c[m>>2]=n;c[m+4>>2]=p;c[C+8>>2]=19;m=19;break}case 5:{o=+h[g+8>>3];h[C>>3]=o;c[C+8>>2]=3;h[j>>3]=o;m=3;n=c[j>>2]|0;p=c[j+4>>2]|0;break}default:break b}c:do switch(e|0){case 26:case 24:case 23:case 22:case 21:case 20:{do if((k|0)!=19){n=y;d:while(1){switch(k|0){case 3:{v=16;break d}case 19:{v=24;break d}default:{}}if((k&15|0)!=4){v=165;break}m=nA((c[n>>2]|0)+16|0,x)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)!=(k+1|0)){v=165;break}n=x;k=c[x+8>>2]|0}if((v|0)==16){K=+h[n>>3];o=+A(+K);if(!(K!=o)?o>=-9223372036854775808.0&o<9223372036854775808.0:0)v=24;else v=165}if((v|0)==24){k=c[C+8>>2]|0;break}else if((v|0)==165)break b}else k=m;while(0);if((k|0)!=19){n=C;e:while(1){switch(k|0){case 3:{v=29;break e}case 19:{v=37;break e}default:{}}if((k&15|0)!=4){v=167;break}m=nA((c[n>>2]|0)+16|0,x)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)!=(k+1|0)){v=167;break}n=x;k=c[x+8>>2]|0}if((v|0)==29){o=+h[n>>3];K=+A(+o);if(!(o!=K)?K>=-9223372036854775808.0&K<9223372036854775808.0:0)v=37;else v=167}if((v|0)==37)break c;else if((v|0)==167)break a}break}case 16:case 19:case 18:{c[j>>2]=n;c[j+4>>2]=p;if(!(((m|0)==19?+(n>>>0)+4294967296.0*+(p|0):+h[j>>3])!=0.0))break b;break}default:{}}while(0);w=c[(c[b+8>>2]|0)+52>>2]|0;f:do switch(e|0){case 26:case 24:case 23:case 22:case 21:case 20:{k=c[y+8>>2]|0;do if((k|0)!=19){n=y;g:while(1){switch(k|0){case 3:{v=43;break g}case 19:{v=46;break g}default:{}}if((k&15|0)!=4){v=53;break}m=nA((c[n>>2]|0)+16|0,x)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)!=(k+1|0)){v=53;break}n=x;k=c[x+8>>2]|0}if((v|0)==43){K=+h[n>>3];o=+A(+K);if(!(K!=o)?o>=-9223372036854775808.0&o<9223372036854775808.0:0){k=~~o>>>0;m=+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0;v=54}else v=53}else if((v|0)==46){m=n;k=c[m>>2]|0;m=c[m+4>>2]|0;v=54}if((v|0)==53){v=159;break f}else if((v|0)==54){p=k;r=m;break}}else{r=y;p=c[r>>2]|0;r=c[r+4>>2]|0}while(0);k=c[C+8>>2]|0;do if((k|0)!=19){n=C;h:while(1){switch(k|0){case 3:{v=59;break h}case 19:{v=62;break h}default:{}}if((k&15|0)!=4){v=69;break}m=nA((c[n>>2]|0)+16|0,x)|0;k=c[n>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)!=(k+1|0)){v=69;break}n=x;k=c[x+8>>2]|0}if((v|0)==59){K=+h[n>>3];o=+A(+K);if(!(K!=o)?o>=-9223372036854775808.0&o<9223372036854775808.0:0){k=~~o>>>0;n=+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0;v=70}else v=69}else if((v|0)==62){k=c[n>>2]|0;n=c[n+4>>2]|0;v=70}if((v|0)==69){v=159;break f}else if((v|0)==70)break}else{n=C;k=c[n>>2]|0;n=c[n+4>>2]|0}while(0);switch(e|0){case 22:{m=k^p;k=n^r;v=160;break f}case 23:if((n|0)<0){v=(n|0)<-1|(n|0)==-1&k>>>0<4294967233;m=c6(0,0,k|0,n|0)|0;m=m6(p|0,r|0,m|0)|0;m=v?0:m;k=v?0:z;v=160;break f}else{v=(n|0)>0|(n|0)==0&k>>>0>63;m=n6(p|0,r|0,k|0)|0;m=v?0:m;k=v?0:z;v=160;break f}case 24:if((n|0)>0|(n|0)==0&k>>>0>0){v=(n|0)>0|(n|0)==0&k>>>0>63;m=m6(p|0,r|0,k|0)|0;m=v?0:m;k=v?0:z;v=160;break f}else{m=c6(0,0,k|0,n|0)|0;k=(n|0)<-1|(n|0)==-1&k>>>0<4294967233;m=n6(p|0,r|0,m|0)|0;m=k?0:m;k=k?0:z;v=160;break f}case 25:{m=c6(0,0,p|0,r|0)|0;k=z;v=160;break f}case 26:{m=~p;k=~r;v=160;break f}case 20:{m=k&p;k=n&r;v=160;break f}case 21:{m=k|p;k=n|r;v=160;break f}default:{m=0;k=0;v=160;break f}}}case 17:case 18:{k=c[y+8>>2]|0;if((k|0)==3)q=+h[y>>3];else{do if((k|0)==19){v=y;o=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0)}else{if((k&15|0)==4){m=nA((c[y>>2]|0)+16|0,x)|0;k=c[y>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)==(k+1|0)){t=(c[x+8>>2]|0)==19;v=x;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;o=t?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];break}}v=159;break f}while(0);q=o}k=c[C+8>>2]|0;if((k|0)==3)o=+h[C>>3];else do if((k|0)==19)o=+((c[C>>2]|0)>>>0)+4294967296.0*+(c[C+4>>2]|0);else{if((k&15|0)==4){m=nA((c[C>>2]|0)+16|0,x)|0;k=c[C>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)==(k+1|0)){w=(c[x+8>>2]|0)==19;C=x;y=c[C>>2]|0;C=c[C+4>>2]|0;c[j>>2]=y;c[j+4>>2]=C;o=w?+(y>>>0)+4294967296.0*+(C|0):+h[j>>3];break}}v=159;break f}while(0);switch(e|0){case 17:{o=+D(+q,+o);v=162;break f}case 18:{o=q/o;v=162;break f}default:{o=0.0;v=162;break f}}}default:{k=c[y+8>>2]|0;i:do switch(k|0){case 19:{if((c[C+8>>2]|0)!=19){v=y;o=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);v=137;break i}s=y;n=c[s>>2]|0;s=c[s+4>>2]|0;r=C;p=c[r>>2]|0;r=c[r+4>>2]|0;switch(e|0){case 13:{m=b6(p|0,r|0,n|0,s|0)|0;k=z;v=160;break f}case 14:{m=c6(n|0,s|0,p|0,r|0)|0;k=z;v=160;break f}case 15:{m=h6(p|0,r|0,n|0,s|0)|0;k=z;v=160;break f}case 16:{u=b6(p|0,r|0,1,0)|0;m=z;if(!(m>>>0<0|(m|0)==0&u>>>0<2)){k=i6(n|0,s|0,p|0,r|0)|0;m=z;v=(r^s|0)<0&((k|0)!=0|(m|0)!=0);m=b6((v?p:0)|0,(v?r:0)|0,k|0,m|0)|0;k=z;v=160;break f}if(!((p|0)==0&(r|0)==0)){m=0;k=0;v=160;break f}Fz(w,355822,t);break}case 19:{t=b6(p|0,r|0,1,0)|0;m=z;if(!(m>>>0<0|(m|0)==0&t>>>0<2)){m=f6(n|0,s|0,p|0,r|0)|0;k=z;if((r^s|0)>=0){v=160;break f}v=i6(n|0,s|0,p|0,r|0)|0;v=((v|0)!=0|(z|0)!=0)<<31>>31;m=b6(v|0,((v|0)<0)<<31>>31|0,m|0,k|0)|0;k=z;v=160;break f}if((p|0)==0&(r|0)==0)Fz(w,355796,u);else{m=c6(0,0,n|0,s|0)|0;k=z;v=160;break f}break}case 26:{m=~n;k=~s;v=160;break f}case 25:{m=c6(0,0,n|0,s|0)|0;k=z;v=160;break f}default:{m=0;k=0;v=160;break f}}break}case 3:{q=+h[y>>3];break}default:{if((k&15|0)==4){m=nA((c[y>>2]|0)+16|0,x)|0;k=c[y>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)==(k+1|0)){t=(c[x+8>>2]|0)==19;v=x;u=c[v>>2]|0;v=c[v+4>>2]|0;c[j>>2]=u;c[j+4>>2]=v;o=t?+(u>>>0)+4294967296.0*+(v|0):+h[j>>3];v=137;break i}}v=159;break f}}while(0);if((v|0)==137)q=o;k=c[C+8>>2]|0;if((k|0)==3)o=+h[C>>3];else do if((k|0)==19)o=+((c[C>>2]|0)>>>0)+4294967296.0*+(c[C+4>>2]|0);else{if((k&15|0)==4){m=nA((c[C>>2]|0)+16|0,x)|0;k=c[C>>2]|0;if((a[k+4>>0]|0)==4)k=d[k+7>>0]|0;else k=c[k+12>>2]|0;if((m|0)==(k+1|0)){w=(c[x+8>>2]|0)==19;C=x;y=c[C>>2]|0;C=c[C+4>>2]|0;c[j>>2]=y;c[j+4>>2]=C;o=w?+(y>>>0)+4294967296.0*+(C|0):+h[j>>3];break}}v=159;break f}while(0);switch(e|0){case 13:{o=q+o;v=162;break f}case 14:{o=q-o;v=162;break f}case 15:{o=q*o;v=162;break f}case 18:{o=q/o;v=162;break f}case 17:{o=+D(+q,+o);v=162;break f}case 19:{o=+A(+(q/o));v=162;break f}case 25:{o=-q;v=162;break f}case 16:{K=+o4(q,o);o=o*K<0.0?o+K:K;v=162;break f}default:{o=0.0;v=162;break f}}}}while(0);if((v|0)==159){ZA(w,y,C,I,e+-7|0);if((c[I+8>>2]|0)==19)v=161}else if((v|0)==160){e=I;c[e>>2]=m;c[e+4>>2]=k;c[I+8>>2]=19;v=161}else if((v|0)==162){h[I>>3]=o;c[I+8>>2]=3}if((v|0)==161){c[f>>2]=6;e=I;I=c[e+4>>2]|0;f=f+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=I;l=J;return}o=+h[I>>3];if(o!=o|0.0!=0.0|o==0.0)break a;c[f>>2]=5;h[f+8>>3]=o;l=J;return}}while(0);while(0);switch(e|0){case 25:case 26:case 28:{m=lF(b,f)|0;n=0;break}default:{n=mF(b,g)|0;m=mF(b,f)|0}}if((m|0)>(n|0)){if(((c[f>>2]|0)==7?(E=c[f+8>>2]|0,(E&256|0)==0):0)?(d[b+42>>0]|0)<=(E|0):0){I=b+44|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==7?(F=c[g+8>>2]|0,(F&256|0)==0):0)?(d[b+42>>0]|0)<=(F|0):0){k=b+44|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24;k=f}else k=f}else{if(((c[g>>2]|0)==7?(G=c[g+8>>2]|0,(G&256|0)==0):0)?(d[b+42>>0]|0)<=(G|0):0){I=b+44|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==7?(H=c[f+8>>2]|0,(H&256|0)==0):0)?(d[b+42>>0]|0)<=(H|0):0){k=b+44|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24;k=f}else k=f}c[f+8>>2]=eF(b,m<<23|e|n<<14)|0;c[k>>2]=12;c[(c[(c[b>>2]|0)+56>>2]|0)+((c[b+16>>2]|0)+-1<<2)>>2]=i;l=J;return}function rF(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=mF(b,g)|0;j=mF(b,h)|0;if(((c[h>>2]|0)==7?(l=c[h+8>>2]|0,(l&256|0)==0):0)?(d[b+42>>0]|0|0)<=(l|0):0){h=b+44|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==7?(k=c[g+8>>2]|0,(k&256|0)==0):0)?(d[b+42>>0]|0|0)<=(k|0):0){h=b+44|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=(e|0)!=31&(f|0)==0;eF(b,(h?64:f<<6)|e|(h?j:i)<<23|(h?i:j)<<14)|0;f=b+24|0;j=c[f>>2]|0;c[f>>2]=-1;f=eF(b,2147450910)|0;if((j|0)==-1){e=f;b=g+8|0;c[b>>2]=e;c[g>>2]=11;return}if((f|0)==-1){e=j;b=g+8|0;c[b>>2]=e;c[g>>2]=11;return}k=c[(c[b>>2]|0)+48>>2]|0;l=f;while(1){h=k+(l<<2)|0;e=c[h>>2]|0;i=(e>>>14)+-131071|0;i=(i|0)==-1?-1:l+1+i|0;if((i|0)==-1)break;else l=i}i=j+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)uF(c[b+8>>2]|0,360754);c[h>>2]=(i<<14)+2147467264|e&16383;e=f;b=g+8|0;c[b>>2]=e;c[g>>2]=11;return}function sF(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=((e+-1|0)/50|0)+1|0;e=(f|0)==-1?0:f;if((g|0)<512){eF(b,d<<6|e<<23|g<<14|43)|0;d=d+1|0;d=d&255;b=b+44|0;a[b>>0]=d;return}if((g|0)>=67108864)uF(c[b+8>>2]|0,360847);eF(b,d<<6|e<<23|43)|0;eF(b,g<<6|46)|0;d=d+1|0;d=d&255;b=b+44|0;a[b>>0]=d;return}function tF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f+8|0;d=f;if((b|0)<257){e=c[a+52>>2]|0;c[d>>2]=b;e=qA(e,361247,d)|0;l=f;return e|0}d=c[8524+(b+-257<<2)>>2]|0;if((b|0)>=289){e=d;l=f;return e|0}b=c[a+52>>2]|0;c[e>>2]=d;e=qA(b,361252,e)|0;l=f;return e|0}function uF(a,b){a=a|0;b=b|0;vF(a,b,c[a+16>>2]|0)}function vF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=l;l=l+112|0;x=p+40|0;u=p+32|0;r=p+24|0;v=p+16|0;q=p;p=p+48|0;w=b+52|0;n=c[w>>2]|0;g=c[b+72>>2]|0;o=c[b+4>>2]|0;a:do if(!g){a[p>>0]=63;a[p+1>>0]=0}else{k=g+16|0;m=r4(k)|0;switch(a[k>>0]|0){case 61:{g=k+1|0;if(m>>>0>60){i=p;h=i+59|0;do{a[i>>0]=a[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(h|0));a[p+59>>0]=0;break a}else{s6(p|0,g|0,m|0)|0;break a}}case 64:if(m>>>0>60){a[p>>0]=a[371374]|0;a[p+1>>0]=a[371375]|0;a[p+2>>0]=a[371376]|0;i=p+3|0;g=k+(m+-56)|0;h=i+57|0;do{a[i>>0]=a[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(h|0));break a}else{s6(p|0,k+1|0,m|0)|0;break a}default:{j=s4(k,10)|0;i=p;g=354517;h=i+9|0;do{a[i>>0]=a[g>>0]|0;i=i+1|0;g=g+1|0}while((i|0)<(h|0));g=p+9|0;h=(j|0)==0;if(m>>>0<45&h){s6(g|0,k|0,m|0)|0;g=m+9|0}else{t=h?m:j-k|0;t=t>>>0<45?t:45;s6(g|0,k|0,t|0)|0;g=p+(t+9)|0;a[g>>0]=a[371374]|0;a[g+1>>0]=a[371375]|0;a[g+2>>0]=a[371376]|0;g=t+12|0}t=p+g|0;a[t>>0]=a[354527]|0;a[t+1>>0]=a[354528]|0;a[t+2>>0]=a[354529]|0;break a}}}while(0);c[q>>2]=p;c[q+4>>2]=o;c[q+8>>2]=d;s=qA(n,353736,q)|0;if(!e){t=c[w>>2]|0;Jz(t,3)}t=c[w>>2]|0;do if((e+-290|0)>>>0>=4){if((e|0)<257){c[r>>2]=e;f=qA(t,361247,r)|0;break}f=c[8524+(e+-257<<2)>>2]|0;if((e|0)<289){c[u>>2]=f;f=qA(t,361252,u)|0}}else{d=b+60|0;p=c[d>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);j=o<<1;g=c[p>>2]|0;k=c[t+12>>2]|0;m=(g|0)!=0;h=k+4|0;i=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if((j|0)!=0&(i|0)==0){if(!(c[k+140>>2]|0))Jz(t,4);kA(t,1);g=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if(!g)Jz(t,4);else f=g}else f=i;g=k+12|0;c[g>>2]=(m?0-o|0:0)+j+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=j;g=c[q>>2]|0}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=0;f=c[w>>2]|0;c[v>>2]=c[c[d>>2]>>2];f=qA(f,361252,v)|0}while(0);c[x>>2]=s;c[x+4>>2]=f;qA(t,361282,x)|0;x=c[w>>2]|0;Jz(x,3)}function wF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=c[b+52>>2]|0;e=QA(h,d,e)|0;g=h+8|0;f=c[g>>2]|0;c[g>>2]=f+16;c[f>>2]=e;c[f+8>>2]=(a[e+4>>0]|64)&255;b=c[b+64>>2]|0;f=(c[g>>2]|0)+-16|0;d=VA(b,f)|0;if((d|0)==412368)d=UA(h,b,f)|0;b=d+8|0;if(!(c[b>>2]|0)){c[d>>2]=1;c[b>>2]=1;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h)}else e=c[d+16>>2]|0;c[g>>2]=(c[g>>2]|0)+-16;return e|0}function xF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+16|0;M=N;z=N+8|0;K=b+60|0;c[(c[K>>2]|0)+4>>2]=0;L=b+56|0;y=b+4|0;a:while(1){w=c[b>>2]|0;b:while(1){switch(w|0){case 91:{u=47;break a}case 61:{u=51;break a}case 60:{u=63;break a}case 62:{u=81;break a}case 47:{u=99;break a}case 126:{u=111;break a}case 58:{u=123;break a}case 39:case 34:{u=135;break a}case 46:{u=527;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{u=556;break a}case -1:{f=289;u=589;break a}case 13:case 10:{u=4;break b}case 45:break b;case 11:case 9:case 12:case 32:break;default:{u=557;break a}}g=c[L>>2]|0;I=c[g>>2]|0;c[g>>2]=I+-1;if(!I){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;i=c[M>>2]|0;if((h|0)==0|(i|0)==0)g=-1;else{c[g>>2]=i+-1;c[g+4>>2]=h+1;g=d[h>>0]|0}}else{I=g+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;w=g}if((u|0)==4){u=0;i=c[L>>2]|0;I=c[i>>2]|0;c[i>>2]=I+-1;if(!I){g=Th[c[i+8>>2]&63](c[i+16>>2]|0,c[i+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)g=-1;else{c[i>>2]=h+-1;c[i+4>>2]=g+1;g=d[g>>0]|0}}else{I=i+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;switch(g|0){case 13:case 10:{if((g|0)!=(w|0)){g=c[L>>2]|0;I=c[g>>2]|0;c[g>>2]=I+-1;if(!I){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;i=c[M>>2]|0;if((h|0)==0|(i|0)==0)g=-1;else{c[g>>2]=i+-1;c[g+4>>2]=h+1;g=d[h>>0]|0}}else{I=g+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g}break}default:{}}I=(c[y>>2]|0)+1|0;c[y>>2]=I;if((I|0)==2147483647){u=18;break}else continue}i=c[L>>2]|0;I=c[i>>2]|0;c[i>>2]=I+-1;if(!I){g=Th[c[i+8>>2]&63](c[i+16>>2]|0,c[i+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)g=-1;else{c[i>>2]=h+-1;c[i+4>>2]=g+1;g=d[g>>0]|0}}else{I=i+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;if((g|0)!=45){f=45;u=589;break}g=c[L>>2]|0;I=c[g>>2]|0;c[g>>2]=I+-1;if(!I){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;i=c[M>>2]|0;if((h|0)==0|(i|0)==0)g=-1;else{c[g>>2]=i+-1;c[g+4>>2]=h+1;g=d[h>>0]|0}}else{I=g+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;do if((g|0)==91){g=yF(b)|0;c[(c[K>>2]|0)+4>>2]=0;if((g|0)>-1){zF(b,0,g);c[(c[K>>2]|0)+4>>2]=0;continue a}else{g=c[b>>2]|0;break}}while(0);while(1){switch(g|0){case -1:case 13:case 10:continue a;default:{}}g=c[L>>2]|0;I=c[g>>2]|0;c[g>>2]=I+-1;if(!I){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;i=c[M>>2]|0;if((h|0)==0|(i|0)==0)g=-1;else{c[g>>2]=i+-1;c[g+4>>2]=h+1;g=d[h>>0]|0}}else{I=g+4|0;g=c[I>>2]|0;c[I>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g}}switch(u|0){case 18:{vF(b,361293,0);break}case 47:{f=yF(b)|0;if((f|0)>-1){zF(b,e,f);b=293;l=N;return b|0}if((f|0)==-1){b=91;l=N;return b|0}else vF(b,361318,293);break}case 51:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=61){b=61;l=N;return b|0}g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=282;l=N;return b|0}case 63:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;switch(f|0){case 61:{g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=284;l=N;return b|0}case 60:{g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=286;l=N;return b|0}default:{b=60;l=N;return b|0}}}case 81:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;switch(f|0){case 61:{g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=283;l=N;return b|0}case 62:{g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=287;l=N;return b|0}default:{b=62;l=N;return b|0}}}case 99:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=47){b=47;l=N;return b|0}g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=279;l=N;return b|0}case 111:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=61){b=126;l=N;return b|0}g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=285;l=N;return b|0}case 123:{f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=58){b=58;l=N;return b|0}g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=288;l=N;return b|0}case 135:{p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);i=o<<1;j=c[b+52>>2]|0;f=c[p>>2]|0;k=c[j+12>>2]|0;m=(f|0)!=0;g=k+4|0;h=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if((i|0)!=0&(h|0)==0){if(!(c[k+140>>2]|0))Jz(j,4);kA(j,1);f=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if(!f)Jz(j,4);else r=f}else r=h;g=k+12|0;c[g>>2]=(m?0-o|0:0)+i+(c[g>>2]|0);c[p>>2]=r;c[n>>2]=i;g=c[q>>2]|0;f=r}else{g=f;f=c[p>>2]|0}I=w&255;c[q>>2]=g+1;a[f+g>>0]=I;f=c[L>>2]|0;x=c[f>>2]|0;c[f>>2]=x+-1;if(!x){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{x=f+4|0;f=c[x>>2]|0;c[x>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;c:do if((f|0)!=(w|0)){x=b+52|0;v=z+7|0;d:while(1){e:do switch(f|0){case -1:{u=153;break d}case 13:case 10:{u=154;break d}case 92:{p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=158;break d}j=o<<1;i=c[x>>2]|0;g=c[p>>2]|0;k=c[i+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if((j|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=162;break d}kA(i,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if(!f){u=162;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+j+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=j;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=92;f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}r=f}else{t=f+4|0;r=c[t>>2]|0;c[t>>2]=r+1;r=d[r>>0]|0}c[b>>2]=r;f:do switch(r|0){case -1:{f=-1;break e}case 97:{i=7;u=475;break}case 98:{i=8;u=475;break}case 102:{i=12;u=475;break}case 110:{i=10;u=475;break}case 114:{i=13;u=475;break}case 116:{i=9;u=475;break}case 118:{i=11;u=475;break}case 120:{p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=180;break d}i=o<<1;j=c[x>>2]|0;g=c[p>>2]|0;k=c[j+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,i)|0;if((i|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=184;break d}kA(j,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,i)|0;if(!f){u=184;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+i+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=i;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=120;f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}r=f}else{u=f+4|0;r=c[u>>2]|0;c[u>>2]=r+1;r=d[r>>0]|0}c[b>>2]=r;if(!(a[360868+(r+1)>>0]&16)){u=192;break d}s=((r+-48|0)>>>0>9?(r|32)+268435369|0:r+268435408|0)<<4;p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=212;break d}i=o<<1;j=c[x>>2]|0;g=c[p>>2]|0;k=c[j+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,i)|0;if((i|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=216;break d}kA(j,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,i)|0;if(!f){u=216;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+i+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=i;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}r=f}else{u=f+4|0;r=c[u>>2]|0;c[u>>2]=r+1;r=d[r>>0]|0}c[b>>2]=r;if(!(a[360868+(r+1)>>0]&16)){u=224;break d}i=r+-48|0;u=(c[K>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)+-2;i=(i>>>0>9?(r|32)+-87|0:i)+s|0;u=475;break}case 117:{p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=245;break d}j=o<<1;i=c[x>>2]|0;g=c[p>>2]|0;k=c[i+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if((j|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=249;break d}kA(i,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if(!f){u=249;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+j+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=j;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=117;f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}r=f}else{t=f+4|0;r=c[t>>2]|0;c[t>>2]=r+1;r=d[r>>0]|0}c[b>>2]=r;switch(r|0){case -1:{u=272;break d}case 123:break;default:{u=257;break d}}p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=276;break d}j=o<<1;i=c[x>>2]|0;g=c[p>>2]|0;k=c[i+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if((j|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=280;break d}kA(i,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if(!f){u=280;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+j+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=j;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=123;f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}r=f}else{t=f+4|0;r=c[t>>2]|0;c[t>>2]=r+1;r=d[r>>0]|0}c[b>>2]=r;if(!(a[360868+(r+1)>>0]&16)){u=288;break d}q=r+-48|0;s=r;t=4;r=q>>>0>9?(r|32)+-87|0:q;while(1){p=c[K>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646){u=309;break d}j=o<<1;i=c[x>>2]|0;g=c[p>>2]|0;k=c[i+12>>2]|0;m=(g|0)!=0;h=k+4|0;f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if((j|0)!=0&(f|0)==0){if(!(c[k+140>>2]|0)){u=313;break d}kA(i,1);f=Uh[c[k>>2]&63](c[h>>2]|0,g,o,j)|0;if(!f){u=313;break d}}g=k+12|0;c[g>>2]=(m?0-o|0:0)+j+(c[g>>2]|0);c[p>>2]=f;c[n>>2]=j;g=c[q>>2]|0}else{g=f;f=c[p>>2]|0}c[q>>2]=g+1;a[f+g>>0]=s;f=c[L>>2]|0;s=c[f>>2]|0;c[f>>2]=s+-1;if(!s){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}s=f}else{q=f+4|0;s=c[q>>2]|0;c[q>>2]=s+1;s=d[s>>0]|0}c[b>>2]=s;if(!(a[360868+(s+1)>>0]&16))break;f=s+-48|0;f=(f>>>0>9?(s|32)+-87|0:f)+(r<<4)|0;if(f>>>0<1114112){t=t+1|0;r=f}else{u=322;break d}}switch(s|0){case -1:{u=355;break d}case 125:break;default:{u=340;break d}}f=c[L>>2]|0;s=c[f>>2]|0;c[f>>2]=s+-1;if(!s){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{s=f+4|0;f=c[s>>2]|0;c[s>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;i=c[K>>2]|0;s=i+4|0;j=(c[s>>2]|0)-t|0;c[s>>2]=j;if(r>>>0>=128){f=r;g=63;h=1;while(1){k=h+1|0;a[z+(8-h)>>0]=f&63|128;f=f>>>6;g=g>>>1;if(f>>>0<=g>>>0)break;else h=k}a[z+(7-h)>>0]=g<<1^254|f;if((h|0)>-1){g=j;u=365}}else{a[v>>0]=r;g=j;k=1;u=365}g:do if((u|0)==365)while(1){u=0;r=a[z+(8-k)>>0]|0;s=i+4|0;p=i+8|0;q=c[p>>2]|0;if((g+1|0)>>>0>q>>>0){if(q>>>0>2147483646){u=368;break d}m=q<<1;j=c[x>>2]|0;g=c[i>>2]|0;n=c[j+12>>2]|0;o=(g|0)!=0;h=n+4|0;f=Uh[c[n>>2]&63](c[h>>2]|0,g,q,m)|0;if((m|0)!=0&(f|0)==0){if(!(c[n+140>>2]|0)){u=372;break d}kA(j,1);f=Uh[c[n>>2]&63](c[h>>2]|0,g,q,m)|0;if(!f){u=372;break d}}g=n+12|0;c[g>>2]=(o?0-q|0:0)+m+(c[g>>2]|0);c[i>>2]=f;c[p>>2]=m;g=c[s>>2]|0}else f=c[i>>2]|0;c[s>>2]=g+1;a[f+g>>0]=r;if((k|0)<=1)break g;g=c[K>>2]|0;i=g;g=c[g+4>>2]|0;k=k+-1|0;u=365}while(0);break}case 13:case 10:{f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{u=f+4|0;f=c[u>>2]|0;c[u>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;switch(f|0){case 13:case 10:{if((f|0)!=(r|0)){f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{u=f+4|0;f=c[u>>2]|0;c[u>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f}break}default:{}}u=(c[y>>2]|0)+1|0;c[y>>2]=u;if((u|0)==2147483647){u=391;break d}else{f=10;u=481}break}case 39:case 34:case 92:{i=r;u=475;break}case 122:{f=(c[K>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{t=f+4|0;f=c[t>>2]|0;c[t>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if(a[360868+(f+1)>>0]&8)while(1){switch(f|0){case 13:case 10:{g=c[L>>2]|0;t=c[g>>2]|0;c[g>>2]=t+-1;if(!t){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;i=c[M>>2]|0;if((h|0)==0|(i|0)==0)g=-1;else{c[g>>2]=i+-1;c[g+4>>2]=h+1;g=d[h>>0]|0}}else{t=g+4|0;g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;switch(g|0){case 13:case 10:{if((g|0)!=(f|0)){f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{t=f+4|0;f=c[t>>2]|0;c[t>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f}break}default:f=g}t=(c[y>>2]|0)+1|0;c[y>>2]=t;if((t|0)==2147483647){u=414;break d}break}default:{f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{t=f+4|0;f=c[t>>2]|0;c[t>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f}}if(!(a[360868+(f+1)>>0]&8))break f}break}default:{if((r+-48|0)>>>0>9){u=423;break d}else{f=r;t=0;h=0}while(1){g=f+-48|0;if(g>>>0>9){r=f;g=t;f=h;break}s=g+(h*10|0)|0;q=c[K>>2]|0;r=q+4|0;g=c[r>>2]|0;o=q+8|0;p=c[o>>2]|0;if((g+1|0)>>>0>p>>>0){if(p>>>0>2147483646){u=444;break d}j=p<<1;k=c[x>>2]|0;h=c[q>>2]|0;m=c[k+12>>2]|0;n=(h|0)!=0;i=m+4|0;g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[m+140>>2]|0)){u=448;break d}kA(k,1);g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,j)|0;if(!g){u=448;break d}}h=m+12|0;c[h>>2]=(n?0-p|0:0)+j+(c[h>>2]|0);c[q>>2]=g;c[o>>2]=j;h=c[r>>2]|0}else{h=g;g=c[q>>2]|0}c[r>>2]=h+1;a[g+h>>0]=f;f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{u=f+4|0;f=c[u>>2]|0;c[u>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;g=t+1|0;if((g|0)<3){t=g;h=s}else{r=f;f=s;break}}if((f|0)>=256){u=457;break d}u=(c[K>>2]|0)+4|0;c[u>>2]=(c[u>>2]|0)-g;u=481}}while(0);if((u|0)==475){f=c[L>>2]|0;u=c[f>>2]|0;c[f>>2]=u+-1;if(!u){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{u=f+4|0;f=c[u>>2]|0;c[u>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;f=i;u=481}if((u|0)==481){u=0;q=c[K>>2]|0;r=q+4|0;t=c[r>>2]|0;g=t+-1|0;c[r>>2]=g;o=q+8|0;p=c[o>>2]|0;if(t>>>0>p>>>0){if(p>>>0>2147483646){u=484;break d}k=p<<1;j=c[x>>2]|0;h=c[q>>2]|0;m=c[j+12>>2]|0;n=(h|0)!=0;i=m+4|0;g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,k)|0;if((k|0)!=0&(g|0)==0){if(!(c[m+140>>2]|0)){u=488;break d}kA(j,1);g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,k)|0;if(!g){u=488;break d}}h=m+12|0;c[h>>2]=(n?0-p|0:0)+k+(c[h>>2]|0);c[q>>2]=g;c[o>>2]=k;h=c[r>>2]|0}else{h=g;g=c[q>>2]|0}c[r>>2]=h+1;a[g+h>>0]=f}f=c[b>>2]|0;break}default:{q=c[K>>2]|0;r=q+4|0;g=c[r>>2]|0;o=q+8|0;p=c[o>>2]|0;if((g+1|0)>>>0>p>>>0){if(p>>>0>2147483646){u=494;break d}k=p<<1;j=c[x>>2]|0;h=c[q>>2]|0;m=c[j+12>>2]|0;n=(h|0)!=0;i=m+4|0;g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,k)|0;if((k|0)!=0&(g|0)==0){if(!(c[m+140>>2]|0)){u=498;break d}kA(j,1);g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,k)|0;if(!g){u=498;break d}}h=m+12|0;c[h>>2]=(n?0-p|0:0)+k+(c[h>>2]|0);c[q>>2]=g;c[o>>2]=k;h=c[r>>2]|0}else{h=g;g=c[q>>2]|0}c[r>>2]=h+1;a[g+h>>0]=f;f=c[L>>2]|0;t=c[f>>2]|0;c[f>>2]=t+-1;if(!t){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{t=f+4|0;f=c[t>>2]|0;c[t>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f}}while(0);if((f|0)==(w|0))break c}switch(u|0){case 153:{vF(b,361348,289);break}case 154:{vF(b,361348,293);break}case 158:{vF(b,361257,0);break}case 162:{Jz(i,4);break}case 180:{vF(b,361257,0);break}case 184:{Jz(j,4);break}case 192:{if((r|0)==-1)vF(b,361366,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else A=f}else A=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=A;c[n>>2]=m;g=c[q>>2]|0;f=A}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361366,293);break}case 212:{vF(b,361257,0);break}case 216:{Jz(j,4);break}case 224:{if((r|0)==-1)vF(b,361366,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else B=f}else B=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=B;c[n>>2]=m;g=c[q>>2]|0;f=B}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361366,293);break}case 245:{vF(b,361257,0);break}case 249:{Jz(i,4);break}case 257:{p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;g=c[p>>2]|0;j=c[i+12>>2]|0;k=(g|0)!=0;h=j+4|0;f=Uh[c[j>>2]&63](c[h>>2]|0,g,o,m)|0;if((m|0)!=0&(f|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[h>>2]|0,g,o,m)|0;if(!f)Jz(i,4);else C=f}else C=f;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=C;c[n>>2]=m;g=c[q>>2]|0;f=C}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361393,293);break}case 272:{vF(b,361393,293);break}case 276:{vF(b,361257,0);break}case 280:{Jz(i,4);break}case 288:{if((r|0)==-1)vF(b,361366,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else D=f}else D=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=D;c[n>>2]=m;g=c[q>>2]|0;f=D}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361366,293);break}case 309:{vF(b,361257,0);break}case 313:{Jz(i,4);break}case 322:{if((s|0)==-1)vF(b,361405,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else E=f}else E=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=E;c[n>>2]=m;g=c[q>>2]|0;f=E}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=s;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361405,293);break}case 340:{p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else F=f}else F=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=F;c[n>>2]=m;g=c[q>>2]|0;f=F}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=s;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361427,293);break}case 355:{vF(b,361427,293);break}case 368:{vF(b,361257,0);break}case 372:{Jz(j,4);break}case 391:{vF(b,361293,0);break}case 414:{vF(b,361293,0);break}case 423:{if((r|0)==-1)vF(b,361439,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else G=f}else G=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=G;c[n>>2]=m;g=c[q>>2]|0;f=G}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361439,293);break}case 444:{vF(b,361257,0);break}case 448:{Jz(k,4);break}case 457:{if((r|0)==-1)vF(b,361463,293);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);m=o<<1;i=c[x>>2]|0;f=c[p>>2]|0;j=c[i+12>>2]|0;k=(f|0)!=0;g=j+4|0;h=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[j+140>>2]|0))Jz(i,4);kA(i,1);f=Uh[c[j>>2]&63](c[g>>2]|0,f,o,m)|0;if(!f)Jz(i,4);else H=f}else H=h;g=j+12|0;c[g>>2]=(k?0-o|0:0)+m+(c[g>>2]|0);c[p>>2]=H;c[n>>2]=m;g=c[q>>2]|0;f=H}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=r;f=c[L>>2]|0;H=c[f>>2]|0;c[f>>2]=H+-1;if(!H){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{H=f+4|0;f=c[H>>2]|0;c[H>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;vF(b,361463,293);break}case 484:{vF(b,361257,0);break}case 488:{Jz(j,4);break}case 494:{vF(b,361257,0);break}case 498:{Jz(j,4);break}}}while(0);p=c[K>>2]|0;q=p+4|0;g=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((g+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);i=o<<1;j=c[b+52>>2]|0;f=c[p>>2]|0;k=c[j+12>>2]|0;m=(f|0)!=0;g=k+4|0;h=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if((i|0)!=0&(h|0)==0){if(!(c[k+140>>2]|0))Jz(j,4);kA(j,1);f=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if(!f)Jz(j,4);else J=f}else J=h;g=k+12|0;c[g>>2]=(m?0-o|0:0)+i+(c[g>>2]|0);c[p>>2]=J;c[n>>2]=i;g=c[q>>2]|0;f=J}else f=c[p>>2]|0;c[q>>2]=g+1;a[f+g>>0]=I;g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;f=c[K>>2]|0;j=c[b+52>>2]|0;f=QA(j,(c[f>>2]|0)+1|0,(c[f+4>>2]|0)+-2|0)|0;k=j+8|0;h=c[k>>2]|0;c[k>>2]=h+16;c[h>>2]=f;c[h+8>>2]=(a[f+4>>0]|64)&255;h=c[b+64>>2]|0;i=(c[k>>2]|0)+-16|0;g=VA(h,i)|0;if((g|0)==412368)g=UA(j,h,i)|0;h=g+8|0;if(!(c[h>>2]|0)){c[g>>2]=1;c[h>>2]=1;if((c[(c[j+12>>2]|0)+12>>2]|0)>0)jA(j)}else f=c[g+16>>2]|0;c[k>>2]=(c[k>>2]|0)+-16;c[e>>2]=f;b=293;l=N;return b|0}case 527:{q=c[K>>2]|0;r=q+4|0;g=c[r>>2]|0;o=q+8|0;p=c[o>>2]|0;if((g+1|0)>>>0>p>>>0){if(p>>>0>2147483646)vF(b,361257,0);j=p<<1;k=c[b+52>>2]|0;g=c[q>>2]|0;m=c[k+12>>2]|0;n=(g|0)!=0;h=m+4|0;i=Uh[c[m>>2]&63](c[h>>2]|0,g,p,j)|0;if((j|0)!=0&(i|0)==0){if(!(c[m+140>>2]|0))Jz(k,4);kA(k,1);g=Uh[c[m>>2]&63](c[h>>2]|0,g,p,j)|0;if(!g)Jz(k,4);else f=g}else f=i;g=m+12|0;c[g>>2]=(n?0-p|0:0)+j+(c[g>>2]|0);c[q>>2]=f;c[o>>2]=j;g=c[r>>2]|0}else f=c[q>>2]|0;c[r>>2]=g+1;a[f+g>>0]=46;f=c[L>>2]|0;K=c[f>>2]|0;c[f>>2]=K+-1;if(!K){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{K=f+4|0;f=c[K>>2]|0;c[K>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=46){if((f+-48|0)>>>0>9){b=46;l=N;return b|0}b=AF(b,e)|0;l=N;return b|0}f=c[L>>2]|0;e=c[f>>2]|0;c[f>>2]=e+-1;if(!e){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{e=f+4|0;f=c[e>>2]|0;c[e>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if((f|0)!=46){b=280;l=N;return b|0}g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=281;l=N;return b|0}case 556:{b=AF(b,e)|0;l=N;return b|0}case 557:{if(!(a[360868+(w+1)>>0]&1)){g=c[L>>2]|0;L=c[g>>2]|0;c[g>>2]=L+-1;if(!L){h=Th[c[g+8>>2]&63](c[g+16>>2]|0,c[g+12>>2]|0,M)|0;f=c[M>>2]|0;if((h|0)==0|(f|0)==0)f=-1;else{c[g>>2]=f+-1;c[g+4>>2]=h+1;f=d[h>>0]|0}}else{M=g+4|0;f=c[M>>2]|0;c[M>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;b=w;l=N;return b|0}s=b+52|0;f=w;while(1){q=c[K>>2]|0;r=q+4|0;g=c[r>>2]|0;o=q+8|0;p=c[o>>2]|0;if((g+1|0)>>>0>p>>>0){if(p>>>0>2147483646){u=562;break}j=p<<1;k=c[s>>2]|0;h=c[q>>2]|0;m=c[k+12>>2]|0;n=(h|0)!=0;i=m+4|0;g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,j)|0;if((j|0)!=0&(g|0)==0){if(!(c[m+140>>2]|0)){u=566;break}kA(k,1);g=Uh[c[m>>2]&63](c[i>>2]|0,h,p,j)|0;if(!g){u=566;break}}h=m+12|0;c[h>>2]=(n?0-p|0:0)+j+(c[h>>2]|0);c[q>>2]=g;c[o>>2]=j;h=c[r>>2]|0}else{h=g;g=c[q>>2]|0}c[r>>2]=h+1;a[g+h>>0]=f;f=c[L>>2]|0;J=c[f>>2]|0;c[f>>2]=J+-1;if(!J){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,M)|0;h=c[M>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{J=f+4|0;f=c[J>>2]|0;c[J>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;if(!(a[360868+(f+1)>>0]&3)){u=574;break}}if((u|0)==562)vF(b,361257,0);else if((u|0)==566)Jz(k,4);else if((u|0)==574){f=c[K>>2]|0;j=c[s>>2]|0;f=QA(j,c[f>>2]|0,c[f+4>>2]|0)|0;k=j+8|0;h=c[k>>2]|0;c[k>>2]=h+16;c[h>>2]=f;c[h+8>>2]=(a[f+4>>0]|64)&255;h=c[b+64>>2]|0;i=(c[k>>2]|0)+-16|0;g=VA(h,i)|0;if((g|0)==412368)g=UA(j,h,i)|0;h=g+8|0;if(!(c[h>>2]|0)){c[g>>2]=1;c[h>>2]=1;if((c[(c[j+12>>2]|0)+12>>2]|0)>0)jA(j)}else f=c[g+16>>2]|0;c[k>>2]=(c[k>>2]|0)+-16;c[e>>2]=f;if((a[f+4>>0]|0)!=4){b=292;l=N;return b|0}f=a[f+6>>0]|0;if(!(f<<24>>24)){b=292;l=N;return b|0}b=f&255|256;l=N;return b|0}break}case 589:{l=N;return f|0}}return 0}function yF(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w;v=c[b>>2]|0;t=b+60|0;p=c[t>>2]|0;q=p+4|0;f=c[q>>2]|0;n=p+8|0;o=c[n>>2]|0;if((f+1|0)>>>0>o>>>0){if(o>>>0>2147483646)vF(b,361257,0);i=o<<1;j=c[b+52>>2]|0;f=c[p>>2]|0;k=c[j+12>>2]|0;m=(f|0)!=0;g=k+4|0;h=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if((i|0)!=0&(h|0)==0){if(!(c[k+140>>2]|0))Jz(j,4);kA(j,1);f=Uh[c[k>>2]&63](c[g>>2]|0,f,o,i)|0;if(!f)Jz(j,4);else e=f}else e=h;f=k+12|0;c[f>>2]=(m?0-o|0:0)+i+(c[f>>2]|0);c[p>>2]=e;c[n>>2]=i;f=c[q>>2]|0}else e=c[p>>2]|0;c[q>>2]=f+1;a[e+f>>0]=v;s=b+56|0;e=c[s>>2]|0;r=c[e>>2]|0;c[e>>2]=r+-1;if(!r){f=Th[c[e+8>>2]&63](c[e+16>>2]|0,c[e+12>>2]|0,u)|0;g=c[u>>2]|0;if((f|0)==0|(g|0)==0)e=-1;else{c[e>>2]=g+-1;c[e+4>>2]=f+1;e=d[f>>0]|0}}else{r=e+4|0;e=c[r>>2]|0;c[r>>2]=e+1;e=d[e>>0]|0}c[b>>2]=e;if((e|0)!=61){u=e;b=0;v=(u|0)!=(v|0);v=v<<31>>31;v=v^b;l=w;return v|0}r=b+52|0;e=0;while(1){n=c[t>>2]|0;q=n+4|0;f=c[q>>2]|0;o=n+8|0;p=c[o>>2]|0;if((f+1|0)>>>0>p>>>0){if(p>>>0>2147483646){g=20;break}i=p<<1;j=c[r>>2]|0;f=c[n>>2]|0;k=c[j+12>>2]|0;m=(f|0)!=0;h=k+4|0;g=Uh[c[k>>2]&63](c[h>>2]|0,f,p,i)|0;if((i|0)!=0&(g|0)==0){if(!(c[k+140>>2]|0)){g=24;break}kA(j,1);g=Uh[c[k>>2]&63](c[h>>2]|0,f,p,i)|0;if(!g){g=24;break}}f=k+12|0;c[f>>2]=(m?0-p|0:0)+i+(c[f>>2]|0);c[n>>2]=g;c[o>>2]=i;f=c[q>>2]|0}else g=c[n>>2]|0;c[q>>2]=f+1;a[g+f>>0]=61;f=c[s>>2]|0;q=c[f>>2]|0;c[f>>2]=q+-1;if(!q){g=Th[c[f+8>>2]&63](c[f+16>>2]|0,c[f+12>>2]|0,u)|0;h=c[u>>2]|0;if((g|0)==0|(h|0)==0)f=-1;else{c[f>>2]=h+-1;c[f+4>>2]=g+1;f=d[g>>0]|0}}else{q=f+4|0;f=c[q>>2]|0;c[q>>2]=f+1;f=d[f>>0]|0}c[b>>2]=f;e=e+1|0;if((f|0)!=61){g=32;break}}if((g|0)==20)vF(b,361257,0);else if((g|0)==24)Jz(j,4);else if((g|0)==32){v=(f|0)!=(v|0);v=v<<31>>31;v=v^e;l=w;return v|0}return 0}function zF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+16|0;A=E;C=E+8|0;y=b+4|0;z=c[y>>2]|0;t=c[b>>2]|0;D=b+60|0;s=c[D>>2]|0;u=s+4|0;i=c[u>>2]|0;q=s+8|0;r=c[q>>2]|0;if((i+1|0)>>>0>r>>>0){if(r>>>0>2147483646)vF(b,361257,0);m=r<<1;n=c[b+52>>2]|0;i=c[s>>2]|0;o=c[n+12>>2]|0;p=(i|0)!=0;j=o+4|0;k=Uh[c[o>>2]&63](c[j>>2]|0,i,r,m)|0;if((m|0)!=0&(k|0)==0){if(!(c[o+140>>2]|0))Jz(n,4);kA(n,1);i=Uh[c[o>>2]&63](c[j>>2]|0,i,r,m)|0;if(!i)Jz(n,4);else h=i}else h=k;i=o+12|0;c[i>>2]=(p?0-r|0:0)+m+(c[i>>2]|0);c[s>>2]=h;c[q>>2]=m;i=c[u>>2]|0}else h=c[s>>2]|0;c[u>>2]=i+1;a[h+i>>0]=t;x=b+56|0;h=c[x>>2]|0;w=c[h>>2]|0;c[h>>2]=w+-1;if(!w){i=Th[c[h+8>>2]&63](c[h+16>>2]|0,c[h+12>>2]|0,C)|0;j=c[C>>2]|0;if((i|0)==0|(j|0)==0)h=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;h=d[i>>0]|0}}else{w=h+4|0;h=c[w>>2]|0;c[w>>2]=h+1;h=d[h>>0]|0}c[b>>2]=h;switch(h|0){case 13:case 10:{i=c[x>>2]|0;w=c[i>>2]|0;c[i>>2]=w+-1;if(!w){j=Th[c[i+8>>2]&63](c[i+16>>2]|0,c[i+12>>2]|0,C)|0;k=c[C>>2]|0;if((j|0)==0|(k|0)==0)i=-1;else{c[i>>2]=k+-1;c[i+4>>2]=j+1;i=d[j>>0]|0}}else{w=i+4|0;i=c[w>>2]|0;c[w>>2]=i+1;i=d[i>>0]|0}c[b>>2]=i;switch(i|0){case 13:case 10:{if((i|0)!=(h|0)){j=c[x>>2]|0;w=c[j>>2]|0;c[j>>2]=w+-1;if(!w){h=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,C)|0;i=c[C>>2]|0;if((h|0)==0|(i|0)==0)h=-1;else{c[j>>2]=i+-1;c[j+4>>2]=h+1;h=d[h>>0]|0}}else{w=j+4|0;h=c[w>>2]|0;c[w>>2]=h+1;h=d[h>>0]|0}c[b>>2]=h}break}default:h=i}w=(c[y>>2]|0)+1|0;c[y>>2]=w;if((w|0)==2147483647)vF(b,361293,0);else v=h;break}default:v=h}u=(e|0)==0;w=b+52|0;h=v;a:while(1){b:do if(u)while(1){switch(h|0){case -1:{B=41;break a}case 93:{B=42;break b}case 13:case 10:break b;default:{}}h=c[x>>2]|0;v=c[h>>2]|0;c[h>>2]=v+-1;if(!v){i=Th[c[h+8>>2]&63](c[h+16>>2]|0,c[h+12>>2]|0,C)|0;j=c[C>>2]|0;if((i|0)==0|(j|0)==0)h=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;h=d[i>>0]|0}}else{v=h+4|0;h=c[v>>2]|0;c[v>>2]=h+1;h=d[h>>0]|0}c[b>>2]=h}else while(1){switch(h|0){case -1:{B=41;break a}case 93:{B=42;break b}case 13:case 10:break b;default:{}}s=c[D>>2]|0;t=s+4|0;i=c[t>>2]|0;q=s+8|0;r=c[q>>2]|0;if((i+1|0)>>>0>r>>>0){if(r>>>0>2147483646){B=87;break a}n=r<<1;m=c[w>>2]|0;j=c[s>>2]|0;o=c[m+12>>2]|0;p=(j|0)!=0;k=o+4|0;i=Uh[c[o>>2]&63](c[k>>2]|0,j,r,n)|0;if((n|0)!=0&(i|0)==0){if(!(c[o+140>>2]|0)){B=91;break a}kA(m,1);i=Uh[c[o>>2]&63](c[k>>2]|0,j,r,n)|0;if(!i){B=91;break a}}j=o+12|0;c[j>>2]=(p?0-r|0:0)+n+(c[j>>2]|0);c[s>>2]=i;c[q>>2]=n;j=c[t>>2]|0}else{j=i;i=c[s>>2]|0}c[t>>2]=j+1;a[i+j>>0]=h;h=c[x>>2]|0;v=c[h>>2]|0;c[h>>2]=v+-1;if(!v){i=Th[c[h+8>>2]&63](c[h+16>>2]|0,c[h+12>>2]|0,C)|0;j=c[C>>2]|0;if((i|0)==0|(j|0)==0)h=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;h=d[i>>0]|0}}else{v=h+4|0;h=c[v>>2]|0;c[v>>2]=h+1;h=d[h>>0]|0}c[b>>2]=h}while(0);if((B|0)==42){B=0;v=(yF(b)|0)==(f|0);h=c[b>>2]|0;if(v){B=43;break}else continue}r=c[D>>2]|0;s=r+4|0;h=c[s>>2]|0;p=r+8|0;q=c[p>>2]|0;if((h+1|0)>>>0>q>>>0){if(q>>>0>2147483646){B=61;break}m=q<<1;k=c[w>>2]|0;i=c[r>>2]|0;n=c[k+12>>2]|0;o=(i|0)!=0;j=n+4|0;h=Uh[c[n>>2]&63](c[j>>2]|0,i,q,m)|0;if((m|0)!=0&(h|0)==0){if(!(c[n+140>>2]|0)){B=65;break}kA(k,1);h=Uh[c[n>>2]&63](c[j>>2]|0,i,q,m)|0;if(!h){B=65;break}}i=n+12|0;c[i>>2]=(o?0-q|0:0)+m+(c[i>>2]|0);c[r>>2]=h;c[p>>2]=m;i=c[s>>2]|0}else{i=h;h=c[r>>2]|0}c[s>>2]=i+1;a[h+i>>0]=10;h=c[b>>2]|0;i=c[x>>2]|0;v=c[i>>2]|0;c[i>>2]=v+-1;if(!v){j=Th[c[i+8>>2]&63](c[i+16>>2]|0,c[i+12>>2]|0,C)|0;k=c[C>>2]|0;if((j|0)==0|(k|0)==0)i=-1;else{c[i>>2]=k+-1;c[i+4>>2]=j+1;i=d[j>>0]|0}}else{v=i+4|0;i=c[v>>2]|0;c[v>>2]=i+1;i=d[i>>0]|0}c[b>>2]=i;switch(i|0){case 13:case 10:{if((i|0)!=(h|0)){h=c[x>>2]|0;v=c[h>>2]|0;c[h>>2]=v+-1;if(!v){i=Th[c[h+8>>2]&63](c[h+16>>2]|0,c[h+12>>2]|0,C)|0;j=c[C>>2]|0;if((i|0)==0|(j|0)==0)h=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;h=d[i>>0]|0}}else{v=h+4|0;h=c[v>>2]|0;c[v>>2]=h+1;h=d[h>>0]|0}c[b>>2]=h}break}default:h=i}v=(c[y>>2]|0)+1|0;c[y>>2]=v;if((v|0)==2147483647){B=81;break}if(!u)continue;c[(c[D>>2]|0)+4>>2]=0}if((B|0)==41){E=c[w>>2]|0;c[A>>2]=e|0?361511:361518;c[A+4>>2]=z;vF(b,qA(E,361526,A)|0,289)}else if((B|0)==43){s=c[D>>2]|0;t=s+4|0;i=c[t>>2]|0;q=s+8|0;r=c[q>>2]|0;if((i+1|0)>>>0>r>>>0){if(r>>>0>2147483646)vF(b,361257,0);m=r<<1;n=c[w>>2]|0;i=c[s>>2]|0;o=c[n+12>>2]|0;p=(i|0)!=0;j=o+4|0;k=Uh[c[o>>2]&63](c[j>>2]|0,i,r,m)|0;if((m|0)!=0&(k|0)==0){if(!(c[o+140>>2]|0))Jz(n,4);kA(n,1);i=Uh[c[o>>2]&63](c[j>>2]|0,i,r,m)|0;if(!i)Jz(n,4);else g=i}else g=k;i=o+12|0;c[i>>2]=(p?0-r|0:0)+m+(c[i>>2]|0);c[s>>2]=g;c[q>>2]=m;i=c[t>>2]|0}else g=c[s>>2]|0;c[t>>2]=i+1;a[g+i>>0]=h;h=c[x>>2]|0;B=c[h>>2]|0;c[h>>2]=B+-1;if(!B){i=Th[c[h+8>>2]&63](c[h+16>>2]|0,c[h+12>>2]|0,C)|0;g=c[C>>2]|0;if((i|0)==0|(g|0)==0)g=-1;else{c[h>>2]=g+-1;c[h+4>>2]=i+1;g=d[i>>0]|0}}else{C=h+4|0;g=c[C>>2]|0;c[C>>2]=g+1;g=d[g>>0]|0}c[b>>2]=g;if(u){l=E;return}m=c[D>>2]|0;g=f+2|0;k=c[w>>2]|0;g=QA(k,(c[m>>2]|0)+g|0,(c[m+4>>2]|0)-(g<<1)|0)|0;m=k+8|0;i=c[m>>2]|0;c[m>>2]=i+16;c[i>>2]=g;c[i+8>>2]=(a[g+4>>0]|64)&255;i=c[b+64>>2]|0;j=(c[m>>2]|0)+-16|0;h=VA(i,j)|0;if((h|0)==412368)h=UA(k,i,j)|0;i=h+8|0;if(!(c[i>>2]|0)){c[h>>2]=1;c[i>>2]=1;if((c[(c[k+12>>2]|0)+12>>2]|0)>0)jA(k)}else g=c[h+16>>2]|0;c[m>>2]=(c[m>>2]|0)+-16;c[e>>2]=g;l=E;return}else if((B|0)==61)vF(b,361257,0);else if((B|0)==65)Jz(k,4);else if((B|0)==81)vF(b,361293,0);else if((B|0)==87)vF(b,361257,0);else if((B|0)==91)Jz(m,4)}function AF(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+32|0;A=H+16|0;G=H;x=c[b>>2]|0;E=b+60|0;v=c[E>>2]|0;w=v+4|0;m=c[w>>2]|0;t=v+8|0;u=c[t>>2]|0;if((m+1|0)>>>0>u>>>0){if(u>>>0>2147483646)vF(b,361257,0);p=u<<1;q=c[b+52>>2]|0;m=c[v>>2]|0;r=c[q+12>>2]|0;s=(m|0)!=0;n=r+4|0;o=Uh[c[r>>2]&63](c[n>>2]|0,m,u,p)|0;if((p|0)!=0&(o|0)==0){if(!(c[r+140>>2]|0))Jz(q,4);kA(q,1);m=Uh[c[r>>2]&63](c[n>>2]|0,m,u,p)|0;if(!m)Jz(q,4);else j=m}else j=o;m=r+12|0;c[m>>2]=(s?0-u|0:0)+p+(c[m>>2]|0);c[v>>2]=j;c[t>>2]=p;m=c[w>>2]|0}else j=c[v>>2]|0;c[w>>2]=m+1;a[j+m>>0]=x;z=b+56|0;j=c[z>>2]|0;y=c[j>>2]|0;c[j>>2]=y+-1;if(!y){m=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;n=c[A>>2]|0;if((m|0)==0|(n|0)==0)j=-1;else{c[j>>2]=n+-1;c[j+4>>2]=m+1;j=d[m>>0]|0}}else{y=j+4|0;j=c[y>>2]|0;c[y>>2]=j+1;j=d[j>>0]|0}c[b>>2]=j;a:do if((x|0)==48){switch(j|0){case 88:case 120:break;default:{x=361488;break a}}v=c[E>>2]|0;w=v+4|0;m=c[w>>2]|0;t=v+8|0;u=c[t>>2]|0;if((m+1|0)>>>0>u>>>0){if(u>>>0>2147483646)vF(b,361257,0);p=u<<1;q=c[b+52>>2]|0;m=c[v>>2]|0;r=c[q+12>>2]|0;s=(m|0)!=0;n=r+4|0;o=Uh[c[r>>2]&63](c[n>>2]|0,m,u,p)|0;if((p|0)!=0&(o|0)==0){if(!(c[r+140>>2]|0))Jz(q,4);kA(q,1);m=Uh[c[r>>2]&63](c[n>>2]|0,m,u,p)|0;if(!m)Jz(q,4);else k=m}else k=o;m=r+12|0;c[m>>2]=(s?0-u|0:0)+p+(c[m>>2]|0);c[v>>2]=k;c[t>>2]=p;m=c[w>>2]|0}else k=c[v>>2]|0;c[w>>2]=m+1;a[k+m>>0]=j;j=c[z>>2]|0;y=c[j>>2]|0;c[j>>2]=y+-1;if(!y){k=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;m=c[A>>2]|0;if((k|0)==0|(m|0)==0)j=-1;else{c[j>>2]=m+-1;c[j+4>>2]=k+1;j=d[k>>0]|0}}else{y=j+4|0;j=c[y>>2]|0;c[y>>2]=j+1;j=d[j>>0]|0}c[b>>2]=j;x=361491}else x=361488;while(0);y=b+52|0;w=x+1|0;b:while(1){if(!((j|0)!=(a[x>>0]|0)?(j|0)!=(a[w>>0]|0):0))B=35;c:do if((B|0)==35){B=0;u=c[E>>2]|0;v=u+4|0;k=c[v>>2]|0;s=u+8|0;t=c[s>>2]|0;if((k+1|0)>>>0>t>>>0){if(t>>>0>2147483646){B=38;break b}p=t<<1;o=c[y>>2]|0;m=c[u>>2]|0;q=c[o+12>>2]|0;r=(m|0)!=0;n=q+4|0;k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if((p|0)!=0&(k|0)==0){if(!(c[q+140>>2]|0)){B=42;break b}kA(o,1);k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if(!k){B=42;break b}}m=q+12|0;c[m>>2]=(r?0-t|0:0)+p+(c[m>>2]|0);c[u>>2]=k;c[s>>2]=p;m=c[v>>2]|0}else{m=k;k=c[u>>2]|0}c[v>>2]=m+1;a[k+m>>0]=j;j=c[z>>2]|0;v=c[j>>2]|0;c[j>>2]=v+-1;if(!v){k=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;m=c[A>>2]|0;if((k|0)==0|(m|0)==0)j=-1;else{c[j>>2]=m+-1;c[j+4>>2]=k+1;j=d[k>>0]|0}}else{v=j+4|0;j=c[v>>2]|0;c[v>>2]=j+1;j=d[j>>0]|0}c[b>>2]=j;switch(j|0){case 43:case 45:break;default:break c}u=c[E>>2]|0;v=u+4|0;k=c[v>>2]|0;s=u+8|0;t=c[s>>2]|0;if((k+1|0)>>>0>t>>>0){if(t>>>0>2147483646){B=53;break b}p=t<<1;o=c[y>>2]|0;m=c[u>>2]|0;q=c[o+12>>2]|0;r=(m|0)!=0;n=q+4|0;k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if((p|0)!=0&(k|0)==0){if(!(c[q+140>>2]|0)){B=57;break b}kA(o,1);k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if(!k){B=57;break b}}m=q+12|0;c[m>>2]=(r?0-t|0:0)+p+(c[m>>2]|0);c[u>>2]=k;c[s>>2]=p;m=c[v>>2]|0}else{m=k;k=c[u>>2]|0}c[v>>2]=m+1;a[k+m>>0]=j;j=c[z>>2]|0;v=c[j>>2]|0;c[j>>2]=v+-1;if(!v){k=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;m=c[A>>2]|0;if((k|0)==0|(m|0)==0)j=-1;else{c[j>>2]=m+-1;c[j+4>>2]=k+1;j=d[k>>0]|0}}else{v=j+4|0;j=c[v>>2]|0;c[v>>2]=j+1;j=d[j>>0]|0}c[b>>2]=j}while(0);do if(!(a[360868+(j+1)>>0]&16)){t=c[E>>2]|0;u=t+4|0;k=c[u>>2]|0;r=t+8|0;s=c[r>>2]|0;m=(k+1|0)>>>0>s>>>0;if((j|0)!=46){B=96;break b}if(m){if(s>>>0>2147483646){B=84;break b}o=s<<1;n=c[y>>2]|0;k=c[t>>2]|0;p=c[n+12>>2]|0;q=(k|0)!=0;m=p+4|0;j=Uh[c[p>>2]&63](c[m>>2]|0,k,s,o)|0;if((o|0)!=0&(j|0)==0){if(!(c[p+140>>2]|0)){B=88;break b}kA(n,1);j=Uh[c[p>>2]&63](c[m>>2]|0,k,s,o)|0;if(!j){B=88;break b}}k=p+12|0;c[k>>2]=(q?0-s|0:0)+o+(c[k>>2]|0);c[t>>2]=j;c[r>>2]=o;k=c[u>>2]|0}else j=c[t>>2]|0;c[u>>2]=k+1;a[j+k>>0]=46;j=c[z>>2]|0;v=c[j>>2]|0;c[j>>2]=v+-1;if(v|0){v=j+4|0;j=c[v>>2]|0;c[v>>2]=j+1;j=d[j>>0]|0;break}k=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;m=c[A>>2]|0;if((k|0)==0|(m|0)==0)j=-1;else{c[j>>2]=m+-1;c[j+4>>2]=k+1;j=d[k>>0]|0}}else{u=c[E>>2]|0;v=u+4|0;k=c[v>>2]|0;s=u+8|0;t=c[s>>2]|0;if((k+1|0)>>>0>t>>>0){if(t>>>0>2147483646){B=69;break b}p=t<<1;o=c[y>>2]|0;m=c[u>>2]|0;q=c[o+12>>2]|0;r=(m|0)!=0;n=q+4|0;k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if((p|0)!=0&(k|0)==0){if(!(c[q+140>>2]|0)){B=73;break b}kA(o,1);k=Uh[c[q>>2]&63](c[n>>2]|0,m,t,p)|0;if(!k){B=73;break b}}m=q+12|0;c[m>>2]=(r?0-t|0:0)+p+(c[m>>2]|0);c[u>>2]=k;c[s>>2]=p;m=c[v>>2]|0}else{m=k;k=c[u>>2]|0}c[v>>2]=m+1;a[k+m>>0]=j;j=c[z>>2]|0;v=c[j>>2]|0;c[j>>2]=v+-1;if(v|0){v=j+4|0;j=c[v>>2]|0;c[v>>2]=j+1;j=d[j>>0]|0;break}k=Th[c[j+8>>2]&63](c[j+16>>2]|0,c[j+12>>2]|0,A)|0;m=c[A>>2]|0;if((k|0)==0|(m|0)==0)j=-1;else{c[j>>2]=m+-1;c[j+4>>2]=k+1;j=d[k>>0]|0}}while(0);c[b>>2]=j}if((B|0)==38)vF(b,361257,0);else if((B|0)==42)Jz(o,4);else if((B|0)==53)vF(b,361257,0);else if((B|0)==57)Jz(o,4);else if((B|0)==69)vF(b,361257,0);else if((B|0)==73)Jz(o,4);else if((B|0)==84)vF(b,361257,0);else if((B|0)==88)Jz(n,4);else if((B|0)==96){if(m){if(s>>>0>2147483646)vF(b,361257,0);q=s<<1;n=c[y>>2]|0;j=c[t>>2]|0;o=c[n+12>>2]|0;p=(j|0)!=0;k=o+4|0;m=Uh[c[o>>2]&63](c[k>>2]|0,j,s,q)|0;if((q|0)!=0&(m|0)==0){if(!(c[o+140>>2]|0))Jz(n,4);kA(n,1);j=Uh[c[o>>2]&63](c[k>>2]|0,j,s,q)|0;if(!j)Jz(n,4);else i=j}else i=m;j=o+12|0;c[j>>2]=(p?0-s|0:0)+q+(c[j>>2]|0);c[t>>2]=i;c[r>>2]=q;j=c[u>>2]|0}else{j=k;i=c[t>>2]|0}c[u>>2]=j+1;a[i+j>>0]=0;k=b+80|0;j=a[k>>0]|0;if(j<<24>>24!=46?(C=c[E>>2]|0,g=c[C+4>>2]|0,C=c[C>>2]|0,g|0):0)do{g=g+-1|0;i=C+g|0;if((a[i>>0]|0)==46)a[i>>0]=j}while((g|0)!=0);if(!(nA(c[c[E>>2]>>2]|0,G)|0)){i=a[k>>0]|0;a[k>>0]=46;if(i<<24>>24!=46?(D=c[E>>2]|0,f=c[D+4>>2]|0,D=c[D>>2]|0,f|0):0)do{f=f+-1|0;g=D+f|0;if((a[g>>0]|0)==i<<24>>24)a[g>>0]=46}while((f|0)!=0);if(!(nA(c[c[E>>2]>>2]|0,G)|0)){i=a[k>>0]|0;if(i<<24>>24==46)vF(b,361494,290);g=c[E>>2]|0;f=c[g+4>>2]|0;g=c[g>>2]|0;if(!f)vF(b,361494,290);else F=f;do{F=F+-1|0;f=g+F|0;if((a[f>>0]|0)==i<<24>>24)a[f>>0]=46}while((F|0)!=0);vF(b,361494,290)}}if((c[G+8>>2]|0)==19){b=G;G=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=G;e=291;l=H;return e|0}else{h[e>>3]=+h[G>>3];e=290;l=H;return e|0}}return 0}function BF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+32|0;s=t+16|0;q=t;r=f+4|0;i=c[b+16>>2]|0;do if((f|0)<=-4){if((r|0)>=-1000999){f=(c[b+8>>2]|0)+(r<<4)|0;break}if((r|0)==-1001e3){f=(c[b+12>>2]|0)+40|0;break}g=-1001004-f|0;f=c[i>>2]|0;if((c[f+8>>2]|0)==22)f=412368;else{f=c[f>>2]|0;f=(g|0)>(d[f+6>>0]|0)?412368:f+16+(g+-1<<4)|0}}else{f=(c[i>>2]|0)+(r<<4)|0;f=f>>>0<(c[b+8>>2]|0)>>>0?f:412368}while(0);switch(c[f+8>>2]&15){case 7:{m=(c[f>>2]|0)+24|0;break}case 2:{m=c[f>>2]|0;break}default:m=0}n=(c[e>>2]|0)-m|0;o=(n|0)/12|0;i=c[b+12>>2]|0;p=b+8|0;k=c[p>>2]|0;g=i+280+(((361654>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(361654,f+16|0)|0){f=QA(b,361654,13)|0;c[g>>2]=f}c[k>>2]=f;c[k+8>>2]=(a[f+4>>0]|64)&255;k=c[p>>2]|0;c[p>>2]=k+16;bB(b,i+40|0,k,k);k=c[p>>2]|0;f=k+-16|0;do if((c[k+-8>>2]|0)!=19){a:while(1){g=c[f+8>>2]|0;switch(g|0){case 3:{g=19;break a}case 19:{g=22;break a}default:{}}if((g&15|0)!=4){g=29;break}g=nA((c[f>>2]|0)+16|0,q)|0;f=c[f>>2]|0;if((a[f+4>>0]|0)==4)f=d[f+7>>0]|0;else f=c[f+12>>2]|0;if((g|0)==(f+1|0))f=q;else{g=29;break}}if((g|0)==19){u=+h[f>>3];j=+A(+u);if(!(u!=j)?j>=-9223372036854775808.0&j<9223372036854775808.0:0){f=~~j>>>0;g=28}else g=29}else if((g|0)==22){f=c[f>>2]|0;g=28}if((g|0)==28)break;else if((g|0)==29){f=0;break}}else f=c[f>>2]|0;while(0);c[p>>2]=(c[p>>2]|0)+-16;if((o|0)<(f|0)){q=o<<1;s=(q|0)>(f|0);q=s?f:q;s=q*12|0;s=zz(b,s)|0;s6(s|0,m|0,n|0)|0;iz(b,r);b=c[p>>2]|0;b=b+-16|0;c[p>>2]=b;b=s+(q*12|0)|0;c[e>>2]=b;s=s+(o*12|0)|0;l=t;return s|0}c[s>>2]=f;oB(b,361668,s);q=o<<1;s=(q|0)>(f|0);q=s?f:q;s=q*12|0;s=zz(b,s)|0;s6(s|0,m|0,n|0)|0;iz(b,r);b=c[p>>2]|0;b=b+-16|0;c[p>>2]=b;b=s+(q*12|0)|0;c[e>>2]=b;s=s+(o*12|0)|0;l=t;return s|0}function CF(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+8288|0;x=F+72|0;q=F+64|0;s=F+56|0;u=F+48|0;v=F+40|0;z=F+32|0;p=F+24|0;o=F+16|0;D=F;B=F+80|0;E=f+8|0;y=c[E>>2]|0;c[D>>2]=24;t=y+16|0;k=c[t>>2]|0;A=y+8|0;m=c[A>>2]|0;n=m;do if(((c[y+24>>2]|0)-n|0)>384){i=m;j=24;C=5}else{if(((n-(c[y+28>>2]|0)>>4)+5|0)<=999976?(Kz(y,201,D)|0)==0:0){i=c[A>>2]|0;j=c[D>>2]|0;C=5;break}c[o>>2]=361741;oB(y,356224,o)}while(0);if((C|0)==5?(g=k+4|0,h=i+(j<<4)|0,(c[g>>2]|0)>>>0<h>>>0):0)c[g>>2]=h;g=c[f>>2]|0;do switch(a[g+6>>0]|0){case 1:{C=(c[g>>2]|0)+1-(c[f+16>>2]|0)|0;E=c[A>>2]|0;D=E;c[D>>2]=C;c[D+4>>2]=((C|0)<0)<<31>>31;c[E+8>>2]=19;c[A>>2]=E+16;c[f>>2]=g+8;f=1;l=F;return f|0}case 2:{oz(c[E>>2]|0,(c[f+12>>2]|0)+3|0,e[g+4>>1]|0,0)|0;c[f>>2]=(c[f>>2]|0)+8;f=1;l=F;return f|0}case 4:{c[f>>2]=g+8;g=e[g+4>>1]|0;h=g+3|0;if((h|0)>(c[f+12>>2]|0)){c[p>>2]=g;oB(y,361759,p);f=0;l=F;return f|0}else{f=c[A>>2]|0;E=(c[c[t>>2]>>2]|0)+(h<<4)|0;E=E>>>0<f>>>0?E:412368;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];c[A>>2]=(c[A>>2]|0)+16;f=1;l=F;return f|0}}case 5:{h=g+8|0;c[f>>2]=h;i=a[g+7>>0]|0;do if(!(i<<24>>24)){if(!(a[g+14>>0]|0))j=1;else{i=0;do{i=(CF(f)|0)+i|0;h=c[f>>2]|0}while((a[h+6>>0]|0)!=0);j=i+1|0}k=c[E>>2]|0;i=c[g>>2]|0;g=(c[h>>2]|0)-i|0;if((c[(c[k+12>>2]|0)+12>>2]|0)>0)jA(k);h=QA(k,i,g)|0;g=k+8|0;k=c[g>>2]|0;c[k>>2]=h;c[k+8>>2]=(a[h+4>>0]|64)&255;c[g>>2]=(c[g>>2]|0)+16;c[f>>2]=(c[f>>2]|0)+8;g=0-j|0;k=c[A>>2]|0;h=k+-16|0;i=c[t>>2]|0;if((j|0)<0){g=(c[i>>2]|0)+(g<<4)|0;g=g>>>0<k>>>0?g:412368;m=j;i=k;break}if((j|0)>1000999){if((g|0)==-1001e3){g=(c[y+12>>2]|0)+40|0;m=j;i=k;break}g=c[i>>2]|0;if((c[g+8>>2]|0)==22){g=412368;m=j;i=k}else{g=c[g>>2]|0;g=(j+-1001e3|0)>(d[g+6>>0]|0)?412368:g+16+(j+-1001001<<4)|0;m=j;i=k}}else{i=k;C=27}}else{h=c[E>>2]|0;g=c[g>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);g=QA(h,g,(i&255)+-1|0)|0;i=h+8|0;j=c[i>>2]|0;c[j>>2]=g;c[j+8>>2]=(a[g+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+16;i=c[A>>2]|0;j=1;h=i+-16|0;g=-1;C=27}while(0);if((C|0)==27){g=i+(g<<4)|0;m=j}i=i+-32|0;if(g>>>0<i>>>0){j=g;do{c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[i>>2]=c[D>>2];c[i+4>>2]=c[D+4>>2];c[i+8>>2]=c[D+8>>2];c[i+12>>2]=c[D+12>>2];j=j+16|0;i=i+-16|0}while(j>>>0<i>>>0)}if(g>>>0<h>>>0)do{c[D>>2]=c[g>>2];c[D+4>>2]=c[g+4>>2];c[D+8>>2]=c[g+8>>2];c[D+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[D>>2];c[h+4>>2]=c[D+4>>2];c[h+8>>2]=c[D+8>>2];c[h+12>>2]=c[D+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);f=m;l=F;return f|0}case 13:{c[f>>2]=g+8;f=b[g+4>>1]|0;g=f&65535;h=c[A>>2]|0;if(!(f<<16>>16))g=h+(g<<4)|0;else{g=(c[c[t>>2]>>2]|0)+(g<<4)|0;g=g>>>0<h>>>0?g:412368};c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[A>>2]=(c[A>>2]|0)+16;f=1;l=F;return f|0}case 9:{g=B+12|0;c[g>>2]=y;j=B+16|0;c[B>>2]=j;i=B+8|0;c[i>>2]=0;c[B+4>>2]=8192;DF(B,f);g=c[g>>2]|0;h=c[B>>2]|0;i=c[i>>2]|0;if((c[(c[g+12>>2]|0)+12>>2]|0)>0)jA(g);f=QA(g,h,i)|0;i=g+8|0;g=c[i>>2]|0;c[g>>2]=f;c[g+8>>2]=(a[f+4>>0]|64)&255;g=c[i>>2]|0;c[i>>2]=g+16;if((c[B>>2]|0)!=(j|0)){h=g;g=g+-16|0;do{c[D>>2]=c[g>>2];c[D+4>>2]=c[g+4>>2];c[D+8>>2]=c[g+8>>2];c[D+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[D>>2];c[h+4>>2]=c[D+4>>2];c[h+8>>2]=c[D+8>>2];c[h+12>>2]=c[D+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);c[i>>2]=(c[i>>2]|0)+-16}f=1;l=F;return f|0}case 11:{s=B+12|0;c[s>>2]=y;t=B+16|0;c[B>>2]=t;r=B+8|0;c[r>>2]=0;q=B+4|0;c[q>>2]=8192;o=c[g>>2]|0;h=a[g+7>>0]|0;if(!(h<<24>>24)){n=g+8|0;c[f>>2]=n;m=(a[g+14>>0]|0)==0;n=c[n>>2]|0;k=n-o|0;if(k>>>0>8192){j=k>>>0>16384?k:16384;g=zz(y,j)|0;s6(g|0,c[B>>2]|0,c[r>>2]|0)|0;if((c[B>>2]|0)!=(t|0)){i=c[A>>2]|0;h=i+-16|0;i=i+-32|0;do{c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[h>>2]=c[D>>2];c[h+4>>2]=c[D+4>>2];c[h+8>>2]=c[D+8>>2];c[h+12>>2]=c[D+12>>2];i=i+16|0;h=h+-16|0}while(i>>>0<h>>>0);c[A>>2]=(c[A>>2]|0)+-16}c[B>>2]=g;c[q>>2]=j;h=c[r>>2]|0}else{g=t;h=0}s6(g+h|0,o|0,k|0)|0;i=(c[r>>2]|0)+k|0;c[r>>2]=i;if(!m)do{E=(EF(B,f,361798)|0)==0;g=c[f>>2]|0;if(E)o=n;else o=(c[g+-8>>2]|0)+((d[g+-1>>0]|0)+-1)|0;p=(a[g+6>>0]|0)==0;n=c[g>>2]|0;m=n-o|0;i=c[s>>2]|0;h=c[q>>2]|0;g=c[r>>2]|0;if((h-g|0)>>>0<m>>>0){k=h<<1;k=(k-g|0)>>>0<m>>>0?g+m|0:k;if(k>>>0<g>>>0|(k-g|0)>>>0<m>>>0)oB(i,356281,z);h=zz(i,k)|0;s6(h|0,c[B>>2]|0,c[r>>2]|0)|0;if((c[B>>2]|0)!=(t|0)){j=i+8|0;i=c[j>>2]|0;g=i+-16|0;i=i+-32|0;do{c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[g>>2]=c[D>>2];c[g+4>>2]=c[D+4>>2];c[g+8>>2]=c[D+8>>2];c[g+12>>2]=c[D+12>>2];i=i+16|0;g=g+-16|0}while(i>>>0<g>>>0);c[j>>2]=(c[j>>2]|0)+-16}c[B>>2]=h;c[q>>2]=k;g=c[r>>2]|0}else h=c[B>>2]|0;s6(h+g|0,o|0,m|0)|0;i=(c[r>>2]|0)+m|0;c[r>>2]=i}while(!p)}else{k=(h&255)+-1|0;if(k>>>0>8192){j=k>>>0>16384?k:16384;g=zz(y,j)|0;s6(g|0,c[B>>2]|0,c[r>>2]|0)|0;if((c[B>>2]|0)!=(t|0)){i=c[A>>2]|0;h=i+-16|0;i=i+-32|0;do{c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[h>>2]=c[D>>2];c[h+4>>2]=c[D+4>>2];c[h+8>>2]=c[D+8>>2];c[h+12>>2]=c[D+12>>2];i=i+16|0;h=h+-16|0}while(i>>>0<h>>>0);c[A>>2]=(c[A>>2]|0)+-16}c[B>>2]=g;c[q>>2]=j;h=c[r>>2]|0}else{g=t;h=0}s6(g+h|0,o|0,k|0)|0;i=(c[r>>2]|0)+k|0;c[r>>2]=i}c[f>>2]=(c[f>>2]|0)+8;g=c[s>>2]|0;h=c[B>>2]|0;if((c[(c[g+12>>2]|0)+12>>2]|0)>0)jA(g);f=QA(g,h,i)|0;i=g+8|0;g=c[i>>2]|0;c[g>>2]=f;c[g+8>>2]=(a[f+4>>0]|64)&255;g=c[i>>2]|0;c[i>>2]=g+16;if((c[B>>2]|0)!=(t|0)){h=g;g=g+-16|0;do{c[D>>2]=c[g>>2];c[D+4>>2]=c[g+4>>2];c[D+8>>2]=c[g+8>>2];c[D+12>>2]=c[g+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[h>>2]=c[D>>2];c[h+4>>2]=c[D+4>>2];c[h+8>>2]=c[D+8>>2];c[h+12>>2]=c[D+12>>2];g=g+16|0;h=h+-16|0}while(g>>>0<h>>>0);c[i>>2]=(c[i>>2]|0)+-16}f=1;l=F;return f|0}case 14:{if(b[g+4>>1]|0){if(!(a[g+7>>0]|0)){i=0;while(1){h=g+8|0;if(!(a[g+14>>0]|0))if(!i){g=h;break}else{g=h;i=i+-1|0;continue}else{E=((a[g+15>>0]|0)==0&1)+i|0;g=h;i=E;continue}}}c[f>>2]=g+8;f=0;l=F;return f|0}h=g+8|0;c[f>>2]=h;i=a[g+7>>0]|0;if(i<<24>>24){h=c[E>>2]|0;g=c[g>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);D=QA(h,g,(i&255)+-1|0)|0;f=h+8|0;E=c[f>>2]|0;c[E>>2]=D;c[E+8>>2]=(a[D+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+16;f=1;l=F;return f|0}if(a[g+14>>0]|0){i=0;do{i=(CF(f)|0)+i|0;h=c[f>>2]|0}while((a[h+6>>0]|0)!=0);if(!i){j=h;C=91}else g=i}else{j=h;C=91}if((C|0)==91){i=c[E>>2]|0;h=c[g>>2]|0;g=(c[j>>2]|0)-h|0;if((c[(c[i+12>>2]|0)+12>>2]|0)>0)jA(i);E=QA(i,h,g)|0;h=i+8|0;g=c[h>>2]|0;c[g>>2]=E;c[g+8>>2]=(a[E+4>>0]|64)&255;c[h>>2]=(c[h>>2]|0)+16;h=c[f>>2]|0;g=1}c[f>>2]=h+8;f=g;l=F;return f|0}case 3:{n=f+12|0;oz(c[E>>2]|0,(c[n>>2]|0)+3|0,e[g+4>>1]|0,0)|0;q=c[E>>2]|0;o=f+4|0;h=c[o>>2]|0;p=q+8|0;a:do if(h>>>0<g>>>0){i=g;while(1){k=i+-8|0;j=a[i+-2>>0]|0;if(j<<24>>24){if(a[i+-1>>0]|0)C=108}else{m=0;while(1){i=k;while(1){k=i+-8|0;j=a[i+-2>>0]|0;if(!(j<<24>>24)){C=104;break}if(!(a[i+-1>>0]|0)){C=106;break}else i=k}if((C|0)==104){m=m+1|0;continue}else if((C|0)==106)if(!m){C=108;break}else{m=m+-1|0;continue}}}if((C|0)==108){C=0;if(j<<24>>24==14){oz(c[E>>2]|0,(c[n>>2]|0)+3|0,e[i+-4>>1]|0,0)|0;h=c[p>>2]|0;i=h+-32|0;j=h+-16|0;if((i|0)!=412368&(j|0)!=412368){D=(fB(q,i,j)|0)==0;h=c[p>>2]|0;if(!D)break}c[p>>2]=h+-16;h=c[o>>2]|0}}if(k>>>0>h>>>0)i=k;else{C=114;break a}}c[p>>2]=h+-32}else C=114;while(0);if((C|0)==114){h=c[p>>2]|0;switch(c[h+-8>>2]&15){case 4:{h=h+-16|0;C=118;break}case 3:{if((c[(c[q+12>>2]|0)+12>>2]|0)>0){jA(q);h=c[p>>2]|0}h=h+-16|0;oA(q,h);C=118;break}default:h=0}if((C|0)==118)h=(c[h>>2]|0)+16|0;c[v>>2]=h;oB(q,361810,v);k=0}h=k+8|0;c[f>>2]=h;j=a[k+7>>0]|0;if(!(j<<24>>24)){if(a[k+14>>0]|0){h=0;do{h=(CF(f)|0)+h|0;i=c[f>>2]|0}while((a[i+6>>0]|0)!=0);if(!h){h=i;C=127}}else C=127;if((C|0)==127){j=c[E>>2]|0;i=c[k>>2]|0;h=(c[h>>2]|0)-i|0;if((c[(c[j+12>>2]|0)+12>>2]|0)>0)jA(j);E=QA(j,i,h)|0;i=j+8|0;h=c[i>>2]|0;c[h>>2]=E;c[h+8>>2]=(a[E+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+16;i=c[f>>2]|0;h=1}c[f>>2]=i+8}else{i=c[E>>2]|0;h=c[k>>2]|0;if((c[(c[i+12>>2]|0)+12>>2]|0)>0)jA(i);D=QA(i,h,(j&255)+-1|0)|0;h=i+8|0;E=c[h>>2]|0;c[E>>2]=D;c[E+8>>2]=(a[D+4>>0]|64)&255;c[h>>2]=(c[h>>2]|0)+16;h=1}c[f>>2]=g+8;f=h;l=F;return f|0}case 6:{n=c[E>>2]|0;if((c[(c[n+12>>2]|0)+12>>2]|0)>0)jA(n);C=WA(n)|0;o=n+8|0;D=c[o>>2]|0;c[D>>2]=C;c[D+8>>2]=69;c[o>>2]=(c[o>>2]|0)+16;D=c[f>>2]|0;c[f>>2]=D+8;if(a[D+7>>0]|0){f=1;l=F;return f|0}p=f+12|0;q=0;b:while(1){c:while(1){g=c[f>>2]|0;switch(a[g+6>>0]|0){case 0:break b;case 14:break;default:break c}g=b[g+4>>1]|0;if(!(g<<16>>16))break;oz(c[E>>2]|0,(c[p>>2]|0)+3|0,g&65535,0)|0;j=c[f>>2]|0;g=j+8|0;c[f>>2]=g;i=a[j+7>>0]|0;do if(!(i<<24>>24)){if(a[j+14>>0]|0){i=0;do{i=(CF(f)|0)+i|0;g=c[f>>2]|0}while((a[g+6>>0]|0)!=0);if(i){c[f>>2]=g+8;if((i|0)<=1)break;g=c[E>>2]|0;j=0-i|0;if((j|0)<=-1){D=g+8|0;c[D>>2]=(c[D>>2]|0)+(1-i<<4);break}h=c[c[g+16>>2]>>2]|0;k=g+8|0;m=c[k>>2]|0;i=h+(1-i<<4)|0;if(m>>>0<i>>>0){g=(h+(j<<4)+8+4+(3-m)|0)>>>4;h=m;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<i>>>0);c[k>>2]=m+(g+1<<4)}c[k>>2]=i;break}}i=c[E>>2]|0;h=c[j>>2]|0;g=(c[g>>2]|0)-h|0;if((c[(c[i+12>>2]|0)+12>>2]|0)>0)jA(i);B=QA(i,h,g)|0;D=i+8|0;C=c[D>>2]|0;c[C>>2]=B;c[C+8>>2]=(a[B+4>>0]|64)&255;c[D>>2]=(c[D>>2]|0)+16;c[f>>2]=(c[f>>2]|0)+8}else{h=c[E>>2]|0;g=c[j>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);B=QA(h,g,(i&255)+-1|0)|0;D=h+8|0;C=c[D>>2]|0;c[C>>2]=B;c[C+8>>2]=(a[B+4>>0]|64)&255;c[D>>2]=(c[D>>2]|0)+16}while(0);D=c[o>>2]|0;cB(n,D+-48|0,D+-32|0,D+-16|0);c[o>>2]=(c[o>>2]|0)+-32}g=CF(f)|0;if((g|0)>0){h=g;while(1){D=h+q|0;sz(n,~h,D,((D|0)<0)<<31>>31);if((h|0)>1)h=h+-1|0;else break}}q=g+q|0}c[f>>2]=g+8;f=1;l=F;return f|0}case 7:{j=c[E>>2]|0;m=(c[j+8>>2]|0)-((c[c[j+16>>2]>>2]|0)+16)>>4;oz(j,(c[f+12>>2]|0)+3|0,e[g+4>>1]|0,0)|0;j=c[f>>2]|0;g=j+8|0;c[f>>2]=g;i=a[j+7>>0]|0;if(!(i<<24>>24)){if(a[j+14>>0]|0){g=0;do{g=(CF(f)|0)+g|0;h=c[f>>2]|0}while((a[h+6>>0]|0)!=0);if(!g){g=h;C=169}}else C=169;if((C|0)==169){i=c[E>>2]|0;h=c[j>>2]|0;g=(c[g>>2]|0)-h|0;if((c[(c[i+12>>2]|0)+12>>2]|0)>0)jA(i);D=QA(i,h,g)|0;h=i+8|0;g=c[h>>2]|0;c[g>>2]=D;c[g+8>>2]=(a[D+4>>0]|64)&255;c[h>>2]=(c[h>>2]|0)+16;h=c[f>>2]|0;g=1}c[f>>2]=h+8}else{h=c[E>>2]|0;g=c[j>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);D=QA(h,g,(i&255)+-1|0)|0;g=h+8|0;f=c[g>>2]|0;c[f>>2]=D;c[f+8>>2]=(a[D+4>>0]|64)&255;c[g>>2]=(c[g>>2]|0)+16;g=1}j=c[E>>2]|0;k=j+8|0;h=(c[k>>2]|0)+(~g<<4)|0;i=j+106|0;g=(b[i>>1]|0)+1<<16>>16;b[i>>1]=g;if((g&65535)>199){if(g<<16>>16==200)Fz(j,353895,u);if((g&65535)>224)Jz(j,6)}g=j+104|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(!(Nz(j,h,-1)|0))jB(j);b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[i>>1]=(b[i>>1]|0)+-1<<16>>16;h=(c[j+16>>2]|0)+4|0;g=c[k>>2]|0;if((c[h>>2]|0)>>>0<g>>>0)c[h>>2]=g;f=c[E>>2]|0;f=((c[f+8>>2]|0)-((c[c[f+16>>2]>>2]|0)+16)>>4)-m|0;l=F;return f|0}case 10:{D=b[g+4>>1]|0;k=D&65535;if(!(D<<16>>16)){if(!(a[g+7>>0]|0)){i=0;while(1){h=g+8|0;if(!(a[g+14>>0]|0))if(!i){g=h;break}else{g=h;i=i+-1|0;continue}else{E=((a[g+15>>0]|0)==0&1)+i|0;g=h;i=E;continue}}}c[f>>2]=g+8;f=0;l=F;return f|0}h=g+8|0;c[f>>2]=h;i=a[g+7>>0]|0;if(!(i<<24>>24)){if(a[g+14>>0]|0){i=0;do{i=(CF(f)|0)+i|0;h=c[f>>2]|0}while((a[h+6>>0]|0)!=0);if(!i)C=196;else g=i}else C=196;if((C|0)==196){j=c[E>>2]|0;i=c[g>>2]|0;g=(c[h>>2]|0)-i|0;if((c[(c[j+12>>2]|0)+12>>2]|0)>0)jA(j);D=QA(j,i,g)|0;h=j+8|0;g=c[h>>2]|0;c[g>>2]=D;c[g+8>>2]=(a[D+4>>0]|64)&255;c[h>>2]=(c[h>>2]|0)+16;h=c[f>>2]|0;g=1}c[f>>2]=h+8;n=g}else{h=c[E>>2]|0;g=c[g>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);D=QA(h,g,(i&255)+-1|0)|0;n=h+8|0;f=c[n>>2]|0;c[f>>2]=D;c[f+8>>2]=(a[D+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+16;n=1}j=c[E>>2]|0;if((n|0)<(k|0)){c[s>>2]=k;oB(j,361840,s);f=0;l=F;return f|0}i=n-k|0;g=~i;k=j+8|0;m=c[k>>2]|0;h=c[j+16>>2]|0;do if((i|0)>=-1){if((i|0)<=1000998){g=m+(g<<4)|0;break}if((i|0)==1000999){g=(c[j+12>>2]|0)+40|0;break}g=c[h>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(i+-1000999|0)>(d[g+6>>0]|0)?412368:g+16+(i+-1001e3<<4)|0}}else{g=(c[h>>2]|0)+(g<<4)|0;g=g>>>0<m>>>0?g:412368}while(0);c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[k>>2]=(c[k>>2]|0)+16;iz(c[E>>2]|0,~n);g=c[E>>2]|0;j=g+8|0;k=(c[j>>2]|0)+-16|0;c[j>>2]=k;h=0-n|0;if((h|0)<=-1){c[j>>2]=k+(1-n<<4);f=1;l=F;return f|0}g=c[c[g+16>>2]>>2]|0;i=g+(1-n<<4)|0;if(k>>>0<i>>>0){g=(g+(h<<4)+8+4+(3-k)|0)>>>4;h=k;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<i>>>0);c[j>>2]=k+(g+1<<4)}c[j>>2]=i;f=1;l=F;return f|0}case 8:{n=b[g+4>>1]|0;o=n&65535;h=g+8|0;c[f>>2]=h;i=a[g+7>>0]|0;do if(!(i<<24>>24)){if(a[g+14>>0]|0){i=0;do{i=(CF(f)|0)+i|0;h=c[f>>2]|0}while((a[h+6>>0]|0)!=0);if(i){c[f>>2]=h+8;if((i|0)<=1)break;g=c[E>>2]|0;j=0-i|0;if((j|0)<=-1){D=g+8|0;c[D>>2]=(c[D>>2]|0)+(1-i<<4);break}h=c[c[g+16>>2]>>2]|0;k=g+8|0;m=c[k>>2]|0;i=h+(1-i<<4)|0;if(m>>>0<i>>>0){g=(h+(j<<4)+8+4+(3-m)|0)>>>4;h=m;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<i>>>0);c[k>>2]=m+(g+1<<4)}c[k>>2]=i;break}}j=c[E>>2]|0;i=c[g>>2]|0;g=(c[h>>2]|0)-i|0;if((c[(c[j+12>>2]|0)+12>>2]|0)>0)jA(j);B=QA(j,i,g)|0;D=j+8|0;C=c[D>>2]|0;c[C>>2]=B;c[C+8>>2]=(a[B+4>>0]|64)&255;c[D>>2]=(c[D>>2]|0)+16;c[f>>2]=(c[f>>2]|0)+8}else{h=c[E>>2]|0;g=c[g>>2]|0;if((c[(c[h+12>>2]|0)+12>>2]|0)>0)jA(h);B=QA(h,g,(i&255)+-1|0)|0;D=h+8|0;C=c[D>>2]|0;c[C>>2]=B;c[C+8>>2]=(a[B+4>>0]|64)&255;c[D>>2]=(c[D>>2]|0)+16}while(0);j=c[E>>2]|0;h=c[f+12>>2]|0;i=h+1|0;g=f+20|0;if((c[g>>2]|0)!=(o|0)){oz(j,h+3|0,n&65535,0)|0;iz(c[E>>2]|0,i);f=(c[E>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)+-16;c[g>>2]=o}g=c[j+16>>2]|0;do if((h|0)<=-1){if((i|0)>=-1000999){g=(c[j+8>>2]|0)+(i<<4)|0;break}if((i|0)==-1001e3){g=(c[j+12>>2]|0)+40|0;break}h=-1001001-h|0;g=c[g>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[g>>2]|0)+(i<<4)|0;g=g>>>0<(c[j+8>>2]|0)>>>0?g:412368}while(0);h=(c[j+8>>2]|0)+-16|0;bB(j,g,h,h);g=(c[E>>2]|0)+8|0;h=c[g>>2]|0;i=h+-16|0;if((i|0)==412368){f=1;l=F;return f|0}if(c[h+-8>>2]&15|0){f=1;l=F;return f|0}c[g>>2]=i;f=0;l=F;return f|0}case 12:{u=c[E>>2]|0;m=b[g+4>>1]|0;t=m&65535;c[f>>2]=g+8;if(((a[g+7>>0]|0)==0?a[g+14>>0]|0:0)?(r=CF(f)|0,r|0):0){do if((r|0)>1){g=0-r|0;if((g|0)<=-1){C=u+8|0;c[C>>2]=(c[C>>2]|0)+(1-r<<4);break}h=c[c[u+16>>2]>>2]|0;j=u+8|0;k=c[j>>2]|0;i=h+(1-r<<4)|0;if(k>>>0<i>>>0){g=(h+(g<<4)+8+4+(3-k)|0)>>>4;h=k;do{c[h+8>>2]=0;h=h+16|0}while(h>>>0<i>>>0);c[j>>2]=k+(g+1<<4)}c[j>>2]=i}while(0);g=c[f>>2]|0;d:do if(a[g+6>>0]|0){r=f+12|0;s=f+20|0;k=m&65535;m=u+8|0;n=u+16|0;o=u+106|0;p=u+104|0;q=u+12|0;while(1){g=c[r>>2]|0;h=g+1|0;if((c[s>>2]|0)!=(t|0)){oz(c[E>>2]|0,g+3|0,k,0)|0;iz(c[E>>2]|0,h);C=(c[E>>2]|0)+8|0;c[C>>2]=(c[C>>2]|0)+-16;c[s>>2]=t}j=c[m>>2]|0;i=c[n>>2]|0;do if((g|0)<=-1){if((h|0)>=-1000999){g=j+(h<<4)|0;break}if((h|0)==-1001e3){g=(c[q>>2]|0)+40|0;break}h=-1001001-g|0;g=c[i>>2]|0;if((c[g+8>>2]|0)==22)g=412368;else{g=c[g>>2]|0;g=(h|0)>(d[g+6>>0]|0)?412368:g+16+(h+-1<<4)|0}}else{g=(c[i>>2]|0)+(h<<4)|0;g=g>>>0<j>>>0?g:412368}while(0);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];h=c[m>>2]|0;c[m>>2]=h+16;g=h;h=h+-16|0;do{c[D>>2]=c[h>>2];c[D+4>>2]=c[h+4>>2];c[D+8>>2]=c[h+8>>2];c[D+12>>2]=c[h+12>>2];c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[g>>2]=c[D>>2];c[g+4>>2]=c[D+4>>2];c[g+8>>2]=c[D+8>>2];c[g+12>>2]=c[D+12>>2];h=h+16|0;g=g+-16|0}while(h>>>0<g>>>0);g=CF(f)|0;g=(c[m>>2]|0)+(-2-g<<4)|0;h=(b[o>>1]|0)+1<<16>>16;b[o>>1]=h;if((h&65535)>199){if(h<<16>>16==200){C=276;break}if((h&65535)>224){C=278;break}}b[p>>1]=(b[p>>1]|0)+1<<16>>16;if(!(Nz(u,g,1)|0))jB(u);b[p>>1]=(b[p>>1]|0)+-1<<16>>16;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;g=c[f>>2]|0;if(!(a[g+6>>0]|0)){w=g;break d}}if((C|0)==276)Fz(u,353895,x);else if((C|0)==278)Jz(u,6)}else w=g;while(0);c[f>>2]=w+8;f=1;l=F;return f|0}oB(u,361856,q);f=0;l=F;return f|0}default:{f=0;l=F;return f|0}}while(0);return 0}function DF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;t=u+8|0;s=u;q=u+16|0;r=u+12|0;p=e+8|0;f=c[p>>2]|0;g=b[(c[e>>2]|0)+4>>1]|0;h=g&65535;i=c[e+12>>2]|0;j=i+1|0;k=e+20|0;if((c[k>>2]|0)!=(h|0)){oz(f,i+3|0,g&65535,0)|0;iz(c[p>>2]|0,j);o=(c[p>>2]|0)+8|0;c[o>>2]=(c[o>>2]|0)+-16;c[k>>2]=h}k=kz(f,j,r)|0;m=FF(e,q,0)|0;if(!(c[r>>2]|0)){l=u;return}n=d+8|0;o=d+4|0;f=0;do{i=k+f|0;g=a[i>>0]|0;do if(g<<24>>24==37){f=f+1|0;j=k+f|0;g=a[j>>0]|0;i=g<<24>>24;if((g+-48&255)>9){h=c[n>>2]|0;if(h>>>0>=(c[o>>2]|0)>>>0){uB(d,1)|0;h=c[n>>2]|0;g=a[j>>0]|0}c[n>>2]=h+1;a[(c[d>>2]|0)+h>>0]=g;break}h=i+-48|0;if((i+-47|0)>(m|0)){j=c[p>>2]|0;c[s>>2]=h;oB(j,361914,s);break}if(c[q+(h*12|0)>>2]|0){i=c[q+(h*12|0)+4>>2]|0;j=(c[q+(h*12|0)+8>>2]|0)-i|0;s6(uB(d,j)|0,i|0,j|0)|0;c[n>>2]=(c[n>>2]|0)+j;break}g=c[e>>2]|0;c[e>>2]=c[q+(h*12|0)+4>>2];if(!(EF(d,e,361941)|0)){j=c[p>>2]|0;c[t>>2]=h;oB(j,361949,t)}c[e>>2]=g}else{h=c[n>>2]|0;if(h>>>0>=(c[o>>2]|0)>>>0){uB(d,1)|0;h=c[n>>2]|0;g=a[i>>0]|0}c[n>>2]=h+1;a[(c[d>>2]|0)+h>>0]=g}while(0);f=f+1|0}while(f>>>0<(c[r>>2]|0)>>>0);l=u;return}function EF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;i=c[e>>2]|0;switch(a[i+6>>0]|0){case 9:{DF(b,e);b=1;l=o;return b|0}case 11:{h=c[i>>2]|0;g=a[i+7>>0]|0;if(!(g<<24>>24)){g=i+8|0;c[e>>2]=g;f=(a[i+14>>0]|0)==0;g=c[g>>2]|0;n=g-h|0;s6(uB(b,n)|0,h|0,n|0)|0;j=b+8|0;c[j>>2]=(c[j>>2]|0)+n;if(!f)do{f=(EF(b,e,361798)|0)==0;h=c[e>>2]|0;if(f)i=g;else i=(c[h+-8>>2]|0)+((d[h+-1>>0]|0)+-1)|0;f=(a[h+6>>0]|0)==0;g=c[h>>2]|0;n=g-i|0;s6(uB(b,n)|0,i|0,n|0)|0;c[j>>2]=(c[j>>2]|0)+n}while(!f)}else{f=(g&255)+-1|0;s6(uB(b,f)|0,h|0,f|0)|0;b=b+8|0;c[b>>2]=(c[b>>2]|0)+f}c[e>>2]=(c[e>>2]|0)+8;b=1;l=o;return b|0}default:{m=c[e+8>>2]|0;k=CF(e)|0;if((k|0)<=0){b=k;l=o;return b|0}do if((k|0)==1)g=c[m+8>>2]|0;else{h=0-k|0;if((h|0)<=-1){e=m+8|0;g=(c[e>>2]|0)+(1-k<<4)|0;c[e>>2]=g;break}i=c[c[m+16>>2]>>2]|0;j=m+8|0;e=c[j>>2]|0;g=i+(1-k<<4)|0;if(e>>>0<g>>>0){h=(i+(h<<4)+8+4+(3-e)|0)>>>4;i=e;do{c[i+8>>2]=0;i=i+16|0}while(i>>>0<g>>>0);c[j>>2]=e+(h+1<<4)}c[j>>2]=g}while(0);h=c[g+-8>>2]&15;if((h+-3|0)>>>0>=2){e=c[7100+(((g+-16|0)==412368?0:h+1|0)<<2)>>2]|0;c[n>>2]=f;c[n+4>>2]=e;oB(m,361890,n)}vB(b);b=k;l=o;return b|0}}return 0}function FF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=e+1|0;c[d+(e*12|0)>>2]=1;i=c[b>>2]|0;c[d+(e*12|0)+4>>2]=c[i>>2];f=i+8|0;c[b>>2]=f;if(a[i+7>>0]|0){b=g;i=f;h=i+-8|0;h=c[h>>2]|0;i=i+-1|0;i=a[i>>0]|0;i=i&255;i=i+-1|0;i=h+i|0;e=d+(e*12|0)+8|0;c[e>>2]=i;return b|0}h=a[f+6>>0]|0;a:do if(h<<24>>24){i=f;while(1){if((g|0)>9)break;if(h<<24>>24==5){g=FF(b,d,g)|0;f=c[b>>2]|0}else{c[d+(g*12|0)>>2]=0;c[d+(g*12|0)+4>>2]=i;f=c[b>>2]|0;if(!(a[f+7>>0]|0)){i=0;while(1){h=f+8|0;if(!(a[f+14>>0]|0))if(!i){f=h;break}else{f=h;i=i+-1|0;continue}else{j=((a[f+15>>0]|0)==0&1)+i|0;f=h;i=j;continue}}}f=f+8|0;c[b>>2]=f;g=g+1|0}h=a[f+6>>0]|0;if(!(h<<24>>24))break a;else i=f}do{if(!(a[f+7>>0]|0)){i=0;while(1){h=f+8|0;if(!(a[f+14>>0]|0))if(!i)break;else{f=h;i=i+-1|0;continue}else{j=((a[f+15>>0]|0)==0&1)+i|0;f=h;i=j;continue}}}else h=f;f=h+8|0}while((a[h+14>>0]|0)!=0);c[b>>2]=f}while(0);i=f+8|0;c[b>>2]=i;j=g;b=i;i=b+-8|0;i=c[i>>2]|0;b=b+-1|0;b=a[b>>0]|0;b=b&255;b=b+-1|0;b=i+b|0;e=d+(e*12|0)+8|0;c[e>>2]=b;return j|0}function GF(a){a=a|0;var b=0;c[a>>2]=28;b=a+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+24>>2]=10485760;c[a+28>>2]=1048576;c[a+32>>2]=50;c[a+36>>2]=0;return}function HF(a,b){a=a|0;b=b|0;if(!b){C2(a);a=0}else a=D2(a,b)|0;return a|0}function IF(a){a=a|0;var b=0,d=0,e=0,f=0;b=(a|0)==0;if(b)e=28;else e=c[a>>2]|0;f=Sh[e&255](0,164)|0;u6(f|0,0,164)|0;d=f+108|0;if(b)GF(d);else{b=a;a=d+40|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f+68>>2]=0;c[f+72>>2]=4;c[f+64>>2]=Sh[e&255](0,16)|0;c[f+56>>2]=c[f+132>>2];uM(f+152|0);c[f+48>>2]=dN(f)|0;vJ(f);return f|0}function JF(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;while(1){if(!b)break;d=c[b+12>>2]|0;SN(a,b);b=d}d=a+64|0;c[d>>2]=Sh[c[a+108>>2]&255](c[d>>2]|0,0)|0;vM(a,a+152|0);KF(a,a,0,0)|0;return}function KF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+52|0;d=(c[f>>2]|0)+(e-d)|0;c[f>>2]=d;if(e|0?d>>>0>(c[a+56>>2]|0)>>>0:0)LF(a);return Sh[c[a+108>>2]&255](b,e)|0}function LF(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+52|0;c[g>>2]=0;CN(b,c[b+48>>2]|0);e=b+96|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;CN(b,c[b+76+(d<<2)>>2]|0);d=d+1|0}CN(b,c[b+44>>2]|0);d=b+100|0;while(1){d=c[d>>2]|0;if(!d)break;f=d;DN(b,c[f>>2]|0,c[f+4>>2]|0);d=d+12|0}d=c[b+148>>2]|0;if(d|0)uJ(b,d);FN(b);d=b+60|0;a:while(1){while(1){e=c[d>>2]|0;if(!e)break a;f=e+4|0;if(a[f>>0]&1)break;c[d>>2]=c[e+12>>2];SN(b,e)}a[f>>0]=0;d=(c[d>>2]|0)+12|0}f=c[g>>2]|0;f=f+(((O(f,c[b+140>>2]|0)|0)>>>0)/100|0)|0;g=b+56|0;c[g>>2]=f;b=c[b+136>>2]|0;c[g>>2]=f>>>0<b>>>0?b:f;return}function MF(a,b){a=a|0;b=b|0;var d=0;d=yM(a+152|0,361979,10)|0;if((d|0)==-1)return;a=c[b+8>>2]|0;if((d|0)>=(c[a+28>>2]|0))return;a=c[a+24>>2]|0;if((c[a+(d<<3)>>2]|0)==4)return;fi[c[a+(d<<3)+4>>2]&511](b+16|0);return}function NF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=r4(d)|0;a:do if((a[d+(h+-1)>>0]|0)==41){f=h;e=0;while(1){g=f;b:while(1){f=g+-1|0;if((g|0)<=1)break a;switch(a[d+f>>0]|0){case 40:break a;case 95:break b;default:g=f}}e=e+1|0}}else e=0;while(0);c:do if((a[d>>0]|0)==91){f=0;while(1){if((f|0)>=(h|0))break c;switch(a[d+f>>0]|0){case 93:break c;case 95:{e=e+1|0;break}default:{}}f=f+1|0}}while(0);j=xM(b,b+152|0,d,h)|0;f=ZM(b,0,e+1|0)|0;g=OF(f)|0;g=PF(b,g,z)|0;k=OF(TM(b,f)|0)|0;i=g;c[i>>2]=k;c[i+4>>2]=z;i=f+16|0;lM(b,i,e+24&255);lM(b,i,j>>>8&255);lM(b,i,j&255);lM(b,i,64);lM(b,i,74);oM(b,(c[f+56>>2]|0)+4|0,0,5);_M(b,f,d,h);return g|0}function OF(a){a=a|0;z=-262144;return a|0}function PF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(d>>>0>4294705151|(d|0)==-262145&b>>>0>4294967295){QF(a,b);e=KF(a,0,0,16)|0;f=e;c[f>>2]=b;c[f+4>>2]=d;RF(a)}else{e=KF(a,0,0,16)|0;f=e;c[f>>2]=b;c[f+4>>2]=d}b=a+100|0;d=c[b>>2]|0;if(d|0)c[d+8>>2]=e;c[e+8>>2]=0;c[e+12>>2]=c[b>>2];c[b>>2]=e;return e|0}function QF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+96|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+76+(d<<2)>>2]=b;return}function RF(a){a=a|0;a=a+96|0;c[a>>2]=(c[a>>2]|0)+-1;return}function SF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;b=a+44|0;e=c[b>>2]|0;c[e+20>>2]=(c[e+16>>2]|0)+(c[(c[d+16>>2]|0)+44>>2]<<3);TF(a,c[b>>2]|0,d,0);UF(a,c[b>>2]|0)|0;return}function TF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+36|0;g=c[f>>2]|0;if((c[b+32>>2]|0)>=(g|0)){h=b+28|0;c[h>>2]=KF(a,c[h>>2]|0,g*12|0,g*24|0)|0;c[f>>2]=g<<1}h=b+20|0;XM(a,b,((c[h>>2]|0)-(c[b+16>>2]|0)>>3)+(c[(c[d+16>>2]|0)+44>>2]|0)|0);mG(b,d,(c[h>>2]|0)+(0-e<<3)|0);return}
  38. function Hi(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Ii(){return l|0}function Ji(a){a=a|0;l=a}function Ki(a,b){a=a|0;b=b|0;l=a;m=b}function Li(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Mi(a){a=a|0;z=a}function Ni(){return z|0}function Oi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;if(!b){m=0;l=n;return m|0}if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0)){m=0;l=n;return m|0}j=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!j){m=0;l=n;return m|0}if(f){i=r4(j)|0;if((i|0)>0){f=0;h=0;do{g=a[j+h>>0]|0;if(!(T2(g<<24>>24)|0)){a[j+f>>0]=g;f=f+1|0}h=h+1|0}while((h|0)!=(i|0))}else f=0;a[j+f>>0]=0}f=r4(j)|0;d=(f|0)==(d<<1|0);if(d?(a[m>>0]=a[40384]|0,a[m+1>>0]=a[40385]|0,a[m+2>>0]=a[40386]|0,a[m+3>>0]=a[40387]|0,a[m+4>>0]=a[40388]|0,k=(f|0)/2|0,(f|0)>1):0){i=m+(e?3:2)|0;h=m+(e?2:3)|0;f=j;g=0;while(1){a[i>>0]=a[f>>0]|0;a[h>>0]=a[f+1>>0]|0;a[b+g>>0]=X2(m)|0;g=g+1|0;if((g|0)>=(k|0))break;else f=f+2|0}}fi[c[(c[40>>2]|0)+12>>2]&511](j);m=d;l=n;return m|0}function Pi(){return (c[80]|0)+8|0}function Qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=0;o=-1;do{k=i*7|0;g=c[2]|0;h=d[g+65412>>0]|0;f=k+7|0;if((d[g+65413>>0]|0)<7&((h|0)>=(k|0)&(h|0)<(f|0))){h=g+16379|0;a[h>>0]=a[h>>0]&-128|1;z5(228,c[392+(i<<2)>>2]|0,39)|0;if(((((a[85]|0)!=0?(j=c[22]|0,(j|0)>=(k|0)):0)?(j|0)<(f|0)&(c[23]|0)>>>0<7:0)?(h=c[24]|0,(h|0)>=(k|0)&(h|0)<(f|0)&(c[25]|0)>>>0<7):0)?(a[85]=0,l=c[412+(i<<2)>>2]|0,m=c[18]|0,(m|0)!=(l|0)):0){f=c[2]|0;a:do if((m|0)==2){fi[c[f+1262788>>2]&511](f);h=c[2]|0;fi[c[h+1262784>>2]&511](h)}else{fi[c[f+1262784>>2]&511](f);switch(m|0){case 10:case 9:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=m;break a}}}while(0);switch(l|0){case 6:{Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);break}case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break}case 11:{h=c[83]|0;fi[c[h+44>>2]&511](h);break}default:{}}c[18]=l;f=3}else f=3}else f=10;o=(c[18]|0)==(c[412+(i<<2)>>2]|0)?i:o;g=(o|0)==(i|0);if(g){Ri(k,0,40389,e);h=i<<3;Ri(k,1,40397+h|0,0)}else h=i<<3;Ri(k,0,40397+h|0,g?15:f);i=i+1|0}while((i|0)!=5);if((o|0)>-1)h=0;else return;do{g=h*7|0;i=g+144|0;f=c[2]|0;m=d[f+65412>>0]|0;g=g+151|0;b:do if((d[f+65413>>0]|0)<7&((m|0)>=(i|0)&(m|0)<(g|0))){f=f+16379|0;a[f>>0]=a[f>>0]&-128|1;f=c[472+(h<<2)>>2]&255;z5(228,c[492+(h<<2)>>2]|0,39)|0;if(a[84]|0?(m=c[22]|0,!((m|0)>=(g|0)|(m|0)<(i|0)|(c[23]|0)>>>0>6)):0){g=15;break}if((((a[85]|0)!=0?(n=c[22]|0,(n|0)>=(i|0)):0)?(n|0)<(g|0)&(c[23]|0)>>>0<7:0)?(m=c[24]|0,(m|0)>=(i|0)&(m|0)<(g|0)&(c[25]|0)>>>0<7):0){a[85]=0;g=c[19012+(h<<2)>>2]|0;switch(c[18]|0){case 3:{m=c[284+((a[178]|0)*20|0)>>2]|0;li[c[m+65728>>2]&511](m,g);g=f;f=15;break b}case 4:{m=c[284+((a[179]|0)*20|0)+4>>2]|0;li[c[m+68>>2]&511](m,g);g=f;f=15;break b}case 5:{m=c[284+((a[180]|0)*20|0)+8>>2]|0;li[c[m+120>>2]&511](m,g);g=f;f=15;break b}case 7:{m=c[284+((a[181]|0)*20|0)+12>>2]|0;li[c[m+40>>2]&511](m,g);g=f;f=15;break b}case 8:{m=c[284+((a[182]|0)*20|0)+16>>2]|0;li[c[m+96>>2]&511](m,g);g=f;f=15;break b}default:{g=f;f=15;break b}}}else{g=f;f=15}}else{g=10;f=15}while(0);Ai[c[(c[2]|0)+1262692>>2]&15](b,i,0,7,7,f);Ri(i,0,40601+(h<<3)|0,g);h=h+1|0}while((h|0)!=5);if(a[176]|0)return;n=(r4(228)|0)==0;f=c[(c[2]|0)+1262664>>2]|0;if(n){Xh[f&3](b,c[432+(o<<2)>>2]|0,42,1,3,0)|0;return}else{Xh[f&3](b,228,42,1,0,0)|0;return}}function Ri(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=b+7|0;l=b+1|0;m=b+2|0;n=b+3|0;o=b+4|0;p=b+5|0;j=b+6|0;i=0;while(1){h=i+d|0;g=a[e>>0]|0;if(g&1){g=c[2]|0;ti[c[g+1262680>>2]&63](g,k,h,f);g=a[e>>0]|0}if(g&2){g=c[2]|0;ti[c[g+1262680>>2]&63](g,j,h,f);g=a[e>>0]|0}if(g&4){g=c[2]|0;ti[c[g+1262680>>2]&63](g,p,h,f);g=a[e>>0]|0}if(g&8){g=c[2]|0;ti[c[g+1262680>>2]&63](g,o,h,f);g=a[e>>0]|0}if(g&16){g=c[2]|0;ti[c[g+1262680>>2]&63](g,n,h,f);g=a[e>>0]|0}if(g&32){g=c[2]|0;ti[c[g+1262680>>2]&63](g,m,h,f);g=a[e>>0]|0}if(g&64){g=c[2]|0;ti[c[g+1262680>>2]&63](g,l,h,f);g=a[e>>0]|0}if(g<<24>>24<=-1){g=c[2]|0;ti[c[g+1262680>>2]&63](g,b,h,f)}i=i+1|0;if((i|0)==8)break;else e=e+1|0}return}function Si(){var a=0,b=0,d=0;b=c[2]|0;d=b+1262804|0;a=Sh[c[d>>2]&255](b,64)|0;if(Sh[c[d>>2]&255](b,63)|0){d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,53,20,3)|0){d=2;return d|0}d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,3,20,3)|0){d=2;return d|0}d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,24,20,3)|0){d=1;return d|0}d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,22,20,3)|0){d=3;return d|0}}else if(a){d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,52,20,3)|0){d=1;return d|0}d=c[2]|0;if(Uh[c[d+1262808>>2]&63](d,53,20,3)|0){d=3;return d|0}}d=0;return d|0}function Ti(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+176|0;h=n;i=n+152|0;if(c[18]|0){f=(c[2]|0)+81920|0;c[h+8>>2]=1732584193;c[h+12>>2]=-271733879;c[h+16>>2]=-1732584194;c[h+20>>2]=271733878;c[h>>2]=0;j=h+4|0;c[j>>2]=0;k=h+24|0;g=1178692;e=0;d=0;while(1){b=(g|0)<512?g:512;o=e+b&536870911;c[h>>2]=o;if(o>>>0<e>>>0){d=d+1|0;c[j>>2]=d}c[j>>2]=d+(b>>>29);d=e&63;do if(d){e=64-d|0;d=h+24+d|0;if(b>>>0<e>>>0){s6(d|0,f|0,b|0)|0;break}else{s6(d|0,f|0,e|0)|0;hk(h,k,64)|0;d=f+e|0;b=b-e|0;m=9;break}}else{d=f;m=9}while(0);if((m|0)==9){m=0;if(b>>>0>63){d=hk(h,d,b&-64)|0;b=b&63}s6(k|0,d|0,b|0)|0}if((g|0)<=512)break;f=f+512|0;g=g+-512|0;e=c[h>>2]|0;d=c[j>>2]|0}ik(i,h);if(f3(i,48,16)|0){if((c[18]|0)==9){l=n;return}b=c[81]|0;e=c[2]|0;d=b+8|0;o=c[d>>2]|0;c[b>>2]=e;a[b+4>>0]=0;c[b+12>>2]=148;c[b+16>>2]=0;c[b+20>>2]=452;c[b+24>>2]=5;k=b+28|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;a[k+20>>0]=0;c[b+52>>2]=187;c[b+56>>2]=188;b=o;if(!o){b=B2(16320)|0;c[d>>2]=b;if(b|0)m=18}else m=18;if((m|0)==18)s6(b|0,e|0,16320)|0;b=c[18]|0;c[20]=b;a:do switch(b|0){case 2:{o=c[2]|0;fi[c[o+1262788>>2]&511](o);o=c[2]|0;fi[c[o+1262784>>2]&511](o);break}case 9:{l=n;return}default:{o=c[2]|0;fi[c[o+1262784>>2]&511](o);switch(b|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=9;l=n;return}}a[12]=1;l=n;return}function Ui(b,c){b=b|0;c=c|0;a[12]=b&1;return}function Vi(){var b=0,d=0,e=0;b=c[20]|0;a:do if((b|0)==2){b=c[2]|0;fi[c[b+1262792>>2]&511](b);b=2}else{d=c[18]|0;if((d|0)==(b|0))return;e=c[2]|0;b:do if((d|0)==2){fi[c[e+1262788>>2]&511](e);e=c[2]|0;fi[c[e+1262784>>2]&511](e)}else{fi[c[e+1262784>>2]&511](e);switch(d|0){case 10:case 9:case 1:case 0:break b;case 11:{c[19]=3;break b}default:{c[19]=d;break b}}}while(0);switch(b|0){case 6:{Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);b=6;break a}case 11:{b=c[83]|0;fi[c[b+44>>2]&511](b);b=11;break a}default:break a}}while(0);c[18]=b;return}function Wi(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+4112|0;b=k;i=k+8|0;s6(i|0,40711,4096)|0;a=(c[77]|0)+4920|0;if(r4(a)|0){c[b>>2]=94059;c[b+4>>2]=a;h3(i,44807,b)|0}fi[c[(c[40>>2]|0)+44>>2]&511](i);e=(c[2]|0)+81920|0;c[i+8>>2]=1732584193;c[i+12>>2]=-271733879;c[i+16>>2]=-1732584194;c[i+20>>2]=271733878;c[i>>2]=0;g=i+4|0;c[g>>2]=0;h=i+24|0;f=1178692;d=0;b=0;while(1){a=(f|0)<512?f:512;m=d+a&536870911;c[i>>2]=m;if(m>>>0<d>>>0){b=b+1|0;c[g>>2]=b}c[g>>2]=b+(a>>>29);b=d&63;do if(b){d=64-b|0;b=i+24+b|0;if(a>>>0<d>>>0){s6(b|0,e|0,a|0)|0;break}else{s6(b|0,e|0,d|0)|0;hk(i,h,64)|0;b=e+d|0;a=a-d|0;j=10;break}}else{b=e;j=10}while(0);if((j|0)==10){j=0;if(a>>>0>63){b=hk(i,b,a&-64)|0;a=a&63}s6(h|0,b|0,a|0)|0}if((f|0)<=512)break;e=e+512|0;f=f+-512|0;d=c[i>>2]|0;b=c[g>>2]|0}ik(48,i);j=c[77]|0;j=xk(c[j+4916>>2]|0,j+4920|0)|0;m=64;c[m>>2]=j;c[m+4>>2]=z;l=k;return}function Xi(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+4112|0;e=n;k=n+8|0;d=c[2]|0;b[89]=0;b[90]=0;a[182]=0;Sl(c[71]|0,d,d+147352|0);Fk(c[72]|0,c[2]|0,d+81920|0);$k(c[73]|0,c[2]|0,d+98304|0);nl(c[74]|0,c[2]|0,d+130944|0);xl(c[75]|0,c[2]|0,d+135424|0);Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);s6(k|0,40711,4096)|0;d=(c[77]|0)+4920|0;if(r4(d)|0){c[e>>2]=94059;c[e+4>>2]=d;h3(k,44807,e)|0}fi[c[(c[40>>2]|0)+44>>2]&511](k);g=(c[2]|0)+81920|0;c[k+8>>2]=1732584193;c[k+12>>2]=-271733879;c[k+16>>2]=-1732584194;c[k+20>>2]=271733878;c[k>>2]=0;i=k+4|0;c[i>>2]=0;j=k+24|0;h=1178692;f=0;e=0;while(1){d=(h|0)<512?h:512;o=f+d&536870911;c[k>>2]=o;if(o>>>0<f>>>0){e=e+1|0;c[i>>2]=e}c[i>>2]=e+(d>>>29);e=f&63;do if(e){f=64-e|0;e=k+24+e|0;if(d>>>0<f>>>0){s6(e|0,g|0,d|0)|0;break}else{s6(e|0,g|0,f|0)|0;hk(k,j,64)|0;e=g+f|0;d=d-f|0;m=10;break}}else{e=g;m=10}while(0);if((m|0)==10){m=0;if(d>>>0>63){e=hk(k,e,d&-64)|0;d=d&63}s6(j|0,e|0,d|0)|0}if((h|0)<=512)break;g=g+512|0;h=h+-512|0;f=c[k>>2]|0;e=c[i>>2]|0}ik(48,k);m=c[77]|0;m=xk(c[m+4916>>2]|0,m+4920|0)|0;o=64;c[o>>2]=m;c[o+4>>2]=z;l=n;return}function Yi(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+176|0;g=m;h=m+152|0;e=(c[2]|0)+81920|0;c[g+8>>2]=1732584193;c[g+12>>2]=-271733879;c[g+16>>2]=-1732584194;c[g+20>>2]=271733878;c[g>>2]=0;i=g+4|0;c[i>>2]=0;j=g+24|0;f=1178692;d=0;b=0;while(1){a=(f|0)<512?f:512;n=d+a&536870911;c[g>>2]=n;if(n>>>0<d>>>0){b=b+1|0;c[i>>2]=b}c[i>>2]=b+(a>>>29);b=d&63;do if(b){d=64-b|0;b=g+24+b|0;if(a>>>0<d>>>0){s6(b|0,e|0,a|0)|0;break}else{s6(b|0,e|0,d|0)|0;hk(g,j,64)|0;b=e+d|0;a=a-d|0;k=8;break}}else{b=e;k=8}while(0);if((k|0)==8){k=0;if(a>>>0>63){b=hk(g,b,a&-64)|0;a=a&63}s6(j|0,b|0,a|0)|0}if((f|0)<=512)break;e=e+512|0;f=f+-512|0;d=c[g>>2]|0;b=c[i>>2]|0}ik(h,g);n=(f3(h,48,16)|0)!=0;l=m;return n|0}function Zi(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[284+((a[178]|0)*20|0)>>2]|0;d=c[b+65732>>2]|0;if(d|0)fi[d&511](b);j=c[2]|0;u6(j+1260612|0,0,2048)|0;k=c[80]|0;g=0;do{h=g<<3;f=0;do{i=f;f=f+1|0;e=f<<3;i=i+h+(j+1260612)|0;d=((e+-1|0)>>>1)+(k+8256+(g<<5))|0;b=a[d>>0]|0;if((b&255)>=16){a[i>>0]=a[i>>0]|1;b=a[d>>0]|0}if(b&15)a[i>>0]=a[i>>0]|2;d=((e+-3|0)>>>1)+(k+8256+(g<<5))|0;b=a[d>>0]|0;if((b&255)>=16){a[i>>0]=a[i>>0]|4;b=a[d>>0]|0}if(b&15)a[i>>0]=a[i>>0]|8;d=((e+-5|0)>>>1)+(k+8256+(g<<5))|0;b=a[d>>0]|0;if((b&255)>=16){a[i>>0]=a[i>>0]|16;b=a[d>>0]|0}if(b&15)a[i>>0]=a[i>>0]|32;d=((e+-7|0)>>>1)+(k+8256+(g<<5))|0;b=a[d>>0]|0;if((b&255)>=16){a[i>>0]=a[i>>0]|64;b=a[d>>0]|0}if(b&15)a[i>>0]=a[i>>0]|-128}while((f|0)!=8);g=g+1|0}while((g|0)!=256);$h[c[(c[40>>2]|0)+60>>2]&31]();return}function _i(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=l;l=l+16|0;sa=Ma;La=B2(10485760)|0;if(!La){La=0;l=Ma;return La|0}Ka=dO(1,7116)|0;a:do if(!Ka)i=10485760;else{Ja=Ka+52|0;c[Ja>>2]=0;ya=Ka+36|0;Ga=Ka+8|0;c[Ga>>2]=1;c[ya>>2]=15;Ba=Ka+40|0;c[Ba>>2]=0;Da=Ka+44|0;c[Da>>2]=0;Aa=Ka+48|0;c[Aa>>2]=0;Fa=Ka+28|0;c[Fa>>2]=0;c[Ka>>2]=0;P=Ka+4|0;c[P>>2]=0;Q=Ka+12|0;c[Q>>2]=0;R=Ka+20|0;c[R>>2]=32768;S=Ka+32|0;c[S>>2]=0;va=Ka+56|0;c[va>>2]=0;wa=Ka+60|0;c[wa>>2]=0;T=Ka+1328|0;V=Ka+108|0;c[V>>2]=T;W=Ka+80|0;c[W>>2]=T;X=Ka+76|0;c[X>>2]=T;Y=Ka+7104|0;c[Y>>2]=1;$=Ka+7108|0;c[$>>2]=-1;b:do if((g|0)!=0|(h|0)==0){Ia=Ka+24|0;ca=sa+1|0;Ha=Ka+16|0;da=Ka+64|0;ea=Ka+84|0;fa=Ka+88|0;ga=Ka+72|0;ha=Ka+7112|0;ia=Ka+68|0;ja=sa+2|0;ka=sa+3|0;la=Ka+104|0;ma=Ka+96|0;na=Ka+100|0;oa=Ka+624|0;pa=Ka+112|0;qa=Ka+752|0;ra=Ka+92|0;M=La;q=0;i=0;o=h;h=0;j=10485760;n=g;s=10485760;g=0;O=0;c:while(1){d:do switch(q|0){case 28:{g=1;N=341;break c}case 29:{Ea=j;ua=i;ta=h;za=s;Ca=-3;xa=O;break c}case 0:{p=c[Ga>>2]|0;if(!p){c[Ka>>2]=12;k=o;t=j;m=n;n=M;p=O;break d}if(i>>>0<16){k=o;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<16)n=m;else{q=h;break}}}else{k=o;q=h;m=n}if((q|0)==35615&(p&2|0)!=0){c[Ia>>2]=0;a[sa>>0]=31;a[ca>>0]=-117;c[Ia>>2]=gO(0,sa,2)|0;c[Ka>>2]=1;i=0;h=0;t=j;n=M;p=O;break d}c[Ha>>2]=0;h=c[S>>2]|0;if(h|0)c[h+48>>2]=-1;if(p&1|0?((((q<<8&65280)+(q>>>8)|0)>>>0)%31|0|0)==0:0){if((q&15|0)!=8){c[Ka>>2]=29;h=q;t=j;n=M;p=O;break d}h=q>>>4;i=i+-4|0;n=h&15;o=n+8|0;p=c[ya>>2]|0;if(p){if(o>>>0>p>>>0){c[Ka>>2]=29;t=j;n=M;p=O;break d}}else c[ya>>2]=o;c[R>>2]=256<<n;c[Ia>>2]=1;c[Ka>>2]=q>>>12&2^11;i=0;h=0;t=j;n=M;p=O;break d}c[Ka>>2]=29;h=q;t=j;n=M;p=O;break}case 1:{if(i>>>0<16){k=o;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<16)n=m;else break}}else{k=o;m=n}c[Ha>>2]=h;if((h&255|0)!=8){c[Ka>>2]=29;t=j;n=M;p=O;break d}if(h&57344|0){c[Ka>>2]=29;t=j;n=M;p=O;break d}i=c[S>>2]|0;if(i|0)c[i>>2]=h>>>8&1;if(h&512|0){a[sa>>0]=h;a[ca>>0]=h>>>8;c[Ia>>2]=gO(c[Ia>>2]|0,sa,2)|0}c[Ka>>2]=2;i=0;h=0;N=49;break}case 2:{if(i>>>0<32){k=o;m=n;N=49}else{k=o;N=51}break}case 3:{if(i>>>0<16){k=o;N=57}else{k=o;N=59}break}case 4:{p=c[Ha>>2]|0;k=o;N=64;break}case 5:{m=c[Ha>>2]|0;k=o;N=75;break}case 6:{m=c[Ha>>2]|0;k=o;p=n;N=85;break}case 7:{m=c[Ha>>2]|0;k=o;p=n;N=98;break}case 8:{m=c[Ha>>2]|0;k=o;N=111;break}case 9:{if(i>>>0<32){k=o;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0>=32)break;else n=m}}else{k=o;m=n}c[Ia>>2]=p6(h|0)|0;c[Ka>>2]=10;i=0;h=0;N=123;break}case 10:{k=o;m=n;N=123;break}case 12:case 11:{k=o;m=n;N=126;break}case 13:{L=i&7;h=h>>>L;i=i-L|0;if(i>>>0<32){k=o;m=n;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;n=m+1|0;h=(d[m>>0]<<i)+h|0;i=i+8|0;if(i>>>0<32)m=n;else break}}else k=o;m=h&65535;if((m|0)==(h>>>16^65535|0)){c[da>>2]=m;c[Ka>>2]=14;i=0;h=0;N=143;break d}else{c[Ka>>2]=29;t=j;m=n;n=M;p=O;break d}}case 14:{k=o;N=143;break}case 15:{k=o;N=144;break}case 16:{if(i>>>0<14){k=o;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<14)n=m;else{o=k;break}}}else m=n;K=(h&31)+257|0;c[ma>>2]=K;L=(h>>>5&31)+1|0;c[na>>2]=L;n=(h>>>10&15)+4|0;c[ra>>2]=n;h=h>>>14;i=i+-14|0;if(K>>>0>286|L>>>0>30){c[Ka>>2]=29;k=o;t=j;n=M;p=O;break d}else{c[la>>2]=0;c[Ka>>2]=17;k=0;q=n;N=154;break d}}case 17:{k=c[la>>2]|0;m=c[ra>>2]|0;if(k>>>0<m>>>0){q=m;m=n;N=154}else{g=k;k=o;m=n;N=155}break}case 18:{p=c[la>>2]|0;k=o;m=n;N=165;break}case 19:{k=o;m=n;N=199;break}case 20:{k=o;m=n;N=200;break}case 21:{p=c[ga>>2]|0;k=o;m=n;N=278;break}case 22:{k=o;m=n;N=285;break}case 23:{p=c[ga>>2]|0;k=o;m=n;N=297;break}case 24:{k=o;m=n;N=303;break}case 25:{if(!j){j=0;N=341;break c}a[M>>0]=c[da>>2];c[Ka>>2]=20;k=o;t=j+-1|0;m=n;n=M+1|0;p=O;break}case 26:{t=c[Ga>>2]|0;if(t){if(i>>>0<32){k=o;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<32)n=m;else break}}else{k=o;m=n}q=s-j|0;r=O+q|0;c[Fa>>2]=(c[Fa>>2]|0)+q;if((s|0)==(j|0)){o=c[Ha>>2]|0;n=c[Ia>>2]|0}else{o=c[Ha>>2]|0;n=c[Ia>>2]|0;p=M+(0-q)|0;if(!o)n=fO(n,p,q)|0;else n=gO(n,p,q)|0;c[Ia>>2]=n}O=p6(h|0)|0;if((((o|0)==0?O:h)|0)==(n|0)){i=0;h=0;o=j;n=r}else{c[Ka>>2]=29;t=j;s=j;n=M;p=r;break d}}else{k=o;m=n;o=s;n=O}c[Ka>>2]=27;q=t;p=n;N=333;break}case 27:{q=c[Ga>>2]|0;k=o;m=n;o=s;p=O;N=333;break}default:{N=363;break b}}while(0);if((N|0)==49)while(1){N=0;if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;n=m+1|0;h=(d[m>>0]<<i)+h|0;i=i+8|0;if(i>>>0>=32){N=51;break}else{m=n;N=49}}else if((N|0)==123){if(!(c[Q>>2]|0)){N=124;break}c[Ia>>2]=1;c[Ka>>2]=11;N=126}else if((N|0)==143){c[Ka>>2]=15;N=144}else if((N|0)==154){N=0;n=o;while(1){if(i>>>0<3){if(!n){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}o=i+8|0;p=n+-1|0;h=(d[m>>0]<<i)+h|0;m=m+1|0}else{o=i;p=n}n=k+1|0;c[la>>2]=n;b[Ka+112+(e[39772+(k<<1)>>1]<<1)>>1]=h&7;h=h>>>3;i=o+-3|0;if(n>>>0<q>>>0){k=n;n=p}else{g=n;k=p;N=155;break}}}else if((N|0)==333){N=0;if(!q){N=340;break}if(!(c[Ha>>2]|0)){N=340;break}if(i>>>0<32){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=o;Ca=g;xa=p;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<32)n=m;else break}}if((h|0)==(c[Fa>>2]|0)){i=0;h=0;N=340;break}c[Ka>>2]=29;t=j;s=o;n=M}do if((N|0)==51){i=c[S>>2]|0;if(i|0)c[i+4>>2]=h;if(c[Ha>>2]&512|0){a[sa>>0]=h;a[ca>>0]=h>>>8;a[ja>>0]=h>>>16;a[ka>>0]=h>>>24;c[Ia>>2]=gO(c[Ia>>2]|0,sa,4)|0}c[Ka>>2]=3;i=0;h=0;N=57}else if((N|0)==126){N=0;if(c[P>>2]|0){t=i&7;c[Ka>>2]=26;i=i-t|0;h=h>>>t;t=j;n=M;p=O;break}if(i>>>0<3){if(!k){N=341;break c}n=i+8|0;k=k+-1|0;h=(d[m>>0]<<i)+h|0;m=m+1|0}else n=i;c[P>>2]=h&1;switch(h>>>1&3){case 0:{i=13;break}case 1:{c[X>>2]=37596;c[ea>>2]=9;c[W>>2]=39644;c[fa>>2]=5;i=19;break}case 2:{i=16;break}case 3:{i=29;break}default:{N=135;break c}}c[Ka>>2]=i;i=n+-3|0;h=h>>>3;t=j;n=M;p=O}else if((N|0)==144){N=0;m=c[da>>2]|0;if(!m){c[Ka>>2]=11;t=j;m=n;n=M;p=O;break}o=m>>>0>k>>>0?k:m;o=o>>>0>j>>>0?j:o;if(!o){N=341;break c}s6(M|0,n|0,o|0)|0;c[da>>2]=(c[da>>2]|0)-o;k=k-o|0;t=j-o|0;m=n+o|0;n=M+o|0;p=O}else if((N|0)==155){N=0;if(g>>>0<19){do{b[Ka+112+(e[39772+(g<<1)>>1]<<1)>>1]=0;g=g+1|0}while((g|0)!=19);c[la>>2]=19}c[V>>2]=T;c[X>>2]=T;c[ea>>2]=7;g=cO(0,pa,19,V,ea,qa)|0;if(!g){c[la>>2]=0;c[Ka>>2]=18;p=0;g=0;N=165;break}else{c[Ka>>2]=29;t=j;n=M;p=O;break}}while(0);e:do if((N|0)==57)while(1){N=0;if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0>=16){n=m;N=59;break}else{n=m;N=57}}else if((N|0)==165){N=0;o=c[ma>>2]|0;n=c[na>>2]|0;do if(p>>>0<(n+o|0)>>>0){u=p;t=o;f:while(1){q=(1<<c[ea>>2])+-1|0;p=q&h;r=c[X>>2]|0;o=d[r+(p<<2)+1>>0]|0;if(i>>>0<o>>>0){o=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=o+1|0;h=(d[o>>0]<<i)+h|0;i=i+8|0;p=q&h;o=d[r+(p<<2)+1>>0]|0;if(i>>>0<o>>>0)o=m;else{q=o;break}}}else q=o;o=b[r+(p<<2)+2>>1]|0;if((o&65535)>=16){switch(o<<16>>16){case 16:{p=q+2|0;if(i>>>0<p>>>0){o=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=o+1|0;h=(d[o>>0]<<i)+h|0;i=i+8|0;if(i>>>0<p>>>0)o=m;else break}}h=h>>>q;i=i-q|0;if(!u){N=179;break f}i=i+-2|0;p=(h&3)+3|0;h=h>>>2;o=e[Ka+112+(u+-1<<1)>>1]|0;break}case 17:{p=q+3|0;if(i>>>0<p>>>0){o=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=o+1|0;h=(d[o>>0]<<i)+h|0;i=i+8|0;if(i>>>0<p>>>0)o=m;else break}}h=h>>>q;i=-3-q+i|0;p=(h&7)+3|0;h=h>>>3;o=0;break}default:{p=q+7|0;if(i>>>0<p>>>0){o=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=o+1|0;h=(d[o>>0]<<i)+h|0;i=i+8|0;if(i>>>0<p>>>0)o=m;else break}}h=h>>>q;i=-7-q+i|0;p=(h&127)+11|0;h=h>>>7;o=0}}if((u+p|0)>>>0>(n+t|0)>>>0){N=189;break}o=o&65535;n=p+-1|0;c[la>>2]=u+1;b[Ka+112+(u<<1)>>1]=o;if(n)do{L=c[la>>2]|0;n=n+-1|0;c[la>>2]=L+1;b[Ka+112+(L<<1)>>1]=o}while((n|0)!=0)}else{c[la>>2]=u+1;b[Ka+112+(u<<1)>>1]=o;i=i-q|0;h=h>>>q}u=c[la>>2]|0;t=c[ma>>2]|0;n=c[na>>2]|0;if(u>>>0>=(n+t|0)>>>0){N=191;break}}if((N|0)==179){N=0;c[Ka>>2]=29;t=j;n=M;p=O;break e}else if((N|0)==189){N=0;c[Ka>>2]=29;t=j;n=M;p=O;break e}else if((N|0)==191){N=0;if((c[Ka>>2]|0)==29){t=j;n=M;p=O;break e}else{o=t;break}}}while(0);if(!(b[oa>>1]|0)){c[Ka>>2]=29;t=j;n=M;p=O;break}c[V>>2]=T;c[X>>2]=T;c[ea>>2]=9;g=cO(1,pa,o,V,ea,qa)|0;if(g|0){c[Ka>>2]=29;t=j;n=M;p=O;break}c[W>>2]=c[V>>2];c[fa>>2]=6;g=cO(2,Ka+112+(c[ma>>2]<<1)|0,c[na>>2]|0,V,fa,qa)|0;if(!g){c[Ka>>2]=19;g=0;N=199;break}else{c[Ka>>2]=29;t=j;n=M;p=O;break}}while(0);if((N|0)==59){i=c[S>>2]|0;if(i|0){c[i+8>>2]=h&255;c[i+12>>2]=h>>>8}i=c[Ha>>2]|0;if(i&512|0){a[sa>>0]=h;a[ca>>0]=h>>>8;c[Ia>>2]=gO(c[Ia>>2]|0,sa,2)|0}c[Ka>>2]=4;p=i;i=0;h=0;N=64}else if((N|0)==199){c[Ka>>2]=20;N=200}do if((N|0)==64){N=0;if(!(p&1024)){m=c[S>>2]|0;if(m)c[m+16>>2]=0}else{if(i>>>0<16){m=n;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;n=m+1|0;h=(d[m>>0]<<i)+h|0;i=i+8|0;if(i>>>0>=16)break;else m=n}}c[da>>2]=h;i=c[S>>2]|0;if(i|0)c[i+20>>2]=h;if(!(p&512)){i=0;h=0}else{a[sa>>0]=h;a[ca>>0]=h>>>8;c[Ia>>2]=gO(c[Ia>>2]|0,sa,2)|0;i=0;h=0}}c[Ka>>2]=5;m=p;N=75}else if((N|0)==200){N=0;if(!(j>>>0>257&k>>>0>5)){c[$>>2]=0;q=(1<<c[ea>>2])+-1|0;p=q&h;t=c[X>>2]|0;n=a[t+(p<<2)+1>>0]|0;o=n&255;if(o>>>0>i>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;p=q&h;n=a[t+(p<<2)+1>>0]|0;o=n&255;if(o>>>0>i>>>0)n=m;else break}}q=a[t+(p<<2)>>0]|0;r=b[t+(p<<2)+2>>1]|0;p=q&255;if(q<<24>>24!=0&(p&240|0)==0){r=r&65535;q=(1<<o+p)+-1|0;p=((h&q)>>>o)+r|0;n=a[t+(p<<2)+1>>0]|0;if(((n&255)+o|0)>>>0>i>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;p=((h&q)>>>o)+r|0;n=a[t+(p<<2)+1>>0]|0;if(((n&255)+o|0)>>>0>i>>>0)n=m;else break}}r=b[t+(p<<2)+2>>1]|0;q=a[t+(p<<2)>>0]|0;c[$>>2]=o;p=o;i=i-o|0;h=h>>>o}else p=0;n=n&255;h=h>>>n;i=i-n|0;c[$>>2]=p+n;c[da>>2]=r&65535;n=q&255;if(!(q<<24>>24)){c[Ka>>2]=25;t=j;n=M;p=O;break}if(n&32|0){c[$>>2]=-1;c[Ka>>2]=11;t=j;n=M;p=O;break}if(!(n&64)){p=n&15;c[ga>>2]=p;c[Ka>>2]=21;N=278;break}else{c[Ka>>2]=29;t=j;n=M;p=O;break}}c[va>>2]=h;c[wa>>2]=i;K=m+(k+-6)|0;L=M+(j+-258)|0;D=c[Da>>2]|0;E=c[Aa>>2]|0;F=c[Ja>>2]|0;G=c[X>>2]|0;H=c[W>>2]|0;I=(1<<c[ea>>2])+-1|0;J=(1<<c[fa>>2])+-1|0;u=M+(j+~s)|0;v=F+-1|0;w=(E|0)==0;x=(c[Ba>>2]|0)+-1|0;y=x+E|0;z=E+-1|0;A=u+-1|0;B=u-E|0;C=u+-2|0;k=m+-1|0;j=M+-1|0;g:while(1){if(i>>>0<15){M=k+2|0;o=i+16|0;h=(d[k+1>>0]<<i)+h+(d[M>>0]<<i+8)|0;k=M}else o=i;i=h&I;n=a[G+(i<<2)>>0]|0;m=b[G+(i<<2)+2>>1]|0;i=d[G+(i<<2)+1>>0]|0;h=h>>>i;i=o-i|0;do if(!(n<<24>>24)){m=m&255;N=207}else{n=n&255;while(1){if(n&16|0)break;if(n&64|0){N=256;break g}M=(h&(1<<n)+-1)+(m&65535)|0;n=a[G+(M<<2)>>0]|0;m=b[G+(M<<2)+2>>1]|0;M=d[G+(M<<2)+1>>0]|0;h=h>>>M;i=i-M|0;if(!(n<<24>>24)){N=206;break}else n=n&255}if((N|0)==206){m=m&255;N=207;break}p=m&65535;o=n&15;if(!o)n=h;else{if(i>>>0<o>>>0){k=k+1|0;m=i+8|0;h=(d[k>>0]<<i)+h|0}else m=i;i=m-o|0;n=h>>>o;p=(h&(1<<o)+-1)+p|0}if(i>>>0<15){q=k+2|0;m=i+16|0;i=(d[k+1>>0]<<i)+n+(d[q>>0]<<i+8)|0}else{m=i;i=n;q=k}M=i&J;k=b[H+(M<<2)+2>>1]|0;t=d[H+(M<<2)+1>>0]|0;h=i>>>t;i=m-t|0;m=d[H+(M<<2)>>0]|0;if(!(m&16))do{if(m&64|0){N=253;break g}m=(h&(1<<m)+-1)+(k&65535)|0;k=b[H+(m<<2)+2>>1]|0;M=d[H+(m<<2)+1>>0]|0;h=h>>>M;i=i-M|0;m=d[H+(m<<2)>>0]|0}while((m&16|0)==0);n=k&65535;o=m&15;if(i>>>0<o>>>0){k=q+1|0;h=(d[k>>0]<<i)+h|0;m=i+8|0;if(m>>>0<o>>>0){k=q+2|0;i=i+16|0;h=(d[k>>0]<<m)+h|0}else i=m}else k=q;t=(h&(1<<o)+-1)+n|0;h=h>>>o;i=i-o|0;r=j;m=r-u|0;if(t>>>0<=m>>>0){q=2-p|0;q=p+(q>>>0>4294967293?q:-3)|0;q=q-((q>>>0)%3|0)|0;m=j+(0-t)|0;n=p;o=j;do{a[o+1>>0]=a[m+1>>0]|0;a[o+2>>0]=a[m+2>>0]|0;m=m+3|0;o=o+3|0;a[o>>0]=a[m>>0]|0;n=n+-3|0}while(n>>>0>2);n=q-t|0;m=p+-3|0;if((m|0)==(q|0)){j=j+(q+3)|0;break}o=j+(q+4)|0;a[o>>0]=a[j+(n+4)>>0]|0;if((m-q|0)>>>0<=1){j=o;break}M=j+(q+5)|0;a[M>>0]=a[j+(n+5)>>0]|0;j=M;break}q=t-m|0;if(q>>>0>D>>>0?c[Y>>2]|0:0){N=222;break g}do if(w){m=F+(x-q)|0;if(p>>>0<=q>>>0){o=m;n=p;break}n=p-q|0;o=q;p=j;do{m=m+1|0;p=p+1|0;a[p>>0]=a[m>>0]|0;o=o+-1|0}while((o|0)!=0);M=t-r|0;o=j+(A+M+(1-t))|0;j=j+(u+M)|0}else{if(q>>>0<=E>>>0){m=F+(z-q)|0;if(p>>>0<=q>>>0){o=m;n=p;break}n=p-q|0;o=q;p=j;do{m=m+1|0;p=p+1|0;a[p>>0]=a[m>>0]|0;o=o+-1|0}while((o|0)!=0);M=t-r|0;o=j+(A+M+(1-t))|0;j=j+(u+M)|0;break}o=F+(y-q)|0;m=q-E|0;if(p>>>0<=m>>>0){n=p;break}n=p-m|0;p=j;do{o=o+1|0;p=p+1|0;a[p>>0]=a[o>>0]|0;m=m+-1|0}while((m|0)!=0);q=t-r|0;m=j+(B+q)|0;if(n>>>0>E>>>0){o=v;p=E}else{o=v;j=m;break}do{o=o+1|0;m=m+1|0;a[m>>0]=a[o>>0]|0;p=p+-1|0}while((p|0)!=0);o=j+(C+q+(2-t))|0;n=n-E|0;j=j+(u+q)|0}while(0);if(n>>>0>2){q=n+-3|0;m=(q>>>0)%3|0;r=o;p=j;do{a[p+1>>0]=a[r+1>>0]|0;a[p+2>>0]=a[r+2>>0]|0;r=r+3|0;p=p+3|0;a[p>>0]=a[r>>0]|0;n=n+-3|0}while(n>>>0>2);M=q-m+3|0;o=o+M|0;j=j+M|0}else m=n;if(!m)break;n=j+1|0;a[n>>0]=a[o+1>>0]|0;if((m|0)==1){j=n;break}j=j+2|0;a[j>>0]=a[o+2>>0]|0}while(0);if((N|0)==207){N=0;j=j+1|0;a[j>>0]=m}if(!(j>>>0<L>>>0&k>>>0<K>>>0)){N=260;break}}do if((N|0)==222){N=0;c[Ka>>2]=29;o=29}else if((N|0)==253){N=0;c[Ka>>2]=29;o=29;k=q}else if((N|0)==256){N=0;if(!(n&32)){c[Ka>>2]=29;o=29;break}else{c[Ka>>2]=11;o=11;break}}else if((N|0)==260){N=0;o=c[Ka>>2]|0}while(0);M=i>>>3;i=i-(M<<3)|0;h=(1<<i)+-1&h;m=k+(1-M)|0;n=j+1|0;k=K+5-(k+(0-M))|0;j=L+257-j|0;c[va>>2]=h;c[wa>>2]=i;if((o|0)==11){c[$>>2]=-1;t=j;p=O}else{t=j;p=O}}while(0);if((N|0)==75){if(m&1024){p=c[da>>2]|0;q=p>>>0>k>>>0?k:p;if(q){o=c[S>>2]|0;if((o|0)!=0?(U=c[o+16>>2]|0,(U|0)!=0):0){m=(c[o+20>>2]|0)-p|0;N=c[o+24>>2]|0;s6(U+m|0,n|0,((m+q|0)>>>0>N>>>0?N-m|0:q)|0)|0;m=c[Ha>>2]|0}if(m&512|0)c[Ia>>2]=gO(c[Ia>>2]|0,n,q)|0;p=(c[da>>2]|0)-q|0;c[da>>2]=p;k=k-q|0;n=n+q|0}if(p){N=341;break}}c[da>>2]=0;c[Ka>>2]=6;p=n;N=85}else if((N|0)==278){N=0;if(!p)n=c[da>>2]|0;else{if(i>>>0<p>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<p>>>0)n=m;else break}}n=(c[da>>2]|0)+((1<<p)+-1&h)|0;c[da>>2]=n;c[$>>2]=(c[$>>2]|0)+p;i=i-p|0;h=h>>>p}c[ha>>2]=n;c[Ka>>2]=22;N=285}do if((N|0)==85){if(!(m&2048)){n=c[S>>2]|0;if(!n)n=p;else{c[n+28>>2]=0;n=p}}else{if(!k){N=341;break c}else o=0;do{m=o;o=o+1|0;m=a[p+m>>0]|0;n=c[S>>2]|0;if((n|0?(Z=c[n+28>>2]|0,Z|0):0)?(_=c[da>>2]|0,_>>>0<(c[n+32>>2]|0)>>>0):0){c[da>>2]=_+1;a[Z+_>>0]=m}n=m<<24>>24!=0}while(n&k>>>0>o>>>0);m=c[Ha>>2]|0;if(m&512|0)c[Ia>>2]=gO(c[Ia>>2]|0,p,o)|0;if(n){N=341;break c}else{k=k-o|0;n=p+o|0}}c[da>>2]=0;c[Ka>>2]=7;p=n;N=98}else if((N|0)==285){N=0;q=(1<<c[fa>>2])+-1|0;p=q&h;t=c[W>>2]|0;n=a[t+(p<<2)+1>>0]|0;o=n&255;if(o>>>0>i>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;p=q&h;n=a[t+(p<<2)+1>>0]|0;o=n&255;if(o>>>0>i>>>0)n=m;else break}}q=a[t+(p<<2)>>0]|0;r=b[t+(p<<2)+2>>1]|0;p=q&255;if(!(p&240)){r=r&65535;q=(1<<o+p)+-1|0;p=((h&q)>>>o)+r|0;n=a[t+(p<<2)+1>>0]|0;if(((n&255)+o|0)>>>0>i>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;p=((h&q)>>>o)+r|0;n=a[t+(p<<2)+1>>0]|0;if(((n&255)+o|0)>>>0>i>>>0)n=m;else break}}r=b[t+(p<<2)+2>>1]|0;q=a[t+(p<<2)>>0]|0;p=(c[$>>2]|0)+o|0;c[$>>2]=p;i=i-o|0;h=h>>>o}else p=c[$>>2]|0;n=n&255;h=h>>>n;i=i-n|0;c[$>>2]=p+n;n=q&255;if(!(n&64)){c[ia>>2]=r&65535;p=n&15;c[ga>>2]=p;c[Ka>>2]=23;N=297;break}else{c[Ka>>2]=29;t=j;n=M;p=O;break}}while(0);if((N|0)==98){if(!(m&4096)){n=c[S>>2]|0;if(!n)n=p;else{c[n+36>>2]=0;n=p}}else{if(!k){N=341;break}else o=0;do{m=o;o=o+1|0;m=a[p+m>>0]|0;n=c[S>>2]|0;if((n|0?(aa=c[n+36>>2]|0,aa|0):0)?(ba=c[da>>2]|0,ba>>>0<(c[n+40>>2]|0)>>>0):0){c[da>>2]=ba+1;a[aa+ba>>0]=m}n=m<<24>>24!=0}while(n&k>>>0>o>>>0);m=c[Ha>>2]|0;if(m&512|0)c[Ia>>2]=gO(c[Ia>>2]|0,p,o)|0;if(n){N=341;break}else{k=k-o|0;n=p+o|0}}c[Ka>>2]=8;N=111}else if((N|0)==297){N=0;if(p){if(i>>>0<p>>>0){n=m;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;m=n+1|0;h=(d[n>>0]<<i)+h|0;i=i+8|0;if(i>>>0<p>>>0)n=m;else break}}c[ia>>2]=(c[ia>>2]|0)+((1<<p)+-1&h);c[$>>2]=(c[$>>2]|0)+p;i=i-p|0;h=h>>>p}c[Ka>>2]=24;N=303}do if((N|0)==111){N=0;if(m&512){if(i>>>0<16){o=n;while(1){if(!k){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O;break c}k=k+-1|0;n=o+1|0;h=(d[o>>0]<<i)+h|0;i=i+8|0;if(i>>>0<16)o=n;else break}}if((h|0)==(c[Ia>>2]&65535|0)){i=0;h=0;o=n}else{c[Ka>>2]=29;t=j;m=n;n=M;p=O;break}}else o=n;n=c[S>>2]|0;if(n|0){c[n+44>>2]=m>>>9&1;c[n+48>>2]=1}c[Ia>>2]=0;c[Ka>>2]=11;t=j;m=o;n=M;p=O}else if((N|0)==303){N=0;if(!j){j=0;N=341;break c}n=s-j|0;o=c[ia>>2]|0;if(o>>>0>n>>>0){o=o-n|0;if(o>>>0>(c[Da>>2]|0)>>>0?c[Y>>2]|0:0){c[Ka>>2]=29;t=j;n=M;p=O;break}n=c[Aa>>2]|0;if(o>>>0>n>>>0){o=o-n|0;n=(c[Ba>>2]|0)-o|0}else n=n-o|0;p=c[da>>2]|0;q=p;p=o>>>0>p>>>0?p:o;n=(c[Ja>>2]|0)+n|0}else{p=c[da>>2]|0;q=p;n=M+(0-o)|0}r=p>>>0>j>>>0?j:p;c[da>>2]=q-r;p=r;o=M;while(1){a[o>>0]=a[n>>0]|0;p=p+-1|0;if(!p)break;else{n=n+1|0;o=o+1|0}}j=j-r|0;n=M+r|0;if(!(c[da>>2]|0)){c[Ka>>2]=20;t=j;p=O}else{t=j;p=O}}while(0);M=n;q=c[Ka>>2]|0;o=k;j=t;n=m;O=p}if((N|0)==124){c[va>>2]=h;c[wa>>2]=i;N=363;break}else if((N|0)!=135)if((N|0)==340){c[Ka>>2]=28;Ea=j;ua=i;ta=h;za=o;Ca=1;xa=p}else if((N|0)==341){Ea=j;ua=i;ta=h;za=s;Ca=g;xa=O}c[va>>2]=ta;c[wa>>2]=ua;i=c[Ba>>2]|0;if(!i){if((za|0)!=(Ea|0)?(c[Ka>>2]|0)>>>0<26:0)N=345}else N=345;do if((N|0)==345){g=za-Ea|0;h=c[Ja>>2]|0;do if(!h){h=dO(1<<c[ya>>2],1)|0;c[Ja>>2]=h;if(!h){c[Ka>>2]=30;N=363;break b}else{i=c[Ba>>2]|0;break}}while(0);if(!i){i=1<<c[ya>>2];c[Ba>>2]=i;c[Aa>>2]=0;c[Da>>2]=0}if(i>>>0<=g>>>0){s6(h|0,M+(0-i)|0,i|0)|0;c[Aa>>2]=0;c[Da>>2]=c[Ba>>2];break}wa=c[Aa>>2]|0;ya=i-wa|0;i=ya>>>0>g>>>0?g:ya;s6(h+wa|0,M+(0-g)|0,i|0)|0;i=g-i|0;if(ya>>>0<g>>>0){s6(c[Ja>>2]|0,M+(0-i)|0,i|0)|0;c[Aa>>2]=i;c[Da>>2]=c[Ba>>2];break}i=(c[Aa>>2]|0)+g|0;Ba=c[Ba>>2]|0;c[Aa>>2]=(i|0)==(Ba|0)?0:i;i=c[Da>>2]|0;if(i>>>0<Ba>>>0)c[Da>>2]=i+g}while(0);j=za-Ea|0;i=xa+j|0;c[Fa>>2]=(c[Fa>>2]|0)+j;if((za|0)!=(Ea|0)&(c[Ga>>2]|0)!=0){g=c[Ia>>2]|0;h=M+(0-j)|0;if(!(c[Ha>>2]|0))h=fO(g,h,j)|0;else h=gO(g,h,j)|0;c[Ia>>2]=h}if(Ca){if((Ca|0)==1){h=c[Ja>>2]|0;if(h|0)eO(h);eO(Ka);Ka=B2(i+1|0)|0;c[f>>2]=Ka;s6(Ka|0,La|0,i|0)|0;a[Ka+i>>0]=0;break a}}else N=363}else N=363;while(0);i=c[Ja>>2]|0;if(i|0)eO(i);eO(Ka);i=10485760}while(0);C2(La);La=i;l=Ma;return La|0}function $i(){var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+4112|0;j=o;n=o+8|0;f=c[2]|0;switch(c[18]|0){case 0:break;case 1:{if(a[(c[77]|0)+13124>>0]|0)k=3;break}default:k=3}a:do if((k|0)==3){m=f+1262804|0;i=Sh[c[m>>2]&255](f,65)|0;f=Sh[c[m>>2]&255](f,63)|0;m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,72,-1,-1)|0){m=(c[80]|0)+51|0;a[m>>0]=a[m>>0]^1}switch(c[18]|0){case 2:{if(a[(c[77]|0)+13125>>0]|0)k=7;break}case 10:{k=7;break}default:{}}if((k|0)==7){m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,66,-1,-1)|0){f=c[2]|0;if((c[18]|0)==10){fi[c[f+1262792>>2]&511](f);c[18]=2;break}fi[c[f+1262788>>2]&511](f);f=c[2]|0;fi[c[f+1262784>>2]&511](f);f=c[82]|0;h=c[2]|0;j=c[84]|0;g=f+12|0;m=c[g>>2]|0;c[f>>2]=h;c[f+4>>2]=j;a[f+8>>0]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=-1;j=f+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[j+16>>0]=0;c[f+52>>2]=0;c[f+56>>2]=189;f=m;if(!m){f=B2(16320)|0;c[g>>2]=f;if(f|0)k=12}else k=12;if((k|0)==12)s6(f|0,h|0,16320)|0;c[18]=10;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,77,-1,-1)|0){$h[c[(c[40>>2]|0)+36>>2]&31]();break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,50,-1,-1)|0){if(!i)break;$h[c[(c[40>>2]|0)+36>>2]&31]();break}m=c[2]|0;m=Uh[c[m+1262808>>2]&63](m,73,-1,-1)|0;f=c[2]|0;if(!m){if(!(Uh[c[f+1262808>>2]&63](f,74,-1,-1)|0))break;c[69]=1;m=B2(147456)|0;c[68]=m;if(!m)break;a[268]=1;c[70]=0;break}if((c[18]|0)!=2)break;ti[c[f+1262828>>2]&63](f,c[f+1262776>>2]|0,c[f+1262780>>2]|0,0);i=B2(130560)|0;if(!i)break;h=0;f=f+1268032|0;g=i;while(1){s6(g|0,f+32|0,960)|0;h=h+1|0;if((h|0)==136)break;else{f=f+1024|0;g=g+960|0}}j=c[2]|0;mk(j+1130052|0,j+1130048|0,240,136,i,1,1);C2(i);c[46]=120;j=188;i=44815;k=j+21|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break}g=c[2]|0;h=c[g+1262808>>2]|0;if(i){if(Uh[h&63](g,44,-1,-1)|0){f=c[18]|0;b:do switch(f|0){case 1:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 9:case 10:case 0:break b;case 11:{c[19]=3;break b}default:{c[19]=f;break b}}}}while(0);c[18]=1;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,28,-1,-1)|0){f=c[18]|0;c:do switch(f|0){case 3:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break c;case 11:{c[19]=3;break c}default:{c[19]=f;break c}}}}while(0);c[18]=3;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,29,-1,-1)|0){f=c[18]|0;d:do switch(f|0){case 4:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break d;case 11:{c[19]=3;break d}default:{c[19]=f;break d}}}}while(0);c[18]=4;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,30,-1,-1)|0){f=c[18]|0;e:do switch(f|0){case 5:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break e;case 11:{c[19]=3;break e}default:{c[19]=f;break e}}}}while(0);c[18]=5;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,31,-1,-1)|0){f=c[18]|0;f:do switch(f|0){case 7:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break f;case 11:{c[19]=3;break f}default:{c[19]=f;break f}}}}while(0);c[18]=7;break}m=c[2]|0;if(!(Uh[c[m+1262808>>2]&63](m,32,-1,-1)|0)){m=c[2]|0;if(!(Uh[c[m+1262808>>2]&63](m,50,-1,-1)|0))break;$h[c[(c[40>>2]|0)+36>>2]&31]();break}f=c[18]|0;g:do switch(f|0){case 8:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break g;case 11:{c[19]=3;break g}default:{c[19]=f;break g}}}}while(0);c[18]=8;break}if(f){if(Uh[h&63](g,54,-1,-1)|0){g=c[18]|0;switch(g|0){case 3:{f=4;break}case 4:{f=0;break}case 5:{f=1;break}case 7:{f=2;break}case 8:{f=3;break}default:break a}f=c[412+(f<<2)>>2]|0;if((g|0)==(f|0))break;m=c[2]|0;fi[c[m+1262784>>2]&511](m);c[19]=g;switch(f|0){case 6:{Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);break}case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break}case 11:{m=c[83]|0;fi[c[m+44>>2]&511](m);break}default:{}}c[18]=f;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,55,-1,-1)|0){g=c[18]|0;switch(g|0){case 3:{f=1;break}case 4:{f=2;break}case 5:{f=3;break}case 7:{f=4;break}case 8:{f=0;break}default:break a}f=c[412+(f<<2)>>2]|0;if((g|0)==(f|0))break;m=c[2]|0;fi[c[m+1262784>>2]&511](m);c[19]=g;switch(f|0){case 6:{Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);break}case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break}case 11:{m=c[83]|0;fi[c[m+44>>2]&511](m);break}default:{}}c[18]=f;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,17,-1,-1)|0){Ti();break}m=c[2]|0;m=Uh[c[m+1262808>>2]&63](m,18,-1,-1)|0;f=c[2]|0;if(m){fi[c[f+1262784>>2]&511](f);f=c[18]|0;switch(f|0){case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break a}case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}default:c[19]=f}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;break}m=Uh[c[f+1262808>>2]&63](f,50,-1,-1)|0;f=c[2]|0;if(m){fi[c[f+1262784>>2]&511](f);f=c[18]|0;switch(f|0){case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break a}case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}default:c[19]=f}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;break}if(!(Uh[c[f+1262808>>2]&63](f,19,-1,-1)|0))break;m=c[77]|0;switch(Rh[c[m+13156>>2]&511](m)|0){case 0:{c[j>>2]=(c[77]|0)+4920;h3(n,44836,j)|0;if((r4(n)|0)>0){f=0;do{m=n+f|0;a[m>>0]=Y2(a[m>>0]|0)|0;f=f+1|0}while((f|0)<(r4(n)|0))}c[46]=120;x4(188,n)|0;break a}case 2:{c[46]=120;j=188;i=44848;k=j+27|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break a}default:{c[46]=120;j=188;i=44875;k=j+14|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break a}}}if(Uh[h&63](g,67,-1,-1)|0){f=c[18]|0;h:do switch(f|0){case 3:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break h;case 11:{c[19]=3;break h}default:{c[19]=f;break h}}}}while(0);c[18]=3;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,68,-1,-1)|0){f=c[18]|0;i:do switch(f|0){case 4:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break i;case 11:{c[19]=3;break i}default:{c[19]=f;break i}}}}while(0);c[18]=4;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,69,-1,-1)|0){f=c[18]|0;j:do switch(f|0){case 5:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break j;case 11:{c[19]=3;break j}default:{c[19]=f;break j}}}}while(0);c[18]=5;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,70,-1,-1)|0){f=c[18]|0;k:do switch(f|0){case 7:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break k;case 11:{c[19]=3;break k}default:{c[19]=f;break k}}}}while(0);c[18]=7;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,71,-1,-1)|0){f=c[18]|0;l:do switch(f|0){case 8:break a;case 2:{m=c[2]|0;fi[c[m+1262788>>2]&511](m);m=c[2]|0;fi[c[m+1262784>>2]&511](m);break}default:{m=c[2]|0;fi[c[m+1262784>>2]&511](m);switch(f|0){case 10:case 9:case 1:case 0:break l;case 11:{c[19]=3;break l}default:{c[19]=f;break l}}}}while(0);c[18]=8;break}m=c[2]|0;m=Uh[c[m+1262808>>2]&63](m,73,-1,-1)|0;f=c[2]|0;if(m){if((c[18]|0)!=2)break;ti[c[f+1262828>>2]&63](f,c[f+1262776>>2]|0,c[f+1262780>>2]|0,0);i=B2(130560)|0;if(!i)break;h=0;f=f+1268032|0;g=i;while(1){s6(g|0,f+32|0,960)|0;h=h+1|0;if((h|0)==136)break;else{f=f+1024|0;g=g+960|0}}j=c[2]|0;mk(j+1130052|0,j+1130048|0,240,136,i,1,1);C2(i);c[46]=120;j=188;i=44815;k=j+21|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break}if(Uh[c[f+1262808>>2]&63](f,74,-1,-1)|0){c[69]=1;m=B2(147456)|0;c[68]=m;if(!m)break;a[268]=1;c[70]=0;break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,77,-1,-1)|0){$h[c[(c[40>>2]|0)+36>>2]&31]();break}m=c[2]|0;if(Uh[c[m+1262808>>2]&63](m,66,-1,-1)|0){f=c[284+((a[178]|0)*20|0)>>2]|0;g=c[18]|0;switch(g|0){case 3:{k=167;break}case 9:{m=c[81]|0;fi[c[m+56>>2]&511](m);break a}default:{}}if((k|0)==167?(c[f+65656>>2]|0)!=1:0){fi[c[f+65724>>2]&511](f);break}f=(g|0)==1?c[19]|0:1;if((g|0)!=(f|0)){if((g|0)==2){m=c[2]|0;fi[c[m+1262788>>2]&511](m)}if((f|0)!=2){m=c[2]|0;fi[c[m+1262784>>2]&511](m)}switch(g|0){case 10:case 2:case 1:case 0:break;case 11:{c[19]=3;break}default:c[19]=g}switch(f|0){case 6:{Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);break}case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break}case 11:{m=c[83]|0;fi[c[m+44>>2]&511](m);break}default:{}}c[18]=f}}}while(0);a[85]=0;a[105]=0;a[125]=0;j=c[2]|0;a[j+16379>>0]=-128;g=e[j+65414>>1]|0;h=j+65412|0;i=j+65413|0;f=(g&1|0)==0;if(!(a[84]|0)){if(!f){a[84]=1;c[22]=d[h>>0];c[23]=d[i>>0]}}else if(f){c[24]=d[h>>0];c[25]=d[i>>0];a[85]=1;a[84]=0}f=(g&2|0)==0;if(!(a[104]|0)){if(!f){a[104]=1;c[27]=d[h>>0];c[28]=d[i>>0]}}else if(f){c[29]=d[h>>0];c[30]=d[i>>0];a[105]=1;a[104]=0}f=(g&4|0)==0;if(!(a[124]|0)){if(!f){a[124]=1;c[32]=d[h>>0];c[33]=d[i>>0]}}else if(f){c[34]=d[h>>0];c[35]=d[i>>0];a[125]=1;a[124]=0}g=j+1262804|0;h=j+65408|0;f=0;do{i=a[144+f>>0]|0;if(i<<24>>24?Sh[c[g>>2]&255](j,i)|0:0)c[h>>2]=c[h>>2]|1<<f;f=f+1|0}while((f|0)!=32);h=c[2]|0;j=228;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b[132]=0;a[266]=0;switch(c[18]|0){case 2:{f=h+65508|0;g=h+69988|0;break}case 11:case 10:case 9:case 0:{g=c[80]|0;f=g+49088|0;g=g+53568|0;break}default:{f=h+81920+((a[181]|0)*131016|0)+49024|0;g=h+81920+((a[182]|0)*131016|0)+53504|0}}si[c[h+1262820>>2]&127](h,f,g);do switch(c[18]|0){case 0:{m=c[76]|0;fi[c[m+20>>2]&511](m);break}case 1:{m=c[77]|0;fi[c[m+13152>>2]&511](m);break}case 2:{m=c[78]|0;fi[c[m+1148>>2]&511](m);break}case 3:{m=c[284+((a[178]|0)*20|0)>>2]|0;fi[c[m+65720>>2]&511](m);break}case 4:{m=c[284+((a[179]|0)*20|0)+4>>2]|0;fi[c[m+64>>2]&511](m);break}case 5:{m=c[284+((a[180]|0)*20|0)+8>>2]|0;fi[c[m+116>>2]&511](m);break}case 7:{m=c[284+((a[181]|0)*20|0)+12>>2]|0;fi[c[m+36>>2]&511](m);break}case 8:{m=c[284+((a[182]|0)*20|0)+16>>2]|0;fi[c[m+92>>2]&511](m);break}case 6:{m=c[79]|0;fi[c[m+12>>2]&511](m);break}case 9:{m=c[81]|0;fi[c[m+52>>2]&511](m);break}case 10:{m=c[82]|0;fi[c[m+56>>2]&511](m);break}case 11:{m=c[83]|0;fi[c[m+40>>2]&511](m);break}default:{}}while(0);f=c[46]|0;if((f|0)>0){g=f+-1|0;c[46]=g;if((f|0)>=31)if((g|0)>89)f=((91-f|0)*7|0)/30|0;else f=0;else f=((31-f|0)*7|0)/-30|0;k=c[2]|0;Ai[c[k+1262692>>2]&15](k,0,f,240,7,6);k=c[2]|0;j=c[k+1262664>>2]|0;m=((O(r4(188)|0,-6)|0)+240|0)/2|0;Xh[j&3](k,188,m,f+1|0,15,0)|0}if(a[(c[80]|0)+49>>0]|0){j=h+65436|0;k=j+72|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}m=c[2]|0;fi[c[m+1262824>>2]&511](m);m=c[2]|0;switch(c[18]|0){case 2:{h=c[m+1262776>>2]|0;g=c[m+1262780>>2]|0;f=0;break}case 4:{i=a[179]|0;f=c[284+(i*20|0)+4>>2]|0;g=c[f+76>>2]|0;h=c[f+72>>2]|0;j=m+16320|0;i=m+81920+(i*131016|0)+130968|0;k=j+48|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break}case 5:{f=c[284+((a[180]|0)*20|0)+8>>2]|0;g=c[f+128>>2]|0;h=c[f+124>>2]|0;j=m+16320|0;i=m+81920+((a[179]|0)*131016|0)+130968|0;k=j+48|0;do{a[j>>0]=a[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));break}default:{j=m+16320|0;i=(c[80]|0)+131032|0;k=j+48|0;do{c[j>>2]=c[i>>2];j=j+4|0;i=i+4|0}while((j|0)<(k|0));h=0;g=0;f=0}}ti[c[m+1262828>>2]&63](m,h,g,f);h=m+1263936|0;do if(a[268]|0){f=c[70]|0;g=c[68]|0;if((f|0)>=(c[69]|0)){if(g|0){c[n>>2]=0;j=B2(f*147456|0)|0;mk(j,n,256,144,g,f,c[(c[80]|0)+40>>2]|0);k=c[n>>2]|0;n=B2(12)|0;c[n>>2]=149;c[n+4>>2]=0;c[n+8>>2]=j;Ai[c[(c[40>>2]|0)+32>>2]&15](150,44889,j,k,n,493);C2(c[68]|0);c[68]=0}a[268]=0;break}i=0;g=g+(f*36864<<2)|0;while(1){s6(g|0,h|0,1024)|0;i=i+1|0;if((i|0)==144)break;else{h=h+1024|0;g=g+1024|0}}if(((f|0)%60|0|0)<30){Ak((c[80]|0)+131032|0);f=c[103311]|0;c[m+1273052>>2]=f;c[m+1273048>>2]=f;c[m+1273036>>2]=f;c[m+1273032>>2]=f;c[m+1273020>>2]=f;c[m+1273016>>2]=f;c[m+1273004>>2]=f;c[m+1273e3>>2]=f;c[m+1272996>>2]=f;c[m+1274068>>2]=f;c[m+1274056>>2]=f;c[m+1274048>>2]=f;c[m+1274040>>2]=f;c[m+1274032>>2]=f;c[m+1274028>>2]=f;c[m+1274024>>2]=f;c[m+1274020>>2]=f;c[m+1274016>>2]=f;c[m+1275092>>2]=f;c[m+1275084>>2]=f;c[m+1275080>>2]=f;c[m+1275068>>2]=f;c[m+1275064>>2]=f;c[m+1275056>>2]=f;c[m+1275052>>2]=f;c[m+1275048>>2]=f;c[m+1275044>>2]=f;c[m+1275040>>2]=f;c[m+1276116>>2]=f;c[m+1276104>>2]=f;c[m+1276096>>2]=f;c[m+1276088>>2]=f;c[m+1276080>>2]=f;c[m+1276076>>2]=f;c[m+1276072>>2]=f;c[m+1276068>>2]=f;c[m+1276064>>2]=f;c[m+1277148>>2]=f;c[m+1277144>>2]=f;c[m+1277132>>2]=f;c[m+1277128>>2]=f;c[m+1277120>>2]=f;c[m+1277112>>2]=f;c[m+1277100>>2]=f;c[m+1277096>>2]=f;c[m+1277092>>2]=f;f=c[70]|0}c[70]=f+1}while(0);f=c[80]|0;if((a[f+50>>0]|0)==0|(a[340]|0)==0){l=o;return}Ak(f+131032|0);n=c[103311]|0;c[m+1273052>>2]=n;c[m+1273048>>2]=n;c[m+1273036>>2]=n;c[m+1273024>>2]=n;c[m+1273016>>2]=n;c[m+1273008>>2]=n;c[m+1273e3>>2]=n;c[m+1272996>>2]=n;c[m+1274068>>2]=n;c[m+1274060>>2]=n;c[m+1274052>>2]=n;c[m+1274048>>2]=n;c[m+1274040>>2]=n;c[m+1274032>>2]=n;c[m+1274016>>2]=n;c[m+1275092>>2]=n;c[m+1275084>>2]=n;c[m+1275080>>2]=n;c[m+1275072>>2]=n;c[m+1275064>>2]=n;c[m+1275060>>2]=n;c[m+1275056>>2]=n;c[m+1275048>>2]=n;c[m+1275044>>2]=n;c[m+1275040>>2]=n;c[m+1276116>>2]=n;c[m+1276108>>2]=n;c[m+1276096>>2]=n;c[m+1276088>>2]=n;c[m+1276072>>2]=n;c[m+1277148>>2]=n;c[m+1277144>>2]=n;c[m+1277132>>2]=n;c[m+1277120>>2]=n;c[m+1277108>>2]=n;c[m+1277104>>2]=n;c[m+1277092>>2]=n;c[m+1277088>>2]=n;l=o;return}function aj(b,d){b=b|0;d=d|0;var e=0;switch(b|0){case 0:{c[46]=120;b=188;d=44900;e=b+20|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));return}case 1:{c[46]=120;b=188;d=44920;e=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));return}default:return}}function bj(){var b=0,d=0,e=0;C2(c[(c[80]|0)+52>>2]|0);C2(c[71]|0);C2(c[72]|0);C2(c[73]|0);C2(c[74]|0);C2(c[75]|0);C2(c[76]|0);C2(c[77]|0);C2(c[78]|0);C2(c[79]|0);C2(c[80]|0);C2(c[81]|0);C2(c[82]|0);C2(c[83]|0);b=c[11]|0;if(!b)return;d=c[b+24>>2]|0;a[d+1412380>>0]=0;ep(d);ep(d);ep(d);qo(d);fq(d);e=c[d+1411580>>2]|0;if(e|0)C2(e);C2(c[d+1263928>>2]|0);C2(d);C2(b);return}function cj(){var b=0,d=0;d=c[284+((a[178]|0)*20|0)>>2]|0;b=c[77]|0;li[c[b+4128>>2]&511](b,c[d+4>>2]|0);if(!(a[(c[77]|0)+4124>>0]|0))return;b=c[d+65732>>2]|0;if(!b)return;fi[b&511](d);return}function dj(){var a=0;a=(c[18]|0)+-2|0;if(a>>>0<10)return (769>>>(a&1023)&1)!=0|0;else return 0;return 0}function ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+272|0;h=i;e=i+4|0;f=i+8|0;if(!(a[b+4124>>0]|0)){l=i;return}c[e>>2]=0;g=vk(b+28|0,e)|0;if(g|0){u6(d|0,0,65536)|0;e=c[e>>2]|0;if((e|0)>65536){c[h>>2]=65536;h3(f,45022,h)|0;kj(b,f,6)}s6(d|0,g|0,((e|0)<65535?e:65535)|0)|0;C2(g)}l=i;return}function fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+4112|0;i=j+8|0;h=j;if(!e){Kj(b,d);l=j;return}c[h>>2]=0;x4(421784,d)|0;d=r4(421784)|0;if(d>>>0>4){d=421784+d|0;if(((m5(421784,44999)|0)+4|0)!=(d|0))f=5}else{d=421784+d|0;f=5}if((f|0)==5){a[d>>0]=a[44999]|0;a[d+1>>0]=a[45e3]|0;a[d+2>>0]=a[45001]|0;a[d+3>>0]=a[45002]|0;a[d+4>>0]=a[45003]|0}g=b+4916|0;f=tk(c[g>>2]|0,e,h)|0;if(f|0){a[b+13125>>0]=1;d=c[b+4912>>2]|0;ti[c[d+1262812>>2]&63](d+81920|0,f,c[h>>2]|0,1);fi[c[d+1262784>>2]&511](d);d=b+4920|0;if((d|0)!=421784)x4(d,421784)|0;Xi();kj(b,48530,3);kj(b,d,15);kj(b,48587,3);kj(b,48601,15);kj(b,48605,3);C2(f)}kj(b,45395,0);x4(i,(c[g>>2]|0)+4096|0)|0;if(r4(i)|0)kj(b,i,3);kj(b,367429,15);l=j;return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;kj(a,b|0?b:86763,6);kj(a,45395,0);x4(d,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(a,367429,15);l=e;return}kj(a,d,3);kj(a,367429,15);l=e;return}function hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+4096|0;e=f;kj(a,b,d);kj(a,45395,0);x4(e,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(e)|0)){kj(a,367429,15);l=f;return}kj(a,e,3);kj(a,367429,15);l=f;return}function ij(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+8224|0;y=C;A=C+4120|0;u=C+24|0;s=C+16|0;t=C+12|0;B=e+4912|0;z=c[B>>2]|0;f=(b[z+65414>>1]<<1&65535)<<16>>16>>10;if(f<<16>>16){r=e+16|0;q=(c[r>>2]|0)+(f<<16>>16>0?-3:3)|0;q=(q|0)>0?q:0;p=c[e+8>>2]|0;c[r>>2]=(q|0)>(p|0)?p:q}if(c[z+65416>>2]|0){r=c[2]|0;a:do if(Uh[c[r+1262808>>2]&63](r,58,20,3)|0){h=e+13112|0;f=c[h>>2]|0;if(!f){f=c[e+13116>>2]|0;c[h>>2]=f;if(!f)break}else{g=c[f+8>>2]|0;if(g){c[h>>2]=g;f=g}}r=e+4148|0;u6(r|0,0,760)|0;x4(r,c[f>>2]|0)|0;c[e+4908>>2]=r4(r)|0}else{r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,59,20,3)|0){g=e+13112|0;f=c[g>>2]|0;if(!f)break;h=c[f+4>>2]|0;if(h){c[g>>2]=h;f=h}r=e+4148|0;u6(r|0,0,760)|0;x4(r,c[f>>2]|0)|0;c[e+4908>>2]=r4(r)|0;break}r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,60,20,3)|0){f=e+4908|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+-1;break}r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,61,20,3)|0){r=e+4908|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;p=r4(e+4148|0)|0;c[r>>2]=q>>>0>p>>>0?p:q;break}r=c[2]|0;if(!(Uh[c[r+1262808>>2]&63](r,50,20,3)|0)){r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,51,20,3)|0){f=e+4908|0;r=c[f>>2]|0;g=r+-1|0;h=e+4148+g|0;if(!r)break;c[f>>2]=g;t6(h|0,h+1|0,r4(h)|0)|0;break}r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,52,20,3)|0){r=(c[e+4908>>2]|0)+(e+4148)|0;t6(r|0,r+1|0,r4(r)|0)|0;break}r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,56,20,3)|0){c[e+4908>>2]=0;break}r=c[2]|0;if(Uh[c[r+1262808>>2]&63](r,57,20,3)|0){c[e+4908>>2]=r4(e+4148|0)|0;break}r=c[2]|0;if(!(Uh[c[r+1262808>>2]&63](r,49,20,3)|0))break;i=e+4148|0;h=r4(i)|0;if(!h)break;f=s4(i,32)|0;if((f|0)!=0?(g=f+1|0,(r4(g)|0)!=0):0){f=c[e+4916>>2]|0;x4(425913,f)|0;f=f+4096|0;if(r4(f)|0){Y5(425913,f)|0;r=425913+(r4(425913)|0)|0;a[r>>0]=47;a[r+1>>0]=0}nk(1,g,1);nk(1,g,0);c[e+4908>>2]=r4(i)|0;break}else f=0;while(1){g=c[512+(f<<4)>>2]|0;f=f+1|0;if(!(g3(g,i,h)|0))break;if(f>>>0>=23)break a}x4(i,g)|0;c[e+4908>>2]=r4(i)|0;break}c[e+4908>>2]=0;r=e+4148|0;if(!(r4(r)|0)){kj(e,45395,0);x4(A,(c[e+4916>>2]|0)+4096|0)|0;if(r4(A)|0)kj(e,A,3);kj(e,367429,15);break}kj(e,r,15);f=B2(12)|0;c[f>>2]=P4(r)|0;g=f+8|0;c[g>>2]=0;c[f+4>>2]=0;h=e+13116|0;i=c[h>>2]|0;if(!i){c[h>>2]=f;p=r}else{c[i+4>>2]=f;c[g>>2]=i;c[h>>2]=f;c[e+13112>>2]=0;p=r}while(1)if((a[p>>0]|0)==32)p=p+1|0;else break;f=p+(r4(p)|0)+-1|0;if((a[f>>0]|0)==32&f>>>0>p>>>0)do{a[f>>0]=0;f=f+-1|0}while(f>>>0>p>>>0&(a[f>>0]|0)==32);f=s4(p,32)|0;if(!f)q=0;else{q=f+1|0;a[f>>0]=0;q=(a[q>>0]|0)==0?0:q}n=a[p>>0]|0;o=n<<24>>24;b:do if(!(n<<24>>24)){g=Y2(o)|0;f=0;while(1){if(!(((Y2(a[c[512+(f<<4)>>2]>>0]|0)|0)^g)&255)){w=45;break b}if(772>>>f&1|0?(p=a[c[512+(f<<4)+4>>2]>>0]|0,w=Y2(0)|0,(((Y2(p)|0)^w)&255|0)==0):0){w=45;break b}f=f+1|0;if(f>>>0>=23){w=47;break}}}else{f=0;while(1){g=c[512+(f<<4)>>2]|0;i=a[g>>0]|0;h=i<<24>>24;c:do if(!(i<<24>>24))g=o;else{m=p;j=g;k=n;g=o;do{w=Y2(k&255)|0;if(((Y2(i&255)|0)^w)&255|0)break c;m=m+1|0;j=j+1|0;k=a[m>>0]|0;g=k<<24>>24;i=a[j>>0]|0;h=i<<24>>24}while(!(k<<24>>24==0|i<<24>>24==0))}while(0);w=Y2(g)|0;if(!(((Y2(h)|0)^w)&255)){w=45;break b}if(772>>>f&1|0){g=c[512+(f<<4)+4>>2]|0;i=a[g>>0]|0;h=i<<24>>24;d:do if(!(i<<24>>24))g=o;else{m=p;j=g;k=n;g=o;do{w=Y2(k&255)|0;if(((Y2(i&255)|0)^w)&255|0)break d;m=m+1|0;j=j+1|0;k=a[m>>0]|0;g=k<<24>>24;i=a[j>>0]|0;h=i<<24>>24}while(!(k<<24>>24==0|i<<24>>24==0))}while(0);w=Y2(g)|0;if(!(((Y2(h)|0)^w)&255)){w=45;break b}}f=f+1|0;if(f>>>0>=23){w=47;break}}}while(0);if((w|0)==45)li[c[512+(f<<4)+12>>2]&511](e,q);else if((w|0)==47){kj(e,45395,0);kj(e,45397,6);kj(e,r,6);kj(e,45395,0);x4(A,(c[e+4916>>2]|0)+4096|0)|0;if(r4(A)|0)kj(e,A,3);kj(e,367429,15)}u6(r|0,0,760)|0}while(0);f=c[2]|0;g=f+65416|0;h=f+1262808|0;if(!(((!(Uh[c[h>>2]&63](f,a[g>>0]|0,20,3)|0)?!(Uh[c[h>>2]&63](f,a[g+1>>0]|0,20,3)|0):0)?!(Uh[c[h>>2]&63](f,a[g+2>>0]|0,20,3)|0):0)?!(Uh[c[h>>2]&63](f,a[g+3>>0]|0,20,3)|0):0)){i=e+8|0;f=c[i>>2]|0;if((f|0)>1215){g=e+4140|0;h=e+4144|0;do{j=c[g>>2]|0;t6(j|0,j+40|0,48600)|0;j=j+48600|0;k=j+40|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));j=c[h>>2]|0;t6(j|0,j+40|0,48600)|0;j=j+48600|0;k=j+40|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));f=(c[i>>2]|0)+-1|0;c[i>>2]=f}while((f|0)>1215)}f=f+-18|0;g=e+16|0;if((c[g>>2]|0)<(f|0))c[g>>2]=f;c[e+12>>2]=30}f=a[z+65420>>0]|0;if(f<<24>>24){if((r4(e+4148|0)|0)>>>0<760){r=e+4908|0;q=(c[r>>2]|0)+(e+4148)|0;t6(q+1|0,q|0,r4(q)|0)|0;a[(c[r>>2]|0)+(e+4148)>>0]=f;c[r>>2]=(c[r>>2]|0)+1}c[e+12>>2]=30}}r=e+13120|0;do if(!(c[r>>2]|0)){if(a[e+4132>>0]|0){kj(e,45974,3);break}c[t>>2]=0;u6(u+19|0,0,4077)|0;j=u;g=45414;k=j+19|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));q=e+4916|0;f=c[q>>2]|0;g=f+4096|0;x4(A,g)|0;u6(g|0,0,4096)|0;f=sk(f,u,t)|0;x4(g,A)|0;g=c[t>>2]|0;do if((f|0)==0|(g|0)==0){c[s>>2]=0;g=_i(s,45433,436)|0;c[t>>2]=g;f=c[s>>2]|0;if(!f)break;else{s=c[q>>2]|0;w=s+4096|0;x4(A,w)|0;u6(w|0,0,4096)|0;uk(s,u,f,g,0)|0;x4(w,A)|0;g=c[t>>2]|0;w=94;break}}else w=94;while(0);if((w|0)==94){h=c[B>>2]|0;ti[c[h+1262812>>2]&63](h+81920|0,f,g,0);j=h+212888|0;g=(c[(c[80]|0)+56>>2]|0)+130968|0;k=j+48|0;do{c[j>>2]=c[g>>2];j=j+4|0;g=g+4|0}while((j|0)<(k|0));fi[c[h+1262784>>2]&511](h);C2(f)}u6(e+4920|0,0,4096)|0;Xi();kj(e,45869,3);kj(e,45884,15);kj(e,45889,3);e:do if((a[(c[80]|0)+48>>0]|0?(c[u>>2]=0,v=Sh[c[(c[40>>2]|0)+24>>2]&255](45900,u)|0,(v|0)!=0&(c[u>>2]|0)!=0):0)?(x=MA(1,0)|0,x|0):0){p=x+12|0;c[(c[p>>2]|0)+132>>2]=387;u=r4(v)|0;c[A>>2]=v;c[A+4>>2]=u;if(!(wz(x,6,A,v,0)|0)){o=x+8|0;f=(c[o>>2]|0)+-16|0;c[A>>2]=f;c[A+4>>2]=-1;f=Tz(x,151,A,f-(c[x+28>>2]|0)|0,0)|0;g=(c[x+16>>2]|0)+4|0;j=c[o>>2]|0;if((c[g>>2]|0)>>>0<j>>>0)c[g>>2]=j;if(!f){i=c[p>>2]|0;f=c[i+40>>2]|0;f:do if((c[f+8>>2]|0)>>>0>1)h=(c[f+12>>2]|0)+16|0;else{g=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[g+24>>2]|0)==19?(v=g+16|0,(c[v>>2]|0)==2&(c[v+4>>2]|0)==0):0)break;f=c[g+28>>2]|0;if(!f){h=412368;break f}g=g+(f<<5)|0}h=g}while(0);g=i+280+(((45916>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(45916,f+16|0)|0){f=QA(x,45916,5)|0;c[g>>2]=f}c[j>>2]=f;c[j+8>>2]=(a[f+4>>0]|64)&255;k=c[o>>2]|0;c[o>>2]=k+16;bB(x,h,k,k);k=c[o>>2]|0;if((c[k+-8>>2]|0)==19)g=c[k+-16>>2]|0;else g=0;m=k+-16|0;c[o>>2]=m;j=c[p>>2]|0;f=c[j+40>>2]|0;g:do if((c[f+8>>2]|0)>>>0>1)i=(c[f+12>>2]|0)+16|0;else{h=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+3&2)<<5)|0;while(1){if((c[h+24>>2]|0)==19?(v=h+16|0,(c[v>>2]|0)==2&(c[v+4>>2]|0)==0):0)break;f=c[h+28>>2]|0;if(!f){i=412368;break g}h=h+(f<<5)|0}i=h}while(0);h=j+280+(((45922>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(45922,f+16|0)|0){f=QA(x,45922,5)|0;c[h>>2]=f}c[m>>2]=f;c[k+-8>>2]=(a[f+4>>0]|64)&255;m=c[o>>2]|0;c[o>>2]=m+16;bB(x,i,m,m);m=c[o>>2]|0;if((c[m+-8>>2]|0)==19)f=c[m+-16>>2]|0;else f=70;n=m+-16|0;c[o>>2]=n;k=c[p>>2]|0;h=c[k+40>>2]|0;h:do if((c[h+8>>2]|0)>>>0>1)j=(c[h+12>>2]|0)+16|0;else{i=(c[h+16>>2]|0)+(((1<<d[h+7>>0])+3&2)<<5)|0;while(1){if((c[i+24>>2]|0)==19?(v=i+16|0,(c[v>>2]|0)==2&(c[v+4>>2]|0)==0):0)break;h=c[i+28>>2]|0;if(!h){j=412368;break h}i=i+(h<<5)|0}j=i}while(0);i=k+280+(((45928>>>0)%127|0)<<2)|0;h=c[i>>2]|0;if(e3(45928,h+16|0)|0){h=QA(x,45928,5)|0;c[i>>2]=h}c[n>>2]=h;c[m+-8>>2]=(a[h+4>>0]|64)&255;h=c[o>>2]|0;c[o>>2]=h+16;bB(x,j,h,h);h=c[o>>2]|0;if((c[h+-8>>2]|0)==19)i=c[h+-16>>2]|0;else i=6;c[o>>2]=h+-16;OA(c[(c[p>>2]|0)+136>>2]|0);do if((g|0)<=0){if(g|0)break e;if((f|0)>70){g=0;break}if((f|0)==70&(i|0)>6){g=0;f=70}else break e}while(0);u6(A|0,0,4096)|0;c[y>>2]=g;c[y+4>>2]=f;c[y+8>>2]=i;h3(A,45934,y)|0;kj(e,A,11);break}}OA(c[(c[p>>2]|0)+136>>2]|0)}while(0);kj(e,45395,0);x4(A,(c[q>>2]|0)+4096|0)|0;if(r4(A)|0)kj(e,A,3);kj(e,367429,15)}while(0);li[c[z+1262676>>2]&511](z,0);k=c[e+4140>>2]|0;m=e+16|0;f=(c[m>>2]|0)*40|0;if((f|0)<48640){j=f;h=(c[e+4144>>2]|0)+f|0;i=0;f=0;while(1){g=a[k+j>>0]|0;j=j+1|0;if(g<<24>>24){y=c[B>>2]|0;Xh[c[y+1262660>>2]&3](y,g,f*6|0,i*7|0,a[h>>0]|0,0)|0}f=f+1|0;g=(f|0)==40;if((j|0)==48640)break;else{h=h+1|0;i=(g&1)+i|0;f=g?0:f}}}h=e+4132|0;if(!(a[h>>0]|0)){o=e+12|0;f=c[o>>2]|0;if(f|0)c[o>>2]=f+-1;if((c[18]|0)!=1){l=C;return}h=(c[e+4>>2]|0)*6|0;g=((c[e+8>>2]|0)-(c[m>>2]|0)|0)*7|0;i=e+4148|0;A=r4(i)|0;m=e+4148+A|0;n=e+4908|0;f=(c[n>>2]|0)==0;if(A){k=0;do{j=a[i>>0]|0;i=i+1|0;if(f){if((c[o>>2]|0)==0?(((c[r>>2]|0)>>>0)%60|0)>>>0>=30:0)f=15;else{f=c[B>>2]|0;Ai[c[f+1262692>>2]&15](f,h+-1|0,g+-1|0,7,7,6);f=0}A=c[B>>2]|0;Xh[c[A+1262660>>2]&3](A,j,h,g,f,0)|0}else{A=c[B>>2]|0;Xh[c[A+1262660>>2]&3](A,j,h,g,15,0)|0}k=k+1|0;h=h+6|0;f=(h|0)==240;g=f?g+7|0:g;h=f?0:h;f=(c[n>>2]|0)==(k|0)}while((i|0)!=(m|0))}if(f){if((c[o>>2]|0)==0?(((c[r>>2]|0)>>>0)%60|0)>>>0>=30:0)f=15;else{f=c[B>>2]|0;Ai[c[f+1262692>>2]&15](f,h+-1|0,g+-1|0,7,7,6);f=0}B=c[B>>2]|0;Xh[c[B+1262660>>2]&3](B,32,h,g,f,0)|0}}else{g=e+13127|0;f=(a[g>>0]|0)!=0;if((c[r>>2]|0)>>>0>=(f?1:60)>>>0){if(!f)a[e+13125>>0]=1;s6(z+81920|0,c[e+4136>>2]|0,1178692)|0;f=c[18]|0;switch(f|0){case 2:break;case 10:case 9:case 1:case 0:{w=164;break}case 11:{c[19]=3;w=164;break}default:{c[19]=f;w=164}}if((w|0)==164){_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2}a[h>>0]=0;a[g>>0]=0;Xi();fi[c[z+1262784>>2]&511](z);kj(e,45395,0);kj(e,45395,0);x4(A,(c[e+4916>>2]|0)+4096|0)|0;if(r4(A)|0)kj(e,A,3);kj(e,367429,15);a[e+13124>>0]=1;l=C;return}}c[r>>2]=(c[r>>2]|0)+1;f=e+13126|0;if(!(a[f>>0]|0)){l=C;return}a[f>>0]=0;e=c[83]|0;B=c[77]|0;f=c[B+4916>>2]|0;c[e>>2]=c[2];c[e+4>>2]=f;c[e+8>>2]=B;c[e+12>>2]=413292;a[e+16>>0]=0;B=e+20|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[e+40>>2]=190;c[e+44>>2]=191;yk(f,93595);f=c[18]|0;i:do switch(f|0){case 2:{e=c[2]|0;fi[c[e+1262788>>2]&511](e);e=c[2]|0;fi[c[e+1262784>>2]&511](e);break}case 11:{l=C;return}default:{e=c[2]|0;fi[c[e+1262784>>2]&511](e);switch(f|0){case 9:case 10:case 1:case 0:break i;default:{}}c[19]=f}}while(0);e=c[83]|0;fi[c[e+44>>2]&511](e);c[18]=11;l=C;return}function jj(a){a=a|0;return lj(a,0)|0}function kj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[n>>2]=d;Q5(392253,n);n=r4(d)|0;i=d+n|0;if(!n){l=p;return}j=b+8|0;k=b+4140|0;m=b+4144|0;n=b+16|0;h=b+4|0;do{g=a[d>>0]|0;d=d+1|0;b=c[j>>2]|0;if((b|0)>1215)do{b=c[k>>2]|0;t6(b|0,b+40|0,48600)|0;b=b+48600|0;f=b+40|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));b=c[m>>2]|0;t6(b|0,b+40|0,48600)|0;b=b+48600|0;f=b+40|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));b=(c[j>>2]|0)+-1|0;c[j>>2]=b}while((b|0)>1215);f=b+-18|0;if((c[n>>2]|0)<(f|0))c[n>>2]=f;if(g<<24>>24!=10){f=(c[h>>2]|0)+(b*40|0)|0;a[(c[k>>2]|0)+f>>0]=g;a[(c[m>>2]|0)+f>>0]=e;g=c[h>>2]|0;c[h>>2]=g+1;if((g|0)>38){c[h>>2]=0;b=c[j>>2]|0;o=10}}else{c[h>>2]=0;o=10}if((o|0)==10){o=0;c[j>>2]=b+1}}while((d|0)!=(i|0));l=p;return}function lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=b+4920|0;while(1){if(d|0?a[d>>0]|0:0)break;if(!(r4(f)|0)){d=2;h=19;break}else d=f}if((h|0)==19)return d|0;e=c[b+4912>>2]|0;g=B2(3536076)|0;if(!g)d=0;else{if(!(e3(d,92792)|0)){h=c[b>>2]|0;fi[c[h+1178756>>2]&511](h);Wi();h=0;return h|0}x4(421784,d)|0;d=r4(421784)|0;if(d>>>0>4){d=421784+d|0;if(((m5(421784,44999)|0)+4|0)!=(d|0))h=9}else{d=421784+d|0;h=9}if((h|0)==9){a[d>>0]=a[44999]|0;a[d+1>>0]=a[45e3]|0;a[d+2>>0]=a[45001]|0;a[d+3>>0]=a[45002]|0;a[d+4>>0]=a[45003]|0}d=Sh[c[e+1262816>>2]&255](e+81920|0,g)|0;if((d|0)!=0?uk(c[b+4916>>2]|0,421784,g,d,1)|0:0){if((f|0)!=421784)x4(f,421784)|0;Wi();d=1}else d=0;C2(g)}h=d&1^1;return h|0}function mj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(g3(a,d,r4(d)|0)|0){e=1;return e|0}x4(d,a)|0;e=0;return e|0}function nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+4160|0;j=m+64|0;k=m;kj(b,86713,3);i=0;e=0;do{d=r4(c[512+(e<<4)>>2]|0)|0;if(772>>>e&1)d=d+1+(r4(c[512+(e<<4)+4>>2]|0)|0)|0;i=d>>>0>i>>>0?d:i;e=e+1|0}while((e|0)!=23);h=0;do{g=c[512+(h<<4)>>2]|0;x4(k,g)|0;d=a[k>>0]|0;if(d<<24>>24){e=k;do{a[e>>0]=Y2(d<<24>>24)|0;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}kj(b,k,15);f=c[512+(h<<4)+4>>2]|0;if(!(772>>>h&1)){e=r4(g)|0;d=-1}else{x4(k,f)|0;d=a[k>>0]|0;if(d<<24>>24){e=k;do{a[e>>0]=Y2(d<<24>>24)|0;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}kj(b,367409,3);kj(b,k,15);e=r4(g)|0;d=r4(f)|0}d=i-e-d|0;if(d|0)do{d=d+-1|0;kj(b,385542,3)}while((d|0)!=0);kj(b,c[512+(h<<4)+8>>2]|0,3);kj(b,45395,0);h=h+1|0}while((h|0)!=23);kj(b,86736,3);kj(b,94653,15);kj(b,86744,3);kj(b,45395,0);x4(j,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(j)|0)){kj(b,367429,15);l=m;return}kj(b,j,3);kj(b,367429,15);l=m;return}function oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+4160|0;g=h+16|0;f=h;e=h+4112|0;kj(a,45395,0);Zj(a,86287);b=0;d=0;do{j=c[1112+(b<<3)+4>>2]|0;b=b+1|0;i=d;d=c[1112+(b<<3)>>2]|0;c[g>>2]=i;c[g+4>>2]=j;c[g+8>>2]=d-i;h3(e,86478,g)|0;Zj(a,e)}while((b|0)!=20);c[f>>2]=81920;c[f+4>>2]=371374;c[f+8>>2]=0;h3(e,86478,f)|0;Zj(a,e);Zj(a,86503);kj(a,45395,0);kj(a,45395,0);x4(g,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(g)|0)){kj(a,367429,15);l=h;return}kj(a,g,3);kj(a,367429,15);l=h;return}function pj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+4096|0;b=d;Ti();kj(a,45395,0);x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(b)|0)){kj(a,367429,15);l=d;return}kj(a,b,3);kj(a,367429,15);l=d;return}function qj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!(Yi()|0)){Yj(b,d);return}f=B2(12)|0;c[f>>2]=b;if(!d)b=0;else b=P4(d)|0;c[f+4>>2]=b;c[f+8>>2]=152;if((c[18]|0)==9)return;b=c[81]|0;e=c[2]|0;d=b+8|0;h=c[d>>2]|0;c[b>>2]=e;a[b+4>>0]=0;c[b+12>>2]=153;c[b+16>>2]=f;c[b+20>>2]=1092;c[b+24>>2]=5;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;a[f+20>>0]=0;c[b+52>>2]=187;c[b+56>>2]=188;b=h;if(!h){b=B2(16320)|0;c[d>>2]=b;if(b|0)g=7}else g=7;if((g|0)==7)s6(b|0,e|0,16320)|0;b=c[18]|0;c[20]=b;a:do switch(b|0){case 2:{h=c[2]|0;fi[c[h+1262788>>2]&511](h);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}case 9:return;default:{h=c[2]|0;fi[c[h+1262784>>2]&511](h);switch(b|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=9;return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!(Yi()|0)){Kj(b,d);return}f=B2(12)|0;c[f>>2]=b;if(!d)b=0;else b=P4(d)|0;c[f+4>>2]=b;c[f+8>>2]=154;if((c[18]|0)==9)return;b=c[81]|0;e=c[2]|0;d=b+8|0;h=c[d>>2]|0;c[b>>2]=e;a[b+4>>0]=0;c[b+12>>2]=153;c[b+16>>2]=f;c[b+20>>2]=880;c[b+24>>2]=5;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;a[f+20>>0]=0;c[b+52>>2]=187;c[b+56>>2]=188;b=h;if(!h){b=B2(16320)|0;c[d>>2]=b;if(b|0)g=7}else g=7;if((g|0)==7)s6(b|0,e|0,16320)|0;b=c[18]|0;c[20]=b;a:do switch(b|0){case 2:{h=c[2]|0;fi[c[h+1262788>>2]&511](h);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}case 9:return;default:{h=c[2]|0;fi[c[h+1262784>>2]&511](h);switch(b|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=9;return}function sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;g=i;if(d|0?a[d>>0]|0:0){f=c[b+4916>>2]|0;x4(421784,d)|0;e=r4(421784)|0;if(e>>>0>4){e=421784+e|0;if(((m5(421784,44999)|0)+4|0)!=(e|0))h=6}else{e=421784+e|0;h=6}if((h|0)==6){a[e>>0]=a[44999]|0;a[e+1>>0]=a[45e3]|0;a[e+2>>0]=a[45001]|0;a[e+3>>0]=a[45002]|0;a[e+4>>0]=a[45003]|0}x4(425913,f)|0;e=f+4096|0;if(r4(e)|0){Y5(425913,e)|0;f=425913+(r4(425913)|0)|0;a[f>>0]=47;a[f+1>>0]=0}Y5(425913,421784)|0;if(!(O4(425913,g)|0)){e=B2(12)|0;c[e>>2]=b;c[e+4>>2]=P4(d)|0;c[e+8>>2]=155;if((c[18]|0)==9){l=i;return}b=c[81]|0;g=c[2]|0;f=b+8|0;d=c[f>>2]|0;c[b>>2]=g;a[b+4>>0]=0;c[b+12>>2]=153;c[b+16>>2]=e;c[b+20>>2]=1072;c[b+24>>2]=5;e=b+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[e+20>>0]=0;c[b+52>>2]=187;c[b+56>>2]=188;e=d;if(!d){e=B2(16320)|0;c[f>>2]=e;if(e|0)h=13}else h=13;if((h|0)==13)s6(e|0,g|0,16320)|0;e=c[18]|0;c[20]=e;a:do switch(e|0){case 2:{h=c[2]|0;fi[c[h+1262788>>2]&511](h);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}case 9:{l=i;return}default:{h=c[2]|0;fi[c[h+1262784>>2]&511](h);switch(e|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=e;break a}}}}while(0);c[18]=9;l=i;return}}Xj(b,d);l=i;return}function tj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+4096|0;b=d;kj(a,45395,0);x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(r4(b)|0)kj(a,b,3);kj(a,367429,15);b=c[a+4912>>2]|0;fi[c[b+1262784>>2]&511](b);b=c[18]|0;switch(b|0){case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}case 2:{l=d;return}default:c[19]=b}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;l=d;return}function uj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+4096|0;b=d;kj(a,45395,0);x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(r4(b)|0)kj(a,b,3);kj(a,367429,15);a=c[a+4912>>2]|0;fi[c[a+1262792>>2]&511](a);c[18]=2;l=d;return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+4096|0;d=g;kj(a,45395,0);e=a+4912|0;f=c[e>>2]|0;f=c[(Rh[c[f+1262832>>2]&511](f)|0)+28>>2]|0;do if(f)if(!b){kj(a,86084,6);break}else{li[f&511](c[e>>2]|0,b);break}else kj(a,86100,6);while(0);kj(a,45395,0);x4(d,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(a,367429,15);l=g;return}kj(a,d,3);kj(a,367429,15);l=g;return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+4112|0;d=h+8|0;e=h;c[e>>2]=0;c[e+4>>2]=b;kj(b,45395,0);f=b+4916|0;g=c[f>>2]|0;x4(425913,g)|0;g=g+4096|0;if(r4(g)|0){Y5(425913,g)|0;g=425913+(r4(425913)|0)|0;a[g>>0]=47;a[g+1>>0]=0}nk(2,e,1);nk(2,e,0);if(!(c[e>>2]|0)){kj(b,86041,3);kj(b,86048,15);kj(b,86052,3);kj(b,86057,15);kj(b,86062,3)}kj(b,45395,0);kj(b,45395,0);x4(d,(c[f>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=h;return}kj(b,d,3);kj(b,367429,15);l=h;return}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+4096|0;i=k;do if((d|0)!=0?(a[d>>0]|0)!=0:0){if(!(e3(d,367409)|0)){e=b+4916|0;u6((c[e>>2]|0)+4096|0,0,4096)|0;break}h=(e3(d,371371)|0)==0;e=b+4916|0;f=c[e>>2]|0;if(h){g=f+4096|0;if(!(e3(g,87467)|0)){u6(g|0,0,4096)|0;break}d=r4(g)|0;f=f+4096+d|0;a:do if((d|0)>0)do{if((a[f>>0]|0)==47)break a;f=f+-1|0}while(f>>>0>g>>>0);while(0);a[f>>0]=0;break}else{if(!(pk(f,d)|0)){kj(b,86022,3);break}f=c[e>>2]|0;if(!(pk(f,d)|0))break;g=f+4096|0;h=r4(g)|0;if(h|0){h=f+4096+h|0;a[h>>0]=47;a[h+1>>0]=0}Y5(g,d)|0;break}}else j=18;while(0);if((j|0)==18){kj(b,86004,3);e=b+4916|0}kj(b,45395,0);x4(i,(c[e>>2]|0)+4096|0)|0;if(!(r4(i)|0)){kj(b,367429,15);l=k;return}kj(b,i,3);kj(b,367429,15);l=k;return}function yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+4096|0;e=f;if((d|0)!=0?(a[d>>0]|0)!=0:0){g=b+4916|0;yk(c[g>>2]|0,d);d=g}else{kj(b,86004,3);d=b+4916|0}kj(b,45395,0);x4(e,(c[d>>2]|0)+4096|0)|0;if(!(r4(e)|0)){kj(b,367429,15);l=f;return}kj(b,e,3);kj(b,367429,15);l=f;return}function zj(a,b){a=a|0;b=b|0;var d=0;d=c[a+4916>>2]|0;b=B2(12)|0;c[b>>2]=d;c[b+4>>2]=4;c[b+8>>2]=a;li[c[(c[40>>2]|0)+28>>2]&511](1,b);return}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+4112|0;f=j+8|0;g=j;if(!d){kj(b,85869,3);kj(b,45395,0);x4(f,(c[b+4916>>2]|0)+4096|0)|0;if(r4(f)|0)kj(b,f,3);kj(b,367429,15);l=j;return}e=c[b+4916>>2]|0;c[g>>2]=0;h=sk(e,d,g)|0;if(!h)Uj(0,b);else{i=B2(12)|0;c[i>>2]=156;c[i+4>>2]=b;c[i+8>>2]=h;x4(425913,e)|0;b=e+4096|0;if(r4(b)|0){Y5(425913,b)|0;e=425913+(r4(425913)|0)|0;a[e>>0]=47;a[e+1>>0]=0}Y5(425913,d)|0;e=(O4(425913,f)|0)==0;Ai[c[(c[40>>2]|0)+32>>2]&15](150,d,h,c[g>>2]|0,i,e?c[f+12>>2]|0:0)}l=j;return}function Bj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+4112|0;s=t+16|0;j=t+8|0;k=t;if((e|0?e3(e,85467)|0:0)?e3(e,85474)|0:0){if(e3(e,48653)|0){if(!(e3(e,331761)|0)){e=B2(32640)|0;if(!e){l=t;return}s6(e|0,(c[2]|0)+81920+((a[180]|0)*131016|0)+16384|0,32640)|0;s=B2(12)|0;c[s>>2]=158;c[s+4>>2]=b;c[s+8>>2]=e;Ai[c[(c[40>>2]|0)+32>>2]&15](150,85603,e,32640,s,493);l=t;return}if(e3(e,48647)|0){kj(b,46645,6);kj(b,e,6);kj(b,45395,0);x4(s,(c[b+4916>>2]|0)+4096|0)|0;if(r4(s)|0)kj(b,s,3);kj(b,367429,15);l=t;return}e=c[b+4912>>2]|0;f=e+1130048|0;g=c[f>>2]|0;if(g|0){q=B2(g)|0;s6(q|0,e+1130052|0,c[f>>2]|0)|0;r=c[f>>2]|0;s=B2(12)|0;c[s>>2]=159;c[s+4>>2]=b;c[s+8>>2]=q;Ai[c[(c[40>>2]|0)+32>>2]&15](150,85613,q,r,s,493);l=t;return}kj(b,85623,3);kj(b,45395,0);x4(s,(c[b+4916>>2]|0)+4096|0)|0;if(r4(s)|0)kj(b,s,3);kj(b,367429,15);l=t;return}p=B2(98304)|0;if(!p){l=t;return}q=B2(32768)|0;if(!q){l=t;return}else e=0;do{g=e<<7;h=((e|0)/8|0)<<4;i=((e|0)%8|0)<<3;f=0;do{n=i+((f|0)%8|0)|0;o=d[(n>>>1)+((c[2]|0)+81920+((a[179]|0)*131016|0)+(h+((f|0)/8|0)<<5))>>0]|0;a[q+(f+g)>>0]=n&1|0?o>>>4:o&15;f=f+1|0}while((f|0)!=128);e=e+1|0}while((e|0)!=256);o=B2(48)|0;if(o){e=0;f=(c[2]|0)+81920+((a[179]|0)*131016|0)+130968|0;while(1){a[o+(e*3|0)>>0]=a[f>>0]|0;a[o+(e*3|0)+1>>0]=a[f+1>>0]|0;a[o+(e*3|0)+2>>0]=a[f+2>>0]|0;e=e+1|0;if((e|0)==16)break;else f=f+3|0}c[j>>2]=0;c[k>>2]=p;n=k+4|0;c[n>>2]=0;m=VN(k,j)|0;c[s>>2]=0;if(m|0){f=B2(16)|0;do if(!f){k=0;h=0}else{e=B2(48)|0;if(!e){C2(f);k=0;h=0;break}if(c[e+-4>>2]&3|0){i=e;j=i+48|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0))}c[f+12>>2]=e;c[f>>2]=16;c[f+4>>2]=4;a[f+8>>0]=0;k=f;h=f}while(0);g=k+12|0;i=c[g>>2]|0;e=o;j=i+48|0;do{a[i>>0]=a[e>>0]|0;i=i+1|0;e=e+1|0}while((i|0)<(j|0));a:do if(WN(m,128,256,4,k)|0?XN(m,128,256,0)|0:0){e=q;f=0;while(1){if(!(_N(m,e,128)|0))break;f=f+1|0;if((f|0)>=256)break a;else e=e+128|0}c[s>>2]=c[m+64>>2]}while(0);$N(m,s);if(k|0){C2(c[g>>2]|0);C2(h)}}e=c[n>>2]|0;C2(o);if(e){s=B2(12)|0;c[s>>2]=157;c[s+4>>2]=b;c[s+8>>2]=p;Ai[c[(c[40>>2]|0)+32>>2]&15](150,85567,p,e,s,493)}else r=32}else r=32;if((r|0)==32){kj(b,85579,6);kj(b,45395,0);x4(s,(c[b+4916>>2]|0)+4096|0)|0;if(r4(s)|0)kj(b,s,3);kj(b,367429,15);C2(p)}C2(q);l=t;return}kj(b,85479,3);kj(b,85534,3);kj(b,45395,0);x4(s,(c[b+4916>>2]|0)+4096|0)|0;if(r4(s)|0)kj(b,s,3);kj(b,367429,15);l=t;return}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;if(!b){kj(a,85236,3);kj(a,45395,0);x4(d,(c[a+4916>>2]|0)+4096|0)|0;if(r4(d)|0)kj(a,d,3);kj(a,367429,15);l=e;return}if(!(e3(b,48653)|0)){d=B2(8)|0;c[d>>2]=2;c[d+4>>2]=a;li[c[(c[40>>2]|0)+28>>2]&511](2,d);l=e;return}if(!(e3(b,331761)|0)){d=B2(8)|0;c[d>>2]=3;c[d+4>>2]=a;li[c[(c[40>>2]|0)+28>>2]&511](2,d);l=e;return}if(!(e3(b,48647)|0)){d=B2(8)|0;c[d>>2]=4;c[d+4>>2]=a;li[c[(c[40>>2]|0)+28>>2]&511](2,d);l=e;return}kj(a,46645,6);kj(a,b,6);kj(a,45395,0);x4(d,(c[a+4916>>2]|0)+4096|0)|0;if(r4(d)|0)kj(a,d,3);kj(a,367429,15);l=e;return}function Dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=B2(12)|0;c[f>>2]=b;if(!d)b=0;else b=P4(d)|0;c[f+4>>2]=b;c[f+8>>2]=160;if((c[18]|0)==9)return;b=c[81]|0;e=c[2]|0;d=b+8|0;h=c[d>>2]|0;c[b>>2]=e;a[b+4>>0]=0;c[b+12>>2]=153;c[b+16>>2]=f;c[b+20>>2]=1056;c[b+24>>2]=4;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;a[f+20>>0]=0;c[b+52>>2]=187;c[b+56>>2]=188;b=h;if(!h){b=B2(16320)|0;c[d>>2]=b;if(b|0)g=6}else g=6;if((g|0)==6)s6(b|0,e|0,16320)|0;b=c[18]|0;c[20]=b;a:do switch(b|0){case 2:{h=c[2]|0;fi[c[h+1262788>>2]&511](h);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}case 9:return;default:{h=c[2]|0;fi[c[h+1262784>>2]&511](h);switch(b|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=9;return}function Ej(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+4096|0;b=d;u6(c[a+4140>>2]|0,0,48640)|0;u6(c[a+4144>>2]|0,0,48640)|0;c[a+16>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(b)|0)){kj(a,367429,15);l=d;return}kj(a,b,3);kj(a,367429,15);l=d;return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+4096|0;d=g;e=a+4916|0;f=c[e>>2]|0;kj(a,48666,3);b=0;do{h=c[948+(b*12|0)>>2]|0;i=c[948+(b*12|0)+4>>2]|0;j=c[948+(b*12|0)+8>>2]|0;c[d>>2]=0;j=_i(d,i,j)|0;i=c[d>>2]|0;uk(f,h,i,j,1)|0;C2(i);kj(a,h,15);kj(a,45395,15);b=b+1|0}while((b|0)!=9);kj(a,45395,0);x4(d,(c[e>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(a,367429,15);l=g;return}kj(a,d,3);kj(a,367429,15);l=g;return}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+4096|0;g=i;if(!d){if(!(Yi()|0)){Kj(b,92792);l=i;return}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(92792)|0;c[d+8>>2]=154;if((c[18]|0)==9){l=i;return}g=c[81]|0;f=c[2]|0;e=g+8|0;b=c[e>>2]|0;c[g>>2]=f;a[g+4>>0]=0;c[g+12>>2]=153;c[g+16>>2]=d;c[g+20>>2]=880;c[g+24>>2]=5;d=g+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[g+52>>2]=187;c[g+56>>2]=188;d=b;if(!b){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=6}else h=6;if((h|0)==6)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;a:do switch(d|0){case 2:{h=c[2]|0;fi[c[h+1262788>>2]&511](h);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}case 9:{l=i;return}default:{h=c[2]|0;fi[c[h+1262784>>2]&511](h);switch(d|0){case 10:case 1:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=d;break a}}}}while(0);c[18]=9;l=i;return}b:do if(e3(d,331881)|0){if(e3(d,396213)|0?e3(d,46466)|0:0){if(e3(d,46478)|0?e3(d,46491)|0:0){if(!(e3(d,46534)|0)){if(!(Yi()|0)){Mj(b,46549);break}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(46549)|0;c[d+8>>2]=161;if((c[18]|0)==9)break;k=c[81]|0;f=c[2]|0;e=k+8|0;j=c[e>>2]|0;c[k>>2]=f;a[k+4>>0]=0;c[k+12>>2]=153;c[k+16>>2]=d;c[k+20>>2]=900;c[k+24>>2]=5;d=k+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[k+52>>2]=187;c[k+56>>2]=188;d=j;if(!j){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=49}else h=49;if((h|0)==49)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;c:do switch(d|0){case 9:break b;case 2:{k=c[2]|0;fi[c[k+1262788>>2]&511](k);k=c[2]|0;fi[c[k+1262784>>2]&511](k);break}default:{k=c[2]|0;fi[c[k+1262784>>2]&511](k);switch(d|0){case 10:case 1:case 0:break c;case 11:{c[19]=3;break c}default:{c[19]=d;break c}}}}while(0);c[18]=9;break}if(!(e3(d,46575)|0)){if(!(Yi()|0)){Mj(b,46586);break}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(46586)|0;c[d+8>>2]=161;if((c[18]|0)==9)break;j=c[81]|0;f=c[2]|0;e=j+8|0;k=c[e>>2]|0;c[j>>2]=f;a[j+4>>0]=0;c[j+12>>2]=153;c[j+16>>2]=d;c[j+20>>2]=900;c[j+24>>2]=5;d=j+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[j+52>>2]=187;c[j+56>>2]=188;d=k;if(!k){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=62}else h=62;if((h|0)==62)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;d:do switch(d|0){case 9:break b;case 2:{k=c[2]|0;fi[c[k+1262788>>2]&511](k);k=c[2]|0;fi[c[k+1262784>>2]&511](k);break}default:{k=c[2]|0;fi[c[k+1262784>>2]&511](k);switch(d|0){case 10:case 1:case 0:break d;case 11:{c[19]=3;break d}default:{c[19]=d;break d}}}}while(0);c[18]=9;break}if(e3(d,46608)|0){kj(b,46645,6);kj(b,d,6);break}if(!(Yi()|0)){Mj(b,46621);break}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(46621)|0;c[d+8>>2]=161;if((c[18]|0)==9)break;j=c[81]|0;f=c[2]|0;e=j+8|0;k=c[e>>2]|0;c[j>>2]=f;a[j+4>>0]=0;c[j+12>>2]=153;c[j+16>>2]=d;c[j+20>>2]=900;c[j+24>>2]=5;d=j+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[j+52>>2]=187;c[j+56>>2]=188;d=k;if(!k){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=75}else h=75;if((h|0)==75)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;e:do switch(d|0){case 9:break b;case 2:{k=c[2]|0;fi[c[k+1262788>>2]&511](k);k=c[2]|0;fi[c[k+1262784>>2]&511](k);break}default:{k=c[2]|0;fi[c[k+1262784>>2]&511](k);switch(d|0){case 10:case 1:case 0:break e;case 11:{c[19]=3;break e}default:{c[19]=d;break e}}}}while(0);c[18]=9;break}if(!(Yi()|0)){Mj(b,46510);break}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(46510)|0;c[d+8>>2]=161;if((c[18]|0)==9)break;j=c[81]|0;f=c[2]|0;e=j+8|0;k=c[e>>2]|0;c[j>>2]=f;a[j+4>>0]=0;c[j+12>>2]=153;c[j+16>>2]=d;c[j+20>>2]=900;c[j+24>>2]=5;d=j+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[j+52>>2]=187;c[j+56>>2]=188;d=k;if(!k){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=36}else h=36;if((h|0)==36)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;f:do switch(d|0){case 9:break b;case 2:{k=c[2]|0;fi[c[k+1262788>>2]&511](k);k=c[2]|0;fi[c[k+1262784>>2]&511](k);break}default:{k=c[2]|0;fi[c[k+1262784>>2]&511](k);switch(d|0){case 10:case 1:case 0:break f;case 11:{c[19]=3;break f}default:{c[19]=d;break f}}}}while(0);c[18]=9;break}if(!(Yi()|0)){Mj(b,45414);break}d=B2(12)|0;c[d>>2]=b;c[d+4>>2]=P4(45414)|0;c[d+8>>2]=161;if((c[18]|0)!=9){j=c[81]|0;f=c[2]|0;e=j+8|0;k=c[e>>2]|0;c[j>>2]=f;a[j+4>>0]=0;c[j+12>>2]=153;c[j+16>>2]=d;c[j+20>>2]=900;c[j+24>>2]=5;d=j+28|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;a[d+20>>0]=0;c[j+52>>2]=187;c[j+56>>2]=188;d=k;if(!k){d=B2(16320)|0;c[e>>2]=d;if(d|0)h=22}else h=22;if((h|0)==22)s6(d|0,f|0,16320)|0;d=c[18]|0;c[20]=d;g:do switch(d|0){case 9:break b;case 2:{k=c[2]|0;fi[c[k+1262788>>2]&511](k);k=c[2]|0;fi[c[k+1262784>>2]&511](k);break}default:{k=c[2]|0;fi[c[k+1262784>>2]&511](k);switch(d|0){case 10:case 1:case 0:break g;case 11:{c[19]=3;break g}default:{c[19]=d;break g}}}}while(0);c[18]=9}}else{k=c[b>>2]|0;fi[c[k+1178760>>2]&511](k);kj(b,46442,3)}while(0);kj(b,45395,0);x4(g,(c[b+4916>>2]|0)+4096|0)|0;if(r4(g)|0)kj(b,g,3);kj(b,367429,15);l=i;return}function Hj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+4096|0;b=d;kj(a,45395,3);kj(a,87587,3);kj(a,45395,0);x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(b)|0)){kj(a,367429,15);l=d;return}kj(a,b,3);kj(a,367429,15);l=d;return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+4096|0;b=e;d=c[18]|0;a:do switch(d|0){case 3:break;case 2:{f=c[2]|0;fi[c[f+1262788>>2]&511](f);f=c[2]|0;fi[c[f+1262784>>2]&511](f);f=6;break}default:{f=c[2]|0;fi[c[f+1262784>>2]&511](f);switch(d|0){case 10:case 9:case 1:case 0:{f=6;break a}case 11:{c[19]=3;f=6;break a}default:{c[19]=d;f=6;break a}}}}while(0);if((f|0)==6)c[18]=3;kj(a,45395,0);x4(b,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(b)|0)){kj(a,367429,15);l=e;return}kj(a,b,3);kj(a,367429,15);l=e;return}function Jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+4096|0;d=f;h=c[83]|0;i=c[77]|0;e=c[i+4916>>2]|0;c[h>>2]=c[2];c[h+4>>2]=e;c[h+8>>2]=i;c[h+12>>2]=413292;a[h+16>>0]=0;i=h+20|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[h+40>>2]=190;c[h+44>>2]=191;yk(e,93595);e=c[18]|0;a:do switch(e|0){case 11:break;case 2:{g=c[2]|0;fi[c[g+1262788>>2]&511](g);g=c[2]|0;fi[c[g+1262784>>2]&511](g);g=5;break}default:{i=c[2]|0;fi[c[i+1262784>>2]&511](i);switch(e|0){case 9:case 10:case 1:case 0:{g=5;break a}default:{}}c[19]=e;g=5}}while(0);if((g|0)==5){i=c[83]|0;fi[c[i+44>>2]&511](i);c[18]=11}kj(b,45395,0);x4(d,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=f;return}kj(b,d,3);kj(b,367429,15);l=f;return}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+8272|0;r=t;e=t+4104|0;o=t+8200|0;p=t+4096|0;if(!d){kj(b,48625,3);f=b+4916|0}else{g=o;i=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(i|0));f=b+4916|0;s=b+4912|0;n=0;g=0;do{m=c[920+(n<<2)>>2]|0;c[r>>2]=44999;c[r+4>>2]=m;h3(o,48547,r)|0;h=m5(d,o)|0;if(h){a[h+4>>0]=0;x4(421784,d)|0;h=r4(421784)|0;if(h>>>0>4){h=421784+h|0;if(((m5(421784,44999)|0)+4|0)!=(h|0))q=7}else{h=421784+h|0;q=7}if((q|0)==7){q=0;a[h>>0]=a[44999]|0;a[h+1>>0]=a[45e3]|0;a[h+2>>0]=a[45001]|0;a[h+3>>0]=a[45002]|0;a[h+4>>0]=a[45003]|0}c[p>>2]=0;k=sk(c[f>>2]|0,421784,p)|0;if(!k)kj(b,48567,3);else{j=B2(1178692)|0;if(j){ti[c[(c[s>>2]|0)+1262812>>2]&63](j,k,c[p>>2]|0,1);g=c[s>>2]|0;switch(n|0){case 0:{s6(g+1130048|0,j+1048128|0,130564)|0;break}case 1:{s6(g+81920|0,j|0,16384)|0;break}case 2:{s6(g+98304|0,j+16384|0,32640)|0;break}case 3:{s6(g+147352|0,j+65432|0,65536)|0;break}case 4:{s6(g+130944|0,j+49024|0,4480)|0;break}case 5:{s6(g+135424|0,j+53504|0,11928)|0;break}case 6:{g=g+212888|0;h=j+130968|0;i=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));break}default:{}}Xi();kj(b,45395,0);kj(b,m,15);kj(b,48553,3);kj(b,421784,15);kj(b,45395,0);C2(j);g=1}C2(k)}kj(b,45395,0);x4(e,(c[f>>2]|0)+4096|0)|0;if(r4(e)|0)kj(b,e,3);kj(b,367429,15)}n=n+1|0}while((n|0)!=7);if(g&1){l=t;return}c[e>>2]=0;x4(421784,d)|0;g=r4(421784)|0;if(g>>>0>4){g=421784+g|0;if(((m5(421784,44999)|0)+4|0)!=(g|0))q=29}else{g=421784+g|0;q=29}if((q|0)==29){a[g>>0]=a[44999]|0;a[g+1>>0]=a[45e3]|0;a[g+2>>0]=a[45001]|0;a[g+3>>0]=a[45002]|0;a[g+4>>0]=a[45003]|0}q=(e3(421784,92792)|0)==0;g=c[f>>2]|0;if(q){q=g+4096|0;x4(r,q)|0;u6(q|0,0,4096)|0;h=sk(g,421784,e)|0;x4(q,r)|0}else h=sk(g,421784,e)|0;if(!h)kj(b,48567,3);else{g=(c[f>>2]|0)+4096|0;if(!(e3(g,87467)|0))g=1;else g=(f3(g,87485,18)|0)==0&1;a[b+13125>>0]=g;g=c[s>>2]|0;ti[c[g+1262812>>2]&63](g+81920|0,h,c[e>>2]|0,1);fi[c[g+1262784>>2]&511](g);g=b+4920|0;if((g|0)!=421784)x4(g,421784)|0;Xi();kj(b,48530,3);kj(b,g,15);kj(b,48587,3);kj(b,48601,15);kj(b,48605,3);C2(h)}}kj(b,45395,0);x4(e,(c[f>>2]|0)+4096|0)|0;if(a[e>>0]|0)kj(b,e,3);kj(b,367429,15);l=t;return}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+4096|0;d=f;e=c[b>>2]|0;if(a){a=b+4|0;li[c[b+8>>2]&511](e,c[a>>2]|0)}else{kj(e,45395,0);x4(d,(c[e+4916>>2]|0)+4096|0)|0;if(r4(d)|0)kj(e,d,3);kj(e,367429,15);a=b+4|0}a=c[a>>2]|0;if(!a){C2(b);l=f;return}C2(a);C2(b);l=f;return}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+8208|0;i=n+4104|0;h=n+4|0;j=n+8|0;m=n;c[m>>2]=0;a[b+13125>>0]=0;if(!(e3(d,45414)|0)){u6(j+19|0,0,4077)|0;e=j;f=45414;g=e+19|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));g=b+4916|0;e=c[g>>2]|0;f=e+4096|0;x4(i,f)|0;u6(f|0,0,4096)|0;e=sk(e,j,m)|0;x4(f,i)|0;if((e|0)==0|(c[m>>2]|0)==0){c[h>>2]=0;f=_i(h,45433,436)|0;c[m>>2]=f;e=c[h>>2]|0;if(!e)e=0;else{o=c[g>>2]|0;g=o+4096|0;x4(i,g)|0;u6(g|0,0,4096)|0;uk(o,j,e,f,0)|0;x4(g,i)|0}}}else e=0;if(!(e3(d,46510)|0)){u6(j+24|0,0,4072)|0;e=j;f=46510;g=e+24|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));g=b+4916|0;e=c[g>>2]|0;o=e+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;e=sk(e,j,m)|0;x4(o,i)|0;if((e|0)==0|(c[m>>2]|0)==0){c[h>>2]=0;f=_i(h,46724,417)|0;c[m>>2]=f;e=c[h>>2]|0;if(!e)e=0;else{g=c[g>>2]|0;o=g+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;uk(g,j,e,f,0)|0;x4(o,i)|0}}}if(!(e3(d,46549)|0)){u6(j+26|0,0,4070)|0;e=j;f=46549;g=e+26|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));g=b+4916|0;e=c[g>>2]|0;o=e+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;e=sk(e,j,m)|0;x4(o,i)|0;if((e|0)==0|(c[m>>2]|0)==0){c[h>>2]=0;f=_i(h,47141,471)|0;c[m>>2]=f;e=c[h>>2]|0;if(!e)e=0;else{g=c[g>>2]|0;o=g+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;uk(g,j,e,f,0)|0;x4(o,i)|0}}}if(!(e3(d,46586)|0)){u6(j+22|0,0,4074)|0;e=j;f=46586;g=e+22|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));g=b+4916|0;e=c[g>>2]|0;o=e+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;e=sk(e,j,m)|0;x4(o,i)|0;if((e|0)==0|(c[m>>2]|0)==0){c[h>>2]=0;f=_i(h,47612,432)|0;c[m>>2]=f;e=c[h>>2]|0;if(!e)e=0;else{g=c[g>>2]|0;o=g+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;uk(g,j,e,f,0)|0;x4(o,i)|0}}}if(!(e3(d,46621)|0)){u6(j+24|0,0,4072)|0;e=j;f=46621;g=e+24|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));g=b+4916|0;e=c[g>>2]|0;o=e+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;e=sk(e,j,m)|0;x4(o,i)|0;if((e|0)==0|(c[m>>2]|0)==0){c[h>>2]=0;f=_i(h,48044,486)|0;c[m>>2]=f;e=c[h>>2]|0;if(!e)e=0;else{h=c[g>>2]|0;o=h+4096|0;x4(i,o)|0;u6(o|0,0,4096)|0;uk(h,j,e,f,0)|0;x4(o,i)|0}}f=e}else f=e;x4(421784,d)|0;e=r4(421784)|0;if(e>>>0>4){e=421784+e|0;if(((m5(421784,44999)|0)+4|0)!=(e|0))k=34}else{e=421784+e|0;k=34}if((k|0)==34){a[e>>0]=a[44999]|0;a[e+1>>0]=a[45e3]|0;a[e+2>>0]=a[45001]|0;a[e+3>>0]=a[45002]|0;a[e+4>>0]=a[45003]|0}e=b+4920|0;if((e|0)==421784){o=b+4912|0;o=c[o>>2]|0;m=c[m>>2]|0;k=o+81920|0;d=o+1262812|0;d=c[d>>2]|0;ti[d&63](k,f,m,1);m=o+1262784|0;m=c[m>>2]|0;fi[m&511](o);Xi();kj(b,48530,3);kj(b,e,15);kj(b,48537,3);C2(f);l=n;return}x4(e,421784)|0;o=b+4912|0;o=c[o>>2]|0;m=c[m>>2]|0;k=o+81920|0;d=o+1262812|0;d=c[d>>2]|0;ti[d&63](k,f,m,1);m=o+1262784|0;m=c[m>>2]|0;fi[m&511](o);Xi();kj(b,48530,3);kj(b,e,15);kj(b,48537,3);C2(f);l=n;return}function Nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+4096|0;h=j;do if((d|0)!=0?(a[d>>0]|0)!=0:0){e=b+4916|0;k=pk(c[e>>2]|0,d)|0;g=c[e>>2]|0;x4(425913,g)|0;g=g+4096|0;f=(r4(g)|0)==0;if(k){if(!f){Y5(425913,g)|0;k=425913+(r4(425913)|0)|0;a[k>>0]=47;a[k+1>>0]=0}Y5(425913,d)|0;k=($5()|0)!=0;Qb(0)|0;kj(b,k?85131:85148,3);break}else{if(!f){Y5(425913,g)|0;k=425913+(r4(425913)|0)|0;a[k>>0]=47;a[k+1>>0]=0}Y5(425913,d)|0;k=(R5()|0)!=0;Qb(0)|0;kj(b,k?85174:85192,3);break}}else i=10;while(0);if((i|0)==10){kj(b,85219,3);e=b+4916|0}kj(b,45395,0);x4(h,(c[e>>2]|0)+4096|0)|0;if(!(r4(h)|0)){kj(b,367429,15);l=j;return}kj(b,h,3);kj(b,367429,15);l=j;return}function Oj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+4096|0;A=B;do if(!b)kj(g,85414,3);else{f=m5(b,85462)|0;if(f|0?(e3(f,85462)|0)==0:0){y=jk(e)|0;if(!y){kj(g,85353,6);break}w=y+8|0;f=c[w>>2]|0;v=(f|0)<128?f:128;u=c[y+12>>2]|0;x=(u|0)<256?u:256;if((u|0)>0?(z=y+4|0,(f|0)>0):0){r=c[2]|0;s=a[179]|0;q=0;do{t=((q|0)/8|0)<<4;u=((q|0)%8|0)<<3;p=0;do{k=a[(c[y>>2]|0)+((O(c[w>>2]|0,q)|0)+p)>>0]|0;o=c[z>>2]|0;k=k&255;h=s<<24>>24;i=d[o+(k*3|0)>>0]|0;j=d[o+(k*3|0)+1>>0]|0;k=d[o+(k*3|0)+2>>0]|0;o=0;f=0;e=-1;while(1){n=i-(d[r+81920+(h*131016|0)+130968+(f*3|0)>>0]|0)|0;C=j-(d[r+81920+(h*131016|0)+130968+(f*3|0)+1>>0]|0)|0;m=k-(d[r+81920+(h*131016|0)+130968+(f*3|0)+2>>0]|0)|0;m=(O(C,C)|0)+(O(n,n)|0)+(O(m,m)|0)|0;n=m>>>0<e>>>0;o=n?f:o;f=f+1|0;if((f|0)==16)break;else e=n?m:e}C=u+((p|0)%8|0)|0;h=(C>>>1)+(r+81920+(h*131016|0)+(t+((p|0)/8|0)<<5))|0;f=d[h>>0]|0;if(!(C&1)){e=f&240;a[h>>0]=e;f=o&15}else{e=f&15;a[h>>0]=e;f=o<<4&4080}a[h>>0]=f|e;p=p+1|0}while((p|0)<(v|0));q=q+1|0}while((q|0)<(x|0));f=y}else f=y;f=c[f>>2]|0;if(f|0)C2(f);f=c[y+4>>2]|0;if(f|0)C2(f);C2(y);kj(g,45395,0);kj(g,b,3);kj(g,85274,3);break}kj(g,85378,3)}while(0);kj(g,45395,0);x4(A,(c[g+4916>>2]|0)+4096|0)|0;if(!(r4(A)|0)){kj(g,367429,15);l=B;return}kj(g,A,3);kj(g,367429,15);l=B;return}function Pj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+4096|0;g=h;if((b|0)!=0&(d|0)!=0&e>>>0<32641){i=c[2]|0;b=a[180]|0;e=(e|0)<32640?e:32640;u6(i+81920+(b*131016|0)+16384+e|0,0,(e>>>0>32639?0:32640-e|0)|0)|0;s6(i+81920+(b*131016|0)+16384|0,d|0,e|0)|0;kj(f,45395,0);kj(f,85436,3)}else kj(f,85414,3);kj(f,45395,0);x4(g,(c[f+4916>>2]|0)+4096|0)|0;if(!(r4(g)|0)){kj(f,367429,15);l=h;return}kj(f,g,3);kj(f,367429,15);l=h;return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+4096|0;i=j;do if(!a)kj(e,85414,3);else{f=m5(a,85269)|0;if(f|0?(e3(f,85269)|0)==0:0){h=jk(b)|0;if(!h){kj(e,85353,6);break}do if((c[h+8>>2]|0)==240?(c[h+12>>2]|0)==136:0)if(d>>>0<130561){f=c[e+4912>>2]|0;c[f+1130048>>2]=d;s6(f+1130052|0,b|0,d|0)|0;kj(e,45395,0);kj(e,a,3);kj(e,85274,3);break}else{kj(e,85297,6);break}else g=10;while(0);if((g|0)==10)kj(e,85321,6);f=c[h>>2]|0;if(f|0)C2(f);f=c[h+4>>2]|0;if(f|0)C2(f);C2(h);break}kj(e,85378,3)}while(0);kj(e,45395,0);x4(i,(c[e+4916>>2]|0)+4096|0)|0;if(!(r4(i)|0)){kj(e,367429,15);l=j;return}kj(e,i,3);kj(e,367429,15);l=j;return}function Rj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;switch(a|0){case 0:{kj(b,85810,3);break}case 1:{kj(b,85835,3);break}default:{}}kj(b,45395,0);x4(d,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=e;return}kj(b,d,3);kj(b,367429,15);l=e;return}function Sj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;switch(a|0){case 0:{kj(b,85759,3);break}case 1:{kj(b,85780,3);break}default:{}}kj(b,45395,0);x4(d,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=e;return}kj(b,d,3);kj(b,367429,15);l=e;return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;switch(a|0){case 0:{kj(b,85692,3);break}case 1:{kj(b,85721,3);break}default:{}}kj(b,45395,0);x4(d,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=e;return}kj(b,d,3);kj(b,367429,15);l=e;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;switch(a|0){case 0:{kj(b,85891,3);break}case 1:{kj(b,85915,3);break}default:{}}kj(b,45395,0);x4(d,(c[b+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(b,367429,15);l=e;return}kj(b,d,3);kj(b,367429,15);l=e;return}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+4096|0;e=f;kj(d,45395,0);switch(b|0){case 2:{kj(d,85935,3);kj(d,a,15);kj(d,85941,3);break}case 1:{kj(d,85935,3);kj(d,a,15);kj(d,85960,3);break}default:kj(d,85986,3)}kj(d,45395,0);x4(e,(c[d+4916>>2]|0)+4096|0)|0;if(!(r4(e)|0)){kj(d,367429,15);l=f;return}kj(d,e,3);kj(d,367429,15);l=f;return}function Wj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;b=c[e+4>>2]|0;kj(b,45395,0);if(f){kj(b,94694,3);kj(b,a,3);kj(b,343252,3);return 1}else{kj(b,a,15);c[e>>2]=(c[e>>2]|0)+1;return 1}return 0}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+4096|0;d=e;switch(lj(a,b)|0){case 0:{kj(a,48530,3);kj(a,a+4920|0,15);kj(a,86191,3);break}case 2:{kj(a,86200,3);break}default:kj(a,86223,3)}kj(a,45395,0);x4(d,(c[a+4916>>2]|0)+4096|0)|0;if(!(r4(d)|0)){kj(a,367429,15);l=e;return}kj(a,d,3);kj(a,367429,15);l=e;return}function Yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+8208|0;p=q+4104|0;m=q+8|0;k=q+4|0;n=q;do if((d|0)!=0?(a[d>>0]|0)!=0:0){if(!(e3(d,86262)|0)){c[n>>2]=0;u6(m+19|0,0,4077)|0;h=m;i=45414;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));g=b+4916|0;e=c[g>>2]|0;f=e+4096|0;x4(p,f)|0;u6(f|0,0,4096)|0;e=sk(e,m,n)|0;x4(f,p)|0;f=c[n>>2]|0;do if((e|0)==0|(f|0)==0){c[k>>2]=0;f=_i(k,45433,436)|0;c[n>>2]=f;e=c[k>>2]|0;if(!e)break;else{j=c[g>>2]|0;o=j+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(j,m,e,f,0)|0;x4(o,p)|0;f=c[n>>2]|0;o=9;break}}else o=9;while(0);if((o|0)==9){g=c[b+4912>>2]|0;ti[c[g+1262812>>2]&63](g+81920|0,e,f,0);h=g+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[g+1262784>>2]&511](g);C2(e)}u6(b+4920|0,0,4096)|0;Xi();e=1}else e=0;if(!((e3(d,95883)|0)!=0?(e3(d,95888)|0)!=0:0)){c[n>>2]=0;u6(m+24|0,0,4072)|0;h=m;i=46510;j=h+24|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));g=b+4916|0;e=c[g>>2]|0;f=e+4096|0;x4(p,f)|0;u6(f|0,0,4096)|0;e=sk(e,m,n)|0;x4(f,p)|0;f=c[n>>2]|0;do if((e|0)==0|(f|0)==0){c[k>>2]=0;f=_i(k,46724,417)|0;c[n>>2]=f;e=c[k>>2]|0;if(!e)break;else{j=c[g>>2]|0;o=j+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(j,m,e,f,0)|0;x4(o,p)|0;f=c[n>>2]|0;o=18;break}}else o=18;while(0);if((o|0)==18){g=c[b+4912>>2]|0;ti[c[g+1262812>>2]&63](g+81920|0,e,f,0);h=g+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[g+1262784>>2]&511](g);C2(e)}u6(b+4920|0,0,4096)|0;Xi();e=1}if(!(e3(d,95899)|0)){c[n>>2]=0;u6(m+26|0,0,4070)|0;h=m;i=46549;j=h+26|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));g=b+4916|0;e=c[g>>2]|0;f=e+4096|0;x4(p,f)|0;u6(f|0,0,4096)|0;e=sk(e,m,n)|0;x4(f,p)|0;f=c[n>>2]|0;do if((e|0)==0|(f|0)==0){c[k>>2]=0;f=_i(k,47141,471)|0;c[n>>2]=f;e=c[k>>2]|0;if(!e)break;else{j=c[g>>2]|0;o=j+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(j,m,e,f,0)|0;x4(o,p)|0;f=c[n>>2]|0;o=26;break}}else o=26;while(0);if((o|0)==26){g=c[b+4912>>2]|0;ti[c[g+1262812>>2]&63](g+81920|0,e,f,0);h=g+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[g+1262784>>2]&511](g);C2(e)}u6(b+4920|0,0,4096)|0;Xi();e=1}if(!((e3(d,95906)|0)!=0?(e3(d,95909)|0)!=0:0)){c[n>>2]=0;u6(m+22|0,0,4074)|0;h=m;i=46586;j=h+22|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));g=b+4916|0;f=c[g>>2]|0;e=f+4096|0;x4(p,e)|0;u6(e|0,0,4096)|0;f=sk(f,m,n)|0;x4(e,p)|0;e=c[n>>2]|0;do if((f|0)==0|(e|0)==0){c[k>>2]=0;e=_i(k,47612,432)|0;c[n>>2]=e;f=c[k>>2]|0;if(!f)break;else{j=c[g>>2]|0;o=j+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(j,m,f,e,0)|0;x4(o,p)|0;e=c[n>>2]|0;o=35;break}}else o=35;while(0);if((o|0)==35){g=c[b+4912>>2]|0;ti[c[g+1262812>>2]&63](g+81920|0,f,e,0);h=g+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[g+1262784>>2]&511](g);C2(f)}u6(b+4920|0,0,4096)|0;Xi();e=1}if(e3(d,95920)|0){if(e&1){e=b+4916|0;break}kj(b,46645,6);kj(b,d,6);kj(b,45395,0);x4(p,(c[b+4916>>2]|0)+4096|0)|0;if(r4(p)|0)kj(b,p,3);kj(b,367429,15);l=q;return}c[n>>2]=0;u6(m+24|0,0,4072)|0;h=m;i=46621;j=h+24|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));e=b+4916|0;g=c[e>>2]|0;f=g+4096|0;x4(p,f)|0;u6(f|0,0,4096)|0;g=sk(g,m,n)|0;x4(f,p)|0;f=c[n>>2]|0;do if((g|0)==0|(f|0)==0){c[k>>2]=0;g=_i(k,48044,486)|0;c[n>>2]=g;f=c[k>>2]|0;if(!f)break;else{k=c[e>>2]|0;o=k+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(k,m,f,g,0)|0;x4(o,p)|0;g=f;f=c[n>>2]|0;o=43;break}}else o=43;while(0);if((o|0)==43){d=c[b+4912>>2]|0;ti[c[d+1262812>>2]&63](d+81920|0,g,f,0);h=d+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[d+1262784>>2]&511](d);C2(g)}u6(b+4920|0,0,4096)|0;Xi()}else o=50;while(0);if((o|0)==50){c[n>>2]=0;u6(m+19|0,0,4077)|0;h=m;i=45414;j=h+19|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));e=b+4916|0;g=c[e>>2]|0;f=g+4096|0;x4(p,f)|0;u6(f|0,0,4096)|0;g=sk(g,m,n)|0;x4(f,p)|0;f=c[n>>2]|0;do if((g|0)==0|(f|0)==0){c[k>>2]=0;g=_i(k,45433,436)|0;c[n>>2]=g;f=c[k>>2]|0;if(!f)break;else{k=c[e>>2]|0;o=k+4096|0;x4(p,o)|0;u6(o|0,0,4096)|0;uk(k,m,f,g,0)|0;x4(o,p)|0;g=f;f=c[n>>2]|0;o=55;break}}else o=55;while(0);if((o|0)==55){d=c[b+4912>>2]|0;ti[c[d+1262812>>2]&63](d+81920|0,g,f,0);h=d+212888|0;i=(c[(c[80]|0)+56>>2]|0)+130968|0;j=h+48|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));fi[c[d+1262784>>2]&511](d);C2(g)}u6(b+4920|0,0,4096)|0;Xi()}kj(b,86266,3);kj(b,45395,0);x4(p,(c[e>>2]|0)+4096|0)|0;if(r4(p)|0)kj(b,p,3);kj(b,367429,15);l=q;return}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[m>>2]=d;Q5(392253,m);m=r4(d)|0;h=d+m|0;if(!m){l=o;return}i=b+8|0;j=b+4140|0;k=b+4144|0;m=b+16|0;g=b+4|0;do{f=a[d>>0]|0;d=d+1|0;b=c[i>>2]|0;if((b|0)>1215)do{b=c[j>>2]|0;t6(b|0,b+40|0,48600)|0;b=b+48600|0;e=b+40|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));b=c[k>>2]|0;t6(b|0,b+40|0,48600)|0;b=b+48600|0;e=b+40|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));b=(c[i>>2]|0)+-1|0;c[i>>2]=b}while((b|0)>1215);e=b+-18|0;if((c[m>>2]|0)<(e|0))c[m>>2]=e;if(f<<24>>24!=10){e=(c[g>>2]|0)+(b*40|0)|0;a[(c[j>>2]|0)+e>>0]=f;switch(f<<24>>24|0){case 45:case 124:case 43:{b=7;break}default:b=15}a[(c[k>>2]|0)+e>>0]=b;f=c[g>>2]|0;c[g>>2]=f+1;if((f|0)>38){c[g>>2]=0;b=c[i>>2]|0;n=12}}else{c[g>>2]=0;n=12}if((n|0)==12){n=0;c[i>>2]=b+1}}while((d|0)!=(h|0));l=o;return}function _j(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+4272|0;p=r;q=r+4096|0;o=r+4248|0;j=c[10]|0;k=c[j+16>>2]|0;j=c[j+20>>2]|0;c[b>>2]=f;n=b+4|0;c[n>>2]=e;c[b+8>>2]=5;c[b+12>>2]=162;c[b+16>>2]=192;c[b+20>>2]=388;c[b+24>>2]=k;c[b+28>>2]=j;e=b+32|0;c[e>>2]=0;c[e+4>>2]=0;a[b+40>>0]=0;e=b+41|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;c[b+44>>2]=163;c[b+48>>2]=b;c[b+52>>2]=0;a[b+56>>0]=0;u6(b+57|0,0,1091)|0;c[b+1148>>2]=193;u6(f+1262836|0,0,1024)|0;e=c[b>>2]|0;f=e+1263860|0;j=(r4(f)|0)!=0;e=j?f:e+147352|0;f=r4(e)|0;c[q+8>>2]=1732584193;c[q+12>>2]=-271733879;c[q+16>>2]=-1732584194;c[q+20>>2]=271733878;c[q>>2]=0;j=q+4|0;c[j>>2]=0;a:do if((f|0)>0){k=q+24|0;i=0;h=0;while(1){g=(f|0)<512?f:512;s=i+g&536870911;c[q>>2]=s;if(s>>>0<i>>>0){h=h+1|0;c[j>>2]=h}c[j>>2]=h+(g>>>29);h=i&63;do if(h){i=64-h|0;h=q+24+h|0;if(g>>>0<i>>>0){s6(h|0,e|0,g|0)|0;break}else{s6(h|0,e|0,i|0)|0;hk(q,k,64)|0;h=e+i|0;g=g-i|0;m=9;break}}else{h=e;m=9}while(0);if((m|0)==9){m=0;if(g>>>0>63){h=hk(q,h,g&-64)|0;g=g&63}s6(k|0,h|0,g|0)|0}if((f|0)<=512)break a;e=e+512|0;f=f+-512|0;i=c[q>>2]|0;h=c[j>>2]|0}}while(0);ik(o,q);e=0;do{c[p>>2]=d[o+e>>0];v4(425880+(e<<1)|0,3,86777,p);e=e+1|0}while((e|0)!=16);f=b+1084|0;s=f;e=s;a[e>>0]=46;a[e+1>>0]=108;a[e+2>>0]=111;a[e+3>>0]=99;s=s+4|0;a[s>>0]=97;a[s+1>>0]=108;a[s+2>>0]=47;a[s+3>>0]=0;Y5(f,425880)|0;c[q>>2]=0;s=c[(c[n>>2]|0)+4916>>2]|0;e=s+4096|0;x4(p,e)|0;u6(e|0,0,4096)|0;f=sk(s,f,q)|0;x4(e,p)|0;e=c[q>>2]|0;if((e|0)>1024){c[q>>2]=1024;e=1024}if(!f){s=c[10]|0;s=s+52|0;s=c[s>>2]|0;$h[s&31]();l=r;return}s6((c[b>>2]|0)+1262836|0,f|0,e|0)|0;s6(b+60|0,f|0,e|0)|0;C2(f);s=c[10]|0;s=s+52|0;s=c[s>>2]|0;$h[s&31]();l=r;return}function $j(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+4>>2]|0;si[c[a+13148>>2]&127](a,b,d);return}function ak(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[18]|0;a:do switch(d|0){case 1:break;case 2:{e=c[2]|0;fi[c[e+1262788>>2]&511](e);e=c[2]|0;fi[c[e+1262784>>2]&511](e);e=6;break}default:{e=c[2]|0;fi[c[e+1262784>>2]&511](e);switch(d|0){case 9:case 10:case 0:{e=6;break a}case 11:{c[19]=3;e=6;break a}default:{c[19]=d;e=6;break a}}}}while(0);if((e|0)==6)c[18]=1;e=c[a+4>>2]|0;li[c[e+13144>>2]&511](e,b);return}function bk(b){b=b|0;a[b+56>>0]=1;return}function ck(a){a=a|0;$h[c[(c[40>>2]|0)+56>>2]&31]();a=c[a>>2]|0;return Sh[c[a+1262804>>2]&255](a,66)|0}function dk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+4368|0;k=p+8|0;m=p;i=p+272|0;j=p+12|0;n=p+16|0;g=c[b>>2]|0;if(f3(g+147352|0,86782,7)|0){l=p;return}h=g+147359|0;e=s4(h,41)|0;if(!e){l=p;return}f=a[h>>0]|0;if(f<<24>>24!=(a[e+-1>>0]|0)){l=p;return}switch(f<<24>>24){case 39:case 34:break;default:{l=p;return}}f=-2-h+e|0;u6(i+f|0,0,(f>>>0>4095?0:4096-f|0)|0)|0;s6(i|0,g+147360|0,f|0)|0;u6(d|0,0,65536)|0;c[j>>2]=0;f=vk(i,j)|0;if(!f){c[k>>2]=i;h3(n,86821,k)|0;e=c[18]|0;a:do switch(e|0){case 1:break;case 2:{o=c[2]|0;fi[c[o+1262788>>2]&511](o);o=c[2]|0;fi[c[o+1262784>>2]&511](o);o=21;break}default:{o=c[2]|0;fi[c[o+1262784>>2]&511](o);switch(e|0){case 9:case 10:case 0:{o=21;break a}case 11:{c[19]=3;o=21;break a}default:{c[19]=e;o=21;break a}}}}while(0);if((o|0)==21)c[18]=1;o=c[b+4>>2]|0;li[c[o+13144>>2]&511](o,n);l=p;return}e=c[j>>2]|0;if((e|0)<=0){l=p;return}if((e|0)<=65536){s6(d|0,f|0,e|0)|0;l=p;return}c[m>>2]=65536;h3(n,86790,m)|0;e=c[18]|0;b:do switch(e|0){case 1:break;case 2:{o=c[2]|0;fi[c[o+1262788>>2]&511](o);o=c[2]|0;fi[c[o+1262784>>2]&511](o);o=13;break}default:{o=c[2]|0;fi[c[o+1262784>>2]&511](o);switch(e|0){case 9:case 10:case 0:{o=13;break b}case 11:{c[19]=3;o=13;break b}default:{c[19]=e;o=13;break b}}}}while(0);if((o|0)==13)c[18]=1;o=c[b+4>>2]|0;li[c[o+13144>>2]&511](o,n);l=p;return}function ek(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+4096|0;d=f;if((c[18]|0)!=2){l=f;return}e=c[b>>2]|0;li[c[e+1262772>>2]&511](e,b+8|0);e=b+40|0;if(a[e>>0]|0){i=c[(c[b+4>>2]|0)+4916>>2]|0;h=(c[b>>2]|0)+1262836|0;g=i+4096|0;x4(d,g)|0;u6(g|0,0,4096)|0;uk(i,b+1084|0,h,1024,1)|0;x4(g,d)|0;s6(b+60|0,(c[b>>2]|0)+1262836|0,1024)|0;a[e>>0]=0}if(!(a[b+56>>0]|0)){l=f;return}b=c[18]|0;a:do switch(b|0){case 2:{i=c[2]|0;fi[c[i+1262788>>2]&511](i);i=c[2]|0;fi[c[i+1262784>>2]&511](i);break}case 1:{l=f;return}default:{i=c[2]|0;fi[c[i+1262784>>2]&511](i);switch(b|0){case 9:case 10:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=1;l=f;return}function fk(a,b){a=a|0;b=b|0;Sb(1,a|0,b|0)|0;return}function gk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Tb(2,b|0,c|0,d|0)|0;li[a&511](1,e);return}function hk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;y=a+8|0;z=a+12|0;A=a+16|0;B=a+20|0;j=a+88|0;k=a+92|0;l=a+96|0;m=a+100|0;n=a+104|0;o=a+108|0;p=a+112|0;q=a+116|0;r=a+120|0;s=a+124|0;t=a+128|0;u=a+132|0;v=a+136|0;w=a+140|0;x=a+144|0;i=a+148|0;a=c[y>>2]|0;f=c[z>>2]|0;g=c[B>>2]|0;h=c[A>>2]|0;do{E=(d[b+1>>0]|0)<<8|(d[b>>0]|0)|(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24;c[j>>2]=E;E=a+-680876936+(f&(g^h)^g)+E|0;E=(E<<7|E>>>25)+f|0;D=(d[b+5>>0]|0)<<8|(d[b+4>>0]|0)|(d[b+6>>0]|0)<<16|(d[b+7>>0]|0)<<24;c[k>>2]=D;D=g+-389564586+D+(E&(f^h)^h)|0;D=(D<<12|D>>>20)+E|0;W=(d[b+9>>0]|0)<<8|(d[b+8>>0]|0)|(d[b+10>>0]|0)<<16|(d[b+11>>0]|0)<<24;c[l>>2]=W;W=h+606105819+W+(D&(E^f)^f)|0;W=(W<<17|W>>>15)+D|0;F=(d[b+13>>0]|0)<<8|(d[b+12>>0]|0)|(d[b+14>>0]|0)<<16|(d[b+15>>0]|0)<<24;c[m>>2]=F;F=f+-1044525330+F+(W&(D^E)^E)|0;F=(F<<22|F>>>10)+W|0;M=(d[b+17>>0]|0)<<8|(d[b+16>>0]|0)|(d[b+18>>0]|0)<<16|(d[b+19>>0]|0)<<24;c[n>>2]=M;M=E+-176418897+M+(F&(W^D)^D)|0;M=(M<<7|M>>>25)+F|0;E=(d[b+21>>0]|0)<<8|(d[b+20>>0]|0)|(d[b+22>>0]|0)<<16|(d[b+23>>0]|0)<<24;c[o>>2]=E;E=D+1200080426+E+(M&(F^W)^W)|0;E=(E<<12|E>>>20)+M|0;D=(d[b+25>>0]|0)<<8|(d[b+24>>0]|0)|(d[b+26>>0]|0)<<16|(d[b+27>>0]|0)<<24;c[p>>2]=D;D=W+-1473231341+D+(E&(M^F)^F)|0;D=(D<<17|D>>>15)+E|0;W=(d[b+29>>0]|0)<<8|(d[b+28>>0]|0)|(d[b+30>>0]|0)<<16|(d[b+31>>0]|0)<<24;c[q>>2]=W;W=F+-45705983+W+(D&(E^M)^M)|0;W=(W<<22|W>>>10)+D|0;F=(d[b+33>>0]|0)<<8|(d[b+32>>0]|0)|(d[b+34>>0]|0)<<16|(d[b+35>>0]|0)<<24;c[r>>2]=F;F=M+1770035416+F+(W&(D^E)^E)|0;F=(F<<7|F>>>25)+W|0;M=(d[b+37>>0]|0)<<8|(d[b+36>>0]|0)|(d[b+38>>0]|0)<<16|(d[b+39>>0]|0)<<24;c[s>>2]=M;E=M+-1958414417+E+(F&(W^D)^D)|0;E=(E<<12|E>>>20)+F|0;M=(d[b+41>>0]|0)<<8|(d[b+40>>0]|0)|(d[b+42>>0]|0)<<16|(d[b+43>>0]|0)<<24;c[t>>2]=M;D=M+-42063+D+(E&(F^W)^W)|0;D=(D<<17|D>>>15)+E|0;M=(d[b+45>>0]|0)<<8|(d[b+44>>0]|0)|(d[b+46>>0]|0)<<16|(d[b+47>>0]|0)<<24;c[u>>2]=M;W=M+-1990404162+W+(D&(E^F)^F)|0;W=(W<<22|W>>>10)+D|0;M=(d[b+49>>0]|0)<<8|(d[b+48>>0]|0)|(d[b+50>>0]|0)<<16|(d[b+51>>0]|0)<<24;c[v>>2]=M;F=M+1804603682+F+(W&(D^E)^E)|0;F=(F<<7|F>>>25)+W|0;M=(d[b+53>>0]|0)<<8|(d[b+52>>0]|0)|(d[b+54>>0]|0)<<16|(d[b+55>>0]|0)<<24;c[w>>2]=M;E=M+-40341101+E+(F&(W^D)^D)|0;E=(E<<12|E>>>20)+F|0;M=(d[b+57>>0]|0)<<8|(d[b+56>>0]|0)|(d[b+58>>0]|0)<<16|(d[b+59>>0]|0)<<24;c[x>>2]=M;D=M+-1502002290+D+(E&(F^W)^W)|0;D=(D<<17|D>>>15)+E|0;M=(d[b+61>>0]|0)<<8|(d[b+60>>0]|0)|(d[b+62>>0]|0)<<16|(d[b+63>>0]|0)<<24;c[i>>2]=M;W=M+1236535329+W+(D&(E^F)^F)|0;W=(W<<22|W>>>10)+D|0;O=c[k>>2]|0;F=O+-165796510+F+((W^D)&E^D)|0;F=(F<<5|F>>>27)+W|0;L=c[p>>2]|0;E=L+-1069501632+E+((F^W)&D^W)|0;E=(E<<9|E>>>23)+F|0;I=c[u>>2]|0;D=I+643717713+D+((E^F)&W^F)|0;D=(D<<14|D>>>18)+E|0;V=c[j>>2]|0;W=V+-373897302+W+((D^E)&F^E)|0;W=(W<<20|W>>>12)+D|0;S=c[o>>2]|0;F=S+-701558691+F+((W^D)&E^D)|0;F=(F<<5|F>>>27)+W|0;P=c[t>>2]|0;E=P+38016083+E+((F^W)&D^W)|0;E=(E<<9|E>>>23)+F|0;D=M+-660478335+D+((E^F)&W^F)|0;D=(D<<14|D>>>18)+E|0;J=c[n>>2]|0;W=J+-405537848+W+((D^E)&F^E)|0;W=(W<<20|W>>>12)+D|0;G=c[s>>2]|0;F=G+568446438+F+((W^D)&E^D)|0;F=(F<<5|F>>>27)+W|0;T=c[x>>2]|0;E=T+-1019803690+E+((F^W)&D^W)|0;E=(E<<9|E>>>23)+F|0;Q=c[m>>2]|0;D=Q+-187363961+D+((E^F)&W^F)|0;D=(D<<14|D>>>18)+E|0;N=c[r>>2]|0;W=N+1163531501+W+((D^E)&F^E)|0;W=(W<<20|W>>>12)+D|0;K=c[w>>2]|0;F=K+-1444681467+F+((W^D)&E^D)|0;F=(F<<5|F>>>27)+W|0;H=c[l>>2]|0;E=H+-51403784+E+((F^W)&D^W)|0;E=(E<<9|E>>>23)+F|0;U=c[q>>2]|0;D=U+1735328473+D+((E^F)&W^F)|0;D=(D<<14|D>>>18)+E|0;R=c[v>>2]|0;W=R+-1926607734+W+((D^E)&F^E)|0;W=(W<<20|W>>>12)+D|0;C=W^D;F=S+-378558+F+(C^E)|0;F=(F<<4|F>>>28)+W|0;C=N+-2022574463+E+(F^C)|0;C=(C<<11|C>>>21)+F|0;E=C^F;D=I+1839030562+D+(E^W)|0;D=(D<<16|D>>>16)+C|0;E=T+-35309556+W+(D^E)|0;E=(E<<23|E>>>9)+D|0;W=E^D;F=O+-1530992060+F+(W^C)|0;F=(F<<4|F>>>28)+E|0;W=J+1272893353+C+(F^W)|0;W=(W<<11|W>>>21)+F|0;C=W^F;D=U+-155497632+D+(C^E)|0;D=(D<<16|D>>>16)+W|0;C=P+-1094730640+E+(D^C)|0;C=(C<<23|C>>>9)+D|0;E=C^D;F=K+681279174+F+(E^W)|0;F=(F<<4|F>>>28)+C|0;E=V+-358537222+W+(F^E)|0;E=(E<<11|E>>>21)+F|0;W=E^F;D=Q+-722521979+D+(W^C)|0;D=(D<<16|D>>>16)+E|0;W=L+76029189+C+(D^W)|0;W=(W<<23|W>>>9)+D|0;C=W^D;F=G+-640364487+F+(C^E)|0;F=(F<<4|F>>>28)+W|0;C=R+-421815835+E+(F^C)|0;C=(C<<11|C>>>21)+F|0;E=C^F;D=M+530742520+D+(E^W)|0;D=(D<<16|D>>>16)+C|0;E=H+-995338651+W+(D^E)|0;E=(E<<23|E>>>9)+D|0;F=V+-198630844+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=U+1126891415+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=T+-1416354905+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=S+-57434055+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=R+1700485571+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=Q+-1894986606+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=P+-1051523+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=O+-2054922799+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=N+1873313359+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=M+-30611744+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=L+-1560198380+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=K+1309151649+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=J+-145523070+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=I+-1120210379+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=H+718787259+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=G+-343485551+E+((D|~F)^C)|0;a=F+a|0;f=D+f+(E<<21|E>>>11)|0;h=D+h|0;g=C+g|0;b=b+64|0;e=e+-64|0}while((e|0)!=0);c[y>>2]=a;c[z>>2]=f;c[A>>2]=h;c[B>>2]=g;return b|0}function ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d>>2]&63;e=f+1|0;a[d+24+f>>0]=-128;f=f^63;g=d+24|0;if(f>>>0<8){u6(d+24+e|0,0,f|0)|0;hk(d,g,64)|0;f=56;e=0}else f=f+-8|0;u6(d+24+e|0,0,f|0)|0;f=c[d>>2]|0;e=f<<3;c[d>>2]=e;a[d+80>>0]=e;a[d+81>>0]=f>>>5;a[d+82>>0]=f>>>13;a[d+83>>0]=f>>>21;f=c[d+4>>2]|0;a[d+84>>0]=f;a[d+85>>0]=f>>>8;a[d+86>>0]=f>>>16;a[d+87>>0]=f>>>24;hk(d,g,64)|0;g=d+8|0;a[b>>0]=c[g>>2];a[b+1>>0]=(c[g>>2]|0)>>>8;a[b+2>>0]=(c[g>>2]|0)>>>16;a[b+3>>0]=(c[g>>2]|0)>>>24;g=d+12|0;a[b+4>>0]=c[g>>2];a[b+5>>0]=(c[g>>2]|0)>>>8;a[b+6>>0]=(c[g>>2]|0)>>>16;a[b+7>>0]=(c[g>>2]|0)>>>24;g=d+16|0;a[b+8>>0]=c[g>>2];a[b+9>>0]=(c[g>>2]|0)>>>8;a[b+10>>0]=(c[g>>2]|0)>>>16;a[b+11>>0]=(c[g>>2]|0)>>>24;g=d+20|0;a[b+12>>0]=c[g>>2];a[b+13>>0]=(c[g>>2]|0)>>>8;a[b+14>>0]=(c[g>>2]|0)>>>16;a[b+15>>0]=(c[g>>2]|0)>>>24;u6(d|0,0,152)|0;return}function jk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+32|0;D=H+18|0;C=H+15|0;o=H+8|0;g=H;c[g>>2]=b;f=g+4|0;c[f>>2]=0;G=B2(76)|0;do if(G|0){b=G;e=b+76|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));n=B2(24908)|0;if(!n){C2(G);break}if(c[n+-4>>2]&3|0)u6(n|0,0,24908)|0;u6(n+8|0,0,24900)|0;m=G+72|0;c[m>>2]=n;c[n+4>>2]=0;c[n+56>>2]=0;c[n>>2]=8;c[n+60>>2]=7;c[G+68>>2]=g;B=c[f>>2]|0;A=(c[g>>2]|0)+B|0;a[o>>0]=a[A>>0]|0;a[o+1>>0]=a[A+1>>0]|0;a[o+2>>0]=a[A+2>>0]|0;a[o+3>>0]=a[A+3>>0]|0;a[o+4>>0]=a[A+4>>0]|0;a[o+5>>0]=a[A+5>>0]|0;c[f>>2]=B+6;a[o+6>>0]=0;if(g3(379777,o,3)|0){C2(n);C2(G);break}a:do if(!(c[n>>2]&8))c[G+64>>2]=111;else{b=c[n+60>>2]|0;if(!b)b=M5(D,1,2,c[n+56>>2]|0)|0;else b=Th[b&63](G,D,2)|0;if((b|0)!=2){c[G+64>>2]=102;break}f=D+1|0;c[G>>2]=d[f>>0]<<8|d[D>>0];b=c[m>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(D,1,2,c[b+56>>2]|0)|0;else b=Th[e&63](G,D,2)|0;if((b|0)!=2){c[G+64>>2]=102;break}c[G+4>>2]=d[f>>0]<<8|d[D>>0];b=c[m>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(C,1,3,c[b+56>>2]|0)|0;else b=Th[e&63](G,C,3)|0;if((b|0)!=3){c[G+64>>2]=102;b=G+20|0;e=c[b>>2]|0;if(e|0){C2(c[e+12>>2]|0);C2(e)}c[b>>2]=0;break}B=a[C>>0]|0;f=B&255;c[G+8>>2]=(f>>>4&7)+1;i=C+1|0;c[G+12>>2]=d[i>>0];j=C+2|0;a[G+16>>0]=a[j>>0]|0;b:do if(B<<24>>24<0){h=2<<(f&7);e=1;while(1){b=1<<e;if((e|0)<9&(b|0)<(h|0))e=e+1|0;else break}do if((b|0)==(h|0)?(k=B2(16)|0,(k|0)!=0):0){b=h*3|0;e=B2(b)|0;if(!e){C2(k);E=38;break}if(c[e+-4>>2]&3|0)u6(e|0,0,b|0)|0;c[k+12>>2]=e;c[k>>2]=h;b=1;while(1)if((b|0)<9&(1<<b|0)<(h|0))b=b+1|0;else break;c[k+4>>2]=b;a[k+8>>0]=0;g=G+20|0;c[g>>2]=k;if(!k)break;a[k+8>>0]=f>>>3&1;if((h|0)>0)f=0;else break b;while(1){b=c[m>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(C,1,3,c[b+56>>2]|0)|0;else b=Th[e&63](G,C,3)|0;if((b|0)!=3)break;B=c[g>>2]|0;A=c[B+12>>2]|0;a[A+(f*3|0)>>0]=a[C>>0]|0;a[A+(f*3|0)+1>>0]=a[i>>0]|0;a[A+(f*3|0)+2>>0]=a[j>>0]|0;f=f+1|0;if((f|0)>=(c[B>>2]|0))break b}b=c[g>>2]|0;if(b|0){C2(c[b+12>>2]|0);C2(b)}c[g>>2]=0;c[G+64>>2]=102;break a}else E=38;while(0);if((E|0)==38)c[G+20>>2]=0;c[G+64>>2]=109;break a}else c[G+20>>2]=0;while(0);c[G+64>>2]=0;a[n+24904>>0]=(a[o+3>>0]|0)==57&1;B=G+4|0;b=c[B>>2]|0;do if(((b|0)>0?(p=c[G>>2]|0,(p|0)>0):0)?(q=O(p,b)|0,F=B2(q)|0,(F|0)!=0):0){u6(F|0,c[G+12>>2]&255|0,q|0)|0;z=G+64|0;o=G+32|0;p=G+28|0;q=G+36|0;r=G+40|0;s=G+44|0;t=G+72|0;u=G+28|0;v=D+1|0;A=G+48|0;w=C+1|0;x=C+2|0;y=G+52|0;n=G+24|0;c:while(1){b=c[t>>2]|0;if(!(c[b>>2]&8)){b=111;E=65;break}e=c[b+60>>2]|0;if(!e)b=M5(D,1,1,c[b+56>>2]|0)|0;else b=Th[e&63](G,D,1)|0;if((b|0)!=1){b=102;E=65;break}switch(a[D>>0]|0){case 44:{m=2;break}case 33:{m=3;break}case 59:{m=4;break}default:{b=107;E=65;break c}}d:do switch(m&7){case 2:{k=c[t>>2]|0;e:do if(!(c[k>>2]&8)){c[z>>2]=111;E=154}else{b=c[k+60>>2]|0;if(!b)b=M5(D,1,2,c[k+56>>2]|0)|0;else b=Th[b&63](G,D,2)|0;if((b|0)!=2){c[z>>2]=102;E=154;break}c[u>>2]=d[v>>0]<<8|d[D>>0];b=c[t>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(D,1,2,c[b+56>>2]|0)|0;else b=Th[e&63](G,D,2)|0;if((b|0)!=2){c[z>>2]=102;E=154;break}c[o>>2]=d[v>>0]<<8|d[D>>0];b=c[t>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(D,1,2,c[b+56>>2]|0)|0;else b=Th[e&63](G,D,2)|0;if((b|0)!=2){c[z>>2]=102;E=154;break}c[q>>2]=d[v>>0]<<8|d[D>>0];b=c[t>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(D,1,2,c[b+56>>2]|0)|0;else b=Th[e&63](G,D,2)|0;if((b|0)!=2){c[z>>2]=102;E=154;break}c[r>>2]=d[v>>0]<<8|d[D>>0];b=c[t>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(C,1,1,c[b+56>>2]|0)|0;else b=Th[e&63](G,C,1)|0;if((b|0)!=1){c[z>>2]=102;b=c[A>>2]|0;if(b|0){C2(c[b+12>>2]|0);C2(b)}c[A>>2]=0;E=154;break}b=a[C>>0]|0;f=b&255;a[s>>0]=f>>>6&1;e=c[A>>2]|0;if(e){C2(c[e+12>>2]|0);C2(e);c[A>>2]=0;b=a[C>>0]|0}f:do if(b<<24>>24<0){g=2<<(f&7);e=1;while(1){b=1<<e;if((e|0)<9&(b|0)<(g|0))e=e+1|0;else break}do if((b|0)==(g|0)){f=B2(16)|0;if(!f){E=109;break}b=g*3|0;e=B2(b)|0;if(!e){C2(f);E=109;break}if(c[e+-4>>2]&3|0)u6(e|0,0,b|0)|0;c[f+12>>2]=e;c[f>>2]=g;b=1;while(1)if((b|0)<9&(1<<b|0)<(g|0))b=b+1|0;else break;c[f+4>>2]=b;a[f+8>>0]=0;c[A>>2]=f;if(!f)break;else f=0;while(1){b=c[t>>2]|0;e=c[b+60>>2]|0;if(!e)b=M5(C,1,3,c[b+56>>2]|0)|0;else b=Th[e&63](G,C,3)|0;if((b|0)!=3)break;j=c[A>>2]|0;i=c[j+12>>2]|0;a[i+(f*3|0)>>0]=a[C>>0]|0;a[i+(f*3|0)+1>>0]=a[w>>0]|0;a[i+(f*3|0)+2>>0]=a[x>>0]|0;f=f+1|0;if(f>>>0>=(c[j>>2]|0)>>>0)break f}b=c[A>>2]|0;if(b|0){C2(c[b+12>>2]|0);C2(b)}c[z>>2]=102;c[A>>2]=0;E=154;break e}else E=109;while(0);if((E|0)==109)c[A>>2]=0;c[z>>2]=109;E=154;break e}while(0);b=c[y>>2]|0;g:do if(!b){b=B2(36)|0;c[y>>2]=b;if(b|0)break;c[z>>2]=109;E=154;break e}else{e=(c[n>>2]|0)+1|0;do if(e>>>0>119304647)c[105438]=12;else{b=D2(b,e*36|0)|0;if(!b)break;c[y>>2]=b;break g}while(0);c[z>>2]=109;E=154;break e}while(0);i=c[n>>2]|0;e=b+(i*36|0)|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[e+16>>2]=c[u+16>>2];c[e+20>>2]=c[u+20>>2];e=c[A>>2]|0;h:do if(e|0){j=c[e>>2]|0;h=c[e+12>>2]|0;f=1;while(1){e=1<<f;if((f|0)<9&(e|0)<(j|0))f=f+1|0;else break}do if((e|0)==(j|0)){g=B2(16)|0;if(!g)break;do if(!j)e=0;else{e=j*3|0;if(j>>>0<=65535)break;e=((e>>>0)/(j>>>0)|0|0)==3?e:-1}while(0);f=B2(e)|0;if(!f){C2(g);break}if(c[f+-4>>2]&3|0)u6(f|0,0,e|0)|0;c[g+12>>2]=f;c[g>>2]=j;e=1;while(1)if((e|0)<9&(1<<e|0)<(j|0))e=e+1|0;else break;c[g+4>>2]=e;a[g+8>>0]=0;if(h|0)s6(f|0,h|0,j*3|0)|0;c[b+(i*36|0)+20>>2]=g;break h}while(0);c[b+(i*36|0)+20>>2]=0;c[z>>2]=109;E=154;break e}while(0);c[b+(i*36|0)+24>>2]=0;c[b+(i*36|0)+28>>2]=0;c[b+(i*36|0)+32>>2]=0;c[n>>2]=(c[n>>2]|0)+1;c[k+52>>2]=O(c[r>>2]|0,c[q>>2]|0)|0;e=c[t>>2]|0;b=c[e+60>>2]|0;if(!b)b=M5(D,1,1,c[e+56>>2]|0)|0;else b=Th[b&63](G,D,1)|0;do if(b|0){k=a[D>>0]|0;b=k&255;if((k&255)>8){c[z>>2]=102;break}a[e+68>>0]=0;c[e+8>>2]=b;k=1<<b;c[e+12>>2]=k;c[e+16>>2]=k+1;c[e+20>>2]=k+2;c[e+24>>2]=b+1;c[e+28>>2]=2<<b;c[e+40>>2]=0;c[e+32>>2]=4098;c[e+44>>2]=0;c[e+48>>2]=0;b=0;do{c[e+8516+(b<<2)>>2]=4098;b=b+1|0}while((b|0)!=4096);b=0;break e}while(0);E=157}while(0);if((E|0)==154)E=157;if((E|0)==157){E=0;b=c[z>>2]|0}e=c[o>>2]|0;i=c[p>>2]|0;j=c[q>>2]|0;g=c[r>>2]|0;f=c[G>>2]|0;if(!((j+i|0)<=(f|0)?(g+e|0)<=(c[B>>2]|0):0))b=1;if(!(a[s>>0]|0)){if((g|0)<=0)break d;if(aO(G,F+(O(e,f)|0)+i|0,j)|0){f=0;do{f=f+1|0;if((f|0)>=(g|0))break d;e=e+1|0}while((aO(G,F+(O(e,c[G>>2]|0)|0)+i|0,j)|0)!=0)}b=c[z>>2]|0;break d}h=g+e|0;f=e;g=1296;while(1){f=(c[g>>2]|0)+f|0;if((f|0)>=(h|0))break;if(!(aO(G,F+(O(c[G>>2]|0,f)|0)+i|0,j)|0)){E=167;break}else g=1280}if((E|0)==167){E=0;b=c[z>>2]|0}f=e;g=1296;while(1){f=(c[g+4>>2]|0)+f|0;if((f|0)>=(h|0))break;if(!(aO(G,F+(O(c[G>>2]|0,f)|0)+i|0,j)|0)){E=235;break}else g=1280}if((E|0)==235){E=0;b=c[z>>2]|0}f=e;g=1296;while(1){f=(c[g+8>>2]|0)+f|0;if((f|0)>=(h|0))break;if(!(aO(G,F+(O(c[G>>2]|0,f)|0)+i|0,j)|0)){E=239;break}else g=1280}if((E|0)==239){E=0;b=c[z>>2]|0}f=1296;while(1){e=(c[f+12>>2]|0)+e|0;if((e|0)>=(h|0))break d;if(!(aO(G,F+(O(c[G>>2]|0,e)|0)+i|0,j)|0))break;else f=1280}b=c[z>>2]|0;break}case 3:{b=c[t>>2]|0;if(!(c[b>>2]&8)){b=111;E=186;break c}e=c[b+60>>2]|0;if(!e)b=M5(C,1,1,c[b+56>>2]|0)|0;else b=Th[e&63](G,C,1)|0;if((b|0)!=1){b=102;E=186;break c}f=c[t>>2]|0;b=c[f+60>>2]|0;if(!b)b=M5(D,1,1,c[f+56>>2]|0)|0;else b=Th[b&63](G,D,1)|0;if((b|0)!=1){E=187;break c}e=a[D>>0]|0;if(e<<24>>24){b=f+68|0;a[b>>0]=e;g=c[t>>2]|0;h=c[g+60>>2]|0;f=f+69|0;e=e&255;if(!h)e=M5(f,1,e,c[g+56>>2]|0)|0;else e=Th[h&63](G,f,e)|0;if((e|0)!=(d[D>>0]|0)){E=187;break c}}else b=0;while(1){if(!b){b=0;break d}f=c[t>>2]|0;b=c[f+60>>2]|0;if(!b)b=M5(D,1,1,c[f+56>>2]|0)|0;else b=Th[b&63](G,D,1)|0;if((b|0)!=1){E=200;break c}e=a[D>>0]|0;if(e<<24>>24){b=f+68|0;a[b>>0]=e;g=c[t>>2]|0;h=c[g+60>>2]|0;f=f+69|0;e=e&255;if(!h)e=M5(f,1,e,c[g+56>>2]|0)|0;else e=Th[h&63](G,f,e)|0;if((e|0)!=(d[D>>0]|0)){E=200;break c}}else b=0}}default:b=0}while(0);if(!((b|0)==0&(m|0)!=4)){E=202;break}}if((E|0)==65)c[z>>2]=b;else if((E|0)==186)c[z>>2]=b;else if((E|0)==187)c[z>>2]=102;else if((E|0)==200)c[z>>2]=102;else if((E|0)==202?(b|0)==0:0){b=B2(20)|0;if(!b){k=G;n=b;break}c[b>>2]=F;c[b+8>>2]=c[G>>2];c[b+12>>2]=c[B>>2];n=c[(c[A>>2]|0?A:G+20|0)>>2]|0;k=c[n>>2]|0;c[b+16>>2]=k;k=k*3|0;F=B2(k)|0;c[b+4>>2]=F;s6(F|0,c[n+12>>2]|0,k|0)|0;k=G;n=b;break}C2(F);k=G;n=0}else{k=G;n=0}while(0);m=k+72|0;if(!(c[m>>2]|0)){G=n;l=H;return G|0}b=k+48|0;e=c[b>>2]|0;if(e|0){C2(c[e+12>>2]|0);C2(e);c[b>>2]=0}b=k+20|0;e=c[b>>2]|0;if(e|0){C2(c[e+12>>2]|0);C2(e);c[b>>2]=0}j=k+52|0;b=c[j>>2]|0;if(b|0){i=k+24|0;if((c[i>>2]|0)>0){do{e=b+20|0;f=c[e>>2]|0;if(f|0){C2(c[f+12>>2]|0);C2(f);c[e>>2]=0}e=c[b+24>>2]|0;if(e|0)C2(e);g=b+28|0;h=b+32|0;e=c[h>>2]|0;if(e|0){if((c[g>>2]|0)>0){do{C2(c[e+4>>2]|0);e=e+12|0;f=c[h>>2]|0}while(e>>>0<(f+((c[g>>2]|0)*12|0)|0)>>>0);e=f}C2(e);c[h>>2]=0;c[g>>2]=0}b=b+36|0;e=c[j>>2]|0}while(b>>>0<(e+((c[i>>2]|0)*36|0)|0)>>>0);b=e}C2(b);c[j>>2]=0}g=k+56|0;f=k+60|0;b=c[f>>2]|0;if(b|0){if((c[g>>2]|0)>0){do{C2(c[b+4>>2]|0);b=b+12|0;e=c[f>>2]|0}while(b>>>0<(e+((c[g>>2]|0)*12|0)|0)>>>0);b=e}C2(b);c[f>>2]=0;c[g>>2]=0}b=c[m>>2]|0;if(!(c[b>>2]&8)){C2(b);C2(G);G=n;l=H;return G|0}e=c[b+56>>2]|0;do if(e){F=(W4(e)|0)==0;b=c[m>>2]|0;if(F)break;C2(b);C2(G);G=n;l=H;return G|0}while(0);C2(b);C2(G);G=n;l=H;return G|0}while(0);C2(n);C2(G)}while(0);G=0;l=H;return G|0}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+68>>2]|0;a=e+4|0;s6(b|0,(c[e>>2]|0)+(c[a>>2]|0)|0,d|0)|0;c[a>>2]=(c[a>>2]|0)+d;return d|0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+68>>2]|0;a=e+4|0;s6((c[e>>2]|0)+(c[a>>2]|0)|0,b|0,d|0)|0;c[a>>2]=(c[a>>2]|0)+d;return d|0}function mk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0;S=l;l=l+32|0;Q=S+16|0;N=S+8|0;I=S;P=S+12|0;K=O(i,e)|0;L=O(i,f)|0;M=O(f,e)|0;c[N>>2]=0;c[I>>2]=b;H=I+4|0;c[H>>2]=0;I=VN(I,N)|0;if(!I){l=S;return}J=I+72|0;a[(c[J>>2]|0)+24904>>0]=1;if(WN(I,K,L,8,0)|0){b=c[J>>2]|0;do if(c[b>>2]&1){a[Q>>0]=33;a[Q+1>>0]=-1;j=c[b+64>>2]|0;if(!j){L4(Q,1,2,c[b+56>>2]|0)|0;break}else{Th[j&63](I,Q,2)|0;break}}else c[I+64>>2]=10;while(0);b=c[J>>2]|0;do if(c[b>>2]&1){a[Q>>0]=11;j=c[b+64>>2]|0;if(!j)L5(11,c[b+56>>2]|0);else Th[j&63](I,Q,1)|0;b=c[J>>2]|0;j=c[b+64>>2]|0;if(!j){L4(87452,1,11,c[b+56>>2]|0)|0;break}else{Th[j&63](I,87452,11)|0;break}}else c[I+64>>2]=10;while(0);b=c[J>>2]|0;do if(c[b>>2]&1){a[Q>>0]=3;j=c[b+64>>2]|0;if(!j)L5(3,c[b+56>>2]|0);else Th[j&63](I,Q,1)|0;b=c[J>>2]|0;j=c[b+64>>2]|0;if(!j){L4(87464,1,3,c[b+56>>2]|0)|0;break}else{Th[j&63](I,87464,3)|0;break}}else c[I+64>>2]=10;while(0);b=c[J>>2]|0;do if(c[b>>2]&1){a[Q>>0]=0;j=c[b+64>>2]|0;if(!j){L5(0,c[b+56>>2]|0);break}else{Th[j&63](I,Q,1)|0;break}}else c[I+64>>2]=10;while(0);r=B2(768)|0;s=B2(M)|0;t=B2(K)|0;a:do if((h|0)>0){u=M<<2;v=(M|0)<1;w=(f|0)>0;x=(e|0)>0;y=(i|0)>0;z=I+64|0;A=Q+1|0;B=Q+2|0;C=P+1|0;D=P+2|0;E=P+3|0;F=Q+1|0;G=Q+2|0;p=0;q=0;while(1){b=(q*240|1|0)/200|0;if((b|0)>=(h|0))break a;m=g+(O(u,b)|0)|0;u6(r|0,0,768)|0;u6(s|0,0,M|0)|0;if(v)b=0;else{k=0;b=0;do{o=m+(k<<2)|0;a[Q>>0]=a[o>>0]|0;a[A>>0]=a[o+1>>0]|0;a[B>>0]=a[o+2>>0]|0;b:do if((b|0)>0){j=0;while(1){if(!(f3(r+(j*3|0)|0,Q,3)|0))break;j=j+1|0;if((j|0)>=(b|0)){R=37;break b}}a[s+k>>0]=j}else R=37;while(0);if((R|0)==37){R=0;a[s+k>>0]=b;o=r+(b*3|0)|0;a[o>>0]=a[Q>>0]|0;a[o+1>>0]=a[Q+1>>0]|0;a[o+2>>0]=a[Q+2>>0]|0;b=b+1|0}k=k+1|0}while(!((b|0)>255|(k|0)>=(M|0)))}a[P>>0]=4;a[C>>0]=2;a[D>>0]=0;a[E>>0]=-1;j=c[J>>2]|0;do if(c[j>>2]&1){a[Q>>0]=33;a[F>>0]=-7;a[G>>0]=4;k=c[j+64>>2]|0;if(!k)L4(Q,1,3,c[j+56>>2]|0)|0;else Th[k&63](I,Q,3)|0;j=c[J>>2]|0;k=c[j+64>>2]|0;if(!k)L4(P,1,4,c[j+56>>2]|0)|0;else Th[k&63](I,P,4)|0;a[Q>>0]=0;j=c[J>>2]|0;k=c[j+64>>2]|0;if(!k){L5(0,c[j+56>>2]|0);break}else{Th[k&63](I,Q,1)|0;break}}else c[z>>2]=10;while(0);k=B2(16)|0;do if(!k){o=0;n=0}else{j=B2(768)|0;if(!j){C2(k);o=0;n=0;break}if(c[j+-4>>2]&3|0)u6(j|0,0,768)|0;c[k+12>>2]=j;c[k>>2]=256;c[k+4>>2]=8;a[k+8>>0]=0;o=k;n=k}while(0);m=o+12|0;u6(c[m>>2]|0,0,768)|0;s6(c[m>>2]|0,r|0,b*3|0)|0;if(!(XN(I,K,L,o)|0))b=p;else{c:do if(w){if(x)k=0;else{j=0;while(1){d:do if(y){b=0;while(1){b=b+1|0;if(!(_N(I,t,K)|0))break;if((b|0)>=(i|0)){R=72;break d}}b=c[z>>2]|0;c[N>>2]=b}else R=72;while(0);if((R|0)==72){R=0;b=c[N>>2]|0}j=j+1|0;if(!((b|0)==0&(j|0)<(f|0)))break c}}do{e:do if(y){b=O(k,e)|0;j=0;while(1){p=t+(O(j,i)|0)|0;u6(p|0,a[s+b>>0]|0,i|0)|0;j=j+1|0;if((j|0)==(e|0)){b=0;break}else b=b+1|0}while(1){b=b+1|0;if(!(_N(I,t,K)|0))break;if((b|0)>=(i|0)){R=63;break e}}b=c[z>>2]|0;c[N>>2]=b}else R=63;while(0);if((R|0)==63){R=0;b=c[N>>2]|0}k=k+1|0}while((b|0)==0&(k|0)<(f|0))}else b=c[N>>2]|0;while(0);c[d>>2]=c[H>>2];b=(b|0)==0&1}if(o|0){C2(c[m>>2]|0);C2(n)}q=q+1|0;if(!((b&1)!=0&(q|0)<(h|0)))break;else p=b}}while(0);C2(t);C2(s);C2(r)}$N(I,N);c[d>>2]=c[H>>2];l=S;return}function nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+4176|0;g=k+80|0;h=k;i=X3()|0;if(!i){l=k;return}f=Z3(i)|0;a:do if(f|0){j=h+12|0;if(!e)while(1){f=f+11|0;if(((a[f>>0]|0)!=46?(x4(g,425913)|0,Y5(g,f)|0,O4(g,h)|0,(c[j>>2]&61440|0)==32768):0)?!(Wh[b&31](f,0,0,d,0)|0):0)break a;f=Z3(i)|0;if(!f)break a}do{f=f+11|0;do if((a[f>>0]|0)!=46){x4(g,425913)|0;Y5(g,f)|0;m=O4(g,h)|0;e=c[j>>2]&61440;if(!m){if((e|0)!=16384)break}else if((e|0)!=32768)break;if(!(Wh[b&31](f,0,0,d,1)|0))break a}while(0);f=Z3(i)|0}while((f|0)!=0)}while(0);T3(i);l=k;return}function ok(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[f>>2]|0;if(!b){si[c[f+4>>2]&127](0,0,c[f+8>>2]|0);C2(f);return}x4(425913,i)|0;j=i+4096|0;if(r4(j)|0){Y5(425913,j)|0;h=425913+(r4(425913)|0)|0;a[h>>0]=47;a[h+1>>0]=0}Y5(425913,b)|0;h=Q4(425913,403165)|0;if(h|0){W4(h)|0;si[c[f+4>>2]&127](b,2,c[f+8>>2]|0);C2(f);return}x4(425913,i)|0;if(r4(j)|0){Y5(425913,j)|0;j=425913+(r4(425913)|0)|0;a[j>>0]=47;a[j+1>>0]=0}Y5(425913,b)|0;h=Q4(425913,403168)|0;if(!h){C2(f);return}L4(d,1,e,h)|0;W4(h)|0;if(g|0)H5(g);Qb(0)|0;si[c[f+4>>2]&127](b,1,c[f+8>>2]|0);C2(f);return}function pk(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+80|0;e=f;if((a[d>>0]|0)==46){e=0;l=f;return e|0}x4(425913,b)|0;b=b+4096|0;if(r4(b)|0){Y5(425913,b)|0;b=425913+(r4(425913)|0)|0;a[b>>0]=47;a[b+1>>0]=0}Y5(425913,d)|0;if(!(O4(425913,e)|0))b=(c[e+12>>2]&61440|0)==16384;else b=0;e=b;l=f;return e|0}function qk(a,b){a=a|0;b=b|0;li[c[b>>2]&511](a&1,c[b+4>>2]|0);C2(c[b+8>>2]|0);C2(b);return}function rk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;ti[c[e>>2]&63](a,b,d,c[e+4>>2]|0);C2(e);return}function sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+8272|0;i=k+4176|0;j=k+4100|0;f=k;g=b+4096|0;if(e3(g,87467)|0?f3(g,87485,18)|0:0){x4(425913,b)|0;if(r4(g)|0){Y5(425913,g)|0;j=425913+(r4(425913)|0)|0;a[j>>0]=47;a[j+1>>0]=0}Y5(425913,d)|0;g=Q4(425913,403165)|0;if(!g){e=0;l=k;return e|0}i5(g,0,2)|0;c[e>>2]=P5(g)|0;i5(g,0,0)|0;d=c[e>>2]|0;f=B2(d)|0;if(!f)d=0;else{d=(M5(f,d,1,g)|0)==0;d=d?0:f}W4(g)|0;e=d;l=k;return e|0}u6(f|0,0,4100)|0;c[f>>2]=d;h=f+4|0;a[h>>0]=0;x4(425913,b)|0;if(r4(g)|0){Y5(425913,g)|0;g=425913+(r4(425913)|0)|0;a[g>>0]=47;a[g+1>>0]=0}f=X3()|0;if(f|0){d=Z3(f)|0;if(d|0)do{d=d+11|0;if((a[d>>0]|0)!=46){x4(i,425913)|0;Y5(i,d)|0;O4(i,j)|0}d=Z3(f)|0}while((d|0)!=0);T3(f)}f=X3()|0;if(f|0){d=Z3(f)|0;if(d|0)do{d=d+11|0;if((a[d>>0]|0)!=46){x4(i,425913)|0;Y5(i,d)|0;O4(i,j)|0}d=Z3(f)|0}while((d|0)!=0);T3(f)}if(!(r4(h)|0)){e=0;l=k;return e|0}else{e=tk(b,h,e)|0;l=k;return e|0}return 0}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+12304|0;g=k+4096|0;j=k;h=k+8200|0;e=k+4104|0;u6(h|0,0,4096)|0;c[j>>2]=b;h3(h,87528,j)|0;i=a+4096|0;x4(j,i)|0;u6(i|0,0,4096)|0;f=sk(a,h,d)|0;x4(i,j)|0;if(f|0){j=f;l=k;return j|0}u6(e|0,0,4096)|0;c[g>>2]=b;h3(e,87548,g)|0;b=Sh[c[(c[40>>2]|0)+24>>2]&255](e,d)|0;if(b|0){d=c[d>>2]|0;x4(j,i)|0;u6(i|0,0,4096)|0;uk(a,h,b,d,0)|0;x4(i,j)|0}j=b;l=k;return j|0}function uk(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+80|0;g=h;if(!f){x4(425913,b)|0;f=b+4096|0;if(r4(f)|0){Y5(425913,f)|0;i=425913+(r4(425913)|0)|0;a[i>>0]=47;a[i+1>>0]=0}Y5(425913,c)|0;if(!(O4(425913,g)|0)){i=0;l=h;return i|0}}else f=b+4096|0;x4(425913,b)|0;if(a[f>>0]|0){Y5(425913,f)|0;i=425913+(r4(425913)|0)|0;a[i>>0]=47;a[i+1>>0]=0}Y5(425913,c)|0;f=Q4(425913,403168)|0;if(!f){i=0;l=h;return i|0}L4(d,1,e,f)|0;W4(f)|0;Qb(0)|0;i=1;l=h;return i|0}function vk(a,b){a=a|0;b=b|0;var d=0;d=Q4(a,403165)|0;if(!d){d=0;return d|0}i5(d,0,2)|0;c[b>>2]=P5(d)|0;i5(d,0,0)|0;a=c[b>>2]|0;b=B2(a)|0;if(b|0)M5(b,a,1,d)|0;W4(d)|0;d=b;return d|0}function wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+4176|0;g=h+80|0;f=h;b=t5(b)|0;x4(g,b)|0;C2(b);if(O4(g,f)|0){g=0;x4(d,g)|0;l=h;return}a:do if((c[f+12>>2]&61440|0)==32768?(e=r4(g)|0,(e|0)>=0):0){b=g+e|0;while(1){if((a[b>>0]|0)==47)break;b=b+-1|0;if(b>>>0<g>>>0)break a}a[b>>0]=0}while(0);b=r4(g)|0;if((a[g+(b+-1)>>0]|0)==47){x4(d,g)|0;l=h;return}f=g+b|0;a[f>>0]=47;a[f+1>>0]=0;x4(d,g)|0;l=h;return}function xk(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+80|0;e=f;x4(425913,b)|0;b=b+4096|0;if(r4(b)|0){Y5(425913,b)|0;b=425913+(r4(425913)|0)|0;a[b>>0]=47;a[b+1>>0]=0}Y5(425913,d)|0;if(O4(425913,e)|0){d=0;e=0;z=d;l=f;return e|0}if((c[e+12>>2]&61440|0)!=32768){d=0;e=0;z=d;l=f;return e|0}e=c[e+56>>2]|0;d=((e|0)<0)<<31>>31;z=d;l=f;return e|0}function yk(b,c){b=b|0;c=c|0;x4(425913,b)|0;b=b+4096|0;if(r4(b)|0){Y5(425913,b)|0;b=425913+(r4(425913)|0)|0;a[b>>0]=47;a[b+1>>0]=0}Y5(425913,c)|0;I5();Qb(0)|0;return}function zk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){e=0;return e|0}if((r4(b)|0)!=3){e=0;return e|0}if(f3(88652,b,2)|0)if(f3(88655,b,2)|0)if(f3(88658,b,2)|0)if(f3(88661,b,2)|0)if(f3(88664,b,2)|0)if(f3(88667,b,2)|0)if(f3(88670,b,2)|0)if(f3(88673,b,2)|0)if(f3(88676,b,2)|0)if(f3(88679,b,2)|0)if(f3(88682,b,2)|0)if(!(f3(88685,b,2)|0))f=11;else{e=1;return e|0}else f=10;else f=9;else f=8;else f=7;else f=6;else f=5;else f=4;else f=3;else f=2;else f=1;else f=0;c[d>>2]=f;c[e>>2]=(a[b+2>>0]|0)+-49;e=1;return e|0}function Ak(b){b=b|0;a[413220]=a[b>>0]|0;a[413221]=a[b+1>>0]|0;a[413222]=a[b+2>>0]|0;a[413223]=-1;a[413224]=a[b+3>>0]|0;a[413225]=a[b+4>>0]|0;a[413226]=a[b+5>>0]|0;a[413227]=-1;a[413228]=a[b+6>>0]|0;a[413229]=a[b+7>>0]|0;a[413230]=a[b+8>>0]|0;a[413231]=-1;a[413232]=a[b+9>>0]|0;a[413233]=a[b+10>>0]|0;a[413234]=a[b+11>>0]|0;a[413235]=-1;a[413236]=a[b+12>>0]|0;a[413237]=a[b+13>>0]|0;a[413238]=a[b+14>>0]|0;a[413239]=-1;a[413240]=a[b+15>>0]|0;a[413241]=a[b+16>>0]|0;a[413242]=a[b+17>>0]|0;a[413243]=-1;a[413244]=a[b+18>>0]|0;a[413245]=a[b+19>>0]|0;a[413246]=a[b+20>>0]|0;a[413247]=-1;a[413248]=a[b+21>>0]|0;a[413249]=a[b+22>>0]|0;a[413250]=a[b+23>>0]|0;a[413251]=-1;a[413252]=a[b+24>>0]|0;a[413253]=a[b+25>>0]|0;a[413254]=a[b+26>>0]|0;a[413255]=-1;a[413256]=a[b+27>>0]|0;a[413257]=a[b+28>>0]|0;a[413258]=a[b+29>>0]|0;a[413259]=-1;a[413260]=a[b+30>>0]|0;a[413261]=a[b+31>>0]|0;a[413262]=a[b+32>>0]|0;a[413263]=-1;a[413264]=a[b+33>>0]|0;a[413265]=a[b+34>>0]|0;a[413266]=a[b+35>>0]|0;a[413267]=-1;a[413268]=a[b+36>>0]|0;a[413269]=a[b+37>>0]|0;a[413270]=a[b+38>>0]|0;a[413271]=-1;a[413272]=a[b+39>>0]|0;a[413273]=a[b+40>>0]|0;a[413274]=a[b+41>>0]|0;a[413275]=-1;a[413276]=a[b+42>>0]|0;a[413277]=a[b+43>>0]|0;a[413278]=a[b+44>>0]|0;a[413279]=-1;a[413280]=a[b+45>>0]|0;a[413281]=a[b+46>>0]|0;a[413282]=a[b+47>>0]|0;a[413283]=-1;return}function Bk(b){b=b|0;var d=0,e=0;d=b+4|0;if(!(a[d>>0]|0)){c[b+8>>2]=1;e=b+12|0;c[e>>2]=0;a[d>>0]=1;d=e}else d=b+12|0;e=c[b>>2]|0;li[c[e+1262676>>2]&511](e,0);fi[c[1312+((((c[d>>2]|0)>>>0)/60|0)<<2)>>2]&511](b);c[d>>2]=(c[d>>2]|0)+1;return}function Ck(b){b=b|0;var d=0;d=c[b>>2]|0;li[c[d+1262676>>2]&511](d,0);u6(d+16384|0,a[87623+(((((c[b+12>>2]|0)>>>0)%60|0)>>>0)/15|0)>>0]|0,32)|0;b=c[b>>2]|0;Ei[c[b+1262708>>2]&15](b,b+32768|0,b+16384|0,0,0,30,17,0,0,-1,1);return}function Dk(b){b=b|0;var e=0,f=0,g=0;e=b+16|0;if(!(a[e>>0]|0)){g=c[2]|0;f=(c[80]|0)+49470|0;f=d[f>>0]|d[f+1>>0]<<8;Ci[c[g+1262752>>2]&7](g,1,(f&65535)>>>8&15,f&7,-1,0,15,0);a[e>>0]=1}g=c[b>>2]|0;Xh[c[g+1262668>>2]&3](g,87566,6,7,15,0)|0;g=c[b>>2]|0;Xh[c[g+1262668>>2]&3](g,87587,132,7,3,0)|0;g=c[b>>2]|0;Xh[c[g+1262668>>2]&3](g,87594,6,14,3,0)|0;return}function Ek(b){b=b|0;var d=0,e=0;d=b+16|0;if(a[d>>0]|0){e=c[b>>2]|0;li[c[e+1262748>>2]&511](e,0);a[d>>0]=0}e=c[b>>2]|0;Xh[c[e+1262668>>2]&3](e,87566,6,7,15,0)|0;e=c[b>>2]|0;Xh[c[e+1262668>>2]&3](e,87587,132,7,3,0)|0;b=c[b>>2]|0;Xh[c[b+1262668>>2]&3](b,87594,6,14,3,0)|0;b=c[18]|0;a:do switch(b|0){case 2:{e=c[2]|0;fi[c[e+1262788>>2]&511](e);e=c[2]|0;fi[c[e+1262784>>2]&511](e);break}case 1:return;default:{e=c[2]|0;fi[c[e+1262784>>2]&511](e);switch(b|0){case 9:case 10:case 0:break a;case 11:{c[19]=3;break a}default:{c[19]=b;break a}}}}while(0);c[18]=1;return}function Fk(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;i=r;m=d+48|0;g=c[m>>2]|0;if(!g){g=B2(4096)|0;c[m>>2]=g}p=d+52|0;h=c[p>>2]|0;if(!h){h=B2(4096)|0;c[p>>2]=h}q=d+60|0;k=c[q>>2]|0;if(!k){n=p;o=m}else{C2(c[k+8>>2]|0);g=c[k>>2]|0;while(1){h=c[g+4>>2]|0;if(!h)break;else g=h}if(g|0)do{h=g;g=c[g>>2]|0;j=c[h+8>>2]|0;if(j|0)C2(j);C2(h)}while((g|0)!=0);C2(k);n=p;o=m;g=c[m>>2]|0;h=c[p>>2]|0}k=i+1|0;m=k+24|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(m|0));j=B2(16)|0;c[j+12>>2]=f;c[j+4>>2]=16384;k=B2(16384)|0;c[j+8>>2]=k;s6(k|0,f|0,16384)|0;k=B2(20)|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=k;c[d>>2]=e;c[d+4>>2]=f;c[d+8>>2]=0;b[d+12>>1]=0;a[d+14>>0]=1;a[d+15>>0]=0;a[d+16>>0]=8;a[d+17>>0]=1;a[d+18>>0]=0;k=d+19|0;m=k+25|0;do{a[k>>0]=a[i>>0]|0;k=k+1|0;i=i+1|0}while((k|0)<(m|0));a[d+44>>0]=0;f=d+45|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;c[o>>2]=g;c[n>>2]=h;c[d+56>>2]=0;c[q>>2]=j;c[d+64>>2]=194;c[d+68>>2]=164;c[d+72>>2]=6;c[d+76>>2]=165;l=r;return}function Gk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=l;l=l+32|0;L=O+16|0;M=O+8|0;B=O;H=O+20|0;t=c[f>>2]|0;h=(b[t+65414>>1]<<1&65535)<<16>>16>>10;if(h<<16>>16?(i=f+16|0,g=a[i>>0]|0,s=g&255,g=h<<16>>16>0?s<<((g&255)<64&1):s>>>((g&255)>8&1),(s|0)!=(g|0)):0){a[i>>0]=g;s=f+12|0;o=b[s>>1]|0;p=o<<3&120;r=(o&65535)>>>1&120;q=128-(g&255)|0;b[s>>1]=(o&65535)-(o&255)+((((p|0)>(q|0)?q:p)|0)/8|0)+(((((r|0)>(q|0)?q:r)|0)/8|0)<<4);s=f+20|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0}a:do if(c[t+65416>>2]|0){switch(Si()|0){case 1:{Mk(f);n=f+12|0;g=b[n>>1]|0;s=a[f+16>>0]|0;p=g<<3&120;g=(g&65535)>>>1&120;r=s&255;q=p+r|0;r=g+r|0;if(s<<24>>24){s=f+15|0;o=f+4|0;do{k=g+128|0;j=p;do{m=(e[n>>1]|0)>255?k:g;P=(((m|0)%8|0)<<3)+((j|0)%8|0)|0;m=(P>>>1)+((c[o>>2]|0)+((((m|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[m>>0]|0;i=d[s>>0]|0;if(!(P&1)){P=h&240;a[m>>0]=P;h=i&15;i=P}else{P=h&15;a[m>>0]=P;h=i<<4;i=P}a[m>>0]=h|i;j=j+1|0}while((j|0)<(q|0));g=g+1|0}while((g|0)<(r|0))}P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;Ml(c[f+60>>2]|0)|0;break}case 2:{Mk(f);break}case 3:{Nk(f);break}default:{}}if(Sh[c[t+1262804>>2]&255](t,63)|0){P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,26,20,3)|0)){P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,25,20,3)|0))break;k=c[f+60>>2]|0;g=c[c[k>>2]>>2]|0;if(g|0?(c[k>>2]=g,u=c[g+12>>2]|0,v=g+16|0,u>>>0<(c[v>>2]|0)>>>0):0){i=g+8|0;j=k+8|0;g=u;h=0;while(1){P=(c[j>>2]|0)+g|0;a[P>>0]=a[P>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[v>>2]|0)>>>0)break;else h=h+1|0}}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0;break}m=c[f+60>>2]|0;g=c[m>>2]|0;if(c[g+4>>2]|0){h=c[g+12>>2]|0;k=g+16|0;if(h>>>0<(c[k>>2]|0)>>>0){i=g+8|0;j=m+8|0;g=h;h=0;while(1){P=(c[j>>2]|0)+g|0;a[P>>0]=a[P>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[k>>2]|0)>>>0)break;else h=h+1|0}g=c[m>>2]|0}c[m>>2]=c[g+4>>2]}s6(c[m+12>>2]|0,c[m+8>>2]|0,c[m+4>>2]|0)|0;break}t=f+56|0;do if((c[t>>2]|0)==2?(w=f+28|0,(c[w>>2]|0)!=0):0){i=f+32|0;P=(c[i>>2]|0)==0;g=c[2]|0;g=Uh[c[g+1262808>>2]&63](g,58,20,3)|0;if(P)if(g){N=63;break}else{N=65;break}if(g){g=f+24|0;h=c[g>>2]|0;if((h|0)>0)c[g>>2]=h+-1;Ok(f);break a}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,59,20,3)|0){g=f+24|0;h=c[g>>2]|0;if(((c[i>>2]|0)+h|0)<(d[f+16>>0]|0))c[g>>2]=h+1;Ok(f);break a}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,60,20,3)|0){g=f+20|0;h=c[g>>2]|0;if((h|0)>0)c[g>>2]=h+-1;Ok(f);break a}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,61,20,3)|0){g=f+20|0;h=c[g>>2]|0;if(((c[w>>2]|0)+h|0)<(d[f+16>>0]|0))c[g>>2]=h+1;Ok(f);break a}P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,52,20,3)|0))break a;p=f+12|0;h=b[p>>1]|0;q=(h<<3&120)+(c[f+20>>2]|0)|0;h=((h&65535)>>>1&120)+(c[f+24>>2]|0)|0;g=c[w>>2]|0;o=q+g|0;P=c[i>>2]|0;n=h+P|0;if((P|0)>0?(y=f+15|0,x=f+4|0,(g|0)>0):0)do{k=h+128|0;j=q;do{m=(e[p>>1]|0)>255?k:h;P=(((m|0)%8|0)<<3)+((j|0)%8|0)|0;m=(P>>>1)+((c[x>>2]|0)+((((m|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;g=d[m>>0]|0;i=d[y>>0]|0;if(!(P&1)){P=g&240;a[m>>0]=P;g=i&15;i=P}else{P=g&15;a[m>>0]=P;g=i<<4;i=P}a[m>>0]=g|i;j=j+1|0}while((j|0)<(o|0));h=h+1|0}while((h|0)<(n|0));P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;Ml(c[f+60>>2]|0)|0;break a}else N=34;while(0);if((N|0)==34){P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,58,20,3)|0)N=63;else N=65}do if((N|0)==63){g=f+12|0;h=b[g>>1]|0;if(h&240)b[g>>1]=(h&65535)+65520}else if((N|0)==65){P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,59,20,3)|0){g=f+12|0;h=b[g>>1]|0;if(((h&65535)>>>1&120|0)>=(128-(d[f+16>>0]|0)|0))break;b[g>>1]=(h&65535)+16;break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,60,20,3)|0){g=f+12|0;h=b[g>>1]|0;if(!(h&15))break;b[g>>1]=h+-1<<16>>16;break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,61,20,3)|0){g=f+12|0;h=b[g>>1]|0;if((h<<3&120|0)>=(128-(d[f+16>>0]|0)|0))break;b[g>>1]=h+1<<16>>16;break}P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,52,20,3)|0)){P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,49,20,3)|0))break;P=f+12|0;y=b[P>>1]|0;b[P>>1]=((y&65535)<256?256:65280)+(y&65535);P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;break}n=f+12|0;g=b[n>>1]|0;P=a[f+16>>0]|0;p=g<<3&120;g=(g&65535)>>>1&120;r=P&255;q=p+r|0;r=g+r|0;if(P<<24>>24){s=f+15|0;o=f+4|0;do{k=g+128|0;j=p;do{m=(e[n>>1]|0)>255?k:g;P=(((m|0)%8|0)<<3)+((j|0)%8|0)|0;m=(P>>>1)+((c[o>>2]|0)+((((m|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[m>>0]|0;i=d[s>>0]|0;if(!(P&1)){P=h&240;a[m>>0]=P;h=i&15;i=P}else{P=h&15;a[m>>0]=P;h=i<<4;i=P}a[m>>0]=h|i;j=j+1|0}while((j|0)<(q|0));g=g+1|0}while((g|0)<(r|0))}P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;Ml(c[f+60>>2]|0)|0}while(0);if(!(a[f+18>>0]|0)){P=c[2]|0;if(!(Uh[c[P+1262808>>2]&63](P,28,20,3)|0)){P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,29,20,3)|0){c[t>>2]=1;break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,30,20,3)|0){c[t>>2]=2;break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,31,20,3)|0){c[t>>2]=3;break}P=c[2]|0;do if(!(Uh[c[P+1262808>>2]&63](P,32,20,3)|0)){P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,33,20,3)|0){Qk(f);break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,34,20,3)|0){Rk(f);break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,35,20,3)|0){n=f+12|0;g=b[n>>1]|0;P=a[f+16>>0]|0;p=g<<3&120;g=(g&65535)>>>1&120;r=P&255;q=p+r|0;r=g+r|0;if(P<<24>>24){s=f+15|0;o=f+4|0;do{k=g+128|0;j=p;do{m=(e[n>>1]|0)>255?k:g;P=(((m|0)%8|0)<<3)+((j|0)%8|0)|0;m=(P>>>1)+((c[o>>2]|0)+((((m|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[m>>0]|0;i=d[s>>0]|0;if(!(P&1)){P=h&240;a[m>>0]=P;h=i&15;i=P}else{P=h&15;a[m>>0]=P;h=i<<4;i=P}a[m>>0]=h|i;j=j+1|0}while((j|0)<(q|0));g=g+1|0}while((g|0)<(r|0))}P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;Ml(c[f+60>>2]|0)|0}}else Pk(f);while(0);if(c[t>>2]|0)break}else c[t>>2]=0;P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,39,20,3)|0){g=f+17|0;h=a[g>>0]|0;if((h&255)<=1)break;a[g>>0]=h+-1<<24>>24;break}P=c[2]|0;if(Uh[c[P+1262808>>2]&63](P,40,20,3)|0?(z=f+17|0,A=a[z>>0]|0,(A&255)<4):0)a[z>>0]=A+1<<24>>24}}while(0);p=c[f>>2]|0;li[c[p+1262676>>2]&511](p,7);p=f+56|0;if(!(((c[p>>2]|0)==2?(c[f+28>>2]|0)!=0:0)?(c[f+32>>2]|0)!=0:0)){a[H>>0]=a[87635]|0;a[H+1>>0]=a[87636]|0;a[H+2>>0]=a[87637]|0;a[H+3>>0]=a[87638]|0;a[H+4>>0]=a[87639]|0;c[B>>2]=e[f+12>>1];h3(H,87983,B)|0;P=c[f>>2]|0;Xh[c[P+1262664>>2]&3](P,H,44,11,0,0)|0;P=c[f>>2]|0;Xh[c[P+1262664>>2]&3](P,H,44,10,15,0)|0}r=c[f>>2]|0;Ai[c[r+1262696>>2]&15](r,23,19,66,66,15);r=c[f>>2]|0;Ai[c[r+1262692>>2]&15](r,24,20,64,64,0);r=c[f>>2]|0;Ai[c[r+1262692>>2]&15](r,23,85,66,1,0);r=f+18|0;if(!(a[r>>0]|0)){g=c[p>>2]|0;if(!g){g=c[2]|0;if(((a[g+65413>>0]|0)+-40&255)<24?((a[g+65412>>0]|0)+-9&255)<5:0){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,87640,39)|0;if(((a[84]|0)!=0?((c[22]|0)+-9|0)>>>0<5:0)?((c[23]|0)+-40|0)>>>0<24:0){a[f+17>>0]=4-(((d[(c[2]|0)+65413>>0]|0)+-40|0)/6|0);g=15}else g=15}else g=7;N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,10,40,3,20,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,9,40,5,5,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,15,42,4,1,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,9,46,5,5,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,15,48,3,1,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,9,52,5,5,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,15,54,2,1,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,9,58,5,5,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,15,60,1,1,0);N=c[f>>2]|0;Ai[c[N+1262692>>2]&15](N,11,41,1,21,g);N=(4-(d[f+17>>0]|0)|0)*6|0;P=c[f>>2]|0;Ai[c[P+1262692>>2]&15](P,9,N+40|0,5,5,0);P=c[f>>2]|0;Ai[c[P+1262692>>2]&15](P,10,N+41|0,3,3,g);N=130}}else N=130;if((N|0)==130)g=c[p>>2]|0;if(((g|0)==2?c[f+28>>2]|0:0)?c[f+32>>2]|0:0){j=0;do{g=c[2]|0;h=d[g+65412>>0]|0;i=d[g+65413>>0]|0;k=c[1324+(j<<4)>>2]|0;if((((h|0)>=(k|0)?(C=(c[1324+(j<<4)+8>>2]|0)+k|0,(h|0)<(C|0)):0)?(D=c[1324+(j<<4)+4>>2]|0,(i|0)>=(D|0)):0)?(E=(c[1324+(j<<4)+12>>2]|0)+D|0,(i|0)<(E|0)):0){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;if((a[84]|0)!=0?(P=c[22]|0,(P|0)>=(k|0)&(P|0)<(C|0)):0){g=c[23]|0;g=(g|0)<(E|0)&(g|0)>=(D|0)}else g=0;if(((((a[85]|0)!=0?(P=c[22]|0,(P|0)>=(k|0)&(P|0)<(C|0)):0)?(P=c[23]|0,(P|0)>=(D|0)&(P|0)<(E|0)):0)?(P=c[24]|0,(P|0)>=(k|0)&(P|0)<(C|0)):0)?(P=c[25]|0,(P|0)>=(D|0)&(P|0)<(E|0)):0){a[85]=0;fi[c[1388+(j<<2)>>2]&511](f)}}else g=0;h=c[1324+(j<<4)+4>>2]|0;i=87651+(j<<3)|0;Ri(k,h+1|0,i,g?15:0);if(!g)Ri(k,h,i,15);j=j+1|0}while((j|0)!=4)}b:do if(!(a[r>>0]|0)){o=f+20|0;j=0;do{g=j*11|0;k=g+12|0;h=c[2]|0;i=d[h+65412>>0]|0;if((i|0)>=(k|0)?(F=g+20|0,(i|0)<(F|0)?(a[h+65413>>0]&-8)<<24>>24==96:0):0){P=h+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,c[1452+(j<<2)>>2]|0,39)|0;if(((((a[85]|0)!=0?(P=c[22]|0,(P|0)>=(k|0)&(P|0)<(F|0)):0)?(c[23]&-8|0)==96:0)?(P=c[24]|0,(P|0)>=(k|0)&(P|0)<(F|0)):0)?(c[25]&-8|0)==96:0){a[85]=0;c[p>>2]=j;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;g=10}else g=10}else g=15;if((j|0)==(c[p>>2]|0)){Ri(k,92,87790,0);Ri(k,91,87790,15);Ri(k,97,87798+(j<<3)|0,g)}else{P=87798+(j<<3)|0;Ri(k,97,P,0);Ri(k,96,P,g)}j=j+1|0}while((j|0)!=4);k=f+28|0;m=f+32|0;j=0;do{g=j*11|0;n=g+57|0;h=c[2]|0;i=d[h+65412>>0]|0;c:do if((i|0)>=(n|0)?(G=g+65|0,(i|0)<(G|0)?(a[h+65413>>0]&-8)<<24>>24==96:0):0){P=h+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,c[1404+(j<<2)>>2]|0,39)|0;if((a[84]|0)!=0?(P=c[22]|0,(P|0)>=(n|0)&(P|0)<(G|0)):0)h=(c[23]&-8|0)==96;else h=0;d:do if(((((a[85]|0)!=0?(P=c[22]|0,(P|0)>=(n|0)&(P|0)<(G|0)):0)?(c[23]&-8|0)==96:0)?(P=c[24]|0,(P|0)>=(n|0)&(P|0)<(G|0)):0)?(c[25]&-8|0)==96:0){a[85]=0;do if((c[p>>2]|0)==2){if(!(c[k>>2]|0))break;if(!(c[m>>2]|0))break;fi[c[1420+(j<<2)>>2]&511](f);g=87758+(j<<3)|0;if(h)break d;else{h=10;N=238;break c}}while(0);fi[c[1436+(j<<2)>>2]&511](f);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;g=87758+(j<<3)|0;if(!h){h=10;N=238;break c}}else N=236;while(0);if((N|0)==236){N=0;g=87758+(j<<3)|0;if(!h){h=10;N=238;break}}Ri(n,97,g,10)}else N=222;while(0);if((N|0)==222){h=15;g=87758+(j<<3)|0;N=238}if((N|0)==238){N=0;Ri(n,97,g,0);Ri(n,96,g,h)}j=j+1|0}while((j|0)!=4)}else{h=c[2]|0;q=f+14|0;p=h+81920+((a[179]|0)*131016|0)+130968+((d[q>>0]|0)*3|0)|0;o=0;do{m=o*6|0;g=m+91|0;n=p+o|0;k=m+89|0;P=a[h+65412>>0]|0;i=P&255;j=d[h+65413>>0]|0;if((((!((P+-24&255)>63|(j|0)<(k|0))?(I=m+94|0,(j|0)<(I|0)):0)?(P=h+16379|0,a[P>>0]=a[P>>0]&-128|1,a[84]|0):0)?((c[22]|0)+-24|0)>>>0<64:0)?(P=c[23]|0,(P|0)>=(k|0)&(P|0)<(I|0)):0)a[n>>0]=((i*255|0)+-6120|0)/63|0;h=c[f>>2]|0;Ai[c[h+1262692>>2]&15](h,24,m+92|0,64,1,0);h=c[f>>2]|0;Ai[c[h+1262692>>2]&15](h,24,g,64,1,15);h=((((d[n>>0]|0)*63|0)>>>0)/255|0)+23|0;Ri(h,g,87726,0);i=m+90|0;Ri(h,i,87726,15);a[H>>0]=a[87734]|0;a[H+1>>0]=a[87735]|0;a[H+2>>0]=a[87736]|0;c[L>>2]=d[n>>0];h3(H,87737,L)|0;g=c[f>>2]|0;Xh[c[g+1262664>>2]&3](g,H,6,k,3,0)|0;g=c[2]|0;h=d[g+65413>>0]|0;do if(!((h|0)<(i|0)?1:(a[g+65412>>0]&-2)<<24>>24!=20)?(J=m+93|0,(h|0)<(J|0)):0){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;if((a[84]|0)!=0?(c[22]&-2|0)==20:0){h=c[23]|0;h=(h|0)<(J|0)&(h|0)>=(i|0)}else h=0;if(((((a[85]|0)!=0?(c[22]&-2|0)==20:0)?(P=c[23]|0,(P|0)>=(i|0)&(P|0)<(J|0)):0)?(c[24]&-2|0)==20:0)?(P=c[25]|0,(P|0)>=(i|0)&(P|0)<(J|0)):0){a[85]=0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;g=m+91|0;if(!h){N=201;break}}else{g=m+91|0;if(!h){N=201;break}}Ri(20,g,87742,15)}else N=189;while(0);if((N|0)==189){g=m+91|0;N=201}if((N|0)==201){N=0;Ri(20,g,87742,0);Ri(20,i,87742,15)}g=c[2]|0;h=d[g+65413>>0]|0;do if(!((h|0)<(i|0)?1:(a[g+65412>>0]&-2)<<24>>24!=90)?(K=m+93|0,(h|0)<(K|0)):0){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;if((a[84]|0)!=0?(c[22]&-2|0)==90:0){h=c[23]|0;h=(h|0)<(K|0)&(h|0)>=(i|0)}else h=0;if(((((a[85]|0)!=0?(c[22]&-2|0)==90:0)?(P=c[23]|0,(P|0)>=(i|0)&(P|0)<(K|0)):0)?(c[24]&-2|0)==90:0)?(P=c[25]|0,(P|0)>=(i|0)&(P|0)<(K|0)):0){a[85]=0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;g=m+91|0;if(!h){N=216;break}}else{g=m+91|0;if(!h){N=216;break}}Ri(90,g,87750,15)}else N=204;while(0);if((N|0)==204){g=m+91|0;N=216}if((N|0)==216){N=0;Ri(90,g,87750,0);Ri(90,i,87750,15)}o=o+1|0;h=c[2]|0}while((o|0)!=3);do if(((a[h+65413>>0]|0)+-117&255)<5?((a[h+65412>>0]|0)+-6&255)<5:0){P=h+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,87683,39)|0;if((a[84]|0)!=0?((c[22]|0)+-6|0)>>>0<5:0)i=((c[23]|0)+-117|0)>>>0<5;else i=0;if(((((a[85]|0)!=0?((c[22]|0)+-6|0)>>>0<5:0)?((c[23]|0)+-117|0)>>>0<5:0)?((c[24]|0)+-6|0)>>>0<5:0)?((c[25]|0)+-117|0)>>>0<5:0){a[85]=0;j=(c[2]|0)+81920+((a[179]|0)*131016|0)+130968|0;k=B2(97)|0;if(k|0){g=0;h=k;while(1){c[M>>2]=d[j+g>>0];h3(h,86777,M)|0;g=g+1|0;if((g|0)==48)break;else h=h+2|0}fi[c[c[40>>2]>>2]&511](k);C2(k)}if(!i){g=10;N=167;break}}else N=165;if((N|0)==165?!i:0){g=10;N=167;break}Ri(6,118,87696,10)}else{g=15;N=167}while(0);if((N|0)==167){Ri(6,118,87696,0);Ri(6,117,87696,g)}g=c[2]|0;do if(((a[g+65413>>0]|0)+-117&255)<5?((a[g+65412>>0]|0)+-14&255)<5:0){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,87704,39)|0;if((a[84]|0)!=0?((c[22]|0)+-14|0)>>>0<5:0)g=((c[23]|0)+-117|0)>>>0<5;else g=0;if(((((a[85]|0)!=0?((c[22]|0)+-14|0)>>>0<5:0)?((c[23]|0)+-117|0)>>>0<5:0)?((c[24]|0)+-14|0)>>>0<5:0)?((c[25]|0)+-117|0)>>>0<5:0){a[85]=0;Oi((c[2]|0)+81920+((a[179]|0)*131016|0)+130968|0,48,0,1)|0;Oi((c[2]|0)+81920+((a[179]|0)*131016|0)+130968+((d[q>>0]|0)*3|0)|0,3,0,1)|0;if(!g){g=10;break}}else N=178;if((N|0)==178?!g:0){g=10;break}Ri(14,118,87718,10);break b}else g=15;while(0);Ri(14,118,87718,0);Ri(14,117,87718,g)}while(0);g=c[2]|0;P=a[g+65412>>0]|0;h=P&255;N=a[g+65413>>0]|0;i=N&255;if((N+-112&255)<15&(P+-24&255)<63){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;if((a[84]|0)!=0?((c[22]|0)+-24|0)>>>0<63:0)j=((c[23]|0)+-112|0)>>>0<15;else j=0;if((a[124]|0)!=0?((c[32]|0)+-24|0)>>>0<63:0)k=((c[33]|0)+-112|0)>>>0<15;else k=0;if(j|k){g=(((i+-112|0)/8|0)<<3)+((h+-24|0)/8|0)|0;if(j)a[f+14>>0]=g;if(k)a[f+15>>0]=g}}g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,23,111,65,17,15);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,23,128,65,1,0);g=a[f+14>>0]|0;if((g&255)>7){P=c[f>>2]|0;Ai[c[P+1262692>>2]&15](P,(g<<3&56)+22&255,129,11,1,0)}g=c[2]|0;if((((a[g+65413>>0]|0)+-115<<24>>24|(a[g+65412>>0]|0)+-91<<24>>24)&255)<8){P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,87830,39)|0;if((a[84]|0)!=0?((c[22]|0)+-91|0)>>>0<8:0)g=((c[23]|0)+-115|0)>>>0<8;else g=0;if(((((a[85]|0)!=0?((c[22]|0)+-91|0)>>>0<8:0)?((c[23]|0)+-115|0)>>>0<8:0)?((c[24]|0)+-91|0)>>>0<8:0)?((c[25]|0)+-115|0)>>>0<8:0){a[85]=0;a[r>>0]=a[r>>0]^1;h=10}else h=10}else{h=15;g=0}if(g|(a[r>>0]|0)!=0)Ri(91,116,87843,h);else{Ri(91,116,87843,0);Ri(91,115,87843,h)}g=c[f>>2]|0;Ai[c[g+1262696>>2]&15](g,110,6,130,130,15);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,111,7,128,128,0);g=c[2]|0;P=a[g+65412>>0]|0;h=P&255;N=a[g+65413>>0]|0;i=N&255;if((((N+-7<<24>>24|P+-111<<24>>24)<<24>>24>-1?(P=g+16379|0,a[P>>0]=a[P>>0]&-128|1,a[84]|0):0)?((c[22]|0)+-111|0)>>>0<128:0)?((c[23]|0)+-7|0)>>>0<128:0){M=d[f+16>>0]|0;N=(M+-8|0)/-2|0;L=h+-111+N|0;N=i+-7+N|0;M=128-M|0;L=(L|0)>0?L:0;N=(N|0)>0?N:0;P=f+12|0;K=b[P>>1]|0;b[P>>1]=(K&65535)-(K&255)+((((L|0)>(M|0)?M:L)|0)/8|0)+(((((N|0)>(M|0)?M:N)|0)/8|0)<<4);P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0}g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,0,0,240,7,15);g=c[2]|0;if((((((a[g+65413>>0]|0)+-1&255)<5?((a[g+65412>>0]|0)+74&255)<23:0)?(P=g+16379|0,a[P>>0]=a[P>>0]&-128|1,z5(228,87851,39)|0,a[84]|0):0)?((c[22]|0)+-182|0)>>>0<23:0)?((c[23]|0)+-1|0)>>>0<5:0){g=d[(c[2]|0)+65412>>0]|0;if((g+-177|0)>>>0<11)g=8;else{h=1;g=(g+-182|0)/6|0;while(1){g=g+-1|0;if(!g)break;else h=h<<1}g=h<<4}h=f+16|0;if((d[h>>0]|0)!=(g|0)){a[h>>0]=g;P=f+12|0;K=b[P>>1]|0;L=K<<3&120;N=(K&65535)>>>1&120;M=128-(g&248)|0;b[P>>1]=(K&65535)-(K&255)+((((L|0)>(M|0)?M:L)|0)/8|0)+(((((N|0)>(M|0)?M:N)|0)/8|0)<<4);P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0}}g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,182,1,5,5,0);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,188,1,5,5,0);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,194,1,5,5,0);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,200,1,5,5,0);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,182,2,23,3,0);g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,183,3,21,1,15);g=0;h=(d[f+16>>0]|0)>>>3&255;while(1){h=h>>1;if(!h)break;else g=g+1|0}i=c[f>>2]|0;h=g*6|0;Ai[c[i+1262692>>2]&15](i,h+182|0,1,5,5,0);i=c[f>>2]|0;Ai[c[i+1262692>>2]&15](i,(h|1)+182|0,2,3,3,15);h=f+12|0;i=(e[h>>1]|0)<256;g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,226,0,13,7,i?0:7);g=c[f>>2]|0;Xh[c[g+1262668>>2]&3](g,92945,227,1,15,0)|0;g=c[2]|0;if(((((d[g+65413>>0]|0)<7?((a[g+65412>>0]|0)+30&255)<13:0)?(P=g+16379|0,a[P>>0]=a[P>>0]&-128|1,z5(228,87863,39)|0,!(i|(a[85]|0)==0)):0)?((c[22]|0)+-226|0)>>>0<13&(c[23]|0)>>>0<7:0)?((c[24]|0)+-226|0)>>>0<13&(c[25]|0)>>>0<7:0){a[85]=0;b[h>>1]=(e[h>>1]|0)+65280;P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0}g=c[f>>2]|0;Ai[c[g+1262692>>2]&15](g,212,0,13,7,i?7:0);g=c[f>>2]|0;Xh[c[g+1262668>>2]&3](g,87875,213,1,15,0)|0;g=c[2]|0;if(!((d[g+65413>>0]|0)<7?((a[g+65412>>0]|0)+44&255)<13:0)){P=c[f>>2]|0;Qi(P,7);P=f+8|0;f=c[P>>2]|0;f=f+1|0;c[P>>2]=f;l=O;return}P=g+16379|0;a[P>>0]=a[P>>0]&-128|1;z5(228,87878,39)|0;if((a[85]|0)==0|i^1){P=c[f>>2]|0;Qi(P,7);P=f+8|0;f=c[P>>2]|0;f=f+1|0;c[P>>2]=f;l=O;return}if(!(((c[22]|0)+-212|0)>>>0<13&(c[23]|0)>>>0<7)){P=c[f>>2]|0;Qi(P,7);P=f+8|0;f=c[P>>2]|0;f=f+1|0;c[P>>2]=f;l=O;return}if(!(((c[24]|0)+-212|0)>>>0<13&(c[25]|0)>>>0<7)){P=c[f>>2]|0;Qi(P,7);P=f+8|0;f=c[P>>2]|0;f=f+1|0;c[P>>2]=f;l=O;return}a[85]=0;b[h>>1]=(e[h>>1]|0)+256;P=f+20|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;P=c[f>>2]|0;Qi(P,7);P=f+8|0;f=c[P>>2]|0;f=f+1|0;c[P>>2]=f;l=O;return}function Hk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(g|0){case 0:{Mk(f);m=f+12|0;g=b[m>>1]|0;p=a[f+16>>0]|0;q=g<<3&120;g=(g&65535)>>>1&120;o=p&255;r=q+o|0;o=g+o|0;if(p<<24>>24){p=f+15|0;n=f+4|0;do{k=g+128|0;j=q;do{l=(e[m>>1]|0)>255?k:g;s=(((l|0)%8|0)<<3)+((j|0)%8|0)|0;l=(s>>>1)+((c[n>>2]|0)+((((l|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[l>>0]|0;i=d[p>>0]|0;if(!(s&1)){s=h&240;a[l>>0]=s;h=i&15;i=s}else{s=h&15;a[l>>0]=s;h=i<<4;i=s}a[l>>0]=h|i;j=j+1|0}while((j|0)<(r|0));g=g+1|0}while((g|0)<(o|0))}s=f+20|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;Ml(c[f+60>>2]|0)|0;return}case 1:{Mk(f);return}case 2:{Nk(f);return}case 3:{l=c[f+60>>2]|0;g=c[l>>2]|0;if(c[g+4>>2]|0){h=c[g+12>>2]|0;k=g+16|0;if(h>>>0<(c[k>>2]|0)>>>0){i=g+8|0;j=l+8|0;g=h;h=0;while(1){s=(c[j>>2]|0)+g|0;a[s>>0]=a[s>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[k>>2]|0)>>>0)break;else h=h+1|0}g=c[l>>2]|0}c[l>>2]=c[g+4>>2]}s6(c[l+12>>2]|0,c[l+8>>2]|0,c[l+4>>2]|0)|0;return}case 4:{k=c[f+60>>2]|0;g=c[c[k>>2]>>2]|0;if(g|0?(c[k>>2]=g,h=c[g+12>>2]|0,l=g+16|0,h>>>0<(c[l>>2]|0)>>>0):0){i=g+8|0;j=k+8|0;g=h;h=0;while(1){s=(c[j>>2]|0)+g|0;a[s>>0]=a[s>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[l>>2]|0)>>>0)break;else h=h+1|0}}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0;return}default:return}}function Ik(a,b,d){a=a|0;b=b|0;d=d|0;if(b|0)return;a=a+16320|0;b=(c[(c[80]|0)+56>>2]|0)+130968|0;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Jk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=g+18|0;if(a[t>>0]|0){A=g+14|0;y=a[A>>0]|0;z=(c[2]|0)+81920+((a[179]|0)*131016|0)+130968+((y&255)*3|0)|0;x=c[g>>2]|0;ti[c[x+1262680>>2]&63](x,((((d[z>>0]|0)*63|0)>>>0)/255|0)+24|0,91,y);y=c[g>>2]|0;ti[c[y+1262680>>2]&63](y,((((d[z+1>>0]|0)*63|0)>>>0)/255|0)+24|0,97,a[A>>0]|0);y=c[g>>2]|0;ti[c[y+1262680>>2]&63](y,((((d[z+2>>0]|0)*63|0)>>>0)/255|0)+24|0,103,a[A>>0]|0)}z=g+12|0;x=b[z>>1]|0;A=g+16|0;s=a[A>>0]|0;w=x<<3&120;x=(x&65535)>>>1&120;y=s&255;l=w+y|0;m=x+y|0;y=64/(y>>>0)|0;if(s<<24>>24){k=g+4|0;f=x;h=20;while(1){n=f+128|0;i=24;j=w;while(1){q=c[g>>2]|0;s=(e[z>>1]|0)>255?n:f;r=(((s|0)%8|0)<<3)+((j|0)%8|0)|0;s=d[(r>>>1)+((c[k>>2]|0)+((((s|0)/8|0)<<4)+((j|0)/8|0)<<5))>>0]|0;Ai[c[q+1262692>>2]&15](q,i,h,y,y,(r&1|0?s>>>4:s&15)&255);j=j+1|0;if((j|0)>=(l|0))break;else i=i+y|0}f=f+1|0;if((f|0)>=(m|0))break;else h=h+y|0}}r=g+56|0;if(((c[r>>2]|0)==2?(o=c[g+28>>2]|0,o|0):0)?(p=c[g+32>>2]|0,p|0):0){s=(O(c[g+20>>2]|0,y)|0)+23|0;q=(O(c[g+24>>2]|0,y)|0)+19|0;o=O(o,y)|0;m=o+2|0;l=O(p,y)|0;n=l+2|0;f=((c[g+8>>2]|0)>>>0)/10|0;j=s+m|0;h=f+1|0;if((o|0)>-2){i=s;while(1){p=c[g>>2]|0;ti[c[p+1262680>>2]&63](p,i,q,(f|0)%3|0|0?15:0);i=i+1|0;f=h+1|0;if((i|0)>=(j|0))break;else{p=h;h=f;f=p}}}else f=h;k=q+n|0;i=f+1|0;j=j+-1|0;if((l|0)>-2){h=q;while(1){p=c[g>>2]|0;ti[c[p+1262680>>2]&63](p,j,h,(f|0)%3|0|0?15:0);h=h+1|0;f=i+1|0;if((h|0)>=(k|0)){i=f;break}else{p=i;i=f;f=p}}}h=k+-1|0;f=i+1|0;if((m|0)>=1)while(1){p=c[g>>2]|0;ti[c[p+1262680>>2]&63](p,j,h,(i|0)%3|0|0?15:0);i=f+1|0;if((j|0)>(s|0)){p=f;j=j+-1|0;f=i;i=p}else{f=i;break}}if((n|0)>=1)while(1){p=c[g>>2]|0;ti[c[p+1262680>>2]&63](p,s,h,(f|0)%3|0|0?15:0);if((h|0)>(q|0)){h=h+-1|0;f=f+1|0}else break}}a:do if(!(a[t>>0]|0))switch(c[r>>2]|0){case 0:{j=64/((d[A>>0]|0)>>>0)|0;f=c[2]|0;h=a[f+65412>>0]|0;i=a[f+65413>>0]|0;if(((i+-20<<24>>24|h+-24<<24>>24)&255)>=64)break a;k=f+16379|0;a[k>>0]=a[k>>0]&-128|1;k=g+17|0;v=O(d[k>>0]|0,j)|0;u=(v-j|0)/-2|0;f=(h&255)+-24+u|0;i=(i&255)+-20+u|0;f=f-((f|0)%(j|0)|0)|0;i=i-((i|0)%(j|0)|0)|0;f=(f|0)>0?f:0;i=(i|0)>0?i:0;u=64-v|0;f=(f+v|0)>>>0>63?u:f;i=(i+v|0)>>>0>63?u:i;u=c[g>>2]|0;Ai[c[u+1262696>>2]&15](u,f+24|0,i+20|0,v,v,0);u=c[g>>2]|0;v=v+2|0;Ai[c[u+1262696>>2]&15](u,f+23|0,i+19|0,v,v,15);if((a[84]|0)!=0?((c[22]|0)+-24|0)>>>0<64:0)l=((c[23]|0)+-20|0)>>>0<64;else l=0;if((a[124]|0)!=0?((c[32]|0)+-24|0)>>>0<64:0)h=((c[33]|0)+-20|0)>>>0<64;else h=0;if(!(l|h))break a;p=((f|0)/(j|0)|0)+w|0;o=((i|0)/(j|0)|0)+x|0;v=a[k>>0]|0;n=v&255;if(v<<24>>24){m=g+4|0;j=d[(l?g+14|0:g+15|0)>>0]|0;i=j&15;j=j<<4;h=0;do{k=o+h|0;l=k+128|0;f=0;do{v=p+f|0;t=(e[z>>1]|0)>255?l:k;u=(((t|0)%8|0)<<3)+((v|0)%8|0)|0;v=(u>>>1)+((c[m>>2]|0)+((((t|0)/8|0)<<4)+((v|0)/8|0)<<5))|0;u=(u&1|0)==0;a[v>>0]=(u?i:j)|d[v>>0]&(u?240:15);f=f+1|0}while((f|0)!=(n|0));h=h+1|0}while((h|0)!=(n|0))}Ml(c[g+60>>2]|0)|0;break a}case 1:{j=64/((d[A>>0]|0)>>>0)|0;f=c[2]|0;h=a[f+65412>>0]|0;i=a[f+65413>>0]|0;if(((i+-20<<24>>24|h+-24<<24>>24)&255)>=64)break a;f=f+16379|0;a[f>>0]=a[f>>0]&-128|1;h=(h&255)+-24|0;f=(i&255)+-20|0;t=h-((h|0)%(j|0)|0)|0;u=f-((f|0)%(j|0)|0)|0;s=c[g>>2]|0;Ai[c[s+1262696>>2]&15](s,t+24|0,u+20|0,j,j,0);s=c[g>>2]|0;v=j+2|0;Ai[c[s+1262696>>2]&15](s,t+23|0,u+19|0,v,v,15);if((a[84]|0?((c[22]|0)+-24|0)>>>0<64:0)?((c[23]|0)+-20|0)>>>0<64:0){v=((h|0)/(j|0)|0)+w|0;t=((f|0)/(j|0)|0)+x|0;t=(e[z>>1]|0)>255?t+128|0:t;u=(((t|0)%8|0)<<3)+((v|0)%8|0)|0;v=d[(u>>>1)+((c[g+4>>2]|0)+((((t|0)/8|0)<<4)+((v|0)/8|0)<<5))>>0]|0;a[g+14>>0]=u&1|0?v>>>4:v&15}if(!(a[124]|0))break a;if(((c[32]|0)+-24|0)>>>0>=64)break a;if(((c[33]|0)+-20|0)>>>0>=64)break a;v=((h|0)/(j|0)|0)+w|0;t=((f|0)/(j|0)|0)+x|0;t=(e[z>>1]|0)>255?t+128|0:t;u=(((t|0)%8|0)<<3)+((v|0)%8|0)|0;v=d[(u>>>1)+((c[g+4>>2]|0)+((((t|0)/8|0)<<4)+((v|0)/8|0)<<5))>>0]|0;a[g+15>>0]=u&1|0?v>>>4:v&15;break a}case 2:{l=64/((d[A>>0]|0)>>>0)|0;f=c[2]|0;h=a[f+65412>>0]|0;i=a[f+65413>>0]|0;if(((i+-20<<24>>24|h+-24<<24>>24)&255)>=64)break a;j=f+16379|0;a[j>>0]=a[j>>0]&-128|1;j=(h&255)+-24|0;h=(i&255)+-20|0;r=j-((j|0)%(l|0)|0)|0;s=h-((h|0)%(l|0)|0)|0;q=c[g>>2]|0;Ai[c[q+1262696>>2]&15](q,r+24|0,s+20|0,l,l,0);q=c[g>>2]|0;t=l+2|0;Ai[c[q+1262696>>2]&15](q,r+23|0,s+19|0,t,t,15);do if(((a[84]|0)!=0?((c[22]|0)+-24|0)>>>0<64:0)?(u=c[23]|0,(u|0)>=20):0){f=g+44|0;k=(a[f>>0]|0)!=0;if((u|0)>=84)if(k)break;else break a;i=(h|0)/(l|0)|0;h=(j|0)/(l|0)|0;if(k){t=c[g+36>>2]|0;s=(h|0)<(t|0)?h:t;v=c[g+40>>2]|0;u=(i|0)<(v|0)?i:v;c[g+20>>2]=s;c[g+24>>2]=u;c[g+28>>2]=1-s+((h|0)>(t|0)?h:t);c[g+32>>2]=1-u+((i|0)>(v|0)?i:v);break a}else{a[f>>0]=1;c[g+36>>2]=h;c[g+40>>2]=i;c[g+20>>2]=h;c[g+24>>2]=i;c[g+28>>2]=1;c[g+32>>2]=1;break a}}else v=52;while(0);if((v|0)==52){f=g+44|0;if(!(a[f>>0]|0))break a}Kk(g);a[f>>0]=0;break a}case 3:{l=c[g>>2]|0;j=64/((d[A>>0]|0)>>>0)|0;f=c[2]|0;h=a[f+65412>>0]|0;i=a[f+65413>>0]|0;if(((i+-20<<24>>24|h+-24<<24>>24)&255)>=64)break a;f=f+16379|0;a[f>>0]=a[f>>0]&-128|1;f=(h&255)+-24|0;h=(i&255)+-20|0;s=f-((f|0)%(j|0)|0)|0;t=h-((h|0)%(j|0)|0)|0;r=c[g>>2]|0;Ai[c[r+1262696>>2]&15](r,s+24|0,t+20|0,j,j,0);r=c[g>>2]|0;u=j+2|0;Ai[c[r+1262696>>2]&15](r,s+23|0,t+19|0,u,u,15);if(((((a[85]|0)!=0?((c[22]|0)+-24|0)>>>0<64:0)?((c[23]|0)+-20|0)>>>0<64:0)?((c[24]|0)+-24|0)>>>0<64:0)?((c[25]|0)+-20|0)>>>0<64:0){a[85]=0;i=1}else i=0;if(((((a[125]|0)!=0?((c[32]|0)+-24|0)>>>0<64:0)?((c[33]|0)+-20|0)>>>0<64:0)?((c[34]|0)+-24|0)>>>0<64:0)?((c[35]|0)+-20|0)>>>0<64:0)a[125]=0;else v=72;if((v|0)==72?!i:0)break a;k=((f|0)/(j|0)|0)+w|0;h=((h|0)/(j|0)|0)+x|0;r=g+4|0;s=(e[z>>1]|0)>255?h+128|0:h;f=(((s|0)%8|0)<<3)+((k|0)%8|0)|0;s=d[(f>>>1)+((c[r>>2]|0)+((((s|0)/8|0)<<4)+((k|0)/8|0)<<5))>>0]|0;s=(f&1|0?s>>>4:s&15)&255;f=a[(i?g+14|0:g+15|0)>>0]|0;do if(s<<24>>24!=f<<24>>24){v=Sh[c[l+1262804>>2]&255](l,63)|0;q=d[A>>0]|0;p=w+-1+q|0;q=x+-1+q|0;if(!v){Lk(g,w,x,p,q,k,h,s,f);break}if((q|0)>(x|0)&(p|0)>(w|0)){j=f&255;i=j&15;j=j<<4;f=x;do{k=f+128|0;h=w;do{l=(e[z>>1]|0)>255?k:f;m=(((l|0)%8|0)<<3)+((h|0)%8|0)|0;l=(m>>>1)+((c[r>>2]|0)+((((l|0)/8|0)<<4)+((h|0)/8|0)<<5))|0;m=m&1;n=d[l>>0]|0;o=n&15;if(((m|0?n>>>4:o)&255)<<24>>24==s<<24>>24)a[l>>0]=(m|0)==0?i|n&240:j|o;h=h+1|0}while((h|0)!=(p|0));f=f+1|0}while((f|0)!=(q|0))}}while(0);Ml(c[g+60>>2]|0)|0;break a}default:break a}while(0);if((a[104]|0?((c[27]|0)+-24|0)>>>0<64:0)?((c[28]|0)+-20|0)>>>0<64:0){v=c[2]|0;w=(((d[v+65412>>0]|0)+-24|0)/(y|0)|0)+w|0;y=(((d[v+65413>>0]|0)+-20|0)/(y|0)|0)+x|0;y=(e[z>>1]|0)>255?y+128|0:y;x=(((y|0)%8|0)<<3)+((w|0)%8|0)|0;y=d[(x>>>1)+((c[g+4>>2]|0)+((((y|0)/8|0)<<4)+((w|0)/8|0)<<5))>>0]|0;a[g+14>>0]=x&1|0?y>>>4:y&15}f=0;h=0;while(1){y=(h<<3)+112|0;v=c[g>>2]|0;w=f|1;Ai[c[v+1262692>>2]&15](v,24,y,7,7,f&255);v=c[g>>2]|0;Ai[c[v+1262692>>2]&15](v,32,y,7,7,w&255);v=c[g>>2]|0;x=f|3;Ai[c[v+1262692>>2]&15](v,40,y,7,7,w+1&255);w=c[g>>2]|0;Ai[c[w+1262692>>2]&15](w,48,y,7,7,x&255);w=c[g>>2]|0;Ai[c[w+1262692>>2]&15](w,56,y,7,7,x+1&255);w=c[g>>2]|0;Ai[c[w+1262692>>2]&15](w,64,y,7,7,x+2&255);w=c[g>>2]|0;Ai[c[w+1262692>>2]&15](w,72,y,7,7,x+3&255);x=c[g>>2]|0;Ai[c[x+1262692>>2]&15](x,80,y,7,7,(f|7)&255);h=h+1|0;if((h|0)==2)break;else f=f+8|0}i=a[g+14>>0]|0;k=i<<3&56;f=i&-8&255;y=c[g>>2]|0;Ai[c[y+1262692>>2]&15](y,k+23&255,f+111|0,9,9,i);i=c[g>>2]|0;Ai[c[i+1262696>>2]&15](i,k+22&255,f+110|0,11,11,15);f=a[g+15>>0]|0;Ri((f<<3&56)+24&255,(f&-8&255)+112|0,87627,f<<24>>24==15?0:15);f=b[z>>1]|0;k=g+4|0;f=(f&65535)-(f&255)|0;i=0;while(1){l=i|7;h=0;j=f;while(1){y=c[g>>2]|0;Bi[c[y+1262700>>2]&15](y,c[k>>2]|0,j,h+111|0,l,0,0);h=h+8|0;if((h|0)>=128)break;else j=j+1|0}i=i+8|0;if((i|0)>=128)break;else f=f+16|0}z=b[z>>1]|0;y=c[g>>2]|0;g=(d[A>>0]|0)+2|0;Ai[c[y+1262696>>2]&15](y,(z<<3&120)+110&65535,((z&65535)>>>1&120|6)&65535,g,g,15);return}function Kk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=f+12|0;g=b[k>>1]|0;t=f+16|0;s=a[t>>0]|0;n=g<<3&120;g=(g&65535)>>>1&120;p=s&255;o=n+p|0;p=g+p|0;if(s<<24>>24){l=f+4|0;m=f+48|0;h=0;do{j=g+128|0;i=n;do{r=(e[k>>1]|0)>255?j:g;q=(((r|0)%8|0)<<3)+((i|0)%8|0)|0;r=d[(q>>>1)+((c[l>>2]|0)+((((r|0)/8|0)<<4)+((i|0)/8|0)<<5))>>0]|0;s=h;h=h+1|0;a[(c[m>>2]|0)+s>>0]=q&1|0?r>>>4:r&15;i=i+1|0}while((i|0)<(o|0));g=g+1|0}while((g|0)<(p|0))}n=f+52|0;u6(c[n>>2]|0,0,4096)|0;o=f+24|0;p=f+32|0;h=c[p>>2]|0;if((h|0)<=0)return;k=c[o>>2]|0;q=f+20|0;r=f+28|0;s=f+48|0;m=f+15|0;g=0;l=k;i=c[r>>2]|0;j=c[q>>2]|0;do{if((i|0)>0){h=j;do{j=(c[s>>2]|0)+((O(d[t>>0]|0,l)|0)+h)|0;i=g;g=g+1|0;a[(c[n>>2]|0)+i>>0]=a[j>>0]|0;a[j>>0]=a[m>>0]|0;h=h+1|0;j=c[q>>2]|0;i=c[r>>2]|0}while((h|0)<(i+j|0));h=c[p>>2]|0;k=c[o>>2]|0}l=l+1|0}while((l|0)<(h+k|0));return}function Lk(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=e+4|0;o=c[r>>2]|0;s=e+12|0;p=b[s>>1]|0;n=k+128|0;y=(p&65535)>255?n:k;t=(j|0)/8|0;u=(j|0)%8|0;x=(((y|0)%8|0)<<3)+u|0;y=d[(x>>>1)+(o+((((y|0)/8|0)<<4)+t<<5))>>0]|0;if(((x&1|0?y>>>4:y&15)&255)<<24>>24!=l<<24>>24)return;q=j+-1|0;v=(j|0)<(h|0);w=j+1|0;y=m&255;x=y&15;y=y<<4;if((j|0)>(f|0)){while(1){p=(p&65535)>255?n:k;n=(((p|0)%8|0)<<3)+u|0;p=(n>>>1)+(o+((((p|0)/8|0)<<4)+t<<5))|0;o=(n&1|0)==0;a[p>>0]=(o?x:y)|(d[p>>0]|0)&(o?240:15);Lk(e,f,g,h,i,q,k,l,m);if(v)Lk(e,f,g,h,i,w,k,l,m);if((k|0)>(g|0))Lk(e,f,g,h,i,j,k+-1|0,l,m);n=k;k=k+1|0;if((n|0)>=(i|0)){n=15;break}o=c[r>>2]|0;p=b[s>>1]|0;n=n+129|0;z=(p&65535)>255?n:k;A=(((z|0)%8|0)<<3)+u|0;z=d[(A>>>1)+(o+((((z|0)/8|0)<<4)+t<<5))>>0]|0;if(((A&1|0?z>>>4:z&15)&255)<<24>>24!=l<<24>>24){n=15;break}}if((n|0)==15)return}else{while(1){A=(p&65535)>255?n:k;z=(((A|0)%8|0)<<3)+u|0;A=(z>>>1)+(o+((((A|0)/8|0)<<4)+t<<5))|0;z=(z&1|0)==0;a[A>>0]=(z?x:y)|(d[A>>0]|0)&(z?240:15);if(v)Lk(e,f,g,h,i,w,k,l,m);if((k|0)>(g|0))Lk(e,f,g,h,i,j,k+-1|0,l,m);n=k;k=k+1|0;if((n|0)>=(i|0)){n=15;break}o=c[r>>2]|0;p=b[s>>1]|0;n=n+129|0;A=(p&65535)>255?n:k;z=(((A|0)%8|0)<<3)+u|0;A=d[(z>>>1)+(o+((((A|0)/8|0)<<4)+t<<5))>>0]|0;if(((z&1|0?A>>>4:A&15)&255)<<24>>24!=l<<24>>24){n=15;break}}if((n|0)==15)return}}function Mk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+16|0;v=w;h=a[f+16>>0]|0;g=h&255;s=O(g,g)|0;t=s>>>1;u=B2(t)|0;if(!u){l=w;return}p=f+12|0;i=b[p>>1]|0;q=i<<3&120;i=(i&65535)>>>1&120;r=q+g|0;o=i+g|0;if(h<<24>>24){n=f+4|0;g=0;do{m=i+128|0;k=q;do{x=g;g=g+1|0;f=(e[p>>1]|0)>255?m:i;j=(((f|0)%8|0)<<3)+((k|0)%8|0)|0;f=d[(j>>>1)+((c[n>>2]|0)+((((f|0)/8|0)<<4)+((k|0)/8|0)<<5))>>0]|0;f=j&1|0?f>>>4:f&15;j=u+(x>>>1)|0;h=d[j>>0]|0;if(!(x&1)){h=h&240;a[j>>0]=h}else{h=h&15;a[j>>0]=h;f=f<<4}a[j>>0]=h|f;k=k+1|0}while((k|0)<(r|0));i=i+1|0}while((i|0)<(o|0))}h=B2(s|1)|0;if(h|0){if(t|0){g=0;f=h;while(1){c[v>>2]=d[u+g>>0];h3(f,86777,v)|0;s=a[f>>0]|0;x=f+1|0;a[f>>0]=a[x>>0]|0;a[x>>0]=s;g=g+1|0;if((g|0)==(t|0))break;else f=f+2|0}}fi[c[c[40>>2]>>2]&511](h);C2(h)}C2(u);l=w;return}function Nk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;n=u;if(a[f+18>>0]|0){Oi((c[2]|0)+81920+((a[179]|0)*131016|0)+130968|0,48,0,1)|0;Oi((c[2]|0)+81920+((a[179]|0)*131016|0)+130968+((d[f+14>>0]|0)*3|0)|0,3,0,1)|0}p=f+16|0;g=d[p>>0]|0;g=(O(g,g)|0)>>>1;t=B2(g)|0;if(!t){l=u;return}do if(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0?(o=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0,o|0):0){h=r4(o)|0;k=(h|0)==(g<<1|0);if(!k){fi[c[(c[40>>2]|0)+12>>2]&511](o);break};a[n>>0]=a[40384]|0;a[n+1>>0]=a[40385]|0;a[n+2>>0]=a[40386]|0;a[n+3>>0]=a[40387]|0;a[n+4>>0]=a[40388]|0;m=(h|0)/2|0;if((h|0)>1){i=n+3|0;j=n+2|0;g=o;h=0;while(1){a[i>>0]=a[g>>0]|0;a[j>>0]=a[g+1>>0]|0;a[t+h>>0]=X2(n)|0;h=h+1|0;if((h|0)>=(m|0))break;else g=g+2|0}}fi[c[(c[40>>2]|0)+12>>2]&511](o);if(k){s=f+12|0;g=b[s>>1]|0;o=a[p>>0]|0;p=g<<3&120;g=(g&65535)>>>1&120;r=o&255;q=p+r|0;r=g+r|0;if(o<<24>>24){o=f+4|0;h=0;do{n=g+128|0;m=p;do{k=h;h=h+1|0;i=d[t+(k>>>1)>>0]|0;i=k&1|0?i>>>4:i&15;k=(e[s>>1]|0)>255?n:g;v=(((k|0)%8|0)<<3)+((m|0)%8|0)|0;k=(v>>>1)+((c[o>>2]|0)+((((k|0)/8|0)<<4)+((m|0)/8|0)<<5))|0;j=d[k>>0]|0;if(!(v&1)){j=j&240;a[k>>0]=j}else{j=j&15;a[k>>0]=j;i=i<<4}a[k>>0]=i|j;m=m+1|0}while((m|0)<(q|0));g=g+1|0}while((g|0)<(r|0))}Ml(c[f+60>>2]|0)|0}}while(0);C2(t);l=u;return}function Ok(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f+12|0;s=b[t>>1]|0;r=s<<3&120;s=(s&65535)>>>1&120;q=a[f+16>>0]|0;o=q&255;n=r+o|0;o=s+o|0;if(q<<24>>24){p=f+48|0;m=f+4|0;g=0;l=s;do{q=l+128|0;k=r;do{i=g;g=g+1|0;j=(e[t>>1]|0)>255?q:l;u=(((j|0)%8|0)<<3)+((k|0)%8|0)|0;j=(u>>>1)+((c[m>>2]|0)+((((j|0)/8|0)<<4)+((k|0)/8|0)<<5))|0;h=d[j>>0]|0;i=d[(c[p>>2]|0)+i>>0]|0;if(!(u&1)){u=h&240;a[j>>0]=u;h=i&15;i=u}else{u=h&15;a[j>>0]=u;h=i<<4;i=u}a[j>>0]=h|i;k=k+1|0}while((k|0)<(n|0));l=l+1|0}while((l|0)<(o|0))}r=(c[f+20>>2]|0)+r|0;h=(c[f+24>>2]|0)+s|0;g=c[f+28>>2]|0;o=g+r|0;u=c[f+32>>2]|0;p=u+h|0;if((u|0)<=0){u=f+60|0;u=c[u>>2]|0;Ml(u)|0;return}q=f+52|0;n=f+4|0;if((g|0)>0)g=0;else{u=f+60|0;u=c[u>>2]|0;Ml(u)|0;return}do{m=h+128|0;l=r;do{j=g;g=g+1|0;k=(e[t>>1]|0)>255?m:h;u=(((k|0)%8|0)<<3)+((l|0)%8|0)|0;k=(u>>>1)+((c[n>>2]|0)+((((k|0)/8|0)<<4)+((l|0)/8|0)<<5))|0;i=d[k>>0]|0;j=d[(c[q>>2]|0)+j>>0]|0;if(!(u&1)){u=i&240;a[k>>0]=u;i=j&15;j=u}else{u=i&15;a[k>>0]=u;i=j<<4;j=u}a[k>>0]=i|j;l=l+1|0}while((l|0)<(o|0));h=h+1|0}while((h|0)<(p|0));u=f+60|0;u=c[u>>2]|0;Ml(u)|0;return}function Pk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=f+12|0;h=b[t>>1]|0;s=a[f+16>>0]|0;v=h<<3&120;h=(h&65535)>>>1&120;g=s&255;i=(s&255)>>>1;w=v+(i&255)|0;u=h+g|0;if(!(s<<24>>24)){w=f+60|0;w=c[w>>2]|0;Ml(w)|0;return}s=v+g|0;r=f+4|0;if(!(i<<24>>24)){w=f+60|0;w=c[w>>2]|0;Ml(w)|0;return}do{q=h+128|0;o=s;p=v;do{o=o+-1|0;z=c[r>>2]|0;y=(e[t>>1]|0)>255?q:h;j=((y|0)/8|0)<<4;y=((y|0)%8|0)<<3;x=y+((p|0)%8|0)|0;l=(x>>>1)+(z+(j+((p|0)/8|0)<<5))|0;x=x&1;k=d[l>>0]|0;i=k&15;g=x|0?k>>>4:i;m=(o|0)/8|0;n=(o|0)%8|0;y=y+n|0;j=d[(y>>>1)+(z+(j+m<<5))>>0]|0;j=y&1|0?j>>>4:j&15;if(!x){i=k&240;a[l>>0]=i}else{a[l>>0]=i;j=j<<4}a[l>>0]=j|i;j=(e[t>>1]|0)>255?q:h;z=(((j|0)%8|0)<<3)+n|0;j=(z>>>1)+((c[r>>2]|0)+((((j|0)/8|0)<<4)+m<<5))|0;i=d[j>>0]|0;if(!(z&1)){i=i&240;a[j>>0]=i}else{i=i&15;a[j>>0]=i;g=g<<4}a[j>>0]=g|i;p=p+1|0}while((p|0)<(w|0));h=h+1|0}while((h|0)<(u|0));z=f+60|0;z=c[z>>2]|0;Ml(z)|0;return}function Qk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=f+12|0;i=b[s>>1]|0;g=a[f+16>>0]|0;v=i<<3&120;i=(i&65535)>>>1&120;h=g&255;w=v+h|0;t=(g&255)>>>1;u=i+(t&255)|0;if(!(t<<24>>24)){w=f+60|0;w=c[w>>2]|0;Ml(w)|0;return}t=f+4|0;if(!(g<<24>>24)){w=f+60|0;w=c[w>>2]|0;Ml(w)|0;return}r=i+h|0;do{p=i+128|0;q=r+127|0;r=r+-1|0;o=v;do{z=c[t>>2]|0;j=(e[s>>1]|0)>255;n=j?p:i;l=(o|0)/8|0;m=(o|0)%8|0;x=(((n|0)%8|0)<<3)+m|0;n=(x>>>1)+(z+((((n|0)/8|0)<<4)+l<<5))|0;x=x&1;k=d[n>>0]|0;h=k&15;g=x|0?k>>>4:h;j=j?q:r;y=(((j|0)%8|0)<<3)+m|0;j=d[(y>>>1)+(z+((((j|0)/8|0)<<4)+l<<5))>>0]|0;j=y&1|0?j>>>4:j&15;if(!x){h=k&240;a[n>>0]=h}else{a[n>>0]=h;j=j<<4}a[n>>0]=j|h;j=(e[s>>1]|0)>255?q:r;z=(((j|0)%8|0)<<3)+m|0;j=(z>>>1)+((c[t>>2]|0)+((((j|0)/8|0)<<4)+l<<5))|0;h=d[j>>0]|0;if(!(z&1)){h=h&240;a[j>>0]=h}else{h=h&15;a[j>>0]=h;g=g<<4}a[j>>0]=g|h;o=o+1|0}while((o|0)<(w|0));i=i+1|0}while((i|0)<(u|0));z=f+60|0;z=c[z>>2]|0;Ml(z)|0;return}function Rk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=a[f+16>>0]|0;t=g&255;u=B2(O(t,t)|0)|0;if(!u)return;q=f+12|0;k=b[q>>1]|0;v=k<<3&120;k=(k&65535)>>>1&120;r=v+t|0;s=k+t|0;if(g<<24>>24){p=f+4|0;g=0;i=k;do{j=i+128|0;h=v;do{n=(e[q>>1]|0)>255?j:i;m=(((n|0)%8|0)<<3)+((h|0)%8|0)|0;n=d[(m>>>1)+((c[p>>2]|0)+((((n|0)/8|0)<<4)+((h|0)/8|0)<<5))>>0]|0;o=g;g=g+1|0;a[u+o>>0]=m&1|0?n>>>4:n&15;h=h+1|0}while((h|0)<(r|0));i=i+1|0}while((i|0)<(s|0));o=t+-1|0;n=0;while(1){l=k+128|0;i=v;j=0;while(1){h=a[u+((O(o-j|0,t)|0)+n)>>0]|0;m=(e[q>>1]|0)>255?l:k;w=(((m|0)%8|0)<<3)+((i|0)%8|0)|0;m=(w>>>1)+((c[p>>2]|0)+((((m|0)/8|0)<<4)+((i|0)/8|0)<<5))|0;g=d[m>>0]|0;h=h&255;if(!(w&1)){w=g&240;a[m>>0]=w;g=h&15;h=w}else{w=g&15;a[m>>0]=w;g=h<<4;h=w}a[m>>0]=g|h;i=i+1|0;if((i|0)>=(r|0))break;else j=j+1|0}k=k+1|0;if((k|0)>=(s|0))break;else n=n+1|0}}Ml(c[f+60>>2]|0)|0;C2(u);return}function Sk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=f+12|0;g=b[m>>1]|0;o=a[f+16>>0]|0;p=g<<3&120;g=(g&65535)>>>1&120;r=o&255;q=p+r|0;r=g+r|0;if(!(o<<24>>24)){r=f+20|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;r=f+60|0;r=c[r>>2]|0;Ml(r)|0;return}o=f+15|0;n=f+4|0;do{k=g+128|0;j=p;do{l=(e[m>>1]|0)>255?k:g;s=(((l|0)%8|0)<<3)+((j|0)%8|0)|0;l=(s>>>1)+((c[n>>2]|0)+((((l|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[l>>0]|0;i=d[o>>0]|0;if(!(s&1)){s=h&240;a[l>>0]=s;h=i&15;i=s}else{s=h&15;a[l>>0]=s;h=i<<4;i=s}a[l>>0]=h|i;j=j+1|0}while((j|0)<(q|0));g=g+1|0}while((g|0)<(r|0));s=f+20|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;s=f+60|0;s=c[s>>2]|0;Ml(s)|0;return}function Tk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=f+12|0;g=b[r>>1]|0;w=g<<3&120;x=f+20|0;h=c[x>>2]|0;t=f+28|0;u=w+h+((c[t>>2]|0)/2|0)|0;g=((g&65535)>>>1&120)+(c[f+24>>2]|0)|0;s=c[f+32>>2]|0;v=g+s|0;if((s|0)<=0){x=f+60|0;x=c[x>>2]|0;Ml(x)|0;Kk(f);return}s=f+4|0;while(1){h=h+w|0;if((h|0)<(u|0)){q=g+128|0;p=h+(c[t>>2]|0)|0;do{p=p+-1|0;A=c[s>>2]|0;z=(e[r>>1]|0)>255?q:g;k=((z|0)/8|0)<<4;z=((z|0)%8|0)<<3;y=z+((h|0)%8|0)|0;m=(y>>>1)+(A+(k+((h|0)/8|0)<<5))|0;y=y&1;l=d[m>>0]|0;j=l&15;i=y|0?l>>>4:j;n=(p|0)/8|0;o=(p|0)%8|0;z=z+o|0;k=d[(z>>>1)+(A+(k+n<<5))>>0]|0;k=z&1|0?k>>>4:k&15;if(!y){j=l&240;a[m>>0]=j}else{a[m>>0]=j;k=k<<4}a[m>>0]=k|j;k=(e[r>>1]|0)>255?q:g;A=(((k|0)%8|0)<<3)+o|0;k=(A>>>1)+((c[s>>2]|0)+((((k|0)/8|0)<<4)+n<<5))|0;j=d[k>>0]|0;if(!(A&1)){j=j&240;a[k>>0]=j}else{j=j&15;a[k>>0]=j;i=i<<4}a[k>>0]=i|j;h=h+1|0}while((h|0)!=(u|0))}g=g+1|0;if((g|0)>=(v|0))break;h=c[x>>2]|0}A=f+60|0;A=c[A>>2]|0;Ml(A)|0;Kk(f);return}function Uk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;s=f+12|0;h=b[s>>1]|0;w=h<<3&120;x=f+20|0;i=c[x>>2]|0;u=(c[f+28>>2]|0)+i+w|0;h=((h&65535)>>>1&120)+(c[f+24>>2]|0)|0;g=c[f+32>>2]|0;v=((g|0)/2|0)+h|0;if((g|0)<=1){x=f+60|0;x=c[x>>2]|0;Ml(x)|0;Kk(f);return}t=f+4|0;j=h+g|0;g=h;h=i;while(1){r=j+-1|0;h=h+w|0;if((h|0)<(u|0)){q=g+128|0;p=j+127|0;do{A=c[t>>2]|0;k=(e[s>>1]|0)>255;o=k?q:g;m=(h|0)/8|0;n=(h|0)%8|0;y=(((o|0)%8|0)<<3)+n|0;o=(y>>>1)+(A+((((o|0)/8|0)<<4)+m<<5))|0;y=y&1;l=d[o>>0]|0;j=l&15;i=y|0?l>>>4:j;k=k?p:r;z=(((k|0)%8|0)<<3)+n|0;k=d[(z>>>1)+(A+((((k|0)/8|0)<<4)+m<<5))>>0]|0;k=z&1|0?k>>>4:k&15;if(!y){j=l&240;a[o>>0]=j}else{a[o>>0]=j;k=k<<4}a[o>>0]=k|j;k=(e[s>>1]|0)>255?p:r;A=(((k|0)%8|0)<<3)+n|0;k=(A>>>1)+((c[t>>2]|0)+((((k|0)/8|0)<<4)+m<<5))|0;j=d[k>>0]|0;if(!(A&1)){j=j&240;a[k>>0]=j}else{j=j&15;a[k>>0]=j;i=i<<4}a[k>>0]=i|j;h=h+1|0}while((h|0)!=(u|0))}g=g+1|0;if((g|0)>=(v|0))break;j=r;h=c[x>>2]|0}A=f+60|0;A=c[A>>2]|0;Ml(A)|0;Kk(f);return}function Vk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=B2(4096)|0;if(!p)return;n=b+28|0;j=c[n>>2]|0;o=b+32|0;k=c[o>>2]|0;m=O(k,j)|0;if((j|0)>0&(k|0)>0){i=c[b+52>>2]|0;f=0;g=0;while(1){l=g+m|0;e=0;h=f;while(1){e=e+1|0;a[p+h>>0]=a[i+(l-(O(e,j)|0))>>0]|0;if((e|0)==(k|0))break;else h=h+1|0}g=g+1|0;if((g|0)==(j|0))break;else f=k+f|0}}if((m|0)>0){f=b+52|0;e=0;do{a[(c[f>>2]|0)+e>>0]=a[p+e>>0]|0;e=e+1|0}while((e|0)!=(m|0));j=c[n>>2]|0;k=c[o>>2]|0}h=b+20|0;e=c[h>>2]|0;i=b+24|0;m=c[i>>2]|0;f=(k|0)/2|0;c[n>>2]=k;c[o>>2]=j;e=((j|0)/2|0)+e-f|0;c[h>>2]=e;f=((j|0)/-2|0)+m+f|0;c[i>>2]=f;if((e|0)<0){c[h>>2]=0;e=0}if((f|0)<0){c[i>>2]=0;f=0}g=d[b+16>>0]|0;if((g|0)<=(e+k|0))c[h>>2]=g-k;if((g|0)<=(f+j|0))c[i>>2]=g-j;Ok(b);Ml(c[b+60>>2]|0)|0;C2(p);return}function Wk(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=f+12|0;g=b[m>>1]|0;r=(g<<3&120)+(c[f+20>>2]|0)|0;g=((g&65535)>>>1&120)+(c[f+24>>2]|0)|0;h=c[f+28>>2]|0;o=r+h|0;l=c[f+32>>2]|0;p=g+l|0;if((l|0)>0?(q=f+15|0,n=f+4|0,(h|0)>0):0)do{k=g+128|0;j=r;do{l=(e[m>>1]|0)>255?k:g;s=(((l|0)%8|0)<<3)+((j|0)%8|0)|0;l=(s>>>1)+((c[n>>2]|0)+((((l|0)/8|0)<<4)+((j|0)/8|0)<<5))|0;h=d[l>>0]|0;i=d[q>>0]|0;if(!(s&1)){s=h&240;a[l>>0]=s;h=i&15;i=s}else{s=h&15;a[l>>0]=s;h=i<<4;i=s}a[l>>0]=h|i;j=j+1|0}while((j|0)<(o|0));g=g+1|0}while((g|0)<(p|0));s=f+20|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;Ml(c[f+60>>2]|0)|0;return}function Xk(a){a=a|0;var b=0,d=0;b=a+24|0;d=c[b>>2]|0;if((d|0)>0)c[b>>2]=d+-1;Ok(a);return}function Yk(a){a=a|0;var b=0,e=0;b=a+24|0;e=c[b>>2]|0;if(((c[a+32>>2]|0)+e|0)>=(d[a+16>>0]|0|0)){Ok(a);return}c[b>>2]=e+1;Ok(a);return}function Zk(a){a=a|0;var b=0,d=0;b=a+20|0;d=c[b>>2]|0;if((d|0)>0)c[b>>2]=d+-1;Ok(a);return}function _k(a){a=a|0;var b=0,e=0;b=a+20|0;e=c[b>>2]|0;if(((c[a+28>>2]|0)+e|0)>=(d[a+16>>0]|0|0)){Ok(a);return}c[b>>2]=e+1;Ok(a);return}function $k(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;m=o+19|0;g=o;n=d+112|0;k=c[n>>2]|0;if(k|0){C2(c[k+8>>2]|0);h=c[k>>2]|0;while(1){i=c[h+4>>2]|0;if(!i)break;else h=i}if(h|0)do{i=h;h=c[h>>2]|0;j=c[i+8>>2]|0;if(j|0)C2(j);C2(i)}while((h|0)!=0);C2(k)}j=g+3|0;k=j+16|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));i=B2(16)|0;c[i+12>>2]=f;c[i+4>>2]=32640;j=B2(32640)|0;c[i+8>>2]=j;s6(j|0,f|0,32640)|0;j=B2(20)|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[i>>2]=j;c[d>>2]=e;c[d+4>>2]=f;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=1;a[d+17>>0]=0;c[d+20>>2]=0;c[d+24>>2]=0;a[d+28>>0]=0;j=d+29|0;a[j>>0]=a[m>>0]|0;a[j+1>>0]=a[m+1>>0]|0;a[j+2>>0]=a[m+2>>0]|0;c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=1;c[d+44>>2]=1;c[d+48>>2]=0;c[d+52>>2]=0;a[d+56>>0]=0;j=d+57|0;k=j+19|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));a[d+76>>0]=0;a[d+77>>0]=0;b[d+78>>1]=0;g=d+80|0;h=d+105|0;j=g;k=j+24|0;do{b[j>>1]=0;j=j+2|0}while((j|0)<(k|0));a[g+24>>0]=0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;c[d+108>>2]=0;c[n>>2]=i;c[d+116>>2]=195;c[d+120>>2]=166;c[d+124>>2]=7;c[d+128>>2]=167;j=d+60|0;i=d+64|0;g=c[j>>2]|0;if((g|0)<0){d=(g|0)>-1920?g:-1920;g=d+3839-(((1919-g+d|0)>>>0)%1920|0)|0;c[j>>2]=g}h=c[i>>2]|0;if((h|0)<0){d=(h|0)>-1088?h:-1088;h=d+2175-(((1087-h+d|0)>>>0)%1088|0)|0;c[i>>2]=h}if((g|0)>1919)c[j>>2]=((g+-1920|0)>>>0)%1920|0;if((h|0)<=1087){l=o;return}c[i>>2]=((h+-1088|0)>>>0)%1088|0;l=o;return}function al(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;t=v+4|0;q=b+8|0;c[q>>2]=(c[q>>2]|0)+1;q=c[b>>2]|0;do if(c[q+65416>>2]|0){r=q+1262804|0;f=Sh[c[r>>2]&255](q,63)|0;switch(Si()|0){case 1:{kl(b);break}case 2:{ll(b);o=b+80|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;break}case 3:{ml(b);break}default:{}}g=c[2]|0;h=c[g+1262808>>2]|0;a:do if(!f){if(Uh[h&63](g,49,20,3)|0){f=c[18]|0;b:do switch(f|0){case 6:break a;case 2:{p=c[2]|0;fi[c[p+1262788>>2]&511](p);p=c[2]|0;fi[c[p+1262784>>2]&511](p);break}default:{p=c[2]|0;fi[c[p+1262784>>2]&511](p);switch(f|0){case 10:case 9:case 1:case 0:break b;case 11:{c[19]=3;break b}default:{c[19]=f;break b}}}}while(0);Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);c[18]=6;break}o=c[2]|0;if(Uh[c[o+1262808>>2]&63](o,28,20,3)|0){c[b+12>>2]=0;break}o=c[2]|0;if(Uh[c[o+1262808>>2]&63](o,29,20,3)|0){c[b+12>>2]=1;break}o=c[2]|0;if(Uh[c[o+1262808>>2]&63](o,30,20,3)|0){c[b+12>>2]=2;break}o=c[2]|0;if(Uh[c[o+1262808>>2]&63](o,31,20,3)|0){c[b+12>>2]=3;break}o=c[2]|0;if(!(Uh[c[o+1262808>>2]&63](o,52,20,3)|0)){p=c[2]|0;if(!(Uh[c[p+1262808>>2]&63](p,44,20,3)|0))break;p=b+16|0;a[p>>0]=a[p>>0]^1;break}k=b+88|0;f=c[k>>2]|0;if((f|0)>0?(p=b+92|0,i=c[p>>2]|0,(i|0)>0):0){m=b+84|0;h=c[m>>2]|0;n=b+80|0;o=b+4|0;j=h;g=c[n>>2]|0;do{if((f|0)>0){f=(j|0)>-136?j:-136;f=f+271-(((135-j+f|0)>>>0)%136|0)|0;if((j|0)<0){i=((f|0)>135?((f+-136|0)>>>0)%136|0:f)*240|0;h=g;do{f=(h|0)>-240?h:-240;if((h|0)<0)f=f+479-(((239-h+f|0)>>>0)%240|0)|0;else f=h;a[(c[o>>2]|0)+(((f|0)>239?((f+-240|0)>>>0)%240|0:f)+i)>>0]=0;h=h+1|0;g=c[n>>2]|0;f=c[k>>2]|0}while((h|0)<(f+g|0))}else{i=((j|0)>135?((j+-136|0)>>>0)%136|0:j)*240|0;h=g;do{f=(h|0)>-240?h:-240;if((h|0)<0)f=f+479-(((239-h+f|0)>>>0)%240|0)|0;else f=h;a[(c[o>>2]|0)+(((f|0)>239?((f+-240|0)>>>0)%240|0:f)+i)>>0]=0;h=h+1|0;g=c[n>>2]|0;f=c[k>>2]|0}while((h|0)<(f+g|0))}h=c[m>>2]|0;i=c[p>>2]|0}j=j+1|0}while((j|0)<(h+i|0));Ml(c[b+112>>2]|0)|0}}else{if(!(Uh[h&63](g,26,20,3)|0)){p=c[2]|0;if(!(Uh[c[p+1262808>>2]&63](p,25,20,3)|0))break;j=c[b+112>>2]|0;f=c[c[j>>2]>>2]|0;if(f|0?(c[j>>2]=f,k=c[f+12>>2]|0,m=f+16|0,k>>>0<(c[m>>2]|0)>>>0):0){h=f+8|0;i=j+8|0;f=k;g=0;while(1){p=(c[i>>2]|0)+f|0;a[p>>0]=a[p>>0]^a[(c[h>>2]|0)+g>>0];f=f+1|0;if(f>>>0>=(c[m>>2]|0)>>>0)break;else g=g+1|0}}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0;break}k=c[b+112>>2]|0;f=c[k>>2]|0;if(c[f+4>>2]|0){g=c[f+12>>2]|0;j=f+16|0;if(g>>>0<(c[j>>2]|0)>>>0){h=f+8|0;i=k+8|0;f=g;g=0;while(1){p=(c[i>>2]|0)+f|0;a[p>>0]=a[p>>0]^a[(c[h>>2]|0)+g>>0];f=f+1|0;if(f>>>0>=(c[j>>2]|0)>>>0)break;else g=g+1|0}f=c[k>>2]|0}c[k>>2]=c[f+4>>2]}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0}while(0);if(Sh[c[r>>2]&255](q,58)|0){p=b+64|0;c[p>>2]=(c[p>>2]|0)+-1}if(Sh[c[r>>2]&255](q,59)|0){p=b+64|0;c[p>>2]=(c[p>>2]|0)+1}if(Sh[c[r>>2]&255](q,60)|0){p=b+60|0;c[p>>2]=(c[p>>2]|0)+-1}if(Sh[c[r>>2]&255](q,61)|0){p=b+60|0;c[p>>2]=(c[p>>2]|0)+1}if(((!(Sh[c[r>>2]&255](q,58)|0)?!(Sh[c[r>>2]&255](q,59)|0):0)?!(Sh[c[r>>2]&255](q,60)|0):0)?!(Sh[c[r>>2]&255](q,61)|0):0)break;i=b+60|0;j=b+64|0;f=c[i>>2]|0;g=(f|0)>-1920?f:-1920;if((f|0)<0){f=g+3839-(((1919-f+g|0)>>>0)%1920|0)|0;c[i>>2]=f}g=c[j>>2]|0;h=(g|0)>-1088?g:-1088;if((g|0)<0){g=h+2175-(((1087-g+h|0)>>>0)%1088|0)|0;c[j>>2]=g}if((f|0)>1919)c[i>>2]=((f+-1920|0)>>>0)%1920|0;if((g|0)>1087)c[j>>2]=((g+-1088|0)>>>0)%1088|0}while(0);r=c[b>>2]|0;li[c[r+1262676>>2]&511](r,0);r=c[b>>2]|0;if(!(!(Sh[c[r+1262804>>2]&255](r,64)|0)?!(a[b+28>>0]|0):0)){r=c[b>>2]|0;Ai[c[r+1262696>>2]&15](r,110,6,130,130,15)}r=c[b>>2]|0;Ai[c[r+1262692>>2]&15](r,0,0,240,7,15);r=c[b>>2]|0;if(!(Sh[c[r+1262804>>2]&255](r,64)|0)?(a[b+28>>0]|0)==0:0){e=c[2]|0;f=a[e+65412>>0]|0;h=a[e+65413>>0]|0;if((h+-7&255)<129&(f&255)<240){g=(c[b+60>>2]|0)+(f&255)+(((c[b+40>>2]<<3)+-8|0)/-2|0)|0;e=(((c[b+44>>2]<<3)+-8|0)/-2|0)+(h&255)+(c[b+64>>2]|0)|0;f=(g|0)>-1920?g:-1920;if((g|0)<0)g=f+3839-(((1919-g+f|0)>>>0)%1920|0)|0;f=(e|0)>-1088?e:-1088;if((e|0)<0)e=f+2175-(((1087-e+f|0)>>>0)%1088|0)|0;s=c[b>>2]|0;e=(Uh[c[s+1262720>>2]&63](s,c[b+4>>2]|0,(((g|0)>1919?((g+-1920|0)>>>0)%1920|0:g)|0)/8|0,(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0)|0)&255;s=88}else g=h}else{h=c[2]|0;f=a[h+65412>>0]|0;g=a[h+65413>>0]|0;if((g+-7<<24>>24|f+-111<<24>>24)<<24>>24>-1?(e=((((g&255)+-7|0)/8|0)<<4)+(((f&255)+-111|0)/8|0)|0,(e|0)>-1):0)s=88;else e=h}if((s|0)==88){a[t>>0]=a[87978]|0;a[t+1>>0]=a[87979]|0;a[t+2>>0]=a[87980]|0;a[t+3>>0]=a[87981]|0;a[t+4>>0]=a[87982]|0;c[u>>2]=e;h3(t,87983,u)|0;e=c[b>>2]|0;Xh[c[e+1262664>>2]&3](e,t,114,1,10,0)|0;e=c[2]|0;f=a[e+65412>>0]|0;g=a[e+65413>>0]|0}if((f+23&255)<7&(g&255)<7){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,87989,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-233|0)>>>0<7&(c[23]|0)>>>0<7:0)?((c[24]|0)+-233|0)>>>0<7&(c[25]|0)>>>0<7:0){a[85]=0;e=b+28|0;a[e>>0]=a[e>>0]^1;e=3}else e=3}else e=10;u=c[b>>2]|0;if(!(Sh[c[u+1262804>>2]&255](u,64)|0)?(a[b+28>>0]|0)==0:0)f=88016;else f=88008;Ri(233,0,f,e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+31&255)<8:0){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88024,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-225|0)>>>0<8&(c[23]|0)>>>0<7:0)?((c[24]|0)+-225|0)>>>0<8&(c[25]|0)>>>0<7:0){a[85]=0;c[b+12>>2]=3;e=3}else e=3}else e=10;f=b+12|0;Ri(225,0,88033,(c[f>>2]|0)==3?0:e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+38&255)<7:0){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88041,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-218|0)>>>0<7&(c[23]|0)>>>0<7:0)?((c[24]|0)+-218|0)>>>0<7&(c[25]|0)>>>0<7:0){a[85]=0;c[f>>2]=2;e=3}else e=3}else e=10;Ri(218,0,88052,(c[f>>2]|0)==2?0:e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+45&255)<7:0){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88060,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-211|0)>>>0<7&(c[23]|0)>>>0<7:0)?((c[24]|0)+-211|0)>>>0<7&(c[25]|0)>>>0<7:0){a[85]=0;c[f>>2]=1;e=3}else e=3}else e=10;Ri(211,0,88073,(c[f>>2]|0)==1?0:e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+52&255)<7:0){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88081,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-204|0)>>>0<7&(c[23]|0)>>>0<7:0)?((c[24]|0)+-204|0)>>>0<7&(c[25]|0)>>>0<7:0){a[85]=0;c[f>>2]=0;e=3}else e=3}else e=10;Ri(204,0,88090,(c[f>>2]|0)==0?0:e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+64&255)<7:0){u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88098,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-192|0)>>>0<7&(c[23]|0)>>>0<7:0)?((c[24]|0)+-192|0)>>>0<7&(c[25]|0)>>>0<7:0){a[85]=0;e=b+16|0;a[e>>0]=a[e>>0]^1;e=3}else e=3}else e=10;Ri(192,0,88117,(a[b+16>>0]|0)==0?e:0);e=c[2]|0;if(!((d[e+65413>>0]|0)<7?(a[e+65412>>0]&-8)<<24>>24==-72:0)){u=10;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}u=e+16379|0;a[u>>0]=a[u>>0]&-128|1;z5(228,88125,39)|0;if(!(a[85]|0)){u=3;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}if(!((c[22]&-8|0)==184&(c[23]|0)>>>0<7)){u=3;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}if(!((c[24]&-8|0)==184&(c[25]|0)>>>0<7)){u=3;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}a[85]=0;e=c[18]|0;c:do switch(e|0){case 2:{u=c[2]|0;fi[c[u+1262788>>2]&511](u);u=c[2]|0;fi[c[u+1262784>>2]&511](u);break}case 6:{u=3;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}default:{u=c[2]|0;fi[c[u+1262784>>2]&511](u);switch(e|0){case 10:case 9:case 1:case 0:break c;case 11:{c[19]=3;break c}default:{c[19]=e;break c}}}}while(0);Nl(c[79]|0,c[2]|0,c[284+((a[180]|0)*20|0)+8>>2]|0);c[18]=6;u=3;Ri(184,0,88141,u);b=c[b>>2]|0;Qi(b,0);l=v;return}function bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;switch(d|0){case 0:{kl(b);return}case 1:{ll(b);i=b+80|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;return}case 2:{ml(b);return}case 3:{h=c[b+112>>2]|0;b=c[h>>2]|0;if(c[b+4>>2]|0){d=c[b+12>>2]|0;g=b+16|0;if(d>>>0<(c[g>>2]|0)>>>0){e=b+8|0;f=h+8|0;b=d;d=0;while(1){i=(c[f>>2]|0)+b|0;a[i>>0]=a[i>>0]^a[(c[e>>2]|0)+d>>0];b=b+1|0;if(b>>>0>=(c[g>>2]|0)>>>0)break;else d=d+1|0}b=c[h>>2]|0}c[h>>2]=c[b+4>>2]}s6(c[h+12>>2]|0,c[h+8>>2]|0,c[h+4>>2]|0)|0;return}case 4:{g=c[b+112>>2]|0;b=c[c[g>>2]>>2]|0;if(b|0?(c[g>>2]=b,h=c[b+12>>2]|0,i=b+16|0,h>>>0<(c[i>>2]|0)>>>0):0){e=b+8|0;f=g+8|0;b=h;d=0;while(1){h=(c[f>>2]|0)+b|0;a[h>>0]=a[h>>0]^a[(c[e>>2]|0)+d>>0];b=b+1|0;if(b>>>0>=(c[i>>2]|0)>>>0)break;else d=d+1|0}}s6(c[g+12>>2]|0,c[g+8>>2]|0,c[g+4>>2]|0)|0;return}default:return}}function cl(a,b,d){a=a|0;b=b|0;d=d|0;if(b|0)return;a=a+16320|0;b=(c[(c[80]|0)+56>>2]|0)+130968|0;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function dl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b+1262740|0;g=c[q>>2]|0;p=c[e>>2]|0;if(!(Sh[c[p+1262804>>2]&255](p,64)|0)?(a[e+28>>0]|0)==0:0)f=240;else f=110;zi[g&31](b,0,7,f,129);o=e+60|0;l=c[o>>2]|0;p=e+64|0;n=c[p>>2]|0;m=c[e>>2]|0;Ei[c[m+1262708>>2]&15](m,c[e+4>>2]|0,(c[2]|0)+81920+((a[179]|0)*131016|0)|0,(l|0)/8|0,(n|0)/8|0,31,18,0-((l|0)%8|0)|0,0-((n|0)%8|0)|0,-1,1);if(!((a[e+16>>0]|0)==0?!(a[e+76>>0]|0):0)){l=c[e>>2]|0;k=(c[o>>2]|0)%8|0;n=(c[p>>2]|0)%8|0;f=0-n|0;h=136-n|0;if((h|0)>=(f|0)){i=l+1262684|0;j=l+1262680|0;do{if(f>>>0<136){g=0;do{s=Th[c[i>>2]&63](l,g,f)|0;ti[c[j>>2]&63](l,g,f,(s&255)+1&15);g=g+1|0}while((g|0)!=240)}f=f+8|0}while((f|0)<=(h|0))}g=0-k|0;h=240-k|0;if((h|0)>=(g|0)){i=l+1262684|0;j=l+1262680|0;do{if(g>>>0<240){f=0;do{if(f+n&7|0){s=Th[c[i>>2]&63](l,g,f)|0;ti[c[j>>2]&63](l,g,f,(s&255)+1&15)}f=f+1|0}while((f|0)!=136)}g=g+8|0}while((g|0)<=(h|0))}}s=(c[o>>2]|0)%240|0;n=m+1262688|0;l=136-((c[p>>2]|0)%136|0)|0;Ai[c[n>>2]&15](m,0,l,240,l,7);s=240-s|0;Ai[c[n>>2]&15](m,s,0,s,136,7);s=c[e>>2]|0;do if((!(Sh[c[s+1262804>>2]&255](s,64)|0)?(a[e+28>>0]|0)==0:0)?(s=c[2]|0,(d[s+65412>>0]|0)<240?((a[s+65413>>0]|0)+-7&255)<129:0):0){if(!(Sh[c[m+1262804>>2]&255](m,48)|0)){s=e+12|0;fi[c[1468+(c[s>>2]<<2)>>2]&511](e);if((c[s>>2]|0)==1)break;if((a[124]|0)!=0&(c[32]|0)>>>0<240)i=((c[33]|0)+-7|0)>>>0<129;else i=0;f=e+76|0;if(!(a[f>>0]|0)){h=c[2]|0;g=a[h+65412>>0]|0;h=a[h+65413>>0]|0;if(!((h&255)>6&(g&255)<240&(i&(h&255)<136)))break;a[f>>0]=1;c[e+68>>2]=(c[o>>2]|0)+(g&255);c[e+72>>2]=(c[p>>2]|0)+(h&255);break}if(!i){a[f>>0]=0;break}i=c[2]|0;g=(c[e+68>>2]|0)-(d[i+65412>>0]|0)|0;c[o>>2]=g;f=(c[e+72>>2]|0)-(d[i+65413>>0]|0)|0;c[p>>2]=f;h=(g|0)>-1920?g:-1920;if((g|0)<0){g=h+3839-(((1919-g+h|0)>>>0)%1920|0)|0;c[o>>2]=g}h=(f|0)>-1088?f:-1088;if((f|0)<0){f=h+2175-(((1087-f+h|0)>>>0)%1088|0)|0;c[p>>2]=f}if((g|0)>1919)c[o>>2]=((g+-1920|0)>>>0)%1920|0;if((f|0)>1087)c[p>>2]=((f+-1088|0)>>>0)%1088|0;s=i+16379|0;a[s>>0]=a[s>>0]&-128|1;break}if((a[84]|0)!=0&(c[22]|0)>>>0<240?((c[23]|0)+-7|0)>>>0<129:0)i=1;else if((a[124]|0)!=0&(c[32]|0)>>>0<240)i=((c[33]|0)+-7|0)>>>0<129;else i=0;f=e+76|0;if(!(a[f>>0]|0)){h=c[2]|0;g=a[h+65412>>0]|0;h=a[h+65413>>0]|0;if(!((h&255)>6&(g&255)<240&(i&(h&255)<136)))break;a[f>>0]=1;c[e+68>>2]=(c[o>>2]|0)+(g&255);c[e+72>>2]=(c[p>>2]|0)+(h&255);break}if(!i){a[f>>0]=0;break}i=c[2]|0;g=(c[e+68>>2]|0)-(d[i+65412>>0]|0)|0;c[o>>2]=g;f=(c[e+72>>2]|0)-(d[i+65413>>0]|0)|0;c[p>>2]=f;h=(g|0)>-1920?g:-1920;if((g|0)<0){g=h+3839-(((1919-g+h|0)>>>0)%1920|0)|0;c[o>>2]=g}h=(f|0)>-1088?f:-1088;if((f|0)<0){f=h+2175-(((1087-f+h|0)>>>0)%1088|0)|0;c[p>>2]=f}if((g|0)>1919)c[o>>2]=((g+-1920|0)>>>0)%1920|0;if((f|0)>1087)c[p>>2]=((f+-1088|0)>>>0)%1088|0;s=i+16379|0;a[s>>0]=a[s>>0]&-128|1}while(0);f=c[e+88>>2]|0;if((f|0)>0?(r=c[e+92>>2]|0,(r|0)>0):0){k=c[e+80>>2]<<3;o=c[o>>2]|0;n=c[p>>2]|0;p=f<<3;m=k+p|0;m=1919-p-k+((m-o|0)>0?m:o)|0;l=c[e+84>>2]<<3;s=r<<3;m=k-o+m-((m>>>0)%1920|0)|0;o=l+s|0;o=1087-s-l+((o-n|0)>0?o:n)|0;o=l-n+o-((o>>>0)%1088|0)|0;n=~m-p|0;n=p+1920+m+((n|0)>-1920?n:-1920)|0;r=~o-s|0;r=s+1088+o+((r|0)>-1088?r:-1088)|0;el(e,m+-1-n+((n>>>0)%1920|0)|0,o+-1-r+((r>>>0)%1088|0)|0,p|2,s|2)}zi[c[q>>2]&31](b,0,0,240,136);s=c[e>>2]|0;if(!(Sh[c[s+1262804>>2]&255](s,64)|0)?(a[e+28>>0]|0)==0:0)return;f=c[2]|0;s=a[f+65412>>0]|0;g=s&255;r=a[f+65413>>0]|0;h=r&255;do if((r+-7<<24>>24|s+-111<<24>>24)<<24>>24>-1){s=f+16379|0;a[s>>0]=a[s>>0]&-128|1;if((a[84]|0?((c[22]|0)+-111|0)>>>0<128:0)?((c[23]|0)+-7|0)>>>0<128:0){i=(g+-111|0)/8|0;f=(h+-7|0)/8|0;g=e+56|0;if(!(a[g>>0]|0)){a[g>>0]=1;c[e+48>>2]=i;c[e+52>>2]=f;f=0;g=0;break}else{r=c[e+48>>2]|0;q=(i|0)<(r|0)?i:r;g=c[e+52>>2]|0;s=(f|0)<(g|0)?f:g;c[e+32>>2]=q;c[e+36>>2]=s;c[e+40>>2]=1-q+((i|0)>(r|0)?i:r);c[e+44>>2]=1-s+((f|0)>(g|0)?f:g);c[e+12>>2]=0;f=0;g=0;break}}f=e+56|0;if(a[f>>0]|0)a[e+28>>0]=0;a[f>>0]=0;f=0;g=0}else{f=0;g=0}while(0);do{j=f|7;h=0;i=g;g=g+16|0;while(1){s=c[e>>2]|0;Bi[c[s+1262700>>2]&15](s,(c[2]|0)+81920+((a[179]|0)*131016|0)|0,i,h+111|0,j,0,0);i=i+1|0;if((i|0)==(g|0))break;else h=h+8|0}f=f+8|0}while((f|0)<128);s=c[e>>2]|0;Ai[c[s+1262696>>2]&15](s,(c[e+32>>2]<<3)+110|0,c[e+36>>2]<<3|6,c[e+40>>2]<<3|2,c[e+44>>2]<<3|2,15);return}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=(c[a+8>>2]|0)/10|0;l=e+b|0;g=h+1|0;if((e|0)>0){j=b;i=g;while(1){g=c[a>>2]|0;ti[c[g+1262680>>2]&63](g,j,d,(h|0)%3|0|0?15:0);j=j+1|0;g=i+1|0;if((j|0)>=(l|0))break;else{h=i;i=g}}}k=f+d|0;i=g+1|0;j=l+-1|0;if((f|0)>0){h=d;while(1){l=c[a>>2]|0;ti[c[l+1262680>>2]&63](l,j,h,(g|0)%3|0|0?15:0);h=h+1|0;g=i+1|0;if((h|0)>=(k|0)){i=g;break}else{l=i;i=g;g=l}}}h=k+-1|0;g=i+1|0;if((e|0)>=1)while(1){e=c[a>>2]|0;ti[c[e+1262680>>2]&63](e,j,h,(i|0)%3|0|0?15:0);i=g+1|0;if((j|0)>(b|0)){e=g;j=j+-1|0;g=i;i=e}else{g=i;break}}if((f|0)<1)return;while(1){f=c[a>>2]|0;ti[c[f+1262680>>2]&63](f,b,h,(g|0)%3|0|0?15:0);if((h|0)>(d|0)){h=h+-1|0;g=g+1|0}else break}return}function fl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=(c[2]|0)+16379|0;a[q>>0]=a[q>>0]&-128|1;jl(b);do if((a[84]|0)!=0&(c[22]|0)>>>0<240?((c[23]|0)+-7|0)>>>0<129:0){p=b+40|0;j=c[p>>2]|0;q=b+44|0;h=c[q>>2]|0;e=c[2]|0;f=(c[b+60>>2]|0)+(d[e+65412>>0]|0)+(((j<<3)+-8|0)/-2|0)|0;e=(((h<<3)+-8|0)/-2|0)+(d[e+65413>>0]|0)+(c[b+64>>2]|0)|0;g=(f|0)>-1920?f:-1920;if((f|0)<0)f=g+3839-(((1919-f+g|0)>>>0)%1920|0)|0;g=(e|0)>-1088?e:-1088;if((e|0)<0)e=g+2175-(((1087-e+g|0)>>>0)%1088|0)|0;o=(((f|0)>1919?((f+-1920|0)>>>0)%1920|0:f)|0)/8|0;n=(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0;e=b+17|0;if(!(a[e>>0]|0)){a[e>>0]=1;c[b+20>>2]=o;c[b+24>>2]=n;break}if(((o-(c[b+20>>2]|0)|0)%(j|0)|0|0)==0?((n-(c[b+24>>2]|0)|0)%(h|0)|0|0)==0:0){k=c[b+32>>2]|0;l=c[b+36>>2]|0;if((h|0)>0){m=b+4|0;i=0;f=h;e=j;do{if((e|0)>0){g=(i+n|0)%136|0;h=(i+l<<4)+k|0;f=0;do{e=c[b>>2]|0;zi[c[e+1262716>>2]&31](e,c[m>>2]|0,(f+o|0)%240|0,g,h+f&255);f=f+1|0;e=c[p>>2]|0}while((f|0)<(e|0));f=c[q>>2]|0}i=i+1|0}while((i|0)<(f|0))}Ml(c[b+112>>2]|0)|0}}else r=19;while(0);if((r|0)==19)a[b+17>>0]=0;if(!((a[104]|0)!=0&(c[27]|0)>>>0<240))return;if(((c[28]|0)+-7|0)>>>0>=129)return;h=b+40|0;i=b+44|0;e=c[2]|0;f=(c[b+60>>2]|0)+(d[e+65412>>0]|0)+(((c[h>>2]<<3)+-8|0)/-2|0)|0;e=(((c[i>>2]<<3)+-8|0)/-2|0)+(d[e+65413>>0]|0)+(c[b+64>>2]|0)|0;g=(f|0)>-1920?f:-1920;if((f|0)<0)f=g+3839-(((1919-f+g|0)>>>0)%1920|0)|0;g=(e|0)>-1088?e:-1088;if((e|0)<0)e=g+2175-(((1087-e+g|0)>>>0)%1088|0)|0;r=c[b>>2]|0;r=Uh[c[r+1262720>>2]&63](r,c[b+4>>2]|0,(((f|0)>1919?((f+-1920|0)>>>0)%1920|0:f)|0)/8|0,(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0)|0;c[b+32>>2]=r&15;c[b+36>>2]=(r&255)>>>4&255;c[h>>2]=1;c[i>>2]=1;return}function gl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;if((a[84]|0)!=0&(c[22]|0)>>>0<240?((c[23]|0)+-7|0)>>>0<129:0)h=1;else if((a[124]|0)!=0&(c[32]|0)>>>0<240)h=((c[33]|0)+-7|0)>>>0<129;else h=0;i=b+60|0;e=b+76|0;if(!(a[e>>0]|0)){g=c[2]|0;f=a[g+65412>>0]|0;g=a[g+65413>>0]|0;if(!((g&255)>6&(f&255)<240&(h&(g&255)<136)))return;a[e>>0]=1;c[b+68>>2]=(c[i>>2]|0)+(f&255);c[b+72>>2]=(c[b+64>>2]|0)+(g&255);return}if(!h){a[e>>0]=0;return}h=c[2]|0;f=(c[b+68>>2]|0)-(d[h+65412>>0]|0)|0;c[i>>2]=f;e=(c[b+72>>2]|0)-(d[h+65413>>0]|0)|0;g=b+64|0;c[g>>2]=e;if((f|0)<0){b=(f|0)>-1920?f:-1920;f=b+3839-(((1919-f+b|0)>>>0)%1920|0)|0;c[i>>2]=f}if((e|0)<0){b=(e|0)>-1088?e:-1088;e=b+2175-(((1087-e+b|0)>>>0)%1088|0)|0;c[g>>2]=e}if((f|0)>1919)c[i>>2]=((f+-1920|0)>>>0)%1920|0;if((e|0)>1087)c[g>>2]=((e+-1088|0)>>>0)%1088|0;i=h+16379|0;a[i>>0]=a[i>>0]&-128|1;return}function hl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=c[2]|0;f=a[i+65412>>0]|0;i=a[i+65413>>0]|0;if(!((i+-7&255)<129&(f&255)<240))return;p=b+108|0;e=c[p>>2]|0;if(!e){if((a[84]|0)!=0&(c[22]|0)>>>0<240?((c[23]|0)+-7|0)>>>0<129:0){s=(c[b+60>>2]|0)+(f&255)|0;h=(c[b+64>>2]|0)+(i&255)|0;f=(s|0)/8|0;e=(h|0)/8|0;g=(f|0)>-240?f:-240;if((s|0)<-7)f=g+479-(((239-f+g|0)>>>0)%240|0)|0;g=(e|0)>-136?e:-136;if((h|0)<-7)e=g+271-(((135-e+g|0)>>>0)%136|0)|0;i=(f|0)>239?((f+-240|0)>>>0)%240|0:f;f=(e|0)>135?((e+-136|0)>>>0)%136|0:e;e=b+104|0;if(!(a[e>>0]|0)){a[e>>0]=1;c[b+96>>2]=i;c[b+100>>2]=f;g=1;h=1;e=i}else{h=c[b+96>>2]|0;e=(i|0)<(h|0)?i:h;g=c[b+100>>2]|0;s=(f|0)<(g|0)?f:g;g=1-s+((f|0)>(g|0)?f:g)|0;h=1-e+((i|0)>(h|0)?i:h)|0;f=s}c[b+80>>2]=e;c[b+84>>2]=f;c[b+88>>2]=h;c[b+92>>2]=g;return}e=b+104|0;if(!(a[e>>0]|0))return;a[e>>0]=0;if((c[b+88>>2]|0)>=2)return;if((c[b+92>>2]|0)>=2)return;b=b+80|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}m=a[e>>0]|0;r=m&255;n=a[e+1>>0]|0;s=n&255;q=e+2|0;h=c[b+60>>2]|0;l=r<<3;g=h+(f&255)+((l+-8|0)/-2|0)|0;f=c[b+64>>2]|0;k=s<<3;e=f+(i&255)+((k+-8|0)/-2|0)|0;if(((a[85]|0)!=0&(c[22]|0)>>>0<240?((c[23]|0)+-7|0)>>>0<129&(c[24]|0)>>>0<240:0)?((c[25]|0)+-7|0)>>>0<129:0){a[85]=0;f=(g|0)>-1920?g:-1920;if((g|0)<0)g=f+3839-(((1919-g+f|0)>>>0)%1920|0)|0;f=(e|0)>-1088?e:-1088;if((e|0)<0)e=f+2175-(((1087-e+f|0)>>>0)%1088|0)|0;j=(((g|0)>1919?((g+-1920|0)>>>0)%1920|0:g)|0)/8|0;i=(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0;if(n<<24>>24?(o=b+4|0,m<<24>>24):0){f=0;do{g=(f+i|0)%136|0;h=O(f,r)|0;e=0;do{n=c[b>>2]|0;zi[c[n+1262716>>2]&31](n,c[o>>2]|0,(e+j|0)%240|0,g,a[q+(e+h)>>0]|0);e=e+1|0}while((e|0)!=(r|0));f=f+1|0}while((f|0)!=(s|0))}Ml(c[b+112>>2]|0)|0;C2(c[p>>2]|0);c[p>>2]=0;return}j=g-((g|0)%8|0)-h|0;i=e-((e|0)%8|0)-f|0;el(b,j+-1|0,i+-1|0,l|2,k|2);if(!(n<<24>>24))return;if(!(m<<24>>24))return;else e=0;do{g=O(e,r)|0;h=(e<<3)+i|0;f=0;do{p=c[b>>2]|0;Bi[c[p+1262700>>2]&15](p,(c[2]|0)+81920+((a[179]|0)*131016|0)|0,d[q+(f+g)>>0]|0,(f<<3)+j|0,h,0,0);f=f+1|0}while((f|0)!=(r|0));e=e+1|0}while((e|0)!=(s|0));return}function il(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=(c[2]|0)+16379|0;a[y>>0]=a[y>>0]&-128|1;jl(b);if(!((a[85]|0)!=0&(c[22]|0)>>>0<240))return;if(!(((c[23]|0)+-7|0)>>>0<129&(c[24]|0)>>>0<240))return;if(((c[25]|0)+-7|0)>>>0>=129)return;a[85]=0;x=b+40|0;y=b+44|0;e=c[2]|0;f=(c[b+60>>2]|0)+(d[e+65412>>0]|0)+(((c[x>>2]<<3)+-8|0)/-2|0)|0;e=(((c[y>>2]<<3)+-8|0)/-2|0)+(d[e+65413>>0]|0)+(c[b+64>>2]|0)|0;g=(f|0)>-1920?f:-1920;if((f|0)<0)f=g+3839-(((1919-f+g|0)>>>0)%1920|0)|0;g=(e|0)>-1088?e:-1088;if((e|0)<0)e=g+2175-(((1087-e+g|0)>>>0)%1088|0)|0;g=(((f|0)>1919?((f+-1920|0)>>>0)%1920|0:f)|0)/8|0;f=(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0;u=c[b>>2]|0;t=b+4|0;u=Uh[c[u+1262720>>2]&63](u,c[t>>2]|0,g,f)|0;v=c[b+32>>2]|0;w=c[b+36>>2]|0;a:do if((u&255|0)!=((w<<4)+v|0)){e=c[103321]|0;if(!e){e=B2(261120)|0;c[103321]=e}c[103322]=e;c[e>>2]=g;c[e+4>>2]=f;f=c[b+88>>2]|0;if((f|0)>0?(h=c[b+92>>2]|0,(h|0)>0):0){q=c[b+80>>2]|0;p=c[b+84>>2]|0;r=q;s=p;q=q+f|0;p=p+h|0}else{r=0;s=0;q=240;p=136}f=e;while(1){if(f>>>0<=e>>>0)if((f|0)==(e|0))e=0;else break a;else e=f+-8|0;o=c[f+4>>2]|0;n=c[f>>2]|0;c[103322]=e;f=c[y>>2]|0;e=c[x>>2]|0;if((f|0)>0){i=0;do{if((e|0)>0){h=i+o|0;g=(i+w<<4)+v|0;f=0;do{e=c[b>>2]|0;zi[c[e+1262716>>2]&31](e,c[t>>2]|0,f+n|0,h,g+f&255);f=f+1|0;e=c[x>>2]|0}while((f|0)<(e|0));f=c[y>>2]|0}i=i+1|0}while((i|0)<(f|0));m=0}else m=0;do{k=(O(c[1484+(m<<2)>>2]|0,e)|0)+n|0;l=(O(c[1500+(m<<2)>>2]|0,f)|0)+o|0;do if((l|0)<(p|0)&(((k|0)>=(q|0)|(k|0)<(r|0)|(l|0)<(s|0))^1)){if((f|0)>0){j=0;i=1;while(1){if((e|0)>0){h=j+l|0;g=0;f=i;do{e=c[b>>2]|0;f=f&(Uh[c[e+1262720>>2]&63](e,c[t>>2]|0,g+k|0,h)|0)<<24>>24==u<<24>>24;g=g+1|0;e=c[x>>2]|0}while((g|0)<(e|0));g=f;f=c[y>>2]|0}else g=i;j=j+1|0;if((j|0)>=(f|0))break;else i=g}if(g)h=f;else break}else h=f;f=c[103322]|0;g=c[103321]|0;if(!f){c[103322]=g;c[g>>2]=k;f=g+4|0}else{if(f>>>0>=(g+261112|0)>>>0)break a;j=f+8|0;c[103322]=j;c[j>>2]=k;f=f+12|0}c[f>>2]=l;f=h}while(0);m=m+1|0}while(m>>>0<4);f=c[103322]|0;e=c[103321]|0}}while(0);Ml(c[b+112>>2]|0)|0;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v+8|0;r=v;if(a[b+76>>0]|0){l=v;return}k=b+40|0;m=b+44|0;o=c[k>>2]<<3;n=c[m>>2]<<3;e=c[2]|0;p=b+60|0;s=c[p>>2]|0;f=s+(d[e+65412>>0]|0)+((o+-8|0)/-2|0)|0;q=b+64|0;t=c[q>>2]|0;e=((n+-8|0)/-2|0)+(d[e+65413>>0]|0)+t|0;s=f-((f|0)%8|0)-s|0;t=e-((e|0)%8|0)-t|0;e=c[b>>2]|0;Ai[c[e+1262696>>2]&15](e,s+-1|0,t+-1|0,o|2,n|2,15);n=c[b+32>>2]|0;o=c[b+36>>2]|0;e=c[m>>2]|0;f=c[k>>2]|0;if((e|0)>0){i=t;j=0;while(1){if((f|0)>0){h=(j+o<<4)+n|0;e=0;g=s;while(1){f=c[b>>2]|0;Bi[c[f+1262700>>2]&15](f,(c[2]|0)+81920+((a[179]|0)*131016|0)|0,h+e|0,g,i,0,0);e=e+1|0;f=c[k>>2]|0;if((e|0)>=(f|0))break;else g=g+8|0}e=c[m>>2]|0}j=j+1|0;if((j|0)>=(e|0))break;else i=i+8|0}}o=r;c[o>>2]=976828729;c[o+4>>2]=3750201;o=c[2]|0;g=(c[p>>2]|0)+(d[o+65412>>0]|0)+(((f<<3)+-8|0)/-2|0)|0;e=(((e<<3)+-8|0)/-2|0)+(d[o+65413>>0]|0)+(c[q>>2]|0)|0;f=(g|0)>-1920?g:-1920;if((g|0)<0)g=f+3839-(((1919-g+f|0)>>>0)%1920|0)|0;f=(e|0)>-1088?e:-1088;if((e|0)<0)e=f+2175-(((1087-e+f|0)>>>0)%1088|0)|0;c[u>>2]=(((g|0)>1919?((g+-1920|0)>>>0)%1920|0:g)|0)/8|0;c[u+4>>2]=(((e|0)>1087?((e+-1088|0)>>>0)%1088|0:e)|0)/8|0;h3(r,87968,u)|0;q=c[b>>2]|0;q=Xh[c[q+1262664>>2]&3](q,r,240,0,7,0)|0;u=s+11|0;s=(q+u|0)>239?s+-2-q|0:u;u=t+-8|0;u=(u|0)<8?t+11|0:u;t=c[b>>2]|0;Ai[c[t+1262692>>2]&15](t,s+-1|0,u+-1|0,q+1|0,7,15);t=c[b>>2]|0;Xh[c[t+1262664>>2]&3](t,r,s,u,10,0)|0;l=v;return}function kl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;ll(b);i=b+88|0;d=c[i>>2]|0;if((d|0)<=0){m=b+80|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;return}k=b+92|0;e=c[k>>2]|0;if((e|0)<=0){m=b+80|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;return}l=b+84|0;g=c[l>>2]|0;m=b+80|0;j=b+4|0;h=g;f=c[m>>2]|0;do{if((d|0)>0){d=(h|0)>-136?h:-136;d=d+271-(((135-h+d|0)>>>0)%136|0)|0;if((h|0)<0){g=((d|0)>135?((d+-136|0)>>>0)%136|0:d)*240|0;e=f;do{d=(e|0)>-240?e:-240;if((e|0)<0)d=d+479-(((239-e+d|0)>>>0)%240|0)|0;else d=e;a[(c[j>>2]|0)+(g+((d|0)>239?((d+-240|0)>>>0)%240|0:d))>>0]=0;e=e+1|0;f=c[m>>2]|0;d=c[i>>2]|0}while((e|0)<(d+f|0))}else{g=((h|0)>135?((h+-136|0)>>>0)%136|0:h)*240|0;e=f;do{d=(e|0)>-240?e:-240;if((e|0)<0)d=d+479-(((239-e+d|0)>>>0)%240|0)|0;else d=e;a[(c[j>>2]|0)+(g+((d|0)>239?((d+-240|0)>>>0)%240|0:d))>>0]=0;e=e+1|0;f=c[m>>2]|0;d=c[i>>2]|0}while((e|0)<(d+f|0))}g=c[l>>2]|0;e=c[k>>2]|0}h=h+1|0}while((h|0)<(g+e|0));Ml(c[b+112>>2]|0)|0;m=b+80|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;return}function ll(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;o=b+88|0;f=c[o>>2]|0;if((f|0)<=0){l=u;return}p=b+92|0;e=c[p>>2]|0;if((e|0)<=0){l=u;return}q=O(e,f)|0;r=q+2|0;s=B2(r)|0;if(!s){l=u;return}a[s>>0]=f;a[s+1>>0]=e;m=b+84|0;n=b+80|0;k=b+4|0;j=c[m>>2]|0;b=s+2|0;g=c[n>>2]|0;while(1){if((f|0)>0){e=(j|0)>-136?j:-136;e=e+271-(((135-j+e|0)>>>0)%136|0)|0;if((j|0)<0){h=((e|0)>135?((e+-136|0)>>>0)%136|0:e)*240|0;f=b;while(1){e=(g|0)>-240?g:-240;if((g|0)<0)e=e+479-(((239-g+e|0)>>>0)%240|0)|0;else e=g;b=f+1|0;a[f>>0]=a[(c[k>>2]|0)+(h+((e|0)>239?((e+-240|0)>>>0)%240|0:e))>>0]|0;g=g+1|0;e=c[n>>2]|0;f=c[o>>2]|0;if((g|0)>=(f+e|0))break;else f=b}}else{i=((j|0)>135?((j+-136|0)>>>0)%136|0:j)*240|0;h=g;while(1){e=(h|0)>-240?h:-240;if((h|0)<0)e=e+479-(((239-h+e|0)>>>0)%240|0)|0;else e=h;g=b+1|0;a[b>>0]=a[(c[k>>2]|0)+(i+((e|0)>239?((e+-240|0)>>>0)%240|0:e))>>0]|0;h=h+1|0;e=c[n>>2]|0;f=c[o>>2]|0;if((h|0)>=(f+e|0)){b=g;break}else b=g}}}else e=g;j=j+1|0;if((j|0)>=((c[p>>2]|0)+(c[m>>2]|0)|0))break;else g=e}f=B2(r<<1|1)|0;if(f|0){if((q|0)>-2){e=0;b=f;while(1){c[t>>2]=d[s+e>>0];h3(b,86777,t)|0;p=a[b>>0]|0;q=b+1|0;a[b>>0]=a[q>>0]|0;a[q>>0]=p;e=e+1|0;if((e|0)==(r|0))break;else b=b+2|0}}fi[c[c[40>>2]>>2]&511](f);C2(f)}C2(s);l=u;return}function ml(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;g=o;if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0)){l=o;return}n=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!n){l=o;return}m=r4(n)|0;h=m>>>1;do if(m>>>0>5){i=B2(h)|0;m=r4(n)|0;a[g>>0]=a[40384]|0;a[g+1>>0]=a[40385]|0;a[g+2>>0]=a[40386]|0;a[g+3>>0]=a[40387]|0;a[g+4>>0]=a[40388]|0;j=(m|0)/2|0;if((m|0)>1){k=g+3|0;m=g+2|0;e=n;f=0;while(1){a[k>>0]=a[e>>0]|0;a[m>>0]=a[e+1>>0]|0;a[i+f>>0]=X2(g)|0;f=f+1|0;if((f|0)>=(j|0))break;else e=e+2|0}}if((O(d[i+1>>0]|0,d[i>>0]|0)|0)==(h+-2|0)){c[b+108>>2]=i;c[b+12>>2]=2;break}else{C2(i);break}}while(0);fi[c[(c[40>>2]|0)+12>>2]&511](n);l=o;return}function nl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+6|0;k=o+3|0;i=o;m=b+32|0;n=c[m>>2]|0;if(n|0){C2(c[n+8>>2]|0);f=c[n>>2]|0;while(1){g=c[f+4>>2]|0;if(!g)break;else f=g}if(f|0)do{g=f;f=c[f>>2]|0;h=c[g+8>>2]|0;if(h|0)C2(h);C2(g)}while((f|0)!=0);C2(n)}n=B2(16)|0;c[n+12>>2]=e;c[n+4>>2]=4480;h=B2(4480)|0;c[n+8>>2]=h;s6(h|0,e|0,4480)|0;h=B2(20)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[n>>2]=h;c[b>>2]=d;c[b+4>>2]=e;a[b+8>>0]=0;e=b+9|0;a[e>>0]=a[j>>0]|0;a[e+1>>0]=a[j+1>>0]|0;a[e+2>>0]=a[j+2>>0]|0;a[b+12>>0]=0;e=b+13|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;c[b+16>>2]=-1;c[b+20>>2]=0;a[b+24>>0]=0;e=b+25|0;a[e>>0]=a[i>>0]|0;a[e+1>>0]=a[i+1>>0]|0;a[e+2>>0]=a[i+2>>0]|0;c[b+28>>2]=1;c[m>>2]=n;c[b+36>>2]=196;c[b+40>>2]=168;l=o;return}function ol(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=l;l=l+240|0;k=Z+24|0;p=Z+16|0;j=Z+8|0;o=Z;X=Z+32|0;Y=b+12|0;a[Y>>0]=0;V=b+28|0;switch(c[V>>2]|0){case 0:{ql(b);m=c[b>>2]|0;m=Sh[c[m+1262804>>2]&255](m,63)|0;a:do switch(Si()|0){case 1:{g=b+4|0;h=c[g>>2]|0;i=b+24|0;j=a[i>>0]&15;if(h+(j<<4)|0?(n=B2(33)|0,n|0):0){e=0;f=n;while(1){c[o>>2]=d[h+(j<<4)+e>>0];h3(f,86777,o)|0;U=a[f>>0]|0;W=f+1|0;a[f>>0]=a[W>>0]|0;a[W>>0]=U;e=e+1|0;if((e|0)==16)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](n);C2(n)}e=(c[g>>2]|0)+((a[i>>0]&15)<<4)|0;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0;break}case 2:{g=c[b+4>>2]|0;h=a[b+24>>0]&15;if(g+(h<<4)|0?(i=B2(33)|0,i|0):0){e=0;f=i;while(1){c[j>>2]=d[g+(h<<4)+e>>0];h3(f,86777,j)|0;U=a[f>>0]|0;W=f+1|0;a[f>>0]=a[W>>0]|0;a[W>>0]=U;e=e+1|0;if((e|0)==16)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](i);C2(i)}break}case 3:{g=c[b+4>>2]|0;h=a[b+24>>0]&15;if((g+(h<<4)|0?Qh[c[(c[40>>2]|0)+4>>2]&15]()|0:0)?(q=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0,q|0):0){i=(r4(q)|0)==32;if(!i){fi[c[(c[40>>2]|0)+12>>2]&511](q);break a};a[X>>0]=a[40384]|0;a[X+1>>0]=a[40385]|0;a[X+2>>0]=a[40386]|0;a[X+3>>0]=a[40387]|0;a[X+4>>0]=a[40388]|0;j=X+3|0;k=X+2|0;e=q;f=0;while(1){a[j>>0]=a[e>>0]|0;a[k>>0]=a[e+1>>0]|0;a[g+(h<<4)+f>>0]=X2(X)|0;f=f+1|0;if((f|0)==16)break;else e=e+2|0}fi[c[(c[40>>2]|0)+12>>2]&511](q);if(i)Ml(c[b+32>>2]|0)|0}break}default:{}}while(0);do if(m){W=c[2]|0;if(!(Uh[c[W+1262808>>2]&63](W,26,20,3)|0)){W=c[2]|0;if(!(Uh[c[W+1262808>>2]&63](W,25,20,3)|0))break;i=c[b+32>>2]|0;e=c[c[i>>2]>>2]|0;if(e|0?(c[i>>2]=e,s=c[e+12>>2]|0,u=e+16|0,s>>>0<(c[u>>2]|0)>>>0):0){g=e+8|0;h=i+8|0;e=s;f=0;while(1){W=(c[h>>2]|0)+e|0;a[W>>0]=a[W>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[u>>2]|0)>>>0)break;else f=f+1|0}}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;break}j=c[b+32>>2]|0;e=c[j>>2]|0;if(c[e+4>>2]|0){f=c[e+12>>2]|0;i=e+16|0;if(f>>>0<(c[i>>2]|0)>>>0){g=e+8|0;h=j+8|0;e=f;f=0;while(1){W=(c[h>>2]|0)+e|0;a[W>>0]=a[W>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[i>>2]|0)>>>0)break;else f=f+1|0}e=c[j>>2]|0}c[j>>2]=c[e+4>>2]}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0}while(0);W=c[2]|0;do if(!(Uh[c[W+1262808>>2]&63](W,49,20,3)|0)){W=c[2]|0;if(Uh[c[W+1262808>>2]&63](W,60,20,3)|0){W=b+24|0;V=a[W>>0]|0;a[W>>0]=V+15&15|V&-16;break}W=c[2]|0;if(Uh[c[W+1262808>>2]&63](W,61,20,3)|0){W=b+24|0;V=a[W>>0]|0;a[W>>0]=V+1&15|V&-16;break}W=c[2]|0;if(Uh[c[W+1262808>>2]&63](W,52,20,3)|0){e=(c[b+4>>2]|0)+((a[b+24>>0]&15)<<4)|0;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0}}else c[V>>2]=1;while(0);e=c[b>>2]|0;li[c[e+1262676>>2]&511](e,0);rl(b);Qi(c[b>>2]|0,0);e=c[b>>2]|0;Ai[c[e+1262692>>2]&15](e,23,11,192,96,1);e=0;do{V=c[b>>2]|0;W=e+11|0;Ai[c[V+1262688>>2]&15](V,23,W,215,W,0);e=e+6|0}while((e|0)<96);e=0;do{V=c[b>>2]|0;W=e+23|0;Ai[c[V+1262688>>2]&15](V,W,11,W,203,0);e=e+6|0}while((e|0)<192);e=c[2]|0;W=a[e+65412>>0]|0;f=W&255;V=a[e+65413>>0]|0;g=V&255;if((((V+-11&255)<96&(W+-23&255)<192?(W=e+16379|0,a[W>>0]=a[W>>0]&-128|1,a[84]|0):0)?((c[22]|0)+-23|0)>>>0<192:0)?((c[23]|0)+-11|0)>>>0<96:0){W=(f+-23|0)/6|0;e=16-((g+-11|0)/6|0)+255|0;g=(W>>>1)+((c[b+4>>2]|0)+((a[b+24>>0]&15)<<4))|0;f=d[g>>0]|0;if(!(W&1)){f=f&240;a[g>>0]=f;e=e&15}else{f=f&15;a[g>>0]=f;e=e<<4&4080}a[g>>0]=e|f;Ml(c[b+32>>2]|0)|0}o=b+4|0;f=c[o>>2]|0;p=b+24|0;g=a[p>>0]&15;e=0;do{W=d[(e>>>1)+(f+(g<<4))>>0]|0;V=c[b>>2]|0;W=(O(e&1|0?W>>>4:W&15,-6)|0)+102|0;Ai[c[V+1262692>>2]&15](V,(e*6|0)+24|0,W,5,5,6);e=e+1|0}while((e|0)!=32);k=b+8|0;j=0;do{h=((j|0)%8|0)*21|0;m=h+36|0;i=((j|0)/8|0)*13|0;n=i+110|0;e=c[2]|0;f=d[e+65412>>0]|0;g=d[e+65413>>0]|0;if((((((((f|0)>=(m|0)?(P=h+54|0,!((f|0)>=(P|0)|(g|0)<(n|0))):0)?(Q=i+120|0,(g|0)<(Q|0)):0)?(W=e+16379|0,a[W>>0]=a[W>>0]&-128|1,a[85]|0):0)?(W=c[22]|0,(W|0)>=(m|0)&(W|0)<(P|0)):0)?(W=c[23]|0,(W|0)>=(n|0)&(W|0)<(Q|0)):0)?(W=c[24]|0,(W|0)>=(m|0)&(W|0)<(P|0)):0)?(W=c[25]|0,(W|0)>=(n|0)&(W|0)<(Q|0)):0){a[85]=0;a[p>>0]=a[p>>0]&-16|j&15}do if(a[Y>>0]|0){e=c[b>>2]|0;si[c[e+1262756>>2]&127](X,e,0);e=a[X>>0]|0;if(e<<24>>24>-1){g=(c[o>>2]|0)+256+((a[k>>0]&63)*66|0)+(e<<24>>24<<1)|0;f=c[b>>2]|0;e=c[f+1262692>>2]|0;g=(((d[g>>0]|d[g+1>>0]<<8)&65535)>>>4&15|0)==(j|0)?6:15;break}else{f=c[b>>2]|0;e=c[f+1262692>>2]|0;g=15;break}}else{f=c[b>>2]|0;e=c[f+1262692>>2]|0;g=15}while(0);Ai[e&15](f,m,n,18,10,g);if((a[p>>0]&15|0)==(j|0)){W=c[b>>2]|0;Ai[c[W+1262696>>2]&15](W,h+34|0,i+108|0,22,14,15)}f=c[o>>2]|0;e=0;do{V=c[b>>2]|0;W=e;e=e+1|0;ti[c[V+1262680>>2]&63](V,m+e|0,8-((d[f+(j<<4)+W>>0]|0)>>>1&7)+n|0,0)}while((e|0)!=16);j=j+1|0}while((j|0)!=16);U=325;break}case 1:{ql(b);n=c[b>>2]|0;n=Sh[c[n+1262804>>2]&255](n,63)|0;b:do switch(Si()|0){case 1:{g=b+4|0;h=b+8|0;i=(c[g>>2]|0)+256+((a[h>>0]&63)*66|0)|0;j=B2(133)|0;if(j|0){e=0;f=j;while(1){c[p>>2]=d[i+e>>0];h3(f,86777,p)|0;P=a[f>>0]|0;Q=f+1|0;a[f>>0]=a[Q>>0]|0;a[Q>>0]=P;e=e+1|0;if((e|0)==66)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](j);C2(j)}e=(c[g>>2]|0)+256+((a[h>>0]&63)*66|0)|0;f=e+66|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0;break}case 2:{g=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)|0;h=B2(133)|0;if(h|0){e=0;f=h;while(1){c[k>>2]=d[g+e>>0];h3(f,86777,k)|0;P=a[f>>0]|0;Q=f+1|0;a[f>>0]=a[Q>>0]|0;a[Q>>0]=P;e=e+1|0;if((e|0)==66)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](h);C2(h)}break}case 3:{g=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)|0;if(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0?(m=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0,m|0):0){h=(r4(m)|0)==132;if(!h){fi[c[(c[40>>2]|0)+12>>2]&511](m);break b};a[X>>0]=a[40384]|0;a[X+1>>0]=a[40385]|0;a[X+2>>0]=a[40386]|0;a[X+3>>0]=a[40387]|0;a[X+4>>0]=a[40388]|0;i=X+3|0;j=X+2|0;e=m;f=0;while(1){a[i>>0]=a[e>>0]|0;a[j>>0]=a[e+1>>0]|0;a[g+f>>0]=X2(X)|0;f=f+1|0;if((f|0)==66)break;else e=e+2|0}fi[c[(c[40>>2]|0)+12>>2]&511](m);if(h)Ml(c[b+32>>2]|0)|0}break}default:{}}while(0);do if(n){Q=c[2]|0;if(!(Uh[c[Q+1262808>>2]&63](Q,26,20,3)|0)){Q=c[2]|0;if(!(Uh[c[Q+1262808>>2]&63](Q,25,20,3)|0))break;i=c[b+32>>2]|0;e=c[c[i>>2]>>2]|0;if(e|0?(c[i>>2]=e,r=c[e+12>>2]|0,t=e+16|0,r>>>0<(c[t>>2]|0)>>>0):0){g=e+8|0;h=i+8|0;e=r;f=0;while(1){Q=(c[h>>2]|0)+e|0;a[Q>>0]=a[Q>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[t>>2]|0)>>>0)break;else f=f+1|0}}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;break}j=c[b+32>>2]|0;e=c[j>>2]|0;if(c[e+4>>2]|0){f=c[e+12>>2]|0;i=e+16|0;if(f>>>0<(c[i>>2]|0)>>>0){g=e+8|0;h=j+8|0;e=f;f=0;while(1){Q=(c[h>>2]|0)+e|0;a[Q>>0]=a[Q>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[i>>2]|0)>>>0)break;else f=f+1|0}e=c[j>>2]|0}c[j>>2]=c[e+4>>2]}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0}while(0);Q=c[2]|0;do if(!(Uh[c[Q+1262808>>2]&63](Q,49,20,3)|0)){Q=c[2]|0;if(Uh[c[Q+1262808>>2]&63](Q,60,20,3)|0){Q=b+8|0;P=a[Q>>0]|0;a[Q>>0]=P+63&63|P&-64;break}Q=c[2]|0;if(Uh[c[Q+1262808>>2]&63](Q,61,20,3)|0){Q=b+8|0;P=a[Q>>0]|0;a[Q>>0]=P+1&63|P&-64;break}Q=c[2]|0;if(Uh[c[Q+1262808>>2]&63](Q,52,20,3)|0){e=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)|0;f=e+66|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0}}else c[V>>2]=0;while(0);p=c[b>>2]|0;li[c[p+1262676>>2]&511](p,0);p=b+4|0;j=c[p>>2]|0;q=b+8|0;f=a[q>>0]|0;e=0;do{Q=(e|0)<7;c[X+(e<<4)>>2]=(Q?40:-24)+(e*10|0);c[X+(e<<4)+4>>2]=117;c[X+(e<<4)+8>>2]=Q?10:7;c[X+(e<<4)+12>>2]=Q?16:8;e=e+1|0}while((e|0)!=13);i=f&63;e=c[2]|0;Q=a[e+65412>>0]|0;f=Q&255;P=a[e+65413>>0]|0;g=P&255;c:do if((P+-117&255)<16&(Q+-40&255)<70){h=e+16379|0;a[h>>0]=a[h>>0]&-128|1;h=X+192|0;U=c[h>>2]|0;if((((f|0)>=(U|0)?(f|0)<((c[X+200>>2]|0)+U|0):0)?(v=c[X+196>>2]|0,(g|0)>=(v|0)):0)?(g|0)<((c[X+204>>2]|0)+v|0):0){e=12;U=124}else U=125;do if((U|0)==125){Q=c[X+176>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+184>>2]|0)+Q|0):0)?(w=c[X+180>>2]|0,(g|0)>=(w|0)):0)?(g|0)<((c[X+188>>2]|0)+w|0):0){e=11;U=124;break}Q=c[X+160>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+168>>2]|0)+Q|0):0)?(x=c[X+164>>2]|0,(g|0)>=(x|0)):0)?(g|0)<((c[X+172>>2]|0)+x|0):0){e=10;U=124;break}Q=c[X+128>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+136>>2]|0)+Q|0):0)?(y=c[X+132>>2]|0,(g|0)>=(y|0)):0)?(g|0)<((c[X+140>>2]|0)+y|0):0){e=8;U=124;break}Q=c[X+112>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+120>>2]|0)+Q|0):0)?(z=c[X+116>>2]|0,(g|0)>=(z|0)):0)?(g|0)<((c[X+124>>2]|0)+z|0):0){e=7;U=124;break}Q=c[X+96>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+104>>2]|0)+Q|0):0)?(A=c[X+100>>2]|0,(g|0)>=(A|0)):0)?(g|0)<((c[X+108>>2]|0)+A|0):0){e=6;U=124;break}Q=c[X+80>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+88>>2]|0)+Q|0):0)?(B=c[X+84>>2]|0,(g|0)>=(B|0)):0)?(g|0)<((c[X+92>>2]|0)+B|0):0){e=5;U=124;break}Q=c[X+64>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+72>>2]|0)+Q|0):0)?(C=c[X+68>>2]|0,(g|0)>=(C|0)):0)?(g|0)<((c[X+76>>2]|0)+C|0):0){e=4;U=124;break}Q=c[X+48>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+56>>2]|0)+Q|0):0)?(D=c[X+52>>2]|0,(g|0)>=(D|0)):0)?(g|0)<((c[X+60>>2]|0)+D|0):0){e=3;U=124;break}Q=c[X+32>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+40>>2]|0)+Q|0):0)?(E=c[X+36>>2]|0,(g|0)>=(E|0)):0)?(g|0)<((c[X+44>>2]|0)+E|0):0){e=2;U=124;break}Q=c[X+16>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+24>>2]|0)+Q|0):0)?(F=c[X+20>>2]|0,(g|0)>=(F|0)):0)?(g|0)<((c[X+28>>2]|0)+F|0):0){e=1;U=124;break}Q=c[X>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+8>>2]|0)+Q|0):0)?(G=c[X+4>>2]|0,(g|0)>=(G|0)):0)?(g|0)<((c[X+12>>2]|0)+G|0):0){e=0;U=124}}while(0);if((U|0)==124)z5(228,c[1568+(c[1516+(e<<2)>>2]<<2)>>2]|0,39)|0;if((a[84]|0?((c[22]|0)+-40|0)>>>0<70:0)?((c[23]|0)+-117|0)>>>0<16:0){g=c[2]|0;f=d[g+65412>>0]|0;g=d[g+65413>>0]|0;Q=c[h>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+200>>2]|0)+Q|0):0)?(H=c[X+196>>2]|0,(g|0)>=(H|0)):0)?(g|0)<((c[X+204>>2]|0)+H|0):0)e=12;else U=142;d:do if((U|0)==142){Q=c[X+176>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+184>>2]|0)+Q|0):0)?(I=c[X+180>>2]|0,(g|0)>=(I|0)):0)?(g|0)<((c[X+188>>2]|0)+I|0):0){e=11;break}Q=c[X+160>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+168>>2]|0)+Q|0):0)?(J=c[X+164>>2]|0,(g|0)>=(J|0)):0)?(g|0)<((c[X+172>>2]|0)+J|0):0){e=10;break}Q=c[X+128>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+136>>2]|0)+Q|0):0)?(K=c[X+132>>2]|0,(g|0)>=(K|0)):0)?(g|0)<((c[X+140>>2]|0)+K|0):0){e=8;break}Q=c[X+112>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+120>>2]|0)+Q|0):0)?(L=c[X+116>>2]|0,(g|0)>=(L|0)):0)?(g|0)<((c[X+124>>2]|0)+L|0):0){e=7;break}Q=c[X+96>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+104>>2]|0)+Q|0):0)?(M=c[X+100>>2]|0,(g|0)>=(M|0)):0)?(g|0)<((c[X+108>>2]|0)+M|0):0){e=6;break}Q=c[X+80>>2]|0;if((((f|0)>=(Q|0)?(f|0)<((c[X+88>>2]|0)+Q|0):0)?(N=c[X+84>>2]|0,(g|0)>=(N|0)):0)?(g|0)<((c[X+92>>2]|0)+N|0):0){e=5;break}Q=c[X+64>>2]|0;do if((f|0)>=(Q|0)?(f|0)<((c[X+72>>2]|0)+Q|0):0){e=c[X+68>>2]|0;if((g|0)<(e|0))break;if((g|0)<((c[X+76>>2]|0)+e|0)){e=4;break d}}while(0);e=c[X+48>>2]|0;do if((f|0)>=(e|0)){if((f|0)>=((c[X+56>>2]|0)+e|0))break;e=c[X+52>>2]|0;if((g|0)<(e|0))break;if((g|0)<((c[X+60>>2]|0)+e|0)){e=3;break d}}while(0);e=c[X+32>>2]|0;do if((f|0)>=(e|0)){if((f|0)>=((c[X+40>>2]|0)+e|0))break;e=c[X+36>>2]|0;if((g|0)<(e|0))break;if((g|0)<((c[X+44>>2]|0)+e|0)){e=2;break d}}while(0);e=c[X+16>>2]|0;do if((f|0)>=(e|0)){if((f|0)>=((c[X+24>>2]|0)+e|0))break;e=c[X+20>>2]|0;if((g|0)<(e|0))break;if((g|0)<((c[X+28>>2]|0)+e|0)){e=1;break d}}while(0);e=c[X>>2]|0;if((f|0)<(e|0))break c;if((f|0)>=((c[X+8>>2]|0)+e|0))break c;e=c[X+4>>2]|0;if((g|0)<(e|0))break c;if((g|0)<((c[X+12>>2]|0)+e|0))e=0;else break c}while(0);Q=j+256+(i*66|0)+60|0;P=(c[1516+(e<<2)>>2]&65535)<<8&3840|(d[Q>>0]|d[Q+1>>0]<<8)&-3841;a[Q>>0]=P;a[Q+1>>0]=P>>8;a[Y>>0]=1}}while(0);h=j+256+(i*66|0)+60|0;g=0;while(1){e=(g|0)<7;f=c[1516+(g<<2)>>2]|0;if((g|0)==9){g=10;continue}i=c[b>>2]|0;j=c[i+1262692>>2]|0;k=c[X+(g<<4)>>2]|0;m=c[X+(g<<4)+4>>2]|0;n=(c[X+(g<<4)+8>>2]|0)-(e&1)|0;o=c[X+(g<<4)+12>>2]|0;if((a[Y>>0]|0)!=0?(((d[h>>0]|d[h+1>>0]<<8)&65535)>>>8&15|0)==(f|0):0)e=6;else e=e?15:0;Ai[j&15](i,k,m,n,o,e&255);g=g+1|0;if((g|0)==13)break}rl(b);Qi(c[b>>2]|0,0);tl(b,40,10,88149,a[q>>0]&63,169);m=(c[p>>2]|0)+256+((a[q>>0]&63)*66|0)+60|0;tl(b,88,10,88388,(((d[m>>0]|d[m+1>>0]<<8)<<9&65535)<<16>>16>>13&65535)<<24>>24,170);m=b+20|0;e=0;f=18;while(1){h=c[b>>2]|0;g=c[1616+(e<<2)>>2]|0;h=37-(Xh[c[h+1262664>>2]&3](h,g,0,-6,0,0)|0)|0;i=c[2]|0;Q=a[i+65412>>0]|0;j=d[i+65413>>0]|0;if((((((!((Q&255)>36|(Q&255|0)<(h|0)|(j|0)<(f|0))?(R=f+6|0,(j|0)<(R|0)):0)?(Q=i+16379|0,a[Q>>0]=a[Q>>0]&-128|1,a[85]|0):0)?(Q=c[22]|0,(Q|0)>=(h|0)&(Q|0)<37):0)?(Q=c[23]|0,(Q|0)>=(f|0)&(Q|0)<(R|0)):0)?(Q=c[24]|0,(Q|0)>=(h|0)&(Q|0)<37):0)?(Q=c[25]|0,(Q|0)>=(f|0)&(Q|0)<(R|0)):0){a[85]=0;c[m>>2]=e}Q=c[b>>2]|0;Xh[c[Q+1262664>>2]&3](Q,g,h,f,(e|0)==(c[m>>2]|0)?15:3,0)|0;e=e+1|0;if((e|0)==4)break;else f=f+8|0}f=c[p>>2]|0;g=a[q>>0]&63;e=c[m>>2]|0;switch(e|0){case 3:{e=c[2]|0;do if(((a[e+65413>>0]|0)+-66&255)<6?((a[e+65412>>0]|0)+-9&255)<18:0){U=e+16379|0;a[U>>0]=a[U>>0]&-128|1;if((((a[85]|0?((c[22]|0)+-9|0)>>>0<18:0)?((c[23]|0)+-66|0)>>>0<6:0)?((c[24]|0)+-9|0)>>>0<18:0)?((c[25]|0)+-66|0)>>>0<6:0){a[85]=0;e=f+256+(g*66|0)+60|0;U=(d[e>>0]|d[e+1>>0]<<8)^8;a[e>>0]=U;a[e+1>>0]=U>>8;break}e=f+256+(g*66|0)+60|0}else e=f+256+(g*66|0)+60|0;while(0);U=c[b>>2]|0;Xh[c[U+1262668>>2]&3](U,88153,9,66,(d[e>>0]|d[e+1>>0]<<8)&8?15:3,0)|0;U=257;break}case 2:{e=c[2]|0;do if(((a[e+65413>>0]|0)+-66&255)<6?((a[e+65412>>0]|0)+-6&255)<24:0){U=e+16379|0;a[U>>0]=a[U>>0]&-128|1;if((((a[85]|0?((c[22]|0)+-6|0)>>>0<24:0)?((c[23]|0)+-66|0)>>>0<6:0)?((c[24]|0)+-6|0)>>>0<24:0)?((c[25]|0)+-66|0)>>>0<6:0){a[85]=0;e=f+256+(g*66|0)+60|0;U=(d[e>>0]|d[e+1>>0]<<8)^128;a[e>>0]=U;a[e+1>>0]=U>>8;break}e=f+256+(g*66|0)+60|0}else e=f+256+(g*66|0)+60|0;while(0);U=c[b>>2]|0;Xh[c[U+1262664>>2]&3](U,88157,6,66,(d[e>>0]|d[e+1>>0]<<8)&128?15:3,0)|0;U=257;break}default:{}}if((U|0)==257)e=c[m>>2]|0;e:do if(!e){e=0;do{j=(16-e|0)*6|0;k=j+12|0;f=c[2]|0;g=d[f+65413>>0]|0;if(!((g|0)<(k|0)?1:((a[f+65412>>0]|0)+34&255)>9)?(S=j+17|0,(g|0)<(S|0)):0){R=f+16379|0;a[R>>0]=a[R>>0]&-128|1;if(((((a[85]|0)!=0?((c[22]|0)+-222|0)>>>0<10:0)?(R=c[23]|0,(R|0)>=(k|0)&(R|0)<(S|0)):0)?((c[24]|0)+-222|0)>>>0<10:0)?(R=c[25]|0,(R|0)>=(k|0)&(R|0)<(S|0)):0){U=282;break}else g=7}else g=3;do if(a[Y>>0]|0){f=c[b>>2]|0;si[c[f+1262756>>2]&127](X,f,0);f=a[X>>0]|0;if(f<<24>>24>-1){f=(c[p>>2]|0)+256+((a[q>>0]&63)*66|0)+(f<<24>>24<<1)|0;i=c[b>>2]|0;h=c[i+1262692>>2]|0;f=(((d[f>>0]|d[f+1>>0]<<8)&65535)>>>4&15|0)==(e|0)?6:g;break}else{i=c[b>>2]|0;h=c[i+1262692>>2]|0;f=g;break}}else{i=c[b>>2]|0;h=c[i+1262692>>2]|0;f=g}while(0);Ai[h&15](i,222,k,10,5,f);f=c[2]|0;g=d[f+65413>>0]|0;if(!((g|0)<(k|0)?1:((a[f+65412>>0]|0)+22&255)>4)?(T=j+17|0,(g|0)<(T|0)):0){R=f+16379|0;a[R>>0]=a[R>>0]&-128|1;if(((((a[85]|0)!=0?((c[22]|0)+-234|0)>>>0<5:0)?(R=c[23]|0,(R|0)>=(k|0)&(R|0)<(T|0)):0)?((c[24]|0)+-234|0)>>>0<5:0)?(R=c[25]|0,(R|0)>=(k|0)&(R|0)<(T|0)):0){a[85]=0;g=c[p>>2]|0;h=a[q>>0]&63;i=(e&65535)<<4&240;f=0;do{R=g+256+(h*66|0)+(f<<1)|0;Q=(d[R>>0]|d[R+1>>0]<<8)&-241|i;a[R>>0]=Q;a[R+1>>0]=Q>>8;f=f+1|0}while((f|0)!=30);f=7}else f=7}else f=3;Ri(234,k,88162,f);R=c[p>>2]|0;Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,223,(((d[R+(e<<4)>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,224,(((d[R+(e<<4)+2>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,225,(((d[R+(e<<4)+4>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,226,(((d[R+(e<<4)+6>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,227,(((d[R+(e<<4)+8>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,228,(((d[R+(e<<4)+10>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,229,(((d[R+(e<<4)+12>>0]|0)>>>2&3^3)&255)+k|0,15);Q=c[b>>2]|0;ti[c[Q+1262680>>2]&63](Q,230,(((d[R+(e<<4)+14>>0]|0)>>>2&3^3)&255)+k|0,15);e=e+1|0}while((e|0)<16);if((U|0)==282){a[85]=0;T=b+24|0;a[T>>0]=a[T>>0]&-16|e&15;c[V>>2]=0;break}f=c[p>>2]|0;g=a[q>>0]&63;h=f+256+(g*66|0)|0;h=((d[h>>0]|d[h+1>>0]<<8)&65535)>>>4&15;i=h&65535;e=1;do{V=f+256+(g*66|0)+(e<<1)|0;e=e+1|0;if((((d[V>>0]|d[V+1>>0]<<8)&65535)>>>4&15)!=h<<16>>16)break e}while((e|0)<30);Ri(234,((16-i|0)*6|0)+12|0,88170,15)}while(0);e=c[b>>2]|0;Xh[c[e+1262664>>2]&3](e,88178,3,108,3,0)|0;e=(c[p>>2]|0)+256+((a[q>>0]&63)*66|0)+62+(c[m>>2]|0)|0;tl(b,3,116,436559,(d[e>>0]|0)>>>4&255,171);tl(b,3,124,436559,a[e>>0]&15,172);e=c[b>>2]|0;Ai[c[e+1262692>>2]&15](e,39,17,180,96,1);e=0;do{T=c[b>>2]|0;V=e+17|0;Ai[c[T+1262688>>2]&15](T,39,V,219,V,0);e=e+6|0}while((e|0)<96);e=0;do{T=c[b>>2]|0;V=e+39|0;Ai[c[T+1262688>>2]&15](T,V,17,V,113,0);e=e+6|0}while((e|0)<180);e=c[b>>2]|0;si[c[e+1262756>>2]&127](X,e,0);e=a[X+(c[m>>2]|0)>>0]|0;if(e<<24>>24>-1){X=c[b>>2]|0;Ai[c[X+1262692>>2]&15](X,((e<<24>>24)*6|0)+39|0,17,7,97,15)}j=c[p>>2]|0;k=a[q>>0]&63;e=c[2]|0;X=a[e+65412>>0]|0;f=X&255;V=a[e+65413>>0]|0;g=V&255;if((((V+-17&255)<96&(X+-39&255)<180?(X=e+16379|0,a[X>>0]=a[X>>0]&-128|1,a[84]|0):0)?((c[22]|0)+-39|0)>>>0<180:0)?((c[23]|0)+-17|0)>>>0<96:0){e=(f+-39|0)/6|0;h=(g+-17|0)/6|0;switch(c[m>>2]|0){case 1:{g=j+256+(k*66|0)+(e<<1)|0;f=g;g=(d[g>>0]|d[g+1>>0]<<8)&-16;e=h&15;U=301;break}case 2:{g=j+256+(k*66|0)+(e<<1)|0;f=g;g=(d[g>>0]|d[g+1>>0]<<8)&-3841;e=(31-h&65535)<<8&3840;U=301;break}case 3:{g=j+256+(k*66|0)+(e<<1)|0;f=g;g=(d[g>>0]|d[g+1>>0]<<8)&4095;e=(23-h&65535)<<12&65535;U=301;break}case 0:{g=j+256+(k*66|0)+(e<<1)|0;f=g;g=(d[g>>0]|d[g+1>>0]<<8)&-241;e=(31-h&65535)<<4&240;U=301;break}default:{}}if((U|0)==301){X=g|e;a[f>>0]=X;a[f+1>>0]=X>>8}Ml(c[b+32>>2]|0)|0}i=0;e=c[m>>2]|0;do{switch(e|0){case 1:{g=j+256+(k*66|0)+(i<<1)|0;h=(i*6|0)+40|0;e=90;f=1;while(1){X=c[b>>2]|0;Ai[c[X+1262692>>2]&15](X,h,e+18|0,5,5,6);if((f|0)<(16-((d[g>>0]|d[g+1>>0]<<8)&15)|0)){e=e+-6|0;f=f+1|0}else break}break}case 2:{V=c[b>>2]|0;X=j+256+(k*66|0)+(i<<1)|0;Ai[c[V+1262692>>2]&15](V,(i*6|0)+40|0,114-(((((d[X>>0]|d[X+1>>0]<<8)&65535)>>>8&15)*6|0)+6&65535)|0,5,5,6);break}case 3:{f=j+256+(k*66|0)+(i<<1)|0;V=((d[f>>0]|d[f+1>>0]<<8)<<16>>16>>12&65535)<<24;X=V>>24;e=(V|0)>0?0:X;if((e|0)<=(((V|0)<0?0:X)|0)){g=(i*6|0)+40|0;do{U=c[b>>2]|0;V=e;e=e+1|0;X=(O(e,-6)|0)+66|0;Ai[c[U+1262692>>2]&15](U,g,X,5,5,6);X=((d[f>>0]|d[f+1>>0]<<8)<<16>>16>>12&65535)<<24}while((V|0)<(((X|0)<0?0:X>>24)|0))}break}case 0:{V=c[b>>2]|0;X=j+256+(k*66|0)+(i<<1)|0;Ai[c[V+1262692>>2]&15](V,(i*6|0)+40|0,114-(((((d[X>>0]|d[X+1>>0]<<8)&65535)>>>4&15)*6|0)+6&65535)|0,5,5,6);break}default:{}}i=i+1|0;e=c[m>>2]|0}while((i|0)!=30);g=j+256+(k*66|0)+62+e|0;e=a[g>>0]|0;if((e&255)>15){f=0;do{X=c[b>>2]|0;Ai[c[X+1262692>>2]&15](X,(((e&15)+f|0)*6|0)+40|0,111,5,2,14);f=f+1|0;e=a[g>>0]|0}while((f|0)<((e&255)>>>4&255|0))}e=c[p>>2]|0;f=a[q>>0]&63;X=c[b>>2]|0;Xh[c[X+1262664>>2]&3](X,88184,115,122,15,0)|0;f=e+256+(f*66|0)+60|0;e=0;do{g=e*11|0;h=g+139|0;i=c[2]|0;j=d[i+65412>>0]|0;k=a[i+65413>>0]|0;if(((((((j|0)>=(h|0)?(W=g+145|0,(k&255)>121&(j|0)<(W|0)&k<<24>>24>-1):0)?(X=i+16379|0,a[X>>0]=a[X>>0]&-128|1,a[85]|0):0)?(X=c[22]|0,(X|0)>=(h|0)&(X|0)<(W|0)):0)?((c[23]|0)+-122|0)>>>0<6:0)?(X=c[24]|0,(X|0)>=(h|0)&(X|0)<(W|0)):0)?((c[25]|0)+-122|0)>>>0<6:0){a[85]=0;X=(d[f>>0]|d[f+1>>0]<<8)&-8|e&7;a[f>>0]=X;a[f+1>>0]=X>>8}X=c[b>>2]|0;Xh[c[X+1262660>>2]&3](X,e+49&255,h,122,(e|0)==((d[f>>0]|d[f+1>>0]<<8)&7|0)?15:3,0)|0;e=e+1|0}while((e|0)!=8);U=325;break}default:{}}if((U|0)==325?a[Y>>0]|0:0){e=b+8|0;f=b+16|0;g=(c[b+4>>2]|0)+256+((a[e>>0]&63)*66|0)+60|0;h=((d[g>>0]|d[g+1>>0]<<8)&65535)>>>8&15;if((c[f>>2]|0)==(h|0)){l=Z;return}c[f>>2]=h;Y=c[b>>2]|0;li[c[Y+1262748>>2]&511](Y,0);Y=c[b>>2]|0;b=d[g>>0]|d[g+1>>0]<<8;Ai[c[Y+1262744>>2]&15](Y,a[e>>0]&63,(b&65535)>>>8&15,b&7,-1,0);l=Z;return}c[b+16>>2]=-1;b=c[b>>2]|0;li[c[b+1262748>>2]&511](b,0);l=Z;return}function pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;i=s+24|0;q=s+16|0;k=s+8|0;p=s;r=s+28|0;switch(c[b+28>>2]|0){case 0:switch(e|0){case 0:{g=b+4|0;h=c[g>>2]|0;i=b+24|0;j=a[i>>0]&15;if(h+(j<<4)|0?(o=B2(33)|0,o|0):0){e=0;f=o;while(1){c[p>>2]=d[h+(j<<4)+e>>0];h3(f,86777,p)|0;q=a[f>>0]|0;r=f+1|0;a[f>>0]=a[r>>0]|0;a[r>>0]=q;e=e+1|0;if((e|0)==16)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](o);C2(o)}e=(c[g>>2]|0)+((a[i>>0]&15)<<4)|0;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0;l=s;return}case 1:{i=c[b+4>>2]|0;g=a[b+24>>0]&15;if(!(i+(g<<4)|0)){l=s;return}h=B2(33)|0;if(!h){l=s;return}else{e=0;f=h}while(1){c[k>>2]=d[i+(g<<4)+e>>0];h3(f,86777,k)|0;r=a[f>>0]|0;b=f+1|0;a[f>>0]=a[b>>0]|0;a[b>>0]=r;e=e+1|0;if((e|0)==16)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](h);C2(h);l=s;return}case 2:{g=c[b+4>>2]|0;h=a[b+24>>0]&15;if(!(g+(h<<4)|0)){l=s;return}if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0)){l=s;return}i=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!i){l=s;return}j=(r4(i)|0)==32;if(!j){fi[c[(c[40>>2]|0)+12>>2]&511](i);l=s;return};a[r>>0]=a[40384]|0;a[r+1>>0]=a[40385]|0;a[r+2>>0]=a[40386]|0;a[r+3>>0]=a[40387]|0;a[r+4>>0]=a[40388]|0;k=r+3|0;m=r+2|0;e=i;f=0;while(1){a[k>>0]=a[e>>0]|0;a[m>>0]=a[e+1>>0]|0;a[g+(h<<4)+f>>0]=X2(r)|0;f=f+1|0;if((f|0)==16)break;else e=e+2|0}fi[c[(c[40>>2]|0)+12>>2]&511](i);if(!j){l=s;return}Ml(c[b+32>>2]|0)|0;l=s;return}case 3:{j=c[b+32>>2]|0;e=c[j>>2]|0;if(c[e+4>>2]|0){f=c[e+12>>2]|0;i=e+16|0;if(f>>>0<(c[i>>2]|0)>>>0){g=e+8|0;h=j+8|0;e=f;f=0;while(1){b=(c[h>>2]|0)+e|0;a[b>>0]=a[b>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[i>>2]|0)>>>0)break;else f=f+1|0}e=c[j>>2]|0}c[j>>2]=c[e+4>>2]}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0;l=s;return}case 4:{i=c[b+32>>2]|0;e=c[c[i>>2]>>2]|0;if(e|0?(c[i>>2]=e,f=c[e+12>>2]|0,m=e+16|0,f>>>0<(c[m>>2]|0)>>>0):0){g=e+8|0;h=i+8|0;e=f;f=0;while(1){b=(c[h>>2]|0)+e|0;a[b>>0]=a[b>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[m>>2]|0)>>>0)break;else f=f+1|0}}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;l=s;return}default:{l=s;return}}case 1:switch(e|0){case 0:{g=b+4|0;h=b+8|0;i=(c[g>>2]|0)+256+((a[h>>0]&63)*66|0)|0;j=B2(133)|0;if(j|0){e=0;f=j;while(1){c[q>>2]=d[i+e>>0];h3(f,86777,q)|0;p=a[f>>0]|0;r=f+1|0;a[f>>0]=a[r>>0]|0;a[r>>0]=p;e=e+1|0;if((e|0)==66)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](j);C2(j)}e=(c[g>>2]|0)+256+((a[h>>0]&63)*66|0)|0;f=e+66|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));Ml(c[b+32>>2]|0)|0;l=s;return}case 1:{g=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)|0;h=B2(133)|0;if(!h){l=s;return}else{e=0;f=h}while(1){c[i>>2]=d[g+e>>0];h3(f,86777,i)|0;r=a[f>>0]|0;b=f+1|0;a[f>>0]=a[b>>0]|0;a[b>>0]=r;e=e+1|0;if((e|0)==66)break;else f=f+2|0}fi[c[c[40>>2]>>2]&511](h);C2(h);l=s;return}case 2:{g=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)|0;if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0)){l=s;return}h=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!h){l=s;return}i=(r4(h)|0)==132;if(!i){fi[c[(c[40>>2]|0)+12>>2]&511](h);l=s;return};a[r>>0]=a[40384]|0;a[r+1>>0]=a[40385]|0;a[r+2>>0]=a[40386]|0;a[r+3>>0]=a[40387]|0;a[r+4>>0]=a[40388]|0;j=r+3|0;k=r+2|0;e=h;f=0;while(1){a[j>>0]=a[e>>0]|0;a[k>>0]=a[e+1>>0]|0;a[g+f>>0]=X2(r)|0;f=f+1|0;if((f|0)==66)break;else e=e+2|0}fi[c[(c[40>>2]|0)+12>>2]&511](h);if(!i){l=s;return}Ml(c[b+32>>2]|0)|0;l=s;return}case 3:{j=c[b+32>>2]|0;e=c[j>>2]|0;if(c[e+4>>2]|0){f=c[e+12>>2]|0;i=e+16|0;if(f>>>0<(c[i>>2]|0)>>>0){g=e+8|0;h=j+8|0;e=f;f=0;while(1){b=(c[h>>2]|0)+e|0;a[b>>0]=a[b>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[i>>2]|0)>>>0)break;else f=f+1|0}e=c[j>>2]|0}c[j>>2]=c[e+4>>2]}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0;l=s;return}case 4:{i=c[b+32>>2]|0;e=c[c[i>>2]>>2]|0;if(e|0?(c[i>>2]=e,j=c[e+12>>2]|0,n=e+16|0,j>>>0<(c[n>>2]|0)>>>0):0){g=e+8|0;h=i+8|0;e=j;f=0;while(1){b=(c[h>>2]|0)+e|0;a[b>>0]=a[b>>0]^a[(c[g>>2]|0)+f>>0];e=e+1|0;if(e>>>0>=(c[n>>2]|0)>>>0)break;else f=f+1|0}}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;l=s;return}default:{l=s;return}}default:{l=s;return}}}function ql(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=c[b>>2]|0;if(!(c[f+65416>>2]|0))return;g=f+1262804|0;do if(!(Sh[c[g>>2]&255](f,63)|0)){e=((Sh[c[g>>2]&255](f,26)|0)^1)<<31>>31;h=Sh[c[g>>2]&255](f,19)|0;i=Sh[c[g>>2]&255](f,24)|0;j=Sh[c[g>>2]&255](f,4)|0;k=Sh[c[g>>2]&255](f,3)|0;l=Sh[c[g>>2]&255](f,22)|0;m=Sh[c[g>>2]&255](f,7)|0;n=Sh[c[g>>2]&255](f,2)|0;o=Sh[c[g>>2]&255](f,8)|0;p=Sh[c[g>>2]&255](f,14)|0;q=Sh[c[g>>2]&255](f,10)|0;e=q?10:p?9:o?8:n?7:m?6:l?5:k?4:j?3:i?2:h?1:e;if(!(Sh[c[g>>2]&255](f,13)|0)){if((e|0)<=-1)break}else e=11;q=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)+60|0;p=(d[q>>0]|d[q+1>>0]<<8)&-3841|(e&65535)<<8&3840;a[q>>0]=p;a[q+1>>0]=p>>8;a[b+12>>0]=1}while(0);if(!(Sh[c[g>>2]&255](f,48)|0))return;a[b+12>>0]=1;return}function rl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i;f=i+8|0;e=c[b>>2]|0;Ai[c[e+1262692>>2]&15](e,0,0,240,7,15);e=c[2]|0;if(((a[e+65413>>0]|0)+-1&255)<6?((a[e+65412>>0]|0)+58&255)<18:0){h=e+16379|0;a[h>>0]=a[h>>0]&-128|1;z5(228,88306,39)|0;if(((a[84]|0)!=0?((c[22]|0)+-198|0)>>>0<18:0)?((c[23]|0)+-1|0)>>>0<6:0){a[b+12>>0]=1;e=3}else e=3}else e=10;j=c[b+4>>2]|0;h=a[b+8>>0]&63;c[f>>2]=3416899;h=j+256+(h*66|0)+60|0;h=d[h>>0]|d[h+1>>0]<<8;c[g>>2]=c[1728+(((h&65535)>>>8&15)<<2)>>2];c[g+4>>2]=(h&7)+1&65535;h3(f,88323,g)|0;h=c[b>>2]|0;Xh[c[h+1262668>>2]&3](h,f,198,1,e,0)|0;h=b+28|0;e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+34&255)<9:0){j=e+16379|0;a[j>>0]=a[j>>0]&-128|1;z5(228,88328,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-222|0)>>>0<9&(c[23]|0)>>>0<7:0)?((c[24]|0)+-222|0)>>>0<9&(c[25]|0)>>>0<7:0){a[85]=0;c[h>>2]=0;e=3;g=12}else{e=3;g=11}}else{e=10;g=11}if((g|0)==11){f=c[h>>2]|0;if(!f)g=12}if((g|0)==12){f=c[b>>2]|0;Ai[c[f+1262692>>2]&15](f,222,0,9,7,0);f=c[h>>2]|0}Ri(222,0,88344,(f|0)==0?15:e);e=c[2]|0;if((d[e+65413>>0]|0)<7?((a[e+65412>>0]|0)+25&255)<9:0){j=e+16379|0;a[j>>0]=a[j>>0]&-128|1;z5(228,88360,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-231|0)>>>0<9&(c[23]|0)>>>0<7:0)?((c[24]|0)+-231|0)>>>0<9&(c[25]|0)>>>0<7:0){a[85]=0;c[h>>2]=1;e=3}else{e=3;g=18}}else{e=10;g=18}if((g|0)==18){f=c[h>>2]|0;if((f|0)!=1){j=e;b=f;b=(b|0)==1;j=b?15:j;Ri(231,0,88352,j);l=i;return}}j=c[b>>2]|0;Ai[c[j+1262692>>2]&15](j,231,0,9,7,0);j=e;b=c[h>>2]|0;b=(b|0)==1;j=b?15:j;Ri(231,0,88352,j);l=i;return}function sl(b,c){b=b|0;c=c|0;var d=0;b=b+8|0;d=a[b>>0]|0;a[b>>0]=(d&255)+c&63|d&-64;return}function tl(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;m=p+4|0;o=c[b>>2]|0;Xh[c[o+1262664>>2]&3](o,g,e,f,15,0)|0;o=((r4(g)|0)*6|0)+e|0;g=c[2]|0;q=d[g+65412>>0]|0;j=d[g+65413>>0]|0;e=o+6|0;if((((((!((q|0)>=(e|0)|(q|0)<(o|0)|(j|0)<(f|0))?(k=f+6|0,(j|0)<(k|0)):0)?(q=g+16379|0,a[q>>0]=a[q>>0]&-128|1,a[85]|0):0)?(q=c[22]|0,(q|0)>=(o|0)&(q|0)<(e|0)):0)?(q=c[23]|0,(q|0)>=(f|0)&(q|0)<(k|0)):0)?(q=c[24]|0,(q|0)>=(o|0)&(q|0)<(e|0)):0)?(q=c[25]|0,(q|0)>=(f|0)&(q|0)<(k|0)):0){a[85]=0;li[i&511](b,-1)}Ri(o,f,88213,3);a[m>>0]=a[88405]|0;a[m+1>>0]=a[88406]|0;a[m+2>>0]=a[88407]|0;c[n>>2]=h;h3(m,88408,n)|0;j=c[b>>2]|0;Xh[c[j+1262668>>2]&3](j,m,e,f,15,0)|0;j=o+18|0;k=c[2]|0;e=d[k+65412>>0]|0;h=d[k+65413>>0]|0;if((e|0)<(j|0)){Ri(j,f,88221,3);l=p;return}g=o+24|0;if((e|0)>=(g|0)|(h|0)<(f|0)){Ri(j,f,88221,3);l=p;return}e=f+6|0;if((h|0)>=(e|0)){Ri(j,f,88221,3);l=p;return}q=k+16379|0;a[q>>0]=a[q>>0]&-128|1;if(!(a[85]|0)){Ri(j,f,88221,3);l=p;return}q=c[22]|0;if(!((q|0)>=(j|0)&(q|0)<(g|0))){Ri(j,f,88221,3);l=p;return}q=c[23]|0;if(!((q|0)>=(f|0)&(q|0)<(e|0))){Ri(j,f,88221,3);l=p;return}q=c[24]|0;if(!((q|0)>=(j|0)&(q|0)<(g|0))){Ri(j,f,88221,3);l=p;return}q=c[25]|0;if(!((q|0)>=(f|0)&(q|0)<(e|0))){Ri(j,f,88221,3);l=p;return}a[85]=0;li[i&511](b,1);Ri(j,f,88221,3);l=p;return}function ul(b,e){b=b|0;e=e|0;var f=0,g=0;f=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)+60|0;g=d[f>>0]|d[f+1>>0]<<8;e=(((g&65535)>>>4&65535)+e&65535)<<4&112|g&-113;a[f>>0]=e;a[f+1>>0]=e>>8;Ml(c[b+32>>2]|0)|0;return}function vl(b,d){b=b|0;d=d|0;var e=0,f=0;e=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)+62+(c[b+20>>2]|0)|0;f=a[e>>0]|0;a[e>>0]=(((f&255)>>>4&255)+d&255)<<4&255|f&15;Ml(c[b+32>>2]|0)|0;return}function wl(b,d){b=b|0;d=d|0;var e=0,f=0;e=(c[b+4>>2]|0)+256+((a[b+8>>0]&63)*66|0)+62+(c[b+20>>2]|0)|0;f=a[e>>0]|0;a[e>>0]=(f&255)+d&15|f&-16;Ml(c[b+32>>2]|0)|0;return}function xl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=b+88|0;i=c[k>>2]|0;if(i|0){C2(c[i+8>>2]|0);f=c[i>>2]|0;while(1){g=c[f+4>>2]|0;if(!g)break;else f=g}if(f|0)do{g=f;f=c[f>>2]|0;h=c[g+8>>2]|0;if(h|0)C2(h);C2(g)}while((f|0)!=0);C2(i)}h=B2(16)|0;c[h+12>>2]=e;c[h+4>>2]=11928;f=B2(11928)|0;c[h+8>>2]=f;s6(f|0,e|0,11928)|0;f=B2(20)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[h>>2]=f;c[b>>2]=d;c[b+4>>2]=e;a[b+8>>0]=0;f=b+9|0;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[b+12>>0]=0;f=b+13|0;g=f+23|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[b+36>>2]=-1;c[b+40>>2]=3;d=b+44|0;e=b+77|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;a[d+32>>0]=0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;c[b+80>>2]=16843009;c[b+84>>2]=0;c[k>>2]=h;c[b+92>>2]=197;c[b+96>>2]=173;c[b+52>>2]=-1;c[b+56>>2]=-1;k=b+60|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;l=m;return}function yl(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+64|0;aa=da+32|0;$=da+16|0;z=da+8|0;I=da;D=da+48|0;g=c[e>>2]|0;H=e+80|0;f=g+65436|0;if(!(a[H>>0]|0))b[f>>1]=b[f>>1]&4095;C=e+81|0;f=g+65454|0;if(!(a[C>>0]|0))b[f>>1]=b[f>>1]&4095;B=e+82|0;f=g+65472|0;if(!(a[B>>0]|0))b[f>>1]=b[f>>1]&4095;A=e+83|0;f=g+65490|0;if(!(a[A>>0]|0))b[f>>1]=b[f>>1]&4095;ca=e+84|0;switch(c[ca>>2]|0){case 0:{f=c[e>>2]|0;g=f+65414|0;do if(b[g>>1]&32256){X=Sh[c[f+1262804>>2]&255](f,63)|0;g=(b[g>>1]<<1&65535)<<16>>16>>10<<16>>16>0;if(!X){h=e+32|0;f=(c[h>>2]|0)+(g?-4:4)|0;c[h>>2]=f;g=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((f|0)<0){c[h>>2]=0;f=0}g=g+-16|0;if((f|0)<=(g|0))break;c[h>>2]=g;break}m=c[e+4>>2]|0;X=a[e+8>>0]&7;f=(c[e+20>>2]|0)*3|0;f=(d[f+2+(m+11520+(X*51|0))>>0]<<16|(d[f+1+(m+11520+(X*51|0))>>0]<<8|d[m+11520+(X*51|0)+f>>0]))>>>(((c[e+24>>2]|0)/8|0)*6|0)&63;if(f|0?(n=f+-1|0,m+(n*192|0)|0):0){X=c[e+72>>2]|0;f=(X|0)<1;X=f?1:X;f=c[(f?e+28|0:e+64|0)>>2]|0;k=X+f|0;if((X|0)>0){j=g?-3:-5;do{g=m+(n*192|0)+(f*3|0)|0;h=(d[g>>0]|d[g+1>>0]<<8)&65535|d[g+2>>0]<<16;i=((((h&16777215)>>>21)*12|0)+(h&15)&16777215)+j|0;if(i>>>0<96){X=((i>>>0)/12|0)<<21|h&2097136|((i>>>0)%12|0)+4&15;W=X&65535;a[g>>0]=W;a[g+1>>0]=W>>8;a[g+2>>0]=X>>>16}f=f+1|0}while((f|0)<(k|0))}Ml(c[e+88>>2]|0)|0}}while(0);f=c[e>>2]|0;switch(Si()|0){case 1:{Al(e,1);break}case 2:{Al(e,0);break}case 3:{Bl(e);break}default:{}}do if(!(Sh[c[f+1262804>>2]&255](f,63)|0)){w=e+28|0;q=c[e>>2]|0;if((c[w>>2]|0)<=-1){i=e+24|0;h=(c[i>>2]|0)/8|0;f=q+1262804|0;if(Sh[c[f>>2]&255](q,63)|0)break;if(Sh[c[f>>2]&255](q,65)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,52,20,3)|0){W=c[e+4>>2]|0;X=a[e+8>>0]&7;T=(c[e+20>>2]|0)*3|0;U=W+11520+(X*51|0)+T|0;V=T+1+(W+11520+(X*51|0))|0;X=T+2+(W+11520+(X*51|0))|0;W=(d[V>>0]<<8|d[U>>0]|d[X>>0]<<16)&~(63<<h*6);a[U>>0]=W;a[V>>0]=W>>>8;a[X>>0]=W>>>16;Ml(c[e+88>>2]|0)|0;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,49,20,3)|0){f=c[i>>2]|0;if((f|0)>=24)break;c[i>>2]=(((f|0)/8|0)<<3)+8;c[e+16>>2]=0;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,60,20,3)|0){g=e+16|0;f=c[g>>2]|0;if((f|0)>0)f=f+-1|0;else{f=c[i>>2]|0;if((f|0)<=7)break;c[i>>2]=f+-8&-8;f=1}c[g>>2]=f;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,61,20,3)|0){g=e+16|0;f=c[g>>2]|0;if((f|0)<1)f=f+1|0;else{f=c[i>>2]|0;if((f|0)>=24)break;c[i>>2]=(((f|0)/8|0)<<3)+8;f=0}c[g>>2]=f;break}X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,59,20,3)|0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,50,20,3)|0)):0){g=a[q+65420>>0]|0;f=(g<<24>>24)+-48|0;g=(g+-48&255)<10?f:-1;if((g|0)<=-1)break;o=c[e+4>>2]|0;n=a[e+8>>0]&7;i=(c[e+20>>2]|0)*3|0;k=o+11520+(n*51|0)+i|0;m=i+1+(o+11520+(n*51|0))|0;n=i+2+(o+11520+(n*51|0))|0;o=d[n>>0]<<16|(d[m>>0]<<8|d[k>>0]);i=h*6|0;h=o>>>i&63;j=e+16|0;if(!(c[j>>2]|0)){g=g*10|0;f=h}else g=h-((h>>>0)%10|0)|0;f=g+((f|0)%10|0)|0;if((f|0)>=61)break;X=(f|0)<0?60:f;X=o&~(63<<i)|((X|0)>60?0:X)<<i;a[k>>0]=X;a[m>>0]=X>>>8;a[n>>0]=X>>>16;Ml(c[e+88>>2]|0)|0;if(c[j>>2]|0)break;c[j>>2]=1;break}c[w>>2]=c[e+32>>2];break}if(!(c[q+65416>>2]|0)){c[e+36>>2]=-1;li[c[q+1262748>>2]&511](q,(c[e+24>>2]|0)/8|0);break}f=q+1262804|0;if(!(Sh[c[f>>2]&255](q,63)|0)?!(Sh[c[f>>2]&255](q,65)|0):0){k=Sh[c[f>>2]&255](q,64)|0;a:do if(k){X=c[2]|0;do if((((!(Uh[c[X+1262808>>2]&63](X,58,20,3)|0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,59,20,3)|0)):0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,60,20,3)|0)):0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,61,20,3)|0)):0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,56,20,3)|0)):0){X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,57,20,3)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,54,20,3)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,55,20,3)|0)break;X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,49,20,3)|0))break a}while(0);g=e+52|0;f=e+56|0;if((c[g>>2]|0)>=0?(c[f>>2]|0)>=0:0)break;c[g>>2]=c[e+24>>2];c[f>>2]=c[w>>2]}while(0);X=c[2]|0;do if(Uh[c[X+1262808>>2]&63](X,58,20,3)|0){i=c[w>>2]|0;if((i|0)>-1){f=i+-1|0;c[w>>2]=f;j=e+32|0;g=c[j>>2]|0;if((i|0)>(g|0))if((i|0)>(g+16|0)){f=i+-16|0;Y=67}else f=g;else Y=67;if((Y|0)==67)c[j>>2]=f;h=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((i|0)>(h|0))c[w>>2]=h+-1;if((f|0)<0){c[j>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)>(f|0)){c[j>>2]=f;Y=174}else Y=174}else Y=174}else{X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,59,20,3)|0){f=a[e+8>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0){Y=174;break}h=c[w>>2]|0;f=d[(c[e+4>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)>=(63-f|0)){Y=174;break}i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=81}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=81}while(0);if((Y|0)==81)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0)){Y=174;break}c[j>>2]=f;Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,60,20,3)|0){f=e+24|0;g=c[f>>2]|0;if((g|0)<=0){Y=174;break}c[f>>2]=g+-1;g=c[w>>2]|0;i=e+32|0;f=c[i>>2]|0;do if((g|0)<(f|0)){f=g;Y=93}else{if((g|0)<(f+16|0))break;f=g+-15|0;Y=93}while(0);if((Y|0)==93)c[i>>2]=f;h=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((g|0)>=(h|0))c[w>>2]=h+-1;if((f|0)<0){c[i>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)<=(f|0)){Y=174;break}c[i>>2]=f;Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,61,20,3)|0){f=e+24|0;g=c[f>>2]|0;if((g|0)>=31){Y=174;break}c[f>>2]=g+1;g=c[w>>2]|0;i=e+32|0;f=c[i>>2]|0;do if((g|0)<(f|0)){f=g;Y=105}else{if((g|0)<(f+16|0))break;f=g+-15|0;Y=105}while(0);if((Y|0)==105)c[i>>2]=f;h=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((g|0)>=(h|0))c[w>>2]=h+-1;if((f|0)<0){c[i>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)<=(f|0)){Y=174;break}c[i>>2]=f;Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,56,20,3)|0){Y=e+24|0;X=c[Y>>2]|0;c[Y>>2]=X-((X|0)%8|0);Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,57,20,3)|0){Y=e+24|0;X=c[Y>>2]|0;c[Y>>2]=X+7-((X|0)%8|0);Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,54,20,3)|0){g=c[w>>2]|0;g=(g|0)<16?0:g+-16|0;c[w>>2]=g;i=e+32|0;f=c[i>>2]|0;do if((g|0)<(f|0)){f=g;Y=120}else{if((g|0)<(f+16|0))break;f=g+-15|0;Y=120}while(0);if((Y|0)==120)c[i>>2]=f;h=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((g|0)>=(h|0))c[w>>2]=h+-1;if((f|0)<0){c[i>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)<=(f|0)){Y=174;break}c[i>>2]=f;Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,55,20,3)|0){f=c[w>>2]|0;h=d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0;W=(f|0)<(63-h|0);f=W?f+16|0:f;h=64-h|0;X=(f|0)<(h|0);f=X?f:h+-1|0;if(W|X^1)c[w>>2]=f;i=e+32|0;g=c[i>>2]|0;do if((f|0)<(g|0))Y=133;else{if((f|0)<(g+16|0)){f=g;break}f=f+-15|0;Y=133}while(0);if((Y|0)==133)c[i>>2]=f;if((f|0)<0){c[i>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)<=(f|0)){Y=174;break}c[i>>2]=f;Y=174;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,49,20,3)|0){g=e+24|0;i=c[g>>2]|0;c[g>>2]=(((((i|0)/8|0)+1|0)%4|0)<<3)+((i|0)%8|0);g=c[w>>2]|0;i=e+32|0;f=c[i>>2]|0;do if((g|0)<(f|0)){f=g;Y=142}else{if((g|0)<(f+16|0))break;f=g+-15|0;Y=142}while(0);if((Y|0)==142)c[i>>2]=f;h=64-(d[(c[e+4>>2]|0)+11520+((a[e+8>>0]&7)*51|0)+49>>0]|0)|0;if((g|0)>=(h|0))c[w>>2]=h+-1;if((f|0)<0){c[i>>2]=0;g=0}else g=f;f=h+-16|0;if((g|0)<=(f|0)){Y=174;break}c[i>>2]=f;Y=174;break}X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,52,20,3)|0)){Y=c[2]|0;if(Uh[c[Y+1262808>>2]&63](Y,48,20,3)|0){Cl(e);Y=174;break}Y=c[2]|0;if(!(Uh[c[Y+1262808>>2]&63](Y,50,20,3)|0)){Y=174;break}f=c[e>>2]|0;if((a[f+81916>>0]|0)>=0){zi[c[f+1262760>>2]&31](f,-1,-1,-1,0);Y=174;break}g=c[f+1262764>>2]|0;h=a[e+8>>0]&7;i=c[e+20>>2]|0;if(k){zi[g&31](f,h,i,c[w>>2]|0,1);Y=175;break}else{zi[g&31](f,h,i,-1,1);Y=186;break}}i=e+4|0;g=c[i>>2]|0;h=e+8|0;X=a[h>>0]&7;f=(c[e+20>>2]|0)*3|0;f=(d[f+2+(g+11520+(X*51|0))>>0]<<16|(d[f+1+(g+11520+(X*51|0))>>0]<<8|d[g+11520+(X*51|0)+f>>0]))>>>(((c[e+24>>2]|0)/8|0)*6|0)&63;do if(f|0){f=f+-1|0;if(!(g+(f*192|0)|0))break;X=c[e+72>>2]|0;W=(X|0)<1;u6(g+(f*192|0)+((c[(W?w:e+64|0)>>2]|0)*3|0)|0,0,(W?3:X*3|0)|0)|0}while(0);Ml(c[e+88>>2]|0)|0;f=a[h>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0){Y=174;break}h=c[w>>2]|0;f=d[(c[i>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)>=(63-f|0)){Y=174;break}i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=159}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=159}while(0);if((Y|0)==159)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0)){Y=174;break}c[j>>2]=f;Y=174}while(0);if((Y|0)==174)if(k)Y=175;else Y=186;b:do if((Y|0)==175){X=c[2]|0;do if(((!(Uh[c[X+1262808>>2]&63](X,58,20,3)|0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,59,20,3)|0)):0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,60,20,3)|0)):0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,61,20,3)|0)):0){X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,56,20,3)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,57,20,3)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,54,20,3)|0)break;X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,55,20,3)|0)break;X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,49,20,3)|0))break b}while(0);f=c[e+24>>2]|0;g=e+52|0;W=c[g>>2]|0;X=(f|0)<(W|0)?f:W;U=c[w>>2]|0;h=e+56|0;V=c[h>>2]|0;T=(U|0)<(V|0)?U:V;W=((f|0)>(W|0)?f:W)-X+1|0;f=e+60|0;c[f>>2]=X;c[e+64>>2]=T;c[e+68>>2]=W;c[e+72>>2]=1-T+((U|0)>(V|0)?U:V);if((W+((X|0)%8|0)|0)>8){c[g>>2]=-1;c[h>>2]=-1;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0}}else if((Y|0)==186){c[e+52>>2]=-1;c[e+56>>2]=-1;X=e+60|0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[X+12>>2]=0}while(0);o=e+24|0;f=c[o>>2]|0;p=e+4|0;m=c[p>>2]|0;n=e+8|0;X=a[n>>0]&7;k=e+20|0;g=(c[k>>2]|0)*3|0;g=(d[g+2+(m+11520+(X*51|0))>>0]<<16|(d[g+1+(m+11520+(X*51|0))>>0]<<8|d[m+11520+(X*51|0)+g>>0]))>>>(((f|0)/8|0)*6|0)&63;if(g|0?(v=g+-1|0,m+(v*192|0)|0):0){h=(f|0)%8|0;c:do switch(h|0){case 1:case 0:{X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,28,20,3)|0)?(X=c[2]|0,!(Uh[c[X+1262808>>2]&63](X,1,20,3)|0)):0){f=c[p>>2]|0;X=a[n>>0]&7;g=(c[k>>2]|0)*3|0;g=(d[g+2+(f+11520+(X*51|0))>>0]<<16|(d[g+1+(f+11520+(X*51|0))>>0]<<8|d[f+11520+(X*51|0)+g>>0]))>>>(((c[o>>2]|0)/8|0)*6|0)&63;g=(g|0)==0?0:f+((g+-1|0)*192|0)|0;f=0;while(1){X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,c[1632+(f<<2)>>2]&255,20,3)|0)break;f=f+1|0;if(f>>>0>=24)break c}i=(f>>>0)%12|0;j=c[w>>2]|0;g=g+(j*3|0)|0;h=(d[g>>0]|d[g+1>>0]<<8)&65535|d[g+2>>0]<<16;if(!(h&15)){T=(c[e+40>>2]|0)+((f>>>0)/12|0)|0;U=c[e+48>>2]|0;W=c[e+44>>2]|0;V=c[p>>2]|0;S=a[n>>0]&7;X=(c[k>>2]|0)*3|0;X=(d[X+2+(V+11520+(S*51|0))>>0]<<16|(d[X+1+(V+11520+(S*51|0))>>0]<<8|d[V+11520+(S*51|0)+X>>0]))>>>(((c[o>>2]|0)/8|0)*6|0)&63;X=(X|0)==0?0:V+((X+-1|0)*192|0)|0;V=X+(j*3|0)|0;S=((d[V>>0]|d[V+1>>0]<<8)&65535|d[V+2>>0]<<16)&16777200|i+4&15;R=S&65535;a[V>>0]=R;a[V+1>>0]=R>>8;a[V+2>>0]=S>>>16;V=X+((c[w>>2]|0)*3|0)|0;T=((d[V>>0]|d[V+1>>0]<<8)&65535|d[V+2>>0]<<16)&2097151|T<<21;S=T&65535;a[V>>0]=S;a[V+1>>0]=S>>8;a[V+2>>0]=T>>>16;V=X+((c[w>>2]|0)*3|0)|0;U=((d[V>>0]|d[V+1>>0]<<8)&65535|d[V+2>>0]<<16)&16776975|U<<4&240;T=U&65535;a[V>>0]=T;a[V+1>>0]=T>>8;a[V+2>>0]=U>>>16;W=(W|0)<63?W:63;X=X+((c[w>>2]|0)*3|0)|0;W=W<<16&2031616|W<<10&32768|((d[X>>0]|d[X+1>>0]<<8)&65535|d[X+2>>0]<<16)&14712831;V=W&65535;a[X>>0]=V;a[X+1>>0]=V>>8;a[X+2>>0]=W>>>16;Cl(e)}else{X=h&16777200|i+4&15;W=X&65535;a[g>>0]=W;a[g+1>>0]=W>>8;a[g+2>>0]=X>>>16;Cl(e)}f=a[n>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0)break c;h=c[w>>2]|0;f=d[(c[p>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)>=(63-f|0))break c;i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=216}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=216}while(0);if((Y|0)==216)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[j>>2]=f;break c}X=c[p>>2]|0;W=a[n>>0]&7;f=(c[k>>2]|0)*3|0;f=((d[f+2+(X+11520+(W*51|0))>>0]<<16|(d[f+1+(X+11520+(W*51|0))>>0]<<8|d[X+11520+(W*51|0)+f>>0]))>>>(((c[o>>2]|0)/8|0)*6|0)&63)+-1|0;W=X+(f*192|0)+((c[w>>2]|0)*3|0)|0;V=((d[W>>0]|d[W+1>>0]<<8)&65535|d[W+2>>0]<<16)&16777200|1;U=V&65535;a[W>>0]=U;a[W+1>>0]=U>>8;a[W+2>>0]=V>>>16;f=X+(f*192|0)+((c[w>>2]|0)*3|0)|0;X=((d[f>>0]|d[f+1>>0]<<8)&65535|d[f+2>>0]<<16)&2097151;W=X&65535;a[f>>0]=W;a[f+1>>0]=W>>8;a[f+2>>0]=X>>>16;f=a[n>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0)break c;h=c[w>>2]|0;f=d[(c[p>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)<(63-f|0)){i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=198}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=198}while(0);if((Y|0)==198)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[j>>2]=f}break}case 2:{f=m+(v*192|0)+((c[w>>2]|0)*3|0)|0;g=(d[f>>0]|d[f+1>>0]<<8)&65535|d[f+2>>0]<<16;if(((g&15)+-4|0)>-1?(s=a[q+65420>>0]|0,s=(s+-49&255)<8?(s<<24>>24)+-49|0:-1,(s|0)>-1):0){X=g&2097151|s<<21;W=X&65535;a[f>>0]=W;a[f+1>>0]=W>>8;a[f+2>>0]=X>>>16;c[e+40>>2]=s;Cl(e);f=a[n>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0)break c;h=c[w>>2]|0;f=d[(c[p>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)>=(63-f|0))break c;i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=232}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=232}while(0);if((Y|0)==232)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[j>>2]=f}break}case 4:case 3:{i=c[w>>2]|0;j=m+(v*192|0)+(i*3|0)|0;j=(d[j>>0]|d[j+1>>0]<<8)&65535|d[j+2>>0]<<16;if(((j&15)+-4|0)>-1?(t=a[q+65420>>0]|0,u=(t<<24>>24)+-48|0,t=(t+-48&255)<10?u:-1,(t|0)>-1):0){g=(j&16777215)>>>10&32|(j&16777215)>>>16&31;f=g&16777215;h=(h|0)==3;if(h)g=t*10|0;else{g=f-((((g&16777215)>>>0)%10|0)&16777215)|0;f=u}X=g+((f|0)%10|0)|0;X=(X|0)<63?X:63;i=m+(v*192|0)+(i*3|0)|0;X=X<<16&2031616|X<<10&32768|j&14712831;W=X&65535;a[i>>0]=W;a[i+1>>0]=W>>8;a[i+2>>0]=X>>>16;i=c[w>>2]|0;X=m+(v*192|0)+(i*3|0)|0;X=(d[X>>0]|d[X+1>>0]<<8)&65535|d[X+2>>0]<<16;c[e+44>>2]=((X&16777215)>>>10&32|(X&16777215)>>>16&31)&16777215;if(h){f=c[o>>2]|0;if((f|0)>=31)break c;c[o>>2]=f+1;h=e+32|0;g=c[h>>2]|0;do if((i|0)<(g|0)){g=i;Y=249}else{if((i|0)<(g+16|0))break;g=i+-15|0;Y=249}while(0);if((Y|0)==249)c[h>>2]=g;f=64-(d[(c[p>>2]|0)+11520+((a[n>>0]&7)*51|0)+49>>0]|0)|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[h>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[h>>2]=f;break c}k=a[n>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(k|0)?(a[e+12>>0]|0)!=0:0)h=i;else Y=258;do if((Y|0)==258){g=d[(c[p>>2]|0)+11520+(k*51|0)+49>>0]|0;if((i|0)>=(63-g|0)){h=i;break}h=i+1|0;c[w>>2]=h;j=e+32|0;f=c[j>>2]|0;do if((h|0)<(f|0)){f=h;Y=262}else{if((i|0)<(f+15|0))break;f=i+-14|0;Y=262}while(0);if((Y|0)==262)c[j>>2]=f;i=64-g|0;g=i+-1|0;if((h|0)>=(i|0)){c[w>>2]=g;h=g}if((f|0)<0){c[j>>2]=0;f=0}g=i+-16|0;if((f|0)<=(g|0))break;c[j>>2]=g}while(0);f=c[o>>2]|0;if((f|0)<=0)break c;c[o>>2]=f+-1;i=e+32|0;g=c[i>>2]|0;do if((h|0)<(g|0)){g=h;Y=273}else{if((h|0)<(g+16|0))break;g=h+-15|0;Y=273}while(0);if((Y|0)==273)c[i>>2]=g;f=64-(d[(c[p>>2]|0)+11520+(k*51|0)+49>>0]|0)|0;if((h|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[i>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[i>>2]=f}break}case 5:{f=m+(v*192|0)+((c[w>>2]|0)*3|0)|0;g=(d[f>>0]|d[f+1>>0]<<8)&65535|d[f+2>>0]<<16;if(((g&15)+-4|0)>-1?(X=a[q+65420>>0]|0,r=X<<24>>24,r=(X+-97&255)<6?r+-87|0:(X+-48&255)<10?r+-48|0:-1,(r|0)>-1):0){X=15-r|0;W=g&16776975|X<<4&240;V=W&65535;a[f>>0]=V;a[f+1>>0]=V>>8;a[f+2>>0]=W>>>16;c[e+48>>2]=X;Cl(e);f=a[n>>0]&7;if((a[(c[e>>2]|0)+81916>>0]|0)==(f|0)?a[e+12>>0]|0:0)break c;h=c[w>>2]|0;f=d[(c[p>>2]|0)+11520+(f*51|0)+49>>0]|0;if((h|0)>=(63-f|0))break c;i=h+1|0;c[w>>2]=i;j=e+32|0;g=c[j>>2]|0;do if((i|0)<(g|0)){g=i;Y=288}else{if((h|0)<(g+15|0))break;g=h+-14|0;Y=288}while(0);if((Y|0)==288)c[j>>2]=g;f=64-f|0;if((i|0)>=(f|0))c[w>>2]=f+-1;if((g|0)<0){c[j>>2]=0;g=0}f=f+-16|0;if((g|0)<=(f|0))break c;c[j>>2]=f}break}default:{}}while(0);Ml(c[e+88>>2]|0)|0}}}else{X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,1,20,3)|0){g=e+52|0;h=e+56|0;f=e+60|0;W=e+24|0;X=c[W>>2]|0;X=X-((X|0)%8|0)|0;c[g>>2]=X;c[h>>2]=0;c[W>>2]=X+7;c[e+28>>2]=63;c[f>>2]=X;c[e+64>>2]=0;c[e+68>>2]=8;c[e+72>>2]=64;if(((X|0)%8|0|0)<=0)break;c[g>>2]=-1;c[h>>2]=-1;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;break}X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,26,20,3)|0){k=c[e+88>>2]|0;f=c[k>>2]|0;if(c[f+4>>2]|0){g=c[f+12>>2]|0;j=f+16|0;if(g>>>0<(c[j>>2]|0)>>>0){h=f+8|0;i=k+8|0;f=g;g=0;while(1){X=(c[i>>2]|0)+f|0;a[X>>0]=a[X>>0]^a[(c[h>>2]|0)+g>>0];f=f+1|0;if(f>>>0>=(c[j>>2]|0)>>>0)break;else g=g+1|0}f=c[k>>2]|0}c[k>>2]=c[f+4>>2]}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0;break}X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,25,20,3)|0)){X=c[2]|0;if(Uh[c[X+1262808>>2]&63](X,58,20,3)|0){X=e+20|0;W=c[X>>2]|0;c[X>>2]=(W|0)<1?0:W+-1|0;break}X=c[2]|0;if(!(Uh[c[X+1262808>>2]&63](X,59,20,3)|0))break;X=e+20|0;W=c[X>>2]|0;c[X>>2]=(W|0)>14?15:W+1|0;break}j=c[e+88>>2]|0;f=c[c[j>>2]>>2]|0;if(f|0?(c[j>>2]=f,o=c[f+12>>2]|0,p=f+16|0,o>>>0<(c[p>>2]|0)>>>0):0){h=f+8|0;i=j+8|0;f=o;g=0;while(1){X=(c[i>>2]|0)+f|0;a[X>>0]=a[X>>0]^a[(c[h>>2]|0)+g>>0];f=f+1|0;if(f>>>0>=(c[p>>2]|0)>>>0)break;else g=g+1|0}}s6(c[j+12>>2]|0,c[j+8>>2]|0,c[j+4>>2]|0)|0}while(0);k=c[e>>2]|0;if(a[e+12>>0]|0){f=a[k+81916>>0]|0;j=e+8|0;if(((f|0)==(a[j>>0]&7|0)?(y=e+28|0,(c[y>>2]|0)>-1):0)?(x=a[k+81918>>0]|0,x<<24>>24>-1):0){h=x<<24>>24;c[e+20>>2]=a[k+81917>>0];c[y>>2]=h;i=e+32|0;g=c[i>>2]|0;if((h|0)>=(g|0)){if((h|0)>=(g+16|0)){g=h+-15|0;Y=333}}else{g=h;Y=333}if((Y|0)==333)c[i>>2]=g;f=64-(d[(c[e+4>>2]|0)+11520+(f*51|0)+49>>0]|0)|0;if((h|0)>=(f|0))c[y>>2]=f+-1;if((g|0)<0){c[i>>2]=0;g=0}f=f+-16|0;if((g|0)>(f|0))c[i>>2]=f}}else j=e+8|0;li[c[k+1262676>>2]&511](k,7);X=e+4|0;W=c[X>>2]|0;f=a[j>>0]&7;El(e,7,88376,f,8);El(e,67,88382,(a[W+11520+(f*51|0)+48>>0]|0)+150|0,9);El(e,133,88388,(a[W+11520+(f*51|0)+50>>0]|0)+6|0,10);El(e,181,88392,64-(d[W+11520+(f*51|0)+49>>0]|0)|0,11);f=c[2]|0;W=a[f+65413>>0]|0;g=W&255;if(((((W+-34&255)<97?((a[f+65412>>0]|0)+-6&255)<13:0)?(W=f+16379|0,a[W>>0]=a[W>>0]&-128|1,a[84]|0):0)?((c[22]|0)+-6|0)>>>0<13:0)?((c[23]|0)+-34|0)>>>0<97:0)c[e+20>>2]=(g+-35|0)/6|0;W=c[e>>2]|0;Ai[c[W+1262692>>2]&15](W,6,34,13,97,0);W=c[e>>2]|0;h=W+1262692|0;Ai[c[h>>2]&15](W,6,33,13,1,3);Ai[c[h>>2]&15](W,5,34,1,97,3);Ai[c[h>>2]&15](W,6,131,13,1,10);Ai[c[h>>2]&15](W,19,34,1,97,10);W=e+20|0;h=0;do{g=c[e>>2]|0;if((a[g+81916>>0]|0)==(a[j>>0]&7|0)){f=h*6|0;if((a[g+81917>>0]|0)==(h|0)){Ri(0,f+35|0,88397,0);Ri(0,f+34|0,88397,15)}}else f=h*6|0;if((h|0)==(c[W>>2]|0)){V=c[e>>2]|0;Ai[c[V+1262692>>2]&15](V,6,f+34|0,13,7,15)};a[D>>0]=a[88405]|0;a[D+1>>0]=a[88406]|0;a[D+2>>0]=a[88407]|0;c[I>>2]=h;h3(D,88408,I)|0;V=c[e>>2]|0;Xh[c[V+1262668>>2]&3](V,D,7,f+35|0,3,0)|0;h=h+1|0}while((h|0)!=16);V=e+28|0;f=c[V>>2]|0;if((f|0)>-1){a[I>>0]=a[88405]|0;a[I+1>>0]=a[88406]|0;a[I+2>>0]=a[88407]|0;c[z>>2]=f;h3(I,88408,z)|0;U=c[e>>2]|0;Xh[c[U+1262668>>2]&3](U,I,7,25,0,0)|0;U=c[e>>2]|0;Xh[c[U+1262668>>2]&3](U,I,7,24,15,0)|0}p=e+88|0;U=e+24|0;q=e+16|0;o=0;do{h=c[X>>2]|0;r=a[j>>0]&7;m=(c[W>>2]|0)*3|0;n=o*6|0;m=(d[m+2+(h+11520+(r*51|0))>>0]<<16|(d[m+1+(h+11520+(r*51|0))>>0]<<8|d[h+11520+(r*51|0)+m>>0]))>>>n&63;r=o*54|0;h=r+37|0;f=c[2]|0;g=d[f+65412>>0]|0;d:do if((g|0)>=(h|0)?(E=r+43|0,(g|0)<(E|0)?((a[f+65413>>0]|0)+-24&255)<6:0):0){T=f+16379|0;a[T>>0]=a[T>>0]&-128|1;if((a[84]|0)!=0?(T=c[22]|0,(T|0)>=(h|0)&(T|0)<(E|0)):0)g=((c[23]|0)+-24|0)>>>0<6;else g=0;do if((((a[85]|0)!=0?(T=c[22]|0,(T|0)>=(h|0)&(T|0)<(E|0)):0)?((c[23]|0)+-24|0)>>>0<6:0)?(T=c[24]|0,(T|0)>=(h|0)&(T|0)<(E|0)):0){if(((c[25]|0)+-24|0)>>>0>=6){f=10;Y=368;break}a[85]=0;S=c[X>>2]|0;T=a[j>>0]&7;P=(c[W>>2]|0)*3|0;Q=S+11520+(T*51|0)+P|0;R=P+1+(S+11520+(T*51|0))|0;T=P+2+(S+11520+(T*51|0))|0;S=d[R>>0]<<8|d[Q>>0]|d[T>>0]<<16;P=S>>>n&63;P=(P|0)==0?60:P+-1|0;S=((P|0)>60?0:P)<<n|S&~(63<<n);a[Q>>0]=S;a[R>>0]=S>>>8;a[T>>0]=S>>>16;Ml(c[p>>2]|0)|0;if(g)f=10;else{f=10;g=24;break d}}else{f=10;Y=368}while(0);if((Y|0)==368){Y=0;if(!g){g=24;break}}g=25}else{f=3;g=24}while(0);Ri(h,g,88413,f);g=r+43|0;h=r+42|0;i=c[2]|0;k=d[i+65412>>0]|0;T=a[i+65413>>0]|0;f=r+55|0;if((((((T&255)<30&(((k|0)>=(f|0)|(k|0)<(h|0)|(T&255)<23)^1)?(T=i+16379|0,a[T>>0]=a[T>>0]&-128|1,a[85]|0):0)?(T=c[22]|0,(T|0)>=(h|0)&(T|0)<(f|0)):0)?((c[23]|0)+-23|0)>>>0<7:0)?(T=c[24]|0,(T|0)>=(h|0)&(T|0)<(f|0)):0)?((c[25]|0)+-23|0)>>>0<7:0){a[85]=0;c[V>>2]=-1;c[U>>2]=o<<3;c[q>>2]=(k-h|0)/6|0}T=c[e>>2]|0;Ai[c[T+1262692>>2]&15](T,h,23,13,7,0);T=c[e>>2]|0;S=T+1262692|0;Ai[c[S>>2]&15](T,h,22,13,1,3);Ai[c[S>>2]&15](T,r+41|0,23,1,7,3);Ai[c[S>>2]&15](T,h,30,13,1,10);Ai[c[S>>2]&15](T,f,23,1,7,10);if((c[V>>2]|0)==-1?((c[U>>2]|0)/8|0|0)==(o|0):0){T=c[e>>2]|0;Ai[c[T+1262692>>2]&15](T,((c[q>>2]|0)*6|0)+h|0,23,7,7,6)};a[D>>0]=a[88405]|0;a[D+1>>0]=a[88406]|0;a[D+2>>0]=a[88407]|0;c[$>>2]=m;h3(D,88408,$)|0;h=c[e>>2]|0;Xh[c[h+1262668>>2]&3](h,D,g,24,15,0)|0;h=r+55|0;f=c[2]|0;g=d[f+65412>>0]|0;e:do if((g|0)>=(h|0)?(F=r+61|0,(g|0)<(F|0)?((a[f+65413>>0]|0)+-24&255)<6:0):0){T=f+16379|0;a[T>>0]=a[T>>0]&-128|1;if((a[84]|0)!=0?(T=c[22]|0,(T|0)>=(h|0)&(T|0)<(F|0)):0)g=((c[23]|0)+-24|0)>>>0<6;else g=0;do if(a[85]|0){T=c[22]|0;if(!((T|0)>=(h|0)&(T|0)<(F|0))){f=10;Y=391;break}if(((c[23]|0)+-24|0)>>>0>=6){f=10;Y=391;break}T=c[24]|0;if(!((T|0)>=(h|0)&(T|0)<(F|0))){f=10;Y=391;break}if(((c[25]|0)+-24|0)>>>0>=6){f=10;Y=391;break}a[85]=0;S=c[X>>2]|0;T=a[j>>0]&7;P=(c[W>>2]|0)*3|0;Q=S+11520+(T*51|0)+P|0;R=P+1+(S+11520+(T*51|0))|0;T=P+2+(S+11520+(T*51|0))|0;S=d[R>>0]<<8|d[Q>>0]|d[T>>0]<<16;P=(S>>>n&63)+1|0;S=(P>>>0>60?0:P)<<n|S&~(63<<n);a[Q>>0]=S;a[R>>0]=S>>>8;a[T>>0]=S>>>16;Ml(c[p>>2]|0)|0;if(g)f=10;else{f=10;g=24;break e}}else{f=10;Y=391}while(0);if((Y|0)==391){Y=0;if(!g){g=24;break}}g=25}else{f=3;g=24}while(0);Ri(h,g,88421,f);f=r+67|0;g=c[e>>2]|0;h=c[2]|0;i=d[h+65412>>0]|0;do if((((i|0)>=(f|0)?(G=r+72|0,(i|0)<(G|0)?((a[h+65413>>0]|0)+-24&255)<5:0):0)?(T=h+16379|0,a[T>>0]=a[T>>0]&-128|1,z5(228,88429,39)|0,a[85]|0):0)?(T=c[22]|0,(T|0)>=(f|0)&(T|0)<(G|0)):0){if(((c[23]|0)+-24|0)>>>0>=5)break;T=c[24]|0;if(!((T|0)>=(f|0)&(T|0)<(G|0)))break;if(((c[25]|0)+-24|0)>>>0>=5)break;a[85]=0;if(Sh[c[g+1262804>>2]&255](g,63)|0){a[H>>0]=(o|0)==0&1;a[C>>0]=(o|0)==1&1;a[B>>0]=(o|0)==2&1;a[A>>0]=(o|0)==3&1;break}else{T=e+80+o|0;a[T>>0]=a[T>>0]^1;break}}while(0);a[I>>0]=14;Bi[c[g+1262700>>2]&15](g,c[(c[80]|0)+56>>2]|0,a[e+80+o>>0]|0?36:52,f,24,I,1);o=o+1|0}while((o|0)!=4);I=e+32|0;J=e+76|0;D=e+52|0;F=e+56|0;C=e+60|0;E=e+64|0;G=e+68|0;H=e+72|0;K=$+1|0;L=$+2|0;M=$+3|0;N=$+4|0;O=$+5|0;P=$+6|0;Q=$+7|0;B=0;do{k=B*54|0;R=k+25|0;S=c[e>>2]|0;T=k+24|0;f=c[2]|0;g=d[f+65412>>0]|0;h=a[f+65413>>0]|0;i=h&255;do if(((((g|0)>=(T|0)?(Z=k+73|0,(h+-34&255)<97&(g|0)<(Z|0)):0)?(Y=f+16379|0,a[Y>>0]=a[Y>>0]&-128|1,(a[84]|0)!=0):0)?(Y=c[22]|0,(Y|0)>=(T|0)&(Y|0)<(Z|0)):0)?((c[23]|0)+-34|0)>>>0<97:0){g=((g+-1-T|0)/6|0)+(B<<3)|0;c[U>>2]=g;f=((i+-35|0)/6|0)+(c[I>>2]|0)|0;c[V>>2]=f;if(!(a[J>>0]|0)){c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[D>>2]=g;c[F>>2]=f;a[J>>0]=1;Y=414;break}A=c[D>>2]|0;Y=(g|0)<(A|0)?g:A;z=c[F>>2]|0;y=(f|0)<(z|0)?f:z;A=((g|0)>(A|0)?g:A)-Y+1|0;c[C>>2]=Y;c[E>>2]=y;c[G>>2]=A;c[H>>2]=1-y+((f|0)>(z|0)?f:z);if((A+((Y|0)%8|0)|0)>8){c[D>>2]=-1;c[F>>2]=-1;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;Y=413}else Y=413}else Y=413;while(0);if((Y|0)==413?(Y=0,a[J>>0]|0):0)Y=414;if((Y|0)==414?(0,!((a[84]|0)!=0&(c[22]|0)>>>0<240&(c[23]|0)>>>0<136)):0)a[J>>0]=0;i=c[e>>2]|0;Ai[c[i+1262692>>2]&15](i,T,34,49,97,0);i=c[e>>2]|0;p=i+1262692|0;Ai[c[p>>2]&15](i,T,33,49,1,3);Ai[c[p>>2]&15](i,k+23|0,34,1,97,3);Ai[c[p>>2]&15](i,T,131,49,1,10);Ai[c[p>>2]&15](i,k+73|0,34,1,97,10);i=c[I>>2]|0;p=((c[C>>2]|0)/8|0|0)==(B|0);r=c[X>>2]|0;s=a[j>>0]&7;q=(c[W>>2]|0)*3|0;q=(d[q+2+(r+11520+(s*51|0))>>0]<<16|(d[q+1+(r+11520+(s*51|0))>>0]<<8|d[r+11520+(s*51|0)+q>>0]))>>>(B*6|0)&63;q=(q|0)==0?0:r+((q+-1|0)*192|0)|0;r=S+1262692|0;s=(q|0)==0;t=k+21|0;u=i+15|0;v=k+31|0;w=k+37|0;x=k+43|0;y=k+49|0;z=k+55|0;A=k+61|0;m=k+67|0;k=0;while(1){n=k*6|0;o=n+35|0;if((i|0)==(c[V>>2]|0)){Y=c[e>>2]|0;Ai[c[Y+1262692>>2]&15](Y,T,n+34|0,49,7,1)}if(p?(Y=c[E>>2]|0,h=c[H>>2]|0,(i|0)>=(Y|0)&(h|0)>1&(i|0)<(h+Y|0)):0)Ai[c[r>>2]&15](S,T,n+34|0,49,7,14);f=c[e>>2]|0;if(((a[f+81916>>0]|0)==(a[j>>0]&7|0)?(a[f+81917>>0]|0)==(c[W>>2]|0):0)?(a[f+81918>>0]|0)==(i|0):0)Ai[c[f+1262692>>2]&15](f,T,n+34|0,49,7,15);f=$;g=88444;h=f+9|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));do if(!s){f=q+(i*3|0)|0;f=(d[f>>0]|d[f+1>>0]<<8)&65535|d[f+2>>0]<<16;g=f&15;if((g&16777215|0)==1){a[$>>0]=a[88453]|0;a[$+1>>0]=a[88454]|0;a[$+2>>0]=a[88455]|0;a[$+3>>0]=a[88456]|0;a[$+4>>0]=a[88457]|0;a[$+5>>0]=a[88458]|0;a[$+6>>0]=a[88459]|0;break}if((g&16777215)>>>0>3){c[aa>>2]=c[1728+((g&16777215)+-4<<2)>>2];c[aa+4>>2]=((f&16777215)>>>21)+1&16777215;c[aa+8>>2]=((f&16777215)>>>10&32|(f&16777215)>>>16&31)&16777215;c[aa+12>>2]=((f&16777215)>>>4&15^15)&16777215;h3($,88460,aa)|0}if(!(i&3)){Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[$>>0]|0,R,o,11,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[K>>0]|0,v,o,11,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[L>>0]|0,w,o,11,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[M>>0]|0,x,o,9,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[N>>0]|0,y,o,9,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[O>>0]|0,z,o,8,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[P>>0]|0,A,o,7,0)|0;Y=c[e>>2]|0;Xh[c[Y+1262660>>2]&3](Y,a[Q>>0]|0,m,o,7,0)|0;break}else{f=0;g=R;while(1){Y=a[$+f>>0]|0;h=c[e>>2]|0;Xh[c[h+1262660>>2]&3](h,Y,g,o,a[(Y<<24>>24!=45?88475:88479)+(d[88483+f>>0]|0)>>0]|0,0)|0;f=f+1|0;if((f|0)==8)break;else g=g+6|0}}}else{Y=c[e>>2]|0;Xh[c[Y+1262668>>2]&3](Y,$,R,o,3,0)|0}while(0);if((i|0)==(c[V>>2]|0)?(_=c[U>>2]|0,((_|0)/8|0|0)==(B|0)):0){h=(_|0)%8|0;Y=h*6|0;g=c[e>>2]|0;Ai[c[g+1262692>>2]&15](g,Y+T|0,n+34|0,7,7,6);g=c[e>>2]|0;Xh[c[g+1262660>>2]&3](g,a[$+h>>0]|0,Y+R|0,o,0,0)|0}if(!(i&3)){Y=c[e>>2]|0;ti[c[Y+1262680>>2]&63](Y,t,n+37|0,0)}if((i|0)<(u|0)){i=i+1|0;k=k+1|0}else break}B=B+1|0}while((B|0)!=4);break}case 1:{aa=c[e>>2]|0;li[c[aa+1262676>>2]&511](aa,7);aa=c[e>>2]|0;Xh[c[aa+1262668>>2]&3](aa,88491,24,68,15,0)|0;break}default:{}}j=c[e>>2]|0;Ai[c[j+1262692>>2]&15](j,0,0,240,7,15);j=e+12|0;i=0;while(1){f=i*7|0;k=f+188|0;g=c[2]|0;h=d[g+65412>>0]|0;if((h|0)>=(k|0)?(ba=f+195|0,(h|0)<(ba|0)&(d[g+65413>>0]|0)<7):0){aa=g+16379|0;a[aa>>0]=a[aa>>0]&-128|1;z5(228,c[1776+(i<<2)>>2]|0,39)|0;if(((a[85]|0)!=0?(aa=c[22]|0,(aa|0)>=(k|0)&(aa|0)<(ba|0)&(c[23]|0)>>>0<7):0)?(aa=c[24]|0,(aa|0)>=(k|0)&(aa|0)<(ba|0)&(c[25]|0)>>>0<7):0){a[85]=0;fi[c[1792+(i<<2)>>2]&511](e);f=1}else f=1}else f=0;g=i<<3;if((i|0)==0?a[j>>0]|0:0){Ri(k,0,88524+g|0,f?12:6);i=1;continue}Ri(k,0,88524+g|0,f?3:10);i=i+1|0;if((i|0)==4)break}f=c[2]|0;if((d[f+65413>>0]|0)<7?((a[f+65412>>0]|0)+34&255)<9:0){ba=f+16379|0;a[ba>>0]=a[ba>>0]&-128|1;z5(228,88556,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-222|0)>>>0<9&(c[23]|0)>>>0<7:0)?((c[24]|0)+-222|0)>>>0<9&(c[25]|0)>>>0<7:0){a[85]=0;c[ca>>2]=1;f=3;Y=460}else{f=3;Y=459}}else{f=10;Y=459}if((Y|0)==459){g=c[ca>>2]|0;if((g|0)==1)Y=460}if((Y|0)==460){g=c[e>>2]|0;Ai[c[g+1262692>>2]&15](g,222,0,9,7,7);Ri(222,1,88567,0);g=c[ca>>2]|0}Ri(222,0,88567,(g|0)==1?15:f);f=c[2]|0;if((d[f+65413>>0]|0)<7?((a[f+65412>>0]|0)+25&255)<9:0){ba=f+16379|0;a[ba>>0]=a[ba>>0]&-128|1;z5(228,88583,39)|0;if(((a[85]|0)!=0?((c[22]|0)+-231|0)>>>0<9&(c[23]|0)>>>0<7:0)?((c[24]|0)+-231|0)>>>0<9&(c[25]|0)>>>0<7:0){a[85]=0;c[ca>>2]=0;f=3}else{f=3;Y=466}}else{f=10;Y=466}if((Y|0)==466){g=c[ca>>2]|0;if(g){ca=f;ba=g;ba=(ba|0)==0;ca=ba?15:ca;Ri(231,0,88575,ca);e=c[e>>2]|0;Qi(e,7);l=da;return}}ba=c[e>>2]|0;Ai[c[ba+1262692>>2]&15](ba,231,0,9,7,7);Ri(231,1,88575,0);ba=f;ca=c[ca>>2]|0;ca=(ca|0)==0;ca=ca?15:ba;Ri(231,0,88575,ca);e=c[e>>2]|0;Qi(e,7);l=da;return}function zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;switch(d|0){case 0:{Al(b,1);return}case 1:{Al(b,0);return}case 2:{Bl(b);return}case 3:{h=c[b+88>>2]|0;b=c[h>>2]|0;if(c[b+4>>2]|0){d=c[b+12>>2]|0;g=b+16|0;if(d>>>0<(c[g>>2]|0)>>>0){e=b+8|0;f=h+8|0;b=d;d=0;while(1){i=(c[f>>2]|0)+b|0;a[i>>0]=a[i>>0]^a[(c[e>>2]|0)+d>>0];b=b+1|0;if(b>>>0>=(c[g>>2]|0)>>>0)break;else d=d+1|0}b=c[h>>2]|0}c[h>>2]=c[b+4>>2]}s6(c[h+12>>2]|0,c[h+8>>2]|0,c[h+4>>2]|0)|0;return}case 4:{g=c[b+88>>2]|0;b=c[c[g>>2]>>2]|0;if(b|0?(c[g>>2]=b,h=c[b+12>>2]|0,i=b+16|0,h>>>0<(c[i>>2]|0)>>>0):0){e=b+8|0;f=g+8|0;b=h;d=0;while(1){h=(c[f>>2]|0)+b|0;a[h>>0]=a[h>>0]^a[(c[e>>2]|0)+d>>0];b=b+1|0;if(b>>>0>=(c[i>>2]|0)>>>0)break;else d=d+1|0}}s6(c[g+12>>2]|0,c[g+8>>2]|0,c[g+4>>2]|0)|0;return}default:return}}function Al(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;o=w;s=b+24|0;n=b+4|0;j=c[n>>2]|0;p=b+8|0;t=a[p>>0]&7;u=b+20|0;f=(c[u>>2]|0)*3|0;f=((d[f+2+(j+11520+(t*51|0))>>0]|0)<<16|((d[f+1+(j+11520+(t*51|0))>>0]|0)<<8|(d[j+11520+(t*51|0)+f>>0]|0)))>>>(((c[s>>2]|0)/8|0)*6|0)&63;if(!f){l=w;return}h=f+-1|0;if(!(j+(h*192|0)|0)){l=w;return}q=b+64|0;r=b+72|0;f=c[r>>2]|0;g=(f|0)<1;t=b+28|0;f=g?1:f;g=c[(g?t:q)>>2]|0;i=f*3|0;k=i+1|0;m=B2(k)|0;if(!m){l=w;return}a[m>>0]=f;s6(m+1|0,j+(h*192|0)+(g*3|0)|0,i|0)|0;h=B2(k<<1|1)|0;if(h|0){f=0;g=h;while(1){c[o>>2]=d[m+f>>0];h3(g,86777,o)|0;i=a[g>>0]|0;j=g+1|0;a[g>>0]=a[j>>0]|0;a[j>>0]=i;f=f+1|0;if((f|0)==(k|0))break;else g=g+2|0}fi[c[c[40>>2]>>2]&511](h);C2(h)}C2(m);if(e){g=c[n>>2]|0;p=a[p>>0]&7;f=(c[u>>2]|0)*3|0;f=((d[f+2+(g+11520+(p*51|0))>>0]|0)<<16|((d[f+1+(g+11520+(p*51|0))>>0]|0)<<8|(d[g+11520+(p*51|0)+f>>0]|0)))>>>(((c[s>>2]|0)/8|0)*6|0)&63;if(f|0?(v=f+-1|0,g+(v*192|0)|0):0){u=c[r>>2]|0;s=(u|0)<1;u6(g+(v*192|0)+((c[(s?t:q)>>2]|0)*3|0)|0,0,(s?3:u*3|0)|0)|0}Ml(c[b+88>>2]|0)|0}c[b+52>>2]=-1;c[b+56>>2]=-1;v=b+60|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;l=w;return}function Bl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;p=c[b+4>>2]|0;o=a[b+8>>0]&7;e=(c[b+20>>2]|0)*3|0;e=((d[e+2+(p+11520+(o*51|0))>>0]|0)<<16|((d[e+1+(p+11520+(o*51|0))>>0]|0)<<8|(d[p+11520+(o*51|0)+e>>0]|0)))>>>(((c[b+24>>2]|0)/8|0)*6|0)&63;if(!e){l=q;return}k=e+-1|0;if(!(p+(k*192|0)|0)){l=q;return}if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0)){l=q;return}m=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!m){l=q;return}o=r4(m)|0;n=o>>>1;if(o>>>0>3){o=B2(n)|0;i=r4(m)|0;a[j>>0]=a[40384]|0;a[j+1>>0]=a[40385]|0;a[j+2>>0]=a[40386]|0;a[j+3>>0]=a[40387]|0;a[j+4>>0]=a[40388]|0;g=(i|0)/2|0;if((i|0)>1){h=j+3|0;i=j+2|0;e=m;f=0;while(1){a[h>>0]=a[e>>0]|0;a[i>>0]=a[e+1>>0]|0;a[o+f>>0]=X2(j)|0;f=f+1|0;if((f|0)>=(g|0))break;else e=e+2|0}}e=a[o>>0]|0;f=e&255;if((f*3|0)==(n+-1|0)){n=c[b+28>>2]|0;s6(p+(k*192|0)+(n*3|0)|0,o+1|0,(((n+f|0)>64?64-n&255:e)&255)*3|0)|0;Ml(c[b+88>>2]|0)|0}C2(o)}fi[c[(c[40>>2]|0)+12>>2]&511](m);l=q;return}function Cl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b+24|0;k=(c[j>>2]|0)/8|0;h=b+4|0;f=c[h>>2]|0;i=b+8|0;g=a[i>>0]&7;l=b+20|0;e=(c[l>>2]|0)*3|0;e=((d[e+2+(f+11520+(g*51|0))>>0]|0)<<16|((d[e+1+(f+11520+(g*51|0))>>0]|0)<<8|(d[f+11520+(g*51|0)+e>>0]|0)))>>>(k*6|0)&63;if(!e)return;e=e+-1|0;if(!(f+(e*192|0)|0))return;g=b+28|0;e=f+(e*192|0)+((c[g>>2]|0)*3|0)|0;e=(((d[e>>0]|d[e+1>>0]<<8)&65535|(d[e+2>>0]|0)<<16)&15)+-4|0;if((e|0)<=-1)return;f=b+36|0;if((c[f>>2]|0)==(e|0))return;c[f>>2]=e;f=c[b>>2]|0;li[c[f+1262748>>2]&511](f,k);b=c[b>>2]|0;h=c[h>>2]|0;i=a[i>>0]&7;l=(c[l>>2]|0)*3|0;l=h+(((((d[l+2+(h+11520+(i*51|0))>>0]|0)<<16|((d[l+1+(h+11520+(i*51|0))>>0]|0)<<8|(d[h+11520+(i*51|0)+l>>0]|0)))>>>(((c[j>>2]|0)/8|0)*6|0)&63)+-1|0)*192|0)+((c[g>>2]|0)*3|0)|0;l=(d[l>>0]|d[l+1>>0]<<8)&65535|(d[l+2>>0]|0)<<16;Ci[c[b+1262752>>2]&7](b,((l&16777215)>>>10&32|(l&16777215)>>>16&31)&16777215,e,(l&16777215)>>>21&16777215,-1,k,((l&16777215)>>>4&15^15)&16777215,0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;d=b+8|0;b=a[d>>0]|0;a[d>>0]=(b&255)+c&7|b&-8;return}function El(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;m=o;k=o+4|0;j=c[b>>2]|0;Xh[c[j+1262664>>2]&3](j,f,e,12,0,0)|0;j=c[b>>2]|0;Xh[c[j+1262664>>2]&3](j,f,e,11,15,0)|0;j=((r4(f)|0)*6|0)+e|0;e=c[2]|0;p=d[e+65412>>0]|0;f=a[e+65413>>0]|0;i=j+6|0;do if((f&255)<17&(((p|0)>=(i|0)|(p|0)<(j|0)|(f&255)<11)^1)){p=e+16379|0;a[p>>0]=a[p>>0]&-128|1;if((a[84]|0)!=0?(p=c[22]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)f=((c[23]|0)+-11|0)>>>0<6;else f=0;if(((((a[85]|0)!=0?(p=c[22]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)?((c[23]|0)+-11|0)>>>0<6:0)?(p=c[24]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)?((c[25]|0)+-11|0)>>>0<6:0){a[85]=0;si[h&127](b,-1,0);if(f)e=10;else{e=10;f=11;break}}else{e=10;n=11}if((n|0)==11)if(!f){f=11;break}f=12}else{e=3;f=11}while(0);Ri(j,f,88688,e);c[k>>2]=3750201;c[m>>2]=g;h3(k,88408,m)|0;j=c[b>>2]|0;Xh[c[j+1262668>>2]&3](j,k,i,12,0,0)|0;j=c[b>>2]|0;Xh[c[j+1262668>>2]&3](j,k,i,11,15,0)|0;j=i+((g|0)>99?18:12)|0;e=c[2]|0;f=d[e+65412>>0]|0;if((f|0)<(j|0)){p=3;n=11;Ri(j,n,88696,p);l=o;return}i=j+6|0;if(!((f|0)<(i|0)?((a[e+65413>>0]|0)+-11&255)<6:0)){p=3;n=11;Ri(j,n,88696,p);l=o;return}p=e+16379|0;a[p>>0]=a[p>>0]&-128|1;if((a[84]|0)!=0?(p=c[22]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)f=((c[23]|0)+-11|0)>>>0<6;else f=0;if(((((a[85]|0)!=0?(p=c[22]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)?((c[23]|0)+-11|0)>>>0<6:0)?(p=c[24]|0,(p|0)>=(j|0)&(p|0)<(i|0)):0)?((c[25]|0)+-11|0)>>>0<6:0){a[85]=0;si[h&127](b,1,0);if(f)e=10;else{p=10;n=11;Ri(j,n,88696,p);l=o;return}}else{e=10;n=24}if((n|0)==24)if(!f){p=e;n=11;Ri(j,n,88696,p);l=o;return}p=e;n=12;Ri(j,n,88696,p);l=o;return}function Fl(b,d,e){b=b|0;d=d|0;e=e|0;e=(c[b+4>>2]|0)+11520+((a[b+8>>0]&7)*51|0)+48|0;d=(a[e>>0]|0)+(d*10|0)|0;d=(d|0)<100?d:100;a[e>>0]=(d|0)>-110?d:-110;Ml(c[b+88>>2]|0)|0;return}function Gl(b,d,e){b=b|0;d=d|0;e=e|0;e=(c[b+4>>2]|0)+11520+((a[b+8>>0]&7)*51|0)+50|0;d=(a[e>>0]|0)+d|0;d=(d|0)<25?d:25;a[e>>0]=(d|0)>-5?d:-5;Ml(c[b+88>>2]|0)|0;return}function Hl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;f=c[b+4>>2]|0;g=b+8|0;h=f+11520+((a[g>>0]&7)*51|0)+49|0;i=(d[h>>0]|0)-e|0;i=(i|0)>0?i:0;a[h>>0]=(i|0)<48?i:48;h=b+28|0;i=c[h>>2]|0;k=b+32|0;e=c[k>>2]|0;if((i|0)>=(e|0)){if((i|0)>=(e+16|0)){e=i+-15|0;j=4}}else{e=i;j=4}if((j|0)==4)c[k>>2]=e;f=64-(d[f+11520+((a[g>>0]&7)*51|0)+49>>0]|0)|0;if((i|0)>=(f|0))c[h>>2]=f+-1;if((e|0)<0){c[k>>2]=0;e=0}f=f+-16|0;if((e|0)<=(f|0)){b=b+88|0;b=c[b>>2]|0;Ml(b)|0;return}c[k>>2]=f;b=b+88|0;b=c[b>>2]|0;Ml(b)|0;return}function Il(b){b=b|0;b=b+12|0;a[b>>0]=a[b>>0]^1;return}function Jl(b){b=b|0;var d=0;d=c[b>>2]|0;zi[c[d+1262764>>2]&31](d,a[b+8>>0]&7,c[b+20>>2]|0,-1,1);return}function Kl(b){b=b|0;var d=0;d=c[b>>2]|0;zi[c[d+1262760>>2]&31](d,a[b+8>>0]&7,-1,-1,1);return}function Ll(a){a=a|0;a=c[a>>2]|0;zi[c[a+1262760>>2]&31](a,-1,-1,-1,0);return}function Ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+8|0;h=c[l>>2]|0;n=b+12|0;e=c[n>>2]|0;m=b+4|0;f=c[m>>2]|0;if(!(f3(h,e,f)|0)){n=0;return n|0}a:do if(f){d=0;do{k=h+d|0;a[k>>0]=a[k>>0]^a[e+d>>0];d=d+1|0;h=c[l>>2]|0}while((d|0)!=(f|0));d=c[m>>2]|0;if(!d){d=0;g=0;e=0}else{e=0;while(1){if(a[h+e>>0]|0)break;e=e+1|0;if(e>>>0>=d>>>0){e=d;break}}f=0;while(1){g=d-f|0;f=f+1|0;if(a[h+(g+-1)>>0]|0)break a;if(f>>>0>=d>>>0){g=0;break}}}}else{d=0;g=0;e=0}while(0);i=g-e|0;f=B2(i)|0;s6(f|0,h+e|0,i|0)|0;i=c[b>>2]|0;k=B2(20)|0;c[k>>2]=0;j=k+4|0;c[j>>2]=0;c[k+8>>2]=f;c[k+12>>2]=e;c[k+16>>2]=g;if(!i)e=h;else{e=c[i>>2]|0;if(!e)e=h;else{d=e;do{e=d;d=c[d>>2]|0;f=c[e+8>>2]|0;if(f|0)C2(f);C2(e)}while((d|0)!=0);e=c[l>>2]|0;d=c[m>>2]|0}c[i>>2]=k;c[j>>2]=i}c[b>>2]=k;s6(e|0,c[n>>2]|0,d|0)|0;n=1;return n|0}function Nl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=l;l=l+64|0;z=B;A=b+8|0;g=c[A>>2]|0;if(!g){g=B2(16320)|0;c[A>>2]=g}c[b>>2]=e;c[b+4>>2]=f;c[A>>2]=g;c[b+12>>2]=198;u6(g|0,0,16320)|0;y=z+4|0;j=z+8|0;k=z+12|0;m=z+16|0;n=z+20|0;o=z+24|0;p=z+28|0;q=z+32|0;r=z+36|0;s=z+40|0;t=z+44|0;u=z+48|0;v=z+52|0;w=z+56|0;x=z+60|0;i=0;do{h=c[2]|0;e=a[h+81920+((a[180]|0)*131016|0)+16384+i>>0]|0;if(e<<24>>24){g=z;b=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(b|0));f=a[179]|0;b=e&255;g=0;do{C=d[(g>>>1)+(h+81920+(f*131016|0)+(b<<5))>>0]|0;C=g&1|0?C>>>4:C&15;e=z+(C<<2)|0;if(C|0)c[e>>2]=(c[e>>2]|0)+1;g=g+1|0}while((g|0)!=64);g=(c[y>>2]|0)>(c[z>>2]|0)&1;g=(c[j>>2]|0)>(c[z+(g<<2)>>2]|0)?2:g;g=(c[k>>2]|0)>(c[z+(g<<2)>>2]|0)?3:g;g=(c[m>>2]|0)>(c[z+(g<<2)>>2]|0)?4:g;g=(c[n>>2]|0)>(c[z+(g<<2)>>2]|0)?5:g;g=(c[o>>2]|0)>(c[z+(g<<2)>>2]|0)?6:g;g=(c[p>>2]|0)>(c[z+(g<<2)>>2]|0)?7:g;g=(c[q>>2]|0)>(c[z+(g<<2)>>2]|0)?8:g;g=(c[r>>2]|0)>(c[z+(g<<2)>>2]|0)?9:g;g=(c[s>>2]|0)>(c[z+(g<<2)>>2]|0)?10:g;g=(c[t>>2]|0)>(c[z+(g<<2)>>2]|0)?11:g;g=(c[u>>2]|0)>(c[z+(g<<2)>>2]|0)?12:g;g=(c[v>>2]|0)>(c[z+(g<<2)>>2]|0)?13:g;g=(c[w>>2]|0)>(c[z+(g<<2)>>2]|0)?14:g;g=(c[x>>2]|0)>(c[z+(g<<2)>>2]|0)?15:g;e=(c[A>>2]|0)+(i>>>1)|0;b=d[e>>0]|0;if(!(i&1)){b=b&240;a[e>>0]=b;g=g&15}else{b=b&15;a[e>>0]=b;g=g<<4&4080}a[e>>0]=g|b}i=i+1|0}while((i|0)!=32640);l=B;return}function Ol(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[2]|0;a:do if(Uh[c[g+1262808>>2]&63](g,49,20,3)|0){d=c[18]|0;b:do switch(d|0){case 5:break a;case 2:{g=c[2]|0;fi[c[g+1262788>>2]&511](g);g=c[2]|0;fi[c[g+1262784>>2]&511](g);break}default:{g=c[2]|0;fi[c[g+1262784>>2]&511](g);switch(d|0){case 10:case 9:case 1:case 0:break b;case 11:{c[19]=3;break b}default:{c[19]=d;break b}}}}while(0);c[18]=5}while(0);s6(c[b>>2]|0,c[b+8>>2]|0,16320)|0;f=c[b+4>>2]|0;g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,0,0,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,30,0,30,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,60,0,60,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,90,0,90,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,120,0,120,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,150,0,150,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,180,0,180,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,210,0,210,136,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,0,240,0,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,17,240,17,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,34,240,34,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,51,240,51,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,68,240,68,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,85,240,85,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,102,240,102,10);g=c[b>>2]|0;Ai[c[g+1262688>>2]&15](g,0,119,240,119,10);g=c[b>>2]|0;Ai[c[g+1262696>>2]&15](g,0,0,240,136,10);g=c[2]|0;d=a[g+65413>>0]|0;e=a[g+65412>>0]|0;c:do if((e&255)<240&(d&255)<136){h=g+16379|0;a[h>>0]=a[h>>0]&-128|1;if((a[84]|0)!=0&(c[22]|0)>>>0<240&(c[23]|0)>>>0<136){c[f+60>>2]=((e&255)<<3)+-120;c[f+64>>2]=((d&255)<<3)+-64}if((a[85]|0)!=0&(c[22]|0)>>>0<240?(c[23]|0)>>>0<136&(c[24]|0)>>>0<240&(c[25]|0)>>>0<136:0){a[85]=0;d=c[18]|0;d:do switch(d|0){case 5:break c;case 2:{fi[c[g+1262788>>2]&511](g);h=c[2]|0;fi[c[h+1262784>>2]&511](h);break}default:{fi[c[g+1262784>>2]&511](g);switch(d|0){case 10:case 9:case 1:case 0:break d;case 11:{c[19]=3;break d}default:{c[19]=d;break d}}}}while(0);c[18]=5}}while(0);h=c[b>>2]|0;Ai[c[h+1262696>>2]&15](h,(c[f+60>>2]|0)/8|0,(c[f+64>>2]|0)/8|0,31,18,6);return}function Pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+4096|0;b=e;s6(a+64|0,(c[a>>2]|0)+81920|0,1178692)|0;Rl(a);d=B2(1178692)|0;if(!d){Zi();l=e;return}f=Sh[c[(c[a>>2]|0)+1262816>>2]&255](a+64|0,d)|0;g=c[a+4>>2]|0;a=g+4096|0;x4(b,a)|0;u6(a|0,0,4096)|0;uk(g,92792,d,f,1)|0;x4(a,b)|0;C2(d);Zi();l=e;return}function Ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+4096|0;f=g;b=a+8|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));e=a+64|0;c[a+56>>2]=e;c[f>>2]=0;b=_i(f,88704,4088)|0;d=c[f>>2]|0;if(d|0){ti[c[(c[a>>2]|0)+1262812>>2]&63](e,d,b,1);Rl(a);Zi();C2(d)}b=B2(1178692)|0;if(!b){l=g;return}e=Sh[c[(c[a>>2]|0)+1262816>>2]&255](e,b)|0;d=c[a+4>>2]|0;a=d+4096|0;x4(f,a)|0;u6(a|0,0,4096)|0;uk(d,92792,b,e,1)|0;x4(a,f)|0;C2(b);l=g;return}function Rl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s;p=MA(1,0)|0;if(!p){l=s;return}r=p+12|0;c[(c[r>>2]|0)+132>>2]=387;n=b+65496|0;j=r4(n)|0;c[o>>2]=n;c[o+4>>2]=j;if(!(wz(p,6,o,n,0)|0)){n=p+8|0;e=(c[n>>2]|0)+-16|0;c[o>>2]=e;c[o+4>>2]=-1;e=Tz(p,151,o,e-(c[p+28>>2]|0)|0,0)|0;f=(c[p+16>>2]|0)+4|0;i=c[n>>2]|0;if((c[f>>2]|0)>>>0<i>>>0)c[f>>2]=i;if(!e){h=c[r>>2]|0;e=c[h+40>>2]|0;a:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(j=f+16|0,(c[j>>2]|0)==2&(c[j+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break a}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92817>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92817,e+16|0)|0){e=QA(p,92817,10)|0;c[f>>2]=e}c[i>>2]=e;c[i+8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;if((c[i+-8>>2]|0)==19)c[b+44>>2]=c[i+-16>>2];j=i+-16|0;c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;b:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(g=f+16|0,(c[g>>2]|0)==2&(c[g+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break b}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92828>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92828,e+16|0)|0){e=QA(p,92828,9)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;if((c[i+-8>>2]|0)==19)c[b+40>>2]=c[i+-16>>2];j=i+-16|0;c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;c:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(g=f+16|0,(c[g>>2]|0)==2&(c[g+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break c}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92838>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92838,e+16|0)|0){e=QA(p,92838,17)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;j=i+-16|0;if((j|0)!=412368?(k=c[i+-8>>2]|0,(k&15|0)==1):0){switch(k|0){case 0:{e=0;break}case 1:{e=(c[j>>2]|0)!=0;break}default:e=1}a[b+48>>0]=e&1}c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;d:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(k=f+16|0,(c[k>>2]|0)==2&(c[k+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break d}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92856>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92856,e+16|0)|0){e=QA(p,92856,8)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;j=i+-16|0;if((j|0)!=412368?(m=c[i+-8>>2]|0,(m&15|0)==1):0){switch(m|0){case 0:{e=0;break}case 1:{e=(c[j>>2]|0)!=0;break}default:e=1}a[b+49>>0]=e&1}c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;e:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(m=f+16|0,(c[m>>2]|0)==2&(c[m+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break e}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92865>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92865,e+16|0)|0){e=QA(p,92865,9)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;j=i+-16|0;do if((j|0)!=412368){e=c[i+-8>>2]|0;if((e&15|0)!=1)break;switch(e|0){case 0:{e=0;break}case 1:{e=(c[j>>2]|0)!=0;break}default:e=1}a[b+50>>0]=e&1}while(0);c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;f:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(m=f+16|0,(c[m>>2]|0)==2&(c[m+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break f}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92875>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92875,e+16|0)|0){e=QA(p,92875,11)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;j=i+-16|0;do if((j|0)!=412368){e=c[i+-8>>2]|0;if((e&15|0)!=1)break;switch(e|0){case 0:{e=0;break}case 1:{e=(c[j>>2]|0)!=0;break}default:e=1}a[b+51>>0]=e&1}while(0);c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;g:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(m=f+16|0,(c[m>>2]|0)==2&(c[m+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break g}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92887>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92887,e+16|0)|0){e=QA(p,92887,8)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;i=c[n>>2]|0;c[n>>2]=i+16;bB(p,g,i,i);i=c[n>>2]|0;if((c[i+-8>>2]|0)==19)c[b+60>>2]=c[i+-16>>2];j=i+-16|0;c[n>>2]=j;h=c[r>>2]|0;e=c[h+40>>2]|0;h:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(m=f+16|0,(c[m>>2]|0)==2&(c[m+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break h}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92896>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92896,e+16|0)|0){e=QA(p,92896,5)|0;c[f>>2]=e}c[j>>2]=e;c[i+-8>>2]=(a[e+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,g,e,e);e=c[n>>2]|0;h=e+-16|0;do if((h|0)!=412368){if((c[e+-8>>2]&15|0)!=5)break;g=(c[r>>2]|0)+280+(((92902>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92902,f+16|0)|0){f=QA(p,92902,6)|0;c[g>>2]=f}c[e>>2]=f;c[e+8>>2]=(a[f+4>>0]|64)&255;g=c[n>>2]|0;c[n>>2]=g+16;bB(p,h,g,g);g=c[n>>2]|0;h=g+-16|0;do if((h|0)==412368)f=g;else{if((c[g+-8>>2]&15|0)!=5){f=g;break}f=(c[r>>2]|0)+280+(((92909>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92909,e+16|0)|0){e=QA(p,92909,5)|0;c[f>>2]=e}c[g>>2]=e;c[g+8>>2]=(a[e+4>>0]|64)&255;g=c[n>>2]|0;c[n>>2]=g+16;bB(p,h,g,g);g=c[n>>2]|0;if((c[g+-8>>2]|0)==19)c[b+8>>2]=c[g+-16>>2];h=g+-16|0;c[n>>2]=h;f=(c[r>>2]|0)+280+(((92915>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92915,e+16|0)|0){e=QA(p,92915,4)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;m=c[n>>2]|0;c[n>>2]=m+16;bB(p,g+-32|0,m,m);g=c[n>>2]|0;if((c[g+-8>>2]|0)==19)c[b+12>>2]=c[g+-16>>2];h=g+-16|0;c[n>>2]=h;f=(c[r>>2]|0)+280+(((92920>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92920,e+16|0)|0){e=QA(p,92920,5)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;m=c[n>>2]|0;c[n>>2]=m+16;bB(p,g+-32|0,m,m);g=c[n>>2]|0;if((c[g+-8>>2]|0)==19)c[b+16>>2]=c[g+-16>>2];h=g+-16|0;c[n>>2]=h;f=(c[r>>2]|0)+280+(((92926>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92926,e+16|0)|0){e=QA(p,92926,13)|0;c[f>>2]=e}c[h>>2]=e;c[g+-8>>2]=(a[e+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,g+-32|0,e,e);e=c[n>>2]|0;f=e+-16|0;do if((f|0)!=412368){e=c[e+-8>>2]|0;if((e&15|0)!=1)break;switch(e|0){case 0:{e=0;break}case 1:{e=(c[f>>2]|0)!=0;break}default:e=1}a[b+20>>0]=e&1}while(0);c[n>>2]=f}while(0);h=f+-16|0;c[n>>2]=h;g=(c[r>>2]|0)+280+(((92940>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(92940,e+16|0)|0){e=QA(p,92940,4)|0;c[g>>2]=e}c[h>>2]=e;c[f+-8>>2]=(a[e+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,f+-32|0,e,e);e=c[n>>2]|0;do if((e+-16|0)==412368)f=e;else{if((c[e+-8>>2]&15|0)!=5){f=e;break}j=b+24|0;i=0;do{g=c[1808+(i<<2)>>2]|0;h=(c[r>>2]|0)+280+(((g>>>0)%127|0)<<2)|0;f=c[h>>2]|0;if(e3(g,f+16|0)|0){f=QA(p,g,r4(g)|0)|0;c[h>>2]=f}c[e>>2]=f;c[e+8>>2]=(a[f+4>>0]|64)&255;m=c[n>>2]|0;c[n>>2]=m+16;bB(p,e+-16|0,m,m);e=c[n>>2]|0;if((c[e+-8>>2]|0)==19){a[j+i>>0]=c[e+-16>>2];h=c[n>>2]|0}else h=e;e=h+-16|0;c[n>>2]=e;i=i+1|0}while((i|0)!=8);i=b+32|0;g=(c[r>>2]|0)+280+(((92945>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92945,f+16|0)|0){f=QA(p,92945,2)|0;c[g>>2]=f}c[e>>2]=f;c[h+-8>>2]=(a[f+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,h+-32|0,e,e);e=c[n>>2]|0;if((c[e+-8>>2]|0)==19){a[i>>0]=c[e+-16>>2];e=c[n>>2]|0}h=e+-16|0;c[n>>2]=h;g=(c[r>>2]|0)+280+(((92948>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92948,f+16|0)|0){f=QA(p,92948,6)|0;c[g>>2]=f}c[h>>2]=f;c[e+-8>>2]=(a[f+4>>0]|64)&255;m=c[n>>2]|0;c[n>>2]=m+16;bB(p,e+-32|0,m,m);e=c[n>>2]|0;if((c[e+-8>>2]|0)==19){a[i+1>>0]=c[e+-16>>2];e=c[n>>2]|0}h=e+-16|0;c[n>>2]=h;g=(c[r>>2]|0)+280+(((92902>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92902,f+16|0)|0){f=QA(p,92902,6)|0;c[g>>2]=f}c[h>>2]=f;c[e+-8>>2]=(a[f+4>>0]|64)&255;m=c[n>>2]|0;c[n>>2]=m+16;bB(p,e+-32|0,m,m);e=c[n>>2]|0;if((c[e+-8>>2]|0)==19){a[i+2>>0]=c[e+-16>>2];e=c[n>>2]|0}h=e+-16|0;c[n>>2]=h;g=(c[r>>2]|0)+280+(((92964>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92964,f+16|0)|0){f=QA(p,92964,6)|0;c[g>>2]=f}c[h>>2]=f;c[e+-8>>2]=(a[f+4>>0]|64)&255;h=c[n>>2]|0;c[n>>2]=h+16;bB(p,e+-32|0,h,h);h=c[n>>2]|0;g=h+-16|0;do if((g|0)!=412368){e=c[h+-8>>2]|0;if((e&15|0)!=1)break;switch(e|0){case 0:{e=0;break}case 1:{e=(c[g>>2]|0)!=0;break}default:e=1}a[b+35>>0]=e&1}while(0);c[n>>2]=g;f=(c[r>>2]|0)+280+(((92955>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92955,e+16|0)|0){e=QA(p,92955,8)|0;c[f>>2]=e}c[g>>2]=e;c[h+-8>>2]=(a[e+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,h+-32|0,e,e);e=c[n>>2]|0;f=e+-16|0;do if((f|0)!=412368){e=c[e+-8>>2]|0;if((e&15|0)!=1)break;switch(e|0){case 0:{e=0;break}case 1:{e=(c[f>>2]|0)!=0;break}default:e=1}a[b+36>>0]=e&1}while(0);c[n>>2]=f}while(0);h=f+-16|0;c[n>>2]=h;g=(c[r>>2]|0)+280+(((92971>>>0)%127|0)<<2)|0;e=c[g>>2]|0;if(e3(92971,e+16|0)|0){e=QA(p,92971,7)|0;c[g>>2]=e}c[h>>2]=e;c[f+-8>>2]=(a[e+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,f+-32|0,e,e);e=c[n>>2]|0;h=e+-16|0;do if((h|0)!=412368){if((c[e+-8>>2]&15|0)!=5)break;g=(c[r>>2]|0)+280+(((92979>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92979,f+16|0)|0){f=QA(p,92979,5)|0;c[g>>2]=f}c[e>>2]=f;c[e+8>>2]=(a[f+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,h,e,e);e=c[n>>2]|0;h=e+-16|0;do if((h|0)!=412368){if((c[e+-8>>2]&15|0)!=5)break;g=(c[r>>2]|0)+280+(((92985>>>0)%127|0)<<2)|0;f=c[g>>2]|0;if(e3(92985,f+16|0)|0){f=QA(p,92985,5)|0;c[g>>2]=f}c[e>>2]=f;c[e+8>>2]=(a[f+4>>0]|64)&255;e=c[n>>2]|0;c[n>>2]=e+16;bB(p,h,e,e);e=c[n>>2]|0;if((c[e+-8>>2]|0)==19)a[b+37>>0]=c[e+-16>>2];e=e+-16|0;c[n>>2]=e}while(0);e=e+-16|0;c[n>>2]=e}while(0);e=e+-16|0;c[n>>2]=e}while(0);c[n>>2]=e+-16}}n=b+196512|0;m=r4(n)|0;c[o>>2]=n;c[o+4>>2]=m;if(!(wz(p,6,o,n,0)|0)){j=p+8|0;e=(c[j>>2]|0)+-16|0;c[o>>2]=e;c[o+4>>2]=-1;e=Tz(p,151,o,e-(c[p+28>>2]|0)|0,0)|0;f=(c[p+16>>2]|0)+4|0;i=c[j>>2]|0;if((c[f>>2]|0)>>>0<i>>>0)c[f>>2]=i;if(!e){h=c[r>>2]|0;e=c[h+40>>2]|0;i:do if((c[e+8>>2]|0)>>>0>1)g=(c[e+12>>2]|0)+16|0;else{f=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+3&2)<<5)|0;while(1){if((c[f+24>>2]|0)==19?(o=f+16|0,(c[o>>2]|0)==2&(c[o+4>>2]|0)==0):0)break;e=c[f+28>>2]|0;if(!e){g=412368;break i}f=f+(e<<5)|0}g=f}while(0);f=h+280+(((92991>>>0)%127|0)<<2)|0;e=c[f>>2]|0;if(e3(92991,e+16|0)|0){e=QA(p,92991,10)|0;c[f>>2]=e}c[i>>2]=e;c[i+8>>2]=(a[e+4>>0]|64)&255;e=c[j>>2]|0;c[j>>2]=e+16;bB(p,g,e,e);e=c[j>>2]|0;f=c[e+-8>>2]|0;if(((f&15)+-3|0)>>>0<2){h=b+52|0;g=c[h>>2]|0;if(!g){e=B2(65536)|0;if(e|0?c[e+-4>>2]&3|0:0)u6(e|0,0,65536)|0;c[h>>2]=e;f=c[j>>2]|0;g=e;e=f;f=c[f+-8>>2]|0}switch(f&15){case 4:{e=e+-16|0;q=246;break}case 3:{if((c[(c[r>>2]|0)+12>>2]|0)>0){jA(p);e=c[j>>2]|0}e=e+-16|0;oA(p,e);q=246;break}default:e=0}if((q|0)==246)e=(c[e>>2]|0)+16|0;x4(g,e)|0;e=c[j>>2]|0}c[j>>2]=e+-16}}OA(c[(c[r>>2]|0)+136>>2]|0);l=s;return}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+65708|0;if(!(c[f>>2]|0))c[f>>2]=B2(880)|0;k=b+65648|0;i=c[k>>2]|0;if(i|0){C2(c[i+8>>2]|0);f=c[i>>2]|0;while(1){g=c[f+4>>2]|0;if(!g)break;else f=g}if(f|0)do{g=f;f=c[f>>2]|0;h=c[g+8>>2]|0;if(h|0)C2(h);C2(g)}while((f|0)!=0);C2(i)}j=b+65652|0;i=c[j>>2]|0;if(i|0){C2(c[i+8>>2]|0);f=c[i>>2]|0;while(1){g=c[f+4>>2]|0;if(!g)break;else f=g}if(f|0)do{g=f;f=c[f>>2]|0;h=c[g+8>>2]|0;if(h|0)C2(h);C2(g)}while((f|0)!=0);C2(i)}f=a[(c[80]|0)+36>>0]|0;c[b>>2]=d;d=b+4|0;c[d>>2]=e;c[b+8>>2]=e;h=b+12|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[b+32>>2]=8;c[b+36>>2]=240;c[b+40>>2]=122;u6(b+44|0,0,65612)|0;c[b+65656>>2]=1;h=b+65660|0;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[b+65704>>2]=-1;c[b+65712>>2]=0;a[b+65716>>0]=f;g=b+65717|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;c[b+65720>>2]=199;c[b+65724>>2]=200;c[b+65728>>2]=174;c[b+65732>>2]=201;g=B2(16)|0;c[g+12>>2]=e;c[g+4>>2]=65536;f=B2(65536)|0;c[g+8>>2]=f;s6(f|0,e|0,65536)|0;f=B2(20)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[g>>2]=f;c[k>>2]=g;g=b+8|0;f=B2(16)|0;c[f+12>>2]=g;c[f+4>>2]=20;h=B2(20)|0;c[f+8>>2]=h;i=h+20|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(i|0));h=B2(20)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[f>>2]=h;c[j>>2]=f;Xl(b);h=b+64|0;u6(h|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;g=c[f+24>>2]|0;if(!g)return;ti[g&63](f,c[d>>2]|0,h,(c[80]|0)+24|0);return}function Tl(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+16|0;S=Y+4|0;B=Y;y=Y+8|0;f=e+24|0;g=c[f>>2]|0;if(g|0)c[f>>2]=g+-1;U=e+65656|0;a:do switch(c[U>>2]|0){case 0:{f=c[2]|0;fi[c[f+1262784>>2]&511](f);f=c[18]|0;switch(f|0){case 2:{_j(c[78]|0,c[77]|0,c[2]|0);break a}case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}default:c[19]=f}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;break}case 1:{s=c[e>>2]|0;f=(b[s+65414>>1]<<1&65535)<<16>>16>>10;do if(f<<16>>16){j=e+48|0;i=(c[j>>2]|0)+(f<<16>>16>0?-3:3)|0;c[j>>2]=i;f=e+44|0;if((c[f>>2]|0)<0)c[f>>2]=0;if((i|0)>=0){g=c[e+4>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24))f=0;else{f=0;do{g=g+1|0;f=(h<<24>>24==10&1)+f|0;h=a[g>>0]|0}while(h<<24>>24!=0)}if((i|0)<=(f|0))break}else f=0;c[j>>2]=f}while(0);if(!(c[s+65416>>2]|0))f=s+1262804|0;else{switch(Si()|0){case 1:{Yl(e);break}case 2:{f=c[e+8>>2]|0;h=c[e+12>>2]|0;b:do if((h|0)==0|(h|0)==(f|0)){g=c[e+4>>2]|0;if(g>>>0<f>>>0){h=g;do{y=h;h=h+1|0;g=(a[y>>0]|0)==10?h:g}while((h|0)!=(f|0))}do{h=a[f>>0]|0;if(!(h<<24>>24))break b;f=f+1|0}while(h<<24>>24!=10)}else{g=h>>>0<f>>>0?h:f;f=h>>>0>f>>>0?h:f}while(0);f=f-g|0;h=B2(f+1|0)|0;if(h|0){s6(h|0,g|0,f|0)|0;a[h+f>>0]=0;fi[c[c[40>>2]>>2]&511](h);C2(h)}break}case 3:{Zl(e);break}default:{}}f=s+1262804|0;i=Sh[c[f>>2]&255](s,64)|0;j=Sh[c[f>>2]&255](s,63)|0;k=Sh[c[f>>2]&255](s,65)|0;y=c[2]|0;if(!(((((((!(Uh[c[y+1262808>>2]&63](y,58,20,3)|0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,59,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,60,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,61,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,56,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,57,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,54,20,3)|0)):0)?(y=c[2]|0,!(Uh[c[y+1262808>>2]&63](y,55,20,3)|0)):0))T=39;do if((T|0)==39){g=e+12|0;if(!i){c[g>>2]=0;break}if(!(c[g>>2]|0))c[g>>2]=c[e+8>>2]}while(0);g=c[2]|0;h=c[g+1262808>>2]|0;c:do if(j){do if(!(Uh[h&63](g,60,20,3)|0)){S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,61,20,3)|0){$l(e);break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,49,20,3)|0)am(e,i,1)}else _l(e);while(0);S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,1,20,3)|0){S=c[e+4>>2]|0;c[e+12>>2]=S;c[e+8>>2]=S+(r4(S)|0);break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,26,20,3)|0){m=c[e+65648>>2]|0;g=c[m>>2]|0;if(c[g+4>>2]|0){h=c[g+12>>2]|0;k=g+16|0;if(h>>>0<(c[k>>2]|0)>>>0){i=g+8|0;j=m+8|0;g=h;h=0;while(1){S=(c[j>>2]|0)+g|0;a[S>>0]=a[S>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[k>>2]|0)>>>0)break;else h=h+1|0}g=c[m>>2]|0}c[m>>2]=c[g+4>>2]}s6(c[m+12>>2]|0,c[m+8>>2]|0,c[m+4>>2]|0)|0;m=c[e+65652>>2]|0;g=c[m>>2]|0;if(c[g+4>>2]|0){h=c[g+12>>2]|0;k=g+16|0;if(h>>>0<(c[k>>2]|0)>>>0){i=g+8|0;j=m+8|0;g=h;h=0;while(1){S=(c[j>>2]|0)+g|0;a[S>>0]=a[S>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[k>>2]|0)>>>0)break;else h=h+1|0}g=c[m>>2]|0}c[m>>2]=c[g+4>>2]}s6(c[m+12>>2]|0,c[m+8>>2]|0,c[m+4>>2]|0)|0;Xl(e);g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,25,20,3)|0){k=c[e+65648>>2]|0;g=c[c[k>>2]>>2]|0;if(g|0?(c[k>>2]=g,m=c[g+12>>2]|0,p=g+16|0,m>>>0<(c[p>>2]|0)>>>0):0){i=g+8|0;j=k+8|0;g=m;h=0;while(1){S=(c[j>>2]|0)+g|0;a[S>>0]=a[S>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[p>>2]|0)>>>0)break;else h=h+1|0}}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0;k=c[e+65652>>2]|0;g=c[c[k>>2]>>2]|0;if(g|0?(c[k>>2]=g,r=c[g+12>>2]|0,t=g+16|0,r>>>0<(c[t>>2]|0)>>>0):0){i=g+8|0;j=k+8|0;g=r;h=0;while(1){S=(c[j>>2]|0)+g|0;a[S>>0]=a[S>>0]^a[(c[i>>2]|0)+h>>0];g=g+1|0;if(g>>>0>=(c[t>>2]|0)>>>0)break;else h=h+1|0}}s6(c[k+12>>2]|0,c[k+8>>2]|0,c[k+4>>2]|0)|0;Xl(e);g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,6,20,3)|0){if((c[U>>2]|0)==2)break;g=e+65660|0;a[g>>0]=0;j=c[e+8>>2]|0;c[e+65696>>2]=j;h=e+12|0;S=c[h>>2]|0;c[e+65700>>2]=S;i=S;if(S|0?(o=e+8|0,n=c[(j>>>0<i>>>0?o:h)>>2]|0,o=(c[(j>>>0>i>>>0?o:h)>>2]|0)-n|0,(o+-1|0)>>>0<32):0){u6(e+65660+o|0,0,34-o|0)|0;s6(g|0,n|0,o|0)|0}c[U>>2]=2;break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,7,20,3)|0){if((c[U>>2]|0)==3)break;a[e+65660>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[e+12>>2];c[e+65704>>2]=-1;c[U>>2]=3;break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,15,20,3)|0){if((c[U>>2]|0)==4)break;a[e+65660>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[e+12>>2];bm(e);c[U>>2]=4;break}S=c[2]|0;if(!(Uh[c[S+1262808>>2]&63](S,47,20,3)|0)){S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,56,20,3)|0){c[e+8>>2]=c[e+4>>2];c[e+16>>2]=0;break}S=c[2]|0;if(!(Uh[c[S+1262808>>2]&63](S,57,20,3)|0))break;g=c[e+4>>2]|0;S=r4(g)|0;i=g+S|0;c[e+8>>2]=i;j=i;if((S|0)>0){h=g;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((h|0)!=(i|0))}c[e+16>>2]=j-g;break}n=c[e>>2]|0;n=c[(Rh[c[n+1262832>>2]&511](n)|0)+48>>2]|0;p=r4(n)|0;q=e+4|0;m=c[q>>2]|0;o=e+8|0;i=c[o>>2]|0;if(m>>>0<i>>>0){h=m;g=m;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((h|0)!=(i|0))}else g=m;k=a[g>>0]|0;i=k<<24>>24==10;if(k<<24>>24!=0&(i^1)){j=g;h=0;do{j=i?j:j+1|0;h=h+1|0;S=a[j>>0]|0;i=S<<24>>24==10}while(S<<24>>24!=0&(i^1))}else h=0;i=g+h|0;h=g;g=k;d:while(1){switch(g<<24>>24){case 9:case 32:break;default:break d}if(h>>>0>=i>>>0)break;g=h+1|0;h=g;g=a[g>>0]|0}do if(!(f3(h,n,p)|0)){S=h+p|0;t6(h|0,S|0,(r4(S)|0)+1|0)|0;g=c[o>>2]|0;if(g>>>0<=S>>>0)break;c[o>>2]=g+(0-p)}else{if(((r4(m)|0)+p|0)>>>0>65535)break c;t6(h+p|0,h|0,(r4(h)|0)+1|0)|0;s6(h|0,n|0,p|0)|0;g=c[o>>2]|0;if(g>>>0<=h>>>0)break;c[o>>2]=g+p}while(0);c[e+12>>2]=0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[q>>2]|0,g,(c[80]|0)+24|0)}else{if(k){if(Uh[h&63](g,60,20,3)|0){_l(e);break}S=c[2]|0;if(!(Uh[c[S+1262808>>2]&63](S,61,20,3)|0))break;$l(e);break}if(Uh[h&63](g,58,20,3)|0){g=c[e+4>>2]|0;o=e+8|0;n=c[o>>2]|0;if(g>>>0<n>>>0){h=g;i=g;j=g;while(1){k=i+1|0;m=(a[i>>0]|0)==10;g=m?j:h;if((k|0)==(n|0)){j=g;break}else{h=g;i=k;j=m?k:j}}}else j=g;S=a[j>>0]|0;h=S<<24>>24==10;if(S<<24>>24!=0&(h^1)){i=j;g=0;do{i=h?i:i+1|0;g=g+1|0;S=a[i>>0]|0;h=S<<24>>24==10}while(S<<24>>24!=0&(h^1))}else g=0;S=c[e+16>>2]|0;c[o>>2]=j+(g>>>0>S>>>0?S:g);break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,59,20,3)|0){k=e+8|0;g=c[k>>2]|0;while(1){h=a[g>>0]|0;if(!(h<<24>>24)){h=0;break}g=g+1|0;if(h<<24>>24==10){T=130;break}}if((T|0)==130){S=a[g>>0]|0;i=S<<24>>24==10;if(S<<24>>24!=0&(i^1)){j=g;h=0;do{j=i?j:j+1|0;h=h+1|0;S=a[j>>0]|0;i=S<<24>>24==10}while(S<<24>>24!=0&(i^1))}else h=0}S=c[e+16>>2]|0;c[k>>2]=g+(h>>>0>S>>>0?S:h);break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,60,20,3)|0){g=c[e+4>>2]|0;i=e+8|0;h=c[i>>2]|0;if(h>>>0<=g>>>0)break;j=h+-1|0;c[i>>2]=j;i=j;if(g>>>0<j>>>0){h=g;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((h|0)!=(j|0))}c[e+16>>2]=i-g;break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,61,20,3)|0){g=e+8|0;i=c[g>>2]|0;if(!(a[i>>0]|0))break;S=i+1|0;c[g>>2]=S;j=S;g=c[e+4>>2]|0;if(g>>>0<S>>>0){h=g;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((S|0)!=(i|0))}c[e+16>>2]=j-g;break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,56,20,3)|0){g=c[e+4>>2]|0;k=e+8|0;j=c[k>>2]|0;if(g>>>0<j>>>0){i=g;h=g;do{S=i;i=i+1|0;h=(a[S>>0]|0)==10?i:h}while((i|0)!=(j|0))}else h=g;c[k>>2]=h;j=h;if(g>>>0<h>>>0){i=g;do{S=i;i=i+1|0;g=(a[S>>0]|0)==10?i:g}while((i|0)!=(h|0))}c[e+16>>2]=j-g;break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,57,20,3)|0){g=c[e+4>>2]|0;m=e+8|0;j=c[m>>2]|0;if(g>>>0<j>>>0){i=g;h=g;do{S=i;i=i+1|0;h=(a[S>>0]|0)==10?i:h}while((i|0)!=(j|0));k=h}else k=g;S=a[k>>0]|0;i=S<<24>>24==10;if(S<<24>>24!=0&(i^1)){j=k;h=0;do{j=i?j:j+1|0;h=h+1|0;S=a[j>>0]|0;i=S<<24>>24==10}while(S<<24>>24!=0&(i^1))}else h=0;i=k+h|0;c[m>>2]=i;j=i;if(g>>>0<i>>>0){h=g;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((h|0)!=(i|0))}c[e+16>>2]=j-g;break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,54,20,3)|0){c[S>>2]=0;c[B>>2]=0;g=c[e+4>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24)){h=0;g=0}else{j=c[e+8>>2]|0;i=g;g=h;do{if((j|0)==(i|0))break;if(g<<24>>24==10){c[S>>2]=0;g=B}else g=S;c[g>>2]=(c[g>>2]|0)+1;i=i+1|0;g=a[i>>0]|0}while(g<<24>>24!=0);h=c[B>>2]|0;g=c[S>>2]|0}cm(e,g,(h|0)>17?h+-17|0:0);break}y=c[2]|0;if(Uh[c[y+1262808>>2]&63](y,55,20,3)|0){c[S>>2]=0;c[B>>2]=0;i=c[e+4>>2]|0;h=a[i>>0]|0;if(!(h<<24>>24)){i=0;h=0;g=0}else{k=c[e+8>>2]|0;j=i;g=h;while(1){if((k|0)==(j|0)){g=0;break}if(g<<24>>24==10){c[S>>2]=0;g=B}else g=S;c[g>>2]=(c[g>>2]|0)+1;j=j+1|0;g=a[j>>0]|0;if(!(g<<24>>24)){g=0;break}}do{i=i+1|0;g=(h<<24>>24==10&1)+g|0;h=a[i>>0]|0}while(h<<24>>24!=0);i=c[B>>2]|0;h=c[S>>2]|0}cm(e,h,(i|0)<(g+-17|0)?i+17|0:g);break}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,52,20,3)|0){g=e+8|0;h=c[g>>2]|0;i=e+12|0;j=c[i>>2]|0;if((j|0)==0|(j|0)==(h|0)){t6(h|0,h+1|0,r4(h)|0)|0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}else{S=j>>>0<h>>>0?j:h;B=j>>>0>h>>>0?j:h;t6(S|0,B|0,(r4(B)|0)+1|0)|0;c[g>>2]=S;c[i>>2]=0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}}S=c[2]|0;if(Uh[c[S+1262808>>2]&63](S,51,20,3)|0){i=e+8|0;j=c[i>>2]|0;g=e+12|0;h=c[g>>2]|0;if(!((h|0)==0|(h|0)==(j|0))){S=h>>>0<j>>>0?h:j;B=h>>>0>j>>>0?h:j;t6(S|0,B|0,(r4(B)|0)+1|0)|0;c[i>>2]=S;c[g>>2]=0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}k=e+4|0;if(j>>>0<=(c[k>>2]|0)>>>0)break;S=j+-1|0;c[i>>2]=S;t6(S|0,j|0,r4(S)|0)|0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[k>>2]|0,g,(c[80]|0)+24|0);break}S=c[2]|0;if(!(Uh[c[S+1262808>>2]&63](S,50,20,3)|0)){S=c[2]|0;if(!(Uh[c[S+1262808>>2]&63](S,49,20,3)|0))break;am(e,i,0);break}g=e+8|0;j=c[g>>2]|0;h=e+12|0;i=c[h>>2]|0;if(!((i|0)==0|(i|0)==(j|0))){S=i>>>0<j>>>0?i:j;B=i>>>0>j>>>0?i:j;t6(S|0,B|0,(r4(B)|0)+1|0)|0;c[g>>2]=S;c[h>>2]=0;if(Ml(c[e+65648>>2]|0)|0)Ml(c[e+65652>>2]|0)|0;g=e+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;h=c[e>>2]|0;h=Rh[c[h+1262832>>2]&511](h)|0;i=c[h+24>>2]|0;if(!i)break;ti[i&63](h,c[e+4>>2]|0,g,(c[80]|0)+24|0);break}g=c[e+4>>2]|0;if(g>>>0<j>>>0){h=g;do{S=h;h=h+1|0;g=(a[S>>0]|0)==10?h:g}while((h|0)!=(j|0));h=0}else h=0;e:while(1){switch(a[g>>0]|0){case 9:case 32:break;default:break e}h=h+1|0;g=g+1|0}h=(g>>>0>j>>>0?j-g|0:0)+h|0;dm(e,10);if(!h)break;else g=0;do{dm(e,9);g=g+1|0}while((g|0)!=(h|0))}while(0);Xl(e)}if((!(Sh[c[f>>2]&255](s,63)|0)?!(Sh[c[f>>2]&255](s,65)|0):0)?(z=a[s+65420>>0]|0,z<<24>>24):0){dm(e,z);Xl(e)}j=c[e>>2]|0;f=c[2]|0;k=d[f+65412>>0]|0;m=d[f+65413>>0]|0;n=e+28|0;g=c[n>>2]|0;do if((((k|0)>=(g|0)?(K=e+36|0,(k|0)<((c[K>>2]|0)+g|0)):0)?(L=e+32|0,A=c[L>>2]|0,(m|0)>=(A|0)):0)?(M=e+40|0,(m|0)<((c[M>>2]|0)+A|0)):0){h=f+16379|0;a[h>>0]=a[h>>0]&-128|2;h=e+44|0;i=e+60|0;if(a[i>>0]|0){if((((a[124]|0?(C=c[32]|0,D=c[n>>2]|0,(C|0)>=(D|0)):0)?(C|0)<((c[K>>2]|0)+D|0):0)?(E=c[33]|0,F=c[L>>2]|0,(E|0)>=(F|0)):0)?(E|0)<((c[M>>2]|0)+F|0):0){S=((c[e+52>>2]|0)-k|0)/((a[e+65716>>0]|0?4:6)|0)|0;c[h>>2]=S;f=(c[e+56>>2]|0)-m|0;i=(f|0)/7|0;j=e+48|0;c[j>>2]=i;if((S|0)<0)c[e+44>>2]=0;if((f|0)>=-6){g=c[e+4>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24))f=0;else{f=0;do{g=g+1|0;f=(h<<24>>24==10&1)+f|0;h=a[g>>0]|0}while(h<<24>>24!=0)}if((i|0)<=(f|0))break}else f=0;c[j>>2]=f;break}a[i>>0]=0;break}do if(((((a[84]|0)!=0?(G=c[22]|0,I=c[n>>2]|0,(G|0)>=(I|0)):0)?(G|0)<((c[K>>2]|0)+I|0):0)?(H=c[23]|0,J=c[L>>2]|0,(H|0)>=(J|0)):0)?(H|0)<((c[M>>2]|0)+J|0):0){g=e+8|0;f=c[g>>2]|0;cm(e,(c[h>>2]|0)+((k-I|0)/((a[e+65716>>0]|0?4:6)|0)|0)|0,(c[e+48>>2]|0)+((m-J|0)/7|0)|0);if(Sh[c[j+1262804>>2]&255](j,64)|0){c[e+12>>2]=c[g>>2];c[g>>2]=f;break}f=e+20|0;if(!(c[f>>2]|0)){S=c[g>>2]|0;c[e+12>>2]=S;c[f>>2]=S}}else T=243;while(0);if((T|0)==243){f=e+20|0;if((c[f>>2]|0)==(c[e+8>>2]|0))c[e+12>>2]=0;c[f>>2]=0}if((((a[124]|0?(N=c[32]|0,P=c[n>>2]|0,(N|0)>=(P|0)):0)?(N|0)<((c[K>>2]|0)+P|0):0)?(Q=c[33]|0,R=c[L>>2]|0,(Q|0)>=(R|0)):0)?(Q|0)<((c[M>>2]|0)+R|0):0){a[i>>0]=1;S=c[2]|0;c[e+52>>2]=(O(a[e+65716>>0]|0?4:6,c[h>>2]|0)|0)+(d[S+65412>>0]|0);c[e+56>>2]=((c[e+48>>2]|0)*7|0)+(d[S+65413>>0]|0)}}while(0);S=c[e>>2]|0;li[c[S+1262676>>2]&511](S,a[(c[80]|0)+32>>0]|0);em(e,1);S=c[e>>2]|0;Ai[c[S+1262692>>2]&15](S,0,129,240,7,15);S=c[e>>2]|0;Xh[c[S+1262668>>2]&3](S,e+65600|0,0,130,a[(c[80]|0)+32>>0]|0,0)|0;break}case 2:{n=c[e>>2]|0;R=c[2]|0;do if(Uh[c[R+1262808>>2]&63](R,50,20,3)|0){if((c[U>>2]|0)!=1){a[e+65660>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[e+12>>2];c[U>>2]=1}}else{R=c[2]|0;if(((!(Uh[c[R+1262808>>2]&63](R,58,20,3)|0)?(R=c[2]|0,!(Uh[c[R+1262808>>2]&63](R,59,20,3)|0)):0)?(R=c[2]|0,!(Uh[c[R+1262808>>2]&63](R,60,20,3)|0)):0)?(R=c[2]|0,!(Uh[c[R+1262808>>2]&63](R,61,20,3)|0)):0){R=c[2]|0;if(!(Uh[c[R+1262808>>2]&63](R,51,20,3)|0))break;f=e+65660|0;if(!(a[f>>0]|0))break;a[(r4(f)|0)+-1+(e+65660)>>0]=0;i=c[e+4>>2]|0;j=m5(i,f)|0;if(!j)break;c[e+8>>2]=j;c[e+12>>2]=j+(r4(f)|0);c[S>>2]=0;c[B>>2]=0;f=a[i>>0]|0;if(!(f<<24>>24)){j=-8;f=0}else{g=i;do{if((j|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);j=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;k=e+48|0;c[k>>2]=j;if((R|0)<0)c[f>>2]=0;if((j|0)>=0){g=a[i>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{i=i+1|0;f=(g<<24>>24==10&1)+f|0;g=a[i>>0]|0}while(g<<24>>24!=0)}if((j|0)>(f|0))T=293}else{f=0;T=293}if((T|0)==293)c[k>>2]=f;Xl(e);break}k=e+65660|0;if(a[k>>0]|0){R=c[2]|0;if(Uh[c[R+1262808>>2]&63](R,58,20,3)|0)f=1;else{f=c[2]|0;f=Uh[c[f+1262808>>2]&63](f,60,20,3)|0}g=e+8|0;R=c[g>>2]|0;i=e+12|0;m=c[i>>2]|0;j=e+4|0;m=Th[(f?9:8)&63](c[j>>2]|0,(f?R>>>0<m>>>0:R>>>0>m>>>0)?R:m,k)|0;if(m|0){c[g>>2]=m;c[i>>2]=m+(r4(k)|0);c[S>>2]=0;c[B>>2]=0;i=c[j>>2]|0;f=a[i>>0]|0;if(!(f<<24>>24)){j=-8;f=0}else{g=i;do{if((m|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);j=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;k=e+48|0;c[k>>2]=j;if((R|0)<0)c[f>>2]=0;if((j|0)>=0){g=a[i>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{i=i+1|0;f=(g<<24>>24==10&1)+f|0;g=a[i>>0]|0}while(g<<24>>24!=0)}if((j|0)>(f|0))T=276}else{f=0;T=276}if((T|0)==276)c[k>>2]=f;Xl(e)}}}while(0);f=a[n+65420>>0]|0;if((f<<24>>24?(q=e+65660|0,((r4(q)|0)+1|0)>>>0<34):0)?(a[y>>0]=f,a[y+1>>0]=0,Y5(q,y)|0,h=c[e+4>>2]|0,s=m5(h,q)|0,s|0):0){c[e+8>>2]=s;c[e+12>>2]=s+(r4(q)|0);c[S>>2]=0;c[B>>2]=0;f=a[h>>0]|0;if(!(f<<24>>24)){j=-8;f=0}else{g=h;do{if((s|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);j=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}S=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=S;i=e+48|0;c[i>>2]=j;if((S|0)<0)c[f>>2]=0;if((j|0)>=0){g=a[h>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((j|0)>(f|0))T=310}else{f=0;T=310}if((T|0)==310)c[i>>2]=f;Xl(e)}S=c[e>>2]|0;li[c[S+1262676>>2]&511](S,a[(c[80]|0)+32>>0]|0);em(e,0);hm(e,93075);S=c[e>>2]|0;Ai[c[S+1262692>>2]&15](S,0,129,240,7,15);S=c[e>>2]|0;Xh[c[S+1262668>>2]&3](S,e+65600|0,0,130,a[(c[80]|0)+32>>0]|0,0)|0;break}case 3:{n=c[e>>2]|0;R=c[2]|0;if(Uh[c[R+1262808>>2]&63](R,50,20,3)|0){m=e+65660|0;if(a[m>>0]|0){i=W5(m)|0;i=(i|0)==0?0:i+-1|0;j=e+4|0;g=c[j>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24))f=0;else{f=0;do{g=g+1|0;f=(h<<24>>24==10&1)+f|0;h=a[g>>0]|0}while(h<<24>>24!=0)}k=(i|0)>(f|0)?f:i;c[e+12>>2]=0;cm(e,0,k);c[e+65704>>2]=k;c[S>>2]=0;c[B>>2]=0;k=c[j>>2]|0;f=a[k>>0]|0;if(!(f<<24>>24)){i=-8;f=0}else{h=c[e+8>>2]|0;g=k;do{if((h|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);i=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;j=e+48|0;c[j>>2]=i;if((R|0)<0)c[f>>2]=0;if((i|0)>=0){g=a[k>>0]|0;if(!(g<<24>>24))f=0;else{f=0;h=k;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((i|0)>(f|0))T=331}else{f=0;T=331}if((T|0)==331)c[j>>2]=f;Xl(e)}if((c[U>>2]|0)!=1){a[m>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[e+12>>2];c[U>>2]=1}}else{R=c[2]|0;if(Uh[c[R+1262808>>2]&63](R,51,20,3)|0?(i=e+65660|0,a[i>>0]|0):0){a[(r4(i)|0)+-1+(e+65660)>>0]=0;i=W5(i)|0;i=(i|0)==0?0:i+-1|0;j=e+4|0;g=c[j>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24))f=0;else{f=0;do{g=g+1|0;f=(h<<24>>24==10&1)+f|0;h=a[g>>0]|0}while(h<<24>>24!=0)}k=(i|0)>(f|0)?f:i;c[e+12>>2]=0;cm(e,0,k);c[e+65704>>2]=k;c[S>>2]=0;c[B>>2]=0;k=c[j>>2]|0;f=a[k>>0]|0;if(!(f<<24>>24)){i=-8;f=0}else{h=c[e+8>>2]|0;g=k;do{if((h|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);i=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;j=e+48|0;c[j>>2]=i;if((R|0)<0)c[f>>2]=0;if((i|0)>=0){g=a[k>>0]|0;if(!(g<<24>>24))f=0;else{f=0;h=k;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((i|0)>(f|0))T=352}else{f=0;T=352}if((T|0)==352)c[j>>2]=f;Xl(e)}}f=a[n+65420>>0]|0;if(f<<24>>24?(u=e+65660|0,(f+-48&255)<10&((r4(u)|0)+1|0)>>>0<34):0){a[y>>0]=f;a[y+1>>0]=0;Y5(u,y)|0;i=W5(u)|0;i=(i|0)==0?0:i+-1|0;j=e+4|0;g=c[j>>2]|0;h=a[g>>0]|0;if(!(h<<24>>24))f=0;else{f=0;do{g=g+1|0;f=(h<<24>>24==10&1)+f|0;h=a[g>>0]|0}while(h<<24>>24!=0)}h=(i|0)>(f|0)?f:i;c[e+12>>2]=0;cm(e,0,h);c[e+65704>>2]=h;c[S>>2]=0;c[B>>2]=0;h=c[j>>2]|0;f=a[h>>0]|0;if(!(f<<24>>24)){j=-8;f=0}else{i=c[e+8>>2]|0;g=h;do{if((i|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);j=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}S=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=S;i=e+48|0;c[i>>2]=j;if((S|0)<0)c[f>>2]=0;if((j|0)>=0){g=a[h>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((j|0)>(f|0))T=371}else{f=0;T=371}if((T|0)==371)c[i>>2]=f;Xl(e)}li[c[n+1262676>>2]&511](n,a[(c[80]|0)+32>>0]|0);f=c[e+65704>>2]|0;if((f|0)>-1)Ai[c[n+1262692>>2]&15](n,0,((f-(c[e+48>>2]|0)|0)*7|0)+7|0,240,8,a[(c[80]|0)+33>>0]|0);em(e,0);hm(e,93082);S=c[e>>2]|0;Ai[c[S+1262692>>2]&15](S,0,129,240,7,15);S=c[e>>2]|0;Xh[c[S+1262668>>2]&3](S,e+65600|0,0,130,a[(c[80]|0)+32>>0]|0,0)|0;break}case 4:{n=c[e>>2]|0;R=c[2]|0;do if(Uh[c[R+1262808>>2]&63](R,58,20,3)|0){g=e+65712|0;f=c[g>>2]|0;if((f|0)>0){h=f+-1|0;c[g>>2]=h;f=c[e+65708>>2]|0;g=c[f+(h*44|0)+40>>2]|0;if(!g){k=c[e+4>>2]|0;c[e+8>>2]=k;g=k;f=0}else{c[e+8>>2]=g;f=g+(r4(f+(h*44|0)|0)|0)|0;k=c[e+4>>2]|0}c[e+12>>2]=f;c[S>>2]=0;c[B>>2]=0;f=a[k>>0]|0;if(!(f<<24>>24)){i=-8;f=0}else{h=k;do{if((g|0)==(h|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;h=h+1|0;f=a[h>>0]|0}while(f<<24>>24!=0);i=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;j=e+48|0;c[j>>2]=i;if((R|0)<0)c[f>>2]=0;if((i|0)>=0){g=a[k>>0]|0;if(!(g<<24>>24))f=0;else{f=0;h=k;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((i|0)>(f|0))T=393}else{f=0;T=393}if((T|0)==393)c[j>>2]=f;Xl(e)}}else{R=c[2]|0;if(Uh[c[R+1262808>>2]&63](R,59,20,3)|0){g=e+65712|0;f=c[g>>2]|0;if((f|0)>=19)break;h=c[e+65708>>2]|0;f=f+1|0;i=c[h+(f*44|0)+40>>2]|0;if(!i)break;c[g>>2]=f;c[e+8>>2]=i;f=i+(r4(h+(f*44|0)|0)|0)|0;h=c[e+4>>2]|0;c[e+12>>2]=f;c[S>>2]=0;c[B>>2]=0;f=a[h>>0]|0;if(!(f<<24>>24)){i=-8;f=0}else{g=h;do{if((i|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);i=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;j=e+48|0;c[j>>2]=i;if((R|0)<0)c[f>>2]=0;if((i|0)>=0){g=a[h>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((i|0)>(f|0))T=410}else{f=0;T=410}if((T|0)==410)c[j>>2]=f;Xl(e);break}R=c[2]|0;if(!(Uh[c[R+1262808>>2]&63](R,50,20,3)|0)){R=c[2]|0;if(!(Uh[c[R+1262808>>2]&63](R,51,20,3)|0))break;f=e+65660|0;if(!(a[f>>0]|0))break;a[(r4(f)|0)+-1+(e+65660)>>0]=0;bm(e);break}f=c[e+65708>>2]|0;g=c[e+65712>>2]|0;h=c[f+(g*44|0)+40>>2]|0;if(!h){k=c[e+4>>2]|0;c[e+8>>2]=k;h=k;f=0}else{c[e+8>>2]=h;f=h+(r4(f+(g*44|0)|0)|0)|0;k=c[e+4>>2]|0}m=e+12|0;c[m>>2]=f;c[S>>2]=0;c[B>>2]=0;f=a[k>>0]|0;if(!(f<<24>>24)){i=-8;f=0}else{g=k;do{if((h|0)==(g|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;f=a[g>>0]|0}while(f<<24>>24!=0);i=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}R=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=R;j=e+48|0;c[j>>2]=i;if((R|0)<0)c[f>>2]=0;if((i|0)>=0){g=a[k>>0]|0;if(!(g<<24>>24))f=0;else{f=0;h=k;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((i|0)>(f|0))T=428}else{f=0;T=428}if((T|0)==428)c[j>>2]=f;Xl(e);if((c[U>>2]|0)!=1){a[e+65660>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[m>>2];c[U>>2]=1}}while(0);f=a[n+65420>>0]|0;if(f<<24>>24?(v=e+65660|0,((r4(v)|0)+1|0)>>>0<34):0){a[y>>0]=f;a[y+1>>0]=0;Y5(v,y)|0;bm(e)}f=c[e>>2]|0;li[c[f+1262676>>2]&511](f,a[(c[80]|0)+32>>0]|0);em(e,0);hm(e,93089);f=c[e>>2]|0;Ai[c[f+1262692>>2]&15](f,0,129,240,7,15);f=c[e>>2]|0;Xh[c[f+1262668>>2]&3](f,e+65600|0,0,130,a[(c[80]|0)+32>>0]|0,0)|0;f=c[2]|0;g=a[f+65413>>0]|0;if((((g+-14&255)<122?((a[f+65412>>0]|0)+88&255)<72:0)?(R=(g&255)+-14|0,x=(R|0)/7|0,(R|0)<140):0)?(w=e+65708|0,c[(c[w>>2]|0)+(x*44|0)+40>>2]|0):0){R=f+16379|0;a[R>>0]=a[R>>0]&-128|1;if((a[84]|0?((c[22]|0)+-168|0)>>>0<72:0)?((c[23]|0)+-14|0)>>>0<122:0){c[e+65712>>2]=x;f=c[w>>2]|0;g=c[f+(x*44|0)+40>>2]|0;if(!g){h=c[e+4>>2]|0;c[e+8>>2]=h;g=h;f=0}else{c[e+8>>2]=g;f=g+(r4(f+(x*44|0)|0)|0)|0;h=c[e+4>>2]|0}c[e+12>>2]=f;c[S>>2]=0;c[B>>2]=0;f=a[h>>0]|0;if(!(f<<24>>24)){j=-8;f=0}else{i=h;do{if((g|0)==(i|0))break;if(f<<24>>24==10){c[S>>2]=0;f=B}else f=S;c[f>>2]=(c[f>>2]|0)+1;i=i+1|0;f=a[i>>0]|0}while(f<<24>>24!=0);j=(c[B>>2]|0)+-8|0;f=c[S>>2]|0}S=f-((240/((a[e+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;f=e+44|0;c[f>>2]=S;i=e+48|0;c[i>>2]=j;if((S|0)<0)c[f>>2]=0;if((j|0)>=0){g=a[h>>0]|0;if(!(g<<24>>24))f=0;else{f=0;do{h=h+1|0;f=(g<<24>>24==10&1)+f|0;g=a[h>>0]|0}while(g<<24>>24!=0)}if((j|0)>(f|0))T=458}else{f=0;T=458}if((T|0)==458)c[i>>2]=f;Xl(e)}if(((((a[85]|0?((c[22]|0)+-168|0)>>>0<72:0)?((c[23]|0)+-14|0)>>>0<122:0)?((c[24]|0)+-168|0)>>>0<72:0)?((c[25]|0)+-14|0)>>>0<122:0)?(a[85]=0,(c[U>>2]|0)!=1):0){a[e+65660>>0]=0;c[e+65696>>2]=c[e+8>>2];c[e+65700>>2]=c[e+12>>2];c[U>>2]=1}}f=c[e>>2]|0;Ai[c[f+1262692>>2]&15](f,167,14,73,122,8);f=c[e+65708>>2]|0;g=f+40|0;h=c[e>>2]|0;if(!(c[g>>2]|0)){Xh[c[h+1262668>>2]&3](h,93096,168,15,15,0)|0;break a}Ai[c[h+1262692>>2]&15](h,167,((c[e+65712>>2]|0)*7|0)+14|0,73,7,6);if(c[g>>2]|0){g=15;while(1){S=c[e>>2]|0;Xh[c[S+1262668>>2]&3](S,f,168,g,15,0)|0;if(!(c[f+84>>2]|0))break;else{g=g+7|0;f=f+44|0}}}break}default:{}}while(0);k=c[e>>2]|0;Ai[c[k+1262692>>2]&15](k,0,0,240,7,15);k=e+65724|0;m=e+65660|0;n=e+8|0;o=e+65696|0;p=e+12|0;q=e+65700|0;r=e+8|0;s=e+65704|0;j=0;do{f=j*7|0;t=f+212|0;g=c[2]|0;h=d[g+65412>>0]|0;f:do if((h|0)>=(t|0)?(V=f+219|0,(h|0)<(V|0)&(d[g+65413>>0]|0)<7):0){S=g+16379|0;a[S>>0]=a[S>>0]&-128|1;z5(228,c[1840+(j<<2)>>2]|0,39)|0;if(((a[85]|0)!=0?(S=c[22]|0,(S|0)>=(t|0)&(S|0)<(V|0)&(c[23]|0)>>>0<7):0)?(S=c[24]|0,(S|0)>=(t|0)&(S|0)<(V|0)&(c[25]|0)>>>0<7):0){a[85]=0;if(!j){f=c[2]|0;fi[c[f+1262784>>2]&511](f);f=c[18]|0;switch(f|0){case 2:{_j(c[78]|0,c[77]|0,c[2]|0);f=3;break f}case 10:case 9:case 1:case 0:break;case 11:{c[19]=3;break}default:c[19]=f}_j(c[78]|0,c[77]|0,c[2]|0);c[18]=2;f=3;break}f=j+1|0;if((c[U>>2]|0)==(f|0)){fi[c[k>>2]&511](e);f=3;T=501;break}a[m>>0]=0;i=c[n>>2]|0;c[o>>2]=i;g=c[p>>2]|0;c[q>>2]=g;h=g;switch(j|0){case 1:{if(g|0?(W=c[(i>>>0<h>>>0?r:p)>>2]|0,X=(c[(i>>>0>h>>>0?r:p)>>2]|0)-W|0,(X+-1|0)>>>0<32):0){u6(e+65660+X|0,0,34-X|0)|0;s6(m|0,W|0,X|0)|0}break}case 2:{c[s>>2]=-1;break}case 3:{bm(e);break}default:{}}c[U>>2]=f;f=3;T=501}else{f=3;T=501}}else{f=10;T=501}while(0);if((T|0)==501){T=0;if(j|0?(j|0)==((c[U>>2]|0)+-1|0):0){f=c[e>>2]|0;Ai[c[f+1262692>>2]&15](f,t,0,7,7,8);f=15}}Ri(t,0,93116+(j<<3)|0,f&255);j=j+1|0}while((j|0)!=4);f=c[e>>2]|0;g=c[2]|0;if(!(((a[g+65413>>0]|0)+-1&255)<6?((a[g+65412>>0]|0)+58&255)<6:0)){X=10;W=e+65716|0;V=f+1262660|0;V=c[V>>2]|0;W=a[W>>0]|0;W=W<<24>>24!=0;Xh[V&3](f,70,198,1,X,W)|0;W=c[e>>2]|0;X=c[80]|0;X=X+32|0;X=a[X>>0]|0;Qi(W,X);e=e+65644|0;X=c[e>>2]|0;X=X+1|0;c[e>>2]=X;l=Y;return}X=g+16379|0;a[X>>0]=a[X>>0]&-128|1;z5(228,93104,39)|0;if((((a[85]|0?((c[22]|0)+-198|0)>>>0<6:0)?((c[23]|0)+-1|0)>>>0<6:0)?((c[24]|0)+-198|0)>>>0<6:0)?((c[25]|0)+-1|0)>>>0<6:0){a[85]=0;W=e+65716|0;a[W>>0]=a[W>>0]^1;X=3;V=f+1262660|0;V=c[V>>2]|0;W=a[W>>0]|0;W=W<<24>>24!=0;Xh[V&3](f,70,198,1,X,W)|0;W=c[e>>2]|0;X=c[80]|0;X=X+32|0;X=a[X>>0]|0;Qi(W,X);e=e+65644|0;X=c[e>>2]|0;X=X+1|0;c[e>>2]=X;l=Y;return}X=3;W=e+65716|0;V=f+1262660|0;V=c[V>>2]|0;W=a[W>>0]|0;W=W<<24>>24!=0;Xh[V&3](f,70,198,1,X,W)|0;W=c[e>>2]|0;X=c[80]|0;X=X+32|0;X=a[X>>0]|0;Qi(W,X);e=e+65644|0;X=c[e>>2]|0;X=X+1|0;c[e>>2]=X;l=Y;return}function Ul(a){a=a|0;var b=0,d=0,e=0;b=a+65656|0;if((c[b>>2]|0)==1)return;e=a+65696|0;c[a+8>>2]=c[e>>2];d=a+65700|0;c[a+12>>2]=c[d>>2];c[e>>2]=0;c[d>>2]=0;c[b>>2]=1;Xl(a);return}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;switch(d|0){case 0:{Yl(b);return}case 1:{d=c[b+8>>2]|0;f=c[b+12>>2]|0;a:do if((f|0)==0|(f|0)==(d|0)){e=c[b+4>>2]|0;if(e>>>0<d>>>0){f=e;do{b=f;f=f+1|0;e=(a[b>>0]|0)==10?f:e}while((f|0)!=(d|0))}do{f=a[d>>0]|0;if(!(f<<24>>24))break a;d=d+1|0}while(f<<24>>24!=10)}else{e=f>>>0<d>>>0?f:d;d=f>>>0>d>>>0?f:d}while(0);d=d-e|0;f=B2(d+1|0)|0;if(!f)return;s6(f|0,e|0,d|0)|0;a[f+d>>0]=0;fi[c[c[40>>2]>>2]&511](f);C2(f);return}case 2:{Zl(b);return}case 3:{i=c[b+65648>>2]|0;d=c[i>>2]|0;if(c[d+4>>2]|0){e=c[d+12>>2]|0;h=d+16|0;if(e>>>0<(c[h>>2]|0)>>>0){f=d+8|0;g=i+8|0;d=e;e=0;while(1){k=(c[g>>2]|0)+d|0;a[k>>0]=a[k>>0]^a[(c[f>>2]|0)+e>>0];d=d+1|0;if(d>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}d=c[i>>2]|0}c[i>>2]=c[d+4>>2]}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;i=c[b+65652>>2]|0;d=c[i>>2]|0;if(c[d+4>>2]|0){e=c[d+12>>2]|0;h=d+16|0;if(e>>>0<(c[h>>2]|0)>>>0){f=d+8|0;g=i+8|0;d=e;e=0;while(1){k=(c[g>>2]|0)+d|0;a[k>>0]=a[k>>0]^a[(c[f>>2]|0)+e>>0];d=d+1|0;if(d>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}d=c[i>>2]|0}c[i>>2]=c[d+4>>2]}s6(c[i+12>>2]|0,c[i+8>>2]|0,c[i+4>>2]|0)|0;Xl(b);f=b+64|0;u6(f|0,a[(c[80]|0)+30>>0]|0,65536)|0;d=c[b>>2]|0;d=Rh[c[d+1262832>>2]&511](d)|0;e=c[d+24>>2]|0;if(!e)return;ti[e&63](d,c[b+4>>2]|0,f,(c[80]|0)+24|0);return}case 4:{h=c[b+65648>>2]|0;d=c[c[h>>2]>>2]|0;if(d|0?(c[h>>2]=d,e=c[d+12>>2]|0,i=d+16|0,e>>>0<(c[i>>2]|0)>>>0):0){f=d+8|0;g=h+8|0;d=e;e=0;while(1){l=(c[g>>2]|0)+d|0;a[l>>0]=a[l>>0]^a[(c[f>>2]|0)+e>>0];d=d+1|0;if(d>>>0>=(c[i>>2]|0)>>>0)break;else e=e+1|0}}s6(c[h+12>>2]|0,c[h+8>>2]|0,c[h+4>>2]|0)|0;h=c[b+65652>>2]|0;d=c[c[h>>2]>>2]|0;if(d|0?(c[h>>2]=d,j=c[d+12>>2]|0,k=d+16|0,j>>>0<(c[k>>2]|0)>>>0):0){f=d+8|0;g=h+8|0;d=j;e=0;while(1){l=(c[g>>2]|0)+d|0;a[l>>0]=a[l>>0]^a[(c[f>>2]|0)+e>>0];d=d+1|0;if(d>>>0>=(c[k>>2]|0)>>>0)break;else e=e+1|0}}s6(c[h+12>>2]|0,c[h+8>>2]|0,c[h+4>>2]|0)|0;Xl(b);d=b+64|0;u6(d|0,a[(c[80]|0)+30>>0]|0,65536)|0;e=c[b>>2]|0;e=Rh[c[e+1262832>>2]&511](e)|0;f=c[e+24>>2]|0;if(!f)return;ti[f&63](e,c[b+4>>2]|0,d,(c[80]|0)+24|0);return}default:return}}function Wl(b){b=b|0;var d=0,e=0,f=0;Xl(b);d=b+64|0;u6(d|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;e=c[f+24>>2]|0;if(!e)return;ti[e&63](f,c[b+4>>2]|0,d,(c[80]|0)+24|0);return}function Xl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;p=q+16|0;o=q;g=q+28|0;h=q+24|0;m=q+32|0;c[g>>2]=0;c[h>>2]=0;n=b+4|0;k=c[n>>2]|0;d=a[k>>0]|0;if(!(d<<24>>24))j=0;else{f=c[b+8>>2]|0;e=k;do{if((f|0)==(e|0))break;if(d<<24>>24==10){c[g>>2]=0;d=h}else d=g;c[d>>2]=(c[d>>2]|0)+1;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);j=c[g>>2]|0}d=240/((a[b+65716>>0]|0?4:6)>>>0)|0;f=b+44|0;e=c[f>>2]|0;if((j|0)>=(e|0)){if((j|0)>=(e+d|0)){d=1-d+j|0;i=11}}else{d=j;i=11}if((i|0)==11)c[f>>2]=d;h=c[h>>2]|0;e=b+48|0;d=c[e>>2]|0;if((h|0)>=(d|0)){if((h|0)>=(d+17|0)){d=h+-16|0;i=15}}else{d=h;i=15}if((i|0)==15)c[e>>2]=d;c[b+24>>2]=30;g=b+65600|0;d=g;e=d+40|0;do{c[d>>2]=538976288;d=d+4|0}while((d|0)<(e|0));d=a[k>>0]|0;if(!(d<<24>>24))d=1;else{f=0;e=k;do{e=e+1|0;f=(d<<24>>24==10&1)+f|0;d=a[e>>0]|0}while(d<<24>>24!=0);d=f+1|0}c[o>>2]=h+1;c[o+4>>2]=d;c[o+8>>2]=j+1;h3(m,93051,o)|0;s6(g|0,m|0,r4(m)|0)|0;o=r4(c[n>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=65536;h3(m,93069,p)|0;u6((c[n>>2]|0)+o|0,0,65536-o|0)|0;p=r4(m)|0;s6(b+65641+(0-p)+-1|0,m|0,p|0)|0;l=q;return}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=b+8|0;d=c[i>>2]|0;j=b+12|0;e=c[j>>2]|0;a:do if((e|0)==0|(e|0)==(d|0)){f=c[b+4>>2]|0;if(f>>>0<d>>>0){g=f;do{h=g;g=g+1|0;f=(a[h>>0]|0)==10?g:f}while((g|0)!=(d|0))}g=d;do{h=a[g>>0]|0;if(!(h<<24>>24))break a;g=g+1|0}while(h<<24>>24!=10)}else{f=e>>>0<d>>>0?e:d;g=e>>>0>d>>>0?e:d}while(0);g=g-f|0;h=B2(g+1|0)|0;if(h){s6(h|0,f|0,g|0)|0;a[h+g>>0]=0;fi[c[c[40>>2]>>2]&511](h);C2(h);e=c[j>>2]|0;d=c[i>>2]|0}if(!((e|0)==0|(e|0)==(d|0))){h=e>>>0<d>>>0?e:d;d=e>>>0>d>>>0?e:d;t6(h|0,d|0,(r4(d)|0)+1|0)|0;c[i>>2]=h;c[j>>2]=0;d=b+65648|0;if(Ml(c[d>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;e=b+64|0;u6(e|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;g=c[f+24>>2]|0;if(g)ti[g&63](f,c[b+4>>2]|0,e,(c[80]|0)+24|0)}else d=b+65648|0;if(!(Ml(c[d>>2]|0)|0))return;Ml(c[b+65652>>2]|0)|0;return}function Zl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!(Qh[c[(c[40>>2]|0)+4>>2]&15]()|0))return;i=Qh[c[(c[40>>2]|0)+8>>2]&15]()|0;if(!i)return;e=a[i>>0]|0;if(e<<24>>24?(f=i+1|0,d=i+(e<<24>>24!=13&1)|0,h=a[f>>0]|0,a[d>>0]=h,h<<24>>24):0)do{h=f;f=f+1|0;d=d+((a[h>>0]|0)!=13&1)|0;h=a[f>>0]|0;a[d>>0]=h}while(h<<24>>24!=0);d=r4(i)|0;if(d|0){h=b+8|0;e=c[h>>2]|0;f=b+12|0;g=c[f>>2]|0;if(!((g|0)==0|(g|0)==(e|0))){j=g>>>0<e>>>0?g:e;g=g>>>0>e>>>0?g:e;t6(j|0,g|0,(r4(g)|0)+1|0)|0;c[h>>2]=j;c[f>>2]=0;if(Ml(c[b+65648>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;e=b+64|0;u6(e|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;g=c[f+24>>2]|0;if(g|0)ti[g&63](f,c[b+4>>2]|0,e,(c[80]|0)+24|0)}f=c[h>>2]|0;g=b+4|0;j=r4(c[g>>2]|0)|0;e=65536-j|0;if((j+d|0)>>>0>65536){a[i+e>>0]=0;d=e}t6(f+d|0,f|0,(r4(f)|0)+1|0)|0;s6(f|0,i|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;if(Ml(c[b+65648>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;f=b+64|0;u6(f|0,a[(c[80]|0)+30>>0]|0,65536)|0;d=c[b>>2]|0;d=Rh[c[d+1262832>>2]&511](d)|0;e=c[d+24>>2]|0;if(e|0)ti[e&63](d,c[g>>2]|0,f,(c[80]|0)+24|0)}fi[c[(c[40>>2]|0)+12>>2]&511](i);return}function _l(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+4>>2]|0;g=b+8|0;e=(c[g>>2]|0)+-1|0;if(e>>>0<=d>>>0)return;f=a[e>>0]|0;a:do if(f<<24>>24==95|(K3(f<<24>>24)|0)!=0)while(1){if(e>>>0<=d>>>0)break a;f=e+-1|0;h=a[f>>0]|0;if(h<<24>>24==95|(K3(h<<24>>24)|0)!=0)e=f;else break}else while(1){if(e>>>0<=d>>>0)break a;f=e+-1|0;h=a[f>>0]|0;if(h<<24>>24==95|(K3(h<<24>>24)|0)!=0)break;else e=f}while(0);c[g>>2]=e;g=e;if(d>>>0<e>>>0){f=d;do{h=f;f=f+1|0;d=(a[h>>0]|0)==10?f:d}while((f|0)!=(e|0))}c[b+16>>2]=g-d;return}function $l(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+4>>2]|0;f=d+(r4(d)|0)|0;g=b+8|0;e=c[g>>2]|0;if(e>>>0>=f>>>0)return;h=a[e>>0]|0;a:do if(h<<24>>24==95|(K3(h<<24>>24)|0)!=0)do{e=e+1|0;if(e>>>0>=f>>>0)break a;h=a[e>>0]|0}while(h<<24>>24==95|(K3(h<<24>>24)|0)!=0);else do{e=e+1|0;if(e>>>0>=f>>>0)break a;h=a[e>>0]|0}while(!(h<<24>>24==95|(K3(h<<24>>24)|0)!=0));while(0);c[g>>2]=e;g=e;if(d>>>0<e>>>0){f=d;do{h=f;f=f+1|0;d=(a[h>>0]|0)==10?f:d}while((f|0)!=(e|0))}c[b+16>>2]=g-d;return}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=b+8|0;g=c[f>>2]|0;n=b+12|0;h=c[n>>2]|0;i=(h|0)!=0;l=i&(h|0)!=(g|0);if(!(d|e|l)){im(b,9);return}j=i&h>>>0<g>>>0?h:g;e=i&h>>>0>g>>>0?h:g;m=b+4|0;g=c[m>>2]|0;if(g>>>0<j>>>0){h=g;do{k=h;h=h+1|0;g=(a[k>>0]|0)==10?h:g}while((h|0)!=(j|0));k=g}else k=g;if(!k)return;if(d){g=k;h=0;do{switch(a[g>>0]|0){case 32:case 9:{t6(g|0,g+1|0,(r4(g)|0)+1|0)|0;h=1;e=e+-1|0;break}default:{}}do{i=a[g>>0]|0;if(!(i<<24>>24))break;g=g+1|0}while(i<<24>>24!=10)}while(g>>>0<e>>>0&(g|0)!=0);if(!(h&1))return}else{g=k;while(1){t6(g+1|0,g|0,(r4(g)|0)+1|0)|0;a[g>>0]=9;j=e+1|0;i=9;while(1){h=g+1|0;if(i<<24>>24==10)break;i=a[h>>0]|0;if(!(i<<24>>24))break;else g=h}if(g>>>0<e>>>0){g=h;e=j}else{e=j;break}}}if(!l){if(k>>>0<=e>>>0)o=20}else{c[f>>2]=k;f=n;o=20}if((o|0)==20)c[f>>2]=e;if(Ml(c[b+65648>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;g=b+64|0;u6(g|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;e=c[f+24>>2]|0;if(!e)return;ti[e&63](f,c[m>>2]|0,g,(c[80]|0)+24|0);return}function bm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;s=t+48|0;r=t+8|0;n=t;q=b+65712|0;c[q>>2]=0;o=b+65708|0;u6(c[o>>2]|0,0,880)|0;p=c[o>>2]|0;f=c[b>>2]|0;g=s;h=g+40|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=r;h=g+40|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));z5(r,b+65660|0,40)|0;d=a[r>>0]|0;if(d<<24>>24){e=r;do{a[e>>0]=N2(d&255)|0;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}d=c[(Rh[c[f+1262832>>2]&511](f)|0)+20>>2]|0;if(d|0?(c[n>>2]=0,k=b+4|0,m=Sh[d&255](c[k>>2]|0,n)|0,(c[n>>2]|0)>0):0){d=0;j=0;do{e=(c[k>>2]|0)+(c[m+(j<<3)>>2]|0)|0;i=p+(d*44|0)+40|0;c[i>>2]=e;f=p+(d*44|0)|0;g=f;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));h=c[m+(j<<3)+4>>2]|0;s6(f|0,e|0,((h|0)<39?h:39)|0)|0;do if(a[r>>0]|0){z5(s,f,40)|0;e=a[s>>0]|0;if(e<<24>>24){f=s;do{a[f>>0]=N2(e&255)|0;f=f+1|0;e=a[f>>0]|0}while(e<<24>>24!=0)}if(!(m5(s,r)|0)){c[i>>2]=0;break}else{d=d+1|0;break}}else d=d+1|0;while(0);j=j+1|0}while((d|0)<20?(j|0)<(c[n>>2]|0):0)}_3(c[o>>2]|0,20,44,14);f=c[o>>2]|0;d=c[q>>2]|0;e=c[f+(d*44|0)+40>>2]|0;if(!e){f=c[b+4>>2]|0;c[b+8>>2]=f;e=f;d=0}else{c[b+8>>2]=e;d=e+(r4(f+(d*44|0)|0)|0)|0;f=c[b+4>>2]|0}c[b+12>>2]=d;c[s>>2]=0;c[r>>2]=0;d=a[f>>0]|0;if(!(d<<24>>24)){h=-8;d=0}else{g=f;do{if((e|0)==(g|0))break;if(d<<24>>24==10){c[s>>2]=0;d=r}else d=s;c[d>>2]=(c[d>>2]|0)+1;g=g+1|0;d=a[g>>0]|0}while(d<<24>>24!=0);h=(c[r>>2]|0)+-8|0;d=c[s>>2]|0}s=d-((240/((a[b+65716>>0]|0?4:6)>>>0)|0)>>>1)|0;d=b+44|0;c[d>>2]=s;g=b+48|0;c[g>>2]=h;if((s|0)<0)c[d>>2]=0;if((h|0)>=0){e=a[f>>0]|0;if(!(e<<24>>24))d=0;else{d=0;do{f=f+1|0;d=(e<<24>>24==10&1)+d|0;e=a[f>>0]|0}while(e<<24>>24!=0)}if((h|0)<=(d|0)){Xl(b);l=t;return}}else d=0;c[g>>2]=d;Xl(b);l=t;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+4>>2]|0;g=a[f>>0]|0;a:do if(g<<24>>24){k=0;j=0;h=f;while(1){i=(k|0)==(e|0);if((j|0)==(d|0)&i){g=3;break}if(g<<24>>24==10){if((j|0)<(d|0)&i){g=8;break}i=k+1|0;j=0}else{i=k;j=j+1|0}h=h+1|0;g=a[h>>0]|0;if(!(g<<24>>24))break a;else k=i}if((g|0)==3){c[b+8>>2]=h;i=h;if(f>>>0<h>>>0){g=f;do{e=g;g=g+1|0;f=(a[e>>0]|0)==10?g:f}while((g|0)!=(h|0))}c[b+16>>2]=i-f;Xl(b);return}else if((g|0)==8){c[b+8>>2]=h;i=h;if(f>>>0<h>>>0){g=f;do{e=g;g=g+1|0;f=(a[e>>0]|0)==10?g:f}while((g|0)!=(h|0))}c[b+16>>2]=i-f;Xl(b);return}}else h=f;while(0);c[b+8>>2]=h;i=h;if(f>>>0<h>>>0){g=f;do{e=g;g=g+1|0;f=(a[e>>0]|0)==10?g:f}while((g|0)!=(h|0))}c[b+16>>2]=i-f;Xl(b);return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+8|0;f=c[e>>2]|0;g=b+12|0;h=c[g>>2]|0;if((h|0)==0|(h|0)==(f|0)){im(b,d);return}i=h>>>0<f>>>0?h:f;h=h>>>0>f>>>0?h:f;t6(i|0,h|0,(r4(h)|0)+1|0)|0;c[e>>2]=i;c[g>>2]=0;if(Ml(c[b+65648>>2]|0)|0)Ml(c[b+65652>>2]|0)|0;e=b+64|0;u6(e|0,a[(c[80]|0)+30>>0]|0,65536)|0;f=c[b>>2]|0;f=Rh[c[f+1262832>>2]&511](f)|0;g=c[f+24>>2]|0;if(!g){im(b,d);return}ti[g&63](f,c[b+4>>2]|0,e,(c[80]|0)+24|0);im(b,d);return}function em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+65716|0;r=(c[b+28>>2]|0)-(O(a[s>>0]|0?4:6,c[b+44>>2]|0)|0)|0;f=(O(c[b+48>>2]|0,-7)|0)+(c[b+32>>2]|0)|0;g=c[b+4>>2]|0;n=b+12|0;q=c[n>>2]|0;o=b+8|0;e=c[o>>2]|0;p=q>>>0<e>>>0?q:e;q=q>>>0>e>>>0?q:e;l=a[g>>0]|0;if(!(l<<24>>24)){k=r;j=f;h=-1;i=0;f=-1}else{k=r;j=f;m=b+64|0;h=-1;i=0;f=-1;while(1){if((j+6|0)>>>0<142&(k+6|0)>>>0<246){if(!(g>>>0<q>>>0&(g>>>0>=p>>>0&(c[n>>2]|0)!=0))){if(a[(c[80]|0)+35>>0]|0){e=c[b>>2]|0;Xh[c[e+1262660>>2]&3](e,l,k+1|0,j+1|0,0,(a[s>>0]|0)!=0)|0}}else{e=c[b>>2]|0;Ai[c[e+1262692>>2]&15](e,k+-1|0,j+-1|0,7,7,a[(c[80]|0)+33>>0]|0)}e=c[b>>2]|0;Xh[c[e+1262660>>2]&3](e,l,k,j,a[m>>0]|0,(a[s>>0]|0)!=0)|0;e=c[o>>2]|0}t=(e|0)==(g|0);i=t?l:i;f=t?j:f;h=t?k:h;if(l<<24>>24==10){k=r;j=j+7|0}else k=(a[s>>0]|0?4:6)+k|0;g=g+1|0;l=a[g>>0]|0;if(!(l<<24>>24))break;else m=m+1|0}}e=(e|0)==(g|0);f=e?j:f;e=e?k:h;if(!((e|f|0)>-1&d))return;if((c[b+24>>2]|0)==0?(((c[b+65644>>2]|0)>>>0)%60|0)>>>0>=30:0)return;t=c[b>>2]|0;Ai[c[t+1262692>>2]&15](t,e+-1|0,f+-1|0,a[s>>0]|0?5:7,7,a[(c[80]|0)+34>>0]|0);if(!(i<<24>>24))return;t=c[b>>2]|0;Xh[c[t+1262660>>2]&3](t,i,e,f,a[(c[80]|0)+32>>0]|0,(a[s>>0]|0)!=0)|0;return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r4(c)|0;a:do if(!d)b=0;else do{b=b+-1|0;if(b>>>0<a>>>0){b=0;break a}}while((f3(b,c,d)|0)!=0);while(0);return b|0}function gm(a,b,c){a=a|0;b=b|0;c=c|0;return m5(b,c)|0}
  39. function x_(e,f,h){e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+32|0;s=C+24|0;z=C+16|0;r=C+8|0;q=C;n=e+320|0;p=c[n>>2]|0;i=c[p>>2]|0;a:do if(!i){k=p+4|0;A=c[k>>2]|0;c[p>>2]=A;i=A;if(!A){j=j_(c[e+188>>2]|0)|0;do if(j|0){c[k>>2]=j;c[p>>2]=j;i=c[c[n>>2]>>2]|0;if(!i)break a;G_(i,e+216|0);i=c[c[n>>2]>>2]|0;if(i|0)if(!(c[e+280>>2]|0)){y=c[i+8>>2]|0;A=c[i+12>>2]|0;c[i+36>>2]=0;c[i+40>>2]=0;c[i+44>>2]=y;c[i+48>>2]=A;break}else{G_(i,e+248|0);break}}while(0);i=c[p>>2]|0}if(!i){h=-1;l=C;return h|0}else j=i}else j=i;while(0);A=l;l=l+((1*(h<<3)|0)+15&-16)|0;i=c[e+216>>2]|0;k=c[e+220>>2]|0;y=(h|0)>0;if(!(k|i)){if(y){i=0;do{c[A+(i<<3)>>2]=~~+g[f+(i<<3)>>2];c[A+(i<<3)+4>>2]=~~+g[f+(i<<3)+4>>2];i=i+1|0}while((i|0)!=(h|0))}}else if(y){o=+(i|0);m=+(k|0);i=0;do{c[A+(i<<3)>>2]=~~(o+ +g[f+(i<<3)>>2]);c[A+(i<<3)+4>>2]=~~(m+ +g[f+(i<<3)+4>>2]);i=i+1|0}while((i|0)!=(h|0))}w=c[e+316>>2]|0;n=a[e+312>>0]|0;x=a[e+315>>0]|0;p=a[e+313>>0]|0;f=a[e+314>>0]|0;if(!w){v=j+4|0;i=c[v>>2]|0;u=R_(i,n,p,f,x)|0;if(!j){vV(393700,q);h=-1;l=C;return h|0}if((d[i+8>>0]|0)<8){vV(393822,r);h=-1;l=C;return h|0}q=c[j+36>>2]|0;r=(c[j+44>>2]|0)+q|0;s=c[j+40>>2]|0;t=(c[j+48>>2]|0)+s|0;if(!y){h=0;l=C;return h|0}f=u&255;e=j+20|0;j=j+16|0;k=u&65535;i=0;b:while(1){n=c[A+(i<<3)>>2]|0;p=c[A+(i<<3)+4>>2]|0;c:do if((p|0)<(t|0)&(((n|0)>=(r|0)|(n|0)<(q|0)|(p|0)<(s|0))^1))switch(a[(c[v>>2]|0)+9>>0]|0){case 3:break b;case 1:{a[(c[e>>2]|0)+(O(c[j>>2]|0,p)|0)+n>>0]=f;break c}case 2:{b[(c[e>>2]|0)+(O(c[j>>2]|0,p)|0)+(n<<1)>>1]=k;break c}case 4:{c[(c[e>>2]|0)+(O(c[j>>2]|0,p)|0)+(n<<2)>>2]=u;break c}default:break c}while(0);i=i+1|0;if((i|0)>=(h|0)){i=0;B=46;break}}if((B|0)==46){l=C;return i|0}vV(392516,z);h=-1;l=C;return h|0}else{if(j){i=c[j+4>>2]|0;k=a[i+8>>0]|0;if((k&255)<8)i=393776;else{if((w+-1|0)>>>0<2){t=x&255;v=(((O(t,n&255)|0)>>>0)/255|0)&255;u=(((O(t,p&255)|0)>>>0)/255|0)&255;t=(((O(t,f&255)|0)>>>0)/255|0)&255}else{v=n;u=p;t=f}switch(k<<24>>24){case 15:{if((c[i+12>>2]|0)==31744)s=6;else B=40;break}case 16:{if((c[i+12>>2]|0)==63488)s=7;else B=40;break}case 32:{if((c[i+12>>2]|0)==16711680)s=(c[i+24>>2]|0)==0?3:2;else B=40;break}default:B=40}if((B|0)==40)s=(c[i+24>>2]|0)==0?5:4;f=c[j+36>>2]|0;e=(c[j+44>>2]|0)+f|0;q=c[j+40>>2]|0;r=(c[j+48>>2]|0)+q|0;if(y){p=0;i=0}else{h=0;l=C;return h|0}do{k=c[A+(p<<3)>>2]|0;n=c[A+(p<<3)+4>>2]|0;if((n|0)<(r|0)&(((k|0)>=(e|0)|(k|0)<(f|0)|(n|0)<(q|0))^1))i=Zh[s&7](j,k,n,w,v,u,t,x)|0;p=p+1|0}while((p|0)!=(h|0));l=C;return i|0}}else i=393700;vV(i,s);h=-1;l=C;return h|0}return 0}function y_(e,f,h){e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+80|0;z=I+48|0;p=I+40|0;o=I+32|0;A=I+24|0;x=I+16|0;v=I+8|0;s=I;D=I+64|0;E=I+60|0;F=I+56|0;G=I+52|0;m=e+320|0;n=c[m>>2]|0;i=c[n>>2]|0;a:do if(!i){j=n+4|0;H=c[j>>2]|0;c[n>>2]=H;i=H;if(!H){k=j_(c[e+188>>2]|0)|0;do if(k|0){c[j>>2]=k;c[n>>2]=k;i=c[c[m>>2]>>2]|0;if(!i){H=k;break a}G_(i,e+216|0);i=c[c[m>>2]>>2]|0;if(i|0)if(!(c[e+280>>2]|0)){C=c[i+8>>2]|0;H=c[i+12>>2]|0;c[i+36>>2]=0;c[i+40>>2]=0;c[i+44>>2]=C;c[i+48>>2]=H;break}else{G_(i,e+248|0);break}}while(0);i=c[n>>2]|0}if(!i){H=-1;l=I;return H|0}else H=i}else H=i;while(0);C=l;l=l+((1*(h<<3)|0)+15&-16)|0;i=c[e+216>>2]|0;k=c[e+220>>2]|0;j=(h|0)>0;if(!(k|i)){if(j){i=0;do{c[C+(i<<3)>>2]=~~+g[f+(i<<3)>>2];c[C+(i<<3)+4>>2]=~~+g[f+(i<<3)+4>>2];i=i+1|0}while((i|0)!=(h|0))}}else if(j){r=+(i|0);q=+(k|0);i=0;do{c[C+(i<<3)>>2]=~~(r+ +g[f+(i<<3)>>2]);c[C+(i<<3)+4>>2]=~~(q+ +g[f+(i<<3)+4>>2]);i=i+1|0}while((i|0)!=(h|0))}t=c[e+316>>2]|0;i=a[e+312>>0]|0;u=a[e+315>>0]|0;j=a[e+313>>0]|0;k=a[e+314>>0]|0;if(!t){o=H+4|0;m=c[o>>2]|0;e=R_(m,i,j,k,u)|0;b:do if(H){switch(a[m+9>>0]|0){case 1:{if((d[m+8>>0]|0)<8)w=26;else f=6;break}case 2:{f=5;break}case 4:{f=7;break}default:w=26}if((w|0)==26){vV(393656,v);i=-1;break}if((h|0)>1){k=H+36|0;i=c[C>>2]|0;j=1;m=i;n=c[C+4>>2]|0;do{c[D>>2]=m;c[E>>2]=n;m=c[C+(j<<3)>>2]|0;c[F>>2]=m;n=c[C+(j<<3)+4>>2]|0;c[G>>2]=n;if(e$(k,D,E,F,G)|0){B=c[F>>2]|0;z=c[G>>2]|0;Bi[f&15](H,c[D>>2]|0,c[E>>2]|0,B,z,e,((z|0)!=(n|0)|(B|0)!=(m|0))&1)}j=j+1|0}while((j|0)!=(h|0))}else i=c[C>>2]|0;m=h+-1|0;k=c[C+(m<<3)>>2]|0;m=c[C+(m<<3)+4>>2]|0;if((i|0)==(k|0)?(c[C+4>>2]|0)==(m|0):0){i=0;break}j=c[o>>2]|0;if((d[j+8>>0]|0)<8){vV(393732,x);i=0;break}i=c[H+36>>2]|0;if((((i|0)<=(k|0)?(y=c[H+40>>2]|0,(y|0)<=(m|0)):0)?((c[H+44>>2]|0)+i|0)>(k|0):0)?((c[H+48>>2]|0)+y|0)>(m|0):0)switch(a[j+9>>0]|0){case 1:{a[(c[H+20>>2]|0)+(O(c[H+16>>2]|0,m)|0)+k>>0]=e;i=0;break b}case 2:{b[(c[H+20>>2]|0)+(O(c[H+16>>2]|0,m)|0)+(k<<1)>>1]=e;i=0;break b}case 3:{vV(392516,A);i=0;break b}case 4:{c[(c[H+20>>2]|0)+(O(c[H+16>>2]|0,m)|0)+(k<<2)>>2]=e;i=0;break b}default:{i=0;break b}}else i=0}else{vV(393607,s);i=-1}while(0);H=i;l=I;return H|0}c:do if(H){s=H+4|0;n=c[s>>2]|0;d:do switch(a[n+9>>0]|0){case 2:{n=c[n+12>>2]|0;n=(n|0)==31744?4:(n|0)==63488?3:2;break}case 4:{m=(c[n+24>>2]|0)!=0;if((c[n+12>>2]|0)==16711680){n=m?6:5;break d}else{n=m?8:7;break d}}default:{vV(393500,p);i=-1;break c}}while(0);if((h|0)>1){e=H+36|0;m=c[C>>2]|0;f=1;o=m;p=c[C+4>>2]|0;do{c[D>>2]=o;c[E>>2]=p;o=c[C+(f<<3)>>2]|0;c[F>>2]=o;p=c[C+(f<<3)+4>>2]|0;c[G>>2]=p;if(e$(e,D,E,F,G)|0){A=c[F>>2]|0;y=c[G>>2]|0;Ei[n&15](H,c[D>>2]|0,c[E>>2]|0,A,y,t,i,j,k,u,((y|0)!=(p|0)|(A|0)!=(o|0))&1)}f=f+1|0}while((f|0)!=(h|0))}else m=c[C>>2]|0;o=h+-1|0;e=c[C+(o<<3)>>2]|0;o=c[C+(o<<3)+4>>2]|0;if((m|0)==(e|0)?(c[C+4>>2]|0)==(o|0):0){i=0;break}n=c[s>>2]|0;f=a[n+8>>0]|0;if((f&255)<8){vV(393545,z);i=0;break}m=c[H+36>>2]|0;if((((m|0)<=(e|0)?(B=c[H+40>>2]|0,(B|0)<=(o|0)):0)?((c[H+44>>2]|0)+m|0)>(e|0):0)?((c[H+48>>2]|0)+B|0)>(o|0):0){if((t+-1|0)>>>0<2){h=u&255;k=(((O(h,k&255)|0)>>>0)/255|0)&255;j=(((O(h,j&255)|0)>>>0)/255|0)&255;i=(((O(h,i&255)|0)>>>0)/255|0)&255}switch(f<<24>>24){case 15:{if((c[n+12>>2]|0)==31744){f$(H,e,o,t,i,j,k,u)|0;i=0;break c}break}case 16:{if((c[n+12>>2]|0)==63488){g$(H,e,o,t,i,j,k,u)|0;i=0;break c}break}case 32:{if((c[n+12>>2]|0)==16711680)if(!(c[n+24>>2]|0)){h$(H,e,o,t,i,j,k,u)|0;i=0;break c}else{i$(H,e,o,t,i,j,k,u)|0;i=0;break c}break}default:{}}if(!(c[n+24>>2]|0)){j$(H,e,o,t,i,j,k,u)|0;i=0;break}else{k$(H,e,o,t,i,j,k,u)|0;i=0;break}}else i=0}else{vV(393450,o);i=-1}while(0);H=i;l=I;return H|0}function z_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;G=l;l=l+32|0;p=G+8|0;E=G;D=G+16|0;k=b+320|0;n=c[k>>2]|0;f=c[n>>2]|0;a:do if(!f){i=n+4|0;z=c[i>>2]|0;c[n>>2]=z;f=z;if(!z){h=j_(c[b+188>>2]|0)|0;do if(h|0){c[i>>2]=h;c[n>>2]=h;f=c[c[k>>2]>>2]|0;if(!f){z=h;break a}G_(f,b+216|0);f=c[c[k>>2]>>2]|0;if(f|0)if(!(c[b+280>>2]|0)){y=c[f+8>>2]|0;z=c[f+12>>2]|0;c[f+36>>2]=0;c[f+40>>2]=0;c[f+44>>2]=y;c[f+48>>2]=z;break}else{G_(f,b+248|0);break}}while(0);f=c[n>>2]|0}if(!f){e=-1;l=G;return e|0}else z=f}else z=f;while(0);y=l;l=l+((1*(e<<4)|0)+15&-16)|0;f=c[b+216>>2]|0;h=c[b+220>>2]|0;o=(e|0)>0;if(!(h|f)){if(o){f=0;do{c[y+(f<<4)>>2]=~~+g[d+(f<<4)>>2];c[y+(f<<4)+4>>2]=~~+g[d+(f<<4)+4>>2];x=~~+g[d+(f<<4)+8>>2];c[y+(f<<4)+8>>2]=(x|0)>1?x:1;x=~~+g[d+(f<<4)+12>>2];c[y+(f<<4)+12>>2]=(x|0)>1?x:1;f=f+1|0}while((f|0)!=(e|0))}}else if(o){m=+(f|0);j=+(h|0);f=0;do{c[y+(f<<4)>>2]=~~(m+ +g[d+(f<<4)>>2]);c[y+(f<<4)+4>>2]=~~(j+ +g[d+(f<<4)+4>>2]);x=~~+g[d+(f<<4)+8>>2];c[y+(f<<4)+8>>2]=(x|0)>1?x:1;x=~~+g[d+(f<<4)+12>>2];c[y+(f<<4)+12>>2]=(x|0)>1?x:1;f=f+1|0}while((f|0)!=(e|0))}w=c[b+316>>2]|0;f=a[b+314>>0]|0;x=a[b+315>>0]|0;n=a[b+312>>0]|0;h=a[b+313>>0]|0;if(!w){i=R_(c[z+4>>2]|0,n,h,f,x)|0;if(o){h=0;f=0}else{e=0;l=G;return e|0}do{f=(FZ(z,y+(h<<4)|0,i)|0)+f|0;h=h+1|0}while((h|0)!=(e|0));l=G;return f|0}if(z){i=c[z+4>>2]|0;k=a[i+8>>0]|0;if((k&255)>=8){if((w+-1|0)>>>0<2){u=x&255;v=(((O(u,f&255)|0)>>>0)/255|0)&255;h=(((O(u,h&255)|0)>>>0)/255|0)&255;n=(((O(u,n&255)|0)>>>0)/255|0)&255}else v=f;switch(k<<24>>24){case 15:{if((c[i+12>>2]|0)==31744)u=5;else F=29;break}case 16:{if((c[i+12>>2]|0)==63488)u=6;else F=29;break}case 32:{if((c[i+12>>2]|0)==16711680)u=(c[i+24>>2]|0)==0?2:1;else F=29;break}default:F=29}if((F|0)==29)u=(c[i+24>>2]|0)==0?4:3;if(o){o=D+8|0;b=D+12|0;p=z+44|0;q=z+48|0;r=z+36|0;s=z+40|0;t=D+4|0;d=0;f=0;do{i=y+(d<<4)|0;do if(!i){c[E>>2]=387142;vV(406140,E)}else{k=c[y+(d<<4)+8>>2]|0;if((((k|0)>=1?(A=c[y+(d<<4)+12>>2]|0,(A|0)>=1):0)?(B=c[p>>2]|0,(B|0)>=1):0)?(C=c[q>>2]|0,(C|0)>=1):0){i=c[i>>2]|0;k=k+i|0;J=c[r>>2]|0;H=B+J|0;i=(J|0)>(i|0)?J:i;c[D>>2]=i;i=((H|0)<(k|0)?H:k)-i|0;c[o>>2]=i;k=c[y+(d<<4)+4>>2]|0;H=A+k|0;J=c[s>>2]|0;I=C+J|0;k=(J|0)>(k|0)?J:k;c[t>>2]=k;k=((I|0)<(H|0)?I:H)-k|0;c[b>>2]=k;if(!((i|0)>0&(k|0)>0))break;f=Yh[u&7](z,D,w,n,h,v,x)|0;break}c[o>>2]=0;c[b>>2]=0}while(0);d=d+1|0}while((d|0)!=(e|0))}else f=0}else{f=393401;F=42}}else{f=393700;F=42}if((F|0)==42){vV(f,p);f=-1}J=f;l=G;return J|0}function A_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;o=q;k=a+320|0;m=c[k>>2]|0;f=c[m>>2]|0;a:do if(!f){j=m+4|0;r=c[j>>2]|0;c[m>>2]=r;f=r;if(!r){f=j_(c[a+188>>2]|0)|0;do if(f|0){c[j>>2]=f;c[m>>2]=f;j=c[c[k>>2]>>2]|0;if(!j){n=10;break a}G_(j,a+216|0);f=c[c[k>>2]>>2]|0;if(f|0)if(!(c[a+280>>2]|0)){k=c[f+8>>2]|0;r=c[f+12>>2]|0;c[f+36>>2]=0;c[f+40>>2]=0;c[f+44>>2]=k;c[f+48>>2]=r;break}else{G_(f,a+248|0);break}}while(0);f=c[m>>2]|0}if(!f){r=-1;l=q;return r|0}else{m=c[b+68>>2]|0;k=f}}else n=10;while(0);if((n|0)==10){m=c[b+68>>2]|0;k=f}f=c[a+216>>2]|0;j=c[a+220>>2]|0;h=+g[e+4>>2];i=+g[e>>2];if(j|f){i=+(f|0)+i;h=+(j|0)+h}c[o>>2]=~~i;c[o+4>>2]=~~h;a=~~+g[e+8>>2];c[o+8>>2]=a;r=~~+g[e+12>>2];c[o+12>>2]=r;if((c[d+8>>2]|0)==(a|0)?(c[d+12>>2]|0)==(r|0):0){r=M_(m,d,k,o)|0;l=q;return r|0}if(k|0?(p=c[k+52>>2]|0,a=p+68|0,r=c[a>>2]|0,e=r&-4097,c[a>>2]=e,!((e|0)==(r|0)|(p|0)==0)):0){f=c[p>>2]|0;if(f|0?(e=f+56|0,r=c[e>>2]|0,c[e>>2]=r+-1,(r|0)<2):0)YV(f);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;r=p+64|0;C2(c[r>>2]|0);c[r>>2]=0}r=J_(m,d,k,o)|0;l=q;return r|0}function B_(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0.0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0;na=l;l=l+48|0;R=na+8|0;q=na;fa=na+32|0;ma=na+16|0;o=b+320|0;p=c[o>>2]|0;m=c[p>>2]|0;a:do if(!m){n=p+4|0;ja=c[n>>2]|0;c[p>>2]=ja;m=ja;if(!ja){m=j_(c[b+188>>2]|0)|0;do if(m|0){c[n>>2]=m;c[p>>2]=m;n=c[c[o>>2]>>2]|0;if(!n){I=10;break a}G_(n,b+216|0);m=c[c[o>>2]>>2]|0;if(m|0)if(!(c[b+280>>2]|0)){ia=c[m+8>>2]|0;ja=c[m+12>>2]|0;c[m+36>>2]=0;c[m+40>>2]=0;c[m+44>>2]=ia;c[m+48>>2]=ja;break}else{G_(m,b+248|0);break}}while(0);m=c[p>>2]|0}if(!m){ma=-1;l=na;return ma|0}else{ja=m;aa=ma;m=c[e+68>>2]|0}}else I=10;while(0);if((I|0)==10){ja=m;aa=ma;m=c[e+68>>2]|0}ga=c[b+216>>2]|0;A=+g[h+4>>2];ha=c[b+220>>2]|0;y=+g[h>>2];ia=(ha|ga|0)==0;ga=~~(ia?y:+(ga|0)+y);ha=~~(ia?A:A+ +(ha|0));ia=~~+g[h+8>>2];ea=~~+g[h+12>>2];ba=ma+4|0;ca=ma+8|0;c[ca>>2]=ia;da=ma+12|0;c[da>>2]=ea;c[ma>>2]=0;c[ba>>2]=0;if((((c[f+8>>2]|0)==(ia|0)?(c[f+12>>2]|0)==(ea|0):0)?(c[f>>2]|0)==0:0)?(c[f+4>>2]|0)==0:0){o=m;p=ia;e=ea;I=65}else{h=m+4|0;n=c[h>>2]|0;n=O_(d[n+8>>0]|0,c[n+12>>2]|0,c[n+16>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;if(!n){vV(393207,q);ma=-1;l=na;return ma|0}o=P_(ia,ea,n)|0;if(!o){ma=-1;l=na;return ma|0}n=m+52|0;e=c[n>>2]|0;p=c[e+68>>2]|0;if(!(p&256))b=0;else{I_(o,1,c[e+72>>2]|0);e=c[n>>2]|0;b=1;p=c[e+68>>2]|0}x=a[e+79>>0]|0;switch(p&112){case 16:{q=1;break}case 32:{q=2;break}case 64:{q=4;break}default:q=0}z=a[e+76>>0]|0;C=a[e+77>>0]|0;r=a[e+78>>0]|0;if(!q)n=(z&x&C&r)<<24>>24!=-1;else n=1;if(n&1|b){b=K_(m,c[h>>2]|0,c[m>>2]|0)|0;if(!b){YV(o);ma=-1;l=na;return ma|0}e=b+52|0;p=c[e>>2]|0;a[p+79>>0]=-1;_=p+68|0;n=c[_>>2]|0;$=n&-3;c[_>>2]=$;if(($|0)!=(n|0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;n=p+64|0;C2(c[n>>2]|0);c[n>>2]=0;n=c[e>>2]|0;p=n;n=c[n+68>>2]|0}$=n&-113;c[p+68>>2]=$;if(!(($|0)==(n|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;$=p+64|0;C2(c[$>>2]|0);c[$>>2]=0}I_(b,0,0);p=c[e>>2]|0;a[p+76>>0]=-1;a[p+77>>0]=-1;a[p+78>>0]=-1;_=p+68|0;n=c[_>>2]|0;$=n&-2;c[_>>2]=$;if(($|0)!=(n|0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;n=p+64|0;C2(c[n>>2]|0);c[n>>2]=0;n=c[e>>2]|0;p=n;n=c[n+68>>2]|0}$=n&-4097;c[p+68>>2]=$;if(!(($|0)==(n|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;$=p+64|0;C2(c[$>>2]|0);c[$>>2]=0}p=c[o+52>>2]|0;a[p+79>>0]=x;Z=p+68|0;$=c[Z>>2]|0;_=x<<24>>24!=-1?$|2:$&-3;c[Z>>2]=_;if(!((_|0)==($|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;$=p+64|0;C2(c[$>>2]|0);c[$>>2]=0}L_(o,q)|0;p=c[o+52>>2]|0;a[p+76>>0]=z;a[p+77>>0]=C;a[p+78>>0]=r;Z=p+68|0;$=c[Z>>2]|0;_=(C&z)<<24>>24==-1&r<<24>>24==-1?$&-2:$|1;c[Z>>2]=_;if(!((_|0)==($|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(_=n+56|0,$=c[_>>2]|0,c[_>>2]=$+-1,($|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;$=p+64|0;C2(c[$>>2]|0);c[$>>2]=0}n=J_(b,f,o,ma)|0;if((b|0)!=(m|0))YV(b)}else n=J_(m,f,o,ma)|0;if(!n){p=c[ca>>2]|0;e=c[da>>2]|0;I=65}}b:do if((I|0)==65){A=i/90.0;J=~~A;L=+(J|0)==A;do if(L){n=(J|0)%4|0;n=(n|0)<0?n+4|0:n;if(!(n&1)){y=0.0;A=(n|0)==0?1.0:-1.0;$=e;_=p;break}else{y=(n|0)==1?-1.0:1.0;A=0.0;$=p;_=e;break}}else{A=i*-.017453292519943295;y=+F(+A);A=+E(+A);w=+((p|0)/2|0|0);t=+((e|0)/2|0|0);u=w*A;v=t*A;w=w*y;t=t*y;s=u+t;i=u-t;n=+B(+s)>+B(+i);i=n?s:i;s=t-u;n=+B(+i)>+B(+s);t=-u-t;u=+B(+t);$=!(+B(+(n?i:s))>u);if((~~+N(+(+B(+($|n^1?($?t:s):i))))|0)>1){p=!(+B(+(n?i:s))>u);p=~~+N(+(+B(+(p|n^1?(p?t:s):i))))<<1}else p=2;u=v+w;t=w-v;n=+B(+u)>+B(+t);t=n?u:t;u=v-w;n=+B(+t)>+B(+u);s=-w-v;i=+B(+s);$=!(+B(+(n?t:u))>i);if((~~+N(+(+B(+($|n^1?($?s:u):t))))|0)>1){$=!(+B(+(n?t:u))>i);$=~~+N(+(+B(+($|n^1?($?s:u):t))))<<1;_=p}else{$=2;_=p}}while(0);T=(_|0)/2|0;W=($|0)/2|0;p=Of(393071)|0;n=c[104300]|0;c:do if(!n){n=p;I=79}else{while(1){if(!(e3(393071,c[n>>2]|0)|0))break;n=c[n+16>>2]|0;if(!n){n=p;I=79;break c}}if(p|0?(c[n+8>>2]|0)!=2:0){n=p;I=80;break}n=c[n+4>>2]|0;I=79}while(0);if((I|0)==79)if(!n)K=0;else I=80;if((I|0)==80)if((a[n>>0]|0)==48)K=0;else K=(q4(n,393096)|0)!=0&1;V=k&1;U=k&2;if(o){b=c[o>>2]|0;do if(b&1){n=c[o+52>>2]|0;if(!(c[n+68>>2]&256))p=0;else p=c[n+72>>2]|0;e=c[o+4>>2]|0;n=c[e+4>>2]|0;if(!n){k=1;D=a[(c[22432+(d[e+28>>0]<<2)>>2]|0)+((c[e+12>>2]&p)>>>(d[e+32>>0]|0))>>0]|0;G=a[(c[22432+(d[e+29>>0]<<2)>>2]|0)+((c[e+16>>2]&p)>>>(d[e+33>>0]|0))>>0]|0;H=a[(c[22432+(d[e+30>>0]<<2)>>2]|0)+((c[e+20>>2]&p)>>>(d[e+34>>0]|0))>>0]|0;break}if((c[n>>2]|0)>>>0>p>>>0){H=c[n+4>>2]|0;k=1;D=a[H+(p<<2)>>0]|0;G=a[H+(p<<2)+1>>0]|0;H=a[H+(p<<2)+2>>0]|0}else{k=1;D=0;G=0;H=0}}else{k=0;D=0;G=0;H=0;e=c[o+4>>2]|0}while(0);n=a[e+8>>0]|0;switch(n<<24>>24){case 8:case 32:{i=y*65536.0;s=A*65536.0;p=$+2|0;if(n<<24>>24==32){f=o;C=p;I=107}else{Z=o;f=0;Y=P_(_,p,318769153)|0}break}default:{e=N_(377888772)|0;if(!e){n=0;break b}b=K_(o,e,b)|0;Y=e+36|0;Z=c[Y>>2]|0;c[Y>>2]=Z+-1;if((Z|0)<=1){n=c[104299]|0;d:do if((n|0)!=(e|0)){if(n|0){do{p=n+40|0;n=c[p>>2]|0;if(!n)break d}while((n|0)!=(e|0));c[p>>2]=c[e+40>>2]}}else c[104299]=c[e+40>>2];while(0);n=c[e+4>>2]|0;if(n|0?(Y=n+12|0,Z=c[Y>>2]|0,c[Y>>2]=Z+-1,(Z|0)<=1):0){C2(c[n+4>>2]|0);C2(n)}C2(e)}if(!b){n=0;break b}f=b;s=A*65536.0;i=y*65536.0;e=c[b+4>>2]|0;C=$+2|0;I=107}}if((I|0)==107){r=c[e+12>>2]|0;x=c[e+16>>2]|0;z=c[e+20>>2]|0;h=c[e+24>>2]|0;if((r|0)!=0?(M=(x|0)==65280,Q=(r|0)==16711680&M&(z|0)==255,P=(h|0)==0,!(Q&P)):0){n=(x|0)==16711680;q=(r|0)==-16777216&n&(z|0)==65280;if(!(q&P)){b=(r|0)==255&M&(z|0)==16711680;if(!(b&P)){e=(r|0)==65280&n&(z|0)==-16777216;if(!(e&P)){p=(h|0)==-16777216;if(!(Q&p)){n=(h|0)==255;if(!(q&n))if(!(b&p))if(!(e&n))if((r|0)==1072693248&(x|0)==1047552&(z|0)==1023&(h|0)==-1073741824)n=372711428;else{vV(393207,R);n=0;break}else n=377888772;else n=376840196;else n=373694468}else n=372645892}else n=375789572}else n=374740996}else n=371595268}else n=370546692;Z=f;f=1;Y=P_(_,C,n)|0}if(Y){X=Y+12|0;c[X>>2]=$;if((k|0)==1){n=c[Y+4>>2]|0;p=c[n+4>>2]|0;if(!p)n=(G&255)>>>(d[n+29>>0]|0)<<d[n+33>>0]|(D&255)>>>(d[n+28>>0]|0)<<d[n+32>>0]|c[n+24>>2]|(H&255)>>>(d[n+30>>0]|0)<<d[n+34>>0];else{z=c[p>>2]|0;e:do if((z|0)>0){x=c[p+4>>2]|0;r=D&255;q=G&255;h=H&255;b=0;p=-1;n=0;do{R=(d[x+(b<<2)>>0]|0)-r|0;Q=(d[x+(b<<2)+1>>0]|0)-q|0;S=(d[x+(b<<2)+2>>0]|0)-h|0;e=(d[x+(b<<2)+3>>0]|0)+-255|0;e=(O(Q,Q)|0)+(O(R,R)|0)+(O(S,S)|0)+(O(e,e)|0)|0;if(e>>>0<p>>>0){n=b&255;if(!e)break e;else p=e}b=b+1|0}while((b|0)<(z|0))}else n=0;while(0);n=n&255}FZ(Y,0,n)|0}if(c[Z>>2]&2|0){p=Z+28|0;n=c[p>>2]|0;if(!n){XV(Z,1);c[Z>>2]=c[Z>>2]|2;n=c[p>>2]|0}c[p>>2]=n+1}if(L){r=(J|0)%4|0;r=(r|0)<0?r+4|0:r}else r=-1;if(f){f:do if((r|0)>-1){D=Y+8|0;n=c[D>>2]|0;G=(c[Y+16>>2]|0)-(n<<2)|0;e=c[Z+20>>2]|0;b=c[Y+20>>2]|0;C=(U|0)!=0;f=c[Z+16>>2]|0;x=C?0-f|0:f;z=(V|0)!=0;h=V<<3^8;q=h+-4|0;switch(r|0){case 0:{r=1;p=1;k=x-(O(c[Z+8>>2]|0,q)|0)|0;x=q;break}case 1:{r=-1;p=1;k=(O(c[Z+12>>2]|0,x)|0)+q|0;x=0-x|0;break}case 2:{r=-1;p=-1;k=(O(c[Z+8>>2]|0,q)|0)-x|0;x=4-h|0;break}default:{r=1;p=-1;k=(O(c[Z+12>>2]|0,0-x|0)|0)-q|0}}if(((z?0-p|0:p)|0)<0)e=e+((c[Z+8>>2]<<2)+-4)|0;if(((C?0-r|0:r)|0)<0)e=e+(O((c[Z+12>>2]|0)+-1|0,f)|0)|0;p=c[X>>2]|0;if((p|0)>0){if((x|0)==4){h=0;while(1){s6(b|0,e|0,n<<2|0)|0;n=c[D>>2]|0;p=n<<2;h=h+1|0;if((h|0)>=(c[X>>2]|0)){I=192;break f}else{b=b+p+G|0;e=e+p+k|0}}}else z=0;while(1){n=n<<2;r=b+n|0;if(n){h=n+-4|0;q=(h>>>2)+1|0;n=b;p=e;while(1){W=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[n>>0]=W;a[n+1>>0]=W>>8;a[n+2>>0]=W>>16;a[n+3>>0]=W>>24;n=n+4|0;if((n|0)==(r|0))break;else p=p+x|0}e=e+(O(q,x)|0)|0;b=b+4+h|0;p=c[X>>2]|0}n=z+1|0;if((n|0)>=(p|0)){I=192;break f}b=b+G|0;z=n;e=e+k|0;n=c[D>>2]|0}}else I=191}else{S=~~i;Q=~~s;I=Z+8|0;L=c[I>>2]|0;R=Y+8|0;p=c[R>>2]|0;b=L-p<<15;J=Z+12|0;M=c[J>>2]|0;n=c[X>>2]|0;r=M-n<<15;h=O(65536-Q|0,T)|0;q=(W<<16)-(O(S,T)|0)|0;L=L+-1|0;M=M+-1|0;D=c[Y+20>>2]|0;P=(c[Y+16>>2]|0)-(p<<2)|0;e=(n|0)>0;if(K|0){if(!e){I=191;break}H=b+h|0;G=r+q|0;k=(V|0)!=0;z=(U|0)!=0;C=Z+20|0;f=Z+16|0;x=0;b=D;while(1){e=W-x|0;if((p|0)>0){r=H+(O(e,S)|0)|0;h=G-(O(e,Q)|0)|0;q=0;e=b;while(1){n=r>>16;b=h>>16;n=k?L-n|0:n;b=z?M-b|0:b;if(n>>>0<L>>>0&b>>>0<M>>>0){xa=c[f>>2]|0;ta=(c[C>>2]|0)+(O(xa,b)|0)|0;ua=ta+(n<<2)|0;U=a[ua>>0]|0;D=a[ta+(n<<2)+1>>0]|0;pa=a[ta+(n<<2)+2>>0]|0;ta=a[ta+(n<<2)+3>>0]|0;ua=ua+4|0;va=a[ua>>0]|0;ra=a[ua+1>>0]|0;n=a[ua+2>>0]|0;J=a[ua+3>>0]|0;xa=ua+(((xa|0)/4|0)<<2)|0;ua=a[xa>>0]|0;qa=a[xa+1>>0]|0;b=a[xa+2>>0]|0;K=a[xa+3>>0]|0;xa=xa+-4|0;T=a[xa>>0]|0;V=a[xa+1>>0]|0;p=a[xa+2>>0]|0;xa=a[xa+3>>0]|0;I=k?J:ta;oa=k?n:pa;sa=k?ra:D;wa=k?va:U;J=k?ta:J;n=k?pa:n;ra=k?D:ra;va=k?U:va;U=k?K:xa;D=k?b:p;pa=k?qa:V;ta=k?ua:T;K=k?xa:K;b=k?p:b;qa=k?V:qa;ua=k?T:ua;T=r&65535;V=h&65535;p=(z?ta:wa)&255;p=((O(((z?ua:va)&255)-p|0,T)|0)>>>16)+p|0;ta=(z?wa:ta)&255;a[e>>0]=((O((((O(((z?va:ua)&255)-ta|0,T)|0)>>>16)+ta&255)-(p&255)|0,V)|0)>>>16)+p;p=(z?pa:sa)&255;p=((O(((z?qa:ra)&255)-p|0,T)|0)>>>16)+p|0;pa=(z?sa:pa)&255;a[e+1>>0]=((O((((O(((z?ra:qa)&255)-pa|0,T)|0)>>>16)+pa&255)-(p&255)|0,V)|0)>>>16)+p;p=(z?D:oa)&255;p=((O(((z?b:n)&255)-p|0,T)|0)>>>16)+p|0;D=(z?oa:D)&255;a[e+2>>0]=((O((((O(((z?n:b)&255)-D|0,T)|0)>>>16)+D&255)-(p&255)|0,V)|0)>>>16)+p;p=(z?U:I)&255;p=((O(((z?K:J)&255)-p|0,T)|0)>>>16)+p|0;U=(z?I:U)&255;a[e+3>>0]=((O((((O(((z?J:K)&255)-U|0,T)|0)>>>16)+U&255)-(p&255)|0,V)|0)>>>16)+p;p=c[R>>2]|0}e=e+4|0;q=q+1|0;if((q|0)>=(p|0))break;else{r=r+Q|0;h=h+S|0}}n=c[X>>2]|0}else e=b;x=x+1|0;if((x|0)>=(n|0)){I=192;break f}else b=e+P|0}}if(e){H=b+h|0;G=r+q|0;k=(V|0)==0;z=(U|0)==0;C=Z+20|0;f=Z+16|0;x=0;e=D;while(1){b=W-x|0;n=H+(O(b,S)|0)|0;b=G-(O(b,Q)|0)|0;if((p|0)>0)if(k)if(z){q=b;r=0;while(1){b=n>>16;h=q>>16;do if(b>>>0<(c[I>>2]|0)>>>0){if(h>>>0>=(c[J>>2]|0)>>>0)break;p=(c[C>>2]|0)+(O(c[f>>2]|0,h)|0)+(b<<2)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;p=c[R>>2]|0}while(0);e=e+4|0;r=r+1|0;if((r|0)>=(p|0))break;else{n=n+Q|0;q=q+S|0}}}else{q=b;r=0;while(1){b=n>>16;h=q>>16;do if(b>>>0<(c[I>>2]|0)>>>0){if(h>>>0>=(c[J>>2]|0)>>>0)break;p=(c[C>>2]|0)+(O(c[f>>2]|0,M-h|0)|0)+(b<<2)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;p=c[R>>2]|0}while(0);e=e+4|0;r=r+1|0;if((r|0)>=(p|0))break;else{n=n+Q|0;q=q+S|0}}}else if(z){q=b;r=0;while(1){b=n>>16;h=q>>16;do if(b>>>0<(c[I>>2]|0)>>>0){if(h>>>0>=(c[J>>2]|0)>>>0)break;p=(c[C>>2]|0)+(O(c[f>>2]|0,h)|0)+(L-b<<2)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;p=c[R>>2]|0}while(0);e=e+4|0;r=r+1|0;if((r|0)>=(p|0))break;else{n=n+Q|0;q=q+S|0}}}else{q=b;r=0;while(1){b=n>>16;h=q>>16;do if(b>>>0<(c[I>>2]|0)>>>0){if(h>>>0>=(c[J>>2]|0)>>>0)break;p=(c[C>>2]|0)+(O(c[f>>2]|0,M-h|0)|0)+(L-b<<2)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;p=c[R>>2]|0}while(0);e=e+4|0;r=r+1|0;if((r|0)>=(p|0))break;else{n=n+Q|0;q=q+S|0}}}x=x+1|0;if((x|0)>=(c[X>>2]|0)){I=192;break}else e=e+P|0}}else I=191}while(0);if((I|0)==191){c[fa>>2]=0;I=193}else if((I|0)==192){c[fa>>2]=0;if(!Z)n=0;else I=193}if((I|0)==193){n=c[Z+52>>2]|0;if(!(c[n+68>>2]&256))n=0;else{n=c[n+72>>2]|0;c[fa>>2]=n}}I_(Y,3,n)}else{h=Z+4|0;e=c[(c[h>>2]|0)+4>>2]|0;n=c[e>>2]|0;q=Y+4|0;p=c[(c[q>>2]|0)+4>>2]|0;if((n|0)>0){b=0;do{n=(c[p+4>>2]|0)+(b<<2)|0;p=(c[e+4>>2]|0)+(b<<2)|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[n>>0]=p;a[n+1>>0]=p>>8;a[n+2>>0]=p>>16;a[n+3>>0]=p>>24;b=b+1|0;e=c[(c[h>>2]|0)+4>>2]|0;n=c[e>>2]|0;p=c[(c[q>>2]|0)+4>>2]|0}while((b|0)<(n|0))}c[p>>2]=n;g:do if((r|0)>-1){D=Y+8|0;n=c[D>>2]|0;G=(c[Y+16>>2]|0)-n|0;p=c[Z+20>>2]|0;e=c[Y+20>>2]|0;C=(U|0)!=0;f=c[Z+16>>2]|0;x=C?0-f|0:f;z=(V|0)!=0;h=V<<1^2;q=h+-1|0;switch(r|0){case 0:{r=1;b=1;k=x-(O(c[Z+8>>2]|0,q)|0)|0;break}case 1:{r=-1;b=1;k=(O(c[Z+12>>2]|0,x)|0)+q|0;q=0-x|0;break}case 2:{r=-1;b=-1;k=(O(c[Z+8>>2]|0,q)|0)-x|0;q=1-h|0;break}default:{r=1;b=-1;k=(O(c[Z+12>>2]|0,0-x|0)|0)-q|0;q=x}}if(((z?0-b|0:b)|0)<0)p=p+((c[Z+8>>2]|0)+-1)|0;if(((C?0-r|0:r)|0)<0)p=p+(O((c[Z+12>>2]|0)+-1|0,f)|0)|0;b=c[X>>2]|0;if((b|0)>0){if((q|0)==1){b=0;while(1){s6(e|0,p|0,n|0)|0;n=c[D>>2]|0;b=b+1|0;if((b|0)>=(c[X>>2]|0)){I=241;break g}else{e=e+n+G|0;p=p+n+k|0}}}else r=0;while(1){h=e+n|0;if(n){b=p;while(1){a[e>>0]=a[b>>0]|0;e=e+1|0;if((e|0)==(h|0))break;else b=b+q|0}p=p+(O(n,q)|0)|0;e=h;b=c[X>>2]|0}n=r+1|0;if((n|0)>=(b|0)){I=241;break g}e=e+G|0;r=n;p=p+k|0;n=c[D>>2]|0}}else I=240}else{R=~~i;L=~~s;M=Z+8|0;e=c[M>>2]|0;P=Y+8|0;b=c[P>>2]|0;Q=Z+12|0;q=c[Q>>2]|0;h=c[X>>2]|0;r=c[Y+20>>2]|0;p=c[Y+16>>2]|0;K=p-b|0;n=c[Z+52>>2]|0;if(!(c[n+68>>2]&256))n=0;else n=c[n+72>>2]|0;u6(r|0,n&255|0,O(h,p)|0)|0;if((c[X>>2]|0)>0){J=(e-b<<15)+(O(65536-L|0,T)|0)|0;I=(V|0)==0;D=(U|0)==0;G=Z+20|0;H=Z+16|0;k=O(R,T)|0;f=(q-h<<15)+(W<<16)|0;e=r;C=0;n=c[P>>2]|0;while(1){p=W-C|0;b=J+(O(p,R)|0)|0;p=f-((O(p,L)|0)+k)|0;if((n|0)>0)if(I)if(D){q=b;r=0;while(1){b=q>>16;h=p>>16;do if(b>>>0<(c[M>>2]|0)>>>0){if(h>>>0>=(c[Q>>2]|0)>>>0)break;a[e>>0]=a[(c[G>>2]|0)+(O(c[H>>2]|0,h)|0)+b>>0]|0;n=c[P>>2]|0}while(0);e=e+1|0;r=r+1|0;if((r|0)>=(n|0))break;else{p=p+R|0;q=q+L|0}}}else{x=0;while(1){h=b>>16;q=p>>16;do if(h>>>0<(c[M>>2]|0)>>>0){r=c[Q>>2]|0;if(q>>>0>=r>>>0)break;a[e>>0]=a[(c[G>>2]|0)+(O(c[H>>2]|0,r+~q|0)|0)+h>>0]|0;n=c[P>>2]|0}while(0);e=e+1|0;x=x+1|0;if((x|0)>=(n|0))break;else{p=p+R|0;b=b+L|0}}}else if(D){x=0;while(1){h=b>>16;q=p>>16;r=c[M>>2]|0;do if(h>>>0<r>>>0){if(q>>>0>=(c[Q>>2]|0)>>>0)break;a[e>>0]=a[(c[G>>2]|0)+(O(c[H>>2]|0,q)|0)+(r+~h)>>0]|0;n=c[P>>2]|0}while(0);e=e+1|0;x=x+1|0;if((x|0)>=(n|0))break;else{p=p+R|0;b=b+L|0}}}else{z=0;while(1){h=b>>16;q=p>>16;r=c[M>>2]|0;do if(h>>>0<r>>>0){x=c[Q>>2]|0;if(q>>>0>=x>>>0)break;a[e>>0]=a[(c[G>>2]|0)+(O(c[H>>2]|0,x+~q|0)|0)+(r+~h)>>0]|0;n=c[P>>2]|0}while(0);e=e+1|0;z=z+1|0;if((z|0)>=(n|0))break;else{p=p+R|0;b=b+L|0}}}C=C+1|0;if((C|0)>=(c[X>>2]|0)){I=241;break}else e=e+K|0}}else I=240}while(0);if((I|0)==240){c[fa>>2]=0;I=242}else if((I|0)==241){c[fa>>2]=0;if(!Z)n=0;else I=242}if((I|0)==242){n=c[Z+52>>2]|0;if(!(c[n+68>>2]&256))n=0;else{n=c[n+72>>2]|0;c[fa>>2]=n}}I_(Y,3,n)}n=c[o+52>>2]|0;e=a[n+79>>0]|0;switch(c[n+68>>2]&112){case 16:{h=1;break}case 32:{h=2;break}case 64:{h=4;break}default:h=0}q=a[n+76>>0]|0;r=a[n+77>>0]|0;b=a[n+78>>0]|0;p=c[Y+52>>2]|0;a[p+79>>0]=e;va=p+68|0;xa=c[va>>2]|0;wa=e<<24>>24!=-1?xa|2:xa&-3;c[va>>2]=wa;if(!((wa|0)==(xa|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(wa=n+56|0,xa=c[wa>>2]|0,c[wa>>2]=xa+-1,(xa|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;xa=p+64|0;C2(c[xa>>2]|0);c[xa>>2]=0}L_(Y,h)|0;p=c[Y+52>>2]|0;a[p+76>>0]=q;a[p+77>>0]=r;a[p+78>>0]=b;va=p+68|0;xa=c[va>>2]|0;wa=(r&q)<<24>>24==-1&b<<24>>24==-1?xa&-2:xa|1;c[va>>2]=wa;if(!((wa|0)==(xa|0)|(p|0)==0)){n=c[p>>2]|0;if(n|0?(wa=n+56|0,xa=c[wa>>2]|0,c[wa>>2]=xa+-1,(xa|0)<2):0)YV(n);c[p>>2]=0;c[p+84>>2]=0;c[p+80>>2]=0;xa=p+64|0;C2(c[xa>>2]|0);c[xa>>2]=0}n=c[Z>>2]|0;if((n&2|0?(ka=Z+28|0,la=c[ka>>2]|0,la|0):0)?(c[ka>>2]=la+-1,(la|0)<=1):0){c[Z>>2]=n&-3;$V(Z)|0}if((Z|0)!=(o|0))YV(Z);if(Y){va=~~+g[j>>2];xa=va+ga|0;wa=~~+g[j+4>>2];n=wa+ha|0;u=-y;w=+(0-va|0);y=+(0-wa|0);s=w*A;t=y*u;Ba=+(xa|0);i=Ba+(s-t);w=w*u;y=y*A;za=+(n|0);v=za+(w+y);ya=+(ga+ia-xa|0);Aa=ya*A;t=Ba+(Aa-t);ya=ya*u;y=za+(ya+y);Ca=+(ha+ea-n|0);u=Ca*u;s=Ba+(s-u);A=A*Ca;w=za+(w+A);u=Ba+(Aa-u);A=za+(ya+A);t=i<t?i:t;u=s<u?s:u;c[ma>>2]=~~(t<u?t:u);y=v<y?v:y;A=w<A?w:A;c[ba>>2]=~~(y<A?y:A);c[ca>>2]=_;c[da>>2]=$;n=M_(Y,0,ja,ma)|0;YV(Y)}else n=0}else n=0}else n=0}while(0);if((o|0)==(m|0)){xa=n;l=na;return xa|0}YV(o);xa=n;l=na;return xa|0}function C_(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+32|0;r=s;n=s+8|0;j=a+320|0;k=c[j>>2]|0;h=c[k>>2]|0;a:do if(!h){i=k+4|0;t=c[i>>2]|0;c[k>>2]=t;h=t;if(!t){h=j_(c[a+188>>2]|0)|0;do if(h|0){c[i>>2]=h;c[k>>2]=h;i=c[c[j>>2]>>2]|0;if(!i){m=10;break a}G_(i,a+216|0);h=c[c[j>>2]>>2]|0;if(h|0)if(!(c[a+280>>2]|0)){j=c[h+8>>2]|0;t=c[h+12>>2]|0;c[h+36>>2]=0;c[h+40>>2]=0;c[h+44>>2]=j;c[h+48>>2]=t;break}else{G_(h,a+248|0);break}}while(0);h=c[k>>2]|0}if(!h){t=-1;l=s;return t|0}else k=h}else m=10;while(0);if((m|0)==10)k=h;j=c[a+216>>2]|0;i=c[a+220>>2]|0;h=c[b>>2]|0;if(i|j){h=h+j|0;c[n>>2]=h;c[n+4>>2]=(c[b+4>>2]|0)+i;c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];b=n}if((((h|0)>=0?(o=c[b+8>>2]|0,(o+h|0)<=(c[k+8>>2]|0)):0)?(p=c[b+4>>2]|0,(p|0)>=0):0)?(q=c[b+12>>2]|0,(q+p|0)<=(c[k+12>>2]|0)):0){r=c[k+4>>2]|0;t=c[k+16>>2]|0;p=(c[k+20>>2]|0)+(O(t,p)|0)|0;t=UV(o,q,c[r>>2]|0,p+(O(d[r+9>>0]|0,h)|0)|0,t,e,f,g)|0;l=s;return t|0}vV(393031,r);t=-1;l=s;return t|0}function D_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+16|0;e=g+8|0;d=g+24|0;a=c[a+188>>2]|0;if(!a){l=g;return}b=c[104297]|0;do if(b){if((c[a>>2]|0)!=(b+280|0)){vV(405282,e);break}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=c[a+24>>2];c[d+12>>2]=c[a+28>>2];if(!(c[a+112>>2]|0)){vV(392948,f);break}else{Uh[c[b+136>>2]&63](b,a,d,1)|0;break}}else vV(386054,g);while(0);l=g;return}function E_(a,b){a=a|0;b=b|0;YV(c[b+68>>2]|0);return}function F_(a){a=a|0;C2(c[a+320>>2]|0);C2(a);return}function G_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=c[a+8>>2]|0;d=c[a+12>>2]|0;do if(!b){c[a+36>>2]=0;c[a+40>>2]=0;c[a+44>>2]=f}else{g=c[b+8>>2]|0;if((g|0)>=1?(e=c[b+12>>2]|0,!((e|0)<1|(f|0)<1|(d|0)<1)):0){i=c[b>>2]|0;h=g+i|0;g=(i|0)>0?i:0;c[a+36>>2]=g;c[a+44>>2]=((f|0)<(h|0)?f:h)-g;g=c[b+4>>2]|0;f=e+g|0;g=(g|0)>0?g:0;c[a+40>>2]=g;d=((d|0)<(f|0)?d:f)-g|0;break}c[a+44>>2]=0;d=0}while(0);c[a+48>>2]=d;return}function H_(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=l;l=l+16|0;c=O_(c,d,e,f,g)|0;if(!c){vV(393207,h);b=0;l=h;return b|0}else{b=P_(a,b,c)|0;l=h;return b|0}return 0}function I_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;f=m;if(!b){c[f>>2]=393393;vV(406140,f);l=m;return}h=b+4|0;f=c[(c[h>>2]|0)+4>>2]|0;if(f|0?(c[f>>2]|0)>>>0<=e>>>0:0){c[g>>2]=393228;vV(406140,g);l=m;return}j=b+52|0;if((d&2|0)!=0?(i=c[j>>2]|0,b=i+68|0,k=c[b>>2]|0,g=k|4096,c[b>>2]=g,!((g|0)==(k|0)|(i|0)==0)):0){f=c[i>>2]|0;if(f|0?(g=f+56|0,k=c[g>>2]|0,c[g>>2]=k+-1,(k|0)<2):0)YV(f);c[i>>2]=0;c[i+84>>2]=0;c[i+80>>2]=0;i=i+64|0;C2(c[i>>2]|0);c[i>>2]=0;i=c[(c[h>>2]|0)+4>>2]|0}else i=f;b=c[j>>2]|0;g=b+68|0;k=c[g>>2]|0;h=(i|0)!=0;if(d){f=k|256;c[g>>2]=f;c[b+72>>2]=e;if(h){a[(c[i+4>>2]|0)+(e<<2)+3>>0]=0;b=i+8|0;f=(c[b>>2]|0)+1|0;c[b>>2]=(f|0)==0?1:f;b=c[j>>2]|0;f=c[b+68>>2]|0}}else{if(h){a[(c[i+4>>2]|0)+(c[b+72>>2]<<2)+3>>0]=-1;f=i+8|0;b=(c[f>>2]|0)+1|0;c[f>>2]=(b|0)==0?1:b;f=c[j>>2]|0;b=f;f=c[f+68>>2]|0}else f=k;f=f&-257;c[b+68>>2]=f}if((f|0)==(k|0)|(b|0)==0){l=m;return}f=c[b>>2]|0;if(f|0?(d=f+56|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)<2):0)YV(f);c[b>>2]=0;c[b+84>>2]=0;c[b+80>>2]=0;e=b+64|0;C2(c[e>>2]|0);c[e>>2]=0;l=m;return}function J_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+48|0;f=I+8|0;F=I+32|0;G=I+16|0;if(!((a|0)!=0&(d|0)!=0)){vV(393248,I);H=-1;l=I;return H|0}if((c[a+28>>2]|0)==0?(c[d+28>>2]|0)==0:0){i=(b|0)==0;t=a+8|0;u=a+12|0;h=c[(i?u:b+12|0)>>2]|0;k=c[(i?t:b+8|0)>>2]|0;D=(e|0)==0;f=c[(D?d+12|0:e+12|0)>>2]|0;g=c[(D?d+8|0:e+8|0)>>2]|0;if((f|0)==(h|0)&(g|0)==(k|0)){H=M_(a,b,d,e)|0;l=I;return H|0}m=+(g|0);o=+(k|0);B=m/o;j=+(f|0);p=+(h|0);C=j/p;if(D){v=+(f+-1|0);m=+(g+-1|0);n=0.0;j=0.0}else{z=+(c[e>>2]|0);n=+(c[e+4>>2]|0);v=j+n+-1.0;m=m+z+-1.0;j=z}if(!i){k=c[b>>2]|0;r=+(k|0);f=c[b+4>>2]|0;z=+(f|0);q=o+r+-1.0;s=p+z+-1.0;j=(k|0)<0?j-B*r:j;o=+(((k|0)>0?k:0)|0);k=c[t>>2]|0;r=+(k|0);t=!(q>=r);p=t?q:+(k+-1|0);r=t?m:m-B*(q-r+1.0);q=+(((f|0)>0?f:0)|0);n=(f|0)<0?n-C*z:n;f=c[u>>2]|0;m=+(f|0);if(!(s>=m)){z=s;s=v;m=r}else{z=+(f+-1|0);s=v-C*(s-m+1.0);m=r}}else{z=+(h+-1|0);o=0.0;s=v;p=+(k+-1|0);q=0.0}x=+(c[d+36>>2]|0);w=j-x;r=m-x;y=+(c[d+40>>2]|0);v=n-y;m=s-y;h=w<0.0;o=h?o-w/B:o;f=c[d+44>>2]|0;j=+(f|0);if(r>=j){p=p-(r-j+1.0)/B;r=+(f+-1|0)}g=v<0.0;n=g?q-v/C:q;f=c[d+48>>2]|0;j=+(f|0);if(!(m>=j))j=z;else{j=z-(m-j+1.0)/C;m=+(f+-1|0)}B=(h?0.0:w)+x;C=(g?0.0:v)+y;c[F>>2]=~~+A(+(o+.5));c[F+4>>2]=~~+A(+(n+.5));k=~~+A(+(p-o+1.5));c[F+8>>2]=k;b=~~+A(+(j-n+1.5));c[F+12>>2]=b;c[G>>2]=~~+A(+(B+.5));c[G+4>>2]=~~+A(+(C+.5));g=~~+A(+(r+x-B+1.5));i=G+8|0;c[i>>2]=g;f=~~+A(+(m+y-C+1.5));h=G+12|0;c[h>>2]=f;if((g|0)<0){c[i>>2]=0;g=0}if((f|0)<0){c[h>>2]=0;f=0}if(!D){c[e>>2]=c[G>>2];c[e+4>>2]=c[G+4>>2];c[e+8>>2]=c[G+8>>2];c[e+12>>2]=c[G+12>>2]}if((g|0)==0|(f|0)==0|(k|0)<1|(b|0)<1){H=0;l=I;return H|0}i=a+52|0;f=c[i>>2]|0;h=f+68|0;g=c[h>>2]|0;if(!(g&512)){g=g|512;c[h>>2]=g;if(!f)f=0;else{g=c[f>>2]|0;if(g|0?(D=g+56|0,e=c[D>>2]|0,c[D>>2]=e+-1,(e|0)<2):0)YV(g);c[f>>2]=0;c[f+84>>2]=0;c[f+80>>2]=0;f=f+64|0;C2(c[f>>2]|0);c[f>>2]=0;f=c[i>>2]|0;g=c[f+68>>2]|0}}do if((g&371|0)==0?(E=c[c[a+4>>2]>>2]|0,(E|0)==(c[c[d+4>>2]>>2]|0)):0){if((E|0)==0|(E&-268435456|0)==268435456?((E>>>24&15)+-1|0)>>>0<3:0)break;H=S_(a,F,d,G)|0;l=I;return H|0}while(0);do if((c[f>>2]|0)==(d|0)){E=c[(c[d+4>>2]|0)+4>>2]|0;if(E|0?(c[f+80>>2]|0)!=(c[E+8>>2]|0):0){H=42;break}E=c[(c[a+4>>2]|0)+4>>2]|0;if((E|0)!=0?(c[f+84>>2]|0)!=(c[E+8>>2]|0):0)H=42}else H=42;while(0);do if((H|0)==42)if((WV(a,d)|0)<0){H=-1;l=I;return H|0}else{f=c[i>>2]|0;break}while(0);H=Uh[c[f+8>>2]&63](a,F,d,G)|0;l=I;return H|0}vV(393141,f);H=-1;l=I;return H|0}function K_(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+64|0;J=Q+32|0;B=Q+24|0;A=Q+16|0;o=Q+8|0;n=Q;t=Q+40|0;w=Q+59|0;x=Q+58|0;y=Q+57|0;z=Q+56|0;u=g+4|0;j=c[u>>2]|0;if(j|0){m=c[j>>2]|0;a:do if((m|0)>0){k=c[j+4>>2]|0;j=0;do{if((a[k+(j<<2)>>0]|0)!=-1)break a;if((a[k+(j<<2)+1>>0]|0)!=-1)break a;if((a[k+(j<<2)+2>>0]|0)!=-1)break a;j=j+1|0}while((j|0)<(m|0))}else j=0;while(0);if((j|0)==(m|0)){vV(393181,n);P=0;l=Q;return P|0}}r=f+8|0;s=f+12|0;M=g+24|0;j=O_(d[g+8>>0]|0,c[g+12>>2]|0,c[g+16>>2]|0,c[g+20>>2]|0,c[M>>2]|0)|0;if(!j){vV(393207,o);P=0;l=Q;return P|0}N=P_(c[r>>2]|0,c[s>>2]|0,j)|0;if(!N){P=0;l=Q;return P|0}j=c[u>>2]|0;if(j|0?(p=N+4|0,q=c[(c[p>>2]|0)+4>>2]|0,q|0):0){s6(c[q+4>>2]|0,c[j+4>>2]|0,c[j>>2]<<2|0)|0;c[c[(c[p>>2]|0)+4>>2]>>2]=c[c[u>>2]>>2]}p=f+52|0;j=c[p>>2]|0;G=j+68|0;L=c[G>>2]|0;E=j+76|0;m=a[E>>0]|0;n=a[j+77>>0]|0;g=a[j+78>>0]|0;o=a[j+79>>0]|0;c[E>>2]=-1;c[G>>2]=0;if(j|0){k=c[j>>2]|0;if(k|0?(E=k+56|0,G=c[E>>2]|0,c[E>>2]=G+-1,(G|0)<2):0)YV(k);c[j>>2]=0;c[j+84>>2]=0;c[j+80>>2]=0;G=j+64|0;C2(c[G>>2]|0);c[G>>2]=0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=c[r>>2];c[t+12>>2]=c[s>>2];j=c[p>>2]|0;do if((c[j>>2]|0)==(N|0)){G=c[(c[N+4>>2]|0)+4>>2]|0;if(G|0?(c[j+80>>2]|0)!=(c[G+8>>2]|0):0){G=26;break}G=c[(c[f+4>>2]|0)+4>>2]|0;if((G|0)!=0?(c[j+84>>2]|0)!=(c[G+8>>2]|0):0)G=26;else G=28}else G=26;while(0);if((G|0)==26?(WV(f,N)|0)>=0:0){j=c[p>>2]|0;G=28}if((G|0)==28)Uh[c[j+8>>2]&63](f,t,N,t)|0;E=N+52|0;k=c[E>>2]|0;a[k+76>>0]=m;a[k+77>>0]=n;a[k+78>>0]=g;a[k+79>>0]=o;c[k+68>>2]=L&-28945;k=c[p>>2]|0;a[k+76>>0]=m;a[k+77>>0]=n;a[k+78>>0]=g;a[k+79>>0]=o;c[k+68>>2]=L;if(k|0){j=c[k>>2]|0;if(j|0?(s=j+56|0,t=c[s>>2]|0,c[s>>2]=t+-1,(t|0)<2):0)YV(j);c[k>>2]=0;c[k+84>>2]=0;c[k+80>>2]=0;t=k+64|0;C2(c[t>>2]|0);c[t>>2]=0}t=f+4|0;do if(L&256|0){k=c[t>>2]|0;m=c[k+4>>2]|0;if(m|0){j=c[u>>2]|0;if((j|0?(v=c[m>>2]|0,(v|0)<=(c[j>>2]|0)):0)?(f3(c[m+4>>2]|0,c[j+4>>2]|0,v<<2)|0)==0:0){k=c[(c[p>>2]|0)+72>>2]|0;m=c[(c[N+4>>2]|0)+4>>2]|0;n=(m|0)==0;if(!n?(c[m>>2]|0)>>>0<=k>>>0:0){c[A>>2]=393228;vV(406140,A);break}j=c[E>>2]|0;K=j+68|0;g=c[K>>2]|0;i=g|256;c[K>>2]=i;c[j+72>>2]=k;if(!n){a[(c[m+4>>2]|0)+(k<<2)+3>>0]=0;j=m+8|0;i=(c[j>>2]|0)+1|0;c[j>>2]=(i|0)==0?1:i;j=c[E>>2]|0;i=c[j+68>>2]|0}if((i|0)==(g|0)|(j|0)==0)break;i=c[j>>2]|0;do if(i|0){J=i+56|0;K=c[J>>2]|0;c[J>>2]=K+-1;if((K|0)>=2)break;YV(i)}while(0);c[j>>2]=0;c[j+84>>2]=0;c[j+80>>2]=0;K=j+64|0;C2(c[K>>2]|0);c[K>>2]=0;break}if(c[M>>2]|0)break}Q_(c[(c[p>>2]|0)+72>>2]|0,k,w,x,y,z);s=N+4|0;n=c[s>>2]|0;m=R_(n,a[w>>0]|0,a[x>>0]|0,a[y>>0]|0,a[z>>0]|0)|0;n=c[n+4>>2]|0;g=(n|0)==0;if(!g?(c[n>>2]|0)>>>0<=m>>>0:0){c[B>>2]=393228;vV(406140,B)}else{k=c[E>>2]|0;B=k+68|0;o=c[B>>2]|0;j=o|256;c[B>>2]=j;c[k+72>>2]=m;if(!g){a[(c[n+4>>2]|0)+(m<<2)+3>>0]=0;k=n+8|0;j=(c[k>>2]|0)+1|0;c[k>>2]=(j|0)==0?1:j;k=c[E>>2]|0;j=c[k+68>>2]|0}if(!((j|0)==(o|0)|(k|0)==0)){j=c[k>>2]|0;if(j|0?(A=j+56|0,B=c[A>>2]|0,c[A>>2]=B+-1,(B|0)<2):0)YV(j);c[k>>2]=0;c[k+84>>2]=0;c[k+80>>2]=0;B=k+64|0;C2(c[B>>2]|0);c[B>>2]=0}}if(c[(c[E>>2]|0)+68>>2]&256|0?(i=c[s>>2]|0,c[i+24>>2]|0):0){r=N+28|0;j=c[r>>2]|0;if(!j)if(!(c[N>>2]&2))j=0;else{XV(N,1);c[N>>2]=c[N>>2]|2;j=c[r>>2]|0;i=c[s>>2]|0}j=j+1|0;c[r>>2]=j;switch(a[i+9>>0]|0){case 2:{o=c[i+24>>2]&65535^65535;p=o&c[(c[E>>2]|0)+72>>2];k=c[N+12>>2]|0;if((k|0)!=0?(C=c[N+8>>2]|0,D=(c[N+16>>2]|0)/2|0,(C|0)!=0):0){q=p&65535;g=c[N+20>>2]|0;while(1){m=g;n=C;while(1){n=n+-1|0;if((e[m>>1]&o|0)==(p|0))b[m>>1]=q;if(!n)break;else m=m+2|0}k=k+-1|0;if(!k)break;else g=g+(D<<1)|0}}break}case 4:{p=~c[i+24>>2];q=c[(c[E>>2]|0)+72>>2]&p;k=c[N+12>>2]|0;if(k){g=N+8|0;o=N+16|0;n=c[N+20>>2]|0;while(1){k=k+-1|0;j=c[g>>2]|0;if(j|0){m=n;while(1){j=j+-1|0;if((c[m>>2]&p|0)==(q|0))c[m>>2]=q;if(!j)break;else m=m+4|0}}if(!k)break;else n=n+(((c[o>>2]|0)/4|0)<<2)|0}j=c[r>>2]|0}break}default:{}}if(((j|0)!=0?(c[r>>2]=j+-1,(j|0)<=1):0)?(F=c[N>>2]|0,(F&2|0)!=0):0){c[N>>2]=F&-3;$V(N)|0;i=c[s>>2]|0}i=c[i+4>>2]|0;do if(i)if(!(c[i>>2]|0)){c[J>>2]=393228;vV(406140,J);break}else{H=c[E>>2]|0;I=c[H+68>>2]|0;a[(c[i+4>>2]|0)+(c[H+72>>2]<<2)+3>>0]=-1;H=i+8|0;K=(c[H>>2]|0)+1|0;c[H>>2]=(K|0)==0?1:K;H=c[E>>2]|0;K=H;H=c[H+68>>2]|0;G=91;break}else{K=c[E>>2]|0;I=c[K+68>>2]|0;H=I;G=91}while(0);if((G|0)==91?(J=H&-257,c[K+68>>2]=J,!((J|0)==(I|0)|(K|0)==0)):0){i=c[K>>2]|0;do if(i|0){I=i+56|0;J=c[I>>2]|0;c[I>>2]=J+-1;if((J|0)>=2)break;YV(i)}while(0);c[K>>2]=0;c[K+84>>2]=0;c[K+80>>2]=0;K=K+64|0;C2(c[K>>2]|0);c[K>>2]=0}i=c[E>>2]|0;I=i+68|0;K=c[I>>2]|0;J=K&-113|16;c[I>>2]=J;if(!((J|0)==(K|0)|(i|0)==0)){j=c[i>>2]|0;do if(j|0){J=j+56|0;K=c[J>>2]|0;c[J>>2]=K+-1;if((K|0)>=2)break;YV(j)}while(0);c[i>>2]=0;c[i+84>>2]=0;c[i+80>>2]=0;K=i+64|0;C2(c[K>>2]|0);c[K>>2]=0}}}while(0);i=c[N+8>>2]|0;j=c[N+12>>2]|0;k=c[f+44>>2]|0;if((k|0)>=1?(O=c[f+48>>2]|0,!((O|0)<1|(i|0)<1|(j|0)<1)):0){K=c[f+36>>2]|0;J=k+K|0;K=(K|0)>0?K:0;c[N+36>>2]=K;c[N+44>>2]=((i|0)<(J|0)?i:J)-K;i=c[f+40>>2]|0;O=O+i|0;i=(i|0)>0?i:0;c[N+40>>2]=i;i=((j|0)<(O|0)?j:O)-i|0}else{c[N+44>>2]=0;i=0}c[N+48>>2]=i;if(!(c[(c[t>>2]|0)+24>>2]|0)){if(L&258|0)G=109}else if(c[M>>2]|L&258|0)G=109;if((G|0)==109?(P=c[E>>2]|0,M=P+68|0,O=c[M>>2]|0,f=O&-113|16,c[M>>2]=f,!((f|0)==(O|0)|(P|0)==0)):0){i=c[P>>2]|0;if(i|0?(f=i+56|0,O=c[f>>2]|0,c[f>>2]=O+-1,(O|0)<2):0)YV(i);c[P>>2]=0;c[P+84>>2]=0;c[P+80>>2]=0;P=P+64|0;C2(c[P>>2]|0);c[P>>2]=0}if(!(L&4096|h&2)){P=N;l=Q;return P|0}i=c[E>>2]|0;O=i+68|0;P=c[O>>2]|0;h=P|4096;c[O>>2]=h;if((h|0)==(P|0)|(i|0)==0){P=N;l=Q;return P|0}j=c[i>>2]|0;if(j|0?(h=j+56|0,P=c[h>>2]|0,c[h>>2]=P+-1,(P|0)<2):0)YV(j);c[i>>2]=0;c[i+84>>2]=0;c[i+80>>2]=0;P=i+64|0;C2(c[P>>2]|0);c[P>>2]=0;P=N;l=Q;return P|0}function L_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if(!a){g=-1;l=h;return g|0}e=a+52|0;d=c[e>>2]|0;f=d+68|0;g=c[f>>2]|0;a=g&-113;c[f>>2]=a;switch(b|0){case 0:{e=0;break}case 1:{a=a|16;c[f>>2]=a;e=0;break}case 2:{a=a|32;c[f>>2]=a;e=0;break}case 4:{a=a|64;c[f>>2]=a;e=0;break}default:{vV(392516,h);d=c[e>>2]|0;e=-1;a=c[d+68>>2]|0}}if((a|0)==(g|0)|(d|0)==0){g=e;l=h;return g|0}a=c[d>>2]|0;if(a|0?(b=a+56|0,g=c[b>>2]|0,c[b>>2]=g+-1,(g|0)<2):0)YV(a);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;g=d+64|0;C2(c[g>>2]|0);c[g>>2]=0;g=e;l=h;return g|0}function M_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+8|0;f=p+32|0;o=p+16|0;if(!((a|0)!=0&(d|0)!=0)){vV(393104,p);o=-1;l=p;return o|0}if((c[a+28>>2]|0)==0?(c[d+28>>2]|0)==0:0){if(!e){c[f+4>>2]=0;c[f>>2]=0;c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2]}else f=e;i=c[a+8>>2]|0;if(!b){n=0;e=0;h=c[a+12>>2]|0;j=f}else{e=c[b>>2]|0;g=c[b+8>>2]|0;if((e|0)<0){c[f>>2]=(c[f>>2]|0)-e;j=0;g=g+e|0}else j=e;i=i-j|0;e=c[b+4>>2]|0;b=c[b+12>>2]|0;h=f+4|0;if((e|0)<0){c[h>>2]=(c[h>>2]|0)-e;b=b+e|0;e=0}h=(c[a+12>>2]|0)-e|0;n=j;h=(h|0)<(b|0)?h:b;i=(i|0)<(g|0)?i:g;j=f}m=d+36|0;g=c[m>>2]|0;b=c[j>>2]|0;k=g-b|0;if((k|0)>0){c[j>>2]=g;n=k+n|0;i=i-k|0;b=g;g=c[m>>2]|0}m=b+i-g-(c[d+44>>2]|0)|0;m=i-((m|0)>0?m:0)|0;k=d+40|0;g=c[k>>2]|0;i=f+4|0;b=c[i>>2]|0;j=g-b|0;if((j|0)>0){c[i>>2]=g;e=j+e|0;h=h-j|0;b=g;g=c[k>>2]|0}j=b+h-g-(c[d+48>>2]|0)|0;h=h-((j|0)>0?j:0)|0;j=a+52|0;i=c[j>>2]|0;g=i+68|0;b=c[g>>2]|0;if(b&512|0?(c[g>>2]=b&-513,i|0):0){g=c[i>>2]|0;if(g|0?(b=g+56|0,k=c[b>>2]|0,c[b>>2]=k+-1,(k|0)<2):0)YV(g);c[i>>2]=0;c[i+84>>2]=0;c[i+80>>2]=0;k=i+64|0;C2(c[k>>2]|0);c[k>>2]=0}if(!((m|0)>0&(h|0)>0)){c[f+12>>2]=0;c[f+8>>2]=0;o=0;l=p;return o|0}c[o>>2]=n;c[o+4>>2]=e;c[f+8>>2]=m;c[o+8>>2]=m;c[f+12>>2]=h;c[o+12>>2]=h;e=c[j>>2]|0;do if((c[e>>2]|0)==(d|0)){n=c[(c[d+4>>2]|0)+4>>2]|0;if(n|0?(c[e+80>>2]|0)!=(c[n+8>>2]|0):0){g=31;break}n=c[(c[a+4>>2]|0)+4>>2]|0;if((n|0)!=0?(c[e+84>>2]|0)!=(c[n+8>>2]|0):0)g=31;else g=33}else g=31;while(0);if((g|0)==31)if((WV(a,d)|0)<0)e=-1;else{e=c[j>>2]|0;g=33}if((g|0)==33)e=Uh[c[e+8>>2]&63](a,o,d,f)|0;o=e;l=p;return o|0}vV(393141,g);o=-1;l=p;return o|0}function N_(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f+8|0;d=f;b=c[104299]|0;a:do if(b|0){while(1){if((c[b>>2]|0)==(a|0))break;b=c[b+40>>2]|0;if(!b)break a}e=b+36|0;c[e>>2]=(c[e>>2]|0)+1;e=b;l=f;return e|0}while(0);b=B2(44)|0;if(!b){vV(392416,d);e=0;l=f;return e|0}if((VV(b,a)|0)<0){C2(b);c[e>>2]=386928;vV(406140,e);e=0;l=f;return e|0}if((a|0)==0|(a&-268435456|0)==268435456?((a>>>24&15)+-1|0)>>>0<3:0){e=b;l=f;return e|0}c[b+40>>2]=c[104299];c[104299]=b;e=b;l=f;return e|0}function O_(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:do switch(a|0){case 4:{c=304088064;return c|0}case 8:{if(!b){c=318769153;return c|0}if((b|0)==224&(c|0)==28&(d|0)==3&(e|0)==0){c=336660481;return c|0}break}case 12:{if(!b){c=353504258;return c|0}if((b|0)==3840&(c|0)==240&(d|0)==15&(e|0)==0){c=353504258;return c|0}break}case 15:{if(!b){c=353570562;return c|0}else f=9;break}case 16:{if(!b){c=353701890;return c|0}else f=9;break}case 24:{if((b|0)<255){switch(b|0){case 0:{a=390076419;break}default:{f=24;break a}}return a|0}if((b|0)>=16711680){switch(b|0){case 16711680:{a=390076419;break}default:{f=24;break a}}return a|0}switch(b|0){case 255:break;default:{f=24;break a}}c=386930691;return c|0}case 32:{if(!b){c=370546692;return c|0}else f=24;break}case 1:{c=287310080;return c|0}default:{}}while(0);if((f|0)==9){a=(c|0)==992;k=(d|0)==31;i=(b|0)==31744&a&k;l=(e|0)==0;if(i&l){c=353570562;return c|0}m=(b|0)==31;j=m&a&(d|0)==31744;if(j&l){c=357764866;return c|0}a=(c|0)==240;f=(e|0)==61440;if((b|0)==3840&a&(d|0)==15&f){c=355602434;return c|0}g=(c|0)==3840;h=(e|0)==15;if((b|0)==61440&g&(d|0)==240&h){c=356651010;return c|0}if((b|0)==15&a&(d|0)==3840&f){c=359796738;return c|0}if((b|0)==240&g&(d|0)==61440&h){c=360845314;return c|0}f=(e|0)==32768;if(i&f){c=355667970;return c|0}h=(b|0)==63488;g=(c|0)==1984;a=(e|0)==1;if(h&g&(d|0)==62&a){c=356782082;return c|0}if(j&f){c=359862274;return c|0}f=(d|0)==63488;if((b|0)==62&g&f&a){c=360976386;return c|0}a=(c|0)==2016;if(h&a&k&l){c=353701890;return c|0}if(m&a&f&l){c=357896194;return c|0}}else if((f|0)==24){a=(c|0)==65280;i=(b|0)==16711680&a&(d|0)==255;g=(e|0)==0;if(i&g){c=370546692;return c|0}f=(c|0)==16711680;k=(b|0)==-16777216&f&(d|0)==65280;if(k&g){c=371595268;return c|0}j=(b|0)==255&a&(d|0)==16711680;if(j&g){c=374740996;return c|0}h=(b|0)==65280&f&(d|0)==-16777216;if(h&g){c=375789572;return c|0}f=(e|0)==-16777216;if(i&f){c=372645892;return c|0}a=(e|0)==255;if(k&a){c=373694468;return c|0}if(j&f){c=376840196;return c|0}if(h&a){c=377888772;return c|0}if((b|0)==1072693248&(c|0)==1047552&(d|0)==1023&(e|0)==-1073741824){c=372711428;return c|0}}c=0;return c|0}function P_(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;t=v+48|0;s=v+40|0;m=v+32|0;k=v+24|0;j=v+16|0;i=v+8|0;u=B2(60)|0;if(!u){vV(392416,v);u=0;l=v;return u|0}if(c[u+-4>>2]&3|0){g=u;h=g+60|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0))}h=N_(f)|0;r=u+4|0;c[r>>2]=h;if(!h){YV(u);u=0;l=v;return u|0}n=u+8|0;c[n>>2]=b;p=u+12|0;c[p>>2]=e;f=O(d[h+9>>0]|0,b)|0;g=h+8|0;switch(a[g>>0]|0){case 1:{f=(f+7|0)/8|0;break}case 4:{f=(f+1|0)/2|0;break}default:{}}o=u+16|0;c[o>>2]=f+3&-4;c[u+36>>2]=0;c[u+40>>2]=0;c[u+44>>2]=b;c[u+48>>2]=e;e=c[h>>2]|0;a:do if((e|0)==0|(e&-268435456|0)==268435456?((e>>>24&15)+-1|0)>>>0<3:0){g=1<<d[g>>0];do if((g|0)<1){c[i>>2]=393240;vV(406140,i)}else{h=B2(16)|0;if(!h){vV(392416,j);break}b=g<<2;f=B2(b)|0;c[h+4>>2]=f;if(!f){C2(h);break}c[h>>2]=g;c[h+8>>2]=1;c[h+12>>2]=1;u6(f|0,-1,b|0)|0;b=c[h>>2]|0;if((b|0)==2){j=c[h+4>>2]|0;a[j>>0]=-1;a[j+1>>0]=-1;a[j+2>>0]=-1;a[j+4>>0]=0;a[j+5>>0]=0;a[j+6>>0]=0}f=c[r>>2]|0;do if(f){if((b|0)!=(1<<d[f+8>>0]|0)){vV(386982,m);break}b=f+4|0;f=c[b>>2]|0;if((f|0)!=(h|0)){if(f|0?(k=f+12|0,m=c[k>>2]|0,c[k>>2]=m+-1,(m|0)<=1):0){C2(c[f+4>>2]|0);C2(f)}c[b>>2]=h;m=h+12|0;c[m>>2]=(c[m>>2]|0)+1}b=c[u+52>>2]|0;if(b|0){f=c[b>>2]|0;if(f|0?(k=f+56|0,m=c[k>>2]|0,c[k>>2]=m+-1,(m|0)<2):0)YV(f);c[b>>2]=0;c[b+84>>2]=0;c[b+80>>2]=0;m=b+64|0;C2(c[m>>2]|0);c[m>>2]=0}}else vV(386935,k);while(0);k=h+12|0;m=c[k>>2]|0;c[k>>2]=m+-1;if((m|0)<=1){C2(c[h+4>>2]|0);C2(h)}b=c[n>>2]|0;break a}while(0);YV(u);u=0;l=v;return u|0}while(0);do if(b|0?(q=c[p>>2]|0,q|0):0){b=B2(O(c[o>>2]|0,q)|0)|0;c[u+20>>2]=b;if(b|0){u6(b|0,0,O(c[o>>2]|0,c[p>>2]|0)|0)|0;break}YV(u);vV(392416,s);u=0;l=v;return u|0}while(0);f=B2(88)|0;if(!f){vV(392416,t);c[u+52>>2]=0;YV(u);u=0;l=v;return u|0}if(c[f+-4>>2]&3|0){g=f;h=g+88|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0))}c[f+76>>2]=-1;c[u+52>>2]=f;if(c[(c[r>>2]|0)+24>>2]|0?(r=f+68|0,t=c[r>>2]|0,s=t&-113|16,c[r>>2]=s,(s|0)!=(t|0)):0){b=c[f>>2]|0;if(b|0?(s=b+56|0,t=c[s>>2]|0,c[s>>2]=t+-1,(t|0)<2):0)YV(b);c[f>>2]=0;c[f+84>>2]=0;c[f+80>>2]=0;t=f+64|0;C2(c[t>>2]|0);c[t>>2]=0}c[u+56>>2]=1;l=v;return u|0}function Q_(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=e+4|0;k=c[j>>2]|0;if(!k){a[f>>0]=a[(c[22432+((d[e+28>>0]|0)<<2)>>2]|0)+((c[e+12>>2]&b)>>>(d[e+32>>0]|0))>>0]|0;a[g>>0]=a[(c[22432+((d[e+29>>0]|0)<<2)>>2]|0)+((c[e+16>>2]&b)>>>(d[e+33>>0]|0))>>0]|0;a[h>>0]=a[(c[22432+((d[e+30>>0]|0)<<2)>>2]|0)+((c[e+20>>2]&b)>>>(d[e+34>>0]|0))>>0]|0;a[i>>0]=a[(c[22432+((d[e+31>>0]|0)<<2)>>2]|0)+((c[e+24>>2]&b)>>>(d[e+35>>0]|0))>>0]|0;return}if((c[k>>2]|0)>>>0>b>>>0){a[f>>0]=a[(c[k+4>>2]|0)+(b<<2)>>0]|0;a[g>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+1>>0]|0;a[h>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+2>>0]|0;a[i>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(b<<2)+3>>0]|0;return}else{a[i>>0]=0;a[h>>0]=0;a[g>>0]=0;a[f>>0]=0;return}}function R_(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[a+4>>2]|0;if(!h){m=(e&255)>>>(d[a+29>>0]|0)<<(d[a+33>>0]|0)|(b&255)>>>(d[a+28>>0]|0)<<(d[a+32>>0]|0)|(f&255)>>>(d[a+30>>0]|0)<<(d[a+34>>0]|0)|(g&255)>>>(d[a+31>>0]|0)<<(d[a+35>>0]|0)&c[a+24>>2];return m|0}m=c[h>>2]|0;a:do if((m|0)>0){l=c[h+4>>2]|0;k=b&255;j=e&255;i=f&255;f=g&255;e=0;h=-1;a=0;do{n=(d[l+(e<<2)>>0]|0)-k|0;o=(d[l+(e<<2)+1>>0]|0)-j|0;g=(d[l+(e<<2)+2>>0]|0)-i|0;b=(d[l+(e<<2)+3>>0]|0)-f|0;b=(O(o,o)|0)+(O(n,n)|0)+(O(g,g)|0)+(O(b,b)|0)|0;if(b>>>0<h>>>0){a=e&255;if(!b)break a;else h=b}e=e+1|0}while((e|0)<(m|0))}else a=0;while(0);o=a&255;return o|0}function S_(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+64|0;n=N+16|0;j=N+8|0;h=N+40|0;k=N+24|0;H=c[f+4>>2]|0;M=a[H+9>>0]|0;I=M&255;if((c[c[d+4>>2]>>2]|0)!=(c[H>>2]|0)){vV(393291,N);d=-1;l=N;return d|0}do if(!e){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];H=h}else{h=c[e>>2]|0;if((((h|0)>=0?(i=c[e+4>>2]|0,(i|0)>=0):0)?((c[e+8>>2]|0)+h|0)<=(c[d+8>>2]|0):0)?((c[e+12>>2]|0)+i|0)<=(c[d+12>>2]|0):0){H=e;break}vV(393328,j);d=-1;l=N;return d|0}while(0);do if(!g){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2]}else{h=c[g>>2]|0;if((((h|0)>=0?(m=c[g+4>>2]|0,(m|0)>=0):0)?((c[g+8>>2]|0)+h|0)<=(c[f+8>>2]|0):0)?((c[g+12>>2]|0)+m|0)<=(c[f+12>>2]|0):0){k=g;break}vV(393358,n);d=-1;l=N;return d|0}while(0);if(!(c[f>>2]&2))G=0;else{e=f+28|0;h=c[e>>2]|0;if(!h){XV(f,1);c[f>>2]=c[f>>2]|2;h=c[e>>2]|0}c[e>>2]=h+1;G=1}if(!(c[d>>2]&2))x=0;else{e=d+28|0;h=c[e>>2]|0;if(!h){XV(d,1);c[d>>2]=c[d>>2]|2;h=c[e>>2]|0}c[e>>2]=h+1;x=1}F=c[k+12>>2]|0;C=(c[H+12>>2]<<16|0)/(F|0)|0;h=c[k+4>>2]|0;D=h+F|0;a:do if((F|0)>0){E=f+20|0;F=f+16|0;y=H+8|0;z=k+8|0;A=d+20|0;B=d+16|0;j=65536;e=0;i=c[H+4>>2]|0;while(1){r=(c[E>>2]|0)+(O(c[F>>2]|0,h)|0)|0;r=r+(O(c[k>>2]|0,I)|0)|0;if((j|0)>65535){j=j+-65536|0;w=j>>>16;e=(c[A>>2]|0)+(O(c[B>>2]|0,i+w|0)|0)|0;e=e+(O(c[H>>2]|0,I)|0)|0;j=j-(w<<16)|0;i=i+1+w|0}switch(M<<24>>24){case 1:{g=c[z>>2]|0;s=(c[y>>2]<<16|0)/(g|0)|0;if((g|0)>0){o=e;m=65536;n=0;while(1){p=m+-65536|0;q=p>>>16;if((m|0)>65535){n=a[o+q>>0]|0;o=o+1+q|0;m=p-(q<<16)|0}a[r>>0]=n;if((g|0)>1){m=m+s|0;g=g+-1|0;r=r+1|0}else break}}break}case 2:{g=c[z>>2]|0;s=(c[y>>2]<<16|0)/(g|0)|0;if((g|0)>0){o=e;m=65536;n=0;while(1){p=m+-65536|0;q=p>>>16;if((m|0)>65535){n=b[o+(q<<1)>>1]|0;o=o+2+(q<<1)|0;m=p-(q<<16)|0}b[r>>1]=n;if((g|0)>1){m=m+s|0;g=g+-1|0;r=r+2|0}else break}}break}case 3:{g=c[z>>2]|0;w=(c[y>>2]<<16|0)/(g|0)|0;if((g|0)>0){m=65536;t=e;u=0;p=0;n=0;while(1){q=m+-65536|0;s=q>>>16;o=s*3|0;v=t+o|0;if((m|0)>65535){t=t+3+o|0;m=q-(s<<16)|0;o=a[v>>0]|0;p=a[v+1>>0]|0;n=a[v+2>>0]|0}else o=u;a[r>>0]=o;a[r+1>>0]=p;a[r+2>>0]=n;if((g|0)>1){m=m+w|0;g=g+-1|0;r=r+3|0;u=o}else break}}break}case 4:{g=c[z>>2]|0;s=(c[y>>2]<<16|0)/(g|0)|0;if((g|0)>0){o=e;m=65536;n=0;while(1){p=m+-65536|0;q=p>>>16;if((m|0)>65535){n=c[o+(q<<2)>>2]|0;o=o+4+(q<<2)|0;m=p-(q<<16)|0}c[r>>2]=n;if((g|0)>1){m=m+s|0;g=g+-1|0;r=r+4|0}else break}}break}default:{}}h=h+1|0;if((h|0)>=(D|0))break a;else j=j+C|0}}while(0);if(((G|0?(J=f+28|0,K=c[J>>2]|0,K|0):0)?(c[J>>2]=K+-1,(K|0)<=1):0)?(L=c[f>>2]|0,L&2|0):0){c[f>>2]=L&-3;$V(f)|0}if(!x){d=0;l=N;return d|0}h=d+28|0;e=c[h>>2]|0;if(!e){d=0;l=N;return d|0}c[h>>2]=e+-1;if((e|0)>1){d=0;l=N;return d|0}h=c[d>>2]|0;if(!(h&2)){d=0;l=N;return d|0}c[d>>2]=h&-3;$V(d)|0;d=0;l=N;return d|0}function T_(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;p=~i&255;switch(e|0){case 1:{i=c[b+8>>2]|0;e=c[b+12>>2]|0;j=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=j-i|0;if(!e)return 0;o=(i+3|0)/4|0;m=i&255;l=f&255;f=g&255;k=h&255;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,j)|0)<<2)+(c[b>>2]<<2)|0;a:while(1){e=e+-1|0;switch(m&3){case 0:{q=o;s=i;i=5;break}case 3:{t=o;y=i;i=6;break}case 2:{z=o;E=i;i=7;break}case 1:{F=o;K=i;i=8;break}default:{i=9;break a}}while(1)if((i|0)==5){t=c[s>>2]|0;c[s>>2]=(((O(t>>>8&255,p)|0)>>>0)/255|0)+f<<8|(((O(t&255,p)|0)>>>0)/255|0)+k|(((O(t>>>16&255,p)|0)>>>0)/255|0)+l<<16;t=q;y=s+4|0;i=6;continue}else if((i|0)==6){z=c[y>>2]|0;c[y>>2]=(((O(z>>>8&255,p)|0)>>>0)/255|0)+f<<8|(((O(z&255,p)|0)>>>0)/255|0)+k|(((O(z>>>16&255,p)|0)>>>0)/255|0)+l<<16;z=t;E=y+4|0;i=7;continue}else if((i|0)==7){F=c[E>>2]|0;c[E>>2]=(((O(F>>>8&255,p)|0)>>>0)/255|0)+f<<8|(((O(F&255,p)|0)>>>0)/255|0)+k|(((O(F>>>16&255,p)|0)>>>0)/255|0)+l<<16;F=z;K=E+4|0;i=8;continue}else if((i|0)==8){i=c[K>>2]|0;c[K>>2]=(((O(i>>>8&255,p)|0)>>>0)/255|0)+f<<8|(((O(i&255,p)|0)>>>0)/255|0)+k|(((O(i>>>16&255,p)|0)>>>0)/255|0)+l<<16;i=K+4|0;if((F|0)>1){q=F+-1|0;s=i;i=5;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=9)if((i|0)==46)return 0;break}case 2:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;f=f&255;k=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;b:while(1){e=e+-1|0;switch(l&3){case 0:{o=m;u=i;i=14;break}case 3:{v=m;A=i;i=15;break}case 2:{B=m;G=i;i=16;break}case 1:{H=m;L=i;i=17;break}default:{i=18;break b}}while(1)if((i|0)==14){A=c[u>>2]|0;v=(A>>>16&255)+f|0;i=(A>>>8&255)+k|0;A=(A&255)+j|0;c[u>>2]=(i>>>0<255?i:255)<<8|(A>>>0<255?A:255)|(v>>>0<255?v:255)<<16;v=o;A=u+4|0;i=15;continue}else if((i|0)==15){G=c[A>>2]|0;B=(G>>>16&255)+f|0;i=(G>>>8&255)+k|0;G=(G&255)+j|0;c[A>>2]=(i>>>0<255?i:255)<<8|(G>>>0<255?G:255)|(B>>>0<255?B:255)<<16;B=v;G=A+4|0;i=16;continue}else if((i|0)==16){L=c[G>>2]|0;H=(L>>>16&255)+f|0;i=(L>>>8&255)+k|0;L=(L&255)+j|0;c[G>>2]=(i>>>0<255?i:255)<<8|(L>>>0<255?L:255)|(H>>>0<255?H:255)<<16;H=B;L=G+4|0;i=17;continue}else if((i|0)==17){h=c[L>>2]|0;i=(h>>>16&255)+f|0;b=(h>>>8&255)+k|0;h=(h&255)+j|0;c[L>>2]=(b>>>0<255?b:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;i=L+4|0;if((H|0)>1){o=H+-1|0;u=i;i=14;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=18)if((i|0)==46)return 0;break}case 4:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;f=f&255;k=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;c:while(1){e=e+-1|0;switch(l&3){case 0:{r=m;w=i;i=23;break}case 3:{x=m;C=i;i=24;break}case 2:{D=m;I=i;i=25;break}case 1:{J=m;M=i;i=26;break}default:{i=27;break c}}while(1)if((i|0)==23){x=c[w>>2]|0;c[w>>2]=(((O(x>>>8&255,k)|0)>>>0)/255|0)<<8|(((O(x&255,j)|0)>>>0)/255|0)|(((O(x>>>16&255,f)|0)>>>0)/255|0)<<16;x=r;C=w+4|0;i=24;continue}else if((i|0)==24){D=c[C>>2]|0;c[C>>2]=(((O(D>>>8&255,k)|0)>>>0)/255|0)<<8|(((O(D&255,j)|0)>>>0)/255|0)|(((O(D>>>16&255,f)|0)>>>0)/255|0)<<16;D=x;I=C+4|0;i=25;continue}else if((i|0)==25){J=c[I>>2]|0;c[I>>2]=(((O(J>>>8&255,k)|0)>>>0)/255|0)<<8|(((O(J&255,j)|0)>>>0)/255|0)|(((O(J>>>16&255,f)|0)>>>0)/255|0)<<16;J=D;M=I+4|0;i=26;continue}else if((i|0)==26){i=c[M>>2]|0;c[M>>2]=(((O(i>>>8&255,k)|0)>>>0)/255|0)<<8|(((O(i&255,j)|0)>>>0)/255|0)|(((O(i>>>16&255,f)|0)>>>0)/255|0)<<16;i=M+4|0;if((J|0)>1){r=J+-1|0;w=i;i=23;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=27)if((i|0)==46)return 0;break}default:{k=c[b+8>>2]|0;M=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-k|0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;i=i+(c[b>>2]<<2)|0;j=M+-1|0;if(!M)return 0;e=k+3|0;m=(e|0)/4|0;l=(g&255)<<8|(f&255)<<16|h&255;switch(k&3){case 0:{while(1){e=m;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;i=i+16|0;if((e|0)<=1)break;else e=e+-1|0}if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 3:{f=(e|0)>7;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;e=i+12|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;c[e+24>>2]=l;e=e+28|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 2:{f=(e|0)>7;while(1){c[i>>2]=l;c[i+4>>2]=l;e=i+8|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;e=e+24|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}default:{f=(e|0)>7;while(1){c[i>>2]=l;e=i+4|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;e=e+20|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}}}}return 0}function U_(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i&255;p=N^255;switch(e|0){case 1:{i=c[b+8>>2]|0;e=c[b+12>>2]|0;j=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=j-i|0;if(!e)return 0;o=(i+3|0)/4|0;m=i&255;l=f&255;f=g&255;k=h&255;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,j)|0)<<2)+(c[b>>2]<<2)|0;a:while(1){e=e+-1|0;switch(m&3){case 0:{q=o;s=i;i=5;break}case 3:{t=o;y=i;i=6;break}case 2:{z=o;E=i;i=7;break}case 1:{F=o;K=i;i=8;break}default:{i=9;break a}}while(1)if((i|0)==5){t=c[s>>2]|0;c[s>>2]=(((O(t>>>24,p)|0)>>>0)/255|0)+N<<24|(((O(t&255,p)|0)>>>0)/255|0)+k|(((O(t>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((O(t>>>8&255,p)|0)>>>0)/255|0)+f<<8;t=q;y=s+4|0;i=6;continue}else if((i|0)==6){z=c[y>>2]|0;c[y>>2]=(((O(z>>>24,p)|0)>>>0)/255|0)+N<<24|(((O(z&255,p)|0)>>>0)/255|0)+k|(((O(z>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((O(z>>>8&255,p)|0)>>>0)/255|0)+f<<8;z=t;E=y+4|0;i=7;continue}else if((i|0)==7){F=c[E>>2]|0;c[E>>2]=(((O(F>>>24,p)|0)>>>0)/255|0)+N<<24|(((O(F&255,p)|0)>>>0)/255|0)+k|(((O(F>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((O(F>>>8&255,p)|0)>>>0)/255|0)+f<<8;F=z;K=E+4|0;i=8;continue}else if((i|0)==8){i=c[K>>2]|0;c[K>>2]=(((O(i>>>24,p)|0)>>>0)/255|0)+N<<24|(((O(i&255,p)|0)>>>0)/255|0)+k|(((O(i>>>16&255,p)|0)>>>0)/255|0)+l<<16|(((O(i>>>8&255,p)|0)>>>0)/255|0)+f<<8;i=K+4|0;if((F|0)>1){q=F+-1|0;s=i;i=5;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=9)if((i|0)==46)return 0;break}case 2:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;f=f&255;k=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;b:while(1){e=e+-1|0;switch(l&3){case 0:{o=m;u=i;i=14;break}case 3:{v=m;A=i;i=15;break}case 2:{B=m;G=i;i=16;break}case 1:{H=m;L=i;i=17;break}default:{i=18;break b}}while(1)if((i|0)==14){i=c[u>>2]|0;A=(i>>>16&255)+f|0;v=(i>>>8&255)+k|0;h=(i&255)+j|0;c[u>>2]=(h>>>0<255?h:255)|i&-16777216|(A>>>0<255?A:255)<<16|(v>>>0<255?v:255)<<8;v=o;A=u+4|0;i=15;continue}else if((i|0)==15){i=c[A>>2]|0;G=(i>>>16&255)+f|0;B=(i>>>8&255)+k|0;h=(i&255)+j|0;c[A>>2]=(h>>>0<255?h:255)|i&-16777216|(G>>>0<255?G:255)<<16|(B>>>0<255?B:255)<<8;B=v;G=A+4|0;i=16;continue}else if((i|0)==16){i=c[G>>2]|0;L=(i>>>16&255)+f|0;H=(i>>>8&255)+k|0;h=(i&255)+j|0;c[G>>2]=(h>>>0<255?h:255)|i&-16777216|(L>>>0<255?L:255)<<16|(H>>>0<255?H:255)<<8;H=B;L=G+4|0;i=17;continue}else if((i|0)==17){b=c[L>>2]|0;h=(b>>>16&255)+f|0;i=(b>>>8&255)+k|0;g=(b&255)+j|0;c[L>>2]=(g>>>0<255?g:255)|b&-16777216|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255)<<8;i=L+4|0;if((H|0)>1){o=H+-1|0;u=i;i=14;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=18)if((i|0)==46)return 0;break}case 4:{j=c[b+8>>2]|0;e=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-j|0;if(!e)return 0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;m=(j+3|0)/4|0;l=j&255;f=f&255;k=g&255;j=h&255;i=i+(c[b>>2]<<2)|0;c:while(1){e=e+-1|0;switch(l&3){case 0:{r=m;w=i;i=23;break}case 3:{x=m;C=i;i=24;break}case 2:{D=m;I=i;i=25;break}case 1:{J=m;M=i;i=26;break}default:{i=27;break c}}while(1)if((i|0)==23){x=c[w>>2]|0;c[w>>2]=((O(x&255,j)|0)>>>0)/255|0|x&-16777216|(((O(x>>>16&255,f)|0)>>>0)/255|0)<<16|(((O(x>>>8&255,k)|0)>>>0)/255|0)<<8;x=r;C=w+4|0;i=24;continue}else if((i|0)==24){D=c[C>>2]|0;c[C>>2]=((O(D&255,j)|0)>>>0)/255|0|D&-16777216|(((O(D>>>16&255,f)|0)>>>0)/255|0)<<16|(((O(D>>>8&255,k)|0)>>>0)/255|0)<<8;D=x;I=C+4|0;i=25;continue}else if((i|0)==25){J=c[I>>2]|0;c[I>>2]=((O(J&255,j)|0)>>>0)/255|0|J&-16777216|(((O(J>>>16&255,f)|0)>>>0)/255|0)<<16|(((O(J>>>8&255,k)|0)>>>0)/255|0)<<8;J=D;M=I+4|0;i=26;continue}else if((i|0)==26){i=c[M>>2]|0;c[M>>2]=((O(i&255,j)|0)>>>0)/255|0|i&-16777216|(((O(i>>>16&255,f)|0)>>>0)/255|0)<<16|(((O(i>>>8&255,k)|0)>>>0)/255|0)<<8;i=M+4|0;if((J|0)>1){r=J+-1|0;w=i;i=23;continue}else break}if(!e){i=46;break}else i=i+(n<<2)|0}if((i|0)!=27)if((i|0)==46)return 0;break}default:{k=c[b+8>>2]|0;M=c[b+12>>2]|0;i=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;n=i-k|0;i=(c[a+20>>2]|0)+((O(c[b+4>>2]|0,i)|0)<<2)|0;i=i+(c[b>>2]<<2)|0;j=M+-1|0;if(!M)return 0;e=k+3|0;m=(e|0)/4|0;l=(g&255)<<8|(f&255)<<16|h&255|N<<24;switch(k&3){case 0:{while(1){e=m;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;i=i+16|0;if((e|0)<=1)break;else e=e+-1|0}if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 3:{f=(e|0)>7;while(1){c[i>>2]=l;c[i+4>>2]=l;c[i+8>>2]=l;e=i+12|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;c[e+24>>2]=l;e=e+28|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}case 2:{f=(e|0)>7;while(1){c[i>>2]=l;c[i+4>>2]=l;e=i+8|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;c[e+20>>2]=l;e=e+24|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}default:{f=(e|0)>7;while(1){c[i>>2]=l;e=i+4|0;if(f){k=m;do{k=k+-1|0;c[e>>2]=l;c[i+8>>2]=l;c[i+12>>2]=l;e=i;i=i+16|0;c[i>>2]=l;e=e+20|0}while((k|0)>1);i=e}else i=e;if(!j)break;else{i=i+(n<<2)|0;j=j+-1|0}}return 0}}}}return 0}function V_(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0;Hg=l;l=l+16|0;n=Hg;Fg=c[f+4>>2]|0;Eg=~m&255;z=a[Fg+9>>0]|0;o=z&255;switch(z<<24>>24){case 2:{switch(h|0){case 1:{m=c[g+8>>2]|0;h=c[g+12>>2]|0;o=(c[f+16>>2]|0)/(o|0)|0;B=o-m|0;if(!h){Gg=0;l=Hg;return Gg|0}C=(m+3|0)/4|0;A=m&255;r=Fg+28|0;s=Fg+12|0;t=Fg+32|0;u=Fg+29|0;v=Fg+16|0;w=Fg+33|0;x=Fg+30|0;y=Fg+20|0;z=Fg+34|0;q=i&255;p=j&255;i=k&255;n=Fg+24|0;m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,o)|0)<<1)+(c[g>>2]<<1)|0;a:while(1){h=h+-1|0;switch(A&3){case 0:{of=a[r>>0]|0;Uf=a[u>>0]|0;qg=a[x>>0]|0;Pa=C;Va=m;Ze=of;hf=c[s>>2]|0;jf=a[t>>0]|0;of=c[22432+((of&255)<<2)>>2]|0;yf=Uf;Gf=c[v>>2]|0;Mf=a[w>>0]|0;Uf=c[22432+((Uf&255)<<2)>>2]|0;bg=qg;jg=c[y>>2]|0;og=a[z>>0]|0;qg=c[22432+((qg&255)<<2)>>2]|0;Ag=c[n>>2]|0;m=10;break}case 3:{ic=a[r>>0]|0;vc=a[u>>0]|0;Tc=a[x>>0]|0;Wa=C;fb=m;Pb=ic;Zb=c[s>>2]|0;$b=a[t>>0]|0;ic=c[22432+((ic&255)<<2)>>2]|0;jc=vc;kc=c[v>>2]|0;rc=a[w>>0]|0;vc=c[22432+((vc&255)<<2)>>2]|0;Fc=Tc;Ic=c[y>>2]|0;Pc=a[z>>0]|0;Tc=c[22432+((Tc&255)<<2)>>2]|0;wd=c[n>>2]|0;m=11;break}case 2:{Nd=a[r>>0]|0;Rd=a[u>>0]|0;Vd=a[x>>0]|0;gb=C;rb=m;Fd=Nd;Ld=c[s>>2]|0;Md=a[t>>0]|0;Nd=c[22432+((Nd&255)<<2)>>2]|0;Od=Rd;Pd=c[v>>2]|0;Qd=a[w>>0]|0;Rd=c[22432+((Rd&255)<<2)>>2]|0;Sd=Vd;Td=c[y>>2]|0;Ud=a[z>>0]|0;Vd=c[22432+((Vd&255)<<2)>>2]|0;Wd=c[n>>2]|0;m=12;break}case 1:{_d=a[r>>0]|0;ce=a[u>>0]|0;ge=a[x>>0]|0;sb=C;Db=m;Xd=_d;Yd=c[s>>2]|0;Zd=a[t>>0]|0;_d=c[22432+((_d&255)<<2)>>2]|0;$d=ce;ae=c[v>>2]|0;be=a[w>>0]|0;ce=c[22432+((ce&255)<<2)>>2]|0;de=ge;ee=c[y>>2]|0;fe=a[z>>0]|0;ge=c[22432+((ge&255)<<2)>>2]|0;he=c[n>>2]|0;m=13;break}default:{m=14;break a}}while(1)if((m|0)==10){fb=e[Va>>1]|0;Pb=jf&255;Zb=Mf&255;Wa=og&255;b[Va>>1]=((((O(d[Uf+((Gf&fb)>>>Zb)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(yf&255)<<Zb|((((O(d[of+((fb&hf)>>>Pb)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Ze&255)<<Pb|Ag|((((O(d[qg+((jg&fb)>>>Wa)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(bg&255)<<Wa;Wa=Pa;fb=Va+2|0;Pb=Ze;Zb=hf;$b=jf;ic=of;jc=yf;kc=Gf;rc=Mf;vc=Uf;Fc=bg;Ic=jg;Pc=og;Tc=qg;wd=Ag;m=11;continue}else if((m|0)==11){rb=e[fb>>1]|0;Fd=$b&255;Ld=rc&255;gb=Pc&255;b[fb>>1]=((((O(d[vc+((kc&rb)>>>Ld)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(jc&255)<<Ld|((((O(d[ic+((rb&Zb)>>>Fd)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Pb&255)<<Fd|wd|((((O(d[Tc+((Ic&rb)>>>gb)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(Fc&255)<<gb;gb=Wa;rb=fb+2|0;Fd=Pb;Ld=Zb;Md=$b;Nd=ic;Od=jc;Pd=kc;Qd=rc;Rd=vc;Sd=Fc;Td=Ic;Ud=Pc;Vd=Tc;Wd=wd;m=12;continue}else if((m|0)==12){Db=e[rb>>1]|0;Xd=Md&255;Yd=Qd&255;sb=Ud&255;b[rb>>1]=((((O(d[Rd+((Pd&Db)>>>Yd)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(Od&255)<<Yd|((((O(d[Nd+((Db&Ld)>>>Xd)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Fd&255)<<Xd|Wd|((((O(d[Vd+((Td&Db)>>>sb)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(Sd&255)<<sb;sb=gb;Db=rb+2|0;Xd=Fd;Yd=Ld;Zd=Md;_d=Nd;$d=Od;ae=Pd;be=Qd;ce=Rd;de=Sd;ee=Td;fe=Ud;ge=Vd;he=Wd;m=13;continue}else if((m|0)==13){g=e[Db>>1]|0;Fg=Zd&255;k=be&255;m=fe&255;b[Db>>1]=((((O(d[ce+((ae&g)>>>k)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>($d&255)<<k|((((O(d[_d+((g&Yd)>>>Fg)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Xd&255)<<Fg|he|((((O(d[ge+((ee&g)>>>m)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(de&255)<<m;m=Db+2|0;if((sb|0)>1){Pa=sb+-1|0;Va=m;Ze=Xd;hf=Yd;jf=Zd;of=_d;yf=$d;Gf=ae;Mf=be;Uf=ce;bg=de;jg=ee;og=fe;qg=ge;Ag=he;m=10;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(B<<1)|0}if((m|0)!=14)if((m|0)==109){l=Hg;return Gg|0}break}case 2:{h=c[g+8>>2]|0;A=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;C=m-h|0;if(!A){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<1)|0;B=(h+3|0)/4|0;z=h&255;q=Fg+28|0;r=Fg+12|0;s=Fg+32|0;t=Fg+29|0;u=Fg+16|0;v=Fg+33|0;w=Fg+30|0;x=Fg+20|0;y=Fg+34|0;p=i&255;i=j&255;o=k&255;n=Fg+24|0;m=m+(c[g>>2]<<1)|0;h=A;b:while(1){h=h+-1|0;switch(z&3){case 0:{le=a[q>>0]|0;pe=a[t>>0]|0;te=a[w>>0]|0;Qa=B;Xa=m;ie=le;je=c[r>>2]|0;ke=a[s>>0]|0;le=c[22432+((le&255)<<2)>>2]|0;me=pe;ne=c[u>>2]|0;oe=a[v>>0]|0;pe=c[22432+((pe&255)<<2)>>2]|0;qe=te;re=c[x>>2]|0;se=a[y>>0]|0;te=c[22432+((te&255)<<2)>>2]|0;ue=c[n>>2]|0;m=23;break}case 3:{ye=a[q>>0]|0;Ce=a[t>>0]|0;Ge=a[w>>0]|0;Ya=B;hb=m;ve=ye;we=c[r>>2]|0;xe=a[s>>0]|0;ye=c[22432+((ye&255)<<2)>>2]|0;ze=Ce;Ae=c[u>>2]|0;Be=a[v>>0]|0;Ce=c[22432+((Ce&255)<<2)>>2]|0;De=Ge;Ee=c[x>>2]|0;Fe=a[y>>0]|0;Ge=c[22432+((Ge&255)<<2)>>2]|0;He=c[n>>2]|0;m=24;break}case 2:{Le=a[q>>0]|0;Pe=a[t>>0]|0;Te=a[w>>0]|0;ib=B;tb=m;Ie=Le;Je=c[r>>2]|0;Ke=a[s>>0]|0;Le=c[22432+((Le&255)<<2)>>2]|0;Me=Pe;Ne=c[u>>2]|0;Oe=a[v>>0]|0;Pe=c[22432+((Pe&255)<<2)>>2]|0;Qe=Te;Re=c[x>>2]|0;Se=a[y>>0]|0;Te=c[22432+((Te&255)<<2)>>2]|0;Ue=c[n>>2]|0;m=25;break}case 1:{Ye=a[q>>0]|0;bf=a[t>>0]|0;ff=a[w>>0]|0;ub=B;Eb=m;Ve=Ye;We=c[r>>2]|0;Xe=a[s>>0]|0;Ye=c[22432+((Ye&255)<<2)>>2]|0;_e=bf;$e=c[u>>2]|0;af=a[v>>0]|0;bf=c[22432+((bf&255)<<2)>>2]|0;cf=ff;df=c[x>>2]|0;ef=a[y>>0]|0;ff=c[22432+((ff&255)<<2)>>2]|0;gf=c[n>>2]|0;m=26;break}default:{m=27;break b}}while(1)if((m|0)==23){hb=e[Xa>>1]|0;ve=ke&255;xe=oe&255;Ya=se&255;we=(d[le+((hb&je)>>>ve)>>0]|0)+p|0;ye=(d[pe+((ne&hb)>>>xe)>>0]|0)+i|0;hb=(d[te+((re&hb)>>>Ya)>>0]|0)+o|0;b[Xa>>1]=(ye>>>0<255?ye:255)>>>(me&255)<<xe|(we>>>0<255?we:255)>>>(ie&255)<<ve|ue|(hb>>>0<255?hb:255)>>>(qe&255)<<Ya;Ya=Qa;hb=Xa+2|0;ve=ie;we=je;xe=ke;ye=le;ze=me;Ae=ne;Be=oe;Ce=pe;De=qe;Ee=re;Fe=se;Ge=te;He=ue;m=24;continue}else if((m|0)==24){tb=e[hb>>1]|0;Ie=xe&255;Ke=Be&255;ib=Fe&255;Je=(d[ye+((tb&we)>>>Ie)>>0]|0)+p|0;Le=(d[Ce+((Ae&tb)>>>Ke)>>0]|0)+i|0;tb=(d[Ge+((Ee&tb)>>>ib)>>0]|0)+o|0;b[hb>>1]=(Le>>>0<255?Le:255)>>>(ze&255)<<Ke|(Je>>>0<255?Je:255)>>>(ve&255)<<Ie|He|(tb>>>0<255?tb:255)>>>(De&255)<<ib;ib=Ya;tb=hb+2|0;Ie=ve;Je=we;Ke=xe;Le=ye;Me=ze;Ne=Ae;Oe=Be;Pe=Ce;Qe=De;Re=Ee;Se=Fe;Te=Ge;Ue=He;m=25;continue}else if((m|0)==25){Eb=e[tb>>1]|0;Ve=Ke&255;Xe=Oe&255;ub=Se&255;We=(d[Le+((Eb&Je)>>>Ve)>>0]|0)+p|0;Ye=(d[Pe+((Ne&Eb)>>>Xe)>>0]|0)+i|0;Eb=(d[Te+((Re&Eb)>>>ub)>>0]|0)+o|0;b[tb>>1]=(Ye>>>0<255?Ye:255)>>>(Me&255)<<Xe|(We>>>0<255?We:255)>>>(Ie&255)<<Ve|Ue|(Eb>>>0<255?Eb:255)>>>(Qe&255)<<ub;ub=ib;Eb=tb+2|0;Ve=Ie;We=Je;Xe=Ke;Ye=Le;_e=Me;$e=Ne;af=Oe;bf=Pe;cf=Qe;df=Re;ef=Se;ff=Te;gf=Ue;m=26;continue}else if((m|0)==26){g=e[Eb>>1]|0;Fg=Xe&255;j=af&255;m=ef&255;k=(d[Ye+((g&We)>>>Fg)>>0]|0)+p|0;f=(d[bf+(($e&g)>>>j)>>0]|0)+i|0;g=(d[ff+((df&g)>>>m)>>0]|0)+o|0;b[Eb>>1]=(f>>>0<255?f:255)>>>(_e&255)<<j|(k>>>0<255?k:255)>>>(Ve&255)<<Fg|gf|(g>>>0<255?g:255)>>>(cf&255)<<m;m=Eb+2|0;if((ub|0)>1){Qa=ub+-1|0;Xa=m;ie=Ve;je=We;ke=Xe;le=Ye;me=_e;ne=$e;oe=af;pe=bf;qe=cf;re=df;se=ef;te=ff;ue=gf;m=23;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(C<<1)|0}if((m|0)!=27)if((m|0)==109){l=Hg;return Gg|0}break}case 4:{h=c[g+8>>2]|0;A=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;C=m-h|0;if(!A){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<1)|0;B=(h+3|0)/4|0;z=h&255;q=Fg+28|0;r=Fg+12|0;s=Fg+32|0;t=Fg+29|0;u=Fg+16|0;v=Fg+33|0;w=Fg+30|0;x=Fg+20|0;y=Fg+34|0;p=i&255;i=j&255;o=k&255;n=Fg+24|0;m=m+(c[g>>2]<<1)|0;h=A;c:while(1){h=h+-1|0;switch(z&3){case 0:{nf=a[q>>0]|0;sf=a[t>>0]|0;wf=a[w>>0]|0;Ra=B;Za=m;kf=nf;lf=c[r>>2]|0;mf=a[s>>0]|0;nf=c[22432+((nf&255)<<2)>>2]|0;pf=sf;qf=c[u>>2]|0;rf=a[v>>0]|0;sf=c[22432+((sf&255)<<2)>>2]|0;tf=wf;uf=c[x>>2]|0;vf=a[y>>0]|0;wf=c[22432+((wf&255)<<2)>>2]|0;xf=c[n>>2]|0;m=36;break}case 3:{Cf=a[q>>0]|0;Hf=a[t>>0]|0;Lf=a[w>>0]|0;_a=B;jb=m;zf=Cf;Af=c[r>>2]|0;Bf=a[s>>0]|0;Cf=c[22432+((Cf&255)<<2)>>2]|0;Df=Hf;Ef=c[u>>2]|0;Ff=a[v>>0]|0;Hf=c[22432+((Hf&255)<<2)>>2]|0;If=Lf;Jf=c[x>>2]|0;Kf=a[y>>0]|0;Lf=c[22432+((Lf&255)<<2)>>2]|0;Nf=c[n>>2]|0;m=37;break}case 2:{Rf=a[q>>0]|0;Wf=a[t>>0]|0;_f=a[w>>0]|0;kb=B;vb=m;Of=Rf;Pf=c[r>>2]|0;Qf=a[s>>0]|0;Rf=c[22432+((Rf&255)<<2)>>2]|0;Sf=Wf;Tf=c[u>>2]|0;Vf=a[v>>0]|0;Wf=c[22432+((Wf&255)<<2)>>2]|0;Xf=_f;Yf=c[x>>2]|0;Zf=a[y>>0]|0;_f=c[22432+((_f&255)<<2)>>2]|0;$f=c[n>>2]|0;m=38;break}case 1:{eg=a[q>>0]|0;ig=a[t>>0]|0;ng=a[w>>0]|0;wb=B;Fb=m;ag=eg;cg=c[r>>2]|0;dg=a[s>>0]|0;eg=c[22432+((eg&255)<<2)>>2]|0;fg=ig;gg=c[u>>2]|0;hg=a[v>>0]|0;ig=c[22432+((ig&255)<<2)>>2]|0;kg=ng;lg=c[x>>2]|0;mg=a[y>>0]|0;ng=c[22432+((ng&255)<<2)>>2]|0;pg=c[n>>2]|0;m=39;break}default:{m=40;break c}}while(1)if((m|0)==36){jb=e[Za>>1]|0;zf=mf&255;Af=rf&255;_a=vf&255;b[Za>>1]=(((O(d[sf+((qf&jb)>>>Af)>>0]|0,i)|0)>>>0)/255|0)>>>(pf&255)<<Af|(((O(d[nf+((jb&lf)>>>zf)>>0]|0,p)|0)>>>0)/255|0)>>>(kf&255)<<zf|xf|(((O(d[wf+((uf&jb)>>>_a)>>0]|0,o)|0)>>>0)/255|0)>>>(tf&255)<<_a;_a=Ra;jb=Za+2|0;zf=kf;Af=lf;Bf=mf;Cf=nf;Df=pf;Ef=qf;Ff=rf;Hf=sf;If=tf;Jf=uf;Kf=vf;Lf=wf;Nf=xf;m=37;continue}else if((m|0)==37){vb=e[jb>>1]|0;Of=Bf&255;Pf=Ff&255;kb=Kf&255;b[jb>>1]=(((O(d[Hf+((Ef&vb)>>>Pf)>>0]|0,i)|0)>>>0)/255|0)>>>(Df&255)<<Pf|(((O(d[Cf+((vb&Af)>>>Of)>>0]|0,p)|0)>>>0)/255|0)>>>(zf&255)<<Of|Nf|(((O(d[Lf+((Jf&vb)>>>kb)>>0]|0,o)|0)>>>0)/255|0)>>>(If&255)<<kb;kb=_a;vb=jb+2|0;Of=zf;Pf=Af;Qf=Bf;Rf=Cf;Sf=Df;Tf=Ef;Vf=Ff;Wf=Hf;Xf=If;Yf=Jf;Zf=Kf;_f=Lf;$f=Nf;m=38;continue}else if((m|0)==38){Fb=e[vb>>1]|0;ag=Qf&255;cg=Vf&255;wb=Zf&255;b[vb>>1]=(((O(d[Wf+((Tf&Fb)>>>cg)>>0]|0,i)|0)>>>0)/255|0)>>>(Sf&255)<<cg|(((O(d[Rf+((Fb&Pf)>>>ag)>>0]|0,p)|0)>>>0)/255|0)>>>(Of&255)<<ag|$f|(((O(d[_f+((Yf&Fb)>>>wb)>>0]|0,o)|0)>>>0)/255|0)>>>(Xf&255)<<wb;wb=kb;Fb=vb+2|0;ag=Of;cg=Pf;dg=Qf;eg=Rf;fg=Sf;gg=Tf;hg=Vf;ig=Wf;kg=Xf;lg=Yf;mg=Zf;ng=_f;pg=$f;m=39;continue}else if((m|0)==39){g=e[Fb>>1]|0;Fg=dg&255;k=hg&255;m=mg&255;b[Fb>>1]=(((O(d[ig+((gg&g)>>>k)>>0]|0,i)|0)>>>0)/255|0)>>>(fg&255)<<k|(((O(d[eg+((g&cg)>>>Fg)>>0]|0,p)|0)>>>0)/255|0)>>>(ag&255)<<Fg|pg|(((O(d[ng+((lg&g)>>>m)>>0]|0,o)|0)>>>0)/255|0)>>>(kg&255)<<m;m=Fb+2|0;if((wb|0)>1){Ra=wb+-1|0;Za=m;kf=ag;lf=cg;mf=dg;nf=eg;pf=fg;qf=gg;rf=hg;sf=ig;tf=kg;uf=lg;vf=mg;wf=ng;xf=pg;m=36;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(C<<1)|0}if((m|0)!=40)if((m|0)==109){l=Hg;return Gg|0}break}default:{h=c[g+8>>2]|0;x=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;z=m-h|0;if(!x){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<1)|0;y=(h+3|0)/4|0;w=h&255;v=i&255;u=j&255;o=k&255;i=Fg+28|0;p=Fg+32|0;q=Fg+29|0;r=Fg+33|0;s=Fg+30|0;t=Fg+34|0;n=Fg+24|0;m=m+(c[g>>2]<<1)|0;h=x;d:while(1){h=h+-1|0;switch(w&3){case 0:{A=y;C=m;na=a[i>>0]|0;oa=a[p>>0]|0;pa=a[q>>0]|0;qa=a[r>>0]|0;ra=a[s>>0]|0;sa=a[t>>0]|0;ta=c[n>>2]|0;m=49;break}case 3:{D=y;G=m;ua=a[i>>0]|0;va=a[p>>0]|0;wa=a[q>>0]|0;xa=a[r>>0]|0;ya=a[s>>0]|0;za=a[t>>0]|0;Aa=c[n>>2]|0;m=50;break}case 2:{H=y;K=m;Ba=a[i>>0]|0;Ca=a[p>>0]|0;Da=a[q>>0]|0;Ea=a[r>>0]|0;Fa=a[s>>0]|0;Ga=a[t>>0]|0;Ha=c[n>>2]|0;m=51;break}case 1:{L=y;P=m;Ia=a[i>>0]|0;Ja=a[p>>0]|0;Ka=a[q>>0]|0;La=a[r>>0]|0;Ma=a[s>>0]|0;Na=a[t>>0]|0;Oa=c[n>>2]|0;m=52;break}default:{m=53;break d}}while(1)if((m|0)==49){b[C>>1]=u>>>(pa&255)<<(qa&255)|v>>>(na&255)<<(oa&255)|ta|o>>>(ra&255)<<(sa&255);D=A;G=C+2|0;ua=na;va=oa;wa=pa;xa=qa;ya=ra;za=sa;Aa=ta;m=50;continue}else if((m|0)==50){b[G>>1]=u>>>(wa&255)<<(xa&255)|v>>>(ua&255)<<(va&255)|Aa|o>>>(ya&255)<<(za&255);H=D;K=G+2|0;Ba=ua;Ca=va;Da=wa;Ea=xa;Fa=ya;Ga=za;Ha=Aa;m=51;continue}else if((m|0)==51){b[K>>1]=u>>>(Da&255)<<(Ea&255)|v>>>(Ba&255)<<(Ca&255)|Ha|o>>>(Fa&255)<<(Ga&255);L=H;P=K+2|0;Ia=Ba;Ja=Ca;Ka=Da;La=Ea;Ma=Fa;Na=Ga;Oa=Ha;m=52;continue}else if((m|0)==52){b[P>>1]=u>>>(Ka&255)<<(La&255)|v>>>(Ia&255)<<(Ja&255)|Oa|o>>>(Ma&255)<<(Na&255);m=P+2|0;if((L|0)>1){A=L+-1|0;C=m;na=Ia;oa=Ja;pa=Ka;qa=La;ra=Ma;sa=Na;ta=Oa;m=49;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(z<<1)|0}if((m|0)!=53)if((m|0)==109){l=Hg;return Gg|0}}}break}case 4:{switch(h|0){case 1:{m=c[g+8>>2]|0;h=c[g+12>>2]|0;o=(c[f+16>>2]|0)/(o|0)|0;B=o-m|0;if(!h){Gg=0;l=Hg;return Gg|0}C=(m+3|0)/4|0;A=m&255;r=Fg+28|0;s=Fg+12|0;t=Fg+32|0;u=Fg+29|0;v=Fg+16|0;w=Fg+33|0;x=Fg+30|0;y=Fg+20|0;z=Fg+34|0;q=i&255;p=j&255;i=k&255;n=Fg+24|0;m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,o)|0)<<2)+(c[g>>2]<<2)|0;e:while(1){h=h+-1|0;switch(A&3){case 0:{tg=a[r>>0]|0;wg=a[u>>0]|0;zg=a[x>>0]|0;Sa=C;$a=m;rg=tg;sg=a[t>>0]|0;tg=c[22432+((tg&255)<<2)>>2]|0;ug=wg;vg=a[w>>0]|0;wg=c[22432+((wg&255)<<2)>>2]|0;xg=zg;yg=a[z>>0]|0;zg=c[22432+((zg&255)<<2)>>2]|0;m=63;break}case 3:{Dg=a[r>>0]|0;Lb=a[u>>0]|0;Ob=a[x>>0]|0;ab=C;lb=m;Jb=Lb;Kb=a[w>>0]|0;Lb=c[22432+((Lb&255)<<2)>>2]|0;Mb=Ob;Nb=a[z>>0]|0;Ob=c[22432+((Ob&255)<<2)>>2]|0;Bg=Dg;Cg=a[t>>0]|0;Dg=c[22432+((Dg&255)<<2)>>2]|0;m=64;break}case 2:{Sb=a[r>>0]|0;Vb=a[u>>0]|0;Yb=a[x>>0]|0;mb=C;xb=m;Qb=Sb;Rb=a[t>>0]|0;Sb=c[22432+((Sb&255)<<2)>>2]|0;Tb=Vb;Ub=a[w>>0]|0;Vb=c[22432+((Vb&255)<<2)>>2]|0;Wb=Yb;Xb=a[z>>0]|0;Yb=c[22432+((Yb&255)<<2)>>2]|0;m=65;break}case 1:{bc=a[r>>0]|0;ec=a[u>>0]|0;hc=a[x>>0]|0;yb=C;Gb=m;_b=bc;ac=a[t>>0]|0;bc=c[22432+((bc&255)<<2)>>2]|0;cc=ec;dc=a[w>>0]|0;ec=c[22432+((ec&255)<<2)>>2]|0;fc=hc;gc=a[z>>0]|0;hc=c[22432+((hc&255)<<2)>>2]|0;m=66;break}default:{m=67;break e}}while(1)if((m|0)==63){Jb=c[$a>>2]|0;lb=sg&255;Kb=vg&255;ab=yg&255;lb=((((O(d[wg+((c[v>>2]&Jb)>>>Kb)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(ug&255)<<Kb|((((O(d[tg+((c[s>>2]&Jb)>>>lb)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(rg&255)<<lb;ab=((((O(d[zg+((c[y>>2]&Jb)>>>ab)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(xg&255)<<ab;c[$a>>2]=lb|c[n>>2]|ab;ab=Sa;lb=$a+4|0;Jb=ug;Kb=vg;Lb=wg;Mb=xg;Nb=yg;Ob=zg;Bg=rg;Cg=sg;Dg=tg;m=64;continue}else if((m|0)==64){Qb=c[lb>>2]|0;xb=Cg&255;Rb=Kb&255;mb=Nb&255;xb=((((O(d[Lb+((c[v>>2]&Qb)>>>Rb)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(Jb&255)<<Rb|((((O(d[Dg+((c[s>>2]&Qb)>>>xb)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Bg&255)<<xb;mb=((((O(d[Ob+((c[y>>2]&Qb)>>>mb)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(Mb&255)<<mb;c[lb>>2]=xb|c[n>>2]|mb;mb=ab;xb=lb+4|0;Qb=Bg;Rb=Cg;Sb=Dg;Tb=Jb;Ub=Kb;Vb=Lb;Wb=Mb;Xb=Nb;Yb=Ob;m=65;continue}else if((m|0)==65){_b=c[xb>>2]|0;Gb=Rb&255;ac=Ub&255;yb=Xb&255;Gb=((((O(d[Vb+((c[v>>2]&_b)>>>ac)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(Tb&255)<<ac|((((O(d[Sb+((c[s>>2]&_b)>>>Gb)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(Qb&255)<<Gb;yb=((((O(d[Yb+((c[y>>2]&_b)>>>yb)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(Wb&255)<<yb;c[xb>>2]=Gb|c[n>>2]|yb;yb=mb;Gb=xb+4|0;_b=Qb;ac=Rb;bc=Sb;cc=Tb;dc=Ub;ec=Vb;fc=Wb;gc=Xb;hc=Yb;m=66;continue}else if((m|0)==66){Fg=c[Gb>>2]|0;g=ac&255;k=dc&255;m=gc&255;g=((((O(d[ec+((c[v>>2]&Fg)>>>k)>>0]|0,Eg)|0)>>>0)/255|0)+p|0)>>>(cc&255)<<k|((((O(d[bc+((c[s>>2]&Fg)>>>g)>>0]|0,Eg)|0)>>>0)/255|0)+q|0)>>>(_b&255)<<g;m=((((O(d[hc+((c[y>>2]&Fg)>>>m)>>0]|0,Eg)|0)>>>0)/255|0)+i|0)>>>(fc&255)<<m;c[Gb>>2]=g|c[n>>2]|m;m=Gb+4|0;if((yb|0)>1){Sa=yb+-1|0;$a=m;rg=_b;sg=ac;tg=bc;ug=cc;vg=dc;wg=ec;xg=fc;yg=gc;zg=hc;m=63;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(B<<2)|0}if((m|0)!=67)if((m|0)==109){l=Hg;return Gg|0}break}case 2:{h=c[g+8>>2]|0;A=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;C=m-h|0;if(!A){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<2)|0;B=(h+3|0)/4|0;z=h&255;q=Fg+28|0;r=Fg+12|0;s=Fg+32|0;t=Fg+29|0;u=Fg+16|0;v=Fg+33|0;w=Fg+30|0;x=Fg+20|0;y=Fg+34|0;p=i&255;i=j&255;o=k&255;n=Fg+24|0;m=m+(c[g>>2]<<2)|0;h=A;f:while(1){h=h+-1|0;switch(z&3){case 0:{nc=a[q>>0]|0;qc=a[t>>0]|0;uc=a[w>>0]|0;Ta=B;bb=m;lc=nc;mc=a[s>>0]|0;nc=c[22432+((nc&255)<<2)>>2]|0;oc=qc;pc=a[v>>0]|0;qc=c[22432+((qc&255)<<2)>>2]|0;sc=uc;tc=a[y>>0]|0;uc=c[22432+((uc&255)<<2)>>2]|0;m=76;break}case 3:{yc=a[q>>0]|0;Bc=a[t>>0]|0;Ec=a[w>>0]|0;cb=B;nb=m;wc=yc;xc=a[s>>0]|0;yc=c[22432+((yc&255)<<2)>>2]|0;zc=Bc;Ac=a[v>>0]|0;Bc=c[22432+((Bc&255)<<2)>>2]|0;Cc=Ec;Dc=a[y>>0]|0;Ec=c[22432+((Ec&255)<<2)>>2]|0;m=77;break}case 2:{Jc=a[q>>0]|0;Mc=a[t>>0]|0;Qc=a[w>>0]|0;ob=B;zb=m;Gc=Jc;Hc=a[s>>0]|0;Jc=c[22432+((Jc&255)<<2)>>2]|0;Kc=Mc;Lc=a[v>>0]|0;Mc=c[22432+((Mc&255)<<2)>>2]|0;Nc=Qc;Oc=a[y>>0]|0;Qc=c[22432+((Qc&255)<<2)>>2]|0;m=78;break}case 1:{Uc=a[q>>0]|0;Xc=a[t>>0]|0;_c=a[w>>0]|0;Ab=B;Hb=m;Rc=Uc;Sc=a[s>>0]|0;Uc=c[22432+((Uc&255)<<2)>>2]|0;Vc=Xc;Wc=a[v>>0]|0;Xc=c[22432+((Xc&255)<<2)>>2]|0;Yc=_c;Zc=a[y>>0]|0;_c=c[22432+((_c&255)<<2)>>2]|0;m=79;break}default:{m=80;break f}}while(1)if((m|0)==76){nb=c[bb>>2]|0;wc=mc&255;yc=pc&255;cb=tc&255;xc=(d[nc+((c[r>>2]&nb)>>>wc)>>0]|0)+p|0;zc=(d[qc+((c[u>>2]&nb)>>>yc)>>0]|0)+i|0;nb=(d[uc+((c[x>>2]&nb)>>>cb)>>0]|0)+o|0;c[bb>>2]=(zc>>>0<255?zc:255)>>>(oc&255)<<yc|(xc>>>0<255?xc:255)>>>(lc&255)<<wc|c[n>>2]|(nb>>>0<255?nb:255)>>>(sc&255)<<cb;cb=Ta;nb=bb+4|0;wc=lc;xc=mc;yc=nc;zc=oc;Ac=pc;Bc=qc;Cc=sc;Dc=tc;Ec=uc;m=77;continue}else if((m|0)==77){zb=c[nb>>2]|0;Gc=xc&255;Jc=Ac&255;ob=Dc&255;Hc=(d[yc+((c[r>>2]&zb)>>>Gc)>>0]|0)+p|0;Kc=(d[Bc+((c[u>>2]&zb)>>>Jc)>>0]|0)+i|0;zb=(d[Ec+((c[x>>2]&zb)>>>ob)>>0]|0)+o|0;c[nb>>2]=(Kc>>>0<255?Kc:255)>>>(zc&255)<<Jc|(Hc>>>0<255?Hc:255)>>>(wc&255)<<Gc|c[n>>2]|(zb>>>0<255?zb:255)>>>(Cc&255)<<ob;ob=cb;zb=nb+4|0;Gc=wc;Hc=xc;Jc=yc;Kc=zc;Lc=Ac;Mc=Bc;Nc=Cc;Oc=Dc;Qc=Ec;m=78;continue}else if((m|0)==78){Hb=c[zb>>2]|0;Rc=Hc&255;Uc=Lc&255;Ab=Oc&255;Sc=(d[Jc+((c[r>>2]&Hb)>>>Rc)>>0]|0)+p|0;Vc=(d[Mc+((c[u>>2]&Hb)>>>Uc)>>0]|0)+i|0;Hb=(d[Qc+((c[x>>2]&Hb)>>>Ab)>>0]|0)+o|0;c[zb>>2]=(Vc>>>0<255?Vc:255)>>>(Kc&255)<<Uc|(Sc>>>0<255?Sc:255)>>>(Gc&255)<<Rc|c[n>>2]|(Hb>>>0<255?Hb:255)>>>(Nc&255)<<Ab;Ab=ob;Hb=zb+4|0;Rc=Gc;Sc=Hc;Uc=Jc;Vc=Kc;Wc=Lc;Xc=Mc;Yc=Nc;Zc=Oc;_c=Qc;m=79;continue}else if((m|0)==79){g=c[Hb>>2]|0;Fg=Sc&255;j=Wc&255;m=Zc&255;k=(d[Uc+((c[r>>2]&g)>>>Fg)>>0]|0)+p|0;f=(d[Xc+((c[u>>2]&g)>>>j)>>0]|0)+i|0;g=(d[_c+((c[x>>2]&g)>>>m)>>0]|0)+o|0;c[Hb>>2]=(f>>>0<255?f:255)>>>(Vc&255)<<j|(k>>>0<255?k:255)>>>(Rc&255)<<Fg|c[n>>2]|(g>>>0<255?g:255)>>>(Yc&255)<<m;m=Hb+4|0;if((Ab|0)>1){Ta=Ab+-1|0;bb=m;lc=Rc;mc=Sc;nc=Uc;oc=Vc;pc=Wc;qc=Xc;sc=Yc;tc=Zc;uc=_c;m=76;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(C<<2)|0}if((m|0)!=80)if((m|0)==109){l=Hg;return Gg|0}break}case 4:{h=c[g+8>>2]|0;A=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;C=m-h|0;if(!A){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<2)|0;B=(h+3|0)/4|0;z=h&255;q=Fg+28|0;r=Fg+12|0;s=Fg+32|0;t=Fg+29|0;u=Fg+16|0;v=Fg+33|0;w=Fg+30|0;x=Fg+20|0;y=Fg+34|0;p=i&255;i=j&255;o=k&255;n=Fg+24|0;m=m+(c[g>>2]<<2)|0;h=A;g:while(1){h=h+-1|0;switch(z&3){case 0:{bd=a[q>>0]|0;ed=a[t>>0]|0;hd=a[w>>0]|0;Ua=B;db=m;$c=bd;ad=a[s>>0]|0;bd=c[22432+((bd&255)<<2)>>2]|0;cd=ed;dd=a[v>>0]|0;ed=c[22432+((ed&255)<<2)>>2]|0;fd=hd;gd=a[y>>0]|0;hd=c[22432+((hd&255)<<2)>>2]|0;m=89;break}case 3:{kd=a[q>>0]|0;nd=a[t>>0]|0;qd=a[w>>0]|0;eb=B;pb=m;id=kd;jd=a[s>>0]|0;kd=c[22432+((kd&255)<<2)>>2]|0;ld=nd;md=a[v>>0]|0;nd=c[22432+((nd&255)<<2)>>2]|0;od=qd;pd=a[y>>0]|0;qd=c[22432+((qd&255)<<2)>>2]|0;m=90;break}case 2:{td=a[q>>0]|0;xd=a[t>>0]|0;Ad=a[w>>0]|0;qb=B;Bb=m;rd=td;sd=a[s>>0]|0;td=c[22432+((td&255)<<2)>>2]|0;ud=xd;vd=a[v>>0]|0;xd=c[22432+((xd&255)<<2)>>2]|0;yd=Ad;zd=a[y>>0]|0;Ad=c[22432+((Ad&255)<<2)>>2]|0;m=91;break}case 1:{Dd=a[q>>0]|0;Hd=a[t>>0]|0;Kd=a[w>>0]|0;Cb=B;Ib=m;Bd=Dd;Cd=a[s>>0]|0;Dd=c[22432+((Dd&255)<<2)>>2]|0;Ed=Hd;Gd=a[v>>0]|0;Hd=c[22432+((Hd&255)<<2)>>2]|0;Id=Kd;Jd=a[y>>0]|0;Kd=c[22432+((Kd&255)<<2)>>2]|0;m=92;break}default:{m=93;break g}}while(1)if((m|0)==89){id=c[db>>2]|0;pb=ad&255;jd=dd&255;eb=gd&255;pb=(((O(d[ed+((c[u>>2]&id)>>>jd)>>0]|0,i)|0)>>>0)/255|0)>>>(cd&255)<<jd|(((O(d[bd+((c[r>>2]&id)>>>pb)>>0]|0,p)|0)>>>0)/255|0)>>>($c&255)<<pb;eb=(((O(d[hd+((c[x>>2]&id)>>>eb)>>0]|0,o)|0)>>>0)/255|0)>>>(fd&255)<<eb;c[db>>2]=pb|c[n>>2]|eb;eb=Ua;pb=db+4|0;id=$c;jd=ad;kd=bd;ld=cd;md=dd;nd=ed;od=fd;pd=gd;qd=hd;m=90;continue}else if((m|0)==90){rd=c[pb>>2]|0;Bb=jd&255;sd=md&255;qb=pd&255;Bb=(((O(d[nd+((c[u>>2]&rd)>>>sd)>>0]|0,i)|0)>>>0)/255|0)>>>(ld&255)<<sd|(((O(d[kd+((c[r>>2]&rd)>>>Bb)>>0]|0,p)|0)>>>0)/255|0)>>>(id&255)<<Bb;qb=(((O(d[qd+((c[x>>2]&rd)>>>qb)>>0]|0,o)|0)>>>0)/255|0)>>>(od&255)<<qb;c[pb>>2]=Bb|c[n>>2]|qb;qb=eb;Bb=pb+4|0;rd=id;sd=jd;td=kd;ud=ld;vd=md;xd=nd;yd=od;zd=pd;Ad=qd;m=91;continue}else if((m|0)==91){Bd=c[Bb>>2]|0;Ib=sd&255;Cd=vd&255;Cb=zd&255;Ib=(((O(d[xd+((c[u>>2]&Bd)>>>Cd)>>0]|0,i)|0)>>>0)/255|0)>>>(ud&255)<<Cd|(((O(d[td+((c[r>>2]&Bd)>>>Ib)>>0]|0,p)|0)>>>0)/255|0)>>>(rd&255)<<Ib;Cb=(((O(d[Ad+((c[x>>2]&Bd)>>>Cb)>>0]|0,o)|0)>>>0)/255|0)>>>(yd&255)<<Cb;c[Bb>>2]=Ib|c[n>>2]|Cb;Cb=qb;Ib=Bb+4|0;Bd=rd;Cd=sd;Dd=td;Ed=ud;Gd=vd;Hd=xd;Id=yd;Jd=zd;Kd=Ad;m=92;continue}else if((m|0)==92){Fg=c[Ib>>2]|0;g=Cd&255;k=Gd&255;m=Jd&255;g=(((O(d[Hd+((c[u>>2]&Fg)>>>k)>>0]|0,i)|0)>>>0)/255|0)>>>(Ed&255)<<k|(((O(d[Dd+((c[r>>2]&Fg)>>>g)>>0]|0,p)|0)>>>0)/255|0)>>>(Bd&255)<<g;m=(((O(d[Kd+((c[x>>2]&Fg)>>>m)>>0]|0,o)|0)>>>0)/255|0)>>>(Id&255)<<m;c[Ib>>2]=g|c[n>>2]|m;m=Ib+4|0;if((Cb|0)>1){Ua=Cb+-1|0;db=m;$c=Bd;ad=Cd;bd=Dd;cd=Ed;dd=Gd;ed=Hd;fd=Id;gd=Jd;hd=Kd;m=89;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(C<<2)|0}if((m|0)!=93)if((m|0)==109){l=Hg;return Gg|0}break}default:{h=c[g+8>>2]|0;x=c[g+12>>2]|0;m=(c[f+16>>2]|0)/(o|0)|0;z=m-h|0;if(!x){Gg=0;l=Hg;return Gg|0}m=(c[f+20>>2]|0)+((O(c[g+4>>2]|0,m)|0)<<2)|0;y=(h+3|0)/4|0;w=h&255;v=i&255;u=j&255;o=k&255;i=Fg+28|0;p=Fg+32|0;q=Fg+29|0;r=Fg+33|0;s=Fg+30|0;t=Fg+34|0;n=Fg+24|0;m=m+(c[g>>2]<<2)|0;h=x;h:while(1){h=h+-1|0;switch(w&3){case 0:{B=y;F=m;R=a[i>>0]|0;S=a[p>>0]|0;T=a[q>>0]|0;U=a[r>>0]|0;V=a[s>>0]|0;W=a[t>>0]|0;m=102;break}case 3:{E=y;J=m;X=a[i>>0]|0;Y=a[p>>0]|0;Z=a[q>>0]|0;_=a[r>>0]|0;$=a[s>>0]|0;aa=a[t>>0]|0;m=103;break}case 2:{I=y;N=m;ba=a[i>>0]|0;ca=a[p>>0]|0;da=a[q>>0]|0;ea=a[r>>0]|0;fa=a[s>>0]|0;ga=a[t>>0]|0;m=104;break}case 1:{M=y;Q=m;ha=a[i>>0]|0;ia=a[p>>0]|0;ja=a[q>>0]|0;ka=a[r>>0]|0;la=a[s>>0]|0;ma=a[t>>0]|0;m=105;break}default:{m=106;break h}}while(1)if((m|0)==102){c[F>>2]=u>>>(T&255)<<(U&255)|v>>>(R&255)<<(S&255)|c[n>>2]|o>>>(V&255)<<(W&255);E=B;J=F+4|0;X=R;Y=S;Z=T;_=U;$=V;aa=W;m=103;continue}else if((m|0)==103){c[J>>2]=u>>>(Z&255)<<(_&255)|v>>>(X&255)<<(Y&255)|c[n>>2]|o>>>($&255)<<(aa&255);I=E;N=J+4|0;ba=X;ca=Y;da=Z;ea=_;fa=$;ga=aa;m=104;continue}else if((m|0)==104){c[N>>2]=u>>>(da&255)<<(ea&255)|v>>>(ba&255)<<(ca&255)|c[n>>2]|o>>>(fa&255)<<(ga&255);M=I;Q=N+4|0;ha=ba;ia=ca;ja=da;ka=ea;la=fa;ma=ga;m=105;continue}else if((m|0)==105){c[Q>>2]=u>>>(ja&255)<<(ka&255)|v>>>(ha&255)<<(ia&255)|c[n>>2]|o>>>(la&255)<<(ma&255);m=Q+4|0;if((M|0)>1){B=M+-1|0;F=m;R=ha;S=ia;T=ja;U=ka;V=la;W=ma;m=102;continue}else break}if(!h){Gg=0;m=109;break}else m=m+(z<<2)|0}if((m|0)!=106)if((m|0)==109){l=Hg;return Gg|0}}}break}default:{vV(392516,n);Gg=-1;l=Hg;return Gg|0}}return 0}function W_(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0;wd=l;l=l+16|0;ud=c[b+4>>2]|0;td=j&255;ma=td^255;y=a[ud+9>>0]|0;k=y&255;if(y<<24>>24!=4){vV(392516,wd);vd=-1;l=wd;return vd|0}switch(f|0){case 1:{j=c[e+8>>2]|0;f=c[e+12>>2]|0;m=(c[b+16>>2]|0)/(k|0)|0;B=m-j|0;if(!f){vd=0;l=wd;return vd|0}C=(j+3|0)/4|0;A=j&255;p=ud+28|0;q=ud+12|0;r=ud+32|0;s=ud+29|0;t=ud+16|0;u=ud+33|0;v=ud+30|0;w=ud+20|0;x=ud+34|0;y=ud+31|0;z=ud+24|0;o=ud+35|0;n=g&255;g=h&255;k=i&255;j=(c[b+20>>2]|0)+((O(c[e+4>>2]|0,m)|0)<<2)+(c[e>>2]<<2)|0;a:while(1){f=f+-1|0;switch(A&3){case 0:{kc=a[p>>0]|0;Bc=a[s>>0]|0;Yc=a[v>>0]|0;sd=a[y>>0]|0;na=C;qa=j;Ub=kc;cc=a[r>>0]|0;kc=c[22432+((kc&255)<<2)>>2]|0;qc=Bc;sc=a[u>>0]|0;Bc=c[22432+((Bc&255)<<2)>>2]|0;Ic=Yc;Sc=a[x>>0]|0;Yc=c[22432+((Yc&255)<<2)>>2]|0;ed=sd;pd=a[o>>0]|0;sd=c[22432+((sd&255)<<2)>>2]|0;j=10;break}case 3:{Na=a[p>>0]|0;Qa=a[s>>0]|0;Ta=a[v>>0]|0;Wa=a[y>>0]|0;ra=C;wa=j;La=Na;Ma=a[r>>0]|0;Na=c[22432+((Na&255)<<2)>>2]|0;Oa=Qa;Pa=a[u>>0]|0;Qa=c[22432+((Qa&255)<<2)>>2]|0;Ra=Ta;Sa=a[x>>0]|0;Ta=c[22432+((Ta&255)<<2)>>2]|0;Ua=Wa;Va=a[o>>0]|0;Wa=c[22432+((Wa&255)<<2)>>2]|0;j=11;break}case 2:{Za=a[p>>0]|0;ab=a[s>>0]|0;db=a[v>>0]|0;gb=a[y>>0]|0;xa=C;Ca=j;Xa=Za;Ya=a[r>>0]|0;Za=c[22432+((Za&255)<<2)>>2]|0;_a=ab;$a=a[u>>0]|0;ab=c[22432+((ab&255)<<2)>>2]|0;bb=db;cb=a[x>>0]|0;db=c[22432+((db&255)<<2)>>2]|0;eb=gb;fb=a[o>>0]|0;gb=c[22432+((gb&255)<<2)>>2]|0;j=12;break}case 1:{jb=a[p>>0]|0;mb=a[s>>0]|0;pb=a[v>>0]|0;sb=a[y>>0]|0;Da=C;Ia=j;hb=jb;ib=a[r>>0]|0;jb=c[22432+((jb&255)<<2)>>2]|0;kb=mb;lb=a[u>>0]|0;mb=c[22432+((mb&255)<<2)>>2]|0;nb=pb;ob=a[x>>0]|0;pb=c[22432+((pb&255)<<2)>>2]|0;qb=sb;rb=a[o>>0]|0;sb=c[22432+((sb&255)<<2)>>2]|0;j=13;break}default:{j=14;break a}}while(1)if((j|0)==10){wa=c[qa>>2]|0;Ma=cc&255;Na=sc&255;La=Sc&255;ra=pd&255;c[qa>>2]=((((O(d[Bc+((c[t>>2]&wa)>>>Na)>>0]|0,ma)|0)>>>0)/255|0)+g|0)>>>(qc&255)<<Na|((((O(d[kc+((c[q>>2]&wa)>>>Ma)>>0]|0,ma)|0)>>>0)/255|0)+n|0)>>>(Ub&255)<<Ma|((((O(d[Yc+((c[w>>2]&wa)>>>La)>>0]|0,ma)|0)>>>0)/255|0)+k|0)>>>(Ic&255)<<La|((((O(d[sd+((c[z>>2]&wa)>>>ra)>>0]|0,ma)|0)>>>0)/255|0)+td|0)>>>(ed&255)<<ra;ra=na;wa=qa+4|0;La=Ub;Ma=cc;Na=kc;Oa=qc;Pa=sc;Qa=Bc;Ra=Ic;Sa=Sc;Ta=Yc;Ua=ed;Va=pd;Wa=sd;j=11;continue}else if((j|0)==11){Ca=c[wa>>2]|0;Ya=Ma&255;Za=Pa&255;Xa=Sa&255;xa=Va&255;c[wa>>2]=((((O(d[Qa+((c[t>>2]&Ca)>>>Za)>>0]|0,ma)|0)>>>0)/255|0)+g|0)>>>(Oa&255)<<Za|((((O(d[Na+((c[q>>2]&Ca)>>>Ya)>>0]|0,ma)|0)>>>0)/255|0)+n|0)>>>(La&255)<<Ya|((((O(d[Ta+((c[w>>2]&Ca)>>>Xa)>>0]|0,ma)|0)>>>0)/255|0)+k|0)>>>(Ra&255)<<Xa|((((O(d[Wa+((c[z>>2]&Ca)>>>xa)>>0]|0,ma)|0)>>>0)/255|0)+td|0)>>>(Ua&255)<<xa;xa=ra;Ca=wa+4|0;Xa=La;Ya=Ma;Za=Na;_a=Oa;$a=Pa;ab=Qa;bb=Ra;cb=Sa;db=Ta;eb=Ua;fb=Va;gb=Wa;j=12;continue}else if((j|0)==12){Ia=c[Ca>>2]|0;ib=Ya&255;jb=$a&255;hb=cb&255;Da=fb&255;c[Ca>>2]=((((O(d[ab+((c[t>>2]&Ia)>>>jb)>>0]|0,ma)|0)>>>0)/255|0)+g|0)>>>(_a&255)<<jb|((((O(d[Za+((c[q>>2]&Ia)>>>ib)>>0]|0,ma)|0)>>>0)/255|0)+n|0)>>>(Xa&255)<<ib|((((O(d[db+((c[w>>2]&Ia)>>>hb)>>0]|0,ma)|0)>>>0)/255|0)+k|0)>>>(bb&255)<<hb|((((O(d[gb+((c[z>>2]&Ia)>>>Da)>>0]|0,ma)|0)>>>0)/255|0)+td|0)>>>(eb&255)<<Da;Da=xa;Ia=Ca+4|0;hb=Xa;ib=Ya;jb=Za;kb=_a;lb=$a;mb=ab;nb=bb;ob=cb;pb=db;qb=eb;rb=fb;sb=gb;j=13;continue}else if((j|0)==13){e=c[Ia>>2]|0;ud=ib&255;h=lb&255;i=ob&255;j=rb&255;c[Ia>>2]=((((O(d[mb+((c[t>>2]&e)>>>h)>>0]|0,ma)|0)>>>0)/255|0)+g|0)>>>(kb&255)<<h|((((O(d[jb+((c[q>>2]&e)>>>ud)>>0]|0,ma)|0)>>>0)/255|0)+n|0)>>>(hb&255)<<ud|((((O(d[pb+((c[w>>2]&e)>>>i)>>0]|0,ma)|0)>>>0)/255|0)+k|0)>>>(nb&255)<<i|((((O(d[sb+((c[z>>2]&e)>>>j)>>0]|0,ma)|0)>>>0)/255|0)+td|0)>>>(qb&255)<<j;j=Ia+4|0;if((Da|0)>1){na=Da+-1|0;qa=j;Ub=hb;cc=ib;kc=jb;qc=kb;sc=lb;Bc=mb;Ic=nb;Sc=ob;Yc=pb;ed=qb;pd=rb;sd=sb;j=10;continue}else break}if(!f){vd=0;j=56;break}else j=j+(B<<2)|0}if((j|0)!=14)if((j|0)==56){l=wd;return vd|0}break}case 2:{f=c[e+8>>2]|0;A=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;C=j-f|0;if(!A){vd=0;l=wd;return vd|0}j=(c[b+20>>2]|0)+((O(c[e+4>>2]|0,j)|0)<<2)|0;B=(f+3|0)/4|0;z=f&255;o=ud+28|0;p=ud+12|0;q=ud+32|0;r=ud+29|0;s=ud+16|0;t=ud+33|0;u=ud+30|0;v=ud+20|0;w=ud+34|0;x=ud+31|0;y=ud+24|0;n=ud+35|0;g=g&255;m=h&255;k=i&255;j=j+(c[e>>2]<<2)|0;f=A;b:while(1){f=f+-1|0;switch(z&3){case 0:{vb=a[o>>0]|0;yb=a[r>>0]|0;Bb=a[u>>0]|0;Eb=a[x>>0]|0;oa=B;sa=j;tb=vb;ub=a[q>>0]|0;vb=c[22432+((vb&255)<<2)>>2]|0;wb=yb;xb=a[t>>0]|0;yb=c[22432+((yb&255)<<2)>>2]|0;zb=Bb;Ab=a[w>>0]|0;Bb=c[22432+((Bb&255)<<2)>>2]|0;Cb=Eb;Db=a[n>>0]|0;Eb=c[22432+((Eb&255)<<2)>>2]|0;j=23;break}case 3:{Hb=a[o>>0]|0;Kb=a[r>>0]|0;Nb=a[u>>0]|0;Qb=a[x>>0]|0;ta=B;ya=j;Fb=Hb;Gb=a[q>>0]|0;Hb=c[22432+((Hb&255)<<2)>>2]|0;Ib=Kb;Jb=a[t>>0]|0;Kb=c[22432+((Kb&255)<<2)>>2]|0;Lb=Nb;Mb=a[w>>0]|0;Nb=c[22432+((Nb&255)<<2)>>2]|0;Ob=Qb;Pb=a[n>>0]|0;Qb=c[22432+((Qb&255)<<2)>>2]|0;j=24;break}case 2:{Tb=a[o>>0]|0;Xb=a[r>>0]|0;_b=a[u>>0]|0;bc=a[x>>0]|0;za=B;Ea=j;Rb=Tb;Sb=a[q>>0]|0;Tb=c[22432+((Tb&255)<<2)>>2]|0;Vb=Xb;Wb=a[t>>0]|0;Xb=c[22432+((Xb&255)<<2)>>2]|0;Yb=_b;Zb=a[w>>0]|0;_b=c[22432+((_b&255)<<2)>>2]|0;$b=bc;ac=a[n>>0]|0;bc=c[22432+((bc&255)<<2)>>2]|0;j=25;break}case 1:{fc=a[o>>0]|0;ic=a[r>>0]|0;mc=a[u>>0]|0;pc=a[x>>0]|0;Fa=B;Ja=j;dc=fc;ec=a[q>>0]|0;fc=c[22432+((fc&255)<<2)>>2]|0;gc=ic;hc=a[t>>0]|0;ic=c[22432+((ic&255)<<2)>>2]|0;jc=mc;lc=a[w>>0]|0;mc=c[22432+((mc&255)<<2)>>2]|0;nc=pc;oc=a[n>>0]|0;pc=c[22432+((pc&255)<<2)>>2]|0;j=26;break}default:{j=27;break b}}while(1)if((j|0)==23){ya=c[sa>>2]|0;Hb=ub&255;Jb=xb&255;Fb=Ab&255;ta=Db&255;Ib=(d[vb+((c[p>>2]&ya)>>>Hb)>>0]|0)+g|0;Kb=(d[yb+((c[s>>2]&ya)>>>Jb)>>0]|0)+m|0;Gb=(d[Bb+((c[v>>2]&ya)>>>Fb)>>0]|0)+k|0;c[sa>>2]=(Kb>>>0<255?Kb:255)>>>(wb&255)<<Jb|(Ib>>>0<255?Ib:255)>>>(tb&255)<<Hb|(Gb>>>0<255?Gb:255)>>>(zb&255)<<Fb|(d[Eb+((c[y>>2]&ya)>>>ta)>>0]|0)>>>(Cb&255)<<ta;ta=oa;ya=sa+4|0;Fb=tb;Gb=ub;Hb=vb;Ib=wb;Jb=xb;Kb=yb;Lb=zb;Mb=Ab;Nb=Bb;Ob=Cb;Pb=Db;Qb=Eb;j=24;continue}else if((j|0)==24){Ea=c[ya>>2]|0;Tb=Gb&255;Wb=Jb&255;Rb=Mb&255;za=Pb&255;Vb=(d[Hb+((c[p>>2]&Ea)>>>Tb)>>0]|0)+g|0;Xb=(d[Kb+((c[s>>2]&Ea)>>>Wb)>>0]|0)+m|0;Sb=(d[Nb+((c[v>>2]&Ea)>>>Rb)>>0]|0)+k|0;c[ya>>2]=(Xb>>>0<255?Xb:255)>>>(Ib&255)<<Wb|(Vb>>>0<255?Vb:255)>>>(Fb&255)<<Tb|(Sb>>>0<255?Sb:255)>>>(Lb&255)<<Rb|(d[Qb+((c[y>>2]&Ea)>>>za)>>0]|0)>>>(Ob&255)<<za;za=ta;Ea=ya+4|0;Rb=Fb;Sb=Gb;Tb=Hb;Vb=Ib;Wb=Jb;Xb=Kb;Yb=Lb;Zb=Mb;_b=Nb;$b=Ob;ac=Pb;bc=Qb;j=25;continue}else if((j|0)==25){Ja=c[Ea>>2]|0;fc=Sb&255;hc=Wb&255;dc=Zb&255;Fa=ac&255;gc=(d[Tb+((c[p>>2]&Ja)>>>fc)>>0]|0)+g|0;ic=(d[Xb+((c[s>>2]&Ja)>>>hc)>>0]|0)+m|0;ec=(d[_b+((c[v>>2]&Ja)>>>dc)>>0]|0)+k|0;c[Ea>>2]=(ic>>>0<255?ic:255)>>>(Vb&255)<<hc|(gc>>>0<255?gc:255)>>>(Rb&255)<<fc|(ec>>>0<255?ec:255)>>>(Yb&255)<<dc|(d[bc+((c[y>>2]&Ja)>>>Fa)>>0]|0)>>>($b&255)<<Fa;Fa=za;Ja=Ea+4|0;dc=Rb;ec=Sb;fc=Tb;gc=Vb;hc=Wb;ic=Xb;jc=Yb;lc=Zb;mc=_b;nc=$b;oc=ac;pc=bc;j=26;continue}else if((j|0)==26){e=c[Ja>>2]|0;h=ec&255;b=hc&255;i=lc&255;j=oc&255;td=(d[fc+((c[p>>2]&e)>>>h)>>0]|0)+g|0;sd=(d[ic+((c[s>>2]&e)>>>b)>>0]|0)+m|0;ud=(d[mc+((c[v>>2]&e)>>>i)>>0]|0)+k|0;c[Ja>>2]=(sd>>>0<255?sd:255)>>>(gc&255)<<b|(td>>>0<255?td:255)>>>(dc&255)<<h|(ud>>>0<255?ud:255)>>>(jc&255)<<i|(d[pc+((c[y>>2]&e)>>>j)>>0]|0)>>>(nc&255)<<j;j=Ja+4|0;if((Fa|0)>1){oa=Fa+-1|0;sa=j;tb=dc;ub=ec;vb=fc;wb=gc;xb=hc;yb=ic;zb=jc;Ab=lc;Bb=mc;Cb=nc;Db=oc;Eb=pc;j=23;continue}else break}if(!f){vd=0;j=56;break}else j=j+(C<<2)|0}if((j|0)!=27)if((j|0)==56){l=wd;return vd|0}break}case 4:{f=c[e+8>>2]|0;A=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;C=j-f|0;if(!A){vd=0;l=wd;return vd|0}j=(c[b+20>>2]|0)+((O(c[e+4>>2]|0,j)|0)<<2)|0;B=(f+3|0)/4|0;z=f&255;o=ud+28|0;p=ud+12|0;q=ud+32|0;r=ud+29|0;s=ud+16|0;t=ud+33|0;u=ud+30|0;v=ud+20|0;w=ud+34|0;x=ud+31|0;y=ud+24|0;n=ud+35|0;g=g&255;m=h&255;k=i&255;j=j+(c[e>>2]<<2)|0;f=A;c:while(1){f=f+-1|0;switch(z&3){case 0:{uc=a[o>>0]|0;xc=a[r>>0]|0;Ac=a[u>>0]|0;Ec=a[x>>0]|0;pa=B;ua=j;rc=uc;tc=a[q>>0]|0;uc=c[22432+((uc&255)<<2)>>2]|0;vc=xc;wc=a[t>>0]|0;xc=c[22432+((xc&255)<<2)>>2]|0;yc=Ac;zc=a[w>>0]|0;Ac=c[22432+((Ac&255)<<2)>>2]|0;Cc=Ec;Dc=a[n>>0]|0;Ec=c[22432+((Ec&255)<<2)>>2]|0;j=36;break}case 3:{Hc=a[o>>0]|0;Lc=a[r>>0]|0;Oc=a[u>>0]|0;Rc=a[x>>0]|0;va=B;Aa=j;Fc=Hc;Gc=a[q>>0]|0;Hc=c[22432+((Hc&255)<<2)>>2]|0;Jc=Lc;Kc=a[t>>0]|0;Lc=c[22432+((Lc&255)<<2)>>2]|0;Mc=Oc;Nc=a[w>>0]|0;Oc=c[22432+((Oc&255)<<2)>>2]|0;Pc=Rc;Qc=a[n>>0]|0;Rc=c[22432+((Rc&255)<<2)>>2]|0;j=37;break}case 2:{Vc=a[o>>0]|0;Zc=a[r>>0]|0;ad=a[u>>0]|0;dd=a[x>>0]|0;Ba=B;Ga=j;Tc=Vc;Uc=a[q>>0]|0;Vc=c[22432+((Vc&255)<<2)>>2]|0;Wc=Zc;Xc=a[t>>0]|0;Zc=c[22432+((Zc&255)<<2)>>2]|0;_c=ad;$c=a[w>>0]|0;ad=c[22432+((ad&255)<<2)>>2]|0;bd=dd;cd=a[n>>0]|0;dd=c[22432+((dd&255)<<2)>>2]|0;j=38;break}case 1:{hd=a[o>>0]|0;kd=a[r>>0]|0;nd=a[u>>0]|0;rd=a[x>>0]|0;Ha=B;Ka=j;fd=hd;gd=a[q>>0]|0;hd=c[22432+((hd&255)<<2)>>2]|0;id=kd;jd=a[t>>0]|0;kd=c[22432+((kd&255)<<2)>>2]|0;ld=nd;md=a[w>>0]|0;nd=c[22432+((nd&255)<<2)>>2]|0;od=rd;qd=a[n>>0]|0;rd=c[22432+((rd&255)<<2)>>2]|0;j=39;break}default:{j=40;break c}}while(1)if((j|0)==36){Aa=c[ua>>2]|0;Gc=tc&255;Hc=wc&255;Fc=zc&255;va=Dc&255;c[ua>>2]=(((O(d[xc+((c[s>>2]&Aa)>>>Hc)>>0]|0,m)|0)>>>0)/255|0)>>>(vc&255)<<Hc|(((O(d[uc+((c[p>>2]&Aa)>>>Gc)>>0]|0,g)|0)>>>0)/255|0)>>>(rc&255)<<Gc|(((O(d[Ac+((c[v>>2]&Aa)>>>Fc)>>0]|0,k)|0)>>>0)/255|0)>>>(yc&255)<<Fc|(d[Ec+((c[y>>2]&Aa)>>>va)>>0]|0)>>>(Cc&255)<<va;va=pa;Aa=ua+4|0;Fc=rc;Gc=tc;Hc=uc;Jc=vc;Kc=wc;Lc=xc;Mc=yc;Nc=zc;Oc=Ac;Pc=Cc;Qc=Dc;Rc=Ec;j=37;continue}else if((j|0)==37){Ga=c[Aa>>2]|0;Uc=Gc&255;Vc=Kc&255;Tc=Nc&255;Ba=Qc&255;c[Aa>>2]=(((O(d[Lc+((c[s>>2]&Ga)>>>Vc)>>0]|0,m)|0)>>>0)/255|0)>>>(Jc&255)<<Vc|(((O(d[Hc+((c[p>>2]&Ga)>>>Uc)>>0]|0,g)|0)>>>0)/255|0)>>>(Fc&255)<<Uc|(((O(d[Oc+((c[v>>2]&Ga)>>>Tc)>>0]|0,k)|0)>>>0)/255|0)>>>(Mc&255)<<Tc|(d[Rc+((c[y>>2]&Ga)>>>Ba)>>0]|0)>>>(Pc&255)<<Ba;Ba=va;Ga=Aa+4|0;Tc=Fc;Uc=Gc;Vc=Hc;Wc=Jc;Xc=Kc;Zc=Lc;_c=Mc;$c=Nc;ad=Oc;bd=Pc;cd=Qc;dd=Rc;j=38;continue}else if((j|0)==38){Ka=c[Ga>>2]|0;gd=Uc&255;hd=Xc&255;fd=$c&255;Ha=cd&255;c[Ga>>2]=(((O(d[Zc+((c[s>>2]&Ka)>>>hd)>>0]|0,m)|0)>>>0)/255|0)>>>(Wc&255)<<hd|(((O(d[Vc+((c[p>>2]&Ka)>>>gd)>>0]|0,g)|0)>>>0)/255|0)>>>(Tc&255)<<gd|(((O(d[ad+((c[v>>2]&Ka)>>>fd)>>0]|0,k)|0)>>>0)/255|0)>>>(_c&255)<<fd|(d[dd+((c[y>>2]&Ka)>>>Ha)>>0]|0)>>>(bd&255)<<Ha;Ha=Ba;Ka=Ga+4|0;fd=Tc;gd=Uc;hd=Vc;id=Wc;jd=Xc;kd=Zc;ld=_c;md=$c;nd=ad;od=bd;qd=cd;rd=dd;j=39;continue}else if((j|0)==39){e=c[Ka>>2]|0;ud=gd&255;h=jd&255;i=md&255;j=qd&255;c[Ka>>2]=(((O(d[kd+((c[s>>2]&e)>>>h)>>0]|0,m)|0)>>>0)/255|0)>>>(id&255)<<h|(((O(d[hd+((c[p>>2]&e)>>>ud)>>0]|0,g)|0)>>>0)/255|0)>>>(fd&255)<<ud|(((O(d[nd+((c[v>>2]&e)>>>i)>>0]|0,k)|0)>>>0)/255|0)>>>(ld&255)<<i|(d[rd+((c[y>>2]&e)>>>j)>>0]|0)>>>(od&255)<<j;j=Ka+4|0;if((Ha|0)>1){pa=Ha+-1|0;ua=j;rc=fd;tc=gd;uc=hd;vc=id;wc=jd;xc=kd;yc=ld;zc=md;Ac=nd;Cc=od;Dc=qd;Ec=rd;j=36;continue}else break}if(!f){vd=0;j=56;break}else j=j+(C<<2)|0}if((j|0)!=40)if((j|0)==56){l=wd;return vd|0}break}default:{f=c[e+8>>2]|0;w=c[e+12>>2]|0;j=(c[b+16>>2]|0)/(k|0)|0;y=j-f|0;if(!w){vd=0;l=wd;return vd|0}j=(c[b+20>>2]|0)+((O(c[e+4>>2]|0,j)|0)<<2)|0;x=(f+3|0)/4|0;v=f&255;u=g&255;t=h&255;m=i&255;g=ud+28|0;n=ud+32|0;o=ud+29|0;p=ud+33|0;q=ud+30|0;r=ud+34|0;s=ud+31|0;k=ud+35|0;j=j+(c[e>>2]<<2)|0;f=w;d:while(1){f=f+-1|0;switch(v&3){case 0:{z=x;B=j;X=a[g>>0]|0;Y=a[n>>0]|0;Z=a[o>>0]|0;_=a[p>>0]|0;$=a[q>>0]|0;aa=a[r>>0]|0;ba=a[s>>0]|0;ca=a[k>>0]|0;j=49;break}case 3:{A=x;D=j;da=a[g>>0]|0;ea=a[n>>0]|0;fa=a[o>>0]|0;ga=a[p>>0]|0;ha=a[q>>0]|0;ia=a[r>>0]|0;ja=a[s>>0]|0;ka=a[k>>0]|0;j=50;break}case 2:{C=x;F=j;H=a[n>>0]|0;I=a[o>>0]|0;J=a[p>>0]|0;K=a[q>>0]|0;L=a[r>>0]|0;M=a[s>>0]|0;N=a[k>>0]|0;la=a[g>>0]|0;j=51;break}case 1:{E=x;G=j;P=a[g>>0]|0;Q=a[n>>0]|0;R=a[o>>0]|0;S=a[p>>0]|0;T=a[q>>0]|0;U=a[r>>0]|0;V=a[s>>0]|0;W=a[k>>0]|0;j=52;break}default:{j=53;break d}}while(1)if((j|0)==49){c[B>>2]=t>>>(Z&255)<<(_&255)|u>>>(X&255)<<(Y&255)|m>>>($&255)<<(aa&255)|td>>>(ba&255)<<(ca&255);A=z;D=B+4|0;da=X;ea=Y;fa=Z;ga=_;ha=$;ia=aa;ja=ba;ka=ca;j=50;continue}else if((j|0)==50){c[D>>2]=t>>>(fa&255)<<(ga&255)|u>>>(da&255)<<(ea&255)|m>>>(ha&255)<<(ia&255)|td>>>(ja&255)<<(ka&255);C=A;F=D+4|0;H=ea;I=fa;J=ga;K=ha;L=ia;M=ja;N=ka;la=da;j=51;continue}else if((j|0)==51){c[F>>2]=t>>>(I&255)<<(J&255)|u>>>(la&255)<<(H&255)|m>>>(K&255)<<(L&255)|td>>>(M&255)<<(N&255);E=C;G=F+4|0;P=la;Q=H;R=I;S=J;T=K;U=L;V=M;W=N;j=52;continue}else if((j|0)==52){c[G>>2]=t>>>(R&255)<<(S&255)|u>>>(P&255)<<(Q&255)|m>>>(T&255)<<(U&255)|td>>>(V&255)<<(W&255);j=G+4|0;if((E|0)>1){z=E+-1|0;B=j;X=P;Y=Q;Z=R;_=S;$=T;aa=U;ba=V;ca=W;j=49;continue}else break}if(!f){vd=0;j=56;break}else j=j+(y<<2)|0}if((j|0)!=53)if((j|0)==56){l=wd;return vd|0}}}return 0}function X_(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0;r=~k&255;switch(g|0){case 1:{k=c[f+8>>2]|0;g=c[f+12>>2]|0;l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=l-k|0;if(!g)return 0;q=(k+3|0)/4|0;o=k&255;n=h&255;h=i&255;m=j&255;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,l)|0)<<1)+(c[f>>2]<<1)|0;a:while(1){g=g+-1|0;switch(o&3){case 0:{s=q;u=k;k=5;break}case 3:{v=q;A=k;k=6;break}case 2:{B=q;G=k;k=7;break}case 1:{H=q;M=k;k=8;break}default:{k=9;break a}}while(1)if((k|0)==5){v=e[u>>1]|0;b[u>>1]=((((O(d[386865+(v>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3<<5|((((O(d[386865+(v>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((O(d[386865+(v&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;v=s;A=u+2|0;k=6;continue}else if((k|0)==6){B=e[A>>1]|0;b[A>>1]=((((O(d[386865+(B>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3<<5|((((O(d[386865+(B>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((O(d[386865+(B&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;B=v;G=A+2|0;k=7;continue}else if((k|0)==7){H=e[G>>1]|0;b[G>>1]=((((O(d[386865+(H>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3<<5|((((O(d[386865+(H>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((O(d[386865+(H&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;H=B;M=G+2|0;k=8;continue}else if((k|0)==8){k=e[M>>1]|0;b[M>>1]=((((O(d[386865+(k>>>5&31)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>3<<5|((((O(d[386865+(k>>>10&31)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<10|((((O(d[386865+(k&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;k=M+2|0;if((H|0)>1){s=H+-1|0;u=k;k=5;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=9)if((k|0)==46)return 0;break}case 2:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;h=h&255;m=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;b:while(1){g=g+-1|0;switch(n&3){case 0:{q=o;w=k;k=14;break}case 3:{x=o;C=k;k=15;break}case 2:{D=o;I=k;k=16;break}case 1:{J=o;N=k;k=17;break}default:{k=18;break b}}while(1)if((k|0)==14){x=e[w>>1]|0;C=(d[386865+(x>>>10&31)>>0]|0)+h|0;k=(d[386865+(x>>>5&31)>>0]|0)+m|0;x=(d[386865+(x&31)>>0]|0)+l|0;b[w>>1]=(k>>>0<255?k:255)>>>3<<5|(C>>>0<255?C:255)>>>3<<10|(x>>>0<255?x:255)>>>3;x=q;C=w+2|0;k=15;continue}else if((k|0)==15){D=e[C>>1]|0;I=(d[386865+(D>>>10&31)>>0]|0)+h|0;k=(d[386865+(D>>>5&31)>>0]|0)+m|0;D=(d[386865+(D&31)>>0]|0)+l|0;b[C>>1]=(k>>>0<255?k:255)>>>3<<5|(I>>>0<255?I:255)>>>3<<10|(D>>>0<255?D:255)>>>3;D=x;I=C+2|0;k=16;continue}else if((k|0)==16){J=e[I>>1]|0;N=(d[386865+(J>>>10&31)>>0]|0)+h|0;k=(d[386865+(J>>>5&31)>>0]|0)+m|0;J=(d[386865+(J&31)>>0]|0)+l|0;b[I>>1]=(k>>>0<255?k:255)>>>3<<5|(N>>>0<255?N:255)>>>3<<10|(J>>>0<255?J:255)>>>3;J=D;N=I+2|0;k=17;continue}else if((k|0)==17){k=e[N>>1]|0;j=(d[386865+(k>>>10&31)>>0]|0)+h|0;f=(d[386865+(k>>>5&31)>>0]|0)+m|0;k=(d[386865+(k&31)>>0]|0)+l|0;b[N>>1]=(f>>>0<255?f:255)>>>3<<5|(j>>>0<255?j:255)>>>3<<10|(k>>>0<255?k:255)>>>3;k=N+2|0;if((J|0)>1){q=J+-1|0;w=k;k=14;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=18)if((k|0)==46)return 0;break}case 4:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;h=h&255;m=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;c:while(1){g=g+-1|0;switch(n&3){case 0:{t=o;y=k;k=23;break}case 3:{z=o;E=k;k=24;break}case 2:{F=o;K=k;k=25;break}case 1:{L=o;P=k;k=26;break}default:{k=27;break c}}while(1)if((k|0)==23){z=e[y>>1]|0;b[y>>1]=(((O(d[386865+(z>>>5&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(z>>>10&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(z&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;z=t;E=y+2|0;k=24;continue}else if((k|0)==24){F=e[E>>1]|0;b[E>>1]=(((O(d[386865+(F>>>5&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(F>>>10&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(F&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;F=z;K=E+2|0;k=25;continue}else if((k|0)==25){L=e[K>>1]|0;b[K>>1]=(((O(d[386865+(L>>>5&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(L>>>10&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(L&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;L=F;P=K+2|0;k=26;continue}else if((k|0)==26){k=e[P>>1]|0;b[P>>1]=(((O(d[386865+(k>>>5&31)>>0]|0,m)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(k>>>10&31)>>0]|0,h)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(k&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;k=P+2|0;if((L|0)>1){t=L+-1|0;y=k;k=23;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=27)if((k|0)==46)return 0;break}default:{m=c[f+8>>2]|0;P=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-m|0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;k=k+(c[f>>2]<<1)|0;l=P+-1|0;if(!P)return 0;g=m+3|0;o=(g|0)/4|0;n=((i&255)>>>3<<5|(h&255)>>>3<<10|(j&255)>>>3)&65535;switch(m&3){case 0:{while(1){g=o;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;k=k+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 3:{h=(g|0)>7;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;g=k+6|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;b[g+12>>1]=n;g=g+14|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 2:{h=(g|0)>7;while(1){b[k>>1]=n;b[k+2>>1]=n;g=k+4|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;g=g+12|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}default:{h=(g|0)>7;while(1){b[k>>1]=n;g=k+2|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;g=g+10|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}}}}return 0}function Y_(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0;r=~k&255;switch(g|0){case 1:{k=c[f+8>>2]|0;g=c[f+12>>2]|0;l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=l-k|0;if(!g)return 0;q=(k+3|0)/4|0;o=k&255;n=h&255;h=i&255;m=j&255;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,l)|0)<<1)+(c[f>>2]<<1)|0;a:while(1){g=g+-1|0;switch(o&3){case 0:{s=q;u=k;k=5;break}case 3:{v=q;A=k;k=6;break}case 2:{B=q;G=k;k=7;break}case 1:{H=q;M=k;k=8;break}default:{k=9;break a}}while(1)if((k|0)==5){v=e[u>>1]|0;b[u>>1]=((((O(d[386801+(v>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>2<<5|((((O(d[386865+(v>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((O(d[386865+(v&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;v=s;A=u+2|0;k=6;continue}else if((k|0)==6){B=e[A>>1]|0;b[A>>1]=((((O(d[386801+(B>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>2<<5|((((O(d[386865+(B>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((O(d[386865+(B&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;B=v;G=A+2|0;k=7;continue}else if((k|0)==7){H=e[G>>1]|0;b[G>>1]=((((O(d[386801+(H>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>2<<5|((((O(d[386865+(H>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((O(d[386865+(H&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;H=B;M=G+2|0;k=8;continue}else if((k|0)==8){k=e[M>>1]|0;b[M>>1]=((((O(d[386801+(k>>>5&63)>>0]|0,r)|0)>>>0)/255|0)+h|0)>>>2<<5|((((O(d[386865+(k>>>11)>>0]|0,r)|0)>>>0)/255|0)+n|0)>>>3<<11|((((O(d[386865+(k&31)>>0]|0,r)|0)>>>0)/255|0)+m|0)>>>3;k=M+2|0;if((H|0)>1){s=H+-1|0;u=k;k=5;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=9)if((k|0)==46)return 0;break}case 2:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;h=h&255;m=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;b:while(1){g=g+-1|0;switch(n&3){case 0:{q=o;w=k;k=14;break}case 3:{x=o;C=k;k=15;break}case 2:{D=o;I=k;k=16;break}case 1:{J=o;N=k;k=17;break}default:{k=18;break b}}while(1)if((k|0)==14){x=e[w>>1]|0;C=(d[386865+(x>>>11)>>0]|0)+h|0;k=(d[386801+(x>>>5&63)>>0]|0)+m|0;x=(d[386865+(x&31)>>0]|0)+l|0;b[w>>1]=(k>>>0<255?k:255)>>>2<<5|(C>>>0<255?C:255)>>>3<<11|(x>>>0<255?x:255)>>>3;x=q;C=w+2|0;k=15;continue}else if((k|0)==15){D=e[C>>1]|0;I=(d[386865+(D>>>11)>>0]|0)+h|0;k=(d[386801+(D>>>5&63)>>0]|0)+m|0;D=(d[386865+(D&31)>>0]|0)+l|0;b[C>>1]=(k>>>0<255?k:255)>>>2<<5|(I>>>0<255?I:255)>>>3<<11|(D>>>0<255?D:255)>>>3;D=x;I=C+2|0;k=16;continue}else if((k|0)==16){J=e[I>>1]|0;N=(d[386865+(J>>>11)>>0]|0)+h|0;k=(d[386801+(J>>>5&63)>>0]|0)+m|0;J=(d[386865+(J&31)>>0]|0)+l|0;b[I>>1]=(k>>>0<255?k:255)>>>2<<5|(N>>>0<255?N:255)>>>3<<11|(J>>>0<255?J:255)>>>3;J=D;N=I+2|0;k=17;continue}else if((k|0)==17){k=e[N>>1]|0;j=(d[386865+(k>>>11)>>0]|0)+h|0;f=(d[386801+(k>>>5&63)>>0]|0)+m|0;k=(d[386865+(k&31)>>0]|0)+l|0;b[N>>1]=(f>>>0<255?f:255)>>>2<<5|(j>>>0<255?j:255)>>>3<<11|(k>>>0<255?k:255)>>>3;k=N+2|0;if((J|0)>1){q=J+-1|0;w=k;k=14;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=18)if((k|0)==46)return 0;break}case 4:{l=c[f+8>>2]|0;g=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-l|0;if(!g)return 0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;o=(l+3|0)/4|0;n=l&255;h=h&255;m=i&255;l=j&255;k=k+(c[f>>2]<<1)|0;c:while(1){g=g+-1|0;switch(n&3){case 0:{t=o;y=k;k=23;break}case 3:{z=o;E=k;k=24;break}case 2:{F=o;K=k;k=25;break}case 1:{L=o;P=k;k=26;break}default:{k=27;break c}}while(1)if((k|0)==23){z=e[y>>1]|0;b[y>>1]=(((O(d[386801+(z>>>5&63)>>0]|0,m)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(z>>>11)>>0]|0,h)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(z&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;z=t;E=y+2|0;k=24;continue}else if((k|0)==24){F=e[E>>1]|0;b[E>>1]=(((O(d[386801+(F>>>5&63)>>0]|0,m)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(F>>>11)>>0]|0,h)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(F&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;F=z;K=E+2|0;k=25;continue}else if((k|0)==25){L=e[K>>1]|0;b[K>>1]=(((O(d[386801+(L>>>5&63)>>0]|0,m)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(L>>>11)>>0]|0,h)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(L&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;L=F;P=K+2|0;k=26;continue}else if((k|0)==26){k=e[P>>1]|0;b[P>>1]=(((O(d[386801+(k>>>5&63)>>0]|0,m)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(k>>>11)>>0]|0,h)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(k&31)>>0]|0,l)|0)>>>0)/255|0)>>>3;k=P+2|0;if((L|0)>1){t=L+-1|0;y=k;k=23;continue}else break}if(!g){k=46;break}else k=k+(p<<1)|0}if((k|0)!=27)if((k|0)==46)return 0;break}default:{m=c[f+8>>2]|0;P=c[f+12>>2]|0;k=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;p=k-m|0;k=(c[a+20>>2]|0)+((O(c[f+4>>2]|0,k)|0)<<1)|0;k=k+(c[f>>2]<<1)|0;l=P+-1|0;if(!P)return 0;g=m+3|0;o=(g|0)/4|0;n=((i&255)>>>2<<5|(h&255)>>>3<<11|(j&255)>>>3)&65535;switch(m&3){case 0:{while(1){g=o;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;k=k+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 3:{h=(g|0)>7;while(1){b[k>>1]=n;b[k+2>>1]=n;b[k+4>>1]=n;g=k+6|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;b[g+12>>1]=n;g=g+14|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}case 2:{h=(g|0)>7;while(1){b[k>>1]=n;b[k+2>>1]=n;g=k+4|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;b[g+10>>1]=n;g=g+12|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}default:{h=(g|0)>7;while(1){b[k>>1]=n;g=k+2|0;if(h){m=o;do{m=m+-1|0;b[g>>1]=n;b[k+4>>1]=n;b[k+6>>1]=n;g=k;k=k+8|0;b[k>>1]=n;g=g+10|0}while((m|0)>1);k=g}else k=g;if(!l)break;else{k=k+(p<<1)|0;l=l+-1|0}}return 0}}}}return 0}function Z_(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=k&255;l=l&255;n=n&255;k=m&255;if((j+-1|0)>>>0<2){A=((O(n,p)|0)>>>0)/255|0;z=((O(n,l)|0)>>>0)/255|0;y=((O(n,k)|0)>>>0)/255|0}else{A=p;z=l;y=k}x=n^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=((((O(d[386801+(f>>>5&63)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>2<<5|((((O(d[386865+(f>>>11)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<11|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;g=(d[386865+(f>>>11)>>0]|0)+A|0;o=(d[386801+(f>>>5&63)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[k>>1]=(o>>>0<255?o:255)>>>2<<5|(g>>>0<255?g:255)>>>3<<11|(f>>>0<255?f:255)>>>3;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=(((O(d[386801+(f>>>5&63)>>0]|0,z)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(f>>>11)>>0]|0,A)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;n=(z>>>2<<5|y>>>3|A>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=((((O(d[386801+(f>>>5&63)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>2<<5|((((O(d[386865+(f>>>11)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<11|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!l)break;else k=k+(p<<1)|0}return}case 2:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;g=(d[386865+(f>>>11)>>0]|0)+A|0;o=(d[386801+(f>>>5&63)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[k>>1]=(o>>>0<255?o:255)>>>2<<5|(g>>>0<255?g:255)>>>3<<11|(f>>>0<255?f:255)>>>3;if(!l)break;else k=k+(p<<1)|0}return}case 4:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=(((O(d[386801+(f>>>5&63)>>0]|0,z)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(f>>>11)>>0]|0,A)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(p<<1)|0}return}default:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;n=(z>>>2<<5|y>>>3|A>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+(p<<1)|0}return}}w=f-h|0;k=g-i|0;if((((w|0)<0?0-w|0:w)|0)==(((k|0)<0?0-k|0:k)|0))switch(j|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;b[l>>1]=((((O(d[386801+(f>>>5&63)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>2<<5|((((O(d[386865+(f>>>11)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<11|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!k)break;else l=l+(n<<1)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;g=(d[386865+(f>>>11)>>0]|0)+A|0;o=(d[386801+(f>>>5&63)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[l>>1]=(o>>>0<255?o:255)>>>2<<5|(g>>>0<255?g:255)>>>3<<11|(f>>>0<255?f:255)>>>3;if(!k)break;else l=l+(n<<1)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;b[l>>1]=(((O(d[386801+(f>>>5&63)>>0]|0,z)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(f>>>11)>>0]|0,A)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!k)break;else l=l+(n<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){g=l+((O(n,i)|0)<<1)+(h<<1)|0;p=n+((h|0)>(f|0)?-1:1)|0;l=k;k=(o|0)==0?g+(p<<1)|0:g}else{k=l+((O(n,g)|0)<<1)+(f<<1)|0;l=i-g|0;p=n+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;n=(z>>>2<<5|y>>>3|A>>>3<<11)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+(p<<1)|0}return}}switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;b[l>>1]=((((O(d[386801+(f>>>5&63)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>2<<5|((((O(d[386865+(f>>>11)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<11|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;g=(d[386865+(f>>>11)>>0]|0)+A|0;o=(d[386801+(f>>>5&63)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[l>>1]=(o>>>0<255?o:255)>>>2<<5|(g>>>0<255?g:255)>>>3<<11|(f>>>0<255?f:255)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;b[l>>1]=(((O(d[386801+(f>>>5&63)>>0]|0,z)|0)>>>0)/255|0)>>>2<<5|(((O(d[386865+(f>>>11)>>0]|0,A)|0)>>>0)/255|0)>>>3<<11|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;n=i-g|0;n=(n|0)<0?0-n|0:n;if((l|0)<(n|0)){k=l<<1;j=1;m=0;p=l-n|0;w=k;k=k-n|0;l=n}else{k=n<<1;j=0;m=1;p=n-l|0;w=k;k=k-l|0}v=p<<1;u=(h|0)<(f|0);t=u?0-m|0:m;u=u?-1:1;r=(i|0)<(g|0);s=r?0-j|0:j;r=r?-1:1;h=l+((o|0)!=0&1)|0;if((h|0)<=0)return;q=c[a+20>>2]|0;i=c[a+16>>2]|0;j=(z>>>2<<5|y>>>3|A>>>3<<11)&65535;m=g;n=f;p=0;while(1){b[q+(O(i,m)|0)+(n<<1)>>1]=j;l=(k|0)<0;p=p+1|0;if((p|0)>=(h|0))break;else{m=m+(l?s:r)|0;n=(l?t:u)+n|0;k=(l?w:v)+k|0}}return}}}function __(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;I=c[a+4>>2]|0;k=k&255;l=l&255;m=m&255;n=n&255;if((j+-1|0)>>>0<2){L=((O(n,k)|0)>>>0)/255|0;K=((O(n,l)|0)>>>0)/255|0;J=((O(n,m)|0)>>>0)/255|0}else{L=k;K=l;J=m}H=n^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;l=(o|0)!=0;if((h|0)<(f|0)){a=k+(h<<1)|0;a=l?a:a+2|0;k=f-h|0}else{a=k+(f<<1)|0;k=h-f|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((O(d[h+((q&I)>>>v)>>0]|0,H)|0)>>>0)/255|0)+K|0)>>>g<<v|((((O(d[p+((I&i)>>>u)>>0]|0,H)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((O(d[r+((s&I)>>>m)>>0]|0,H)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;l=(o|0)!=0;if((h|0)<(f|0)){a=k+(h<<1)|0;a=l?a:a+2|0;k=f-h|0}else{a=k+(f<<1)|0;k=h-f|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;f=(d[p+((I&i)>>>u)>>0]|0)+L|0;H=(d[h+((q&I)>>>v)>>0]|0)+K|0;I=(d[r+((s&I)>>>m)>>0]|0)+J|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;l=(o|0)!=0;if((h|0)<(f|0)){a=k+(h<<1)|0;a=l?a:a+2|0;k=f-h|0}else{a=k+(f<<1)|0;k=h-f|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((O(d[h+((q&I)>>>v)>>0]|0,K)|0)>>>0)/255|0)>>>g<<v|(((O(d[p+((I&i)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>n<<u|t|(((O(d[r+((s&I)>>>m)>>0]|0,J)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0,i)|0)<<1)|0;m=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=m?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(m&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;l=(o|0)!=0;if((i|0)<(g|0)){a=k+((O(w,i)|0)<<1)+(h<<1)|0;a=l?a:a+(w<<1)|0;k=g-i|0}else{a=k+((O(w,g)|0)<<1)+(h<<1)|0;k=i-g|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((O(d[h+((q&I)>>>v)>>0]|0,H)|0)>>>0)/255|0)+K|0)>>>g<<v|((((O(d[p+((I&i)>>>u)>>0]|0,H)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((O(d[r+((s&I)>>>m)>>0]|0,H)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}case 2:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;l=(o|0)!=0;if((i|0)<(g|0)){a=k+((O(w,i)|0)<<1)+(h<<1)|0;a=l?a:a+(w<<1)|0;k=g-i|0}else{a=k+((O(w,g)|0)<<1)+(h<<1)|0;k=i-g|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;f=(d[p+((I&i)>>>u)>>0]|0)+L|0;H=(d[h+((q&I)>>>v)>>0]|0)+K|0;I=(d[r+((s&I)>>>m)>>0]|0)+J|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}case 4:{w=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;l=(o|0)!=0;if((i|0)<(g|0)){a=k+((O(w,i)|0)<<1)+(h<<1)|0;a=l?a:a+(w<<1)|0;k=g-i|0}else{a=k+((O(w,g)|0)<<1)+(h<<1)|0;k=i-g|0}l=k+(l&1)|0;if(!l)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;k=a;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((O(d[h+((q&I)>>>v)>>0]|0,K)|0)>>>0)/255|0)>>>g<<v|(((O(d[p+((I&i)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>n<<u|t|(((O(d[r+((s&I)>>>m)>>0]|0,J)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+(w<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;k=c[a+20>>2]|0;m=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(n,i)|0)<<1)+(h<<1)|0;k=m?k:k+(n<<1)|0;l=g-i|0}else{k=k+((O(n,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(m&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}G=f-h|0;k=g-i|0;if((((G|0)<0?0-G|0:G)|0)==(((k|0)<0?0-k|0:k)|0))switch(j|0){case 1:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((O(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((O(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;l=k;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=((((O(d[h+((q&I)>>>v)>>0]|0,H)|0)>>>0)/255|0)+K|0)>>>g<<v|((((O(d[p+((I&i)>>>u)>>0]|0,H)|0)>>>0)/255|0)+L|0)>>>n<<u|t|((((O(d[r+((s&I)>>>m)>>0]|0,H)|0)>>>0)/255|0)+J|0)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}case 2:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((O(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((O(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;l=k;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;f=(d[p+((I&i)>>>u)>>0]|0)+L|0;H=(d[h+((q&I)>>>v)>>0]|0)+K|0;I=(d[r+((s&I)>>>m)>>0]|0)+J|0;b[k>>1]=(H>>>0<255?H:255)>>>g<<v|(f>>>0<255?f:255)>>>n<<u|t|(I>>>0<255?I:255)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}case 4:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){w=l+((O(m,i)|0)<<1)+(h<<1)|0;a=m+((h|0)>(f|0)?-1:1)|0;w=(o|0)==0?w+(a<<1)|0:w}else{w=l+((O(m,g)|0)<<1)+(f<<1)|0;k=i-g|0;a=m+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;n=d[I+28>>0]|0;p=c[22432+(n<<2)>>2]|0;i=c[I+12>>2]|0;g=d[I+29>>0]|0;h=c[22432+(g<<2)>>2]|0;q=c[I+16>>2]|0;j=d[I+30>>0]|0;r=c[22432+(j<<2)>>2]|0;s=c[I+20>>2]|0;t=c[I+24>>2]|0;u=d[I+32>>0]|0;v=d[I+33>>0]|0;m=d[I+34>>0]|0;l=k;k=w;while(1){l=l+-1|0;I=e[k>>1]|0;b[k>>1]=(((O(d[h+((q&I)>>>v)>>0]|0,K)|0)>>>0)/255|0)>>>g<<v|(((O(d[p+((I&i)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>n<<u|t|(((O(d[r+((s&I)>>>m)>>0]|0,J)|0)>>>0)/255|0)>>>j<<m;if(!l)break;else k=k+(a<<1)|0}return}default:{m=(c[a+16>>2]|0)/(d[I+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){H=l+((O(m,i)|0)<<1)+(h<<1)|0;n=m+((h|0)>(f|0)?-1:1)|0;l=k;k=(o|0)==0?H+(n<<1)|0:H}else{k=l+((O(m,g)|0)<<1)+(f<<1)|0;l=i-g|0;n=m+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;m=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;while(1){l=l+-1|0;b[k>>1]=m;if(!l)break;else k=k+(n<<1)|0}return}}else switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;y=k+((o|0)!=0&1)|0;if((y|0)<=0)return;z=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[22432+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[22432+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[22432+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=z+(O(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;b[l>>1]=((((O(d[t+((u&I)>>>x)>>0]|0,H)|0)>>>0)/255|0)+K|0)>>>i<<x|((((O(d[r+((I&s)>>>o)>>0]|0,H)|0)>>>0)/255|0)+L|0)>>>p<<o|w|((((O(d[v+((a&I)>>>j)>>0]|0,H)|0)>>>0)/255|0)+J|0)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(y|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;y=k+((o|0)!=0&1)|0;if((y|0)<=0)return;z=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[22432+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[22432+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[22432+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=z+(O(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;f=(d[r+((I&s)>>>o)>>0]|0)+L|0;H=(d[t+((u&I)>>>x)>>0]|0)+K|0;I=(d[v+((a&I)>>>j)>>0]|0)+J|0;b[l>>1]=(H>>>0<255?H:255)>>>i<<x|(f>>>0<255?f:255)>>>p<<o|w|(I>>>0<255?I:255)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(y|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){F=k<<1;j=1;n=0;m=k-l|0;G=F;F=F-l|0;k=l}else{F=l<<1;j=0;n=1;m=l-k|0;G=F;F=F-k|0}E=m<<1;D=(h|0)<(f|0);C=D?0-n|0:n;D=D?-1:1;A=(i|0)<(g|0);B=A?0-j|0:j;A=A?-1:1;y=k+((o|0)!=0&1)|0;if((y|0)<=0)return;z=c[a+20>>2]|0;q=c[a+16>>2]|0;p=d[I+28>>0]|0;r=c[22432+(p<<2)>>2]|0;s=c[I+12>>2]|0;i=d[I+29>>0]|0;t=c[22432+(i<<2)>>2]|0;u=c[I+16>>2]|0;h=d[I+30>>0]|0;v=c[22432+(h<<2)>>2]|0;a=c[I+20>>2]|0;w=c[I+24>>2]|0;o=d[I+32>>0]|0;x=d[I+33>>0]|0;j=d[I+34>>0]|0;m=f;n=0;k=F;while(1){l=z+(O(q,g)|0)+(m<<1)|0;I=e[l>>1]|0;b[l>>1]=(((O(d[t+((u&I)>>>x)>>0]|0,K)|0)>>>0)/255|0)>>>i<<x|(((O(d[r+((I&s)>>>o)>>0]|0,L)|0)>>>0)/255|0)>>>p<<o|w|(((O(d[v+((a&I)>>>j)>>0]|0,J)|0)>>>0)/255|0)>>>h<<j;l=(k|0)<0;n=n+1|0;if((n|0)>=(y|0))break;else{g=g+(l?B:A)|0;m=(l?C:D)+m|0;k=(l?G:E)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;m=i-g|0;m=(m|0)<0?0-m|0:m;if((l|0)<(m|0)){k=l<<1;p=1;j=0;n=l-m|0;v=k;k=k-m|0;l=m}else{k=m<<1;p=0;j=1;n=m-l|0;v=k;k=k-l|0}u=n<<1;t=(h|0)<(f|0);s=t?0-j|0:j;t=t?-1:1;q=(i|0)<(g|0);r=q?0-p|0:p;q=q?-1:1;i=l+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;p=c[a+16>>2]|0;j=(K>>>(d[I+29>>0]|0)<<(d[I+33>>0]|0)|L>>>(d[I+28>>0]|0)<<(d[I+32>>0]|0)|c[I+24>>2]|J>>>(d[I+30>>0]|0)<<(d[I+34>>0]|0))&65535;m=f;n=0;while(1){b[h+(O(p,g)|0)+(m<<1)>>1]=j;l=(k|0)<0;n=n+1|0;if((n|0)>=(i|0))break;else{g=g+(l?r:q)|0;m=(l?s:t)+m|0;k=(l?v:u)+k|0}}return}}}function $_(a,f,g,h,i,j,k,l,m,n,o){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;p=k&255;l=l&255;n=n&255;k=m&255;if((j+-1|0)>>>0<2){A=((O(n,p)|0)>>>0)/255|0;z=((O(n,l)|0)>>>0)/255|0;y=((O(n,k)|0)>>>0)/255|0}else{A=p;z=l;y=k}x=n^255;if((i|0)==(g|0))switch(j|0){case 1:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=((((O(d[386865+(f>>>5&31)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>3<<5|((((O(d[386865+(f>>>10&31)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<10|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!l)break;else k=k+2|0}return}case 2:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;g=(d[386865+(f>>>10&31)>>0]|0)+A|0;o=(d[386865+(f>>>5&31)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[k>>1]=(o>>>0<255?o:255)>>>3<<5|(g>>>0<255?g:255)>>>3<<10|(f>>>0<255?f:255)>>>3;if(!l)break;else k=k+2|0}return}case 4:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=(((O(d[386865+(f>>>5&31)>>0]|0,z)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(f>>>10&31)>>0]|0,A)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+2|0}return}default:{k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,i)|0)<<1)|0;n=(o|0)!=0;if((h|0)<(f|0)){k=k+(h<<1)|0;k=n?k:k+2|0;l=f-h|0}else{k=k+(f<<1)|0;l=h-f|0}l=l+(n&1)|0;if(!l)return;n=(z>>>3<<5|y>>>3|A>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+2|0}return}}if((h|0)==(f|0))switch(j|0){case 1:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=((((O(d[386865+(f>>>5&31)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>3<<5|((((O(d[386865+(f>>>10&31)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<10|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!l)break;else k=k+(p<<1)|0}return}case 2:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;g=(d[386865+(f>>>10&31)>>0]|0)+A|0;o=(d[386865+(f>>>5&31)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[k>>1]=(o>>>0<255?o:255)>>>3<<5|(g>>>0<255?g:255)>>>3<<10|(f>>>0<255?f:255)>>>3;if(!l)break;else k=k+(p<<1)|0}return}case 4:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;while(1){l=l+-1|0;f=e[k>>1]|0;b[k>>1]=(((O(d[386865+(f>>>5&31)>>0]|0,z)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(f>>>10&31)>>0]|0,A)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!l)break;else k=k+(p<<1)|0}return}default:{p=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;n=(o|0)!=0;if((i|0)<(g|0)){k=k+((O(p,i)|0)<<1)+(h<<1)|0;k=n?k:k+(p<<1)|0;l=g-i|0}else{k=k+((O(p,g)|0)<<1)+(h<<1)|0;l=i-g|0}l=l+(n&1)|0;if(!l)return;n=(z>>>3<<5|y>>>3|A>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+(p<<1)|0}return}}w=f-h|0;k=g-i|0;if((((w|0)<0?0-w|0:w)|0)==(((k|0)<0?0-k|0:k)|0))switch(j|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;b[l>>1]=((((O(d[386865+(f>>>5&31)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>3<<5|((((O(d[386865+(f>>>10&31)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<10|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;if(!k)break;else l=l+(n<<1)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;g=(d[386865+(f>>>10&31)>>0]|0)+A|0;o=(d[386865+(f>>>5&31)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[l>>1]=(o>>>0<255?o:255)>>>3<<5|(g>>>0<255?g:255)>>>3<<10|(f>>>0<255?f:255)>>>3;if(!k)break;else l=l+(n<<1)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){l=l+((O(n,i)|0)<<1)+(h<<1)|0;n=n+((h|0)>(f|0)?-1:1)|0;l=(o|0)==0?l+(n<<1)|0:l}else{l=l+((O(n,g)|0)<<1)+(f<<1)|0;k=i-g|0;n=n+((h|0)<(f|0)?-1:1)|0}k=k+((o|0)!=0&1)|0;if(!k)return;while(1){k=k+-1|0;f=e[l>>1]|0;b[l>>1]=(((O(d[386865+(f>>>5&31)>>0]|0,z)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(f>>>10&31)>>0]|0,A)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;if(!k)break;else l=l+(n<<1)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;l=c[a+20>>2]|0;if((i|0)<(g|0)){g=l+((O(n,i)|0)<<1)+(h<<1)|0;p=n+((h|0)>(f|0)?-1:1)|0;l=k;k=(o|0)==0?g+(p<<1)|0:g}else{k=l+((O(n,g)|0)<<1)+(f<<1)|0;l=i-g|0;p=n+((h|0)<(f|0)?-1:1)|0}l=l+((o|0)!=0&1)|0;if(!l)return;n=(z>>>3<<5|y>>>3|A>>>3<<10)&65535;while(1){l=l+-1|0;b[k>>1]=n;if(!l)break;else k=k+(p<<1)|0}return}}switch(j|0){case 1:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;b[l>>1]=((((O(d[386865+(f>>>5&31)>>0]|0,x)|0)>>>0)/255|0)+z|0)>>>3<<5|((((O(d[386865+(f>>>10&31)>>0]|0,x)|0)>>>0)/255|0)+A|0)>>>3<<10|((((O(d[386865+(f&31)>>0]|0,x)|0)>>>0)/255|0)+y|0)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}case 2:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;g=(d[386865+(f>>>10&31)>>0]|0)+A|0;o=(d[386865+(f>>>5&31)>>0]|0)+z|0;f=(d[386865+(f&31)>>0]|0)+y|0;b[l>>1]=(o>>>0<255?o:255)>>>3<<5|(g>>>0<255?g:255)>>>3<<10|(f>>>0<255?f:255)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}case 4:{k=h-f|0;k=(k|0)<0?0-k|0:k;l=i-g|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){v=k<<1;m=1;p=0;n=k-l|0;w=v;v=v-l|0;k=l}else{v=l<<1;m=0;p=1;n=l-k|0;w=v;v=v-k|0}u=n<<1;t=(h|0)<(f|0);s=t?0-p|0:p;t=t?-1:1;q=(i|0)<(g|0);r=q?0-m|0:m;q=q?-1:1;i=k+((o|0)!=0&1)|0;if((i|0)<=0)return;h=c[a+20>>2]|0;j=c[a+16>>2]|0;m=g;n=f;p=0;k=v;while(1){l=h+(O(j,m)|0)+(n<<1)|0;f=e[l>>1]|0;b[l>>1]=(((O(d[386865+(f>>>5&31)>>0]|0,z)|0)>>>0)/255|0)>>>3<<5|(((O(d[386865+(f>>>10&31)>>0]|0,A)|0)>>>0)/255|0)>>>3<<10|(((O(d[386865+(f&31)>>0]|0,y)|0)>>>0)/255|0)>>>3;l=(k|0)<0;p=p+1|0;if((p|0)>=(i|0))break;else{m=m+(l?r:q)|0;n=(l?s:t)+n|0;k=(l?w:u)+k|0}}return}default:{l=h-f|0;l=(l|0)<0?0-l|0:l;n=i-g|0;n=(n|0)<0?0-n|0:n;if((l|0)<(n|0)){k=l<<1;j=1;m=0;p=l-n|0;w=k;k=k-n|0;l=n}else{k=n<<1;j=0;m=1;p=n-l|0;w=k;k=k-l|0}v=p<<1;u=(h|0)<(f|0);t=u?0-m|0:m;u=u?-1:1;r=(i|0)<(g|0);s=r?0-j|0:j;r=r?-1:1;h=l+((o|0)!=0&1)|0;if((h|0)<=0)return;q=c[a+20>>2]|0;i=c[a+16>>2]|0;j=(z>>>3<<5|y>>>3|A>>>3<<10)&65535;m=g;n=f;p=0;while(1){b[q+(O(i,m)|0)+(n<<1)>>1]=j;l=(k|0)<0;p=p+1|0;if((p|0)>=(h|0))break;else{m=m+(l?s:r)|0;n=(l?t:u)+n|0;k=(l?w:v)+k|0}}return}}}function a$(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i&255;j=j&255;w=l&255;i=k&255;if((h+-1|0)>>>0<2){z=((O(w,n)|0)>>>0)/255|0;y=((O(w,j)|0)>>>0)/255|0;x=((O(w,i)|0)>>>0)/255|0}else{z=n;y=j;x=i}v=w^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>24,v)|0)>>>0)/255|0)+w<<24|(((O(b&255,v)|0)>>>0)/255|0)+x|(((O(b>>>16&255,v)|0)>>>0)/255|0)+z<<16|(((O(b>>>8&255,v)|0)>>>0)/255|0)+y<<8;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;e=(m>>>16&255)+z|0;b=(m>>>8&255)+y|0;w=(m&255)+x|0;c[i>>2]=(w>>>0<255?w:255)|m&-16777216|(e>>>0<255?e:255)<<16|(b>>>0<255?b:255)<<8;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=((O(b&255,x)|0)>>>0)/255|0|b&-16777216|(((O(b>>>16&255,z)|0)>>>0)/255|0)<<16|(((O(b>>>8&255,y)|0)>>>0)/255|0)<<8;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;l=x|w<<24|y<<8|z<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>24,v)|0)>>>0)/255|0)+w<<24|(((O(b&255,v)|0)>>>0)/255|0)+x|(((O(b>>>16&255,v)|0)>>>0)/255|0)+z<<16|(((O(b>>>8&255,v)|0)>>>0)/255|0)+y<<8;if(!j)break;else i=i+(n<<2)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;m=c[i>>2]|0;e=(m>>>16&255)+z|0;b=(m>>>8&255)+y|0;w=(m&255)+x|0;c[i>>2]=(w>>>0<255?w:255)|m&-16777216|(e>>>0<255?e:255)<<16|(b>>>0<255?b:255)<<8;if(!j)break;else i=i+(n<<2)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=((O(b&255,x)|0)>>>0)/255|0|b&-16777216|(((O(b>>>16&255,z)|0)>>>0)/255|0)<<16|(((O(b>>>8&255,y)|0)>>>0)/255|0)<<8;if(!j)break;else i=i+(n<<2)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;l=x|w<<24|y<<8|z<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+(n<<2)|0}return}}u=b-f|0;i=e-g|0;if((((u|0)<0?0-u|0:u)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>24,v)|0)>>>0)/255|0)+w<<24|(((O(b&255,v)|0)>>>0)/255|0)+x|(((O(b>>>16&255,v)|0)>>>0)/255|0)+z<<16|(((O(b>>>8&255,v)|0)>>>0)/255|0)+y<<8;if(!i)break;else j=j+(l<<2)|0}return}case 2:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;m=c[j>>2]|0;e=(m>>>16&255)+z|0;b=(m>>>8&255)+y|0;w=(m&255)+x|0;c[j>>2]=(w>>>0<255?w:255)|m&-16777216|(e>>>0<255?e:255)<<16|(b>>>0<255?b:255)<<8;if(!i)break;else j=j+(l<<2)|0}return}case 4:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;b=c[j>>2]|0;c[j>>2]=((O(b&255,x)|0)>>>0)/255|0|b&-16777216|(((O(b>>>16&255,z)|0)>>>0)/255|0)<<16|(((O(b>>>8&255,y)|0)>>>0)/255|0)<<8;if(!i)break;else j=j+(l<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){e=j+((O(l,g)|0)<<2)+(f<<2)|0;n=l+((f|0)>(b|0)?-1:1)|0;j=i;i=(m|0)==0?e+(n<<2)|0:e}else{i=j+((O(l,e)|0)<<2)+(b<<2)|0;j=g-e|0;n=l+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;l=x|w<<24|y<<8|z<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+(n<<2)|0}return}}switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>24,v)|0)>>>0)/255|0)+w<<24|(((O(b&255,v)|0)>>>0)/255|0)+x|(((O(b>>>16&255,v)|0)>>>0)/255|0)+z<<16|(((O(b>>>8&255,v)|0)>>>0)/255|0)+y<<8;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;m=c[j>>2]|0;e=(m>>>16&255)+z|0;b=(m>>>8&255)+y|0;w=(m&255)+x|0;c[j>>2]=(w>>>0<255?w:255)|m&-16777216|(e>>>0<255?e:255)<<16|(b>>>0<255?b:255)<<8;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;b=c[j>>2]|0;c[j>>2]=((O(b&255,x)|0)>>>0)/255|0|b&-16777216|(((O(b>>>16&255,z)|0)>>>0)/255|0)<<16|(((O(b>>>8&255,y)|0)>>>0)/255|0)<<8;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;l=g-e|0;l=(l|0)<0?0-l|0:l;if((j|0)<(l|0)){i=j<<1;h=1;k=0;n=j-l|0;u=i;i=i-l|0;j=l}else{i=l<<1;h=0;k=1;n=l-j|0;u=i;i=i-j|0}t=n<<1;s=(f|0)<(b|0);r=s?0-k|0:k;s=s?-1:1;p=(g|0)<(e|0);q=p?0-h|0:h;p=p?-1:1;f=j+((m|0)!=0&1)|0;if((f|0)<=0)return;o=c[a+20>>2]|0;g=a+16|0;h=x|w<<24|y<<8|z<<16;k=e;l=b;n=0;while(1){c[o+(O(c[g>>2]|0,k)|0)+(l<<2)>>2]=h;j=(i|0)<0;n=n+1|0;if((n|0)>=(f|0))break;else{k=k+(j?q:p)|0;l=(j?r:s)+l|0;i=(j?u:t)+i|0}}return}}}function b$(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;n=i&255;j=j&255;l=l&255;i=k&255;if((h+-1|0)>>>0<2){y=((O(l,n)|0)>>>0)/255|0;x=((O(l,j)|0)>>>0)/255|0;w=((O(l,i)|0)>>>0)/255|0}else{y=n;x=j;w=i}v=l^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>8&255,v)|0)>>>0)/255|0)+x<<8|(((O(b&255,v)|0)>>>0)/255|0)+w|(((O(b>>>16&255,v)|0)>>>0)/255|0)+y<<16;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;e=c[i>>2]|0;b=(e>>>16&255)+y|0;m=(e>>>8&255)+x|0;e=(e&255)+w|0;c[i>>2]=(m>>>0<255?m:255)<<8|(e>>>0<255?e:255)|(b>>>0<255?b:255)<<16;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>8&255,x)|0)>>>0)/255|0)<<8|(((O(b&255,w)|0)>>>0)/255|0)|(((O(b>>>16&255,y)|0)>>>0)/255|0)<<16;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;l=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=l?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(l&1)|0;if(!j)return;l=x<<8|w|y<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>8&255,v)|0)>>>0)/255|0)+x<<8|(((O(b&255,v)|0)>>>0)/255|0)+w|(((O(b>>>16&255,v)|0)>>>0)/255|0)+y<<16;if(!j)break;else i=i+(n<<2)|0}return}case 2:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;e=c[i>>2]|0;b=(e>>>16&255)+y|0;m=(e>>>8&255)+x|0;e=(e&255)+w|0;c[i>>2]=(m>>>0<255?m:255)<<8|(e>>>0<255?e:255)|(b>>>0<255?b:255)<<16;if(!j)break;else i=i+(n<<2)|0}return}case 4:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;while(1){j=j+-1|0;b=c[i>>2]|0;c[i>>2]=(((O(b>>>8&255,x)|0)>>>0)/255|0)<<8|(((O(b&255,w)|0)>>>0)/255|0)|(((O(b>>>16&255,y)|0)>>>0)/255|0)<<16;if(!j)break;else i=i+(n<<2)|0}return}default:{n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;i=c[a+20>>2]|0;l=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(n,g)|0)<<2)+(f<<2)|0;i=l?i:i+(n<<2)|0;j=e-g|0}else{i=i+((O(n,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(l&1)|0;if(!j)return;l=x<<8|w|y<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+(n<<2)|0}return}}u=b-f|0;i=e-g|0;if((((u|0)<0?0-u|0:u)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>8&255,v)|0)>>>0)/255|0)+x<<8|(((O(b&255,v)|0)>>>0)/255|0)+w|(((O(b>>>16&255,v)|0)>>>0)/255|0)+y<<16;if(!i)break;else j=j+(l<<2)|0}return}case 2:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;e=c[j>>2]|0;b=(e>>>16&255)+y|0;m=(e>>>8&255)+x|0;e=(e&255)+w|0;c[j>>2]=(m>>>0<255?m:255)<<8|(e>>>0<255?e:255)|(b>>>0<255?b:255)<<16;if(!i)break;else j=j+(l<<2)|0}return}case 4:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){j=j+((O(l,g)|0)<<2)+(f<<2)|0;l=l+((f|0)>(b|0)?-1:1)|0;j=(m|0)==0?j+(l<<2)|0:j}else{j=j+((O(l,e)|0)<<2)+(b<<2)|0;i=g-e|0;l=l+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;while(1){i=i+-1|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>8&255,x)|0)>>>0)/255|0)<<8|(((O(b&255,w)|0)>>>0)/255|0)|(((O(b>>>16&255,y)|0)>>>0)/255|0)<<16;if(!i)break;else j=j+(l<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){e=j+((O(l,g)|0)<<2)+(f<<2)|0;n=l+((f|0)>(b|0)?-1:1)|0;j=i;i=(m|0)==0?e+(n<<2)|0:e}else{i=j+((O(l,e)|0)<<2)+(b<<2)|0;j=g-e|0;n=l+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;l=x<<8|w|y<<16;while(1){j=j+-1|0;c[i>>2]=l;if(!j)break;else i=i+(n<<2)|0}return}}switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>8&255,v)|0)>>>0)/255|0)+x<<8|(((O(b&255,v)|0)>>>0)/255|0)+w|(((O(b>>>16&255,v)|0)>>>0)/255|0)+y<<16;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;e=c[j>>2]|0;b=(e>>>16&255)+y|0;m=(e>>>8&255)+x|0;e=(e&255)+w|0;c[j>>2]=(m>>>0<255?m:255)<<8|(e>>>0<255?e:255)|(b>>>0<255?b:255)<<16;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){t=i<<1;k=1;n=0;l=i-j|0;u=t;t=t-j|0;i=j}else{t=j<<1;k=0;n=1;l=j-i|0;u=t;t=t-i|0}s=l<<1;r=(f|0)<(b|0);q=r?0-n|0:n;r=r?-1:1;o=(g|0)<(e|0);p=o?0-k|0:k;o=o?-1:1;g=i+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;h=a+16|0;k=e;l=b;n=0;i=t;while(1){j=f+(O(c[h>>2]|0,k)|0)+(l<<2)|0;b=c[j>>2]|0;c[j>>2]=(((O(b>>>8&255,x)|0)>>>0)/255|0)<<8|(((O(b&255,w)|0)>>>0)/255|0)|(((O(b>>>16&255,y)|0)>>>0)/255|0)<<16;j=(i|0)<0;n=n+1|0;if((n|0)>=(g|0))break;else{k=k+(j?p:o)|0;l=(j?q:r)+l|0;i=(j?u:s)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;l=g-e|0;l=(l|0)<0?0-l|0:l;if((j|0)<(l|0)){i=j<<1;h=1;k=0;n=j-l|0;u=i;i=i-l|0;j=l}else{i=l<<1;h=0;k=1;n=l-j|0;u=i;i=i-j|0}t=n<<1;s=(f|0)<(b|0);r=s?0-k|0:k;s=s?-1:1;p=(g|0)<(e|0);q=p?0-h|0:h;p=p?-1:1;f=j+((m|0)!=0&1)|0;if((f|0)<=0)return;o=c[a+20>>2]|0;g=a+16|0;h=x<<8|w|y<<16;k=e;l=b;n=0;while(1){c[o+(O(c[g>>2]|0,k)|0)+(l<<2)>>2]=h;j=(i|0)<0;n=n+1|0;if((n|0)>=(f|0))break;else{k=k+(j?q:p)|0;l=(j?r:s)+l|0;i=(j?u:t)+i|0}}return}}}function c$(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;K=c[a+4>>2]|0;i=i&255;j=j&255;k=k&255;J=l&255;if((h+-1|0)>>>0<2){N=((O(J,i)|0)>>>0)/255|0;M=((O(J,j)|0)>>>0)/255|0;L=((O(J,k)|0)>>>0)/255|0}else{N=i;M=j;L=k}I=J^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){v=i+(f<<2)|0;v=j?v:v+4|0;i=b-f|0}else{v=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,I)|0)>>>0)/255|0)+M|0)>>>e<<m|((((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,I)|0)>>>0)/255|0)+N|0)>>>l<<a|((((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,I)|0)>>>0)/255|0)+L|0)>>>h<<u|((((O(d[p+((c[t>>2]&K)>>>k)>>0]|0,I)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){v=i+(f<<2)|0;v=j?v:v+4|0;i=b-f|0}else{v=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;J=(d[g+((c[q>>2]&K)>>>a)>>0]|0)+N|0;I=(d[f+((c[r>>2]&K)>>>m)>>0]|0)+M|0;b=(d[o+((c[s>>2]&K)>>>u)>>0]|0)+L|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){v=i+(f<<2)|0;v=j?v:v+4|0;i=b-f|0}else{v=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,M)|0)>>>0)/255|0)>>>e<<m|(((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,N)|0)>>>0)/255|0)>>>l<<a|(((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0,g)|0)<<2)|0;k=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=k?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(k&1)|0;if(!j)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|N>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){v=i+((O(w,g)|0)<<2)+(f<<2)|0;v=j?v:v+(w<<2)|0;i=e-g|0}else{v=i+((O(w,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,I)|0)>>>0)/255|0)+M|0)>>>e<<m|((((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,I)|0)>>>0)/255|0)+N|0)>>>l<<a|((((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,I)|0)>>>0)/255|0)+L|0)>>>h<<u|((((O(d[p+((c[t>>2]&K)>>>k)>>0]|0,I)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}case 2:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){v=i+((O(w,g)|0)<<2)+(f<<2)|0;v=j?v:v+(w<<2)|0;i=e-g|0}else{v=i+((O(w,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;J=(d[g+((c[q>>2]&K)>>>a)>>0]|0)+N|0;I=(d[f+((c[r>>2]&K)>>>m)>>0]|0)+M|0;b=(d[o+((c[s>>2]&K)>>>u)>>0]|0)+L|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}case 4:{w=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){v=i+((O(w,g)|0)<<2)+(f<<2)|0;v=j?v:v+(w<<2)|0;i=e-g|0}else{v=i+((O(w,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;i=v;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,M)|0)>>>0)/255|0)>>>e<<m|(((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,N)|0)>>>0)/255|0)>>>l<<a|(((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(w<<2)|0}return}default:{l=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;i=c[a+20>>2]|0;k=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(l,g)|0)<<2)+(f<<2)|0;i=k?i:i+(l<<2)|0;j=e-g|0}else{i=i+((O(l,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(k&1)|0;if(!j)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|N>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}H=b-f|0;i=e-g|0;if((((H|0)<0?0-H|0:H)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((O(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;j=i;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=((((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,I)|0)>>>0)/255|0)+M|0)>>>e<<m|((((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,I)|0)>>>0)/255|0)+N|0)>>>l<<a|((((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,I)|0)>>>0)/255|0)+L|0)>>>h<<u|((((O(d[p+((c[t>>2]&K)>>>k)>>0]|0,I)|0)>>>0)/255|0)+J|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((O(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;j=i;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;J=(d[g+((c[q>>2]&K)>>>a)>>0]|0)+N|0;I=(d[f+((c[r>>2]&K)>>>m)>>0]|0)+M|0;b=(d[o+((c[s>>2]&K)>>>u)>>0]|0)+L|0;c[i>>2]=(I>>>0<255?I:255)>>>e<<m|(J>>>0<255?J:255)>>>l<<a|(b>>>0<255?b:255)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){w=j+((O(k,g)|0)<<2)+(f<<2)|0;v=k+((f|0)>(b|0)?-1:1)|0;w=(m|0)==0?w+(v<<2)|0:w}else{w=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;v=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;q=K+12|0;r=K+16|0;s=K+20|0;t=K+24|0;l=d[K+28>>0]|0;g=c[22432+(l<<2)>>2]|0;e=d[K+29>>0]|0;f=c[22432+(e<<2)>>2]|0;h=d[K+30>>0]|0;o=c[22432+(h<<2)>>2]|0;n=d[K+31>>0]|0;p=c[22432+(n<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;k=d[K+35>>0]|0;j=i;i=w;while(1){j=j+-1|0;K=c[i>>2]|0;c[i>>2]=(((O(d[f+((c[r>>2]&K)>>>m)>>0]|0,M)|0)>>>0)/255|0)>>>e<<m|(((O(d[g+((c[q>>2]&K)>>>a)>>0]|0,N)|0)>>>0)/255|0)>>>l<<a|(((O(d[o+((c[s>>2]&K)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>h<<u|(d[p+((c[t>>2]&K)>>>k)>>0]|0)>>>n<<k;if(!j)break;else i=i+(v<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[K+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){I=j+((O(k,g)|0)<<2)+(f<<2)|0;l=k+((f|0)>(b|0)?-1:1)|0;j=i;i=(m|0)==0?I+(l<<2)|0:I}else{i=j+((O(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;l=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;k=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|N>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);while(1){j=j+-1|0;c[i>>2]=k;if(!j)break;else i=i+(l<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;v=i+((m|0)!=0&1)|0;if((v|0)<=0)return;w=a+16|0;x=K+12|0;y=K+16|0;z=K+20|0;A=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[22432+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[22432+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[22432+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[22432+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(O(c[w>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;c[j>>2]=((((O(d[r+((c[y>>2]&K)>>>m)>>0]|0,I)|0)>>>0)/255|0)+M|0)>>>g<<m|((((O(d[q+((c[x>>2]&K)>>>a)>>0]|0,I)|0)>>>0)/255|0)+N|0)>>>n<<a|((((O(d[s+((c[z>>2]&K)>>>u)>>0]|0,I)|0)>>>0)/255|0)+L|0)>>>f<<u|((((O(d[t+((c[A>>2]&K)>>>h)>>0]|0,I)|0)>>>0)/255|0)+J|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(v|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;v=i+((m|0)!=0&1)|0;if((v|0)<=0)return;w=a+16|0;x=K+12|0;y=K+16|0;z=K+20|0;A=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[22432+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[22432+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[22432+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[22432+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(O(c[w>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;J=(d[q+((c[x>>2]&K)>>>a)>>0]|0)+N|0;I=(d[r+((c[y>>2]&K)>>>m)>>0]|0)+M|0;b=(d[s+((c[z>>2]&K)>>>u)>>0]|0)+L|0;c[j>>2]=(I>>>0<255?I:255)>>>g<<m|(J>>>0<255?J:255)>>>n<<a|(b>>>0<255?b:255)>>>f<<u|(d[t+((c[A>>2]&K)>>>h)>>0]|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(v|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){G=i<<1;h=1;l=0;k=i-j|0;H=G;G=G-j|0;i=j}else{G=j<<1;h=0;l=1;k=j-i|0;H=G;G=G-i|0}F=k<<1;E=(f|0)<(b|0);D=E?0-l|0:l;E=E?-1:1;B=(g|0)<(e|0);C=B?0-h|0:h;B=B?-1:1;v=i+((m|0)!=0&1)|0;if((v|0)<=0)return;w=a+16|0;x=K+12|0;y=K+16|0;z=K+20|0;A=K+24|0;p=c[a+20>>2]|0;n=d[K+28>>0]|0;q=c[22432+(n<<2)>>2]|0;g=d[K+29>>0]|0;r=c[22432+(g<<2)>>2]|0;f=d[K+30>>0]|0;s=c[22432+(f<<2)>>2]|0;o=d[K+31>>0]|0;t=c[22432+(o<<2)>>2]|0;a=d[K+32>>0]|0;m=d[K+33>>0]|0;u=d[K+34>>0]|0;h=d[K+35>>0]|0;k=b;l=0;i=G;while(1){j=p+(O(c[w>>2]|0,e)|0)+(k<<2)|0;K=c[j>>2]|0;c[j>>2]=(((O(d[r+((c[y>>2]&K)>>>m)>>0]|0,M)|0)>>>0)/255|0)>>>g<<m|(((O(d[q+((c[x>>2]&K)>>>a)>>0]|0,N)|0)>>>0)/255|0)>>>n<<a|(((O(d[s+((c[z>>2]&K)>>>u)>>0]|0,L)|0)>>>0)/255|0)>>>f<<u|(d[t+((c[A>>2]&K)>>>h)>>0]|0)>>>o<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(v|0))break;else{e=e+(j?C:B)|0;k=(j?D:E)+k|0;i=(j?H:F)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;t=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;t=i;i=i-j|0}s=l<<1;r=(f|0)<(b|0);q=r?0-h|0:h;r=r?-1:1;o=(g|0)<(e|0);p=o?0-n|0:n;o=o?-1:1;g=j+((m|0)!=0&1)|0;if((g|0)<=0)return;f=c[a+20>>2]|0;n=a+16|0;h=M>>>(d[K+29>>0]|0)<<(d[K+33>>0]|0)|N>>>(d[K+28>>0]|0)<<(d[K+32>>0]|0)|L>>>(d[K+30>>0]|0)<<(d[K+34>>0]|0)|J>>>(d[K+31>>0]|0)<<(d[K+35>>0]|0);k=b;l=0;while(1){c[f+(O(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;j=(i|0)<0;l=l+1|0;if((l|0)>=(g|0))break;else{e=e+(j?p:o)|0;k=(j?q:r)+k|0;i=(j?t:s)+i|0}}return}}}function d$(a,b,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;H=c[a+4>>2]|0;i=i&255;j=j&255;k=k&255;l=l&255;if((h+-1|0)>>>0<2){J=((O(l,i)|0)>>>0)/255|0;I=((O(l,j)|0)>>>0)/255|0;K=((O(l,k)|0)>>>0)/255|0}else{J=i;I=j;K=k}G=l^255;if((g|0)==(e|0))switch(h|0){case 1:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){t=i+(f<<2)|0;t=j?t:t+4|0;i=b-f|0}else{t=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,G)|0)>>>0)/255|0)+I|0)>>>e<<s|((((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,G)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,G)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+4|0}return}case 2:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){t=i+(f<<2)|0;t=j?t:t+4|0;i=b-f|0}else{t=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(d[n+((c[m>>2]&H)>>>r)>>0]|0)+J|0;G=(d[g+((c[o>>2]&H)>>>s)>>0]|0)+I|0;H=(d[f+((c[p>>2]&H)>>>k)>>0]|0)+K|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+4|0}return}case 4:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;j=(m|0)!=0;if((f|0)<(b|0)){t=i+(f<<2)|0;t=j?t:t+4|0;i=b-f|0}else{t=i+(b<<2)|0;i=f-b|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,I)|0)>>>0)/255|0)>>>e<<s|(((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,J)|0)>>>0)/255|0)>>>l<<r;H=(((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,K)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+4|0}return}default:{i=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0,g)|0)<<2)|0;k=(m|0)!=0;if((f|0)<(b|0)){i=i+(f<<2)|0;i=k?i:i+4|0;j=b-f|0}else{i=i+(b<<2)|0;j=f-b|0}j=j+(k&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+4|0}return}}if((f|0)==(b|0))switch(h|0){case 1:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){t=i+((O(u,g)|0)<<2)+(f<<2)|0;t=j?t:t+(u<<2)|0;i=e-g|0}else{t=i+((O(u,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,G)|0)>>>0)/255|0)+I|0)>>>e<<s|((((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,G)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,G)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(u<<2)|0}return}case 2:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){t=i+((O(u,g)|0)<<2)+(f<<2)|0;t=j?t:t+(u<<2)|0;i=e-g|0}else{t=i+((O(u,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(d[n+((c[m>>2]&H)>>>r)>>0]|0)+J|0;G=(d[g+((c[o>>2]&H)>>>s)>>0]|0)+I|0;H=(d[f+((c[p>>2]&H)>>>k)>>0]|0)+K|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+(u<<2)|0}return}case 4:{u=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;j=(m|0)!=0;if((g|0)<(e|0)){t=i+((O(u,g)|0)<<2)+(f<<2)|0;t=j?t:t+(u<<2)|0;i=e-g|0}else{t=i+((O(u,e)|0)<<2)+(f<<2)|0;i=g-e|0}j=i+(j&1)|0;if(!j)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;i=t;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,I)|0)>>>0)/255|0)>>>e<<s|(((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,J)|0)>>>0)/255|0)>>>l<<r;H=(((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,K)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(u<<2)|0}return}default:{h=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;i=c[a+20>>2]|0;k=(m|0)!=0;if((g|0)<(e|0)){i=i+((O(h,g)|0)<<2)+(f<<2)|0;i=k?i:i+(h<<2)|0;j=e-g|0}else{i=i+((O(h,e)|0)<<2)+(f<<2)|0;j=g-e|0}j=j+(k&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+(h<<2)|0}return}}F=b-f|0;i=e-g|0;if((((F|0)<0?0-F|0:F)|0)==(((i|0)<0?0-i|0:i)|0))switch(h|0){case 1:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((O(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;j=i;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=((((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,G)|0)>>>0)/255|0)+I|0)>>>e<<s|((((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,G)|0)>>>0)/255|0)+J|0)>>>l<<r;H=((((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,G)|0)>>>0)/255|0)+K|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(t<<2)|0}return}case 2:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((O(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;j=i;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=(d[n+((c[m>>2]&H)>>>r)>>0]|0)+J|0;G=(d[g+((c[o>>2]&H)>>>s)>>0]|0)+I|0;H=(d[f+((c[p>>2]&H)>>>k)>>0]|0)+K|0;c[i>>2]=(G>>>0<255?G:255)>>>e<<s|(b>>>0<255?b:255)>>>l<<r|c[q>>2]|(H>>>0<255?H:255)>>>h<<k;if(!j)break;else i=i+(t<<2)|0}return}case 4:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){u=j+((O(k,g)|0)<<2)+(f<<2)|0;t=k+((f|0)>(b|0)?-1:1)|0;u=(m|0)==0?u+(t<<2)|0:u}else{u=j+((O(k,e)|0)<<2)+(b<<2)|0;i=g-e|0;t=k+((f|0)<(b|0)?-1:1)|0}i=i+((m|0)!=0&1)|0;if(!i)return;m=H+12|0;o=H+16|0;p=H+20|0;q=H+24|0;l=d[H+28>>0]|0;n=c[22432+(l<<2)>>2]|0;e=d[H+29>>0]|0;g=c[22432+(e<<2)>>2]|0;h=d[H+30>>0]|0;f=c[22432+(h<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;k=d[H+34>>0]|0;j=i;i=u;while(1){j=j+-1|0;H=c[i>>2]|0;b=(((O(d[g+((c[o>>2]&H)>>>s)>>0]|0,I)|0)>>>0)/255|0)>>>e<<s|(((O(d[n+((c[m>>2]&H)>>>r)>>0]|0,J)|0)>>>0)/255|0)>>>l<<r;H=(((O(d[f+((c[p>>2]&H)>>>k)>>0]|0,K)|0)>>>0)/255|0)>>>h<<k;c[i>>2]=b|c[q>>2]|H;if(!j)break;else i=i+(t<<2)|0}return}default:{k=(c[a+16>>2]|0)/(d[H+9>>0]|0|0)|0;j=c[a+20>>2]|0;if((g|0)<(e|0)){G=j+((O(k,g)|0)<<2)+(f<<2)|0;h=k+((f|0)>(b|0)?-1:1)|0;j=i;i=(m|0)==0?G+(h<<2)|0:G}else{i=j+((O(k,e)|0)<<2)+(b<<2)|0;j=g-e|0;h=k+((f|0)<(b|0)?-1:1)|0}j=j+((m|0)!=0&1)|0;if(!j)return;e=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);l=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);k=H+24|0;while(1){j=j+-1|0;c[i>>2]=e|c[k>>2]|l;if(!j)break;else i=i+(h<<2)|0}return}}else switch(h|0){case 1:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;t=i+((m|0)!=0&1)|0;if((t|0)<=0)return;u=a+16|0;v=H+12|0;w=H+16|0;x=H+20|0;y=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[22432+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[22432+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[22432+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(O(c[u>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=((((O(d[p+((c[w>>2]&H)>>>s)>>0]|0,G)|0)>>>0)/255|0)+I|0)>>>g<<s|((((O(d[o+((c[v>>2]&H)>>>r)>>0]|0,G)|0)>>>0)/255|0)+J|0)>>>n<<r;H=((((O(d[q+((c[x>>2]&H)>>>h)>>0]|0,G)|0)>>>0)/255|0)+K|0)>>>f<<h;c[j>>2]=b|c[y>>2]|H;j=(i|0)<0;l=l+1|0;if((l|0)>=(t|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}case 2:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;t=i+((m|0)!=0&1)|0;if((t|0)<=0)return;u=a+16|0;v=H+12|0;w=H+16|0;x=H+20|0;y=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[22432+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[22432+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[22432+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(O(c[u>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=(d[o+((c[v>>2]&H)>>>r)>>0]|0)+J|0;G=(d[p+((c[w>>2]&H)>>>s)>>0]|0)+I|0;H=(d[q+((c[x>>2]&H)>>>h)>>0]|0)+K|0;c[j>>2]=(G>>>0<255?G:255)>>>g<<s|(b>>>0<255?b:255)>>>n<<r|c[y>>2]|(H>>>0<255?H:255)>>>f<<h;j=(i|0)<0;l=l+1|0;if((l|0)>=(t|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}case 4:{i=f-b|0;i=(i|0)<0?0-i|0:i;j=g-e|0;j=(j|0)<0?0-j|0:j;if((i|0)<(j|0)){E=i<<1;h=1;l=0;k=i-j|0;F=E;E=E-j|0;i=j}else{E=j<<1;h=0;l=1;k=j-i|0;F=E;E=E-i|0}D=k<<1;C=(f|0)<(b|0);B=C?0-l|0:l;C=C?-1:1;z=(g|0)<(e|0);A=z?0-h|0:h;z=z?-1:1;t=i+((m|0)!=0&1)|0;if((t|0)<=0)return;u=a+16|0;v=H+12|0;w=H+16|0;x=H+20|0;y=H+24|0;m=c[a+20>>2]|0;n=d[H+28>>0]|0;o=c[22432+(n<<2)>>2]|0;g=d[H+29>>0]|0;p=c[22432+(g<<2)>>2]|0;f=d[H+30>>0]|0;q=c[22432+(f<<2)>>2]|0;r=d[H+32>>0]|0;s=d[H+33>>0]|0;h=d[H+34>>0]|0;k=b;l=0;i=E;while(1){j=m+(O(c[u>>2]|0,e)|0)+(k<<2)|0;H=c[j>>2]|0;b=(((O(d[p+((c[w>>2]&H)>>>s)>>0]|0,I)|0)>>>0)/255|0)>>>g<<s|(((O(d[o+((c[v>>2]&H)>>>r)>>0]|0,J)|0)>>>0)/255|0)>>>n<<r;H=(((O(d[q+((c[x>>2]&H)>>>h)>>0]|0,K)|0)>>>0)/255|0)>>>f<<h;c[j>>2]=b|c[y>>2]|H;j=(i|0)<0;l=l+1|0;if((l|0)>=(t|0))break;else{e=e+(j?A:z)|0;k=(j?B:C)+k|0;i=(j?F:D)+i|0}}return}default:{j=f-b|0;j=(j|0)<0?0-j|0:j;k=g-e|0;k=(k|0)<0?0-k|0:k;if((j|0)<(k|0)){i=j<<1;n=1;h=0;l=j-k|0;u=i;i=i-k|0;j=k}else{i=k<<1;n=0;h=1;l=k-j|0;u=i;i=i-j|0}t=l<<1;s=(f|0)<(b|0);r=s?0-h|0:h;s=s?-1:1;p=(g|0)<(e|0);q=p?0-n|0:n;p=p?-1:1;m=j+((m|0)!=0&1)|0;if((m|0)<=0)return;o=c[a+20>>2]|0;f=a+16|0;g=I>>>(d[H+29>>0]|0)<<(d[H+33>>0]|0)|J>>>(d[H+28>>0]|0)<<(d[H+32>>0]|0);n=K>>>(d[H+30>>0]|0)<<(d[H+34>>0]|0);h=H+24|0;k=b;l=0;while(1){j=o+(O(c[f>>2]|0,e)|0)+(k<<2)|0;c[j>>2]=g|c[h>>2]|n;j=(i|0)<0;l=l+1|0;if((l|0)>=(m|0))break;else{e=e+(j?q:p)|0;k=(j?r:s)+k|0;i=(j?u:t)+i|0}}return}}}function e$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+48|0;i=B+32|0;k=B+24|0;j=B+16|0;h=B+8|0;g=B;if(!a){c[g>>2]=393590;vV(406140,g);f=0;l=B;return f|0}if(!b){c[h>>2]=393595;vV(406140,h);f=0;l=B;return f|0}if(!d){c[j>>2]=393598;vV(406140,j);f=0;l=B;return f|0}if(!e){c[k>>2]=393601;vV(406140,k);f=0;l=B;return f|0}if(!f){c[i>>2]=393604;vV(406140,i);f=0;l=B;return f|0}j=c[a+8>>2]|0;if((j|0)<1){f=0;l=B;return f|0}k=c[a+12>>2]|0;if((k|0)<1){f=0;l=B;return f|0}t=c[b>>2]|0;g=c[d>>2]|0;h=c[e>>2]|0;i=c[f>>2]|0;z=c[a>>2]|0;y=c[a+4>>2]|0;w=j+z|0;x=w+-1|0;u=k+y|0;v=u+-1|0;p=(t|0)<(z|0);n=(t|0)>=(w|0);o=p|n;q=(h|0)<(z|0);r=(h|0)<(w|0);j=r^1;a=(g|0)<(y|0);k=(g|0)>=(u|0);s=(i|0)<(y|0);m=(i|0)<(u|0);if(m&((s|(k|(a|(q|o|j))))^1)){f=1;l=B;return f|0}if(p&q){f=0;l=B;return f|0}if(!((m|k^1)&((a&s|n&j)^1))){f=0;l=B;return f|0}if((g|0)==(i|0)){if(o)c[b>>2]=p?z:x;if(!(q|j)){f=1;l=B;return f|0}c[e>>2]=q?z:x;f=1;l=B;return f|0}if((t|0)==(h|0)){if(a|k)c[d>>2]=a?y:v;if(!(s|m^1)){f=1;l=B;return f|0}c[f>>2]=s?y:v;f=1;l=B;return f|0}j=a?2:k&1;if(p)k=j|4;else k=(w|0)>(t|0)?j:j|8;a=s?2:(u|0)<=(i|0)&1;a=q?a|4:r?a:a|8;a:do if(!(a|k))j=t;else{n=0;o=0;j=t;while(1){r=x-j|0;s=z-j|0;p=v-g|0;q=y-g|0;if(!k){m=o;k=h;break}if(a&k|0){g=0;A=57;break}do if(!(k&2)){if(k&1|0){m=((O(h-j|0,p)|0)/(i-g|0)|0)+j|0;g=v;break}if(k&4|0){m=z;g=((O(s,i-g|0)|0)/(h-j|0)|0)+g|0;break}if(!(k&8)){m=n;g=o;break}m=x;g=((O(r,i-g|0)|0)/(h-j|0)|0)+g|0}else{m=((O(h-j|0,q)|0)/(i-g|0)|0)+j|0;g=y}while(0);j=(y|0)>(g|0)?2:(u|0)<=(g|0)&1;if((z|0)>(m|0))k=j|4;else k=(w|0)>(m|0)?j:j|8;if(!(a|k)){j=m;break a}else{n=m;o=g;j=m}}if((A|0)==57){l=B;return g|0}while(1){do if(!(a&2)){if(a&1|0){h=((O(k-j|0,p)|0)/(i-g|0)|0)+j|0;i=v;break}if(a&4|0){h=z;i=((O(s,i-g|0)|0)/(k-j|0)|0)+g|0;break}if(!(a&8)){h=n;i=m;break}h=x;i=((O(r,i-g|0)|0)/(k-j|0)|0)+g|0}else{h=((O(k-j|0,q)|0)/(i-g|0)|0)+j|0;i=y}while(0);a=(y|0)>(i|0)?2:(u|0)<=(i|0)&1;if((z|0)>(h|0)){n=h;m=i;k=h;a=a|4;continue}if((w|0)<=(h|0)){n=h;m=i;k=h;a=a|8;continue}if(!a)break;else{n=h;m=i;k=h}}}while(0);c[b>>2]=j;c[d>>2]=g;c[e>>2]=h;c[f>>2]=i;f=1;l=B;return f|0}function f$(a,f,g,h,i,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;l=~l&255;switch(h|0){case 1:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;h=e[g>>1]|0;f=(((O(d[386865+(h&31)>>0]|0,l)|0)>>>0)/255|0)+(k&255)|0;a=(((O(d[386865+(h>>>5&31)>>0]|0,l)|0)>>>0)/255|0)+(j&255)|0;l=(((O(d[386865+(h>>>10&31)>>0]|0,l)|0)>>>0)/255|0)+(i&255)|0;break}case 2:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=e[g>>1]|0;l=(d[386865+(f>>>10&31)>>0]|0)+(i&255)|0;a=(d[386865+(f>>>5&31)>>0]|0)+(j&255)|0;f=(d[386865+(f&31)>>0]|0)+(k&255)|0;f=f>>>0<255?f:255;a=a>>>0<255?a:255;l=l>>>0<255?l:255;break}case 4:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;l=e[g>>1]|0;f=((O(d[386865+(l&31)>>0]|0,k&255)|0)>>>0)/255|0;a=((O(d[386865+(l>>>5&31)>>0]|0,j&255)|0)>>>0)/255|0;l=((O(d[386865+(l>>>10&31)>>0]|0,i&255)|0)>>>0)/255|0;break}default:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=k&255;a=j&255;l=i&255}}b[g>>1]=a>>>3<<5|l>>>3<<10|f>>>3;return 0}function g$(a,f,g,h,i,j,k,l){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;l=~l&255;switch(h|0){case 1:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;h=e[g>>1]|0;f=(((O(d[386865+(h&31)>>0]|0,l)|0)>>>0)/255|0)+(k&255)|0;a=(((O(d[386801+(h>>>5&63)>>0]|0,l)|0)>>>0)/255|0)+(j&255)|0;l=(((O(d[386865+(h>>>11)>>0]|0,l)|0)>>>0)/255|0)+(i&255)|0;break}case 2:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=e[g>>1]|0;l=(d[386865+(f>>>11)>>0]|0)+(i&255)|0;a=(d[386801+(f>>>5&63)>>0]|0)+(j&255)|0;f=(d[386865+(f&31)>>0]|0)+(k&255)|0;f=f>>>0<255?f:255;a=a>>>0<255?a:255;l=l>>>0<255?l:255;break}case 4:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;l=e[g>>1]|0;f=((O(d[386865+(l&31)>>0]|0,k&255)|0)>>>0)/255|0;a=((O(d[386801+(l>>>5&63)>>0]|0,j&255)|0)>>>0)/255|0;l=((O(d[386865+(l>>>11)>>0]|0,i&255)|0)>>>0)/255|0;break}default:{g=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,g)|0)+(f<<1)|0;f=k&255;a=j&255;l=i&255}}b[g>>1]=a>>>2<<5|l>>>3<<11|f>>>3;return 0}function h$(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;i=~i&255;switch(e|0){case 1:{e=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;b=c[e>>2]|0;h=(((O(b&255,i)|0)>>>0)/255|0)+(h&255)|0;d=(((O(b>>>8&255,i)|0)>>>0)/255|0)+(g&255)|0;g=(((O(b>>>16&255,i)|0)>>>0)/255|0)+(f&255)|0;g=g<<16;f=d<<8;g=f|g;h=g|h;c[e>>2]=h;return 0}case 2:{d=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;b=c[d>>2]|0;f=(b>>>16&255)+(f&255)|0;e=(b>>>8&255)+(g&255)|0;g=(b&255)+(h&255)|0;h=d;g=g>>>0<255?g:255;e=e>>>0<255?e:255;f=f>>>0<255?f:255;f=f<<16;e=e<<8;f=e|f;g=f|g;c[h>>2]=g;return 0}case 4:{e=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;b=c[e>>2]|0;h=((O(b&255,h&255)|0)>>>0)/255|0;d=((O(b>>>8&255,g&255)|0)>>>0)/255|0;g=((O(b>>>16&255,f&255)|0)>>>0)/255|0;g=g<<16;f=d<<8;g=f|g;h=g|h;c[e>>2]=h;return 0}default:{e=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;h=h&255;d=g&255;g=f&255;g=g<<16;f=d<<8;g=f|g;h=g|h;c[e>>2]=h;return 0}}return 0}function i$(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;i=i&255;k=i^255;switch(e|0){case 1:{a=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;d=c[a>>2]|0;j=(((O(d>>>16&255,k)|0)>>>0)/255|0)+(f&255)|0;f=(((O(d&255,k)|0)>>>0)/255|0)+(h&255)|0;e=(((O(d>>>8&255,k)|0)>>>0)/255|0)+(g&255)|0;i=(((O(d>>>24,k)|0)>>>0)/255|0)+i<<24;break}case 2:{a=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;i=c[a>>2]|0;j=(i>>>16&255)+(f&255)|0;e=(i>>>8&255)+(g&255)|0;f=(i&255)+(h&255)|0;j=j>>>0<255?j:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;i=i&-16777216;break}case 4:{a=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;i=c[a>>2]|0;j=((O(i>>>16&255,f&255)|0)>>>0)/255|0;f=((O(i&255,h&255)|0)>>>0)/255|0;e=((O(i>>>8&255,g&255)|0)>>>0)/255|0;i=i&-16777216;break}default:{j=f&255;a=(c[a+20>>2]|0)+(O(c[a+16>>2]|0,d)|0)+(b<<2)|0;f=h&255;e=g&255;i=i<<24}}c[a>>2]=i|j<<16|e<<8|f;return 0}function j$(f,g,h,i,j,k,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+16|0;o=q;p=c[f+4>>2]|0;n=~n&255;switch(a[p+9>>0]|0){case 2:{switch(i|0){case 1:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<1)|0;r=d[p+28>>0]|0;h=e[g>>1]|0;f=d[p+32>>0]|0;t=d[p+29>>0]|0;s=d[p+33>>0]|0;i=d[p+30>>0]|0;o=d[p+34>>0]|0;f=((((O(d[(c[22432+(t<<2)>>2]|0)+((c[p+16>>2]&h)>>>s)>>0]|0,n)|0)>>>0)/255|0)+(k&255)|0)>>>t<<s|((((O(d[(c[22432+(r<<2)>>2]|0)+((h&c[p+12>>2])>>>f)>>0]|0,n)|0)>>>0)/255|0)+(j&255)|0)>>>r<<f;n=((((O(d[(c[22432+(i<<2)>>2]|0)+((c[p+20>>2]&h)>>>o)>>0]|0,n)|0)>>>0)/255|0)+(m&255)|0)>>>i<<o;break}case 2:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<1)|0;r=d[p+28>>0]|0;s=e[g>>1]|0;f=d[p+32>>0]|0;i=d[p+29>>0]|0;o=d[p+33>>0]|0;t=d[p+30>>0]|0;n=d[p+34>>0]|0;j=(d[(c[22432+(r<<2)>>2]|0)+((s&c[p+12>>2])>>>f)>>0]|0)+(j&255)|0;k=(d[(c[22432+(i<<2)>>2]|0)+((c[p+16>>2]&s)>>>o)>>0]|0)+(k&255)|0;s=(d[(c[22432+(t<<2)>>2]|0)+((c[p+20>>2]&s)>>>n)>>0]|0)+(m&255)|0;f=(k>>>0<255?k:255)>>>i<<o|(j>>>0<255?j:255)>>>r<<f;n=(s>>>0<255?s:255)>>>t<<n;break}case 4:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<1)|0;r=d[p+28>>0]|0;s=e[g>>1]|0;f=d[p+32>>0]|0;i=d[p+29>>0]|0;o=d[p+33>>0]|0;t=d[p+30>>0]|0;n=d[p+34>>0]|0;f=(((O(d[(c[22432+(i<<2)>>2]|0)+((c[p+16>>2]&s)>>>o)>>0]|0,k&255)|0)>>>0)/255|0)>>>i<<o|(((O(d[(c[22432+(r<<2)>>2]|0)+((s&c[p+12>>2])>>>f)>>0]|0,j&255)|0)>>>0)/255|0)>>>r<<f;n=(((O(d[(c[22432+(t<<2)>>2]|0)+((c[p+20>>2]&s)>>>n)>>0]|0,m&255)|0)>>>0)/255|0)>>>t<<n;break}default:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<1)|0;f=(k&255)>>>(d[p+29>>0]|0)<<d[p+33>>0]|(j&255)>>>(d[p+28>>0]|0)<<d[p+32>>0];n=(m&255)>>>(d[p+30>>0]|0)<<d[p+34>>0]}}b[g>>1]=f|n|c[p+24>>2];t=0;l=q;return t|0}case 4:{switch(i|0){case 1:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<2)|0;o=d[p+28>>0]|0;r=c[g>>2]|0;f=d[p+32>>0]|0;h=d[p+29>>0]|0;i=d[p+33>>0]|0;s=d[p+30>>0]|0;t=d[p+34>>0]|0;f=((((O(d[(c[22432+(h<<2)>>2]|0)+((c[p+16>>2]&r)>>>i)>>0]|0,n)|0)>>>0)/255|0)+(k&255)|0)>>>h<<i|((((O(d[(c[22432+(o<<2)>>2]|0)+((c[p+12>>2]&r)>>>f)>>0]|0,n)|0)>>>0)/255|0)+(j&255)|0)>>>o<<f;n=((((O(d[(c[22432+(s<<2)>>2]|0)+((c[p+20>>2]&r)>>>t)>>0]|0,n)|0)>>>0)/255|0)+(m&255)|0)>>>s<<t;break}case 2:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<2)|0;r=d[p+28>>0]|0;s=c[g>>2]|0;f=d[p+32>>0]|0;i=d[p+29>>0]|0;o=d[p+33>>0]|0;t=d[p+30>>0]|0;n=d[p+34>>0]|0;j=(d[(c[22432+(r<<2)>>2]|0)+((c[p+12>>2]&s)>>>f)>>0]|0)+(j&255)|0;k=(d[(c[22432+(i<<2)>>2]|0)+((c[p+16>>2]&s)>>>o)>>0]|0)+(k&255)|0;s=(d[(c[22432+(t<<2)>>2]|0)+((c[p+20>>2]&s)>>>n)>>0]|0)+(m&255)|0;f=(k>>>0<255?k:255)>>>i<<o|(j>>>0<255?j:255)>>>r<<f;n=(s>>>0<255?s:255)>>>t<<n;break}case 4:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<2)|0;r=d[p+28>>0]|0;s=c[g>>2]|0;f=d[p+32>>0]|0;i=d[p+29>>0]|0;o=d[p+33>>0]|0;t=d[p+30>>0]|0;n=d[p+34>>0]|0;f=(((O(d[(c[22432+(i<<2)>>2]|0)+((c[p+16>>2]&s)>>>o)>>0]|0,k&255)|0)>>>0)/255|0)>>>i<<o|(((O(d[(c[22432+(r<<2)>>2]|0)+((c[p+12>>2]&s)>>>f)>>0]|0,j&255)|0)>>>0)/255|0)>>>r<<f;n=(((O(d[(c[22432+(t<<2)>>2]|0)+((c[p+20>>2]&s)>>>n)>>0]|0,m&255)|0)>>>0)/255|0)>>>t<<n;break}default:{g=(c[f+20>>2]|0)+(O(c[f+16>>2]|0,h)|0)+(g<<2)|0;f=(k&255)>>>(d[p+29>>0]|0)<<d[p+33>>0]|(j&255)>>>(d[p+28>>0]|0)<<d[p+32>>0];n=(m&255)>>>(d[p+30>>0]|0)<<d[p+34>>0]}}c[g>>2]=f|n|c[p+24>>2];t=0;l=q;return t|0}default:{vV(392516,o);t=-1;l=q;return t|0}}return 0}function k$(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=l;l=l+16|0;n=c[b+4>>2]|0;k=k&255;m=k^255;if((a[n+9>>0]|0)!=4){vV(392516,o);n=-1;l=o;return n|0}switch(g|0){case 1:{e=(c[b+20>>2]|0)+(O(c[b+16>>2]|0,f)|0)+(e<<2)|0;s=d[n+28>>0]|0;p=c[e>>2]|0;r=d[n+32>>0]|0;u=d[n+29>>0]|0;t=d[n+33>>0]|0;q=d[n+30>>0]|0;b=d[n+34>>0]|0;f=d[n+31>>0]|0;g=d[n+35>>0]|0;b=((((O(d[(c[22432+(u<<2)>>2]|0)+((c[n+16>>2]&p)>>>t)>>0]|0,m)|0)>>>0)/255|0)+(i&255)|0)>>>u<<t|((((O(d[(c[22432+(s<<2)>>2]|0)+((c[n+12>>2]&p)>>>r)>>0]|0,m)|0)>>>0)/255|0)+(h&255)|0)>>>s<<r|((((O(d[(c[22432+(q<<2)>>2]|0)+((c[n+20>>2]&p)>>>b)>>0]|0,m)|0)>>>0)/255|0)+(j&255)|0)>>>q<<b;k=((((O(d[(c[22432+(f<<2)>>2]|0)+((c[n+24>>2]&p)>>>g)>>0]|0,m)|0)>>>0)/255|0)+k|0)>>>f<<g;break}case 2:{e=(c[b+20>>2]|0)+(O(c[b+16>>2]|0,f)|0)+(e<<2)|0;p=d[n+28>>0]|0;t=c[e>>2]|0;q=d[n+32>>0]|0;g=d[n+29>>0]|0;m=d[n+33>>0]|0;s=d[n+30>>0]|0;b=d[n+34>>0]|0;u=d[n+31>>0]|0;k=d[n+35>>0]|0;h=(d[(c[22432+(p<<2)>>2]|0)+((c[n+12>>2]&t)>>>q)>>0]|0)+(h&255)|0;i=(d[(c[22432+(g<<2)>>2]|0)+((c[n+16>>2]&t)>>>m)>>0]|0)+(i&255)|0;r=(d[(c[22432+(s<<2)>>2]|0)+((c[n+20>>2]&t)>>>b)>>0]|0)+(j&255)|0;b=(i>>>0<255?i:255)>>>g<<m|(h>>>0<255?h:255)>>>p<<q|(r>>>0<255?r:255)>>>s<<b;k=(d[(c[22432+(u<<2)>>2]|0)+((c[n+24>>2]&t)>>>k)>>0]|0)>>>u<<k;break}case 4:{e=(c[b+20>>2]|0)+(O(c[b+16>>2]|0,f)|0)+(e<<2)|0;q=d[n+28>>0]|0;t=c[e>>2]|0;r=d[n+32>>0]|0;m=d[n+29>>0]|0;p=d[n+33>>0]|0;s=d[n+30>>0]|0;b=d[n+34>>0]|0;u=d[n+31>>0]|0;k=d[n+35>>0]|0;b=(((O(d[(c[22432+(m<<2)>>2]|0)+((c[n+16>>2]&t)>>>p)>>0]|0,i&255)|0)>>>0)/255|0)>>>m<<p|(((O(d[(c[22432+(q<<2)>>2]|0)+((c[n+12>>2]&t)>>>r)>>0]|0,h&255)|0)>>>0)/255|0)>>>q<<r|(((O(d[(c[22432+(s<<2)>>2]|0)+((c[n+20>>2]&t)>>>b)>>0]|0,j&255)|0)>>>0)/255|0)>>>s<<b;k=(d[(c[22432+(u<<2)>>2]|0)+((c[n+24>>2]&t)>>>k)>>0]|0)>>>u<<k;break}default:{e=(c[b+20>>2]|0)+(O(c[b+16>>2]|0,f)|0)+(e<<2)|0;b=(i&255)>>>(d[n+29>>0]|0)<<d[n+33>>0]|(h&255)>>>(d[n+28>>0]|0)<<d[n+32>>0]|(j&255)>>>(d[n+30>>0]|0)<<d[n+34>>0];k=k>>>(d[n+31>>0]|0)<<d[n+35>>0]}}c[e>>2]=b|k;u=0;l=o;return u|0}function l$(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;n=y+3|0;o=y+2|0;p=y+1|0;k=y;if((h|0)==(f|0)){k=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,h)|0)<<1)|0;m=(j|0)!=0;if((e|0)>(g|0)){k=k+(g<<1)|0;k=m?k:k+2|0;g=0-g|0}else{k=k+(e<<1)|0;e=0-e|0}e=g+e+(m&1)|0;if(!e){l=y;return}g=i&65535;while(1){e=e+-1|0;b[k>>1]=g;if(!e)break;else k=k+2|0}l=y;return}if((e|0)==(g|0)){n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;m=(j|0)!=0;if((h|0)<(f|0)){k=k+((O(n,h)|0)<<1)+(e<<1)|0;k=m?k:k+(n<<1)|0;g=0-h|0;e=f}else{k=k+((O(n,f)|0)<<1)+(e<<1)|0;g=h;e=0-f|0}e=g+e+(m&1)|0;if(!e){l=y;return}g=i&65535;while(1){e=e+-1|0;b[k>>1]=g;if(!e)break;else k=k+(n<<1)|0}l=y;return}w=e-g|0;m=f-h|0;if((((w|0)<0?0-w|0:w)|0)==(((m|0)<0?0-m|0:m)|0)){n=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((h|0)<(f|0)){k=k+((O(n,h)|0)<<1)+(g<<1)|0;n=n+((g|0)>(e|0)?-1:1)|0;k=(j|0)==0?k+(n<<1)|0:k}else{k=k+((O(n,f)|0)<<1)+(e<<1)|0;m=h-f|0;n=n+((e|0)>(g|0)?-1:1)|0}e=m+((j|0)!=0&1)|0;if(!e){l=y;return}g=i&65535;while(1){e=e+-1|0;b[k>>1]=g;if(!e)break;else k=k+(n<<1)|0}l=y;return}m=c[a+4>>2]|0;Q_(i,m,n,o,p,k);k=c[m+12>>2]|0;o=g-e|0;p=h-f|0;o=(o|0)<0?0-o|0:o;p=(p|0)<0?0-p|0:p;m=(o|0)>=(p|0);a:do if((k|0)<63488){switch(k|0){case 31744:break;default:{x=35;break a}}if(m){v=p<<1;n=0;m=1;k=p-o|0;w=v;v=v-o|0}else{v=o<<1;n=1;m=0;k=o-p|0;w=v;v=v-p|0;o=p}u=k<<1;t=(e|0)>(g|0);s=t?0-m|0:m;t=t?-1:1;q=(h|0)<(f|0);r=q?0-n|0:n;q=q?-1:1;j=o+((j|0)!=0&1)|0;if((j|0)>0){p=i&65535;h=c[a+20>>2]|0;o=c[a+16>>2]|0;n=f;m=0;k=v;while(1){b[h+(O(o,n)|0)+(e<<1)>>1]=p;g=(k|0)<0;m=m+1|0;if((m|0)>=(j|0))break;else{n=n+(g?r:q)|0;e=(g?s:t)+e|0;k=(g?w:u)+k|0}}}}else{switch(k|0){case 63488:break;default:{x=35;break a}}if(m){v=p<<1;n=0;m=1;k=p-o|0;w=v;v=v-o|0}else{v=o<<1;n=1;m=0;k=o-p|0;w=v;v=v-p|0;o=p}u=k<<1;t=(e|0)>(g|0);s=t?0-m|0:m;t=t?-1:1;q=(h|0)<(f|0);r=q?0-n|0:n;q=q?-1:1;j=o+((j|0)!=0&1)|0;if((j|0)>0){p=i&65535;h=c[a+20>>2]|0;o=c[a+16>>2]|0;n=f;m=0;k=v;while(1){b[h+(O(o,n)|0)+(e<<1)>>1]=p;g=(k|0)<0;m=m+1|0;if((m|0)>=(j|0))break;else{n=n+(g?r:q)|0;e=(g?s:t)+e|0;k=(g?w:u)+k|0}}}}while(0);if((x|0)==35){if(m){v=p<<1;n=0;m=1;k=p-o|0;w=v;v=v-o|0}else{v=o<<1;n=1;m=0;k=o-p|0;w=v;v=v-p|0;o=p}u=k<<1;t=(e|0)>(g|0);s=t?0-m|0:m;t=t?-1:1;q=(h|0)<(f|0);r=q?0-n|0:n;q=q?-1:1;j=o+((j|0)!=0&1)|0;if((j|0)>0){p=i&65535;h=c[a+20>>2]|0;o=c[a+16>>2]|0;n=f;m=0;k=v;while(1){b[h+(O(o,n)|0)+(e<<1)>>1]=p;g=(k|0)<0;m=m+1|0;if((m|0)>=(j|0))break;else{n=n+(g?r:q)|0;e=(g?s:t)+e|0;k=(g?w:u)+k|0}}}}l=y;return}function m$(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((h|0)==(f|0)){v=(e|0)>(g|0);b=(c[b+20>>2]|0)+(O((c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0,h)|0)|0;u=(j|0)!=0;t=b+g|0;u6((v?(u?t:t+1|0):b+e|0)|0,i&255|0,(u&1)+(v?e-g|0:g-e|0)|0)|0;return}if((e|0)==(g|0)){m=(c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0;k=c[b+20>>2]|0;l=(j|0)!=0;if((h|0)<(f|0)){k=k+(O(m,h)|0)+e|0;k=l?k:k+m|0;h=0-h|0}else{k=k+(O(m,f)|0)+e|0;f=0-f|0}f=h+f+(l&1)|0;if(!f)return;h=i&255;while(1){f=f+-1|0;a[k>>0]=h;if(!f)break;else k=k+m|0}return}v=e-g|0;l=f-h|0;if((((v|0)<0?0-v|0:v)|0)==(((l|0)<0?0-l|0:l)|0)){m=(c[b+16>>2]|0)/(d[(c[b+4>>2]|0)+9>>0]|0|0)|0;k=c[b+20>>2]|0;if((h|0)<(f|0)){k=k+(O(m,h)|0)+g|0;e=m+((g|0)>(e|0)?-1:1)|0;f=l;k=(j|0)==0?k+e|0:k;l=e}else{k=k+(O(m,f)|0)+e|0;f=h-f|0;l=m+((e|0)>(g|0)?-1:1)|0}f=f+((j|0)!=0&1)|0;if(!f)return;h=i&255;while(1){f=f+-1|0;a[k>>0]=h;if(!f)break;else k=k+l|0}return}else{k=g-e|0;k=(k|0)<0?0-k|0:k;l=h-f|0;l=(l|0)<0?0-l|0:l;if((k|0)<(l|0)){u=k<<1;o=1;n=0;m=k-l|0;v=u;u=u-l|0;k=l}else{u=l<<1;o=0;n=1;m=l-k|0;v=u;u=u-k|0}t=m<<1;s=(e|0)>(g|0);r=s?0-n|0:n;s=s?-1:1;p=(h|0)<(f|0);q=p?0-o|0:o;p=p?-1:1;j=k+((j|0)!=0&1)|0;if((j|0)<=0)return;o=i&255;g=b+20|0;n=b+16|0;l=e;m=0;k=u;while(1){a[(c[g>>2]|0)+(O(c[n>>2]|0,f)|0)+l>>0]=o;h=(k|0)<0;m=m+1|0;if((m|0)>=(j|0))break;else{f=f+(h?q:p)|0;l=(h?r:s)+l|0;k=(h?v:t)+k|0}}return}}function n$(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;m=w+3|0;n=w+2|0;o=w+1|0;k=w;if((g|0)==(e|0)){j=(c[a+20>>2]|0)+((O((c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0,g)|0)<<2)|0;k=(i|0)!=0;if((b|0)>(f|0)){j=j+(f<<2)|0;j=k?j:j+4|0;f=0-f|0;e=b}else{j=j+(b<<2)|0;e=0-b|0}e=f+e+(k&1)|0;if(!e){l=w;return}while(1){e=e+-1|0;c[j>>2]=h;if(!e)break;else j=j+4|0}l=w;return}if((b|0)==(f|0)){m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;j=c[a+20>>2]|0;k=(i|0)!=0;if((g|0)<(e|0)){j=j+((O(m,g)|0)<<2)+(b<<2)|0;j=k?j:j+(m<<2)|0;f=0-g|0}else{j=j+((O(m,e)|0)<<2)+(b<<2)|0;f=g;e=0-e|0}e=f+e+(k&1)|0;if(!e){l=w;return}while(1){e=e+-1|0;c[j>>2]=h;if(!e)break;else j=j+(m<<2)|0}l=w;return}v=b-f|0;j=e-g|0;if((((v|0)<0?0-v|0:v)|0)==(((j|0)<0?0-j|0:j)|0)){m=(c[a+16>>2]|0)/(d[(c[a+4>>2]|0)+9>>0]|0|0)|0;k=c[a+20>>2]|0;if((g|0)<(e|0)){e=k+((O(m,g)|0)<<2)+(f<<2)|0;f=m+((f|0)>(b|0)?-1:1)|0;e=(i|0)==0?e+(f<<2)|0:e}else{a=k+((O(m,e)|0)<<2)+(b<<2)|0;j=g-e|0;e=a;f=m+((b|0)>(f|0)?-1:1)|0}j=j+((i|0)!=0&1)|0;if(!j){l=w;return}while(1){j=j+-1|0;c[e>>2]=h;if(!j)break;else e=e+(f<<2)|0}l=w;return}p=c[a+4>>2]|0;Q_(h,p,m,n,o,k);n=f-b|0;o=g-e|0;n=(n|0)<0?0-n|0:n;o=(o|0)<0?0-o|0:o;j=(n|0)>=(o|0);do if((c[p+12>>2]|0)==16711680)if(!(c[p+24>>2]|0)){if(j){u=o<<1;m=0;k=1;j=o-n|0;v=u;u=u-n|0}else{u=n<<1;m=1;k=0;j=n-o|0;v=u;u=u-o|0;n=o}t=j<<1;s=(b|0)>(f|0);r=s?0-k|0:k;s=s?-1:1;g=(g|0)<(e|0);q=g?0-m|0:m;g=g?-1:1;o=n+((i|0)!=0&1)|0;if((o|0)<=0)break;p=c[a+20>>2]|0;n=a+16|0;k=b;m=0;j=u;while(1){c[p+(O(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;f=(j|0)<0;m=m+1|0;if((m|0)>=(o|0))break;else{e=e+(f?q:g)|0;k=(f?r:s)+k|0;j=(f?v:t)+j|0}}}else{if(j){u=o<<1;m=0;k=1;j=o-n|0;v=u;u=u-n|0}else{u=n<<1;m=1;k=0;j=n-o|0;v=u;u=u-o|0;n=o}t=j<<1;s=(b|0)>(f|0);r=s?0-k|0:k;s=s?-1:1;g=(g|0)<(e|0);q=g?0-m|0:m;g=g?-1:1;o=n+((i|0)!=0&1)|0;if((o|0)<=0)break;p=c[a+20>>2]|0;n=a+16|0;k=b;m=0;j=u;while(1){c[p+(O(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;f=(j|0)<0;m=m+1|0;if((m|0)>=(o|0))break;else{e=e+(f?q:g)|0;k=(f?r:s)+k|0;j=(f?v:t)+j|0}}}else{if(j){u=o<<1;m=0;k=1;j=o-n|0;v=u;u=u-n|0}else{u=n<<1;m=1;k=0;j=n-o|0;v=u;u=u-o|0;n=o}t=j<<1;s=(b|0)>(f|0);r=s?0-k|0:k;s=s?-1:1;g=(g|0)<(e|0);q=g?0-m|0:m;g=g?-1:1;o=n+((i|0)!=0&1)|0;if((o|0)>0){p=c[a+20>>2]|0;n=a+16|0;k=b;m=0;j=u;while(1){c[p+(O(c[n>>2]|0,e)|0)+(k<<2)>>2]=h;f=(j|0)<0;m=m+1|0;if((m|0)>=(o|0))break;else{e=e+(f?q:g)|0;k=(f?r:s)+k|0;j=(f?v:t)+j|0}}}}while(0);l=w;return}function o$(){return 1}function p$(a){a=a|0;var b=0;b=l;l=l+16|0;a=B2(688)|0;if(!a){vV(392416,b);a=0;l=b;return a|0}if(c[a+-4>>2]&3|0)u6(a|0,0,688)|0;q$(393967,394e3);c[a+4>>2]=423;c[a+8>>2]=309;c[a+28>>2]=35;c[a+204>>2]=310;c[a+32>>2]=173;c[a+40>>2]=219;c[a+52>>2]=220;c[a+128>>2]=221;c[a+112>>2]=30;c[a+132>>2]=19;c[a+136>>2]=21;c[a+140>>2]=222;c[a+164>>2]=174;c[a+168>>2]=175;c[a+172>>2]=311;c[a+176>>2]=176;c[a+180>>2]=36;c[a+188>>2]=177;c[a+192>>2]=424;c[a+196>>2]=223;c[a+200>>2]=224;c[a+184>>2]=31;c[a+684>>2]=312;l=b;return a|0}function q$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!((b|0)!=0&(d|0)!=0))return;if(a[b>>0]|0?Of(b|0)|0:0)return;e=c[104300]|0;a:do if(e|0){while(1){if(!(e3(b,c[e>>2]|0)|0))break;e=c[e+16>>2]|0;if(!e)break a}h=e+8|0;if((c[h>>2]|0)>>>0>1)return;i=e+4|0;f=c[i>>2]|0;if(f){if(e3(f,d)|0)g=9}else{f=0;g=9}if((g|0)==9){e=c[e+12>>2]|0;if(!e)e=f;else{g=e;e=f;do{f=g;g=c[g+8>>2]|0;ti[c[f>>2]&63](c[f+4>>2]|0,b,e,d);e=c[i>>2]|0}while((g|0)!=0)}C2(e);c[i>>2]=P4(d)|0}c[h>>2]=1;return}while(0);e=B2(20)|0;if(!e)return;c[e>>2]=P4(b)|0;c[e+4>>2]=P4(d)|0;c[e+8>>2]=1;c[e+12>>2]=0;c[e+16>>2]=c[104300];c[104300]=e;return}function r$(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+32|0;e=f;d=f+12|0;c[d>>2]=370546692;c[d+4>>2]=Qb(8)|0;c[d+8>>2]=Qb(9)|0;c[d+12>>2]=0;c[d+16>>2]=0;if((f0(d)|0)<0){e=-1;l=f;return e|0};c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;g0(c[b+268>>2]|0,d);c[104302]=37;c[104304]=425;c[104306]=313;c[104307]=37;c[104303]=426;c[104309]=427;b=B2(8)|0;do if(!b){vV(392416,f+8|0);b=0}else{if(c[b+-4>>2]&3|0){d=b;g=d;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0}d=B2(8)|0;if(!d){vV(392416,e);C2(b);b=0;break}if(c[d+-4>>2]&3|0){g=d;e=g;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;g=g+4|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0}c[d>>2]=396213;c[d+4>>2]=0;c[b+4>>2]=d}while(0);c[104326]=b;if(c[104327]|0){g=0;l=f;return g|0}if(!b)b=0;else c[104327]=b;d=c[104304]|0;e=(d|0)==0;if((b|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(e){g=0;l=f;return g|0}Rh[d&511](b)|0;g=0;l=f;return g|0}else{if(e){g=0;l=f;return g|0}Rh[d&511](0)|0;g=0;l=f;return g|0}return 0}function s$(a){a=a|0;var b=0,d=0;d=c[104326]|0;if(d|0){b=d+4|0;a=c[b>>2]|0;if(a|0){if(c[a+4>>2]|0){C2(c[a>>2]|0);a=c[b>>2]|0}C2(a)}C2(d)}c[104326]=0;c[104302]=0;c[104304]=0;c[104306]=0;c[104307]=0;c[104303]=0;c[104309]=0;return}function t$(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function u$(a){a=a|0;return}function v$(b,d){b=b|0;d=d|0;var e=0,f=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+48|0;u=w+40|0;t=w+32|0;s=w+24|0;q=w+8|0;r=w;v=B2(40)|0;if(!v){vV(392416,w+16|0);v=-1;l=w;return v|0}if(c[v+-4>>2]&3|0){e=v;f=e+40|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}m=d+48|0;if(!(c[m>>2]&8192))j=1.0;else j=+_b();n=v+12|0;g[n>>2]=j;o=d+24|0;x=+A(+(j*+(c[o>>2]|0)));p=d+28|0;j=+A(+(+(c[p>>2]|0)*j));rf(~~x|0,~~j|0);$b(0,q|0,r|0)|0;k=+h[q>>3];if(+A(+k)!=x)f=1;else f=+A(+(+h[r>>3]))!=j;e=f&1;i=v+16|0;c[i>>2]=e;if(!((c[m>>2]&32|0)==0|f^1)){x=+g[n>>2];rf(~~(k*x)|0,~~(+h[r>>3]*x)|0);WZ(d,5,~~+h[q>>3],~~+h[r>>3]);e=c[i>>2]|0}if((e|0)==0?+g[n>>2]!=1.0:0)sf(0,+(+(c[o>>2]|0)),+(+(c[p>>2]|0)))|0;if(c[m>>2]&2|0){a:do if(!(c[b+676>>2]|0)){f=c[104297]|0;if(!f){vV(386054,s);v=-1;l=w;return v|0}e=c[f+388>>2]|0;do if(!e){e=c[f+164>>2]|0;if(!e){vV(392332,t);v=-1;l=w;return v|0}e=Sh[e&255](f,0)|0;i=c[104297]|0;if(!e){f=i;e=c[i+388>>2]|0;break}f=c[i+172>>2]|0;if(f|0)fi[f&511](i);if((e|0)<0)e=-1;else break a;l=w;return e|0}while(0);c[f+388>>2]=e+1}while(0);b=R$(b,0)|0;c[v>>2]=b;if(!b){vV(396009,u);v=-1;l=w;return v|0}}c[v+4>>2]=d;c[d+144>>2]=v;e=c[104313]|0;do if((e|0)!=(d|0)){if(e|0)WZ(e,11,0,0);c[104313]=d;WZ(d,10,0,0);e=(c[104313]|0)==0?c[104326]|0:c[104327]|0;f=c[104304]|0;i=(f|0)==0;if((e|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(i)break;Rh[f&511](e)|0;break}else{if(i)break;Rh[f&511](0)|0;break}}while(0);S$(d);Ff(395821,v|0,0,38)|0;Cf(395821,v|0,0,39)|0;Gf(395829,v|0,0,39)|0;Df(395821,v|0,0,40)|0;Ef(395821,v|0,0,40)|0;Nf(395821,v|0,0,41)|0;tf(395839,v|0,0,42)|0;qf(395839,v|0,0,42)|0;Lf(395821,v|0,0,43)|0;Jf(395821,v|0,0,43)|0;Kf(395821,v|0,0,43)|0;If(395821,v|0,0,43)|0;e=Of(395847)|0;f=c[104300]|0;b:do if(f){while(1){if(!(e3(395847,c[f>>2]|0)|0))break;f=c[f+16>>2]|0;if(!f)break b}if(e|0?(c[f+8>>2]|0)!=2:0)break;e=c[f+4>>2]|0}while(0);d=e|0?e:395839;xf(d|0,v|0,0,44)|0;zf(d|0,v|0,0,44)|0;yf(d|0,v|0,0,45)|0;uf(395829,v|0,0,46)|0;Hf(395839,v|0,0,47)|0;Mf(v|0,0,48)|0;v=0;l=w;return v|0}function w$(a,b){a=a|0;b=b|0;Rb(10,c[b+8>>2]|0)|0;return}function x$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0;h=c[b+144>>2]|0;if(!h)return;if(!(c[b+48>>2]&8192)){e=h+12|0;d=e;f=+g[e>>2]}else{f=+_b();d=h+12|0;g[d>>2]=f}e=b+24|0;a=b+28|0;rf(~~(+(c[e>>2]|0)*f)|0,~~(f*+(c[a>>2]|0))|0);if(c[h+16>>2]|0)return;if(!(+g[d>>2]!=1.0))return;sf(0,+(+(c[e>>2]|0)),+(+(c[a>>2]|0)))|0;return}function y$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+144|0;f=c[e>>2]|0;if(!f)return;Ff(395821,0,0,0)|0;Cf(395821,0,0,0)|0;Gf(395829,0,0,0)|0;Df(395821,0,0,0)|0;Ef(395821,0,0,0)|0;Nf(395821,0,0,0)|0;tf(395839,0,0,0)|0;qf(395839,0,0,0)|0;Lf(395821,0,0,0)|0;Jf(395821,0,0,0)|0;Kf(395821,0,0,0)|0;If(395821,0,0,0)|0;b=Of(395847)|0;d=c[104300]|0;a:do if(d){while(1){if(!(e3(395847,c[d>>2]|0)|0))break;d=c[d+16>>2]|0;if(!d)break a}if(b|0?(c[d+8>>2]|0)!=2:0)break;b=c[d+4>>2]|0}while(0);d=b|0?b:395839;xf(d|0,0,0,0)|0;zf(d|0,0,0,0)|0;yf(d|0,0,0,0)|0;uf(395829,0,0,0)|0;Hf(395839,0,0,0)|0;Mf(0,0,0)|0;d=c[f>>2]|0;if(d|0){b=c[a+676>>2]|0;if(b|0)Sh[c[b+52>>2]&255](c[b+8>>2]|0,d)|0;c[f>>2]=0}C2(c[e>>2]|0);c[e>>2]=0;return}function z$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+32|0;d=g;f=c[b+144>>2]|0;if(!f){l=g;return}if(!e){Yb()|0;l=g;return}a=b+48|0;h=c[a>>2]|0;b=h&4097;e=(b|0)==4097;c[d>>2]=e?1:2;c[d+4>>2]=e?(h>>>13&1)+1|0:0;c[d+8>>2]=0;c[d+12>>2]=49;c[d+16>>2]=f;c[f+20>>2]=b;c[f+24>>2]=e&1;if((of(0,1,d|0)|0)>>>0>1)c[a>>2]=c[a>>2]&-4098;l=g;return}function A$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;g=k+8|0;j=(c[b+144>>2]|0)+8|0;YV(c[j>>2]|0);a=c[104297]|0;do if(a)if((c[b>>2]|0)==(a+280|0)){h=c[b+24>>2]|0;a=c[b+28>>2]|0;break}else{vV(405282,g);h=0;a=0;break}else{vV(386054,k);h=0;a=0}while(0);g=O_(32,255,65280,16711680,0)|0;if(!g){vV(393207,i);f=-1;l=k;return f|0}a=P_(h,a,g)|0;if(!a){f=-1;l=k;return f|0}c[j>>2]=a;c[d>>2]=374740996;c[e>>2]=c[a+20>>2];c[f>>2]=c[a+16>>2];f=0;l=k;return f|0}function B$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=l;l=l+16|0;a=c[(c[b+144>>2]|0)+8>>2]|0;if(!a){vV(394321,d);b=-1;l=d;return b|0}else{Tb(11,c[a+8>>2]|0,c[a+12>>2]|0,c[a+20>>2]|0)|0;b=0;l=d;return b|0}return 0}function C$(a,b){a=a|0;b=b|0;b=(c[b+144>>2]|0)+8|0;YV(c[b>>2]|0);c[b>>2]=0;return}function D$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;e=B2(88)|0;if(!e){c[b+676>>2]=0;vV(392416,j);d=-1;l=j;return d|0}if(c[e+-4>>2]&3|0){f=e;g=f+88|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0))}f=b+676|0;c[f>>2]=e;c[e+20>>2]=428;c[e+24>>2]=50;c[e+28>>2]=429;c[e+32>>2]=430;c[e+36>>2]=20;c[e+72>>2]=22;c[e+40>>2]=23;c[e+44>>2]=178;c[e+48>>2]=24;c[e+52>>2]=179;c[e+56>>2]=25;c[e+60>>2]=180;c[e+64>>2]=181;c[e+76>>2]=431;c[e+80>>2]=9;c[e+84>>2]=432;e=Gb(0)|0;f=c[f>>2]|0;c[f+8>>2]=e;if(!e){vV(394270,h);d=-1;l=j;return d|0}if((Th[c[f+24>>2]&63](e,0,0)|0)!=1){vV(394296,i);d=-1;l=j;return d|0}c[b+388>>2]=1;e=b+392|0;if(!d){a[e>>0]=0;d=0;l=j;return d|0}else{i=r4(d)|0;i=i>>>0<254?i:254;s6(e|0,d|0,i|0)|0;a[b+392+i>>0]=0;d=0;l=j;return d|0}return 0}function E$(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+676|0;b=c[f>>2]|0;e=c[b+32>>2]|0;do if(e){b=Rh[e&511](d)|0;if(!b){b=c[f>>2]|0;break}else{d=b;return d|0}}while(0);b=P$(c[b>>2]|0,d)|0;if(b|0){d=b;return d|0}if((r4(d)|0)>>>0>=1023){d=0;return d|0}a[435503]=95;e=r4(d)|0;e=e>>>0<1021?e:1021;s6(435504,d|0,e|0)|0;a[435504+e>>0]=0;d=P$(c[c[f>>2]>>2]|0,435503)|0;return d|0}function F$(a){a=a|0;var b=0,d=0;d=a+676|0;a=c[d>>2]|0;if(!a)return;b=c[a+8>>2]|0;if(b){Rh[c[a+28>>2]&511](b)|0;a=c[d>>2]|0;c[a+8>>2]=0}b=c[a+4>>2]|0;if(b){wb(b|0)|0;a=c[d>>2]|0;c[a+4>>2]=0}b=c[a>>2]|0;if(b){wb(b|0)|0;a=c[d>>2]|0;c[a>>2]=0}C2(a);c[d>>2]=0;return}function G$(a,b){a=a|0;b=b|0;return O$(a,c[c[b+144>>2]>>2]|0)|0}function H$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;g=h+8|0;f=h;if(!((b|0)!=0&(d|0)!=0)){b=c[a+676>>2]|0;if(!b){vV(394058,e);g=-1;l=h;return g|0}else{Uh[c[b+56>>2]&63](c[b+8>>2]|0,0,0,0)|0;g=0;l=h;return g|0}}e=c[c[b+144>>2]>>2]|0;b=c[a+676>>2]|0;if(!b){vV(394058,f);g=-1;l=h;return g|0}a=c[b+56>>2]|0;b=c[b+8>>2]|0;if(!e){Uh[a&63](b,0,0,0)|0;g=0;l=h;return g|0}if(Uh[a&63](b,e,e,d)|0){g=0;l=h;return g|0}vV(394081,g);g=-1;l=h;return g|0}function I$(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;a=a+676|0;d=c[a>>2]|0;if(!d){vV(394002,e);b=-1;l=e;return b|0}if((Sh[c[d+64>>2]&255](c[d+8>>2]|0,b)|0)==1){c[(c[a>>2]|0)+16>>2]=b;b=0;l=e;return b|0}else{vV(394022,e+8|0);b=-1;l=e;return b|0}return 0}function J$(a){a=a|0;var b=0;b=l;l=l+16|0;a=c[a+676>>2]|0;if(!a){vV(394002,b);a=0;l=b;return a|0}else{a=c[a+16>>2]|0;l=b;return a|0}return 0}function K$(a,b){a=a|0;b=b|0;a=c[a+676>>2]|0;Sh[c[a+60>>2]&255](c[a+8>>2]|0,c[c[b+144>>2]>>2]|0)|0;return}function L$(a,b){a=a|0;b=b|0;var d=0;bg(17664);a=a+676|0;d=c[a>>2]|0;if((b|0)==0|(d|0)==0)return;Uh[c[d+56>>2]&63](c[d+8>>2]|0,0,0,0)|0;d=c[a>>2]|0;Sh[c[d+44>>2]&255](c[d+8>>2]|0,b)|0;return}function M$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b+144>>2]|0;if(!a)return;if(d|0)c[d>>2]=~~(+(c[b+24>>2]|0)*+g[a+12>>2]);if(!e)return;c[e>>2]=~~(+(c[b+28>>2]|0)*+g[a+12>>2]);return}function N$(a){a=a|0;C2(a);return}function O$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+128|0;v=w+32|0;t=w+24|0;s=w+16|0;q=w+8|0;e=w;h=w+112|0;i=w+104|0;j=w+96|0;r=w+36|0;o=c[a+368>>2]|0;p=c[a+356>>2]|0;m=c[a+360>>2]|0;n=(o|0)==4;u=a+676|0;if(!(c[u>>2]|0)){v=0;l=w;return v|0}a:do if(c[a+372>>2]|0){d=c[104297]|0;if(!d){vV(386054,e);e=0;break}k=c[d+664>>2]|0;c[j>>2]=0;g=c[j>>2]|0;c[j>>2]=1;if(g|0){d=h+4|0;e=i+4|0;do{c[h>>2]=0;c[d>>2]=0;f=0;g=0;while(1){c[105438]=0;c[i>>2]=f;c[e>>2]=g;g=(yh(i|0,h|0)|0)!=0;if(!(g&(c[105438]|0)==4))break;f=c[h>>2]|0;g=c[d>>2]|0}g=c[j>>2]|0;c[j>>2]=1}while((g|0)!=0)}c[j>>2]=0;d=c[104298]|0;if(d){while(1){if(!(c[d>>2]|0))break;d=c[d+8>>2]|0;if(!d){e=0;break a}}d=c[d+4>>2]|0;if(!((k|0)==0|(d|0)==0)?(c[d>>2]|0)>>>0>=k>>>0:0)e=c[d+4+(k+-1<<3)>>2]|0;else e=0}else e=0}else e=0;while(0);if((p|0)<3|n&(m|0)==0?(o|4|0)==4&(c[a+364>>2]|0)==0:0){if(n){c[r+4>>2]=(p|0)>1?p:1;c[r+8>>2]=12344;Rh[c[(c[u>>2]|0)+84>>2]&511](12448)|0;d=12440}else{Rh[c[(c[u>>2]|0)+84>>2]&511](12450)|0;d=12344}c[r>>2]=d;d=c[u>>2]|0;d=Uh[c[d+40>>2]&63](c[d+8>>2]|0,c[d+12>>2]|0,e,r)|0;if(!d){vV(394184,s);v=0;l=w;return v|0}e=c[u>>2]|0;c[e+16>>2]=0;do if(e){f=c[e+56>>2]|0;e=c[e+8>>2]|0;if(!b){Uh[f&63](e,0,0,0)|0;v=d;l=w;return v|0}else{if(!(Uh[f&63](e,b,b,d)|0)){e=394081;break}l=w;return d|0}}else e=394058;while(0);vV(e,t);e=c[u>>2]|0;if(e|0){Uh[c[e+56>>2]&63](c[e+8>>2]|0,0,0,0)|0;u=c[u>>2]|0;Sh[c[u+44>>2]&255](c[u+8>>2]|0,d)|0}vV(394213,v);v=0;l=w;return v|0}vV(394116,q);v=0;l=w;return v|0}function P$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;h=i;e=yb(b|0,d|0)|0;if(e|0){h=e;l=i;return h|0}e=r4(d)|0;j=e+2|0;f=l;l=l+((1*j|0)+15&-16)|0;a[f>>0]=95;g=f+1|0;k=r4(d)|0;e=e+1|0;e=k>>>0<e>>>0?k:e;if(j|0){s6(g|0,d|0,e|0)|0;a[g+e>>0]=0}e=yb(b|0,f|0)|0;if(e|0){k=e;l=i;return k|0}k=xb()|0;c[h>>2]=d;c[h+4>>2]=k;vV(394248,h);k=0;l=i;return k|0}function Q$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;a=e+8|0;b=e;if(!(c[d+24>>2]|0)){l=e;return 0}$b(0,a|0,b|0)|0;WZ(c[d+4>>2]|0,5,~~+h[a>>3],~~+h[b>>3]);l=e;return 0}function R$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+800|0;j=p+536|0;k=p+532|0;m=p+528|0;n=p+16|0;c[k>>2]=0;o=a+676|0;g=c[o>>2]|0;if(!g){o=0;l=p;return o|0}c[j>>2]=12324;c[j+4>>2]=c[a+292>>2];c[j+8>>2]=12323;c[j+12>>2]=c[a+296>>2];c[j+16>>2]=12322;c[j+20>>2]=c[a+300>>2];d=c[a+304>>2]|0;if(!d)d=6;else{c[j+24>>2]=12321;c[j+28>>2]=d;d=8}e=c[a+312>>2]|0;f=d|1;if(!e)e=d;else{c[j+(d<<2)>>2]=12320;c[j+(f<<2)>>2]=e;e=f+1|0}c[j+(e<<2)>>2]=12325;d=e+2|0;c[j+(e+1<<2)>>2]=c[a+308>>2];f=c[a+316>>2]|0;if(f){c[j+(d<<2)>>2]=12326;c[j+(e+3<<2)>>2]=f;d=e+4|0}e=c[a+344>>2]|0;if(e){c[j+(d<<2)>>2]=12338;c[j+(d+1<<2)>>2]=e;d=d+2|0}e=c[a+348>>2]|0;if(!e)e=d;else{c[j+(d<<2)>>2]=12337;c[j+(d+1<<2)>>2]=e;e=d+2|0}if(c[a+380>>2]|0){vV(396067,p);o=0;l=p;return o|0}c[j+(e<<2)>>2]=12352;d=c[g+84>>2]|0;if((c[a+368>>2]|0)==4){i=(c[a+356>>2]|0)>1?4:1;Rh[d&511](12448)|0;d=i}else{Rh[d&511](12450)|0;d=8}c[j+(e+1<<2)>>2]=d;c[j+(e+2<<2)>>2]=12344;i=c[o>>2]|0;i=(Wh[c[i+36>>2]&31](c[i+8>>2]|0,j,n,128,k)|0)==0;d=c[k>>2]|0;if(i|(d|0)==0){vV(396128,p+8|0);o=0;l=p;return o|0}if((d|0)>0){d=-1;i=0;do{h=n+(i<<2)|0;a=0;e=0;do{f=c[j+(a<<2)>>2]|0;if((f|0)==12344)break;g=j+((a|1)<<2)|0;if((f+-12321|0)>>>0<6&(c[g>>2]|0)!=-1){q=c[o>>2]|0;Uh[c[q+72>>2]&63](c[q+8>>2]|0,c[h>>2]|0,f,m)|0;e=(c[m>>2]|0)+e-(c[g>>2]|0)|0}a=a+2|0}while(a>>>0<63);if((d|0)==-1|(e|0)<(d|0)){c[(c[o>>2]|0)+12>>2]=c[h>>2];d=e}i=i+1|0}while(e|0?(i|0)<(c[k>>2]|0):0)}q=c[o>>2]|0;q=Uh[c[q+48>>2]&63](c[q+8>>2]|0,c[q+12>>2]|0,b,0)|0;l=p;return q|0}function S$(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;d=c[104594]|0;g=(b|0)!=0;if(!(g|(d|0)==0)){d=0;do{if((a[418382+d>>0]|0)==1)c0(0,d);d=d+1|0}while((d|0)!=512);d=c[104594]|0}do if(!((d|0)==0|(d|0)==(b|0))){e=d+48|0;if(c[e>>2]&16384){d=c[104310]|0;if(d){if((Rh[d&511](0)|0)!=-1)c[e>>2]=c[e>>2]&-16385}else vV(392516,f);d=c[104594]|0}WZ(d,13,0,0);f=c[104334]|0;if(f|0?c[f>>2]&8|0:0)break;d=c[104297]|0;if(d|0?(h=c[d+216>>2]|0,h|0):0)fi[h&511](d)}while(0);c[104594]=b;if(!g){l=i;return}WZ(b,12,0,0);h=c[104334]|0;if(h|0?c[h>>2]&8|0:0){l=i;return}d=c[104297]|0;if(!d){l=i;return}e=c[d+212>>2]|0;if(!e){l=i;return}fi[e&511](d);l=i;return}function T$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;j=l;l=l+288|0;i=j+16|0;k=j+8|0;g=j;$b(0,k|0,g|0)|0;a=d+4|0;d=c[a>>2]|0;e=+(c[d+24>>2]|0)/+h[k>>3];f=+(c[d+28>>2]|0)/+h[g>>3];g=(ec(i|0)|0)==0;i=g?c[i>>2]|0:0;if(!i){g=~~(e*+(c[b+60>>2]|0));d=~~(f*+(c[b+64>>2]|0));a=c[a>>2]|0;if(a){if(!(b_(a,g,d)|0)){l=j;return 0}}else a=0}else{e=+h[51649]+e*+(c[b+44>>2]|0);f=+h[51650]+f*+(c[b+48>>2]|0);g=~~e;h[51649]=e-+(g|0);d=~~f;h[51650]=f-+(d|0);a=c[a>>2]|0}c_(a,0,i,g,d)|0;l=j;return 0}function U$(a,d,e){a=a|0;d=d|0;e=e|0;d=b[d+40>>1]|0;if((d&65535)>=3){e=0;return e|0}a=(a|0)==5;d0(c[e+4>>2]|0,0,a&1,(d&255)+1<<24>>24);e=c[104331]|0;if(e|0?c[e>>2]&1<<(a&1)|0:0){e=0;return e|0}e=1;return e|0}function V$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+288|0;k=j+16|0;e=j+8|0;i=j;f=c[b+60>>2]|0;b=c[b+64>>2]|0;g=ec(k|0)|0;if((c[k>>2]|0)==0|(g|0)!=0){$b(0,e|0,i|0)|0;g=c[d+4>>2]|0;e=~~(+(f|0)*(+(c[g+24>>2]|0)/+h[e>>3]));b=~~(+(b|0)*(+(c[g+28>>2]|0)/+h[i>>3]));if(!((g|0)!=0?!(b_(g,e,b)|0):0))c_(g,0,0,e,b)|0}if((a|0)==33)e=c[d+4>>2]|0;else e=0;b=c[104313]|0;do if((b|0)!=(e|0)){if(b|0)WZ(b,11,0,0);c[104313]=e;if(!e)b=417304;else{WZ(e,10,0,0);b=(c[104313]|0)==0?417304:417308}b=c[b>>2]|0;e=c[104304]|0;f=(e|0)==0;if((b|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(f)break;Rh[e&511](b)|0;break}else{if(f)break;Rh[e&511](0)|0;break}}while(0);k=c[104333]|0;if(k|0?c[k>>2]&1|0:0){k=0;l=j;return k|0}k=1;l=j;return k|0}function W$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+64|0;i=j;a=c[d+4>>2]|0;g=~~+h[b+72>>3];f=~~-+h[b+80>>3];do if(a|0?(e=c[104313]|0,(e|0)!=(a|0)):0){if(e|0)WZ(e,11,0,0);c[104313]=a;WZ(a,10,0,0);a=(c[104313]|0)==0?c[104326]|0:c[104327]|0;d=c[104304]|0;b=(d|0)==0;if((a|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(b)break;Rh[d&511](a)|0;break}else{if(b)break;Rh[d&511](0)|0;break}}while(0);do if(f|g|0){e=c[104335]|0;if(e|0?c[e>>2]&8|0:0)break;c[i>>2]=1027;a=c[104313]|0;if(!a)a=0;else a=c[a+4>>2]|0;c[i+8>>2]=a;c[i+12>>2]=0;c[i+16>>2]=g;c[i+20>>2]=f;c[i+24>>2]=0;c[i+4>>2]=YZ()|0;a=c[104587]|0;if(a|0)do{Sh[c[a>>2]&255](c[a+4>>2]|0,i)|0;a=c[a+8>>2]|0}while((a|0)!=0);if((ZZ(i,1,0,0,0)|0)>=1)_Z(i)}while(0);i=c[104335]|0;if(i|0?c[i>>2]&8|0:0){i=0;l=j;return i|0}i=1;l=j;return i|0}function X$(b,d,e){b=b|0;d=d|0;e=e|0;if((b|0)==12){d=0;do{if((a[418382+d>>0]|0)==1)c0(0,d);d=d+1|0}while((d|0)!=512)}WZ(c[e+4>>2]|0,(b|0)==13?12:13,0,0);e=c[104333]|0;if(e|0?c[e>>2]&1|0:0){e=0;return e|0}e=1;return e|0}function Y$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=l;l=l+112|0;G=I+96|0;m=I+88|0;k=I+80|0;j=I+72|0;D=I+16|0;E=I+8|0;F=I;i=c[105236]|0;a:do if((i|0)>0){e=c[105237]|0;f=0;while(1){C=c[e+(f<<2)>>2]|0;if((c[C>>2]|0)==1&(c[C+4>>2]|0)==0)break;f=f+1|0;if((f|0)>=(i|0)){H=7;break a}}if((f|0)<=-1)H=7}else{e=c[105237]|0;H=7}while(0);if((H|0)==7){e=D2(e,(i<<2)+4|0)|0;if(!e){vV(392416,j);H=0;l=I;return H|0}c[105237]=e;f=c[105236]|0;e=B2(24)|0;c[(c[105237]|0)+(f<<2)>>2]=e;if(!e){vV(392416,k);H=0;l=I;return H|0}c[105236]=(c[105236]|0)+1;C=e;c[C>>2]=1;c[C+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;e=D2(c[104295]|0,((c[104294]|0)*8232|0)+8232|0)|0;if(!e)vV(392416,m);else{c[104295]=e;C=c[104294]|0;u6(e+(C*8232|0)|0,0,8232)|0;B=e+(C*8232|0)|0;c[B>>2]=1;c[B+4>>2]=0;c[104294]=C+1}if((f|0)<0){H=0;l=I;return H|0}}$b(0,E|0,F|0)|0;if((c[b>>2]|0)<=0){H=0;l=I;return H|0}B=d+28|0;C=d+32|0;s=d+4|0;t=D+8|0;u=D+16|0;v=D+24|0;w=D+28|0;x=D+32|0;y=D+36|0;z=D+40|0;A=D+4|0;r=0;e=0;do{b:do if(c[b+20+(r*52|0)+28>>2]|0){m=c[b+20+(r*52|0)>>2]|0;d=((m|0)<0)<<31>>31;p=+(c[b+20+(r*52|0)+44>>2]|0)/+h[E>>3];q=+(c[b+20+(r*52|0)+48>>2]|0)/+h[F>>3];f=(c[B>>2]|0)!=0;switch(a|0){case 22:{if(!f){c[B>>2]=1;f=C;c[f>>2]=m;c[f+4>>2]=d;f=c[s>>2]|0;i=~~p;j=~~q;if(!((f|0)!=0?!(b_(f,i,j)|0):0))c_(f,-1,0,i,j)|0;d0(c[s>>2]|0,-1,1,1)}e0(m,d,1,p,q)|0;if(e|0)break b;d=c[104338]|0;if(d|0?c[d>>2]&1|0:0){e=0;break b}e=1;break b}case 24:{do if(f?(k=C,(c[k>>2]|0)==(m|0)?(c[k+4>>2]|0)==(d|0):0):0){f=~~q;i=~~p;j=c[s>>2]|0;if(j|0?(b_(j,i,f)|0)==0:0)break;c_(j,-1,0,i,f)|0}while(0);i=c[105236]|0;c:do if((i|0)>0){j=c[105237]|0;f=0;while(1){k=c[j+(f<<2)>>2]|0;J=k;if((c[J>>2]|0)==1&(c[J+4>>2]|0)==0)break;f=f+1|0;if((f|0)>=(i|0)){H=38;break c}}if((f|0)>-1&(f|0)<(i|0)){if(k|0){j=c[k+8>>2]|0;d:do if((j|0)>0){i=c[k+16>>2]|0;f=0;while(1){k=c[i+(f<<2)>>2]|0;J=k;if((c[J>>2]|0)==(m|0)?(c[J+4>>2]|0)==(d|0):0)break;f=f+1|0;if((f|0)>=(j|0))break d}if(!((f|0)>=(j|0)|(f|0)<0|(k|0)==0)){i=k+8|0;n=p-+g[i>>2];j=k+12|0;o=q-+g[j>>2];f=k+16|0;if(!(n!=0.0|o!=0.0|1.0-+g[f>>2]!=0.0))break c;g[i>>2]=p;g[j>>2]=q;g[f>>2]=1.0;J=c[104338]|0;if(J|0?c[J>>2]&4|0:0)break c;c[D>>2]=1794;f=t;c[f>>2]=1;c[f+4>>2]=0;f=u;c[f>>2]=m;c[f+4>>2]=d;g[v>>2]=p;g[w>>2]=q;g[x>>2]=n;g[y>>2]=o;g[z>>2]=1.0;c[A>>2]=YZ()|0;f=c[104587]|0;if(f|0)do{Sh[c[f>>2]&255](c[f+4>>2]|0,D)|0;f=c[f+8>>2]|0}while((f|0)!=0);if((ZZ(D,1,0,0,0)|0)>=1)_Z(D);break c}}while(0);e0(m,d,1,p,q)|0}}else H=38}else H=38;while(0);if((H|0)==38){H=0;vV(396046,G)}if(e|0)break b;J=c[104338]|0;if(J|0?c[J>>2]&4|0:0){e=0;break b}e=1;break b}default:{if(f?(J=C,(c[J>>2]|0)==(m|0)?(c[J+4>>2]|0)==(d|0):0):0){d0(c[s>>2]|0,-1,0,1);c[B>>2]=0}e0(m,d,0,p,q)|0;if(e|0)break b;J=c[104338]|0;if(J|0?c[J>>2]&2|0:0){e=0;break b}e=1;break b}}}while(0);r=r+1|0}while((r|0)<(c[b>>2]|0));l=I;return e|0}function Z$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=b+156|0;d=c[g>>2]|0;if(d>>>0<223?(e=c[31680+(d<<2)>>2]|0,e|0):0){a:do if((c[b+64>>2]|0)==2)switch(e|0){case 225:{e=229;break a}case 224:{e=228;break a}case 226:{e=230;break a}case 227:{e=231;break a}default:break a}while(0);c0((a|0)==2&1,e)}d=(a|0)==2;b=c[104334]|0;a=(b|0)==0;if(!a?(c[b>>2]&1<<((d^1)&1)|0)!=0:0)e=0;else e=1;f=e&1;if(!d)return f|0;if(a){g=c[g>>2]|0;g=g&-2;g=(g|0)==8;g=e&g;g=g&1;return g|0}if(!(c[b>>2]&8)){g=c[g>>2]|0;g=g&-2;g=(g|0)==8;g=e&g;g=g&1;return g|0}else return f|0;return 0}function _$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j;h=j+56|0;b=c[d+152>>2]|0;do if(b>>>0>=128){if(b>>>0<2048){a[h>>0]=b>>>6&31|192;a[h+1>>0]=b&63|128;f=2;g=9;break}if(b>>>0<65536){a[h>>0]=b>>>12&15|224;a[h+1>>0]=b>>>6&63|128;a[h+2>>0]=b&63|128;f=3;g=9;break}if(b>>>0<1114112){a[h>>0]=b>>>18|240;a[h+1>>0]=b>>>12&63|128;a[h+2>>0]=b>>>6&63|128;a[h+3>>0]=b&63|128;f=4;g=9}}else{a[h>>0]=b;f=1;g=9}while(0);do if((g|0)==9?(a[h+f>>0]=0,g=a[h>>0]|0,!((g&255)<32|g<<24>>24==127)):0){g=c[104334]|0;if(g|0?c[g>>2]&8|0:0)break;c[i>>2]=771;b=c[104594]|0;if(!b)b=0;else b=c[b+4>>2]|0;c[i+8>>2]=b;f=i+12|0;b=r4(h)|0;b=b>>>0<31?b:31;if(!b)b=0;else{e=b+-1|0;d=a[h+e>>0]|0;a:do if((d+64&255)>=53){if(!((d&255)>191|d<<24>>24>-1|(e|0)==0)){b:do if((d&-32)<<24>>24==-64)d=2;else while(1){if((d&-16)<<24>>24==-32){d=3;break b}if((d+16&255)<5){d=4;break b}e=e+-1|0;if(!e)break a;d=a[h+e>>0]|0;if((d&-32)<<24>>24==-64){d=2;break}}while(0);b=(b-e|0)==(d|0)?b:e}}else b=e;while(0);s6(f|0,h|0,b|0)|0}a[i+12+b>>0]=0;c[i+4>>2]=YZ()|0;b=c[104587]|0;if(b|0)do{Sh[c[b>>2]&255](c[b+4>>2]|0,i)|0;b=c[b+8>>2]|0}while((b|0)!=0);if((ZZ(i,1,0,0,0)|0)>=1)_Z(i)}while(0);i=c[104334]|0;if(i|0?c[i>>2]&8|0:0){i=0;l=j;return i|0}i=1;l=j;return i|0}function $$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[d+4>>2]|0;if(!(c[b>>2]|0)){d=a+48|0;c[d>>2]=c[d>>2]&-4098;return 0}else{e=d+20|0;d=a+48|0;b=c[d>>2]|c[e>>2];c[e>>2]=0;c[d>>2]=b|1;return 0}return 0}function a0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;i=m+8|0;j=m;k=d+4|0;b=c[k>>2]|0;a=c[b+48>>2]|0;if(a&8192){g[d+12>>2]=+_b();b=c[k>>2]|0;a=c[b+48>>2]|0}if((a&4129|0)!=32){l=m;return 0}f=+(c[b+24>>2]|0);h[i>>3]=f;e=+(c[b+28>>2]|0);h[j>>3]=e;a=d+16|0;if(c[a>>2]|0){$b(0,i|0,j|0)|0;f=+h[i>>3];e=+h[j>>3]}d=d+12|0;n=+g[d>>2];rf(~~(f*n)|0,~~(e*n)|0);if((c[a>>2]|0)==0?+g[d>>2]!=1.0:0)sf(0,+(+h[i>>3]),+(+h[j>>3]))|0;WZ(c[k>>2]|0,5,~~+h[i>>3],~~+h[j>>3]);l=m;return 0}function b0(a,b,d){a=a|0;b=b|0;d=d|0;WZ(c[d+4>>2]|0,c[b>>2]|0?2:1,0,0);return 0}function c0(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m;if(!e){l=m;return}switch(d<<24>>24){case 1:{i=768;break}case 0:{i=769;break}default:{l=m;return}}f=418382+e|0;g=a[f>>0]|0;h=d<<24>>24!=0&g<<24>>24!=0;j=h&1;if(!(g<<24>>24!=d<<24>>24|h)){l=m;return}a[f>>0]=d;h=c[418896+(e<<2)>>2]|0;switch(h|0){case 1073742048:{f=64;break}case 1073742052:{f=128;break}case 1073742049:{f=1;break}case 1073742053:{f=2;break}case 1073742050:{f=256;break}case 1073742054:{f=512;break}case 1073742051:{f=1024;break}case 1073742055:{f=2048;break}case 1073742081:{f=16384;break}default:f=0}g=b[209190]|0;if((i|0)==768){switch(h|0){case 1073741907:{f=(g^4096)&65535;break}case 1073741881:{f=(g^8192)&65535;break}default:f=g&65535|f}f=f&65535}else{f=g&65535&(f^65535)&65535;g=f}b[209190]=f;f=c[104334]|0;if(f|0?c[f>>2]&1<<(i&1)|0:0){l=m;return}c[k>>2]=i;a[k+12>>0]=d;a[k+13>>0]=j;f=k+16|0;c[f>>2]=e;c[f+4>>2]=h;b[f+8>>1]=g;f=c[104594]|0;if(!f)f=0;else f=c[f+4>>2]|0;c[k+8>>2]=f;c[k+4>>2]=YZ()|0;f=c[104587]|0;if(f|0)do{Sh[c[f>>2]&255](c[f+4>>2]|0,k)|0;f=c[f+8>>2]|0}while((f|0)!=0);if((ZZ(k,1,0,0,0)|0)>=1)_Z(k);l=m;return}function d0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;u=v;h=c[104320]|0;switch(e<<24>>24){case 1:{g=h|1<<(f&255)+-1;if(!b){s=1025;t=0;k=1}else{b_(b,c[104314]|0,c[104315]|0)|0;s=1025;h=c[104320]|0;t=1;k=1}break}case 0:{g=h&~(1<<(f&255)+-1);s=1026;t=(b|0)!=0;k=0;break}default:{l=v;return}}if((g|0)==(h|0)){l=v;return}c[104320]=g;o=f&255;if((o|0)>=(c[104323]|0)){j=o+1|0;h=D2(c[104324]|0,j<<4)|0;if(!h)h=1;else{c[104324]=h;g=c[104323]|0;if((g|0)<=(o|0)){h=h+(g<<4)|0;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));if((g|0)<(o|0))do{g=g+1|0;h=(c[104324]|0)+(g<<4)|0;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0))}while((g|0)!=(o|0))}c[104323]=j;r=12}}else r=12;do if((r|0)==12){i=c[104324]|0;j=i+(o<<4)|0;if(!j)h=1;else{if(!k){h=a[i+(o<<4)+12>>0]|0;break}m=YZ()|0;n=i+(o<<4)+8|0;if(((c[n>>2]|0)-m+500|0)>=1){k=c[104314]|0;h=k-(c[j>>2]|0)|0;if((((h|0)>-1?h:0-h|0)|0)<=1?(p=c[104315]|0,q=i+(o<<4)+4|0,h=p-(c[q>>2]|0)|0,(((h|0)>-1?h:0-h|0)|0)<=1):0){h=i+(o<<4)+12|0;g=a[h>>0]|0;c[n>>2]=m;c[j>>2]=k;c[q>>2]=p;if(g<<24>>24==-1){h=-1;break}}else{h=j;g=k;r=19}}else{h=j;g=c[104314]|0;r=19}if((r|0)==19){r=i+(o<<4)+12|0;a[r>>0]=0;c[n>>2]=m;c[h>>2]=g;c[i+(o<<4)+4>>2]=c[104315];h=r;g=0}r=g+1<<24>>24;a[h>>0]=r;h=r}}while(0);r=c[104335]|0;if(!((r|0)!=0?(c[r>>2]&1<<(s&3)|0)!=0:0)){c[u>>2]=s;g=c[104313]|0;if(!g)g=0;else g=c[g+4>>2]|0;c[u+8>>2]=g;c[u+12>>2]=d;a[u+17>>0]=e;a[u+16>>0]=f;a[u+18>>0]=h;c[u+20>>2]=c[104314];c[u+24>>2]=c[104315];c[u+4>>2]=YZ()|0;g=c[104587]|0;if(g|0)do{Sh[c[g>>2]&255](c[g+4>>2]|0,u)|0;g=c[g+8>>2]|0}while((g|0)!=0);if((ZZ(u,1,0,0,0)|0)>=1)_Z(u)}if(!(e<<24>>24==0&t)){l=v;return}b_(b,c[104314]|0,c[104315]|0)|0;l=v;return}function e0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;o=t+64|0;m=t+56|0;q=t;j=c[105236]|0;a:do if((j|0)>0){k=c[105237]|0;i=0;while(1){p=c[k+(i<<2)>>2]|0;r=p;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0)break;i=i+1|0;if((i|0)>=(j|0))break a}if((i|0)>-1&(i|0)<(j|0)){if(!p){b=-1;l=t;return b|0}r=p+8|0;i=c[r>>2]|0;b:do if((i|0)>0){m=c[p+16>>2]|0;j=0;while(1){k=c[m+(j<<2)>>2]|0;u=k;if((c[u>>2]|0)==(a|0)?(c[u+4>>2]|0)==(b|0):0)break;j=j+1|0;if((j|0)>=(i|0)){k=0;break b}}k=(j|0)>-1&(j|0)<(i|0)?k:0}else k=0;while(0);j=(k|0)!=0;if(d|0){if(j){u=0;l=t;return u|0}j=p+12|0;k=p+16|0;do if((i|0)==(c[j>>2]|0)){i=D2(c[k>>2]|0,(i<<2)+4|0)|0;if(i|0?(c[k>>2]=i,h=B2(24)|0,n=c[j>>2]|0,c[(c[k>>2]|0)+(n<<2)>>2]=h,h=c[k>>2]|0,c[h+(n<<2)>>2]|0):0){c[j>>2]=n+1;i=c[r>>2]|0;break}vV(392416,o);u=0;l=t;return u|0}else h=c[k>>2]|0;while(0);c[r>>2]=i+1;u=c[h+(i<<2)>>2]|0;s=u;c[s>>2]=a;c[s+4>>2]=b;g[u+8>>2]=e;g[u+12>>2]=f;g[u+16>>2]=1.0;u=c[104338]|0;if(u|0?c[u>>2]&1|0:0){u=0;l=t;return u|0}c[q>>2]=1792;h=q+8|0;c[h>>2]=1;c[h+4>>2]=0;h=q+16|0;c[h>>2]=a;c[h+4>>2]=b;g[q+24>>2]=e;g[q+28>>2]=f;g[q+32>>2]=0.0;g[q+36>>2]=0.0;g[q+40>>2]=1.0;c[q+4>>2]=YZ()|0;h=c[104587]|0;if(h|0)do{Sh[c[h>>2]&255](c[h+4>>2]|0,q)|0;h=c[h+8>>2]|0}while((h|0)!=0);if((ZZ(q,1,0,0,0)|0)<1)h=0;else{_Z(q);h=1}u=h;l=t;return u|0}if(!j){u=0;l=t;return u|0}u=c[104338]|0;if((u|0)!=0?(c[u>>2]&2|0)!=0:0){h=0;n=i}else{c[q>>2]=1793;h=q+8|0;c[h>>2]=1;c[h+4>>2]=0;h=q+16|0;c[h>>2]=a;c[h+4>>2]=b;c[q+24>>2]=c[k+8>>2];c[q+28>>2]=c[k+12>>2];g[q+32>>2]=0.0;g[q+36>>2]=0.0;g[q+40>>2]=1.0;c[q+4>>2]=YZ()|0;h=c[104587]|0;if(h|0)do{Sh[c[h>>2]&255](c[h+4>>2]|0,q)|0;h=c[h+8>>2]|0}while((h|0)!=0);if((ZZ(q,1,0,0,0)|0)<1)h=0;else{_Z(q);h=1}n=c[r>>2]|0}if((n|0)<=0){u=h;l=t;return u|0}m=p+16|0;d=c[m>>2]|0;i=0;while(1){j=d+(i<<2)|0;k=c[j>>2]|0;u=k;if((c[u>>2]|0)==(a|0)?(c[u+4>>2]|0)==(b|0):0)break;i=i+1|0;if((i|0)>=(n|0)){s=42;break}}if((s|0)==42){l=t;return h|0}if((i|0)<0){u=h;l=t;return u|0}u=n+-1|0;c[r>>2]=u;c[j>>2]=c[d+(u<<2)>>2];c[(c[m>>2]|0)+(u<<2)>>2]=k;u=h;l=t;return u|0}}while(0);vV(396046,m);u=-1;l=t;return u|0}function f0(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+128|0;j=k+88|0;d=k+64|0;e=k+40|0;f=k+16|0;g=k;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;if(b|0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2]};c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];b=c[104297]|0;b=D2(c[b+268>>2]|0,((c[b+264>>2]|0)*68|0)+68|0)|0;if(!b){vV(392416,k+80|0);j=-1;l=k;return j|0}m=c[104297]|0;h=m+264|0;i=c[h>>2]|0;c[h>>2]=i+1;h=b+(i*68|0)|0;c[h>>2]=0;n=b+(i*68|0)+4|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];d=b+(i*68|0)+16|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];e=b+(i*68|0)+36|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];f=b+(i*68|0)+56|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[b+(i*68|0)+60>>2]=m;c[m+268>>2]=b;if((i|0)<0){f=j+1|0;a[j>>0]=45;b=0-i|0;d=f;while(1){n=d;d=d+1|0;a[n>>0]=a[397349+((b>>>0)%10|0)>>0]|0;if(b>>>0<10)break;else b=(b>>>0)/10|0}a[d>>0]=0;d=r4(f)|0;b=d>>>1;if(b|0){e=f+(d+-1)|0;d=f;while(1){b=b+-1|0;n=a[d>>0]|0;a[d>>0]=a[e>>0]|0;a[e>>0]=n;if(!b)break;else{e=e+-1|0;d=d+1|0}}}}else{if(!i){a[j>>0]=48;b=j+1|0}else{d=i;e=j;while(1){b=e+1|0;a[e>>0]=a[397349+((d>>>0)%10|0)>>0]|0;if(d>>>0<10)break;else{d=(d>>>0)/10|0;e=b}}}a[b>>0]=0;b=r4(j)|0;f=b>>>1;if(f|0){d=j+(b+-1)|0;e=j;b=f;while(1){b=b+-1|0;n=a[e>>0]|0;a[e>>0]=a[d>>0]|0;a[d>>0]=n;if(!b)break;else{d=d+-1|0;e=e+1|0}}}}c[h>>2]=P4(j)|0;n=i;l=k;return n|0}function g0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+12|0;e=c[d>>2]|0;n=a+8|0;o=c[n>>2]|0;a:do if((o|0)>0){k=b+4|0;l=b+8|0;m=b+12|0;j=0;b:while(1){i=e+(j*20|0)|0;if((i|0)==(b|0)){f=20;break}f=c[k>>2]|0;g=c[e+(j*20|0)+4>>2]|0;do if((g|0)==(f|0)){f=c[l>>2]|0;g=c[e+(j*20|0)+8>>2]|0;if((g|0)!=(f|0)){f=g-f|0;break}g=c[b>>2]|0;h=g>>>8&255;i=c[i>>2]|0;f=i>>>8&255;if((f|0)!=(h|0)){f=f-h|0;break}g=g>>>16&15;f=i>>>16&15;if((f|0)==(g|0)){f=c[m>>2]|0;g=c[e+(j*20|0)+12>>2]|0;if((g|0)==(f|0)){f=20;break b}else{f=g-f|0;break}}else{f=f-g|0;break}}else f=g-f|0;while(0);j=j+1|0;if(!f){f=20;break}if((j|0)>=(o|0))break a}if((f|0)==20)return}while(0);f=a+4|0;do if((o|0)==(c[f>>2]|0)){e=D2(e,(o*20|0)+640|0)|0;if(!e)return;else{c[d>>2]=e;c[f>>2]=(c[f>>2]|0)+32;break}}while(0);o=e+(o*20|0)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];o=(c[n>>2]|0)+1|0;c[n>>2]=o;_3(c[d>>2]|0,o,20,167);return}function h0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j+8|0;i=j;f=N_(376840196)|0;if(!f){i=0;l=j;return i|0}g=K_(b,f,0)|0;d=f+36|0;e=c[d>>2]|0;c[d>>2]=e+-1;if((e|0)<=1){d=c[104299]|0;a:do if((d|0)!=(f|0)){if(d|0){do{e=d+40|0;d=c[e>>2]|0;if(!d)break a}while((d|0)!=(f|0));c[e>>2]=c[f+40>>2]}}else c[104299]=c[f+40>>2];while(0);d=c[f+4>>2]|0;if(d|0?(k=d+12|0,e=c[k>>2]|0,c[k>>2]=e+-1,(e|0)<=1):0){C2(c[d+4>>2]|0);C2(d)}C2(f)}if(!g){k=0;l=j;return k|0}f=Tb(12,c[b+8>>2]|0,c[b+12>>2]|0,c[g+20>>2]|0)|0;YV(g);e=B2(8)|0;if(!e){vV(392416,h);k=0;l=j;return k|0}if(c[e+-4>>2]&3|0){k=e;h=k;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;k=k+4|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0}d=B2(8)|0;if(!d){vV(392416,i);C2(e);k=0;l=j;return k|0}if(c[d+-4>>2]&3|0){k=d;i=k;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0;k=k+4|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0}c[d>>2]=f;c[d+4>>2]=1;c[e+4>>2]=d;k=e;l=j;return k|0}function i0(a){a=a|0;var b=0;if(!(c[104313]|0))return 0;if(a|0?(b=c[a+4>>2]|0,b|0):0){a=c[b>>2]|0;if(!a)return 0;Rb(13,a|0)|0;return 0}Qb(14)|0;return 0}function j0(a){a=a|0;var b=0,d=0;if(!a)return;d=a+4|0;b=c[d>>2]|0;if(b|0){if(c[b+4>>2]|0){C2(c[b>>2]|0);b=c[d>>2]|0}C2(b)}C2(a);return}function k0(a,b,c){a=a|0;b=b|0;c=c|0;c=l;l=l+16|0;vV(392516,c);l=c;return}function l0(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;g=h;do switch(b|0){case 0:{d=396213;break}case 1:{d=396309;break}case 2:{d=396304;break}case 3:{d=396294;break}case 4:{d=396285;break}case 5:{d=396273;break}case 6:{d=396261;break}case 7:{d=396251;break}case 8:{d=396241;break}case 9:{d=0;break}case 10:{d=396229;break}case 11:{d=396221;break}default:{g=0;l=h;return g|0}}while(0);e=B2(8)|0;if(!e){vV(392416,f);g=0;l=h;return g|0}if(c[e+-4>>2]&3|0){f=e;b=f;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;f=f+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0}b=B2(8)|0;if(!b){vV(392416,g);C2(e);g=0;l=h;return g|0}if(c[b+-4>>2]&3|0){g=b;f=g;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;g=g+4|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0}c[b>>2]=d;c[b+4>>2]=0;c[e+4>>2]=b;g=e;l=h;return g|0}function m0(a){a=a|0;if(!a){if((Zb()|0)>-1){a=0;return a|0}}else if((pf(0,1)|0)>-1){a=0;return a|0}a=-1;return a|0}function n0(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;c[a+4>>2]=26;c[a+40>>2]=314;c[a+72>>2]=1;c[a+64>>2]=1;c[a+60>>2]=1;d=Qb(15)|0;if(!d){vV(397550,e);b=0}else b=(Qb(16)|0)!=0;b=b&1;c[a+68>>2]=b;c[a+76>>2]=b;l=e;return d|0}function o0(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0;r=l;l=l+32|0;o=r+16|0;k=r+8|0;if((Rb(17,h|0)|0)<0){vV(399322,r);h=-1;l=r;return h|0}q=e+8|0;f=b[q>>1]|0;a:do if(f<<16>>16>=-28640){if(f<<16>>16<8)switch(f<<16>>16){case -28640:{j=7;m=13;break a}case -28384:{j=9;m=13;break a}default:break a}if(f<<16>>16<16)switch(f<<16>>16){case 8:{j=0;m=13;break a}default:break a}if(f<<16>>16<4112){switch(f<<16>>16){case 16:break;default:break a}j=4;m=13;break}else{switch(f<<16>>16){case 4112:break;default:break a}j=5;m=13;break}}else switch(f<<16>>16){case -32760:{j=1;m=13;break a}case -32752:{j=2;m=13;break a}case -28656:{j=3;m=13;break a}case -32736:{j=6;m=13;break a}case -32480:{j=8;m=13;break a}default:break a}while(0);b:do if((m|0)==13){f=b[40184+(j*20|0)>>1]|0;g=1;while(1){if(f<<16>>16==-32480)break;if((g|0)==10)break b;f=b[40184+(j*20|0)+(g<<1)>>1]|0;if(!(f<<16>>16))break b;else g=g+1|0}b[q>>1]=-32480;f=B2(20)|0;m=e+180|0;c[m>>2]=f;if(!f){vV(392416,o);h=-1;l=r;return h|0}g=f+20|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));g=Qb(18)|0;j=e+4|0;f=c[j>>2]|0;k=b[e+12>>1]|0;if((f|0)!=(g|0)){c:do if(k<<16>>16){p=+(g|0);n=+(f|0);i=+(k&65535)/p*n;if(!(+A(+i)==i)){f=k&65535;do{if((f|0)<=1)break c;f=f+-1|0;i=+(f|0)/p*n}while(!(+A(+i)==i))}o=~~+A(+i)>>>0;c[(c[m>>2]|0)+8>>2]=o}while(0);c[j>>2]=g}q=b[q>>1]|0;a[e+11>>0]=q<<16>>16==8?-128:0;g=d[e+10>>0]|0;f=k&65535;c[e+16>>2]=O(f,O(g,(q&65535)>>>3&31)|0)|0;if(!h){Ub(20,g|0,f|0,316,e|0)|0;h=0;l=r;return h|0}else{Ub(19,g|0,f|0,315,e|0)|0;h=0;l=r;return h|0}}while(0);vV(399354,k);h=-1;l=r;return h|0}function p0(a){a=a|0;Rb(21,c[a+144>>2]|0)|0;a=a+180|0;C2(c[c[a>>2]>>2]|0);C2(c[a>>2]|0);return}function q0(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;e=b+136|0;do{f=c[e>>2]|0;g=c[e>>2]|0;if((g|0)==(f|0))c[e>>2]=f}while((g|0)!=(f|0));if(!f){l=m;return}e=b+140|0;do{f=c[e>>2]|0;g=c[e>>2]|0;if((g|0)==(f|0))c[e>>2]=f}while((g|0)!=(f|0));if(f|0){l=m;return}j=b+28|0;if(!(c[j>>2]|0)){e=b+180|0;f=c[c[e>>2]>>2]|0;i=b+16|0;if(!f){f=B2(c[i>>2]|0)|0;c[c[e>>2]>>2]=f;if(!f){l=m;return}else{g=i;h=f;e=i}}else{g=i;h=f;e=i}}else{g=b+52|0;h=c[b+44>>2]|0;e=b+16|0}f=c[g>>2]|0;Sb(22,h|0,((c[e>>2]|0)>>>2>>>0)/((d[b+10>>0]|0)>>>0)|0|0)|0;do if(c[j>>2]|0){i=b+44|0;if(!(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)){vV(401908,k);break}k=b+48|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;e=b+52|0;a[e>>0]=k;a[e+1>>0]=k>>8;a[e+2>>0]=k>>16;a[e+3>>0]=k>>24;e=b+68|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if(e|0){k=b+108|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;k=b+32|0;li[e&511](j,d[k>>0]|d[k+1>>0]<<8)}}while(0);si[c[b+20>>2]&127](c[b+24>>2]|0,h,f);l=m;return}function r0(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z+8|0;j=z;h=(e[b+8>>1]|0)>>>3&31;f=b+136|0;do{i=c[f>>2]|0;g=c[f>>2]|0;if((g|0)==(i|0))c[f>>2]=i}while((g|0)!=(i|0));y=h&65535;if(!i){l=z;return}h=b+140|0;do{f=c[h>>2]|0;g=c[h>>2]|0;if((g|0)==(f|0))c[h>>2]=f}while((g|0)!=(f|0));if(f|0){l=z;return}v=b+28|0;w=b+180|0;g=c[w>>2]|0;if(c[v>>2]|0){f=c[g+8>>2]|0;if(!f){f=b+48|0;r=f;f=c[f>>2]|0}else{f=O(O(d[b+10>>0]|0,f)|0,(e[b+32>>1]|0)>>>3&31)|0;r=b+48|0;c[r>>2]=f}s=b+20|0;t=b+24|0;u=b+44|0;si[c[s>>2]&127](c[t>>2]|0,c[u>>2]|0,f);if(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24){g=b+48|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;f=b+52|0;a[f>>0]=g;a[f+1>>0]=g>>8;a[f+2>>0]=g>>16;a[f+3>>0]=g>>24;g=b+68|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(!g)p=f;else{p=b+108|0;a[p>>0]=0;a[p+1>>0]=0;a[p+2>>0]=0;a[p+3>>0]=0;p=b+32|0;li[g&511](v,d[p>>0]|d[p+1>>0]<<8);p=f}}else{vV(401908,j);p=b+52|0}f=c[p>>2]|0;q=b+16|0;g=c[q>>2]|0;if((f|0)==(g|0))g=c[u>>2]|0;else{h=c[w>>2]|0;if(!(c[h>>2]|0)){o=(g>>>0>f>>>0?g:f)<<1;c[h+4>>2]=o;o=B2(o)|0;h=c[w>>2]|0;c[h>>2]=o}k=b+48|0;m=b+68|0;n=b+108|0;o=b+32|0;while(1){g=c[h+12>>2]|0;f=c[p>>2]|0;i=c[h+4>>2]|0;if((f+g|0)>>>0>i>>>0){j=c[h+16>>2]|0;if(g>>>0>j>>>0){h=c[h>>2]|0;t6(h|0,h+j|0,i-j|0)|0;h=c[w>>2]|0;f=c[p>>2]|0;g=(c[h+12>>2]|0)-(c[h+16>>2]|0)|0}else g=0;c[h+12>>2]=g;c[h+16>>2]=0}s6((c[h>>2]|0)+g|0,c[u>>2]|0,f|0)|0;i=c[w>>2]|0;g=i+12|0;j=(c[g>>2]|0)+(c[p>>2]|0)|0;c[g>>2]=j;g=i+16|0;h=c[g>>2]|0;f=c[q>>2]|0;if((j-h|0)>>>0>=f>>>0)break;si[c[s>>2]&127](c[t>>2]|0,c[u>>2]|0,c[r>>2]|0);if(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24){f=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;a[p>>0]=f;a[p+1>>0]=f>>8;a[p+2>>0]=f>>16;a[p+3>>0]=f>>24;f=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;if(f|0){a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;li[f&511](v,d[o>>0]|d[o+1>>0]<<8)}}else vV(401908,x);h=c[w>>2]|0}x=(c[i>>2]|0)+h|0;c[g>>2]=h+f;g=x}}else{f=c[g>>2]|0;if(!f){f=c[b+16>>2]|0;c[g+4>>2]=f;f=B2(f)|0;g=c[w>>2]|0;c[g>>2]=f}si[c[b+20>>2]&127](c[b+24>>2]|0,f,c[g+4>>2]|0);f=c[w>>2]|0;g=c[f>>2]|0;f=c[f+4>>2]|0}if(!g){l=z;return}Sb(23,g|0,((f|0)/(y|0)|0|0)/(d[b+10>>0]|0|0)|0|0)|0;l=z;return}function s0(){var a=0;a=Of(404510)|0;if(a|0?(e3(a,403265)|0)==0:0){a=1;return a|0}a=0;return a|0}function t0(a){a=a|0;var b=0;b=l;l=l+16|0;a=B2(688)|0;if(!a){vV(392416,b);a=0;l=b;return a|0}if(c[a+-4>>2]&3|0)u6(a|0,0,688)|0;c[a+4>>2]=433;c[a+8>>2]=317;c[a+28>>2]=51;c[a+204>>2]=318;c[a+132>>2]=21;c[a+136>>2]=27;c[a+140>>2]=225;c[a+684>>2]=319;l=b;return a|0}function u0(a){a=a|0;var b=0,d=0;d=l;l=l+32|0;b=d;c[b>>2]=370546692;c[b+4>>2]=1024;c[b+8>>2]=768;c[b+12>>2]=0;c[b+16>>2]=0;if((f0(b)|0)<0){b=-1;l=d;return b|0};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;g0(c[a+268>>2]|0,b);b=0;l=d;return b|0}function v0(a){a=a|0;return}function w0(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function x0(a){a=a|0;return}function y0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;g=j+8|0;YV(D0(b,402785)|0);a=c[104297]|0;do if(!a){vV(386054,j);a=0;g=0}else{if(b|0?(c[b>>2]|0)==(a+280|0):0){a=c[b+24>>2]|0;g=c[b+28>>2]|0;break}vV(405282,g);a=0;g=0}while(0);h=O_(32,16711680,65280,255,0)|0;if(!h){vV(393207,i);f=-1;l=j;return f|0}a=P_(a,g,h)|0;if(!a){f=-1;l=j;return f|0}C0(b,402785,a)|0;c[d>>2]=370546692;c[e>>2]=c[a+20>>2];c[f>>2]=c[a+16>>2];f=0;l=j;return f|0}function z0(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+256|0;E=H+120|0;D=H+112|0;C=H+104|0;x=H+96|0;w=H+88|0;k=H+80|0;i=H+72|0;F=H+24|0;g=H+16|0;n=H+124|0;h=H+128|0;G=D0(f,402785)|0;if(!G){vV(402808,H);I=-1;l=H;return I|0}if(!(Of(402847)|0)){I=0;l=H;return I|0}e=c[104297]|0;do if(!e){vV(386054,H+8|0);e=0}else{if(f|0?(c[f>>2]|0)==(e+280|0):0){e=c[f+4>>2]|0;break}vV(405282,g);e=0}while(0);B=(c[105238]|0)+1|0;c[105238]=B;c[F>>2]=e;c[F+4>>2]=B;SZ(h,128,402875,F)|0;B=F0(h,403168)|0;b[n>>1]=19778;if(B|0){e=c[G+4>>2]|0;g=a[e+8>>0]|0;h=g&255;do if((g&255)>7){if((c[e+24>>2]|0)==0?(c[(c[G+52>>2]|0)+68>>2]&256|0)==0:0){j=15;break}VV(F,372645892)|0;f=1;e=1;j=23}else j=15;while(0);do if((j|0)==15){if(c[e+4>>2]|0){if(g<<24>>24==8){v=G;f=0;m=0;j=28;break}c[i>>2]=h;vV(402898,i);break}if(((g<<24>>24==24?(c[e+12>>2]|0)==16711680:0)?(c[e+16>>2]|0)==65280:0)?(c[e+20>>2]|0)==255:0){v=G;f=0;m=0;j=28;break}VV(F,390076419)|0;f=0;e=0;j=23}while(0);if((j|0)==23){g=K_(G,F,0)|0;h=(g|0)==0;if(h){c[k>>2]=d[F+8>>0];vV(402929,k)}if(e)e=a_(402962,0)|0;else e=0;if(!h){v=g;m=e;j=28}}if((j|0)==28){u=v+28|0;e=c[u>>2]|0;if(!e)if(!(c[v>>2]&2))e=0;else{XV(v,1);c[v>>2]=c[v>>2]|2;e=c[u>>2]|0}c[u>>2]=e+1;g=v+8|0;k=v+4|0;p=O(d[(c[k>>2]|0)+9>>0]|0,c[g>>2]|0)|0;q=B+4|0;r=Uh[c[q>>2]&63](B,0,0,1)|0;s=z;c[103104]=0;t=B+12|0;Uh[c[t>>2]&63](B,n,2,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;b[F>>1]=0;Uh[c[t>>2]&63](B,F,2,1)|0;b[F>>1]=0;Uh[c[t>>2]&63](B,F,2,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;g=c[g>>2]|0;n=v+12|0;h=c[n>>2]|0;e=c[k>>2]|0;i=d[e+8>>0]|0;o=v+16|0;j=O(c[o>>2]|0,h)|0;e=c[e+4>>2]|0;if(!e)e=0;else e=c[e>>2]|0;m=(m|0)!=0|(f|0)==0;c[F>>2]=m?40:108;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=g;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=h;Uh[c[t>>2]&63](B,F,4,1)|0;b[F>>1]=1;Uh[c[t>>2]&63](B,F,2,1)|0;b[F>>1]=i;Uh[c[t>>2]&63](B,F,2,1)|0;c[F>>2]=m?0:3;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=j;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=e;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;if(!m){c[F>>2]=16711680;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=65280;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=255;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=-16777216;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=1466527264;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0;c[F>>2]=0;Uh[c[t>>2]&63](B,F,4,1)|0}e=c[(c[k>>2]|0)+4>>2]|0;if(e|0?(y=c[e+4>>2]|0,A=c[e>>2]|0,(A|0)>0):0){e=0;do{Uh[c[t>>2]&63](B,y+(e<<2)+2|0,1,1)|0;Uh[c[t>>2]&63](B,y+(e<<2)+1|0,1,1)|0;Uh[c[t>>2]&63](B,y+(e<<2)|0,1,1)|0;Uh[c[t>>2]&63](B,y+(e<<2)+3|0,1,1)|0;e=e+1|0}while((e|0)!=(A|0))}e=Uh[c[q>>2]&63](B,0,0,1)|0;e=c6(e|0,z|0,r|0,s|0)|0;y=c[q>>2]|0;A=b6(r|0,s|0,10,0)|0;Uh[y&63](B,A,z,0)|0;if((z|0)<0)vV(392488,w);c[F>>2]=e;Uh[c[t>>2]&63](B,F,4,1)|0;y=c[q>>2]|0;A=b6(e|0,0,r|0,s|0)|0;Uh[y&63](B,A,z,0)|0;if((z|0)<0)vV(392488,x);f=v+20|0;g=c[o>>2]|0;A=O(g,c[n>>2]|0)|0;e=(c[f>>2]|0)+A|0;h=(p|0)%4|0;h=(h|0)==0?0:4-h|0;a:do if((A|0)>0){b:do if(!h){e=e+(0-g)|0;if((Uh[c[t>>2]&63](B,e,1,p)|0)==(p|0))do{if(e>>>0<=(c[f>>2]|0)>>>0)break a;e=e+(0-(c[o>>2]|0))|0}while((Uh[c[t>>2]&63](B,e,1,p)|0)==(p|0))}else{e=e+(0-g)|0;g=(Uh[c[t>>2]&63](B,e,1,p)|0)==(p|0);if((h|0)<=0){if(!g)break;while(1){if(e>>>0<=(c[f>>2]|0)>>>0)break a;e=e+(0-(c[o>>2]|0))|0;if((Uh[c[t>>2]&63](B,e,1,p)|0)!=(p|0))break b}}if(g)do{a[F>>0]=0;g=0;do{Uh[c[t>>2]&63](B,F,1,1)|0;g=g+1|0}while((g|0)!=(h|0));if(e>>>0<=(c[f>>2]|0)>>>0)break a;e=e+(0-(c[o>>2]|0))|0}while((Uh[c[t>>2]&63](B,e,1,p)|0)==(p|0))}while(0);vV(392460,C)}while(0);e=Uh[c[q>>2]&63](B,0,0,1)|0;e=c6(e|0,z|0,r|0,s|0)|0;A=c[q>>2]|0;C=b6(r|0,s|0,2,0)|0;Uh[A&63](B,C,z,0)|0;if((z|0)<0)vV(392488,D);c[F>>2]=e;Uh[c[t>>2]&63](B,F,4,1)|0;D=c[q>>2]|0;F=b6(e|0,0,r|0,s|0)|0;Uh[D&63](B,F,z,0)|0;if((z|0)<0)vV(392488,E);e=c[u>>2]|0;if((e|0?(c[u>>2]=e+-1,(e|0)<=1):0)?(I=c[v>>2]|0,I&2|0):0){c[v>>2]=I&-3;$V(v)|0}if((v|0)!=(G|0))YV(v)}Rh[c[B+16>>2]&511](B)|0;uV()}I=0;l=H;return I|0}function A0(a,b){a=a|0;b=b|0;YV(C0(b,402785,0)|0);return}function B0(a){a=a|0;C2(a);return}function C0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;h=j+16|0;g=j+8|0;f=c[104297]|0;if(!f){vV(386054,j);e=0;l=j;return e|0}if(b|0?(c[b>>2]|0)==(f+280|0):0){if(d|0?a[d>>0]|0:0){i=b+140|0;b=c[i>>2]|0;a:do if(b|0){h=0;while(1){f=c[b>>2]|0;if(f|0?(e3(f,d)|0)==0:0)break;f=c[b+8>>2]|0;if(!f)break a;else{h=b;b=f}}f=b+4|0;g=c[f>>2]|0;if(!e){c[(h|0?h+8|0:i)>>2]=c[b+8>>2];C2(c[b>>2]|0);C2(b);e=g;l=j;return e|0}else{c[f>>2]=e;e=g;l=j;return e|0}}while(0);if(!e){e=0;l=j;return e|0}h=B2(12)|0;c[h>>2]=P4(d)|0;c[h+4>>2]=e;c[h+8>>2]=c[i>>2];c[i>>2]=h;e=0;l=j;return e|0}c[h>>2]=402803;vV(406140,h);e=0;l=j;return e|0}vV(405282,g);e=0;l=j;return e|0}function D0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=c[104297]|0;a:do if(!e){vV(386054,h);b=0}else{if(b|0?(c[b>>2]|0)==(e+280|0):0){if(d|0?a[d>>0]|0:0){b=c[b+140>>2]|0;if(!b){b=0;break}while(1){e=c[b>>2]|0;if(e|0?(e3(e,d)|0)==0:0)break;b=c[b+8>>2]|0;if(!b){b=0;break a}}b=c[b+4>>2]|0;break}c[g>>2]=402803;vV(406140,g);b=0;break}vV(405282,f);b=0}while(0);l=h;return b|0}function E0(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+8|0;b=c[104297]|0;if(!b){vV(386054,e);d=0;l=e;return d|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){d=c[a+4>>2]|0;l=e;return d|0}vV(405282,d);d=0;l=e;return d|0}function F0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;if((b|0?(d|0)!=0&(a[b>>0]|0)!=0:0)?a[d>>0]|0:0){e=Q4(b,d)|0;if(!e){c[f>>2]=b;vV(403036,f);g=0;l=h;return g|0}d=B2(36)|0;if(!d){vV(392416,g);g=d;l=h;return g|0}else{c[d>>2]=434;c[d+4>>2]=28;c[d+8>>2]=29;c[d+12>>2]=30;c[d+16>>2]=435;c[d+28>>2]=e;c[d+24>>2]=1;c[d+20>>2]=2;g=d;l=h;return g|0}}vV(402989,e);g=0;l=h;return g|0}function G0(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+4|0;d=Uh[c[b>>2]&63](a,0,0,1)|0;e=z;if((e|0)<0){d=-1;e=-1;z=d;return e|0}f=Uh[c[b>>2]&63](a,0,0,2)|0;g=z;Uh[c[b>>2]&63](a,d,e,0)|0;d=g;e=f;z=d;return e|0}function H0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;d=a+28|0;if(!(k5(c[d>>2]|0,b,e)|0)){e=J5(c[d>>2]|0)|0;b=((e|0)<0)<<31>>31;z=b;l=f;return e|0}else{vV(392488,f);b=-1;e=-1;z=b;l=f;return e|0}return 0}function I0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=a+28|0;a=M5(b,d,e,c[f>>2]|0)|0;if((a|0)==0?$4(c[f>>2]|0)|0:0)vV(392430,g);l=h;return a|0}function J0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=a+28|0;a=L4(b,d,e,c[f>>2]|0)|0;if((a|0)==0?$4(c[f>>2]|0)|0:0)vV(392460,g);l=h;return a|0}function K0(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(!a){a=0;l=d;return a|0}if((c[a+24>>2]|0)!=0?(W4(c[a+28>>2]|0)|0)!=0:0){vV(392460,b);b=-1}else b=0;C2(a);a=b;l=d;return a|0}function L0(a){a=a|0;c[a+4>>2]=31;c[a+12>>2]=320;c[a+16>>2]=321;c[a+24>>2]=436;c[a+28>>2]=52;c[a+32>>2]=322;c[a+40>>2]=323;c[a>>2]=10;c[a+80>>2]=1;c[a+68>>2]=1;return 1}function M0(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+16|0;k=n+8|0;d=d|0?0:f;j=(g|0)!=0;if(!d){d=Of((j?403108:403128)|0)|0;d=(d|0)==0?(j?403079:403095):d}h=Of(403146)|0;f=B2(12)|0;i=b+180|0;c[i>>2]=f;if(!f){vV(392416,n);m=-1;l=n;return m|0}g=f+12|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));if(!h)f=((e[b+12>>1]|0)*1e3|0)/(c[b+4>>2]|0)|0;else f=W5(h)|0;c[(c[i>>2]|0)+4>>2]=f;h=F0(d,j?403165:403168)|0;c[c[i>>2]>>2]=h;if(!h){m=-1;l=n;return m|0}do if(!j){f=b+16|0;g=B2(c[f>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=g;if(g|0){u6(g|0,a[b+11>>0]|0,c[f>>2]|0)|0;break}vV(392416,k);m=-1;l=n;return m|0}while(0);c[m>>2]=j?403171:403184;c[m+4>>2]=d;j5(0,403195,m);m=0;l=n;return m|0}function N0(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;g=h;e=c[(c[a+180>>2]|0)+4>>2]|0;d=(e>>>0)/1e3|0;c[f>>2]=d;e=((e>>>0)%1e3|0)*1e6|0;a=f+4|0;c[a>>2]=e;b=g+4|0;while(1){c[105438]=0;c[g>>2]=d;c[b>>2]=e;e=(yh(g|0,f|0)|0)!=0;if(!(e&(c[105438]|0)==4))break;d=c[f>>2]|0;e=c[a>>2]|0}l=h;return}function O0(a){a=a|0;var b=0,d=0,e=0;d=c[a+180>>2]|0;e=c[d>>2]|0;b=a+16|0;d=Uh[c[e+12>>2]&63](e,c[d+8>>2]|0,1,c[b>>2]|0)|0;if((d|0)==(c[b>>2]|0))return;V0(a);return}function P0(a){a=a|0;return c[(c[a+180>>2]|0)+8>>2]|0}function Q0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;j=n+8|0;k=n;m=c[b+180>>2]|0;i=c[m+4>>2]|0;h=(i>>>0)/1e3|0;c[j>>2]=h;i=((i>>>0)%1e3|0)*1e6|0;f=j+4|0;c[f>>2]=i;g=k+4|0;while(1){c[105438]=0;c[k>>2]=h;c[g>>2]=i;i=(yh(k|0,j|0)|0)!=0;if(!(i&(c[105438]|0)==4))break;h=c[j>>2]|0;i=c[f>>2]|0}f=c[m>>2]|0;if(f){k=Uh[c[f+8>>2]&63](f,d,1,e)|0;f=e-k|0;d=d+k|0;if((f|0)>0){k=c[m>>2]|0;Rh[c[k+16>>2]&511](k)|0;c[m>>2]=0}}else f=e;u6(d|0,a[b+11>>0]|0,f|0)|0;l=n;return e|0}function R0(a){a=a|0;return}function S0(a){a=a|0;var b=0,d=0;d=a+180|0;a=c[d>>2]|0;b=c[a>>2]|0;if(b){Rh[c[b+16>>2]&511](b)|0;a=c[d>>2]|0}C2(c[a+8>>2]|0);C2(c[d>>2]|0);return}function T0(){U0(0,404421,1);U0(1,404448,2);return}function U0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j;g=r4(d)|0;h=B2(g+9|0)|0;f=(h|0)==0;if(!b){if(f){l=j;return}c[h>>2]=e;e=h+8|0;f=r4(d)|0;f=f>>>0<g>>>0?f:g;if((g|0)==-1){g=421060;e=421068;f=421068}else{s6(e|0,d|0,f|0)|0;a[e+f>>0]=0;g=421060;e=421068;f=421068}}else{if(f){l=j;return}c[h>>2]=e;f=h+8|0;e=r4(d)|0;e=e>>>0<g>>>0?e:g;if((g|0)==-1){g=421064;e=421072;f=421072}else{s6(f|0,d|0,e|0)|0;a[f+e>>0]=0;g=421064;e=421072;f=421072}}c[h+4>>2]=c[f>>2];c[e>>2]=h;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)==-1){l=j;return}h=c[104348]|0;if(h|0?c[h>>2]&1|0:0){l=j;return}e=i;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[i>>2]=4352;c[i+8>>2]=d;a[i+12>>0]=b;c[i+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,i)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(i,1,0,0,0)|0)>=1)_Z(i);l=j;return}function V0(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;g=h;d=b+136|0;do{e=c[d>>2]|0;f=c[d>>2]|0;if((f|0)==(e|0))c[d>>2]=e}while((f|0)!=(e|0));if(!e){l=h;return}fi[c[421008>>2]&511](b);c[d>>2]=0;fi[c[421012>>2]&511](b);f=c[104348]|0;if(f|0?c[f>>2]&2|0:0){l=h;return}d=g;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[g>>2]=4353;c[g+8>>2]=c[b>>2];a[g+12>>0]=(c[b+144>>2]|0)!=0&1;c[g+4>>2]=YZ()|0;d=c[104587]|0;if(d|0)do{Sh[c[d>>2]&255](c[d+4>>2]|0,g)|0;d=c[d+8>>2]|0}while((d|0)!=0);if((ZZ(g,1,0,0,0)|0)>=1)_Z(g);l=h;return}function W0(a){a=a|0;c[a+4>>2]=32;c[a+28>>2]=53;c[a+72>>2]=1;c[a+76>>2]=1;c[a+68>>2]=1;return 1}function X0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function Y0(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n+8|0;m=n;j=((e[b+12>>1]|0)*1e3|0)/(c[b+4>>2]|0)|0;i=(j>>>0)/1e3|0;c[k>>2]=i;j=((j>>>0)%1e3|0)*1e6|0;g=k+4|0;c[g>>2]=j;h=m+4|0;while(1){c[105438]=0;c[m>>2]=i;c[h>>2]=j;j=(yh(m|0,k|0)|0)!=0;if(!(j&(c[105438]|0)==4))break;i=c[k>>2]|0;j=c[g>>2]|0}u6(d|0,a[b+11>>0]|0,f|0)|0;l=n;return f|0}function Z0(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+1504|0;x=y+1488|0;s=y+1480|0;r=y+1472|0;q=y+1464|0;m=y+1456|0;k=y+1448|0;o=y+1440|0;n=y+1432|0;w=y;c[103104]=0;v=b>>>4&512|b;v=(v&544|0)==0?v:v|16384;do if(!(c[104588]|0)){c[104588]=1;if(!(ub(4,418356)|0)){c[104591]=1;break}else{Pf(418368,0)|0;break}}while(0);if(v&16384|0){b=a[436541]|0;if(!(b<<24>>24)){d=c[104334]|0;do if(d){b=c[d>>2]|0;if(!(b&8))p=15;else p=32}else{d=B2(32)|0;if(!d){c[104334]=0;p=33;break}if(!(c[d+-4>>2]&3))b=c[d>>2]|0;else{b=d;f=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));b=0}c[104334]=d;p=15}while(0);if((p|0)==15){c[d>>2]=b|8;do{b=c[7886]|0;d=c[7886]|0;if((d|0)==(b|0))c[7886]=b}while((d|0)!=(b|0));if((b|0)!=0&(c[7885]|0)!=0?(e=c[7889]|0,e|0):0){d=e;do{f=d+72|0;e=d;d=c[f>>2]|0;b=d;if((c[e>>2]|0)==771){g=e+68|0;h=c[g>>2]|0;if(!h)b=d;else{c[h+72>>2]=b;b=c[f>>2]|0}if(b|0)c[b+68>>2]=h;if((c[7889]|0)==(e|0))c[7889]=b;if((c[7890]|0)==(e|0))c[7890]=c[g>>2];c[f>>2]=c[7891];c[7891]=e;c[7887]=(c[7887]|0)+-1}}while((d|0)!=0)}b=c[104334]|0;if(!b)p=33;else{d=b;b=c[b>>2]|0;p=32}}do if((p|0)==32){if(!(b&4))p=39}else if((p|0)==33){d=B2(32)|0;if(!d){c[104334]=0;break}if(!(c[d+-4>>2]&3))b=c[d>>2]|0;else{b=d;f=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));b=0}c[104334]=d;p=39}while(0);if((p|0)==39){c[d>>2]=b|4;do{b=c[7886]|0;d=c[7886]|0;if((d|0)==(b|0))c[7886]=b}while((d|0)!=(b|0));if((b|0)!=0&(c[7885]|0)!=0?(i=c[7889]|0,i|0):0){d=i;do{f=d+72|0;e=d;d=c[f>>2]|0;b=d;if((c[e>>2]|0)==770){g=e+68|0;h=c[g>>2]|0;if(!h)b=d;else{c[h+72>>2]=b;b=c[f>>2]|0}if(b|0)c[b+68>>2]=h;if((c[7889]|0)==(e|0))c[7889]=b;if((c[7890]|0)==(e|0))c[7890]=c[g>>2];c[f>>2]=c[7891];c[7891]=e;c[7887]=(c[7887]|0)+-1}}while((d|0)!=0)}}d=c[104333]|0;do if(d){b=c[d>>2]|0;if(!(b&2))p=62}else{d=B2(32)|0;if(!d){c[104333]=0;break}if(!(c[d+-4>>2]&3))b=c[d>>2]|0;else{b=d;f=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));b=0}c[104333]=d;p=62}while(0);if((p|0)==62){c[d>>2]=b|2;do{b=c[7886]|0;d=c[7886]|0;if((d|0)==(b|0))c[7886]=b}while((d|0)!=(b|0));if((b|0)!=0&(c[7885]|0)!=0?(j=c[7889]|0,j|0):0){d=j;do{f=d+72|0;e=d;d=c[f>>2]|0;b=d;if((c[e>>2]|0)==513){g=e+68|0;h=c[g>>2]|0;if(!h)b=d;else{c[h+72>>2]=b;b=c[f>>2]|0}if(b|0)c[b+68>>2]=h;if((c[7889]|0)==(e|0))c[7889]=b;if((c[7890]|0)==(e|0))c[7890]=c[g>>2];c[f>>2]=c[7891];c[7891]=e;c[7887]=(c[7887]|0)+-1}}while((d|0)!=0)}}c[7886]=1;if(!(a_(405547,0)|0)){zh(2,0,w|0)|0;if(!(c[w>>2]|0)){c[w>>2]=324;zh(2,w|0,0)|0}zh(15,0,w|0)|0;if(!(c[w>>2]|0)){c[w>>2]=324;zh(15,w|0,0)|0}}b=a[436541]|0}a[436541]=b+1<<24>>24}if(v&1|0)a[436527]=(a[436527]|0)+1<<24>>24;if(v&32|0){b=a[436532]|0;do if(!(b<<24>>24))if((_0()|0)<0){x=-1;l=y;return x|0}else{b=a[436532]|0;break}while(0);a[436532]=b+1<<24>>24}if(v&16|0){b=a[436531]|0;if(!(b<<24>>24)){if(a[436531]|0)j1();b=420956;f=b+120|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));b=421112;f=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));g=Of(404347)|0;a:do if(!g){b=0;d=0;while(1){if((d|0)==3){d=1;p=105;break a}while(1){e=c[32636+(d<<2)>>2]|0;if(!(c[e+12>>2]|0))break;d=d+1|0;if((d|0)==3){d=1;p=105;break a}}b=420964;f=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[105239]=c[e>>2];c[105240]=c[e+4>>2];if(!(Rh[c[e+8>>2]&511](420964)|0)){b=1;d=d+1|0}else break}}else{b=0;d=0;while(1){if((d|0)==3){d=0;p=105;break a}f=r4(g)|0;while(1){e=c[32636+(d<<2)>>2]|0;if(!(w4(c[e>>2]|0,g,f)|0))break;d=d+1|0;if((d|0)==3){d=0;p=105;break a}}b=420964;f=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));c[105239]=c[e>>2];c[105240]=c[e+4>>2];if(!(Rh[c[e+8>>2]&511](420964)|0)){b=1;d=d+1|0}else break}}while(0);if((p|0)==105){do if(!b)if(d){vV(404395,o);break}else{c[n>>2]=g;vV(404363,n);break}while(0);b=420956;f=b+120|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(f|0));x=-1;l=y;return x|0}b=B2(12)|0;if(!b)vV(392416,m);else{vV(404476,k);C2(b)}c[105262]=0;if(c[105257]|0){if(!(c[105252]|0))c[105252]=325;if(!(c[105253]|0))c[105253]=325}b=c[105241]|0;if(!b){c[105241]=11;b=11}if(!(c[105242]|0))c[105242]=33;if(!(c[105243]|0))c[105243]=326;if(!(c[105244]|0))c[105244]=327;if(!(c[105245]|0))c[105245]=328;if(!(c[105246]|0))c[105246]=437;if(!(c[105247]|0))c[105247]=438;if(!(c[105248]|0))c[105248]=54;if(!(c[105249]|0))c[105249]=329;if(!(c[105250]|0))c[105250]=330;if(!(c[105251]|0))c[105251]=331;if(!(c[105252]|0))c[105252]=332;if(!(c[105253]|0))c[105253]=333;if(!(c[105254]|0))c[105254]=334;if(!(c[105255]|0))c[105255]=12;$h[b&31]();b=a[436531]|0}a[436531]=b+1<<24>>24}if(v&512|0){b=a[436536]|0;b:do if(!(b<<24>>24)){b=c[104300]|0;c:do if(b|0){while(1){if(!(e3(404206,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b)break c}f=b+12|0;b=c[f>>2]|0;if(b|0){d=0;while(1){e=c[b+8>>2]|0;if((c[b>>2]|0)==32?(c[b+4>>2]|0)==0:0)break;if(!e)break c;else{d=b;b=e}}c[(d|0?d+8|0:f)>>2]=e;C2(b)}}while(0);e=B2(12)|0;d:do if(!e)vV(392416,q);else{c[e>>2]=32;c[e+4>>2]=0;b=c[104300]|0;e:do if(!b)p=165;else{d=b;while(1){if(!(e3(404206,c[d>>2]|0)|0))break e;d=c[d+16>>2]|0;if(!d){p=165;break}}}while(0);do if((p|0)==165){d=B2(20)|0;if(!d){vV(392416,r);C2(e);break d}else{c[d>>2]=P4(404206)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=c[104300];c[104300]=d;b=d;break}}while(0);d=d+12|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;d=Of(404206)|0;f:do if(!b){b=d;p=174}else{while(1){if(!(e3(404206,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){b=d;p=174;break f}}if(d|0?(c[b+8>>2]|0)!=2:0){b=d;p=175;break}b=c[b+4>>2]|0;p=174}while(0);if((p|0)==174)if(!b)b=0;else p=175;if((p|0)==175)b=(a[b>>0]|0)==49&1;c[105277]=b}while(0);if((Z0(16384)|0)<0){x=-1;l=y;return x|0}c[105273]=0;d=dc()|0;do if((d|0)==-1)b=404324;else{if((d|0)>0){b=0;do{if(!(ac(b|0,w|0)|0))f1(0,w,0)|0;b=b+1|0}while((b|0)!=(d|0))}if(vf(0,0,55)|0){b=c[105272]|0;if(b|0)do{x=b;b=c[b+1320>>2]|0;C2(c[x+8>>2]|0);C2(c[x+4>>2]|0);C2(x)}while((b|0)!=0);c[105275]=0;c[105272]=0;c[105273]=0;c[105276]=0;vf(0,0,0)|0;wf(0,0,0)|0;b=404285;break}if(!(wf(0,0,56)|0)){b=a[436536]|0;break b}b=c[105272]|0;if(b|0)do{x=b;b=c[b+1320>>2]|0;C2(c[x+8>>2]|0);C2(c[x+4>>2]|0);C2(x)}while((b|0)!=0);c[105275]=0;c[105272]=0;c[105273]=0;c[105276]=0;vf(0,0,0)|0;wf(0,0,0)|0;b=404243}while(0);vV(b,s);x=-1;l=y;return x|0}while(0);a[436536]=b+1<<24>>24}if(v&8192|0){b=a[436540]|0;if(!(b<<24>>24)){$0(403345);d=Of(403595)|0;b=c[104300]|0;g:do if(!b){t=d;p=202}else{while(1){if(!(e3(403595,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){t=d;p=202;break g}}if(d|0?(c[b+8>>2]|0)!=2:0){u=d;p=203;break}t=c[b+4>>2]|0;p=202}while(0);if((p|0)==202?t|0:0){u=t;p=203}if((p|0)==203?a[u>>0]|0:0){t=r4(u)|0;e=B2(t+1|0)|0;s6(e|0,u|0,t|0)|0;a[e+t>>0]=0;if(e|0){d=s4(e,10)|0;if(!d)b=e;else{b=e;do{a[d>>0]=0;$0(b);b=d+1|0;d=s4(b,10)|0}while((d|0)!=0)}$0(b)}C2(e)}e=B2(12)|0;if(e|0){c[e>>2]=182;c[e+4>>2]=0;c[e+8>>2]=0;b=c[104587]|0;if(!b)b=418348;else{d=b;do{b=d+8|0;d=c[b>>2]|0}while((d|0)!=0)}c[b>>2]=e}if((c[105273]|0)>0){e=w+8|0;f=w+4|0;d=0;do{if(b1(d)|0){c[w>>2]=1619;c[e>>2]=d;c[f>>2]=YZ()|0;b=c[104587]|0;if(b|0)do{Sh[c[b>>2]&255](c[b+4>>2]|0,w)|0;b=c[b+8>>2]|0}while((b|0)!=0);if((ZZ(w,1,0,0,0)|0)>=1)_Z(w)}d=d+1|0}while((d|0)<(c[105273]|0))}b=a[436540]|0}a[436540]=b+1<<24>>24}if(!(v&4096)){x=0;l=y;return x|0}vV(403294,x);x=-1;l=y;return x|0}function _0(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;k=s+16|0;f=s+8|0;j=s;if(c[104297]|0)B1();do if(!(c[104588]|0)){c[104588]=1;if(!(ub(4,418356)|0)){c[104591]=1;break}else{Pf(418368,0)|0;break}}while(0);if((Z0(16384)|0)<0){r=-1;l=s;return r|0}s6(418896,32672,2048)|0;c[104328]=1;i=Of(404510)|0;do if(!i){if(Qh[c[31672>>2]&15]()|0?(e=Rh[c[31676>>2]&511](0)|0,e|0):0){d=e;b=0;break}if(Qh[c[32596>>2]&15]()|0?(d=Rh[c[32600>>2]&511](0)|0,d|0):0){b=1;break}vV(404543,f);r=-1;l=s;return r|0}else{f=c[7916]|0;if((w4(f,i,r4(i)|0)|0)==0?(Qh[c[31672>>2]&15]()|0)!=0:0){b=0;g=32652;e=15}else e=12;if(((e|0)==12?(f=c[8147]|0,(w4(f,i,r4(i)|0)|0)==0):0)?Qh[c[32596>>2]&15]()|0:0){b=1;g=32656;e=15}if((e|0)==15?(h=Rh[c[(c[g>>2]|0)+12>>2]&511](0)|0,h|0):0){d=h;break}c[j>>2]=i;vV(404526,j);r=-1;l=s;return r|0}while(0);c[104297]=d;c[d>>2]=c[c[32652+(b<<2)>>2]>>2];c[d+284>>2]=1;c[d+388>>2]=0;c[d+648>>2]=0;c[d+292>>2]=3;c[d+296>>2]=3;c[d+300>>2]=2;c[d+304>>2]=0;c[d+312>>2]=0;c[d+308>>2]=16;c[d+316>>2]=0;c[d+320>>2]=1;i=d+324|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[d+384>>2]=1;c[d+352>>2]=-1;c[d+356>>2]=2;c[d+360>>2]=0;c[d+368>>2]=4;c[d+364>>2]=0;c[d+380>>2]=0;c[d+376>>2]=1;c[d+372>>2]=0;i=c[105294]|0;c[105294]=i+1;c[(c[104297]|0)+660>>2]=i+1;i=c[105294]|0;c[105294]=i+1;j=c[104297]|0;c[j+664>>2]=i+1;if((Rh[c[j+4>>2]&511](j)|0)<0){B1();r=-1;l=s;return r|0}h=c[104297]|0;if(!(c[h+264>>2]|0)){B1();vV(404569,k);r=-1;l=s;return r|0}g=h+132|0;do if(c[g>>2]|0){e=Of(405354)|0;d=c[104300]|0;f=(d|0)==0;a:do if(f){m=e;e=29}else{b=d;while(1){if(!(e3(405354,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){m=e;e=29;break a}}if(e|0?(c[b+8>>2]|0)!=2:0){n=e;e=30;break}m=c[b+4>>2]|0;e=29}while(0);if((e|0)==29?m|0:0){n=m;e=30}if((e|0)==30?(q4(n,404611)|0)==0:0)break;b=Of(404620)|0;b:do if(f)e=37;else{while(1){if(!(e3(404620,c[d>>2]|0)|0))break;d=c[d+16>>2]|0;if(!d){e=37;break b}}if(b|0?(c[d+8>>2]|0)!=2:0)break;b=c[d+4>>2]|0;e=37}while(0);if((e|0)==37)if(!b)break;if((a[b>>0]|0)!=48?q4(b,404649)|0:0)e=40}else e=40;while(0);if((e|0)==40){c[g>>2]=22;c[h+136>>2]=34;c[h+140>>2]=226}if(!(a_(404655,0)|0)){if(h|0){b=h+260|0;if((c[b>>2]|0)==0?(c[b>>2]=1,q=c[h+208>>2]|0,(q|0)!=0):0){fi[q&511](h);o=c[104297]|0;e=46}else{p=h;e=47}}}else{o=h;e=46}if((e|0)==46?o|0:0){p=o;e=47}if(((e|0)==47?(r=c[p+224>>2]|0,r|0):0)?Rh[r&511](p)|0:0){r=0;l=s;return r|0}d=c[104334]|0;if(d|0){b=c[d>>2]|0;if(b&8){b=b&-9;c[d>>2]=b}if(b&4|0)c[d>>2]=b&-5}b=c[104297]|0;if(!b){r=0;l=s;return r|0}d=c[b+272>>2]|0;do if(d){do{if(c[d+48>>2]&512|0){e=58;break}d=c[d+152>>2]|0}while((d|0)!=0);if((e|0)==58){e=c[b+228>>2]|0;if(!e)break;li[e&511](b,d);b=c[104297]|0}if(!b){r=0;l=s;return r|0}}while(0);d=c[b+212>>2]|0;if(!d){r=0;l=s;return r|0}fi[d&511](b);r=0;l=s;return r|0}function $0(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+208|0;x=F+136|0;E=F+128|0;D=F+120|0;v=F+112|0;t=F+104|0;s=F+96|0;f=F+88|0;e=F+80|0;d=F+72|0;A=F+180|0;B=F+160|0;C=F+16|0;w=F;m=F+144|0;if(!b){c[d>>2]=403812;vV(406140,d);l=F;return}d=s4(b,44)|0;do if(d|0){d=d-b|0;k=B2(d+1|0)|0;if(!k){vV(392416,e);break}s6(k|0,b|0,d|0)|0;a[k+d>>0]=0;o=(q4(k,403854)|0)==0;r=(q4(k,403861)|0)==0;j=(r4(k)|0)&-2;h=A;q=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(q|0));a:do if(j|0){i=A;g=A;h=0;while(1){if((g-i|0)>=16)break a;d=a[k+h>>0]|0;e=d<<24>>24;do if((d+-48&255)>=10)if((d+-65&255)<6){d=e+201|0;break}else{d=(d+-97&255)<6?e+169|0:0;break}else d=e+208|0;while(0);f=d<<4;d=a[k+(h|1)>>0]|0;e=d<<24>>24;do if((d+-48&255)>=10)if((d+-65&255)<6){d=e+201|0;break}else{d=(d+-97&255)<6?e+169|0:0;break}else d=e+208|0;while(0);a[g>>0]=d|f;h=h+2|0;if(h>>>0>=j>>>0)break;else g=g+1|0}}while(0);h=m;e=A;q=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(q|0));C2(k);h=w;e=m;q=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(q|0));d=s4(b,44)|0;do if((d|0)!=0?(p=d+1|0,n=s4(p,44)|0,(n|0)!=0):0){d=n-d|0;f=B2(d)|0;if(!f){vV(392416,s);z=25;break}s6(f|0,p|0,d|0)|0;a[f+(d+-1)>>0]=0;d=s4(b,44)|0;if((d|0?(u=s4(d+1|0,44)|0,u|0):0)?(y=P4(u+1|0)|0,y|0):0){d=c[105269]|0;b:do if(d|0){p=d;while(1){if(!(f3(w,p,16)|0))break;d=c[p+24>>2]|0;if(!d)break b;else p=d}o=p+16|0;C2(c[o>>2]|0);c[o>>2]=f;n=p+20|0;C2(c[n>>2]|0);c[n>>2]=y;d=c[105274]|0;if(!d){l=F;return}k=C+8|0;m=C+4|0;do{j=d+12|0;if(!(f3(j,p,16)|0)){c[C>>2]=1621;c[k>>2]=c[c[d>>2]>>2];c[m>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,C)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(C,1,0,0,0)|0)>=1)_Z(C);e=c[o>>2]|0;g=c[n>>2]|0;t6(d+12|0,p|0,16)|0;c[d+28>>2]=e;c[d+208>>2]=-1;c[d+216>>2]=-1;c[d+224>>2]=-1;c[d+232>>2]=-1;c[d+240>>2]=-1;c[d+248>>2]=-1;c[d+256>>2]=-1;c[d+264>>2]=-1;c[d+272>>2]=-1;c[d+280>>2]=-1;c[d+288>>2]=-1;c[d+296>>2]=-1;c[d+304>>2]=-1;c[d+312>>2]=-1;u6(d+32|0,-1,172)|0;e=0;do{c[d+320+(e<<2)>>2]=-1;c[d+512+(e<<2)>>2]=-1;c[d+704+(e<<2)>>2]=-1;c[d+896+(e<<2)>>2]=-1;e=e+1|0}while((e|0)!=48);u6(d+1088|0,-1,256)|0;h=A;q=h+20|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(q|0));h=B;q=h+20|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(q|0));c:do if(g){e=0;f=1;i=g;d:while(1){g=a[i>>0]|0;e:do switch(g<<24>>24){case 0:{z=55;break c}case 58:{e=0;f=0;break}case 32:break;case 44:{d1(A,B,j);h=A;q=h+20|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(q|0));h=B;q=h+20|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(q|0));e=0;f=1;break}default:{h=e>>>0>19;if(!f){if(h){z=51;break d}a[B+e>>0]=g;e=e+1|0;f=0;break e}else{if(h){z=48;break d}a[A+e>>0]=g;e=e+1|0;break e}}}while(0);i=i+1|0}if((z|0)==48){z=0;c[D>>2]=A;vV(403918,D);break}else if((z|0)==51){z=0;c[E>>2]=B;vV(403944,E);break}}else z=55;while(0);if((z|0)==55)d1(A,B,j)}d=c[d+1344>>2]|0}while((d|0)!=0);l=F;return}while(0);d=B2(28)|0;if(!d){C2(f);C2(y);vV(392416,x);break}h=d;e=w;q=h+16|0;do{a[h>>0]=a[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(q|0));c[d+16>>2]=f;c[d+20>>2]=y;c[d+24>>2]=c[105269];c[105269]=d;if(!((d|0)!=0&1)){l=F;return}if(o)c[105271]=d;if(!r){l=F;return}c[105270]=d;l=F;return}C2(f);c[v>>2]=b;vV(403900,v)}else z=25;while(0);if((z|0)==25){c[t>>2]=b;vV(403872,t)}l=F;return}while(0);c[f>>2]=b;vV(403826,f);l=F;return}function a1(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;g=q+64|0;e=q+56|0;p=q;switch(c[f>>2]|0){case 1536:{i=a[f+12>>0]|0;if((i&255)>47){c[e>>2]=i&255;vV(403664,e);l=q;return 1}e=c[105274]|0;if(!e){l=q;return 1}h=c[f+8>>2]|0;while(1){j=c[e>>2]|0;if((c[j>>2]|0)==(h|0))break;g=c[e+1344>>2]|0;if(!g){m=28;break}else e=g}if((m|0)==28){l=q;return 1}g=i&255;h=c[e+320+(g<<2)>>2]|0;if((h|0)<=-1){g=c[e+896+(g<<2)>>2]|0;if((g|0)<=-1){l=q;return 1}o=b[f+16>>1]|0;e=o<<16>>16;e=((o<<16>>16<0?0-e|0:e)|0)>16384;o=e?1617:1618;c[p>>2]=o;n=c[104337]|0;if(!((n|0)!=0?(c[n+8>>2]&1<<(o&19)|0)!=0:0)){c[p+8>>2]=c[j>>2];a[p+12>>0]=g;a[p+13>>0]=e&1;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}l=q;return 1}e=b[f+16>>1]|0;if((h&-2|0)==4)e=(((e<<16>>16)/2|0)&65535)+16384&65535;o=c[104337]|0;if(o|0?c[o+8>>2]&65536|0:0){l=q;return 1}c[p>>2]=1616;c[p+8>>2]=c[j>>2];a[p+12>>0]=h;b[p+16>>1]=e;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p);l=q;return 1}case 1540:case 1539:{i=a[f+12>>0]|0;if((i&255)>47){c[g>>2]=i&255;vV(403737,g);l=q;return 1}e=c[105274]|0;if(!e){l=q;return 1}h=c[f+8>>2]|0;while(1){j=c[e>>2]|0;if((c[j>>2]|0)==(h|0))break;g=c[e+1344>>2]|0;if(!g){m=28;break}else e=g}if((m|0)==28){l=q;return 1}g=i&255;h=c[e+704+(g<<2)>>2]|0;if((h|0)>-1){e=a[f+13>>0]|0;switch(e<<24>>24){case 1:{k=1617;m=37;break}case 0:{k=1618;m=37;break}default:{}}do if((m|0)==37){c[p>>2]=k;o=c[104337]|0;if(o|0?c[o+8>>2]&1<<(k&19)|0:0)break;c[p+8>>2]=c[j>>2];a[p+12>>0]=h;a[p+13>>0]=e;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0);l=q;return 1}g=c[e+512+(g<<2)>>2]|0;if((g|0)<=-1){l=q;return 1}e=a[f+13>>0]|0;o=c[104337]|0;if(o|0?c[o+8>>2]&65536|0:0){l=q;return 1}c[p>>2]=1616;c[p+8>>2]=c[j>>2];a[p+12>>0]=g;b[p+16>>1]=e<<24>>24?32767:0;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p);l=q;return 1}case 1538:{o=f+12|0;g=a[o>>0]|0;if((g&255)>3){l=q;return 1}e=c[105274]|0;if(!e){l=q;return 1}h=c[f+8>>2]|0;n=e;while(1){i=c[n>>2]|0;if((c[i>>2]|0)==(h|0))break;e=c[n+1344>>2]|0;if(!e){m=28;break}else n=e}if((m|0)==28){l=q;return 1}j=g&255;g=a[n+8+j>>0]|0;k=f+13|0;h=a[k>>0]&g;j=j<<4;g=(h^g)&255;if(g&4|0){e=c[n+1088+((j|4)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1618;f=c[104337]|0;if(f|0?c[f+8>>2]&262144|0:0)break;c[p+8>>2]=c[i>>2];a[p+12>>0]=e;a[p+13>>0]=0;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&1|0){e=c[n+1088+((j|1)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1618;f=c[104337]|0;if(f|0?c[f+8>>2]&262144|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=0;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&8|0){e=c[n+1088+((j|8)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1618;f=c[104337]|0;if(f|0?c[f+8>>2]&262144|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=0;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&2|0){e=c[n+1088+((j|2)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1618;f=c[104337]|0;if(f|0?c[f+8>>2]&262144|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=0;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}g=(a[k>>0]^h)&255;if(g&4|0){e=c[n+1088+((j|4)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1617;f=c[104337]|0;if(f|0?c[f+8>>2]&131072|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=1;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&1|0){e=c[n+1088+((j|1)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1617;f=c[104337]|0;if(f|0?c[f+8>>2]&131072|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=1;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&8|0){e=c[n+1088+((j|8)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1617;f=c[104337]|0;if(f|0?c[f+8>>2]&131072|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=1;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}if(g&2|0){e=c[n+1088+((j|2)<<2)>>2]|0;do if((e|0)!=-1){c[p>>2]=1617;f=c[104337]|0;if(f|0?c[f+8>>2]&131072|0:0)break;c[p+8>>2]=c[c[n>>2]>>2];a[p+12>>0]=e;a[p+13>>0]=1;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p)}while(0)}a[(d[o>>0]|0)+(n+8)>>0]=a[k>>0]|0;l=q;return 1}case 1541:{e=f+8|0;if(!(b1(c[e>>2]|0)|0)){l=q;return 1}c[p>>2]=1619;c[p+8>>2]=c[e>>2];c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p);l=q;return 1}case 1542:{e=c[105274]|0;if(!e){l=q;return 1}g=c[f+8>>2]|0;while(1){if((c[c[e>>2]>>2]|0)==(g|0))break;e=c[e+1344>>2]|0;if(!e){m=28;break}}if((m|0)==28){l=q;return 1}c[p>>2]=1620;c[p+8>>2]=g;c[p+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,p)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(p,1,0,0,0)|0)>=1)_Z(p);c1();l=q;return 1}default:{l=q;return 1}}return 0}function b1(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+8|0;e=k;g=k+32|0;h=k+16|0;i=(b|0)<0;d=c[105273]|0;if((d|0)>(b|0)&(i^1)){d=c[105272]|0;if((b|0)>0){e=b;while(1){d=c[d+1320>>2]|0;if((e|0)>1)e=e+-1|0;else break}}d=c[d+4>>2]|0;e=g;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=r4(d)|0;s6(g|0,d|0,(e>>>0<16?e:16)|0)|0;e=h;d=g;f=e+16|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(f|0))}else{c[e>>2]=d;vV(403631,e);e=h;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}d=c[105269]|0;a:do if(!d)d=0;else while(1){if(!(f3(h,d,16)|0))break a;d=c[d+24>>2]|0;if(!d){d=0;break}}while(0);h=c[105270]|0;d=(d|0)==0&(h|0)!=0?h:d;if(d|0){j=d;l=k;return j|0}d=c[105273]|0;if(!((d|0)>(b|0)&(i^1))){c[j>>2]=d;vV(403631,j);j=0;l=k;return j|0}d=c[105272]|0;if((b|0)>0)while(1){d=c[d+1320>>2]|0;if((b|0)>1)b=b+-1|0;else break}d=c[d+4>>2]|0;if(!d){j=0;l=k;return j|0}if((m5(d,403620)|0)==0?(m5(d,403625)|0)==0:0){j=0;l=k;return j|0}j=c[105271]|0;l=k;return j|0}function c1(){var a=0,b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;do{a=c[7886]|0;b=c[7886]|0;if((b|0)==(a|0))c[7886]=a}while((b|0)!=(a|0));if(!a){vV(392605,d);l=e;return}b=0;a=c[7889]|0;a:while(1){do{if(!a)break a;d=a;a=c[a+72>>2]|0}while((c[d>>2]|0)!=1619);b=b+1|0}if((b|0)<1){l=e;return}d=l;l=l+((1*(b*56|0)|0)+15&-16)|0;b=ZZ(d,b,2,1619,1619)|0;if((b|0)>0){a=0;do{f=d+(a*56|0)+8|0;c[f>>2]=(c[f>>2]|0)+-1;a=a+1|0}while((a|0)!=(b|0))}ZZ(d,b,0,0,0)|0;l=e;return}function d1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+16|0;k=n+8|0;j=n;if((b|0)!=0?(a[b>>0]|0)!=0:0){if(q4(b,404106)|0)if(q4(b,404108)|0)if(q4(b,404110)|0)if(q4(b,404112)|0)if(q4(b,404114)|0)if(q4(b,404119)|0)if(q4(b,404125)|0)if(q4(b,404131)|0)if(q4(b,404141)|0)if(q4(b,404152)|0)if(q4(b,404165)|0)if(q4(b,404179)|0)if(q4(b,404184)|0)if(!(q4(b,404191)|0))f=13;else{f=(q4(b,404198)|0)==0;f=f?14:-1}else f=12;else f=11;else f=10;else f=9;else f=8;else f=7;else f=6;else f=5;else f=4;else f=3;else f=2;else f=1;else f=0;if(q4(b,404055)|0)if(q4(b,404061)|0)if(q4(b,404067)|0)if(q4(b,404074)|0)if(!(q4(b,404081)|0)){g=4;i=f}else{g=(q4(b,404093)|0)==0;g=g?5:-1;i=f}else{g=3;i=f}else{g=2;i=f}else{g=1;i=f}else{g=0;i=f}}else{g=-1;i=-1}b=d+1|0;h=W5(b)|0;switch(a[d>>0]|0){case 97:{if((h|0)>47){c[j>>2]=h;vV(403979,j);l=n;return}if((g|0)!=-1){c[e+20+(g<<2)>>2]=h;c[e+308+(h<<2)>>2]=g;l=n;return}if((i|0)==-1){l=n;return}c[e+128+(i<<2)>>2]=h;c[e+884+(h<<2)>>2]=i;l=n;return}case 98:{if((h|0)>47){c[k>>2]=h;vV(404004,k);l=n;return}if((i|0)!=-1){c[e+68+(i<<2)>>2]=h;c[e+692+(h<<2)>>2]=i;l=n;return}if((g|0)==-1){l=n;return}c[e+44+(g<<2)>>2]=h;c[e+500+(h<<2)>>2]=g;l=n;return}case 104:{f=W5(b)|0;b=W5(d+3|0)|0;if((f|0)>3){c[m>>2]=h;vV(404031,m)}if((i|0)==-1){l=n;return}c[e+188+(i<<3)>>2]=f;a[e+188+(i<<3)+4>>0]=b;c[e+1076+((f<<4|b)<<2)>>2]=i;l=n;return}default:{l=n;return}}}function e1(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if(!f)b=0;else b=(a[f>>0]|0)==49&1;c[105277]=b;return}function f1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+64|0;i=j;f=b+1300|0;d=c[f>>2]|0;a:do if((d|0)>=0?(e=c[105272]|0,e|0):0){a=e;while(1){if((c[a>>2]|0)==(d|0))break;a=c[a+1320>>2]|0;if(!a)break a}l=j;return 1}while(0);g=B2(1328)|0;if(!g){l=j;return 1}u6(g+4|0,0,1324)|0;c[g>>2]=c[f>>2];f=P4(b+1304|0)|0;a=g+4|0;c[a>>2]=f;if(!f){C2(g);l=j;return 1}f=P4(b+1368|0)|0;c[g+8>>2]=f;if(!f){C2(c[a>>2]|0);C2(g);l=j;return 1}d=c[b+8>>2]|0;e=g+24|0;c[e>>2]=d;a=c[b+12>>2]|0;f=g+20|0;c[f>>2]=a;k=c[105276]|0;c[105276]=k+1;c[g+12>>2]=k;h[g+32>>3]=+h[b>>3];if((d|0)>0){d=g+40|0;a=0;do{h[d+(a<<3)>>3]=+h[b+16+(a<<3)>>3];a=a+1|0}while((a|0)<(c[e>>2]|0));a=c[f>>2]|0}if((a|0)>0){d=g+552|0;e=g+1064|0;a=0;do{h[d+(a<<3)>>3]=+h[b+528+(a<<3)>>3];c[e+(a<<2)>>2]=c[b+1040+(a<<2)>>2];a=a+1|0}while((a|0)<(c[f>>2]|0))}a=c[105275]|0;if(!a){c[105275]=g;a=421088}else{c[a+1320>>2]=g;a=421100}c[a>>2]=g;a=c[105273]|0;c[105273]=a+1;c[i>>2]=1541;k=c[104337]|0;if(!((k|0)!=0?(c[k>>2]&32|0)!=0:0)){c[i+8>>2]=a;c[i+4>>2]=YZ()|0;a=c[104587]|0;if(a|0)do{Sh[c[a>>2]&255](c[a+4>>2]|0,i)|0;a=c[a+8>>2]|0}while((a|0)!=0);if((ZZ(i,1,0,0,0)|0)>=1)_Z(i)}l=j;return 1}function g1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;g=h;a=c[105272]|0;if(!a){l=h;return 1}b=c[b+1300>>2]|0;f=a;d=0;while(1){if((c[f>>2]|0)==(b|0))break;a=c[f+1320>>2]|0;if(!a){e=19;break}else{d=f;f=a}}if((e|0)==19){l=h;return 1}a=c[f+16>>2]|0;if(a|0)c[a+44>>2]=0;a=c[f+1320>>2]|0;if(!d)c[105272]=a;else c[d+1320>>2]=a;if((f|0)==(c[105275]|0))c[105275]=d;c[105273]=(c[105273]|0)+-1;a=c[f+12>>2]|0;c[g>>2]=1542;e=c[104337]|0;if(!((e|0)!=0?(c[e>>2]&64|0)!=0:0)){c[g+8>>2]=a;c[g+4>>2]=YZ()|0;a=c[104587]|0;if(a|0)do{Sh[c[a>>2]&255](c[a+4>>2]|0,g)|0;a=c[a+8>>2]|0}while((a|0)!=0);if((ZZ(g,1,0,0,0)|0)>=1)_Z(g)}h1();C2(c[f+4>>2]|0);C2(c[f+8>>2]|0);C2(f);l=h;return 1}function h1(){var a=0,b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;do{a=c[7886]|0;b=c[7886]|0;if((b|0)==(a|0))c[7886]=a}while((b|0)!=(a|0));if(!a){vV(392605,d);l=e;return}b=0;a=c[7889]|0;a:while(1){do{if(!a)break a;d=a;a=c[a+72>>2]|0}while((c[d>>2]|0)!=1541);b=b+1|0}if((b|0)<1){l=e;return}d=l;l=l+((1*(b*56|0)|0)+15&-16)|0;b=ZZ(d,b,2,1541,1541)|0;if((b|0)>0){a=0;do{f=d+(a*56|0)+8|0;c[f>>2]=(c[f>>2]|0)+-1;a=a+1|0}while((a|0)!=(b|0))}ZZ(d,b,0,0,0)|0;l=e;return}function i1(b){b=b|0;var c=0,d=0,e=0;c=(b|0)==0?29233:b;b=R(c|0)|0;if(b>>>0>31){e=0;return e|0}e=32-b|0;d=0;b=0;while(1){if(c&1)b=((a[436527+d>>0]|0)==0?0:1<<d)|b;d=d+1|0;if((d|0)==(e|0))break;else c=c>>>1}return b|0}function j1(){var a=0,b=0,d=0;if(!(c[105239]|0))return;A1(c[105278]|0);A1(c[105279]|0);A1(c[105280]|0);A1(c[105281]|0);A1(c[105282]|0);A1(c[105283]|0);A1(c[105284]|0);A1(c[105285]|0);A1(c[105286]|0);A1(c[105287]|0);A1(c[105288]|0);A1(c[105289]|0);A1(c[105290]|0);A1(c[105291]|0);A1(c[105292]|0);A1(c[105293]|0);a=c[105267]|0;if(a|0)do{b=a;a=c[a+4>>2]|0;d=c[b>>2]|0;if(d|0)fi[c[421016>>2]&511](d);C2(b)}while((a|0)!=0);c[105267]=0;c[105265]=0;a=c[105268]|0;if(a|0)do{b=a;a=c[a+4>>2]|0;d=c[b>>2]|0;if(d|0)fi[c[421016>>2]&511](d);C2(b)}while((a|0)!=0);c[105268]=0;c[105266]=0;$h[c[421020>>2]&31]();a=c[105262]|0;if(a|0)C2(a);a=420956;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=421112;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function k1(a){a=a|0;return}function l1(){U0(0,404421,1);if(!(c[105258]|0))return;U0(1,404448,2);return}function m1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=l;l=l+16|0;vV(392516,d);l=d;return -1}function n1(a){a=a|0;return}function o1(a){a=a|0;return}function p1(a){a=a|0;return}function q1(a){a=a|0;return 0}function r1(a){a=a|0;return 0}function s1(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function t1(a){a=a|0;return}function u1(a){a=a|0;return}function v1(a){a=a|0;return}function w1(a){a=a|0;return}function x1(a){a=a|0;return}function y1(a){a=a|0;return}function z1(){return}function A1(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0?(d=421112+(b+-1<<2)|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;c[a+132>>2]=1;c[a+136>>2]=0;b=c[a+156>>2]|0;if(b|0){d=c[b+792>>2]|0;if(d|0)C2(d);C2(b)}b=c[a+152>>2]|0;if(b|0)C2(b);C2(c[a+148>>2]|0);if(c[a+28>>2]|0)C2(c[a+44>>2]|0);if(c[a+180>>2]|0)fi[c[421004>>2]&511](a);b=c[a+164>>2]|0;if(b|0)do{d=b;b=c[b+8200>>2]|0;C2(d)}while((b|0)!=0);b=c[a+172>>2]|0;if(b|0)do{d=b;b=c[b+8200>>2]|0;C2(d)}while((b|0)!=0);C2(a);return}function B1(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;j=s;if(!(c[104297]|0)){l=s;return}b=c[105236]|0;a=c[105237]|0;a:do if(b){d=b;h=b;while(1){d=d+-1|0;g=c[a+(d<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;b:do if((h|0)>0){b=0;while(1){i=c[a+(b<<2)>>2]|0;if((c[i>>2]|0)==(f|0)?(c[i+4>>2]|0)==(g|0):0)break;b=b+1|0;if((b|0)>=(h|0)){b=-1;break}}e=0;while(1){i=c[a+(e<<2)>>2]|0;t=i;if((c[t>>2]|0)==(f|0)?(c[t+4>>2]|0)==(g|0):0)break;e=e+1|0;if((e|0)>=(h|0)){o=10;break b}}if((e|0)>-1&(e|0)<(h|0)){if(i){f=i+12|0;g=i+16|0;a=c[g>>2]|0;if((c[f>>2]|0)>0){e=0;do{C2(c[a+(e<<2)>>2]|0);e=e+1|0;a=c[g>>2]|0}while((e|0)<(c[f>>2]|0))}C2(a);C2(i);t=(c[105236]|0)+-1|0;c[105236]=t;a=c[105237]|0;c[a+(b<<2)>>2]=c[a+(t<<2)>>2]}}else o=10}else o=10;while(0);if((o|0)==10){o=0;vV(396046,j);a=c[105237]|0}if(!d)break a;h=c[105236]|0}}while(0);C2(a);c[105237]=0;a=c[104310]|0;if(((a|0?(k=c[104594]|0,k|0):0)?(m=k+48|0,c[m>>2]&16384|0):0)?(Rh[a&511](0)|0)!=-1:0)c[m>>2]=c[m>>2]&-16385;do if(c[104321]|0){if(!(c[104322]|0))Rh[c[417236>>2]&511](0)|0;else c[104322]=0;c[104321]=0;e=c[104313]|0;do if(e|0){t=(c[e+48>>2]&768|0)!=768;d=(t^1)&1;a=c[104297]|0;b=c[a+276>>2]|0;if(t)if((b|0)==(e|0)){b=0;o=32}else b=a;else if(!((b|0)==0|(b|0)==(e|0))?(n=b+48|0,c[n>>2]=c[n>>2]&-257,n=c[a+124>>2]|0,(n|0)!=0):0){si[n&127](a,b,0);b=e;a=c[104297]|0;o=32}else{b=e;o=32}if((o|0)==32){c[a+276>>2]=b;b=a}a=c[b+124>>2]|0;if(a|0)si[a&127](b,e,d);b=c[104313]|0;d=c[104314]|0;e=c[104315]|0;if(b|0){a=c[104307]|0;if(a|0){si[a&127](b,d,e);break}a=c[104312]|0;if(b_(b,d,e)|0)c_(b,a,0,d,e)|0}}while(0);do{a=c[7886]|0;b=c[7886]|0;if((b|0)==(a|0))c[7886]=a}while((b|0)!=(a|0));if((a|0)!=0&(c[7885]|0)!=0?(p=c[7889]|0,p|0):0){b=p;do{e=b+72|0;d=b;b=c[e>>2]|0;a=b;if((c[d>>2]|0)==1024){f=d+68|0;g=c[f>>2]|0;if(!g)a=b;else{c[g+72>>2]=a;a=c[e>>2]|0}if(a|0)c[a+68>>2]=g;if((c[7889]|0)==(d|0))c[7889]=a;if((c[7890]|0)==(d|0))c[7890]=c[f>>2];c[e>>2]=c[7891];c[7891]=d;c[7887]=(c[7887]|0)+-1}}while((b|0)!=0)}a=(c[104313]|0)==0?c[104326]|0:c[104327]|0;b=c[104304]|0;d=(b|0)==0;if((a|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(d)break;Rh[b&511](a)|0;break}else{if(d)break;Rh[b&511](0)|0;break}}while(0);t=c[104328]|0;c[104328]=1;do if((t|0)!=1){a=(c[104313]|0)==0?c[104326]|0:c[104327]|0;b=c[104304]|0;d=(b|0)==0;if((a|0)!=0&(c[104321]|0)==0){if(d)break;Rh[b&511](a)|0;break}else{if(d)break;Rh[b&511](0)|0;break}}while(0);a=c[104325]|0;if(a|0)do{f=a;a=c[a>>2]|0;b=c[104326]|0;c:do if((b|0)!=(f|0)){do if((c[104327]|0)==(f|0)){if(!b)b=(c[104313]|0)==0?0:f;else c[104327]=b;d=c[104304]|0;e=(d|0)==0;if((b|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(e)break;Rh[d&511](b)|0;break}else{if(e)break;Rh[d&511](0)|0;break}}while(0);b=0;d=c[104325]|0;while(1){if(!d)break c;e=c[d>>2]|0;if((d|0)==(f|0))break;else{b=d;d=e}}c[(b|0?b:417300)>>2]=e;b=c[104306]|0;if(b|0)fi[b&511](f)}while(0)}while((a|0)!=0);a=c[104326]|0;if(a|0?(q=c[104306]|0,q|0):0)fi[q&511](a);a=c[104324]|0;if(a|0)C2(a);a=417208;b=a+112|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c2(16384);a=c[104297]|0;b=a+260|0;if((c[b>>2]|0)!=0?(c[b>>2]=0,r=c[a+208>>2]|0,(r|0)!=0):0){fi[r&511](a);a=c[104297]|0}b=c[a+272>>2]|0;if(b)do{d2(b);a=c[104297]|0;b=c[a+272>>2]|0}while((b|0)!=0);fi[c[a+8>>2]&511](a);b=c[104297]|0;d=c[b+264>>2]|0;a=c[b+268>>2]|0;if((d|0)>0){f=0;do{d=c[a+(f*68|0)+8>>2]|0;e=a+(f*68|0)+12|0;b=c[e>>2]|0;if(d)do{d=d+-1|0;C2(c[b+(d*20|0)+16>>2]|0);b=c[e>>2]|0;c[b+(d*20|0)+16>>2]=0}while((d|0)!=0);C2(b);c[e>>2]=0;b=a+(f*68|0)+32|0;C2(c[b>>2]|0);c[b>>2]=0;b=a+(f*68|0)+64|0;C2(c[b>>2]|0);c[b>>2]=0;f=f+1|0;b=c[104297]|0;d=c[b+264>>2]|0;a=c[b+268>>2]|0}while((f|0)<(d|0))}if(!a)a=b;else{if((d|0)>0){b=0;do{C2(c[a+(b*68|0)>>2]|0);b=b+1|0;t=c[104297]|0;a=c[t+268>>2]|0}while((b|0)<(c[t+264>>2]|0))}C2(a);a=c[104297]|0;c[a+268>>2]=0;c[a+264>>2]=0}C2(c[a+288>>2]|0);t=c[104297]|0;c[t+288>>2]=0;fi[c[t+684>>2]&511](t);c[104297]=0;l=s;return}function C1(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+128|0;k=t+40|0;s=t+32|0;q=t+24|0;n=t+16|0;i=t+8|0;r=t+44|0;b=c[104297]|0;a:do if(!b){vV(386054,t);j=11}else{if(d|0?(c[d>>2]|0)==(b+280|0):0){b=c[d+140>>2]|0;if(!b){j=11;break}while(1){i=c[b>>2]|0;if(i|0?(e3(i,404683)|0)==0:0)break;b=c[b+8>>2]|0;if(!b){j=11;break a}}b=c[b+4>>2]|0;if(!b){j=11;break}else{p=b;break}}vV(405282,i);j=11}while(0);if((j|0)==11){i=Of(404620)|0;b=c[104300]|0;b:do if(!b){b=i;j=17}else{while(1){if(!(e3(404620,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){b=i;j=17;break b}}if(i|0?(c[b+8>>2]|0)!=2:0){b=i;j=18;break}b=c[b+4>>2]|0;j=17}while(0);if((j|0)==17)if(!b)j=24;else j=18;do if((j|0)==18)if((((a[b>>0]&-2)<<24>>24!=48?(q4(b,405079)|0)!=0:0)?(q4(b,404649)|0)!=0:0)?(q4(b,404611)|0)!=0:0){if(q4(c[4951]|0,b)|0)if(!(q4(c[7895]|0,b)|0))b=1;else{j=24;break}else b=0;b=$1(d,b)|0;if(b)h=b;else j=24}else j=24;while(0);do if((j|0)==24){if(e3(c[4951]|0,404611)|0?(m=$1(d,0)|0,m|0):0){h=m;break}if(e3(c[7895]|0,404611)|0?(h=$1(d,1)|0,h|0):0)break;vV(405084,k);g=-1;l=t;return g|0}while(0);b=B2(20)|0;if(!b){G1(h);vV(392416,n);g=-1;l=t;return g|0}if(c[b+-4>>2]&3|0){i=b;j=i+20|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0))}C0(d,404683,b)|0;c[b>>2]=h;p=b}n=p+4|0;b=c[n>>2]|0;if(b|0){F1(b);c[n>>2]=0}o=p+8|0;C2(c[o>>2]|0);c[o>>2]=0;m=c[p>>2]|0;if(m|0?(c[m>>2]|0)==434477:0){i=r;b=m+104|0;j=i+84|0;do{c[i>>2]=c[b>>2];i=i+4|0;b=b+4|0}while((i|0)<(j|0));b=c[r+12>>2]|0;c[e>>2]=b;k=c[r+8>>2]|0;c:do if(k){j=0;h=b;d:while(1){e:do if((h|0)==0|(h&-268435456|0)==268435456){i=h>>>24&15;if((i+-4|0)>>>0<3)switch(h>>>20&15){case 8:case 7:case 4:case 3:break e;default:{}}if((i+-7|0)>>>0>=5)break d;switch(h>>>20&15){case 5:case 6:case 2:case 3:break;default:break d}}while(0);h=j+1|0;if(h>>>0>=k>>>0)break c;j=h;h=c[r+12+(h<<2)>>2]|0}c[e>>2]=h;b=h}while(0);h=d+24|0;i=d+28|0;d=a2(m,b,c[h>>2]|0,c[i>>2]|0)|0;c[n>>2]=d;if(!d){g=-1;l=t;return g|0}b=c[e>>2]|0;f:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break f}default:{}}else switch(b|0){case 1498831189:{b=2;break f}default:{}}b=(b|0)==1431918169?2:1}while(0);c[p+16>>2]=b;b=(O(c[h>>2]|0,b)|0)+3&-4;h=p+12|0;c[h>>2]=b;b=B2(O(b,c[i>>2]|0)|0)|0;c[o>>2]=b;if(!b){vV(392416,s);g=-1;l=t;return g|0}else{c[f>>2]=b;c[g>>2]=c[h>>2];J1(c[p>>2]|0,0);g=0;l=t;return g|0}}vV(387185,q);g=-1;l=t;return g|0}function D1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+144|0;x=z+80|0;w=z+72|0;v=z+64|0;u=z+56|0;o=z+48|0;n=z+40|0;q=z+32|0;p=z+24|0;h=z+16|0;f=z+8|0;s=z+120|0;t=z+104|0;r=z+88|0;a=c[104297]|0;a:do if(!a)vV(386054,z);else{if(b|0?(c[b>>2]|0)==(a+280|0):0){a=c[b+140>>2]|0;if(!a)break;while(1){f=c[a>>2]|0;if(f|0?(e3(f,404683)|0)==0:0)break;a=c[a+8>>2]|0;if(!a)break a}m=c[a+4>>2]|0;if(!m)break;k=m+4|0;j=c[k>>2]|0;if(!j)break;i=c[b+24>>2]|0;b=c[b+28>>2]|0;if((i|0)<1){c[p>>2]=405051;vV(406140,p);y=0;l=z;return y|0}if((b|0)<1){c[q>>2]=405057;vV(406140,q);y=0;l=z;return y|0}if(!d){c[n>>2]=405064;vV(406140,n);y=0;l=z;return y|0}if((e|0)<1){c[o>>2]=405070;vV(406140,o);y=0;l=z;return y|0}else{a=0;f=0;h=b}do{p=c[d+(a<<4)+4>>2]|0;q=(c[d+(a<<4)+12>>2]|0)+p|0;h=(p|0)<0?0:(p|0)<(h|0)?p:h;f=(q|0)>(b|0)?b:(q|0)>(f|0)?q:f;a=a+1|0}while((a|0)!=(e|0));if((f|0)<=(h|0)){y=0;l=z;return y|0}c[r>>2]=0;c[r+4>>2]=h;c[r+8>>2]=i;c[r+12>>2]=f-h;e=c[m+12>>2]|0;if((K1(j,r,(c[m+8>>2]|0)+(O(e,h)|0)|0,e)|0)<0){y=-1;l=z;return y|0}f=c[m>>2]|0;a=c[k>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;do if((f|0)!=0?(c[f>>2]|0)==434477:0){if(a|0?(c[a>>2]|0)==434478:0){if((c[a+32>>2]|0)!=(f|0)){vV(404728,w);break}do if(!(c[f+192>>2]|0)){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=c[a+12>>2];c[s+12>>2]=c[a+16>>2];B=+g[f+288>>2];A=+g[f+292>>2];v=~~(+(c[f+224>>2]|0)/B);w=~~(+(c[f+228>>2]|0)/A);y=c[a+36>>2]|0;g[t>>2]=B*0.0;g[t+4>>2]=A*0.0;g[t+8>>2]=B*+(v|0);g[t+12>>2]=A*+(w|0);if((Uh[c[f+72>>2]&63](f,(y|0)==0?a:y,s,t)|0)<0)a=-1;else break;l=z;return a|0}while(0);a=c[m>>2]|0;do if(a|0){if((c[a>>2]|0)!=434477)break;if(c[a+192>>2]|0){y=0;l=z;return y|0}fi[c[a+84>>2]&511](a);y=0;l=z;return y|0}while(0);vV(387185,x);y=0;l=z;return y|0}vV(387202,v)}else y=26;while(0);if((y|0)==26)vV(387185,u);y=-1;l=z;return y|0}vV(405282,f)}while(0);vV(404821,h);y=-1;l=z;return y|0}function E1(a,b){a=a|0;b=b|0;b=C0(b,404683,0)|0;if(!b)return;a=c[b+4>>2]|0;if(a|0)F1(a);a=c[b>>2]|0;if(a|0)G1(a);C2(c[b+8>>2]|0);C2(b);return}function F1(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f;if(a|0?(c[a>>2]|0)==434478:0){e=c[a+32>>2]|0;if((c[e+308>>2]|0)==(a|0))I1(e,0);c[a>>2]=0;d=c[a+76>>2]|0;b=a+72|0;if(d|0)c[d+72>>2]=c[b>>2];b=c[b>>2]|0;c[((b|0)==0?e+304|0:b+76|0)>>2]=d;b=c[a+36>>2]|0;if(b|0)F1(b);b=c[a+40>>2]|0;if(b|0){C2(c[b+16>>2]|0);C2(c[b+20>>2]|0);C2(c[b+24>>2]|0);YV(c[b+56>>2]|0);YV(c[b+60>>2]|0);C2(b)}C2(c[a+44>>2]|0);li[c[e+88>>2]&511](e,a);C2(a);l=f;return}vV(387202,b);l=f;return}function G1(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f;if(a|0?(c[a>>2]|0)==434477:0){b=c[104587]|0;a:do if(b|0){e=0;while(1){d=c[b+8>>2]|0;if((c[b>>2]|0)==183?(c[b+4>>2]|0)==(a|0):0)break;if(!d)break a;else{e=b;b=d}}c[(e|0?e+8|0:418348)>>2]=d;C2(b)}while(0);d=a+304|0;b=c[d>>2]|0;if(b|0)do{F1(b);b=c[d>>2]|0}while((b|0)!=0);b=c[a+188>>2]|0;if(b|0)C0(b,404706,0)|0;c[a>>2]=0;fi[c[a+92>>2]&511](a);l=f;return}vV(387185,b);l=f;return}function H1(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+144|0;r=K+128|0;q=K+120|0;p=K+112|0;m=K+104|0;x=K+96|0;w=K+88|0;J=K+80|0;F=K+72|0;E=K+64|0;G=K+56|0;D=K+48|0;y=K+40|0;C=K+32|0;z=K+24|0;v=K+16|0;u=K+8|0;t=K;H=K+136|0;I=K+132|0;switch(c[d>>2]|0){case 512:{f=c[d+8>>2]|0;e=c[104297]|0;a:do if((e|0)!=0?(i=c[e+272>>2]|0,(i|0)!=0):0){e=i;while(1){if((c[e+4>>2]|0)==(f|0)){f=e;break a}e=c[e+152>>2]|0;if(!e){f=0;break}}}else f=0;while(0);s=b+188|0;if((f|0)!=(c[s>>2]|0)){l=K;return 0}e=c[b+4>>2]|0;if(e|0)li[e&511](b,d);switch(a[d+12>>0]|0){case 6:{k=b+308|0;p=c[k>>2]|0;q=(p|0)!=0;do if(q){e=c[b+44>>2]|0;if(e|0?c[b+108>>2]&8|0:0){c[k>>2]=0;if((Sh[e&255](b,0)|0)<0)break;t=b+216|0;m=b+232|0;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];t=b+248|0;m=b+264|0;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];t=c[b+284>>2]|0;m=b+296|0;r=c[m+4>>2]|0;d=b+288|0;c[d>>2]=c[m>>2];c[d+4>>2]=r;d=c[b+204>>2]|0;c[b+280>>2]=t;c[b+196>>2]=d;c[b+200>>2]=c[b+208>>2];if((Rh[c[b+48>>2]&511](b)|0)<0)break;Rh[c[b+52>>2]&511](b)|0;break}vV(392516,t)}while(0);i=b+196|0;if(!(c[i>>2]|0)){e=c[b+8>>2]|0;do if(!e){e=c[s>>2]|0;f=c[104297]|0;if(!f){vV(386054,w);break}if(e|0?(c[e>>2]|0)==(f+280|0):0){c[H>>2]=c[e+24>>2];c[I>>2]=c[e+28>>2];break}vV(405282,x)}else Th[e&63](b,H,I)|0;while(0);f=c[H>>2]|0;e=c[I>>2]|0;if(!(c[k>>2]|0)){c[b+216>>2]=0;c[b+220>>2]=0;c[b+224>>2]=f;c[b+228>>2]=e;Rh[c[b+48>>2]&511](b)|0}else{c[b+232>>2]=0;c[b+236>>2]=0;c[b+240>>2]=f;c[b+244>>2]=e}}else{c[H>>2]=1;c[I>>2]=1;m=b+200|0;b:do if(c[m>>2]|0){if((c[b>>2]|0)!=434477){vV(387185,u);break}e=c[k>>2]|0;do if(!e){e=c[b+8>>2]|0;if(e|0)if((Th[e&63](b,H,I)|0)<0)break b;else break;f=c[s>>2]|0;if(!f){vV(387218,y);break b}e=c[104297]|0;if(!e){vV(386054,z);break}if((c[f>>2]|0)==(e+280|0)){c[H>>2]=c[f+24>>2];c[I>>2]=c[f+28>>2];break}else{vV(405282,C);break}}else if((c[e>>2]|0)==434478){c[H>>2]=c[e+12>>2];c[I>>2]=c[e+16>>2];break}else{vV(387202,v);break b}while(0);j=+(c[i>>2]|0)/+(c[m>>2]|0);h=+(c[H>>2]|0)/+(c[I>>2]|0);if((c[b>>2]|0)==434477){g[b+288>>2]=1.0;g[b+292>>2]=1.0}else vV(387185,D);do if(!(c[b+212>>2]|0)){G=+B(+(j-h))<.0001;o=+(c[i>>2]|0);if(G){h=+(c[H>>2]|0)/o;J1(b,0);break}n=+(c[m>>2]|0);if(j>h){j=+(c[H>>2]|0);h=j/o;e=~~+N(+(n*h));if((c[b>>2]|0)==434477){I=((c[I>>2]|0)-e|0)/2|0;n=+g[b+288>>2];c[b+216>>2]=~~+A(+(n*0.0));o=+g[b+292>>2];c[b+220>>2]=~~+A(+(+(I|0)*o));c[b+224>>2]=~~+N(+(j*n));c[b+228>>2]=~~+N(+(+(e|0)*o));Rh[c[b+48>>2]&511](b)|0;break}else{vV(387185,E);break}}else{j=+(c[I>>2]|0);h=j/n;e=~~+N(+(o*h));if((c[b>>2]|0)==434477){n=+g[b+288>>2];c[b+216>>2]=~~+A(+(+(((c[H>>2]|0)-e|0)/2|0|0)*n));o=+g[b+292>>2];c[b+220>>2]=~~+A(+(o*0.0));c[b+224>>2]=~~+N(+(+(e|0)*n));c[b+228>>2]=~~+N(+(j*o));Rh[c[b+48>>2]&511](b)|0;break}else{vV(387185,F);break}}}else{f=c[i>>2]|0;if(j>h){i=c[H>>2]|0;e=(i|0)/(f|0)|0;k=c[m>>2]|0;m=c[I>>2]|0}else{i=c[I>>2]|0;k=c[m>>2]|0;e=(i|0)/(k|0)|0;m=i;i=c[H>>2]|0}h=+(e|0);f=~~+N(+(+(f|0)*h));e=~~+N(+(h*+(k|0)));if((c[b>>2]|0)==434477){n=+g[b+288>>2];c[b+216>>2]=~~+A(+(+((i-f|0)/2|0|0)*n));o=+g[b+292>>2];c[b+220>>2]=~~+A(+(+((m-e|0)/2|0|0)*o));c[b+224>>2]=~~+N(+(+(f|0)*n));c[b+228>>2]=~~+N(+(+(e|0)*o));Rh[c[b+48>>2]&511](b)|0;break}else{vV(387185,G);break}}while(0);if((c[b>>2]|0)==434477){g[b+288>>2]=h;g[b+292>>2]=h;break}else{vV(387185,J);break}}while(0)}if(!q){l=K;return 0}I1(b,p);l=K;return 0}case 2:{c[b+192>>2]=1;l=K;return 0}case 1:{e=c[104297]|0;do if(!e)vV(386054,m);else{if(f|0?(c[f>>2]|0)==(e+280|0):0){if(!(c[f+48>>2]&64))break;l=K;return 0}vV(405282,p)}while(0);c[b+192>>2]=0;l=K;return 0}case 7:{c[b+192>>2]=1;l=K;return 0}case 8:case 9:{e=c[104297]|0;do if(!e)vV(386054,q);else{if(f|0?(c[f>>2]|0)==(e+280|0):0){if(!(c[f+48>>2]&8))break;l=K;return 0}vV(405282,r)}while(0);c[b+192>>2]=0;l=K;return 0}default:{l=K;return 0}}}case 1024:{if(!(c[b+196>>2]|0)){l=K;return 0}f=c[d+8>>2]|0;e=c[104297]|0;c:do if((e|0)!=0?(k=c[e+272>>2]|0,(k|0)!=0):0){e=k;while(1){if((c[e+4>>2]|0)==(f|0))break c;e=c[e+152>>2]|0;if(!e){e=0;break}}}else e=0;while(0);if((e|0)!=(c[b+188>>2]|0)){l=K;return 0}J=d+20|0;f=d+24|0;e=(c[f>>2]|0)-(c[b+220>>2]|0)|0;h=+g[b+288>>2];c[J>>2]=~~(+((c[J>>2]|0)-(c[b+216>>2]|0)|0)/h);j=+g[b+292>>2];c[f>>2]=~~(+(e|0)/j);f=d+28|0;e=c[f>>2]|0;if((e|0)<=0){if((e|0)<0){e=~~(+(e|0)/h);e=(e|0)<-1?e:-1;s=97}}else{e=~~(+(e|0)/h);e=(e|0)>1?e:1;s=97}if((s|0)==97)c[f>>2]=e;e=d+32|0;f=c[e>>2]|0;if((f|0)>0){b=~~(+(f|0)/j);c[e>>2]=(b|0)>1?b:1;l=K;return 0}if((f|0)>=0){l=K;return 0}b=~~(+(f|0)/j);c[e>>2]=(b|0)<-1?b:-1;l=K;return 0}case 1026:case 1025:{if(!(c[b+196>>2]|0)){l=K;return 0}i=c[d+8>>2]|0;f=c[104297]|0;d:do if((f|0)!=0?(e=c[f+272>>2]|0,(e|0)!=0):0)while(1){if((c[e+4>>2]|0)==(i|0))break d;e=c[e+152>>2]|0;if(!e){e=0;break}}else e=0;while(0);if((e|0)!=(c[b+188>>2]|0)){l=K;return 0}H=d+20|0;J=d+24|0;I=(c[J>>2]|0)-(c[b+220>>2]|0)|0;c[H>>2]=~~(+((c[H>>2]|0)-(c[b+216>>2]|0)|0)/+g[b+288>>2]);c[J>>2]=~~(+(I|0)/+g[b+292>>2]);l=K;return 0}default:{l=K;return 0}}return 0}function I1(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;i=n+24|0;h=n+16|0;f=n+8|0;e=n;if((b|0?(m=c[b+44>>2]|0,m|0):0)?c[b+108>>2]&8|0:0){k=b+308|0;j=c[k>>2]|0;if((j|0)==(d|0)){l=n;return}do if(d){if((c[d>>2]|0)!=434478){vV(387202,f);l=n;return}if((c[d+32>>2]|0)!=(b|0)){vV(404728,h);l=n;return}if((c[d+8>>2]|0)==2){e=c[d+36>>2]|0;e=(e|0)==0?d:e;d=(e|0)!=0;if(j|0){f=e;break}i=b+232|0;j=b+216|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=b+264|0;j=b+248|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[b+284>>2]=c[b+280>>2];i=b+288|0;j=c[i+4>>2]|0;f=b+296|0;c[f>>2]=c[i>>2];c[f+4>>2]=j;c[b+204>>2]=c[b+196>>2];c[b+208>>2]=c[b+200>>2];f=e;break}else{vV(404771,i);l=n;return}}else{f=0;d=0}while(0);c[k>>2]=f;if((Sh[m&255](b,f)|0)<0){l=n;return}e=b+216|0;if(d){c[e>>2]=0;c[b+220>>2]=0;e=f+12|0;c[b+224>>2]=c[e>>2];f=f+16|0;c[b+228>>2]=c[f>>2];d=b+248|0;h=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));g[b+288>>2]=1.0;g[b+292>>2]=1.0;d=0}else{d=b+232|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=b+248|0;m=b+264|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[b+284>>2]|0;m=b+296|0;e=c[m+4>>2]|0;f=b+288|0;c[f>>2]=c[m>>2];c[f+4>>2]=e;f=b+208|0;e=b+204|0}m=c[e>>2]|0;c[b+280>>2]=d;c[b+196>>2]=m;c[b+200>>2]=c[f>>2];if((Rh[c[b+48>>2]&511](b)|0)<0){l=n;return}Rh[c[b+52>>2]&511](b)|0;l=n;return}vV(392516,e);l=n;return}function J1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;i=m+32|0;k=m+24|0;j=m+16|0;e=m+8|0;d=m;if(a|0?(c[a>>2]|0)==434477:0){do if(!b){c[a+216>>2]=0;c[a+220>>2]=0;f=a+224|0;h=a+228|0;b=c[a+308>>2]|0;if(b|0){if((c[b>>2]|0)==434478){c[f>>2]=c[b+12>>2];c[h>>2]=c[b+16>>2];break}vV(387202,e);l=m;return}b=c[a+8>>2]|0;if(b|0){if((Th[b&63](a,f,h)|0)>=0)break;l=m;return}d=c[a+188>>2]|0;if(!d){vV(387218,i);l=m;return}b=c[104297]|0;if(!b){vV(386054,j);break}if((c[d>>2]|0)==(b+280|0)){c[f>>2]=c[d+24>>2];c[h>>2]=c[d+28>>2];break}else{vV(405282,k);break}}else{o=+g[a+288>>2];c[a+216>>2]=~~+A(+(+(c[b>>2]|0)*o));n=+g[a+292>>2];c[a+220>>2]=~~+A(+(+(c[b+4>>2]|0)*n));c[a+224>>2]=~~+N(+(+(c[b+8>>2]|0)*o));c[a+228>>2]=~~+N(+(+(c[b+12>>2]|0)*n))}while(0);Rh[c[a+48>>2]&511](a)|0;l=m;return}vV(387185,d);l=m;return}function K1(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+80|0;o=C+32|0;B=C+24|0;j=C+16|0;i=C+8|0;h=C;A=C+64|0;x=C+60|0;y=C+56|0;g=C+40|0;if(a|0?(c[a>>2]|0)==434478:0){if(!d){c[i>>2]=404844;vV(406140,i);B=-1;l=C;return B|0}if(!f){c[j>>2]=404851;vV(406140,j);B=-1;l=C;return B|0}if(!b){c[g>>2]=0;c[g+4>>2]=0;p=c[a+12>>2]|0;c[g+8>>2]=p;c[g+12>>2]=c[a+16>>2];u=g}else{u=b;p=c[b+8>>2]|0}t=u+8|0;if(!p){B=0;l=C;return B|0}v=u+12|0;j=c[v>>2]|0;if(!j){B=0;l=C;return B|0}w=a+40|0;b=c[w>>2]|0;z=c[a+36>>2]|0;if(!b){if(!z){B=c[a+32>>2]|0;B=Wh[c[B+28>>2]&31](B,a,u,d,f)|0;l=C;return B|0}if((c[a+8>>2]|0)==1)if((L1(z,u,A,x)|0)<0){B=-1;l=C;return B|0}else{UV(c[t>>2]|0,c[v>>2]|0,c[a+4>>2]|0,d,f,c[z+4>>2]|0,c[A>>2]|0,c[x>>2]|0)|0;N1(z);B=0;l=C;return B|0}i=z+4|0;g=c[i>>2]|0;a:do if((g|0)==0|(g&-268435456|0)==268435456)g=g&255;else{if((g|0)<1498831189)switch(g|0){case 844715353:{g=2;break a}default:{}}else switch(g|0){case 1498831189:{g=2;break a}default:{}}g=(g|0)==1431918169?2:1}while(0);h=(O(g,p)|0)+3&-4;g=B2(O(h,j)|0)|0;if(!g){vV(392416,o);B=-1;l=C;return B|0}else{UV(c[t>>2]|0,c[v>>2]|0,c[a+4>>2]|0,d,f,c[i>>2]|0,g,h)|0;K1(z,u,g,h)|0;C2(g);B=0;l=C;return B|0}}g=c[b>>2]|0;b:do if((g|0)<1431918169)if((g|0)<844715353)switch(g|0){case 842094169:{k=15;break b}default:break b}else switch(g|0){case 844715353:{k=28;break b}default:break b}else{if((g|0)<1448433993)switch(g|0){case 1431918169:{k=28;break b}default:break b}if((g|0)<1498831189)switch(g|0){case 1448433993:{k=15;break b}default:break b}else switch(g|0){case 1498831189:{k=28;break b}default:break b}}while(0);do if((k|0)==15){h=c[u>>2]|0;q=u+4|0;g=c[q>>2]|0;s=b+8|0;if(!(h|g))if((p|0)==(c[s>>2]|0)?(j|0)==(c[b+12>>2]|0):0){v=O(j,p)|0;s6(c[b+16>>2]|0,d|0,((v|0)/2|0)+v|0)|0;break}else g=0;r=b+16|0;if((j|0)>0){i=0;g=(c[r>>2]|0)+(O(c[s>>2]|0,g)|0)+h|0;h=d;while(1){s6(g|0,h|0,p|0)|0;j=c[s>>2]|0;i=i+1|0;m=c[v>>2]|0;if((i|0)>=(m|0))break;else{g=g+j|0;h=h+f|0}}k=b+12|0;b=(c[t>>2]|0)/2|0;if((m|0)>1){g=(c[r>>2]|0)+(O(j,c[k>>2]|0)|0)|0;i=(O((c[q>>2]|0)/2|0,j)|0)/2|0;o=(f|0)/2|0;h=0;i=g+(i+((c[u>>2]|0)/2|0))|0;g=d+(O(m,f)|0)|0;while(1){s6(i|0,g|0,b|0)|0;m=c[s>>2]|0;h=h+1|0;n=c[v>>2]|0;if((h|0)>=((n|0)/2|0|0))break;else{i=i+((m|0)/2|0)|0;g=g+o|0}}b=O(n,f)|0;g=O(m,c[k>>2]|0)|0;j=(c[t>>2]|0)/2|0;if((n|0)>1){h=(O((c[q>>2]|0)/2|0,m)|0)/2|0;i=0;h=(c[r>>2]|0)+g+((g|0)/4|0)+(h+((c[u>>2]|0)/2|0))|0;g=d+b+((b|0)/4|0)|0;while(1){s6(h|0,g|0,j|0)|0;i=i+1|0;if((i|0)>=((c[v>>2]|0)/2|0|0))break;else{h=h+((c[s>>2]|0)/2|0)|0;g=g+o|0}}}}}}else if((k|0)==28?(m=b+36|0,n=p<<1,(j|0)>0):0){h=(c[b+44>>2]|0)+(O(e[m>>1]|0,c[u+4>>2]|0)|0)|0;i=0;h=h+(c[u>>2]<<1)|0;g=d;while(1){s6(h|0,g|0,n|0)|0;i=i+1|0;if((i|0)>=(c[v>>2]|0))break;else{h=h+(e[m>>1]|0)|0;g=g+f|0}}}while(0);c[A>>2]=0;c[A+4>>2]=0;h=c[a+12>>2]|0;b=A+8|0;c[b>>2]=h;j=c[a+16>>2]|0;k=A+12|0;c[k>>2]=j;do if((c[a+8>>2]|0)==1)if((L1(z,A,x,y)|0)<0){g=-1;break}else{M1(c[w>>2]|0,A,c[z+4>>2]|0,c[b>>2]|0,c[k>>2]|0,c[x>>2]|0,c[y>>2]|0);N1(z);g=0;break}else{i=z+4|0;g=c[i>>2]|0;c:do if((g|0)==0|(g&-268435456|0)==268435456)g=g&255;else{if((g|0)<1498831189)switch(g|0){case 844715353:{g=2;break c}default:{}}else switch(g|0){case 1498831189:{g=2;break c}default:{}}g=(g|0)==1431918169?2:1}while(0);h=(O(g,h)|0)+3&-4;g=B2(O(h,j)|0)|0;if(!g){vV(392416,B);g=-1;break}else{M1(c[w>>2]|0,A,c[i>>2]|0,c[b>>2]|0,c[k>>2]|0,g,h);K1(z,A,g,h)|0;C2(g);g=0;break}}while(0);B=g;l=C;return B|0}vV(387202,h);B=-1;l=C;return B|0}function L1(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;k=m+16|0;i=m+8|0;h=m;g=m+24|0;if(a|0?(c[a>>2]|0)==434478:0){if((c[a+8>>2]|0)!=1){vV(404951,i);f=-1;l=m;return f|0}if(!b){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=c[a+12>>2];c[g+12>>2]=c[a+16>>2]}else g=b;j=c[a+40>>2]|0;if(!j){if(!(c[a+36>>2]|0)){k=c[a+32>>2]|0;f=Wh[c[k+36>>2]&31](k,a,g,d,f)|0;l=m;return f|0}h=a+52|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=c[a+48>>2]|0;i=(c[a+44>>2]|0)+(O(h,c[g+4>>2]|0)|0)|0;g=c[g>>2]|0;b=c[a+4>>2]|0;a:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break a}default:{}}else switch(b|0){case 1498831189:{b=2;break a}default:{}}b=(b|0)==1431918169?2:1}while(0);c[d>>2]=i+(O(b,g)|0);c[f>>2]=h;f=0;l=m;return f|0}b=c[j>>2]|0;if((b|0)<1448433993)switch(b|0){case 842094169:{a=10;break}default:a=16}else switch(b|0){case 1448433993:{a=10;break}default:a=16}do if((a|0)==10){if((((c[g>>2]|0)==0?(c[g+4>>2]|0)==0:0)?(c[g+8>>2]|0)==(c[j+8>>2]|0):0)?(c[g+12>>2]|0)==(c[j+12>>2]|0):0){h=0;i=e[j+36>>1]|0;b=0;break}vV(404996,k);f=-1;l=m;return f|0}else if((a|0)==16){h=c[g+4>>2]|0;i=e[j+36>>1]|0;b=c[g>>2]<<1}while(0);c[d>>2]=(c[j+44>>2]|0)+(O(h,i)|0)+b;c[f>>2]=i;f=0;l=m;return f|0}vV(387202,h);f=-1;l=m;return f|0}function M1(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+80|0;J=N+32|0;I=N+24|0;D=N+16|0;k=N+8|0;j=N;M=N+56|0;G=N+48|0;H=N+44|0;E=N+40|0;F=N+36|0;A=(d|0)==0|(d&-268435456|0)==268435456;a:do if(A){i=d&255;if(!i){vV(404857,j);l=N;return}else K=i}else{b:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break b;default:{K=1;break a}}else switch(d|0){case 1498831189:break b;default:{K=1;break a}}else switch(d|0){case 844715353:break;default:{K=1;break a}}while(0);K=2}while(0);i=a+4|0;if((c[i>>2]|0)!=(d|0)){z=(JZ(d,M,G,H,E,F)|0)==0;if(z|(c[M>>2]|0)<15){vV(404885,k);l=N;return}c[i>>2]=d;x=c[a+24>>2]|0;y=x+3072|0;z=x+6144|0;n=c[G>>2]|0;o=(n|0)==0;p=O1(n)|0;q=c[F>>2]|0;r=c[H>>2]|0;s=(r|0)==0;t=O1(r)|0;u=c[E>>2]|0;v=(u|0)==0;w=O1(u)|0;m=0;do{if(o)i=0;else{j=n;i=0;do{i=(j&1)+i|0;j=j>>>1}while((j|0)!=0)}k=m+256|0;c[x+(k<<2)>>2]=q|m>>8-i<<p;if(s)i=0;else{j=r;i=0;do{i=(j&1)+i|0;j=j>>>1}while((j|0)!=0)}c[y+(k<<2)>>2]=q|m>>8-i<<t;if(v)i=0;else{j=u;i=0;do{i=(j&1)+i|0;j=j>>>1}while((j|0)!=0)}c[z+(k<<2)>>2]=q|m>>8-i<<w;m=m+1|0}while((m|0)!=256);c:do if(A){if((d&255|0)==2){i=0;L=21}}else{if((d|0)<1431918169)switch(d|0){case 844715353:{i=0;L=21;break c}default:break c}if((d|0)<1498831189)switch(d|0){case 1431918169:{i=0;L=21;break c}default:break c}else switch(d|0){case 1498831189:{i=0;L=21;break c}default:break c}}while(0);if((L|0)==21)while(1){L=0;w=i+256|0;v=x+(w<<2)|0;u=c[v>>2]|0;c[v>>2]=u<<16|u;v=y+(w<<2)|0;u=c[v>>2]|0;c[v>>2]=u<<16|u;w=z+(w<<2)|0;v=c[w>>2]|0;c[w>>2]=v<<16|v;i=i+1|0;if((i|0)==256)break;else L=21}j=x+1024|0;k=x+2044|0;m=x+4096|0;n=x+5116|0;o=x+7168|0;p=x+8188|0;i=0;do{c[x+(i<<2)>>2]=c[j>>2];w=i+512|0;c[x+(w<<2)>>2]=c[k>>2];c[y+(i<<2)>>2]=c[m>>2];c[y+(w<<2)>>2]=c[n>>2];c[z+(i<<2)>>2]=c[o>>2];c[z+(w<<2)>>2]=c[p>>2];i=i+1|0}while((i|0)!=256);i=c[a>>2]|0;d:do if((i|0)<1431918169)if((i|0)<844715353)switch(i|0){case 842094169:{L=24;break d}default:break d}else switch(i|0){case 844715353:{L=31;break d}default:break d}else{if((i|0)<1448433993)switch(i|0){case 1431918169:{L=31;break d}default:break d}if((i|0)<1498831189)switch(i|0){case 1448433993:{L=24;break d}default:break d}else switch(i|0){case 1498831189:{L=31;break d}default:break d}}while(0);e:do if((L|0)==24){if(A)switch((d&255)<<24>>24){case 2:{c[a+28>>2]=2;c[a+32>>2]=3;break e}case 3:{c[a+28>>2]=4;c[a+32>>2]=5;break e}case 4:{c[a+28>>2]=6;c[a+32>>2]=7;break e}default:break e}f:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break f;default:break e}else switch(d|0){case 1498831189:break f;default:break e}else switch(d|0){case 844715353:break;default:break e}while(0);c[a+28>>2]=2;c[a+32>>2]=3}else if((L|0)==31){if(A)switch((d&255)<<24>>24){case 2:{c[a+28>>2]=8;c[a+32>>2]=9;break e}case 3:{c[a+28>>2]=10;c[a+32>>2]=11;break e}case 4:{c[a+28>>2]=12;c[a+32>>2]=13;break e}default:break e}g:do if((d|0)>=1431918169)if((d|0)<1498831189)switch(d|0){case 1431918169:break g;default:break e}else switch(d|0){case 1498831189:break g;default:break e}else switch(d|0){case 844715353:break;default:break e}while(0);c[a+28>>2]=8;c[a+32>>2]=9}while(0);A=a+60|0;YV(c[A>>2]|0);c[A>>2]=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(B=c[b+8>>2]|0,(B|0)>=(c[a+8>>2]|0)):0)?(C=c[b+12>>2]|0,(C|0)>=(c[a+12>>2]|0)):0){j=(B<<1|0)==(e|0)&(C<<1|0)==(f|0);i=j&1;if(!((B|0)==(e|0)&(C|0)==(f|0)))if(j){q=i;r=0}else{q=i;L=45}else{q=0;r=0}}else{q=0;L=45}if((L|0)==45){j=a+60|0;i=c[j>>2]|0;do if(!i){JZ(d,M,G,H,E,F)|0;i=O_(c[M>>2]|0,c[G>>2]|0,c[H>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;if(i){i=P_(0,0,i)|0;if(i|0){c[i>>2]=c[i>>2]|1;c[i+20>>2]=g;c[i+8>>2]=e;c[i+12>>2]=f;c[i+16>>2]=h;c[i+36>>2]=0;c[i+40>>2]=0;c[i+44>>2]=e;c[i+48>>2]=f;c[j>>2]=i;L=52;break}}else vV(393207,D);c[j>>2]=0;j=0;i=g}else{c[i+8>>2]=e;c[i+12>>2]=f;c[i+20>>2]=g;c[i+16>>2]=h;L=52}while(0);h:do if((L|0)==52){j=a+56|0;i=c[j>>2]|0;do if(!i){JZ(d,M,G,H,E,F)|0;i=O_(c[M>>2]|0,c[G>>2]|0,c[H>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;if(i){i=P_(c[a+8>>2]|0,c[a+12>>2]|0,i)|0;c[j>>2]=i;if(!i){j=0;i=g;break h}else break}else{vV(393207,I);c[j>>2]=0;j=0;i=g;break h}}while(0);j=1;h=c[i+16>>2]|0;i=c[i+20>>2]|0}while(0);if(j){r=1;g=i}else{l=N;return}}i=c[a>>2]|0;i:do if((i|0)<1431918169)if((i|0)<844715353){switch(i|0){case 842094169:break;default:{L=64;break i}}n=c[a+52>>2]|0;o=c[a+48>>2]|0;p=c[a+44>>2]|0;break}else{switch(i|0){case 844715353:break;default:{L=64;break i}}p=c[a+44>>2]|0;n=p+1|0;o=p+3|0;break}else{if((i|0)<1448433993){switch(i|0){case 1431918169:break;default:{L=64;break i}}p=c[a+44>>2]|0;n=p+3|0;o=p+1|0;break}if((i|0)<1498831189){switch(i|0){case 1448433993:break;default:{L=64;break i}}n=c[a+48>>2]|0;o=c[a+52>>2]|0;p=c[a+44>>2]|0;break}else{switch(i|0){case 1498831189:break;default:{L=64;break i}}p=c[a+44>>2]|0;n=p;o=p+2|0;p=p+1|0;break}}while(0);if((L|0)==64){vV(404920,J);l=N;return}i=(h|0)/(K|0)|0;j=c[a+8>>2]|0;h=c[a+12>>2]|0;k=c[a+20>>2]|0;m=c[a+24>>2]|0;if(!q)Di[c[a+28>>2]&31](k,m,p,o,n,g,h,j,i-j|0);else Di[c[a+32>>2]&31](k,m,p,o,n,g,h,j,i-(j<<1)|0);if(!r){l=N;return};c[M>>2]=c[b>>2];c[M+4>>2]=c[b+4>>2];c[M+8>>2]=c[b+8>>2];c[M+12>>2]=c[b+12>>2];S_(c[a+56>>2]|0,M,c[a+60>>2]|0,0)|0;l=N;return}function N1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m;j=m+28|0;k=m+24|0;f=m+8|0;if(a|0?(c[a>>2]|0)==434478:0){if((c[a+8>>2]|0)!=1){l=m;return}b=a+40|0;i=c[a+36>>2]|0;if(c[b>>2]|0){c[j>>2]=0;c[k>>2]=0;c[f>>2]=0;c[f+4>>2]=0;d=f+8|0;c[d>>2]=c[a+12>>2];e=f+12|0;c[e>>2]=c[a+16>>2];if((L1(i,f,j,k)|0)>=0){M1(c[b>>2]|0,f,c[i+4>>2]|0,c[d>>2]|0,c[e>>2]|0,c[j>>2]|0,c[k>>2]|0);N1(i)}l=m;return}if(!i){k=c[a+32>>2]|0;li[c[k+40>>2]&511](k,a);l=m;return}c[j>>2]=0;c[k>>2]=0;d=a+52|0;e=c[a+48>>2]|0;f=(c[a+44>>2]|0)+(O(e,c[a+56>>2]|0)|0)|0;g=c[d>>2]|0;h=a+4|0;b=c[h>>2]|0;a:do if((b|0)==0|(b&-268435456|0)==268435456)b=b&255;else{if((b|0)<1498831189)switch(b|0){case 844715353:{b=2;break a}default:{}}else switch(b|0){case 1498831189:{b=2;break a}default:{}}b=(b|0)==1431918169?2:1}while(0);if((L1(i,d,j,k)|0)>=0){g=f+(O(b,g)|0)|0;UV(c[a+60>>2]|0,c[a+64>>2]|0,c[h>>2]|0,g,e,c[i+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;N1(i)}l=m;return}vV(387202,b);l=m;return}function O1(a){a=a|0;if(!a){a=32;return a|0}if(!(a&1))return (O1(a>>>1)|0)+1|0;else{a=0;return a|0}return 0}function P1(a,e,f,g,h,i,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=(k|0)/2|0;t=(l<<1)+k|0;if((j+1|0)>>>0<3|(k+1|0)>>>0<3)return;u=v<<1;s=i+(k<<1)+(l<<1)|0;q=(j|0)/2|0;while(1){r=f+u|0;n=v;o=f+k|0;p=s;l=g;j=h;m=i;while(1){n=n+-1|0;z=d[l>>0]|0;y=(c[a+(z<<2)>>2]|0)+256|0;w=d[j>>0]|0;z=(c[a+((z|256)<<2)>>2]|0)+1024+(c[a+((w|512)<<2)>>2]|0)|0;w=(c[a+((w|768)<<2)>>2]|0)+1792|0;x=d[f>>0]|0;b[m>>1]=c[e+(x+z<<2)>>2]|c[e+(x+y<<2)>>2]|c[e+(x+w<<2)>>2];x=d[f+1>>0]|0;b[m+2>>1]=c[e+(x+z<<2)>>2]|c[e+(x+y<<2)>>2]|c[e+(x+w<<2)>>2];x=d[o>>0]|0;b[p>>1]=c[e+(x+z<<2)>>2]|c[e+(x+y<<2)>>2]|c[e+(x+w<<2)>>2];x=d[o+1>>0]|0;b[p+2>>1]=c[e+(x+z<<2)>>2]|c[e+(x+y<<2)>>2]|c[e+(x+w<<2)>>2];if(!n)break;else{o=o+2|0;p=p+4|0;f=f+2|0;l=l+1|0;j=j+1|0;m=m+4|0}}q=q+-1|0;if(!q)break;else{s=s+(u<<1)+(t<<1)|0;f=r+k|0;g=g+v|0;h=h+v|0;i=i+(u<<1)+(t<<1)|0}}return}function Q1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=(k|0)/2|0;s=u+j|0;t=(j|0)/2|0;u=(s*3|0)+u|0;if((i+1|0)>>>0<3|(j+1|0)>>>0<3)return;v=t<<1;r=h;q=h+(s<<1<<2)|0;o=(i|0)/2|0;while(1){p=e+v|0;k=t;h=f;i=g;l=r;m=e+j|0;n=q;while(1){k=k+-1|0;A=d[h>>0]|0;z=(c[a+(A<<2)>>2]|0)+256|0;x=d[i>>0]|0;A=(c[a+((A|256)<<2)>>2]|0)+1024+(c[a+((x|512)<<2)>>2]|0)|0;x=(c[a+((x|768)<<2)>>2]|0)+1792|0;w=d[e>>0]|0;w=c[b+(w+A<<2)>>2]|c[b+(w+z<<2)>>2]|c[b+(w+x<<2)>>2];c[l+(s<<2)>>2]=w;c[l>>2]=w;w=l+4|0;y=d[e+1>>0]|0;y=c[b+(y+A<<2)>>2]|c[b+(y+z<<2)>>2]|c[b+(y+x<<2)>>2];c[w+(s<<2)>>2]=y;c[w>>2]=y;w=d[m>>0]|0;w=c[b+(w+A<<2)>>2]|c[b+(w+z<<2)>>2]|c[b+(w+x<<2)>>2];c[n+(s<<2)>>2]=w;c[n>>2]=w;w=n+4|0;y=d[m+1>>0]|0;x=c[b+(y+A<<2)>>2]|c[b+(y+z<<2)>>2]|c[b+(y+x<<2)>>2];c[w+(s<<2)>>2]=x;c[w>>2]=x;if(!k)break;else{h=h+1|0;i=i+1|0;l=l+8|0;m=m+2|0;n=n+8|0;e=e+2|0}}o=o+-1|0;if(!o)break;else{f=f+t|0;g=g+t|0;r=r+(v<<2)+(u<<2)|0;q=q+(v<<2)+(u<<2)|0;e=p+j|0}}return}function R1(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=(k|0)/2|0;u=((l<<1)+k|0)*3|0;if((j+1|0)>>>0<3)return;v=(k+1|0)>>>0<3;w=z<<1;x=z*6|0;y=w+k|0;t=i;i=i+(k*3|0)+(l*3|0)|0;l=f;s=(j|0)/2|0;r=f;while(1){s=s+-1|0;j=r+k|0;if(v){f=l;l=t}else{f=l+w|0;n=z;o=g;p=h;q=t;m=i;while(1){n=n+-1|0;D=d[o>>0]|0;C=(c[b+(D<<2)>>2]|0)+256|0;A=d[p>>0]|0;D=(c[b+((D|256)<<2)>>2]|0)+1024+(c[b+((A|512)<<2)>>2]|0)|0;A=(c[b+((A|768)<<2)>>2]|0)+1792|0;B=d[l>>0]|0;B=c[e+(B+D<<2)>>2]|c[e+(B+C<<2)>>2]|c[e+(B+A<<2)>>2];a[q>>0]=B;a[q+1>>0]=B>>>8;a[q+2>>0]=B>>>16;B=d[l+1>>0]|0;B=c[e+(B+D<<2)>>2]|c[e+(B+C<<2)>>2]|c[e+(B+A<<2)>>2];a[q+3>>0]=B;a[q+4>>0]=B>>>8;a[q+5>>0]=B>>>16;B=d[j>>0]|0;B=c[e+(B+D<<2)>>2]|c[e+(B+C<<2)>>2]|c[e+(B+A<<2)>>2];a[m>>0]=B;a[m+1>>0]=B>>>8;a[m+2>>0]=B>>>16;B=d[j+1>>0]|0;A=c[e+(B+D<<2)>>2]|c[e+(B+C<<2)>>2]|c[e+(B+A<<2)>>2];a[m+3>>0]=A;a[m+4>>0]=A>>>8;a[m+5>>0]=A>>>16;if(!n)break;else{o=o+1|0;p=p+1|0;q=q+6|0;j=j+2|0;m=m+6|0;l=l+2|0}}g=g+z|0;h=h+z|0;l=t+x|0;j=r+y|0;i=i+x|0}if(!s)break;else{t=l+u|0;i=i+u|0;l=f+k|0;r=j}}return}function S1(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;m=(k<<1)+l|0;E=m*3|0;F=(k|0)/2|0;u=(m*9|0)+(l*3|0)|0;if((j+1|0)>>>0<3)return;v=(k+1|0)>>>0<3;w=E+3|0;x=E+4|0;y=E+1|0;z=E+5|0;A=E+2|0;B=F<<1;C=F*12|0;D=B+k|0;t=i;l=i+(m*6|0)|0;m=f;s=(j|0)/2|0;r=f;while(1){s=s+-1|0;i=r+k|0;if(v){j=m;m=t}else{j=m+B|0;n=F;o=g;p=h;q=t;f=l;while(1){n=n+-1|0;K=d[o>>0]|0;J=(c[b+(K<<2)>>2]|0)+256|0;G=d[p>>0]|0;K=(c[b+((K|256)<<2)>>2]|0)+1024+(c[b+((G|512)<<2)>>2]|0)|0;G=(c[b+((G|768)<<2)>>2]|0)+1792|0;I=d[m>>0]|0;I=c[e+(I+K<<2)>>2]|c[e+(I+J<<2)>>2]|c[e+(I+G<<2)>>2];H=I&255;a[q+w>>0]=H;a[q+E>>0]=H;a[q+3>>0]=H;a[q>>0]=H;H=I>>>8&255;a[q+x>>0]=H;a[q+y>>0]=H;a[q+4>>0]=H;a[q+1>>0]=H;I=I>>>16&255;a[q+z>>0]=I;a[q+A>>0]=I;a[q+5>>0]=I;a[q+2>>0]=I;I=q+6|0;H=d[m+1>>0]|0;H=c[e+(H+K<<2)>>2]|c[e+(H+J<<2)>>2]|c[e+(H+G<<2)>>2];L=H&255;a[I+w>>0]=L;a[I+E>>0]=L;a[q+9>>0]=L;a[I>>0]=L;L=H>>>8&255;a[I+x>>0]=L;a[I+y>>0]=L;a[q+10>>0]=L;a[q+7>>0]=L;H=H>>>16&255;a[I+z>>0]=H;a[I+A>>0]=H;a[q+11>>0]=H;a[q+8>>0]=H;H=d[i>>0]|0;H=c[e+(H+K<<2)>>2]|c[e+(H+J<<2)>>2]|c[e+(H+G<<2)>>2];I=H&255;a[f+w>>0]=I;a[f+E>>0]=I;a[f+3>>0]=I;a[f>>0]=I;I=H>>>8&255;a[f+x>>0]=I;a[f+y>>0]=I;a[f+4>>0]=I;a[f+1>>0]=I;H=H>>>16&255;a[f+z>>0]=H;a[f+A>>0]=H;a[f+5>>0]=H;a[f+2>>0]=H;H=f+6|0;I=d[i+1>>0]|0;G=c[e+(I+K<<2)>>2]|c[e+(I+J<<2)>>2]|c[e+(I+G<<2)>>2];I=G&255;a[H+w>>0]=I;a[H+E>>0]=I;a[f+9>>0]=I;a[H>>0]=I;I=G>>>8&255;a[H+x>>0]=I;a[H+y>>0]=I;a[f+10>>0]=I;a[f+7>>0]=I;G=G>>>16&255;a[H+z>>0]=G;a[H+A>>0]=G;a[f+11>>0]=G;a[f+8>>0]=G;if(!n)break;else{o=o+1|0;p=p+1|0;q=q+12|0;i=i+2|0;f=f+12|0;m=m+2|0}}g=g+F|0;h=h+F|0;m=t+C|0;i=r+D|0;l=l+C|0}if(!s)break;else{t=m+u|0;l=l+u|0;m=j+k|0;r=i}}return}
  40. function ws(b,f){b=b|0;f=f|0;var g=0,i=0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;fa=l;l=l+32|0;da=fa;$=fa+8|0;aa=fa+4|0;S=b+44|0;T=$+4|0;U=$+8|0;V=$+4|0;W=$+12|0;b=0;a:while(1){ga=c[(c[S>>2]|0)+132>>2]|0;N=ga+40|0;c[N>>2]=aa;O=ga+72|0;I=c[O>>2]|0;H=(c[(c[I+16>>2]|0)+40>>2]|0)+24|0;c[aa>>2]=c[I+36>>2];I=ga+92|0;P=ga+64|0;R=ga+44|0;ha=ga+68|0;Q=ga+56|0;J=ga+304|0;K=ga+104|0;L=ga+112|0;M=ga+132|0;w=b;b:while(1){b=c[I>>2]|0;if((b|0)>0)c[I>>2]=b+-1;else{c[(c[O>>2]|0)+36>>2]=c[aa>>2];Ds(ga)}i=c[aa>>2]|0;g=i+4|0;c[aa>>2]=g;r=c[i>>2]|0;m=r&255;b=g;do switch((r&255)<<24>>24){case -87:{ea=2612;break a}case -86:{ea=2748;break a}case -3:case -4:case -5:case -6:case -7:case -8:case -9:case -10:case -11:case -12:case -13:case -14:case -15:case -16:case -17:case -18:case -19:case -20:case -21:case -22:case -23:case -24:case -25:case -26:case -27:case -28:case -29:case -30:case -31:case -32:case -33:case -34:case -35:case -36:case -37:case -38:case -39:case -40:case -41:case -42:case -43:case -44:case -49:case -2:case -1:{ea=2766;break a}case -50:{ea=2749;break a}case -99:{ea=2593;break b}case -97:{ea=2596;break b}case -96:{ea=2599;break b}case -98:{ea=2600;break b}case -93:{ea=2606;break b}case -92:{ea=2607;break b}case -88:{ea=2611;break b}case 0:{b=c[P>>2]|0;i=b+(r>>>4&4080)|0;b=b+(r>>>12&1048560)|0;if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}if(!(c[i>>2]&8)){c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];G=w;w=G;continue b}g=c[i+8>>2]|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,g);G=w;w=G;continue b}case 1:{b=c[P>>2]|0;i=b+(r>>>4&4080)|0;b=b+(r>>>12&1048560)|0;if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}if(!(c[b>>2]&8)){c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];G=w;w=G;continue b}g=c[b+8>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,g);G=w;w=G;continue b}case 3:{i=(c[P>>2]|0)+(r>>>4&4080)|0;g=H+(r>>>12&1048560)|0;if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}if(!(c[i>>2]&8)){c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];G=w;w=G;continue b}b=c[i+8>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 4:{E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+((r>>>16)+-32768|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 5:{E=(c[P>>2]|0)+(r>>>4&4080)|0;F=E+8|0;n=+h[F>>3];G=c[E>>2]|0;h[j>>3]=n;b=c[j>>2]|0;c[E>>2]=0;h[F>>3]=+(~~n<<16|r>>>16|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 6:{b=c[P>>2]|0;g=b+(r>>>12&1048560)|0;i=b+-16|0;if(c[i>>2]&8|0){G=(c[b+-8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}if(!(c[g>>2]&8)){c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];G=w;w=G;continue b}b=c[g+8>>2]|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 7:{F=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[F>>2]|0;b=c[F+8>>2]|0;c[F>>2]=2;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 8:{F=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[F>>2]|0;b=c[F+8>>2]|0;c[F>>2]=3;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 9:{E=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 10:{E=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=0;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 12:{m=r>>>16;o=r>>>8&255;b=c[P>>2]|0;g=b+(m<<4)|0;i=c[ha>>2]|0;if(i>>>0>=(c[Q>>2]|0)>>>0){ea=51;break a}c[ha>>2]=i+16;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[b+(m<<4)+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(!g){ea=55;break a}k=+Ar(ga,b+(g+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;c:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=59;break c}}if((g|0)<0)ea=59;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=59}while(0);if((ea|0)==59){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;b=c[ha>>2]|0;g=c[P>>2]|0;i=b-g>>4;if(!i){ea=61;break a}F=i+-1|0;E=g+(F<<4)|0;G=c[E>>2]|0;F=g+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(~m|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 13:{b=r>>>16;i=r>>>8&255;m=c[P>>2]|0;switch(c[m+(b<<4)>>2]|0){case 3:case 2:{g=0;break}case 4:{g=c[m+(b<<4)+8>>2]|0;break}case 8:{g=(c[(c[m+(b<<4)+8>>2]|0)+20>>2]|0)!=0&1;break}case 9:{g=1;break}case 10:{g=1;break}case 5:{g=(c[m+(b<<4)+8>>2]|0)!=0&1;break}case 6:{g=1;break}default:{g=m+(b<<4)+8|0;G=c[g>>2]|0;g=c[g+4>>2]|0;g=(((G|0)==0&(g&2147483647|0)==0|((G|0)!=0|(g&1048575|0)!=0)&(0==0&(g&2146435072|0)==2146435072))^1)&1}}E=m+(i<<4)|0;G=c[E>>2]|0;F=m+(i<<4)+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g^1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 14:{g=r>>>16;m=r>>>8&255;b=c[P>>2]|0;i=b+(g<<4)|0;if(!(c[i>>2]|0))k=+h[b+(g<<4)+8>>3];else{b=c[ha>>2]|0;c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-1|0;if(!G){ea=87;break a}k=+Ar(ga,b+(g<<4)|0);b=c[P>>2]|0;E=b+(g<<4)|0;G=c[E>>2]|0;F=b+(g<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[P>>2]|0}G=(c[ha>>2]|0)+-16|0;c[ha>>2]=G;c[G>>2]=2}E=b+(m<<4)|0;G=c[E>>2]|0;F=b+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=-k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 15:{g=r>>>16;m=r>>>8&255;b=c[P>>2]|0;i=b+(g<<4)|0;if(!(c[i>>2]|0))k=+h[b+(g<<4)+8>>3];else{b=c[ha>>2]|0;c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-1|0;if(!G){ea=100;break a}k=+Ar(ga,b+(g<<4)|0);b=c[P>>2]|0;E=b+(g<<4)|0;G=c[E>>2]|0;F=b+(g<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[P>>2]|0}G=(c[ha>>2]|0)+-16|0;c[ha>>2]=G;c[G>>2]=2}E=b+(m<<4)|0;G=c[E>>2]|0;F=b+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -103:{g=c[P>>2]|0;b=g+(r>>>12&1048560)|0;switch(c[b>>2]|0){case 2:{b=58;break}case 3:{b=57;break}case 4:{b=53;break}case 5:{b=90;break}case 8:{b=((c[c[b+8>>2]>>2]|0)>>>9&1)+55|0;break}case 9:{b=(c[c[b+8>>2]>>2]&512|0)==0?57:128;break}case 10:{b=57;break}case 6:{b=128;break}default:b=54}F=c[(c[J>>2]|0)+(b<<2)>>2]|0;C=g+(r>>>4&4080)|0;G=c[C>>2]|0;E=C+8|0;b=c[E>>2]|0;c[C>>2]=8;c[E>>2]=F;F=F+4|0;c[F>>2]=(c[F>>2]|0)+1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -102:{G=c[O>>2]|0;if(Es(ga,c[G+28>>2]|0,G,c[H+(r>>>12&1048560)+8>>2]|0,0)|0){i=c[ha>>2]|0;switch(c[i+-32>>2]|0){case 2:{b=58;break}case 3:{b=57;break}case 4:{b=53;break}case 5:{b=90;break}case 8:{b=((c[c[i+-24>>2]>>2]|0)>>>9&1)+55|0;break}case 9:{b=(c[c[i+-24>>2]>>2]&512|0)==0?57:128;break}case 10:{b=57;break}case 6:{b=128;break}default:b=54}g=i+-16|0;c[ha>>2]=g;G=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=i+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,i);g=c[ha>>2]|0}F=g+-16|0;c[ha>>2]=F;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,g)}else b=58;F=c[(c[J>>2]|0)+(b<<2)>>2]|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;E=C+8|0;b=c[E>>2]|0;c[C>>2]=8;c[E>>2]=F;F=F+4|0;c[F>>2]=(c[F>>2]|0)+1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 16:{E=c[P>>2]|0;E=Fs(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 17:{E=Fs(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 18:{E=Fs(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 19:{E=Fs(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 20:{E=c[P>>2]|0;E=(Fs(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0,0)|0)^1;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 21:{E=(Fs(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0,0)|0)^1;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 22:{E=(Fs(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0,0)|0)^1;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 23:{E=(Fs(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0,0)|0)^1;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 24:{o=c[P>>2]|0;b=o+(r>>>12&4080)|0;g=o+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;d:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break d}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break d}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break d}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break d}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break d}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break d}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break d}default:{ea=173;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 25:{b=H+(r>>>12&4080)|0;o=c[P>>2]|0;g=o+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;e:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break e}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break e}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break e}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break e}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break e}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break e}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break e}default:{ea=187;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 26:{o=c[P>>2]|0;b=o+(r>>>12&4080)|0;g=H+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;f:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break f}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break f}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break f}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break f}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break f}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break f}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break f}default:{ea=201;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 27:{b=H+(r>>>12&4080)|0;g=H+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;g:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break g}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break g}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break g}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break g}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break g}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break g}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break g}default:{ea=215;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 28:{o=c[P>>2]|0;b=o+(r>>>12&4080)|0;g=o+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;h:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break h}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break h}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break h}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break h}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break h}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break h}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break h}default:{ea=229;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=(g^1)&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 29:{b=H+(r>>>12&4080)|0;o=c[P>>2]|0;g=o+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;i:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break i}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break i}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break i}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break i}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break i}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break i}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break i}default:{ea=243;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=(g^1)&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 30:{o=c[P>>2]|0;b=o+(r>>>12&4080)|0;g=H+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;j:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break j}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break j}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break j}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break j}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break j}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break j}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break j}default:{ea=257;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=o+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=(g^1)&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 31:{b=H+(r>>>12&4080)|0;g=H+(r>>>20&4080)|0;i=c[b>>2]|0;m=c[g>>2]|0;k:do if(m|i)if((i|0)==(m|0))switch(i|0){case 3:case 2:{g=1;break k}case 4:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break k}case 5:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break k}case 9:case 8:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break k}case 10:{g=(c[b+8>>2]|0)==(c[g+8>>2]|0);break k}case 6:{if((c[b+8>>2]|0)!=(c[g+8>>2]|0)){g=0;break k}g=(c[b+4>>2]|0)==(c[g+4>>2]|0);break k}default:{ea=271;break a}}else g=0;else g=+h[b+8>>3]==+h[g+8>>3];while(0);E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=(g^1)&1;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 32:{E=c[P>>2]|0;E=Gs(ga,E+(r>>>20&4080)|0,E+(r>>>12&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 33:{E=Gs(ga,(c[P>>2]|0)+(r>>>20&4080)|0,H+(r>>>12&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 34:{E=Gs(ga,H+(r>>>20&4080)|0,(c[P>>2]|0)+(r>>>12&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 35:{E=Gs(ga,H+(r>>>20&4080)|0,H+(r>>>12&4080)|0,0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 36:{E=c[P>>2]|0;E=Gs(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0,3)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 37:{E=Gs(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0,3)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 38:{E=Gs(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0,3)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 39:{E=Gs(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0,3)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 40:{E=c[P>>2]|0;E=Gs(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0,2)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 41:{E=Gs(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0,2)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 42:{E=Gs(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0,2)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 43:{E=Gs(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0,2)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 44:{E=c[P>>2]|0;E=Gs(ga,E+(r>>>20&4080)|0,E+(r>>>12&4080)|0,1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 45:{E=Gs(ga,(c[P>>2]|0)+(r>>>20&4080)|0,H+(r>>>12&4080)|0,1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 46:{E=Gs(ga,H+(r>>>20&4080)|0,(c[P>>2]|0)+(r>>>12&4080)|0,1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 47:{E=Gs(ga,H+(r>>>20&4080)|0,H+(r>>>12&4080)|0,1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 48:{b=(c[P>>2]|0)+(r>>>12&1048560)|0;switch(c[b>>2]|0){case 3:case 2:{G=w;w=G;continue b}case 4:{_=c[b+8>>2]|0;ea=328;break}case 8:{_=(c[(c[b+8>>2]|0)+20>>2]|0)!=0&1;ea=328;break}case 6:case 10:case 9:break;case 5:{_=(c[b+8>>2]|0)!=0&1;ea=328;break}default:{_=b+8|0;ea=c[_>>2]|0;_=c[_+4>>2]|0;_=(((ea|0)==0&(_&2147483647|0)==0|((ea|0)!=0|(_&1048575|0)!=0)&(0==0&(_&2146435072|0)==2146435072))^1)&1;ea=328}}if((ea|0)==328?(ea=0,(_|0)==0):0){G=w;w=G;continue b}c[aa>>2]=i+8;G=w;w=G;continue b}case 49:{b=H+(r>>>12&1048560)|0;switch(c[b>>2]|0){case 3:case 2:{G=w;w=G;continue b}case 4:{Z=c[b+8>>2]|0;ea=335;break}case 8:{Z=(c[(c[b+8>>2]|0)+20>>2]|0)!=0&1;ea=335;break}case 6:case 10:case 9:break;case 5:{Z=(c[b+8>>2]|0)!=0&1;ea=335;break}default:{Z=b+8|0;ea=c[Z>>2]|0;Z=c[Z+4>>2]|0;Z=(((ea|0)==0&(Z&2147483647|0)==0|((ea|0)!=0|(Z&1048575|0)!=0)&(0==0&(Z&2146435072|0)==2146435072))^1)&1;ea=335}}if((ea|0)==335?(ea=0,(Z|0)==0):0){G=w;w=G;continue b}c[aa>>2]=i+8;G=w;w=G;continue b}case 50:{b=(c[P>>2]|0)+(r>>>12&1048560)|0;switch(c[b>>2]|0){case 6:case 10:case 9:{G=w;w=G;continue b}case 3:case 2:break;case 4:{Y=c[b+8>>2]|0;ea=342;break}case 8:{Y=(c[(c[b+8>>2]|0)+20>>2]|0)!=0&1;ea=342;break}case 5:{Y=(c[b+8>>2]|0)!=0&1;ea=342;break}default:{Y=b+8|0;ea=c[Y>>2]|0;Y=c[Y+4>>2]|0;Y=(((ea|0)==0&(Y&2147483647|0)==0|((ea|0)!=0|(Y&1048575|0)!=0)&(0==0&(Y&2146435072|0)==2146435072))^1)&1;ea=342}}if((ea|0)==342?(ea=0,Y|0):0){G=w;w=G;continue b}c[aa>>2]=i+8;G=w;w=G;continue b}case 51:{b=H+(r>>>12&1048560)|0;switch(c[b>>2]|0){case 6:case 10:case 9:{G=w;w=G;continue b}case 3:case 2:break;case 4:{X=c[b+8>>2]|0;ea=349;break}case 8:{X=(c[(c[b+8>>2]|0)+20>>2]|0)!=0&1;ea=349;break}case 5:{X=(c[b+8>>2]|0)!=0&1;ea=349;break}default:{X=b+8|0;ea=c[X>>2]|0;X=c[X+4>>2]|0;X=(((ea|0)==0&(X&2147483647|0)==0|((ea|0)!=0|(X&1048575|0)!=0)&(0==0&(X&2146435072|0)==2146435072))^1)&1;ea=349}}if((ea|0)==349?(ea=0,X|0):0){G=w;w=G;continue b}c[aa>>2]=i+8;G=w;w=G;continue b}case 52:{b=c[P>>2]|0;i=b+(r>>>12&4080)|0;m=b+(r>>>20&4080)|0;q=r>>>8&255;g=c[i>>2]|0;if((g|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3]+ +h[m+8>>3];E=b+(q<<4)|0;G=c[E>>2]|0;F=b+(q<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=357;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(g&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=361;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}Ir(ga,-2,0);Ir(ga,-1,0);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;o=g+-2|0;i=g>>>0>1;m=b+(o<<4)|0;G=i?m:0;if((c[((G|0)==0?368:G)>>2]|0)!=8?(G=g|0?b+(g+-1<<4)|0:0,(c[((G|0)==0?368:G)>>2]|0)!=8):0){if(!i){ea=407;break a}n=+Ar(ga,m);i=c[P>>2]|0;F=i+(o<<4)|0;G=c[F>>2]|0;g=i+(o<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=412;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=n+k;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=423;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k}else ea=366;do if((ea|0)==366){ea=0;Xr(ga,-2)|0;G=c[P>>2]|0;b=(c[ha>>2]|0)-G>>4;b=b>>>0>1?G+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)p=c[b+8>>2]|0;else p=0;Xr(ga,-1)|0;g=c[ha>>2]|0;G=c[P>>2]|0;b=g-G>>4;b=b|0?G+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)m=c[b+8>>2]|0;else m=0;i=c[p+20>>2]|0;o=c[m+20>>2]|0;b=o+i|0;if(b>>>0<i>>>0|b>>>31|0){ea=402;break a}if(g>>>0>=(c[Q>>2]|0)>>>0){ea=372;break a}if(b>>>0>2147483646){ea=374;break a}b=ts(c[R>>2]|0,b,4,$)|0;if(!b){ea=376;break a}g=c[ha>>2]|0;c[g>>2]=10;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;c[ha>>2]=(c[ha>>2]|0)+16;b=c[$>>2]|0;s6(b|0,p+28|0,i|0)|0;s6(b+i|0,m+28|0,o|0)|0;m=c[ha>>2]|0;b=c[P>>2]|0;g=m-b|0;i=g>>4;o=i+-1|0;if(!i){ea=378;break a}G=((g|0)<16?i:0)+o|0;b=G>>>0<i>>>0?b+(G<<4)|0:0;b=(b|0)==0?368:b;l:do switch(c[b>>2]|0){case 10:{g=c[b+8>>2]|0;b=c[g+16>>2]|0;if(!(c[g>>2]&128)){g=g+24|0;break l}else{g=c[g+20>>2]|0;break l}}case 9:{b=c[b+8>>2]|0;if(!(c[b>>2]&8192)){ea=390;break a}g=c[b+40>>2]|0;if(!g){ea=390;break a}i=c[b+48>>2]|0;b=c[b+52>>2]|0;if((b+i|0)>>>0>(c[g+16>>2]|0)>>>0){ea=390;break a}if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;g=g+i|0;break}default:{ea=390;break a}}while(0);if(m>>>0>=(c[Q>>2]|0)>>>0){ea=392;break a}b=(g|0)==0?0:b;if((b|0)<0){ea=394;break a}b=fs(ga,g,b)|0;g=c[ha>>2]|0;c[ha>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;Hs(ga,o);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(!g){ea=396;break a}i=b+(g+-1<<4)|0;if(g>>>0<=2){ea=398;break a}g=g+-3|0;F=b+(g<<4)|0;G=c[F>>2]|0;g=c[b+(g<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;b=(c[ha>>2]|0)+-16|0;c[ha>>2]=b;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,g);b=c[ha>>2]|0}while(0);g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if(!(G&8))break;F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,b);g=c[ha>>2]|0}while(0);i=c[P>>2]|0;b=g-i>>4;if(!b){ea=426;break a}g=i+(b+-1<<4)|0;if(q>>>0>=b>>>0){ea=428;break a}F=i+(q<<4)|0;G=c[F>>2]|0;b=c[i+(q<<4)+8>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[g>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 53:{i=H+(r>>>12&4080)|0;b=c[P>>2]|0;m=b+(r>>>20&4080)|0;q=r>>>8&255;g=c[i>>2]|0;if((g|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3]+ +h[m+8>>3];E=b+(q<<4)|0;G=c[E>>2]|0;F=b+(q<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=438;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(g&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=442;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}Ir(ga,-2,0);Ir(ga,-1,0);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;o=g+-2|0;i=g>>>0>1;m=b+(o<<4)|0;G=i?m:0;if((c[((G|0)==0?368:G)>>2]|0)!=8?(G=g|0?b+(g+-1<<4)|0:0,(c[((G|0)==0?368:G)>>2]|0)!=8):0){if(!i){ea=488;break a}n=+Ar(ga,m);i=c[P>>2]|0;F=i+(o<<4)|0;G=c[F>>2]|0;g=i+(o<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=493;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=n+k;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=504;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k}else ea=447;do if((ea|0)==447){ea=0;Xr(ga,-2)|0;G=c[P>>2]|0;b=(c[ha>>2]|0)-G>>4;b=b>>>0>1?G+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)p=c[b+8>>2]|0;else p=0;Xr(ga,-1)|0;g=c[ha>>2]|0;G=c[P>>2]|0;b=g-G>>4;b=b|0?G+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)m=c[b+8>>2]|0;else m=0;i=c[p+20>>2]|0;o=c[m+20>>2]|0;b=o+i|0;if(b>>>0<i>>>0|b>>>31|0){ea=483;break a}if(g>>>0>=(c[Q>>2]|0)>>>0){ea=453;break a}if(b>>>0>2147483646){ea=455;break a}b=ts(c[R>>2]|0,b,4,$)|0;if(!b){ea=457;break a}g=c[ha>>2]|0;c[g>>2]=10;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;c[ha>>2]=(c[ha>>2]|0)+16;b=c[$>>2]|0;s6(b|0,p+28|0,i|0)|0;s6(b+i|0,m+28|0,o|0)|0;m=c[ha>>2]|0;b=c[P>>2]|0;g=m-b|0;i=g>>4;o=i+-1|0;if(!i){ea=459;break a}G=((g|0)<16?i:0)+o|0;b=G>>>0<i>>>0?b+(G<<4)|0:0;b=(b|0)==0?368:b;m:do switch(c[b>>2]|0){case 10:{g=c[b+8>>2]|0;b=c[g+16>>2]|0;if(!(c[g>>2]&128)){g=g+24|0;break m}else{g=c[g+20>>2]|0;break m}}case 9:{b=c[b+8>>2]|0;if(!(c[b>>2]&8192)){ea=471;break a}g=c[b+40>>2]|0;if(!g){ea=471;break a}i=c[b+48>>2]|0;b=c[b+52>>2]|0;if((b+i|0)>>>0>(c[g+16>>2]|0)>>>0){ea=471;break a}if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;g=g+i|0;break}default:{ea=471;break a}}while(0);if(m>>>0>=(c[Q>>2]|0)>>>0){ea=473;break a}b=(g|0)==0?0:b;if((b|0)<0){ea=475;break a}b=fs(ga,g,b)|0;g=c[ha>>2]|0;c[ha>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;Hs(ga,o);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(!g){ea=477;break a}i=b+(g+-1<<4)|0;if(g>>>0<=2){ea=479;break a}g=g+-3|0;F=b+(g<<4)|0;G=c[F>>2]|0;g=c[b+(g<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;b=(c[ha>>2]|0)+-16|0;c[ha>>2]=b;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,g);b=c[ha>>2]|0}while(0);g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if(!(G&8))break;F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,b);g=c[ha>>2]|0}while(0);i=c[P>>2]|0;b=g-i>>4;if(!b){ea=507;break a}g=i+(b+-1<<4)|0;if(q>>>0>=b>>>0){ea=509;break a}F=i+(q<<4)|0;G=c[F>>2]|0;b=c[i+(q<<4)+8>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[g>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 54:{b=c[P>>2]|0;i=b+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;q=r>>>8&255;g=c[i>>2]|0;if((g|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3]+ +h[m+8>>3];E=b+(q<<4)|0;G=c[E>>2]|0;F=b+(q<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=519;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(g&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=523;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}Ir(ga,-2,0);Ir(ga,-1,0);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;o=g+-2|0;i=g>>>0>1;m=b+(o<<4)|0;G=i?m:0;if((c[((G|0)==0?368:G)>>2]|0)!=8?(G=g|0?b+(g+-1<<4)|0:0,(c[((G|0)==0?368:G)>>2]|0)!=8):0){if(!i){ea=569;break a}n=+Ar(ga,m);i=c[P>>2]|0;F=i+(o<<4)|0;G=c[F>>2]|0;g=i+(o<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=574;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=n+k;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=585;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k}else ea=528;do if((ea|0)==528){ea=0;Xr(ga,-2)|0;G=c[P>>2]|0;b=(c[ha>>2]|0)-G>>4;b=b>>>0>1?G+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)p=c[b+8>>2]|0;else p=0;Xr(ga,-1)|0;g=c[ha>>2]|0;G=c[P>>2]|0;b=g-G>>4;b=b|0?G+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)m=c[b+8>>2]|0;else m=0;i=c[p+20>>2]|0;o=c[m+20>>2]|0;b=o+i|0;if(b>>>0<i>>>0|b>>>31|0){ea=564;break a}if(g>>>0>=(c[Q>>2]|0)>>>0){ea=534;break a}if(b>>>0>2147483646){ea=536;break a}b=ts(c[R>>2]|0,b,4,$)|0;if(!b){ea=538;break a}g=c[ha>>2]|0;c[g>>2]=10;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;c[ha>>2]=(c[ha>>2]|0)+16;b=c[$>>2]|0;s6(b|0,p+28|0,i|0)|0;s6(b+i|0,m+28|0,o|0)|0;m=c[ha>>2]|0;b=c[P>>2]|0;g=m-b|0;i=g>>4;o=i+-1|0;if(!i){ea=540;break a}G=((g|0)<16?i:0)+o|0;b=G>>>0<i>>>0?b+(G<<4)|0:0;b=(b|0)==0?368:b;n:do switch(c[b>>2]|0){case 10:{g=c[b+8>>2]|0;b=c[g+16>>2]|0;if(!(c[g>>2]&128)){g=g+24|0;break n}else{g=c[g+20>>2]|0;break n}}case 9:{b=c[b+8>>2]|0;if(!(c[b>>2]&8192)){ea=552;break a}g=c[b+40>>2]|0;if(!g){ea=552;break a}i=c[b+48>>2]|0;b=c[b+52>>2]|0;if((b+i|0)>>>0>(c[g+16>>2]|0)>>>0){ea=552;break a}if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;g=g+i|0;break}default:{ea=552;break a}}while(0);if(m>>>0>=(c[Q>>2]|0)>>>0){ea=554;break a}b=(g|0)==0?0:b;if((b|0)<0){ea=556;break a}b=fs(ga,g,b)|0;g=c[ha>>2]|0;c[ha>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;Hs(ga,o);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(!g){ea=558;break a}i=b+(g+-1<<4)|0;if(g>>>0<=2){ea=560;break a}g=g+-3|0;F=b+(g<<4)|0;G=c[F>>2]|0;g=c[b+(g<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;b=(c[ha>>2]|0)+-16|0;c[ha>>2]=b;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,g);b=c[ha>>2]|0}while(0);g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if(!(G&8))break;F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,b);g=c[ha>>2]|0}while(0);i=c[P>>2]|0;b=g-i>>4;if(!b){ea=588;break a}g=i+(b+-1<<4)|0;if(q>>>0>=b>>>0){ea=590;break a}F=i+(q<<4)|0;G=c[F>>2]|0;b=c[i+(q<<4)+8>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[g>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 55:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;q=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3]+ +h[m+8>>3];F=c[P>>2]|0;E=F+(q<<4)|0;G=c[E>>2]|0;F=F+(q<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=600;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=604;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}Ir(ga,-2,0);Ir(ga,-1,0);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;o=g+-2|0;i=g>>>0>1;m=b+(o<<4)|0;G=i?m:0;if((c[((G|0)==0?368:G)>>2]|0)!=8?(G=g|0?b+(g+-1<<4)|0:0,(c[((G|0)==0?368:G)>>2]|0)!=8):0){if(!i){ea=650;break a}n=+Ar(ga,m);i=c[P>>2]|0;F=i+(o<<4)|0;G=c[F>>2]|0;g=i+(o<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=655;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=n+k;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=666;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k}else ea=609;do if((ea|0)==609){ea=0;Xr(ga,-2)|0;G=c[P>>2]|0;b=(c[ha>>2]|0)-G>>4;b=b>>>0>1?G+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)p=c[b+8>>2]|0;else p=0;Xr(ga,-1)|0;g=c[ha>>2]|0;G=c[P>>2]|0;b=g-G>>4;b=b|0?G+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)m=c[b+8>>2]|0;else m=0;i=c[p+20>>2]|0;o=c[m+20>>2]|0;b=o+i|0;if(b>>>0<i>>>0|b>>>31|0){ea=645;break a}if(g>>>0>=(c[Q>>2]|0)>>>0){ea=615;break a}if(b>>>0>2147483646){ea=617;break a}b=ts(c[R>>2]|0,b,4,$)|0;if(!b){ea=619;break a}g=c[ha>>2]|0;c[g>>2]=10;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;c[ha>>2]=(c[ha>>2]|0)+16;b=c[$>>2]|0;s6(b|0,p+28|0,i|0)|0;s6(b+i|0,m+28|0,o|0)|0;m=c[ha>>2]|0;b=c[P>>2]|0;g=m-b|0;i=g>>4;o=i+-1|0;if(!i){ea=621;break a}G=((g|0)<16?i:0)+o|0;b=G>>>0<i>>>0?b+(G<<4)|0:0;b=(b|0)==0?368:b;o:do switch(c[b>>2]|0){case 10:{g=c[b+8>>2]|0;b=c[g+16>>2]|0;if(!(c[g>>2]&128)){g=g+24|0;break o}else{g=c[g+20>>2]|0;break o}}case 9:{b=c[b+8>>2]|0;if(!(c[b>>2]&8192)){ea=633;break a}g=c[b+40>>2]|0;if(!g){ea=633;break a}i=c[b+48>>2]|0;b=c[b+52>>2]|0;if((b+i|0)>>>0>(c[g+16>>2]|0)>>>0){ea=633;break a}if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;g=g+i|0;break}default:{ea=633;break a}}while(0);if(m>>>0>=(c[Q>>2]|0)>>>0){ea=635;break a}b=(g|0)==0?0:b;if((b|0)<0){ea=637;break a}b=fs(ga,g,b)|0;g=c[ha>>2]|0;c[ha>>2]=g+16;c[g>>2]=8;c[g+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;Hs(ga,o);b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(!g){ea=639;break a}i=b+(g+-1<<4)|0;if(g>>>0<=2){ea=641;break a}g=g+-3|0;F=b+(g<<4)|0;G=c[F>>2]|0;g=c[b+(g<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;b=(c[ha>>2]|0)+-16|0;c[ha>>2]=b;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,g);b=c[ha>>2]|0}while(0);g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if(!(G&8))break;F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,b);g=c[ha>>2]|0}while(0);i=c[P>>2]|0;b=g-i>>4;if(!b){ea=669;break a}g=i+(b+-1<<4)|0;if(q>>>0>=b>>>0){ea=671;break a}F=i+(q<<4)|0;G=c[F>>2]|0;b=c[i+(q<<4)+8>>2]|0;c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[g>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 56:{m=c[P>>2]|0;i=m+(r>>>12&4080)|0;m=m+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=679;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=683;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=687;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=692;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n-k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 57:{i=H+(r>>>12&4080)|0;m=(c[P>>2]|0)+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=709;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=713;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=717;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=722;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n-k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 58:{i=(c[P>>2]|0)+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=739;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=743;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=747;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=752;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n-k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 59:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=769;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=773;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=777;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=782;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n-k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 60:{m=c[P>>2]|0;i=m+(r>>>12&4080)|0;m=m+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=799;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=803;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=807;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=812;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k*n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 61:{i=H+(r>>>12&4080)|0;m=(c[P>>2]|0)+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=829;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=833;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=837;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=842;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k*n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 62:{i=(c[P>>2]|0)+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=859;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=863;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=867;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=872;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k*n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 63:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=889;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=893;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=897;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=902;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k*n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 64:{m=c[P>>2]|0;i=m+(r>>>12&4080)|0;m=m+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=919;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=923;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=927;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=932;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n/k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 65:{i=H+(r>>>12&4080)|0;m=(c[P>>2]|0)+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=949;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=953;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=957;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=962;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n/k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 66:{i=(c[P>>2]|0)+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=979;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=983;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=987;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=992;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n/k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 67:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1009;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1013;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1017;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1022;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n/k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 68:{m=c[P>>2]|0;i=m+(r>>>12&4080)|0;m=m+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1039;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1043;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1047;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1052;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}n=+o4(n,k);F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 69:{i=H+(r>>>12&4080)|0;m=(c[P>>2]|0)+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1069;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1073;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1077;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1082;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}n=+o4(n,k);F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 70:{i=(c[P>>2]|0)+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1099;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1103;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1107;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1112;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}n=+o4(n,k);F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 71:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1129;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1133;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1137;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1142;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}n=+o4(n,k);F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 72:{m=c[P>>2]|0;i=m+(r>>>12&4080)|0;m=m+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1159;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1163;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1167;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1172;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}G=K4(k)|0;if((G|0)!=0?!((G|0)==1&+B(+n)==1.0):0)k=+D(+n,+k);else k=s;F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 73:{i=H+(r>>>12&4080)|0;m=(c[P>>2]|0)+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1192;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1196;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1200;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1205;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}G=K4(k)|0;if((G|0)!=0?!((G|0)==1&+B(+n)==1.0):0)k=+D(+n,+k);else k=s;F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 74:{i=(c[P>>2]|0)+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1225;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1229;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1233;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1238;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}G=K4(k)|0;if((G|0)!=0?!((G|0)==1&+B(+n)==1.0):0)k=+D(+n,+k);else k=s;F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 75:{i=H+(r>>>12&4080)|0;m=H+(r>>>20&4080)|0;o=r>>>8&255;b=c[i>>2]|0;if((b|0)==0?(c[m>>2]|0)==0:0){n=+h[i+8>>3];k=+h[m+8>>3]}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=1258;break a}c[ha>>2]=g+16;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];if(b&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1262;break a}c[ha>>2]=b+16;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=1266;break a}n=+Ar(ga,b+(g<<4)|0);i=c[P>>2]|0;F=i+(g<<4)|0;G=c[F>>2]|0;g=i+(g<<4)+8|0;b=c[g>>2]|0;c[F>>2]=0;h[g>>3]=n;g=i;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);i=c[P>>2]|0;g=i}G=(c[ha>>2]|0)-g>>4;b=G+-1|0;if(!G){ea=1271;break a}k=+Ar(ga,i+(b<<4)|0);F=c[P>>2]|0;E=F+(b<<4)|0;G=c[E>>2]|0;F=F+(b<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b)}G=K4(k)|0;if((G|0)!=0?!((G|0)==1&+B(+n)==1.0):0)k=+D(+n,+k);else k=s;F=c[P>>2]|0;E=F+(o<<4)|0;G=c[E>>2]|0;F=F+(o<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 76:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1288;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1292;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1296;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;p:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1300;break p}}if((g|0)<0)ea=1300;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1300}while(0);if((ea|0)==1300){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1302;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1307;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;q:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1311;break q}}if((g|0)<0)ea=1311;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1311}while(0);if((ea|0)==1311){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1313;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m&o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 77:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1327;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1331;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1335;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;r:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1339;break r}}if((g|0)<0)ea=1339;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1339}while(0);if((ea|0)==1339){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1341;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1346;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;s:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1350;break s}}if((g|0)<0)ea=1350;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1350}while(0);if((ea|0)==1350){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1352;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m&o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 78:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1366;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1370;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1374;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;t:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1378;break t}}if((g|0)<0)ea=1378;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1378}while(0);if((ea|0)==1378){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1380;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1385;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;u:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1389;break u}}if((g|0)<0)ea=1389;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1389}while(0);if((ea|0)==1389){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1391;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m&o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 79:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1405;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1409;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1413;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;v:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1417;break v}}if((g|0)<0)ea=1417;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1417}while(0);if((ea|0)==1417){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1419;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1424;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;w:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1428;break w}}if((g|0)<0)ea=1428;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1428}while(0);if((ea|0)==1428){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1430;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m&o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 80:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1444;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1448;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1452;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;x:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1456;break x}}if((g|0)<0)ea=1456;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1456}while(0);if((ea|0)==1456){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1458;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1463;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;y:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1467;break y}}if((g|0)<0)ea=1467;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1467}while(0);if((ea|0)==1467){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1469;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 81:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1483;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1487;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1491;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;z:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1495;break z}}if((g|0)<0)ea=1495;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1495}while(0);if((ea|0)==1495){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1497;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1502;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;A:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1506;break A}}if((g|0)<0)ea=1506;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1506}while(0);if((ea|0)==1506){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1508;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 82:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1522;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1526;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1530;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;B:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1534;break B}}if((g|0)<0)ea=1534;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1534}while(0);if((ea|0)==1534){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1536;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1541;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;C:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1545;break C}}if((g|0)<0)ea=1545;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1545}while(0);if((ea|0)==1545){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1547;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 83:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1561;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1565;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1569;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;D:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1573;break D}}if((g|0)<0)ea=1573;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1573}while(0);if((ea|0)==1573){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1575;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1580;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;E:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1584;break E}}if((g|0)<0)ea=1584;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1584}while(0);if((ea|0)==1584){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1586;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 84:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1600;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1604;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1608;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;F:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1612;break F}}if((g|0)<0)ea=1612;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1612}while(0);if((ea|0)==1612){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1614;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1619;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;G:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1623;break G}}if((g|0)<0)ea=1623;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1623}while(0);if((ea|0)==1623){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1625;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m^o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 85:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1639;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1643;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1647;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;H:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1651;break H}}if((g|0)<0)ea=1651;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1651}while(0);if((ea|0)==1651){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1653;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1658;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;I:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1662;break I}}if((g|0)<0)ea=1662;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1662}while(0);if((ea|0)==1662){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1664;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m^o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 86:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1678;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1682;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1686;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;J:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1690;break J}}if((g|0)<0)ea=1690;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1690}while(0);if((ea|0)==1690){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1692;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1697;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;K:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1701;break K}}if((g|0)<0)ea=1701;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1701}while(0);if((ea|0)==1701){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1703;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m^o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 87:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1717;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1721;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1725;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;L:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1729;break L}}if((g|0)<0)ea=1729;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1729}while(0);if((ea|0)==1729){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1731;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1736;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;M:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1740;break M}}if((g|0)<0)ea=1740;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1740}while(0);if((ea|0)==1740){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1742;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m^o|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 88:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1756;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1760;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1764;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;N:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1768;break N}}if((g|0)<0)ea=1768;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1768}while(0);if((ea|0)==1768){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1770;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1775;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;O:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1779;break O}}if((g|0)<0)ea=1779;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1779}while(0);if((ea|0)==1779){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1781;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o<<(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 89:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1795;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1799;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1803;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;P:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1807;break P}}if((g|0)<0)ea=1807;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1807}while(0);if((ea|0)==1807){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1809;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1814;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;Q:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1818;break Q}}if((g|0)<0)ea=1818;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1818}while(0);if((ea|0)==1818){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1820;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o<<(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 90:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1834;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1838;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1842;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;R:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1846;break R}}if((g|0)<0)ea=1846;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1846}while(0);if((ea|0)==1846){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1848;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1853;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;S:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1857;break S}}if((g|0)<0)ea=1857;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1857}while(0);if((ea|0)==1857){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1859;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o<<(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 91:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1873;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1877;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1881;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;T:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1885;break T}}if((g|0)<0)ea=1885;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1885}while(0);if((ea|0)==1885){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1887;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1892;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;U:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1896;break U}}if((g|0)<0)ea=1896;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1896}while(0);if((ea|0)==1896){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1898;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o<<(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 92:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1912;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1916;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1920;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;V:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1924;break V}}if((g|0)<0)ea=1924;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1924}while(0);if((ea|0)==1924){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1926;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1931;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;W:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1935;break W}}if((g|0)<0)ea=1935;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1935}while(0);if((ea|0)==1935){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1937;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>>(m&31)>>>0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 93:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1951;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1955;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1959;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;X:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1963;break X}}if((g|0)<0)ea=1963;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1963}while(0);if((ea|0)==1963){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=1965;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=1970;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;Y:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=1974;break Y}}if((g|0)<0)ea=1974;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=1974}while(0);if((ea|0)==1974){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=1976;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>>(m&31)>>>0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 94:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1990;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=1994;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=1998;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;Z:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2002;break Z}}if((g|0)<0)ea=2002;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2002}while(0);if((ea|0)==2002){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2004;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2009;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;_:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2013;break _}}if((g|0)<0)ea=2013;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2013}while(0);if((ea|0)==2013){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2015;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>>(m&31)>>>0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 95:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2029;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2033;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=2037;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;$:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2041;break $}}if((g|0)<0)ea=2041;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2041}while(0);if((ea|0)==2041){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2043;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2048;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;aa:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2052;break aa}}if((g|0)<0)ea=2052;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2052}while(0);if((ea|0)==2052){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2054;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>>(m&31)>>>0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 96:{i=c[P>>2]|0;g=i+(r>>>12&4080)|0;i=i+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2068;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2072;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=2076;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ba:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2080;break ba}}if((g|0)<0)ea=2080;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2080}while(0);if((ea|0)==2080){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2082;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2087;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ca:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2091;break ca}}if((g|0)<0)ea=2091;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2091}while(0);if((ea|0)==2091){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2093;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 97:{g=H+(r>>>12&4080)|0;i=(c[P>>2]|0)+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2107;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2111;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=2115;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;da:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2119;break da}}if((g|0)<0)ea=2119;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2119}while(0);if((ea|0)==2119){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2121;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2126;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ea:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2130;break ea}}if((g|0)<0)ea=2130;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2130}while(0);if((ea|0)==2130){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2132;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 98:{g=(c[P>>2]|0)+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2146;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2150;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=2154;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;fa:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2158;break fa}}if((g|0)<0)ea=2158;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2158}while(0);if((ea|0)==2158){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2160;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2165;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ga:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2169;break ga}}if((g|0)<0)ea=2169;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2169}while(0);if((ea|0)==2169){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2171;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 99:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;p=r>>>8&255;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2185;break a}c[ha>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){G=(c[g+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2189;break a}c[ha>>2]=b+16;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}b=c[P>>2]|0;g=(c[ha>>2]|0)-b>>4;if(g>>>0<=1){ea=2193;break a}k=+Ar(ga,b+(g+-2<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ha:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2197;break ha}}if((g|0)<0)ea=2197;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2197}while(0);if((ea|0)==2197){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}o=~~k;b=c[ha>>2]|0;i=c[P>>2]|0;g=b-i>>4;if(g>>>0<=1){ea=2199;break a}F=g+-2|0;E=i+(F<<4)|0;G=c[E>>2]|0;F=i+(F<<4)+8|0;g=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o|0);if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);i=c[P>>2]|0;b=c[ha>>2]|0}b=b-i>>4;if(!b){ea=2204;break a}k=+Ar(ga,i+(b+-1<<4)|0);h[j>>3]=k;b=c[j>>2]|0;g=c[j+4>>2]|0;i=g&2146435072;ia:do if((i|0)<2146435072){switch(i|0){case 0:break;default:{ea=2208;break ia}}if((g|0)<0)ea=2208;else k=0.0}else switch(i|0){case 2146435072:{k=0.0;break}default:ea=2208}while(0);if((ea|0)==2208){ea=0;k=+A(+(+B(+k)));k=+o4((g|0)>-1|(g|0)==-1&b>>>0>4294967295?k:-k,4294967296.0);k=k<0.0?k+4294967296.0:k;k=k>=2147483648.0?k+-4294967296.0:k}m=~~k;g=c[ha>>2]|0;b=c[P>>2]|0;i=g-b>>4;if(!i){ea=2210;break a}F=i+-1|0;E=b+(F<<4)|0;G=c[E>>2]|0;F=b+(F<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(m|0);if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);F=c[P>>2]|0;E=F+(p<<4)|0;G=c[E>>2]|0;F=F+(p<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=+(o>>(m&31)|0);if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 100:{E=c[P>>2]|0;E=Is(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 101:{E=Is(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 102:{E=Is(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 103:{E=Is(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 104:{E=c[P>>2]|0;E=Js(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 105:{E=Js(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 106:{E=Js(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 107:{E=Js(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 120:{b=c[P>>2]|0;o=r>>>4&4080;g=r>>>12&1048560;i=b+g|0;if(!(c[i>>2]|0)){G=i+8|0;k=+h[G>>3]+1.0;c[i>>2]=0;h[G>>3]=k}else{m=g>>>4;if(m>>>0>=(c[ha>>2]|0)-b>>4>>>0){ea=2250;break a}k=+Ar(ga,b+(m<<4)|0);F=c[P>>2]|0;E=F+(m<<4)|0;G=c[E>>2]|0;F=F+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=k+1.0;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2255;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k;b=c[P>>2]|0;g=g-b>>4;if(!g){ea=2257;break a}i=b+(g+-1<<4)|0;if(m>>>0>=g>>>0){ea=2259;break a}F=b+(m<<4)|0;G=c[F>>2]|0;b=c[b+(m<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[P>>2]|0}E=b+o|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 121:{b=c[P>>2]|0;o=r>>>4&4080;g=r>>>12&1048560;i=b+g|0;if(!(c[i>>2]|0)){G=i+8|0;k=+h[G>>3]+-1.0;c[i>>2]=0;h[G>>3]=k}else{m=g>>>4;if(m>>>0>=(c[ha>>2]|0)-b>>4>>>0){ea=2270;break a}k=+Ar(ga,b+(m<<4)|0);F=c[P>>2]|0;E=F+(m<<4)|0;G=c[E>>2]|0;F=F+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=k+-1.0;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2275;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k;b=c[P>>2]|0;g=g-b>>4;if(!g){ea=2277;break a}i=b+(g+-1<<4)|0;if(m>>>0>=g>>>0){ea=2279;break a}F=b+(m<<4)|0;G=c[F>>2]|0;b=c[b+(m<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[P>>2]|0}E=b+o|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 122:{b=c[P>>2]|0;o=r>>>4&4080;g=r>>>12&1048560;i=b+g|0;if(!(c[i>>2]|0)){G=i+8|0;k=+h[G>>3];c[i>>2]=0;h[G>>3]=k+1.0}else{m=g>>>4;if(m>>>0>=(c[ha>>2]|0)-b>>4>>>0){ea=2290;break a}k=+Ar(ga,b+(m<<4)|0);F=c[P>>2]|0;E=F+(m<<4)|0;G=c[E>>2]|0;F=F+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2295;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k+1.0;b=c[P>>2]|0;g=g-b>>4;if(!g){ea=2297;break a}i=b+(g+-1<<4)|0;if(m>>>0>=g>>>0){ea=2299;break a}F=b+(m<<4)|0;G=c[F>>2]|0;b=c[b+(m<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[P>>2]|0}E=b+o|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 123:{b=c[P>>2]|0;o=r>>>4&4080;g=r>>>12&1048560;i=b+g|0;if(!(c[i>>2]|0)){G=i+8|0;k=+h[G>>3];c[i>>2]=0;h[G>>3]=k+-1.0}else{m=g>>>4;if(m>>>0>=(c[ha>>2]|0)-b>>4>>>0){ea=2310;break a}k=+Ar(ga,b+(m<<4)|0);F=c[P>>2]|0;E=F+(m<<4)|0;G=c[E>>2]|0;F=F+(m<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2315;break a}g=b+16|0;c[ha>>2]=g;c[b>>2]=0;h[b+8>>3]=k+-1.0;b=c[P>>2]|0;g=g-b>>4;if(!g){ea=2317;break a}i=b+(g+-1<<4)|0;if(m>>>0>=g>>>0){ea=2319;break a}F=b+(m<<4)|0;G=c[F>>2]|0;b=c[b+(m<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[P>>2]|0}E=b+o|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 124:{p=r>>>8&255;q=c[O>>2]|0;o=(c[c[q+16>>2]>>2]|0)>>>16&1;i=c[H+(r>>>12&1048560)+8>>2]|0;m=q+28|0;Es(ga,c[m>>2]|0,q,i,1)|0;b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=2328;break a}k=+Ar(ga,b+(g<<4)|0);F=c[P>>2]|0;E=F+(g<<4)|0;G=c[E>>2]|0;F=F+(g<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=k+1.0;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2339;break a}c[ha>>2]=b+16;c[b>>2]=0;h[b+8>>3]=k;ms(ga,c[m>>2]|0,q,i,b,o);F=(c[ha>>2]|0)+-16|0;b=c[P>>2]|0;E=b+(p<<4)|0;G=c[E>>2]|0;b=c[b+(p<<4)+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 125:{p=r>>>8&255;q=c[O>>2]|0;o=(c[c[q+16>>2]>>2]|0)>>>16&1;i=c[H+(r>>>12&1048560)+8>>2]|0;m=q+28|0;Es(ga,c[m>>2]|0,q,i,1)|0;b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=2344;break a}k=+Ar(ga,b+(g<<4)|0);F=c[P>>2]|0;E=F+(g<<4)|0;G=c[E>>2]|0;F=F+(g<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);k=k+-1.0;b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2355;break a}c[ha>>2]=b+16;c[b>>2]=0;h[b+8>>3]=k;ms(ga,c[m>>2]|0,q,i,b,o);F=(c[ha>>2]|0)+-16|0;b=c[P>>2]|0;E=b+(p<<4)|0;G=c[E>>2]|0;b=c[b+(p<<4)+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 126:{q=r>>>8&255;p=c[O>>2]|0;o=(c[c[p+16>>2]>>2]|0)>>>16&1;i=c[H+(r>>>12&1048560)+8>>2]|0;m=p+28|0;Es(ga,c[m>>2]|0,p,i,1)|0;b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=2360;break a}k=+Ar(ga,b+(g<<4)|0);F=c[P>>2]|0;E=F+(g<<4)|0;G=c[E>>2]|0;F=F+(g<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2365;break a}c[ha>>2]=b+16;c[b>>2]=0;h[b+8>>3]=k+1.0;ms(ga,c[m>>2]|0,p,i,b,o);b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;b=c[P>>2]|0;E=b+(q<<4)|0;G=c[E>>2]|0;b=c[b+(q<<4)+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 127:{q=r>>>8&255;p=c[O>>2]|0;o=(c[c[p+16>>2]>>2]|0)>>>16&1;i=c[H+(r>>>12&1048560)+8>>2]|0;m=p+28|0;Es(ga,c[m>>2]|0,p,i,1)|0;b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-2|0;if(G>>>0<=1){ea=2376;break a}k=+Ar(ga,b+(g<<4)|0);F=c[P>>2]|0;E=F+(g<<4)|0;G=c[E>>2]|0;F=F+(g<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=k;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2381;break a}c[ha>>2]=b+16;c[b>>2]=0;h[b+8>>3]=k+-1.0;ms(ga,c[m>>2]|0,p,i,b,o);b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;b=c[P>>2]|0;E=b+(q<<4)|0;G=c[E>>2]|0;b=c[b+(q<<4)+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -113:case -114:case -115:case -116:case -117:case -118:case -119:case -120:case -121:case -122:case -123:case -124:case -125:case -126:case -127:case -128:{i=(r&1|0)!=0;if(i)b=H;else b=c[P>>2]|0;o=r>>>12&4080;m=(r&2|0)!=0;if(m)g=H;else g=c[P>>2]|0;p=r>>>20&4080;Kr(ga,b+o|0,g+p|0)|0;b=c[P>>2]|0;G=(c[ha>>2]|0)-b>>4;g=G+-1|0;if(!G){ea=2396;break a}n=+Ar(ga,b+(g<<4)|0);F=c[P>>2]|0;E=F+(g<<4)|0;G=c[E>>2]|0;F=F+(g<<4)+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=n;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);b=c[ha>>2]|0;g=b+-16|0;c[ha>>2]=g;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if((G&8|0)!=0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,b);g=c[ha>>2]|0}k=((r&4|0)==0?1.0:-1.0)+n;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2404;break a}c[ha>>2]=g+16;c[g>>2]=0;h[g+8>>3]=k;if(i)i=H;else i=c[P>>2]|0;if(m)b=H;else b=c[P>>2]|0;es(ga,i+o|0,b+p|0,0,c[g+4>>2]|0,k,(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;b=c[ha>>2]|0;F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(G&8|0?(F=b+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,b);E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=0;h[F>>3]=r&8|0?n:k;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 108:{F=c[P>>2]|0;Kr(ga,F+(r>>>12&4080)|0,F+(r>>>20&4080)|0)|0;F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 109:{Kr(ga,H+(r>>>12&4080)|0,(c[P>>2]|0)+(r>>>20&4080)|0)|0;F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 110:{Kr(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 111:{Kr(ga,H+(r>>>12&4080)|0,H+(r>>>20&4080)|0)|0;F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -48:{b=c[P>>2]|0;g=r>>>12&4080;i=r>>>20&4080;Kr(ga,b+g|0,b+i|0)|0;b=c[ha>>2]|0;m=b+-16|0;switch(c[m>>2]|0){case 9:{if(!(c[c[b+-8>>2]>>2]&512))ea=2429;break}case 6:break;default:ea=2429}if((ea|0)==2429){ea=0;b=c[P>>2]|0;Ks(ga,m,b+g|0,b+i|0);b=c[ha>>2]|0}F=b+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -47:{g=H+(r>>>12&4080)|0;i=r>>>20&4080;Kr(ga,g,(c[P>>2]|0)+i|0)|0;b=c[ha>>2]|0;m=b+-16|0;switch(c[m>>2]|0){case 9:{if(!(c[c[b+-8>>2]>>2]&512))ea=2435;break}case 6:break;default:ea=2435}if((ea|0)==2435){ea=0;Ks(ga,m,g,(c[P>>2]|0)+i|0);b=c[ha>>2]|0}F=b+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -46:{g=r>>>12&4080;i=H+(r>>>20&4080)|0;Kr(ga,(c[P>>2]|0)+g|0,i)|0;b=c[ha>>2]|0;m=b+-16|0;switch(c[m>>2]|0){case 9:{if(!(c[c[b+-8>>2]>>2]&512))ea=2441;break}case 6:break;default:ea=2441}if((ea|0)==2441){ea=0;Ks(ga,m,(c[P>>2]|0)+g|0,i);b=c[ha>>2]|0}F=b+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -45:{g=H+(r>>>12&4080)|0;i=H+(r>>>20&4080)|0;Kr(ga,g,i)|0;b=c[ha>>2]|0;m=b+-16|0;switch(c[m>>2]|0){case 9:{if(!(c[c[b+-8>>2]>>2]&512))ea=2447;break}case 6:break;default:ea=2447}if((ea|0)==2447){ea=0;Ks(ga,m,g,i);b=c[ha>>2]|0}F=b+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 112:{F=c[P>>2]|0;G=F+(r>>>20&4080)|0;es(ga,F+(r>>>4&4080)|0,F+(r>>>12&4080)|0,c[G>>2]|0,c[G+4>>2]|0,+h[G+8>>3],(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;G=w;w=G;continue b}case 113:{F=c[P>>2]|0;G=F+(r>>>20&4080)|0;es(ga,F+(r>>>4&4080)|0,H+(r>>>12&4080)|0,c[G>>2]|0,c[G+4>>2]|0,+h[G+8>>3],(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;G=w;w=G;continue b}case 114:{F=c[P>>2]|0;G=H+(r>>>20&4080)|0;es(ga,F+(r>>>4&4080)|0,F+(r>>>12&4080)|0,c[G>>2]|0,c[G+4>>2]|0,+h[G+8>>3],(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;G=w;w=G;continue b}case 115:{G=H+(r>>>20&4080)|0;es(ga,(c[P>>2]|0)+(r>>>4&4080)|0,H+(r>>>12&4080)|0,c[G>>2]|0,c[G+4>>2]|0,+h[G+8>>3],(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;G=w;w=G;continue b}case 116:{E=c[P>>2]|0;E=Ls(ga,E+(r>>>12&4080)|0,E+(r>>>20&4080)|0,(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 118:{E=Ls(ga,(c[P>>2]|0)+(r>>>12&4080)|0,H+(r>>>20&4080)|0,(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1)|0;C=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[C>>2]|0;F=C+8|0;b=c[F>>2]|0;c[C>>2]=4;c[F>>2]=E;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -109:case -110:case -111:case -112:{g=r>>>8;if(!(r&1))b=c[P>>2]|0;else b=H;F=c[b+(r>>>12&4080)+8>>2]|0;m=g&16;o=(m|0)!=0;G=g&15;if(o){if(!(r&2))b=c[P>>2]|0;else b=H;b=b+(r>>>20&4080)|0;g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2467;break a}c[ha>>2]=g+16;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){E=(c[b+8>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1}}else c[ha>>2]=(c[ha>>2]|0)+16;z=c[ha>>2]|0;i=c[O>>2]|0;y=c[z+-16>>2]|0;C=c[z+-12>>2]|0;E=c[z+-8>>2]|0;z=c[z+-16+12>>2]|0;b=i+24|0;g=c[b>>2]|0;if(!g){Bs(ga,i);g=c[b>>2]|0}do if(ns(ga,g,F,0,0,$)|0){if(m|0?(c[K>>2]|0)==(g|0):0){u=F+12|0;o=w;b=T;ja:while(1){v=c[b>>2]|0;b=c[v+36>>2]|0;w=v+24|0;t=c[w>>2]|0;x=v+16|0;g=c[x>>2]|0;ka:do if(!b){i=g+(t<<4)|0;m=c[v+28>>2]|0;if(!m)b=o;else{b=0;while(1){if((c[i+(b<<2)>>2]|0)==(F|0))break ja;b=b+1|0;if(b>>>0>=m>>>0){b=o;break}}}}else{r=g+(t*21|0)+(0-t&7)+(c[v+32>>2]<<4)|0;p=b+-1|0;q=g+(t<<4)|0;i=c[u>>2]&p;b=o;la:while(1){m=c[r+(i<<2)>>2]|0;switch(m|0){case -1:{o=19;break}case -2:{ea=2484;break}default:if((c[q+(m<<2)>>2]|0)==(F|0)){o=1;b=m}else ea=2484}if((ea|0)==2484){ea=0;o=0;i=i+1&p}switch(o&31){case 19:break ka;case 0:break;default:break la}}if(o)break ja}while(0);o=b;b=v+20|0}i=d[g+(t*20|0)+b>>0]|0;if(!((i&4|0)!=0|(i&11|0)==3)){ea=2534;break a}m=c[T>>2]|0;if((v|0)==(m|0)){if(!(i&8)){v=g+(b<<4)|0;F=c[v>>2]|0;g=c[g+(b<<4)+8>>2]|0;c[v>>2]=2;if(F&8|0?(v=g+4|0,F=(c[v>>2]|0)+-1|0,c[v>>2]=F,(F|0)==0):0)qr(c[R>>2]|0,g)}else{F=g+(b<<4)|0;i=c[F>>2]|0;c[F>>2]=0;if((i|0)!=0?(v=i+4|0,F=(c[v>>2]|0)+-1|0,c[v>>2]=F,(F|0)==0):0){Ms(c[R>>2]|0,i);g=c[x>>2]|0}F=g+(b<<4)+4|0;g=c[F>>2]|0;c[F>>2]=0;if(g|0?(v=g+4|0,F=(c[v>>2]|0)+-1|0,c[v>>2]=F,(F|0)==0):0)Ms(c[R>>2]|0,g)}v=c[x>>2]|0;F=v+(b<<4)|0;c[F>>2]=y;c[v+(b<<4)+4>>2]=C;c[v+(b<<4)+8>>2]=E;c[F+12>>2]=z;if(y&8|0){F=E+4|0;c[F>>2]=(c[F>>2]|0)+1}a[(c[x>>2]|0)+((c[w>>2]|0)*20|0)+b>>0]=G}else{g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2504;break a}c[ha>>2]=g+16;c[g>>2]=y;c[g+4>>2]=C;c[g+8>>2]=E;c[g+12>>2]=z;if(y&8|0){E=E+4|0;c[E>>2]=(c[E>>2]|0)+1}yr(ga,m,F,G)}break}if(o){ms(ga,c[i+28>>2]|0,i,F,(c[ha>>2]|0)+-16|0,(c[c[(c[O>>2]|0)+16>>2]>>2]|0)>>>16&1);b=w}else b=w}else{b=c[g>>2]|0;if((b&-134217728|0)!=-2147483648){b=c[g+40>>2]|0;g=b;b=c[b>>2]|0}if(!(b&128)){ea=2534;break a}b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2512;break a}c[ha>>2]=b+16;c[b>>2]=9;c[b+8>>2]=g;b=g+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2514;break a}c[ha>>2]=b+16;c[b>>2]=8;c[b+8>>2]=F;b=F+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2516;break a}c[ha>>2]=b+16;c[b>>2]=y;c[b+4>>2]=C;c[b+8>>2]=E;c[b+12>>2]=z;if(y&8|0){F=E+4|0;c[F>>2]=(c[F>>2]|0)+1}F=c[P>>2]|0;b=(c[ha>>2]|0)-F>>4;b=b>>>0>2?F+(b+-3<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9){ea=2521;break a}g=c[b+8>>2]|0;if(!g){ea=2521;break a}Ir(ga,-2,1);F=c[P>>2]|0;b=(c[ha>>2]|0)-F>>4;b=b>>>0>1?F+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8?(ba=c[b+8>>2]|0,(ba|0)!=0):0)b=ba;else{Xr(ga,-2)|0;F=c[P>>2]|0;b=(c[ha>>2]|0)-F>>4;b=b>>>0>1?F+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)==8)b=c[b+8>>2]|0;else b=0}yr(ga,g,b,G);g=c[ha>>2]|0;if((g|0)==(c[P>>2]|0)){ea=2527;break a}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,g);b=c[ha>>2]|0}while(0);F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;do if(G&8|0){F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[R>>2]|0,b)}while(0);b=w}while(0);g=c[ha>>2]|0;F=g+-16|0;c[ha>>2]=F;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[F>>2]=2;if(!(G&8)){w=b;continue b}F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){w=b;continue b}qr(c[R>>2]|0,g);w=b;continue b}case -105:case -106:case -107:case -108:{if(!(r&2))b=c[P>>2]|0;else b=H;b=b+(r>>>20&4080)|0;g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2545;break a}c[ha>>2]=g+16;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}if(!(r&1))b=c[P>>2]|0;else b=H;b=b+(r>>>12&4080)|0;g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2551;break a}c[ha>>2]=g+16;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}Ns(ga);F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -81:case -82:case -83:case -84:{if(!(r&1))b=c[P>>2]|0;else b=H;o=c[O>>2]|0;Es(ga,c[o+28>>2]|0,o,c[b+(r>>>12&4080)+8>>2]|0,1)|0;o=r>>>8&255;b=o+1|0;g=c[P>>2]|0;i=(c[ha>>2]|0)-g>>4;if(!i){ea=2560;break a}m=g+(i+-1<<4)|0;if(b>>>0>=i>>>0){ea=2562;break a}F=g+(b<<4)|0;G=c[F>>2]|0;g=c[g+(b<<4)+8>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[m>>2]=2;b=(c[ha>>2]|0)+-16|0;c[ha>>2]=b;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}g=c[P>>2]|0;b=b-g>>4;if(!b){ea=2567;break a}i=g+(b+-1<<4)|0;if(o>>>0>=b>>>0){ea=2569;break a}F=g+(o<<4)|0;G=c[F>>2]|0;b=c[g+(o<<4)+8>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];c[i>>2]=2;c[ha>>2]=(c[ha>>2]|0)+-16;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -104:{b=c[O>>2]|0;i=c[(c[(c[b+16>>2]|0)+44>>2]|0)+(r>>>16<<2)>>2]|0;g=c[b+28>>2]|0;if(!g){Bs(ga,b);g=c[O>>2]|0;b=g;g=c[g+28>>2]|0}Os(ga,i,c[b+24>>2]|0,g,1);F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 11:{g=c[O>>2]|0;Es(ga,c[g+28>>2]|0,g,c[H+(r>>>12&1048560)+8>>2]|0,1)|0;g=c[ha>>2]|0;b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -101:{G=c[O>>2]|0;ms(ga,c[G+28>>2]|0,G,c[H+(r>>>12&1048560)+8>>2]|0,(c[P>>2]|0)+(r>>>4&4080)|0,(c[c[G+16>>2]>>2]|0)>>>16&1);G=w;w=G;continue b}case -100:{b=c[H+(r>>>12&1048560)+8>>2]|0;G=c[O>>2]|0;do if(!(ns(ga,c[G+28>>2]|0,b,G,1,$)|0))g=1;else{if(c[U>>2]|0?(c[W>>2]&4|0)==0:0){g=0;break}g=qs(ga,c[V>>2]|0,b,0)|0}while(0);E=(c[P>>2]|0)+(r>>>4&4080)|0;G=c[E>>2]|0;F=E+8|0;b=c[F>>2]|0;c[E>>2]=4;c[F>>2]=g;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case 2:{c[aa>>2]=g+((r>>>8)+-8388608<<2);G=w;w=G;continue b}case -95:{i=(c[R>>2]|0)+40|0;g=c[i>>2]|0;if(!g){g=Qs(ga)|0;b=c[aa>>2]|0}else c[i>>2]=c[g>>2];c[g+16>>2]=r>>>16<<8|2;c[g+8>>2]=b;c[g+12>>2]=0;c[g+4>>2]=0;G=(c[O>>2]|0)+32|0;c[g>>2]=c[G>>2];c[G>>2]=g;c[aa>>2]=(c[aa>>2]|0)+8;G=w;w=G;continue b}case -94:{G=c[R>>2]|0;E=(c[O>>2]|0)+32|0;F=c[E>>2]|0;c[E>>2]=c[F>>2];G=G+40|0;c[F>>2]=c[G>>2];c[G>>2]=F;G=w;w=G;continue b}case -91:{Ss(ga,r,g);c[aa>>2]=(c[aa>>2]|0)+8;G=w;w=G;continue b}case -90:{c[aa>>2]=Ts(ga)|0;G=w;w=G;continue b}case -89:{Us(ga);G=w;w=G;continue b}case -85:{i=r>>>16;G=c[P>>2]|0;p=G+(i<<4)|0;b=c[p>>2]|0;i=G+(i<<4)+8|0;m=c[i>>2]|0;g=c[p+16>>2]|0;o=c[p+24>>2]|0;G=G+((r>>>8&255)<<4)|0;c[p>>2]=c[G>>2];c[p+4>>2]=c[G+4>>2];c[p+8>>2]=c[G+8>>2];c[p+12>>2]=c[G+12>>2];if(c[p>>2]&8|0){G=(c[i>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}c[p+16>>2]=2;if(b&8|0?(F=m+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)qr(c[R>>2]|0,m);if(!(g&8)){G=w;w=G;continue b}F=o+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,o);G=w;w=G;continue b}case -73:case -74:case -75:case -76:case -77:case -78:case -79:case -80:{o=r&7|8;p=r>>>16;g=p+2+(r>>>8&255)|0;b=c[ha>>2]|0;i=c[P>>2]|0;m=b-i>>4;if(g>>>0<m>>>0){i=b+(g-m<<4)|0;do{G=c[b+-16>>2]|0;g=c[b+-8>>2]|0;b=b+-16|0;c[b>>2]=2;if(G&8|0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)vr(c[R>>2]|0,g)}while((b|0)!=(i|0));c[ha>>2]=i;b=c[R>>2]|0;if(c[b+32>>2]|0)lr(b)}else c[ha>>2]=i+(g<<4);if(Lr(ga,p,o)|0){b=w;continue a}g=e[(c[(c[O>>2]|0)+16>>2]|0)+60>>1]|0;b=c[ha>>2]|0;i=c[P>>2]|0;m=b-i>>4;if(g>>>0>=m>>>0){c[ha>>2]=i+(g<<4);G=w;w=G;continue b}i=b+(g-m<<4)|0;do{G=c[b+-16>>2]|0;g=c[b+-8>>2]|0;b=b+-16|0;c[b>>2]=2;if(G&8|0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)vr(c[R>>2]|0,g)}while((b|0)!=(i|0));c[ha>>2]=i;b=c[R>>2]|0;if(!(c[b+32>>2]|0)){G=w;w=G;continue b}lr(b);G=w;w=G;continue b}case -65:case -66:case -67:case -68:case -69:case -70:case -71:case -72:{m=c[P>>2]|0;o=r&7|8;p=r>>>16;g=p+2+(~~+h[m+((r>>>8&255)<<4)+8>>3]>>>0)|0;b=c[ha>>2]|0;i=b-m>>4;if(g>>>0<i>>>0){i=b+(g-i<<4)|0;do{G=c[b+-16>>2]|0;g=c[b+-8>>2]|0;b=b+-16|0;c[b>>2]=2;if(G&8|0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)vr(c[R>>2]|0,g)}while((b|0)!=(i|0));c[ha>>2]=i;b=c[R>>2]|0;if(c[b+32>>2]|0)lr(b)}else c[ha>>2]=m+(g<<4);if(Lr(ga,p,o)|0){b=w;continue a}g=e[(c[(c[O>>2]|0)+16>>2]|0)+60>>1]|0;b=c[ha>>2]|0;i=c[P>>2]|0;m=b-i>>4;if(g>>>0>=m>>>0){c[ha>>2]=i+(g<<4);G=w;w=G;continue b}i=b+(g-m<<4)|0;do{G=c[b+-16>>2]|0;g=c[b+-8>>2]|0;b=b+-16|0;c[b>>2]=2;if(G&8|0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0)vr(c[R>>2]|0,g)}while((b|0)!=(i|0));c[ha>>2]=i;b=c[R>>2]|0;if(!(c[b+32>>2]|0)){G=w;w=G;continue b}lr(b);G=w;w=G;continue b}case -64:{if((c[ha>>2]|0)>>>0>=(c[Q>>2]|0)>>>0){ea=2666;break a}i=Or(ga,40)|0;b=c[R>>2]|0;c[i>>2]=134234241;b=b+24|0;g=c[b>>2]|0;if(g|0)c[g+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=g;c[b>>2]=i;b=c[ha>>2]|0;c[b>>2]=9;c[b+8>>2]=i;b=i+4|0;c[b>>2]=(c[b>>2]|0)+1;c[ha>>2]=(c[ha>>2]|0)+16;b=c[L>>2]|0;c[i+20>>2]=b;if(b|0){G=b+4|0;c[G>>2]=(c[G>>2]|0)+1}m=c[(c[ha>>2]|0)+-8>>2]|0;i=r>>>8&255;G=c[m+24>>2]|0;i=G>>>0>i>>>0?G:i;do if(i>>>0>7){if(i>>>0>63){b=2;g=i;do{G=g;g=g>>>6;b=b<<6}while(G>>>0>4095);if(!g)break}else{b=2;g=i}do{g=g>>>1;b=b<<1}while((g|0)!=0)}else b=0;while(0);Br(ga,m,i,c[m+32>>2]|0,b,0);F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -63:{i=Or(ga,48)|0;b=c[R>>2]|0;c[i>>2]=272679041;b=b+24|0;g=c[b>>2]|0;if(g|0)c[g+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=g;c[b>>2]=i;b=c[M>>2]|0;c[i+20>>2]=b;if(b|0){G=b+4|0;c[G>>2]=(c[G>>2]|0)+1}F=c[ha>>2]|0;c[F>>2]=9;c[F+8>>2]=i;F=i+4|0;c[F>>2]=(c[F>>2]|0)+1;F=c[ha>>2]|0;c[ha>>2]=F+16;Br(ga,c[F+8>>2]|0,0,r>>>8&255,0,0);F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -61:case -62:{v=r>>>8&255;b=r>>>16&255;if((m|0)==195)b=~~+h[(c[P>>2]|0)+(b<<4)+8>>3]>>>0;u=b+(r>>>24)|0;while(1){i=c[ha>>2]|0;if(i>>>0>=(c[Q>>2]|0)>>>0){ea=2690;break a}m=c[P>>2]|0;G=i-m>>4;g=((b|0)<0?G:0)+b|0;if(g>>>0>=G>>>0){ea=2692;break a}G=m+(g<<4)|0;c[ha>>2]=i+16;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[i+12>>2]=c[G+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}i=b+1|0;m=c[ha>>2]|0;if(m>>>0>=(c[Q>>2]|0)>>>0){ea=2696;break a}o=c[P>>2]|0;G=m-o>>4;g=((i|0)<0?G:0)+i|0;if(g>>>0>=G>>>0){ea=2698;break a}G=o+(g<<4)|0;c[ha>>2]=m+16;c[m>>2]=c[G>>2];c[m+4>>2]=c[G+4>>2];c[m+8>>2]=c[G+8>>2];c[m+12>>2]=c[G+12>>2];if(c[m>>2]&8|0){G=(c[m+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}g=c[P>>2]|0;i=(c[ha>>2]|0)-g|0;m=i>>4;g=v>>>0<m>>>0?g+(v<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){ea=2703;break a}t=c[g+8>>2]|0;if(!t){ea=2703;break a}p=(i|0)<16?-2147483648:m+-1|0;q=p+-1|0;Ir(ga,q,1);i=c[ha>>2]|0;G=c[P>>2]|0;m=G;F=i-m>>4;r=(p|0)<1;g=(r?F:0)+q|0;g=g>>>0<F>>>0?G+(g<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(ca=c[g+8>>2]|0,(ca|0)!=0):0){o=ca;g=m}else{Xr(ga,q)|0;i=c[ha>>2]|0;G=c[P>>2]|0;m=G;F=i-m>>4;g=(r?F:0)+q|0;g=g>>>0<F>>>0?G+(g<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8){o=c[g+8>>2]|0;g=m}else{o=0;g=m}}G=i-g>>4;F=(r?G:0)+q|0;if((F|0)<0|F>>>0>=G>>>0){ea=2709;break a}Ys(ga,639,t,o,p,0,0,1)|0;Zs(ga,q);b=b+2|0;if(b>>>0>=u>>>0){G=w;w=G;continue b}}}case -59:case -60:{_s(ga,r);G=w;w=G;continue b}case -57:case -58:{q=r>>>8&255;b=r>>>16&255;g=c[P>>2]|0;if((m|0)==199)b=~~+h[g+(b<<4)+8>>3]>>>0;o=b+(r>>>24)|0;p=~~+h[g+(b<<4)+8>>3]>>>0;b=b+1|0;do{i=c[ha>>2]|0;if(i>>>0>=(c[Q>>2]|0)>>>0){ea=2716;break a}m=c[P>>2]|0;G=i-m>>4;g=((b|0)<0?G:0)+b|0;if(g>>>0>=G>>>0){ea=2718;break a}G=m+(g<<4)|0;c[ha>>2]=i+16;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[i+12>>2]=c[G+12>>2];if(c[i>>2]&8|0){G=(c[i+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}g=c[P>>2]|0;g=q>>>0<(c[ha>>2]|0)-g>>4>>>0?g+(q<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=9){ea=2723;break a}g=c[g+8>>2]|0;if(!g){ea=2723;break a}Vr(ga,g,p);b=b+1|0;p=p+1|0}while(b>>>0<o>>>0);i=c[ha>>2]|0;g=c[P>>2]|0;b=q>>>0<i-g>>4>>>0?q:-2147483648;m=c[Q>>2]|0;if(i>>>0>=m>>>0){ea=2726;break a}o=i+16|0;c[ha>>2]=o;c[i>>2]=0;h[i+8>>3]=+(p>>>0);G=o-g>>4;g=((b|0)<0?G:0)+b|0;if(g>>>0>=G>>>0){ea=2728;break a}b=c[(c[J>>2]|0)+328>>2]|0;if(o>>>0>=m>>>0){ea=2730;break a}c[ha>>2]=i+32;c[o>>2]=8;c[i+24>>2]=b;m=b+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[P>>2]|0;o=(c[ha>>2]|0)-m>>4;i=((g|0)<0?o:0)+g|0;if(i>>>0>=o>>>0){ea=2732;break a}if((o|0)==1){ea=2734;break a}g=o+-2|0;b=c[O>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(ga,m+(i<<4)|0,m+(o+-1<<4)|0,c[m+(g<<4)>>2]|0,c[m+(g<<4)+4>>2]|0,+h[m+(g<<4)+8>>3],b)|0;g=c[ha>>2]|0;if((g+-32|0)>>>0<(c[P>>2]|0)>>>0){ea=2738;break a}b=g+-16|0;c[ha>>2]=b;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[b>>2]=2;if((G&8|0)!=0?(F=g+4|0,G=(c[F>>2]|0)+-1|0,c[F>>2]=G,(G|0)==0):0){qr(c[R>>2]|0,g);b=c[ha>>2]|0}F=b+-16|0;c[ha>>2]=F;G=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[F>>2]=2;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}case -56:{G=c[P>>2]|0;c[(c[G+(r>>>4&4080)+8>>2]|0)+40>>2]=~~+h[G+(r>>>12&1048560)+8>>3]>>>0;G=w;w=G;continue b}case -55:{$s(ga,r);G=w;w=G;continue b}case -54:{G=at(ga,r)|0;c[aa>>2]=(c[aa>>2]|0)+(G<<2);G=w;w=G;continue b}case -53:{b=c[O>>2]|0;ma:do if(b){while(1){g=c[b+52>>2]|0;if(g&4|0)break;if(!(g&16)){ea=2760;break}b=c[b+20>>2]|0;if(!b){ea=2750;break ma}}if((ea|0)==2760){ea=0;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2761;break a}c[ha>>2]=b+16;break}g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0){ea=2755;break a}c[ha>>2]=g+16;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){G=(c[b+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}}else ea=2750;while(0);if((ea|0)==2750){ea=0;b=c[ha>>2]|0;if(b>>>0>=(c[Q>>2]|0)>>>0){ea=2751;break a}c[ha>>2]=b+16}F=(c[ha>>2]|0)+-16|0;E=(c[P>>2]|0)+(r>>>12&1048560)|0;G=c[E>>2]|0;b=c[E+8>>2]|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[F>>2]=2;c[ha>>2]=F;if(!(G&8)){G=w;w=G;continue b}F=b+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0){G=w;w=G;continue b}qr(c[R>>2]|0,b);G=w;w=G;continue b}default:{G=w;w=G;continue b}}while(0)}if((ea|0)==2593){ea=0;c[(c[O>>2]|0)+36>>2]=g;c[N>>2]=0;b=(c[P>>2]|0)+(r>>>12&1048560)|0;R=c[ha>>2]|0;c[R>>2]=c[b>>2];c[R+4>>2]=c[b+4>>2];c[R+8>>2]=c[b+8>>2];c[R+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){R=(c[b+8>>2]|0)+4|0;c[R>>2]=(c[R>>2]|0)+1}c[ha>>2]=(c[ha>>2]|0)+16;b=Ps(ga,f)|0}else if((ea|0)==2596){ea=0;c[(c[O>>2]|0)+36>>2]=b;c[N>>2]=0;b=H+(r>>>12&1048560)|0;R=c[ha>>2]|0;c[R>>2]=c[b>>2];c[R+4>>2]=c[b+4>>2];c[R+8>>2]=c[b+8>>2];c[R+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){R=(c[b+8>>2]|0)+4|0;c[R>>2]=(c[R>>2]|0)+1}c[ha>>2]=(c[ha>>2]|0)+16;b=Ps(ga,f)|0}else if((ea|0)==2599){ea=0;c[(c[O>>2]|0)+36>>2]=b;c[N>>2]=0;R=H+(r>>>12&1048560)|0;b=c[ha>>2]|0;c[b>>2]=c[R>>2];c[b+4>>2]=c[R+4>>2];c[b+8>>2]=c[R+8>>2];c[b+12>>2]=c[R+12>>2];c[ha>>2]=(c[ha>>2]|0)+16;b=Ps(ga,f)|0}else if((ea|0)==2600){ea=0;c[(c[O>>2]|0)+36>>2]=b;c[N>>2]=0;c[ha>>2]=(c[ha>>2]|0)+16;b=Ps(ga,f)|0}else if((ea|0)==2606){ea=0;c[(c[O>>2]|0)+36>>2]=g;c[N>>2]=0;Rs(ga,r>>>16,4);b=w;continue}else if((ea|0)==2607){ea=0;c[(c[O>>2]|0)+36>>2]=g;c[N>>2]=0;Rs(ga,r>>>16,5);b=w;continue}else if((ea|0)==2611){ea=0;c[(c[O>>2]|0)+36>>2]=g;c[N>>2]=0;b=Vs(ga,r,f)|0}if(!b)b=w;else{ea=2768;break}}switch(ea|0){case 51:{mr(ga,4153);break}case 55:{Cr(ga,376,-1);break}case 61:{Cr(ga,376,-1);break}case 87:{Cr(ga,300,-1);break}case 100:{Cr(ga,300,-1);break}case 173:break;case 187:break;case 201:break;case 215:break;case 229:break;case 243:break;case 257:break;case 271:break;case 357:{mr(ga,4153);break}case 361:{mr(ga,4153);break}case 372:{mr(ga,5237);break}case 374:{br(ga,342583,50336889,342539);break}case 376:{er(ga,342583,5246);break}case 378:{Cr(ga,300,-1);break}case 390:{ar(ga,2022,o,342479);break}case 392:{mr(ga,4300);break}case 394:{br(ga,342583,50335961,342945);break}case 396:{Cr(ga,376,-1);break}case 398:{Cr(ga,376,-3);break}case 402:{br(ga,343172,50331803,343189);break}case 407:{Cr(ga,300,-2);break}case 412:{Cr(ga,300,-1);break}case 423:{mr(ga,4215);break}case 426:{Cr(ga,376,-1);break}case 428:{Cr(ga,376,q);break}case 438:{mr(ga,4153);break}case 442:{mr(ga,4153);break}case 453:{mr(ga,5237);break}case 455:{br(ga,342583,50336889,342539);break}case 457:{er(ga,342583,5246);break}case 459:{Cr(ga,300,-1);break}case 471:{ar(ga,2022,o,342479);break}case 473:{mr(ga,4300);break}case 475:{br(ga,342583,50335961,342945);break}case 477:{Cr(ga,376,-1);break}case 479:{Cr(ga,376,-3);break}case 483:{br(ga,343172,50331803,343189);break}case 488:{Cr(ga,300,-2);break}case 493:{Cr(ga,300,-1);break}case 504:{mr(ga,4215);break}case 507:{Cr(ga,376,-1);break}case 509:{Cr(ga,376,q);break}case 519:{mr(ga,4153);break}case 523:{mr(ga,4153);break}case 534:{mr(ga,5237);break}case 536:{br(ga,342583,50336889,342539);break}case 538:{er(ga,342583,5246);break}case 540:{Cr(ga,300,-1);break}case 552:{ar(ga,2022,o,342479);break}case 554:{mr(ga,4300);break}case 556:{br(ga,342583,50335961,342945);break}case 558:{Cr(ga,376,-1);break}case 560:{Cr(ga,376,-3);break}case 564:{br(ga,343172,50331803,343189);break}case 569:{Cr(ga,300,-2);break}case 574:{Cr(ga,300,-1);break}case 585:{mr(ga,4215);break}case 588:{Cr(ga,376,-1);break}case 590:{Cr(ga,376,q);break}case 600:{mr(ga,4153);break}case 604:{mr(ga,4153);break}case 615:{mr(ga,5237);break}case 617:{br(ga,342583,50336889,342539);break}case 619:{er(ga,342583,5246);break}case 621:{Cr(ga,300,-1);break}case 633:{ar(ga,2022,o,342479);break}case 635:{mr(ga,4300);break}case 637:{br(ga,342583,50335961,342945);break}case 639:{Cr(ga,376,-1);break}case 641:{Cr(ga,376,-3);break}case 645:{br(ga,343172,50331803,343189);break}case 650:{Cr(ga,300,-2);break}case 655:{Cr(ga,300,-1);break}case 666:{mr(ga,4215);break}case 669:{Cr(ga,376,-1);break}case 671:{Cr(ga,376,q);break}case 679:{mr(ga,4153);break}case 683:{mr(ga,4153);break}case 687:{Cr(ga,300,-2);break}case 692:{Cr(ga,300,-1);break}case 709:{mr(ga,4153);break}case 713:{mr(ga,4153);break}case 717:{Cr(ga,300,-2);break}case 722:{Cr(ga,300,-1);break}case 739:{mr(ga,4153);break}case 743:{mr(ga,4153);break}case 747:{Cr(ga,300,-2);break}case 752:{Cr(ga,300,-1);break}case 769:{mr(ga,4153);break}case 773:{mr(ga,4153);break}case 777:{Cr(ga,300,-2);break}case 782:{Cr(ga,300,-1);break}case 799:{mr(ga,4153);break}case 803:{mr(ga,4153);break}case 807:{Cr(ga,300,-2);break}case 812:{Cr(ga,300,-1);break}case 829:{mr(ga,4153);break}case 833:{mr(ga,4153);break}case 837:{Cr(ga,300,-2);break}case 842:{Cr(ga,300,-1);break}case 859:{mr(ga,4153);break}case 863:{mr(ga,4153);break}case 867:{Cr(ga,300,-2);break}case 872:{Cr(ga,300,-1);break}case 889:{mr(ga,4153);break}case 893:{mr(ga,4153);break}case 897:{Cr(ga,300,-2);break}case 902:{Cr(ga,300,-1);break}case 919:{mr(ga,4153);break}case 923:{mr(ga,4153);break}case 927:{Cr(ga,300,-2);break}case 932:{Cr(ga,300,-1);break}case 949:{mr(ga,4153);break}case 953:{mr(ga,4153);break}case 957:{Cr(ga,300,-2);break}case 962:{Cr(ga,300,-1);break}case 979:{mr(ga,4153);break}case 983:{mr(ga,4153);break}case 987:{Cr(ga,300,-2);break}case 992:{Cr(ga,300,-1);break}case 1009:{mr(ga,4153);break}case 1013:{mr(ga,4153);break}case 1017:{Cr(ga,300,-2);break}case 1022:{Cr(ga,300,-1);break}case 1039:{mr(ga,4153);break}case 1043:{mr(ga,4153);break}case 1047:{Cr(ga,300,-2);break}case 1052:{Cr(ga,300,-1);break}case 1069:{mr(ga,4153);break}case 1073:{mr(ga,4153);break}case 1077:{Cr(ga,300,-2);break}case 1082:{Cr(ga,300,-1);break}case 1099:{mr(ga,4153);break}case 1103:{mr(ga,4153);break}case 1107:{Cr(ga,300,-2);break}case 1112:{Cr(ga,300,-1);break}case 1129:{mr(ga,4153);break}case 1133:{mr(ga,4153);break}case 1137:{Cr(ga,300,-2);break}case 1142:{Cr(ga,300,-1);break}case 1159:{mr(ga,4153);break}case 1163:{mr(ga,4153);break}case 1167:{Cr(ga,300,-2);break}case 1172:{Cr(ga,300,-1);break}case 1192:{mr(ga,4153);break}case 1196:{mr(ga,4153);break}case 1200:{Cr(ga,300,-2);break}case 1205:{Cr(ga,300,-1);break}case 1225:{mr(ga,4153);break}case 1229:{mr(ga,4153);break}case 1233:{Cr(ga,300,-2);break}case 1238:{Cr(ga,300,-1);break}case 1258:{mr(ga,4153);break}case 1262:{mr(ga,4153);break}case 1266:{Cr(ga,300,-2);break}case 1271:{Cr(ga,300,-1);break}case 1288:{mr(ga,4153);break}case 1292:{mr(ga,4153);break}case 1296:{Cr(ga,376,-2);break}case 1302:{Cr(ga,376,-2);break}case 1307:{Cr(ga,376,-1);break}case 1313:{Cr(ga,376,-1);break}case 1327:{mr(ga,4153);break}case 1331:{mr(ga,4153);break}case 1335:{Cr(ga,376,-2);break}case 1341:{Cr(ga,376,-2);break}case 1346:{Cr(ga,376,-1);break}case 1352:{Cr(ga,376,-1);break}case 1366:{mr(ga,4153);break}case 1370:{mr(ga,4153);break}case 1374:{Cr(ga,376,-2);break}case 1380:{Cr(ga,376,-2);break}case 1385:{Cr(ga,376,-1);break}case 1391:{Cr(ga,376,-1);break}case 1405:{mr(ga,4153);break}case 1409:{mr(ga,4153);break}case 1413:{Cr(ga,376,-2);break}case 1419:{Cr(ga,376,-2);break}case 1424:{Cr(ga,376,-1);break}case 1430:{Cr(ga,376,-1);break}case 1444:{mr(ga,4153);break}case 1448:{mr(ga,4153);break}case 1452:{Cr(ga,376,-2);break}case 1458:{Cr(ga,376,-2);break}case 1463:{Cr(ga,376,-1);break}case 1469:{Cr(ga,376,-1);break}case 1483:{mr(ga,4153);break}case 1487:{mr(ga,4153);break}case 1491:{Cr(ga,376,-2);break}case 1497:{Cr(ga,376,-2);break}case 1502:{Cr(ga,376,-1);break}case 1508:{Cr(ga,376,-1);break}case 1522:{mr(ga,4153);break}case 1526:{mr(ga,4153);break}case 1530:{Cr(ga,376,-2);break}case 1536:{Cr(ga,376,-2);break}case 1541:{Cr(ga,376,-1);break}case 1547:{Cr(ga,376,-1);break}case 1561:{mr(ga,4153);break}case 1565:{mr(ga,4153);break}case 1569:{Cr(ga,376,-2);break}case 1575:{Cr(ga,376,-2);break}case 1580:{Cr(ga,376,-1);break}case 1586:{Cr(ga,376,-1);break}case 1600:{mr(ga,4153);break}case 1604:{mr(ga,4153);break}case 1608:{Cr(ga,376,-2);break}case 1614:{Cr(ga,376,-2);break}case 1619:{Cr(ga,376,-1);break}case 1625:{Cr(ga,376,-1);break}case 1639:{mr(ga,4153);break}case 1643:{mr(ga,4153);break}case 1647:{Cr(ga,376,-2);break}case 1653:{Cr(ga,376,-2);break}case 1658:{Cr(ga,376,-1);break}case 1664:{Cr(ga,376,-1);break}case 1678:{mr(ga,4153);break}case 1682:{mr(ga,4153);break}case 1686:{Cr(ga,376,-2);break}case 1692:{Cr(ga,376,-2);break}case 1697:{Cr(ga,376,-1);break}case 1703:{Cr(ga,376,-1);break}case 1717:{mr(ga,4153);break}case 1721:{mr(ga,4153);break}case 1725:{Cr(ga,376,-2);break}case 1731:{Cr(ga,376,-2);break}case 1736:{Cr(ga,376,-1);break}case 1742:{Cr(ga,376,-1);break}case 1756:{mr(ga,4153);break}case 1760:{mr(ga,4153);break}case 1764:{Cr(ga,376,-2);break}case 1770:{Cr(ga,376,-2);break}case 1775:{Cr(ga,376,-1);break}case 1781:{Cr(ga,376,-1);break}case 1795:{mr(ga,4153);break}case 1799:{mr(ga,4153);break}case 1803:{Cr(ga,376,-2);break}case 1809:{Cr(ga,376,-2);break}case 1814:{Cr(ga,376,-1);break}case 1820:{Cr(ga,376,-1);break}case 1834:{mr(ga,4153);break}case 1838:{mr(ga,4153);break}case 1842:{Cr(ga,376,-2);break}case 1848:{Cr(ga,376,-2);break}case 1853:{Cr(ga,376,-1);break}case 1859:{Cr(ga,376,-1);break}case 1873:{mr(ga,4153);break}case 1877:{mr(ga,4153);break}case 1881:{Cr(ga,376,-2);break}case 1887:{Cr(ga,376,-2);break}case 1892:{Cr(ga,376,-1);break}case 1898:{Cr(ga,376,-1);break}case 1912:{mr(ga,4153);break}case 1916:{mr(ga,4153);break}case 1920:{Cr(ga,376,-2);break}case 1926:{Cr(ga,376,-2);break}case 1931:{Cr(ga,376,-1);break}case 1937:{Cr(ga,376,-1);break}case 1951:{mr(ga,4153);break}case 1955:{mr(ga,4153);break}case 1959:{Cr(ga,376,-2);break}case 1965:{Cr(ga,376,-2);break}case 1970:{Cr(ga,376,-1);break}case 1976:{Cr(ga,376,-1);break}case 1990:{mr(ga,4153);break}case 1994:{mr(ga,4153);break}case 1998:{Cr(ga,376,-2);break}case 2004:{Cr(ga,376,-2);break}case 2009:{Cr(ga,376,-1);break}case 2015:{Cr(ga,376,-1);break}case 2029:{mr(ga,4153);break}case 2033:{mr(ga,4153);break}case 2037:{Cr(ga,376,-2);break}case 2043:{Cr(ga,376,-2);break}case 2048:{Cr(ga,376,-1);break}case 2054:{Cr(ga,376,-1);break}case 2068:{mr(ga,4153);break}case 2072:{mr(ga,4153);break}case 2076:{Cr(ga,376,-2);break}case 2082:{Cr(ga,376,-2);break}case 2087:{Cr(ga,376,-1);break}case 2093:{Cr(ga,376,-1);break}case 2107:{mr(ga,4153);break}case 2111:{mr(ga,4153);break}case 2115:{Cr(ga,376,-2);break}case 2121:{Cr(ga,376,-2);break}case 2126:{Cr(ga,376,-1);break}case 2132:{Cr(ga,376,-1);break}case 2146:{mr(ga,4153);break}case 2150:{mr(ga,4153);break}case 2154:{Cr(ga,376,-2);break}case 2160:{Cr(ga,376,-2);break}case 2165:{Cr(ga,376,-1);break}case 2171:{Cr(ga,376,-1);break}case 2185:{mr(ga,4153);break}case 2189:{mr(ga,4153);break}case 2193:{Cr(ga,376,-2);break}case 2199:{Cr(ga,376,-2);break}case 2204:{Cr(ga,376,-1);break}case 2210:{Cr(ga,376,-1);break}case 2250:{Cr(ga,300,m);break}case 2255:{mr(ga,4215);break}case 2257:{Cr(ga,376,-1);break}case 2259:{Cr(ga,376,m);break}case 2270:{Cr(ga,300,m);break}case 2275:{mr(ga,4215);break}case 2277:{Cr(ga,376,-1);break}case 2279:{Cr(ga,376,m);break}case 2290:{Cr(ga,300,m);break}case 2295:{mr(ga,4215);break}case 2297:{Cr(ga,376,-1);break}case 2299:{Cr(ga,376,m);break}case 2310:{Cr(ga,300,m);break}case 2315:{mr(ga,4215);break}case 2317:{Cr(ga,376,-1);break}case 2319:{Cr(ga,376,m);break}case 2328:{Cr(ga,300,-2);break}case 2339:{mr(ga,4215);break}case 2344:{Cr(ga,300,-2);break}case 2355:{mr(ga,4215);break}case 2360:{Cr(ga,300,-2);break}case 2365:{mr(ga,4215);break}case 2376:{Cr(ga,300,-2);break}case 2381:{mr(ga,4215);break}case 2396:{Cr(ga,300,-1);break}case 2404:{mr(ga,4215);break}case 2467:{mr(ga,4153);break}case 2504:{mr(ga,4153);break}case 2512:{mr(ga,4153);break}case 2514:{mr(ga,4153);break}case 2516:{mr(ga,4153);break}case 2521:{ar(ga,2130,-3,342926);break}case 2527:{br(ga,342583,50337407,342599);break}case 2534:{br(ga,343114,100665008,343358);break}case 2545:{mr(ga,4153);break}case 2551:{mr(ga,4153);break}case 2560:{Cr(ga,376,-1);break}case 2562:{Cr(ga,376,b);break}case 2567:{Cr(ga,376,-1);break}case 2569:{Cr(ga,376,o);break}case 2612:{i=r>>>16;c[(c[O>>2]|0)+36>>2]=g;c[N>>2]=0;g=c[ha>>2]|0;if(g>>>0>=(c[Q>>2]|0)>>>0)mr(ga,1093);b=c[P>>2]|0;if(i>>>0>=g-b>>4>>>0)Cr(ga,376,i);fa=b+(i<<4)|0;c[ha>>2]=g+16;c[g>>2]=c[fa>>2];c[g+4>>2]=c[fa+4>>2];c[g+8>>2]=c[fa+8>>2];c[g+12>>2]=c[fa+12>>2];if(!(c[g>>2]&8)){Ws(ga);fa=c[ha>>2]|0;fa=fa+-16|0;ea=c[R>>2]|0;Xs(ea,1,fa);xs(ga)}fa=(c[g+8>>2]|0)+4|0;c[fa>>2]=(c[fa>>2]|0)+1;Ws(ga);ha=c[ha>>2]|0;ha=ha+-16|0;fa=c[R>>2]|0;Xs(fa,1,ha);xs(ga);break}case 2666:{mr(ga,4604);break}case 2690:{mr(ga,1093);break}case 2692:{Cr(ga,376,b);break}case 2696:{mr(ga,1093);break}case 2698:{Cr(ga,376,i);break}case 2703:{ar(ga,2130,v,342926);break}case 2709:{Cr(ga,394,q);break}case 2716:{mr(ga,1093);break}case 2718:{Cr(ga,376,b);break}case 2723:{ar(ga,2130,q,342926);break}case 2726:{mr(ga,4274);break}case 2728:{Cr(ga,300,b);break}case 2730:{mr(ga,4153);break}case 2732:{Cr(ga,376,g);break}case 2734:{Cr(ga,376,-2);break}case 2738:{br(ga,342583,50337495,342599);break}case 2748:{br(ga,343340,67113838,343377);break}case 2749:{c[da>>2]=r>>>8;sr(ga,343340,16782225,343392,da);break}case 2751:{mr(ga,4162);break}case 2755:{mr(ga,4153);break}case 2761:{mr(ga,4162);break}case 2766:{br(ga,343340,16782343,343413);break}case 2768:{l=fa;return}}}function xs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+144|0;h=d;d=d+8|0;e=b+44|0;f=c[e>>2]|0;g=f+64|0;c[g>>2]=(c[g>>2]|0)+1;g=c[f+80>>2]|0;if(g|0)wh(g|0,1);c[h>>2]=ys(b,f+96|0,1)|0;v4(d,128,343225,h);a[d+127>>0]=0;h=c[e>>2]|0;li[c[h+20>>2]&511](c[h+16>>2]|0,d);while(1){}}function ys(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;j=r+16|0;g=r+8|0;q=r;if(!e){g=b+68|0;if((c[g>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);q=fs(b,343238,4)|0;p=c[g>>2]|0;c[g>>2]=p+16;c[p>>2]=8;c[p+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;b=Xr(b,-1)|0;l=r;return b|0}h=c[e>>2]|0;switch(h|0){case 8:{f=c[e+8>>2]|0;if(!(c[f>>2]&512)){As(b,f,32);b=Xr(b,-1)|0;l=r;return b|0}h=b+68|0;i=b+56|0;if((c[h>>2]|0)>>>0>=(c[i>>2]|0)>>>0)mr(b,4300);g=fs(b,343243,8)|0;q=c[h>>2]|0;c[h>>2]=q+16;c[q>>2]=8;c[q+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;g=f+28|0;switch(a[g>>0]|0){case -126:case -1:{g=0;break}case -128:{g=1;break}default:g=(a[g+((c[f+20>>2]|0)+-1)>>0]|0)==-1?3:2}zs(b,c[6144+(g<<2)>>2]|0);if((c[h>>2]|0)>>>0>=(c[i>>2]|0)>>>0)mr(b,4300);q=fs(b,385542,1)|0;p=c[h>>2]|0;c[h>>2]=p+16;c[p>>2]=8;c[p+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;As(b,f,32);if((c[h>>2]|0)>>>0>=(c[i>>2]|0)>>>0)mr(b,4300);q=fs(b,343252,1)|0;p=c[h>>2]|0;c[h>>2]=p+16;c[p>>2]=8;c[p+8>>2]=q;q=q+4|0;c[q>>2]=(c[q>>2]|0)+1;ds(b,5,0);b=Xr(b,-1)|0;l=r;return b|0}case 9:{o=c[e+8>>2]|0;a:do if(f|0?(i=c[b+180>>2]|0,!((o|0)==0|(i|0)==0)):0){g=1e4;f=o;while(1){if((f|0)==(i|0))break;if(!g)break a;f=c[f+20>>2]|0;if(!f)break a;else g=g+-1|0}k=c[(c[b+304>>2]|0)+208>>2]|0;g=c[o+36>>2]|0;m=c[o+24>>2]|0;n=c[o+16>>2]|0;b:do if(g){e=n+(m*21|0)+(0-m&7)+(c[o+32>>2]<<4)|0;i=g+-1|0;j=n+(m<<4)|0;g=0;h=c[k+12>>2]&i;c:while(1){f=c[e+(h<<2)>>2]|0;switch(f|0){case -1:{f=19;break}case -2:{p=30;break}default:if((c[j+(f<<2)>>2]|0)==(k|0)){g=f;f=1}else p=30}if((p|0)==30){p=0;f=0;h=h+1&i}switch(f&31){case 19:break a;case 0:break;default:break c}}if(!f)break a}else{f=n+(m<<4)|0;h=c[o+28>>2]|0;if(!h)break a;else g=0;while(1){if((c[f+(g<<2)>>2]|0)==(k|0))break b;g=g+1|0;if(g>>>0>=h>>>0)break a}}while(0);p=n+(g<<4)|0;if(!((p|0)==0?1:(a[n+(m*20|0)+g>>0]&8)!=0)?(c[p>>2]|0)==8:0){As(b,c[n+(g<<4)+8>>2]|0,96);b=Xr(b,-1)|0;l=r;return b|0}}while(0);c[q>>2]=(c[(c[b+304>>2]|0)+(d[343254+((c[o>>2]|0)>>>27)>>0]<<2)>>2]|0)+28;cs(b,343286,q);b=Xr(b,-1)|0;l=r;return b|0}case 10:{c[g>>2]=c[(c[e+8>>2]|0)+16>>2];cs(b,343298,g);b=Xr(b,-1)|0;l=r;return b|0}case 5:{i=b+68|0;g=c[i>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[i>>2]=g+16;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[j>>2]=Xr(b,-1)|0;cs(b,343311,j);f=c[b+64>>2]|0;h=(c[i>>2]|0)-f>>4;g=h+-2|0;if(h>>>0<=1)Cr(b,376,-2);o=f+(g<<4)|0;p=f+(h+-1<<4)|0;q=c[o>>2]|0;g=c[f+(g<<4)+8>>2]|0;t6(o|0,o+16|0,p-o|0)|0;c[p>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(!(q&8)){b=Xr(b,-1)|0;l=r;return b|0}p=g+4|0;q=(c[p>>2]|0)+-1|0;c[p>>2]=q;if(q|0){b=Xr(b,-1)|0;l=r;return b|0}qr(c[b+44>>2]|0,g);b=Xr(b,-1)|0;l=r;return b|0}default:{g=b+68|0;f=c[g>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[g>>2]=f+16;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];if(!(h&8)){b=Xr(b,-1)|0;l=r;return b|0}q=(c[e+8>>2]|0)+4|0;c[q>>2]=(c[q>>2]|0)+1;b=Xr(b,-1)|0;l=r;return b|0}}return 0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b){b=a+68|0;d=c[b>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4175);c[b>>2]=d+16;c[d>>2]=3;return}d=r4(b)|0;e=a+68|0;if((c[e>>2]|0)>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4300);if((d|0)<0)br(a,342583,50335961,342945);a=fs(a,b,d)|0;d=c[e>>2]|0;c[e>>2]=d+16;c[d>>2]=8;c[d+8>>2]=a;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function As(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+688|0;p=q;n=d+28|0;m=n+(c[d+20>>2]|0)|0;d=p+1|0;a[p>>0]=39;a:do if(n>>>0<m>>>0){f=n;k=0;while(1){if((k|0)==(e|0))break;i=f+1|0;b:do if(f>>>0>=n>>>0){f=a[f>>0]|0;g=f&255;do if(f<<24>>24<=-1){if((f&255)<192){o=34;break b}if((f&255)<224){f=1;g=g&31;break}if((f&255)<240){f=2;g=g&15;break}if((f&255)<248){f=3;g=g&7;break}if((f&255)<252){f=4;g=g&3;break}if((f&255)>=254)if(f<<24>>24==-1){o=34;break b}else{f=6;g=0;break}else{f=5;g=g&1;break}}else{f=0;g=g&127}while(0);if((i+f|0)>>>0<=m>>>0){if(!f){h=g;f=i}else{h=f;while(1){f=i+1|0;g=a[i>>0]&63|g<<6;if((h|0)>1){i=f;h=h+-1|0}else{h=g;break}}}c:do if(h>>>0>=32){switch(h|0){case 39:case 92:case 127:break c;default:{}}if(h>>>0<128){i=0;g=1}else{if(h>>>0>=2048)if(h>>>0>=65536)if(h>>>0>=2097152)if(h>>>0<67108864){g=5;o=30}else g=h>>>31|6;else{g=4;o=30}else{g=3;o=30}else{g=2;o=30}if((o|0)==30)o=0;i=a[343316+(g+-1)>>0]|0;j=g;do{j=j+-1|0;a[d+j>>0]=h&63|128;h=h>>>6}while((j|0)>1)}a[d>>0]=h+(i&255);d=d+g|0;break b}while(0);a[d>>0]=92;a[d+1>>0]=120;a[d+2>>0]=a[342756+(h>>>4)>>0]|0;a[d+3>>0]=a[342756+(h&15)>>0]|0;d=d+4|0}else o=34}else o=34;while(0);if((o|0)==34){o=0;a[d>>0]=63;d=d+1|0;f=i}if(f>>>0<m>>>0)k=k+1|0;else break a}a[d>>0]=46;a[d+1>>0]=46;a[d+2>>0]=46;d=d+3|0}while(0);a[d>>0]=39;d=d+1-p|0;f=b+68|0;if((c[f>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);if((d|0)<0)br(b,342583,50335961,342945);else{p=fs(b,p,d)|0;b=c[f>>2]|0;c[f>>2]=b+16;c[b>>2]=8;c[b+8>>2]=p;p=p+4|0;c[p>>2]=(c[p>>2]|0)+1;l=q;return}}function Bs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=c[d+16>>2]|0;s=c[d+40>>2]|0;e=c[h+52>>2]|0;if(!e)e=c[b+104>>2]|0;q=Or(b,52)|0;r=b+44|0;f=c[r>>2]|0;c[q>>2]=-2147483519;f=f+24|0;g=c[f>>2]|0;if(g|0)c[g+12>>2]=q;c[q+12>>2]=0;c[q+8>>2]=g;c[f>>2]=q;p=b+68|0;f=c[p>>2]|0;if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[p>>2]=f+16;c[f>>2]=9;c[f+8>>2]=q;n=q+4|0;c[n>>2]=(c[n>>2]|0)+1;c[q+20>>2]=e;if(e|0){m=e+4|0;c[m>>2]=(c[m>>2]|0)+1}a:do if(c[h>>2]&2048|0){k=c[(c[b+304>>2]|0)+380>>2]|0;e=c[h+36>>2]|0;l=c[h+24>>2]|0;m=c[h+16>>2]|0;b:do if(e){j=m+(l*21|0)+(0-l&7)+(c[h+32>>2]<<4)|0;h=e+-1|0;i=m+(l<<4)|0;e=0;g=c[k+12>>2]&h;c:while(1){f=c[j+(g<<2)>>2]|0;switch(f|0){case -1:{f=19;break}case -2:{o=17;break}default:if((c[i+(f<<2)>>2]|0)==(k|0)){e=f;f=1}else o=17}if((o|0)==17){o=0;f=0;g=g+1&h}switch(f&31){case 19:break a;case 0:break;default:break c}}if(!f)break a}else{g=m+(l<<4)|0;f=c[h+28>>2]|0;if(!f)break a;else e=0;while(1){if((c[g+(e<<2)>>2]|0)==(k|0))break b;e=e+1|0;if(e>>>0>=f>>>0)break a}}while(0);o=m+(e<<4)|0;if(!((o|0)==0?1:(a[m+(l*20|0)+e>>0]&8)!=0)?(c[o>>2]|0)==9:0){o=c[m+(e<<4)+8>>2]|0;c[q+44>>2]=o;o=o+4|0;c[o>>2]=(c[o>>2]|0)+1;c[q+40>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;c[q+48>>2]=s}}while(0);c[d+28>>2]=q;c[d+24>>2]=q;c[n>>2]=(c[n>>2]|0)+2;e=c[p>>2]|0;d=e+-16|0;c[p>>2]=d;s=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[d>>2]=2;if(!(s&8))return;d=e+4|0;s=(c[d>>2]|0)+-1|0;c[d>>2]=s;if(s|0)return;qr(c[r>>2]|0,e);return}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[a+72>>2]|0;m=l+32|0;n=a+52|0;j=c[n>>2]|0;f=c[(c[m>>2]|0)+12>>2]|0;g=j+(f<<4)|0;if(c[g>>2]&8|0?(i=c[j+(f<<4)+8>>2]|0,p=i+4|0,o=(c[p>>2]|0)+-1|0,c[p>>2]=o,(o|0)==0):0)vr(c[a+44>>2]|0,i);c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(c[g>>2]&8|0){p=(c[j+(f<<4)+8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}b=g+16|0;if(c[b>>2]&8|0?(k=c[b+8>>2]|0,o=k+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)vr(c[a+44>>2]|0,k);c[b>>2]=0;h[b+8>>3]=+(d>>>0);k=c[m>>2]|0;d=c[l+16>>2]|0;g=c[n>>2]|0;b=g+(c[l+40>>2]|0)|0;j=a+64|0;c[j>>2]=b;i=b;g=(c[k+12>>2]|0)-(i-g>>4)+2|0;d=e[d+60>>1]|0;k=a+68|0;f=c[k>>2]|0;i=f-i>>4;if(g>>>0<i>>>0){b=f+(g-i<<4)|0;i=a+44|0;do{p=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;if(p&8|0?(o=g+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)vr(c[i>>2]|0,g)}while((f|0)!=(b|0));c[k>>2]=b;f=c[i>>2]|0;if(c[f+32>>2]|0){lr(f);b=c[k>>2]|0}}else{b=b+(g<<4)|0;c[k>>2]=b}f=c[j>>2]|0;g=b-f>>4;if(d>>>0>=g>>>0){c[k>>2]=f+(d<<4);p=c[n>>2]|0;n=l+48|0;n=c[n>>2]|0;n=p+n|0;p=a+56|0;c[p>>2]=n;p=c[m>>2]|0;n=p+8|0;n=c[n>>2]|0;n=n+4|0;o=l+36|0;c[o>>2]=n;p=p+16|0;o=c[p>>2]|0;o=o&-33;c[p>>2]=o;return}i=b+(d-g<<4)|0;g=a+44|0;do{p=c[b+-16>>2]|0;f=c[b+-8>>2]|0;b=b+-16|0;c[b>>2]=2;if(p&8|0?(o=f+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)vr(c[g>>2]|0,f)}while((b|0)!=(i|0));c[k>>2]=i;b=c[g>>2]|0;if(!(c[b+32>>2]|0)){p=c[n>>2]|0;n=l+48|0;n=c[n>>2]|0;n=p+n|0;p=a+56|0;c[p>>2]=n;p=c[m>>2]|0;n=p+8|0;n=c[n>>2]|0;n=n+4|0;o=l+36|0;c[o>>2]=n;p=p+16|0;o=c[p>>2]|0;o=o&-33;c[p>>2]=o;return}lr(b);p=c[n>>2]|0;n=l+48|0;n=c[n>>2]|0;n=p+n|0;p=a+56|0;c[p>>2]=n;p=c[m>>2]|0;n=p+8|0;n=c[n>>2]|0;n=n+4|0;o=l+36|0;c[o>>2]=n;p=p+16|0;o=c[p>>2]|0;o=o&-33;c[p>>2]=o;return}function Ds(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+44|0;e=c[b>>2]|0;f=c[e>>2]|0;if(f&2|0){c[a+96>>2]=262144;c[a+92>>2]=262143;return}c[e>>2]=f|2;d=c[(c[e+16>>2]|0)+1411596>>2]|0;l=412360;k=c[l>>2]|0;l=c[l+4>>2]|0;n=b6(k|0,l|0,1,0)|0;m=412360;c[m>>2]=n;c[m+4>>2]=z;if(l>>>0>0|(l|0)==0&k>>>0>1e3?(g=c[d+12>>2]|0,(g|0)!=0):0){n=Rh[g&511](c[d+40>>2]|0)|0;b=c[b>>2]|0;d=c[b>>2]&-3;e=a+96|0;if(n){c[e>>2]=0;c[a+92>>2]=0;c[b>>2]=d;br(a,343340,50333611,343603)}else{h=e;i=d;j=b}}else{h=a+96|0;i=f&-3;j=e}c[h>>2]=262144;c[a+92>>2]=262143;c[j>>2]=i;return}function Es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;g=k+32|0;j=k+36|0;h=k+16|0;i=k;if(!(ns(a,b,e,d,1,j)|0))if(!f){a=0;l=k;return a|0}else{c[g>>2]=e+28;sr(a,343114,67110062,343127,g)}g=c[j+8>>2]|0;if(g|0){d=a+68|0;b=c[d>>2]|0;f=a+56|0;if(b>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[d>>2]=b+16;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){j=(c[g+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}b=c[d>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0)mr(a,4162);c[d>>2]=b+16;a=1;l=k;return a|0}c[h>>2]=9;g=c[j+4>>2]|0;c[h+8>>2]=g;c[i>>2]=8;c[i+8>>2]=e;Kr(a,h,i)|0;b=a+68|0;d=c[b>>2]|0;f=d>>>0<(c[a+56>>2]|0)>>>0;if(!(c[j+16>>2]|0)){if(!f)mr(a,4162);c[b>>2]=d+16;a=1;l=k;return a|0}else{if(!f)mr(a,4153);c[b>>2]=d+16;c[d>>2]=9;c[d+8>>2]=g;a=g+4|0;c[a>>2]=(c[a>>2]|0)+1;a=1;l=k;return a|0}return 0}function Fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,k=0.0,l=0,m=0;m=c[b>>2]|0;l=c[d>>2]|0;if(!(l|m)){k=+h[b+8>>3];g=+h[d+8>>3];if(!(e&1)){a=k==g&1;return a|0}e=K4(k)|0;f=K4(g)|0;if(!(k==g)){a=(f|e|0)==0&1;return a|0}if(!((e|0)==2&(f|0)==2)){a=1;return a|0}h[j>>3]=g;d=c[j>>2]|0;a=c[j+4>>2]|0;h[j>>3]=k;a=m6(d^c[j>>2]|0,a^c[j+4>>2]|0,63)|0;a=a^1;return a|0}if((m|0)==(l|0))switch(m|0){case 4:{a=(c[b+8>>2]|0)==(c[d+8>>2]|0)&1;return a|0}case 5:{a=(c[b+8>>2]|0)==(c[d+8>>2]|0)&1;return a|0}case 9:case 8:{a=(c[b+8>>2]|0)==(c[d+8>>2]|0)&1;return a|0}case 10:{a=(c[b+8>>2]|0)==(c[d+8>>2]|0)&1;return a|0}case 6:{if((c[b+8>>2]|0)==(c[d+8>>2]|0))e=(c[b+4>>2]|0)==(c[d+4>>2]|0);else e=0;a=e&1;return a|0}case 3:case 2:{a=1;return a|0}default:{}}if(e&3|0){a=0;return a|0}if(!((m&-2|0)!=2|(l&-2|0)!=2)){a=1;return a|0}if(!(m>>>0>1|(l|0)!=8)?(c[c[d+8>>2]>>2]&512|0)==0:0){k=+h[b+8>>3];a=k==+jt(a,d)&1;return a|0}if(!((m|0)!=8|l>>>0>1)?(c[c[b+8>>2]>>2]&512|0)==0:0){k=+h[d+8>>3];a=k==+jt(a,b)&1;return a|0}do if((m|0)==4){i=a+68|0;f=c[i>>2]|0;l=c[a+56>>2]|0;if(f>>>0>=l>>>0)mr(a,4274);k=+((c[b+8>>2]|0)>>>0);e=f+16|0;c[i>>2]=e;c[f>>2]=0;h[f+8>>3]=k;if(e>>>0>=l>>>0)mr(a,4153);c[i>>2]=f+32;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[d>>2]&8){d=(c[d+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1}}else{if((l|0)==4){i=a+68|0;e=c[i>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[i>>2]=e+16;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if(m&8|0){e=(c[b+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}e=c[i>>2]|0;if(e>>>0<(c[f>>2]|0)>>>0){k=+((c[d+8>>2]|0)>>>0);c[i>>2]=e+16;c[e>>2]=0;h[e+8>>3]=k;break}else mr(a,4274)}if((l|0)!=9|(1788>>>m&1|0)!=0){if((m|0)!=9|(1788>>>l&1|0)!=0){a=0;return a|0}i=a+68|0;e=c[i>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[i>>2]=e+16;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=(c[b+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[i>>2]|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[i>>2]=e+16;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){d=(c[d+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1}Ir(a,-2,0);break}else{i=a+68|0;e=c[i>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[i>>2]=e+16;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if(m&8|0){b=(c[b+8>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1}e=c[i>>2]|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[i>>2]=e+16;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){d=(c[d+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1}Ir(a,-1,0);break}}while(0);l=c[i>>2]|0;l=Fs(a,l+-32|0,l+-16|0,0)|0;f=c[i>>2]|0;e=f+-16|0;c[i>>2]=e;d=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[e>>2]=2;if((d&8|0)!=0?(b=f+4|0,d=(c[b>>2]|0)+-1|0,c[b>>2]=d,(d|0)==0):0){qr(c[a+44>>2]|0,f);e=c[i>>2]|0}b=e+-16|0;c[i>>2]=b;d=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if(!(d&8)){a=l;return a|0}b=e+4|0;d=(c[b>>2]|0)+-1|0;c[b>>2]=d;if(d|0){a=l;return a|0}qr(c[a+44>>2]|0,e);a=l;return a|0}function Gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=e&1;k=c[b>>2]|0;if((k|0)==0?(c[d>>2]|0)==0:0){g=+h[b+8>>3];f=+h[d+8>>3];if(g<f){r=r^1;return r|0}if(f<g)return r|0;h[j>>3]=g;a=c[j+4>>2]|0;if(0==0&(a&2146435072|0)==2146435072&((c[j>>2]|0)!=0|(a&1048575|0)!=0)){r=0;return r|0}h[j>>3]=f;a=c[j+4>>2]|0;r=0==0&(a&2146435072|0)==2146435072&((c[j>>2]|0)!=0|(a&1048575|0)!=0)?0:r;return r|0}q=a+68|0;i=c[q>>2]|0;l=a+56|0;if(i>>>0>=(c[l>>2]|0)>>>0)mr(a,4153);c[q>>2]=i+16;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];if(k&8|0){k=(c[b+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}b=c[q>>2]|0;if(b>>>0>=(c[l>>2]|0)>>>0)mr(a,4153);c[q>>2]=b+16;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){d=(c[d+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1}if(!(e&2)){Ir(a,-1,2);Ir(a,-2,2)}else{Ir(a,-2,2);Ir(a,-1,2)}e=c[q>>2]|0;i=e;if((((c[e+-32>>2]|0)==8?(o=e+-16|0,(c[o>>2]|0)==8):0)?(m=c[e+-24>>2]|0,p=e+-8|0,n=c[p>>2]|0,(c[m>>2]&512|0)==0):0)?(c[n>>2]&512|0)==0:0){i=c[m+20>>2]|0;k=c[n+20>>2]|0;b=f3(m+28|0,n+28|0,i>>>0<=k>>>0?i:k)|0;if((b|0)<0)k=1;else k=i>>>0<k>>>0&(b|0)==0&1;b=e+-16|0;c[q>>2]=b;o=c[o>>2]|0;i=c[p>>2]|0;c[b>>2]=2;if((o&8|0)!=0?(o=i+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0){qr(c[a+44>>2]|0,i);b=c[q>>2]|0}p=b+-16|0;c[q>>2]=p;q=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[p>>2]=2;if(q&8|0?(p=b+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[a+44>>2]|0,b);r=k^r;return r|0}e=a+64|0;b=c[e>>2]|0;p=i-b>>4;i=p+-2|0;if(p>>>0<=1)Cr(a,300,-2);g=+Ar(a,b+(i<<4)|0);k=c[e>>2]|0;o=k+(i<<4)|0;p=c[o>>2]|0;i=k+(i<<4)+8|0;b=c[i>>2]|0;c[o>>2]=0;h[i>>3]=g;i=k;if((p&8|0)!=0?(o=b+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0){qr(c[a+44>>2]|0,b);k=c[e>>2]|0;i=k}p=(c[q>>2]|0)-i>>4;b=p+-1|0;if(!p)Cr(a,300,-1);f=+Ar(a,k+(b<<4)|0);o=c[e>>2]|0;n=o+(b<<4)|0;p=c[n>>2]|0;o=o+(b<<4)+8|0;b=c[o>>2]|0;c[n>>2]=0;h[o>>3]=f;if(p&8|0?(o=b+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0)qr(c[a+44>>2]|0,b);a=c[q>>2]|0;p=a+-32|0;c[q>>2]=p;c[p>>2]=2;c[a+-16>>2]=2;if(g<f){r=r^1;return r|0}if(f<g)return r|0;h[j>>3]=g;a=c[j+4>>2]|0;if(0==0&(a&2146435072|0)==2146435072&((c[j>>2]|0)!=0|(a&1048575|0)!=0)){r=0;return r|0}h[j>>3]=f;a=c[j+4>>2]|0;r=0==0&(a&2146435072|0)==2146435072&((c[j>>2]|0)!=0|(a&1048575|0)!=0)?0:r;return r|0}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+68|0;e=c[a+64>>2]|0;f=(c[h>>2]|0)-e>>4;if(!f)Cr(a,376,-1);g=e+(f+-1<<4)|0;d=((b|0)<0?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);b=e+(d<<4)|0;f=c[b>>2]|0;d=c[e+(d<<4)+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];c[g>>2]=2;c[h>>2]=(c[h>>2]|0)+-16;if(!(f&8))return;g=d+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return;qr(c[a+44>>2]|0,d);return}function Is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=a+68|0;f=c[r>>2]|0;m=a+56|0;if(f>>>0>=(c[m>>2]|0)>>>0)mr(a,4153);c[r>>2]=f+16;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){o=(c[b+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}b=c[r>>2]|0;if(b>>>0>=(c[m>>2]|0)>>>0)mr(a,4153);c[r>>2]=b+16;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){o=(c[d+8>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1}g=c[r>>2]|0;o=a+64|0;h=c[o>>2]|0;d=h;b=g-d>>4;b=b|0?h+(b+-1<<4)|0:0;b=(b|0)==0?368:b;h=g;if((c[b>>2]|0)!=9)ar(a,2130,-1,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-1,342926);f=c[b>>2]|0;if(!(f&512))br(a,342807,100664476,343545);if(f&1024){b=b+40|0;if(h>>>0>=(c[m>>2]|0)>>>0)mr(a,4153);c[r>>2]=h+16;j=g;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){j=(c[b+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}b=c[o>>2]|0;f=(c[r>>2]|0)-b>>4;if(!f)Cr(a,376,-1);d=b+(f+-1<<4)|0;if((f|0)==1)Cr(a,376,-2);f=f+-2|0;i=b+(f<<4)|0;j=c[i>>2]|0;f=c[b+(f<<4)+8>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[d>>2]=2;b=(c[r>>2]|0)+-16|0;c[r>>2]=b;d=b;if((j&8|0)!=0?(i=f+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,f);d=c[r>>2]|0;b=d}j=c[o>>2]|0;g=j;f=d-g>>4;f=f|0?j+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(a,2130,-1,342926);if(!(c[f+8>>2]|0))ar(a,2130,-1,342926);else{k=d;l=g;n=b}}else{k=g;l=d;n=h}switch(c[n+-32>>2]|0){case 6:{b=a+120|0;j=0;break}case 10:{b=a+268|0;j=0;break}case 5:{b=a+244|0;j=0;break}case 9:{b=n+-24|0;j=1;break}default:{e=n+-16|0;c[r>>2]=e;q=c[n+-16>>2]|0;b=c[n+-8>>2]|0;c[e>>2]=2;if((q&8|0)!=0?(p=b+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0){qr(c[a+44>>2]|0,b);e=c[r>>2]|0}q=e+-16|0;c[r>>2]=q;r=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[q>>2]=2;if(!(r&8)){r=0;return r|0}q=e+4|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(r|0){r=0;return r|0}qr(c[a+44>>2]|0,e);r=0;return r|0}}i=c[b>>2]|0;g=k-l|0;l=g>>4;h=l+-1|0;if(!l)Cr(a,300,-1);b=c[(c[a+304>>2]|0)+200>>2]|0;if(n>>>0>=(c[m>>2]|0)>>>0)mr(a,4153);c[r>>2]=n+16;c[n>>2]=8;c[n+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[o>>2]|0;d=(c[r>>2]|0)-f>>4;b=((g|0)<16?d:0)+h|0;if(b>>>0>=d>>>0)Cr(a,376,h);Kr(a,f+(b<<4)|0,f+(d+-1<<4)|0)|0;f=c[o>>2]|0;d=(c[r>>2]|0)-f>>4;b=d+-2|0;if(d>>>0<=1)Cr(a,376,-2);l=f+(b<<4)|0;m=f+(d+-1<<4)|0;n=c[l>>2]|0;b=c[f+(b<<4)+8>>2]|0;t6(l|0,l+16|0,m-l|0)|0;c[m>>2]=2;f=(c[r>>2]|0)+-16|0;c[r>>2]=f;if((n&8|0)!=0?(m=b+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){qr(c[a+44>>2]|0,b);f=c[r>>2]|0}o=c[o>>2]|0;b=f-o>>4;b=b|0?o+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)br(a,342807,100664481,343569);b=c[b+8>>2]|0;if(!b)br(a,342807,100664481,343569);else{p=1e4;e=i;q=j}while(1){if(!e){e=58;break}if(c[e>>2]&33554432)do e=c[e+40>>2]|0;while((c[e>>2]&33554432|0)!=0);if((q|0)==0&(e|0)==(b|0)){e=63;break}p=p+-1|0;if(!p){e=51;break}else{e=c[e+20>>2]|0;q=0}}if((e|0)==51)br(a,342807,50332811,343030);else if((e|0)==58){b=a+44|0;q=f+-16|0;a=c[q>>2]|0;e=c[f+-8>>2]|0;c[q>>2]=2;if(a&8|0?(q=e+4|0,a=(c[q>>2]|0)+-1|0,c[q>>2]=a,(a|0)==0):0)vr(c[b>>2]|0,e);q=f+-32|0;a=c[q>>2]|0;e=c[f+-24>>2]|0;c[q>>2]=2;if(a&8|0?(q=e+4|0,a=(c[q>>2]|0)+-1|0,c[q>>2]=a,(a|0)==0):0)vr(c[b>>2]|0,e);q=f+-48|0;a=c[q>>2]|0;e=c[f+-40>>2]|0;c[q>>2]=2;do if(a&8|0){q=e+4|0;a=(c[q>>2]|0)+-1|0;c[q>>2]=a;if(a|0)break;vr(c[b>>2]|0,e)}while(0);c[r>>2]=f+-48;e=c[b>>2]|0;if(!(c[e+32>>2]|0)){r=0;return r|0}lr(e);r=0;return r|0}else if((e|0)==63){b=a+44|0;q=f+-16|0;a=c[q>>2]|0;e=c[f+-8>>2]|0;c[q>>2]=2;if(a&8|0?(q=e+4|0,a=(c[q>>2]|0)+-1|0,c[q>>2]=a,(a|0)==0):0)vr(c[b>>2]|0,e);q=f+-32|0;a=c[q>>2]|0;e=c[f+-24>>2]|0;c[q>>2]=2;if(a&8|0?(q=e+4|0,a=(c[q>>2]|0)+-1|0,c[q>>2]=a,(a|0)==0):0)vr(c[b>>2]|0,e);q=f+-48|0;a=c[q>>2]|0;e=c[f+-40>>2]|0;c[q>>2]=2;do if(a&8|0){q=e+4|0;a=(c[q>>2]|0)+-1|0;c[q>>2]=a;if(a|0)break;vr(c[b>>2]|0,e)}while(0);c[r>>2]=f+-48;e=c[b>>2]|0;if(!(c[e+32>>2]|0)){r=1;return r|0}lr(e);r=1;return r|0}return 0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+68|0;e=c[g>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[g>>2]=e+16;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){e=(c[b+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}b=c[g>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[g>>2]=b+16;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){f=(c[d+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}e=a+64|0;d=c[e>>2]|0;f=(c[g>>2]|0)-d>>4;f=f|0?d+(f+-1<<4)|0:0;if(447>>>(c[((f|0)==0?368:f)>>2]|0)&1|0)br(a,342583,100667121,343529);Ir(a,-2,1);b=c[g>>2]|0;d=c[e>>2]|0;f=b-d>>4;f=f>>>0>1?d+(f+-2<<4)|0:0;f=(f|0)==0?368:f;if(!((c[f>>2]|0)==8?(c[f+8>>2]|0)!=0:0)){Xr(a,-2)|0;b=c[g>>2]|0}d=os(a,b+-16|0,b+-32|0)|0;e=c[g>>2]|0;b=e+-16|0;c[g>>2]=b;f=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if((f&8|0)!=0?(h=e+4|0,f=(c[h>>2]|0)+-1|0,c[h>>2]=f,(f|0)==0):0){qr(c[a+44>>2]|0,e);b=c[g>>2]|0}f=b+-16|0;c[g>>2]=f;h=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[f>>2]=2;if(!(h&8))return d|0;g=b+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return d|0;qr(c[a+44>>2]|0,b);return d|0}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;i=p;n=a+68|0;g=c[n>>2]|0;k=a+64|0;m=g-(c[k>>2]|0)|0;o=m>>4;f=g;j=a+56|0;if(f>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[n>>2]=f+16;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){g=(c[d+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=c[n>>2]|0;if(f>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[n>>2]=f+16;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];if(c[e>>2]&8|0){e=(c[e+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}f=c[n>>2]|0;if(f>>>0>=(c[j>>2]|0)>>>0)mr(a,4153);c[n>>2]=f+16;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(c[b>>2]&8|0){b=(c[b+8>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1}g=c[k>>2]|0;b=(c[n>>2]|0)-g>>4;b=ys(a,b|0?g+(b+-1<<4)|0:0,0)|0;g=c[k>>2]|0;f=(c[n>>2]|0)-g>>4;f=ys(a,f>>>0>2?g+(f+-3<<4)|0:0,0)|0;g=c[k>>2]|0;e=(c[n>>2]|0)-g>>4;e=ys(a,e>>>0>4?g+(e+-5<<4)|0:0,0)|0;c[i>>2]=b;c[i+4>>2]=f;c[i+8>>2]=e;ht(a,16777222,342613,2847,343493,i);e=c[n>>2]|0;f=c[j>>2]|0;if(e>>>0>=f>>>0)mr(a,4195);d=e+16|0;c[n>>2]=d;c[e>>2]=4;c[e+8>>2]=1;b=d-(c[k>>2]|0)|0;i=b>>4;j=i+-2|0;if(i>>>0<=1)Cr(a,300,-2);g=c[(c[a+304>>2]|0)+364>>2]|0;if(d>>>0>=f>>>0)mr(a,4153);c[n>>2]=e+32;c[d>>2]=8;c[e+24>>2]=g;e=g+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;i=(c[n>>2]|0)-e>>4;g=((b|0)<32?i:0)+j|0;if(g>>>0>=i>>>0)Cr(a,376,j);if((i|0)==1)Cr(a,376,-2);d=i+-2|0;f=c[a+72>>2]|0;if(!f)f=1;else f=c[f+52>>2]&1;es(a,e+(g<<4)|0,e+(i+-1<<4)|0,c[e+(d<<4)>>2]|0,c[e+(d<<4)+4>>2]|0,+h[e+(d<<4)+8>>3],f)|0;d=c[n>>2]|0;if((d+-32|0)>>>0<(c[k>>2]|0)>>>0)br(a,342583,50337495,342599);f=d+-16|0;c[n>>2]=f;j=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[f>>2]=2;if((j&8|0)!=0?(i=d+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,d);f=c[n>>2]|0}d=f+-16|0;c[n>>2]=d;j=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[d>>2]=2;if((j&8|0)!=0?(i=f+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){qr(c[a+44>>2]|0,f);d=c[n>>2]|0}b=o+-1|0;g=c[k>>2]|0;d=d-g>>4;if(!d)Cr(a,376,-1);e=g+(d+-1<<4)|0;f=((m|0)<16?d:0)+b|0;if(f>>>0>=d>>>0)Cr(a,376,b);k=g+(f<<4)|0;m=c[k>>2]|0;f=c[g+(f<<4)+8>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(!(m&8)){Zs(a,o);l=p;return}m=f+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0){Zs(a,o);l=p;return}qr(c[a+44>>2]|0,f);Zs(a,o);l=p;return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;g=v;r=v+16|0;k=v+8|0;u=a+68|0;j=c[u>>2]|0;s=a+64|0;t=j-(c[s>>2]|0)>>4;h=c[b>>2]|0;i=j;if((h&-2|0)==2){w=Rr(a,d)|0;o=Rr(a,b)|0;c[g>>2]=w;c[g+4>>2]=o;sr(a,342676,100667859,343461,g)}o=a+56|0;if(i>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[u>>2]=i+16;w=j;c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];if(h&8|0){w=(c[b+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}g=c[u>>2]|0;if(g>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[u>>2]=g+16;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];if(c[d>>2]&8|0){w=(c[d+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}g=c[u>>2]|0;a:do switch(c[g+-32>>2]|0){case 9:{b=c[g+-24>>2]|0;do if(c[b>>2]&33554432){w=(ps(a,b,72,d,k)|0)==0;b=c[k>>2]|0;if(w){g=c[u>>2]|0;break}f=c[u>>2]|0;if(f>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[u>>2]=f+16;c[f>>2]=9;c[f+8>>2]=b;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[u>>2]|0;if(f>>>0>=(c[o>>2]|0)>>>0)mr(a,1093);g=c[s>>2]|0;h=f-g>>4;if(h>>>0<=3)Cr(a,376,-4);w=g+(h+-4<<4)|0;c[u>>2]=f+16;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];if(c[f>>2]&8|0){w=(c[f+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}f=(c[u>>2]|0)-(c[s>>2]|0)|0;if((f|0)<64)nr(a,342568,55);Lr(a,(f>>>4)+-4|0,0)|0;h=c[u>>2]|0;j=c[s>>2]|0;w=h-j>>4;f=w+-1|0;if(!w)Cr(a,300,-1);d=j+(f<<4)|0;i=c[d>>2]|0;switch(i|0){case 3:case 2:{g=0;q=33;break}case 4:{f=j+(f<<4)+8|0;g=c[f>>2]|0;q=31;break}case 8:{g=(c[(c[j+(f<<4)+8>>2]|0)+20>>2]|0)!=0&1;q=32;break}case 10:case 9:{g=1;q=32;break}case 5:{f=j+(f<<4)+8|0;g=(c[f>>2]|0)!=0&1;q=31;break}case 6:{g=1;f=j+(f<<4)+8|0;q=31;break}default:{g=j+(f<<4)+8|0;q=c[g>>2]|0;g=c[g+4>>2]|0;g=(((q|0)==0&(g&2147483647|0)==0|((q|0)!=0|(g&1048575|0)!=0)&(0==0&(g&2146435072|0)==2146435072))^1)&1;q=33}}if((q|0)==31){c[d>>2]=4;c[f>>2]=g}else if((q|0)==32){w=j+(f<<4)+8|0;f=c[w>>2]|0;c[d>>2]=4;c[w>>2]=g;q=34}else if((q|0)==33){w=j+(f<<4)+8|0;f=c[w>>2]|0;c[d>>2]=4;c[w>>2]=g;if(i&8)q=34}if((q|0)==34){q=f+4|0;w=(c[q>>2]|0)+-1|0;c[q>>2]=w;if(!w){qr(c[a+44>>2]|0,f);h=c[u>>2]|0}}f=h+-16|0;c[u>>2]=f;c[f>>2]=2;if(!g){if(e|0)br(a,342676,100667866,343015);g=c[s>>2]|0;b=f-g>>4;if(t>>>0>=b>>>0){c[u>>2]=g+(t<<4);w=0;l=v;return w|0}h=f+(t-b<<4)|0;b=a+44|0;do{w=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;do if(w&8|0){a=g+4|0;w=(c[a>>2]|0)+-1|0;c[a>>2]=w;if(w|0)break;vr(c[b>>2]|0,g)}while(0)}while((f|0)!=(h|0));c[u>>2]=h;f=c[b>>2]|0;if(!(c[f+32>>2]|0)){w=0;l=v;return w|0}lr(f);w=0;l=v;return w|0}else{g=h+-32|0;if(f>>>0>=(c[o>>2]|0)>>>0)mr(a,4153);c[u>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];if(c[g>>2]&8|0){w=(c[h+-24>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}f=c[u>>2]|0;do if((c[f+-16>>2]|0)==8)f=c[f+-8>>2]|0;else{Ir(a,-1,1);w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8?(p=c[f+8>>2]|0,p|0):0){f=p;break}Xr(a,-1)|0;w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=8){f=0;break}f=c[f+8>>2]|0}while(0);do if(zr(a,b,f,c[f+16>>2]|0,r,0)|0){if(c[r>>2]&4|0)break;br(a,342676,100667777,343015)}while(0);i=1;q=81;break a}}while(0);do if((c[g+-16>>2]|0)!=8){Ir(a,-1,1);w=c[s>>2]|0;g=(c[u>>2]|0)-w>>4;g=g|0?w+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(f=c[g+8>>2]|0,f|0):0)break;Xr(a,-1)|0;w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)f=c[f+8>>2]|0;else f=0}else f=c[g+-8>>2]|0;while(0);i=qs(a,b,f,(e|0)!=0&1)|0;q=81;break}case 8:{b=c[g+-24>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(a,-1,1);w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8?(m=c[f+8>>2]|0,m|0):0){f=m;break}Xr(a,-1)|0;w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)f=c[f+8>>2]|0;else f=0}else f=c[g+-8>>2]|0;while(0);g=c[f+16>>2]|0;if((f|0)!=(c[(c[a+304>>2]|0)+328>>2]|0))if(!((g|0)!=-1?g>>>0<(gs(b)|0)>>>0:0)){i=1;q=81}break}case 10:{b=c[g+-24>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(a,-1,1);w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8?(n=c[f+8>>2]|0,n|0):0){f=n;break}Xr(a,-1)|0;w=c[s>>2]|0;f=(c[u>>2]|0)-w>>4;f=f|0?w+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)f=c[f+8>>2]|0;else f=0}else f=c[g+-8>>2]|0;while(0);g=c[f+16>>2]|0;if((f|0)!=(c[(c[a+304>>2]|0)+328>>2]|0))if(!((g|0)!=-1?g>>>0<(c[b+16>>2]|0)>>>0:0)){i=1;q=81}break}case 6:{if((c[g+-16>>2]|0)==8){i=1;q=81}else{Ir(a,-1,1);e=c[s>>2]|0;w=(c[u>>2]|0)-e>>4;w=w|0?e+(w+-1<<4)|0:0;w=(w|0)==0?368:w;if((c[w>>2]|0)==8?c[w+8>>2]|0:0){i=1;q=81;break a}Xr(a,-1)|0;i=1;q=81}break}default:{i=1;q=81}}while(0);if((q|0)==81){f=c[u>>2]|0;g=c[s>>2]|0;b=f-g>>4;if(t>>>0>=b>>>0){c[u>>2]=g+(t<<4);w=i;l=v;return w|0}h=f+(t-b<<4)|0;b=a+44|0;do{w=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;if(w&8|0?(a=g+4|0,w=(c[a>>2]|0)+-1|0,c[a>>2]=w,(w|0)==0):0)vr(c[b>>2]|0,g)}while((f|0)!=(h|0));c[u>>2]=h;f=c[b>>2]|0;if(!(c[f+32>>2]|0)){w=i;l=v;return w|0}lr(f);w=i;l=v;return w|0}if(e|0)br(a,342676,100667874,343080);f=c[u>>2]|0;g=c[s>>2]|0;b=f-g>>4;if(t>>>0>=b>>>0){c[u>>2]=g+(t<<4);w=0;l=v;return w|0}h=f+(t-b<<4)|0;b=a+44|0;do{w=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;if(w&8|0?(a=g+4|0,w=(c[a>>2]|0)+-1|0,c[a>>2]=w,(w|0)==0):0)vr(c[b>>2]|0,g)}while((f|0)!=(h|0));c[u>>2]=h;f=c[b>>2]|0;if(!(c[f+32>>2]|0)){w=0;l=v;return w|0}lr(f);w=0;l=v;return w|0}function Ms(a,b){a=a|0;b=b|0;if(c[a+56>>2]|0)return;rr(a,b,0);return}function Ns(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n;k=a+68|0;m=a+56|0;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)mr(a,4604);e=Or(a,40)|0;i=a+44|0;b=c[i>>2]|0;c[e>>2]=134234241;b=b+24|0;d=c[b>>2]|0;if(d|0)c[d+12>>2]=e;c[e+12>>2]=0;c[e+8>>2]=d;c[b>>2]=e;b=c[k>>2]|0;c[b>>2]=9;c[b+8>>2]=e;b=e+4|0;c[b>>2]=(c[b>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+16;b=c[a+112>>2]|0;c[e+20>>2]=b;if(b|0){j=b+4|0;c[j>>2]=(c[j>>2]|0)+1}j=a+64|0;d=c[k>>2]|0;f=c[d+-8>>2]|0;b=c[j>>2]|0;d=d-b>>4;if(d>>>0<=2)Cr(a,376,-3);e=b+(d+-3<<4)|0;b=b+(d+-1<<4)|0;d=b-e|0;if(d|0){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];t6(e+16|0,e|0,d|0)|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}c[f>>2]=c[f>>2]&134217727|1476395008;d=c[a+172>>2]|0;g=f+20|0;b=c[g>>2]|0;c[g>>2]=d;if(d|0){g=d+4|0;c[g>>2]=(c[g>>2]|0)+1}if(b|0?(f=b+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0)Ms(c[i>>2]|0,b);i=c[j>>2]|0;b=(c[k>>2]|0)-i>>4;b=b>>>0>2?i+(b+-3<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-3,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-3,342926);d=a+304|0;yr(a,b,c[(c[d>>2]|0)+372>>2]|0,0);i=c[j>>2]|0;b=(c[k>>2]|0)-i>>4;b=b>>>0>1?i+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);yr(a,b,c[(c[d>>2]|0)+384>>2]|0,0);b=c[k>>2]|0;if(b>>>0>=(c[m>>2]|0)>>>0)mr(a,4244);i=b+16|0;c[k>>2]=i;c[b>>2]=0;h[b+8>>3]=0.0;m=c[j>>2]|0;b=i-m>>4;b=b>>>0>1?m+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[d>>2]|0)+188>>2]|0,1);l=n;return}}function Os(a,d,f,g,i){a=a|0;d=d|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=a+68|0;t=a+56|0;if((c[u>>2]|0)>>>0>=(c[t>>2]|0)>>>0)mr(a,4784);s=Or(a,64)|0;v=a+44|0;j=c[v>>2]|0;c[s>>2]=402655873;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=s;c[s+12>>2]=0;c[s+8>>2]=k;c[j>>2]=s;if(!s)er(a,342583,4797);j=c[u>>2]|0;c[j>>2]=9;c[j+8>>2]=s;j=s+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[u>>2]|0;k=j+16|0;c[u>>2]=k;l=c[a+120>>2]|0;c[s+20>>2]=l;if(l|0){r=l+4|0;c[r>>2]=(c[r>>2]|0)+1}if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+32;c[k>>2]=9;c[j+24>>2]=d;k=d+4|0;c[k>>2]=(c[k>>2]|0)+1;k=d+40|0;r=c[k>>2]|0;c[s+40>>2]=r;j=d+44|0;c[s+44>>2]=c[j>>2];l=d+48|0;c[s+48>>2]=c[l>>2];r=r+4|0;c[r>>2]=(c[r>>2]|0)+1;k=(c[k>>2]|0)+24|0;j=c[j>>2]|0;if(k>>>0<j>>>0)do{if(c[k>>2]&8|0){r=(c[k+8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}k=k+16|0}while(k>>>0<j>>>0);k=c[l>>2]|0;if(j>>>0<k>>>0)do{r=(c[j>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1;j=j+4|0}while(j>>>0<k>>>0);b[s+60>>1]=b[d+60>>1]|0;q=d+62|0;b[s+62>>1]=b[q>>1]|0;j=c[d>>2]|0;c[s>>2]=c[s>>2]&3|j;r=(j&256|0)==0;do if(!(j&262144)){c[s+52>>2]=g;c[s+56>>2]=f;p=g+4|0;c[p>>2]=(c[p>>2]|0)+1;p=f+4|0;c[p>>2]=(c[p>>2]|0)+1}else{if(!(j&524288)){c[s+52>>2]=g;c[s+56>>2]=g;p=g+4|0;c[p>>2]=(c[p>>2]|0)+2;break}if(!g)l=c[a+104>>2]|0;else l=g;n=Or(a,52)|0;j=c[v>>2]|0;c[n>>2]=-2147483519;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=n;c[n+12>>2]=0;c[n+8>>2]=k;c[j>>2]=n;j=c[u>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=9;c[j+8>>2]=n;m=n+4|0;c[m>>2]=(c[m>>2]|0)+1;c[n+20>>2]=l;if(l|0){g=l+4|0;c[g>>2]=(c[g>>2]|0)+1}j=c[u>>2]|0;g=a+64|0;d=j-(c[g>>2]|0)|0;l=d>>4;f=l+-2|0;if(l>>>0<=1)Cr(a,300,-2);k=c[(c[a+304>>2]|0)+352>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[g>>2]|0;l=(c[u>>2]|0)-k>>4;j=((d|0)<32?l:0)+f|0;if(j>>>0>=l>>>0)Cr(a,376,f);Kr(a,k+(j<<4)|0,k+(l+-1<<4)|0)|0;k=c[g>>2]|0;l=(c[u>>2]|0)-k>>4;j=l+-2|0;if(l>>>0<=1)Cr(a,376,-2);w=k+(j<<4)|0;d=k+(l+-1<<4)|0;f=c[w>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(w|0,w+16|0,d-w|0)|0;c[d>>2]=2;k=(c[u>>2]|0)+-16|0;c[u>>2]=k;do if(f&8){f=j+4|0;w=(c[f>>2]|0)+-1|0;c[f>>2]=w;if(w|0)break;qr(c[v>>2]|0,j);k=c[u>>2]|0}while(0);if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,1093);j=c[g>>2]|0;l=k-j>>4;if(l>>>0<=3)Cr(a,376,-4);w=j+(l+-4<<4)|0;c[u>>2]=k+16;c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[k+8>>2]=c[w+8>>2];c[k+12>>2]=c[w+12>>2];if(c[k>>2]&8|0){w=(c[k+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}w=c[g>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>2?w+(j+-3<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9)ar(a,2130,-3,342926);k=c[j+8>>2]|0;if(!k)ar(a,2130,-3,342926);Ir(a,-2,1);w=c[g>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>1?w+(j+-2<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)==8?(o=c[j+8>>2]|0,(o|0)!=0):0)j=o;else p=49;do if((p|0)==49){Xr(a,-2)|0;w=c[g>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>1?w+(j+-2<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=8){j=0;break}j=c[j+8>>2]|0}while(0);yr(a,k,j,0);k=c[u>>2]|0;if((k|0)==(c[g>>2]|0))br(a,342583,50337407,342599);j=k+-16|0;c[u>>2]=j;w=c[k+-16>>2]|0;k=c[k+-8>>2]|0;c[j>>2]=2;do if(w&8){p=k+4|0;w=(c[p>>2]|0)+-1|0;c[p>>2]=w;if(w|0)break;qr(c[v>>2]|0,k);j=c[u>>2]|0}while(0);c[s+52>>2]=n;c[s+56>>2]=n;c[m>>2]=(c[m>>2]|0)+2;p=j+-16|0;c[u>>2]=p;w=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[p>>2]=2;if(!(w&8))break;p=j+4|0;w=(c[p>>2]|0)+-1|0;c[p>>2]=w;if(w|0)break;qr(c[v>>2]|0,j)}while(0);o=a+64|0;n=a+304|0;m=0;while(1){g=e[36236+(m<<1)>>1]|0;j=c[u>>2]|0;d=j-(c[o>>2]|0)|0;w=d>>4;f=w+-1|0;if(!w){p=63;break}k=c[(c[n>>2]|0)+(g<<2)>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0){p=65;break}c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=((d|0)<16?l:0)+f|0;if(j>>>0>=l>>>0){p=67;break}d=Kr(a,k+(j<<4)|0,k+(l+-1<<4)|0)|0;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=l+-2|0;if(l>>>0<=1){p=69;break}f=k+(j<<4)|0;p=k+(l+-1<<4)|0;w=c[f>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(f|0,f+16|0,p-f|0)|0;c[p>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(w&8|0?(p=j+4|0,w=(c[p>>2]|0)+-1|0,c[p>>2]=w,(w|0)==0):0)qr(c[v>>2]|0,j);if(!d){j=c[u>>2]|0;p=j+-16|0;c[u>>2]=p;w=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[p>>2]=2;if(w&8|0?(p=j+4|0,w=(c[p>>2]|0)+-1|0,c[p>>2]=w,(w|0)==0):0)qr(c[v>>2]|0,j)}else{w=c[o>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>2?w+(j+-3<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9){p=76;break}j=c[j+8>>2]|0;if(!j){p=76;break}yr(a,j,c[(c[n>>2]|0)+(g<<2)>>2]|0,4)}m=m+1|0;if(m>>>0>=4){p=82;break}}if((p|0)==63)Cr(a,300,-1);else if((p|0)==65)mr(a,4153);else if((p|0)==67)Cr(a,376,f);else if((p|0)==69)Cr(a,376,-2);else if((p|0)==76)ar(a,2130,-3,342926);else if((p|0)==82){j=c[u>>2]|0;d=j-(c[o>>2]|0)|0;w=d>>4;f=w+-1|0;if(!w)Cr(a,300,-1);k=c[(c[n>>2]|0)+376>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=((d|0)<16?l:0)+f|0;if(j>>>0>=l>>>0)Cr(a,376,f);d=Kr(a,k+(j<<4)|0,k+(l+-1<<4)|0)|0;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=l+-2|0;if(l>>>0<=1)Cr(a,376,-2);m=k+(j<<4)|0;p=k+(l+-1<<4)|0;w=c[m>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(m|0,m+16|0,p-m|0)|0;c[p>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;if(w&8|0?(p=j+4|0,w=(c[p>>2]|0)+-1|0,c[p>>2]=w,(w|0)==0):0)qr(c[v>>2]|0,j);if(!d)l=e[q>>1]|0;else l=Ur(a,-1)|0;k=c[u>>2]|0;j=k+-16|0;c[u>>2]=j;w=c[k+-16>>2]|0;k=c[k+-8>>2]|0;c[j>>2]=2;if((w&8|0)!=0?(q=k+4|0,w=(c[q>>2]|0)+-1|0,c[q>>2]=w,(w|0)==0):0){qr(c[v>>2]|0,k);j=c[u>>2]|0}if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4274);q=j+16|0;c[u>>2]=q;c[j>>2]=0;h[j+8>>3]=+(l>>>0);w=c[o>>2]|0;j=q-w>>4;j=j>>>0>2?w+(j+-3<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9)ar(a,2130,-3,342926);j=c[j+8>>2]|0;if(!j)ar(a,2130,-3,342926);yr(a,j,c[(c[n>>2]|0)+328>>2]|0,4);do if(!((i|0)==0|r)){if((c[u>>2]|0)>>>0>=(c[t>>2]|0)>>>0)mr(a,4604);l=Or(a,40)|0;j=c[v>>2]|0;c[l>>2]=134234241;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=l;c[l+12>>2]=0;c[l+8>>2]=k;c[j>>2]=l;d=c[u>>2]|0;c[d>>2]=9;c[d+8>>2]=l;d=l+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[u>>2]|0;f=d+16|0;c[u>>2]=f;j=c[a+112>>2]|0;c[l+20>>2]=j;if(j|0){w=j+4|0;c[w>>2]=(c[w>>2]|0)+1}if(f>>>0>=(c[t>>2]|0)>>>0)mr(a,1093);j=c[o>>2]|0;k=f-j>>4;if(k>>>0<=2)Cr(a,376,-3);w=j+(k+-3<<4)|0;c[u>>2]=d+32;c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];if(c[f>>2]&8|0){w=(c[d+24>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}w=c[o>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>1?w+(j+-2<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9)ar(a,2130,-2,342926);j=c[j+8>>2]|0;if(!j)ar(a,2130,-2,342926);yr(a,j,c[(c[n>>2]|0)+204>>2]|0,5);j=c[u>>2]|0;l=c[o>>2]|0;k=j-l>>4;k=k|0?l+(k+-1<<4)|0:0;k=(k|0)==0?368:k;do if((c[k>>2]|0)==9){k=c[k+8>>2]|0;if(!k){k=l;break}gt(a,k);k=c[o>>2]|0;j=c[u>>2]|0}else k=l;while(0);j=j-k>>4;j=j>>>0>2?k+(j+-3<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9)ar(a,2130,-3,342926);j=c[j+8>>2]|0;if(!j)ar(a,2130,-3,342926);else{yr(a,j,c[(c[n>>2]|0)+200>>2]|0,1);break}}while(0);if(c[s>>2]&65536|0){j=c[u>>2]|0;l=j-(c[o>>2]|0)>>4;if(l>>>0<=1)Cr(a,300,-2);k=c[(c[n>>2]|0)+276>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;d=k+4|0;c[d>>2]=(c[d>>2]|0)+1;d=a+232|0;j=c[d>>2]|0;k=c[u>>2]|0;if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=k+16;c[k>>2]=9;c[k+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[u>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,1111);if((j-(c[o>>2]|0)|0)<16)Cr(a,1114,-1);w=j+-16|0;c[u>>2]=j+16;c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[j+12>>2]=c[w+12>>2];if(c[j>>2]&8|0){w=(c[j+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}Yr(a,l+-2|0,896);j=c[u>>2]|0;l=j-(c[o>>2]|0)>>4;if(l>>>0<=1)Cr(a,300,-2);k=c[(c[n>>2]|0)+268>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;j=k+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[d>>2]|0;k=c[u>>2]|0;if(k>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=k+16;c[k>>2]=9;c[k+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[u>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,1111);if((j-(c[o>>2]|0)|0)<16)Cr(a,1114,-1);w=j+-16|0;c[u>>2]=j+16;c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[j+12>>2]=c[w+12>>2];if(c[j>>2]&8|0){w=(c[j+8>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}Yr(a,l+-2|0,896)}j=c[u>>2]|0;d=j-(c[o>>2]|0)|0;w=d>>4;f=w+-1|0;if(!w)Cr(a,300,-1);k=c[(c[n>>2]|0)+352>>2]|0;if(j>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[u>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=((d|0)<16?l:0)+f|0;if(j>>>0>=l>>>0)Cr(a,376,f);d=Kr(a,k+(j<<4)|0,k+(l+-1<<4)|0)|0;k=c[o>>2]|0;l=(c[u>>2]|0)-k>>4;j=l+-2|0;if(l>>>0<=1)Cr(a,376,-2);s=k+(j<<4)|0;t=k+(l+-1<<4)|0;w=c[s>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(s|0,s+16|0,t-s|0)|0;c[t>>2]=2;c[u>>2]=(c[u>>2]|0)+-16;do if(w&8|0){t=j+4|0;w=(c[t>>2]|0)+-1|0;c[t>>2]=w;if(w|0)break;qr(c[v>>2]|0,j)}while(0);do if(d){w=c[o>>2]|0;j=(c[u>>2]|0)-w>>4;j=j>>>0>2?w+(j+-3<<4)|0:0;j=(j|0)==0?368:j;if((c[j>>2]|0)!=9)ar(a,2130,-3,342926);j=c[j+8>>2]|0;if(!j)ar(a,2130,-3,342926);else{yr(a,j,c[(c[n>>2]|0)+352>>2]|0,4);break}}else{j=c[u>>2]|0;t=j+-16|0;c[u>>2]=t;w=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[t>>2]=2;if(!(w&8))break;t=j+4|0;w=(c[t>>2]|0)+-1|0;c[t>>2]=w;if(w|0)break;qr(c[v>>2]|0,j)}while(0);j=c[u>>2]|0;w=c[o>>2]|0;k=j-w>>4;k=k>>>0>1?w+(k+-2<<4)|0:0;k=(k|0)==0?368:k;do if((c[k>>2]|0)==9){k=c[k+8>>2]|0;if(!k)break;gt(a,k);j=c[u>>2]|0}while(0);a=j+-16|0;c[u>>2]=a;w=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[a>>2]=2;if(!(w&8))return;u=j+4|0;w=(c[u>>2]|0)+-1|0;c[u>>2]=w;if(w|0)return;qr(c[v>>2]|0,j);return}}function Ps(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+68|0;s=b+72|0;j=c[s>>2]|0;k=j+32|0;f=c[k>>2]|0;a:do if(f|0){h=b+44|0;l=j+28|0;while(1){g=c[f+16>>2]|0;if((g&47|0)==33)break;if(g&128|0?(i=c[l>>2]|0,p=c[i+20>>2]|0,c[l>>2]=p,p=p+4|0,c[p>>2]=(c[p>>2]|0)+1,p=i+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)xr(c[h>>2]|0,i);p=f;f=c[f>>2]|0;c[k>>2]=f;q=(c[h>>2]|0)+40|0;c[p>>2]=c[q>>2];c[q>>2]=p;if(!f)break a}Cs(b,(c[r>>2]|0)+-16|0,6);b=0;return b|0}while(0);if((j|0)==(d|0)){b=1;return b|0}q=b+76|0;if((c[q>>2]|0)>>>0<=1){o=b+84|0;p=c[o>>2]|0;wr(p);d=p+72|0;g=c[d>>2]|0;n=g+20|0;h=c[n>>2]|0;c[d>>2]=h;m=p+76|0;c[m>>2]=(c[m>>2]|0)+-1;m=p+44|0;f=(c[m>>2]|0)+36|0;c[n>>2]=c[f>>2];c[f>>2]=g;f=c[r>>2]|0;g=f+-16|0;n=p+52|0;h=(c[n>>2]|0)+(c[h+44>>2]|0)|0;if(c[g>>2]&8|0){r=(c[f+-8>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1}if(c[h>>2]&8){f=c[h+8>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];l=f+4|0;r=(c[l>>2]|0)+-1|0;c[l>>2]=r;if(!r)qr(c[b+44>>2]|0,f)}else{c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2]}l=c[d>>2]|0;j=c[l+16>>2]|0;h=c[l+40>>2]|0;f=(c[n>>2]|0)+h|0;i=p+64|0;c[i>>2]=f;h=(16-h+(c[l+44>>2]|0)|0)>>>4;j=e[j+60>>1]|0;k=p+68|0;g=c[k>>2]|0;d=g-f>>4;if(h>>>0<d>>>0){f=g+(h-d<<4)|0;do{r=c[g+-16>>2]|0;h=c[g+-8>>2]|0;g=g+-16|0;c[g>>2]=2;if(r&8|0?(d=h+4|0,r=(c[d>>2]|0)+-1|0,c[d>>2]=r,(r|0)==0):0)vr(c[m>>2]|0,h)}while((g|0)!=(f|0));c[k>>2]=f;g=c[m>>2]|0;if(c[g+32>>2]|0){lr(g);f=c[k>>2]|0}}else{f=f+(h<<4)|0;c[k>>2]=f}g=c[i>>2]|0;h=f-g>>4;if(j>>>0<h>>>0){h=f+(j-h<<4)|0;do{r=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;if(r&8|0?(j=g+4|0,r=(c[j>>2]|0)+-1|0,c[j>>2]=r,(r|0)==0):0)vr(c[m>>2]|0,g)}while((f|0)!=(h|0));c[k>>2]=h;f=c[m>>2]|0;if(c[f+32>>2]|0)lr(f)}else c[k>>2]=g+(j<<4);c[p+56>>2]=(c[n>>2]|0)+(c[l+48>>2]|0);if(!(c[s>>2]|0))g=b+44|0;else{g=b+44|0;do{wr(b);m=c[s>>2]|0;l=m+20|0;r=c[l>>2]|0;c[s>>2]=r;c[q>>2]=(c[q>>2]|0)+-1;n=(c[g>>2]|0)+36|0;c[l>>2]=c[n>>2];c[n>>2]=m}while((r|0)!=0)}c[b+64>>2]=c[b+52>>2];Zs(b,0);a[b+49>>0]=5;f=c[g>>2]|0;if(c[f+32>>2]|0)lr(f);c[o>>2]=0;s=p+4|0;b=(c[s>>2]|0)+-1|0;c[s>>2]=b;if(!b)Ms(c[g>>2]|0,p);a[p+49>>0]=2;g=(c[g>>2]|0)+132|0;f=c[g>>2]|0;if(!f){h=0;f=0}else{h=c[f+96>>2]|0;f=c[f+92>>2]|0}c[p+92>>2]=f;c[p+96>>2]=h;c[g>>2]=p;b=0;return b|0}f=c[(c[s>>2]|0)+52>>2]|0;b:do if(f&36|0){h=c[r>>2]|0;d=b+64|0;g=c[d>>2]|0;p=h-g>>4;p=p|0?g+(p+-1<<4)|0:0;if(447>>>(c[((p|0)==0?368:p)>>2]|0)&1|0){if(f&32|0)_r(b,342613,507);if((h|0)==(g|0))br(b,342583,50337407,342599);f=h+-16|0;c[r>>2]=f;p=c[h+-16>>2]|0;g=c[h+-8>>2]|0;c[f>>2]=2;if((p&8|0)!=0?(l=g+4|0,p=(c[l>>2]|0)+-1|0,c[l>>2]=p,(p|0)==0):0){qr(c[b+44>>2]|0,g);f=c[r>>2]|0}if(f>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4361);c[r>>2]=f+16;if(c[s>>2]|0?(m=c[d>>2]|0,p=m+-16|0,c[f>>2]=c[p>>2],c[f+4>>2]=c[p+4>>2],c[f+8>>2]=c[p+8>>2],c[f+12>>2]=c[p+12>>2],c[p>>2]&8|0):0){p=(c[m+-8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}}p=c[d>>2]|0;f=(c[r>>2]|0)-p>>4;f=f|0?p+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if(((c[f>>2]|0)==9?(n=c[f+8>>2]|0,n|0):0)?(o=c[b+180>>2]|0,o|0):0){f=1e4;g=n;while(1){if((g|0)==(o|0))break;if(!f)break b;g=c[g+20>>2]|0;if(!g)break b;else f=f+-1|0}if(c[n>>2]&128|0)$r(b,b,0,0,n,3);as(b,104)}}while(0);m=b+52|0;g=(c[m>>2]|0)+(c[(c[(c[s>>2]|0)+20>>2]|0)+44>>2]|0)|0;f=c[r>>2]|0;h=f+-16|0;if(c[h>>2]&8|0){p=(c[f+-8>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+1}if(c[g>>2]&8){f=c[g+8>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];o=f+4|0;p=(c[o>>2]|0)+-1|0;c[o>>2]=p;if(!p)qr(c[b+44>>2]|0,f)}else{c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2]}wr(b);h=c[s>>2]|0;f=h+20|0;l=c[f>>2]|0;c[s>>2]=l;c[q>>2]=(c[q>>2]|0)+-1;k=b+44|0;j=(c[k>>2]|0)+36|0;c[f>>2]=c[j>>2];c[j>>2]=h;j=c[l+16>>2]|0;h=c[l+40>>2]|0;f=(c[m>>2]|0)+h|0;i=b+64|0;c[i>>2]=f;h=(16-h+(c[l+44>>2]|0)|0)>>>4;j=e[j+60>>1]|0;g=c[r>>2]|0;d=g-f>>4;if(h>>>0<d>>>0){f=g+(h-d<<4)|0;do{s=c[g+-16>>2]|0;h=c[g+-8>>2]|0;g=g+-16|0;c[g>>2]=2;if(s&8|0?(q=h+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0)vr(c[k>>2]|0,h)}while((g|0)!=(f|0));c[r>>2]=f;g=c[k>>2]|0;if(c[g+32>>2]|0){lr(g);f=c[r>>2]|0}}else{f=f+(h<<4)|0;c[r>>2]=f}g=c[i>>2]|0;h=f-g>>4;if(j>>>0<h>>>0){h=f+(j-h<<4)|0;do{s=c[f+-16>>2]|0;g=c[f+-8>>2]|0;f=f+-16|0;c[f>>2]=2;if(s&8|0?(q=g+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0)vr(c[k>>2]|0,g)}while((f|0)!=(h|0));c[r>>2]=h;f=c[k>>2]|0;if(c[f+32>>2]|0)lr(f)}else c[r>>2]=g+(j<<4);c[b+56>>2]=(c[m>>2]|0)+(c[l+48>>2]|0);b=0;return b|0}function Qs(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+44>>2]|0;e=d+44|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)<1)dr(d,2);e=d+4|0;f=d+16|0;b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,0);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,0);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,20)|0;if(!b)er(a,343443,144);else{a=b;return a|0}return 0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;m=o;n=a+72|0;e=c[n>>2]|0;k=e+32|0;f=c[k>>2]|0;if(!f)Dr(a,343340,1511);i=a+44|0;g=e+28|0;e=f;while(1){f=c[e+16>>2]|0;if((f&47|0)==33){e=4;break}if((f&15|0)==2&(f>>>8|0)==(b|0)){e=6;break}if(f&128|0?(j=c[g>>2]|0,p=c[j+20>>2]|0,c[g>>2]=p,p=p+4|0,c[p>>2]=(c[p>>2]|0)+1,p=j+4|0,f=(c[p>>2]|0)+-1|0,c[p>>2]=f,(f|0)==0):0)xr(c[i>>2]|0,j);f=e;e=c[e>>2]|0;c[k>>2]=e;p=(c[i>>2]|0)+40|0;c[f>>2]=c[p>>2];c[p>>2]=f;if(!e){e=11;break}}if((e|0)==4){c[m>>2]=0;h[m+8>>3]=+(b>>>0);Cs(a,m,d);l=o;return}else if((e|0)==6){p=c[n>>2]|0;c[p+36>>2]=(c[(c[p+32>>2]|0)+8>>2]|0)+(((d|0)==5&1)<<2);l=o;return}else if((e|0)==11)Dr(a,343340,1511)}function Ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b>>>8;j=b>>>16;m=a+68|0;e=c[m>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);i=a+64|0;b=c[i>>2]|0;if(j>>>0>=e-b>>4>>>0)Cr(a,376,j);k=b+(j<<4)|0;c[m>>2]=e+16;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];if(c[e>>2]&8|0){k=(c[e+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}f=c[m>>2]|0;e=c[i>>2]|0;if(j>>>0>=f-e>>4>>>0)Cr(a,376,j);h=e+(j<<4)|0;k=c[h>>2]|0;b=c[e+(j<<4)+8>>2]|0;c[h>>2]=2;if((k&8|0)!=0?(h=b+4|0,k=(c[h>>2]|0)+-1|0,c[h>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);e=c[i>>2]|0;f=c[m>>2]|0}b=j+1|0;if(b>>>0>=f-e>>4>>>0)Cr(a,376,b);h=e+(b<<4)|0;k=c[h>>2]|0;b=c[e+(b<<4)+8>>2]|0;c[h>>2]=2;if(k&8|0?(h=b+4|0,k=(c[h>>2]|0)+-1|0,c[h>>2]=k,(k|0)==0):0)qr(c[a+44>>2]|0,b);k=a+44|0;b=(c[k>>2]|0)+40|0;e=c[b>>2]|0;if(!e)e=Qs(a)|0;else c[b>>2]=c[e>>2];g=e+16|0;c[g>>2]=1;h=e+4|0;c[h>>2]=0;c[e+8>>2]=d;c[e+12>>2]=((c[i>>2]|0)-(c[a+52>>2]|0)>>4)+j;f=c[a+72>>2]|0;i=f+32|0;c[e>>2]=c[i>>2];c[i>>2]=e;b=l<<4;b=b&16|(b&32|1);if(l&3|0)c[g>>2]=b;if(!(l&4)){if(l&8|0){h=f+28|0;if(!(c[h>>2]|0))Bs(a,f);Mr(a,-1);g=c[(c[m>>2]|0)+-8>>2]|0;b=Or(a,48)|0;e=c[k>>2]|0;c[b>>2]=2013266049;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=b;c[b+12>>2]=0;c[b+8>>2]=f;c[e>>2]=b;c[b+40>>2]=g;a=g+4|0;c[a>>2]=(c[a>>2]|0)+1;c[b+44>>2]=1;c[b+20>>2]=c[h>>2];c[h>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[i>>2]|0)+16|0;c[a>>2]=c[a>>2]|128}}else{c[g>>2]=b|64;c[h>>2]=c[(c[m>>2]|0)+-8>>2]}b=c[m>>2]|0;a=b+-16|0;c[m>>2]=a;m=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[a>>2]=2;if(!(m&8))return;a=b+4|0;m=(c[a>>2]|0)+-1|0;c[a>>2]=m;if(m|0)return;qr(c[k>>2]|0,b);return}function Ts(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;b=c[a+72>>2]|0;d=b+32|0;g=c[d>>2]|0;i=g+16|0;f=c[i>>2]|0;c[i>>2]=f&-17;j=c[g+8>>2]|0;if(!(f&32)){if(f&128|0?(i=b+28|0,e=c[i>>2]|0,f=c[e+20>>2]|0,c[i>>2]=f,f=f+4|0,c[f>>2]=(c[f>>2]|0)+1,f=e+4|0,i=(c[f>>2]|0)+-1|0,c[f>>2]=i,(i|0)==0):0)xr(c[a+44>>2]|0,e);c[d>>2]=c[g>>2];i=(c[a+44>>2]|0)+40|0;c[g>>2]=c[i>>2];c[i>>2]=g;j=j+4|0;return j|0}f=a+52|0;d=c[f>>2]|0;g=g+12|0;b=c[g>>2]|0;l=d+(b<<4)|0;k=c[l>>2]|0;e=c[d+(b<<4)+8>>2]|0;c[l>>2]=2;if((k&8|0)!=0?(k=e+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,e);d=c[f>>2]|0;b=c[g>>2]|0}b=d+(b<<4)|0;k=b+16|0;l=c[b+16>>2]|0;b=c[b+24>>2]|0;c[k>>2]=0;h[k+8>>3]=7.0;if(l&8|0?(k=b+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);c[i>>2]=c[i>>2]&-33;l=j+4|0;return l|0}function Us(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;e=c[a+72>>2]|0;f=e+32|0;i=c[f>>2]|0;j=i+16|0;b=c[j>>2]|0;if(b&128){k=e+28|0;d=c[k>>2]|0;l=c[d+20>>2]|0;c[k>>2]=l;b=b&-129;c[j>>2]=b;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;l=d+4|0;k=(c[l>>2]|0)+-1|0;c[l>>2]=k;if(!k){Ms(c[a+44>>2]|0,d);b=c[j>>2]|0}}if(!(b&32)){b=c[f>>2]|0;if(c[b+16>>2]&128|0?(l=e+28|0,g=c[l>>2]|0,k=c[g+20>>2]|0,c[l>>2]=k,k=k+4|0,c[k>>2]=(c[k>>2]|0)+1,k=g+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0)xr(c[a+44>>2]|0,g);c[f>>2]=c[b>>2];l=(c[a+44>>2]|0)+40|0;c[b>>2]=c[l>>2];c[l>>2]=b;return}f=a+52|0;d=c[f>>2]|0;g=i+12|0;b=c[g>>2]|0;k=d+(b<<4)|0;l=c[k>>2]|0;e=c[d+(b<<4)+8>>2]|0;c[k>>2]=2;if((l&8|0)!=0?(k=e+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,e);d=c[f>>2]|0;b=c[g>>2]|0}b=d+(b<<4)|0;k=b+16|0;l=c[b+16>>2]|0;b=c[b+24>>2]|0;c[k>>2]=0;h[k+8>>3]=7.0;if(l&8|0?(k=b+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,b);c[j>>2]=c[j>>2]&-33;return}function Vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=(c[a+64>>2]|0)+(b>>>8<<4)+16|0;b=~~+h[f+8>>3]>>>0;f=f+-16|0;switch(b|0){case 7:{b=c[a+72>>2]|0;e=b+32|0;f=c[e>>2]|0;if(c[f+16>>2]&128|0?(d=b+28|0,g=c[d>>2]|0,b=c[g+20>>2]|0,c[d>>2]=b,b=b+4|0,c[b>>2]=(c[b>>2]|0)+1,b=g+4|0,d=(c[b>>2]|0)+-1|0,c[b>>2]=d,(d|0)==0):0)xr(c[a+44>>2]|0,g);c[e>>2]=c[f>>2];a=(c[a+44>>2]|0)+40|0;c[f>>2]=c[a>>2];c[a>>2]=f;a=0;return a|0}case 6:{b=a+68|0;e=c[b>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[b>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[f>>2]&8|0){g=(c[f+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}a=(Ps(a,d)|0)!=0&1;return a|0}case 5:case 4:{Rs(a,~~+h[f+8>>3]>>>0,b);a=0;return a|0}default:{Xs(c[a+44>>2]|0,b,f);xs(a)}}return 0}function Ws(a){a=a|0;as(a,105);return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;c[a+84>>2]=b;b=a+96|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[d>>2]&8))return;d=(c[d+8>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1;return}function Ys(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+48|0;B=Q+32|0;M=Q+8|0;P=Q+4|0;N=Q;O=d&8;w=d&16;D=d&32;J=d&64;z=d&128;y=d&256;v=d&1;C=d&2;E=d&4;K=d&512;L=c[f+16>>2]|0;do if(c[e>>2]&4194304){if((c[(c[b+304>>2]|0)+328>>2]|0)!=(f|0)){if((L|0)==-1){I=0;H=0;F=0;G=0;x=23;break}if(L>>>0<(c[e+40>>2]|0)>>>0){I=0;H=0;F=0;G=0;x=23;break}if((K|0)!=0|(c[e+44>>2]|0)==0){I=0;H=0;F=L+1|0;G=0;x=23;break}else break}if(J){u=c[e+40>>2]|0;o=b+64|0;m=c[o>>2]|0;n=m+(g<<4)|0;if(!(c[n>>2]|0))s=+h[m+(g<<4)+8>>3];else s=+Ar(b,n);r=~~s>>>0;t=+(r>>>0);if(t!=s)br(b,342676,50334677,342696);q=b+68|0;m=c[q>>2]|0;if(m>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4274);I=m+16|0;c[q>>2]=I;c[m>>2]=0;h[m+8>>3]=t;n=c[o>>2]|0;o=I-n>>4;if(!o)Cr(b,376,-1);p=n+(o+-1<<4)|0;m=((g|0)<0?o:0)+g|0;if(m>>>0>=o>>>0)Cr(b,376,g);H=n+(m<<4)|0;I=c[H>>2]|0;m=c[n+(m<<4)+8>>2]|0;c[H>>2]=c[p>>2];c[H+4>>2]=c[p+4>>2];c[H+8>>2]=c[p+8>>2];c[H+12>>2]=c[p+12>>2];c[p>>2]=2;c[q>>2]=(c[q>>2]|0)+-16;if(I&8|0?(H=m+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[b+44>>2]|0,m);if(r>>>0<u>>>0){m=(d&9|0)==8;if((K|0)!=0|(c[e+44>>2]|0)==0){I=u;H=r;v=m?1:v;F=0;G=m&1;x=23}}else{I=u;H=r;F=0;G=0;x=23}}else{I=0;H=0;F=0;G=0;x=23}}else{I=0;H=0;F=0;G=0;x=23}while(0);a:do if((x|0)==23){b:do if(zr(b,e,f,L,M,1)|0){A=(w|0)!=0;do if(A){m=c[M>>2]|0;n=(m&2|0)!=0;if(!C)if(n){B=M;break}else{x=76;break}else if(n){x=76;break}else{B=M;break}}else x=76;while(0);c:do if((x|0)==76){do if(D|0){m=c[M>>2]|0;n=(m&4|0)!=0;if(!E)if(n){B=M;break c}else break;else if(n)break;else{B=M;break c}}while(0);if(J|0){m=c[M>>2]|0;if(m&8|0){B=M;break}n=c[b+64>>2]|0;o=(c[b+68>>2]|0)-n>>4;if(!o)Cr(b,376,-1);m=((g|0)<0?o:0)+g|0;if(m>>>0>=o>>>0)Cr(b,376,g);if(!(Fs(0,n+(o+-1<<4)|0,n+(m<<4)|0,1)|0)){B=M;m=c[M>>2]|0;break}}do if(O|0){m=c[M>>2]|0;if(m&8|0){B=M;break c}n=(m&1|0)!=0;if(!v)if(n){B=M;break c}else break;else if(n)break;else{B=M;break c}}while(0);if(y|0){m=c[M>>2]|0;if(!(m&8)){B=M;break}if((c[M+8>>2]|0)!=(j|0)){B=M;break}}if(!z)break b;m=c[M>>2]|0;if((m&8|0)!=0?(c[M+4>>2]|0)==(i|0):0)break b;else B=M}while(0);q=m&4|K;do if(!q){if((d&36|0)==36)break a;if(A){n=(C|0)!=0;if(!(m&2))if(n)break a;else break;else if(n)break;else break a}}while(0);u=(y|0)!=0;w=(z|0)!=0;do if(!(d&384)){o=(J|0)!=0;p=(O|0)!=0;if(d&72){n=(q|0)!=0;if(!(m&8)){if(n)break;n=(m&1|0)==0;if((v|0)!=0&(p&n))break a;if(!(o&n))break;n=c[b+64>>2]|0;o=(c[b+68>>2]|0)-n>>4;if(!o)Cr(b,376,-1);m=((g|0)<0?o:0)+g|0;if(m>>>0>=o>>>0)Cr(b,376,g);if(!(Fs(0,n+(o+-1<<4)|0,n+(m<<4)|0,1)|0))break a;m=c[B>>2]|0;break}else{if(!n)break a;q=M+12|0;n=c[q>>2]|0;if((n|0)<0)break a;r=e+16|0;o=c[r>>2]|0;z=o+(n<<4)|0;m=c[z>>2]|0;c[z>>2]=0;if((m|0)!=0?(y=m+4|0,z=(c[y>>2]|0)+-1|0,c[y>>2]=z,(z|0)==0):0){xr(c[b+44>>2]|0,m);m=c[r>>2]|0;p=m;n=c[q>>2]|0}else{p=o;m=o}z=p+(n<<4)+4|0;o=c[z>>2]|0;c[z>>2]=0;if((o|0)!=0?(y=o+4|0,z=(c[y>>2]|0)+-1|0,c[y>>2]=z,(z|0)==0):0){xr(c[b+44>>2]|0,o);m=c[r>>2]|0;o=m;n=c[q>>2]|0}else o=p;c[o+(n<<4)>>2]=2;z=e+24|0;m=m+((c[z>>2]|0)*20|0)+n|0;a[m>>0]=a[m>>0]&-2;m=(c[r>>2]|0)+((c[z>>2]|0)*20|0)+(c[q>>2]|0)|0;a[m>>0]=a[m>>0]&-9;m=c[B>>2]&-10;c[B>>2]=m;break}}}else{n=(q|0)!=0;if(m&8|0){if(n)break;if(u?(c[M+8>>2]|0)!=(j|0):0)break a;if(!w)break;if((c[M+4>>2]|0)==(i|0))break;else break a}if(!n)break a;if((c[M+20>>2]|0)>-1){ks(b,e);z=b+68|0;m=c[z>>2]|0;y=m+-16|0;c[z>>2]=y;z=c[m+-16>>2]|0;m=c[m+-8>>2]|0;c[y>>2]=2;if(z&8|0?(y=m+4|0,z=(c[y>>2]|0)+-1|0,c[y>>2]=z,(z|0)==0):0)qr(c[b+44>>2]|0,m);zr(b,e,f,L,M,1)|0}q=M+12|0;n=c[q>>2]|0;if((n|0)<0)break a;r=e+16|0;o=c[r>>2]|0;y=o+(n<<4)|0;z=c[y>>2]|0;m=c[o+(n<<4)+8>>2]|0;c[y>>2]=2;if((z&8|0)!=0?(y=m+4|0,z=(c[y>>2]|0)+-1|0,c[y>>2]=z,(z|0)==0):0){vr(c[b+44>>2]|0,m);m=c[r>>2]|0;p=m;n=c[q>>2]|0}else{p=o;m=o}c[p+(n<<4)>>2]=0;c[p+(n<<4)+4>>2]=0;z=e+24|0;m=m+((c[z>>2]|0)*20|0)+n|0;a[m>>0]=a[m>>0]&-2;m=(c[r>>2]|0)+((c[z>>2]|0)*20|0)+(c[q>>2]|0)|0;a[m>>0]=a[m>>0]|8;m=c[B>>2]&-10|8;c[B>>2]=m}while(0);do if(A)if(!C){m=m&-3;break}else{m=m|2;break}while(0);do if(D)if(!E){m=m&-5;break}else{m=m|4;break}while(0);do if(O)if(!v){m=m&-2;break}else{m=m|1;break}while(0);r=c[M+20>>2]|0;do if((r|0)>-1){if((m|0)!=7){ks(b,e);E=b+68|0;n=c[E>>2]|0;D=n+-16|0;c[E>>2]=D;E=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[D>>2]=2;if(E&8|0?(D=n+4|0,E=(c[D>>2]|0)+-1|0,c[D>>2]=E,(E|0)==0):0)qr(c[b+44>>2]|0,n);zr(b,e,f,L,M,1)|0;break}n=c[b+64>>2]|0;i=(c[b+68>>2]|0)-n>>4;m=((g|0)<0?i:0)+g|0;if(m>>>0>=i>>>0)Cr(b,376,g);p=n+(m<<4)|0;o=c[e+24>>2]|0;o=(c[e+16>>2]|0)+(o*21|0)+(0-o&7)|0;q=o+(r<<4)|0;if(c[p>>2]&8|0){i=(c[n+(m<<4)+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}if(!(c[q>>2]&8)){c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];x=202;break b}m=c[o+(r<<4)+8>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];j=m+4|0;i=(c[j>>2]|0)+-1|0;c[j>>2]=i;if(i|0){x=202;break b}qr(c[b+44>>2]|0,m);x=202;break b}while(0);o=M+12|0;n=c[o>>2]|0;if((n|0)<=-1){if((c[(c[b+304>>2]|0)+328>>2]|0)==(f|0)?c[e>>2]&4194304|0:0){if((c[B>>2]^m)&6|0)break a;c[e+44>>2]=m&1^1}}else a[(c[e+16>>2]|0)+((c[e+24>>2]|0)*20|0)+n>>0]=m;if(u){m=c[o>>2]|0;if((m|0)<0)break a;E=(c[e+16>>2]|0)+(m<<4)+4|0;m=c[E>>2]|0;c[E>>2]=j;if(j|0){j=j+4|0;c[j>>2]=(c[j>>2]|0)+1}if(m|0?(E=m+4|0,j=(c[E>>2]|0)+-1|0,c[E>>2]=j,(j|0)==0):0)Ms(c[b+44>>2]|0,m)}if(w){m=c[o>>2]|0;if((m|0)<0)break a;j=(c[e+16>>2]|0)+(m<<4)|0;m=c[j>>2]|0;c[j>>2]=i;if(i|0){i=i+4|0;c[i>>2]=(c[i>>2]|0)+1}if(m|0?(j=m+4|0,i=(c[j>>2]|0)+-1|0,c[j>>2]=i,(i|0)==0):0)Ms(c[b+44>>2]|0,m)}if(J){n=c[o>>2]|0;if((n|0)<=-1){if((c[(c[b+304>>2]|0)+328>>2]|0)!=(f|0))break a;if(!(c[e>>2]&4194304))break a;c[e+40>>2]=H;x=202;break}o=c[b+64>>2]|0;i=(c[b+68>>2]|0)-o>>4;m=((g|0)<0?i:0)+g|0;if(m>>>0>=i>>>0)Cr(b,376,g);q=o+(m<<4)|0;p=c[e+16>>2]|0;r=p+(n<<4)|0;if(c[q>>2]&8|0){i=(c[o+(m<<4)+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}if(!(c[r>>2]&8)){c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];x=202;break}m=c[p+(n<<4)+8>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];j=m+4|0;i=(c[j>>2]|0)+-1|0;c[j>>2]=i;if(!i){qr(c[b+44>>2]|0,m);x=202}else x=202}else x=202}else{o=c[e>>2]|0;if(!(o&128|K))if(!k){P=0;l=Q;return P|0}else br(b,342676,100669216,343052);m=(d&18|0)==18;if(d&384|0){w=m?10:8;w=(d&36|0)==36?w|4:w;if(!((L|0)==-1|(o&32768|0)==0))ks(b,e);q=e+28|0;p=c[q>>2]|0;u=e+24|0;n=c[u>>2]|0;if(p>>>0>=n>>>0){if(!p)m=0;else{m=0;o=0;n=(c[e+16>>2]|0)+(n<<4)|0;while(1){m=((c[n>>2]|0)!=0&1)+m|0;o=o+1|0;if((o|0)==(p|0))break;else n=n+4|0}}o=((m+16|0)>>>3)+m|0;do if(o>>>0>7){if(o>>>0>63){m=2;n=o;do{E=n;n=n>>>6;m=m<<6}while(E>>>0>4095);if(!n)break}else{m=2;n=o}do{n=n>>>1;m=m<<1}while((n|0)!=0)}else m=0;while(0);Br(b,e,o,c[e+32>>2]|0,m,0);p=c[q>>2]|0;n=c[u>>2]|0}c[q>>2]=p+1;m=e+16|0;c[(c[m>>2]|0)+(n<<4)+(p<<2)>>2]=f;o=f+4|0;c[o>>2]=(c[o>>2]|0)+1;o=c[e+36>>2]|0;if(!o){m=c[m>>2]|0;n=m}else{r=c[m>>2]|0;q=r+(n*21|0)+(0-n&7)+(c[e+32>>2]<<4)|0;o=o+-1|0;m=c[f+12>>2]|0;while(1){m=m&o;n=q+(m<<2)|0;if((c[n>>2]|0)>>>0>4294967293)break;else m=m+1|0}c[n>>2]=p;n=r;m=r}c[n+(p<<4)>>2]=i;c[n+(p<<4)+4>>2]=j;if(i|0){i=i+4|0;c[i>>2]=(c[i>>2]|0)+1}if(j|0){i=j+4|0;c[i>>2]=(c[i>>2]|0)+1}a[m+((c[u>>2]|0)*20|0)+p>>0]=w;x=202;break}x=(O|0)!=0&(v|0)!=0&1;x=m?x|2:x;x=(d&36|0)==36?x|4:x;do if(J){n=c[b+64>>2]|0;i=(c[b+68>>2]|0)-n>>4;m=((g|0)<0?i:0)+g|0;if(m>>>0<i>>>0){A=c[n+(m<<4)>>2]|0;i=n+(m<<4)+4|0;c[B>>2]=c[i>>2];c[B+4>>2]=c[i+4>>2];c[B+8>>2]=c[i+8>>2];break}else Cr(b,376,g)}else A=2;while(0);if(!((L|0)==-1|(o&32768|0)==0))ks(b,e);q=e+28|0;p=c[q>>2]|0;w=e+24|0;n=c[w>>2]|0;if(p>>>0>=n>>>0){if(!p)m=0;else{m=0;o=0;n=(c[e+16>>2]|0)+(n<<4)|0;while(1){m=((c[n>>2]|0)!=0&1)+m|0;o=o+1|0;if((o|0)==(p|0))break;else n=n+4|0}}o=((m+16|0)>>>3)+m|0;do if(o>>>0>7){if(o>>>0>63){m=2;n=o;do{i=n;n=n>>>6;m=m<<6}while(i>>>0>4095);if(!n)break}else{m=2;n=o}do{n=n>>>1;m=m<<1}while((n|0)!=0)}else m=0;while(0);Br(b,e,o,c[e+32>>2]|0,m,0);p=c[q>>2]|0;n=c[w>>2]|0}c[q>>2]=p+1;u=e+16|0;c[(c[u>>2]|0)+(n<<4)+(p<<2)>>2]=f;o=f+4|0;c[o>>2]=(c[o>>2]|0)+1;o=c[e+36>>2]|0;if(!o)m=c[u>>2]|0;else{m=c[u>>2]|0;r=m+(n*21|0)+(0-n&7)+(c[e+32>>2]<<4)|0;q=o+-1|0;n=c[f+12>>2]|0;while(1){n=n&q;o=r+(n<<2)|0;if((c[o>>2]|0)>>>0>4294967293)break;else n=n+1|0}c[o>>2]=p}c[m+(p<<4)>>2]=A;i=m+(p<<4)+4|0;c[i>>2]=c[B>>2];c[i+4>>2]=c[B+4>>2];c[i+8>>2]=c[B+8>>2];if(A&8|0){i=(c[m+(p<<4)+8>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1}a[(c[u>>2]|0)+((c[w>>2]|0)*20|0)+p>>0]=x;x=202}while(0);do if((x|0)==202){m=c[e>>2]|0;if(m&4194304|0){if(F|0)c[e+40>>2]=F;if(!(H>>>0<I>>>0?(c[(c[b+304>>2]|0)+328>>2]|0)==(f|0):0))break;m=js(b,e,I,H,K,P)|0;c[e+40>>2]=c[P>>2];if(G|0)c[e+44>>2]=1;if(!m)break a;else break}if(!((L|0)==-1|(m&16777216|0)==0)){c[P>>2]=0;c[N>>2]=0;do if(ls(b,e,f,M,P,N)|0){if(d&384|0){qs(b,c[P>>2]|0,f,0)|0;break}do if(J|0){o=c[b+64>>2]|0;p=(c[b+68>>2]|0)-o>>4;m=p|0?o+(p+-1<<4)|0:0;m=(m|0)==0?368:m;if((c[m>>2]|0)!=8)ar(b,2101,-1,361511);n=c[m+8>>2]|0;if(!n)ar(b,2101,-1,361511);m=((g|0)<0?p:0)+g|0;if(m>>>0<p>>>0){ms(b,c[N>>2]|0,0,n,o+(m<<4)|0,1);break}else Cr(b,376,g)}while(0);if(!((O|0)==0|(v|0)!=0))qs(b,c[P>>2]|0,f,0)|0}while(0)}}while(0);m=c[b+44>>2]|0;if(!(c[m+32>>2]|0)){P=1;l=Q;return P|0}lr(m);P=1;l=Q;return P|0}while(0);if(!k){P=0;l=Q;return P|0}else br(b,342676,100669223,343080);return 0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+68|0;d=c[h>>2]|0;f=c[a+64>>2]|0;g=d-f>>4;e=((b|0)<0?g:0)+b|0;if(e>>>0>(c[a+56>>2]|0)-f>>4>>>0)Cr(a,463,b);if(e>>>0>=g>>>0){c[h>>2]=f+(e<<4);return}f=d+(e-g<<4)|0;b=a+44|0;do{a=c[d+-16>>2]|0;e=c[d+-8>>2]|0;d=d+-16|0;c[d>>2]=2;if(a&8|0?(g=e+4|0,a=(c[g>>2]|0)+-1|0,c[g>>2]=a,(a|0)==0):0)vr(c[b>>2]|0,e)}while((d|0)!=(f|0));c[h>>2]=f;d=c[b>>2]|0;if(!(c[d+32>>2]|0))return;lr(d);return}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=(b&255|0)==196;e=b>>>16;j=a+68|0;f=c[j>>2]|0;h=a+56|0;if(f>>>0>=(c[h>>2]|0)>>>0)mr(a,1093);g=a+64|0;d=c[g>>2]|0;if(e>>>0>=f-d>>4>>>0)Cr(a,376,e);d=d+(e<<4)|0;c[j>>2]=f+16;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(c[f>>2]&8|0){f=(c[f+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}e=e+1|0;f=c[j>>2]|0;if(f>>>0>=(c[h>>2]|0)>>>0)mr(a,1093);d=c[g>>2]|0;if(e>>>0>=f-d>>4>>>0)Cr(a,376,e);h=d+(e<<4)|0;c[j>>2]=f+16;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];if(!(c[f>>2]&8)){j=i?822:694;i=b>>>8;i=i&255;Yr(a,i,j);return}j=(c[f+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;j=i?822:694;i=b>>>8;i=i&255;Yr(a,i,j);return}function $s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b>>>16&255;g=b>>>24;m=a+68|0;h=c[m>>2]|0;i=a+64|0;k=c[i>>2]|0;j=k;b=g>>>0<h-j>>4>>>0;d=k+(g<<4)|0;n=b?d:0;e=h;f=e>>>0<(c[a+56>>2]|0)>>>0;if((c[((n|0)==0?368:n)>>2]&-2|0)==2){if(!f)mr(a,4175);b=e+16|0;c[m>>2]=b;c[e>>2]=3;b=b-j>>4;if(!b)Cr(a,376,-1);d=k+(b+-1<<4)|0;if(l>>>0>=b>>>0)Cr(a,376,l);j=k+(l<<4)|0;n=c[j>>2]|0;b=c[k+(l<<4)+8>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[d>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(!(n&8))return;m=b+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0)return;qr(c[a+44>>2]|0,b);return}if(!f)mr(a,1093);if(!b)Cr(a,376,g);c[m>>2]=e+16;n=h;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];if(c[e>>2]&8|0){n=(c[e+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}Mr(a,-1);ct(a,0);b=c[i>>2]|0;d=(c[m>>2]|0)-b>>4;if(!d)Cr(a,376,-1);e=b+(d+-1<<4)|0;if(l>>>0>=d>>>0)Cr(a,376,l);k=b+(l<<4)|0;n=c[k>>2]|0;b=c[b+(l<<4)+8>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[e>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(!(n&8))return;m=b+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0)return;qr(c[a+44>>2]|0,b);return}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>>16&255;f=b>>>24;j=a+68|0;g=c[j>>2]|0;h=a+64|0;d=c[h>>2]|0;b=f>>>0<g-d>>4>>>0;d=d+(f<<4)|0;k=b?d:0;e=g;if((c[((k|0)==0?368:k)>>2]|0)!=9){k=0;return k|0}if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,1093);if(!b)Cr(a,376,f);c[j>>2]=e+16;k=g;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];if(c[e>>2]&8|0){k=(c[e+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}if(!(bt(a,0)|0)){b=(c[j>>2]|0)+16|0;c[j>>2]=b;f=0}else{f=1;b=c[j>>2]|0}d=c[h>>2]|0;b=b-d>>4;if(!b)Cr(a,376,-1);e=d+(b+-1<<4)|0;if(i>>>0>=b>>>0)Cr(a,376,i);h=d+(i<<4)|0;k=c[h>>2]|0;b=c[d+(i<<4)+8>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[e>>2]=2;c[j>>2]=(c[j>>2]|0)+-16;if(!(k&8)){k=f;return k|0}j=b+4|0;k=(c[j>>2]|0)+-1|0;c[j>>2]=k;if(k|0){k=f;return k|0}qr(c[a+44>>2]|0,b);k=f;return k|0}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+32|0;r=w;v=a+68|0;f=c[v>>2]|0;u=a+64|0;d=c[u>>2]|0;i=f-d|0;e=i>>4;j=e+-1|0;d=e|0?d+(j<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-1,342926);q=c[d+8>>2]|0;if(!q)ar(a,2130,-1,342926);if(!e)Cr(a,300,-1);s=a+304|0;d=c[(c[s>>2]|0)+368>>2]|0;t=a+56|0;if(f>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[v>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=((i|0)<16?f:0)+j|0;if(d>>>0>=f>>>0)Cr(a,376,j);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);o=e+(d<<4)|0;f=e+(f+-1<<4)|0;p=c[o>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(o|0,o+16|0,f-o|0)|0;c[f>>2]=2;f=(c[v>>2]|0)+-16|0;c[v>>2]=f;e=f;if((p&8|0)!=0?(o=d+4|0,p=(c[o>>2]|0)+-1|0,c[o>>2]=p,(p|0)==0):0){qr(c[a+44>>2]|0,d);f=c[v>>2]|0;e=f}i=c[u>>2]|0;j=i;d=e-j>>4;d=d|0?i+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if(c[d>>2]|0)ar(a,225,-1,355285);g=+h[d+8>>3];if(!(g<0.0|(K4(g)|0)==0))if(g>4294967295.0)o=-1;else o=~~g>>>0;else o=0;if((f|0)==(i|0))br(a,342583,50337407,342599);i=f+-16|0;c[v>>2]=i;p=c[f+-16>>2]|0;d=c[f+-8>>2]|0;c[i>>2]=2;e=i;if((p&8|0)!=0?(n=d+4|0,p=(c[n>>2]|0)+-1|0,c[n>>2]=p,(p|0)==0):0){qr(c[a+44>>2]|0,d);e=c[v>>2]|0;i=e;d=c[u>>2]|0}else d=j;j=e-d|0;p=j>>4;k=p+-1|0;if(!p)Cr(a,300,-1);d=c[(c[s>>2]|0)+364>>2]|0;if(i>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[v>>2]=i+16;c[i>>2]=8;c[i+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=((j|0)<16?f:0)+k|0;if(d>>>0>=f>>>0)Cr(a,376,k);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);m=e+(d<<4)|0;n=e+(f+-1<<4)|0;p=c[m>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(m|0,m+16|0,n-m|0)|0;c[n>>2]=2;e=(c[v>>2]|0)+-16|0;c[v>>2]=e;if((p&8|0)!=0?(n=d+4|0,p=(c[n>>2]|0)+-1|0,c[n>>2]=p,(p|0)==0):0){qr(c[a+44>>2]|0,d);e=c[v>>2]|0}f=c[u>>2]|0;d=e-f>>4;d=d|0?f+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-1,342926);p=c[d+8>>2]|0;if(!p)ar(a,2130,-1,342926);i=(c[p>>2]&33554432|0)==0;if((e|0)==(f|0))br(a,342583,50337407,342599);m=e+-16|0;c[v>>2]=m;n=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[m>>2]=2;do if(n&8|0){m=d+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0)break;qr(c[a+44>>2]|0,d)}while(0);m=q+28|0;a:do if(o>>>0<(c[m>>2]|0)>>>0){n=q+16|0;k=q+24|0;if(i)d=o;else{n=c[(c[n>>2]|0)+(c[k>>2]<<4)+(o<<2)>>2]|0;d=o+1|0;break}b:while(1){j=c[(c[n>>2]|0)+(c[k>>2]<<4)+(d<<2)>>2]|0;d=d+1|0;i=c[j+16>>2]|0;e=1e4;f=p;while(1){if(zr(a,f,j,i,r,2)|0)break b;if(!e)break;f=c[f+20>>2]|0;if(!f)break;else e=e+-1|0}if(d>>>0>=(c[m>>2]|0)>>>0){n=0;break a}}n=j}else{n=0;d=o}while(0);e=c[v>>2]|0;f=c[t>>2]|0;if(e>>>0>=f>>>0)mr(a,4274);i=e+16|0;c[v>>2]=i;c[e>>2]=0;h[e+8>>3]=+(d>>>0);k=i-(c[u>>2]|0)|0;r=k>>4;m=r+-2|0;if(r>>>0<=1)Cr(a,300,-2);d=c[(c[s>>2]|0)+368>>2]|0;if(i>>>0>=f>>>0)mr(a,4153);c[v>>2]=e+32;c[i>>2]=8;c[e+24>>2]=d;i=d+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[u>>2]|0;j=(c[v>>2]|0)-i>>4;f=((k|0)<32?j:0)+m|0;if(f>>>0>=j>>>0)Cr(a,376,m);if((j|0)==1)Cr(a,376,-2);e=j+-2|0;d=c[a+72>>2]|0;if(!d)d=1;else d=c[d+52>>2]&1;es(a,i+(f<<4)|0,i+(j+-1<<4)|0,c[i+(e<<4)>>2]|0,c[i+(e<<4)+4>>2]|0,+h[i+(e<<4)+8>>3],d)|0;d=c[v>>2]|0;if((d+-32|0)>>>0<(c[u>>2]|0)>>>0)br(a,342583,50337495,342599);e=d+-16|0;c[v>>2]=e;s=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[e>>2]=2;do if(s&8){r=d+4|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;if(s|0)break;qr(c[a+44>>2]|0,d);e=c[v>>2]|0}while(0);d=e+-16|0;c[v>>2]=d;s=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[d>>2]=2;do if(s&8){r=e+4|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;if(s|0)break;qr(c[a+44>>2]|0,e);d=c[v>>2]|0}while(0);if(!n){if((d|0)==(c[u>>2]|0))br(a,342583,50337407,342599);u=d+-16|0;c[v>>2]=u;v=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[u>>2]=2;if(!(v&8)){a=0;l=w;return a|0}u=d+4|0;v=(c[u>>2]|0)+-1|0;c[u>>2]=v;if(v|0){a=0;l=w;return a|0}qr(c[a+44>>2]|0,d);a=0;l=w;return a|0}if(d>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[v>>2]=d+16;c[d>>2]=8;c[d+8>>2]=n;s=n+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!b){e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);b=e+(d<<4)|0;t=e+(f+-1<<4)|0;u=c[b>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(b|0,b+16|0,t-b|0)|0;c[t>>2]=2;c[v>>2]=(c[v>>2]|0)+-16;if(!(u&8)){a=1;l=w;return a|0}u=d+4|0;v=(c[u>>2]|0)+-1|0;c[u>>2]=v;if(v|0){a=1;l=w;return a|0}qr(c[a+44>>2]|0,d);a=1;l=w;return a|0}d=c[v>>2]|0;if(d>>>0>=(c[t>>2]|0)>>>0)mr(a,4153);c[v>>2]=d+16;c[d>>2]=9;c[d+8>>2]=p;f=p+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[v>>2]|0;if(f>>>0>=(c[t>>2]|0)>>>0)mr(a,1093);d=c[u>>2]|0;e=f-d>>4;if(e>>>0<=1)Cr(a,376,-2);t=d+(e+-2<<4)|0;c[v>>2]=f+16;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if(c[f>>2]&8|0){t=(c[f+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}d=c[u>>2]|0;e=(c[v>>2]|0)-d>>4;if(e>>>0<=1)Cr(a,376,-2);Kr(a,d+(e+-2<<4)|0,d+(e+-1<<4)|0)|0;e=c[u>>2]|0;f=(c[v>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);s=e+(d<<4)|0;b=e+(f+-1<<4)|0;t=c[s>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(s|0,s+16|0,b-s|0)|0;c[b>>2]=2;e=(c[v>>2]|0)+-16|0;c[v>>2]=e;do if(t&8){b=d+4|0;t=(c[b>>2]|0)+-1|0;c[b>>2]=t;if(t|0)break;qr(c[a+44>>2]|0,d);e=c[v>>2]|0}while(0);f=c[u>>2]|0;e=e-f>>4;d=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);b=f+(d<<4)|0;e=f+(e+-1<<4)|0;t=c[b>>2]|0;d=c[f+(d<<4)+8>>2]|0;t6(b|0,b+16|0,e-b|0)|0;c[e>>2]=2;e=(c[v>>2]|0)+-16|0;c[v>>2]=e;do if(t&8){b=d+4|0;t=(c[b>>2]|0)+-1|0;c[b>>2]=t;if(t|0)break;qr(c[a+44>>2]|0,d);e=c[v>>2]|0}while(0);f=c[u>>2]|0;d=e-f>>4;if(d>>>0<=2)Cr(a,376,-3);s=d+-3|0;b=f+(s<<4)|0;t=f+(d+-1<<4)|0;u=c[b>>2]|0;d=c[f+(s<<4)+8>>2]|0;t6(b|0,b+16|0,t-b|0)|0;c[t>>2]=2;c[v>>2]=(c[v>>2]|0)+-16;if(!(u&8)){a=1;l=w;return a|0}u=d+4|0;v=(c[u>>2]|0)+-1|0;c[u>>2]=v;if(v|0){a=1;l=w;return a|0}qr(c[a+44>>2]|0,d);a=1;l=w;return a|0}function ct(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+16|0;p=L;J=b+68|0;g=c[J>>2]|0;H=b+64|0;K=c[H>>2]|0;f=g-K>>4;f=f|0?K+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(b,2130,-1,342926);f=c[f+8>>2]|0;if(!f)ar(b,2130,-1,342926);G=b+56|0;if(g>>>0>=(c[G>>2]|0)>>>0)mr(b,4604);g=Or(b,40)|0;I=b+44|0;i=c[I>>2]|0;c[g>>2]=134234241;i=i+24|0;j=c[i>>2]|0;if(j|0)c[j+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=j;c[i>>2]=g;i=c[J>>2]|0;c[i>>2]=9;c[i+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[J>>2]|0;i=g+16|0;c[J>>2]=i;K=c[g+8>>2]|0;if(i>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=g+32;c[i>>2]=9;c[g+24>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[J>>2]|0;j=g-(c[H>>2]|0)|0;F=j>>4;k=F+-2|0;if(F>>>0<=1)Cr(b,300,-2);D=b+304|0;i=c[(c[D>>2]|0)+364>>2]|0;if(g>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=g+16;c[g>>2]=8;c[g+8>>2]=i;m=i+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[H>>2]|0;n=(c[J>>2]|0)-m>>4;j=((j|0)<32?n:0)+k|0;if(j>>>0>=n>>>0)Cr(b,376,k);if((n|0)==1)Cr(b,376,-2);i=n+-2|0;F=b+72|0;g=c[F>>2]|0;if(!g)g=1;else g=c[g+52>>2]&1;es(b,m+(j<<4)|0,m+(n+-1<<4)|0,c[m+(i<<4)>>2]|0,c[m+(i<<4)+4>>2]|0,+h[m+(i<<4)+8>>3],g)|0;g=c[J>>2]|0;if((g+-32|0)>>>0<(c[H>>2]|0)>>>0)br(b,342583,50337495,342599);i=g+-16|0;c[J>>2]=i;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[i>>2]=2;if((C&8|0)!=0?(B=g+4|0,C=(c[B>>2]|0)+-1|0,c[B>>2]=C,(C|0)==0):0){qr(c[I>>2]|0,g);g=c[J>>2]|0}else g=i;i=g+-16|0;c[J>>2]=i;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[i>>2]=2;if((C&8|0)!=0?(B=g+4|0,C=(c[B>>2]|0)+-1|0,c[B>>2]=C,(C|0)==0):0){qr(c[I>>2]|0,g);i=c[J>>2]|0}g=c[G>>2]|0;if(i>>>0>=g>>>0)mr(b,4244);j=i+16|0;c[J>>2]=j;c[i>>2]=0;h[i+8>>3]=2.0;m=j-(c[H>>2]|0)|0;C=m>>4;o=C+-2|0;if(C>>>0<=1)Cr(b,300,-2);k=c[(c[D>>2]|0)+368>>2]|0;if(j>>>0>=g>>>0)mr(b,4153);c[J>>2]=i+32;c[j>>2]=8;c[i+24>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[H>>2]|0;n=(c[J>>2]|0)-k>>4;j=((m|0)<32?n:0)+o|0;if(j>>>0>=n>>>0)Cr(b,376,o);if((n|0)==1)Cr(b,376,-2);i=n+-2|0;g=c[F>>2]|0;if(!g)g=1;else g=c[g+52>>2]&1;es(b,k+(j<<4)|0,k+(n+-1<<4)|0,c[k+(i<<4)>>2]|0,c[k+(i<<4)+4>>2]|0,+h[k+(i<<4)+8>>3],g)|0;i=c[J>>2]|0;if((i+-32|0)>>>0<(c[H>>2]|0)>>>0)br(b,342583,50337495,342599);g=i+-16|0;c[J>>2]=g;C=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[g>>2]=2;do if(C&8){B=i+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0)break;qr(c[I>>2]|0,i);g=c[J>>2]|0}while(0);B=g+-16|0;c[J>>2]=B;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[B>>2]=2;do if(C&8|0){B=g+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0)break;qr(c[I>>2]|0,g)}while(0);do if(!(e&128)){if(!(c[f>>2]&33554432)){C=134;break}g=c[f+44>>2]|0;m=c[f+40>>2]|0;f=c[J>>2]|0;if(f>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=f+16;c[f>>2]=9;c[f+8>>2]=g;f=g+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[J>>2]|0;j=f-(c[H>>2]|0)|0;C=j>>4;k=C+-1|0;if(!C)Cr(b,300,-1);g=c[(c[D>>2]|0)+300>>2]|0;if(f>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=f+16;c[f>>2]=8;c[f+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[H>>2]|0;i=(c[J>>2]|0)-g>>4;f=((j|0)<16?i:0)+k|0;if(f>>>0>=i>>>0)Cr(b,376,k);j=Kr(b,g+(f<<4)|0,g+(i+-1<<4)|0)|0;g=c[H>>2]|0;i=(c[J>>2]|0)-g>>4;f=i+-2|0;if(i>>>0<=1)Cr(b,376,-2);A=g+(f<<4)|0;B=g+(i+-1<<4)|0;C=c[A>>2]|0;f=c[g+(f<<4)+8>>2]|0;t6(A|0,A+16|0,B-A|0)|0;c[B>>2]=2;c[J>>2]=(c[J>>2]|0)+-16;do if(C&8|0){B=f+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0)break;qr(c[I>>2]|0,f)}while(0);if(!j){f=m;g=c[J>>2]|0;if(g>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=g+16;c[g>>2]=9;c[g+8>>2]=m;g=m+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[J>>2]|0;j=g-(c[H>>2]|0)|0;C=j>>4;k=C+-4|0;if(C>>>0<=3)Cr(b,300,-4);i=c[(c[D>>2]|0)+364>>2]|0;if(g>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=g+16;c[g>>2]=8;c[g+8>>2]=i;m=i+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[H>>2]|0;n=(c[J>>2]|0)-m>>4;j=((j|0)<64?n:0)+k|0;if(j>>>0>=n>>>0)Cr(b,376,k);if((n|0)==1)Cr(b,376,-2);i=n+-2|0;g=c[F>>2]|0;if(!g)g=1;else g=c[g+52>>2]&1;es(b,m+(j<<4)|0,m+(n+-1<<4)|0,c[m+(i<<4)>>2]|0,c[m+(i<<4)+4>>2]|0,+h[m+(i<<4)+8>>3],g)|0;g=c[J>>2]|0;if((g+-32|0)>>>0<(c[H>>2]|0)>>>0)br(b,342583,50337495,342599);i=g+-16|0;c[J>>2]=i;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[i>>2]=2;do if(!(C&8))g=i;else{B=g+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0){g=i;break}qr(c[I>>2]|0,g);g=c[J>>2]|0}while(0);i=g+-16|0;c[J>>2]=i;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[i>>2]=2;do if(C&8){B=g+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0)break;qr(c[I>>2]|0,g);i=c[J>>2]|0}while(0);if((i+-32|0)>>>0<(c[H>>2]|0)>>>0)br(b,342583,50337495,342599);g=i+-16|0;c[J>>2]=g;C=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[g>>2]=2;do if(C&8){B=i+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0)break;qr(c[I>>2]|0,i);g=c[J>>2]|0}while(0);B=g+-16|0;c[J>>2]=B;C=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[B>>2]=2;if(!(C&8)){C=132;break}B=g+4|0;C=(c[B>>2]|0)+-1|0;c[B>>2]=C;if(C|0){C=132;break}qr(c[I>>2]|0,g);C=132;break}f=c[J>>2]|0;g=c[H>>2]|0;i=f-g>>4;if(i>>>0<=1)Cr(b,376,-2);j=g+(i+-2<<4)|0;g=g+(i+-1<<4)|0;i=g-j|0;if(i){c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[p+8>>2]=c[g+8>>2];c[p+12>>2]=c[g+12>>2];t6(j+16|0,j|0,i|0)|0;c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];f=c[J>>2]|0}if(f>>>0>=(c[G>>2]|0)>>>0)mr(b,4153);c[J>>2]=f+16;c[f>>2]=9;c[f+8>>2]=m;f=m+4|0;c[f>>2]=(c[f>>2]|0)+1;f=(c[J>>2]|0)-(c[H>>2]|0)|0;if((f|0)<48)nr(b,342568,55);Lr(b,(f>>>4)+-3|0,0)|0;E=c[H>>2]|0;f=(c[J>>2]|0)-E>>4;f=f|0?E+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(b,2130,-1,342926);if(!(c[f+8>>2]|0))ar(b,2130,-1,342926);dt(b,m,e);m=Ur(b,-1)|0;a:do if(m|0){k=0;while(1){et(b,-1,k)|0;f=c[J>>2]|0;if(f>>>0>=(c[G>>2]|0)>>>0){C=105;break}i=f+16|0;c[J>>2]=i;c[f>>2]=4;c[f+8>>2]=1;g=c[H>>2]|0;i=i-g>>4;if(i>>>0<=4){C=107;break}j=i+-1|0;f=c[F>>2]|0;if(!f)f=1;else f=c[f+52>>2]&1;es(b,g+(i+-5<<4)|0,g+(i+-2<<4)|0,c[g+(j<<4)>>2]|0,c[g+(j<<4)+4>>2]|0,+h[g+(j<<4)+8>>3],f)|0;g=c[J>>2]|0;if((g+-32|0)>>>0<(c[H>>2]|0)>>>0){C=111;break}f=g+-16|0;c[J>>2]=f;E=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[f>>2]=2;do if(E&8){D=g+4|0;E=(c[D>>2]|0)+-1|0;c[D>>2]=E;if(E|0)break;qr(c[I>>2]|0,g);f=c[J>>2]|0}while(0);D=f+-16|0;c[J>>2]=D;E=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[D>>2]=2;do if(E&8|0){D=f+4|0;E=(c[D>>2]|0)+-1|0;c[D>>2]=E;if(E|0)break;qr(c[I>>2]|0,f)}while(0);k=k+1|0;if(k>>>0>=m>>>0)break a}if((C|0)==105)mr(b,4195);else if((C|0)==107)Cr(b,376,-5);else if((C|0)==111)br(b,342583,50337495,342599)}while(0);g=c[J>>2]|0;if((g+-32|0)>>>0<(c[H>>2]|0)>>>0)br(b,342583,50337495,342599);f=g+-16|0;c[J>>2]=f;G=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[f>>2]=2;do if(G&8){F=g+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[I>>2]|0,g);f=c[J>>2]|0}while(0);g=f+-16|0;c[J>>2]=g;G=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[g>>2]=2;do if(G&8){F=f+4|0;G=(c[F>>2]|0)+-1|0;c[F>>2]=G;if(G|0)break;qr(c[I>>2]|0,f);g=c[J>>2]|0}while(0);i=c[H>>2]|0;g=g-i>>4;f=g+-2|0;if(g>>>0<=1)Cr(b,376,-2);F=i+(f<<4)|0;G=i+(g+-1<<4)|0;H=c[F>>2]|0;f=c[i+(f<<4)+8>>2]|0;t6(F|0,F+16|0,G-F|0)|0;c[G>>2]=2;c[J>>2]=(c[J>>2]|0)+-16;if(!(H&8)){gt(b,K);l=L;return}H=f+4|0;J=(c[H>>2]|0)+-1|0;c[H>>2]=J;if(J|0){gt(b,K);l=L;return}qr(c[I>>2]|0,f);gt(b,K);l=L;return}else C=132;while(0);do if((C|0)==132){if(f|0){C=134;break}E=e&64}while(0);b:do if((C|0)==134){s=(e&1|0)==0;t=K+28|0;u=e&64;v=(u|0)==0;w=K+16|0;x=K+24|0;y=(e&16|0)==0;z=(e&8|0)==0;A=(e&32|0)==0;B=(e&2|0)==0;r=(e&4|0)==0;g=2;c:while(1){q=c[f>>2]|0;i=(q&8388608|0)!=0;do if(!((q&8192|0)==0&(i^1))){if(i){p=c[(c[I>>2]|0)+648>>2]|0;i=c[f+36>>2]|0;j=c[f+24>>2]|0;e=c[f+16>>2]|0;d:do if(i){o=e+(j*21|0)+(0-j&7)+(c[f+32>>2]<<4)|0;n=i+-1|0;m=e+(j<<4)|0;i=0;k=c[p+12>>2]&n;e:while(1){j=c[o+(k<<2)>>2]|0;switch(j|0){case -1:{j=19;break}case -2:{C=144;break}default:if((c[m+(j<<2)>>2]|0)==(p|0)){i=j;j=1}else C=144}if((C|0)==144){C=0;j=0;k=k+1&n}switch(j&31){case 19:{i=0;break d}case 0:break;default:break e}}if(!j)i=0;else C=147}else{j=e+(j<<4)|0;k=c[f+28>>2]|0;if(!k){i=0;break}else i=0;while(1){if((c[j+(i<<2)>>2]|0)==(p|0)){C=147;break d}i=i+1|0;if(i>>>0>=k>>>0){i=0;break}}}while(0);if((C|0)==147){C=0;i=c[e+(i<<4)+8>>2]|0}o=gs(i)|0}else{if(!(a[f+58>>0]|0))break;o=(c[f+52>>2]|0)>>>(d[f+56>>0]|0)}if(o|0){n=0;do{i=Fr(c[I>>2]|0,n)|0;if(!i){C=153;break c}j=c[J>>2]|0;if(j>>>0>=(c[G>>2]|0)>>>0){C=155;break c}c[J>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[J>>2]|0;if(i>>>0>=(c[G>>2]|0)>>>0){C=157;break c}k=i+16|0;c[J>>2]=k;c[i>>2]=4;c[i+8>>2]=1;j=c[H>>2]|0;k=k-j>>4;if(k>>>0<=2){C=159;break c}m=k+-1|0;i=c[F>>2]|0;if(!i)i=1;else i=c[i+52>>2]&1;es(b,j+(k+-3<<4)|0,j+(k+-2<<4)|0,c[j+(m<<4)>>2]|0,c[j+(m<<4)+4>>2]|0,+h[j+(m<<4)+8>>3],i)|0;j=c[J>>2]|0;if((j+-32|0)>>>0<(c[H>>2]|0)>>>0){C=163;break c}i=j+-16|0;c[J>>2]=i;q=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;do if(q&8){e=j+4|0;q=(c[e>>2]|0)+-1|0;c[e>>2]=q;if(q|0)break;qr(c[I>>2]|0,j);i=c[J>>2]|0}while(0);e=i+-16|0;c[J>>2]=e;q=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[e>>2]=2;do if(q&8|0){e=i+4|0;q=(c[e>>2]|0)+-1|0;c[e>>2]=q;if(q|0)break;qr(c[I>>2]|0,i)}while(0);n=n+1|0}while(n>>>0<o>>>0)}if(s)break;ft(b,c[(c[D>>2]|0)+328>>2]|0)}while(0);o=f+32|0;if(c[o>>2]|0){p=f+16|0;e=f+24|0;n=0;do{q=c[e>>2]|0;do if((c[(c[p>>2]|0)+(q*21|0)+(0-q&7)+(n<<4)>>2]|0)!=7){i=Fr(c[I>>2]|0,n)|0;if(!i){C=177;break c}j=c[J>>2]|0;if(j>>>0>=(c[G>>2]|0)>>>0){C=179;break c}c[J>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[J>>2]|0;if(i>>>0>=(c[G>>2]|0)>>>0){C=181;break c}k=i+16|0;c[J>>2]=k;c[i>>2]=4;c[i+8>>2]=1;j=c[H>>2]|0;k=k-j>>4;if(k>>>0<=2){C=183;break c}m=k+-1|0;i=c[F>>2]|0;if(!i)i=1;else i=c[i+52>>2]&1;es(b,j+(k+-3<<4)|0,j+(k+-2<<4)|0,c[j+(m<<4)>>2]|0,c[j+(m<<4)+4>>2]|0,+h[j+(m<<4)+8>>3],i)|0;j=c[J>>2]|0;if((j+-32|0)>>>0<(c[H>>2]|0)>>>0){C=187;break c}i=j+-16|0;c[J>>2]=i;q=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;do if(q&8){m=j+4|0;q=(c[m>>2]|0)+-1|0;c[m>>2]=q;if(q|0)break;qr(c[I>>2]|0,j);i=c[J>>2]|0}while(0);m=i+-16|0;c[J>>2]=m;q=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[m>>2]=2;if(!(q&8))break;m=i+4|0;q=(c[m>>2]|0)+-1|0;c[m>>2]=q;if(q|0)break;qr(c[I>>2]|0,i)}while(0);n=n+1|0}while(n>>>0<(c[o>>2]|0)>>>0)}if(!(s|(c[f>>2]&4194304|0)==0))ft(b,c[(c[D>>2]|0)+328>>2]|0);p=f+28|0;do if(!(c[p>>2]|0))g=c[t>>2]|0;else{e=f+16|0;q=f+24|0;i=0;o=0;do{j=c[e>>2]|0;k=c[q>>2]|0;m=c[j+(k<<4)+(o<<2)>>2]|0;do if(m){if(s?(a[j+(k*20|0)+o>>0]&2)==0:0)break;j=c[m>>2]|0;if(!(j&512)){if(!z)break}else if(r|B&(j&1024|0)!=0)break;else i=1;k=(j&256|0)!=0;n=k?1:i;if(!(k|A))break;i=c[J>>2]|0;if(i>>>0>=(c[G>>2]|0)>>>0){C=208;break c}c[J>>2]=i+16;c[i>>2]=8;c[i+8>>2]=m;i=m+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[J>>2]|0;if(i>>>0>=(c[G>>2]|0)>>>0){C=210;break c}k=i+16|0;c[J>>2]=k;c[i>>2]=4;c[i+8>>2]=1;j=c[H>>2]|0;k=k-j>>4;if(k>>>0<=2){C=212;break c}m=k+-1|0;i=c[F>>2]|0;if(!i)i=1;else i=c[i+52>>2]&1;es(b,j+(k+-3<<4)|0,j+(k+-2<<4)|0,c[j+(m<<4)>>2]|0,c[j+(m<<4)+4>>2]|0,+h[j+(m<<4)+8>>3],i)|0;j=c[J>>2]|0;if((j+-32|0)>>>0<(c[H>>2]|0)>>>0){C=216;break c}i=j+-16|0;c[J>>2]=i;m=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;do if(m&8){k=j+4|0;m=(c[k>>2]|0)+-1|0;c[k>>2]=m;if(m|0)break;qr(c[I>>2]|0,j);i=c[J>>2]|0}while(0);k=i+-16|0;c[J>>2]=k;m=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[k>>2]=2;if(!(m&8)){i=n;break}k=i+4|0;m=(c[k>>2]|0)+-1|0;c[k>>2]=m;if(m|0){i=n;break}qr(c[I>>2]|0,i);i=n}while(0);o=o+1|0}while(o>>>0<(c[p>>2]|0)>>>0);p=c[t>>2]|0;if(!(v&(i|0)!=0)){g=p;break}i=g+1|0;if((i|0)>=(p|0)){g=p;break}o=(c[w>>2]|0)+(c[x>>2]<<4)|0;do{n=c[o+(i<<2)>>2]|0;k=c[n+16>>2]|0;m=i;while(1){j=m+-1|0;if((m|0)<=(g|0))break;if((c[(c[o+(j<<2)>>2]|0)+16>>2]|0)>>>0>k>>>0)m=j;else break}j=o+(m<<2)|0;if((i|0)!=(m|0)){t6(j+4|0,j|0,i-m<<2|0)|0;c[j>>2]=n}i=i+1|0}while((i|0)!=(p|0));g=p}while(0);if(!y){E=u;break b}f=c[f+20>>2]|0;if(!f){E=u;break b}}switch(C|0){case 153:{er(b,342961,816);break}case 155:{mr(b,4153);break}case 157:{mr(b,4195);break}case 159:{Cr(b,376,-3);break}case 163:{br(b,342583,50337495,342599);break}case 177:{er(b,342961,816);break}case 179:{mr(b,4153);break}case 181:{mr(b,4195);break}case 183:{Cr(b,376,-3);break}case 187:{br(b,342583,50337495,342599);break}case 208:{mr(b,4153);break}case 210:{mr(b,4195);break}case 212:{Cr(b,376,-3);break}case 216:{br(b,342583,50337495,342599);break}}}while(0);g=c[H>>2]|0;i=(c[J>>2]|0)-g>>4;f=i+-2|0;if(i>>>0<=1)Cr(b,376,-2);F=g+(f<<4)|0;G=g+(i+-1<<4)|0;H=c[F>>2]|0;f=c[g+(f<<4)+8>>2]|0;t6(F|0,F+16|0,G-F|0)|0;c[G>>2]=2;c[J>>2]=(c[J>>2]|0)+-16;do if(H&8|0){H=f+4|0;J=(c[H>>2]|0)+-1|0;c[H>>2]=J;if(J|0)break;qr(c[I>>2]|0,f)}while(0);if(!E){gt(b,K);l=L;return}k=c[K+28>>2]|0;if((k|0)<=3){gt(b,K);l=L;return}m=(c[K+16>>2]|0)+(c[K+24>>2]<<4)|0;i=3;do{n=c[m+(i<<2)>>2]|0;g=c[n+16>>2]|0;j=i;while(1){f=j+-1|0;if((j|0)<=2)break;if((c[(c[m+(f<<2)>>2]|0)+16>>2]|0)>>>0>g>>>0)j=f;else break}f=m+(j<<2)|0;if((i|0)!=(j|0)){t6(f+4|0,f|0,i-j<<2|0)|0;c[f>>2]=n}i=i+1|0}while((i|0)!=(k|0));gt(b,K);l=L;return}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;x=A;y=Ur(a,-1)|0;g=Or(a,48)|0;z=a+44|0;e=c[z>>2]|0;c[g>>2]=272679041;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[a+132>>2]|0;c[g+20>>2]=e;if(e|0){w=e+4|0;c[w>>2]=(c[w>>2]|0)+1}w=a+68|0;q=c[w>>2]|0;c[q>>2]=9;c[q+8>>2]=g;q=g+4|0;c[q>>2]=(c[q>>2]|0)+1;q=a+64|0;c[w>>2]=(c[w>>2]|0)+16;if(!y){l=A;return}r=(d&1|0)==0;s=(d&8|0)==0;t=a+56|0;u=a+72|0;v=(d&4|0)==0;p=(d&2|0)==0;e=0;o=0;a:while(1){et(a,-2,o)|0;g=c[w>>2]|0;n=c[q>>2]|0;f=g-n>>4;f=f|0?n+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=8){n=9;break}f=c[f+8>>2]|0;if(!f){n=9;break}if(r){n=c[g+-8>>2]|0;if((zr(a,b,n,c[n+16>>2]|0,x,0)|0)!=0?(c[x>>2]&2|0)!=0:0)n=13;else n=35}else n=13;do if((n|0)==13){n=0;f=c[f>>2]|0;if(!(f&512)){if(!s){n=35;break}}else{if(v){n=35;break}if(p&(f&1024|0)!=0){n=35;break}}m=e+1|0;g=c[w>>2]|0;f=c[q>>2]|0;d=g-f|0;j=d>>4;i=j+-2|0;k=f;if(j>>>0<=1){n=18;break a}if(g>>>0>=(c[t>>2]|0)>>>0){n=20;break a}j=g+16|0;c[w>>2]=j;c[g>>2]=0;h[g+8>>3]=+(e>>>0);j=j-f>>4;g=((d|0)<32?j:0)+i|0;if(g>>>0>=j>>>0){n=22;break a}if((j|0)==1){n=24;break a}f=j+-2|0;e=c[u>>2]|0;if(!e)e=1;else e=c[e+52>>2]&1;es(a,k+(g<<4)|0,k+(j+-1<<4)|0,c[k+(f<<4)>>2]|0,c[k+(f<<4)+4>>2]|0,+h[k+(f<<4)+8>>3],e)|0;f=c[w>>2]|0;if((f+-32|0)>>>0<(c[q>>2]|0)>>>0){n=28;break a}e=f+-16|0;c[w>>2]=e;k=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[e>>2]=2;if((k&8|0)!=0?(j=f+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[z>>2]|0,f);e=c[w>>2]|0}j=e+-16|0;c[w>>2]=j;k=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[j>>2]=2;if((k&8|0)!=0?(j=e+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0){qr(c[z>>2]|0,e);e=m}else e=m}while(0);if((n|0)==35){f=c[w>>2]|0;if((f|0)==(c[q>>2]|0)){n=36;break}m=f+-16|0;c[w>>2]=m;n=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[m>>2]=2;if((n&8|0)!=0?(m=f+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0)qr(c[z>>2]|0,f)}o=o+1|0;if(o>>>0>=y>>>0){n=41;break}}if((n|0)==9)_r(a,343428,30);else if((n|0)==18)Cr(a,300,-2);else if((n|0)==20)mr(a,4274);else if((n|0)==22)Cr(a,376,i);else if((n|0)==24)Cr(a,376,-2);else if((n|0)==28)br(a,342583,50337495,342599);else if((n|0)==36)br(a,342583,50337407,342599);else if((n|0)==41){l=A;return}}function et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;k=a+68|0;e=c[k>>2]|0;j=a+64|0;f=c[j>>2]|0;l=e-f>>4;g=((b|0)<0?l:0)+b|0;i=f;if(g>>>0>=l>>>0)Cr(a,300,b);if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);b=e+16|0;c[k>>2]=b;c[e>>2]=0;h[e+8>>3]=+(d>>>0);e=b-f>>4;b=((g|0)<0?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);f=Kr(a,i+(b<<4)|0,i+(e+-1<<4)|0)|0;e=c[j>>2]|0;d=(c[k>>2]|0)-e>>4;b=d+-2|0;if(d>>>0<=1)Cr(a,376,-2);i=e+(b<<4)|0;j=e+(d+-1<<4)|0;l=c[i>>2]|0;b=c[e+(b<<4)+8>>2]|0;t6(i|0,i+16|0,j-i|0)|0;c[j>>2]=2;c[k>>2]=(c[k>>2]|0)+-16;if(!(l&8))return f|0;k=b+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0)return f|0;qr(c[a+44>>2]|0,b);return f|0}function ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=a+68|0;d=c[i>>2]|0;e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4153);c[i>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[i>>2]|0;if(b>>>0>=(c[e>>2]|0)>>>0)mr(a,4195);e=b+16|0;c[i>>2]=e;c[b>>2]=4;c[b+8>>2]=1;g=a+64|0;d=c[g>>2]|0;e=e-d>>4;if(e>>>0<=2)Cr(a,376,-3);f=e+-1|0;b=c[a+72>>2]|0;if(!b)b=1;else b=c[b+52>>2]&1;es(a,d+(e+-3<<4)|0,d+(e+-2<<4)|0,c[d+(f<<4)>>2]|0,c[d+(f<<4)+4>>2]|0,+h[d+(f<<4)+8>>3],b)|0;d=c[i>>2]|0;if((d+-32|0)>>>0<(c[g>>2]|0)>>>0)br(a,342583,50337495,342599);b=d+-16|0;c[i>>2]=b;g=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if((g&8|0)!=0?(f=d+4|0,g=(c[f>>2]|0)+-1|0,c[f>>2]=g,(g|0)==0):0){qr(c[a+44>>2]|0,d);b=c[i>>2]|0}g=b+-16|0;c[i>>2]=g;i=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[g>>2]=2;if(!(i&8))return;g=b+4|0;i=(c[g>>2]|0)+-1|0;c[g>>2]=i;if(i|0)return;qr(c[a+44>>2]|0,b);return}function gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=c[b+28>>2]|0;if(!h){i=0;d=c[b+24>>2]|0}else{d=c[b+24>>2]|0;e=0;f=0;g=(c[b+16>>2]|0)+(d<<4)|0;while(1){e=((c[g>>2]|0)!=0&1)+e|0;f=f+1|0;if((f|0)==(h|0)){i=e;break}else g=g+4|0}}h=c[b+32>>2]|0;if(!h){d=0;e=0}else{d=(c[b+16>>2]|0)+(d*21|0)+(0-d&7)|0;f=-1;e=0;g=0;while(1){j=(c[d>>2]|0)==7;e=((j^1)&1)+e|0;f=j?f:g;g=g+1|0;if((g|0)==(h|0))break;else d=d+16|0}d=f+1|0}f=d>>>3<<1>>>0>e>>>0;h=f?0:d;g=(f?e:0)+i|0;f=f&1;if(g>>>0<=7){j=0;Br(a,b,g,h,j,f);return}if(g>>>0>63){d=2;e=g;do{j=e;e=e>>>6;d=d<<6}while(j>>>0>4095);if(!e){j=d;Br(a,b,g,h,j,f);return}}else{d=2;e=g}do{e=e>>>1;d=d<<1}while((e|0)!=0);Br(a,b,g,h,d,f);return}function ht(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+16|0;i=h;c[i>>2]=g;it(a,b,d,e,f,i);l=h;return}function it(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=b>>>24&1;m=b&-16777217;switch(m|0){case 2:{b=22;break}case 3:{b=24;break}case 4:{b=26;break}case 5:{b=28;break}case 6:{b=30;break}case 7:{b=32;break}default:b=20}j=c[a+100+(b<<2)>>2]|0;n=a+68|0;k=a+56|0;if((c[n>>2]|0)>>>0>=(c[k>>2]|0)>>>0)mr(a,4604);l=Or(a,40)|0;b=c[a+44>>2]|0;c[l>>2]=939540609;b=b+24|0;i=c[b>>2]|0;if(i|0)c[i+12>>2]=l;c[l+12>>2]=0;c[l+8>>2]=i;c[b>>2]=l;b=c[n>>2]|0;c[b>>2]=9;c[b+8>>2]=l;b=l+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[n>>2]|0;i=b+16|0;c[n>>2]=i;c[l+20>>2]=j;if(j|0){l=j+4|0;c[l>>2]=(c[l>>2]|0)+1}do if(!f){if(i>>>0>=(c[k>>2]|0)>>>0)mr(a,4244);f=b+32|0;c[n>>2]=f;c[i>>2]=0;h[b+24>>3]=+(m|0);i=a+64|0;g=c[i>>2]|0;b=f-g>>4;b=b>>>0>1?g+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[a+304>>2]|0)+208>>2]|0,5);o=i;p=n;break}}else{vs(a,f,g);i=a+64|0;g=c[i>>2]|0;b=(c[n>>2]|0)-g>>4;b=b>>>0>1?g+(b+-2<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)ar(a,2130,-2,342926);b=c[b+8>>2]|0;if(!b)ar(a,2130,-2,342926);else{yr(a,b,c[(c[a+304>>2]|0)+208>>2]|0,5);o=i;p=n;break}}while(0);o=c[o>>2]|0;b=(c[p>>2]|0)-o>>4;b=b|0?o+(b+-1<<4)|0:0;b=(b|0)==0?368:b;if((c[b>>2]|0)!=9)return;k=c[b+8>>2]|0;if(!k)return;j=c[a+180>>2]|0;if(!j)return;else{b=1e4;i=k}while(1){if((i|0)==(j|0)){b=31;break}if(!b){b=34;break}i=c[i+20>>2]|0;if(!i){b=34;break}else b=b+-1|0}if((b|0)==31){if(c[k>>2]&128|0)$r(a,a,d,e,k,q);as(a,104);return}else if((b|0)==34)return}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0;g=a+68|0;d=c[g>>2]|0;c[g>>2]=d+16;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(c[d>>2]&8|0){e=(c[d+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}d=a+64|0;b=c[d>>2]|0;i=(c[g>>2]|0)-b>>4;e=i+-1|0;if(!i)Cr(a,300,-1);f=+Ar(a,b+(e<<4)|0);b=c[d>>2]|0;d=b+(e<<4)|0;i=c[d>>2]|0;e=b+(e<<4)+8|0;b=c[e>>2]|0;c[d>>2]=0;h[e>>3]=f;if(!(i&8)){i=c[g>>2]|0;i=i+-16|0;c[g>>2]=i;c[i>>2]=2;return +f}e=b+4|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;if(i|0){i=c[g>>2]|0;i=i+-16|0;c[g>>2]=i;c[i>>2]=2;return +f}qr(c[a+44>>2]|0,b);i=c[g>>2]|0;i=i+-16|0;c[g>>2]=i;c[i>>2]=2;return +f}function kt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+2160|0;w=y;x=b+68|0;k=c[x>>2]|0;m=c[b+64>>2]|0;i=k-m>>4;i=i|0?m+(i+-1<<4)|0:0;i=(i|0)==0?368:i;if(c[i>>2]|0)ar(b,1590,-1,355285);o=+h[i+8>>3];if((k|0)==(m|0))br(b,342583,50337407,342599);t=k+-16|0;c[x>>2]=t;v=c[k+-16>>2]|0;i=c[k+-8>>2]|0;c[t>>2]=2;if(v&8|0?(t=i+4|0,v=(c[t>>2]|0)+-1|0,c[t>>2]=v,(v|0)==0):0)qr(c[b+44>>2]|0,i);n=K4(o)|0;h[j>>3]=o;s=c[j+4>>2]|0;k=(s|0)<0;s=m6(c[j>>2]|0,s|0,63)|0;o=k?-o:o;switch(n|0){case 0:{i=c[(c[b+304>>2]|0)+236>>2]|0;k=c[x>>2]|0;if(k>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[x>>2]=k+16;c[k>>2]=8;c[k+8>>2]=i;x=i+4|0;b=c[x>>2]|0;b=b+1|0;c[x>>2]=b;l=y;return}case 1:{i=c[b+304>>2]|0;if(!s){i=c[i+240>>2]|0;k=c[x>>2]|0;if(k>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[x>>2]=k+16;c[k>>2]=8;c[k+8>>2]=i;x=i+4|0;b=c[x>>2]|0;b=b+1|0;c[x>>2]=b;l=y;return}else{i=c[i+244>>2]|0;k=c[x>>2]|0;if(k>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[x>>2]=k+16;c[k>>2]=8;c[k+8>>2]=i;x=i+4|0;b=c[x>>2]|0;b=b+1|0;c[x>>2]=b;l=y;return}}default:{i=~~o>>>0;if((g|0)==0&+(i>>>0)==o){if(k&(i|0)!=0){a[w>>0]=45;m=w+1|0}else m=w;n=m+32|0;k=n;do{f=i;i=(i>>>0)/(e>>>0)|0;k=k+-1|0;a[k>>0]=a[342756+(f-(O(i,e)|0))>>0]|0}while(f>>>0>=e>>>0);i=n-k|0;t6(m|0,k|0,i|0)|0;i=m+i-w|0;if((c[x>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);if((i|0)<0)br(b,342583,50335961,342945);b=fs(b,w,i)|0;w=c[x>>2]|0;c[x>>2]=w+16;c[w>>2]=8;c[w+8>>2]=b;x=b+4|0;b=c[x>>2]|0;b=b+1|0;c[x>>2]=b;l=y;return}c[w+1064>>2]=0;c[w+1084>>2]=2;r=w+1088|0;c[r>>2]=e;t=w+1076|0;c[t>>2]=0;p=(g&1|0)!=0;v=w+1068|0;do if(p){c[v>>2]=1;if(!(g&8)){i=f+1|0;k=1;m=0;break}else{c[t>>2]=1;i=0-f|0;k=1;m=1;break}}else{c[v>>2]=0;i=0;k=0;m=0}while(0);c[w+1072>>2]=i;if((n|0)==2){do if(k)if(!m){i=f+1|0;break}else{i=f+2|0;break}else i=1;while(0);u6(w+1108|0,0,i|0)|0;c[w+2148>>2]=i;c[w+1092>>2]=1;s=0}else{c[w>>2]=2;h[j>>3]=o;q=c[j>>2]|0;m=c[j+4>>2]|0;c[w+4>>2]=q;i=m&1048575;k=w+8|0;c[k>>2]=i;m=m6(q|0,m|0,52)|0;m=m&2047;if(!m){k=2;while(1){i=k+-1|0;if((k|0)<=0)break;if(!(c[w+4+(i<<2)>>2]|0))k=i;else break}c[w>>2]=k;i=-1074}else{c[k>>2]=i|1048576;i=m+-1075|0}c[w+1080>>2]=i;lt(w);mt(w);nt(w)}do if(p){i=w+1092|0;k=((g&8|0)==0?0:c[i>>2]|0)+f|0;q=w+2148|0;if(!((k|0)<0?1:(c[q>>2]|0)<=(k|0))?(u=w+1108+k|0,(d[u>>0]|0)>>>0>=((((c[r>>2]|0)+1|0)/2|0)&255)>>>0):0){p=w+1108|0;k=u;while(1){a[k>>0]=0;if((k|0)==(p|0)){n=52;break}k=k+-1|0;m=(d[k>>0]|0)+1|0;if((m|0)<(c[r>>2]|0)){n=54;break}}if((n|0)==52){t6(w+1109|0,p|0,c[q>>2]|0)|0;a[p>>0]=1;c[i>>2]=(c[i>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1;break}else if((n|0)==54){a[k>>0]=m;break}}}else i=w+1092|0;while(0);i=c[i>>2]|0;k=(c[t>>2]|0)==0;do if(k){if(((g&2|0)==0?!((g&4|0)!=0&(i|0)>(f|0)):0)?!((e|0)==10&(i+5|0)>>>0>26):0){q=i;r=65536;break}q=1;r=i+-1|0}else{q=i;r=65536}while(0);if(!s)i=w;else{a[w>>0]=45;i=w+1|0}m=(q|0)>1?q:1;do if(c[v>>2]|0)if(k){k=q-f|0;break}else{k=0-f|0;break}else k=q-(c[w+2148>>2]|0)|0;while(0);n=(k|0)<0?k:0;if((m|0)>(n|0)){p=w+2148|0;do{if(!m){a[i>>0]=46;i=i+1|0}if((q|0)>=(m|0)?(m|0)>(q-(c[p>>2]|0)|0):0)k=a[342756+(d[q-m+(w+1108)>>0]|0)>>0]|0;else k=48;a[i>>0]=k;i=i+1|0;m=m+-1|0}while((m|0)>(n|0))}if((r|0)!=65536){a[i>>0]=101;k=(r|0)>-1;a[i+1>>0]=k?43:45;n=i+34|0;k=k?r:0-r|0;m=n;do{f=k;k=(k>>>0)/(e>>>0)|0;m=m+-1|0;a[m>>0]=a[342756+(f-(O(k,e)|0))>>0]|0}while(f>>>0>=e>>>0);e=i+2|0;i=n-m|0;t6(e|0,m|0,i|0)|0;i=e+i|0}i=i-w|0;if((c[x>>2]|0)>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);if((i|0)<0)br(b,342583,50335961,342945);b=fs(b,w,i)|0;w=c[x>>2]|0;c[x>>2]=w+16;c[w>>2]=8;c[w+8>>2]=b;x=b+4|0;b=c[x>>2]|0;b=b+1|0;c[x>>2]=b;l=y;return}}}function lt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+160|0;m=p;f=c[a>>2]|0;if(!f)b=1;else b=(c[a+4>>2]&1|0)==0;o=b&1;c[a+1096>>2]=o;c[a+1100>>2]=o;if((c[a+1064>>2]|0)==0&(f|0)==2?(c[a+4>>2]|0)==0:0)g=(c[a+8>>2]|0)==1048576;else g=0;o=a+1104|0;c[o>>2]=0;j=a+1080|0;b=c[j>>2]|0;if((b|0)<=-1){k=a+152|0;if(!(g&(b|0)>-1022)){d=f+1|0;if(!d){c[k>>2]=0;f=b}else{u6(a+156|0,0,d<<2|0)|0;c[k>>2]=d;if((f|0)>=1){b=0;do{n=n6(c[a+4+(b<<2)>>2]|0,0,1)|0;o=a+156+(b<<2)|0;n=b6(c[o>>2]|0,0,n|0,z|0)|0;d=z;c[o>>2]=n;b=b+1|0;if(!((d|0)==0&0==0))c[a+156+(b<<2)>>2]=d}while((b|0)<(c[a>>2]|0));d=c[k>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+156+(b<<2)>>2]|0))d=b;else break}c[k>>2]=d;f=c[j>>2]|0}e=a+760|0;d=c[a+1084>>2]|0;b=0-f|0;h=a+304|0;g=a+912|0;a:do if((d|0)==2){o=(f|0)/-32|0;n=o+1|0;u6(a+764|0,0,n<<2|0)|0;c[e>>2]=n;c[a+764+(o<<2)>>2]=1<<(b&31)}else{c[e>>2]=1;c[a+764>>2]=1;if(!d)c[h>>2]=0;else{c[h>>2]=1;c[a+308>>2]=d}while(1){if(b&1|0)pt(e,h,g);b=b>>1;if(!b)break a;pt(h,h,g)}}while(0);d=(c[e>>2]|0)+1|0;if(!d)c[h>>2]=0;else{u6(a+308|0,0,d<<2|0)|0;c[h>>2]=d;if((c[e>>2]|0)>=1){b=0;do{n=n6(c[a+764+(b<<2)>>2]|0,0,1)|0;o=a+308+(b<<2)|0;n=b6(c[o>>2]|0,0,n|0,z|0)|0;d=z;c[o>>2]=n;b=b+1|0;if(!((d|0)==0&0==0))c[a+308+(b<<2)>>2]=d}while((b|0)<(c[e>>2]|0));d=c[h>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+308+(b<<2)>>2]|0))d=b;else break}c[h>>2]=d}c[a+456>>2]=1;c[a+460>>2]=1;c[a+608>>2]=1;c[a+612>>2]=1;l=p;return}i=a+1084|0;e=c[i>>2]|0;if(!e){c[m>>2]=0;h=0}else{c[m>>2]=1;c[m+4>>2]=e<<1;h=1}d=f+h|0;if(!d){c[k>>2]=0;d=e}else{u6(a+156|0,0,d<<2|0)|0;c[k>>2]=d;if(!((h|0)==0|(f|0)<1)){b=0;do{e=a+4+(b<<2)|0;d=0;f=0;g=0;while(1){r=h6(c[m+4+(d<<2)>>2]|0,0,c[e>>2]|0,0)|0;q=z;n=a+156+(d+b<<2)|0;g=b6(c[n>>2]|0,0,f|0,g|0)|0;g=b6(g|0,z|0,r|0,q|0)|0;f=z;c[n>>2]=g;d=d+1|0;if((d|0)==(h|0))break;else g=0}if(!((f|0)==0&0==0))c[a+156+(b+h<<2)>>2]=f;b=b+1|0}while((b|0)<(c[a>>2]|0));d=c[k>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+156+(b<<2)>>2]|0))d=b;else break}c[k>>2]=d;b=c[j>>2]|0;d=c[i>>2]|0}e=a+760|0;b=1-b|0;g=a+304|0;f=a+912|0;b:do if((d|0)==2){r=(b|0)/32|0;q=r+1|0;u6(a+764|0,0,q<<2|0)|0;c[e>>2]=q;c[a+764+(r<<2)>>2]=1<<(b&31)}else{c[e>>2]=1;c[a+764>>2]=1;if(!d)c[g>>2]=0;else{c[g>>2]=1;c[a+308>>2]=d}while(1){if(b&1|0)pt(e,g,f);b=b>>1;if(!b)break b;pt(g,g,f)}}while(0);d=(c[e>>2]|0)+1|0;if(!d)c[g>>2]=0;else{u6(a+308|0,0,d<<2|0)|0;c[g>>2]=d;if((c[e>>2]|0)>=1){b=0;do{q=n6(c[a+764+(b<<2)>>2]|0,0,1)|0;r=a+308+(b<<2)|0;q=b6(c[r>>2]|0,0,q|0,z|0)|0;d=z;c[r>>2]=q;b=b+1|0;if(!((d|0)==0&0==0))c[a+308+(b<<2)>>2]=d}while((b|0)<(c[e>>2]|0));d=c[g>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+308+(b<<2)>>2]|0))d=b;else break}c[g>>2]=d}c[a+456>>2]=1;c[a+460>>2]=2;c[a+608>>2]=1;c[a+612>>2]=1;c[o>>2]=1;l=p;return}j=a+608|0;n=a+1084|0;d=c[n>>2]|0;i=a+760|0;e=a+912|0;c:do if((d|0)==2){r=b>>>5;q=r+1|0;u6(a+612|0,0,q<<2|0)|0;c[j>>2]=q;c[a+612+(r<<2)>>2]=1<<(b&31)}else{c[j>>2]=1;c[a+612>>2]=1;if(!d)c[i>>2]=0;else{c[i>>2]=1;c[a+764>>2]=d}while(1){if(b&1|0)pt(j,i,e);b=b>>1;if(!b)break c;pt(i,i,e)}}while(0);k=a+456|0;if(!g){e=c[j>>2]|0;c[k>>2]=e;if(e|0)s6(a+460|0,a+612|0,e<<2|0)|0;b=c[a>>2]|0;d=b+1|0;if(!d){c[i>>2]=0;d=0}else{u6(a+764|0,0,d<<2|0)|0;c[i>>2]=d;if((b|0)>=1){b=0;do{q=n6(c[a+4+(b<<2)>>2]|0,0,1)|0;r=a+764+(b<<2)|0;q=b6(c[r>>2]|0,0,q|0,z|0)|0;d=z;c[r>>2]=q;b=b+1|0;if(!((d|0)==0&0==0))c[a+764+(b<<2)>>2]=d}while((b|0)<(c[a>>2]|0));d=c[i>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+764+(b<<2)>>2]|0))d=b;else break}c[i>>2]=d;e=c[k>>2]|0}j=a+152|0;d=e+d|0;if(!d)c[j>>2]=0;else{u6(a+156|0,0,d<<2|0)|0;c[j>>2]=d;h=c[k>>2]|0;if((c[i>>2]|0)>0&(h|0)>0){b=0;do{e=a+764+(b<<2)|0;d=0;f=0;g=0;while(1){o=h6(c[a+460+(d<<2)>>2]|0,0,c[e>>2]|0,0)|0;q=z;r=a+156+(d+b<<2)|0;n=b6(c[r>>2]|0,0,f|0,g|0)|0;q=b6(n|0,z|0,o|0,q|0)|0;f=z;c[r>>2]=q;d=d+1|0;if((d|0)==(h|0))break;else g=0}if(!((f|0)==0&0==0))c[a+156+(b+h<<2)>>2]=f;b=b+1|0}while((b|0)<(c[i>>2]|0));d=c[j>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+156+(b<<2)>>2]|0))d=b;else break}c[j>>2]=d}c[a+304>>2]=1;c[a+308>>2]=2;l=p;return}b=c[n>>2]|0;if(!b){c[m>>2]=0;h=0}else{c[m>>2]=1;c[m+4>>2]=b;h=1}d=(c[j>>2]|0)+h|0;if(!d){c[k>>2]=0;d=0}else{u6(a+460|0,0,d<<2|0)|0;c[k>>2]=d;if(!((h|0)==0|(c[j>>2]|0)<1)){b=0;do{e=a+612+(b<<2)|0;d=0;f=0;g=0;while(1){s=h6(c[m+4+(d<<2)>>2]|0,0,c[e>>2]|0,0)|0;q=z;r=a+460+(d+b<<2)|0;g=b6(c[r>>2]|0,0,f|0,g|0)|0;q=b6(g|0,z|0,s|0,q|0)|0;f=z;c[r>>2]=q;d=d+1|0;if((d|0)==(h|0))break;else g=0}if(!((f|0)==0&0==0))c[a+460+(b+h<<2)>>2]=f;b=b+1|0}while((b|0)<(c[j>>2]|0));d=c[k>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+460+(b<<2)>>2]|0))d=b;else break}c[k>>2]=d}b=c[a>>2]|0;e=b+1|0;if(!e){c[i>>2]=0;f=k;b=0}else{u6(a+764|0,0,e<<2|0)|0;c[i>>2]=e;if((b|0)>=1){b=0;do{r=n6(c[a+4+(b<<2)>>2]|0,0,1)|0;s=a+764+(b<<2)|0;r=b6(c[s>>2]|0,0,r|0,z|0)|0;d=z;c[s>>2]=r;b=b+1|0;if(!((d|0)==0&0==0))c[a+764+(b<<2)>>2]=d}while((b|0)<(c[a>>2]|0));e=c[i>>2]|0}while(1){b=e+-1|0;if((e|0)<=0)break;if(!(c[a+764+(b<<2)>>2]|0))e=b;else break}c[i>>2]=e;f=k;d=c[k>>2]|0;b=e}j=a+152|0;d=d+b|0;if(!d)c[j>>2]=0;else{u6(a+156|0,0,d<<2|0)|0;c[j>>2]=d;h=c[f>>2]|0;if((c[i>>2]|0)>0&(h|0)>0){b=0;do{e=a+764+(b<<2)|0;d=0;f=0;g=0;while(1){q=h6(c[a+460+(d<<2)>>2]|0,0,c[e>>2]|0,0)|0;r=z;s=a+156+(d+b<<2)|0;m=b6(c[s>>2]|0,0,f|0,g|0)|0;r=b6(m|0,z|0,q|0,r|0)|0;f=z;c[s>>2]=r;d=d+1|0;if((d|0)==(h|0))break;else g=0}if(!((f|0)==0&0==0))c[a+156+(b+h<<2)>>2]=f;b=b+1|0}while((b|0)<(c[i>>2]|0));d=c[j>>2]|0}while(1){b=d+-1|0;if((d|0)<=0)break;if(!(c[a+156+(b<<2)>>2]|0))d=b;else break}c[j>>2]=d}b=c[n>>2]|0;d=a+304|0;if(!b)c[d>>2]=0;else{c[d>>2]=1;c[a+308>>2]=b<<1}c[o>>2]=1;l=p;return}function mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;x=l;l=l+160|0;q=x;r=a+760|0;s=a+152|0;w=a+456|0;t=a+304|0;u=a+1088|0;v=a+1100|0;d=0;a:while(1){i=(c[w>>2]|0)>(c[s>>2]|0);g=i?s:w;i=i?w:s;b=c[i>>2]|0;j=c[g>>2]|0;if((b|0)>0){h=0;e=0;f=0;while(1){f=b6(c[i+4+(h<<2)>>2]|0,0,e|0,f|0)|0;e=z;if((h|0)<(j|0)){f=b6(c[g+4+(h<<2)>>2]|0,0,f|0,e|0)|0;e=z}c[a+764+(h<<2)>>2]=f;h=h+1|0;if((h|0)==(b|0))break;else f=0}if(!((e|0)==0&0==0)){c[a+764+(b<<2)>>2]=e;b=b+1|0}}else b=0;c[r>>2]=b;e=c[t>>2]|0;b:do if((b|0)<=(e|0)){if((b|0)<(e|0))break a;while(1){if((b|0)<=0)break;b=b+-1|0;e=c[a+764+(b<<2)>>2]|0;f=c[a+308+(b<<2)>>2]|0;if(e>>>0>f>>>0)break b;if(e>>>0<f>>>0)break a}if(!(c[v>>2]|0))break a}while(0);ot(t,c[u>>2]|0,r);d=d+1|0}c:do if((d|0)>0)b=a+1104|0;else{m=a+912|0;b=a+1104|0;n=a+608|0;o=a+916|0;p=q+4|0;while(1){j=(c[w>>2]|0)>(c[s>>2]|0);h=j?s:w;j=j?w:s;g=c[j>>2]|0;k=c[h>>2]|0;if((g|0)>0){i=0;e=0;f=0;while(1){f=b6(c[j+4+(i<<2)>>2]|0,0,e|0,f|0)|0;e=z;if((i|0)<(k|0)){f=b6(c[h+4+(i<<2)>>2]|0,0,f|0,e|0)|0;e=z}c[a+764+(i<<2)>>2]=f;i=i+1|0;if((i|0)==(g|0))break;else f=0}if(!((e|0)==0&0==0)){c[a+764+(g<<2)>>2]=e;g=g+1|0}}else g=0;c[r>>2]=g;e=c[u>>2]|0;if(!e){c[q>>2]=0;j=0}else{c[q>>2]=1;c[p>>2]=e;j=1}f=g+j|0;d:do if(!f)f=0;else{u6(o|0,0,f<<2|0)|0;c[m>>2]=f;if(!((j|0)==0|(g|0)<1)){e=0;do{i=a+764+(e<<2)|0;f=0;g=0;h=0;while(1){A=h6(c[q+4+(f<<2)>>2]|0,0,c[i>>2]|0,0)|0;y=z;k=a+916+(f+e<<2)|0;h=b6(c[k>>2]|0,0,g|0,h|0)|0;h=b6(h|0,z|0,A|0,y|0)|0;g=z;c[k>>2]=h;f=f+1|0;if((f|0)==(j|0))break;else h=0}if(!((g|0)==0&0==0))c[a+916+(e+j<<2)>>2]=g;e=e+1|0}while((e|0)<(c[r>>2]|0));f=c[m>>2]|0}while(1){e=f+-1|0;if((f|0)<=0)break d;if(!(c[a+916+(e<<2)>>2]|0))f=e;else break}}while(0);c[m>>2]=f;e=c[t>>2]|0;if((f|0)>(e|0))break c;e:do if((f|0)>=(e|0)){while(1){if((f|0)<=0)break;f=f+-1|0;e=c[a+916+(f<<2)>>2]|0;g=c[a+308+(f<<2)>>2]|0;if(e>>>0>g>>>0)break c;if(e>>>0<g>>>0)break e}if(c[v>>2]|0)break c}while(0);ot(s,c[u>>2]|0,r);ot(w,c[u>>2]|0,r);if(c[b>>2]|0)ot(n,c[u>>2]|0,r);d=d+-1|0}}while(0);if(c[b>>2]|0){A=a+1092|0;c[A>>2]=d;l=x;return}b=c[w>>2]|0;c[a+608>>2]=b;if(!b){A=a+1092|0;c[A>>2]=d;l=x;return}s6(a+612|0,a+460|0,b<<2|0)|0;A=a+1092|0;c[A>>2]=d;l=x;return}function nt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+160|0;p=J;F=b+152|0;y=b+1088|0;H=b+760|0;G=b+304|0;A=b+912|0;o=b+916|0;n=b+764|0;B=b+456|0;C=b+912|0;D=b+608|0;q=b+1068|0;r=b+1096|0;s=b+1100|0;t=b+1076|0;u=b+1072|0;v=b+1092|0;w=b+156|0;E=b+764|0;x=p+4|0;I=0;while(1){d=c[y>>2]|0;if(!d){c[p>>2]=0;i=0}else{c[p>>2]=1;c[x>>2]=d;i=1}d=c[F>>2]|0;e=d+i|0;a:do if(!e)e=0;else{u6(E|0,0,e<<2|0)|0;c[H>>2]=e;if(!((i|0)==0|(d|0)<1)){d=0;do{f=b+156+(d<<2)|0;e=0;g=0;h=0;while(1){j=h6(c[p+4+(e<<2)>>2]|0,0,c[f>>2]|0,0)|0;k=z;m=b+764+(e+d<<2)|0;h=b6(c[m>>2]|0,0,g|0,h|0)|0;k=b6(h|0,z|0,j|0,k|0)|0;g=z;c[m>>2]=k;e=e+1|0;if((e|0)==(i|0))break;else h=0}if(!((g|0)==0&0==0))c[b+764+(d+i<<2)>>2]=g;d=d+1|0}while((d|0)<(c[F>>2]|0));e=c[H>>2]|0}while(1){d=e+-1|0;if((e|0)<=0)break a;if(!(c[b+764+(d<<2)>>2]|0))e=d;else break}}while(0);c[H>>2]=e;m=0;b:while(1){i=c[G>>2]|0;c:do if((e|0)<=(i|0)){if((e|0)<(i|0))break b;else d=e;while(1){if((d|0)<=0)break c;d=d+-1|0;f=c[b+764+(d<<2)>>2]|0;g=c[b+308+(d<<2)>>2]|0;if(f>>>0>g>>>0)break c;if(f>>>0<g>>>0)break b}}while(0);if((e|0)>0){f=0;g=0;h=0;while(1){if((f|0)<(i|0))d=c[b+308+(f<<2)>>2]|0;else d=0;k=c6(c[b+764+(f<<2)>>2]|0,0,d|0,0)|0;k=b6(k|0,z|0,g|0,h|0)|0;c[b+916+(f<<2)>>2]=k;g=l6(k|0,z|0,32)|0;f=f+1|0;if((f|0)==(e|0))break;else h=z}}else e=0;c[A>>2]=e;while(1){d=e+-1|0;if((e|0)<=0){g=29;break}if(!(c[b+916+(d<<2)>>2]|0))e=d;else{g=28;break}}if((g|0)==28){c[A>>2]=e;c[H>>2]=e;g=30}else if((g|0)==29){g=0;c[A>>2]=e;c[H>>2]=e;if(!e)e=0;else g=30}if((g|0)==30)s6(n|0,o|0,e<<2|0)|0;m=m+1|0}c[F>>2]=e;if(e|0)s6(w|0,n|0,e<<2|0)|0;ot(B,c[y>>2]|0,C);ot(D,c[y>>2]|0,C);if(!(c[q>>2]|0)){g=c[F>>2]|0;d=c[D>>2]|0;d:do if((g|0)<=(d|0))if((g|0)<(d|0))d=-1;else{d=g;while(1){if((d|0)<=0){d=0;break d}d=d+-1|0;e=c[b+156+(d<<2)>>2]|0;f=c[b+612+(d<<2)>>2]|0;if(e>>>0>f>>>0){d=1;break d}if(e>>>0<f>>>0){d=-1;break}}}else d=1;while(0);k=(d|0)>(((c[r>>2]|0)==0)<<31>>31|0);i=(c[B>>2]|0)>(g|0);g=i?F:B;i=i?B:F;d=c[i>>2]|0;j=c[g>>2]|0;if((d|0)>0){h=0;e=0;f=0;while(1){f=b6(c[i+4+(h<<2)>>2]|0,0,e|0,f|0)|0;e=z;if((h|0)<(j|0)){f=b6(c[g+4+(h<<2)>>2]|0,0,f|0,e|0)|0;e=z}c[b+764+(h<<2)>>2]=f;h=h+1|0;if((h|0)==(d|0))break;else f=0}if(!((e|0)==0&0==0)){c[b+764+(d<<2)>>2]=e;d=d+1|0}}else d=0;c[H>>2]=d;f=c[G>>2]|0;e:do if((d|0)<=(f|0))if((d|0)<(f|0))d=-1;else while(1){if((d|0)<=0){d=0;break e}d=d+-1|0;e=c[b+764+(d<<2)>>2]|0;g=c[b+308+(d<<2)>>2]|0;if(e>>>0>g>>>0){d=1;break e}if(e>>>0<g>>>0){d=-1;break}}else d=1;while(0);e=(d|0)>=((c[s>>2]|0)==0|0);d=I+1|0;if(!k){g=53;break}if(e){g=72;break}}else d=I+1|0;a[b+1108+I>>0]=m;if(!(c[q>>2]|0)){I=d;continue}e=c[u>>2]|0;if(!(c[t>>2]|0))if((d|0)<(e|0)){I=d;continue}else{g=77;break}else if(((c[v>>2]|0)-d|0)<(e|0)){g=77;break}else{I=d;continue}}if((g|0)==53){if(!e){a[b+1108+I>>0]=m;I=d;b=b+2148|0;c[b>>2]=I;l=J;return}g=c[F>>2]|0;e=g+1|0;if(!e)e=0;else{u6(E|0,0,e<<2|0)|0;c[H>>2]=e;if((g|0)>=1){e=0;do{D=n6(c[b+156+(e<<2)>>2]|0,0,1)|0;E=b+764+(e<<2)|0;D=b6(c[E>>2]|0,0,D|0,z|0)|0;f=z;c[E>>2]=D;e=e+1|0;if(!((f|0)==0&0==0))c[b+764+(e<<2)>>2]=f}while((e|0)<(c[F>>2]|0));e=c[H>>2]|0}while(1){f=e+-1|0;if((e|0)<=0)break;if(!(c[b+764+(f<<2)>>2]|0))e=f;else break}f=c[G>>2]|0}c[H>>2]=e;f:do if((e|0)<=(f|0)){if((e|0)>=(f|0))do{if((e|0)<=0)break f;e=e+-1|0;f=c[b+764+(e<<2)>>2]|0;g=c[b+308+(e<<2)>>2]|0;if(f>>>0>g>>>0)break f}while(f>>>0>=g>>>0);a[b+1108+I>>0]=m;I=d;b=b+2148|0;c[b>>2]=I;l=J;return}while(0);a[b+1108+I>>0]=m+1;I=d;b=b+2148|0;c[b>>2]=I;l=J;return}else if((g|0)==72){a[b+1108+I>>0]=m+1;I=d;b=b+2148|0;c[b>>2]=I;l=J;return}else if((g|0)==77){b=b+2148|0;c[b>>2]=d;l=J;return}}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+160|0;j=k;if(!b){c[j>>2]=0;i=0}else{c[j>>2]=1;c[j+4>>2]=b;i=1}e=(c[a>>2]|0)+i|0;if(!e){c[d>>2]=0;c[a>>2]=0;l=k;return}u6(d+4|0,0,e<<2|0)|0;c[d>>2]=e;if(!((i|0)==0|(c[a>>2]|0)<1)){b=0;do{f=a+4+(b<<2)|0;e=0;g=0;h=0;while(1){o=h6(c[j+4+(e<<2)>>2]|0,0,c[f>>2]|0,0)|0;n=z;m=d+4+(e+b<<2)|0;h=b6(c[m>>2]|0,0,g|0,h|0)|0;h=b6(h|0,z|0,o|0,n|0)|0;g=z;c[m>>2]=h;e=e+1|0;if((e|0)==(i|0))break;else h=0}if(!((g|0)==0&0==0))c[d+4+(b+i<<2)>>2]=g;b=b+1|0}while((b|0)<(c[a>>2]|0));e=c[d>>2]|0}while(1){b=e+-1|0;if((e|0)<=0){b=16;break}if(!(c[d+4+(b<<2)>>2]|0))e=b;else{b=15;break}}if((b|0)==15){c[d>>2]=e;c[a>>2]=e}else if((b|0)==16?(c[d>>2]=e,c[a>>2]=e,(e|0)==0):0){l=k;return}s6(a+4|0,d+4|0,e<<2|0)|0;l=k;return}function pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=(c[b>>2]|0)+(c[a>>2]|0)|0;if(!f){c[d>>2]=0;c[a>>2]=0;return}u6(d+4|0,0,f<<2|0)|0;c[d>>2]=f;j=c[b>>2]|0;if((c[a>>2]|0)>0&(j|0)>0){e=0;do{g=a+4+(e<<2)|0;f=0;h=0;i=0;while(1){m=h6(c[b+4+(f<<2)>>2]|0,0,c[g>>2]|0,0)|0;l=z;k=d+4+(f+e<<2)|0;i=b6(c[k>>2]|0,0,h|0,i|0)|0;i=b6(i|0,z|0,m|0,l|0)|0;h=z;c[k>>2]=i;f=f+1|0;if((f|0)==(j|0))break;else i=0}if(!((h|0)==0&0==0))c[d+4+(e+j<<2)>>2]=h;e=e+1|0}while((e|0)<(c[a>>2]|0));f=c[d>>2]|0}while(1){e=f+-1|0;if((f|0)<=0){e=13;break}if(!(c[d+4+(e<<2)>>2]|0))f=e;else{e=12;break}}if((e|0)==12){c[d>>2]=f;c[a>>2]=f}else if((e|0)==13?(c[d>>2]=f,c[a>>2]=f,(f|0)==0):0)return;s6(a+4|0,d+4|0,f<<2|0)|0;return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0;if(c[b>>2]&4194304|0)return c[b+40>>2]|0;g=a+68|0;d=c[g>>2]|0;e=a+56|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4153);c[g>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[(c[a+304>>2]|0)+328>>2]|0;d=c[g>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0)mr(a,4153);c[g>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[g>>2]|0;Kr(a,d+-32|0,d+-16|0)|0;d=a+64|0;b=c[d>>2]|0;i=(c[g>>2]|0)-b>>4;e=i+-1|0;if(!i)Cr(a,300,-1);f=+Ar(a,b+(e<<4)|0);b=c[d>>2]|0;d=b+(e<<4)|0;i=c[d>>2]|0;e=b+(e<<4)+8|0;b=c[e>>2]|0;c[d>>2]=0;h[e>>3]=f;if(i&8|0?(e=b+4|0,i=(c[e>>2]|0)+-1|0,c[e>>2]=i,(i|0)==0):0)qr(c[a+44>>2]|0,b);e=c[g>>2]|0;d=a+44|0;a=e+-16|0;i=c[a>>2]|0;b=c[e+-8>>2]|0;c[a>>2]=2;if(i&8|0?(a=b+4|0,i=(c[a>>2]|0)+-1|0,c[a>>2]=i,(i|0)==0):0)vr(c[d>>2]|0,b);a=e+-32|0;i=c[a>>2]|0;b=c[e+-24>>2]|0;c[a>>2]=2;if(i&8|0?(a=b+4|0,i=(c[a>>2]|0)+-1|0,c[a>>2]=i,(i|0)==0):0)vr(c[d>>2]|0,b);a=e+-48|0;i=c[a>>2]|0;b=c[e+-40>>2]|0;c[a>>2]=2;if(i&8|0?(a=b+4|0,i=(c[a>>2]|0)+-1|0,c[a>>2]=i,(i|0)==0):0)vr(c[d>>2]|0,b);c[g>>2]=e+-48;b=c[d>>2]|0;if(!(c[b+32>>2]|0)){i=f>=0.0;g=f<=4294967295.0;g=i&g;i=~~f>>>0;i=g?i:0;return i|0}lr(b);i=f>=0.0;g=f<=4294967295.0;g=i&g;i=~~f>>>0;i=g?i:0;return i|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,k=0,l=0,m=0;l=a+68|0;i=a+64|0;e=c[i>>2]|0;f=(c[l>>2]|0)-e>>4;m=(b|0)<0;d=(m?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);g=+Ar(a,e+(d<<4)|0);h[j>>3]=g;d=c[j>>2]|0;e=c[j+4>>2]|0;f=e&2146435072;a:do if((f|0)<2146435072){switch(f|0){case 0:break;default:{k=6;break a}}if((e|0)<0)k=6;else f=0}else switch(f|0){case 2146435072:{f=0;break}default:k=6}while(0);if((k|0)==6){g=+A(+(+B(+g)));g=+o4((e|0)>-1|(e|0)==-1&d>>>0>4294967295?g:-g,4294967296.0);f=~~(g<0.0?g+4294967296.0:g)>>>0}e=c[i>>2]|0;l=(c[l>>2]|0)-e>>4;d=(m?l:0)+b|0;if(d>>>0>=l>>>0)Cr(a,376,b);l=e+(d<<4)|0;b=c[l>>2]|0;m=e+(d<<4)+8|0;d=c[m>>2]|0;c[l>>2]=0;h[m>>3]=+(f>>>0);if(!(b&8))return f|0;m=d+4|0;b=(c[m>>2]|0)+-1|0;c[m>>2]=b;if(b|0)return f|0;qr(c[a+44>>2]|0,d);return f|0}function st(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+68|0;g=c[k>>2]|0;f=c[b+64>>2]|0;e=g-f>>4;e=e|0?f+(e+-1<<4)|0:0;e=(e|0)==0?368:e;a:do switch(c[e>>2]|0){case 9:{e=c[e+8>>2]|0;if(!e)ar(b,2147,-1,342479);if((c[e>>2]&-134217728|0)!=-1744830464)ar(b,2147,-1,342479);f=c[e+40>>2]|0;if(!f)br(b,342583,100668428,343797);else{h=f;i=e;j=c[e+48>>2]|0;break a}break}case 10:{e=c[e+8>>2]|0;if(!e)ar(b,2147,-1,342479);else{h=e;i=0;j=0;break a}break}default:ar(b,2147,-1,342479)}while(0);if((j+d|0)>>>0<j>>>0)br(b,342583,50336776,343797);if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4988);g=Or(b,60)|0;e=c[b+44>>2]|0;c[g>>2]=-1342168959;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=f;c[e>>2]=g;e=c[b+268>>2]|0;c[g+20>>2]=e;if(e|0){b=e+4|0;c[b>>2]=(c[b>>2]|0)+1}b=c[k>>2]|0;c[b>>2]=9;c[b+8>>2]=g;b=g+4|0;c[b>>2]=(c[b>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+16;c[g+40>>2]=h;k=h+4|0;c[k>>2]=(c[k>>2]|0)+1;c[g+44>>2]=i;if(!i){k=g+48|0;c[k>>2]=j;k=g+52|0;c[k>>2]=d;k=g+56|0;a[k>>0]=0;k=g+57|0;a[k>>0]=0;k=g+58|0;a[k>>0]=1;return}k=i+4|0;c[k>>2]=(c[k>>2]|0)+1;k=g+48|0;c[k>>2]=j;k=g+52|0;c[k>>2]=d;k=g+56|0;a[k>>0]=0;k=g+57|0;a[k>>0]=0;k=g+58|0;a[k>>0]=1;return}function tt(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=a+68|0;if((c[j>>2]|0)>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4851);if(!d)nr(a,342583,4884);if(e>>>0>=32767)if((e|0)==-1)h=-1;else nr(a,342583,4884);else h=e&65535;i=Or(a,48)|0;e=c[a+44>>2]|0;c[i>>2]=f|1;e=e+24|0;f=c[e>>2]|0;if(f|0)c[f+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=f;c[e>>2]=i;c[i+40>>2]=d;b[i+44>>1]=h;e=c[j>>2]|0;c[e>>2]=9;c[e+8>>2]=i;e=i+4|0;c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16;e=c[a+100+(g<<2)>>2]|0;c[i+20>>2]=e;if(!e)return;j=e+4|0;c[j>>2]=(c[j>>2]|0)+1;return}function ut(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;r=s+64|0;p=s;cs(b,343708,p);m=d;n=a[342756+(m>>>28)>>0]|0;a[p>>0]=n;f=a[342756+(m>>>24&15)>>0]|0;a[p+1>>0]=f;g=a[342756+(m>>>20&15)>>0]|0;a[p+2>>0]=g;h=a[342756+(m>>>16&15)>>0]|0;a[p+3>>0]=h;i=a[342756+(m>>>12&15)>>0]|0;a[p+4>>0]=i;j=a[342756+(m>>>8&15)>>0]|0;a[p+5>>0]=j;k=a[342756+(m>>>4&15)>>0]|0;a[p+6>>0]=k;m=a[342756+(m&15)>>0]|0;a[p+7>>0]=m;q=b+68|0;d=c[q>>2]|0;if(d>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);o=c[b+44>>2]|0;g=(n&255)+(((f&255)+(((g&255)+(((h&255)+(((i&255)+(((j&255)+(((k&255)+(((m&255)+((c[o+148>>2]^8)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0;f=c[(c[o+176>>2]|0)+((c[o+180>>2]&g)<<2)>>2]|0;a:do if(f|0){while(1){if(((c[f+12>>2]|0)==(g|0)?(c[f+20>>2]|0)==8:0)?(f3(p,f+28|0,8)|0)==0:0)break;f=c[f+8>>2]|0;if(!f)break a}p=d+16|0;c[q>>2]=p;c[d>>2]=8;q=d+8|0;c[q>>2]=f;q=f+4|0;p=c[q>>2]|0;p=p+1|0;c[q>>2]=p;c[r>>2]=e;cs(b,343715,r);ds(b,3,0);l=s;return}while(0);d=Gr(o,p,8,g)|0;if(!d)er(b,342961,803);p=d;o=c[q>>2]|0;n=o+16|0;c[q>>2]=n;c[o>>2]=8;q=o+8|0;c[q>>2]=p;q=p+4|0;p=c[q>>2]|0;p=p+1|0;c[q>>2]=p;c[r>>2]=e;cs(b,343715,r);ds(b,3,0);l=s;return}function vt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;if(c[d>>2]&128|0){t=e;l=u;return t|0}h=gs(d)|0;if(c[d>>2]&128|0){t=e;l=u;return t|0}s=c[b+44>>2]|0;q=h>>>0>16;a:do if(q){j=0;f=0;do{k=s+196+(f*12|0)|0;m=(c[k>>2]|0)==(d|0);j=m?k:j;f=f+1|0}while((f|0)<4&(m^1));k=h-e|0;h=d+28|0;m=h+(c[d+20>>2]|0)|0;if(j){f=c[j+8>>2]|0;if(f>>>0>e>>>0){i=f-e|0;if(i>>>0>e>>>0|i>>>0>k>>>0){f=m;i=h;m=1;p=20;break}f=h+(c[j+4>>2]|0)|0;if(!i){i=1;p=31;break}b:while(1){do{f=f+-1|0;if(f>>>0<h>>>0)break b}while((a[f>>0]&-64)<<24>>24==-128);i=i+-1|0;if(!i){n=f;g=j;o=h;r=1;break a}}Dr(b,343868,307)}else{i=e-f|0;if(i>>>0>e>>>0|i>>>0>k>>>0){f=m;i=h;m=1;p=20;break}f=h+(c[j+4>>2]|0)|0;if(!i){i=1;p=31;break}c:while(1){do{f=f+1|0;if(f>>>0>=m>>>0)break c}while((a[f>>0]&-64)<<24>>24==-128);i=i+-1|0;if(!i){n=f;g=j;o=h;r=1;break a}}Dr(b,343868,307)}}else{j=0;f=m;i=h;m=0;p=20}}else{p=d+28|0;j=0;k=h-e|0;f=p+(c[d+20>>2]|0)|0;i=p;m=0;h=p;p=20}while(0);d:do if((p|0)==20)if(k>>>0<e>>>0){if(!k){i=m;p=31;break}e:while(1){do{f=f+-1|0;if(f>>>0<i>>>0)break e}while((a[f>>0]&-64)<<24>>24==-128);k=k+-1|0;if(!k){n=f;g=j;o=h;r=m;break d}}Dr(b,343868,307)}else{if(!e){f=i;i=m;p=31;break}else k=e;f:while(1){do{i=i+1|0;if(i>>>0>=f>>>0)break f}while((a[i>>0]&-64)<<24>>24==-128);k=k+-1|0;if(!k){n=i;g=j;o=h;r=m;break d}}Dr(b,343868,307)}while(0);if((p|0)==31)if(!f)Dr(b,343868,307);else{n=f;g=j;o=h;r=i}h=n-o|0;if(!q){t=h;l=u;return t|0}if(!r){g=s+232|0;c[g>>2]=d}c[g+4>>2]=h;c[g+8>>2]=e;f=s+196|0;if(g>>>0<=f>>>0){t=h;l=u;return t|0};c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];t6(s+208|0,f|0,g-f|0)|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];t=h;l=u;return t|0}function wt(f,i,j,k){f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0;q=l;l=l+16|0;o=q;s6(o|0,j|0,k|0)|0;a:do switch(i<<24>>24){case 1:case 0:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+(d[o>>0]|0);break a}else mr(f,4274);break}case 2:{j=f+68|0;i=c[j>>2]|0;if(i>>>0<(c[f+56>>2]|0)>>>0){m=j;n=i;p=+(a[o>>0]|0);break a}else mr(f,4244);break}case 3:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+(e[o>>1]|0);break a}else mr(f,4274);break}case 4:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+(b[o>>1]|0);break a}else mr(f,4244);break}case 5:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+((c[o>>2]|0)>>>0);break a}else mr(f,4274);break}case 6:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+(c[o>>2]|0);break a}else mr(f,4244);break}case 7:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+g[o>>2]}else mr(f,4215);break}case 8:{i=f+68|0;j=c[i>>2]|0;if(j>>>0<(c[f+56>>2]|0)>>>0){m=i;n=j;p=+h[o>>3]}else mr(f,4215);break}default:{}}while(0);c[m>>2]=n+16;c[n>>2]=0;h[n+8>>3]=p;l=q;return}function xt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=b+68|0;o=c[t>>2]|0;q=b+64|0;e=c[q>>2]|0;f=o-e>>4;s=((d|0)<0?f:0)+d|0;if(s>>>0>=f>>>0)Cr(b,300,d);r=(s|0)<0;d=(r?f:0)+s|0;d=d>>>0<f>>>0?e+(d<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8)ar(b,2101,s,361511);d=c[d+8>>2]|0;if(!d)ar(b,2101,s,361511);l=d+28|0;k=l+(c[d+20>>2]|0)|0;a:do if(l>>>0<k>>>0){h=l;b:while(1){if(h>>>0<l>>>0){n=25;break}e=h+1|0;d=a[h>>0]|0;f=d&255;do if(d<<24>>24<=-1){if((d&255)<192){n=25;break b}if((d&255)<224){g=1;d=f&31;break}if((d&255)<240){g=2;d=f&15;break}if((d&255)<248){g=3;d=f&7;break}if((d&255)<252){g=4;d=f&3;break}if((d&255)>=254)if(d<<24>>24==-1){n=25;break b}else{g=6;d=0;break}else{g=5;d=f&1;break}}else{g=0;d=f&127}while(0);if((e+g|0)>>>0>k>>>0){n=25;break}if(g)while(1){f=e+1|0;d=a[e>>0]&63|d<<6;if((g|0)>1){e=f;g=g+-1|0}else{e=f;break}}c:do switch(d>>8|0){case 0:{switch((d&255)<<24>>24){case -96:case 32:case 12:case 11:case 9:break;default:n=31}break}case 32:{if((d&255)>>>0>=11)switch((d&255)<<24>>24){case 47:case 95:break;default:n=31}break}default:{if((d|0)<8232)if((d|0)<5760)switch(d|0){case 10:case 13:break c;default:{i=h;n=33;break b}}else switch(d|0){case 5760:case 6158:break c;default:{i=h;n=33;break b}}if((d|0)<12288)switch(d|0){case 8232:case 8233:break c;default:{i=h;n=33;break b}}if((d|0)<65279)switch(d|0){case 12288:break c;default:{i=h;n=33;break b}}else switch(d|0){case 65279:break c;default:{i=h;n=33;break b}}}}while(0);d:do if((n|0)==31){n=0;if((d|0)<8232)switch(d|0){case 10:case 13:break d;default:{i=h;n=33;break b}}else switch(d|0){case 8232:case 8233:break d;default:{i=h;n=33;break b}}}while(0);if(e>>>0<k>>>0)h=e;else{i=e;n=33;break}}if((n|0)==25)Dr(b,343968,282);else if((n|0)==33){if((i|0)==(k|0)){m=k;p=k;break}else j=k;e:while(1){d=j;do{if(d>>>0<=l>>>0)break;d=d+-1|0}while((a[d>>0]&-64)<<24>>24==-128);if(!(d>>>0>=l>>>0&d>>>0<k>>>0)){n=55;break}h=d+1|0;e=a[d>>0]|0;f=e&255;do if(e<<24>>24<=-1){if((e&255)<192){n=55;break e}if((e&255)<224){g=1;e=f&31;break}if((e&255)<240){g=2;e=f&15;break}if((e&255)<248){g=3;e=f&7;break}if((e&255)<252){g=4;e=f&3;break}if((e&255)>=254)if(e<<24>>24==-1){n=55;break e}else{g=6;e=0;break}else{g=5;e=f&1;break}}else{g=0;e=f&127}while(0);if((h+g|0)>>>0>k>>>0){n=55;break}if(g)while(1){e=a[h>>0]&63|e<<6;if((g|0)>1){h=h+1|0;g=g+-1|0}else break}f:do switch(e>>8|0){case 0:{switch((e&255)<<24>>24){case -96:case 32:case 12:case 11:case 9:break;default:n=61}break}case 32:{if((e&255)>>>0>=11)switch((e&255)<<24>>24){case 47:case 95:break;default:n=61}break}default:{if((e|0)<8232)if((e|0)<5760)switch(e|0){case 10:case 13:break f;default:{m=j;p=i;break a}}else switch(e|0){case 5760:case 6158:break f;default:{m=j;p=i;break a}}if((e|0)<12288)switch(e|0){case 8232:case 8233:break f;default:{m=j;p=i;break a}}if((e|0)<65279)switch(e|0){case 12288:break f;default:{m=j;p=i;break a}}else switch(e|0){case 65279:break f;default:{m=j;p=i;break a}}}}while(0);g:do if((n|0)==61){n=0;if((e|0)<8232)switch(e|0){case 10:case 13:break g;default:{m=j;p=i;break a}}else switch(e|0){case 8232:case 8233:break g;default:{m=j;p=i;break a}}}while(0);if(d>>>0>l>>>0)j=d;else{m=d;p=i;break a}}if((n|0)==55)Dr(b,343968,282)}}else{m=k;p=l}while(0);d=m>>>0<p>>>0?p:m;if((p|0)==(l|0)&(d|0)==(k|0))return;if(o>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4300);d=(p|0)==0?0:d-p|0;if((d|0)<0)br(b,342583,50335961,342945);e=fs(b,p,d)|0;f=c[t>>2]|0;c[t>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[q>>2]|0;f=(c[t>>2]|0)-e>>4;if(!f)Cr(b,376,-1);g=e+(f+-1<<4)|0;d=(r?f:0)+s|0;if(d>>>0>=f>>>0)Cr(b,376,s);r=e+(d<<4)|0;s=c[r>>2]|0;d=c[e+(d<<4)+8>>2]|0;c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[r+12>>2]=c[g+12>>2];c[g>>2]=2;c[t>>2]=(c[t>>2]|0)+-16;if(!(s&8))return;s=d+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;qr(c[b+44>>2]|0,d);return}function yt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+68|0;e=c[a+64>>2]|0;f=(c[i>>2]|0)-e|0;g=f>>4;h=g+-1|0;if(!g)Cr(a,300,-1);f=((f|0)<16?g:0)+h|0;e=f>>>0<g>>>0?e+(f<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(a,2101,h,361511);e=c[e+8>>2]|0;if(!e)ar(a,2101,h,361511);f=gs(e)|0;d=f>>>0>d>>>0?d:f;f=vt(a,e,d>>>0<b>>>0?d:b)|0;e=fs(a,e+28+f|0,(vt(a,e,d)|0)-f|0)|0;f=c[i>>2]|0;if(f>>>0<(c[a+56>>2]|0)>>>0){c[i>>2]=f+16;c[f>>2]=8;c[f+8>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;Hs(a,h);return}else mr(a,4153)}function zt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=l;l=l+16|0;c[h>>2]=g;it(a,b,d,e,f,h);Qr(a)}
  41. function oV(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0;Lc=l;l=l+1472|0;Hc=Lc+1416|0;Gc=Lc+1408|0;Dc=Lc+1400|0;Cc=Lc+1392|0;Kc=Lc+1368|0;xc=Lc+1360|0;oc=Lc+1352|0;nc=Lc+1344|0;mc=Lc+1336|0;lc=Lc+1328|0;kc=Lc+1320|0;jc=Lc+1312|0;ic=Lc+1304|0;gc=Lc+1296|0;fc=Lc+1288|0;ec=Lc+1280|0;dc=Lc+1272|0;cc=Lc+1264|0;bc=Lc+1256|0;ac=Lc+1248|0;$b=Lc+1240|0;_b=Lc+1232|0;Zb=Lc+1224|0;Yb=Lc+1216|0;Xb=Lc+1208|0;Wb=Lc+1200|0;Vb=Lc+1192|0;Ub=Lc+1184|0;Tb=Lc+1176|0;Sb=Lc+1168|0;Rb=Lc+1160|0;Qb=Lc+1152|0;Pb=Lc+1144|0;Ob=Lc+1136|0;Nb=Lc+1128|0;Mb=Lc+1120|0;Lb=Lc+1112|0;Kb=Lc+1104|0;Jb=Lc+1096|0;Ib=Lc+1088|0;Hb=Lc+1080|0;Gb=Lc+1072|0;Fb=Lc+1064|0;Eb=Lc+1056|0;Db=Lc+1048|0;Cb=Lc+1040|0;Bb=Lc+1032|0;Ab=Lc+1024|0;zb=Lc+1016|0;yb=Lc+1008|0;xb=Lc+1e3|0;wb=Lc+992|0;vb=Lc+984|0;ub=Lc+976|0;tb=Lc+968|0;sb=Lc+960|0;rb=Lc+952|0;qb=Lc+944|0;pb=Lc+936|0;ob=Lc+928|0;nb=Lc+920|0;mb=Lc+912|0;lb=Lc+904|0;kb=Lc+896|0;jb=Lc+888|0;ib=Lc+880|0;hb=Lc+872|0;gb=Lc+864|0;fb=Lc+856|0;eb=Lc+848|0;db=Lc+840|0;cb=Lc+832|0;bb=Lc+824|0;ab=Lc+816|0;$a=Lc+808|0;_a=Lc+800|0;Za=Lc+792|0;Ya=Lc+784|0;Xa=Lc+776|0;Wa=Lc+768|0;Va=Lc+760|0;Ua=Lc+752|0;Ta=Lc+744|0;Sa=Lc+736|0;Ra=Lc+728|0;Qa=Lc+720|0;Pa=Lc+712|0;Oa=Lc+704|0;Na=Lc+696|0;Ma=Lc+688|0;La=Lc+680|0;Ka=Lc+672|0;Ja=Lc+664|0;Ia=Lc+656|0;Ha=Lc+648|0;Ga=Lc+640|0;Fa=Lc+632|0;Ea=Lc+624|0;Da=Lc+616|0;Ca=Lc+608|0;Ba=Lc+600|0;Aa=Lc+592|0;za=Lc+584|0;ya=Lc+576|0;xa=Lc+568|0;wa=Lc+560|0;va=Lc+552|0;ua=Lc+544|0;ta=Lc+536|0;sa=Lc+528|0;ra=Lc+520|0;qa=Lc+512|0;pa=Lc+504|0;oa=Lc+496|0;na=Lc+488|0;ma=Lc+480|0;la=Lc+472|0;ka=Lc+464|0;ja=Lc+456|0;ia=Lc+448|0;ha=Lc+440|0;ga=Lc+432|0;fa=Lc+424|0;ea=Lc+416|0;ca=Lc+408|0;da=Lc+400|0;ba=Lc+392|0;aa=Lc+384|0;$=Lc+376|0;_=Lc+368|0;Z=Lc+360|0;Y=Lc+352|0;X=Lc+344|0;W=Lc+336|0;V=Lc+328|0;U=Lc+320|0;T=Lc+312|0;S=Lc+304|0;R=Lc+296|0;Q=Lc+288|0;P=Lc+280|0;O=Lc+272|0;N=Lc+264|0;M=Lc+256|0;L=Lc+248|0;K=Lc+240|0;J=Lc+232|0;I=Lc+224|0;H=Lc+216|0;G=Lc+208|0;F=Lc+200|0;E=Lc+192|0;D=Lc+184|0;C=Lc+176|0;B=Lc+168|0;A=Lc+160|0;z=Lc+152|0;y=Lc+144|0;x=Lc+136|0;w=Lc+128|0;v=Lc+120|0;u=Lc+112|0;t=Lc+104|0;s=Lc+96|0;r=Lc+88|0;q=Lc+80|0;p=Lc+72|0;o=Lc+64|0;n=Lc+56|0;m=Lc+48|0;k=Lc+40|0;j=Lc+32|0;i=Lc+24|0;h=Lc+16|0;g=Lc+8|0;qc=Lc+1448|0;rc=Lc+1440|0;sc=Lc+1432|0;yc=Lc+1428|0;zc=Lc+1456|0;Ac=Lc+1424|0;wc=Lc+1420|0;f=c[104297]|0;Bc=c[f+368>>2]|0;Fc=c[f+356>>2]|0;Ic=c[f+360>>2]|0;do if(!f){vV(386054,Lc);Ec=0}else{if(b|0?(c[b>>2]|0)==(f+280|0):0){Ec=c[b+48>>2]|0;break}vV(405282,g);Ec=0}while(0);if((Ec&2|0)==0|(Bc|0)!=4|(Fc|0)!=2|(Ic|0)!=0){f=c[104297]|0;if(!f){vV(386054,h);f=c[104297]|0;if(!f){vV(386054,i);f=c[104297]|0;if(!f)vV(386054,j);else Jc=14}else Jc=11}else{c[f+368>>2]=4;Jc=11}if((Jc|0)==11){c[f+356>>2]=2;Jc=14}if((Jc|0)==14)c[f+360>>2]=0;if((qV(b,Ec|2)|0)>=0){vc=1;Jc=16}}else{vc=0;Jc=16}if((Jc|0)==16){f=B2(324)|0;a:do if(!f)vV(392416,k);else{if(c[f+-4>>2]&3|0)u6(f|0,0,324)|0;tc=B2(308)|0;if(!tc){rV(f);vV(392416,m);break}if(c[tc+-4>>2]&3|0)u6(tc|0,0,308)|0;g=f+104|0;h=19804;i=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));hc=f+108|0;c[hc>>2]=10;uc=f+320|0;c[uc>>2]=tc;pc=f+188|0;c[pc>>2]=b;g=sV(b)|0;c[tc>>2]=g;if(!g){rV(f);break}if((tV(b,g)|0)<0){rV(f);break}h=c[104297]|0;b:do if(h){g=c[h+168>>2]|0;if(!g){vV(392332,p);Jc=34;break}if(!(c[h+388>>2]|0)){vV(392303,o);Jc=34;break}p=Sh[g&255](h,409050)|0;c[tc+16>>2]=p;if(!p)g=409050;else{h=c[104297]|0;do if(!h)vV(386054,q);else{g=c[h+168>>2]|0;if(!g){vV(392332,s);break}if(!(c[h+388>>2]|0)){vV(392303,r);break}s=Sh[g&255](h,406808)|0;c[tc+20>>2]=s;if(!s){g=406808;break b}h=c[104297]|0;do if(!h)vV(386054,t);else{g=c[h+168>>2]|0;if(!g){vV(392332,v);break}if(!(c[h+388>>2]|0)){vV(392303,u);break}v=Sh[g&255](h,408106)|0;c[tc+24>>2]=v;if(!v){g=408106;break b}h=c[104297]|0;do if(!h)vV(386054,w);else{g=c[h+168>>2]|0;if(!g){vV(392332,y);break}if(!(c[h+388>>2]|0)){vV(392303,x);break}y=Sh[g&255](h,407041)|0;c[tc+28>>2]=y;if(!y){g=407041;break b}h=c[104297]|0;do if(!h)vV(386054,z);else{g=c[h+168>>2]|0;if(!g){vV(392332,B);break}if(!(c[h+388>>2]|0)){vV(392303,A);break}B=Sh[g&255](h,409396)|0;c[tc+32>>2]=B;if(!B){g=409396;break b}h=c[104297]|0;do if(!h)vV(386054,C);else{g=c[h+168>>2]|0;if(!g){vV(392332,E);break}if(!(c[h+388>>2]|0)){vV(392303,D);break}E=Sh[g&255](h,408947)|0;c[tc+36>>2]=E;if(!E){g=408947;break b}h=c[104297]|0;do if(!h)vV(386054,F);else{g=c[h+168>>2]|0;if(!g){vV(392332,H);break}if(!(c[h+388>>2]|0)){vV(392303,G);break}H=Sh[g&255](h,409322)|0;c[tc+40>>2]=H;if(!H){g=409322;break b}h=c[104297]|0;do if(!h)vV(386054,I);else{g=c[h+168>>2]|0;if(!g){vV(392332,K);break}if(!(c[h+388>>2]|0)){vV(392303,J);break}K=Sh[g&255](h,407924)|0;c[tc+44>>2]=K;if(!K){g=407924;break b}h=c[104297]|0;do if(!h)vV(386054,L);else{g=c[h+168>>2]|0;if(!g){vV(392332,N);break}if(!(c[h+388>>2]|0)){vV(392303,M);break}N=Sh[g&255](h,406709)|0;c[tc+48>>2]=N;if(!N){g=406709;break b}h=c[104297]|0;do if(!h)vV(386054,O);else{g=c[h+168>>2]|0;if(!g){vV(392332,Q);break}if(!(c[h+388>>2]|0)){vV(392303,P);break}Q=Sh[g&255](h,406778)|0;c[tc+52>>2]=Q;if(!Q){g=406778;break b}h=c[104297]|0;do if(!h)vV(386054,R);else{g=c[h+168>>2]|0;if(!g){vV(392332,T);break}if(!(c[h+388>>2]|0)){vV(392303,S);break}T=Sh[g&255](h,407999)|0;c[tc+56>>2]=T;if(!T){g=407999;break b}h=c[104297]|0;do if(!h)vV(386054,U);else{g=c[h+168>>2]|0;if(!g){vV(392332,W);break}if(!(c[h+388>>2]|0)){vV(392303,V);break}W=Sh[g&255](h,407855)|0;c[tc+60>>2]=W;if(!W){g=407855;break b}h=c[104297]|0;do if(!h)vV(386054,X);else{g=c[h+168>>2]|0;if(!g){vV(392332,Z);break}if(!(c[h+388>>2]|0)){vV(392303,Y);break}Z=Sh[g&255](h,406933)|0;c[tc+64>>2]=Z;if(!Z){g=406933;break b}h=c[104297]|0;do if(!h)vV(386054,_);else{g=c[h+168>>2]|0;if(!g){vV(392332,aa);break}if(!(c[h+388>>2]|0)){vV(392303,$);break}aa=Sh[g&255](h,408914)|0;c[tc+68>>2]=aa;if(!aa){g=408914;break b}h=c[104297]|0;do if(!h)vV(386054,ba);else{g=c[h+168>>2]|0;if(!g){vV(392332,ca);break}if(!(c[h+388>>2]|0)){vV(392303,da);break}da=Sh[g&255](h,408676)|0;c[tc+72>>2]=da;if(!da){g=408676;break b}h=c[104297]|0;do if(!h)vV(386054,ea);else{g=c[h+168>>2]|0;if(!g){vV(392332,ga);break}if(!(c[h+388>>2]|0)){vV(392303,fa);break}ga=Sh[g&255](h,408703)|0;c[tc+76>>2]=ga;if(!ga){g=408703;break b}h=c[104297]|0;do if(!h)vV(386054,ha);else{g=c[h+168>>2]|0;if(!g){vV(392332,ja);break}if(!(c[h+388>>2]|0)){vV(392303,ia);break}ja=Sh[g&255](h,408905)|0;c[tc+80>>2]=ja;if(!ja){g=408905;break b}h=c[104297]|0;do if(!h)vV(386054,ka);else{g=c[h+168>>2]|0;if(!g){vV(392332,ma);break}if(!(c[h+388>>2]|0)){vV(392303,la);break}ma=Sh[g&255](h,408650)|0;c[tc+84>>2]=ma;if(!ma){g=408650;break b}h=c[104297]|0;do if(!h)vV(386054,na);else{g=c[h+168>>2]|0;if(!g){vV(392332,pa);break}if(!(c[h+388>>2]|0)){vV(392303,oa);break}pa=Sh[g&255](h,408849)|0;c[tc+88>>2]=pa;if(!pa){g=408849;break b}h=c[104297]|0;do if(!h)vV(386054,qa);else{g=c[h+168>>2]|0;if(!g){vV(392332,sa);break}if(!(c[h+388>>2]|0)){vV(392303,ra);break}sa=Sh[g&255](h,408145)|0;c[tc+92>>2]=sa;if(!sa){g=408145;break b}h=c[104297]|0;do if(!h)vV(386054,ta);else{g=c[h+168>>2]|0;if(!g){vV(392332,va);break}if(!(c[h+388>>2]|0)){vV(392303,ua);break}va=Sh[g&255](h,406919)|0;c[tc+96>>2]=va;if(!va){g=406919;break b}h=c[104297]|0;do if(!h)vV(386054,wa);else{g=c[h+168>>2]|0;if(!g){vV(392332,ya);break}if(!(c[h+388>>2]|0)){vV(392303,xa);break}ya=Sh[g&255](h,406905)|0;n=tc+100|0;c[n>>2]=ya;if(!ya){g=406905;break b}h=c[104297]|0;do if(!h)vV(386054,za);else{g=c[h+168>>2]|0;if(!g){vV(392332,Ba);break}if(!(c[h+388>>2]|0)){vV(392303,Aa);break}Ba=Sh[g&255](h,406867)|0;c[tc+104>>2]=Ba;if(!Ba){g=406867;break b}h=c[104297]|0;do if(!h)vV(386054,Ca);else{g=c[h+168>>2]|0;if(!g){vV(392332,Ea);break}if(!(c[h+388>>2]|0)){vV(392303,Da);break}Ea=Sh[g&255](h,408770)|0;c[tc+108>>2]=Ea;if(!Ea){g=408770;break b}h=c[104297]|0;do if(!h)vV(386054,Fa);else{g=c[h+168>>2]|0;if(!g){vV(392332,Ha);break}if(!(c[h+388>>2]|0)){vV(392303,Ga);break}Ha=Sh[g&255](h,406879)|0;m=tc+112|0;c[m>>2]=Ha;if(!Ha){g=406879;break b}h=c[104297]|0;do if(!h)vV(386054,Ia);else{g=c[h+168>>2]|0;if(!g){vV(392332,Ka);break}if(!(c[h+388>>2]|0)){vV(392303,Ja);break}Ka=Sh[g&255](h,407973)|0;c[tc+116>>2]=Ka;if(!Ka){g=407973;break b}h=c[104297]|0;do if(!h)vV(386054,La);else{g=c[h+168>>2]|0;if(!g){vV(392332,Na);break}if(!(c[h+388>>2]|0)){vV(392303,Ma);break}Na=Sh[g&255](h,407940)|0;c[tc+120>>2]=Na;if(!Na){g=407940;break b}h=c[104297]|0;do if(!h)vV(386054,Oa);else{g=c[h+168>>2]|0;if(!g){vV(392332,Qa);break}if(!(c[h+388>>2]|0)){vV(392303,Pa);break}Qa=Sh[g&255](h,407959)|0;c[tc+124>>2]=Qa;if(!Qa){g=407959;break b}h=c[104297]|0;do if(!h)vV(386054,Ra);else{g=c[h+168>>2]|0;if(!g){vV(392332,Ta);break}if(!(c[h+388>>2]|0)){vV(392303,Sa);break}Ta=Sh[g&255](h,407369)|0;c[tc+128>>2]=Ta;if(!Ta){g=407369;break b}h=c[104297]|0;do if(!h)vV(386054,Ua);else{g=c[h+168>>2]|0;if(!g){vV(392332,Wa);break}if(!(c[h+388>>2]|0)){vV(392303,Va);break}Wa=Sh[g&255](h,408042)|0;c[tc+132>>2]=Wa;if(!Wa){g=408042;break b}h=c[104297]|0;do if(!h)vV(386054,Xa);else{g=c[h+168>>2]|0;if(!g){vV(392332,Za);break}if(!(c[h+388>>2]|0)){vV(392303,Ya);break}Za=Sh[g&255](h,406853)|0;c[tc+136>>2]=Za;if(!Za){g=406853;break b}h=c[104297]|0;do if(!h)vV(386054,_a);else{g=c[h+168>>2]|0;if(!g){vV(392332,ab);break}if(!(c[h+388>>2]|0)){vV(392303,$a);break}ab=Sh[g&255](h,407028)|0;c[tc+140>>2]=ab;if(!ab){g=407028;break b}h=c[104297]|0;do if(!h)vV(386054,bb);else{g=c[h+168>>2]|0;if(!g){vV(392332,db);break}if(!(c[h+388>>2]|0)){vV(392303,cb);break}db=Sh[g&255](h,409335)|0;c[tc+144>>2]=db;if(!db){g=409335;break b}h=c[104297]|0;do if(!h)vV(386054,eb);else{g=c[h+168>>2]|0;if(!g){vV(392332,gb);break}if(!(c[h+388>>2]|0)){vV(392303,fb);break}gb=Sh[g&255](h,408731)|0;c[tc+148>>2]=gb;if(!gb){g=408731;break b}h=c[104297]|0;do if(!h)vV(386054,hb);else{g=c[h+168>>2]|0;if(!g){vV(392332,jb);break}if(!(c[h+388>>2]|0)){vV(392303,ib);break}jb=Sh[g&255](h,407891)|0;c[tc+152>>2]=jb;if(!jb){g=407891;break b}h=c[104297]|0;do if(!h)vV(386054,kb);else{g=c[h+168>>2]|0;if(!g){vV(392332,mb);break}if(!(c[h+388>>2]|0)){vV(392303,lb);break}mb=Sh[g&255](h,406999)|0;c[tc+156>>2]=mb;if(!mb){g=406999;break b}h=c[104297]|0;do if(!h)vV(386054,nb);else{g=c[h+168>>2]|0;if(!g){vV(392332,pb);break}if(!(c[h+388>>2]|0)){vV(392303,ob);break}pb=Sh[g&255](h,409236)|0;c[tc+160>>2]=pb;if(!pb){g=409236;break b}h=c[104297]|0;do if(!h)vV(386054,qb);else{g=c[h+168>>2]|0;if(!g){vV(392332,sb);break}if(!(c[h+388>>2]|0)){vV(392303,rb);break}sb=Sh[g&255](h,407012)|0;c[tc+164>>2]=sb;if(!sb){g=407012;break b}h=c[104297]|0;do if(!h)vV(386054,tb);else{g=c[h+168>>2]|0;if(!g){vV(392332,vb);break}if(!(c[h+388>>2]|0)){vV(392303,ub);break}vb=Sh[g&255](h,407523)|0;c[tc+168>>2]=vb;if(!vb){g=407523;break b}h=c[104297]|0;do if(!h)vV(386054,wb);else{g=c[h+168>>2]|0;if(!g){vV(392332,yb);break}if(!(c[h+388>>2]|0)){vV(392303,xb);break}yb=Sh[g&255](h,407511)|0;c[tc+172>>2]=yb;if(!yb){g=407511;break b}h=c[104297]|0;do if(!h)vV(386054,zb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Bb);break}if(!(c[h+388>>2]|0)){vV(392303,Ab);break}Bb=Sh[g&255](h,407713)|0;c[tc+176>>2]=Bb;if(!Bb){g=407713;break b}h=c[104297]|0;do if(!h)vV(386054,Cb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Eb);break}if(!(c[h+388>>2]|0)){vV(392303,Db);break}Eb=Sh[g&255](h,406744)|0;c[tc+180>>2]=Eb;if(!Eb){g=406744;break b}h=c[104297]|0;do if(!h)vV(386054,Fb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Hb);break}if(!(c[h+388>>2]|0)){vV(392303,Gb);break}Hb=Sh[g&255](h,408628)|0;c[tc+184>>2]=Hb;if(!Hb){g=408628;break b}h=c[104297]|0;do if(!h)vV(386054,Ib);else{g=c[h+168>>2]|0;if(!g){vV(392332,Kb);break}if(!(c[h+388>>2]|0)){vV(392303,Jb);break}Kb=Sh[g&255](h,409311)|0;c[tc+188>>2]=Kb;if(!Kb){g=409311;break b}h=c[104297]|0;do if(!h)vV(386054,Lb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Nb);break}if(!(c[h+388>>2]|0)){vV(392303,Mb);break}Nb=Sh[g&255](h,408127)|0;c[tc+192>>2]=Nb;if(!Nb){g=408127;break b}h=c[104297]|0;do if(!h)vV(386054,Ob);else{g=c[h+168>>2]|0;if(!g){vV(392332,Qb);break}if(!(c[h+388>>2]|0)){vV(392303,Pb);break}Qb=Sh[g&255](h,408210)|0;c[tc+196>>2]=Qb;if(!Qb){g=408210;break b}h=c[104297]|0;do if(!h)vV(386054,Rb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Tb);break}if(!(c[h+388>>2]|0)){vV(392303,Sb);break}Tb=Sh[g&255](h,409008)|0;c[tc+200>>2]=Tb;if(!Tb){g=409008;break b}h=c[104297]|0;do if(!h)vV(386054,Ub);else{g=c[h+168>>2]|0;if(!g){vV(392332,Wb);break}if(!(c[h+388>>2]|0)){vV(392303,Vb);break}Wb=Sh[g&255](h,408163)|0;c[tc+204>>2]=Wb;if(!Wb){g=408163;break b}h=c[104297]|0;do if(!h)vV(386054,Xb);else{g=c[h+168>>2]|0;if(!g){vV(392332,Zb);break}if(!(c[h+388>>2]|0)){vV(392303,Yb);break}Zb=Sh[g&255](h,407817)|0;c[tc+208>>2]=Zb;if(!Zb){g=407817;break b}h=c[104297]|0;do if(!h)vV(386054,_b);else{g=c[h+168>>2]|0;if(!g){vV(392332,ac);break}if(!(c[h+388>>2]|0)){vV(392303,$b);break}ac=Sh[g&255](h,408056)|0;c[tc+212>>2]=ac;if(!ac){g=408056;break b}h=c[104297]|0;do if(!h)vV(386054,bc);else{g=c[h+168>>2]|0;if(!g){vV(392332,dc);break}if(!(c[h+388>>2]|0)){vV(392303,cc);break}dc=Sh[g&255](h,407141)|0;c[tc+216>>2]=dc;if(!dc){g=407141;break b}h=c[104297]|0;do if(!h)vV(386054,ec);else{g=c[h+168>>2]|0;if(!g){vV(392332,gc);break}if(!(c[h+388>>2]|0)){vV(392303,fc);break}gc=Sh[g&255](h,407732)|0;c[tc+220>>2]=gc;if(!gc){g=407732;break b}h=c[104297]|0;do if(!h)vV(386054,ic);else{g=c[h+168>>2]|0;if(!g){vV(392332,kc);break}if(!(c[h+388>>2]|0)){vV(392303,jc);break}kc=Sh[g&255](h,407193)|0;c[tc+224>>2]=kc;if(!kc){g=407193;break b}h=c[104297]|0;do if(!h)vV(386054,lc);else{g=c[h+168>>2]|0;if(!g){vV(392332,nc);break}if(!(c[h+388>>2]|0)){vV(392303,mc);break}nc=Sh[g&255](h,407206)|0;c[tc+228>>2]=nc;if(!nc){g=407206;break b}if(!(e&4))wV(0)|0;else wV(1)|0;g=c[104297]|0;c:do if(g|0){k=c[g+664>>2]|0;c[sc>>2]=0;oc=c[sc>>2]|0;c[sc>>2]=1;if(oc|0){g=qc+4|0;h=rc+4|0;do{c[qc>>2]=0;c[g>>2]=0;i=0;j=0;while(1){c[105438]=0;c[rc>>2]=i;c[h>>2]=j;oc=(yh(rc|0,qc|0)|0)!=0;if(!(oc&(c[105438]|0)==4))break;i=c[qc>>2]|0;j=c[g>>2]|0}oc=c[sc>>2]|0;c[sc>>2]=1}while((oc|0)!=0)}c[sc>>2]=0;g=c[104298]|0;if(!g)break;while(1){if(!(c[g>>2]|0))break;g=c[g+8>>2]|0;if(!g)break c}g=c[g+4>>2]|0;if((k|0)==0|(g|0)==0)break;if((c[g>>2]|0)>>>0<k>>>0)break;if(!(c[g+4+(k+-1<<3)>>2]|0))break;g=c[104297]|0;h=c[g+192>>2]|0;if(!h)break;if((Rh[h&511](g)|0)<=0)break;c[hc>>2]=c[hc>>2]|4}while(0);sc=c[(c[104297]|0)+364>>2]|0;c[wc>>2]=sc;if(sc&1|0)c[tc+4>>2]=1;c[wc>>2]=0;li[c[m>>2]&511](3379,wc);c[f+180>>2]=c[wc>>2];c[wc>>2]=0;li[c[m>>2]&511](3379,wc);c[f+184>>2]=c[wc>>2];li[c[m>>2]&511](36345,yc);li[c[n>>2]&511](36346,zc);g=c[yc>>2]|0;if(a[zc>>0]|0){g=g+1|0;c[yc>>2]=g}do if(!g)g=0;else{h=g<<2;if(g>>>0<=65535){g=h;break}g=((h>>>0)/(g>>>0)|0|0)==4?h:-1}while(0);h=B2(g)|0;if(!h){c[tc+244>>2]=0;rV(f);vV(392416,xc);break a}if(c[h+-4>>2]&3|0)u6(h|0,0,g|0)|0;g=tc+244|0;c[g>>2]=h;c[tc+240>>2]=c[yc>>2];li[c[m>>2]&511](36344,h);if(a[zc>>0]|0)c[(c[g>>2]|0)+((c[yc>>2]|0)+-1<<2)>>2]=-1;c[tc+232>>2]=0;li[c[m>>2]&511](36006,Ac);c[tc+236>>2]=c[Ac>>2];c[f+4>>2]=213;c[f+8>>2]=27;c[f+12>>2]=164;c[f+28>>2]=6;c[f+32>>2]=5;c[f+36>>2]=7;c[f+40>>2]=214;c[f+44>>2]=165;c[f+48>>2]=417;c[f+52>>2]=418;c[f+56>>2]=419;c[f+60>>2]=28;c[f+64>>2]=29;c[f+68>>2]=30;c[f+72>>2]=15;c[f+76>>2]=1;c[f+80>>2]=8;c[f+84>>2]=275;c[f+88>>2]=215;c[f+92>>2]=276;c[f+96>>2]=16;c[f+100>>2]=166;g=f+116|0;Jc=f+112|0;h=c[Jc>>2]|0;c[Jc>>2]=h+1;c[g+(h<<2)>>2]=842094169;h=c[Jc>>2]|0;c[Jc>>2]=h+1;c[g+(h<<2)>>2]=1448433993;h=c[Jc>>2]|0;c[Jc>>2]=h+1;c[g+(h<<2)>>2]=842094158;h=c[Jc>>2]|0;c[Jc>>2]=h+1;c[g+(h<<2)>>2]=825382478;h=c[uc>>2]|0;g=c[h>>2]|0;do if((c[104296]|0)==(g|0))FV(f)|0;else{c[h+268>>2]=0;if((tV(c[pc>>2]|0,g)|0)<0)break;c[104296]=c[h>>2];FV(f)|0;g=c[uc>>2]|0;if(!(c[g+4>>2]|0))break;g=g+108|0;do{}while((Qh[c[g>>2]&15]()|0)!=0)}while(0);c[h+8>>2]=-1;c[h+12>>2]=0;fi[c[h+16>>2]&511](33984);g=h+136|0;li[c[g>>2]&511](3333,1);li[c[g>>2]&511](3317,1);ci[c[h+40>>2]&3](+(d[h+272>>0]|0)*.003921568859368563,+(d[h+273>>0]|0)*.003921568859368563,+(d[h+274>>0]|0)*.003921568859368563,+(d[h+275>>0]|0)*.003921568859368563);fi[c[h+84>>2]&511](0);fi[c[h+72>>2]&511](1);g=c[uc>>2]|0;if(!(c[g+4>>2]|0)){Kc=f;l=Lc;return Kc|0}j=g+108|0;g=Qh[c[j>>2]&15]()|0;if(!g){Kc=f;l=Lc;return Kc|0}else h=436559;while(1){if((h|0)!=0?(a[h>>0]|0)!=0:0)i=h;else i=385809;switch(g|0){case 1280:{h=385880;break}case 1281:{h=385863;break}case 1282:{h=385842;break}case 1285:{h=385825;break}default:h=385817}c[Kc>>2]=i;c[Kc+4>>2]=385922;c[Kc+8>>2]=1954;c[Kc+12>>2]=386016;c[Kc+16>>2]=h;c[Kc+20>>2]=g;vV(385896,Kc);g=Qh[c[j>>2]&15]()|0;if(!g)break;else h=i}l=Lc;return f|0}while(0);c[tc+228>>2]=0;g=407206;break b}while(0);c[tc+224>>2]=0;g=407193;break b}while(0);c[tc+220>>2]=0;g=407732;break b}while(0);c[tc+216>>2]=0;g=407141;break b}while(0);c[tc+212>>2]=0;g=408056;break b}while(0);c[tc+208>>2]=0;g=407817;break b}while(0);c[tc+204>>2]=0;g=408163;break b}while(0);c[tc+200>>2]=0;g=409008;break b}while(0);c[tc+196>>2]=0;g=408210;break b}while(0);c[tc+192>>2]=0;g=408127;break b}while(0);c[tc+188>>2]=0;g=409311;break b}while(0);c[tc+184>>2]=0;g=408628;break b}while(0);c[tc+180>>2]=0;g=406744;break b}while(0);c[tc+176>>2]=0;g=407713;break b}while(0);c[tc+172>>2]=0;g=407511;break b}while(0);c[tc+168>>2]=0;g=407523;break b}while(0);c[tc+164>>2]=0;g=407012;break b}while(0);c[tc+160>>2]=0;g=409236;break b}while(0);c[tc+156>>2]=0;g=406999;break b}while(0);c[tc+152>>2]=0;g=407891;break b}while(0);c[tc+148>>2]=0;g=408731;break b}while(0);c[tc+144>>2]=0;g=409335;break b}while(0);c[tc+140>>2]=0;g=407028;break b}while(0);c[tc+136>>2]=0;g=406853;break b}while(0);c[tc+132>>2]=0;g=408042;break b}while(0);c[tc+128>>2]=0;g=407369;break b}while(0);c[tc+124>>2]=0;g=407959;break b}while(0);c[tc+120>>2]=0;g=407940;break b}while(0);c[tc+116>>2]=0;g=407973;break b}while(0);c[tc+112>>2]=0;g=406879;break b}while(0);c[tc+108>>2]=0;g=408770;break b}while(0);c[tc+104>>2]=0;g=406867;break b}while(0);c[tc+100>>2]=0;g=406905;break b}while(0);c[tc+96>>2]=0;g=406919;break b}while(0);c[tc+92>>2]=0;g=408145;break b}while(0);c[tc+88>>2]=0;g=408849;break b}while(0);c[tc+84>>2]=0;g=408650;break b}while(0);c[tc+80>>2]=0;g=408905;break b}while(0);c[tc+76>>2]=0;g=408703;break b}while(0);c[tc+72>>2]=0;g=408676;break b}while(0);c[tc+68>>2]=0;g=408914;break b}while(0);c[tc+64>>2]=0;g=406933;break b}while(0);c[tc+60>>2]=0;g=407855;break b}while(0);c[tc+56>>2]=0;g=407999;break b}while(0);c[tc+52>>2]=0;g=406778;break b}while(0);c[tc+48>>2]=0;g=406709;break b}while(0);c[tc+44>>2]=0;g=407924;break b}while(0);c[tc+40>>2]=0;g=409322;break b}while(0);c[tc+36>>2]=0;g=408947;break b}while(0);c[tc+32>>2]=0;g=409396;break b}while(0);c[tc+28>>2]=0;g=407041;break b}while(0);c[tc+24>>2]=0;g=408106;break b}while(0);c[tc+20>>2]=0;g=406808}}else{vV(386054,n);Jc=34}while(0);if((Jc|0)==34){c[tc+16>>2]=0;g=409050}uV();c[oc>>2]=g;c[oc+4>>2]=434479;vV(385772,oc);rV(f)}while(0);if(!vc){Kc=0;l=Lc;return Kc|0}}f=c[104297]|0;d:do if(!f)vV(386054,Cc);else switch(Bc|0){case 0:case 1:case 2:case 4:{c[f+368>>2]=Bc;break d}default:{c[Dc>>2]=Bc;vV(392914,Dc);break d}}while(0);f=c[104297]|0;if(!f){vV(386054,Gc);f=c[104297]|0;if(!f)vV(386054,Hc);else Jc=520}else{c[f+356>>2]=Fc;Jc=520}if((Jc|0)==520)c[f+360>>2]=Ic;qV(b,Ec)|0;Kc=0;l=Lc;return Kc|0}function pV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+8|0;b=c[104297]|0;if(!b){vV(386054,e);d=0;l=e;return d|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){d=c[a+48>>2]|0;l=e;return d|0}vV(405282,d);d=0;l=e;return d|0}function qV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+128|0;w=y+112|0;v=y+104|0;t=y+96|0;s=y+88|0;r=y+80|0;q=y+72|0;p=y+64|0;o=y+56|0;k=y+48|0;i=y+40|0;j=y+32|0;h=y+24|0;g=y+16|0;f=y+8|0;d=y;e=c[104297]|0;if(b&2|0?(c[e+176>>2]|0)==0:0){vV(392548,d);x=-1;l=y;return x|0}x=a+48|0;d=c[x>>2]|0;u=(d&2048|0)==0?b&-2049:b|2048;do if(e){if((c[a>>2]|0)!=(e+280|0)){vV(405282,g);break}if(d&4|0){d=a+116|0;c[d>>2]=1;VZ(a,0)|0;b=c[104297]|0;e=c[b+84>>2]|0;if(e|0)li[e&511](b,a);c[d>>2]=0;WZ(a,2,0,0)}}else vV(386054,f);while(0);d=a+108|0;b=c[d>>2]|0;if(b|0){c[b>>2]=c[b>>2]&-5;YV(b);c[d>>2]=0}d=c[104297]|0;b=c[d+140>>2]|0;if(b){li[b&511](d,a);d=c[104297]|0}b=c[d+128>>2]|0;g=u&2048;if((g|0)==0&(b|0)!=0)li[b&511](d,a);d=u&2;a:do if((c[x>>2]&2|0)==(d|0))b=0;else{e=c[104297]|0;b=(e|0)==0;if(!d){if(b){vV(386054,i);b=0;break}d=e+388|0;b=c[d>>2]|0;if((b|0)<=0){b=0;break}c[d>>2]=b+-1;if((b|0)!=1){b=0;break}d=c[e+172>>2]|0;if(!d){b=0;break}fi[d&511](e);b=0;break}if(b){vV(386054,h);x=-1;l=y;return x|0}d=c[e+388>>2]|0;do if(!d){d=c[e+164>>2]|0;if(!d){vV(392332,j);x=-1;l=y;return x|0}d=Sh[d&255](e,0)|0;e=c[104297]|0;if(!d){b=e;d=c[e+388>>2]|0;break}b=c[e+172>>2]|0;if(b|0)fi[b&511](e);if((d|0)<0)d=-1;else{b=1;break a}l=y;return d|0}else b=e;while(0);c[b+388>>2]=d+1;b=1}while(0);e=u&1024050|8;c[x>>2]=e;c[a+52>>2]=e;c[a+120>>2]=0;e=c[104297]|0;f=c[e+32>>2]|0;d=(g|0)!=0;if(!(d|(f|0)==0)?(Sh[f&255](e,a)|0)<0:0){if(!b){x=-1;l=y;return x|0}e=c[104297]|0;if(e){d=e+388|0;b=c[d>>2]|0;if(((b|0)>0?(c[d>>2]=b+-1,(b|0)==1):0)?(m=c[e+172>>2]|0,m|0):0)fi[m&511](e)}else vV(386054,k);c[x>>2]=c[x>>2]&-3;x=-1;l=y;return x|0}if(d)c[x>>2]=c[x>>2]|2048;d=c[104297]|0;b=c[d+40>>2]|0;if((b|0)!=0?(c[a+8>>2]|0)!=0:0){li[b&511](d,a);d=c[104297]|0}b=c[d+44>>2]|0;if(b|0?(n=c[a+12>>2]|0,n|0):0)si[b&127](d,a,n);if(c[a+132>>2]|0)Sh[c[(c[104297]|0)+256>>2]&255](a,1)|0;do if(u&128|0){b=c[104297]|0;if(!b){vV(386054,o);break}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(c[x>>2]&128|0)break;d=c[b+92>>2]|0;if(!d)break;li[d&511](b,a);break}vV(405282,p)}while(0);do if(u&64|0){d=c[104297]|0;if(!d){vV(386054,q);break}if(a|0?(c[a>>2]|0)==(d+280|0):0){if(c[x>>2]&64|0)break;VZ(a,0)|0;d=c[104297]|0;b=c[d+96>>2]|0;if(!b)break;li[b&511](d,a);break}vV(405282,r)}while(0);do if(u&1|0){d=c[104297]|0;if(!d){vV(386054,s);break}if(a|0?(c[a>>2]|0)==(d+280|0):0){d=u&4097;b=c[x>>2]|0;e=b&4097;if((d|0)==(e|0))break;c[x>>2]=b&-4098|d;if(!(VZ(a,(b&68|0)==4&1)|0))break;c[x>>2]=c[x>>2]&-4098|e;break}vV(405282,t)}while(0);if(u&256|0)XZ(a);if(u&8|0){x=0;l=y;return x|0}b=c[104297]|0;if(!b){vV(386054,v);x=0;l=y;return x|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(c[x>>2]&4|0){x=0;l=y;return x|0}d=c[b+80>>2]|0;if(d|0)li[d&511](b,a);WZ(a,1,0,0);x=0;l=y;return x|0}vV(405282,w);x=0;l=y;return x|0}function rV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s;o=s+40|0;p=s+32|0;q=s+24|0;j=b+320|0;r=c[j>>2]|0;if(!r){C2(b);l=s;return}e=c[r>>2]|0;if((c[104296]|0)!=(e|0)){c[r+268>>2]=0;if((tV(c[b+188>>2]|0,e)|0)>=0){c[104296]=c[r>>2];FV(b)|0;d=c[j>>2]|0;f=5}}else{d=r;f=5}if((f|0)==5?c[d+4>>2]|0:0){d=d+108|0;do{}while((Qh[c[d>>2]&15]()|0)!=0)}d=c[r+252>>2]|0;if(d|0){e=r+60|0;do{fi[c[e>>2]&511](c[d>>2]|0);i=d;d=c[d+24>>2]|0;C2(i)}while((d|0)!=0)}d=c[r+260>>2]|0;if(d|0){e=r+56|0;do{fi[c[e>>2]&511](c[d>>2]|0);i=d;d=c[d+156>>2]|0;C2(i)}while((d|0)!=0)}d=c[r>>2]|0;if(d|0){i=r+232|0;e=c[i>>2]|0;if(!e)i=d;else{h=r+204|0;do{d=e;e=c[e+12>>2]|0;li[c[h>>2]&511](1,d+8|0);d=c[j>>2]|0;a:do if(c[d+4>>2]|0?(k=d+108|0,m=Qh[c[k>>2]&15]()|0,m|0):0){d=436559;g=m;while(1){if(!((d|0)!=0?(a[d>>0]|0)!=0:0))d=385809;switch(g|0){case 1280:{f=385880;break}case 1281:{f=385863;break}case 1282:{f=385842;break}case 1285:{f=385825;break}default:f=385817}c[n>>2]=d;c[n+4>>2]=385922;c[n+8>>2]=464;c[n+12>>2]=392373;c[n+16>>2]=f;c[n+20>>2]=g;vV(385896,n);g=Qh[c[k>>2]&15]()|0;if(!g)break a}}while(0);C2(c[i>>2]|0);c[i>>2]=e}while((e|0)!=0);i=c[r>>2]|0}d=c[104297]|0;if((i|0)!=0&(d|0)!=0){h=c[d+664>>2]|0;c[q>>2]=0;n=c[q>>2]|0;c[q>>2]=1;if(n|0){d=o+4|0;e=p+4|0;do{c[o>>2]=0;c[d>>2]=0;f=0;g=0;while(1){c[105438]=0;c[p>>2]=f;c[e>>2]=g;n=(yh(p|0,o|0)|0)!=0;if(!(n&(c[105438]|0)==4))break;f=c[o>>2]|0;g=c[d>>2]|0}n=c[q>>2]|0;c[q>>2]=1}while((n|0)!=0)}c[q>>2]=0;d=c[104298]|0;b:do if(d){while(1){if(!(c[d>>2]|0))break;d=c[d+8>>2]|0;if(!d){d=0;break b}}d=c[d+4>>2]|0;if(!((h|0)==0|(d|0)==0)?(c[d>>2]|0)>>>0>=h>>>0:0)d=c[d+4+(h+-1<<3)>>2]|0;else d=0}else d=0;while(0);if((d|0)==(i|0))tV(0,0)|0;q=c[104297]|0;li[c[q+200>>2]&511](q,i)}}C2(c[r+244>>2]|0);C2(r);C2(b);l=s;return}function sV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f+8|0;b=c[104297]|0;if(!b){vV(386054,f);a=0;l=f;return a|0}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(!(c[a+48>>2]&2)){vV(386095,e);a=0;l=f;return a|0}b=Sh[c[b+176>>2]&255](b,a)|0;if(!b){a=0;l=f;return a|0}e=c[104297]|0;c[e+652>>2]=a;c[e+656>>2]=b;TZ(c[e+660>>2]|0,a);TZ(c[(c[104297]|0)+664>>2]|0,b);a=b;l=f;return a|0}vV(405282,d);a=0;l=f;return a|0}function tV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+32|0;o=q+24|0;n=q+16|0;i=q+8|0;j=q+48|0;k=q+40|0;m=q+36|0;d=c[104297]|0;a:do if(d){h=c[d+660>>2]|0;c[m>>2]=0;g=c[m>>2]|0;c[m>>2]=1;if(g|0){d=j+4|0;e=k+4|0;do{c[j>>2]=0;c[d>>2]=0;f=0;g=0;while(1){c[105438]=0;c[k>>2]=f;c[e>>2]=g;g=(yh(k|0,j|0)|0)!=0;if(!(g&(c[105438]|0)==4))break;f=c[j>>2]|0;g=c[d>>2]|0}g=c[m>>2]|0;c[m>>2]=1}while((g|0)!=0)}c[m>>2]=0;d=c[104298]|0;if(d){while(1){if(!(c[d>>2]|0))break;d=c[d+8>>2]|0;if(!d){d=0;break a}}d=c[d+4>>2]|0;if(!((h|0)==0|(d|0)==0)?(c[d>>2]|0)>>>0>=h>>>0:0)d=c[d+4+(h+-1<<3)>>2]|0;else d=0}else d=0}else{vV(386054,q);d=0}while(0);if((d|0)==(a|0)){d=c[104297]|0;b:do if(d){h=c[d+664>>2]|0;c[m>>2]=0;i=c[m>>2]|0;c[m>>2]=1;if(i|0){d=j+4|0;e=k+4|0;do{c[j>>2]=0;c[d>>2]=0;f=0;g=0;while(1){c[105438]=0;c[k>>2]=f;c[e>>2]=g;i=(yh(k|0,j|0)|0)!=0;if(!(i&(c[105438]|0)==4))break;f=c[j>>2]|0;g=c[d>>2]|0}i=c[m>>2]|0;c[m>>2]=1}while((i|0)!=0)}c[m>>2]=0;d=c[104298]|0;if(d){while(1){if(!(c[d>>2]|0))break;d=c[d+8>>2]|0;if(!d){d=0;break b}}d=c[d+4>>2]|0;if(!((h|0)==0|(d|0)==0)?(c[d>>2]|0)>>>0>=h>>>0:0)d=c[d+4+(h+-1<<3)>>2]|0;else d=0}else d=0}else{vV(386054,i);d=0}while(0);if((d|0)==(b|0)){b=0;l=q;return b|0}}d=c[104297]|0;do if(!b)a=0;else{if(!d){vV(386054,n);b=-1;l=q;return b|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){if(c[a+48>>2]&2|0)break;vV(386095,p);b=-1;l=q;return b|0}vV(405282,o);b=-1;l=q;return b|0}while(0);d=Th[c[d+180>>2]&63](d,a,b)|0;if(d|0){b=d;l=q;return b|0}p=c[104297]|0;c[p+652>>2]=a;c[p+656>>2]=b;TZ(c[p+660>>2]|0,a);TZ(c[(c[104297]|0)+664>>2]|0,b);b=0;l=q;return b|0}function uV(){var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+24|0;q=t+16|0;p=t+8|0;o=t;k=t+32|0;a[434479]=0;if(!(c[103104]|0)){l=t;return}e=a[412420]|0;a:do if(!(e<<24>>24)){d=434479;b=1023}else{m=k+1|0;n=k+30|0;f=0;d=434479;g=412420;b=1023;while(1){while(1){if(e<<24>>24==37)break;g=g+1|0;i=d+1|0;a[d>>0]=e;j=b+-1|0;e=a[g>>0]|0;if(!((b|0)>1&e<<24>>24!=0)){d=i;b=j;break a}else{d=i;b=j}}a[k>>0]=37;j=m;e=g+1|0;while(1){i=a[e>>0]|0;if(!(i<<24>>24==46|(i+-48&255)<10)){s=9;break}e=e+1|0;g=j+1|0;a[j>>0]=i;if(j>>>0<n>>>0)j=g;else{i=e;break}}if((s|0)==9){s=0;a[j>>0]=i;g=j+1|0;i=e+1|0}a[g>>0]=0;switch(a[j>>0]|0){case 37:{a[d>>0]=37;d=d+1|0;b=b+-1|0;break}case 88:case 120:case 111:case 117:case 100:case 105:case 99:{c[o>>2]=c[412552+(f<<7)>>2];j=SZ(d,b,k,o)|0;g=(j|0)>0;f=f+1|0;d=g?d+j|0:d;b=b-(g?j:0)|0;break}case 102:{h[p>>3]=+h[412552+(f<<7)>>3];j=SZ(d,b,k,p)|0;g=(j|0)>0;f=f+1|0;d=g?d+j|0:d;b=b-(g?j:0)|0;break}case 112:{c[q>>2]=c[412552+(f<<7)>>2];j=SZ(d,b,k,q)|0;g=(j|0)>0;f=f+1|0;d=g?d+j|0:d;b=b-(g?j:0)|0;break}case 115:{c[r>>2]=412552+(f<<7);j=SZ(d,b,k,r)|0;g=(j|0)>0;f=f+1|0;d=g?d+j|0:d;b=b-(g?j:0)|0;break}default:{}}e=a[i>>0]|0;if(!((b|0)>0&e<<24>>24!=0))break a;else g=i}}while(0);a[((b|0)<0?d+(b+-1)|0:d)>>0]=0;l=t;return}function vV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0;j=l;l=l+32|0;i=j;g=j+8|0;if(!b){l=j;return}c[103104]=1;e=r4(b)|0;e=e>>>0<127?e:127;s6(412420,b|0,e|0)|0;a[412420+e>>0]=0;c[g>>2]=d;c[103137]=0;e=a[b>>0]|0;a:do if(e<<24>>24){d=b;b=0;do{d=d+1|0;if(e<<24>>24==37){while(1){e=a[d>>0]|0;f=d+1|0;if(e<<24>>24==46|(e+-48&255)<10)d=f;else break}switch(e<<24>>24|0){case 0:break;case 88:case 120:case 111:case 117:case 100:case 105:case 99:{e=(c[g>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[g>>2]=e+4;e=b+1|0;c[103137]=e;c[412552+(b<<7)>>2]=d;d=f;b=e;break}case 102:{e=(c[g>>2]|0)+(8-1)&~(8-1);k=+h[e>>3];c[g>>2]=e+8;e=b+1|0;c[103137]=e;h[412552+(b<<7)>>3]=k;d=f;b=e;break}case 112:{e=(c[g>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[g>>2]=e+4;e=b+1|0;c[103137]=e;c[412552+(b<<7)>>2]=d;d=f;b=e;break}case 115:{e=(c[g>>2]|0)+(4-1)&~(4-1);m=c[e>>2]|0;c[g>>2]=e+4;m=(m|0)==0?410376:m;e=412552+(b<<7)|0;d=r4(m)|0;d=d>>>0<127?d:127;s6(e|0,m|0,d|0)|0;a[e+d>>0]=0;b=b+1|0;c[103137]=b;d=f;break}default:d=f}if((b|0)>4)break a}e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);uV();c[i>>2]=434479;QZ(0,0,i);l=j;return}function wV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+16|0;k=n+8|0;g=n+32|0;h=n+24|0;i=n+20|0;b=c[104297]|0;if(!b){vV(386054,n);m=-1;l=n;return m|0}j=c[b+664>>2]|0;c[i>>2]=0;f=c[i>>2]|0;c[i>>2]=1;if(f|0){b=g+4|0;d=h+4|0;do{c[g>>2]=0;c[b>>2]=0;e=0;f=0;while(1){c[105438]=0;c[h>>2]=e;c[d>>2]=f;f=(yh(h|0,g|0)|0)!=0;if(!(f&(c[105438]|0)==4))break;e=c[g>>2]|0;f=c[b>>2]|0}f=c[i>>2]|0;c[i>>2]=1}while((f|0)!=0)}c[i>>2]=0;b=c[104298]|0;a:do if(b|0){while(1){if(!(c[b>>2]|0))break;b=c[b+8>>2]|0;if(!b)break a}i=c[b+4>>2]|0;if((!((j|0)==0|(i|0)==0)?(c[i>>2]|0)>>>0>=j>>>0:0)?c[i+4+(j+-1<<3)>>2]|0:0){b=c[104297]|0;d=c[b+188>>2]|0;if(!d){vV(392210,m);m=-1;l=n;return m|0}else{m=Sh[d&255](b,a)|0;l=n;return m|0}}}while(0);vV(392170,k);m=-1;l=n;return m|0}function xV(b,d){b=b|0;d=d|0;switch(a[d+12>>0]|0){case 2:case 1:case 6:{c[104296]=0;return}case 7:{$h[c[(c[b+320>>2]|0)+88>>2]&31]();return}default:return}}function yV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=c[a+188>>2]|0;f=c[104297]|0;if(!f){vV(386054,h);l=h;return 0}if(e|0?(c[e>>2]|0)==(f+280|0):0){a=c[f+184>>2]|0;if(a|0){ti[a&63](f,e,b,d);l=h;return 0}if(b|0)c[b>>2]=c[e+24>>2];if(!d){l=h;return 0}c[d>>2]=c[e+28>>2];l=h;return 0}vV(405282,g);l=h;return 0}function zV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+240|0;X=Y+216|0;V=Y+192|0;R=Y+168|0;N=Y+144|0;L=Y+120|0;I=Y+96|0;F=Y+72|0;y=Y+48|0;v=Y+24|0;p=Y+16|0;i=Y+8|0;h=Y;W=b+320|0;Q=c[W>>2]|0;g=c[Q>>2]|0;if((c[104296]|0)!=(g|0)){c[Q+268>>2]=0;if((tV(c[b+188>>2]|0,g)|0)>=0){c[104296]=c[Q>>2];FV(b)|0;f=c[W>>2]|0;j=4}}else{f=Q;j=4}if((j|0)==4?c[f+4>>2]|0:0){b=f+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}g=d+4|0;b=c[g>>2]|0;a:do if((b|0)<825382478)if((b|0)<374740996)if((b|0)<372645892)switch(b|0){case 370546692:{A=6408;break a}default:{j=9;break a}}else switch(b|0){case 372645892:{A=6408;break a}default:{j=9;break a}}else if((b|0)<376840196)switch(b|0){case 374740996:{A=6408;break a}default:{j=9;break a}}else switch(b|0){case 376840196:{A=6408;break a}default:{j=9;break a}}else{b:do if((b|0)<842094169)if((b|0)<842094158)switch(b|0){case 825382478:break b;default:{j=9;break a}}else switch(b|0){case 842094158:break b;default:{j=9;break a}}else if((b|0)<1448433993)switch(b|0){case 842094169:break b;default:{j=9;break a}}else switch(b|0){case 1448433993:break b;default:{j=9;break a}}while(0);A=6409}while(0);if((j|0)==9){vV(392056,h);X=-1;l=Y;return X|0}T=B2(44)|0;if(!T){vV(392416,i);X=-1;l=Y;return X|0}if(c[T+-4>>2]&3|0){b=T;f=b+44|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0))}c[T>>2]=0;z=T+4|0;c[z>>2]=3553;c[T+8>>2]=A;c[T+12>>2]=5121;g=c[g>>2]|0;h=(g|0)==1448433993;i=(g|0)==842094169;n=T+24|0;c[n>>2]=(h|i)&1;k=(g|0)==842094158;m=(g|0)==825382478;t=T+28|0;c[t>>2]=(k|m)&1;w=T+36|0;c[w>>2]=0;o=T+32|0;c[o>>2]=0;f=Of(393071)|0;b=c[104300]|0;c:do if(!b){b=f;j=20}else{while(1){if(!(e3(393071,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){b=f;j=20;break c}}if(f|0?(c[b+8>>2]|0)!=2:0){b=f;j=21;break}b=c[b+4>>2]|0;j=20}while(0);if((j|0)==20)if(!b)q=9728;else j=21;if((j|0)==21)if((a[b>>0]|0)==48)q=9728;else{q=(q4(b,393096)|0)==0;q=q?9728:9729}s=d+8|0;if((c[s>>2]|0)==1){f=c[d+12>>2]|0;d:do if((g|0)==0|(g&-268435456|0)==268435456)b=g&255;else{if((g|0)<1498831189)switch(g|0){case 844715353:{b=2;break d}default:{}}else switch(g|0){case 1498831189:{b=2;break d}default:{}}b=(g|0)==1431918169?2:1}while(0);f=O(b,f)|0;c[T+20>>2]=f;f=O(c[d+16>>2]|0,f)|0;if(h^(i^1))b=f;else b=((f|0)/2|0)+f|0;if(!(k^(m^1)))b=((f|0)/2|0)+b|0;f=B2(b)|0;if(!f){C2(T);vV(392416,p);X=-1;l=Y;return X|0}if(c[f+-4>>2]&3|0)u6(f|0,0,b|0)|0;c[T+16>>2]=f}b=c[W>>2]|0;e:do if(c[b+4>>2]|0?(u=b+108|0,r=Qh[c[u>>2]&15]()|0,r|0):0){b=436559;g=r;while(1){if((b|0)!=0?(a[b>>0]|0)!=0:0)f=b;else f=385809;switch(g|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[v>>2]=f;c[v+4>>2]=385922;c[v+8>>2]=574;c[v+12>>2]=392085;c[v+16>>2]=b;c[v+20>>2]=g;vV(385896,v);g=Qh[c[u>>2]&15]()|0;if(!g)break e;else b=f}}while(0);k=Q+96|0;if(c[n>>2]|0){li[c[k>>2]&511](1,o);b=c[W>>2]|0;if(c[b+4>>2]|0?(x=b+108|0,e=Qh[c[x>>2]&15]()|0,e|0):0){while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[y>>2]=392140;c[y+4>>2]=385922;c[y+8>>2]=578;c[y+12>>2]=392085;c[y+16>>2]=b;c[y+20>>2]=e;vV(385896,y);e=Qh[c[x>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}i=Q+16|0;fi[c[i>>2]&511](33986);j=Q+28|0;li[c[j>>2]&511](c[z>>2]|0,c[o>>2]|0);b=Q+160|0;si[c[b>>2]&127](c[z>>2]|0,10241,q);si[c[b>>2]&127](c[z>>2]|0,10240,q);si[c[b>>2]&127](c[z>>2]|0,10242,33071);si[c[b>>2]&127](c[z>>2]|0,10243,33071);e=Q+156|0;f=d+12|0;g=d+16|0;Di[c[e>>2]&31](c[z>>2]|0,0,A,(c[f>>2]|0)/2|0,(c[g>>2]|0)/2|0,0,A,5121,0);li[c[k>>2]&511](1,w);h=c[W>>2]|0;if(c[h+4>>2]|0?(D=h+108|0,B=Qh[c[D>>2]&15]()|0,B|0):0){e=B;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[F>>2]=392140;c[F+4>>2]=385922;c[F+8>>2]=590;c[F+12>>2]=392085;c[F+16>>2]=b;c[F+20>>2]=e;vV(385896,F);e=Qh[c[D>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}fi[c[i>>2]&511](33985);li[c[j>>2]&511](c[z>>2]|0,c[w>>2]|0);si[c[b>>2]&127](c[z>>2]|0,10241,q);si[c[b>>2]&127](c[z>>2]|0,10240,q);si[c[b>>2]&127](c[z>>2]|0,10242,33071);si[c[b>>2]&127](c[z>>2]|0,10243,33071);Di[c[e>>2]&31](c[z>>2]|0,0,A,(c[f>>2]|0)/2|0,(c[g>>2]|0)/2|0,0,A,5121,0);b=c[W>>2]|0;if(c[b+4>>2]|0?(G=b+108|0,C=Qh[c[G>>2]&15]()|0,C|0):0){e=C;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[I>>2]=392155;c[I+4>>2]=385922;c[I+8>>2]=600;c[I+12>>2]=392085;c[I+16>>2]=b;c[I+20>>2]=e;vV(385896,I);e=Qh[c[G>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}}if(c[t>>2]|0){li[c[k>>2]&511](1,w);b=c[W>>2]|0;if(c[b+4>>2]|0?(J=b+108|0,E=Qh[c[J>>2]&15]()|0,E|0):0){e=E;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[L>>2]=392140;c[L+4>>2]=385922;c[L+8>>2]=607;c[L+12>>2]=392085;c[L+16>>2]=b;c[L+20>>2]=e;vV(385896,L);e=Qh[c[J>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}fi[c[Q+16>>2]&511](33985);li[c[Q+28>>2]&511](c[z>>2]|0,c[w>>2]|0);b=Q+160|0;si[c[b>>2]&127](c[z>>2]|0,10241,q);si[c[b>>2]&127](c[z>>2]|0,10240,q);si[c[b>>2]&127](c[z>>2]|0,10242,33071);si[c[b>>2]&127](c[z>>2]|0,10243,33071);Di[c[Q+156>>2]&31](c[z>>2]|0,0,6410,(c[d+12>>2]|0)/2|0,(c[d+16>>2]|0)/2|0,0,6410,5121,0);b=c[W>>2]|0;if(c[b+4>>2]|0?(M=b+108|0,H=Qh[c[M>>2]&15]()|0,H|0):0){e=H;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[N>>2]=392155;c[N+4>>2]=385922;c[N+8>>2]=617;c[N+12>>2]=392085;c[N+16>>2]=b;c[N+20>>2]=e;vV(385896,N);e=Qh[c[M>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}}li[c[k>>2]&511](1,T);b=c[W>>2]|0;if(c[b+4>>2]|0?(P=b+108|0,K=Qh[c[P>>2]&15]()|0,K|0):0){e=K;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[R>>2]=392140;c[R+4>>2]=385922;c[R+8>>2]=623;c[R+12>>2]=392085;c[R+16>>2]=b;c[R+20>>2]=e;vV(385896,R);e=Qh[c[P>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}c[d+68>>2]=T;fi[c[Q+16>>2]&511](33984);li[c[Q+28>>2]&511](c[z>>2]|0,c[T>>2]|0);e=Q+160|0;si[c[e>>2]&127](c[z>>2]|0,10241,q);si[c[e>>2]&127](c[z>>2]|0,10240,q);si[c[e>>2]&127](c[z>>2]|0,10242,33071);si[c[e>>2]&127](c[z>>2]|0,10243,33071);e=d+12|0;f=d+16|0;Di[c[Q+156>>2]&31](c[z>>2]|0,0,A,c[e>>2]|0,c[f>>2]|0,0,A,5121,0);b=c[W>>2]|0;if(c[b+4>>2]|0?(U=b+108|0,S=Qh[c[U>>2]&15]()|0,S|0):0){e=S;while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[V>>2]=392155;c[V+4>>2]=385922;c[V+8>>2]=634;c[V+12>>2]=392085;c[V+16>>2]=b;c[V+20>>2]=e;vV(385896,V);e=Qh[c[U>>2]&15]()|0;if(!e){b=-1;break}}l=Y;return b|0}f:do if((c[s>>2]|0)==2){h=c[W>>2]|0;g=c[e>>2]|0;e=c[f>>2]|0;f=h+232|0;b=c[f>>2]|0;if(b|0)do{if((c[b>>2]|0)==(g|0)?(c[b+4>>2]|0)==(e|0):0)break f;b=c[b+12>>2]|0}while((b|0)!=0);b=B2(16)|0;c[b>>2]=g;c[b+4>>2]=e;li[c[h+92>>2]&511](1,b+8|0);c[b+12>>2]=c[f>>2];c[f>>2]=b}else b=0;while(0);c[T+40>>2]=b;b=c[W>>2]|0;if(!(c[b+4>>2]|0)){X=0;l=Y;return X|0}g=b+108|0;b=Qh[c[g>>2]&15]()|0;if(!b){X=0;l=Y;return X|0}else e=436559;while(1){if((e|0)!=0?(a[e>>0]|0)!=0:0)f=e;else f=385809;switch(b|0){case 1280:{e=385880;break}case 1281:{e=385863;break}case 1282:{e=385842;break}case 1285:{e=385825;break}default:e=385817}c[X>>2]=f;c[X+4>>2]=385922;c[X+8>>2]=644;c[X+12>>2]=392085;c[X+16>>2]=e;c[X+20>>2]=b;vV(385896,X);b=Qh[c[g>>2]&15]()|0;if(!b){b=-1;break}else e=f}l=Y;return b|0}function AV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+64|0;L=M+32|0;I=M+24|0;B=M+16|0;x=M+8|0;t=M;J=a+320|0;K=c[J>>2]|0;H=c[b+68>>2]|0;g=c[K>>2]|0;if((c[104296]|0)!=(g|0)){c[K+268>>2]=0;if((tV(c[a+188>>2]|0,g)|0)>=0){c[104296]=c[K>>2];FV(a)|0;h=c[J>>2]|0;u=4}}else{h=K;u=4}if((u|0)==4?c[h+4>>2]|0:0){a=h+108|0;do{}while((Qh[c[a>>2]&15]()|0)!=0)}F=d+8|0;if((c[F>>2]|0)<1){L=0;l=M;return L|0}G=d+12|0;if((c[G>>2]|0)<1){L=0;l=M;return L|0}C=K+28|0;D=H+4|0;li[c[C>>2]&511](c[D>>2]|0,c[H>>2]|0);j=c[D>>2]|0;k=c[d>>2]|0;E=d+4|0;m=c[E>>2]|0;n=c[F>>2]|0;o=c[G>>2]|0;z=H+8|0;p=c[z>>2]|0;A=H+12|0;q=c[A>>2]|0;y=b+4|0;a=c[y>>2]|0;a:do if((a|0)==0|(a&-268435456|0)==268435456)a=a&255;else{if((a|0)<1498831189)switch(a|0){case 844715353:{a=2;break a}default:{}}else switch(a|0){case 1498831189:{a=2;break a}default:{}}a=(a|0)==1431918169?2:1}while(0);b=O(a,n)|0;do if((b|0)!=(f|0)){i=B2(O(b,o)|0)|0;if(!i){vV(392416,t);break}if((o|0)>0){a=0;g=i;h=e;while(1){s6(g|0,h|0,b|0)|0;a=a+1|0;if((a|0)==(o|0)){r=i;s=i;u=18;break}else{g=g+b|0;h=h+f|0}}}else{r=i;s=i;u=18}}else{r=0;s=e;u=18}while(0);if((u|0)==18?(Di[c[K+164>>2]&31](j,0,k,m,n,o,p,q,s),r|0):0)C2(r);do if(c[H+24>>2]|0){p=e+(O(c[G>>2]|0,f)|0)|0;e=c[C>>2]|0;a=c[D>>2]|0;if((c[y>>2]|0)==842094169)li[e&511](a,c[H+32>>2]|0);else li[e&511](a,c[H+36>>2]|0);h=c[D>>2]|0;b=(c[d>>2]|0)/2|0;i=(c[E>>2]|0)/2|0;j=(c[F>>2]|0)/2|0;e=c[G>>2]|0;k=(e|0)/2|0;m=c[z>>2]|0;n=c[A>>2]|0;q=(f|0)/2|0;do if((j|0)!=(q|0)){o=B2(O(k,j)|0)|0;if(!o){vV(392416,x);break}if((e|0)>1){e=0;a=o;g=p;while(1){s6(a|0,g|0,j|0)|0;e=e+1|0;if((e|0)==(k|0)){v=o;w=o;u=29;break}else{a=a+j|0;g=g+q|0}}}else{v=o;w=o;u=29}}else{v=0;w=p;u=29}while(0);if((u|0)==29?(Di[c[K+164>>2]&31](h,0,b,i,j,k,m,n,w),v|0):0)C2(v);e=p+((O(c[G>>2]|0,f)|0)/4|0)|0;a=c[C>>2]|0;g=c[D>>2]|0;if((c[y>>2]|0)==842094169)li[a&511](g,c[H+36>>2]|0);else li[a&511](g,c[H+32>>2]|0);k=c[D>>2]|0;m=(c[d>>2]|0)/2|0;n=(c[E>>2]|0)/2|0;o=(c[F>>2]|0)/2|0;a=c[G>>2]|0;p=(a|0)/2|0;j=c[z>>2]|0;i=c[A>>2]|0;if((o|0)!=(q|0)){b=B2(O(p,o)|0)|0;if(!b){vV(392416,B);break}if((a|0)>1){a=0;g=b;h=e;while(1){s6(g|0,h|0,o|0)|0;a=a+1|0;if((a|0)==(p|0)){g=b;a=b;break}else{g=g+o|0;h=h+q|0}}}else{g=b;a=b}}else{g=0;a=e}Di[c[K+164>>2]&31](k,0,m,n,o,p,j,i,a);if(g)C2(g)}while(0);do if(c[H+28>>2]|0){e=e+(O(c[G>>2]|0,f)|0)|0;li[c[C>>2]&511](c[D>>2]|0,c[H+36>>2]|0);n=c[D>>2]|0;m=(c[d>>2]|0)/2|0;k=(c[E>>2]|0)/2|0;j=(c[F>>2]|0)/2|0;a=c[G>>2]|0;i=(a|0)/2|0;h=j<<1;if((h|0)!=(f|0)){b=B2(O(h,i)|0)|0;if(!b){vV(392416,I);break}if((a|0)>1){a=0;g=b;while(1){s6(g|0,e|0,h|0)|0;a=a+1|0;if((a|0)==(i|0)){a=b;e=b;break}else{g=g+h|0;e=e+f|0}}}else{a=b;e=b}}else a=0;Di[c[K+164>>2]&31](n,0,m,k,j,i,6410,5121,e);if(a|0)C2(a)}while(0);e=c[J>>2]|0;if(!(c[e+4>>2]|0)){L=0;l=M;return L|0}g=e+108|0;e=Qh[c[g>>2]&15]()|0;if(!e){L=0;l=M;return L|0}while(1){switch(e|0){case 1280:{a=385880;break}case 1281:{a=385863;break}case 1282:{a=385842;break}case 1285:{a=385825;break}default:a=385817}c[L>>2]=391810;c[L+4>>2]=385922;c[L+8>>2]=753;c[L+12>>2]=391964;c[L+16>>2]=a;c[L+20>>2]=e;vV(385896,L);e=Qh[c[g>>2]&15]()|0;if(!e){e=-1;break}}l=M;return e|0}function BV(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0;Q=l;l=l+48|0;P=Q+24|0;L=Q+16|0;C=Q+8|0;w=Q;N=a+320|0;M=c[N>>2]|0;E=c[b+68>>2]|0;b=c[M>>2]|0;if((c[104296]|0)!=(b|0)){c[M+268>>2]=0;if((tV(c[a+188>>2]|0,b)|0)>=0){c[104296]=c[M>>2];FV(a)|0;k=c[N>>2]|0;I=4}}else{k=M;I=4}if((I|0)==4?c[k+4>>2]|0:0){b=k+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}D=d+8|0;if((c[D>>2]|0)<1){P=0;l=Q;return P|0}F=d+12|0;if((c[F>>2]|0)<1){P=0;l=Q;return P|0}x=M+28|0;y=E+4|0;li[c[x>>2]&511](c[y>>2]|0,c[E+32>>2]|0);m=c[y>>2]|0;n=(c[d>>2]|0)/2|0;B=d+4|0;o=(c[B>>2]|0)/2|0;p=(c[D>>2]|0)/2|0;b=c[F>>2]|0;q=(b|0)/2|0;G=E+8|0;r=c[G>>2]|0;H=E+12|0;s=c[H>>2]|0;do if((p|0)!=(j|0)){t=B2(O(q,p)|0)|0;if(!t){vV(392416,w);break}if((b|0)>1){a=0;k=t;b=i;while(1){s6(k|0,b|0,p|0)|0;a=a+1|0;if((a|0)==(q|0)){u=t;v=t;I=14;break}else{k=k+p|0;b=b+j|0}}}else{u=t;v=t;I=14}}else{u=0;v=i;I=14}while(0);if((I|0)==14?(Di[c[M+164>>2]&31](m,0,n,o,p,q,r,s,v),u|0):0)C2(u);li[c[x>>2]&511](c[y>>2]|0,c[E+36>>2]|0);m=c[y>>2]|0;n=(c[d>>2]|0)/2|0;o=(c[B>>2]|0)/2|0;p=(c[D>>2]|0)/2|0;b=c[F>>2]|0;q=(b|0)/2|0;r=c[G>>2]|0;s=c[H>>2]|0;do if((p|0)!=(h|0)){t=B2(O(q,p)|0)|0;if(!t){vV(392416,C);break}if((b|0)>1){a=0;k=t;b=g;while(1){s6(k|0,b|0,p|0)|0;a=a+1|0;if((a|0)==(q|0)){z=t;A=t;I=21;break}else{k=k+p|0;b=b+h|0}}}else{z=t;A=t;I=21}}else{z=0;A=g;I=21}while(0);if((I|0)==21?(Di[c[M+164>>2]&31](m,0,n,o,p,q,r,s,A),z|0):0)C2(z);li[c[x>>2]&511](c[y>>2]|0,c[E>>2]|0);s=c[y>>2]|0;r=c[d>>2]|0;q=c[B>>2]|0;p=c[D>>2]|0;o=c[F>>2]|0;n=c[G>>2]|0;k=c[H>>2]|0;do if((p|0)!=(f|0)){m=B2(O(o,p)|0)|0;if(!m){vV(392416,L);break}if((o|0)>0){b=0;a=m;while(1){s6(a|0,e|0,p|0)|0;b=b+1|0;if((b|0)==(o|0)){J=m;K=m;I=28;break}else{a=a+p|0;e=e+f|0}}}else{J=m;K=m;I=28}}else{J=0;K=e;I=28}while(0);if((I|0)==28?(Di[c[M+164>>2]&31](s,0,r,q,p,o,n,k,K),J|0):0)C2(J);e=c[N>>2]|0;if(!(c[e+4>>2]|0)){P=0;l=Q;return P|0}a=e+108|0;e=Qh[c[a>>2]&15]()|0;if(!e){P=0;l=Q;return P|0}while(1){switch(e|0){case 1280:{b=385880;break}case 1281:{b=385863;break}case 1282:{b=385842;break}case 1285:{b=385825;break}default:b=385817}c[P>>2]=391810;c[P+4>>2]=385922;c[P+8>>2]=803;c[P+12>>2]=391828;c[P+16>>2]=b;c[P+20>>2]=e;vV(385896,P);e=Qh[c[a>>2]&15]()|0;if(!e){e=-1;break}}l=Q;return e|0}function CV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[b+68>>2]|0;g=c[h+20>>2]|0;h=(c[h+16>>2]|0)+(O(c[d+4>>2]|0,g)|0)|0;d=c[d>>2]|0;a=c[b+4>>2]|0;a:do if((a|0)==0|(a&-268435456|0)==268435456)a=a&255;else{if((a|0)<1498831189)switch(a|0){case 844715353:{a=2;break a}default:{}}else switch(a|0){case 1498831189:{a=2;break a}default:{}}a=(a|0)==1431918169?2:1}while(0);c[e>>2]=h+(O(a,d)|0);c[f>>2]=g;return 0}function DV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=c[b+68>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=c[b+12>>2];c[f+12>>2]=c[b+16>>2];AV(a,b,f,c[e+16>>2]|0,c[e+20>>2]|0)|0;l=d;return}function EV(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;a=c[a+320>>2]|0;d=c[a+192>>2]|0;if(!b){li[d&511](36160,c[a+236>>2]|0);b=0;l=e;return b|0}b=c[b+68>>2]|0;li[d&511](36160,c[(c[b+40>>2]|0)+8>>2]|0);zi[c[a+196>>2]&31](36160,36064,c[b+4>>2]|0,c[b>>2]|0,0);if((Rh[c[a+200>>2]&511](36160)|0)==36053){b=0;l=e;return b|0}vV(391778,e);b=-1;l=e;return b|0}function FV(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+112|0;t=u+16|0;f=u+8|0;e=u;d=u+48|0;h=u+40|0;s=b+320|0;k=c[s>>2]|0;if((c[104296]|0)!=(c[k>>2]|0)){t=0;l=u;return t|0}r=b+308|0;if(!(c[r>>2]|0)){i=c[b+188>>2]|0;j=c[104297]|0;do if(!j)vV(386054,e);else{if(i|0?(c[i>>2]|0)==(j+280|0):0){e=c[j+184>>2]|0;if(!e){c[d>>2]=c[i+24>>2];c[h>>2]=c[i+28>>2];break}else{ti[e&63](j,i,d,h);break}}vV(405282,f)}while(0);j=c[b+228>>2]|0;ti[c[k+188>>2]&63](c[b+216>>2]|0,(c[h>>2]|0)-(c[b+220>>2]|0)-j|0,c[b+224>>2]|0,j)}else ti[c[k+188>>2]&63](c[b+216>>2]|0,c[b+220>>2]|0,c[b+224>>2]|0,c[b+228>>2]|0);if(((c[k+268>>2]|0?(m=c[s>>2]|0,n=c[b+224>>2]|0,n|0):0)?(o=c[b+228>>2]|0,o|0):0)?(g[d>>2]=2.0/+(n|0),p=d+4|0,c[p>>2]=0,c[p+4>>2]=0,c[p+8>>2]=0,c[p+12>>2]=0,p=(c[r>>2]|0)!=0,g[d+20>>2]=(p?2.0:-2.0)/+(o|0),q=d+24|0,c[q>>2]=0,c[q+4>>2]=0,c[q+8>>2]=0,c[q+12>>2]=0,c[q+16>>2]=0,c[q+20>>2]=0,g[d+48>>2]=-1.0,g[d+52>>2]=p?-1.0:1.0,g[d+56>>2]=0.0,g[d+60>>2]=1.0,p=m+268|0,q=c[p>>2]|0,f3(q+88|0,d,64)|0):0){ti[c[m+176>>2]&63](c[q+16>>2]|0,1,0,d);f=(c[p>>2]|0)+88|0;e=f+64|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0))}d=c[s>>2]|0;if(!(c[d+4>>2]|0)){t=0;l=u;return t|0}b=d+108|0;d=Qh[c[b>>2]&15]()|0;if(!d){t=0;l=u;return t|0}else e=436559;while(1){if((e|0)!=0?(a[e>>0]|0)!=0:0)f=e;else f=385809;switch(d|0){case 1280:{e=385880;break}case 1281:{e=385863;break}case 1282:{e=385842;break}case 1285:{e=385825;break}default:e=385817}c[t>>2]=f;c[t+4>>2]=385922;c[t+8>>2]=399;c[t+12>>2]=391737;c[t+16>>2]=e;c[t+20>>2]=d;vV(385896,t);d=Qh[c[b>>2]&15]()|0;if(!d){d=-1;break}else e=f}l=u;return d|0}function GV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+8|0;d=j+16|0;f=j+12|0;i=c[a+320>>2]|0;if((c[104296]|0)!=(c[i>>2]|0)){l=j;return 0}if(!(c[a+280>>2]|0)){fi[c[i+68>>2]&511](3089);l=j;return 0}e=a+248|0;fi[c[i+80>>2]&511](3089);if(c[a+308>>2]|0){ti[c[i+144>>2]&63]((c[e>>2]|0)+(c[a+216>>2]|0)|0,(c[a+252>>2]|0)+(c[a+220>>2]|0)|0,c[a+256>>2]|0,c[a+260>>2]|0);l=j;return 0}g=c[a+188>>2]|0;h=c[104297]|0;do if(!h)vV(386054,j);else{if(g|0?(c[g>>2]|0)==(h+280|0):0){b=c[h+184>>2]|0;if(!b){c[d>>2]=c[g+24>>2];c[f>>2]=c[g+28>>2];break}else{ti[b&63](h,g,d,f);break}}vV(405282,b)}while(0);h=c[a+260>>2]|0;ti[c[i+144>>2]&63]((c[e>>2]|0)+(c[a+216>>2]|0)|0,(c[f>>2]|0)-(c[a+220>>2]|0)-(c[a+252>>2]|0)-h|0,c[a+256>>2]|0,h);l=j;return 0}function HV(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b+320|0;s=c[e>>2]|0;g=c[s>>2]|0;if((c[104296]|0)!=(g|0)){c[s+268>>2]=0;if((tV(c[b+188>>2]|0,g)|0)>=0){c[104296]=c[s>>2];FV(b)|0;f=c[e>>2]|0;r=4}}else{f=s;r=4}if((r|0)==4?c[f+4>>2]|0:0){e=f+108|0;do{}while((Qh[c[e>>2]&15]()|0)!=0)}h=s+272|0;i=s+273|0;j=s+274|0;k=s+275|0;l=b+312|0;e=a[l>>0]|0;m=b+313|0;n=a[m>>0]|0;o=b+314|0;g=a[o>>0]|0;p=b+315|0;q=a[p>>0]|0;if(((d[i>>0]|0)<<16|(d[h>>0]|0)<<24|(d[j>>0]|0)<<8|(d[k>>0]|0)|0)!=((n&255)<<16|(e&255)<<24|(g&255)<<8|q&255|0)){f=c[b+308>>2]|0;a:do if(f){f=c[f+4>>2]|0;if((f|0)<372645892)switch(f|0){case 370546692:{f=g;break a}default:{r=10;break a}}else switch(f|0){case 372645892:{f=g;break a}default:{r=10;break a}}}else r=10;while(0);if((r|0)==10){f=e;e=g}ci[c[s+40>>2]&3](+(f&255)*.003921568859368563,+(n&255)*.003921568859368563,+(e&255)*.003921568859368563,+(q&255)*.003921568859368563);a[h>>0]=a[l>>0]|0;a[i>>0]=a[m>>0]|0;a[j>>0]=a[o>>0]|0;a[k>>0]=a[p>>0]|0}e=b+280|0;if(c[e>>2]|0)fi[c[s+68>>2]&511](3089);fi[c[s+36>>2]&511](16384);if(!(c[e>>2]|0))return 0;fi[c[s+80>>2]&511](3089);return 0}function IV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0.0;j=l;e=a+320|0;i=c[e>>2]|0;if((OZ(a)|0)<0){i=-1;l=j;return i|0}f=d<<3;h=l;l=l+((1*f|0)+15&-16)|0;if((d|0)>0){a=0;do{m=+g[b+(a<<3)+4>>2]+.5;k=a<<1;g[h+(k<<2)>>2]=+g[b+(a<<3)>>2]+.5;g[h+((k|1)<<2)>>2]=m;a=a+1|0}while((a|0)!=(d|0))}e=c[e>>2]|0;b=e+276|0;a=c[b>>2]|0;if(!a){li[c[e+216>>2]&511](1,b);a=c[b>>2]|0}li[c[e+220>>2]&511](34962,a);a=e+292|0;if((c[a>>2]|0)>>>0<f>>>0){ti[c[e+224>>2]&63](34962,f,h,35040);c[a>>2]=f}else ti[c[e+228>>2]&63](34962,0,f,h);Ai[c[e+184>>2]&15](0,2,5126,0,0,0);si[c[i+76>>2]&127](0,0,d);k=0;l=j;return k|0}function JV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;n=o;m=b+320|0;k=c[m>>2]|0;if((OZ(b)|0)<0){n=-1;l=o;return n|0}i=e<<3;j=l;l=l+((1*i|0)+15&-16)|0;if((e|0)>0){b=0;do{p=+g[d+(b<<3)+4>>2]+.5;h=b<<1;g[j+(h<<2)>>2]=+g[d+(b<<3)>>2]+.5;g[j+((h|1)<<2)>>2]=p;b=b+1|0}while((b|0)!=(e|0))}h=c[m>>2]|0;f=h+276|0;b=c[f>>2]|0;if(!b){li[c[h+216>>2]&511](1,f);b=c[f>>2]|0}li[c[h+220>>2]&511](34962,b);b=h+292|0;if((c[b>>2]|0)>>>0<i>>>0){ti[c[h+224>>2]&63](34962,i,j,35040);c[b>>2]=i}else ti[c[h+228>>2]&63](34962,0,i,j);Ai[c[h+184>>2]&15](0,2,5126,0,0,0);b=k+76|0;si[c[b>>2]&127](3,0,e);f=e+-1|0;if(!(((e|0)!=2?!(+g[d>>2]!=+g[d+(f<<3)>>2]):0)?!(+g[d+4>>2]!=+g[d+(f<<3)+4>>2]):0))si[c[b>>2]&127](0,f,1);b=c[m>>2]|0;if(!(c[b+4>>2]|0)){n=0;l=o;return n|0}i=b+108|0;b=Qh[c[i>>2]&15]()|0;if(!b){n=0;l=o;return n|0}else f=436559;while(1){if((f|0)!=0?(a[f>>0]|0)!=0:0)h=f;else h=385809;switch(b|0){case 1280:{f=385880;break}case 1281:{f=385863;break}case 1282:{f=385842;break}case 1285:{f=385825;break}default:f=385817}c[n>>2]=h;c[n+4>>2]=385922;c[n+8>>2]=1514;c[n+12>>2]=391670;c[n+16>>2]=f;c[n+20>>2]=b;vV(385896,n);b=Qh[c[i>>2]&15]()|0;if(!b){b=-1;break}else f=h}l=o;return b|0}function KV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0;v=l;l=l+64|0;u=v;s=v+24|0;t=b+320|0;f=c[t>>2]|0;if((OZ(b)|0)<0){u=-1;l=v;return u|0}if((e|0)>0){r=s+4|0;k=s+8|0;m=s+12|0;n=s+16|0;o=s+20|0;p=s+24|0;q=s+28|0;i=f+76|0;h=0;do{y=+g[d+(h<<4)>>2];x=y+ +g[d+(h<<4)+8>>2];z=+g[d+(h<<4)+4>>2];w=z+ +g[d+(h<<4)+12>>2];g[s>>2]=y;g[r>>2]=z;g[k>>2]=x;g[m>>2]=z;g[n>>2]=y;g[o>>2]=w;g[p>>2]=x;g[q>>2]=w;j=c[t>>2]|0;f=j+276|0;b=c[f>>2]|0;if(!b){li[c[j+216>>2]&511](1,f);b=c[f>>2]|0}li[c[j+220>>2]&511](34962,b);b=j+292|0;if((c[b>>2]|0)>>>0<32){ti[c[j+224>>2]&63](34962,32,s,35040);c[b>>2]=32}else ti[c[j+228>>2]&63](34962,0,32,s);Ai[c[j+184>>2]&15](0,2,5126,0,0,0);si[c[i>>2]&127](5,0,4);h=h+1|0}while((h|0)!=(e|0))}b=c[t>>2]|0;if(!(c[b+4>>2]|0)){u=0;l=v;return u|0}i=b+108|0;b=Qh[c[i>>2]&15]()|0;if(!b){u=0;l=v;return u|0}else f=436559;while(1){if((f|0)!=0?(a[f>>0]|0)!=0:0)h=f;else h=385809;switch(b|0){case 1280:{f=385880;break}case 1281:{f=385863;break}case 1282:{f=385842;break}case 1285:{f=385825;break}default:f=385817}c[u>>2]=h;c[u+4>>2]=385922;c[u+8>>2]=1549;c[u+12>>2]=391604;c[u+16>>2]=f;c[u+20>>2]=b;vV(385896,u);b=Qh[c[i>>2]&15]()|0;if(!b){b=-1;break}else f=h}l=v;return b|0}function LV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;q=l;l=l+96|0;p=q;k=q+56|0;m=q+24|0;n=b+320|0;o=c[n>>2]|0;i=c[o>>2]|0;if((c[104296]|0)!=(i|0)){c[o+268>>2]=0;if((tV(c[b+188>>2]|0,i)|0)>=0){c[104296]=c[o>>2];FV(b)|0;h=c[n>>2]|0;j=4}}else{h=o;j=4}if((j|0)==4?c[h+4>>2]|0:0){h=h+108|0;do{}while((Qh[c[h>>2]&15]()|0)!=0)}if((LZ(b,d)|0)<0){p=-1;l=q;return p|0}t=+g[f>>2];g[k>>2]=t;r=+g[f+4>>2];g[k+4>>2]=r;s=t+ +g[f+8>>2];g[k+8>>2]=s;g[k+12>>2]=r;g[k+16>>2]=t;r=r+ +g[f+12>>2];g[k+20>>2]=r;g[k+24>>2]=s;g[k+28>>2]=r;j=c[n>>2]|0;i=j+276|0;h=c[i>>2]|0;if(!h){li[c[j+216>>2]&511](1,i);h=c[i>>2]|0}li[c[j+220>>2]&511](34962,h);h=j+292|0;if((c[h>>2]|0)>>>0<32){ti[c[j+224>>2]&63](34962,32,k,35040);c[h>>2]=32}else ti[c[j+228>>2]&63](34962,0,32,k);Ai[c[j+184>>2]&15](0,2,5126,0,0,0);i=c[e>>2]|0;s=+(c[d+12>>2]|0);r=+(i|0)/s;g[m>>2]=r;j=c[e+4>>2]|0;t=+(c[d+16>>2]|0);u=+(j|0)/t;g[m+4>>2]=u;s=+((c[e+8>>2]|0)+i|0)/s;g[m+8>>2]=s;g[m+12>>2]=u;g[m+16>>2]=r;t=+((c[e+12>>2]|0)+j|0)/t;g[m+20>>2]=t;g[m+24>>2]=s;g[m+28>>2]=t;j=c[n>>2]|0;i=j+280|0;h=c[i>>2]|0;if(!h){li[c[j+216>>2]&511](1,i);h=c[i>>2]|0}li[c[j+220>>2]&511](34962,h);h=j+296|0;if((c[h>>2]|0)>>>0<32){ti[c[j+224>>2]&63](34962,32,m,35040);c[h>>2]=32}else ti[c[j+228>>2]&63](34962,0,32,m);Ai[c[j+184>>2]&15](1,2,5126,0,0,0);si[c[o+76>>2]&127](5,0,4);h=c[n>>2]|0;if(!(c[h+4>>2]|0)){p=0;l=q;return p|0}b=h+108|0;h=Qh[c[b>>2]&15]()|0;if(!h){p=0;l=q;return p|0}else i=436559;while(1){if((i|0)!=0?(a[i>>0]|0)!=0:0)j=i;else j=385809;switch(h|0){case 1280:{i=385880;break}case 1281:{i=385863;break}case 1282:{i=385842;break}case 1285:{i=385825;break}default:i=385817}c[p>>2]=j;c[p+4>>2]=385922;c[p+8>>2]=1751;c[p+12>>2]=391515;c[p+16>>2]=i;c[p+20>>2]=h;vV(385896,p);h=Qh[c[b>>2]&15]()|0;if(!h){h=-1;break}else i=j}l=q;return h|0}function MV(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=i|0;j=j|0;var k=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+144|0;z=A;v=A+104|0;y=A+72|0;u=A+40|0;t=A+24|0;w=b+320|0;x=c[w>>2]|0;k=c[x>>2]|0;if((c[104296]|0)!=(k|0)){c[x+268>>2]=0;if((tV(c[b+188>>2]|0,k)|0)>=0){c[104296]=c[x>>2];FV(b)|0;m=c[w>>2]|0;n=4}}else{m=x;n=4}if((n|0)==4?c[m+4>>2]|0:0){k=m+108|0;do{}while((Qh[c[k>>2]&15]()|0)!=0)}if((LZ(b,d)|0)<0){z=-1;l=A;return z|0}b=x+84|0;fi[c[b>>2]&511](3);fi[c[b>>2]&511](2);r=360.0-h;g[t+12>>2]=r;g[t+8>>2]=r;g[t+4>>2]=r;g[t>>2]=r;r=+g[f>>2];s=+g[i>>2]+r;g[u+24>>2]=s;g[u+16>>2]=s;g[u+8>>2]=s;g[u>>2]=s;s=+g[f+4>>2];o=+g[i+4>>2]+s;g[u+28>>2]=o;g[u+20>>2]=o;g[u+12>>2]=o;g[u+4>>2]=o;g[v>>2]=r;b=v+4|0;g[b>>2]=s;o=r+ +g[f+8>>2];i=v+8|0;g[i>>2]=o;p=v+12|0;g[p>>2]=s;q=v+16|0;g[q>>2]=r;h=s+ +g[f+12>>2];k=v+20|0;g[k>>2]=h;m=v+24|0;g[m>>2]=o;n=v+28|0;g[n>>2]=h;if(j&1|0){g[q>>2]=o;g[v>>2]=o;g[m>>2]=r;g[i>>2]=r}if(j&2|0){g[p>>2]=h;g[b>>2]=h;g[n>>2]=s;g[k>>2]=s}n=c[w>>2]|0;m=n+284|0;k=c[m>>2]|0;if(!k){li[c[n+216>>2]&511](1,m);k=c[m>>2]|0}li[c[n+220>>2]&511](34962,k);k=n+300|0;if((c[k>>2]|0)>>>0<16){ti[c[n+224>>2]&63](34962,16,t,35040);c[k>>2]=16}else ti[c[n+228>>2]&63](34962,0,16,t);Ai[c[n+184>>2]&15](2,1,5126,0,0,0);n=c[w>>2]|0;m=n+288|0;k=c[m>>2]|0;if(!k){li[c[n+216>>2]&511](1,m);k=c[m>>2]|0}li[c[n+220>>2]&511](34962,k);k=n+304|0;if((c[k>>2]|0)>>>0<32){ti[c[n+224>>2]&63](34962,32,u,35040);c[k>>2]=32}else ti[c[n+228>>2]&63](34962,0,32,u);Ai[c[n+184>>2]&15](3,2,5126,0,0,0);n=c[w>>2]|0;m=n+276|0;k=c[m>>2]|0;if(!k){li[c[n+216>>2]&511](1,m);k=c[m>>2]|0}li[c[n+220>>2]&511](34962,k);k=n+292|0;if((c[k>>2]|0)>>>0<32){ti[c[n+224>>2]&63](34962,32,v,35040);c[k>>2]=32}else ti[c[n+228>>2]&63](34962,0,32,v);Ai[c[n+184>>2]&15](0,2,5126,0,0,0);m=c[e>>2]|0;r=+(c[d+12>>2]|0);o=+(m|0)/r;g[y>>2]=o;n=c[e+4>>2]|0;s=+(c[d+16>>2]|0);h=+(n|0)/s;g[y+4>>2]=h;r=+((c[e+8>>2]|0)+m|0)/r;g[y+8>>2]=r;g[y+12>>2]=h;g[y+16>>2]=o;s=+((c[e+12>>2]|0)+n|0)/s;g[y+20>>2]=s;g[y+24>>2]=r;g[y+28>>2]=s;n=c[w>>2]|0;m=n+280|0;k=c[m>>2]|0;if(!k){li[c[n+216>>2]&511](1,m);k=c[m>>2]|0}li[c[n+220>>2]&511](34962,k);k=n+296|0;if((c[k>>2]|0)>>>0<32){ti[c[n+224>>2]&63](34962,32,y,35040);c[k>>2]=32}else ti[c[n+228>>2]&63](34962,0,32,y);Ai[c[n+184>>2]&15](1,2,5126,0,0,0);si[c[x+76>>2]&127](5,0,4);k=x+72|0;fi[c[k>>2]&511](3);fi[c[k>>2]&511](2);k=c[w>>2]|0;if(!(c[k+4>>2]|0)){z=0;l=A;return z|0}b=k+108|0;k=Qh[c[b>>2]&15]()|0;if(!k){z=0;l=A;return z|0}else m=436559;while(1){if((m|0)!=0?(a[m>>0]|0)!=0:0)n=m;else n=385809;switch(k|0){case 1280:{m=385880;break}case 1281:{m=385863;break}case 1282:{m=385842;break}case 1285:{m=385825;break}default:m=385817}c[z>>2]=n;c[z+4>>2]=385922;c[z+8>>2]=1820;c[z+12>>2]=387264;c[z+16>>2]=m;c[z+20>>2]=k;vV(385896,z);k=Qh[c[b>>2]&15]()|0;if(!k){k=-1;break}else m=n}l=A;return k|0}function NV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+80|0;y=E+48|0;n=E+40|0;q=E+32|0;p=E+24|0;m=E+16|0;k=E+8|0;j=E;o=E+76|0;s=E+72|0;u=a+320|0;v=c[u>>2]|0;w=a+308|0;g=c[w>>2]|0;if(!g)D=376840196;else D=c[g+4>>2]|0;g=c[v>>2]|0;if((c[104296]|0)!=(g|0)){c[v+268>>2]=0;if((tV(c[a+188>>2]|0,g)|0)>=0){c[104296]=c[v>>2];FV(a)|0;i=c[u>>2]|0;r=6}}else{i=v;r=6}if((r|0)==6?c[i+4>>2]|0:0){g=i+108|0;do{}while((Qh[c[g>>2]&15]()|0)!=0)}C=b+8|0;g=c[C>>2]|0;t=(D|0)==0|(D&-268435456|0)==268435456;a:do if(t)i=D&255;else{if((D|0)<1498831189)switch(D|0){case 844715353:{i=2;break a}default:{}}else switch(D|0){case 1498831189:{i=2;break a}default:{}}i=(D|0)==1431918169?2:1}while(0);z=O(i,g)|0;A=b+12|0;B=B2(O(c[A>>2]|0,z)|0)|0;if(!B){vV(392416,j);f=-1;l=E;return f|0}do if((a|0)!=0?(c[a>>2]|0)==434477:0){g=c[w>>2]|0;if(g|0)if((c[g>>2]|0)==434478){c[o>>2]=c[g+12>>2];c[s>>2]=c[g+16>>2];break}else{vV(387202,m);break}g=c[a+8>>2]|0;if(g|0){Th[g&63](a,o,s)|0;break}i=c[a+188>>2]|0;if(!i){vV(387218,n);break}g=c[104297]|0;if(!g){vV(386054,p);break}if((c[i>>2]|0)==(g+280|0)){c[o>>2]=c[i+24>>2];c[s>>2]=c[i+28>>2];break}else{vV(405282,q);break}}else r=17;while(0);if((r|0)==17)vV(387185,k);g=c[b+4>>2]|0;if(!(c[w>>2]|0)){i=c[A>>2]|0;g=(c[s>>2]|0)-g-i|0}else i=c[A>>2]|0;Bi[c[v+140>>2]&15](c[b>>2]|0,g,c[C>>2]|0,i,6408,5121,B);g=c[u>>2]|0;if(c[g+4>>2]|0?(x=g+108|0,h=Qh[c[x>>2]&15]()|0,h|0):0){while(1){switch(h|0){case 1280:{g=385880;break}case 1281:{g=385863;break}case 1282:{g=385842;break}case 1285:{g=385825;break}default:g=385817}c[y>>2]=386186;c[y+4>>2]=385922;c[y+8>>2]=1847;c[y+12>>2]=386201;c[y+16>>2]=g;c[y+20>>2]=h;vV(385896,y);h=Qh[c[x>>2]&15]()|0;if(!h){g=-1;break}}l=E;return g|0}if(!(c[w>>2]|0)){h=c[C>>2]|0;b:do if(t)g=D&255;else{if((D|0)<1498831189)switch(D|0){case 844715353:{g=2;break b}default:{}}else switch(D|0){case 1498831189:{g=2;break b}default:{}}g=(D|0)==1431918169?2:1}while(0);j=O(g,h)|0;g=c[A>>2]|0;k=l;l=l+((1*j|0)+15&-16)|0;if((g+1|0)>>>0>=3){m=0-z|0;i=(g|0)/2|0;g=B+(O(g+-1|0,z)|0)|0;h=B;while(1){i=i+-1|0;s6(k|0,h|0,j|0)|0;s6(h|0,g|0,j|0)|0;s6(g|0,k|0,j|0)|0;if(!i)break;else{g=g+m|0;h=h+z|0}}}}f=UV(c[C>>2]|0,c[A>>2]|0,D,B,z,d,e,f)|0;C2(B);l=E;return f|0}function OV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+320|0;e=c[b>>2]|0;f=c[e>>2]|0;if((c[104296]|0)!=(f|0)){c[e+268>>2]=0;if((tV(c[a+188>>2]|0,f)|0)>=0){c[104296]=c[e>>2];FV(a)|0;d=c[b>>2]|0;g=4}}else{d=e;g=4}if((g|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}SV(c[a+188>>2]|0);return}function PV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+320|0;g=c[e>>2]|0;h=b+68|0;i=c[h>>2]|0;b=c[g>>2]|0;if((c[104296]|0)!=(b|0)){c[g+268>>2]=0;if((tV(c[a+188>>2]|0,b)|0)>=0){c[104296]=c[g>>2];FV(a)|0;d=c[e>>2]|0;f=4}}else{d=g;f=4}if((f|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}if(!i)return;a=g+64|0;li[c[a>>2]&511](1,i);b=i+32|0;if(c[b>>2]|0)li[c[a>>2]&511](1,b);b=i+36|0;if(c[b>>2]|0)li[c[a>>2]&511](1,b);C2(c[i+16>>2]|0);C2(i);c[h>>2]=0;return}function QV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;h=a+320|0;k=c[h>>2]|0;i=c[b+68>>2]|0;b=c[k>>2]|0;if((c[104296]|0)!=(b|0)){c[k+268>>2]=0;if((tV(c[a+188>>2]|0,b)|0)>=0){c[104296]=c[k>>2];FV(a)|0;f=c[h>>2]|0;j=4}}else{f=k;j=4}if((j|0)==4?c[f+4>>2]|0:0){b=f+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}li[c[k+28>>2]&511](c[i+4>>2]|0,c[i>>2]|0);if(d|0)g[d>>2]=1.0;if(!e)return 0;g[e>>2]=1.0;return 0}function RV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+320|0;h=c[e>>2]|0;f=c[b+68>>2]|0;b=c[h>>2]|0;if((c[104296]|0)!=(b|0)){c[h+268>>2]=0;if((tV(c[a+188>>2]|0,b)|0)>=0){c[104296]=c[h>>2];FV(a)|0;d=c[e>>2]|0;g=4}}else{d=h;g=4}if((g|0)==4?c[d+4>>2]|0:0){b=d+108|0;do{}while((Qh[c[b>>2]&15]()|0)!=0)}li[c[h+28>>2]&511](c[f+4>>2]|0,0);return 0}function SV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;k=m+24|0;e=m+16|0;d=m+8|0;g=m+40|0;h=m+32|0;i=m+28|0;b=c[104297]|0;if(!b){vV(386054,m);l=m;return}if(a|0?(c[a>>2]|0)==(b+280|0):0){if(!(c[a+48>>2]&2)){vV(386095,e);l=m;return}j=c[b+660>>2]|0;c[i>>2]=0;f=c[i>>2]|0;c[i>>2]=1;if(f|0){b=g+4|0;d=h+4|0;do{c[g>>2]=0;c[b>>2]=0;e=0;f=0;while(1){c[105438]=0;c[h>>2]=e;c[d>>2]=f;f=(yh(h|0,g|0)|0)!=0;if(!(f&(c[105438]|0)==4))break;e=c[g>>2]|0;f=c[b>>2]|0}f=c[i>>2]|0;c[i>>2]=1}while((f|0)!=0)}c[i>>2]=0;b=c[104298]|0;a:do if(b){while(1){if(!(c[b>>2]|0))break;b=c[b+8>>2]|0;if(!b){b=0;break a}}b=c[b+4>>2]|0;if(!((j|0)==0|(b|0)==0)?(c[b>>2]|0)>>>0>=j>>>0:0)b=c[b+4+(j+-1<<3)>>2]|0;else b=0}else b=0;while(0);if((b|0)==(a|0)){k=c[104297]|0;li[c[k+196>>2]&511](k,a);l=m;return}else{vV(386139,k);l=m;return}}vV(405282,d);l=m;return}function TV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;b=k+16|0;d=k+8|0;e=k;c[e>>2]=0;i=c[e>>2]|0;c[e>>2]=1;if(i|0){f=b+4|0;g=d+4|0;do{c[b>>2]=0;c[f>>2]=0;h=0;i=0;while(1){c[105438]=0;c[d>>2]=h;c[g>>2]=i;i=(yh(d|0,b|0)|0)!=0;if(!(i&(c[105438]|0)==4))break;h=c[b>>2]|0;i=c[f>>2]|0}i=c[e>>2]|0;c[e>>2]=1}while((i|0)!=0)}c[e>>2]=0;b=c[104298]|0;if(!b){j=0;l=k;return j|0}while(1){if(!(c[b>>2]|0))break;b=c[b+8>>2]|0;if(!b){b=0;j=13;break}}if((j|0)==13){l=k;return b|0}b=c[b+4>>2]|0;if((a|0)==0|(b|0)==0){j=0;l=k;return j|0}if((c[b>>2]|0)>>>0<a>>>0){j=0;l=k;return j|0}j=c[b+4+(a+-1<<3)>>2]|0;l=k;return j|0}function UV(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+448|0;s=x+32|0;o=x+24|0;n=x+16|0;m=x+8|0;k=x;u=x+380|0;v=x+320|0;p=x+276|0;q=x+232|0;j=x+144|0;r=x+56|0;t=x+40|0;if(!h){c[k>>2]=386283;vV(406140,k);i=-1;l=x;return i|0}if(!i){c[m>>2]=386287;vV(406140,m);i=-1;l=x;return i|0}k=(d|0)==0|(d&-268435456|0)==268435456;if((d|0)!=(g|0)){if(k?((d>>>24&15)+-1|0)>>>0<3:0){vV(386325,o);i=-1;l=x;return i|0}if((VV(p,d)|0)<0){i=-1;l=x;return i|0}m=u+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[u>>2]=1;c[u+4>>2]=p;c[u+20>>2]=e;c[u+8>>2]=a;c[u+12>>2]=b;c[u+16>>2]=f;m=j;n=m+88|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=u+52|0;c[j+76>>2]=-1;c[k>>2]=j;c[u+56>>2]=1;if((g|0)==0|(g&-268435456|0)==268435456?((g>>>24&15)+-1|0)>>>0<3:0){vV(386325,s);i=-1;l=x;return i|0}if((VV(q,g)|0)<0){i=-1;l=x;return i|0}m=v+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[v>>2]=1;c[v+4>>2]=q;c[v+20>>2]=h;c[v+8>>2]=a;c[v+12>>2]=b;c[v+16>>2]=i;m=r;n=m+88|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[r+76>>2]=-1;c[v+52>>2]=r;c[v+56>>2]=1;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=a;c[t+12>>2]=b;do if((c[j>>2]|0)==(v|0)){i=c[q+4>>2]|0;if(i|0?(c[j+80>>2]|0)!=(c[i+8>>2]|0):0){w=35;break}i=c[p+4>>2]|0;if((i|0)!=0?(c[j+84>>2]|0)!=(c[i+8>>2]|0):0)w=35}else w=35;while(0);do if((w|0)==35)if((WV(u,v)|0)<0){i=-1;l=x;return i|0}else{j=c[k>>2]|0;break}while(0);i=Uh[c[j+8>>2]&63](u,t,v,t)|0;l=x;return i|0}a:do if(k)j=d&255;else{b:do if((d|0)<844715353)if((d|0)<842094158)switch(d|0){case 825382478:{w=8;break b}default:break b}else switch(d|0){case 842094158:case 842094169:{w=8;break b}default:break b}else if((d|0)<1448433993)if((d|0)<1431918169)switch(d|0){case 844715353:{j=2;break a}default:break b}else switch(d|0){case 1431918169:{j=2;break a}default:break b}else if((d|0)<1498831189)switch(d|0){case 1448433993:{w=8;break b}default:break b}else switch(d|0){case 1498831189:{j=2;break a}default:break b}while(0);if((w|0)==8){j=1;break}vV(386297,n);i=-1;l=x;return i|0}while(0);o=O(j,a)|0;if(!b)j=e;else{n=O(f,b)|0;j=b;k=h;m=e;while(1){j=j+-1|0;s6(k|0,m|0,o|0)|0;if(!j)break;else{k=k+i|0;m=m+f|0}}h=h+(O(i,b)|0)|0;j=e+n|0}if((d|0)<842094169){c:do if((d|0)<842094158){switch(d|0){case 825382478:break c;default:j=0}l=x;return j|0}else{switch(d|0){case 842094158:break c;default:j=0}l=x;return j|0}while(0);if((b+1|0)>>>0<3){i=0;l=x;return i|0}k=(b|0)/2|0;while(1){k=k+-1|0;s6(h|0,j|0,o|0)|0;if(!k){j=0;break}else{h=h+i|0;j=j+f|0}}l=x;return j|0}else{d:do if((d|0)<1448433993){switch(d|0){case 842094169:break d;default:j=0}l=x;return j|0}else{switch(d|0){case 1448433993:break d;default:j=0}l=x;return j|0}while(0);o=(o|0)/2|0;n=(f|0)/2|0;m=(i|0)/2|0;if((b+1|0)>>>0<3){i=0;l=x;return i|0}k=h;h=j;j=((b|0)/2|0)<<1;while(1){j=j+-1|0;s6(k|0,h|0,o|0)|0;if(!j){j=0;break}else{k=k+m|0;h=h+n|0}}l=x;return j|0}return 0}function VV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;if(!(JZ(d,e,f,i,j,k)|0)){b=-1;l=m;return b|0}g=b+4|0;h=g+40|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));c[b>>2]=d;d=c[e>>2]|0;a[b+8>>0]=d;a[b+9>>0]=(d+7|0)/8|0;d=c[f>>2]|0;c[b+12>>2]=d;f=b+32|0;a[f>>0]=0;g=b+28|0;a[g>>0]=8;if(d|0){if(!(d&1)){e=0;do{e=e+1<<24>>24;d=d>>>1}while(!(d&1|0));a[f>>0]=e}if(d&1|0){e=8;do{e=e+-1<<24>>24;d=d>>>1}while((d&1|0)!=0);a[g>>0]=e}}d=c[i>>2]|0;c[b+16>>2]=d;f=b+33|0;a[f>>0]=0;g=b+29|0;a[g>>0]=8;if(d|0){if(!(d&1)){e=0;do{e=e+1<<24>>24;d=d>>>1}while(!(d&1|0));a[f>>0]=e}if(d&1|0){e=8;do{e=e+-1<<24>>24;d=d>>>1}while((d&1|0)!=0);a[g>>0]=e}}d=c[j>>2]|0;c[b+20>>2]=d;f=b+34|0;a[f>>0]=0;g=b+30|0;a[g>>0]=8;if(d|0){if(!(d&1)){e=0;do{e=e+1<<24>>24;d=d>>>1}while(!(d&1|0));a[f>>0]=e}if(d&1|0){e=8;do{e=e+-1<<24>>24;d=d>>>1}while((d&1|0)!=0);a[g>>0]=e}}d=c[k>>2]|0;c[b+24>>2]=d;f=b+35|0;a[f>>0]=0;g=b+31|0;a[g>>0]=8;if(d|0){if(!(d&1)){e=0;do{e=e+1<<24>>24;d=d>>>1}while(!(d&1|0));a[f>>0]=e}if(d&1|0){e=8;do{e=e+-1<<24>>24;d=d>>>1}while((d&1|0)!=0);a[g>>0]=e}}c[b+4>>2]=0;c[b+36>>2]=1;c[b+40>>2]=0;b=0;l=m;return b|0}function WV(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0;Q=l;l=l+1072|0;P=Q+16|0;L=Q+8|0;m=Q;M=Q+24|0;k=Q+40|0;J=e+52|0;G=c[J>>2]|0;if(c[e>>2]&2|0)XV(e,1);if(G|0){h=c[G>>2]|0;if(h|0?(F=h+56|0,N=c[F>>2]|0,c[F>>2]=N+-1,(N|0)<2):0)YV(h);c[G>>2]=0;c[G+84>>2]=0;c[G+80>>2]=0;N=G+64|0;C2(c[N>>2]|0);c[N>>2]=0}j=G+4|0;c[j>>2]=0;N=e+4|0;F=c[N>>2]|0;E=c[f+4>>2]|0;D=c[F>>2]|0;do if((D|0)==0|(D&-268435456|0)==268435456?((D>>>24&15)+-1|0)>>>0<3:0){D=c[E>>2]|0;if((D|0)==0|(D&-268435456|0)==268435456?((D>>>24&15)+-1|0)>>>0<3:0){D=ZV(c[F+4>>2]|0,c[E+4>>2]|0,j)|0;c[G+64>>2]=D;if((D|0)==0&(c[j>>2]|0)==0){P=-1;l=Q;return P|0}if((a[F+8>>0]|0)==(a[E+8>>0]|0)){m=35;break}c[j>>2]=0;m=35;break}k=c[J>>2]|0;h=a[k+76>>0]|0;i=a[k+77>>0]|0;j=a[k+78>>0]|0;k=a[k+79>>0]|0;B=c[F+4>>2]|0;C=E+9|0;A=a[C>>0]|0;A=A<<24>>24==3?4:A&255;D=B2(O(A,c[B>>2]|0)|0)|0;if(!D){vV(392416,m);c[G+64>>2]=0;P=-1;l=Q;return P|0}if((c[B>>2]|0)<=0){c[G+64>>2]=D;m=35;break}z=B+4|0;y=h&255;x=i&255;w=j&255;j=k&255;k=E+28|0;m=E+32|0;n=E+29|0;o=E+33|0;p=E+30|0;q=E+34|0;r=E+31|0;s=E+35|0;h=0;do{i=c[z>>2]|0;t=((O(d[i+(h<<2)>>0]|0,y)|0)>>>0)/255|0;u=((O(d[i+(h<<2)+1>>0]|0,x)|0)>>>0)/255|0;v=((O(d[i+(h<<2)+2>>0]|0,w)|0)>>>0)/255|0;i=((O(d[i+(h<<2)+3>>0]|0,j)|0)>>>0)/255|0;switch(a[C>>0]|0){case 1:{a[D+(O(h,A)|0)>>0]=(u&255)>>>(d[n>>0]|0)<<d[o>>0]|(t&255)>>>(d[k>>0]|0)<<d[m>>0]|(v&255)>>>(d[p>>0]|0)<<d[q>>0]|(i&255)>>>(d[r>>0]|0)<<d[s>>0];break}case 2:{b[D+(O(h,A)|0)>>1]=(u&255)>>>(d[n>>0]|0)<<d[o>>0]|(t&255)>>>(d[k>>0]|0)<<d[m>>0]|(v&255)>>>(d[p>>0]|0)<<d[q>>0]|(i&255)>>>(d[r>>0]|0)<<d[s>>0];break}case 3:{i=D+(O(h,A)|0)|0;a[i+((d[m>>0]|0)>>>3&255)>>0]=t;a[i+((d[o>>0]|0)>>>3&255)>>0]=u;a[i+((d[q>>0]|0)>>>3&255)>>0]=v;break}case 4:{c[D+(O(h,A)|0)>>2]=(u&255)>>>(d[n>>0]|0)<<d[o>>0]|(t&255)>>>(d[k>>0]|0)<<d[m>>0]|(v&255)>>>(d[p>>0]|0)<<d[q>>0]|(i&255)>>>(d[r>>0]|0)<<d[s>>0];break}default:{}}h=h+1|0}while((h|0)<(c[B>>2]|0));c[G+64>>2]=D;m=36}else m=27;while(0);do if((m|0)==27){D=c[E>>2]|0;if((D|0)==0|(D&-268435456|0)==268435456?((D>>>24&15)+-1|0)>>>0<3:0){i=c[E+4>>2]|0;c[M>>2]=256;h=0;do{D=h&224;a[k+(h<<2)>>0]=D>>>6|D|D>>>3;D=h<<3&224;a[k+(h<<2)+1>>0]=D>>>6|D|D>>>3;D=h&3;D=D<<2|D;a[k+(h<<2)+2>>0]=D<<4|D;a[k+(h<<2)+3>>0]=-1;h=h+1|0}while((h|0)!=256);c[M+4>>2]=k;D=ZV(M,i,j)|0;c[G+64>>2]=D;if((D|0)==0&(c[j>>2]|0)==0){P=-1;l=Q;return P|0}else{c[j>>2]=0;m=36;break}}if((F|0)==(E|0)){c[j>>2]=1;m=35}else m=35}while(0);if((m|0)==35){c[G>>2]=f;m=37}else if((m|0)==36?(c[G>>2]=f,f|0):0)m=37;if((m|0)==37){f=f+56|0;c[f>>2]=(c[f>>2]|0)+1}h=c[E+4>>2]|0;if(!h)h=0;else h=c[h+8>>2]|0;c[G+80>>2]=h;h=c[F+4>>2]|0;if(!h)h=0;else h=c[h+8>>2]|0;c[G+84>>2]=h;z=c[J>>2]|0;h=c[z>>2]|0;if(c[e>>2]&2|0)XV(e,1);c[z+8>>2]=17;c[z+56>>2]=c[N>>2];c[z+28>>2]=c[e+16>>2];y=h+4|0;c[z+60>>2]=c[y>>2];c[z+48>>2]=c[h+16>>2];x=z+68|0;if(c[x>>2]&4096|0?($V(e)|0)==0:0){P=0;l=Q;return P|0}if((c[z+4>>2]|0)!=0?(c[x>>2]&-4097|0)==0:0)g=288;else m=48;a:do if((m|0)==48){w=c[N>>2]|0;h=a[w+8>>0]|0;b:do if(((h&255)<8?(H=c[w>>2]|0,(H|0)==0|(H&-268435456|0)==268435456):0)?((H>>>24&15)+-1|0)>>>0<3:0){if(h<<24>>24==1){i=c[J>>2]|0;h=c[(c[i>>2]|0)+4>>2]|0;if((d[h+8>>0]|0)<8)h=0;else h=d[h+9>>0]|0;switch(c[i+68>>2]&-28673|0){case 0:{g=31120+(h<<2)|0;m=142;break b}case 256:{g=31140+(h<<2)|0;m=142;break b}case 18:if(h>>>0>1){g=289;break a}else break b;case 274:if(h>>>0>1){g=290;break a}else break b;default:break b}}}else m=59;while(0);c:do if((m|0)==59){v=a[w+9>>0]|0;if((v<<24>>24==1?(I=c[w>>2]|0,(I|0)==0|(I&-268435456|0)==268435456):0)?((I>>>24&15)+-1|0)>>>0<3:0){i=c[J>>2]|0;h=c[(c[i>>2]|0)+4>>2]|0;if((d[h+8>>0]|0)<8)h=0;else h=d[h+9>>0]|0;switch(c[i+68>>2]&-28673|0){case 0:{g=31080+(h<<2)|0;m=142;break c}case 256:{g=31100+(h<<2)|0;m=142;break c}case 18:if(h>>>0>1){g=291;break a}else break c;case 274:if(h>>>0>1){g=292;break a}else break c;default:break c}}h=c[J>>2]|0;u=c[(c[h>>2]|0)+4>>2]|0;if(c[x>>2]&16|0)switch(c[h+68>>2]&-28673|0){case 16:switch(a[u+9>>0]|0){case 1:{g=293;break a}case 2:{if(v<<24>>24!=4){g=277;break a}if((c[w+24>>2]|0)!=-16777216){g=277;break a}if((c[w+16>>2]|0)!=65280){g=277;break a}if(!((c[w+12>>2]|0)==255?(c[u+12>>2]|0)==31:0)){if((c[w+20>>2]|0)!=255){g=277;break a}if((c[u+20>>2]|0)!=31){g=277;break a}}g=c[u+16>>2]|0;g=(g|0)==2016?279:(g|0)==992?278:277;break a}case 4:{if((((c[w+12>>2]|0)==(c[u+12>>2]|0)?(c[w+16>>2]|0)==(c[u+16>>2]|0):0)?(v<<24>>24==4?(c[w+20>>2]|0)==(c[u+20>>2]|0):0):0)?(c[w+24>>2]|0)==-16777216:0){g=294;break a}g=277;break a}default:{g=277;break a}}case 18:{if(c[w+24>>2]|0)break c;switch(a[u+9>>0]|0){case 1:{g=295;break a}case 2:{if(!(c[h+4>>2]|0)){g=280;break a}g=c[u+16>>2]|0;g=(g|0)==2016?282:(g|0)==992?281:280;break a}case 4:{h=c[w+12>>2]|0;do if((h|0)==(c[u+12>>2]|0)?(K=c[w+16>>2]|0,(K|0)==(c[u+16>>2]|0)):0){g=c[w+20>>2]|0;if(!(v<<24>>24==4?(g|0)==(c[u+20>>2]|0):0))break;if((K|h|g|0)==16777215){g=296;break a}}while(0);g=280;break a}default:{g=280;break a}}}case 274:{if(c[w+24>>2]|0)break c;g=(a[u+9>>0]|0)==1?284:283;break a}default:break c}i=a[u+8>>0]|0;if((i&255)>=8){switch(c[h+68>>2]&-28673|0){case 0:break;case 256:{if(v<<24>>24==2?c[h+4>>2]|0:0){g=303;break a}if((a[u+9>>0]|0)==1){g=304;break a}if(c[w+24>>2]|0?c[u+24>>2]|0:0){g=305;break a}g=306;break a}default:break c}g=v&255;if(i<<24>>24==8){d:do if(v<<24>>24==4){g=c[w+12>>2]|0;if((g|0)<1072693248){switch(g|0){case 16711680:break;default:break d}if((c[w+16>>2]|0)!=65280)break;if((c[w+20>>2]|0)==255){g=297;break a}else break}else{switch(g|0){case 1072693248:break;default:break d}if((c[w+16>>2]|0)!=1047552)break;if((c[w+20>>2]|0)==1023){g=298;break a}else break}}while(0);g=299;break a}t=c[u+24>>2]|0;if(!t)s=1;else s=c[w+24>>2]|0?4:2;r=c[22472+(g+-1<<2)>>2]|0;h=c[r+12>>2]|0;e:do if(!h)g=0;else{j=w+16|0;k=w+20|0;m=u+12|0;n=u+16|0;o=u+20|0;p=u+9|0;q=c[w+12>>2]|0;g=0;do{K=c[r+(g*40|0)>>2]|0;do if((q|0)==(K|0)|(K|0)==0){K=c[r+(g*40|0)+4>>2]|0;if(!((K|0)==0?1:(c[j>>2]|0)==(K|0)))break;K=c[r+(g*40|0)+8>>2]|0;if(!((K|0)==0?1:(c[k>>2]|0)==(K|0)))break;K=c[r+(g*40|0)+16>>2]|0;if(!((K|0)==0?1:(c[m>>2]|0)==(K|0)))break;K=c[r+(g*40|0)+20>>2]|0;if(!((K|0)==0?1:(c[n>>2]|0)==(K|0)))break;K=c[r+(g*40|0)+24>>2]|0;if(!((K|0)==0?1:(c[o>>2]|0)==(K|0)))break;if((d[p>>0]|0)!=(h|0))break;if((c[r+(g*40|0)+36>>2]&s|0)!=(s|0))break;i=c[r+(g*40|0)+28>>2]|0;h=c[5617]|0;do if((h|0)==-1){c[5617]=0;c[M>>2]=0;if(!(c[M>>2]|0)){h=0;break}c[5617]=2;h=2}while(0);if((h>>>2&1&i|0)==(i|0))break e}while(0);g=g+1|0;h=c[r+(g*40|0)+12>>2]|0}while((h|0)!=0)}while(0);g=c[r+(g*40|0)+32>>2]|0;if((g|0)==164){if((c[w>>2]|0)==372711428){g=300;break a}if((c[u>>2]|0)==372711428){g=301;break a}do if(v<<24>>24==4){if((a[u+9>>0]|0)!=4)break;if((c[w+12>>2]|0)!=(c[u+12>>2]|0))break;if((c[w+16>>2]|0)!=(c[u+16>>2]|0))break;if((c[w+20>>2]|0)!=(c[u+20>>2]|0))break;if((s|0)!=4){g=302;break a}g=(c[w+24>>2]|0)==(t|0)?286:285;break a}while(0);g=(s|0)==4?285:164;break a}else m=143}}while(0);if((m|0)==142){g=c[g>>2]|0;m=143}if((m|0)==143?g|0:0)break;k=c[w>>2]|0;m=c[c[y>>2]>>2]|0;i=c[x>>2]|0;g=c[4972]|0;do if((g|0)==-1){g=Of(386361)|0;c[4972]=0;if(g|0){c[L>>2]=19888;aW(g,0,L);j=c[4972]|0;break}h=c[5617]|0;if((h|0)!=-1){J=(h&4|0)==0;g=J?0:1;K=(h&8|0)==0;g=K?g:g|2;L=(h&16|0)==0;g=L?g:g|4;M=(h&32|0)==0;g=M?g:g|8;if(((J^1|K^1)^1^1|L^1)^1^1|M^1)c[4972]=g;if(!(h&2)){j=g;break}}else{c[5617]=0;c[M>>2]=0;if(!(c[M>>2]|0)){j=0;break}c[5617]=2;g=0}j=g|16;c[4972]=j}else j=g;while(0);i=i&883;h=0;g=38;while(1){if((((c[19892+(h*20|0)>>2]|0)==(k|0)?(c[19892+(h*20|0)+4>>2]|0)==(m|0):0)?(c[19892+(h*20|0)+8>>2]&i|0)==(i|0):0)?(M=c[19892+(h*20|0)+12>>2]|0,(M&j|0)==(M|0)):0)break a;g=h+1|0;if((g|0)==126)break;else{h=g;g=c[19892+(g*20|0)+16>>2]|0}}M=c[c[N>>2]>>2]|0;N=c[c[y>>2]>>2]|0;if((((M|0)==0|(M&-268435456|0)==268435456?((M>>>24&15)+-1|0)>>>0>=3:0)?(N|0)==0|(N&-268435456|0)==268435456:0)?((N>>>24&15)+-1|0)>>>0>=3:0){c[z+12>>2]=287;P=0;l=Q;return P|0}c[z+12>>2]=0;if(z|0){g=c[z>>2]|0;if(g|0?(M=g+56|0,N=c[M>>2]|0,c[M>>2]=N+-1,(N|0)<2):0)YV(g);c[z>>2]=0;c[z+84>>2]=0;c[z+80>>2]=0;N=z+64|0;C2(c[N>>2]|0);c[N>>2]=0}vV(386386,P);P=-1;l=Q;return P|0}while(0);c[z+12>>2]=g;P=0;l=Q;return P|0}function XV(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;i=s;h=c[f>>2]|0;if(!(h&2)){l=s;return}c[f>>2]=h&-3;r=f+52|0;a:do if((g|0)!=0&(h&1|0)==0){g=c[r>>2]|0;if(c[g+68>>2]&8192|0){g=f+12|0;q=B2(O(c[f+16>>2]|0,c[g>>2]|0)|0)|0;c[f+20>>2]=q;if(q|0){FZ(f,0,c[(c[r>>2]|0)+72>>2]|0)|0;c[i+4>>2]=0;c[i>>2]=0;c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[g>>2];zZ(f,i,f,i)|0;break}c[f>>2]=c[f>>2]|2;l=s;return}q=c[f+4>>2]|0;k=c[g+12>>2]|0;m=c[f+8>>2]|0;j=(a[k>>0]|0)==2;o=j?10:9;p=j?11:9;g=f+12|0;n=f+16|0;h=B2(O(c[n>>2]|0,c[g>>2]|0)|0)|0;i=f+20|0;c[i>>2]=h;if(!h){c[f>>2]=c[f>>2]|2;l=s;return}u6(h|0,0,O(c[n>>2]|0,c[g>>2]|0)|0)|0;h=c[i>>2]|0;g=k+28|0;if(j)f=h;else{f=h;while(1){h=0;while(1){t=b[g+2>>1]|0;i=t&65535;j=g+4|0;g=(e[g>>1]|0)+h|0;if(!(t<<16>>16))if(!g)break a;else{h=g;g=j}else{h=g+i|0;g=j+(Wh[o&31](f+(g<<2)|0,j,i,k,q)|0)|0}if((h|0)>=(m|0)){h=0;break}}do{i=(e[g>>1]|0)+h|0;t=b[g+2>>1]|0;j=t&65535;g=g+4|0;if(!(t<<16>>16))h=i;else{h=i+j|0;g=g+(Wh[p&31](f+(i<<2)|0,g,j,k,q)|0)|0}}while((h|0)<(m|0));f=f+(c[n>>2]>>2<<2)|0}}while(1){h=0;do{t=a[g+1>>0]|0;i=t&255;j=g+2|0;g=(d[g>>0]|0)+h|0;if(!(t<<24>>24))if(!g)break a;else{h=g;g=j}else{h=g+i|0;g=j+(Wh[o&31](f+(g<<2)|0,j,i,k,q)|0)|0}}while((h|0)<(m|0));h=0;g=g+(g&2)|0;do{i=(e[g>>1]|0)+h|0;t=b[g+2>>1]|0;j=t&65535;g=g+4|0;if(!(t<<16>>16))h=i;else{h=i+j|0;g=g+(Wh[p&31](f+(i<<2)|0,g,j,k,q)|0)|0}}while((h|0)<(m|0));f=f+(c[n>>2]>>2<<2)|0}}while(0);t=c[r>>2]|0;q=t+68|0;c[q>>2]=c[q>>2]&-24577;C2(c[t+12>>2]|0);c[(c[r>>2]|0)+12>>2]=0;l=s;return}function YV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=c[a>>2]|0;if(b&4|0)return;d=a+56|0;f=c[d>>2]|0;c[d>>2]=f+-1;if((f|0)>1)return;f=a+28|0;d=c[f>>2]|0;if((d|0)>0){while(1){b=d+-1|0;c[f>>2]=b;if((d|0)==1?(e=c[a>>2]|0,(e&2|0)!=0):0){c[a>>2]=e&-3;$V(a)|0;b=c[f>>2]|0}if((b|0)>0)d=b;else break}b=c[a>>2]|0}if(b&2|0){c[a>>2]=b&-3;f=a+52|0;e=c[f>>2]|0;d=e+68|0;c[d>>2]=c[d>>2]&-24577;C2(c[e+12>>2]|0);c[(c[f>>2]|0)+12>>2]=0}f=a+4|0;b=c[f>>2]|0;if(!b)b=a+52|0;else{b=b+4|0;d=c[b>>2]|0;if(d|0){g=d+12|0;e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=1){C2(c[d+4>>2]|0);C2(d)}c[b>>2]=0}b=a+52|0;d=c[b>>2]|0;if(d|0){e=c[d>>2]|0;if(e|0?(h=e+56|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)<2):0)YV(e);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;h=d+64|0;C2(c[h>>2]|0);c[h>>2]=0}EZ(c[f>>2]|0);c[f>>2]=0}d=c[b>>2]|0;if(d|0){e=c[d>>2]|0;if(e|0?(g=e+56|0,h=c[g>>2]|0,c[g>>2]=h+-1,(h|0)<2):0)YV(e);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;C2(c[d+64>>2]|0);C2(d);c[b>>2]=0}if(!(c[a>>2]&1))C2(c[a+20>>2]|0);C2(a);return}function ZV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=l;l=l+16|0;h=u;if(f|0){g=c[b>>2]|0;do if((g|0)<=(c[e>>2]|0)){if((b|0)!=(e|0)?f3(c[b+4>>2]|0,c[e+4>>2]|0,g<<2)|0:0)break;c[f>>2]=1;e=0;l=u;return e|0}while(0);c[f>>2]=0}f=B2(c[b>>2]|0)|0;if(!f){vV(392416,h);e=0;l=u;return e|0}if((c[b>>2]|0)<=0){e=f;l=u;return e|0}s=b+4|0;t=e+4|0;r=0;do{g=c[s>>2]|0;m=c[e>>2]|0;a:do if((m|0)>0){n=c[t>>2]|0;o=d[g+(r<<2)>>0]|0;p=d[g+(r<<2)+1>>0]|0;q=d[g+(r<<2)+2>>0]|0;k=d[g+(r<<2)+3>>0]|0;j=0;h=-1;g=0;do{w=(d[n+(j<<2)>>0]|0)-o|0;x=(d[n+(j<<2)+1>>0]|0)-p|0;v=(d[n+(j<<2)+2>>0]|0)-q|0;i=(d[n+(j<<2)+3>>0]|0)-k|0;i=(O(x,x)|0)+(O(w,w)|0)+(O(v,v)|0)+(O(i,i)|0)|0;if(i>>>0<h>>>0){g=j&255;if(!i)break a;else h=i}j=j+1|0}while((j|0)<(m|0))}else g=0;while(0);a[f+r>>0]=g;r=r+1|0}while((r|0)<(c[b>>2]|0));l=u;return f|0}function _V(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!(c[e>>2]&2))i=0;else{h=e+28|0;g=c[h>>2]|0;if(!g){XV(e,1);c[e>>2]=c[e>>2]|2;g=c[h>>2]|0}c[h>>2]=g+1;i=1}if(!(c[a>>2]&2))g=0;else{h=a+28|0;g=c[h>>2]|0;if(!g){XV(a,1);c[a>>2]=c[a>>2]|2;g=c[h>>2]|0}c[h>>2]=g+1;g=1}if((b|0?(j=c[b+8>>2]|0,(j|0)>=1):0)?(k=c[b+12>>2]|0,(k|0)>=1):0){o=c[a+52>>2]|0;h=o+16|0;q=c[a+16>>2]|0;r=(c[a+20>>2]|0)+(O(c[b+4>>2]&65535,q)|0)|0;p=d[(c[o+56>>2]|0)+9>>0]|0;c[h>>2]=r+(O(p,c[b>>2]&65535)|0);c[o+20>>2]=j;c[o+24>>2]=k;c[o+28>>2]=q;c[o+32>>2]=q-(O(j,p)|0);b=c[e+16>>2]|0;j=(c[e+20>>2]|0)+(O(c[f+4>>2]&65535,b)|0)|0;k=d[(c[o+60>>2]|0)+9>>0]|0;c[o+36>>2]=j+(O(k,c[f>>2]&65535)|0);j=c[f+8>>2]|0;c[o+40>>2]=j;c[o+44>>2]=c[f+12>>2];c[o+48>>2]=b;c[o+52>>2]=b-(O(j,k)|0);fi[c[o+12>>2]&511](h)}if(((i|0?(l=e+28|0,m=c[l>>2]|0,m|0):0)?(c[l>>2]=m+-1,(m|0)<=1):0)?(n=c[e>>2]|0,n&2|0):0){c[e>>2]=n&-3;$V(e)|0}if(!g)return 0;g=a+28|0;h=c[g>>2]|0;if(!h)return 0;c[g>>2]=h+-1;if((h|0)>1)return 0;g=c[a>>2]|0;if(!(g&2))return 0;c[a>>2]=g&-3;$V(a)|0;return 0}function $V(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+16|0;n=F+8|0;k=F;if(c[e>>2]&2|0)XV(e,1);o=e+4|0;i=c[o>>2]|0;j=a[i+8>>0]|0;if((j&255)<8){E=-1;l=F;return E|0}D=e+20|0;if(!(c[D>>2]|0)){E=-1;l=F;return E|0}E=e+52|0;g=c[E>>2]|0;h=c[g+68>>2]|0;if(!((h&272|0)!=0&(h&1|0)==0)){E=-1;l=F;return E|0}do if(!(h&2))if(!(h&608)){f=c[i+24>>2]|0;break}else{E=-1;l=F;return E|0}else{f=c[i+24>>2]|0;if(h&608|f){E=-1;l=F;return E|0}}while(0);if((h&16|0)==0|(f|0)==0){if(!(c[g+4>>2]|0)){E=-1;l=F;return E|0}g=a[i+9>>0]|0;A=g&255;switch(g<<24>>24){case 1:{f=(O((c[e+12>>2]|0)*3|0,((c[e+8>>2]|0)/2|0)+1|0)|0)+2|0;break}case 3:case 2:{f=c[e+8>>2]|0;f=(O((O(f,A)|0)+2+(((f|0)/255|0)<<1)|0,c[e+12>>2]|0)|0)+2|0;break}case 4:{f=c[e+8>>2]|0;f=(O((((f|0)/65535|0)+f<<2)+4|0,c[e+12>>2]|0)|0)+4|0;break}default:f=0}B=B2(f)|0;if(!B){vV(392416,k);E=-1;l=F;return E|0}z=g<<24>>24==4;y=z?65535:255;r=~c[(c[o>>2]|0)+24>>2];s=c[(c[E>>2]|0)+72>>2]&r;t=c[31160+(A+-1<<2)>>2]|0;u=c[e+8>>2]|0;v=c[e+12>>2]|0;if((v|0)>0){w=y&65535;x=e+16|0;f=B;p=0;q=c[D>>2]|0;g=B;while(1){o=0;j=0;while(1){a:do if((j|0)<(u|0)){h=j;do{C=q+(O(h,A)|0)|0;if(((Rh[t&511](C)|0)&r|0)!=(s|0))break a;h=h+1|0}while((h|0)<(u|0))}else h=j;while(0);b:do if((h|0)<(u|0)){i=h;while(1){C=q+(O(i,A)|0)|0;if(((Rh[t&511](C)|0)&r|0)==(s|0)){n=1;break b}i=i+1|0;if((i|0)>=(u|0)){n=0;break}}}else{i=h;n=0}while(0);j=h-j|0;o=(j|0)==(u|0)?1:o;k=i-h|0;if((j|0)>(y|0))if(z)do{b[f>>1]=w;b[f+2>>1]=0;f=f+4|0;j=j-y|0}while((j|0)>(y|0));else do{a[f>>0]=-1;a[f+1>>0]=0;f=f+2|0;j=j-y|0}while((j|0)>(y|0));m=(k|0)<(y|0)?k:y;if(z){b[f>>1]=j;b[f+2>>1]=m;j=4}else{a[f>>0]=j;a[f+1>>0]=m;j=2}C=f+j|0;f=O(m,A)|0;s6(C|0,q+(O(h,A)|0)|0,f|0)|0;f=C+f|0;k=k-m|0;h=m+h|0;if(k)if(z)while(1){j=(k|0)<(y|0)?k:y;b[f>>1]=0;b[f+2>>1]=j;C=f+4|0;f=O(j,A)|0;s6(C|0,q+(O(h,A)|0)|0,f|0)|0;f=C+f|0;k=k-j|0;if(!k)break;else h=j+h|0}else while(1){j=(k|0)<(y|0)?k:y;a[f>>0]=0;a[f+1>>0]=j;C=f+2|0;f=O(j,A)|0;s6(C|0,q+(O(h,A)|0)|0,f|0)|0;f=C+f|0;k=k-j|0;if(!k)break;else h=j+h|0}g=(o|0)==0?f:g;if(!n)break;else j=i}p=p+1|0;if((p|0)==(v|0))break;else q=q+(c[x>>2]|0)|0}}else g=B;if(z){b[g>>1]=0;b[g+2>>1]=0;f=4}else{a[g>>0]=0;a[g+1>>0]=0;f=2}if(!(c[e>>2]&1)){C2(c[D>>2]|0);c[D>>2]=0}f=D2(B,g+f-B|0)|0;f=(f|0)==0?B:f;g=8192;h=18}else{f=c[g>>2]|0;if(!f){E=-1;l=F;return E|0}B=c[f+4>>2]|0;if(j<<24>>24!=32){E=-1;l=F;return E|0}j=B+12|0;f=c[j>>2]|0;k=B+16|0;g=c[k>>2]|0;m=B+20|0;h=c[m>>2]|0;i=g|f|h;C=B+9|0;c:do switch(a[C>>0]|0){case 2:{if((i|0)<65535){switch(i|0){case 32767:break;default:{E=-1;l=F;return E|0}}if((f|0)==992|(g|0)==992|(h|0)==992)f=13;else{E=-1;l=F;return E|0}}else{switch(i|0){case 65535:break;default:{E=-1;l=F;return E|0}}if((f|0)==2016|(g|0)==2016|(h|0)==2016)f=12;else{E=-1;l=F;return E|0}}g=(O(((c[e+8>>2]|0)*6|0)+8|0,c[e+12>>2]|0)|0)+2|0;y=f;z=14;break}case 4:if((i|0)==16777215){g=O(c[e+12>>2]<<3,(c[e+8>>2]|0)+1|0)|0|4;y=15;z=15;break c}else{E=-1;l=F;return E|0}default:{E=-1;l=F;return E|0}}while(0);A=B2(g+28|0)|0;if(!A){vV(392416,n);E=-1;l=F;return E|0}f=a[C>>0]|0;a[A>>0]=f;c[A+4>>2]=c[j>>2];c[A+8>>2]=c[k>>2];c[A+12>>2]=c[m>>2];c[A+16>>2]=c[B+24>>2];a[A+20>>0]=a[B+28>>0]|0;a[A+21>>0]=a[B+29>>0]|0;a[A+22>>0]=a[B+30>>0]|0;a[A+23>>0]=a[B+31>>0]|0;a[A+24>>0]=a[B+32>>0]|0;a[A+25>>0]=a[B+33>>0]|0;a[A+26>>0]=a[B+34>>0]|0;a[A+27>>0]=a[B+35>>0]|0;h=A+28|0;w=c[e+12>>2]|0;x=c[e+8>>2]|0;v=c[o>>2]|0;if((w|0)>0){s=v+24|0;t=v+35|0;u=e+16|0;g=h;q=c[D>>2]|0;r=0;f=h;while(1){o=0;m=0;while(1){d:do if((m|0)<(x|0)){i=c[s>>2]|0;j=d[t>>0]|0;h=m;do{if(((c[q+(h<<2)>>2]&i)>>>j|0)==255)break d;h=h+1|0}while((h|0)<(x|0))}else h=m;while(0);e:do if((h|0)<(x|0)){j=c[s>>2]|0;k=d[t>>0]|0;i=h;while(1){if(((c[q+(i<<2)>>2]&j)>>>k|0)!=255){p=1;break e}i=i+1|0;if((i|0)>=(x|0)){p=0;break}}}else{i=h;p=0}while(0);k=h-m|0;o=(k|0)==(x|0)?1:o;n=i-h|0;m=a[C>>0]|0;j=m<<24>>24==4;if((k|0)>255)do{if(j){b[f>>1]=255;b[f+2>>1]=0;j=4}else{a[f>>0]=-1;a[f+1>>0]=0;j=2;m=a[C>>0]|0}f=f+j|0;k=k+-255|0;j=m<<24>>24==4}while((k|0)>255);m=(n|0)<255?n:255;if(j){b[f>>1]=k;b[f+2>>1]=m;j=4}else{a[f>>0]=k;a[f+1>>0]=m;j=2}f=f+j|0;f=f+(Wh[z&31](f,q+(h<<2)|0,m,v,B)|0)|0;j=n-m|0;if(j){m=m+h|0;while(1){k=(j|0)<255?j:255;if((a[C>>0]|0)==4){b[f>>1]=0;b[f+2>>1]=k;h=4}else{a[f>>0]=0;a[f+1>>0]=k;h=2}f=f+h|0;f=f+(Wh[z&31](f,q+(m<<2)|0,k,v,B)|0)|0;j=j-k|0;if(!j)break;else m=k+m|0}}if(!p)break;else m=i}m=0;f=f+(f&2)|0;while(1){f:do if((m|0)<(x|0)){i=c[s>>2]|0;j=d[t>>0]|0;h=m;do{if((((c[q+(h<<2)>>2]&i)>>>j)+-1|0)>>>0<=253)break f;h=h+1|0}while((h|0)<(x|0))}else h=m;while(0);g:do if((h|0)<(x|0)){j=c[s>>2]|0;k=d[t>>0]|0;i=h;while(1){if((((c[q+(i<<2)>>2]&j)>>>k)+-1|0)>>>0>=254){n=1;break g}i=i+1|0;if((i|0)>=(x|0)){n=0;break}}}else{i=h;n=0}while(0);j=h-m|0;o=(j|0)==(x|0)&o;m=i-h|0;if((j|0)>65535)do{b[f>>1]=-1;b[f+2>>1]=0;f=f+4|0;j=j+-65535|0}while((j|0)>65535);k=(m|0)<65535?m:65535;b[f>>1]=j;b[f+2>>1]=k;f=f+4|0;f=f+(Wh[y&31](f,q+(h<<2)|0,k,v,B)|0)|0;j=m-k|0;if(j){k=k+h|0;while(1){h=(j|0)<65535?j:65535;b[f>>1]=0;b[f+2>>1]=h;f=f+4|0;f=f+(Wh[y&31](f,q+(k<<2)|0,h,v,B)|0)|0;j=j-h|0;if(!j)break;else k=h+k|0}}g=(o|0)==0?f:g;if(!n)break;else m=i}r=r+1|0;if((r|0)==(w|0))break;else q=q+(c[u>>2]>>2<<2)|0}f=a[C>>0]|0}else g=h;if(f<<24>>24==4){b[g>>1]=0;b[g+2>>1]=0;f=4}else{a[g>>0]=0;a[g+1>>0]=0;f=2}if(!(c[e>>2]&1)){C2(c[D>>2]|0);c[D>>2]=0}f=D2(A,g+f-A|0)|0;f=(f|0)==0?A:f;g=16384;h=19}E=c[E>>2]|0;c[E+12>>2]=f;c[E+8>>2]=h;E=E+68|0;c[E>>2]=c[E>>2]|g;c[e>>2]=c[e>>2]|2;E=0;l=F;return E|0}function aW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=l;l=l+16|0;e=b;c[e>>2]=d;b5(a,386383,e)|0;l=b;return}function bW(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;g=c[f+52>>2]|0;Y=d[f+60>>0]|0;qa=d[f+61>>0]|0;E=d[f+62>>0]|0;F=d[f+63>>0]|0;i=c[f+40>>2]|0;h=c[f+44>>2]|0;G=a[i+9>>0]|0;H=G&255;I=a[h+9>>0]|0;J=I&255;K=i+24|0;L=~c[K>>2];M=c[f+56>>2]|0;N=f+28|0;pa=c[N>>2]|0;P=(c[f+8>>2]<<16|0)/(pa|0)|0;Q=f+24|0;j=c[Q>>2]|0;R=(c[f+4>>2]<<16|0)/(j|0)|0;c[N>>2]=pa+-1;if(!pa)return;S=f+20|0;T=f+32|0;U=i+28|0;V=i+12|0;W=i+32|0;X=i+29|0;Z=i+16|0;_=i+33|0;$=i+30|0;aa=i+20|0;ba=i+34|0;ca=(g&256|0)==0;da=h+24|0;ea=h+28|0;fa=h+12|0;ga=h+32|0;ha=h+29|0;ia=h+16|0;ja=h+33|0;ka=h+30|0;la=h+20|0;ma=h+34|0;na=(g&1|0)==0;oa=(g&2|0)==0;pa=(g&48|0)!=0;D=g>>>4&255;C=h+31|0;z=h+35|0;A=G<<24>>24==3;B=i+31|0;x=i+35|0;y=f+12|0;h=0;i=0;g=c[S>>2]|0;while(1){if((i|0)>65535){w=i+-65536|0;i=w>>>16;h=h+1+i|0;i=w-(i<<16)|0}if(j|0){k=0;l=-1;m=65536;while(1){j=j+-1|0;if((m|0)>65535){v=m+-65536|0;m=v>>>16;l=l+1+m|0;w=(c[f>>2]|0)+(O(c[y>>2]|0,h)|0)+(O(l,H)|0)|0;m=v-(m<<16)|0}else w=k;k=c[K>>2]|0;a:do if(!k)switch(G<<24>>24){case 1:{o=d[w>>0]|0;p=-1;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}case 2:{o=e[w>>1]|0;p=-1;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}case 3:{p=-1;q=0;k=a[w+((d[W>>0]|0)>>>3&255)>>0]|0;n=a[w+((d[_>>0]|0)>>>3&255)>>0]|0;o=a[w+((d[ba>>0]|0)>>>3&255)>>0]|0;break a}case 4:{o=c[w>>2]|0;p=-1;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}default:{p=-1;q=0;k=0;n=0;o=0;break a}}else switch(G<<24>>24){case 1:{o=d[w>>0]|0;p=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((o&k)>>>(d[x>>0]|0))>>0]|0;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}case 2:{o=e[w>>1]|0;p=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((o&k)>>>(d[x>>0]|0))>>0]|0;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}case 3:{p=-1;q=0;k=a[w+((d[W>>0]|0)>>>3&255)>>0]|0;n=a[w+((d[_>>0]|0)>>>3&255)>>0]|0;o=a[w+((d[ba>>0]|0)>>>3&255)>>0]|0;break a}case 4:{o=c[w>>2]|0;p=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((o&k)>>>(d[x>>0]|0))>>0]|0;q=o;k=a[(c[22432+((d[U>>0]|0)<<2)>>2]|0)+((c[V>>2]&o)>>>(d[W>>0]|0))>>0]|0;n=a[(c[22432+((d[X>>0]|0)<<2)>>2]|0)+((c[Z>>2]&o)>>>(d[_>>0]|0))>>0]|0;o=a[(c[22432+((d[$>>0]|0)<<2)>>2]|0)+((c[aa>>2]&o)>>>(d[ba>>0]|0))>>0]|0;break a}default:{p=0;q=0;k=0;n=0;o=0;break a}}while(0);r=k&255;s=n&255;t=o&255;u=p&255;if(!ca){if(A)k=s<<(d[_>>0]|0)|r<<(d[W>>0]|0)|t<<(d[ba>>0]|0);else k=q;if((k^M)&L|0)ra=24}else ra=24;b:do if((ra|0)==24){ra=0;k=c[da>>2]|0;v=(k|0)==0;c:do if(v)switch(I<<24>>24){case 1:{p=d[g>>0]|0;q=-1;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}case 2:{p=e[g>>1]|0;q=-1;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}case 3:{q=-1;k=a[g+((d[ga>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[ja>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[ma>>0]|0)>>>3&255)>>0]|0;break c}case 4:{p=c[g>>2]|0;q=-1;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}default:{q=-1;k=0;n=0;p=0;break c}}else switch(I<<24>>24){case 1:{p=d[g>>0]|0;q=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((p&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}case 2:{p=e[g>>1]|0;q=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((p&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}case 3:{q=-1;k=a[g+((d[ga>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[ja>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[ma>>0]|0)>>>3&255)>>0]|0;break c}case 4:{p=c[g>>2]|0;q=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((p&k)>>>(d[z>>0]|0))>>0]|0;k=a[(c[22432+((d[ea>>0]|0)<<2)>>2]|0)+((c[fa>>2]&p)>>>(d[ga>>0]|0))>>0]|0;n=a[(c[22432+((d[ha>>0]|0)<<2)>>2]|0)+((c[ia>>2]&p)>>>(d[ja>>0]|0))>>0]|0;p=a[(c[22432+((d[ka>>0]|0)<<2)>>2]|0)+((c[la>>2]&p)>>>(d[ma>>0]|0))>>0]|0;break c}default:{q=0;k=0;n=0;p=0;break c}}while(0);o=k&255;n=n&255;k=p&255;p=q&255;if(!na){r=((O(r,Y)|0)>>>0)/255|0;s=((O(s,qa)|0)>>>0)/255|0;t=((O(t,E)|0)>>>0)/255|0}q=((O(u,F)|0)>>>0)/255|0;q=oa?u:q;if(pa&q>>>0<255){r=((O(r,q)|0)>>>0)/255|0;s=((O(s,q)|0)>>>0)/255|0;t=((O(t,q)|0)>>>0)/255|0}switch(D&7){case 0:{p=q;o=r;n=s;k=t;break}case 1:{u=255-q|0;p=(((O(p,u)|0)>>>0)/255|0)+q|0;o=r+(((O(o,u)|0)>>>0)/255|0)|0;n=s+(((O(n,u)|0)>>>0)/255|0)|0;k=t+(((O(k,u)|0)>>>0)/255|0)|0;break}case 2:{o=r+o|0;n=s+n|0;k=t+k|0;o=o>>>0<255?o:255;n=n>>>0<255?n:255;k=k>>>0<255?k:255;break}case 4:{o=((O(r,o)|0)>>>0)/255|0;n=((O(s,n)|0)>>>0)/255|0;k=((O(t,k)|0)>>>0)/255|0;break}default:{}}if(v)switch(I<<24>>24){case 1:{a[g>>0]=o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0);break b}case 2:{b[g>>1]=o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0);break b}case 3:{a[g+((d[ga>>0]|0)>>>3&255)>>0]=o;a[g+((d[ja>>0]|0)>>>3&255)>>0]=n;a[g+((d[ma>>0]|0)>>>3&255)>>0]=k;break b}case 4:{c[g>>2]=o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0);break b}default:break b}else switch(I<<24>>24){case 1:{a[g>>0]=n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0)|p>>>(d[C>>0]|0)<<(d[z>>0]|0);break b}case 2:{b[g>>1]=n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0)|p>>>(d[C>>0]|0)<<(d[z>>0]|0);break b}case 3:{a[g+((d[ga>>0]|0)>>>3&255)>>0]=o;a[g+((d[ja>>0]|0)>>>3&255)>>0]=n;a[g+((d[ma>>0]|0)>>>3&255)>>0]=k;break b}case 4:{c[g>>2]=n>>>(d[ha>>0]|0)<<(d[ja>>0]|0)|o>>>(d[ea>>0]|0)<<(d[ga>>0]|0)|k>>>(d[ka>>0]|0)<<(d[ma>>0]|0)|p>>>(d[C>>0]|0)<<(d[z>>0]|0);break b}default:break b}}while(0);if(!j)break;else{g=g+J|0;k=w;m=m+R|0}}}g=(c[S>>2]|0)+(c[T>>2]|0)|0;c[S>>2]=g;w=c[N>>2]|0;c[N>>2]=w+-1;if(!w)break;i=i+P|0;j=c[Q>>2]|0}return}function cW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=O(d[(c[a+44>>2]|0)+9>>0]|0,c[a+24>>2]|0)|0;f=c[a+28>>2]|0;e=c[a>>2]|0;b=c[a+20>>2]|0;k=c[a+12>>2]|0;j=c[a+32>>2]|0;i=e>>>0<b>>>0;if((i?b:e)>>>0>=((i?e:b)+(O(i?k:j,f)|0)|0)>>>0){if(!f)return;else a=f;while(1){a=a+-1|0;s6(b|0,e|0,l|0)|0;if(!a)break;else{b=b+j|0;e=e+k|0}}return}if(b>>>0<e>>>0){if(!f)return;else a=f;while(1){a=a+-1|0;t6(b|0,e|0,l|0)|0;if(!a)break;else{e=e+k|0;b=b+j|0}}return}g=f+-1|0;if(!f)return;h=0-k|0;i=0-j|0;a=b+(O(j,g)|0)|0;b=e+(O(k,g)|0)|0;while(1){f=f+-1|0;t6(a|0,b|0,l|0)|0;if(!f)break;else{a=a+i|0;b=b+h|0}}return}function dW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function eW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(f>>>16&255)+(i>>>16&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255);if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;g=c[e>>2]|0;f=g>>>16&255;h=g>>>8&255;g=g&255;if(l){g=((O(g,i&255)|0)>>>0)/255|0;h=((O(h,i>>>8&255)|0)>>>0)/255|0;f=((O(f,i>>>16&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f<<16|g;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function fW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){e=e+-65536|0;o=e>>>16;e=e-(o<<16)|0;f=f+1+o|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=o-(g<<16)|0}c[b>>2]=c[d>>2]&16777215;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}else{d=0;g=65536;h=-1;o=i}while(1){if((g|0)>65535){n=g+-65536|0;g=n>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=n-(g<<16)|0}k=c[d>>2]|0;n=k>>>16&255;m=k>>>8&255;k=k&255;l=c[b>>2]|0;i=l>>>16&255;j=l>>>8&255;l=l&255;switch(s&127){case 64:{l=((O(l,k)|0)>>>0)/255|0;j=((O(j,m)|0)>>>0)/255|0;i=((O(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i<<16|l;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function gW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;c[b>>2]=c[e>>2]&16777215;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>16&255,k)|0)>>>0)/255|0)<<16|(((O(g&255,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function hW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;k=c[s>>2]|0;f=0;g=0;h=k;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}i=e+-1|0;if(e|0)if(l){j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}c[j>>2]=c[b>>2]&16777215;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}else{j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}w=c[b>>2]|0;c[j>>2]=((O(w&255,n)|0)>>>0)/255|0|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>16&255,u)|0)>>>0)/255|0)<<16;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;h=b;e=c[q>>2]|0;k=b}c[s>>2]=b;return}function iW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;r=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(r|0)!=255;q=f&112;p=r^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){i=c[f>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;k=((O(i>>>16&255,A)|0)>>>0)/255|0;j=((O(i>>>8&255,B)|0)>>>0)/255|0;i=((O(i&255,t)|0)>>>0)/255|0;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function jW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;E=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(E|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[y>>2]=g;if(!E)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;v=(f&2|0)==0?255:e&255;w=(f&48|0)!=0&(v|0)!=255;u=f&112;s=v^255;t=b+12|0;f=c[C>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;q=i>>>16;i=i-(q<<16)|0;q=j+1+q|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[t>>2]|0,q)|0)+(j<<2)|0;g=p-(g<<16)|0}m=c[e>>2]|0;n=m>>>16&255;o=m>>>8&255;m=m&255;p=c[f>>2]|0;k=p>>>16&255;l=p>>>8&255;p=p&255;if(!E){n=((O(n,F)|0)>>>0)/255|0;o=((O(o,G)|0)>>>0)/255|0;m=((O(m,x)|0)>>>0)/255|0}if(w){n=((O(n,v)|0)>>>0)/255|0;o=((O(o,v)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}switch(u&127){case 16:{m=m+(((O(p,s)|0)>>>0)/255|0)|0;l=o+(((O(l,s)|0)>>>0)/255|0)|0;k=n+(((O(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((O(m,p)|0)>>>0)/255|0;l=((O(o,l)|0)>>>0)/255|0;k=((O(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k<<16|m;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=r+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=q;r=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function lW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){i=c[d>>2]|0;c[e>>2]=i&65280|i>>>16&255|i<<16&16711680;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(i>>>16&255)+(f&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f>>>16&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;f=c[e>>2]|0;g=f>>>16&255;h=f>>>8&255;f=f&255;if(l){g=((O(g,i&255)|0)>>>0)/255|0;h=((O(h,i>>>8&255)|0)>>>0)/255|0;f=((O(i>>>16&255,f)|0)>>>0)/255|0}c[e>>2]=h<<8|f|g<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function mW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){e=e+-65536|0;o=e>>>16;e=e-(o<<16)|0;f=f+1+o|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[d>>2]|0;c[b>>2]=o&65280|o>>>16&255|o<<16&16711680;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}else{d=0;g=65536;h=-1;o=i}while(1){if((g|0)>65535){n=g+-65536|0;g=n>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=n-(g<<16)|0}k=c[d>>2]|0;n=k>>>16&255;m=k>>>8&255;k=k&255;i=c[b>>2]|0;l=i>>>16&255;j=i>>>8&255;i=i&255;switch(s&127){case 64:{l=((O(l,k)|0)>>>0)/255|0;j=((O(j,m)|0)>>>0)/255|0;i=((O(n,i)|0)>>>0)/255|0;break}case 32:{i=n+i|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i|l<<16;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function nW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l&65280|l>>>16&255|l<<16&16711680;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>16&255,k)|0)>>>0)/255|0)|(((O(g&255,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function oW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w<<16&16711680|w&65280|w>>>16&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=(((O(w&255,n)|0)>>>0)/255|0)<<16|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>16&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function pW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;r=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(r|0)!=255;q=f&112;p=r^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){i=c[f>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;k=((O(i>>>16&255,A)|0)>>>0)/255|0;j=((O(i>>>8&255,B)|0)>>>0)/255|0;i=((O(i&255,t)|0)>>>0)/255|0;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function qW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;E=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(E|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[y>>2]=g;if(!E)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;v=(f&2|0)==0?255:e&255;w=(f&48|0)!=0&(v|0)!=255;u=f&112;s=v^255;t=b+12|0;f=c[C>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;q=i>>>16;i=i-(q<<16)|0;q=j+1+q|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[t>>2]|0,q)|0)+(j<<2)|0;g=p-(g<<16)|0}m=c[e>>2]|0;n=m>>>16&255;o=m>>>8&255;m=m&255;k=c[f>>2]|0;p=k>>>16&255;l=k>>>8&255;k=k&255;if(!E){n=((O(n,F)|0)>>>0)/255|0;o=((O(o,G)|0)>>>0)/255|0;m=((O(m,x)|0)>>>0)/255|0}if(w){n=((O(n,v)|0)>>>0)/255|0;o=((O(o,v)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}switch(u&127){case 16:{m=m+(((O(p,s)|0)>>>0)/255|0)|0;l=o+(((O(l,s)|0)>>>0)/255|0)|0;k=n+(((O(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((O(m,p)|0)>>>0)/255|0;l=((O(o,l)|0)>>>0)/255|0;k=((O(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k|m<<16;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=r+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=q;r=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function rW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2]|-16777216;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function sW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;q=a+32|0;p=b&112;m=(p&127)==16;d=c[a>>2]|0;e=c[s>>2]|0;n=d;o=e;while(1){l=c[t>>2]|0;b=l+-1|0;a:do if(l|0){if(m)while(1){c[e>>2]=c[d>>2]|-16777216;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;h=h&255;l=c[e>>2]|0;f=l>>>16&255;g=l>>>8&255;i=l&255;l=l&-16777216;switch(p&127){case 64:{i=((O(i,h)|0)>>>0)/255|0;g=((O(g,j)|0)>>>0)/255|0;f=((O(f,k)|0)>>>0)/255|0;break}case 32:{f=f+k|0;g=g+j|0;i=i+h|0;i=i>>>0<255?i:255;g=g>>>0<255?g:255;f=f>>>0<255?f:255;break}default:{}}c[e>>2]=g<<8|f<<16|i|l;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}while(0);d=n+(c[u>>2]|0)|0;b=o+(c[q>>2]|0)|0;o=c[r>>2]|0;c[r>>2]=o+-1;if(!o)break;else{n=d;o=b;e=b}}c[a>>2]=d;c[s>>2]=b;return}function tW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;u=a+24|0;d=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(d|0)|0;c[y>>2]=x+-1;if(!x)return;w=a+20|0;x=a+32|0;t=b&112;r=a+12|0;s=(t&127)==16;b=c[w>>2]|0;e=0;f=0;q=b;while(1){if((e|0)>65535){e=e+-65536|0;p=e>>>16;e=e-(p<<16)|0;f=f+1+p|0}i=d+-1|0;a:do if(d|0){if(s){d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,f)|0)+(h<<2)|0;g=p-(g<<16)|0}c[b>>2]=c[d>>2]|-16777216;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}else{d=0;g=65536;h=-1}while(1){if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,f)|0)+(h<<2)|0;g=p-(g<<16)|0}l=c[d>>2]|0;o=l>>>16&255;n=l>>>8&255;l=l&255;p=c[b>>2]|0;j=p>>>16&255;k=p>>>8&255;m=p&255;p=p&-16777216;switch(t&127){case 64:{m=((O(m,l)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;j=((O(j,o)|0)>>>0)/255|0;break}case 32:{j=j+o|0;k=k+n|0;m=m+l|0;m=m>>>0<255?m:255;k=k>>>0<255?k:255;j=j>>>0<255?j:255;break}default:{}}c[b>>2]=k<<8|j<<16|m|p;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}while(0);b=q+(c[x>>2]|0)|0;q=c[y>>2]|0;c[y>>2]=q+-1;if(!q)break;e=e+z|0;q=b;d=c[u>>2]|0}c[w>>2]=b;return}function uW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=c[b+52>>2]|0;l=d[b+60>>0]|0;m=d[b+61>>0]|0;k=d[b+62>>0]|0;e=a[b+63>>0]|0;o=b+28|0;s=c[o>>2]|0;h=s+-1|0;c[o>>2]=h;if(!s)return;s=b+20|0;p=b+24|0;q=b+12|0;r=b+32|0;n=(f&2|0)==0?-16777216:(e&255)<<24;g=c[b>>2]|0;e=c[s>>2]|0;if(!(f&1)){i=g;j=e;f=g;while(1){g=c[p>>2]|0;if(!g)g=h;else{while(1){g=g+-1|0;m=c[f>>2]|0;c[e>>2]=m&16711680|n|m&65280|m&255;if(!g)break;else{e=e+4|0;f=f+4|0}}g=c[o>>2]|0}f=i+(c[q>>2]|0)|0;e=j+(c[r>>2]|0)|0;h=g+-1|0;c[o>>2]=h;if(!g)break;else{i=f;j=e}}}else{i=g;j=e;f=g;while(1){g=c[p>>2]|0;if(!g)g=h;else{while(1){g=g+-1|0;h=c[f>>2]|0;c[e>>2]=(((O(h>>>16&255,l)|0)>>>0)/255|0)<<16|n|(((O(h>>>8&255,m)|0)>>>0)/255|0)<<8|(((O(h&255,k)|0)>>>0)/255|0);if(!g)break;else{e=e+4|0;f=f+4|0}}g=c[o>>2]|0}f=i+(c[q>>2]|0)|0;e=j+(c[r>>2]|0)|0;h=g+-1|0;c[o>>2]=h;if(!g)break;else{i=f;j=e}}}c[b>>2]=f;c[s>>2]=e;return}function vW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=c[b+52>>2]|0;w=d[b+60>>0]|0;x=d[b+61>>0]|0;o=d[b+62>>0]|0;e=a[b+63>>0]|0;p=b+28|0;v=c[p>>2]|0;q=(c[b+8>>2]<<16|0)/(v|0)|0;r=b+24|0;g=c[r>>2]|0;s=(c[b+4>>2]<<16|0)/(g|0)|0;c[p>>2]=v+-1;if(!v)return;t=b+20|0;u=b+32|0;v=(f&1|0)==0;m=(f&2|0)==0?-16777216:(e&255)<<24;n=b+12|0;e=c[t>>2]|0;f=0;h=0;l=e;while(1){if((f|0)>65535){f=f+-65536|0;k=f>>>16;f=f-(k<<16)|0;h=h+1+k|0}k=g+-1|0;if(g|0)if(v){g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=i+-65536|0;i=y>>>16;j=j+1+i|0;g=(c[b>>2]|0)+(O(c[n>>2]|0,h)|0)+(j<<2)|0;i=y-(i<<16)|0}y=c[g>>2]|0;c[e>>2]=y&65280|m|y&255|y&16711680;if(!k)break;else{e=e+4|0;i=i+s|0;k=k+-1|0}}}else{g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=i+-65536|0;i=y>>>16;j=j+1+i|0;g=(c[b>>2]|0)+(O(c[n>>2]|0,h)|0)+(j<<2)|0;i=y-(i<<16)|0}y=c[g>>2]|0;c[e>>2]=(((O(y>>>8&255,x)|0)>>>0)/255|0)<<8|m|(((O(y&255,o)|0)>>>0)/255|0)|(((O(y>>>16&255,w)|0)>>>0)/255|0)<<16;if(!k)break;else{e=e+4|0;i=i+s|0;k=k+-1|0}}}e=l+(c[u>>2]|0)|0;y=c[p>>2]|0;c[p>>2]=y+-1;if(!y)break;f=f+q|0;l=e;g=c[r>>2]|0}c[t>>2]=e;return}function wW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[b+52>>2]|0;B=d[b+60>>0]|0;C=d[b+61>>0]|0;u=d[b+62>>0]|0;e=a[b+63>>0]|0;v=b+28|0;A=c[v>>2]|0;g=A+-1|0;c[v>>2]=g;if(!A)return;w=b+20|0;x=b+24|0;y=b+12|0;z=b+32|0;A=(f&1|0)==0;s=(f&2|0)==0?255:e&255;t=(f&48|0)!=0&(s|0)!=255;r=f&112;q=s^255;o=c[b>>2]|0;p=c[w>>2]|0;e=p;i=o;while(1){f=c[x>>2]|0;if(f){while(1){f=f+-1|0;j=c[i>>2]|0;l=j>>>16&255;k=j>>>8&255;j=j&255;m=c[e>>2]|0;g=m>>>16&255;h=m>>>8&255;n=m&255;m=m>>>24;if(!A){j=((O(j,u)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;l=((O(l,B)|0)>>>0)/255|0}if(t){j=((O(j,s)|0)>>>0)/255|0;k=((O(k,s)|0)>>>0)/255|0;l=((O(l,s)|0)>>>0)/255|0}switch(r&127){case 16:{m=(((O(m,q)|0)>>>0)/255|0)+s|0;j=j+(((O(n,q)|0)>>>0)/255|0)|0;h=k+(((O(h,q)|0)>>>0)/255|0)|0;g=l+(((O(g,q)|0)>>>0)/255|0)|0;break}case 32:{g=l+g|0;h=k+h|0;j=j+n|0;j=j>>>0<255?j:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{j=((O(j,n)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;g=((O(l,g)|0)>>>0)/255|0;break}default:j=n}c[e>>2]=h<<8|g<<16|j|m<<24;if(!f)break;else{e=e+4|0;i=i+4|0}}g=c[v>>2]|0}f=o+(c[y>>2]|0)|0;h=p+(c[z>>2]|0)|0;e=g+-1|0;c[v>>2]=e;if(!g)break;else{g=e;e=h;i=f;o=f;p=h}}c[b>>2]=f;c[w>>2]=h;return}function xW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+52>>2]|0;G=d[b+60>>0]|0;H=d[b+61>>0]|0;y=d[b+62>>0]|0;e=a[b+63>>0]|0;z=b+28|0;F=c[z>>2]|0;A=(c[b+8>>2]<<16|0)/(F|0)|0;B=b+24|0;h=c[B>>2]|0;C=(c[b+4>>2]<<16|0)/(h|0)|0;g=F+-1|0;c[z>>2]=g;if(!F)return;D=b+20|0;E=b+32|0;F=(f&1|0)==0;w=(f&2|0)==0?255:e&255;x=(f&48|0)!=0&(w|0)!=255;v=f&112;t=w^255;u=b+12|0;f=c[D>>2]|0;i=0;j=0;s=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;r=i>>>16;i=i-(r<<16)|0;r=j+1+r|0}else r=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){q=g+-65536|0;g=q>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[u>>2]|0,r)|0)+(j<<2)|0;g=q-(g<<16)|0}o=c[e>>2]|0;m=o>>>16&255;p=o>>>8&255;o=o&255;q=c[f>>2]|0;k=q>>>16&255;l=q>>>8&255;n=q&255;q=q>>>24;if(!F){m=((O(m,G)|0)>>>0)/255|0;p=((O(p,H)|0)>>>0)/255|0;o=((O(o,y)|0)>>>0)/255|0}if(x){m=((O(m,w)|0)>>>0)/255|0;p=((O(p,w)|0)>>>0)/255|0;o=((O(o,w)|0)>>>0)/255|0}switch(v&127){case 16:{q=(((O(q,t)|0)>>>0)/255|0)+w|0;n=o+(((O(n,t)|0)>>>0)/255|0)|0;l=p+(((O(l,t)|0)>>>0)/255|0)|0;k=m+(((O(k,t)|0)>>>0)/255|0)|0;break}case 32:{k=m+k|0;l=p+l|0;n=o+n|0;n=n>>>0<255?n:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{n=((O(o,n)|0)>>>0)/255|0;l=((O(p,l)|0)>>>0)/255|0;k=((O(m,k)|0)>>>0)/255|0;break}default:{}}c[f>>2]=l<<8|k<<16|n|q<<24;if(!h)break;else{f=f+4|0;g=g+C|0}}e=c[z>>2]|0}g=s+(c[E>>2]|0)|0;f=e+-1|0;c[z>>2]=f;if(!e)break;i=i+A|0;j=r;s=g;e=f;f=g;h=c[B>>2]|0}c[D>>2]=g;return}function yW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function zW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){i=c[d>>2]|0;c[e>>2]=i&65280|i<<16&16711680|i>>>16&255;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){f=c[d>>2]|0;i=c[e>>2]|0;h=(i>>>16&255)+(f&255)|0;g=(i>>>8&255)+(f>>>8&255)|0;i=(f>>>16&255)+(i&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)<<16|(i>>>0<255?i:255);if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;g=c[e>>2]|0;f=g>>>16&255;h=g>>>8&255;g=g&255;if(l){g=((O(i>>>16&255,g)|0)>>>0)/255|0;h=((O(h,i>>>8&255)|0)>>>0)/255|0;f=((O(f,i&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f<<16|g;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function AW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){e=e+-65536|0;o=e>>>16;e=e-(o<<16)|0;f=f+1+o|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[d>>2]|0;c[b>>2]=o&65280|o<<16&16711680|o>>>16&255;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}else{d=0;g=65536;h=-1;o=i}while(1){if((g|0)>65535){n=g+-65536|0;g=n>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=n-(g<<16)|0}n=c[d>>2]|0;k=n>>>16&255;m=n>>>8&255;n=n&255;l=c[b>>2]|0;i=l>>>16&255;j=l>>>8&255;l=l&255;switch(s&127){case 64:{l=((O(k,l)|0)>>>0)/255|0;j=((O(j,m)|0)>>>0)/255|0;i=((O(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=k+l|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i<<16|l;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function BW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l&65280|l<<16&16711680|l>>>16&255;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g&255,k)|0)>>>0)/255|0)<<16|(((O(g>>>16&255,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function CW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w>>>16&255|w&65280|w<<16&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=((O(w>>>16&255,n)|0)>>>0)/255|0|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function DW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;r=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(r|0)!=255;q=f&112;p=r^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){k=c[f>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;l=c[e>>2]|0;g=l>>>16&255;h=l>>>8&255;l=l&255;k=((O(i&255,A)|0)>>>0)/255|0;j=((O(i>>>8&255,B)|0)>>>0)/255|0;i=((O(i>>>16&255,t)|0)>>>0)/255|0;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g<<16|i;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function EW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;E=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(E|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[y>>2]=g;if(!E)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;v=(f&2|0)==0?255:e&255;w=(f&48|0)!=0&(v|0)!=255;u=f&112;s=v^255;t=b+12|0;f=c[C>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;q=i>>>16;i=i-(q<<16)|0;q=j+1+q|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[t>>2]|0,q)|0)+(j<<2)|0;g=p-(g<<16)|0}n=c[e>>2]|0;m=n>>>16&255;o=n>>>8&255;n=n&255;p=c[f>>2]|0;k=p>>>16&255;l=p>>>8&255;p=p&255;if(!E){n=((O(n,F)|0)>>>0)/255|0;o=((O(o,G)|0)>>>0)/255|0;m=((O(m,x)|0)>>>0)/255|0}if(w){n=((O(n,v)|0)>>>0)/255|0;o=((O(o,v)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}switch(u&127){case 16:{m=m+(((O(p,s)|0)>>>0)/255|0)|0;l=o+(((O(l,s)|0)>>>0)/255|0)|0;k=n+(((O(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((O(m,p)|0)>>>0)/255|0;l=((O(o,l)|0)>>>0)/255|0;k=((O(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k<<16|m;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=r+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=q;r=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function FW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function GW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=c[a+52>>2]|0;o=a+28|0;r=c[o>>2]|0;c[o>>2]=r+-1;if(!r)return;p=a+20|0;q=a+24|0;r=a+12|0;n=a+32|0;m=b&112;d=c[a>>2]|0;e=c[p>>2]|0;l=(m&127)==64;j=d;k=e;while(1){i=c[q>>2]|0;b=i+-1|0;if(i|0)switch(m&127){case 16:{while(1){c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}case 32:{while(1){i=c[d>>2]|0;f=c[e>>2]|0;h=(f&255)+(i&255)|0;g=(f>>>8&255)+(i>>>8&255)|0;i=(f>>>16&255)+(i>>>16&255)|0;c[e>>2]=(g>>>0<255?g:255)<<8|(h>>>0<255?h:255)|(i>>>0<255?i:255)<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}break}default:while(1){i=c[d>>2]|0;f=c[e>>2]|0;g=f>>>16&255;h=f>>>8&255;f=f&255;if(l){g=((O(g,i>>>16&255)|0)>>>0)/255|0;h=((O(h,i>>>8&255)|0)>>>0)/255|0;f=((O(f,i&255)|0)>>>0)/255|0}c[e>>2]=h<<8|f|g<<16;if(!b)break;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}d=j+(c[r>>2]|0)|0;b=k+(c[n>>2]|0)|0;k=c[o>>2]|0;c[o>>2]=k+-1;if(!k)break;else{j=d;k=b;e=b}}c[a>>2]=d;c[p>>2]=b;return}function HW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=c[a+52>>2]|0;x=a+28|0;w=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(w|0)|0;t=a+24|0;d=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(d|0)|0;c[x>>2]=w+-1;if(!w)return;v=a+20|0;w=a+32|0;s=b&112;q=a+12|0;r=(s&127)==16;b=c[v>>2]|0;e=0;f=0;p=b;while(1){if((e|0)>65535){e=e+-65536|0;o=e>>>16;e=e-(o<<16)|0;f=f+1+o|0}i=d+-1|0;a:do if(d|0){if(r){d=0;g=65536;h=-1;while(1){if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=o-(g<<16)|0}c[b>>2]=c[d>>2]&16777215;if(!i)break a;else{b=b+4|0;g=g+u|0;i=i+-1|0}}}else{d=0;g=65536;h=-1;o=i}while(1){if((g|0)>65535){n=g+-65536|0;g=n>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[q>>2]|0,f)|0)+(h<<2)|0;g=n-(g<<16)|0}n=c[d>>2]|0;k=n>>>16&255;m=n>>>8&255;n=n&255;i=c[b>>2]|0;l=i>>>16&255;j=i>>>8&255;i=i&255;switch(s&127){case 64:{l=((O(l,k)|0)>>>0)/255|0;j=((O(j,m)|0)>>>0)/255|0;i=((O(i,n)|0)>>>0)/255|0;break}case 32:{i=i+n|0;j=j+m|0;l=l+k|0;l=l>>>0<255?l:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}default:{}}c[b>>2]=j<<8|i|l<<16;if(!o)break a;else{b=b+4|0;g=g+u|0;o=o+-1|0}}}while(0);b=p+(c[w>>2]|0)|0;p=c[x>>2]|0;c[x>>2]=p+-1;if(!p)break;e=e+y|0;p=b;d=c[t>>2]|0}c[v>>2]=b;return}function IW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;c[b>>2]=c[e>>2]&16777215;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g&255,k)|0)>>>0)/255|0)|(((O(g>>>16&255,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function JW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;k=c[s>>2]|0;f=0;g=0;h=k;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}i=e+-1|0;if(e|0)if(l){j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}c[j>>2]=c[b>>2]&16777215;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}else{j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}w=c[b>>2]|0;c[j>>2]=(((O(w>>>16&255,n)|0)>>>0)/255|0)<<16|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w&255,u)|0)>>>0)/255|0);if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;h=b;e=c[q>>2]|0;k=b}c[s>>2]=b;return}function KW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=c[b+52>>2]|0;A=d[b+60>>0]|0;B=d[b+61>>0]|0;t=d[b+62>>0]|0;e=a[b+63>>0]|0;u=b+28|0;z=c[u>>2]|0;c[u>>2]=z+-1;if(!z)return;v=b+20|0;w=b+24|0;x=b+12|0;y=b+32|0;z=(f&1|0)==0;r=(f&2|0)==0?255:e&255;s=(f&48|0)!=0&(r|0)!=255;q=f&112;p=r^255;f=c[b>>2]|0;e=c[v>>2]|0;n=f;o=e;while(1){m=c[w>>2]|0;g=m+-1|0;a:do if(m|0)if(z){m=g;while(1){k=c[f>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}else{m=g;while(1){i=c[f>>2]|0;g=c[e>>2]|0;l=g>>>16&255;h=g>>>8&255;g=g&255;k=((O(i&255,A)|0)>>>0)/255|0;j=((O(i>>>8&255,B)|0)>>>0)/255|0;i=((O(i>>>16&255,t)|0)>>>0)/255|0;if(s){i=((O(i,r)|0)>>>0)/255|0;j=((O(j,r)|0)>>>0)/255|0;k=((O(k,r)|0)>>>0)/255|0}switch(q&127){case 16:{i=i+(((O(l,p)|0)>>>0)/255|0)|0;h=j+(((O(h,p)|0)>>>0)/255|0)|0;g=k+(((O(g,p)|0)>>>0)/255|0)|0;break}case 32:{g=k+g|0;h=j+h|0;i=i+l|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{i=((O(i,l)|0)>>>0)/255|0;h=((O(j,h)|0)>>>0)/255|0;g=((O(k,g)|0)>>>0)/255|0;break}default:i=l}c[e>>2]=h<<8|g|i<<16;if(!m)break a;else{e=e+4|0;f=f+4|0;m=m+-1|0}}}while(0);f=n+(c[x>>2]|0)|0;e=o+(c[y>>2]|0)|0;o=c[u>>2]|0;c[u>>2]=o+-1;if(!o)break;else{n=f;o=e}}c[b>>2]=f;c[v>>2]=e;return}function LW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+52>>2]|0;F=d[b+60>>0]|0;G=d[b+61>>0]|0;x=d[b+62>>0]|0;e=a[b+63>>0]|0;y=b+28|0;E=c[y>>2]|0;z=(c[b+8>>2]<<16|0)/(E|0)|0;A=b+24|0;h=c[A>>2]|0;B=(c[b+4>>2]<<16|0)/(h|0)|0;g=E+-1|0;c[y>>2]=g;if(!E)return;C=b+20|0;D=b+32|0;E=(f&1|0)==0;v=(f&2|0)==0?255:e&255;w=(f&48|0)!=0&(v|0)!=255;u=f&112;s=v^255;t=b+12|0;f=c[C>>2]|0;i=0;j=0;r=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;q=i>>>16;i=i-(q<<16)|0;q=j+1+q|0}else q=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[t>>2]|0,q)|0)+(j<<2)|0;g=p-(g<<16)|0}n=c[e>>2]|0;m=n>>>16&255;o=n>>>8&255;n=n&255;k=c[f>>2]|0;p=k>>>16&255;l=k>>>8&255;k=k&255;if(!E){n=((O(n,F)|0)>>>0)/255|0;o=((O(o,G)|0)>>>0)/255|0;m=((O(m,x)|0)>>>0)/255|0}if(w){n=((O(n,v)|0)>>>0)/255|0;o=((O(o,v)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}switch(u&127){case 16:{m=m+(((O(p,s)|0)>>>0)/255|0)|0;l=o+(((O(l,s)|0)>>>0)/255|0)|0;k=n+(((O(k,s)|0)>>>0)/255|0)|0;break}case 32:{k=n+k|0;l=o+l|0;m=m+p|0;m=m>>>0<255?m:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{m=((O(m,p)|0)>>>0)/255|0;l=((O(o,l)|0)>>>0)/255|0;k=((O(n,k)|0)>>>0)/255|0;break}default:m=p}c[f>>2]=l<<8|k|m<<16;if(!h)break;else{f=f+4|0;g=g+B|0}}e=c[y>>2]|0}g=r+(c[D>>2]|0)|0;f=e+-1|0;c[y>>2]=f;if(!e)break;i=i+z|0;j=q;r=g;e=f;f=g;h=c[A>>2]|0}c[C>>2]=g;return}function MW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r&65280|r<<16|r>>>16&255|-16777216;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function NW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;q=a+32|0;p=b&112;m=(p&127)==16;d=c[a>>2]|0;e=c[s>>2]|0;n=d;o=e;while(1){l=c[t>>2]|0;b=l+-1|0;a:do if(l|0){if(m)while(1){l=c[d>>2]|0;c[e>>2]=l&65280|l<<16|l>>>16&255|-16777216;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;k=k&255;l=c[e>>2]|0;f=l>>>16&255;g=l>>>8&255;i=l&255;l=l&-16777216;switch(p&127){case 64:{i=((O(h,i)|0)>>>0)/255|0;g=((O(g,j)|0)>>>0)/255|0;f=((O(f,k)|0)>>>0)/255|0;break}case 32:{f=f+k|0;g=g+j|0;i=h+i|0;i=i>>>0<255?i:255;g=g>>>0<255?g:255;f=f>>>0<255?f:255;break}default:{}}c[e>>2]=g<<8|f<<16|i|l;if(!b)break a;else{e=e+4|0;d=d+4|0;b=b+-1|0}}}while(0);d=n+(c[u>>2]|0)|0;b=o+(c[q>>2]|0)|0;o=c[r>>2]|0;c[r>>2]=o+-1;if(!o)break;else{n=d;o=b;e=b}}c[a>>2]=d;c[s>>2]=b;return}function OW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;u=a+24|0;d=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(d|0)|0;c[y>>2]=x+-1;if(!x)return;w=a+20|0;x=a+32|0;t=b&112;r=a+12|0;s=(t&127)==16;b=c[w>>2]|0;e=0;f=0;q=b;while(1){if((e|0)>65535){e=e+-65536|0;p=e>>>16;e=e-(p<<16)|0;f=f+1+p|0}i=d+-1|0;a:do if(d|0){if(s){d=0;g=65536;h=-1;while(1){if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,f)|0)+(h<<2)|0;g=p-(g<<16)|0}p=c[d>>2]|0;c[b>>2]=p&65280|p<<16|p>>>16&255|-16777216;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}else{d=0;g=65536;h=-1}while(1){if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,f)|0)+(h<<2)|0;g=p-(g<<16)|0}o=c[d>>2]|0;l=o>>>16&255;n=o>>>8&255;o=o&255;p=c[b>>2]|0;j=p>>>16&255;k=p>>>8&255;m=p&255;p=p&-16777216;switch(t&127){case 64:{m=((O(l,m)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;j=((O(j,o)|0)>>>0)/255|0;break}case 32:{j=j+o|0;k=k+n|0;m=l+m|0;m=m>>>0<255?m:255;k=k>>>0<255?k:255;j=j>>>0<255?j:255;break}default:{}}c[b>>2]=k<<8|j<<16|m|p;if(!i)break a;else{b=b+4|0;g=g+v|0;i=i+-1|0}}}while(0);b=q+(c[x>>2]|0)|0;q=c[y>>2]|0;c[y>>2]=q+-1;if(!q)break;e=e+z|0;q=b;d=c[u>>2]|0}c[w>>2]=b;return}function PW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=c[b+52>>2]|0;l=d[b+60>>0]|0;m=d[b+61>>0]|0;k=d[b+62>>0]|0;e=a[b+63>>0]|0;o=b+28|0;s=c[o>>2]|0;h=s+-1|0;c[o>>2]=h;if(!s)return;s=b+20|0;p=b+24|0;q=b+12|0;r=b+32|0;n=(f&2|0)==0?-16777216:(e&255)<<24;g=c[b>>2]|0;e=c[s>>2]|0;if(!(f&1)){i=g;j=e;f=g;while(1){g=c[p>>2]|0;if(!g)g=h;else{while(1){g=g+-1|0;m=c[f>>2]|0;c[e>>2]=m<<16&16711680|n|m&65280|m>>>16&255;if(!g)break;else{e=e+4|0;f=f+4|0}}g=c[o>>2]|0}f=i+(c[q>>2]|0)|0;e=j+(c[r>>2]|0)|0;h=g+-1|0;c[o>>2]=h;if(!g)break;else{i=f;j=e}}}else{i=g;j=e;f=g;while(1){g=c[p>>2]|0;if(!g)g=h;else{while(1){g=g+-1|0;h=c[f>>2]|0;c[e>>2]=(((O(h&255,l)|0)>>>0)/255|0)<<16|n|(((O(h>>>8&255,m)|0)>>>0)/255|0)<<8|(((O(h>>>16&255,k)|0)>>>0)/255|0);if(!g)break;else{e=e+4|0;f=f+4|0}}g=c[o>>2]|0}f=i+(c[q>>2]|0)|0;e=j+(c[r>>2]|0)|0;h=g+-1|0;c[o>>2]=h;if(!g)break;else{i=f;j=e}}}c[b>>2]=f;c[s>>2]=e;return}function QW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=c[b+52>>2]|0;w=d[b+60>>0]|0;x=d[b+61>>0]|0;o=d[b+62>>0]|0;e=a[b+63>>0]|0;p=b+28|0;v=c[p>>2]|0;q=(c[b+8>>2]<<16|0)/(v|0)|0;r=b+24|0;g=c[r>>2]|0;s=(c[b+4>>2]<<16|0)/(g|0)|0;c[p>>2]=v+-1;if(!v)return;t=b+20|0;u=b+32|0;v=(f&1|0)==0;m=(f&2|0)==0?-16777216:(e&255)<<24;n=b+12|0;e=c[t>>2]|0;f=0;h=0;l=e;while(1){if((f|0)>65535){f=f+-65536|0;k=f>>>16;f=f-(k<<16)|0;h=h+1+k|0}k=g+-1|0;if(g|0)if(v){g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=i+-65536|0;i=y>>>16;j=j+1+i|0;g=(c[b>>2]|0)+(O(c[n>>2]|0,h)|0)+(j<<2)|0;i=y-(i<<16)|0}y=c[g>>2]|0;c[e>>2]=y&65280|m|y>>>16&255|y<<16&16711680;if(!k)break;else{e=e+4|0;i=i+s|0;k=k+-1|0}}}else{g=0;i=65536;j=-1;while(1){if((i|0)>65535){y=i+-65536|0;i=y>>>16;j=j+1+i|0;g=(c[b>>2]|0)+(O(c[n>>2]|0,h)|0)+(j<<2)|0;i=y-(i<<16)|0}y=c[g>>2]|0;c[e>>2]=(((O(y>>>8&255,x)|0)>>>0)/255|0)<<8|m|(((O(y>>>16&255,o)|0)>>>0)/255|0)|(((O(y&255,w)|0)>>>0)/255|0)<<16;if(!k)break;else{e=e+4|0;i=i+s|0;k=k+-1|0}}}e=l+(c[u>>2]|0)|0;y=c[p>>2]|0;c[p>>2]=y+-1;if(!y)break;f=f+q|0;l=e;g=c[r>>2]|0}c[t>>2]=e;return}function RW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[b+52>>2]|0;B=d[b+60>>0]|0;C=d[b+61>>0]|0;u=d[b+62>>0]|0;e=a[b+63>>0]|0;v=b+28|0;A=c[v>>2]|0;g=A+-1|0;c[v>>2]=g;if(!A)return;w=b+20|0;x=b+24|0;y=b+12|0;z=b+32|0;A=(f&1|0)==0;s=(f&2|0)==0?255:e&255;t=(f&48|0)!=0&(s|0)!=255;r=f&112;q=s^255;o=c[b>>2]|0;p=c[w>>2]|0;e=p;i=o;while(1){f=c[x>>2]|0;if(f){while(1){f=f+-1|0;l=c[i>>2]|0;j=l>>>16&255;k=l>>>8&255;l=l&255;m=c[e>>2]|0;g=m>>>16&255;h=m>>>8&255;n=m&255;m=m>>>24;if(!A){j=((O(j,u)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;l=((O(l,B)|0)>>>0)/255|0}if(t){j=((O(j,s)|0)>>>0)/255|0;k=((O(k,s)|0)>>>0)/255|0;l=((O(l,s)|0)>>>0)/255|0}switch(r&127){case 16:{m=(((O(m,q)|0)>>>0)/255|0)+s|0;j=j+(((O(n,q)|0)>>>0)/255|0)|0;h=k+(((O(h,q)|0)>>>0)/255|0)|0;g=l+(((O(g,q)|0)>>>0)/255|0)|0;break}case 32:{g=l+g|0;h=k+h|0;j=j+n|0;j=j>>>0<255?j:255;h=h>>>0<255?h:255;g=g>>>0<255?g:255;break}case 64:{j=((O(j,n)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;g=((O(l,g)|0)>>>0)/255|0;break}default:j=n}c[e>>2]=h<<8|g<<16|j|m<<24;if(!f)break;else{e=e+4|0;i=i+4|0}}g=c[v>>2]|0}f=o+(c[y>>2]|0)|0;h=p+(c[z>>2]|0)|0;e=g+-1|0;c[v>>2]=e;if(!g)break;else{g=e;e=h;i=f;o=f;p=h}}c[b>>2]=f;c[w>>2]=h;return}function SW(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+52>>2]|0;G=d[b+60>>0]|0;H=d[b+61>>0]|0;y=d[b+62>>0]|0;e=a[b+63>>0]|0;z=b+28|0;F=c[z>>2]|0;A=(c[b+8>>2]<<16|0)/(F|0)|0;B=b+24|0;h=c[B>>2]|0;C=(c[b+4>>2]<<16|0)/(h|0)|0;g=F+-1|0;c[z>>2]=g;if(!F)return;D=b+20|0;E=b+32|0;F=(f&1|0)==0;w=(f&2|0)==0?255:e&255;x=(f&48|0)!=0&(w|0)!=255;v=f&112;t=w^255;u=b+12|0;f=c[D>>2]|0;i=0;j=0;s=f;e=g;while(1){if((i|0)>65535){i=i+-65536|0;r=i>>>16;i=i-(r<<16)|0;r=j+1+r|0}else r=j;if(h){e=0;g=65536;j=-1;while(1){h=h+-1|0;if((g|0)>65535){q=g+-65536|0;g=q>>>16;j=j+1+g|0;e=(c[b>>2]|0)+(O(c[u>>2]|0,r)|0)+(j<<2)|0;g=q-(g<<16)|0}m=c[e>>2]|0;o=m>>>16&255;p=m>>>8&255;m=m&255;q=c[f>>2]|0;k=q>>>16&255;l=q>>>8&255;n=q&255;q=q>>>24;if(!F){m=((O(m,G)|0)>>>0)/255|0;p=((O(p,H)|0)>>>0)/255|0;o=((O(o,y)|0)>>>0)/255|0}if(x){m=((O(m,w)|0)>>>0)/255|0;p=((O(p,w)|0)>>>0)/255|0;o=((O(o,w)|0)>>>0)/255|0}switch(v&127){case 16:{q=(((O(q,t)|0)>>>0)/255|0)+w|0;n=o+(((O(n,t)|0)>>>0)/255|0)|0;l=p+(((O(l,t)|0)>>>0)/255|0)|0;k=m+(((O(k,t)|0)>>>0)/255|0)|0;break}case 32:{k=m+k|0;l=p+l|0;n=o+n|0;n=n>>>0<255?n:255;l=l>>>0<255?l:255;k=k>>>0<255?k:255;break}case 64:{n=((O(o,n)|0)>>>0)/255|0;l=((O(p,l)|0)>>>0)/255|0;k=((O(m,k)|0)>>>0)/255|0;break}default:{}}c[f>>2]=l<<8|k<<16|n|q<<24;if(!h)break;else{f=f+4|0;g=g+C|0}}e=c[z>>2]|0}g=s+(c[E>>2]|0)|0;f=e+-1|0;c[z>>2]=f;if(!e)break;i=i+A|0;j=r;s=g;e=f;f=g;h=c[B>>2]|0}c[D>>2]=g;return}function TW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function UW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;i=h&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((O(h,g)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;i=k&255;k=k>>>24;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(k,g)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function VW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;k=c[b>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(o,k)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(i,o)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i<<16|k;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function WW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;c[b>>2]=c[e>>2]&16777215;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>16&255,k)|0)>>>0)/255|0)<<16|(((O(g&255,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function XW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;k=c[s>>2]|0;f=0;g=0;h=k;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}i=e+-1|0;if(e|0)if(l){j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}c[j>>2]=c[b>>2]&16777215;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}else{j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}w=c[b>>2]|0;c[j>>2]=((O(w&255,n)|0)>>>0)/255|0|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>16&255,u)|0)>>>0)/255|0)<<16;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;h=b;e=c[q>>2]|0;k=b}c[s>>2]=b;return}function YW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;k=l>>>16&255;j=l>>>8&255;g=l&255;l=l>>>24;f=c[h>>2]|0;b=f>>>16&255;e=f>>>8&255;f=f&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b<<16|f;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function ZW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function _W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function $W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>16&255;j=h>>>8&255;i=h&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((O(g,h)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;h=k>>>16&255;j=k>>>8&255;i=k&255;k=k>>>24;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(g,k)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function aX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;i=c[b>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(k,o)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(o,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i|k<<16;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function bX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l&65280|l>>>16&255|l<<16&16711680;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>16&255,k)|0)>>>0)/255|0)|(((O(g&255,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function cX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w<<16&16711680|w&65280|w>>>16&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=(((O(w&255,n)|0)>>>0)/255|0)<<16|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>16&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function dX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;k=l>>>16&255;j=l>>>8&255;g=l&255;l=l>>>24;b=c[h>>2]|0;f=b>>>16&255;e=b>>>8&255;b=b&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b|f<<16;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function eX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;m=o>>>16&255;n=o>>>8&255;l=o&255;o=o>>>24;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function fX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2];if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function gX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;l=h>>>16&255;k=h>>>8&255;j=h&255;h=h>>>24;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((O(w,i)|0)>>>0)/255|0)+h|0;g=j+(((O(w,g)|0)>>>0)/255|0)|0;f=k+(((O(f,w)|0)>>>0)/255|0)|0;e=l+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(j,g)|0)>>>0)/255|0;f=((O(k,f)|0)>>>0)/255|0;e=((O(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}else m=e;while(1){l=c[d>>2]|0;k=l>>>16&255;i=l>>>8&255;h=l&255;l=l>>>24;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((O(h,l)|0)>>>0)/255|0;i=((O(i,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((O(w,j)|0)>>>0)/255|0)+l|0;g=h+(((O(w,g)|0)>>>0)/255|0)|0;f=i+(((O(f,w)|0)>>>0)/255|0)|0;e=k+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(h,g)|0)>>>0)/255|0;f=((O(i,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function hX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;u=a+24|0;e=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;w=a+20|0;x=a+32|0;y=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[w>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){p=f+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=g+1+q|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;g=g+1+f|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(g<<2)|0;f=o-(f<<16)|0}o=c[b>>2]|0;k=o>>>16&255;m=o>>>8&255;l=o&255;o=o>>>24;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(y&(o|0)!=255){k=((O(k,o)|0)>>>0)/255|0;m=((O(m,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{B=o^255;n=(((O(B,n)|0)>>>0)/255|0)+o|0;j=l+(((O(B,j)|0)>>>0)/255|0)|0;i=m+(((O(i,B)|0)>>>0)/255|0)|0;h=k+(((O(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((O(l,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+v|0}}b=c[z>>2]|0}e=r+(c[x>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[u>>2]|0}c[w>>2]=e;return}function iX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;v=t>>>24;u=((O(v,k)|0)>>>0)/255|0;c[f>>2]=t&16711680|(g?v:u)<<24|t&65280|t&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){v=c[e>>2]|0;w=v>>>24;x=((O(v>>>16&255,r)|0)>>>0)/255|0;u=((O(v>>>8&255,s)|0)>>>0)/255|0;v=((O(v&255,j)|0)>>>0)/255|0;t=((O(w,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function jX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;n=d[a+62>>0]|0;o=d[a+63>>0]|0;p=a+28|0;v=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(v|0)|0;r=a+24|0;e=c[r>>2]|0;s=(c[a+4>>2]<<16|0)/(e|0)|0;c[p>>2]=v+-1;if(!v)return;t=a+20|0;u=a+32|0;v=(b&1|0)==0;l=(b&2|0)==0;m=a+12|0;b=c[t>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(v){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=h+-65536|0;h=y>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=y-(h<<16)|0}y=c[e>>2]|0;A=y>>>24;z=((O(A,o)|0)>>>0)/255|0;c[b>>2]=y&65280|(l?A:z)<<24|y&255|y&16711680;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=h+-65536|0;h=A>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=A-(h<<16)|0}z=c[e>>2]|0;B=z>>>24;A=((O(z>>>16&255,w)|0)>>>0)/255|0;C=((O(z>>>8&255,x)|0)>>>0)/255|0;z=((O(z&255,n)|0)>>>0)/255|0;y=((O(B,o)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}b=k+(c[u>>2]|0)|0;C=c[p>>2]|0;c[p>>2]=C+-1;if(!C)break;f=f+q|0;k=b;e=c[r>>2]|0}c[t>>2]=b;return}function kX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;o=c[a>>2]|0;b=c[u>>2]|0;p=b;f=o;while(1){g=c[v>>2]|0;if(!g)f=e;else{while(1){g=g+-1|0;n=c[f>>2]|0;m=n>>>16&255;k=n>>>8&255;j=n&255;n=n>>>24;l=c[b>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((O(j,r)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;m=((O(m,B)|0)>>>0)/255|0}D=((O(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((O(j,n)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;m=((O(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((O(D,l)|0)>>>0)/255|0)+n|0;i=j+(((O(D,i)|0)>>>0)/255|0)|0;h=k+(((O(D,h)|0)>>>0)/255|0)|0;e=m+(((O(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((O(j,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;e=((O(m,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=h<<8|e<<16|i|l<<24;if(!g)break;else{b=b+4|0;f=f+4|0}}f=c[t>>2]|0}g=o+(c[w>>2]|0)|0;b=p+(c[x>>2]|0)|0;e=f+-1|0;c[t>>2]=e;if(!f)break;else{p=b;f=g;o=g}}c[a>>2]=g;c[u>>2]=b;return}function lX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;v=d[a+62>>0]|0;w=d[a+63>>0]|0;x=a+28|0;F=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(F|0)|0;z=a+24|0;f=c[z>>2]|0;A=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[x>>2]=e;if(!F)return;B=a+20|0;C=a+32|0;D=(b&1|0)==0;E=(b&2|0)==0;F=(b&48|0)!=0;u=b&112;t=a+12|0;r=c[B>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){q=g+-65536|0;r=q>>>16;q=q-(r<<16)|0;r=h+1+r|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[t>>2]|0,r)|0)+(h<<2)|0;g=p-(g<<16)|0}p=c[b>>2]|0;l=p>>>16&255;n=p>>>8&255;m=p&255;p=p>>>24;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!D){l=((O(l,G)|0)>>>0)/255|0;n=((O(n,H)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}I=((O(p,w)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((O(l,p)|0)>>>0)/255|0;n=((O(n,p)|0)>>>0)/255|0;m=((O(m,p)|0)>>>0)/255|0}switch(u&127){case 16:{I=255-p|0;o=(((O(I,o)|0)>>>0)/255|0)+p|0;k=m+(((O(I,k)|0)>>>0)/255|0)|0;j=n+(((O(I,j)|0)>>>0)/255|0)|0;i=l+(((O(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(m,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+A|0}}b=c[x>>2]|0}f=s+(c[C>>2]|0)|0;e=b+-1|0;c[x>>2]=e;if(!b)break;g=q+y|0;h=r;s=f;b=e;e=f;f=c[z>>2]|0}c[B>>2]=f;return}function mX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function nX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>24;j=h>>>16&255;i=h>>>8&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h&255^255;g=i+(((O(h,g)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;h=k>>>24;j=k>>>16&255;i=k>>>8&255;k=k&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(k,g)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function oX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;k=c[b>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(o,k)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(i,o)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i<<16|k;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function pX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;k=c[e>>2]|0;l=k>>>8;c[b>>2]=l&65280|k>>>24<<16|l&255;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>16&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>24,k)|0)>>>0)/255|0)<<16|(((O(g>>>8&255,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function qX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w>>>8&65535|w>>>24<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=((O(w>>>8&255,n)|0)>>>0)/255|0|(((O(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>24,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function rX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;k=l>>>24;j=l>>>16&255;g=l>>>8&255;l=l&255;f=c[h>>2]|0;b=f>>>16&255;e=f>>>8&255;f=f&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b<<16|f;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function sX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function tX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r>>>8&65280|r>>>24|r<<8&16711680;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function uX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;k=h>>>24;j=h>>>16&255;i=h>>>8&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h&255^255;g=i+(((O(g,h)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;h=k>>>24;j=k>>>16&255;i=k>>>8&255;k=k&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(g,k)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function vX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;i=c[b>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(k,o)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(o,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i|k<<16;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function wX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l>>>8&65280|l>>>24|l<<8&16711680;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>16&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>24,k)|0)>>>0)/255|0)|(((O(g>>>8&255,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function xX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w<<8&16711680|w>>>8&65280|w>>>24;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=(((O(w>>>8&255,n)|0)>>>0)/255|0)<<16|(((O(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>24,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function yX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;k=l>>>24;j=l>>>16&255;g=l>>>8&255;l=l&255;b=c[h>>2]|0;f=b>>>16&255;e=b>>>8&255;b=b&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b|f<<16;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function zX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;m=o>>>24;n=o>>>16&255;l=o>>>8&255;o=o&255;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function AX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|s<<24|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function BX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;l=h>>>24;k=h>>>16&255;j=h>>>8&255;h=h&255;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((O(w,i)|0)>>>0)/255|0)+h|0;g=j+(((O(w,g)|0)>>>0)/255|0)|0;f=k+(((O(f,w)|0)>>>0)/255|0)|0;e=l+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(j,g)|0)>>>0)/255|0;f=((O(k,f)|0)>>>0)/255|0;e=((O(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}else m=e;while(1){l=c[d>>2]|0;k=l>>>24;i=l>>>16&255;h=l>>>8&255;l=l&255;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((O(h,l)|0)>>>0)/255|0;i=((O(i,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((O(w,j)|0)>>>0)/255|0)+l|0;g=h+(((O(w,g)|0)>>>0)/255|0)|0;f=i+(((O(f,w)|0)>>>0)/255|0)|0;e=k+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(h,g)|0)>>>0)/255|0;f=((O(i,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function CX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;u=a+24|0;e=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;w=a+20|0;x=a+32|0;y=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[w>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){p=f+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=g+1+q|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;g=g+1+f|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(g<<2)|0;f=o-(f<<16)|0}o=c[b>>2]|0;k=o>>>24;m=o>>>16&255;l=o>>>8&255;o=o&255;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(y&(o|0)!=255){k=((O(k,o)|0)>>>0)/255|0;m=((O(m,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{B=o^255;n=(((O(B,n)|0)>>>0)/255|0)+o|0;j=l+(((O(B,j)|0)>>>0)/255|0)|0;i=m+(((O(i,B)|0)>>>0)/255|0)|0;h=k+(((O(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((O(l,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+v|0}}b=c[z>>2]|0}e=r+(c[x>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[u>>2]|0}c[w>>2]=e;return}function DX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){v=c[e>>2]|0;t=v>>>8;u=((O(v&255,k)|0)>>>0)/255|0;c[f>>2]=v>>>24<<16|(g?v:u)<<24|t&65280|t&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){w=c[e>>2]|0;x=((O(w>>>24,r)|0)>>>0)/255|0;u=((O(w>>>16&255,s)|0)>>>0)/255|0;v=((O(w>>>8&255,j)|0)>>>0)/255|0;t=((O(w&255,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function EX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;n=d[a+62>>0]|0;o=d[a+63>>0]|0;p=a+28|0;v=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(v|0)|0;r=a+24|0;e=c[r>>2]|0;s=(c[a+4>>2]<<16|0)/(e|0)|0;c[p>>2]=v+-1;if(!v)return;t=a+20|0;u=a+32|0;v=(b&1|0)==0;l=(b&2|0)==0;m=a+12|0;b=c[t>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(v){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=h+-65536|0;h=y>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=y-(h<<16)|0}y=c[e>>2]|0;z=y>>>8;A=((O(y&255,o)|0)>>>0)/255|0;c[b>>2]=z&65280|(l?y:A)<<24|z&255|y>>>24<<16;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=h+-65536|0;h=A>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=A-(h<<16)|0}B=c[e>>2]|0;A=((O(B>>>24,w)|0)>>>0)/255|0;C=((O(B>>>16&255,x)|0)>>>0)/255|0;z=((O(B>>>8&255,n)|0)>>>0)/255|0;y=((O(B&255,o)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}b=k+(c[u>>2]|0)|0;C=c[p>>2]|0;c[p>>2]=C+-1;if(!C)break;f=f+q|0;k=b;e=c[r>>2]|0}c[t>>2]=b;return}function FX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;o=c[a>>2]|0;b=c[u>>2]|0;p=b;f=o;while(1){g=c[v>>2]|0;if(!g)f=e;else{while(1){g=g+-1|0;n=c[f>>2]|0;m=n>>>24;k=n>>>16&255;j=n>>>8&255;n=n&255;l=c[b>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((O(j,r)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;m=((O(m,B)|0)>>>0)/255|0}D=((O(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((O(j,n)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;m=((O(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((O(D,l)|0)>>>0)/255|0)+n|0;i=j+(((O(D,i)|0)>>>0)/255|0)|0;h=k+(((O(D,h)|0)>>>0)/255|0)|0;e=m+(((O(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((O(j,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;e=((O(m,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=h<<8|e<<16|i|l<<24;if(!g)break;else{b=b+4|0;f=f+4|0}}f=c[t>>2]|0}g=o+(c[w>>2]|0)|0;b=p+(c[x>>2]|0)|0;e=f+-1|0;c[t>>2]=e;if(!f)break;else{p=b;f=g;o=g}}c[a>>2]=g;c[u>>2]=b;return}function GX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;v=d[a+62>>0]|0;w=d[a+63>>0]|0;x=a+28|0;F=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(F|0)|0;z=a+24|0;f=c[z>>2]|0;A=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[x>>2]=e;if(!F)return;B=a+20|0;C=a+32|0;D=(b&1|0)==0;E=(b&2|0)==0;F=(b&48|0)!=0;u=b&112;t=a+12|0;r=c[B>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){q=g+-65536|0;r=q>>>16;q=q-(r<<16)|0;r=h+1+r|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[t>>2]|0,r)|0)+(h<<2)|0;g=p-(g<<16)|0}p=c[b>>2]|0;l=p>>>24;n=p>>>16&255;m=p>>>8&255;p=p&255;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!D){l=((O(l,G)|0)>>>0)/255|0;n=((O(n,H)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}I=((O(p,w)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((O(l,p)|0)>>>0)/255|0;n=((O(n,p)|0)>>>0)/255|0;m=((O(m,p)|0)>>>0)/255|0}switch(u&127){case 16:{I=255-p|0;o=(((O(I,o)|0)>>>0)/255|0)+p|0;k=m+(((O(I,k)|0)>>>0)/255|0)|0;j=n+(((O(I,j)|0)>>>0)/255|0)|0;i=l+(((O(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(m,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+A|0}}b=c[x>>2]|0}f=s+(c[C>>2]|0)|0;e=b+-1|0;c[x>>2]=e;if(!b)break;g=q+y|0;h=r;s=f;b=e;e=f;f=c[z>>2]|0}c[B>>2]=f;return}function HX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r<<16&16711680|r&65280|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function IX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>16&255;j=h>>>8&255;k=h&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((O(h,g)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;i=k>>>16&255;j=k>>>8&255;h=k&255;k=k>>>24;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(k,g)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function JX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;k=c[b>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(o,k)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(i,o)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i<<16|k;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function KX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l&65280|l<<16&16711680|l>>>16&255;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g&255,k)|0)>>>0)/255|0)<<16|(((O(g>>>16&255,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function LX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w>>>16&255|w&65280|w<<16&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=((O(w>>>16&255,n)|0)>>>0)/255|0|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function MX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;g=l>>>16&255;j=l>>>8&255;k=l&255;l=l>>>24;f=c[h>>2]|0;b=f>>>16&255;e=f>>>8&255;f=f&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b<<16|f;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function NX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function OX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=c[d>>2]&16777215;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function PX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>16&255;j=h>>>8&255;k=h&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h>>>24^255;g=i+(((O(g,h)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;i=k>>>16&255;j=k>>>8&255;h=k&255;k=k>>>24;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(g,k)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function QX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;i=c[b>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(k,o)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(o,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i|k<<16;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function RX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;c[b>>2]=c[e>>2]&16777215;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>8&255,l)|0)>>>0)/255|0)<<8|(((O(g&255,k)|0)>>>0)/255|0)|(((O(g>>>16&255,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function SX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;k=c[s>>2]|0;f=0;g=0;h=k;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}i=e+-1|0;if(e|0)if(l){j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}c[j>>2]=c[b>>2]&16777215;if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}else{j=h;b=0;e=65536;h=-1;while(1){if((e|0)>65535){w=e+-65536|0;e=w>>>16;h=h+1+e|0;b=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(h<<2)|0;e=w-(e<<16)|0}w=c[b>>2]|0;c[j>>2]=(((O(w>>>16&255,n)|0)>>>0)/255|0)<<16|(((O(w>>>8&255,v)|0)>>>0)/255|0)<<8|(((O(w&255,u)|0)>>>0)/255|0);if(!i)break;else{j=j+4|0;e=e+r|0;i=i+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;h=b;e=c[q>>2]|0;k=b}c[s>>2]=b;return}function TX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;g=l>>>16&255;j=l>>>8&255;k=l&255;l=l>>>24;b=c[h>>2]|0;f=b>>>16&255;e=b>>>8&255;b=b&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b|f<<16;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function UX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;l=o>>>16&255;n=o>>>8&255;m=o&255;o=o>>>24;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function VX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r&-16711936|r<<16&16711680|r>>>16&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function WX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;j=h>>>16&255;k=h>>>8&255;l=h&255;h=h>>>24;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((O(w,i)|0)>>>0)/255|0)+h|0;g=j+(((O(w,g)|0)>>>0)/255|0)|0;f=k+(((O(f,w)|0)>>>0)/255|0)|0;e=l+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(j,g)|0)>>>0)/255|0;f=((O(k,f)|0)>>>0)/255|0;e=((O(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}else m=e;while(1){l=c[d>>2]|0;h=l>>>16&255;i=l>>>8&255;k=l&255;l=l>>>24;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((O(h,l)|0)>>>0)/255|0;i=((O(i,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((O(w,j)|0)>>>0)/255|0)+l|0;g=h+(((O(w,g)|0)>>>0)/255|0)|0;f=i+(((O(f,w)|0)>>>0)/255|0)|0;e=k+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(h,g)|0)>>>0)/255|0;f=((O(i,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function XX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;u=a+24|0;e=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;w=a+20|0;x=a+32|0;y=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[w>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){p=f+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=g+1+q|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;g=g+1+f|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(g<<2)|0;f=o-(f<<16)|0}o=c[b>>2]|0;l=o>>>16&255;m=o>>>8&255;k=o&255;o=o>>>24;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(y&(o|0)!=255){k=((O(k,o)|0)>>>0)/255|0;m=((O(m,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{B=o^255;n=(((O(B,n)|0)>>>0)/255|0)+o|0;j=l+(((O(B,j)|0)>>>0)/255|0)|0;i=m+(((O(i,B)|0)>>>0)/255|0)|0;h=k+(((O(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((O(l,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+v|0}}b=c[z>>2]|0}e=r+(c[x>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[u>>2]|0}c[w>>2]=e;return}function YX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;v=t>>>24;u=((O(v,k)|0)>>>0)/255|0;c[f>>2]=t<<16&16711680|(g?v:u)<<24|t&65280|t>>>16&255;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){v=c[e>>2]|0;w=v>>>24;x=((O(v&255,r)|0)>>>0)/255|0;u=((O(v>>>8&255,s)|0)>>>0)/255|0;v=((O(v>>>16&255,j)|0)>>>0)/255|0;t=((O(w,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:t)<<24|u<<8|v;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function ZX(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;n=d[a+62>>0]|0;o=d[a+63>>0]|0;p=a+28|0;v=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(v|0)|0;r=a+24|0;e=c[r>>2]|0;s=(c[a+4>>2]<<16|0)/(e|0)|0;c[p>>2]=v+-1;if(!v)return;t=a+20|0;u=a+32|0;v=(b&1|0)==0;l=(b&2|0)==0;m=a+12|0;b=c[t>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(v){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=h+-65536|0;h=y>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=y-(h<<16)|0}y=c[e>>2]|0;A=y>>>24;z=((O(A,o)|0)>>>0)/255|0;c[b>>2]=y&65280|(l?A:z)<<24|y>>>16&255|y<<16&16711680;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){A=h+-65536|0;h=A>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=A-(h<<16)|0}z=c[e>>2]|0;B=z>>>24;A=((O(z&255,w)|0)>>>0)/255|0;C=((O(z>>>8&255,x)|0)>>>0)/255|0;z=((O(z>>>16&255,n)|0)>>>0)/255|0;y=((O(B,o)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:y)<<24|z|A<<16;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}b=k+(c[u>>2]|0)|0;C=c[p>>2]|0;c[p>>2]=C+-1;if(!C)break;f=f+q|0;k=b;e=c[r>>2]|0}c[t>>2]=b;return}function _X(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;o=c[a>>2]|0;b=c[u>>2]|0;p=b;f=o;while(1){g=c[v>>2]|0;if(!g)f=e;else{while(1){g=g+-1|0;n=c[f>>2]|0;j=n>>>16&255;k=n>>>8&255;m=n&255;n=n>>>24;l=c[b>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((O(j,r)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;m=((O(m,B)|0)>>>0)/255|0}D=((O(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((O(j,n)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;m=((O(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((O(D,l)|0)>>>0)/255|0)+n|0;i=j+(((O(D,i)|0)>>>0)/255|0)|0;h=k+(((O(D,h)|0)>>>0)/255|0)|0;e=m+(((O(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((O(j,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;e=((O(m,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=h<<8|e<<16|i|l<<24;if(!g)break;else{b=b+4|0;f=f+4|0}}f=c[t>>2]|0}g=o+(c[w>>2]|0)|0;b=p+(c[x>>2]|0)|0;e=f+-1|0;c[t>>2]=e;if(!f)break;else{p=b;f=g;o=g}}c[a>>2]=g;c[u>>2]=b;return}function $X(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;v=d[a+62>>0]|0;w=d[a+63>>0]|0;x=a+28|0;F=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(F|0)|0;z=a+24|0;f=c[z>>2]|0;A=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[x>>2]=e;if(!F)return;B=a+20|0;C=a+32|0;D=(b&1|0)==0;E=(b&2|0)==0;F=(b&48|0)!=0;u=b&112;t=a+12|0;r=c[B>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){q=g+-65536|0;r=q>>>16;q=q-(r<<16)|0;r=h+1+r|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[t>>2]|0,r)|0)+(h<<2)|0;g=p-(g<<16)|0}p=c[b>>2]|0;m=p>>>16&255;n=p>>>8&255;l=p&255;p=p>>>24;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!D){l=((O(l,G)|0)>>>0)/255|0;n=((O(n,H)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}I=((O(p,w)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((O(l,p)|0)>>>0)/255|0;n=((O(n,p)|0)>>>0)/255|0;m=((O(m,p)|0)>>>0)/255|0}switch(u&127){case 16:{I=255-p|0;o=(((O(I,o)|0)>>>0)/255|0)+p|0;k=m+(((O(I,k)|0)>>>0)/255|0)|0;j=n+(((O(I,j)|0)>>>0)/255|0)|0;i=l+(((O(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(m,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+A|0}}b=c[x>>2]|0}f=s+(c[C>>2]|0)|0;e=b+-1|0;c[x>>2]=e;if(!b)break;g=q+y|0;h=r;s=f;b=e;e=f;f=c[z>>2]|0}c[B>>2]=f;return}function aY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}r=c[d>>2]|0;c[e>>2]=r>>>8&65280|r>>>24|r<<8&16711680;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function bY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>24;j=h>>>16&255;k=h>>>8&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;switch(o&127){case 16:{h=h&255^255;g=i+(((O(h,g)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(e,h)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;i=k>>>24;j=k>>>16&255;h=k>>>8&255;k=k&255;g=c[b>>2]|0;e=g>>>16&255;f=g>>>8&255;g=g&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(k,g)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(e,k)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function cY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;k=c[b>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(o,k)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(i,o)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i<<16|k;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function dY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l>>>8&65280|l<<8&16711680|l>>>24;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>16&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>8&255,k)|0)>>>0)/255|0)<<16|(((O(g>>>24,j)|0)>>>0)/255|0);if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function eY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=w>>>24|w>>>8&65280|w<<8&16711680;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}w=c[e>>2]|0;c[b>>2]=((O(w>>>24,n)|0)>>>0)/255|0|(((O(w>>>16&255,v)|0)>>>0)/255|0)<<8|(((O(w>>>8&255,u)|0)>>>0)/255|0)<<16;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;w=c[o>>2]|0;c[o>>2]=w+-1;if(!w)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function fY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;g=l>>>24;j=l>>>16&255;k=l>>>8&255;l=l&255;f=c[h>>2]|0;b=f>>>16&255;e=f>>>8&255;f=f&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b<<16|f;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function gY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;k=c[e>>2]|0;i=k>>>16&255;j=k>>>8&255;k=k&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function hY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}s=c[d>>2]|0;r=s>>>8;c[e>>2]=s>>>24<<16|r&65280|r&255;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function iY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=c[a+52>>2]|0;r=a+28|0;u=c[r>>2]|0;c[r>>2]=u+-1;if(!u)return;s=a+20|0;t=a+24|0;u=a+12|0;p=a+32|0;q=(b&48|0)==0;o=b&112;d=c[a>>2]|0;b=c[s>>2]|0;m=d;n=b;while(1){l=c[t>>2]|0;e=l+-1|0;a:do if(l|0){if(q){l=e;while(1){h=c[d>>2]|0;i=h>>>24;j=h>>>16&255;k=h>>>8&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;switch(o&127){case 16:{h=h&255^255;g=i+(((O(g,h)|0)>>>0)/255|0)|0;f=j+(((O(f,h)|0)>>>0)/255|0)|0;e=k+(((O(h,e)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}else l=e;while(1){k=c[d>>2]|0;i=k>>>24;j=k>>>16&255;h=k>>>8&255;k=k&255;e=c[b>>2]|0;g=e>>>16&255;f=e>>>8&255;e=e&255;if((k|0)!=255){h=((O(h,k)|0)>>>0)/255|0;i=((O(i,k)|0)>>>0)/255|0;j=((O(j,k)|0)>>>0)/255|0}switch(o&127){case 16:{k=k^255;g=i+(((O(g,k)|0)>>>0)/255|0)|0;f=j+(((O(f,k)|0)>>>0)/255|0)|0;e=h+(((O(k,e)|0)>>>0)/255|0)|0;break}case 32:{e=h+e|0;f=j+f|0;g=i+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(i,g)|0)>>>0)/255|0;f=((O(j,f)|0)>>>0)/255|0;e=((O(h,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e|g<<16;if(!l)break a;else{b=b+4|0;d=d+4|0;l=l+-1|0}}}while(0);d=m+(c[u>>2]|0)|0;b=n+(c[p>>2]|0)|0;n=c[r>>2]|0;c[r>>2]=n+-1;if(!n)break;else{m=d;n=b}}c[a>>2]=d;c[s>>2]=b;return}function jY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[a+52>>2]|0;y=a+28|0;x=c[y>>2]|0;z=(c[a+8>>2]<<16|0)/(x|0)|0;t=a+24|0;e=c[t>>2]|0;u=(c[a+4>>2]<<16|0)/(e|0)|0;d=x+-1|0;c[y>>2]=d;if(!x)return;v=a+20|0;w=a+32|0;x=(b&48|0)!=0;s=b&112;r=a+12|0;p=c[v>>2]|0;g=0;h=0;b=p;while(1){if((g|0)>65535){g=g+-65536|0;q=g>>>16;g=g-(q<<16)|0;q=h+1+q|0}else q=h;if(!e)b=d;else{d=0;f=65536;h=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;h=h+1+f|0;d=(c[a>>2]|0)+(O(c[r>>2]|0,q)|0)+(h<<2)|0;f=o-(f<<16)|0}o=c[d>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;i=c[b>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(x&(o|0)!=255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(s&127){case 16:{o=o^255;k=l+(((O(k,o)|0)>>>0)/255|0)|0;j=n+(((O(j,o)|0)>>>0)/255|0)|0;i=m+(((O(o,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[b>>2]=j<<8|i|k<<16;if(!e)break;else{b=b+4|0;f=f+u|0}}b=c[y>>2]|0}f=p+(c[w>>2]|0)|0;d=b+-1|0;c[y>>2]=d;if(!b)break;g=g+z|0;h=q;b=f;e=c[t>>2]|0;p=f}c[v>>2]=f;return}function kY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+52>>2]|0;k=d[a+60>>0]|0;l=d[a+61>>0]|0;j=d[a+62>>0]|0;m=a+28|0;q=c[m>>2]|0;g=q+-1|0;c[m>>2]=g;if(!q)return;q=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;f=c[a>>2]|0;e=c[q>>2]|0;if(!(b&1)){h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;l=c[e>>2]|0;c[b>>2]=l>>>8&65535|l>>>24<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}else{h=f;i=e;b=e;e=f;while(1){f=c[n>>2]|0;if(!f)f=g;else{while(1){f=f+-1|0;g=c[e>>2]|0;c[b>>2]=(((O(g>>>16&255,l)|0)>>>0)/255|0)<<8|(((O(g>>>8&255,k)|0)>>>0)/255|0)|(((O(g>>>24,j)|0)>>>0)/255|0)<<16;if(!f)break;else{b=b+4|0;e=e+4|0}}f=c[m>>2]|0}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;g=f+-1|0;c[m>>2]=g;if(!f)break;else{h=e;i=b}}}c[a>>2]=e;c[q>>2]=b;return}function lY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;u=d[a+60>>0]|0;v=d[a+61>>0]|0;n=d[a+62>>0]|0;o=a+28|0;t=c[o>>2]|0;p=(c[a+8>>2]<<16|0)/(t|0)|0;q=a+24|0;e=c[q>>2]|0;r=(c[a+4>>2]<<16|0)/(e|0)|0;c[o>>2]=t+-1;if(!t)return;s=a+20|0;t=a+32|0;l=(b&1|0)==0;m=a+12|0;b=c[s>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(l){e=0;h=65536;i=-1;while(1){if((h|0)>65535){w=h+-65536|0;h=w>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=w-(h<<16)|0}x=c[e>>2]|0;w=x>>>8;c[b>>2]=x>>>24<<16|w&65280|w&255;if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){x=h+-65536|0;h=x>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=x-(h<<16)|0}x=c[e>>2]|0;c[b>>2]=(((O(x>>>24,n)|0)>>>0)/255|0)<<16|(((O(x>>>16&255,v)|0)>>>0)/255|0)<<8|(((O(x>>>8&255,u)|0)>>>0)/255|0);if(!j)break;else{b=b+4|0;h=h+r|0;j=j+-1|0}}}b=k+(c[t>>2]|0)|0;x=c[o>>2]|0;c[o>>2]=x+-1;if(!x)break;f=f+p|0;k=b;e=c[q>>2]|0}c[s>>2]=b;return}function mY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;A=d[a+60>>0]|0;B=d[a+61>>0]|0;q=d[a+62>>0]|0;r=d[a+63>>0]|0;s=a+28|0;z=c[s>>2]|0;e=z+-1|0;c[s>>2]=e;if(!z)return;t=a+20|0;u=a+24|0;v=a+12|0;w=a+32|0;x=(b&1|0)==0;y=(b&2|0)==0;z=(b&48|0)!=0;p=b&112;n=c[a>>2]|0;o=c[t>>2]|0;h=o;i=n;while(1){b=c[u>>2]|0;if(!b)b=e;else{m=b;while(1){m=m+-1|0;l=c[i>>2]|0;g=l>>>24;j=l>>>16&255;k=l>>>8&255;l=l&255;b=c[h>>2]|0;f=b>>>16&255;e=b>>>8&255;b=b&255;if(!x){g=((O(g,q)|0)>>>0)/255|0;j=((O(j,B)|0)>>>0)/255|0;k=((O(k,A)|0)>>>0)/255|0}C=((O(l,r)|0)>>>0)/255|0;l=y?l:C;if(z&l>>>0<255){g=((O(g,l)|0)>>>0)/255|0;j=((O(j,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{C=255-l|0;f=g+(((O(C,f)|0)>>>0)/255|0)|0;e=j+(((O(C,e)|0)>>>0)/255|0)|0;b=k+(((O(C,b)|0)>>>0)/255|0)|0;break}case 32:{b=k+b|0;e=j+e|0;f=g+f|0;f=f>>>0<255?f:255;e=e>>>0<255?e:255;b=b>>>0<255?b:255;break}case 64:{f=((O(g,f)|0)>>>0)/255|0;e=((O(j,e)|0)>>>0)/255|0;b=((O(k,b)|0)>>>0)/255|0;break}default:{}}c[h>>2]=e<<8|b|f<<16;if(!m)break;else{h=h+4|0;i=i+4|0}}b=c[s>>2]|0}f=n+(c[v>>2]|0)|0;g=o+(c[w>>2]|0)|0;e=b+-1|0;c[s>>2]=e;if(!b)break;else{h=g;i=f;n=f;o=g}}c[a>>2]=f;c[t>>2]=g;return}function nY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=c[a+52>>2]|0;F=d[a+60>>0]|0;G=d[a+61>>0]|0;u=d[a+62>>0]|0;v=d[a+63>>0]|0;w=a+28|0;E=c[w>>2]|0;x=(c[a+8>>2]<<16|0)/(E|0)|0;y=a+24|0;f=c[y>>2]|0;z=(c[a+4>>2]<<16|0)/(f|0)|0;e=E+-1|0;c[w>>2]=e;if(!E)return;A=a+20|0;B=a+32|0;C=(b&1|0)==0;D=(b&2|0)==0;E=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[A>>2]|0;g=0;h=0;r=q;b=e;e=q;while(1){if((g|0)>65535){p=g+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=h+1+q|0}else{p=g;q=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){o=g+-65536|0;g=o>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(h<<2)|0;g=o-(g<<16)|0}o=c[b>>2]|0;l=o>>>24;n=o>>>16&255;m=o>>>8&255;o=o&255;i=c[e>>2]|0;k=i>>>16&255;j=i>>>8&255;i=i&255;if(!C){m=((O(m,F)|0)>>>0)/255|0;n=((O(n,G)|0)>>>0)/255|0;l=((O(l,u)|0)>>>0)/255|0}H=((O(o,v)|0)>>>0)/255|0;o=D?o:H;if(E&o>>>0<255){m=((O(m,o)|0)>>>0)/255|0;n=((O(n,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{H=255-o|0;k=l+(((O(H,k)|0)>>>0)/255|0)|0;j=n+(((O(H,j)|0)>>>0)/255|0)|0;i=m+(((O(H,i)|0)>>>0)/255|0)|0;break}case 32:{i=m+i|0;j=n+j|0;k=l+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(l,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i|k<<16;if(!f)break;else{e=e+4|0;g=g+z|0}}b=c[w>>2]|0}f=r+(c[B>>2]|0)|0;e=b+-1|0;c[w>>2]=e;if(!b)break;g=p+x|0;h=q;r=f;b=e;e=f;f=c[y>>2]|0}c[A>>2]=f;return}function oY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+28|0;o=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(o|0)|0;k=a+24|0;b=c[k>>2]|0;l=(c[a+4>>2]<<16|0)/(b|0)|0;d=o+-1|0;c[p>>2]=d;if(!o)return;m=a+20|0;n=a+32|0;o=a+12|0;e=c[m>>2]|0;f=0;g=0;j=e;while(1){if((g|0)>65535){g=g+-65536|0;i=g>>>16;h=f+1+i|0;i=g-(i<<16)|0}else{h=f;i=g}if(!b)b=d;else{d=0;f=-1;g=65536;while(1){b=b+-1|0;if((g|0)>65535){r=g+-65536|0;g=r>>>16;f=f+1+g|0;d=(c[a>>2]|0)+(O(c[o>>2]|0,h)|0)+(f<<2)|0;g=r-(g<<16)|0}c[e>>2]=p6(c[d>>2]|0)|0;if(!b)break;else{e=e+4|0;g=g+l|0}}b=c[p>>2]|0}e=j+(c[n>>2]|0)|0;d=b+-1|0;c[p>>2]=d;if(!b)break;f=h;g=i+q|0;b=c[k>>2]|0;j=e}c[m>>2]=e;return}function pY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=c[a+52>>2]|0;s=a+28|0;v=c[s>>2]|0;c[s>>2]=v+-1;if(!v)return;t=a+20|0;u=a+24|0;v=a+12|0;q=a+32|0;r=(b&48|0)==0;p=b&112;d=c[a>>2]|0;b=c[t>>2]|0;n=d;o=b;while(1){m=c[u>>2]|0;e=m+-1|0;a:do if(m|0){if(r){m=e;while(1){h=c[d>>2]|0;j=h>>>24;k=h>>>16&255;l=h>>>8&255;h=h&255;i=c[b>>2]|0;e=i>>>16&255;f=i>>>8&255;g=i&255;i=i>>>24;switch(p&127){case 16:{w=h^255;i=(((O(w,i)|0)>>>0)/255|0)+h|0;g=j+(((O(w,g)|0)>>>0)/255|0)|0;f=k+(((O(f,w)|0)>>>0)/255|0)|0;e=l+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=l+e|0;f=k+f|0;g=j+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(j,g)|0)>>>0)/255|0;f=((O(k,f)|0)>>>0)/255|0;e=((O(l,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|i<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}else m=e;while(1){l=c[d>>2]|0;h=l>>>24;i=l>>>16&255;k=l>>>8&255;l=l&255;j=c[b>>2]|0;e=j>>>16&255;f=j>>>8&255;g=j&255;j=j>>>24;if((l|0)!=255){h=((O(h,l)|0)>>>0)/255|0;i=((O(i,l)|0)>>>0)/255|0;k=((O(k,l)|0)>>>0)/255|0}switch(p&127){case 16:{w=l^255;j=(((O(w,j)|0)>>>0)/255|0)+l|0;g=h+(((O(w,g)|0)>>>0)/255|0)|0;f=i+(((O(f,w)|0)>>>0)/255|0)|0;e=k+(((O(e,w)|0)>>>0)/255|0)|0;break}case 32:{e=k+e|0;f=i+f|0;g=h+g|0;g=g>>>0<255?g:255;f=f>>>0<255?f:255;e=e>>>0<255?e:255;break}case 64:{g=((O(h,g)|0)>>>0)/255|0;f=((O(i,f)|0)>>>0)/255|0;e=((O(k,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=f<<8|e<<16|g|j<<24;if(!m)break a;else{b=b+4|0;d=d+4|0;m=m+-1|0}}}while(0);d=n+(c[v>>2]|0)|0;b=o+(c[q>>2]|0)|0;w=c[s>>2]|0;c[s>>2]=w+-1;if(!w)break;else{n=d;o=b}}c[a>>2]=d;c[t>>2]=b;return}function qY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+52>>2]|0;z=a+28|0;y=c[z>>2]|0;A=(c[a+8>>2]<<16|0)/(y|0)|0;u=a+24|0;e=c[u>>2]|0;v=(c[a+4>>2]<<16|0)/(e|0)|0;d=y+-1|0;c[z>>2]=d;if(!y)return;w=a+20|0;x=a+32|0;y=(b&48|0)!=0;t=b&112;s=a+12|0;q=c[w>>2]|0;f=0;g=0;r=q;b=d;d=q;while(1){if((f|0)>65535){p=f+-65536|0;q=p>>>16;p=p-(q<<16)|0;q=g+1+q|0}else{p=f;q=g}if(e){b=0;f=65536;g=-1;while(1){e=e+-1|0;if((f|0)>65535){o=f+-65536|0;f=o>>>16;g=g+1+f|0;b=(c[a>>2]|0)+(O(c[s>>2]|0,q)|0)+(g<<2)|0;f=o-(f<<16)|0}o=c[b>>2]|0;l=o>>>24;m=o>>>16&255;k=o>>>8&255;o=o&255;n=c[d>>2]|0;h=n>>>16&255;i=n>>>8&255;j=n&255;n=n>>>24;if(y&(o|0)!=255){k=((O(k,o)|0)>>>0)/255|0;m=((O(m,o)|0)>>>0)/255|0;l=((O(l,o)|0)>>>0)/255|0}switch(t&127){case 16:{B=o^255;n=(((O(B,n)|0)>>>0)/255|0)+o|0;j=l+(((O(B,j)|0)>>>0)/255|0)|0;i=m+(((O(i,B)|0)>>>0)/255|0)|0;h=k+(((O(h,B)|0)>>>0)/255|0)|0;break}case 32:{h=k+h|0;i=m+i|0;j=l+j|0;j=j>>>0<255?j:255;i=i>>>0<255?i:255;h=h>>>0<255?h:255;break}case 64:{j=((O(l,j)|0)>>>0)/255|0;i=((O(m,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;break}default:{}}c[d>>2]=i<<8|h<<16|j|n<<24;if(!e)break;else{d=d+4|0;f=f+v|0}}b=c[z>>2]|0}e=r+(c[x>>2]|0)|0;d=b+-1|0;c[z>>2]=d;if(!b)break;f=p+A|0;g=q;r=e;b=d;d=e;e=c[u>>2]|0}c[w>>2]=e;return}function rY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[a+52>>2]|0;r=d[a+60>>0]|0;s=d[a+61>>0]|0;j=d[a+62>>0]|0;k=d[a+63>>0]|0;l=a+28|0;q=c[l>>2]|0;c[l>>2]=q+-1;if(!q)return;m=a+20|0;n=a+24|0;o=a+12|0;p=a+32|0;q=(b&1|0)==0;g=(b&2|0)==0;e=c[a>>2]|0;f=c[m>>2]|0;h=e;i=f;while(1){t=c[n>>2]|0;b=t+-1|0;if(t|0)if(q)while(1){t=c[e>>2]|0;u=((O(t&255,k)|0)>>>0)/255|0;c[f>>2]=t<<8&16711680|(g?t:u)<<24|t>>>8&65280|t>>>24;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}else while(1){w=c[e>>2]|0;x=((O(w>>>8&255,r)|0)>>>0)/255|0;t=((O(w>>>16&255,s)|0)>>>0)/255|0;u=((O(w>>>24,j)|0)>>>0)/255|0;v=((O(w&255,k)|0)>>>0)/255|0;c[f>>2]=x<<16|(g?w:v)<<24|t<<8|u;if(!b)break;else{f=f+4|0;e=e+4|0;b=b+-1|0}}e=h+(c[o>>2]|0)|0;b=i+(c[p>>2]|0)|0;x=c[l>>2]|0;c[l>>2]=x+-1;if(!x)break;else{h=e;i=b;f=b}}c[a>>2]=e;c[m>>2]=b;return}function sY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+52>>2]|0;w=d[a+60>>0]|0;x=d[a+61>>0]|0;n=d[a+62>>0]|0;o=d[a+63>>0]|0;p=a+28|0;v=c[p>>2]|0;q=(c[a+8>>2]<<16|0)/(v|0)|0;r=a+24|0;e=c[r>>2]|0;s=(c[a+4>>2]<<16|0)/(e|0)|0;c[p>>2]=v+-1;if(!v)return;t=a+20|0;u=a+32|0;v=(b&1|0)==0;l=(b&2|0)==0;m=a+12|0;b=c[t>>2]|0;f=0;g=0;k=b;while(1){if((f|0)>65535){f=f+-65536|0;j=f>>>16;f=f-(j<<16)|0;g=g+1+j|0}j=e+-1|0;if(e|0)if(v){e=0;h=65536;i=-1;while(1){if((h|0)>65535){y=h+-65536|0;h=y>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=y-(h<<16)|0}y=c[e>>2]|0;z=((O(y&255,o)|0)>>>0)/255|0;c[b>>2]=y>>>8&65280|(l?y:z)<<24|y>>>24|y<<8&16711680;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}else{e=0;h=65536;i=-1;while(1){if((h|0)>65535){z=h+-65536|0;h=z>>>16;i=i+1+h|0;e=(c[a>>2]|0)+(O(c[m>>2]|0,g)|0)+(i<<2)|0;h=z-(h<<16)|0}B=c[e>>2]|0;z=((O(B>>>8&255,w)|0)>>>0)/255|0;C=((O(B>>>16&255,x)|0)>>>0)/255|0;y=((O(B>>>24,n)|0)>>>0)/255|0;A=((O(B&255,o)|0)>>>0)/255|0;c[b>>2]=C<<8|(l?B:A)<<24|y|z<<16;if(!j)break;else{b=b+4|0;h=h+s|0;j=j+-1|0}}}b=k+(c[u>>2]|0)|0;C=c[p>>2]|0;c[p>>2]=C+-1;if(!C)break;f=f+q|0;k=b;e=c[r>>2]|0}c[t>>2]=b;return}function tY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=c[a+52>>2]|0;B=d[a+60>>0]|0;C=d[a+61>>0]|0;r=d[a+62>>0]|0;s=d[a+63>>0]|0;t=a+28|0;A=c[t>>2]|0;e=A+-1|0;c[t>>2]=e;if(!A)return;u=a+20|0;v=a+24|0;w=a+12|0;x=a+32|0;y=(b&1|0)==0;z=(b&2|0)==0;A=(b&48|0)!=0;q=b&112;o=c[a>>2]|0;b=c[u>>2]|0;p=b;f=o;while(1){g=c[v>>2]|0;if(!g)f=e;else{while(1){g=g+-1|0;n=c[f>>2]|0;j=n>>>24;k=n>>>16&255;m=n>>>8&255;n=n&255;l=c[b>>2]|0;e=l>>>16&255;h=l>>>8&255;i=l&255;l=l>>>24;if(!y){j=((O(j,r)|0)>>>0)/255|0;k=((O(k,C)|0)>>>0)/255|0;m=((O(m,B)|0)>>>0)/255|0}D=((O(n,s)|0)>>>0)/255|0;n=z?n:D;if(A&n>>>0<255){j=((O(j,n)|0)>>>0)/255|0;k=((O(k,n)|0)>>>0)/255|0;m=((O(m,n)|0)>>>0)/255|0}switch(q&127){case 16:{D=255-n|0;l=(((O(D,l)|0)>>>0)/255|0)+n|0;i=j+(((O(D,i)|0)>>>0)/255|0)|0;h=k+(((O(D,h)|0)>>>0)/255|0)|0;e=m+(((O(D,e)|0)>>>0)/255|0)|0;break}case 32:{e=m+e|0;h=k+h|0;i=j+i|0;i=i>>>0<255?i:255;h=h>>>0<255?h:255;e=e>>>0<255?e:255;break}case 64:{i=((O(j,i)|0)>>>0)/255|0;h=((O(k,h)|0)>>>0)/255|0;e=((O(m,e)|0)>>>0)/255|0;break}default:{}}c[b>>2]=h<<8|e<<16|i|l<<24;if(!g)break;else{b=b+4|0;f=f+4|0}}f=c[t>>2]|0}g=o+(c[w>>2]|0)|0;b=p+(c[x>>2]|0)|0;e=f+-1|0;c[t>>2]=e;if(!f)break;else{p=b;f=g;o=g}}c[a>>2]=g;c[u>>2]=b;return}function uY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=c[a+52>>2]|0;G=d[a+60>>0]|0;H=d[a+61>>0]|0;v=d[a+62>>0]|0;w=d[a+63>>0]|0;x=a+28|0;F=c[x>>2]|0;y=(c[a+8>>2]<<16|0)/(F|0)|0;z=a+24|0;f=c[z>>2]|0;A=(c[a+4>>2]<<16|0)/(f|0)|0;e=F+-1|0;c[x>>2]=e;if(!F)return;B=a+20|0;C=a+32|0;D=(b&1|0)==0;E=(b&2|0)==0;F=(b&48|0)!=0;u=b&112;t=a+12|0;r=c[B>>2]|0;g=0;h=0;s=r;b=e;e=r;while(1){if((g|0)>65535){q=g+-65536|0;r=q>>>16;q=q-(r<<16)|0;r=h+1+r|0}else{q=g;r=h}if(f){b=0;g=65536;h=-1;while(1){f=f+-1|0;if((g|0)>65535){p=g+-65536|0;g=p>>>16;h=h+1+g|0;b=(c[a>>2]|0)+(O(c[t>>2]|0,r)|0)+(h<<2)|0;g=p-(g<<16)|0}p=c[b>>2]|0;m=p>>>24;n=p>>>16&255;l=p>>>8&255;p=p&255;o=c[e>>2]|0;i=o>>>16&255;j=o>>>8&255;k=o&255;o=o>>>24;if(!D){l=((O(l,G)|0)>>>0)/255|0;n=((O(n,H)|0)>>>0)/255|0;m=((O(m,v)|0)>>>0)/255|0}I=((O(p,w)|0)>>>0)/255|0;p=E?p:I;if(F&p>>>0<255){l=((O(l,p)|0)>>>0)/255|0;n=((O(n,p)|0)>>>0)/255|0;m=((O(m,p)|0)>>>0)/255|0}switch(u&127){case 16:{I=255-p|0;o=(((O(I,o)|0)>>>0)/255|0)+p|0;k=m+(((O(I,k)|0)>>>0)/255|0)|0;j=n+(((O(I,j)|0)>>>0)/255|0)|0;i=l+(((O(I,i)|0)>>>0)/255|0)|0;break}case 32:{i=l+i|0;j=n+j|0;k=m+k|0;k=k>>>0<255?k:255;j=j>>>0<255?j:255;i=i>>>0<255?i:255;break}case 64:{k=((O(m,k)|0)>>>0)/255|0;j=((O(n,j)|0)>>>0)/255|0;i=((O(l,i)|0)>>>0)/255|0;break}default:{}}c[e>>2]=j<<8|i<<16|k|o<<24;if(!f)break;else{e=e+4|0;g=g+A|0}}b=c[x>>2]|0}f=s+(c[C>>2]|0)|0;e=b+-1|0;c[x>>2]=e;if(!b)break;g=q+y|0;h=r;s=f;b=e;e=f;f=c[z>>2]|0}c[B>>2]=f;return}function vY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;P=c[f+16>>2]|0;I=c[f+36>>2]|0;i=c[f+40>>2]|0;J=a[i+9>>0]|0;K=J&255;h=c[f+44>>2]|0;M=a[h+9>>0]|0;N=M&255;if(!(c[h+24>>2]|0))L=0;else L=d[f+63>>0]|0;if(!j)return;O=(g+7|0)/8|0;H=g&255;A=h+28|0;B=h+32|0;C=h+29|0;D=h+33|0;E=h+30|0;F=h+34|0;G=h+31|0;r=h+35|0;s=i+28|0;t=i+12|0;u=i+32|0;v=i+29|0;w=i+16|0;x=i+33|0;y=i+30|0;z=i+20|0;q=i+34|0;g=c[f>>2]|0;n=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(H&7){case 0:{o=O;p=6;break}case 7:{o=O;p=18;break}case 6:{o=O;p=30;break}case 5:{o=O;p=42;break}case 4:{o=O;p=54;break}case 3:{o=O;p=66;break}case 2:{o=O;p=78;break}case 1:{o=O;p=90;break}default:{p=102;break a}}while(1)if((p|0)==6){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=11;break}case 2:{f=e[g>>1]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=11;break}case 3:{h=g+((d[u>>0]|0)>>>3&255)|0;i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[q>>0]|0)>>>3&255)|0;p=11;break}case 4:{f=c[g>>2]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=11;break}default:{m=0;l=0;k=0}}if((p|0)==11){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=m;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=18;continue}else if((p|0)==18){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=23;break}case 2:{f=e[g>>1]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=23;break}case 3:{h=g+((d[u>>0]|0)>>>3&255)|0;i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[q>>0]|0)>>>3&255)|0;p=23;break}case 4:{f=c[g>>2]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=23;break}default:{m=0;l=0;k=0}}if((p|0)==23){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=m;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=30;continue}else if((p|0)==30){p=0;switch(J<<24>>24){case 1:{f=d[g>>0]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=35;break}case 2:{f=e[g>>1]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=35;break}case 3:{h=g+((d[u>>0]|0)>>>3&255)|0;i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[q>>0]|0)>>>3&255)|0;p=35;break}case 4:{f=c[g>>2]|0;h=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&f)>>>(d[u>>0]|0))|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&f)>>>(d[x>>0]|0))|0;f=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&f)>>>(d[q>>0]|0))|0;p=35;break}default:{m=0;l=0;k=0}}if((p|0)==35){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=m;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=k;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|h>>>(d[A>>0]|0)<<(d[B>>0]|0)|f>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=42;continue}else if((p|0)==42){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=47;break}case 2:{h=e[g>>1]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=47;break}case 3:{i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[u>>0]|0)>>>3&255)|0;h=g+((d[q>>0]|0)>>>3&255)|0;p=47;break}case 4:{h=c[g>>2]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=47;break}default:{m=0;l=0;k=0}}if((p|0)==47){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=k;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=54;continue}else if((p|0)==54){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=59;break}case 2:{h=e[g>>1]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=59;break}case 3:{i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[u>>0]|0)>>>3&255)|0;h=g+((d[q>>0]|0)>>>3&255)|0;p=59;break}case 4:{h=c[g>>2]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=59;break}default:{m=0;l=0;k=0}}if((p|0)==59){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=k;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=66;continue}else if((p|0)==66){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=71;break}case 2:{h=e[g>>1]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=71;break}case 3:{i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[u>>0]|0)>>>3&255)|0;h=g+((d[q>>0]|0)>>>3&255)|0;p=71;break}case 4:{h=c[g>>2]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=71;break}default:{m=0;l=0;k=0}}if((p|0)==71){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=k;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=78;continue}else if((p|0)==78){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=83;break}case 2:{h=e[g>>1]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=83;break}case 3:{i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[u>>0]|0)>>>3&255)|0;h=g+((d[q>>0]|0)>>>3&255)|0;p=83;break}case 4:{h=c[g>>2]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=83;break}default:{m=0;l=0;k=0}}if((p|0)==83){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=k;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}g=g+K|0;n=n+N|0;p=90;continue}else if((p|0)==90){p=0;switch(J<<24>>24){case 1:{h=d[g>>0]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=95;break}case 2:{h=e[g>>1]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=95;break}case 3:{i=g+((d[x>>0]|0)>>>3&255)|0;f=g+((d[u>>0]|0)>>>3&255)|0;h=g+((d[q>>0]|0)>>>3&255)|0;p=95;break}case 4:{h=c[g>>2]|0;i=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&h)>>>(d[x>>0]|0))|0;f=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&h)>>>(d[u>>0]|0))|0;h=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&h)>>>(d[q>>0]|0))|0;p=95;break}default:{m=0;l=0;k=0}}if((p|0)==95){m=a[h>>0]|0;l=a[i>>0]|0;k=a[f>>0]|0}h=m&255;i=l&255;f=k&255;switch(M<<24>>24){case 1:{a[n>>0]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 2:{b[n>>1]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}case 3:{a[n+((d[B>>0]|0)>>>3&255)>>0]=k;a[n+((d[D>>0]|0)>>>3&255)>>0]=l;a[n+((d[F>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[n>>2]=i>>>(d[C>>0]|0)<<(d[D>>0]|0)|f>>>(d[A>>0]|0)<<(d[B>>0]|0)|h>>>(d[E>>0]|0)<<(d[F>>0]|0)|L>>>(d[G>>0]|0)<<(d[r>>0]|0);break}default:{}}h=n+N|0;g=g+K|0;if((o|0)>1){o=o+-1|0;n=h;p=6;continue}else break}if(!j){p=104;break}else{g=g+P|0;n=h+I|0}}if((p|0)!=102)if((p|0)==104)return}function wY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+24>>2]|0;j=c[a+28>>2]|0;b=c[a>>2]|0;k=c[a+16>>2]|0;f=c[a+20>>2]|0;i=c[a+36>>2]|0;e=j+-1|0;if(!j)return;a=d+7|0;j=(a|0)/8|0;h=d&255;switch(h&7){case 0:{a=f;while(1){d=j;while(1){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];a=a+32|0;b=b+32|0;if((d|0)<=1)break;else d=d+-1|0}if(!e)break;else{a=a+i|0;b=b+k|0;e=e+-1|0}}return}case 7:{h=(a|0)>15;while(1){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];a=f+28|0;d=b+28|0;if(h){g=j;do{g=g+-1|0;c[a>>2]=c[d>>2];a=f;f=f+32|0;d=b;b=b+32|0;c[f>>2]=c[b>>2];c[a+36>>2]=c[d+36>>2];c[a+40>>2]=c[d+40>>2];c[a+44>>2]=c[d+44>>2];c[a+48>>2]=c[d+48>>2];c[a+52>>2]=c[d+52>>2];c[a+56>>2]=c[d+56>>2];a=a+60|0;d=d+60|0}while((g|0)>1);b=d}else b=d;if(!e)break;else{f=a+i|0;b=b+k|0;e=e+-1|0}}return}default:{a:while(1){switch(h&7){case 1:{g=j;d=17;break}case 2:{a=j;d=16;break}case 6:{a=j;d=12;break}case 5:{a=j;d=13;break}case 4:{a=j;d=14;break}case 3:{a=j;d=15;break}default:{d=18;break a}}while(1)if((d|0)==12){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=13;continue}else if((d|0)==13){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=14;continue}else if((d|0)==14){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=15;continue}else if((d|0)==15){c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0;d=16;continue}else if((d|0)==16){c[f>>2]=c[b>>2];g=a;f=f+4|0;b=b+4|0;d=17;continue}else if((d|0)==17){c[f>>2]=c[b>>2];a=f+4|0;d=b+4|0;if((g|0)<=1)break;c[a>>2]=c[d>>2];c[f+8>>2]=c[b+8>>2];a=g+-1|0;f=f+12|0;b=b+12|0;d=12;continue}if(!e){d=20;break}else{f=a+i|0;b=d+k|0;e=e+-1|0}}if((d|0)!=18)if((d|0)==20)return}}}function xY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;L=c[f+24>>2]|0;i=c[f+28>>2]|0;V=c[f+16>>2]|0;W=c[f+36>>2]|0;h=c[f+40>>2]|0;H=a[h+9>>0]|0;I=H&255;g=c[f+44>>2]|0;J=a[g+9>>0]|0;K=J&255;if(!i)return;M=(L|0)==0;N=g+28|0;P=g+32|0;Q=g+29|0;R=g+33|0;S=g+30|0;T=g+34|0;U=g+31|0;v=g+35|0;w=h+28|0;x=h+12|0;y=h+32|0;z=h+29|0;A=h+16|0;B=h+33|0;C=h+30|0;D=h+20|0;E=h+34|0;F=h+31|0;G=h+24|0;s=h+35|0;t=O(L,K)|0;u=O(L,I)|0;g=c[f>>2]|0;h=c[f+20>>2]|0;while(1){i=i+-1|0;if(!M){p=L;q=h;r=g;while(1){switch(H<<24>>24){case 1:{o=d[r>>0]|0;f=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&o)>>>(d[s>>0]|0))>>0]|0;m=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&o)>>>(d[E>>0]|0))>>0]|0;n=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&o)>>>(d[B>>0]|0))>>0]|0;o=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&o)>>>(d[y>>0]|0))>>0]|0;break}case 2:{o=e[r>>1]|0;f=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&o)>>>(d[s>>0]|0))>>0]|0;m=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&o)>>>(d[E>>0]|0))>>0]|0;n=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&o)>>>(d[B>>0]|0))>>0]|0;o=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&o)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=-1;m=a[r+((d[E>>0]|0)>>>3&255)>>0]|0;n=a[r+((d[B>>0]|0)>>>3&255)>>0]|0;o=a[r+((d[y>>0]|0)>>>3&255)>>0]|0;break}case 4:{o=c[r>>2]|0;f=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[G>>2]&o)>>>(d[s>>0]|0))>>0]|0;m=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[D>>2]&o)>>>(d[E>>0]|0))>>0]|0;n=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&o)>>>(d[B>>0]|0))>>0]|0;o=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&o)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;m=0;n=0;o=0}}f=f&255;j=m&255;k=n&255;l=o&255;switch(J<<24>>24){case 1:{a[q>>0]=k>>>(d[Q>>0]|0)<<(d[R>>0]|0)|l>>>(d[N>>0]|0)<<(d[P>>0]|0)|j>>>(d[S>>0]|0)<<(d[T>>0]|0)|f>>>(d[U>>0]|0)<<(d[v>>0]|0);break}case 2:{b[q>>1]=k>>>(d[Q>>0]|0)<<(d[R>>0]|0)|l>>>(d[N>>0]|0)<<(d[P>>0]|0)|j>>>(d[S>>0]|0)<<(d[T>>0]|0)|f>>>(d[U>>0]|0)<<(d[v>>0]|0);break}case 3:{a[q+((d[P>>0]|0)>>>3&255)>>0]=o;a[q+((d[R>>0]|0)>>>3&255)>>0]=n;a[q+((d[T>>0]|0)>>>3&255)>>0]=m;break}case 4:{c[q>>2]=k>>>(d[Q>>0]|0)<<(d[R>>0]|0)|l>>>(d[N>>0]|0)<<(d[P>>0]|0)|j>>>(d[S>>0]|0)<<(d[T>>0]|0)|f>>>(d[U>>0]|0)<<(d[v>>0]|0);break}default:{}}p=p+-1|0;if(!p)break;else{q=q+K|0;r=r+I|0}}g=g+u|0;h=h+t|0}if(!i)break;else{g=g+V|0;h=h+W|0}}return}function yY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;Q=c[f+16>>2]|0;H=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;J=a[h+9>>0]|0;K=J&255;L=a[i+9>>0]|0;M=L&255;if(!(c[i+24>>2]|0))I=0;else I=d[f+63>>0]|0;N=~c[h+24>>2];O=c[f+56>>2]&N;if(!j)return;P=(g+7|0)/8|0;G=g&255;y=h+28|0;z=h+12|0;A=h+32|0;B=h+29|0;C=h+16|0;D=h+33|0;E=h+30|0;F=h+20|0;q=h+34|0;r=i+28|0;s=i+32|0;t=i+29|0;u=i+33|0;v=i+30|0;w=i+34|0;x=i+31|0;p=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(G&7){case 0:{o=P;i=6;break}case 7:{o=P;i=18;break}case 6:{o=P;i=30;break}case 5:{o=P;i=42;break}case 4:{o=P;i=54;break}case 3:{o=P;i=66;break}case 2:{o=P;i=78;break}case 1:{o=P;i=90;break}default:{i=102;break a}}while(1)if((i|0)==6){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}b:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break b}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break b}default:break b}}while(0);g=g+K|0;h=h+M|0;i=18;continue}else if((i|0)==18){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}c:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break c}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break c}default:break c}}while(0);g=g+K|0;h=h+M|0;i=30;continue}else if((i|0)==30){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}d:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break d}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break d}default:break d}}while(0);g=g+K|0;h=h+M|0;i=42;continue}else if((i|0)==42){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}e:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break e}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break e}default:break e}}while(0);g=g+K|0;h=h+M|0;i=54;continue}else if((i|0)==54){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}f:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break f}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break f}default:break f}}while(0);g=g+K|0;h=h+M|0;i=66;continue}else if((i|0)==66){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}g:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break g}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break g}default:break g}}while(0);g=g+K|0;h=h+M|0;i=78;continue}else if((i|0)==78){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}h:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break h}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break h}default:break h}}while(0);g=g+K|0;h=h+M|0;i=90;continue}else if((i|0)==90){switch(J<<24>>24){case 1:{i=d[g>>0]|0;break}case 2:{i=e[g>>1]|0;break}case 3:{i=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{i=c[g>>2]|0;break}default:i=0}i:do if((i&N|0)!=(O|0)){k=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[A>>0]|0))>>0]|0;l=k&255;m=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[C>>2]&i)>>>(d[D>>0]|0))>>0]|0;n=m&255;i=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&i)>>>(d[q>>0]|0))>>0]|0;f=i&255;switch(L<<24>>24){case 1:{a[h>>0]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}case 2:{b[h>>1]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=k;a[h+((d[u>>0]|0)>>>3&255)>>0]=m;a[h+((d[w>>0]|0)>>>3&255)>>0]=i;break i}case 4:{c[h>>2]=n>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|I>>>(d[x>>0]|0)<<(d[p>>0]|0);break i}default:break i}}while(0);h=h+M|0;g=g+K|0;if((o|0)>1){o=o+-1|0;i=6;continue}else break}if(!j){i=104;break}else{g=g+Q|0;h=h+H|0}}if((i|0)!=102)if((i|0)==104)return}function zY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0;i=c[b+24>>2]|0;s=c[b+28>>2]|0;g=c[b>>2]|0;gc=c[b+16>>2]|0;f=c[b+20>>2]|0;fc=c[b+36>>2]|0;bc=c[b+48>>2]|0;cc=c[b+40>>2]|0;dc=a[cc+9>>0]|0;ec=dc&255;h=s+-1|0;b=(s|0)==0;if(!bc){if(b)return;s=(i+7|0)/8|0;r=i&255;j=cc+28|0;k=cc+12|0;l=cc+32|0;m=cc+29|0;n=cc+16|0;o=cc+33|0;p=cc+30|0;q=cc+20|0;i=cc+34|0;a:while(1){switch(r&7){case 0:{u=s;za=g;Aa=f;f=7;break}case 7:{ta=s;Ia=g;Ja=f;f=14;break}case 6:{Ca=s;Ra=g;Sa=f;f=21;break}case 5:{La=s;_a=g;$a=f;f=28;break}case 4:{Ua=s;hb=g;ib=f;f=35;break}case 3:{bb=s;qb=g;rb=f;f=42;break}case 2:{kb=s;zb=g;Ab=f;f=49;break}case 1:{tb=s;Gb=g;Hb=f;f=56;break}default:{f=63;break a}}while(1)if((f|0)==7){f=0;switch(dc<<24>>24){case 1:{Nb=d[za>>0]|0;x=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=12;break}case 2:{Nb=e[za>>1]|0;x=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=12;break}case 3:{x=za+((d[o>>0]|0)>>>3&255)|0;z=za+((d[l>>0]|0)>>>3&255)|0;Nb=za+((d[i>>0]|0)>>>3&255)|0;f=12;break}case 4:{Nb=c[za>>2]|0;x=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Nb)>>>(d[o>>0]|0))|0;z=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Nb)>>>(d[l>>0]|0))|0;Nb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Nb)>>>(d[i>>0]|0))|0;f=12;break}default:{v=0;w=0;y=0}}if((f|0)==12){v=a[Nb>>0]|0;w=a[x>>0]|0;y=a[z>>0]|0}a[Aa>>0]=(w&255)>>>5<<2|y&-32&255|(v&255)>>>6;ta=u;Ia=za+ec|0;Ja=Aa+1|0;f=14;continue}else if((f|0)==14){f=0;switch(dc<<24>>24){case 1:{Ob=d[Ia>>0]|0;wa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=19;break}case 2:{Ob=e[Ia>>1]|0;wa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=19;break}case 3:{wa=Ia+((d[o>>0]|0)>>>3&255)|0;ya=Ia+((d[l>>0]|0)>>>3&255)|0;Ob=Ia+((d[i>>0]|0)>>>3&255)|0;f=19;break}case 4:{Ob=c[Ia>>2]|0;wa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ob)>>>(d[o>>0]|0))|0;ya=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ob)>>>(d[l>>0]|0))|0;Ob=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ob)>>>(d[i>>0]|0))|0;f=19;break}default:{ua=0;va=0;xa=0}}if((f|0)==19){ua=a[Ob>>0]|0;va=a[wa>>0]|0;xa=a[ya>>0]|0}a[Ja>>0]=(va&255)>>>5<<2|xa&-32&255|(ua&255)>>>6;Ca=ta;Ra=Ia+ec|0;Sa=Ja+1|0;f=21;continue}else if((f|0)==21){f=0;switch(dc<<24>>24){case 1:{Pb=d[Ra>>0]|0;Fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=26;break}case 2:{Pb=e[Ra>>1]|0;Fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=26;break}case 3:{Fa=Ra+((d[o>>0]|0)>>>3&255)|0;Ha=Ra+((d[l>>0]|0)>>>3&255)|0;Pb=Ra+((d[i>>0]|0)>>>3&255)|0;f=26;break}case 4:{Pb=c[Ra>>2]|0;Fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Pb)>>>(d[o>>0]|0))|0;Ha=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Pb)>>>(d[l>>0]|0))|0;Pb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Pb)>>>(d[i>>0]|0))|0;f=26;break}default:{Da=0;Ea=0;Ga=0}}if((f|0)==26){Da=a[Pb>>0]|0;Ea=a[Fa>>0]|0;Ga=a[Ha>>0]|0}a[Sa>>0]=(Ea&255)>>>5<<2|Ga&-32&255|(Da&255)>>>6;La=Ca;_a=Ra+ec|0;$a=Sa+1|0;f=28;continue}else if((f|0)==28){f=0;switch(dc<<24>>24){case 1:{Qb=d[_a>>0]|0;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=33;break}case 2:{Qb=e[_a>>1]|0;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=33;break}case 3:{Oa=_a+((d[o>>0]|0)>>>3&255)|0;Qa=_a+((d[l>>0]|0)>>>3&255)|0;Qb=_a+((d[i>>0]|0)>>>3&255)|0;f=33;break}case 4:{Qb=c[_a>>2]|0;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Qb)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Qb)>>>(d[l>>0]|0))|0;Qb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Qb)>>>(d[i>>0]|0))|0;f=33;break}default:{Ma=0;Na=0;Pa=0}}if((f|0)==33){Ma=a[Qb>>0]|0;Na=a[Oa>>0]|0;Pa=a[Qa>>0]|0}a[$a>>0]=(Na&255)>>>5<<2|Pa&-32&255|(Ma&255)>>>6;Ua=La;hb=_a+ec|0;ib=$a+1|0;f=35;continue}else if((f|0)==35){f=0;switch(dc<<24>>24){case 1:{Rb=d[hb>>0]|0;Xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=40;break}case 2:{Rb=e[hb>>1]|0;Xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=40;break}case 3:{Xa=hb+((d[o>>0]|0)>>>3&255)|0;Za=hb+((d[l>>0]|0)>>>3&255)|0;Rb=hb+((d[i>>0]|0)>>>3&255)|0;f=40;break}case 4:{Rb=c[hb>>2]|0;Xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Rb)>>>(d[o>>0]|0))|0;Za=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Rb)>>>(d[l>>0]|0))|0;Rb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Rb)>>>(d[i>>0]|0))|0;f=40;break}default:{Va=0;Wa=0;Ya=0}}if((f|0)==40){Va=a[Rb>>0]|0;Wa=a[Xa>>0]|0;Ya=a[Za>>0]|0}a[ib>>0]=(Wa&255)>>>5<<2|Ya&-32&255|(Va&255)>>>6;bb=Ua;qb=hb+ec|0;rb=ib+1|0;f=42;continue}else if((f|0)==42){f=0;switch(dc<<24>>24){case 1:{Sb=d[qb>>0]|0;eb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=47;break}case 2:{Sb=e[qb>>1]|0;eb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=47;break}case 3:{eb=qb+((d[o>>0]|0)>>>3&255)|0;gb=qb+((d[l>>0]|0)>>>3&255)|0;Sb=qb+((d[i>>0]|0)>>>3&255)|0;f=47;break}case 4:{Sb=c[qb>>2]|0;eb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Sb)>>>(d[o>>0]|0))|0;gb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Sb)>>>(d[l>>0]|0))|0;Sb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Sb)>>>(d[i>>0]|0))|0;f=47;break}default:{cb=0;db=0;fb=0}}if((f|0)==47){cb=a[Sb>>0]|0;db=a[eb>>0]|0;fb=a[gb>>0]|0}a[rb>>0]=(db&255)>>>5<<2|fb&-32&255|(cb&255)>>>6;kb=bb;zb=qb+ec|0;Ab=rb+1|0;f=49;continue}else if((f|0)==49){f=0;switch(dc<<24>>24){case 1:{Tb=d[zb>>0]|0;nb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=54;break}case 2:{Tb=e[zb>>1]|0;nb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=54;break}case 3:{nb=zb+((d[o>>0]|0)>>>3&255)|0;pb=zb+((d[l>>0]|0)>>>3&255)|0;Tb=zb+((d[i>>0]|0)>>>3&255)|0;f=54;break}case 4:{Tb=c[zb>>2]|0;nb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Tb)>>>(d[o>>0]|0))|0;pb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Tb)>>>(d[l>>0]|0))|0;Tb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Tb)>>>(d[i>>0]|0))|0;f=54;break}default:{lb=0;mb=0;ob=0}}if((f|0)==54){lb=a[Tb>>0]|0;mb=a[nb>>0]|0;ob=a[pb>>0]|0}a[Ab>>0]=(mb&255)>>>5<<2|ob&-32&255|(lb&255)>>>6;tb=kb;Gb=zb+ec|0;Hb=Ab+1|0;f=56;continue}else if((f|0)==56){f=0;switch(dc<<24>>24){case 1:{Ub=d[Gb>>0]|0;wb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=61;break}case 2:{Ub=e[Gb>>1]|0;wb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=61;break}case 3:{wb=Gb+((d[o>>0]|0)>>>3&255)|0;yb=Gb+((d[l>>0]|0)>>>3&255)|0;Ub=Gb+((d[i>>0]|0)>>>3&255)|0;f=61;break}case 4:{Ub=c[Gb>>2]|0;wb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ub)>>>(d[o>>0]|0))|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ub)>>>(d[l>>0]|0))|0;Ub=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ub)>>>(d[i>>0]|0))|0;f=61;break}default:{ub=0;vb=0;xb=0}}if((f|0)==61){ub=a[Ub>>0]|0;vb=a[wb>>0]|0;xb=a[yb>>0]|0}a[Hb>>0]=(vb&255)>>>5<<2|xb&-32&255|(ub&255)>>>6;b=Hb+1|0;f=Gb+ec|0;if((tb|0)>1){u=tb+-1|0;za=f;Aa=b;f=7;continue}else break}if(!h){f=124;break}else{g=f+gc|0;f=b+fc|0;h=h+-1|0}}if((f|0)!=63)if((f|0)==124)return}else{if(b)return;s=(i+7|0)/8|0;r=i&255;j=cc+28|0;k=cc+12|0;l=cc+32|0;m=cc+29|0;n=cc+16|0;o=cc+33|0;p=cc+30|0;q=cc+20|0;i=cc+34|0;b:while(1){switch(r&7){case 0:{t=s;G=g;H=f;f=66;break}case 7:{A=s;N=g;O=f;f=73;break}case 6:{U=g;V=f;Ba=s;f=80;break}case 5:{$=g;aa=f;Ka=s;f=87;break}case 4:{ga=g;ha=f;Ta=s;f=94;break}case 3:{na=g;oa=f;ab=s;f=101;break}case 2:{pa=g;qa=f;jb=s;f=108;break}case 1:{ra=g;sa=f;sb=s;f=115;break}default:{f=122;break b}}while(1)if((f|0)==66){f=0;switch(dc<<24>>24){case 1:{Vb=d[G>>0]|0;Db=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}case 2:{Vb=e[G>>1]|0;Db=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}case 3:{Db=G+((d[o>>0]|0)>>>3&255)|0;Fb=G+((d[l>>0]|0)>>>3&255)|0;Vb=G+((d[i>>0]|0)>>>3&255)|0;f=71;break}case 4:{Vb=c[G>>2]|0;Db=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Vb)>>>(d[o>>0]|0))|0;Fb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Vb)>>>(d[l>>0]|0))|0;Vb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Vb)>>>(d[i>>0]|0))|0;f=71;break}default:{Bb=0;Cb=0;Eb=0}}if((f|0)==71){Bb=a[Vb>>0]|0;Cb=a[Db>>0]|0;Eb=a[Fb>>0]|0}a[H>>0]=a[bc+((Cb&255)>>>5<<2|Eb&-32&255|(Bb&255)>>>6)>>0]|0;A=t;N=G+ec|0;O=H+1|0;f=73;continue}else if((f|0)==73){f=0;switch(dc<<24>>24){case 1:{Wb=d[N>>0]|0;Kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}case 2:{Wb=e[N>>1]|0;Kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}case 3:{Kb=N+((d[o>>0]|0)>>>3&255)|0;Mb=N+((d[l>>0]|0)>>>3&255)|0;Wb=N+((d[i>>0]|0)>>>3&255)|0;f=78;break}case 4:{Wb=c[N>>2]|0;Kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Wb)>>>(d[o>>0]|0))|0;Mb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Wb)>>>(d[l>>0]|0))|0;Wb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Wb)>>>(d[i>>0]|0))|0;f=78;break}default:{Ib=0;Jb=0;Lb=0}}if((f|0)==78){Ib=a[Wb>>0]|0;Jb=a[Kb>>0]|0;Lb=a[Mb>>0]|0}a[O>>0]=a[bc+((Jb&255)>>>5<<2|Lb&-32&255|(Ib&255)>>>6)>>0]|0;U=N+ec|0;V=O+1|0;Ba=A;f=80;continue}else if((f|0)==80){f=0;switch(dc<<24>>24){case 1:{Xb=d[U>>0]|0;D=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}case 2:{Xb=e[U>>1]|0;D=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}case 3:{D=U+((d[o>>0]|0)>>>3&255)|0;F=U+((d[l>>0]|0)>>>3&255)|0;Xb=U+((d[i>>0]|0)>>>3&255)|0;f=85;break}case 4:{Xb=c[U>>2]|0;D=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Xb)>>>(d[o>>0]|0))|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Xb)>>>(d[l>>0]|0))|0;Xb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Xb)>>>(d[i>>0]|0))|0;f=85;break}default:{B=0;C=0;E=0}}if((f|0)==85){B=a[Xb>>0]|0;C=a[D>>0]|0;E=a[F>>0]|0}a[V>>0]=a[bc+((C&255)>>>5<<2|E&-32&255|(B&255)>>>6)>>0]|0;$=U+ec|0;aa=V+1|0;Ka=Ba;f=87;continue}else if((f|0)==87){f=0;switch(dc<<24>>24){case 1:{Yb=d[$>>0]|0;K=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}case 2:{Yb=e[$>>1]|0;K=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}case 3:{K=$+((d[o>>0]|0)>>>3&255)|0;M=$+((d[l>>0]|0)>>>3&255)|0;Yb=$+((d[i>>0]|0)>>>3&255)|0;f=92;break}case 4:{Yb=c[$>>2]|0;K=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Yb)>>>(d[o>>0]|0))|0;M=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Yb)>>>(d[l>>0]|0))|0;Yb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Yb)>>>(d[i>>0]|0))|0;f=92;break}default:{I=0;J=0;L=0}}if((f|0)==92){I=a[Yb>>0]|0;J=a[K>>0]|0;L=a[M>>0]|0}a[aa>>0]=a[bc+((J&255)>>>5<<2|L&-32&255|(I&255)>>>6)>>0]|0;ga=$+ec|0;ha=aa+1|0;Ta=Ka;f=94;continue}else if((f|0)==94){f=0;switch(dc<<24>>24){case 1:{Zb=d[ga>>0]|0;R=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}case 2:{Zb=e[ga>>1]|0;R=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}case 3:{R=ga+((d[o>>0]|0)>>>3&255)|0;T=ga+((d[l>>0]|0)>>>3&255)|0;Zb=ga+((d[i>>0]|0)>>>3&255)|0;f=99;break}case 4:{Zb=c[ga>>2]|0;R=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Zb)>>>(d[o>>0]|0))|0;T=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Zb)>>>(d[l>>0]|0))|0;Zb=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Zb)>>>(d[i>>0]|0))|0;f=99;break}default:{P=0;Q=0;S=0}}if((f|0)==99){P=a[Zb>>0]|0;Q=a[R>>0]|0;S=a[T>>0]|0}a[ha>>0]=a[bc+((Q&255)>>>5<<2|S&-32&255|(P&255)>>>6)>>0]|0;na=ga+ec|0;oa=ha+1|0;ab=Ta;f=101;continue}else if((f|0)==101){f=0;switch(dc<<24>>24){case 1:{_b=d[na>>0]|0;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}case 2:{_b=e[na>>1]|0;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}case 3:{Y=na+((d[o>>0]|0)>>>3&255)|0;_=na+((d[l>>0]|0)>>>3&255)|0;_b=na+((d[i>>0]|0)>>>3&255)|0;f=106;break}case 4:{_b=c[na>>2]|0;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&_b)>>>(d[o>>0]|0))|0;_=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&_b)>>>(d[l>>0]|0))|0;_b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&_b)>>>(d[i>>0]|0))|0;f=106;break}default:{W=0;X=0;Z=0}}if((f|0)==106){W=a[_b>>0]|0;X=a[Y>>0]|0;Z=a[_>>0]|0}a[oa>>0]=a[bc+((X&255)>>>5<<2|Z&-32&255|(W&255)>>>6)>>0]|0;pa=na+ec|0;qa=oa+1|0;jb=ab;f=108;continue}else if((f|0)==108){f=0;switch(dc<<24>>24){case 1:{$b=d[pa>>0]|0;da=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}case 2:{$b=e[pa>>1]|0;da=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}case 3:{da=pa+((d[o>>0]|0)>>>3&255)|0;fa=pa+((d[l>>0]|0)>>>3&255)|0;$b=pa+((d[i>>0]|0)>>>3&255)|0;f=113;break}case 4:{$b=c[pa>>2]|0;da=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&$b)>>>(d[o>>0]|0))|0;fa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&$b)>>>(d[l>>0]|0))|0;$b=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&$b)>>>(d[i>>0]|0))|0;f=113;break}default:{ba=0;ca=0;ea=0}}if((f|0)==113){ba=a[$b>>0]|0;ca=a[da>>0]|0;ea=a[fa>>0]|0}a[qa>>0]=a[bc+((ca&255)>>>5<<2|ea&-32&255|(ba&255)>>>6)>>0]|0;ra=pa+ec|0;sa=qa+1|0;sb=jb;f=115;continue}else if((f|0)==115){f=0;switch(dc<<24>>24){case 1:{ac=d[ra>>0]|0;ka=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}case 2:{ac=e[ra>>1]|0;ka=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}case 3:{ka=ra+((d[o>>0]|0)>>>3&255)|0;ma=ra+((d[l>>0]|0)>>>3&255)|0;ac=ra+((d[i>>0]|0)>>>3&255)|0;f=120;break}case 4:{ac=c[ra>>2]|0;ka=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&ac)>>>(d[o>>0]|0))|0;ma=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&ac)>>>(d[l>>0]|0))|0;ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&ac)>>>(d[i>>0]|0))|0;f=120;break}default:{ia=0;ja=0;la=0}}if((f|0)==120){ia=a[ac>>0]|0;ja=a[ka>>0]|0;la=a[ma>>0]|0}a[sa>>0]=a[bc+((ja&255)>>>5<<2|la&-32&255|(ia&255)>>>6)>>0]|0;b=sa+1|0;f=ra+ec|0;if((sb|0)>1){t=sb+-1|0;G=f;H=b;f=66;continue}else break}if(!h){f=124;break}else{g=f+gc|0;f=b+fc|0;h=h+-1|0}}if((f|0)!=122)if((f|0)==124)return}}function AY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=c[b+24>>2]|0;f=c[b+28>>2]|0;e=c[b>>2]|0;Y=(c[b+16>>2]|0)/4|0;d=c[b+20>>2]|0;X=c[b+36>>2]|0;y=c[b+48>>2]|0;b=f+-1|0;f=(f|0)==0;if(!y){if(f)return;g=(i+7|0)/8|0;f=i&255;a:while(1){switch(f&7){case 0:{h=g;k=d;d=7;break}case 7:{j=g;m=d;d=8;break}case 6:{l=g;o=d;d=9;break}case 5:{n=g;q=d;d=10;break}case 4:{p=g;s=d;d=11;break}case 3:{r=g;u=d;d=12;break}case 2:{t=g;w=d;d=13;break}case 1:{v=g;x=d;d=14;break}default:{d=15;break a}}while(1)if((d|0)==7){j=c[e>>2]|0;a[k>>0]=j>>>16&224|j>>>11&28|j>>>6&3;j=h;m=k+1|0;d=8;continue}else if((d|0)==8){l=c[e>>2]|0;a[m>>0]=l>>>16&224|l>>>11&28|l>>>6&3;l=j;o=m+1|0;d=9;continue}else if((d|0)==9){n=c[e>>2]|0;a[o>>0]=n>>>16&224|n>>>11&28|n>>>6&3;n=l;q=o+1|0;d=10;continue}else if((d|0)==10){p=c[e>>2]|0;a[q>>0]=p>>>16&224|p>>>11&28|p>>>6&3;p=n;s=q+1|0;d=11;continue}else if((d|0)==11){r=c[e>>2]|0;a[s>>0]=r>>>16&224|r>>>11&28|r>>>6&3;r=p;u=s+1|0;d=12;continue}else if((d|0)==12){t=c[e>>2]|0;a[u>>0]=t>>>16&224|t>>>11&28|t>>>6&3;t=r;w=u+1|0;d=13;continue}else if((d|0)==13){v=c[e>>2]|0;a[w>>0]=v>>>16&224|v>>>11&28|v>>>6&3;v=t;x=w+1|0;d=14;continue}else if((d|0)==14){W=c[e>>2]|0;d=x+1|0;a[x>>0]=W>>>16&224|W>>>11&28|W>>>6&3;if((v|0)>1){h=v+-1|0;k=d;d=7;continue}else break}if(!b){d=28;break}else{e=e+(Y<<2)|0;d=d+X|0;b=b+-1|0}}if((d|0)!=15)if((d|0)==28)return}else{if(f)return;h=(i+7|0)/8|0;g=i&255;b:while(1){switch(g&7){case 0:{z=h;B=d;K=e;d=18;break}case 7:{A=h;C=d;M=e;d=19;break}case 6:{D=d;J=h;O=e;d=20;break}case 5:{E=d;L=h;Q=e;d=21;break}case 4:{F=d;N=h;S=e;d=22;break}case 3:{G=d;P=h;U=e;d=23;break}case 2:{H=d;R=h;V=e;d=24;break}case 1:{I=d;T=h;W=e;d=25;break}default:{d=26;break b}}while(1)if((d|0)==18){A=c[K>>2]|0;a[B>>0]=a[y+(A>>>16&224|A>>>11&28|A>>>6&3)>>0]|0;A=z;C=B+1|0;M=K+4|0;d=19;continue}else if((d|0)==19){D=c[M>>2]|0;a[C>>0]=a[y+(D>>>16&224|D>>>11&28|D>>>6&3)>>0]|0;D=C+1|0;J=A;O=M+4|0;d=20;continue}else if((d|0)==20){E=c[O>>2]|0;a[D>>0]=a[y+(E>>>16&224|E>>>11&28|E>>>6&3)>>0]|0;E=D+1|0;L=J;Q=O+4|0;d=21;continue}else if((d|0)==21){F=c[Q>>2]|0;a[E>>0]=a[y+(F>>>16&224|F>>>11&28|F>>>6&3)>>0]|0;F=E+1|0;N=L;S=Q+4|0;d=22;continue}else if((d|0)==22){G=c[S>>2]|0;a[F>>0]=a[y+(G>>>16&224|G>>>11&28|G>>>6&3)>>0]|0;G=F+1|0;P=N;U=S+4|0;d=23;continue}else if((d|0)==23){H=c[U>>2]|0;a[G>>0]=a[y+(H>>>16&224|H>>>11&28|H>>>6&3)>>0]|0;H=G+1|0;R=P;V=U+4|0;d=24;continue}else if((d|0)==24){I=c[V>>2]|0;a[H>>0]=a[y+(I>>>16&224|I>>>11&28|I>>>6&3)>>0]|0;I=H+1|0;T=R;W=V+4|0;d=25;continue}else if((d|0)==25){d=c[W>>2]|0;f=I+1|0;a[I>>0]=a[y+(d>>>16&224|d>>>11&28|d>>>6&3)>>0]|0;d=W+4|0;if((T|0)>1){z=T+-1|0;B=f;K=d;d=18;continue}else break}if(!b){d=28;break}else{e=d+(Y<<2)|0;d=f+X|0;b=b+-1|0}}if((d|0)!=26)if((d|0)==28)return}}
  42. function BY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;i=c[b+24>>2]|0;f=c[b+28>>2]|0;e=c[b>>2]|0;Y=(c[b+16>>2]|0)/4|0;d=c[b+20>>2]|0;X=c[b+36>>2]|0;y=c[b+48>>2]|0;b=f+-1|0;f=(f|0)==0;if(!y){if(f)return;g=(i+7|0)/8|0;f=i&255;a:while(1){switch(f&7){case 0:{h=g;k=d;d=7;break}case 7:{j=g;m=d;d=8;break}case 6:{l=g;o=d;d=9;break}case 5:{n=g;q=d;d=10;break}case 4:{p=g;s=d;d=11;break}case 3:{r=g;u=d;d=12;break}case 2:{t=g;w=d;d=13;break}case 1:{v=g;x=d;d=14;break}default:{d=15;break a}}while(1)if((d|0)==7){j=c[e>>2]|0;a[k>>0]=j>>>22&224|j>>>15&28|j>>>8&3;j=h;m=k+1|0;d=8;continue}else if((d|0)==8){l=c[e>>2]|0;a[m>>0]=l>>>22&224|l>>>15&28|l>>>8&3;l=j;o=m+1|0;d=9;continue}else if((d|0)==9){n=c[e>>2]|0;a[o>>0]=n>>>22&224|n>>>15&28|n>>>8&3;n=l;q=o+1|0;d=10;continue}else if((d|0)==10){p=c[e>>2]|0;a[q>>0]=p>>>22&224|p>>>15&28|p>>>8&3;p=n;s=q+1|0;d=11;continue}else if((d|0)==11){r=c[e>>2]|0;a[s>>0]=r>>>22&224|r>>>15&28|r>>>8&3;r=p;u=s+1|0;d=12;continue}else if((d|0)==12){t=c[e>>2]|0;a[u>>0]=t>>>22&224|t>>>15&28|t>>>8&3;t=r;w=u+1|0;d=13;continue}else if((d|0)==13){v=c[e>>2]|0;a[w>>0]=v>>>22&224|v>>>15&28|v>>>8&3;v=t;x=w+1|0;d=14;continue}else if((d|0)==14){W=c[e>>2]|0;d=x+1|0;a[x>>0]=W>>>22&224|W>>>15&28|W>>>8&3;if((v|0)>1){h=v+-1|0;k=d;d=7;continue}else break}if(!b){d=28;break}else{e=e+(Y<<2)|0;d=d+X|0;b=b+-1|0}}if((d|0)!=15)if((d|0)==28)return}else{if(f)return;h=(i+7|0)/8|0;g=i&255;b:while(1){switch(g&7){case 0:{z=h;B=d;K=e;d=18;break}case 7:{A=h;C=d;M=e;d=19;break}case 6:{D=d;J=h;O=e;d=20;break}case 5:{E=d;L=h;Q=e;d=21;break}case 4:{F=d;N=h;S=e;d=22;break}case 3:{G=d;P=h;U=e;d=23;break}case 2:{H=d;R=h;V=e;d=24;break}case 1:{I=d;T=h;W=e;d=25;break}default:{d=26;break b}}while(1)if((d|0)==18){A=c[K>>2]|0;a[B>>0]=a[y+(A>>>22&224|A>>>15&28|A>>>8&3)>>0]|0;A=z;C=B+1|0;M=K+4|0;d=19;continue}else if((d|0)==19){D=c[M>>2]|0;a[C>>0]=a[y+(D>>>22&224|D>>>15&28|D>>>8&3)>>0]|0;D=C+1|0;J=A;O=M+4|0;d=20;continue}else if((d|0)==20){E=c[O>>2]|0;a[D>>0]=a[y+(E>>>22&224|E>>>15&28|E>>>8&3)>>0]|0;E=D+1|0;L=J;Q=O+4|0;d=21;continue}else if((d|0)==21){F=c[Q>>2]|0;a[E>>0]=a[y+(F>>>22&224|F>>>15&28|F>>>8&3)>>0]|0;F=E+1|0;N=L;S=Q+4|0;d=22;continue}else if((d|0)==22){G=c[S>>2]|0;a[F>>0]=a[y+(G>>>22&224|G>>>15&28|G>>>8&3)>>0]|0;G=F+1|0;P=N;U=S+4|0;d=23;continue}else if((d|0)==23){H=c[U>>2]|0;a[G>>0]=a[y+(H>>>22&224|H>>>15&28|H>>>8&3)>>0]|0;H=G+1|0;R=P;V=U+4|0;d=24;continue}else if((d|0)==24){I=c[V>>2]|0;a[H>>0]=a[y+(I>>>22&224|I>>>15&28|I>>>8&3)>>0]|0;I=H+1|0;T=R;W=V+4|0;d=25;continue}else if((d|0)==25){d=c[W>>2]|0;f=I+1|0;a[I>>0]=a[y+(d>>>22&224|d>>>15&28|d>>>8&3)>>0]|0;d=W+4|0;if((T|0)>1){z=T+-1|0;B=f;K=d;d=18;continue}else break}if(!b){d=28;break}else{e=d+(Y<<2)|0;d=f+X|0;b=b+-1|0}}if((d|0)!=26)if((d|0)==28)return}}function CY(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=c[e+24>>2]|0;h=c[e+28>>2]|0;B=c[e+16>>2]|0;C=c[e+36>>2]|0;g=c[e+44>>2]|0;y=a[g+9>>0]|0;z=y&255;if(!h)return;A=(f+7|0)/8|0;x=f&255;q=g+28|0;r=g+32|0;s=g+29|0;t=g+33|0;u=g+30|0;v=g+34|0;w=g+31|0;p=g+35|0;f=c[e>>2]|0;g=c[e+20>>2]|0;a:while(1){h=h+-1|0;switch(x&7){case 0:{o=A;e=4;break}case 7:{o=A;e=10;break}case 6:{o=A;e=16;break}case 5:{o=A;e=22;break}case 4:{o=A;e=28;break}case 3:{o=A;e=34;break}case 2:{o=A;e=40;break}case 1:{o=A;e=46;break}default:{e=52;break a}}while(1)if((e|0)==4){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=10;continue}else if((e|0)==10){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=16;continue}else if((e|0)==16){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=22;continue}else if((e|0)==22){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=28;continue}else if((e|0)==28){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=34;continue}else if((e|0)==34){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=40;continue}else if((e|0)==40){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}f=f+4|0;g=g+z|0;e=46;continue}else if((e|0)==46){n=c[f>>2]|0;e=n>>>22;i=e&255;j=n>>>12;k=j&255;l=n>>>2;m=l&255;n=d[386921+(n>>>30)>>0]|0;switch(y<<24>>24){case 1:{a[g>>0]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 2:{b[g>>1]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}case 3:{a[g+((d[r>>0]|0)>>>3&255)>>0]=e;a[g+((d[t>>0]|0)>>>3&255)>>0]=j;a[g+((d[v>>0]|0)>>>3&255)>>0]=l;break}case 4:{c[g>>2]=k>>>(d[s>>0]|0)<<(d[t>>0]|0)|i>>>(d[q>>0]|0)<<(d[r>>0]|0)|m>>>(d[u>>0]|0)<<(d[v>>0]|0)|n>>>(d[w>>0]|0)<<(d[p>>0]|0);break}default:{}}g=g+z|0;f=f+4|0;if((o|0)>1){o=o+-1|0;e=4;continue}else break}if(!h){e=54;break}else{f=f+B|0;g=g+C|0}}if((e|0)!=52)if((e|0)==54)return}function DY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;F=c[b+16>>2]|0;G=c[b+36>>2]|0;g=c[b+40>>2]|0;C=a[g+9>>0]|0;D=C&255;if(!h)return;E=(f+7|0)/8|0;B=f&255;q=g+28|0;r=g+12|0;s=g+32|0;t=g+29|0;u=g+16|0;v=g+33|0;w=g+30|0;x=g+20|0;y=g+34|0;z=g+31|0;A=g+24|0;p=g+35|0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(B&7){case 0:{n=E;o=4;break}case 7:{n=E;o=11;break}case 6:{n=E;o=18;break}case 5:{n=E;o=25;break}case 4:{n=E;o=32;break}case 3:{n=E;o=39;break}case 2:{n=E;o=46;break}case 1:{n=E;o=53;break}default:{o=60;break a}}while(1)if((o|0)==4){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=9;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=9;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=9;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=9;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==9){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=11;continue}else if((o|0)==11){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=16;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=16;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=16;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=16;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==16){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=18;continue}else if((o|0)==18){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=23;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=23;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=23;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=23;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==23){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=25;continue}else if((o|0)==25){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=30;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=30;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=30;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=30;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==30){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=32;continue}else if((o|0)==32){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=37;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=37;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=37;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=37;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==37){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=39;continue}else if((o|0)==39){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=44;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=44;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=44;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=44;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==44){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=46;continue}else if((o|0)==46){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=51;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=51;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=51;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=51;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==51){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);f=f+D|0;g=g+4|0;o=53;continue}else if((o|0)==53){o=0;switch(C<<24>>24){case 1:{k=d[f>>0]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=58;break}case 2:{k=e[f>>1]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=58;break}case 3:{b=-1;i=f+((d[y>>0]|0)>>>3&255)|0;j=f+((d[v>>0]|0)>>>3&255)|0;k=f+((d[s>>0]|0)>>>3&255)|0;o=58;break}case 4:{k=c[f>>2]|0;b=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[p>>0]|0))>>0]|0;i=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&k)>>>(d[y>>0]|0))|0;j=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&k)>>>(d[v>>0]|0))|0;k=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&k)>>>(d[s>>0]|0))|0;o=58;break}default:{b=0;i=0;j=0;k=0;l=0;m=0}}if((o|0)==58){o=a[i>>0]|0;l=a[j>>0]|0;m=a[k>>0]|0;i=o;j=o&255;k=l;l=l&255;m=m<<24>>24==0?0:(m&255)<<22|3145728}c[g>>2]=(((b&255)/85|0)&255)<<30|m|(i<<24>>24==0?0:j<<2|3)|(k<<24>>24==0?0:l<<12|3072);g=g+4|0;f=f+D|0;if((n|0)>1){n=n+-1|0;o=4;continue}else break}if(!h){o=62;break}else{f=f+F|0;g=g+G|0}}if((o|0)!=60)if((o|0)==62)return}function EY(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;k=c[a+24>>2]|0;h=c[a+28>>2]|0;e=c[a>>2]|0;W=c[a+16>>2]|0;b=c[a+20>>2]|0;V=c[a+36>>2]|0;f=c[a+40>>2]|0;g=c[a+44>>2]|0;if(!(c[g+24>>2]|0)){j=c[f+16>>2]|c[f+12>>2]|c[f+20>>2];f=h+-1|0;if(!h)return;i=(k+7|0)/8|0;a=k&255;switch(a&7){case 0:{while(1){a=i;while(1){c[b>>2]=c[e>>2]&j;c[b+4>>2]=c[e+4>>2]&j;c[b+8>>2]=c[e+8>>2]&j;c[b+12>>2]=c[e+12>>2]&j;c[b+16>>2]=c[e+16>>2]&j;c[b+20>>2]=c[e+20>>2]&j;c[b+24>>2]=c[e+24>>2]&j;c[b+28>>2]=c[e+28>>2]&j;b=b+32|0;e=e+32|0;if((a|0)<=1)break;else a=a+-1|0}if(!f)break;else{b=b+V|0;e=e+W|0;f=f+-1|0}}return}case 7:{while(1){h=i;while(1){c[b>>2]=c[e>>2]&j;c[b+4>>2]=c[e+4>>2]&j;c[b+8>>2]=c[e+8>>2]&j;c[b+12>>2]=c[e+12>>2]&j;c[b+16>>2]=c[e+16>>2]&j;c[b+20>>2]=c[e+20>>2]&j;c[b+24>>2]=c[e+24>>2]&j;a=b+28|0;g=e+28|0;if((h|0)<=1)break;c[a>>2]=c[g>>2]&j;h=h+-1|0;e=e+32|0;b=b+32|0}if(!f)break;else{b=a+V|0;e=g+W|0;f=f+-1|0}}return}default:{a:while(1){switch(a&7){case 1:{v=e;w=b;P=i;b=37;break}case 2:{t=e;u=b;L=i;b=36;break}case 6:{l=e;m=b;x=i;b=32;break}case 5:{n=e;o=b;z=i;b=33;break}case 4:{p=e;q=b;D=i;b=34;break}case 3:{r=e;s=b;H=i;b=35;break}default:{b=38;break a}}while(1)if((b|0)==32){c[m>>2]=c[l>>2]&j;n=l+4|0;o=m+4|0;z=x;b=33;continue}else if((b|0)==33){c[o>>2]=c[n>>2]&j;p=n+4|0;q=o+4|0;D=z;b=34;continue}else if((b|0)==34){c[q>>2]=c[p>>2]&j;r=p+4|0;s=q+4|0;H=D;b=35;continue}else if((b|0)==35){c[s>>2]=c[r>>2]&j;t=r+4|0;u=s+4|0;L=H;b=36;continue}else if((b|0)==36){c[u>>2]=c[t>>2]&j;v=t+4|0;w=u+4|0;P=L;b=37;continue}else if((b|0)==37){c[w>>2]=c[v>>2]&j;b=w+4|0;e=v+4|0;if((P|0)<=1)break;c[b>>2]=c[e>>2]&j;c[w+8>>2]=c[v+8>>2]&j;l=v+12|0;m=w+12|0;x=P+-1|0;b=32;continue}if(!f){b=40;break}else{b=b+V|0;e=e+W|0;f=f+-1|0}}if((b|0)!=38)if((b|0)==40)return}}}else{j=(d[a+63>>0]|0)>>>(d[g+31>>0]|0)<<(d[g+35>>0]|0);f=h+-1|0;if(!h)return;i=(k+7|0)/8|0;g=k&255;switch(g&7){case 0:{while(1){a=i;while(1){c[b>>2]=c[e>>2]|j;c[b+4>>2]=c[e+4>>2]|j;c[b+8>>2]=c[e+8>>2]|j;c[b+12>>2]=c[e+12>>2]|j;c[b+16>>2]=c[e+16>>2]|j;c[b+20>>2]=c[e+20>>2]|j;c[b+24>>2]=c[e+24>>2]|j;c[b+28>>2]=c[e+28>>2]|j;b=b+32|0;e=e+32|0;if((a|0)<=1)break;else a=a+-1|0}if(!f)break;else{e=e+W|0;b=b+V|0;f=f+-1|0}}return}case 7:{while(1){h=i;while(1){c[b>>2]=c[e>>2]|j;c[b+4>>2]=c[e+4>>2]|j;c[b+8>>2]=c[e+8>>2]|j;c[b+12>>2]=c[e+12>>2]|j;c[b+16>>2]=c[e+16>>2]|j;c[b+20>>2]=c[e+20>>2]|j;c[b+24>>2]=c[e+24>>2]|j;g=b+28|0;a=e+28|0;if((h|0)<=1)break;c[g>>2]=c[a>>2]|j;h=h+-1|0;e=e+32|0;b=b+32|0}if(!f)break;else{e=a+W|0;b=g+V|0;f=f+-1|0}}return}default:{b:while(1){switch(g&7){case 1:{Q=i;T=e;U=b;b=18;break}case 2:{M=i;R=e;S=b;b=17;break}case 6:{y=i;B=e;C=b;b=13;break}case 5:{A=i;F=e;G=b;b=14;break}case 4:{E=i;J=e;K=b;b=15;break}case 3:{I=i;N=e;O=b;b=16;break}default:{b=19;break b}}while(1)if((b|0)==13){c[C>>2]=c[B>>2]|j;A=y;F=B+4|0;G=C+4|0;b=14;continue}else if((b|0)==14){c[G>>2]=c[F>>2]|j;E=A;J=F+4|0;K=G+4|0;b=15;continue}else if((b|0)==15){c[K>>2]=c[J>>2]|j;I=E;N=J+4|0;O=K+4|0;b=16;continue}else if((b|0)==16){c[O>>2]=c[N>>2]|j;M=I;R=N+4|0;S=O+4|0;b=17;continue}else if((b|0)==17){c[S>>2]=c[R>>2]|j;Q=M;T=R+4|0;U=S+4|0;b=18;continue}else if((b|0)==18){c[U>>2]=c[T>>2]|j;a=U+4|0;b=T+4|0;if((Q|0)<=1)break;c[a>>2]=c[b>>2]|j;c[U+8>>2]=c[T+8>>2]|j;y=Q+-1|0;B=T+12|0;C=U+12|0;b=13;continue}if(!f){b=40;break}else{e=b+W|0;b=a+V|0;f=f+-1|0}}if((b|0)!=19)if((b|0)==40)return}}}}function FY(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c[a+24>>2]|0;k=c[a+28>>2]|0;e=c[a>>2]|0;f=c[a+20>>2]|0;l=~c[(c[a+40>>2]|0)+24>>2];m=(c[a+16>>2]|0)/2|0;n=(c[a+36>>2]|0)/2|0;j=c[a+56>>2]&l;g=k+-1|0;if(!k)return;k=(d+7|0)/8|0;i=d&255;if(!(i&7)){a=f;while(1){f=k;d=a;while(1){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;a=b[e+2>>1]|0;if((a&65535&l|0)!=(j|0))b[d+2>>1]=a;a=b[e+4>>1]|0;if((a&65535&l|0)!=(j|0))b[d+4>>1]=a;a=b[e+6>>1]|0;if((a&65535&l|0)!=(j|0))b[d+6>>1]=a;a=b[e+8>>1]|0;if((a&65535&l|0)!=(j|0))b[d+8>>1]=a;a=b[e+10>>1]|0;if((a&65535&l|0)!=(j|0))b[d+10>>1]=a;a=b[e+12>>1]|0;if((a&65535&l|0)!=(j|0))b[d+12>>1]=a;a=b[e+14>>1]|0;if((a&65535&l|0)!=(j|0))b[d+14>>1]=a;d=d+16|0;e=e+16|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{e=e+(m<<1)|0;a=d+(n<<1)|0;g=g+-1|0}}return}else d=f;a:while(1){switch(i&7){case 1:{h=k;a=44;break}case 7:{f=k;a=26;break}case 6:{f=k;a=29;break}case 5:{f=k;a=32;break}case 4:{f=k;a=35;break}case 3:{f=k;a=38;break}case 2:{f=k;a=41;break}default:{a=47;break a}}while(1)if((a|0)==26){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=29;continue}else if((a|0)==29){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=32;continue}else if((a|0)==32){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=35;continue}else if((a|0)==35){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;e=e+2|0;d=d+2|0;a=38;continue}else if((a|0)==38){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;d=d+2|0;e=e+2|0;a=41;continue}else if((a|0)==41){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;h=f;d=d+2|0;e=e+2|0;a=44;continue}else if((a|0)==44){a=b[e>>1]|0;if((a&65535&l|0)!=(j|0))b[d>>1]=a;f=d+2|0;a=e+2|0;if((h|0)<=1)break;a=b[a>>1]|0;if((a&65535&l|0)!=(j|0))b[f>>1]=a;f=h+-1|0;e=e+4|0;d=d+4|0;a=26;continue}if(!g){a=49;break}else{e=a+(m<<1)|0;d=f+(n<<1)|0;g=g+-1|0}}if((a|0)!=47)if((a|0)==49)return}function GY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0;i=c[b+24>>2]|0;s=c[b+28>>2]|0;g=c[b>>2]|0;Oc=c[b+16>>2]|0;f=c[b+20>>2]|0;Kc=c[b+36>>2]|0;Ic=c[b+40>>2]|0;Hc=c[b+48>>2]|0;Lc=~c[Ic+24>>2];Mc=a[Ic+9>>0]|0;Nc=Mc&255;Jc=c[b+56>>2]&Lc;h=s+-1|0;b=(s|0)==0;if(!Hc){if(b)return;s=(i+7|0)/8|0;r=i&255;j=Ic+28|0;k=Ic+12|0;l=Ic+32|0;m=Ic+29|0;n=Ic+16|0;o=Ic+33|0;p=Ic+30|0;q=Ic+20|0;i=Ic+34|0;a:while(1){switch(r&7){case 0:{w=s;P=g;Q=f;f=7;break}case 7:{La=s;Wa=g;Xa=f;f=16;break}case 6:{Ya=s;fb=g;gb=f;f=25;break}case 5:{hb=s;qb=g;rb=f;f=34;break}case 4:{sb=s;Bb=g;Cb=f;f=43;break}case 3:{Db=s;Mb=g;Nb=f;f=52;break}case 2:{Ob=s;Xb=g;Yb=f;f=61;break}case 1:{Zb=s;gc=g;hc=f;f=70;break}default:{f=79;break a}}while(1)if((f|0)==7){f=0;switch(Mc<<24>>24){case 1:{rc=d[P>>0]|0;v=rc;z=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=12;break}case 2:{rc=e[P>>1]|0;v=rc;z=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=12;break}case 3:{v=0;z=P+((d[o>>0]|0)>>>3&255)|0;B=P+((d[l>>0]|0)>>>3&255)|0;rc=P+((d[i>>0]|0)>>>3&255)|0;f=12;break}case 4:{rc=c[P>>2]|0;v=rc;z=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&rc)>>>(d[o>>0]|0))|0;B=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&rc)>>>(d[l>>0]|0))|0;rc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&rc)>>>(d[i>>0]|0))|0;f=12;break}default:{u=0;x=0;y=0;A=0}}if((f|0)==12){u=v;x=a[rc>>0]|0;y=a[z>>0]|0;A=a[B>>0]|0}if((u&Lc|0)!=(Jc|0))a[Q>>0]=(y&255)>>>5<<2|A&-32&255|(x&255)>>>6;La=w;Wa=P+Nc|0;Xa=Q+1|0;f=16;continue}else if((f|0)==16){f=0;switch(Mc<<24>>24){case 1:{sc=d[Wa>>0]|0;O=sc;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=21;break}case 2:{sc=e[Wa>>1]|0;O=sc;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=21;break}case 3:{O=0;Oa=Wa+((d[o>>0]|0)>>>3&255)|0;Qa=Wa+((d[l>>0]|0)>>>3&255)|0;sc=Wa+((d[i>>0]|0)>>>3&255)|0;f=21;break}case 4:{sc=c[Wa>>2]|0;O=sc;Oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&sc)>>>(d[o>>0]|0))|0;Qa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&sc)>>>(d[l>>0]|0))|0;sc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&sc)>>>(d[i>>0]|0))|0;f=21;break}default:{N=0;Ma=0;Na=0;Pa=0}}if((f|0)==21){N=O;Ma=a[sc>>0]|0;Na=a[Oa>>0]|0;Pa=a[Qa>>0]|0}if((N&Lc|0)!=(Jc|0))a[Xa>>0]=(Na&255)>>>5<<2|Pa&-32&255|(Ma&255)>>>6;Ya=La;fb=Wa+Nc|0;gb=Xa+1|0;f=25;continue}else if((f|0)==25){f=0;switch(Mc<<24>>24){case 1:{tc=d[fb>>0]|0;Ta=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=30;break}case 2:{tc=e[fb>>1]|0;Ta=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=30;break}case 3:{Ta=fb+((d[l>>0]|0)>>>3&255)|0;Va=0;$a=fb+((d[o>>0]|0)>>>3&255)|0;tc=fb+((d[i>>0]|0)>>>3&255)|0;f=30;break}case 4:{tc=c[fb>>2]|0;Ta=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&tc)>>>(d[l>>0]|0))|0;Va=tc;$a=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&tc)>>>(d[o>>0]|0))|0;tc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&tc)>>>(d[i>>0]|0))|0;f=30;break}default:{Sa=0;Ua=0;Za=0;_a=0}}if((f|0)==30){Sa=a[Ta>>0]|0;Ua=Va;Za=a[tc>>0]|0;_a=a[$a>>0]|0}if((Ua&Lc|0)!=(Jc|0))a[gb>>0]=(_a&255)>>>5<<2|Sa&-32&255|(Za&255)>>>6;hb=Ya;qb=fb+Nc|0;rb=gb+1|0;f=34;continue}else if((f|0)==34){f=0;switch(Mc<<24>>24){case 1:{uc=d[qb>>0]|0;cb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=39;break}case 2:{uc=e[qb>>1]|0;cb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=39;break}case 3:{cb=qb+((d[l>>0]|0)>>>3&255)|0;eb=0;kb=qb+((d[o>>0]|0)>>>3&255)|0;uc=qb+((d[i>>0]|0)>>>3&255)|0;f=39;break}case 4:{uc=c[qb>>2]|0;cb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&uc)>>>(d[l>>0]|0))|0;eb=uc;kb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&uc)>>>(d[o>>0]|0))|0;uc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&uc)>>>(d[i>>0]|0))|0;f=39;break}default:{bb=0;db=0;ib=0;jb=0}}if((f|0)==39){bb=a[cb>>0]|0;db=eb;ib=a[uc>>0]|0;jb=a[kb>>0]|0}if((db&Lc|0)!=(Jc|0))a[rb>>0]=(jb&255)>>>5<<2|bb&-32&255|(ib&255)>>>6;sb=hb;Bb=qb+Nc|0;Cb=rb+1|0;f=43;continue}else if((f|0)==43){f=0;switch(Mc<<24>>24){case 1:{vc=d[Bb>>0]|0;nb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=48;break}case 2:{vc=e[Bb>>1]|0;nb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=48;break}case 3:{nb=Bb+((d[l>>0]|0)>>>3&255)|0;pb=0;vb=Bb+((d[o>>0]|0)>>>3&255)|0;vc=Bb+((d[i>>0]|0)>>>3&255)|0;f=48;break}case 4:{vc=c[Bb>>2]|0;nb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&vc)>>>(d[l>>0]|0))|0;pb=vc;vb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&vc)>>>(d[o>>0]|0))|0;vc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&vc)>>>(d[i>>0]|0))|0;f=48;break}default:{mb=0;ob=0;tb=0;ub=0}}if((f|0)==48){mb=a[nb>>0]|0;ob=pb;tb=a[vc>>0]|0;ub=a[vb>>0]|0}if((ob&Lc|0)!=(Jc|0))a[Cb>>0]=(ub&255)>>>5<<2|mb&-32&255|(tb&255)>>>6;Db=sb;Mb=Bb+Nc|0;Nb=Cb+1|0;f=52;continue}else if((f|0)==52){f=0;switch(Mc<<24>>24){case 1:{wc=d[Mb>>0]|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=57;break}case 2:{wc=e[Mb>>1]|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=57;break}case 3:{yb=Mb+((d[l>>0]|0)>>>3&255)|0;Ab=0;Gb=Mb+((d[o>>0]|0)>>>3&255)|0;wc=Mb+((d[i>>0]|0)>>>3&255)|0;f=57;break}case 4:{wc=c[Mb>>2]|0;yb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&wc)>>>(d[l>>0]|0))|0;Ab=wc;Gb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&wc)>>>(d[o>>0]|0))|0;wc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&wc)>>>(d[i>>0]|0))|0;f=57;break}default:{xb=0;zb=0;Eb=0;Fb=0}}if((f|0)==57){xb=a[yb>>0]|0;zb=Ab;Eb=a[wc>>0]|0;Fb=a[Gb>>0]|0}if((zb&Lc|0)!=(Jc|0))a[Nb>>0]=(Fb&255)>>>5<<2|xb&-32&255|(Eb&255)>>>6;Ob=Db;Xb=Mb+Nc|0;Yb=Nb+1|0;f=61;continue}else if((f|0)==61){f=0;switch(Mc<<24>>24){case 1:{xc=d[Xb>>0]|0;Jb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=66;break}case 2:{xc=e[Xb>>1]|0;Jb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=66;break}case 3:{Jb=Xb+((d[l>>0]|0)>>>3&255)|0;Lb=0;Rb=Xb+((d[o>>0]|0)>>>3&255)|0;xc=Xb+((d[i>>0]|0)>>>3&255)|0;f=66;break}case 4:{xc=c[Xb>>2]|0;Jb=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&xc)>>>(d[l>>0]|0))|0;Lb=xc;Rb=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&xc)>>>(d[o>>0]|0))|0;xc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&xc)>>>(d[i>>0]|0))|0;f=66;break}default:{Ib=0;Kb=0;Pb=0;Qb=0}}if((f|0)==66){Ib=a[Jb>>0]|0;Kb=Lb;Pb=a[xc>>0]|0;Qb=a[Rb>>0]|0}if((Kb&Lc|0)!=(Jc|0))a[Yb>>0]=(Qb&255)>>>5<<2|Ib&-32&255|(Pb&255)>>>6;Zb=Ob;gc=Xb+Nc|0;hc=Yb+1|0;f=70;continue}else if((f|0)==70){f=0;switch(Mc<<24>>24){case 1:{yc=d[gc>>0]|0;Ub=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=75;break}case 2:{yc=e[gc>>1]|0;Ub=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=75;break}case 3:{Ub=gc+((d[l>>0]|0)>>>3&255)|0;Wb=0;ac=gc+((d[o>>0]|0)>>>3&255)|0;yc=gc+((d[i>>0]|0)>>>3&255)|0;f=75;break}case 4:{yc=c[gc>>2]|0;Ub=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&yc)>>>(d[l>>0]|0))|0;Wb=yc;ac=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&yc)>>>(d[o>>0]|0))|0;yc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&yc)>>>(d[i>>0]|0))|0;f=75;break}default:{Tb=0;Vb=0;_b=0;$b=0}}if((f|0)==75){Tb=a[Ub>>0]|0;Vb=Wb;_b=a[yc>>0]|0;$b=a[ac>>0]|0}if((Vb&Lc|0)!=(Jc|0))a[hc>>0]=($b&255)>>>5<<2|Tb&-32&255|(_b&255)>>>6;b=hc+1|0;f=gc+Nc|0;if((Zb|0)>1){w=Zb+-1|0;P=f;Q=b;f=7;continue}else break}if(!h){f=156;break}else{g=f+Oc|0;f=b+Kc|0;h=h+-1|0}}if((f|0)!=79)if((f|0)==156)return}else{if(b)return;s=(i+7|0)/8|0;r=i&255;j=Ic+28|0;k=Ic+12|0;l=Ic+32|0;m=Ic+29|0;n=Ic+16|0;o=Ic+33|0;p=Ic+30|0;q=Ic+20|0;i=Ic+34|0;b:while(1){switch(r&7){case 0:{t=s;I=g;J=f;f=82;break}case 7:{C=s;V=g;W=f;f=91;break}case 6:{ca=g;da=f;Ra=s;f=100;break}case 5:{la=g;ma=f;ab=s;f=109;break}case 4:{ua=g;va=f;lb=s;f=118;break}case 3:{Da=g;Ea=f;wb=s;f=127;break}case 2:{Ha=g;Ia=f;Hb=s;f=136;break}case 1:{Ja=g;Ka=f;Sb=s;f=145;break}default:{f=154;break b}}while(1)if((f|0)==82){f=0;switch(Mc<<24>>24){case 1:{zc=d[I>>0]|0;dc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}case 2:{zc=e[I>>1]|0;dc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}case 3:{dc=I+((d[l>>0]|0)>>>3&255)|0;fc=0;jc=I+((d[o>>0]|0)>>>3&255)|0;zc=I+((d[i>>0]|0)>>>3&255)|0;f=87;break}case 4:{zc=c[I>>2]|0;dc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&zc)>>>(d[l>>0]|0))|0;fc=zc;jc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&zc)>>>(d[o>>0]|0))|0;zc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&zc)>>>(d[i>>0]|0))|0;f=87;break}default:{bc=0;cc=0;ec=0;ic=0}}if((f|0)==87){bc=a[zc>>0]|0;cc=a[dc>>0]|0;ec=fc;ic=a[jc>>0]|0}if((ec&Lc|0)!=(Jc|0))a[J>>0]=a[Hc+((ic&255)>>>5<<2|cc&-32&255|(bc&255)>>>6)>>0]|0;C=t;V=I+Nc|0;W=J+1|0;f=91;continue}else if((f|0)==91){f=0;switch(Mc<<24>>24){case 1:{Ac=d[V>>0]|0;mc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}case 2:{Ac=e[V>>1]|0;mc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}case 3:{mc=V+((d[l>>0]|0)>>>3&255)|0;oc=0;qc=V+((d[o>>0]|0)>>>3&255)|0;Ac=V+((d[i>>0]|0)>>>3&255)|0;f=96;break}case 4:{Ac=c[V>>2]|0;mc=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ac)>>>(d[l>>0]|0))|0;oc=Ac;qc=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ac)>>>(d[o>>0]|0))|0;Ac=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ac)>>>(d[i>>0]|0))|0;f=96;break}default:{kc=0;lc=0;nc=0;pc=0}}if((f|0)==96){kc=a[Ac>>0]|0;lc=a[mc>>0]|0;nc=oc;pc=a[qc>>0]|0}if((nc&Lc|0)!=(Jc|0))a[W>>0]=a[Hc+((pc&255)>>>5<<2|lc&-32&255|(kc&255)>>>6)>>0]|0;ca=V+Nc|0;da=W+1|0;Ra=C;f=100;continue}else if((f|0)==100){f=0;switch(Mc<<24>>24){case 1:{Bc=d[ca>>0]|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}case 2:{Bc=e[ca>>1]|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}case 3:{F=ca+((d[l>>0]|0)>>>3&255)|0;H=0;L=ca+((d[o>>0]|0)>>>3&255)|0;Bc=ca+((d[i>>0]|0)>>>3&255)|0;f=105;break}case 4:{Bc=c[ca>>2]|0;F=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Bc)>>>(d[l>>0]|0))|0;H=Bc;L=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Bc)>>>(d[o>>0]|0))|0;Bc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Bc)>>>(d[i>>0]|0))|0;f=105;break}default:{D=0;E=0;G=0;K=0}}if((f|0)==105){D=a[Bc>>0]|0;E=a[F>>0]|0;G=H;K=a[L>>0]|0}if((G&Lc|0)!=(Jc|0))a[da>>0]=a[Hc+((K&255)>>>5<<2|E&-32&255|(D&255)>>>6)>>0]|0;la=ca+Nc|0;ma=da+1|0;ab=Ra;f=109;continue}else if((f|0)==109){f=0;switch(Mc<<24>>24){case 1:{Cc=d[la>>0]|0;S=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}case 2:{Cc=e[la>>1]|0;S=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}case 3:{S=la+((d[l>>0]|0)>>>3&255)|0;U=0;Y=la+((d[o>>0]|0)>>>3&255)|0;Cc=la+((d[i>>0]|0)>>>3&255)|0;f=114;break}case 4:{Cc=c[la>>2]|0;S=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Cc)>>>(d[l>>0]|0))|0;U=Cc;Y=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Cc)>>>(d[o>>0]|0))|0;Cc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Cc)>>>(d[i>>0]|0))|0;f=114;break}default:{M=0;R=0;T=0;X=0}}if((f|0)==114){M=a[Cc>>0]|0;R=a[S>>0]|0;T=U;X=a[Y>>0]|0}if((T&Lc|0)!=(Jc|0))a[ma>>0]=a[Hc+((X&255)>>>5<<2|R&-32&255|(M&255)>>>6)>>0]|0;ua=la+Nc|0;va=ma+1|0;lb=ab;f=118;continue}else if((f|0)==118){f=0;switch(Mc<<24>>24){case 1:{Dc=d[ua>>0]|0;$=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}case 2:{Dc=e[ua>>1]|0;$=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}case 3:{$=ua+((d[l>>0]|0)>>>3&255)|0;ba=0;fa=ua+((d[o>>0]|0)>>>3&255)|0;Dc=ua+((d[i>>0]|0)>>>3&255)|0;f=123;break}case 4:{Dc=c[ua>>2]|0;$=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Dc)>>>(d[l>>0]|0))|0;ba=Dc;fa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Dc)>>>(d[o>>0]|0))|0;Dc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Dc)>>>(d[i>>0]|0))|0;f=123;break}default:{Z=0;_=0;aa=0;ea=0}}if((f|0)==123){Z=a[Dc>>0]|0;_=a[$>>0]|0;aa=ba;ea=a[fa>>0]|0}if((aa&Lc|0)!=(Jc|0))a[va>>0]=a[Hc+((ea&255)>>>5<<2|_&-32&255|(Z&255)>>>6)>>0]|0;Da=ua+Nc|0;Ea=va+1|0;wb=lb;f=127;continue}else if((f|0)==127){f=0;switch(Mc<<24>>24){case 1:{Ec=d[Da>>0]|0;ia=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}case 2:{Ec=e[Da>>1]|0;ia=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}case 3:{ia=Da+((d[l>>0]|0)>>>3&255)|0;ka=0;oa=Da+((d[o>>0]|0)>>>3&255)|0;Ec=Da+((d[i>>0]|0)>>>3&255)|0;f=132;break}case 4:{Ec=c[Da>>2]|0;ia=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Ec)>>>(d[l>>0]|0))|0;ka=Ec;oa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Ec)>>>(d[o>>0]|0))|0;Ec=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Ec)>>>(d[i>>0]|0))|0;f=132;break}default:{ga=0;ha=0;ja=0;na=0}}if((f|0)==132){ga=a[Ec>>0]|0;ha=a[ia>>0]|0;ja=ka;na=a[oa>>0]|0}if((ja&Lc|0)!=(Jc|0))a[Ea>>0]=a[Hc+((na&255)>>>5<<2|ha&-32&255|(ga&255)>>>6)>>0]|0;Ha=Da+Nc|0;Ia=Ea+1|0;Hb=wb;f=136;continue}else if((f|0)==136){f=0;switch(Mc<<24>>24){case 1:{Fc=d[Ha>>0]|0;ra=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}case 2:{Fc=e[Ha>>1]|0;ra=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}case 3:{ra=Ha+((d[l>>0]|0)>>>3&255)|0;ta=0;xa=Ha+((d[o>>0]|0)>>>3&255)|0;Fc=Ha+((d[i>>0]|0)>>>3&255)|0;f=141;break}case 4:{Fc=c[Ha>>2]|0;ra=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Fc)>>>(d[l>>0]|0))|0;ta=Fc;xa=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Fc)>>>(d[o>>0]|0))|0;Fc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Fc)>>>(d[i>>0]|0))|0;f=141;break}default:{pa=0;qa=0;sa=0;wa=0}}if((f|0)==141){pa=a[Fc>>0]|0;qa=a[ra>>0]|0;sa=ta;wa=a[xa>>0]|0}if((sa&Lc|0)!=(Jc|0))a[Ia>>0]=a[Hc+((wa&255)>>>5<<2|qa&-32&255|(pa&255)>>>6)>>0]|0;Ja=Ha+Nc|0;Ka=Ia+1|0;Sb=Hb;f=145;continue}else if((f|0)==145){f=0;switch(Mc<<24>>24){case 1:{Gc=d[Ja>>0]|0;Aa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}case 2:{Gc=e[Ja>>1]|0;Aa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}case 3:{Aa=Ja+((d[l>>0]|0)>>>3&255)|0;Ca=0;Ga=Ja+((d[o>>0]|0)>>>3&255)|0;Gc=Ja+((d[i>>0]|0)>>>3&255)|0;f=150;break}case 4:{Gc=c[Ja>>2]|0;Aa=(c[22432+((d[j>>0]|0)<<2)>>2]|0)+((c[k>>2]&Gc)>>>(d[l>>0]|0))|0;Ca=Gc;Ga=(c[22432+((d[m>>0]|0)<<2)>>2]|0)+((c[n>>2]&Gc)>>>(d[o>>0]|0))|0;Gc=(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&Gc)>>>(d[i>>0]|0))|0;f=150;break}default:{ya=0;za=0;Ba=0;Fa=0}}if((f|0)==150){ya=a[Gc>>0]|0;za=a[Aa>>0]|0;Ba=Ca;Fa=a[Ga>>0]|0}if((Ba&Lc|0)!=(Jc|0))a[Ka>>0]=a[Hc+((Fa&255)>>>5<<2|za&-32&255|(ya&255)>>>6)>>0]|0;b=Ka+1|0;f=Ja+Nc|0;if((Sb|0)>1){t=Sb+-1|0;I=f;J=b;f=82;continue}else break}if(!h){f=156;break}else{g=f+Oc|0;f=b+Kc|0;h=h+-1|0}}if((f|0)!=154)if((f|0)==156)return}}function HY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;T=c[f+16>>2]|0;U=c[f+36>>2]|0;i=c[f+40>>2]|0;h=c[f+44>>2]|0;N=i+24|0;O=~c[N>>2];P=a[i+9>>0]|0;Q=a[h+9>>0]|0;R=c[f+56>>2]&O;if(!j)return;S=(g+7|0)/8|0;M=g&255;D=P&255;E=Q&255;F=h+28|0;G=h+32|0;H=h+29|0;I=h+33|0;J=h+30|0;K=h+34|0;L=h+31|0;s=h+35|0;t=i+28|0;u=i+12|0;v=i+32|0;w=i+29|0;x=i+16|0;y=i+33|0;z=i+30|0;A=i+20|0;B=i+34|0;C=i+31|0;r=i+35|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(M&7){case 0:{q=S;i=4;break}case 7:{q=S;i=16;break}case 6:{q=S;i=28;break}case 5:{q=S;i=40;break}case 4:{q=S;i=52;break}case 3:{q=S;i=64;break}case 2:{q=S;i=76;break}case 1:{q=S;i=88;break}default:{i=100;break a}}while(1)if((i|0)==4){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;b:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break b}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break b}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break b}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break b}default:break b}while(0);g=g+D|0;h=h+E|0;i=16;continue}else if((i|0)==16){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;c:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break c}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break c}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break c}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break c}default:break c}while(0);g=g+D|0;h=h+E|0;i=28;continue}else if((i|0)==28){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;d:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break d}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break d}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break d}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break d}default:break d}while(0);g=g+D|0;h=h+E|0;i=40;continue}else if((i|0)==40){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;e:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break e}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break e}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break e}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break e}default:break e}while(0);g=g+D|0;h=h+E|0;i=52;continue}else if((i|0)==52){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;f:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break f}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break f}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break f}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break f}default:break f}while(0);g=g+D|0;h=h+E|0;i=64;continue}else if((i|0)==64){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;g:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break g}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break g}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break g}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break g}default:break g}while(0);g=g+D|0;h=h+E|0;i=76;continue}else if((i|0)==76){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;h:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break h}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break h}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break h}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break h}default:break h}while(0);g=g+D|0;h=h+E|0;i=88;continue}else if((i|0)==88){switch(P<<24>>24){case 1:{i=d[g>>0]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[g>>1]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=0;l=a[g+((d[v>>0]|0)>>>3&255)>>0]|0;n=a[g+((d[y>>0]|0)>>>3&255)>>0]|0;p=a[g+((d[B>>0]|0)>>>3&255)>>0]|0;i=-1;break}case 4:{i=c[g>>2]|0;f=i;l=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&i)>>>(d[v>>0]|0))>>0]|0;n=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&i)>>>(d[y>>0]|0))>>0]|0;p=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[A>>2]&i)>>>(d[B>>0]|0))>>0]|0;i=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[N>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;l=0;n=0;p=0;i=0}}k=l&255;m=n&255;o=p&255;i=i&255;i:do if((f&O|0)!=(R|0))switch(Q<<24>>24){case 1:{a[h>>0]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break i}case 2:{b[h>>1]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break i}case 3:{a[h+((d[G>>0]|0)>>>3&255)>>0]=l;a[h+((d[I>>0]|0)>>>3&255)>>0]=n;a[h+((d[K>>0]|0)>>>3&255)>>0]=p;break i}case 4:{c[h>>2]=m>>>(d[H>>0]|0)<<(d[I>>0]|0)|k>>>(d[F>>0]|0)<<(d[G>>0]|0)|o>>>(d[J>>0]|0)<<(d[K>>0]|0)|i>>>(d[L>>0]|0)<<(d[s>>0]|0);break i}default:break i}while(0);h=h+E|0;g=g+D|0;if((q|0)>1){q=q+-1|0;i=4;continue}else break}if(!j){i=102;break}else{g=g+T|0;h=h+U|0}}if((i|0)!=100)if((i|0)==102)return}function IY(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;k=(c[a+16>>2]|0)/4|0;i=(c[a+36>>2]|0)/2|0;if(!e)return;j=(d+7|0)/8|0;h=d&255;g=c[a>>2]|0;d=c[a+20>>2]|0;a:while(1){e=e+-1|0;switch(h&7){case 0:{f=j;a=g;g=4;break}case 7:{f=j;a=g;g=5;break}case 6:{f=j;a=g;g=6;break}case 5:{f=j;a=g;g=7;break}case 4:{f=j;a=g;g=8;break}case 3:{f=j;a=g;g=9;break}case 2:{f=j;a=g;g=10;break}case 1:{f=j;a=g;g=11;break}default:{g=12;break a}}while(1)if((g|0)==4){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=5;continue}else if((g|0)==5){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=6;continue}else if((g|0)==6){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=7;continue}else if((g|0)==7){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=8;continue}else if((g|0)==8){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=9;continue}else if((g|0)==9){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=10;continue}else if((g|0)==10){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;g=11;continue}else if((g|0)==11){l=c[a>>2]|0;b[d>>1]=l>>>8&63488|l>>>5&2016|l>>>3&31;a=a+4|0;d=d+2|0;if((f|0)>1){f=f+-1|0;g=4;continue}else break}if(!e){g=14;break}else{g=a+(k<<2)|0;d=d+(i<<1)|0}}if((g|0)!=12)if((g|0)==14)return}function JY(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;k=(c[a+16>>2]|0)/4|0;i=(c[a+36>>2]|0)/2|0;if(!e)return;j=(d+7|0)/8|0;h=d&255;g=c[a>>2]|0;d=c[a+20>>2]|0;a:while(1){e=e+-1|0;switch(h&7){case 0:{f=j;a=g;g=4;break}case 7:{f=j;a=g;g=5;break}case 6:{f=j;a=g;g=6;break}case 5:{f=j;a=g;g=7;break}case 4:{f=j;a=g;g=8;break}case 3:{f=j;a=g;g=9;break}case 2:{f=j;a=g;g=10;break}case 1:{f=j;a=g;g=11;break}default:{g=12;break a}}while(1)if((g|0)==4){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=5;continue}else if((g|0)==5){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=6;continue}else if((g|0)==6){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=7;continue}else if((g|0)==7){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=8;continue}else if((g|0)==8){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=9;continue}else if((g|0)==9){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=10;continue}else if((g|0)==10){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;g=11;continue}else if((g|0)==11){l=c[a>>2]|0;b[d>>1]=l>>>9&31744|l>>>6&992|l>>>3&31;a=a+4|0;d=d+2|0;if((f|0)>1){f=f+-1|0;g=4;continue}else break}if(!e){g=14;break}else{g=a+(k<<2)|0;d=d+(i<<1)|0}}if((g|0)!=12)if((g|0)==14)return}function KY(a){a=a|0;OY(a,29032);return}function LY(a){a=a|0;OY(a,26984);return}function MY(a){a=a|0;OY(a,24936);return}function NY(a){a=a|0;OY(a,22888);return}function OY(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+24>>2]|0;f=c[a+28>>2]|0;l=c[a+16>>2]|0;j=(c[a+36>>2]|0)/4|0;if(!f)return;k=(e+7|0)/8|0;i=e&255;e=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(i&7){case 0:{g=k;h=4;break}case 7:{g=k;h=5;break}case 6:{g=k;h=6;break}case 5:{g=k;h=7;break}case 4:{g=k;h=8;break}case 3:{g=k;h=9;break}case 2:{g=k;h=10;break}case 1:{g=k;h=11;break}default:{h=12;break a}}while(1)if((h|0)==4){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=5;continue}else if((h|0)==5){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=6;continue}else if((h|0)==6){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=7;continue}else if((h|0)==7){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=8;continue}else if((h|0)==8){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=9;continue}else if((h|0)==9){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=10;continue}else if((h|0)==10){c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;a=a+4|0;h=11;continue}else if((h|0)==11){h=a+4|0;c[a>>2]=(c[b+(((d[e+1>>0]|0)<<1|1)<<2)>>2]|0)+(c[b+((d[e>>0]|0)<<1<<2)>>2]|0);e=e+2|0;if((g|0)>1){g=g+-1|0;a=h;h=4;continue}else break}if(!f){h=14;break}else{e=e+l|0;a=h+(j<<2)|0}}if((h|0)!=12)if((h|0)==14)return}function PY(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c[a+24>>2]|0;f=c[a+28>>2]|0;o=c[a+16>>2]>>2;m=c[a+36>>2]>>1;if(!f)return;n=(d+3|0)/4|0;l=d&255;d=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(l&3){case 0:{k=n;j=d;d=4;break}case 3:{k=n;j=d;d=10;break}case 2:{k=n;j=d;d=16;break}case 1:{k=n;j=d;d=22;break}default:{d=28;break a}}while(1)if((d|0)==4){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>9&31744;i=d>>>3&31;if((g|0)==31)d=h|d>>>6&992|i;else{p=e[a>>1]|0;p=(p<<16|p)&65043487;d=((O((d<<10&65011712|h|i)-p|0,g)|0)>>>5)+p&65043487;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=10;continue}else if((d|0)==10){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>9&31744;i=d>>>3&31;if((g|0)==31)d=h|d>>>6&992|i;else{p=e[a>>1]|0;p=(p<<16|p)&65043487;d=((O((d<<10&65011712|h|i)-p|0,g)|0)>>>5)+p&65043487;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=16;continue}else if((d|0)==16){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>9&31744;i=d>>>3&31;if((g|0)==31)d=h|d>>>6&992|i;else{p=e[a>>1]|0;p=(p<<16|p)&65043487;d=((O((d<<10&65011712|h|i)-p|0,g)|0)>>>5)+p&65043487;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=22;continue}else if((d|0)==22){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>3&31;i=d>>>9&31744;if((g|0)==31)d=i|d>>>6&992|h;else{p=e[a>>1]|0;p=(p<<16|p)&65043487;d=((O((d<<10&65011712|i|h)-p|0,g)|0)>>>5)+p&65043487;d=d>>>16|d}b[a>>1]=d}d=j+4|0;a=a+2|0;if((k|0)>1){k=k+-1|0;j=d;d=4;continue}else break}if(!f){d=30;break}else{d=d+(o<<2)|0;a=a+(m<<1)|0}}if((d|0)!=28)if((d|0)==30)return}function QY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;ba=c[f+16>>2]|0;da=c[f+36>>2]|0;h=c[f+40>>2]|0;i=c[f+44>>2]|0;X=a[h+9>>0]|0;Y=X&255;Z=a[i+9>>0]|0;_=Z&255;if(!j)return;$=(g+3|0)/4|0;Q=g&255;E=h+28|0;F=h+12|0;G=h+32|0;H=h+29|0;I=h+16|0;J=h+33|0;K=h+30|0;L=h+20|0;M=h+34|0;N=h+31|0;P=h+24|0;s=h+35|0;t=i+28|0;u=i+32|0;v=i+29|0;w=i+33|0;x=i+30|0;y=i+34|0;z=i+31|0;A=i+35|0;B=i+12|0;C=i+16|0;D=i+20|0;r=i+24|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(Q&3){case 0:{q=$;i=4;break}case 3:{q=$;i=21;break}case 2:{q=$;i=38;break}case 1:{q=$;i=55;break}default:{i=72;break a}}while(1)if((i|0)==4){i=0;switch(X<<24>>24){case 1:{R=d[g>>0]|0;i=9;break}case 2:{R=e[g>>1]|0;i=9;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=10;break}case 4:{R=c[g>>2]|0;i=9;break}default:{}}if((i|0)==9?(i=0,W=a[(c[22432+((d[N>>0]|0)<<2)>>2]|0)+((c[P>>2]&R)>>>(d[s>>0]|0))>>0]|0,W<<24>>24):0){m=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&R)>>>(d[G>>0]|0))>>0]|0;n=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&R)>>>(d[J>>0]|0))>>0]|0;o=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&R)>>>(d[M>>0]|0))>>0]|0;p=W&255;i=10}b:do if((i|0)==10){switch(Z<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}fa=i&255;ea=f&255;f=k&255;i=l&255;l=(((O(m-fa|0,p)|0)>>>0)/255|0)+fa|0;k=(((O(n-ea|0,p)|0)>>>0)/255|0)+ea|0;f=(((O(o-f|0,p)|0)>>>0)/255|0)+f|0;i=i+p-(((O(i,p)|0)>>>0)/255|0)|0;switch(Z<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break b}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break b}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[y>>0]|0)>>>3&255)>>0]=f;break b}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break b}default:break b}}while(0);g=g+Y|0;h=h+_|0;i=21;continue}else if((i|0)==21){i=0;switch(X<<24>>24){case 1:{S=d[g>>0]|0;i=26;break}case 2:{S=e[g>>1]|0;i=26;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=27;break}case 4:{S=c[g>>2]|0;i=26;break}default:{}}if((i|0)==26?(i=0,aa=a[(c[22432+((d[N>>0]|0)<<2)>>2]|0)+((c[P>>2]&S)>>>(d[s>>0]|0))>>0]|0,aa<<24>>24):0){m=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&S)>>>(d[G>>0]|0))>>0]|0;n=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&S)>>>(d[J>>0]|0))>>0]|0;o=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&S)>>>(d[M>>0]|0))>>0]|0;p=aa&255;i=27}c:do if((i|0)==27){switch(Z<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((O(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((O(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((O(o-f|0,p)|0)>>>0)/255|0)+f|0;i=i+p-(((O(i,p)|0)>>>0)/255|0)|0;switch(Z<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break c}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break c}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[y>>0]|0)>>>3&255)>>0]=f;break c}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break c}default:break c}}while(0);g=g+Y|0;h=h+_|0;i=38;continue}else if((i|0)==38){i=0;switch(X<<24>>24){case 1:{T=d[g>>0]|0;i=43;break}case 2:{T=e[g>>1]|0;i=43;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=44;break}case 4:{T=c[g>>2]|0;i=43;break}default:{}}if((i|0)==43?(i=0,ca=a[(c[22432+((d[N>>0]|0)<<2)>>2]|0)+((c[P>>2]&T)>>>(d[s>>0]|0))>>0]|0,ca<<24>>24):0){m=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&T)>>>(d[G>>0]|0))>>0]|0;n=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&T)>>>(d[J>>0]|0))>>0]|0;o=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&T)>>>(d[M>>0]|0))>>0]|0;p=ca&255;i=44}d:do if((i|0)==44){switch(Z<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((O(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((O(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((O(o-f|0,p)|0)>>>0)/255|0)+f|0;i=i+p-(((O(i,p)|0)>>>0)/255|0)|0;switch(Z<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break d}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break d}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[y>>0]|0)>>>3&255)>>0]=f;break d}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break d}default:break d}}while(0);g=g+Y|0;h=h+_|0;i=55;continue}else if((i|0)==55){i=0;switch(X<<24>>24){case 1:{U=d[g>>0]|0;i=60;break}case 2:{U=e[g>>1]|0;i=60;break}case 3:{m=d[g+((d[G>>0]|0)>>>3&255)>>0]|0;n=d[g+((d[J>>0]|0)>>>3&255)>>0]|0;o=d[g+((d[M>>0]|0)>>>3&255)>>0]|0;p=255;i=61;break}case 4:{U=c[g>>2]|0;i=60;break}default:{}}if((i|0)==60?(i=0,V=a[(c[22432+((d[N>>0]|0)<<2)>>2]|0)+((c[P>>2]&U)>>>(d[s>>0]|0))>>0]|0,V<<24>>24):0){m=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&U)>>>(d[G>>0]|0))>>0]|0;n=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&U)>>>(d[J>>0]|0))>>0]|0;o=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&U)>>>(d[M>>0]|0))>>0]|0;p=V&255;i=61}e:do if((i|0)==61){switch(Z<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[y>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[u>>0]|0))>>0]|0;f=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[C>>2]&l)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[D>>2]&l)>>>(d[y>>0]|0))>>0]|0;l=a[(c[22432+((d[z>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[A>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}ea=i&255;fa=f&255;f=k&255;i=l&255;l=(((O(m-ea|0,p)|0)>>>0)/255|0)+ea|0;k=(((O(n-fa|0,p)|0)>>>0)/255|0)+fa|0;f=(((O(o-f|0,p)|0)>>>0)/255|0)+f|0;i=i+p-(((O(i,p)|0)>>>0)/255|0)|0;switch(Z<<24>>24){case 1:{a[h>>0]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break e}case 2:{b[h>>1]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break e}case 3:{a[h+((d[u>>0]|0)>>>3&255)>>0]=l;a[h+((d[w>>0]|0)>>>3&255)>>0]=k;a[h+((d[y>>0]|0)>>>3&255)>>0]=f;break e}case 4:{c[h>>2]=k>>>(d[v>>0]|0)<<(d[w>>0]|0)|l>>>(d[t>>0]|0)<<(d[u>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0)|i>>>(d[z>>0]|0)<<(d[A>>0]|0);break e}default:break e}}while(0);g=g+Y|0;h=h+_|0;if((q|0)>1){q=q+-1|0;i=4;continue}else break}if(!j){i=74;break}else{g=g+ba|0;h=h+da|0}}if((i|0)!=72)if((i|0)==74)return}function RY(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c[a+24>>2]|0;f=c[a+28>>2]|0;o=c[a+16>>2]>>2;m=c[a+36>>2]>>1;if(!f)return;n=(d+3|0)/4|0;l=d&255;d=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){f=f+-1|0;switch(l&3){case 0:{k=n;j=d;d=4;break}case 3:{k=n;j=d;d=10;break}case 2:{k=n;j=d;d=16;break}case 1:{k=n;j=d;d=22;break}default:{d=28;break a}}while(1)if((d|0)==4){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>3&31;i=d>>>8&63488;if((g|0)==31)d=i|d>>>5&2016|h;else{p=e[a>>1]|0;p=(p<<16|p)&132184095;d=((O((d<<11&132120576|i|h)-p|0,g)|0)>>>5)+p&132184095;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=10;continue}else if((d|0)==10){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>8&63488;i=d>>>3&31;if((g|0)==31)d=h|d>>>5&2016|i;else{p=e[a>>1]|0;p=(p<<16|p)&132184095;d=((O((d<<11&132120576|h|i)-p|0,g)|0)>>>5)+p&132184095;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=16;continue}else if((d|0)==16){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>3&31;i=d>>>8&63488;if((g|0)==31)d=i|d>>>5&2016|h;else{p=e[a>>1]|0;p=(p<<16|p)&132184095;d=((O((d<<11&132120576|i|h)-p|0,g)|0)>>>5)+p&132184095;d=d>>>16|d}b[a>>1]=d}j=j+4|0;a=a+2|0;d=22;continue}else if((d|0)==22){d=c[j>>2]|0;g=d>>>27;if(g|0){h=d>>>8&63488;i=d>>>3&31;if((g|0)==31)d=h|d>>>5&2016|i;else{p=e[a>>1]|0;p=(p<<16|p)&132184095;d=((O((d<<11&132120576|h|i)-p|0,g)|0)>>>5)+p&132184095;d=d>>>16|d}b[a>>1]=d}d=j+4|0;a=a+2|0;if((k|0)>1){k=k+-1|0;j=d;d=4;continue}else break}if(!f){d=30;break}else{d=d+(o<<2)|0;a=a+(m<<1)|0}}if((d|0)!=28)if((d|0)==30)return}function SY(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a[d+63>>0]|0;if(f<<24>>24==-128){$Y(d,-1058);return}g=c[d+24>>2]|0;n=c[d+28>>2]|0;i=c[d>>2]|0;p=c[d+16>>2]>>1;j=c[d+20>>2]|0;o=c[d+36>>2]>>1;m=(f&255)>>>3;h=n+-1|0;if(!n)return;n=(g+3|0)/4|0;l=g&255;if(!(l&3)){d=i;f=j;while(1){g=n;while(1){l=e[d>>1]|0;j=e[f>>1]|0;j=(j<<16|j)&65043487;j=((O(((l<<16|l)&65043487)-j|0,m)|0)>>>5)+j&65043487;l=f+2|0;b[f>>1]=j>>>16|j;j=e[d+2>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&65043487;k=((O(((j<<16|j)&65043487)-k|0,m)|0)>>>5)+k&65043487;j=f+4|0;b[l>>1]=k>>>16|k;l=e[d+4>>1]|0;k=e[j>>1]|0;k=(k<<16|k)&65043487;k=((O(((l<<16|l)&65043487)-k|0,m)|0)>>>5)+k&65043487;l=f+6|0;b[j>>1]=k>>>16|k;j=d;d=d+8|0;j=e[j+6>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&65043487;k=((O(((j<<16|j)&65043487)-k|0,m)|0)>>>5)+k&65043487;f=f+8|0;b[l>>1]=k>>>16|k;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{d=d+(p<<1)|0;f=f+(o<<1)|0;h=h+-1|0}}return}else d=j;a:while(1){switch(l&3){case 1:{j=n;g=d;k=12;break}case 3:{f=n;k=10;break}case 2:{f=n;k=11;break}default:{k=13;break a}}while(1)if((k|0)==10){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&65043487;j=((O(((g<<16|g)&65043487)-j|0,m)|0)>>>5)+j&65043487;b[d>>1]=j>>>16|j;i=i+2|0;d=d+2|0;k=11;continue}else if((k|0)==11){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&65043487;j=((O(((g<<16|g)&65043487)-j|0,m)|0)>>>5)+j&65043487;b[d>>1]=j>>>16|j;j=f;i=i+2|0;g=d+2|0;k=12;continue}else if((k|0)==12){d=i+2|0;f=e[i>>1]|0;k=e[g>>1]|0;k=(k<<16|k)&65043487;k=((O(((f<<16|f)&65043487)-k|0,m)|0)>>>5)+k&65043487;f=g+2|0;b[g>>1]=k>>>16|k;if((j|0)<=1)break;k=e[d>>1]|0;d=e[f>>1]|0;d=(d<<16|d)&65043487;d=((O(((k<<16|k)&65043487)-d|0,m)|0)>>>5)+d&65043487;b[f>>1]=d>>>16|d;f=j+-1|0;i=i+4|0;d=g+4|0;k=10;continue}if(!h){k=15;break}else{i=d+(p<<1)|0;d=f+(o<<1)|0;h=h+-1|0}}if((k|0)!=13)if((k|0)==15)return}function TY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;g=c[f+24>>2]|0;j=c[f+28>>2]|0;T=c[f+16>>2]|0;U=c[f+36>>2]|0;i=c[f+40>>2]|0;h=c[f+44>>2]|0;M=a[i+9>>0]|0;N=M&255;P=a[h+9>>0]|0;Q=P&255;S=a[f+63>>0]|0;R=S&255;if(S<<24>>24==0|(j|0)==0)return;S=(g+3|0)/4|0;L=g&255;A=h+28|0;B=h+32|0;C=h+29|0;D=h+33|0;E=h+30|0;F=h+34|0;G=h+31|0;H=h+35|0;I=h+12|0;J=h+16|0;K=h+20|0;r=h+24|0;s=i+28|0;t=i+12|0;u=i+32|0;v=i+29|0;w=i+16|0;x=i+33|0;y=i+30|0;z=i+20|0;q=i+34|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){j=j+-1|0;switch(L&3){case 0:{p=S;l=4;break}case 3:{p=S;l=21;break}case 2:{p=S;l=38;break}case 1:{p=S;l=55;break}default:{l=72;break a}}while(1)if((l|0)==4){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=9;break}case 2:{k=e[g>>1]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=9;break}case 3:{i=g+((d[u>>0]|0)>>>3&255)|0;f=g+((d[x>>0]|0)>>>3&255)|0;k=g+((d[q>>0]|0)>>>3&255)|0;l=9;break}case 4:{k=c[g>>2]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=9;break}default:{i=0;f=0;k=0}}if((l|0)==9){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[D>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[F>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}W=i&255;V=f&255;i=k&255;f=l&255;l=(((O(m-W|0,R)|0)>>>0)/255|0)+W|0;k=(((O(n-V|0,R)|0)>>>0)/255|0)+V|0;i=(((O(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((O(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 2:{b[h>>1]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 3:{a[h+((d[B>>0]|0)>>>3&255)>>0]=l;a[h+((d[D>>0]|0)>>>3&255)>>0]=k;a[h+((d[F>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}default:{}}g=g+N|0;h=h+Q|0;l=21;continue}else if((l|0)==21){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=26;break}case 2:{k=e[g>>1]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=26;break}case 3:{i=g+((d[u>>0]|0)>>>3&255)|0;f=g+((d[x>>0]|0)>>>3&255)|0;k=g+((d[q>>0]|0)>>>3&255)|0;l=26;break}case 4:{k=c[g>>2]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=26;break}default:{i=0;f=0;k=0}}if((l|0)==26){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[D>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[F>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((O(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((O(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((O(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((O(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 2:{b[h>>1]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 3:{a[h+((d[B>>0]|0)>>>3&255)>>0]=l;a[h+((d[D>>0]|0)>>>3&255)>>0]=k;a[h+((d[F>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}default:{}}g=g+N|0;h=h+Q|0;l=38;continue}else if((l|0)==38){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=43;break}case 2:{k=e[g>>1]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=43;break}case 3:{i=g+((d[u>>0]|0)>>>3&255)|0;f=g+((d[x>>0]|0)>>>3&255)|0;k=g+((d[q>>0]|0)>>>3&255)|0;l=43;break}case 4:{k=c[g>>2]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=43;break}default:{i=0;f=0;k=0}}if((l|0)==43){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[D>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[F>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((O(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((O(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((O(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((O(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 2:{b[h>>1]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 3:{a[h+((d[B>>0]|0)>>>3&255)>>0]=l;a[h+((d[D>>0]|0)>>>3&255)>>0]=k;a[h+((d[F>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}default:{}}g=g+N|0;h=h+Q|0;l=55;continue}else if((l|0)==55){l=0;switch(M<<24>>24){case 1:{k=d[g>>0]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=60;break}case 2:{k=e[g>>1]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=60;break}case 3:{i=g+((d[u>>0]|0)>>>3&255)|0;f=g+((d[x>>0]|0)>>>3&255)|0;k=g+((d[q>>0]|0)>>>3&255)|0;l=60;break}case 4:{k=c[g>>2]|0;i=(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&k)>>>(d[u>>0]|0))|0;f=(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&k)>>>(d[x>>0]|0))|0;k=(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[q>>0]|0))|0;l=60;break}default:{i=0;f=0;k=0}}if((l|0)==60){i=a[i>>0]|0;f=a[f>>0]|0;k=a[k>>0]|0}m=i&255;n=f&255;o=k&255;switch(P<<24>>24){case 1:{l=d[h>>0]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}case 3:{i=a[h+((d[B>>0]|0)>>>3&255)>>0]|0;f=a[h+((d[D>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[F>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;i=a[(c[22432+((d[A>>0]|0)<<2)>>2]|0)+((c[I>>2]&l)>>>(d[B>>0]|0))>>0]|0;f=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[D>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[r>>2]&l)>>>(d[H>>0]|0))>>0]|0;break}default:{i=0;f=0;k=0;l=0}}V=i&255;W=f&255;i=k&255;f=l&255;l=(((O(m-V|0,R)|0)>>>0)/255|0)+V|0;k=(((O(n-W|0,R)|0)>>>0)/255|0)+W|0;i=(((O(o-i|0,R)|0)>>>0)/255|0)+i|0;f=f+R-(((O(f,R)|0)>>>0)/255|0)|0;switch(P<<24>>24){case 1:{a[h>>0]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 2:{b[h>>1]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}case 3:{a[h+((d[B>>0]|0)>>>3&255)>>0]=l;a[h+((d[D>>0]|0)>>>3&255)>>0]=k;a[h+((d[F>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[h>>2]=k>>>(d[C>>0]|0)<<(d[D>>0]|0)|l>>>(d[A>>0]|0)<<(d[B>>0]|0)|i>>>(d[E>>0]|0)<<(d[F>>0]|0)|f>>>(d[G>>0]|0)<<(d[H>>0]|0);break}default:{}}g=g+N|0;h=h+Q|0;if((p|0)>1){p=p+-1|0;l=4;continue}else break}if(!j){l=74;break}else{g=g+T|0;h=h+U|0}}if((l|0)!=72)if((l|0)==74)return}function UY(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a[d+63>>0]|0;if(f<<24>>24==-128){$Y(d,-2082);return}g=c[d+24>>2]|0;n=c[d+28>>2]|0;i=c[d>>2]|0;p=c[d+16>>2]>>1;j=c[d+20>>2]|0;o=c[d+36>>2]>>1;m=(f&255)>>>3;h=n+-1|0;if(!n)return;n=(g+3|0)/4|0;l=g&255;if(!(l&3)){d=i;f=j;while(1){g=n;while(1){l=e[d>>1]|0;j=e[f>>1]|0;j=(j<<16|j)&132184095;j=((O(((l<<16|l)&132184095)-j|0,m)|0)>>>5)+j&132184095;l=f+2|0;b[f>>1]=j>>>16|j;j=e[d+2>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&132184095;k=((O(((j<<16|j)&132184095)-k|0,m)|0)>>>5)+k&132184095;j=f+4|0;b[l>>1]=k>>>16|k;l=e[d+4>>1]|0;k=e[j>>1]|0;k=(k<<16|k)&132184095;k=((O(((l<<16|l)&132184095)-k|0,m)|0)>>>5)+k&132184095;l=f+6|0;b[j>>1]=k>>>16|k;j=d;d=d+8|0;j=e[j+6>>1]|0;k=e[l>>1]|0;k=(k<<16|k)&132184095;k=((O(((j<<16|j)&132184095)-k|0,m)|0)>>>5)+k&132184095;f=f+8|0;b[l>>1]=k>>>16|k;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{d=d+(p<<1)|0;f=f+(o<<1)|0;h=h+-1|0}}return}else d=j;a:while(1){switch(l&3){case 1:{j=n;g=d;k=12;break}case 3:{f=n;k=10;break}case 2:{f=n;k=11;break}default:{k=13;break a}}while(1)if((k|0)==10){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&132184095;j=((O(((g<<16|g)&132184095)-j|0,m)|0)>>>5)+j&132184095;b[d>>1]=j>>>16|j;i=i+2|0;d=d+2|0;k=11;continue}else if((k|0)==11){g=e[i>>1]|0;j=e[d>>1]|0;j=(j<<16|j)&132184095;j=((O(((g<<16|g)&132184095)-j|0,m)|0)>>>5)+j&132184095;b[d>>1]=j>>>16|j;j=f;i=i+2|0;g=d+2|0;k=12;continue}else if((k|0)==12){d=i+2|0;f=e[i>>1]|0;k=e[g>>1]|0;k=(k<<16|k)&132184095;k=((O(((f<<16|f)&132184095)-k|0,m)|0)>>>5)+k&132184095;f=g+2|0;b[g>>1]=k>>>16|k;if((j|0)<=1)break;k=e[d>>1]|0;d=e[f>>1]|0;d=(d<<16|d)&132184095;d=((O(((k<<16|k)&132184095)-d|0,m)|0)>>>5)+d&132184095;b[f>>1]=d>>>16|d;f=j+-1|0;i=i+4|0;d=g+4|0;k=10;continue}if(!h){k=15;break}else{i=d+(p<<1)|0;d=f+(o<<1)|0;h=h+-1|0}}if((k|0)!=13)if((k|0)==15)return}function VY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;G=c[b+16>>2]|0;H=c[b+36>>2]|0;A=c[b+48>>2]|0;g=c[b+40>>2]|0;B=a[g+9>>0]|0;C=B&255;D=c[b+56>>2]|0;E=d[b+63>>0]|0;if(!h)return;F=(f+7|0)/8|0;z=f&255;p=(c[b+44>>2]|0)+4|0;q=(A|0)==0;r=g+28|0;s=g+12|0;t=g+32|0;u=g+29|0;v=g+16|0;w=g+33|0;x=g+30|0;y=g+20|0;o=g+34|0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(z&7){case 0:{m=F;l=f;n=4;break}case 7:{m=F;l=f;n=16;break}case 6:{m=F;l=f;n=28;break}case 5:{m=F;l=f;n=40;break}case 4:{m=F;l=f;n=52;break}case 3:{m=F;l=f;n=64;break}case 2:{m=F;l=f;n=76;break}case 1:{m=F;l=f;n=88;break}default:{n=100;break a}}while(1)if((n|0)==4){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=9;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=9;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==9){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){I=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;n=d[I+(f<<2)>>0]|0;j=d[I+(f<<2)+1>>0]|0;f=d[I+(f<<2)+2>>0]|0;f=((((O((i&255)-j|0,E)|0)>>>0)/255|0)+j|0)>>>3&28|(((O((b&255)-n|0,E)|0)>>>0)/255|0)+n&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=16;continue}else if((n|0)==16){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=21;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=21;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==21){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=28;continue}else if((n|0)==28){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=33;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=33;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==33){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=40;continue}else if((n|0)==40){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=45;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=45;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==45){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=52;continue}else if((n|0)==52){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=57;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=57;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==57){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=64;continue}else if((n|0)==64){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=69;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=69;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==69){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=76;continue}else if((n|0)==76){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=81;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=81;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==81){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}l=l+C|0;g=g+1|0;n=88;continue}else if((n|0)==88){n=0;switch(B<<24>>24){case 1:{b=d[l>>0]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}case 2:{b=e[l>>1]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}case 3:{i=l+((d[w>>0]|0)>>>3&255)|0;j=l+((d[t>>0]|0)>>>3&255)|0;f=0;b=l+((d[o>>0]|0)>>>3&255)|0;n=93;break}case 4:{b=c[l>>2]|0;i=(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[v>>2]&b)>>>(d[w>>0]|0))|0;j=(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[s>>2]&b)>>>(d[t>>0]|0))|0;f=b;b=(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[y>>2]&b)>>>(d[o>>0]|0))|0;n=93;break}default:{k=0;i=0;b=0;f=0}}if((n|0)==93){k=a[b>>0]|0;i=a[i>>0]|0;b=a[j>>0]|0}if((f|0)!=(D|0)){j=c[(c[p>>2]|0)+4>>2]|0;f=d[g>>0]|0;I=d[j+(f<<2)>>0]|0;n=d[j+(f<<2)+1>>0]|0;f=d[j+(f<<2)+2>>0]|0;f=((((O((i&255)-n|0,E)|0)>>>0)/255|0)+n|0)>>>3&28|(((O((b&255)-I|0,E)|0)>>>0)/255|0)+I&224|((((O((k&255)-f|0,E)|0)>>>0)/255|0)+f|0)>>>6&3;if(q)f=f&255;else f=a[A+f>>0]|0;a[g>>0]=f}g=g+1|0;f=l+C|0;if((m|0)>1){m=m+-1|0;l=f;n=4;continue}else break}if(!h){n=102;break}else{f=f+G|0;g=g+H|0}}if((n|0)!=100)if((n|0)==102)return}function WY(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=c[f+24>>2]|0;k=c[f+28>>2]|0;V=c[f+16>>2]|0;W=c[f+36>>2]|0;i=c[f+40>>2]|0;j=c[f+44>>2]|0;N=c[f+56>>2]|0;P=a[i+9>>0]|0;Q=P&255;R=a[j+9>>0]|0;S=R&255;h=a[f+63>>0]|0;T=h&255;if(!k)return;U=(g+3|0)/4|0;M=g&255;D=h<<24>>24==0;E=i+28|0;F=i+12|0;G=i+32|0;H=i+29|0;I=i+16|0;J=i+33|0;K=i+30|0;L=i+20|0;r=i+34|0;s=j+28|0;t=j+32|0;u=j+29|0;v=j+33|0;w=j+30|0;x=j+34|0;y=j+31|0;z=j+35|0;A=j+12|0;B=j+16|0;C=j+20|0;q=j+24|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){k=k+-1|0;switch(M&3){case 0:{p=U;o=h;h=4;break}case 3:{p=U;o=h;h=21;break}case 2:{p=U;o=h;h=38;break}case 1:{p=U;o=h;h=55;break}default:{h=72;break a}}while(1)if((h|0)==4){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}b:do if(!(D|(h|0)==(N|0))){l=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;n=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;m=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[v>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}Y=h&255;X=i&255;h=j&255;i=f&255;f=(((O(l-Y|0,T)|0)>>>0)/255|0)+Y|0;j=(((O(n-X|0,T)|0)>>>0)/255|0)+X|0;h=(((O(m-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((O(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break b}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break b}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=f;a[o+((d[v>>0]|0)>>>3&255)>>0]=j;a[o+((d[x>>0]|0)>>>3&255)>>0]=h;break b}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break b}default:break b}}while(0);g=g+Q|0;o=o+S|0;h=21;continue}else if((h|0)==21){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}c:do if(!(D|(h|0)==(N|0))){l=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[v>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((O(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((O(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((O(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((O(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break c}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break c}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=f;a[o+((d[v>>0]|0)>>>3&255)>>0]=j;a[o+((d[x>>0]|0)>>>3&255)>>0]=h;break c}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break c}default:break c}}while(0);g=g+Q|0;o=o+S|0;h=38;continue}else if((h|0)==38){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}d:do if(!(D|(h|0)==(N|0))){l=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[v>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((O(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((O(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((O(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((O(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break d}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break d}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=f;a[o+((d[v>>0]|0)>>>3&255)>>0]=j;a[o+((d[x>>0]|0)>>>3&255)>>0]=h;break d}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break d}default:break d}}while(0);g=g+Q|0;o=o+S|0;h=55;continue}else if((h|0)==55){switch(P<<24>>24){case 1:{h=d[g>>0]|0;break}case 2:{h=e[g>>1]|0;break}case 3:{h=(d[g+1>>0]|0)<<8|(d[g>>0]|0)|(d[g+2>>0]|0)<<16;break}case 4:{h=c[g>>2]|0;break}default:h=0}e:do if(!(D|(h|0)==(N|0))){l=d[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[F>>2]&h)>>>(d[G>>0]|0))>>0]|0;m=d[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[I>>2]&h)>>>(d[J>>0]|0))>>0]|0;n=d[(c[22432+((d[K>>0]|0)<<2)>>2]|0)+((c[L>>2]&h)>>>(d[r>>0]|0))>>0]|0;switch(R<<24>>24){case 1:{f=d[o>>0]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 2:{f=e[o>>1]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[t>>0]|0)>>>3&255)>>0]|0;i=a[o+((d[v>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[x>>0]|0)>>>3&255)>>0]|0;f=-1;break}case 4:{f=c[o>>2]|0;h=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[A>>2]&f)>>>(d[t>>0]|0))>>0]|0;i=a[(c[22432+((d[u>>0]|0)<<2)>>2]|0)+((c[B>>2]&f)>>>(d[v>>0]|0))>>0]|0;j=a[(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[C>>2]&f)>>>(d[x>>0]|0))>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[q>>2]&f)>>>(d[z>>0]|0))>>0]|0;break}default:{h=0;i=0;j=0;f=0}}X=h&255;Y=i&255;h=j&255;i=f&255;f=(((O(l-X|0,T)|0)>>>0)/255|0)+X|0;j=(((O(m-Y|0,T)|0)>>>0)/255|0)+Y|0;h=(((O(n-h|0,T)|0)>>>0)/255|0)+h|0;i=i+T-(((O(i,T)|0)>>>0)/255|0)|0;switch(R<<24>>24){case 1:{a[o>>0]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break e}case 2:{b[o>>1]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break e}case 3:{a[o+((d[t>>0]|0)>>>3&255)>>0]=f;a[o+((d[v>>0]|0)>>>3&255)>>0]=j;a[o+((d[x>>0]|0)>>>3&255)>>0]=h;break e}case 4:{c[o>>2]=j>>>(d[u>>0]|0)<<(d[v>>0]|0)|f>>>(d[s>>0]|0)<<(d[t>>0]|0)|h>>>(d[w>>0]|0)<<(d[x>>0]|0)|i>>>(d[y>>0]|0)<<(d[z>>0]|0);break e}default:break e}}while(0);g=g+Q|0;h=o+S|0;if((p|0)>1){p=p+-1|0;o=h;h=4;continue}else break}if(!k){h=74;break}else{g=g+V|0;h=h+W|0}}if((h|0)!=72)if((h|0)==74)return}function XY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;F=c[b+16>>2]|0;G=c[b+36>>2]|0;B=c[b+48>>2]|0;g=c[b+40>>2]|0;C=a[g+9>>0]|0;D=C&255;if(!h)return;E=(f+3|0)/4|0;A=f&255;n=(c[b+44>>2]|0)+4|0;o=(B|0)==0;p=g+28|0;q=g+12|0;r=g+32|0;s=g+29|0;t=g+16|0;u=g+33|0;v=g+30|0;w=g+20|0;x=g+34|0;y=g+31|0;z=g+24|0;m=g+35|0;f=c[b>>2]|0;j=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(A&3){case 0:{l=E;k=f;f=4;break}case 3:{l=E;k=f;f=13;break}case 2:{l=E;k=f;f=22;break}case 1:{l=E;k=f;f=31;break}default:{f=40;break a}}while(1)if((f|0)==4){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}H=f&255;K=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;I=d[K+(f<<2)>>0]|0;J=d[K+(f<<2)+1>>0]|0;f=d[K+(f<<2)+2>>0]|0;f=((((O((b&255)-J|0,H)|0)>>>0)/255|0)+J|0)>>>3&28|(((O((i&255)-I|0,H)|0)>>>0)/255|0)+I&224|((((O((g&255)-f|0,H)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=13;continue}else if((f|0)==13){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((O((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((O((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((O((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=22;continue}else if((f|0)==22){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((O((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((O((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((O((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;k=k+D|0;j=j+1|0;f=31;continue}else if((f|0)==31){switch(C<<24>>24){case 1:{i=d[k>>0]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 2:{i=e[k>>1]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}case 3:{f=-1;g=a[k+((d[x>>0]|0)>>>3&255)>>0]|0;b=a[k+((d[u>>0]|0)>>>3&255)>>0]|0;i=a[k+((d[r>>0]|0)>>>3&255)>>0]|0;break}case 4:{i=c[k>>2]|0;f=a[(c[22432+((d[y>>0]|0)<<2)>>2]|0)+((c[z>>2]&i)>>>(d[m>>0]|0))>>0]|0;g=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[w>>2]&i)>>>(d[x>>0]|0))>>0]|0;b=a[(c[22432+((d[s>>0]|0)<<2)>>2]|0)+((c[t>>2]&i)>>>(d[u>>0]|0))>>0]|0;i=a[(c[22432+((d[p>>0]|0)<<2)>>2]|0)+((c[q>>2]&i)>>>(d[r>>0]|0))>>0]|0;break}default:{f=0;g=0;b=0;i=0}}K=f&255;H=c[(c[n>>2]|0)+4>>2]|0;f=d[j>>0]|0;J=d[H+(f<<2)>>0]|0;I=d[H+(f<<2)+1>>0]|0;f=d[H+(f<<2)+2>>0]|0;f=((((O((b&255)-I|0,K)|0)>>>0)/255|0)+I|0)>>>3&28|(((O((i&255)-J|0,K)|0)>>>0)/255|0)+J&224|((((O((g&255)-f|0,K)|0)>>>0)/255|0)+f|0)>>>6&3;if(o)f=f&255;else f=a[B+f>>0]|0;a[j>>0]=f;g=j+1|0;f=k+D|0;if((l|0)>1){l=l+-1|0;k=f;j=g;f=4;continue}else break}if(!h){f=42;break}else{f=f+F|0;j=g+G|0}}if((f|0)!=40)if((f|0)==42)return}function YY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[a+24>>2]|0;d=c[a+28>>2]|0;l=c[a+16>>2]>>2;j=c[a+36>>2]>>2;if(!d)return;k=(b+3|0)/4|0;i=b&255;b=c[a>>2]|0;a=c[a+20>>2]|0;a:while(1){d=d+-1|0;switch(i&3){case 0:{g=k;f=b;h=4;break}case 3:{g=k;f=b;h=8;break}case 2:{g=k;f=b;h=12;break}case 1:{g=k;f=b;e=a;h=16;break}default:{h=20;break a}}while(1)if((h|0)==4){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=6;break}default:{m=c[a>>2]|0;h=m&16711935;n=m&65280;b=((O((b&65280)-n|0,e)|0)>>>8)+n&65280|((O(m>>>24,e^255)|0)>>>8)+e<<24|((O((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=6}}if((h|0)==6)c[a>>2]=b;f=f+4|0;a=a+4|0;h=8;continue}else if((h|0)==8){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=10;break}default:{n=c[a>>2]|0;h=n&16711935;m=n&65280;b=((O((b&65280)-m|0,e)|0)>>>8)+m&65280|((O(n>>>24,e^255)|0)>>>8)+e<<24|((O((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=10}}if((h|0)==10)c[a>>2]=b;f=f+4|0;a=a+4|0;h=12;continue}else if((h|0)==12){h=0;b=c[f>>2]|0;e=b>>>24;switch((e&255)<<24>>24){case 0:break;case -1:{h=14;break}default:{n=c[a>>2]|0;h=n&16711935;m=n&65280;b=((O((b&65280)-m|0,e)|0)>>>8)+m&65280|((O(n>>>24,e^255)|0)>>>8)+e<<24|((O((b&16711935)-h|0,e)|0)>>>8)+h&16711935;h=14}}if((h|0)==14)c[a>>2]=b;f=f+4|0;e=a+4|0;h=16;continue}else if((h|0)==16){h=0;b=c[f>>2]|0;a=b>>>24;switch((a&255)<<24>>24){case 0:break;case -1:{h=18;break}default:{n=c[e>>2]|0;h=n&16711935;m=n&65280;b=((O((b&65280)-m|0,a)|0)>>>8)+m&65280|((O(n>>>24,a^255)|0)>>>8)+a<<24|((O((b&16711935)-h|0,a)|0)>>>8)+h&16711935;h=18}}if((h|0)==18)c[e>>2]=b;b=f+4|0;a=e+4|0;if((g|0)>1){g=g+-1|0;f=b;h=4;continue}else break}if(!d){h=22;break}else{b=b+(l<<2)|0;a=a+(j<<2)|0}}if((h|0)!=20)if((h|0)==22)return}function ZY(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=c[b+24>>2]|0;h=c[b+28>>2]|0;E=c[b+16>>2]|0;F=c[b+36>>2]|0;z=c[b+48>>2]|0;g=c[b+40>>2]|0;A=a[g+9>>0]|0;B=A&255;C=d[b+63>>0]|0;if(!h)return;D=(f+3|0)/4|0;y=f&255;o=(c[b+44>>2]|0)+4|0;p=(z|0)==0;q=g+28|0;r=g+12|0;s=g+32|0;t=g+29|0;u=g+16|0;v=g+33|0;w=g+30|0;x=g+20|0;n=g+34|0;f=c[b>>2]|0;g=c[b+20>>2]|0;a:while(1){h=h+-1|0;switch(y&3){case 0:{l=D;k=f;m=4;break}case 3:{l=D;k=f;m=14;break}case 2:{l=D;k=f;m=24;break}case 1:{l=D;k=f;m=34;break}default:{m=44;break a}}while(1)if((m|0)==4){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}case 2:{f=e[k>>1]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=9;break}case 4:{f=c[k>>2]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=9;break}default:{i=0;b=0;f=0}}if((m|0)==9){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}H=c[(c[o>>2]|0)+4>>2]|0;m=d[g>>0]|0;j=d[H+(m<<2)>>0]|0;G=d[H+(m<<2)+1>>0]|0;m=d[H+(m<<2)+2>>0]|0;f=((((O((b&255)-G|0,C)|0)>>>0)/255|0)+G|0)>>>3&28|(((O((f&255)-j|0,C)|0)>>>0)/255|0)+j&224|((((O((i&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=14;continue}else if((m|0)==14){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}case 2:{f=e[k>>1]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=19;break}case 4:{f=c[k>>2]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=19;break}default:{i=0;b=0;f=0}}if((m|0)==19){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((O((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((O((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((O((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=24;continue}else if((m|0)==24){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}case 2:{f=e[k>>1]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=29;break}case 4:{f=c[k>>2]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=29;break}default:{i=0;b=0;f=0}}if((m|0)==29){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((O((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((O((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((O((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;k=k+B|0;g=g+1|0;m=34;continue}else if((m|0)==34){m=0;switch(A<<24>>24){case 1:{f=d[k>>0]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}case 2:{f=e[k>>1]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}case 3:{b=k+((d[v>>0]|0)>>>3&255)|0;j=k+((d[s>>0]|0)>>>3&255)|0;f=k+((d[n>>0]|0)>>>3&255)|0;m=39;break}case 4:{f=c[k>>2]|0;b=(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[u>>2]&f)>>>(d[v>>0]|0))|0;j=(c[22432+((d[q>>0]|0)<<2)>>2]|0)+((c[r>>2]&f)>>>(d[s>>0]|0))|0;f=(c[22432+((d[w>>0]|0)<<2)>>2]|0)+((c[x>>2]&f)>>>(d[n>>0]|0))|0;m=39;break}default:{i=0;b=0;f=0}}if((m|0)==39){i=a[f>>0]|0;b=a[b>>0]|0;f=a[j>>0]|0}j=c[(c[o>>2]|0)+4>>2]|0;H=d[g>>0]|0;G=d[j+(H<<2)>>0]|0;m=d[j+(H<<2)+1>>0]|0;H=d[j+(H<<2)+2>>0]|0;f=((((O((b&255)-m|0,C)|0)>>>0)/255|0)+m|0)>>>3&28|(((O((f&255)-G|0,C)|0)>>>0)/255|0)+G&224|((((O((i&255)-H|0,C)|0)>>>0)/255|0)+H|0)>>>6&3;if(p)f=f&255;else f=a[z+f>>0]|0;a[g>>0]=f;g=g+1|0;f=k+B|0;if((l|0)>1){l=l+-1|0;k=f;m=4;continue}else break}if(!h){m=46;break}else{f=f+E|0;g=g+F|0}}if((m|0)!=44)if((m|0)==46)return}function _Y(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;v=a[b+63>>0]|0;w=v&255;u=c[b+24>>2]|0;i=c[b+28>>2]|0;d=c[b>>2]|0;H=c[b+16>>2]>>2;e=c[b+20>>2]|0;G=c[b+36>>2]>>2;f=i+-1|0;i=(i|0)==0;if(v<<24>>24!=-128){if(i)return;v=(u+3|0)/4|0;k=u&255;if(!(k&3)){while(1){b=v;while(1){E=c[d>>2]|0;D=c[e>>2]|0;F=D&16711935;D=D&65280;c[e>>2]=((O((E&65280)-D|0,w)|0)>>>8)+D&65280|((O((E&16711935)-F|0,w)|0)>>>8)+F&16711935|-16777216;F=e+4|0;E=c[d+4>>2]|0;D=c[F>>2]|0;C=D&16711935;D=D&65280;c[F>>2]=((O((E&65280)-D|0,w)|0)>>>8)+D&65280|((O((E&16711935)-C|0,w)|0)>>>8)+C&16711935|-16777216;F=e+8|0;C=c[d+8>>2]|0;E=c[F>>2]|0;D=E&16711935;E=E&65280;c[F>>2]=((O((C&65280)-E|0,w)|0)>>>8)+E&65280|((O((C&16711935)-D|0,w)|0)>>>8)+D&16711935|-16777216;F=e+12|0;D=c[d+12>>2]|0;C=c[F>>2]|0;E=C&16711935;C=C&65280;c[F>>2]=((O((D&65280)-C|0,w)|0)>>>8)+C&65280|((O((D&16711935)-E|0,w)|0)>>>8)+E&16711935|-16777216;d=d+16|0;e=e+16|0;if((b|0)<=1)break;else b=b+-1|0}if(!f)break;else{e=e+(G<<2)|0;d=d+(H<<2)|0;f=f+-1|0}}return}else{g=e;b=d;j=f}a:while(1){switch(k&3){case 1:{p=v;s=g;t=b;b=27;break}case 3:{l=v;n=g;o=b;b=25;break}case 2:{m=v;q=g;r=b;b=26;break}default:{b=28;break a}}while(1)if((b|0)==25){q=c[o>>2]|0;r=c[n>>2]|0;m=r&16711935;r=r&65280;c[n>>2]=((O((q&65280)-r|0,w)|0)>>>8)+r&65280|((O((q&16711935)-m|0,w)|0)>>>8)+m&16711935|-16777216;m=l;q=n+4|0;r=o+4|0;b=26;continue}else if((b|0)==26){s=c[r>>2]|0;t=c[q>>2]|0;p=t&16711935;t=t&65280;c[q>>2]=((O((s&65280)-t|0,w)|0)>>>8)+t&65280|((O((s&16711935)-p|0,w)|0)>>>8)+p&16711935|-16777216;p=m;s=q+4|0;t=r+4|0;b=27;continue}else if((b|0)==27){b=c[t>>2]|0;g=c[s>>2]|0;h=g&16711935;g=g&65280;c[s>>2]=((O((b&65280)-g|0,w)|0)>>>8)+g&65280|((O((b&16711935)-h|0,w)|0)>>>8)+h&16711935|-16777216;h=t+4|0;b=s+4|0;if((p|0)<=1)break;n=c[h>>2]|0;o=c[b>>2]|0;l=o&16711935;o=o&65280;c[b>>2]=((O((n&65280)-o|0,w)|0)>>>8)+o&65280|((O((n&16711935)-l|0,w)|0)>>>8)+l&16711935|-16777216;l=p+-1|0;n=s+8|0;o=t+8|0;b=25;continue}if(!j){b=30;break}else{g=b+(G<<2)|0;b=h+(H<<2)|0;j=j+-1|0}}if((b|0)!=28)if((b|0)==30)return}if(i)return;b=u+3|0;j=(b|0)/4|0;g=u&255;switch(g&3){case 0:{while(1){b=j;while(1){E=c[d>>2]|0;F=c[e>>2]|0;C=e+4|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216;F=c[d+4>>2]|0;E=c[C>>2]|0;D=e+8|0;c[C>>2]=(((E&16711422)+(F&16711422)|0)>>>1)+(F&65793&E)|-16777216;C=c[d+8>>2]|0;E=c[D>>2]|0;F=e+12|0;c[D>>2]=(((E&16711422)+(C&16711422)|0)>>>1)+(C&65793&E)|-16777216;D=d;d=d+16|0;D=c[D+12>>2]|0;E=c[F>>2]|0;e=e+16|0;c[F>>2]=(((E&16711422)+(D&16711422)|0)>>>1)+(D&65793&E)|-16777216;if((b|0)<=1)break;else b=b+-1|0}if(!f)break;else{d=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}return}case 1:{i=(b|0)>7;g=d;while(1){d=g+4|0;E=c[g>>2]|0;F=c[e>>2]|0;b=e+4|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216;if(i){h=j;do{h=h+-1|0;D=c[d>>2]|0;F=c[b>>2]|0;d=e+8|0;c[b>>2]=(((F&16711422)+(D&16711422)|0)>>>1)+(D&65793&F)|-16777216;F=c[g+8>>2]|0;D=c[d>>2]|0;E=e+12|0;c[d>>2]=(((D&16711422)+(F&16711422)|0)>>>1)+(F&65793&D)|-16777216;d=g;g=g+16|0;D=c[d+12>>2]|0;F=c[E>>2]|0;b=e;e=e+16|0;c[E>>2]=(((F&16711422)+(D&16711422)|0)>>>1)+(D&65793&F)|-16777216;d=d+20|0;E=c[g>>2]|0;F=c[e>>2]|0;b=b+20|0;c[e>>2]=(((F&16711422)+(E&16711422)|0)>>>1)+(E&65793&F)|-16777216}while((h|0)>1);e=b}else e=b;if(!f)break;else{g=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}return}default:{b:while(1){switch(g&3){case 1:{D=j;E=d;F=e;b=20;break}case 3:{x=j;y=d;z=e;b=18;break}case 2:{A=j;B=d;C=e;b=19;break}default:{b=21;break b}}while(1)if((b|0)==18){B=c[y>>2]|0;A=c[z>>2]|0;c[z>>2]=(((A&16711422)+(B&16711422)|0)>>>1)+(B&65793&A)|-16777216;A=x;B=y+4|0;C=z+4|0;b=19;continue}else if((b|0)==19){E=c[B>>2]|0;D=c[C>>2]|0;c[C>>2]=(((D&16711422)+(E&16711422)|0)>>>1)+(E&65793&D)|-16777216;D=A;E=B+4|0;F=C+4|0;b=20;continue}else if((b|0)==20){d=E+4|0;v=c[E>>2]|0;w=c[F>>2]|0;e=F+4|0;c[F>>2]=(((w&16711422)+(v&16711422)|0)>>>1)+(v&65793&w)|-16777216;if((D|0)<=1)break;y=c[d>>2]|0;x=c[e>>2]|0;c[e>>2]=(((x&16711422)+(y&16711422)|0)>>>1)+(y&65793&x)|-16777216;x=D+-1|0;y=E+8|0;z=F+8|0;b=18;continue}if(!f){b=30;break}else{d=d+(H<<2)|0;e=e+(G<<2)|0;f=f+-1|0}}if((b|0)!=21)if((b|0)==30)return}}}function $Y(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[a+24>>2]|0;f=c[a+28>>2]|0;u=c[a+16>>2]>>1;l=c[a+36>>2]>>1;if(!f)return;m=~d;n=t+-1|0;o=d&65535;p=o<<16|o;q=~p;r=u+-1|0;s=o^65535;h=c[a>>2]|0;e=c[a+20>>2]|0;while(1){f=f+-1|0;a=h;g=e;if(!((a^g)&2)){if(!(a&2)){g=t;a=h}else{a=b[e>>1]|0;g=b[h>>1]|0;b[e>>1]=(((g&d&65535)+(a&d&65535)|0)>>>1)+(a&m&g&65535);g=n;a=h+2|0;e=e+2|0}if((g|0)>1){i=g+-2|0;j=e+4|0;h=a;while(1){v=c[h>>2]|0;k=c[e>>2]|0;c[e>>2]=((k&p)>>>1)+((v&p)>>>1)+(v&q&k);g=g+-2|0;if((g|0)<=1)break;else{e=e+4|0;h=h+4|0}}e=i&-2;g=i-e|0;a=a+4+(e<<1)|0;e=j+(e<<1)|0}if(g){k=b[e>>1]|0;v=b[a>>1]|0;b[e>>1]=(((v&d&65535)+(k&d&65535)|0)>>>1)+(k&m&v&65535);a=a+2|0;e=e+2|0}a=a+(u<<1)|0}else{if(!(g&2)){i=t;g=h}else{g=b[e>>1]|0;i=b[h>>1]|0;b[e>>1]=(((i&d&65535)+(g&d&65535)|0)>>>1)+(g&m&i&65535);i=n;g=h+2|0;e=e+2|0}a=g+2|0;h=c[g+-2>>2]|0;if((i|0)>1){j=i+-2|0;k=g+6|0;g=i;i=e;while(1){v=h;h=c[a>>2]|0;w=c[i>>2]|0;v=h<<16|v>>>16;c[i>>2]=((v&p)>>>1)+((w&p)>>>1)+(w&q&v);g=g+-2|0;if((g|0)<=1)break;else{i=i+4|0;a=a+4|0}}w=j&-2;g=j-w|0;a=k+(w<<1)|0;e=e+4+(w<<1)|0}else g=i;if(g){w=b[e>>1]|0;v=h>>>16;b[e>>1]=(((w&d&65535)+(v&o)|0)>>>1)+(v&s&(w&65535));a=a+2|0;e=e+2|0}a=a+(r<<1)|0}if(!f)break;else{h=a;e=e+(l<<1)|0}}return}function aZ(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;g=c[f+24>>2]|0;i=c[f+28>>2]|0;I=c[f+16>>2]|0;J=c[f+36>>2]|0;h=c[f+44>>2]|0;D=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;E=d[f+63>>0]|0;F=a[h+9>>0]|0;G=F&255;if(!i)return;H=(g+3|0)/4|0;C=g&255;r=h+28|0;s=h+32|0;t=h+29|0;u=h+33|0;v=h+30|0;w=h+34|0;x=h+31|0;y=h+35|0;z=h+12|0;A=h+16|0;B=h+20|0;q=h+24|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){i=i+-1|0;switch(C&3){case 0:{p=H;f=4;break}case 3:{p=H;f=15;break}case 2:{p=H;f=26;break}case 1:{p=H;f=37;break}default:{f=48;break a}}while(1)if((f|0)==4){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;K=j&255;f=k&255;j=l&255;l=(((O(m-L|0,E)|0)>>>0)/255|0)+L|0;k=(((O(n-K|0,E)|0)>>>0)/255|0)+K|0;f=(((O(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((O(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=15;continue}else if((f|0)==15){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((O(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((O(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((O(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((O(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=26;continue}else if((f|0)==26){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((O(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((O(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((O(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((O(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;f=37;continue}else if((f|0)==37){o=d[g>>0]|0;m=d[D+(o<<2)>>0]|0;n=d[D+(o<<2)+1>>0]|0;o=d[D+(o<<2)+2>>0]|0;switch(F<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}K=f&255;L=j&255;f=k&255;j=l&255;l=(((O(m-K|0,E)|0)>>>0)/255|0)+K|0;k=(((O(n-L|0,E)|0)>>>0)/255|0)+L|0;f=(((O(o-f|0,E)|0)>>>0)/255|0)+f|0;j=j+E-(((O(j,E)|0)>>>0)/255|0)|0;switch(F<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break}default:{}}g=g+1|0;h=h+G|0;if((p|0)>1){p=p+-1|0;f=4;continue}else break}if(!i){f=50;break}else{g=g+I|0;h=h+J|0}}if((f|0)!=48)if((f|0)==50)return}function bZ(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=c[f+24>>2]|0;i=c[f+28>>2]|0;J=c[f+16>>2]|0;K=c[f+36>>2]|0;h=c[f+44>>2]|0;D=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;E=c[f+56>>2]|0;F=d[f+63>>0]|0;G=a[h+9>>0]|0;H=G&255;if(!i)return;I=(g+7|0)/8|0;C=g&255;r=h+28|0;s=h+32|0;t=h+29|0;u=h+33|0;v=h+30|0;w=h+34|0;x=h+31|0;y=h+35|0;z=h+12|0;A=h+16|0;B=h+20|0;q=h+24|0;g=c[f>>2]|0;h=c[f+20>>2]|0;a:while(1){i=i+-1|0;switch(C&7){case 0:{p=I;f=4;break}case 7:{p=I;f=16;break}case 6:{p=I;f=28;break}case 5:{p=I;f=40;break}case 4:{p=I;o=h;f=52;break}case 3:{p=I;o=h;f=64;break}case 2:{p=I;o=h;f=76;break}case 1:{p=I;o=h;f=88;break}default:{f=100;break a}}while(1)if((f|0)==4){f=d[g>>0]|0;b:do if((f|0)!=(E|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}M=f&255;L=j&255;f=k&255;j=l&255;l=(((O(m-M|0,F)|0)>>>0)/255|0)+M|0;k=(((O(n-L|0,F)|0)>>>0)/255|0)+L|0;f=(((O(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((O(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break b}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break b}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break b}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break b}default:break b}}while(0);g=g+1|0;h=h+H|0;f=16;continue}else if((f|0)==16){f=d[g>>0]|0;c:do if((f|0)!=(E|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((O(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((O(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((O(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((O(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break c}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break c}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break c}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break c}default:break c}}while(0);g=g+1|0;h=h+H|0;f=28;continue}else if((f|0)==28){f=d[g>>0]|0;d:do if((f|0)!=(E|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((O(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((O(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((O(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((O(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break d}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break d}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break d}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break d}default:break d}}while(0);g=g+1|0;h=h+H|0;f=40;continue}else if((f|0)==40){f=d[g>>0]|0;e:do if((f|0)!=(E|0)){m=d[D+(f<<2)>>0]|0;n=d[D+(f<<2)+1>>0]|0;o=d[D+(f<<2)+2>>0]|0;switch(G<<24>>24){case 1:{l=d[h>>0]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 2:{l=e[h>>1]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}case 3:{f=a[h+((d[s>>0]|0)>>>3&255)>>0]|0;j=a[h+((d[u>>0]|0)>>>3&255)>>0]|0;k=a[h+((d[w>>0]|0)>>>3&255)>>0]|0;l=-1;break}case 4:{l=c[h>>2]|0;f=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&l)>>>(d[s>>0]|0))>>0]|0;j=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&l)>>>(d[u>>0]|0))>>0]|0;k=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&l)>>>(d[w>>0]|0))>>0]|0;l=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&l)>>>(d[y>>0]|0))>>0]|0;break}default:{f=0;j=0;k=0;l=0}}L=f&255;M=j&255;f=k&255;j=l&255;l=(((O(m-L|0,F)|0)>>>0)/255|0)+L|0;k=(((O(n-M|0,F)|0)>>>0)/255|0)+M|0;f=(((O(o-f|0,F)|0)>>>0)/255|0)+f|0;j=j+F-(((O(j,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[h>>0]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break e}case 2:{b[h>>1]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break e}case 3:{a[h+((d[s>>0]|0)>>>3&255)>>0]=l;a[h+((d[u>>0]|0)>>>3&255)>>0]=k;a[h+((d[w>>0]|0)>>>3&255)>>0]=f;break e}case 4:{c[h>>2]=k>>>(d[t>>0]|0)<<(d[u>>0]|0)|l>>>(d[r>>0]|0)<<(d[s>>0]|0)|f>>>(d[v>>0]|0)<<(d[w>>0]|0)|j>>>(d[x>>0]|0)<<(d[y>>0]|0);break e}default:break e}}while(0);g=g+1|0;o=h+H|0;f=52;continue}else if((f|0)==52){h=d[g>>0]|0;f:do if((h|0)!=(E|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[s>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((O(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((O(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((O(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((O(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break f}case 2:{b[o>>1]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break f}case 3:{a[o+((d[s>>0]|0)>>>3&255)>>0]=k;a[o+((d[u>>0]|0)>>>3&255)>>0]=j;a[o+((d[w>>0]|0)>>>3&255)>>0]=h;break f}case 4:{c[o>>2]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break f}default:break f}}while(0);g=g+1|0;o=o+H|0;f=64;continue}else if((f|0)==64){h=d[g>>0]|0;g:do if((h|0)!=(E|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[s>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((O(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((O(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((O(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((O(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break g}case 2:{b[o>>1]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break g}case 3:{a[o+((d[s>>0]|0)>>>3&255)>>0]=k;a[o+((d[u>>0]|0)>>>3&255)>>0]=j;a[o+((d[w>>0]|0)>>>3&255)>>0]=h;break g}case 4:{c[o>>2]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break g}default:break g}}while(0);g=g+1|0;o=o+H|0;f=76;continue}else if((f|0)==76){h=d[g>>0]|0;h:do if((h|0)!=(E|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[s>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((O(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((O(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((O(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((O(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break h}case 2:{b[o>>1]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break h}case 3:{a[o+((d[s>>0]|0)>>>3&255)>>0]=k;a[o+((d[u>>0]|0)>>>3&255)>>0]=j;a[o+((d[w>>0]|0)>>>3&255)>>0]=h;break h}case 4:{c[o>>2]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break h}default:break h}}while(0);g=g+1|0;o=o+H|0;f=88;continue}else if((f|0)==88){h=d[g>>0]|0;i:do if((h|0)!=(E|0)){l=d[D+(h<<2)>>0]|0;m=d[D+(h<<2)+1>>0]|0;n=d[D+(h<<2)+2>>0]|0;switch(G<<24>>24){case 1:{k=d[o>>0]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 2:{k=e[o>>1]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}case 3:{h=a[o+((d[s>>0]|0)>>>3&255)>>0]|0;f=a[o+((d[u>>0]|0)>>>3&255)>>0]|0;j=a[o+((d[w>>0]|0)>>>3&255)>>0]|0;k=-1;break}case 4:{k=c[o>>2]|0;h=a[(c[22432+((d[r>>0]|0)<<2)>>2]|0)+((c[z>>2]&k)>>>(d[s>>0]|0))>>0]|0;f=a[(c[22432+((d[t>>0]|0)<<2)>>2]|0)+((c[A>>2]&k)>>>(d[u>>0]|0))>>0]|0;j=a[(c[22432+((d[v>>0]|0)<<2)>>2]|0)+((c[B>>2]&k)>>>(d[w>>0]|0))>>0]|0;k=a[(c[22432+((d[x>>0]|0)<<2)>>2]|0)+((c[q>>2]&k)>>>(d[y>>0]|0))>>0]|0;break}default:{h=0;f=0;j=0;k=0}}L=h&255;M=f&255;h=j&255;f=k&255;k=(((O(l-L|0,F)|0)>>>0)/255|0)+L|0;j=(((O(m-M|0,F)|0)>>>0)/255|0)+M|0;h=(((O(n-h|0,F)|0)>>>0)/255|0)+h|0;f=f+F-(((O(f,F)|0)>>>0)/255|0)|0;switch(G<<24>>24){case 1:{a[o>>0]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break i}case 2:{b[o>>1]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break i}case 3:{a[o+((d[s>>0]|0)>>>3&255)>>0]=k;a[o+((d[u>>0]|0)>>>3&255)>>0]=j;a[o+((d[w>>0]|0)>>>3&255)>>0]=h;break i}case 4:{c[o>>2]=j>>>(d[t>>0]|0)<<(d[u>>0]|0)|k>>>(d[r>>0]|0)<<(d[s>>0]|0)|h>>>(d[v>>0]|0)<<(d[w>>0]|0)|f>>>(d[x>>0]|0)<<(d[y>>0]|0);break i}default:break i}}while(0);g=g+1|0;h=o+H|0;if((p|0)>1){p=p+-1|0;f=4;continue}else break}if(!i){f=102;break}else{g=g+J|0;h=h+K|0}}if((f|0)!=100)if((f|0)==102)return}function cZ(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;g=c[b+24>>2]|0;i=c[b+28>>2]|0;e=c[b>>2]|0;aa=c[b+16>>2]|0;f=c[b+20>>2]|0;$=c[b+36>>2]|0;Z=c[b+48>>2]|0;_=c[b+56>>2]|0;h=i+-1|0;b=(i|0)==0;if(!Z){if(b)return;i=(g+7|0)/8|0;b=g&255;if(!(b&7)){while(1){g=i;b=f;while(1){f=a[e>>0]|0;if((f&255|0)!=(_|0))a[b>>0]=f;f=a[e+1>>0]|0;if((f&255|0)!=(_|0))a[b+1>>0]=f;f=a[e+2>>0]|0;if((f&255|0)!=(_|0))a[b+2>>0]=f;f=a[e+3>>0]|0;if((f&255|0)!=(_|0))a[b+3>>0]=f;f=a[e+4>>0]|0;if((f&255|0)!=(_|0))a[b+4>>0]=f;f=a[e+5>>0]|0;if((f&255|0)!=(_|0))a[b+5>>0]=f;f=a[e+6>>0]|0;if((f&255|0)!=(_|0))a[b+6>>0]=f;f=a[e+7>>0]|0;if((f&255|0)!=(_|0))a[b+7>>0]=f;b=b+8|0;e=e+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{f=b+$|0;e=e+aa|0;h=h+-1|0}}return}a:while(1){switch(b&7){case 1:{x=e;y=f;T=i;e=93;break}case 7:{j=i;k=e;l=f;e=75;break}case 6:{n=e;o=f;z=i;e=78;break}case 5:{p=e;q=f;D=i;e=81;break}case 4:{r=e;s=f;H=i;e=84;break}case 3:{t=e;u=f;L=i;e=87;break}case 2:{v=e;w=f;P=i;e=90;break}default:{e=96;break a}}while(1)if((e|0)==75){e=a[k>>0]|0;if((e&255|0)!=(_|0))a[l>>0]=e;n=k+1|0;o=l+1|0;z=j;e=78;continue}else if((e|0)==78){e=a[n>>0]|0;if((e&255|0)!=(_|0))a[o>>0]=e;p=n+1|0;q=o+1|0;D=z;e=81;continue}else if((e|0)==81){e=a[p>>0]|0;if((e&255|0)!=(_|0))a[q>>0]=e;r=p+1|0;s=q+1|0;H=D;e=84;continue}else if((e|0)==84){e=a[r>>0]|0;if((e&255|0)!=(_|0))a[s>>0]=e;t=r+1|0;u=s+1|0;L=H;e=87;continue}else if((e|0)==87){e=a[t>>0]|0;if((e&255|0)!=(_|0))a[u>>0]=e;v=t+1|0;w=u+1|0;P=L;e=90;continue}else if((e|0)==90){e=a[v>>0]|0;if((e&255|0)!=(_|0))a[w>>0]=e;x=v+1|0;y=w+1|0;T=P;e=93;continue}else if((e|0)==93){e=a[x>>0]|0;if((e&255|0)!=(_|0))a[y>>0]=e;f=y+1|0;e=x+1|0;if((T|0)<=1)break;e=a[e>>0]|0;if((e&255|0)!=(_|0))a[f>>0]=e;j=T+-1|0;k=x+2|0;l=y+2|0;e=75;continue}if(!h){e=98;break}else{f=f+$|0;e=e+aa|0;h=h+-1|0}}if((e|0)!=96)if((e|0)==98)return}else{if(b)return;i=(g+7|0)/8|0;b=g&255;if(!(b&7)){while(1){g=i;b=f;while(1){f=d[e>>0]|0;if((f|0)!=(_|0))a[b>>0]=a[Z+f>>0]|0;f=d[e+1>>0]|0;if((f|0)!=(_|0))a[b+1>>0]=a[Z+f>>0]|0;f=d[e+2>>0]|0;if((f|0)!=(_|0))a[b+2>>0]=a[Z+f>>0]|0;f=d[e+3>>0]|0;if((f|0)!=(_|0))a[b+3>>0]=a[Z+f>>0]|0;f=d[e+4>>0]|0;if((f|0)!=(_|0))a[b+4>>0]=a[Z+f>>0]|0;f=d[e+5>>0]|0;if((f|0)!=(_|0))a[b+5>>0]=a[Z+f>>0]|0;f=d[e+6>>0]|0;if((f|0)!=(_|0))a[b+6>>0]=a[Z+f>>0]|0;f=d[e+7>>0]|0;if((f|0)!=(_|0))a[b+7>>0]=a[Z+f>>0]|0;b=b+8|0;e=e+8|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{e=e+aa|0;f=b+$|0;h=h+-1|0}}return}b:while(1){switch(b&7){case 1:{U=i;X=e;Y=f;e=66;break}case 7:{m=i;B=e;C=f;e=48;break}case 6:{A=i;F=e;G=f;e=51;break}case 5:{E=i;J=e;K=f;e=54;break}case 4:{I=i;N=e;O=f;e=57;break}case 3:{M=i;R=e;S=f;e=60;break}case 2:{Q=i;V=e;W=f;e=63;break}default:{e=69;break b}}while(1)if((e|0)==48){e=d[B>>0]|0;if((e|0)!=(_|0))a[C>>0]=a[Z+e>>0]|0;A=m;F=B+1|0;G=C+1|0;e=51;continue}else if((e|0)==51){e=d[F>>0]|0;if((e|0)!=(_|0))a[G>>0]=a[Z+e>>0]|0;E=A;J=F+1|0;K=G+1|0;e=54;continue}else if((e|0)==54){e=d[J>>0]|0;if((e|0)!=(_|0))a[K>>0]=a[Z+e>>0]|0;I=E;N=J+1|0;O=K+1|0;e=57;continue}else if((e|0)==57){e=d[N>>0]|0;if((e|0)!=(_|0))a[O>>0]=a[Z+e>>0]|0;M=I;R=N+1|0;S=O+1|0;e=60;continue}else if((e|0)==60){e=d[R>>0]|0;if((e|0)!=(_|0))a[S>>0]=a[Z+e>>0]|0;Q=M;V=R+1|0;W=S+1|0;e=63;continue}else if((e|0)==63){e=d[V>>0]|0;if((e|0)!=(_|0))a[W>>0]=a[Z+e>>0]|0;U=Q;X=V+1|0;Y=W+1|0;e=66;continue}else if((e|0)==66){e=d[X>>0]|0;if((e|0)!=(_|0))a[Y>>0]=a[Z+e>>0]|0;f=Y+1|0;e=X+1|0;if((U|0)<=1)break;e=d[e>>0]|0;if((e|0)!=(_|0))a[f>>0]=a[Z+e>>0]|0;m=U+-1|0;B=X+2|0;C=Y+2|0;e=48;continue}if(!h){e=98;break}else{e=e+aa|0;f=f+$|0;h=h+-1|0}}if((e|0)!=69)if((e|0)==98)return}}function dZ(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[a+24>>2]|0;l=c[a+28>>2]|0;f=c[a>>2]|0;o=c[a+16>>2]|0;g=c[a+20>>2]|0;m=c[a+48>>2]|0;n=c[a+56>>2]|0;k=(c[a+36>>2]|0)/2|0;h=l+-1|0;if(!l)return;l=(e+7|0)/8|0;j=e&255;if(!(j&7)){a=g;while(1){g=l;e=a;while(1){a=d[f>>0]|0;if((a|0)!=(n|0))b[e>>1]=b[m+(a<<1)>>1]|0;a=d[f+1>>0]|0;if((a|0)!=(n|0))b[e+2>>1]=b[m+(a<<1)>>1]|0;a=d[f+2>>0]|0;if((a|0)!=(n|0))b[e+4>>1]=b[m+(a<<1)>>1]|0;a=d[f+3>>0]|0;if((a|0)!=(n|0))b[e+6>>1]=b[m+(a<<1)>>1]|0;a=d[f+4>>0]|0;if((a|0)!=(n|0))b[e+8>>1]=b[m+(a<<1)>>1]|0;a=d[f+5>>0]|0;if((a|0)!=(n|0))b[e+10>>1]=b[m+(a<<1)>>1]|0;a=d[f+6>>0]|0;if((a|0)!=(n|0))b[e+12>>1]=b[m+(a<<1)>>1]|0;a=d[f+7>>0]|0;if((a|0)!=(n|0))b[e+14>>1]=b[m+(a<<1)>>1]|0;f=f+8|0;e=e+16|0;if((g|0)<=1)break;else g=g+-1|0}if(!h)break;else{f=f+o|0;a=e+(k<<1)|0;h=h+-1|0}}return}a:while(1){switch(j&7){case 1:{i=l;a=44;break}case 7:{e=l;a=26;break}case 6:{e=l;a=29;break}case 5:{e=l;a=32;break}case 4:{e=l;a=35;break}case 3:{e=l;a=38;break}case 2:{e=l;a=41;break}default:{a=47;break a}}while(1)if((a|0)==26){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=29;continue}else if((a|0)==29){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=32;continue}else if((a|0)==32){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=35;continue}else if((a|0)==35){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=38;continue}else if((a|0)==38){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;g=g+2|0;f=f+1|0;a=41;continue}else if((a|0)==41){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;i=e;f=f+1|0;g=g+2|0;a=44;continue}else if((a|0)==44){a=d[f>>0]|0;if((a|0)!=(n|0))b[g>>1]=b[m+(a<<1)>>1]|0;a=f+1|0;e=g+2|0;if((i|0)<=1)break;a=d[a>>0]|0;if((a|0)!=(n|0))b[e>>1]=b[m+(a<<1)>>1]|0;e=i+-1|0;g=g+4|0;f=f+2|0;a=26;continue}if(!h){a=49;break}else{f=a+o|0;g=e+(k<<1)|0;h=h+-1|0}}if((a|0)!=47)if((a|0)==49)return}function eZ(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+24>>2]|0;f=c[b+28>>2]|0;m=c[b+16>>2]|0;n=c[b+36>>2]|0;j=c[b+48>>2]|0;k=c[b+56>>2]|0;if(!f)return;l=(e+7|0)/8|0;i=e&255;g=c[b>>2]|0;b=c[b+20>>2]|0;a:while(1){f=f+-1|0;switch(i&7){case 0:{h=l;e=4;break}case 7:{h=l;e=7;break}case 6:{h=l;e=10;break}case 5:{h=l;e=13;break}case 4:{h=l;e=16;break}case 3:{h=l;e=19;break}case 2:{h=l;e=22;break}case 1:{h=l;e=25;break}default:{e=28;break a}}while(1)if((e|0)==4){e=d[g>>0]|0;if((e|0)!=(k|0)){o=e<<2;e=o|1;a[b>>0]=a[j+o>>0]|0;a[b+1>>0]=a[j+e>>0]|0;a[b+2>>0]=a[j+(e+1)>>0]|0}g=g+1|0;b=b+3|0;e=7;continue}else if((e|0)==7){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=10;continue}else if((e|0)==10){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=13;continue}else if((e|0)==13){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=16;continue}else if((e|0)==16){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=19;continue}else if((e|0)==19){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=22;continue}else if((e|0)==22){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}g=g+1|0;b=b+3|0;e=25;continue}else if((e|0)==25){e=d[g>>0]|0;if((e|0)!=(k|0)){e=e<<2;o=e|1;a[b>>0]=a[j+e>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0}e=g+1|0;b=b+3|0;if((h|0)>1){h=h+-1|0;g=e;e=4;continue}else break}if(!f){e=30;break}else{g=e+m|0;b=b+n|0}}if((e|0)!=28)if((e|0)==30)return}function fZ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=c[a+24>>2]|0;k=c[a+28>>2]|0;e=c[a>>2]|0;n=c[a+16>>2]|0;f=c[a+20>>2]|0;l=c[a+48>>2]|0;m=c[a+56>>2]|0;j=(c[a+36>>2]|0)/4|0;g=k+-1|0;if(!k)return;k=(b+7|0)/8|0;i=b&255;if(!(i&7)){a=f;while(1){f=k;b=a;while(1){a=d[e>>0]|0;if((a|0)!=(m|0))c[b>>2]=c[l+(a<<2)>>2];a=d[e+1>>0]|0;if((a|0)!=(m|0))c[b+4>>2]=c[l+(a<<2)>>2];a=d[e+2>>0]|0;if((a|0)!=(m|0))c[b+8>>2]=c[l+(a<<2)>>2];a=d[e+3>>0]|0;if((a|0)!=(m|0))c[b+12>>2]=c[l+(a<<2)>>2];a=d[e+4>>0]|0;if((a|0)!=(m|0))c[b+16>>2]=c[l+(a<<2)>>2];a=d[e+5>>0]|0;if((a|0)!=(m|0))c[b+20>>2]=c[l+(a<<2)>>2];a=d[e+6>>0]|0;if((a|0)!=(m|0))c[b+24>>2]=c[l+(a<<2)>>2];a=d[e+7>>0]|0;if((a|0)!=(m|0))c[b+28>>2]=c[l+(a<<2)>>2];e=e+8|0;b=b+32|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{e=e+n|0;a=b+(j<<2)|0;g=g+-1|0}}return}a:while(1){switch(i&7){case 1:{h=k;a=44;break}case 7:{b=k;a=26;break}case 6:{b=k;a=29;break}case 5:{b=k;a=32;break}case 4:{b=k;a=35;break}case 3:{b=k;a=38;break}case 2:{b=k;a=41;break}default:{a=47;break a}}while(1)if((a|0)==26){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=29;continue}else if((a|0)==29){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=32;continue}else if((a|0)==32){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=35;continue}else if((a|0)==35){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=38;continue}else if((a|0)==38){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];f=f+4|0;e=e+1|0;a=41;continue}else if((a|0)==41){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];h=b;e=e+1|0;f=f+4|0;a=44;continue}else if((a|0)==44){a=d[e>>0]|0;if((a|0)!=(m|0))c[f>>2]=c[l+(a<<2)>>2];a=e+1|0;b=f+4|0;if((h|0)<=1)break;a=d[a>>0]|0;if((a|0)!=(m|0))c[b>>2]=c[l+(a<<2)>>2];b=h+-1|0;f=f+8|0;e=e+2|0;a=26;continue}if(!g){a=49;break}else{e=a+n|0;f=b+(j<<2)|0;g=g+-1|0}}if((a|0)!=47)if((a|0)==49)return}function gZ(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;g=c[b>>2]|0;n=c[b+16>>2]|0;e=c[b+20>>2]|0;m=c[b+36>>2]|0;k=c[b+48>>2]|0;i=l+-1|0;if(!l)return;l=(f+7|0)/8|0;j=f&255;switch(j&7){case 0:{b=g;g=i;while(1){f=l;while(1){a[e>>0]=a[k+(d[b>>0]|0)>>0]|0;a[e+1>>0]=a[k+(d[b+1>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[b+2>>0]|0)>>0]|0;a[e+3>>0]=a[k+(d[b+3>>0]|0)>>0]|0;a[e+4>>0]=a[k+(d[b+4>>0]|0)>>0]|0;a[e+5>>0]=a[k+(d[b+5>>0]|0)>>0]|0;a[e+6>>0]=a[k+(d[b+6>>0]|0)>>0]|0;a[e+7>>0]=a[k+(d[b+7>>0]|0)>>0]|0;e=e+8|0;b=b+8|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{b=b+n|0;e=e+m|0;g=g+-1|0}}return}case 7:{while(1){h=l;while(1){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;a[e+1>>0]=a[k+(d[g+1>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[g+2>>0]|0)>>0]|0;a[e+3>>0]=a[k+(d[g+3>>0]|0)>>0]|0;a[e+4>>0]=a[k+(d[g+4>>0]|0)>>0]|0;a[e+5>>0]=a[k+(d[g+5>>0]|0)>>0]|0;a[e+6>>0]=a[k+(d[g+6>>0]|0)>>0]|0;f=e+7|0;b=g+7|0;if((h|0)<=1)break;a[f>>0]=a[k+(d[b>>0]|0)>>0]|0;h=h+-1|0;g=g+8|0;e=e+8|0}if(!i)break;else{g=b+n|0;e=f+m|0;i=i+-1|0}}return}default:{a:while(1){switch(j&7){case 1:{h=l;f=17;break}case 2:{b=l;f=16;break}case 6:{b=l;f=12;break}case 5:{b=l;f=13;break}case 4:{b=l;f=14;break}case 3:{b=l;f=15;break}default:{f=18;break a}}while(1)if((f|0)==12){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=13;continue}else if((f|0)==13){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=14;continue}else if((f|0)==14){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=15;continue}else if((f|0)==15){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;g=g+1|0;e=e+1|0;f=16;continue}else if((f|0)==16){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;h=b;g=g+1|0;e=e+1|0;f=17;continue}else if((f|0)==17){a[e>>0]=a[k+(d[g>>0]|0)>>0]|0;f=e+1|0;b=g+1|0;if((h|0)<=1)break;a[f>>0]=a[k+(d[b>>0]|0)>>0]|0;a[e+2>>0]=a[k+(d[g+2>>0]|0)>>0]|0;b=h+-1|0;g=g+3|0;e=e+3|0;f=12;continue}if(!i){f=20;break}else{g=b+n|0;e=f+m|0;i=i+-1|0}}if((f|0)!=18)if((f|0)==20)return}}}function hZ(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[a+24>>2]|0;l=c[a+28>>2]|0;g=c[a>>2]|0;n=c[a+16>>2]|0;e=c[a+20>>2]|0;m=c[a+36>>2]|0;k=c[a+48>>2]|0;h=l+-1|0;if(!l)return;l=(f+7|0)/8|0;j=f&255;if(!(j&7)){a=g;g=h;while(1){f=l;while(1){b[e>>1]=b[k+((d[a>>0]|0)<<1)>>1]|0;b[e+2>>1]=b[k+((d[a+1>>0]|0)<<1)>>1]|0;b[e+4>>1]=b[k+((d[a+2>>0]|0)<<1)>>1]|0;b[e+6>>1]=b[k+((d[a+3>>0]|0)<<1)>>1]|0;b[e+8>>1]=b[k+((d[a+4>>0]|0)<<1)>>1]|0;b[e+10>>1]=b[k+((d[a+5>>0]|0)<<1)>>1]|0;b[e+12>>1]=b[k+((d[a+6>>0]|0)<<1)>>1]|0;j=a;a=a+8|0;b[e+14>>1]=b[k+((d[j+7>>0]|0)<<1)>>1]|0;e=e+16|0;if((f|0)<=1)break;else f=f+-1|0}if(!g)break;else{a=a+n|0;e=e+m|0;g=g+-1|0}}return}a:while(1){switch(j&7){case 1:{i=l;f=14;break}case 7:{a=l;f=8;break}case 6:{a=l;f=9;break}case 5:{a=l;f=10;break}case 4:{a=l;f=11;break}case 3:{a=l;f=12;break}case 2:{a=l;f=13;break}default:{f=15;break a}}while(1)if((f|0)==8){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=9;continue}else if((f|0)==9){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=10;continue}else if((f|0)==10){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=11;continue}else if((f|0)==11){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=12;continue}else if((f|0)==12){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;g=g+1|0;e=e+2|0;f=13;continue}else if((f|0)==13){b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;i=a;g=g+1|0;e=e+2|0;f=14;continue}else if((f|0)==14){a=g+1|0;b[e>>1]=b[k+((d[g>>0]|0)<<1)>>1]|0;f=e+2|0;if((i|0)<=1)break;b[f>>1]=b[k+((d[a>>0]|0)<<1)>>1]|0;a=i+-1|0;g=g+2|0;e=e+4|0;f=8;continue}if(!h){f=17;break}else{g=a+n|0;e=f+m|0;h=h+-1|0}}if((f|0)!=15)if((f|0)==17)return}function iZ(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+24>>2]|0;f=c[b+28>>2]|0;l=c[b+16>>2]|0;m=c[b+36>>2]|0;j=c[b+48>>2]|0;if(!f)return;k=(e+7|0)/8|0;i=e&255;h=c[b+20>>2]|0;e=c[b>>2]|0;a:while(1){f=f+-1|0;switch(i&7){case 0:{g=k;b=h;h=4;break}case 7:{g=k;b=h;h=5;break}case 6:{g=k;b=h;h=6;break}case 5:{g=k;b=h;h=7;break}case 4:{g=k;b=h;h=8;break}case 3:{g=k;b=h;h=9;break}case 2:{g=k;b=h;h=10;break}case 1:{g=k;b=h;h=11;break}default:{h=12;break a}}while(1)if((h|0)==4){o=(d[e>>0]|0)<<2;n=o|1;a[b>>0]=a[j+o>>0]|0;a[b+1>>0]=a[j+n>>0]|0;a[b+2>>0]=a[j+(n+1)>>0]|0;b=b+3|0;e=e+1|0;h=5;continue}else if((h|0)==5){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=6;continue}else if((h|0)==6){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=7;continue}else if((h|0)==7){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=8;continue}else if((h|0)==8){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=9;continue}else if((h|0)==9){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=10;continue}else if((h|0)==10){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;b=b+3|0;e=e+1|0;h=11;continue}else if((h|0)==11){n=(d[e>>0]|0)<<2;o=n|1;a[b>>0]=a[j+n>>0]|0;a[b+1>>0]=a[j+o>>0]|0;a[b+2>>0]=a[j+(o+1)>>0]|0;e=e+1|0;b=b+3|0;if((g|0)>1){g=g+-1|0;h=4;continue}else break}if(!f){h=14;break}else{h=b+m|0;e=e+l|0}}if((h|0)!=12)if((h|0)==14)return}function jZ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+24>>2]|0;k=c[a+28>>2]|0;f=c[a>>2]|0;m=c[a+16>>2]|0;b=c[a+20>>2]|0;l=(c[a+36>>2]|0)/4|0;j=c[a+48>>2]|0;g=k+-1|0;if(!k)return;k=(e+7|0)/8|0;i=e&255;if(!(i&7)){a=f;f=g;while(1){e=k;while(1){c[b>>2]=c[j+((d[a>>0]|0)<<2)>>2];c[b+4>>2]=c[j+((d[a+1>>0]|0)<<2)>>2];c[b+8>>2]=c[j+((d[a+2>>0]|0)<<2)>>2];c[b+12>>2]=c[j+((d[a+3>>0]|0)<<2)>>2];c[b+16>>2]=c[j+((d[a+4>>0]|0)<<2)>>2];c[b+20>>2]=c[j+((d[a+5>>0]|0)<<2)>>2];c[b+24>>2]=c[j+((d[a+6>>0]|0)<<2)>>2];h=a;a=a+8|0;i=b;b=b+32|0;c[i+28>>2]=c[j+((d[h+7>>0]|0)<<2)>>2];if((e|0)<=1)break;else e=e+-1|0}if(!f)break;else{a=a+m|0;b=b+(l<<2)|0;f=f+-1|0}}return}a:while(1){switch(i&7){case 1:{h=k;e=14;break}case 7:{a=k;e=8;break}case 6:{a=k;e=9;break}case 5:{a=k;e=10;break}case 4:{a=k;e=11;break}case 3:{a=k;e=12;break}case 2:{a=k;e=13;break}default:{e=15;break a}}while(1)if((e|0)==8){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=9;continue}else if((e|0)==9){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=10;continue}else if((e|0)==10){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=11;continue}else if((e|0)==11){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=12;continue}else if((e|0)==12){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];f=f+1|0;b=b+4|0;e=13;continue}else if((e|0)==13){c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];h=a;f=f+1|0;b=b+4|0;e=14;continue}else if((e|0)==14){a=f+1|0;e=b+4|0;c[b>>2]=c[j+((d[f>>0]|0)<<2)>>2];if((h|0)<=1)break;c[e>>2]=c[j+((d[a>>0]|0)<<2)>>2];a=h+-1|0;f=f+2|0;b=b+8|0;e=8;continue}if(!g){e=17;break}else{f=a+m|0;b=e+(l<<2)|0;g=g+-1|0}}if((e|0)!=15)if((e|0)==17)return}function kZ(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;w=c[f+24>>2]|0;h=c[f+28>>2]|0;M=c[f+36>>2]|0;u=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;g=c[f+44>>2]|0;v=d[f+63>>0]|0;x=a[g+9>>0]|0;y=x&255;z=((w+7|0)/-8|0)+w+(c[f+16>>2]|0)|0;if(!h)return;A=(w|0)>0;B=g+28|0;C=g+32|0;D=g+29|0;E=g+33|0;F=g+30|0;G=g+34|0;H=g+31|0;I=g+35|0;J=g+12|0;K=g+16|0;L=g+20|0;s=g+24|0;t=O(w,y)|0;g=c[f>>2]|0;f=c[f+20>>2]|0;while(1){h=h+-1|0;if(A){i=0;q=0;r=f;while(1){if(!(q&7)){i=a[g>>0]|0;g=g+1|0}p=i&255;o=(i&255)>>>7&255;m=d[u+(o<<2)>>0]|0;n=d[u+(o<<2)+1>>0]|0;o=d[u+(o<<2)+2>>0]|0;switch(x<<24>>24){case 1:{l=d[r>>0]|0;i=a[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[I>>0]|0))>>0]|0;j=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[G>>0]|0))>>0]|0;k=a[(c[22432+((d[D>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[E>>0]|0))>>0]|0;l=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[C>>0]|0))>>0]|0;break}case 2:{l=e[r>>1]|0;i=a[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[I>>0]|0))>>0]|0;j=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[G>>0]|0))>>0]|0;k=a[(c[22432+((d[D>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[E>>0]|0))>>0]|0;l=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[C>>0]|0))>>0]|0;break}case 3:{i=-1;j=a[r+((d[G>>0]|0)>>>3&255)>>0]|0;k=a[r+((d[E>>0]|0)>>>3&255)>>0]|0;l=a[r+((d[C>>0]|0)>>>3&255)>>0]|0;break}case 4:{l=c[r>>2]|0;i=a[(c[22432+((d[H>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[I>>0]|0))>>0]|0;j=a[(c[22432+((d[F>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[G>>0]|0))>>0]|0;k=a[(c[22432+((d[D>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[E>>0]|0))>>0]|0;l=a[(c[22432+((d[B>>0]|0)<<2)>>2]|0)+((c[J>>2]&l)>>>(d[C>>0]|0))>>0]|0;break}default:{i=0;j=0;k=0;l=0}}N=i&255;i=j&255;k=k&255;l=l&255;l=(((O(m-l|0,v)|0)>>>0)/255|0)+l|0;k=(((O(n-k|0,v)|0)>>>0)/255|0)+k|0;i=(((O(o-i|0,v)|0)>>>0)/255|0)+i|0;j=N+v-(((O(N,v)|0)>>>0)/255|0)|0;switch(x<<24>>24){case 1:{a[r>>0]=k>>>(d[D>>0]|0)<<(d[E>>0]|0)|l>>>(d[B>>0]|0)<<(d[C>>0]|0)|i>>>(d[F>>0]|0)<<(d[G>>0]|0)|j>>>(d[H>>0]|0)<<(d[I>>0]|0);break}case 2:{b[r>>1]=k>>>(d[D>>0]|0)<<(d[E>>0]|0)|l>>>(d[B>>0]|0)<<(d[C>>0]|0)|i>>>(d[F>>0]|0)<<(d[G>>0]|0)|j>>>(d[H>>0]|0)<<(d[I>>0]|0);break}case 3:{a[r+((d[C>>0]|0)>>>3&255)>>0]=l;a[r+((d[E>>0]|0)>>>3&255)>>0]=k;a[r+((d[G>>0]|0)>>>3&255)>>0]=i;break}case 4:{c[r>>2]=k>>>(d[D>>0]|0)<<(d[E>>0]|0)|l>>>(d[B>>0]|0)<<(d[C>>0]|0)|i>>>(d[F>>0]|0)<<(d[G>>0]|0)|j>>>(d[H>>0]|0)<<(d[I>>0]|0);break}default:{}}q=q+1|0;if((q|0)==(w|0))break;else{i=p<<1&255;r=r+y|0}}f=f+t|0}if(!h)break;else{g=g+z|0;f=f+M|0}}return}function lZ(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0;w=c[f+24>>2]|0;h=c[f+28>>2]|0;N=c[f+36>>2]|0;g=c[f+44>>2]|0;u=c[(c[(c[f+40>>2]|0)+4>>2]|0)+4>>2]|0;v=d[f+63>>0]|0;x=c[f+56>>2]|0;y=a[g+9>>0]|0;z=y&255;A=((w+7|0)/-8|0)+w+(c[f+16>>2]|0)|0;if(!h)return;B=(w|0)>0;C=g+28|0;D=g+32|0;E=g+29|0;F=g+33|0;G=g+30|0;H=g+34|0;I=g+31|0;J=g+35|0;K=g+12|0;L=g+16|0;M=g+20|0;s=g+24|0;t=O(w,z)|0;g=c[f>>2]|0;f=c[f+20>>2]|0;while(1){h=h+-1|0;if(B){i=0;q=0;r=f;while(1){if(!(q&7)){i=a[g>>0]|0;g=g+1|0}p=i&255;i=(i&255)>>>7&255;a:do if((i|0)!=(x|0)){m=d[u+(i<<2)>>0]|0;n=d[u+(i<<2)+1>>0]|0;o=d[u+(i<<2)+2>>0]|0;switch(y<<24>>24){case 1:{l=d[r>>0]|0;i=a[(c[22432+((d[I>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[J>>0]|0))>>0]|0;j=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[H>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}case 2:{l=e[r>>1]|0;i=a[(c[22432+((d[I>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[J>>0]|0))>>0]|0;j=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[H>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}case 3:{i=-1;j=a[r+((d[H>>0]|0)>>>3&255)>>0]|0;k=a[r+((d[F>>0]|0)>>>3&255)>>0]|0;l=a[r+((d[D>>0]|0)>>>3&255)>>0]|0;break}case 4:{l=c[r>>2]|0;i=a[(c[22432+((d[I>>0]|0)<<2)>>2]|0)+((c[s>>2]&l)>>>(d[J>>0]|0))>>0]|0;j=a[(c[22432+((d[G>>0]|0)<<2)>>2]|0)+((c[M>>2]&l)>>>(d[H>>0]|0))>>0]|0;k=a[(c[22432+((d[E>>0]|0)<<2)>>2]|0)+((c[L>>2]&l)>>>(d[F>>0]|0))>>0]|0;l=a[(c[22432+((d[C>>0]|0)<<2)>>2]|0)+((c[K>>2]&l)>>>(d[D>>0]|0))>>0]|0;break}default:{i=0;j=0;k=0;l=0}}P=i&255;i=j&255;k=k&255;l=l&255;l=(((O(m-l|0,v)|0)>>>0)/255|0)+l|0;k=(((O(n-k|0,v)|0)>>>0)/255|0)+k|0;i=(((O(o-i|0,v)|0)>>>0)/255|0)+i|0;j=P+v-(((O(P,v)|0)>>>0)/255|0)|0;switch(y<<24>>24){case 1:{a[r>>0]=k>>>(d[E>>0]|0)<<(d[F>>0]|0)|l>>>(d[C>>0]|0)<<(d[D>>0]|0)|i>>>(d[G>>0]|0)<<(d[H>>0]|0)|j>>>(d[I>>0]|0)<<(d[J>>0]|0);break a}case 2:{b[r>>1]=k>>>(d[E>>0]|0)<<(d[F>>0]|0)|l>>>(d[C>>0]|0)<<(d[D>>0]|0)|i>>>(d[G>>0]|0)<<(d[H>>0]|0)|j>>>(d[I>>0]|0)<<(d[J>>0]|0);break a}case 3:{a[r+((d[D>>0]|0)>>>3&255)>>0]=l;a[r+((d[F>>0]|0)>>>3&255)>>0]=k;a[r+((d[H>>0]|0)>>>3&255)>>0]=i;break a}case 4:{c[r>>2]=k>>>(d[E>>0]|0)<<(d[F>>0]|0)|l>>>(d[C>>0]|0)<<(d[D>>0]|0)|i>>>(d[G>>0]|0)<<(d[H>>0]|0)|j>>>(d[I>>0]|0)<<(d[J>>0]|0);break a}default:break a}}while(0);q=q+1|0;if((q|0)==(w|0))break;else{i=p<<1&255;r=r+z|0}}f=f+t|0}if(!h)break;else{g=g+A|0;f=f+N|0}}return}function mZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+24>>2]|0;i=c[b+28>>2]|0;d=c[b>>2]|0;e=c[b+20>>2]|0;l=c[b+36>>2]|0;m=c[b+56>>2]|0;j=c[b+48>>2]|0;k=(c[b+16>>2]|0)+(n-((n+7|0)/8|0))|0;f=i+-1|0;b=(i|0)!=0&(n|0)>0;if(!j){if(b){b=d;i=f}else return;while(1){d=0;g=0;h=e;while(1){if(!(g&7)){f=a[b>>0]|0;b=b+1|0}else f=d;d=(f&255)>>>7;if((d&255|0)!=(m|0))a[h>>0]=d;g=g+1|0;if((g|0)==(n|0))break;else{d=(f&255)<<1&255;h=h+1|0}}if(!i)break;else{e=e+n+l|0;b=b+k|0;i=i+-1|0}}return}else{if(b)i=f;else return;while(1){b=0;h=0;g=e;while(1){if(!(h&7)){f=a[d>>0]|0;d=d+1|0}else f=b;b=(f&255)>>>7&255;if((b|0)!=(m|0))a[g>>0]=a[j+b>>0]|0;h=h+1|0;if((h|0)==(n|0))break;else{b=(f&255)<<1&255;g=g+1|0}}if(!i)break;else{d=d+k|0;e=e+n+l|0;i=i+-1|0}}return}}function nZ(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[d+24>>2]|0;e=c[d+28>>2]|0;k=c[d+56>>2]|0;l=c[d+48>>2]|0;m=((o+7|0)/-8|0)+o+(c[d+16>>2]|0)|0;n=(c[d+36>>2]|0)/2|0;if(!((e|0)!=0&(o|0)>0))return;f=c[d>>2]|0;j=c[d+20>>2]|0;while(1){d=0;i=0;h=j;while(1){if(!(i&7)){g=a[f>>0]|0;f=f+1|0}else g=d;d=(g&255)>>>7&255;if((d|0)!=(k|0))b[h>>1]=b[l+(d<<1)>>1]|0;i=i+1|0;if((i|0)==(o|0))break;else{d=(g&255)<<1&255;h=h+2|0}}e=e+-1|0;if(!e)break;else{f=f+m|0;j=j+(o<<1)+(n<<1)|0}}return}function oZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+24>>2]|0;d=c[b+28>>2]|0;o=c[b+36>>2]|0;j=c[b+56>>2]|0;k=c[b+48>>2]|0;l=((m+7|0)/-8|0)+m+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(m|0)>0))return;n=m*3|0;e=c[b>>2]|0;i=c[b+20>>2]|0;while(1){b=0;h=0;g=i;while(1){if(!(h&7)){f=a[e>>0]|0;e=e+1|0}else f=b;b=(f&255)>>>7;if((b&255|0)!=(j|0)){b=k+(b<<2&255)|0;a[g>>0]=a[b>>0]|0;a[g+1>>0]=a[b+1>>0]|0;a[g+2>>0]=a[b+2>>0]|0}h=h+1|0;if((h|0)==(m|0))break;else{b=(f&255)<<1&255;g=g+3|0}}d=d+-1|0;if(!d)break;else{e=e+l|0;i=i+n+o|0}}return}function pZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+24>>2]|0;d=c[b+28>>2]|0;j=c[b+56>>2]|0;k=c[b+48>>2]|0;l=((n+7|0)/-8|0)+n+(c[b+16>>2]|0)|0;m=(c[b+36>>2]|0)/4|0;if(!((d|0)!=0&(n|0)>0))return;e=c[b>>2]|0;i=c[b+20>>2]|0;while(1){b=0;h=0;g=i;while(1){if(!(h&7)){f=a[e>>0]|0;e=e+1|0}else f=b;b=(f&255)>>>7&255;if((b|0)!=(j|0))c[g>>2]=c[k+(b<<2)>>2];h=h+1|0;if((h|0)==(n|0))break;else{b=(f&255)<<1&255;g=g+4|0}}d=d+-1|0;if(!d)break;else{e=e+l|0;i=i+(n<<2)+(m<<2)|0}}return}function qZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[b+24>>2]|0;h=c[b+28>>2]|0;d=c[b>>2]|0;e=c[b+20>>2]|0;k=c[b+36>>2]|0;i=c[b+48>>2]|0;j=(c[b+16>>2]|0)+(l-((l+7|0)/8|0))|0;f=h+-1|0;b=(h|0)!=0&(l|0)>0;if(!i){if(b)h=f;else return;while(1){b=0;f=0;g=e;while(1){if(!(f&7)){b=a[d>>0]|0;d=d+1|0}a[g>>0]=(b&255)>>>7;f=f+1|0;if((f|0)==(l|0))break;else{b=(b&255)<<1&255;g=g+1|0}}if(!h)break;else{e=e+l+k|0;d=d+j|0;h=h+-1|0}}return}else{if(b)h=f;else return;while(1){b=0;g=0;f=e;while(1){if(!(g&7)){b=a[d>>0]|0;d=d+1|0}a[f>>0]=a[i+((b&255)>>>7&255)>>0]|0;g=g+1|0;if((g|0)==(l|0))break;else{b=(b&255)<<1&255;f=f+1|0}}if(!h)break;else{d=d+j|0;e=e+l+k|0;h=h+-1|0}}return}}function rZ(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[d+24>>2]|0;e=c[d+28>>2]|0;m=(c[d+36>>2]|0)/2|0;j=c[d+48>>2]|0;k=((l+7|0)/-8|0)+l+(c[d+16>>2]|0)|0;if(!((e|0)!=0&(l|0)>0))return;i=c[d+20>>2]|0;d=c[d>>2]|0;while(1){f=0;g=0;h=i;while(1){if(!(g&7)){f=a[d>>0]|0;d=d+1|0}b[h>>1]=b[j+(((f&255)>>>7&255)<<1)>>1]|0;g=g+1|0;if((g|0)==(l|0))break;else{f=(f&255)<<1&255;h=h+2|0}}e=e+-1|0;if(!e)break;else{i=i+(l<<1)+(m<<1)|0;d=d+k|0}}return}function sZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=c[b+24>>2]|0;d=c[b+28>>2]|0;m=c[b+36>>2]|0;i=c[b+48>>2]|0;j=((l+7|0)/-8|0)+l+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(l|0)>0))return;k=l*3|0;h=c[b+20>>2]|0;b=c[b>>2]|0;while(1){e=0;f=0;g=h;while(1){if(!(f&7)){e=a[b>>0]|0;b=b+1|0}o=(e&255)>>>7<<2&255;n=o|1;a[g>>0]=a[i+o>>0]|0;a[g+1>>0]=a[i+n>>0]|0;a[g+2>>0]=a[i+(n+1)>>0]|0;f=f+1|0;if((f|0)==(l|0))break;else{e=(e&255)<<1&255;g=g+3|0}}d=d+-1|0;if(!d)break;else{h=h+k+m|0;b=b+j|0}}return}function tZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c[b+24>>2]|0;d=c[b+28>>2]|0;l=(c[b+36>>2]|0)/4|0;i=c[b+48>>2]|0;j=((k+7|0)/-8|0)+k+(c[b+16>>2]|0)|0;if(!((d|0)!=0&(k|0)>0))return;e=c[b>>2]|0;h=c[b+20>>2]|0;while(1){b=0;g=0;f=h;while(1){if(!(g&7)){b=a[e>>0]|0;e=e+1|0}c[f>>2]=c[i+(((b&255)>>>7&255)<<2)>>2];g=g+1|0;if((g|0)==(k|0))break;else{b=(b&255)<<1&255;f=f+4|0}}d=d+-1|0;if(!d)break;else{e=e+j|0;h=h+(k<<2)+(l<<2)|0}}return}function uZ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((e|0)<=0){w=e<<2;return w|0}v=f+12|0;w=d[f+32>>0]|0;q=f+16|0;r=d[f+33>>0]|0;s=f+20|0;t=d[f+34>>0]|0;u=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;i=g+24|0;h=0;g=a;f=b;while(1){a=c[f>>2]|0;b=(c[q>>2]&a)>>>r>>>m<<n|(c[v>>2]&a)>>>w>>>k<<l|c[i>>2]|(c[s>>2]&a)>>>t>>>o<<p;c[g>>2]=b&63519|(c[u>>2]&a)>>>j<<2&2016|b<<16&132120576;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}w=e<<2;return w|0}function vZ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((e|0)<=0){w=e<<2;return w|0}v=f+12|0;w=d[f+32>>0]|0;q=f+16|0;r=d[f+33>>0]|0;s=f+20|0;t=d[f+34>>0]|0;u=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;i=g+24|0;h=0;g=a;f=b;while(1){a=c[f>>2]|0;b=(c[q>>2]&a)>>>r>>>m<<n|(c[v>>2]&a)>>>w>>>k<<l|c[i>>2]|(c[s>>2]&a)>>>t>>>o<<p;c[g>>2]=b&64543|(c[u>>2]&a)>>>j<<2&992|b<<16&65011712;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}w=e<<2;return w|0}function wZ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((e|0)<=0){v=e<<2;return v|0}u=f+12|0;v=d[f+32>>0]|0;p=f+16|0;q=d[f+33>>0]|0;r=f+20|0;s=d[f+34>>0]|0;t=f+24|0;j=d[f+35>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;i=d[g+34>>0]|0;h=0;g=a;f=b;while(1){b=c[f>>2]|0;c[g>>2]=(c[u>>2]&b)>>>v>>>k<<l|(c[t>>2]&b)>>>j<<24|(c[p>>2]&b)>>>q>>>m<<n|(c[r>>2]&b)>>>s>>>o<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}v=e<<2;return v|0}function xZ(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((f|0)<=0){y=f<<1;return y|0}q=c[22432+((d[g+28>>0]|0)<<2)>>2]|0;r=c[g+12>>2]|0;s=c[22432+((d[g+29>>0]|0)<<2)>>2]|0;t=c[g+16>>2]|0;u=c[22432+((d[g+30>>0]|0)<<2)>>2]|0;v=c[g+20>>2]|0;w=c[h+24>>2]|0;x=d[g+32>>0]|0;y=d[g+33>>0]|0;k=d[g+34>>0]|0;l=d[h+28>>0]|0;m=d[h+32>>0]|0;n=d[h+29>>0]|0;o=d[h+33>>0]|0;p=d[h+30>>0]|0;j=d[h+34>>0]|0;i=0;h=a;g=e;while(1){e=c[g>>2]|0;b[h>>1]=(d[s+((t&e)>>>y)>>0]|0)>>>n<<o|(d[q+((r&e)>>>x)>>0]|0)>>>l<<m|w|(d[u+((v&e)>>>k)>>0]|0)>>>p<<j;i=i+1|0;if((i|0)==(f|0))break;else{h=h+2|0;g=g+4|0}}y=f<<1;return y|0}function yZ(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=f+8|0;t=c[o>>2]|0;p=h+4|0;q=c[p>>2]|0;if(c[h>>2]&2|0){k=h+28|0;j=c[k>>2]|0;if(!j){XV(h,1);c[h>>2]=c[h>>2]|2;j=c[k>>2]|0}c[k>>2]=j+1}s=h+16|0;n=(c[h+20>>2]|0)+(O(c[s>>2]|0,c[i+4>>2]|0)|0)|0;l=a[q+9>>0]|0;n=n+(O(l&255,c[i>>2]|0)|0)|0;j=(c[(c[f+52>>2]|0)+12>>2]|0)+28|0;k=c[g+4>>2]|0;a:do if(!k)m=22;else{if(l<<24>>24!=2){f=k<<1;while(1){k=0;do{k=(e[j>>1]|0)+k|0;r=b[j+2>>1]|0;i=r&65535;j=j+4|0;if(!(r<<16>>16)){if(!k)break a}else{k=k+i|0;j=j+(i<<2)|0}}while((k|0)<(t|0));f=f+-1|0;if(!f){m=22;break a}}}while(1){i=0;do{i=(d[j>>0]|0)+i|0;r=a[j+1>>0]|0;f=r&255;j=j+2|0;if(!(r<<24>>24)){if(!i)break a}else{i=i+f|0;j=j+(f<<1)|0}}while((i|0)<(t|0));i=0;j=j+(j&2)|0;do{r=e[j+2>>1]|0;f=j;j=j+((r<<2)+4)|0;i=(e[f>>1]|0)+i+r|0}while((i|0)<(t|0));k=k+-1|0;if(!k){m=22;break}}}while(0);b:do if((m|0)==22){r=c[g>>2]|0;if((r|0)==0?(c[g+8>>2]|0)==(c[o>>2]|0):0){switch(l<<24>>24){case 2:break;case 4:{o=c[g+12>>2]|0;while(1){k=0;do{k=(e[j>>1]|0)+k|0;r=b[j+2>>1]|0;i=r&65535;j=j+4|0;if(!(r<<16>>16)){if(!k)break b}else{r=i<<2;s6(n+(k<<2)|0,j|0,r|0)|0;k=k+i|0;j=j+r|0}}while((k|0)<(t|0));k=0;do{k=(e[j>>1]|0)+k|0;r=b[j+2>>1]|0;m=r&65535;j=j+4|0;if(r<<16>>16){i=0;f=n+(k<<2)|0;l=j;while(1){q=c[l>>2]|0;p=c[f>>2]|0;g=q>>>24;r=p&16711935;p=p&65280;c[f>>2]=((O((q&65280)-p|0,g)|0)>>>8)+p&65280|((O((q&16711935)-r|0,g)|0)>>>8)+r&16711935|-16777216;i=i+1|0;if((i|0)==(m|0))break;else{f=f+4|0;l=l+4|0}}j=j+(m<<2)|0;k=k+m|0}}while((k|0)<(t|0));o=o+-1|0;if(!o)break b;else n=n+(c[s>>2]|0)|0}}default:break b}if(((c[q+16>>2]|0)!=2016?(c[q+12>>2]|0)!=2016:0)?(c[q+20>>2]|0)!=2016:0){o=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;r=a[j+1>>0]|0;i=r&255;j=j+2|0;if(!(r<<24>>24)){if(!k)break b}else{r=i<<1;s6(n+(k<<1)|0,j|0,r|0)|0;k=k+i|0;j=j+r|0}}while((k|0)<(t|0));j=j+(j&2)|0;k=0;do{k=(e[j>>1]|0)+k|0;r=b[j+2>>1]|0;m=r&65535;j=j+4|0;if(r<<16>>16){i=0;f=n+(k<<1)|0;l=j;while(1){g=c[l>>2]|0;r=e[f>>1]|0;r=(r<<16|r)&65043487;r=((O((g&65043487)-r|0,g>>>5&31)|0)>>>5)+r&65043487;b[f>>1]=r>>>16|r;i=i+1|0;if((i|0)==(m|0))break;else{f=f+2|0;l=l+4|0}}j=j+(m<<2)|0;k=k+m|0}}while((k|0)<(t|0));o=o+-1|0;if(!o)break b;else n=n+(c[s>>2]|0)|0}}o=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;r=a[j+1>>0]|0;i=r&255;j=j+2|0;if(!(r<<24>>24)){if(!k)break b}else{r=i<<1;s6(n+(k<<1)|0,j|0,r|0)|0;k=k+i|0;j=j+r|0}}while((k|0)<(t|0));j=j+(j&2)|0;k=0;do{k=(e[j>>1]|0)+k|0;r=b[j+2>>1]|0;m=r&65535;j=j+4|0;if(r<<16>>16){i=n+(k<<1)|0;f=0;l=j;while(1){g=c[l>>2]|0;r=e[i>>1]|0;r=(r<<16|r)&132184095;r=((O((g&132184095)-r|0,g>>>5&31)|0)>>>5)+r&132184095;b[i>>1]=r>>>16|r;f=f+1|0;if((f|0)==(m|0))break;else{i=i+2|0;l=l+4|0}}j=j+(m<<2)|0;k=k+m|0}}while((k|0)<(t|0));o=o+-1|0;if(!o)break b;else n=n+(c[s>>2]|0)|0}}k=c[p>>2]|0;switch(a[k+9>>0]|0){case 2:break;case 4:{q=(c[g+8>>2]|0)+r|0;p=c[g+12>>2]|0;o=n+(0-(r<<2))|0;while(1){k=0;do{k=(e[j>>1]|0)+k|0;g=b[j+2>>1]|0;l=g&65535;j=j+4|0;if(!(g<<16>>16)){if(!k)break b}else{i=r-k|0;g=(i|0)>0;f=g?r:k;i=l-(g?i:0)|0;g=q-f|0;i=(i|0)>(g|0)?g:i;if((i|0)>0)s6(o+(f<<2)|0,j+(f-k<<2)|0,i<<2|0)|0;k=k+l|0;j=j+(l<<2)|0}}while((k|0)<(t|0));k=0;do{k=(e[j>>1]|0)+k|0;g=b[j+2>>1]|0;n=g&65535;j=j+4|0;if(g<<16>>16){l=r-k|0;g=(l|0)>0;i=g?r:k;l=n-(g?l:0)|0;g=q-i|0;l=(l|0)>(g|0)?g:l;if((l|0)>0){m=o+(i<<2)|0;f=j+(i-k<<2)|0;i=0;do{w=c[f+(i<<2)>>2]|0;g=m+(i<<2)|0;u=c[g>>2]|0;v=w>>>24;x=u&16711935;u=u&65280;c[g>>2]=((O((w&16711935)-x|0,v)|0)>>>8)+x&16711935|((O((w&65280)-u|0,v)|0)>>>8)+u&65280|-16777216;i=i+1|0}while((i|0)<(l|0))}j=j+(n<<2)|0;k=k+n|0}}while((k|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}default:break b}if(((c[k+16>>2]|0)!=2016?(c[k+12>>2]|0)!=2016:0)?(c[k+20>>2]|0)!=2016:0){q=(c[g+8>>2]|0)+r|0;p=c[g+12>>2]|0;o=n+(0-(r<<1))|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;x=a[j+1>>0]|0;l=x&255;j=j+2|0;if(!(x<<24>>24)){if(!k)break b}else{i=r-k|0;f=(i|0)>0;i=l-(f?i:0)|0;f=f?r:k;x=q-f|0;i=(i|0)>(x|0)?x:i;if((i|0)>0)s6(o+(f<<1)|0,j+(f-k<<1)|0,i<<1|0)|0;k=k+l|0;j=j+(l<<1)|0}}while((k|0)<(t|0));j=j+(j&2)|0;k=0;do{k=(e[j>>1]|0)+k|0;x=b[j+2>>1]|0;n=x&65535;j=j+4|0;if(x<<16>>16){l=r-k|0;i=(l|0)>0;l=n-(i?l:0)|0;i=i?r:k;x=q-i|0;l=(l|0)>(x|0)?x:l;if((l|0)>0){m=o+(i<<1)|0;f=j+(i-k<<2)|0;i=0;do{v=c[f+(i<<2)>>2]|0;x=m+(i<<1)|0;w=e[x>>1]|0;w=(w<<16|w)&65043487;w=((O((v&65043487)-w|0,v>>>5&31)|0)>>>5)+w&65043487;b[x>>1]=w>>>16|w;i=i+1|0}while((i|0)<(l|0))}j=j+(n<<2)|0;k=k+n|0}}while((k|0)<(t|0));p=p+-1|0;if(!p)break b;else o=o+(c[s>>2]|0)|0}}q=(c[g+8>>2]|0)+r|0;p=n+(0-(r<<1))|0;o=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;x=a[j+1>>0]|0;l=x&255;j=j+2|0;if(!(x<<24>>24)){if(!k)break b}else{i=r-k|0;f=(i|0)>0;i=l-(f?i:0)|0;f=f?r:k;x=q-f|0;i=(i|0)>(x|0)?x:i;if((i|0)>0)s6(p+(f<<1)|0,j+(f-k<<1)|0,i<<1|0)|0;k=k+l|0;j=j+(l<<1)|0}}while((k|0)<(t|0));k=0;j=j+(j&2)|0;do{k=(e[j>>1]|0)+k|0;x=b[j+2>>1]|0;n=x&65535;j=j+4|0;if(x<<16>>16){l=r-k|0;i=(l|0)>0;l=n-(i?l:0)|0;i=i?r:k;x=q-i|0;l=(l|0)>(x|0)?x:l;if((l|0)>0){m=p+(i<<1)|0;f=j+(i-k<<2)|0;i=0;do{v=c[f+(i<<2)>>2]|0;x=m+(i<<1)|0;w=e[x>>1]|0;w=(w<<16|w)&132184095;w=((O((v&132184095)-w|0,v>>>5&31)|0)>>>5)+w&132184095;b[x>>1]=w>>>16|w;i=i+1|0}while((i|0)<(l|0))}k=k+n|0;j=j+(n<<2)|0}}while((k|0)<(t|0));o=o+-1|0;if(!o)break;else p=p+(c[s>>2]|0)|0}}while(0);j=c[h>>2]|0;if(!(j&2))return 0;k=h+28|0;i=c[k>>2]|0;if(!i)return 0;c[k>>2]=i+-1;if((i|0)>1)return 0;c[h>>2]=j&-3;$V(h)|0;return 0}function zZ(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;o=f+8|0;R=c[o>>2]|0;if(c[h>>2]&2|0){k=h+28|0;j=c[k>>2]|0;if(!j){XV(h,1);c[h>>2]=c[h>>2]|2;j=c[k>>2]|0}c[k>>2]=j+1}Q=h+16|0;L=c[Q>>2]|0;l=(c[h+20>>2]|0)+(O(L,c[i+4>>2]|0)|0)|0;p=c[f+4>>2]|0;n=a[p+9>>0]|0;l=l+(O(n&255,c[i>>2]|0)|0)|0;m=c[f+52>>2]|0;j=c[m+12>>2]|0;k=c[g+4>>2]|0;a:do if(!k)P=36;else{b:do switch(n<<24>>24){case 1:{i=k;k=0;while(1){f=(d[j>>0]|0)+k|0;N=a[j+1>>0]|0;k=N&255;j=j+2|0;if(!(N<<24>>24))if(!f){k=5;f=0}else P=10;else{f=f+k|0;j=j+k|0;P=10}do if((P|0)==10){P=0;if((f|0)==(R|0)){k=i+-1|0;if(!k){k=3;i=0;f=0;break}else{i=k;f=0}}k=0}while(0);switch(k&7){case 3:{P=36;break a}case 0:{k=f;break}default:break b}}}case 2:{i=k;k=0;while(1){k=(d[j>>0]|0)+k|0;N=a[j+1>>0]|0;f=N&255;j=j+2|0;if(!(N<<24>>24))if(!k){k=5;f=0}else P=17;else{j=j+(f<<1)|0;k=k+f|0;P=17}do if((P|0)==17){P=0;if((k|0)==(R|0)){k=i+-1|0;if(!k){k=6;i=0;f=0;break}else{i=k;f=0}}else f=k;k=0}while(0);switch(k&7){case 6:{P=36;break a}case 0:{k=f;break}default:break b}}}case 3:{i=k;k=0;while(1){k=(d[j>>0]|0)+k|0;N=a[j+1>>0]|0;f=N&255;j=j+2|0;if(!(N<<24>>24))if(!k){f=0;k=5}else P=24;else{j=j+(f*3|0)|0;k=k+f|0;P=24}do if((P|0)==24){P=0;if((k|0)==(R|0)){i=i+-1|0;if(!i){f=0;k=8;i=0;break}else k=0}f=k;k=0}while(0);switch(k&15){case 8:{P=36;break a}case 0:{k=f;break}default:break b}}}case 4:{i=0;while(1){i=(e[j>>1]|0)+i|0;N=b[j+2>>1]|0;f=N&65535;j=j+4|0;if(!(N<<16>>16))if(!i){f=k;i=0;k=5}else P=31;else{j=j+(f<<2)|0;i=i+f|0;P=31}do if((P|0)==31){P=0;if((i|0)==(R|0)){k=k+-1|0;if(!k){f=0;i=0;k=10;break}else i=0}f=k;k=0}while(0);switch(k&15){case 10:{P=36;break a}case 0:{k=f;break}default:break b}}}default:{P=36;break a}}while(0);switch(k|0){case 0:{P=36;break a}case 5:break a;default:{}}return 0}while(0);c:do if((P|0)==36){f=a[m+79>>0]|0;M=f&255;N=c[g>>2]|0;if((N|0)==0?(c[g+8>>2]|0)==(c[o>>2]|0):0){if(f<<24>>24==-1)switch(n<<24>>24){case 1:{f=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;P=a[j+1>>0]|0;i=P&255;j=j+2|0;if(!(P<<24>>24)){if(!k)break c}else{s6(l+k|0,j|0,i|0)|0;k=k+i|0;j=j+i|0}}while((k|0)!=(R|0));f=f+-1|0;if(!f)break c;else l=l+(c[Q>>2]|0)|0}}case 2:{f=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;P=a[j+1>>0]|0;i=P&255;j=j+2|0;if(!(P<<24>>24)){if(!k)break c}else{P=i<<1;s6(l+(k<<1)|0,j|0,P|0)|0;k=k+i|0;j=j+P|0}}while((k|0)!=(R|0));f=f+-1|0;if(!f)break c;else l=l+(c[Q>>2]|0)|0}}case 3:{f=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;P=a[j+1>>0]|0;i=P&255;j=j+2|0;if(!(P<<24>>24)){if(!k)break c}else{P=i*3|0;s6(l+(k*3|0)|0,j|0,P|0)|0;k=k+i|0;j=j+P|0}}while((k|0)!=(R|0));f=f+-1|0;if(!f)break c;else l=l+(c[Q>>2]|0)|0}}case 4:{f=c[g+12>>2]|0;while(1){k=0;do{k=(e[j>>1]|0)+k|0;P=b[j+2>>1]|0;i=P&65535;j=j+4|0;if(!(P<<16>>16)){if(!k)break c}else{P=i<<2;s6(l+(k<<2)|0,j|0,P|0)|0;k=k+i|0;j=j+P|0}}while((k|0)!=(R|0));f=f+-1|0;if(!f)break c;else l=l+(c[Q>>2]|0)|0}}default:break c}switch(n<<24>>24){case 4:{F=p+12|0;L=c[F>>2]|0;G=p+16|0;N=c[G>>2]|0;H=p+20|0;P=c[H>>2]|0;if((N|L|P|0)==16777215?(L|0)==65280|(N|0)==65280|(P|0)==65280:0){k=c[g+12>>2]|0;if(f<<24>>24==-128){o=l;while(1){i=0;do{i=(e[j>>1]|0)+i|0;P=b[j+2>>1]|0;n=P&65535;j=j+4|0;if(!(P<<16>>16)){if(!i)break c}else{l=o+(i<<2)|0;f=j;m=0;while(1){N=c[f>>2]|0;P=c[l>>2]|0;c[l>>2]=(((P&16711422)+(N&16711422)|0)>>>1)+(N&65793&P);m=m+1|0;if((m|0)==(n|0))break;else{l=l+4|0;f=f+4|0}}i=i+n|0;j=j+(n<<2)|0}}while((i|0)!=(R|0));k=k+-1|0;if(!k)break c;else o=o+(c[Q>>2]|0)|0}}else{o=l;while(1){i=0;do{i=(e[j>>1]|0)+i|0;P=b[j+2>>1]|0;n=P&65535;j=j+4|0;if(!(P<<16>>16)){if(!i)break c}else{l=o+(i<<2)|0;f=j;m=0;while(1){N=c[f>>2]|0;P=c[l>>2]|0;L=P&16711935;P=P&65280;c[l>>2]=((O((N&16711935)-L|0,M)|0)>>>8)+L&16711935|((O((N&65280)-P|0,M)|0)>>>8)+P&65280;m=m+1|0;if((m|0)==(n|0))break;else{l=l+4|0;f=f+4|0}}i=i+n|0;j=j+(n<<2)|0}}while((i|0)!=(R|0));k=k+-1|0;if(!k)break c;else o=o+(c[Q>>2]|0)|0}}}z=p+28|0;A=p+32|0;B=p+29|0;C=p+33|0;D=p+30|0;E=p+34|0;y=p+24|0;x=c[g+12>>2]|0;while(1){k=0;do{k=(e[j>>1]|0)+k|0;P=b[j+2>>1]|0;w=P&65535;j=j+4|0;if(!(P<<16>>16)){if(!k)break c}else{n=d[z>>0]|0;q=c[22432+(n<<2)>>2]|0;r=a[A>>0]|0;o=d[B>>0]|0;s=c[22432+(o<<2)>>2]|0;t=a[C>>0]|0;p=d[D>>0]|0;u=c[22432+(p<<2)>>2]|0;v=a[E>>0]|0;i=l+(k<<2)|0;f=j;m=0;while(1){K=c[f>>2]|0;g=c[i>>2]|0;U=c[F>>2]|0;L=r&255;S=c[G>>2]|0;N=t&255;J=c[H>>2]|0;P=v&255;T=d[q+((U&g)>>>L)>>0]|0;I=d[s+((S&g)>>>N)>>0]|0;g=d[u+((J&g)>>>P)>>0]|0;L=(((O((d[q+((U&K)>>>L)>>0]|0)-T|0,M)|0)>>>8)+T|0)>>>n<<L;N=(((O((d[s+((S&K)>>>N)>>0]|0)-I|0,M)|0)>>>8)+I|0)>>>o<<N;P=(((O((d[u+((J&K)>>>P)>>0]|0)-g|0,M)|0)>>>8)+g|0)>>>p<<P;c[i>>2]=L|c[y>>2]|N|P;m=m+1|0;if((m|0)==(w|0))break;else{i=i+4|0;f=f+4|0}}k=k+w|0;j=j+(w<<2)|0}}while((k|0)!=(R|0));x=x+-1|0;if(!x)break c;else l=l+(c[Q>>2]|0)|0}}case 2:{G=c[p+12>>2]|0;H=c[p+16>>2]|0;I=c[p+20>>2]|0;k=H|G|I;d:do if((k|0)<65535){switch(k|0){case 32767:break;default:break d}if((G|0)==992|(H|0)==992|(I|0)==992){k=c[g+12>>2]|0;if(f<<24>>24==-128){r=k;q=l}else{p=M>>>3;o=k;n=l;while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;m=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{i=0;l=j;f=n+(k<<1)|0;while(1){T=e[l>>1]|0;U=e[f>>1]|0;U=(U<<16|U)&65043487;U=((O(((T<<16|T)&65043487)-U|0,p)|0)>>>5)+U&65043487;b[f>>1]=U>>>16|U;i=i+1|0;if((i|0)==(m|0))break;else{l=l+2|0;f=f+2|0}}k=k+m|0;j=j+(m<<1)|0}}while((k|0)!=(R|0));o=o+-1|0;if(!o)break c;else n=n+L|0}}while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;o=U&255;p=j+2|0;if(!(U<<24>>24))if(!k)break c;else j=p;else{f=q+(k<<1)|0;i=p;do if(!((f^i)&3)){if(!(i&3)){l=o;i=p;j=f}else{i=b[p>>1]|0;l=b[f>>1]|0;b[f>>1]=(((l&-1058&65535)+(i&-1058&65535)|0)>>>1)+(i&1057&l&65535);l=o+-1|0;i=j+4|0;j=f+2|0}if(l>>>0>1){m=l+-2|0;n=j+4|0;f=i;while(1){T=c[f>>2]|0;U=c[j>>2]|0;c[j>>2]=(U>>>1&2112847343)+(T>>>1&2112847343)+(T&69272609&U);l=l+-2|0;if(l>>>0<=1)break;else{f=f+4|0;j=j+4|0}}j=m&-2;l=m-j|0;i=i+4+(j<<1)|0;j=n+(j<<1)|0}if(!l)break;T=b[i>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535)}else{i=o;l=p;j=f;while(1){i=i+-1|0;T=b[l>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);if(!i)break;else{l=l+2|0;j=j+2|0}}}while(0);k=k+o|0;j=p+(o<<1)|0}}while((k|0)!=(R|0));r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}else{switch(k|0){case 65535:break;default:break d}if((G|0)==2016|(H|0)==2016|(I|0)==2016){k=c[g+12>>2]|0;if(f<<24>>24==-128){r=k;q=l}else{p=M>>>3;o=k;n=l;while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;m=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{i=0;l=j;f=n+(k<<1)|0;while(1){T=e[l>>1]|0;U=e[f>>1]|0;U=(U<<16|U)&132184095;U=((O(((T<<16|T)&132184095)-U|0,p)|0)>>>5)+U&132184095;b[f>>1]=U>>>16|U;i=i+1|0;if((i|0)==(m|0))break;else{l=l+2|0;f=f+2|0}}k=k+m|0;j=j+(m<<1)|0}}while((k|0)!=(R|0));o=o+-1|0;if(!o)break c;else n=n+L|0}}while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;o=U&255;p=j+2|0;if(!(U<<24>>24))if(!k)break c;else j=p;else{f=q+(k<<1)|0;i=p;do if(!((f^i)&3)){if(!(i&3)){l=o;i=p;j=f}else{i=b[p>>1]|0;l=b[f>>1]|0;b[f>>1]=(((l&-2082&65535)+(i&-2082&65535)|0)>>>1)+(i&2081&l&65535);l=o+-1|0;i=j+4|0;j=f+2|0}if(l>>>0>1){m=l+-2|0;n=j+4|0;f=i;while(1){T=c[f>>2]|0;U=c[j>>2]|0;c[j>>2]=(U>>>1&2079292399)+(T>>>1&2079292399)+(T&136382497&U);l=l+-2|0;if(l>>>0<=1)break;else{f=f+4|0;j=j+4|0}}j=m&-2;l=m-j|0;i=i+4+(j<<1)|0;j=n+(j<<1)|0}if(!l)break;T=b[i>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535)}else{i=o;l=p;j=f;while(1){i=i+-1|0;T=b[l>>1]|0;U=b[j>>1]|0;b[j>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);if(!i)break;else{l=l+2|0;j=j+2|0}}}while(0);k=k+o|0;j=p+(o<<1)|0}}while((k|0)!=(R|0));r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}while(0);A=p+28|0;B=p+32|0;C=p+29|0;D=p+33|0;E=p+30|0;F=p+34|0;z=p+24|0;y=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;x=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{n=d[A>>0]|0;q=c[22432+(n<<2)>>2]|0;r=a[B>>0]|0;o=d[C>>0]|0;s=c[22432+(o<<2)>>2]|0;t=a[D>>0]|0;p=d[E>>0]|0;u=c[22432+(p<<2)>>2]|0;v=a[F>>0]|0;w=c[z>>2]|0;i=l+(k<<1)|0;f=j;m=0;while(1){S=e[f>>1]|0;T=e[i>>1]|0;N=r&255;Q=t&255;U=v&255;g=d[q+((G&T)>>>N)>>0]|0;P=d[s+((H&T)>>>Q)>>0]|0;T=d[u+((I&T)>>>U)>>0]|0;b[i>>1]=(((O((d[q+((G&S)>>>N)>>0]|0)-g|0,M)|0)>>>8)+g|0)>>>n<<N|w|(((O((d[s+((H&S)>>>Q)>>0]|0)-P|0,M)|0)>>>8)+P|0)>>>o<<Q|(((O((d[u+((I&S)>>>U)>>0]|0)-T|0,M)|0)>>>8)+T|0)>>>p<<U;m=m+1|0;if((m|0)==(x|0))break;else{i=i+2|0;f=f+2|0}}k=k+x|0;j=j+(x<<1)|0}}while((k|0)!=(R|0));y=y+-1|0;if(!y)break c;else l=l+L|0}}case 3:{q=p+28|0;r=p+12|0;s=p+32|0;t=p+29|0;u=p+16|0;v=p+33|0;w=p+30|0;x=p+20|0;y=p+34|0;p=p+24|0;o=c[g+12>>2]|0;while(1){k=0;do{k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;n=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{i=l+(k*3|0)|0;f=j;m=0;while(1){K=(d[f+1>>0]|0)<<8|(d[f+2>>0]|0)<<16|(d[f>>0]|0);U=i+2|0;S=i+1|0;g=(d[S>>0]|0)<<8|(d[U>>0]|0)<<16|(d[i>>0]|0);D=d[q>>0]|0;A=c[22432+(D<<2)>>2]|0;B=c[r>>2]|0;N=d[s>>0]|0;H=d[t>>0]|0;E=c[22432+(H<<2)>>2]|0;F=c[u>>2]|0;P=d[v>>0]|0;L=d[w>>0]|0;I=c[22432+(L<<2)>>2]|0;J=c[x>>2]|0;T=d[y>>0]|0;C=d[A+((g&B)>>>N)>>0]|0;G=d[E+((F&g)>>>P)>>0]|0;g=d[I+((J&g)>>>T)>>0]|0;N=(((O((d[A+((B&K)>>>N)>>0]|0)-C|0,M)|0)>>>8)+C|0)>>>D<<N;P=(((O((d[E+((F&K)>>>P)>>0]|0)-G|0,M)|0)>>>8)+G|0)>>>H<<P;T=(((O((d[I+((J&K)>>>T)>>0]|0)-g|0,M)|0)>>>8)+g|0)>>>L<<T;T=N|c[p>>2]|P|T;a[i>>0]=T;a[S>>0]=T>>>8;a[U>>0]=T>>>16;m=m+1|0;if((m|0)==(n|0))break;else{i=i+3|0;f=f+3|0}}k=k+n|0;j=j+(n*3|0)|0}}while((k|0)!=(R|0));o=o+-1|0;if(!o)break c;else l=l+(c[Q>>2]|0)|0}}default:break c}}i=c[h+4>>2]|0;k=a[i+9>>0]|0;if(f<<24>>24==-1)switch(k<<24>>24){case 1:{o=(c[g+8>>2]|0)+N|0;n=l+(0-N)|0;m=c[g+12>>2]|0;while(1){k=0;e:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;f=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{f:do if((k|0)<(o|0)){l=N-k|0;if((l|0)>0){i=f-l|0;if((i|0)<1)i=9;else P=46}else{l=0;i=f;P=46}if((P|0)==46){P=0;T=l+k|0;U=o-T|0;s6(n+T|0,j+l|0,((i|0)>(U|0)?U:i)|0)|0;i=0}switch(i&15){case 9:case 0:break f;default:{}}if(!i)continue e;else break c}while(0);j=j+f|0;k=k+f|0}if((k|0)==(R|0))break}m=m+-1|0;if(!m)break c;else n=n+(c[Q>>2]|0)|0}}case 2:{o=(c[g+8>>2]|0)+N|0;n=c[g+12>>2]|0;m=l+(0-(N<<1))|0;while(1){k=0;g:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;f=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{h:do if((k|0)<(o|0)){l=N-k|0;if((l|0)>0){i=f-l|0;if((i|0)<1)i=14;else P=59}else{l=0;i=f;P=59}if((P|0)==59){P=0;T=l+k|0;U=o-T|0;s6(m+(T<<1)|0,j+(l<<1)|0,((i|0)>(U|0)?U:i)<<1|0)|0;i=0}switch(i&15){case 14:case 0:break h;default:{}}if(!i)continue g;else break c}while(0);k=k+f|0;j=j+(f<<1)|0}if((k|0)==(R|0))break}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}case 3:{o=(c[g+8>>2]|0)+N|0;n=c[g+12>>2]|0;m=l+(O(N,-3)|0)|0;while(1){k=0;i:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;f=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{j:do if((k|0)<(o|0)){l=N-k|0;if((l|0)>0){i=f-l|0;if((i|0)<1)i=19;else P=72}else{l=0;i=f;P=72}if((P|0)==72){P=0;T=l+k|0;U=o-T|0;s6(m+(T*3|0)|0,j+(l*3|0)|0,((i|0)>(U|0)?U:i)*3|0)|0;i=0}switch(i&31){case 19:case 0:break j;default:{}}if(!i)continue i;else break c}while(0);k=k+f|0;j=j+(f*3|0)|0}if((k|0)==(R|0))break}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}case 4:{o=(c[g+8>>2]|0)+N|0;n=c[g+12>>2]|0;m=l+(0-(N<<2))|0;while(1){k=0;k:while(1){k=(e[j>>1]|0)+k|0;U=b[j+2>>1]|0;f=U&65535;j=j+4|0;if(!(U<<16>>16)){if(!k)break c}else{l:do if((k|0)<(o|0)){l=N-k|0;if((l|0)>0){i=f-l|0;if((i|0)<1)i=24;else P=85}else{l=0;i=f;P=85}if((P|0)==85){P=0;T=l+k|0;U=o-T|0;s6(m+(T<<2)|0,j+(l<<2)|0,((i|0)>(U|0)?U:i)<<2|0)|0;i=0}switch(i&31){case 24:case 0:break l;default:{}}if(!i)continue k;else break c}while(0);j=j+(f<<2)|0;k=k+f|0}if((k|0)==(R|0))break}n=n+-1|0;if(!n)break c;else m=m+(c[Q>>2]|0)|0}}default:break c}switch(k<<24>>24){case 4:{H=i+12|0;S=c[H>>2]|0;I=i+16|0;T=c[I>>2]|0;J=i+20|0;U=c[J>>2]|0;if((T|S|U|0)==16777215?(S|0)==65280|(T|0)==65280|(U|0)==65280:0){k=c[g+12>>2]|0;q=N+(c[g+8>>2]|0)|0;i=l+(0-(N<<2))|0;if(f<<24>>24==-128){p=k;o=i;while(1){k=0;m:while(1){k=(e[j>>1]|0)+k|0;U=b[j+2>>1]|0;n=U&65535;j=j+4|0;if(!(U<<16>>16)){if(!k)break c}else{n:do if((k|0)<(q|0)){l=N-k|0;if((l|0)>0){i=n-l|0;if((i|0)<1)i=108;else P=210}else{i=n;l=0;P=210}if((P|0)==210){P=0;f=l+k|0;m=q-f|0;m=(i|0)>(m|0)?m:i;if((m|0)>0){f=o+(f<<2)|0;i=j+(l<<2)|0;l=0;while(1){T=c[i>>2]|0;U=c[f>>2]|0;c[f>>2]=(((U&16711422)+(T&16711422)|0)>>>1)+(T&65793&U);l=l+1|0;if((l|0)>=(m|0)){i=0;break}else{f=f+4|0;i=i+4|0}}}else i=0}switch(i&127){case 108:case 0:break n;default:{}}if(!i)continue m;else break c}while(0);k=k+n|0;j=j+(n<<2)|0}if((k|0)==(R|0))break}p=p+-1|0;if(!p)break c;else o=o+(c[Q>>2]|0)|0}}else{p=k;o=i;while(1){k=0;o:while(1){k=(e[j>>1]|0)+k|0;U=b[j+2>>1]|0;n=U&65535;j=j+4|0;if(!(U<<16>>16)){if(!k)break c}else{p:do if((k|0)<(q|0)){l=N-k|0;if((l|0)>0){i=n-l|0;if((i|0)<1)i=118;else P=223}else{i=n;l=0;P=223}if((P|0)==223){P=0;f=l+k|0;m=q-f|0;m=(i|0)>(m|0)?m:i;if((m|0)>0){f=o+(f<<2)|0;i=j+(l<<2)|0;l=0;while(1){T=c[i>>2]|0;U=c[f>>2]|0;S=U&16711935;U=U&65280;c[f>>2]=((O((T&16711935)-S|0,M)|0)>>>8)+S&16711935|((O((T&65280)-U|0,M)|0)>>>8)+U&65280;l=l+1|0;if((l|0)>=(m|0)){i=0;break}else{f=f+4|0;i=i+4|0}}}else i=0}switch(i&127){case 118:case 0:break p;default:{}}if(!i)continue o;else break c}while(0);k=k+n|0;j=j+(n<<2)|0}if((k|0)==(R|0))break}p=p+-1|0;if(!p)break c;else o=o+(c[Q>>2]|0)|0}}}A=(c[g+8>>2]|0)+N|0;B=i+28|0;C=i+32|0;D=i+29|0;E=i+33|0;F=i+30|0;G=i+34|0;z=i+24|0;y=c[g+12>>2]|0;x=l+(0-(N<<2))|0;while(1){k=0;do{k=(e[j>>1]|0)+k|0;U=b[j+2>>1]|0;w=U&65535;j=j+4|0;if(!(U<<16>>16)){if(!k)break c}else{do if((k|0)<(A|0)){l=N-k|0;if((l|0)>0){i=w-l|0;if((i|0)<1)break}else{i=w;l=0}f=l+k|0;m=A-f|0;m=(i|0)>(m|0)?m:i;if((m|0)>0){n=d[B>>0]|0;q=c[22432+(n<<2)>>2]|0;o=d[D>>0]|0;r=c[22432+(o<<2)>>2]|0;p=d[F>>0]|0;s=c[22432+(p<<2)>>2]|0;t=d[C>>0]|0;u=d[E>>0]|0;v=d[G>>0]|0;f=x+(f<<2)|0;i=j+(l<<2)|0;l=0;while(1){P=c[i>>2]|0;U=c[f>>2]|0;K=c[H>>2]|0;g=c[I>>2]|0;L=c[J>>2]|0;S=d[q+((K&U)>>>t)>>0]|0;T=d[r+((g&U)>>>u)>>0]|0;U=d[s+((L&U)>>>v)>>0]|0;S=(((O((d[q+((K&P)>>>t)>>0]|0)-S|0,M)|0)>>>8)+S|0)>>>n<<t;T=(((O((d[r+((g&P)>>>u)>>0]|0)-T|0,M)|0)>>>8)+T|0)>>>o<<u;U=(((O((d[s+((L&P)>>>v)>>0]|0)-U|0,M)|0)>>>8)+U|0)>>>p<<v;c[f>>2]=S|c[z>>2]|T|U;l=l+1|0;if((l|0)>=(m|0))break;else{f=f+4|0;i=i+4|0}}}}while(0);k=k+w|0;j=j+(w<<2)|0}}while((k|0)!=(R|0));y=y+-1|0;if(!y)break;else x=x+(c[Q>>2]|0)|0}break}case 2:{I=c[i+12>>2]|0;J=c[i+16>>2]|0;K=c[i+20>>2]|0;k=J|I|K;q:do if((k|0)<65535){switch(k|0){case 32767:break;default:break q}if((I|0)==992|(J|0)==992|(K|0)==992){k=c[g+12>>2]|0;s=N+(c[g+8>>2]|0)|0;i=l+(0-(N<<1))|0;if(f<<24>>24==-128){r=k;q=i}else{r=M>>>3;q=k;p=i;while(1){k=0;r:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;o=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{s:do if((k|0)<(s|0)){i=N-k|0;if((i|0)>0){l=o-i|0;if((l|0)<1)i=78;else P=162}else{i=0;l=o;P=162}if((P|0)==162){P=0;n=i+k|0;f=s-n|0;f=(l|0)>(f|0)?f:l;if((f|0)>0){m=0;l=j+(i<<1)|0;i=p+(n<<1)|0;while(1){T=e[l>>1]|0;U=e[i>>1]|0;U=(U<<16|U)&65043487;U=((O(((T<<16|T)&65043487)-U|0,r)|0)>>>5)+U&65043487;b[i>>1]=U>>>16|U;m=m+1|0;if((m|0)>=(f|0)){i=0;break}else{l=l+2|0;i=i+2|0}}}else i=0}switch(i&127){case 78:case 0:break s;default:{}}if(!i)continue r;else break c}while(0);k=k+o|0;j=j+(o<<1)|0}if((k|0)==(R|0))break}q=q+-1|0;if(!q)break c;else p=p+L|0}}while(1){k=0;t:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;p=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{u:do if((k|0)<(s|0)){l=N-k|0;if((l|0)>0){i=p-l|0;if((i|0)<1)i=60;else P=141}else{l=0;i=p;P=141}v:do if((P|0)==141){P=0;f=l+k|0;m=s-f|0;m=(i|0)>(m|0)?m:i;l=j+(l<<1)|0;i=q+(f<<1)|0;f=l;if((i^f)&3|0){if(!m){i=0;break}while(1){m=m+-1|0;T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);if(!m){i=0;break v}else{l=l+2|0;i=i+2|0}}}if(f&3){T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);m=m+-1|0;l=l+2|0;i=i+2|0}if(m>>>0>1){o=m+-2|0;f=l;n=i;while(1){T=c[f>>2]|0;U=c[n>>2]|0;c[n>>2]=(T&69272609&U)+(T>>>1&2112847343)+(U>>>1&2112847343);m=m+-2|0;if(m>>>0<=1)break;else{f=f+4|0;n=n+4|0}}U=o&-2;m=o-U|0;l=l+4+(U<<1)|0;i=i+4+(U<<1)|0}if(!m){i=0;break}T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-1058&65535)+(T&-1058&65535)|0)>>>1)+(T&1057&U&65535);i=0}while(0);switch(i&63){case 60:case 0:break u;default:{}}if(!i)continue t;else break c}while(0);k=k+p|0;j=j+(p<<1)|0}if((k|0)==(R|0))break}r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}else{switch(k|0){case 65535:break;default:break q}if((I|0)==2016|(J|0)==2016|(K|0)==2016){k=c[g+12>>2]|0;s=N+(c[g+8>>2]|0)|0;i=l+(0-(N<<1))|0;if(f<<24>>24==-128){r=k;q=i}else{r=M>>>3;q=k;p=i;while(1){k=0;w:while(1){n=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;o=U&255;j=j+2|0;if(!(U<<24>>24))if(!n)break c;else k=n;else{x:do if((n|0)<(s|0)){k=N-n|0;if((k|0)>0){i=o-k|0;if((i|0)<1)k=49;else P=123}else{k=0;i=o;P=123}if((P|0)==123){P=0;m=k+n|0;l=s-m|0;l=(i|0)>(l|0)?l:i;if((l|0)>0){f=0;i=j+(k<<1)|0;k=p+(m<<1)|0;while(1){T=e[i>>1]|0;U=e[k>>1]|0;U=(U<<16|U)&132184095;U=((O(((T<<16|T)&132184095)-U|0,r)|0)>>>5)+U&132184095;b[k>>1]=U>>>16|U;f=f+1|0;if((f|0)>=(l|0)){k=0;break}else{i=i+2|0;k=k+2|0}}}else k=0}switch(k&63){case 49:case 0:break x;default:{}}if(!k){k=n;continue w}else break c}while(0);k=n+o|0;j=j+(o<<1)|0}if((k|0)==(R|0))break}q=q+-1|0;if(!q)break c;else p=p+L|0}}while(1){k=0;y:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;p=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{z:do if((k|0)<(s|0)){l=N-k|0;if((l|0)>0){i=p-l|0;if((i|0)<1)i=31;else P=102}else{l=0;i=p;P=102}A:do if((P|0)==102){P=0;f=l+k|0;m=s-f|0;m=(i|0)>(m|0)?m:i;l=j+(l<<1)|0;i=q+(f<<1)|0;f=l;if((i^f)&3|0){if(!m){i=0;break}while(1){m=m+-1|0;T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);if(!m){i=0;break A}else{l=l+2|0;i=i+2|0}}}if(f&3){T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);m=m+-1|0;l=l+2|0;i=i+2|0}if(m>>>0>1){o=m+-2|0;f=l;n=i;while(1){T=c[f>>2]|0;U=c[n>>2]|0;c[n>>2]=(T&136382497&U)+(T>>>1&2079292399)+(U>>>1&2079292399);m=m+-2|0;if(m>>>0<=1)break;else{f=f+4|0;n=n+4|0}}U=o&-2;m=o-U|0;l=l+4+(U<<1)|0;i=i+4+(U<<1)|0}if(!m){i=0;break}T=b[l>>1]|0;U=b[i>>1]|0;b[i>>1]=(((U&-2082&65535)+(T&-2082&65535)|0)>>>1)+(T&2081&U&65535);i=0}while(0);switch(i&31){case 31:case 0:break z;default:{}}if(!i)continue y;else break c}while(0);k=k+p|0;j=j+(p<<1)|0}if((k|0)==(R|0))break}r=r+-1|0;if(!r)break c;else q=q+(c[Q>>2]|0)|0}}}while(0);B=(c[g+8>>2]|0)+N|0;C=i+28|0;D=i+32|0;E=i+29|0;F=i+33|0;G=i+30|0;H=i+34|0;A=i+24|0;z=c[g+12>>2]|0;y=l+(0-(N<<1))|0;while(1){k=0;B:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;x=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{C:do if((k|0)<(B|0)){l=N-k|0;if((l|0)>0){i=x-l|0;if((i|0)<1)i=88;else P=178}else{i=x;l=0;P=178}if((P|0)==178){P=0;f=l+k|0;m=B-f|0;m=(i|0)>(m|0)?m:i;if((m|0)>0){n=d[C>>0]|0;q=c[22432+(n<<2)>>2]|0;o=d[E>>0]|0;r=c[22432+(o<<2)>>2]|0;p=d[G>>0]|0;s=c[22432+(p<<2)>>2]|0;t=c[A>>2]|0;u=d[D>>0]|0;v=d[F>>0]|0;w=d[H>>0]|0;f=y+(f<<1)|0;i=j+(l<<1)|0;l=0;while(1){T=e[i>>1]|0;U=e[f>>1]|0;Q=d[q+((U&I)>>>u)>>0]|0;S=d[r+((U&J)>>>v)>>0]|0;U=d[s+((U&K)>>>w)>>0]|0;b[f>>1]=(((O((d[q+((T&I)>>>u)>>0]|0)-Q|0,M)|0)>>>8)+Q|0)>>>n<<u|t|(((O((d[r+((T&J)>>>v)>>0]|0)-S|0,M)|0)>>>8)+S|0)>>>o<<v|(((O((d[s+((T&K)>>>w)>>0]|0)-U|0,M)|0)>>>8)+U|0)>>>p<<w;l=l+1|0;if((l|0)>=(m|0)){i=0;break}else{f=f+2|0;i=i+2|0}}}else i=0}switch(i&127){case 88:case 0:break C;default:{}}if(!i)continue B;else break c}while(0);k=k+x|0;j=j+(x<<1)|0}if((k|0)==(R|0))break}z=z+-1|0;if(!z)break;else y=y+L|0}break}case 3:{r=(c[g+8>>2]|0)+N|0;s=i+28|0;t=i+12|0;u=i+32|0;v=i+29|0;w=i+16|0;x=i+33|0;y=i+30|0;z=i+20|0;A=i+34|0;q=i+24|0;p=c[g+12>>2]|0;o=l+(O(N,-3)|0)|0;while(1){k=0;D:while(1){k=(d[j>>0]|0)+k|0;U=a[j+1>>0]|0;n=U&255;j=j+2|0;if(!(U<<24>>24)){if(!k)break c}else{E:do if((k|0)<(r|0)){l=N-k|0;if((l|0)>0){i=n-l|0;if((i|0)<1)i=98;else P=193}else{i=n;l=0;P=193}if((P|0)==193){P=0;f=l+k|0;m=r-f|0;m=(i|0)>(m|0)?m:i;if((m|0)>0){f=o+(f*3|0)|0;i=j+(l*3|0)|0;l=0;while(1){I=(d[i+1>>0]|0)<<8|(d[i+2>>0]|0)<<16|(d[i>>0]|0);U=f+2|0;S=f+1|0;J=(d[S>>0]|0)<<8|(d[U>>0]|0)<<16|(d[f>>0]|0);B=d[s>>0]|0;X=c[22432+(B<<2)>>2]|0;W=c[t>>2]|0;g=d[u>>0]|0;F=d[v>>0]|0;C=c[22432+(F<<2)>>2]|0;D=c[w>>2]|0;L=d[x>>0]|0;K=d[y>>0]|0;G=c[22432+(K<<2)>>2]|0;H=c[z>>2]|0;T=d[A>>0]|0;V=d[X+((J&W)>>>g)>>0]|0;E=d[C+((D&J)>>>L)>>0]|0;J=d[G+((H&J)>>>T)>>0]|0;g=(((O((d[X+((W&I)>>>g)>>0]|0)-V|0,M)|0)>>>8)+V|0)>>>B<<g;L=(((O((d[C+((D&I)>>>L)>>0]|0)-E|0,M)|0)>>>8)+E|0)>>>F<<L;T=(((O((d[G+((H&I)>>>T)>>0]|0)-J|0,M)|0)>>>8)+J|0)>>>K<<T;T=g|c[q>>2]|L|T;a[f>>0]=T;a[S>>0]=T>>>8;a[U>>0]=T>>>16;l=l+1|0;if((l|0)>=(m|0)){i=0;break}else{f=f+3|0;i=i+3|0}}}else i=0}switch(i&127){case 98:case 0:break E;default:{}}if(!i)continue D;else break c}while(0);k=k+n|0;j=j+(n*3|0)|0}if((k|0)==(R|0))break}p=p+-1|0;if(!p)break;else o=o+(c[Q>>2]|0)|0}break}default:break c}}while(0);j=c[h>>2]|0;if(!(j&2))return 0;k=h+28|0;i=c[k>>2]|0;if(!i)return 0;c[k>>2]=i+-1;if((i|0)>1)return 0;c[h>>2]=j&-3;$V(h)|0;return 0}function AZ(a){a=a|0;return d[a>>0]|0|0}function BZ(a){a=a|0;return e[a>>1]|0|0}function CZ(a){a=a|0;return (d[a+1>>0]|0)<<8|(d[a>>0]|0)|(d[a+2>>0]|0)<<16|0}function DZ(a){a=a|0;return c[a>>2]|0}function EZ(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;if(!a){c[b>>2]=386928;vV(406140,b);l=e;return}b=a+36|0;d=c[b>>2]|0;c[b>>2]=d+-1;if((d|0)>1){l=e;return}b=c[104299]|0;a:do if((b|0)!=(a|0)){if(b|0){do{d=b+40|0;b=c[d>>2]|0;if(!b)break a}while((b|0)!=(a|0));c[d>>2]=c[a+40>>2]}}else c[104299]=c[a+40>>2];while(0);b=c[a+4>>2]|0;if(b|0?(f=b+12|0,d=c[f>>2]|0,c[f>>2]=d+-1,(d|0)<=1):0){C2(c[b+4>>2]|0);C2(b)}C2(a);l=e;return}function FZ(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+48|0;o=S+16|0;n=S+24|0;if(!e){vV(393700,S);R=-1;l=S;return R|0}p=c[e+4>>2]|0;if((d[p+8>>0]|0)<8){vV(387057,S+8|0);R=-1;l=S;return R|0}h=e+36|0;do if(!f){if((c[e+44>>2]|0)<1){R=0;l=S;return R|0}if((c[e+48>>2]|0)<1){R=0;l=S;return R|0}else j=h}else{i=c[f+8>>2]|0;if((((i|0)>=1?(j=c[f+12>>2]|0,(j|0)>=1):0)?(k=c[e+44>>2]|0,(k|0)>=1):0)?(m=c[e+48>>2]|0,(m|0)>=1):0){T=c[f>>2]|0;R=i+T|0;h=c[h>>2]|0;i=k+h|0;k=(h|0)>(T|0)?h:T;c[n>>2]=k;k=((i|0)<(R|0)?i:R)-k|0;c[n+8>>2]=k;R=c[f+4>>2]|0;j=j+R|0;i=c[e+40>>2]|0;m=m+i|0;R=(i|0)>(R|0)?i:R;c[n+4>>2]=R;R=((m|0)<(j|0)?m:j)-R|0;c[n+12>>2]=R;if((k|0)>0&(R|0)>0){j=n;break}else Q=0;l=S;return Q|0}c[n+8>>2]=0;c[n+12>>2]=0;T=0;l=S;return T|0}while(0);f=c[e+20>>2]|0;if(!f){vV(387100,o);T=-1;l=S;return T|0}R=c[e+16>>2]|0;h=f+(O(R,c[j+4>>2]|0)|0)|0;T=a[p+9>>0]|0;h=h+(O(T&255,c[j>>2]|0)|0)|0;switch(T<<24>>24){case 1:{m=g<<8|g;m=m<<16|m;n=c[j+8>>2]|0;T=c[j+12>>2]|0;f=T+-1|0;if(!T){T=0;l=S;return T|0}e=g&255;k=n+-1|0;if((n|0)<=3){i=n&-4;if(!(n&3)){T=0;l=S;return T|0}switch(n&3){case 3:{while(1){g=h+i|0;T=g+1|0;a[g>>0]=e;a[T>>0]=e;a[T+1>>0]=e;if(!f){Q=0;break}else{h=h+R|0;f=f+-1|0}}l=S;return Q|0}case 2:{while(1){T=h+i|0;a[T>>0]=e;a[T+1>>0]=e;if(!f){Q=0;break}else{h=h+R|0;f=f+-1|0}}l=S;return Q|0}case 1:{while(1){a[h+i>>0]=e;if(!f){Q=0;break}else{h=h+R|0;f=f+-1|0}}l=S;return Q|0}default:{T=0;l=S;return T|0}}}a:while(1){switch(h&3){case 1:{a[h>>0]=e;r=h+1|0;t=k;P=26;break}case 2:{r=h;t=n;P=26;break}case 3:{v=h;x=n;P=27;break}default:{z=h;B=n}}if((P|0)==26){a[r>>0]=e;v=r+1|0;x=t+-1|0;P=27}if((P|0)==27){P=0;a[v>>0]=e;z=v+1|0;B=x+-1|0}i=B>>2;j=(i+3|0)>>>2;if(i|0){switch(i&3){case 0:{q=j;s=z;P=30;break}case 3:{u=j;w=z;P=31;break}case 2:{y=j;A=z;P=32;break}case 1:{C=j;D=z;P=33;break}default:{P=40;break a}}while(1)if((P|0)==30){c[s>>2]=m;u=q;w=s+4|0;P=31;continue}else if((P|0)==31){c[w>>2]=m;y=u;A=w+4|0;P=32;continue}else if((P|0)==32){c[A>>2]=m;C=y;D=A+4|0;P=33;continue}else if((P|0)==33){P=0;c[D>>2]=m;i=C+-1|0;if(!i)break;else{q=i;s=D+4|0;P=30;continue}}}b:do if(B&3|0){i=z+(B&-4)|0;switch(B&3){case 3:{a[i>>0]=e;E=i+1|0;P=37;break}case 2:{E=i;P=37;break}case 1:{F=i;break}default:break b}if((P|0)==37){P=0;a[E>>0]=e;F=E+1|0}a[F>>0]=e}while(0);if(!f){Q=0;P=80;break}else{h=h+R|0;f=f+-1|0}}if((P|0)!=40)if((P|0)==80){l=S;return Q|0}break}case 2:{e=g<<16|g;o=c[j+8>>2]|0;T=c[j+12>>2]|0;f=T+-1|0;if(!T){T=0;l=S;return T|0}q=o+-1|0;p=g&65535;if((o|0)<=1){if(!(o&1)){T=0;l=S;return T|0}while(1){b[h+(q<<1)>>1]=p;if(!f){Q=0;break}else{h=h+R|0;f=f+-1|0}}l=S;return Q|0}c:while(1){i=h+2|0;if(!(h&2)){m=h;n=o;k=h}else{b[h>>1]=p;m=i;n=q;k=i}i=n>>1;j=(i+3|0)>>>2;if(i|0){switch(i&3){case 0:{G=j;H=k;P=48;break}case 3:{I=j;J=k;P=49;break}case 2:{K=j;L=k;P=50;break}case 1:{M=j;N=k;P=51;break}default:{P=55;break c}}while(1)if((P|0)==48){c[H>>2]=e;I=G;J=H+4|0;P=49;continue}else if((P|0)==49){c[J>>2]=e;K=I;L=J+4|0;P=50;continue}else if((P|0)==50){c[L>>2]=e;M=K;N=L+4|0;P=51;continue}else if((P|0)==51){c[N>>2]=e;i=M+-1|0;if(!i)break;else{G=i;H=N+4|0;P=48;continue}}}if(n&1|0)b[m+(n+-1<<1)>>1]=p;if(!f){Q=0;P=80;break}else{h=h+R|0;f=f+-1|0}}if((P|0)!=55)if((P|0)==80){l=S;return Q|0}break}case 3:{e=c[j+8>>2]|0;j=c[j+12>>2]|0;m=g&255;n=g>>>8&255;k=g>>>16&255;if((e|0)==0|(j|0)==0){T=0;l=S;return T|0}while(1){f=e;i=h;while(1){f=f+-1|0;a[i>>0]=m;a[i+1>>0]=n;a[i+2>>0]=k;if(!f)break;else i=i+3|0}j=j+-1|0;if(!j){Q=0;break}else h=h+R|0}l=S;return Q|0}case 4:{i=c[j+8>>2]|0;f=c[j+12>>2]|0;if(!f){T=0;l=S;return T|0}k=(i+3|0)>>>2;if(!i){T=0;l=S;return T|0}switch(i&3){case 0:{while(1){i=k;j=h;while(1){c[j>>2]=g;c[j+4>>2]=g;c[j+8>>2]=g;c[j+12>>2]=g;i=i+-1|0;if(!i)break;else j=j+16|0}f=f+-1|0;if(!f){Q=0;break}else h=h+R|0}l=S;return Q|0}case 3:{k=k+-1|0;if(!k){while(1){c[h>>2]=g;c[h+4>>2]=g;c[h+8>>2]=g;f=f+-1|0;if(!f){Q=0;break}else h=h+R|0}l=S;return Q|0}while(1){c[h>>2]=g;c[h+4>>2]=g;c[h+8>>2]=g;i=h;j=k;do{T=i;i=i+16|0;c[T+12>>2]=g;c[i>>2]=g;c[T+20>>2]=g;c[T+24>>2]=g;j=j+-1|0}while((j|0)!=0);f=f+-1|0;if(!f){Q=0;break}else h=h+R|0}l=S;return Q|0}case 1:{k=k+-1|0;m=(k|0)==0;while(1){c[h>>2]=g;if(!m){i=h;j=k;do{c[i+4>>2]=g;c[i+8>>2]=g;c[i+12>>2]=g;i=i+16|0;c[i>>2]=g;j=j+-1|0}while((j|0)!=0)}f=f+-1|0;if(!f){Q=0;break}else h=h+R|0}l=S;return Q|0}default:{k=k+-1|0;m=(k|0)==0;while(1){c[h>>2]=g;c[h+4>>2]=g;if(!m){i=h;j=k;do{c[i+8>>2]=g;T=i;i=i+16|0;c[T+12>>2]=g;c[i>>2]=g;c[T+20>>2]=g;j=j+-1|0}while((j|0)!=0)}f=f+-1|0;if(!f){Q=0;break}else h=h+R|0}l=S;return Q|0}}}default:{T=0;l=S;return T|0}}return 0}function GZ(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((f|0)<=0){y=f<<1;return y|0}u=g+4|0;v=g+8|0;w=g+12|0;r=c[22432+((d[g+20>>0]|0)<<2)>>2]|0;s=c[22432+((d[g+21>>0]|0)<<2)>>2]|0;t=c[22432+((d[g+22>>0]|0)<<2)>>2]|0;x=d[g+24>>0]|0;y=d[g+25>>0]|0;k=d[g+26>>0]|0;l=d[h+28>>0]|0;m=d[h+32>>0]|0;n=d[h+29>>0]|0;o=d[h+33>>0]|0;p=d[h+30>>0]|0;q=d[h+34>>0]|0;j=(c[h+24>>2]|0?255:0)>>>(d[h+31>>0]|0)<<(d[h+35>>0]|0);i=0;h=b;g=a;while(1){a=e[h>>1]|0;c[g>>2]=(d[s+((c[v>>2]&a)>>>y)>>0]|0)>>>n<<o|(d[r+((a&c[u>>2])>>>x)>>0]|0)>>>l<<m|(d[t+((c[w>>2]&a)>>>k)>>0]|0)>>>p<<q|j;i=i+1|0;if((i|0)==(f|0))break;else{h=h+2|0;g=g+4|0}}y=f<<1;return y|0}function HZ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((e|0)<=0){y=e<<2;return y|0}y=f+4|0;u=f+8|0;v=f+12|0;r=c[22432+((d[f+20>>0]|0)<<2)>>2]|0;s=c[22432+((d[f+21>>0]|0)<<2)>>2]|0;t=c[22432+((d[f+22>>0]|0)<<2)>>2]|0;w=d[f+24>>0]|0;x=d[f+25>>0]|0;j=d[f+26>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;q=d[g+31>>0]|0;i=d[g+35>>0]|0;h=0;g=b;f=a;while(1){a=c[g>>2]|0;c[f>>2]=(d[s+((c[u>>2]&a)>>>x)>>0]|0)>>>m<<n|(d[r+((c[y>>2]&a)>>>w)>>0]|0)>>>k<<l|(d[t+((c[v>>2]&a)>>>j)>>0]|0)>>>o<<p|a>>>24>>>q<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}y=e<<2;return y|0}function IZ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if((e|0)<=0){y=e<<2;return y|0}y=f+4|0;u=f+8|0;v=f+12|0;r=c[22432+((d[f+20>>0]|0)<<2)>>2]|0;s=c[22432+((d[f+21>>0]|0)<<2)>>2]|0;t=c[22432+((d[f+22>>0]|0)<<2)>>2]|0;w=d[f+24>>0]|0;x=d[f+25>>0]|0;j=d[f+26>>0]|0;k=d[g+28>>0]|0;l=d[g+32>>0]|0;m=d[g+29>>0]|0;n=d[g+33>>0]|0;o=d[g+30>>0]|0;p=d[g+34>>0]|0;q=d[g+31>>0]|0;i=d[g+35>>0]|0;h=0;g=b;f=a;while(1){a=c[g>>2]|0;b=a&-993|a>>>16;c[f>>2]=(d[s+((c[u>>2]&b)>>>x)>>0]|0)>>>m<<n|(d[r+((c[y>>2]&b)>>>w)>>0]|0)>>>k<<l|(d[t+((c[v>>2]&b)>>>j)>>0]|0)>>>o<<p|(a>>>2&248)>>>q<<i;h=h+1|0;if((h|0)==(e|0))break;else{g=g+4|0;f=f+4|0}}y=e<<2;return y|0}function JZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+16|0;i=m+8|0;h=m;a:do if((a|0)==0|(a&-268435456|0)==268435456){c[b>>2]=(a&255)>>>0<3?a>>>8&255:a<<3&2040;c[g>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;b:do if((a|0)<390076419){switch(a|0){case 386930691:break;default:break b}c[d>>2]=255;c[e>>2]=65280;c[f>>2]=16711680;b=1;break a}else{switch(a|0){case 390076419:break;default:break b}c[d>>2]=16711680;c[e>>2]=65280;c[f>>2]=255;b=1;break a}while(0);if(((a>>>24&15)+-4|0)>>>0<3){switch(a>>>16&15){case 1:{b=3;h=28;i=224;j=0;break}case 2:{b=15;h=240;i=3840;j=61440;break}case 3:{b=31;h=992;i=31744;j=32768;break}case 4:{b=1;h=62;i=1984;j=63488;break}case 5:{b=31;h=2016;i=63488;j=0;break}case 6:{b=255;h=65280;i=16711680;j=-16777216;break}case 7:{b=1023;h=1047552;i=1072693248;j=-1073741824;break}case 8:{b=3;h=4092;i=4190208;j=-4194304;break}default:{vV(393207,i);b=0;break a}}switch(a>>>20&15){case 1:{c[d>>2]=i;c[e>>2]=h;c[f>>2]=b;b=1;break a}case 2:{c[d>>2]=j;c[e>>2]=i;c[f>>2]=h;b=1;break a}case 3:{c[g>>2]=j;c[d>>2]=i;c[e>>2]=h;c[f>>2]=b;b=1;break a}case 4:{c[d>>2]=j;c[e>>2]=i;c[f>>2]=h;c[g>>2]=b;b=1;break a}case 5:{c[f>>2]=i;c[e>>2]=h;c[d>>2]=b;b=1;break a}case 6:{c[f>>2]=j;c[e>>2]=i;c[d>>2]=h;b=1;break a}case 8:{c[f>>2]=j;c[e>>2]=i;c[d>>2]=h;c[g>>2]=b;b=1;break a}case 7:{c[g>>2]=j;c[f>>2]=i;c[e>>2]=h;c[d>>2]=b;b=1;break a}default:{vV(393207,k);b=0;break a}}}else b=1}else{vV(387146,h);b=0}while(0);l=m;return b|0}function KZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=c[104297]|0;if(!e){vV(386054,g);l=g;return}if(a|0?(c[a>>2]|0)==(e+280|0):0){if(b|0)c[b>>2]=c[a+24>>2];if(!d){l=g;return}c[d>>2]=c[a+28>>2];l=g;return}vV(405282,f);l=g;return}function LZ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;g=r+8|0;i=r;q=c[b+320>>2]|0;j=c[e+68>>2]|0;p=c[e+24>>2]|0;k=b+308|0;f=c[k>>2]|0;h=c[e+4>>2]|0;a:do if(f){f=c[f+4>>2]|0;if((f|0)==(h|0))f=1;else{b:do if((h|0)<825382478)if((h|0)<374740996){if((h|0)>=372645892){switch(h|0){case 372645892:break;default:break b}if((f|0)<376840196)switch(f|0){case 374740996:break;default:{f=1;break a}}else switch(f|0){case 376840196:break;default:{f=1;break a}}f=2;break a}switch(h|0){case 370546692:break;default:break b}if((f|0)<374740996){switch(f|0){case 372645892:break;default:{f=1;break a}}f=4;break a}if((f|0)<376840196){switch(f|0){case 374740996:break;default:{f=1;break a}}f=2;break a}else{switch(f|0){case 376840196:break;default:{f=1;break a}}f=2;break a}}else{if((h|0)>=376840196){switch(h|0){case 376840196:break;default:break b}if((f|0)<372645892)switch(f|0){case 370546692:break;default:{f=1;break a}}else switch(f|0){case 372645892:break;default:{f=1;break a}}f=2;break a}switch(h|0){case 374740996:break;default:break b}if((f|0)<372645892){switch(f|0){case 370546692:break;default:{f=1;break a}}f=2;break a}if((f|0)<376840196){switch(f|0){case 372645892:break;default:{f=1;break a}}f=3;break a}else{switch(f|0){case 376840196:break;default:{f=1;break a}}f=4;break a}}else{if((h|0)>=842094169)if((h|0)<1448433993)switch(h|0){case 842094169:{f=5;break a}default:break b}else switch(h|0){case 1448433993:{f=5;break a}default:break b}if((h|0)<842094158){switch(h|0){case 825382478:break;default:break b}f=7;break a}else{switch(h|0){case 842094158:break;default:break b}f=6;break a}}while(0);vV(387413,i);q=-1;l=r;return q|0}}else{c:do if((h|0)<825382478){if((h|0)<374740996){if((h|0)>=372645892)switch(h|0){case 372645892:{f=2;break a}default:break c}switch(h|0){case 370546692:break;default:break c}f=3;break a}if((h|0)<376840196){switch(h|0){case 374740996:break;default:break c}f=4;break a}else{switch(h|0){case 376840196:break;default:break c}f=1;break a}}else{if((h|0)>=842094169){if((h|0)<1448433993)switch(h|0){case 842094169:break;default:break c}else switch(h|0){case 1448433993:break;default:break c}f=5;break a}if((h|0)<842094158){switch(h|0){case 825382478:break;default:break c}f=7;break a}else{switch(h|0){case 842094158:break;default:break c}f=6;break a}}while(0);vV(387413,g);q=-1;l=r;return q|0}while(0);if((MZ(b,f,p)|0)<0){q=-1;l=r;return q|0}if(c[j+24>>2]|0){n=q+16|0;fi[c[n>>2]&511](33986);b=q+28|0;m=j+4|0;li[c[b>>2]&511](c[m>>2]|0,c[j+32>>2]|0);fi[c[n>>2]&511](33985);li[c[b>>2]&511](c[m>>2]|0,c[j+36>>2]|0);fi[c[n>>2]&511](33984)}if(!(c[j+28>>2]|0)){f=j+4|0;g=q+28|0}else{n=q+16|0;fi[c[n>>2]&511](33985);g=q+28|0;f=j+4|0;li[c[g>>2]&511](c[f>>2]|0,c[j+36>>2]|0);fi[c[n>>2]&511](33984)}li[c[g>>2]&511](c[f>>2]|0,c[j>>2]|0);m=a[e+29>>0]|0;n=a[e+31>>0]|0;f=c[k>>2]|0;d:do if(!f)o=36;else{f=c[f+4>>2]|0;if((f|0)<372645892)switch(f|0){case 370546692:break;default:{o=36;break d}}else switch(f|0){case 372645892:break;default:{o=36;break d}}f=e+28|0;g=e+30|0}while(0);if((o|0)==36){f=e+30|0;g=e+28|0}k=a[f>>0]|0;f=a[g>>0]|0;g=c[q+268>>2]|0;h=g+84|0;i=g+85|0;b=g+86|0;j=g+87|0;if(((d[i>>0]|0)<<16|(d[h>>0]|0)<<24|(d[b>>0]|0)<<8|(d[j>>0]|0)|0)!=(n&255|(m&255)<<16|(k&255)<<8|(f&255)<<24|0)){ji[c[q+172>>2]&3](c[g+24>>2]|0,+(f&255)*.003921568859368563,+(m&255)*.003921568859368563,+(k&255)*.003921568859368563,+(n&255)*.003921568859368563);a[h>>0]=f;a[i>>0]=m;a[b>>0]=k;a[j>>0]=n}f=q+8|0;if((c[f>>2]|0)!=(p|0)){switch(p|0){case 4:{fi[c[q+80>>2]&511](3042);ti[c[q+32>>2]&63](0,768,0,1);break}case 1:{fi[c[q+80>>2]&511](3042);ti[c[q+32>>2]&63](770,771,1,771);break}case 2:{fi[c[q+80>>2]&511](3042);ti[c[q+32>>2]&63](770,1,0,1);break}default:fi[c[q+68>>2]&511](3042)}c[f>>2]=p}f=q+12|0;if((c[f>>2]|0)==1){q=0;l=r;return q|0}fi[c[q+84>>2]&511](1);c[f>>2]=1;q=0;l=r;return q|0}function MZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;m=x+8|0;j=x;f=x+16|0;v=b+320|0;w=c[v>>2]|0;switch(d|0){case 0:{h=1;n=9;break}case 1:{h=2;n=9;break}case 2:{h=3;n=9;break}case 3:{h=5;n=9;break}case 4:{h=4;n=9;break}case 5:{h=6;n=9;break}case 6:{h=7;n=9;break}case 7:{h=8;n=9;break}default:{}}if((n|0)==9?(p=NZ(b,0,e)|0,p|0):0){i=NZ(b,h,e)|0;a:do if(!i)i=0;else{r=w+268|0;q=c[r>>2]|0;if((q|0?(c[q+8>>2]|0)==(p|0):0)?(c[q+12>>2]|0)==(i|0):0){w=0;l=x;return w|0}q=c[v>>2]|0;o=q+260|0;h=c[o>>2]|0;b:do if(!h)n=24;else{k=h;while(1){if((c[k+8>>2]|0)==(p|0)?(c[k+12>>2]|0)==(i|0):0)break;d=c[k+156>>2]|0;if(!d){n=24;break b}else k=d}if((h|0)==(k|0))break;e=k+156|0;i=c[e>>2]|0;d=k+152|0;if(i|0)c[i+152>>2]=c[d>>2];j=c[d>>2]|0;if(j|0)c[j+156>>2]=i;c[d>>2]=0;c[e>>2]=h;c[h+152>>2]=k;c[o>>2]=k;h=k;n=51}while(0);c:do if((n|0)==24){h=B2(160)|0;do if(!h)vV(392416,j);else{if(c[h+-4>>2]&3|0)u6(h|0,0,160)|0;c[h+8>>2]=p;c[h+12>>2]=i;c[h+4>>2]=e;n=Qh[c[q+48>>2]&15]()|0;c[h>>2]=n;d=q+20|0;li[c[d>>2]&511](n,c[p>>2]|0);li[c[d>>2]&511](c[h>>2]|0,c[i>>2]|0);d=q+24|0;si[c[d>>2]&127](c[h>>2]|0,0,387440);si[c[d>>2]&127](c[h>>2]|0,1,387451);si[c[d>>2]&127](c[h>>2]|0,2,387462);si[c[d>>2]&127](c[h>>2]|0,3,387470);fi[c[q+132>>2]&511](c[h>>2]|0);si[c[q+116>>2]&127](c[h>>2]|0,35714,f);d=c[h>>2]|0;if(!(c[f>>2]|0)){fi[c[q+56>>2]&511](d);C2(h);vV(387479,m);break}j=q+128|0;n=h+16|0;c[n>>2]=Sh[c[j>>2]&255](d,387509)|0;y=h+36|0;c[y>>2]=Sh[c[j>>2]&255](c[h>>2]|0,387522)|0;e=h+32|0;c[e>>2]=Sh[c[j>>2]&255](c[h>>2]|0,387534)|0;k=h+20|0;c[k>>2]=Sh[c[j>>2]&255](c[h>>2]|0,387546)|0;m=h+24|0;c[m>>2]=Sh[c[j>>2]&255](c[h>>2]|0,387556)|0;d=h+28|0;c[d>>2]=Sh[c[j>>2]&255](c[h>>2]|0,387569)|0;j=h+80|0;c[j>>2]=-1;c[j+4>>2]=-1;fi[c[q+180>>2]&511](c[h>>2]|0);j=q+168|0;li[c[j>>2]&511](c[y>>2]|0,2);li[c[j>>2]&511](c[e>>2]|0,1);li[c[j>>2]&511](c[k>>2]|0,0);ti[c[q+176>>2]&63](c[n>>2]|0,1,0,h+88|0);n=q+172|0;ji[c[n>>2]&3](c[m>>2]|0,1.0,1.0,1.0,1.0);ji[c[n>>2]&3](c[d>>2]|0,1.0,1.0,1.0,1.0);d=c[o>>2]|0;if(!d)d=q+264|0;else{c[h+156>>2]=d;d=d+152|0}c[d>>2]=h;c[o>>2]=h;n=q+256|0;y=c[n>>2]|0;c[n>>2]=y+1;p=p+12|0;c[p>>2]=(c[p>>2]|0)+1;p=i+12|0;c[p>>2]=(c[p>>2]|0)+1;if((y|0)<=7){n=51;break c}m=q+264|0;d=c[m>>2]|0;k=c[d+8>>2]|0;p=k+12|0;y=c[p>>2]|0;c[p>>2]=y+-1;if((y|0)<2){i=c[v>>2]|0;j=k+24|0;e=c[j>>2]|0;d=k+20|0;if(e|0)c[e+20>>2]=c[d>>2];d=c[d>>2]|0;if(d|0)c[d+24>>2]=e;d=i+252|0;if((c[d>>2]|0)==(k|0))c[d>>2]=c[j>>2];d=i+248|0;c[d>>2]=(c[d>>2]|0)+-1;fi[c[i+60>>2]&511](c[k>>2]|0);C2(k);d=c[m>>2]|0}k=c[d+12>>2]|0;p=k+12|0;y=c[p>>2]|0;c[p>>2]=y+-1;if((y|0)<2){i=c[v>>2]|0;j=k+24|0;e=c[j>>2]|0;d=k+20|0;if(e|0)c[e+20>>2]=c[d>>2];d=c[d>>2]|0;if(d|0)c[d+24>>2]=e;d=i+252|0;if((c[d>>2]|0)==(k|0))c[d>>2]=c[j>>2];d=i+248|0;c[d>>2]=(c[d>>2]|0)+-1;fi[c[i+60>>2]&511](c[k>>2]|0);C2(k);d=c[m>>2]|0}fi[c[q+56>>2]&511](c[d>>2]|0);y=c[(c[m>>2]|0)+152>>2]|0;c[m>>2]=y;C2(c[y+156>>2]|0);c[(c[m>>2]|0)+156>>2]=0;c[n>>2]=(c[n>>2]|0)+-1;n=51;break c}while(0);break a}while(0);fi[c[w+180>>2]&511](c[h>>2]|0);c[r>>2]=h;h=c[v>>2]|0;d=c[b+224>>2]|0;if((d|0?(s=c[b+228>>2]|0,s|0):0)?(g[f>>2]=2.0/+(d|0),t=f+4|0,c[t>>2]=0,c[t+4>>2]=0,c[t+8>>2]=0,c[t+12>>2]=0,t=(c[b+308>>2]|0)!=0,g[f+20>>2]=(t?2.0:-2.0)/+(s|0),u=f+24|0,c[u>>2]=0,c[u+4>>2]=0,c[u+8>>2]=0,c[u+12>>2]=0,c[u+16>>2]=0,c[u+20>>2]=0,g[f+48>>2]=-1.0,g[f+52>>2]=t?-1.0:1.0,g[f+56>>2]=0.0,g[f+60>>2]=1.0,t=h+268|0,u=c[t>>2]|0,f3(u+88|0,f,64)|0):0){ti[c[h+176>>2]&63](c[u+16>>2]|0,1,0,f);d=(c[t>>2]|0)+88|0;h=d+64|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(h|0))}y=0;l=x;return y|0}while(0);if((c[p+12>>2]|0)<1){d=c[v>>2]|0;e=p+24|0;h=c[e>>2]|0;f=p+20|0;if(h|0)c[h+20>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+24>>2]=h;f=d+252|0;if((c[f>>2]|0)==(p|0))c[f>>2]=c[e>>2];y=d+248|0;c[y>>2]=(c[y>>2]|0)+-1;fi[c[d+60>>2]&511](c[p>>2]|0);C2(p)}if(i|0?(c[i+12>>2]|0)<1:0){d=c[v>>2]|0;e=i+24|0;h=c[e>>2]|0;f=i+20|0;if(h|0)c[h+20>>2]=c[f>>2];f=c[f>>2]|0;if(f|0)c[f+24>>2]=h;f=d+252|0;if((c[f>>2]|0)==(i|0))c[f>>2]=c[e>>2];y=d+248|0;c[y>>2]=(c[y>>2]|0)+-1;fi[c[d+60>>2]&511](c[i>>2]|0);C2(i)}}c[w+268>>2]=0;y=-1;l=x;return y|0}function NZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;u=v+32|0;t=v+24|0;p=v+16|0;o=v+8|0;f=v;q=v+40|0;r=v+36|0;s=c[b+320>>2]|0;c[q>>2]=0;a:do switch(d|0){case 0:{k=31236;break}case 1:switch(e|0){case 0:{k=31256;break a}case 1:{k=31256;break a}case 2:{k=31256;break a}case 4:{k=31256;break a}default:{g=31;break a}}case 2:switch(e|0){case 0:{k=31276;break a}case 1:{k=31276;break a}case 2:{k=31276;break a}case 4:{k=31276;break a}default:{g=31;break a}}case 3:switch(e|0){case 0:{k=31296;break a}case 1:{k=31296;break a}case 2:{k=31296;break a}case 4:{k=31296;break a}default:{g=31;break a}}case 5:switch(e|0){case 0:{k=31316;break a}case 1:{k=31316;break a}case 2:{k=31316;break a}case 4:{k=31316;break a}default:{g=31;break a}}case 4:switch(e|0){case 0:{k=31336;break a}case 1:{k=31336;break a}case 2:{k=31336;break a}case 4:{k=31336;break a}default:{g=31;break a}}case 6:{k=31216;break}case 7:{k=31196;break}case 8:{k=31176;break}default:g=31}while(0);if((g|0)==31){vV(387577,f);u=0;l=v;return u|0}j=c[k>>2]|0;if((j|0)>=1?(n=c[s+240>>2]|0,m=s+244|0,(n|0)>0):0){i=0;do{h=c[k+4+(i<<2)>>2]|0;if(!h)h=0;else{f=c[h+4>>2]|0;g=c[m>>2]|0;e=0;do{b=(f|0)==(c[g+(e<<2)>>2]|0)?h:0;e=e+1|0}while((b|0)==0&(e|0)<(n|0));h=b}i=i+1|0;b=(h|0)!=0}while(!(b|(i|0)>=(j|0)));if(b){g=s+252|0;b=c[g>>2]|0;b:do if(b|0){while(1){if((c[b+8>>2]|0)==(h|0))break;b=c[b+24>>2]|0;if(!b)break b}l=v;return b|0}while(0);f=B2(28)|0;if(!f){vV(392416,p);u=0;l=v;return u|0}if(c[f+-4>>2]&3|0){b=f;e=b+28|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}c[f+4>>2]=d;c[f+8>>2]=h;b=Rh[c[s+52>>2]&511](c[h>>2]|0)|0;c[f>>2]=b;e=c[h+4>>2]|0;if((e|0)==-1){ti[c[s+152>>2]&63](b,1,h+12|0,0);fi[c[s+44>>2]&511](c[f>>2]|0);b=s+124|0;si[c[b>>2]&127](c[f>>2]|0,35713,q);if(!(c[q>>2]|0)){c[r>>2]=0;si[c[b>>2]&127](c[f>>2]|0,35716,r);b=c[r>>2]|0;if((b|0)>0){u=l;l=l+((1*b|0)+15&-16)|0;ti[c[s+120>>2]&63](c[f>>2]|0,b,r,u);c[t>>2]=u;vV(387698,t)}else vV(387728,u);fi[c[s+60>>2]&511](c[f>>2]|0);C2(f);u=0;l=v;return u|0}}else{zi[c[s+148>>2]&31](1,f,e,c[h+12>>2]|0,c[h+8>>2]|0);c[q>>2]=1}b=c[g>>2]|0;if(b|0){c[f+24>>2]=b;c[b+20>>2]=f}c[g>>2]=f;u=s+248|0;c[u>>2]=(c[u>>2]|0)+1;u=f;l=v;return u|0}}vV(387636,o);u=0;l=v;return u|0}function OZ(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+320|0;m=c[e>>2]|0;h=c[b+316>>2]|0;g=c[m>>2]|0;if((c[104296]|0)!=(g|0)){c[m+268>>2]=0;if((tV(c[b+188>>2]|0,g)|0)>=0){c[104296]=c[m>>2];FV(b)|0;f=c[e>>2]|0;i=4}}else{f=m;i=4}if((i|0)==4?c[f+4>>2]|0:0){e=f+108|0;do{}while((Qh[c[e>>2]&15]()|0)!=0)}e=m+8|0;if((c[e>>2]|0)!=(h|0)){switch(h|0){case 4:{fi[c[m+80>>2]&511](3042);ti[c[m+32>>2]&63](0,768,0,1);break}case 1:{fi[c[m+80>>2]&511](3042);ti[c[m+32>>2]&63](770,771,1,771);break}case 2:{fi[c[m+80>>2]&511](3042);ti[c[m+32>>2]&63](770,1,0,1);break}default:fi[c[m+68>>2]&511](3042)}c[e>>2]=h}e=m+12|0;if(c[e>>2]|0){fi[c[m+72>>2]&511](1);c[e>>2]=0}if((MZ(b,0,h)|0)<0){m=-1;return m|0}k=a[b+313>>0]|0;l=a[b+315>>0]|0;e=c[b+308>>2]|0;a:do if(!e)i=20;else{e=c[e+4>>2]|0;if((e|0)<372645892)switch(e|0){case 370546692:break;default:{i=20;break a}}else switch(e|0){case 372645892:break;default:{i=20;break a}}e=b+312|0;f=b+314|0}while(0);if((i|0)==20){e=b+314|0;f=b+312|0}j=a[e>>0]|0;e=a[f>>0]|0;f=c[m+268>>2]|0;g=f+80|0;h=f+81|0;b=f+82|0;i=f+83|0;if(((d[h>>0]|0)<<16|(d[g>>0]|0)<<24|(d[b>>0]|0)<<8|(d[i>>0]|0)|0)==(l&255|(k&255)<<16|(j&255)<<8|(e&255)<<24|0)){m=0;return m|0}ji[c[m+172>>2]&3](c[f+28>>2]|0,+(e&255)*.003921568859368563,+(k&255)*.003921568859368563,+(j&255)*.003921568859368563,+(l&255)*.003921568859368563);a[g>>0]=e;a[h>>0]=k;a[b>>0]=j;a[i>>0]=l;m=0;return m|0}function PZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=c[104297]|0;if(!f){vV(386054,g);l=g;return}if(a|0?(c[a>>2]|0)==(f+280|0):0){e=c[f+184>>2]|0;if(e|0){ti[e&63](f,a,b,d);l=g;return}if(b|0)c[b>>2]=c[a+24>>2];if(!d){l=g;return}c[d>>2]=c[a+28>>2];l=g;return}vV(405282,e);l=g;return}function QZ(a,b,d){a=a|0;b=b|0;d=d|0;b=l;l=l+16|0;a=b;c[a>>2]=d;RZ(1,2,392253,a);l=b;return}function RZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;if((d|0)<0|d>>>0>6){l=n;return}g=c[104301]|0;a:do if(!g)h=6;else{while(1){if((c[g>>2]|0)==(b|0))break;g=c[g+8>>2]|0;if(!g){h=6;break a}}g=g+4|0;h=9}while(0);b:do if((h|0)==6)switch(b|0){case 8:{g=1;break b}case 0:{g=31508;h=9;break b}case 2:{g=31500;h=9;break b}default:{g=31504;h=9;break b}}while(0);if((h|0)==9)g=c[g>>2]|0;if(g>>>0>d>>>0){l=n;return}h=l;l=l+4096|0;j3(h,4096,(e|0)==0?436559:e,f)|0;g=r4(h)|0;if(((g|0?(i=g+-1|0,j=h+i|0,(a[j>>0]|0)==10):0)?(a[j>>0]=0,i|0):0)?(k=h+(g+-2)|0,(a[k>>0]|0)==13):0)a[k>>0]=0;c[m>>2]=c[31512+(d<<2)>>2];c[m+4>>2]=h;j5(0,392256,m);l=n;return}function SZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;e=j3(a,b,(d|0)==0?436559:d,g)|0;l=f;return e|0}function TZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+16|0;m=o+8|0;d=o;h=o+32|0;i=o+24|0;j=o+20|0;if(!a){c[d>>2]=392370;vV(406140,d);l=o;return}c[j>>2]=0;g=c[j>>2]|0;c[j>>2]=1;if(g|0){f=h+4|0;g=i+4|0;do{c[h>>2]=0;c[f>>2]=0;d=0;e=0;while(1){c[105438]=0;c[i>>2]=d;c[g>>2]=e;e=(yh(i|0,h|0)|0)!=0;if(!(e&(c[105438]|0)==4))break;d=c[h>>2]|0;e=c[f>>2]|0}e=c[j>>2]|0;c[j>>2]=1}while((e|0)!=0)}c[j>>2]=0;d=c[104298]|0;a:do if(d){while(1){if(!(c[d>>2]|0))break;d=c[d+8>>2]|0;if(!d){d=0;e=0;k=14;break a}}d=c[d+4>>2]|0;if(d){e=c[d>>2]|0;if(e>>>0<a>>>0)k=14}else{e=0;k=14}}else{d=0;e=0;k=14}while(0);b:do if((k|0)==14){f=a+4|0;d=D2(d,(a<<3)+36|0)|0;if(!d){vV(392416,m);l=o;return}c[d>>2]=f;if(f>>>0>e>>>0)u6(d+(e<<3|4)|0,0,f-e<<3|0)|0;e=c[104298]|0;c:do if(e|0){while(1){if(!(c[e>>2]|0))break;e=c[e+8>>2]|0;if(!e)break c}c[e+4>>2]=d;break b}while(0);e=B2(12)|0;if(e|0){c[e>>2]=0;c[e+4>>2]=d;c[e+8>>2]=c[104298];c[104298]=e;break}vV(392416,n);l=o;return}while(0);a=a+-1|0;c[d+4+(a<<3)>>2]=b;c[d+4+(a<<3)+4>>2]=0;l=o;return}function UZ(a){a=a|0;var b=0;b=c[104297]|0;if(!((a|0)!=0&(b|0)!=0))return;if((TV(c[b+664>>2]|0)|0)==(a|0))tV(0,0)|0;b=c[104297]|0;li[c[b+200>>2]&511](b,a);return}function VZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+128|0;k=x+56|0;m=x+48|0;p=x+40|0;n=x+32|0;j=x+24|0;i=x+16|0;e=x+8|0;s=x+100|0;o=x+80|0;r=x+60|0;d=c[104297]|0;if(!d){vV(386054,x);a=-1;l=x;return a|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){e=(b|0)!=0;if(e&(c[a+116>>2]|0)!=0){a=0;l=x;return a|0}d=d_(a)|0;if((d|0)>-1)t=(c[(c[104297]|0)+268>>2]|0)+(d*68|0)|0;else t=0;w=t+56|0;do if(e?(f=c[w>>2]|0,!((f|0)==0|(f|0)==(a|0))):0){d=c[104297]|0;if(!d){vV(386054,i);break}if((c[f>>2]|0)!=(d+280|0)){vV(405282,j);break}if((c[f+48>>2]&64|0)==0?(VZ(f,0)|0,g=c[104297]|0,h=c[g+96>>2]|0,h|0):0)li[h&511](g,f)}while(0);if(((c[w>>2]|0)==(a|0)|0)==(b|0)?((c[a+48>>2]^c[a+52>>2])&4097|0)==0:0){a=0;l=x;return a|0}d=c[(c[104297]|0)+272>>2]|0;a:do if(d|0){b:do if(!b){e=d;while(1){if((e|0)!=(a|0)?(c[e+48>>2]&69|0)==5:0){d=d_(e)|0;if((d|0)>-1)d=(c[(c[104297]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((d|0)==(t|0)?(c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,c[r+16>>2]=0,(e_(e,r)|0)==0):0){j=e;break b}}e=c[e+152>>2]|0;if(!e)break a}}else{e=d;while(1){if((e|0)!=(a|0)){if((c[e+48>>2]&69|0)==5){d=d_(e)|0;if((d|0)>-1)d=(c[(c[104297]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((d|0)==(t|0))q=35}}else q=35;if((q|0)==35?(q=0,c[r>>2]=0,c[r+4>>2]=0,c[r+8>>2]=0,c[r+12>>2]=0,c[r+16>>2]=0,(e_(e,r)|0)==0):0){j=e;break b}e=c[e+152>>2]|0;if(!e)break a}}while(0);h=j+24|0;i=r+4|0;if((c[h>>2]|0)==(c[i>>2]|0))g=(c[j+28>>2]|0)!=(c[r+8>>2]|0)&1;else g=1;b=a+48|0;c:do if((c[b>>2]&4097|0)==4097){f=t+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];f=t+36|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];c[o+16>>2]=c[f+16>>2];do if(f3(s,o,20)|0){d=c[104297]|0;e=c[d+28>>2]|0;if(!e){vV(392673,m);d=-1;break c}if((Th[e&63](d,t,s)|0)<0){d=-1;break c}else{c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];c[f+16>>2]=c[s+16>>2];break}}while(0);q=63}else{c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];c[s+16>>2]=c[r+16>>2];if(!(c[s>>2]|0))c[s>>2]=c[t+36>>2];d=s+4|0;if(!(c[d>>2]|0))c[d>>2]=c[t+40>>2];e=s+8|0;if(!(c[e>>2]|0))c[e>>2]=c[t+44>>2];f=s+12|0;if(!(c[f>>2]|0))c[f>>2]=c[t+48>>2];do if(!(f_(t,s,s)|0)){a=c[e>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=a;vV(392724,n)}else{f=t+36|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];c[o+16>>2]=c[f+16>>2];if(f3(s,o,20)|0){d=c[104297]|0;e=c[d+28>>2]|0;if(!e){vV(392673,p);break}if((Th[e&63](d,t,s)|0)<0)break;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];c[f+16>>2]=c[s+16>>2]}q=63;break c}while(0);d=-1}while(0);if((q|0)==63){d=c[104297]|0;e=c[d+112>>2]|0;if(e|0)ti[e&63](d,j,t,1);c[w>>2]=j;if(!g){c[j+112>>2]=0;WZ(j,6,c[h>>2]|0,c[j+28>>2]|0)}else WZ(j,5,c[i>>2]|0,c[r+8>>2]|0);do if((c[104313]|0)==(j|0)?(u=c[104314]|0,v=c[104315]|0,j|0):0){d=c[104307]|0;if(d|0){si[d&127](j,u,v);break}d=c[104312]|0;if(!(b_(j,u,v)|0))break;c_(j,d,0,u,v)|0}while(0);c[a+52>>2]=c[b>>2];d=0}a=d;l=x;return a|0}while(0);f=t+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];f=t+36|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];c[o+16>>2]=c[f+16>>2];do if(f3(s,o,20)|0){d=c[104297]|0;e=c[d+28>>2]|0;if(!e){vV(392673,k);break}if((Th[e&63](d,t,s)|0)>=0){c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];c[f+16>>2]=c[s+16>>2]}}while(0);d=c[104297]|0;e=c[d+112>>2]|0;if(e|0)ti[e&63](d,a,t,0);c[w>>2]=0;c[a+112>>2]=0;WZ(a,6,c[a+24>>2]|0,c[a+28>>2]|0);do if((c[104313]|0)==(a|0)){e=c[104314]|0;f=c[104315]|0;d=c[104307]|0;if(d|0){si[d&127](a,e,f);break}d=c[104312]|0;if(b_(a,e,f)|0)c_(a,d,0,e,f)|0}while(0);c[a+52>>2]=c[a+48>>2];a=0;l=x;return a|0}vV(405282,e);a=-1;l=x;return a|0}function WZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;r=y+64|0;q=y+56|0;x=y;if(!b){l=y;return}a:do switch(d<<24>>24){case 1:{g=b+48|0;i=c[g>>2]|0;if(i&4|0){l=y;return}t=i&-13|4;c[g>>2]=t;if((t&69|0)==5)VZ(b,1)|0;break}case 2:{g=b+48|0;i=c[g>>2]|0;if(!(i&4)){l=y;return}else{c[g>>2]=i&-13|8;VZ(b,0)|0;break a}}case 4:{if((e&-65536|0)==536805376|(f&-65536|0)==536805376){l=y;return}if(!(c[b+48>>2]&1)){c[b+56>>2]=e;c[b+60>>2]=f}g=b+16|0;i=b+20|0;if((c[g>>2]|0)==(e|0)?(c[i>>2]|0)==(f|0):0){l=y;return}c[g>>2]=e;c[i>>2]=f;break}case 5:{if(!(c[b+48>>2]&1)){c[b+64>>2]=e;c[b+68>>2]=f}g=b+24|0;i=b+28|0;if((c[g>>2]|0)==(e|0)?(c[i>>2]|0)==(f|0):0){l=y;return}c[g>>2]=e;c[i>>2]=f;c[b+112>>2]=0;WZ(b,6,e,f);break}case 7:{g=b+48|0;i=c[g>>2]|0;if(!(i&64)){c[g>>2]=i&-193|64;VZ(b,0)|0;break a}else{l=y;return}}case 8:{g=b+48|0;i=c[g>>2]|0;if(!(i&128)){c[g>>2]=i&-193|128;break a}else{l=y;return}}case 9:{g=b+48|0;i=c[g>>2]|0;if(!(i&192)){l=y;return}c[g>>2]=i&-193;if((i&5|0)==5)VZ(b,1)|0;break}case 10:{g=b+48|0;i=c[g>>2]|0;if(i&1024|0){l=y;return}c[g>>2]=i|1024;g=c[104297]|0;i=c[g+144>>2]|0;if(i|0)li[i&511](g,b);break}case 11:{g=b+48|0;i=c[g>>2]|0;if(!(i&1024)){l=y;return}else{c[g>>2]=i&-1025;break a}}case 12:{n=b+48|0;g=c[n>>2]|0;if(g&512|0){l=y;return}c[n>>2]=g|512;g=c[b+100>>2]|0;if(g|0?(k=c[104297]|0,m=c[k+116>>2]|0,m|0):0)Th[m&63](k,b,g)|0;do if(c[104321]|0){g=c[104313]|0;do if((g|0)!=(b|0)){if(g|0)WZ(g,11,0,0);c[104313]=b;WZ(b,10,0,0);g=(c[104313]|0)==0?c[104326]|0:c[104327]|0;i=c[104304]|0;j=(i|0)==0;if((g|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(j)break;Rh[i&511](g)|0;break}else{if(j)break;Rh[i&511](0)|0;break}}while(0);i=(c[b+24>>2]|0)/2|0;j=(c[b+28>>2]|0)/2|0;g=c[104307]|0;if(g|0){si[g&127](b,i,j);break}g=c[104312]|0;if(b_(b,i,j)|0)c_(b,g,0,i,j)|0}while(0);q=c[n>>2]|0;r=(q&256|c[104321]|0)==0;q=(q&512|0)==0;j=((q|r)^1)&1;g=c[104297]|0;i=c[g+276>>2]|0;if(q|r)if((i|0)==(b|0)){i=0;t=53}else i=g;else if(!((i|0)==0|(i|0)==(b|0))?(s=i+48|0,c[s>>2]=c[s>>2]&-257,s=c[g+124>>2]|0,(s|0)!=0):0){si[s&127](g,i,0);i=b;g=c[104297]|0;t=53}else{i=b;t=53}if((t|0)==53){c[g+276>>2]=i;i=g}g=c[i+124>>2]|0;if(g|0)si[g&127](i,b,j);break}case 13:{k=b+48|0;g=c[k>>2]|0;if(!(g&512)){l=y;return}g=g&-513;c[k>>2]=g;if((c[b+100>>2]|0)!=0?(i=c[104297]|0,j=c[i+116>>2]|0,(j|0)!=0):0){Th[j&63](i,b,c[b+104>>2]|0)|0;g=c[k>>2]|0}s=(g&256|c[104321]|0)==0;m=(g&512|0)==0;j=((m|s)^1)&1;g=c[104297]|0;i=c[g+276>>2]|0;if(m|s)if((i|0)==(b|0)){i=0;t=65}else i=g;else if(!((i|0)==0|(i|0)==(b|0))?(n=i+48|0,c[n>>2]=c[n>>2]&-257,n=c[g+124>>2]|0,(n|0)!=0):0){si[n&127](g,i,0);i=b;g=c[104297]|0;t=65}else{i=b;t=65}if((t|0)==65){c[g+276>>2]=i;i=g}g=c[i+124>>2]|0;if(g|0)si[g&127](i,b,j);g=c[k>>2]|0;if((g&1|0?(c[b+120>>2]|0)==0:0)?a_(393967,1)|0:0){i=c[104297]|0;if(!i){vV(386054,q);break a}if((c[b>>2]|0)!=(i+280|0)){vV(405282,r);break a}if((g&64|0)==0?(VZ(b,0)|0,o=c[104297]|0,p=c[o+96>>2]|0,p|0):0)li[p&511](o,b)}break}default:{}}while(0);t=c[104333]|0;if(!((t|0)!=0?(c[t>>2]&1|0)!=0:0)){c[x>>2]=512;a[x+12>>0]=d;c[x+16>>2]=e;c[x+20>>2]=f;n=x+8|0;c[n>>2]=c[b+4>>2];switch(d<<24>>24){case 5:{if(c[7885]|0?(u=c[7889]|0,u|0):0){h=u;do{j=h+72|0;i=h;h=c[j>>2]|0;g=h;if(((c[i>>2]|0)==512?(a[i+12>>0]|0)==5:0)?(c[i+8>>2]|0)==(c[n>>2]|0):0){k=i+68|0;m=c[k>>2]|0;if(!m)g=h;else{c[m+72>>2]=g;g=c[j>>2]|0}if(g|0)c[g+68>>2]=m;if((c[7889]|0)==(i|0))c[7889]=g;if((c[7890]|0)==(i|0))c[7890]=c[k>>2];c[j>>2]=c[7891];c[7891]=i;c[7887]=(c[7887]|0)+-1}}while((h|0)!=0)}break}case 6:{if(c[7885]|0?(h=c[7889]|0,h|0):0)do{j=h+72|0;i=h;h=c[j>>2]|0;g=h;if(((c[i>>2]|0)==512?(a[i+12>>0]|0)==6:0)?(c[i+8>>2]|0)==(c[n>>2]|0):0){k=i+68|0;m=c[k>>2]|0;if(!m)g=h;else{c[m+72>>2]=g;g=c[j>>2]|0}if(g|0)c[g+68>>2]=m;if((c[7889]|0)==(i|0))c[7889]=g;if((c[7890]|0)==(i|0))c[7890]=c[k>>2];c[j>>2]=c[7891];c[7891]=i;c[7887]=(c[7887]|0)+-1}}while((h|0)!=0);break}case 4:{if(c[7885]|0?(v=c[7889]|0,v|0):0){h=v;do{j=h+72|0;i=h;h=c[j>>2]|0;g=h;if(((c[i>>2]|0)==512?(a[i+12>>0]|0)==4:0)?(c[i+8>>2]|0)==(c[n>>2]|0):0){k=i+68|0;m=c[k>>2]|0;if(!m)g=h;else{c[m+72>>2]=g;g=c[j>>2]|0}if(g|0)c[g+68>>2]=m;if((c[7889]|0)==(i|0))c[7889]=g;if((c[7890]|0)==(i|0))c[7890]=c[k>>2];c[j>>2]=c[7891];c[7891]=i;c[7887]=(c[7887]|0)+-1}}while((h|0)!=0)}break}case 3:{if(c[7885]|0?(w=c[7889]|0,w|0):0){h=w;do{j=h+72|0;i=h;h=c[j>>2]|0;g=h;if(((c[i>>2]|0)==512?(a[i+12>>0]|0)==3:0)?(c[i+8>>2]|0)==(c[n>>2]|0):0){k=i+68|0;m=c[k>>2]|0;if(!m)g=h;else{c[m+72>>2]=g;g=c[j>>2]|0}if(g|0)c[g+68>>2]=m;if((c[7889]|0)==(i|0))c[7889]=g;if((c[7890]|0)==(i|0))c[7890]=c[k>>2];c[j>>2]=c[7891];c[7891]=i;c[7887]=(c[7887]|0)+-1}}while((h|0)!=0)}break}default:{}}c[x+4>>2]=YZ()|0;g=c[104587]|0;if(g|0)do{Sh[c[g>>2]&255](c[g+4>>2]|0,x)|0;g=c[g+8>>2]|0}while((g|0)!=0);if((ZZ(x,1,0,0,0)|0)>=1)_Z(x)}if(d<<24>>24!=14){l=y;return}if(c[b+148>>2]|0){l=y;return}if(c[b+152>>2]|0){l=y;return}c[104330]=0;d=c[104332]|0;if(d|0?c[d>>2]&1|0:0){l=y;return}c[x>>2]=256;c[x+4>>2]=YZ()|0;g=c[104587]|0;if(g|0)do{Sh[c[g>>2]&255](c[g+4>>2]|0,x)|0;g=c[g+8>>2]|0}while((g|0)!=0);if((ZZ(x,1,0,0,0)|0)>=1)_Z(x);l=y;return}function XZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+8|0;b=c[104297]|0;if(!b){vV(386054,h);l=h;return}if(a|0?(c[a>>2]|0)==(b+280|0):0){d=a+48|0;e=c[d>>2]|0;if(e&256|0){l=h;return}c[d>>2]=e|256;i=(e&512|0)==0;e=(i^1)&1;d=c[b+276>>2]|0;if(i)if((d|0)==(a|0)){d=0;g=12}else d=b;else if(!((d|0)==0|(d|0)==(a|0))?(f=d+48|0,c[f>>2]=c[f>>2]&-257,f=c[b+124>>2]|0,(f|0)!=0):0){si[f&127](b,d,0);d=a;b=c[104297]|0;g=12}else{d=a;g=12}if((g|0)==12){c[b+276>>2]=d;d=b}b=c[d+124>>2]|0;if(!b){l=h;return}si[b&127](d,a,e);l=h;return}vV(405282,d);l=h;return}function YZ(){var a=0,b=0,d=0;d=l;l=l+16|0;a=d;do if(!(c[104588]|0)){c[104588]=1;if(!(ub(4,418356)|0)){c[104591]=1;break}else{Pf(418368,0)|0;b=5;break}}else b=5;while(0);if((b|0)==5?(c[104591]|0)==0:0){Pf(a|0,0)|0;b=(((c[a+4>>2]|0)-(c[104593]|0)|0)/1e3|0)+(((c[a>>2]|0)-(c[104592]|0)|0)*1e3|0)|0;l=d;return b|0}ub(4,a|0)|0;b=(((c[a+4>>2]|0)-(c[104590]|0)|0)/1e6|0)+(((c[a>>2]|0)-(c[104589]|0)|0)*1e3|0)|0;l=d;return b|0}function ZZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q+8|0;i=q;do{h=c[7886]|0;g=c[7886]|0;if((g|0)==(h|0))c[7886]=h}while((g|0)!=(h|0));g=(d|0)==0;if(!h){if(g){b=-1;l=q;return b|0}vV(392605,i);b=-1;l=q;return b|0}if(g){if((b|0)>0){k=0;g=0}else{b=0;l=q;return b|0}do{do{h=c[7887]|0;d=c[7887]|0;if((d|0)==(h|0))c[7887]=h}while((d|0)!=(h|0));i=a+(k*56|0)|0;do if((h|0)<=65534){d=c[7891]|0;if(!d){d=B2(80)|0;if(!d){d=0;break}else h=d}else{c[7891]=c[d+72>>2];h=d}j=h;m=i;n=j+56|0;do{c[j>>2]=c[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));if((c[i>>2]|0)==513){f=h+56|0;e=c[a+(k*56|0)+8>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[h+8>>2]=f}d=c[7890]|0;if(!d){c[7889]=h;d=0}else c[d+72>>2]=h;c[7890]=h;c[h+68>>2]=d;c[h+72>>2]=0;d=c[7887]|0;c[7887]=d+1;if((d|0)<(c[7888]|0))d=1;else{c[7888]=d+1;d=1}}else{c[o>>2]=h;vV(392641,o);d=0}while(0);g=d+g|0;k=k+1|0}while((k|0)!=(b|0));l=q;return g|0}p=(d|0)==2;if(p){g=c[7892]|0;if(g|0){h=c[7893]|0;while(1){o=g+12|0;d=c[o>>2]|0;c[o>>2]=h;h=g;if(!d)break;else g=d}c[7893]=g}c[7892]=0}d=c[7889]|0;if(!a){g=0;a:while(1){do{if(!d)break a;b=d;d=c[d+72>>2]|0;b=c[b>>2]|0}while(b>>>0<e>>>0|b>>>0>f>>>0);g=g+1|0}l=q;return g|0}if((b|0)>0)g=0;else{b=0;l=q;return b|0}b:while(1){while(1){if(!d){d=54;break b}k=d+72|0;o=c[k>>2]|0;h=c[d>>2]|0;if(h>>>0<e>>>0|h>>>0>f>>>0)d=o;else break}j=a+(g*56|0)|0;m=d;n=j+56|0;do{c[j>>2]=c[m>>2];j=j+4|0;m=m+4|0}while((j|0)<(n|0));if((h|0)==513){h=c[7893]|0;if(!h)h=B2(16)|0;else c[7893]=c[h+12>>2];n=c[d+8>>2]|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[7892];c[7892]=h;c[a+(g*56|0)+8>>2]=h}if(p){h=d+68|0;i=c[h>>2]|0;if(i|0)c[i+72>>2]=c[k>>2];j=c[k>>2]|0;if(j|0)c[j+68>>2]=i;if((c[7889]|0)==(d|0))c[7889]=j;if((c[7890]|0)==(d|0))c[7890]=c[h>>2];c[k>>2]=c[7891];c[7891]=d;c[7887]=(c[7887]|0)+-1}g=g+1|0;if((g|0)<(b|0))d=o;else{d=54;break}}if((d|0)==54){l=q;return g|0}return 0}function _Z(a){a=a|0;var d=0,f=0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,D=0.0,G=0,H=0,I=0,J=0,L=0,M=0.0,N=0.0;J=l;l=l+1040|0;s=J+512|0;I=J;r=J+520|0;o=c[a>>2]|0;if((o+-1792|0)>>>0>=3){l=J;return}d=a+8|0;j=c[d>>2]|0;d=c[d+4>>2]|0;f=c[104294]|0;if((f|0)<=0){l=J;return}H=c[104295]|0;G=0;while(1){z=H+(G*8232|0)|0;L=z;i=G+1|0;if((c[L>>2]|0)==(j|0)?(c[L+4>>2]|0)==(d|0):0)break;if((i|0)<(f|0))G=i;else{k=59;break}}if((k|0)==59){l=J;return}if(!z){l=J;return}A=+g[a+24>>2];D=+g[a+28>>2];switch(o|0){case 1793:{a=H+(G*8232|0)+8216|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;d=H+(G*8232|0)+8228|0;do if(!(c[d>>2]|0)){u6(I|0,0,512)|0;$Z(H+(G*8232|0)+16|0,I);j=c[H+(G*8232|0)+8220>>2]|0;if((j|0)<=0)break;k=c[H+(G*8232|0)+8224>>2]|0;y=1.0e4;f=-1;i=0;do{m=0.0;d=0;do{v=+g[I+(d<<3)>>2];x=+g[I+(d<<3)+4>>2];w=v*.9828612374600018-x*-.18434692267188546-+g[k+(i*516|0)+(d<<3)>>2];x=v*-.18434692267188546+x*.9828612374600018-+g[k+(i*516|0)+(d<<3)+4>>2];m=m+ +C(+(w*w+x*x));d=d+1|0}while((d|0)!=64);h=0.0;d=0;do{v=+g[I+(d<<3)>>2];x=+g[I+(d<<3)+4>>2];w=v*.9828612374600018-x*.18434692267188546-+g[k+(i*516|0)+(d<<3)>>2];x=v*.18434692267188546+x*.9828612374600018-+g[k+(i*516|0)+(d<<3)+4>>2];h=h+ +C(+(w*w+x*x));d=d+1|0}while((d|0)!=64);v=m*.015625;w=h*.015625;h=w;p=.185407355427742;m=v;t=-.185407355427742;n=-.7853981633974483;x=.7853981633974483;d=v<w;a:while(1){w=x*.618033989;u=p;q=t;v=n;while(1){if(d)break;t=w+q*.38196601100000005;p=t;n=+E(+p);p=+F(+p);m=0.0;d=0;do{N=+g[I+(d<<3)>>2];v=+g[I+(d<<3)+4>>2];M=N*n-v*p-+g[k+(i*516|0)+(d<<3)>>2];v=N*p+v*n-+g[k+(i*516|0)+(d<<3)+4>>2];m=m+ +C(+(M*M+v*v));d=d+1|0}while((d|0)!=64);m=m*.015625;d=h<m;if(+B(+(q-x))>.03490658503988659){M=u;N=h;u=t;v=q;h=m;q=M;m=N}else break a}x=u;t=x*.38196601100000005+v*.618033989;p=t;n=+E(+p);p=+F(+p);h=0.0;d=0;do{w=+g[I+(d<<3)>>2];N=+g[I+(d<<3)+4>>2];M=w*n-N*p-+g[k+(i*516|0)+(d<<3)>>2];N=w*p+N*n-+g[k+(i*516|0)+(d<<3)+4>>2];h=h+ +C(+(M*M+N*N));d=d+1|0}while((d|0)!=64);n=h*.015625;d=n<m;if(!(+B(+(v-x))>.03490658503988659)){h=n;break}else{h=m;p=q;m=n;n=v}}N=d?h:m;L=N<y;f=L?i:f;y=L?N:y;i=i+1|0}while((i|0)!=(j|0));if((f|0)>-1){L=c[k+(f*516|0)+512>>2]|0;c[I>>2]=2048;s=z;z=c[s+4>>2]|0;d=I+8|0;c[d>>2]=c[s>>2];c[d+4>>2]=z;c[I+32>>2]=c[H+(G*8232|0)+8>>2];c[I+36>>2]=c[H+(G*8232|0)+12>>2];d=I+16|0;c[d>>2]=L;c[d+4>>2]=0;g[I+28>>2]=y;c[I+24>>2]=(e[a>>1]|0)+1;c[I+4>>2]=YZ()|0;d=c[104587]|0;if(d|0)do{Sh[c[d>>2]&255](c[d+4>>2]|0,I)|0;d=c[d+8>>2]|0}while((d|0)!=0);if((ZZ(I,1,0,0,0)|0)>=1)_Z(I)}}else{c[d>>2]=0;$Z(H+(G*8232|0)+16|0,r);i=H+(G*8232|0)+8220|0;k=c[i>>2]|0;o=H+(G*8232|0)+8224|0;j=D2(c[o>>2]|0,(k*516|0)+516|0)|0;if(j){c[o>>2]=j;s6(j+(k*516|0)|0,r|0,512)|0;d=5381;f=0;do{d=(((~~+g[j+(k*516|0)+(f<<3)>>2]>>>0)+(d*33|0)|0)*33|0)+(~~+g[j+(k*516|0)+(f<<3)+4>>2]>>>0)|0;f=f+1|0}while((f|0)!=64);c[j+(k*516|0)+512>>2]=d;c[i>>2]=(c[i>>2]|0)+1;d=z;f=c[d>>2]|0;d=c[d+4>>2]|0;if((k|0)>-1){L=c[(c[o>>2]|0)+(k*516|0)+512>>2]|0;c[I>>2]=2049;z=I+8|0;c[z>>2]=f;c[z+4>>2]=d;d=I+16|0;c[d>>2]=L;c[d+4>>2]=0;c[I+4>>2]=YZ()|0;d=c[104587]|0;if(d|0)do{Sh[c[d>>2]&255](c[d+4>>2]|0,I)|0;d=c[d+8>>2]|0}while((d|0)!=0);if((ZZ(I,1,0,0,0)|0)>=1)_Z(I);break}}else{vV(392416,s);d=z;f=c[d>>2]|0;d=c[d+4>>2]|0}c[I>>2]=2049;L=I+8|0;c[L>>2]=f;c[L+4>>2]=d;d=I+16|0;c[d>>2]=-1;c[d+4>>2]=-1;c[I+4>>2]=YZ()|0;d=c[104587]|0;if(d|0)do{Sh[c[d>>2]&255](c[d+4>>2]|0,I)|0;d=c[d+8>>2]|0}while((d|0)!=0);if((ZZ(I,1,0,0,0)|0)>=1)_Z(I)}while(0);d=b[a>>1]|0;if(d<<16>>16){L=H+(G*8232|0)+8|0;M=+((d&65535)+1|0);N=+(d&65535);g[L>>2]=(M*+g[L>>2]-A)/N;L=H+(G*8232|0)+12|0;g[L>>2]=(M*+g[L>>2]-D)/N}l=J;return}case 1794:{q=+g[a+32>>2];p=+g[a+36>>2];d=H+(G*8232|0)+20|0;f=c[d>>2]|0;if((f|0)<1024){c[H+(G*8232|0)+24+(f<<3)>>2]=c[H+(G*8232|0)+8>>2];i=H+(G*8232|0)+12|0;c[H+(G*8232|0)+24+(f<<3)+4>>2]=c[i>>2];L=c[d>>2]|0;s=L+-1|0;M=+g[H+(G*8232|0)+24+(L<<3)>>2]-+g[H+(G*8232|0)+24+(s<<3)>>2];N=+g[H+(G*8232|0)+24+(L<<3)+4>>2]-+g[H+(G*8232|0)+24+(s<<3)+4>>2];N=+C(+(M*M+N*N));s=H+(G*8232|0)+16|0;g[s>>2]=+g[s>>2]+N;c[d>>2]=L+1}else i=H+(G*8232|0)+12|0;f=H+(G*8232|0)+8|0;m=+g[f>>2];n=+g[i>>2];d=H+(G*8232|0)+8216|0;L=b[d>>1]|0;h=+(L&65535);g[f>>2]=m+q/h;h=n+p/h;g[i>>2]=h;if((L&65535)<=1){l=J;return}w=A-q-m;v=D-p-n;N=+C(+(w*w+v*v));y=+g[f>>2];x=A-y;D=D-h;M=+C(+(x*x+D*D));w=w/N;A=v/N;x=x/M;D=D/M;D=+K(+(w*D-A*x),+(w*x+A*D));L=N==0.0;c[I>>2]=2050;G=c[z+4>>2]|0;H=I+8|0;c[H>>2]=c[z>>2];c[H+4>>2]=G;g[I+24>>2]=y;g[I+28>>2]=h;g[I+16>>2]=L?0.0:D;g[I+20>>2]=L?0.0:M-N;b[I+32>>1]=b[d>>1]|0;c[I+4>>2]=YZ()|0;d=c[104587]|0;if(d|0)do{Sh[c[d>>2]&255](c[d+4>>2]|0,I)|0;d=c[d+8>>2]|0}while((d|0)!=0);if((ZZ(I,1,0,0,0)|0)>=1)_Z(I);l=J;return}case 1792:{L=H+(G*8232|0)+8216|0;I=(b[L>>1]|0)+1<<16>>16;b[L>>1]=I;L=H+(G*8232|0)+8|0;M=+((I&65535)+-1|0);N=+(I&65535);g[L>>2]=(A+ +g[L>>2]*M)/N;L=H+(G*8232|0)+12|0;g[L>>2]=(D+ +g[L>>2]*M)/N;g[H+(G*8232|0)+16>>2]=0.0;g[H+(G*8232|0)+24>>2]=A;g[H+(G*8232|0)+28>>2]=D;c[H+(G*8232|0)+20>>2]=1;l=J;return}default:{l=J;return}}}function $Z(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;y=z;e=+g[a>>2];x=c[a+4>>2]|0;if(e<=0.0)if((x|0)>1){d=1;f=+g[a+12>>2];i=+g[a+8>>2];do{r=i;i=+g[a+8+(d<<3)>>2];r=i-r;s=f;f=+g[a+8+(d<<3)+4>>2];s=f-s;e=e+ +C(+(r*r+s*s));d=d+1|0}while((d|0)!=(x|0));h=5}else d=0;else h=5;if((h|0)==5){q=e/63.0;if((x|0)>1){e=q;d=0;w=1;f=0.0;i=0.0;do{u=w+-1|0;h=a+8+(u<<3)|0;o=+g[h>>2];t=a+8+(w<<3)|0;n=+g[t>>2];m=o-n;u=a+8+(u<<3)+4|0;j=+g[u>>2];v=a+8+(w<<3)+4|0;k=+g[v>>2];p=j-k;p=+C(+(m*m+p*p));m=p+e;a:do if(m>q){m=o;while(1){r=(q-e)/p;s=m+r*(n-m);g[b+(d<<3)>>2]=s;j=j+r*(k-j);g[b+(d<<3)+4>>2]=j;f=f+s;i=i+j;d=d+1|0;e=e-q;j=p+e;if(!(j>q)){e=j;break a}n=+g[t>>2];m=+g[h>>2];k=+g[v>>2];j=+g[u>>2]}}else e=m;while(0);w=w+1|0}while((w|0)!=(x|0));if((d|0)>=63){a=a+8+(x+-1<<3)|0;y=c[a+4>>2]|0;h=b+504|0;c[h>>2]=c[a>>2];c[h+4>>2]=y;s=f*.015625;r=i*.015625;e=+g[b+4>>2];f=+g[b>>2];q=+K(+(r-e),+(s-f));n=s;o=r;p=+E(+q);q=+F(+q);k=s;m=s;i=r;j=r;h=0;while(1){B=f-s;A=e-r;f=n+(B*p-A*q);g[b+(h<<3)>>2]=f;A=o+(B*q+A*p);g[b+(h<<3)+4>>2]=A;e=f<k?f:k;f=f>m?f:m;j=A<j?A:j;i=A>i?A:i;d=h+1|0;if((d|0)==64)break;k=e;m=f;h=d;f=+g[b+(d<<3)>>2];e=+g[b+(d<<3)+4>>2]}f=f-e;e=i-j;d=0;do{y=b+(d<<3)|0;g[y>>2]=(+g[y>>2]-s)*256.0/f;y=b+(d<<3)+4|0;g[y>>2]=(+g[y>>2]-r)*256.0/e;d=d+1|0}while((d|0)!=64);l=z;return}}else d=0}c[y>>2]=d;vV(392582,y);l=z;return}function a_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b|0)!=0?(a[b>>0]|0)!=0:0)e=Of(b|0)|0;else e=0;f=c[104300]|0;a:do if(!f)g=10;else{while(1){if(!(e3(b,c[f>>2]|0)|0))break;f=c[f+16>>2]|0;if(!f){g=10;break a}}if(e|0?(c[f+8>>2]|0)!=2:0)break;e=c[f+4>>2]|0;g=10}while(0);if((g|0)==10)if(!e){g=d;return g|0}if((a[e>>0]|0)==48){g=0;return g|0}else return (q4(e,404649)|0)!=0|0;return 0}function b_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;h=(a|0)==0;a:do if(!h?(c[a+48>>2]&16384|0)==0:0){e=c[104297]|0;do if(e)if((c[a>>2]|0)==(e+280|0))if(((d|b|0)>-1?(c[a+24>>2]|0)>(b|0):0)&(c[a+28>>2]|0)>(d|0))break a;else break;else{vV(405282,g);break}else vV(386054,f);while(0);if((c[104313]|0)!=(a|0)){d=0;l=i;return d|0}c_(a,c[104312]|0,0,b,d)|0;e=c[104313]|0;if(!e){d=0;l=i;return d|0}WZ(e,11,0,0);c[104313]=0;e=c[104326]|0;f=c[104304]|0;g=(f|0)==0;if((e|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(g){d=0;l=i;return d|0}Rh[f&511](e)|0;d=0;l=i;return d|0}else{if(g){d=0;l=i;return d|0}Rh[f&511](0)|0;d=0;l=i;return d|0}}while(0);e=c[104313]|0;if((e|0)==(a|0)){d=1;l=i;return d|0}if(e|0)WZ(e,11,0,0);c[104313]=a;if(h)e=417304;else{WZ(a,10,0,0);e=(c[104313]|0)==0?417304:417308}e=c[e>>2]|0;f=c[104304]|0;g=(f|0)==0;if((e|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(!g)Rh[f&511](e)|0}else if(!g)Rh[f&511](0)|0;c_(a,c[104312]|0,0,b,d)|0;d=1;l=i;return d|0}function c_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;o=t+80|0;n=t+72|0;i=t+64|0;h=t+56|0;s=t;do if(c[104322]|0){g=c[104297]|0;do if(!g){vV(386054,h);h=0;g=0}else{if(a|0?(c[a>>2]|0)==(g+280|0):0){h=c[a+28>>2]|0;g=c[a+24>>2]|0;break}vV(405282,i);h=0;g=0}while(0);j=(g|0)/2|0;i=(h|0)/2|0;if((j|0)==(e|0)&(i|0)==(f|0)){c[104318]=e;g=0;break}h=(a|0)==0?c[104313]|0:a;if(h){g=c[104307]|0;if(g|0){si[g&127](h,j,i);k=15;break}g=c[104312]|0;if(b_(h,j,i)|0){c_(h,g,0,j,i)|0;k=15}else k=15}else k=15}else k=15;while(0);do if((k|0)==15){p=(d|0)!=0;g=c[104319]|0;h=c[104318]|0;if(p){d=f;m=e;f=g+f|0;e=h+e|0}else{d=f-g|0;m=e-h|0}if(!(d|m)){s=0;l=t;return s|0}g=c[104321]|0;if(!g){c[104314]=e;h=f}else{c[104314]=(c[104314]|0)+m;h=(c[104315]|0)+d|0}c[104315]=h;if((a|0)!=0?(c[a+48>>2]&16384|0)==0:0){h=c[104313]|0;g=c[104297]|0;do if(!g){vV(386054,n);k=0;i=0}else{if(h|0?(c[h>>2]|0)==(g+280|0):0){k=c[h+28>>2]|0;i=c[h+24>>2]|0;break}vV(405282,o);k=0;i=0}while(0);h=i+-1|0;g=k+-1|0;j=c[104314]|0;if((j|0)<(i|0))h=j;else c[104314]=h;if((h|0)<0)c[104314]=0;h=c[104315]|0;if((h|0)<(k|0))g=h;else c[104315]=g;if((g|0)<0)c[104315]=0;g=c[104321]|0}c[104316]=(c[104316]|0)+m;c[104317]=(c[104317]|0)+d;if(((c[104328]|0)!=0&(g|0)==0?(q=c[104305]|0,q|0):0)?(r=c[104327]|0,r|0):0)fi[q&511](r);r=c[104335]|0;if((r|0)!=0?(c[r>>2]&1|0)!=0:0)g=0;else{c[s>>2]=1024;g=c[104313]|0;if(!g)g=0;else g=c[g+4>>2]|0;c[s+8>>2]=g;c[s+12>>2]=b;c[s+16>>2]=c[104320];c[s+20>>2]=c[104314];c[s+24>>2]=c[104315];c[s+28>>2]=m;c[s+32>>2]=d;c[s+4>>2]=YZ()|0;g=c[104587]|0;if(g|0)do{Sh[c[g>>2]&255](c[g+4>>2]|0,s)|0;g=c[g+8>>2]|0}while((g|0)!=0);if((ZZ(s,1,0,0,0)|0)<1)g=0;else{_Z(s);g=1}}if(p){c[104318]=c[104314];f=c[104315]|0;break}else{c[104318]=e;break}}while(0);c[104319]=f;s=g;l=t;return s|0}function d_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+16|0;b=r+8|0;o=r+24|0;d=c[104297]|0;if(!d){vV(386054,r);q=-1;l=r;return q|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){h=c[a+16>>2]|0;b=h&-65536;if((b|0)<805240832)switch(b|0){case 536805376:{q=7;break}default:{}}else switch(b|0){case 805240832:{q=7;break}default:{}}if((q|0)==7){q=h&65535;q=(q|0)>=(c[d+264>>2]|0)?0:q;l=r;return q|0}f=c[a+20>>2]|0;b=f&-65536;if((b|0)<805240832)switch(b|0){case 536805376:{q=11;break}default:{}}else switch(b|0){case 805240832:{q=11;break}default:{}}if((q|0)==11){q=f&65535;q=(q|0)>=(c[d+264>>2]|0)?0:q;l=r;return q|0}e=c[d+264>>2]|0;g=(e|0)>0;a:do if(g){d=c[d+268>>2]|0;b=0;while(1){if((c[d+(b*68|0)+56>>2]|0)==(a|0))break;b=b+1|0;if((b|0)>=(e|0))break a}l=r;return b|0}while(0);n=((c[a+24>>2]|0)/2|0)+h|0;m=((c[a+28>>2]|0)/2|0)+f|0;if(g){i=o+8|0;j=o+4|0;k=o+12|0;h=2147483647;b=-1;a=0;while(1){h_(a,o);d=c[o>>2]|0;e=c[j>>2]|0;f=c[i>>2]|0;g=c[k>>2]|0;if((f|0)>0&(g|0)>0?(m|0)<(g+e|0)&(((n|0)>=(f+d|0)|(n|0)<(d|0)|(m|0)<(e|0))^1):0){b=a;q=21;break}d=n-d+((f|0)/-2|0)|0;e=m-e+((g|0)/-2|0)|0;d=(O(e,e)|0)+(O(d,d)|0)|0;e=(d|0)<(h|0);b=e?a:b;a=a+1|0;if((a|0)>=(c[(c[104297]|0)+264>>2]|0))break;else h=e?d:h}if((q|0)==21){l=r;return b|0}if((b|0)>=0){q=b;l=r;return q|0}}else b=-1;vV(392846,p);q=b;l=r;return q|0}vV(405282,b);q=-1;l=r;return q|0}function e_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+24|0;f=i+16|0;e=i+8|0;g=i+28|0;d=c[104297]|0;if(!d){vV(386054,i);h=-1;l=i;return h|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){if(!b){c[f>>2]=392808;vV(406140,f);h=-1;l=i;return h|0}d=a+72|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];d=g+4|0;if(!(c[d>>2]|0))c[d>>2]=c[a+64>>2];d=g+8|0;if(!(c[d>>2]|0))c[d>>2]=c[a+68>>2];d=d_(a)|0;if((d|0)>-1)d=(c[(c[104297]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if((c[a+48>>2]&4097|0)!=4097){d=d_(a)|0;if((d|0)>-1)d=(c[(c[104297]|0)+268>>2]|0)+(d*68|0)|0;else d=0;if(!(f_(d,g,g)|0)){vV(392813,h);h=-1;l=i;return h|0}}else{h=d+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2]};c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];c[b+16>>2]=c[g+16>>2];h=0;l=i;return h|0}vV(405282,e);h=-1;l=i;return h|0}function f_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;if(!((b|0)!=0&(d|0)!=0)){vV(392761,x);d=0;l=x;return d|0}e=c[b>>2]|0;if(!e)e=c[a+16>>2]|0;w=b+12|0;f=c[w>>2]|0;if(!f)f=c[a+28>>2]|0;t=b+4|0;p=a+8|0;q=a+12|0;r=e>>>8&255;u=b+8|0;v=0;o=0;g=c[p>>2]|0;while(1){if(!g){g=c[104297]|0;i=c[g+24>>2]|0;if(!i)n=0;else{li[i&511](g,a);_3(c[q>>2]|0,c[p>>2]|0,20,167);n=c[p>>2]|0}}else n=g;if((o|0)>=(n|0))break;m=c[q>>2]|0;g=m+(o*20|0)|0;i=c[m+(o*20|0)+4>>2]|0;j=(i|0)!=0;if(j?(i|0)<(c[t>>2]|0):0)break;k=c[m+(o*20|0)+8>>2]|0;if((k|0)!=0?(k|0)<(c[u>>2]|0):0)if(j?(i|0)==(c[t>>2]|0):0)break;else g=v;else s=18;do if((s|0)==18){s=0;if(((v|0)!=0?(i|0)>=(c[v+4>>2]|0):0)?(k|0)>=(c[v+8>>2]|0):0){i=c[g>>2]|0;if((i|0)==(c[v>>2]|0)){m=c[m+(o*20|0)+12>>2]|0;g=((m|0)<(f|0)?1:(m|0)==(c[v+12>>2]|0))?v:g;break}if((i|0)!=(e|0)){if((i>>>8&255)>>>0<r>>>0){g=v;break}if((i^e)&251658240|0){g=v;break}}}}while(0);v=g;o=o+1|0;g=n}if(!v){d=0;l=x;return d|0}e=c[v>>2]|0;if(!e)i=c[b>>2]|0;else i=e;c[d>>2]=i;e=c[v+4>>2]|0;if((e|0)!=0?(h=c[v+8>>2]|0,(h|0)!=0):0){c[d+4>>2]=e;g=e}else{g=c[t>>2]|0;c[d+4>>2]=g;h=c[u>>2]|0}f=d+8|0;c[f>>2]=h;e=c[v+12>>2]|0;if(!e)e=c[w>>2]|0;c[d+12>>2]=e;c[d+16>>2]=c[v+16>>2];if(!i)c[d>>2]=370546692;if(!g)c[d+4>>2]=640;if(h|0){l=x;return d|0}c[f>>2]=480;l=x;return d|0}function g_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((a|0)==(b|0)){b=0;return b|0}d=c[a+4>>2]|0;e=c[b+4>>2]|0;if((e|0)!=(d|0)){b=e-d|0;return b|0}d=c[a+8>>2]|0;e=c[b+8>>2]|0;if((e|0)!=(d|0)){b=e-d|0;return b|0}d=c[a>>2]|0;e=d>>>8&255;g=c[b>>2]|0;f=g>>>8&255;if((f|0)!=(e|0)){b=f-e|0;return b|0}e=d>>>16&15;d=g>>>16&15;if((d|0)==(e|0)){a=c[a+12>>2]|0;b=c[b+12>>2]|0;return ((b|0)==(a|0)?0:b-a|0)|0}b=d-e|0;return b|0}function h_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=c[104297]|0;if(!f){vV(386054,g);l=g;return}d=c[f+264>>2]|0;if(!((a|0)>-1&(d|0)>(a|0))){c[e>>2]=d+-1;vV(392873,e);l=g;return}if(!b){l=g;return}e=c[f+268>>2]|0;d=c[f+12>>2]|0;if(d|0?(Th[d&63](f,e+(a*68|0)|0,b)|0)==0:0){l=g;return}if(!a){c[b>>2]=0;c[b+4>>2]=0;d=b+8|0}else{h_(a+-1|0,b);d=b+8|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0)}c[d>>2]=c[e+(a*68|0)+40>>2];c[b+12>>2]=c[e+(a*68|0)+44>>2];l=g;return}function i_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=j_(b)|0;if(!d){h=0;l=i;return h|0}h=B2(324)|0;if(!h){vV(392416,i);h=0;l=i;return h|0}if(c[h+-4>>2]&3|0)u6(h|0,0,324)|0;f=B2(8)|0;if(!f){C2(c[h+320>>2]|0);C2(h);vV(392416,i+8|0);h=0;l=i;return h|0}if(c[f+-4>>2]&3|0){g=f;e=g;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;g=g+4|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0}c[f>>2]=d;g=f+4|0;c[g>>2]=d;c[h+4>>2]=216;c[h+8>>2]=31;c[h+12>>2]=168;c[h+16>>2]=169;c[h+20>>2]=170;c[h+24>>2]=171;c[h+28>>2]=16;c[h+36>>2]=17;c[h+40>>2]=217;c[h+44>>2]=172;c[h+48>>2]=420;c[h+52>>2]=421;c[h+56>>2]=422;c[h+60>>2]=32;c[h+64>>2]=33;c[h+68>>2]=34;c[h+72>>2]=20;c[h+76>>2]=2;c[h+80>>2]=18;c[h+84>>2]=307;c[h+88>>2]=218;c[h+92>>2]=308;d=h+104|0;b=31580;e=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=h+320|0;c[b>>2]=f;if(c[f>>2]|0){l=i;return h|0}e=c[g>>2]|0;c[f>>2]=e;if(e|0){l=i;return h|0}d=j_(c[h+188>>2]|0)|0;if(!d){l=i;return h|0}c[g>>2]=d;c[f>>2]=d;d=c[c[b>>2]>>2]|0;if(!d){l=i;return h|0}G_(d,h+216|0);d=c[c[b>>2]>>2]|0;if(!d){l=i;return h|0}if(!(c[h+280>>2]|0)){f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=f;c[d+48>>2]=g;l=i;return h|0}else{G_(d,h+248|0);l=i;return h|0}return 0}function j_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;o=r+16|0;b=r+8|0;e=r+48|0;f=r+44|0;h=r+40|0;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;d=c[104297]|0;if(!d){vV(386054,r);q=0;l=r;return q|0}if(a|0?(c[a>>2]|0)==(d+280|0):0){p=a+112|0;q=a+108|0;b=c[q>>2]|0;if(c[p>>2]|0){q=b;l=r;return q|0}if(!b)b=d;else{c[b>>2]=c[b>>2]&-5;YV(b);b=c[104297]|0}d=c[b+132>>2]|0;do if((((d|0)!=0?(c[b+136>>2]|0)!=0:0)?(Wh[d&31](b,a,e,f,h)|0)>=0:0)?(JZ(c[e>>2]|0,i,j,k,m,n)|0)!=0:0){f=c[f>>2]|0;g=c[a+24>>2]|0;e=c[a+28>>2]|0;d=c[h>>2]|0;b=O_(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!b){vV(393207,o);b=0;break}b=P_(0,0,b)|0;if(b){c[b>>2]=c[b>>2]|1;c[b+20>>2]=f;c[b+8>>2]=g;c[b+12>>2]=e;c[b+16>>2]=d;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=g;c[b+48>>2]=e}else b=0}else b=0;while(0);c[q>>2]=b;if(!b){q=0;l=r;return q|0}c[p>>2]=1;c[b>>2]=c[b>>2]|4;q=b;l=r;return q|0}vV(405282,b);q=0;l=r;return q|0}function k_(b,d){b=b|0;d=d|0;b=c[b+320>>2]|0;if((a[d+12>>0]|0)!=6)return;c[b>>2]=0;c[b+4>>2]=0;return}function l_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;i=j;g=a+320|0;h=c[g>>2]|0;e=c[h>>2]|0;a:do if(!e){f=h+4|0;k=c[f>>2]|0;c[h>>2]=k;e=k;if(!k){e=j_(c[a+188>>2]|0)|0;do if(e|0){c[f>>2]=e;c[h>>2]=e;f=c[c[g>>2]>>2]|0;if(!f)break a;G_(f,a+216|0);e=c[c[g>>2]>>2]|0;if(e|0)if(!(c[a+280>>2]|0)){a=c[e+8>>2]|0;k=c[e+12>>2]|0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=a;c[e+48>>2]=k;break}else{G_(e,a+248|0);break}}while(0);e=c[h>>2]|0}if(!e){vV(393890,i);k=-1;l=j;return k|0}}while(0);if(b|0)c[b>>2]=c[e+8>>2];if(!d){k=0;l=j;return k|0}c[d>>2]=c[e+12>>2];k=0;l=j;return k|0}function m_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;b=k+28|0;e=k+24|0;f=k+20|0;g=k+16|0;h=k+12|0;if(!(JZ(c[d+4>>2]|0,b,e,f,g,h)|0)){vV(393867,k);m=-1;l=k;return m|0}b=O_(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(!b){vV(393207,k+8|0);b=0}else b=P_(c[d+12>>2]|0,c[d+16>>2]|0,b)|0;i=d+68|0;c[i>>2]=b;e=a[d+28>>0]|0;f=a[d+29>>0]|0;g=a[d+30>>0]|0;do if(b){h=c[b+52>>2]|0;a[h+76>>0]=e;a[h+77>>0]=f;a[h+78>>0]=g;o=h+68|0;n=c[o>>2]|0;g=(f&e)<<24>>24==-1&g<<24>>24==-1?n&-2:n|1;c[o>>2]=g;if(!((g|0)==(n|0)|(h|0)==0)){b=c[h>>2]|0;if(b|0?(n=b+56|0,o=c[n>>2]|0,c[n>>2]=o+-1,(o|0)<2):0)YV(b);c[h>>2]=0;c[h+84>>2]=0;c[h+80>>2]=0;b=h+64|0;C2(c[b>>2]|0);c[b>>2]=0;b=c[i>>2]|0;if(!b){b=0;break}else e=a[d+31>>0]|0}else e=a[d+31>>0]|0;f=c[b+52>>2]|0;a[f+79>>0]=e;h=f+68|0;o=c[h>>2]|0;n=e<<24>>24!=-1?o|2:o&-3;c[h>>2]=n;if(!((n|0)==(o|0)|(f|0)==0)){b=c[f>>2]|0;if(b|0?(n=b+56|0,o=c[n>>2]|0,c[n>>2]=o+-1,(o|0)<2):0)YV(b);c[f>>2]=0;c[f+84>>2]=0;c[f+80>>2]=0;b=f+64|0;C2(c[b>>2]|0);c[b>>2]=0;b=c[i>>2]|0}}else b=0;while(0);L_(b,c[d+24>>2]|0)|0;if(((c[d+8>>2]|0)==0?(j=c[i>>2]|0,j|0):0)?(m=c[j+52>>2]|0,j=m+68|0,o=c[j>>2]|0,n=o|4096,c[j>>2]=n,!((n|0)==(o|0)|(m|0)==0)):0){b=c[m>>2]|0;if(b|0?(n=b+56|0,o=c[n>>2]|0,c[n>>2]=o+-1,(o|0)<2):0)YV(b);c[m>>2]=0;c[m+84>>2]=0;c[m+80>>2]=0;o=m+64|0;C2(c[o>>2]|0);c[o>>2]=0}o=((c[i>>2]|0)==0)<<31>>31;l=k;return o|0}function n_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[d+68>>2]|0;g=d+28|0;f=a[g>>0]|0;h=d+29|0;e=a[h>>0]|0;i=d+30|0;b=a[i>>0]|0;if((j|0)==0?1:(e&f&b)<<24>>24==-1){if(!j){j=-1;return j|0}}else{d=c[j+52>>2]|0;m=d+68|0;k=c[m>>2]|0;l=k&-4097;c[m>>2]=l;if(!((l|0)==(k|0)|(d|0)==0)){b=c[d>>2]|0;if(b|0?(l=b+56|0,m=c[l>>2]|0,c[l>>2]=m+-1,(m|0)<2):0)YV(b);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;f=d+64|0;C2(c[f>>2]|0);c[f>>2]=0;f=a[g>>0]|0;e=a[h>>0]|0;b=a[i>>0]|0}}d=c[j+52>>2]|0;a[d+76>>0]=f;a[d+77>>0]=e;a[d+78>>0]=b;k=d+68|0;m=c[k>>2]|0;l=(e&f)<<24>>24==-1&b<<24>>24==-1?m&-2:m|1;c[k>>2]=l;if((l|0)==(m|0)|(d|0)==0){m=0;return m|0}b=c[d>>2]|0;if(b|0?(l=b+56|0,m=c[l>>2]|0,c[l>>2]=m+-1,(m|0)<2):0)YV(b);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;m=d+64|0;C2(c[m>>2]|0);c[m>>2]=0;m=0;return m|0}function o_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[d+68>>2]|0;d=d+31|0;b=a[d>>0]|0;if(b<<24>>24==-1)if(!f){f=-1;return f|0}else b=-1;else if((c[(c[f+4>>2]|0)+24>>2]|0)!=0?(e=c[f+52>>2]|0,i=e+68|0,g=c[i>>2]|0,h=g&-4097,c[i>>2]=h,!((h|0)==(g|0)|(e|0)==0)):0){b=c[e>>2]|0;if(b|0?(h=b+56|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)<2):0)YV(b);c[e>>2]=0;c[e+84>>2]=0;c[e+80>>2]=0;b=e+64|0;C2(c[b>>2]|0);c[b>>2]=0;b=a[d>>0]|0}d=c[f+52>>2]|0;a[d+79>>0]=b;g=d+68|0;i=c[g>>2]|0;h=b<<24>>24!=-1?i|2:i&-3;c[g>>2]=h;if((h|0)==(i|0)|(d|0)==0){i=0;return i|0}b=c[d>>2]|0;if(b|0?(h=b+56|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)<2):0)YV(b);c[d>>2]=0;c[d+84>>2]=0;c[d+80>>2]=0;i=d+64|0;C2(c[i>>2]|0);c[i>>2]=0;i=0;return i|0}function p_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+68>>2]|0;b=b+24|0;a=c[b>>2]|0;switch(a|0){case 4:case 2:{if((d|0)!=0?(e=c[d+52>>2]|0,h=e+68|0,f=c[h>>2]|0,g=f&-4097,c[h>>2]=g,!((g|0)==(f|0)|(e|0)==0)):0){a=c[e>>2]|0;if(a|0?(g=a+56|0,h=c[g>>2]|0,c[g>>2]=h+-1,(h|0)<2):0)YV(a);c[e>>2]=0;c[e+84>>2]=0;c[e+80>>2]=0;a=e+64|0;C2(c[a>>2]|0);c[a>>2]=0;a=c[b>>2]|0}break}default:{}}return L_(d,a)|0}function q_(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=c[b+68>>2]|0;a=c[l>>2]|0;if(a&2){h=l+28|0;b=c[h>>2]|0;if(!b){XV(l,1);a=c[l>>2]|2;c[l>>2]=a;b=c[h>>2]|0}c[h>>2]=b+1}i=l+16|0;b=d[(c[l+4>>2]|0)+9>>0]|0;j=O(c[e+8>>2]|0,b)|0;k=e+12|0;if((c[k>>2]|0)>0){a=(c[l+20>>2]|0)+(O(c[i>>2]|0,c[e+4>>2]|0)|0)|0;h=0;b=a+(O(b,c[e>>2]|0)|0)|0;a=f;while(1){s6(b|0,a|0,j|0)|0;h=h+1|0;if((h|0)>=(c[k>>2]|0))break;else{b=b+(c[i>>2]|0)|0;a=a+g|0}}a=c[l>>2]|0}if(!(a&2))return 0;b=l+28|0;h=c[b>>2]|0;if(!h)return 0;c[b>>2]=h+-1;if((h|0)>1)return 0;c[l>>2]=a&-3;$V(l)|0;return 0}function r_(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a=c[b+68>>2]|0;b=c[a+16>>2]|0;h=(c[a+20>>2]|0)+(O(b,c[e+4>>2]|0)|0)|0;c[f>>2]=h+(O(d[(c[a+4>>2]|0)+9>>0]|0,c[e>>2]|0)|0);c[g>>2]=b;return 0}function s_(a,b){a=a|0;b=b|0;return}function t_(a,b){a=a|0;b=b|0;a=c[a+320>>2]|0;c[a>>2]=c[((b|0)==0?a+4|0:b+68|0)>>2];return 0}function u_(a){a=a|0;var b=0;b=c[c[a+320>>2]>>2]|0;if(!b)return 0;G_(b,a+216|0);return 0}function v_(a){a=a|0;var b=0,d=0;b=c[c[a+320>>2]>>2]|0;if(!b)return 0;if(!(c[a+280>>2]|0)){d=c[b+8>>2]|0;a=c[b+12>>2]|0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=d;c[b+48>>2]=a;return 0}else{G_(b,a+248|0);return 0}return 0}function w_(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+16|0;j=m;f=b+320|0;g=c[f>>2]|0;d=c[g>>2]|0;a:do if(!d){e=g+4|0;i=c[e>>2]|0;c[g>>2]=i;d=i;if(!i){d=j_(c[b+188>>2]|0)|0;do if(d|0){c[e>>2]=d;c[g>>2]=d;e=c[c[f>>2]>>2]|0;if(!e){h=10;break a}G_(e,b+216|0);d=c[c[f>>2]>>2]|0;if(d|0)if(!(c[b+280>>2]|0)){f=c[d+8>>2]|0;i=c[d+12>>2]|0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=f;c[d+48>>2]=i;break}else{G_(d,b+248|0);break}}while(0);d=c[g>>2]|0}if(!d){k=-1;l=m;return k|0}else e=j}else h=10;while(0);if((h|0)==10)e=j;n=R_(c[d+4>>2]|0,a[b+312>>0]|0,a[b+313>>0]|0,a[b+314>>0]|0,a[b+315>>0]|0)|0;f=d+36|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=d+8|0;i=c[f>>2]|0;e=d+12|0;o=c[e>>2]|0;g=d+36|0;c[g>>2]=0;b=d+40|0;c[b>>2]=0;h=d+44|0;c[h>>2]=i;i=d+48|0;c[i>>2]=o;FZ(d,0,n)|0;d=c[f>>2]|0;e=c[e>>2]|0;f=c[j+8>>2]|0;if((f|0)>=1?(k=c[j+12>>2]|0,!((k|0)<1|(d|0)<1|(e|0)<1)):0){o=c[j>>2]|0;n=f+o|0;o=(o|0)>0?o:0;c[g>>2]=o;c[h>>2]=((d|0)<(n|0)?d:n)-o;d=c[j+4>>2]|0;o=k+d|0;d=(d|0)>0?d:0;c[b>>2]=d;d=((e|0)<(o|0)?e:o)-d|0}else{c[h>>2]=0;d=0}c[i>>2]=d;o=0;l=m;return o|0}
  43. function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;m=d+28|0;if(c[m>>2]|0){o=d+16|0;p=d+24|0;r=b+48|0;l=0;do{k=c[o>>2]|0;i=c[p>>2]|0;g=c[k+(i<<4)+(l<<2)>>2]|0;do if(g|0){h=c[g>>2]|0;do if(!(h&4)){c[g>>2]=h|4;e=c[r>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=h|12;e=k;g=i;h=k;i=k;break}f=e+1|0;c[r>>2]=f;if((h&3)==1){fr(b,g);e=c[o>>2]|0;j=e;g=c[p>>2]|0;f=c[r>>2]|0}else{j=k;g=i;e=k}c[r>>2]=f+-1;h=j;i=j}else{e=k;g=i;h=k;i=k}while(0);f=h+(l<<4)|0;if(!(a[h+(g*20|0)+l>>0]&8)){if(!f)break;if(!(c[f>>2]&8))break;f=c[h+(l<<4)+8>>2]|0;if(!f)break;g=c[f>>2]|0;if(g&4|0)break;c[f>>2]=g|4;e=c[r>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=g|12;break}e=e+1|0;c[r>>2]=e;if((g&3)==1){fr(b,f);e=c[r>>2]|0}c[r>>2]=e+-1;break}g=c[f>>2]|0;do if((g|0)!=0?(n=c[g>>2]|0,(n&4|0)==0):0){c[g>>2]=n|4;f=c[r>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=n|12;e=i;break}f=f+1|0;c[r>>2]=f;if((n&3)==1){fr(b,g);e=c[o>>2]|0;f=c[r>>2]|0}c[r>>2]=f+-1}else e=i;while(0);f=c[e+(l<<4)+4>>2]|0;if(f|0?(q=c[f>>2]|0,(q&4|0)==0):0){c[f>>2]=q|4;e=c[r>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=q|12;break}e=e+1|0;c[r>>2]=e;if((q&3)==1){fr(b,f);e=c[r>>2]|0}c[r>>2]=e+-1}}while(0);l=l+1|0}while(l>>>0<(c[m>>2]|0)>>>0)}k=d+32|0;e=c[k>>2]|0;if(e|0){h=d+16|0;i=d+24|0;j=b+48|0;g=0;do{f=c[i>>2]|0;f=(c[h>>2]|0)+(f*21|0)+(0-f&7)|0;r=f+(g<<4)|0;do if((((r|0)!=0?(c[r>>2]&8|0)!=0:0)?(s=c[f+(g<<4)+8>>2]|0,(s|0)!=0):0)?(t=c[s>>2]|0,(t&4|0)==0):0){c[s>>2]=t|4;f=c[j>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[s>>2]=t|12;break}f=f+1|0;c[j>>2]=f;if((t&3)==1){fr(b,s);e=c[k>>2]|0;f=c[j>>2]|0}c[j>>2]=f+-1}while(0);g=g+1|0}while(g>>>0<e>>>0)}f=c[d+20>>2]|0;do if(f|0?(u=c[f>>2]|0,(u&4|0)==0):0){c[f>>2]=u|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=u|12;break}e=e+1|0;c[g>>2]=e;if((u&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d>>2]|0;if(f&16384|0)return;if(f&2048|0){h=d+40|0;f=c[h>>2]|0;do if(f|0?(x=c[f>>2]|0,(x&4|0)==0):0){c[f>>2]=x|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=x|12;break}e=e+1|0;c[g>>2]=e;if((x&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d+52>>2]|0;do if(f|0?(D=c[f>>2]|0,(D&4|0)==0):0){c[f>>2]=D|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=D|12;break}e=e+1|0;c[g>>2]=e;if((D&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d+56>>2]|0;do if(f|0?(G=c[f>>2]|0,(G&4|0)==0):0){c[f>>2]=G|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=G|12;break}e=e+1|0;c[g>>2]=e;if((G&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);e=c[h>>2]|0;if(!e)return;f=e+24|0;h=d+44|0;e=c[h>>2]|0;if(f>>>0<e>>>0){i=b+48|0;do{do if(((f|0?c[f>>2]&8|0:0)?(J=c[f+8>>2]|0,J|0):0)?(K=c[J>>2]|0,(K&4|0)==0):0){c[J>>2]=K|4;g=c[i>>2]|0;if(g>>>0>255){c[b>>2]=c[b>>2]|1;c[J>>2]=K|12;break}g=g+1|0;c[i>>2]=g;if((K&3)==1){fr(b,J);g=c[i>>2]|0}c[i>>2]=g+-1}while(0);f=f+16|0}while(f>>>0<e>>>0);e=c[h>>2]|0}h=c[d+48>>2]|0;if(e>>>0>=h>>>0)return;i=b+48|0;do{g=c[e>>2]|0;do if(g|0?(P=c[g>>2]|0,(P&4|0)==0):0){c[g>>2]=P|4;f=c[i>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=P|12;break}f=f+1|0;c[i>>2]=f;if((P&3)==1){fr(b,g);f=c[i>>2]|0}c[i>>2]=f+-1}while(0);e=e+4|0}while(e>>>0<h>>>0);return}e=f>>>27;switch(e&31){case 16:{f=c[d+40>>2]|0;do if(f|0?(y=c[f>>2]|0,(y&4|0)==0):0){c[f>>2]=y|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=y|12;break}e=e+1|0;c[g>>2]=e;if((y&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d+44>>2]|0;if(!f)return;g=c[f>>2]|0;if(g&4|0)return;c[f>>2]=g|4;h=b+48|0;e=c[h>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=g|12;return}e=e+1|0;c[h>>2]=e;if((g&3)==1){fr(b,f);e=c[h>>2]|0}c[h>>2]=e+-1;return}case 15:{f=c[d+40>>2]|0;if(!f)return;g=c[f>>2]|0;if(g&4|0)return;c[f>>2]=g|4;h=b+48|0;e=c[h>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=g|12;return}e=e+1|0;c[h>>2]=e;if((g&3)==1){fr(b,f);e=c[h>>2]|0}c[h>>2]=e+-1;return}default:{if(f&8192|0){f=c[d+40>>2]|0;do if(f|0?(z=c[f>>2]|0,(z&4|0)==0):0){c[f>>2]=z|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=z|12;break}e=e+1|0;c[g>>2]=e;if((z&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d+44>>2]|0;if(!f)return;g=c[f>>2]|0;if(g&4|0)return;c[f>>2]=g|4;h=b+48|0;e=c[h>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=g|12;return}e=e+1|0;c[h>>2]=e;if((g&3)==1){fr(b,f);e=c[h>>2]|0}c[h>>2]=e+-1;return}if(f&1024|0){do if((c[d+40>>2]&8|0?(v=c[d+48>>2]|0,v|0):0)?(w=c[v>>2]|0,(w&4|0)==0):0){c[v>>2]=w|4;f=b+48|0;e=c[f>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[v>>2]=w|12;break}e=e+1|0;c[f>>2]=e;if((w&3)==1){fr(b,v);e=c[f>>2]|0}c[f>>2]=e+-1}while(0);e=d+56|0;do if((c[e>>2]&8|0?(B=c[e+8>>2]|0,B|0):0)?(C=c[B>>2]|0,(C&4|0)==0):0){c[B>>2]=C|4;f=b+48|0;e=c[f>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[B>>2]=C|12;break}e=e+1|0;c[f>>2]=e;if((C&3)==1){fr(b,B);e=c[f>>2]|0}c[f>>2]=e+-1}while(0);e=c[d+76>>2]|0;if((e|0)<=0)return;i=b+48|0;h=c[d+72>>2]|0;while(1){g=e;e=e+-1|0;do if((c[h>>2]&8|0?(H=c[h+8>>2]|0,H|0):0)?(I=c[H>>2]|0,(I&4|0)==0):0){c[H>>2]=I|4;f=c[i>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[H>>2]=I|12;break}f=f+1|0;c[i>>2]=f;if((I&3)==1){fr(b,H);f=c[i>>2]|0}c[i>>2]=f+-1}while(0);if((g|0)<=1)break;else h=h+16|0}return}if(f&33554432|0){f=c[d+40>>2]|0;do if(f|0?(A=c[f>>2]|0,(A&4|0)==0):0){c[f>>2]=A|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=A|12;break}e=e+1|0;c[g>>2]=e;if((A&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);f=c[d+44>>2]|0;if(!f)return;g=c[f>>2]|0;if(g&4|0)return;c[f>>2]=g|4;h=b+48|0;e=c[h>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=g|12;return}e=e+1|0;c[h>>2]=e;if((g&3)==1){fr(b,f);e=c[h>>2]|0}c[h>>2]=e+-1;return}if((e|0)!=18)return;e=c[d+52>>2]|0;h=d+68|0;f=c[h>>2]|0;if(e>>>0<f>>>0){i=b+48|0;do{do if((((e|0)!=0?(c[e>>2]&8|0)!=0:0)?(E=c[e+8>>2]|0,(E|0)!=0):0)?(F=c[E>>2]|0,(F&4|0)==0):0){c[E>>2]=F|4;g=c[i>>2]|0;if(g>>>0>255){c[b>>2]=c[b>>2]|1;c[E>>2]=F|12;break}g=g+1|0;c[i>>2]=g;if((F&3)==1){fr(b,E);f=c[h>>2]|0;g=c[i>>2]|0}c[i>>2]=g+-1}while(0);e=e+16|0}while(e>>>0<f>>>0)}e=c[d+72>>2]|0;if(e|0){h=b+48|0;do{g=c[e+16>>2]|0;do if(g|0?(L=c[g>>2]|0,(L&4|0)==0):0){c[g>>2]=L|4;f=c[h>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=L|12;break}f=f+1|0;c[h>>2]=f;if((L&3)==1){fr(b,g);f=c[h>>2]|0}c[h>>2]=f+-1}while(0);g=c[e+24>>2]|0;do if(g|0?(M=c[g>>2]|0,(M&4|0)==0):0){c[g>>2]=M|4;f=c[h>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=M|12;break}f=f+1|0;c[h>>2]=f;if((M&3)==1){fr(b,g);f=c[h>>2]|0}c[h>>2]=f+-1}while(0);g=c[e+28>>2]|0;do if(g|0?(N=c[g>>2]|0,(N&4|0)==0):0){c[g>>2]=N|4;f=c[h>>2]|0;if(f>>>0>255){c[b>>2]=c[b>>2]|1;c[g>>2]=N|12;break}f=f+1|0;c[h>>2]=f;if((N&3)==1){fr(b,g);f=c[h>>2]|0}c[h>>2]=f+-1}while(0);e=c[e+20>>2]|0}while((e|0)!=0)}f=c[d+84>>2]|0;do if(f|0?(O=c[f>>2]|0,(O&4|0)==0):0){c[f>>2]=O|4;g=b+48|0;e=c[g>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=O|12;break}e=e+1|0;c[g>>2]=e;if((O&3)==1){fr(b,f);e=c[g>>2]|0}c[g>>2]=e+-1}while(0);h=d+100|0;i=b+48|0;g=0;do{f=c[h+(g<<2)>>2]|0;do if(f|0?(Q=c[f>>2]|0,(Q&4|0)==0):0){c[f>>2]=Q|4;e=c[i>>2]|0;if(e>>>0>255){c[b>>2]=c[b>>2]|1;c[f>>2]=Q|12;break}e=e+1|0;c[i>>2]=e;if((Q&3)==1){fr(b,f);e=c[i>>2]|0}c[i>>2]=e+-1}while(0);g=g+1|0}while((g|0)!=51);return}}}function gr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a>>2]|0;if(!(b&1))return;f=a+24|0;g=a+32|0;h=a+48|0;do{c[a>>2]=b&-2;b=c[f>>2]|0;if(b|0)do{e=c[b>>2]|0;do if(e&8|0){c[b>>2]=e&-13|4;d=c[h>>2]|0;if(d>>>0>255){c[a>>2]=c[a>>2]|1;c[b>>2]=e|12;break}d=d+1|0;c[h>>2]=d;if((e&3)==1){fr(a,b);d=c[h>>2]|0}c[h>>2]=d+-1}while(0);b=c[b+8>>2]|0}while((b|0)!=0);b=c[g>>2]|0;if(b|0)do{e=c[b>>2]|0;do if(e&8|0){c[b>>2]=e&-13|4;d=c[h>>2]|0;if(d>>>0>255){c[a>>2]=c[a>>2]|1;c[b>>2]=e|12;break}d=d+1|0;c[h>>2]=d;if((e&3)==1){fr(a,b);d=c[h>>2]|0}c[h>>2]=d+-1}while(0);b=c[b+8>>2]|0}while((b|0)!=0);b=c[a>>2]|0}while((b&1|0)!=0);return}function hr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d+16|0;e=c[l>>2]|0;i=d+24|0;f=c[i>>2]|0;j=e+(f<<4)|0;k=e+(f*20|0)|0;g=c[d+28>>2]|0;if(g){h=b+44|0;do{g=g+-1|0;f=c[j+(g<<2)>>2]|0;do if(f|0){t=f+4|0;s=(c[t>>2]|0)+-1|0;c[t>>2]=s;if(!s)rs(c[h>>2]|0,f);if(!(a[k+g>>0]&8)){if(!(c[e+(g<<4)>>2]&8))break;f=c[e+(g<<4)+8>>2]|0;s=f+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)break;vr(c[h>>2]|0,f);break}f=c[e+(g<<4)>>2]|0;if(f|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,f);f=c[e+(g<<4)+4>>2]|0;if(f|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,f)}while(0)}while((g|0)!=0);f=c[i>>2]|0;e=c[l>>2]|0}g=e+(f*21|0)+(0-f&7)|0;e=c[d+32>>2]|0;if(e|0){f=b+44|0;do{e=e+-1|0;if(c[g+(e<<4)>>2]&8|0?(m=c[g+(e<<4)+8>>2]|0,s=m+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)vr(c[f>>2]|0,m)}while((e|0)!=0)}e=c[d+20>>2]|0;if(e|0?(s=e+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[b+44>>2]|0,e);f=c[d>>2]|0;if(f&16384|0)return;if(f&2048|0){i=d+40|0;e=c[i>>2]|0;if(e|0){f=e+24|0;h=d+44|0;e=c[h>>2]|0;if(f>>>0<e>>>0){g=b+44|0;do{if(c[f>>2]&8|0?(q=c[f+8>>2]|0,s=q+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)vr(c[g>>2]|0,q);f=f+16|0}while(f>>>0<e>>>0);e=c[h>>2]|0}h=c[d+48>>2]|0;if(e>>>0<h>>>0){g=b+44|0;do{f=c[e>>2]|0;s=f+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(!t)xr(c[g>>2]|0,f);e=e+4|0}while(e>>>0<h>>>0)}}e=c[d+52>>2]|0;if(e|0?(s=e+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)qr(c[b+44>>2]|0,e);e=c[d+56>>2]|0;if(e|0?(s=e+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)qr(c[b+44>>2]|0,e);e=c[i>>2]|0;if(!e)return;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;qr(c[b+44>>2]|0,e);return}e=f>>>27;switch(e&31){case 16:{e=c[d+40>>2]|0;if(e|0?(s=e+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[b+44>>2]|0,e);e=c[d+44>>2]|0;if(!e)return;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;xr(c[b+44>>2]|0,e);return}case 15:{e=c[d+40>>2]|0;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;xr(c[b+44>>2]|0,e);return}default:{if(f&8192|0){e=c[d+40>>2]|0;if(e|0?(s=e+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)Dt(c[b+44>>2]|0,e);e=c[d+44>>2]|0;if(!e)return;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;xr(c[b+44>>2]|0,e);return}if(f&1024|0){if(c[d+40>>2]&8|0?(n=c[d+48>>2]|0,s=n+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)vr(c[b+44>>2]|0,n);e=d+56|0;if(c[e>>2]&8|0?(o=c[e+8>>2]|0,s=o+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)vr(c[b+44>>2]|0,o);e=c[d+76>>2]|0;if((e|0)<=0)return;h=b+44|0;g=c[d+72>>2]|0;while(1){f=e;e=e+-1|0;if(c[g>>2]&8|0?(p=c[g+8>>2]|0,s=p+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)vr(c[h>>2]|0,p);if((f|0)<=1)break;else g=g+16|0}return}if(f&33554432|0){e=c[d+40>>2]|0;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(!t)xr(c[b+44>>2]|0,e);e=c[d+44>>2]|0;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;xr(c[b+44>>2]|0,e);return}if((e|0)!=18)return;f=c[d+52>>2]|0;g=d+68|0;e=c[g>>2]|0;h=b+44|0;if(f>>>0<e>>>0)do{if((c[f>>2]&8|0)!=0?(r=c[f+8>>2]|0,s=r+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0){vr(c[h>>2]|0,r);e=c[g>>2]|0}f=f+16|0}while(f>>>0<e>>>0);e=c[d+72>>2]|0;if(e|0)do{f=c[e+16>>2]|0;if(f|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,f);f=c[e+24>>2]|0;if(f|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,f);f=c[e+28>>2]|0;if(f|0?(s=f+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,f);e=c[e+20>>2]|0}while((e|0)!=0);f=d+100|0;e=0;do{g=c[f+(e<<2)>>2]|0;if(g|0?(s=g+4|0,t=(c[s>>2]|0)+-1|0,c[s>>2]=t,(t|0)==0):0)xr(c[h>>2]|0,g);e=e+1|0}while((e|0)!=51);e=c[d+84>>2]|0;if(!e)return;s=e+4|0;t=(c[s>>2]|0)+-1|0;c[s>>2]=t;if(t|0)return;xr(c[h>>2]|0,e);return}}}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+52|0;h=a+64|0;i=a+68|0;j=a+56|0;k=a+60|0;f=b<<4;e=c[a+44>>2]|0;a=e+44|0;d=c[a>>2]|0;c[a>>2]=d+-1;if((d|0)<1)dr(e,2);b=e+8|0;d=e+16|0;a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if((f|0)==0|(a|0)!=0){if(!a){k=0;return k|0}}else{dr(e,0);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,0);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);a=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!a){dr(e,1);b=Th[c[b>>2]&63](c[d>>2]|0,c[g>>2]|0,f)|0;if(!b){k=0;return k|0}else a=b}}}}}}}}}}e=a-(c[g>>2]|0)|0;b=(c[k>>2]|0)+e|0;c[g>>2]=a;c[h>>2]=(c[h>>2]|0)+e;c[i>>2]=(c[i>>2]|0)+e;c[j>>2]=(c[j>>2]|0)+e;a=a+f|0;c[k>>2]=a;if(b>>>0>=a>>>0){k=1;return k|0}do{c[b>>2]=2;b=b+16|0}while(b>>>0<a>>>0);b=1;return b|0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)return;e=a+68|0;f=a+56|0;g=a+64|0;while(1){if((c[b>>2]&3|0)==1){d=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){b=5;break}c[e>>2]=d+16;c[d>>2]=9;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[e>>2]|0;if(d>>>0<((c[g>>2]|0)+16|0)>>>0){b=8;break}if(((c[f>>2]|0)+16|0)>>>0<d>>>0){b=8;break}pr(a,21,0,1,0)|0}b=c[b+8>>2]|0;if(!b){b=11;break}}if((b|0)==5)mr(a,4153);else if((b|0)==8)nr(a,342568,315);else if((b|0)==11)return}function kr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=a+192|0;if(c[p>>2]|0)return;c[p>>2]=1;o=a+184|0;d=c[o>>2]|0;b=((c[a+188>>2]|0)>>>0)/(d>>>4>>>0)|0;do if(b>>>0>16){if(d>>>0<=268435455){n=d<<1;h=a+176|0;g=c[h>>2]|0;d=d<<3;l=a+44|0;m=c[l>>2]|0;c[l>>2]=m+-1;if((m|0)<1)dr(a,2);e=a+8|0;f=a+16|0;b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if((d|0)==0|(b|0)!=0){if(!b)break}else{dr(a,0);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,0);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,g,d)|0;if(!b)break}}}}}}}}}}c[h>>2]=b;k=c[o>>2]|0;l=b+(k<<2)|0;if(k|0){j=0;do{m=b+(j<<2)|0;e=c[m>>2]|0;a:do if(!e){e=0;d=0}else{h=0;d=e;f=e;e=0;while(1){i=e+8|0;b:do if(!e){e=h;g=f;while(1){f=g+8|0;h=c[f>>2]|0;if(!(c[g+12>>2]&k)){f=h;break b}c[f>>2]=e;if(!h){e=g;d=0;break a}else{e=g;d=h;g=h}}}else{e=h;while(1){g=f+8|0;h=c[g>>2]|0;if(!(c[f+12>>2]&k)){g=f;f=h;break b}c[i>>2]=h;c[g>>2]=e;if(!h){e=f;break a}else{e=f;f=h}}}while(0);if(!f)break;else{h=e;e=g}}}while(0);c[m>>2]=d;c[l+(j<<2)>>2]=e;j=j+1|0}while((j|0)!=(k|0))}c[o>>2]=n;c[a+180>>2]=n+-1}}else if(!(d>>>0<1025|b>>>0>6)){l=d>>>1;j=a+176|0;k=c[j>>2]|0;h=k+(l<<2)|0;if(!l)g=j;else{g=0;do{i=k+(g<<2)|0;b=c[i>>2]|0;e=c[h+(g<<2)>>2]|0;if(!b)b=e;else{d=b;do{f=d+8|0;d=c[f>>2]|0}while((d|0)!=0);c[f>>2]=e}c[i>>2]=b;g=g+1|0}while((g|0)!=(l|0));g=j;k=c[j>>2]|0}c[o>>2]=l;c[a+180>>2]=l+-1;d=l<<2;n=a+44|0;o=c[n>>2]|0;c[n>>2]=o+-1;if((o|0)<1)dr(a,2);e=a+8|0;f=a+16|0;b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!((d|0)==0|(b|0)!=0)){dr(a,0);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,0);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0;if(!b){dr(a,1);b=Th[c[e>>2]&63](c[f>>2]|0,k,d)|0}}}}}}}}}}c[g>>2]=b}while(0);c[p>>2]=0;return}function lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=a+64|0;if(c[p>>2]|0)return;c[p>>2]=1;m=a+32|0;b=c[m>>2]|0;a:do if(b|0){n=a+68|0;o=a+128|0;k=a+12|0;l=a+16|0;j=a+24|0;while(1){a=c[b>>2]|0;d=a&-17;c[b>>2]=d;if(!(c[n>>2]|0)){g=b+4|0;h=c[g>>2]|0;i=c[o>>2]|0;c[b>>2]=d|32;if(!(a&33554432)){f=i+68|0;a=c[f>>2]|0;d=i+56|0;if(a>>>0>=(c[d>>2]|0)>>>0){a=7;break}c[f>>2]=a+16;c[a>>2]=9;c[a+8>>2]=b;c[g>>2]=(c[g>>2]|0)+1;a=c[f>>2]|0;e=i+64|0;if(a>>>0<(c[e>>2]|0)>>>0){a=10;break}if((c[d>>2]|0)>>>0<(a+16|0)>>>0){a=10;break}pr(i,22,0,0,1)|0;d=c[f>>2]|0;if((d+-32|0)>>>0<(c[e>>2]|0)>>>0){a=12;break}a=d+-16|0;c[f>>2]=a;e=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[a>>2]=2;if((e&8|0)!=0?(q=d+4|0,e=(c[q>>2]|0)+-1|0,c[q>>2]=e,(e|0)==0):0){qr(c[i+44>>2]|0,d);a=c[f>>2]|0}e=a+-16|0;c[f>>2]=e;q=c[a+-16>>2]|0;a=c[a+-8>>2]|0;c[e>>2]=2;if(q&8|0?(f=a+4|0,q=(c[f>>2]|0)+-1|0,c[f>>2]=q,(q|0)==0):0)qr(c[i+44>>2]|0,a)}if((c[g>>2]|0)!=1)if((h|0)==1){c[b>>2]=c[b>>2]&-33;a=1}else a=1;else a=0}else a=1;f=b+8|0;d=c[f>>2]|0;g=b+12|0;e=c[g>>2]|0;if(d|0)c[d+12>>2]=e;if(!e)c[m>>2]=d;else c[e+8>>2]=d;if(!a){hr(c[o>>2]|0,b);li[c[k>>2]&511](c[l>>2]|0,c[b+16>>2]|0);a=c[b>>2]|0;do if(!(a&6144)){if((a&-134217728|0)!=-1879048192){if(!(a&1024))break;li[c[k>>2]&511](c[l>>2]|0,c[b+72>>2]|0);break}li[c[k>>2]&511](c[l>>2]|0,c[b+52>>2]|0);a=c[b+72>>2]|0;if(a|0)do{d=c[a+32>>2]|0;if(d|0)do{q=d;d=c[d>>2]|0;li[c[k>>2]&511](c[l>>2]|0,q)}while((d|0)!=0);q=a;a=c[a+20>>2]|0;li[c[k>>2]&511](c[l>>2]|0,q)}while((a|0)!=0)}while(0);li[c[k>>2]&511](c[l>>2]|0,b)}else{a=b+4|0;c[a>>2]=(c[a>>2]|0)+-1;c[b>>2]=c[b>>2]&-17;a=c[j>>2]|0;if(a|0)c[a+12>>2]=b;c[g>>2]=0;c[f>>2]=a;c[j>>2]=b}b=c[m>>2]|0;if(!b)break a}if((a|0)==7)mr(i,4153);else if((a|0)==10)nr(i,342568,315);else if((a|0)==12)br(i,342583,50337495,342599)}while(0);c[p>>2]=0;return}function mr(a,b){a=a|0;b=b|0;br(a,342583,b|50331648,344030)}function nr(a,b,c){a=a|0;b=b|0;c=c|0;br(a,b,c|100663296,343797)}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+68|0;d=c[j>>2]|0;h=a+64|0;f=d-(c[h>>2]|0)|0;i=f>>4;g=i+-1|0;if(!i)Cr(a,300,-1);b=c[(c[a+304>>2]|0)+400>>2]|0;i=a+56|0;if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[j>>2]=d+16;c[d>>2]=8;c[d+8>>2]=b;d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[h>>2]|0;e=(c[j>>2]|0)-d>>4;b=((f|0)<16?e:0)+g|0;if(b>>>0>=e>>>0)Cr(a,376,g);Kr(a,d+(b<<4)|0,d+(e+-1<<4)|0)|0;d=c[h>>2]|0;e=(c[j>>2]|0)-d>>4;b=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);k=d+(b<<4)|0;f=d+(e+-1<<4)|0;g=c[k>>2]|0;b=c[d+(b<<4)+8>>2]|0;t6(k|0,k+16|0,f-k|0)|0;c[f>>2]=2;d=(c[j>>2]|0)+-16|0;c[j>>2]=d;if((g&8|0)!=0?(g=b+4|0,k=(c[g>>2]|0)+-1|0,c[g>>2]=k,(k|0)==0):0){qr(c[a+44>>2]|0,b);d=c[j>>2]|0}if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,1093);b=c[h>>2]|0;e=d-b>>4;if(e>>>0<=1)Cr(a,376,-2);k=b+(e+-2<<4)|0;c[j>>2]=d+16;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];if(c[d>>2]&8|0){k=(c[d+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}b=c[j>>2]|0;if(b>>>0<(c[i>>2]|0)>>>0){k=(c[c[a+44>>2]>>2]|0)>>>2&1;c[j>>2]=b+16;c[b>>2]=4;c[b+8>>2]=k;Bt(a,2);return 0}else mr(a,4185);return 0}function pr(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+160|0;M=O;t=4;u=B2(40)|0;c[u>>2]=0;n=O+4|0;H=b+72|0;I=c[H>>2]|0;J=b+64|0;K=c[J>>2]|0;v=b+52|0;w=c[v>>2]|0;x=b+44|0;s=c[x>>2]|0;y=c[s+140>>2]|0;A=c[s+132>>2]|0;B=b+49|0;C=a[B>>0]|0;D=b+40|0;E=c[D>>2]|0;F=b+68|0;q=((c[F>>2]|0)-K>>4)-f|0;s=s+80|0;r=c[s>>2]|0;c[s>>2]=n;s=b+80|0;c[s>>2]=(c[s>>2]|0)+1;t=q6(n,1,u|0,t|0)|0;u=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1)f=z;else f=0;a:while(1){if(!f){h=c[x>>2]|0;k=h+132|0;j=c[k>>2]|0;f=a[B>>0]|0;i=f&255;if((j|0)==(b|0)){if(f<<24>>24!=2)N=10}else if(f<<24>>24==1){if(!j){i=0;f=0}else{i=c[j+96>>2]|0;f=c[j+92>>2]|0}c[b+92>>2]=f;c[b+96>>2]=i;c[k>>2]=b;a[B>>0]=2}else N=10;if((N|0)==10){N=0;o=0;c[M>>2]=i;Ka(12,b|0,342613,100665180,342627,M|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){n=r6(c[f>>2]|0,t|0,u|0)|0;if(!n)wh(f|0,p|0);z=p};f=z;continue}f=c[h+140>>2]|0;if((f|0)>=(c[h+144>>2]|0)){o=0;qa(257,b|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}f=c[x>>2]|0;h=f;f=c[f+140>>2]|0}c[h+140>>2]=f+1;o=0;i=ba(d|0,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}if((i|0)<0){o=0;wa(191,b|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){n=r6(c[f>>2]|0,t|0,u|0)|0;if(!n)wh(f|0,p|0);z=p};f=z;continue}j=c[F>>2]|0;h=c[J>>2]|0;f=(j-h>>4)-i|0;i=j;if((f|0)<0){o=0;Ea(15,b|0,342613,100664671,342654);f=o;o=0;if((f|0)!=0&(p|0)!=0){n=r6(c[f>>2]|0,t|0,u|0)|0;if(!n)wh(f|0,p|0);z=p};f=z;continue}if((f|0)<=(q|0)){n=q-f|0;f=h+(f<<4)|0;h=f+(n<<4)|0;c[F>>2]=i+(n<<4);t6(h|0,f|0,j-f|0)|0;if((f|0)!=(h|0))do{c[f>>2]=2;f=f+16|0}while((f|0)!=(h|0))}else{n=f-q|0;k=h+(q<<4)|0;m=k+(n<<4)|0;i=j-m|0;if((n|0)>0){f=k;while(1){if(c[f>>2]&8|0?(L=c[f+8>>2]|0,h=L+4|0,j=(c[h>>2]|0)+-1|0,c[h>>2]=j,(j|0)==0):0){o=0;wa(192,c[x>>2]|0,L|0);j=o;o=0;if((j|0)!=0&(p|0)!=0){h=r6(c[j>>2]|0,t|0,u|0)|0;if(!h)wh(j|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue a}}f=f+16|0;if(f>>>0>=m>>>0)break}}t6(k|0,m|0,i|0)|0;i=c[F>>2]|0;n=0-n|0;h=i+(n<<4)|0;if((n|0)<0){f=h;do{c[f>>2]=2;f=f+16|0}while(f>>>0<i>>>0)}c[F>>2]=h}f=q+g|0;j=c[F>>2]|0;h=c[J>>2]|0;i=j-h>>4;if(f>>>0<i>>>0){k=j+(f-i<<4)|0;i=j;while(1){n=c[i+-16>>2]|0;f=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(n&8|0?(m=f+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){o=0;wa(192,c[x>>2]|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue a}}if((i|0)==(k|0))break}c[F>>2]=k;f=c[x>>2]|0;if(c[f+32>>2]|0){o=0;qa(258,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}}}else c[F>>2]=h+(f<<4);f=c[x>>2]|0;i=f+132|0;if(A){f=c[i>>2]|0;if(!f){h=0;f=0}else{h=c[f+96>>2]|0;f=c[f+92>>2]|0}c[A+92>>2]=f;c[A+96>>2]=h;f=c[x>>2]|0}c[i>>2]=A;a[B>>0]=C;c[f+80>>2]=r;i=0}else{j=K-w|0;f=c[x>>2]|0;c[f+80>>2]=r;if((c[H>>2]|0)!=(I|0)){i=b+76|0;while(1){o=0;qa(259,b|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue a}k=c[H>>2]|0;h=k+20|0;n=c[h>>2]|0;c[H>>2]=n;c[i>>2]=(c[i>>2]|0)+-1;f=c[x>>2]|0;m=f+36|0;c[h>>2]=c[m>>2];c[m>>2]=k;if((n|0)==(I|0))break}}i=f+132|0;if(A){f=c[i>>2]|0;if(!f){h=0;f=0}else{h=c[f+96>>2]|0;f=c[f+92>>2]|0}c[A+92>>2]=f;c[A+96>>2]=h;f=c[x>>2]|0}c[i>>2]=A;a[B>>0]=C;c[J>>2]=(c[v>>2]|0)+j;h=f+96|0;i=c[F>>2]|0;if(i>>>0>=(c[b+56>>2]|0)>>>0){o=0;wa(193,b|0,4153);f=o;o=0;if((f|0)!=0&(p|0)!=0){n=r6(c[f>>2]|0,t|0,u|0)|0;if(!n)wh(f|0,p|0);z=p};f=z;continue}c[F>>2]=i+16;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];if(c[h>>2]&8|0){n=(c[f+104>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}j=c[F>>2]|0;h=c[J>>2]|0;n=j-h|0;f=(n>>4)+-1|0;i=j;if((n|0)<16){o=0;Ea(15,b|0,342613,100664671,342654);f=o;o=0;if((f|0)!=0&(p|0)!=0){n=r6(c[f>>2]|0,t|0,u|0)|0;if(!n)wh(f|0,p|0);z=p};f=z;continue}if((f|0)<=(q|0)){n=q-f|0;f=h+(f<<4)|0;h=f+(n<<4)|0;c[F>>2]=i+(n<<4);t6(h|0,f|0,j-f|0)|0;if((f|0)!=(h|0))do{c[f>>2]=2;f=f+16|0}while((f|0)!=(h|0))}else{n=f-q|0;k=h+(q<<4)|0;m=k+(n<<4)|0;h=j-m|0;if((n|0)>0){f=k;while(1){if(c[f>>2]&8|0?(G=c[f+8>>2]|0,i=G+4|0,j=(c[i>>2]|0)+-1|0,c[i>>2]=j,(j|0)==0):0){o=0;wa(192,c[x>>2]|0,G|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=r6(c[i>>2]|0,t|0,u|0)|0;if(!j)wh(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;continue a}}f=f+16|0;if(f>>>0>=m>>>0)break}}t6(k|0,m|0,h|0)|0;i=c[F>>2]|0;n=0-n|0;h=i+(n<<4)|0;if((n|0)<0){f=h;do{c[f>>2]=2;f=f+16|0}while(f>>>0<i>>>0)}c[F>>2]=h}f=q+g|0;j=c[F>>2]|0;h=c[J>>2]|0;i=j-h>>4;if(f>>>0<i>>>0){k=j+(f-i<<4)|0;i=j;while(1){n=c[i+-16>>2]|0;f=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(n&8|0?(m=f+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){o=0;wa(192,c[x>>2]|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue a}}if((i|0)==(k|0))break}c[F>>2]=k;f=c[x>>2]|0;if(c[f+32>>2]|0){o=0;qa(258,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}}}else c[F>>2]=h+(f<<4);f=c[x>>2]|0;c[f+84>>2]=0;c[f+88>>2]=0;m=f+96|0;n=c[m>>2]|0;h=c[f+104>>2]|0;c[m>>2]=2;if((n&8|0)!=0?(m=h+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){o=0;wa(192,f|0,h|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}f=c[x>>2]|0}m=f+112|0;n=c[m>>2]|0;h=c[f+120>>2]|0;c[m>>2]=2;if((n&8|0)!=0?(m=h+4|0,n=(c[m>>2]|0)+-1|0,c[m>>2]=n,(n|0)==0):0){o=0;wa(192,f|0,h|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1){f=z;continue}f=c[x>>2]|0}i=f+64|0;c[i>>2]=(c[i>>2]|0)+-1;i=1}c[D>>2]=E;c[f+140>>2]=y;c[s>>2]=(c[s>>2]|0)+-1;if(!(c[f+32>>2]|0)){N=96;break}o=0;qa(258,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=r6(c[f>>2]|0,t|0,u|0)|0;if(!h)wh(f|0,p|0);z=p}else h=-1;if((h|0)==1)f=z;else break}if((N|0)==96){C2(t|0);l=O;return i|0}C2(t|0);l=O;return i|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(c[a+56>>2]|0)return;f=c[b>>2]|0;switch(f&3){case 0:{d=a+196|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+208|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+220|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+232|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;f=a+188|0;c[f>>2]=(c[f>>2]|0)+-1;f=(c[a+176>>2]|0)+((c[a+180>>2]&c[b+12>>2])<<2)|0;e=0;d=f;while(1){d=c[d>>2]|0;if((d|0)==(b|0))break;else{e=d;d=d+8|0}}c[(e|0?e+8|0:f)>>2]=c[b+8>>2];li[c[a+12>>2]&511](c[a+16>>2]|0,b);return}case 1:{rr(a,b,0);return}default:{d=c[b+8>>2]|0;e=c[b+12>>2]|0;if(!e)c[a+24>>2]=d;else c[e+8>>2]=d;if(d|0)c[d+12>>2]=e;if((f&384|0)==128){e=a+12|0;d=a+16|0;li[c[e>>2]&511](c[d>>2]|0,c[b+20>>2]|0)}else{e=a+12|0;d=a+16|0}li[c[e>>2]&511](c[d>>2]|0,b);return}}}function rr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=b+8|0;e=c[i>>2]|0;j=b+12|0;f=c[j>>2]|0;if(!f)c[a+24>>2]=e;else c[f+8>>2]=e;if(!e){e=1e4;f=b}else{c[e+12>>2]=f;e=1e4;f=b}while(1){if(c[f>>2]&2097152|0){h=9;break}if(!e)break;f=c[f+20>>2]|0;if(!f)break;else e=e+-1|0}if((h|0)==9?(g=c[b>>2]|0,(g&32|0)==0):0){c[b>>2]=g|16;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=a+32|0;f=c[e>>2]|0;c[j>>2]=0;if(f|0)c[f+12>>2]=b;c[i>>2]=f;c[e>>2]=b;if(d|0)return;if(c[a+28>>2]|0)return;lr(a);return}l=a+28|0;e=c[l>>2]|0;c[j>>2]=0;c[l>>2]=b;if(e|0){c[e+12>>2]=b;return}i=a+128|0;j=a+12|0;k=a+16|0;g=b;do{hr(c[i>>2]|0,g);h=g;g=c[g+12>>2]|0;li[c[j>>2]&511](c[k>>2]|0,c[h+16>>2]|0);e=c[h>>2]|0;do if(!(e&6144)){if((e&-134217728|0)!=-1879048192){if(!(e&1024))break;li[c[j>>2]&511](c[k>>2]|0,c[h+72>>2]|0);break}li[c[j>>2]&511](c[k>>2]|0,c[h+52>>2]|0);e=c[h+72>>2]|0;if(e|0)do{f=c[e+32>>2]|0;if(f|0)do{b=f;f=c[f>>2]|0;li[c[j>>2]&511](c[k>>2]|0,b)}while((f|0)!=0);b=e;e=c[e+20>>2]|0;li[c[j>>2]&511](c[k>>2]|0,b)}while((e|0)!=0)}while(0);li[c[j>>2]&511](c[k>>2]|0,h)}while((g|0)!=0);c[l>>2]=0;if(d|0)return;if(!(c[a+32>>2]|0))return;lr(a);return}function sr(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=l;l=l+272|0;i=h;h=h+16|0;c[i>>2]=g;j3(h,256,f,i)|0;a[h+255>>0]=0;At(b,e>>>24,h,d,e&16777215)}function tr(a){a=a|0;var b=0;b=c[a+44>>2]|0;if(c[b+76>>2]|0?(c[b+140>>2]|0)<((c[b+144>>2]|0)+12|0):0)return;br(a,342613,50331707,344005)}function ur(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;zt(a,0-b|0,0,0,343990,d)}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(c[a+56>>2]|0)return;f=c[b>>2]|0;switch(f&3){case 0:{d=a+196|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+208|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+220|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+232|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;f=a+188|0;c[f>>2]=(c[f>>2]|0)+-1;f=(c[a+176>>2]|0)+((c[a+180>>2]&c[b+12>>2])<<2)|0;e=0;d=f;while(1){d=c[d>>2]|0;if((d|0)==(b|0))break;else{e=d;d=d+8|0}}c[(e|0?e+8|0:f)>>2]=c[b+8>>2];li[c[a+12>>2]&511](c[a+16>>2]|0,b);return}case 1:{rr(a,b,1);return}default:{d=c[b+8>>2]|0;e=c[b+12>>2]|0;if(!e)c[a+24>>2]=d;else c[e+8>>2]=d;if(d|0)c[d+12>>2]=e;if((f&384|0)==128){e=a+12|0;d=a+16|0;li[c[e>>2]&511](c[d>>2]|0,c[b+20>>2]|0)}else{e=a+12|0;d=a+16|0}li[c[e>>2]&511](c[d>>2]|0,b);return}}}function wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[a+72>>2]|0;f=r+32|0;b=c[f>>2]|0;if(b|0){d=a+44|0;g=r+28|0;do{if(c[b+16>>2]&128|0?(e=c[g>>2]|0,n=c[e+20>>2]|0,c[g>>2]=n,n=n+4|0,c[n>>2]=(c[n>>2]|0)+1,n=e+4|0,o=(c[n>>2]|0)+-1|0,c[n>>2]=o,(o|0)==0):0)xr(c[d>>2]|0,e);n=b;b=c[b>>2]|0;c[f>>2]=b;o=(c[d>>2]|0)+40|0;c[n>>2]=c[o>>2];c[o>>2]=n}while((b|0)!=0)}o=r+16|0;n=c[o>>2]|0;if(!((n|0)!=0?!(c[n>>2]&262144|0):0))i=9;if((((i|0)==9?(p=c[r+24>>2]|0,p|0):0)?(c[p>>2]&-134217728|0)==-2147483648:0)?(q=p+44|0,j=c[q>>2]|0,j|0):0){m=j+28|0;a:do if(c[m>>2]|0){n=j+16|0;d=j+24|0;e=p+48|0;f=a+52|0;g=a+68|0;i=a+56|0;b=0;while(1){k=c[n>>2]|0;j=c[k+(c[d>>2]<<4)+(b<<2)>>2]|0;k=(c[f>>2]|0)+(c[e>>2]|0)+(~~+h[k+(b<<4)+8>>3]>>>0<<4)|0;l=c[g>>2]|0;if(l>>>0>=(c[i>>2]|0)>>>0)break;c[g>>2]=l+16;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];if(c[k>>2]&8|0){l=(c[k+8>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1}yr(a,p,j,3);b=b+1|0;if(b>>>0>=(c[m>>2]|0)>>>0)break a}mr(a,4153)}while(0);d=p+40|0;b=c[d>>2]|0;n=b+4|0;p=(c[n>>2]|0)+-1|0;c[n>>2]=p;if(!p)xr(c[a+44>>2]|0,b);b=c[q>>2]|0;n=b+4|0;p=(c[n>>2]|0)+-1|0;c[n>>2]=p;if(!p)xr(c[a+44>>2]|0,b);c[d>>2]=0;c[q>>2]=0}if(c[r+52>>2]&8|0){q=a+80|0;c[q>>2]=(c[q>>2]|0)+-1}b=c[r+24>>2]|0;if(b|0?(p=b+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)xr(c[a+44>>2]|0,b);b=c[r+28>>2]|0;if(b|0?(q=b+4|0,r=(c[q>>2]|0)+-1|0,c[q>>2]=r,(r|0)==0):0)xr(c[a+44>>2]|0,b);b=c[o>>2]|0;if(!b)return;q=b+4|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(r|0)return;xr(c[a+44>>2]|0,b);return}function xr(a,b){a=a|0;b=b|0;if(c[a+56>>2]|0)return;rr(a,b,1);return}function yr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;n=r;q=f&15;i=c[e+16>>2]|0;do if(zr(b,d,e,i,n,0)|0){k=n+12|0;i=c[k>>2]|0;m=(f&16|0)!=0;if((i|0)>-1){if(m)break;j=d+16|0;f=(c[j>>2]|0)+((c[d+24>>2]|0)*20|0)+i|0;if(!(a[f>>0]&8)){a[f>>0]=q;k=(c[j>>2]|0)+(c[k>>2]<<4)|0;o=39;break}else Dr(b,342676,4717)}f=c[n+20>>2]|0;if((f|0)>-1){if(m)break;if((q|0)==7){k=c[d+24>>2]|0;k=(c[d+16>>2]|0)+(k*21|0)+(0-k&7)+(f<<4)|0;o=39;break}else Dr(b,342676,4717)}if(!m){if((c[(c[b+304>>2]|0)+328>>2]|0)!=(e|0))Dr(b,342676,4717);if(!(c[d>>2]&4194304))Dr(b,342676,4717);f=c[b+68>>2]|0;i=f+-16|0;if(!(c[i>>2]|0))g=+h[f+-8>>3];else g=+Ar(b,i);f=~~g>>>0;if(+(f>>>0)!=g)br(b,342676,50334677,342696);else{c[d+40>>2]=f;break}}}else{if((i|0)!=-1&(c[d>>2]&32768|0)!=0){if(i>>>0<(c[d+32>>2]|0)>>>0)f=d+24|0;else{f=d+24|0;Br(b,d,c[f>>2]|0,((i+16|0)>>>3)+i|0,c[d+36>>2]|0,0)}k=c[f>>2]|0;k=(c[d+16>>2]|0)+(k*21|0)+(0-k&7)+(i<<4)|0;o=39;break}n=d+28|0;m=c[n>>2]|0;p=d+24|0;f=c[p>>2]|0;if(m>>>0>=f>>>0){if(!m)f=0;else{i=0;k=0;j=(c[d+16>>2]|0)+(f<<4)|0;while(1){f=((c[j>>2]|0)!=0&1)+i|0;k=k+1|0;if((k|0)==(m|0))break;else{i=f;j=j+4|0}}}j=((f+16|0)>>>3)+f|0;do if(j>>>0>7){if(j>>>0>63){f=2;i=j;do{o=i;i=i>>>6;f=f<<6}while(o>>>0>4095);if(!i)break}else{f=2;i=j}do{i=i>>>1;f=f<<1}while((i|0)!=0)}else f=0;while(0);Br(b,d,j,c[d+32>>2]|0,f,0);m=c[n>>2]|0;f=c[p>>2]|0}c[n>>2]=m+1;o=d+16|0;c[(c[o>>2]|0)+(f<<4)+(m<<2)>>2]=e;i=e+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d+36>>2]|0;n=c[o>>2]|0;if(i){k=n+(f*21|0)+(0-f&7)+(c[d+32>>2]<<4)|0;j=i+-1|0;f=c[e+12>>2]|0;while(1){f=f&j;i=k+(f<<2)|0;if((c[i>>2]|0)>>>0>4294967293)break;else f=f+1|0}c[i>>2]=m;f=c[p>>2]|0}a[n+(f*20|0)+m>>0]=q;k=(c[o>>2]|0)+(m<<4)|0;c[k>>2]=2;o=39}while(0);do if((o|0)==39){i=c[b+64>>2]|0;f=(c[b+68>>2]|0)-i>>4;if(!f)Cr(b,376,-1);f=f+-1|0;j=i+(f<<4)|0;if(c[j>>2]&8|0){q=(c[i+(f<<4)+8>>2]|0)+4|0;c[q>>2]=(c[q>>2]|0)+1}if(!(c[k>>2]&8)){c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];break}f=c[k+8>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];d=f+4|0;q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q)qr(c[b+44>>2]|0,f)}while(0);q=b+68|0;f=c[q>>2]|0;d=f+-16|0;c[q>>2]=d;q=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[d>>2]=2;if(!(q&8)){l=r;return}d=f+4|0;q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){l=r;return}qr(c[b+44>>2]|0,f);l=r;return}function zr(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+32|0;x=F+28|0;z=F+24|0;y=F;A=b+44|0;D=i+12|0;E=i+16|0;q=e+36|0;m=c[q>>2]|0;u=e+24|0;k=c[u>>2]|0;C=c[e+16>>2]|0;a:do if(!m){k=C+(k<<4)|0;m=c[e+28>>2]|0;if(!m)B=24;else{o=0;while(1){if((c[k+(o<<2)>>2]|0)==(f|0))break;o=o+1|0;if(o>>>0>=m>>>0){B=24;break a}}c[D>>2]=o;c[E>>2]=-1;B=14}}else{o=C+(k*21|0)+(0-k&7)+(c[e+32>>2]<<4)|0;n=m+-1|0;k=c[f+12>>2]&n;b:while(1){m=c[o+(k<<2)>>2]|0;switch(m|0){case -1:{m=19;break}case -2:{B=10;break}default:if((c[C+(c[u>>2]<<4)+(m<<2)>>2]|0)==(f|0)){c[D>>2]=m;c[E>>2]=k;m=1}else B=10}if((B|0)==10){B=0;m=0;k=k+1&n}switch(m&31){case 19:{B=24;break a}case 0:break;default:break b}}if(!m)B=24;else{o=c[D>>2]|0;B=14}}while(0);do if((B|0)==14){c[i+20>>2]=-1;E=d[C+((c[u>>2]|0)*20|0)+o>>0]|0;c[i>>2]=E;m=i+4|0;c[m>>2]=0;k=i+8|0;c[k>>2]=0;n=C+(o<<4)|0;if(E&8|0){c[m>>2]=c[n>>2];c[k>>2]=c[C+(o<<4)+4>>2];if(!(j&1)){k=0;break}k=b+68|0;m=c[k>>2]|0;if(m>>>0<(c[b+56>>2]|0)>>>0){c[k>>2]=m+16;k=1;break}else mr(b,4162)}if(j&1){k=b+68|0;m=c[k>>2]|0;if(m>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[k>>2]=m+16;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];if(!(c[n>>2]&8))k=1;else{k=(c[C+(o<<4)+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=1}}else k=0}else if((B|0)==24){p=c[e>>2]|0;k=(g|0)!=-1;if((k&(p&32768|0)!=0?(c[e+32>>2]|0)>>>0>g>>>0:0)?(r=c[u>>2]|0,r=C+(r*21|0)+(0-r&7)|0,s=r+(g<<4)|0,t=c[s>>2]|0,(t|0)!=7):0){k=j&1;if(k|0){m=b+68|0;n=c[m>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[m>>2]=n+16;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];if(t&8|0){j=(c[r+(g<<4)+8>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1}}c[i>>2]=7;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=g;k=(k|0)!=0;break}if(!(p&12591104)){b=0;l=F;return b|0}if(p&4194304|0){if((c[(c[b+304>>2]|0)+328>>2]|0)!=(f|0)){b=0;l=F;return b|0}do if(j&1|0){k=b+68|0;m=c[k>>2]|0;if(m>>>0<(c[b+56>>2]|0)>>>0){G=+((c[e+40>>2]|0)>>>0);c[k>>2]=m+16;c[m>>2]=0;h[m+8>>3]=G;break}else mr(b,4274)}while(0);c[i>>2]=16;c[i>>2]=(c[e+44>>2]|0)==0?17:16;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=-1;b=1;l=F;return b|0}if(!(p&8388608)){if(!(p&8192)){b=0;l=F;return b|0}o=c[e+40>>2]|0;if(k?a[e+58>>0]|0:0){k=d[e+56>>0]|0;if((c[e+52>>2]|0)>>>k>>>0<=g>>>0){b=0;l=F;return b|0}n=g<<k;m=1<<k;do if(j&1){if(o|0?(v=c[e+48>>2]|0,(n+m+v|0)>>>0<=(c[o+16>>2]|0)>>>0):0){if(!(c[o>>2]&128))k=o+24|0;else k=c[o+20>>2]|0;wt(b,a[e+57>>0]|0,k+v+n|0,m);w=c[e>>2]|0;break}k=b+68|0;m=c[k>>2]|0;if(m>>>0<(c[b+56>>2]|0)>>>0){c[k>>2]=m+16;c[m>>2]=0;h[m+8>>3]=0.0;w=p;break}else mr(b,4274)}else w=p;while(0);c[i>>2]=(w&-134217728|0)==-1744830464?17:19;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=-1;b=1;l=F;return b|0}if((c[(c[b+304>>2]|0)+328>>2]|0)!=(f|0)){b=0;l=F;return b|0}if(!(a[e+58>>0]|0)){b=0;l=F;return b|0}do if(j&1|0){k=b+68|0;m=c[k>>2]|0;if(m>>>0<(c[b+56>>2]|0)>>>0){G=+((c[e+52>>2]|0)>>>(d[e+56>>0]|0)>>>0);c[k>>2]=m+16;c[m>>2]=0;h[m+8>>3]=G;break}else mr(b,4274)}while(0);c[i>>2]=16;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=-1;b=1;l=F;return b|0}if(k){r=c[(c[A>>2]|0)+648>>2]|0;k=c[q>>2]|0;m=c[u>>2]|0;c:do if(!k){n=C+(m<<4)|0;m=c[e+28>>2]|0;if(!m){n=0;o=0}else{k=0;while(1){if((c[n+(k<<2)>>2]|0)==(r|0)){B=53;break c}k=k+1|0;if(k>>>0>=m>>>0){n=0;o=0;break}}}}else{q=C+(m*21|0)+(0-m&7)+(c[e+32>>2]<<4)|0;p=k+-1|0;o=C+(m<<4)|0;k=0;n=c[r+12>>2]&p;d:while(1){m=c[q+(n<<2)>>2]|0;switch(m|0){case -1:{m=19;break}case -2:{B=50;break}default:if((c[o+(m<<2)>>2]|0)==(r|0)){k=m;m=1}else B=50}if((B|0)==50){B=0;m=0;n=n+1&p}switch(m&31){case 19:{n=0;o=0;break c}case 0:break;default:break d}}if(!m){n=0;o=0}else B=53}while(0);if((B|0)==53){o=c[C+(k<<4)+8>>2]|0;n=o}if((gs(n)|0)>>>0<=g>>>0){b=0;l=F;return b|0}do if(j&1|0){k=b+68|0;m=c[k>>2]|0;if(m>>>0<(c[b+56>>2]|0)>>>0){c[k>>2]=m+16;c[m>>2]=8;c[m+8>>2]=n;j=o+4|0;c[j>>2]=(c[j>>2]|0)+1;yt(b,g,g+1|0);break}else mr(b,4153)}while(0);c[i>>2]=18;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=-1;b=1;l=F;return b|0}else{if((c[(c[b+304>>2]|0)+328>>2]|0)!=(f|0)){b=0;l=F;return b|0}r=c[(c[A>>2]|0)+648>>2]|0;k=c[q>>2]|0;m=c[u>>2]|0;e:do if(!k){n=C+(m<<4)|0;m=c[e+28>>2]|0;if(!m)k=0;else{k=0;while(1){if((c[n+(k<<2)>>2]|0)==(r|0)){B=71;break e}k=k+1|0;if(k>>>0>=m>>>0){k=0;break}}}}else{q=C+(m*21|0)+(0-m&7)+(c[e+32>>2]<<4)|0;p=k+-1|0;o=C+(m<<4)|0;k=0;n=c[r+12>>2]&p;f:while(1){m=c[q+(n<<2)>>2]|0;switch(m|0){case -1:{m=19;break}case -2:{B=68;break}default:if((c[o+(m<<2)>>2]|0)==(r|0)){k=m;m=1}else B=68}if((B|0)==68){B=0;m=0;n=n+1&p}switch(m&31){case 19:{k=0;break e}case 0:break;default:break f}}if(!m)k=0;else B=71}while(0);if((B|0)==71)k=c[C+(k<<4)+8>>2]|0;do if(j&1|0){k=gs(k)|0;m=b+68|0;n=c[m>>2]|0;if(n>>>0<(c[b+56>>2]|0)>>>0){c[m>>2]=n+16;c[n>>2]=0;h[n+8>>3]=+(k>>>0);break}else mr(b,4274)}while(0);c[i>>2]=16;c[i+4>>2]=0;c[i+8>>2]=0;c[D>>2]=-1;c[E>>2]=-1;c[i+20>>2]=-1;b=1;l=F;return b|0}}while(0);if(!(k&((g|0)!=-1&(c[e>>2]&16777216|0)!=0))){b=1;l=F;return b|0}if(ls(b,e,f,y,x,z)|0){p=b+68|0;m=c[p>>2]|0;o=b+64|0;i=c[o>>2]|0;k=m-i>>4;k=k|0?i+(k+-1<<4)|0:0;k=(k|0)==0?368:k;if((c[k>>2]|0)!=8)ar(b,2101,-1,361511);n=c[k+8>>2]|0;if(!n)ar(b,2101,-1,361511);E=m+-16|0;c[p>>2]=E;i=c[m+-16>>2]|0;k=c[m+-8>>2]|0;c[E>>2]=2;if(i&8|0?(E=k+4|0,i=(c[E>>2]|0)+-1|0,c[E>>2]=i,(i|0)==0):0)qr(c[A>>2]|0,k);Es(b,c[z>>2]|0,0,n,1)|0;k=c[p>>2]|0;m=k+-16|0;c[p>>2]=m;i=c[k+-16>>2]|0;k=c[k+-8>>2]|0;c[m>>2]=2;if((i&8|0)!=0?(E=k+4|0,i=(c[E>>2]|0)+-1|0,c[E>>2]=i,(i|0)==0):0){qr(c[A>>2]|0,k);m=c[p>>2]|0}n=c[o>>2]|0;m=m-n>>4;k=m+-2|0;if(m>>>0<=1)Cr(b,376,-2);E=n+(k<<4)|0;i=n+(m+-1<<4)|0;b=c[E>>2]|0;k=c[n+(k<<4)+8>>2]|0;t6(E|0,E+16|0,i-E|0)|0;c[i>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(b&8|0?(i=k+4|0,b=(c[i>>2]|0)+-1|0,c[i>>2]=b,(b|0)==0):0)qr(c[A>>2]|0,k)}b=1;l=F;return b|0}function Ar(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0;d=c[b>>2]|0;switch(d|0){case 3:{e=0.0;return +e}case 4:{e=(c[b+8>>2]|0)==0?0.0:1.0;return +e}case 8:{f=c[b+8>>2]|0;if(c[f>>2]&512|0)br(a,342807,100663515,342820);b=a+68|0;d=c[b>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[b>>2]=d+16;c[d>>2]=8;c[d+8>>2]=f;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;Hr(a,10,28667);g=c[b>>2]|0;a=g+-16|0;c[b>>2]=a;e=+h[g+-8>>3];c[a>>2]=2;return +e}case 9:case 10:{g=a+68|0;f=c[g>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[g>>2]=f+16;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(d&8|0){f=(c[b+8>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1}Ir(a,-1,2);f=c[a+64>>2]|0;b=(c[g>>2]|0)-f>>4;e=+Ar(a,b|0?f+(b+-1<<4)|0:0);b=c[g>>2]|0;f=b+-16|0;c[g>>2]=f;g=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[f>>2]=2;if(!(g&8))return +e;f=b+4|0;g=(c[f>>2]|0)+-1|0;c[f>>2]=g;if(g|0)return +e;qr(c[a+44>>2]|0,b);return +e}case 5:{e=c[b+8>>2]|0?1.0:0.0;return +e}case 6:case 2:{e=s;return +e}default:{e=+h[b+8>>3];return +e}}return 0.0}function Br(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;if((f+e|0)>>>0>1073741823)er(b,342676,605);G=b+44|0;m=c[G>>2]|0;n=m+52|0;E=c[n>>2]|0;c[n>>2]=E|8;n=m+64|0;c[n>>2]=(c[n>>2]|0)+1;n=0-e&7;B=f<<4;C=g<<2;j=(e*21|0)+n+B+C|0;if(j){z=m+44|0;A=c[z>>2]|0;c[z>>2]=A+-1;if((A|0)<1)dr(m,2);k=m+4|0;l=m+16|0;i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,0);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,0);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){dr(m,1);i=Sh[c[k>>2]&255](c[l>>2]|0,j)|0;if(!i){A=0;z=c[G>>2]|0;y=z+12|0;y=c[y>>2]|0;z=z+16|0;z=c[z>>2]|0;li[y&511](z,A);A=c[G>>2]|0;z=A+64|0;y=c[z>>2]|0;y=y+-1|0;c[z>>2]=y;A=A+52|0;c[A>>2]=E;er(b,342676,954)}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=i}else D=0;A=D+(e<<4)|0;w=A+(e<<2)|0;x=w+e+n|0;z=x+(f<<4)|0;y=(h|0)!=0;if(y){n=d+32|0;i=c[n>>2]|0;do if(i){h=d+16|0;o=d+24|0;s=b+68|0;p=b+52|0;q=b+56|0;r=b+60|0;l=0;m=0;a:while(1){k=c[o>>2]|0;k=(c[h>>2]|0)+(k*21|0)+(0-k&7)+(m<<4)|0;if((c[k>>2]|0)==7)k=l;else{j=c[p>>2]|0;i=(c[s>>2]|0)-j+528|0;j=j+i|0;do if((c[q>>2]|0)>>>0<j>>>0)if((c[r>>2]|0)>>>0<j>>>0)if(!(Er(b,i,0)|0)){i=D;j=42;break a}else break;else{c[q>>2]=j;break}while(0);i=Fr(c[G>>2]|0,m)|0;if(!i){i=D;j=42;break}j=c[s>>2]|0;if(j>>>0>=(c[q>>2]|0)>>>0){j=20;break}c[s>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;j=i+4|0;c[j>>2]=(c[j>>2]|0)+1;c[A+(l<<2)>>2]=i;i=D+(l<<4)|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];a[w+l>>0]=7;k=l+1|0;i=c[n>>2]|0}m=m+1|0;if(m>>>0>=i>>>0){j=23;break}else l=k}if((j|0)==20)mr(b,4153);else if((j|0)==23){i=c[s>>2]|0;if((k|0)>0)j=k;else{t=i;u=k;v=s;break}while(1){i=i+-16|0;c[i>>2]=2;if((j|0)>1)j=j+-1|0;else{t=i;u=k;v=s;break}}}else if((j|0)==42){s=c[G>>2]|0;r=s+12|0;r=c[r>>2]|0;s=s+16|0;s=c[s>>2]|0;li[r&511](s,i);s=c[G>>2]|0;r=s+64|0;q=c[r>>2]|0;q=q+-1|0;c[r>>2]=q;s=s+52|0;c[s>>2]=E;er(b,342676,954)}}else{v=b+68|0;t=c[v>>2]|0;u=0}while(0);c[v>>2]=t;i=u}else i=0;h=d+28|0;j=c[h>>2]|0;if(!j)l=i;else{m=d+16|0;n=d+24|0;l=0;do{k=c[(c[m>>2]|0)+(c[n>>2]<<4)+(l<<2)>>2]|0;if(k){c[A+(i<<2)>>2]=k;j=D+(i<<4)|0;b=(c[m>>2]|0)+(l<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];a[w+i>>0]=a[(c[m>>2]|0)+((c[n>>2]|0)*20|0)+l>>0]|0;i=i+1|0;j=c[h>>2]|0}l=l+1|0}while(l>>>0<j>>>0);l=i}m=d+32|0;i=c[m>>2]|0;j=i>>>0<f>>>0?i<<4:B;if(j){i=c[d+24>>2]|0;s6(x|0,(c[d+16>>2]|0)+(i*21|0)+(0-i&7)|0,j|0)|0;i=c[m>>2]|0}if(i>>>0<f>>>0)do{c[x+(i<<4)>>2]=7;i=i+1|0}while((i|0)!=(f|0));if(g|0?(u6(z|0,-1,C|0)|0,F=g+-1|0,l|0):0){k=0;do{i=c[(c[A+(k<<2)>>2]|0)+12>>2]|0;while(1){i=i&F;j=z+(i<<2)|0;if((c[j>>2]|0)==-1)break;else i=i+1|0}c[j>>2]=k;k=k+1|0}while((k|0)!=(l|0))}C=c[G>>2]|0;F=d+16|0;li[c[C+12>>2]&511](c[C+16>>2]|0,c[F>>2]|0);c[F>>2]=D;c[d+24>>2]=e;c[h>>2]=l;c[m>>2]=f;c[d+36>>2]=g;if(!y){G=c[G>>2]|0;g=G+64|0;f=c[g>>2]|0;f=f+-1|0;c[g>>2]=f;G=G+52|0;c[G>>2]=E;return}c[d>>2]=c[d>>2]&-32769;G=c[G>>2]|0;g=G+64|0;f=c[g>>2]|0;f=f+-1|0;c[g>>2]=f;G=G+52|0;c[G>>2]=E;return}function Cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=d;sr(a,342583,b|50331648,342732,e)}function Dr(a,b,c){a=a|0;b=b|0;c=c|0;br(a,b,c|16777216,342717)}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b>>>4;b=e+(b>>>6)|0;if(b>>>0>1e6)if(!d){e=0;return e|0}else br(a,342583,50332495,342792);if(ir(a,b)|0){c[a+56>>2]=(c[a+52>>2]|0)+(e<<4);e=1;return e|0}if(!d){e=0;return e|0}else er(a,342583,854);return 0}function Fr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+10|0;i=f;while(1){i=i+-1|0;a[i>>0]=a[342756+((e>>>0)%10|0)>>0]|0;if(e>>>0<=9)break;else e=(e>>>0)/10|0}h=f-i|0;e=c[b+148>>2]^h;g=(h>>>5)+1|0;if(g>>>0>h>>>0)f=e;else{f=h;do{e=(d[i+(f+-1)>>0]|0)+(e*33|0)|0;f=f-g|0}while(f>>>0>=g>>>0);f=e}e=c[(c[b+176>>2]|0)+((c[b+180>>2]&f)<<2)>>2]|0;a:do if(e|0){while(1){if(((c[e+12>>2]|0)==(f|0)?(c[e+20>>2]|0)==(h|0):0)?(f3(i,e+28|0,h)|0)==0:0)break;e=c[e+8>>2]|0;if(!e)break a}l=j;return e|0}while(0);b=Gr(b,i,h,f)|0;l=j;return b|0}function Gr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b+64|0;c[m>>2]=(c[m>>2]|0)+1;o=b+188|0;if(!(c[o>>2]&255))kr(b);i=f+29|0;k=b+44|0;l=c[k>>2]|0;c[k>>2]=l+-1;if((l|0)<1)dr(b,2);j=b+4|0;k=b+16|0;h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if((i|0)==0|(h|0)!=0){if(!h)p=25}else{dr(b,0);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,0);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h){dr(b,1);h=Sh[c[j>>2]&255](c[k>>2]|0,i)|0;if(!h)p=25}}}}}}}}}}if((p|0)==25){c[m>>2]=(c[m>>2]|0)+-1;p=0;return p|0}l=h+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;s6(l|0,e|0,f|0)|0;a[l+f>>0]=0;c[h+20>>2]=f;c[h+12>>2]=g;a:do if(!f)p=17;else{i=0;e=l;b:while(1){k=d[e>>0]|0;e=e+1|0;j=k+-48|0;if(j>>>0>=10){p=17;break a}if(i>>>0<=429496728){i=j+(i*10|0)|0;if(!i){j=(f|0)==1?1:2;i=0;p=14}}else{p=(i|0)!=429496729|j>>>0>5;j=p?2:0;i=p?i:k+-54|0;p=14}if((p|0)==14){p=0;switch(j&3){case 2:{p=17;break a}case 0:break;default:{p=15;break b}}}f=f+-1|0;if(!f){p=18;break}}if((p|0)==15)c[h+16>>2]=0;else if((p|0)==18?(c[h+16>>2]=i,(i|0)==-1):0){p=20;break}c[h>>2]=c[h>>2]|384}while(0);if((p|0)==17){c[h+16>>2]=-1;p=20}c:do if((p|0)==20?(n=a[l>>0]|0,n<<24>>24<0):0){if((n&255)<130){c[h>>2]=c[h>>2]|512;break}switch(n<<24>>24){case -1:case -126:break;default:break c}c[h>>2]=c[h>>2]|1536}while(0);c[m>>2]=(c[m>>2]|0)+-1;p=(c[b+176>>2]|0)+((c[b+180>>2]&g)<<2)|0;c[h+8>>2]=c[p>>2];c[p>>2]=h;c[o>>2]=(c[o>>2]|0)+1;p=h;return p|0}function Hr(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;aa=l;l=l+2304|0;P=aa+2152|0;X=aa;if(g&1|0)xt(e,-1);$=e+68|0;_=c[$>>2]|0;Y=e+64|0;Z=c[Y>>2]|0;i=_-Z>>4;i=i|0?Z+(i+-1<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=8)ar(e,2101,-1,361511);i=c[i+8>>2]|0;if(!i)ar(e,2101,-1,361511);i=i+28|0;switch(a[i>>0]|0){case 43:{if(g&8|0){i=i+1|0;W=0;U=11}break}case 45:{if(g&16|0){i=i+1|0;W=1;U=11}break}default:{W=0;U=11}}a:do if((U|0)==11){if((g&32|0)!=0?(g3(i,343891,8)|0)==0:0)if((g&4|0)==0?(a[i+8>>0]|0)!=0:0)break;else{k=2146435072;i=0}else U=15;do if((U|0)==15){if((a[i>>0]|0)==48){k=a[i+1>>0]|32;if((g&2048|0)!=0&k<<24>>24==120)k=16;else k=(g&8192|0)!=0&k<<24>>24==111?8:(g&16384|0)!=0&k<<24>>24==98?2:0;S=(k|0)==0;T=S?f:k;g=S?g:g&-1987|1024;i=S?i:i+2|0}else T=f;c[X>>2]=0;F=(g&2|0)!=0;G=(g&68|0)==4;S=T+-2|0;M=343900+S|0;Q=X+760|0;H=(T|0)==0;I=P+4|0;J=X+764|0;K=P+4|0;o=0;k=-1;f=-1;r=0;t=0;q=0;u=0;L=0;p=i;i=0;b:while(1){E=u;c:while(1){D=t;d:while(1){B=o;A=r;C=q;o=p;while(1){e:do if(G){t=o+1|0;p=a[o>>0]|0;q=p&255;if((p+-48&255)<10){o=t;U=43}else{if(!F)switch(p<<24>>24){case 46:{U=25;break b}case 0:{R=k;N=f;break b}default:{r=q;o=t;U=49;break e}}while(1){switch(p<<24>>24){case 46:{U=25;break b}case 0:{R=k;N=f;break b}default:{}}if(!((k|0)<0&(p|32)<<24>>24==101)){r=q;o=t;U=49;break e}k=a[t>>0]|0;switch(k<<24>>24){case 45:{p=o;break d}case 43:{p=o+2|0;o=p;p=a[p>>0]|0;break}default:{o=t;p=k}}t=o+1|0;q=p&255;if((p+-48&255)<10){k=0;o=t;U=43;break e}else k=0}}}else{if(!F){f:while(1){p=o;o=o+1|0;p=a[p>>0]|0;if((p+-48&255)<10){U=42;break}switch(p<<24>>24){case 0:{R=k;N=f;break b}case 46:break;default:{U=48;break f}}if((k&f|0)>-1){U=46;break b}else f=0}if((U|0)==42){q=p&255;U=43;break}else if((U|0)==48){r=p&255;U=49;break}}else p=o;while(1){o=p+1|0;q=a[p>>0]|0;r=q&255;if((q+-48&255)<10){q=r;U=43;break e}g:while(1){switch(q<<24>>24){case 0:{R=k;N=f;break b}case 46:break g;default:{}}if(!((k|0)<0&(q|32)<<24>>24==101)){p=q;U=49;break e}k=a[o>>0]|0;switch(k<<24>>24){case 45:break d;case 43:{q=p+2|0;o=q;q=a[q>>0]|0;break}default:q=k}t=o+1|0;r=q&255;if((q+-48&255)<10){k=0;q=r;o=t;U=43;break e}else{k=0;p=o;o=t}}if((k&f|0)>-1){U=46;break b}else{f=0;p=o}}}while(0);do if((U|0)==43){U=0;x=q+-48|0;y=o}else if((U|0)==49){U=0;if((p+-97&255)<26){x=r+-87|0;y=o;break}else{x=(p+-65&255)<26?r+-55|0:255;y=o;break}}while(0);if((x|0)>=(T|0)){U=53;break b}if((k|0)>=0)break c;do if((B|0)<(d[M>>0]|0)){w=(x|0)==0;if(!(i|x)){q=C;o=B;p=(f>>>31)+A|0;break}if(H){c[P>>2]=0;r=0}else{c[P>>2]=1;c[K>>2]=T;r=1}o=i+r|0;h:do if(!o)o=0;else{u6(J|0,0,o<<2|0)|0;c[Q>>2]=o;if(!((r|0)==0|(i|0)<1)){p=0;do{t=X+4+(p<<2)|0;q=0;u=0;v=0;while(1){da=h6(c[P+4+(q<<2)>>2]|0,0,c[t>>2]|0,0)|0;ca=z;ba=X+764+(q+p<<2)|0;v=b6(c[ba>>2]|0,0,u|0,v|0)|0;v=b6(v|0,z|0,da|0,ca|0)|0;u=z;c[ba>>2]=v;q=q+1|0;if((q|0)==(r|0))break;else v=0}if(!((u|0)==0&0==0))c[X+764+(p+r<<2)>>2]=u;p=p+1|0}while((p|0)!=(i|0))}while(1){i=o+-1|0;if((o|0)<=0)break h;if(!(c[X+764+(i<<2)>>2]|0))o=i;else break}}while(0);c[Q>>2]=o;if(w){c[P>>2]=0;i=0}else{c[P>>2]=1;c[I>>2]=x;i=1}t=(i|0)>(o|0);q=t?Q:P;t=t?P:Q;i=c[t>>2]|0;u=c[q>>2]|0;do if((i|0)>0){r=0;o=0;p=0;while(1){p=b6(c[t+4+(r<<2)>>2]|0,0,o|0,p|0)|0;o=z;if((r|0)<(u|0)){p=b6(c[q+4+(r<<2)>>2]|0,0,p|0,o|0)|0;o=z}c[X+4+(r<<2)>>2]=p;r=r+1|0;if((r|0)==(i|0))break;else p=0}if((o|0)==0&0==0)break;c[X+4+(i<<2)>>2]=o;i=i+1|0}else i=0;while(0);c[X>>2]=i;q=C;o=B+1|0;p=A}else{q=C+1|0;o=B;p=A}while(0);if((f|0)<=-1)break;B=o;f=f+1|0;A=p;C=q+-1|0;o=y}r=p;D=D+1|0;p=y}o=B;k=0;r=A;t=D;q=C;E=1;p=p+2|0}p=x+(O(L,T)|0)|0;if((p|0)>1e9){U=128;break}else{o=B;k=k+1|0;r=A;t=D;q=C;u=E;L=p;p=y}}if((U|0)==25)if((k&f|0)>-1)U=46;else{R=k;N=f}else if((U|0)==53)if(!(g&4))break a;else{R=k;N=f}else if((U|0)==128)br(e,343935,50333909,343949);if((U|0)==46)if(!(g&4))break a;else{R=k;N=f}if((g&1024|0)==0&((D|0)>1&(A|0)>0))break a;do if(!D){if(!N)break a;if((N|0)>0)if(!(g&128))break a;else break;else if(!(g&512))break a;else break}else if(!(N|g&256))break a;while(0);if(!(R|g&4))break a;f=(E|0)==0?L:0-L|0;k=f+C|0;if((k|0)==0&(i|0)<2){if((i|0)!=1){k=0;i=0;break}h[j>>3]=+((c[X+4>>2]|0)>>>0);k=c[j+4>>2]|0;i=c[j>>2]|0;break}g=d[M>>0]|0;if((B|0)<(g|0)){k=f+B+C|0;i=B;do{ot(X,T,Q);i=i+1|0}while((i|0)!=(g|0));k=k-g|0;i=c[X>>2]|0}if(i)if((k|0)<=(b[36244+(S<<2)>>1]|0))if((k|0)<(b[36244+(S<<2)+2>>1]|0)){k=0;i=0}else{c[X+1064>>2]=1;c[X+1080>>2]=k;c[X+1084>>2]=T;g=X+1088|0;c[g>>2]=2;c[X+1068>>2]=1;c[X+1076>>2]=0;c[X+1072>>2]=54;lt(X);mt(X);nt(X);o=X+1092|0;r=c[o>>2]|0;t=r+-1|0;p=(t|0)>1023;t=(t|0)>-1023;r=r+1022|0;i=p?-255:t?1:r;r=p?2146435072:t?r<<20:0;t=X+2148|0;p=X+1108|0;q=X+1109|0;k=i+52|0;f=c[t>>2]|0;do if(!((i|0)<-52|(f|0)<=(k|0))?(V=X+1108+k|0,(d[V>>0]|0)>>>0>=((((c[g>>2]|0)+1|0)/2|0)&255)>>>0):0){k=V;while(1){a[k>>0]=0;if((k|0)==(p|0)){U=109;break}k=k+-1|0;f=(d[k>>0]|0)+1|0;if((f|0)<(c[g>>2]|0)){U=108;break}}if((U|0)==108){a[k>>0]=f;q=c[t>>2]|0;break}else if((U|0)==109){t6(q|0,p|0,c[t>>2]|0)|0;a[p>>0]=1;r=c[o>>2]|0;c[o>>2]=r+1;q=(c[t>>2]|0)+1|0;c[t>>2]=q;ca=(r|0)>1023;da=(r|0)>-1023;r=r+1023|0;i=ca?-255:da?1:r;r=ca?2146435072:da?r<<20:0;break}}else q=f;while(0);o=i+51|0;f=0;g=0;i=0;p=0;while(1){k=o-g|0;if((k|0)<0|(k|0)>=(q|0))k=0;else k=d[X+1108+k>>0]|0;da=(k<<(g&31))+f|0;k=(g|0)==31;i=k?da:i;f=k?0:da;g=g+1|0;if((g|0)==52)break;else p=k?0:p}k=f+r|0}else{k=2146435072;i=0}else{k=0;i=0}}while(0);f=(W|0)==0;c[j>>2]=i;c[j+4>>2]=k;m=+h[j>>3];n=-m;k=c[$>>2]|0;if((k|0)==(c[Y>>2]|0))br(e,342583,50337407,342599);i=k+-16|0;c[$>>2]=i;da=c[k+-16>>2]|0;k=c[k+-8>>2]|0;c[i>>2]=2;if((da&8|0)!=0?(ca=k+4|0,da=(c[ca>>2]|0)+-1|0,c[ca>>2]=da,(da|0)==0):0){qr(c[e+44>>2]|0,k);i=c[$>>2]|0}if(i>>>0<(c[e+56>>2]|0)>>>0){n=f?m:n;da=i;ca=da+16|0;c[$>>2]=ca;c[da>>2]=0;da=da+8|0;h[da>>3]=n;l=aa;return}else mr(e,4215)}while(0);if((_|0)==(Z|0))br(e,342583,50337407,342599);i=_+-16|0;c[$>>2]=i;da=c[_+-16>>2]|0;k=c[_+-8>>2]|0;c[i>>2]=2;if((da&8|0)!=0?(ca=k+4|0,da=(c[ca>>2]|0)+-1|0,c[ca>>2]=da,(da|0)==0):0){qr(c[e+44>>2]|0,k);i=c[$>>2]|0}if(i>>>0<(c[e+56>>2]|0)>>>0){n=s;da=i;ca=da+16|0;c[$>>2]=ca;c[da>>2]=0;da=da+8|0;h[da>>3]=n;l=aa;return}else mr(e,4286)}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=a+68|0;n=c[q>>2]|0;o=a+64|0;e=c[o>>2]|0;f=n-e>>4;r=((b|0)<0?f:0)+b|0;if(r>>>0>=f>>>0)Cr(a,300,b);p=(r|0)<0;b=(p?f:0)+r|0;b=b>>>0<f>>>0?e+(b<<4)|0:0;b=(b|0)==0?368:b;e=c[b>>2]|0;if(447>>>e&1|0)return;a:do switch(e|0){case 9:{b=(c[c[b+8>>2]>>2]|0)>>>27;if((b|0)==14){b=c[(c[(p?q:o)>>2]|0)+(r<<4)+8>>2]|0;m=a+44|0;j=c[(c[m>>2]|0)+648>>2]|0;e=c[b+36>>2]|0;f=c[b+24>>2]|0;k=c[b+16>>2]|0;b:do if(e){i=k+(f*21|0)+(0-f&7)+(c[b+32>>2]<<4)|0;h=e+-1|0;g=k+(f<<4)|0;b=0;f=c[j+12>>2]&h;c:while(1){e=c[i+(f<<2)>>2]|0;switch(e|0){case -1:{e=19;break}case -2:{l=15;break}default:if((c[g+(e<<2)>>2]|0)==(j|0)){b=e;e=1}else l=15}if((l|0)==15){l=0;e=0;f=f+1&h}switch(e&31){case 19:{b=14;break a}case 0:break;default:break c}}if(!e){b=14;break a}}else{f=k+(f<<4)|0;e=c[b+28>>2]|0;if(!e){b=14;break a}else b=0;while(1){if((c[f+(b<<2)>>2]|0)==(j|0))break b;b=b+1|0;if(b>>>0>=e>>>0){b=14;break a}}}while(0);b=c[k+(b<<4)+8>>2]|0;if(!b)b=14;else{if(n>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[q>>2]=n+16;c[n>>2]=8;c[n+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[o>>2]|0;f=(c[q>>2]|0)-e>>4;if(!f)Cr(a,376,-1);g=e+(f+-1<<4)|0;b=(p?f:0)+r|0;if(b>>>0>=f>>>0)Cr(a,376,r);r=e+(b<<4)|0;a=c[r>>2]|0;b=c[e+(b<<4)+8>>2]|0;c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];c[r+12>>2]=c[g+12>>2];c[g>>2]=2;c[q>>2]=(c[q>>2]|0)+-16;if(!(a&8))return;r=b+4|0;a=(c[r>>2]|0)+-1|0;c[r>>2]=a;if(a|0)return;qr(c[m>>2]|0,b);return}}break}case 10:{b=22;break}case 6:{b=3;break}default:b=0}while(0);b=(((d|0)==0?((b|0)==6?1:2):d)|0)==1;if(Jr(a,r,b?78:40)|0)return;if(!(Jr(a,r,b?40:78)|0))br(a,342583,100666041,342848);else return}function Jr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+68|0;e=c[l>>2]|0;j=a+64|0;i=e-(c[j>>2]|0)>>4;k=(b|0)<0;g=(k?i:0)+b|0;if(g>>>0>=i>>>0)Cr(a,300,b);d=c[(c[a+304>>2]|0)+(d<<2)>>2]|0;i=a+56|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[l>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[j>>2]|0;f=(c[l>>2]|0)-e>>4;d=((g|0)<0?f:0)+g|0;if(d>>>0>=f>>>0)Cr(a,376,g);g=Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[j>>2]|0;f=(c[l>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);m=e+(d<<4)|0;f=e+(f+-1<<4)|0;h=c[m>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(m|0,m+16|0,f-m|0)|0;c[f>>2]=2;c[l>>2]=(c[l>>2]|0)+-16;if(h&8|0?(h=d+4|0,m=(c[h>>2]|0)+-1|0,c[h>>2]=m,(m|0)==0):0)qr(c[a+44>>2]|0,d);a:do if(g){f=c[l>>2]|0;g=c[j>>2]|0;h=f-g>>4;e=h|0?g+(h+-1<<4)|0:0;e=(e|0)==0?368:e;d=f;switch(c[e>>2]|0){case 9:{if(!(c[c[e+8>>2]>>2]&512))break a;break}case 6:break;default:break a}if(d>>>0>=(c[i>>2]|0)>>>0)mr(a,1093);e=(k?h:0)+b|0;if(e>>>0>=h>>>0)Cr(a,376,b);i=g+(e<<4)|0;c[l>>2]=d+16;m=f;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2];if(c[d>>2]&8|0){m=(c[d+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}d=(c[l>>2]|0)-(c[j>>2]|0)|0;if((d|0)<32)nr(a,342568,55);Lr(a,(d>>>4)+-2|0,0)|0;d=c[l>>2]|0;e=c[j>>2]|0;f=d-e>>4;g=e+(f+-1<<4)|0;m=f|0?g:0;if(!(1728>>>(c[((m|0)==0?368:m)>>2]|0)&1)){if(!f)Cr(a,376,-1);d=(k?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);b=e+(d<<4)|0;m=c[b>>2]|0;d=c[e+(d<<4)+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];c[g>>2]=2;c[l>>2]=(c[l>>2]|0)+-16;if(!(m&8)){m=1;return m|0}l=d+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0){m=1;return m|0}qr(c[a+44>>2]|0,d);m=1;return m|0}}else d=c[l>>2]|0;while(0);b=d+-16|0;c[l>>2]=b;m=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[b>>2]=2;if(!(m&8)){m=0;return m|0}l=d+4|0;m=(c[l>>2]|0)+-1|0;c[l>>2]=m;if(m|0){m=0;return m|0}qr(c[a+44>>2]|0,d);m=0;return m|0}function Kr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+80|0;j=J+32|0;y=J+68|0;C=J+64|0;I=J+16|0;E=J;H=J+40|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];c[E>>2]=c[f>>2];c[E+4>>2]=c[f+4>>2];c[E+8>>2]=c[f+8>>2];c[E+12>>2]=c[f+12>>2];a:do switch(c[I>>2]|0){case 3:case 2:{C=Rr(b,E)|0;E=Rr(b,I)|0;c[j>>2]=C;c[j+4>>2]=E;sr(b,342676,100665681,343810,j);break}case 4:{g=12;D=198;break}case 8:{p=c[I+8>>2]|0;if(!(c[p>>2]&512)){i=c[E>>2]|0;if(!i){n=+h[E+8>>3];g=~~n>>>0;if(+(g>>>0)==n){e=0;o=g;j=0;D=18}else D=38}else{f=b+68|0;g=c[f>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(i&8|0){D=(c[E+8>>2]|0)+4|0;c[D>>2]=(c[D>>2]|0)+1}g=c[f>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;D=c[e>>2]|0;g=(c[f>>2]|0)-D>>4;g=g|0?D+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(t=c[g+8>>2]|0,t|0):0){g=t;break}Xr(b,-1)|0;D=c[e>>2]|0;g=(c[f>>2]|0)-D>>4;g=g|0?D+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[g+-8>>2]|0;while(0);e=g;o=c[g+16>>2]|0;j=1;D=18}if((D|0)==18){if((o|0)!=-1)if(o>>>0<(gs(p)|0)>>>0){m=b+68|0;e=c[m>>2]|0;f=e+(0-j<<4)|0;i=b+44|0;if(j){do{I=c[e+-16>>2]|0;g=c[e+-8>>2]|0;e=e+-16|0;c[e>>2]=2;if(I&8|0?(H=g+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)vr(c[i>>2]|0,g)}while((e|0)!=(f|0));e=f}c[m>>2]=e;g=c[i>>2]|0;if(!(c[g+32>>2]|0))g=e;else{lr(g);g=c[m>>2]|0}k=b+56|0;if(g>>>0>=(c[k>>2]|0)>>>0)mr(b,4153);c[m>>2]=g+16;c[g>>2]=8;c[g+8>>2]=p;i=p+4|0;c[i>>2]=(c[i>>2]|0)+1;i=o+1|0;f=c[b+64>>2]|0;g=(c[m>>2]|0)-f|0;e=g>>4;j=e+-1|0;if(!e)Cr(b,300,-1);g=((g|0)<16?e:0)+j|0;g=g>>>0<e>>>0?f+(g<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=8)ar(b,2101,j,361511);g=c[g+8>>2]|0;if(!g)ar(b,2101,j,361511);I=gs(g)|0;I=I>>>0>i>>>0?i:I;e=vt(b,g,I>>>0<o>>>0?I:o)|0;g=fs(b,g+28+e|0,(vt(b,g,I)|0)-e|0)|0;e=c[m>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0)mr(b,4153);c[m>>2]=e+16;c[e>>2]=8;c[e+8>>2]=g;I=g+4|0;c[I>>2]=(c[I>>2]|0)+1;Hs(b,j);b=1;l=J;return b|0}else g=o;else g=-1;if(!j)D=38}if((D|0)==38){f=b+68|0;g=c[f>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(i&8|0){E=(c[E+8>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1}g=c[f>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(A=c[g+8>>2]|0,A|0):0){g=A;break}Xr(b,-1)|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[g+-8>>2]|0;while(0);e=g;g=c[g+16>>2]|0}if((e|0)!=(c[(c[b+304>>2]|0)+328>>2]|0)){i=c[b+140>>2]|0;m=g;x=e;break a}f=b+68|0;g=c[f>>2]|0;H=g+-16|0;c[f>>2]=H;I=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[H>>2]=2;if(I&8|0?(H=g+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[b+44>>2]|0,g);g=gs(p)|0;e=c[f>>2]|0;if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4274);c[f>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(g>>>0);b=1;l=J;return b|0}else{g=38;D=198}break}case 9:{m=I+8|0;i=c[m>>2]|0;n=+h[E+8>>3];f=c[i>>2]|0;e=(c[E>>2]|0)==0;if((e&(f&58761216|0)==32768?(p=~~n>>>0,p=+(p>>>0)==n?p:-1,p>>>0<(c[i+32>>2]|0)>>>0):0)?(q=c[i+24>>2]|0,q=(c[i+16>>2]|0)+(q*21|0)+(0-q&7)|0,r=q+(p<<4)|0,s=c[r>>2]|0,!((s|0)==7|(r|0)==0)):0){g=b+68|0;e=c[g>>2]|0;if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[g>>2]=e+16;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];if(!(s&8)){b=1;l=J;return b|0}b=(c[q+(p<<4)+8>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;b=1;l=J;return b|0}if((f&8192|0?!((a[i+58>>0]|0)==0|e^1):0)?(k=~~n>>>0,k=+(k>>>0)==n?k:-1,o=d[i+56>>0]|0,k>>>0<(c[i+52>>2]|0)>>>o>>>0):0){f=k<<o;e=1<<o;g=c[i+40>>2]|0;if(g|0?(v=c[i+48>>2]|0,(f+e+v|0)>>>0<=(c[g+16>>2]|0)>>>0):0){if(!(c[g>>2]&128))g=g+24|0;else g=c[g+20>>2]|0;wt(b,a[i+57>>0]|0,g+v+f|0,e);b=1;l=J;return b|0}g=b+68|0;e=c[g>>2]|0;if(e>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4274);c[g>>2]=e+16;c[e>>2]=0;h[e+8>>3]=0.0;b=1;l=J;return b|0}do if(!(f&33554432))g=f;else{B=(ps(b,i,73,E,y)|0)==0;j=c[y>>2]|0;if(B){c[I>>2]=9;c[m>>2]=j;i=j;g=c[j>>2]|0;break}k=b+68|0;e=c[k>>2]|0;i=b+56|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(b,4153);c[k>>2]=e+16;c[e>>2]=9;c[e+8>>2]=j;e=j+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(b,4153);c[k>>2]=e+16;c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];c[e+8>>2]=c[E+8>>2];c[e+12>>2]=c[E+12>>2];if(c[E>>2]&8|0){G=(c[E+8>>2]|0)+4|0;c[G>>2]=(c[G>>2]|0)+1}e=c[k>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(b,4153);c[k>>2]=e+16;c[e>>2]=c[I>>2];c[e+4>>2]=c[I+4>>2];c[e+8>>2]=c[I+8>>2];c[e+12>>2]=c[I+12>>2];if(c[I>>2]&8|0){I=(c[m>>2]|0)+4|0;c[I>>2]=(c[I>>2]|0)+1}f=b+64|0;e=(c[k>>2]|0)-(c[f>>2]|0)|0;if((e|0)<80)nr(b,342568,55);Lr(b,(e>>>4)+-5|0,0)|0;e=c[k>>2]|0;if(e>>>0>=(c[i>>2]|0)>>>0)mr(b,4153);c[k>>2]=e+16;c[e>>2]=c[E>>2];c[e+4>>2]=c[E+4>>2];c[e+8>>2]=c[E+8>>2];c[e+12>>2]=c[E+12>>2];if(c[E>>2]&8|0){I=(c[E+8>>2]|0)+4|0;c[I>>2]=(c[I>>2]|0)+1}e=c[k>>2]|0;do if((c[e+-16>>2]|0)!=8){Ir(b,-1,1);I=c[f>>2]|0;e=(c[k>>2]|0)-I>>4;e=e|0?I+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8?(g=c[e+8>>2]|0,g|0):0)break;Xr(b,-1)|0;I=c[f>>2]|0;g=(c[k>>2]|0)-I>>4;g=g|0?I+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[e+-8>>2]|0;while(0);do if(!(zr(b,j,g,c[g+16>>2]|0,H,1)|0)){g=c[k>>2]|0;H=g+-16|0;c[k>>2]=H;I=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[H>>2]=2;if(I&8|0?(H=g+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[b+44>>2]|0,g)}else{e=c[f>>2]|0;f=(c[k>>2]|0)-e>>4;if(f>>>0<=2)Cr(b,376,-3);i=e+(f+-3<<4)|0;g=c[H>>2]|0;if(!(g&13)){e=(Fs(0,i,e+(f+-1<<4)|0,1)|0)==0;g=c[H>>2]|0}else e=0;do if((g&12|0)==8){if(c[H+4>>2]|0){g=0;break}g=(c[i>>2]|0)!=2}else g=0;while(0);if(e|g)br(b,342676,100665838,343015);e=c[k>>2]|0;g=e+-16|0;c[k>>2]=g;I=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[g>>2]=2;do if(I&8){H=e+4|0;I=(c[H>>2]|0)+-1|0;c[H>>2]=I;if(I|0)break;qr(c[b+44>>2]|0,e);g=c[k>>2]|0}while(0);H=g+-16|0;c[k>>2]=H;I=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[H>>2]=2;if(!(I&8))break;H=g+4|0;I=(c[H>>2]|0)+-1|0;c[H>>2]=I;if(I|0)break;qr(c[b+44>>2]|0,g)}while(0);b=1;l=J;return b|0}while(0);if(!(g&16777216))D=199;else{j=b+68|0;g=c[j>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[j>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(c[E>>2]&8|0){E=(c[E+8>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1}g=c[j>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;E=c[e>>2]|0;g=(c[j>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(w=c[g+8>>2]|0,w|0):0){e=w;break}Xr(b,-1)|0;E=c[e>>2]|0;g=(c[j>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)e=c[g+8>>2]|0;else e=0}else e=c[g+-8>>2]|0;while(0);g=c[e+16>>2]|0;if(!(ls(b,i,e,H,y,C)|0)){m=g;x=e;break a}e=c[j>>2]|0;i=b+64|0;I=c[i>>2]|0;g=e-I>>4;g=g|0?I+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)!=8)ar(b,2101,-1,361511);f=c[g+8>>2]|0;if(!f)ar(b,2101,-1,361511);H=e+-16|0;c[j>>2]=H;I=c[e+-16>>2]|0;g=c[e+-8>>2]|0;c[H>>2]=2;if(I&8|0?(H=g+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)qr(c[b+44>>2]|0,g);Es(b,c[C>>2]|0,0,f,1)|0;g=c[j>>2]|0;e=g+-16|0;c[j>>2]=e;I=c[g+-16>>2]|0;g=c[g+-8>>2]|0;c[e>>2]=2;if((I&8|0)!=0?(H=g+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0){qr(c[b+44>>2]|0,g);e=c[j>>2]|0}f=c[i>>2]|0;e=e-f>>4;g=e+-2|0;if(e>>>0<=1)Cr(b,376,-2);G=f+(g<<4)|0;H=f+(e+-1<<4)|0;I=c[G>>2]|0;g=c[f+(g<<4)+8>>2]|0;t6(G|0,G+16|0,H-G|0)|0;c[H>>2]=2;c[j>>2]=(c[j>>2]|0)+-16;if(!(I&8)){b=1;l=J;return b|0}H=g+4|0;I=(c[H>>2]|0)+-1|0;c[H>>2]=I;if(I|0){b=1;l=J;return b|0}qr(c[b+44>>2]|0,g);b=1;l=J;return b|0}break}case 10:{o=c[I+8>>2]|0;i=c[E>>2]|0;if(!i){n=+h[E+8>>3];g=~~n>>>0;if(+(g>>>0)==n){k=0;m=g;g=0;D=161}else D=177}else{f=b+68|0;g=c[f>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(i&8|0){D=(c[E+8>>2]|0)+4|0;c[D>>2]=(c[D>>2]|0)+1}g=c[f>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;D=c[e>>2]|0;g=(c[f>>2]|0)-D>>4;g=g|0?D+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(u=c[g+8>>2]|0,u|0):0){g=u;break}Xr(b,-1)|0;D=c[e>>2]|0;g=(c[f>>2]|0)-D>>4;g=g|0?D+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[g+-8>>2]|0;while(0);k=1;m=c[g+16>>2]|0;D=161}if((D|0)==161){if((m|0)!=-1)if(m>>>0<(c[o+16>>2]|0)>>>0){j=b+68|0;g=c[j>>2]|0;f=g+(0-k<<4)|0;i=b+44|0;if(k){do{I=c[g+-16>>2]|0;e=c[g+-8>>2]|0;g=g+-16|0;c[g>>2]=2;if(I&8|0?(H=e+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0)vr(c[i>>2]|0,e)}while((g|0)!=(f|0));g=f}c[j>>2]=g;g=c[i>>2]|0;if(c[g+32>>2]|0)lr(g);if(!(c[o>>2]&128))e=o+24|0;else e=c[o+20>>2]|0;g=c[j>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4274);n=+(d[e+m>>0]|0);c[j>>2]=g+16;c[g>>2]=0;h[g+8>>3]=n;b=1;l=J;return b|0}else e=m;else e=-1;if(!k)D=177}if((D|0)==177){f=b+68|0;g=c[f>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(i&8|0){E=(c[E+8>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1}g=c[f>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(B=c[g+8>>2]|0,B|0):0){g=B;break}Xr(b,-1)|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[g+-8>>2]|0;while(0);e=c[g+16>>2]|0}if((g|0)!=(c[(c[b+304>>2]|0)+328>>2]|0)){i=c[b+268>>2]|0;m=e;x=g;break a}f=b+68|0;e=c[f>>2]|0;g=e+-16|0;c[f>>2]=g;I=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[g>>2]=2;if((I&8|0)!=0?(H=e+4|0,I=(c[H>>2]|0)+-1|0,c[H>>2]=I,(I|0)==0):0){qr(c[b+44>>2]|0,e);g=c[f>>2]|0}if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4274);n=+((c[o+16>>2]|0)>>>0);c[f>>2]=g+16;c[g>>2]=0;h[g+8>>3]=n;b=1;l=J;return b|0}case 5:{g=36;D=198;break}case 6:{g=6;D=198;break}default:{g=14;D=198}}while(0);if((D|0)==198){i=c[b+100+(g<<2)>>2]|0;D=199}if((D|0)==199){f=b+68|0;g=c[f>>2]|0;if(g>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=g+16;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];if(c[E>>2]&8|0){E=(c[E+8>>2]|0)+4|0;c[E>>2]=(c[E>>2]|0)+1}g=c[f>>2]|0;do if((c[g+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8?(z=c[g+8>>2]|0,z|0):0){g=z;break}Xr(b,-1)|0;E=c[e>>2]|0;g=(c[f>>2]|0)-E>>4;g=g|0?E+(g+-1<<4)|0:0;g=(g|0)==0?368:g;if((c[g>>2]|0)==8)g=c[g+8>>2]|0;else g=0}else g=c[g+-8>>2]|0;while(0);m=c[g+16>>2]|0;x=g}e=1e4;g=i;while(1){if(zr(b,g,x,m,H,1)|0){D=212;break}if(!e){D=232;break}g=c[g+20>>2]|0;if(!g){D=234;break}else e=e+-1|0}if((D|0)==212){i=H+4|0;H=c[i>>2]|0;g=H;do if(H|0){j=b+68|0;e=c[j>>2]|0;f=e+-16|0;c[j>>2]=f;H=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[f>>2]=2;if((H&8|0)!=0?(E=e+4|0,H=(c[E>>2]|0)+-1|0,c[E>>2]=H,(H|0)==0):0){qr(c[b+44>>2]|0,e);f=c[j>>2]|0;g=c[i>>2]|0}e=b+56|0;if(f>>>0>=(c[e>>2]|0)>>>0)mr(b,4153);c[j>>2]=f+16;c[f>>2]=9;c[f+8>>2]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[j>>2]|0;if(g>>>0>=(c[e>>2]|0)>>>0)mr(b,4153);c[j>>2]=g+16;c[g>>2]=c[I>>2];c[g+4>>2]=c[I+4>>2];c[g+8>>2]=c[I+8>>2];c[g+12>>2]=c[I+12>>2];if(c[I>>2]&8|0){H=(c[I+8>>2]|0)+4|0;c[H>>2]=(c[H>>2]|0)+1}i=c[j>>2]|0;if(i>>>0>=(c[e>>2]|0)>>>0)mr(b,1093);g=b+64|0;e=c[g>>2]|0;f=i-e>>4;if(f>>>0<=2)Cr(b,376,-3);H=e+(f+-3<<4)|0;c[j>>2]=i+16;c[i>>2]=c[H>>2];c[i+4>>2]=c[H+4>>2];c[i+8>>2]=c[H+8>>2];c[i+12>>2]=c[H+12>>2];if(c[i>>2]&8|0){H=(c[i+8>>2]|0)+4|0;c[H>>2]=(c[H>>2]|0)+1}g=(c[j>>2]|0)-(c[g>>2]|0)|0;if((g|0)<48)nr(b,342568,55);else{Lr(b,(g>>>4)+-3|0,0)|0;break}}while(0);if((((((c[I>>2]|0)==9?(x|0)==(c[(c[b+304>>2]|0)+276>>2]|0):0)?c[c[I+8>>2]>>2]&16783360|0:0)?(I=c[b+64>>2]|0,F=(c[b+68>>2]|0)-I>>4,F=F|0?I+(F+-1<<4)|0:0,F=(F|0)==0?368:F,(c[F>>2]|0)==9):0)?(G=c[F+8>>2]|0,G|0):0)?(I=c[G>>2]|0,!((I&7168|0)==0|(I&65536|0)==0)):0)br(b,342676,100666099,343840);i=b+68|0;e=c[b+64>>2]|0;f=(c[i>>2]|0)-e>>4;g=f+-2|0;if(f>>>0<=1)Cr(b,376,-2);G=e+(g<<4)|0;H=e+(f+-1<<4)|0;I=c[G>>2]|0;g=c[e+(g<<4)+8>>2]|0;t6(G|0,G+16|0,H-G|0)|0;c[H>>2]=2;c[i>>2]=(c[i>>2]|0)+-16;if(!(I&8)){b=1;l=J;return b|0}H=g+4|0;I=(c[H>>2]|0)+-1|0;c[H>>2]=I;if(I|0){b=1;l=J;return b|0}qr(c[b+44>>2]|0,g);b=1;l=J;return b|0}else if((D|0)==232)br(b,342676,50334381,343030);else if((D|0)==234){g=c[b+64>>2]|0;e=(c[b+68>>2]|0)-g>>4;if(!e)Cr(b,376,-1);G=e+-1|0;H=g+(G<<4)|0;I=c[H>>2]|0;g=c[g+(G<<4)+8>>2]|0;c[H>>2]=2;if(!(I&8)){b=0;l=J;return b|0}H=g+4|0;I=(c[H>>2]|0)+-1|0;c[H>>2]=I;if(I|0){b=0;l=J;return b|0}qr(c[b+44>>2]|0,g);b=0;l=J;return b|0}return 0}function Lr(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=l;l=l+48|0;M=Pa+32|0;U=Pa+24|0;j=Pa+16|0;L=Pa;Ea=d+64|0;n=c[Ea>>2]|0;Ia=d+52|0;Fa=c[Ia>>2]|0;Da=n-Fa|0;Ja=d+56|0;Fa=(c[Ja>>2]|0)-Fa|0;Ka=d+44|0;k=c[Ka>>2]|0;La=c[k+140>>2]|0;k=k+132|0;Ma=c[k>>2]|0;Na=d+49|0;Oa=a[Na>>0]|0;Ga=d+40|0;Ha=c[Ga>>2]|0;if(Ha|0){c[(c[d+72>>2]|0)+36>>2]=c[Ha>>2];c[Ga>>2]=0}i=Oa&255;if((Ma|0)==(d|0)){if(Oa<<24>>24!=2){c[j>>2]=i;sr(d,342613,100665180,342627,j)}}else{if(Oa<<24>>24!=1){c[j>>2]=i;sr(d,342613,100665180,342627,j)}if(!Ma){i=0;j=0}else{i=c[Ma+96>>2]|0;j=c[Ma+92>>2]|0}c[d+92>>2]=j;c[d+96>>2]=i;c[k>>2]=d;a[Na>>0]=2}a:do if(!(g&2)){switch(c[n+(f<<4)>>2]|0){case 6:{G=0;H=g;break a}case 9:break;default:{za=11;break a}}m=c[n+(f<<4)+8>>2]|0;i=c[m>>2]|0;if((i&67110400|0)==512)if(!(i&65536)){i=f+1|0;j=n+(i<<4)|0;switch(c[j>>2]|0){case 9:{G=m;H=g;break a}case 3:case 2:break;default:{Mr(d,i);G=m;H=g;break a}}k=c[d+100>>2]|0;if(!k){c[j>>2]=2;G=m;H=g;break}else{c[j>>2]=9;c[n+(i<<4)+8>>2]=k;G=k+4|0;c[G>>2]=(c[G>>2]|0)+1;G=m;H=g;break}}else{G=m;H=g}else za=11}else za=11;while(0);b:do if((za|0)==11){N=d+68|0;w=(f|0)<0;x=f+3|0;y=f+2|0;z=(f|0)<-2;A=d+112|0;O=f+1|0;B=(f|0)<-1;C=d+304|0;D=(f|0)<-3;v=-5-f|0;E=d+132|0;F=f+4|0;G=(f|0)<-4;H=d+60|0;i=g;r=1;u=n;c:while(1){t=u+(f<<4)|0;switch(c[t>>2]|0){case 6:{G=0;H=i;break b}case 9:break;default:{za=249;break c}}V=u+(f<<4)+8|0;Y=c[V>>2]|0;q=(i&2|0)==0;W=c[Y>>2]|0;p=Y;if(q){if(!(W&512)){za=235;break}}else if(!(W&256)){za=250;break}if(!(W&100664320)){X=i;break}d:do if(!(W&1024)){if(W&33554432|0){j=c[Y+44>>2]|0;k=c[N>>2]|0;if(k>>>0>=(c[Ja>>2]|0)>>>0){za=65;break c}c[N>>2]=k+16;c[k>>2]=9;c[k+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[N>>2]|0;g=j-(c[Ea>>2]|0)|0;o=g>>4;K=o+-1|0;if(!o){za=67;break c}k=c[(c[C>>2]|0)+((i>>>1&1|70)<<2)>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0){za=69;break c}c[N>>2]=j+16;c[j>>2]=8;c[j+8>>2]=k;k=k+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;j=((g|0)<16?m:0)+K|0;if(j>>>0>=m>>>0){za=71;break c}g=Kr(d,k+(j<<4)|0,k+(m+-1<<4)|0)|0;k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;j=m+-2|0;if(m>>>0<=1){za=73;break c}Qa=k+(j<<4)|0;n=k+(m+-1<<4)|0;o=c[Qa>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(Qa|0,Qa+16|0,n-Qa|0)|0;c[n>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if(o&8|0?(o=j+4|0,Qa=(c[o>>2]|0)+-1|0,c[o>>2]=Qa,(Qa|0)==0):0)qr(c[Ka>>2]|0,j);if(!g){if((i&66|0)==2){Nr(d,f);n=i|64}else n=i;j=c[N>>2]|0;if((j+-32|0)>>>0<(c[Ea>>2]|0)>>>0){za=81;break c}k=j+-16|0;c[N>>2]=k;Qa=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[k>>2]=2;do if(!(Qa&8))j=k;else{q=j+4|0;Qa=(c[q>>2]|0)+-1|0;c[q>>2]=Qa;if(Qa|0){j=k;break}qr(c[Ka>>2]|0,j);j=c[N>>2]|0}while(0);k=j+-16|0;c[N>>2]=k;Qa=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[k>>2]=2;do if(Qa&8){q=j+4|0;Qa=(c[q>>2]|0)+-1|0;c[q>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,j);k=c[N>>2]|0}while(0);j=c[Y+40>>2]|0;if(k>>>0>=(c[Ja>>2]|0)>>>0){za=89;break c}c[N>>2]=k+16;c[k>>2]=9;c[k+8>>2]=j;k=j+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;if(!m){za=91;break c}g=k+(m+-1<<4)|0;j=(w?m:0)+f|0;if(j>>>0>=m>>>0){za=93;break c}u=k+(j<<4)|0;Qa=c[u>>2]|0;i=c[k+(j<<4)+8>>2]|0;c[u>>2]=c[g>>2];c[u+4>>2]=c[g+4>>2];c[u+8>>2]=c[g+8>>2];c[u+12>>2]=c[g+12>>2];c[g>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if(!(Qa&8)){i=n;break}u=i+4|0;Qa=(c[u>>2]|0)+-1|0;c[u>>2]=Qa;if(Qa|0){i=n;break}qr(c[Ka>>2]|0,i);i=n;break}k=c[N>>2]|0;n=c[Ea>>2]|0;m=k-n>>4;j=(B?m:0)+O|0;if(j>>>0>=m>>>0){za=98;break c}g=n+(j<<4)|0;j=n+(m+-1<<4)|0;m=j-g|0;if(!m)m=n;else{c[L>>2]=c[j>>2];c[L+4>>2]=c[j+4>>2];c[L+8>>2]=c[j+8>>2];c[L+12>>2]=c[j+12>>2];t6(g+16|0,g|0,m|0)|0;c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];k=c[N>>2]|0;m=c[Ea>>2]|0}g=k-m>>4;j=(z?g:0)+y|0;if(j>>>0>=g>>>0){za=102;break c}n=m+(j<<4)|0;j=m+(g+-1<<4)|0;m=j-n|0;if(m){c[L>>2]=c[j>>2];c[L+4>>2]=c[j+4>>2];c[L+8>>2]=c[j+8>>2];c[L+12>>2]=c[j+12>>2];t6(n+16|0,n|0,m|0)|0;c[n>>2]=c[L>>2];c[n+4>>2]=c[L+4>>2];c[n+8>>2]=c[L+8>>2];c[n+12>>2]=c[L+12>>2];k=c[N>>2]|0}j=c[Y+40>>2]|0;if(k>>>0>=(c[Ja>>2]|0)>>>0){za=106;break c}c[N>>2]=k+16;c[k>>2]=9;c[k+8>>2]=j;k=j+4|0;c[k>>2]=(c[k>>2]|0)+1;k=c[N>>2]|0;g=c[Ea>>2]|0;j=g;n=k-j>>4;m=(D?n:0)+x|0;if(m>>>0>=n>>>0){za=108;break c}o=g+(m<<4)|0;m=g+(n+-1<<4)|0;g=m-o|0;if(g){c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];t6(o+16|0,o|0,g|0)|0;c[o>>2]=c[L>>2];c[o+4>>2]=c[L+4>>2];c[o+8>>2]=c[L+8>>2];c[o+12>>2]=c[L+12>>2];k=c[N>>2]|0;j=c[Ea>>2]|0}Qa=k-j>>4;m=v+Qa|0;if(Qa>>>0<m>>>0){za=112;break c}g=Or(d,48)|0;j=c[Ka>>2]|0;c[g>>2]=272679041;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=g;c[g+12>>2]=0;c[g+8>>2]=k;c[j>>2]=g;j=c[E>>2]|0;c[g+20>>2]=j;if(j|0){Qa=j+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}o=c[N>>2]|0;c[o>>2]=9;c[o+8>>2]=g;o=g+4|0;c[o>>2]=(c[o>>2]|0)+1;o=c[N>>2]|0;c[N>>2]=o+16;o=c[o+8>>2]|0;Br(d,o,0,m,0,0);c[o+40>>2]=m;Qa=c[o+24>>2]|0;j=(c[N>>2]|0)+(0-m<<4)+-16|0;s6((c[o+16>>2]|0)+(Qa*21|0)+(0-Qa&7)|0,j|0,m<<4|0)|0;m=(c[N>>2]|0)+-16|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];j=j+16|0;m=c[N>>2]|0;if((j|0)!=(m|0)){k=j;do{c[k>>2]=2;k=k+16|0}while((k|0)!=(m|0))}c[N>>2]=j;if(q)g=i;else{g=i&-35|32;m=c[Ea>>2]|0;k=j-m>>4;j=(G?k:0)+F|0;if(j>>>0>=k>>>0){za=121;break c}o=m+(j<<4)|0;q=m+(k+-1<<4)|0;Qa=c[o>>2]|0;k=c[m+(j<<4)+8>>2]|0;t6(o|0,o+16|0,q-o|0)|0;c[q>>2]=2;j=(c[N>>2]|0)+-16|0;c[N>>2]=j;do if(Qa&8){q=k+4|0;Qa=(c[q>>2]|0)+-1|0;c[q>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,k);j=c[N>>2]|0}while(0);if(j>>>0>=(c[Ja>>2]|0)>>>0){za=126;break c}c[N>>2]=j+16;c[j>>2]=9;c[j+8>>2]=p;j=Y+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[N>>2]|0}m=c[Ea>>2]|0;k=j-m>>4;j=(w?k:0)+f|0;if(j>>>0>=k>>>0){za=129;break c}t=m+(j<<4)|0;u=m+(k+-1<<4)|0;Qa=c[t>>2]|0;i=c[m+(j<<4)+8>>2]|0;t6(t|0,t+16|0,u-t|0)|0;c[u>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if(!(Qa&8)){i=g;break}u=i+4|0;Qa=(c[u>>2]|0)+-1|0;c[u>>2]=Qa;if(Qa|0){i=g;break}qr(c[Ka>>2]|0,i);i=g;break}j=b[Y+46>>1]|0;if(j<<16>>16==15){za=134;break c}switch(j<<16>>16|0){case 0:{k=(c[N>>2]|0)-u>>4;j=(w?k:0)+f|0;if(j>>>0>=k>>>0){za=138;break c}t=u+(j<<4)|0;k=u+(k+-1<<4)|0;Qa=c[t>>2]|0;j=c[u+(j<<4)+8>>2]|0;t6(t|0,t+16|0,k-t|0)|0;c[k>>2]=2;k=(c[N>>2]|0)+-16|0;c[N>>2]=k;if((Qa&8|0)!=0?(u=j+4|0,Qa=(c[u>>2]|0)+-1|0,c[u>>2]=Qa,(Qa|0)==0):0){qr(c[Ka>>2]|0,j);k=c[N>>2]|0}j=(c[Ea>>2]|0)+(f<<4)+32|0;if(k>>>0>=j>>>0)break d;c[N>>2]=j;break d}case 1:{k=(c[N>>2]|0)-u>>4;j=(w?k:0)+f|0;if(j>>>0>=k>>>0){za=145;break c}q=u+(j<<4)|0;k=u+(k+-1<<4)|0;Qa=c[q>>2]|0;m=c[u+(j<<4)+8>>2]|0;t6(q|0,q+16|0,k-q|0)|0;c[k>>2]=2;k=(c[N>>2]|0)+-16|0;c[N>>2]=k;j=k;if((Qa&8|0)!=0?(q=m+4|0,Qa=(c[q>>2]|0)+-1|0,c[q>>2]=Qa,(Qa|0)==0):0){qr(c[Ka>>2]|0,m);k=c[N>>2]|0;j=k}break}case 2:{k=t+32|0;m=c[N>>2]|0;g=k;q=Y+4|0;Qa=(c[q>>2]|0)+-1|0;c[q>>2]=Qa;if(!Qa)vr(c[Ka>>2]|0,Y);j=t+16|0;if(c[j>>2]&8|0?(J=c[j+8>>2]|0,q=J+4|0,Qa=(c[q>>2]|0)+-1|0,c[q>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,J);t6(t|0,k|0,m-g|0)|0;j=c[N>>2]|0;k=j+-32|0;c[k>>2]=2;c[j+-16>>2]=2;c[N>>2]=k;j=k;break}case 3:{k=t+32|0;m=c[N>>2]|0;g=k;q=Y+4|0;Qa=(c[q>>2]|0)+-1|0;c[q>>2]=Qa;if(!Qa)vr(c[Ka>>2]|0,Y);j=t+16|0;if(c[j>>2]&8|0?(I=c[j+8>>2]|0,q=I+4|0,Qa=(c[q>>2]|0)+-1|0,c[q>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,I);q=i|2;t6(t|0,k|0,m-g|0)|0;k=c[N>>2]|0;g=k+-32|0;c[g>>2]=2;c[k+-16>>2]=2;c[N>>2]=g;k=c[Ea>>2]|0;m=g-k>>4;j=(w?m:0)+f|0;j=j>>>0<m>>>0?k+(j<<4)|0:0;j=(j|0)==0?368:j;switch(c[j>>2]|0){case 9:{if(!(c[c[j+8>>2]>>2]&256))za=158;break}case 6:break;default:za=158}if((za|0)==158){za=0;if(y>>>0>=m>>>0){c[N>>2]=k+(y<<4);i=q;break d}k=g+(y-m<<4)|0;i=g;do{Qa=c[i+-16>>2]|0;j=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(Qa&8|0?(u=j+4|0,Qa=(c[u>>2]|0)+-1|0,c[u>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,j)}while((i|0)!=(k|0));c[N>>2]=k;i=c[Ka>>2]|0;if(!(c[i+32>>2]|0)){i=q;break d}lr(i);i=q;break d}if(g>>>0>=(c[Ja>>2]|0)>>>0){za=168;break c}m=Or(d,40)|0;j=c[Ka>>2]|0;c[m>>2]=134234241;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=m;c[m+12>>2]=0;c[m+8>>2]=k;c[j>>2]=m;j=c[N>>2]|0;c[j>>2]=9;c[j+8>>2]=m;j=m+4|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[N>>2]|0)+16|0;c[N>>2]=j;k=c[A>>2]|0;c[m+20>>2]=k;n=j;if(k|0){Qa=k+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}p=c[Ea>>2]|0;o=p;m=n-o>>4;k=(B?m:0)+O|0;if(k>>>0>=m>>>0){za=174;break c}g=p+(k<<4)|0;k=p+(m+-1<<4)|0;m=k-g|0;if(!m){m=n;k=o}else{c[L>>2]=c[k>>2];c[L+4>>2]=c[k+4>>2];c[L+8>>2]=c[k+8>>2];c[L+12>>2]=c[k+12>>2];t6(g+16|0,g|0,m|0)|0;c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];j=c[N>>2]|0;p=c[Ea>>2]|0;m=j;k=p}k=m-k>>4;if((k|0)<(x|0)){za=178;break c}do if((k|0)>(x|0)){Qa=m-p>>4;m=(w?Qa:0)+f|0;m=m>>>0<Qa>>>0?p+(m<<4)|0:0;k=(D?Qa:0)+x|0;k=k>>>0<Qa>>>0?p+(k<<4)|0:0;if((m|0)==0|(k|0)==0){za=192;break c}g=c[m>>2]|0;n=c[k>>2]|0;e:do if(!(n|g)){if(!(+h[m+8>>3]==+h[k+8>>3])){za=192;break c}}else{if((g|0)!=(n|0)){za=192;break c}switch(g|0){case 3:case 2:break e;case 4:if((c[m+8>>2]|0)==(c[k+8>>2]|0))break e;else{za=192;break c}case 5:if((c[m+8>>2]|0)==(c[k+8>>2]|0))break e;else{za=192;break c}case 9:case 8:if((c[m+8>>2]|0)==(c[k+8>>2]|0))break e;else{za=192;break c}case 10:if((c[m+8>>2]|0)==(c[k+8>>2]|0))break e;else{za=192;break c}case 6:{if((c[m+8>>2]|0)!=(c[k+8>>2]|0)){za=192;break c}if((c[m+4>>2]|0)==(c[k+4>>2]|0))break e;else{za=192;break c}}default:{za=190;break c}}}while(0);k=j-p>>4;if(x>>>0>=k>>>0){c[N>>2]=p+(x<<4);break}m=j+(x-k<<4)|0;do{Qa=c[j+-16>>2]|0;k=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;do if(Qa&8|0){p=k+4|0;Qa=(c[p>>2]|0)+-1|0;c[p>>2]=Qa;if(Qa|0)break;vr(c[Ka>>2]|0,k)}while(0)}while((j|0)!=(m|0));c[N>>2]=m;j=c[Ka>>2]|0;if(!(c[j+32>>2]|0))break;lr(j)}while(0);Pr(d,y);k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;j=(z?m:0)+y|0;if(j>>>0>=m>>>0){za=203;break c}t=k+(j<<4)|0;u=k+(m+-1<<4)|0;Qa=c[t>>2]|0;i=c[k+(j<<4)+8>>2]|0;t6(t|0,t+16|0,u-t|0)|0;c[u>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if(!(Qa&8)){i=q;break d}u=i+4|0;Qa=(c[u>>2]|0)+-1|0;c[u>>2]=Qa;if(Qa|0){i=q;break d}qr(c[Ka>>2]|0,i);i=q;break d}default:{za=207;break c}}g=c[Ea>>2]|0;m=g+(f<<4)+32|0;if(k>>>0<=m>>>0){c[N>>2]=m;break}do if(k>>>0>(m+16|0)>>>0){j=k-g>>4;if(x>>>0>=j>>>0){j=g+(x<<4)|0;c[N>>2]=j;break}j=k+(x-j<<4)|0;do{Qa=c[k+-16>>2]|0;m=c[k+-8>>2]|0;k=k+-16|0;c[k>>2]=2;if(Qa&8|0?(q=m+4|0,Qa=(c[q>>2]|0)+-1|0,c[q>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,m)}while((k|0)!=(j|0));c[N>>2]=j;k=c[Ka>>2]|0;if(c[k+32>>2]|0){lr(k);j=c[N>>2]|0}}while(0);Qa=c[Ea>>2]|0;q=j-Qa>>4;j=(w?q:0)+f|0;j=j>>>0<q>>>0?Qa+(j<<4)|0:0;j=(j|0)==0?368:j;switch(c[j>>2]|0){case 9:{if(!(c[c[j+8>>2]>>2]&512))break d;break}case 6:break;default:break d}Pr(d,y);k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;j=(z?m:0)+y|0;if(j>>>0>=m>>>0){za=223;break c}t=k+(j<<4)|0;u=k+(m+-1<<4)|0;Qa=c[t>>2]|0;j=c[k+(j<<4)+8>>2]|0;t6(t|0,t+16|0,u-t|0)|0;c[u>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if((Qa&8|0)!=0?(u=j+4|0,Qa=(c[u>>2]|0)+-1|0,c[u>>2]=Qa,(Qa|0)==0):0)qr(c[Ka>>2]|0,j)}else{k=c[N>>2]|0;Qa=k-u>>4;j=(w?Qa:0)+f|0;g=k;m=k;if(j>>>0>=Qa>>>0){za=27;break c}switch(c[u+(j<<4)>>2]|0){case 6:break d;case 9:break;default:{za=62;break c}}p=c[u+(j<<4)+8>>2]|0;if(c[p>>2]&1024){o=c[p+72>>2]|0;j=c[p+76>>2]|0;if(q){k=p+56|0;if(g>>>0>=(c[Ja>>2]|0)>>>0){za=32;break c}c[N>>2]=g+16;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];if(c[k>>2]&8|0){Qa=(c[k+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}m=c[Ea>>2]|0;g=(c[N>>2]|0)-m>>4;if(!g){za=36;break c}n=m+(g+-1<<4)|0;k=(B?g:0)+O|0;if(k>>>0>=g>>>0){za=38;break c}q=m+(k<<4)|0;Qa=c[q>>2]|0;g=c[m+(k<<4)+8>>2]|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[n>>2]=2;m=(c[N>>2]|0)+-16|0;c[N>>2]=m;k=m;if((Qa&8|0)!=0?(q=g+4|0,Qa=(c[q>>2]|0)+-1|0,c[q>>2]=Qa,(Qa|0)==0):0){qr(c[Ka>>2]|0,g);m=c[N>>2]|0;k=m}}g=c[Ia>>2]|0;k=((j>>>0>1e6?(j>>31&267435456)+1e6|0:j)<<4)+512+(k-g)|0;g=g+k|0;do if((c[Ja>>2]|0)>>>0<g>>>0)if((c[H>>2]|0)>>>0<g>>>0){Er(d,k,1)|0;m=c[N>>2]|0;break}else{c[Ja>>2]=g;break}while(0);k=(c[Ea>>2]|0)+(y<<4)|0;Qa=j<<4;c[N>>2]=m+Qa;t6(k+(j<<4)|0,k|0,m-k|0)|0;s6(k|0,o|0,Qa|0)|0;if(j|0)while(1){j=j+-1|0;if(c[k>>2]&8|0){Qa=(c[k+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(!j)break;else k=k+16|0}j=p+40|0;k=c[N>>2]|0;if(k>>>0>=(c[Ja>>2]|0)>>>0){za=51;break c}c[N>>2]=k+16;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];if(c[j>>2]&8|0){Qa=(c[p+48>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}k=c[Ea>>2]|0;m=(c[N>>2]|0)-k>>4;if(!m){za=55;break c}g=k+(m+-1<<4)|0;j=(w?m:0)+f|0;if(j>>>0>=m>>>0){za=57;break c}u=k+(j<<4)|0;Qa=c[u>>2]|0;j=c[k+(j<<4)+8>>2]|0;c[u>>2]=c[g>>2];c[u+4>>2]=c[g+4>>2];c[u+8>>2]=c[g+8>>2];c[u+12>>2]=c[g+12>>2];c[g>>2]=2;c[N>>2]=(c[N>>2]|0)+-16;if((Qa&8|0)!=0?(u=j+4|0,Qa=(c[u>>2]|0)+-1|0,c[u>>2]=Qa,(Qa|0)==0):0)qr(c[Ka>>2]|0,j)}}while(0);r=0;u=c[Ea>>2]|0}switch(za|0){case 27:{Cr(d,376,f);break}case 32:{mr(d,4153);break}case 36:{Cr(d,376,-1);break}case 38:{Cr(d,376,O);break}case 51:{mr(d,4153);break}case 55:{Cr(d,376,-1);break}case 57:{Cr(d,376,f);break}case 62:{Dr(d,342613,607);break}case 65:{mr(d,4153);break}case 67:{Cr(d,300,-1);break}case 69:{mr(d,4153);break}case 71:{Cr(d,376,K);break}case 73:{Cr(d,376,-2);break}case 81:{br(d,342583,50337495,342599);break}case 89:{mr(d,4153);break}case 91:{Cr(d,376,-1);break}case 93:{Cr(d,376,f);break}case 98:{Cr(d,376,O);break}case 102:{Cr(d,376,y);break}case 106:{mr(d,4153);break}case 108:{Cr(d,376,x);break}case 112:{br(d,342583,50337552,342599);break}case 121:{Cr(d,376,F);break}case 126:{mr(d,4153);break}case 129:{Cr(d,376,f);break}case 134:{if(!r)X=i;else X=(i&4|0)==0?i:i&-21|16;break}case 138:{Cr(d,376,f);break}case 145:{Cr(d,376,f);break}case 168:{mr(d,4604);break}case 174:{Cr(d,376,O);break}case 178:{nr(d,342613,782);break}case 190:break;case 192:{br(d,342613,16778003,342877);break}case 203:{Cr(d,376,y);break}case 207:break;case 223:{Cr(d,376,y);break}case 235:{o=c[(c[C>>2]|0)+364>>2]|0;i=c[Y+36>>2]|0;p=c[Y+24>>2]|0;q=c[Y+16>>2]|0;f:do if(i){n=q+(p*21|0)+(0-p&7)+(c[Y+32>>2]<<4)|0;k=i+-1|0;m=q+(p<<4)|0;i=0;j=c[o+12>>2]&k;g:while(1){g=c[n+(j<<2)>>2]|0;switch(g|0){case -1:{Q=i;R=19;S=j;break}case -2:{za=242;break}default:if((c[m+(g<<2)>>2]|0)==(o|0)){Q=g;R=1;S=j}else za=242}if((za|0)==242){za=0;Q=i;R=0;S=j+1&k}switch(R&31){case 0:{i=Q;j=S;break}case 19:{za=249;break g}default:break g}}if((za|0)==249){Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U)}if(!R){Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U)}else T=Q}else{i=q+(p<<4)|0;j=c[Y+28>>2]|0;if(!j){Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U)}else P=0;do{if((c[i+(P<<2)>>2]|0)==(o|0)){T=P;break f}P=P+1|0}while(P>>>0<j>>>0);Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U)}while(0);if((q+(T<<4)|0)==0?1:(a[q+(p*20|0)+T>>0]&8)!=0){Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U)}i=c[N>>2]|0;if(i>>>0<(c[Ja>>2]|0)>>>0){c[N>>2]=i+16;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];Qa=(c[V>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1;Qr(d)}else mr(d,4153);break}case 249:{Qa=Rr(d,t)|0;c[U>>2]=Qa;sr(d,342613,100664628,342889,U);break}case 250:{c[M>>2]=Rr(d,t)|0;sr(d,342613,100664642,342905,M);break}}h:do if(!(W&65536)){i=u+(O<<4)|0;switch(c[i>>2]|0){case 9:break h;case 3:case 2:break;default:{Mr(d,O);break h}}j=c[d+100>>2]|0;if(!j){c[i>>2]=2;break}else{c[i>>2]=9;c[u+(O<<4)+8>>2]=j;Qa=j+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1;break}}while(0);if((X&66|0)==2){Nr(d,f);G=Y;H=X|64}else{G=Y;H=X}}while(0);if(((((H&1|0)!=0?(da=c[d+72>>2]|0,(G|0)!=0):0)?(Z=c[G>>2]|0,(Z&2048|0)!=0):0)?(_=da+52|0,$=c[_>>2]|0,($&8|0)==0):0)?(aa=H&2,ba=H&32,(Z&131072|0)==0?($>>>2&1|$>>>4&2|0)==(aa>>>1|ba>>>4|0):0):0){wr(d);c[da+32>>2]=0;c[da+24>>2]=0;c[da+28>>2]=0;c[da+16>>2]=G;c[da+36>>2]=c[G+48>>2];c[da>>2]=9;c[da+8>>2]=G;i=G+4|0;c[i>>2]=(c[i>>2]|0)+1;c[_>>2]=2;c[_>>2]=ba|((c[G>>2]|0)>>>16&1|(aa<<1|2));c[da+40>>2]=Da;c[da+48>>2]=0;i=c[Ea>>2]|0;j=i+-16|0;k=i+(f<<4)+16|0;if(c[k>>2]&8|0){Qa=(c[k+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(c[j>>2]&8){i=c[i+-8>>2]|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];za=i+4|0;Qa=(c[za>>2]|0)+-1|0;c[za>>2]=Qa;if(!Qa)qr(c[Ka>>2]|0,i)}else{c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2]}j=c[Ea>>2]|0;k=j+(f+2<<4)|0;g=d+68|0;m=(c[g>>2]|0)-k|0;if((f|0)>-2){i=j;do{if(c[i>>2]&8|0?(ca=c[i+8>>2]|0,za=ca+4|0,Qa=(c[za>>2]|0)+-1|0,c[za>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,ca);i=i+16|0}while(i>>>0<k>>>0)}t6(j|0,k|0,m|0)|0;j=c[g>>2]|0;Qa=-2-f|0;k=j+(Qa<<4)|0;if((Qa|0)<0){i=k;do{c[i>>2]=2;i=i+16|0}while(i>>>0<j>>>0)}c[g>>2]=k;xa=e[G+60>>1]|0;na=0;ua=da;va=xa;wa=e[G+62>>1]|0;xa=Da+512+(xa<<4)|0;ta=G;ya=1;za=290}else{m=d+76|0;if((c[m>>2]|0)>>>0>=1e4)Sr(d);i=(c[Ka>>2]|0)+36|0;j=c[i>>2]|0;if(!j)j=Tr(d)|0;else c[i>>2]=c[j+20>>2];i=d+72|0;k=c[i>>2]|0;if(k|0)c[k+44>>2]=Da+(f<<4);c[j+20>>2]=k;c[i>>2]=j;c[m>>2]=(c[m>>2]|0)+1;c[j+32>>2]=0;i=j+52|0;k=H&16|(H&32|H<<1&4);c[i>>2]=k;c[j+16>>2]=G;n=(G|0)!=0;do if(n){c[j>>2]=9;c[j+8>>2]=G;m=c[G>>2]|0;if(m&65536|0)c[i>>2]=k|1;if(m&2048|0){i=e[G+60>>1]|0;m=i;g=e[G+62>>1]|0;k=Da+512|0;i=f+2+i<<4;break}Qa=b[G+44>>1]|0;i=Qa<<16>>16;if(Qa<<16>>16>-1){m=i;g=i;k=Da+1536|0;i=f+2+i<<4;break}else{m=i;g=i;k=(c[d+68>>2]|0)+1536|0;i=0-(c[Ia>>2]|0)|0;break}}else{c[i>>2]=k|1;i=c[Ea>>2]|0;Qa=i+(f<<4)|0;c[j>>2]=c[Qa>>2];c[j+4>>2]=c[Qa+4>>2];c[j+8>>2]=c[Qa+8>>2];c[j+12>>2]=c[Qa+12>>2];i=c[i+(f<<4)+4>>2]&15;if((i|0)==15){m=-1;g=-1;k=(c[d+68>>2]|0)+1536|0;i=0-(c[Ia>>2]|0)|0;break}else{m=i;g=i;k=Da+1536|0;i=f+2+i<<4;break}}while(0);i=k+i|0;c[j+24>>2]=0;c[j+28>>2]=0;c[j+36>>2]=0;c[j+40>>2]=(f<<4)+32+Da;c[j+48>>2]=0;if(n){na=G+4|0;c[na>>2]=(c[na>>2]|0)+1;na=f+2|0;ua=j;va=m;wa=g;xa=i;ta=G;ya=0;za=290}else{la=j;ha=m;ga=g;ea=i;ma=1;fa=0}}do if((za|0)==290){i=c[ta>>2]|0;if(!(i&262144)){ha=c[G+52>>2]|0;la=c[G+56>>2]|0;c[ua+28>>2]=ha;c[ua+24>>2]=la;ha=ha+4|0;c[ha>>2]=(c[ha>>2]|0)+1;la=la+4|0;c[la>>2]=(c[la>>2]|0)+1;la=ua;ha=va;ga=wa;ea=xa;ma=0;fa=ya;break}if(!(i&1048576)){la=ua;ha=va;ga=wa;ea=xa;ma=0;fa=ya}else{r=c[ua+40>>2]|0;i=c[G+52>>2]|0;if(!i)i=c[d+104>>2]|0;F=Or(d,52)|0;j=c[Ka>>2]|0;c[F>>2]=-2147483519;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=F;c[F+12>>2]=0;c[F+8>>2]=k;c[j>>2]=F;B=F;E=d+68|0;j=c[E>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=j+16;c[j>>2]=9;c[j+8>>2]=B;D=F+4|0;c[D>>2]=(c[D>>2]|0)+1;c[F+20>>2]=i;if(i|0){Qa=i+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}i:do if(c[ta>>2]&2048|0){o=c[(c[d+304>>2]|0)+380>>2]|0;i=c[G+36>>2]|0;p=c[G+24>>2]|0;q=c[G+16>>2]|0;j:do if(i){n=q+(p*21|0)+(0-p&7)+(c[G+32>>2]<<4)|0;k=i+-1|0;m=q+(p<<4)|0;i=0;j=c[o+12>>2]&k;k:while(1){g=c[n+(j<<2)>>2]|0;switch(g|0){case -1:{ia=i;ja=19;ka=j;break}case -2:{za=308;break}default:if((c[m+(g<<2)>>2]|0)==(o|0)){ia=g;ja=1;ka=j}else za=308}if((za|0)==308){za=0;ia=i;ja=0;ka=j+1&k}switch(ja&31){case 19:break i;case 0:{i=ia;j=ka;break}default:break k}}if(!ja)break i;else i=ia}else{j=q+(p<<4)|0;k=c[G+28>>2]|0;if(!k)break i;else i=0;while(1){if((c[j+(i<<2)>>2]|0)==(o|0))break j;i=i+1|0;if(i>>>0>=k>>>0)break i}}while(0);Qa=q+(i<<4)|0;if(!((Qa|0)==0?1:(a[q+(p*20|0)+i>>0]&8)!=0)?(c[Qa>>2]|0)==9:0){Qa=c[q+(i<<4)+8>>2]|0;c[F+44>>2]=Qa;Qa=Qa+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1;c[F+40>>2]=d;Qa=d+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1;c[F+48>>2]=r}}while(0);i=c[E>>2]|0;o=(i-(c[Ea>>2]|0)>>4)-na|0;n=o+-1|0;A=G;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=i+16;c[i>>2]=9;c[i+8>>2]=A;z=G+4|0;c[z>>2]=(c[z>>2]|0)+1;i=c[E>>2]|0;m=i-(c[Ea>>2]|0)|0;Qa=m>>4;g=Qa+-1|0;if(!Qa)Cr(d,300,-1);C=d+304|0;j=c[(c[C>>2]|0)+376>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=i+16;c[i>>2]=8;c[i+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[Ea>>2]|0;k=(c[E>>2]|0)-j>>4;i=((m|0)<16?k:0)+g|0;if(i>>>0>=k>>>0)Cr(d,376,g);Kr(d,j+(i<<4)|0,j+(k+-1<<4)|0)|0;j=c[Ea>>2]|0;k=(c[E>>2]|0)-j>>4;i=k+-2|0;if(k>>>0<=1)Cr(d,376,-2);la=j+(i<<4)|0;ma=j+(k+-1<<4)|0;Qa=c[la>>2]|0;i=c[j+(i<<4)+8>>2]|0;t6(la|0,la+16|0,ma-la|0)|0;c[ma>>2]=2;j=(c[E>>2]|0)+-16|0;c[E>>2]=j;if((Qa&8|0)!=0?(ma=i+4|0,Qa=(c[ma>>2]|0)+-1|0,c[ma>>2]=Qa,(Qa|0)==0):0){qr(c[Ka>>2]|0,i);j=c[E>>2]|0}k=c[Ea>>2]|0;i=j-k>>4;i=i|0?k+(i+-1<<4)|0:0;i=(i|0)==0?368:i;do if((c[i>>2]|0)==9){if(!(c[i+8>>2]|0)){w=0;break}w=Ur(d,-1)|0;k=c[Ea>>2]|0;j=c[E>>2]|0}else w=0;while(0);j=j-k>>4;i=j+-2|0;if(j>>>0<=1)Cr(d,376,-2);ma=k+(i<<4)|0;j=k+(j+-1<<4)|0;Qa=c[ma>>2]|0;i=c[k+(i<<4)+8>>2]|0;t6(ma|0,ma+16|0,j-ma|0)|0;c[j>>2]=2;j=(c[E>>2]|0)+-16|0;c[E>>2]=j;do if(Qa&8){ma=i+4|0;Qa=(c[ma>>2]|0)+-1|0;c[ma>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,i);j=c[E>>2]|0}while(0);i=j-(c[Ea>>2]|0)|0;if((i|0)<16)Cr(d,646,-1);g=i>>>4;u=g+-1|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4604);y=Or(d,40)|0;i=c[Ka>>2]|0;c[y>>2]=536920193;i=i+24|0;j=c[i>>2]|0;if(j|0)c[j+12>>2]=y;c[y+12>>2]=0;c[y+8>>2]=j;c[i>>2]=y;i=c[E>>2]|0;c[i>>2]=9;c[i+8>>2]=y;i=y+4|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[E>>2]|0)+16|0;c[E>>2]=i;j=c[d+112>>2]|0;c[y+20>>2]=j;if(j|0){Qa=j+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4604);i=Or(d,40)|0;j=c[Ka>>2]|0;c[i>>2]=134234241;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=k;c[j>>2]=i;Qa=c[E>>2]|0;c[Qa>>2]=9;c[Qa+8>>2]=i;Qa=i+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1;Qa=(c[E>>2]|0)+16|0;c[E>>2]=Qa;if(Qa>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4604);i=Or(d,40)|0;j=c[Ka>>2]|0;c[i>>2]=134234241;j=j+24|0;k=c[j>>2]|0;if(k|0)c[k+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=k;c[j>>2]=i;j=c[E>>2]|0;c[j>>2]=9;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[E>>2]|0;j=i+16|0;c[E>>2]=j;k=c[Ea>>2]|0;m=j-k|0;r=m>>4;x=r+-3|0;t=r+-2|0;r=r+-1|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4244);Qa=i+32|0;c[E>>2]=Qa;c[j>>2]=0;h[i+24>>3]=+(n|0);Qa=Qa-k>>4;v=(m|0)<48;i=(v?Qa:0)+x|0;i=i>>>0<Qa>>>0?k+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(d,2130,x,342926);i=c[i+8>>2]|0;if(!i)ar(d,2130,x,342926);yr(d,i,c[(c[C>>2]|0)+328>>2]|0,5);i=o+-2|0;l:do if((i|0)>-1){o=(g|0)==0;p=(m|0)<16;q=(m|0)<32;j=0;g=i;m:while(1){n=g+na|0;k=c[E>>2]|0;if(k>>>0>=(c[Ja>>2]|0)>>>0){za=359;break}m=c[Ea>>2]|0;Qa=k-m>>4;i=((n|0)<0?Qa:0)+n|0;if(i>>>0>=Qa>>>0){za=361;break}Qa=m+(i<<4)|0;c[E>>2]=k+16;c[k>>2]=c[Qa>>2];c[k+4>>2]=c[Qa+4>>2];c[k+8>>2]=c[Qa+8>>2];c[k+12>>2]=c[Qa+12>>2];if(c[k>>2]&8|0){Qa=(c[k+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}Qa=c[Ea>>2]|0;ma=(c[E>>2]|0)-Qa>>4;i=(v?ma:0)+x|0;i=i>>>0<ma>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){za=366;break}i=c[i+8>>2]|0;if(!i){za=366;break}Vr(d,i,g);do if((g|0)<(w|0)&(c[ta>>2]&65536|0)==0){k=c[E>>2]|0;i=c[Ea>>2]|0;Qa=k-i>>4;qa=(o?Qa:0)+u|0;m=i;if(qa>>>0>=Qa>>>0){za=369;break m}if(k>>>0>=(c[Ja>>2]|0)>>>0){za=371;break m}s=+(g>>>0);Qa=k+16|0;c[E>>2]=Qa;c[k>>2]=0;h[k+8>>3]=s;k=Qa-i>>4;i=((qa|0)<0?k:0)+qa|0;if(i>>>0>=k>>>0){za=373;break m}Kr(d,m+(i<<4)|0,m+(k+-1<<4)|0)|0;k=c[Ea>>2]|0;m=(c[E>>2]|0)-k>>4;i=m+-2|0;if(m>>>0<=1){za=375;break m}la=k+(i<<4)|0;ma=k+(m+-1<<4)|0;Qa=c[la>>2]|0;k=c[k+(i<<4)+8>>2]|0;t6(la|0,la+16|0,ma-la|0)|0;c[ma>>2]=2;i=(c[E>>2]|0)+-16|0;c[E>>2]=i;do if(Qa&8){ma=k+4|0;Qa=(c[ma>>2]|0)+-1|0;c[ma>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,k);i=c[E>>2]|0}while(0);if(i>>>0>=(c[Ja>>2]|0)>>>0){za=380;break m}if((i-(c[Ea>>2]|0)|0)<16){za=382;break m}Qa=i+-16|0;c[E>>2]=i+16;c[i>>2]=c[Qa>>2];c[i+4>>2]=c[Qa+4>>2];c[i+8>>2]=c[Qa+8>>2];c[i+12>>2]=c[Qa+12>>2];if(c[i>>2]&8|0){Qa=(c[i+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(!(Wr(d,r)|0)){i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0){za=387;break m}if((i-(c[Ea>>2]|0)|0)<16){za=389;break m}Qa=i+-16|0;c[E>>2]=i+16;c[i>>2]=c[Qa>>2];c[i+4>>2]=c[Qa+4>>2];c[i+8>>2]=c[Qa+8>>2];c[i+12>>2]=c[Qa+12>>2];if(c[i>>2]&8|0){Qa=(c[i+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0){za=393;break m}c[E>>2]=i+16;c[i>>2]=0;h[i+8>>3]=s;Xr(d,-1)|0;Qa=c[Ea>>2]|0;ma=(c[E>>2]|0)-Qa>>4;i=(p?ma:0)+r|0;i=i>>>0<ma>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){za=396;break m}j=c[i+8>>2]|0;if(!j){za=396;break m}Ir(d,-2,1);Qa=c[Ea>>2]|0;i=(c[E>>2]|0)-Qa>>4;i=i>>>0>1?Qa+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)==8?(ra=c[i+8>>2]|0,(ra|0)!=0):0)oa=ra;else za=399;do if((za|0)==399){za=0;Xr(d,-2)|0;Qa=c[Ea>>2]|0;i=(c[E>>2]|0)-Qa>>4;i=i>>>0>1?Qa+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=8){oa=0;break}oa=c[i+8>>2]|0}while(0);yr(d,j,oa,7);j=c[E>>2]|0;if((j|0)==(c[Ea>>2]|0)){za=402;break m}i=j+-16|0;c[E>>2]=i;Qa=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;do if(Qa&8){ma=j+4|0;Qa=(c[ma>>2]|0)+-1|0;c[ma>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,j);i=c[E>>2]|0}while(0);if(i>>>0>=(c[Ja>>2]|0)>>>0){za=407;break m}if((i-(c[Ea>>2]|0)|0)<16){za=409;break m}Qa=i+-16|0;c[E>>2]=i+16;c[i>>2]=c[Qa>>2];c[i+4>>2]=c[Qa+4>>2];c[i+8>>2]=c[Qa+8>>2];c[i+12>>2]=c[Qa+12>>2];if(c[i>>2]&8|0){Qa=(c[i+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}Qa=c[Ea>>2]|0;ma=(c[E>>2]|0)-Qa>>4;i=(q?ma:0)+t|0;i=i>>>0<ma>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9){za=414;break m}i=c[i+8>>2]|0;if(!i){za=414;break m}Vr(d,i,g);j=1}i=c[E>>2]|0;if((i|0)==(c[Ea>>2]|0)){za=417;break m}pa=i+-16|0;c[E>>2]=pa;Qa=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[pa>>2]=2;if(!(Qa&8)){pa=j;break}pa=i+4|0;Qa=(c[pa>>2]|0)+-1|0;c[pa>>2]=Qa;if(Qa|0){pa=j;break}qr(c[Ka>>2]|0,i);pa=j}else pa=j;while(0);if((g|0)>0){j=pa;g=g+-1|0}else{za=422;break}}switch(za|0){case 359:{mr(d,1093);break}case 361:{Cr(d,376,n);break}case 366:{ar(d,2130,x,342926);break}case 369:{Cr(d,300,u);break}case 371:{mr(d,4274);break}case 373:{Cr(d,376,qa);break}case 375:{Cr(d,376,-2);break}case 380:{mr(d,1111);break}case 382:{Cr(d,1114,-1);break}case 387:{mr(d,1111);break}case 389:{Cr(d,1114,-1);break}case 393:{mr(d,4274);break}case 396:{ar(d,2130,r,342926);break}case 402:{br(d,342583,50337407,342599);break}case 407:{mr(d,1111);break}case 409:{Cr(d,1114,-1);break}case 414:{ar(d,2130,t,342926);break}case 417:{br(d,342583,50337407,342599);break}case 422:{if(!pa){sa=0;break l}j=c[E>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,1093);k=c[Ea>>2]|0;Qa=j-k>>4;i=(q?Qa:0)+t|0;if(i>>>0>=Qa>>>0)Cr(d,376,t);Qa=k+(i<<4)|0;c[E>>2]=j+16;c[j>>2]=c[Qa>>2];c[j+4>>2]=c[Qa+4>>2];c[j+8>>2]=c[Qa+8>>2];c[j+12>>2]=c[Qa+12>>2];if(c[j>>2]&8|0){Qa=(c[j+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}Qa=c[Ea>>2]|0;ra=(c[E>>2]|0)-Qa>>4;i=(v?ra:0)+x|0;i=i>>>0<ra>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(d,2130,x,342926);i=c[i+8>>2]|0;if(!i)ar(d,2130,x,342926);yr(d,i,c[(c[C>>2]|0)+392>>2]|0,0);i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=i+16;c[i>>2]=9;c[i+8>>2]=B;c[D>>2]=(c[D>>2]|0)+1;Qa=c[Ea>>2]|0;ra=(c[E>>2]|0)-Qa>>4;i=(v?ra:0)+x|0;i=i>>>0<ra>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(d,2130,x,342926);i=c[i+8>>2]|0;if(!i)ar(d,2130,x,342926);else{yr(d,i,c[(c[C>>2]|0)+396>>2]|0,0);sa=1;break l}break}}}else sa=0;while(0);do if(!(c[ta>>2]&65536)){i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=i+16;c[i>>2]=9;c[i+8>>2]=A;c[z>>2]=(c[z>>2]|0)+1;Qa=c[Ea>>2]|0;ra=(c[E>>2]|0)-Qa>>4;i=(v?ra:0)+x|0;i=i>>>0<ra>>>0?Qa+(i<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(d,2130,x,342926);i=c[i+8>>2]|0;if(!i)ar(d,2130,x,342926);else{yr(d,i,c[(c[C>>2]|0)+272>>2]|0,5);break}}else{i=c[E>>2]|0;Qa=i-(c[Ea>>2]|0)>>4;k=(v?Qa:0)+x|0;if(k>>>0>=Qa>>>0)Cr(d,300,x);j=c[(c[C>>2]|0)+276>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=i+16;c[i>>2]=8;c[i+8>>2]=j;m=j+4|0;c[m>>2]=(c[m>>2]|0)+1;m=d+232|0;i=c[m>>2]|0;j=c[E>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=j+16;c[j>>2]=9;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,1111);if((i-(c[Ea>>2]|0)|0)<16)Cr(d,1114,-1);Qa=i+-16|0;c[E>>2]=i+16;c[i>>2]=c[Qa>>2];c[i+4>>2]=c[Qa+4>>2];c[i+8>>2]=c[Qa+8>>2];c[i+12>>2]=c[Qa+12>>2];if(c[i>>2]&8|0){Qa=(c[i+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}Yr(d,k,896);j=c[E>>2]|0;Qa=j-(c[Ea>>2]|0)>>4;k=(v?Qa:0)+x|0;if(k>>>0>=Qa>>>0)Cr(d,300,x);i=c[(c[C>>2]|0)+272>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[m>>2]|0;j=c[E>>2]|0;if(j>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4153);c[E>>2]=j+16;c[j>>2]=9;c[j+8>>2]=i;i=i+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[E>>2]|0;if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,1111);if((i-(c[Ea>>2]|0)|0)<16)Cr(d,1114,-1);Qa=i+-16|0;c[E>>2]=i+16;c[i>>2]=c[Qa>>2];c[i+4>>2]=c[Qa+4>>2];c[i+8>>2]=c[Qa+8>>2];c[i+12>>2]=c[Qa+12>>2];if(c[i>>2]&8|0){Qa=(c[i+8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}Yr(d,k,896)}while(0);if(sa)c[y>>2]=c[y>>2]|16777216;j=c[E>>2]|0;if((j+-32|0)>>>0<(c[Ea>>2]|0)>>>0)br(d,342583,50337495,342599);i=j+-16|0;c[E>>2]=i;Qa=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;do if(Qa&8){sa=j+4|0;Qa=(c[sa>>2]|0)+-1|0;c[sa>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,j);i=c[E>>2]|0}while(0);j=i+-16|0;c[E>>2]=j;Qa=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[j>>2]=2;do if(Qa&8){sa=i+4|0;Qa=(c[sa>>2]|0)+-1|0;c[sa>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,i);j=c[E>>2]|0}while(0);k=c[Ea>>2]|0;j=j-k>>4;i=j+-2|0;if(j>>>0<=1)Cr(d,376,-2);sa=k+(i<<4)|0;j=k+(j+-1<<4)|0;Qa=c[sa>>2]|0;i=c[k+(i<<4)+8>>2]|0;t6(sa|0,sa+16|0,j-sa|0)|0;c[j>>2]=2;j=(c[E>>2]|0)+-16|0;c[E>>2]=j;do if(Qa&8){sa=i+4|0;Qa=(c[sa>>2]|0)+-1|0;c[sa>>2]=Qa;if(Qa|0)break;qr(c[Ka>>2]|0,i);j=c[E>>2]|0}while(0);k=-33537277-((c[ta>>2]|0)>>>16&1)&3;Qa=c[Ea>>2]|0;i=j-Qa>>4;i=i>>>0>1?Qa+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(d,2130,-2,342926);i=c[i+8>>2]|0;if(!i)ar(d,2130,-2,342926);yr(d,i,c[(c[C>>2]|0)+268>>2]|0,k);c[ua+28>>2]=F;c[ua+24>>2]=F;c[D>>2]=(c[D>>2]|0)+2;i=c[E>>2]|0;if((i|0)==(c[Ea>>2]|0))br(d,342583,50337407,342599);ta=i+-16|0;c[E>>2]=ta;Qa=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[ta>>2]=2;if(!(Qa&8)){la=ua;ha=va;ga=wa;ea=xa;ma=0;fa=ya;break}ta=i+4|0;Qa=(c[ta>>2]|0)+-1|0;c[ta>>2]=Qa;if(Qa|0){la=ua;ha=va;ga=wa;ea=xa;ma=0;fa=ya;break}qr(c[Ka>>2]|0,i);la=ua;ha=va;ga=wa;ea=xa;ma=0;fa=ya}}while(0);i=c[Ia>>2]|0;j=i+ea|0;Qa=c[Ja>>2]|0;k=Qa;do if(Qa>>>0<j>>>0)if((c[d+60>>2]|0)>>>0<j>>>0){Er(d,ea,1)|0;j=c[Ja>>2]|0;i=c[Ia>>2]|0;break}else{c[Ja>>2]=j;break}else j=k;while(0);c[la+48>>2]=j-i;do if(fa){m=d+68|0;j=c[m>>2]|0;i=c[Ea>>2]|0;k=j-i>>4;if(ga>>>0<k>>>0){i=j+(ga-k<<4)|0;do{Qa=c[j+-16>>2]|0;k=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(Qa&8|0?(ya=k+4|0,Qa=(c[ya>>2]|0)+-1|0,c[ya>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,k)}while((j|0)!=(i|0));c[m>>2]=i;j=c[Ka>>2]|0;if(c[j+32>>2]|0){lr(j);i=c[m>>2]|0}}else{i=i+(ga<<4)|0;c[m>>2]=i}j=c[Ea>>2]|0;k=i-j>>4;if(ha>>>0>=k>>>0){c[m>>2]=j+(ha<<4);break}k=i+(ha-k<<4)|0;do{Qa=c[i+-16>>2]|0;j=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(Qa&8|0?(ya=j+4|0,Qa=(c[ya>>2]|0)+-1|0,c[ya>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,j)}while((i|0)!=(k|0));c[m>>2]=k;i=c[Ka>>2]|0;if(c[i+32>>2]|0)lr(i)}else{do if((ha|0)>-1){i=f+2|0;g=ha+i|0;i=ga+i|0;n=d+68|0;j=c[n>>2]|0;k=c[Ea>>2]|0;m=j-k>>4;if(i>>>0<m>>>0){i=j+(i-m<<4)|0;do{Qa=c[j+-16>>2]|0;k=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(Qa&8|0?(ya=k+4|0,Qa=(c[ya>>2]|0)+-1|0,c[ya>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,k)}while((j|0)!=(i|0));c[n>>2]=i;j=c[Ka>>2]|0;if(c[j+32>>2]|0){lr(j);i=c[n>>2]|0}}else{i=k+(i<<4)|0;c[n>>2]=i}j=c[Ea>>2]|0;k=i-j>>4;if(g>>>0>=k>>>0){c[n>>2]=j+(g<<4);break}k=i+(g-k<<4)|0;do{Qa=c[i+-16>>2]|0;j=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(Qa&8|0?(ya=j+4|0,Qa=(c[ya>>2]|0)+-1|0,c[ya>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,j)}while((i|0)!=(k|0));c[n>>2]=k;i=c[Ka>>2]|0;if(c[i+32>>2]|0)lr(i)}while(0);c[Ea>>2]=(c[Ea>>2]|0)+(f<<4)+32}while(0);do if(!ma?(c[G>>2]&2048|0)!=0:0){c[la+36>>2]=c[G+48>>2];if(!(H&8)){i=la+52|0;c[i>>2]=c[i>>2]|8;i=d+80|0;c[i>>2]=(c[i>>2]|0)+1;i=c[Ka>>2]|0;j=c[i+140>>2]|0;if((j|0)>=(c[i+144>>2]|0)){tr(d);j=c[Ka>>2]|0;i=j;j=c[j+140>>2]|0}c[i+140>>2]=j+1;Zr(d);break}i=c[Ka>>2]|0;if(!(c[i+32>>2]|0)){Qa=1;l=Pa;return Qa|0}lr(i);Qa=1;l=Pa;return Qa|0}else za=545;while(0);n:do if((za|0)==545){i=la+52|0;c[i>>2]=c[i>>2]|8;i=d+80|0;c[i>>2]=(c[i>>2]|0)+1;i=c[Ka>>2]|0;j=c[i+140>>2]|0;if((j|0)>=(c[i+144>>2]|0)){tr(d);j=c[Ka>>2]|0;i=j;j=c[j+140>>2]|0}c[i+140>>2]=j+1;if(ma)i=Rh[c[la+8>>2]&511](d)|0;else i=Rh[c[G+40>>2]&511](d)|0;switch(i|0){case 1:break n;case 0:{Qa=d+68|0;c[Qa>>2]=(c[Qa>>2]|0)+16;break n}default:{}}if((i|0)<0)ur(d,i);else br(d,342613,100665534,342654)}while(0);g=d+68|0;o:do if(H&34|0){j=c[g>>2]|0;i=c[Ea>>2]|0;Qa=j-i>>4;Qa=Qa|0?i+(Qa+-1<<4)|0:0;if(447>>>(c[((Qa|0)==0?368:Qa)>>2]|0)&1|0){if(H&32|0)_r(d,342613,507);if((j|0)==(i|0))br(d,342583,50337407,342599);i=j+-16|0;c[g>>2]=i;Qa=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;if((Qa&8|0)!=0?(za=j+4|0,Qa=(c[za>>2]|0)+-1|0,c[za>>2]=Qa,(Qa|0)==0):0){qr(c[Ka>>2]|0,j);i=c[g>>2]|0}if(i>>>0>=(c[Ja>>2]|0)>>>0)mr(d,4361);c[g>>2]=i+16;if(c[d+72>>2]|0?(Aa=c[Ea>>2]|0,Qa=Aa+-16|0,c[i>>2]=c[Qa>>2],c[i+4>>2]=c[Qa+4>>2],c[i+8>>2]=c[Qa+8>>2],c[i+12>>2]=c[Qa+12>>2],c[Qa>>2]&8|0):0){Qa=(c[Aa+-8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}}Qa=c[Ea>>2]|0;i=(c[g>>2]|0)-Qa>>4;i=i|0?Qa+(i+-1<<4)|0:0;i=(i|0)==0?368:i;if(((c[i>>2]|0)==9?(Ba=c[i+8>>2]|0,Ba|0):0)?(Ca=c[d+180>>2]|0,Ca|0):0){i=1e4;j=Ba;while(1){if((j|0)==(Ca|0))break;if(!i)break o;j=c[j+20>>2]|0;if(!j)break o;else i=i+-1|0}if(c[Ba>>2]&128|0)$r(d,d,0,0,Ba,3);as(d,104)}}while(0);wr(d);i=d+72|0;k=c[i>>2]|0;j=k+20|0;c[i>>2]=c[j>>2];i=d+76|0;c[i>>2]=(c[i>>2]|0)+-1;i=(c[Ka>>2]|0)+36|0;c[j>>2]=c[i>>2];c[i>>2]=k;i=(c[Ia>>2]|0)+Da|0;c[Ea>>2]=i;k=i+(f<<4)|0;j=c[g>>2]|0;m=j+-16|0;if(c[m>>2]&8|0){Qa=(c[j+-8>>2]|0)+4|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(c[k>>2]&8){i=c[i+(f<<4)+8>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];Da=i+4|0;Qa=(c[Da>>2]|0)+-1|0;c[Da>>2]=Qa;if(!Qa)qr(c[Ka>>2]|0,i)}else{c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=f+1|0;i=c[g>>2]|0;j=c[Ea>>2]|0;k=i-j>>4;if(m>>>0<k>>>0){k=i+(m-k<<4)|0;do{Qa=c[i+-16>>2]|0;j=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(Qa&8|0?(Ea=j+4|0,Qa=(c[Ea>>2]|0)+-1|0,c[Ea>>2]=Qa,(Qa|0)==0):0)vr(c[Ka>>2]|0,j)}while((i|0)!=(k|0));c[g>>2]=k;i=c[Ka>>2]|0;if(c[i+32>>2]|0)lr(i)}else c[g>>2]=j+(m<<4);c[Ja>>2]=(c[Ia>>2]|0)+Fa;c[Ga>>2]=Ha;i=c[Ka>>2]|0;k=i+132|0;if(Ma){i=c[k>>2]|0;if(!i){j=0;i=0}else{j=c[i+96>>2]|0;i=c[i+92>>2]|0}c[Ma+92>>2]=i;c[Ma+96>>2]=j;i=c[Ka>>2]|0}c[k>>2]=Ma;a[Na>>0]=Oa;c[i+140>>2]=La;if(!(c[i+32>>2]|0)){Qa=0;l=Pa;return Qa|0}lr(i);Qa=0;l=Pa;return Qa|0}function Mr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+68|0;f=c[n>>2]|0;l=a+64|0;e=c[l>>2]|0;k=f-e>>4;m=((d|0)<0?k:0)+d|0;if(m>>>0>=k>>>0)Cr(a,300,d);a:do switch(c[e+(m<<4)>>2]|0){case 3:case 2:{br(a,342583,100666814,343776);break}case 4:{d=671105153;j=12;i=26;break}case 8:{j=(c[c[e+(m<<4)+8>>2]>>2]&512|0)==0;d=j?1619017857:1879064705;j=j?10:38;i=26;break}case 10:{d=c[e+(m<<4)+8>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[n>>2]=f+16;c[f>>2]=10;c[f+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;st(a,c[d+16>>2]|0);e=c[l>>2]|0;f=(c[n>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);g=e+(d<<4)|0;j=e+(f+-1<<4)|0;k=c[g>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(g|0,g+16|0,j-g|0)|0;c[j>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(k&8|0?(j=d+4|0,k=(c[j>>2]|0)+-1|0,c[j>>2]=k,(k|0)==0):0)qr(c[a+44>>2]|0,d);break}case 5:{d=-2013249407;j=36;i=26;break}case 6:{g=c[e+(m<<4)+4>>2]|0;f=c[e+(m<<4)+8>>2]|0;k=g&15;k=(k|0)==15?-1:k;tt(a,f,k,403133312,6);d=g>>>4&15;do if((d|0)!=(k|0)){e=c[n>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4244);j=e+16|0;c[n>>2]=j;c[e>>2]=0;h[e+8>>3]=+(d|0);k=c[l>>2]|0;d=j-k>>4;d=d>>>0>1?k+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,-2,342926);else{yr(a,d,c[(c[a+304>>2]|0)+328>>2]|0,0);break}}while(0);ut(a,f,g);k=c[l>>2]|0;d=(c[n>>2]|0)-k>>4;d=d>>>0>1?k+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,-2,342926);else{yr(a,d,c[(c[a+304>>2]|0)+352>>2]|0,4);b[(c[(c[n>>2]|0)+-8>>2]|0)+46>>1]=(g>>>8&255)<<24>>24;break a}break}case 9:return;default:{d=1342193793;j=14;i=26}}while(0);do if((i|0)==26){k=a+56|0;if(f>>>0>=(c[k>>2]|0)>>>0)mr(a,4604);i=Or(a,40)|0;e=c[a+44>>2]|0;c[i>>2]=d;d=e+24|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=i;c[i+12>>2]=0;c[i+8>>2]=e;c[d>>2]=i;f=c[n>>2]|0;c[f>>2]=9;c[f+8>>2]=i;f=i+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[n>>2]|0;g=f+16|0;c[n>>2]=g;d=c[a+100+(j<<2)>>2]|0;c[i+20>>2]=d;if(d|0){j=d+4|0;c[j>>2]=(c[j>>2]|0)+1}if(g>>>0>=(c[k>>2]|0)>>>0)mr(a,1093);e=c[l>>2]|0;k=g-e>>4;d=((m|0)<0?k:0)+m|0;if(d>>>0>=k>>>0)Cr(a,376,m);k=e+(d<<4)|0;c[n>>2]=f+32;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];if(c[g>>2]&8|0){k=(c[f+24>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}k=c[l>>2]|0;d=(c[n>>2]|0)-k>>4;d=d>>>0>1?k+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=9)ar(a,2130,-2,342926);d=c[d+8>>2]|0;if(!d)ar(a,2130,-2,342926);else{yr(a,d,c[(c[a+304>>2]|0)+404>>2]|0,0);break}}while(0);e=c[l>>2]|0;f=(c[n>>2]|0)-e>>4;if(!f)Cr(a,376,-1);g=e+(f+-1<<4)|0;d=((m|0)<0?f:0)+m|0;if(d>>>0>=f>>>0)Cr(a,376,m);l=e+(d<<4)|0;m=c[l>>2]|0;d=c[e+(d<<4)+8>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];c[g>>2]=2;c[n>>2]=(c[n>>2]|0)+-16;if(!(m&8))return;m=d+4|0;n=(c[m>>2]|0)+-1|0;c[m>>2]=n;if(n|0)return;qr(c[a+44>>2]|0,d);return}function Nr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=b<<16;d=g>>16;k=a+68|0;e=c[k>>2]|0;j=a+64|0;f=e-(c[j>>2]|0)>>4;g=((g|0)<0?f:0)+d|0;if(g>>>0>=f>>>0)Cr(a,300,d);d=c[(c[a+304>>2]|0)+200>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[k>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[j>>2]|0;f=(c[k>>2]|0)-e>>4;d=((g|0)<0?f:0)+g|0;if(d>>>0>=f>>>0)Cr(a,376,g);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[j>>2]|0;f=(c[k>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);l=e+(d<<4)|0;f=e+(f+-1<<4)|0;g=c[l>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(l|0,l+16|0,f-l|0)|0;c[f>>2]=2;e=(c[k>>2]|0)+-16|0;c[k>>2]=e;if((g&8|0)!=0?(g=d+4|0,l=(c[g>>2]|0)+-1|0,c[g>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,d);e=c[k>>2]|0}d=c[j>>2]|0;f=e-d>>4;f=f|0?d+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((((c[f>>2]|0)==9?(h=c[f+8>>2]|0,(h|0)!=0):0)?(l=(c[(c[((b|0)<-1?k:j)>>2]|0)+(b+1<<4)+8>>2]|0)+20|0,i=c[l>>2]|0,c[l>>2]=h,l=h+4|0,c[l>>2]=(c[l>>2]|0)+1,(i|0)!=0):0)?(h=i+4|0,l=(c[h>>2]|0)+-1|0,c[h>>2]=l,(l|0)==0):0){Ms(c[a+44>>2]|0,i);e=c[k>>2]|0;d=c[j>>2]|0}if((e|0)==(d|0))br(a,342583,50337407,342599);j=e+-16|0;c[k>>2]=j;l=c[e+-16>>2]|0;d=c[e+-8>>2]|0;c[j>>2]=2;if(!(l&8))return;k=d+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0)return;qr(c[a+44>>2]|0,d);return}function Or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=c[a+44>>2]|0;g=f+44|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<1)dr(f,2);g=f+4|0;e=f+16|0;d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;h=(b|0)==0;if(h|(d|0)!=0){if(d|0)i=7}else{dr(f,0);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,0);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(!d){dr(f,1);d=Sh[c[g>>2]&255](c[e>>2]|0,b)|0;if(d|0)i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}if((i|0)==7){u6(d|0,0,b|0)|0;i=d;return i|0}if(h){i=0;return i|0}else er(a,343443,156);return 0}function Pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+68|0;f=c[m>>2]|0;l=a+64|0;e=c[l>>2]|0;j=f-e>>4;i=(b|0)<0;d=(i?j:0)+b|0;if(d>>>0>=j>>>0)Cr(a,376,b);switch(c[e+(d<<4)>>2]|0){case 9:{j=c[e+(d<<4)+8>>2]|0;if(c[j>>2]&4194304|0?(g=j+40|0,k=c[g>>2]|0,h=j+32|0,k>>>0<=(c[h>>2]|0)>>>0):0){if((k|0)<0)br(a,342583,50337693,343761);e=c[a+52>>2]|0;d=((k>>>0<1e6?k:1e6)<<4)+512+(f-e)|0;e=e+d|0;f=a+56|0;do if((c[f>>2]|0)>>>0<e>>>0)if((c[a+60>>2]|0)>>>0<e>>>0){Er(a,d,1)|0;d=c[g>>2]|0;break}else{c[f>>2]=e;d=k;break}else d=k;while(0);if((k|0)==(d|0)?k>>>0<=(c[h>>2]|0)>>>0:0){e=c[j+24>>2]|0;d=c[m>>2]|0;if(k){g=d;e=(c[j+16>>2]|0)+(e*21|0)+(0-e&7)|0;f=k;while(1){f=f+-1|0;if((c[e>>2]|0)!=7?(c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[g>>2]&8|0):0){a=(c[g+8>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1}if(!f)break;else{g=g+16|0;e=e+16|0}}d=d+(k<<4)|0}c[m>>2]=d;return}}d=c[m>>2]|0;k=d-(c[l>>2]|0)>>4;h=(i?k:0)+b|0;h=h>>>0<k>>>0?h:-2147483648;g=((h|0)<0?k:0)+h|0;if(g>>>0>=k>>>0)Cr(a,300,h);e=c[(c[a+304>>2]|0)+328>>2]|0;b=a+56|0;if(d>>>0>=(c[b>>2]|0)>>>0)mr(a,4153);c[m>>2]=d+16;c[d>>2]=8;c[d+8>>2]=e;e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[l>>2]|0;f=(c[m>>2]|0)-e>>4;d=((g|0)<0?f:0)+g|0;if(d>>>0>=f>>>0)Cr(a,376,g);Kr(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;e=c[l>>2]|0;f=(c[m>>2]|0)-e>>4;d=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);j=e+(d<<4)|0;k=e+(f+-1<<4)|0;l=c[j>>2]|0;d=c[e+(d<<4)+8>>2]|0;t6(j|0,j+16|0,k-j|0)|0;c[k>>2]=2;c[m>>2]=(c[m>>2]|0)+-16;if(l&8|0?(k=d+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,d);f=rt(a,-1)|0;if((f|0)<0)br(a,342583,50337693,343761);e=c[m>>2]|0;d=e+-16|0;c[m>>2]=d;l=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[d>>2]=2;if((l&8|0)!=0?(k=e+4|0,l=(c[k>>2]|0)+-1|0,c[k>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,e);d=c[m>>2]|0}e=c[a+52>>2]|0;d=((f>>>0<1e6?f:1e6)<<4)+512+(d-e)|0;e=e+d|0;do if((c[b>>2]|0)>>>0<e>>>0)if((c[a+60>>2]|0)>>>0<e>>>0){Er(a,d,1)|0;break}else{c[b>>2]=e;break}while(0);if(!f)return;else d=0;do{et(a,h,d)|0;d=d+1|0}while((d|0)!=(f|0));return}case 3:case 2:return;default:nr(a,342583,6041)}}function Qr(a){a=a|0;var b=0,d=0,e=0;b=a+68|0;if((c[b>>2]|0)==(c[a+64>>2]|0))nr(a,342583,6062);d=a+40|0;e=c[d>>2]|0;if(e|0){c[(c[a+72>>2]|0)+36>>2]=c[e>>2];c[d>>2]=0}Ws(a);Xs(c[a+44>>2]|0,1,(c[b>>2]|0)+-16|0);xs(a)}function Rr(a,b){a=a|0;b=b|0;return ys(a,b,0)|0}function Sr(a){a=a|0;if(c[(c[a+44>>2]|0)+76>>2]|0?(c[a+76>>2]|0)>>>0<10012:0)return;br(a,342613,50331742,343745)}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+44>>2]|0;e=d+44|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)<1)dr(d,2);e=d+4|0;f=d+16|0;b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,0);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,0);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(b|0){a=b;return a|0}dr(d,1);b=Sh[c[e>>2]&255](c[f>>2]|0,56)|0;if(!b)er(a,343443,144);else{a=b;return a|0}return 0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=a+68|0;g=c[k>>2]|0;j=a+64|0;d=c[j>>2]|0;e=g-d>>4;i=((b|0)<0?e:0)+b|0;e=i>>>0<e>>>0;d=e?d+(i<<4)|0:0;d=(d|0)==0?368:d;switch(c[d>>2]|0){case 9:{a=qt(a,c[d+8>>2]|0)|0;return a|0}case 6:{if(!e)Cr(a,300,b);d=c[(c[a+304>>2]|0)+328>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[k>>2]=g+16;c[g>>2]=8;c[g+8>>2]=d;b=d+4|0;c[b>>2]=(c[b>>2]|0)+1;b=c[j>>2]|0;e=(c[k>>2]|0)-b>>4;d=((i|0)<0?e:0)+i|0;if(d>>>0>=e>>>0)Cr(a,376,i);Kr(a,b+(d<<4)|0,b+(e+-1<<4)|0)|0;b=c[j>>2]|0;e=(c[k>>2]|0)-b>>4;d=e+-2|0;if(e>>>0<=1)Cr(a,376,-2);l=b+(d<<4)|0;g=b+(e+-1<<4)|0;i=c[l>>2]|0;d=c[b+(d<<4)+8>>2]|0;t6(l|0,l+16|0,g-l|0)|0;c[g>>2]=2;b=(c[k>>2]|0)+-16|0;c[k>>2]=b;if((i&8|0)!=0?(i=d+4|0,l=(c[i>>2]|0)+-1|0,c[i>>2]=l,(l|0)==0):0){qr(c[a+44>>2]|0,d);b=c[k>>2]|0}d=c[j>>2]|0;l=b-d>>4;b=l+-1|0;if(!l)Cr(a,300,-1);f=+Ar(a,d+(b<<4)|0);j=c[j>>2]|0;i=j+(b<<4)|0;l=c[i>>2]|0;j=j+(b<<4)+8|0;d=c[j>>2]|0;c[i>>2]=0;h[j>>3]=f;if(l&8|0?(j=d+4|0,l=(c[j>>2]|0)+-1|0,c[j>>2]=l,(l|0)==0):0)qr(c[a+44>>2]|0,d);b=~~f>>>0;d=c[k>>2]|0;j=d+-16|0;c[k>>2]=j;l=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[j>>2]=2;if(!(l&8)){l=b;return l|0}k=d+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0){l=b;return l|0}qr(c[a+44>>2]|0,d);l=b;return l|0}case 10:{l=c[(c[d+8>>2]|0)+16>>2]|0;return l|0}case 8:{d=c[d+8>>2]|0;if(c[d>>2]&512|0){l=0;return l|0}l=gs(d)|0;return l|0}default:{l=0;return l|0}}return 0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;if(!((d|0)!=-1&(c[b>>2]&32768|0)!=0)){m=a+68|0;e=c[m>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4274);c[m>>2]=e+16;c[e>>2]=0;h[e+8>>3]=+(d>>>0);Xr(a,-1)|0;f=c[a+64>>2]|0;g=(c[m>>2]|0)-f>>4;j=f+(g+-1<<4)|0;e=g|0?j:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8)i=c[e+8>>2]|0;else i=0;if(g>>>0<=1)Cr(a,376,-2);e=f+(g+-2<<4)|0;f=j-e|0;if(f|0){c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];t6(e+16|0,e|0,f|0)|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2]}yr(a,b,i,7);e=c[m>>2]|0;b=e+-16|0;c[m>>2]=b;d=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if(!(d&8)){l=n;return}b=e+4|0;d=(c[b>>2]|0)+-1|0;c[b>>2]=d;if(d|0){l=n;return}qr(c[a+44>>2]|0,e);l=n;return}if((c[b+32>>2]|0)>>>0>d>>>0)e=b+24|0;else{e=b+24|0;Br(a,b,c[e>>2]|0,((d+16|0)>>>3)+d|0,c[b+36>>2]|0,0)}f=c[e>>2]|0;f=(c[b+16>>2]|0)+(f*21|0)+(0-f&7)|0;j=f+(d<<4)|0;k=a+68|0;g=c[a+64>>2]|0;e=(c[k>>2]|0)-g>>4;if(!e)Cr(a,376,-1);e=e+-1|0;i=g+(e<<4)|0;if(c[i>>2]&8|0){b=(c[g+(e<<4)+8>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1}if(c[j>>2]&8){e=c[f+(d<<4)+8>>2]|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];b=e+4|0;d=(c[b>>2]|0)+-1|0;c[b>>2]=d;if(!d)qr(c[a+44>>2]|0,e)}else{c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2]}e=c[k>>2]|0;b=e+-16|0;c[k>>2]=b;d=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if(!(d&8)){l=n;return}b=e+4|0;d=(c[b>>2]|0)+-1|0;c[b>>2]=d;if(d|0){l=n;return}qr(c[a+44>>2]|0,e);l=n;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+68|0;h=a+64|0;e=c[h>>2]|0;f=(c[g>>2]|0)-e>>4;d=((b|0)<0?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);b=os(a,e+(d<<4)|0,e+(f+-1<<4)|0)|0;d=c[g>>2]|0;if((d|0)==(c[h>>2]|0))br(a,342583,50337407,342599);f=d+-16|0;c[g>>2]=f;h=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[f>>2]=2;if(!(h&8))return b|0;g=d+4|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(h|0)return b|0;qr(c[a+44>>2]|0,d);return b|0}function Xr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;u=z+72|0;r=z+8|0;h=z;w=b+68|0;g=c[w>>2]|0;x=b+64|0;i=c[x>>2]|0;q=g-i>>4;y=((d|0)<0?q:0)+d|0;j=g;if(y>>>0>=q>>>0)Cr(b,300,d);d=i+(y<<4)|0;f=c[d>>2]|0;a:do switch(f|0){case 2:{d=c[(c[b+304>>2]|0)+232>>2]|0;if(j>>>0<(c[b+56>>2]|0)>>>0){c[w>>2]=j+16;c[j>>2]=8;c[j+8>>2]=d;v=d+4|0;c[v>>2]=(c[v>>2]|0)+1;v=45;break a}else mr(b,4153);break}case 3:{d=c[(c[b+304>>2]|0)+600>>2]|0;if(j>>>0<(c[b+56>>2]|0)>>>0){c[w>>2]=j+16;c[j>>2]=8;c[j+8>>2]=d;v=d+4|0;c[v>>2]=(c[v>>2]|0)+1;v=45;break a}else mr(b,4153);break}case 4:{d=c[b+304>>2]|0;if(!(c[i+(y<<4)+8>>2]|0)){d=c[d+608>>2]|0;if(j>>>0<(c[b+56>>2]|0)>>>0){c[w>>2]=j+16;c[j>>2]=8;c[j+8>>2]=d;v=d+4|0;c[v>>2]=(c[v>>2]|0)+1;v=45;break a}else mr(b,4153)}else{d=c[d+604>>2]|0;if(j>>>0<(c[b+56>>2]|0)>>>0){c[w>>2]=j+16;c[j>>2]=8;c[j+8>>2]=d;v=d+4|0;c[v>>2]=(c[v>>2]|0)+1;v=45;break a}else mr(b,4153)}break}case 8:{if(!(c[c[i+(y<<4)+8>>2]>>2]&512))e=g;else br(b,342583,100666535,343670);break}case 9:case 10:{Ir(b,y,1);b=Xr(b,y)|0;l=z;return b|0}case 5:{d=c[i+(y<<4)+8>>2]|0;if(d|0){c[h>>2]=d;cs(b,354471,h);v=45;break a}d=c[(c[b+304>>2]|0)+600>>2]|0;if(j>>>0<(c[b+56>>2]|0)>>>0){c[w>>2]=j+16;c[j>>2]=8;c[j+8>>2]=d;v=d+4|0;c[v>>2]=(c[v>>2]|0)+1;v=45;break a}else mr(b,4153);break}case 6:{p=c[i+(y<<4)+4>>2]|0;q=b+56|0;if(j>>>0>=(c[q>>2]|0)>>>0)mr(b,4300);m=c[i+(y<<4)+8>>2]|0;d=fs(b,343698,9)|0;f=c[w>>2]|0;c[w>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;cs(b,343708,r);d=a[342756+(m>>>28)>>0]|0;a[r>>0]=d;f=a[342756+(m>>>24&15)>>0]|0;a[r+1>>0]=f;g=a[342756+(m>>>20&15)>>0]|0;a[r+2>>0]=g;h=a[342756+(m>>>16&15)>>0]|0;a[r+3>>0]=h;i=a[342756+(m>>>12&15)>>0]|0;a[r+4>>0]=i;j=a[342756+(m>>>8&15)>>0]|0;a[r+5>>0]=j;k=a[342756+(m>>>4&15)>>0]|0;a[r+6>>0]=k;m=a[342756+(m&15)>>0]|0;a[r+7>>0]=m;n=c[w>>2]|0;if(n>>>0>=(c[q>>2]|0)>>>0)mr(b,4300);o=c[b+44>>2]|0;f=(d&255)+(((f&255)+(((g&255)+(((h&255)+(((i&255)+(((j&255)+(((k&255)+(((m&255)+((c[o+148>>2]^8)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0)*33|0)|0;d=c[(c[o+176>>2]|0)+((c[o+180>>2]&f)<<2)>>2]|0;b:do if(!d)v=34;else while(1){if(((c[d+12>>2]|0)==(f|0)?(c[d+20>>2]|0)==8:0)?(f3(r,d+28|0,8)|0)==0:0){s=d;t=n;break b}d=c[d+8>>2]|0;if(!d){v=34;break}}while(0);do if((v|0)==34){d=Gr(o,r,8,f)|0;if(!d)er(b,342961,803);else{s=d;t=c[w>>2]|0;break}}while(0);c[w>>2]=t+16;c[t>>2]=8;c[t+8>>2]=s;t=s+4|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=p;cs(b,343715,u);ds(b,3,0);if((c[w>>2]|0)>>>0<(c[q>>2]|0)>>>0){v=fs(b,343721,23)|0;u=c[w>>2]|0;c[w>>2]=u+16;c[u>>2]=8;c[u+8>>2]=v;v=v+4|0;c[v>>2]=(c[v>>2]|0)+1;ds(b,3,0);v=45;break a}else mr(b,4300);break}default:{if(j>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[w>>2]=j+16;v=g;c[v>>2]=c[d>>2];c[v+4>>2]=c[d+4>>2];c[v+8>>2]=c[d+8>>2];c[v+12>>2]=c[d+12>>2];if(f&8|0){v=(c[i+(y<<4)+8>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1}kt(b,10,0,0);v=45}}while(0);if((v|0)==45){d=c[x>>2]|0;f=(c[w>>2]|0)-d>>4;if(!f)Cr(b,376,-1);g=d+(f+-1<<4)|0;e=((y|0)<0?f:0)+y|0;if(e>>>0>=f>>>0)Cr(b,376,y);u=d+(e<<4)|0;v=c[u>>2]|0;d=c[d+(e<<4)+8>>2]|0;c[u>>2]=c[g>>2];c[u+4>>2]=c[g+4>>2];c[u+8>>2]=c[g+8>>2];c[u+12>>2]=c[g+12>>2];c[g>>2]=2;e=(c[w>>2]|0)+-16|0;c[w>>2]=e;if((v&8|0)!=0?(u=d+4|0,v=(c[u>>2]|0)+-1|0,c[u>>2]=v,(v|0)==0):0){qr(c[b+44>>2]|0,d);e=c[w>>2]|0}}x=c[x>>2]|0;w=e-x>>4;e=((y|0)<0?w:0)+y|0;e=e>>>0<w>>>0?x+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=8)ar(b,2101,y,361511);e=c[e+8>>2]|0;if(!e)ar(b,2101,y,361511);b=e+28|0;l=z;return b|0}function Yr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+68|0;p=a+64|0;h=c[p>>2]|0;f=(c[n>>2]|0)-h|0;i=f>>4;e=((b|0)<0?i:0)+b|0;e=e>>>0<i>>>0?h+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=9)ar(a,2130,b,342926);q=c[e+8>>2]|0;if(!q)ar(a,2130,b,342926);if((d&72|0)!=0&(d&384|0)!=0)br(a,343621,100663809,343638);e=(f|0)<16?-2147483648:i+-1|0;if(!(d&256))m=0;else{g=(e|0)<0;b=(g?i:0)+e|0;b=b>>>0<i>>>0?h+(b<<4)|0:0;b=(b|0)==0?368:b;f=c[b>>2]|0;if(1467>>>f&1|0)br(a,342583,100667121,343529);switch(f|0){case 9:{b=c[b+8>>2]|0;if(!b)j=0;else l=11;break}case 6:{Mr(a,e);b=c[(c[(g?n:p)>>2]|0)+(e<<4)+8>>2]|0;if(!b)j=0;else l=11;break}default:j=0}if((l|0)==11)if(!(c[b>>2]&512))br(a,343621,100663813,343657);else j=b;e=e+-1|0;m=j}if(!(d&128))k=0;else{f=c[p>>2]|0;j=(c[n>>2]|0)-f>>4;g=(e|0)<0;b=(g?j:0)+e|0;b=b>>>0<j>>>0?f+(b<<4)|0:0;b=(b|0)==0?368:b;f=c[b>>2]|0;if(1467>>>f&1|0)br(a,342583,100667121,343529);switch(f|0){case 9:{b=c[b+8>>2]|0;if(!b)k=0;else l=19;break}case 6:{Mr(a,e);b=c[(c[(g?n:p)>>2]|0)+(e<<4)+8>>2]|0;if(!b)k=0;else l=19;break}default:k=0}if((l|0)==19)if(!(c[b>>2]&512))br(a,343621,100663813,343657);else k=b;e=e+-1|0}h=(d&64|0)==0;j=h?-1:e;h=e+((h^1)<<31>>31)|0;Ir(a,h,1);b=c[n>>2]|0;l=c[p>>2]|0;e=l;g=b-e>>4;i=(h|0)<0;f=(i?g:0)+h|0;f=f>>>0<g>>>0?l+(f<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8?(o=c[f+8>>2]|0,(o|0)!=0):0)g=o;else{Xr(a,h)|0;b=c[n>>2]|0;p=c[p>>2]|0;f=p;o=b-f>>4;e=(i?o:0)+h|0;e=e>>>0<o>>>0?p+(e<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)==8){g=c[e+8>>2]|0;e=f}else{g=0;e=f}}p=b-e>>4;o=(i?p:0)+h|0;if((o|0)<0|o>>>0>=p>>>0)Cr(a,394,h);else{Ys(a,d,q,g,j,k,m,1)|0;Zs(a,h);return}}function Zr(b){b=b|0;var d=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+160|0;N=4;O=B2(40)|0;c[O>>2]=0;B=P;C=c[b+44>>2]|0;F=c[b+72>>2]|0;G=C+140|0;K=c[G>>2]|0;L=C+80|0;M=c[L>>2]|0;c[L>>2]=B;N=q6(B,2,O|0,N|0)|0;O=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 1:{g=0;f=0;w=231;break}case 2:{g=0;f=0;w=3;break}default:{d=0;g=0;f=0;w=3}}a:while(1){if((w|0)==3){w=0;if(!d){i=g;w=5}else{g=C+64|0;A=C+132|0}}else if((w|0)==231){w=0;if(!d){i=g;w=5}else A=f}if((w|0)==5){o=0;wa(194,b|0,F|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=r6(c[d>>2]|0,N|0,O|0)|0;if(!g)wh(d|0,p|0);z=p}else g=-1;d=z;switch(g|0){case 2:{g=i;w=3;continue a}case 1:{g=i;w=231;continue a}default:{w=6;break a}}}c[G>>2]=K;c[L>>2]=M;x=c[A>>2]|0;b:while(1){y=x+44|0;d=c[y>>2]|0;switch(c[d+84>>2]|0){case 3:{u=c[d+120>>2]|0;if(!(c[d+88>>2]|0)){w=16;break b}c[u+84>>2]=x;f=x+4|0;c[f>>2]=(c[f>>2]|0)+1;a[u+49>>0]=2;a[x+49>>0]=3;f=d+132|0;if(u|0){d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[u+92>>2]=d;c[u+96>>2]=i}c[f>>2]=u;c[(c[u+44>>2]|0)+84>>2]=1;x=u;continue b}case 2:{t=x+84|0;u=c[t>>2]|0;if(!(c[d+88>>2]|0)){w=73;break b}a[x+49>>0]=4;c[t>>2]=0;w=u+4|0;x=(c[w>>2]|0)+-1|0;c[w>>2]=x;if(!x){o=0;wa(196,d|0,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[y>>2]|0}a[u+49>>0]=2;f=d+132|0;d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[u+92>>2]=d;c[u+96>>2]=i;c[f>>2]=u;c[(c[u+44>>2]|0)+84>>2]=1;x=u;continue b}case 1:{q=x+72|0;f=c[q>>2]|0;c:do if(f){n=x+76|0;while(1){k=f+32|0;i=c[k>>2]|0;if(i|0){m=f+28|0;while(1){j=c[i+16>>2]|0;if(j&16|0){w=112;break b}if(j&32|0){w=186;break b}if((j&128|0)!=0?(J=c[m>>2]|0,v=c[J+20>>2]|0,c[m>>2]=v,v=v+4|0,c[v>>2]=(c[v>>2]|0)+1,v=J+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(196,d|0,J|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){j=r6(c[d>>2]|0,N|0,O|0)|0;if(!j)wh(d|0,p|0);z=p}else j=-1;d=z;switch(j|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[y>>2]|0}v=i;i=c[i>>2]|0;c[k>>2]=i;w=d+40|0;c[v>>2]=c[w>>2];c[w>>2]=v;if(!i)break}}if((f|0)==(F|0)){w=226;break b}o=0;qa(259,x|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}v=c[q>>2]|0;u=v+20|0;f=c[u>>2]|0;c[q>>2]=f;c[n>>2]=(c[n>>2]|0)+-1;d=c[y>>2]|0;w=d+36|0;c[u>>2]=c[w>>2];c[w>>2]=v;if(!f)break c}}while(0);m=x+84|0;n=c[m>>2]|0;f=c[x+52>>2]|0;k=x+68|0;j=c[k>>2]|0;c[x+64>>2]=f;i=j-f>>4;if(i){i=j+(0-i<<4)|0;while(1){w=c[j+-16>>2]|0;d=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(w&8|0?(v=d+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(192,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((j|0)==(i|0))break}c[k>>2]=i;d=c[y>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[y>>2]|0}}else c[k>>2]=f;a[x+49>>0]=5;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}c[m>>2]=0;w=n+4|0;x=(c[w>>2]|0)+-1|0;c[w>>2]=x;if(!x){o=0;wa(196,c[y>>2]|0,n|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}a[n+49>>0]=2;f=(c[y>>2]|0)+132|0;d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[n+92>>2]=d;c[n+96>>2]=i;c[f>>2]=n;x=n;continue b}default:{w=224;break b}}}do if((w|0)==16){t=u+49|0;if((a[t>>0]|0)!=4){f=u+68|0;i=c[f>>2]|0;j=c[u+56>>2]|0;if(i>>>0>=j>>>0){o=0;wa(193,u|0,4162);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=52;break a}}}k=i+16|0;c[f>>2]=k;m=d+96|0;if(k>>>0>=j>>>0){o=0;wa(193,u|0,4153);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=55;break a}}}c[f>>2]=i+32;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];if(c[m>>2]&8|0){w=(c[d+104>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}o=0;f=ca(14,u|0,((c[f>>2]|0)-(c[u+64>>2]|0)>>4)+-3|0,8)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){i=r6(c[d>>2]|0,N|0,O|0)|0;if(!i)wh(d|0,p|0);z=p}else i=-1;d=z;switch(i|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}if(!f){o=0;Da(19,x|0,343340,1210);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=61;break a}}}c[u+84>>2]=x;f=x+4|0;c[f>>2]=(c[f>>2]|0)+1;a[t>>0]=2;a[x+49>>0]=3;f=(c[y>>2]|0)+132|0;d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[u+92>>2]=d;c[u+96>>2]=i;c[f>>2]=u;break}j=u+72|0;s=u+52|0;f=(c[s>>2]|0)+(c[(c[(c[j>>2]|0)+20>>2]|0)+44>>2]|0)|0;i=d+96|0;if(c[i>>2]&8|0){w=(c[d+104>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}if(c[f>>2]&8){d=c[f+8>>2]|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(!w){o=0;wa(195,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}}else{c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2]}o=0;qa(259,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[j>>2]|0;i=d+20|0;r=c[i>>2]|0;c[j>>2]=r;n=u+76|0;c[n>>2]=(c[n>>2]|0)+-1;n=u+44|0;m=(c[n>>2]|0)+36|0;c[i>>2]=c[m>>2];c[m>>2]=d;m=c[r+16>>2]|0;d=c[r+40>>2]|0;i=(c[s>>2]|0)+d|0;k=u+64|0;c[k>>2]=i;d=(16-d+(c[r+44>>2]|0)|0)>>>4;m=e[m+60>>1]|0;q=u+68|0;j=c[q>>2]|0;f=j-i>>4;if(d>>>0<f>>>0){i=j+(d-f<<4)|0;while(1){w=c[j+-16>>2]|0;d=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(w&8|0?(v=d+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(192,c[n>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((j|0)==(i|0))break}c[q>>2]=i;d=c[n>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}i=c[q>>2]|0}}else{i=i+(d<<4)|0;c[q>>2]=i}d=c[k>>2]|0;f=i-d>>4;if(m>>>0<f>>>0){j=i+(m-f<<4)|0;while(1){w=c[i+-16>>2]|0;d=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(w&8|0?(v=d+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(192,c[n>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((i|0)==(j|0))break}c[q>>2]=j;d=c[n>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}}else c[q>>2]=d+(m<<4);c[u+56>>2]=(c[s>>2]|0)+(c[r+48>>2]|0);c[u+84>>2]=x;f=x+4|0;c[f>>2]=(c[f>>2]|0)+1;a[t>>0]=2;a[x+49>>0]=3;f=(c[y>>2]|0)+132|0;d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[u+92>>2]=d;c[u+96>>2]=i;c[f>>2]=u}else if((w|0)==73){o=0;qa(259,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}j=u+72|0;f=c[j>>2]|0;s=f+20|0;i=c[s>>2]|0;c[j>>2]=i;r=u+76|0;c[r>>2]=(c[r>>2]|0)+-1;r=u+44|0;d=(c[r>>2]|0)+36|0;c[s>>2]=c[d>>2];c[d>>2]=f;d=c[y>>2]|0;f=d+96|0;s=u+52|0;i=(c[s>>2]|0)+(c[i+44>>2]|0)|0;if(c[f>>2]&8|0){w=(c[d+104>>2]|0)+4|0;c[w>>2]=(c[w>>2]|0)+1}if(c[i>>2]&8){d=c[i+8>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];v=d+4|0;w=(c[v>>2]|0)+-1|0;c[v>>2]=w;if(!w){o=0;wa(195,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}}else{c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2]}q=c[j>>2]|0;m=c[q+16>>2]|0;f=c[q+40>>2]|0;d=(c[s>>2]|0)+f|0;k=u+64|0;c[k>>2]=d;f=(16-f+(c[q+44>>2]|0)|0)>>>4;m=e[m+60>>1]|0;n=u+68|0;j=c[n>>2]|0;i=j-d>>4;if(f>>>0<i>>>0){i=j+(f-i<<4)|0;while(1){w=c[j+-16>>2]|0;d=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(w&8|0?(v=d+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(192,c[r>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((j|0)==(i|0))break}c[n>>2]=i;d=c[r>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}i=c[n>>2]|0}}else{i=d+(f<<4)|0;c[n>>2]=i}d=c[k>>2]|0;f=i-d>>4;if(m>>>0<f>>>0){j=i+(m-f<<4)|0;while(1){w=c[i+-16>>2]|0;d=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(w&8|0?(v=d+4|0,w=(c[v>>2]|0)+-1|0,c[v>>2]=w,(w|0)==0):0){o=0;wa(192,c[r>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((i|0)==(j|0))break}c[n>>2]=j;d=c[r>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}}else c[n>>2]=d+(m<<4);c[u+56>>2]=(c[s>>2]|0)+(c[q+48>>2]|0);a[x+49>>0]=4;c[t>>2]=0;w=u+4|0;x=(c[w>>2]|0)+-1|0;c[w>>2]=x;if(!x){o=0;wa(196,c[y>>2]|0,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}a[u+49>>0]=2;f=(c[y>>2]|0)+132|0;d=c[f>>2]|0;if(!d){i=0;d=0}else{i=c[d+96>>2]|0;d=c[d+92>>2]|0}c[u+92>>2]=d;c[u+96>>2]=i;c[f>>2]=u}else if((w|0)==112){w=0;m=d+96|0;r=c[q>>2]|0;n=r+32|0;t=x+52|0;i=c[t>>2]|0;j=c[(c[n>>2]|0)+12>>2]|0;k=i+(j<<4)|0;if(c[k>>2]&8|0?(D=c[i+(j<<4)+8>>2]|0,u=D+4|0,v=(c[u>>2]|0)+-1|0,c[u>>2]=v,(v|0)==0):0){o=0;wa(192,d|0,D|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}};c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];if(c[k>>2]&8|0){v=(c[i+(j<<4)+8>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1}f=k+16|0;if(c[f>>2]&8|0?(E=c[f+8>>2]|0,u=E+4|0,v=(c[u>>2]|0)+-1|0,c[u>>2]=v,(v|0)==0):0){o=0;wa(192,c[y>>2]|0,E|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){i=r6(c[d>>2]|0,N|0,O|0)|0;if(!i)wh(d|0,p|0);z=p}else i=-1;d=z;switch(i|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}c[f>>2]=0;h[f+8>>3]=1.0;v=c[n>>2]|0;k=c[r+16>>2]|0;f=c[t>>2]|0;d=f+(c[r+40>>2]|0)|0;u=x+64|0;c[u>>2]=d;i=d;f=(c[v+12>>2]|0)-(i-f>>4)+2|0;k=e[k+60>>1]|0;v=x+68|0;j=c[v>>2]|0;i=j-i>>4;if(f>>>0<i>>>0){i=j+(f-i<<4)|0;while(1){s=c[j+-16>>2]|0;d=c[j+-8>>2]|0;j=j+-16|0;c[j>>2]=2;if(s&8|0?(q=d+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0){o=0;wa(192,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((j|0)==(i|0))break}c[v>>2]=i;d=c[y>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}i=c[v>>2]|0}}else{i=d+(f<<4)|0;c[v>>2]=i}d=c[u>>2]|0;f=i-d>>4;if(k>>>0<f>>>0){j=i+(k-f<<4)|0;while(1){s=c[i+-16>>2]|0;d=c[i+-8>>2]|0;i=i+-16|0;c[i>>2]=2;if(s&8|0?(q=d+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0){o=0;wa(192,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}if((i|0)==(j|0))break}c[v>>2]=j;d=c[y>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}}else c[v>>2]=d+(k<<4);k=x+56|0;c[k>>2]=(c[t>>2]|0)+(c[r+48>>2]|0);i=c[n>>2]|0;c[r+36>>2]=c[i+8>>2];s=i+16|0;d=c[s>>2]|0;do if(d&64){q=r+28|0;if(!(c[q>>2]|0)){o=0;wa(197,x|0,r|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}o=0;n=ba(23,x|0,52)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[y>>2]|0;c[n>>2]=-2147483519;d=d+24|0;f=c[d>>2]|0;if(f|0)c[f+12>>2]=n;c[n+12>>2]=0;c[n+8>>2]=f;c[d>>2]=n;d=c[v>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){o=0;wa(193,x|0,4153);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=153;break a}}}c[v>>2]=d+16;c[d>>2]=9;c[d+8>>2]=n;m=n+4|0;c[m>>2]=(c[m>>2]|0)+1;d=c[i+4>>2]|0;f=c[v>>2]|0;if(f>>>0>=(c[k>>2]|0)>>>0){o=0;wa(193,x|0,4153);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=156;break a}}}c[v>>2]=f+16;c[f>>2]=8;c[f+8>>2]=d;j=d+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[t>>2]|0;d=c[i+12>>2]|0;f=j+(d<<4)|0;i=c[v>>2]|0;if(i>>>0>=(c[k>>2]|0)>>>0){o=0;wa(193,x|0,4153);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=159;break a}}}c[v>>2]=i+16;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];if(c[f>>2]&8|0){t=(c[j+(d<<4)+8>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1}t=c[u>>2]|0;d=(c[v>>2]|0)-t>>4;d=d>>>0>2?t+(d+-3<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==9?(H=c[d+8>>2]|0,H|0):0){o=0;Da(20,x|0,-2,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}t=c[u>>2]|0;d=(c[v>>2]|0)-t>>4;d=d>>>0>1?t+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8?(I=c[d+8>>2]|0,(I|0)!=0):0)d=I;else w=169;do if((w|0)==169){o=0;ba(24,x|0,-2)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}w=c[u>>2]|0;d=(c[v>>2]|0)-w>>4;d=d>>>0>1?w+(d+-2<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8){d=0;break}d=c[d+8>>2]|0}while(0);o=0;Ea(17,x|0,H|0,d|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[v>>2]|0;if((d|0)==(c[u>>2]|0)){o=0;Ea(15,x|0,342583,50337407,342599);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=175;break a}}}f=d+-16|0;c[v>>2]=f;x=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[f>>2]=2;do if(x&8){w=d+4|0;x=(c[w>>2]|0)+-1|0;c[w>>2]=x;if(x|0)break;o=0;wa(195,c[y>>2]|0,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}f=c[v>>2]|0}while(0);c[n+20>>2]=c[q>>2];c[q>>2]=n;c[m>>2]=(c[m>>2]|0)+1;d=c[s>>2]|128;c[s>>2]=d;w=f+-16|0;c[v>>2]=w;x=c[f+-16>>2]|0;f=c[f+-8>>2]|0;c[w>>2]=2;if(!(x&8))break;w=f+4|0;x=(c[w>>2]|0)+-1|0;c[w>>2]=x;if(x|0)break;o=0;wa(195,c[y>>2]|0,f|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[s>>2]|0;break}o=0;Ea(16,x|0,2130,-3,342926);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=165;break a}}}while(0);c[s>>2]=d&-17}else if((w|0)==186){o=0;Da(21,x|0,d+96|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}else if((w|0)==224){o=0;Da(19,x|0,343340,1446);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=225;break a}}}else if((w|0)==226){c[g>>2]=(c[g>>2]|0)+-1;o=0;qa(260,c[A>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{w=227;break a}}}while(0);d=c[y>>2]|0;c[d+84>>2]=0;c[d+88>>2]=0;w=d+96|0;x=c[w>>2]|0;f=c[d+104>>2]|0;c[w>>2]=2;if((x&8|0)!=0?(w=f+4|0,x=(c[w>>2]|0)+-1|0,c[w>>2]=x,(x|0)==0):0){o=0;wa(195,d|0,f|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}d=c[y>>2]|0}x=d+112|0;y=c[x>>2]|0;f=c[d+120>>2]|0;c[x>>2]=2;if(y&8|0?(x=f+4|0,y=(c[x>>2]|0)+-1|0,c[x>>2]=y,(y|0)==0):0){o=0;wa(195,d|0,f|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}c[g>>2]=(c[g>>2]|0)+-1;d=c[(c[A>>2]|0)+44>>2]|0;if(c[d+32>>2]|0){o=0;qa(258,d|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}}c[L>>2]=B;N=q6(B,1,N|0,O|0)|0;O=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=r6(c[d>>2]|0,N|0,O|0)|0;if(!f)wh(d|0,p|0);z=p}else f=-1;d=z;switch(f|0){case 2:{f=A;w=3;continue a}case 1:{f=A;w=231;continue a}default:{}}f=A;d=0;w=231}switch(w|0){case 6:{c[L>>2]=M;C2(N|0);l=P;return}case 52:break;case 55:break;case 61:break;case 153:break;case 156:break;case 159:break;case 165:break;case 175:break;case 225:break;case 227:break}}function _r(a,b,c){a=a|0;b=b|0;c=c|0;br(a,b,c|100663296,343205)}function $r(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;y=l;l=l+32|0;o=y;t=y+8|0;x=a+88|0;s=c[x>>2]|0;do if(s|0?c[s+4>>2]|0:0){s=a+68|0;i=c[s>>2]|0;r=a+64|0;m=i-(c[r>>2]|0)|0;q=m>>4;n=q+-1|0;if(!q)Cr(a,300,-1);p=a+304|0;j=c[(c[p>>2]|0)+208>>2]|0;q=a+56|0;if(i>>>0>=(c[q>>2]|0)>>>0)mr(a,4153);c[s>>2]=i+16;c[i>>2]=8;c[i+8>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;j=c[r>>2]|0;k=(c[s>>2]|0)-j>>4;i=((m|0)<16?k:0)+n|0;if(i>>>0>=k>>>0)Cr(a,376,n);m=Kr(a,j+(i<<4)|0,j+(k+-1<<4)|0)|0;j=c[r>>2]|0;k=(c[s>>2]|0)-j>>4;i=k+-2|0;if(k>>>0<=1)Cr(a,376,-2);z=j+(i<<4)|0;k=j+(k+-1<<4)|0;n=c[z>>2]|0;i=c[j+(i<<4)+8>>2]|0;t6(z|0,z+16|0,k-z|0)|0;c[k>>2]=2;c[s>>2]=(c[s>>2]|0)+-16;if(n&8|0?(n=i+4|0,z=(c[n>>2]|0)+-1|0,c[n>>2]=z,(z|0)==0):0)qr(c[a+44>>2]|0,i);if(!m){i=c[s>>2]|0;if((i|0)==(c[r>>2]|0))br(a,342583,50337407,342599);r=i+-16|0;c[s>>2]=r;z=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[r>>2]=2;if(!(z&8))break;s=i+4|0;z=(c[s>>2]|0)+-1|0;c[s>>2]=z;if(z|0)break;qr(c[a+44>>2]|0,i);break}c[o>>2]=c[(c[x>>2]|0)+924>>2];cs(a,342933,o);ds(a,2,0);j=c[s>>2]|0;k=j-(c[r>>2]|0)|0;z=k>>4;o=z+-2|0;if(z>>>0<=1)Cr(a,300,-2);i=c[(c[p>>2]|0)+208>>2]|0;if(j>>>0>=(c[q>>2]|0)>>>0)mr(a,4153);c[s>>2]=j+16;c[j>>2]=8;c[j+8>>2]=i;m=i+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[r>>2]|0;n=(c[s>>2]|0)-m>>4;k=((k|0)<32?n:0)+o|0;if(k>>>0>=n>>>0)Cr(a,376,o);if((n|0)==1)Cr(a,376,-2);j=n+-2|0;i=c[a+72>>2]|0;if(!i)i=1;else i=c[i+52>>2]&1;es(a,m+(k<<4)|0,m+(n+-1<<4)|0,c[m+(j<<4)>>2]|0,c[m+(j<<4)+4>>2]|0,+h[m+(j<<4)+8>>3],i)|0;j=c[s>>2]|0;if((j+-32|0)>>>0<(c[r>>2]|0)>>>0)br(a,342583,50337495,342599);i=j+-16|0;c[s>>2]=i;z=c[j+-16>>2]|0;j=c[j+-8>>2]|0;c[i>>2]=2;if((z&8|0)!=0?(r=j+4|0,z=(c[r>>2]|0)+-1|0,c[r>>2]=z,(z|0)==0):0){qr(c[a+44>>2]|0,j);i=c[s>>2]|0}r=i+-16|0;c[s>>2]=r;z=c[i+-16>>2]|0;i=c[i+-8>>2]|0;c[r>>2]=2;if(z&8|0?(s=i+4|0,z=(c[s>>2]|0)+-1|0,c[s>>2]=z,(z|0)==0):0)qr(c[a+44>>2]|0,i)}while(0);s=a+304|0;k=c[(c[s>>2]|0)+348>>2]|0;m=c[k+16>>2]|0;j=1e4;i=f;while(1){if(zr(a,i,k,m,t,2)|0){u=42;break}if(!j)break;i=c[i+20>>2]|0;if(!i)break;else j=j+-1|0}if((u|0)==42){l=y;return}j=c[a+72>>2]|0;i=c[b+76>>2]|0;i=(i|0)<10?i:10;if((g&2|0)==0|(i|0)<1)k=i;else{j=c[j+20>>2]|0;k=i+-1|0}i=k<<1;m=c[x>>2]|0;if(m)i=(c[m+4>>2]|0)==0?i:i+2|0;q=(d|0)!=0;do if(q){m=r4(d)|0;n=a+68|0;if((c[n>>2]|0)>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4300);if((m|0)<0)br(a,342583,50335961,342945);else{v=fs(a,d,m)|0;z=c[n>>2]|0;c[n>>2]=z+16;c[z>>2]=8;c[z+8>>2]=v;v=v+4|0;c[v>>2]=(c[v>>2]|0)+1;v=i+2|0;break}}else v=i;while(0);n=Or(a,48)|0;r=a+44|0;i=c[r>>2]|0;c[n>>2]=272679041;i=i+24|0;m=c[i>>2]|0;if(m|0)c[m+12>>2]=n;c[n+12>>2]=0;c[n+8>>2]=m;c[i>>2]=n;i=c[a+132>>2]|0;c[n+20>>2]=i;if(i|0){z=i+4|0;c[z>>2]=(c[z>>2]|0)+1}p=a+68|0;m=c[p>>2]|0;c[m>>2]=9;c[m+8>>2]=n;m=n+4|0;c[m>>2]=(c[m>>2]|0)+1;m=c[p>>2]|0;o=a+64|0;c[p>>2]=m+16;m=c[m+8>>2]|0;Br(a,m,0,v,0,0);c[m+40>>2]=v;i=c[m+24>>2]|0;i=(c[m+16>>2]|0)+(i*21|0)+(0-i&7)|0;m=c[x>>2]|0;if((m|0)!=0?(w=c[m+4>>2]|0,(w|0)!=0):0){c[i>>2]=8;c[i+8>>2]=w;z=w+4|0;c[z>>2]=(c[z>>2]|0)+1;A=+((c[(c[x>>2]|0)+924>>2]|0)>>>0);c[i+16>>2]=0;h[i+24>>3]=A;i=i+32|0}if(q){z=c[(c[p>>2]|0)+-24>>2]|0;c[i>>2]=8;c[i+8>>2]=z;z=z+4|0;c[z>>2]=(c[z>>2]|0)+1;c[i+16>>2]=0;h[i+24>>3]=+(e|0)+(g&1|0?4294967296.0:0.0);i=i+32|0}if((k|0)>0){n=j;while(1){m=k;k=k+-1|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];if(c[i>>2]&8|0){z=(c[i+8>>2]|0)+4|0;c[z>>2]=(c[z>>2]|0)+1}j=c[n+16>>2]|0;if((j|0)!=0?(c[j>>2]&2048|0)!=0:0){j=(c[n+36>>2]|0)-(c[j+48>>2]|0)>>2;j=(j|0)==0?0:j+-1|0}else j=0;A=+(j>>>0)+ +((c[n+52>>2]|0)>>>0)*4294967296.0;c[i+16>>2]=0;h[i+24>>3]=A;if((m|0)<=1)break;else{n=c[n+20>>2]|0;i=i+32|0}}}if(q){j=c[o>>2]|0;k=(c[p>>2]|0)-j>>4;i=k+-2|0;if(k>>>0<=1)Cr(a,376,-2);e=j+(i<<4)|0;g=j+(k+-1<<4)|0;z=c[e>>2]|0;i=c[j+(i<<4)+8>>2]|0;t6(e|0,e+16|0,g-e|0)|0;c[g>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(z&8|0?(g=i+4|0,z=(c[g>>2]|0)+-1|0,c[g>>2]=z,(z|0)==0):0)qr(c[r>>2]|0,i)}z=c[o>>2]|0;i=(c[p>>2]|0)-z>>4;i=i>>>0>1?z+(i+-2<<4)|0:0;i=(i|0)==0?368:i;if((c[i>>2]|0)!=9)ar(a,2130,-2,342926);i=c[i+8>>2]|0;if(!i)ar(a,2130,-2,342926);yr(a,i,c[(c[s>>2]|0)+348>>2]|0,7);l=y;return}function as(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;p=b+44|0;if(c[(c[p>>2]|0)+76>>2]|0){l=q;return}e=c[b+236>>2]|0;if(!e){l=q;return}k=c[(c[b+304>>2]|0)+(d<<2)>>2]|0;d=c[e+36>>2]|0;m=c[e+24>>2]|0;n=c[e+16>>2]|0;a:do if(d){i=n+(m*21|0)+(0-m&7)+(c[e+32>>2]<<4)|0;g=d+-1|0;h=n+(m<<4)|0;d=0;f=c[k+12>>2]&g;b:while(1){e=c[i+(f<<2)>>2]|0;switch(e|0){case -1:{e=19;break}case -2:{j=10;break}default:if((c[h+(e<<2)>>2]|0)==(k|0)){d=e;e=1}else j=10}if((j|0)==10){j=0;e=0;f=f+1&g}switch(e&31){case 0:break;case 19:{j=32;break b}default:break b}}if((j|0)==32){l=q;return}if(!e){l=q;return}}else{f=n+(m<<4)|0;e=c[e+28>>2]|0;if(!e){l=q;return}else d=0;do{if((c[f+(d<<2)>>2]|0)==(k|0))break a;d=d+1|0}while(d>>>0<e>>>0);l=q;return}while(0);f=n+(d<<4)|0;if((f|0)==0?1:(a[n+(m*20|0)+d>>0]&8)!=0){l=q;return}j=b+68|0;e=c[j>>2]|0;k=b+56|0;if(e>>>0>=(c[k>>2]|0)>>>0)mr(b,4153);c[j>>2]=e+16;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];if(c[f>>2]&8|0){n=(c[n+(d<<4)+8>>2]|0)+4|0;c[n>>2]=(c[n>>2]|0)+1}d=c[j>>2]|0;i=b+64|0;e=c[i>>2]|0;f=d-e>>4;if(f>>>0<=1)Cr(b,376,-2);g=e+(f+-2<<4)|0;e=e+(f+-1<<4)|0;f=e-g|0;if(f){c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];t6(g+16|0,g|0,f|0)|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];d=c[j>>2]|0}if(d>>>0>=(c[k>>2]|0)>>>0)mr(b,4162);d=d+16|0;c[j>>2]=d;e=c[i>>2]|0;f=d-e>>4;if(f>>>0<=1)Cr(b,376,-2);h=e+(f+-2<<4)|0;f=e+(f+-1<<4)|0;g=f-h|0;if(g){c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];t6(h+16|0,h|0,g|0)|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];e=c[i>>2]|0;d=c[j>>2]|0}c[(c[p>>2]|0)+76>>2]=1;c[o>>2]=1;c[o+4>>2]=0;if(d>>>0<(e+48|0)>>>0)nr(b,342568,315);if(((c[k>>2]|0)+48|0)>>>0<(d+16|0)>>>0)nr(b,342568,315);pr(b,19,o,3,1)|0;c[(c[p>>2]|0)+76>>2]=0;l=q;return}function bs(a,b){a=a|0;b=b|0;Lr(a,-2-(c[b>>2]|0)+((c[a+68>>2]|0)-(c[a+64>>2]|0)>>4)|0,c[b+4>>2]|0)|0;return 1}function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;vs(a,b,f);l=e;return}function ds(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;h=w;if((b|0)<1){if((b|0)<0)br(a,343172,50331667,342599);f=c[(c[a+304>>2]|0)+60>>2]|0;d=a+68|0;e=c[d>>2]|0;if(e>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[d>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;a=f+4|0;c[a>>2]=(c[a>>2]|0)+1;l=w;return}r=(d|0)!=0;if(r){d=~b;Xr(a,d)|0;g=a+68|0;f=a+64|0;e=c[f>>2]|0;v=(c[g>>2]|0)-e>>4;d=v+d|0;d=d>>>0<v>>>0?e+(d<<4)|0:0;d=c[(c[((d|0)==0?368:d)+8>>2]|0)+20>>2]|0;e=b+-1|0;if(e|0?d>>>0>(2147483647/(e>>>0)|0)>>>0:0)br(a,343172,50331754,343189);d=O(d,e)|0;s=g;t=f;v=g}else{v=a+68|0;d=0;s=v;t=a+64|0}e=b;f=d;do{Xr(a,0-e|0)|0;d=c[s>>2]|0;u=c[t>>2]|0;o=d-u>>4;p=((e|0)>0?o:0)-e|0;p=p>>>0<o>>>0?u+(p<<4)|0:0;u=f;f=(c[(c[((p|0)==0?368:p)+8>>2]|0)+20>>2]|0)+f|0;e=e+-1|0;if(f>>>0<u>>>0|(f|0)<0){i=69;break}}while((e|0)!=0);if((i|0)==69)br(a,343172,50331754,343189);if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,5237);if(f>>>0>2147483646)br(a,342583,50336889,342539);u=a+44|0;d=ts(c[u>>2]|0,f,4,h)|0;if(!d)er(a,342583,5246);i=c[v>>2]|0;c[i>>2]=10;c[i+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[v>>2]|0)+16|0;c[v>>2]=d;i=c[h>>2]|0;p=-2-b|0;o=(p|0)<0;a:do if(r){e=0;h=b;while(1){if((h|0)!=(b|0)){n=c[t>>2]|0;m=(c[s>>2]|0)-n>>4;d=(o?m:0)+p|0;d=d>>>0<m>>>0?n+(d<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8){i=29;break}d=c[d+8>>2]|0;if(!d){i=29;break}n=d+20|0;s6(i+e|0,d+28|0,c[n>>2]|0)|0;e=(c[n>>2]|0)+e|0}f=~h;n=c[t>>2]|0;m=(c[s>>2]|0)-n>>4;d=((h|0)>-1?m:0)+f|0;d=d>>>0<m>>>0?n+(d<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)!=8){q=f;i=33;break}g=c[d+8>>2]|0;if(!g){q=f;i=33;break}d=g+20|0;s6(i+e|0,g+28|0,c[d>>2]|0)|0;h=h+-1|0;if(!h)break a;else e=(c[d>>2]|0)+e|0}if((i|0)==29)ar(a,2101,p,361511);else if((i|0)==33)ar(a,2101,q,361511)}else{e=~b;q=c[t>>2]|0;h=d-q>>4;d=((b|0)>-1?h:0)+e|0;d=d>>>0<h>>>0?q+(d<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8){k=d;m=0;n=b;j=e}else{q=e;ar(a,2101,q,361511)}while(1){d=c[k+8>>2]|0;if(!d){q=j;i=33;break}f=d+20|0;s6(i+m|0,d+28|0,c[f>>2]|0)|0;d=n;n=n+-1|0;if(!n)break a;e=0-d|0;q=c[t>>2]|0;j=(c[s>>2]|0)-q>>4;k=((n|0)>-1?j:0)-d|0;k=k>>>0<j>>>0?q+(k<<4)|0:0;k=(k|0)==0?368:k;if((c[k>>2]|0)!=8){q=e;i=33;break}else{m=(c[f>>2]|0)+m|0;j=e}}if((i|0)==33)ar(a,2101,q,361511)}while(0);if(r){e=c[t>>2]|0;f=(c[s>>2]|0)-e>>4;if(!f)Cr(a,376,-1);g=e+(f+-1<<4)|0;d=(o?f:0)+p|0;if(d>>>0>=f>>>0)Cr(a,376,p);q=e+(d<<4)|0;r=c[q>>2]|0;f=c[e+(d<<4)+8>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];c[g>>2]=2;d=(c[v>>2]|0)+-16|0;c[v>>2]=d;e=d;if((r&8|0)!=0?(q=f+4|0,r=(c[q>>2]|0)+-1|0,c[q>>2]=r,(r|0)==0):0){qr(c[u>>2]|0,f);d=c[s>>2]|0;e=d}if(e-(c[t>>2]|0)>>4>>>0<b>>>0)br(a,342583,50337319,342599);f=d+(0-b<<4)|0;do{b=c[d+-16>>2]|0;e=c[d+-8>>2]|0;d=d+-16|0;c[d>>2]=2;if(b&8|0?(t=e+4|0,b=(c[t>>2]|0)+-1|0,c[t>>2]=b,(b|0)==0):0)vr(c[u>>2]|0,e)}while((d|0)!=(f|0));c[v>>2]=f;d=c[u>>2]|0;if(c[d+32>>2]|0)lr(d)}else{e=~b;f=c[t>>2]|0;g=(c[s>>2]|0)-f>>4;if(!g)Cr(a,376,-1);h=f+(g+-1<<4)|0;d=((b|0)>-1?g:0)+e|0;if(d>>>0>=g>>>0)Cr(a,376,e);e=f+(d<<4)|0;r=c[e>>2]|0;f=c[f+(d<<4)+8>>2]|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];c[h>>2]=2;e=(c[v>>2]|0)+-16|0;c[v>>2]=e;d=e;if((r&8|0)!=0?(q=f+4|0,r=(c[q>>2]|0)+-1|0,c[q>>2]=r,(r|0)==0):0){qr(c[u>>2]|0,f);e=c[s>>2]|0;d=e}if(d-(c[t>>2]|0)>>4>>>0<(b+-1|0)>>>0)br(a,342583,50337319,342599);b=1-b|0;d=e+(b<<4)|0;if(!b)d=e;else do{b=c[e+-16>>2]|0;f=c[e+-8>>2]|0;e=e+-16|0;c[e>>2]=2;if(b&8|0?(t=f+4|0,b=(c[t>>2]|0)+-1|0,c[t>>2]=b,(b|0)==0):0)vr(c[u>>2]|0,f)}while((e|0)!=(d|0));c[v>>2]=d;d=c[u>>2]|0;if(c[d+32>>2]|0)lr(d)}us(a);l=w;return}function es(b,e,f,g,i,k,m){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;k=+k;m=m|0;var n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+112|0;C=N+64|0;q=N+56|0;J=N+40|0;I=N+96|0;H=N+24|0;G=N+8|0;M=N;K=N+72|0;c[H>>2]=c[e>>2];c[H+4>>2]=c[e+4>>2];c[H+8>>2]=c[e+8>>2];c[H+12>>2]=c[e+12>>2];c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];h[M>>3]=k;h[j>>3]=k;r=c[j>>2]|0;a:do switch(c[H>>2]|0){case 3:case 2:{M=Rr(b,G)|0;g=Rr(b,H)|0;c[q>>2]=M;c[q+4>>2]=g;sr(b,342676,100666682,342984,q);break}case 4:{q=0;r=c[b+148>>2]|0;L=194;break}case 8:{f=c[H+8>>2]|0;e=b+68|0;n=c[e>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[e>>2]=n+16;c[n>>2]=c[G>>2];c[n+4>>2]=c[G+4>>2];c[n+8>>2]=c[G+8>>2];c[n+12>>2]=c[G+12>>2];if(c[G>>2]&8|0){z=(c[G+8>>2]|0)+4|0;c[z>>2]=(c[z>>2]|0)+1}n=c[e>>2]|0;do if((c[n+-16>>2]|0)!=8){Ir(b,-1,1);o=b+64|0;z=c[o>>2]|0;n=(c[e>>2]|0)-z>>4;n=n|0?z+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8?(u=c[n+8>>2]|0,u|0):0){n=u;break}Xr(b,-1)|0;z=c[o>>2]|0;n=(c[e>>2]|0)-z>>4;n=n|0?z+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8)n=c[n+8>>2]|0;else n=0}else n=c[n+-8>>2]|0;while(0);o=c[n+16>>2]|0;if(c[f>>2]&512|0){v=n;w=0;n=c[b+252>>2]|0;s=o;L=205;break a}if((n|0)!=(c[(c[b+304>>2]|0)+328>>2]|0)){if((o|0)!=-1?o>>>0<(gs(f)|0)>>>0:0)break a;v=n;w=0;n=c[b+140>>2]|0;s=o;L=205}break}case 9:{w=H+8|0;u=c[w>>2]|0;e=c[u>>2]|0;do if(((e&4227200|0)==4227200?(c[G>>2]|0)==0:0)?(p=+h[G+8>>3],v=~~p>>>0,v=+(v>>>0)==p?v:-1,v>>>0<(c[u+32>>2]|0)>>>0):0){f=u+40|0;if(v>>>0>=(c[f>>2]|0)>>>0){if(c[u+44>>2]|0)break;c[f>>2]=v+1}e=c[u+24>>2]|0;e=(c[u+16>>2]|0)+(e*21|0)+(0-e&7)|0;if(g&8|0){m=r+4|0;c[m>>2]=(c[m>>2]|0)+1}n=e+(v<<4)|0;if(!(c[n>>2]&8)){c[n>>2]=g;c[e+(v<<4)+4>>2]=i;h[e+(v<<4)+8>>3]=+h[M>>3];b=1;l=N;return b|0}o=c[e+(v<<4)+8>>2]|0;c[n>>2]=g;c[e+(v<<4)+4>>2]=i;h[e+(v<<4)+8>>3]=+h[M>>3];M=o+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=1;l=N;return b|0}qr(c[b+44>>2]|0,o);b=1;l=N;return b|0}while(0);if((((g|0)==0&(e&8192|0)!=0?a[u+58>>0]|0:0)?(c[G>>2]|0)==0:0)?(p=+h[G+8>>3],s=~~p>>>0,s=+(s>>>0)==p?s:-1,t=d[u+56>>0]|0,s>>>0<(c[u+52>>2]|0)>>>t>>>0):0){f=s<<t;o=1<<t;e=b+68|0;n=c[e>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[e>>2]=n+16;c[n>>2]=0;c[n+4>>2]=i;h[n+8>>3]=+h[M>>3];n=c[u+40>>2]|0;if(n|0?(x=c[u+48>>2]|0,(f+o+x|0)>>>0<=(c[n+16>>2]|0)>>>0):0){if(!(c[n>>2]&128))n=n+24|0;else n=c[n+20>>2]|0;hs(b,a[u+57>>0]|0,n+x+f|0,o)}n=c[e>>2]|0;M=n+-16|0;c[e>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=1;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=1;l=N;return b|0}qr(c[b+44>>2]|0,n);b=1;l=N;return b|0}if(!(e&33554432)){q=u;r=u;L=194}else{s=c[u+44>>2]|0;u=c[u+40>>2]|0;if(!((c[G>>2]|0)==8?(c[c[G+8>>2]>>2]&1024|0)!=0:0))L=50;do if((L|0)==50){x=b+68|0;q=c[x>>2]|0;e=c[b+52>>2]|0;f=q-e+832|0;e=e+f|0;v=b+56|0;r=c[v>>2]|0;do if(r>>>0<e>>>0)if((c[b+60>>2]|0)>>>0<e>>>0){Er(b,f,1)|0;q=c[x>>2]|0;e=c[v>>2]|0;break}else{c[v>>2]=e;break}else e=r;while(0);if(q>>>0>=e>>>0)mr(b,4153);c[x>>2]=q+16;c[q>>2]=9;c[q+8>>2]=s;e=s+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[x>>2]|0;t=b+64|0;r=e-(c[t>>2]|0)|0;L=r>>4;s=L+-1|0;if(!L)Cr(b,300,-1);f=c[(c[b+304>>2]|0)+332>>2]|0;if(e>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=e+16;c[e>>2]=8;c[e+8>>2]=f;f=f+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[t>>2]|0;q=(c[x>>2]|0)-f>>4;e=((r|0)<16?q:0)+s|0;if(e>>>0>=q>>>0)Cr(b,376,s);r=Kr(b,f+(e<<4)|0,f+(q+-1<<4)|0)|0;f=c[t>>2]|0;q=(c[x>>2]|0)-f>>4;e=q+-2|0;if(q>>>0<=1)Cr(b,376,-2);s=f+(e<<4)|0;y=f+(q+-1<<4)|0;L=c[s>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(s|0,s+16|0,y-s|0)|0;c[y>>2]=2;c[x>>2]=(c[x>>2]|0)+-16;if(L&8|0?(y=e+4|0,L=(c[y>>2]|0)+-1|0,c[y>>2]=L,(L|0)==0):0)qr(c[b+44>>2]|0,e);if(!r){e=c[x>>2]|0;n=e+-16|0;c[x>>2]=n;L=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[n>>2]=2;if((L&8|0)!=0?(z=e+4|0,L=(c[z>>2]|0)+-1|0,c[z>>2]=L,(L|0)==0):0){qr(c[b+44>>2]|0,e);n=c[x>>2]|0}z=n+-16|0;c[x>>2]=z;L=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[z>>2]=2;if(!(L&8))break;z=n+4|0;L=(c[z>>2]|0)+-1|0;c[z>>2]=L;if(L|0)break;qr(c[b+44>>2]|0,n);break}o=c[x>>2]|0;e=c[t>>2]|0;f=o-e>>4;if(f>>>0<=1)Cr(b,376,-2);q=e+(f+-2<<4)|0;e=e+(f+-1<<4)|0;f=e-q|0;if(f){c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];c[J+8>>2]=c[e+8>>2];c[J+12>>2]=c[e+12>>2];t6(q+16|0,q|0,f|0)|0;c[q>>2]=c[J>>2];c[q+4>>2]=c[J+4>>2];c[q+8>>2]=c[J+8>>2];c[q+12>>2]=c[J+12>>2];o=c[x>>2]|0}f=u;if(o>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=o+16;c[o>>2]=9;c[o+8>>2]=u;o=u+4|0;c[o>>2]=(c[o>>2]|0)+1;o=c[x>>2]|0;if(o>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=o+16;c[o>>2]=c[G>>2];c[o+4>>2]=c[G+4>>2];c[o+8>>2]=c[G+8>>2];c[o+12>>2]=c[G+12>>2];if(c[G>>2]&8|0){L=(c[G+8>>2]|0)+4|0;c[L>>2]=(c[L>>2]|0)+1}o=c[x>>2]|0;if(o>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=o+16;c[o>>2]=g;c[o+4>>2]=i;k=+h[M>>3];h[o+8>>3]=k;if(g&8|0){h[j>>3]=k;L=(c[j>>2]|0)+4|0;c[L>>2]=(c[L>>2]|0)+1}o=c[x>>2]|0;if(o>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=o+16;c[o>>2]=c[H>>2];c[o+4>>2]=c[H+4>>2];c[o+8>>2]=c[H+8>>2];c[o+12>>2]=c[H+12>>2];if(c[H>>2]&8|0){L=(c[w>>2]|0)+4|0;c[L>>2]=(c[L>>2]|0)+1}o=(c[x>>2]|0)-(c[t>>2]|0)|0;if((o|0)<96)nr(b,342568,55);Lr(b,(o>>>4)+-6|0,0)|0;L=is(b,-1)|0;o=c[x>>2]|0;e=o+-16|0;c[x>>2]=e;c[e>>2]=2;if(!L)if(!m){b=0;l=N;return b|0}else br(b,342676,100667468,343015);if(e>>>0>=(c[v>>2]|0)>>>0)mr(b,4153);c[x>>2]=o;c[e>>2]=c[G>>2];c[e+4>>2]=c[G+4>>2];c[e+8>>2]=c[G+8>>2];c[e+12>>2]=c[G+12>>2];if(c[G>>2]&8|0){m=(c[G+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}o=c[x>>2]|0;do if((c[o+-16>>2]|0)==8)n=c[o+-8>>2]|0;else{Ir(b,-1,1);m=c[t>>2]|0;o=(c[x>>2]|0)-m>>4;o=o|0?m+(o+-1<<4)|0:0;o=(o|0)==0?368:o;if((c[o>>2]|0)==8?(n=c[o+8>>2]|0,n|0):0)break;Xr(b,-1)|0;m=c[t>>2]|0;n=(c[x>>2]|0)-m>>4;n=n|0?m+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)!=8){n=0;break}n=c[n+8>>2]|0}while(0);if(!(zr(b,f,n,c[n+16>>2]|0,K,1)|0)){n=c[x>>2]|0;M=n+-16|0;c[x>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=1;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=1;l=N;return b|0}qr(c[b+44>>2]|0,n);b=1;l=N;return b|0}q=c[x>>2]|0;e=c[t>>2]|0;n=q-e>>4;if(!n)Cr(b,376,-1);o=n+-1|0;f=c[K>>2]|0;if(!(f&13)){n=c[e+(o<<4)>>2]|0;b:do if(!(n|g)){p=+h[M>>3];k=+h[e+(o<<4)+8>>3];n=K4(p)|0;o=K4(k)|0;if(!(p==k)){z=(o|n|0)==0&1;break}if(!((n|0)==2&(o|0)==2)){z=1;break}h[j>>3]=k;g=c[j>>2]|0;z=c[j+4>>2]|0;h[j>>3]=p;z=m6(g^c[j>>2]|0,z^c[j+4>>2]|0,63)|0;z=z^1}else{if((n|0)!=(g|0)){z=0;break}switch(g|0){case 3:case 2:{z=1;break b}case 4:{z=(c[M>>2]|0)==(c[e+(o<<4)+8>>2]|0)&1;break b}case 5:{z=(c[M>>2]|0)==(c[e+(o<<4)+8>>2]|0)&1;break b}case 9:case 8:{z=(c[M>>2]|0)==(c[e+(o<<4)+8>>2]|0)&1;break b}case 10:{z=(c[M>>2]|0)==(c[e+(o<<4)+8>>2]|0)&1;break b}case 6:{if((c[M>>2]|0)==(c[e+(o<<4)+8>>2]|0))n=(c[e+(o<<4)+4>>2]|0)==(i|0);else n=0;z=n&1;break b}default:{}}}while(0);n=(z|0)==0}else n=0;if(n|(f&12|0)==8&(c[K+8>>2]|0)==0)br(b,342676,100666820,343015);n=q+-16|0;c[x>>2]=n;g=c[q+-16>>2]|0;o=c[q+-8>>2]|0;c[n>>2]=2;do if(g&8){M=o+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0)break;qr(c[b+44>>2]|0,o);n=c[x>>2]|0}while(0);M=n+-16|0;c[x>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=1;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=1;l=N;return b|0}qr(c[b+44>>2]|0,n);b=1;l=N;return b|0}while(0);r=u;c[H>>2]=9;c[w>>2]=r;q=r;L=194}break}case 10:{f=c[H+8>>2]|0;q=c[G>>2]|0;if(!q){p=+h[G+8>>3];n=~~p>>>0;if(+(n>>>0)==p){o=0;s=n;t=0;L=150}else L=178}else{e=b+68|0;n=c[e>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[e>>2]=n+16;c[n>>2]=c[G>>2];c[n+4>>2]=c[G+4>>2];c[n+8>>2]=c[G+8>>2];c[n+12>>2]=c[G+12>>2];if(q&8|0){L=(c[G+8>>2]|0)+4|0;c[L>>2]=(c[L>>2]|0)+1}n=c[e>>2]|0;do if((c[n+-16>>2]|0)!=8){Ir(b,-1,1);o=b+64|0;L=c[o>>2]|0;n=(c[e>>2]|0)-L>>4;n=n|0?L+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8?(w=c[n+8>>2]|0,w|0):0){n=w;break}Xr(b,-1)|0;L=c[o>>2]|0;n=(c[e>>2]|0)-L>>4;n=n|0?L+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8)n=c[n+8>>2]|0;else n=0}else n=c[n+-8>>2]|0;while(0);o=n;s=c[n+16>>2]|0;t=1;L=150}if((L|0)==150){if((s|0)!=-1)if(s>>>0<(c[f+16>>2]|0)>>>0){if(!(c[f>>2]&128))q=f+24|0;else q=c[f+20>>2]|0;r=b+68|0;n=c[r>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[r>>2]=n+16;c[n>>2]=g;c[n+4>>2]=i;k=+h[M>>3];h[n+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=b+64|0;n=c[f>>2]|0;o=(c[r>>2]|0)-n>>4;if(!o)Cr(b,376,-1);k=+Ar(b,n+(o+-1<<4)|0);h[j>>3]=k;n=c[j>>2]|0;o=c[j+4>>2]|0;e=o&2146435072;c:do if((e|0)<2146435072){switch(e|0){case 0:break;default:{L=164;break c}}if((o|0)<0)L=164;else e=0}else switch(e|0){case 2146435072:{e=0;break}default:L=164}while(0);if((L|0)==164){p=+A(+(+B(+k)));p=+o4((o|0)>-1|(o|0)==-1&n>>>0>4294967295?p:-p,4294967296.0);e=~~(p<0.0?p+4294967296.0:p)>>>0}n=c[f>>2]|0;o=(c[r>>2]|0)-n>>4;if(!o)Cr(b,376,-1);M=o+-1|0;i=n+(M<<4)|0;g=c[i>>2]|0;M=n+(M<<4)+8|0;n=c[M>>2]|0;c[i>>2]=0;h[M>>3]=+(e>>>0);if(g&8|0?(M=n+4|0,g=(c[M>>2]|0)+-1|0,c[M>>2]=g,(g|0)==0):0)qr(c[b+44>>2]|0,n);a[q+s>>0]=e;n=c[r>>2]|0;f=n+(~t<<4)|0;o=b+44|0;do{b=c[n+-16>>2]|0;e=c[n+-8>>2]|0;n=n+-16|0;c[n>>2]=2;if(b&8|0?(g=e+4|0,b=(c[g>>2]|0)+-1|0,c[g>>2]=b,(b|0)==0):0)vr(c[o>>2]|0,e)}while((n|0)!=(f|0));c[r>>2]=f;n=c[o>>2]|0;if(!(c[n+32>>2]|0)){b=1;l=N;return b|0}lr(n);b=1;l=N;return b|0}else e=s;else e=-1;if(!t)L=178}if((L|0)==178){e=b+68|0;n=c[e>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[e>>2]=n+16;c[n>>2]=c[G>>2];c[n+4>>2]=c[G+4>>2];c[n+8>>2]=c[G+8>>2];c[n+12>>2]=c[G+12>>2];if(q&8|0){z=(c[G+8>>2]|0)+4|0;c[z>>2]=(c[z>>2]|0)+1}n=c[e>>2]|0;do if((c[n+-16>>2]|0)!=8){Ir(b,-1,1);o=b+64|0;z=c[o>>2]|0;n=(c[e>>2]|0)-z>>4;n=n|0?z+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8?(y=c[n+8>>2]|0,y|0):0){n=y;break}Xr(b,-1)|0;z=c[o>>2]|0;n=(c[e>>2]|0)-z>>4;n=n|0?z+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8)n=c[n+8>>2]|0;else n=0}else n=c[n+-8>>2]|0;while(0);o=n;e=c[n+16>>2]|0}if((o|0)!=(c[(c[b+304>>2]|0)+328>>2]|0)){v=o;w=0;n=c[b+268>>2]|0;s=e;L=205}break}case 5:{q=0;r=c[b+244>>2]|0;L=194;break}case 6:{q=0;r=c[b+124>>2]|0;L=194;break}default:{q=0;r=c[b+156>>2]|0;L=194}}while(0);if((L|0)==194){f=b+68|0;n=c[f>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[f>>2]=n+16;c[n>>2]=c[G>>2];c[n+4>>2]=c[G+4>>2];c[n+8>>2]=c[G+8>>2];c[n+12>>2]=c[G+12>>2];if(c[G>>2]&8|0){L=(c[G+8>>2]|0)+4|0;c[L>>2]=(c[L>>2]|0)+1}n=c[f>>2]|0;do if((c[n+-16>>2]|0)!=8){Ir(b,-1,1);e=b+64|0;L=c[e>>2]|0;n=(c[f>>2]|0)-L>>4;n=n|0?L+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8?(o=c[n+8>>2]|0,o|0):0)break;Xr(b,-1)|0;L=c[e>>2]|0;n=(c[f>>2]|0)-L>>4;n=n|0?L+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)==8)o=c[n+8>>2]|0;else o=0}else o=c[n+-8>>2]|0;while(0);v=o;w=q;n=r;s=c[o+16>>2]|0;L=205}d:do if((L|0)==205){o=1e4;while(1){if(zr(b,n,v,s,K,0)|0){L=207;break}if(!o){L=276;break}n=c[n+20>>2]|0;if(!n){L=278;break}else o=o+-1|0}do if((L|0)==207){o=c[K>>2]|0;if(o&8|0){o=c[(c[n+16>>2]|0)+(c[K+12>>2]<<4)+4>>2]|0;if(!o){if(m|0)br(b,342676,100667523,343097);g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}q=b+68|0;n=c[q>>2]|0;e=b+56|0;if(n>>>0>=(c[e>>2]|0)>>>0)mr(b,4153);c[q>>2]=n+16;c[n>>2]=9;c[n+8>>2]=o;n=o+4|0;c[n>>2]=(c[n>>2]|0)+1;n=c[q>>2]|0;if(n>>>0>=(c[e>>2]|0)>>>0)mr(b,4153);c[q>>2]=n+16;c[n>>2]=c[H>>2];c[n+4>>2]=c[H+4>>2];c[n+8>>2]=c[H+8>>2];c[n+12>>2]=c[H+12>>2];if(c[H>>2]&8|0){m=(c[H+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}n=c[q>>2]|0;if(n>>>0>=(c[e>>2]|0)>>>0)mr(b,4153);c[q>>2]=n+16;c[n>>2]=g;c[n+4>>2]=i;k=+h[M>>3];h[n+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=c[q>>2]|0;if(f>>>0>=(c[e>>2]|0)>>>0)mr(b,1093);n=b+64|0;o=c[n>>2]|0;e=f-o>>4;if(e>>>0<=3)Cr(b,376,-4);g=o+(e+-4<<4)|0;c[q>>2]=f+16;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];if(c[f>>2]&8|0){g=(c[f+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}n=(c[q>>2]|0)-(c[n>>2]|0)|0;if((n|0)<64)nr(b,342568,55);Lr(b,(n>>>4)+-4|0,0)|0;n=c[q>>2]|0;M=n+-16|0;c[q>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8))break;M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0)break;qr(c[b+44>>2]|0,n);break}if(!w)L=353;else{if((n|0)!=(w|0)){n=c[w>>2]|0;if(!(n&128)){L=358;break}if(!(o&1))break d;else{L=293;break}}if(!(o&1))break d;if(!(o&16)){e=c[K+12>>2]|0;f=c[w+16>>2]|0;q=g&8;n=(q|0)!=0;do if((e|0)>-1){if(n){H=(c[M>>2]|0)+4|0;c[H>>2]=(c[H>>2]|0)+1}n=f+(e<<4)|0;if(!(c[n>>2]&8)){c[n>>2]=g;c[f+(e<<4)+4>>2]=i;h[f+(e<<4)+8>>3]=+h[M>>3];break}o=c[f+(e<<4)+8>>2]|0;c[n>>2]=g;c[f+(e<<4)+4>>2]=i;h[f+(e<<4)+8>>3]=+h[M>>3];G=o+4|0;H=(c[G>>2]|0)+-1|0;c[G>>2]=H;if(!H)qr(c[b+44>>2]|0,o)}else{e=c[w+24>>2]|0;e=f+(e*21|0)+(0-e&7)|0;f=c[K+20>>2]|0;if(n){H=(c[M>>2]|0)+4|0;c[H>>2]=(c[H>>2]|0)+1}n=e+(f<<4)|0;if(!(c[n>>2]&8)){c[n>>2]=g;c[e+(f<<4)+4>>2]=i;h[e+(f<<4)+8>>3]=+h[M>>3];break}o=c[e+(f<<4)+8>>2]|0;c[n>>2]=g;c[e+(f<<4)+4>>2]=i;h[e+(f<<4)+8>>3]=+h[M>>3];G=o+4|0;H=(c[G>>2]|0)+-1|0;c[G>>2]=H;if(!H)qr(c[b+44>>2]|0,o)}while(0);if((s|0)==-1)break;if(!(c[w>>2]&16777216))break;r=b+68|0;n=c[r>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[r>>2]=n+16;c[n>>2]=g;c[n+4>>2]=i;k=+h[M>>3];h[n+8>>3]=k;if(q|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}do if(ls(b,w,v,K,J,I)|0){o=c[r>>2]|0;e=b+64|0;f=c[e>>2]|0;n=o-f>>4;n=n|0?f+(n+-1<<4)|0:0;n=(n|0)==0?368:n;if((c[n>>2]|0)!=8)ar(b,2101,-1,361511);q=c[n+8>>2]|0;if(!q)ar(b,2101,-1,361511);n=o+-16|0;c[r>>2]=n;g=c[o+-16>>2]|0;o=c[o+-8>>2]|0;c[n>>2]=2;if((g&8|0)!=0?(M=o+4|0,g=(c[M>>2]|0)+-1|0,c[M>>2]=g,(g|0)==0):0){qr(c[b+44>>2]|0,o);o=c[e>>2]|0;n=c[r>>2]|0}else o=f;n=n-o>>4;if(!n)Cr(b,376,-1);else{ms(b,c[I>>2]|0,0,q,o+(n+-1<<4)|0,m);break}}while(0);n=c[r>>2]|0;M=n+-16|0;c[r>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8))break;M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0)break;qr(c[b+44>>2]|0,n);break}n=c[w>>2]|0;if(n&4194304|0){q=b+68|0;n=c[q>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[q>>2]=n+16;c[n>>2]=g;c[n+4>>2]=i;k=+h[M>>3];h[n+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=w+40|0;e=c[f>>2]|0;n=c[q>>2]|0;o=n+-16|0;if(!(c[o>>2]|0))k=+h[n+-8>>3];else k=+Ar(b,o);o=~~k>>>0;if(+(o>>>0)!=k)br(b,342676,50334677,342696);if(!(c[w+44>>2]|0)){if(o>>>0<e>>>0){n=js(b,w,e,o,0,J)|0;o=c[J>>2]|0}else n=1;c[f>>2]=o}else n=0;o=c[q>>2]|0;M=o+-16|0;c[q>>2]=M;g=c[o+-16>>2]|0;o=c[o+-8>>2]|0;c[M>>2]=2;if(g&8|0?(M=o+4|0,g=(c[M>>2]|0)+-1|0,c[M>>2]=g,(g|0)==0):0)qr(c[b+44>>2]|0,o);if(n|0)break;if(m|0)br(b,342676,100667515,343080);n=c[q>>2]|0;M=n+-16|0;c[q>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}if((n&8192|0?(E=w+40|0,D=d[w+56>>0]|0,s>>>0<(c[w+52>>2]|0)>>>D>>>0):0)?a[w+58>>0]|0:0){r=s<<D;f=1<<D;q=b+68|0;n=c[q>>2]|0;if(n>>>0>=(c[b+56>>2]|0)>>>0)mr(b,4153);c[q>>2]=n+16;c[n>>2]=g;c[n+4>>2]=i;k=+h[M>>3];h[n+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}n=b+64|0;o=c[n>>2]|0;g=(c[q>>2]|0)-o>>4;e=g+-1|0;if(!g)Cr(b,300,-1);p=+Ar(b,o+(e<<4)|0);M=c[n>>2]|0;i=M+(e<<4)|0;g=c[i>>2]|0;M=M+(e<<4)+8|0;n=c[M>>2]|0;c[i>>2]=0;h[M>>3]=p;if(g&8|0?(M=n+4|0,g=(c[M>>2]|0)+-1|0,c[M>>2]=g,(g|0)==0):0)qr(c[b+44>>2]|0,n);n=c[E>>2]|0;if(n|0?(F=c[w+48>>2]|0,(r+f+F|0)>>>0<=(c[n+16>>2]|0)>>>0):0){if(!(c[n>>2]&128))n=n+24|0;else n=c[n+20>>2]|0;hs(b,a[w+57>>0]|0,n+F+r|0,f)}n=c[q>>2]|0;M=n+-16|0;c[q>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8))break;M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0)break;qr(c[b+44>>2]|0,n);break}if(m|0)Dr(b,342676,4235);g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}}else if((L|0)==276)br(b,342676,50335471,343030);else if((L|0)==278)if(w){n=c[w>>2]|0;if(!(n&128))L=358;else L=293}else L=353;while(0);if((L|0)==293){o=(s|0)!=-1;if(o&(n&4194304|0)!=0?s>>>0>=(c[w+40>>2]|0)>>>0:0)if(!(c[w+44>>2]|0))u=s+1|0;else break;else u=0;do if(!((n&32768|0)==0|o^1)){q=c[w+32>>2]|0;if(s>>>0<q>>>0)n=w+24|0;else{n=w+24|0;r=c[n>>2]|0;if((((q+7|0)>>>3)*9|0)>>>0<s>>>0){if(!q)o=0;else{e=(c[w+16>>2]|0)+(r*21|0)+(0-r&7)|0;o=0;f=0;while(1){o=((c[e>>2]|0)!=7&1)+o|0;f=f+1|0;if((f|0)==(q|0))break;else e=e+16|0}}if(s>>>3<<1>>>0>o>>>0){ks(b,w);L=309;break}}Br(b,w,r,((s+16|0)>>>3)+s|0,c[w+36>>2]|0,0)}m=c[n>>2]|0;m=(c[w+16>>2]|0)+(m*21|0)+(0-m&7)|0;c[m+(s<<4)>>2]=g;c[m+(s<<4)+4>>2]=i;k=+h[M>>3];h[m+(s<<4)+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}}else{n=w+24|0;L=309}while(0);if((L|0)==309){r=w+28|0;q=c[r>>2]|0;e=c[n>>2]|0;if(q>>>0>=e>>>0){if(!q)o=0;else{o=0;f=0;e=(c[w+16>>2]|0)+(e<<4)|0;while(1){o=((c[e>>2]|0)!=0&1)+o|0;f=f+1|0;if((f|0)==(q|0))break;else e=e+4|0}}f=((o+16|0)>>>3)+o|0;do if(f>>>0>7){if(f>>>0>63){o=2;e=f;do{m=e;e=e>>>6;o=o<<6}while(m>>>0>4095);if(!e)break}else{o=2;e=f}do{e=e>>>1;o=o<<1}while((e|0)!=0)}else o=0;while(0);Br(b,w,f,c[w+32>>2]|0,o,0);q=c[r>>2]|0;e=c[n>>2]|0}c[r>>2]=q+1;t=w+16|0;c[(c[t>>2]|0)+(e<<4)+(q<<2)>>2]=v;f=v+4|0;c[f>>2]=(c[f>>2]|0)+1;f=c[w+36>>2]|0;if(!f)o=c[t>>2]|0;else{o=c[t>>2]|0;s=o+(e*21|0)+(0-e&7)+(c[w+32>>2]<<4)|0;r=f+-1|0;e=c[v+12>>2]|0;while(1){e=e&r;f=s+(e<<2)|0;if((c[f>>2]|0)>>>0>4294967293)break;else e=e+1|0}c[f>>2]=q}c[o+(q<<4)>>2]=g;c[o+(q<<4)+4>>2]=i;k=+h[M>>3];h[o+(q<<4)+8>>3]=k;if(g&8|0){h[j>>3]=k;g=(c[j>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}a[(c[t>>2]|0)+((c[n>>2]|0)*20|0)+q>>0]=7}if(u|0)c[w+40>>2]=u}else if((L|0)==353){if(m|0){M=Rr(b,G)|0;g=Rr(b,H)|0;c[C>>2]=M;c[C+4>>2]=g;sr(b,342676,100667481,342984,C)}g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}else if((L|0)==358){if(m|0)br(b,342676,100667490,343052);g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=1;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=1;l=N;return b|0}qr(c[b+44>>2]|0,n);b=1;l=N;return b|0}while(0);if(m|0)br(b,342676,100667498,343067);g=b+68|0;n=c[g>>2]|0;M=n+-16|0;c[g>>2]=M;g=c[n+-16>>2]|0;n=c[n+-8>>2]|0;c[M>>2]=2;if(!(g&8)){b=0;l=N;return b|0}M=n+4|0;g=(c[M>>2]|0)+-1|0;c[M>>2]=g;if(g|0){b=0;l=N;return b|0}qr(c[b+44>>2]|0,n);b=0;l=N;return b|0}function fs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[a+44>>2]|0;f=c[i+148>>2]^e;h=(e>>>5)+1|0;if(h>>>0>e>>>0)g=f;else{g=e;do{f=(d[b+(g+-1)>>0]|0)+(f*33|0)|0;g=g-h|0}while(g>>>0>=h>>>0);g=f}f=c[(c[i+176>>2]|0)+((c[i+180>>2]&g)<<2)>>2]|0;a:do if(f|0){while(1){if(((c[f+12>>2]|0)==(g|0)?(c[f+20>>2]|0)==(e|0):0)?(f3(b,f+28|0,e)|0)==0:0)break;f=c[f+8>>2]|0;if(!f)break a}return f|0}while(0);f=Gr(i,b,e,g)|0;if(!f)er(a,342961,803);else{a=f;return a|0}return 0}function gs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=b+24|0;d=c[j>>2]|0;if(d|0){j=d;return j|0}d=b+28|0;i=c[b+20>>2]|0;h=d+i|0;a:do if(i>>>0<16)e=0;else{f=d;if(!(f&3))e=0;else{e=0;while(1){g=d+1|0;f=a[d>>0]|0;e=(f<<24>>24<0&(f&255)<192&1)+e|0;f=g;if(!(f&3)){d=g;break}else d=g}}g=d+(h-f&-4)|0;while(1){do{if((d|0)==(g|0)){d=g;break a}f=d;d=d+4|0;f=c[f>>2]|0}while(!(f&-2139062144|0));f=f^-2139062144;e=(f>>>0<1073741824&1)+e+((f&12582912|0)==0&1)+((f&49152|0)==0&1)+((f&192|0)==0&1)|0}}while(0);if((d|0)!=(h|0))do{g=a[d>>0]|0;d=d+1|0;e=(g<<24>>24<0&(g&255)<192&1)+e|0}while((d|0)!=(h|0));d=i-e|0;c[j>>2]=d;if(e|0){j=d;return j|0}c[b>>2]=c[b>>2]|128;j=d;return j|0}function hs(d,e,f,i){d=d|0;e=e|0;f=f|0;i=i|0;var k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;do switch(e<<24>>24){case 0:{p=d+68|0;o=d+64|0;e=c[o>>2]|0;k=(c[p>>2]|0)-e>>4;if(!k)Cr(d,376,-1);n=+Ar(d,e+(k+-1<<4)|0);h[j>>3]=n;e=c[j>>2]|0;k=c[j+4>>2]|0;m=k&2146435072;a:do if((m|0)<2146435072){switch(m|0){case 0:break;default:{q=7;break a}}if((k|0)<0)q=7;else m=0}else switch(m|0){case 2146435072:{m=0;break}default:q=7}while(0);if((q|0)==7){n=+A(+(+B(+n)));n=+o4((k|0)>-1|(k|0)==-1&e>>>0>4294967295?n:-n,4294967296.0);m=~~(n<0.0?n+4294967296.0:n)>>>0}k=c[o>>2]|0;e=(c[p>>2]|0)-k>>4;if(!e)Cr(d,376,-1);p=e+-1|0;o=k+(p<<4)|0;q=c[o>>2]|0;p=k+(p<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=+(m>>>0);if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);a[r>>0]=m;s6(f|0,r|0,i|0)|0;l=s;return}case 1:{k=d+64|0;e=c[k>>2]|0;q=(c[d+68>>2]|0)-e>>4;m=q+-1|0;if(!q)Cr(d,300,-1);n=+Ar(d,e+(m<<4)|0);p=c[k>>2]|0;o=p+(m<<4)|0;q=c[o>>2]|0;p=p+(m<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=n;if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);do if(!(n<=0.0))if(!(n>=255.0)){h[j>>3]=n;d=c[j+4>>2]&2147483647;if(!(d>>>0>2146435072|(d|0)==2146435072&(c[j>>2]|0)>>>0>0))if(n-+A(+n)==.5){e=(~~n&255)+1&254;break}else{e=~~(n+.5)&255;break}else e=0}else e=-1;else e=0;while(0);a[r>>0]=e;s6(f|0,r|0,i|0)|0;l=s;return}case 2:{a[r>>0]=ss(d,-1)|0;s6(f|0,r|0,i|0)|0;l=s;return}case 3:{p=d+68|0;o=d+64|0;e=c[o>>2]|0;k=(c[p>>2]|0)-e>>4;if(!k)Cr(d,376,-1);n=+Ar(d,e+(k+-1<<4)|0);h[j>>3]=n;e=c[j>>2]|0;k=c[j+4>>2]|0;m=k&2146435072;b:do if((m|0)<2146435072){switch(m|0){case 0:break;default:{q=32;break b}}if((k|0)<0)q=32;else m=0}else switch(m|0){case 2146435072:{m=0;break}default:q=32}while(0);if((q|0)==32){n=+A(+(+B(+n)));n=+o4((k|0)>-1|(k|0)==-1&e>>>0>4294967295?n:-n,4294967296.0);m=~~(n<0.0?n+4294967296.0:n)>>>0}k=c[o>>2]|0;e=(c[p>>2]|0)-k>>4;if(!e)Cr(d,376,-1);p=e+-1|0;o=k+(p<<4)|0;q=c[o>>2]|0;p=k+(p<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=+(m>>>0);if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);b[r>>1]=m;s6(f|0,r|0,i|0)|0;l=s;return}case 4:{b[r>>1]=ss(d,-1)|0;s6(f|0,r|0,i|0)|0;l=s;return}case 5:{p=d+68|0;o=d+64|0;e=c[o>>2]|0;k=(c[p>>2]|0)-e>>4;if(!k)Cr(d,376,-1);n=+Ar(d,e+(k+-1<<4)|0);h[j>>3]=n;e=c[j>>2]|0;k=c[j+4>>2]|0;m=k&2146435072;c:do if((m|0)<2146435072){switch(m|0){case 0:break;default:{q=45;break c}}if((k|0)<0)q=45;else m=0}else switch(m|0){case 2146435072:{m=0;break}default:q=45}while(0);if((q|0)==45){n=+A(+(+B(+n)));n=+o4((k|0)>-1|(k|0)==-1&e>>>0>4294967295?n:-n,4294967296.0);m=~~(n<0.0?n+4294967296.0:n)>>>0}k=c[o>>2]|0;e=(c[p>>2]|0)-k>>4;if(!e)Cr(d,376,-1);p=e+-1|0;o=k+(p<<4)|0;q=c[o>>2]|0;p=k+(p<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=+(m>>>0);if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);c[r>>2]=m;s6(f|0,r|0,i|0)|0;l=s;return}case 6:{c[r>>2]=ss(d,-1)|0;s6(f|0,r|0,i|0)|0;l=s;return}case 7:{k=d+64|0;e=c[k>>2]|0;q=(c[d+68>>2]|0)-e>>4;m=q+-1|0;if(!q)Cr(d,300,-1);n=+Ar(d,e+(m<<4)|0);p=c[k>>2]|0;o=p+(m<<4)|0;q=c[o>>2]|0;p=p+(m<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=n;if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);g[r>>2]=n;s6(f|0,r|0,i|0)|0;l=s;return}case 8:{k=d+64|0;e=c[k>>2]|0;q=(c[d+68>>2]|0)-e>>4;m=q+-1|0;if(!q)Cr(d,300,-1);n=+Ar(d,e+(m<<4)|0);p=c[k>>2]|0;o=p+(m<<4)|0;q=c[o>>2]|0;p=p+(m<<4)+8|0;e=c[p>>2]|0;c[o>>2]=0;h[p>>3]=n;if(q&8|0?(p=e+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[d+44>>2]|0,e);h[r>>3]=n;s6(f|0,r|0,i|0)|0;l=s;return}default:{}}while(0)}function is(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a+64>>2]|0;i=(c[a+68>>2]|0)-g>>4;f=((b|0)<0?i:0)+b|0;if(f>>>0>=i>>>0)Cr(a,300,b);h=g+(f<<4)|0;e=c[h>>2]|0;switch(e|0){case 3:case 2:{d=0;i=11;break}case 4:{b=g+(f<<4)+8|0;d=c[b>>2]|0;i=9;break}case 8:{d=(c[(c[g+(f<<4)+8>>2]|0)+20>>2]|0)!=0&1;i=10;break}case 10:case 9:{d=1;i=10;break}case 5:{b=g+(f<<4)+8|0;d=(c[b>>2]|0)!=0&1;i=9;break}case 6:{d=1;b=g+(f<<4)+8|0;i=9;break}default:{d=g+(f<<4)+8|0;i=c[d>>2]|0;d=c[d+4>>2]|0;d=(((i|0)==0&(d&2147483647|0)==0|((i|0)!=0|(d&1048575|0)!=0)&(0==0&(d&2146435072|0)==2146435072))^1)&1;i=11}}if((i|0)==9){c[h>>2]=4;c[b>>2]=d;i=d;return i|0}else if((i|0)==10){i=g+(f<<4)+8|0;b=c[i>>2]|0;c[h>>2]=4;c[i>>2]=d}else if((i|0)==11){i=g+(f<<4)+8|0;b=c[i>>2]|0;c[h>>2]=4;c[i>>2]=d;if(!(e&8)){i=d;return i|0}}h=b+4|0;i=(c[h>>2]|0)+-1|0;c[h>>2]=i;if(i|0){i=d;return i|0}qr(c[a+44>>2]|0,b);i=d;return i|0}function js(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(c[d>>2]&32768|0){o=c[d+32>>2]|0;e=o>>>0>e>>>0?e:o;if(e>>>0>f>>>0){k=d+16|0;j=d+24|0;i=b+44|0;do{e=e+-1|0;g=c[j>>2]|0;g=(c[k>>2]|0)+(g*21|0)+(0-g&7)|0;d=g+(e<<4)|0;b=c[d>>2]|0;g=c[g+(e<<4)+8>>2]|0;c[d>>2]=7;if(b&8|0?(d=g+4|0,b=(c[d>>2]|0)+-1|0,c[d>>2]=b,(b|0)==0):0)qr(c[i>>2]|0,g)}while(e>>>0>f>>>0)}c[h>>2]=f;h=1;return h|0}n=(g|0)!=0;o=d+28|0;g=c[o>>2]|0;if(!n)if(!g)e=f;else{e=c[d+16>>2]|0;l=c[d+24>>2]|0;k=e+(l<<4)|0;l=e+(l*20|0)|0;e=f;j=0;do{i=c[k+(j<<2)>>2]|0;if(((i|0)!=0?(c[i>>2]&256|0)!=0:0)?(m=c[i+16>>2]|0,m>>>0>=f>>>0):0)e=(m>>>0<e>>>0?1:(a[l+j>>0]&4)!=0)?e:m+1|0;j=j+1|0}while((j|0)!=(g|0));i=17}else{e=f;i=17}if((i|0)==17)if(g){l=d+16|0;m=d+24|0;k=n?2:0;j=0;do{i=c[(c[l>>2]|0)+(c[m>>2]<<4)+(j<<2)>>2]|0;if(((i|0)!=0?(c[i>>2]&256|0)!=0:0)?(c[i+16>>2]|0)>>>0>=e>>>0:0){qs(b,d,i,k)|0;g=c[o>>2]|0}j=j+1|0}while(j>>>0<g>>>0)}c[h>>2]=e;h=(e|0)==(f|0)&1;return h|0}function ks(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b+28>>2]|0;if(!h){e=0;d=c[b+24>>2]|0}else{d=c[b+24>>2]|0;e=0;f=0;g=(c[b+16>>2]|0)+(d<<4)|0;while(1){e=((c[g>>2]|0)!=0&1)+e|0;f=f+1|0;if((f|0)==(h|0))break;else g=g+4|0}}h=c[b+32>>2]|0;if(!h)d=0;else{f=(c[b+16>>2]|0)+(d*21|0)+(0-d&7)|0;d=0;g=0;while(1){d=((c[f>>2]|0)!=7&1)+d|0;g=g+1|0;if((g|0)==(h|0))break;else f=f+16|0}}f=d+e|0;f=((f+16|0)>>>3)+f|0;if(f>>>0<=7){h=0;Br(a,b,f,0,h,1);return}if(f>>>0>63){d=2;e=f;do{h=e;e=e>>>6;d=d<<6}while(h>>>0>4095);if(!e){h=d;Br(a,b,f,0,h,1);return}}else{d=2;e=f}do{e=e>>>1;d=d<<1}while((e|0)!=0);Br(a,b,f,0,d,1);return}function ls(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+304|0;m=c[(c[k>>2]|0)+392>>2]|0;if(!(zr(a,b,m,c[m+16>>2]|0,e,1)|0)){g=0;return g|0}l=a+68|0;i=c[l>>2]|0;j=a+64|0;m=c[j>>2]|0;h=i-m>>4;h=h|0?m+(h+-1<<4)|0:0;h=(h|0)==0?368:h;if((c[h>>2]|0)!=9)ar(a,2130,-1,342926);m=c[h+8>>2]|0;if(!m)ar(a,2130,-1,342926);o=i+-16|0;c[l>>2]=o;n=c[i+-16>>2]|0;h=c[i+-8>>2]|0;c[o>>2]=2;if(n&8|0?(n=h+4|0,o=(c[n>>2]|0)+-1|0,c[n>>2]=o,(o|0)==0):0)qr(c[a+44>>2]|0,h);if(!(zr(a,m,d,c[d+16>>2]|0,e,1)|0)){o=0;return o|0}i=c[(c[k>>2]|0)+396>>2]|0;zr(a,b,i,c[i+16>>2]|0,e,1)|0;i=c[l>>2]|0;o=c[j>>2]|0;h=i-o>>4;h=h|0?o+(h+-1<<4)|0:0;h=(h|0)==0?368:h;if((c[h>>2]|0)!=9)ar(a,2130,-1,342926);b=c[h+8>>2]|0;if(!b)ar(a,2130,-1,342926);n=i+-16|0;c[l>>2]=n;o=c[i+-16>>2]|0;h=c[i+-8>>2]|0;c[n>>2]=2;if(o&8|0?(n=h+4|0,o=(c[n>>2]|0)+-1|0,c[n>>2]=o,(o|0)==0):0)qr(c[a+44>>2]|0,h);c[f>>2]=m;c[g>>2]=b;o=1;return o|0}function ms(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+64|0;i=n+32|0;j=n+36|0;k=n+16|0;m=n;if(!(ns(a,b,e,d,1,j)|0)){if(g|0){c[i>>2]=e+28;sr(a,343114,67110186,343127,i)}c[k>>2]=9;c[k+8>>2]=c[a+100>>2];c[m>>2]=8;c[m+8>>2]=e;es(a,k,m,c[f>>2]|0,c[f+4>>2]|0,+h[f+8>>3],0)|0;l=n;return}d=c[j+8>>2]|0;if(d|0?c[j+12>>2]&1|0:0){if(c[f>>2]&8|0){m=(c[f+8>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1}if(!(c[d>>2]&8)){c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];l=n;return}b=c[d+8>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+4|0;f=(c[m>>2]|0)+-1|0;c[m>>2]=f;if(f|0){l=n;return}qr(c[a+44>>2]|0,b);l=n;return}c[k>>2]=9;c[k+8>>2]=c[j+4>>2];c[m>>2]=8;c[m+8>>2]=e;es(a,k,m,c[f>>2]|0,c[f+4>>2]|0,+h[f+8>>3],g)|0;l=n;return}function ns(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+48|0;y=B+16|0;z=B;if((e|0)==0&(g|0)!=0){t=c[g+16>>2]|0;a:do if(c[t>>2]&2048|0){q=c[(c[b+304>>2]|0)+380>>2]|0;e=c[t+36>>2]|0;r=c[t+24>>2]|0;s=c[t+16>>2]|0;b:do if(e){p=s+(r*21|0)+(0-r&7)+(c[t+32>>2]<<4)|0;n=e+-1|0;o=s+(r<<4)|0;e=0;m=c[q+12>>2]&n;c:while(1){k=c[p+(m<<2)>>2]|0;switch(k|0){case -1:{k=19;break}case -2:{A=10;break}default:if((c[o+(k<<2)>>2]|0)==(q|0)){e=k;k=1}else A=10}if((A|0)==10){A=0;k=0;m=m+1&n}switch(k&31){case 19:break a;case 0:break;default:break c}}if(!k)break a}else{k=s+(r<<4)|0;m=c[t+28>>2]|0;if(!m)break a;else e=0;while(1){if((c[k+(e<<2)>>2]|0)==(q|0))break b;e=e+1|0;if(e>>>0>=m>>>0)break a}}while(0);if(!((s+(e<<4)|0)==0?1:(a[s+(r*20|0)+e>>0]&8)!=0)){e=c[s+(e<<4)+8>>2]|0;k=c[e+36>>2]|0;q=c[e+24>>2]|0;r=c[e+16>>2]|0;d:do if(k){p=r+(q*21|0)+(0-q&7)+(c[e+32>>2]<<4)|0;n=k+-1|0;o=r+(q<<4)|0;e=0;m=c[f+12>>2]&n;e:while(1){k=c[p+(m<<2)>>2]|0;switch(k|0){case -1:{k=19;break}case -2:{A=21;break}default:if((c[o+(k<<2)>>2]|0)==(f|0)){e=k;k=1}else A=21}if((A|0)==21){A=0;k=0;m=m+1&n}switch(k&31){case 19:break a;case 0:break;default:break e}}if(!k)break a}else{m=r+(q<<4)|0;k=c[e+28>>2]|0;if(!k)break a;else e=0;while(1){if((c[m+(e<<2)>>2]|0)==(f|0))break d;e=e+1|0;if(e>>>0>=k>>>0)break a}}while(0);if(!((r+(e<<4)|0)==0?1:(a[r+(q*20|0)+e>>0]&8)!=0)){c[j+8>>2]=(c[b+52>>2]|0)+(c[g+40>>2]|0)+(~~+h[r+(e<<4)+8>>3]>>>0<<4);c[j+12>>2]=1;c[j>>2]=0;c[j+4>>2]=0;c[j+16>>2]=0;A=1;l=B;return A|0}}}while(0);if(!i){A=0;l=B;return A|0}e=c[t+52>>2]|0;if(!e){e=c[b+104>>2]|0;A=29}}else A=29;if((A|0)==29)if(!e){A=0;l=B;return A|0}x=f+12|0;i=(i|0)==0;u=f+16|0;v=y+8|0;w=z+8|0;g=1e4;f:while(1){k=e+40|0;g:do if((c[e>>2]&-134217728|0)==-2147483648){r=c[k>>2]|0;h:do if(r|0){k=c[e+44>>2]|0;m=c[k+36>>2]|0;s=c[k+24>>2]|0;t=c[k+16>>2]|0;i:do if(m){q=t+(s*21|0)+(0-s&7)+(c[k+32>>2]<<4)|0;o=m+-1|0;p=t+(s<<4)|0;k=0;n=c[x>>2]&o;j:while(1){m=c[q+(n<<2)>>2]|0;switch(m|0){case -1:{m=19;break}case -2:{A=40;break}default:if((c[p+(m<<2)>>2]|0)==(f|0)){k=m;m=1}else A=40}if((A|0)==40){A=0;m=0;n=n+1&o}switch(m&31){case 19:break h;case 0:break;default:break j}}if(!m)break h}else{n=t+(s<<4)|0;m=c[k+28>>2]|0;if(!m)break h;else k=0;while(1){if((c[n+(k<<2)>>2]|0)==(f|0))break i;k=k+1|0;if(k>>>0>=m>>>0)break h}}while(0);if(!((t+(k<<4)|0)==0?1:(a[t+(s*20|0)+k>>0]&8)!=0)){A=44;break f}}while(0);k=c[e+36>>2]|0;r=c[e+24>>2]|0;s=c[e+16>>2]|0;k:do if(k){q=s+(r*21|0)+(0-r&7)+(c[e+32>>2]<<4)|0;o=k+-1|0;p=s+(r<<4)|0;k=0;n=c[x>>2]&o;l:while(1){m=c[q+(n<<2)>>2]|0;switch(m|0){case -1:{m=19;break}case -2:{A=52;break}default:if((c[p+(m<<2)>>2]|0)==(f|0)){k=m;m=1}else A=52}if((A|0)==52){A=0;m=0;n=n+1&o}switch(m&31){case 19:break g;case 0:break;default:break l}}if(!m)break g}else{m=s+(r<<4)|0;n=c[e+28>>2]|0;if(!n)break g;else k=0;while(1){if((c[m+(k<<2)>>2]|0)==(f|0))break k;k=k+1|0;if(k>>>0>=n>>>0)break g}}while(0);m=d[s+(r*20|0)+k>>0]|0;k=s+(k<<4)|0;if(!((m&8|0)!=0|(k|0)==0)){A=56;break f}}else{o=c[k>>2]|0;if(!(c[o>>2]&33554432)){n=c[u>>2]|0;k=1e4;m=o;while(1){if(zr(b,m,f,n,y,2)|0){k=1;break}if(!k){k=0;break}m=c[m+20>>2]|0;if(!m){k=0;break}else k=k+-1|0}}else{c[y>>2]=8;c[v>>2]=f;c[z>>2]=9;c[w>>2]=o;k=os(b,z,y)|0}if(k|0){A=65;break f}}while(0);if(i){e=0;A=70;break}if(!g){A=68;break}e=c[e+20>>2]|0;if(!e){e=0;A=70;break}else g=g+-1|0}if((A|0)==44){c[j+8>>2]=(c[r+52>>2]|0)+(c[e+48>>2]|0)+(~~+h[t+(k<<4)+8>>3]>>>0<<4);c[j+12>>2]=1;c[j>>2]=e;c[j+4>>2]=0;c[j+16>>2]=0;A=1;l=B;return A|0}else if((A|0)==56){c[j+8>>2]=k;c[j+12>>2]=m;c[j>>2]=e;c[j+4>>2]=e;c[j+16>>2]=0;A=1;l=B;return A|0}else if((A|0)==65){c[j+8>>2]=0;c[j+12>>2]=0;c[j>>2]=e;c[j+4>>2]=o;c[j+16>>2]=c[e+44>>2];A=1;l=B;return A|0}else if((A|0)==68)br(b,343114,50332707,343030);else if((A|0)==70){l=B;return e|0}return 0}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;p=r;q=r+24|0;m=r+16|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];switch(c[b>>2]|0){case 9:{d=c[b+8>>2]|0;h=a+68|0;f=c[h>>2]|0;if(f>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[h>>2]=f+16;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];i=c[p>>2]|0;if(i&8|0){k=(c[p+8>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1}f=c[h>>2]|0;do if((c[f+-16>>2]|0)!=8){Ir(a,-1,1);g=a+64|0;k=c[g>>2]|0;f=(c[h>>2]|0)-k>>4;f=f|0?k+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8?(j=c[f+8>>2]|0,j|0):0){f=j;break}Xr(a,-1)|0;k=c[g>>2]|0;f=(c[h>>2]|0)-k>>4;f=f|0?k+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)==8)f=c[f+8>>2]|0;else f=0}else f=c[f+-8>>2]|0;while(0);g=c[f+16>>2]|0;j=f;k=38;break}case 10:{j=a+68|0;d=c[j>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[j>>2]=d+16;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];i=c[p>>2]|0;if(i&8|0){g=(c[p+8>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1}f=c[j>>2]|0;do if((c[f+-16>>2]|0)!=8){Ir(a,-1,1);f=c[j>>2]|0;g=a+64|0;s=c[g>>2]|0;d=f-s>>4;d=d|0?s+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8?(h=c[d+8>>2]|0,h|0):0)break;Xr(a,-1)|0;f=c[j>>2]|0;s=c[g>>2]|0;d=f-s>>4;d=d|0?s+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)h=c[d+8>>2]|0;else h=0}else h=c[f+-8>>2]|0;while(0);g=c[h+16>>2]|0;if((c[(c[b+8>>2]|0)+16>>2]|0)>>>0<=g>>>0?(c[(c[a+304>>2]|0)+328>>2]|0)!=(h|0):0){d=c[a+268>>2]|0;j=h;k=38}else{e=1;n=j;o=f}break}case 6:{h=a+68|0;d=c[h>>2]|0;if(d>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[h>>2]=d+16;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];i=c[p>>2]|0;if(i&8|0){s=(c[p+8>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1}d=c[h>>2]|0;do if((c[d+-16>>2]|0)!=8){Ir(a,-1,1);g=a+64|0;s=c[g>>2]|0;d=(c[h>>2]|0)-s>>4;d=d|0?s+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8?(f=c[d+8>>2]|0,f|0):0)break;Xr(a,-1)|0;s=c[g>>2]|0;d=(c[h>>2]|0)-s>>4;d=d|0?s+(d+-1<<4)|0:0;d=(d|0)==0?368:d;if((c[d>>2]|0)==8)f=c[d+8>>2]|0;else f=0}else f=c[d+-8>>2]|0;while(0);d=c[a+124>>2]|0;g=c[f+16>>2]|0;j=f;k=38;break}default:br(a,342676,100666177,343153)}do if((k|0)==38){do if(c[d>>2]&33554432){s=(ps(a,d,74,p,m)|0)==0;d=c[m>>2]|0;if(s){g=c[j+16>>2]|0;break}h=a+68|0;e=c[h>>2]|0;f=a+56|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[h>>2]=e+16;c[e>>2]=9;c[e+8>>2]=d;e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[h>>2]|0;if(e>>>0>=(c[f>>2]|0)>>>0)mr(a,4153);c[h>>2]=e+16;c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];c[e+8>>2]=c[p+8>>2];c[e+12>>2]=c[p+12>>2];if(i&8|0){s=(c[p+8>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1}e=(c[h>>2]|0)-(c[a+64>>2]|0)|0;if((e|0)<64)nr(a,342568,55);Lr(a,(e>>>4)+-4|0,0)|0;f=is(a,-1)|0;if((f|0)==0?zr(a,d,j,g,q,0)|0:0){if(!(c[q>>2]&4))br(a,342676,100666220,343015);if(!(c[d>>2]&128))br(a,342676,100666220,343015)}d=c[h>>2]|0;e=d+-16|0;c[h>>2]=e;s=c[d+-16>>2]|0;d=c[d+-8>>2]|0;c[e>>2]=2;if((s&8|0)!=0?(q=d+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0){qr(c[a+44>>2]|0,d);e=c[h>>2]|0}q=e+-16|0;c[h>>2]=q;s=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[q>>2]=2;if(s&8|0?(q=e+4|0,s=(c[q>>2]|0)+-1|0,c[q>>2]=s,(s|0)==0):0)qr(c[a+44>>2]|0,e);s=f;l=r;return s|0}while(0);f=1e4;while(1){if(zr(a,d,j,g,q,0)|0){e=1;k=66;break}if(!f){k=64;break}d=c[d+20>>2]|0;if(!d){e=0;k=66;break}else f=f+-1|0}if((k|0)==64)br(a,342676,50333699,343030);else if((k|0)==66){o=a+68|0;n=o;o=c[o>>2]|0;break}}while(0);q=o+-16|0;c[n>>2]=q;s=c[o+-16>>2]|0;d=c[o+-8>>2]|0;c[q>>2]=2;if(!(s&8)){s=e;l=r;return s|0}q=d+4|0;s=(c[q>>2]|0)+-1|0;c[q>>2]=s;if(s|0){s=e;l=r;return s|0}qr(c[a+44>>2]|0,d);s=e;l=r;return s|0}function ps(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;k=m;if(!(c[b>>2]&33554432)){a=0;l=m;return a|0}h=c[b+44>>2]|0;c[f>>2]=c[b+40>>2];if((c[e>>2]|0)==8?c[c[e+8>>2]>>2]&1024|0:0){a=0;l=m;return a|0}j=a+68|0;f=c[j>>2]|0;b=c[a+52>>2]|0;e=f-b+832|0;b=b+e|0;i=a+56|0;g=c[i>>2]|0;do if(g>>>0<b>>>0)if((c[a+60>>2]|0)>>>0<b>>>0){Er(a,e,1)|0;f=c[j>>2]|0;b=c[i>>2]|0;break}else{c[i>>2]=b;break}else b=g;while(0);if(f>>>0>=b>>>0)mr(a,4153);c[j>>2]=f+16;c[f>>2]=9;c[f+8>>2]=h;b=h+4|0;c[b>>2]=(c[b>>2]|0)+1;b=d+-65536|0;e=b>>16;f=c[j>>2]|0;d=a+64|0;h=f-(c[d>>2]|0)>>4;g=((e|0)<0?h:0)+e|0;if(g>>>0>=h>>>0)Cr(a,300,e);b=c[(c[a+304>>2]|0)+((b&65535)<<2)>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0)mr(a,4153);c[j>>2]=f+16;c[f>>2]=8;c[f+8>>2]=b;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[d>>2]|0;f=(c[j>>2]|0)-e>>4;b=((g|0)<0?f:0)+g|0;if(b>>>0>=f>>>0)Cr(a,376,g);g=Kr(a,e+(b<<4)|0,e+(f+-1<<4)|0)|0;e=c[d>>2]|0;f=(c[j>>2]|0)-e>>4;b=f+-2|0;if(f>>>0<=1)Cr(a,376,-2);n=e+(b<<4)|0;h=e+(f+-1<<4)|0;i=c[n>>2]|0;b=c[e+(b<<4)+8>>2]|0;t6(n|0,n+16|0,h-n|0)|0;c[h>>2]=2;c[j>>2]=(c[j>>2]|0)+-16;if(i&8|0?(i=b+4|0,n=(c[i>>2]|0)+-1|0,c[i>>2]=n,(n|0)==0):0)qr(c[a+44>>2]|0,b);if(g|0){e=c[d>>2]|0;b=(c[j>>2]|0)-e>>4;if(b>>>0<=1)Cr(a,376,-2);f=e+(b+-2<<4)|0;b=e+(b+-1<<4)|0;e=b-f|0;if(e|0){c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];t6(f+16|0,f|0,e|0)|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[f+12>>2]=c[k+12>>2]}n=1;l=m;return n|0}e=c[j>>2]|0;b=e+-16|0;c[j>>2]=b;n=c[e+-16>>2]|0;e=c[e+-8>>2]|0;c[b>>2]=2;if((n&8|0)!=0?(k=e+4|0,n=(c[k>>2]|0)+-1|0,c[k>>2]=n,(n|0)==0):0){qr(c[a+44>>2]|0,e);b=c[j>>2]|0}k=b+-16|0;c[j>>2]=k;n=c[b+-16>>2]|0;b=c[b+-8>>2]|0;c[k>>2]=2;if(!(n&8)){n=0;l=m;return n|0}k=b+4|0;n=(c[k>>2]|0)+-1|0;c[k>>2]=n;if(n|0){n=0;l=m;return n|0}qr(c[a+44>>2]|0,b);n=0;l=m;return n|0}function qs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;m=o;g=f&1;n=c[e+16>>2]|0;do if(zr(b,d,e,n,m,0)|0){if(c[m>>2]&4|f&2|0){f=c[m+20>>2]|0;if((f|0)>=0){i=c[d+24>>2]|0;i=(c[d+16>>2]|0)+(i*21|0)+(0-i&7)|0;j=i+(f<<4)|0;k=c[j>>2]|0;f=c[i+(f<<4)+8>>2]|0;c[j>>2]=7;if(!(k&8))break;j=f+4|0;k=(c[j>>2]|0)+-1|0;c[j>>2]=k;if(k|0)break;qr(c[b+44>>2]|0,f);break}k=m+12|0;f=c[k>>2]|0;if((f|0)>=0){i=d+16|0;h=c[i>>2]|0;g=c[m+16>>2]|0;j=d+24|0;if((g|0)>-1){f=c[j>>2]|0;c[h+(f*21|0)+(0-f&7)+(c[d+32>>2]<<4)+(g<<2)>>2]=-2;f=c[k>>2]|0}if(!(a[h+((c[j>>2]|0)*20|0)+f>>0]&8)){p=h+(f<<4)|0;g=c[p>>2]|0;f=c[h+(f<<4)+8>>2]|0;c[p>>2]=2;if(g&8|0?(h=f+4|0,p=(c[h>>2]|0)+-1|0,c[h>>2]=p,(p|0)==0):0)vr(c[b+44>>2]|0,f)}else{p=h+(f<<4)|0;g=c[p>>2]|0;c[p>>2]=0;if((g|0)!=0?(q=g+4|0,p=(c[q>>2]|0)+-1|0,c[q>>2]=p,(p|0)==0):0){xr(c[b+44>>2]|0,g);g=c[i>>2]|0;f=c[k>>2]|0}else g=h;q=g+(f<<4)+4|0;f=c[q>>2]|0;c[q>>2]=0;if(f|0?(p=f+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)xr(c[b+44>>2]|0,f)}c[(c[i>>2]|0)+(c[j>>2]<<4)+(c[k>>2]<<2)>>2]=0;f=e+4|0;q=(c[f>>2]|0)+-1|0;c[f>>2]=q;f=b+44|0;if(!q)rs(c[f>>2]|0,e);f=c[f>>2]|0;if(!(c[f+32>>2]|0))break;lr(f);break}}if(!g){q=0;l=o;return q|0}else br(b,342676,100667691,343080)}while(0);if((n|0)==-1){q=1;l=o;return q|0}if(!(c[d>>2]&16777216)){q=1;l=o;return q|0}q=c[(c[b+304>>2]|0)+392>>2]|0;if(!(zr(b,d,q,c[q+16>>2]|0,m,1)|0)){q=1;l=o;return q|0}g=b+68|0;h=c[g>>2]|0;q=c[b+64>>2]|0;f=h-q>>4;f=f|0?q+(f+-1<<4)|0:0;f=(f|0)==0?368:f;if((c[f>>2]|0)!=9)ar(b,2130,-1,342926);i=c[f+8>>2]|0;if(!i)ar(b,2130,-1,342926);p=h+-16|0;c[g>>2]=p;q=c[h+-16>>2]|0;f=c[h+-8>>2]|0;c[p>>2]=2;if(q&8|0?(p=f+4|0,q=(c[p>>2]|0)+-1|0,c[p>>2]=q,(q|0)==0):0)qr(c[b+44>>2]|0,f);qs(b,i,e,0)|0;q=1;l=o;return q|0}function rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(c[a+56>>2]|0)return;d=a+196|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+208|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+220|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;d=a+232|0;if((c[d>>2]|0)==(b|0))c[d>>2]=0;f=a+188|0;c[f>>2]=(c[f>>2]|0)+-1;f=(c[a+176>>2]|0)+((c[a+180>>2]&c[b+12>>2])<<2)|0;e=0;d=f;while(1){d=c[d>>2]|0;if((d|0)==(b|0))break;else{e=d;d=d+8|0}}c[(e|0?e+8|0:f)>>2]=c[b+8>>2];li[c[a+12>>2]&511](c[a+16>>2]|0,b);return}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,k=0,l=0,m=0;l=a+68|0;i=a+64|0;e=c[i>>2]|0;f=(c[l>>2]|0)-e>>4;m=(b|0)<0;d=(m?f:0)+b|0;if(d>>>0>=f>>>0)Cr(a,376,b);g=+Ar(a,e+(d<<4)|0);h[j>>3]=g;d=c[j>>2]|0;e=c[j+4>>2]|0;f=e&2146435072;a:do if((f|0)<2146435072){switch(f|0){case 0:break;default:{k=6;break a}}if((e|0)<0)k=6;else f=0}else switch(f|0){case 2146435072:{f=0;break}default:k=6}while(0);if((k|0)==6){g=+A(+(+B(+g)));g=+o4((e|0)>-1|(e|0)==-1&d>>>0>4294967295?g:-g,4294967296.0);g=g<0.0?g+4294967296.0:g;f=~~(g>=2147483648.0?g+-4294967296.0:g)}e=c[i>>2]|0;l=(c[l>>2]|0)-e>>4;d=(m?l:0)+b|0;if(d>>>0>=l>>>0)Cr(a,376,b);l=e+(d<<4)|0;b=c[l>>2]|0;m=e+(d<<4)+8|0;d=c[m>>2]|0;c[l>>2]=0;h[m>>3]=+(f|0);if(!(b&8))return f|0;m=d+4|0;b=(c[m>>2]|0)+-1|0;c[m>>2]=b;if(b|0)return f|0;qr(c[a+44>>2]|0,d);return f|0}function ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(b>>>0>2147483646){a=0;return a|0}l=(d&2|0)!=0;m=(d&1|0)==0;g=m&(l^1)?b+24|0:24;h=a+44|0;k=c[h>>2]|0;c[h>>2]=k+-1;if((k|0)<1)dr(a,2);j=a+4|0;k=a+16|0;f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,0);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,0);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f){dr(a,1);f=Sh[c[j>>2]&255](c[k>>2]|0,g)|0;if(!f)f=0;else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7}else i=7;a:do if((i|0)==7){u6(f|0,0,(d&4|0?24:g)|0)|0;do if(l){g=0;i=20}else{if(m){g=f+24|0;i=20;break}if(!b){c[e>>2]=0;c[f+16>>2]=0;c[f>>2]=c[f>>2]&-132|130;d=f;break}i=c[h>>2]|0;c[h>>2]=i+-1;if((i|0)<1)dr(a,2);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,0);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;do if(!g){dr(a,0);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g){dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(g|0)break;dr(a,1);g=Sh[c[j>>2]&255](c[k>>2]|0,b)|0;if(!g)break a}}}}}}}}while(0);u6(g|0,0,b|0)|0}else u6(g|0,0,b|0)|0;c[e>>2]=g;c[f+20>>2]=g;i=21}while(0);if((i|0)==20){c[e>>2]=g;i=21}if((i|0)==21){c[f+16>>2]=b;g=c[f>>2]&-4;c[f>>2]=g|2;if(!m?(c[f>>2]=g|130,l):0){c[f>>2]=g|386;d=f}else d=f}g=a+24|0;h=c[g>>2]|0;if(h|0)c[h+12>>2]=d;c[d+12>>2]=0;c[d+8>>2]=h;c[g>>2]=d;a=f;return a|0}while(0);li[c[a+12>>2]&511](c[k>>2]|0,f);a=0;return a|0}function us(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+68|0;h=c[l>>2]|0;i=a+64|0;e=c[i>>2]|0;d=h-e|0;f=d>>4;k=f+-1|0;if(!f)Cr(a,300,-1);j=(d|0)<16;d=(j?f:0)+k|0;d=d>>>0<f>>>0?e+(d<<4)|0:0;d=(d|0)==0?368:d;a:do switch(c[d>>2]|0){case 10:{d=c[d+8>>2]|0;b=c[d+16>>2]|0;if(!(c[d>>2]&128)){g=d+24|0;break a}else{g=c[d+20>>2]|0;break a}}case 9:{b=c[d+8>>2]|0;if(!(c[b>>2]&8192))ar(a,2022,k,342479);d=c[b+40>>2]|0;if(!d)ar(a,2022,k,342479);e=c[b+48>>2]|0;b=c[b+52>>2]|0;if((b+e|0)>>>0>(c[d+16>>2]|0)>>>0)ar(a,2022,k,342479);if(!(c[d>>2]&128))d=d+24|0;else d=c[d+20>>2]|0;g=d+e|0;break}default:ar(a,2022,k,342479)}while(0);if(h>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4300);b=(g|0)==0?0:b;if((b|0)<0)br(a,342583,50335961,342945);d=fs(a,g,b)|0;e=c[l>>2]|0;c[l>>2]=e+16;c[e>>2]=8;c[e+8>>2]=d;d=d+4|0;c[d>>2]=(c[d>>2]|0)+1;d=c[i>>2]|0;e=(c[l>>2]|0)-d>>4;if(!e)Cr(a,376,-1);f=d+(e+-1<<4)|0;b=(j?e:0)+k|0;if(b>>>0>=e>>>0)Cr(a,376,k);j=d+(b<<4)|0;k=c[j>>2]|0;b=c[d+(b<<4)+8>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];c[f>>2]=2;c[l>>2]=(c[l>>2]|0)+-16;if(!(k&8))return;k=b+4|0;l=(c[k>>2]|0)+-1|0;c[k>>2]=l;if(l|0)return;qr(c[a+44>>2]|0,b);return}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+288|0;j=r+16|0;k=r+24|0;m=r;if(!b){e=c[(c[a+304>>2]|0)+60>>2]|0;f=a+68|0;g=c[f>>2]|0;if(g>>>0>=(c[a+56>>2]|0)>>>0)mr(a,4153);c[f>>2]=g+16;c[g>>2]=8;c[g+8>>2]=e;a=e+4|0;c[a>>2]=(c[a>>2]|0)+1;l=r;return}i=(r4(b)|0)+16|0;p=a+68|0;n=a+56|0;q=a+44|0;o=a+64|0;i=i>>>0>256?i:256;f=0;a:while(1){do if(i>>>0>=257)if(!f){if((c[p>>2]|0)>>>0>=(c[n>>2]|0)>>>0){e=9;break a}if(i>>>0>2147483646){e=11;break a}e=ts(c[q>>2]|0,i,1,j)|0;if(!e){e=13;break a}g=c[p>>2]|0;c[g>>2]=10;c[g+8>>2]=e;g=e+4|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16;g=c[j>>2]|0;h=1;break}else{h=c[o>>2]|0;e=(c[p>>2]|0)-h>>4;e=e|0?h+(e+-1<<4)|0:0;e=(e|0)==0?368:e;if((c[e>>2]|0)!=10){e=17;break a}e=c[e+8>>2]|0;if(!e){e=17;break a}if((c[e>>2]&384|0)!=128){e=19;break a}cr(a,e,i);g=c[e+20>>2]|0;h=f;break}else{g=k;h=f}while(0);c[m>>2]=c[d>>2];f=j3(g,i,b,m)|0;f=(f|0)<(i|0)?f:-1;if((f|0)>-1){e=25;break}e=i<<1;if(e>>>0>1073741823){e=24;break}i=e;f=h}if((e|0)==9)mr(a,5237);else if((e|0)==11)br(a,342583,50336889,342539);else if((e|0)==13)er(a,342583,5246);else if((e|0)==17)ar(a,2147,-1,342479);else if((e|0)==19)br(a,342486,100663312,342503);else if((e|0)==24)br(a,342583,50336216,343189);else if((e|0)==25){if((c[p>>2]|0)>>>0>=(c[n>>2]|0)>>>0)mr(a,4300);e=(g|0)==0?0:f;if((e|0)<0)br(a,342583,50335961,342945);n=fs(a,g,e)|0;m=c[p>>2]|0;c[p>>2]=m+16;c[m>>2]=8;c[m+8>>2]=n;n=n+4|0;c[n>>2]=(c[n>>2]|0)+1;if(!h){l=r;return}f=c[o>>2]|0;g=(c[p>>2]|0)-f>>4;e=g+-2|0;if(g>>>0<=1)Cr(a,376,-2);n=f+(e<<4)|0;o=f+(g+-1<<4)|0;a=c[n>>2]|0;e=c[f+(e<<4)+8>>2]|0;t6(n|0,n+16|0,o-n|0)|0;c[o>>2]=2;c[p>>2]=(c[p>>2]|0)+-16;if(!(a&8)){l=r;return}p=e+4|0;a=(c[p>>2]|0)+-1|0;c[p>>2]=a;if(a|0){l=r;return}qr(c[q>>2]|0,e);l=r;return}}
  44. function T1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=(j|0)/2|0;s=(k<<1)+j|0;if((i+1|0)>>>0<3|(j+1|0)>>>0<3)return;t=u<<1;r=h+(j<<2)+(k<<2)|0;p=(i|0)/2|0;while(1){q=e+t|0;m=u;n=e+j|0;o=r;k=f;i=g;l=h;while(1){m=m+-1|0;y=d[k>>0]|0;x=(c[a+(y<<2)>>2]|0)+256|0;v=d[i>>0]|0;y=(c[a+((y|256)<<2)>>2]|0)+1024+(c[a+((v|512)<<2)>>2]|0)|0;v=(c[a+((v|768)<<2)>>2]|0)+1792|0;w=d[e>>0]|0;c[l>>2]=c[b+(w+y<<2)>>2]|c[b+(w+x<<2)>>2]|c[b+(w+v<<2)>>2];w=d[e+1>>0]|0;c[l+4>>2]=c[b+(w+y<<2)>>2]|c[b+(w+x<<2)>>2]|c[b+(w+v<<2)>>2];w=d[n>>0]|0;c[o>>2]=c[b+(w+y<<2)>>2]|c[b+(w+x<<2)>>2]|c[b+(w+v<<2)>>2];w=d[n+1>>0]|0;c[o+4>>2]=c[b+(w+y<<2)>>2]|c[b+(w+x<<2)>>2]|c[b+(w+v<<2)>>2];if(!m)break;else{n=n+2|0;o=o+8|0;e=e+2|0;k=k+1|0;i=i+1|0;l=l+8|0}}p=p+-1|0;if(!p)break;else{r=r+(t<<2)+(s<<2)|0;e=q+j|0;f=f+u|0;g=g+u|0;h=h+(t<<2)+(s<<2)|0}}return}function U1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;z=(j<<1)+k|0;A=(j|0)/2|0;t=(z*3|0)+k|0;if((i+1|0)>>>0<3)return;u=(j+1|0)>>>0<3;v=z+1|0;w=A<<1;x=A<<2;y=w+j|0;s=h;k=h+(z<<1<<2)|0;h=e;r=(i|0)/2|0;q=e;while(1){r=r+-1|0;i=q+j|0;if(u){e=h;h=s}else{e=h+w|0;m=A;n=f;o=g;p=s;l=k;while(1){m=m+-1|0;F=d[n>>0]|0;E=(c[a+(F<<2)>>2]|0)+256|0;C=d[o>>0]|0;F=(c[a+((F|256)<<2)>>2]|0)+1024+(c[a+((C|512)<<2)>>2]|0)|0;C=(c[a+((C|768)<<2)>>2]|0)+1792|0;B=d[h>>0]|0;B=c[b+(B+F<<2)>>2]|c[b+(B+E<<2)>>2]|c[b+(B+C<<2)>>2];c[p+(v<<2)>>2]=B;c[p+(z<<2)>>2]=B;c[p+4>>2]=B;c[p>>2]=B;B=p+8|0;D=d[h+1>>0]|0;D=c[b+(D+F<<2)>>2]|c[b+(D+E<<2)>>2]|c[b+(D+C<<2)>>2];c[B+(v<<2)>>2]=D;c[B+(z<<2)>>2]=D;c[p+12>>2]=D;c[B>>2]=D;B=d[i>>0]|0;B=c[b+(B+F<<2)>>2]|c[b+(B+E<<2)>>2]|c[b+(B+C<<2)>>2];c[l+(v<<2)>>2]=B;c[l+(z<<2)>>2]=B;c[l+4>>2]=B;c[l>>2]=B;B=l+8|0;D=d[i+1>>0]|0;C=c[b+(D+F<<2)>>2]|c[b+(D+E<<2)>>2]|c[b+(D+C<<2)>>2];c[B+(v<<2)>>2]=C;c[B+(z<<2)>>2]=C;c[l+12>>2]=C;c[B>>2]=C;if(!m)break;else{n=n+1|0;o=o+1|0;p=p+16|0;i=i+2|0;l=l+16|0;h=h+2|0}}f=f+A|0;g=g+A|0;h=s+(x<<2)|0;i=q+y|0;k=k+(x<<2)|0}if(!r)break;else{s=h+(t<<2)|0;k=k+(t<<2)|0;h=e+j|0;q=i}}return}function V1(a,e,f,g,h,i,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=(k|0)/2|0;if((j|0)==0|(k+1|0)>>>0<3)return;q=s<<2;r=s<<1;while(1){k=s;m=g;g=g+q|0;n=h;o=i;p=f;while(1){k=k+-1|0;w=d[m>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;t=d[n>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((t|512)<<2)>>2]|0)|0;t=(c[a+((t|768)<<2)>>2]|0)+1792|0;u=d[p>>0]|0;b[o>>1]=c[e+(u+w<<2)>>2]|c[e+(u+v<<2)>>2]|c[e+(u+t<<2)>>2];u=d[p+2>>0]|0;b[o+2>>1]=c[e+(u+w<<2)>>2]|c[e+(u+v<<2)>>2]|c[e+(u+t<<2)>>2];if(!k)break;else{m=m+4|0;n=n+4|0;o=o+4|0;p=p+4|0}}j=j+-1|0;if(!j)break;else{h=h+q|0;i=i+(r<<1)+(l<<1)|0;f=f+q|0}}return}function W1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=((k|0)/2|0)+j|0;r=(j|0)/2|0;if((i|0)==0|(j+1|0)>>>0<3)return;o=r<<2;p=r<<1;n=e;while(1){k=r;j=f;f=f+o|0;e=g;l=h;m=n;while(1){k=k+-1|0;w=d[j>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;t=d[e>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((t|512)<<2)>>2]|0)|0;t=(c[a+((t|768)<<2)>>2]|0)+1792|0;s=d[m>>0]|0;s=c[b+(s+w<<2)>>2]|c[b+(s+v<<2)>>2]|c[b+(s+t<<2)>>2];c[l+(q<<2)>>2]=s;c[l>>2]=s;s=l+4|0;u=d[m+2>>0]|0;t=c[b+(u+w<<2)>>2]|c[b+(u+v<<2)>>2]|c[b+(u+t<<2)>>2];c[s+(q<<2)>>2]=t;c[s>>2]=t;if(!k)break;else{j=j+4|0;e=e+4|0;l=l+8|0;m=m+4|0}}i=i+-1|0;if(!i)break;else{g=g+o|0;h=h+(p<<2)+(q<<2)|0;n=n+o|0}}return}function X1(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=(k|0)/2|0;r=l*3|0;if((j|0)==0|(k+1|0)>>>0<3)return;p=s<<2;q=s*6|0;o=f;while(1){l=s;k=g;g=g+p|0;f=h;m=i;n=o;while(1){l=l+-1|0;w=d[k>>0]|0;v=(c[b+(w<<2)>>2]|0)+256|0;t=d[f>>0]|0;w=(c[b+((w|256)<<2)>>2]|0)+1024+(c[b+((t|512)<<2)>>2]|0)|0;t=(c[b+((t|768)<<2)>>2]|0)+1792|0;u=d[n>>0]|0;u=c[e+(u+w<<2)>>2]|c[e+(u+v<<2)>>2]|c[e+(u+t<<2)>>2];a[m>>0]=u;a[m+1>>0]=u>>>8;a[m+2>>0]=u>>>16;u=d[n+2>>0]|0;t=c[e+(u+w<<2)>>2]|c[e+(u+v<<2)>>2]|c[e+(u+t<<2)>>2];a[m+3>>0]=t;a[m+4>>0]=t>>>8;a[m+5>>0]=t>>>16;if(!l)break;else{k=k+4|0;f=f+4|0;m=m+6|0;n=n+4|0}}j=j+-1|0;if(!j)break;else{h=h+p|0;i=i+q+r|0;o=o+p|0}}return}function Y1(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;r=((k<<1)+l|0)*3|0;s=(k|0)/2|0;if(!j)return;t=r+3|0;u=r+4|0;v=r+1|0;w=r+5|0;x=r+2|0;if((k+1|0)>>>0<3)return;p=s<<2;q=s*12|0;o=f;while(1){l=s;k=g;g=g+p|0;f=h;m=i;n=o;while(1){l=l+-1|0;C=d[k>>0]|0;B=(c[b+(C<<2)>>2]|0)+256|0;y=d[f>>0]|0;C=(c[b+((C|256)<<2)>>2]|0)+1024+(c[b+((y|512)<<2)>>2]|0)|0;y=(c[b+((y|768)<<2)>>2]|0)+1792|0;z=d[n>>0]|0;z=c[e+(z+C<<2)>>2]|c[e+(z+B<<2)>>2]|c[e+(z+y<<2)>>2];A=z&255;a[m+t>>0]=A;a[m+r>>0]=A;a[m+3>>0]=A;a[m>>0]=A;A=z>>>8&255;a[m+u>>0]=A;a[m+v>>0]=A;a[m+4>>0]=A;a[m+1>>0]=A;z=z>>>16&255;a[m+w>>0]=z;a[m+x>>0]=z;a[m+5>>0]=z;a[m+2>>0]=z;z=m+6|0;A=d[n+2>>0]|0;y=c[e+(A+C<<2)>>2]|c[e+(A+B<<2)>>2]|c[e+(A+y<<2)>>2];A=y&255;a[z+t>>0]=A;a[z+r>>0]=A;a[m+9>>0]=A;a[z>>0]=A;A=y>>>8&255;a[z+u>>0]=A;a[z+v>>0]=A;a[m+10>>0]=A;a[m+7>>0]=A;y=y>>>16&255;a[z+w>>0]=y;a[z+x>>0]=y;a[m+11>>0]=y;a[m+8>>0]=y;if(!l)break;else{k=k+4|0;f=f+4|0;m=m+12|0;n=n+4|0}}j=j+-1|0;if(!j)break;else{h=h+p|0;i=i+q+r|0;o=o+p|0}}return}function Z1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=(j|0)/2|0;if((i|0)==0|(j+1|0)>>>0<3)return;p=r<<2;q=r<<1;while(1){j=r;l=f;f=f+p|0;m=g;n=h;o=e;while(1){j=j+-1|0;v=d[l>>0]|0;u=(c[a+(v<<2)>>2]|0)+256|0;s=d[m>>0]|0;v=(c[a+((v|256)<<2)>>2]|0)+1024+(c[a+((s|512)<<2)>>2]|0)|0;s=(c[a+((s|768)<<2)>>2]|0)+1792|0;t=d[o>>0]|0;c[n>>2]=c[b+(t+v<<2)>>2]|c[b+(t+u<<2)>>2]|c[b+(t+s<<2)>>2];t=d[o+2>>0]|0;c[n+4>>2]=c[b+(t+v<<2)>>2]|c[b+(t+u<<2)>>2]|c[b+(t+s<<2)>>2];if(!j)break;else{l=l+4|0;m=m+4|0;n=n+8|0;o=o+4|0}}i=i+-1|0;if(!i)break;else{g=g+p|0;h=h+(q<<2)+(k<<2)|0;e=e+p|0}}return}function _1(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=(j<<1)+k|0;q=(j|0)/2|0;if(!i)return;r=p+1|0;if((j+1|0)>>>0<3)return;o=q<<2;n=e;while(1){k=q;j=f;f=f+o|0;e=g;l=h;m=n;while(1){k=k+-1|0;w=d[j>>0]|0;v=(c[a+(w<<2)>>2]|0)+256|0;t=d[e>>0]|0;w=(c[a+((w|256)<<2)>>2]|0)+1024+(c[a+((t|512)<<2)>>2]|0)|0;t=(c[a+((t|768)<<2)>>2]|0)+1792|0;s=d[m>>0]|0;s=c[b+(s+w<<2)>>2]|c[b+(s+v<<2)>>2]|c[b+(s+t<<2)>>2];c[l+(r<<2)>>2]=s;c[l+(p<<2)>>2]=s;c[l+4>>2]=s;c[l>>2]=s;s=l+8|0;u=d[m+2>>0]|0;t=c[b+(u+w<<2)>>2]|c[b+(u+v<<2)>>2]|c[b+(u+t<<2)>>2];c[s+(r<<2)>>2]=t;c[s+(p<<2)>>2]=t;c[l+12>>2]=t;c[s>>2]=t;if(!k)break;else{j=j+4|0;e=e+4|0;l=l+16|0;m=m+4|0}}i=i+-1|0;if(!i)break;else{g=g+o|0;h=h+(o<<2)+(p<<2)|0;n=n+o|0}}return}function $1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;q=r+64|0;p=r+56|0;o=r+48|0;k=r+40|0;n=r+32|0;f=r+24|0;e=r+16|0;if(!a){vV(405282,r);q=0;l=r;return q|0}d=c[104297]|0;a:do if(d){if((c[a>>2]|0)!=(d+280|0)){vV(405282,e);break}d=c[a+140>>2]|0;if(d|0){while(1){e=c[d>>2]|0;if(e|0?(e3(e,404706)|0)==0:0)break;d=c[d+8>>2]|0;if(!d)break a}if(c[d+4>>2]|0){vV(405297,f);q=0;l=r;return q|0}}}else vV(386054,r+8|0);while(0);f=Of(405337)|0;d=c[104300]|0;i=(d|0)==0;b:do if(i){e=f;f=19}else{e=d;while(1){if(!(e3(405337,c[e>>2]|0)|0))break;e=c[e+16>>2]|0;if(!e){e=f;f=19;break b}}if(f|0?(c[e+8>>2]|0)!=2:0){f=20;break}e=c[e+4>>2]|0;f=19}while(0);if((f|0)==19)if(!e)j=0;else f=20;if((f|0)==20){j=(a_(405337,1)|0)==0;j=j?0:4}c:do if((b|0)>=0)if((b|0)>1){c[k>>2]=1;vV(405409,k);q=0;l=r;return q|0}else{d=Sh[c[c[32664+(b<<2)>>2]>>2]&255](a,j)|0;if(!d)d=0;else{h=d;break}l=r;return d|0}else{e=Of(405354)|0;d:do if(i){d=e;f=28}else{while(1){if(!(e3(405354,c[d>>2]|0)|0))break;d=c[d+16>>2]|0;if(!d){d=e;f=28;break d}}if(e|0?(c[d+8>>2]|0)!=2:0){d=e;f=29;break}d=c[d+4>>2]|0;f=28}while(0);if((f|0)==28?d|0:0)f=29;do if((f|0)==29){if(q4(d,c[4951]|0)|0)if(!(q4(d,c[7895]|0)|0))d=31576;else break;else d=19800;d=Sh[c[d>>2]&255](a,j)|0;if(d|0){h=d;break c}}while(0);if((c[4952]&j|0)==(j|0)?(h=Sh[c[4950]&255](a,j)|0,h|0):0)break;if((c[7896]&j|0)==(j|0)?(m=Sh[c[7894]&255](a,j)|0,m|0):0){h=m;break}vV(405372,n);q=0;l=r;return q|0}while(0);c[h>>2]=434477;c[h+188>>2]=a;g[h+288>>2]=1.0;g[h+292>>2]=1.0;d=c[104297]|0;do if(d)if((c[a>>2]|0)==(d+280|0)){d=(c[a+48>>2]&72|0)!=0;break}else{vV(405282,p);d=0;break}else{vV(386054,o);d=0}while(0);c[h+192>>2]=d&1;C0(a,404706,h)|0;J1(h,0);f=B2(12)|0;if(f|0){c[f>>2]=183;c[f+4>>2]=h;c[f+8>>2]=0;d=c[104587]|0;if(!d)d=418348;else{e=d;do{d=e+8|0;e=c[d>>2]|0}while((e|0)!=0)}c[d>>2]=f}c[q>>2]=c[h+104>>2];b2(0,0,q);q=h;l=r;return q|0}function a2(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+80|0;x=z+64|0;v=z+56|0;u=z+48|0;n=z+40|0;m=z+32|0;k=z+24|0;j=z+16|0;i=z+8|0;h=z;if(d|0?(c[d>>2]|0)==434477:0){if(!e)y=c[d+116>>2]|0;else y=e;t=(y|0)==0|(y&-268435456|0)==268435456;h=y&255;if((h|0)==0&t){vV(405128,i);g=0;l=z;return g|0}if(t?((y>>>24&15)+-1|0)>>>0<3:0){vV(405151,j);g=0;l=z;return g|0}if((f|0)<1|(g|0)<1){vV(405189,k);g=0;l=z;return g|0}i=c[d+180>>2]|0;e=c[d+184>>2]|0;if(!((i|0)!=0&(i|0)<(f|0))?!((e|0)!=0&(e|0)<(g|0)):0){e=B2(80)|0;if(!e){vV(392416,n);g=0;l=z;return g|0}if(c[e+-4>>2]&3|0){i=e;j=i+80|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0))}c[e>>2]=434478;q=e+4|0;c[q>>2]=y;c[e+8>>2]=1;c[e+12>>2]=f;c[e+16>>2]=g;c[e+28>>2]=-1;c[e+32>>2]=d;r=d+304|0;i=c[r>>2]|0;s=e+76|0;c[s>>2]=i;if(i|0)c[i+72>>2]=e;c[r>>2]=e;n=c[d+112>>2]|0;j=(n|0)==0;a:do if(!j){i=0;while(1){if((c[d+116+(i<<2)>>2]|0)==(y|0))break;i=i+1|0;if(i>>>0>=n>>>0)break a}if((Sh[c[d+12>>2]&255](d,e)|0)>=0){g=e;l=z;return g|0}F1(e);g=0;l=z;return g|0}while(0);b:do if(t){i=y>>>24&15;if(((i+-4|0)>>>0<3?(o=(y>>>20&15)+-3|0,o>>>0<6):0)?(51>>>(o&255)&1)!=0:0)i=1;else if((i+-7|0)>>>0<5?(p=(y>>>20&15)+-2|0,p>>>0<5):0)i=(27>>>(p&31)&1)!=0;else i=0;if(!j)if(i){m=0;while(1){i=c[d+116+(m<<2)>>2]|0;do if((i|0)==0|(i&-268435456|0)==268435456){j=i>>>24&15;do if((j+-4|0)>>>0<3){k=(i>>>20&15)+-3|0;if(k>>>0>=6)break;if(51>>>(k&255)&1)break b}while(0);if((j+-7|0)>>>0>=5)break;j=(i>>>20&15)+-2|0;if(j>>>0>=5)break;if(27>>>(j&31)&1)break b}while(0);m=m+1|0;if(m>>>0>=n>>>0){w=55;break}}}else{m=0;while(1){i=c[d+116+(m<<2)>>2]|0;c:do if((i|0)==0|(i&-268435456|0)==268435456){j=i>>>24&15;do if((j+-4|0)>>>0<3){k=(i>>>20&15)+-3|0;if(k>>>0>=6)break;if(51>>>(k&255)&1)break c}while(0);if((j+-7|0)>>>0>=5)break b;j=(i>>>20&15)+-2|0;if(j>>>0>=5)break b;if(!(27>>>(j&31)&1))break b}while(0);m=m+1|0;if(m>>>0>=n>>>0){w=55;break}}}else w=55}else if(j)w=55;else{i=0;while(1){if((c[d+116+(i<<2)>>2]|0)==(y|0)){i=y;break b}i=i+1|0;if(i>>>0>=n>>>0){w=55;break}}}while(0);if((w|0)==55)i=c[d+116>>2]|0;k=a2(d,i,f,g)|0;c[e+36>>2]=k;if(!k){F1(e);g=0;l=z;return g|0}i=c[s>>2]|0;c[k+76>>2]=i;if(i|0)c[i+72>>2]=k;i=k+72|0;j=c[i>>2]|0;c[e+72>>2]=j;if(j|0)c[j+76>>2]=e;c[i>>2]=e;c[s>>2]=k;c[r>>2]=e;w=c[q>>2]|0;if((w|0)==0|(w&-268435456|0)==268435456){d:do if(!t){if((y|0)<1498831189)switch(y|0){case 844715353:{h=2;break d}default:{}}else switch(y|0){case 1498831189:{h=2;break d}default:{}}h=(y|0)==1431918169?2:1}while(0);h=(O(h,f)|0)+3&-4;c[e+48>>2]=h;h=O(h,g)|0;i=B2(h)|0;if(!i){c[e+44>>2]=0;F1(e);g=0;l=z;return g|0}if(c[i+-4>>2]&3|0)u6(i|0,0,h|0)|0;c[e+44>>2]=i;g=e;l=z;return g|0}e:do if((y|0)<1431918169)if((y|0)<844715353)switch(y|0){case 842094169:{w=65;break e}default:{w=64;break e}}else switch(y|0){case 844715353:{w=65;break e}default:{w=64;break e}}else{if((y|0)<1448433993)switch(y|0){case 1431918169:{w=65;break e}default:{w=64;break e}}if((y|0)<1498831189)switch(y|0){case 1448433993:{w=65;break e}default:{w=64;break e}}else switch(y|0){case 1498831189:{w=65;break e}default:{w=64;break e}}}while(0);f:do if((w|0)==64){vV(405259,u);w=78}else if((w|0)==65){p=B2(64)|0;if(!p){vV(392416,v);w=78;break}if(c[p+-4>>2]&3|0){i=p;j=i+64|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0))}c[p>>2]=y;c[p+4>>2]=0;c[p+8>>2]=f;c[p+12>>2]=g;o=f<<1;h=p+16|0;c[h>>2]=B2(O(o,g)|0)|0;i=p+20|0;c[i>>2]=B2(4096)|0;j=B2(9216)|0;k=p+24|0;c[k>>2]=j;h=c[h>>2]|0;do if(h|0){n=c[i>>2]|0;if((j|0)==0|(n|0)==0)break;j=n+1024|0;k=n+2048|0;m=n+3072|0;i=0;do{A=+(i+-128|0);c[n+(i<<2)>>2]=~~(A*1.4013377926421404);c[j+(i<<2)>>2]=~~(A*-.7136038186157518);c[k+(i<<2)>>2]=~~(A*-.34441087613293053);c[m+(i<<2)>>2]=~~(A*1.7734138972809665);i=i+1|0}while((i|0)!=256);g:do if((y|0)<1431918169)if((y|0)<844715353)switch(y|0){case 842094169:{w=75;break g}default:{w=79;break g}}else switch(y|0){case 844715353:{w=76;break g}default:{w=79;break g}}else{if((y|0)<1448433993)switch(y|0){case 1431918169:{w=76;break g}default:{w=79;break g}}if((y|0)<1498831189)switch(y|0){case 1448433993:{w=75;break g}default:{w=79;break g}}else switch(y|0){case 1498831189:{w=76;break g}default:{w=79;break g}}}while(0);if((w|0)==75){j=f&65535;b[p+36>>1]=j;i=f>>>1&32767;b[p+38>>1]=i;b[p+40>>1]=(j&65535)>>>1;j=p+44|0;c[j>>2]=h;h=h+(O(f&65535,g)|0)|0;c[p+48>>2]=h;h=h+((O(i,g)|0)/2|0)|0;i=2}else if((w|0)==76){b[p+36>>1]=o;j=p+44|0;i=0}else if((w|0)==79){c[e+40>>2]=p;if(!p)break f;l=z;return e|0}c[j+(i<<2)>>2]=h;c[e+40>>2]=p;g=e;l=z;return g|0}while(0);C2(h);C2(c[i>>2]|0);C2(c[k>>2]|0);YV(c[p+56>>2]|0);YV(c[p+60>>2]|0);C2(p);vV(392416,x);w=78}while(0);if((w|0)==78)c[e+40>>2]=0;F1(e);g=0;l=z;return g|0}c[m>>2]=i;c[m+4>>2]=e;vV(405219,m);g=0;l=z;return g|0}vV(387185,h);g=0;l=z;return g|0}function b2(a,b,d){a=a|0;b=b|0;d=d|0;b=l;l=l+16|0;a=b;c[a>>2]=d;RZ(6,3,405452,a);l=b;return}function c2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+144|0;k=m;h=m+4|0;if(b&8192){b=b|512;d=a[436540]|0;if(!(d<<24>>24==0?1:(d<<24>>24==1|c[105295]|0)==0)){d=c[105274]|0;if(d|0)do{c[d+4>>2]=0;g2(c[d>>2]|0);e=c[105274]|0;a:do if(e|0){f=0;while(1){if((e|0)==(d|0))break;f=c[e+1344>>2]|0;if(!f)break a;else{n=e;e=f;f=n}}e=c[d+1344>>2]|0;if(!f){c[105274]=e;break}else{c[f+1344>>2]=e;break}}while(0);C2(d);d=c[105274]|0}while((d|0)!=0);d=c[105269]|0;if(d|0)do{c[105269]=c[d+24>>2];C2(c[d+16>>2]|0);C2(c[d+20>>2]|0);C2(d);d=c[105269]|0}while((d|0)!=0);d=c[104587]|0;b:do if(d|0){f=0;while(1){e=c[d+8>>2]|0;if((c[d>>2]|0)==182?(c[d+4>>2]|0)==0:0)break;if(!e)break b;else{f=d;d=e}}c[(f|0?f+8|0:418348)>>2]=e;C2(d)}while(0);d=a[436540]|0}if(d<<24>>24)a[436540]=d+-1<<24>>24}if(b&512){b=b|16384;d=a[436536]|0;if(!(d<<24>>24==0?1:(d<<24>>24==1|c[105295]|0)==0)){d=c[105296]|0;if(d|0)do{c[d+48>>2]=1;g2(d);d=c[105296]|0}while((d|0)!=0);d=c[105272]|0;if(d|0)do{n=d;d=c[d+1320>>2]|0;C2(c[n+8>>2]|0);C2(c[n+4>>2]|0);C2(n)}while((d|0)!=0);c[105275]=0;c[105272]=0;c[105273]=0;c[105276]=0;vf(0,0,0)|0;wf(0,0,0)|0;c2(16384);d=a[436536]|0}if(d<<24>>24)a[436536]=d+-1<<24>>24}if(b&16|0){d=a[436531]|0;if(!(d<<24>>24==0?1:(d<<24>>24==1|c[105295]|0)==0)){j1();d=a[436531]|0}if(d<<24>>24)a[436531]=d+-1<<24>>24}if(b&32){b=b|16384;d=a[436532]|0;if(!(d<<24>>24==0?1:(d<<24>>24==1|c[105295]|0)==0)){B1();d=a[436532]|0}if(d<<24>>24)a[436532]=d+-1<<24>>24}if(b&1|0?(g=a[436527]|0,g<<24>>24):0)a[436527]=g+-1<<24>>24;if(!(b&16384)){l=m;return}b=a[436541]|0;if(!(b<<24>>24==0?1:(b<<24>>24==1|c[105295]|0)==0)){zh(2,0,h|0)|0;if((c[h>>2]|0)==324){c[h>>2]=0;zh(2,h|0,0)|0}zh(15,0,h|0)|0;if((c[h>>2]|0)==324){c[h>>2]=0;zh(15,h|0,0)|0}d=Of(405473)|0;b=c[104300]|0;c:do if(!b){i=d;b=56}else{while(1){if(!(e3(405473,c[b>>2]|0)|0))break;b=c[b+16>>2]|0;if(!b){i=d;b=56;break c}}if(d|0?(c[b+8>>2]|0)!=2:0){c[7886]=0;j=d;b=57;break}i=c[b+4>>2]|0;b=56}while(0);if((b|0)==56?(c[7886]=0,i|0):0){j=i;b=57}if((b|0)==57?W5(j)|0:0){c[k>>2]=c[7888];e2(0,k)}b=c[7889]|0;if(b|0)do{n=b;b=c[b+72>>2]|0;C2(n)}while((b|0)!=0);b=c[7891]|0;if(b|0)do{n=b;b=c[b+72>>2]|0;C2(n)}while((b|0)!=0);b=c[7892]|0;if(b|0)do{n=b;b=c[b+12>>2]|0;C2(n)}while((b|0)!=0);b=c[7893]|0;if(b|0)do{n=b;b=c[b+12>>2]|0;C2(n)}while((b|0)!=0);c[7887]=0;c[7888]=0;c[7889]=0;c[7890]=0;c[7891]=0;c[7892]=0;c[7893]=0;b=0;do{n=417324+(b<<2)|0;C2(c[n>>2]|0);c[n>>2]=0;b=b+1|0}while((b|0)!=256);b=c[104587]|0;if(b|0)do{c[104587]=c[b+8>>2];C2(b);b=c[104587]|0}while((b|0)!=0);b=c[7885]|0;if(b|0){C2(b);c[7885]=0}b=a[436541]|0}if(!(b<<24>>24)){l=m;return}a[436541]=b+-1<<24>>24;l=m;return}function d2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;d=i+8|0;b=c[104297]|0;if(!b){vV(386054,i);l=i;return}if(a|0?(c[a>>2]|0)==(b+280|0):0){c[a+120>>2]=1;f=a+48|0;if(c[f>>2]&4|0){b=a+116|0;c[b>>2]=1;VZ(a,0)|0;d=c[104297]|0;e=c[d+84>>2]|0;if(e|0)li[e&511](d,a);c[b>>2]=0;WZ(a,2,0,0)}if((c[104594]|0)==(a|0))S$(0);do if((c[104313]|0)==(a|0)){WZ(a,11,0,0);c[104313]=0;b=c[104326]|0;d=c[104304]|0;e=(d|0)==0;if((b|0)!=0&(c[104328]|0)!=0&(c[104321]|0)==0){if(e)break;Rh[d&511](b)|0;break}else{if(e)break;Rh[d&511](0)|0;break}}while(0);if(c[f>>2]&2|0?(c[(c[104297]|0)+652>>2]|0)==(a|0):0)tV(a,0)|0;b=c[a+108>>2]|0;if(b|0){c[b>>2]=c[b>>2]&-5;YV(b)}b=c[104297]|0;d=c[b+140>>2]|0;if(d){li[d&511](b,a);b=c[104297]|0}d=c[b+128>>2]|0;if(d|0)li[d&511](b,a);do if(c[f>>2]&2|0){e=c[104297]|0;if(!e){vV(386054,g);break}b=e+388|0;d=c[b>>2]|0;if(((d|0)>0?(c[b>>2]=d+-1,(d|0)==1):0)?(h=c[e+172>>2]|0,h|0):0)fi[h&511](e)}while(0);b=d_(a)|0;if((b|0)>-1)b=(c[(c[104297]|0)+268>>2]|0)+(b*68|0)|0;else b=0;b=b+56|0;if((c[b>>2]|0)==(a|0))c[b>>2]=0;c[a>>2]=0;C2(c[a+8>>2]|0);YV(c[a+12>>2]|0);C2(c[a+100>>2]|0);d=a+140|0;b=c[d>>2]|0;if(b|0)do{c[d>>2]=c[b+8>>2];C2(c[b>>2]|0);C2(b);b=c[d>>2]|0}while((b|0)!=0);d=c[a+152>>2]|0;b=a+148|0;if(d|0)c[d+148>>2]=c[b>>2];h=c[b>>2]|0;c[((h|0)==0?(c[104297]|0)+272|0:h+152|0)>>2]=d;C2(a);l=i;return}vV(405282,d);l=i;return}function e2(a,b){a=a|0;b=b|0;var d=0;a=l;l=l+16|0;d=a;c[d>>2]=b;RZ(0,3,405500,d);l=a;return}function f2(a){a=a|0;Ah(a|0,324)|0;c[104330]=1;return}function g2(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=a+48|0;d=c[b>>2]|0;c[b>>2]=d+-1;if((d|0)>1|(c[105297]|0)==(a|0))return;b=a+44|0;d=c[b>>2]|0;if(d|0)c[d+16>>2]=0;c[b>>2]=0;b=c[105296]|0;a:do if(b|0){d=0;while(1){if((b|0)==(a|0))break;d=c[b+60>>2]|0;if(!d)break a;else{e=b;b=d;d=e}}b=c[a+60>>2]|0;if(!d){c[105296]=b;break}else{c[d+60>>2]=b;break}}while(0);C2(c[a+4>>2]|0);C2(c[a+12>>2]|0);C2(c[a+24>>2]|0);C2(c[a+32>>2]|0);C2(c[a+40>>2]|0);C2(a);return}function h2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+32|0;s=t+24|0;g=t+16|0;f=t+8|0;e=t;a=a+-1|0;if(a>>>0<=15?(r=c[421112+(a<<2)>>2]|0,r|0):0){if(c[r+144>>2]|0){vV(405594,f);l=t;return}if((c[r+20>>2]|0)!=13){vV(405641,g);l=t;return}if(!d){l=t;return}fi[c[421008>>2]&511](r);j=r+164|0;k=c[j>>2]|0;m=r+168|0;n=c[m>>2]|0;g=(n|0)!=0;if(g)i=c[n+8192>>2]|0;else i=0;o=r+172|0;h=r+176|0;e=n;while(1){if((e|0)!=0?(p=c[e+8192>>2]|0,p>>>0<=8191):0){a=e;e=p}else{a=c[o>>2]|0;if(!a){a=B2(8204)|0;if(!a){q=18;break}e=c[m>>2]|0}else c[o>>2]=c[a+8200>>2];c[a+8192>>2]=0;c[a+8196>>2]=0;c[a+8200>>2]=0;c[((e|0)==0?j:e+8200|0)>>2]=a;c[m>>2]=a;e=0}u=a+8192|0;f=8192-e|0;f=d>>>0<f>>>0?d:f;s6(a+e|0,b|0,f|0)|0;a=d-f|0;c[u>>2]=f+(c[u>>2]|0);c[h>>2]=(c[h>>2]|0)+f;if(!a)break;b=b+f|0;d=a;e=c[m>>2]|0}if((q|0)==18){if(g){u=n+8200|0;a=c[u>>2]|0;c[u>>2]=0;c[n+8192>>2]=i}else a=c[j>>2]|0;c[j>>2]=k;c[m>>2]=n;c[o>>2]=0;if(a|0)do{u=a;a=c[a+8200>>2]|0;C2(u)}while((a|0)!=0);vV(392416,s)}fi[c[421012>>2]&511](r);l=t;return}vV(405570,e);l=t;return}function i2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+164|0;h=c[j>>2]|0;g=(h|0)==0;a:do if(!e){f=d;h=8}else{k=b+176|0;l=b+172|0;f=d;i=e;while(1){if(g){h=9;break a}g=h+8192|0;o=h+8196|0;m=c[o>>2]|0;n=(c[g>>2]|0)-m|0;n=i>>>0<n>>>0?i:n;s6(f|0,h+m|0,n|0)|0;m=n+(c[o>>2]|0)|0;c[o>>2]=m;f=f+n|0;c[k>>2]=(c[k>>2]|0)-n;i=i-n|0;if((m|0)==(c[g>>2]|0)){n=h+8200|0;o=c[n>>2]|0;c[j>>2]=o;c[n>>2]=c[l>>2];c[l>>2]=h;h=o}else h=c[j>>2]|0;g=(h|0)==0;if(!i){h=8;break}}}while(0);if((h|0)==8)if(g)h=9;else g=f;if((h|0)==9){c[b+168>>2]=0;g=f}f=d-g+e|0;if((f|0)<=0)return;u6(g|0,a[b+11>>0]|0,f|0)|0;return}function j2(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+32|0;E=H;F=H+16|0;G=H+8|0;B=b+4|0;C=a[b+11>>0]|0;D=b+12|0;g=e[D>>1]|0;h=c[B>>2]|0;v=b+28|0;w=b+48|0;x=c[(c[v>>2]|0?w:b+16|0)>>2]|0;y=c[b+24>>2]|0;z=c[b+20>>2]|0;c[b+160>>2]=0;fi[c[420972>>2]&511](b);A=b+132|0;do{i=c[A>>2]|0;f=c[A>>2]|0;if((f|0)==(i|0))c[A>>2]=i}while((f|0)!=(i|0));f=(g*1e3|0)/(h|0)|0;if(!i){p=b+136|0;q=b+148|0;r=b+44|0;s=b+52|0;t=b+140|0;u=(f>>>0)/1e3|0;i=((f>>>0)%1e3|0)*1e6|0;j=F+4|0;k=G+4|0;m=b+68|0;n=b+108|0;o=b+32|0;do{if(!(c[v>>2]|0)){do{f=c[p>>2]|0;g=c[p>>2]|0;if((g|0)==(f|0))c[p>>2]=f}while((g|0)!=(f|0));if(!f)g=11;else{f=Rh[c[420988>>2]&511](b)|0;g=10}}else{f=c[r>>2]|0;g=10}if((g|0)==10){g=0;if(!f)g=11}if((g|0)==11)f=c[q>>2]|0;do{g=c[p>>2]|0;h=c[p>>2]|0;if((h|0)==(g|0))c[p>>2]=g}while((h|0)!=(g|0));do if(g|0){do{g=c[t>>2]|0;h=c[t>>2]|0;if((h|0)==(g|0))c[t>>2]=g}while((h|0)!=(g|0));if(!g){si[z&127](y,f,x);break}else{u6(f|0,C|0,x|0)|0;break}}while(0);do if(c[v>>2]|0){do{g=c[p>>2]|0;h=c[p>>2]|0;if((h|0)==(g|0))c[p>>2]=g}while((h|0)!=(g|0));if(g){if(d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24){f=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;a[s>>0]=f;a[s+1>>0]=f>>8;a[s+2>>0]=f>>16;a[s+3>>0]=f>>24;f=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;if(f|0){a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;li[f&511](v,d[o>>0]|d[o+1>>0]<<8)}}else vV(401908,E);f=Rh[c[420988>>2]&511](b)|0;if(!f){f=c[q>>2]|0;break}else{s6(f|0,c[r>>2]|0,c[s>>2]|0)|0;break}}}while(0);if((f|0)==(c[q>>2]|0)){c[F>>2]=u;c[j>>2]=i;f=u;g=i;while(1){c[105438]=0;c[G>>2]=f;c[k>>2]=g;h=(yh(G|0,F|0)|0)!=0;if(!(h&(c[105438]|0)==4))break;f=c[F>>2]|0;g=c[j>>2]|0}}else{fi[c[420980>>2]&511](b);fi[c[420976>>2]&511](b)}do{f=c[A>>2]|0;g=c[A>>2]|0;if((g|0)==(f|0))c[A>>2]=f}while((g|0)!=(f|0))}while(!(f|0))}fi[c[421e3>>2]&511](b);f=(((e[D>>1]|0)*1e3|0)/(c[B>>2]|0)|0)<<1;i=(f>>>0)/1e3|0;c[F>>2]=i;f=((f>>>0)%1e3|0)*1e6|0;g=F+4|0;c[g>>2]=f;h=G+4|0;while(1){c[105438]=0;c[G>>2]=i;c[h>>2]=f;E=(yh(G|0,F|0)|0)!=0;if(!(E&(c[105438]|0)==4))break;f=c[g>>2]|0;i=c[F>>2]|0}l=H;return 0}function k2(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;switch((f&255)<<24>>24){case 8:{i=e+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=e+24|0;h=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(h){j=i+(h<<1)|0;i=i+h|0;do{i=i+-1|0;l=j;j=j+-2|0;k=a[i>>0]|0;a[l+-1>>0]=k;a[j>>0]=k;h=h+-1|0}while((h|0)!=0)}break}case 16:{i=e+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=j>>>1;if(h){k=i+(j<<1)|0;i=i+j|0;do{i=i+-2|0;j=k;k=k+-4|0;l=b[i>>1]|0;b[j+-2>>1]=l;b[k>>1]=l;h=h+-1|0}while((h|0)!=0)}break}case 32:{i=e+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=j>>>2;if(h){k=i+j|0;i=i+(j<<1)|0;do{k=k+-4|0;j=i;i=i+-8|0;l=c[k>>2]|0;c[j+-4>>2]=l;c[i>>2]=l;h=h+-1|0}while((h|0)!=0)}break}default:g=e+24|0}l=(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)<<1;a[g>>0]=l;a[g+1>>0]=l>>8;a[g+2>>0]=l>>16;a[g+3>>0]=l>>24;l=e+80|0;g=(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)+1|0;a[l>>0]=g;a[l+1>>0]=g>>8;a[l+2>>0]=g>>16;a[l+3>>0]=g>>24;g=e+40+(g<<2)|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(!g)return;li[g&511](e,f);return}function l2(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0;m=e&65535;f=m&33279;a:do if(f<<16>>16>=-32480){if(f<<16>>16<8){switch(f<<16>>16){case -32480:break;default:{n=2;break a}}i=b+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;k=i+l|0;i=i+(l*3|0)|0;h=(l|0)/8|0;l=(l+7|0)>>>0<15;if(!(m&4096)){if(l)break;while(1){m=i;i=i+-24|0;l=k;k=k+-8|0;q=+g[k>>2];l=l+-4|0;p=+g[l>>2];o=q*.5+p*.5;g[i>>2]=q;c[m+-20>>2]=c[l>>2];g[m+-16>>2]=q-o;g[m+-12>>2]=p-o;g[m+-4>>2]=o;g[m+-8>>2]=o;h=h+-1|0;if(!h)break a}}else{if(l)break;while(1){m=i;i=i+-24|0;l=k;k=k+-8|0;r=c[k>>2]|0;s=p6(r|0)|0;o=(c[j>>2]=s,+g[j>>2]);l=l+-4|0;s=p6(c[l>>2]|0)|0;p=(c[j>>2]=s,+g[j>>2]);q=o*.5+p*.5;c[i>>2]=r;c[m+-20>>2]=c[l>>2];c[m+-16>>2]=p6((g[j>>2]=o-q,c[j>>2]|0)|0)|0;c[m+-12>>2]=p6((g[j>>2]=p-q,c[j>>2]|0)|0)|0;l=p6((g[j>>2]=q,c[j>>2]|0)|0)|0;c[m+-4>>2]=l;c[m+-8>>2]=l;h=h+-1|0;if(!h)break a}}}switch(f<<16>>16){case 8:{h=b+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!i)break a;k=i;l=h+i|0;h=h+(i*3|0)|0;while(1){s=h;h=h+-6|0;i=l;l=l+-2|0;t=a[l>>0]|0;i=a[i+-1>>0]|0;r=((i&255)>>>1)+((t&255)>>>1)<<24>>24;a[h>>0]=t;a[s+-5>>0]=i;m=r&255;a[s+-4>>0]=(t&255)-m;a[s+-3>>0]=(i&255)-m;a[s+-2>>0]=r;a[s+-1>>0]=r;k=k+-1|0;if(!k)break a}}case 16:break;default:{n=2;break a}}k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l*3|0)|0;h=(l|0)/4|0;l=(l+3|0)>>>0<7;if(!(m&4096)){if(l)break;do{t=k;k=k+-12|0;u=i;i=i+-4|0;v=a[u+-3>>0]|0;w=a[i>>0]|0;r=(v&255)<<8|w&255;l=a[u+-1>>0]|0;u=a[u+-2>>0]|0;m=(l&255)<<8|u&255;s=(m>>>1)+(r>>>1)|0;r=r-s|0;m=m-s|0;a[k>>0]=w;a[t+-11>>0]=v;a[t+-10>>0]=u;a[t+-9>>0]=l;a[t+-8>>0]=m;a[t+-7>>0]=m>>>8;a[t+-6>>0]=r;a[t+-5>>0]=r>>>8;r=s&255;a[t+-4>>0]=r;s=s>>>8&255;a[t+-3>>0]=s;a[t+-2>>0]=r;a[t+-1>>0]=s;h=h+-1|0}while((h|0)!=0)}else{if(l)break;do{w=k;k=k+-12|0;r=i;i=i+-4|0;m=a[i>>0]|0;l=a[r+-3>>0]|0;u=(m&255)<<8|l&255;s=a[r+-2>>0]|0;r=a[r+-1>>0]|0;t=(s&255)<<8|r&255;v=(t>>>1)+(u>>>1)|0;u=u-v|0;t=t-v|0;a[w+-11>>0]=l;a[k>>0]=m;a[w+-9>>0]=r;a[w+-10>>0]=s;a[w+-7>>0]=t;a[w+-8>>0]=t>>>8;a[w+-5>>0]=u;a[w+-6>>0]=u>>>8;u=v&255;a[w+-3>>0]=u;v=v>>>8&255;a[w+-4>>0]=v;a[w+-1>>0]=u;a[w+-2>>0]=v;h=h+-1|0}while((h|0)!=0)}}else switch(f<<16>>16){case -32760:{i=b+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=b+24|0;h=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!h)break a;k=i+(h*3|0)|0;i=i+h|0;do{w=k;k=k+-6|0;r=i;i=i+-2|0;m=a[i>>0]|0;r=a[r+-1>>0]|0;s=m<<24>>24;t=r<<24>>24;u=((t|0)/2|0)+((s|0)/2|0)|0;v=u&255;a[k>>0]=m;a[w+-5>>0]=r;a[w+-4>>0]=s-u;a[w+-3>>0]=t-u;a[w+-2>>0]=v;a[w+-1>>0]=v;h=h+-1|0}while((h|0)!=0);break}case -32752:{k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l*3|0)|0;h=(l|0)/4|0;l=(l+3|0)>>>0<7;if(!(m&4096)){if(l)break a;do{w=k;k=k+-12|0;r=i;i=i+-4|0;m=a[r+-3>>0]|0;s=a[r+-1>>0]|0;l=((m&255)<<8|(d[i>>0]|0))<<16>>16;r=((s&255)<<8|(d[r+-2>>0]|0))<<16>>16;v=((r|0)/2|0)+((l|0)/2|0)|0;u=l-v|0;t=r-v|0;a[k>>0]=l;a[w+-11>>0]=m;a[w+-10>>0]=r;a[w+-9>>0]=s;a[w+-8>>0]=t;a[w+-7>>0]=t>>>8;a[w+-6>>0]=u;a[w+-5>>0]=u>>>8;u=v&255;a[w+-4>>0]=u;v=v>>>8&255;a[w+-3>>0]=v;a[w+-2>>0]=u;a[w+-1>>0]=v;h=h+-1|0}while((h|0)!=0)}else{if(l)break a;do{w=k;k=k+-12|0;r=i;i=i+-4|0;m=a[i>>0]|0;s=a[r+-2>>0]|0;l=((m&255)<<8|(d[r+-3>>0]|0))<<16>>16;r=((s&255)<<8|(d[r+-1>>0]|0))<<16>>16;v=((r|0)/2|0)+((l|0)/2|0)|0;u=l-v|0;t=r-v|0;a[w+-11>>0]=l;a[k>>0]=m;a[w+-9>>0]=r;a[w+-10>>0]=s;a[w+-7>>0]=t;a[w+-8>>0]=t>>>8;a[w+-5>>0]=u;a[w+-6>>0]=u>>>8;u=v&255;a[w+-3>>0]=u;v=v>>>8&255;a[w+-4>>0]=v;a[w+-1>>0]=u;a[w+-2>>0]=v;h=h+-1|0}while((h|0)!=0)}break}case -32736:{k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l*3|0)|0;h=(l|0)/8|0;l=(l+7|0)>>>0<15;if(!(m&4096)){if(l)break a;do{w=k;k=k+-24|0;s=i;i=i+-8|0;t=c[i>>2]|0;s=s+-4|0;u=c[s>>2]|0;v=((u|0)/2|0)+((t|0)/2|0)|0;c[k>>2]=t;c[w+-20>>2]=c[s>>2];c[w+-16>>2]=t-v;c[w+-12>>2]=u-v;c[w+-8>>2]=v;c[w+-4>>2]=v;h=h+-1|0}while((h|0)!=0)}else{if(l)break a;do{w=k;k=k+-24|0;s=i;i=i+-8|0;r=c[i>>2]|0;t=p6(r|0)|0;s=c[s+-4>>2]|0;u=p6(s|0)|0;v=((u|0)/2|0)+((t|0)/2|0)|0;c[k>>2]=r;c[w+-20>>2]=s;c[w+-16>>2]=p6(t-v|0)|0;c[w+-12>>2]=p6(u-v|0)|0;v=p6(v|0)|0;c[w+-8>>2]=v;c[w+-4>>2]=v;h=h+-1|0}while((h|0)!=0)}break}default:{n=2;break a}}while(0);if((n|0)==2)f=b+24|0;w=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)*3|0;a[f>>0]=w;a[f+1>>0]=w>>8;a[f+2>>0]=w>>16;a[f+3>>0]=w>>24;w=b+80|0;f=(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24)+1|0;a[w>>0]=f;a[w+1>>0]=f>>8;a[w+2>>0]=f>>16;a[w+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,e);return}function m2(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0;m=e&65535;f=m&33279;a:do if(f<<16>>16>=-32480){if(f<<16>>16<8){switch(f<<16>>16){case -32480:break;default:{n=2;break a}}i=b+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;k=i+l|0;i=i+(l<<1)|0;h=(l|0)/8|0;l=(l+7|0)>>>0<15;if(!(m&4096)){if(l)break;while(1){m=i;i=i+-16|0;l=k;k=k+-8|0;q=+g[k>>2];l=l+-4|0;p=+g[l>>2];o=q*.5+p*.5;g[i>>2]=q;c[m+-12>>2]=c[l>>2];g[m+-8>>2]=q-o;g[m+-4>>2]=p-o;h=h+-1|0;if(!h)break a}}else{if(l)break;while(1){m=i;i=i+-16|0;l=k;k=k+-8|0;r=c[k>>2]|0;s=p6(r|0)|0;o=(c[j>>2]=s,+g[j>>2]);l=l+-4|0;s=p6(c[l>>2]|0)|0;p=(c[j>>2]=s,+g[j>>2]);q=o*.5+p*.5;c[i>>2]=r;c[m+-12>>2]=c[l>>2];c[m+-8>>2]=p6((g[j>>2]=o-q,c[j>>2]|0)|0)|0;c[m+-4>>2]=p6((g[j>>2]=p-q,c[j>>2]|0)|0)|0;h=h+-1|0;if(!h)break a}}}switch(f<<16>>16){case 8:{h=b+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!i)break a;k=i;l=h+i|0;h=h+(i<<1)|0;while(1){s=h;h=h+-4|0;m=l;l=l+-2|0;i=a[l>>0]|0;m=a[m+-1>>0]|0;a[h>>0]=i;a[s+-3>>0]=m;r=((m&255)>>>1)+((i&255)>>>1)&255;a[s+-2>>0]=(i&255)-r;a[s+-1>>0]=(m&255)-r;k=k+-1|0;if(!k)break a}}case 16:break;default:{n=2;break a}}k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l<<1)|0;h=(l|0)/4|0;l=(l+3|0)>>>0<7;if(!(m&4096)){if(l)break;do{s=k;k=k+-8|0;t=i;i=i+-4|0;u=a[t+-3>>0]|0;v=a[i>>0]|0;r=(u&255)<<8|v&255;l=a[t+-1>>0]|0;t=a[t+-2>>0]|0;w=(l&255)<<8|t&255;m=(w>>>1)+(r>>>1)|0;r=r-m|0;m=w-m|0;a[k>>0]=v;a[s+-7>>0]=u;a[s+-6>>0]=t;a[s+-5>>0]=l;a[s+-4>>0]=m;a[s+-3>>0]=m>>>8;a[s+-2>>0]=r;a[s+-1>>0]=r>>>8;h=h+-1|0}while((h|0)!=0)}else{if(l)break;do{w=k;k=k+-8|0;s=i;i=i+-4|0;r=a[i>>0]|0;m=a[s+-3>>0]|0;v=(r&255)<<8|m&255;t=a[s+-2>>0]|0;s=a[s+-1>>0]|0;l=(t&255)<<8|s&255;u=(l>>>1)+(v>>>1)|0;v=v-u|0;u=l-u|0;a[w+-7>>0]=m;a[k>>0]=r;a[w+-5>>0]=s;a[w+-6>>0]=t;a[w+-3>>0]=u;a[w+-4>>0]=u>>>8;a[w+-1>>0]=v;a[w+-2>>0]=v>>>8;h=h+-1|0}while((h|0)!=0)}}else switch(f<<16>>16){case -32760:{i=b+16|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=b+24|0;h=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!h)break a;k=i+(h<<1)|0;i=i+h|0;do{w=k;k=k+-4|0;s=i;i=i+-2|0;r=a[i>>0]|0;s=a[s+-1>>0]|0;t=r<<24>>24;u=s<<24>>24;v=((u|0)/2|0)+((t|0)/2|0)|0;a[k>>0]=r;a[w+-3>>0]=s;a[w+-2>>0]=t-v;a[w+-1>>0]=u-v;h=h+-1|0}while((h|0)!=0);break}case -32752:{k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l<<1)|0;h=(l|0)/4|0;l=(l+3|0)>>>0<7;if(!(m&4096)){if(l)break a;do{w=k;k=k+-8|0;s=i;i=i+-4|0;r=a[s+-3>>0]|0;t=a[s+-1>>0]|0;m=((r&255)<<8|(d[i>>0]|0))<<16>>16;s=((t&255)<<8|(d[s+-2>>0]|0))<<16>>16;u=((s|0)/2|0)+((m|0)/2|0)|0;v=m-u|0;u=s-u|0;a[k>>0]=m;a[w+-7>>0]=r;a[w+-6>>0]=s;a[w+-5>>0]=t;a[w+-4>>0]=u;a[w+-3>>0]=u>>>8;a[w+-2>>0]=v;a[w+-1>>0]=v>>>8;h=h+-1|0}while((h|0)!=0)}else{if(l)break a;do{w=k;k=k+-8|0;s=i;i=i+-4|0;r=a[i>>0]|0;t=a[s+-2>>0]|0;m=((r&255)<<8|(d[s+-3>>0]|0))<<16>>16;s=((t&255)<<8|(d[s+-1>>0]|0))<<16>>16;u=((s|0)/2|0)+((m|0)/2|0)|0;v=m-u|0;u=s-u|0;a[w+-7>>0]=m;a[k>>0]=r;a[w+-5>>0]=s;a[w+-6>>0]=t;a[w+-3>>0]=u;a[w+-4>>0]=u>>>8;a[w+-1>>0]=v;a[w+-2>>0]=v>>>8;h=h+-1|0}while((h|0)!=0)}break}case -32736:{k=b+16|0;k=d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24;f=b+24|0;l=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;i=k+l|0;k=k+(l<<1)|0;h=(l|0)/8|0;l=(l+7|0)>>>0<15;if(!(m&4096)){if(l)break a;do{w=k;k=k+-16|0;s=i;i=i+-8|0;t=c[i>>2]|0;s=s+-4|0;u=c[s>>2]|0;v=((u|0)/2|0)+((t|0)/2|0)|0;c[k>>2]=t;c[w+-12>>2]=c[s>>2];c[w+-8>>2]=t-v;c[w+-4>>2]=u-v;h=h+-1|0}while((h|0)!=0)}else{if(l)break a;do{w=k;k=k+-16|0;s=i;i=i+-8|0;r=c[i>>2]|0;t=p6(r|0)|0;s=s+-4|0;u=p6(c[s>>2]|0)|0;v=((u|0)/2|0)+((t|0)/2|0)|0;c[k>>2]=r;c[w+-12>>2]=c[s>>2];c[w+-8>>2]=p6(t-v|0)|0;c[w+-4>>2]=p6(u-v|0)|0;h=h+-1|0}while((h|0)!=0)}break}default:{n=2;break a}}while(0);if((n|0)==2)f=b+24|0;w=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)<<1;a[f>>0]=w;a[f+1>>0]=w>>8;a[f+2>>0]=w>>16;a[f+3>>0]=w>>24;w=b+80|0;f=(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24)+1|0;a[w>>0]=f;a[w+1>>0]=f>>8;a[w+2>>0]=f>>16;a[w+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,e);return}function n2(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch((f&255)<<24>>24){case 8:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=6){k=h;i=h;h=(j>>>0)/6|0;while(1){a[k>>0]=a[i>>0]|0;a[k+1>>0]=a[i+1>>0]|0;h=h+-1|0;if(!h)break;else{k=k+2|0;i=i+6|0}}}break}case 16:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=12){k=h;i=h;h=(j>>>0)/12|0;while(1){b[k>>1]=b[i>>1]|0;b[k+2>>1]=b[i+2>>1]|0;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+12|0}}}break}case 32:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=24){k=h;i=h;h=(j>>>0)/24|0;while(1){c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];h=h+-1|0;if(!h)break;else{k=k+24|0;i=i+8|0}}}break}default:g=e+24|0}k=(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)/3|0;a[g>>0]=k;a[g+1>>0]=k>>8;a[g+2>>0]=k>>16;a[g+3>>0]=k>>24;k=e+80|0;g=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=g;a[k+1>>0]=g>>8;a[k+2>>0]=g>>16;a[k+3>>0]=g>>24;g=e+40+(g<<2)|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(!g)return;li[g&511](e,f);return}function o2(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch((f&255)<<24>>24){case 8:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=6){k=h;i=h;h=(j>>>0)/6|0;while(1){a[k>>0]=a[i>>0]|0;a[k+1>>0]=a[i+1>>0]|0;a[k+2>>0]=a[i+2>>0]|0;a[k+3>>0]=a[i+3>>0]|0;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+6|0}}}break}case 16:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=12){k=h;i=h;h=(j>>>0)/12|0;while(1){b[k>>1]=b[i>>1]|0;b[k+2>>1]=b[i+2>>1]|0;b[k+4>>1]=b[i+4>>1]|0;b[k+6>>1]=b[i+6>>1]|0;h=h+-1|0;if(!h)break;else{k=k+8|0;i=i+12|0}}}break}case 32:{h=e+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=e+24|0;j=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(j>>>0>=24){k=h;i=h;h=(j>>>0)/24|0;while(1){c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];h=h+-1|0;if(!h)break;else{k=k+24|0;i=i+16|0}}}break}default:g=e+24|0}k=((d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)/6|0)<<2;a[g>>0]=k;a[g+1>>0]=k>>8;a[g+2>>0]=k>>16;a[g+3>>0]=k>>24;k=e+80|0;g=(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)+1|0;a[k>>0]=g;a[k+1>>0]=g>>8;a[k+2>>0]=g>>16;a[k+3>>0]=g>>24;g=e+40+(g<<2)|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;if(!g)return;li[g&511](e,f);return}function p2(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,k=0,l=0,m=0,n=0.0,o=0;k=e&65535;f=k&33279;a:do if(f<<16>>16>=-32480){if(f<<16>>16<8){switch(f<<16>>16){case -32480:break;default:{m=2;break a}}l=b+16|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=(i|0)/8|0;i=(i+7|0)>>>0<15;if(!(k&4096)){if(i)break;else{k=l;i=l}while(1){g[k>>2]=(+g[i>>2]+ +g[i+4>>2])*.5;h=h+-1|0;if(!h)break a;else{k=k+4|0;i=i+8|0}}}else{if(i)break;else{k=l;i=l}while(1){l=p6(c[i>>2]|0)|0;n=(c[j>>2]=l,+g[j>>2]);l=p6(c[i+4>>2]|0)|0;c[k>>2]=p6((g[j>>2]=(n+(c[j>>2]=l,+g[j>>2]))*.5,c[j>>2]|0)|0)|0;h=h+-1|0;if(!h)break a;else{k=k+4|0;i=i+8|0}}}}switch(f<<16>>16){case 8:{h=b+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=b+24|0;k=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if((k+1|0)>>>0<3)break a;l=h;i=h;h=(k|0)/2|0;while(1){a[i>>0]=((d[l+1>>0]|0)+(d[l>>0]|0)|0)>>>1;h=h+-1|0;if(!h)break a;else{l=l+2|0;i=i+1|0}}}case 16:break;default:{m=2;break a}}l=b+16|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=(i|0)/4|0;i=(i+3|0)>>>0<7;if(!(k&4096)){if(i)break;else{k=l;i=l}while(1){l=(d[k+3>>0]<<8|d[k+2>>0])+(d[k+1>>0]<<8|d[k>>0])|0;a[i>>0]=l>>>1;a[i+1>>0]=l>>>9;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+2|0}}}else{if(i)break;else{k=l;i=l}while(1){l=(d[k+2>>0]<<8|d[k+3>>0])+(d[k>>0]<<8|d[k+1>>0])|0;a[i+1>>0]=l>>>1;a[i>>0]=l>>>9;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+2|0}}}}else switch(f<<16>>16){case -32760:{h=b+16|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=b+24|0;k=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if((k+1|0)>>>0<3)break a;l=h;i=h;h=(k|0)/2|0;while(1){a[i>>0]=((a[l+1>>0]|0)+(a[l>>0]|0)|0)/2|0;h=h+-1|0;if(!h)break;else{l=l+2|0;i=i+1|0}}break}case -32752:{l=b+16|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=(i|0)/4|0;i=(i+3|0)>>>0<7;if(!(k&4096)){if(i)break a;else{k=l;i=l}while(1){l=(((d[k+3>>0]<<8|d[k+2>>0])<<16>>16)+((d[k+1>>0]<<8|d[k>>0])<<16>>16)|0)/2|0;a[i>>0]=l;a[i+1>>0]=l>>>8;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+2|0}}}else{if(i)break a;else{k=l;i=l}while(1){l=(((d[k+2>>0]<<8|d[k+3>>0])<<16>>16)+((d[k>>0]<<8|d[k+1>>0])<<16>>16)|0)/2|0;a[i+1>>0]=l;a[i>>0]=l>>>8;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+2|0}}}break}case -32736:{l=b+16|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;f=b+24|0;i=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;h=(i|0)/8|0;i=(i+7|0)>>>0<15;if(!(k&4096)){if(i)break a;else{k=l;i=l}while(1){l=c[i>>2]|0;o=c[i+4>>2]|0;l=b6(o|0,((o|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=f6(l|0,z|0,2,0)|0;c[k>>2]=l;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+8|0}}}else{if(i)break a;else{k=l;i=l}while(1){o=p6(c[i>>2]|0)|0;l=p6(c[i+4>>2]|0)|0;o=b6(l|0,((l|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=f6(o|0,z|0,2,0)|0;c[k>>2]=p6(o|0)|0;h=h+-1|0;if(!h)break;else{k=k+4|0;i=i+8|0}}}break}default:{m=2;break a}}while(0);if((m|0)==2)f=b+24|0;o=(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24|0)/2|0;a[f>>0]=o;a[f+1>>0]=o>>8;a[f+2>>0]=o>>16;a[f+3>>0]=o>>24;o=b+80|0;f=(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)+1|0;a[o>>0]=f;a[o+1>>0]=f>>8;a[o+2>>0]=f>>16;a[o+3>>0]=f>>24;f=b+40+(f<<2)|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;if(!f)return;li[f&511](b,e);return}function q2(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+1488|0;t=x+1432|0;w=x;v=c[b+44>>2]|0;if(!v){l=x;return}if(ac(c[v>>2]|0,w|0)|0){l=x;return}d=+h[w>>3];if(!(d==0.0)?!(d!=+h[v+32>>3]):0){l=x;return}m=v+20|0;if((c[m>>2]|0)>0){n=v+16|0;o=t+8|0;p=t+12|0;q=t+13|0;r=t+4|0;k=0;do{s=v+1064+(k<<2)|0;b=c[s>>2]|0;j=w+1040+(k<<2)|0;e=c[j>>2]|0;if((b|0)!=(e|0)){b=(e|0)!=0;e=b&1;f=c[n>>2]|0;g=k&255;c[t>>2]=b?1539:1540;i=k&255;do if((i|0)<(c[f+36>>2]|0)?(u=(c[f+40>>2]|0)+i|0,(a[u>>0]|0)!=e<<24>>24):0){if(!((c[105277]|0)!=0|(a[436532]|0)==0)?b&(c[104594]|0)==0:0)break;a[u>>0]=e;i=c[t>>2]|0;b=c[417324+((i>>>8&255)<<2)>>2]|0;if(b|0?c[b+((i>>>5&7)<<2)>>2]&1<<(i&31)|0:0)break;c[o>>2]=c[f>>2];a[p>>0]=g;a[q>>0]=e;c[r>>2]=YZ()|0;b=c[104587]|0;if(b|0)do{Sh[c[b>>2]&255](c[b+4>>2]|0,t)|0;b=c[b+8>>2]|0}while((b|0)!=0);if((ZZ(t,1,0,0,0)|0)>=1)_Z(t)}while(0);b=c[j>>2]|0}h[v+552+(k<<3)>>3]=+h[w+528+(k<<3)>>3];c[s>>2]=b;k=k+1|0}while((k|0)<(c[m>>2]|0))}f=v+24|0;if((c[f>>2]|0)>0){g=v+16|0;e=0;do{i=v+40+(e<<3)|0;b=w+16+(e<<3)|0;d=+h[b>>3];if(+h[i>>3]!=d){r2(c[g>>2]|0,e&255,~~(d*32767.0));d=+h[b>>3]}h[i>>3]=d;e=e+1|0}while((e|0)<(c[f>>2]|0))}h[v+32>>3]=+h[w>>3];l=x;return}function r2(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k;g=e&255;if((g|0)>=(c[d+8>>2]|0)){l=k;return}h=(c[d+12>>2]|0)+(g<<1)|0;i=b[h>>1]|0;if(i<<16>>16==f<<16>>16){l=k;return}if((c[105277]|0)==0?(a[436532]|0)!=0&(c[104594]|0)==0:0){g=b[(c[d+16>>2]|0)+(g<<1)>>1]|0;if(!(g<<16>>16>=f<<16>>16?1:i<<16>>16>f<<16>>16)){l=k;return}if(!(g<<16>>16<=f<<16>>16?1:i<<16>>16<f<<16>>16)){l=k;return}}b[h>>1]=f;i=c[104337]|0;if(i|0?c[i>>2]&1|0:0){l=k;return}c[j>>2]=1536;c[j+8>>2]=c[d>>2];a[j+12>>0]=e;b[j+16>>1]=f;c[j+4>>2]=YZ()|0;g=c[104587]|0;if(g|0)do{Sh[c[g>>2]&255](c[g+4>>2]|0,j)|0;g=c[g+8>>2]|0}while((g|0)!=0);if((ZZ(j,1,0,0,0)|0)>=1)_Z(j);l=k;return}function s2(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;y=z;k=c[104297]|0;if(k|0)fi[c[k+204>>2]&511](k);if(!(((((((((((((((c[104337]|0)!=0?(m=c[104337]|0,(m|0)!=0):0)?(c[m>>2]&1|0)!=0:0)?(e=c[104337]|0,(e|0)!=0):0)?(c[e>>2]&2|0)!=0:0)?(f=c[104337]|0,(f|0)!=0):0)?(c[f>>2]&4|0)!=0:0)?(g=c[104337]|0,(g|0)!=0):0)?(c[g>>2]&8|0)!=0:0)?(h=c[104337]|0,(h|0)!=0):0)?(c[h>>2]&16|0)!=0:0)?(i=c[104337]|0,(i|0)!=0):0)?(c[i>>2]&32|0)!=0:0)?(j=c[104337]|0,(j|0)!=0):0)?(c[j>>2]&64|0)!=0:0))n=7;if((n|0)==7?(o=c[105296]|0,o|0):0){n=y+8|0;p=y+12|0;q=y+13|0;r=y+8|0;s=y+12|0;t=y+13|0;u=y+4|0;v=y+4|0;do{k=o;o=c[o+60>>2]|0;c[105297]=k;q2(k);m=k+52|0;if(c[m>>2]|0){f=k+8|0;if((c[f>>2]|0)>0){g=k+16|0;e=0;do{r2(k,e&255,b[(c[g>>2]|0)+(e<<1)>>1]|0);e=e+1|0}while((e|0)<(c[f>>2]|0))}i=k+36|0;e=c[i>>2]|0;if((e|0)>0){j=k+40|0;h=0;do{f=h&255;c[y>>2]=1540;g=h&255;do if((g|0)<(e|0)?(w=(c[j>>2]|0)+g|0,a[w>>0]|0):0){a[w>>0]=0;g=c[y>>2]|0;e=c[417324+((g>>>8&255)<<2)>>2]|0;if(e|0?c[e+((g>>>5&7)<<2)>>2]&1<<(g&31)|0:0)break;c[r>>2]=c[k>>2];a[s>>0]=f;a[t>>0]=0;c[u>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,y)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(y,1,0,0,0)|0)>=1)_Z(y)}while(0);h=h+1|0;e=c[i>>2]|0}while((h|0)<(e|0))}i=k+20|0;e=c[i>>2]|0;if((e|0)>0){j=k+24|0;h=0;do{f=h&255;g=h&255;do if((g|0)<(e|0)?(x=(c[j>>2]|0)+g|0,a[x>>0]|0):0){a[x>>0]=0;g=c[104337]|0;if(g|0?c[g>>2]&4|0:0)break;c[y>>2]=1538;c[n>>2]=c[k>>2];a[p>>0]=f;a[q>>0]=0;c[v>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,y)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(y,1,0,0,0)|0)>=1)_Z(y)}while(0);h=h+1|0;e=c[i>>2]|0}while((h|0)<(e|0))}c[m>>2]=0}c[105297]=0;if((c[k+48>>2]|0)<1)g2(k)}while((o|0)!=0)}do if(c[104330]|0){c[104330]=0;x=c[104332]|0;if(x|0?c[x>>2]&1|0:0)break;c[y>>2]=256;c[y+4>>2]=YZ()|0;e=c[104587]|0;if(e|0)do{Sh[c[e>>2]&255](c[e+4>>2]|0,y)|0;e=c[e+8>>2]|0}while((e|0)!=0);if((ZZ(y,1,0,0,0)|0)>=1)_Z(y)}while(0);switch(ZZ(d,1,2,0,65535)|0){case 0:case -1:break;default:{y=1;l=z;return y|0}}y=0;l=z;return y|0}function t2(a){a=a|0;a=(c[a+32>>2]|0)-(c[a+24>>2]|0)|0;z=((a|0)<0)<<31>>31;return a|0}function u2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;switch(e|0){case 0:{d=a+24|0;break}case 1:{d=a+28|0;break}case 2:{d=a+32|0;break}default:{vV(406170,f);a=-1;b=-1;z=a;l=f;return b|0}}e=(c[d>>2]|0)+b|0;b=c[a+24>>2]|0;e=e>>>0<b>>>0?b:e;d=c[a+32>>2]|0;e=e>>>0>d>>>0?d:e;c[a+28>>2]=e;b=e-b|0;a=((b|0)<0)<<31>>31;z=a;l=f;return b|0}function v2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(e,d)|0;if((d|0)==0|(e|0)==0){f=0;return f|0}if(((f>>>0)/(e>>>0)|0|0)!=(d|0)){f=0;return f|0}e=a+28|0;g=c[e>>2]|0;a=(c[a+32>>2]|0)-g|0;f=f>>>0>a>>>0?a:f;s6(b|0,g|0,f|0)|0;c[e>>2]=(c[e>>2]|0)+f;f=(f>>>0)/(d>>>0)|0;return f|0}function w2(a){a=a|0;if(a|0)C2(a);return 0}function x2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=l;l=l+16|0;vV(406197,d);l=d;return 0}function y2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+144|0;F=G+120|0;E=G+112|0;D=G+104|0;C=G+96|0;B=G+88|0;A=G+80|0;x=G+72|0;w=G+64|0;s=G+56|0;r=G+48|0;m=G+40|0;k=G+32|0;j=G+24|0;i=G+16|0;h=G+8|0;f=G;p=G+128|0;if((c[104297]|0)==0?(_0()|0)<0:0){F=0;l=G;return F|0}if(((e>>>17&1)+(e>>>18&1)+(e>>>19&1)|0)>>>0>1){vV(406349,f);F=0;l=G;return F|0}o=(b|0)>1?b:1;n=(d|0)>1?d:1;if((o|0)>16384|(n|0)>16384){vV(406384,h);F=0;l=G;return F|0}a:do if(e&2|0){f=c[104297]|0;if(!(c[f+176>>2]|0)){vV(392548,i);F=0;l=G;return F|0}if(!f){vV(386054,j);F=0;l=G;return F|0}b=c[f+388>>2]|0;do if(!b){b=c[f+164>>2]|0;if(!b){vV(392332,k);F=0;l=G;return F|0}b=Sh[b&255](f,0)|0;d=c[104297]|0;if(!b){f=d;b=c[d+388>>2]|0;break}f=c[d+172>>2]|0;if(f|0)fi[f&511](d);if((b|0)<0)b=0;else break a;l=G;return b|0}while(0);c[f+388>>2]=b+1}while(0);if(e&8192){q=(a_(406405,0)|0)==0;e=q?e:e&-8193}q=B2(156)|0;if(!q){vV(392416,m);F=0;l=G;return F|0}if(c[q+-4>>2]&3|0)u6(q|0,0,156)|0;j=c[104297]|0;c[q>>2]=j+280;j=j+284|0;i=c[j>>2]|0;c[j>>2]=i+1;c[q+4>>2]=i;i=q+16|0;c[i>>2]=805240832;j=q+20|0;c[j>>2]=805240832;k=q+24|0;c[k>>2]=o;m=q+28|0;c[m>>2]=n;b=d_(q)|0;f=c[104297]|0;if((b|0)>-1)d=(c[f+268>>2]|0)+(b*68|0)|0;else d=0;h=c[f+264>>2]|0;b:do if((h|0)>0){f=c[f+268>>2]|0;b=0;while(1){if((f+(b*68|0)|0)==(d|0))break b;b=b+1|0;if((b|0)>=(h|0)){b=0;break}}}else b=0;while(0);h_(b,p);d=(((c[p+8>>2]|0)-o|0)/2|0)+(c[p>>2]|0)|0;c[i>>2]=d;h=(((c[p+12>>2]|0)-n|0)/2|0)+(c[p+4>>2]|0)|0;c[j>>2]=h;n=c[m>>2]|0;o=c[k>>2]|0;c[q+56>>2]=d;c[q+60>>2]=h;c[q+64>>2]=o;c[q+68>>2]=n;n=(e&1|0)==0;if(!n){b=d_(q)|0;f=c[104297]|0;if((b|0)>-1)d=(c[f+268>>2]|0)+(b*68|0)|0;else d=0;h=c[f+264>>2]|0;c:do if((h|0)>0){f=c[f+268>>2]|0;b=0;while(1){if((f+(b*68|0)|0)==(d|0))break c;b=b+1|0;if((b|0)>=(h|0)){b=0;break}}}else b=0;while(0);h_(b,p);c[i>>2]=c[p>>2];c[j>>2]=c[p+4>>2];c[k>>2]=c[p+8>>2];c[m>>2]=c[p+12>>2]}d=e&1024050|8;h=q+48|0;c[h>>2]=d;c[q+52>>2]=d;g[q+92>>2]=1.0;g[q+96>>2]=1.0;d=c[104297]|0;b=d+272|0;f=c[b>>2]|0;c[q+152>>2]=f;c[q+120>>2]=0;if(f|0)c[f+148>>2]=q;c[b>>2]=q;b=c[d+32>>2]|0;if(b|0?(Sh[b&255](d,q)|0)<0:0){d2(q);F=0;l=G;return F|0}do if(a|0){b=c[104297]|0;if(!b){vV(386054,r);break}if((c[q>>2]|0)!=(b+280|0)){vV(405282,s);break}b=q+8|0;f=c[b>>2]|0;if((f|0)!=(a|0)?(C2(f),c[b>>2]=P4(a)|0,t=c[104297]|0,u=c[t+40>>2]|0,u|0):0)li[u&511](t,q)}while(0);do if(e&128|0){b=c[104297]|0;if(!b){vV(386054,w);break}if((c[q>>2]|0)!=(b+280|0)){vV(405282,x);break}if((c[h>>2]&128|0)==0?(v=c[b+92>>2]|0,v|0):0)li[v&511](b,q)}while(0);do if(e&64|0){b=c[104297]|0;if(!b){vV(386054,A);break}if((c[q>>2]|0)!=(b+280|0)){vV(405282,B);break}if((c[h>>2]&64|0)==0?(VZ(q,0)|0,y=c[104297]|0,z=c[y+96>>2]|0,z|0):0)li[z&511](y,q)}while(0);do if(!n){b=c[104297]|0;if(!b){vV(386054,C);break}if((c[q>>2]|0)!=(b+280|0)){vV(405282,D);break}b=e&4097;f=c[h>>2]|0;d=f&4097;if((b|0)!=(d|0)){c[h>>2]=f&-4098|b;if(!(VZ(q,(f&68|0)==4&1)|0))break;c[h>>2]=c[h>>2]&-4098|d}}while(0);if(e&256|0)XZ(q);do if(!(e&8)){f=c[104297]|0;if(!f){vV(386054,E);break}if((c[q>>2]|0)!=(f+280|0)){vV(405282,F);break}if(c[h>>2]&4|0)break;b=c[f+80>>2]|0;if(b|0)li[b&511](f,q);WZ(q,1,0,0)}while(0);VZ(q,(c[h>>2]&69|0)==5&1)|0;F=q;l=G;return F|0}function z2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+24|0;f=j+16|0;e=j+8|0;i=c[104297]|0;if(!i){vV(386054,j);l=j;return}if(a|0?(c[a>>2]|0)==(i+280|0):0){if((b|0)<1){c[f>>2]=406608;vV(406140,f);l=j;return}if((d|0)<1){c[g>>2]=406610;vV(406140,g);l=j;return}h=c[a+32>>2]|0;h=(h|0)!=0&(h|0)>(b|0)?h:b;g=c[a+40>>2]|0;h=(g|0)!=0&(h|0)>(g|0)?g:h;g=c[a+36>>2]|0;g=(g|0)!=0&(g|0)>(d|0)?g:d;b=c[a+44>>2]|0;g=(b|0)!=0&(g|0)>(b|0)?b:g;c[a+64>>2]=h;c[a+68>>2]=g;b=c[a+48>>2]|0;if(b&1|0){if((b&68|0)!=4|(b&4097|0)==4097){l=j;return}c[a+52>>2]=0;VZ(a,1)|0;l=j;return}b=a+24|0;c[b>>2]=h;e=a+28|0;c[e>>2]=g;f=c[i+52>>2]|0;if(f|0){li[f&511](i,a);if((c[b>>2]|0)!=(h|0)){l=j;return}if((c[e>>2]|0)!=(g|0)){l=j;return}}c[a+112>>2]=0;WZ(a,6,h,g);l=j;return}vV(405282,e);l=j;return}function A2(b){b=b|0;var c=0,d=0;d=B2((r4(b)|0)+1|0)|0;x4(d,b)|0;c=m5(d,406669)|0;if(c|0)a[c>>0]=0;c=m5(d,406673)|0;if(c|0)a[c>>0]=0;c=m5(d,406677)|0;if(c|0)a[c>>0]=0;c=m5(d,406681)|0;if(c|0)a[c>>0]=0;if(e3(d,406687)|0)if(e3(d,406725)|0)if(e3(d,406757)|0)if(!(e3(d,406793)|0))c=406808;else{c=(e3(d,406823)|0)==0;c=c?406838:d}else c=406778;else c=406744;else c=406709;do if(e3(c,406853)|0)if(e3(c,406867)|0)if(e3(c,406879)|0)if(e3(c,406893)|0)if(e3(c,406905)|0)if(e3(c,406919)|0)if(e3(c,406933)|0)if(e3(c,406950)|0)if(e3(c,406973)|0)if(e3(c,406999)|0)if(e3(c,407012)|0)if(e3(c,407028)|0)if(e3(c,407041)|0)if(!(e3(c,407055)|0))c=38;else{if(!(e3(c,407075)|0)){c=39;break}if(!(e3(c,407095)|0)){c=40;break}if(!(e3(c,407112)|0)){c=41;break}if(!(e3(c,407129)|0)){c=440;break}if(!(e3(c,407141)|0)){c=234;break}if(!(e3(c,407154)|0)){c=235;break}if(!(e3(c,407170)|0)){c=42;break}if(!(e3(c,407193)|0)){c=33;break}if(!(e3(c,407206)|0)){c=34;break}if(!(e3(c,407222)|0)){c=441;break}if(!(e3(c,407233)|0)){c=236;break}if(!(e3(c,407252)|0)){c=237;break}if(!(e3(c,407274)|0)){c=238;break}if(!(e3(c,407293)|0)){c=43;break}if(!(e3(c,407322)|0)){c=442;break}if(!(e3(c,407339)|0)){c=44;break}if(!(e3(c,407354)|0)){c=45;break}if(!(e3(c,407369)|0)){c=184;break}if(!(e3(c,407390)|0)){c=46;break}if(!(e3(c,407410)|0)){c=47;break}if(!(e3(c,407430)|0)){c=48;break}if(!(e3(c,407456)|0)){c=9;break}if(!(e3(c,407475)|0)){c=1;break}if(!(e3(c,407487)|0)){c=1;break}if(!(e3(c,407499)|0)){c=1;break}if(!(e3(c,407511)|0)){c=1;break}if(!(e3(c,407523)|0)){c=239;break}if(!(e3(c,407535)|0)){c=49;break}if(!(e3(c,407547)|0)){c=35;break}if(!(e3(c,407559)|0)){c=21;break}if(!(e3(c,407571)|0)){c=50;break}if(!(e3(c,407584)|0)){c=51;break}if(!(e3(c,407597)|0)){c=52;break}if(!(e3(c,407610)|0)){c=53;break}if(!(e3(c,407623)|0)){c=54;break}if(!(e3(c,407636)|0)){c=55;break}if(!(e3(c,407649)|0)){c=56;break}if(!(e3(c,407662)|0)){c=57;break}if(!(e3(c,407675)|0)){c=36;break}if(!(e3(c,407694)|0)){c=37;break}if(!(e3(c,407713)|0)){c=38;break}if(!(e3(c,407732)|0)){c=240;break}if(!(e3(c,407745)|0)){c=241;break}if(!(e3(c,407763)|0)){c=242;break}if(!(e3(c,407781)|0)){c=243;break}if(!(e3(c,407799)|0)){c=244;break}if(!(e3(c,407817)|0)){c=185;break}if(!(e3(c,407837)|0)){c=10;break}if(!(e3(c,406778)|0)){c=443;break}if(!(e3(c,407855)|0)){c=335;break}if(!(e3(c,407870)|0)){c=39;break}if(!(e3(c,407891)|0)){c=40;break}if(!(e3(c,407906)|0)){c=41;break}if(!(e3(c,407924)|0)){c=336;break}if(!(e3(c,407940)|0)){c=42;break}if(!(e3(c,407959)|0)){c=58;break}if(!(e3(c,407973)|0)){c=59;break}if(!(e3(c,407988)|0)){c=444;break}if(!(e3(c,406709)|0)){c=10;break}if(!(e3(c,407999)|0)){c=337;break}if(!(e3(c,406808)|0)){c=245;break}if(!(e3(c,406838)|0)){c=246;break}if(!(e3(c,408015)|0)){c=43;break}if(!(e3(c,408042)|0)){c=338;break}if(!(e3(c,408056)|0)){c=44;break}if(!(e3(c,406744)|0)){c=339;break}if(!(e3(c,408076)|0)){c=340;break}if(!(e3(c,408094)|0)){c=445;break}if(!(e3(c,408106)|0)){c=60;break}if(!(e3(c,408127)|0)){c=247;break}if(!(e3(c,408145)|0)){c=248;break}if(!(e3(c,408163)|0)){c=249;break}if(!(e3(c,408184)|0)){c=45;break}if(!(e3(c,408210)|0)){c=22;break}if(!(e3(c,408233)|0)){c=46;break}if(!(e3(c,408271)|0)){c=446;break}if(!(e3(c,408287)|0)){c=341;break}if(!(e3(c,408302)|0)){c=61;break}if(!(e3(c,408325)|0)){c=47;break}if(!(e3(c,408338)|0)){c=250;break}if(!(e3(c,408352)|0)){c=251;break}if(!(e3(c,408366)|0)){c=10;break}if(!(e3(c,408386)|0)){c=342;break}if(!(e3(c,408406)|0)){c=48;break}if(!(e3(c,408422)|0)){c=49;break}if(!(e3(c,408440)|0)){c=62;break}if(!(e3(c,408456)|0)){c=50;break}if(!(e3(c,408471)|0)){c=343;break}if(!(e3(c,408493)|0)){c=447;break}if(!(e3(c,408509)|0)){c=252;break}if(!(e3(c,408527)|0)){c=253;break}if(!(e3(c,408548)|0)){c=344;break}if(!(e3(c,408566)|0)){c=345;break}if(!(e3(c,408579)|0)){c=13;break}if(!(e3(c,408594)|0)){c=346;break}if(!(e3(c,408608)|0)){c=1;break}if(!(e3(c,408618)|0)){c=1;break}if(!(e3(c,408628)|0)){c=11;break}if(!(e3(c,408650)|0)){c=347;break}if(!(e3(c,408676)|0)){c=348;break}if(!(e3(c,408703)|0)){c=63;break}if(!(e3(c,408716)|0)){c=51;break}if(!(e3(c,408731)|0)){c=23;break}if(!(e3(c,408746)|0)){c=14;break}if(!(e3(c,408770)|0)){c=11;break}if(!(e3(c,408781)|0)){c=254;break}if(!(e3(c,408803)|0)){c=52;break}if(!(e3(c,408825)|0)){c=24;break}if(!(e3(c,408849)|0)){c=15;break}if(!(e3(c,408858)|0)){c=16;break}if(!(e3(c,408866)|0)){c=1;break}if(!(e3(c,408879)|0)){c=2;break}if(!(e3(c,408893)|0)){c=349;break}if(!(e3(c,408905)|0)){c=350;break}if(!(e3(c,408914)|0)){c=351;break}if(!(e3(c,408924)|0)){c=352;break}if(!(e3(c,408936)|0)){c=353;break}if(!(e3(c,408947)|0)){c=354;break}if(!(e3(c,408955)|0)){c=3;break}if(!(e3(c,408967)|0)){c=355;break}if(!(e3(c,408982)|0)){c=356;break}if(!(e3(c,408994)|0)){c=357;break}if(!(e3(c,409008)|0)){c=448;break}if(!(e3(c,409033)|0)){c=358;break}if(!(e3(c,409050)|0)){c=359;break}if(!(e3(c,409066)|0)){c=360;break}if(!(e3(c,409082)|0)){c=449;break}if(!(e3(c,409094)|0)){c=255;break}if(!(e3(c,409106)|0)){c=256;break}if(!(e3(c,409130)|0)){c=1;break}if(!(e3(c,409143)|0)){c=2;break}if(!(e3(c,409157)|0)){c=257;break}if(!(e3(c,409179)|0)){c=258;break}if(!(e3(c,409186)|0)){c=3;break}if(!(e3(c,409202)|0)){c=2;break}if(!(e3(c,409219)|0)){c=1;break}if(!(e3(c,409236)|0)){c=64;break}if(!(e3(c,409252)|0)){c=3;break}if(!(e3(c,409268)|0)){c=2;break}if(!(e3(c,409285)|0)){c=65;break}if(!(e3(c,409299)|0)){c=66;break}if(!(e3(c,409311)|0)){c=53;break}if(!(e3(c,409322)|0)){c=2;break}if(!(e3(c,409335)|0)){c=54;break}if(!(e3(c,409345)|0)){c=2;break}if(!(e3(c,409362)|0)){c=55;break}if(!(e3(c,409374)|0)){c=56;break}if(!(e3(c,409396)|0)){c=57;break}if(!(e3(c,409416)|0)){c=3;break}if(!(e3(c,409429)|0)){c=58;break}if(!(e3(c,409451)|0)){c=59;break}if(!(e3(c,409471)|0)){c=2;break}if(!(e3(c,409488)|0)){c=4;break}if(!(e3(c,409505)|0)){c=5;break}if(!(e3(c,409525)|0)){c=259;break}Sb(24,b|0,c|0)|0;c=0}else c=233;else c=8;else c=16;else c=15;else c=14;else c=3;else c=232;else c=231;else c=230;else c=229;else c=228;else c=439;else c=227;while(0);return c|0}function B2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;o=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;n=c[105298]|0;d=n>>>a;if(d&3|0){b=(d&1^1)+a|0;a=421232+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((a|0)==(g|0))c[105298]=n&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}m=c[105300]|0;if(k>>>0>m>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;h=b>>>12&16;b=b>>>h;d=b>>>5&8;b=b>>>d;f=b>>>2&4;b=b>>>f;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|h|f|a|e)+(b>>>e)|0;b=421232+(e<<1<<2)|0;a=b+8|0;f=c[a>>2]|0;h=f+8|0;d=c[h>>2]|0;if((b|0)==(d|0)){a=n&~(1<<e);c[105298]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=n}g=(e<<3)-k|0;c[f+4>>2]=k|3;e=f+k|0;c[e+4>>2]=g|1;c[e+g>>2]=g;if(m|0){f=c[105303]|0;b=m>>>3;d=421232+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[105298]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=f;c[b+12>>2]=f;c[f+8>>2]=b;c[f+12>>2]=d}c[105300]=g;c[105303]=e;w=h;l=x;return w|0}i=c[105299]|0;if(i){d=(i&0-i)+-1|0;h=d>>>12&16;d=d>>>h;g=d>>>5&8;d=d>>>g;j=d>>>2&4;d=d>>>j;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[421496+((g|h|j|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-k|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){j=a;g=d}else{do{h=(c[e+4>>2]&-8)-k|0;j=h>>>0<d>>>0;d=j?h:d;a=j?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);j=a;g=d}h=j+k|0;if(j>>>0<h>>>0){f=c[j+24>>2]|0;b=c[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[j+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[j+28>>2]|0;a=421496+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[105299]=i&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[j+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[j+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(g>>>0<16){w=g+k|0;c[j+4>>2]=w|3;w=j+w+4|0;c[w>>2]=c[w>>2]|1}else{c[j+4>>2]=k|3;c[h+4>>2]=g|1;c[h+g>>2]=g;if(m|0){e=c[105303]|0;b=m>>>3;d=421232+(b<<1<<2)|0;b=1<<b;if(!(n&b)){c[105298]=n|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[105300]=g;c[105303]=h}w=j+8|0;l=x;return w|0}else n=k}else n=k}else n=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;j=c[105299]|0;if(j){e=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)i=31;else{n=(a+1048320|0)>>>16&8;v=a<<n;m=(v+520192|0)>>>16&4;v=v<<m;i=(v+245760|0)>>>16&2;i=14-(m|n|i)+(v<<i>>>15)|0;i=k>>>(i+7|0)&1|i<<1}else i=0;d=c[421496+(i<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;h=k<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-k|0;if(f>>>0<e>>>0)if(!f){a=d;e=0;f=d;v=61;break a}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<i;a=j&(a|0-a);if(!a){n=k;break}n=(a&0-a)+-1|0;h=n>>>12&16;n=n>>>h;g=n>>>5&8;n=n>>>g;i=n>>>2&4;n=n>>>i;m=n>>>1&2;n=n>>>m;d=n>>>1&1;a=0;d=c[421496+((g|h|i|m|d)+(n>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else{f=d;v=61}}if((v|0)==61)while(1){v=0;d=(c[f+4>>2]&-8)-k|0;n=d>>>0<e>>>0;d=n?d:e;a=n?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){i=a;h=d;break}else{e=d;v=61}}if((i|0)!=0?h>>>0<((c[105300]|0)-k|0)>>>0:0){g=i+k|0;if(i>>>0>=g>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=421496+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=j&~(1<<a);c[105299]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=j;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=j}else e=j}else e=j;while(0);do if(h>>>0>=16){c[i+4>>2]=k|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=421232+(b<<1<<2)|0;a=c[105298]|0;b=1<<b;if(!(a&b)){c[105298]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=421496+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[105299]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+k|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=k}else n=k}else n=-1;while(0);d=c[105300]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[105303]|0;if(b>>>0>15){w=a+n|0;c[105303]=w;c[105300]=b;c[w+4>>2]=b|1;c[w+b>>2]=b;c[a+4>>2]=n|3}else{c[105300]=0;c[105303]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}h=c[105301]|0;if(h>>>0>n>>>0){u=h-n|0;c[105301]=u;w=c[105304]|0;v=w+n|0;c[105304]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[105416]|0)){c[105418]=4096;c[105417]=4096;c[105419]=-1;c[105420]=-1;c[105421]=0;c[105409]=0;a=o&-16^1431655768;c[o>>2]=a;c[105416]=a;a=4096}else a=c[105418]|0;i=n+48|0;j=n+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=n>>>0){w=0;l=x;return w|0}a=c[105408]|0;if(a|0?(m=c[105406]|0,o=m+k|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[105409]&4)){d=c[105304]|0;c:do if(d){e=421640;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(r=e+4|0,(a+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&f;if(b>>>0<2147483647){a=w6(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[r>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=w6(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[105417]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+k|0,p=c[105406]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){r=c[105408]|0;if(r|0?q>>>0<=p>>>0|q>>>0>r>>>0:0){b=0;break}a=w6(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[105418]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((w6(a|0)|0)==(-1|0)){w6(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[105409]=c[105409]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(u=w6(k|0)|0,r=w6(0)|0,s=r-u|0,t=s>>>0>(n+40|0)>>>0,!((u|0)==(-1|0)|t^1|u>>>0<r>>>0&((u|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=t?s:b;g=u;v=135}if((v|0)==135){b=(c[105406]|0)+h|0;c[105406]=b;if(b>>>0>(c[105407]|0)>>>0)c[105407]=b;j=c[105304]|0;do if(j){b=421640;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=145;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==145?(c[b+12>>2]&8|0)==0:0)?j>>>0<g>>>0&j>>>0>=a>>>0:0){c[d>>2]=e+h;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(c[105301]|0)+(h-w)|0;c[105304]=v;c[105301]=w;c[v+4>>2]=w|1;c[v+w+4>>2]=40;c[105305]=c[105420];break}if(g>>>0<(c[105302]|0)>>>0)c[105302]=g;d=g+h|0;b=421640;while(1){if((c[b>>2]|0)==(d|0)){v=153;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((v|0)==153?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((b|0)!=(j|0)){if((b|0)==(c[105303]|0)){w=(c[105300]|0)+i|0;c[105300]=w;c[105303]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[105298]=c[105298]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=421496+(d<<2)|0;do if((b|0)!=(c[e>>2]|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[105299]=c[105299]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=421232+(b<<1<<2)|0;a=c[105298]|0;b=1<<b;if(!(a&b)){c[105298]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=421496+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[105299]|0;d=1<<b;if(!(a&d)){c[105299]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=194;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=193;break}else{a=a<<1;d=b}}if((v|0)==193){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==194){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[105301]|0)+i|0;c[105301]=w;c[105304]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}b=421640;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(c[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;v=g+d|0;d=h+-40-d|0;c[105304]=v;c[105301]=d;c[v+4>>2]=d|1;c[v+d+4>>2]=40;c[105305]=c[105420];d=a+4|0;c[d>>2]=27;c[b>>2]=c[105410];c[b+4>>2]=c[105411];c[b+8>>2]=c[105412];c[b+12>>2]=c[105413];c[105410]=g;c[105411]=h;c[105413]=0;c[105412]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=421232+(b<<1<<2)|0;a=c[105298]|0;b=1<<b;if(!(a&b)){c[105298]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=421496+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[105299]|0;a=1<<d;if(!(b&a)){c[105299]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=216;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=215;break}else{a=a<<1;d=b}}if((v|0)==215){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==216){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[105302]|0;if((w|0)==0|g>>>0<w>>>0)c[105302]=g;c[105410]=g;c[105411]=h;c[105413]=0;c[105307]=c[105416];c[105306]=-1;b=0;do{w=421232+(b<<1<<2)|0;c[w+12>>2]=w;c[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=g+8|0;w=(w&7|0)==0?0:0-w&7;v=g+w|0;w=h+-40-w|0;c[105304]=v;c[105301]=w;c[v+4>>2]=w|1;c[v+w+4>>2]=40;c[105305]=c[105420]}while(0);b=c[105301]|0;if(b>>>0>n>>>0){u=b-n|0;c[105301]=u;w=c[105304]|0;v=w+n|0;c[105304]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[105438]=12;w=0;l=x;return w|0}function C2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[105302]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((h|0)==(c[105303]|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[105300]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[105298]=c[105298]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=421496+(b<<2)|0;if((h|0)==(c[d>>2]|0)){c[d>>2]=a;if(!a){c[105299]=c[105299]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){a=c[105303]|0;if((j|0)==(c[105304]|0)){j=(c[105301]|0)+b|0;c[105301]=j;c[105304]=i;c[i+4>>2]=j|1;if((i|0)!=(a|0))return;c[105303]=0;c[105300]=0;return}if((j|0)==(a|0)){j=(c[105300]|0)+b|0;c[105300]=j;c[105303]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[105298]=c[105298]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=421496+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=d;if(!d){c[105299]=c[105299]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[105303]|0)){c[105300]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=421232+(a<<1<<2)|0;b=c[105298]|0;a=1<<a;if(!(b&a)){c[105298]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=421496+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[105299]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[105299]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[105306]|0)+-1|0;c[105306]=j;if(!j)a=421648;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[105306]=-1;return}function D2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!a){a=B2(b)|0;return a|0}if(b>>>0>4294967231){c[105438]=12;a=0;return a|0}m=b>>>0<11?16:b+11&-8;l=a+-8|0;n=a+-4|0;k=c[n>>2]|0;d=k&-8;h=l+d|0;do if(!(k&3)){if(!(m>>>0<256|d>>>0<(m|4)>>>0)?(d-m|0)>>>0<=c[105418]<<1>>>0:0)return a|0}else{if(d>>>0>=m>>>0){d=d-m|0;if(d>>>0<=15)return a|0;l=l+m|0;c[n>>2]=k&1|m|2;c[l+4>>2]=d|3;n=l+d+4|0;c[n>>2]=c[n>>2]|1;E2(l,d);return a|0}if((h|0)==(c[105304]|0)){j=(c[105301]|0)+d|0;e=j-m|0;d=l+m|0;if(j>>>0<=m>>>0)break;c[n>>2]=k&1|m|2;c[d+4>>2]=e|1;c[105304]=d;c[105301]=e;return a|0}if((h|0)==(c[105303]|0)){f=(c[105300]|0)+d|0;if(f>>>0<m>>>0)break;d=f-m|0;e=k&1;if(d>>>0>15){l=l+m|0;k=l+d|0;c[n>>2]=e|m|2;c[l+4>>2]=d|1;c[k>>2]=d;e=k+4|0;c[e>>2]=c[e>>2]&-2;e=l}else{c[n>>2]=e|f|2;e=l+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[105300]=d;c[105303]=e;return a|0}e=c[h+4>>2]|0;if((e&2|0)==0?(j=(e&-8)+d|0,j>>>0>=m>>>0):0){i=j-m|0;f=e>>>3;do if(e>>>0<256){e=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(e|0)){c[105298]=c[105298]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{g=c[h+24>>2]|0;d=c[h+12>>2]|0;do if((d|0)==(h|0)){f=h+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else e=f}while(1){f=d+20|0;b=c[f>>2]|0;if(b|0){d=b;e=f;continue}f=d+16|0;b=c[f>>2]|0;if(!b)break;else{d=b;e=f}}c[e>>2]=0;f=d}else{f=c[h+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(g|0){d=c[h+28>>2]|0;e=421496+(d<<2)|0;if((h|0)==(c[e>>2]|0)){c[e>>2]=f;if(!f){c[105299]=c[105299]&~(1<<d);break}}else{c[g+16+(((c[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);d=k&1;if(i>>>0<16){c[n>>2]=j|d|2;n=l+j+4|0;c[n>>2]=c[n>>2]|1;return a|0}else{l=l+m|0;c[n>>2]=d|m|2;c[l+4>>2]=i|3;n=l+i+4|0;c[n>>2]=c[n>>2]|1;E2(l,i);return a|0}}}while(0);d=B2(b)|0;if(!d){a=0;return a|0}n=c[n>>2]|0;n=(n&-8)-((n&3|0)==0?8:4)|0;s6(d|0,a|0,(n>>>0<b>>>0?n:b)|0)|0;C2(a);a=d;return a|0}function E2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){e=c[a>>2]|0;if(!(d&3))return;g=a+(0-e)|0;h=e+b|0;if((g|0)==(c[105303]|0)){a=j+4|0;d=c[a>>2]|0;if((d&3|0)!=3){i=g;d=h;break}c[105300]=h;c[a>>2]=d&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}b=e>>>3;if(e>>>0<256){a=c[g+8>>2]|0;d=c[g+12>>2]|0;if((d|0)==(a|0)){c[105298]=c[105298]&~(1<<b);i=g;d=h;break}else{c[a+12>>2]=d;c[d+8>>2]=a;i=g;d=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){b=g+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}c[d>>2]=0}else{i=c[g+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){d=c[g+28>>2]|0;b=421496+(d<<2)|0;if((g|0)==(c[b>>2]|0)){c[b>>2]=a;if(!a){c[105299]=c[105299]&~(1<<d);i=g;d=h;break}}else{c[f+16+(((c[f+16>>2]|0)!=(g|0)&1)<<2)>>2]=a;if(!a){i=g;d=h;break}}c[a+24>>2]=f;d=g+16|0;b=c[d>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a;i=g;d=h}else{i=g;d=h}}else{i=g;d=h}}else{i=a;d=b}while(0);a=j+4|0;e=c[a>>2]|0;if(!(e&2)){a=c[105303]|0;if((j|0)==(c[105304]|0)){j=(c[105301]|0)+d|0;c[105301]=j;c[105304]=i;c[i+4>>2]=j|1;if((i|0)!=(a|0))return;c[105303]=0;c[105300]=0;return}if((j|0)==(a|0)){j=(c[105300]|0)+d|0;c[105300]=j;c[105303]=i;c[i+4>>2]=j|1;c[i+j>>2]=j;return}g=(e&-8)+d|0;b=e>>>3;do if(e>>>0<256){d=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(d|0)){c[105298]=c[105298]&~(1<<b);break}else{c[d+12>>2]=a;c[a+8>>2]=d;break}}else{f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){b=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}c[d>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);if(f|0){a=c[j+28>>2]|0;d=421496+(a<<2)|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){c[105299]=c[105299]&~(1<<a);break}}else{c[f+16+(((c[f+16>>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}c[b+24>>2]=f;a=j+16|0;d=c[a>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}a=c[a+4>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}}while(0);c[i+4>>2]=g|1;c[i+g>>2]=g;if((i|0)==(c[105303]|0)){c[105300]=g;return}else d=g}else{c[a>>2]=e&-2;c[i+4>>2]=d|1;c[i+d>>2]=d}a=d>>>3;if(d>>>0<256){b=421232+(a<<1<<2)|0;d=c[105298]|0;a=1<<a;if(!(d&a)){c[105298]=d|a;a=b;d=b+8|0}else{d=b+8|0;a=c[d>>2]|0}c[d>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=b;return}a=d>>>8;if(a)if(d>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=d>>>(a+7|0)&1|a<<1}else a=0;f=421496+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[105299]|0;e=1<<a;if(!(b&e)){c[105299]=b|e;c[f>>2]=i;c[i+24>>2]=f;c[i+12>>2]=i;c[i+8>>2]=i;return}b=d<<((a|0)==31?0:25-(a>>>1)|0);e=c[f>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(d|0)){a=69;break}f=e+16+(b>>>31<<2)|0;a=c[f>>2]|0;if(!a){a=68;break}else{b=b<<1;e=a}}if((a|0)==68){c[f>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i;return}else if((a|0)==69){h=e+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=e;c[i+24>>2]=0;return}}function F2(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=K2(c[a+60>>2]|0)|0;a=I2(ib(6,d|0)|0)|0;l=b;return a|0}function G2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=I2(Za(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=I2(Za(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function H2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((I2(Xa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function I2(a){a=a|0;if(a>>>0>4294963200){c[105438]=0-a;a=-1}return a|0}function J2(){return 421752}function K2(a){a=a|0;return a|0}function L2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=I2(Ya(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function M2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,hb(54,f|0)|0):0)a[b+75>>0]=-1;f=G2(b,d,e)|0;l=g;return f|0}function N2(a){a=a|0;var b=0;b=(O2(a)|0)==0;return (b?a:a|32)|0}function O2(a){a=a|0;return (a+-65|0)>>>0<26|0}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+128|0;f=e;c[f>>2]=0;c[f+4>>2]=a;c[f+44>>2]=a;c[f+8>>2]=(a|0)<0?-1:a+2147483647|0;c[f+76>>2]=-1;Q2(f,0);d=R2(f,16,1,b,d)|0;l=e;return d|0}function Q2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function R2(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[105438]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0}while((T2(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=S2(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0;if((d[409637+i>>0]|0)>15){g=(c[q>>2]|0)!=0;if(g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Q2(b,0);h=0;g=0;break a}if(!g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[409637+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Q2(b,0);c[105438]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=S2(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=h6(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=b6(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=S2(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[409893+((e*23|0)>>>5&7)>>0]|0;f=a[409637+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;f=a[409637+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0<e>>>0);k=0}else{j=i;k=0;i=0}l=m6(-1,-1,n|0)|0;m=z;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=n6(i|0,j|0,n|0)|0;k=z;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;f=a[409637+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[409637+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;f=a[409637+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0<e>>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0<e>>>0){n=j6(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=h6(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=b6(f|0,0,k|0,l|0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;f=a[409637+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[409637+j>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0}while((d[409637+i>>0]|0)>>>0<e>>>0);c[105438]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[105438]=34;g=b6(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[105438]=34;break}}g=((j|0)<0)<<31>>31;g=c6(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function S2(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=U2(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){i=c[f>>2]|0;f=c[b+4>>2]|0;h=b+108|0;g=g-(c[h>>2]|0)|0;j=i;if((i-f|0)<(g|0)){i=j;g=j}else{i=f+(g+-1)|0;g=j}}else{g=c[f>>2]|0;h=b+108|0;i=g;f=c[b+4>>2]|0}c[b+100>>2]=i;if(g|0)c[h>>2]=g+1-f+(c[h>>2]|0);f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function T2(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function U2(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((V2(a)|0)==0?(Th[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function V2(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Th[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function W2(a){a=a|0;a=P2(a,0,-2147483648)|0;return a|0}function X2(a){a=a|0;a=P2(a,-2147483648,0)|0;return a|0}function Y2(a){a=a|0;var b=0;b=(Z2(a)|0)==0;return (b?a:a&95)|0}function Z2(a){a=a|0;return (a+-97|0)>>>0<26|0}function _2(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function $2(a){a=+a;var b=0;h[j>>3]=a;b=c[j+4>>2]&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+b3(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+L(+a);a=(a+1.0/a)*.5;break}else{a=+c3(a);break}while(0);return +a}function a3(a){a=+a;var b=0.0,d=0.0,e=0;h[j>>3]=a;e=c[j+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=e;b=+h[j>>3];do if(e>>>0<1082535490){b=+b3(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+c3(b);while(0);return +a}function b3(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0.0,i=0,k=0,l=0.0;h[j>>3]=a;b=c[j+4>>2]|0;f=b&2147483647;b=m6(c[j>>2]|0,b|0,63)|0;do if(f>>>0>1078159481){f=d3(a)|0;k=z&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&f>>>0>0))if(!b)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else{d=.5;i=12}else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{g=0.0;b=0;i=15;break}b=(b|0)!=0;if(f>>>0>=1072734898){d=b?-.5:.5;i=12;break}if(b){b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=13;break}else{b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=13;break}}while(0);if((i|0)==12){b=~~(a*1.4426950408889634+d);e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=13}if((i|0)==13){g=d-e;a=g;g=d-g-e;i=15}a:do if((i|0)==15){e=a*.5;d=a*e;l=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*l;e=d*((l-e)/(6.0-a*e));if(!b){a=a-(a*e-d);break}d=a*(e-g)-g-d;switch(b|0){case -1:{a=(a-d)*.5+-.5;break a}case 1:if(a<-.25){a=(d-(a+.5))*-2.0;break a}else{a=(a-d)*2.0+1.0;break a}default:{i=n6(b+1023|0,0,52)|0;k=z;c[j>>2]=i;c[j+4>>2]=k;e=+h[j>>3];if(b>>>0>56){a=a-d+1.0;a=((b|0)==1024?a*2.0*8988465674311579538646525.0e283:e*a)+-1.0;break a}else{f=n6(1023-b|0,0,52)|0;i=z;k=(b|0)<20;c[j>>2]=f;c[j+4>>2]=i;l=+h[j>>3];a=e*((k?1.0-l:1.0)+(a-(k?d:l+d)));break a}}}}while(0);return +a}function c3(a){a=+a;return +(+L(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function d3(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function e3(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function f3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function g3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function h3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=i3(a,b,f)|0;l=e;return d|0}function i3(a,b,c){a=a|0;b=b|0;c=c|0;return j3(a,2147483647,b,c)|0}function j3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=35300;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[105438]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=k3(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function k3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+224|0;n=r+120|0;o=r+80|0;p=r;q=r+136|0;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((l3(0,d,n,p,o)|0)<0)e=-1;else{e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=q;i=b+28|0;c[i>>2]=q;j=b+20|0;c[j>>2]=q;c[f>>2]=80;k=b+16|0;c[k>>2]=q+80;e=l3(b,d,n,p,o)|0;if(h){Th[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=l3(b,d,n,p,o)|0;q=c[b>>2]|0;c[b>>2]=q|m;e=(q&32|0)==0?e:-1}l=r;return e|0}function l3(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+64|0;D=H+16|0;E=H;B=H+24|0;F=H+8|0;G=H+20|0;c[D>>2]=e;x=(d|0)!=0;y=B+40|0;A=y;B=B+39|0;C=F+4|0;k=0;j=0;p=0;a:while(1){do if((j|0)>-1)if((k|0)>(2147483647-j|0)){c[105438]=75;j=-1;break}else{j=k+j|0;break}while(0);k=a[e>>0]|0;if(!(k<<24>>24)){w=87;break}else m=e;b:while(1){switch(k<<24>>24){case 37:{k=m;w=9;break b}case 0:{k=m;break b}default:{}}v=m+1|0;c[D>>2]=v;k=a[v>>0]|0;m=v}c:do if((w|0)==9)while(1){w=0;if((a[m+1>>0]|0)!=37)break c;k=k+1|0;m=m+2|0;c[D>>2]=m;if((a[m>>0]|0)==37)w=9;else break}while(0);k=k-e|0;if(x)n3(d,e,k);if(k|0){e=m;continue}n=m+1|0;k=(a[n>>0]|0)+-48|0;if(k>>>0<10){v=(a[m+2>>0]|0)==36;u=v?k:-1;p=v?1:p;n=v?m+3|0:n}else u=-1;c[D>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;d:do if(m>>>0<32){o=0;q=k;while(1){k=1<<m;if(!(k&75913)){k=q;break d}o=k|o;n=n+1|0;c[D>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;if(m>>>0>=32)break;else q=k}}else o=0;while(0);if(k<<24>>24==42){m=n+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10?(a[n+2>>0]|0)==36:0){c[i+(k<<2)>>2]=10;k=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;p=1;n=n+3|0}else{if(p|0){j=-1;break}if(x){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4;p=0;n=m}else{k=0;p=0;n=m}}c[D>>2]=n;v=(k|0)<0;k=v?0-k|0:k;o=v?o|8192:o}else{k=o3(D)|0;if((k|0)<0){j=-1;break}n=c[D>>2]|0}do if((a[n>>0]|0)==46){m=n+1|0;if((a[m>>0]|0)!=42){c[D>>2]=m;m=o3(D)|0;n=c[D>>2]|0;break}q=n+2|0;m=(a[q>>0]|0)+-48|0;if(m>>>0<10?(a[n+3>>0]|0)==36:0){c[i+(m<<2)>>2]=10;m=c[g+((a[q>>0]|0)+-48<<3)>>2]|0;n=n+4|0;c[D>>2]=n;break}if(p|0){j=-1;break a}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);m=c[v>>2]|0;c[f>>2]=v+4}else m=0;c[D>>2]=q;n=q}else m=-1;while(0);t=0;while(1){if(((a[n>>0]|0)+-65|0)>>>0>57){j=-1;break a}v=n+1|0;c[D>>2]=v;q=a[(a[n>>0]|0)+-65+(409902+(t*58|0))>>0]|0;r=q&255;if((r+-1|0)>>>0<8){t=r;n=v}else break}if(!(q<<24>>24)){j=-1;break}s=(u|0)>-1;do if(q<<24>>24==19)if(s){j=-1;break a}else w=49;else{if(s){c[i+(u<<2)>>2]=r;s=g+(u<<3)|0;u=c[s+4>>2]|0;w=E;c[w>>2]=c[s>>2];c[w+4>>2]=u;w=49;break}if(!x){j=0;break a}p3(E,r,f)}while(0);if((w|0)==49?(w=0,!x):0){k=0;e=v;continue}n=a[n>>0]|0;n=(t|0)!=0&(n&15|0)==3?n&-33:n;s=o&-65537;u=(o&8192|0)==0?o:s;e:do switch(n|0){case 110:switch((t&255)<<24>>24){case 0:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 1:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 2:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}case 3:{b[c[E>>2]>>1]=j;k=0;e=v;continue a}case 4:{a[c[E>>2]>>0]=j;k=0;e=v;continue a}case 6:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 7:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}default:{k=0;e=v;continue a}}case 112:{n=120;m=m>>>0>8?m:8;e=u|8;w=61;break}case 88:case 120:{e=u;w=61;break}case 111:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;r=r3(e,n,y)|0;s=A-r|0;o=0;q=410366;m=(u&8|0)==0|(m|0)>(s|0)?m:s+1|0;s=u;w=67;break}case 105:case 100:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){e=c6(0,0,e|0,n|0)|0;n=z;o=E;c[o>>2]=e;c[o+4>>2]=n;o=1;q=410366;w=66;break e}else{o=(u&2049|0)!=0&1;q=(u&2048|0)==0?((u&1|0)==0?410366:410368):410367;w=66;break e}}case 117:{n=E;o=0;q=410366;e=c[n>>2]|0;n=c[n+4>>2]|0;w=66;break}case 99:{a[B>>0]=c[E>>2];e=B;o=0;q=410366;r=y;n=1;m=s;break}case 109:{n=t3(c[105438]|0)|0;w=71;break}case 115:{n=c[E>>2]|0;n=n|0?n:410376;w=71;break}case 67:{c[F>>2]=c[E>>2];c[C>>2]=0;c[E>>2]=F;r=-1;n=F;w=75;break}case 83:{e=c[E>>2]|0;if(!m){v3(d,32,k,0,u);e=0;w=84}else{r=m;n=e;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=x3(d,+h[E>>3],k,m,u,n)|0;e=v;continue a}default:{o=0;q=410366;r=y;n=m;m=u}}while(0);f:do if((w|0)==61){u=E;t=c[u>>2]|0;u=c[u+4>>2]|0;r=q3(t,u,y,n&32)|0;q=(e&8|0)==0|(t|0)==0&(u|0)==0;o=q?0:2;q=q?410366:410366+(n>>4)|0;s=e;e=t;n=u;w=67}else if((w|0)==66){r=s3(e,n,y)|0;s=u;w=67}else if((w|0)==71){w=0;u=u3(n,0,m)|0;t=(u|0)==0;e=n;o=0;q=410366;r=t?n+m|0:u;n=t?m:u-n|0;m=s}else if((w|0)==75){w=0;q=n;e=0;m=0;while(1){o=c[q>>2]|0;if(!o)break;m=w3(G,o)|0;if((m|0)<0|m>>>0>(r-e|0)>>>0)break;e=m+e|0;if(r>>>0>e>>>0)q=q+4|0;else break}if((m|0)<0){j=-1;break a}v3(d,32,k,e,u);if(!e){e=0;w=84}else{o=0;while(1){m=c[n>>2]|0;if(!m){w=84;break f}m=w3(G,m)|0;o=m+o|0;if((o|0)>(e|0)){w=84;break f}n3(d,G,m);if(o>>>0>=e>>>0){w=84;break}else n=n+4|0}}}while(0);if((w|0)==67){w=0;n=(e|0)!=0|(n|0)!=0;u=(m|0)!=0|n;n=((n^1)&1)+(A-r)|0;e=u?r:y;r=y;n=u?((m|0)>(n|0)?m:n):m;m=(m|0)>-1?s&-65537:s}else if((w|0)==84){w=0;v3(d,32,k,e,u^8192);k=(k|0)>(e|0)?k:e;e=v;continue}t=r-e|0;s=(n|0)<(t|0)?t:n;u=s+o|0;k=(k|0)<(u|0)?u:k;v3(d,32,k,u,m);n3(d,q,o);v3(d,48,k,u,m^65536);v3(d,48,s,t,0);n3(d,e,t);v3(d,32,k,u,m^8192);e=v}g:do if((w|0)==87)if(!d)if(!p)j=0;else{j=1;while(1){e=c[i+(j<<2)>>2]|0;if(!e){k=0;break}p3(g+(j<<3)|0,e,f);j=j+1|0;if((j|0)>=10){j=1;break g}}while(1){e=j+1|0;if(k|0){j=-1;break g}if((e|0)>=10){j=1;break g}j=e;k=c[i+(e<<2)>>2]|0}}while(0);l=H;return j|0}function m3(){return 0}function n3(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))H3(b,d,a)|0;return}function o3(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=(a[e>>0]|0)+-48|0;if(f>>>0<10){d=0;do{d=f+(d*10|0)|0;e=e+1|0;c[b>>2]=e;f=(a[e>>0]|0)+-48|0}while(f>>>0<10)}else d=0;return d|0}function p3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function q3(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[410414+(b&15)>>0]|0|f;b=m6(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function r3(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=m6(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function s3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=k6(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=j6(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function t3(a){a=a|0;return C3(a,c[8903]|0)|0}function u3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24)break a;b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);b:do if((i|0)==5)if(f){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}else e=0;while(0);return (e|0?b:0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){c=c-d|0;u6(f|0,b|0,(c>>>0<256?c:256)|0)|0;if(c>>>0>255){d=c;do{n3(a,f,256);d=d+-256|0}while(d>>>0>255);c=c&255}n3(a,f,c)}l=g;return}function w3(a,b){a=a|0;b=b|0;if(!a)a=0;else a=B3(a,b)|0;return a|0}function x3(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;y3(e)|0;if((z|0)<0){e=-e;C=1;B=410383}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?410384:410389):410386}y3(e)|0;D=z&2146435072;do if(D>>>0<2146435072|(D|0)==2146435072&0<0){r=+z3(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){s=i&32;q=(s|0)==0?B:B+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[q>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=s3(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;n=(g|0)<1;m=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=d[410414+D>>0]|s;e=(e-+(D|0))*16.0;if((k-F|0)==1?!(m&(n&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);D=j-F|0;F=E-o|0;E=(g|0)!=0&(D+-2|0)<(g|0)?g+2|0:D;j=F+p+E|0;v3(b,32,f,j,h);n3(b,q,p);v3(b,48,f,j,h^65536);n3(b,G,D);v3(b,48,E-D|0,0,0);n3(b,o,F);v3(b,32,f,j,h^8192);break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=n6(c[j>>2]|0,0,o|0)|0;x=b6(x|0,z|0,m|0,0)|0;y=z;v=k6(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=j6(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=((v^1)&1)+k|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=s3(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;v3(b,32,f,j,h);n3(b,B,C);v3(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=s3(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}n3(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)n3(b,410430,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=s3(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}n3(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}v3(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=s3(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;n3(b,m,1);if(s&(k|0)<1){m=n;break}n3(b,410430,1);m=n}else{if(m>>>0<=G>>>0)break;u6(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;n3(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}v3(b,48,k+18|0,18,0);n3(b,v,E-v|0)}v3(b,32,f,j,h^8192)}else{G=(i&32|0)!=0;j=C+3|0;v3(b,32,f,j,h&-65537);n3(b,B,C);n3(b,e!=e|0.0!=0.0?(G?412348:410410):G?410402:410406,3);v3(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function y3(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function z3(a,b){a=+a;b=b|0;return +(+A3(a,b))}function A3(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=m6(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+A3(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function B3(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[8903]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[105438]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[105438]=84;b=-1;break}}else b=1;while(0);return b|0}function C3(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[410432+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=410520;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=410520;else{f=410520;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return D3(f,c[e+20>>2]|0)|0}function D3(a,b){a=a|0;b=b|0;return E3(a,b)|0}function E3(a,b){a=a|0;b=b|0;if(!b)b=0;else b=F3(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function F3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=G3(c[b+8>>2]|0,o)|0;f=G3(c[b+12>>2]|0,o)|0;g=G3(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=G3(c[b+(g<<2)>>2]|0,o)|0;g=G3(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=e3(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=G3(c[b+(f<<2)>>2]|0,o)|0;f=G3(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function G3(a,b){a=a|0;b=b|0;var c=0;c=p6(a|0)|0;return ((b|0)==0?a:c)|0}function H3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(I3(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Th[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=Th[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);s6(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function I3(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function J3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;s6(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function K3(a){a=a|0;return ((a+-48|0)>>>0<10|(L3(a)|0)!=0)&1|0}function L3(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function M3(a){a=a|0;return (a>>>0<32|(a|0)==127)&1|0}function N3(a){a=a|0;return (a+-33|0)>>>0<94|0}function O3(a){a=a|0;return (a+-32|0)>>>0<95|0}function P3(a){a=a|0;if(!(N3(a)|0))a=0;else a=(K3(a)|0)==0;return a&1|0}function Q3(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function R3(a,b){a=a|0;b=b|0;return S3(a,b)|0}function S3(a,b){a=a|0;b=b|0;return e3(a,b)|0}function T3(a){a=a|0;U3(c[a>>2]|0);C2(a);return}function U3(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=K2(a)|0;a=ib(6,d|0)|0;I2((a|0)==-4?0:a)|0;l=b;return}function V3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=ab(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(cb(221,e|0)|0)>=0):0){W3(e,a);c[f>>2]=e;c[f+4>>2]=b;I2($a(195,f|0)|0)|0}else I2(d)|0;l=g;return}function W3(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=412324;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function X3(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=Y3()|0;do if((b|0)<0)a=0;else{a=B2(2072)|0;if(!a){c[d>>2]=b;ib(6,d|0)|0;a=0;break}if(c[a+-4>>2]&3|0)u6(a|0,0,2072)|0;c[a>>2]=b}while(0);l=e;return a|0}function Y3(){var a=0,b=0,d=0;d=l;l=l+32|0;b=d+16|0;a=d;c[a>>2]=425913;c[a+4>>2]=622592;c[a+8>>2]=0;a=gb(5,a|0)|0;if((a|0)>=0){c[b>>2]=a;c[b+4>>2]=2;c[b+8>>2]=1;cb(221,b|0)|0}b=I2(a)|0;l=d;return b|0}function Z3(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;d=i;g=a+8|0;b=c[g>>2]|0;f=a+12|0;a:do if((b|0)<(c[f>>2]|0))h=6;else{c[d>>2]=c[a>>2];c[d+4>>2]=a+24;c[d+8>>2]=2048;b=bb(220,d|0)|0;if((b|0)>=1){c[f>>2]=b;c[g>>2]=0;b=0;h=6;break}switch(b|0){case 0:case -2:{b=0;break a}default:{}}c[105438]=0-b;b=0}while(0);if((h|0)==6){h=a+24+b|0;c[g>>2]=(e[h+8>>1]|0)+b;c[a+4>>2]=c[h+4>>2];b=h}l=i;return b|0}function _3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+208|0;n=p+8|0;o=p;h=O(d,b)|0;m=o;c[m>>2]=1;c[m+4>>2]=0;a:do if(h|0){c[n+4>>2]=d;c[n>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[n+(f<<2)>>2]=b;if(b>>>0<h>>>0){m=g;f=f+1|0;g=b;b=m}else break}m=0-d|0;i=a+h+m|0;if(i>>>0>a>>>0){j=i;k=o+4|0;f=1;h=a;b=1;do{do if((b&3|0)!=3){g=f+-1|0;if((c[n+(g<<2)>>2]|0)>>>0<(j-h|0)>>>0)$3(h,d,e,f,n);else b4(h,d,e,b,c[k>>2]|0,f,0,n);if((f|0)==1){c4(o,1);f=0;break}else{c4(o,g);f=1;break}}else{$3(h,d,e,f,n);a4(o,2);f=f+2|0}while(0);b=c[o>>2]|1;c[o>>2]=b;h=h+d|0}while(h>>>0<i>>>0);j=k;g=c[k>>2]|0}else{f=1;h=a;j=o+4|0;g=0;b=1}b4(h,d,e,b,g,f,0,n);i=o+4|0;g=h;while(1){if((f|0)==1&(b|0)==1){if(!(c[i>>2]|0))break a}else if((f|0)>=2){c4(o,2);a=f+-2|0;c[o>>2]=c[o>>2]^7;a4(o,1);b4(g+(0-(c[n+(a<<2)>>2]|0))+m|0,d,e,c[o>>2]|0,c[j>>2]|0,f+-1|0,1,n);c4(o,1);b=c[o>>2]|1;c[o>>2]=b;k=g+m|0;b4(k,d,e,b,c[j>>2]|0,a,1,n);g=k;f=a;continue}b=d4(o)|0;a4(o,b);g=g+m|0;f=b+f|0;b=c[o>>2]|0}}while(0);l=p;return}function $3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((Sh[d&255](a,g)|0)>-1?(Sh[d&255](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((Sh[d&255](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f4(b,m,e);l=n;return}function a4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b4(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+240|0;n=q+232|0;p=q;c[n>>2]=e;o=n+4|0;c[o>>2]=f;c[p>>2]=a;a:do if((e|0)!=1|(f|0)!=0?(m=0-b|0,j=a+(0-(c[i+(g<<2)>>2]|0))|0,(Sh[d&255](j,a)|0)>=1):0){k=1;e=(h|0)==0;while(1){if(e&(g|0)>1){f=a+m|0;e=c[i+(g+-2<<2)>>2]|0;if((Sh[d&255](f,j)|0)>-1){e=k;f=10;break a}if((Sh[d&255](f+(0-e)|0,j)|0)>-1){e=k;f=10;break a}}a=k+1|0;c[p+(k<<2)>>2]=j;k=d4(n)|0;a4(n,k);g=k+g|0;if(!((c[n>>2]|0)!=1|(c[o>>2]|0)!=0)){e=a;a=j;f=10;break a}f=j+(0-(c[i+(g<<2)>>2]|0))|0;if((Sh[d&255](f,c[p>>2]|0)|0)<1){e=a;a=j;f=10;break}else{h=j;k=a;e=1;j=f;a=h}}}else f=9;while(0);if((f|0)==9?(h|0)==0:0){e=1;f=10}if((f|0)==10){f4(b,p,e);$3(a,b,d,g,i)}l=q;return}function c4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function d4(a){a=a|0;var b=0;b=e4((c[a>>2]|0)+-1|0)|0;if(!b){b=e4(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e4(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;s6(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;s6(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=S2(b)|0}while((T2(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=S2(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[412339+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=S2(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[412348+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=S2(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=S2(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=S2(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[105438]=22;Q2(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=S2(b)|0;if((e|32|0)==120){g=+h4(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+i4(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[105438]=22;Q2(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function h4(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=S2(a)|0;l=0}a:while(1){switch(j|0){case 46:{n=8;break a}case 48:break;default:{s=0;t=0;o=1.0;h=0.0;i=0;m=j;r=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=S2(a)|0;l=1;continue}}if((n|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=S2(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=S2(a)|0;l=b6(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;t=0;o=1.0;h=0.0;i=0;r=1;v=0;u=0}else{s=1;t=0;o=1.0;h=0.0;i=0;m=j;r=l;v=0;u=0;l=0;j=0}}while(1){n=m+-48|0;p=(m|0)==46;if(n>>>0>=10?!(p|((m|32)+-97|0)>>>0<6):0)break;if(p)if(!s){s=1;n=t;k=o;l=u;j=v;q=u;p=v}else{m=46;break}else{m=(m|0)>57?(m|32)+-87|0:n;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;n=t;k=o;h=h+o*+(m|0);break}else{r=(t|0)!=0|(m|0)==0;n=r?t:1;k=o;h=r?h:h+o*.5;break}else{n=t;k=o;i=m+(i<<4)|0}while(0);q=b6(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;t=n;o=k;m=d[m>>0]|0;v=p;u=q;continue}else{t=n;o=k;m=S2(a)|0;v=p;u=q;continue}}do if(!r){i=(c[x>>2]|0)!=0;if(i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(i?(w=c[y>>2]|0,c[y>>2]=w+-1,s|0):0)c[y>>2]=w+-2}else Q2(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;do{i=i<<4;l=b6(l|0,j|0,1,0)|0;j=z}while((j|0)<0|(j|0)==0&l>>>0<8);n=i}else n=i;if((m|32|0)==112){j=j4(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){Q2(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=n6(q|0,p|0,2)|0;l=b6(l|0,z|0,-32,-1)|0;l=b6(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[105438]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[105438]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=b6(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=c6(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=b6(e|0,z|0,l|0,i|0)|0;e=z;if((y|0)>(e|0)|(y|0)==(e|0)&b>>>0>i>>>0)if((i|0)>0)n=58;else{j=0;i=84;n=60}else{i=b;n=58}if((n|0)==58)if((i|0)<53){j=i;i=84-i|0;n=60}else{k=0.0;h=+(f|0)}if((n|0)==60){h=+(f|0);k=+l4(+k4(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=h*(f?0.0:o)+(k+h*+(((f&1)+m|0)>>>0))-k;if(!(h!=0.0))c[105438]=34;h=+n4(h,l)}while(0);return +h}function i4(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=S2(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=S2(a)|0;if((b|0)==48){k=0;b=0;while(1){k=b6(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=S2(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=G+496|0;w=0;k=0;u=0;x=v;C=p;v=m;y=n;p=0;m=0;c:while(1){do if(v)if(!x){x=1;n=C;q=p;o=m}else break c;else{p=b6(p|0,m|0,1,0)|0;m=z;v=(b|0)!=48;if((k|0)>=125){if(!v){n=C;break}c[A>>2]=c[A>>2]|1;n=C;break}n=G+(k<<2)|0;if(!w)b=y;else b=b+-48+((c[n>>2]|0)*10|0)|0;c[n>>2]=b;w=w+1|0;n=(w|0)==9;w=n?0:w;k=(n&1)+k|0;u=v?p:u;n=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=S2(a)|0;y=b+-48|0;v=(b|0)==46;if(!(v|y>>>0<10)){v=x;A=29;break b}else C=n}b=w;n=(C|0)!=0;A=37}else{w=0;k=0;u=0;n=p;p=0;m=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?m:o;n=(n|0)!=0;if(!(n&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}n=j4(a,h)|0;b=z;if((n|0)==0&(b|0)==-2147483648){if(!h){Q2(a,0);i=0.0;break}if(!(c[E>>2]|0)){n=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;n=0;b=0}}y=b6(n|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(n){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(n){y=q;A=41}else A=40;do if((A|0)==40){c[105438]=22;Q2(a,0);i=0.0}else if((A|0)==41){n=c[G>>2]|0;if(!n){i=+(g|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(m|0))?(e|0)>30|(n>>>e|0)==0:0){i=+(g|0)*+(n>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[105438]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0<a>>>0){c[105438]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;do{m=m*10|0;b=b+1|0}while((b|0)!=9);c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){b=c[G>>2]|0;if((y|0)==9){i=+(g|0)*+(b>>>0);break}if((y|0)<9){i=+(g|0)*+(b>>>0)/+(c[35668+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[35668+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[35668+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=n6(c[p>>2]|0,0,29)|0;k=b6(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=j6(k|0,m|0,1e9,0)|0;k=k6(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){n=0;while(1){o=n+y&127;if((o|0)==(k|0)){F=2;A=88;break}o=c[G+(o<<2)>>2]|0;p=c[35700+(n<<2)>>2]|0;if(o>>>0<p>>>0){F=2;A=88;break}if(o>>>0>p>>>0)break;n=n+1|0;if((n|0)>=2){F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=t*i;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+l4(+k4(1.0,105-n|0),j);r=+m4(j,+k4(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+m4(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=((H^1)&1)+b|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[105438]=34}while(0);i=+n4(i,b)}while(0);l=J;return +i}function j4(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;e=c[k>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=S2(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=S2(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0)c[k>>2]=(c[k>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[k>>2]=(c[k>>2]|0)+-1;f=-2147483648;e=0}else{i=0;do{i=e+-48+(i*10|0)|0;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=S2(a)|0;g=(e+-48|0)>>>0<10}while(g&(i|0)<214748364);b=((i|0)<0)<<31>>31;if(g){g=i;do{b=h6(g|0,b|0,10,0)|0;g=z;e=b6(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=b6(e|0,z|0,b|0,g|0)|0;b=z;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=S2(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));h=e;i=g}else h=e;e=c[j>>2]|0;if((h+-48|0)>>>0<10)do{g=c[k>>2]|0;if(g>>>0<e>>>0){c[k>>2]=g+1;g=d[g>>0]|0}else{g=S2(a)|0;e=c[j>>2]|0}}while((g+-48|0)>>>0<10);if(e|0)c[k>>2]=(c[k>>2]|0)+-1;k=(f|0)!=0;e=c6(0,0,i|0,b|0)|0;f=k?z:b;e=k?e:i}z=f;return e|0}function k4(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;b=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((b|0)>-1022?b:-1022):d}}else{a=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;b=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((b|0)<1023?b:1023):e}d=n6(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function l4(a,b){a=+a;b=+b;return +(+_2(a,b))}function m4(a,b){a=+a;b=+b;return +(+o4(a,b))}function n4(a,b){a=+a;b=b|0;return +(+k4(a,b))}function o4(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=m6(i|0,l|0,52)|0;e=e&2047;m=m6(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=n6(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=p4(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=n6(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=n6(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=n6(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=n6(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=n6(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=n6(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=n6(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=c6(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=n6(f|0,d|0,1)|0;g=z;e=e+-1|0;f=c6(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=n6(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=b6(f|0,d|0,0,-1048576)|0;d=z;e=n6(e|0,0,52)|0;d=d|z;e=o|e}else{e=m6(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function p4(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function q4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=a[b>>0]|0;e=f&255;a:do if(f<<24>>24){g=f;do{f=a[c>>0]|0;if(!(f<<24>>24))break a;if(g<<24>>24!=f<<24>>24?(g=N2(e)|0,(g|0)!=(N2(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;e=g&255}while(g<<24>>24!=0)}while(0);g=N2(e)|0;return g-(N2(d[c>>0]|0)|0)|0}function r4(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function s4(b,c){b=b|0;c=c|0;b=t4(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function t4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(r4(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function u4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j;h=(e|0)==0?421756:e;g=c[h>>2]|0;do if(!d)if(!g)e=0;else i=14;else{b=(b|0)==0?f:b;e=a[d>>0]|0;if(g){e=e&255;d=e>>>3;if((d+-16|d+(g>>26))>>>0>7){i=14;break}e=e+-128|g<<6;if((e|0)>=0){c[h>>2]=0;c[b>>2]=e;e=1;break}}else{if(e<<24>>24>-1){c[b>>2]=e&255;e=e<<24>>24!=0&1;break}if(!(c[c[8903]>>2]|0)){c[b>>2]=e<<24>>24&57343;e=1;break}e=(e&255)+-194|0;if(e>>>0>50){i=14;break}e=c[34720+(e<<2)>>2]|0}c[h>>2]=e;e=-2}while(0);if((i|0)==14){c[h>>2]=0;c[105438]=84;e=-1}l=j;return e|0}function v4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f;c[g>>2]=e;j3(a,b,d,g)|0;l=f;return}function w4(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)f=0;else{g=a[b>>0]|0;f=g&255;a:do if(g<<24>>24){h=g;do{e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(h<<24>>24!=g<<24>>24?(h=N2(f)|0,(h|0)!=(N2(g&255)|0)):0)break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;f=h&255}while(h<<24>>24!=0)}while(0);f=N2(f)|0;f=f-(N2(d[c>>0]|0)|0)|0}return f|0}function x4(a,b){a=a|0;b=b|0;y4(a,b);return a|0}function y4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=d;a:do if(!((f^b)&3)){if(!(f&3))e=d;else while(1){f=a[d>>0]|0;a[b>>0]=f;if(!(f<<24>>24))break a;d=d+1|0;b=b+1|0;if(!(d&3)){e=d;break}}d=c[e>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))while(1){e=e+4|0;f=b+4|0;c[b>>2]=d;d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){b=f;break}else b=f}g=b;h=8}else{e=d;g=b;h=8}while(0);if((h|0)==8?(h=a[e>>0]|0,a[g>>0]=h,h<<24>>24):0){b=g;do{e=e+1|0;b=b+1|0;h=a[e>>0]|0;a[b>>0]=h}while(h<<24>>24!=0)}return}function z4(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;g=+h[j>>3];f=g*g*(g/a);h[j>>3]=g*(f*(f*f)*(f*.14599619288661245+-.758397934778766)+(f*(f*1.6214297201053545+-1.8849797954337717)+1.87595182427177));d=b6(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=f+f*((a-f)/(f+f+a))}while(0);return +a}function A4(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0;h[j>>3]=a;f=c[j>>2]|0;g=c[j+4>>2]|0;d=m6(f|0,g|0,52)|0;d=d&2047;e=d+-1023|0;if((e|0)>51){h[b>>3]=a;c[j>>2]=0;c[j+4>>2]=g&-2147483648;return +((f|0)==0&(g&1048575|0)==0|(e|0)!=1024?+h[j>>3]:a)}do if(d>>>0>=1023){d=m6(-1,1048575,e|0)|0;e=z;if((d&f|0)==0&(e&g|0)==0){h[b>>3]=a;c[j>>2]=0;c[j+4>>2]=g&-2147483648;a=+h[j>>3];break}else{d=f&~d;f=g&~e;c[j>>2]=d;c[j+4>>2]=f;i=+h[j>>3];g=b;c[g>>2]=d;c[g+4>>2]=f;a=a-i;break}}else{f=b;c[f>>2]=0;c[f+4>>2]=g&-2147483648}while(0);return +a}function B4(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0;e=C4(a)|0;f=z;d=f&2147483647;do if(!(d>>>0>2146435072|(d|0)==2146435072&e>>>0>0)){c=C4(b)|0;d=z;g=d&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&c>>>0>0)){e=m6(e|0,f|0,63)|0;g=m6(c|0,d|0,63)|0;if((e|0)==(g|0)){a=a<b?b:a;break}else{a=(f|0)<0?b:a;break}}}else a=b;while(0);return +a}function C4(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function D4(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0;e=E4(a)|0;f=z;d=f&2147483647;do if(!(d>>>0>2146435072|(d|0)==2146435072&e>>>0>0)){c=E4(b)|0;d=z;g=d&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&c>>>0>0)){e=m6(e|0,f|0,63)|0;g=m6(c|0,d|0,63)|0;if((e|0)==(g|0)){a=a<b?a:b;break}else{a=(f|0)<0?a:b;break}}}else a=b;while(0);return +a}function E4(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function F4(a,b){a=+a;b=b|0;return +(+k4(a,b))}function G4(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function H4(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;a=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=m-g-k+i*(k+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=g*1.4426950407214463;k=+(e+(f>>>20)|0);i=k+l;a=i+(l+(k-i)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function I4(a){a=+a;var b=0,d=0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+b3(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+b3(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+b3(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function J4(a){a=+a;var b=0,d=0,e=0,f=0,g=0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=m6(b|0,d|0,52)|0;e=(e&2047)+-1011|0;if((e|0)>63)return +a;else{g=(e|0)<12;f=m6(-1,-1,e|0)|0;f=g?-1:f;e=g?2147483647:z;c[j>>2]=b&~f;c[j+4>>2]=d&~e;return +((f&b|0)==0&(e&d|0)==0?a:+h[j>>3])}return 0.0}function K4(a){a=+a;var b=0,d=0,e=0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=m6(b|0,d|0,52)|0;switch(e&2047){case 0:{b=(b|0)!=0|(d&2147483647|0)!=0?3:2;break}case 2047:{b=(b|0)==0&(d&1048575|0)==0&1;break}default:b=4}return b|0}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=O(c,b)|0;a=H3(a,e,d)|0;if((a|0)==(e|0))a=(b|0)==0?0:c;else a=(a>>>0)/(b>>>0)|0;return a|0}function M4(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;c[((a|0)==0?35656:a+116|0)>>2]=b}return}function N4(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(I3(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Th[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function O4(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=I2($a(195,e|0)|0)|0;l=d;return b|0}function P4(a){a=a|0;var b=0,c=0;c=(r4(a)|0)+1|0;b=B2(c)|0;if(!b)b=0;else s6(b|0,a|0,c|0)|0;return b|0}function Q4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(u3(412352,a[d>>0]|0,4)|0){f=R4(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=I2(gb(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;cb(221,g|0)|0}b=S4(e,d)|0;if(!b){c[h>>2]=e;ib(6,h|0)|0;b=0}}else b=0}else{c[105438]=22;b=0}l=i;return b|0}function R4(b){b=b|0;var c=0,d=0,e=0;d=(s4(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(s4(b,120)|0)==0;d=e?d:d|128;b=(s4(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function S4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+40|0;k=o+24|0;j=o+16|0;g=o;m=o+56|0;f=a[d>>0]|0;if(u3(412352,f<<24>>24,4)|0){e=B2(1156)|0;if(!e)e=0;else{h=e;i=h+124|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!(s4(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(s4(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;cb(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[j>>2]=b;c[j+4>>2]=3;f=cb(221,j|0)|0;if(!(f&1024)){c[k>>2]=b;c[k+4>>2]=4;c[k+8>>2]=f|1024;cb(221,k|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21523,c[n+8>>2]=m,(hb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=3;c[e+36>>2]=1;c[e+40>>2]=2;c[e+12>>2]=386;if(!(c[105423]|0))c[e+76>>2]=-1;T4(e)|0}}else{c[105438]=22;e=0}l=o;return e|0}function T4(a){a=a|0;var b=0;U4();b=c[105442]|0;c[a+56>>2]=b;if(b|0)c[b+52>>2]=a;c[105442]=a;V4();return a|0}function U4(){Ua(421760);return}function V4(){lb(421760);return}function W4(a){a=a|0;var b=0,d=0,e=0;M4(a);e=(c[a>>2]&1|0)!=0;if(!e){U4();d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[105442]|0)==(a|0))c[105442]=b;V4()}b=X4(a)|0;b=Rh[c[a+12>>2]&511](a)|0|b;d=c[a+92>>2]|0;if(d|0)C2(d);if(!e)C2(a);return b|0}function X4(a){a=a|0;var b=0;if(!a){if(!(c[8824]|0))a=0;else a=X4(c[8824]|0)|0;U4();b=c[105442]|0;if(b)do{if((c[b+20>>2]|0)>>>0>(c[b+28>>2]|0)>>>0)a=Y4(b)|0|a;b=c[b+56>>2]|0}while((b|0)!=0);V4()}else a=Y4(a)|0;return a|0}function Y4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Th[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)Th[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Z4(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=e+-1|0;g=(f|0)!=0;a:do if((e|0)<2){i=a[35122]|0;a[35122]=i+255|i;if(g)b=0;else a[b>>0]=0}else{b:do if(g){e=b;while(1){g=c[8763]|0;j=g;k=(c[8764]|0)-j|0;h=u3(g,10,k)|0;i=(h|0)==0;h=i?k:1-j+h|0;h=h>>>0<f>>>0?h:f;s6(e|0,g|0,h|0)|0;g=(c[8763]|0)+h|0;c[8763]=g;e=e+h|0;h=f-h|0;if(!(i&(h|0)!=0))break b;if(g>>>0>=(c[8764]|0)>>>0){f=U2(35048)|0;if((f|0)<0)break;else i=f}else{c[8763]=g+1;i=d[g>>0]|0}f=h+-1|0;g=e+1|0;a[e>>0]=i;if(!((f|0)!=0&(i&255|0)!=10)){e=g;break b}else e=g}if((e|0)==(b|0)){b=0;break a}if(!(c[8762]&16)){b=0;break a}}else e=b;while(0);if(!b)b=0;else a[e>>0]=0}while(0);return b|0}function _4(a){a=a|0;return (c[a>>2]|0)>>>4&1|0}function $4(a){a=a|0;return (c[a>>2]|0)>>>5&1|0}function a5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=b5(a,b,f)|0;l=e;return d|0}function b5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=57;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=d5(e,b,d)|0;l=g;return h|0}function c5(a,b,c){a=a|0;b=b|0;c=c|0;return h5(a,b,c)|0}function d5(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+288|0;J=O+8|0;K=O+17|0;L=O;M=O+16|0;i=a[e>>0]|0;a:do if(i<<24>>24){A=b+4|0;B=b+100|0;C=b+108|0;D=b+8|0;E=K+10|0;F=K+33|0;y=J+4|0;G=K+46|0;H=K+94|0;I=K+1|0;m=e;u=0;e=0;k=0;j=0;b:while(1){c:do if(!(T2(i&255)|0)){i=i<<24>>24==37;d:do if(i){p=m+1|0;n=a[p>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{x=0;m=m+2|0;break}default:{i=(n&255)+-48|0;if(i>>>0<10?(a[m+2>>0]|0)==36:0){x=e5(f,i)|0;m=m+3|0;break e}m=(c[f>>2]|0)+(4-1)&~(4-1);x=c[m>>2]|0;c[f>>2]=m+4;m=p}}while(0);i=a[m>>0]|0;n=i&255;if((n+-48|0)>>>0<10){p=0;do{p=(p*10|0)+-48+n|0;m=m+1|0;i=a[m>>0]|0;n=i&255}while((n+-48|0)>>>0<10)}else p=0;i=i<<24>>24==109;w=(x|0)!=0;k=i?0:k;j=i?0:j;m=i?m+1|0:m;i=w&i;n=m+1|0;switch(a[m>>0]|0){case 104:{v=(a[n>>0]|0)==104;q=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;q=v?3:1;m=v?m+2|0:n;break}case 106:{q=3;m=n;break}case 116:case 122:{q=1;m=n;break}case 76:{q=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{q=0;break}default:{N=135;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:q;r=s&255;switch(r<<24>>24){case 99:{p=(p|0)>1?p:1;break}case 91:break;case 110:{f5(x,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{Q2(b,0);do{n=c[A>>2]|0;if(n>>>0<(c[B>>2]|0)>>>0){c[A>>2]=n+1;n=d[n>>0]|0}else n=S2(b)|0}while((T2(n)|0)!=0);if(!(c[B>>2]|0))n=c[A>>2]|0;else{n=(c[A>>2]|0)+-1|0;c[A>>2]=n}u=(c[C>>2]|0)+u+n-(c[D>>2]|0)|0}}Q2(b,p);n=c[A>>2]|0;q=c[B>>2]|0;if(n>>>0<q>>>0)c[A>>2]=n+1;else{if((S2(b)|0)<0){N=135;break b}q=c[B>>2]|0}if(q|0)c[A>>2]=(c[A>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{v=(s|0)==99;g:do if((s|16|0)==115){u6(I|0,-1,256)|0;a[K>>0]=0;if((s|0)==115){a[F>>0]=0;a[E>>0]=0;a[E+1>>0]=0;a[E+2>>0]=0;a[E+3>>0]=0;a[E+4>>0]=0}}else{n=m+1|0;s=(a[n>>0]|0)==94;r=s&1;m=s?m+2|0:n;u6(I|0,s&1|0,256)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{n=G;N=62;break}case 93:{n=H;N=62;break}default:s=(r^1)&255}if((N|0)==62){N=0;s=(r^1)&255;a[n>>0]=s;m=m+1|0}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{N=135;break b}case 93:break g;case 45:{r=m+1|0;n=a[r>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=s;n=a[r>>0]|0}while((m|0)<(n&255|0));m=r}else m=r;break}default:{}}while(0);a[K+((n&255)+1)>>0]=s;m=m+1|0}}while(0);n=v?p+1|0:31;s=(t|0)==1;i:do if(s){if(i){j=B2(n<<2)|0;if(!j){k=0;j=0;i=1;N=135;break b}}else j=x;c[J>>2]=0;c[y>>2]=0;r=n;k=0;j:while(1){q=(j|0)==0;do{k:while(1){n=c[A>>2]|0;if(n>>>0<(c[B>>2]|0)>>>0){c[A>>2]=n+1;n=d[n>>0]|0}else n=S2(b)|0;if(!(a[K+(n+1)>>0]|0))break j;a[M>>0]=n;switch(u4(L,M,J)|0){case -1:{k=0;N=135;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(i&(k|0)==(r|0)));k=r<<1|1;n=D2(j,k<<2)|0;if(!n){k=0;i=1;N=135;break b}else{t=r;r=k;j=n;k=t}}if(!(g5(J)|0)){k=0;N=135;break b}else{n=k;k=0;r=j}}else{if(i){k=B2(n)|0;if(!k){k=0;j=0;i=1;N=135;break b}else{q=n;j=0}while(1){do{n=c[A>>2]|0;if(n>>>0<(c[B>>2]|0)>>>0){c[A>>2]=n+1;n=d[n>>0]|0}else n=S2(b)|0;if(!(a[K+(n+1)>>0]|0)){n=j;r=0;j=0;break i}a[k+j>>0]=n;j=j+1|0}while((j|0)!=(q|0));j=q<<1|1;n=D2(k,j)|0;if(!n){j=0;i=1;N=135;break b}else{t=q;q=j;k=n;j=t}}}if(!x){k=q;while(1){j=c[A>>2]|0;if(j>>>0<k>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;if(!(a[K+(j+1)>>0]|0)){n=0;k=0;r=0;j=0;break i}k=c[B>>2]|0}}else{n=0;k=q;while(1){j=c[A>>2]|0;if(j>>>0<k>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=S2(b)|0;if(!(a[K+(j+1)>>0]|0)){k=x;r=0;j=0;break i}a[x+n>>0]=j;n=n+1|0;k=c[B>>2]|0}}}while(0);if(!(c[B>>2]|0))q=c[A>>2]|0;else{q=(c[A>>2]|0)+-1|0;c[A>>2]=q}q=q-(c[D>>2]|0)+(c[C>>2]|0)|0;if(!q){N=137;break b}if(!((q|0)==(p|0)|v^1)){N=137;break b}do if(i)if(s){c[x>>2]=r;break}else{c[x>>2]=k;break}while(0);if(!v){if(r|0)c[r+(n<<2)>>2]=0;if(!k)k=0;else a[k+n>>0]=0}break}case 120:case 88:case 112:{n=16;N=123;break}case 111:{n=8;N=123;break}case 117:case 100:{n=10;N=123;break}case 105:{n=0;N=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+g4(b,t,0);if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0)){N=137;break b}if(x)switch(t|0){case 0:{g[x>>2]=o;break f}case 1:{h[x>>3]=o;break f}case 2:{h[x>>3]=o;break f}default:break f}break}default:{}}while(0);do if((N|0)==123){N=0;n=R2(b,n,0,-1,-1)|0;if((c[C>>2]|0)==((c[D>>2]|0)-(c[A>>2]|0)|0)){N=137;break b}if(w&(s|0)==112){c[x>>2]=n;break}else{f5(x,t,n,z);break}}while(0);e=(w&1)+e|0;n=(c[C>>2]|0)+u+(c[A>>2]|0)-(c[D>>2]|0)|0;break c}while(0);m=m+(i&1)|0;Q2(b,0);i=c[A>>2]|0;if(i>>>0<(c[B>>2]|0)>>>0){c[A>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0;if((i|0)!=(d[m>>0]|0)){N=20;break b}n=u+1|0}else{while(1){i=m+1|0;if(!(T2(d[i>>0]|0)|0))break;else m=i}Q2(b,0);do{i=c[A>>2]|0;if(i>>>0<(c[B>>2]|0)>>>0){c[A>>2]=i+1;i=d[i>>0]|0}else i=S2(b)|0}while((T2(i)|0)!=0);if(!(c[B>>2]|0))i=c[A>>2]|0;else{i=(c[A>>2]|0)+-1|0;c[A>>2]=i}n=(c[C>>2]|0)+u+i-(c[D>>2]|0)|0}while(0);m=m+1|0;i=a[m>>0]|0;if(!(i<<24>>24))break a;else u=n}if((N|0)==20){if(c[B>>2]|0)c[A>>2]=(c[A>>2]|0)+-1;if((e|0)!=0|(i|0)>-1)break;else{i=0;N=136}}else if((N|0)==135){i=i&1;if(!e)N=136}else if((N|0)==137)i=i&1;if((N|0)==136)e=-1;if(i){C2(k);C2(j)}}else e=0;while(0);l=O;return e|0}function e5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function f5(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function g5(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function h5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=u3(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;s6(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function i5(a,b,c){a=a|0;b=b|0;c=c|0;return k5(a,b,c)|0}function j5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=l;l=l+16|0;e=a;c[e>>2]=d;k3(34924,b,e)|0;l=a;return}function k5(a,b,c){a=a|0;b=b|0;c=c|0;return l5(a,b,c)|0}function l5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Th[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((Th[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function m5(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=a[c>>0]|0;do if(f<<24>>24){b=s4(b,f<<24>>24)|0;if(b){e=a[c+1>>0]|0;if(e<<24>>24)if(a[b+1>>0]|0){d=a[c+2>>0]|0;if(!(d<<24>>24)){b=n5(b,f,e)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=o5(b,f,e,d)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=p5(b,c)|0;break}else{b=q5(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function n5(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;g=(c&255)<<8|e&255;f=d[b>>0]|0;while(1){e=b+1|0;c=a[e>>0]|0;if(!(c<<24>>24)){b=0;break}f=c&255|f<<8&65280;if((f|0)==(g|0))break;else b=e}return b|0}function o5(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0;g=(e&255)<<16|(c&255)<<24|(f&255)<<8;f=b+2|0;e=a[f>>0]|0;c=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(e&255)<<8;e=e<<24>>24!=0;if(!((c|0)==(g|0)|e^1))do{f=f+1|0;e=a[f>>0]|0;c=(e&255|c)<<8;e=e<<24>>24!=0}while(!((c|0)==(g|0)|e^1));return (e?f+-2|0:0)|0}function p5(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;g=a[c>>0]|0;e=g&255|((d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8);b=g<<24>>24!=0;if(!((e|0)==(f|0)|b^1))do{c=c+1|0;b=a[c>>0]|0;e=b&255|e<<8;b=b<<24>>24!=0}while(!((e|0)==(f|0)|b^1));return (b?c+-3|0:0)|0}function q5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;f=e;e=e&255;while(1){if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((f&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(f&31);s=s+1|0;c[u+(e<<2)>>2]=s;e=a[d+s>>0]|0;if(!(e<<24>>24))break;else{f=e;e=e&255}}if(s>>>0>1){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){m=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){m=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){m=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){m=1;break}else{f=e+1|0;k=e}}h=0;n=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+n)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){h=m;g=n;i=27;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){h=m;g=n;i=27;break a}}f=h-n|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){h=m;g=n;i=27;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){h=m;f=1;i=27;break}else{h=g+1|0;n=g}}}else{h=1;e=-1;f=1;g=-1;i=27}}else{h=1;e=-1;s=0;f=1;g=-1;i=27}while(0);e:do if((i|0)==27){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:h;q=q?g:e;r=q+1|0;if(!(f3(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=u3(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function r5(a){a=a|0;return s5(a,(r4(a)|0)+1|0)|0}function s5(b,c){b=b|0;c=c|0;var d=0;d=c;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=46);return c|0}function t5(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+4304|0;k=m+16|0;j=m+8|0;d=m;f=m+96|0;h=m+20|0;e=m+4272|0;i=m+176|0;do if(b){c[d>>2]=b;c[d+4>>2]=2656256;d=I2(gb(5,d|0)|0)|0;if((d|0)<0)b=0;else{W3(e,d);b=u5(e,i)|0;if((b|0)>=0?(a[i+b>>0]=0,V3(d,f),g=O4(i,h)|0,(g|0)>=0):0){if((c[f>>2]|0)==(c[h>>2]|0)?(c[f+72>>2]|0)==(c[h+72>>2]|0):0){c[j>>2]=d;ib(6,j|0)|0;b=P4(i)|0;break}if(!g)c[105438]=40}c[k>>2]=d;ib(6,k|0)|0;b=0}}else{c[105438]=22;b=0}while(0);l=m;return b|0}function u5(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=4095;b=I2(kb(85,e|0)|0)|0;l=d;return b|0}function v5(a){a=a|0;return w5(a)|0}function w5(a){a=a|0;return o6(a|0)|0}function x5(a){a=a|0;return y5(a)|0}function y5(a){a=a|0;return p6(a|0)|0}function z5(a,b,c){a=a|0;b=b|0;c=c|0;A5(a,b,c);return a|0}function A5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);u6(b|0,0,e|0)|0;return}function B5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function C5(a){a=a|0;var b=0,e=0,f=0;do if((c[a+76>>2]|0)>=0?(m3()|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=U2(a)|0;break}}else f=3;while(0);do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=U2(a)|0;break}}while(0);return b|0}function D5(a){a=a|0;return E5(a)|0}function E5(a){a=a|0;return o6(a|0)|0}function F5(a){a=a|0;var b=0;b=413208;c[b>>2]=a+-1;c[b+4>>2]=0;return}function G5(){var a=0,b=0,d=0;b=413208;b=h6(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=b6(b|0,z|0,1,0)|0;a=z;d=413208;c[d>>2]=b;c[d+4>>2]=a;a=m6(b|0,a|0,33)|0;return a|0}function H5(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=425913;c[d+4>>2]=a;I2(_a(15,d|0)|0)|0;l=b;return}function I5(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=425913;c[b+4>>2]=448;I2(eb(39,b|0)|0)|0;l=a;return}function J5(a){a=a|0;return K5(a)|0}function K5(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Th[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function L5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b&255;j=b&255;do if((c[d+76>>2]|0)>=0?(m3()|0)!=0:0){if((j|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=i;break}N4(d,b)|0}else k=3;while(0);do if((k|0)==3){if((j|0)!=(a[d+75>>0]|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=i;break}N4(d,b)|0}while(0);return}function M5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=O(e,d)|0;e=(d|0)==0?0:e;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;k=(c[f+8>>2]|0)-h|0;i=k>>>0<j>>>0?k:j;if((k|0)>0){s6(b|0,h|0,i|0)|0;c[g>>2]=h+i;g=j-i|0;b=b+i|0}else g=j;a:do if(g){i=f+32|0;while(1){if(V2(f)|0)break;h=Th[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g)break a;else b=b+h|0}e=((j-g|0)>>>0)/(d>>>0)|0}while(0);return e|0}function N5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;d=i;g=R4(403165)|0;X4(b)|0;do if(!a){a=b+60|0;if(g&524288|0){c[d>>2]=c[a>>2];c[d+4>>2]=2;c[d+8>>2]=1;cb(221,d|0)|0}c[e>>2]=c[a>>2];c[e+4>>2]=4;c[e+8>>2]=g&-524481;if((I2(cb(221,e|0)|0)|0)<0)h=11}else{a=Q4(a,403165)|0;if(!a)h=11;else{d=a+60|0;e=c[d>>2]|0;f=c[b+60>>2]|0;if((e|0)!=(f|0)){if((O5(e,f,g&524288)|0)<0){W4(a)|0;h=11;break}}else c[d>>2]=-1;c[b>>2]=c[b>>2]&1|c[a>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];W4(a)|0}}while(0);if((h|0)==11){W4(b)|0;b=0}l=i;return b|0}function O5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+48|0;i=j+24|0;h=j+16|0;f=j;a:do if((a|0)!=(b|0)){g=(d&524288|0)!=0;b:do if(g)while(1){c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;e=db(330,f|0)|0;switch(e|0){case -38:break b;case -16:break;default:break a}}while(0);do{c[h>>2]=a;c[h+4>>2]=b;e=jb(63,h|0)|0}while((e|0)==-16);if(g){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;cb(221,i|0)|0}}else e=-22;while(0);i=I2(e)|0;l=j;return i|0}function P5(a){a=a|0;return J5(a)|0}function Q5(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;k3(35172,a,e)|0;l=d;return}function R5(){var a=0,b=0,d=0;d=l;l=l+16|0;b=d+8|0;a=d;c[a>>2]=425913;a=Wa(10,a|0)|0;if((a|0)==-21){c[b>>2]=425913;a=fb(40,b|0)|0}b=I2(a)|0;l=d;return b|0}function S5(){T5();return}function T5(){a[35247]=-1;c[8805]=0;c[8793]=c[8793]|64;return}function U5(a,b){a=a|0;b=b|0;return +(+V5(a,b))}function V5(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,h=0;h=l;l=l+128|0;g=h;d=g;f=d+124|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));f=g+4|0;c[f>>2]=a;d=g+8|0;c[d>>2]=-1;c[g+44>>2]=a;c[g+76>>2]=-1;Q2(g,0);e=+g4(g,1,1);d=(c[f>>2]|0)-(c[d>>2]|0)+(c[g+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=h;return +e}function W5(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(T2(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function X5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;if(!(e<<24>>24))d=b;else{d=b;do{if(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)|0)break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=t4(b,e<<24>>24)|0;l=h;return d-b|0}function Y5(a,b){a=a|0;b=b|0;x4(a+(r4(a)|0)|0,b)|0;return a|0}function Z5(b,c){b=b|0;c=c|0;c=b+(X5(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function _5(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[105443]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(B5(b,d)|0)|0;if(!(a[b>>0]|0)){c[105443]=0;b=0;break}d=b+(X5(b,d)|0)|0;c[105443]=d;if(!(a[d>>0]|0)){c[105443]=0;break}else{c[105443]=d+1;a[d>>0]=0;break}}while(0);return b|0}function $5(){var a=0,b=0;b=l;l=l+16|0;a=b;c[a>>2]=425913;a=I2(fb(40,a|0)|0)|0;l=b;return a|0}function a6(){}function b6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function c6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function d6(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function e6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=d6(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((d6(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (z=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=b6(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;c6(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=c6(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function f6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=c6(j^a|0,i^b|0,j|0,i|0)|0;g=z;a=f^j;b=e^i;return c6((e6(h,g,c6(f^c|0,e^d|0,f|0,e|0)|0,z,0)|0)^a|0,z^b|0,a|0,b|0)|0}function g6(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function h6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=g6(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function i6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=c6(h^a|0,g^b|0,h|0,g|0)|0;b=z;e6(a,b,c6(k^d|0,j^e|0,k|0,j|0)|0,z,i)|0;e=c6(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=z;l=f;return (z=d,e)|0}function j6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return e6(a,b,c,d,0)|0}function k6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;e6(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function l6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=(b|0)<0?-1:0;return b>>c-32|0}function m6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=0;return b>>>c-32|0}function n6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}z=a<<c-32;return 0}function o6(a){a=a|0;return (a&255)<<8|a>>8&255|0}function p6(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function q6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=D2(d|0,8*(e+1|0)|0)|0;d=q6(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function r6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function s6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return nf(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function t6(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else s6(b,c,d)|0;return b|0}function u6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function v6(a){a=+a;return a>=0.0?+A(a+.5):+N(a-.5)}function w6(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){W()|0;Va(12);return -1}c[i>>2]=a;if((a|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=b;Va(12);return -1}return b|0}function x6(a,b){a=a|0;b=+b;return +Mh[a&31](+b)}function y6(a,b,c){a=a|0;b=+b;c=+c;return +Nh[a&3](+b,+c)}function z6(a,b){a=a|0;b=b|0;return +Oh[a&3](b|0)}function A6(a,b,c){a=a|0;b=b|0;c=+c;return +Ph[a&1](b|0,+c)}function B6(a){a=a|0;return Qh[a&15]()|0}function C6(a,b){a=a|0;b=b|0;return Rh[a&511](b|0)|0}function D6(a,b,c){a=a|0;b=b|0;c=c|0;return Sh[a&255](b|0,c|0)|0}function E6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Th[a&63](b|0,c|0,d|0)|0}function F6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Uh[a&63](b|0,c|0,d|0,e|0)|0}function G6(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;return Vh[a&3](b|0,c|0,d|0,e|0,+f,g|0,h|0)|0}function H6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wh[a&31](b|0,c|0,d|0,e|0,f|0)|0}function I6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Xh[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function J6(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Yh[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function K6(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Zh[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function L6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return _h[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function M6(a){a=a|0;$h[a&31]()}function N6(a,b){a=a|0;b=+b;ai[a&3](+b)}function O6(a,b,c){a=a|0;b=+b;c=+c;bi[a&3](+b,+c)}function P6(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ci[a&3](+b,+c,+d,+e)}function Q6(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;di[a&1](+b,+c,+d,+e,+f,+g)}function R6(a,b,c){a=a|0;b=+b;c=c|0;ei[a&1](+b,c|0)}function S6(a,b){a=a|0;b=b|0;fi[a&511](b|0)}function T6(a,b,c){a=a|0;b=b|0;c=+c;gi[a&3](b|0,+c)}function U6(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;hi[a&3](b|0,+c,+d)}function V6(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;ii[a&3](b|0,+c,+d,+e)}function W6(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;ji[a&3](b|0,+c,+d,+e,+f)}function X6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=o|0;p=p|0;ki[a&1](b|0,+c,+d,+e,+f,+g,+h,+i,+j,+k,+l,+m,+n,o|0,p|0)}function Y6(a,b,c){a=a|0;b=b|0;c=c|0;li[a&511](b|0,c|0)}function Z6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;mi[a&3](b|0,c|0,+d)}function _6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ni[a&7](b|0,c|0,+d,+e,+f,+g,+h,+i,j|0)}function $6(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=i|0;oi[a&7](b|0,c|0,+d,+e,+f,+g,+h,i|0)}function a7(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=h|0;pi[a&3](b|0,c|0,+d,+e,+f,+g,h|0)}function b7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;qi[a&3](b|0,c|0,+d,+e,+f,g|0)}function c7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ri[a&1](b|0,c|0,+d,+e,f|0)}function d7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;si[a&127](b|0,c|0,d|0)}function e7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ti[a&63](b|0,c|0,d|0,e|0)}function f7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;ui[a&1](b|0,c|0,d|0,e|0,+f,+g)}function g7(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;vi[a&1](b|0,c|0,d|0,e|0,+f,+g,+h)}function h7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;wi[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i)}function i7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;xi[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j)}function j7(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;yi[a&1](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,+k,+l)}function k7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zi[a&31](b|0,c|0,d|0,e|0,f|0)}function l7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ai[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function m7(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Bi[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function n7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Ci[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function o7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Di[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function p7(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;Ei[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function q7(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;Fi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function r7(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;Gi[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0)}function s7(a){a=+a;S(0);return 0.0}function t7(a,b){a=+a;b=+b;S(1);return 0.0}function u7(a){a=a|0;S(2);return 0.0}function v7(a,b){a=a|0;b=+b;S(3);return 0.0}function w7(){S(4);return 0}function x7(){return Ob()|0}function y7(){return Jc()|0}function z7(){return Ad()|0}function A7(a){a=a|0;S(5);return 0}function B7(a){a=a|0;return Gb(a|0)|0}function C7(a){a=a|0;return Mb(a|0)|0}function D7(a){a=a|0;return Hb(a|0)|0}function E7(a){a=a|0;return Pb(a|0)|0}function F7(a){a=a|0;return zb(a|0)|0}function G7(a){a=a|0;return Od(a|0)|0}function H7(a){a=a|0;return ce(a|0)|0}function I7(a){a=a|0;return Yd(a|0)|0}function J7(a){a=a|0;return ae(a|0)|0}function K7(a){a=a|0;return Kc(a|0)|0}function L7(a){a=a|0;return be(a|0)|0}function M7(a){a=a|0;return $d(a|0)|0}function N7(a){a=a|0;return _d(a|0)|0}function O7(a){a=a|0;return de(a|0)|0}function P7(a){a=a|0;return vc(a|0)|0}function Q7(a){a=a|0;return Zd(a|0)|0}function R7(a,b){a=a|0;b=b|0;S(6);return 0}function S7(a,b){a=a|0;b=b|0;return Db(a|0,b|0)|0}function T7(a,b){a=a|0;b=b|0;return Eb(a|0,b|0)|0}function U7(a,b){a=a|0;b=b|0;return Kb(a|0,b|0)|0}function V7(a,b){a=a|0;b=b|0;return Lb(a|0,b|0)|0}function W7(a,b){a=a|0;b=b|0;return Rd(a|0,b|0)|0}function X7(a,b){a=a|0;b=b|0;return xd(a|0,b|0)|0}function Y7(a,b,c){a=a|0;b=b|0;c=c|0;S(7);return 0}function Z7(a,b,c){a=a|0;b=b|0;c=c|0;return Ib(a|0,b|0,c|0)|0}function _7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function $7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fb(a|0,b|0,c|0,d|0)|0}function a8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bb(a|0,b|0,c|0,d|0)|0}function b8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Cb(a|0,b|0,c|0,d|0)|0}function c8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb(a|0,b|0,c|0,d|0)|0}function d8(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;S(9);return 0}function e8(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(10);return 0}function f8(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ab(a|0,b|0,c|0,d|0,e|0)|0}function g8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(11);return 0}function h8(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;S(12);return 0}function i8(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;S(13);return 0}function j8(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(14);return 0}function k8(){S(15)}function l8(){ge()}function m8(){ne()}function n8(){id()}function o8(){jd()}function p8(a){a=+a;S(16)}function q8(a){a=+a;yc(+a)}function r8(a){a=+a;zc(+a)}function s8(a){a=+a;ee(+a)}function t8(a,b){a=+a;b=+b;S(17)}function u8(a,b){a=+a;b=+b;Wc(+a,+b)}function v8(a,b){a=+a;b=+b;Xc(+a,+b)}function w8(a,b){a=+a;b=+b;le(+a,+b)}function x8(a,b,c,d){a=+a;b=+b;c=+c;d=+d;S(18)}function y8(a,b,c,d){a=+a;b=+b;c=+c;d=+d;pe(+a,+b,+c,+d)}function z8(a,b,c,d){a=+a;b=+b;c=+c;d=+d;xc(+a,+b,+c,+d)}function A8(a,b,c,d){a=+a;b=+b;c=+c;d=+d;oc(+a,+b,+c,+d)}function B8(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;S(19)}function C8(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;nd(+a,+b,+c,+d,+e,+f)}function D8(a,b){a=+a;b=b|0;S(20)}function E8(a,b){a=+a;b=b|0;qe(+a,b|0)}function F8(a){a=a|0;S(21)}function G8(a){a=a|0;Rc(a|0)}function H8(a){a=a|0;Ec(a|0)}function I8(a){a=a|0;Pc(a|0)}function J8(a){a=a|0;fe(a|0)}function K8(a){a=a|0;_e(a|0)}function L8(a){a=a|0;$e(a|0)}function M8(a){a=a|0;Oc(a|0)}function N8(a){a=a|0;gd(a|0)}function O8(a){a=a|0;Bc(a|0)}function P8(a){a=a|0;nc(a|0)}function Q8(a){a=a|0;ie(a|0)}function R8(a){a=a|0;he(a|0)}function S8(a){a=a|0;hd(a|0)}function T8(a){a=a|0;_c(a|0)}function U8(a){a=a|0;Uc(a|0)}function V8(a){a=a|0;fd(a|0)}function W8(a){a=a|0;Zc(a|0)}function X8(a){a=a|0;md(a|0)}function Y8(a){a=a|0;Lc(a|0)}function Z8(a){a=a|0;wc(a|0)}function _8(a){a=a|0;Ac(a|0)}function $8(a){a=a|0;Vc(a|0)}function a9(a){a=a|0;we(a|0)}function b9(a){a=a|0;td(a|0)}function c9(a){a=a|0;fc(a|0)}function d9(a){a=a|0;pc(a|0)}function e9(a,b){a=a|0;b=+b;S(22)}function f9(a,b){a=a|0;b=+b;He(a|0,+b)}function g9(a,b){a=a|0;b=+b;af(a|0,+b)}function h9(a,b,c){a=a|0;b=+b;c=+c;S(23)}function i9(a,b,c){a=a|0;b=+b;c=+c;Le(a|0,+b,+c)}function j9(a,b,c){a=a|0;b=+b;c=+c;cf(a|0,+b,+c)}function k9(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;S(24)}function l9(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Pe(a|0,+b,+c,+d)}function m9(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ef(a|0,+b,+c,+d)}function n9(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;S(25)}function o9(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Te(a|0,+b,+c,+d,+e)}function p9(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;gf(a|0,+b,+c,+d,+e)}function q9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=n|0;o=o|0;S(26)}function r9(a,b){a=a|0;b=b|0;S(27)}function s9(a,b){a=a|0;b=b|0;ke(a|0,b|0)}function t9(a,b){a=a|0;b=b|0;Ed(a|0,b|0)}function u9(a,b){a=a|0;b=b|0;Bd(a|0,b|0)}function v9(a,b){a=a|0;b=b|0;yd(a|0,b|0)}function w9(a,b){a=a|0;b=b|0;rd(a|0,b|0)}function x9(a,b){a=a|0;b=b|0;Sc(a|0,b|0)}function y9(a,b){a=a|0;b=b|0;mc(a|0,b|0)}function z9(a,b){a=a|0;b=b|0;od(a|0,b|0)}function A9(a,b){a=a|0;b=b|0;Mc(a|0,b|0)}function B9(a,b){a=a|0;b=b|0;qd(a|0,b|0)}function C9(a,b){a=a|0;b=b|0;Qc(a|0,b|0)}function D9(a,b){a=a|0;b=b|0;lc(a|0,b|0)}function E9(a,b){a=a|0;b=b|0;Je(a|0,b|0)}function F9(a,b){a=a|0;b=b|0;ic(a|0,b|0)}function G9(a,b){a=a|0;b=b|0;bf(a|0,b|0)}function H9(a,b){a=a|0;b=b|0;df(a|0,b|0)}function I9(a,b){a=a|0;b=b|0;ff(a|0,b|0)}function J9(a,b){a=a|0;b=b|0;hf(a|0,b|0)}function K9(a,b){a=a|0;b=b|0;gc(a|0,b|0)}function L9(a,b){a=a|0;b=b|0;Yc(a|0,b|0)}function M9(a,b){a=a|0;b=b|0;jc(a|0,b|0)}function N9(a,b){a=a|0;b=b|0;pd(a|0,b|0)}function O9(a,b){a=a|0;b=b|0;Nc(a|0,b|0)}function P9(a,b){a=a|0;b=b|0;kc(a|0,b|0)}function Q9(a,b){a=a|0;b=b|0;Gd(a|0,b|0)}function R9(a,b){a=a|0;b=b|0;sd(a|0,b|0)}function S9(a,b){a=a|0;b=b|0;Tc(a|0,b|0)}function T9(a,b){a=a|0;b=b|0;jf(a|0,b|0)}function U9(a,b){a=a|0;b=b|0;rc(a|0,b|0)}function V9(a,b){a=a|0;b=b|0;qc(a|0,b|0)}function W9(a,b){a=a|0;b=b|0;xe(a|0,b|0)}function X9(a,b){a=a|0;b=b|0;Xd(a|0,b|0)}function Y9(a,b){a=a|0;b=b|0;bd(a|0,b|0)}function Z9(a,b,c){a=a|0;b=b|0;c=+c;S(28)}function _9(a,b,c){a=a|0;b=b|0;c=+c;Ce(a|0,b|0,+c)}function $9(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=i|0;S(29)}function aaa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=h|0;S(30)}function baa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=g|0;S(31)}function caa(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=f|0;S(32)}function daa(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;S(33)}function eaa(a,b,c){a=a|0;b=b|0;c=c|0;S(34)}function faa(a,b,c){a=a|0;b=b|0;c=c|0;Pd(a|0,b|0,c|0)}function gaa(a,b,c){a=a|0;b=b|0;c=c|0;Qd(a|0,b|0,c|0)}function haa(a,b,c){a=a|0;b=b|0;c=c|0;De(a|0,b|0,c|0)}function iaa(a,b,c){a=a|0;b=b|0;c=c|0;Fe(a|0,b|0,c|0)}function jaa(a,b,c){a=a|0;b=b|0;c=c|0;zd(a|0,b|0,c|0)}function kaa(a,b,c){a=a|0;b=b|0;c=c|0;Jd(a|0,b|0,c|0)}function laa(a,b,c){a=a|0;b=b|0;c=c|0;Sd(a|0,b|0,c|0)}function maa(a,b,c){a=a|0;b=b|0;c=c|0;Td(a|0,b|0,c|0)}function naa(a,b,c){a=a|0;b=b|0;c=c|0;Vd(a|0,b|0,c|0)}function oaa(a,b,c){a=a|0;b=b|0;c=c|0;Wd(a|0,b|0,c|0)}function paa(a,b,c){a=a|0;b=b|0;c=c|0;Ud(a|0,b|0,c|0)}function qaa(a,b,c){a=a|0;b=b|0;c=c|0;Ne(a|0,b|0,c|0)}function raa(a,b,c){a=a|0;b=b|0;c=c|0;Ke(a|0,b|0,c|0)}function saa(a,b,c){a=a|0;b=b|0;c=c|0;Oe(a|0,b|0,c|0)}function taa(a,b,c){a=a|0;b=b|0;c=c|0;Se(a|0,b|0,c|0)}function uaa(a,b,c){a=a|0;b=b|0;c=c|0;We(a|0,b|0,c|0)}function vaa(a,b,c){a=a|0;b=b|0;c=c|0;Ie(a|0,b|0,c|0)}function waa(a,b,c){a=a|0;b=b|0;c=c|0;Me(a|0,b|0,c|0)}function xaa(a,b,c){a=a|0;b=b|0;c=c|0;Qe(a|0,b|0,c|0)}function yaa(a,b,c){a=a|0;b=b|0;c=c|0;Ue(a|0,b|0,c|0)}function zaa(a,b,c){a=a|0;b=b|0;c=c|0;Nd(a|0,b|0,c|0)}function Aaa(a,b,c){a=a|0;b=b|0;c=c|0;Id(a|0,b|0,c|0)}function Baa(a,b,c){a=a|0;b=b|0;c=c|0;hc(a|0,b|0,c|0)}function Caa(a,b,c){a=a|0;b=b|0;c=c|0;Fd(a|0,b|0,c|0)}function Daa(a,b,c){a=a|0;b=b|0;c=c|0;je(a|0,b|0,c|0)}function Eaa(a,b,c){a=a|0;b=b|0;c=c|0;$c(a|0,b|0,c|0)}function Faa(a,b,c){a=a|0;b=b|0;c=c|0;Ee(a|0,b|0,c|0)}function Gaa(a,b,c){a=a|0;b=b|0;c=c|0;ue(a|0,b|0,c|0)}function Haa(a,b,c){a=a|0;b=b|0;c=c|0;ye(a|0,b|0,c|0)}function Iaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(35)}function Jaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;tc(a|0,b|0,c|0,d|0)}function Kaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;uc(a|0,b|0,c|0,d|0)}function Laa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Re(a|0,b|0,c|0,d|0)}function Maa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xe(a|0,b|0,c|0,d|0)}function Naa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ye(a|0,b|0,c|0,d|0)}function Oaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ze(a|0,b|0,c|0,d|0)}function Paa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wd(a|0,b|0,c|0,d|0)}function Qaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;te(a|0,b|0,c|0,d|0)}function Raa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Md(a|0,b|0,c|0,d|0)}function Saa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kd(a|0,b|0,c|0,d|0)}function Taa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ld(a|0,b|0,c|0,d|0)}function Uaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Hd(a|0,b|0,c|0,d|0)}function Vaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kd(a|0,b|0,c|0,d|0)}function Waa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Cd(a|0,b|0,c|0,d|0)}function Xaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Dd(a|0,b|0,c|0,d|0)}function Yaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lf(a|0,b|0,c|0,d|0)}function Zaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ae(a|0,b|0,c|0,d|0)}function _aa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Dc(a|0,b|0,c|0,d|0)}function $aa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cd(a|0,b|0,c|0,d|0)}function aba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ad(a|0,b|0,c|0,d|0)}function bba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mf(a|0,b|0,c|0,d|0)}function cba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;re(a|0,b|0,c|0,d|0)}function dba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Cc(a|0,b|0,c|0,d|0)}function eba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oe(a|0,b|0,c|0,d|0)}function fba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sc(a|0,b|0,c|0,d|0)}function gba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ve(a|0,b|0,c|0,d|0)}function hba(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ze(a|0,b|0,c|0,d|0)}function iba(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;S(36)}function jba(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;S(37)}function kba(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;S(38)}function lba(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;S(39)}function mba(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;S(40)}function nba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(41)}function oba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ve(a|0,b|0,c|0,d|0,e|0)}function pba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ld(a|0,b|0,c|0,d|0,e|0)}function qba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;se(a|0,b|0,c|0,d|0,e|0)}function rba(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dd(a|0,b|0,c|0,d|0,e|0)}function sba(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(42)}function tba(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ed(a|0,b|0,c|0,d|0,e|0,f|0)}function uba(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;kf(a|0,b|0,c|0,d|0,e|0,f|0)}function vba(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;S(43)}function wba(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;me(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function xba(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;vd(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function yba(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ud(a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function zba(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;S(44)}function Aba(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Fc(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Bba(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Hc(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Cba(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ic(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Dba(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(45)}function Eba(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Gc(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Fba(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Be(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Gba(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Ge(a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Hba(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;S(46)}function Iba(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;S(47)}function Jba(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;S(48)}
  45. // EMSCRIPTEN_END_FUNCS
  46. var Mh=[s7,xy,yy,zy,Ay,By,Cy,Dy,Ey,Fy,Gy,Hy,Iy,Jy,Ky,Ly,My,Ny,s7,s7,s7,s7,s7,s7,s7,s7,s7,s7,s7,s7,s7,s7];var Nh=[t7,vy,wy,t7];var Oh=[u7,Hn,uR,u7];var Ph=[v7,tR];var Qh=[w7,Rm,Sm,Um,Vm,o$,s0,Pi,dj,x7,y7,z7,w7,w7,w7,w7];var Rh=[A7,vo,wo,xo,yo,zo,Ao,Bo,Co,Do,Eo,Fo,Go,Ho,Io,Jo,Ko,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,rp,sp,tp,up,vp,wp,xp,yp,zp,Ap,Bp,Cp,Dp,Ep,Fp,Gp,Hp,Ip,Jp,Kp,Lp,Mp,Np,Op,Pp,Qp,Rp,Sp,Tp,Up,Vp,Wp,Xp,Yp,Zp,Uu,Vu,Wu,Xu,Yu,Zu,_u,$u,av,bv,cv,dv,ev,fv,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,Iv,Jv,Kv,Lv,Mv,Nv,Ov,Pv,Qv,Rv,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,mw,nw,ow,pw,qw,rw,sw,tw,uw,vw,ww,xw,yw,zw,Aw,Bw,Cw,Dw,Ew,Fw,Gw,Hw,Iw,Jw,Kw,Lw,Mw,Nw,Ow,Pw,Qw,Rw,Sw,Tw,Uw,Vw,Ww,Xw,Yw,Zw,_w,$w,ax,bx,cx,dx,ex,fx,gx,hx,ix,jx,kx,lx,mx,nx,ox,px,qx,rx,sx,tx,ux,vx,wx,xx,yx,zx,Ax,Bx,Cx,Dx,Ex,Fx,Gx,Hx,Ix,Jx,Kx,Lx,Mx,Nx,Ox,Px,Qx,Rx,Sx,Tx,Ux,Vx,Wx,Xx,Yx,Zx,_x,$x,ay,by,cy,dy,ey,MB,NB,OB,PB,QB,RB,SB,TB,UB,VB,WB,XB,YB,ZB,_B,$B,aC,bC,cC,dC,eC,mC,nC,oC,pC,qC,rC,sC,wC,xC,yC,zC,AC,BC,CC,DC,EC,FC,GC,HC,IC,JC,KC,LC,OC,PC,QC,RC,SC,TC,UC,VC,WC,XC,YC,ZC,_C,$C,aD,bD,cD,dD,eD,fD,gD,hD,iD,jD,kD,lD,mD,nD,oD,pD,rD,sD,tD,uD,vD,wD,xD,yD,zD,AD,BD,CD,DD,ED,FD,GD,HD,SD,TD,UD,VD,WD,XD,YD,kE,lE,gE,PE,QE,RE,mE,SE,TE,UE,VE,nE,oE,pE,qE,rE,sE,tE,uE,vE,wE,xE,yE,zE,AE,BE,CE,DE,EE,FE,GE,HE,IE,AZ,BZ,CZ,DZ,p$,n0,t0,L0,W0,F2,JB,ck,j2,jj,Xn,kp,KB,aE,lC,RD,qD,NC,vC,op,pp,LB,jC,iC,tC,PD,bE,cE,dE,eE,fE,ZP,RQ,ZQ,t2,w2,FV,GV,HV,u_,v_,w_,r$,J$,i0,l0,m0,B7,C7,D7,E7,F7,u0,G0,K0,P0,q1,r1,G7,H7,I7,J7,K7,L7,M7,N7,O7,P7,Q7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7,A7];var Sh=[R7,Wm,po,uo,dp,ip,$p,aq,bq,cq,eq,jq,oV,i_,jm,Qn,Tn,Mu,au,bs,Gt,Ct,or,Or,Xr,bu,Lu,MA,HF,yJ,zJ,AJ,BJ,CJ,DJ,EJ,FJ,GJ,HJ,IJ,JJ,KJ,LJ,MJ,NJ,OJ,PJ,QJ,RJ,SJ,TJ,UJ,VJ,WJ,XJ,YJ,ZJ,$J,aK,bK,cK,dK,eK,fK,gK,hK,iK,jK,kK,lK,mK,nK,oK,pK,qK,rK,sK,tK,uK,vK,wK,xK,yK,zK,AK,BK,CK,DK,EK,FK,GK,HK,IK,JK,KK,LK,MK,NK,OK,PK,QK,RK,SK,TK,UK,VK,WK,XK,YK,ZK,_K,$K,aL,bL,cL,dL,eL,fL,gL,hL,iL,jL,kL,lL,mL,nL,oL,pL,qL,rL,sL,tL,uL,vL,wL,xL,yL,zL,AL,BL,CL,DL,EL,FL,GL,HL,IL,JL,KL,LL,ML,NL,OL,PL,aQ,eQ,nQ,pQ,tQ,uQ,vQ,wQ,yQ,SQ,zV,EV,RV,g_,m_,n_,o_,p_,t_,v$,D$,E$,G$,I$,S7,T7,U7,V7,a1,H1,W7,X7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7,R7];var Th=[Y7,G2,H2,L2,M2,J3,zB,kk,gm,fm,mn,eo,$n,Pu,Lr,yB,kC,hC,fC,lk,$P,fQ,jQ,mQ,QQ,_Q,$Q,yV,IV,JV,KV,l_,x_,y_,z_,t$,H$,h0,T$,U$,V$,W$,X$,Y$,Z$,_$,$$,a0,b0,Q$,Z7,w0,Q0,Y0,s1,f1,g1,c5,Y7,Y7,Y7,Y7,Y7,Y7];var Uh=[_7,IB,vn,Pn,Rn,QD,nz,oz,lQ,oQ,sQ,PQ,u2,v2,x2,LV,QV,_V,zZ,yZ,A_,B$,$7,a8,b8,c8,o0,z0,H0,I0,J0,M0,X0,m1,D1,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7,_7];var Vh=[d8,MV,B_,d8];var Wh=[e8,mj,Wj,Fm,lq,_P,AV,CV,NV,HZ,GZ,IZ,uZ,vZ,xZ,wZ,q_,r_,C_,A$,f8,y0,C1,e8,e8,e8,e8,e8,e8,e8,e8,e8];var Xh=[g8,fn,gn,hn];var Yh=[h8,U_,T_,W_,V_,X_,Y_,h8];var Zh=[i8,jn,i$,h$,k$,j$,f$,g$];var _h=[j8,lo,ko,dn,bn,BV,j8,j8];var $h=[k8,Ti,Xm,$m,Nm,an,$i,bj,cj,Mm,T0,l1,z1,l8,m8,n8,o8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8,k8];var ai=[p8,q8,r8,s8];var bi=[t8,u8,v8,w8];var ci=[x8,y8,z8,A8];var di=[B8,C8];var ei=[D8,E8];var fi=[F8,Ck,Dk,Ek,Xk,Yk,Zk,_k,Tk,Uk,Vk,Wk,Pk,Qk,Rk,Sk,fl,gl,hl,il,Il,Jl,Kl,Ll,tm,um,vm,wm,Qm,Tm,Zm,_m,qo,ro,ep,fp,fq,gq,dW,eW,fW,gW,hW,iW,jW,kW,lW,mW,nW,oW,pW,qW,rW,sW,tW,uW,vW,wW,xW,yW,zW,AW,BW,CW,DW,EW,FW,GW,HW,IW,JW,KW,LW,MW,NW,OW,PW,QW,RW,SW,TW,UW,VW,WW,XW,YW,ZW,_W,$W,aX,bX,cX,dX,eX,fX,gX,hX,iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX,yX,zX,AX,BX,CX,DX,EX,FX,GX,HX,IX,JX,KX,LX,MX,NX,OX,PX,QX,RX,SX,TX,UX,VX,WX,XX,YX,ZX,_X,$X,aY,bY,cY,dY,eY,fY,gY,hY,iY,jY,kY,lY,mY,nY,oY,pY,qY,rY,sY,tY,uY,vY,KY,LY,MY,NY,IY,JY,gZ,hZ,iZ,jZ,cZ,dZ,eZ,fZ,qZ,rZ,sZ,tZ,mZ,nZ,oZ,pZ,km,lm,pm,xm,ym,bk,ek,Gk,al,ol,yl,Ol,Tl,Ul,Wl,mm,om,Bm,Dm,Em,Im,Jm,Pl,Ql,Bk,ij,Ln,Mn,Nn,Vn,oq,pq,qq,rq,sq,tq,uq,vq,wq,xq,yq,zq,Aq,Bq,Cq,Dq,Eq,Fq,Gq,Hq,Iq,Jq,Kq,Lq,Mq,Nq,Oq,Pq,Qq,Rq,Sq,Tq,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,tr,lr,wr,xs,UG,SG,XG,bH,ZG,_G,$G,aH,uT,cQ,dQ,iQ,NQ,YQ,OV,rV,QY,PY,RY,TY,SY,UY,WY,VY,xY,wY,bW,cW,kZ,lZ,aZ,bZ,XY,YY,ZY,_Y,AY,BY,zY,CY,DY,EY,FY,GY,HY,yY,D_,F_,s$,u$,F$,N$,j0,p0,q0,r0,v0,x0,B0,N0,O0,R0,S0,f2,k1,n1,o1,p1,t1,u1,v1,w1,x1,y1,G8,H8,I8,J8,K8,L8,M8,N8,O8,P8,Q8,R8,S8,T8,U8,V8,W8,X8,Y8,Z8,_8,$8,a9,b9,c9,d9,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8,F8];var gi=[e9,f9,g9,e9];var hi=[h9,i9,j9,h9];var ii=[k9,l9,m9,k9];var ji=[n9,o9,p9,n9];var ki=[q9,zn];var li=[r9,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,fk,Ym,to,oo,hp,jp,dq,iq,kq,dH,eH,fH,gH,hH,iH,jH,kH,lH,mH,nH,oH,pH,qH,rH,sH,tH,uH,vH,wH,xH,yH,zH,AH,BH,GT,HT,IT,JT,KT,LT,MT,NT,OT,PT,QT,RT,ST,TT,UT,VT,WT,XT,YT,ZT,_T,$T,aU,bU,cU,dU,eU,fU,gU,hU,iU,jU,kU,lU,mU,nU,oU,pU,qU,rU,sU,tU,uU,vU,wU,xU,yU,zU,AU,BU,CU,DU,EU,FU,GU,HU,IU,JU,KU,LU,MU,NU,OU,PU,QU,RU,SU,TU,UU,VU,WU,XU,YU,ZU,_U,$U,aV,bV,cV,dV,eV,fV,gV,hV,iV,jV,kV,lV,mV,nV,Ui,aj,qk,vz,Yj,Lj,Kj,Xj,Uj,Rj,Sj,Tj,Nj,Mj,ak,dk,Hk,Jk,bl,dl,pl,sl,ul,vl,wl,zl,Vl,k2,l2,m2,n2,ej,gj,o2,p2,kn,Cn,In,Kn,Ou,Nu,qp,nq,ur,vr,mr,ws,qr,xr,Bs,Uz,dA,NA,hz,Qz,Rz,MC,hQ,xQ,zQ,GQ,IQ,OQ,TQ,UQ,xV,DV,PV,k_,s_,E_,w$,x$,y$,C$,K$,L$,A0,E1,s9,t9,u9,v9,w9,x9,y9,z9,A9,B9,C9,D9,E9,F9,G9,H9,I9,J9,K9,L9,M9,N9,O9,P9,Q9,R9,S9,T9,U9,V9,W9,X9,Y9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9,r9];var mi=[Z9,jR,mR,_9];var ni=[$9,DR,ER,FR,GR,$9,$9,$9];var oi=[aaa,xR,yR,BR,CR,JR,KR,aaa];var pi=[baa,wR,HR,IR];var qi=[caa,zR,AR,caa];var ri=[daa,vR];var si=[eaa,so,gp,hq,Vj,$j,Ik,cl,Dl,Fl,Gl,Hl,Hm,i2,fj,hj,En,Jn,Un,Dr,Ir,Cs,Sy,Ry,Qy,Oy,KP,bQ,KQ,VQ,WQ,XQ,dR,gR,nR,oR,sR,k0,faa,gaa,haa,iaa,jaa,kaa,laa,maa,naa,oaa,paa,qaa,raa,saa,taa,uaa,vaa,waa,xaa,yaa,zaa,Aaa,Baa,Caa,Daa,Eaa,Faa,Gaa,Haa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa,eaa];var ti=[Iaa,mo,Oj,Pj,Qj,sm,rm,ln,On,Sn,Wn,co,_n,cp,_p,br,ar,yr,rz,sz,gQ,kQ,LQ,bR,cR,fR,iR,pR,qR,rR,z$,M$,e1,Jaa,Kaa,Laa,Maa,Naa,Oaa,Paa,Qaa,Raa,Saa,Taa,Uaa,Vaa,Waa,Xaa,Yaa,Zaa,_aa,$aa,aba,bba,cba,dba,eba,fba,gba,hba,Iaa,Iaa,Iaa,Iaa];var ui=[iba,AQ];var vi=[jba,BQ];var wi=[kba,CQ];var xi=[lba,DQ];var yi=[mba,EQ];var zi=[nba,ok,rk,un,wn,xn,An,Fn,Gn,fo,ao,mq,sr,qQ,rQ,JQ,eR,hR,kR,LR,NR,oba,pba,qba,rba,nba,nba,nba,nba,nba,nba,nba];var Ai=[sba,gk,nn,on,pn,Bn,MQ,MR,qT,pT,tba,uba,sba,sba,sba,sba];var Bi=[vba,qn,HQ,aR,lR,l$,m$,n$,wba,xba,yba,vba,vba,vba,vba,vba];var Ci=[zba,yn,Dn,Aba,Bba,Cba,zba,zba];var Di=[Dba,FQ,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,_1,Eba,Fba,Gba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba,Dba];var Ei=[Hba,sn,__,Z_,$_,b$,a$,d$,c$,Hba,Hba,Hba,Hba,Hba,Hba,Hba];var Fi=[Iba,rn];var Gi=[Jba,tn];return{___divdi3:f6,___errno_location:J2,___muldi3:h6,___remdi3:i6,___udivdi3:j6,___uremdi3:k6,_bitshift64Ashr:l6,_bitshift64Lshr:m6,_bitshift64Shl:n6,_emscripten_GetProcAddress:A2,_free:C2,_htonl:x5,_htons:v5,_i64Add:b6,_i64Subtract:c6,_llvm_bswap_i16:o6,_llvm_bswap_i32:p6,_main:Gm,_malloc:B2,_memcpy:s6,_memmove:t6,_memset:u6,_ntohs:D5,_realloc:D2,_round:v6,_saveSetjmp:q6,_sbrk:w6,_strstr:m5,_testSetjmp:r6,dynCall_dd:x6,dynCall_ddd:y6,dynCall_di:z6,dynCall_did:A6,dynCall_i:B6,dynCall_ii:C6,dynCall_iii:D6,dynCall_iiii:E6,dynCall_iiiii:F6,dynCall_iiiiidii:G6,dynCall_iiiiii:H6,dynCall_iiiiiii:I6,dynCall_iiiiiiii:J6,dynCall_iiiiiiiii:K6,dynCall_iiiiiiiiii:L6,dynCall_v:M6,dynCall_vd:N6,dynCall_vdd:O6,dynCall_vdddd:P6,dynCall_vdddddd:Q6,dynCall_vdi:R6,dynCall_vi:S6,dynCall_vid:T6,dynCall_vidd:U6,dynCall_viddd:V6,dynCall_vidddd:W6,dynCall_viddddddddddddii:X6,dynCall_vii:Y6,dynCall_viid:Z6,dynCall_viiddddddi:_6,dynCall_viidddddi:$6,dynCall_viiddddi:a7,dynCall_viidddi:b7,dynCall_viiddi:c7,dynCall_viii:d7,dynCall_viiii:e7,dynCall_viiiidd:f7,dynCall_viiiiddd:g7,dynCall_viiiidddd:h7,dynCall_viiiiddddd:i7,dynCall_viiiiddddddd:j7,dynCall_viiiii:k7,dynCall_viiiiii:l7,dynCall_viiiiiii:m7,dynCall_viiiiiiii:n7,dynCall_viiiiiiiii:o7,dynCall_viiiiiiiiiii:p7,dynCall_viiiiiiiiiiii:q7,dynCall_viiiiiiiiiiiii:r7,establishStackSpace:Ki,getTempRet0:Ni,runPostSets:a6,setTempRet0:Mi,setThrew:Li,stackAlloc:Hi,stackRestore:Ji,stackSave:Ii}})
  47. // EMSCRIPTEN_END_ASM
  48. (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=asm["_emscripten_GetProcAddress"];var _free=Module["_free"]=asm["_free"];var _htonl=Module["_htonl"]=asm["_htonl"];var _htons=Module["_htons"]=asm["_htons"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _ntohs=Module["_ntohs"]=asm["_ntohs"];var _realloc=Module["_realloc"]=asm["_realloc"];var _round=Module["_round"]=asm["_round"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strstr=Module["_strstr"]=asm["_strstr"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_ddd=Module["dynCall_ddd"]=asm["dynCall_ddd"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=asm["dynCall_iiiiidii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vd=Module["dynCall_vd"]=asm["dynCall_vd"];var dynCall_vdd=Module["dynCall_vdd"]=asm["dynCall_vdd"];var dynCall_vdddd=Module["dynCall_vdddd"]=asm["dynCall_vdddd"];var dynCall_vdddddd=Module["dynCall_vdddddd"]=asm["dynCall_vdddddd"];var dynCall_vdi=Module["dynCall_vdi"]=asm["dynCall_vdi"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_viddd=Module["dynCall_viddd"]=asm["dynCall_viddd"];var dynCall_vidddd=Module["dynCall_vidddd"]=asm["dynCall_vidddd"];var dynCall_viddddddddddddii=Module["dynCall_viddddddddddddii"]=asm["dynCall_viddddddddddddii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viiddddddi=Module["dynCall_viiddddddi"]=asm["dynCall_viiddddddi"];var dynCall_viidddddi=Module["dynCall_viidddddi"]=asm["dynCall_viidddddi"];var dynCall_viiddddi=Module["dynCall_viiddddi"]=asm["dynCall_viiddddi"];var dynCall_viidddi=Module["dynCall_viidddi"]=asm["dynCall_viidddi"];var dynCall_viiddi=Module["dynCall_viiddi"]=asm["dynCall_viiddi"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiidd=Module["dynCall_viiiidd"]=asm["dynCall_viiiidd"];var dynCall_viiiiddd=Module["dynCall_viiiiddd"]=asm["dynCall_viiiiddd"];var dynCall_viiiidddd=Module["dynCall_viiiidddd"]=asm["dynCall_viiiidddd"];var dynCall_viiiiddddd=Module["dynCall_viiiiddddd"]=asm["dynCall_viiiiddddd"];var dynCall_viiiiddddddd=Module["dynCall_viiiiddddddd"]=asm["dynCall_viiiiddddddd"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];Module["asm"]=asm;Module["Pointer_stringify"]=Pointer_stringify;Module["writeArrayToMemory"]=writeArrayToMemory;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=_malloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run()
  49. </script>
  50. </body>
  51. </html>